KR20200010993A - 보완된 cnn을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치. - Google Patents

보완된 cnn을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치. Download PDF

Info

Publication number
KR20200010993A
KR20200010993A KR1020190043216A KR20190043216A KR20200010993A KR 20200010993 A KR20200010993 A KR 20200010993A KR 1020190043216 A KR1020190043216 A KR 1020190043216A KR 20190043216 A KR20190043216 A KR 20190043216A KR 20200010993 A KR20200010993 A KR 20200010993A
Authority
KR
South Korea
Prior art keywords
face
attributes
identity
cnn
clustering
Prior art date
Application number
KR1020190043216A
Other languages
English (en)
Inventor
안드레이 블라디미로비치 사브첸코
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU2018143163A external-priority patent/RU2710942C1/ru
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US16/504,802 priority Critical patent/US11222196B2/en
Publication of KR20200010993A publication Critical patent/KR20200010993A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06K9/00228
    • G06K9/00281
    • G06K9/00288
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치의 제어(구축) 방법이 개시된다. 본 제어 방법은, 사진 및 비디오를 포함하는 앨범으로부터 사람들 및 그들의 특성(성별, 나이 등)을 자동 추출하는 것이다. 두 가지 접근이 제안된다.
첫 번째는, CNN이 모든 사진으로부터 동시에 나이/성별을 예측하고, 얼굴 식별에 적합한 얼굴 표현을 부가적으로 추출한다. 이때, Mobilenet은 나이 및 성별을 인식하는 데에 도움이 되도록 얼굴 인식을 수행하게끔 수정 및 사전 학습된다.
두 번째로, 추출된 얼굴들은 Hierarchical Agglomerative Clustering (HAS) 기술을 이용하여 그루핑된다. 각 클러스터에 포함된 사람의 나이 및 성별은 개별 사진에 대한 예측 집계를 이용하여 측정된다. 본 얼굴 클러스터링 품질은, 비록 매우 저렴하지만, 최첨단 뉴럴 네트워크의 그것과 비교될 만하다. 게다가, 이러한 접근은, 공공에 이미 개시된 모델들과 비교했을 때 더욱 정확한 영상 기초 나이/성별 인식을 수행함에 특징이 있다.

Description

보완된 CNN을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치. { ELECTRONIC APPARATUS FOR RECOGNIZING FACIAL IDENTITY AND FACIAL ATTRIBUTES IN IMAGE THROUGH COMPLEMENTED CONVOLUTIONAL NEURAL NETWORK }
본 개시는 이미지에 포함된 얼굴의 신원 및 속성을 인식하는 전자 장치에 관한 것이다. 보다 상세하게는, 단일한 하나의 CNN(Convolutional Neural Network)만을 이용하여 얼굴의 신원 및 속성을 모두 인식할 수 있는 전자 장치에 관한 것이다.
최근, 멀티미디어 리소스의 급격한 증가로 인해 이들을 처리/조직하기 위한 고도의 방법을 발전시킬 필요가 있다. 예로, 자동적으로 사진/비디오 앨범을 구축하는 기술이 이목을 끌고 있다.
다양한 Photo Organizing System은 사용자들이 사진들 및 영상들을 그루핑(Grouping)하고 태깅(Tagging)하여 미디어 라이브러리의 수많은 이미지들을 서로 관련시킬 수 있도록 한다. 가장 전형적인 기술로, 얼굴 그루핑(얼굴의 특성에 따라 각 그룹이 태그됨)이 있으며, 나이 및 성별도 가능하다. 이러한 기술의 과제는, 많은 수의 미상의 얼굴 이미지들을 각 개인별로 클러스터링(Clustering)하고, 각 개인별로 나이 및 성별을 예측하는 것이다.
이러한 과제는 일반적으로 딥 러닝(Deep Learning) 기계 학습 중에서도 이미지 처리에 주로 사용되는 CNN(Convolutional Neural Network)을 통해 해결된다. 먼저, 같은 사람을 포함하는 사진 및 영상을 클러스터링하는 것은 종래의 face 검증/인증 방식을 이용하여 수행될 수 있다. 추출된 얼굴의 나이 및 성별은 다른 CNN들을 통해 인식될 수 있다.
다만, 이 경우 적어도 세 개의 다른 CNN들이 필요하고, 처리 시간이 많이 필요하게 된다. 특히, 외부 서버와 통신을 수행하지 않는 오프라인 모드에서 모바일 플랫폼상에만 갤러리가 구축되는 경우라면 더더욱 그러하다. 게다가, 각 CNN은 고유한 얼굴 representation에 대해 학습하므로, 인식의 품질은 학습 데이터의 노이즈 또는 학습 대상의 작은 사이즈에 의해 제한될 수밖에 없다. 이러한 문제는 잘못된 그라운드 (truth) 값을 포함하는 나이 예측에 더욱 치명적이다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식 및 판단의 정확성이 향상되는 시스템이다.
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성될 수 있다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 등 여러 가지를 포함한다.
특히, 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다.
Manju, A., Valarmathie, P.: Organizing multimedia big data using semantic based video content extraction technique. In: Soft-Computing and Networks Security (ICSNS), 2015 International Conference on, IEEE (2015) 1-4 Sokolova, A.D., Kharchevnikova, A.S., Savchenko, A.V.: Organizing multimedia data in video surveillance systems based on face verification with convolutional neural networks. In: International Conference on Analysis of Images, Social Networks and Texts, Springer (2017) 223-230 Zhang, Y.J., Lu, H.: A hierarchical organization scheme for video data. Pattern Recognition 35(11) (2002) 2381-2387 He, Y., Cao, K., Li, C., Loy, C.C.: Merge or not? Learning to group faces via imitation learning. arXiv preprint arXiv:1707.03986 (2017) Eidinger, E., Enbar, R., Hassner, T.: Age and gender estimation of unfiltered faces. IEEE Transactions on Information Forensics and Security 9(12) (2014) 2170-2179 Rothe, R., Timofte, R., Van Gool, L.: DEX: Deep expectation of apparent age from a single image. In: Proceedings of the IEEE International Conference on Computer Vision Workshops. (2015) 10-15 Goodfellow, I., Bengio, Y., Courville, A.: Deep learning. MIT press (2016) Crosswhite, N., Byrne, J., Stauffer, C., Parkhi, O., Cao, Q., Zisserman, A.: Template adaptation for face verification and identification. In: Automatic Face & Gesture Recognition (FG 2017), 2017 12th IEEE International Conference on, IEEE (2017) 1-8 Wang, F., Cheng, J., Liu, W., Liu, H.: Additive margin softmax for face verification. IEEE Signal Processing Letters 25(7) (2018) 926-930 Savchenko, A.V., Belova, N.S.: Unconstrained face identification using maximum likelihood of distances between deep off-the-shelf features. Expert Systems with Applications 108 (2018) 170-182 Ranjan, R., Patel, V.M., Chellappa, R.: Hyperface: A deep multi-task learning framework for face detection, landmark localization, pose estimation, and gender recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence (2017) Howard, A.G., Zhu, M., Chen, B., Kalenichenko, D., Wang, W., Weyand, T., An- dreetto, M., Adam, H.: MobileNets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861 (2017) Cao, Q., Shen, L., Xie, W., Parkhi, O.M., Zisserman, A.: VGGFace2: A dataset for recognising faces across pose and age. In: Automatic Face & Gesture Recognition (FG 2018), 2018 13th IEEE International Conference on, IEEE (2018) 67-74 Zhang, K., Zhang, Z., Li, Z., Qiao, Y.: Joint face detection and alignment using multitask cascaded convolutional networks. IEEE Signal Processing Letters 23(10) (2016) 1499-1503 Aggarwal, C.C., Reddy, C.K.: Data clustering: algorithms and applications. CRC press (2013) Parkhi, O.M., Vedaldi, A., Zisserman, A., et al.: Deep face recognition. In: BMVC. Volume 1. (2015) 6 Kaya, H., Gurpinar, F., Salah, A.A.: Video-based emotion recognition in the wild using deep transfer learning and score fusion. Image and Vision Computing 65 (2017) 66-75 Rassadin, A., Gruzdev, A., Savchenko, A.: Group-level emotion recognition using transfer learning from face identification. In: Proceedings of the 19th ACM International Conference on Multimodal Interaction, ACM (2017) 544-548 Kittler, J., Hatef, M., Duin, R.P., Matas, J.: On combining classifiers. IEEE Transactions on Pattern Analysis and Machine Intelligence 20(3) (1998) 226-239 Zhu, C., Wen, F., Sun, J.: A rank-order distance based clustering algorithm for face tagging. In: Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, IEEE (2011) 481-488 Zhang, Z., Luo, P., Loy, C.C., Tang, X.: Joint face representation adaptation and clustering in videos. In: European conference on computer vision, Springer (2016) 236-251 Learned-Miller, E., Huang, G.B., RoyChowdhury, A., Li, H., Hua, G.: Labeled faces in the wild: A survey. In: Advances in face detection and facial image analysis. Springer (2016) 189-248 Best-Rowden, L., Han, H., Otto, C., Klare, B.F., Jain, A.K.: Unconstrained face recognition: identitying a person of interest from a media collection. IEEE. Transactions on Information Forensics and Security 9(12) (2014) 2144-2157 Gallagher, A.C., Chen, T.: Clothing cosegmentation for recognizing people. In: Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, IEEE (2008) 1-8 Levi, G., Hassner, T.: Age and gender classification using convolutional neural networks. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. (2015) 34-42 Min, R., Kose, N., Dugelay, J.L.: Kinectfacedb: A Kinect database for face recognition. IEEE Transactions on Systems, Man, and Cybernetics: Systems 44(11) (2014) 1534-1548 Setty, S., Husain, M., Beham, P., Gudavalli, J., Kandasamy, M., Vaddi, R., Hemadri, V., Karure, J., Raju, R., Rajan, B., et al.: Indian movie face database: a benchmark for face recognition under wide variations. In: Fourth National Con-ference on Computer Vision, Pattern Recognition, Image Processing and Graphics (NCVPRIPG), IEEE (2013) 1-5 Klare, B.F., Klein, B., Taborsky, E., Blanton, A., Cheney, J., Allen, K., Grother, P., Mah, A., Jain, A.K.: Pushing the frontiers of unconstrained face detection and recognition: Iarpa janus benchmark a. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. (2015) 1931-1939 Dhall, A., et al.: Collecting large, richly annotated facial-expression databases from movies. IEEE Multimedia (2012) Zhu, P., Zhang, L., Zuo, W., Zhang, D.: From point to set: Extend the learning of distance metrics. In: Proceedings of the International Conference on Computer Vision (ICCV), IEEE (2013) 2664-2671 Miech, A., Laptev, I., Sivic, J.: Learnable pooling with context gating for video classification. arXiv preprint arXiv:1706.06905 (2017) Yang, J., Ren, P., Chen, D., Wen, F., Li, H., Hua, G.: Neural aggregation network for video face recognition. In: Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), IEEE (2017) 4362-4371
상술한 얼굴 처리 작업들(신원 식별, 나이 인식, 성별 인식 등등) 간의 친밀감(closeness)은 각 작업의 퍼포먼스를 향상시키는 효과적인 얼굴 표현을 통해 개척될 수 있다. 예를 들어, 얼굴 감지, 랜드마크 현지화(Landma가 Localization), 포즈 추정(Pose Estimation), 성별 인식 등을 동시에 수행하는 내용이 단지 하나의 CNN을 통해 본 개시에 도입되었다.
그러므로, 본 개시의 목적은, 매우 큰 데이터베이스에서 무제한 얼굴 인식의 도메인에 대한 사전 훈련을 이용하여 얼굴 표현을 학습함으로써, 얼굴 클러스터링, 나이 및 성별 예측을 향상시키는 것이다. 제공되는 MobileNet[12]의 다중 출력 확장은 VGGFace2 dataset[13]를 사용하여 얼굴 인식을 수행하기 위해 사전에 훈련된 것이다. 네트워크의 추가 레이어들은 audience[5] 및 IMDB-wiki[6] dataset들에서 나이 및 성별 인식에 적합하도록 조정된다. 끝으로, 실제 사진 및 비디오 앨범을 처리하기 위한 몇 가지 도전을 다루는, 페이스 그루핑에 대한 새로운 접근이 제안된다.
본 개시의 목적은, 매우 큰 데이터베이스로부터 비제한적 얼굴 인식의 영역(도메인)에 대하여 미리 학습함과 함께 얼굴 식별에 적합한 얼굴 표현들을 CNN에 학습시켜, 얼굴 클러스터링 및 얼굴 속성 인식의 효율성을 향상시키기 위한 것이다. 본 발명은, VGGFace2 데이터셋을 이용하여 얼굴 인식을 수행하도록 기학습된 MobilNet[12]과 같이 낮은 추론 능력 및 메모리 복잡도를 가진 CNN의 다중 출력으로의 확장을 제공한다. 네트워크의 추가 레이어들은 Adience[5] 및 IMDB-Wiki[6] 데이터셋 등을 이용하는 얼굴 속성 인식에 적합하게 조정된다(Fine-tuned). 결론적으로, 얼굴들을 그루핑하기 위한 새로운 접근이 제공된다. 본 접근은 실제 사진 및 비디오 앨범들을 처리하기 위한 몇몇 도전을 겪는다.
본 개시는 사람들 및 그들의 속성들(성별, 나이, 인종, 민족, 감정 등)을 사진 및 비디오 앨범으로부터 자동으로 추출한다. 본 발명은 2단계의 접근을 제공한다. 첫째로, 하나의 CNN이 모든 사진들로부터 얼굴 식별에 적합한 얼굴 표현들을 추출할 뿐만 아니라 동시에 얼굴 속성들을 예측한다. 효율적인 CNN은 나이 및 성별을 추가적으로 인식하기 위해, 얼굴 인식을 수행하도록 미리 학습된다. 2단계에서, 추출된 얼굴들은 Hierarchical Agglomerative Clustering (HAS)과 같은 기술을 이용하여 그루핑된다. 각 클러스터 내 사람의 나이 및 성별은 개별적인 사진들에 대한 예측의 집합을 이용하여 측정된다.
본 개시의 일 실시 예에 따르면, 디지털 이미지들로부터 얼굴 속성들(나이, 성별, 인종 또는 민족, 감정 중 하나 이상) 및 신원을 동시에 제공하는 컴퓨터 내지는 전자 장치의 도입(제어) 방법이 제공된다. 본 방법은: 기 존재하는 셋의 복수의 이미지에 대하여 basic CNN을 학습시키는 단계, 드롭아웃 정규화가 적용된 적어도 하나의 Hidden Layer를 제공함으로써 CNN을 수정하는 단계, 적어도 하나의 Hidden Layer 다음으로 얼굴 속성들을 인식하기 위한 독립된 Fully-connected Layer들을 제공하는 단계, 상기 독립된 Fully-connected Layer들을 학습시키는 단계, 하나 이상의 입력 이미지들에 대한 적어도 일부분들로부터, basic CNN을 레이어들을 통해, 얼굴 식별에 적합한 얼굴의 Identity Feature들을 추출하는 단계, 추출된 Identity Feature들을 이용하는 적어도 하나의 Hidden Layer를 통해, 상기 독립된 Fully-connected 레이어들에 대한 입력을 제공하는 단계, 적어도 하나의 히든 레이어로부터의 입력에 기초하여, 상기 독립된 Fully-connected Layer들을 통해, 얼굴 속성들을 각각 인식하는 단계를 포함한다.
이때, 상기 독립된 Fully-connected Layer 각각은 얼굴의 속성들 각각과 대응되며, 각각 비선형성을 가질 수 있다.
그리고, 상기 독립된 Fully-connected Layer들을 학습시키는 단계는, 상기 학습되는 상기 독립된 Layer들 각각에 대해서 특정된, 학습 데이터의 각각의 군(batch)을 교대로 이용할 수 있다.
상기 basic CNN은 바람직하게는 낮은 추론 능력과 낮은 메모리 복잡도를 가진 하나의 CNN일 수 있다. (예: MobilNet v1/v2)
학습 데이터의 각각의 군은, 각각의 군이 특정된 특정한 얼굴 속성을 가리키는 각각의 라벨을 가질 수 있다.
상기 도입(제어) 방법은, 하나 이상의 입력 이미지들에서 얼굴들에 관련된 영역들을 검출하는 단계를 더 포함할 수 있으며, 이때, 상기 얼굴 식별에 적합한 Identity Feature들을 추출하는 단계는, 상기 검출된 영역으로부터 상기 Identity Feature를 추출할 수 있다.
이 경우, 상기 검출하는 단계는, 바람직하게는, multi view cascade classifier 또는 MTCNN(multi-task cascaded convolutional neural network) 검출기에 의해 수행될 수 있다.
본 개시의 다른(두 번째) 실시 예에 따르면, 디지털 포토 앨범 및/또는 디지털 비디오 앨범을 구축하기 위한 컴퓨터 내지는 전자 장치의 도입(제업) 방법이 제공된다. 상기 포토 앨범은 복수의 사진들을 포함하고, 상기 비디오 앨범은 복수의 비디오 클립들을 포함한다.
상기 방법은 복수의 비디오 클립들에서 각각의 비디오 클립들의 (multi) 프레임들을 선택하는 단계, 각각의 선택된 프레임들 및/또는 상기 복수의 이미지들 중 각각에서, 얼굴들에 관련된 영역들을 검출하는 단계, 본 개시의 전술한 실시 예에 따른 방법을 이용하여, 검출된 영역들로부터 모든 얼굴들의 Identity Feature들 및 얼굴 속성들을 추출하는 단계, 상기 복수의 비디오 클립들 각각에 대하여, 상기 비디오 클립에서 감지된 얼굴들 중 각각의 개인과 연관되어 추출된 Identity Feature들 및 얼굴 속성들을 하나의(single) 클러스터로 클러스터링하고, 상기 비디오 클립의 각 클러스터에 대하여 mean(평균) Identity Feature들 및 mean(평균) 얼굴 속성들을 계산하는 단계, 상기 사진들로부터 추출된 상기 Identity Feature들 및 상기 비디오 클립들에 대해 계산된 평균 Identity Feature들을 함께(jointly) 클러스터링함으로써 상기 사진들 및/또는 비디오 클립들을 그루핑하는 단계를 포함한다.
상기 검출하는 단계는, 바람직하게는, multi-view cascade classifier 또는 MTCNN 검출기를 통해 수행된다. 상기 선택하는 단계는, 바람직하게는, 고정된 프레임 레이트의 상기 비디오 클립에서 서로 차별되는 프레임들을 선택할 수 있다. 상기 적어도 하나의 평균 얼굴 속성은, 바람직하게는, Simple Voting 또는 상기 CNN의 출력들에서의 Average Posterior Probabilities의 최대화 등 적절한 융합 기술을 이용하여 계산된다. 상기 평균 Identity Feature들을 계산하는 단계는, 바람직하게는 상기 추출된 Identity Feature들의 정규화된 평균을 계산한다.
상기 함께(jointly) 클러스터링하는 단계는, 바람직하게는, 하나 이상의 얼굴들의 Identity Feature들을 각각 포함하는 클러스터들을 획득하기 위한 Hierarchical Agglomerative Clustering(HAS)을 이용하여 수행된다. 상기 함께(jointly) 클러스터링하는 단계는, 바람직하게는, 부적절한 클러스터들이 필터링 (아웃) 되는 방식으로 클러스터들을 정제한다(refine). 상기 부적절한 클러스터들은 제1 기설정된 임계 값보다 작은 요소들을 다수 포함하는 클러스터들이거나 또는 제2 기설정된 임계 값보다 작은 날짜 수만큼 캡쳐링 날짜들이 분포된 포토들/비디오 클립들과만 연관된 클러스터들일 수 있다.
상기 방법은, 상기 jointly 클러스터링 단계 이전에, 각각의 얼굴이 검출된 포토 또는 비디오 클립을 포함하는 파일의 생성 날짜로부터 상기 얼굴과 관련하여 인식된 나이를 차감함으로써 상기 각각의 얼굴들과 관련된 (각 개인의) 태어난 연도를 추정할 수 있다. 이때, 상기 jointly 클러스터링하는 단계는 바람직하게는, 태어난 연도가 기정의된 임계 값보다 더 넓게 분포된 개개인들의 Identity Feature들이 동일한 클러스터에 포함되지 않도록 할 수 있다.
상기 방법은 상기 그루핑된 사진들 및/또는 비디오 클립들을 각각의 평균 얼굴 속성들과 함께 디스플레이할 수도 있다.
본 개시의 또 다른(세 번째) 실시 예에 따르면, 컴퓨팅 장치가 제공된다. 상기 컴퓨팅 장치는, 적어도 하나의 프로세서, 컴퓨팅 장치에 저장되어 실행 가능한 명령어로서, 상기 적어도 하나의 프로세서에 의해 실행됨으로써 상기 컴퓨팅 장치가 상기 두 번째 실시 예에 따른 방법을 수행하도록 하는 명령어를 저장할 수 있는 메모리를 포함한다.
본 개시의 추가적인(네 번째) 실시 예에 따르면, 컴퓨터에 저장되어 실행가능한 명령어들을 포함하는 컴퓨터 판독 가능 저장 매체가 제공된다. 상기 실행 가능한 명령어들은, 컴퓨팅 장치에 의해 실행되면, 상기 컴퓨팅 장치가 상기 두 번째 실시 예에 따른 방법을 수행하도록 한다.
한편, 상술한 첫 번째 실시 예 및 두 번째 실시 예 중 적어도 일부를 포함하는 것으로, 이하 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법(다섯 번째 실시 예)이 추가로 도출될 수 있다. 또한, 이하 제어 방법 중 적어도 일부가 적용된 전자 장치에 대한 실시 예 역시 후술한다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 복수의 이미지를 포함하는 학습 데이터를 기초로 적어도 하나의 이미지에 포함된 얼굴을 식별하기 위한 Identity Feature를 추출하도록 학습된 CNN(Convolutional Neural Network)에 이미지를 입력하여, 상기 입력된 이미지에 대한 적어도 하나의 Identity Feature를 획득하는 단계, 드롭 아웃 정규화(Dropout Regularization)가 적용된 적어도 하나의 Hidden Layer에, 상기 획득된 Identity Feature를 입력하는 단계, 상기 Identify Feature의 입력에 따른 상기 Hidden Layer의 출력에 기초하여, 하나 이상의 독립된 Fully-connected Layer를 통해 상기 입력된 이미지에 포함되는 얼굴의 속성(Facial Attribute)을 인식하는 단계를 포함한다.
이 경우, 상기 속성은, 나이, 성별, 인종, 민족 및 감정 중 적어도 하나일 수 있다.
또한, 본 제어 방법은, 상기 하나 이상의 독립된 Fully-connected Layer 각각을, 서로 다른 학습 데이터에 기초하여 학습시키는 단계를 더 포함하고, 상기 하나 이상의 독립된 Fully-connected Layer 각각은 서로 다른 속성에 각각 대응될 수 있다.
그리고, 본 제어 방법은, 하나 이상의 입력 이미지로부터 얼굴과 관련된 영역을 검출하는 단계, 상기 검출된 영역에서, 상기 학습된 CNN을 통해, 상기 Identity Feature를 추출하는 단계를 더 포함할 수 있다.
이때, 상기 검출하는 단계는, Multi-view cascade 분류기 또는 MTCNN(Multi-task cascaded Convolutional Neural Network) 검출기를 통해 수행될 수 있다.
그리고, 본 제어 방법은, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하는 단계, 상기 검출된 영역들로부터 복수의 Identity Feature를 추출하는 단계, 상기 복수의 Identity Feature를 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하는 단계, 상기 획득된 클러스터 각각에 대응되는 사람의 얼굴의 속성을 인식하는 단계를 더 포함할 수 있다.
이때, 상기 클러스터를 획득하는 단계는, Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득할 수 있다.
또한, 본 제어 방법은, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하는 단계, 상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하는 단계, 상기 복수의 Identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하는 단계, 상기 획득된 클러스터 각각에 대해 상기 얼굴의 속성들 각각의 평균값을 계산하는 단계를 더 포함할 수도 있다.
이때, 상기 클러스터를 획득하는 단계는, Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득할 수 있다.
또한, 상기 얼굴의 속성들 각각의 평균값을 계산하는 단계는, Simple Voting을 통해 수행되거나 또는 상기 CNN의 출력들에 있어 Average Posterior Probabilities를 최대화(Maximizing)함으로써 수행될 수 있다.
그리고, 본 제어 방법은, 복수의 비디오 클립 각각에서 복수의 프레임을 선택하는 단계, 상기 선택된 복수의 프레임들로부터 얼굴과 관련된 영역들을 검출하는 단계, 상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하는 단계, 상기 복수의 identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 제1 클러스터(Cluster)를 획득하는 단계, 상기 제1 클러스터 각각에 대해 복수의 identity Feature 각각의 평균값 및 얼굴의 속성들 각각의 평균값을 계산하는 단계, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하는 단계, 상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하는 단계, 상기 계산된 복수의 Identity Feature 각각의 평균값 및 상기 복수의 이미지들로부터 추출된 복수의 Identity Feature를 jointly 클러스터링하여 각각의 사람에 대응되는 제2 클러스터를 획득하는 단계, 상기 제2 클러스터 각각에 대해 얼굴의 속성들 각각의 평균값을 계산하는 단계를 포함할 수 있다.
이 경우, 상기 선택하는 단계는, 고정된 frame rate의 비디오 클립의 서로 다른 프레임들을 선택할 수 있다.
그리고, 본 제어 방법 중 적어도 일부가 적용된 전자 장치는, 본 개시의 일실시 예에 따르면, 복수의 이미지를 포함하는 학습 데이터를 기초로 적어도 하나의 이미지에 포함된 얼굴을 식별하기 위한 Identity Feature를 추출하도록 학습된 CNN(Convolutional Neural Network)이 저장된 메모리, 상기 CNN에 이미지를 입력하여, 상기 입력된 이미지에 대한 적어도 하나의 Identity Feature를 획득하고, 드롭 아웃 정규화(Dropout Regularization)가 적용된 적어도 하나의 Hidden Layer에 상기 획득된 Identity Feature를 입력하며, 상기 Identify Feature의 입력에 따른 상기 Hidden Layer의 출력에 기초하여, 하나 이상의 독립된 Fully-connected Layer를 통해 상기 입력된 이미지에 포함된 얼굴의 속성을 인식하는 프로세서를 포함한다.
이때, 상기 하나 이상의 독립된 Fully-connected Layer 각각은, 서로 다른 속성에 각각 대응되는 서로 다른 학습 데이터에 기초하여 학습된 것일 수 있다.
또한, 상기 프로세서는, 하나 이상의 입력 이미지로부터 얼굴과 관련된 영역을 검출하고, 상기 검출된 영역에서, 상기 학습된 CNN을 통해, 상기 Identity Feature를 추출할 수 있다.
이때, 상기 프로세서는, Multi-view cascade 분류기 또는 MTCNN(Multi-task cascaded Convolutional Neural Network) 검출기를 통해 상기 영역을 검출할 수도 있다.
그리고, 상기 프로세서는, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하고, 상기 검출된 영역들로부터 복수의 Identity Feature를 추출하며, 상기 복수의 Identity Feature를 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하고, 상기 획득된 클러스터 각각에 대응되는 사람의 얼굴의 속성을 인식할 수 있다.
이때, 상기 프로세서는, Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득할 수 있다.
또한, 상기 프로세서는, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하고, 상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하며, 상기 복수의 Identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하고, 상기 획득된 클러스터 각각에 대해 상기 얼굴의 속성들 각각의 평균값을 계산할 수 있다.
이때, 상기 프로세서는, Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득할 수 있다.
그리고, 상기 프로세서는, Simple Voting을 이용하거나 또는 상기 CNN의 출력들에 있어 Average Posterior Probabilities를 최대화(Maximizing)함으로써 상기 얼굴의 속성들 각각의 평균값을 계산할 수도 있다.
한편, 상기 프로세서는, 복수의 비디오 클립 각각에서 복수의 프레임을 선택하고, 상기 선택된 복수의 프레임들로부터 얼굴과 관련된 영역들을 검출하며, 상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하고, 상기 복수의 identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 제1 클러스터(Cluster)를 획득하며, 상기 제1 클러스터 각각에 대해 복수의 identity Feature 각각의 평균값 및 얼굴의 속성들 각각의 평균값을 계산하고, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하며, 상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하고, 상기 계산된 복수의 Identity Feature 각각의 평균값 및 상기 복수의 이미지들로부터 추출된 복수의 Identity Feature를 jointly 클러스터링하여 각각의 사람에 대응되는 제2 클러스터를 획득하며, 상기 제2 클러스터 각각에 대해 얼굴의 속성들 각각의 평균값을 계산할 수도 있다.
본 개시에 따른 전자 장치는, 서로 다른 각각의 Neural Network상에서 각각의 작업들(신원 식별, 나이 인식, 성별 인식, 감정 인식 등)을 별도로 수행할 필요 없이, 해당 작업들을 모두 함께 해결하면서도 MobileNet 등 모바일 장치 내에서도 사용될 수 있는 비교적 간단한 CNN 하나만으로 구현할 수 있다는 장점이 있다.
또한, 본 전자 장치의 CNN은, 매우 큰 데이터셋을 통해 얼굴(신원)을 식별하기 위해 매우 적합한 표현을 학습하고, 이렇게 학습된 CNN을 통해 추출된 Identity Feature를 다양한 속성(나이, 성별, 인종, 감정 등)을 인식하기 위한 각각의 작업과 연관시킴(이를 위해, 드롭아웃 정규화가 적용된 Hidden Layer을 이용하여 CNN을 변형시킴)으로써, 각 속성의 인식의 정확도까지 향상된다는 장점이 있다.
본 개시에 의해 제공되는 얼굴 클러스터링의 품질은 기존에 존재하는 뉴럴 네트워크들과 경쟁할 만함에도, 그 도입에 필요한 비용은 훨씬 더 저렴하다. 게다가, 종래의 이용가능한 모델들과 비교했을 때, 더욱 정확한 비디오 기반 얼굴 속성 인식을 제공함에 특징이 있다.
도 1은 본 개시의 일 실시 예에 따라 얼굴 속성 및 Identity Feature를 동시에 인식하기 위한 다중-출력 CNN을 설명하기 위한 도면,
도 2 내지 도 4는 본 개시의 다양한 실시 예에 따라 디지털 이미지들에서 얼굴 속성들 및 각 얼굴의 Identity를 동시에 인식하기 위한 CNN을 구축하거나 및/또는 구축된 CNN을 이용하는 동작을 설명하기 위한 순서도들,
도 5는 본 개시의 일 실시 예에 따라 입력 이미지로부터 얼굴과 관련된 영역을 검출하고, 해당 영역에서 추출된 Identity Feature에 기초한 클러스터링을 수행하는 동작을 설명하기 위한 순서도,
도 6은 본 개시의 일 실시 예에 따라 사진들 및/또는 비디오들을 포함하는 앨범들을 구축하기 위하여 CNN을 동작시키는 전체 데이터 흐름을 묘사하기 위한 블록도,
도 7은, 본 개시의 일 실시 예에 따라 디지털 포토 앨범 및/또는 디지털 비디오 앨범을 구축하는 동작을 설명하기 위한 순서도,
도 8a 내지 도 8c는 모바일 애플리케이션에서 본 개시에 따른 기술을 부분적으로 도입한 예를 설명하기 위한 도면들,
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 소프트웨어 구조를 설명하기 위한 블록도, 그리고
도 11은 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성을 설명하기 위한 블록도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 첨부된 도면을 이용하여 본 개시에 대해 구체적으로 설명한다.
- 얼굴을 통해 하나 이상의 속성 및 신원(Identity)에 대한 인식을 동시에 수행하기 위한 다중 출력 CNN
본 개시는 서로 다른 얼굴 분석 작업들을 해결하기 위해 제공된다. 얼굴 영역들은 각각의 디지털 이미지상에서 어떠한 적절한 얼굴 검출기(예로, conventional multi-view cascade Viola-Jones 분류기(classifier) 또는 더 정확한 CNN-based 방법들[14])를 사용하여 획득될 수 있다.
그리고, 본 개시에 따른 다중 출력 CNN은 이미지에 포함된 얼굴들에 대응되는 사람들을 각각 식별할 뿐만 아니라 나이, 성별, 인종, 민족, 감정 등 얼굴의 다양한 속성을 인식할 수 있다.
얼굴의 성별을 인식하는 작업은 얼굴 이미지가 두 가지 클래스들(남성 및 여성) 중 어느 하나로 정의되는 이진 분류의 문제이다.
얼굴의 감정을 인식하는 작업은 세 가지 클래스들(긍정적인, 부정적인, 중립적인) 또는 일곱 가지 타입의 기본 감정들(화난, 역겨운, 두려운, 기쁜, 슬픈, 놀란, 중립의)을 포함하는 다중-클래스 분류이다.
인종(민족) 인식 역시 백인, 흑인, 아시아인, 인디안, 히스패닉, 라틴계열, 중동인 등의 클래스들을 포함하는 다중-클래스 분류이다.
나이 예측은, 비록 종종 (예를 들어) N=100의 서로 다른 클래스들에 대한 다중-클래스 분류로 여겨지지만(따라서, 관찰되는 사람이 1, 2, ……, 또는 100세 [6] 중 몇 세인지 예측하는 것이 필요하다), 회귀 과제(Regression Task)의 특별한 케이스에 해당할 수 있다.
상술한 다양한 작업들은 서로 매우 유사하고 종래의 딥 러닝 기술들에 의해 해결될 수 있다. 즉, 알려진 얼굴 속성들을 포함하는 사람들의 대규모 사이즈의 얼굴 데이터셋이 모인다(예를 들어, IMDB-Wiki [6] 또는 UTKFace). 이후, 하나의 딥 CNN은 상술한 분류 태스크를 해결하기 위해 학습된다. 학습 결과, 네트워크들은 새로운 얼굴 이미지에 대해 주어진 나이 및 성별을 예측하도록 적용될 수 있다.
다른 문제는, 비제한적 얼굴 식별은 얼굴 속성 인식과는 매우 다르다는 점이다. 갤러리 셋으로부터의 얼굴 이미지들이 C>1인 개개인들 중 어느 하나에 대해 지정되는 자율적인(Unsupervised) 학습 케이스가 고려된다. (복수의 이미지 등에 포함된) 개개인들(사람)의 수(C)는 일반적으로 알려지지 않는다. 학습 샘플의 사이즈 R은, 보통, 아무런 사전 준비(지식) 없이 복잡한 분류기(ex. 하나의 딥 CNN)를 학습시키기에는 작다.
그래서, Domain Adaptation이 적용될 수 있다[7]: 각각의 이미지는 딥 CNN을 이용하는 특징 벡터로 묘사된다. 이러한 특징 벡터를 획득하기 위해, CNN은 비교적 대규모의 데이터셋(예로, CASIA-WebFace, VGGFace/VGGFace 2, 또는 MS-Celeb-1M)을 통해 자율적인 얼굴 식별에 대해 미리 학습된다. 본 CNN의 입력으로 각각의 r번째 갤러리 이미지(r = 1, 2, ……, R) 각각을 제공함으로써, 마지막 Layer들 중 하나의 L2-정규화된 출력들이 r번째 이미지의 D-차원의 특징 벡터 Xr = [xr;1, ..., xr;D]로 사용된다. 마지막으로, Hierarchical Agglomerative Clustering(HAS)[15]와 같이 적절한 클러스터링 방법이 이러한 특징 벡터들의 최종 결정에 사용될 수 있다.
대부분의 (종래의) 연구에서, 상술한 작업들 각각은, 비록 태스크들이 어차피 모두 해결되어야 함에도, 각각의 독립된 별도의 CNN을 통해 각각 해결된다. 결과적으로, 각각의 얼굴 이미지를 처리하는 것은 시간 낭비가 된다. 특히 오프라인 상태의 모바일 앱들에 대해서는 더욱 그러하다.
본 개시는 이러한 모든 태스크들을 하나의 동일한 CNN을 통해 해결하는 것을 가능하게 한다. 특히, 이때 얼굴 식별을 위해 추출된 특징들(Identity Features)은 어떠한 얼굴 분석보다도 풍족한 데이터에 기반하는 상황이 전제된다. 예를 들어, VGGFace features[16]는 Visual Emotion Recognition[17, 18]의 정확도 향상에 사용될 수 있음이 밝혀진 바 있다.
주요한 요구사항은 모바일 플랫폼들 상에서의 CNN의 사용성이므로, 낮은 추론능력 및 낮은 메모리 복잡도를 가지는 CNN(예를 들어, MobileNet v1/v2[12]). 본 개시에서 basic CNN으로 지칭될 수 있다)에 대한 직접적인 수정이 제공된다. 이러한 내용은 도 1과 관련하여 후술한다.
도 1은 본 개시의 일 실시 예에 따라 얼굴 속성 및 Identity Feature를 동시에 인식하기 위한 다중-출력 CNN(1000)을 설명하기 위한 도면이다.
ImageNet data에 대해 미리 학습된 basic CNN(1100)으로 구성된 본 발명의 네트워크의 제1 레이어들은, 얼굴 식별에 적합한 표현들을 추출한다.
이러한 표현들은, 얼굴 속성들에 대한 더욱 강력한 분류기들을 구축하기 위해, 본 CNN(1000)의 뒤에서 두 번째 레이어인 적어도 하나의 hidden dense (fully connected) Layer(1200)로 변형된다.
신경망 모델(CNN)의 일반화 능력을 향상시키고 학습 데이터의 내용에 과도하게 맞추는(의지하는) 것을 방지하기 위해, 각각의 Hidden (Fully-connected) Layer 이후에 특별한 드롭아웃 정규화 레이어가 추가될 수 있다.
각각의 얼굴 속성 인식을 위해, 분할된 출력 Fully-connected Layer(1300-1, 2, 3, 4)가 적당한 비선형 활성화 function(ex. 멀티 클래스 분류(나이 예측, 감정 및 인종 인식) 또는 성별에 대한 이진 분류에 대한 소프트맥스)과 함께 추가된다.
실험들에 따르면, 드롭아웃 정규화를 포함하는 적어도 하나의 새로운 Hidden layer가 Identity Feature들의 추출 이후에 추가됨으로써, 얼굴 속성들의 인식의 정확도를 향상시킨다.
도 1과 같은 CNN을 이용하는 전자 장치의 제어 방법의 일 예가 도 2를 통해 도시된다. 도 2는 전자 장치가 이미지들로부터 얼굴 속성들 및 각 얼굴의 Identity를 모두 인식/식별하는 일 예를 설명하기 위한 순서도이다.
도 2를 참조하면, 이미지에 포함된 얼굴을 식별하고 식별된 얼굴의 속성(Facial Attribute)을 인식하기 위한 전자 장치의 제어 방법은, 복수의 이미지를 포함하는 학습 데이터를 기초로, 이미지에 포함된 얼굴을 식별하기 위한 하나 이상의 Identity Feature를 추출하도록 하나의 CNN(Convolutional Neural Network)을 학습시킬 수 있다(S210).
그리고, 학습된 CNN에 부가되는 것으로, 드롭 아웃 정규화(Dropout Regularization)에 기초한 적어도 하나의 Hidden Layer에, 학습된 CNN을 통해 추출된 Identity Feature를 입력할 수 있다(S220).
이후, 해당 입력에 따른 Hidden Layer의 출력에 기초하여, 학습된 CNN에 부가된 하나 이상의 독립된 Fully-connected Layer를 통해 얼굴의 속성을 인식할 수 있다(S230).
CNN의 학습은 점진적으로 수행된다. 먼저, basic CNN은 10K 개인들[13]의 3M 사진들을 포함하는 VGGFace 2 등의 매우 큰 데이터 셋을 이용하여, 얼굴 식별에 대해 학습된다. 다음으로, last classification 레이어가 삭제되고, basic CNN의 weights가 고정된다. 마지막으로, 남은 last 레이어들은 얼굴 속성들을 인식하도록 학습된다.
본 개시에 따르면, 얼굴 속성을 인식하는 상술한 작업들 각각은 다른 학습 이미지들의 학습 데이터의 각 군들 및 활용 가능한 데이터 셋들의 각 군들을 이용함으로써 교대로 학습되기 때문에, 학습 사진들은 활용 가능한 모든 속성들을 가질 필요가 없다.
IMDB-Wiki 데이터셋[6]의 나이 그룹들은 매우 불균형하기 때문에, 이를 통해 학습된 모델들은 매우 젊거나 매우 늙은 사람들의 얼굴들에 대해 부정확하게 동작할 수 있다.
따라서, 본 개시에 따른 실시 예는 Adience [5] dataset으로부터 모든 (15K) 이미지들을 추가하여 CNN의 학습에 제공할 수 있다. Adience dataset은, 예를 들어 “0-2”세, “60-100”세와 같이 특정 나이대의 이미지들을 데이터로 포함하기 때문에, 해당 나이대를 가지는 모든 이미지들은 각각 그 중간 값인 (예를 들어) “1”세 또는 “80”세에 대응되는 이미지들인 것으로 가정되어 학습에 이용될 수 있다.
또한, IMDB-Wiki에 포함되는 모든 이미지가 나이 및 성별 모두에 대한 정보를 포함하는 것은 아니라는 점이 중요하다. 게다가, 성별은 때때로 Adience data에서는 알려지지도 않는다. 결과적으로, 나이 및 성별 정보를 모두 갖는 얼굴들의 수는 때때로 얼굴 이미지들의 전체 수에 비교했을 때 더 작다.
결론적으로, 다른 나이들에 대한 성별 데이터 역시 불균형하다. 이 때문에, 나이 및 성별 분류에 대해 각기 다른 학습 데이터를 사용하여, CNN(도 1)의 모든 heads(outputs)를 구분적으로 학습시키는 것이 바람직하다.
특히, 본 개시는 나이, 성별, 인종, 감정 라벨들을 포함하는 각각의 소규모 학습 데이터 군들을 교대로 이용하여, CNN의 각각의 파트(각각의 독립된 Fully-connected Layer)가 독립적으로 학습되도록 한다. 예로, CNN의 나이 출력과 관련된 Fully-connected Layer의 weights들은 성별 정보를 포함하는 소규모 학습 데이터 군들에 대해서는 업데이트 되지 않을 수 있다.
상술한 실시 예들은 본 발명에 따라 디지털 이미지에서 얼굴 속성들(ex. 나이, 성별, 인종 또는 민족, 또는 감정 중 하나 이상) 및 신원을 동시에 인식하기 위한 방법(200)의 흐름도를 묘사하는 도 3 및 도 4를 통해 도시될 수 있다. 도 3 및 도 4는 도 2의 제어 방법을 보다 상세하게 분류한 것에 해당한다.
구체적으로, 도 3은 얼굴의 식별 및 각 속성 인식이라는 다양한 작업을 동시에 수행하기 위한 CNN이 구축되는 과정, 도 4는 구축된 CNN을 이용하여 해당 작업들을 수행하는 과정과 관련된다.
도 3을 참조하면, 전자 장치의 제어 방법은, 이미지에 포함된 얼굴을 식별하도록 CNN을 학습시킬 수 있다(S310). 구체적으로, 하나의 basic CNNdl 기존재하던 매우 큰 이미지들의 셋에 대해 학습될 수 있다. 상술하였듯, basic CNN은 바람직하게는 낮은 추론능력 및 낮은 메모리 복잡도를 가지는 CNN(ex. MobileNet v1/v2)일 수 있다.
그리고, 드롭아웃 정규화가 제공된 Hidden Layer를 기초로 CNN이 수정될 수 있다(S320).
그리고, 얼굴의 속성들을 인식하기 위한 하나 이상의 독립된 Fully-connected Layer가 CNN에 제공될 수 있다(S330). 이 경우, 얼굴 속성들을 인식하기 위한 독립된 Fully-connected Layer들이 상술한 Hidden Layer 다음으로 제공된다.
독립된 Fully-connected Layer들 각각은 얼굴 속성들 각각에 대응되며, 각각은 비선형성을 가진다.
그리고, 해당 독립된 Fully-connected Layer들을 학습시킬 수 있다(S240). 이 경우, 하나 이상의 독립된 Fully-connected Layer 각각을, 서로 다른 학습 데이터에 기초하여 학습시킬 수 있으며, 하나 이상의 독립된 Fully-connected Layer 각각은 서로 다른 속성에 각각 대응될 수 있다.
이때, 현재 학습중인 Layer들 중 오직 하나씩에 대해서만 각각 특정된 학습 데이터의 각 군이 교대로 이용될 수 있다. 이 경우, 학습 데이터의 군 각각은, 각각의 군이 특정된 특별한 속성을 가리키는 각각의 라벨을 가질 수 있다.
도 3과 같이 구축/학습된 CNN에, 하나 이상의 입력 이미지들이 제공될 수 있다.
본 개시에 따른 전자 장치의 제어 방법은, 입력 이미지의 적어도 일부로부터 얼굴 식별에 적합한 Identity Feature들을 추출할 수 있다.
도 4를 참조하면, 입력 이미지들로부터 얼굴과 관련된 영역을 검출할 수 있고(S410), basic CNN의 레이어들을 통해, 검출된 영역으로부터 얼굴 식별에 적합한 Identity Feature들을 추출할 수 있다(S420). 이 경우, 얼굴과 관련된 영역은, Multi-View cascade 분류기 또는 MTCNN(Multi-task cascaded Convolutional Neural Network) 검출기에 의해 검출될 수 있다.
그리고, 추출된 Identity Feature들은, 독립된 각각의 Fully-connected Layer에 대하여 입력으로 제공될 수 있다(S430). 구체적으로, CNN의 Hidden Layer는 추출된 Identity Feature들을 이용하여, 독립된 Fully-connected Layer들에 대한 입력을 제공할 수 있다.
마지막으로, 얼굴의 속성들을 인식할 수 있다(S440). 이 경우, 얼굴 속성들은 독립된 Fully-connected 레이어들을 통해 각각 인식될 수 있다.
본 개시에 따른 CNN은 이하 장점들이 있다. 무엇보다도, 하나의 basic CNN을 기반으로 한 높은 추론 속도와 낮은 메모리 복잡도를 가지는 CNN을 이용할 수 있다. 또한, 나이, 성별, 민족, 감정들, 신원의 인식 등 상술한 모든 작업들을 몇몇 서로 다른 네트워크들의 추론을 도입하지 않고도 동시에 해결할 수 있게 해준다.
둘째로, 비교적 규모가 작고 정리되지 않은 것으로, 얼굴 속성들을 인식하는 작업들에 전형적으로 사용되던 종래의 활용 가능한 데이터 셋들과는 대조적으로, 본 개시에 따른 CNN은 매우 좋은 얼굴 표현들을 학습하기 위해, 매우 크고 깔끔한 얼굴 식별 데이터 셋을 이용한다. 게다가, Identity Feature들 및 출력들 사이의 Hidden Layer는, 얼굴 속성들을 예측하기 위해 필수적인 지식들을 서로 다양하게 결합시킨다. 결론적으로, 본 CNN 모델은 특정한 데이터 셋에 대한 학습에만 의존하는 모델들과 비교했을 때, 얼굴 속성 인식의 정확도를 향상시킨다.
- 포토 앨범 및/또는 비디오 앨범을 구축하기 위한 파이프라인
포토 앨범 및/또는 비디오 앨범을 구축하기 위해 하나 이상의 이미지(또는 프레임)에 포함된 얼굴의 Identity Feature 및/또는 속성을 식별하는 경우(바람직하게는 본 개시에 따른 상술한 CNN 모델을 이용하는 경우), 복수의 얼굴 영역들로부터 추출된 Identity Feature 및/또는 속성이 동일 인물에 대해서는 동일한 그룹으로 묶이도록 클러스터링할 필요가 있다. 그리고, 클러스터링된 Identity Feature 및/또는 속성을 정리하여 해당 인물 또는 해당 인물이 포함된 이미지에 대한 정보(신원, 나이, 성별, 감정, 인종, 민족 등)를 획득할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법이, 입력 이미지로부터 얼굴과 관련된 영역을 검출하고, 해당 영역에서 추출된 Identity Feature에 기초한 클러스터링을 수행하는 동작을 설명하기 위한 순서도이다.
도 5를 참조하면, 본 제어 방법은, 입력 이미지들로부터 얼굴과 관련된 영역을 검출할 수 있다(S510).
그리고, 검출된 영역에서, 복수의 Identity Feature를 추출할 수 있다(S520). 이때, 도 1 내지 도 4를 통해 상술한 CNN을 이용할 수도 있음은 물론이다. 또한, 복수의 Identity Feature뿐만 아니라 얼굴의 속성들도 함께 추출할 수 있다.
그리고, 추출된 복수의 Identity Feature를 클러스터링하여 각각의 사람에 대응되는 클러스터를 획득할 수 있다(S530). 이때, Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득할 수도 있다. 만약, S520 단계에서 얼굴의 속성들도 함께 추출한 경우라면, 복수의 Identity Feature 및 얼굴의 속성들을 모두 이용하여 클러스터링을 수행할 수도 있다.
그리고, 획득된 클러스터 각각에 대응되는 사람의 얼굴의 속성을 인식할 수 있다(S540). 이때, 획득된 클러스터 각각에 대응되는 얼굴의 속성들 각각에 대하여 평균값을 계산할 수도 있다. 이 경우, 평균값을 계산하는 동작은, Simple Voting을 통해 수행되거나 또는 상기 CNN의 출력들에 있어 Average Posterior Probabilities를 최대화(Maximizing)함으로써 수행될 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 복수의 비디오 클립 및 복수의 사진들에 포함되는 얼굴 영역들을 검출하고, 검출된 영역에서 추출된 Identity Feature 및/또는 속성들을 사람에 따라 클러스터링하여 각 개인의 속성을 파악할 수도 있다. 이때, 도 1 내지 도 4의 CNN을 이용할 수 있음은 물론이다.
먼저, 복수의 비디오 클립 각각에서 복수의 프레임을 선택하고, 선택된 복수의 프레임들로부터 얼굴과 관련된 영역들을 검출할 수 있다. 이 경우, 고정된 frame rate의 비디오 클립의 서로 다른 프레임들을 선택할 수 있다.
그리고, 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출한 뒤, 추출된 복수의 Identity Feature 및 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 제1 클러스터(Cluster)를 획득할 수 있다.
그리고, 제1 클러스터 각각에 대해 복수의 Identity Feature 각각의 평균값 및 얼굴의 속성들 각각의 평균값을 계산할 수 있다.
또한, 복수의 이미지들로부터 얼굴과 관련된 영역들을 검출할 수도 있다. 이 경우, 복수의 이미지들로부터 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출한 뒤, 앞서 계산된 복수의 Identity Feature 각각의 평균값 및 복수의 이미지들로부터 추출된 복수의 Identity Feature를 함꼐(jointly) 클러스터링하여 각각의 사람에 대응되는 제2 클러스터를 획득할 수 있다.
그리고, 제2 클러스터 각각에 대해 얼굴의 속성들 각각의 평균값을 계산할 수 있다. 그 결과, 각 개인에 매칭되는 이미지들, 각 개인 또는 각 이미지들의 속성(나이, 성별, 인종, 민족, 감정 등)에 대한 정보를 획득할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법이 사진들 및/또는 비디오들을 포함하는 앨범들을 구축하기 위하여 CNN을 동작시키는 전체 데이터 흐름을 묘사하기 위한 블록도이다. 이때, CNN은 도 1 내지 도 4를 통해 도시 및 설명한 CNN일 수 있다.
본 개시의 일 실시 예에 따르면, 얼굴들은, 예를 들어 MTCNN 검출기를 이용하여, 각각의 사진들로부터 검출될 수 있다(S620). 다음으로, 모든 얼굴들 Xr에 대해, CNN의 추론에 따라, D Identity Feature들을 추출하고 얼굴 속성들(예: 나이 및 성별)을 예측할 수 있다(S630).
그 후, 모든 획득된 Identity Feature의 Vector들이 클러스터링될 수 있다(S650 및 S650'). 일반적으로 포토 앨범들에 포함된 개인들의 수는 알려지지 않은 상태이기 때문에, Hierarchical Agglomerative Clustering(HAS)[15]이 사용될 수 있다.
그리고, 최소한의 (기설정된) 얼굴 (영역) 수를 포함하는 다소 큰 클러스터들만이 클러스터들의 정제 과정에서 제외되지 않고 유지된다(S660). 각 클러스터에서 사람의 성별, 감정, 인종 및 생년은 적절한 융합 기술들(예, the simple voting 또는 CNN(도 1)의 출력들에 대한 Average Posterior Probabilities의 최대화)에 의해 추정(측정)된다.
예를 들어, 만약 하나의 클러스터 내 모든 얼굴 이미지들 Xr, r ∈ {r1, ..., rm}의 독립성이 단순히 가정된다면, the product rule[19]이 적용될 수 있다.
Figure pat00001
N은 클래스들의 전체 수이고, Pn(Xrm)은 입력 이미지 Xrm 에 대한 CNN의 n번째 출력이다.
동일한 절차가 모든 비디오 파일들에 대해 반복된다. 예를 들어, 각각의 비디오 클립에서 3-5개의 프레임들만이 선택되고(도 6의 S610의 예), 모든 검출된 얼굴들의 Identity Feature들이 추출되며(도 6의 S630의 예), 본 클립에서 발견된 얼굴들만이 초기에 클러스터링 될 수도 있다(도 6의 S650).
그리고, 모든 클러스터들[2]의 identity Feature들의 정규화된 평균이 계산되고, dataset {Xr}에 추가되어, 모든 사진들의 identity Feature들 및 및 모든 비디오들에서 식별된 개인들의 평균 identity Feature들이 모두 함께 다뤄질 수 있다.
그럼에도 불구하고, 학습 데이터 셋의 불균형 때문에, CNN의 각각의 출력(들)로부터의 출력 데이터를 단지 최대화시킴으로써 나이를 예측하는 것은 정확하지 않다.
Adience data의 추가는 주류에 해당하는 등급 중 어느 하나에 대해 치우치는 결과로 이어진다. 따라서, 해당 연령대의 출력들의 출력 데이터{Pa(Xr)}를 집합시킬 수 있다.
그러나, 실험들로 밝혀졌듯, 모든 출력들의 융합은 다시금 충분히 정확하지는 않다. 왜냐하면 학습 데이터 셋의 대다수의 개인들은 20-40세이기 때문이다. 이 때문에, 이하와 같은 정규화된 탑(Top) 출력들(Outputs)을 사용함으로써, 오직 L (L ∈ {1, 2, ..., 100})개의 최대 출력들의 나이들{a1, ... , aL}만을 선택하고 갤러리에 포함된 각각의 얼굴 이미지 Xr에 대하여 기대 평균
Figure pat00002
을 계산하는 것이 제안된다. (예를 들어, L = 3인 경우, probability가 가장 높은 세 개의 나이에 대하여, 세 개의 나이 각각의 probability들의 비를 고려하여 나이의 평균을 구할 수 있음)
Figure pat00003
그리고, 이미지 파일 각각의 생성 날짜로부터 앞서 예측된 나이를 차감함으로써 각 얼굴과 관련된 태어난 연도가 추정(측정)된다. 이때, 다년 동안 모아진 매우 큰 앨범들을 구축하는 것이 가능하다. 게다가, 측정된 태어난 연도는, 가족 내 어린 아기들의 알려진 유사성을 부분적으로 극복하기 위하여, 클러스터들을 분석함에 있어 특별한 weight가 부여되는 부가 특징으로 사용될 수 있다.
마지막으로, 클러스터를 정제하는 과정에서 몇몇 기술들이 도입된다. 먼저, 동일한 사진에 나타나는 다른 얼굴들은 특별하게 마킹된다. 해당 얼굴들은 서로 다른 그룹들에 저장되어야 하기 때문에, 모든 얼굴 클러스터의 완전한 linkage 클러스터링이 추가적으로 수행된다. Distance 매트릭스는, 동일한 사진 내 얼굴들 간의 distance가, 플랫 클러스터들을 형성하는 경우 적용되는 임계 값보다 훨씬 더 큰 최대값으로 설정되도록, 특별히 디자인된다. 게다가, 가장 중요한 클러스터들은, 단지 하루 내에 만들어진 사진들/비디오들만을 포함해서는 안 된다. 따라서, 관심 대상이 아닌 많은 수의 얼굴(인물)들을 고려 대상에서 제외하기 위해, 클러스터 내의 가장 최근의 사진과 가장 오래된 사진 간의 일 수에 대하여 특정한 임계 값이 설정된다.
한편, 도 6과 같은 방법은, Tensorflow를 포함하는 파이썬(Python) 언어(language), Keras frameworks, scikitlearn/scipy/numpy 라이브러리 등을 이용하는 특별한 소프트웨어를 통해 도입될 수 있다.
도 7은, 본 개시의 일 실시 예에 따라 디지털 포토 앨범 및/또는 디지털 비디오 앨범을 구축하는 동작을 설명하기 위한 순서도이다.
S710단계에서, 비디오 앨범에 포함된 복수의 비디오 클립들 중 각각의 비디오 클립 내에서 몇몇 프레임들이 선택된다. 바람직하게는, 고정된 프레임 레이트에 해당하는 비디오 클립 내의 서로 차별되는 프레임들이 선택된다.
S720단계에서, S710단계에서 선택된 프레임들 각각 또는 포토 앨범에 포함된 복수의 사진들 중 몇몇 사진 각각에서, 얼굴들과 관련된 영역들이 검출된다. 본 단계는 몇몇의 Multi-view cascade 분류기 또는 MTCNN 검출기를 통해 수행될 수 있다.
S730 단계에서, 검출된 영역들은 CNN(예로, 도 1 내지 도 4의 CNN)의 입력 이미지들로 사용될 수 있고, CNN은 모든 얼굴들의 identity Feature들 및 얼굴 속성들을 추출한할 수 있다.
그리고, 각각의 앨범에 포함되는 각 비디오 클립에 대하여, S740단계는 비디오 클립에서 검출된 얼굴들 각각과 관련된 identity Feature들 및 얼굴 속성들을 하나의 클러스터로 클러스터링한다. 그 후, 비디오 클립의 각각의 클러스터에 대해 평균 identity Feature들 및 평균 얼굴 속성들이 계산된다. 평균 identity Feature들은, 추출된 identity Feature들의 정규화된 평균을 계산함으로써 획득될 수 있다.
S750단계에서, 사진들 및/또는 비디오 클립들은, 사진들로부터 추출된 Identity Feature들 및 비디오 클립들에 대해 계산된 평균 identity Feature들을 함께(jointly) 클러스터링함으로써, 그루핑될 수 있다.
그리고, 각각의 클러스터에 대하여 계산된 적어도 하나의 평균 얼굴 속성에 기초하여, 클러스터와 관련된 각각의 얼굴 속성들 및/또는 평균 얼굴 속성들로부터, 평균 얼굴 속성들이 적당한 융합 기술들(예: the simple voting 또는 CNN의 출력들에 있어 Average Posterior Probabilities를 최대화)을 이용하여 계산될 수 있다. 이 경우, 바람직하게는, 하나 이상의 얼굴에 대한 identity Feature들을 포함하는 각각의 클러스터들을 획득하기 위해, Hierarchical Agglomerative Clustering(HAS)이 이용될 수 있다.
S750단계는 부적절한 클러스터들이 필터링되도록 클러스터들이 정제되는 서브 단계(도 7에 도시되지 않음)를 포함할 수도 있다. 부적절한 클러스터들은, 예를 들어, 몇몇의 기설정된 임계 값보다 작은 요소들을 다수 포함하는 클러스터들 또는 다른 기설정된 임계 값보다 작은 날짜 수만큼 캡처 날짜들이 분포된 사진들/비디오 클립들과 관련된 클러스터일 수 있다.
S750 단계에 앞서, 얼굴들과 관련된 영역들이 검출된 사진/비디오 파일의 생성 날짜로부터 해당 얼굴들과 관련된 얼굴 속성들에 따른 나이를 차감하여, 해당 얼굴들 각각이 태어난 연도를 추정(측정)하는 S745단계가 수행될 수도 있다. 이때, S750단계는, 태어난 연도가 몇몇 기정의된 임계 값보다 더 넓게 분포된 얼굴들의 Identity Feature들이 동일한 하나의 클러스터로 클러스터링되지 않도록 할 수 있다.
그리고, 그루핑된 사진들 및/또는 비디오 클립들이 각각의 평균 얼굴 속성들과 함께 사용자 장치 각각의 디스플레이부를 통해 디스플레이되도록 하는 S760 단계를 더 포함할 수 있다.
도 1 내지 도 7을 통해 상술한 실시 예들은, 바람직하게는, 도 8과 같이 Android의 특별한 모바일 앱을 통해 도입될 수 있다. 해당 앱은 오프라인 모드에서 동작할 수 있으며 인터넷 연결을 필요로 하지 않는다.
해당 앱은 background thread에 있는 갤러리의 모든 사진들을 순차적으로 처리한다. Demography 창은 갤러리의 적어도 3개의 사진에 나타나는 가족 구성원들 및 친구들의 얼굴 속성들의 (stacked) 히스토그램들(도 8a)을 제공한다. 도 8a의 수평 방향으로 쌓인 히스토그램의 검은색 또는 회색 막대를 탭하면, 해당 개인의 모든 사진들의 리스트가 디스플레이되도록 한다(도 8b).
이때, 단지 추출된 얼굴들뿐만 아니라 전체 사진들이 앱의 디스플레이 폼에 나타날 수 있고, 이로써 몇몇 사람들의 사진이 노출될 수 있다. 만약 성별 및 연령대가 동일한 복수의 개인들이 있다면, 예로, Spinner(도 8c에서 도형(806) 및/또는 도형(806) 옆 선택 가능한 하나 이상의 숫자를 포함하는 유저 인터페이스를 지칭함)가 디스플레이 폼의 상부에 제공될 수 있고, 이때 Spinner는 연관된 순차적 숫자를 통해 특정한 사람을 선택하는 데에 이용 가능하다. Spinner는 기본 상태에서 현재 선택된 값을 표시할 수 있고, Spinner를 터치하면 도 8c와 같이 기타 모든 사용 가능한 값을 포함하는 메뉴(807)가 표시될 수 있다.
상술한 다양한 제어(구축) 방법들은, 다양한 전자 장치 또는 사용자 장치를 통해 구현될 수 있다. 구체적으로, 스마트폰, 태블릿 PC, e-book reader, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, Personal Digital Aassistant (PDA), 디지털 카메라, 웨어러블 전자 장치(헤드 마운티드 디스플레이(HMD), 전자 안경, 스마트 워치 등) 등의 전자 장치를 통해 구현될 수 있다.
관련하여, 도 9는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블록도이다.
도 9를 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다.
메모리(110)는 비휘발성 메모리(ex. ROM, 하드디스크, SSD(Solid state drive), 플래시 메모리), RAM과 같은 휘발성 메모리 등으로 구현될 수 있다.
메모리(110)에는 전자 장치(100)가 수행할 수 있는 각종 태스크 내지는 어플리케이션에 대한 정보, 프로세서(120)의 작업 수행과 관련된 데이터가 저장되어 있을 수 있다.
메모리(110)에는 프로세서(120)가 수행하는 이미지 처리와 관련된 데이터가 저장되어 있을 수도 있다.
구체적으로, 메모리(110)에는 도 1 내지 도 4와 같은 CNN(Convolutional Neural Network)에 기반하여, 이미지로부터 얼굴 영역을 검출하고 그로부터 Identity Feature 및 얼굴의 속성을 추출/인식하도록 학습된 인공지능 모델이 저장되어 있을 수 있다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 구체적으로, 프로세서(120)는 전자 장치(100)에 입력된 이미지를 처리하기 위해 전자 장치(100)의 각 구성을 제어할 수 있다.
이를 위해, 프로세서(120)는 주문형 집적 회로(application specific integrated circuit, ASIC), 임베디드 프로세서, 마이크로프로세서, 하드웨어 컨트롤 로직, 하드웨어 유한 상태 기계(hardware finite state machine, FSM), 디지털 신호 프로세서(digital signal processor, DSP), 중 적어도 하나로 구현될 수 있다. 도시하진 않았으나, 프로세서(120)는 각 구성들과 통신을 위한 버스(bus)와 같은 인터페이스를 더 포함할 수 있다.
프로세서(120)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(120)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 SoC(system on chip)로 구현될 수도 있다.
일 예로, 프로세서(120)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(120)는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
프로세서(120)는 입력된 이미지를 처리하기 위해 메모리(110)에 저장된 정보를 이용하거나 또는 이미지 처리와 관련된 새로운 정보를 메모리(110)에 저장할 수도 있다.
프로세서(120)는 인공지능 모델을 학습시키고, 학습된 인공지능 모델을 메모리(110)에 저장할 수 있다. 구체적으로는, 학습된 인공지능 모델을 바탕으로 조건에 따라 수행할 동작을 결정할 수 있다.
인공지능 모델은 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 인공지능 모델은, CNN(Convolutional Neural Network) 등의 Deep Neural Network를 기반으로 하는 모델일 수 있다.
인공지능 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 일 예로, 인공지능 모델은 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다.
프로세서(120)는 포토 앨범 및/또는 비디오 앨범을 구축하기 위해, 비디오 프로세서 및 포토 프로세서를 각각 별도로 포함할 수도 있다. 그리고, 프로세서(120)는 다양한 기능을 수행하는 하나 이상의 소프트웨어 모듈로 구성되어, 일련의 얼굴 분석 작업들을 수행할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치(100)의 소프트웨어 구조를 설명하기 위한 블록도이다. 구체적으로, 프로세서(120)를 구성하거나 또는 프로세서(120)에 의해 제어되는 다양한 소프트웨어 모듈들을 비디오 프로세서(10) 및 포토 프로세서(20)를 기준으로 도시한 것이다.
도 10을 참조하면, 전자 장치(100)는, 비디오 프로세서(10), 포토 프로세서(20), Face 클러스터링부(3), 클러스터링 필터(4) 및 디스플레이(5) 중 적어도 하나를 포함한다.
도 10을 참조하면, 비디오 프로세서(10)는 프레임 선택부(11), 얼굴 검출부(12), CNN-기반 Identity Feature 추출부(13), CNN-기반 얼굴 속성 인식부(14), YoB(Year of Born) 예측부(15) 및 프레임 클러스터링부(16)를 포함할 수 있다.
그리고, 포토 프로세서(20) 는 얼굴 검출부(21), CNN-기반 identity Feature 추출부(22), CNN-기반 얼굴 속성 인식부(23) 및 YoB 예측부(24)를 포함한다.
사용자 장치의 상술한 구성들은 도 10과 같이 연결될 수 있다. 비록 비디오 프로세서(10) 및 포토 프로세서(22)는 각각 분할된 얼굴 검출부들(12, 21), 분할된 CNN-기반 Identity Feature 추출부들(13, 22), 분할된 CNN-기반 얼굴 속성 인식부들(14, 23), 분할된 YoB 예측부들(14, 24)을 포함하지만, 전자 장치(100)의 다른 실시 예에 따르면 비디오 프로세서(110) 및 포토 프로세서(120)는 동일한 하나의 CNN-기반 Identity Feature 추출부, 얼굴 속성 인식부, YoB 예측부 및 얼굴 검출부를 공유할 수도 있다.
게다가, 전자 장치는 도 10에 도시된 구성들 중 일부를 포함하지 않을 수 있으며, 본 개시의 제어 방법에 따른 동작을 더 용이하게 실행하기 위해 추가적인 구성들을 더 포함할 수도 있다.
이하 도 10의 전자 장치(100)의 동작을 설명한다. 사용자의 비디오 파일들에 대한 갤러리가, 고품질의 프레임들을 추출하도록 구성된 프레임 선택부(11)에 입력된다. 얼굴 검출부(12)는 선택된 비디오 프레임들의 얼굴 영역들의 경계 박스들을 검출하도록 구성된다.
CNN-기반 Identity Feature 추출부(13) 및 CNN-기반 얼굴 속성 인식부(14)는, Identity Feature들 및 얼굴 속성들(나이, 성별, 민족, 감정들 중 적어도 일부)을 동시에 추출하기 위해 본 개시에 따른 CNN(도 1)상에서 추론들을 수행하도록 구성될 수 있다.
YoB 예측부(15)는 예측(인식)된 나이들 및 비디오 파일들 각각에 대한 수정 날짜들이 주어지면, 이를 이용하여, 추출된 얼굴들과 관련된 태어난 연도를 계산할 수 있다.
프레임 클러스터링부(16)는 동일한 비디오 클립 내 서로 다른 프레임들에서 발견된 동일한 얼굴들을 통합하도록 구성될 수 있다.
이하에서는, 갤러리로부터의 사진들을 처리하기 위해 필요한 전자 장치(100)의 일부분의 동작이 도시된다.
모든 사진들은 얼굴 검출부(21)로 입력된다. 얼굴 검출부(21)는 캡쳐된 이미지로부터 얼굴 영역(들)을 검출하고, 검출된 얼굴 영역들을 resizing하도록 구성된다.
CNN-기반 Identity Feature 추출부(22) 및 CNN-기반 얼굴 속성 인식부(23)는 본 개시에 따른 CNN(도 1)상에서 추론들을 수행하도록 구성된다.
YoB 예측부(24)는 추출된 얼굴들에 대한 태어난 연도를 추정(측정)하도록 구성된다.
다음으로, Demography의 분석에 필요한 전자 장치(100)의 일부분의 동작이 설명된다.
얼굴 클러스터링부(3)는 프레임 클러스터링부(16) 및 CNN-기반 Identity Feature 추출부(22)의 출력들로부터 획득된 Identity Feature들을 그루핑하도록 구성된다.
얼굴 클러스터링부(3)는, YoB 예측부들(15, 24)의 출력을 이용하여, 서로 태어난 연도가 매우 다르게 예측된 개인들이 통합되는 것을 방지하기 위해, 추출된 얼굴 속성들을 추가로 이용하도록 구성될 수 있다.
클러스터링 필터(4)는 부적절한 클러스터들(ex. 작은 수의 요소들을 포함하는 클러스터들 또는 하루 내에 만들어진 사진들/비디오들만을 포함하는 클러스터들)을 필터링 (아웃) 하도록 구성된다. 사람들의 Resultant 그룹들 및 그들의 속성들은 디스플레이(5)로 보내져 사용자에게 시각적으로 제공될 수 있다(예로, 도 8a 내지 8c).
반면, 클러스터링된 그룹들 및 연관된 속성들은, 사용자와 관련된 인식들의 결과에 기초하여 사용자 및 전자 장치(100) 간의 추가적인 상호작용들을 허용하기 위한 결정을 내리고 해당 결정에 따라 사용자의 상호작용을 허락/거절하도록 구성된, 전자 장치(100)의 특별한 처리 유닛(도시되지 않음)에 제공될 수도 있다.
상술하였듯, 전자 장치(100)의 구성들은 도 1 내지 도 4를 통해 개시되었듯, 본 개시에 따른 방법들을 실질적으로 수행할 수 있다.
도 10에 도시된 구성들은 사용자 컴퓨팅 장치에 포함된 하나 이상의 컴퓨터 판독 가능 매체에 저장된 소프트웨어 형태로 도입되는 한편 사용자 컴퓨팅 장치에 포함된 하나 이상의 프로세싱 유닛들(CPUs 등)에 의해 실행되어 본 발명에 다른 동작들(도 1 내지 도 7 및 도 8a 내지 도 8c)을 수행할 수 있다. 사용자 장치는 하드웨어, 소프트웨어 또는 펌웨어 구성들 등 다른 널리 알려진 구성들을 더 포함할 수 있다.
도 11은 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 상세한 구성을 설명하기 위한 블록도이다.
도 11을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120) 외에도 입력부(130), 입출력 포트(140), 통신부(150), 디스플레이(160) 중 적어도 하나를 더 포함할 수 있다.
입력부(130)는 전자 장치(100)가 사용자로부터 명령 또는 정보를 포함하는 사용자 입력을 수신할 수 있게 하는 구성이다.
입력부(130)는 사용자 입력을 수신하기 위한 하나 이상의 버튼, 키보드, 마우스(이상 도시되지 않음) 등을 포함할 수도 있다. 입력부(130)는 사용자 입력을 터치 형태로 입력받기 위해, 디스플레이(160)와 함께 구현된 터치 패널(도시되지 않음) 또는 별도의 터치 패드(도시되지 않음)를 포함할 수 있다.
입력부(130)는 촬영을 시작/종료하기 위한 명령에 대응되는 사용자 입력을 음성으로 입력받기 위해 마이크(도시되지 않음)를 포함할 수도 있다.
입력부(130)는 하나 이상의 카메라(도시되지 않음)를 포함하는 한편 터치 등을 통해 입력된 사용자 명령에 따라 카메라를 통해 촬영된 하나 이상의 이미지 및/또는 비디오를 획득할 수도 있다.
입출력 포트(140)를 통해, 전자 장치(100)는 외부로부터 이미지에 대한 신호/데이터를 수신하거나 또는 외부에 이미지에 대한 데이터/신호를 전송할 수 있다.
이를 위해, 입출력 포트(140)는 HDMI 포트, 디스플레이 포트, RGB 포트, DVI(Digital Visual Interface) 포트, 썬더볼트 및 컴포넌트 포트 등 유선 포트로 구현될 수 있다.
입출력 포트(140)는 HDMI 포트나 썬더볼트 등으로 구현되어 이미지 및 음성 신호를 함께 전송하도록 구현될 수도 있지만, 이미지 신호를 전송하는 제1 포트 및 음성 신호를 전송하는 제2 포트가 각각 별도로 구현된 것일 수도 있다.
입출력 포트(140)는 USB와 같은 인터페이스 모듈을 포함할 수 있으며, 이 같은 인터페이스 모듈을 통해 PC와 같은 외부 단말 장치와 물리적으로 연결되어 음성 또는 이미지 데이터를 송수신하거나 혹은 펌웨어 업그레이드를 수행하기 위한 펌웨어 데이터를 송수신할 수도 있다.
통신부(150)는 외부 장치(도시되지 않음)와 무선 혹은 유선으로 데이터 통신을 수행하기 위한 수단이다. 프로세서(120)는 통신부(150)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다.
무선 통신 방식으로 외부 장치와 데이터 통신을 수행할 경우, 통신부(140)는 와이파이 다이렉트(WIFI DIRECT) 통신 모듈, 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, NFC(Near Field Communication)모듈, 지그비(Zigbee) 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈 중 적어도 하나를 포함할 수 있다.
유선 통신 방식으로 외부 장치와 데이터 통신을 수행할 경우, 통신부(140)는 동축 케이블, 광섬유 케이블 등과 연결되어 LAN(Local Area Network) 통신을 수행함으로써 다양한 데이터를 송수신할 수도 있다.
프로세서(120)는 통신부(150)를 통해 외부 장치(도시되지 않음)와 하나 이상의 이미지 또는 영상에 대한 데이터를 주고받을 수 있다.
디스플레이(160)는 프로세서(120)의 제어에 따라 하나 이상의 이미지를 표시하기 위한 구성이다. 이를 위해, 디스플레이(170)는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED) 등으로 구현될 수 있다. LCD로 구성되는 경우, 디스플레이(170) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로(도시되지 않음), 백라이트 유닛(도시되지 않음) 등도 함께 포함될 수 있다.
한편, 디스플레이(160)는 사용자의 터치 조작을 감지할 수 있는 터치 패널이 포함된 터치스크린 형태로 구현될 수도 있으며, 이 경우 입력부(130)에 포함되는 것으로 볼 수 있다.
디스플레이(160)는 프로세서(120)의 제어에 따라 하나 이상의 이미지 및/또는 비디오를 디스플레이할 수 있으며, 전자 장치(100)에 저장된 복수의 이미지 및/또는 비디오에 포함된 얼굴들에 대한 클러스터링에 따라, 각 얼굴에 해당하는 인물들에 대한 다양한 정보(나이, 성별, 인종, 민족 등)를 시각적으로 제공할 수 있다.
- 얼굴 클러스터링
이하에서는 비제한적인 환경에서 수집된 이미지들에 대한 얼굴 클러스터링 작업에 대해 제안된 시스템(도 6 참조)에 대한 실험적 연구가 개시된다.
Base MobileNet(도 1 참조)에 의해 추출된 identity Feature들은, the VGGFace (VGGNet-16) [16] 및 the VGGFace2 (ResNet-50) 등 얼굴 인식에 사용되던 종래의 활용 가능한 CNN들과 비교된다.
VGGFace, VG-Gface2, MobileNet 각각은, 224X224 RGB 이미지들로부터 ““fc7””, ““pool5_7x7_s1””, ““reshape_1/Mean”” 레이어들의 출력에서 D=4096, D=2048, D=1024 : 음수가 아닌 특징들을 추출한다.
모든 계층적 클러스터링 방법들(:from 'SciPy Library')은 특징 벡터들 간의 Euclidean (L2) 거리와 함께 사용된다. '중심'과 '와드의 연계'가 모든 경우에 매우 나쁜 퍼포먼스를 보였으므로, 보고되는 것은 오직 single, average, complete, weighted , median 연계 방법들의 결과이다.
게다가, 사진 앨범에서 얼굴을 구성하기 위해 특별히 개발된 순위-순서(rank-order) 클러스터링[20]이 구현되었다. 모든 클러스터링 방법들의 파라미터들은 각 데이터셋의 10퍼센트를 이용하여 조정되었다. 이하 클러스터링 측정 항목들(metrics)(: ARI(Adjusted Rand Index), AMI(Adjusted Mutual Information), homogeneity(동질성) and completeness(완전성))이 scikit-learn library와 함께 측정된다.
아울러, 개개인들 C와 the BCubed F-measure의 수에 상대적인 것으로, 추출된 클러스터들 'K'의 평균 수(number)도 측정되었다. 이는 얼굴을 그루핑[4, 21]하는 다양한 태스크들에 널리 적용된다.
이하 테스트 데이터(testing data)들은 본 발명의 테스트에 사용되었다.
- face identification protocol [23]에 포함된 Subset of LFW (Labeled Faces in the Wild) dataset [22]. LFW database에 적어도 두 개의 이미지를 포함하고 YTF(YouTube Faces) 데이터베이스(YTF의 피사체들은 LFW의 부분 집합)에 적어도 하나의 비디오를 포함하는 C = 596 피사체들이 모든 클러스터링 방법에 사용된다.
- 589개의 이미지들 각각에 있는 C=32 identities와 함께 931개의 labeled 얼굴들을 포함하는 Gallagher Collection Person Dataset [24]. 본 데이터셋에서 눈 위치만이 이용 가능하기 때문에, 미리 검출된 얼굴은 MTCNN[14]을 사용하고 주어진 눈 영역과 얼굴 영역의 가장 큰 교차 영역을 가진 피사체를 선택한다. 만약 얼굴이 감지되지 않으면, 눈 사이 거리의 1.5배 거리로 선택된 사이즈를 가지는 정사각형 영역이 추출된다.
- 중국 소셜 네트워크 포털의 60명의 실제 사용자 앨범들로부터 미리 감지된 얼굴 이미지들을 포함하는 Wild (GFW)[4]로 얼굴들을 그루핑한다. 앨범의 사이즈는 120에서 3600 얼굴들이고, identities의 최대 수는 C = 321 이다.
클러스터링 성능 측정 항목들에 따른 평균값은 LFW, Gallagher, GFW datasets 각각에 대하여 표 1, 표 2, 표 3을 통해 나타난다.
The Average Linkage는 클러스터 분석 측정 항목의 대부분에 있어 최상의 방법이다.
Rank-order distance [20]의 사용은 낮은 성능 때문에 적절하지 않다. 게다가, 본 distance는 클러스터-level rank-order distance에 대한 추가적인 임계 파라미터를 필요로 한다. 결과적으로, 이러한 클러스터링의 계산 복잡도는 다른 Hierarchical Agglomerative Clustering(HAS) 방법에 비해 3-4배 낮다.
여기서 가장 중요한 결론은, 학습된 MobilNet (도 1)은 대부분의 경우에서, 범용적으로 사용되는 VGGFace보다 정확하다. 예상하였듯, 동일한 VGGFace 2 데이터셋에서 학습된 deep ResNet-50 CNN에 비하면 본 모델의 퀄리티는 조금 떨어진다.
LFW subset (C = 596명) 클러스터링 결과
K/C ARI AMI Homogeneity Completeness F-measure
single VGGFace 1.85 0.884 0.862 0.966 0.939 0.860
VGGFace2 1.22 0.993 0.969 0.995 0.986 0.967
results 2.00 0.983 0.851 0.998 0.935 0.880
Average VGGFace 1.17 0.980 0.937 0.985 0.971 0.950
VGGFace2 1.06 0.997 0.987 0.998 0.994 0.987
results 1.11 0.995 0.971 0.993 0.987 0.966
Complete VGGFace 0.88 0.616 0.848 0.962 0.929 0.823
VGGFace2 0.91 0.760 0.952 0.986 0.978 0.932
results 0.81 0.987 0.929 0.966 0.986 0.916
Weighted VGGFace 1.08 0.938 0.928 0.979 0.967 0.915
VGGFace2 1.08 0.997 0.982 0.998 0.992 0.983
results 1.08 0.969 0.959 0.990 0.981 0.986
Median VGGFace 2.84 0.827 0.674 0.987 0.864 0.751
VGGFace2 1.42 0.988 0.938 0.997 0.972 0.947
results 2.73 0.932 0.724 0.999 0.884 0.791
Rank-Order VGGFace 0.84 0.786 0.812 0.955 0.915 0.842
VGGFace2 0.98 0.712 0.791 0.989 0.907 0.888
results 0.86 0.766 0.810 0.962 0.915 0.863
Gallagher dataset (C = 32명) 클러스터링 결과
K/C ARI AMI Homogeneity Completeness F-measure
single VGGFace 9.13 0.601 0.435 0.966 0.555 0.662
VGGFace2 2.75 0.270 0.488 0.554 0.778 0.637
results 12.84 0.398 0.298 1.000 0.463 0.482
Average VGGFace 1.84 0.858 0.792 0.916 0.817 0.874
VGGFace2 2.94 0.845 0.742 0.969 0.778 0.869
results 2.03 0.890 0.809 0.962 0.832 0.897
Complete VGGFace 1.31 0.571 0.624 0.886 0.663 0.706
VGGFace2 0.94 0.816 0.855 0.890 0.869 0.868
results 1.47 0.644 0.649 0.921 0.687 0.719
Weighted VGGFace 0.97 0.782 0.775 0.795 0.839 0.838
VGGFace2 1.63 0.607 0.730 0.876 0.760 0.763
results 1.88 0.676 0.701 0.952 0.735 0.774
Median VGGFace 9.16 0.613 0.433 0.942 0.555 0.663
VGGFace2 4.41 0.844 0.715 0.948 0.761 0.860
results 12.38 0.439 0.324 0.960 0.482 0.531
Rank-Order VGGFace 1.59 0.616 0.488 0.902 0.582 0.702
VGGFace2 1.94 0.605 0.463 0.961 0.566 0.682
results 3.06 0.249 0.251 0.986 0.424 0.398
GFW dataset (평균적으로, C = 46명)
K/C ARI AMI Homogeneity Completeness F-measure
single VGGFace 4.10 0.440 0.419 0.912 0.647 0.616
VGGFace2 3.21 0.580 0.544 0.942 0.709 0.707
results 4.19 0.492 0.441 0.961 0.655 0.636
Average VGGFace 1.42 0.565 0.632 0.860 0.751 0.713
VGGFace2 1.59 0.603 0.663 0.934 0.761 0.746
results 1.59 0.609 0.658 0.917 0.762 0.751
Complete VGGFace 0.95 0.376 0.553 0.811 0.690 0.595
VGGFace2 1.44 0.392 0.570 0.916 0.696 0.641
results 1.28 0.381 0.564 0.886 0.693 0.626
Weighted VGGFace 1.20 0.464 0.597 0.839 0.726 0.662
VGGFace2 1.05 0.536 0.656 0.867 0.762 0.710
results 1.57 0.487 0.612 0.915 0.727 0.697
Median VGGFace 5.30 0.309 0.307 0.929 0.587 0.516
VGGFace2 4.20 0.412 0.422 0.929 0.639 0.742
results 6.86 0.220 0.222 0.994 0.552 0.411
Rank-Order VGGFace 0.82 0.319 0.430 0.650 0.694 0.630
VGGFace2 1.53 0.367 0.471 0.937 0.649 0.641
results 1.26 0.379 0.483 0.914 0.658 0.652
놀랍게도, 가장 복잡한 GFW 데이터셋(0.751)에 대한 가장 높은 BCubed F-measure 은 본 모델에 의해 이뤄진다. 본 값은 original paper[4]에 보고된 the best BCubed F-measure(0.745)보다 조금 더 높다. 그러나, 실용적인 관점에서, 본 모델의 가장 중요한 장점은 매우 훌륭한 run-time/space 복잡도이다. 예를 들어, 본 모델의 추론은 VGGFace 및 VGGFace2에 비해 5-10배 빠르다. 게다가, 특징 벡터의 차원이 2-4배 정도 낮은 결과, 클러스터링 방법에 있어 distance 행렬의 더 빠른 계산으로 이어진다. 게다가, 본 모델은 관찰되는 얼굴 이미지의 나이 및 성별을 동시에 예측할 수 있게 한다. 다음 내용이 이를 뒷받침한다.
- 비디오 기반 얼굴 속성들 인식에 대한 실험 결과
본 개시에 따른 CNN 모델이, 이하와 같은 종래의 나이/성별 등 얼굴 속성들 예측에 이용되던 CNN들과 비교된다.
1. Adience dataset[5]에서 학습된 Age_net/gender_net[25]
2. 다소 큰 IMDB-Wiki dataset[6]을 통해 학습된 Deep expectation(DEX) VGG16 network
추가적으로, MobileNet-based 모델(도 1)에 대한 두 가지 특별한 케이스들이 추가로 연구된다. 첫째로, 본 모델은 standard Tensorflow Quantization graph transforms를 이용하여 압축된다. 둘째로, 본 모델의 모든 레이어들이 나이 및 성별 예측들에 적합하게 조정된다(fine-tuned). 비록 이러한 조정(tuning)이 the base MobileNet의 출력에서의 identity Feature들을 이용하는 얼굴 식별의 정확도를 줄이는 것은 명백하지만, 성별 및 나이 분류 각각에 대해, validity accuracy를 각각 1 퍼센트 및 2 퍼센트 증가시켰다.
본 실험은 MacBook 2016 Pro laptop(CPU: 4xCore i7 2.2 Ghz, RAM: 16GB) 및 두 개의 모바일 폰들을 통해 수행되었다. 두 개의 모바일 폰은 Honor 6C pro (CPU: MT6750 4x1 GHz and 4x2.5 GHz, RAM: 3 GB) 및 Samsung S9+ (CPU: 4x2.7 GHz Mongoose M3 and 4x1.8 GHz Cortex-A55, RAM: 6 GB)이다.
모델 파일의 크기 및 하나의 얼굴 이미지에 대한 평균 추론 시간이 이하 표 4에 도시된다.
CNN들의 성능 분석
CNN Model size,
MB
Average CPU inference time, s.
Laptop Mobile phone 1 Mobile Phone 2
age_net/gender_net 43.75 0.091 1.082 0.224
DEX 513.82 0.21 2.730 0.745
suggested MobileNet 13.48 0.021 0.354 0.069
suggested MobileNet, quantized 3.41 0.019 0.388 0.061
예상한 대로, MobilNet 들은 deeper convolutional network들보다 몇 배 빨랐으며, weight들을 저장함에 있어 더 적은 메모리가 필요했다.
비록, 양자화된 MobileNet의 경우 모델의 사이즈는 4배 줄지만, 추론 시간이 감소되지는 않는다.
결론적으로, 랩탑의 계산 시간은 모바일 폰들의 추론에 비교했을 때 매우 작지만, 모바일 폰들의 최신 모델들(mobile phone 2)은 오프라인 이미지 인식에 모든 면에서 더 적합했다. 사실, 본 모델은 얼굴 Identity Feature들을 추출하는 데에 겨우 60ms밖에 필요하지 않았고 나이 및 성별을 모두 예측함으로써, 장치 내 얼굴 앨범들에 대한 복잡한 분석들을 가능하게 했다.
다음 실험에서는, 성별 인식과 나이 인식의 모델들의 정확도가 비교되었다. 이하 영상 데이터셋들이 사용되었다.
- 52명의 피사체(14 여자, 38 남자)들에 대해 9장의 이미지를 포함하는 Eurecom Kinect [26]
- 63 남성과 33 여성의 332 비디오 클립들을 포함하는 Indian Movie Face database(IMFDB)[27]. 본 데이터 셋에서는 오직 네 가지 나이 카테고리만이 이용 가능하다. ““child””(0-15세), ““Young””(16-35), ““Middle””(36-60), ““Old””(60+).
- EmotiW 2018(Emotions recognition in the wild) audio-video emotional sub-challenge[28]로부터의 Acted Facial Expressions in the Wild(AFEW). 이 것은 1165 비디오 파일들을 포함한다. MTCNN [14]와 함께 얼굴 영역들이 감지된다.
- 1165개의 비디오 트랙의 13000개 이상의 전체 프레임들을 포함하는 IARPA Janus Benchmark A (IJB-A) [29]. 본 데이터 셋에서는 오직 성별 정보만이 이용 가능하다.
- 영상 기초의 성별 인식에 있어, 우선 각 비디오 프레임의 성별부터 분류된다. 그 후, simple voting 및 product rule(1)에 해당하는, 두 개의 간단한 융합 전략이 이용된다. 획득된 정확도들은 이하 표 5에서 나타난다.
성별 인식 정확도
CNN Aggregation Eurecom Kinect IMFDB AFEW IJB-A
gender_net Simple Voting 0.73 0.71 0.75 0.60
Product rule 0.77 0.75 0.75 0.59
DEX Simple Voting 0.84 0.81 0.80 0.81
Product rule 0.84 0.88 0.81 0.82
suggested MobileNet Simple Voting 0.94 0.98 0.93 0.95
Product rule 0.93 0.99 0.93 0.96
suggested MobileNet, quantized Simple Voting 0.88 0.96 0.92 0.93
Product rule 0.86 0.96 0.93 0.94
suggested MobileNet, fine-tuned Simple Voting 0.93 0.95 0.91 0.94
Product rule 0.95 0.97 0.92 0.95
첫째로, 본 개시의 모델들('MobileNet's)은 종래의 이용 가능한 CNN들에 비해 훨씬 더 정확하다. 이로써, 매우 큰 데이터셋과 함께 얼굴 인식 태스크에 대하여 base MobileNet을 미리 학습시키는 것은, 보다 좋은 얼굴 표현을 배우는 데에 도움이 된다는 것으로 설명될 수 있다.
둘째로, product rule의 이용은 simple voting과 비교했을 때 1-2퍼센트의 에러 비율 감소를 가져왔다.
세 번째로, 본 개시의 모델의 적절히 조정된(fine-tuned) 버젼(suggested MobileNet, fine-tuned)은 Kinect dataset에 대해서만 가장 낮은 에러 비율을 이뤘고, 나머지 케이스들에 대해서는 1-3퍼센트 낮은 정확성을 보였다.
결론적으로, 비록 CNN의 압축(quantizing)은 모델 사이즈(표 4)를 매우 많이 감소시키지만, 인식 비율의 감소가 7퍼센트까지 갈 수 있다.
이하 나이 예측(표 6)에 대한 마지막 실험 결과이다.
나이 예측 정확도
CNN Aggregation Eurecom Kinect IMFDB AFEW
age_net Simple Voting 0.41 0.68 0.27
Product Rule 0.45 0.48 0.27
Expected Value 0.69 0.32 0.30
DEX Simple Voting 0.60 0.29 0.47
Product Rule 0.71 0.29 0.48
Expected Value 0.71 0.54 0.52
suggested MobileNet Simple Voting 0.92 0.32 0.46
Product Rule 0.94 0.36 0.46
Expected Value 0.94 0.77 0.54
suggested MobileNet, quantized Simple Voting 0.86 0.34 0.44
Product Rule 0.88 0.36 0.46
Expected Value 0.85 0.58 0.50
suggested Mobilenet, fine-tuned Simple Voting 0.74 0.33 0.45
Product Rule 0.77 0.35 0.45
Expected Value 0.92 0.72 0.51
여기서, 실제 나이와 예측된 나이 간의 차이가 5살을 넘지 않으면, Kinect 및 AFEW 데이터셋(with known age)에서 나이가 정확히 인식된 것으로 가정한다.
개별적인 비디오 프레임들의 나이 예측들의 융합은: 1) simple voting, 2) age posterior probabilities(1)의 곱의 최대화, 3) 각 프레임에서 L=3의 상위(top) 예측의 선택으로 기대값(3)을 평균화 등으로 도입될 수 있다.
다시금, 본 개시의 모델이 모든 경우에서 가장 정확하다는 점을 확인할 수 있다. DEX 모델들은 오직 AFEW 데이터셋에 대해서만 본 개시의 CNN들과 비슷한 정도였다. 가장 낮은 에러 비율은 나이 예측의 기대값의 계산에 대해서 획득됐다. 예를 들어, Kinect 및 AFEW 데이터 각각에 대한 simple voting보다 각각 2퍼센트 및 8퍼센트 더 정확했다. 기대값이 45퍼센트 더 높은 인식률로 나타나듯, IMFDB 이미지들과 관련하여 그 효과가 가장 두드러진다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
본 발명의 실시 예들에 대한 전술한 설명들은 예시적인 것이고, 본 명세서의 기술적 범위 내에서 구성들 및 구현 예들에 대한 수정이 가능하다. 예를 들어, 도 1 내지 도 7에 도시된 실시 예들이 일반적이기는 하지만, 이는 단지 예들에 해당할 뿐이다.
비록 본 개시의 실시 예들은 구조적 특징들 또는 방법의 동작들로 서술되었으나, 청부된 청구범위에서 한정된 주제는 반드시 상술한 특징 및 동작에만 제한되는 것은 아니다. 오히려, 상술한 구조적 특징들 및 동작들은 청구범위를 도입하기 위한 예들에 해당할 뿐이다.
또한, 본 개시에 따른 방법들에 있어 각 단계들의 순서가 상술한 예들에만 제한되지 않는다. 순서는 자명한 범위 내에서 통상의 기술자가 특별한 노력 없이도 수정할 수 있다. 각 방법에 속하는 단계들 중 적어도 일부는 순차적으로 또는 동시에 수행될 수 있다. 특정 단계는 생략될 수도 있다. 본 발명의 기술적 사상은 이하 청구항들을 통해서만 제한될 수 있다.
1000: CNN 110: 메모리
120: 프로세서 130: 입력부
140: 입출력 포트 150: 통신부
160: 디스플레이

Claims (20)

  1. 전자 장치의 제어 방법에 있어서,
    복수의 이미지를 포함하는 학습 데이터를 기초로 적어도 하나의 이미지에 포함된 얼굴을 식별하기 위한 Identity Feature를 추출하도록 학습된 CNN(Convolutional Neural Network)에 이미지를 입력하여, 상기 입력된 이미지에 대한 적어도 하나의 Identity Feature를 획득하는 단계;
    드롭 아웃 정규화(Dropout Regularization)가 적용된 적어도 하나의 Hidden Layer에, 상기 획득된 Identity Feature를 입력하는 단계; 및
    상기 Identify Feature의 입력에 따른 상기 Hidden Layer의 출력에 기초하여, 하나 이상의 독립된 Fully-connected Layer를 통해 상기 입력된 이미지에 포함되는 얼굴의 속성(Facial Attribute)을 인식하는 단계;를 포함하는 제어 방법.
  2. 제1항에 있어서,
    상기 속성은,
    나이, 성별, 인종, 민족 및 감정 중 적어도 하나인, 제어 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 독립된 Fully-connected Layer 각각을, 서로 다른 학습 데이터에 기초하여 학습시키는 단계;를 더 포함하고,
    상기 하나 이상의 독립된 Fully-connected Layer 각각은 서로 다른 속성에 각각 대응되는, 제어 방법.
  4. 제1항에 있어서,
    하나 이상의 입력 이미지로부터 얼굴과 관련된 영역을 검출하는 단계; 및
    상기 검출된 영역에서, 상기 학습된 CNN을 통해, 상기 Identity Feature를 추출하는 단계;를 더 포함하는, 제어 방법.
  5. 제4항에 있어서,
    상기 검출하는 단계는,
    Multi-view cascade 분류기 또는 MTCNN(Multi-task cascaded Convolutional Neural Network) 검출기를 통해 수행되는, 제어 방법.
  6. 제1항에 있어서,
    복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하는 단계;
    상기 검출된 영역들로부터 복수의 Identity Feature를 추출하는 단계;
    상기 복수의 Identity Feature를 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하는 단계; 및
    상기 획득된 클러스터 각각에 대응되는 사람의 얼굴의 속성을 인식하는 단계;를 포함하는, 제어 방법.
  7. 제1항에 있어서,
    복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하는 단계;
    상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하는 단계;
    상기 복수의 Identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하는 단계; 및
    상기 획득된 클러스터 각각에 대해 상기 얼굴의 속성들 각각의 평균값을 계산하는 단계;를 포함하는, 제어 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 클러스터를 획득하는 단계는,
    Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득하는, 제어 방법.
  9. 제7항에 있어서,
    상기 얼굴의 속성들 각각의 평균값을 계산하는 단계는,
    Simple Voting을 통해 수행되거나 또는 상기 CNN의 출력들에 있어 Average Posterior Probabilities를 최대화(Maximizing)함으로써 수행되는, 제어 방법.
  10. 제1항에 있어서,
    복수의 비디오 클립 각각에서 복수의 프레임을 선택하는 단계;
    상기 선택된 복수의 프레임들로부터 얼굴과 관련된 영역들을 검출하는 단계;
    상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하는 단계;
    상기 복수의 identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 제1 클러스터(Cluster)를 획득하는 단계;
    상기 제1 클러스터 각각에 대해 복수의 identity Feature 각각의 평균값 및 얼굴의 속성들 각각의 평균값을 계산하는 단계;
    복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하는 단계;
    상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하는 단계;
    상기 계산된 복수의 Identity Feature 각각의 평균값 및 상기 복수의 이미지들로부터 추출된 복수의 Identity Feature를 jointly 클러스터링하여 각각의 사람에 대응되는 제2 클러스터를 획득하는 단계; 및
    상기 제2 클러스터 각각에 대해 얼굴의 속성들 각각의 평균값을 계산하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 선택하는 단계는,
    고정된 frame rate의 비디오 클립의 서로 다른 프레임들을 선택하는, 제어 방법.
  12. 전자 장치에 있어서,
    복수의 이미지를 포함하는 학습 데이터를 기초로 적어도 하나의 이미지에 포함된 얼굴을 식별하기 위한 Identity Feature를 추출하도록 학습된 CNN(Convolutional Neural Network)이 저장된 메모리; 및
    상기 CNN에 이미지를 입력하여, 상기 입력된 이미지에 대한 적어도 하나의 Identity Feature를 획득하고, 드롭 아웃 정규화(Dropout Regularization)가 적용된 적어도 하나의 Hidden Layer에 상기 획득된 Identity Feature를 입력하며, 상기 Identify Feature의 입력에 따른 상기 Hidden Layer의 출력에 기초하여, 하나 이상의 독립된 Fully-connected Layer를 통해 상기 입력된 이미지에 포함된 얼굴의 속성을 인식하는 프로세서;를 포함하는 전자 장치.
  13. 제12항에 있어서,
    상기 하나 이상의 독립된 Fully-connected Layer 각각은,
    서로 다른 속성에 각각 대응되는 서로 다른 학습 데이터에 기초하여 학습된,
    전자 장치.
  14. 제12항에 있어서,
    상기 프로세서는,
    하나 이상의 입력 이미지로부터 얼굴과 관련된 영역을 검출하고, 상기 검출된 영역에서, 상기 학습된 CNN을 통해, 상기 Identity Feature를 추출하는, 전자 장치.
  15. 제14항에 있어서,
    상기 프로세서는,
    Multi-view cascade 분류기 또는 MTCNN(Multi-task cascaded Convolutional Neural Network) 검출기를 통해 상기 영역을 검출하는, 전자 장치.
  16. 제12항에 있어서,
    상기 프로세서는,
    복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하고,
    상기 검출된 영역들로부터 복수의 Identity Feature를 추출하며,
    상기 복수의 Identity Feature를 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하고,
    상기 획득된 클러스터 각각에 대응되는 사람의 얼굴의 속성을 인식하는, 전자 장치.
  17. 제12항에 있어서,
    상기 프로세서는,
    복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하고,
    상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하며,
    상기 복수의 Identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 클러스터(Cluster)를 획득하고,
    상기 획득된 클러스터 각각에 대해 상기 얼굴의 속성들 각각의 평균값을 계산하는, 전자 장치.
  18. 제16항 또는 제17항에 있어서,
    상기 프로세서는,
    Hierarchical Agglomerative Clustering (HAS)을 이용하여 상기 클러스터를 획득하는, 전자 장치.
  19. 제17항에 있어서,
    상기 프로세서는,
    Simple Voting을 이용하거나 또는 상기 CNN의 출력들에 있어 Average Posterior Probabilities를 최대화(Maximizing)함으로써 상기 얼굴의 속성들 각각의 평균값을 계산하는, 전자 장치.
  20. 제12항에 있어서,
    상기 프로세서는,
    복수의 비디오 클립 각각에서 복수의 프레임을 선택하고,
    상기 선택된 복수의 프레임들로부터 얼굴과 관련된 영역들을 검출하며,
    상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하고,
    상기 복수의 identity Feature 및 상기 속성들을 클러스터링(Clustering)하여 각각의 사람에 대응되는 제1 클러스터(Cluster)를 획득하며,
    상기 제1 클러스터 각각에 대해 복수의 identity Feature 각각의 평균값 및 얼굴의 속성들 각각의 평균값을 계산하고,
    복수의 이미지들로부터 얼굴과 관련된 영역들을 검출하며,
    상기 검출된 영역들로부터 복수의 Identity Feature 및 얼굴의 속성들을 추출하고,
    상기 계산된 복수의 Identity Feature 각각의 평균값 및 상기 복수의 이미지들로부터 추출된 복수의 Identity Feature를 jointly 클러스터링하여 각각의 사람에 대응되는 제2 클러스터를 획득하며,
    상기 제2 클러스터 각각에 대해 얼굴의 속성들 각각의 평균값을 계산하는, 전자 장치.
KR1020190043216A 2018-07-11 2019-04-12 보완된 cnn을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치. KR20200010993A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/504,802 US11222196B2 (en) 2018-07-11 2019-07-08 Simultaneous recognition of facial attributes and identity in organizing photo albums

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2018125429 2018-07-11
RU2018125429 2018-07-11
RU2018143163A RU2710942C1 (ru) 2018-12-06 2018-12-06 Одновременное распознавание атрибутов лиц и идентификации личности при организации фотоальбомов
RU2018143163 2018-12-06

Publications (1)

Publication Number Publication Date
KR20200010993A true KR20200010993A (ko) 2020-01-31

Family

ID=69369448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190043216A KR20200010993A (ko) 2018-07-11 2019-04-12 보완된 cnn을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치.

Country Status (1)

Country Link
KR (1) KR20200010993A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783601A (zh) * 2020-06-24 2020-10-16 北京百度网讯科技有限公司 人脸识别模型的训练方法、装置、电子设备及存储介质
CN111881737A (zh) * 2020-06-18 2020-11-03 深圳数联天下智能科技有限公司 年龄预测模型的训练方法及装置、年龄预测方法及装置
CN112669203A (zh) * 2020-12-30 2021-04-16 咪咕文化科技有限公司 图像中的人物性转方法、电子设备和存储介质
CN111439267B (zh) * 2020-03-30 2021-12-07 上海商汤临港智能科技有限公司 一种舱内环境的调整方法及装置
KR20220013820A (ko) 2020-07-27 2022-02-04 주식회사 큐브릭디지털 멀티태스킹, 앙상블 러닝 및 깊이 기반 가분 컨볼루션 기반 임베디드 딥러닝 얼굴 성별 및 나이 추정 방법
KR102374068B1 (ko) * 2021-06-14 2022-03-17 주식회사 큐알씨뱅크 블록체인 기반 얼굴인식 결제 서비스 제공 시스템
KR20220093966A (ko) * 2020-12-28 2022-07-05 (주) 인비즈 비전 메이커에서 촬영 영상을 딥러닝 학습데이터로 변환하는 장치 및 방법
KR20220094997A (ko) 2020-12-29 2022-07-06 주식회사 테라젠바이오 유전정보 기반 미래 얼굴 예측 방법 및 장치
KR20220112913A (ko) * 2021-02-04 2022-08-12 가천대학교 산학협력단 불꽃 및 연기 자동 감지 방법 및 이를 이용하는 확장 cnn 기반의 감시 시스템
WO2023080275A1 (ko) * 2021-11-04 2023-05-11 (주)한국플랫폼서비스기술 성별 및 나이를 분류하는 딥러닝 프레임워크 응용 데이터베이스 서버 및 그 방법

Non-Patent Citations (32)

* Cited by examiner, † Cited by third party
Title
Aggarwal, C.C., Reddy, C.K.: Data clustering: algorithms and applications. CRC press (2013)
Best-Rowden, L., Han, H., Otto, C., Klare, B.F., Jain, A.K.: Unconstrained face recognition: identitying a person of interest from a media collection. IEEE. Transactions on Information Forensics and Security 9(12) (2014) 2144-2157
Cao, Q., Shen, L., Xie, W., Parkhi, O.M., Zisserman, A.: VGGFace2: A dataset for recognising faces across pose and age. In: Automatic Face & Gesture Recognition (FG 2018), 2018 13th IEEE International Conference on, IEEE (2018) 67-74
Crosswhite, N., Byrne, J., Stauffer, C., Parkhi, O., Cao, Q., Zisserman, A.: Template adaptation for face verification and identification. In: Automatic Face & Gesture Recognition (FG 2017), 2017 12th IEEE International Conference on, IEEE (2017) 1-8
Dhall, A., et al.: Collecting large, richly annotated facial-expression databases from movies. IEEE Multimedia (2012)
Eidinger, E., Enbar, R., Hassner, T.: Age and gender estimation of unfiltered faces. IEEE Transactions on Information Forensics and Security 9(12) (2014) 2170-2179
Gallagher, A.C., Chen, T.: Clothing cosegmentation for recognizing people. In: Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, IEEE (2008) 1-8
Goodfellow, I., Bengio, Y., Courville, A.: Deep learning. MIT press (2016)
He, Y., Cao, K., Li, C., Loy, C.C.: Merge or not? Learning to group faces via imitation learning. arXiv preprint arXiv:1707.03986 (2017)
Howard, A.G., Zhu, M., Chen, B., Kalenichenko, D., Wang, W., Weyand, T., An- dreetto, M., Adam, H.: MobileNets: Efficient convolutional neural networks for mobile vision applications. arXiv preprint arXiv:1704.04861 (2017)
Kaya, H., Gurpinar, F., Salah, A.A.: Video-based emotion recognition in the wild using deep transfer learning and score fusion. Image and Vision Computing 65 (2017) 66-75
Kittler, J., Hatef, M., Duin, R.P., Matas, J.: On combining classifiers. IEEE Transactions on Pattern Analysis and Machine Intelligence 20(3) (1998) 226-239
Klare, B.F., Klein, B., Taborsky, E., Blanton, A., Cheney, J., Allen, K., Grother, P., Mah, A., Jain, A.K.: Pushing the frontiers of unconstrained face detection and recognition: Iarpa janus benchmark a. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. (2015) 1931-1939
Learned-Miller, E., Huang, G.B., RoyChowdhury, A., Li, H., Hua, G.: Labeled faces in the wild: A survey. In: Advances in face detection and facial image analysis. Springer (2016) 189-248
Levi, G., Hassner, T.: Age and gender classification using convolutional neural networks. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. (2015) 34-42
Manju, A., Valarmathie, P.: Organizing multimedia big data using semantic based video content extraction technique. In: Soft-Computing and Networks Security (ICSNS), 2015 International Conference on, IEEE (2015) 1-4
Miech, A., Laptev, I., Sivic, J.: Learnable pooling with context gating for video classification. arXiv preprint arXiv:1706.06905 (2017)
Min, R., Kose, N., Dugelay, J.L.: Kinectfacedb: A Kinect database for face recognition. IEEE Transactions on Systems, Man, and Cybernetics: Systems 44(11) (2014) 1534-1548
Parkhi, O.M., Vedaldi, A., Zisserman, A., et al.: Deep face recognition. In: BMVC. Volume 1. (2015) 6
Ranjan, R., Patel, V.M., Chellappa, R.: Hyperface: A deep multi-task learning framework for face detection, landmark localization, pose estimation, and gender recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence (2017)
Rassadin, A., Gruzdev, A., Savchenko, A.: Group-level emotion recognition using transfer learning from face identification. In: Proceedings of the 19th ACM International Conference on Multimodal Interaction, ACM (2017) 544-548
Rothe, R., Timofte, R., Van Gool, L.: DEX: Deep expectation of apparent age from a single image. In: Proceedings of the IEEE International Conference on Computer Vision Workshops. (2015) 10-15
Savchenko, A.V., Belova, N.S.: Unconstrained face identification using maximum likelihood of distances between deep off-the-shelf features. Expert Systems with Applications 108 (2018) 170-182
Setty, S., Husain, M., Beham, P., Gudavalli, J., Kandasamy, M., Vaddi, R., Hemadri, V., Karure, J., Raju, R., Rajan, B., et al.: Indian movie face database: a benchmark for face recognition under wide variations. In: Fourth National Con-ference on Computer Vision, Pattern Recognition, Image Processing and Graphics (NCVPRIPG), IEEE (2013) 1-5
Sokolova, A.D., Kharchevnikova, A.S., Savchenko, A.V.: Organizing multimedia data in video surveillance systems based on face verification with convolutional neural networks. In: International Conference on Analysis of Images, Social Networks and Texts, Springer (2017) 223-230
Wang, F., Cheng, J., Liu, W., Liu, H.: Additive margin softmax for face verification. IEEE Signal Processing Letters 25(7) (2018) 926-930
Yang, J., Ren, P., Chen, D., Wen, F., Li, H., Hua, G.: Neural aggregation network for video face recognition. In: Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), IEEE (2017) 4362-4371
Zhang, K., Zhang, Z., Li, Z., Qiao, Y.: Joint face detection and alignment using multitask cascaded convolutional networks. IEEE Signal Processing Letters 23(10) (2016) 1499-1503
Zhang, Y.J., Lu, H.: A hierarchical organization scheme for video data. Pattern Recognition 35(11) (2002) 2381-2387
Zhang, Z., Luo, P., Loy, C.C., Tang, X.: Joint face representation adaptation and clustering in videos. In: European conference on computer vision, Springer (2016) 236-251
Zhu, C., Wen, F., Sun, J.: A rank-order distance based clustering algorithm for face tagging. In: Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, IEEE (2011) 481-488
Zhu, P., Zhang, L., Zuo, W., Zhang, D.: From point to set: Extend the learning of distance metrics. In: Proceedings of the International Conference on Computer Vision (ICCV), IEEE (2013) 2664-2671

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111439267B (zh) * 2020-03-30 2021-12-07 上海商汤临港智能科技有限公司 一种舱内环境的调整方法及装置
CN111881737A (zh) * 2020-06-18 2020-11-03 深圳数联天下智能科技有限公司 年龄预测模型的训练方法及装置、年龄预测方法及装置
CN111881737B (zh) * 2020-06-18 2023-12-08 深圳数联天下智能科技有限公司 年龄预测模型的训练方法及装置、年龄预测方法及装置
CN111783601A (zh) * 2020-06-24 2020-10-16 北京百度网讯科技有限公司 人脸识别模型的训练方法、装置、电子设备及存储介质
CN111783601B (zh) * 2020-06-24 2024-04-26 北京百度网讯科技有限公司 人脸识别模型的训练方法、装置、电子设备及存储介质
KR20220013820A (ko) 2020-07-27 2022-02-04 주식회사 큐브릭디지털 멀티태스킹, 앙상블 러닝 및 깊이 기반 가분 컨볼루션 기반 임베디드 딥러닝 얼굴 성별 및 나이 추정 방법
KR20220093966A (ko) * 2020-12-28 2022-07-05 (주) 인비즈 비전 메이커에서 촬영 영상을 딥러닝 학습데이터로 변환하는 장치 및 방법
KR20220094997A (ko) 2020-12-29 2022-07-06 주식회사 테라젠바이오 유전정보 기반 미래 얼굴 예측 방법 및 장치
CN112669203B (zh) * 2020-12-30 2024-04-12 咪咕文化科技有限公司 图像中的人物性转方法、电子设备和存储介质
CN112669203A (zh) * 2020-12-30 2021-04-16 咪咕文化科技有限公司 图像中的人物性转方法、电子设备和存储介质
KR20220112913A (ko) * 2021-02-04 2022-08-12 가천대학교 산학협력단 불꽃 및 연기 자동 감지 방법 및 이를 이용하는 확장 cnn 기반의 감시 시스템
KR102374068B1 (ko) * 2021-06-14 2022-03-17 주식회사 큐알씨뱅크 블록체인 기반 얼굴인식 결제 서비스 제공 시스템
WO2023080275A1 (ko) * 2021-11-04 2023-05-11 (주)한국플랫폼서비스기술 성별 및 나이를 분류하는 딥러닝 프레임워크 응용 데이터베이스 서버 및 그 방법

Similar Documents

Publication Publication Date Title
US11222196B2 (en) Simultaneous recognition of facial attributes and identity in organizing photo albums
KR20200010993A (ko) 보완된 cnn을 통해 이미지 속 얼굴의 속성 및 신원을 인식하는 전자 장치.
US10579860B2 (en) Learning model for salient facial region detection
Wang et al. Inferring salient objects from human fixations
US10650040B2 (en) Object recognition of feature-sparse or texture-limited subject matter
Sunitha et al. Intelligent deep learning based ethnicity recognition and classification using facial images
Waheed et al. Deep learning algorithms-based object detection and localization revisited
Wang et al. CLARE: A joint approach to label classification and tag recommendation
Elharrouss et al. Pose-invariant face recognition with multitask cascade networks
Savchenko et al. Preference prediction based on a photo gallery analysis with scene recognition and object detection
Samadiani et al. A multiple feature fusion framework for video emotion recognition in the wild
US11423262B2 (en) Automatically filtering out objects based on user preferences
Zhu et al. Facial emotion recognition using a novel fusion of convolutional neural network and local binary pattern in crime investigation
Bayoudh et al. An attention-based hybrid 2D/3D CNN-LSTM for human action recognition
Shen et al. Domain adaptation for eye segmentation
Fernandez et al. A real-time big data architecture for glasses detection using computer vision techniques
RU2710942C1 (ru) Одновременное распознавание атрибутов лиц и идентификации личности при организации фотоальбомов
CN112380369B (zh) 图像检索模型的训练方法、装置、设备和存储介质
Akilan Video foreground localization from traditional methods to deep learning
Jindal et al. Facial Recognition with Computer Vision
Baffour et al. Facial expression recognition via coarse-grained and fine-grained feature representation
Peng et al. Affect-DML: Context-Aware One-Shot Recognition of Human Affect using Deep Metric Learning
Liu et al. A discriminative structural model for joint segmentation and recognition of human actions
Wu et al. Weighted classification of machine learning to recognize human activities
Xiong et al. Parallel tracking and detection for long-term object tracking

Legal Events

Date Code Title Description
A201 Request for examination