Processing으로 동영상의 애니메이션 얼굴 검출 툴을 만들었으므로 노출해 본다
AnimeFaceDetector
Processing 3에서 동작하는 OpenCV를 이용하여 동영상에서 애니메이션 얼굴 검출을 하는 프로그램입니다.
감지한 얼굴 이미지는 PNG 형식으로 저장됩니다.
애니메이션 얼굴 검출을 실시하기 위해서, nagadomi씨가 공개하고 있는 애니메이션 얼굴용의 물체 검출기(lbpcascade_animeface)를 사용하고 있습니다.
OpenCV에 의한 애니메이션 얼굴 검출이라면 lbpcascade_animeface.xml - Day
일단 애니메이션 얼굴용으로 만들었습니다만, 캐스케이드 파일을 바꾸면 다른 물체에서도 검출할 수 있을지도.
운영 환경
Windows 8.1에서 작동 확인했습니다.
데비안에서도 시도했지만 libgstreamer 관계에서 문제가 발생하는 것처럼 작동하지 않았습니다.
필수 라이브러리
작동하려면 다음 라이브러리가 필요합니다.
그렇지 않은 경우 Processing을 시작하고 메뉴의 "스케치"→ "라이브러리 가져 오기 ..."→ "라이브러리 추가 ..."에서 추가하십시오.
Windows 8.1에서 작동 확인했습니다.
데비안에서도 시도했지만 libgstreamer 관계에서 문제가 발생하는 것처럼 작동하지 않았습니다.
필수 라이브러리
작동하려면 다음 라이브러리가 필요합니다.
그렇지 않은 경우 Processing을 시작하고 메뉴의 "스케치"→ "라이브러리 가져 오기 ..."→ "라이브러리 추가 ..."에서 추가하십시오.
사용법
실행하기 전에 동영상 해상도에 맞게 다음 변수를 다시 씁니다.
(귀찮습니다만, Processing의 Movie 클래스에 해상도를 취득하는 수단이 준비되어 있지 않은 것 같기 때문에…)
AnimeFaceDetector.pde
int movWidth = 640;
int movHeight = 360;
실행하면 다음과 같은 창이 나옵니다.
AnimeFaceDetector.pde와 같은 계층 구조에 있는 data 디렉토리에 동영상에서 확장명을 제외한 이름의 디렉토리가 만들어져 거기에 저장됩니다.
옵션
COLOR DETECTION
얼굴 이외의 오검출을 줄이기 위해, 검출된 영역내에 「윤곽」이나 「피부」에 가까운 색이 존재하는지 체크를 실시합니다.
기준으로 하는 색은 적당하게 선택했습니다.
검출된 영역내에 「피부」에 가까운 색이 지정된 비율 이상 존재하는 경우에 얼굴이라고 판단합니다.
기본값은 0.5입니다.
검출된 영역내에 「윤곽」에 가까운 색이 지정된 비율 이상 존재하는 경우에 얼굴이라고 판단합니다.
기본값은 0.018입니다.
RESIZE SAVE IMAGE
감지된 얼굴 영역을 이미지에 저장할 때 240x240으로 크기를 조정합니다.
SAVE FRAME INTERVAL
감지된 얼굴 영역을 이미지에 저장할 때 프레임 간격을 지정합니다.
기본값은 3입니다.
MINIMUM FACE SIZE(PIXEL)
얼굴 감지 시 최소 크기를 지정합니다.
지정된 사이즈보다 검출 영역이 작은 경우는 무시합니다.
기본값은 48x48입니다.
소스 코드
샤바 / AnimeFaceDetector · GitLab
기타
자세한 내용은 GitLab 리포지토리와 함께 제공되는 README.md를 참조하십시오.
Reference
이 문제에 관하여(Processing으로 동영상의 애니메이션 얼굴 검출 툴을 만들었으므로 노출해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ChabaScript/items/539e52da7a92d8eca9cb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)