KR20160045098A - 객체 검출 및 세그먼트화를 위한 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

객체 검출 및 세그먼트화를 위한 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20160045098A
KR20160045098A KR1020167007059A KR20167007059A KR20160045098A KR 20160045098 A KR20160045098 A KR 20160045098A KR 1020167007059 A KR1020167007059 A KR 1020167007059A KR 20167007059 A KR20167007059 A KR 20167007059A KR 20160045098 A KR20160045098 A KR 20160045098A
Authority
KR
South Korea
Prior art keywords
image
object point
point
disparity value
disparity
Prior art date
Application number
KR1020167007059A
Other languages
English (en)
Other versions
KR101784639B1 (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 노키아 테크놀로지스 오와이
Publication of KR20160045098A publication Critical patent/KR20160045098A/ko
Application granted granted Critical
Publication of KR101784639B1 publication Critical patent/KR101784639B1/ko

Links

Images

Classifications

    • G06K9/00208
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • G06K9/00234
    • G06K9/36
    • G06K9/66
    • G06T7/0075
    • 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/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • 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
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/162Detection; Localisation; Normalisation using pixel segmentation or colour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

예시적 실시예에서, 방법, 장치 및 컴퓨터 프로그램 제품이 제공된다. 방법은 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 것을 포함한다. 방법은 제1 이미지 내의 객체의 객체 지점을 검출함으로써 제1 이미지 내의 객체를 검출하는 것을 포함한다. 방법은 제1 이미지 내의 객체의 객체 지점의 검출에 기반하여 제2 이미지 내의 객체의 객체 지점을 검출하는 것을 포함한다. 제1 이미지의 객체 지점에 대응하는 제2 이미지 내의 객체 지점의 검출은 제1 이미지의 객체 지점에 대응하는 제2 이미지 내의 에피폴라선 상에서 객체 지점을 찾는 것을 포함한다. 방법은 제1 이미지 내의 객체 지점 및 제2 이미지 내의 객체 지점 간의 디스패리티 값을 결정하는 것을 포함한다.

Description

객체 검출 및 세그먼트화를 위한 방법, 장치 및 컴퓨터 프로그램 제품{METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR OBJECT DETECTION AND SEGMENTATION}
다양한 구현은 일반적으로 이미지에서의 객체(object) 검출 및 세그먼트화(segmentation)를 위한 방법, 장치 및 컴퓨터 프로그램 제품에 관련된다.
장면(scene)의 둘 이상의 이미지를 포착하기(capturing) 위해 카메라, 모바일 전화 및 다른 디바이스와 같은 다양한 전자 디바이스가 오늘날 사용된다. 이미지, 예컨대 입체(stereoscopic) 이미지의 그러한 포착은 객체의 검출 및 후처리(post processing) 애플리케이션을 위해 사용될 수 있다. 몇몇 후처리 애플리케이션은 포착된 이미지에서의 객체의 디스패리티(disparity)/깊이(depth) 추정 및 객체의 세그먼트화를 포함한다. 비록, 전자 디바이스는 입체 이미지 내의 객체를 검출하는 애플리케이션을 지원하는 것이 가능하지만, 그러한 객체 검출 및 후처리 애플리케이션, 예를 들어 디스패리티 추정과 객체 세그먼트화는 집중적인 계산을 수반한다.
예시적 실시예의 다양한 양상이 청구항에 진술된다.
제1 양상에서, 하나 이상의 객체(object)를 포함하는 장면(scene)의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 단계와, 제1 이미지 내의 하나 이상의 객체를 검출하는 단계(하나 이상의 객체를 검출하는 단계는 1 이미지 내의 하나 이상의 객체의 객체 지점(object point)을 검출하는 단계를 포함함)와, 제1 이미지 내의 하나 이상의 객체의 객체 지점들의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점들을 검출하는 단계(제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 객체 지점을 검출하는 것은 제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 에피폴라선(epipolar line) 상의 제2 이미지 내의 객체 지점을 찾는 것(searching for)을 포함함)와, 제1 이미지 내의 하나 이상의 객체의 객체 지점들 및 제2 이미지 내의 하나 이상의 객체의 객체 지점들 간의 디스패리티(disparity) 값들을 결정하는 단계(제1 이미지 내의 객체 지점 및 제2 이미지 내의 객체 지점 간의 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션(detected position) 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨)를 포함하는 방법이 제공된다.
제2 양상에서, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치가 제공되는데, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는 적어도 하나의 프로세서로써 장치로 하여금 적어도, 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 것과, 제1 이미지 내의 하나 이상의 객체를 검출하는 것(하나 이상의 객체를 검출하는 것은 제1 이미지 내의 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함)과, 제1 이미지 내의 하나 이상의 객체의 객체 지점들의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점들을 검출하는 것(제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 객체 지점을 검출하는 것은 제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 에피폴라선 상의 제2 이미지 내의 객체 지점을 찾는 것을 포함함)과, 제1 이미지 내의 하나 이상의 객체의 객체 지점들 및 제2 이미지 내의 하나 이상의 객체의 객체 지점들 간의 디스패리티 값들을 결정하는 것(제1 이미지 내의 객체 지점 및 제2 이미지 내의 객체 지점 간의 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨)을 수행하게 하도록 구성된다.
제3 양상에서, 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품이 제공되는데, 컴퓨터 판독가능 저장 매체는 하나 이상의 프로세서에 의해 실행되는 경우 장치로 하여금 적어도, 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 것과, 제1 이미지 내의 하나 이상의 객체를 검출하는 것(하나 이상의 객체를 검출하는 것은 제1 이미지 내의 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함)과, 제1 이미지 내의 하나 이상의 객체의 객체 지점들의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점들을 검출하는 것(제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 객체 지점을 검출하는 것은 제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 에피폴라선 상의 제2 이미지 내의 객체 지점을 찾는 것을 포함함)과, 제1 이미지 내의 하나 이상의 객체의 객체 지점들 및 제2 이미지 내의 하나 이상의 객체의 객체 지점들 간의 디스패리티 값들을 결정하는 것(제1 이미지 내의 객체 지점 및 제2 이미지 내의 체 지점 간의 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨)을 수행하게 하는 명령어의 세트를 포함한다.
제4 양상에서, 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 수단과, 제1 이미지 내의 하나 이상의 객체를 검출하는 수단(하나 이상의 객체를 검출하는 것은 제1 이미지 내의 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함)과, 제1 이미지 내의 하나 이상의 객체의 객체 지점들의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점들을 검출하는 수단(제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 객체 지점을 검출하는 것은 제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 에피폴라선 상의 제2 이미지 내의 객체 지점을 찾는 것을 포함함)과, 제1 이미지 내의 하나 이상의 객체의 객체 지점들 및 제2 이미지 내의 하나 이상의 객체의 객체 지점들 간의 디스패리티 값들을 결정하는 수단(제1 이미지 내의 객체 지점 및 제2 이미지 내의 객체 지점 간의 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨)을 포함하는 장치가 제공된다.
제5 양상에서, 장치에 의해 실행되는 경우 장치로 하여금, 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하고, 제1 이미지 내의 하나 이상의 객체를 검출(하나 이상의 객체를 검출하는 것은 제1 이미지 내의 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함)하며, 제1 이미지 내의 하나 이상의 객체의 객체 지점들의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점들을 검출(제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 객체 지점을 검출하는 것은 제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 에피폴라선 상의 제2 이미지 내의 객체 지점을 찾는 것을 포함함)하고, 제1 이미지 내의 하나 이상의 객체의 객체 지점들 및 제2 이미지 내의 하나 이상의 객체 지점의 체 지점들 간의 디스패리티 값들을 결정(제1 이미지 내의 객체 지점 및 제2 이미지 내의 객체 지점 간의 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨)하게 하는 프로그램 명령어를 포함하는 컴퓨터 프로그램이 제공된다.
다양한 실시예가 첨부된 도면의 그림 내에, 한정으로서가 아니라, 예로서 보여지는데,
도 1은 예시적 실시예에 따라 디바이스를 보여주고,
도 2는 예시적 실시예에 따라 장치의 예시적 블록도를 보여주며,
도 3은 예시적 실시예에 따라 이미지의 쌍(pair) 내의 객체의 검출의 예시적 표현을 보여주고,
도 4는 예시적 실시예에 따라 이미지의 쌍 중의 이미지로부터의 객체의 세그먼트화의 예시적 표현을 보여주며,
도 5는 예시적 실시예에 따라 예시적 방법을 묘사하는 흐름도이고,
도 6은 다른 예시적 실시예에 따라 객체 검출 및 세그먼트화를 위한 예시적 방법을 묘사하는 흐름도이다.
도면의 도 1 내지 도 6을 참조함으로써 예시적 실시예 및 그 잠재적 효과가 이해된다.
도 1은 예시적 실시예에 따라 디바이스(100)를 보여준다. 그러나, 예시되고 이하에 기술된 바와 같은 디바이스(100)는 다양한 실시예로부터 이득을 얻을 수 있는 하나의 유형의 디바이스를 예시할 뿐임이 이해되어야 하고, 따라서 실시예의 범주를 한정하도록 취해져서는 안 된다. 이와 같이, 디바이스(100)와 관련하여 후술된 컴포넌트 중 적어도 몇몇은 선택적일 수 있고 따라서 예시적 실시예는 도 1의 예시적 실시예와 관련하여 기술된 것보다 더 많거나, 더 적거나, 상이한 컴포넌트를 포함할 수 있음이 인식되어야 한다. 디바이스(100)는 다수의 유형의 전자 디바이스, 예컨대, 휴대가능 디지털 보조기기(Portable Digital Assistant: PDA), 페이저(pager), 모바일 텔레비전(mobile television), 게이밍 디바이스(gaming device), 셀룰러 전화(cellular phone), 모든 유형의 컴퓨터(예컨대, 랩톱(laptop), 모바일 컴퓨터(mobile computer) 또는 데스크톱(desktop)), 카메라(camera), 오디오/비디오 플레이어(audio/video player), 무선기기(radio), 글로벌 포지셔닝 시스템(Global Positioning System: GPS) 디바이스, 미디어 플레이어(media player), 모바일 디지털 보조기기(mobile digital assistant), 또는 전술된 것의 임의의 조합, 그리고 다른 유형의 통신 디바이스 중 임의의 것일 수 있다.
디바이스(100)는 송신기(104) 및 수신기(106)와 동작가능한 통신 중인 안테나(102)(또는 다수의 안테나)를 포함할 수 있다. 디바이스(100)는 각각 송신기(104) 및 수신기(106)에 신호를 제공하고 이로부터 신호를 수신하는 제어기(108) 또는 다른 처리 디바이스와 같은 장치를 더 포함할 수 있다. 신호는 적용가능한 셀룰러 시스템의 무선 인터페이스(air interface) 표준에 따른 시그널링 정보(signaling information)를 포함할 수 있고/있거나, 사용자 발화(speech)에 대응하는 데이터, 수신된 데이터 및/또는 사용자 생성 데이터(user generated data)를 또한 포함할 수 있다. 이와 관련하여, 디바이스(100)는 하나 이상의 에어 인터페이스 표준, 통신 프로토콜, 변조 유형 및 액세스 유형으로써 동작하는 것이 가능할 수 있다. 예시로서, 디바이스(100)는 다수의 제1, 제2, 제3 및/또는 제4 세대 통신 프로토콜 또는 유사한 것 중 임의의 것에 따라 동작하는 것이 가능할 수 있다. 예컨대, 디바이스(100)는 제2 세대(2G) 무선 통신 프로토콜 IS-136(시분할 다중 액세스(Time Division Multiple Access: TDMA)), GSM(Global System for Mobile communication) 및 IS-95(코드분할 다중 액세스(Code Division Multiple Access: CDMA))에 따라, 또는 제3 세대(3G) 무선 통신 프로토콜, 예를 들어 범용 모바일 전기통신 시스템(Universal Mobile Telecommunications System: UMTS), CDMA1000, 광대역 CDMA(Wideband CDMA: WCDMA) 및 시분할 동기 CDMA(Time Division-Synchronous CDMA: TD-SCDMA)에 따라, 진화된 범용 지상 무선 액세스 네트워크(Evolved-Universal Terrestrial Radio Access Network: E-UTRAN)와 같은 3.9G 무선 통신 프로토콜에 따라, 제4 세대(4G) 무선 통신 프로토콜, 또는 유사한 것에 따라 동작하는 것이 가능할 수 있다. 대안으로서(또는 추가적으로), 디바이스(100)는 비-셀룰러(non-cellular) 통신 메커니즘에 따라 동작하는 것이 가능할 수 있다. 예컨대, 인터넷, 로컬 영역 네트워크(local area network), 광역 네트워크(wide area network) 및 유사한 것과 같은 컴퓨터 네트워크, 블루투스(Bluetooth®) 네트워크, 지그비(Zigbee®) 네트워크, 전기전자기술자협회(Institute of Electric and Electronic Engineers: IEEE) 802.11x 네트워크 및 유사한 것과 같은 단거리 무선 통신 네트워크, 공중 교환 전화 네트워크(Public Switched Telephone Network: PSTN)와 같은 유선 전기통신 네트워크이다.
제어기(108)는 다른 무엇보다도 디바이스(100)의 오디오 및 로직 기능을 구현하는 회로망(circuitry)을 포함할 수 있다. 예컨대, 제어기(108)는 하나 이상의 디지털 신호 프로세서 디바이스, 하나 이상의 마이크로프로세서 디바이스, 동반되는 디지털 신호 프로세서(들)가 있는 하나 이상의 프로세서(들), 동반되는 디지털 신호 프로세서(들)가 없는 하나 이상의 프로세서(들), 하나 이상의 특수 목적 컴퓨터 칩, 하나 이상의 필드 프로그램가능 게이트 어레이(Field-Programmable Gate Array: FPGA), 하나 이상의 제어기, 하나 이상의 애플리케이션 특정 집적 회로(Application-Specific Integrated Circuit: ASIC), 하나 이상의 컴퓨터(들), 다양한 아날로그 대 디지털 컨버터(analog to digital converter), 디지털 대 아날로그 컨버터(digital to analog converter) 및/또는 다른 지원 회로를 포함할 수 있으나, 이에 한정되지 않는다. 디바이스(100)의 제어 및 신호 처리 기능들은 그것들의 각각의 능력에 따라 이들 디바이스 간에 배분된다. 그러므로 제어기(108)는 변조 및 송신 전에 메시지와 데이터를 콘볼루션 식으로(convolutionally) 인코딩하고(encode) 인터리빙하는(interleave) 기능성을 또한 포함할 수 있다. 제어기(108)는 내부의 음성 코더(voice coder)를 추가적으로 포함할 수 있고, 내부의 데이터 모뎀(data modem)을 포함할 수 있다. 또한, 제어기(108)는 메모리 내에 저장될 수 있는 하나 이상의 소프트웨어 프로그램을 동작시키는 기능성을 포함할 수 있다. 예컨대, 제어기(108)는 종래의 웹 브라우저와 같은 연결성 프로그램(connectivity program)을 동작시키는 것이 가능할 수 있다. 연결성 프로그램은 이후 디바이스(100)로 하여금 무선 애플리케이션 프로토콜(Wireless Application Protocol: WAP), 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol: HTTP) 및/또는 유사한 것에 따라 위치 기반 콘텐트(location-based content) 및/또는 다른 웹 페이지 콘텐트와 같은 웹 콘텐트를 송신하고 수신할 수 있게 할 수 있다. 예시적 실시예에서, 제어기(108)는 이중(dual) 또는 사중(quad) 코어 프로세서와 같은 다중 코어 프로세서(multi-core processor)로서 실체화될(embodied) 수 있다. 그러나, 임의의 개수의 프로세서가 제어기(108)에 포함될 수 있다.
디바이스(100)는 제어기(108)에 커플링될(coupled) 수 있는 사용자 입력 인터페이스와, 신호기(ringer)(110), 이어폰 또는 스피커(112), 마이크(microphone)(114), 디스플레이(116)와 같은 출력 디바이스를 포함하는 사용자 인터페이스를 또한 포함할 수 있다. 디바이스(100)로 하여금 데이터를 수신할 수 있게 하는 사용자 입력 인터페이스는 키패드(118), 터치 디스플레이, 마이크 또는 다른 입력 디바이스와 같이, 디바이스(100)로 하여금 데이터를 수신할 수 있게 하는 다수의 디바이스 중 임의의 것을 포함할 수 있다. 키패드(118)를 포함하는 실시예들에서, 키패드(118)는 숫자(0-9) 및 관련된 키(#, *), 그리고 디바이스(100)를 동작시키기 위해 사용되는 다른 하드(hard) 및 소프트(soft) 키들을 포함할 수 있다. 대안적으로 또는 추가적으로, 키패드(118)는 종래의 쿼티(QWERTY) 키패드 배열을 포함할 수 있다. 키패드(118)는 연관된 기능이 있는 다양한 소프트 키를 또한 포함할 수 있다. 추가로, 또는 대안적으로, 디바이스(100)는 조이스틱 또는 다른 사용자 입력 인터페이스와 같은 인터페이스 디바이스를 포함할 수 있다. 디바이스(100)는 기계적 진동을 검출가능한 출력으로서 옵션으로 제공하는 것뿐만 아니라, 디바이스(100)를 동작시키는 데 사용되는 다양한 회로에 전력공급을 하는 것(powering)을 위한 배터리(120), 예를 들어 진동 배터리 팩(vibrating battery pack)을 더 포함한다.
예시적 실시예에서, 디바이스(100)는 제어기(108)와 통신하는 미디어 포착 요소(media-capturing element), 예를 들어 카메라, 비디오 및/또는 오디오 모듈을 포함한다. 미디어 포착 요소는 저장, 디스플레이 또는 송신을 위한 이미지, 비디오 및/또는 오디오를 포착하는 임의의 수단일 수 있다. 미디어 포착 요소가 카메라 모듈(122)인 예시적 실시예에서, 카메라 모듈(122)은 포착된 이미지로부터 디지털 이미지 파일을 형성하는 것이 가능한 디지털 카메라(또는 다수의 카메라의 어레이(array))를 포함할 수 있다. 따라서, 카메라 모듈(122)은 포착된 이미지로부터 디지털 이미지 파일을 생성하기 위한 모든 하드웨어(예를 들어 렌즈 또는 다른 광학 컴포넌트(들)) 및 소프트웨어를 포함한다. 대안적으로, 카메라 모듈(122)은 이미지를 보는 데에 필요한 하드웨어를 포함할 수 있는 반면, 디바이스(100)의 메모리 디바이스는 포착된 이미지로부터 디지털 이미지 파일을 생성하기 위한 소프트웨어의 형태로 제어기(108)에 의한 실행을 위한 명령어를 저장한다. 예시적 실시예에서, 카메라 모듈(122)은 이미지 데이터를 압축하고/하거나 압축해제하기 위한 인코더 및/또는 인코더, 그리고 이미지 데이터를 처리하는 데에서 제어기(108)를 돕는, 코프로세서(co-processor)와 같은 처리 요소(processing element)를 더 포함할 수 있다. 인코더 및/또는 디코더는 JPEG 표준 포맷 또는 다른 비슷한 포맷에 따라 인코딩 및/또는 디코딩할 수 있다. 비디오에 대하여, 인코더 및/또는 디코더는 예컨대 H.261, H.262/MPEG-2, H.263, H.264, H.264/MPEG-4, MPEG-4 및 유사한 것과 연관된 표준과 같은 복수의 표준 포맷 중 임의의 것을 이용할 수 있다. 몇몇 경우에, 카메라 모듈(122)은 디스플레이(116)에 라이브(live) 이미지 데이터를 제공할 수 있다. 더욱이, 예시적 실시예에서, 디스플레이(116)는 디바이스(100)의 일측 상에 위치될 수 있고 카메라 모듈(122)은 카메라 모듈(122)로 하여금 디바이스(100)의 일측 상에서 이미지를 포착하고 디바이스(100)의 타측 상에 자리잡은 사용자에게 그러한 이미지의 뷰(view)를 제시할 수 있게 하도록 디스플레이(116)에 대해서 디바이스(100)의 반대 측 상에 배치된 렌즈를 포함할 수 있다. 사실상, 카메라 모듈(들)은 또한 임의의 측 상에 있을 수 있으나, 보통 디스플레이(116)의 반대 측 상에 또는 디스플레이(116)와 동일한 측 상에(예컨대, 화상 통화(video call) 카메라) 있을 수 있다.
디바이스(100)는 사용자 식별 모듈(User Identity Module: UIM)(124)을 더 포함할 수 있다. UIM(124)은 프로세서가 내장된 메모리 디바이스일 수 있다. UIM(124)은 예컨대 가입자 식별 모듈(Subscriber Identity Module: SIM), 범용 집적 회로 카드(Universal Integrated Circuit Card: UICC), 범용 가입자 식별 모듈(Universal Subscriber Identity Module: USIM), 탈착가능 사용자 식별 모듈(Removable User Identity Module: R-UIM), 또는 임의의 다른 스마트 카드를 포함할 수 있다. UIM(124)은 통상적으로 모바일 가입자(mobile subscriber)와 관련된 정보 요소를 저장한다. UIM(124)에 더하여, 디바이스(100)에는 메모리가 장착될 수 있다. 예컨대, 디바이스(100)는 휘발성 메모리(volatile memory)(126), 예를 들어 데이터의 일시적 저장을 위한 캐시 영역(cache area)을 포함하는 휘발성 랜덤 액세스 메모리(Random Access Memory: RAM)를 포함할 수 있다. 디바이스(100)는 임베딩될(embedded) 수 있고/있거나 탈착가능할(removable) 수 있는 다른 비휘발성 메모리(non-volatile memory)(128)를 또한 포함할 수 있다. 비휘발성 메모리(128)는 추가적으로 또는 대안적으로 전기적 소거가능 프로그램가능 판독 전용 메모리(Electrically Erasable Programmable Read Only Memory: EEPROM), 플래시 메모리(flash memory), 하드 드라이브(hard drive), 또는 유사한 것을 포함할 수 있다. 메모리는 디바이스(100)의 기능을 구현하기 위해 디바이스(100)에 의해 사용되는 임의의 개수의 정보 및 데이터를 저장할 수 있다.
도 2는 예시적 실시예에 따라, 장면의 이미지 내의 객체를 검출하고 세그먼트화하기 위한 장치(200)를 보여준다. 장치(200)는 예컨대 도 1의 디바이스(100) 내에서 이용될 수 있다. 그러나, 장치(200)는 또한 이동형(mobile) 및 고정형(fixed) 양자 모두인 다양한 다른 디바이스 상에서 이용될 수 있고, 따라서 실시예는 도 1의 디바이스(100)와 같은 디바이스 상에서의 적용에 한정되어서는 안 된다는 점에 유의하여야 한다. 대안적으로, 실시예는 예컨대 앞서 열거된 것들을 포함하는 디바이스들의 조합 상에서 이용될 수 있다. 따라서, 다양한 실시예가 전적으로 단일 디바이스(예컨대, 디바이스(100)에서 또는 디바이스들의 조합에서 실체화될 수 있다. 나아가, 후술되는 디바이스 또는 구성요소는 의무적인 것이 아닐 수 있고 따라서 몇몇은 어떤 실시예에서 생략될 수 있음에 유의하여야 한다.
장치(200)는 적어도 하나의 프로세서(202) 및 적어도 하나의 메모리(204)를 포함하거나 그렇지 않으면 이와 통신하는 것이다. 적어도 하나의 메모리(204)의 예는 휘발성 및/또는 비휘발성 메모리들을 포함하나, 이에 한정되지 않는다. 휘발성 메모리의 몇몇 예는 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리(dynamic random access memory), 정적 랜덤 액세스 메모리(static random access memory) 및 유사한 것을 포함하나, 이에 한정되지 않는다. 비휘발성 메모리의 몇몇 예는 하드 디스크(hard disk), 자기 테이프(magnetic tape), 광학 디스크(optical disk), 프로그램가능 판독 전용 메모리(programmable read only memory), 소거가능 프로그램가능 판독 전용 메모리(erasable programmable read only memory), 전기적 소거가능 프로그램가능 판독 전용 메모리, 플래시 메모리 및 유사한 것을 포함하나, 이에 한정되지 않는다. 메모리(204)는 장치(200)로 하여금 다양한 예시적 실시예에 따라 다양한 기능을 수행할 수 있게 하기 위한 정보, 데이터, 애플리케이션, 명령어 또는 유사한 것을 저장하도록 구성될 수 있다. 예컨대, 메모리(204)는 프로세서(202)에 의한 처리를 위한 미디어 콘텐트(media content)를 포함하는 입력 데이터를 버퍼링하도록(buffer) 구성될 수 있다. 추가적으로 또는 대안적으로, 메모리(204)는 프로세서(202)에 의한 실행을 위한 명령어를 저장하도록 구성될 수 있다.
프로세서(202)의 일례는 제어기(108)를 포함할 수 있다. 프로세서(202)는 다수의 상이한 방식으로 실체화될 수 있다. 프로세서(202)는 다중 코어 프로세서, 단일 코어 프로세서(single core processor), 또는 다중 코어 프로세서와 단일 코어 프로세서의 조합으로서 실체화될 수 있다. 예컨대, 프로세서(202)는 코프로세서, 마이크로프로세서, 제어기, 디지털 신호 프로세서(Digital Signal Processor: DSP), 동반되는 DSP가 있거나 없는 처리 회로망, 또는 예컨대 주문형 집적 회로(Application Specific Integrated Circuit: ASIC), 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA), 마이크로제어기 유닛(MicroController Unit: MCU), 하드웨어 가속기(hardware accelerator), 특수 목적 컴퓨터 칩(special-purpose computer chip), 또는 유사한 것과 같은 집적 회로를 포함하는 다양한 다른 처리 디바이스와 같은 다양한 처리 수단 중 하나 이상으로서 실체화될 수 있다. 예시적 실시예에서, 다중 코어 프로세서는 메모리(204) 내에 저장되거나 그렇지 않으면 프로세서가 액세스할 수 있는 명령어를 실행하도록 구성될 수 있다. 대안적으로 또는 추가적으로, 프로세서(202)는 하드 코딩된(hard coded) 기능성을 실행하도록 구성될 수 있다. 따라서, 하드웨어 방법에 의해 또는 소프트웨어 방법에 의해, 또는 이의 조합에 의해 구성되든, 프로세서(202)는, 다양한 실시예에 따라 동작을 수행하는 것이 가능하면서 상응하여 구성된 개체(entity)(예컨대, 회로망 내에 물리적으로 실체화됨)를 나타낼 수 있다. 예컨대, 만약 프로세서(202)가 ASIC, FPGA 또는 유사한 것 중 둘 이상으로서 실체화되는 경우, 프로세서(202)는 본 문서에 기술된 동작을 수행하기 위한 특별히 구성된 하드웨어일 수 있다. 대안적으로, 다른 예로서, 만약 프로세서(202)가 소프트웨어 명령어의 실행기(executor)로서 실체화되는 경우, 명령어는 명령어가 실행되는 경우 본 문서에 기술된 알고리즘 및/또는 동작을 수행하도록 프로세서(202)를 특별히 구성할 수 있다. 그러나, 몇몇 경우에, 프로세서(202)는 특정 디바이스(예컨대 본 문서에 기술된 알고리즘 및/또는 동작을 수행하기 위한 명령어에 의한 프로세서(202)의 추가 구성에 의해 실시예를 이용하는 것을 위해 적응된 모바일 단말 또는 네트워크 디바이스)의 프로세서일 수 있다. 프로세서(202)는 다른 무엇보다도 클록(clock), 산술 로직 유닛(Arithmetic Logic Unit: ALU) 및 로직 게이트(프로세서(202)의 동작을 지원하도록 구성됨)를 포함할 수 있다.
사용자 인터페이스(206)는 프로세서(202)와 통신하는 것일 수 있다. 사용자 인터페이스(206)의 예는 입력 인터페이스 및/또는 출력 사용자 인터페이스를 포함하나, 이에 한정되지 않는다. 입력 인터페이스는 사용자 입력의 표시(indication)를 수신하도록 구성된다. 출력 사용자 인터페이스는 가청(audible), 시각적, 기계적 또는 다른 출력 및/또는 피드백(feedback)을 사용자에게 제공한다. 입력 인터페이스의 예는 키보드, 마우스, 조이스틱, 키패드, 터치 스크린, 소프트 키 및 유사한 것을 포함할 수 있으나, 이에 한정되지 않는다. 출력 인터페이스의 예는 발광 다이오드 디스플레이(light emitting diode display), 박막 트랜지스터(Thin-Film Transistor: TFT) 디스플레이, 액정 디스플레이, 능동 매트릭스 유기 발광 다이오드(Active-Matrix Organic Light-Emitting Diode: AMOLED) 디스플레이와 같은 디스플레이, 마이크, 스피커, 신호기, 진동기 및 유사한 것을 포함할 수 있으나, 이에 한정되지 않는다. 예시적 실시예에서, 사용자 인터페이스(206)는 다른 디바이스 또는 구성요소보다도 스피커, 마이크, 디스플레이, 그리고 키보드, 터치 스크린, 또는 유사한 것 중 임의의 것 또는 전부를 포함할 수 있다. 이와 관련하여, 예컨대, 프로세서(202)는 예컨대 스피커, 신호기, 마이크, 디스플레이 및/또는 유사한 것과 같은 사용자 인터페이스(206)의 하나 이상의 구성요소의 적어도 몇몇 기능을 제어하도록 구성된 사용자 인터페이스 회로망을 포함할 수 있다. 프로세서(202) 및/또는 프로세서(202)를 포함하는 사용자 인터페이스 회로망은 프로세서(202)가 액세스할 수 있는 메모리, 예컨대 적어도 하나의 메모리(204) 및/또는 유사한 것 상에 저장된 컴퓨터 프로그램 명령어, 예컨대 소프트웨어 및/또는 펌웨어를 통해 사용자 인터페이스(206)의 하나 이상의 구성요소의 하나 이상의 기능을 제어하도록 구성될 수 있다.
예시적 실시예에서, 장치(200)는 전자 디바이스를 포함할 수 있다. 전자 디바이스의 몇몇 예는 통신 디바이스, 통신 기능이 있는 미디어 포착 디바이스, 컴퓨팅 디바이스 및 유사한 것을 포함한다. 전자 디바이스의 몇몇 예는 모바일 전화, 개인용 디지털 보조기기(Personal Digital Assistant: PDA) 및 유사한 것을 포함할 수 있다. 컴퓨팅 디바이스의 몇몇 예는 랩톱, 개인용 컴퓨터(personal computer) 및 유사한 것을 포함할 수 있다. 전자 디바이스의 몇몇 예는 카메라를 포함할 수 있다. 예시적 실시예에서, 전자 디바이스는 사용자로 하여금 디스플레이의 사용을 통해 전자 디바이스의 적어도 하나의 기능을 제어할 수 있게 하도록 구성되고 사용자 입력에 응답하도록 또한 구성된 사용자 인터페이스 회로망 및 사용자 인터페이스 소프트웨어를 갖는 사용자 인터페이스, 예컨대 UI(206)를 포함할 수 있다. 예시적 실시예에서, 전자 디바이스는 전자 디바이스의 사용자 인터페이스의 적어도 일부분을 디스플레이하도록 구성된 디스플레이 회로망을 포함할 수 있다. 디스플레이 및 디스플레이 회로망은 사용자로 하여금 전자 디바이스의 적어도 하나의 기능을 제어할 수 있게 하도록 구성될 수 있다.
예시적 실시예에서, 전자 디바이스는 송수신기(transceiver)를 포함하는 것으로서 실체화될 수 있다. 송수신기는 소프트웨어에 따라 동작하거나 그렇지 않으면 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 실체화된 임의의 디바이스 또는 회로망일 수 있다. 예컨대, 소프트웨어 제어 하에 동작하는 프로세서(202), 또는 본 문서에 기술된 동작을 수행하도록 특별히 구성된 ASIC 또는 FPGA로서 실체화된 프로세서(202), 또는 이의 조합은, 이로써 송수신기의 기능을 수행하도록 장치 또는 회로망을 구성한다. 송수신기는 미디어 콘텐트를 수신하도록 구성될 수 있다. 미디어 콘텐트의 예는 오디오 콘텐트, 비디오 콘텐트, 데이터, 그리고 이의 조합을 포함할 수 있다.
예시적 실시예에서, 전자 디바이스는 적어도 하나의 이미지 센서, 예를 들어 이미지 센서(208) 및 이미지 센서(210)를 포함하는 것으로서 실체화될 수 있다. 단지 두 이미지 센서(208 및 210)가 도 2의 예시적 표현 내에 도시되었지만, 전자 디바이스는 두 개보다 많은 이미지 센서 또는 단지 하나의 이미지 센서를 포함할 수 있다. 이미지 센서(208 및 210)는 장치(200)의 프로세서(202) 및/또는 다른 컴포넌트와 통신하는 것일 수 있다. 이미지 센서(208 및 210)는 다른 촬상(imaging) 회로망 및/또는 소프트웨어와 통신하는 것일 수 있고, 디지털 이미지를 포착하거나 비디오 또는 다른 그래픽 미디어를 포착하도록 구성된다. 이미지 센서(208 및 210) 및 다른 회로망은, 조합하여, 디바이스(100)의 카메라 모듈(122)과 같은 적어도 하나의 카메라 모듈의 예일 수 있다. 이미지 센서(208 및 210)는, 다른 컴포넌트와 더불어, 상이한 포지션(또는 상이한 각도)으로부터 장면을 묘사하는 복수의 이미지를 포착하도록 또한 구성될 수 있다. 예시적 실시예에서, 이미지 센서(208 및 210)에는 장면의 두 개의 뷰, 예를 들어 입체 뷰를 포착하기 위해 대응하는 렌즈들이 동반할 수 있다. 대체적 실시예에서, 포지션 (x)로부터 장면의 제1 이미지를 포착하고, 이후 어떤 거리(가령, 10 미터)를 거쳐 다른 포지션 (y)으로 움직여 장면의 제2 이미지를 포착하는 데에 사용되는 이미지 센서를 갖는 단일 카메라 모듈이 있을 수 있다.
이 컴포넌트들(202 내지 210)은 장면의 다수의 이미지 내의 객체의 검출 및 세그먼트화를 수행하기 위해 중앙화된(centralized) 회로 시스템(212)을 통해 서로에 통신할 수 있다. 중앙화된 회로 시스템(212)은, 다른 무엇보다도, 장치(200)의 컴포넌트들(202 내지 210) 간의 통신을 제공하거나 가능하게 하도록 구성된 다양한 디바이스일 수 있다. 어떤 실시예에서, 중앙화된 회로 시스템(212)은 마더보드(motherboard), 메인 보드(main board), 시스템 보드(system board), 또는 로직 보드(logic board)와 같은 중앙의 인쇄 회로 보드(Printed Circuit Board: PCB)일 수 있다. 중앙화된 회로 시스템(212)은 또한, 또는 대안적으로, 다른 인쇄 회로 어셈블리(Printed Circuit Assembly: PCA) 또는 통신 채널 매체를 포함할 수 있다.
예시적 실시예에서, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 장치(200)로 하여금 제1 이미지 및 제2 이미지의 수신을 가능하게 하게 하도록 구성된다. 일 실시예에서, 제1 이미지 및 제2 이미지는 하나 이상의 객체를 포함하는 장면의 약간 상이한 뷰들을 포함한다. 예시적 실시예에서, 장면의 제1 이미지 및 제2 이미지는 제1 이미지 및 제2 이미지 간에 장면의 적어도 하나의 객체에서 디스패리티가 있도록 포착된다. 예시적 실시예에서, 제1 이미지 및 제2 이미지는 이미지의 입체 쌍(stereoscopic pair)이다. 예컨대, 제1 이미지가 동일한 장면을 나타내는 제2 이미지와의 약간의 시차(parallax)를 포함하도록 스테레오 카메라(stereo camera)가 제1 이미지 및 제2 이미지를 포착한다. 몇몇 다른 예시적 실시예에서, 제1 이미지 및 제2 이미지는 또한 장면의 다수의 뷰를 포착하는 것이 가능한 카메라, 예컨대 다중 베이스라인 카메라(multi-baseline camera), 어레이 카메라(array camera), 플렌옵틱 카메라(plenoptic camera) 및 광계 카메라(light field camera)로부터 수신될 수 있다. 몇몇 예시적 실시예에서, 제1 이미지 및 제2 이미지는 장치(200) 내에 사전기록되거나(prerecorded) 저장될 수 있거나, 장치(200)의 외부의 소스(source)로부터 수신될 수 있다. 그러한 예시적 실시예에서, 장치(200)는 DVD, 콤팩트 디스크(Compact Disk: CD), 플래시 드라이브, 메모리 카드와 같은 외부 저장 매체로부터, 또는 인터넷, 블루투스(Bluetooth®) 및 유사한 것을 통해 외부 저장 위치로부터 제1 이미지 및 제2 이미지를 수신하도록 된다. 예시적 실시예에서, 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하도록 처리 수단이 구성될 수 있는데, 제1 이미지 및 제2 이미지 간에 장면의 적어도 하나의 객체에서 디스패리티가 있다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202), 그리고/또는 이미지 센서(208 및 210)를 포함할 수 있다.
예시적 실시예에서, 장치(200)에 의해 수신된 제1 이미지 및 제2 이미지는 서로에 대해서 이미지의 교정된(rectified) 입체 쌍일 수 있다. 장치(200)에 의해 수신되거나 액세스되는 제1 이미지 및 제2 이미지가 교정된 이미지가 아닌 실시예에서, 이들 이미지는 추가 처리를 위해 교정된다. 그러한 예시적 실시예에서, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 제1 이미지 내의 행(row)(예컨대, 수평선)이 제2 이미지 내의 행(예컨대, 수평선)에 대응하도록 장치(200)로 하여금 제2 이미지에 대해서 제1 이미지를 교정하게 하도록 구성된다. 예를 들면, 만약 제1 이미지 및 제2 이미지가 약간 상이한 뷰들이 있는 장면의 이미지 포착들인 경우, 제1 이미지 내의 지점(point)을 거쳐 가는 수평선이 제2 이미지 내의 그 지점과 연관된 에피폴라선(epipolar line)에 대응하도록, 제1 이미지 및 제2 이미지는 제2 이미지에 대해 제1 이미지의 배향(orientation)을 변경함으로써 교정된다. 일례에서, 입체 이미지 내의 에피폴라(epipolar) 제한으로 인해, 하나의 이미지 내의(예컨대, 제1 이미지 내의) 객체의 매 픽셀 지점('객체 지점'(object point)으로 지칭되기도 함)은 다른 이미지(예컨대, 제2 이미지) 내의 대응하는 에피폴라선을 가진다. 예컨대, 에피폴라 제한으로 인해, 제1 이미지의 픽셀 지점에 대하여, 대응하는 픽셀 지점이 제2 이미지 내의 에피폴라선에 존재할 수 있는데, 그 에피폴라선은 제1 이미지의 픽셀 지점에 대한 대응하는 에피폴라선이다. 예시적 실시예에서, 제1 이미지 내의 수평선이 제2 이미지 내의 수평선에 대응하도록 제2 이미지에 대해 제1 이미지를 교정하도록 처리 수단이 구성될 수 있다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202)를 포함할 수 있다.
예시적 실시예에서, 장치(200)는 제1 이미지 내의 하나 이상의 객체를 검출하도록 된다. 예를 들면, 제1 이미지는 나비와 같은 객체를 포함할 수 있고, 나비의 객체 지점이 장치(200)에 의해 검출된다. 일례에서, 장치(200)는 당업계에 알려진 적합한 객체 검출 기법을 사용하여 나비 및 나비의 위치를 검출하도록 구성된다. 예시적 실시예에서, 제1 이미지 내의 하나 이상의 객체의 객체 지점을 검출하도록 처리 수단이 구성될 수 있다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202)를 포함할 수 있다. 예시적 실시예에서, 임의의 객체의 객체 지점은 희소 방식(sparse manner)으로 검출된다(예컨대, 객체의 단지 몇 개밖에 안 되는 객체 지점이 검출됨).
예시적 실시예에서, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 장치(200)로 하여금 제1 이미지 내의 하나 이상의 객체의 객체 지점의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점을 검출하게 하도록 구성된다. 예를 들면, 제1 이미지 내에서 검출된 매 객체에 대하여, 대응하는 객체가 제2 이미지 내에서 검출된다. 예시적 실시예에서, 제1 이미지 내에서 검출된 객체의 지점("객체 지점"으로 지칭되기도 함)에 대응하는 제2 이미지 내의 객체의 대응하는 지점을 검출하는 것은 제2 이미지 내의 에피폴라선 상에서 제2 이미지 내의 객체 지점을 찾는 것을 포함한다. 일례에서, 제2 이미지 내의 에피폴라선은 제1 이미지의 객체 지점에 대한 대응하는 에피폴라선이다. 예를 들면, 제1 이미지 내의 매 객체 지점에 대해 제2 이미지 내에 에피폴라선이 있을 수 있고, 제1 이미지 내의 객체 지점에 대응하는 제2 이미지 내의 객체 지점을 검출하는 것은 제2 이미지 내의 (제1 이미지 내의 객체 지점에 대응하는) 대응하는 에피폴라선을 따라 객체 지점을 탐색하는 것을 포함한다. 예시적 실시예에서, 제1 이미지 내의 하나 이상의 객체의 객체 지점의 검출에 기반하여 제2 이미지 내의 하나 이상의 객체의 객체 지점을 검출하도록 처리 수단이 구성될 수 있다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202)를 포함할 수 있다.
예시적 실시예에서, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 객체 지점의 대응하는 에피폴라선을 따라 제2 이미지 내에서, 제1 이미지의 하나 이상의 객체의 객체 지점에 대한 탐색 범위를 결정하도록 구성된다. 일례에서, 탐색 범위는 제2 이미지 내의 에피폴라선을 포함하는데 에피폴라선은 제1 이미지 내에서 검출된 객체와 연관된 객체 지점에 대응한다. 예시적 실시예에서, 하나 이상의 객체 중의 제1 객체의 객체 지점에 대한 탐색 범위는 하나 이상의 객체 중의 제2 객체의 객체 지점에 대한 탐색 범위보다 더 크다. 일례에서, 가장 큰 크기를 갖는 객체(또는 제1 및 제2 이미지를 포착하는 카메라에 가장 가까운 것)는 가장 큰 탐색 영역과 연관되고, 가장 큰 크기보다 작은 크기를 갖는 객체(또는 카메라로부터 먼 것)에 대한 탐색 범위는 이에 따라 감소한다. 예시적 실시예에서, 제2 이미지 내에서 제1 이미지의 하나 이상의 객체의 객체 지점에 대한 탐색 범위를 결정하도록 처리 수단이 구성된다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202)를 포함할 수 있다.
예시적 실시예에서, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 장치(200)로 하여금 제1 이미지 내의 하나 이상의 객체의 객체 지점 및 제2 이미지 내의 하나 이상의 객체의 객체 지점 간 디스패리티 값을 결정하게 하도록 구성된다. 어떤 예에서, 객체는 제1 이미지 및 제2 이미지 간의 단일 디스패리티를 가질 수 있다. 그러나, 객체, 예컨대 얼굴 내에서, 얼굴의 코 끝은 얼굴의 귀와는 상이한 디스패리티를 가질 수 있다. 예시적 실시예에서, 제1 이미지 및 제2 이미지 간 객체 지점에 대한 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정된다. 예컨대, 제1 이미지 및 제2 이미지 내의 객체 지점의 위치의 차이가 제1 이미지 및 제2 이미지 간 객체 지점의 디스패리티일 수 있다. 예시적 실시예에서, 제1 이미지 내의 하나 이상의 객체의 객체 지점 및 제2 이미지 내의 하나 이상의 객체의 객체 지점 간의 하나 이상의 디스패리티 값을 결정하도록 처리 수단이 구성될 수 있는데, 제1 이미지 및 제2 이미지 간 객체 지점에 대한 디스패리티 값은 제1 이미지 내의 객체 지점의 검출된 포지션 및 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정된다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202)를 포함할 수 있다.
예시적 실시예에서, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 장치(200)로 하여금 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 제1 이미지 및 제2 이미지 중의 적어도 하나의 이미지 내의 하나 이상의 객체 중의 한(또는 더 많은) 객체를 세그먼트화하게 하도록 구성된다. 예를 들면, 그래프 절삭(graph cut) 방법을 포함하나 이에 한정되지 않는 기법 및 객체와 연관된 디스패리티 값에 기반하여 이미지(제1 이미지 또는 제2 이미지) 내에서 검출된 다른 객체로부터 객체가 세그먼트화될 수 있다. 예시적 실시예에서, 이미지(제1 이미지 또는 제2 이미지)로부터의 객체의 세그먼트화를 위해, 장치(200)는 객체의 객체 지점에 객체 라벨(object label)을 할당하고 이미지의 나머지 픽셀 지점에 비객체 라벨(non-object label)을 할당하도록 되고, 장치(200)는 또한 할당된 객체 라벨에 대응하는 부분을 그래프 절삭 방법과 같은 적합한 기법을 사용하여 세그먼트화하도록 된다. 예를 들면, 프로세서(202)는 메모리(204)의 콘텐트로써, 그리고 옵션으로는 본 문서에 기술된 다른 컴포넌트로써, 장치(200)로 하여금 제1 이미지 및 제2 이미지 간의 객체 비용 함수(object cost function)에 기반하여 객체와 연관된 객체 지점에 대해 객체 라벨을 할당하게 하도록 된다. 예시적 실시예에서, 객체 비용 함수는 제1 이미지 및 제2 이미지 간의 하나 이상의 이미지 파라미터의 일관성(consistency)의 정도이다. 이미지 파라미터의 예는 제1 및 제2 이미지들의 색상(color) 및 텍스처(texture)를 포함하나 이에 한정되지 않는다. 예시적 실시예에서, 디스패리티 값의 제1 범위와 연관된 객체의 객체 지점에 대해 객체 비용 함수가 계산되고, 객체 비용 함수가 최저인 디스패리티 값에 객체에 대한(객체의 객체 지점에 대한) 객체 라벨이 할당된다. 예시적 실시예에서, 장치(200)는 제1 이미지 및 제2 이미지 간의 비객체 비용 함수(non-object cost function)에 기반하여 이미지의 나머지 픽셀 지점에 대해 비객체 라벨을 할당하도록 된다. 예컨대, 객체와 연관된 객체 지점이 아닌 이미지 내의 지점은 비객체 라벨을 할당받는다. 일례에서, (예컨대, 객체 비용의 계산을 위해 사용되는 디스패리티 값의 제1 범위와 상이한) 디스패리티 값의 제2 범위에 대해, 제1 이미지 및 제2 이미지 내의 픽셀 지점들 간에 비객체 비용 함수가 계산된다. 일례에서, 비객체 비용 함수들 중에서 최소 비객체 비용 함수가 선택되고 최소 비객체 비용 함수와 연관된 디스패리티 값이 이미지의 나머지 픽셀 지점에 대한 비객체 라벨로서 할당된다. 예시적 실시예에서, 장치(200)는 객체 라벨 및 비객체 라벨에 대해 그래프 절삭 알고리즘을 적용하는 것에 기반하여 객체를 세그먼트화하도록 된다. 예시적 실시예에서, 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 제1 이미지 및 제2 이미지 중의 적어도 하나의 이미지 내의 하나 이상의 객체 중의 객체를 세그먼트화하도록 처리 수단이 구성될 수 있다. 처리 수단의 일례는 제어기(108)의 일례일 수 있는 프로세서(202)를 포함할 수 있다.
객체 검출 및 세그먼트화의 몇몇 예시적 실시예가 도 3 및 도 4를 참조하여 추가로 기술되며, 이들 도 3 및 도 4는 하나 이상의 예시적 실시예를 나타낼 뿐이고, 다양한 예시적 실시예의 범주를 한정하는 것으로 간주되어서는 안 된다.
도 3은 예시적 실시예에 따라, 이미지의 입체 쌍 내의 객체의 검출의 예시적 표현을 보여준다. 예시적 실시예에서, 장면의 제1 이미지(310) 및 제2 이미지(350)와 같은 이미지의 입체 쌍을 포착하는 데에 스테레오 카메라가 사용될 수 있다. 장면의 일례는 장면의 이미지가 미디어 포착 모듈(media capturing module), 예를 들어 카메라 모듈(122) 또는 센서(208 및 210)와 같은 센서에 의해 포착될 수 있도록 객체의 임의의 가시적 셋업(setup) 또는 배열(arrangement)을 포함할 수 있는데, 제1 이미지(310)는 이미지(310 및 350) 내에 포착된 바와 같은 장면의 객체의 포지션(position)의 측면에서 제2 이미지(350)와는 약간 상이하다. 예시적 실시예에서, 제1 이미지(310) 및 제2 이미지(350)는 제1 이미지(310)가 장면의 왼쪽 눈 이미지에 대응하고 제2 이미지(350)가 장면의 오른쪽 눈 이미지에 대응하도록 두 상이한 시각(time instant)들에서 이동 카메라(moving camera)에 의해 또한 포착될 수 있다. 예컨대, 장면을 나타내는 제1 이미지(310)가 포착되고 이후 카메라는 사전결정된 거리 및/또는 각도를 거쳐 이동되어 장면의 제2 이미지(350)를 포착한다. 다른 예에서, 이미지(310 및 350)는 장면의 다수의 뷰를 포착하는 것이 가능한 다중 베이스라인 카메라, 어레이 카메라, 광계 카메라 및 플렌옵틱 카메라와 같은 카메라에 의해 포착될 수 있다. 도 3에서, 제1 이미지(310) 및 제2 이미지(350)는 객체, 예를 들어 남자(312), 여자(314), 아이(316), 그리고 구름(311)과 나무(313)에 의해 묘사되는 배경을 포함하는 장면의 상이한 뷰를 보여준다. 입체 이미지(310 및 350)의 쌍 간에 객체(312, 314, 316) 및 배경(311, 313)에 대한 디스패리티가 있을 수 있다는 점에 유의하여야 한다.
일례에서, 제1 이미지(310) 내의 매 객체 지점(또는 픽셀 지점)은 제2 이미지(350) 내의 대응하는 에피폴라선에 위치된 대응하는 객체 지점을 가질 수 있다. 예시적 실시예에서, 제1 이미지(310) 내의 위치(x,y)에서의 픽셀 지점은 픽셀 지점에 대응하는 제2 이미지(350) 내의 에피폴라선 상의 대응하는 픽셀 지점을 가질 수 있다. 예컨대, 픽셀 지점(318)(여자(314)의 코 끝을 묘사하는 픽셀 지점)은 이미지(350) 내에서 픽셀 지점(318)의 에피폴라선(352)에서 대응하는 픽셀 지점을 가질 수 있다. 유사하게, 이미지(310) 내의 각각의 픽셀 지점은 이미지(350) 내의 대응하는 에피폴라선을 가질 수 있다. 예시적 실시예에서, 이미지(310) 및 이미지(350)는 각각 이미지(320 및 360)를 생성하기 위해 교정된다. 일 실시예에서, 이미지(310 및 350)를 교정하는 것은, 이미지(320)의 수평선(픽셀 행)이 이미지(360)의 수평선(픽셀 행)에 대응하도록, 이미지(320 및 360)를 생성하기 위해, 이미지(310 및 350)를 정렬하는 것(aligning)을 포함한다. (직접적 보정(calibration)을 통해서든 또는 약한(weak) 보정을 통해서든, 카메라 파라미터가 주어진다면) 이미지(310 및 350)의 쌍에 대한 교정의 프로세스는 결과적인 에피폴라선이 평행하고 새로운 스캔선을 따라 동등하도록 이미지(310 및 350)의 원래의 쌍의 평면을 이미지(320 및 360)의 쌍 내의 상이한 평면으로 변환한다는 점에 유의하여야 한다. 도 3에 도시된 바와 같이, 이미지(310 및 350)는, 이미지(320)의 픽셀 행이 이미지(360)의 픽셀 행에 대응하도록, 이미지(310 및/또는 350)를 회전함(rotating)/조절함(adjusting)으로써 교정된다.
예시적 실시예에서, 장치(200)는 이미지(320) 내의 하나 이상의 객체를 검출하도록 된다. 일례에서, 이미지(320)는 적어도 하나의 객체를 가질 수 있는데, 예를 들면, 장면을 묘사하는 이미지(320)는 객체, 예컨대 다른 무엇보다도 남자(312), 여자(314), 아이(316), 그리고 구름(311)과 나무(313)를 포함하는 배경을 포함한다. 예시적 실시예에서, 이미지(320)는 이미지(320) 내의 객체(312, 314 및 316)의 위치/색상 분포를 검출하기 위해, 순차적 방식으로 (각각의 픽셀 행을 따라) 수평으로 스캐닝될(scanned) 수 있다. 이미지(320) 내의 객체를 검출하는 데에 피부 색 기반 접근법(skin color-based approach), 부스팅(boosting) 접근법, 서포트 벡터 머신(Support Vector Machine: SVM) 접근법, 가우시안 혼합(gaussian mixture) 접근법, 최대 우도(maximum likelihood) 접근법 및 신경망(neural network) 접근법과 같은 적합한 객체(또는 얼굴) 검출 기법이 사용될 수 있다는 점에 유의하여야 한다. 도 3에 도시된 바와 같이, 검출된 얼굴(322, 324 및 326)은 각각 남자(312), 여자(314) 및 아이(316)의 얼굴에 대응한다.
예시적 실시예에서, 하나 이상의 객체의 객체 지점은 제1 이미지(320) 내의 객체(312, 314 및 316)와 같은 하나 이상의 객체의 객체 지점의 검출에 기반하여 제2 이미지(360) 내에서 검출된다. 예를 들면, 제1 이미지(320) 내에서 검출된 매 객체에 대하여, 이미지(320) 내의 객체의 위치를 사용하여 대응하는 객체가 제2 이미지(360) 내에서 검출된다. 예시적 실시예에서, 제1 이미지(312) 내에서 검출된 남자(312)(객체)의 얼굴(322)에 대하여, 유사한 객체가 이미지(360) 내에서, 얼굴(322)에 대해 결정된 탐색 범위 내에서 탐색되고 검출된다. 일례에서, 특징은 제1 이미지(320) 내에서 검출된 남자(312)(객체)에 대응하는 몇몇 객체 지점 또는 모든 객체 지점을 제2 이미지(360) 내의 남자(312)에 매칭하는 것(matching)을 포함할 수 있다. 매칭 특징의 예는 이미지(320) 내의 남자(312)를 나타내는 픽셀의 치수, 색상, 텍스처 및 에지(edge)를 매칭하는 것을 포함할 수 있다. 다양한 예시적 실시예는 이미지(320) 내에서 이미 검출된 어떠한 객체라도 탐색하기 위해 전체 이미지(360)를 탐색하는 것을 막는데, 대신에 탐색은 에피폴라 제한에 기반하여 결정된 탐색 범위 내에서 수행된다. 예컨대, 이미지(320) 내의 검출된 얼굴 하나하나에 대하여, 이미지(360) 내에서와 동일한 스케일(scale)로 얼굴이 탐색된다. 예를 들면, 예시적 실시예에서, 얼굴의 객체 지점에 대한 탐색은 이미지(360) 내에서, 얼굴의 객체 지점의, 이미지(320) 내에서와 동일한 위치로부터 시작될 수 있고, 이미지(360)는 동일한 스캔선(객체 지점에 대응하는 에피폴라선)을 따라 스캐닝된다. 따라서, 이미지(360) 내에서의 얼굴 검출의 복잡도는 에피폴라 제한 및 이미지(320) 내의 (그리고 이로써 이미지(360) 내의) 얼굴의 위치의 인지에 기반하여 탐색 범위를 로컬화함(localizing)으로써 급격히 감소된다.
예시적 실시예에서, 이미지(360) 내의 객체(312, 314 및 316)에 대한 탐색 범위는 이미지(320)의 대응하는 객체 지점에 대한 이미지(360) 내의 에피폴라선을 따라 결정된다. 일례에서, 이미지(320) 내의 픽셀 지점(318)과 같은 각각의 픽셀 지점은 제2 이미지(360) 내의 에피폴라선(362 참조)과 연관되고, 따라서 픽셀 지점(318)은 이미지(360) 내의 에피폴라선(362) 상에서 탐색된다. 유사하게, 이미지(320)의 다른 픽셀 지점들은 그것들의 대응하는 에피폴라선들을 따라 탐색될 수 있다. 예컨대, 이미지(320)의 아이(326)의 얼굴(326)에 대응하는 픽셀 지점은 제2 이미지(360) 내의 픽셀 지점의 대응하는 에피폴라선에서 탐색될 수 있고 탐색 범위는 에피폴라선을 따라 제한된다. 도 3에 도시된 바와 같이, 얼굴(326)의 픽셀 지점들에 대응하는 복수의 에피폴라선을 포함할 수 있는 탐색 범위(376)가 결정되며, 탐색 영역(376)은 이미지(360) 내에서 얼굴(326)을 검출하기 위한 유망한 영역(probable region)을 정의할 수 있다. 유사하게, 이미지(360) 내에서 얼굴(322 및 324)을 검출하기 위해 이미지(360) 내에서 탐색 영역(372 및 374) 내의 복수의 에피폴라선이 결정된다.
몇몇 예시적 실시예에서, 이미지(360) 내의 에피폴라선을 따른 탐색에 수반되는 계산은 이미지(320) 내에서 검출된 바와 같은 객체의 크기(또는 이미지를 포착하는 카메라로부터의 거리)의 정보에 기반하여 이미지(360) 내의 탐색 범위를 최적화함으로써 더 감소될 수 있다. 예시적 실시예에서, 장치(200)는 이미지(320) 내에서 검출된 하나 이상의 객체를 하나 이상의 객체의 대응하는 크기에 기반하여 분류하도록(sort) 된다. 예를 들면, 이미지(320) 내의 검출된 객체(322, 324 및 326) 각각과 연관된 크기는 각각 h1, h2 및 h3로서 결정된다. 예시적 실시예에서, 객체는 그 크기에 기반하여 내림차순(descending order)으로 분류된다. 예컨대, 만약 크기가 h1>h2>h3이게 되는 경우, 프로세서(202)는 322, 324 및 326과 같은 순서로 얼굴을 분류하도록 구성된다. 예시적 실시예에서, 가장 큰 얼굴에 대한 탐색 범위가 특정한 스테레오 카메라 셋업에 대하여 베이스라인, 초점 길이(focal length) 및 얼굴 크기로부터 보정될(calibrated) 수 있다.
예시적 실시예에서, 제2 이미지(360) 내의 탐색 범위는 이미지(320) 내에서 검출된 객체의 크기의 감소와 함께 감소한다. 대안적으로 또는 추가적으로, 카메라로부터 먼 객체에 비해 카메라에 가까운 객체에 대하여 탐색 범위가 더 클 수 있다. 예시적 실시예에서, 카메라에 가까운 객체는 카메라로부터 먼 다른 객체에 비해 이미지(320 및 360) 간의 더 큰 디스패리티를 가질 수 있다. 예시적 실시예에서, 객체의 크기 및 위치에 기반하여, 탐색 범위가 결정될 수 있다. 예를 들면, 얼굴(322)의 크기가 얼굴(324)보다 더 크고, 얼굴(324)은 얼굴(326)보다 더 크므로, 디스패리티에 있어서 감소하는 순서로 된 객체는 객체(322, 324 및 326)일 수 있다. 예시적 실시예에서, 디스패리티의 감소하는 순서에 기반하여, 탐색 범위(372)는 탐색 범위(374)보다 더 크고, 탐색 범위(374)는 탐색 범위(376)보다 더 크다. 일반성의 손실 없이, 가장 큰 얼굴(예컨대, 얼굴(322))에 대하여, 디스패리티 및 대응하는 탐색 범위(372)는 가장 크다. 이 탐색 범위(372)는 특정한 스테레오 카메라 셋업에 대하여 베이스라인, 초점 길이 및 얼굴(322)의 크기로부터 보정될 수 있다. 또한, 탐색 범위(374)는 탐색 범위(372)에 기반하여 추정될 수 있는데, 예컨대 탐색 범위(372)보다 약간 더 작다. 나아가, 탐색 범위(376)는 탐색 범위(374)에 기반하여 추정될 수 있는데, 예컨대 탐색 범위(374)보다 약간 더 작다.
예시적 실시예에서, 하나 이상의 객체와 연관된 하나 이상의 디스패리티 값이 결정된다. 예시적 실시예에서, 이미지(320) 내에서의 객체의 위치 및 이미지(360) 내에서의 객체의 위치에 기반하여 이미지(320) 및 이미지(360) 간 객체에 대한 디스패리티 값이 결정된다. 예컨대, 만약 남자(312)가 이미지(320) 내에서 (이미지(360) 내의 남자(312)의 가상적 포지션(virtual position)을 나타내는 것으로 파선(382)에 의해 도시된) 위치(382)에, 그리고 이미지(360) 내에서 위치(384)에 있었다면, 남자(312)와 연관된 디스패리티 값(386)은 위치(382 및 384) 간의 거리로서 결정된다. 도 3에 또한 도시된 바와 같이, 아이(316)의 디스패리티(392)는 각각 이미지(320) 및 이미지(360) 내에서 아이(316)의 위치와 연관된 포지션(388)(이미지(320) 내의 아이(316)의 가상적 포지션을 나타내는 것으로 파선에 의해 도시됨) 및 포지션(390) 간의 차이로서 결정된다. 이미지(360) 내의 객체의 검출의 복잡도는 (전체 이미지(360)를 스캐닝하는 것 대신에 에피폴라선을 따라 탐색 범위를 결정함으로써) 에피폴라 제한을 활용함으로써 상당히 감소되는바, 따라서, 이미지(320 및 360) 간 객체에 대한 디스패리티 계산의 복잡도는 또한 감소된다는 점이 인식되어야 한다. 몇몇 예에서, 객체는 다양한 객체 지점에 대해 동일한 디스패리티를 가질 수 있는 반면, 몇몇 예에서, 객체의 다양한 객체 지점(또는 영역)은 이미지(320 및 360) 간의 상이한 디스패리티를 가질 수 있다.
도 4는 예시적 실시예에 따라, 이미지(320 및 360)와 같은 이미지의 입체 쌍 중의 이미지로부터의 객체의 세그먼트화의 예시적 표현이다. 예시적 실시예에서, 이미지(320) 및 이미지(360) 중 적어도 하나 내의 하나 이상의 객체는 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 세그먼트화된다. 예를 들면, 이미지(360) 내의 아이(316)의 얼굴은 아이(316)의 얼굴의 객체 지점(또는 픽셀 지점)과 연관된 디스패리티 값(예컨대, d1, d2, d3 및 d4)에 기반하여 이미지(360)로부터 세그먼트화될 수 있다. 예시적 실시예에서, 객체(예컨대, 아이(316))를 세그먼트화하기 위하여, 장치(200)는 아이(316)의 얼굴에 객체 라벨을 할당하고(예컨대, 아이(316) 또는 얼굴의 객체 지점에 동일한 객체 라벨을 할당함) 이미지(360)의 나머지 부분에 비객체 라벨을 할당하도록 된다. 예시적 실시예에서, 장치(200)는 또한 그래프 절삭 방법과 같은 적합한 기법을 사용하여 할당된 객체 라벨에 대응하는 이미지(360)의 부분(예컨대, 아이(316))을 세그먼트화하도록 된다.
예시적 실시예에서, 장치(200)는 객체의 객체 지점에 대응하는 제1 디스패리티 및 제2 디스패리티를 결정하도록 된다. 일반성의 손실 없이, 예시적 실시예에서, 제1 디스패리티는 객체 내의 임의의 객체 지점에 대해 객체가 가질 수 있는 최소 디스패리티(d min )일 수 있고, 제2 디스패리티는 객체 내의 임의의 객체 지점에 대해 객체가 가질 수 있는 최대 디스패리티(d max )일 수 있다. 일례에서, 장치(200)는 아이(316)의 얼굴과 연관된 최대 디스패리티 d max 를 d3로서, 그리고 아이의 얼굴과 연관된 최소 디스패리티 d min 를 d2로서 결정한다. 이 예에서, 최대 디스패리티 d3 및 최소 디스패리티 d2는 이미지(320) 및 이미지(360) 간 아이(316)의 얼굴과 연관된 디스패리티의 범위를 정한다.
예시적 실시예에서, 객체(예컨대, 아이(316)의 얼굴)와 연관된 객체 지점에는 이미지, 예를 들어 이미지(320) 및 이미지(360) 간의 상이한 디스패리티 값에 대해 계산된 객체 비용 함수에 기반하여 객체 라벨(L1)이 할당된다. 예를 들면, 장치(200)는 이미지(320) 및 이미지(360) 간 제1 디스패리티(dmin) 및 제2 디스패리티(dmax) 사이의 디스패리티 범위 내에 놓여 있는 상이한 디스패리티 값에 대해 객체 비용 함수를 계산하도록 된다. 장치(200)는 디스패리티 범위로부터 디스패리티를 객체 라벨로서 선택하도록 되는데, 이에 대하여 객체 비용 함수는 이미지(320 및 360) 간에 (객체 비용 함수들 중에서) 최저이다. 예시적 실시예에서, 상이한 디스패리티 값과 연관된 객체 비용 함수 C(x,y,d)가 계산되는데 여기서 d는 dmin 및 dmax 사이에서 달라진다. 예시적 실시예에서, 장치(200)는 다양한 디스패리티 값에 대해 계산된 객체 비용 함수 중에 최저인 객체 비용 함수, 예컨대 객체 비용 함수 C(x,y,L1) = min C(x,y,d)를 선택하도록 되는데, 여기서 d는 dmin 및 dmax 사이에서 달라진다. 이 예에서, 디스패리티 L1에 대하여(d=L1에 대해), 이미지(320 및 360) 간 객체 비용 함수는 최저이고, 디스패리티 L1은 아이(316)의 얼굴과 같은 객체에 대한 객체 라벨로서 선택된다.
예시적 실시예에서, 장치(200)는 이미지(320 및 360) 간 비객체 비용 함수에 기반하여 비객체 지점(예컨대, 객체(예컨대, 아이(316)의 얼굴)가 아닌 나머지 픽셀 지점)에 비객체 라벨(L2)을 할당하도록 된다. 예를 들면, 장치(200)는 제1 디스패리티 및 제2 디스패리티의 외부의 디스패리티 범위 내에 놓여 있는 상이한 디스패리티 값에 대해 비객체 비용 함수를 계산하도록 된다. 예컨대, 비객체 비용 함수는 이미지(320) 및 이미지(360) 간 디스패리티 범위 (0, dmin-Δ) 또는 (dmax+Δ, M)에 대해 계산될 수 있는데, 여기서 M은 장면 내의 최대 디스패리티이고 Δ은 디스패리티의 단위(unit)/단계 크기이다. 장치(200)는 디스패리티 범위 (0, dmin-Δ) 및 (dmax+Δ, M)로부터 디스패리티 값을 비객체 라벨로서 선택하도록 되는데, 이에 대하여 비객체 비용 함수는 이미지(320 및 360) 간에 최저이다. 예시적 실시예에서, 상이한 디스패리티 값과 연관된 비객체 비용 함수 C(x,y,d)가 계산되는데 여기서 d는 (0, dmin-Δ) 및 (dmax+Δ, M)의 범위 내에서 달라진다. 예시적 실시예에서, 장치(200)는 다양한 디스패리티 값에 대해 계산된 비객체 비용 함수 중에 최저인 비객체 비용 함수, 예컨대 비객체 비용 함수 C(x,y,L2) = min C(x,y,d)를 선택하도록 되는데 여기서 d는 (0, dmin-Δ) 및 (dmax+Δ, M)의 범위 내에서 달라진다. 이 예에서, 디스패리티 L2에 대하여(d=L2에 대해), 이미지(320 및 360) 간 비객체 비용 함수는 최저이고, 디스패리티 L2는 이미지(320 또는 360) 내에서 아이(316)의 얼굴이 아닌 이미지 영역에 대한 비객체 라벨로서 선택된다.
예시적 실시예에서, 디스패리티 값에 대하여, 객체 비용 함수 및 비객체 비용 함수는 이미지(320) 및 360) 간 하나 이상의 이미지 파라미터의 일관성의 정도를 결정하기 위해 이미지(320 및 360)를 매칭하는 것에 기반하여 계산되는데, 여기서 이미지(320 및 360) 중 하나의 이미지의 픽셀은 디스패리티 값만큼 이전된다(shifted). 예컨대, 디스패리티 값 'd'에 대하여, 이미지(360)의 각각의 픽셀은 디스패리티 'd'만큼 한 방향으로 이전되고, 이전된 이미지(360)는 이전된 이미지(360) 및 이미지(320) 간 파라미터(예컨대, 색상)의 일관성의 정도를 결정하기 위해 이미지(320)와 매칭된다. 예시적 실시예에서, 객체 또는 비객체 비용 함수는 다양한 디스패리티 값에 대하여 일관성의 결정된 정도에 기반하여 계산된다. 예시적 구현에서, 객체 및/또는 비객체 비용 함수는 이전된 이미지(360) 및 이미지(320) 간의 일관성의 정도의 증가와 함께 감소한다. 예시적 실시예에서, 객체 및 비객체 비용 함수가 최저인 디스패리티 값(각각 L1, L2)은 각각 객체 라벨(예컨대, 디스패리티 L1) 및 비객체 라벨(예컨대, 디스패리티 L2)로서 선택된다.
예시적 실시예에서, 객체는 객체 라벨(L1) 및 비객체 라벨(L2)에 기반하여 그래프 절삭 알고리즘을 적용하는 것에 기반하여 이미지, 예를 들어 이미지(360)로부터 세그먼트화된다. 예를 들면, 일례에서, 객체 라벨(L1)이 할당된 객체 지점은 아이(316)의 얼굴을 나타내고 비객체 라벨(L2)이 할당된 객체 지점은 장면 내에서 아이(316)의 얼굴이 아닌 영역을 나타낸다. 예시적 실시예에서, 아이(316)의 얼굴은 전경(foreground)으로 간주될 수 있고 아이(316)의 얼굴이 아닌 영역은 배경으로 간주될 수 있다. 예시적 실시예에서, (예컨대, 라벨 L1을 할당받은) 아이(316)의 얼굴을 나타내는 영역은 라벨 L2에 의해 나타내어진 배경으로부터 그래프 절삭 알고리즘을 사용하여 세그먼트화될 수 있다. 도 4에 도시된 바와 같이, (402에 의해 도시된) 아이(316)의 얼굴은 이미지(400)(이미지(320 또는 360)의 일례) 내의 배경(404)으로부터 세그먼트화된다.
도 5는 예시적 실시예에 따라, 객체를 검출하는 예시적 방법(500)을 묘사하는 흐름도이다. 예시적 실시예에서, 방법(500)은 장면의 이미지 내의 객체를 검출하는 것 및 이미지 내의 객체의 디스패리티를 결정하는 것을 포함하는데, 장면의 이미지는 이미지 간에 장면의 적어도 하나의 객체에 디스패리티가 있도록 포착된다. 흐름도 내에 묘사된 방법(500)은, 예컨대 도 2의 장치(200)에 의해, 실행될 수 있다.
블록(505)에서, 방법(500)은 장면의 제1 이미지 및 제2 이미지와 같은 이미지의 수신을 가능하게 하는 것을 포함한다. 도 2와 관련하여 기술된 바와 같이, 제1 이미지(I1) 및 제2 이미지(I2)는 두 개의 센서 및 관련된 컴포넌트를 포함하는 미디어 포착 디바이스로부터, 또는 DVD, 콤팩트 디스크(Compact Disk: CD), 플래시 드라이브, 메모리 카드와 같은 외부 소스로부터 수신되거나, 인터넷, 블루투스(Bluetooth®) 및 유사한 것을 통해 외부 저장 위치로부터 수신될 수 있다. 예시적 실시예에서, 제1 이미지(I1) 및 제2 이미지(I2)는 장면의 두 개의 상이한 뷰를 포함한다. 이미지 I1 및 I2의 예는 각각, 도 3을 참조하여 보여지고 설명된 이미지(310 및 350)일 수 있다.
블록(510)에서, 방법(500)은 제1 이미지 I1 내의 하나 이상의 객체를 검출하는 것을 포함한다. 예를 들면, 제1 이미지 I1은 세 개의 객체 A, B, C를 포함할 수 있으며 제1 이미지 I1은 객체 A, B, C 및 그것들 각각의 위치를 제1 이미지 I1 내에서 결정하기 위해 스캐닝된다. 도 3을 참조하여 설명된 바와 같이, 제1 이미지 I1은 객체 A, B 및 C의 객체 지점을 검출하기 위해 적합한 객체 검출 기법에 의해 스캐닝된다. 블록(515)에서, 방법(500)은 제1 이미지(I1) 내의 하나 이상의 객체의 객체 지점의 검출에 기반하여 제2 이미지(I2) 내의 하나 이상의 객체의 객체 지점을 검출하는 것을 포함한다. 예를 들면, 이미지 I1 내에서 검출된 매 객체에 대하여, 에피폴라 제한을 사용하여 이미지 I2 내에서 대응하는 객체가 검출된다. 예시적 실시예에서, 이미지 I1 내의 객체 지점에 대응하는 이미지 I2 내의 객체 지점을 검출하는 것은 이미지 I2 내의 에피폴라선 상에서 이미지 I2 내의 객체 지점을 찾는 것을 포함하는데, 여기서 이미지 I2 내의 에피폴라선은 이미지 I1의 객체 지점에 대한 대응하는 에피폴라선이다. 예를 들면, 이미지 I1 내의 매 객체 지점은 이미지 I2 내의 에피폴라선에 대응한다. 일례에서, 이미지 I2 내에서 이미지 I1의 대응하는 객체 지점을 탐색하기 위하여, 전체 이미지 I2를 탐색하는 것 대신에, 탐색은 이미지 I1의 객체 지점에 대응하는 이미지 I2 내의 에피폴라선을 따라 국한된다. 도 2와 관련하여 기술된 바와 같이, 객체와 연관된 객체 지점은 이미지 I1의 객체 지점에 대응하는 이미지 I2 내의 에피폴라선을 따라 수평 스캔을 수행함으로써 이미지 I2 내에서 검출된다. 예시적 실시예에서, 이미지 I2 내에서 검출된 다양한 객체에 대응하는 객체 지점의 위치가 결정된다.
블록(520)에서, 방법(500)은 이미지 I1 내의 객체의 객체 지점 및 이미지 I2 내의 객체의 객체 지점 간 디스패리티 값을 결정하는 것을 포함한다. 예를 들면, 객체 C는 이미지 I1 및 I2 간 객체 C의 하나 이상의 영역('객체 지점'으로 지칭되기도 함)에 대응하는 하나 이상의 디스패리티 값을 가질 수 있다. 예컨대, 객체 C는 영역(R1, R2, R3 및 R4)을 포함하며, 영역(R1, R2, R3 및 R4)은 이미지 I1 및 I2 간 상이한 디스패리티를 가질 수 있다. 일례에서, 얼굴의 상이한 영역은 이미지 I1 및 I2 간 상이한 디스패리티 값을 가질 수 있는데, 예컨대 코 끝은 얼굴의 귀보다 더 큰 디스패리티를 가질 수 있다. 그러나, 다양한 시나리오에서, 객체는 이미지 I1 및 I2 간에 그것의 객체 지점에 대해 균일한 디스패리티를 가질 수 있다.
도 6은 다른 예시적 실시예에 따라, 예시적 방법(600)을 묘사하는 흐름도이다. 흐름도에 묘사된 방법(600)은, 예컨대 도 2의 장치(200)에 의해, 실행될 수 있다. 다양한 예에서, 방법(600)은 장면의 이미지 내에서의 계산상 효과적인 객체 검출을 제공하는 것, 이미지 내의 객체의 디스패리티 값(그리고 깊이)의 계산 및 이미지 내의 객체의 세그먼트화를 포함한다. 방법(600)의 예시적 실시예는 입체 이미지의 도움을 받아 설명되나, 방법(600) 내에 기술된 다양한 동작은 다중 베이스라인 카메라, 어레이 카메라, 플렌옵틱 카메라 및 광계 카메라에 의해 포착된 장면의 임의의 둘 이상의 이미지에서 수행될 수 있음에 유의하여야 한다.
블록(605)에서, 방법(600)은 제1 이미지 및 제2 이미지와 같은 입체 이미지의 쌍의 수신을 가능하게 하는 것을 포함한다. 제1 이미지(I1) 및 제2 이미지(I2)는 스테레오 카메라에 의해 포착될 수 있다. 이미지 I1 및 I2는 또한 다중 베이스라인 카메라, 어레이 카메라, 플렌옵틱 카메라 또는 광계 카메라에 의해 포착될 수 있고, 이들 이미지 I1 및 I2의 예는 각각, 도 3에 도시된 바와 같은 이미지(310 및 350)일 수 있다.
어떤 경우에, 장치(200)에 의해 수신되거나 그렇지 않으면 센서에 의해 포착된 것과 같은 이미지 I1 및 I2는 서로에 대해서 교정된 이미지가 아닐 수 있다. 그러한 경우에, (블록(610)에서) 방법(600)은 이미지 I1 및 I2 내의 행들이 서로에 대응하도록 이미지 I1 및 이미지 I2를 교정하는 것을 포함한다. 그러한즉, 만약 장치(200)에서 수신된 이미지 I1 및 I2가 교정된 이미지인 경우, (블록(610)에서의) 교정의 동작은 요구되지 않는다.
블록(615)에서, 방법(600)은 이미지 I1 내의 하나 이상의 객체의 객체 지점을 검출함으로써 이미지 I1 내의 하나 이상의 객체를 검출하는 것을 포함한다. 예를 들면, 이미지 I1은 세 개의 객체 A, B, C를 포함하고 이미지 I1은 객체 A, B 및 C의 객체 지점 및 그것들 각각의 위치를 이미지 I1 내에서 결정하기 위해 스캐닝된다. 블록(620)에서, 방법(600)은 이미지 I1 내의 하나 이상의 객체의 객체 지점의 검출에 기반하여 이미지 I2 내의 하나 이상의 객체의 객체 지점을 검출하는 것을 포함한다. 객체 지점은 이미지 I2 내의 각각의 픽셀 지점 상에서 탐색되지 않음에 유의하여야 하되, 대신에 객체 지점은 객체 지점에 대응하는 에피폴라선 상의 한정된 탐색 범위 내에서 이미지 I2 내에서 탐색되는데, 여기서 탐색 범위는 이미지 I1 내의 이미 검출된 객체 A, B 및 C의 객체 지점의 위치에 기반하여 결정된다. 블록(620)의 동작은 블록(625 및 630)에 의해 수행되는 동작에 의해 실행될 수 있다.
블록(625)에서, 방법(600)은 이미지 I2 내의 객체 지점의 대응하는 에피폴라선을 따라 이미지 I2 내에서, 이미지 I1의 하나 이상의 객체의 객체 지점에 대해, 탐색 범위를 결정하는 것을 포함한다. 예시적 실시예에서, 객체의 객체 지점에 대한 탐색 범위는 카메라로부터의 객체의 거리 및 크기에 기반하여 결정될 수 있다. 예를 들면, 이미지 I1 내에서 검출된 객체 A, B 및 C는 각각 크기 H1, H2 및 H3를 가진다. 일례에서, 크기 H1과 연관된 객체 A가 가장 큰데, 크기 H3와 연관된 객체 C가 뒤따르고, 크기 H2와 연관된 객체 B가 가장 작다고 결정된다. 이 예에서, 제2 이미지 I2 내의 탐색 범위는 이미지 I1 내에서 검출된 객체의 크기의 감소와 함께 감소한다. 예를 들면, 만약 객체 A와 연관된 탐색 범위가 S1인 경우, 크기 H3와 연관된 객체 C에 대한 탐색 범위는 탐색 범위 S1보다 더 작고(C에 대한 탐색 범위는 S2이어서, S2 < S1이게 됨), 크기 H2와 연관된 객체 B에 대한 탐색 범위는 가장 작다.
630에서, 방법(600)은 객체 지점에 대해 결정된 탐색 범위 내에서 제2 이미지 I2 내의 객체 지점을 찾는 것을 포함한다. 예컨대, 이미지 I1의 객체 A의 객체 지점에 대한 이미지 I2 내의 탐색 범위는 이미지 I1의 객체 A의 객체 지점에 대응하는 이미지 I2 내의 에피폴라선을 따라 결정되고, 객체 A의 객체 지점은 결정된 탐색 범위 내에서 탐색된다.
블록(635)에서, 방법(600)은 이미지 I1 내의 하나 이상의 객체의 객체 지점 및 이미지 I2 내의 하나 이상의 객체의 객체 지점 간 디스패리티 값을 결정하는 것을 포함한다. 예를 들면, 객체 C는 이미지 I1 및 I2 간 객체 C의 하나 이상의 영역('객체 지점'으로 지칭되기도 함)에 대응하는 하나 이상의 디스패리티 값을 가질 수 있다. 예컨대, 객체 C는 영역(R1, R2, R3 및 R4)을 포함하고, 영역(R1, R2, R3 및 R4)은 이미지 I1 및 I2 간 상이한 디스패리티를 가질 수 있다. 예시적 실시예에서, 객체는 동일한 디스패리티를 가질 수 있다. 예시적 실시예에서, 이미지 I1 내의 객체의 위치 및 이미지 I2 내의 객체의 위치에 기반하여 이미지 I1 및 이미지 I2 간 객체에 대한 디스패리티 값이 결정된다.
블록(640)에서, 방법(600)은 이미지 I1 및 I2 간 객체와 연관된 디스패리티 값에 기반하여 이미지 I1 및 이미지 I2 중 적어도 하나 내의 하나 이상의 객체 중의 객체를 세그먼트화하는 것을 포함한다. 예를 들면, 객체 C는 이미지 I1 및 I2 간 객체 C와 연관된 디스패리티 값에 기반하여 이미지 I2로부터 세그먼트화될 수 있다. 예시적 실시예에서, 블록(640)의 동작은 블록(645 내지 670)에 의해 수행된다.
블록(645)에서, 방법(600)은 객체 C의 객체 지점에 대응하는 제1 디스패리티(예컨대, d min ) 및 제2 디스패리티(d max )를 결정하는 것을 포함한다. 예를 들면, 객체 C는 이미지 I1 및 I2 간 (R1, R2, R3 및 R4)와 같은 상이한 영역과 연관된 상이한 디스패리티 값에 걸친다(span). 일 실시예에서, 객체 C와 연관된 제1 디스패리티 값(d min ) 및 제2 디스패리티 값(d max )이 계산되는데 이것들은 객체 C의 객체 지점이 걸치는 디스패리티 값의 범위 (d min , d max )를 정한다. 예시적 실시예에서, d min , d max 의 값은 베이스라인, 초점 길이, 얼굴 크기 및 객체의 디스패리티와 같은 특정한 스트레오 카메라 셋업의 함수로 보정될 수 있다.
블록(650)에서, 방법(600)은 제1 디스패리티 값 및 제2 디스패리티 값 사이에, 예컨대 범위 (d min , d max ) 내에 놓여 있는 복수의 디스패리티 값에 대하여 이미지 I1 및 I2 간 객체 비용 함수를 계산하는 것을 포함한다. 블록(655)에서, 방법(600)은 제1 이미지 I1 및 제2 이미지 I2 간의 객체 비용 함수에 기반하여 객체 C와 연관된 객체 지점에 대해 객체 라벨(L1)을 할당하는 것을 포함한다. 블록(655)에서, 범위 (d min , d max ) 중에서 디스패리티 값이 객체 라벨로서 선택되는데, 이에 대하여 객체 비용 함수는 이미지 I1 및 I2 간에 최저이다. 객체 비용 함수의 계산의 몇몇 예시적 실시예가 도 4와 관련하여 기술된다.
블록(660)에서, 방법(600)은 제1 디스패리티 값 및 제2 디스패리티 값 외부의 범위에, 예컨대 범위 (0, dmin-Δ) 또는 (dmax+Δ, M) 내에(여기서 M은 장면 내의 최대 디스패리티이고 Δ은 디스패리티의 단위/단계 크기임) 놓여 있는 하나 이상의 디스패리티 값에 대하여 이미지 I1 및 I2 간 비객체 비용 함수를 계산하는 것을 포함한다. 블록(665)에서, 방법(600)은 이미지 I1 및 I2 간의 비객체 비용 함수에 기반하여 비객체 지점(예컨대, 객체 C가 아닌 나머지 픽셀 지점)에 비객체 라벨(L2)을 할당하는 것을 포함한다. 예시적 실시예에서, 상이한 디스패리티 값 중에서 ((0, dmin-Δ) 및 (dmax+Δ, M)으로부터) 디스패리티 값이 비객체 라벨로서 선택되는데, 이에 대하여 비객체 비용 함수는 이미지 I1 및 I2 간에 최저이다.
블록(670)에서, 방법(600)은 객체 라벨 및 비객체 라벨에 기반하여 객체를 세그먼트화하는 것을 포함한다. 예시적 실시예에서, 방법(600)은 객체 라벨 L1 및 비객체 라벨 L2에 대해 그래프 절삭 알고리즘을 적용하는 것에 기반하여 객체를 세그먼트화하는 것을 포함한다. 예를 들면, 그래프 절삭 알고리즘은 (비객체 라벨 L2가 할당된) 배경으로부터 객체 라벨 L1을 할당받은 객체 지점을 세그먼트화하는 데에 사용된다. 따라서, 객체 C는 이미지 I1 또는 I2로부터 세그먼트화될 수 있다.
도 5 및 도 6의 흐름도의 논의를 수월하게 하기 위하여, 어떤 동작들은 어떤 순서로 수행되는 별개의 단계들을 구성하는 것으로서 본 문서에 기술됨에 유의하여야 한다. 그러한 구현은 예일 뿐이며 범주에 있어서 비한정적(non-limiting)이다. 어떤 동작은 함께 그룹화되고 단일 동작으로 수행될 수 있고, 어떤 동작은 본 문서에 개진된 예에서 채택된 순서와는 상이한 순서로 수행될 수 있다. 더욱이, 방법(500 및 600)의 어떤 동작은 자동화된 방식으로 수행된다. 이들 동작은 사용자와의 상호작용을 실질적으로 전혀 수반하지 않는다. 방법(500 및 600)의 다른 동작은 수동 방식 또는 반자동(semi-automatic) 방식으로 수행될 수 있다. 이들 동작은 하나 이상의 사용자 인터페이스 제시를 통하여 사용자와의 상호작용을 수반한다.
이들 흐름도에 묘사된 방법은, 예컨대 도 2의 장치(200)에 의해, 실행될 수 있다. 흐름도의 동작, 그리고 흐름도 내의 동작의 조합은 다양한 수단, 예를 들어 하드웨어, 펌웨어, 프로세서, 회로망 및/또는 다른 디바이스(하나 이상의 컴퓨터 프로그램 명령어를 포함하는 소프트웨어의 실행과 연관됨)에 의해 구현될 수 있다. 예컨대, 다양한 실시예에서 기술된 절차 중 하나 이상은 컴퓨터 프로그램 명령어에 의해 실체화될 수 있다. 예시적 실시예에서, 다양한 실시예에서 기술된, 절차를 실체화하는 컴퓨터 프로그램 명령어는 장치의 적어도 하나의 메모리 디바이스에 의해 저장되고 장치의 적어도 하나의 프로세서에 의해 실행될 수 있다. 임의의 그러한 컴퓨터 프로그램 명령어는, 결과적인 컴퓨터 또는 다른 프로그램 장치가 흐름도 내에 명시된 동작을 구현하는 수단을 실체화하도록, 머신(machine)을 산출하기 위해 컴퓨터 또는 다른 프로그램가능 장치(예컨대, 하드웨어) 상에 로딩될(loaded) 수 있다. 이들 컴퓨터 프로그램 명령어는 또한 (반송파(carrier wave) 또는 전자기 신호(electromagnetic signal)와 같은 송신 매체와 대조되는) 컴퓨터 판독가능 저장 메모리 내에 저장될 수 있는데 이는 컴퓨터 판독가능 메모리 내에 저장된 명령어가 제조 물품(article of manufacture)(이의 실행은 흐름도 내에 명시된 동작을 구현함)을 산출하도록, 특정한 방식으로 기능할 것을 컴퓨터 또는 다른 프로그램가능 장치에 지시할(direct) 수 있다. 컴퓨터 프로그램 명령어는 또한, 컴퓨터 또는 다른 프로그램가능 장치 상에서 실행되는 명령어가 흐름도 내의 동작을 구현하기 위한 동작을 제공하도록, 일련의 동작이 컴퓨터 또는 다른 프로그램가능 장치 상에서 실행되게 하여 컴퓨터 구현된 프로세스(computer-implemented process)를 산출하기 위해 컴퓨터 또는 다른 프로그램가능 장치 상에 로딩될 수 있다. 방법의 동작은 장치(200)의 도움을 받아 기술된다. 그러나, 방법의 동작은 임의의 다른 장치를 사용함으로써 기술되고/되거나 실시될 수 있다.
아래에 나타나는 청구항의 범주, 해석 또는 적용을 어떤 식으로든 한정하지 않고서, 본 문서에 개시된 예시적 실시예 중 하나 이상의 기술적 효과는 장면의 이미지 내의(예컨대, 입체 이미지 내의) 객체를 검출하는 것인데, 여기서 이미지 내의 객체 간 디스패리티가 있다. 다양한 실시예는 입체 이미지 내의 객체 검출의 복잡도를 감소시키기 위한 기법을 제공한다. 예를 들면, 객체는 입체 이미지 중 오직 하나의 이미지 내에서 검출되고, 다른 이미지는 객체의 검출을 위해 전체적으로 스캐닝되지는 않으며, 대신에 객체의 에피폴라 제한에 기반하여 결정된 탐색 범위 내에서 탐색이 수행된다. 다른 이미지 내의 객체의 검출이 계산상 효율적이므로, 입체 이미지 내의 객체와 연관된 디스패리티가 또한 효율적으로 결정된다. 또한, 다양한 실시예는 빠르고 정확한 세그먼트화 프로세스인 그래프 절삭을 사용하여 객체와 연관된 디스패리티 값을 기반으로 이미지로부터의 객체의 세그먼트화를 제공한다.
전술된 다양한 실시예는 소프트웨어, 하드웨어, 애플리케이션 로직 또는 소프트웨어, 하드웨어 및 애플리케이션 로직의 조합으로 구현될 수 있다. 소프트웨어, 애플리케이션 로직 및/또는 하드웨어는 적어도 하나의 메모리, 적어도 하나의 프로세서, 장치 또는 컴퓨터 프로그램 제품 상에 상주할(reside) 수 있다. 예시적 실시예에서, 애플리케이션 로직, 소프트웨어 또는 명령어 세트가 다양한 종래의 컴퓨터 판독가능 매체 중 임의의 하나 상에 유지된다. 이 문서의 맥락에서, "컴퓨터 판독가능 매체"(computer-readable medium)는, 도 1 및/또는 도 2에 기술되고 묘사된 장치의 하나의 예를 구비한 명령어 실행 시스템, 장치, 또는 디바이스, 예를 들어 컴퓨터와 관련한 또는 이에 의한 사용을 위한 명령어를 포함하거나, 저장하거나, 통신하거나, 전파하거나, 전송할 수 있는 임의의 매체 또는 수단일 수 있다. 컴퓨터 판독가능 매체는 명령어 실행 시스템, 장치, 또는 디바이스, 예를 들어 컴퓨터와 관련한 또는 이에 의한 사용을 위한 명령어를 포함하거나 저장할 수 있는 임의의 매체 또는 수단일 수 있는 컴퓨터 판독가능 저장 매체(computer-readable storage medium)를 포함할 수 있다.
만약 요망되면, 본 문서에서 논의된 상이한 기능은 서로와 동시적으로 및/또는 상이한 순서로 수행될 수 있다. 나아가, 만약 요망되면, 전술된 기능 중 하나 이상은 선택적일 수 있거나 조합될 수 있다.
실시예의 다양한 양상이 독립 청구항 내에 진술되나, 다른 양상은 청구항 내에 명시적으로 진술된 조합만이 아니라, 기술된 실시예 및/또는 종속 청구항으로부터의 특징의, 독립 청구항의 특징과의 다른 조합을 포함한다.
이상은 발명의 예시적 실시예를 기술하나, 이들 설명은 한정적인 의미로 여겨져서는 안 된다는 점을 본 문서에서 또한 유의한다. 오히려, 첨부된 청구항에 정의된 바와 같은 본 개시의 범주로부터 벗어나지 않고서 행해질 수 있는 여러 변형 및 수정이 있다.

Claims (44)

  1. 하나 이상의 객체(object)를 포함하는 장면(scene)의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 단계와,
    상기 제1 이미지 내의 상기 하나 이상의 객체를 검출하는 단계 - 상기 하나 이상의 객체를 검출하는 단계는 상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점(object point)을 검출하는 단계를 포함함 - 와,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점의 검출에 기반하여 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 단계 - 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 객체 지점을 검출하는 단계는 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 에피폴라선(epipolar line) 상의 상기 제2 이미지 내의 객체 지점을 찾는 것을 포함함 - 와,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점과 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점 간의 디스패리티(disparity) 값을 결정하는 단계 - 상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨 - 를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 단계는,
    상기 제1 이미지의 객체 지점의 에피폴라선을 따라 상기 제2 이미지 내에서 상기 제1 이미지의 객체 지점에 대한 탐색 범위를 결정하는 단계 - 상기 하나 이상의 객체 중의 제1 객체가 상기 하나 이상의 객체 중의 제2 객체보다 크기가 더 큰 경우, 상기 제1 객체의 객체 지점에 대한 탐색 범위는 상기 제2 객체의 객체 지점에 대한 탐색 범위보다 더 큼 - 와,
    상기 객체 지점에 대해 결정된 탐색 범위 내에서 상기 제2 이미지 내의 객체 지점을 찾는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 교정된 이미지(rectified images)인
    방법.
  4. 제1항에 있어서,
    상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션의 차이인
    방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지 내의 상기 하나 이상의 객체 중 하나의 객체를 상기 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 세그먼트화하는 단계를 더 포함하는
    방법.
  6. 제5항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 중 상기 하나의 이미지 내의 상기 객체를 세그먼트화하는 단계는,
    상기 객체의 객체 지점에 대응하는 제1 디스패리티 값 및 제2 디스패리티 값을 결정하는 단계와,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 복수의 디스패리티 값에 대해 상기 제1 이미지와 상기 제2 이미지 간의 객체 비용 함수를 계산하는 단계와,
    객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점에 대해 객체 라벨(object label)을 할당하는 단계와,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 상기 복수의 디스패리티 값이 아닌 하나 이상의 디스패리티 값에 대해 상기 제1 이미지 와 상기 제2 이미지 간의 비객체(non-object) 비용 함수를 계산하는 단계와,
    상기 제1 이미지와 상기 제2 이미지 간의 상기 비객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점이 아닌 지점에 대해 비객체 라벨(non-object label)을 할당하는 단계와,
    상기 객체 라벨 및 상기 비객체 라벨에 기반하여 상기 이미지 내의 상기 객체를 세그먼트화하는 단계를 포함하는
    방법.
  7. 제6항에 있어서,
    상기 객체 비용 함수 중에서 상기 객체 비용 함수가 최저인 디스패리티 값이 상기 객체 라벨로서 할당되고, 상기 비객체 비용 함수 중에서 상기 비객체 비용 함수가 최저인 디스패리티 값이 상기 비객체 라벨로서 할당되는
    방법.
  8. 제6항에 있어서,
    상기 복수의 디스패리티 값 중 하나의 디스패리티 값에 대하여 상기 제1 이미지와 상기 제2 이미지 간의 상기 객체 비용 함수를 계산하는 단계는, 상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지의 픽셀이 상기 디스패리티 값만큼 이전되는 경우 상기 제1 이미지와 상기 제2 이미지 간의 하나 이상의 이미지 파라미터의 일관성의 정도를 결정하는 단계를 포함하는
    방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 입체 이미지(stereoscopic images)의 쌍인
    방법.
  10. 제1항 또는 제9항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 상기 장면의 다수의 뷰를 포착하는 것이 가능한 카메라에 의해 포착되되, 상기 카메라는 스테레오 카메라(stereo camera), 다중 베이스라인 카메라(multi-baseline camera), 어레이 카메라(array camera) 및 플렌옵틱 카메라(plenoptic camera)를 포함하는 그룹으로부터 선택되는
    방법.
  11. 장치로서,
    적어도 하나의 프로세서와,
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하되,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서와 함께 상기 장치로 하여금 적어도,
    하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 것과,
    상기 제1 이미지 내의 상기 하나 이상의 객체를 검출하는 것 - 상기 하나 이상의 객체를 검출하는 것은 상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함 - 과,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점의 검출에 기반하여 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 것 - 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 객체 지점을 검출하는 것은 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 에피폴라선 상의 상기 제2 이미지 내의 객체 지점을 찾는 것을 포함함 - 과,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점과 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점 간의 디스패리티 값을 결정하는 것 - 상기 제1 이미지 내의 객체 지점 및 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨 - 을 수행하게 하도록 구성되는
    장치.
  12. 제11항에 있어서,
    상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하기 위하여, 상기 장치는 또한 적어도 부분적으로,
    상기 제1 이미지의 객체 지점의 에피폴라선을 따라 상기 제2 이미지 내에서 상기 제1 이미지의 객체 지점에 대한 탐색 범위를 결정 - 상기 하나 이상의 객체 중의 제1 객체가 상기 하나 이상의 객체 중의 제2 객체보다 크기가 더 큰 경우, 상기 제1 객체의 객체 지점에 대한 탐색 범위는 상기 제2 객체의 객체 지점에 대한 탐색 범위보다 더 큼 - 하고,
    상기 객체 지점에 대해 결정된 탐색 범위 내에서 상기 제2 이미지 내의 객체 지점을 찾도록 된
    장치.
  13. 제11항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 교정된 이미지인
    장치.
  14. 제11항에 있어서,
    상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션과 상기 제2 이미지 내의 객체 지점의 검출된 포지션의 차이인
    장치.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 장치는 또한 적어도 부분적으로, 상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지 내의 상기 하나 이상의 객체 중 하나의 객체를 상기 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 세그먼트화하도록 된
    장치.

  16. 제15항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 중 상기 하나의 이미지 내의 상기 객체를 세그먼트화하기 위하여, 상기 장치는 또한 적어도 부분적으로,
    상기 객체의 객체 지점에 대응하는 제1 디스패리티 값 및 제2 디스패리티 값을 결정하고,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 복수의 디스패리티 값에 대해 상기 제1 이미지와 상기 제2 이미지 간의 객체 비용 함수를 계산하며,
    객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점에 대해 객체 라벨을 할당하고,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 상기 복수의 디스패리티 값이 아닌 하나 이상의 디스패리티 값에 대해 상기 제1 이미지 와 상기 제2 이미지 간의 비객체 비용 함수를 계산하며,
    상기 제1 이미지와 상기 제2 이미지 간의 상기 비객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점이 아닌 지점에 대해 비객체 라벨을 할당하고,
    상기 객체 라벨 및 상기 비객체 라벨에 기반하여 상기 이미지 내의 상기 객체를 세그먼트화하도록 된
    장치.
  17. 제16항에 있어서,
    상기 객체 비용 함수 중에서 객체 비용 함수가 최저인 디스패리티 값이 상기 객체 라벨로서 할당되고, 상기 비객체 비용 함수 중에서 비객체 비용 함수가 최저인 디스패리티 값이 상기 비객체 라벨로서 할당되는
    장치.
  18. 제16항에 있어서,
    상기 복수의 디스패리티 값 중 하나의 디스패리티 값에 대하여 상기 제1 이미지와 상기 제2 이미지 간의 상기 객체 비용 함수를 계산하는 것은, 상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지의 픽셀이 상기 디스패리티 값만큼 이전되는 경우 상기 제1 이미지와 상기 제2 이미지 간의 하나 이상의 이미지 파라미터의 일관성의 정도를 결정하는 것을 포함하는
    장치.
  19. 제11항 내지 제18항 중 어느 한 항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 입체 이미지의 쌍인
    장치.
  20. 제11항 또는 제19항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 상기 장면의 다수의 뷰를 포착하는 것이 가능한 카메라에 의해 포착되되, 상기 카메라는 스테레오 카메라, 다중 베이스라인 카메라, 어레이 카메라 및 플렌옵틱 카메라를 포함하는 그룹으로부터 선택되는
    장치.
  21. 제11항에 있어서,
    상기 장치는 전자 디바이스를 포함하되, 상기 전자 디바이스는
    사용자로 하여금 디스플레이의 사용을 통해 상기 전자 디바이스의 적어도 하나의 기능을 제어할 수 있게 하도록 구성되고 사용자 입력에 응답하도록 또한 구성된 사용자 인터페이스 회로망 및 사용자 인터페이스 소프트웨어와,
    상기 전자 디바이스의 사용자 인터페이스의 적어도 일부분을 디스플레이하도록 구성된 디스플레이 회로망을 포함하되, 상기 디스플레이 및 상기 디스플레이 회로망은 상기 사용자로 하여금 상기 전자 디바이스의 적어도 하나의 기능을 제어할 수 있게 하도록 구성되는
    장치.
  22. 제21항에 있어서,
    상기 전자 디바이스는 상기 제1 이미지 및 상기 제2 이미지를 포착하도록 구성된 적어도 하나의 이미지 센서를 포함하는
    장치.
  23. 제22항에 있어서,
    상기 전자 디바이스는 모바일 전화를 포함하는
    장치.
  24. 명령어 세트를 포함하는 적어도 하나의 컴퓨터 판독가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령어 세트는 하나 이상의 프로세서에 의해 실행되는 경우 장치로 하여금 적어도,
    하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 것과,
    상기 제1 이미지 내의 상기 하나 이상의 객체를 검출하는 것 - 상기 하나 이상의 객체를 검출하는 것은 상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함 - 과,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점의 검출에 기반하여 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 것 - 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 객체 지점을 검출하는 것은 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 에피폴라선 상의 상기 제2 이미지 내의 객체 지점을 찾는 것을 포함함 - 과,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점과 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점 간의 디스패리티 값을 결정하는 것 - 상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨 - 을 수행하게 하는
    컴퓨터 프로그램 제품.
  25. 제24항에 있어서,
    상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하기 위하여, 상기 명령어 세트는 또한 상기 장치로 하여금 적어도 부분적으로,
    상기 제1 이미지의 객체 지점의 에피폴라선을 따라 상기 제2 이미지 내에서 상기 제1 이미지의 객체 지점에 대한 탐색 범위를 결정 - 상기 하나 이상의 객체 중의 제1 객체가 상기 하나 이상의 객체 중의 제2 객체보다 크기가 더 큰 경우, 상기 제1 객체의 객체 지점에 대한 탐색 범위가 상기 제2 객체의 객체 지점에 대한 탐색 범위보다 더 큼 - 하고,
    상기 객체 지점에 대해 결정된 탐색 범위 내에서 상기 제2 이미지 내의 객체 지점을 찾게 하는
    컴퓨터 프로그램 제품.
  26. 제24항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 교정된 이미지인
    컴퓨터 프로그램 제품.
  27. 제24항에 있어서,
    상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션의 차이인
    컴퓨터 프로그램 제품.
  28. 제24항 내지 제27항 중 어느 한 항에 있어서,
    상기 명령어 세트는 또한 상기 장치로 하여금 적어도 부분적으로, 상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지 내의 상기 하나 이상의 객체 중 하나의 객체를 상기 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 세그먼트화하게 하는
    컴퓨터 프로그램 제품.
  29. 제28항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 중 상기 하나의 이미지 내의 상기 객체를 세그먼트화하기 위하여, 상기 명령어 세트는 또한 상기 장치로 하여금 적어도 부분적으로,
    상기 객체의 객체 지점에 대응하는 제1 디스패리티 값 및 제2 디스패리티 값을 결정하고,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 복수의 디스패리티 값에 대해 상기 제1 이미지와 상기 제2 이미지 간의 객체 비용 함수를 계산하며,
    객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점에 대해 객체 라벨을 할당하고,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 상기 복수의 디스패리티 값이 아닌 하나 이상의 디스패리티 값에 대해 상기 제1 이미지 와 상기 제2 이미지 간의 비객체 비용 함수를 계산하며,
    상기 제1 이미지와 상기 제2 이미지 간의 상기 비객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점이 아닌 지점에 대해 비객체 라벨을 할당하고,
    상기 객체 라벨 및 상기 비객체 라벨에 기반하여 상기 이미지 내의 상기 객체를 세그먼트화하도록 하는
    컴퓨터 프로그램 제품.
  30. 제29항에 있어서,
    상기 객체 비용 함수 중에서 객체 비용 함수가 최저인 디스패리티 값이 상기 객체 라벨로서 할당되고, 상기 비객체 비용 함수 중에서 비객체 비용 함수가 최저인 디스패리티 값이 상기 비객체 라벨로서 할당되는
    컴퓨터 프로그램 제품.
  31. 제30항에 있어서,
    상기 복수의 디스패리티 값 중 하나의 디스패리티 값에 대하여 상기 제1 이미지와 상기 제2 이미지 간의 상기 객체 비용 함수를 계산하는 것은, 상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지의 픽셀이 상기 디스패리티 값만큼 이전되는 경우 상기 제1 이미지와 상기 제2 이미지 간의 하나 이상의 이미지 파라미터의 일관성의 정도를 결정하는 것을 포함하는
    컴퓨터 프로그램 제품.
  32. 제24항 내지 제31항 중 어느 한 항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 입체 이미지의 쌍인
    컴퓨터 프로그램 제품.
  33. 제24항 또는 제32항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 상기 장면의 다수의 뷰를 포착하는 것이 가능한 카메라에 의해 포착되되, 상기 카메라는 스테레오 카메라, 다중 베이스라인 카메라, 어레이 카메라 및 플렌옵틱 카메라를 포함하는 그룹으로부터 선택되는
    컴퓨터 프로그램 제품.
  34. 하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하는 수단과,
    상기 제1 이미지 내의 상기 하나 이상의 객체를 검출하는 수단 - 상기 하나 이상의 객체를 검출하는 것은 상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함 - 과,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점의 검출에 기반하여 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 수단 - 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 객체 지점을 검출하는 것은 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 에피폴라선 상의 상기 제2 이미지 내의 객체 지점을 찾는 것을 포함함 - 과,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점과 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점 간의 디스패리티 값을 결정하는 수단 - 상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨 - 을 포함하는
    장치.
  35. 제34항에 있어서,
    상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 수단은,
    상기 제1 이미지의 객체 지점의 에피폴라선을 따라 상기 제2 이미지 내에서 상기 제1 이미지의 객체 지점에 대한 탐색 범위를 결정하는 수단 - 상기 하나 이상의 객체 중의 제1 객체가 상기 하나 이상의 객체 중의 제2 객체보다 크기가 더 큰 경우, 상기 제1 객체의 객체 지점에 대한 탐색 범위는 상기 제2 객체의 객체 지점에 대한 탐색 범위보다 더 큼 - 과,
    상기 객체 지점에 대해 결정된 탐색 범위 내에서 상기 제2 이미지 내의 객체 지점을 찾는 수단을 포함하는
    장치.
  36. 제34항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 교정된 이미지인
    장치.
  37. 제34항에 있어서,
    상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션의 차이인
    장치.
  38. 제34항 내지 제37항 중 어느 한 항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지 내의 상기 하나 이상의 객체 중 하나의 객체를 상기 객체의 객체 지점과 연관된 적어도 하나의 디스패리티 값에 기반하여 세그먼트화하는 수단을 더 포함하는
    장치.
  39. 제38항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 중 상기 하나의 이미지 내의 상기 객체를 세그먼트화하는 수단은,
    상기 객체의 객체 지점에 대응하는 제1 디스패리티 값 및 제2 디스패리티 값을 결정하는 수단과,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 복수의 디스패리티 값에 대해 상기 제1 이미지 및 상기 제2 이미지 간의 객체 비용 함수를 계산하는 수단과,
    객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점에 대해 객체 라벨을 할당하는 수단과,
    상기 제1 디스패리티 값과 상기 제2 디스패리티 값 사이에 놓여 있는 상기 복수의 디스패리티 값이 아닌 하나 이상의 디스패리티 값에 대해 상기 제1 이미지 및 상기 제2 이미지 간의 비객체 비용 함수를 계산하는 수단과,
    상기 제1 이미지와 상기 제2 이미지 간의 상기 비객체 비용 함수에 기반하여 상기 이미지 내의 상기 객체의 객체 지점이 아닌 지점에 대해 비객체 라벨을 할당하는 수단과,
    상기 객체 라벨 및 상기 비객체 라벨에 기반하여 상기 이미지 내의 상기 객체를 세그먼트화하는 수단을 포함하는
    장치.
  40. 제39항에 있어서,
    상기 객체 비용 함수 중에서 객체 비용 함수가 최저인 디스패리티 값이 상기 객체 라벨로서 할당되고, 상기 비객체 비용 함수 중에서 비객체 비용 함수가 최저인 디스패리티 값이 상기 비객체 라벨로서 할당되는
    장치.
  41. 제39항에 있어서,
    상기 복수의 디스패리티 값 중 하나의 디스패리티 값에 대하여 상기 제1 이미지와 상기 제2 이미지 간의 상기 객체 비용 함수를 계산하는 것은, 상기 제1 이미지 및 상기 제2 이미지 중 하나의 이미지의 픽셀이 상기 디스패리티 값만큼 이전되는 경우 상기 제1 이미지와 상기 제2 이미지 간의 하나 이상의 이미지 파라미터의 일관성의 정도를 결정하는 것을 포함하는
    장치.
  42. 제34항 내지 제41항 중 어느 한 항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 입체 이미지의 쌍인
    장치.
  43. 제34항 또는 제42항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 상기 장면의 다수의 뷰를 포착하는 것이 가능한 카메라에 의해 포착되되, 상기 카메라는 스테레오 카메라, 다중 베이스라인 카메라, 어레이 카메라 및 플렌옵틱 카메라를 포함하는 그룹으로부터 선택되는
    장치.
  44. 프로그램 명령어를 포함하는 컴퓨터 프로그램으로서,
    상기 프로그램 명령어는 장치의 프로세서에 의해 실행되는 경우 상기 장치로 하여금,
    하나 이상의 객체를 포함하는 장면의 제1 이미지 및 제2 이미지의 수신을 가능하게 하고,
    상기 제1 이미지 내의 상기 하나 이상의 객체를 검출 - 상기 하나 이상의 객체를 검출하는 것은 상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점을 검출하는 것을 포함함 - 하며,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점의 검출에 기반하여 상기 제2 이미지 내에서 상기 하나 이상의 객체의 객체 지점을 검출 - 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 객체 지점을 검출하는 것은 상기 제1 이미지 내의 객체 지점에 대응하는 상기 제2 이미지 내의 에피폴라선 상에서 상기 제2 이미지 내의 객체 지점을 찾는 것을 포함함 - 하고,
    상기 제1 이미지 내의 상기 하나 이상의 객체의 객체 지점과 상기 제2 이미지 내의 상기 하나 이상의 객체의 객체 지점 간의 디스패리티 값을 결정 - 상기 제1 이미지 내의 객체 지점과 상기 제2 이미지 내의 객체 지점 간의 디스패리티 값은 상기 제1 이미지 내의 객체 지점의 검출된 포지션 및 상기 제2 이미지 내의 객체 지점의 검출된 포지션에 적어도 기반하여 결정됨 - 하게 하는
    컴퓨터 프로그램.
KR1020167007059A 2013-08-19 2014-07-01 객체 검출 및 세그먼트화를 위한 방법, 장치 및 컴퓨터 프로그램 제품 KR101784639B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3658/CHE/2013 2013-08-19
IN3658CH2013 2013-08-19
PCT/FI2014/050541 WO2015025073A1 (en) 2013-08-19 2014-07-01 Method, apparatus and computer program product for object detection and segmentation

Publications (2)

Publication Number Publication Date
KR20160045098A true KR20160045098A (ko) 2016-04-26
KR101784639B1 KR101784639B1 (ko) 2017-10-11

Family

ID=52483111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167007059A KR101784639B1 (ko) 2013-08-19 2014-07-01 객체 검출 및 세그먼트화를 위한 방법, 장치 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US9443130B2 (ko)
EP (1) EP3036901B1 (ko)
JP (1) JP6154075B2 (ko)
KR (1) KR101784639B1 (ko)
CN (1) CN105531998B (ko)
WO (1) WO2015025073A1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180066479A (ko) * 2016-12-09 2018-06-19 한국전자통신연구원 플렌옵틱 재초점을 이용한 자동 객체 분리 방법 및 장치
WO2019027060A1 (ko) * 2017-07-31 2019-02-07 주식회사 렛시 가상 객체 증강 장치 및 방법
KR20190118050A (ko) * 2018-04-09 2019-10-17 곽준혁 스테레오 카메라를 이용한 후방 어라운드뷰 생성 방법
KR20200010564A (ko) * 2017-06-13 2020-01-30 푸비 코그니티브 네트웍 코퍼레이션 학습, 검토, 연습 및 암기에서 사용자의 경험을 강화시키기 위한 통찰-기반 인지 보조 장치, 방법 및 시스템
KR20200020705A (ko) * 2017-05-19 2020-02-26 모비디어스 리미티드 파이프라인 실행을 최적화하기 위한 방법들, 시스템들 및 장치
KR20200052206A (ko) * 2018-11-06 2020-05-14 한국전자통신연구원 플렌옵틱 영상 처리 장치, 그것을 포함하는 플렌옵틱 영상 처리 시스템 및 그것의 객체 분할 방법
KR20210084339A (ko) * 2019-12-23 2021-07-07 센스타임 인터내셔널 피티이. 리미티드. 이미지 연관 방법, 시스템 및 장치
US11120572B2 (en) 2019-12-23 2021-09-14 Sensetime International Pte. Ltd. Method, system and apparatus for associating a target object in images
KR20220018396A (ko) * 2020-08-01 2022-02-15 센스타임 인터내셔널 피티이. 리미티드. 객체를 연관시키는 방법 및 장치, 시스템, 전자 기기, 저장 매체 및 컴퓨터 프로그램

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10068147B2 (en) * 2015-04-30 2018-09-04 Samsung Electronics Co., Ltd. System and method for insertion of photograph taker into a photograph
US10855971B2 (en) * 2015-09-16 2020-12-01 HashD, Inc. Systems and methods of creating a three-dimensional virtual image
CN106921856B (zh) * 2015-12-25 2019-07-12 北京三星通信技术研究有限公司 立体图像的处理方法、检测分割方法及相关装置和设备
US10136116B2 (en) * 2016-03-07 2018-11-20 Ricoh Company, Ltd. Object segmentation from light field data
JP6702796B2 (ja) * 2016-05-16 2020-06-03 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法および画像処理プログラム
EP3252491A1 (en) * 2016-06-02 2017-12-06 Nokia Technologies Oy An apparatus and associated methods
JP7024736B2 (ja) * 2017-02-07 2022-02-24 ソニーグループ株式会社 画像処理装置、および画像処理方法、並びにプログラム
WO2019071403A1 (zh) * 2017-10-09 2019-04-18 深圳市柔宇科技有限公司 一种图像处理方法及装置
US10679362B1 (en) 2018-05-14 2020-06-09 Vulcan Inc. Multi-camera homogeneous object trajectory alignment
US10600192B1 (en) * 2018-05-14 2020-03-24 Vulcan Inc. Multi-camera homogeneous object alignment
CN108986110A (zh) * 2018-07-02 2018-12-11 Oppo(重庆)智能科技有限公司 图像处理方法、装置、移动终端及存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862364B1 (en) * 1999-10-27 2005-03-01 Canon Kabushiki Kaisha Stereo image processing for radiography
US6671399B1 (en) * 1999-10-27 2003-12-30 Canon Kabushiki Kaisha Fast epipolar line adjustment of stereo pairs
US6754389B1 (en) * 1999-12-01 2004-06-22 Koninklijke Philips Electronics N.V. Program classification using object tracking
US7085409B2 (en) * 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
WO2002061689A1 (en) * 2001-01-30 2002-08-08 Koninklijke Philips Electronics N.V. Image processing method for displaying an image sequence of a deformable 3-d object with indications of the object wall motion
CN100499830C (zh) * 2001-08-15 2009-06-10 皇家飞利浦电子股份有限公司 3d视频会议站和3d视频会议方法
GB0125774D0 (en) * 2001-10-26 2001-12-19 Cableform Ltd Method and apparatus for image matching
US6847728B2 (en) * 2002-12-09 2005-01-25 Sarnoff Corporation Dynamic depth recovery from multiple synchronized video streams
KR100729280B1 (ko) 2005-01-08 2007-06-15 아이리텍 잉크 스테레오 카메라를 장착한 이동단말기를 이용한 홍채인식시스템 및 그 방법
US7720282B2 (en) * 2005-08-02 2010-05-18 Microsoft Corporation Stereo image segmentation
US7471292B2 (en) * 2005-11-15 2008-12-30 Sharp Laboratories Of America, Inc. Virtual view specification and synthesis in free viewpoint
US7567271B2 (en) * 2006-01-09 2009-07-28 Sony Corporation Shared color sensors for high-resolution 3-D camera
EP1806697B1 (en) * 2006-01-10 2016-08-10 Microsoft Technology Licensing, LLC Segmenting image elements
CN101489467B (zh) 2006-07-14 2011-05-04 松下电器产业株式会社 视线方向检测装置和视线方向检测方法
JP2008261756A (ja) * 2007-04-12 2008-10-30 National Institute Of Information & Communication Technology ステレオ画像対から3次元の頭部姿勢をリアルタイムで推定するための装置及びプログラム
KR20090055803A (ko) * 2007-11-29 2009-06-03 광주과학기술원 다시점 깊이맵 생성 방법 및 장치, 다시점 영상에서의변이값 생성 방법
TW201005673A (en) * 2008-07-18 2010-02-01 Ind Tech Res Inst Example-based two-dimensional to three-dimensional image conversion method, computer readable medium therefor, and system
KR20100072772A (ko) 2008-12-22 2010-07-01 한국전자통신연구원 스테레오 비전을 이용한 실시간 얼굴 검출 시스템 및 그 방법
KR101236475B1 (ko) * 2009-04-14 2013-02-22 한국전자통신연구원 얼굴 검출 장치 및 이를 이용한 거리 측정 방법
US20120242803A1 (en) * 2010-01-13 2012-09-27 Kenjiro Tsuda Stereo image capturing device, stereo image capturing method, stereo image display device, and program
JP5615088B2 (ja) * 2010-08-18 2014-10-29 キヤノン株式会社 画像処理装置及びその方法、プログラム、並びに撮像装置
US8861836B2 (en) * 2011-01-14 2014-10-14 Sony Corporation Methods and systems for 2D to 3D conversion from a portrait image
US8610712B2 (en) * 2011-03-01 2013-12-17 Adobe Systems Incorporated Object selection in stereo image pairs
JP5743142B2 (ja) * 2011-03-29 2015-07-01 ソニー株式会社 画像理装置および方法、並びにプログラム
US8810640B2 (en) * 2011-05-16 2014-08-19 Ut-Battelle, Llc Intrinsic feature-based pose measurement for imaging motion compensation
US9002099B2 (en) * 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
JP2013105392A (ja) * 2011-11-15 2013-05-30 Kanazawa Univ 運転支援システム、運転支援方法、及び、プログラム
US8605993B2 (en) * 2011-11-21 2013-12-10 Robo-team Ltd. Methods and systems of merging depth data from a plurality of disparity maps
US9336592B2 (en) * 2012-02-03 2016-05-10 The Trustees Of Dartmouth College Method and apparatus for determining tumor shift during surgery using a stereo-optical three-dimensional surface-mapping system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180066479A (ko) * 2016-12-09 2018-06-19 한국전자통신연구원 플렌옵틱 재초점을 이용한 자동 객체 분리 방법 및 장치
KR20200020705A (ko) * 2017-05-19 2020-02-26 모비디어스 리미티드 파이프라인 실행을 최적화하기 위한 방법들, 시스템들 및 장치
KR20200010564A (ko) * 2017-06-13 2020-01-30 푸비 코그니티브 네트웍 코퍼레이션 학습, 검토, 연습 및 암기에서 사용자의 경험을 강화시키기 위한 통찰-기반 인지 보조 장치, 방법 및 시스템
WO2019027060A1 (ko) * 2017-07-31 2019-02-07 주식회사 렛시 가상 객체 증강 장치 및 방법
KR20190118050A (ko) * 2018-04-09 2019-10-17 곽준혁 스테레오 카메라를 이용한 후방 어라운드뷰 생성 방법
KR20200052206A (ko) * 2018-11-06 2020-05-14 한국전자통신연구원 플렌옵틱 영상 처리 장치, 그것을 포함하는 플렌옵틱 영상 처리 시스템 및 그것의 객체 분할 방법
KR20210084339A (ko) * 2019-12-23 2021-07-07 센스타임 인터내셔널 피티이. 리미티드. 이미지 연관 방법, 시스템 및 장치
US11120572B2 (en) 2019-12-23 2021-09-14 Sensetime International Pte. Ltd. Method, system and apparatus for associating a target object in images
KR20220018396A (ko) * 2020-08-01 2022-02-15 센스타임 인터내셔널 피티이. 리미티드. 객체를 연관시키는 방법 및 장치, 시스템, 전자 기기, 저장 매체 및 컴퓨터 프로그램
US11605215B2 (en) 2020-08-01 2023-03-14 Sensetime International Pte. Ltd. Object association method, apparatus and system, and storage medium

Also Published As

Publication number Publication date
EP3036901A1 (en) 2016-06-29
US9443130B2 (en) 2016-09-13
CN105531998A (zh) 2016-04-27
KR101784639B1 (ko) 2017-10-11
US20150078669A1 (en) 2015-03-19
JP6154075B2 (ja) 2017-06-28
EP3036901B1 (en) 2019-01-30
CN105531998B (zh) 2017-07-07
WO2015025073A1 (en) 2015-02-26
JP2016535353A (ja) 2016-11-10
EP3036901A4 (en) 2017-04-12

Similar Documents

Publication Publication Date Title
KR101784639B1 (ko) 객체 검출 및 세그먼트화를 위한 방법, 장치 및 컴퓨터 프로그램 제품
US9542750B2 (en) Method, apparatus and computer program product for depth estimation of stereo images
EP2874395A2 (en) Method, apparatus and computer program product for disparity estimation
US10015464B2 (en) Method, apparatus and computer program product for modifying illumination in an image
JP5996013B2 (ja) 立体画像の視差マップ推定のための方法,装置及びコンピュータプログラム製品
US10003743B2 (en) Method, apparatus and computer program product for image refocusing for light-field images
EP2736011B1 (en) Method, apparatus and computer program product for generating super-resolved images
US9478036B2 (en) Method, apparatus and computer program product for disparity estimation of plenoptic images
WO2014184417A1 (en) Method, apparatus and computer program product to represent motion in composite images
EP2876603B1 (en) Method and apparatus for segmentation of foreground objects in images and processing thereof
US9183618B2 (en) Method, apparatus and computer program product for alignment of frames
EP2750391B1 (en) Method, apparatus and computer program product for processing of images
US9489741B2 (en) Method, apparatus and computer program product for disparity estimation of foreground objects in images
US10097807B2 (en) Method, apparatus and computer program product for blending multimedia content
US20130107008A1 (en) Method, apparatus and computer program product for capturing images
WO2015055892A1 (en) Method, apparatus and computer program product for detection and correction of image defect

Legal Events

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