#3 라즈베리파이에서 opencv로 얼굴 인식

쓸 게 참 많다.
라즈베리파이에 opencv를 까는 데만 3일이 걸렸다..
나중에 좋은 블로그를 찾아 겨우 할 수 있었지만 처음부터 쉽지 않았다.

라즈베리파이 상태는 아래의 사진과 같다.


거리 계산하는 센서를 두어 가까운 물체가 왔을 때만 작동하는 라즈베리파이를
구현했지만 다시 생각해보니 거리 계산 센서를 계속 켜놓는 것도 낭비인 것 같아
나중에는 그냥 그 센서를 떼고 카메라만 두었다.

다운로드는 내가 따라해본 블로그 중 가장 좋은 블로그를 링크 걸어 놓겠다.

http://cyaninfinite.com/tutorials/installing-opencv-in-ubuntu-for-python-3/

라즈베리파이와 ubuntu mate를 쓰는 사람에게 좋은 정보일 것이다.
하지만 라즈비안도 크게 차이는 없을 거라고 본다.

설치는 위의 블로그에서 도움을 받아 설치했고
이제 opencv에 대해 공부해야했다.
그래서 유뷰트의 sentdex 의 동영상을 보고 공부했다.

https://www.youtube.com/watch?v=Z78zbnLlPUA&list=PLQVvvaa0QuDdttJXlLtAJxJetJcqmqlQq&index=1

영어라서 자세히는 공부하기 힘들었지만 코드를 하나하나 따라가면서
마지막까지 열심히 했던 것 같다.
마지막에는 자신만의 haar cascade 를 만드는 강의가 있는데
그 강의에서 아이디어를 착안해 내 얼굴만 인식하는 라즈베리파이를 만들어보고자 한다.
위의 haar cascade 는 명암의 패턴을 인식해서 결론적으로 인식하고자하는 얼굴을 감지하는 것이다.

지금도 cascade를 training 하고 있는데 지금까지 2일동안 지속되고 있다.
버츄얼 박스에서 하다보면 램이 1기가 밖에 안되서 많이 느리다.
보통 20 stage 까지 20~30 시간 걸린다는데 전기세가 걱정된다.
Itseez 에서 제공하는 face_cascade.xml 은 파일을 열어보니 25 stage까지 training 시켰든데
나는 이제 15stage니 한참 멀었다.
15 stage에서 해보니 특정한 각도에서만 나의 얼굴을 감지한다.
아직까지 다른 사람들의 얼굴은 감지를 안한다는 것에 만족을 느껴야한다.



위 처럼 내 얼굴을 감지한다. 
생각 없이 training을 시킬 때 넣는 내 사진을 아래쪽에서 찍어서 저렇게 
카메라가 밑에 있어야만 감지가 잘 되고 
카메가 내 얼굴보다 위에 있으면 확실히 확률이 많이 떨어진다.
트레이닝 시킬 내 사진을 특별한 상황에서 찍으면 안된다.
내가 라즈베리파이를 통해 내 얼굴을 인식하고 싶은 특정한 상황을 똑같이 연출해서
트레이닝을 시켜야 한다는 것을 경험으로 깨달았다.

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리