SlideShare une entreprise Scribd logo
1  sur  43
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Hyunmin Kim
AWSKRUG Gangnam Leader, Megazone
Raspberry Pi를 이용한 얼굴
표정과 감정인식 시스템 개발
자기소개
Hyunmin Kim (김현민)
소속: MEGAZONE
AWS Solutions Architect
AWSKRUG Gangnam Leader
iOS개발자, Node.js로 개발,
현재 AWS Solutions Architect로 메가존에서
일하는중. AWSKRUG에서 많은 활동을 하고 있습니다.
좋아하는 AWS 서비스 : EC2, S3, Route53, Lambda
일본여행을 좋아합니다
회사소개
회사소개
2012 한국최초 AWS파트너로 서비스 개시
한국최초 & 최대 AWS Premier Consulting Partner
400+이상의 고객에서 서비스 제공
20+ 글로벌 No.1 솔루션 제공
한국 유일의 AWS 공인 한국어 서포트 센터 운영
한국 최초 AWS Enterprise Support 제공
24 / 7 / 365 서포트 서비스 제공
이 프레젠테이션을 한 이유
AWSKRUG Gangnam 소모임에서 라즈베리파이와
카메라를 이용한 재미있는 세션을 진행해주셨음.
오회근 (harry Oh)
YOGIYO 한국 배달어플리케이션
Backend Developer
Cloud BI Solution, Network Camera,
Standalone DVR, Web based Surveillance System
최대한 간단하게 만들기
오회근님의 라즈베리파이
(보조배터리와 테더링으로 휴대도 가능!!)
개발중인 라즈파이와 카메라 모습
개발 방법
• 사진을 주기적으로 찍어서 S3로 업로드
• 성별, 나이, 스마일 통계를 구한다
• AWS에서 Serverless로 구성
• CLI를 이용
• 카메라는 싼거로
• 시큐리티는 잠시 미뤄두자 ㅠㅠ
아키텍쳐
• AWS 서비스는 S3, Lambda,
StepFunctions, RDS 사용
• 얼굴 분석으로
Amazon Rekognition,
MS Face API
Face Plus Plus 이용
• Plot.ly를 이용하여 차트 생성
개발 환경
• Python 2.7 (virutalenv)
• pip
• emulambda (lambda Simumator)
• AWS CLI
• statelint (StepFunctions JSON validator)
• 라즈베리파이와 인터넷 연결
S3 Bucket 생성
• US-WEST-2 OREGON 리전에
jawsdaysfaces bucket 생성
• Lifecycle을 1일로 설정
• 모든 사용자들이 접근 가능하도록
설정
주의! 실제로 서비스 할 경우에는
signed url 등을 이용
라즈베리파이
• 미리 준비해야 할 것들
• WiFi 연결
• USB WebCam 연결
• fswebcam 설치 및 설정값
• AWS CLI 설치 및 설정
• 이미지를 S3에 전송하고 확인
IAM 설정
• Lambda 실행 권한을 가진
jawsdaysfaces-role을 추가
• Jawsdaysfaces bucket을 액세스할 수
있는 policy 추가
• 해당 policy를 jawsdaysfaces-role에
추가
• Rekognition, StepFunction policy도 추가
AmazonRekognitionFullAccess
AWSStepFunctionsFullAccess
RDS 생성
• RDS를 생성
• Security Group에서 Inbound를
모두 허용
• RDS를 외부에 공개하는건 위험!
Lambda가 RDS에 접근하기
위해서는 같은 VPC에 있어야 한다,
하지만 이럴 경우 Lambda가
외부망에 접근하기 위해서는 NAT
Gateway가 필요함
• 개발용으로만 사용해야함
• 생성이 완료되고 endpoint를
가져옴
TABLE 생성
Amazon Rekognition
• SDK 지원
• IAM Policy로 설정
• 처음 12개월 동안 매월
5,000개의 이미지를 분석하고
매월 최대 1,000개의 얼굴
메타데이터를 저장 무료
• EU (Ireland)
US East (N. Virginia)
US West (Oregon)
MICROSOFT FACE API
• Microsoft face api 페이지
에서 API Key를 생성
• 생성된 API Key는 별도
보관
• 30,000/월 무료
FACE Plus Plus
• Face Plus Plus console
페이지에서 API Key를
생성
• 생성된 API Key는 별도
보관
• 무료는
제한된사용량/응답보장
안함
Step Functions
Step Functions JSON
미리 제공되는 템플릿을 참고
Statelint
얼굴 이미지가 아닌 경우 동작
얼굴 이미지일 경우 동작
Detect Labels (사진 분석)
• Amazon Rekognition에
detect_labels API로 요청
• Label의 이름이 Human,
People, Person 이면서
Confidence 값이 95 이상일
경우 얼굴 사진으로 판별
JAWS-UG LOGO로 테스트
얼굴 사진으로 테스트
isFacePhoto
• isFaces의 값에 따라서
분기를 처리해준다
• 얼굴 사진이 아닐 경우,
NoFacesPhoto로,
• 얼굴 사진일 경우 API를
병렬 처리 하도록
얼굴분석 API를 병렬로 처리
Amazon Rekognition, MS Face API, Face Plus Plus의 얼굴
분석 API를 호출해서, 여러 시스템에서 나온 결과값을
받아온다
각 회사의 API마다 결과값에 차이가 있다
Face Data Process
• 여러 Face API에서
모은 결과에서 원하는
통계를 내기 위한
데이터로 가공한다
Update Database
• 가공한 데이터를
RDS에 넣어준다
Database에 결과값이 쌓이는지 확인
원하는 통계 쿼리를 작성
분당 나이와 Smile 평균
나이대별 통계
성별 통계
하지만, 결과가 이렇게 표시된다
Plot.ly를 통해서 데이터를 보기 좋게 차트화 시킨다
이런 차트가 만들어집니다
나이대별 통계 차트
성별 차트
성별 차트
누구?
성별 차트
최근 인기 한국 드라마 여주인공
결론
- 강남 소모임이 활성화되고, 서로 모여서 라즈베리파이와 카메라를 이용해서
개발하니 재미있다!!
- Amazon Rekognition, MS Face API, Face Plus Plus와 같은 이미지 분석
API를 통해서 큰 비용을 들이지 않고서도 쉽게 이미지 분석이 가능
- API 마다 데이터의 특성이 다르기 때문에 본인에게 필요한 정보에 맞춰서
바꿔나갈 수 있음
- StepFunctions를 통해서 Lambda의 동작과 로그를 보면서 개발할 수 있었음
- 개선할 사항이 많다 ㅠㅠ (보안, 다중 얼굴 처리)
이 부분은 소모임에서 모여서 아이디어 추가 및 계속 개선해 나갈 예정
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
감사합니다!
발표자료:
http://bit.ly/hyunmin-jawsdays2017

Contenu connexe

Tendances

Digital Transformation Strategy PowerPoint Presentation Slides
Digital Transformation Strategy PowerPoint Presentation Slides Digital Transformation Strategy PowerPoint Presentation Slides
Digital Transformation Strategy PowerPoint Presentation Slides SlideTeam
 
Aws certified-solutions-architect-associate-training
Aws certified-solutions-architect-associate-trainingAws certified-solutions-architect-associate-training
Aws certified-solutions-architect-associate-trainingCloudsara
 
Next Gen ADM: The future of application services.
Next Gen ADM: The future of application services. Next Gen ADM: The future of application services.
Next Gen ADM: The future of application services. IBM
 
Government Applications of Cloud Computing
Government Applications of Cloud ComputingGovernment Applications of Cloud Computing
Government Applications of Cloud ComputingRoger Smith
 
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud StepsAccelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud StepsAmazon Web Services
 
Encryption and Key Management in AWS
Encryption and Key Management in AWS Encryption and Key Management in AWS
Encryption and Key Management in AWS Amazon Web Services
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentationjasonsich
 
Two Tier CBDC Model Architecture
Two Tier CBDC Model Architecture Two Tier CBDC Model Architecture
Two Tier CBDC Model Architecture Blockchain Worx
 
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...Amazon Web Services
 
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...AWS Korea 금융산업팀
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesAmazon Web Services
 
DE-CIX Corporate Presentation
DE-CIX Corporate PresentationDE-CIX Corporate Presentation
DE-CIX Corporate PresentationDE-CIX
 
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...Amazon Web Services Korea
 
AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!Chris Taylor
 
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...Amazon Web Services
 

Tendances (20)

Digital Transformation Strategy PowerPoint Presentation Slides
Digital Transformation Strategy PowerPoint Presentation Slides Digital Transformation Strategy PowerPoint Presentation Slides
Digital Transformation Strategy PowerPoint Presentation Slides
 
Aws certified-solutions-architect-associate-training
Aws certified-solutions-architect-associate-trainingAws certified-solutions-architect-associate-training
Aws certified-solutions-architect-associate-training
 
Next Gen ADM: The future of application services.
Next Gen ADM: The future of application services. Next Gen ADM: The future of application services.
Next Gen ADM: The future of application services.
 
AWS Code + AWS Device Farm
AWS Code + AWS Device FarmAWS Code + AWS Device Farm
AWS Code + AWS Device Farm
 
Introduction to AWS Glue
Introduction to AWS GlueIntroduction to AWS Glue
Introduction to AWS Glue
 
Government Applications of Cloud Computing
Government Applications of Cloud ComputingGovernment Applications of Cloud Computing
Government Applications of Cloud Computing
 
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud StepsAccelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
 
Encryption and Key Management in AWS
Encryption and Key Management in AWS Encryption and Key Management in AWS
Encryption and Key Management in AWS
 
Living in the Cloud
Living in the CloudLiving in the Cloud
Living in the Cloud
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentation
 
Two Tier CBDC Model Architecture
Two Tier CBDC Model Architecture Two Tier CBDC Model Architecture
Two Tier CBDC Model Architecture
 
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
Best Practices in Planning a Large-Scale Migration to AWS - AWS Online Tech T...
 
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
[보험사를 위한 AWS Data Analytics Day] 3_교보생명의 빅데이터 플랫폼 ...
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
Amazon SageMaker
Amazon SageMakerAmazon SageMaker
Amazon SageMaker
 
DE-CIX Corporate Presentation
DE-CIX Corporate PresentationDE-CIX Corporate Presentation
DE-CIX Corporate Presentation
 
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
Secure Virtual Private Cloud(VPC)를 활용한 보안성 강화와 비용절감 - 안경진 부장, 포티넷 코리아 :: AWS ...
 
AWS CloudWatch
AWS CloudWatchAWS CloudWatch
AWS CloudWatch
 
AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!AWS Glue - let's get stuck in!
AWS Glue - let's get stuck in!
 
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
Building Data Lakes and Analytics on AWS; Patterns and Best Practices - BDA30...
 

Similaire à Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발

AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기Harry Oh
 
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅Open Source Consulting
 
4시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 2019
4시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 20194시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 2019
4시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 2019Amazon Web Services Korea
 
AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019
AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019 AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019
AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019 AWSKRUG - AWS한국사용자모임
 
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017Amazon Web Services Korea
 
AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...
AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...
AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...Amazon Web Services Korea
 
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...Amazon Web Services Korea
 
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...Amazon Web Services Korea
 
AWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in KoreaAWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in KoreaSORACOM, INC
 
서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...
서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...
서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...Amazon Web Services Korea
 
AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWS
AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWSAWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWS
AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWSAmazon Web Services Korea
 
SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유
SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유
SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유Amazon Web Services Korea
 
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나Amazon Web Services Korea
 
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...Amazon Web Services Korea
 
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100Amazon Web Services Korea
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅Amazon Web Services Korea
 
클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...
AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...
AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...Amazon Web Services Korea
 
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...Amazon Web Services Korea
 

Similaire à Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발 (20)

AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기AWS를 활용한 얼굴분석 서비스 만들기
AWS를 활용한 얼굴분석 서비스 만들기
 
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
 
4시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 2019
4시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 20194시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 2019
4시간안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성 - 최지웅 부대표, 오픈소스컨설팅 :: AWS Summit Seoul 2019
 
AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019
AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019 AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019
AWS re:Invent 2018를 통해 본 개발자들이 원하는 4가지 클라우드 동향 :: 윤석찬 - AWS Community Day 2019
 
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
Amazon AI 서비스를 통한 스마트 애플리케이션 개발 - AWS Summit Seoul 2017
 
AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...
AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...
AWS와 함께하는 스타트업 여정 AWS Activate 프로그램/스타트업에게 가장 사랑받는 AWS 서비스들 – 김민지, 박진우 :: AWS...
 
Cloud Design Pattern
Cloud Design PatternCloud Design Pattern
Cloud Design Pattern
 
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
 
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
 
AWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in KoreaAWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
AWS Cloud Design Pattenr (Korean) - CDP Seminar in Korea
 
서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...
서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...
서버리스 아키텍처 패턴 및 로그 처리를 위한 파이프라인 구축기 - 황윤상 솔루션즈 아키텍트, AWS / Matthew Han, SendBi...
 
AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWS
AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWSAWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWS
AWS 클라우드를 통해 최소기능제품(MVP) 빠르게 개발하기 - 윤석찬 테크 에반젤리스트, AWS
 
SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유
SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유
SAP on AWS - 국내 60개 이상 고객사가 SAP를 AWS에서 운영하는 이유
 
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
 
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
SAP, 아마존 클라우드에서 어떻게 하면 잘한다고 소문이 날까? AWS 클라우드 환경에서 ISMS-P(정보보호 관리체계) "인싸"가 되는 ...
 
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저 :: AWS Builders 100
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
 
클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
클라우드 네이티브 환경에 맞는 IT 운영 원칙과 모범사례 - 권신중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...
AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...
AWS Amplify를 통한 손쉬운 모바일 애플리케이션 개발하기 - 김필중 솔루션즈 아키텍트, AWS :: AWS Summit Seoul ...
 
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
분석 워크로드 마이그레이션의 모든 것-김기영, AWS Analytics Specialist SA / 김성일, AWS Analytics Sp...
 

Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Hyunmin Kim AWSKRUG Gangnam Leader, Megazone Raspberry Pi를 이용한 얼굴 표정과 감정인식 시스템 개발
  • 2. 자기소개 Hyunmin Kim (김현민) 소속: MEGAZONE AWS Solutions Architect AWSKRUG Gangnam Leader iOS개발자, Node.js로 개발, 현재 AWS Solutions Architect로 메가존에서 일하는중. AWSKRUG에서 많은 활동을 하고 있습니다. 좋아하는 AWS 서비스 : EC2, S3, Route53, Lambda
  • 5. 회사소개 2012 한국최초 AWS파트너로 서비스 개시 한국최초 & 최대 AWS Premier Consulting Partner 400+이상의 고객에서 서비스 제공 20+ 글로벌 No.1 솔루션 제공 한국 유일의 AWS 공인 한국어 서포트 센터 운영 한국 최초 AWS Enterprise Support 제공 24 / 7 / 365 서포트 서비스 제공
  • 6. 이 프레젠테이션을 한 이유 AWSKRUG Gangnam 소모임에서 라즈베리파이와 카메라를 이용한 재미있는 세션을 진행해주셨음. 오회근 (harry Oh) YOGIYO 한국 배달어플리케이션 Backend Developer Cloud BI Solution, Network Camera, Standalone DVR, Web based Surveillance System
  • 7. 최대한 간단하게 만들기 오회근님의 라즈베리파이 (보조배터리와 테더링으로 휴대도 가능!!) 개발중인 라즈파이와 카메라 모습
  • 8. 개발 방법 • 사진을 주기적으로 찍어서 S3로 업로드 • 성별, 나이, 스마일 통계를 구한다 • AWS에서 Serverless로 구성 • CLI를 이용 • 카메라는 싼거로 • 시큐리티는 잠시 미뤄두자 ㅠㅠ
  • 9. 아키텍쳐 • AWS 서비스는 S3, Lambda, StepFunctions, RDS 사용 • 얼굴 분석으로 Amazon Rekognition, MS Face API Face Plus Plus 이용 • Plot.ly를 이용하여 차트 생성
  • 10. 개발 환경 • Python 2.7 (virutalenv) • pip • emulambda (lambda Simumator) • AWS CLI • statelint (StepFunctions JSON validator) • 라즈베리파이와 인터넷 연결
  • 11. S3 Bucket 생성 • US-WEST-2 OREGON 리전에 jawsdaysfaces bucket 생성 • Lifecycle을 1일로 설정 • 모든 사용자들이 접근 가능하도록 설정 주의! 실제로 서비스 할 경우에는 signed url 등을 이용
  • 12. 라즈베리파이 • 미리 준비해야 할 것들 • WiFi 연결 • USB WebCam 연결 • fswebcam 설치 및 설정값 • AWS CLI 설치 및 설정 • 이미지를 S3에 전송하고 확인
  • 13. IAM 설정 • Lambda 실행 권한을 가진 jawsdaysfaces-role을 추가 • Jawsdaysfaces bucket을 액세스할 수 있는 policy 추가 • 해당 policy를 jawsdaysfaces-role에 추가 • Rekognition, StepFunction policy도 추가 AmazonRekognitionFullAccess AWSStepFunctionsFullAccess
  • 14. RDS 생성 • RDS를 생성 • Security Group에서 Inbound를 모두 허용 • RDS를 외부에 공개하는건 위험! Lambda가 RDS에 접근하기 위해서는 같은 VPC에 있어야 한다, 하지만 이럴 경우 Lambda가 외부망에 접근하기 위해서는 NAT Gateway가 필요함 • 개발용으로만 사용해야함 • 생성이 완료되고 endpoint를 가져옴
  • 16. Amazon Rekognition • SDK 지원 • IAM Policy로 설정 • 처음 12개월 동안 매월 5,000개의 이미지를 분석하고 매월 최대 1,000개의 얼굴 메타데이터를 저장 무료 • EU (Ireland) US East (N. Virginia) US West (Oregon)
  • 17. MICROSOFT FACE API • Microsoft face api 페이지 에서 API Key를 생성 • 생성된 API Key는 별도 보관 • 30,000/월 무료
  • 18. FACE Plus Plus • Face Plus Plus console 페이지에서 API Key를 생성 • 생성된 API Key는 별도 보관 • 무료는 제한된사용량/응답보장 안함
  • 23. 얼굴 이미지가 아닌 경우 동작
  • 25. Detect Labels (사진 분석) • Amazon Rekognition에 detect_labels API로 요청 • Label의 이름이 Human, People, Person 이면서 Confidence 값이 95 이상일 경우 얼굴 사진으로 판별
  • 28. isFacePhoto • isFaces의 값에 따라서 분기를 처리해준다 • 얼굴 사진이 아닐 경우, NoFacesPhoto로, • 얼굴 사진일 경우 API를 병렬 처리 하도록
  • 29. 얼굴분석 API를 병렬로 처리 Amazon Rekognition, MS Face API, Face Plus Plus의 얼굴 분석 API를 호출해서, 여러 시스템에서 나온 결과값을 받아온다
  • 30. 각 회사의 API마다 결과값에 차이가 있다
  • 31. Face Data Process • 여러 Face API에서 모은 결과에서 원하는 통계를 내기 위한 데이터로 가공한다
  • 32. Update Database • 가공한 데이터를 RDS에 넣어준다
  • 34. 원하는 통계 쿼리를 작성 분당 나이와 Smile 평균 나이대별 통계 성별 통계
  • 36. Plot.ly를 통해서 데이터를 보기 좋게 차트화 시킨다
  • 41. 성별 차트 최근 인기 한국 드라마 여주인공
  • 42. 결론 - 강남 소모임이 활성화되고, 서로 모여서 라즈베리파이와 카메라를 이용해서 개발하니 재미있다!! - Amazon Rekognition, MS Face API, Face Plus Plus와 같은 이미지 분석 API를 통해서 큰 비용을 들이지 않고서도 쉽게 이미지 분석이 가능 - API 마다 데이터의 특성이 다르기 때문에 본인에게 필요한 정보에 맞춰서 바꿔나갈 수 있음 - StepFunctions를 통해서 Lambda의 동작과 로그를 보면서 개발할 수 있었음 - 개선할 사항이 많다 ㅠㅠ (보안, 다중 얼굴 처리) 이 부분은 소모임에서 모여서 아이디어 추가 및 계속 개선해 나갈 예정
  • 43. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 감사합니다! 발표자료: http://bit.ly/hyunmin-jawsdays2017

Notes de l'éditeur

  1. 안녕하세요. 김현민입니다. 한국에서 메가존에서 AWS Solutions Architect로 일하고, AWSKRUG의 강남 리더로 활동하고 있습니다. 좋아하는 AWS 서비스는 EC2, S3, Lambda 입니다.
  2. 일본 여행을 좋아합니다. 도쿄는 이번에 5번째 방문입니다. 작년에는 개인적으로 Jaws-Days를 구경하기 위해 왔었습니다.
  3. 한국 1위 AWS 프리미어 파트너사입니다.
  4. 2012년 한국최초 AWS 파트너로 서비스 시작 한국내 최초이며 최대 규모의 AWS Premier Consulting Partner 400사 이상의 고객사 유치 20개 이상의 글로벌 솔루션 제공 한국내 유일한 AWS 인증 한국어 서포트 센터 운용 한국최초 AWS Enterprise Support 제공 24시간/7일/365일 서포트 서비스 제공
  5. 먼저 이 세션을 진행하게 된 배경을 설명해드리겠습니다. AWSKRUG 강남 소모임에서 오회근님이 발표해주신 내용이 재미있어서 같이 핸즈온랩으로 만들게 되었습니다.. 아쉽게도 오늘 같이 오시진 못했지만, 제가 요청드려서 소개해봅니다. 요기요는 한국 2위의 배달앱에서 백엔드 서버 개발자로 일하고, 예전에 카메라에 관련된 업무를 하신적이 있어서 이번 내용의 기초를 다져주셨습니다. 그럼 시작하겠습니다.
  6. 최대한 간단하게 만들기 라즈베리파이+카메라+WiFi가 기본!! 왼쪽은 오회근님의 포터플 라즈베리파이입니다. 배터리와 테더링으로 이동하면서도 얼굴분석을 가능하도록 만드셨습니다 오른쪽은 제가 개발중에 찍은 사진입니다.
  7. 개발 방법은 아래와 같습니다 사진을 일정 시간마다 찍어서 S3에 업로드 성별, 나이, 스마일 통계를 구한다 AWS에서 Serverless로 구성 개발중에 반복을 많이 하므로 CLI를 이용 카메라는 싼거로 3.5달러!! 프로토타입 개발이라 보안을 잠시 미뤄뒀지만, 보안은 중요합니다!!
  8. 아키텍쳐는 다음과 같습니다 AWS 서비스는 S3, Lambda, StepFunctions, RDS 사용 얼굴 분석에 Amazon Rekognition, MS Face API, Face Plus Plus 이용 Poly.ly 서비스를 이용해서 차트 생성
  9. 개발환경은 다음과 같습니다. 파이썬 2.7 pip emulambda AWS CLI statelint 라즈베리파이와 인터넷 연결
  10. 먼저 이미지가 올라갈 S3 Bucket을 생성합니다. Amazon Rekognition API가 있는 US-WEST-2 OREGON 리전에 버킷을 생성했습니다. 분석이 끝난 사진은 삭제하기 위해서 LifeCycle을 1일로 설정했습니다. 모든 사용자들이 접근 가능하도록 Policy를 설정했습니다 여기서 주의할점은, 실제로 서비스를 할 경우엔 이런 보안에 중요한 부분은 signed url 등을 이용해야 합니다.
  11. 그 다음은 라즈베리파이입니다. 사전에 라즈베리파이 세팅을 해야합니다. Wifi 연결 USB Webcam에 연결 웹캠을 연결해주는 드라이버인 fswebcam 설치 및 깨끗한 사진을 위해서 설정값을 조절해줍니다. S3에 이미지를 업로드 하기 위해서 AWS CLI 설치 및 accessKey, secretKey, region 정보의 설정을 해줍니다. 설치 후 오른쪽과 같이 카메라를 촬영 후 이미지를 S3에 전송하고
  12. IAM 설정을 해줍니다. Lambda를 이용하기 위해서 Lambda 실행 권한을 가진 jawsdaysfaces-role을 추가합니다. Role에는 S3 Bucket에 액세스 가능한 Policy를 만든뒤 추가해줍니다. Amazon Rekognition, StepFunction에도 접근 가능한 Policy도 추가해줍니다.
  13. RDS를 생성해줍니다. Security Group에서 Inbound를 모두 허용합니다. 단, RDS를 외부에 공개하는건 매우 위험합니다!! 실사용시에는 이렇게 하면 안됩니다. Lambda가 RDS에 접근하기 위해서는 같은 VPC에 있어야 하지만, 이럴 경우엔 NAT Gateway를 만들어야 함. 우측과 같은 커맨드를 통해서 RDS를 생성하고, endpoint를 가져옵니다.
  14. RDS에 접속 후, 통계 데이터를 넣을 테이블을 생성해줍니다.
  15. 이제 이용한 얼굴 분석 API에 대해서 설명드리겠습니다. 먼저, Amazon Rekognition은 딥러닝을 이용한 이미지 분석 서비스로, Lambda에서는 IAM Policy로 설정해서 접근해서 사용 가능합니다. 아직 아래의 3개 리전에서만 지원되고 있습니다.
  16. Microsoft Face API는 다음과 같습니다. 추가적으로 Emotion 등의 더 정밀한 API도 있습니다.
  17. Face PlusPlus는 중국의 업체에서 제공하는 얼굴 분석 API 입니다. 무료는 제한된 사용량과 응답에 대한 속도 보장을 안합니다만, 정해진 리밋이 있지는 않습니다.
  18. 스텝 펑션에 대해서 알려드리겠습니다.
  19. StepFunctions JSON입니다. 이전의 구성은 이와 같은 JSON 파일로 구성됩니다.
  20. 스텝펑션 제작 메뉴에서 이와 같이 미리 제공되는 템플릿을 참고로 StepFunctions를 만들 수 있습니다.
  21. 스텝펑션의 json 파일을 만든뒤, Statelint를 통해서 json 파일을 검증해서 개발할 수 있습니다. 이 케이스는 일부러 Type 값을 빠트린 경우입니다. Statelint 커맨드를 통해서 에러가 발생하는걸 알 수 있습니다.
  22. 얼굴 이미지가 아닐 경우 StepFunction의 동작입니다. IsFacePhoto에서 얼굴 이미지로 인식을 하고, 각 얼굴 API에 얼굴 분석 정보를 요청합니다. Input 데이터는 기존 이미지의 파일명과 url 정보를 다음 동작에 전달해주는 역할입니다.
  23. 얼굴 이미지인 경우의 동작입니다. 얼굴 이미지일 경우엔 얼굴 분석 API에 병렬로 얼굴분석정보를 요청합니다. Input Data는 기존의 이미지 정보를 그대로 전달하는 역할을 합니다.
  24. 먼저 얼굴인지 인식하는 Detect Labels 부분입니다. Amazon Rekognition의 이미지를 분석해주는 detect_labels api로 요청합니다. Label의 정보에서 Name 키값의 정보가 Human, People, Person 이면서 Confidence 값이 95 이상일 경우 얼굴 사진으로 판별합니다.
  25. detect_labels에 JAWS-UG의 로고를 넣었을때의 결과입니다. Name에 Logo, Trademark, Emblem이 들어갔고, Confidence가 높은건 Logo, Trademark인거로 나옵니다.
  26. JAWS-FESTA에서 찍은 사진을 분석한 결과입니다. Name에 Human, People, Person에 들어갔고, Confidence가 99로 높은 매칭을 보여줍니다. 앉아있다는 Sitting 값과 Classroom 값도 있지만 정확도는 낮게 표시됩니다.
  27. 앞에서 분석한 데이터를 가지고, Lambda가 아닌 Stepfunctions에서 분기 처리를 해줍니다. Type은 Choice로, 앞에서 전달된 데이터로 다른 Task를 수행할 수 있도록 처리 할 수 있습니다. Boolean 말고도 숫자, 글자등의 값도 비교 가능합니다.
  28. 얼굴 분석 API를 병렬로 처리하는 부분입니다. 각각의 작업을 실행한 뒤, 결과값을 배열 형태로 Face Data Process에 전달합니다.
  29. 얼굴분석 API는, 각 회사별로 값이 약간씩 다릅니다. 아마존의 경우, 최근에 나이값이 추가가됐는데, 나이의 Low값과 High 값이 표시됩니다. 일반적으로 중간값이 가깝기 하지만, 중간값이 반드시 실제 나이와 맞는 값은 아닙니다. MS Face API나 Face Plus Plus는 나이값이 고정으로 표시됩니다. 그 외에도 Amazon 에서는 Emotion 값을 기본으로 포함해서, 다양한 감정인식 정보도 포함하고 있습니다. 타 업체에서도 Emotion 정보는 추가적인 API를 통해서 가져올수도 있습니다.
  30. 얼굴 분석한 데이터를, 입맛에 맞는 통계를 내기 위해서 데이타베이스에 맞는 형태로 가공합니다. 여기서는, 나이값은 평균값을 기준으로 잡았습니다. 스마일 값은 Face PlusPlus를 이용했습니다. 성별정보는 MS에서 가져왔습니다. 얼굴 분석 정보의 값은 업체마다 상이하므로, 본인이 원하는 값을 가진 회사의 정보를 이용하거나, 가공해야 할 거 같습니다.
  31. 앞에서 가공한 데이터를 RDS에 넣어줍니다.
  32. Select 문으로 Database에 저장이 잘 되는지 확인합니다.
  33. 통계를 보기 위해서 통계용 쿼리를 작성합니다.
  34. 하지만, 결과가 이와 테이블 형태로 표시됩니다.
  35. Plot.ly라는 서비스를 이용해서, 데이터를 보기 좋게 차트화 시킵니다.
  36. 이런 차트가 만들어집니다. 이건 시간대별 나이와 스마일 통계입니다. 오후 3시에 작업시작부터 6시까지 5초 간격으로 계속 촬영한 결과입니다. 작업이 잘 돼고 있을때는 높은 수치로 올라가고, 뭔가 일이 잘 안 풀릴때는 낮은 수치로 표시되는걸 확인할 수 있습니다.
  37. 나이대별 통계입니다. 주로 20~30대, 30~40대의 데이터가 반반 나왔습니다. 20대라고 해도 실제 데이터를 보면 20대 후반쪽이 더 많습니다
  38. 성별 차트입니다. 저희 팀이 남자밖에 없어서, 또한 저를 대상으로 사진을 찍었기때문에, 남자 수치가 압도적으로 높습니다.
  39. 그럼 이 수치는 잘못된 걸까요? 누구일까요?
  40. 아닙니다. 최근 인기 한국 드라마의 여주인공의 사진을 넣어서 테스트한 결과입니다. 여성의 표시도 정확하게 되는걸 확인 할 수 있습니다.
  41. 결론 소모임에서 모여서 라즈베리파이를 이용해 개발하니 무척 재미있다!! 다양한 얼굴분석 API를 통해서 저렴한 비용으로 쉽게 이미지 분석/감정 분석 앱을 개발할 수 있었다 구글 비전 API나 Emothon 값을 이용하면 더 많은 데이터를 얻을 수 있을것 StepFunctions를 통해서 Lambda의 동작과 실행시 로그를 확인하면서 개발할 수 있었음 아직 개선할 사항이 많다. 보안, 다중얼굴 처리 등등 계속 소모임을 진행하면서 아이디어 추가 및 개선해나갈것