2. 발표자 소개
오회근
• AWSKRUG(AWS 한국 사용자 그룹)
• RGP Korea 요기요 백앤드 개발자
주요경력
• KEPCO 무인 감시 시스템
• Standalone DVR
• Embedded based Network Camera
• 지능형 매장방문객 분석 서비스 - uCount.it
3. 본 강연에서 다룰 내용
• 프로젝트의 시작과 개선된 과정
• Lambda와 Cloud Watch를 이용한 서버리스
• Rekognition Service 소개
• ElasticSearch와 Kibana를 통하여 실시간으로 데이터 가시
화
• 라즈베리파이와 OpenCV
15. 얼굴 분석 서비스 문제점
• 카메라에서 10초단위로 이미지를 전송하면서 자원이 낭비된다.
• Lambda가 외부의 Face Analytics Engine을 요청하기 위해서 RDB와 같은
VPC에 둘 수가 없다.
따라서 RDB의 외부 포트를 열어두어야한다. (해결책: Nat Gateway)
• S3의 이미지를 외부의 분석엔진에서 가져갈 수 있도록 하기 위해서 공개해야
한다.
• plot.ly에서 Dataset을 만들기 위해서 RDB에 접근해야함. (해결책: API
Gateway)
21. 1차 개선안 요약
• Step Functions을 사용함으로 더 복잡한 서버리스를 구성할 수가 있다.
• 필요한 람다를 끼어 넣을 수가 있어 확장성이 좋다.
• 딥러닝 기반의 이미지 인식 서비스인 Rekognition Service를 사용.
• 여러 개의 얼굴분석 엔진을 이용하여 각 엔진의 장점을 이용할 수가 있음.
23. 얼굴 분석 서비스(3차) 목표
• Raspberry Pi에서 카메라로 찍은 영상이 분석할 필요가 있는지를 판단하여
AWS에 업로드 하도록 하여 불필요한 자원의 낭비를 최소화 한다.
• Step Functions을 Trigger하기 위해서 Lambda를 사용하지 않는다.
• 외부의 얼굴분석 엔진을 사용하지 않고 AWS 내에서 처리한다.
• RDS와 plot.ly 대신 Elastic Search와 Kibana를 사용하여 더 편리하고 안전하게
데이터를 보관하고 보여준다.
• AWSKRUG 강남 소모임에서 발표후에 ElasticSearch + Kibana 개선안이 제안
되었다.
26. Motion / Face Detection
Is Motion? Has Face?
Upload
Image
Yes Yes
No No
27. Motion / Face Detection
cv2.absdiff()
cv2.cvtColor() # to gray
diff =
cv2.countNonZero()
if (diff > SENSITIVITY):
yield image