KR102436127B1 - 인공신경망에 기반하여 주름을 검출하는 방법 및 장치 - Google Patents

인공신경망에 기반하여 주름을 검출하는 방법 및 장치 Download PDF

Info

Publication number
KR102436127B1
KR102436127B1 KR1020220050797A KR20220050797A KR102436127B1 KR 102436127 B1 KR102436127 B1 KR 102436127B1 KR 1020220050797 A KR1020220050797 A KR 1020220050797A KR 20220050797 A KR20220050797 A KR 20220050797A KR 102436127 B1 KR102436127 B1 KR 102436127B1
Authority
KR
South Korea
Prior art keywords
wrinkle
skin image
output
layer
model
Prior art date
Application number
KR1020220050797A
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
Application filed by 주식회사 룰루랩 filed Critical 주식회사 룰루랩
Application granted granted Critical
Publication of KR102436127B1 publication Critical patent/KR102436127B1/ko
Priority to US17/967,445 priority Critical patent/US11704901B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/44Detecting, measuring or recording for evaluating the integumentary system, e.g. skin, hair or nails
    • A61B5/441Skin evaluation, e.g. for skin disorder diagnosis
    • A61B5/442Evaluating skin mechanical properties, e.g. elasticity, hardness, texture, wrinkle assessment
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0077Devices for viewing the surface of the body, e.g. camera, magnifying lens
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • G06N3/0454
    • G06N3/0481
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/84Arrangements for image or video recognition or understanding using pattern recognition or machine learning using probabilistic graphical models from image or video features, e.g. Markov models or Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30088Skin; Dermal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Image Analysis (AREA)
  • Surgery (AREA)
  • Mathematical Physics (AREA)
  • Physiology (AREA)
  • Dermatology (AREA)
  • Signal Processing (AREA)
  • Psychiatry (AREA)
  • Fuzzy Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)

Abstract

다양한 실시 예에 따르면, 인공지능에 기반하여 주름 검출 방법을 제공하는 주름 검출 서비스 제공 서버는, 피부 측정 장치로부터 사용자의 피부 이미지를 획득하고, 상기 피부 이미지에 기반한 랜드마크를 기준으로 전처리를 수행하는 데이터 전처리부; 상기 데이터 전처리를 통해 전처리가 된 상기 피부 이미지를 인공신경망에 입력하여 상기 피부 이미지에 대응하는 주름 확률 맵을 생성하는 주름 검출부; 상기 생성된 주름 확률 맵에 대하여 후처리를 수행하는 데이터 후처리부; 상기 후처리가 수행된 상기 주름 확률 맵을 상기 피부 이미지에 오버랩하여 상기 사용자의 사용자 단말에 주름 시각화 이미지를 제공하는 주름 시각화 서비스 제공부를 포함할 수 있다.

Description

인공신경망에 기반하여 주름을 검출하는 방법 및 장치{METHOD AND APPARATUS FOR DETECTING WRINKLES BASED ON ARTIFICIAL NEURAL NETWORK}
본 발명은 인공신경망에 기반하여 주름을 검출하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 복수의 인공신경망들을 이용한 앙상블 모델에 기반하여 주름을 검출하는 방법 및 장치에 관한 것이다.
근래 들어, 생활이 윤택해지고 삶의 질이 향상됨에 따라 피부 미용에 대한 관심이 부쩍 증가하고 있다. 특히 온라인 상에서 동안 미인, 피부 미인이라는 용어가 유행인만큼 하얗고 주름이 없는 깨끗한 피부가 미인을 구분하는 주요한 척도로 자리매김하고 있고, 이러한 시대상을 반영하여 여성은 물론 남성들조차 피부 미용에 많은 시간과 돈을 투자하고 있다.
따라서 피부 미용이나 피부의 질을 개선하기 위해 사용되는 화장품, 식품, 의약품을 제조하는 업체들도 보다 효능이 좋은 제품을 개발하는데 많은 시간과 노력을 투자하고 있다. 그런데 이러한 노력에 필수적인 것이 바로 피부 개선품을 사용하기 전의 피부 상태를 판단하는 것과 피부 개선품을 사용한 후에 나타나는 효능을 정확하게 판단하는 것이다. 이를 위해서 피부 개선품을 사용하기 전에 촬영하여 획득한 피부 이미지 또는 피부 주름 이미지에 기반하여 사용자에게 맞게 진단하거나 피부 개선품을 사용한 후에 촬영하여 획득한 피부 이미지 또는 피부 주름 이미지에 기반하여 피부 개선품의 효능을 판단할 수 있도록 하는 기술이 선결 과제로 요구되고 있다.
한편, 최근에는 사람의 지능을 모방하여 피부 진단과 같은 복잡한 일을 수행하는 인공지능(artificial intelligence)에 대한 연구가 활발히 진행되고 있다. 인공지능은 기계학습 알고리즘을 이용하여 학습되어 동작하는 형태의 머신 러닝(machine learning)을 포함하는 넓은 개념이며, 머신 러닝 분야에서도 사람의 뉴런들을 모방하여 구현된 딥 러닝(deep learning)이 조금 더 진보된 개념으로 알려져 있다. 딥 러닝에 따른 심층 신경망(Deep Neural Network, DNN)은, 다중의 은닉층을 포함하여 다양한 비선형적 관계를 학습하고, 학습 결과를 기반으로 예측 결과를 제공하는 인공신경망(ANN, Artificial Neural Network)으로서, 이에 대한 많은 관심과 연구가 이루어지고 있다.
특히, 피부 이미지에 기반하여 주름을 검출하기 위해서는 이미지와 같은 2차원 데이터를 처리하기 위한 합성곱 신경망(CNN, Convolutional Neural Network)이 주로 이용되고 있으며, 합성곱 신경망은 U-Net, shallow-CNN, AlexNet, ResNet 등 다양한 방식의 모델이 논의되고 있다.
등록특허 제10-2297301호(2020.01.09., 공개) 등록특허 제10-1076307호(2010.08.25., 공개) 등록특허 제10-1828503호(2017.08.23., 공개)
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 시맨틱 분할 모델과 패치 분할 모델, 및 이들을 조합한 앙상블 모델을 이용하여 주름을 검출하는 방법을 제공하는데 있다.
다양한 실시 예에 따르면, 인공지능에 기반하여 주름 검출 방법을 제공하는 주름 검출 서비스 제공 서버는, 피부 측정 장치로부터 사용자의 피부 이미지를 획득하고, 상기 피부 이미지에 기반한 랜드마크를 기준으로 전처리를 수행하는 데이터 전처리부; 상기 데이터 전처리를 통해 전처리가 된 상기 피부 이미지를 인공신경망에 입력하여 상기 피부 이미지에 대응하는 주름 확률 맵을 생성하는 주름 검출부; 상기 생성된 주름 확률 맵에 대하여 후처리를 수행하는 데이터 후처리부; 상기 후처리가 수행된 상기 주름 확률 맵을 상기 피부 이미지에 오버랩하여 상기 사용자의 사용자 단말에 주름 시각화 이미지를 제공하는 주름 시각화 서비스 제공부를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 주름 검출부는, 다수의 사용자 단말들로부터 획득된 다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값 및 주름 확률 맵(probability map)과 대응하는 훈련 출력값으로 구성되는 훈련 데이터를 이용하여 학습되고, 복수의 은닉층들로 구성되는 딥러닝 네트워크 기반으로 상기 사용자에 대응하는 상기 주름 확률 맵을 생성하는 주름 검출 모델을 포함하고, 상기 사용자의 전처리된 상기 피부 이미지를 CNN(convolutional neural network) 기반의 상기 주름 검출 모델에 입력하고, 상기 주름 검출 모델의 출력에 기초하여 상기 피부 이미지에 대응하는 주름 확률 맵을 생성할 수 있다.
다양한 실시 예에 따르면, 상기 주름 검출 모델은, 미리 설정된 크기의 피부 이미지에 따른 학습 데이터를 변환하여 획득되는 학습 특징 벡터를 입력 받는 적어도 하나의 컨볼루셔널 계층, 적어도 하나의 활성화 계층, 적어도 하나의 풀링 계층을 포함하는 특징맵 추출 계층; 상기 특징맵 추출 계층으로부터 전달받은 출력값들을 이용하여 산출된 출력 벡터를 출력층에 전달하는 완전 연결 계층; 및 상기 출력 벡터에 활성화함수(activation fuction)를 적용하여 상기 출력 벡터에 대응하는 확률을 결정하고, 결정된 확률이 가장 높은 출력 벡터를 출력하는 출력 계층을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 주름 검출부는, 상기 다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값에 기초하여, 로컬 특징(local feature)을 추출하기 위한 제1 분할 모델(segmentation model)을 학습시키고, 글로벌 특징(global feature)을 추출하기 위한 제2 분할 모델(segmentation model)을 학습시킬 수 있다.
다양한 실시 예에 따르면, 상기 주름 검출부는, 다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값을 상기 제1 분할 모델에 입력하였을 때 출력되는 제1 출력값 및 상기 제2 분할 모델에 입력하였을 때 출력되는 제2 출력값에 결정하고, 제1 출력값에 제1 가중치를 적용하고, 제2 출력값에 제2 가중치를 적용하여 획득되는 훈련 데이터를 완전 연결 계층에 입력하여 주름 확률 맵을 출력하는 앙상블 모델(ensemble model)인 상기 주름 검출 모델을 학습시킬 수 있다.
다양한 실시 예에 따르면, 상기 데이터 전처리부는, 획득된 상기 피부 이미지의 밝기값, 대조값 및 해상도에 기초하여 주름 검출에 적합한 이미지인지 결정하고, 상기 피부 이미지에서 주름 클러스터(cluster)를 결정하고, 결정된 상기 주름 클러스터에 대응하는 ROI 마스크를 설정하고, 상기 데이터 후처리부는, 생성된 상기 주름 확률 맵을 이진화(binarization)하고, 상기 주름 시각화 서비스 제공부는, 상기 ROI 마스크에 기반하여 이진화된 상기 주름 확률 맵을 상기 피부 이미지에 매칭시켜 상기 주름 시각화 이미지를 생성하고, 생성된 상기 주름 시각화 이미지를 상기 사용자 단말에 전송할 수 있다.
다양한 실시 예에 따르면, 상기 제 1 분할 모델은 patch classification에 기반한 모델이며 기존 방식과 다르게 고속 처리가 가능한 구조인 patch segmentation에 기반한 모델이다. 상기 제2 분할 모델은 U-Net에 기반한 모델이며, 상기 주름 검출부는, 상기 제1 분할 모델의 출력 계층의 직전 계층인 컨볼루셔널 계층을 통관한 제1 출력 데이터 및 상기 제2 분할 모델의 출력 계층의 직전 계층인 디컨볼루셔널 계층을 통과한 제2 출력 데이터를 깊이(depth) 방향으로 결합하여 앙상블 데이터를 생성하고, 생성된 상기 앙상블 데이터를 최종 컨볼루셔널 계층에 입력시켜 상기 앙상블 모델을 학습시킬 수 있다.
다양한 실시 예에 따르면, 상기 앙상블 모델은, 상기 훈련 입력값을 입력받았을 때 은닉층의 출력으로 획득되는 출력 벡터와 상기 훈련 출력값에 따른 주름 확률 맵에 대응하는 훈련출력 벡터를 이용하여 하기 수학식에 따른 손실함수를 연산하고, 연산된 상기 손실함수의 결과값이 최소화되도록 지도학습(supervised-learning)되며,
Figure 112022044213024-pat00001
상기 수학식에서, Ldice는 상기 손실함수를 의미하고, n은 상기 다수의 사용자들 각각의 피부 이미지인 샘플의 수이고, pi는 i번째 예측 값이고, g-i는 실제 GT 값(actual ground truth value)일 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 기존의 주름 검출에 관련된 인공신경망 모델에 비하여 더 빠른 결과 데이터를 얻을 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 주름 검출 서비스 제공 시스템을 도시한 도면이다.
도 2는 주름 검출 서비스 제공 서버의 주요 구성 요소를 나타낸 도면이다.
도 3은 일 실시 예에 따른, 피부 이미지가 입력되어 주름 확률 맵이 추출되는 과정을 나타낸 도면이다.
도 4는 일 실시 예에 따른 패치 분류 모델(patch classification model)을 나타낸 도면이다.
도 5는 일 실시 예에 따른 제1 분할 모델(예: patch segmentation model)을 나타낸 도면이다.
도 6은 일 실시 예에 따른 제1 분할 모델(예: patch segmentation model) 및 제2 분할 모델(예: semantic segmentation model)을 혼합한 앙상블 모델(ensemble model)을 나타낸 도면이다.
도 7은 도 1에 따른 주름 검출 서비스 제공 서버의 하드웨어 구성을 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시 예에 주름 검출 서비스 제공 시스템(10)을 도시한 도면이다. 도 1을 참조하면, 주름 검출 서비스 제공 시스템(10)은 주름 검출 서비스 제공 서버(100), 사용자 단말(200) 등을 포함할 수 있다.
이하 설명되는 동작들은 서버(100)뿐만 아니라, 사용자 단말(200)에 의하여 구현될 수 있다. 다시 말해서, 이하 설명되는 데이터 전처리부(101), 주름 검출부(102), 데이터 후처리부(103), 주름 시각화 서비스 제공부(104)에 의하여 수행되는 동작들은 사용자 단말(200)에 포함된 프로세서에 의하여 동작되는 모듈로 이해될 수 있다. 즉, 서버(100)는 소프트웨어 동작을 수행하는 하드웨어의 일 예시로서 하나의 동작 주체로서 설명된 것이며, 그러한 동작 주체는 사용자 단말(200)이 될 수 있음은 통상의 기술자 수준에서 자명하다고 할 것이다.
또는, 다른 일 실시 예로, 이하 설명되는 동작들은 주름 검출 서비스 제공 서버(100)에 의하여 제어되는 플랫폼(예: 웹 페이지 및/또는 어플리케이션)을 통해 수행 내지 구현될 수 있다. 다시 말해서, 주름 검출 서비스 제공 서버(100)는, 사용자가 사용자 단말(200)을 이용하여 네트워크를 통해 주름 검출 서비스 제공 서버(100)에 접속하여 다양한 정보를 입력하고, 등록하고, 출력할 수 있는 웹 사이트를 제공할 수 있으며, 사용자 단말(200)에 설치되고 실행됨으로써 다양한 정보를 입력하고, 등록하고, 출력할 수 있는 어플리케이션을 제공할 수 있다.
주름 검출 서비스 제공 서버(100)는 피부 측정 장치에 의하여 촬영된 사용자의 피부 이미지 내지 사용자 단말(200)에 탑재된 카메라에 의하여 촬영된 사용자의 피부 이미지에 기반하여 사용자의 주름을 시각적으로 확인할 수 있도록 주름 시각화 이미지를 생성하고, 생성된 주름 시각화 이미지를 사용자 단말(200)에 제공할 수 있다.
사용자 단말(200)은 적어도 하나의 카메라 및 프로세서를 포함하며, 상기 카메라를 통해 사용자의 피부 이미지를 촬영할 수 있다. 사용자 단말(200)은 촬영된 사용자의 피부 이미지를 상기 주름 검출 서비스 제공 서버(100)에 제공할 수 있다. 사용자 단말(200)은 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 및 PDA(Personal Digital Assistant) 등 일 수 있다.
주름 검출 서비스 제공 서버(100), 사용자 단말(200)은 각각 통신 네트워크(50)에 연결되어, 통신 네트워크(50)를 통해 서로간 데이터를 송수신할 수 있다. 예를 들어, 통신 네트워크(50)는 LAN(Local Area Network), MAN(Metropolitan Area Network), GSM(Global System for Mobile Network), EDGE(Enhanced Data GSM Environment), HSDPA(High Speed Downlink Packet Access), W-CDMA(Wideband Code Division Multiple Access), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), 블루투스(Bluetooth), 지그비(Zigbee), 와이-파이(Wi-Fi), VoIP(Voice over Internet Protocol), LTE Advanced, IEEE802.16m, WirelessMAN-Advanced, HSPA+, 3GPP Long Term Evolution (LTE), Mobile WiMAX(IEEE 802.16e), UMB(formerly EV-DO Rev. C), Flash-OFDM, iBurst and MBWA (IEEE 802.20) systems, HIPERMAN, Beam-Division Multiple Access (BDMA), Wi-MAX(World Interoperability for Microwave Access), 5G 등 다양한 종류의 유선 또는 무선 네트워크가 사용될 수 있다
도 2는 주름 검출 서비스 제공 서버(100)의 주요 구성 요소를 나타낸 도면이다. 주름 검출 서비스 제공 서버(100)는 데이터 전처리부(101), 주름 검출부(102), 데이터 후처리부(103), 주름 검출 서비스 제공부(104)를 포함할 수 있다.
데이터 전처리부(101)는 사용자 단말(200)에 의하여 촬영된 사용자의 피부 이미지를 사용자 단말(200)로부터 획득할 수 있다. 데이터 전처리부(101)는 사용자의 피부 이미지에 기반한 랜드마크를 기준으로 전처리를 수행할 수 있다. 상기 전처리는 피부 이미지가 인공신경망 모델(예: 주름 검출 모델)에 입력되기 전에 수행되는 과정들을 포함할 수 있다.
주름 검출부(102)는 데이터 전처리부(101)를 통해 전처리가 된 사용자의 피부 이미지를 인공신경망 모델(예: 주름 검출 모델)에 입력할 수 있다. 또한, 주름 검출부(102)는 다수의 사용자 단말들로부터 획득된 다수의 피부 이미지들을 학습 데이터로하여 상기 인공신경망 모델(예: 주름 검출 모델)을 학습시킬 수 있다. 주름 검출부(102)는 상기 인공신경망 모델의 출력으로서 상기 피부 이미지에 대응하는 주름 확률 맵(probability map)을 추출할 수 있다. 주름 검출부(102)는 추출된 상기 주름 확률 맵을 데이터 후처리부(103)에 제공할 수 있다.
데이터 후처리부(103)는 추출된 주름 확률 맵을 이진화(binarization)할 수 있다. 데이터 후처리부(103)는 이진화된 주름 확률 맵을 사용자의 피부 이미지에 매핑될 수 있도록 주름 확률 맵의 크기 및/또는 각도를 조정할 수 있다.
주름 시각화 서비스 제공부(104)는 조정된 주름 확률 맵을 상기 사용자의 피부 이미지에 오버랩하여 주름 시각화를 수행할 수 있다. 주름 시각화 서비스 제공부(104)는 주름 시각화 이미지를 상기 사용자 단말(200)에 제공할 수 있다.
도 3은 일 실시 예에 따른, 피부 이미지가 입력되어 주름 확률 맵이 추출되는 과정을 나타낸 도면이다.
데이터 전처리부(101)는 피부 측정 장치 및/또는 사용자 단말(200)로부터 사용자의 피부 이미지를 획득할 수 있다. 데이터 전처리부(101)는 인공신경망 모델들을 학습시키기 위한 피부 이미지들을 획득할 수 있다.
데이터 전처리부(101)는 획득된 피부 이미지가 인공신경망 모델들을 학습시키거나 주름 검출에 적합한 이미지인지 결정할 수 있다. 데이터 전처리부(101)는 획득된 피부 이미지의 밝기값, 대조값 등에 기초하여 상기 적합한 이미지인지 결정하고, 또한 데이터 전처리부(101)는 획득된 피부 이미지에서 주름 검출에 방해가 될 수 있는 털이 미리 설정된 개수를 초과하거나 상기 피부 이미지의 해상도가 미리 설정된 해상도(예: 320 x 320)보다 낮은 경우 부적합 이미지로 결정할 수 있다.
사람의 피부색이 전부 다르기 때문에, 데이터 전처리부(101)는 상기 피부 이미지의 밝기값, 대조값 등을 조절하고, 상기 피부 이미지를 그레이 스케일(gray scale)로 변환할 수 있다.
데이터 전처리부(101)는 사용자의 피부 이미지에 대하여 랜드마크를 설정할 수 있다. 다시 말해서, 데이터 전처리부(101)는 얼굴이 포함된 이미지들을 위한 오픈 소스 라이브러리를 통해 랜드마크를 설정할 수 있다.
데이터 전처리부(101)는 생성된 상기 랜드 마크를 기준으로 관심 영역(ROI, region of interest)을 설정할 수 있다. 다시 말해서, 데이터 전처리부(101)는 사용자의 주름 클러스터로 예상되는 영역에 ROI 마스크를 적용할 수 있다.
데이터 전처리부(101)는 미리 설정된 가이드(절차)에 의하여 보정을 수행할 수 있다. 미리 설정된 가이드에 의한 보정은 색조(hue), 밝기(brightness), 대비(contrast) 및 부분 밝기(partial brightness)에 대한 보정이 포함될 수 있다.
또한, 데이터 전처리부(101)는 커널 크기가 3인 가우시안 블러 필터(gaussian blur filter)에 기반하여 특정 범위의 임의 HSV(hue, saturation, value) 조정(random HSV adjustment)을 수행할 수 있다.
데이터 전처리부(101)는 주름 클러스터로 예상되는 영역에 ROI 마스크를 적용하고 대조 제한 적응 히스토그램 균등화(contrast-limited adaptive histogram equalization)를 적용할 수 있다. 주름 검출부(102)는 그런 다음 가우스시안의 차(difference of gaussian)를 이용하여 전처리된 피부 이미지로부터 특징 맵을 추출할 수 있다. 주름들은 특징 맵에서 적응 임계값 방법(adaptive threshold method)을 통해 분할될 수 있다. 분할된(segmented) 주름들은 미리 설정된 길이보다 긴 주름, 미리 설정된 길이보다 짧은 주름, 미리 설정된 뎁스(depth)보다 깊은 주름, 두갈래 주름으로 분류될 수 있다.
일 실시 예에 따르면, 인공신경망 기반의 주름 검출 모델은 컨볼루션 신경망(convolutional neural network)(20)으로 구성될 수 있다. 컨볼루션 신경망은 미리 설정된 크기의 이미지 프레임들을 입력 이미지로 입력받아, 특징 맵을 추출하는 컨볼루셔널 계층(21), 추출된 특징에 대해 활성화 함수를 이용해 출력을 활성화할지 여부를 결정하는 활성화 계층(22), 활성화 계층(22)에 따른 출력에 대해 샘플링을 수행하는 풀링 계층(23), 클래스에 따른 분류를 수행하는 완전 연결 계층(24), 완전 연결 계층(24)에 따른 출력을 최종적으로 출력하는 출력 계층(25)을 포함할 수 있다.
컨볼루셔널 계층(21)은 입력 이미지와 필터를 서로 합성곱함으로써 입력 데이터의 특징을 추출하는 계층일 수 있다. 여기서 필터는 입력 이미지의 특징적 부분을 검출하는 함수로서, 일반적으로 행렬로 표현되며 학습 데이터에 의해 지속적으로 학습됨에 따라 결정되는 함수일 수 있다. 컨볼루셔널 계층(21)에 의해 추출된 특징은 특징 맵(feature map)으로 지칭될 수도 있다. 또한, 합성곱을 수행하는 간격 값을 스트라이드(stride)라고 지칭할 수 있는데, 스트라이드 값에 따라 다른 크기의 특징 맵이 추출될 수 있다. 이때, 특징 맵은 필터의 크기가 입력 이미지보다 작으면, 기존의 입력 이미지보다 더 작은 크기를 갖게 되는데, 여러 단계를 거쳐 특징이 소실되는 것을 방지하기 위하여 패딩 과정이 추가로 수행될 수 있다. 이때, 패딩 과정은 생성된 특징 맵의 외곽에 미리 설정된 값(예를 들면 0이나 1)을 추가함으로써 입력 이미지의 크기와 특징 맵의 크기를 동일하게 유지하는 과정일 수 있다.
여기서 본 발명의 일 실시예에 따른 컨볼루셔널 계층(21)은, 1Х1 컨볼루셔널 계층과 3Х3 컨볼루셔널 계층을 순차로 반복 연결한 구조를 사용할 수 있으나 이에 한정되는 것은 아니다.
활성화 계층(22)은 어떠한 값(또는 행렬)으로 추출된 특징을 활성화 함수에 따라 비선형 값으로 바꾸어 활성화 여부를 결정하는 계층으로, 활성화 함수로는 시그모이드(sigmoid) 함수, ReLU 함수, 소프트맥스(softmax) 함수 등이 사용될 수 있다. 예를 들어, 소프트맥스 함수는 입력된 값을 0~1사이의 값으로 모두 정규화하며 출력 값들의 총합은 항상 1이 되는 특성을 가진 함수일 수 있다.
풀링 계층(23)은 활성화 계층(22)의 출력에 대하여 서브 샘플링(subsampling) 또는 풀링(pooling)을 수행하여 특징맵을 대표하는 특징을 선정하는 계층으로서, 특징맵의 일정 영역에 대하여 가장 큰 값을 추출하는 맥스 풀링(max pooling), 평균값을 추출하는 애버리지 풀링(average pooling) 등이 수행될 수 있다. 이때, 풀링 계층은 활성화 함수 이후에 반드시 수행되는 것이 아니라 선택적으로 수행될 수 있다.
또한, 여기서 컨볼루션 신경망(convolutional neural network)(20)은 컨볼루셔널 계층(21), 활성화 계층(22), 풀링 계층(23)의 연결 구조가 복수개 포함될 수도 있다. 예를 들어, 컨볼루션 신경망(convolutional neural network)(20)은, CNN 기반의 S-CNN(shallow convolutional neural network), YOLO(You Look Only Once), SSD(Single Shot MultiBox Detector), Faster R-CNN, ResNet, U-Net 등이거나 이를 기반으로 개량된 형태의 심층 신경망일 수 있으나 이에 한정되는 것은 아니다.
도 4는 일 실시 예에 따른 패치 분류 모델(patch classification model)을 나타낸 도면이다. 이하 설명되는 패치 분류 모델은 인접 패치 데이터 간의 중복 작업을 제거할 수 있는 효과가 있다.
상기 패치 분류 모델은 미리 설정된 개수의 컨볼루셔널 계층들과 미리 설정된 개수의 완전 연결 계층들로 구성될 수 있다. 예를 들어, 상기 패치 분류 모델은 5개의 컨볼루셔널 계층들과 3개의 완전 연결 계층들로 구성될 수 있다. 상기 패치 분류 모델은 패치 데이터를 입력 데이터로 하여 획득할 수 있으며, 패치(pacth) 데이터는 사용자의 피부 이미지에서 크롭되어 생성된 데이터일 수 있다.
상기 패치 데이터는 3차원 데이터를 포함할 수 있으며, 너비 데이터, 높이 데이터, 깊이 데이터를 포함할 수 있다. 패치 데이터의 너비 길이와 높이 길이는 lp로 표현될 수 있으며, 패치 데이터의 너비 데이터와 높이 데이터는 짝수 비트로 구성될 수 있다. 패치 데이터의 중심은 cx = lp/2 - 1, cy = lp/2 - 1 일 수 있다.
상기 패치 분류 모델에 패치(patch) 데이터가 입력되면, 입력된 패치 데이터는 제1 컨볼루셔널 계층(k=3, p=o, s=1), 제2 컨볼루셔널 계층(k=3, p=0, s=1)을 통과하고, 그 후에 제1 풀링 계층(k=2, p=0, s=2)을 통과할 수 있다. 상기 제1 풀링 계층을 통과한 패치 데이터는 제1 풀링 계층을 통과하고나서 제3 컨볼루셔널 계층(k=3, p=0, s=1), 제4 컨볼루셔널 계층(k=3, p=0, s=1)을 순차적으로 통과하고, 제2 풀링 계층(k=2, p=0, s=2) 및 제5 컨볼루셔널 계층(k=3, p=0, s=1)을 순차적으로 통과할 수 있다. 제5 컨볼루셔널 계층을 통과하여 출력된 데이터는 제1 완전 연결 계층(k=256)에 입력되어 차례로 제2 완전 연결 계층(k=128), 제3 완전 연결 계층(k=1)을 통해 출력될 수 있다.
일 실시 예에서, 상기 제1 완전 연결 계층의 후속 계층으로 제1 드랍아웃(drop-out) 계층으로 구성되고, 상기 제2 완전 연결 계층의 후속 계층으로 제2 드랍아웃(drop-out) 계층으로 구성될 수 있다. 상기 제3 완전 연결 계층 이후에 활성화 함수(예: 시그모이드 함수)를 통해 최종 추론 값을 출력될 수 있다.
일 실시 예에 따른 상기 패치 분류 모델은 제로 패딩을 적용하지 않고(p=0) 구성될 수 있다. 일 실시 예에서, 활성화 계층(예: ReLU 계층)은 풀링 계층 및 제3 완전 연결 계층을 제외하고 모든 계층의 후속 계층으로 포함될 수 있다. 상기 k는 커널(kernel)의 크기로 k=3인 경우 필터(즉, 커널)의 크기는 3 x 3일 수 있다. 상기 p는 패딩(padding)으로 생성된 특징 맵의 외곽에 미리 설정된 값(예를 들면 0이나 1)을 추가함으로써 입력 이미지의 크기와 특징 맵의 크기를 동일하게 유지하는 과정을 의미할 수 있다. 상기 s는 합성곱을 수행하는 간격 값인 스트라이드(stride)를 의미할 수 있다.
도 5는 일 실시 예에 따른 제1 분할 모델(예: patch segmentation model)을 나타낸 도면이다.
상기 제1 분할 모델은 미리 설정된 개수의 컨볼루셔널 계층들과 미리 설정된 개수의 완전 연결 계층들로 구성될 수 있다. 예를 들어, 상기 제1 분할 모델은 5개의 컨볼루셔널 계층들과 3개의 완전 연결 계층들로 구성될 수 있다. 상기 패치 분류 모델은 패치 데이터를 입력 데이터로 하여 획득할 수 있으며, 패치(pacth) 데이터는 사용자의 피부 이미지에서 크롭되어 생성된 데이터일 수 있다.
상기 제1 분할 모델에 피부 이미지가 입력되면, 입력된 피부 이미지는 제1 컨볼루셔널 계층(k=3, p=1, s=1, d=1), 제2 컨볼루셔널 계층(k=3, p=1, s=1, d=1)을 통과하고, 그 후에 제1 풀링 계층(k=2, p=1, s=1, d=1)을 통과할 수 있다. 상기 제1 풀링 계층을 통과한 후 제3 컨볼루셔널 계층(k=3, p=2, s=1, d=2), 제4 컨볼루셔널 계층(k=3, p=2, s=1, d=2)을 순차적으로 통과하고, 제2 풀링 계층(k=2, p=2, s=1, d=2) 및 제5 컨볼루셔널 계층(k=3, p=4, s=1, d=4)을 순차적으로 통과할 수 있다. 제5 컨볼루셔널 계층을 통과하여 출력된 데이터는 제6 컨볼루셔널 계층(k=3, p=4, s=1, d=4), 제7 컨볼루셔널 계층(k=1, p=4, s=1, d=4), 제8 컨볼루셔널 계층(k=3, p=1, s=1, d=1) 및 제9 컨볼루셔널 계층(k=3, p=1, s=1, d=1)을 통과할 수 있다. 상기 d는 dilation을 지시할 수 있다.
도시되지 않았지만, 제2 분할 모델(semantic segmentation model)은 U-net 및/또는 ResNet50기반의 인공신경망 모델이며, 제1 분할 모델이 로컬 특징을 추출하고, 제2 분할 모델은 글로벌 특징을 추출할 수 있다. 이하는 제1 분할 모델 및 제2 분할 모델의 장점을 조합한 앙상블 모델에 대한 설명이다.
도 6은 일 실시 예에 따른 제1 분할 모델(예: patch segmentation model) 및 제2 분할 모델(예: semantic segmentation model)을 혼합한 앙상블 모델(ensemble model)을 나타낸 도면이다.
주름 검출부(102)는 제1 분할 모델 및 제2 분할 모델을 이용한 앙상블 모델을 학습시킬 수 있다. 주름 검출부(102)는 다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값을 상기 제1 분할 모델에 입력하였을 때 출력되는 제1 출력 데이터 및 상기 제2 분할 모델에 입력하였을 때 출력되는 제2 출력 데이터에 결정할 수 있다. 주름 검출부(102)는 제1 출력 데이터에 제1 가중치를 적용하고, 제2 출력 데이터에 제2 가중치를 적용하여 획득되는 훈련 데이터를 완전 연결 계층에 입력하여 주름 확률 맵을 출력하는 앙상블 모델(ensemble model)을 학습시킬 수 있다.
주름 검출부(102)는 제1 분할 모델의 출력 계층의 직전 계층인 컨볼루셔널 계층(예: 상기 제9 컨볼루셔널 계층(k=3, p=1, s=1, d=1))을 통과한 제1 출력 데이터 및 제2 분할 모델의 출력 계층의 직전 계층인 디컨볼루셔널 계층을 통과한 제2 출력 데이터를 깊이(depth) 방향으로 결합하여 앙상블 데이터를 생성하고, 생성된 앙상블 데이터를 최종 컨볼루셔널 계층에 입력시킬 수 있다. 주름 검출부(102)는 상기 앙상블 데이터를 상기 최종 컨볼루셔널 계층에 입력시킴으로써 주름 확률 맵을 추출할 수 있다.
상기 제1 분할 모델, 상기 제2 분할 모델 및 상기 앙상블 모델은, 상기 훈련 입력값을 입력받았을 때 은닉층의 출력으로 획득되는 출력 벡터와 상기 훈련 출력값에 따른 주름 확률 맵에 대응하는 훈련출력 벡터를 이용하여 하기 수학식 1에 따른 제1 손실함수를 연산하고, 연산된 제1 손실함수의 결과값이 최소화되도록 지도학습(supervised-learning)될 수 있다.
Figure 112022044213024-pat00002
상기 수학식 1에서, Ldice는 제1 손실함수를 의미하고, n은 샘플의 수이고, pi는 i번째 예측값이고, g-i는 actual ground truth value일 수 있다.
상기 패치 분류 모델은, 상기 훈련 입력값을 입력받았을 때 은닉층의 출력으로 획득되는 출력 벡터와 상기 훈련 출력값에 따른 주름 확률 맵에 대응하는 훈련출력 벡터를 이용하여 하기 수학식 2에 따른 제2 손실함수를 연산하고, 연산된 제2 손실함수의 결과값이 최소화되도록 지도학습(supervised-learning)될 수 있다.
Figure 112022044213024-pat00003
상기 수학식 2에서, Lbce는 제2 손실함수를 의미하고, n은 샘플의 수이고, pi는 i번째 예측값이고, g-i는 actual ground truth value일 수 있다.
도 7은 도 1에 따른 주름 검출 서비스 제공 서버(100)의 하드웨어 구성을 나타낸 도면이다.
도 7을 참조하면, 주름 검출 서비스 제공 서버(100)는 적어도 하나의 프로세서(110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 동작은, 전술한 주름 검출 서비스 제공 서버(100)의 동작이나 기능 중 적어도 일부를 포함하고 명령어들 형태로 구현되어 프로세서(110)에 의하여 수행될 수 있다.
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.
또한, 주름 검출 서비스 제공 서버(100)는 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, 주름 검출 서비스 제공 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 주름 검출 서비스 제공 서버(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다. 도 7에서는 주름 검출 서비스 제공 서버(100)를 예로 들어 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 복수 개의 사용자 단말들은 도 7에 따른 구성요소를 포함할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 주름 검출 서비스 제공 서버 200: 사용자 단말

Claims (5)

  1. 인공지능에 기반하여 주름 검출 방법을 제공하는 주름 검출 서비스 제공 서버에 있어서,
    피부 측정 장치로부터 사용자의 피부 이미지를 획득하고, 상기 피부 이미지에 기반한 랜드마크를 기준으로 전처리를 수행하는 데이터 전처리부;
    상기 데이터 전처리를 통해 전처리가 된 상기 피부 이미지를 인공신경망에 입력하여 상기 피부 이미지에 대응하는 주름 확률 맵을 생성하는 주름 검출부;
    상기 생성된 주름 확률 맵에 대하여 후처리를 수행하는 데이터 후처리부;
    상기 후처리가 수행된 상기 주름 확률 맵을 상기 피부 이미지에 오버랩하여 상기 사용자의 사용자 단말에 주름 시각화 이미지를 제공하는 주름 시각화 서비스 제공부를 포함하고,
    상기 주름 검출부는,
    다수의 사용자 단말들로부터 획득된 다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값 및 주름 확률 맵(probability map)과 대응하는 훈련 출력값으로 구성되는 훈련 데이터를 이용하여 학습되고, 복수의 은닉층들로 구성되는 딥러닝 네트워크 기반으로 상기 사용자에 대응하는 상기 주름 확률 맵을 생성하는 주름 검출 모델을 포함하고,
    상기 사용자의 전처리된 상기 피부 이미지를 CNN(convolutional neural network) 기반의 상기 주름 검출 모델에 입력하고, 상기 주름 검출 모델의 출력에 기초하여 상기 피부 이미지에 대응하는 주름 확률 맵을 생성하는, 주름 검출 서비스 제공 서버.
  2. 삭제
  3. 청구항 1에서,
    상기 주름 검출 모델은,
    미리 설정된 크기의 피부 이미지에 따른 학습 데이터를 변환하여 획득되는 학습 특징 벡터를 입력 받는 적어도 하나의 컨볼루셔널 계층, 적어도 하나의 활성화 계층, 적어도 하나의 풀링 계층을 포함하는 특징맵 추출 계층;
    상기 특징맵 추출 계층으로부터 전달받은 출력값들을 이용하여 산출된 출력 벡터를 출력층에 전달하는 완전 연결 계층; 및
    상기 출력 벡터에 활성화함수(activation fuction)를 적용하여 상기 출력 벡터에 대응하는 확률을 결정하고, 결정된 확률이 가장 높은 출력 벡터를 출력하는 출력 계층을 포함하는, 주름 검출 서비스 제공 서버.
  4. 청구항 3에서,
    상기 주름 검출부는,
    상기 다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값에 기초하여, 로컬 특징(local feature)을 추출하기 위한 제1 분할 모델(segmentation model)을 학습시키고, 글로벌 특징(global feature)을 추출하기 위한 제2 분할 모델(segmentation model)을 학습시키는, 주름 검출 서비스 제공 서버.
  5. 청구항 4에서,
    상기 주름 검출부는,
    다수의 사용자들 각각의 피부 이미지에 대응하는 훈련 입력값을 상기 제1 분할 모델에 입력하였을 때 출력되는 제1 출력값 및 상기 제2 분할 모델에 입력하였을 때 출력되는 제2 출력값에 결정하고,
    제1 출력값에 제1 가중치를 적용하고, 제2 출력값에 제2 가중치를 적용하여 획득되는 훈련 데이터를 완전 연결 계층에 입력하여 주름 확률 맵을 출력하는 앙상블 모델(ensemble model)인 상기 주름 검출 모델을 학습시키는, 주름 검출 서비스 제공 서버.
KR1020220050797A 2021-09-03 2022-04-25 인공신경망에 기반하여 주름을 검출하는 방법 및 장치 KR102436127B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/967,445 US11704901B2 (en) 2021-09-03 2022-10-17 Method of detecting wrinkles based on artificial neural network and apparatus therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020210117687 2021-09-03
KR20210117687 2021-09-03
KR1020220037541 2022-03-25
KR20220037541 2022-03-25

Publications (1)

Publication Number Publication Date
KR102436127B1 true KR102436127B1 (ko) 2022-08-26

Family

ID=83113246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220050797A KR102436127B1 (ko) 2021-09-03 2022-04-25 인공신경망에 기반하여 주름을 검출하는 방법 및 장치

Country Status (2)

Country Link
US (1) US11704901B2 (ko)
KR (1) KR102436127B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101076307B1 (ko) 2009-02-16 2011-10-26 고려대학교 산학협력단 피부 나이 추론 방법
KR101828503B1 (ko) 2017-08-23 2018-03-29 주식회사 에이젠글로벌 앙상블 모델 생성 장치 및 방법
KR102297301B1 (ko) 2017-05-31 2021-09-06 더 프록터 앤드 갬블 캄파니 겉보기 피부 나이를 결정하기 위한 시스템 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12014500B2 (en) * 2019-04-14 2024-06-18 Holovisions LLC Healthy-Selfie(TM): methods for remote medical imaging using a conventional smart phone or augmented reality eyewear

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101076307B1 (ko) 2009-02-16 2011-10-26 고려대학교 산학협력단 피부 나이 추론 방법
KR102297301B1 (ko) 2017-05-31 2021-09-06 더 프록터 앤드 갬블 캄파니 겉보기 피부 나이를 결정하기 위한 시스템 및 방법
KR101828503B1 (ko) 2017-08-23 2018-03-29 주식회사 에이젠글로벌 앙상블 모델 생성 장치 및 방법

Also Published As

Publication number Publication date
US20230075333A1 (en) 2023-03-09
US11704901B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
CN109558832B (zh) 一种人体姿态检测方法、装置、设备及存储介质
CN109409198B (zh) Au检测方法、装置、设备及介质
CN109657582B (zh) 人脸情绪的识别方法、装置、计算机设备及存储介质
Tian et al. Ear recognition based on deep convolutional network
JP7303844B2 (ja) データ拡張システム、データ拡張方法、及びプログラム
US20230012372A1 (en) Methods and systems for generating three dimensional (3d) models of objects
Qin et al. Visual saliency maps can apply to facial expression recognition
Li et al. Deeplayout: A semantic segmentation approach to page layout analysis
CN110610131B (zh) 人脸运动单元的检测方法、装置、电子设备及存储介质
Barbhuiya et al. Gesture recognition from RGB images using convolutional neural network‐attention based system
Lee et al. The surprisingly straightforward scene text removal method with gated attention and region of interest generation: A comprehensive prominent model analysis
KR102436127B1 (ko) 인공신경망에 기반하여 주름을 검출하는 방법 및 장치
He et al. Visible spectral Iris segmentation via deep convolutional network
US20220114403A1 (en) Fine-grained classification of retail products
CN116958615A (zh) 图片识别方法、装置、设备和介质
CN114445632A (zh) 图片处理方法及装置
KR102445257B1 (ko) 인공신경망에 기반하여 모공을 검출하고 검출된 모공을 시각화하는 방법 및 장치
Kolla et al. diabetic retinopathy classification using binary CNN and data augmentation
Safa aldin et al. Enhanced image classification using edge CNN (E-CNN)
Gunvantray et al. Sign Language to Text Translation Using Convolutional Neural Network
KR102465728B1 (ko) 다크서클을 검출하여 다크서클의 정도를 정량화하는 방법 및 장치
Zhang et al. Occlusion-Aware Facial Expression Recognition Based Region Re-weight Network
Oliveria et al. Recognizing Hand Configurations of Brazilian Sign Language Using Convolutional Neural Networks
Alharbi et al. Detection of Emotion Intensity Using Face Recognition
Venkatadri et al. Image Processing based ML Framework for Leaf Classification and Disease Detection

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant