Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

503 views

Published on

음성기반 A.I. 서비스 NUGU의 영상인식 기술을 소개합니다.

Published in: Software
  • Login to see the comments

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

  1. 1. 영상인식기술소개 영상인식기술 Cell 박병관 리더
  2. 2. 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촉매제
  3. 3. 현재NUGU는음성인식기반AI 오감정보중시각정보를활용한서비스(얼굴검출/인식,Posture인식등) NUGU영상인식 JIBO AmazonEchoShow
  4. 4. 기타영상인식적용분야 VoD내등장인물인식 #김윤석 Clip내객체/장소/이벤트인식 #식사 #자장면 도로표지판인식 얼굴Clustering 기타서비스@SKT
  5. 5. 3.Distillation 1.CustomNetworkDesign 2.ArmComputingLibrary LightDeepLearningNetwork구현 모든Frame에서얼굴Detection Device내DeepLearning기반 Detection필요 얼굴검출
  6. 6. TinyYOLOV2기반네트워크경량화 -성능은유지하면서파라미터줄이기 Channeldepth를줄여서파라미터수감소 -Layerdepth를줄이는것보다성능보존에유리 고정된카메라입력과동일한비율의320x240입력 -정사각형입력대비연산량추가감소 -단순downsample연산으로네트워크입력인가 3x3x16 3x3x32 3x3x64 3x3x128 3x3x256 3x3x512 3x3x1024 3x3x512 3x3x8 3x3x16 3x3x32 3x3x64 3x3x128 3x3x259 3x3x512 11M 1.5M 얼굴검출:CustomNetworkDesign
  7. 7. ) 파라미터는줄었지만성능은보존 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
  8. 8. 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
  9. 9. 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
  10. 10. 결과
  11. 11. 서비스대상을고려한최적의얼굴인식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
  12. 12. 서비스대상을고려한최적의얼굴인식DB설계및확보 -Public얼굴인식DB는주로서구권유명인위주로구성되어20~40대백인남성의분포가두드러짐 -서비스대상(아시아인,성별무관,전연령)기준으로balance를유지할수있도록설계 -한국인,동아시아인위주700만장이상의DB확보(SKT-7mDB) 얼굴속성을이용한TestDB자동생성 -얼굴속성분류를통한Testcase자동생성(조명변화,Pose변화,표정변화,액세서리유무등) -세분화된얼굴인식엔진성능분석으로취약성능을target으로한얼굴인식기술고도화 CasiaWebFaceDB의연령분포 TestDB자동생성 얼굴인식:7MFaceRecognitionDB
  13. 13. 사용자에게제공하기에부적합한얼굴을제거하는기술 -부적합한얼굴의예:흐릿한얼굴,작은얼굴,과한포즈의얼굴,오검출결과 -정상적인얼굴은Positive,부적합한얼굴은Negative로하여DeepLearning적용 -효율적인계산및성능확보를위해얼굴인식Feature를사용 HumanFace (blur.Ir) HumanFace (part.pose) Non-Face CartoonyFace 부적합한얼굴의예 얼굴인식:FaceScore
  14. 14. 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
  15. 15. 얼굴인식기반의얼굴속성인식엔진개발 -양질의많은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
  16. 16. 여러사진속에서검출된여러명의얼굴중유사한얼굴의Grouping이목적 -얼굴검출→얼굴인식(Feature추출)→FaceScore(얼굴선택)→FaceClustering Challenge -다수의얼굴이지속입력시증가가능한Clustering을하는것 Approach 항상성 유지: 형성된 Cluster의 ID가 유지되어야 함 성능 유지: 전체 얼굴에 대한 Clustering(Batch Clustering)과 대등한 성능 -소량의BatchClustering기반IncrementalClustering 얼굴인식:FaceClustering
  17. 17. 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
  18. 18. Price(RGBCameravsDepthCamera) 2D,3DKeypoint 알고리즘성능및속도 다양한환경(조명,pose)에서의handDB부족 객체인식:HandPosture인식
  19. 19. HandPosture:학습DB
  20. 20. HandPosture:SKTWIDERHandDB TotalImages:126,286images (Crawl:29,247+촬영 97,039) Classes:8classes+1negative
  21. 21. OneStage:Yolo,SSD,RetinaNet,… Two Stage:FasterR-CNN,… Back-bone:MobileNet-V2vsNasNet HyperParameter:InputResolution, ChannelDepth,LR,… HandPosture:WaytoCommercializtion
  22. 22. 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
  23. 23. 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)
  24. 24. 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
  25. 25. 장면인식(ImageClassification) -영화,드라마등다양한Media에서키워드추출 -영상장면기반키워드자동추출기술개발 #와인잔 #식사중 #식당 #짜장면
  26. 26. 개발vs.서비스 -개발 :KnownClass기반 ClosedSetClassification -서비스 :UnknownClass를포함한 OpenSetClassification 장면인식:OpenSetProblem 객체,장소, 이벤트등수백여 개클래스인식 Open set
  27. 27. 지나치게다양한환경의학습DB구성이 오히려FalsePositive증가시킴 클래스내명확한의미위주의학습DB로 정제하여개선(Precision3~5%) vs 장면인식:FalsePositive저감
  28. 28. PositiveClass수가증가하면FalsePositive도증가 -FalsePositive를줄이기위해NegativeClass영상추가/학습 -NegativeClassDB증가는ClassImbalance발생!!! -ClassImbalance를대응하기위해FocalLoss적용 장면인식:상용서비스를위한Class확장
  29. 29. 상용서비스클래스209종 클래스 Event 식사,생일파티,키스,허그,번지점프등 66종 Object 하마,고슴도치,짜장면,김밥,자전거등73종 Place 워터파크,키즈카페,야구장등 장소55종 광화문,에펠탑등 랜드마크15종 장면인식:상용서비스Class&Platform
  30. 30. 영상인식 기술 소개

×