SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
영상인식기술소개
영상인식기술 Cell 박병관 리더
SKTMLInfra(GPUcluster) SKTOpenCollaboration
PublicDB
14,197,122
SKTDB (domain-specific)
HumanBody
AsianFaces2)
(ID/Gender/Age)
0.7mil
18,000
0.9mil
(image)
(video)
(image)
Contents(DB) GPU(Hardware) OpenSource(Algorithm)
DeepLearning촉매제
현재NUGU는음성인식기반AI
오감정보중시각정보를활용한서비스(얼굴검출/인식,Posture인식등)
NUGU영상인식
JIBO AmazonEchoShow
기타영상인식적용분야
VoD내등장인물인식
#김윤석
Clip내객체/장소/이벤트인식
#식사 #자장면
도로표지판인식 얼굴Clustering
기타서비스@SKT
3.Distillation
1.CustomNetworkDesign
2.ArmComputingLibrary
LightDeepLearningNetwork구현
모든Frame에서얼굴Detection
Device내DeepLearning기반
Detection필요
얼굴검출
TinyYOLOV2기반네트워크경량화
-성능은유지하면서파라미터줄이기
Channeldepth를줄여서파라미터수감소
-Layerdepth를줄이는것보다성능보존에유리
고정된카메라입력과동일한비율의320x240입력
-정사각형입력대비연산량추가감소
-단순downsample연산으로네트워크입력인가
3x3x16
3x3x32
3x3x64
3x3x128
3x3x256
3x3x512
3x3x1024
3x3x512
3x3x8
3x3x16
3x3x32
3x3x64
3x3x128
3x3x259
3x3x512
11M 1.5M
얼굴검출:CustomNetworkDesign
)
파라미터는줄었지만성능은보존
Featurestacking구조적용을통한원거리성능개선진행중
-Tiny-YOLOV2=defaultsettingwithDarknetframework
-Ours(288)=Filterdepthreduce+babysitting
-Ours(320x240)=filterdepthreduce+babysitting+anchorsetchange
-TestDB:Customfacedataset
3x3x8
3x3x16
3x3x32
3x3x64
3x3x128
3x3x259
3x3x512
FeatureStack
3x3x16
3x3x32
3x3x64
얼굴검출:CustomNetworkDesign
Framework ms/frame
TFLite 980ms
ACL(NEON) 473ms
ACL(OpenCL) 368ms
ARMCortexCPU및ARMMaliGPU를위한lowlevelS/W함수모음
H/W가속지원방식이다른라이브러리보다우수
-백엔드Lib.H/W가속사용
-QualcommSNPE
-NNPACK(forExynos)
-NNPACK의낮은성능문제
-최근ACL백엔드수용
-NEON내장함수이용가속
-ARMCPU에서좋은성능
-GPU가속지원안함
-안드로이드OS기반가속
-NNAPI가8.1이상부터지원
-지원기능의부족
-NEON/OpenCL기반의
직접구현보다낮은성능
-NEON내장함수직접구현
-OpenCL기반GPU가속구현
-플랫폼구애가적음
-다양한lowlevel함수지원으로
시스템전체구현에유리
-NNAPI의백앤드로ACL협업
얼굴검출:ARMComputeLibrary
Model AP
SSDwithInceptionV2(800x600,Teacher) 0.96
Ours(320x240,Student) 0.76
Distil.Ours 0.81
TeacherNetwork의가르침을이용하여작은네트워크의성능개선
얼굴검출:DistillationMethod
ErrwithGT
ErrwithTeacher
TotalLoss
Back Propagation
Distillation Training
EDNN
TeacherNET
EDNN
prediction
Teacher
prediction
GT
결과
서비스대상을고려한최적의얼굴인식DB설계및확보
-연령,성비,인종등의balance를고려한한국인위주700만장DB설계및확보(SKT-7mFaceDB)
-얼굴Annotation정보를활용한자동TestDB생성
얼굴인식엔진성능향상을위한독자기술적용
-다양한연령대와얼굴상태에서의성능향상을위한Loss설계(SKT-familyloss)
-Wild환경에서강인한FaceRecognitionPipeLine설계(UniversalPre-processing)
-얼굴인식에적합한얼굴선택을위한FaceScore기술적용
얼굴인식 기반다양한Application
-Application별Identification,Clustering
-얼굴인식기반의표정,성별,나이,인종및얼굴적합도측정기술개발
표정:행복
성별:남자
연령:3~5세
인종:아시아인
FaceAttribution
Recognition
FaceIdentification
FaceClustering
FeatureSpaceFaceFeature
FaceRecognition@SKT
서비스대상을고려한최적의얼굴인식DB설계및확보
-Public얼굴인식DB는주로서구권유명인위주로구성되어20~40대백인남성의분포가두드러짐
-서비스대상(아시아인,성별무관,전연령)기준으로balance를유지할수있도록설계
-한국인,동아시아인위주700만장이상의DB확보(SKT-7mDB)
얼굴속성을이용한TestDB자동생성
-얼굴속성분류를통한Testcase자동생성(조명변화,Pose변화,표정변화,액세서리유무등)
-세분화된얼굴인식엔진성능분석으로취약성능을target으로한얼굴인식기술고도화
CasiaWebFaceDB의연령분포
TestDB자동생성
얼굴인식:7MFaceRecognitionDB
사용자에게제공하기에부적합한얼굴을제거하는기술
-부적합한얼굴의예:흐릿한얼굴,작은얼굴,과한포즈의얼굴,오검출결과
-정상적인얼굴은Positive,부적합한얼굴은Negative로하여DeepLearning적용
-효율적인계산및성능확보를위해얼굴인식Feature를사용
HumanFace
(blur.Ir)
HumanFace
(part.pose)
Non-Face
CartoonyFace
부적합한얼굴의예
얼굴인식:FaceScore
Activation feature and feature distance
-얼굴에서활성화되는Feature정도에따라Feature간Distance분포가상이함
영유아: Activated feature 수가작음 ○Short inter-class distance
성인: Activated feature 수가 상대적으로 많음 ○Long inter-class distance
-Unique한기준으로동일인여부판단시ActivationFeature가적은얼굴의정확도가낮아짐
SKT-Family Loss: Activation Feature를 최대화하긴위한Loss
-ActivatedFeatureDimension의빈도확률분포와uniform분포와의KLDivergence를Loss에추가
특정 Dimension에서만 Activation되는 현상 방지
-상대적으로낮은정확도를보이는영유아계층의성능향상(약2.5%,자체testDB)
얼굴인식:FamilyLoss
얼굴인식기반의얼굴속성인식엔진개발
-양질의많은DB로학습된얼굴인식엔진의특성계승
-작은양의DB로학습가능(TransferLearning)
얼굴인식엔진에서추출한Multi-scale Feature활용
-다양한Scale의Feature활용및TrainableParameter의증가로성능향상
-각각의독립적인엔진대비효율적인연산시간및메모리사용량
얼굴,표정,성별,나이,인종,적합도6종의정보를동시에인식
ExpressionNet
AgeNet
GenderNet
EthnicityNet
ScoreNet
Whoyouare??
Happy
30~34세
Male
Asian
0.745
FaceRecognition
BaseNet
FaceFeature
얼굴인식:FaceMulti-task
여러사진속에서검출된여러명의얼굴중유사한얼굴의Grouping이목적
-얼굴검출→얼굴인식(Feature추출)→FaceScore(얼굴선택)→FaceClustering
Challenge
-다수의얼굴이지속입력시증가가능한Clustering을하는것
Approach
항상성 유지: 형성된 Cluster의 ID가 유지되어야 함
성능 유지: 전체 얼굴에 대한 Clustering(Batch Clustering)과 대등한 성능
-소량의BatchClustering기반IncrementalClustering
얼굴인식:FaceClustering
IncrementalClustering
-초기Cluster를새로운입력기반으로증가시키는방식
-초기Cluster가유지되기때문에항상성이유지됨
Procedure
-Initial Clustering
초기의 소량 Sample에 대해 Batch Clustering 실행
-Identification(Cluster Based, Every Sample)
새로운 입력에 대해 기존 Cluster 포함 여부 판단
-ClusterUpdate(TriggeredExecution)
입력 순서에 의해 Identification에 실패한 Sample을 위해Re-Identification
기존 Cluster에 포함되지 않은 Sample(noise sample)을 대상으로 Batch Clustering
새롭게 형성된 Cluster와 기존 Cluster의 merge(Rank-order Merge*) Periodic Or triggered
얼굴인식:FaceClustering
Price(RGBCameravsDepthCamera)
2D,3DKeypoint 알고리즘성능및속도
다양한환경(조명,pose)에서의handDB부족
객체인식:HandPosture인식
HandPosture:학습DB
HandPosture:SKTWIDERHandDB
TotalImages:126,286images
(Crawl:29,247+촬영 97,039)
Classes:8classes+1negative
OneStage:Yolo,SSD,RetinaNet,…
Two Stage:FasterR-CNN,…
Back-bone:MobileNet-V2vsNasNet
HyperParameter:InputResolution,
ChannelDepth,LR,…
HandPosture:WaytoCommercializtion
mAP reason
66.98 Baseline : One Stage (작은 손 미탐, 각도에 따른 오탐)
72.53 Data Augmentation, Class Merge, …
88.06 One Stage  Two Stage, Add 20,000 crawl images
89.12 Find Best Hyper parameter (cos LR, Batch Size, …)
HandPosture:Progress
HandPosture:Results
40 50 60 70
Speed(ms) vs Accuracy(mAP)Trade-off
75
80
85
90
95
77.54
80.21
81.48
86.53
89.12
Acc(mAP)
HandPosture:Results
40 50 60 70
Speed(ms) vs Accuracy(mAP)Trade-off
75
80
85
90
95
77.54
80.21
81.48
86.53
89.12
Acc(mAP)
Find
Optimal
Model
Two StageOne Stage
장면인식(ImageClassification)
-영화,드라마등다양한Media에서키워드추출
-영상장면기반키워드자동추출기술개발
#와인잔
#식사중
#식당
#짜장면
개발vs.서비스
-개발
:KnownClass기반
ClosedSetClassification
-서비스
:UnknownClass를포함한
OpenSetClassification
장면인식:OpenSetProblem
객체,장소, 이벤트등수백여 개클래스인식 Open set
지나치게다양한환경의학습DB구성이
오히려FalsePositive증가시킴
클래스내명확한의미위주의학습DB로
정제하여개선(Precision3~5%)
vs
장면인식:FalsePositive저감
PositiveClass수가증가하면FalsePositive도증가
-FalsePositive를줄이기위해NegativeClass영상추가/학습
-NegativeClassDB증가는ClassImbalance발생!!!
-ClassImbalance를대응하기위해FocalLoss적용
장면인식:상용서비스를위한Class확장
상용서비스클래스209종
클래스
Event 식사,생일파티,키스,허그,번지점프등 66종
Object 하마,고슴도치,짜장면,김밥,자전거등73종
Place
워터파크,키즈카페,야구장등 장소55종
광화문,에펠탑등 랜드마크15종
장면인식:상용서비스Class&Platform
영상인식 기술 소개

Weitere ähnliche Inhalte

Mehr von NUGU developers

[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip
[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip
[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip
NUGU developers
 
[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip
[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip
[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip
NUGU developers
 

Mehr von NUGU developers (20)

[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip
[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip
[NUGU CONFERENCE 2019] 트랙 B-5-2 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 tip
 
[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip
[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip
[NUGU CONFERENCE 2019] 트랙 B-5-1 : NUGU play 개발 공모전 수상팀이 알려주는 play 개발 Tip
 
[NUGU CONFERENCE 2019] 트랙 B-3 : Pre-built Model를 활용한 NUGU 스마트홈 개발
[NUGU CONFERENCE 2019] 트랙 B-3 : Pre-built Model를 활용한 NUGU 스마트홈 개발[NUGU CONFERENCE 2019] 트랙 B-3 : Pre-built Model를 활용한 NUGU 스마트홈 개발
[NUGU CONFERENCE 2019] 트랙 B-3 : Pre-built Model를 활용한 NUGU 스마트홈 개발
 
[NUGU CONFERENCE 2019] 트랙 B-2-2 : NUGU SDK
[NUGU CONFERENCE 2019] 트랙 B-2-2 : NUGU SDK[NUGU CONFERENCE 2019] 트랙 B-2-2 : NUGU SDK
[NUGU CONFERENCE 2019] 트랙 B-2-2 : NUGU SDK
 
[NUGU CONFERENCE 2019] 트랙 B-2-1 : NUGU SDK
[NUGU CONFERENCE 2019] 트랙 B-2-1 : NUGU SDK[NUGU CONFERENCE 2019] 트랙 B-2-1 : NUGU SDK
[NUGU CONFERENCE 2019] 트랙 B-2-1 : NUGU SDK
 
[NUGU CONFERENCE 2019] 트랙 B-1 : NUGU SDK 소개 - 정책 및 프로세스 관점에서 -
[NUGU CONFERENCE 2019] 트랙 B-1 : NUGU SDK 소개 - 정책 및 프로세스 관점에서 -[NUGU CONFERENCE 2019] 트랙 B-1 : NUGU SDK 소개 - 정책 및 프로세스 관점에서 -
[NUGU CONFERENCE 2019] 트랙 B-1 : NUGU SDK 소개 - 정책 및 프로세스 관점에서 -
 
[NUGU CONFERENCE 2019] 트랙 A-7 : When in Doubt, Just See : 영상인식기반 T map 도로교통정보...
[NUGU CONFERENCE 2019] 트랙 A-7 : When in Doubt, Just See : 영상인식기반 T map 도로교통정보...[NUGU CONFERENCE 2019] 트랙 A-7 : When in Doubt, Just See : 영상인식기반 T map 도로교통정보...
[NUGU CONFERENCE 2019] 트랙 A-7 : When in Doubt, Just See : 영상인식기반 T map 도로교통정보...
 
[NUGU CONFERENCE 2019] 트랙 A-6 : 개인화 서비스를 위한 음성기반 화자인식 기술 소개
[NUGU CONFERENCE 2019] 트랙 A-6 : 개인화 서비스를 위한 음성기반 화자인식 기술 소개[NUGU CONFERENCE 2019] 트랙 A-6 : 개인화 서비스를 위한 음성기반 화자인식 기술 소개
[NUGU CONFERENCE 2019] 트랙 A-6 : 개인화 서비스를 위한 음성기반 화자인식 기술 소개
 
[NUGU CONFERENCE 2019] 트랙 A-5 : 검색 데이터 저장소 구축기
[NUGU CONFERENCE 2019] 트랙 A-5 : 검색 데이터 저장소 구축기[NUGU CONFERENCE 2019] 트랙 A-5 : 검색 데이터 저장소 구축기
[NUGU CONFERENCE 2019] 트랙 A-5 : 검색 데이터 저장소 구축기
 
[NUGU CONFERENCE 2019] 트랙 A-4 : Zero-shot learning for Personalized Text-to-S...
[NUGU CONFERENCE 2019] 트랙 A-4 : Zero-shot learning for Personalized Text-to-S...[NUGU CONFERENCE 2019] 트랙 A-4 : Zero-shot learning for Personalized Text-to-S...
[NUGU CONFERENCE 2019] 트랙 A-4 : Zero-shot learning for Personalized Text-to-S...
 
[NUGU CONFERENCE 2019] 트랙 A-3 : NUGU 개인화 음악 추천 기술 소개
[NUGU CONFERENCE 2019] 트랙 A-3 : NUGU 개인화 음악 추천 기술 소개[NUGU CONFERENCE 2019] 트랙 A-3 : NUGU 개인화 음악 추천 기술 소개
[NUGU CONFERENCE 2019] 트랙 A-3 : NUGU 개인화 음악 추천 기술 소개
 
[NUGU CONFERENCE 2019] 트랙 A-2 : NUGU call 적용 기술 및 서비스 소개
[NUGU CONFERENCE 2019] 트랙 A-2 : NUGU call 적용 기술 및 서비스 소개[NUGU CONFERENCE 2019] 트랙 A-2 : NUGU call 적용 기술 및 서비스 소개
[NUGU CONFERENCE 2019] 트랙 A-2 : NUGU call 적용 기술 및 서비스 소개
 
[NUGU CONFERENCE 2019] 트랙 A-1 : Knowledge Graph 기반의 Complex QA 기술
[NUGU CONFERENCE 2019] 트랙 A-1 : Knowledge Graph 기반의 Complex QA 기술[NUGU CONFERENCE 2019] 트랙 A-1 : Knowledge Graph 기반의 Complex QA 기술
[NUGU CONFERENCE 2019] 트랙 A-1 : Knowledge Graph 기반의 Complex QA 기술
 
[NUGU Dev Days Advanced] NUGU Play Kit으로 Play 만들기 (Advacned)
[NUGU Dev Days Advanced] NUGU Play Kit으로 Play 만들기 (Advacned)[NUGU Dev Days Advanced] NUGU Play Kit으로 Play 만들기 (Advacned)
[NUGU Dev Days Advanced] NUGU Play Kit으로 Play 만들기 (Advacned)
 
[NUGU Dev Days Beginner] 음성 서비스 디자인 가이드라인
[NUGU Dev Days Beginner] 음성 서비스 디자인 가이드라인[NUGU Dev Days Beginner] 음성 서비스 디자인 가이드라인
[NUGU Dev Days Beginner] 음성 서비스 디자인 가이드라인
 
[NUGU Dev Days Beginner] NUGU developers 및 Play 소개
[NUGU Dev Days Beginner] NUGU developers 및 Play 소개[NUGU Dev Days Beginner] NUGU developers 및 Play 소개
[NUGU Dev Days Beginner] NUGU developers 및 Play 소개
 
[NUGU Conference 2018] 세션 A-2 : NUGU Voice UX
[NUGU Conference 2018] 세션 A-2 : NUGU Voice UX[NUGU Conference 2018] 세션 A-2 : NUGU Voice UX
[NUGU Conference 2018] 세션 A-2 : NUGU Voice UX
 
[NUGU Conference 2018] 세션 : NUGU 사업 소개
[NUGU Conference 2018] 세션 : NUGU 사업 소개[NUGU Conference 2018] 세션 : NUGU 사업 소개
[NUGU Conference 2018] 세션 : NUGU 사업 소개
 
[NUGU Conference 2018] 세션 B-5 : TTS & SKML 소개
[NUGU Conference 2018] 세션 B-5 : TTS & SKML 소개[NUGU Conference 2018] 세션 B-5 : TTS & SKML 소개
[NUGU Conference 2018] 세션 B-5 : TTS & SKML 소개
 
[NUGU Conference 2018] 세션 B-4 : 자연어 이해 기술 소개
[NUGU Conference 2018] 세션 B-4 : 자연어 이해 기술 소개[NUGU Conference 2018] 세션 B-4 : 자연어 이해 기술 소개
[NUGU Conference 2018] 세션 B-4 : 자연어 이해 기술 소개
 

[NUGU Conference 2018] 세션 B-6 : 영상인식 기술 소개