KR20170038622A - 영상으로부터 객체를 분할하는 방법 및 장치 - Google Patents

영상으로부터 객체를 분할하는 방법 및 장치 Download PDF

Info

Publication number
KR20170038622A
KR20170038622A KR1020160022517A KR20160022517A KR20170038622A KR 20170038622 A KR20170038622 A KR 20170038622A KR 1020160022517 A KR1020160022517 A KR 1020160022517A KR 20160022517 A KR20160022517 A KR 20160022517A KR 20170038622 A KR20170038622 A KR 20170038622A
Authority
KR
South Korea
Prior art keywords
image
model
pixel
output
input
Prior art date
Application number
KR1020160022517A
Other languages
English (en)
Other versions
KR102338372B1 (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 US15/217,141 priority Critical patent/US10540768B2/en
Priority to CN201610633375.0A priority patent/CN106557776A/zh
Publication of KR20170038622A publication Critical patent/KR20170038622A/ko
Application granted granted Critical
Publication of KR102338372B1 publication Critical patent/KR102338372B1/ko

Links

Images

Classifications

    • G06K9/00234
    • G06K9/34
    • G06K9/4604
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

영상으로부터 객체를 분할하는 방법 및 장치가 제공된다. 일 실시예에 따른 영상으로부터 객체를 분할하는 장치는, 미리 학습된 영상 모델을 이용하여 입력 영상으로부터 객체 영상을 분할할 수 있다.

Description

영상으로부터 객체를 분할하는 방법 및 장치{DEVICE AND METHOD TO SEGMENT OBJECT FROM IMAGE}
이하, 영상으로부터 객체를 분할하는 기술이 제공된다.
영상 관련 기술 분야에 있어서 최근 영상을 이용하여 사람의 얼굴 등과 같은 객체를 인식하는 기술이 발전하고 있다. 이러한 얼굴 등과 같은 객체를 인식하기 위해서는, 영상으로부터 배경을 제외한 부분이 추출될 필요가 있다.
예를 들어, 영상으로부터 배경을 제외한 부분을 추출하기 위하여, 깊이 정보에 기초하여 객체를 분할하는 기술이 사용될 수 있다. 다만, 깊이 정보에 기초하는 객체 분할 기술은 컬러 정보 및 깊이 정보를 결합하여 객체(예를 들면, 인체 객체)를 분할하는 것으로서, 컬러 정보를 획득하는 카메라 외에 깊이 정보를 획득하기 위한 모듈이 별도로 요구되며, 깊이 정보를 처리하는 과정에서 과중한 계산량이 요구될 수 있다
이에 따라, 컬러 정보를 이용하여 객체를 분할하는 기술이 요구된다.
일 실시예에 따르면, 영상으로부터 객체를 분할하는 방법은, 객체(object)를 포함하는 입력 영상(input image)을 수신하는 단계, 영상 모델(image model)을 이용하여, 상기 입력 영상으로부터 상기 객체에 대응하는 출력 영상(output image)을 생성하는 단계, 및 상기 출력 영상으로부터 객체 영상(object image) 을 추출하는 단계를 포함할 수 있다.
상기 객체 영상을 추출하는 단계는, 상기 출력 영상의 각각의 픽셀을 속성에 따라 분류 하는 단계, 및 상기 분류된 픽셀을 이용하여 객체 영상을 추출하는 단계를 포함할 수 있다.
상기 분류하는 단계는, 상기 각각의 픽셀의 픽셀 값(pixel value) 과 임계값을 비교하는 단계, 및 상기 비교한 결과에 기초하여 상기 각각의 픽셀의 속성을 결정하는 단계를 포함할 수 있다.
상기 객체 영상을 추출하는 단계는, 상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상을 이진화하여 마스크 영상(mask image)을 생성하는 단계를 포함할 수 있다.
상기 객체 영상을 추출하는 단계는, 상기 마스크 영상 및 상기 입력 영상에 기초하여 전경 영상을 생성하는 단계를 더 포함할 수 있다.
상기 객체 영상을 추출하는 단계는, 상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상으로부터 전경 영상을 생성하는 단계를 포함할 수 있다.
상기 영상 모델은, 상기 입력 영상으로부터 생성되는 상기 객체 영상의 해상도가 상기 입력 영상의 해상도와 동일하도록 구성될 수 있다.
상기 영상 모델은, 뉴럴 네트워크를 포함하고, 상기 뉴럴 네트워크의 활성화 함수는 적어도 하나의 비선형 함수를 포함할 수 있다.
일 실시예에 따른 영상으로부터 객체를 분할하는 장치는, 영상 모델을 저장하는 메모리, 및 객체를 포함하는 입력 영상을 수신하고, 상기 영상 모델을 이용하여 상기 입력 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하며, 상기 출력 영상으로부터 객체 영상을 추출하는 프로세서를 포함할 수 있다.
상기 프로세서는, 상기 출력 영상의 각각의 픽셀을 속성에 따라 분류 하고, 상기 분류된 픽셀을 이용하여 객체 영상을 추출할 수 있다.
상기 프로세서는, 상기 각각의 픽셀의 픽셀 값(pixel value) 과 임계값을 비교하고, 상기 비교한 결과에 기초하여 상기 각각의 픽셀의 속성을 결정할 수 있다.
상기 프로세서는, 상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상을 이진화하여 마스크 영상(mask image)을 생성할 수 있다.
상기 프로세서는, 상기 마스크 영상 및 상기 입력 영상에 기초하여 전경 영상을 생성할 수 있다.
상기 프로세서는, 상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상으로부터 전경 영상을 생성할 수 있다.
상기 영상 모델은, 상기 입력 영상으로부터 생성되는 상기 객체 영상의 해상도가 상기 입력 영상의 해상도와 동일하도록 구성될 수 있다.
상기 영상 모델은, 뉴럴 네트워크를 포함하고, 상기 뉴럴 네트워크의 활성화 함수는 적어도 하나의 비선형 함수를 포함할 수 있다.
일 실시예에 따른 영상으로부터 객체의 분할을 학습하는 방법은 기준 트레이닝 영상 및 기준 객체 영상을 수신하는 단계; 및 객체를 포함하는 입력 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하는 영상 모델을 이용하여, 프로세서가 상기 기준 트레이닝 영상으로부터 상기 기준 객체 영상을 분할하도록, 상기 영상 모델의 파라미터를 학습시키는 단계를 포함할 수 있다.
상기 영상 모델은, 활성화 함수로서 적어도 하나의 비선형 함수를 포함하는 뉴럴 네트워크를 포함하고, 상기 뉴럴 네트워크는 상기 입력 영상으로부터 생성되는 상기 출력 영상의 해상도가 상기 입력 영상의 해상도와 동일하도록 구성될 수 있다.
상기 영상 모델은, 상기 기준 트레이닝 영상에 대해 회전(rotation), 크기 조정(resize), 이동(shift), 반전(flip), 및 노이즈 부가(noise adding) 중 적어도 하나의 처리가 수행된 영상에 기초하여 학습될 수 있다.
또 다른 일 실시예에 따른 영상으로부터 객체를 분할하는 방법은, 객체를 포함하는 입력 영상을 수신하는 단계, 제1 영상 모델(first image model)을 이용하여, 상기 입력 영상으로부터 상기 객체에 대응하는 중간 영상(intermediate image)을 생성하는 단계, 제2 영상 모델을 이용하여 상기 중간 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하는 단계, 및 상기 출력 영상으로부터 객체 영상(object image)을 추출하는 단계를 포함할 수 있다.
또 다른 일 실시예에 따른 영상으로부터 객체의 분할을 학습하는 방법은 기준 트레이닝 영상 및 기준 객체 영상을 수신하는 단계, 객체를 포함하는 입력 영상으로부터 상기 객체에 대응하는 중간 영상을 생성하는 제1 영상 모델을 이용하여, 프로세서가 상기 기준 트레이닝 영상으로부터 상기 기준 객체 영상을 분할하도록, 상기 제1 영상 모델의 파라미터를 학습시키는 단계, 상기 제1 영상 모델을 이용하여 상기 기준 트레이닝 영상으로부터 기준 중간 영상(reference intermediate image)을 생성하는 단계, 및 상기 중간 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하는 제2 영상 모델을 이용하여, 상기 프로세서가 상기 기준 중간 영상으로부터 상기 기준 객체 영상을 분할하도록, 상기 제2 영상 모델의 파라미터를 학습시키는 단계를 포함할 수 있다.
도 1은 일 실시예에 따라 영상으로부터 분할되는 객체 영상을 도시한 도면이다.
도 2는 일 실시예에 따라 영상으로부터 객체를 분할하는 방법을 도시한 흐름도이다.
도 3 내지 도 5는 일 실시예에 따라 영상 모델을 이용하여 입력 영상으로부터 출력 영상을 생성하는 예시를 도시한 도면이다.
도 6은 일 실시예에 따라 출력 영상으로부터 객체 영상을 추출하는 방법을 도시한 흐름도이다.
도 7은 일 실시예에 따라 출력 영상의 각각의 픽셀을 속성에 따라 분류하는 방법을 도시한 흐름도이다.
도 8 및 도 9는 일 실시예에 따라 분류된 픽셀을 이용하여 객체 영상을 추출하는 방법을 도시한 흐름도이다.
도 10은 일 실시예에 따라 출력 영상의 픽셀을 이용하여 객체 영상을 추출하는 방법을 도시한 흐름도이다.
도 11은 일 실시예에 따라 영상으로부터 객체를 분할하는 장치의 구성을 도시한 블럭도이다.
도 12는 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 방법의 흐름도를 도시한 도면이다.
도 13은 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 장치의 구성을 도시한 도면이다.
도 14는 일 실시예에 따라 도 13에서 학습된 영상 모델을 이용하여, 입력 영상으로부터 생성된 객체 영상을 도시한 도면이다.
도 15는 다른 일 실시예에 따라 영상을 분할하는 방법을 도시한 흐름도이다.
도 16은 다른 일 실시예에 따라 영상 모델을 이용하여 입력 영상으로부터 출력 영상을 생성하는 예시를 도시한 도면이다.
도 17은 다른 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 방법의 흐름도를 도시한 도면이다
도 18은 다른 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 과정을 도시한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수 개의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따라 영상으로부터 분할되는 객체 영상을 도시한 도면이다.
일 실시예에 따른 영상으로부터 객체를 분할하는 장치는, 객체(object)를 포함하는 입력 영상(input image)(110)으로부터 객체 영상(object image)을 분할할 수 있다.
본 명세서에서 객체는 사람(human), 동물(animal), 사물(thing) 등과 같이 배경(background)을 제외한 대상(subject)을 포함할 수 있고, 사람의 얼굴, 팔, 다리, 및 신체의 일부 등과 같은 대상의 일부를 포함할 수도 있다.
입력 영상(110)은 수신되는 영상으로서 객체를 포함할 수 있다. 입력 영상(110)은 2차원의 영상으로서, 예를 들어 컬러 영상 및 그레이스케일(grayscale) 영상 등일 수 있다. 입력 영상(110)은 복수의 픽셀들로 구성될 수 있고, 각각의 픽셀은 픽셀값을 가질 수 있다. 입력 영상(110)이 컬러 영상인 경우의 픽셀값은 컬러값(color value)(예를 들어, RGB값 등, 다만 다른 색 공간(color space)이 사용될 수도 있음)일 수 있고, 입력 영상(110)이 그레이스케일 영상인 경우의 픽셀값은 밝기값(brightness value) 또는 세기값(intensity value)일 수 있다. 다만, 입력 영상(110)을 이로 한정하는 것은 아니고, 3차원의 영상일 수도 있고, 이 경우에는 각 픽셀은 깊이값(depth value)을 더 포함할 수 있다.
객체 영상은 객체를 나타내는 영상일 수 있다. 예를 들어, 객체 영상은 입력 영상(110)으로부터 배경 부분이 제외된 영상으로서, 전경 부분만을 포함하는 전경 영상(120) 또는 마스크 부분만을 포함하는 마스크 영상(130)일 수 있다. 전경 영상(120)은 영상에서 전경에 대응하는 부분의 각 픽셀이 그에 대응하는 픽셀값을 가지고 있는 영상이고, 마스크 영상(130)은 영상에서 전경에 대응하는 부분의 픽셀 및 전경이 아닌 부분의 픽셀이 특정 값(예를 들어, 전경인 부분의 픽셀값은 1, 후경인 부분의 픽셀값은 0)으로 구분되는 영상을 나타낼 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 전경 영상(120)은 전경에 해당하는 부분의 픽셀값이 입력 영상(110)과 동일하게 유지될 수 있고, 마스크 영상(130)은 전경에 해당하는 부분과 후경에 해당하는 부분의 픽셀값이 이진화(binarize)될 수 있다.
이하에서는, 입력 영상(110)으로부터 객체 영상을 추출하는 것을 설명한다.
도 2는 일 실시예에 따라 영상으로부터 객체를 분할하는 방법을 도시한 흐름도이다.
우선, 단계(210)에서 영상으로부터 객체를 분할하는 장치의 프로세서는 객체를 포함하는 입력 영상을 수신할 수 있다. 예를 들어, 프로세서는 입력 영상을 외부로부터 유선 또는 무선으로 수신하거나, 장치 내부의 카메라를 통한 촬영으로부터 입력 영상을 획득할 수 있다.
그리고 단계(220)에서 프로세서는 기준 트레이닝 영상으로부터 기준 객체 영상이 출력되도록 학습된 영상 모델을 이용하여, 입력 영상으로부터 객체에 대응하는 출력 영상을 생성할 수 있다. 출력 영상의 각각의 픽셀의 픽셀값 pi은 해당 픽셀이 객체를 나타낼 확률에 대응할 수 있다. 예를 들어, 출력 영상이 마스크에 관한 것일 경우, 출력 영상의 픽셀값은 최소값이 0이고 최대값이 1일 수 있는데, 픽셀값이 1에 가까울 수록 해당 픽셀이 마스크를 나타낼 확률이 클 수 있다.
영상 모델은 특정 입력에 대해 특정 출력이 출력되도록 학습된 모델로서, 예를 들어, 기계학습 구조의 파라미터를 나타낼 수 있다. 기계학습 구조는 특정 입력에 대해 미리 학습된 파라미터에 기초하여 임의의 출력이 생성되는 블랙박스 함수로 표현될 수 있다. 일 실시예에 따르면, 영상 모델은 입력 영상으로부터 객체를 나타내는 출력 영상이 출력되도록 구성될 수 있다. 예를 들어, 영상 모델은 뉴럴 네트워크의 파라미터로서 연결 가중치를 포함할 수 있고, 기준 트레이닝 영상으로부터 기준 객체 영상이 출력되도록 학습될 수 있다. 영상 모델의 학습은 하기 도 12 및 도 13에서 상세히 설명한다.
이어서 단계(230)에서 프로세서는 출력 영상으로부터 객체 영상을 추출할 수 있다. 예를 들어, 프로세서는 출력 영상의 픽셀들을 전경에 해당하는 픽셀과 전경에 해당하지 않는 픽셀로 분류하여 라벨링(labeling)할 수 있다. 픽셀의 분류에 의한 객체 영상의 추출은 하기 도 6 내지 도 10에서 상세히 설명한다.
도 3 내지 도 5는 일 실시예에 따라 영상 모델을 이용하여 입력 영상으로부터 출력 영상을 생성하는 예시를 도시한 도면이다.
도 3 내지 도 5에서는 영상 모델이 뉴럴 네트워크의 파라미터로서 연결 가중치(connection weight)를 포함하는 경우를 예로 들어 설명한다. 도 3 내지 도 5에 도시된 영상 모델에 대응하는 뉴럴 네트워크는 학습이 완료된 상태로서, i번째 픽셀(여기서, i는 1이상의 정수)이 xi의 픽셀값을 가지는 입력 영상에 대해 i번째 픽셀이 pi의 픽셀값을 가지는 출력 영상이 출력되도록 구성될 수 있다.
본 명세서의 뉴럴 네트워크는 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들이 이용되고, 인공 뉴런들은 연결 가중치를 가지는 연결선을 통해 상호 연결될 수 있다. 뉴럴 네트워크의 파라미터인 연결 가중치는 연결선이 갖는 특정한 값으로서 연결 강도라고도 나타낼 수 있다. 뉴럴 네트워크는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 인공 뉴런은 노드(node)라고도 지칭할 수 있다.
뉴럴 네트워크는 복수의 층들을 포함할 수 있다. 예를 들어, 뉴럴 네트워크는 입력 층(input layer), 히든 층(hidden layer), 출력 층(output layer)을 포함할 수 있다. 입력 층은 학습을 수행하기 위한 입력을 수신하여 히든 층에 전달할 수 있고, 출력 층은 히든 층의 노드들로부터 수신한 신호에 기초하여 뉴럴 네트워크의 출력을 생성할 수 있다. 히든 층은 입력 층과 출력 층 사이에 위치하고, 입력 층을 통해 전달된 학습 데이터를 예측하기 쉬운 값으로 변화시킬 수 있다. 입력 층과 히든 층에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결되고, 히든 층과 출력 층에 포함된 노드들에서도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력 층, 히든 층 및 출력 층은 복수 개의 노드들을 포함할 수 있다.
뉴럴 네트워크는 복수 개의 히든 층들을 포함할 수 있다. 복수 개의 히든 층들을 포함하는 뉴럴 네트워크를 깊은 뉴럴 네트워크(deep neural network)이라고 하고, 깊은 뉴럴 네트워크를 학습시키는 것을 깊은 학습(deep learning)이라고 한다. 히든 층에 포함된 노드를 히든 노드(hidden node)라고 한다. 이전 시간 구간에서의 히든 노드의 출력은 현재 시간 구간에서의 히든 노드들에 연결될 수 있다. 그리고, 현재 시간 구간에서의 히든 노드의 출력은 다음 시간 구간에서의 히든 노드들에 연결될 수 있다. 서로 다른 시간 구간에서 히든 노드들 간에 재귀적(recurrent)인 연결이 있는 뉴럴 네트워크를 회귀 뉴럴 네트워크(recurrent neural network)이라고 한다.
또한, 히든 층은 예를 들어, 컨볼루션 층(convolution layer), 풀링 층(pooling layer), 정규화 층(normalization layer), 및 완전연결 층(fully connected layer) 등을 포함할 수 있다. 컨볼루션 층은 미리 정한 크기의 필터를 이용하여 이전 층에서 추출된 정보를 필터링하는 컨볼루션 필터링을 수행하는데 사용될 수 있고, 도 3 내지 도 5에서는 "C"로 도시될 수 있다. 풀링 층은, 풀링을 통하여, 이전 층의 정보로부터 대표 값(예를 들어, 프로세서는 풀링 층에서 이전 층의 정보(예를 들어, 영상의 픽셀값들)에 대하여 미리 정한 크기의 윈도우를 일정 칸씩 슬라이드 하면서, 윈도우 내 최대 값을 추출)을 추출하는데 사용될 수 있고, 도 3 내지 도 5에서는 "P"로 도시될 수 있다. 정규화 층은 영상의 픽셀의 값이 정규화되는 층을 나타낼 수 있고, 도 3 내지 도 5에서는 "N"으로 도시될 수 있다. 완전연결 층은 이전 층의 모든 노드들과 연결될 수 있고, 도 3 내지 도 5에서는 "F"로 도시될 수 있다.
일 실시예에 따르면, 도 3에 도시된 뉴럴 네트워크는 입력 층, 출력 층 및 6개의 히든 층을 포함할 수 있다. 입력 층은 입력 영상(301)을 수신할 수 있다. 도 3에 도시된 제1 레이어(310)에 있어서, C1(64@5*5+S1)은 컨볼루션 층이 예를 들어, 64개의 필터를 가지고 각 필터의 크기가 5*5이며, 필터가 1칸씩 이동되는 것을 나타내고, P(3*3+S2)는 풀링 층이 예를 들어, 윈도우의 크기는 3*3이고 2칸씩 이동되는 것을 나타내며, N은 정규화 층을 나타낼 수 있다. 제2 레이어(320)는 1칸씩 이동되는 5*5 크기로 64개의 필터를 가지는 컨볼루션 층, 2칸씩 이동되는 3*3 크기의 윈도우를 가지는 풀링 층 및 정규화 층을 포함할 수 있다. 제3 레이어(330)는 1칸씩 이동되는 3*3 크기로 64개의 필터를 가지는 컨볼루션 층을 포함할 수 있다. 제4 레이어(340) 및 제5 레이어(350)는 각각 100개의 노드를 가지는 완전연결 층을 포함할 수 있다. 제6 레이어(360)는 48*48개의 노드를 가지는 완전연결 층을 포함할 수 있다. 여기서, 출력 층 직전의 제6 레이어(360)는 입력 층과 동일한 해상도(도 3에서는 48*48)의 영상이 출력 층에서 출력되도록 구성될 수 있다. 도 3에 도시된 뉴럴 네트워크는 입력 영상(301)으로부터 마스크에 대응하는 출력 영상(309)이 출력되도록 학습될 수 있다.
다른 일 실시예에 따르면 도 4에 도시된 뉴럴 네트워크는 입력 층, 출력 층 및 8개의 히든 층을 포함할 수 있다. 도 4에 도시된 제1 레이어(410)는 1칸씩 이동되는 5*5 크기로 48개의 필터를 가지는 컨볼루션 층, 2칸씩 이동되는 3*3 크기의 윈도우를 가지는 풀링 층, 및 정규화 층을 포함할 수 있다. 제2 레이어(420)는 1칸씩 이동되는 5*5 크기로 128개의 필터를 가지는 컨볼루션 층, 2칸씩 이동되는 3*3 크기의 윈도우를 가지는 풀링 층, 및 정규화 층을 포함할 수 있다. 제3 레이어(430) 및 제4 레이어(440)는 각각 1칸씩 이동되는 3*3크기로 192개의 필터를 가지는 컨볼루션 층을 포함할 수 있다. 제5 레이어(450)는 1칸씩 이동되는 3*3 크기로 64개의 필터를 가지는 컨볼루션 층 및 2칸씩 이동되는 3*3 크기의 윈도우를 가지는 풀링 층을 포함할 수 있다. 제6 레이어(460) 및 제7 레이어(470)는 1024개의 노드를 가지는 완전연결 층을 포함할 수 있다. 제8 레이어(480)는 112*112개의 노드를 가지는 완전연결 층을 포함할 수 있다. 제8 레이어(480)는 입력 영상(401)의 해상도(도 4에서는 112*112)와 출력 영상(409)의 해상도(도 4에서는 112*112)가 동일하도록 노드가 구성될 수 있다.
또 다른 일 실시예에 따르면, 도 5에 도시된 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(510, 520, 530, 540, 550, 560, 570, 580)는 도 4와 동일한 구조의 레이어로 구성될 수 있다. 다만, 도 5에 도시된 뉴럴 네트워크는 입력 영상(501)으로부터 전경에 대응하는 출력 영상(509)이 출력되도록 학습될 수 있다. 이와 같이, 동일한 구조의 뉴럴 네트워크에 대해서도 트레이닝 데이터에 따라 동일한 입력 영상에 대해 출력 영상이 달라질 수 있다.
도 6은 일 실시예에 따라 출력 영상으로부터 객체 영상을 추출하는 방법을 도시한 흐름도이다.
일 실시예에 따르면, 도 6은 상술한 도 2의 단계(230)를 보다 상세하게 설명하기 위한 흐름도를 나타낼 수 있다.
우선, 단계(610)에서 프로세서는 출력 영상의 각각의 픽셀을 속성에 따라 분류할 수 있다. 픽셀의 속성은 출력 영상에서 해당 픽셀이 객체, 객체의 일부, 전경 또는 배경에 대응하는지 여부 등을 나타낼 수 있다. 예를 들어, 픽셀의 속성은 해당 픽셀이 출력 영상에서 전경인지 아닌지 여부를 나타낼 수 있다. 픽셀의 분류는 하기 도 7에서 상세히 설명한다.
그리고 단계(620)에서 프로세서는 분류된 픽셀을 이용하여 객체 영상을 추출할 수 있다. 예를 들어, 프로세서는 객체로 분류된 픽셀을 취합하여 객체 영상을 생성할 수 있다. 픽셀을 이용한 객체 영상의 추출은 하기 도 8 내지 도 10에서 상세히 설명한다.
도 7은 일 실시예에 따라 출력 영상의 각각의 픽셀을 속성에 따라 분류하는 방법을 도시한 흐름도이다.
일 실시예에 따르면, 도 7은 도 6의 단계(610)를 보다 상세하게 설명하기 위한 흐름도를 나타낼 수 있다.
우선, 단계(710)에서 프로세서는 각각의 픽셀의 픽셀값을 임계값과 비교할 수 있다. 예를 들어, 프로세서는 도 2의 단계(220)에서 생성된 출력 영상의 각각의 픽셀의 픽셀값이 임계값보다 큰 지 여부를 판단할 수 있다. 임계값은 픽셀을 분류하기 위한 값으로 설정될 수 있다. 예를 들어, 마스크 영상을 분할하기 위한 경우, 마스크 영상에서 배경에 해당하는 픽셀값은 0이고 마스크에 해당하는 픽셀값은 1인 바, 임계값은 0.5로 설정될 수 있다. 다른 예를 들어, 전경 영상을 분할하기 위한 경우, 전경 영상에서 배경에 해당하는 픽셀값은 0이고, 픽셀의 최대값은 255일 수 있는 바, 임계값은 127로 설정될 수 있다. 다만, 픽셀의 최소값, 최대값, 및 임계값을 상술한 바로 한정하는 것은 아니고, 설계에 따라 변경될 수 있다.
그리고 단계(720)에서 프로세서는 비교한 결과에 기초하여 각각의 픽셀의 속성을 결정할 수 있다. 프로세서는 임계값보다 큰 픽셀은 전경 속성 또는 마스크 속성을 가지는 것으로 결정할 수 있고, 임계값 이하의 픽셀은 배경 속성을 가지는 것으로 결정할 수 있다. 다만, 이로 한정하는 것은 아니고, 설계에 따라 배경 속성에 대응하는 값이 전경 속성에 대응하는 값보다 큰 경우에는 프로세서가 임계값보다 큰 픽셀이 배경 속성을 가지는 것으로 결정할 수도 있다.
예를 들어, 마스크 영상의 분할에 있어서, 도 2의 단계(220)에서 생성된 출력 영상의 픽셀값이 1에 가까울 수록 해당 픽셀은 마스크일 확률이 높고, 0에 가까울 수록 해당 픽셀은 배경일 확률이 높을 수 있다. 이에 따라, 프로세서는 마스크 영상의 분할에 있어서, 출력 영상에서 픽셀값이 임계값인 0.5보다 큰 픽셀의 속성을 마스크 속성으로 결정하고, 임계값인 0.5 이하인 픽셀의 속성을 배경 속성으로 결정할 수 있다. 다른 예를 들어, 전경 영상의 분할에 있어서도, 픽셀값이 0에 가까울 수록 해당 픽셀은 배경일 확률이 높고, 픽셀값이 255에 가까울 수록 전경일 확률이 높은 바, 프로세서는 임계값인 127을 기준으로 각 픽셀의 속성이 전경인지 배경인지 여부를 결정할 수 있다. 다만, 이로 한정하는 것은 아니고, 프로세서는 픽셀의 속성이 객체인지, 객체의 일부인지 여부 등을 결정할 수도 있다.
도 8 및 도 9는 일 실시예에 따라 분류된 픽셀을 이용하여 객체 영상을 추출하는 방법을 도시한 흐름도이다.
일 실시예에 따르면, 도 8은 도 6의 단계(620)을 수행하는 방법의 예시를 도시한 흐름도이다. 도 8의 방법을 수행하기 위한, 영상으로부터 객체를 분할하는 장치의 메모리에 저장된 영상 모델은, 기준 트레이닝 영상으로부터 기준 마스크 영상이 출력되도록 학습된 모델일 수 있다. 기준 마스크 영상은, 기준 트레이닝 영상으로부터 출력되어야 하는 것으로 설정된 마스크 영상을 나타낼 수 있다.
우선, 단계(810)에서 프로세서는 결정된 픽셀의 속성에 기초하여, 출력 영상을 이진화하여 마스크 영상을 생성할 수 있다. 예를 들어, 프로세서는 도 6의 단계(610)에서 마스크 속성으로 결정된 픽셀의 픽셀값을 1로 설정하고, 배경 속성으로 결정된 픽셀의 픽셀값을 0으로 설정하여, 각 픽셀이 이진값(binary value)을 가지는 마스크 영상을 생성할 수 있다. 다만, 이로 한정하는 것은 아니고, 프로세서는 배경에 대응하는 픽셀값을 1, 마스크에 대응하는 픽셀값을 1로 설정할 수도 있다. 또한, 이진 값으로서 0과 1로 한정하는 것은 아니고, 2개의 서로 다른 값의 실수가 이용될 수도 있다. 하기에서는 마스크 속성에 대하여 1, 배경 속성에 대하여 0의 값을 기준으로 설명한다.
그리고 단계(820)에서 프로세서는 단계(810)에서 생성된 마스크 영상 및 입력 영상에 기초하여 전경 영상을 생성할 수 있다. 예를 들어, 프로세서는 마스크 영상의 픽셀의 픽셀값과, 입력 영상에서 해당 픽셀에 대응하는 픽셀값을 곱하여 전경 영상을 생성할 수 있다. 마스크 영상은 마스크인 부분에 대해서 1의 픽셀값을 가지므로, 마스크 영상의 각각의 픽셀의 픽셀값을 입력 영상에 곱하게 될 경우, 입력 영상에서 마스크가 아닌 부분은 제거되고, 마스크인 부분의 픽셀값만이 유지될 수 있다.
일 실시예에 따르면, 마스크 영상을 분할하는 경우에는, 프로세서가 상술한 단계(820)을 수행하지 않을 수 있다. 상술한 단계(820)는 전경 영상을 분할하기 위한 경우에 수행될 수 있다.
다른 일 실시예에 따르면, 도 9는 도 6의 단계(620)을 수행하는 방법의 다른 예시를 도시한 흐름도이다. 도 9의 방법을 수행하기 위한, 영상으로부터 객체를 분할하는 장치의 메모리에 저장된 영상 모델은, 기준 트레이닝 영상으로부터 기준 전경 영상이 출력되도록 학습된 모델일 수 있다. 기준 전경 영상은 기준 트레이닝 영상으로부터 출력되어야 하는 것으로 설정된 전경 영상을 나타낼 수 있다.
단계(910)에서 프로세서는 결정된 픽셀의 속성에 기초하여, 출력 영상으로부터 전경 영상을 생성할 수 있다. 예를 들어, 프로세서는 출력 영상에서 전경에 대응하는 부분의 픽셀값은 유지하고, 전경이 아닌 부분의 픽셀값은 초기화(예를 들어, 픽셀값을 0으로 변경)하여, 전경 영상을 생성할 수 있다.
도 10은 일 실시예에 따라 출력 영상의 픽셀을 이용하여 객체 영상을 추출하는 방법을 도시한 흐름도이다.
일 실시예에 따르면, 도 10은 도 2의 단계(230)에서 마스크 영상을 생성하는 과정(810)의 예시 및 전경 영상을 생성하는 과정(910, 820)의 예시를 설명의 편의를 위해 일괄적으로 도시한 흐름도이다. 도 10에서 단계(810), 단계(910), 및 단계(820)는 실시예에 따라 하나만 수행될 수 있다. 다만, 이로 한정하는 것은 아니고, 설계에 따라 상술한 단계들(810, 910, 820)이 선택적으로 수행될 수도 있다.
우선, 단계(220)로부터 프로세서는 상술한 바와 같이 출력 영상(1010)을 생성할 수 있다. 출력 영상(1010)의 i번째 픽셀은 pi의 픽셀값을 가질 수 있다.
그리고 단계(1020)에서 프로세서는 임계값 τ보다 pi가 큰 픽셀을 추출할 수 있다. 여기서, 임계값 τ는 도 7에서 상술한 바 자세한 설명을 생략한다. 예를 들어, 프로세서는 임계값 τ보다 pi가 큰 픽셀을 전경 속성 또는 마스크 속성을 가지는 것으로 라벨링할 수 있다.
이어서 단계(810)에서 프로세서는 도 8에서 상술한 바와 같이 마스크 속성으로 결정된 픽셀을 취합하여 마스크 영상(1030)을 생성할 수 있다.
그리고 단계(910)에서 프로세서는 도 9에서 상술한 바와 같이 전경 속성으로 결정된 픽셀을 취합하여 전경 영상(1040)을 생성할 수 있다.
이어서 단계(820)에서 프로세서는 도 8에서 상술한 바와 같이 마스크 속성으로 결정된 픽셀을 취합하여 마스크 영상(1030)을 생성하고, 마스크 영상(1030) 및 입력 영상(1001)을 이용하여 전경 영상(1050)을 생성할 수 있다.
도 11은 일 실시예에 따라 영상으로부터 객체를 분할하는 장치의 구성을 도시한 블럭도이다.
영상으로부터 객체를 분할하는 장치(1100)는 프로세서(1110) 및 메모리(1120)를 포함한다.
프로세서(1110)는 객체를 포함하는 입력 영상을 수신하고, 영상 모델을 이용하여 입력 영상으로부터 출력 영상을 생성하며, 출력 영상으로부터 객체 영상을 추출할 수 있다. 프로세서(1110)의 구체적인 동작은 도 1 내지 도 10에서 상술하였으므로 생략한다.
메모리(1120)는 기준 트레이닝 영상으로부터 기준 객체 영상이 출력되도록 학습된 영상 모델을 저장할 수 있다. 또한, 메모리(1120)는 입력 영상, 출력 영상, 및 객체 영상 등과 같은, 영상 처리의 입력, 중간결과, 최종결과 등을 임시적으로 또는 영구적으로 저장할 수 있다.
또한, 객체를 분할하는 장치(1100)는 카메라(미도시됨)를 더 포함할 수도 있다. 카메라(미도시됨)는 장치(1100) 외부를 촬영하여, 입력 영상을 획득할 수 있다. 객체를 분할하는 장치(1100)는 통신부(미도시됨)를 더 포함할 수도 있다. 통신부(미도시됨)는 입력 영상을 외부로부터 유선 또는 무선으로 수신할 수 있다.
일 실시예에 따른 장치(1100)는 영상 모델(예를 들어, 뉴럴 네트워크)을 이용하여 영상으로부터 객체를 분리하기 위해 픽셀 단위로 판단하는 것이 아니가, 영상 단위로 판단할 수 있다. 예를 들어, 장치(1100)는 각 픽셀에 대응하는 패치(patch)가 전경 또는 후경인지를 판단하는 것이 아니고, 입력된 영상 전체에 대하여 각 픽셀의 속성을 일괄적으로 결정하여 객체를 분할하는 바, 분할에 소요되는 시간이 적어 속도가 빠르고, 정확도도 높을 수 있다. 장치(1100)는 스마트폰 등과 같은 모바일 기기 또는 PC 등과 같은 거치형 기기로 구현되거나, 칩의 형태로 구현되어 휴대폰 또는 TV 등에 탑재될 수도 있다.
도 12는 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 방법의 흐름도를 도시한 도면이다.
우선, 단계(1210)에서 영상 모델을 학습하는 장치의 모델 학습부는 기준 트레이닝 영상 및 기준 객체 영상을 포함하는 트레이닝 데이터를 수신할 수 있다. 기준 트레이닝 영상은 트레이닝에서 입력으로 사용되는 영상이고, 기준 객체 영상은 특정 기준 트레이닝 영상에 대해 출력되어야 하는 것으로 미리 설정되는 영상을 나타낼 수 있다. 트레이닝 데이터는 기준 트레이닝 영상 및 해당 기준 트레이닝 영상에 매핑되는 기준 객체 영상으로 구성되는 트레이닝 쌍(training pair)을 포함할 수 있다.
그리고 단계(1220)에서 모델 학습부는 기준 트레이닝 영상에 대해 회전(rotation), 크기 조정(resize), 이동(shift), 반전(flip), 및 노이즈 부가(noise adding) 중 적어도 하나의 처리가 수행하여 트레이닝 데이터를 증강(augment)시킬 수 있다. 모델 학습부는 하나의 기준 트레이닝 영상 및 기준 객체 영상의 쌍에 대하여, 기준 트레이닝 영상을 회전, 크기 조정, 이동, 반전 및 노이즈 부가 등의 처리를 통해 동일한 기준 객체 영상에 매핑되는 기준 트레이닝 영상을 증강시킬 수 있다.
회전 처리는 기준 트레이닝 영상을 일정 각도로 회전시키는 영상 처리를 나타낼 수 있다. 예를 들어, 모델 학습부는 ±8도 사이에서 무작위로 선정된 각도로 기준 트레이닝 영상을 회전시킬 수 있다. 크기 조정은 기준 트레이닝 영상의 크기를 증가시키거나 감소시키는 영상 처리를 나타낼 수 있다. 예를 들어, 모델 학습부는 0.9배 및 1.1배 사이에서 무작위로 선정된 비율로 기준 트레이닝 영상의 크기를 조정할 수 있다. 이동은 기준 트레이닝 영상을 크롭(crop)시키는 영상 처리를 나타낼 수 있다. 예를 들어, 모델 학습부는 기준 트레이닝 영상 내에서 무작위 크기의 무작위 위치를 크롭시킬 수 있다. 반전은 기준 트레이닝 영상을 위아래로 뒤집거나 좌우로 뒤집는 영상 처리를 나타낼 수 있다. 예를 들어, 모델 학습부는 이동 처리된 기준 트레이닝 영상을 50%의 확률로 반전시킬 수 있다. 노이즈 부가는 기준 트레이닝 영상에 대해 가우시안 노이즈(Gaussian noise)를 부가하는 영상 처리를 나타낼 수 있다. 예를 들어, 모델 학습부는 기준 트레이닝 영상의 각 픽셀에 대해 0의 평균값 및 0.9의 편차를 가지는 가우시안 노이즈를 부가할 수 있다.
이어서 단계(1230)에서 모델 학습부는 증강된 트레이닝 데이터에 기초하여 영상 모델을 트레이닝시킬 수 있다. 모델 학습부가 영상 모델을 트레이닝시키는 과정은 하기 도 13에서 상세히 설명한다.
도 13은 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 장치의 구성을 도시한 도면이다.
영상 모델을 학습하는 장치(1300)는 모델 학습부(1310) 및 트레이닝 데이터 저장소(1320)를 포함한다. 모델 학습부(1310)는 적어도 하나의 프로세서를 포함할 수 있고, 영상 모델을 학습시킬 수 있다. 예를 들어, 모델 학습부(1310)는 기준 트레이닝 데이터 저장소(1320)로부터 기준 트레이닝 영상(1301) 및 기준 객체 영상(1309)을 수신할 수 있고, 수신된 기준 트레이닝 영상 및 기준 객체 영상은 쌍(pair)으로 구성될 수 있다. 트레이닝 데이터 저장소(1320)는 적어도 하나의 메모리를 포함할 수 있고, 영상 모델의 학습에 사용되는 트레이닝 데이터(1325)를 저장할 수 있다. 트레이닝 데이터(1325)는 기준 트레이닝 영상(1301) 및 기준 객체 영상(1309)이 상호 매핑된 트레이닝 쌍을 적어도 하나 포함할 수 있다. 구체적인 학습 과정은 하기에서 상세히 설명하며, 이하에서는 영상 모델이 뉴럴 네트워크의 파라미터를 포함하는 경우를 예로 들어 설명한다.
일 실시예에 따르면, 영상 모델을 학습하는 장치(1300)는 영상으로부터 객체의 분할을 학습하는 방법을 수행할 수 있고, 예를 들어, 객체를 포함하는 입력 영상(도 14의 1401)으로부터 객체에 대응하는 출력 영상(도 14의 1405)을 생성하는 영상 모델(예를 들어, 뉴럴 네트워크(1311))을 이용하여, 프로세서(도 14의 1110)가 기준 트레이닝 영상(1301)으로부터 기준 객체 영상(1309)을 분할하도록, 영상 모델의 파라미터(예를 들어, 뉴럴 네트워크(1311)의 파라미터)를 학습시킬 수 있다. 예를 들어, 영상 모델을 학습하는 장치(1300)는 감독 학습(supervised learning)을 통해 뉴럴 네트워크(1311)를 학습시킬 수 있다. 감독 학습이란 기준 트레이닝 영상(1301)과 그에 대응하는 기준 객체 영상(1309)을 함께 뉴럴 네트워크(1311)에 입력하고, 기준 트레이닝 영상(1301)에 대응하는 기준 객체 영상(1309)이 출력되도록 연결선들의 연결 가중치를 업데이트하는 방법이다. 예를 들어, 영상 모델을 학습하는 장치(1300)는 델타 규칙(delta rule)과 오류 역전파 학습(backpropagation learning) 등을 통해 인공 뉴런들 사이의 연결 가중치를 업데이트할 수 있다.
오류 역전파 학습은, 주어진 기준 트레이닝 영상(1301)에 대해 전방 계산(forward computation)으로 오류를 추정한 후, 출력 층에서 시작하여 히든 층과 입력 층 방향으로 역으로 전진하여 추정한 오류를 전파하고, 오류를 줄이는 방향으로 연결 가중치를 업데이트하는 방법이다. 뉴럴 네트워크(1311)의 처리는 입력 층 히든 층 출력 층의 방향으로 진행되지만, 오류 역전파 학습에서 연결 가중치의 업데이트 방향은 출력 층 히든 층 입력 층의 방향으로 진행될 수 있다. 예를 들어, 오류 역전파 학습으로서 확률적 경사감소법(stochastic gradient descent)이 사용될 수 있다. 각 층에서 초기의 연결 가중치는 0의 평균값 및 표준 편차가 0.01인 가우시안 분포에 의해 결정될 수 있다. 또한, 컨볼루션 층들 및 완전연결 층들의 바이어스는 0으로 초기화될 수 있다. 학습률(learning rate)은 0.001에서 시작하여, 0.0001로 감소될 수 있다.
영상 모델을 학습하는 장치(1300)는 현재 설정된 연결 가중치들이 얼마나 최적에 가까운지를 측정하기 위한 목적 함수(objective function)를 정의하고, 목적 함수의 결과에 기초하여 연결 가중치들을 계속 변경하고, 학습을 반복적으로 수행할 수 있다. 예를 들어, 목적 함수는 뉴럴 네트워크(1311)가 기준 트레이닝 영상(1301)에 기초하여 실제 출력한 출력 값과 출력되기로 원하는 기대 값 간의 오류를 계산하기 위한 오류 함수일 수 있다. 영상 모델을 학습하는 장치(1300)는 오류 함수의 값을 줄이는 방향으로 연결 가중치들을 업데이트할 수 있다. 오류 함수는 squared L2 norm으로서, 출력 영상의 i번째 픽셀의 오류 Li는 하기 수학식 1과 같이 나타낼 수 있다.
Figure pat00001
상술한 수학식 1에서 mi는 기준 트레이닝 영상(1301)에 대해 매핑된 기준 객체 영상(1309)의 i번째 픽셀의 이진값을 나타낼 수 있다. pi는 뉴럴 네트워크(1311)의 기준 트레이닝 영상(1301)에 대해 생성된 출력 영상의 i번째 픽셀의 픽셀값을 나타낼 수 있고, 하기 수학식 2와 같이 나타낼 수 있다.
Figure pat00002
상술한 수학식 2에서 f(xi)는 기준 트레이닝 영상(1301)이 하나 이상의 컨볼루션 필터링을 통해 특징 공간(feature space)으로 투영(project)된 값을 나타낼 수 있고, g()는 완전연결 층을 통해 처리된 뉴럴 네트워크(1311)의 최종 결과를 도출하는 함수를 나타낼 수 있다.
일 실시예에 따르면, 영상 모델은, 입력 영상으로부터 생성되는 출력 영상 내지 객체 영상의 해상도가 입력 영상의 해상도와 동일하도록 구성될 수 있다. 또한, 영상 모델은, 뉴럴 네트워크(1311)를 포함하고, 뉴럴 네트워크(1311)의 활성화 함수는 적어도 하나의 비선형 함수(예를 들어, 시그모이드 뉴런 함수(sigmoid neuron function))를 포함할 수 있다. 더 나아가, 영상 모델은, 상기 기준 트레이닝 영상(1301)에 대해 회전(rotation), 크기 조정(resize), 이동(shift), 반전(flip), 및 노이즈 부가(noise adding) 중 적어도 하나의 처리가 수행된 영상에 기초하여 학습될 수도 있다.
도 14는 일 실시예에 따라 도 13에서 학습된 영상 모델을 이용하여, 입력 영상으로부터 생성된 객체 영상을 도시한 도면이다.
일 실시예에 따르면, 영상으로부터 객체를 분할하는 장치(1100)의 메모리(1120)가 저장하는 영상 모델(1121)은 상술한 도 13에서 학습된 것일 수 있다.
프로세서(1110)는 도 13에서 학습된 영상 모델(1121)을 이용하여, 입력 영상(1401)으로부터 출력 영상(1405)을 생성할 수 있다. 출력 영상(1405)의 각 픽셀의 픽셀값은 예를 들어, 해당 픽셀이 마스크에 대응할 확률을 나타낼 수 있다. 예를 들어, 도 14의 출력 영상(1405)에 도시된 바와 같이 실제로는 객체가 아닌 부분에 대해서도, 임의의 픽셀이 마스크에 대응할 확률이 있는 것으로 나타날 수 있다. 도 10에서 상술한 바와 같이, 마스크에 대응할 확률이 낮은 픽셀은 임계값과의 비교를 통해 제거될 수 있다.
도 15는 다른 일 실시예에 따라 영상을 분할하는 방법을 도시한 흐름도이다.
우선, 단계(1510)에서 영상으로부터 객체를 분할하는 장치의 프로세서는 객체를 포함하는 입력 영상을 수신할 수 있다. 수신되는 입력 영상은 도 1에서 상술한 바와 같을 수 있다.
그리고 단계(1520)에서 프로세서는 제1 영상 모델(first image model)을 이용하여, 입력 영상으로부터 객체에 대응하는 중간 영상(intermediate image)을 생성할 수 있다. 제1 영상 모델은 도 2에서 상술한 영상 모델과 유사하게 구성될 수 있고, 제1 영상 모델은 입력 영상으로부터 1차적으로 객체 영상을 분할하기 위해 사용될 수 있다. 예를 들어, 제1 영상 모델은 기준 트레이닝 영상으로부터 기준 객체 영상이 출력되도록 학습될 수 있다. 제1 영상 모델의 학습은 하기 도 17 및 도 18에서 상세히 설명한다. 중간 영상은 프로세서에 의해 제1 영상 모델을 이용하여 입력 영상으로부터 생성된 중간 결과를 나타낼 수 있다.
이어서 단계(1530)에서 프로세서는 제2 영상 모델을 이용하여 중간 영상으로부터 객체에 대응하는 출력 영상을 생성할 수 있다. 제2 영상 모델은 도 2에서 상술한 영상 모델과 유사하게 구성될 수 있고, 제2 영상 모델은 상술한 중간 영상으로부터 2차적으로 객체 영상을 분할하기 위해 사용될 수 있다. 예를 들어, 제2 영상 모델은 기준 트레이닝 영상에 제1 영상 모델이 적용된 결과인 기준 중간 영상으로부터 기준 객체 영상이 출력되도록 학습될 수 있다. 제2 영상 모델의 학습은 하기 도 17 및 도 18에서 상세히 설명한다. 출력 영상은 프로세서에 의해 제2 영상 모델을 이용하여 중간 영상으로부터 생성된 최종 결과를 나타낼 수 있다.
다른 일 실시예에 따른 영상으로부터 객체를 분할하는 장치는 상술한 바와 같이, 1차적으로 입력 영상으로부터 제1 영상 모델을 이용하여 러프(rough)한 결과로서 중간 영상을 생성하고, 2차적으로 중간 영상으로부터 제2 영상 모델을 이용하여 정밀(fine)한 결과로서 출력 영상을 생성할 수 있다.
그리고 단계(1540)에서 프로세서는 출력 영상으로부터 객체 영상을 추출할 수 있다. 출력 영상으로부터 객체를 추출하는 과정은 도 1 내지 도 10에서 상술한 바와 같다.
일 실시예에 따르면 도 11에서 상술한 장치(1100)는 도 15의 방법을 수행할 수 있다. 예를 들어, 도 11의 프로세서(1110)는 상술한 단계들(1510 내지 1540)의 동작을 수행할 수 있고, 도 11의 메모리(1120)는 상술한 제1 영상 모델 및 제2 영상 모델 등을 저장할 수 있다.
도 16은 다른 일 실시예에 따라 영상 모델을 이용하여 입력 영상으로부터 출력 영상을 생성하는 예시를 도시한 도면이다.
도 16은 제1 영상 모델 및 제2 영상 모델이 뉴럴 네트워크의 파라미터로서 연결 가중치를 포함하는 경우를 예로 들어 설명한다. 도 16에 도시된 제1 영상 모델에 대응하는 제1 뉴럴 네트워크 및 제2 영상 모델에 대응하는 제2 뉴럴 네트워크는 학습이 완료된 상태일 수 있다.
일 실시예에 따르면, 도 16에 도시된 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크는 각각 입력 층, 출력 층 및 6개의 히든 층을 포함할 수 있다. 예를 들어, 제1 뉴럴 네트워크의 입력 층은 입력 영상(1601)을 수신할 수 있다. 제1 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618)는 도 4와 동일한 구조의 레이어로 구성될 수 있다. 다만, 도 16에 도시된 제1 뉴럴 네트워크는 입력 영상(1601)으로부터 객체 영상이 출력되도록 학습될 수 있다. 여기서, 제1 뉴럴 네트워크의 출력 층은 중간 영상(1605)을 출력할 수 있다.
또한, 도 16에 도시된 제2 뉴럴 네트워크의 입력 층은 상술한 중간 영상(1605)를 수신할 수 있다. 제2 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628)은 도 4와 동일한 구조의 레이어로 구성될 수 있다. 다만, 도 16에 도시된 제2 뉴럴 네트워크는 중간 영상(1605)으로부터 객체 영상이 출력되도록 학습될 수 있다. 여기서, 제2 뉴럴 네트워크의 출력 층은 객체에 대응하는 출력 영상(1609)를 출력할 수 있다.
다만, 도 16에서 제1 영상 모델과 제2 영상 모델의 구조가 동일한 것으로 도시하였으나, 이로 한정하는 것은 아니고, 제1 영상 모델 및 제2 영상 모델은 서로 다른 구조를 가지도록 구성될 수 있다. 또한, 도 16에서 제1 영상 모델과 제2 영상 모델은 뉴럴 네트워크 타입의 모델로 설명되었으나, 이로 한정하는 것은 아니고 제1 영상 모델 및 제2 영상 모델은 서로 다른 타입의 영상 모델로 구성될 수도 있다. 아울러, 제1 영상 모델과 제2 영상 모델은 학습 결과에 따라 상이한 파라미터를 가질 수 있으나, 이로 한정하는 것은 아니고, 동일한 파라미터를 가질 수도 있다.
도 17은 다른 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 방법의 흐름도를 도시한 도면이다.
우선, 단계(1710)에서 영상 모델을 학습하는 장치의 모델 학습부는 기준 트레이닝 영상 및 기준 객체 영상을 수신할 수 있다. 기준 트레이닝 영상은 트레이닝에서 입력으로 사용되는 영상으로서, 제1 영상 모델의 학습을 위해 사용될 수 있다. 기준 객체 영상은 특정 기준 트레이닝 영상에 대해 출력되어야 하는 것으로 미리 설정되는 영상을 나타낼 수 있다. 제1 영상 모델 및 제2 영상 모델의 학습에서 동일한 기준 객체 영상이 사용될 수 있다. 트레이닝 데이터는 기준 트레이닝 영상 및 해당 기준 트레이닝 영상에 매핑되는 기준 객체 영상으로 구성되는 트레이닝 쌍을 포함할 수 있다.
그리고 단계(1720)에서 영상 모델을 학습하는 장치는 객체를 포함하는 입력 영상으로부터 객체에 대응하는 중간 영상을 생성하는 제1 영상 모델을 이용하여, 프로세서가 기준 트레이닝 영상으로부터 기준 객체 영상을 분할하도록, 제1 영상 모델의 파라미터를 학습시킬 수 있다. 예를 들어, 제1 영상 모델의 학습은 도 13에서 상술한 바와 유사한 과정을 통해 수행될 수 있다.
이어서 단계(1730)에서 영상 모델을 학습하는 장치는 제1 영상 모델을 이용하여 기준 트레이닝 영상으로부터 기준 중간 영상(reference intermediate image)을 생성할 수 있다. 기준 중간 영상은 제2 영상 모델을 학습시키기(train) 위해 생성된 영상으로서 기준 객체 영상에 매핑될 수 있다.
그리고 단계(1740)에서 영상 모델을 학습하는 장치는 중간 영상으로부터 객체에 대응하는 출력 영상을 생성하는 제2 영상 모델을 이용하여, 프로세서가 기준 중간 영상으로부터 기준 객체 영상을 분할하도록, 제2 영상 모델의 파라미터를 학습시킬 수 있다. 예를 들어, 제2 영상 모델의 학습은 도 13에서 상술한 바와 유사한 과정을 통해 수행될 수 있는데, 다만 제2 영상 모델은 상술한 단계(1730)에서 생성된 기준 중간 영상으로부터 기준 객체 영상을 분할하도록 학습될 수 있다.
일 실시예에 따르면, 영상 모델을 학습하는 장치는 단계(1720)에서의 제1 영상 모델의 학습을 완료하고, 이후 학습이 완료된 제1 영상 모델을 이용하여 생성된 기준 중간 영상 및 기준 객체 영상에 기초하여 단계(1740)에서 제2 영상 모델을 학습시킬 수 있다. 다만, 이로 한정하는 것은 아니고, 영상 모델을 학습하는 장치는 단계(1720)에서 제1 영상 모델이 학습 중이더라도, 단계(1730)에서 학습 중인 제1 영상 모델을 이용하여 기준 중간 영상을 생성하고, 단계(1740)에서는 이렇게 생성된 기준 중간 영상을 이용하여 제2 영상 모델을 학습시킬 수 있다. 이와 같이 1차적 객체 분할을 위한 제1 영상 모델과 2차적 객체 분할을 위한 제2 영상 모델의 학습은 분리되어 수행되는 것으로 한정하지 않고, 동시에 수행될 수도 있다.
도 13에 도시된 장치(1300)는 도 17에 도시된 학습 방법을 수행할 수도 있다.
도 18은 다른 일 실시예에 따라 영상으로부터 객체를 분할하기 위해 사용되는 영상 모델을 학습하는 과정을 도시한 도면이다.
도 18에 도시된 제1 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818)은 도 16의 제1 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618)와 동일한 구조의 레이어인 것으로 가정할 수 있다. 또한, 도 18에 도시된 제2 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828)는 도 16의 제2 뉴럴 네트워크의 제1 레이어 내지 제8 레이어(1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628)와 동일한 구조의 레이어인 것으로 가정할 수 있다.
도 18에 도시된 바와 같이, 영상 모델을 학습하는 장치는, 기준 입력 영상(1801)으로부터 출력되는 기준 중간 영상(1804)과 기준 객체 영상(1809) 간의 오차가 최소화되도록, 제1 영상 모델(예를 들어, 제1 뉴럴 네트워크)을 학습시킬 수 있다. 다만, 제1 영상 모델에 의한 결과는 러프(rough)할 수 있다. 또한, 영상 모델을 학습하는 장치는 기준 중간 영상(1804)로부터 출력되는 출력 영상(1805)과 기준 객체 영상(1809) 간의 오차가 최소화되도록 제2 영상 모델(예를 들어, 제2 뉴럴 네트워크)을 학습시킬 수 있다. 제2 영상 모델에 의한 결과인 출력 영상(1805)는 제1 영상 모델에 의한 결과보다 정밀(fine)할 수 있다.
일 실시예에 따르면, 2단(2 step)에 걸쳐 학습된 제1 영상 모델 및 제2 영상 모델을 이용함으로써, 영상으로부터 객체를 분할하는 장치는 보다 정확하게 입력 영상으로부터 객체 영상을 분할해낼 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (22)

  1. 객체(object)를 포함하는 입력 영상(input image)을 수신하는 단계;
    영상 모델(image model)을 이용하여, 상기 입력 영상으로부터 상기 객체에 대응하는 출력 영상(output image)을 생성하는 단계; 및
    상기 출력 영상으로부터 객체 영상(object image)을 추출하는 단계
    를 포함하는 영상으로부터 객체를 분할(segment)하는 방법.
  2. 제1항에 있어서,
    상기 객체 영상을 추출하는 단계는,
    상기 출력 영상의 각각의 픽셀을 속성에 따라 분류하는 단계; 및
    상기 분류된 픽셀을 이용하여 객체 영상을 추출하는 단계
    를 포함하는 영상으로부터 객체를 분할하는 방법.
  3. 제2항에 있어서,
    상기 분류하는 단계는,
    상기 각각의 픽셀의 픽셀 값(pixel value)과 임계값을 비교하는 단계; 및
    상기 비교한 결과에 기초하여 상기 각각의 픽셀의 속성을 결정하는 단계
    를 포함하는 영상으로부터 객체를 분할하는 방법.
  4. 제1항에 있어서,
    상기 객체 영상을 추출하는 단계는,
    상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상을 이진화하여 마스크 영상(mask image)을 생성하는 단계
    를 포함하는 영상으로부터 객체를 분할하는 방법.
  5. 제4항에 있어서,
    상기 객체 영상을 추출하는 단계는,
    상기 마스크 영상 및 상기 입력 영상에 기초하여 전경 영상을 생성하는 단계
    를 더 포함하는 영상으로부터 객체를 분할하는 방법
  6. 제1항에 있어서,
    상기 객체 영상을 추출하는 단계는,
    상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상으로부터 전경 영상을 생성하는 단계
    를 포함하는 영상으로부터 객체를 분할하는 방법.
  7. 제1항에 있어서,
    상기 영상 모델은,
    상기 입력 영상으로부터 생성되는 상기 객체 영상의 해상도가 상기 입력 영상의 해상도와 동일하도록 구성되는,
    영상으로부터 객체를 분할하는 방법.
  8. 제1항에 있어서,
    상기 영상 모델은,
    뉴럴 네트워크를 포함하고,
    상기 뉴럴 네트워크의 활성화 함수는 적어도 하나의 비선형 함수를 포함하는,
    영상으로부터 객체를 분할하는 방법.
  9. 하드웨어와 결합되어 제1항 내지 제8항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  10. 영상 모델을 저장하는 메모리; 및
    객체를 포함하는 입력 영상을 수신하고, 상기 영상 모델을 이용하여 상기 입력 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하며, 상기 출력 영상으로부터 객체 영상을 추출하는 프로세서
    를 포함하는 영상으로부터 객체를 분할하는 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 출력 영상의 각각의 픽셀을 속성에 따라 분류하고, 상기 분류된 픽셀을 이용하여 객체 영상을 추출하는,
    영상으로부터 객체를 분할하는 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 각각의 픽셀의 픽셀 값(pixel value)과 임계값을 비교하고, 상기 비교한 결과에 기초하여 상기 각각의 픽셀의 속성을 결정하는,
    영상으로부터 객체를 분할하는 장치.
  13. 제10항에 있어서,
    상기 프로세서는,
    상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상을 이진화하여 마스크 영상(mask image)을 생성하는,
    영상으로부터 객체를 분할하는 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 마스크 영상 및 상기 입력 영상에 기초하여 전경 영상을 생성하는,
    영상으로부터 객체를 분할하는 장치
  15. 제10항에 있어서,
    상기 프로세서는,
    상기 출력 영상의 각각의 픽셀의 픽셀 값과 임계값을 비교한 결과에 기초하여, 상기 출력 영상으로부터 전경 영상을 생성하는,
    영상으로부터 객체를 분할하는 장치.
  16. 제10항에 있어서,
    상기 영상 모델은,
    상기 입력 영상으로부터 생성되는 상기 객체 영상의 해상도가 상기 입력 영상의 해상도와 동일하도록 구성되는,
    영상으로부터 객체를 분할하는 장치.
  17. 제10항에 있어서,
    상기 영상 모델은,
    뉴럴 네트워크를 포함하고,
    상기 뉴럴 네트워크의 활성화 함수는 적어도 하나의 비선형 함수를 포함하는,
    영상으로부터 객체를 분할하는 장치.
  18. 기준 트레이닝 영상 및 기준 객체 영상을 수신하는 단계; 및
    객체를 포함하는 입력 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하는 영상 모델을 이용하여, 프로세서가 상기 기준 트레이닝 영상으로부터 상기 기준 객체 영상을 분할하도록, 상기 영상 모델의 파라미터를 학습시키는 단계
    를 포함하는 영상으로부터 객체의 분할을 학습하는 방법.
  19. 제18항에 있어서,
    상기 영상 모델은,
    활성화 함수로서 적어도 하나의 비선형 함수를 포함하는 뉴럴 네트워크를 포함하고,
    상기 뉴럴 네트워크는 상기 입력 영상으로부터 생성되는 상기 출력 영상의 해상도가 상기 입력 영상의 해상도와 동일하도록 구성되는,
    영상으로부터 객체의 분할을 학습하는 방법.
  20. 제18항에 있어서,
    상기 영상 모델은,
    상기 기준 트레이닝 영상에 대해 회전(rotation), 크기 조정(resize), 이동(shift), 반전(flip), 및 노이즈 부가(noise adding) 중 적어도 하나의 처리가 수행된 영상에 기초하여 학습된,
    영상으로부터 객체의 분할을 학습하는 방법.
  21. 객체를 포함하는 입력 영상을 수신하는 단계;
    제1 영상 모델(first image model)을 이용하여, 상기 입력 영상으로부터 상기 객체에 대응하는 중간 영상(intermediate image)을 생성하는 단계;
    제2 영상 모델을 이용하여 상기 중간 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하는 단계; 및
    상기 출력 영상으로부터 객체 영상(object image)을 추출하는 단계
    를 포함하는 영상으로부터 객체를 분할하는 방법.
  22. 기준 트레이닝 영상 및 기준 객체 영상을 수신하는 단계;
    객체를 포함하는 입력 영상으로부터 상기 객체에 대응하는 중간 영상을 생성하는 제1 영상 모델을 이용하여, 프로세서가 상기 기준 트레이닝 영상으로부터 상기 기준 객체 영상을 분할하도록, 상기 제1 영상 모델의 파라미터를 학습시키는 단계;
    상기 제1 영상 모델을 이용하여 상기 기준 트레이닝 영상으로부터 기준 중간 영상(reference intermediate image)을 생성하는 단계; 및
    상기 중간 영상으로부터 상기 객체에 대응하는 출력 영상을 생성하는 제2 영상 모델을 이용하여, 상기 프로세서가 상기 기준 중간 영상으로부터 상기 기준 객체 영상을 분할하도록, 상기 제2 영상 모델의 파라미터를 학습시키는 단계
    를 포함하는 영상으로부터 객체의 분할을 학습하는 방법.
KR1020160022517A 2015-09-30 2016-02-25 영상으로부터 객체를 분할하는 방법 및 장치 KR102338372B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/217,141 US10540768B2 (en) 2015-09-30 2016-07-22 Apparatus and method to segment object from image
CN201610633375.0A CN106557776A (zh) 2015-09-30 2016-08-04 从图像分割对象的设备和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150137782 2015-09-30
KR1020150137782 2015-09-30

Publications (2)

Publication Number Publication Date
KR20170038622A true KR20170038622A (ko) 2017-04-07
KR102338372B1 KR102338372B1 (ko) 2021-12-13

Family

ID=58583855

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160022517A KR102338372B1 (ko) 2015-09-30 2016-02-25 영상으로부터 객체를 분할하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102338372B1 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101867586B1 (ko) * 2017-09-22 2018-06-15 주식회사 이넘넷 영상 처리 장치 및 방법
CN108830827A (zh) * 2017-05-02 2018-11-16 通用电气公司 神经网络训练图像生成系统
KR20180136720A (ko) * 2017-06-15 2018-12-26 삼성전자주식회사 다채널 특징맵을 이용하는 영상 처리 장치 및 방법
US20190057488A1 (en) * 2017-08-17 2019-02-21 Boe Technology Group Co., Ltd. Image processing method and device
WO2019054576A1 (ko) * 2017-09-15 2019-03-21 한국과학기술원 환자 맞춤형 최적 이진화 방법과 분수령 알고리즘에 기반한 관절의 완전 자동 영상 분할 방법 및 장치
KR20200004427A (ko) * 2017-09-27 2020-01-13 구글 엘엘씨 고해상도 이미지 세분화를 위한 종단간 네트워크 모델
WO2020032506A1 (ko) * 2018-08-07 2020-02-13 전북대학교산학협력단 시각 감지 시스템 및 이를 이용한 시각 감지 방법
KR102095444B1 (ko) * 2019-10-30 2020-03-31 엘아이지넥스원 주식회사 딥러닝 기반의 선형성을 갖는 노이즈 영상 제거 방법 및 장치
KR20210012009A (ko) * 2018-09-30 2021-02-02 보에 테크놀로지 그룹 컴퍼니 리미티드 이미지 처리를 위한 장치 및 방법, 및 신경 네트워크를 트레이닝하기 위한 시스템
KR20210096447A (ko) 2020-01-28 2021-08-05 인하대학교 산학협력단 영상 영역 분할 방법, 영상 영역 분할 장치 및 영상 영역 분할 프로그램
KR20210112992A (ko) * 2020-03-06 2021-09-15 주식회사 테스트웍스 다각형 기반의 객체 인식 성능 보정 장치 및 방법
KR20230000385A (ko) * 2021-06-24 2023-01-02 수퍼빈 주식회사 객체를 인식하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR102662401B1 (ko) * 2023-09-26 2024-05-03 메디컬아이피 주식회사 영상분할방법 및 그 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102476815B1 (ko) 2022-09-21 2022-12-12 (주)슬레이트미디어 인공지능 기반 스톡 이미지 자동 추출 방법, 장치 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111921A (ja) * 2007-10-31 2009-05-21 Toshiba Corp 画像処理装置及び画像処理方法
KR20120071226A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 객체 추출 방법 및 그 장치
KR20130037734A (ko) * 2011-10-07 2013-04-17 수원대학교산학협력단 방사형 기저 함수 신경회로망 알고리즘을 이용한 실시간 얼굴 인식 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111921A (ja) * 2007-10-31 2009-05-21 Toshiba Corp 画像処理装置及び画像処理方法
KR20120071226A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 객체 추출 방법 및 그 장치
KR20130037734A (ko) * 2011-10-07 2013-04-17 수원대학교산학협력단 방사형 기저 함수 신경회로망 알고리즘을 이용한 실시간 얼굴 인식 시스템

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830827A (zh) * 2017-05-02 2018-11-16 通用电气公司 神经网络训练图像生成系统
KR20180136720A (ko) * 2017-06-15 2018-12-26 삼성전자주식회사 다채널 특징맵을 이용하는 영상 처리 장치 및 방법
US10861134B2 (en) * 2017-08-17 2020-12-08 Boe Technology Group Co., Ltd. Image processing method and device
US20190057488A1 (en) * 2017-08-17 2019-02-21 Boe Technology Group Co., Ltd. Image processing method and device
WO2019054576A1 (ko) * 2017-09-15 2019-03-21 한국과학기술원 환자 맞춤형 최적 이진화 방법과 분수령 알고리즘에 기반한 관절의 완전 자동 영상 분할 방법 및 장치
WO2019059460A1 (ko) * 2017-09-22 2019-03-28 주식회사 이넘넷 영상 처리 장치 및 방법
KR101867586B1 (ko) * 2017-09-22 2018-06-15 주식회사 이넘넷 영상 처리 장치 및 방법
KR20200004427A (ko) * 2017-09-27 2020-01-13 구글 엘엘씨 고해상도 이미지 세분화를 위한 종단간 네트워크 모델
US11792553B2 (en) 2017-09-27 2023-10-17 Google Llc End to end network model for high resolution image segmentation
KR20200019280A (ko) * 2018-08-07 2020-02-24 전북대학교산학협력단 시각 감지 시스템 및 이를 이용한 시각 감지 방법
WO2020032506A1 (ko) * 2018-08-07 2020-02-13 전북대학교산학협력단 시각 감지 시스템 및 이를 이용한 시각 감지 방법
KR20210012009A (ko) * 2018-09-30 2021-02-02 보에 테크놀로지 그룹 컴퍼니 리미티드 이미지 처리를 위한 장치 및 방법, 및 신경 네트워크를 트레이닝하기 위한 시스템
KR102095444B1 (ko) * 2019-10-30 2020-03-31 엘아이지넥스원 주식회사 딥러닝 기반의 선형성을 갖는 노이즈 영상 제거 방법 및 장치
KR20210096447A (ko) 2020-01-28 2021-08-05 인하대학교 산학협력단 영상 영역 분할 방법, 영상 영역 분할 장치 및 영상 영역 분할 프로그램
KR20210112992A (ko) * 2020-03-06 2021-09-15 주식회사 테스트웍스 다각형 기반의 객체 인식 성능 보정 장치 및 방법
KR20230000385A (ko) * 2021-06-24 2023-01-02 수퍼빈 주식회사 객체를 인식하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR102662401B1 (ko) * 2023-09-26 2024-05-03 메디컬아이피 주식회사 영상분할방법 및 그 장치

Also Published As

Publication number Publication date
KR102338372B1 (ko) 2021-12-13

Similar Documents

Publication Publication Date Title
KR102338372B1 (ko) 영상으로부터 객체를 분할하는 방법 및 장치
JP7236545B2 (ja) ビデオターゲット追跡方法と装置、コンピュータ装置、プログラム
US10540768B2 (en) Apparatus and method to segment object from image
CN110033003B (zh) 图像分割方法和图像处理装置
KR102613517B1 (ko) 이미지의 시맨틱 분리를 위한 시스템 및 방법
Klein et al. A dynamic convolutional layer for short range weather prediction
US10963738B2 (en) Method for processing input on basis of neural network learning and apparatus therefor
US20190095730A1 (en) End-To-End Lightweight Method And Apparatus For License Plate Recognition
Zhang et al. Efficient inference for fully-connected CRFs with stationarity
JP6330385B2 (ja) 画像処理装置、画像処理方法およびプログラム
CN112236779A (zh) 基于卷积神经网络的图像处理方法和图像处理装置
CN111444881A (zh) 伪造人脸视频检测方法和装置
Wang et al. Learning deep conditional neural network for image segmentation
CN112668366B (zh) 图像识别方法、装置、计算机可读存储介质及芯片
EP3836029A1 (en) Apparatus and method with neural network implementation of domain adaptation
US11568212B2 (en) Techniques for understanding how trained neural networks operate
CN113743417B (zh) 语义分割方法和语义分割装置
CN110968734A (zh) 一种基于深度度量学习的行人重识别方法及装置
CN112036381B (zh) 视觉跟踪方法、视频监控方法及终端设备
JP2023507248A (ja) 物体検出および認識のためのシステムおよび方法
CN112464930A (zh) 目标检测网络构建方法、目标检测方法、装置和存储介质
CN111652181B (zh) 目标跟踪方法、装置及电子设备
CN110705564B (zh) 图像识别的方法和装置
CN117237756A (zh) 一种训练目标分割模型的方法、目标分割方法及相关装置
US20230073175A1 (en) Method and system for processing image based on weighted multiple kernels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant