Flask Opencv 웹캠에 의한 웹서버상에서 안면인식

in #kr5 years ago (edited)

noname00.png

아나콘다나 라즈베리 파이에서 웹캠에 의한 안면 인식 어신 러닝이 가능하다면 이 웹캠 화면을 웹서버 방식으로 사용하기 위해서 Flask 에 의한 코드를 작성해 보기로 한다. 물론 라즈베리 파이와 같은 작은 보드에서 구현 가능한 웹서버를 완성하기 위해서는 실행 속도 차이가 7배에 달하므로 윈도우즈 10에서 코드를 작성 시험해 본 후에 라즈베리 파이에 옮기기로 하자.

단 윈도우즈 PC 의 아나콘다에서 face_detect.py를 Flask 화하여 코딩하여 실행할 경우 웹에서 0.0.0.0:5000 이 아니고 local:5000 또는 127.0.0.1:5000 임에 유의하자. 아무래도 Flask 시스템에서 face_detect.py 실행 시간이 조금 증가할 수 있는데 80~100 밀리 초 수준이며 라즈베리 파이에서도 당연히 실행이 가능하지만 600~900 밀리 초 수준으로 느려진다. 따라서 이 Flask 시스템 코드 작성 개발은 반드시 데스크톱에서 해야 할 필요가 있다.
아래 그림을 참조하면 윈도우즈 PC 의 아나콘다에서 안면 인식에 소요되는 시간이 녹색 80 밀리 초임을 알 수 있다. 특히 ‘title’로 출력된 timeString 시간은 웹서버 시작 초기에 한번 출력되며 한편 gen_frame() 루틴 내에서 cv2.VideoCapture(0) 화면에 더하여 loop 과정에서 체크하는 안면 인식 결과 원을 cv2.circle 명령에 의해 작도함과 아울러 안면인식 소요 시간 및 timeString을 cv2.putText 명령을 사용하여 출력한 결과를 추가한 최종 이미지 즉 image를 웹 출력한 것이다.

아래 URL 주소로 이동하여 마저 읽어 보세요.
http://blog.daum.net/ejleep1/1003

![마나마인로고.png]

Coin Marketplace

STEEM 0.19
TRX 0.18
JST 0.033
BTC 88172.86
ETH 3116.36
USDT 1.00
SBD 2.77