KR20180116996A - 3차원 안면 정면화 시스템 및 방법 - Google Patents

3차원 안면 정면화 시스템 및 방법 Download PDF

Info

Publication number
KR20180116996A
KR20180116996A KR1020170050018A KR20170050018A KR20180116996A KR 20180116996 A KR20180116996 A KR 20180116996A KR 1020170050018 A KR1020170050018 A KR 1020170050018A KR 20170050018 A KR20170050018 A KR 20170050018A KR 20180116996 A KR20180116996 A KR 20180116996A
Authority
KR
South Korea
Prior art keywords
dimensional
feature point
facial
facial image
arithmetic
Prior art date
Application number
KR1020170050018A
Other languages
English (en)
Other versions
KR101963198B1 (ko
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 한국과학기술원
Priority to KR1020170050018A priority Critical patent/KR101963198B1/ko
Priority to PCT/KR2017/004495 priority patent/WO2018194204A1/ko
Publication of KR20180116996A publication Critical patent/KR20180116996A/ko
Application granted granted Critical
Publication of KR101963198B1 publication Critical patent/KR101963198B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06K9/00208
    • G06K9/00268
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 3차원 안면 정면화 시스템은, 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 시스템에 있어서, 상기 특징 점 추출 연산 및 상기 3차원 정면화 연산을 수행하기 위해 병렬로 배치된 복수개의 연산기들; 상기 연산기들 각각에 1 : 1로 대응하도록 직결되어 한 쌍의 조합을 이루는 복수개의 로컬 메모리들; 상기 연산기들 각각이 공통적으로 접근할 수 있는 공유 메모리; 및 상기 연산기들, 상기 로컬 메모리들 및 상기 공유 메모리를 제어하는 컨트롤러를 포함하며, 온 칩(on chip)의 집적회로 형태를 갖는 기술을 제공함에 기술적 특징이 있다.

Description

3차원 안면 정면화 시스템 및 방법{3-DIMENSIONAL FACE FRONTALIZATION SYSTEM AND METHOD}
본 발명은 3차원 안면 정면화 시스템 및 방법에 관한 것으로, 더욱 상세하게는 3차원 안면 정면화 알고리즘을 연산하기에 효율적인 구조로 설계하여 그 연산기를 칩에 집적하여 에너지 면에서 효율적으로 연산하고, 전력소모량이 많은 외부 메모리 접근을 줄이는 연산방법을 통해 모바일 기기에서도 구동시간을 오래가져갈 수 있도록 하는, 3차원 안면 정면화 시스템 및 방법에 관한 것이다.
최근 안면 인식은 가장 쉽게 접근할 수 있는 보안기술로서 넓은 범위의 모바일 기기에서 폭넓게 응용되고 있다.
현재 컨볼루션 신경망(Convolutional Neural Network, CNN)을 사용한 딥 러닝(deep learning) 기술로, 인간의 인식 능력을 상회하는 안면 인식시스템이 다방면으로 연구되고 있다.
그러한 컨볼루션 신경망(Convolutional Neural Network, CNN)를 이용하여 높은 정확도의 안면 인식 결과를 얻기 위해서는, 입력 이미지가 안면의 정면을 담고 있어야 한다.
그러나 실생활에서는 항상 사용자의 정면 이미지를 담기 힘들고, 그에 따라 안면 인식의 정확도가 크게 감소하게 된다.
따라서 높은 정확도의 안면 인식 시스템을 위해서는 안면의 정면화 작업이 필요하게 된다.
일반적으로 입력된 이미지는 2차원상의 안면 이미지이고, 사람의 얼굴은 3차원 상의 물체이기 때문에, 단순이 입력 이미지의 2차원 변환으로는 비스듬히 찍힌 안면 이미지를 정면화 시킬 수 없다.
이로 인해, 2차원 입력 이미지로부터 3차원 공간상에서 얼굴의 가상 모델을 생성하여, 3차원에서 정면화 시켜주는 과정을 통해 높은 정확도의 안면 인식 시스템의 구성이 요청된다.
2차원 입력 이미지로부터 얼굴의 3차원 가상 모델을 생성하기 위해서는, 얼굴에서 지표가 될 수 있는 특징 점들을 추출해내야 한다.
이러한 특징 점을 정확히 추출할 수 있는 방법은 이진트리탐색을 통해 2차원 안면 이미지에 대한 이진특징벡터를 생성하고, 그 이진벡터와 회귀행렬와의 곱셈을 하는 과정을 반복하는 것이다.
이 과정에서 수천 회의 이진트리탐색을 수행해야하고, 그 탐색을 통해 구한 이진특징벡터와 곱하는 회귀행렬은 단일로 수십 메가바이트(MB) 정도의 대용량 행렬이고, 곱셈 과정을 서로 다른 수개의 회귀행렬과 수행해야한다.
2차원 안면 이미지로부터 수십 개의 특징 점을 추출한 뒤, 그러한 특징 점을 통해 구한 3차원 변환 행렬을 계산할 수 있다.
3차원 변환 행렬과 2차원의 안면 이미지와의 곱셈연산을 통해 정면화된 안면 이미지를 계산해낼 수 있다.
이러한 연산을 종래의 하드웨어와 시스템에서 구현하게 된다면, 비효율적인 연산기 구조와 대용량의 외부메모리 접근으로 인해 많은 에너지를 소모하게 된다.
즉 1회 정면화 된 안면 이미지를 얻기 위해서 수백 메가바이트(MB) 단위의 외부 메모리의 접근을 요구하게 되고, 이로 인해 안면 인식 시스템을 배터리 기반의 모바일 기기에서 구현하면 전력 소모량이 급격하게 높아진다.
따라서 종래의 모바일 기기에서 높은 정확도의 안면 인식 시스템을 위해 3차원 안면 정면화 연산을 구현하면, 높은 전력 소모로 인해 기기 구동가능 시간이 크게 제약되는 문제점이 있었다.
대한민국 공개특허 제2002-0049504호
본 발명이 해결하고자 하는 기술적 과제는, 3차원 안면 정면화 알고리즘을 연산하기에 효율적인 구조로 설계하여 그 연산기를 칩에 집적하여 에너지 면에서 효율적으로 연산하고, 전력소모량이 많은 외부 메모리 접근을 줄이는 연산방법으로, k-평균 클러스터링(k-means clustering), 메모리 레벨 제로 스킵핑(zero-skipping) 및 트리단위 파이프라이닝(pipelining)을 사용하여 모바일 기기에서도 구동시간을 오래가져갈 수 있도록 하는, 3차원 안면 정면화 시스템 및 방법을 제공하는데 있다.
상기 기술적 과제를 이루기 위한 본 발명에 따른 3차원 안면 정면화 시스템 은, 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 시스템에 있어서, 상기 특징 점 추출 연산 및 상기 3차원 정면화 연산을 수행하기 위해 병렬로 배치된 복수개의 연산기들; 상기 연산기들 각각에 1 : 1로 대응하도록 직결되어 한 쌍의 조합을 이루는 복수개의 로컬 메모리들; 상기 연산기들 각각이 공통적으로 접근할 수 있는 공유 메모리; 및 상기 연산기들, 상기 로컬 메모리들 및 상기 공유 메모리를 제어하는 컨트롤러를 포함하며, 온 칩(on chip)의 집적회로 형태를 갖는 기술을 제공한다.
또한 상기 기술적 과제를 이루기 위한 본 발명에 따른 3차원 안면 정면화 시스템은, 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 시스템에 있어서, 상기 특징 점 추출 연산 및 상기 3차원 정면화 연산을 수행하기 위해 병렬로 배치된 복수개의 연산기들과, 상기 연산기들 각각에 1 : 1로 대응하도록 복수개의 로컬 메모리들이 직결되어 각각 한 쌍의 조합을 이루는 구조를 가지며, 처리해야 할 연산량의 정도에 따라 연산기와 로컬 메로리로 이루어진 상기 조합의 가동 개수를 달리하여 운영하는 기술을 제공한다.
또한 상기 기술적 과제를 이루기 위한 본 발명에 따른 3차원 안면 정면화 방법은, 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 방법에 있어서, 안면 특징점을 바탕으로 이진트리 탐색을 통해 이진 특징벡터를 생성하는 제1 과정과, 상기 이진 특징벡터와 회귀행렬과의 곱셈을 수행하는 제2 과정을 포함하는 특징점 추출단계; 및 추출된 특징 점들을 기반으로 3차원 변환 행렬을 계산하는 제3 과정과, 상기3차원 변환 행렬의 계산을 통해 정면화된 3차원 안면 이미지를 생성하는 제4 과정을 포함하는 정면화 단계를 가지며, 병렬로 배치된 복수개의 연산기들과, 상기 연산기들 각각에 1 : 1로 대응하도록 복수개의 로컬 메모리들이 직결되어 각각 한 쌍의 조합을 이루는 구조에서, 상기 회귀행렬을 불러오기 위한 외부 메모리의 접근을 줄이는 방식으로 상기 특징점 추출단계를 수행하는 기술을 제공한다.
본 발명은 동일한 연산기와 로컬 메모리의 조합을 병렬적으로 프로세서를 구성하여 특징 점 추출 단계와 안면 정면화 단계를 가속하며, 각각의 연산기에 이미지의 각각의 행을 할당하여 로컬 메모리간의 데이터 이동을 최소화하여 저 전력으로 가속할 수 있고, 특징 점 추출 단계의 많은 외부 메모리 접근을 k-평균 클러스터링(k-means clustering), 메모리 레벨 제로 스킵핑(zero-skipping) 및 트리단위 파이프라이닝(pipelining)을 통해 줄여 정확도와 연산 시간에 손해를 보지 않으며, 적은 수의 메모리 접근을 통해 에너지 소모를 줄일 수 있는 기술적 효과가 있다.
도 1은 본 발명에 따른 실시예로, 3차원 안면 정면화 방법의 수행 과정을 순서도로 나타낸 것이다.
도 2는 본 발명에 따른 실시예로, 온 칩 형태를 갖는 3차원 안면 정면화 시스템의 주요 구성을 나타낸 것이다.
도 3은 본 발명에 따른 실시예로, 연산기의 구조를 상세히 나타낸 것이다.
도 4a는 본 발명에 따른 실시예로, 특징점 추출 단계에서 연산기와 로컬 메모리의 배분을 나타낸 것이다.
도 4b는 본 발명에 따른 실시예로, 정면화 단계에서 연산기와 로컬 메모리의 배분을 나타낸 것이다.
도 5는 본 발명에 따른 실시예로, k-means clustering을 통한 회귀행렬의 군집화 결과 및 효과를 그래프로 나타낸 것이다.
도 6은 본 발명에 따른 실시예로, 메모리 레벨 zero-skipping의 과정을 설명하는 예시 도를 나타낸 것이다.
도 7a는 본 발명에 따른 비교 실시예로, 트리단위 파이프라이닝이 적용되지 않은 경우 일반적인 회귀행렬 불러오기 과정을 나타낸 것이다.
도 7b는 본 발명에 따른 비교 실시예로, 트리단위 파이프라이닝이 적용된 경우 회귀행렬 불러오기 과정을 나타낸 것이다.
이하에서는 본 발명의 구체적인 실시예를 도면을 참조하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 실시예로, 3차원 안면 정면화 방법의 수행 과정을 순서도로 나타낸 것이다.
도 1을 참조하면, 본 발명에 따른 3차원 안면 정면화 방법은 2차원 입력 이미지로부터 3차원 공간상에서 얼굴의 가상 모델을 생성하여, 3차원에서 정면화 시켜주는 과정을 통해 높은 정확도의 안면 인식 기술을 구현하기 위해, 크게 2가지 단계로 특징점 추출 단계(A100) 및 정면화 단계(A200)를 포함하는데, 이하 각각의 단계의 구체적인 수행과정에 대해 설명한다.
첫째 단계로, 특징점 추출 단계(A100)는 입력된 2차원 안면 이미지로 부터 특징점의 위치를 예측하는 제1 과정(S10)을 갖는다.
다음으로, 상기 제1 과정(S10)에서 예측한 안면 특징점을 바탕으로 이진트리 탐색을 통해 이진 특징벡터를 생성하는 제2 과정(S20)을 갖는다.
다음으로, 상기 제2 과정(S20)에서 생성된 이진 특징벡터와 회귀행렬과의 곱셈을 수행하는 제3 과정(S30)을 갖는다.
이 경우 회귀행렬은 수십 메가바이트(MB)의 대용량 2차원 행렬로서 외부 메모리에 저장되며, 데이터베이스로부터 학습된 값을 사용해 특징 점 위치들을 갱신하는데 사용 된다.
상기 제2 과정(S20) 및 상기 제3 과정(S30) 과정에서는 수천 회의 이진트리탐색이 수행되어야 하며, 탐색을 통해 구한 이진특징벡터는 서로 다른 수개의 회귀행렬과 곱셈이 수행되어야 하는데, 이에 대한 구체적인 설명은 도 4a, 도 5 ~ 도 7b에서 후술한다.
다음으로, 상기 제3 과정(S30)에서 수행된 곱셈 결과를 반영하여 안면 특징점의 위치를 갱신하는 제4 과정(S40)을 갖는다.
마지막으로, 제4 과정(S40)에서 수행된 안면 특징점의 위치 갱신이 최종적인 것인지를 판단하는 제5 과정(S50)을 갖는다.
만일 제5 과정(S50)에서 안면 특징점의 위치 갱신이 최종적이 아니라고 판단한 경우(아니오), 상기 제1 과정(S10)으로 리턴 하여 상기 제2 과정(S20) ~ 상기 제4 과정(S40)을 반복 수행 한다.
만일 제5 과정(S50)에서 안면 특징점의 위치 갱신이 최종적이라고 판단한 경우(예), 즉 최종적인 특징 점의 위치를 추출한 경우 다음 단계인 정면화 단계(A200)를 수행한다.
이하 둘째 단계인 정면화 단계(A200)의 각각의 과정에 대해 설명한다.
우선, 상기 제5 과정(S50)을 통해 2차원 안면 이미지로부터 수십 개의 최종 특징 점들을 추출한 후, 추출된 특징 점들을 기반으로 3차원 변환 행렬을 계산하는 제6 과정(S60)을 갖는다.
마지막으로, 상기 제6 과정(S60)의 3차원 변환 행렬의 계산을 통해 정면화된 3차원 안면 이미지를 생성하는 제7 과정(S70)을 갖는다.
도 2는 본 발명에 따른 실시예로, 온 칩 형태를 갖는 3차원 안면 정면화 시스템의 주요 구성을 나타낸 것이다.
도 2를 참조하면, 본 발명에 따른 3차원 안면 정면화 시스템(100)은, 복수개의 제1 연산기(110-1) ~ 제n 연산기(110-n), 복수개의 제1 로컬 메모리(120-1) ~ 제n 로컬 메모리(120-n), 공유 메모리(130) 및 상위 컨트롤러(140)를 포함하며, 온 칩(on chip)의 집적회로 형태를 갖는다.
제1 연산기(110-1) ~ 제n 연산기(110-n)는 상기 특징점 추출 단계(A100)에서 특징 점 추출을 위한 연산 및 상기 정면화 단계(A200)에서 정면화 연산을 모두 수행할 수 있도록 복수 개 배치되며, 이 경우 제1 연산기(110-1) ~ 제n 연산기(110-n)와 1 : 1로 대응하는 제1 로컬 메모리(120-1) ~ 제n 로컬 메모리(120-n)가 한조로 조합되어 병렬로 배치된다.
이 경우 각각의 제1 로컬 메모리(120-1) ~ 제n 로컬 메모리(120-n)는 제1 연산기(110-1) ~ 제n 연산기(110-n) 각각의 연산에 필요한 데이터(입력 데이터) 및 제1 연산기(110-1) ~ 제n 연산기(110-n) 각각이 수행한 연산 결과(중간 데이터)를 각각 따로 저장한다.
즉 본 발명은 연산기마다 로컬 메모리를 각각 할당하여 연산기마다 요구되는 입력 데이터와 중간 데이터를 저장하도록 함으로써, 각각의 연산기마다 할당된 로컬 메모리가 달라 여러 연산기가 동시에 각각의 로컬 메모리에 접근하여 데이터를 저장하거나 꺼내올 수 있으므로, 더욱 빠르게 각각의 데이터로의 접근이 가능할 뿐 만 아니라, 적은 전력소모로 회로를 동작할 수 있도록 해주는 장점을 제공한다.
공유 메모리(130)는 제1 연산기(110-1) ~ 제n 연산기(110-n)들이 공통적으로 접근할 수 있는, 앞의 로컬 메모리와 구별된 글로벌 메모리의 기능을 수행한다.
상위 컨트롤러(140)는 상위에 배치된 제1 연산기(110-1) ~ 제n 연산기(110-n)들 각각을 동시에 제어 하며, 또한 공유 메모리(130)를 제어한다.
이를 부연하면, 상위 컨트롤러(140)는 외부에서 복수의 제1 연산기(110-1) ~ 제n 연산기(110-n)를 동시에 제어하기 위해 2가지 제어모드를 갖는데, 이를테면 외부에서 프로세서로 명령을 주는 단계에서 1개의 단일 연산기로만 명령을 내리게 되는 제1 제어모드와, 모든 연산기로 동일한 명령을 동시에 내리게 되는 제2 제어모드를 갖는다.
이 경우 상위 컨트롤러(140)는 상기 2가지의 제어모드를 이용해 요구되는 연산량에 맞춰 연산기를 할당해 제어할 수 있는데, 이를테면, 이진탐색트리를 이용한 특징 점 추출에는 연산량이 많이 요구되지 않기 때문에 상기 제1 제어모드를 통해 적은 수의 연산기를 할당해 사용하고(도 4a 참조), 많은 연산량이 요구되는 정면화 단계에서는 상기 제2 제어모드를 통해 모든 연산기를 할당해 가속하게 된다. (도 4b 참조)
한편 본 발명에 따른 3차원 안면 정면화 시스템(100)을 이용하여 도 1에서 설명한 특징점 추출 단계(A100) 및 정면화 단계(A200)의 수행 과정을 가속 처리 할 수 있는데, 가속 처리를 구현하는 제1 연산기(110-1) ~ 제n 연산기(110-n)의 세부적인 구조를 도 3을 참조하여 이하 설명한다.
도 3은 본 발명에 따른 실시예로, 연산기의 구조를 상세히 나타낸 것이다.
도 3을 참조하면, 본 발명에 따른 연산기(110)는 ALU(Arithmetic Logic Unit, 111)들, 입력 레지스터(112), 출력 레지스터(113), 트리 덧셈기(114) 및 레지스터 파일(115)을 포함하여 구성된다.
이 경우 ALU(Arithmetic Logic Unit, 111)들은 덧셈기, 뺄셈기, 곱셈기 및 나눗셈기의 동일 구조로 된 4개의 ALU(111)가 SIMD(Single Instruction Multiple Data) 형태로 병렬적으로 배치되며, 이들 각각은 입력 레지스터(112)의 8개의 출력 데이터를 입력하기 위한 8개의 입력 단자 및 출력 레지스터(113)로 4개의 출력 데이터를 출력하기 위한 4개의 출력 단자를 갖는다.
트리 덧셈기(114)는 상기 출력 레지스터(113)의 출력단에 배치되어, 4개의 ALU(Arithmetic Logic Unit, 111) 연산 결과를 한 번에 모두 더해주는 연산을 수행함으로써, 행렬 연산의 속도를 더욱 높여줄 수 있도록 해주는데, 이에 대한 구체적인 실시예는 도 6에서 후술한다.
레지스터 파일(115)은 ALU(Arithmetic Logic Unit, 111)들이 수행한 연산 결과 값과 중간 값들을 저장한다.
이로써, 본 발명은 도 2에 도시된 제1 연산기(110-1) ~ 제n 연산기(110-n)를 통해 제1 로컬 메모리(120-1) ~ 제n 로컬 메모리(120-n)에서 연산기 내부의 레지스터 파일(115)로 데이터를 읽어온 후, 4개의 ALU(Arithmetic Logic Unit, 111)와 트리 덧셈기(114)를 사용해 필요한 연산을 수행하고, 다시 그 결과를 레지스터 파일(115)에 쓰게 되며, 필요한 경우 그 결과 값을 제1 로컬 메모리(120-1) ~ 제n 로컬 메모리(120-n)에 다시 저장하게 된다.
도 4a는 본 발명에 따른 실시예로, 특징점 추출 단계에서 연산기와 로컬 메모리의 배분을 나타낸 것이다.
본 발명은 연산기 및 로컬 메모리 조합으로 프로세서를 구성한 구조에서 특징 점 추출 단계(A100)를 수행할 경우, 1개의 연산기와 로컬 메모리를 이진트리탐색에 할당하고, 다른 1개의 연산기와 로컬 메모리를 이진특징벡터와 회귀행렬의 곱셈에 할당하며, 나머지 연산기와 로컬 메모리는 연산을 할당하지 않는 방식을 사용한다.
이를테면, 도 4a에 도시된 바대로, 제1 연산기(110-1) 및 제1 로컬 메모리(120-1) 조합은 이진트리탐색을 수행하고(S20 참조), 제2 연산기(110-2) 및 제2 로컬 메모리(120-2) 조합은 이진특징벡터와 회귀행렬의 곱셈을 수행하지만(S30 참조), 나머지 제3 연산기(110-3) 및 제3 로컬 메모리(120-3) 조합 등은 가동하지 않도록 하여 어떠한 연산도 수행하지 않는다.
도 4b는 본 발명에 따른 실시예로, 정면화 단계에서 연산기와 로컬 메모리의 배분을 나타낸 것이다.
본 발명은 연산기 및 로컬 메모리 조합으로 프로세서를 구성한 구조에서 많은 연산량을 필요로 하는 정면화 단계(A200)를 수행할 경우, 모든 연산기를 할당함으로써, 각각의 연산기마다 안면 이미지의 서로 다른 각 행을 담당하여 연산을 진행하는데, 이 경우 안면 이미지의 각 행 사이에는 데이터 종속성이 존재하지 않기 때문에, 각 연산기의 로컬 메모리 사이에 데이터 교환이 필요하지 않게 되어 모든 연산기 들이 독립적으로 연산을 하게 된다.
이를테면, 도 4b에 도시된 바대로, 제1 연산기(110-1) 및 제1 로컬 메모리(120-1) 조합은 안면 이미지의 1행을 연산하고, 제2 연산기(110-2) 및 제2 로컬 메모리(120-2) 조합은 안면 이미지의 2행을 연산하며, 마찬가지 방식으로 제3 연산기(110-3) 및 제3 로컬 메모리(120-3) 조합 등은 안면 이미지의 3행 등을 각각 연산한다.
즉 본 발명은 각 연산기와 로컬 메모리의 조합을 이미지의 각 행에 할당하여 개별적으로 동시에 연산을 수행하는 방식을 통해, 각 로컬 메모리간 독립적으로 데이터 이동을 최소화하여 연산을 수행함으로써, 최소한의 전력 소모로 3차원 안면 정면화 연산을 수행할 수 있게 된다.
한편 상기 3차원 안면 정면화 연산은 이진탐색트리 연산에서 많은 양의 데이터를 필요로 하고, 필연적으로 외부 메모리에 많이 접근하게 되어 많은 양의 전력을 소모하게 되는 문제가 발생된다.
본 발명은 모바일 기기에서 긴 동작시간을 보장하기 위해 외부 메모리의 접근을 줄이기 위한 방법을 제시하는데, 이하 도 5 ~ 도 7b에서 설명한다.
도 5는 본 발명에 따른 실시예로, k-means clustering을 통한 회귀행렬의 군집화 결과 및 효과를 그래프로 나타낸 것이다.
도 5에 도시된 바대로, 기존 회귀행렬의 각 요소의 경우 넓은 영역에 걸쳐 값이 존재하고, 이를 모두 3차원 안면 정면화 시스템(100)의 내부로 읽어오기 위해서는 많은 외부 메모리의 접근을 필요로 하는 단점이 존재한다.
이러한 단점을 해결하기 위해 본 발명은 특징점 추출 단계(A100)의 회귀행렬에 대하여 k-평균 클러스터링(k-means clustering)을 통해 회귀행렬의 각 요소를 양자화 하여, 더 낮은 비트(bit) 수로 표현하고, 칩 외부의 외부 메모리에 저장해 놓은 후, 양자화 된 값을 그대로 불러오는 방법을 통해, 상기 회귀행렬을 불러오기 위한 외부 메모리의 접근을 줄이는 방식으로 전력 소모를 줄인다.
이를 부연하면, 상기 특징점 추출 단계(A100)에서 k-평균 클러스터링(k-means clustering)을 통해 양자화 된 회귀행렬은, 외부 메모리에 초기에 저장되어있으며, 이진트리탐색을 통해 구한 이진특징벡터와 회귀행렬의 곱셈연산을 하는 과정(S30)에서 상기 외부 메모리로부터 회귀 행렬을 불러오게 되며, 이 과정에서 양자화 되어있는 데이터를 3차원 안면 정면화 시스템(100)의 칩 내부로 넘겨주어, 외부 메모리의 접근 량을 크게 감소시킬 수 있을 뿐 만 아니라, 정확한 특징 점을 추출할 수 있게 된다.
이하 본 발명의 k-평균 클러스터링(k-means clustering)을 통한 회귀행렬의 각 요소를 양자화 하는 방법에 대해 상세히 설명한다.
k-평균 클러스터링(k-means clustering)은 기존의 데이터 분포에 대해 k개의 평균값으로 군집화 한다는 것을 의미하며, 이하 구체적인 방법을 설명한다.
우선 초기의 데이터 분포에서 k개의 샘플이 무작위로 선정되면, 선정된 k개의 샘플을 기준으로 전체 데이터가 군집화 되며, 가장 가까이 있는 샘플을 기준으로 묶는다.
다음으로 군집이 결정되면, 각 군집내부의 모든 데이터의 중심점으로 평균값이 조정된다.
마지막으로, 새로 정해진 k개의 평균값을 기준으로 다시 군집화가 진행되고, 새로 정해진 군집을 기준으로 평균값이 재조정되며, 이 과정이 수렴할 때까지 반복된다.
한편 k-평균 클러스터링(k-means clustering)을 통해 양자화 된 3-bit 데이터로 회귀행렬을 군집화 시킬 수 있고, 이로써 기존의 각 요소별 32-bit 또는 16-bit로 저장되어 있는 데이터를 3-bit으로 표현함에 따라 외부 메모리 접근을 크게 줄일 수 있게 되는 것이다.
이를 부연하면, 3-bit으로 양자화를 했다는 것은,
Figure pat00001
개의 평균값으로 전체 회귀행렬을 군집화해 양자화 했다는 것을 의미하고, 이는 기존 32-bit으로 표현되는 전체 회귀행렬을 8개의 샘플로 모두 표현 한다는 것을 의미한다.
만일 더 낮은 비트(bit) 수로 양자화 한다면 그에 따라 외부 메모리의 접근을 더 줄일 수 있는 장점이 있지만, 이는 전체 회귀행렬을 표현하는 대표 값들의 개수가 줄어드는 것으로, 정확도가 크게 떨어지는 단점이 존재함으로, 양자화 시키는 숫자의 선택에 신중해야 한다.
이를테면 2-bit으로 양자화를 한다면, 전체 회귀행렬을
Figure pat00002
개의 값으로 표현됨으로 3-bit으로 양자화 한 경우에 비해 외부 메모리의 접근을 더 줄일 수 있는 장점이 있지만, 전체 회귀행렬을 표현하는 대표 값들의 개수가 줄어들어 정면화 연산의 정확도는 크게 감소하는 단점이 존재한다.
한편 상기 회귀행렬은, 데이터베이스를 이용해 미리 학습해 둔 값이고, 미리 학습된 회귀행렬을 학습 후에 k-평균 클러스터링(k-means clustering)을 통해 양자화 하는 방법으로 안면 정면화의 정확도를 손해 보지 않고, 외부 메모리의 접근을 큰 폭으로 줄임에 따라 3차원 안면 정면화 시스템(100)의 전력 소모를 대폭 줄일 수 있게 되는 것이다.
이를 부연하면, 임의로 k개의 값을 선정해서 기존 회귀행렬을 양자화 한다면 정면화의 정확도에 대한 손해를 보겠지만, k-평균 클러스터링(k-means clustering)을 사용할 경우 기존 회귀행렬의 요소 값들의 분포를 고려해 그 요소들을 가장 잘 군집화 할 수 있는 평균값을 선정하여 양자화 한 것이므로, 정면화의 정확도에 대한 손해가 거의 없어 실제 안면 정면화 결과와의 오차는 크게 발생하지 않는다.
이로써, 본 발명은 k-평균 클러스터링(k-means clustering)을 통해 16-bit 회귀 행렬을 3-bit로 양자화 하여, 정확도 손실 없이 80% 이상 메모리의 접근을 줄일 수 있을 뿐만 아니라, k-평균 클러스터링(k-means clustering) 자체에 대해서는 시스템 내에서 연산을 수행 할 필요가 없기 때문에, 외부 메모리의 접근을 줄임으로써 오게 되는 연산에서의 부작용도 없게 된다.
도 6은 본 발명에 따른 실시예로, 메모리 레벨 zero-skipping의 과정을 설명하는 예시 도를 나타낸 것이다.
도 6을 참조하면, 특징점 추출 단계(A100)에서는 이진트리탐색을 통해 구한 이진특징벡터와 양자화 된 회귀 행렬의 곱셈연산을 하는데, 이진특징벡터의 경우에 벡터상의 요소(element) 중 1개의 요소(element)만 1이고, 나머지 요소(element)는 0으로 구성되는 것이 특징이며, 그러한 특징에 의해서 0인 요소(element)와 곱해지는 회귀행렬의 행의 경우 곱셈을 수행하더라도 이진특징벡터의 요소(element)가 0이므로 결과 값이 0이 되어, 외부 메모리로부터 불러온 회귀행렬의 그 행이 의미가 없게 된다.
따라서 본 발명에서는 이진탐색트리의 연산결과인 이진특징벡터의 결과를 확인한 후, 1인 요소(element)와 곱해질 회귀행렬의 행만 외부 메모리에 접근해 불러오는 메모리 레벨 제로 스킵핑(zero-skipping)을 하여 외부 메모리의 접근을 줄일 수 있으며, 이진특징벡터의 1과 곱해질 행 또한 1과의 곱이기에 실제 곱셈연산을 수행하지 않고, 상대적으로 전력이 적게 소모되는 덧셈 연산만 수행하여 같은 결과 값을 얻어낼 수 있게 된다.
이하 메모리 레벨 제로 스킵핑(zero-skipping) 과정을 간단한 실시예를 들어 설명한다.
특징점 추출 단계(A100)에서는, 트리탐색을 통해 얻은 이진특징벡터와 회귀행렬의 곱셈이 필요한데, 이진특징벡터의 경우에 대다수의 값이 0이고, 1은 거의 존재하지 않고, 0의 경우 어떤 값과 곱해지더라도 그 값이 0이기 때문에 0인 요소와 곱해질 회귀행렬의 행은 애초에 외부 메모리로부터 가져올 필요도 없으므로 스킵(skip) 한다는 것이다.
하기 수학식 1은 특징점 추출 단계(A100)에서 트리탐색을 통해 얻은 이진특징벡터와 회귀행렬의 곱셈과정(S30)을 나타낸 것이다.
Figure pat00003
상기 수학식1을 참조하면, 이진특징벡터 (0100000)와 임의의 회귀행렬을 곱해야하는 상황에서, 이진특징벡터의 두 번째 요소만 1이고, 나머지는 모두 0이므로, 위 곱셈을 수행하는 데 있어서, 이진벡터의 1인 요소, 즉 2번째 요소와 곱해질 회귀행렬의 행은 두 번째 행이고, 나머지 행들을 곱셈을 수행해도 0과 곱해지게 되므로 의미가 없게 된다.
즉, 회귀행렬을 외부 메모리에서 불러오는데 있어서 나머지 행들은 모두 스킵(skip) 해버리고, 두 번째 행만 외부 메모리에서 호출(fetch) 해 오면 된다.
또한, 외부 메모리로부터 불러온 회귀행령의 두 번째 행은 1과 곱해지므로, 따로 곱셈연산을 수행하지 않아도 된다.
즉, 상기 이진특징벡터와 회귀행렬의 곱셈연산은 회귀행렬의 두 번째 행의 각 요소들을 모두 더하는 덧셈연산을 수행하는 것과 동일한 결과를 나타내는데, 이를 하기 수학식2로 나타내었다.
Figure pat00004
이를 정리하면, 이진특징벡터의 0과 곱해질 회귀행렬의 행은 외부 메모리로부터 처음부터 불러올 필요가 없으며, 1과 곱해질 행은 곱셈 연산을 수행할 필요가 없이 연산 속도가 보다 빠른 덧셈 연산만 수행해 주면 된다.
한편 상기 메모리 레벨 제로 스킵핑(zero-skipping) 방법으로 이진특징벡터의 결과를 보고 외부 메모리에 접근을 하여 회귀행렬 부분을 불러오게 되면, 외부 메모리에 접근해 데이터를 불러오는 시간 동안 행렬 곱 연산을 하지 못하는 문제가 발생하게 되어 전체적인 안면 정면화 프로세스의 속도에 큰 영향을 미치는데, 이를 해결하기 위한 방법으로 트리단위 파이프라이닝(pipelining)을 도입하여 메모리 접근에 따른 지연 효과를 줄일 수 있도록 하는데, 이하 도 7a 및 도 7b에서 설명한다.
도 7a 및 도 7b는 본 발명에 따른 비교 실시예로, 트리단위 파이프라이닝이 적용되지 않은 경우 및 트리단위 파이프라이닝이 적용된 경우 회귀행렬 불러오기 과정을 나타낸 것이다.
앞의 도 6의 메모리 레벨 제로 스킵핑(zero-skipping) 방법으로 이진특징벡터의 값을 확인한 뒤에 회귀행렬을 외부로부터 불러오게 되면, 도 7a에 도시된 바대로, 회귀행렬의 값을 외부 메모리에서 불러오는 시간을 기다려야 하므로, 곱셈연산을 곧바로 수행할 수 없어 지연시간이 생긴다.
그러나 도 7b에 도시된 바대로, 트리단위 파이프라이닝(pipelining) 방법을 통해 해당 회귀행렬을 외부에서 불러오는 시간을 이용해, 다음 이진트리를 탐색하는 방식의 연산 구조를 사용하면, 외부 메모리의 접근에 의한 지연시간을 숨기며(latency hiding), 빠르게 전체 연산을 수행할 수 있게 된다.
즉 본 발명에서는 트리단위 파이프라이닝(pipelining) 방법을 통해 외부 메모리 접근에 따른 지연 효과를 줄일 수 있는데, 이는 도 6에 도시된 바대로 이진트리탐색 단계에서 트리구성이 같은 크기의 트리(tree)를 수천 개 탐색해야 하는 특성을 이용한 것으로, 1개의 트리 탐색이 완료되어 해당하는 트리의 이진특징벡터가 구해져, 그 벡터의 값이 1인 요소(element)와 곱해질 회귀 행렬의 행을 외부 메모리에서 불러오는 동안에, 그 다음 트리를 탐색하는 연산을 동시에 수행하여 프로세스가 지연되는 효과를 없앨 수 있게 된다.
이하 트리단위 파이프라이닝(pipelining)이 적용되지 않은 경우(도 7a) 및 적용된 경우(도 7b)의 연산 처리 속도를 간단한 예를 들어 비교 설명한다.
도 7a의 경우, 연산처리 과정은 트리탐색_1 ---> 외부 메모리 접근_1---> 회귀행렬_1 ---> 트리탐색_2 ---> 외부 메모리 접근_2---> 회귀행렬_2 순으로 순차적으로 진행된다.
반면 도 7b의 경우, 연산처리 과정은 트리탐색_1---> (트리탐색_2, 외부 메모리 접근_1) 동시 진행 ---> (트리탐색_3, 외부 메모리 접근_2, 회귀행렬_1) 동시 진행----> (트리탐색_4, 외부 메모리 접근_3, 회귀행렬_2) 동시 진행, 즉 복수의 연속된 명령을 동시에 실행하는 파이프라이닝(pipelining) 방식으로 진행된다.
도 7a 및 도 7b 과정에서 각각 수행된 연산처리 속도를 비교하기 위해, 이를테면 회귀행렬_2 까지 수행되는 시간을 각각 비교해 보면, 도 7a의 경우 6단계의 시간이 소요 되었지만, 도 7b의 경우 파이프라이닝(pipelining) 방식을 통해 4단계의 시간이 소요되어 결국 2단계의 시간이 절약됨을 확인할 수 있다.
즉 본 발명은 파이프라이닝(pipelining) 방식을 통해 전체 연산시간을 앞당겨 외부 메모리의 접근에 의한 지연시간의 영향이 없도록 하여(latency hiding), 전체 연산시간을 약 62% 정도 감소시킬 수 있는 기술적 장점을 제공한다.
또한 본 발명은 상기 메모리 레벨 제로 스킵핑(zero-skipping) 방법 및 상기 트리단위 파이프라이닝(pipelining) 방법을 조합하여 운용함으로써, 전체 3차원 안면 정면화 연산의 프로세스 시간에 손해를 보지 않고, 외부 메모리의 접근을 90% 이상 줄여 저 전력 프로세스를 가능하게 해주는 기술적 장점을 제공한다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
100 : 3차원 안면 정면화 시스템
110-1 ~ 110-n : 제1 연산기 ~ 제n 연산기
120-1 ~ 120-n : 제1 로컬 메모리 ~ 제n 로컬 메모리
130 : 공유 메모리
140 : 상위 컨트롤러

Claims (14)

  1. 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 시스템에 있어서,
    상기 특징 점 추출 연산 및 상기 3차원 정면화 연산을 수행하기 위해 병렬로 배치된 복수개의 연산기들;
    상기 연산기들 각각에 1 : 1로 대응하도록 직결되어 한 쌍의 조합을 이루는 복수개의 로컬 메모리들;
    상기 연산기들 각각이 공통적으로 접근할 수 있는 공유 메모리; 및
    상기 연산기들, 상기 로컬 메모리들 및 상기 공유 메모리를 제어하는 컨트롤러를 포함하며, 온 칩(on chip)의 집적회로 형태를 갖는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  2. 제 1항에 있어서, 상기 연산기들은,
    덧셈기, 뺄셈기, 곱셈기 및 나눗셈기의 동일 구조로 된 복수의 ALU(Arithmetic Logic Unit)들이 SIMD(Single Instruction Multiple Data) 형태로 병렬적으로 배치되는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  3. 제 2항에 있어서, 상기 연산기들은,
    상기 ALU(Arithmetic Logic Unit)들의 입력 데이터를 처리하는 입력 레지스터;
    상기 ALU(Arithmetic Logic Unit)들의 출력 데이터를 처리하는 출력 레지스터;및
    상기 ALU(Arithmetic Logic Unit)들이 수행한 연산 결과 값과 중간 값들을 저장하는 레지스터 파일을 포함하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  4. 제 3항에 있어서, 상기 연산기들은,
    상기 출력 레지스터의 출력단에 배치되어, 상기 ALU(Arithmetic Logic Unit)들의 연산 결과를 한 번에 모두 더해주는 연산을 수행하는 트리 덧셈기를 더 포함하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  5. 제1 항에 있어서, 상기 컨트롤러는,
    상기 연산기들 중 1개의 단일 연산기로만 명령을 내리는 방식의 제1 제어모드; 및
    상기 연산기들 전체로 동일한 명령을 동시에 내리는 방식의 제2 제어모드를 포함하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  6. 제5 항에 있어서, 상기 컨트롤러는,
    연산량이 많이 요구되지 않는 상기 특징 점 추출 연산을 수행할 경우, 상기 제1 제어모드를 사용하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  7. 제5 항에 있어서, 상기 컨트롤러는,
    많은 연산량이 요구되는 상기 3차원 정면화 연산을 수행할 경우, 상기 제2 제어모드를 사용하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  8. 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 시스템에 있어서,
    상기 특징 점 추출 연산 및 상기 3차원 정면화 연산을 수행하기 위해 병렬로 배치된 복수개의 연산기들과, 상기 연산기들 각각에 1 : 1로 대응하도록 복수개의 로컬 메모리들이 직결되어 각각 한 쌍의 조합을 이루는 구조를 가지며,
    처리해야 할 연산량의 정도에 따라 연산기와 로컬 메로리로 이루어진 상기 조합의 가동 개수를 달리하여 운영하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  9. 제8 항에 있어서,
    처리해야 할 연산량이 적은 상기 특징 점 추출 연산을 수행할 경우,
    제1 조합은 트리탐색에 할당하고, 제2 조합은 이진특징벡터와 회귀행렬의 곱셈에 할당하며, 나머지 조합은 연산을 할당하지 않는 방식을 사용하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  10. 제8 항에 있어서,
    처리해야 할 연산량이 많은 상기 3차원 정면화 연산을 수행할 경우,
    연산기와 로컬 메모리의 각각의 조합을 안면 이미지의 각각의 행에 할당하여 개별적으로 동시에 연산이 가능토록 하는 방식을 용하는 것을 특징으로 하는 3차원 안면 정면화 시스템.
  11. 외부로부터 입력된 2차원 안면 이미지에 대해 안면 특징 점을 추출하고, 추출된 상기 특징 점을 기반으로 3차원 정면화 연산을 통해 정면의 안면 이미지를 생성하기 위한 3차원 안면 정면화 방법에 있어서,
    안면 특징점을 바탕으로 이진트리 탐색을 통해 이진 특징벡터를 생성하는 제1 과정과, 상기 이진 특징벡터와 회귀행렬과의 곱셈을 수행하는 제2 과정을 포함하는 특징점 추출단계; 및
    추출된 특징 점들을 기반으로 3차원 변환 행렬을 계산하는 제3 과정과, 상기3차원 변환 행렬의 계산을 통해 정면화된 3차원 안면 이미지를 생성하는 제4 과정을 포함하는 정면화 단계를 가지며,
    병렬로 배치된 복수개의 연산기들과, 상기 연산기들 각각에 1 : 1로 대응하도록 복수개의 로컬 메모리들이 직결되어 각각 한 쌍의 조합을 이루는 구조에서, 상기 회귀행렬을 불러오기 위한 외부 메모리의 접근을 줄이는 방식으로 상기 특징점 추출단계를 수행하는 것을 특징으로 하는 3차원 안면 정면화 방법.
  12. 제11 항에 있어서, 상기 특징점 추출단계는,
    상기 회귀행렬에 대하여 k-평균 클러스터링(k-means clustering)을 통해 회귀행렬의 각 요소를 양자화 하여, 낮은 비트(bit) 수로 표현하고, 칩 외부의 외부 메모리에 저장해 놓은 후, 양자화 된 값을 그대로 불러와 상기 제2 과정을 수행하는 것을 특징으로 하는 3차원 안면 정면화 방법.
  13. 제11 항에 있어서, 상기 특징점 추출단계는,
    이진탐색트리의 연산결과인 이진 특징벡터의 결과를 확인한 후, 1인 요소(element)와 곱해질 회귀행렬의 행만 외부 메모리에 접근해 불러오는 메모리 레벨 제로 스킵핑(zero-skipping)을 사용하여 상기 제2 과정을 수행하는 것을 특징으로 하는 3차원 안면 정면화 방법.
  14. 제13 항에 있어서,
    상기 메모리 레벨 제로 스킵핑(zero-skipping)을 사용한 후에,
    외부 메모리의 접근에 의한 지연시간을 숨기기(latency hiding) 위해 해당 회귀행렬을 외부에서 불러오는 시간을 이용해, 다음 이진트리를 탐색하는 트리단위 파이프라이닝(pipelining)을 사용하여 상기 제2 과정을 수행하는 것을 특징으로 하는 3차원 안면 정면화 방법.
KR1020170050018A 2017-04-18 2017-04-18 3차원 안면 정면화 시스템 및 방법 KR101963198B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170050018A KR101963198B1 (ko) 2017-04-18 2017-04-18 3차원 안면 정면화 시스템 및 방법
PCT/KR2017/004495 WO2018194204A1 (ko) 2017-04-18 2017-04-27 3차원 안면 정면화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170050018A KR101963198B1 (ko) 2017-04-18 2017-04-18 3차원 안면 정면화 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180116996A true KR20180116996A (ko) 2018-10-26
KR101963198B1 KR101963198B1 (ko) 2019-07-31

Family

ID=63856676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170050018A KR101963198B1 (ko) 2017-04-18 2017-04-18 3차원 안면 정면화 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101963198B1 (ko)
WO (1) WO2018194204A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368608B (zh) * 2018-12-26 2023-10-13 杭州海康威视数字技术股份有限公司 一种人脸识别方法、装置及系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020049504A (ko) 2000-12-19 2002-06-26 호창성 2차원 얼굴 정면 이미지를 이용한 3차원 얼굴 모델 생성방법
US20040019598A1 (en) * 2002-05-17 2004-01-29 Jing Huang Binary tree for complex supervised learning
JP2004049445A (ja) * 2002-07-18 2004-02-19 Hitachi Medical Corp コンピュータ支援検出装置
JP2005025778A (ja) * 1993-11-22 2005-01-27 Hitachi Ltd 画像処理方法および装置
JP2005108207A (ja) * 2003-09-09 2005-04-21 Fuji Photo Film Co Ltd 画像処理方法および装置並びにプログラム
JP2005323159A (ja) * 2004-05-10 2005-11-17 Ricoh Co Ltd 画像システム
KR100628316B1 (ko) * 2005-07-18 2006-09-27 엠텍비젼 주식회사 변환 행렬 연산 장치
JP2009009198A (ja) * 2007-06-26 2009-01-15 Sony Corp 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2009232375A (ja) * 2008-03-25 2009-10-08 Seiko Epson Corp 画像処理方法およびそのプログラム並びに画像処理装置
JP2011135302A (ja) * 2009-12-24 2011-07-07 Fuji Xerox Co Ltd 画像処理装置、及び画像処理プログラム
WO2014037709A1 (en) * 2012-09-06 2014-03-13 The University Of Manchester Image processing apparatus and method for fitting a deformable shape model to an image using random forest regression voting
KR101479225B1 (ko) * 2014-02-26 2015-01-05 연세대학교 산학협력단 특징 벡터 생성 방법 및 그 장치, 이를 이용한 영상 인식 방법 및 장치
KR20160062572A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 개인화된 3d 얼굴 모델 생성 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2420973B1 (en) * 2009-04-14 2019-11-13 Nec Corporation Image identifier extraction device
KR102325602B1 (ko) * 2015-07-06 2021-11-12 삼성전자주식회사 데이터를 병렬적으로 처리하는 장치 및 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025778A (ja) * 1993-11-22 2005-01-27 Hitachi Ltd 画像処理方法および装置
KR20020049504A (ko) 2000-12-19 2002-06-26 호창성 2차원 얼굴 정면 이미지를 이용한 3차원 얼굴 모델 생성방법
US20040019598A1 (en) * 2002-05-17 2004-01-29 Jing Huang Binary tree for complex supervised learning
JP2004049445A (ja) * 2002-07-18 2004-02-19 Hitachi Medical Corp コンピュータ支援検出装置
JP2005108207A (ja) * 2003-09-09 2005-04-21 Fuji Photo Film Co Ltd 画像処理方法および装置並びにプログラム
JP2005323159A (ja) * 2004-05-10 2005-11-17 Ricoh Co Ltd 画像システム
KR100628316B1 (ko) * 2005-07-18 2006-09-27 엠텍비젼 주식회사 변환 행렬 연산 장치
JP2009009198A (ja) * 2007-06-26 2009-01-15 Sony Corp 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2009232375A (ja) * 2008-03-25 2009-10-08 Seiko Epson Corp 画像処理方法およびそのプログラム並びに画像処理装置
JP2011135302A (ja) * 2009-12-24 2011-07-07 Fuji Xerox Co Ltd 画像処理装置、及び画像処理プログラム
WO2014037709A1 (en) * 2012-09-06 2014-03-13 The University Of Manchester Image processing apparatus and method for fitting a deformable shape model to an image using random forest regression voting
KR101479225B1 (ko) * 2014-02-26 2015-01-05 연세대학교 산학협력단 특징 벡터 생성 방법 및 그 장치, 이를 이용한 영상 인식 방법 및 장치
KR20160062572A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 개인화된 3d 얼굴 모델 생성 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Goodenough, et al. "A single chip video signal processing architecture for image processing, coding, and computer vision." IEEE trans. on circuits and systems for video technology 5.5(1995)* *
박윤옥, and 박종원. "Phong Shading 알고리즘을 적용한 3 차원 영상을 위한 고속 그래픽스 가속기 연구." 한국인터넷방송통신학회 논문지 제10권 제5호(2010)* *

Also Published As

Publication number Publication date
WO2018194204A1 (ko) 2018-10-25
KR101963198B1 (ko) 2019-07-31

Similar Documents

Publication Publication Date Title
US11847550B2 (en) Sparse convolutional neural network accelerator
CN113449857B (zh) 一种数据处理方法和数据处理设备
US9886418B2 (en) Matrix operands for linear algebra operations
EP3713093A1 (en) Data compression for a neural network
CN110826708B (zh) 一种用多核处理器实现神经网络模型拆分方法及相关产品
WO2022228425A1 (zh) 一种模型训练方法及装置
CN109272442B (zh) 全景球面图像的处理方法、装置、设备和存储介质
CN111488177A (zh) 数据处理方法、装置、计算机设备和存储介质
CN113449859A (zh) 一种数据处理方法及其装置
CN112163601A (zh) 图像分类方法、系统、计算机设备及存储介质
CN111476138A (zh) 建筑图纸构件识别模型构建方法、识别方法及相关设备
WO2023164933A1 (zh) 一种建筑物建模方法以及相关装置
US20210304010A1 (en) Neural network training under memory restraint
CN116048797A (zh) 数据处理方法、装置、电子设备及存储介质
KR101963198B1 (ko) 3차원 안면 정면화 시스템 및 방법
US11562554B1 (en) Workload reduction for non-maximum suppression operation
Xiao et al. GPU accelerated self-organizing map for high dimensional data
US11036827B1 (en) Software-defined buffer/transposer for general matrix multiplication in a programmable IC
WO2022047802A1 (en) Processing-in-memory device and data processing method thereof
US11636569B1 (en) Matrix transpose hardware acceleration
WO2023122896A1 (zh) 一种数据处理方法和装置
US11783529B2 (en) Bounding volume hierarchy box node compression
CN115034225A (zh) 应用于医学领域的词语处理方法、装置、电子设备和介质
CN114546491A (zh) 数据操作方法、数据操作装置、数据处理器
CN113535349A (zh) 数据批量处理方法、装置和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right