© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
오회근, RGP Korea
얼굴분석 서비스 구현하기
라즈베리파이와 서버리스 환경을 통하여
발표자 소개
오회근
• AWSKRUG(AWS 한국 사용자 그룹)
• RGP Korea 요기요 백앤드 개발자
주요경력
• KEPCO 무인 감시 시스템
• Standalone DVR
• Embedded based Network Camera
• 지능형 매장방문객 분석 서비스 - uCount.it
본 강연에서 다룰 내용
• 프로젝트의 시작과 개선된 과정
• Lambda와 Cloud Watch를 이용한 서버리스
• Rekognition Service 소개
• ElasticSearch와 Kibana를 통하여 실시간으로 데이터 가시
화
• 라즈베리파이와 OpenCV
얼굴 분석 서비스 소개
프로젝트의 시작
AWSKRUG 강남 소모임 결성
개발 사례 발표
DIY 얼굴분석 서비스 1차 버전
고도화 프로젝트 진행 결정
얼굴분석의 필요성
• 자주 축구게임을 즐기는 회사 동료들
• 때때로 토너먼트 대회를 개최
• 참가비를 받고 우승자에게 몰아줌
특정인 몇명이 돌아가며 우승하게됨.
1등만 기억하는 세상을 바꾸기 위한 프로젝
트가
필요하다.
관객들의 얼굴을 분석하여 경기당 Smile이 높은 플레이어에게 인기상을 수여하
면 어떨까?
어째튼 여러가지 잡념으로 프로젝트의 시작.
얼굴분석 서비스 초안
얼굴 분석 서비스 구성
Amazon
S3
AWS
Lambda
Amazon
RDS
얼굴 분석 서비스 구성
10초마다
얼굴 분석 서비스 구성
얼굴 분석 서비스 결과물
얼굴 분석 서비스 약점
10초마다
얼굴 분석 서비스 문제점
• 카메라에서 10초단위로 이미지를 전송하면서 자원이 낭비된다.
• Lambda가 외부의 Face Analytics Engine을 요청하기 위해서 RDB와 같은
VPC에 둘 수가 없다.
따라서 RDB의 외부 포트를 열어두어야한다. (해결책: Nat Gateway)
• S3의 이미지를 외부의 분석엔진에서 가져갈 수 있도록 하기 위해서 공개해야
한다.
• plot.ly에서 Dataset을 만들기 위해서 RDB에 접근해야함. (해결책: API
Gateway)
1차 개선안
1차 개선안 시작
김현민
• AWSKRUG 강남 소모임 리더
• 메가존 솔루션 아키텍트
Step Functions
10초마다
1차 개선안 요약
• Step Functions을 사용함으로 더 복잡한 서버리스를 구성할 수가 있다.
• 필요한 람다를 끼어 넣을 수가 있어 확장성이 좋다.
• 딥러닝 기반의 이미지 인식 서비스인 Rekognition Service를 사용.
• 여러 개의 얼굴분석 엔진을 이용하여 각 엔진의 장점을 이용할 수가 있음.
2차 개선안
얼굴 분석 서비스(3차) 목표
• Raspberry Pi에서 카메라로 찍은 영상이 분석할 필요가 있는지를 판단하여
AWS에 업로드 하도록 하여 불필요한 자원의 낭비를 최소화 한다.
• Step Functions을 Trigger하기 위해서 Lambda를 사용하지 않는다.
• 외부의 얼굴분석 엔진을 사용하지 않고 AWS 내에서 처리한다.
• RDS와 plot.ly 대신 Elastic Search와 Kibana를 사용하여 더 편리하고 안전하게
데이터를 보관하고 보여준다.
• AWSKRUG 강남 소모임에서 발표후에 ElasticSearch + Kibana 개선안이 제안
되었다.
Motion / Face Detection
Is Motion? Has Face?
Upload
Image
Yes Yes
No No
Motion / Face Detection
cv2.absdiff()
cv2.cvtColor() # to gray
diff =
cv2.countNonZero()
if (diff > SENSITIVITY):
yield image
흐름
Amazon
S3
Amazon
CloudWatch
AWS Step
Functions
Amazon
Rekognition
Amazon ES
AWS
CloudTrail
Amazon
SNS
AWS Rekognition Service
AWS Rekognition Service
• 객체 및 장면 탐지 • 안면 분석
객체를 식별하고 신뢰도 점수를 제공 안면 위치를 식별하고 속성을 분석
AWS Rekognition Service
• 안면 비교 • 안면 인식
두 이미지안의 안면이 동일인일 가능성 측
정
대량의 이미지에서 유사한 안면을 검색
결과
Kibana Dashboard
PPT 만드는 중 분석결과​ ;;
축구 경기 분석결과
축구 경기 분석결과
1:1 5:0 0:1
• 레알과 모나코의 경기
• 1:1과 0:1 경기의 Smile Score
가 변화가 심함.
• 5:0 경기는 플랫함.
• 마지막 경기는 1시 이후라 급
격히 조용해짐.
• 감정의 종류는 HAPPY가 절대
적
Docker 세미나 분석 결과
• 개발자 대상으로 Docker 세미
나를 진행.
• 종료 10분전에는 무슨 일이???
• HAPPY와 SAD가 공존
???
개발 환경
Emacs
개발
테스트
테스트
Live Demo
유한회사 알지피코리아는
함께 즐기면서 일할 인재를 애타게 찾고 있습니다.
(다양한 직종의 인재를 찾고 있어요. 채용사이트 확인해주세요.​)
특히 함께 맛있는 스파게티를 먹기 좋게 만들 분들이 간절합니다.
함께 해주셔서 감사합니다!

라즈베리파이와 서버리스 환경을 통한 얼굴 인식 AI 서비스 구현 - AWS Summit Seoul 2017