KR20220002995A - 복수의 객체를 추적하기 위해 컨볼루션 신경망을 사용하는 이미지 프로세싱 - Google Patents

복수의 객체를 추적하기 위해 컨볼루션 신경망을 사용하는 이미지 프로세싱 Download PDF

Info

Publication number
KR20220002995A
KR20220002995A KR1020217038172A KR20217038172A KR20220002995A KR 20220002995 A KR20220002995 A KR 20220002995A KR 1020217038172 A KR1020217038172 A KR 1020217038172A KR 20217038172 A KR20217038172 A KR 20217038172A KR 20220002995 A KR20220002995 A KR 20220002995A
Authority
KR
South Korea
Prior art keywords
branch
cnn
image
objects
computing device
Prior art date
Application number
KR1020217038172A
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 로레알
Publication of KR20220002995A publication Critical patent/KR20220002995A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • 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/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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • 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/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

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

Abstract

손톱 추적을 위한 컨볼루션 신경망(CNN) 모델, 및 네일 폴리쉬 렌더링을 위한 방법 설계가 제시된다. 현재의 소프트웨어 및 하드웨어를 사용하여, 네일 폴리쉬를 렌더링하기 위한 CNN 모델 및 방법은 iOS 및 웹 플랫폼 둘 다에서 실시간으로 실행된다. 동시에 캐스케이드식 모델 아키텍처와 결합된 손실 평균 풀링(LMP)의 사용은 최대 640×480 해상도에서 픽셀 정확도의 손톱 예측들을 가능하게 한다. 제안된 사후-프로세싱 및 렌더링 방법은 개별 손톱들에 대한 그라디언트를 렌더링하고, 손톱 팁의 방향으로 손톱 마스크를 신장시킴으로써 자연 손톱들의 상부에 렌더링할 때 밝은 색 말단 에지를 숨기기 위해, 모델의 복수의 출력 예측을 활용한다. 본 명세서의 교시들은 손톱 외의 객체들을 추적하고 색상 외의 외관 효과들을 적용하기 위해 적용될 수 있다.

Description

복수의 객체를 추적하기 위해 컨볼루션 신경망을 사용하는 이미지 프로세싱
이하는 컨볼루션 신경망(CNN)으로 적응된 컴퓨팅 디바이스를 사용하여 비디오 이미지들을 포함한 이미지들을 프로세싱하는 것에 관한 것이며, 여기서 이러한 컴퓨팅 디바이스는 소비자-지향 스마트폰 또는 태블릿을 포함할 수 있으며, 더 구체적으로 비디오들 내의 손톱들과 같은 복수의 객체를 추적(예를 들어, 시맨틱 분할((semantically segment))하기 위해 CNN을 사용하는 이미지 프로세싱에 관한 것이다.
손톱 추적 문제는 픽셀 정확도(pixel accuracy)로 실시간으로 비디오 스트림으로부터 손톱들을 찾고 식별하는 것이다. 추가적으로, 예를 들어 증강 현실을 제공하기 위해 비디오 스트림으로부터의 이미지를 적응시키는 렌더링 기술을 지원하는 것이 바람직하다. 비디오 스트림을 포함하여, 이미지 내에서 손톱들 외의 객체들을 찾고 식별하는 것이 바람직할 수 있다.
손톱들의 실시간 추적과 네일 폴리쉬 렌더링을 동시에 하기 위한 종단 간 솔루션(end-to-end solution)이 제시된다. 시맨틱 분할 및 랜드마크 레이블들을 갖는 완전히 새로운 데이터세트가 수집되었다. 고해상도 신경망 모델은 모바일 디바이스들을 위해 개발되었고 새로운 데이터세트를 사용하여 훈련되었다. 시맨틱 분할을 제공하는 것 외에도, 모델은 예컨대 배향을 나타내기 위해 방향성 정보를 제공한다. 네일 폴리쉬 시착(try-on)을 위해 사후-프로세싱 및 렌더링 동작들이 제공되며, 이러한 동작들은 모델의 출력들 중 적어도 일부를 사용한다.
손톱들과 관련하여 설명되었지만, 다른 객체들은 분할 및 이미지 업데이트를 위해 유사하게 프로세싱될 수 있다. 그러한 다른 객체들은 또한 단순한 경계들을 가진 작은 객체들일 수 있다(예를 들어, 손톱, 발톱, 신발, 차량(자동차), 자동차 번호판 또는 자동차 부품 등). 여기에서, "작다"라는 용어는 스케일 및 전체 이미지의 크기에 관련 있는 상대적인 용어이다. 예를 들어, 손톱들은 손톱들을 포함하는 이미지에서 캡처되는 손의 크기에 비해 상대적으로 작다. 멀리서 이미징된 차량들의 그룹 내의 차량들은 테이블 상에서 이미징된 자두들(또는 다른 과일)의 그룹과 마찬가지로 작다. 모델은 알려진 개수와 배열(constellation)로 객체들의 세트를 분류(여기에서와 같이, 손의 손가락 끝들을 분류)하는 일반화에 매우 적합하다.
프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서, 저장 디바이스는 CNN 및 명령어들을 저장하고, 명령어들은 프로세서에 의해 실행될 때, 컴퓨팅 디바이스를 복수의 객체를 포함하는 이미지를 CNN으로 프로세싱하도록 구성하고, CNN은 이미지 내의 복수의 객체를 시맨틱 분할하도록 구성되고, CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처(cascaded semantic segmentation model architecture)를 포함하고, 캐스케이드식 시맨틱 분할 모델 아키텍처는: 저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및 고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치를 갖고, CNN은 전경/배경 및 객체 클래스 분할들을 포함하는 정보를 출력하기 위해 제1 브랜치 및 제2 브랜치로부터의 개별 예측들을 결합하는, 컴퓨팅 디바이스가 제공된다.
CNN은 CNN으로부터 출력된 정보가 방향성 정보를 더 포함하도록 제1 브랜치 및 제2 브랜치로부터의 개별 예측들을 결합할 수 있다.
제1 브랜치는 제1 브랜치의 개별 예측들을 생성하기 위한 인코더-디코더 백본을 포함할 수 있다. 제1 브랜치의 개별 예측은 제1 브랜치의 인코더 페이즈를 따라 생성된 초기 예측과 제1 브랜치의 디코더 페이즈에 의한 추가 프로세싱을 따라 생성된 추가 예측의 결합을 포함한다. 초기 예측 및 추가 예측은 제2 브랜치의 개별 예측과의 추가 결합을 제공하도록 제1 브랜치의 개별 예측을 생성하기 위해 제1 브랜치 융합 블록을 사용하여 결합될 수 있다.
제2 브랜치의 개별 예측은 제1 브랜치와 캐스케이드로, 제2 브랜치의 인코더 페이즈에 의한 프로세싱을 따라 생성될 수 있다. 제1 브랜치의 개별 예측(F1)은 제2 브랜치 융합 블록을 사용하여 제2 브랜치의 개별 예측(F2)과 결합될 수 있다. F1은 업샘플링된 저해상도 하이 시맨틱 정보 피처들(up-sampled low-resolution, high semantic information features)을 포함할 수 있고, F2는 고해상도 로우 시맨틱 정보 피처들(high-resolution, low semantic information features)을 포함할 수 있다. 따라서, 제2 브랜치 융합 블록은 제2 브랜치의 디코더 페이즈에서 고해상도 융합 피처들 F2'을 생성하기 위해 F1 및 F2를 결합한다. CNN은 다운샘플링된 클래스 레이블들을 생성하기 위해 개별 예측 F1에 적용된 컨볼루션 분류기를 사용할 수 있다. F2를 프로세싱하기 위해, CNN은 전경/배경 및 객체 클래스 분할 및 방향성 정보를 생성하기 위해 복수의 출력 디코더 브랜치를 사용할 수 있다.
복수의 출력 디코더 브랜치는 전경/배경 분할들을 생성하기 위한 활성화 함수 및 1x1 컨벌루션 블록을 갖는 제1 출력 디코더 브랜치; 객체 클래스 분할들을 생성하기 위한 활성화 함수 및 1x1 컨벌루션 블록을 갖는 제2 출력 디코더 브랜치; 및 방향성 정보를 생성하기 위한 1x1 컨벌루션 블록을 갖는 제3 출력 디코더 브랜치를 포함할 수 있다.
CNN은 전경/배경 분할들을 결정하기 위한 시맨틱 분할에서 픽셀 단위 클래스 불균형(pixel-wise class imbalance)을 극복하기 위해 손실 최대 풀링(Loss Max-Pooling)(LMP) 손실 함수를 사용하여 훈련될 수 있다.
CNN은 전경/배경 및 객체 클래스 분할들을 결정하기 위해 음의 로그 우도 손실(log likelihood loss)(NLL) 함수를 사용하여 훈련될 수 있다.
CNN은 방향성 정보를 결정하기 위해 후버 손실 함수(Huber loss function)를 사용하여 훈련될 수 있다.
각각의 객체는 베이스와 팁을 갖고, 방향성 정보는 베이스-팁 방향 필드들을 포함할 수 있다.
제1 브랜치는 MobileNetV2 인코더-디코더 구조를 사용하여 정의될 수 있고, 제2 브랜치는 MobileNetV2 인코더-디코더 구조로부터의 인코더 구조를 사용하여 정의될 수 있다. CNN은 ImageNet으로부터의 훈련 데이터를 사용하여 초기에 훈련될 수 있고, 그 후, 그라운드 트루스(ground truth)로 라벨링된 복수의 객체에 대한 객체 추적 데이터세트를 사용하여 훈련될 수 있다.
명령어들은 출력된 정보의 적어도 일부를 사용하여 이미지로부터 업데이트된 이미지를 생성하기 위해 이미지 프로세싱을 수행하도록 컴퓨팅 디바이스를 더 구성할 수 있다. 이미지 프로세싱을 수행하기 위해, 복수의 객체의 색상과 같은 외관을 변경하도록, 전경/배경 및 객체 클래스 분할들 및 방향성 정보 중 적어도 일부를 사용할 수 있다.
컴퓨팅 디바이스는 카메라를 포함할 수 있고, 복수의 객체에 적용할 외관 선택을 수신하고, 카메라로부터 이미지로서 사용할 셀카(selfie) 비디오 이미지를 수신하기 위한 사용자 인터페이스를 제시하고; 외관 선택을 사용하여 업데이트된 이미지를 생성하기 위해 셀카 비디오 이미지를 프로세싱하고; 증강 현실을 시뮬레이션하기 위해 업데이트된 이미지를 제시하도록 구성될 수 있다.
컴퓨팅 디바이스는 스마트폰 또는 태블릿을 포함할 수 있다.
이미지는 손톱들을 갖는 손의 적어도 일부를 포함하고, 복수의 객체는 손톱들을 포함할 수 있다. CNN은 출력 정보의 라플라시안 피라미드(Laplacian pyramid)를 제공하도록 정의될 수 있다.
프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서, 저장 디바이스는 명령어들을 저장하고, 명령어들은 프로세서에 의해 실행될 때, 컴퓨팅 디바이스를 복수의 객체를 포함하는 이미지를 프로세싱한 CNN에 의해 시맨틱 분할된 복수의 객체 각각에 대한 전경/배경 및 객체 클래스 분할 및 방향성 정보를 포함하는 CNN 출력을 수신하고; 전경/배경 분할들(및 객체 클래스 분할들)에 따라 분할된 복수의 객체 각각에 대해 선택된 색상의 그라디언트를 드로잉함으로써 - 선택된 색상은 방향성 정보에 의해 표시된 객체들 각각의 개별 방향에 수직하게 드로잉됨 -, 업데이트된 이미지를 생성하기 위해 이미지를 프로세싱하도록 구성하는, 컴퓨팅 디바이스가 제공된다.
컴퓨팅 디바이스는 그라디언트에 걸쳐 복수의 객체 각각에 대한 개별 반사 컴포넌트들을 적용하고 결과를 블렌딩하도록 더 구성될 수 있다.
컴퓨팅 디바이스는 드로잉 이전에, 전경/배경 분할들에 의해 식별된 복수의 객체 각각의 개별 영역들을 신장(stretch)시켜 드로잉을 위해 그것의 팁과 같은 여백이 포함되는 것을 보장하도록 구성될 수 있다. 컴퓨팅 디바이스는 드로잉 이전에, 복수의 객체로부터 결정된 평균 색상으로 신장된 복수의 객체 각각의 개별 영역들 외부의 적어도 일부 인접 영역들을 채색하고; 신장된 복수의 객체 각각의 개별 영역들 및 인접 영역들을 블러링하도록 구성될 수 있다.
컴퓨팅 디바이스는 드로잉할 때 사용하기 위해 선택된 색상을 수신하도록 더 구성될 수 있다.
프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서, 저장 디바이스는 CNN 및 명령어들을 저장하고, 명령어들은 프로세서에 의해 실행될 때, 컴퓨팅 디바이스를 CNN으로 복수의 객체를 포함하는 이미지를 프로세싱하도록 구성하고, CNN은 이미지 내의 복수의 객체를 시맨틱 분할하도록 구성되고, CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 캐스케이드식 시맨틱 분할 모델 아키텍처는: 저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및 고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치를 갖고, CNN은 전경/배경 분할을 포함하는 정보를 출력하기 위해 제1 브랜치 및 제2 브랜치로부터의 개별 예측들을 결합하고, CNN은 손실 평균 폴링 손실 함수(Loss Mean Polling loss function)를 사용하여 훈련되는 컴퓨팅 디바이스가 제공된다.
이미지는 복수의 픽셀을 포함하고, 이미지 내의 복수의 객체는 적은 수의 복수의 픽셀에 의해 표현된다. CNN은 객체 클래스 분할들을 포함하는 정보를 더 출력하기 위해 제1 브랜치 및 제2 브랜치로부터의 개별 예측들을 결합할 수 있고, CNN은 NLL 손실 함수를 사용하여 더 훈련된다. CNN은 방향성 정보를 포함하는 정보를 더 출력하기 위해, 제1 브랜치 및 제2 브랜치로부터의 개별 예측들을 결합하고, CNN은 후버 손실 함수 또는 L2 손실 함수를 사용하여 더 훈련될 수 있다.
CNN은 출력 정보의 라플라시안 피라미드를 제공하도록 정의될 수 있다.
프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서, 저장 디바이스는 명령어들을 포함하고, 명령어들은 프로세서에 의해 실행될 때, 컴퓨팅 디바이스를: CNN을 훈련하기 위해 이미지들의 데이터세트에 주석을 달기 위한 그래픽 사용자 인터페이스(GUI)를 제공하고 - GUI는 주석이 달려질 개별 이미지를 디스플레이하기 위한 이미지 디스플레이 부분을 갖고, 디스플레이 부분은 개별 이미지 내에 보여진 개별 객체들의 윤곽을 정하기 위한(개별 객체들을 분할하기 위한) 입력을 수신하고, 개별 객체들 각각에 대한 방향성 정보를 나타내는 입력을 수신하도록 구성됨 - ; 이미지에 주석을 달기 위한 입력을 수신하고; 데이터세트를 정의하기 위해 주석에 연관하여 이미지를 저장하도록 구성하는 컴퓨팅 디바이스가 제공된다.
컴퓨팅 디바이스는 개별 객체들 각각을 시맨틱 분류하기 위한 입력을 수신하기 위한 컨트롤들을 제공하도록 구성될 수 있다.
CNN은 이미지 내의 복수의 객체를 시맨틱 분할하도록 구성될 수 있고, CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 캐스케이드식 시맨틱 분할 모델 아키텍처는: 저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및 고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치를 갖고, CNN은 전경/배경 및 객체 클래스 분할들을 포함하는 정보를 출력하기 위해 제1 브랜치 및 제2 브랜치로부터의 개별 예측들을 결합한다.
컴퓨팅 디바이스는 본 명세서의 컴퓨팅 디바이스 양태들 및 특징들 중 임의의 것을 갖도록 구성될 수 있다. 관련된 방법 양태들 및 특징들, 및 관련된 컴퓨터 프로그램 제품 양태들 및 특징들은 컴퓨팅 디바이스 양태들 및 특징들 각각에 대해 제공된다는 점이 분명할 것이다. 이러한 것들 및 다른 것들은 본 기술분야의 통상의 기술자에 분명할 것이다.
도 1은 예에 따라 데이터세트에 대한 주석 데이터를 정의하기 위한 그래픽 사용자 인터페이스(GUI)의 스크린샷이다.
도 2는 예에 따른 데이터세트에 대한 주석 데이터를 정의하기 위한 GUI의 일부의 스크린샷이다.
도 3은 예에 따라 이미지를 프로세싱하는 CNN의 그래픽 도시이다.
도 4 및 도 5는 도 3의 CNN의 부분들의 각각의 그래픽 도시이다.
도 6은 전경 및 배경 마스크 및 방향성 정보를 보여주는, 본 명세서의 예에 따라 CNN을 사용하여 프로세싱된 이미지들의 4X4 어레이이다.
도 7a 내지 도 7c는 도 6의 확대된 부분들이다.
도 8은 개별 손톱들에 대한 객체 클래스 분할 마스크들의 적용을 보여주는, 본 명세서의 예에 따라 CNN을 사용하여 프로세싱된 이미지들의 4X4 어레이이다.
도 9는 도 8의 확대된 부분이다.
도 10은 동작들의 흐름도이다.
도 11은 동작들을 위한 의사 코드의 도시이다.
본 발명은 첨부 도면들을 참조하여 본 명세서에 설명된 특정 실시예들을 통해 가장 잘 설명되며, 여기서 유사한 참조 부호들은 전체에 걸쳐 유사한 특징들을 지칭한다. 본 명세서에서 사용될 때의 발명이라는 용어는 단지 실시예들 자체가 아니라 아래에 설명되는 실시예들의 기초가 되는 본 발명의 개념을 함축하도록 의도됨을 이해해야 한다. 일반적인 발명의 개념은 아래에서 설명되는 예시적인 실시예들로 제한되지 않으며, 이하의 설명은 그러한 관점에서 읽혀져야 함을 추가로 이해해야 한다. 하나보다 많은 본 발명의 개념이 도시되고 설명될 수 있으며, 각각은 달리 언급되지 않는 한 독립적이거나 하나 이상의 다른 개념과 결합될 수 있다.
손톱들의 실시간 추적과 네일 폴리쉬 렌더링을 동시에 하기 위한 종단 간 솔루션(end-to-end solution)이 제시된다. 시맨틱 분할 및 랜드마크 레이블들을 갖는 완전히 새로운 데이터세트가 수집되었다. 고해상도 신경망 모델은 모바일 디바이스들을 위해 개발되었고 새로운 데이터세트를 사용하여 훈련되었다. 시맨틱 분할을 제공하는 것 외에도, 모델은 예컨대 배향을 나타내기 위해 방향성 정보를 제공한다. 네일 폴리쉬 시착(try-on)을 위해 사후-프로세싱 및 렌더링 동작들이 제공되며, 이러한 동작들은 모델의 출력들 중 적어도 일부를 사용한다.
손톱들과 관련하여 설명되었지만, 다른 객체들은 분할 및 이미지 업데이트를 위해 유사하게 프로세싱될 수 있다. 그러한 다른 객체들은 또한 단순한 경계들을 가진 작은 객체들일 수 있다(예를 들어, 손톱, 발톱, 신발, 차량(자동차), 자동차 번호판 또는 자동차 부품 등). 여기에서, "작다"라는 용어는 스케일 및 전체 이미지의 크기에 관련 있는 상대적인 용어이다. 예를 들어, 손톱들은 손톱들을 포함하는 이미지에서 캡처되는 손의 크기에 비해 상대적으로 작다. 멀리서 이미징된 차량들의 그룹 내의 차량들은 테이블 상에서 이미징된 자두들(또는 다른 과일)의 그룹과 마찬가지로 작다. 모델은 알려진 개수와 배열(constellation)로 객체들의 세트를 분류(여기에서와 같이, 손의 손가락 끝들을 분류)하는 일반화에 매우 적합하다.
훈련된 모델들은 두가지 하드웨어 플랫폼, 즉 Core ML™을 통한 iOS™(예를 들어, 이러한 환경을 지원하는 iPhone™과 같은 Apple Inc. 제품들의 기본 애플리케이션 구현), 및 (플랫폼에 더 무관한(agnostic)) TensorFlow.js[1]를 통한 웹 브라우저 상에 배치된다. 이하는 Apple Inc.의 상표들이다: iOS, Core ML 및 iPhone. 모델 및 사후-프로세싱 동작들은 성능에 대한 어떠한 큰 부정적인 영향도 없이, 모델 아키텍처를 약간만 조정함으로써, 더 높은 계산 기본(native) iOS 플랫폼, 및 더 자원 제약적인 웹 플랫폼 둘 다를 지원할 수 있을 만큼 충분히 유연하다.
선택되는 특징들은 아래와 같다:
·사진 및 비디오 둘 다를 소스로 하는 1438개 이미지들의 데이터세트가 생성되었으며, 전경-배경, 손가락-별 클래스(per-finger class), 및 베이스-팁 방향 필드 레이블들로 주석이 달렸다.
·모바일 디바이스들 상에서 실행되는 것 및 작은 객체들을 정밀하게 분할하는 것 둘 다를 위해 설계된 시맨틱 분할을 위한 새로운 신경망 아키텍처가 개발되었다.
·손실 최대-풀링(Loss Max-Pooling)은 공간(또는 픽셀 단위) 클래스 불균형을 유발하는 작은 객체들의 정밀한 분할 마스크들을 강건하게 생성한다는 것이 입증되었다.
·손톱들을 분할하는 것 및 개별 손톱들의 위치를 파악(localize)하는 것 둘 다를 위해서는 물론, 그들의 2D 배향을 찾기 위해, 손톱 추적 모델로부터의 복수의 출력을 사용하는 사후-프로세싱 동작들이 개발되었다. 사후-프로세싱(렌더링을 포함함) 동작들은 이러한 개별 손톱 위치들 및 배향들을 사용하여, 그라디언트를 렌더링하고 자연 손톱들의 밝은 색 말단 에지를 숨긴다.
1. 관련 작업
MobileNetV2[2]는 인코더-디코더 신경망 아키텍처의 인코더를 위한 기반을 형성한다. 이 작업은 MobileNetV2 상에서 그것을 캐스케이드식 시맨틱 분할 모델 아키텍처의 백본으로서 사용하여 구축된다. 또한, 모델은 사용되는 특정 인코더 모델에 무관하고, 따라서 문헌[3, 4, 5, 6]로부터의 임의의 기존의 효율적인 모델은 수작업으로 설계되고 (예를 들어, 네트워크 정리(network pruning)를 통해) 자동으로 검색되는 것을 포함하는 임의의 장래의 효율적인 모델일 수 있는 인코더에 대한 드롭인 대체물(drop-in replacement)로서 사용될 수 있다. MobileNetV2는 스마트폰(예를 들어, 랩톱, 데스크톱, 게임 컴퓨터 등과 같은 더 큰 컴퓨터보다 적은 그래픽 프로세싱 자원들을 가짐)에서 이용가능한 것과 같이 더 작은 또는 더 적은 자원들 상에서의 모델의 저장 및 실행을 가능하게 하는 효율성에 대한 요건을 충족한다.
손실 최대-풀링(LMP) 손실 함수는 [7]에 기초하며, 여기서 p-norm 매개변수는 p=1로 고정되는데, 이는 그것이 [7]에 따라 최적의 p-norm 매개변수의 성능의 표준 오차 범위들 내에서 성능을 유지하면서 기능을 단순화하기 때문이다. 실험들은 손톱 분할의 본질적으로 클래스 불균형적인 태스크에 LMP를 적용함으로써 시맨틱 분할에서 픽셀 단위 클래스 불균형을 극복하기 위한 LMP의 유효성을 추가로 지원한다.
캐스케이드식 아키텍처는 여기에서의 신경망 모델이 쉘로우(shallow)/고해상도 및 딥(deep)/저해상도 브랜치들을 결합한다는 점에서 ICNet[8]에 관련된다. ICNet과 달리, 모델은 모바일 디바이스들 상에서 실행되도록 설계되고, 따라서 인코더와 디코더는 이 요건에 기초하여 완전히 재설계된다.
2. 데이터세트
특히 손톱 추적에 대한 이전의 작업이 없기 때문에, 이 태스크를 위해 완전히 새로운 데이터세트가 생성되었다. 참가자들이 소셜 미디어에 게시하기 위해 그들의 손톱을 과시하는 것처럼 손의 사진이나 비디오를 찍도록 요청받은 참가자들로부터 자기중심적 데이터(egocentric data)가 수집되었다.
조밀한 시맨틱 분할 레이블들은 다각형들을 사용하여 생성되었는데, 이는 손톱들과 같은 단단한 객체들에 대해 주석을 달기 쉽고 정확한 레이블 유형이다. 모델은 조밀한 레이블들에 대해 훈련되므로, 다각형 주석 방법은 또한 픽셀 단위 주석들로 대체될 수 있다. 도 1 및 도 2에는 3개의 레이블 유형의 조합을 통해 손톱 주석들을 생성하기 위해 사용되는 인터페이스(100)의 예이다. 도 1은 데이터세트에 대해 주석이 달릴 이미지에 대한 입력을 디스플레이 및 수신하기 위한 부분(102)을 갖는 인터페이스(100)를 도시한다. 인터페이스(100)는 또한 데이터(예를 들어, 플래그들)를 설정하기 위한 라디오 버튼 컨트롤들과 같은 다수의 컨트롤을 갖는 부분(104)을 포함한다. 부분(104) 내의 다른 컨트롤들은 다각형들을 정의하는 것, 랜드마크들(예를 들어, 팁 랜드마크(106A) 및 베이스 랜드마크(106B))을 마킹하는 것 등을 위해 이용가능하다.
따라서, 인터페이스(100)는 다음을 가능하게 한다:
1. 손톱 픽셀들을 둘러싸기 위한(즉, 전경 손톱들을 배경으로부터 분리하기 위한) 다각형들.
2. 개별 손톱들을 식별하기 위한 다각형-별 클래스 레이블들. 데이터세트 내의 각각의 다각형은 손톱을 나타내며, 10가지 손톱 클래스, 즉 "왼쪽 새끼손가락", "오른쪽 엄지손가락" 등 중 하나로서 분류된다. 도 2의 102를 참조하면 된다.
3. 다각형-별 배향을 정의하기 위한 베이스 및 팁 랜드마크들. 손톱 베이스/팁 랜드마크들은 입력 이미지와 동일한 공간 해상도인 조밀한 방향 필드를 생성하기 위해 사용되며, 각각의 픽셀은 해당 픽셀이 속하는 손톱에 대해 베이스로부터 팁까지의 x 및 y 방향을 나타내는 한 쌍의 값을 갖는다.
새로운 주석이 달린 데이터세트는 총 1438개의 주석이 달린 이미지로 구성되며, 이미지들을 제공한 참가자에 기초하여 훈련, 검증 및 테스트 세트들로 분할된다(즉, 각각의 참가자의 이미지들은 훈련, 검증 또는 테스트에 배타적으로 속함). 분할된 데이터세트는 훈련, 검증 및 테스트에 각각 941, 254 및 243개의 이미지를 각각 포함한다. 실험에서, 모델은 훈련 세트에서 훈련되었고 검증 세트에서 평가되었다.
3. 모델
손톱 추적 시스템(예를 들어, 본 명세서에 설명된 바와 같이 구성된 컴퓨팅 디바이스)의 핵심은 전경/배경 및 손톱 클래스 분할들은 물론, 방향성 정보(예를 들어, 베이스-팁 방향 필드들)를 출력하도록 훈련된 인코더-디코더 컨볼루션 신경망(CNN) 아키텍처이다. 모델 아키텍처는 ICNet[8]에 관련되지만, 모바일 디바이스들 상에서 실행되고 멀티-태스크 출력들을 생성하기에 충분히 빠르도록 모델을 적응시키기 위해 변경되었다. 모델 아키텍처의 최상위 뷰가 도 3에 도시된다.
도 3은 2개의 브랜치를 사용하여 입력(이미지)(302)을 프로세싱하는 모델(300)을 도시한다. 제1 브랜치(300A)(도 3의 상부 브랜치)는 블록들(304-324)을 포함한다. 도 3의 제2 브랜치(300B)(하부)는 블록들(326-338)을 포함한다. 이러한 분명한 구별은 수정될 수 있음을 이해할 것이다. 예를 들어, 블록(326)은 제1 브랜치(300A)의 블록일 수 있다. 블록(304)은 다운샘플링 × 2 블록이다. 블록들(306-320)(stage_low1, stage_low2, … stage-low8로도 참조됨)은 추가로 설명되는 바와 같은 인코더-디코더 백본(인코더 페이즈 및 디코더 페이즈를 가짐)의 블록들이다. 블록(322)은 업샘플링 × 2 블록이고, 블록(324)은 추가로 설명되는 바와 같은 제1 브랜치 융합 블록이다. 블록(326)은 또한 업샘플 X2 블록이다. 블록들(326-332)(stage_high1, stage_high2, … stage-high4로도 참조됨)은 추가로 설명되는 바와 같은 인코더 페이즈의 블록들이다. 인코더-디코더 백본은 MobileNetV2[2] 상에서 모델링된다. 추가의 세부사항들은 표 1에 보여진다. 제2 브랜치의 인코더 페이즈(블록들(328-332))도 MobileNetV2[2]의 인코더 상에서 모델링된다.
모델의 인코더는 ImageNet[9]에서 사전 훈련된 MobileNetV2[2] 모델 가중치로 초기화되었다. 2개의 α=1.0 MobileNetV2 인코더 백본(즉, 인코더 페이즈)의 캐스케이드가 사용되었으며, 둘 다 224 × 224 ImageNet 이미지들에 대해 사전 훈련되었다. (개별 브랜치들로부터의) 인코더 캐스케이드는 고해상도 입력들(stage_high1...4)을 갖는 하나의 쉘로우 네트워크와 저해상도 입력들(stage_low1...8)을 갖는 하나의 딥 네트워크로 구성되며, 이들 둘 다는 전체 MobileNetV2의 프리픽스들(prefixes)이다. 제1 브랜치의 저해상도 인코더에 대해, 스테이지 6는 스트라이드(stride) 2로부터 스트라이드 1로 변경되었으며, 이 변경을 보상하기 위해 스테이지들 7과 8에서 팽창된 2x 컨볼루션들(dilated 2× convolutions)이 사용되었다. 따라서, 저해상도 인코더의 출력 스트라이드는 원래의 MobileNetV2에서와 같은 32×를 대신하여, 그것의 입력에 대해 16×이다. 상세한 레이어-별 설명에 대해서는 표 1을 참조하면 된다. 표 1은 손톱 분할 모델 아키텍처에 대한 상세한 요약을 보여준다. 각각의 레이어 이름은 본 명세서에 설명된 바와 같은 도 3 및 도 4의 블록들에 대응한다. 높이 H 및 폭 W는 전체 해상도 H × W 입력 크기를 참조한다. 투영(408) 및 팽창된 레이어들(410)에 대해, p ∈ {16, 8}이다. 스테이지들 stage3_low 내지 stage7_low에 대해, 괄호 안의 채널 수는 스테이지의 제1 레이어(도시되지 않음)에 대한 것이며, 이는 동일한 스테이지 내의 후속 레이어들에 대해 괄호 안의 숫자로 증가한다.
Figure pct00001
모델(300)의 디코더는 도 3의 중간 및 우측 하단(예를 들어, 블록(324 및 336)(융합 블록들을 포함함) 및 업샘플링 블록들(322 및 326))에 도시되어 있으며, 블록들(324 및 336) 각각에 대한 디코더 융합 모델의 상세도는 도 4에 보여진다. 크기 H × W의 원래 입력에 대해, 디코더는 stage_low4로부터의(블록(312)로부터의)
Figure pct00002
피처들을 stage_low8로부터 도출된 블록(322)으로부터의 업샘플링된 피처들과 융합한 다음, 업샘플링을 하고(블록(326)), 융합 블록(336)을 통한 결과 피처들을 stage_high4로부터의
Figure pct00003
피처들과 융합한다(블록(334)).
도 4는 피처 맵 F1(402)에 의해 표현되는 업샘플링된 저해상도의 하이 시맨틱 정보 피처들을 피처 맵 F2(404)에 의해 표현되는 고해상도의 로우 시맨틱 정보 피처들과 융합하여, 블록들(408, 410, 412) 및 가산기(414)를 사용하여 디코더에서 피처 맵 F2 '(406)로 표현되는 고해상도 융합 피처들을 생성하기 위해 사용되는 융합 모듈(400)을 도시한다. 블록(324)과 관련하여, 피처 맵 F1(402)은 블록(322)으로부터 출력되고, 피처 맵 F2(404)는 블록(312)으로부터 출력된다. 블록(324)으로부터의 피처 맵 F2'(406)는 모델(400)의 해당 블록의 인스턴스에서 피처 맵 F1(402)로서 블록(336)에 제공하기 위해 326에서 업샘플링된다. 블록(336)에서, 피처 맵 F2(404)는 블록(334)으로부터 수신된 출력이고, 피처 맵 F2'(406)은 블록(338)에 대한 출력으로서 제공된다. 블록(338)은 입력 해상도/4로 업샘플링한 다음, 결과적인 피처 맵을 디코더 모델(340)에 제공한다. 디코더 모델(340)은 도 5에 도시된다. 디코더 모델(340)은 도 5에 관련하여 더 설명된 바와 같이 이미지(예를 들어, 3채널 출력(342))에 대한 3가지 유형의 정보를 생성한다.
도 4에 도시된 바와 같이, 다운샘플링된 레이블들을 예측하기 위해 사용되는 업샘플링된 F1 피처들에 1×1 컨볼루션 분류기(412)가 적용된다. [10]에서와 같이, 출력들의 이러한 "라플라시안 피라미드"는 저해상도의 더 큰 수용 필드 피처 맵들(receptive field feature maps)로부터 예측들을 구체화(refining)하는 데 초점을 맞추기 위해 고해상도의 더 작은 수용 필드 피처 맵을 최적화한다. 따라서, 모델(400)에서, 블록(412)으로부터의 피처 맵(도시되지 않음)은 그 자체로 출력으로서 사용되지 않는다. 오히려, 훈련에서, 손실 함수는 피라미드 출력 정규화의 형태로 적용된다(즉, 도 5에서 적용된 손실).
블록(342)은 도 5의 3개의 브랜치(502, 504 및 506)로부터의 블록들의 출력들에 대응하는 3개의 채널을 포함하는 디코더로부터의 하나의 글로벌 출력을 표현한다. 제1 채널은 픽셀-별 분류(예를 들어, 전경/배경 마스크 또는 객체 분할 마스크들)를 포함하고, 제2 채널은 분할된 마스크들을 개별 손가락 끝 클래스들로 분류하는 것을 포함하고, 제3 채널은 분할된 마스크 픽셀-별 2D 방향 벡터(예를 들어, 픽셀-별 (x,y))의 필드를 포함한다.
도 5에 도시된 바와 같이, 디코더는 손톱 팁들에 걸쳐 렌더링하는 데에 필요한 방향성 정보(예를 들어, 제3 채널에서의 베이스로부터 팁까지의 벡터들), 및 연결된 컴포넌트들을 사용하여 손톱 인스턴스들을 찾는 데에 필요한 (제2 채널에서의) 손톱 클래스 예측들을 제공하기 위해 복수의 출력 디코더 브랜치(502, 504 및 506)를 사용한다. 이러한 추가 디코더들은 이미지의 주석이 달린 손톱 영역에서만 페널라이즈된(penalized) 조밀한 예측을 생성하도록 훈련된다. 각각의 브랜치는 예에 따라 개별 손실 함수를 사용한다. 정규화된 지수 함수(Softmax)가 브랜치들(502 및 504)에 도시되어 있지만, 분할/분류를 위한 다른 활성화 함수가 사용될 수 있다. 여기서의 치수들은 대표적인 것이며 상이한 태스크들에 적응될 수 있음이 이해될 것이다. 예를 들어, 도 5에서, 브랜치들(502, 504)은 10개의 클래스에 관련되고 그에 따라 치수가 지정된다(dimensioned).
바이너리(즉, 손톱 대 배경) 예측들은 방향 필드 예측들과 함께 도 6에 시각화되어 있다. 즉, 도 6은 프로세싱된 입력 이미지들로부터 생성된 업데이트된 이미지들의 4×4 어레이(600)를 도시한다. 전경/배경 마스크들은 채색을 위해 개별 손톱들을 식별하기 위해 사용되었다. 손톱 영역들은 픽셀 단위로 채색되어(그러나 여기서는 그레이스케일로 표시됨), 그라운드 트루스와의 일치는 물론, 전경/배경 마스크들에서의 위양성 및 위음성 식별들을 보여준다. 어레이(600)의 업데이트된 이미지들은 또한 방향성 정보를 보여준다. 도 6a, 도 6b 및 도 6c는 주석들과 함께 어레이(600)로부터의 확대된 이미지들(602, 604 및 606)을 도시하고, 여기서 흰색 화살표들은 위양성 영역들을 가리키고, 흑색 화살표들은 위음성 영역들을 가리킨다. 이미지(604)에서, 보이지 않는 손 포즈가 과도한 분할을 야기하는 일반적인 실패 모드가 도시된다. 이미지(606)에서, 보이지 않는 조명/네일 색상 조합으로 인한 과소 분할의 예가 도시된다. 관련된 훈련 데이터를 추가함으로써 실패 사례들 둘 다가 개선될 수 있을 것으로 예상된다.
각각의 손/손가락 조합(예를 들어, 왼쪽 새끼손가락)에 대한 개별 클래스 예측들은 손톱 영역에서만 도 8의 4x4 어레이(800)로 시각화된다. 도 9는 하나의 클래스(약지 손가락)가 다른 클래스(가운데 손가락) 내로 누출되는 것을 나타내는 주석(흰색 화살표(900))과 함께 확대된 이미지(802)를 도시한다. 카메라 원근법으로 인해 손톱들이 중첩되고 있기 때문에, 클래스 누출들이 발생한다. 이것은 조밀한 CRF 또는 가이드 필터 사후-프로세싱(guided filter post-processing)으로 개선될 수 있다.
4. 추론(훈련 상세들)
신경망 모델들은 PyTorch[11]를 사용하여 훈련되었다. 훈련된 모델들은 Core ML을 사용하여 iOS에 배치되었고 TensorFlow.js[1]를 사용하여 웹 브라우저에 배치되었다.
데이터 증강은 대비 정규화 및 주파수 노이즈 알파 블렌딩 증강들은 물론, 랜덤 스케일, 종횡비, 회전 및 자르기 증강들을 포함했다. 대비 정규화는 각각의 픽셀 값 Iij를 127+α(Iij-127)로 스케일링함으로써 대비를 조정하고, 여기서 α ∈[0.5, 2.0]이다. 주파수 노이즈 알파 블렌딩은 주파수 노이즈 마스크들을 사용하여 두 개의 이미지 소스를 블렌딩한다. [1/2, 2]로부터의 균일한 무작위 샘플링된 스케일 증강들(uniform randomly sampled scale augmentations), [2/3, 3/2]으로부터의 종횡비 신장 증강들, ±180°으로부터의 회전 증강들, 및 주어진 다운샘플링된 훈련 이미지의 짧은 변 길이의 14/15의 변 길이의 무작위로 자른 정사각형 이미지들이 있었다.
현재 소프트웨어 구현들, 즉 Core ML 및 TensorFlow.js, 및 현재 모바일 디바이스 하드웨어를 고려할 때, 시스템은 최대 640×480(기본 모바일(native mobile)) 및 480×360(웹 모바일)의 모든 해상도에서 실시간으로(즉, ≥ 10FPS으로) 실행될 수 있고, 이에 대해 모델은 각각 448 × 448 및 336 × 336의 입력 해상도들에서 훈련되었다. 모든 입력 이미지는 ImageNet 데이터세트의 평균 및 표준 편차에 의해 정규화되었다. MobileNetV2 인코더 백본은 Nesterov 모멘텀이 0.9인 SGD를 사용하고 에포크(epoch) 200 및 300에서 초기 학습률 10- 2을 10배로 감소시켜, 400 에포크 동안 ImageNet에서 사전 훈련되었다.
인코더-디코더 모델은 손톱 추적 데이터세트에서 400 에포크 동안 훈련되었다. 사전 훈련된 가중치 값들을 유지하기 위해, 모든 사전 훈련된 레이어, 즉 stage_high1..4 및 stage_low1..8에 대해 5×10-3의 더 낮은 초기 학습률이 사용되었지만, 다른 모든 레이어에 대해서는 5×10-2의 초기 학습률이 사용되었다. 이전 작업[12]에 따라,
Figure pct00004
에 따른 다항식 감쇠 학습률 스케줄이 사용되었고, 여기서 lt는 반복 t에서의 학습률이고 T는 총 단계 수이다. 32의 배치 크기(batch size)가 사용되었다. 최적화기는 모델 가중치들에서 10-4의 가중치 감소와 함께 0.99의 Nesterov 모멘텀을 갖는 SGD였다. 1.0에서 클리핑된 그라디언트가 있었다. LMP 손실 함수는 가장 높은 손실 값을 갖는 픽셀들의 10%의 평균 손실로서 손실을 계산한다.
5. 목적 함수 논의
배경(과다 표현된 클래스(overrepresented class))과 손톱(과소 표현된 클래스(underrepresented class)) 간의 클래스 불균형을 다루기 위해, 목적 함수에서 각각의 픽셀의 손실 크기별로 정렬하고 픽셀들의 상위 10%에 대한 평균을 미니-배치 손실(mini-batch loss)로 취함으로써, 미니-배치 내의 모든 픽셀에 대해 Loss Max Pooling[7]이 사용되었다. 손실 최대 풀링을 사용하면, 단순히 손톱 클래스를 배경보다 20배 더 많이 가중한 기준선과 비교할 때, 검증 세트에서 평가된
Figure pct00005
2% mIoU의 이득이 나타났고, 여기서 mIoU 개선은 클래스 경계들을 따른 더 예리한 손톱 에지 외관에 반영되었다(나이브 기준선(naive baseline)이 일관되게 과도 분할됨(over-segmented)).
도 5에 보여진 모델의 세 가지 출력에 대응하는 세 가지 손실 함수가 사용되었다. 손톱 클래스와 전경/배경 예측 둘 다는 수학식 1에 주어진 다항 분포의 음의 로그 우도(negative log-likelihood)를 최소화하고, 여기서 c는 그라운드 트루스 클래스이고,
Figure pct00006
는 모델에 의한 c번째 클래스의 pre-softmax 예측이고 Lij는 (x,y)= (i, j)에서의 픽셀에 대한 손실이다.
Figure pct00007
클래스 예측의 경우에서는 c∈{1,2,…,10}인 한편, 전경/배경 예측의 경우에서는 c∈{1,2}이다. LMP는 전경/배경 예측들을 위해서만 사용되고; 손톱 클래스 예측들은 손톱 영역에서만 유효하므로, 해당 클래스들은 상쇄되고(balanced), LMP를 필요로 하지 않는다.
Figure pct00008
수학식 2에서,
Figure pct00009
이고, 임계값 τ는 최고 손실 픽셀 내의
Figure pct00010
의 손실 값이다.
Figure pct00011
연산자는 표시자 함수이다.
방향 필드 출력에 대해, 그라운드 트루스 네일 내부의 각각의 픽셀에 대해 네일의 정규화된 베이스-팁 방향에 대해 후버 손실이 적용되었다. 이것은 베이스-팁 방향의 대략적인 정확성이 렌더링에 필요한 전부이기 때문에, 그것이 대략적으로 정확해지면 필드 손실을 덜 강조하기(deemphasize) 위한 것이며, 이는 방향 필드 손실이 바이너리 및 클래스 손톱 분할 손실을 손상시키는 것을 방지하기 위한 것이다. L2 및 L1 에러와 같은 다른 손실 함수들이 또한 후버 손실을 대신하여 시스템에서 사용될 수 있다.
Figure pct00012
수학식 3에서, 인덱스들 (i, j)는 모든 공간 픽셀 위치들에 걸친 것이고, k∈{0, 1}은 베이스-팁 방향 벡터의 (x, y) 방향들을 인덱싱한다. 또한, 각각의 스칼라 필드 예측
Figure pct00013
는 벡터
Figure pct00014
가 단위 벡터이도록, 즉
Figure pct00015
이도록 정규화된다. 필드 방향 레이블들은 또한
Figure pct00016
이도록 정규화된다. 방향 필드 및 손톱 클래스 손실들에 대해, 클래스 불균형 문제가 없으므로, 그들은 단순히 그들 각각의 개별 손실들의 평균인데, 즉
Figure pct00017
Figure pct00018
이고, 여기서 Nclass=H×W 및 Nfield=2×H×W이다. 전체 손실은
Figure pct00019
이다.
6. 사후-프로세싱 및 렌더링
모델로부터의 출력들은 입력 이미지, 및 생성되고 업데이트된 이미지를 프로세싱하기 위해 사용될 수 있다. 방법 1(도 10 참조)에서, CNN 모델의 추적 예측들의 출력을 사용하여 사용자의 손톱에 사실적인 네일 폴리쉬를 드로잉하는 사후-프로세싱 및 렌더링 방법이 설명된다. 이 방법은 그라디언트들을 렌더링하고 자연 손톱들의 밝은 색 말단 에지를 숨기기 위해 손톱 추적 모듈(CNN 모델을 사용함)에 의해 예측된 개별 손톱 위치 및 방향성 정보를 사용한다.
도 10은 컴퓨팅 디바이스의 동작들(1000)을 도시한다. 컴퓨팅 디바이스는 본 명세서에 도시되고 설명된 CNN 모델, 및 컴퓨팅 디바이스를 구성하기 위한 명령어들을 포함한다. 동작들(1000)은 단계(1002)에서 컴퓨팅 디바이스가 복수의 객체(예를 들어, 손톱)에 적용하기 위한 외관 선택을 수신하기 위해 사용자 인터페이스(예를 들어, GUI)를 제시하는 것을 보여준다. 1004에서, 동작들은 예를 들어 컴퓨팅 디바이스의 카메라로부터 소스 이미지로서 수신한다. 소스 이미지는 프로세싱될 이미지로 사용하기 위한 셀카 정지 이미지 또는 셀카 비디오 이미지일 수 있다. 1006에서, 명령어들은 복수의 객체를 결정하기 위해 이미지를 프로세싱하도록 컴퓨팅 디바이스를 구성하고, 1008에서 외관 선택을 적용하기 위해 이미지를 프로세싱하고, 1010에서 적용된 외관 선택을 보여주는 업데이트된 이미지를 생성한다. 업데이트된 이미지는 증강 현실을 시뮬레이션하기 위해 (1012에서) 존재할 수 있다.
도 11은 CNN으로부터의 출력들을 사용하여 CNN에 의해 프로세싱된 후에 사용될 수 있는 동작들에 대한 의사 코드(1100)를 포함하는 "방법 1"을 보여준다. 방법 1은 사후-프로세싱 및 네일 폴리쉬 렌더링 동작들을 보여준다. 동작들은 먼저 예측된 손톱 방향들을 사용하여, 손톱 방향에 수직한, 그리고 네일 마스크에 의해 마스킹된, 각각의 손톱 위의 사용자 선택 색상의 그라디언트를 드로잉한다. 그런 다음, 그것은 원래 손톱으로부터의 반사 컴포넌트들을 복사하여 그라디언트 위에 블렌딩한다.
기타사항
모델에 의한 프로세싱 이전에, 예를 들어 필요한 크기의 입력을 생성하고, 이미지의 원하는 부분을 중심에 맞추고, 조명을 보정하는 등을 위해, 사전-프로세싱이 사용될 수 있다는 것을 이해할 것이다.
손톱과 관련하여 설명되었지만, 다른 객체들은 설명된 대로 추적될 수 있으며 본 명세서의 교시는 본 기술분야의 통상의 기술자에 의해 적응된다. 업데이트된 이미지를 생성하기 위해 색상 외관 효과가 적용되는 것으로 설명되지만, 다른 외관 효과들이 사용될 수 있다. 외관 효과들은 추적되는 객체들의 위치(들)에 또는 그 부근에 적용될 수 있다.
컴퓨팅 디바이스 양태들에 추가하여, 통상의 기술자는 컴퓨터 프로그램 제품 양태들이 개시된다는 것을 이해할 것이며, 여기서 저장된 방법 양태들 중 임의의 것을 수행하도록 컴퓨팅 디바이스를 구성하기 위해 프로세서에 의해 실행되도록, 명령어들이 비-일시적 저장 디바이스(예를 들어, 메모리, CD-ROM, DVD-ROM, RAM, 테이프, 디스크 등)에 저장된다. 프로세서는 CPU, GPU 또는 다른 프로그래밍가능한 디바이스, 또는 이들 중 임의의 것의 하나 이상의 조합일 수 있다. 여기에서 언급한 바와 같이, 하나의 구현은 Apple Inc.로부터의 iOS 기반 iPhone 제품들을 위한 Core ML을 사용하여 준비되었다.
실제 구현은 여기에 설명된 특징 중 일부 또는 전부를 포함할 수 있다. 이들 및 다른 양태들, 특징들 및 다양한 조합들은 본 명세서에 설명된 특징들을 결합하는 방법, 장치, 시스템, 기능을 수행하기 위한 수단, 프로그램 제품으로서, 그리고 다른 방식들로 표현될 수 있다. 다수의 실시예가 설명되었다. 그럼에도 불구하고, 여기에 설명된 프로세스 및 기술의 정신 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음을 이해할 것이다. 또한, 다른 단계들이 제공될 수 있거나, 설명된 프로세스로부터 단계들이 제거될 수 있고, 다른 컴포넌트들이 설명된 시스템에 추가되거나 그로부터 제거될 수 있다. 따라서, 다른 실시예들은 이하의 청구항들의 범위 내에 있다.
본 명세서의 설명 및 청구항들 전반에 걸쳐, "포함한다(comprise)" 및 "포함한다(contain)"라는 단어와 이들의 변형은 "포함하지만 이에 제한되지 않는"을 의미하며, 다른 컴포넌트들, 정수들 또는 단계들을 배제하도록 의도되지 않는다(그리고 배제하지 않는다). 본 명세서 전반에 걸쳐, 문맥이 달리 요구하지 않는 한, 단수는 복수를 포함한다. 특히, 부정관사가 사용되는 경우, 명세서는 문맥에서 달리 요구하지 않는 한 단수뿐만 아니라 복수도 고려하는 것으로 이해되어야 한다. 본 명세서에서 예를 들어 "A 및/또는 B"와 관련한 용어 "및/또는"은 A, B, 및 A 및 B 둘 다 중 하나를 의미한다.
본 발명의 특정 양태, 구현 또는 예와 관련하여 설명된 특징들, 정수 특성들, 화합물들, 화학적 모이어티들 또는 그룹들은 이들과 양립할 수 없지 않다면 임의의 다른 양태, 구현 또는 예에 적용가능한 것으로 이해되어야 한다. (임의의 첨부된 청구항들, 요약서 및 도면들을 포함하여) 여기에 개시된 특징들 전부 및/또는 그렇게 개시된 임의의 방법 또는 프로세스의 단계들 전부는, 그러한 특징들 및/또는 단계들의 적어도 일부가 상호 배타적인 조합들을 제외하고는 임의의 조합으로 결합될 수 있다. 본 발명은 임의의 상술한 예들 또는 실시예들의 상세들로 제약되지 않는다. 본 발명은 (임의의 첨부된 청구항들, 요약서 및 도면들을 포함하여) 본 명세서에 개시된 특징들 중 임의의 신규한 것 또는 임의의 신규한 조합, 또는 개시된 임의의 방법 또는 프로세스의 단계들 중 임의의 신규한 것 또는 임의의 신규한 조합으로 확장된다.
결론
손톱 추적을 위한 모델, 및 네일 폴리쉬 렌더링을 위한 동작들이 제시된다. 현재의 소프트웨어 및 하드웨어를 사용하여, 스마트폰 또는 태블릿과 같은 사용자 컴퓨팅 디바이스는 iOS 및 웹 플랫폼 둘 다에서 실시간으로 실행되도록 구성된다. 동시에 캐스케이드식 모델 아키텍처 설계와 결합된 LMP의 사용은 최대 640×480 해상도에서 픽셀 정확도의 손톱 예측들을 가능하게 한다. 개별 손톱들에 대한 그라디언트를 렌더링하고, 손톱 팁의 방향으로 손톱 마스크를 신장시킴으로써 자연 손톱들의 상부에 렌더링할 때 밝은 색 말단 에지를 숨기기 위해, 모델의 복수의 출력 예측을 활용하는 사후-프로세싱 동작들이 제안된다.
참조 문헌
이하에 나열된 참조 [1] 내지 [13] 각각은 본 명세서에 참조로 포함된다:
[1] Daniel Smilkov, Nikhil Thorat, Yannick Assogba, Ann Yuan, Nick Kreeger, Ping Yu, Kangyi Zhang, Shanqing Cai, Eric Nielsen, David Soergel, Stan Bileschi, Michael Terry, Charles Nicholson, Sandeep N. Gupta, Sarah Sirajuddin, D. Sculley, Rajat Monga, Greg Corrado, Fernanda B. Vi
Figure pct00020
gas 및 Martin Wattenberg. Tensorflow.js: 웹 및 그 이상을 위한 머신 러닝(Machine learning for the web and beyond). arXiv preprint arXiv:1901 .05350, 2019.
[2] Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, Liang-Chieh Chen. Mobilenetv2: 반전된 잔차들 및 선형 병목들(Inverted residuals and linear bottlenecks). The IEEE Conference on Computer Vision and Pattern Recognition ( CVPR ), 2018년 6월.
[3] Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, 및 Jian Sun. Shufflenet: 모바일 디바이스들을 위한 매우 효율적인 합성곱 신경망(Shufflenet: An extremely efficient convolutional neural network for mobile devices). The IEEE Conference on Computer Vision and Pattern Recognition ( CVPR ), 2018.
[4] Robert J Wang, Xiang Li 및 Charles X Ling. Pelee: 모바일 디바이스들의 실시간 객체 검출 시스템(A real-time object detection system on mobile devices). Advances in Neural Information Processing Systems 31, 2018.
[5] Forrest N. Iandola, Song Han, Matthew W. Moskewicz, Khalid Ashraf, William J. Dally 및 Kurt Keutzer. Squeeznet: 매개변수가 50배 더 적고 모델 크기가 0.5mb 미만인 Alexnet 레벨 정확도(Alexnet-level accuracy with 50x fewer parameters and <0.5mb model size). arXiv:1602 .07360, 2016.
[6] Barret Zoph, Vijay Vasudevan, Jonathon Shlens, 및 Quoc V. Le. 확장가능한 이미지 인식을 위한 전송가능한 아키텍처들의 학습(Learning transferable architectures for scalable image recognition). The IEEE Conference on Computer Vision and Pattern Recognition ( CVPR ), 2018.
[7] Samuel Rota Bul
Figure pct00021
, Gerhard Neuhold, 및 Peter Kontschieder. 시맨틱 이미지 분할을 위한 손실 최대 풀링(Loss max-pooling for semantic image segmentation). The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.
[8] Hengshuang Zhao, Xiaojuan Qi, Xiaoyong Shen, Jianping Shi, 및 Jiaya Jia. 고해상도 이미지들에 대한 실시간 시맨틱 분할을 위한 Icnet(Icnet for realtime semantic segmentation on high-resolution images). ECCV, 2018.
[9] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li 및 L. Fei-Fei. ImageNet: 대규모 계층적 이미지 데이터베이스(ImageNet: A Large-Scale Hierarchical Image Database). The IEEE Conference on Computer Vision and Pattern Recognition ( CVPR ), 2009.
[10] Golnaz Ghiasi 및 Charless C. Fowlkes. 시맨틱 분할을 위한 라플라시안 재구성 및 구체화(Laplacian reconstruction and refinement for semantic segmentation). ECCV, 2016.
[11] Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga 및 Adam Lerer. pytorch의 자동 미분(Automatic differentiation in pytorch). NIPS -W, 2017.
[12] Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, 및 Alan L. Yuille. 딥랩: 심층 컨볼루션 네트, 아트러스 컨볼루션(atrous convolution), 및 완전 연결된 crf들을 사용한 시맨틱 이미지 분할(Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs). arXiv preprint arXiv:1606 .00915, 2016.
[13] C. Grana, D. Borghesani 및 R. Cucchiara. 의사 결정 트리를 사용한 최적화된 블록 기반 연결 컴포넌트 레이블링(Optimized block-based connected components labeling with decision trees). IEEE Transactions on Image Processing, 2010.

Claims (71)

  1. 프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서,
    상기 저장 디바이스는 CNN 및 명령어들을 저장하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스를 복수의 객체를 포함하는 이미지를 상기 CNN으로 프로세싱하도록 구성하고,
    상기 CNN은 상기 이미지 내의 상기 복수의 객체를 시맨틱 분할하도록 구성되고, 상기 CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처(cascaded semantic segmentation model architecture)를 포함하고, 상기 캐스케이드식 시맨틱 분할 모델 아키텍처는:
    저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및
    고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치
    를 갖고, 상기 CNN은 전경/배경 및 객체 클래스 분할들을 포함하는 정보를 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하는, 컴퓨팅 디바이스.
  2. 제1항에 있어서, 상기 CNN은 상기 CNN으로부터 출력된 정보가 방향성 정보를 더 포함하도록 상기 제1 브랜치 및 상기 제2 브랜치로부터의 상기 개별 예측들을 결합하는, 컴퓨팅 디바이스.
  3. 제1항 또는 제2항에 있어서, 상기 제1 브랜치는 상기 제1 브랜치의 개별 예측들을 생성하기 위한 인코더-디코더 백본을 포함하는, 컴퓨팅 디바이스.
  4. 제3항에 있어서, 상기 제1 브랜치의 개별 예측은 상기 제1 브랜치의 인코더 페이즈를 따라 생성된 초기 예측과 상기 제1 브랜치의 디코더 페이즈에 의한 추가 프로세싱을 따라 생성된 추가 예측의 결합을 포함하는, 컴퓨팅 디바이스.
  5. 제4항에 있어서, 상기 초기 예측 및 추가 예측은 상기 제2 브랜치의 개별 예측과의 추가 결합을 제공하도록 상기 제1 브랜치의 개별 예측을 생성하기 위해 제1 브랜치 융합 블록을 사용하여 결합되는, 컴퓨팅 디바이스.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제2 브랜치의 개별 예측은 상기 제1 브랜치와 캐스케이드로, 상기 제2 브랜치의 인코더 페이즈에 의한 프로세싱을 따라 생성되는, 컴퓨팅 디바이스.
  7. 제6항에 있어서, 상기 제1 브랜치의 개별 예측(F1)은 제2 브랜치 융합 블록을 사용하여 상기 제2 브랜치의 개별 예측(F2)과 결합되는, 컴퓨팅 디바이스.
  8. 제7항에 있어서, F1은 업샘플링된 저해상도 하이 시맨틱 정보 피처들(up-sampled low-resolution, high semantic information features)을 포함하고, F2는 고해상도 로우 시맨틱 정보 피처들(high-resolution, low semantic information features)을 포함하고, 상기 제2 브랜치 융합 블록은 상기 제2 브랜치의 디코더 페이즈에서 고해상도 융합 피처들 F2'을 생성하기 위해 F1 및 F2를 결합하는, 컴퓨팅 디바이스.
  9. 제8항에 있어서, 상기 CNN은 다운샘플링된 클래스 레이블들을 생성하기 위해 상기 개별 예측 F1에 적용된 컨볼루션 분류기를 사용하는, 컴퓨팅 디바이스.
  10. 제2항에 종속하는 제8항에 있어서, F2를 프로세싱하기 위해, 상기 CNN은 상기 전경/배경 및 객체 클래스 분할 및 상기 방향성 정보를 생성하기 위해 복수의 출력 디코더 브랜치를 사용하는, 컴퓨팅 디바이스.
  11. 제10항에 있어서, 상기 복수의 출력 디코더 브랜치는:
    상기 전경/배경 분할들을 생성하기 위한 활성화 함수 및 1x1 컨벌루션 블록을 갖는 제1 출력 디코더 브랜치;
    상기 객체 클래스 분할들을 생성하기 위한 활성화 함수 및 1x1 컨벌루션 블록을 갖는 제2 출력 디코더 브랜치; 및
    상기 방향성 정보를 생성하기 위한 1x1 컨벌루션 블록을 갖는 제3 출력 디코더 브랜치
    를 포함하는, 컴퓨팅 디바이스.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 CNN은 상기 전경/배경 분할들을 결정하기 위한 시맨틱 분할에서 픽셀 단위 클래스 불균형(pixel-wise class imbalance)을 극복하기 위해 손실 최대 풀링(Loss Max-Pooling)(LMP) 손실 함수를 사용하여 훈련되는, 컴퓨팅 디바이스.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 CNN은 상기 전경/배경 및 객체 클래스 분할들을 결정하기 위해 음의 로그 우도 손실(log likelihood loss)(NLL) 함수를 사용하여 훈련되는, 컴퓨팅 디바이스.
  14. 제2항에 종속하는, 제2항 내지 제13항 중 어느 한 항에 있어서, 상기 CNN은 상기 방향성 정보를 결정하기 위해 후버 손실 함수(Huber loss function)를 사용하여 훈련되는, 컴퓨팅 디바이스.
  15. 제2항에 종속하는, 제2항 내지 제14항 중 어느 한 항에 있어서, 각각의 객체는 베이스와 팁을 갖고, 상기 방향성 정보는 베이스-팁 방향 필드들을 포함하는, 컴퓨팅 디바이스.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 제1 브랜치는 MobileNetV2 인코더-디코더 구조를 사용하여 정의되고, 상기 제2 브랜치는 상기 MobileNetV2 인코더-디코더 구조로부터의 인코더 구조를 사용하여 정의되고; 상기 CNN은 ImageNet으로부터의 훈련 데이터를 사용하여 초기에 훈련되고, 그 후, 그라운드 트루스(ground truth)로 라벨링된 상기 복수의 객체에 대한 객체 추적 데이터세트를 사용하여 훈련되는, 컴퓨팅 디바이스.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 명령어들은 출력된 상기 정보의 적어도 일부를 사용하여 상기 이미지로부터 업데이트된 이미지를 생성하기 위해 이미지 프로세싱을 수행하도록 상기 컴퓨팅 디바이스를 더 구성하는, 컴퓨팅 디바이스.
  18. 제2항에 종속하는 제17항에 있어서, 상기 이미지 프로세싱을 수행하는 것은 상기 복수의 객체의 색상과 같은 외관을 변경하기 위해, 상기 전경/배경 및 객체 클래스 분할들 및 방향성 정보 중 적어도 일부를 사용하는, 컴퓨팅 디바이스.
  19. 제17항 또는 제18항에 있어서, 카메라를 포함하고, 상기 명령어들은 상기 컴퓨팅 디바이스를:
    상기 복수의 객체에 적용할 외관 선택을 수신하고, 상기 카메라로부터 상기 이미지로서 사용할 셀카(selfie) 비디오 이미지를 수신하기 위한 사용자 인터페이스를 제시하고;
    상기 외관 선택을 사용하여 상기 업데이트된 이미지를 생성하기 위해 상기 셀카 비디오 이미지를 프로세싱하고;
    증강 현실을 시뮬레이션하기 위해 상기 업데이트된 이미지를 제시하도록
    구성하는, 컴퓨팅 디바이스.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서, 스마트폰 또는 태블릿을 포함하는, 컴퓨팅 디바이스.
  21. 제1항 내지 제20항 중 어느 한 항에 있어서, 상기 이미지는 손톱들을 갖는 손의 적어도 일부를 포함하고, 상기 복수의 객체는 손톱들을 포함하는, 컴퓨팅 디바이스.
  22. 프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서,
    상기 저장 디바이스는 명령어들을 저장하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스를:
    복수의 객체를 포함하는 이미지를 프로세싱한 CNN에 의해 시맨틱 분할된 상기 복수의 객체 각각에 대한 전경/배경 및 객체 클래스 분할 및 방향성 정보를 포함하는 CNN 출력을 수신하고;
    상기 전경/배경 분할들(및 객체 클래스 분할들)에 따라 분할된 상기 복수의 객체 각각에 대해 선택된 색상의 그라디언트를 드로잉함으로써 - 상기 선택된 색상은 상기 방향성 정보에 의해 표시된 상기 객체들 각각의 개별 방향에 수직하게 드로잉됨 -, 업데이트된 이미지를 생성하기 위해 상기 이미지를 프로세싱하도록
    구성하는, 컴퓨팅 디바이스.
  23. 제22항에 있어서, 상기 그라디언트에 걸쳐 상기 복수의 객체 각각에 대한 개별 반사 컴포넌트들을 적용하고 결과를 블렌딩하도록 더 구성되는, 컴퓨팅 디바이스.
  24. 제23항의 제22항에 있어서, 드로잉 이전에, 상기 전경/배경 분할들에 의해 식별된 상기 복수의 객체 각각의 개별 영역들을 신장(stretch)시켜 드로잉을 위해 그것의 팁과 같은 여백이 포함되는 것을 보장하도록 더 구성되는, 컴퓨팅 디바이스.
  25. 제24항에 있어서, 드로잉 이전에,
    상기 복수의 객체로부터 결정된 평균 색상으로 신장된 상기 복수의 객체 각각의 개별 영역들 외부의 적어도 일부 인접 영역들을 채색하고;
    신장된 상기 복수의 객체 각각의 상기 개별 영역들 및 상기 인접 영역들을 블러링하도록
    더 구성되는, 컴퓨팅 디바이스.
  26. 제22항 내지 제25항 중 어느 한 항에 있어서, 드로잉할 때 사용하기 위해 선택된 색상을 수신하도록 더 구성되는, 컴퓨팅 디바이스.
  27. 제22항 내지 제26항 중 어느 한 항에 있어서, 상기 컴퓨팅 디바이스는 제2항에 종속하는 제2항 내지 제21항 중 어느 한 항에 따라 더 정의되는, 컴퓨팅 디바이스.
  28. 프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서,
    상기 저장 디바이스는 CNN 및 명령어들을 저장하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스를 상기 CNN으로 복수의 객체를 포함하는 이미지를 프로세싱하도록 구성하고, 상기 CNN은 상기 이미지 내의 상기 복수의 객체를 시맨틱 분할하도록 구성되고, 상기 CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 상기 캐스케이드식 시맨틱 분할 모델 아키텍처는:
    저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및
    고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치
    를 갖고, 상기 CNN은 전경/배경 분할을 포함하는 정보를 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하고, 상기 CNN은 손실 평균 폴링 손실 함수(Loss Mean Polling loss function)를 사용하여 훈련되는, 컴퓨팅 디바이스.
  29. 제28항에 있어서, 상기 이미지는 복수의 픽셀을 포함하고, 상기 이미지 내의 상기 복수의 객체는 적은 수의 상기 복수의 픽셀에 의해 표현되는, 컴퓨팅 디바이스.
  30. 제28항 또는 제29항에 있어서, 상기 CNN은 객체 클래스 분할들을 포함하는 정보를 더 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하고, 상기 CNN은 NLL 손실 함수를 사용하여 더 훈련되는, 컴퓨팅 디바이스.
  31. 제28항 내지 제30항 중 어느 한 항에 있어서, 상기 CNN은 방향성 정보를 포함하는 정보를 더 출력하기 위해, 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하고, 상기 CNN은 후버 손실 함수 또는 L2 손실 함수를 사용하여 더 훈련되는, 컴퓨팅 디바이스.
  32. 제1항 내지 제31항 중 어느 한 항에 있어서, 상기 CNN은 출력 정보의 라플라시안 피라미드(Laplacian pyramid)를 제공하도록 정의되는, 컴퓨팅 디바이스.
  33. 프로세서 및 그에 결합된 저장 디바이스를 포함하는 컴퓨팅 디바이스로서,
    상기 저장 디바이스는 명령어들을 포함하고, 상기 명령어들은 상기 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스를:
    CNN을 훈련하기 위해 이미지들의 데이터세트에 주석을 달기 위한 그래픽 사용자 인터페이스(GUI)를 제공하고 - 상기 GUI는 주석이 달려질 개별 이미지를 디스플레이하기 위한 이미지 디스플레이 부분을 갖고, 상기 디스플레이 부분은 상기 개별 이미지 내에 보여진 개별 객체들의 윤곽을 정하기 위한(개별 객체들을 분할하기 위한) 입력을 수신하고, 상기 개별 객체들 각각에 대한 방향성 정보를 나타내는 입력을 수신하도록 구성됨 - ;
    상기 이미지에 주석을 달기 위한 입력을 수신하고;
    상기 데이터세트를 정의하기 위해 상기 주석에 연관하여 상기 이미지를 저장하도록
    구성하는, 컴퓨팅 디바이스.
  34. 제33항에 있어서, 상기 개별 객체들 각각을 시맨틱 분류하기 위한 입력을 수신하기 위한 컨트롤들을 제공하도록 더 구성되는, 컴퓨팅 디바이스.
  35. 제33항 또는 제34항에 있어서, 상기 CNN은 상기 이미지 내의 복수의 객체를 시맨틱 분할하도록 구성되고, 상기 CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 상기 캐스케이드식 시맨틱 분할 모델 아키텍처는:
    저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및
    고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치
    를 갖고, 상기 CNN은 전경/배경 및 객체 클래스 분할들을 포함하는 정보를 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하는, 컴퓨팅 디바이스.
  36. 방법으로서,
    복수의 객체를 포함하는 이미지를 컨볼루션 신경망(CNN)으로 프로세싱하는 단계
    를 포함하고, 상기 CNN은 상기 이미지 내의 상기 복수의 객체를 시맨틱 분할하도록 구성되고, 상기 CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 상기 캐스케이드식 시맨틱 분할 모델 아키텍처는:
    저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및
    고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치
    를 갖고, 상기 CNN은 전경/배경 및 객체 클래스 분할들을 포함하는 정보를 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하는, 방법.
  37. 제36항에 있어서, 상기 CNN은 상기 CNN에 의해 출력된 정보가 방향성 정보를 더 포함하도록 상기 제1 브랜치 및 상기 제2 브랜치로부터의 상기 개별 예측들을 결합하는, 방법.
  38. 제36항 또는 제37항에 있어서, 상기 제1 브랜치는 상기 제1 브랜치의 개별 예측들을 생성하기 위한 인코더-디코더 백본을 포함하는, 방법.
  39. 제38항에 있어서, 상기 제1 브랜치의 개별 예측은 상기 제1 브랜치의 인코더 페이즈를 따라 생성된 초기 예측과 상기 제1 브랜치의 디코더 페이즈에 의한 추가 프로세싱을 따라 생성된 추가 예측의 결합을 포함하는, 방법.
  40. 제39항에 있어서, 상기 초기 예측 및 상기 추가 예측은 상기 제2 브랜치의 개별 예측과의 추가 결합을 제공하도록 상기 제1 브랜치의 개별 예측을 생성하기 위해 제1 브랜치 융합 블록을 사용하여 상기 CNN에 의해 결합되는, 방법.
  41. 제36항 내지 제38항 중 어느 한 항에 있어서, 상기 제2 브랜치의 개별 예측은 상기 제1 브랜치와 캐스케이드로, 상기 제2 브랜치의 인코더 페이즈에 의한 프로세싱을 따라 상기 CNN에 의해 생성되는, 방법.
  42. 제41항에 있어서, 상기 제1 브랜치의 개별 예측(F1)은 제2 브랜치 융합 블록을 사용하여 상기 제2 브랜치의 개별 예측(F2)과 결합되는, 방법.
  43. 제42항에 있어서, F1은 업샘플링된 저해상도 하이 시맨틱 정보 피처들을 포함하고, F2는 고해상도 로우 시맨틱 정보 피처들을 포함하고, 상기 제2 브랜치 융합 블록은 상기 제2 브랜치의 디코더 페이즈에서 고해상도 융합 피처들 F2'을 생성하기 위해 F1 및 F2를 결합하는, 방법.
  44. 제43항에 있어서, 상기 CNN은 다운샘플링된 클래스 레이블들을 생성하기 위해 상기 개별 예측 F1에 적용된 컨볼루션 분류기를 사용하는, 방법.
  45. 제2항에 종속하는 제43항에 있어서, F2를 프로세싱하기 위해, 상기 CNN은 상기 전경/배경 및 객체 클래스 분할 및 상기 방향성 정보를 생성하기 위해 복수의 출력 디코더 브랜치를 사용하는, 방법.
  46. 제45항에 있어서, 상기 복수의 출력 디코더 브랜치는:
    상기 전경/배경 분할들을 생성하기 위한 활성화 함수 및 1x1 컨벌루션 블록을 갖는 제1 출력 디코더 브랜치;
    상기 객체 클래스 분할들을 생성하기 위한 활성화 함수 및 1x1 컨벌루션 블록을 갖는 제2 출력 디코더 브랜치; 및
    상기 방향성 정보를 생성하기 위한 1x1 컨벌루션 블록을 갖는 제3 출력 디코더 브랜치
    를 포함하는, 방법.
  47. 제36항 내지 제47항 중 어느 한 항에 있어서, 상기 CNN은 상기 전경/배경 분할들을 결정하기 위한 시맨틱 분할에서 픽셀 단위 클래스 불균형을 극복하기 위해 손실 최대 풀링(LMP) 손실 함수를 사용하여 훈련되는, 방법.
  48. 제36항 내지 제47항 중 어느 한 항에 있어서, 상기 CNN은 상기 전경/배경 및 객체 클래스 분할들을 결정하기 위해 음의 로그 우도 손실(NLL) 함수를 사용하여 훈련되는, 방법.
  49. 제37항에 종속하는, 제37항 내지 제48항 중 어느 한 항에 있어서, 상기 CNN은 상기 방향성 정보를 결정하기 위해 후버 손실 함수를 사용하여 훈련되는, 방법.
  50. 제37항에 종속하는, 제37항 내지 제49항 중 어느 한 항에 있어서, 각각의 객체는 베이스와 팁을 갖고, 상기 방향성 정보는 베이스-팁 방향 필드들을 포함하는, 방법.
  51. 제36항 내지 제50항 중 어느 한 항에 있어서, 상기 제1 브랜치는 MobileNetV2 인코더-디코더 구조를 사용하여 정의되고, 상기 제2 브랜치는 상기 MobileNetV2 인코더-디코더 구조로부터의 인코더 구조를 사용하여 정의되고; 상기 CNN은 ImageNet으로부터의 훈련 데이터를 사용하여 초기에 훈련되고, 그 후, 그라운드 트루스로 라벨링된 상기 복수의 객체에 대한 객체 추적 데이터세트를 사용하여 훈련되는, 방법.
  52. 제36항 내지 제51항 중 어느 한 항에 있어서, 상기 CNN으로부터 출력된 상기 정보의 적어도 일부를 사용하여 상기 이미지로부터 업데이트된 이미지를 생성하기 위해 이미지 프로세싱을 수행하는 단계를 포함하는, 방법.
  53. 제37항에 종속하는 제52항에 있어서, 상기 이미지 프로세싱을 수행하는 단계는 상기 복수의 객체의 색상과 같은 외관을 변경하기 위해, 상기 전경/배경 및 객체 클래스 분할들 및 방향성 정보 중 적어도 일부를 사용하는, 방법.
  54. 제52항 또는 제53항에 있어서,
    상기 복수의 객체에 적용할 외관 선택을 수신하기 위해 사용자 인터페이스를 제시하는 단계;
    카메라로부터 상기 이미지로서 사용할 셀카 비디오 이미지를 수신하는 단계;
    상기 외관 선택을 사용하여 상기 업데이트된 이미지를 생성하기 위해 상기 셀카 비디오 이미지를 프로세싱하는 단계; 및
    증강 현실을 시뮬레이션하기 위해 상기 업데이트된 이미지를 제시하는 단계
    를 포함하는, 방법.
  55. 제36항 내지 제54항 중 어느 한 항에 있어서, 상기 방법은 스마트폰 또는 태블릿을 포함하는 컴퓨팅 디바이스에 의해 수행되는, 방법.
  56. 제36항 내지 제55항 중 어느 한 항에 있어서, 상기 이미지는 손톱들을 갖는 손의 적어도 일부를 포함하고, 상기 복수의 객체는 손톱들을 포함하는, 방법.
  57. 방법으로서,
    복수의 객체를 포함하는 이미지를 프로세싱한 컨볼루션 신경망(CNN)에 의해 시맨틱 분할된 상기 복수의 객체 각각에 대한 전경/배경 및 객체 클래스 분할 및 방향성 정보를 포함하는 CNN 출력을 수신하는 단계; 및
    상기 전경/배경 분할들(및 객체 클래스 분할들)에 따라 분할된 상기 복수의 객체 각각에 대해 선택된 색상의 그라디언트를 드로잉함으로써 - 상기 선택된 색상은 상기 방향성 정보에 의해 표시된 상기 객체들 각각의 개별 방향에 수직하게 드로잉됨 -, 업데이트된 이미지를 생성하기 위해 상기 이미지를 프로세싱하는 단계
    를 포함하는, 방법.
  58. 제57항에 있어서, 상기 그라디언트에 걸쳐 상기 복수의 객체 각각에 대한 개별 반사 컴포넌트들을 적용하고 블렌딩하는 단계를 더 포함하는, 방법.
  59. 제58항의 제57항에 있어서, 드로잉 이전에, 상기 전경/배경 분할들에 의해 식별된 상기 복수의 객체 각각의 개별 영역들을 신장시켜 드로잉을 위해 그것의 팁과 같은 여백이 포함되는 것을 보장하는 단계를 더 포함하는, 방법.
  60. 제59항에 있어서, 드로잉 이전에,
    상기 복수의 객체로부터 결정된 평균 색상으로 신장된 상기 복수의 객체 각각의 개별 영역들 외부의 적어도 일부 인접 영역들을 채색하는 단계; 및
    신장된 상기 복수의 객체 각각의 상기 개별 영역들 및 상기 인접 영역들을 블러링하는 단계
    를 더 포함하는, 방법.
  61. 제57항 내지 제60항 중 어느 한 항에 있어서, 드로잉에 사용하기 위해 선택된 색상을 수신하는 단계를 포함하는, 방법.
  62. 제57항 내지 제61항 중 어느 한 항에 있어서, 상기 방법은 제2항에 종속하는 제2항 내지 제21항 중 어느 한 항에 따라 정의되는 컴퓨팅 디바이스에 의해 수행되는, 방법.
  63. 방법으로서,
    컨볼루션 신경망(CNN)으로 복수의 객체를 포함하는 이미지를 프로세싱하는 단계
    를 포함하고,
    상기 CNN은 상기 이미지 내의 상기 복수의 객체를 시맨틱 분할하도록 구성되고, 상기 CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 상기 캐스케이드식 시맨틱 분할 모델 아키텍처는:
    저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및
    고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치
    를 갖고, 상기 CNN은 전경/배경 분할을 포함하는 정보를 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하고, 상기 CNN은 손실 평균 폴링 손실 함수를 사용하여 훈련되는, 방법.
  64. 제63항에 있어서, 상기 이미지는 복수의 픽셀을 포함하고, 상기 이미지 내의 상기 복수의 객체는 적은 수의 상기 복수의 픽셀에 의해 표현되는, 방법.
  65. 제63항 또는 제64항에 있어서, 상기 CNN은 객체 클래스 분할들을 포함하는 정보를 더 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하고, 상기 CNN은 NLL 손실 함수를 사용하여 더 훈련되는, 방법.
  66. 제63항 내지 제65항 중 어느 한 항에 있어서, 상기 CNN은 방향성 정보를 포함하는 정보를 더 출력하기 위해, 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하고, 상기 CNN은 후버 손실 함수 또는 L2 손실 함수를 사용하여 더 훈련되는, 방법.
  67. 제63항 내지 제66항 중 어느 한 항에 있어서, 업데이트된 이미지를 생성하기 위해 상기 이미지를 업데이트하는 단계를 더 포함하고, 업데이트하는 단계는 상기 CNN으로부터 출력된 정보의 적어도 일부를 사용하는 단계를 포함하는, 방법.
  68. 제36항 내지 제67항 중 어느 한 항에 있어서, 상기 CNN은 출력 정보의 라플라시안 피라미드를 제공하도록 정의되는, 방법.
  69. 방법으로서,
    CNN을 훈련하기 위해 이미지들의 데이터세트에 주석을 달기 위한 그래픽 사용자 인터페이스(GUI)를 제공하는 단계 - 상기 GUI는 주석이 달려질 개별 이미지를 디스플레이하기 위한 이미지 디스플레이 부분을 갖고, 상기 디스플레이 부분은 상기 개별 이미지 내에 보여진 개별 객체들의 윤곽을 정하기 위한(개별 객체들을 분할하기 위한) 입력을 수신하고, 상기 개별 객체들 각각에 대한 방향성 정보를 나타내는 입력을 수신하도록 구성됨 - ;
    상기 이미지에 주석을 달기 위한 입력을 수신하는 단계; 및
    상기 데이터세트를 정의하기 위해 상기 주석에 연관하여 상기 이미지를 저장하는 단계
    를 포함하는, 방법.
  70. 제69항에 있어서, 상기 GUI는 상기 개별 객체들 각각을 시맨틱 분류하기 위한 입력을 수신하기 위한 컨트롤들을 제공하도록 더 구성되는, 방법.
  71. 제69항 또는 제70항에 있어서, 상기 CNN은 상기 이미지 내의 복수의 객체를 시맨틱 분할하도록 구성되고, 상기 CNN은 캐스케이드식 시맨틱 분할 모델 아키텍처를 포함하고, 상기 캐스케이드식 시맨틱 분할 모델 아키텍처는:
    저해상도 피처들의 딥 러닝을 제공하는 제1 브랜치; 및
    고해상도 피처들의 쉘로우 러닝을 제공하는 제2 브랜치
    를 갖고, 상기 CNN은 전경/배경 및 객체 클래스 분할들을 포함하는 정보를 출력하기 위해 상기 제1 브랜치 및 상기 제2 브랜치로부터의 개별 예측들을 결합하는, 방법.
KR1020217038172A 2019-04-30 2020-04-29 복수의 객체를 추적하기 위해 컨볼루션 신경망을 사용하는 이미지 프로세싱 KR20220002995A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962840718P 2019-04-30 2019-04-30
US62/840,718 2019-04-30
PCT/CA2020/050566 WO2020220126A1 (en) 2019-04-30 2020-04-29 Image processing using a convolutional neural network to track a plurality of objects

Publications (1)

Publication Number Publication Date
KR20220002995A true KR20220002995A (ko) 2022-01-07

Family

ID=73016577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217038172A KR20220002995A (ko) 2019-04-30 2020-04-29 복수의 객체를 추적하기 위해 컨볼루션 신경망을 사용하는 이미지 프로세싱

Country Status (6)

Country Link
US (1) US11410314B2 (ko)
EP (1) EP3948775A4 (ko)
JP (1) JP7498195B2 (ko)
KR (1) KR20220002995A (ko)
CN (1) CN113924597A (ko)
WO (1) WO2020220126A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023234757A1 (ko) * 2022-06-03 2023-12-07 주식회사 링커버스 손톱 분석을 위해 이미지를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210547B2 (en) * 2019-03-20 2021-12-28 NavInfo Europe B.V. Real-time scene understanding system
CN110472531B (zh) * 2019-07-29 2023-09-01 腾讯科技(深圳)有限公司 视频处理方法、装置、电子设备及存储介质
US11798270B2 (en) * 2020-04-27 2023-10-24 Molecular Devices, Llc Systems and methods for image classification
US11790535B2 (en) * 2020-05-12 2023-10-17 True Meeting Inc. Foreground and background segmentation related to a virtual three-dimensional (3D) video conference
US11687780B2 (en) * 2020-07-02 2023-06-27 Samsung Electronics Co., Ltd Method and apparatus for data efficient semantic segmentation
CN111738268B (zh) * 2020-07-22 2023-11-14 浙江大学 一种基于随机块的高分遥感图像的语义分割方法及系统
US11461989B2 (en) * 2020-12-04 2022-10-04 Himax Technologies Limited Monitor method and monitor system thereof wherein mask is used to cover image for detecting object
US11900729B2 (en) 2020-12-16 2024-02-13 Snap Inc. Eyewear including sign language to speech translation
CN112734642B (zh) * 2021-01-12 2023-03-10 武汉工程大学 多尺度纹理转移残差网络的遥感卫星超分辨率方法及装置
CN112801104B (zh) * 2021-01-20 2022-01-07 吉林大学 基于语义分割的图像像素级伪标签确定方法及系统
CN113012220A (zh) * 2021-02-02 2021-06-22 深圳市识农智能科技有限公司 一种果实计数方法、装置及电子设备
CN117501313A (zh) * 2021-04-13 2024-02-02 上海科技大学 基于深度神经网络的毛发渲染系统
CN113643330B (zh) * 2021-10-19 2022-03-25 青岛根尖智能科技有限公司 一种基于动态语义特征的目标跟踪方法及系统
CN114004973B (zh) * 2021-12-30 2022-12-27 深圳比特微电子科技有限公司 用于图像语义分割的解码器及其实现方法
CN114549756B (zh) * 2022-02-22 2024-06-25 清华大学 非可控光照条件下的立体重建方法及装置
CN117496160B (zh) * 2023-12-29 2024-03-19 中国民用航空飞行学院 一种面向室内场景的无人机拍摄低光照图像语义分割方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150356669A1 (en) * 2014-06-06 2015-12-10 Myncla Mobile Llc Designing nail wraps with an electronic device
CN106570564B (zh) * 2016-11-03 2019-05-28 天津大学 基于深度网络的多尺度行人检测方法
US10176388B1 (en) * 2016-11-14 2019-01-08 Zoox, Inc. Spatial and temporal information for semantic segmentation
US10467458B2 (en) * 2017-07-21 2019-11-05 Altumview Systems Inc. Joint face-detection and head-pose-angle-estimation using small-scale convolutional neural network (CNN) modules for embedded systems
CN110461240A (zh) 2017-01-19 2019-11-15 纽约大学 用于超声分析的系统、方法和计算机可访问介质
US20200082595A1 (en) 2017-05-31 2020-03-12 Sony Corporation Image processing apparatus, image processing system, and image processing method as well as program
US10678256B2 (en) 2017-09-28 2020-06-09 Nec Corporation Generating occlusion-aware bird eye view representations of complex road scenes
US10755115B2 (en) * 2017-12-29 2020-08-25 Here Global B.V. Method, apparatus, and system for generating synthetic image data for machine learning
CN109508681B (zh) 2018-11-20 2021-11-30 北京京东尚科信息技术有限公司 生成人体关键点检测模型的方法和装置
CN109522966B (zh) 2018-11-28 2022-09-27 中山大学 一种基于密集连接卷积神经网络的目标检测方法
US10937169B2 (en) * 2018-12-18 2021-03-02 Qualcomm Incorporated Motion-assisted image segmentation and object detection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023234757A1 (ko) * 2022-06-03 2023-12-07 주식회사 링커버스 손톱 분석을 위해 이미지를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
EP3948775A1 (en) 2022-02-09
CN113924597A (zh) 2022-01-11
EP3948775A4 (en) 2022-12-21
WO2020220126A1 (en) 2020-11-05
JP7498195B2 (ja) 2024-06-11
US11410314B2 (en) 2022-08-09
US20200349711A1 (en) 2020-11-05
JP2022530907A (ja) 2022-07-04

Similar Documents

Publication Publication Date Title
JP7498195B2 (ja) 複数のオブジェクトを追跡するための畳み込みニューラルネットワークを用いた画像処理
Sahu et al. Artificial intelligence (AI) in augmented reality (AR)-assisted manufacturing applications: a review
Ding et al. Learning depth-guided convolutions for monocular 3d object detection
An et al. Semantic segmentation–aided visual odometry for urban autonomous driving
JPWO2020220126A5 (ko)
CN111563502A (zh) 图像的文本识别方法、装置、电子设备及计算机存储介质
Hoang et al. Improving traffic signs recognition based region proposal and deep neural networks
Romero et al. FlowCap: 2D human pose from optical flow
Dharmasiri et al. Eng: End-to-end neural geometry for robust depth and pose estimation using cnns
CN110992379B (zh) 一种基于方向超像素的快速图像分割方法
Islam et al. FADM-SLAM: A fast and accurate dynamic intelligent motion SLAM for autonomous robot exploration involving movable objects
Szemenyei et al. Real-time scene understanding using deep neural networks for RoboCup SPL
Yuan et al. Optical flow training under limited label budget via active learning
You et al. Dynamic dense CRF inference for video segmentation and semantic SLAM
Vaishali Real-time object detection system using caffe model
Liang et al. Hand parsing and gesture recognition with a commodity depth camera
Payumo et al. Augmented reality data generation for training deep learning neural network
Türkmen Scene understanding through semantic image segmentation in augmented reality
Ewerth et al. Estimating relative depth in single images via rankboost
Bekhit Computer Vision and Augmented Reality in iOS
Helala et al. Automatic parsing of lane and road boundaries in challenging traffic scenes
Duke et al. Nail Polish Try-On: Realtime Semantic Segmentation of Small Objects for Native and Browser Smartphone AR Applications
Kurnikov et al. DNNs for multi-map semantic segmentation
Pourjam et al. Segmentation of Human Instances Using Grab-cut and Active Shape Model Feedback.
Gorbachev et al. Adversarial Learning for Effective Detector Training via Synthetic Data

Legal Events

Date Code Title Description
A201 Request for examination