2016년 7월 21일 목요일

안드로이드 얼굴 인식 해보기 (Android face detection)


이번에 안드로이드 앱 개발 프로젝트가 하나 생겨서
얼굴 인식을 해야할 일이 생겼습니다.

어렵지 않게 안드로이드 쪽 API가 있겠거니 해서 찾아서
테스트 진행!

우선 API가 있나 찾아봅니다.
API 문서: android/media/FaceDetector.html
소개 문서: google/android/gms/vision/face/FaceDetector

코드랩은 쭉 따라가면서 만들어보는 곳인데
사진에 대해서 얼굴 인식을 해보는 예제입니다.
CodeLab: https://codelabs.developers.google.com/codelabs/face-detection/index.html#0

구글 비전 API관련 소스는 아래를 참고하시면 좋습니다.
https://github.com/googlesamples/android-vision

저는 일단은 코드랩을 따라서 진행해봤습니다.
아래와 같은 목표를 가지고 진행을 했는데요.
1. 얼굴의 위치를 가져오자
2. 얼굴의 눈, 코, 입, 등의 구성요소 위치를 가져오자

코드랩을 따라가면
사진을 이용해 1의 목표만을 달성할 수 있었습니다.


코드랩은 이렇게 생겼습니다

2단계에서는 프로젝트를 만들고 프로젝트 세팅을 합니다.
3단계에서는 메인 엑티비티 코드를 수정해서 기능 구현을 하고
4단계에서 결과를 같이 보게 됩니다.

제가 따라하면서 만들었던 코드는 아래와 같습니다.





저는 추가적으로 목표 2를 달성하기 위해
몇줄의 코드를 추가했습니다.

https://developers.google.com/vision/detect-faces-tutorial
여기서 보고 추가한
FaceDetector detector = new FaceDetector.Builder(context)
    .setTrackingEnabled(false)
    .setLandmarkType(FaceDetector.ALL_LANDMARKS)
    .build();
그리고 랜드마크들 위치에 점을 찍기 위해서
얼굴 찾은 반복문에서 랜드마크 리스트를 받고 랜드마크 각각의 위치에
초록색 동그라미를 찍어 주었습니다.


카메라를 이용해서 얼굴인식을 하는 것은 다음 포스트에서 진행하려고 합니다.
그래도 관련 링크는 남겨놓겠습니다!

https://developers.google.com/vision/face-tracker-tutorial

즐거운 코딩하세요!

댓글 없음:

댓글 쓰기

JIRA Plugin - ScriptRunner 소개 #2

관련 글 소개 #1:  https://pineoc.blogspot.com/2019/03/scriptrunner-1.html ScriptRunner 소개 #2 지난 글에서는 Behaviours를 보았고 다음 내용인 콘솔, 리스너 등을 ...