[python]mac에서 opencv의 이미지 감지 (자기 데이터로)
동기
「Opencv쨩, mac의 내장 카메라로 얼굴 검출을 할 수 있는 것은 알았기 때문에 좋아하는 걸을 인식시켜 주거나… 참고로 잘 갔던 곳에서 비망록을 만들려고 생각하고 썼습니다.
※소요시간 30분 정도
개발 환경
· macOS High Sierra 버전 10.13.6
· 파이썬 3.6.4
・anaconda3 가상 환경(Navigator 사용했습니다)
· opencv-python
이번은 번역있어 이 패치를 인식하고 싶습니다.
Adversarial Patch
htps //w w. 요츠베. 이 m/와 tch? v = 예 1sp4X57TL4
바로 해보자
OpenCV를 brew로 넣기
당신의 mac에 Home brew가 넣어 있는 전제로 해 갑니다.
$brew install opencv
$opencv_traincascade
치고
Usage: opencv_traincascade
라고 나오면 제대로 opencv가 인스톨 되고 있다고 생각된다(※나중에 사용합니다)
디렉토리 만들기
모든 디렉토리에 다음과 같이 각 폴더를 만듭니다.
ーpos(정답 이미지를 저장하는 폴더)
ーvec(정답 이미지 벡터 파일용 폴더)
-neg(부정해 이미지를 저장하는 폴더)
ーcascade/trained_data (분류기용 폴더)
이미지 배치
pos/안에 위의 이미지를 patch.jpg라는 이름으로 저장하고 정답 이미지 (이하 긍정 이미지)로 넣습니다.
pos/patch.jpg
neg/안에 부정해진 이미지(네거티브 이미지) 넣기
neg/100000.jpg
neg/100001.jpg
.....
부정적인 이미지는 패치가 아니라면 어떤 이미지라도 좋을 것입니다. (jpg1.tar.gz라고 녀석)
htp : /// 아 r. 인리아 lぺs. fr/~지우고/였다. php #호다 ys
Tar.gz의 압축 해제 명령으로 압축을 풀면
htps : // 코 m / 타카 츄 / ms / 4c f84 6935556204b2
위 그림과 같이 neg 아래에 배치하십시오.
벡터 데이터 만들기
단일 이미지에서 벡터 데이터를 만듭니다.
opencv_traincascade 명령을 사용하면 한 장의 이미지를 변형하여 수천 개 이상의 벡터 데이터를 만들 수 있습니다.
$opencv_createsamples -img ./pos/patch.jpg -vec ./vec/patch.vec -num 100 -bgcolor 255 -w 44 -h 44
네거티브 이미지 목록을 하나의 파일로 결합
$ls neg | xargs -I {} echo neg/{} > nglist.txt
실제로 분류기를 만들
$opencv_traincascade -data ./cascade/trained_data/ -vec ./vec/patch.vec -bg nglist.txt -numPos 100 -numNeg 100 -w 44 -h 44
그러면 cascade.xml이 만들어지고 cascade 분류자가됩니다.
mac의 카메라로 찍어 보자.
위 사이트의 코드
ーpos(정답 이미지를 저장하는 폴더)
ーvec(정답 이미지 벡터 파일용 폴더)
-neg(부정해 이미지를 저장하는 폴더)
ーcascade/trained_data (분류기용 폴더)
ーcapture.py
와 같이 배치하고 저장한다.
그 후.
# OpenCVに用意されている顔認識するためのxmlファイルのパス
cascade_path = "/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"
을
# OpenCVに用意されている顔認識するためのxmlファイルのパス
cascade_path = "./cascade/trained_data/cascade.xml"
그리고 다시 써
$python capture.py
에서 실행하면 mac의 내장 카메라로 이런 느낌으로 실시간으로 검출할 수 있다. (레이턴시 때문에 조금 어긋나 있습니다만)
그리고는 자신의 인식시키고 싶은 화상을 pos/에 넣어 학습시켜 보세요.
학습 매수가 100장씩뿐이므로 그다지 정밀도는 아니었습니다만, 좀 더 데이터를 늘려 해 보고 싶습니다.
시도한 결과 opencv_createsamples로 만들 수있는 100 장이 한계였습니다.
P.S.
기계 학습, 자동 운전 등을 메인으로 (가끔 그 이외도) 발신하고 있으므로 꼭 이 Qiita와 트위터 팔로우 부탁드립니다.
참고 사이트
피카츄 선배의 인식
htp://를 r 이렇게 t-엔기네 r. 코 m / py 텐 - 오펜 cv 또는 s 또는 /
물체 감지 – HaarLike 분류기 만들기 for mac
htp : //이 py 또는 t. 토키 / 코 py f 여 m / 543 /
htp : //이 py 또는 t. 토키 / 코 py-f m / 577 /
Reference
이 문제에 관하여([python]mac에서 opencv의 이미지 감지 (자기 데이터로)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cv_carnavi/items/a0d77e2140e7e1a023b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)