KR20220004460A - 이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치 - Google Patents

이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치 Download PDF

Info

Publication number
KR20220004460A
KR20220004460A KR1020200082313A KR20200082313A KR20220004460A KR 20220004460 A KR20220004460 A KR 20220004460A KR 1020200082313 A KR1020200082313 A KR 1020200082313A KR 20200082313 A KR20200082313 A KR 20200082313A KR 20220004460 A KR20220004460 A KR 20220004460A
Authority
KR
South Korea
Prior art keywords
presenter
image
tile
tiles
feature point
Prior art date
Application number
KR1020200082313A
Other languages
English (en)
Inventor
성창훈
김덕환
김병덕
김태의
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020200082313A priority Critical patent/KR20220004460A/ko
Priority to US17/204,434 priority patent/US11580617B2/en
Priority to CN202110688931.5A priority patent/CN113962909A/zh
Publication of KR20220004460A publication Critical patent/KR20220004460A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06T3/02
    • G06T5/90
    • 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/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

이미지 병합 방법은, 복수의 입력 이미지들의 각각에 포함되는 특징 점들을 추출하고 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매칭 정보를 발생하는 단계, 상기 매칭 정보에 기초하여 상기 복수의 입력 이미지들 중에서 기준 이미지를 선택하는 단계, 상기 매칭 정보에 기초하여 상기 복수의 입력 이미지들 중에서 노이즈 이미지를 제거하여 유효 이미지들을 결정하는 단계, 상기 유효 이미지들을 각각 상기 기준 이미지에 정렬한 동기화 이미지들을 발생하기 위한 2차원 번들 조정을 수행하는 단계 및 상기 기준 이미지 및 상기 동기화 이미지들을 병합하여 병합 이미지를 발생하는 단계를 포함한다. 효율적인 기준 이미지 선택 및 2차원 번들 조정을 통해 이미지 병합 성능을 향상시킬 수 있다.

Description

이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치{Method of matching images for merging the images and data processing device performing the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 이미지 병합을 위한 이미지 매칭 방법 및 상기 이미지 매칭 방법을 수행하는 데이터 처리 장치에 관한 것이다.
복수의 이미지들 간의 대응점들을 이용하여 영상을 병합하는 것은 컴퓨터 비젼 분야에서 기본적인 문제로 병합된 이미지는 이미지 스티칭(image stitching), 노이즈 감소(noise reduction), 동적 범위(dynamic range)의 변환 등 다양한 이미지 처리에 적용이 된다. 이미지 병합을 위해서는 먼저 복수의 이미지들의 각각에 포함되는 특징 점들의 대응 관계를 구하는 이미지 매칭이 선행된다. 이러한 이미지 매칭을 위해서는 많은 연산량이 요구되고, 이미지 매칭의 결과에 따라서 병합된 이미지의 품질이 결정된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 이미지들을 효율적으로 매칭하고 병합할 수 있는 이미지 매칭 방법 및 상기 이미지 매칭 방법을 수행하는 데이터 처리 장치를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 이미지 매칭 방법은, 복수의 입력 이미지들의 각각에 대하여, 각각의 입력 이미지를 복수의 이미지 타일들로 분할하는 단계, 상기 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생하는 단계, 상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생하는 단계 및 상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들에 기초하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 이미지 매칭 방법은, 복수의 입력 이미지들의 각각에 대하여, 각각의 입력 이미지를 복수의 이미지 타일들로 분할하는 단계, 상기 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생하는 단계, 상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생하는 단계, 상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들을 메모리 장치에 저장하는 단계, 상기 메모리 장치에 저장된 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 상응하는 표현자 맵들에 포함되는 표현자 타일들의 어드레스들에 기초하여 유사도 결정을 위한 표현자 타일들을 독출하는 단계, 독출된 표현자 타일들에 포함되는 표현자들 사이의 유사도들을 결정하는 단계 및 상기 유사도들에 기초하여, 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생하는 단계를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 데이터 처리 장치는, 특징 점 맵 발생부, 표현자 맵 발생부 및 이미지 매칭부를 포함한다. 상기 특징 점 맵 발생부는 복수의 입력 이미지들의 각각의 입력 이미지를 분할한 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생한다. 상기 표현자 맵 발생부는 상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생한다. 상기 이미지 매칭부는 상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들에 기초하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생한다.
본 발명의 실시예들에 따른 이미지 매칭 방법 및 상기 이미지 매칭 방법을 수행하는 데이터 처리 장치는 입력 이미지를 복수의 이미지 타일들로 분할하여 특징 점들의 분포 균일성을 향상함으로써 이미지 병합 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 이미지 매칭 방법 및 상기 이미지 매칭 방법을 수행하는 데이터 처리 장치는 복수의 이미지 타일들에 상응하는 특징 점 맵 및 표현자 맵을 이용하여 이미지 매칭에 필요한 연산량 및 프로세싱 시간을 감소함으로써 이미지 병합 성능을 더욱 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 이미지 매칭 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 이미지 매칭 방법을 수행하는 시스템을 나타내는 블록도이다.
도 3은 본 발명의 실시예들에 따른 이미지 매칭 방법을 수행하는 시스템을 나타내는 블록도이다.
도 4a 및 4b는 병합 대상이 되는 입력 이미지들의 제공 방법의 실시예들을 나타내는 도면들이다.
도 5는 본 발명의 실시예들에 따른 이미지 매칭 방법에 사용되는 특징 점 검출 방식의 예들을 나타내는 도면들이다.
도 6은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 이미지 분할의 일 실시예를 나타내는 도면이다.
도 7은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점 맵 및 표현자 맵의 발생의 일 실시예를 나타내는 도면이다.
도 8은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 입력 이미지, 특징 점 맵 및 표현자 맵의 타일들의 대응 관계를 나타내는 도면이다.
도 9는 특징 점들의 대응 관계를 판별하기 위한 검색 영역을 나타내는 도면이다.
도 10은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 검색 영역을 나타내는 도면이다.
도 11은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 매핑 정보의 일 예를 나타내는 도면이다.
도 12는 본 발명의 실시예들에 따른 이미지 매칭 방법을 나타내는 순서도이다.
도 13은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점 맵 및 표현자 맵의 저장 순서의 일 실시예를 나타내는 도면이다.
도 14 및 15는 도 13의 저장 순서에 따라서 특징 점 맵 및 표현자 맵에 할당되는 어드레스들을 나타내는 도면들이다.
도 16은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 데이터 독출의 일 실시예를 나타내는 순서도이다.
도 17은 도 16의 데이터 독출 방법을 설명하기 위한 도면이다.
도 18은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점 맵 및 표현자 맵의 저장 순서의 일 실시예를 나타내는 도면이다.
도 19 및 20은 도 18의 저장 순서에 따라서 특징 점 맵 및 표현자 맵에 할당되는 어드레스들을 나타내는 도면들이다.
도 21은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점의 좌표를 나타내는 도면이다.
도 22은 본 발명의 실시예들에 따른 이미지 병합 방법을 나타내는 순서도이다.
도 23a 내지 23d는 본 발명의 실시예들에 따른 이미지 병합 방법에 사용되는 이미지 변환의 예들을 나타내는 도면들이다.
도 24는 본 발명의 실시예들에 따른 이미지 병합 방법에 사용되는 호모그래피 행렬을 설명하기 위한 도면이다.
도 25는 복수의 입력 이미지들 사이의 호모그래피 행렬들을 나타내는 도면이다.
도 26은 복수의 입력 이미지들의 병합 과정을 나타내는 도면이다.
도 27은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 이미지 병합 방법을 나타내는 순서도이다.
도 1을 참조하면, 복수의 입력 이미지들의 각각에 대하여, 각각의 입력 이미지를 복수의 이미지 타일들로 분할한다(S100).
상기 복수의 이미지 타일들이 동일한 행 수 및 동일한 열 수에 상응하는 픽셀들을 각각 포함하도록 상기 각각의 입력 이미지를 균일하게 분할할 수 있다. 상기 입력 이미지의 분할 및 이미지 타일들에 대해서는 도 6을 참조하여 설명한다.
상기 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생한다(S200). 또한, 상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생한다(S300).
일 실시예에서, 상기 각각의 이미지 타일에 포함되는 특징 점들의 개수를 타일 특징 점 최대 개수 이하로 제한할 수 있다. 예를 들어, 상기 각각의 입력 이미지에 포함되는 특징 점들의 최대 개수를 나타내는 이미지 특징 점 최대 개수를 결정하고, 상기 이미지 특징 점 최대 개수를 상기 복수의 이미지 타일들의 개수로 나눈 값을 상기 타일 특징 점 최대 개수로 결정할 수 있다. 상기 특징 점 맵 및 표현자 맵에 대해서는 도 7 및 8을 참조하여 후술한다.
상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들에 기초하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생한다(S400). 상기 매핑 정보를 이용하여 상기 복수의 입력 이미지들을 동기화하여 병합 이미지를 발생할 수 있다.
상기 복수의 입력 이미지들은 병합 대상이 되는 상호 연관된 이미지들의 세트에 해당한다. 상기 복수의 입력 이미지들은 동일한 장면(scene)의 적어도 일부를 공통적으로 포함할 수 있다.
일 실시예에서, 도 4a를 참조하여 후술하는 바와 같이, 상기 복수의 입력 이미지들은 복수의 카메라들에 의해 각각 캡쳐된 이미지들일 수 있다. 다른 실시예에서, 도 4b를 참조하여 후술하는 바와 같이, 상기 복수의 입력 이미지들은 1개의 카메라에 의해 순차적으로 캡쳐된 이미지들일 수 있다.
이와 같이, 본 발명의 실시예들에 따른 이미지 매칭 방법은 입력 이미지를 복수의 이미지 타일들로 분할하여 특징 점들의 분포 균일성을 향상함으로써 이미지 병합 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 이미지 매칭 방법은 복수의 이미지 타일들에 상응하는 특징 점 맵 및 표현자 맵을 이용하여 이미지 매칭에 필요한 연산량 및 프로세싱 시간을 감소함으로써 이미지 병합 성능을 더욱 향상시킬 수 있다.
도 2는 본 발명의 실시예들에 따른 이미지 매칭 방법을 수행하는 시스템을 나타내는 블록도이다.
도 2를 참조하면, 시스템(10)은 데이터 처리 장치(20) 및 메모리 장치(MEM)(30)를 포함할 수 있다.
데이터 처리 장치(20)는 제어부(CTRL)(100), 특징 추출부(200), 이미지 매칭부(300) 및 이미지 병합부(MRG)(400)를 포함할 수 있다.
제어부(100)는 특징 추출부(200), 이미지 매칭부(300) 및 이미지 병합부(400)의 전반적인 동작들을 제어할 수 있다. 제어부(100)는 특징 추출부(200), 이미지 매칭부(300) 및 이미지 병합부(400)의 동작을 제어하기 위한 제어 신호들을 발생할 수 있다.
특징 추출부(200)는 이미지 타일 버퍼(ITBF)(210), 특징 점 맵 발생부(KMG)(220) 및 표현자 맵 발생부(DMG)(230)를 포함할 수 있다.
이미지 타일 버퍼(210)는 복수의 입력 이미지들의 각각 입력 이미지를 분할한 복수의 이미지 타일들을 타일 단위로 저장할 수 있다.
특징 점 맵 발생부(220)는 상기 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵(FMP)을 발생할 수 있다.
표현자 맵 발생부(230)는 상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵(DMP)을 발생할 수 있다.
이미지 매칭부(300)는 상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들에 기초하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보(MINF)를 발생할 수 있다. 이미지 매칭부(300)는 표현자 맵 버퍼(DMBF)(310) 및 매칭기(matcher)(MTCH)(320)를 포함할 수 있다. 유사도 결정에 필요한 표현자 타일들이 표현자 맵 버퍼(310)에 로딩되고, 매칭기(320)는 표현자 맵 버퍼(310)에 로딩된 표현자들 사이의 유사도들에 기초하여 매핑 정보(MINF)를 발생할 수 있다.
이미지 병합부(400)는 매핑 정보(MINF)에 기초하여 상기 복수의 입력 이미지들을 병합하여 병합 이미지를 발생할 수 있다. 도 22 내지 26을 참조하여 후술하는 바와 같이, 이미지 병합부(500)는 매핑 정보(MINF)에 기초하여 상기 복수의 입력 이미지들 사이의 변환을 나타내는 호모그래피 행렬들을 발생하고, 상기 호모그래피 행렬들에 기초하여 상기 복수의 입력 이미지들을 동기화하여 복수의 동기화 이미지들을 발생할 수 있다. 이미지 병합부(400)는 상기 동기화 이미지들을 이용하여 이미지 스티칭(image stitching), 노이즈 감소(noise reduction), 동적 범위(dynamic range)의 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
메모리 장치(30)는 카메라와 같은 외부 장치로부터 제공되는 입력 이미지들을 수신하여 저장할 수 있다. 메모리 장치(30)는 병합 대상이 되는 하나의 이미지 세트를 구성하는 복수의 입력 이미지들을 특징 추출부(200) 및 이미지 병합부(400)에 제공할 수 있다. 또한, 메모리 장치(30)는 이미지 병합부(400)에서 발생되는 병합 이미지를 저장할 수 있다.
일 실시예에서, 메모리 장치(30)는 복수의 입력 이미지들에 상응하는 특징 점 맵들(FMP) 및 표현자 맵들(DMP)들을 저장할 수 있다. 메모리 장치(30)는 저장된 표현자 맵들(DMP)을 이미지 매칭부(300)에 제공할 수 있다. 이미지 매칭부(300)는 표현자 맵들(DMP)에 기초하여 표현자들 사이의 유사도들을 결정하고, 결정된 유사도들에 기초하여 매핑 정보(MINF)를 발생할 수 있다.
도 2에는 이미지 타일 버퍼(210) 및 표현자 맵 버퍼(310)를 별개의 구성요소들인 것으로 도시되어 있으나, 실시예들에 따라서 이미지 타일 버퍼(210) 및 표현자 맵 버퍼(310)는 하나의 장치로 구현될 수도 있다. 메모리 장치(30)는 데이터 처리 장치(20)에 전속된 메모리 장치일 수도 있고, 데이터 처리 장치(20)가 포함되는 시스템(10)의 공용 메모리 장치일 수도 있다.
일 실시예에서, 이미지 타일 버퍼(210) 및 표현자 맵 버퍼(310)는 정적 랜덤 액세스 메모리(SRAM, static random access memory)로 구현될 수 있고, 메모리 장치(30)는 동적 랜덤 액세스 메모리(DRAM, dynamic random access memory)로 구현될 수 있으나, 본 발명의 실시예들이 이에 한정되는 것은 아니다.
일 실시예에서, 제어부(100)는 특징 점 맵들(FMP)에 포함되는 특징 점 타일들 및 표현자 맵들(DMP)에 포함되는 표현자 타일들을 일정한 저장 순서에 따라서 순차적으로 메모리 장치(30)에 저장할 수 있다. 이를 위하여, 제어부(100)는 어드레스 발생기(ADDG)(110)를 포함할 수 있다. 어드레스 발생기(110)는 상기 저장 순서에 상응하는 액세스 어드레스(ACCAD)를 발생하여 메모리 장치(30)로 제공할 수 있다. 어드레스 발생기(110)에서 발생되는 상기 저장 순서에 상응하는 액세스 어드레스(ACCAD)의 발생에 대해서는 도 12 내지 20을 참조하여 후술한다.
이와 같이, 본 발명의 실시예들에 따른 이미지 매칭 방법을 수행하는 데이터 처리 장치(20)는 입력 이미지를 복수의 이미지 타일들로 분할하여 특징 점들의 분포 균일성을 향상함으로써 이미지 병합 성능을 향상시킬 수 있다. 또한, 본 발명의 실시예들에 따른 이미지 매칭 방법을 수행하는 데이터 처리 장치(20)는 복수의 이미지 타일들에 상응하는 특징 점 맵 및 표현자 맵을 이용하여 이미지 매칭에 필요한 연산량 및 프로세싱 시간을 감소함으로써 이미지 병합 성능을 더욱 향상시킬 수 있다.
도 3은 본 발명의 실시예들에 따른 이미지 매칭 방법을 수행하는 시스템을 나타내는 블록도이다.
도 3을 참조하면, 시스템(1000)은 카메라부(CAM)(1114), 트랜시버(TRX)(1140), 제어 유닛(1160) 및 사용자 인터페이스(1150)를 포함할 수 있다.
카메라부(1114)는 이미지를 캡쳐하여 제공하는 적어도 하나의 이미지 센서 또는 적어도 하나의 카메라를 포함할 수 있다. 일 실시예에서, 도 4a를 참조하여 후술하는 바와 같이, 카메라부(1114)는 복수의 카메라들을 포함할 수 있고, 상기 복수의 카메라들에 의해 각각 캡쳐된 이미지들을 병합 대상이 되는 복수의 입력 이미지들로서 제공할 수 있다. 다른 실시예에서, 도 4b를 참조하여 후술하는 바와 같이, 카메라부(1114)는 1개의 카메라에 의해 순차적으로 캡쳐된 이미지들을 병합 대상이 되는 복수의 입력 이미지들로서 제공할 수 있다.
트랜시버(140)는 유선 또는 무선 통신 링크를 통해 또 다른 네트워크(예를 들어, 광역 네트워크, 이를테면, 인터넷 또는 셀룰러 네트워크)로의 연결성(connectivity)을 제공할 수 있다.
사용자 인터페이스(1150)는 키보드, 키패드와 같은 입력 수단(DSP)(1152) 및 이미지를 표시하는 디스플레이(DIS)(1112)를 포함할 수 있다. 터치 스크린/센서를 갖는 디스플레이(1112)로 가상 키패드를 통합시키는 경우 키보드 또는 키패드(1152)는 생략될 수 있다.
제어 유닛(1116)은 범용 프로세서(PRC)(1161), 하드웨어(HW)(1162), 펌웨어(FW)(1163), 저장부(MEM)(1164), 디지털 신호 프로세서(DSP)(1166), 그래픽 엔진(GENG)(1167) 및 버스(1177)을 포함할 수 있다.
제어 유닛(1160)은 본 발명의 실시예들에 따른 이미지 병합 방법을 구현하도록 구성될 수 있다. 예를 들어, 제어 유닛(1160)은 도 2를 참조하여 설명한 데이터 처리 장치(20)의 기능들을 구현하도록 구성될 수 있다.
본 발명의 실시예들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다.
일 실시예에서, 본 발명의 실시예들에 따른 이미지 매칭 방법은 디지털 신호 프로세서(1166)에 의해 수행될 수 있다. 즉 도 2를 참조하여 설명한 데이터 처리 장치(20)는 이미지 신호 프로세서(1166)에 포함될 수 있다.
일 실시예에서, 이미지 매칭 방법의 적어도 일부는 데이터 처리 장치로 하여금 이미지 프로세싱하게 하는 실행가능한 프로그램 명령들의 형태로 구현될 수 있다. 상기 프로그램 명령들은 소프트웨어(SW)(1165)의 형태로 저장부(1164)에 저장되고 프로세서(1161) 및/또는 디지털 신호 프로세서(1166)에 의해 상기 프로그램 명령들이 실행될 수 있다.
프로세서(1161)는, 컴퓨터 프로그램을 구성하는 명령들과 같은, 명령들을 실행하기 위한 하드웨어를 포함한다. 명령들을 실행하기 위해, 프로세서(1161)는 내부 레지스터, 내부 캐시(cache), 저장부(1164)로부터 상기 명령들을 검색(retrieve)(또는 페치(fetch))하고; 상기 명령들을 디코딩 및 실행하고; 그 다음에, 하나 이상의 결과들을 내부 레지스터, 내부 캐시 및/또는 저장부(1164)에 기입할 수 있다.
시스템(1000)은 어떤 적절한 물리적 형태를 취하는 컴퓨터 시스템일 수 있다. 시스템(1000)은 내장형(embedded) 컴퓨터 시스템, 시스템-온-칩(system-on-chip: SOC), 단일-보드 컴퓨터 시스템(single-board computer system: SBC)(예를 들면, 컴퓨터-온-모듈(computer-on-module: COM) 또는 시스템-온-모듈(system-on-module: SOM)과 같은 것), 데스크탑 컴퓨터 시스템, 랩탑 또는 노트북 컴퓨터 시스템, 대화형 키오스크(interactive kiosk), 메인프레임, 컴퓨터 시스템들의 메시(mesh), 모바일 전화, 개인 정보 단말기(personal digital assistant: PDA), 서버, 태블릿 컴퓨터 시스템, 또는 이들 중 둘 이상의 조합일 수 있다.
본 명세서에서, 컴퓨터-판독가능한 저장 매체 또는 매체들은, 적절한 경우, 하나 이상의 반도체-기반 또는 기타 집적 회로들(integrated circuits: ICs)(예를 들면, 필드 프로그램가능 게이트 어레이들(field-programmable gate arrays: FPGAs) 또는 애플리케이션 특정적 IC들(application-specific ICs: ASICs)), 하드디스크 드라이브들(HDDs), 하이브리드 하드 드라이브들(hybrid hard drives: HHDs), 광디스크들, 광디스크 드라이브들(optical disc drives: ODDs), 광자기 디스크들, 광자기 드라이브들, 플로피 디스켓들, 플로피 디스크 드라이브들(floppy disk drives: FDDs), 자기 테이프들, 고체 상태 드라이브들(SSDs), RAM 드라이브들, 시큐어 디지털(SECURE DIGITAL) 카드들 또는 드라이브들, 다른 어떤 적절한 컴퓨터-판독가능한 저장 매체들, 또는 이들 중 둘 이상의 어떤 적절한 조합을 포함할 수 있다. 적절한 경우, 컴퓨터-판독가능한 저장 매체는 휘발성, 비휘발성, 또는 휘발성 및 비휘발성의 조합일 수 있다.
도 4a 및 4b는 병합 대상이 되는 입력 이미지들의 제공 방법의 실시예들을 나타내는 도면들이다.
도 4a에는 축(AX) 상에 배열된 복수의 카메라들(CAM1, CAM2)의 예시적인 어레이가 도시되어 있다. 전술한 병합 대상이 되는 복수의 입력 이미지들은 이와 같은 복수의 카메라들(CAM1, CAM2)에 의해 각각 캡쳐된 이미지들(I1, I2)일 수 있다. 도시의 편의상 도 4a에는 2개의 카메라들이 도시되어 있으나, 이에 한정되는 것은 아니며 3개 이상의 카메라들을 이용하여 병합대상이 되는 복수의 이미지들이 제공될 수 있다.
실시예들에 따라서, 카메라들(CAM1, CAM2)은 개별 사진 이미지들을 캡처하거나 또는 일련의 이미지들을 비디오로서 캡처하도록 구성된, 이미지 센서를 포함할 수 있다. 예를 들어, 카메라(212)는 전하 결합 소자(charge-coupled device: CCD) 이미지 센서 또는 상보형 금속산화 반도체(complementary metal-oxide-semiconductor: CMOS) 능동 픽셀(active-pixel) 이미지 센서를 포함할 수 있다.
카메라들(CAM1, CAM2)은 카메라(212)의 렌즈 어셈블리의 위치, 초점 거리(focal length), 또는 배율(magnification) 및 카메라(212)의 이미지 센서의 위치 또는 크기에 적어도 부분적으로 의존하는, 시야(field of view: FOV)를 가질 수 있다. 도 4a에 도시된 바와 같이, 제1 카메라(CAM1)는 제1 시야 범위(FOV1)를 가질 수 있고 제2 카메라(CAM2)는 제2 시야 범위(FOV2)를 가질 수 있다.
FOV는 카메라들(CAM1, CAM2)을 통해 볼 수 있는 특정 장면의 수평, 수직, 또는 대각선 범위(extent)를 의미할 수 있다. 카메라들(CAM1, CAM2)의 FOV 내의 객체들은 카메라(212)의 이미지 센서에 의해 캡처될 수 있고, 상기 FOV 밖의 객체들은 상기 이미지 센서 상에 나타나지 않을 수 있다.
카메라는 가리키는 각도 또는 방향을 나타내는 배향(orientation)을 가질 수 있다. 도 4a에 도시된 바와 같이, 제1 카메라(CAM1)는 제1 배향(ORT1)을 가질 수 있고 제2 카메라(CAM2)는 제2 배향(ORT1)을 가질 수 있다.
카메라간 간격(inter-camera spacing)(ICS), 카메라들(CAM1, CAM2)의 시야 범위들(FOV1, FOV2) 및 배향들(ORT1, ORT2)에 의존하여 카메라들(CAM1, CAM2)에 의해 캡쳐되는 이미지들(I1, I2)의 중첩 영역은 변화하게 된다. 따라서, 이미지들(I1, I2)의 효율적인 병합을 위해서는 먼저 이미지들(I1, I2)을 동일한 2차원 평면에 정렬하여 동기화 또는 좌표 동기화하는 과정이 요구된다.
도 4b에 도시된 바와 같이, 전술한 병합 대상이 되는 복수의 입력 이미지들은 1개의 카메라(CAM)에 의해 순차적으로 캡쳐된 이미지들 이미지들(I1, I2)일 수 있다. 예를 들어, 이미지들(I1, I2)은 연속 촬영 모드에 의해 캡쳐된 이미지들일 수도 있고, 하나의 이미지의 품질 향상을 위한 오버샘플링되는 이미지들일 수도 있다. 이 경우 이미지들(I1, I2)이 캡쳐되는 시간적 차이가 발생하고, 모바일용 카메라의 경우에는 사용자의 손떨림 등에 의해 이미지들(I1, I2)의 중첩 영역은 변화하게 된다. 따라서, 도 4b의 경우와 마찬가지로 이미지들(I1, I2)의 효율적인 병합을 위해서는 먼저 이미지들(I1, I2)을 동일한 2차원 평면에 정렬하여 동기화 또는 좌표 동기화하는 과정이 요구된다.
도 5는 본 발명의 실시예들에 따른 이미지 매칭 방법에 사용되는 특징 점 검출 방식의 예들을 나타내는 도면들이다.
이미지에서 물체를 추적하거나 인식할 때, 이미지들을 매칭할 때 가장 일반적인 방법은 이미지에서 주요 특징 점들(feature points)을 추출하여 매칭하는 것이다. 특징 점은 통상 키 포인트(key point) 또는 관심 점(interesting point)라 지칭될 수 있다.
첫번째 이미지와 대응되는 지점을 두번째 이미지에서 찾는다고 했을 때, A 지점은 쉽게 찾을 수 있지만 B 지점은 찾기가 곤란할 수 있다. 이와 같이 이미지들을 매칭하는데 있어서 A 지점처럼 주위 배경과 구분되면서 식별이 용이한 지점을 특징 점으로 추출할 수 있다.
좋은 특징 점이 되기 위한 조건은, 물체의 형태나 크기, 위치가 변해도 쉽게 식별이 가능할 것, 카메라의 시점, 조명이 변해도 영상에서 해당 지점을 쉽게 찾아낼 수 있을 것 등이 있다.
이미지에서 이러한 조건을 만족하는 가장 좋은 특징 점 은 바로 코너점(corner point)이며, 도 5에 도시된 해리스 코너(Harris Corner), SIFT 코너와 같은 대부분의 특징 점 추출 알고리즘들은 이러한 코너점 검출을 바탕을 두고 있다.
실시예들에 따라서, 특징 점 검출 및 매칭은 이미지의 그레이스케일(grayscale) 버전들에 대해 수행될 수 있고, 특정 콘트라스트는 별도의 연산(operation)에서 또는 룩업 테이블(look-up table)을 통해 이미지들에 적용될 수 있다.
실시예들에 따라서, 특징 점 검출은 로컬 콘트라스트 향상을 이용하여 이미지에 대해 글로벌하게 수행될 수 있다. 로컬 콘트라스트 향상은 "로컬" 콘트라스트를 증가시키는 동시에 "글로벌" 콘트라스트의 증가를 방지하여, 대규모 섀도우(shadow)/하이라이트(hightlight) 디테일을 보호할 수 있다.
예를 드렁, 로컬 콘트라스트 경사들(gradients)은 특징에 대응되는 에지, 코너(corner), 또는 "블롭(blob)"을 나타낼 수 있다. 이미지의 특징들은, 예를 들면, 스케일 불변 특징 변환(scale-invariant feature transform: SIFT), 고속의 강인한 특징 추출(speeded up robust features: SURF), 또는 배향된 FAST 및 회전된 BRIEF(oriented FAST and Rotated BRIEF: ORB) 와 같은 특징 검출 알고리즘을 이용하여 검출될 수 있다. 여기서 FAST는 "가속된 세그먼트 테스트로부터의 특징들(features from accelerated segment test)"을 나타내고 BRIEF는 "이진 강건한 독립적 기본 특징들(binary robust independent elementary features)"을 나타낸다.
특정 실시예들에서, 특징 점 검출 프로세스는 하나 이상의 특징 점들을 검출할 수 있다. 예를 들어, 특징 점들은 다수의 가우스 평활화 연산들(Gaussian smoothing operations)의 차이를 취하여 검출될 수 있다. 또한, 특징 점들의 위치 및 각 특징 점의 콘트라스트 값들은 저장될 수 있다.
실시예들에 따라서, 특징 점들을 매칭하는 데 이용되는 영역의 크기는 이미지들의 크기에 따라 설정될 수 있다. 특정 실시예들에서, 카메라 시스템의 기하구조를 알 수 있으며, 알려진 카메라 시스템 기하구조에 기반하여, 인접한 이미지들의 중첩 영역들의 대략적인 픽셀수는 선험적으로 알 수 있다. 제한으로서가 아니라 예로서, 카메라 시스템의 카메라들의 위치 및 배향은 서로에 대해 고정되어 있기 때문에, 카메라들 간의 중첩도 또한 알 수 있다.
특정 실시예들에서, 특징 점들의 대응 쌍들을 결정하는 단계는 최근접 이웃(nearest-neighbor) 검색 알고리즘을 이용하여 수행될 수 있다. 예를 들어, 최근접 이웃 검색 알고리즘은, 이미지의 중첩 영역의 각 검색 영역 내의 특징 점들의 대응 패턴들과 매칭되는, 이미지의 중첩 영역의 각 검색 영역 내의 특징 점들의 패턴들을 식별할 수 있다.
특정 실시예들에서, 최근접 이웃 알고리즘은 대응 특징 점들의 쌍들을 결정하기 위해 각 특징 점 주위의 검색 영역을 이용할 수 있다. 검색 영역은 32 픽셀, 64 픽셀의 반경, 또는 어떤 적절한 반경을 가질 수 있거나, 또는 검색 영역은 32 픽셀 Х 32 픽셀, 64 픽셀 Х 64 픽셀의 크기, 또는 어떤 적절한 크기를 가질 수 있다.
특정 실시예들에서, 최종 호모그래피(homography) 계산 전에 상기 대응 특징 점들의 쌍들을 재정렬하기 위해 이차적 개량(secondary refinement) 단계가 이용될 수 있다.
도 6은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 이미지 분할의 일 실시예를 나타내는 도면이다.
도 6을 참조하면, 각각의 입력 이미지(Is)는 복수의 이미지 타일들(
Figure pat00001
Figure pat00002
)로 분할될 수 있다.
Figure pat00003
Figure pat00004
에서 s는 입력 이미지의 인덱스를 나타내고, i는 타일 행 인덱스를 나타내고, j는 타일 열 인덱스를 나타낸다.
복수의 이미지 타일들(
Figure pat00005
Figure pat00006
)이 동일한 행 수 및 동일한 열 수에 상응하는 픽셀들을 각각 포함하도록 각각의 입력 이미지(Is)를 균일하게 분할할 수 있다. 다시 말해, 복수의 이미지 타일들(
Figure pat00007
Figure pat00008
)의 행 사이즈(SZA') 및 열 사이즈(SZB')는 모두 동일하게 되도록 각각의 입력 이미지(Is)를 분할할 수 있다.
이미지 타일의 행 사이즈(SZA') 및 열 사이즈(SZB')가 결정되면, 분할된 이미지 타일들의 행 개수(N) 및 열 개수(M)는 수학식 1과 같이 결정될 수 있고, 결과적으로 각각의 입력 이미지(Is)는 N*M 개의 이미지 타일들(
Figure pat00009
Figure pat00010
)을 포함할 수 있다.
[수학식 1]
N = SZA/SZA'
M = SZB/SZB'
수학식 1에서, N은 이미지 타일들의 행 개수를 나타내고, M은 이미지 타일들의 열 개수를 나타내고, SZA는 각각의 입력 이미지의 행 사이즈를 나타내고, SZB는 각각의 입력 이미지의 열 사이즈를 나타내고, SZA'는 각각의 이미지 타일의 행 사이즈를 나타내고, SZB'는 각각의 이미지 타일의 열 사이즈를 나타낸다.
이와 같이 각각의 입력 이미지(Is)를 균일하게 분할함으로써 후술하는 바와 같이 특징 점들의 분포 균일성을 향상시킬 수 있고 이미지 매칭에 필요한 연산량 및 프로세싱 시간을 감소할 수 있다.
도 7은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점 맵 및 표현자 맵의 발생의 일 실시예를 나타내는 도면이다. 도 8은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 입력 이미지, 특징 점 맵 및 표현자 맵의 타일들의 대응 관계를 나타내는 도면이다.
복수의 이미지들을 병합하는 과정은 크게 4개의 단계로 구분될 수 있다. 첫째, 각각의 입력 이미지에 대하여 코너 점(corner point)와 같은 복수의 특징 점(key point)들을 추출한다. 둘째, 추출된 특징 점들의 각각에 대한 표현자(descriptor)들을 발생한다. 셋째, 발생된 특징 점들과 표현자들을 이용하여 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생한다. 넷째, 상기 매핑 정보를 이용하여 입력 이미지들 사이의 호모그래피(homograph)를 추정하여 한 개의 병합 이미지를 발생한다.
입력 이미지에서 특징 점을 추출할 때 크게 세 가지 요소가 호모그래피 성능에 크게 영향을 미친다.
첫 번째 요소는 특성(response)이 좋은 특징 점들을 추출하는 것이다. 2개의 입력 이미지들에서 추출된 특징 점들이 서로 다른 경우에 호모그래피를 추정할 때 사용되는 특징 점들의 대응 쌍들이 적어 병합 성능이 감소된다. 추출되는 대응 쌍들의 개수를 증가시키기 위해서는 고유 특성이 높은 점들을 추출하는 것이 중요하다. 다시 말해, 되도록 높은 특성 반복성(feature Repeatability)이 요구된다.
두 번째 요소는 특징 점들의 분포이다. 특징 점 특성(response)만을 고려하여 특징 점들을 추출하는 방식에서는, 이미지의 특정 영역에 특징 점들이 밀집하는 경우가 생기며 특징 점들이 밀집한 부분의 대응 쌍들이 호모그래피를 계산할 때 큰 영향을 주어 이미지의 특정 부분에 오버피팅(overfitting)된 호모그래피를 얻게 되는 문제가 생긴다.
세 번째 요소는 이미지 병합에서는 이미지의 크기, 프로세싱 속도 등 운영 환경 제약에 의하여 이미지에서 추출되는 특징 점들의 개수를 제한 해야 하는 경우가 많다. 이렇게 제한된 최대 특징 점 개수에서 이미지 전체에 고르게 분포된 특성 높은 특징 점들을 추출하는 것이 요구된다.
종래에는 특징 점들을 충분히 추출한 이후에 소팅(sorting) 알고리즘을 통하여 고유 특성이 높은 점을 정해진 개수만큼 선택하는 방법이 일반적으로 사용이 되었다. 그러나, 이러한 방법은 고유 특성이 높은 특징 점들을 추출할 수 있다는 장점이 있지만 소팅 알고리즘 수행으로 연산 복잡도가 증가하며, 특징 점 분포를 고려 할 수 없다는 단점이 있다.
이와 같은 단점을 보완하기 위하여 QuadTree와 같은 공간적 데이터 구조(spatial data structure) 기법을 이용하여 분포와 고유 특성을 고려하여 키포인트를 추출하는 방법이 사용된다. 그러나 이러한 QuadTree 방법은 특징 점들을 이미지 전체에 고르게 추출할 수 있다는 장점이 있으나, 이미지를 반복적으로 4개의 영역으로 나누는 작업을 수행하기 연산의 복잡도가 높다는 문제점이 있다.
본 발명의 실시예들에 따라서, 디지털 신호 프로세서(DSP, digital signal processor)의 병렬 프로세스를 이용하여 사전에 정의된 최대 특징 점 개수에 대하여 이미지 전체에 고르게 분포하면서 특성 높은 특징 점들을 추출할 수 있다.
도 7에는 도 6을 참조하여 설명한 바와 같이 입력 이미지(Is)를 분할한 임의의 이미지 타일(
Figure pat00011
Figure pat00012
)이 도시되어 있다.
전술한 바와 같이, 이미지의 크기, 프로세싱 속도 등을 고려하여 각각의 입력 이미지(Is)에 포함되는 특징 점들의 최대 개수를 나타내는 이미지 특징 점 최대 개수(Kmax)를 결정할 수 있다. 수학식 2와 같이, 이미지 특징 점 최대 개수(Kmax)를 각각의 이미지(Is)에 포함되는 복수의 이미지 타일들 타일들(
Figure pat00013
Figure pat00014
)의 개수(N*M)로 나눈 값을 각각의 이미지 타일에 포함되는 특징 점들의 최대 개수를 나타내는 타일 특징 점 최대 개수(K)로 결정할 수 있다.
[수학식 2]
K=Kmax/(N*M)
도 7을 참조하면, 각각의 이미지 타일(
Figure pat00015
Figure pat00016
)에 대한 특징 점 검출을 수행하여 L개의 후보 특징 점들(
Figure pat00017
Figure pat00018
)을 포함하는 특징 점 후보군을 발생한다.
Figure pat00019
Figure pat00020
에서, s는 입력 이미지의 인덱스를 나타내고, i는 타일 행 인덱스를 나타내고, j는 타일 열 인덱스를 나타내고, p는 이미지 타일 내의 포인트 인덱스를 나타낸다.
L개의 후보 특징 점들(
Figure pat00021
Figure pat00022
) 중에서 특성 값이 높은 K개의 특징 점들(
Figure pat00023
Figure pat00024
)을 추출하여 이미지 타일(
Figure pat00025
Figure pat00026
)에 상응하는 특징 점 타일(
Figure pat00027
Figure pat00028
)을 발생한다. 여기서 K는 전술한 바와 같은 각각의 이미지 타일에 포함되는 특징 점들의 최대 개수를 나타내는 타일 특징 점 최대 개수를 나타낸다.
이미지 타일(
Figure pat00029
Figure pat00030
)에 상응하는 특징 점 타일(
Figure pat00031
Figure pat00032
)에 포함되는 K개의 특징 점들(
Figure pat00033
Figure pat00034
)의 각각에 대한 표현자들(
Figure pat00035
Figure pat00036
)을 발생하여 이미지 타일(
Figure pat00037
Figure pat00038
) 및 특징 점 타일(
Figure pat00039
Figure pat00040
)에 상응하는 표현자 타일(
Figure pat00041
Figure pat00042
)을 발생한다.
실시예들에 따라서, 표현자들은 ORB(Oriented FAST(Features from Accelerated Segment Test) and Rotated BRIEF(Binary Robust Independent Elementary Features)), SIFT(Scale-Invariant Feature Transform), SURF(Speeded Up Robust Features) 및 MSD(Maximal Self-Dissimilarities) 중 적어도 하나에 기초하여 발생될 수 있다.
도 8에는 복수의 이미지 타일들(
Figure pat00043
Figure pat00044
)로 분할된 입력 이미지(Is), 복수의 이미지 타일들(
Figure pat00045
Figure pat00046
)에 각각 상응하는 복수의 특징 점 타일들(
Figure pat00047
Figure pat00048
)을 포함하는 특징 점 맵(FMPs) 및 복수의 이미지 타일들(
Figure pat00049
Figure pat00050
)에 각각 상응하는 복수의 표현자 타일들(
Figure pat00051
Figure pat00052
)을 포함하는 표현자 맵(DMPs)이 도시되어 있다.
도 2의 특징 점 맵 발생부(220)는 복수의 특징 점 타일들(
Figure pat00053
Figure pat00054
)이 각각 특징 점 타일 사이즈에 상응하는 동일한 개수의 데이터 비트들을 포함하도록 각각의 특징 점 타일을 발생할 수 있다. 또한, 도 2의 표현자 맵 발생부(230)는 복수의 표현자 타일들(
Figure pat00055
Figure pat00056
)이 각각 표현자 타일 사이즈에 상응하는 동일한 개수의 데이터 비트들을 포함하도록 각각의 표현자 타일을 발생할 수 있다.
이미지 타일들, 특징 점 타일들 및 표현자 타일들은 각각 이차원 평면 상의 위치들에 의해 서로 대응될 수 있다. 여기서, 상기 이차원 평면 상의 위치는 타일 행 인덱스(i) 및 타일 열 인덱스(j)에 상응한다. 후술하는 바와 같이, 특징 점들 사이의 유클리디언 거리에 관계 없이 표현자 타일들의 이차원 평면 상의 위치들에 기초하여 표현자들 사이의 유사도를 결정할 수 있다.
일 실시예에서, 표현자들 사이의 유사도는 상기 표현자들 사이의 해밍 거리(Hamming distance)에 해당할 수 있다.
이와 같이, 본 발명의 실시예들에 따라서 일정한 사이즈의 타일 기반으로 특징 점들과 표현자들을 발생함으로써 기존의 Quadtree 방법과 비교하여 반복적인 공간 분할 작업 필요 없이 균등한 분포의 특성이 높은 키포인트를 얻을 수 있으며 전체 이미지에서 추출 되어야 하는 특징 점들의 최대 개수를 효율적으로 제어 할 수 있다.
특징 점 타일들 및 표현자 타일들은 이미지 타일들과 동일한 이차원 평면 상의 위치들에 대한 정보를 포함한다. 다시 말해, 타일 행 인덱스(i) 및 타일 열 인덱스(j)이 동일한 특징 점 타일, 표현자 타일 및 이미지 타일은 서로 대응된다.
일 실시예에서, 도 12 내지 20을 참조하여 후술하는 바와 같이 타일 행 인덱스(i) 및 타일 열 인덱스(j)에 상응하는 이차원 평면 상의 위치에 관한 정보를 이용하여 서로 다른 입력 이미지들에 포함되는 특징 점들의 거리 정보는 메모리 장치의 어드레스들로 표현될 수 있다. 이 경우, 단순한 메모리 어드레스의 계산만으로 특징 점의 픽셀 위치와 표현자에 대한 정보 접근이 가능하여 대응 쌍들을 효율적으로 추정할 수 있다. 나아가, 이러한 어드레스 계산을 통하여 대응 쌍들 중에서 상관 관계가 낮은 대응 점(outlier point)의 제거 및 호모그래피 연산시에도 효율적인 정보 접근이 가능하다.
도 9는 특징 점들의 대응 관계를 판별하기 위한 검색 영역을 나타내는 도면이고, 도 10은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 검색 영역을 나타내는 도면이다.
이미지 병합에서 서로 다른 이미지들에 포함되는 특징 점들의 대응 관계, 즉 대응 쌍을 찾는 과정은 일반적으로 이미지 공간에서의 거리 값 (spatial distance) 제한과 특징 점들의 표현자들 사이의 유사도 (descriptor similarity)를 이용한다.
도 9에 도시된 바와 같이, 타겟 이미지(It)의 특징 점들(Xt1~Xt5) 중에서, 기준 이미지(Ir) 상의 기준 특징 점(Xro)의 위치와 동일한 타겟 이미지(It) 상의 위치를 중심으로 일정한 검색 영역(SREG) 내에 있는 특징 점들(Xt1~Xt3)에 대하여 기준 특징 점(Xro)의 표현자와 특징 점들(Xt1~Xt3)의 표현자들 사이의 유사도들을 평가하여 유사도가 가장 높은 점을 대응점으로 추정을 한다. 특징 점들의 거리 값은 일반적으로 유클리디안 거리 값을 이용한다. 기준 이미지(Ir)의 한 개의 특징 점에 대하여 타겟 이미지(It)의 모든 특징 점들과의 유클리디안 거리 값을 계산하여 검색 영역(SREG) 내에 포함되는 타겟 이미지(It)의 특징 점들을 찾는 작업은 많은 연산량이 요구된다.
도 10을 참조하면, 본 발명의 실시예들에 따라서, 기준 표현자 맵(DMPr)에 포함되는 복수의 표현자 타일들 중에서 기준 표현자 타일(
Figure pat00057
Figure pat00058
)을 결정한다.
타겟 표현자 맵(DMPt)에 포함되는 복수의 표현자 타일들 중에서 이차원 평면 상에서 기준 표현자 타일(
Figure pat00059
Figure pat00060
)과 동일한 위치에 있는 중앙 타겟 표현자 타일(
Figure pat00061
Figure pat00062
)을 결정한다. 타겟 표현자 맵(DMPt)에 포함되는 복수의 표현자 타일들 중에서, 기준 표현자 타일(
Figure pat00063
Figure pat00064
)과 행 인덱스(i) 및 타일 열 인덱스(j)가 일치하는 표현자 타일을 중앙 타겟 표현자 타일(
Figure pat00065
Figure pat00066
)로 결정할 수 있다.
또한, 타겟 표현자 맵(DMPt)에 포함되는 복수의 표현자 타일들 중에서 상기 이차원 평면 상에서 중앙 타겟 표현자 타일(
Figure pat00067
Figure pat00068
)에 인접한 주변 타겟 표현자 타일들(
Figure pat00069
Figure pat00070
,
Figure pat00071
Figure pat00072
,
Figure pat00073
Figure pat00074
,
Figure pat00075
Figure pat00076
,
Figure pat00077
Figure pat00078
,
Figure pat00079
Figure pat00080
,
Figure pat00081
Figure pat00082
,
Figure pat00083
Figure pat00084
)을 결정한다. 타겟 표현자 맵(DMPt)에 포함되는 복수의 표현자 타일들 중에서, 기준 표현자 타일(
Figure pat00085
Figure pat00086
)과 행 인덱스(i) 및 타일 열 인덱스(j)의 차이가 기준 값보다 작은 표현자 타일들을 주변 타겟 표현자 타일들로 결정할 수 있다.
이와 같이, 행 인덱스(i) 및 타일 열 인덱스(j)의 비교를 통해 결정된 중앙 타겟 표현자 타일(
Figure pat00087
Figure pat00088
) 및 주변 타겟 표현자 타일들(
Figure pat00089
Figure pat00090
,
Figure pat00091
Figure pat00092
,
Figure pat00093
Figure pat00094
,
Figure pat00095
Figure pat00096
,
Figure pat00097
Figure pat00098
,
Figure pat00099
Figure pat00100
,
Figure pat00101
Figure pat00102
,
Figure pat00103
Figure pat00104
)을 전술한 유사도 결정을 위한 검색 영역(SREG)으로 설정할 수 있다.
기준 표현자 타일(DMPr)에 포함되는 기준 표현자 및 중앙 타겟 표현자 타일(
Figure pat00105
Figure pat00106
) 및 주변 타겟 표현자 타일들(
Figure pat00107
Figure pat00108
,
Figure pat00109
Figure pat00110
,
Figure pat00111
Figure pat00112
,
Figure pat00113
Figure pat00114
,
Figure pat00115
Figure pat00116
,
Figure pat00117
Figure pat00118
,
Figure pat00119
Figure pat00120
,
Figure pat00121
Figure pat00122
)에 포함되는 타겟 표현자들 사이의 유사도들을 결정한다. 상기 유사도들에 기초하여, 상기 타겟 표현자들에 상응하는 타겟 특징 점들 중에서 상기 기준 표현자에 상응하는 기준 특징 점에 대응하는 특징 점을 결정할 수 있다. 도 7을 참조하여 전술한 바와 같이, 표현자에 상응하는 특징 점은 동일한 포인트 인덱스(p)를 갖는다.
도 10에는 검색 영역(SREG)이 9개의 표현자 타일들을 포함하는 실시예가 도시되어 있으나, 본 발명의 실시예들이 이에 한정되는 것은 아니다. 실시예들에 따라서, 검색 영역(SREG)에 포함되는 표현자 타일들의 개수는 입력 이미지의 사이즈, 각각의 입력 이미지에 포함되는 이미지 타일들의 개수, 목표 프로세싱 시간 등에 기초하여 다양하게 결정될 수 있다.
이와 같이, 특징 점들 사이의 유클리디언 거리에 관계 없이 표현자 타일들의 이차원 평면 상의 위치들, 즉, 타일 행 인덱스(i) 및 타일 열 인덱스(j)에 기초하여 검색 영역(SREG)을 설정하고 표현자들 사이의 유사도들을 결정할 수 있다.
도 11은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 매핑 정보의 일 예를 나타내는 도면이다.
도 11에는 예시적으로 병합 대상이 되는 제1 내지 제5 입력 이미지들(I0~I4)에 각각 포함되는 특징 점들(Xij)의 매핑 정보(MINF)가 도시되어 있다. 도 11에서 동일한 행에 배열된 특징 점들은 이미지의 동일한 지점에 대응된다. 예를 들어, 매핑 정보(MINF)를 통하여 제1 입력 이미지(I0)의 특징 점(X02), 제2 입력 이미지(I1)의 특징 점(X11), 제3 입력 이미지(I2)의 특징 점(X22) 및 제4 입력 이미지(I3)의 특징 점(X32)은 모두 대응되는 특징 점들이고, 제5 입력 이미지(I4)에는 대응되는 특징 점이 없음을 알 수 있다. 이러한 매핑 정보(MINF)를 이용하여 도 22 내지 26을 참조하여 후술하는 바와 같은 이미지 병합을 수행할 수 있다.
이하, 도 12 내지 20을 참조하여, 어드레스 기반의 이미지 매칭 방법에 대하여 설명한다.
도 12는 본 발명의 실시예들에 따른 이미지 매칭 방법을 나타내는 순서도이다.
도 12를 참조하면, 복수의 입력 이미지들의 각각에 대하여, 각각의 입력 이미지를 복수의 이미지 타일들로 분할한다(S100). 도 6을 참조하여 전술한 바와 같이, 상기 복수의 이미지 타일들이 동일한 행 수 및 동일한 열 수에 상응하는 픽셀들을 각각 포함하도록 상기 각각의 입력 이미지를 균일하게 분할할 수 있다.
상기 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생한다(S200). 또한, 상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생한다(S300).
일 실시예에서, 도 7 및 8을 참조하여 전술한 바와 같이, 상기 각각의 이미지 타일에 포함되는 특징 점들의 개수를 타일 특징 점 최대 개수 이하로 제한할 수 있다. 예를 들어, 상기 각각의 입력 이미지에 포함되는 특징 점들의 최대 개수를 나타내는 이미지 특징 점 최대 개수를 결정하고, 상기 이미지 특징 점 최대 개수를 상기 복수의 이미지 타일들의 개수로 나눈 값을 상기 타일 특징 점 최대 개수로 결정할 수 있다.
상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들을 메모리 장치에 저장한다(S350). 일 실시예에서, 상기 각각의 입력 이미지에 상응하는 특징 점 시작 어드레스부터 상기 각각의 입력 이미지에 상응하는 복수의 특징 점 타일들을 하나씩 특징 점 타일 어드레스 오프셋의 간격으로 메모리 장치에 순차적으로 저장할 수 있다. 마찬가지로, 상기 각각의 이미지에 상응하는 표현자 시작 어드레스부터 상기 복수의 표현자 타일들을 하나씩 표현자 타일 어드레스 오프셋의 간격으로 상기 복수의 특징 점 타일들의 저장 순서와 동일하게 상기 메모리 장치에 순차적으로 저장할 수 있다.
이와 같이 메모리 장치에 저장된 표현자 맵들에 기초하여, 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생할 수 있다.
상기 메모리 장치에 저장된 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 상응하는 표현자 맵들에 포함되는 표현자 타일들의 어드레스들에 기초하여 유사도 결정을 위한 표현자 타일들을 독출한다(S410). 여기서, 유사도 결정을 위한 표현자 타일들은 도 10을 참조하여 설명한 바와 같은 기준 표현자 타일 및 상기 기준 표현 타일에 상응하는 중앙 타겟 표현자 타일과 주변 타겟 표현자 타일들을 나타낸다.
독출된 표현자 타일들에 포함되는 표현자들 사이의 유사도들을 결정한다(S420). 상기 유사도들에 기초하여, 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생한다(S430). 상기 매핑 정보를 이용하여 상기 복수의 입력 이미지들을 동기화하여 병합 이미지를 발생할 수 있다.
상기 복수의 입력 이미지들은 병합 대상이 되는 상호 연관된 이미지들의 세트에 해당한다. 상기 복수의 입력 이미지들은 동일한 장면(scene)의 적어도 일부를 공통적으로 포함할 수 있다.
일 실시예에서, 도 4a를 참조하여 전술한 바와 같이, 상기 복수의 입력 이미지들은 복수의 카메라들에 의해 각각 캡쳐된 이미지들일 수 있다. 다른 실시예에서, 도 4b를 참조하여 전술한 바와 같이, 상기 복수의 입력 이미지들은 1개의 카메라에 의해 순차적으로 캡쳐된 이미지들일 수 있다.
이와 같이, 본 발명의 실시예들에 따른 이미지 매칭 방법은 입력 이미지를 복수의 이미지 타일들로 분할하여 특징 점들의 분포 균일성을 향상함으로써 이미지 병합 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 이미지 매칭 방법은 복수의 이미지 타일들에 상응하는 특징 점 맵 및 표현자 맵을 이용하여 이미지 매칭에 필요한 연산량 및 프로세싱 시간을 감소함으로써 이미지 병합 성능을 더욱 향상시킬 수 있다.
도 13은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점 맵 및 표현자 맵의 저장 순서의 일 실시예를 나타내는 도면이다.
도 13을 참조하면, 행 단위 저장 순서에 따라서, 특징 점 맵(PTLs) 또는 표현자 맵(DTLs)에 포함되는 복수의 타일들(
Figure pat00123
Figure pat00124
)을 순차적으로 메모리 장치에 저장할 수 있다. 복수의 타일들(
Figure pat00125
Figure pat00126
)은 특징 점 맵(PTLs)에 포함되는 복수의 특징 점 타일들(
Figure pat00127
Figure pat00128
) 또는 표현자 맵(DTLs)에 포함되는 복수의 표현자 타일들(
Figure pat00129
Figure pat00130
)에 해당할 수 있다.
행 단위 저장 순서에 따라서, 첫 번째 행의 타일들(
Figure pat00131
Figure pat00132
)이 메모리 장치의 순차적으로 증가하는 어드레스들에 저장되고, 두 번째 행의 타일들(
Figure pat00133
Figure pat00134
)이 메모리 장치의 순차적으로 증가하는 어드레스들에 저장되고, 이와 같은 방식으로 마지막 행의 타일들(
Figure pat00135
Figure pat00136
)이 메모리 장치의 순차적으로 증가하는 어드레스들에 저장될 수 있다.
도 14 및 15는 도 13의 저장 순서에 따라서 특징 점 맵 및 표현자 맵에 할당되는 어드레스들을 나타내는 도면들이다.
도 14를 참조하면, 복수의 입력 이미지들에 각각 상응하는 복수의 특징 점 맵들(PMP0~PMPR)이 메모리 장치의 특징 점 시작 어드레스들(S_PADD0~S_PADDR)에 순차적으로 저장될 수 있다. 특징 점 시작 어드레스들(S_PADD0~S_PADDR) 사이의 어드레스 오프셋(POFF1)은 특징 점 맵들(PMP0~PMPR)의 각각에 포함되는 데이터 비트들의 개수에 상응하고 특징 점 맵들(PMP0~PMPR)에 대해 동일한 값을 가질 수 있다.
도 14에는 하나의 특징 점 맵(PMPs)에 상응하는 복수의 특징 점 타일들(
Figure pat00137
Figure pat00138
)이 도시되어 있다. 첫 번째 특징 점 타일(
Figure pat00139
Figure pat00140
)의 어드레스(
Figure pat00141
Figure pat00142
)는 특징 점 맵(PMPs)의 특징 점 시작 어드레스(S_PADD0)와 동일하다. 도 14에 도시된 바와 같이, 입력 이미지(Is)에 상응하는 특징 점 맵(PMPs)에 포함되는 복수의 특징 점 타일들(
Figure pat00143
Figure pat00144
)은 입력 이미지(Is)에 상응하는 특징 점 시작 어드레스(S_PADD0=
Figure pat00145
Figure pat00146
)부터 하나씩 특징 점 타일 어드레스 오프셋(POFF2)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다. 특징 점 타일 어드레스 오프셋(POFF2)은 각각의 특징 점 타일에 포함되는 데이터 비트들의 개수에 상응하는 특징 점 타일 사이즈에 기초하여 결정될 수 있다.
이와 같이, 행 단위 저장 순서에 따라서, 각각의 특징 점 타일(
Figure pat00147
Figure pat00148
)의 어드레스(
Figure pat00149
Figure pat00150
)는 입력 이미지(Is)에 상응하는 특징 점 시작 어드레스(S_PADD0=
Figure pat00151
Figure pat00152
) 및 특징 점 타일 어드레스 오프셋(POFF2)에 기초하여 수학식 3과 같이 결정될 수 있다.
[수학식 3]
Figure pat00153
Figure pat00154
=
Figure pat00155
Figure pat00156
+ i*M*POFF2 + j*POFF2
수학식 3에서, M은 하나의 입력 이미지에 포함되는 이미지 타일들의 열 개수, 즉 하나의 특징 점 맵에 포함되는 특징 점 타일들의 열 개수를 나타낸다.
또한, 도 14에는 하나의 특징 점 타일(
Figure pat00157
Figure pat00158
)에 상응하는 복수의 특징 점들(
Figure pat00159
Figure pat00160
)이 도시되어 있다. 첫 번째 특징 점(
Figure pat00161
Figure pat00162
)의 어드레스(
Figure pat00163
Figure pat00164
)는 특징 점 타일(
Figure pat00165
Figure pat00166
)의 시작 어드레스(
Figure pat00167
Figure pat00168
)와 동일하다. 도 14에 도시된 바와 같이, 특징 점 타일(
Figure pat00169
Figure pat00170
)에 포함되는 복수의 특징 점들(
Figure pat00171
Figure pat00172
)은 특징 점 타일(
Figure pat00173
Figure pat00174
)의 시작 어드레스(
Figure pat00175
Figure pat00176
)부터 하나씩 어드레스 오프셋(POFF3)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다.
도 15를 참조하면, 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들(DMP0~DMPR)이 메모리 장치의 표현자 시작 어드레스들(S_DADD0~S_DADDR)에 순차적으로 저장될 수 있다. 표현자 시작 어드레스들(S_DADD0~S_DADDR) 사이의 어드레스 오프셋(DOFF1)은 표현자 맵들(DMP0~DMPR)의 각각에 포함되는 데이터 비트들의 개수에 상응하고 표현자 맵들(DMP0~DMPR)에 대해 동일한 값을 가질 수 있다.
도 15에는 하나의 표현자 맵(DMPs)에 상응하는 복수의 표현자 타일들(
Figure pat00177
Figure pat00178
)이 도시되어 있다. 첫 번째 표현자 타일(
Figure pat00179
Figure pat00180
)의 어드레스(
Figure pat00181
Figure pat00182
)는 표현자 맵(DMPs)의 표현자 시작 어드레스(S_DADD0)와 동일하다. 도 15에 도시된 바와 같이, 입력 이미지(Is)에 상응하는 표현자 맵(DMPs)에 포함되는 복수의 표현자 타일들(
Figure pat00183
Figure pat00184
)은 입력 이미지(Is)에 상응하는 표현자 시작 어드레스(S_DADD0=
Figure pat00185
Figure pat00186
)부터 하나씩 표현자 타일 어드레스 오프셋(DOFF2)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다. 표현자 타일 어드레스 오프셋(DOFF2)은 각각의 표현자 타일에 포함되는 데이터 비트들의 개수에 상응하는 표현자 타일 사이즈에 기초하여 결정될 수 있다.
이와 같이, 행 단위 저장 순서에 따라서, 각각의 표현자 타일(
Figure pat00187
Figure pat00188
)의 어드레스(
Figure pat00189
Figure pat00190
)는 입력 이미지(Is)에 상응하는 표현자 시작 어드레스(S_DADD0=
Figure pat00191
Figure pat00192
) 및 표현자 타일 어드레스 오프셋(DOFF2)에 기초하여 수학식 4와 같이 결정될 수 있다.
[수학식 4]
Figure pat00193
Figure pat00194
=
Figure pat00195
Figure pat00196
+ i*M*DOFF2 + j*DOFF2
수학식 4에서, M은 하나의 입력 이미지에 포함되는 이미지 타일들의 열 개수, 즉 하나의 표현자 맵에 포함되는 표현자 타일들의 열 개수를 나타낸다.
또한, 도 15에는 하나의 표현자 타일(
Figure pat00197
Figure pat00198
)에 상응하는 복수의 표현자들(
Figure pat00199
Figure pat00200
)이 도시되어 있다. 첫 번째 표현자(
Figure pat00201
Figure pat00202
)의 어드레스(
Figure pat00203
Figure pat00204
)는 표현자 타일(
Figure pat00205
Figure pat00206
)의 시작 어드레스(
Figure pat00207
Figure pat00208
)와 동일하다. 도 15에 도시된 바와 같이, 표현자 타일(
Figure pat00209
Figure pat00210
)에 포함되는 복수의 표현자들(
Figure pat00211
Figure pat00212
)은 표현자 타일(
Figure pat00213
Figure pat00214
)의 시작 어드레스(
Figure pat00215
Figure pat00216
)부터 하나씩 어드레스 오프셋(DOFF3)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다.
이와 같이, 행 단위 저장 방식에 따른 어드레스들은 수학식 3 및 4와 같은 관계를 만족한다. 따라서, 도 16 및 17을 참조하여 설명하는 바와 같이, 복수의 입력 이미지들(I0~IR)에 각각 상응하는 복수의 표현자 시작 어드레스들(S_DADD0~S_DADDR) 및 표현자 타일 어드레스 오프셋(DOFF2)에 기초하여 유사도 결정을 위한 표현자들을 독출할 수 있다.
도 16은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 데이터 독출의 일 실시예를 나타내는 순서도이고, 도 17은 도 16의 데이터 독출 방법을 설명하기 위한 도면이다.
도 16을 참조하면, 매핑 정보의 발생을 위해, 복수의 표현자 맵들의 하나에 해당하는 기준 표현자 맵에 상응하는 기준 표현자 시작 어드레스 및 표현자 타일 어드레스 오프셋에 기초하여 상기 기준 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 기준 표현자 타일의 기준 어드레스를 결정할 수 있다(S411).
상기 복수의 표현자 맵들의 다른 하나에 해당하는 타겟 표현자 맵에 상응하는 타겟 표현자 시작 어드레스 및 상기 표현자 타일 어드레스 오프셋에 기초하여 상기 타겟 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 이차원 평면 상에서 상기 기준 표현자 타일과 동일한 위치에 있는 중앙 타겟 표현자 타일 및 상기 이차원 평면 상에서 상기 중앙 타겟 표현자 타일에 인접한 주변 타겟 표현자 타일들의 타겟 어드레스들을 결정할 수 있다(S412).
상기 기준 어드레스 및 상기 타겟 어드레스들에 기초하여 상기 메모리 장치로부터 상기 기준 표현자 타일 및 상기 중앙 타겟 표현자 타일과 상기 주변 타겟 표현자 타일들을 독출할 수 있다(S413).
도 17에는 기준 표현자 맵(DMPr) 및 타겟 표현자 맵(DMPt)과 도 13, 14 및 15를 참조하여 설명한 행 단위 저장 순서에 따라 메모리 장치에 저장되는 기준 표현자 맵(DMPr) 및 타겟 표현자 맵(DMPt)에 상응하는 어드레스들이 도시되어 있다. 기준 표현자 맵(DMPr)은 표현자 맵들(DMP0~DMPR)의 하나에 해당하고, 타겟 표현자 맵(DMPt) 표현자 맵들(DMP0~DMPR)의 다른 하나에 해당한다.
기준 표현자 맵(DMPr)에 포함되는 복수의 표현자 타일들(
Figure pat00217
Figure pat00218
) 중에서 기준 표현자 타일(
Figure pat00219
Figure pat00220
)의 기준 어드레스(
Figure pat00221
Figure pat00222
)는 수학식 4를 참조하여 설명한 바와 같이 기준 표현자 맵(DMPr)에 상응하는 기준 표현자 시작 어드레스(
Figure pat00223
Figure pat00224
) 및 표현자 타일 어드레스 오프셋(DOFF2)에 기초하여 수학식 5와 같이 결정될 수 있다.
[수학식 5]
Figure pat00225
Figure pat00226
=
Figure pat00227
Figure pat00228
+ i*M*DOFF2 + j*DOFF2
타겟 표현자 맵(DMPt)에 포함되는 복수의 표현자 타일들(
Figure pat00229
Figure pat00230
) 중에서 이차원 평면 상에서 기준 표현자 타일(
Figure pat00231
Figure pat00232
)과 동일한 위치에 있는 중앙 타겟 표현자 타일(
Figure pat00233
Figure pat00234
) 및 상기 이차원 평면 상에서 중앙 타겟 표현자 타일(
Figure pat00235
Figure pat00236
)에 인접한 주변 타겟 표현자 타일들(
Figure pat00237
Figure pat00238
,
Figure pat00239
Figure pat00240
,
Figure pat00241
Figure pat00242
,
Figure pat00243
Figure pat00244
,
Figure pat00245
Figure pat00246
,
Figure pat00247
Figure pat00248
,
Figure pat00249
Figure pat00250
,
Figure pat00251
Figure pat00252
)의 타겟 어드레스들(
Figure pat00253
Figure pat00254
~
Figure pat00255
Figure pat00256
)은 동일한 방식으로 타겟 표현자 맵(DMPt)에 상응하는 기준 표현자 시작 어드레스(
Figure pat00257
Figure pat00258
) 및 표현자 타일 어드레스 오프셋(DOFF2)에 기초하여 수학식 6과 같이 결정될 수 있다.
[수학식 6]
Figure pat00259
Figure pat00260
=
Figure pat00261
Figure pat00262
+ (i-1)*M*DOFF2 + (j-1)*DOFF2
Figure pat00263
Figure pat00264
=
Figure pat00265
Figure pat00266
+ (i-1)*M*DOFF2 + j*DOFF2
Figure pat00267
Figure pat00268
=
Figure pat00269
Figure pat00270
+ (i-1)*M*DOFF2 + (j+1)*DOFF2
Figure pat00271
Figure pat00272
=
Figure pat00273
Figure pat00274
+ i*M*DOFF2 + (j-1)*DOFF2
Figure pat00275
Figure pat00276
=
Figure pat00277
Figure pat00278
+ i*M*DOFF2 + j*DOFF2
Figure pat00279
Figure pat00280
=
Figure pat00281
Figure pat00282
+ i*M*DOFF2 + (j+1)*DOFF2
Figure pat00283
Figure pat00284
=
Figure pat00285
Figure pat00286
+ (i+1)*M*DOFF2 + (j-1)*DOFF2
Figure pat00287
Figure pat00288
=
Figure pat00289
Figure pat00290
+ (i+1)*M*DOFF2 + j*DOFF2
Figure pat00291
Figure pat00292
=
Figure pat00293
Figure pat00294
+ (i+1)*M*DOFF2 + (j+1)*DOFF2
도 2의 어드레스 발생기(110)는 이와 같이 행 단위 저장 순서에 상응하는 기준 어드레스 기준 어드레스(
Figure pat00295
Figure pat00296
) 및 타겟 어드레스들(
Figure pat00297
Figure pat00298
~
Figure pat00299
Figure pat00300
)을 액세스 어드레스(ACCAD)로서 발생하여 메모리 장치(30)로 제공할 수 있다. 기준 어드레스(
Figure pat00301
Figure pat00302
) 및 타겟 어드레스들(
Figure pat00303
Figure pat00304
~
Figure pat00305
Figure pat00306
)에 기초하여 메모리 장치(30)로부터 기준 표현자 타일(
Figure pat00307
Figure pat00308
) 및 중앙 타겟 표현자 타일 중앙 타겟 표현자 타일(
Figure pat00309
Figure pat00310
)과 주변 타겟 표현자 타일들(
Figure pat00311
Figure pat00312
,
Figure pat00313
Figure pat00314
,
Figure pat00315
Figure pat00316
,
Figure pat00317
Figure pat00318
,
Figure pat00319
Figure pat00320
,
Figure pat00321
Figure pat00322
,
Figure pat00323
Figure pat00324
,
Figure pat00325
Figure pat00326
)이 메모리 장치(30)로부터 독출되어 표현자 맵 버퍼(310)에 로딩될 수 있다.
도 2의 매칭기(320)는 표현자 맵 버퍼(310)에 로딩된 기준 표현자 타일(
Figure pat00327
Figure pat00328
)에 포함되는 각각의 기준 표현자 및 중앙 타겟 표현자 타일 중앙 타겟 표현자 타일(
Figure pat00329
Figure pat00330
)과 주변 타겟 표현자 타일들(
Figure pat00331
Figure pat00332
,
Figure pat00333
Figure pat00334
,
Figure pat00335
Figure pat00336
,
Figure pat00337
Figure pat00338
,
Figure pat00339
Figure pat00340
,
Figure pat00341
Figure pat00342
,
Figure pat00343
Figure pat00344
,
Figure pat00345
Figure pat00346
)에 포함되는 타겟 표현자들 사이의 유사도들을 결정하고, 상기 유사도들에 기초하여, 상기 타겟 표현자들에 상응하는 타겟 특징 점들 중에서 상기 각각의 기준 표현자에 상응하는 기준 특징 점에 대응하는 특징 점을 결정할 수 있다.
이와 같이, 이 경우, 단순한 메모리 어드레스의 계산만으로 특징 점의 픽셀 위치와 표현자에 대한 정보 접근이 가능하여 대응 쌍들을 효율적으로 추정할 수 있다. 나아가, 이러한 어드레스 계산을 통하여 대응 쌍들 중에서 상관 관계가 낮은 대응 점(outlier point)의 제거 및 호모그래피 연산시에도 효율적인 정보 접근이 가능하다.
도 18은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점 맵 및 표현자 맵의 저장 순서의 일 실시예를 나타내는 도면이다.
도 18을 참조하면, 열 단위 저장 순서에 따라서, 특징 점 맵(PTLs) 또는 표현자 맵(DTLs)에 포함되는 복수의 타일들(
Figure pat00347
Figure pat00348
)을 순차적으로 메모리 장치에 저장할 수 있다. 복수의 타일들(
Figure pat00349
Figure pat00350
)은 특징 점 맵(PTLs)에 포함되는 복수의 특징 점 타일들(
Figure pat00351
Figure pat00352
) 또는 표현자 맵(DTLs)에 포함되는 복수의 표현자 타일들(
Figure pat00353
Figure pat00354
)에 해당할 수 있다.
열 단위 저장 순서에 따라서, 첫 번째 열의 타일들(
Figure pat00355
Figure pat00356
)이 메모리 장치의 순차적으로 증가하는 어드레스들에 저장되고, 두 번째 열의 타일들(
Figure pat00357
Figure pat00358
)이 메모리 장치의 순차적으로 증가하는 어드레스들에 저장되고, 이와 같은 방식으로 마지막 열의 타일들(
Figure pat00359
Figure pat00360
)이 메모리 장치의 순차적으로 증가하는 어드레스들에 저장될 수 있다.
도 19 및 20은 도 18의 저장 순서에 따라서 특징 점 맵 및 표현자 맵에 할당되는 어드레스들을 나타내는 도면들이다.
도 19를 참조하면, 복수의 입력 이미지들에 각각 상응하는 복수의 특징 점 맵들(PMP0~PMPR)이 메모리 장치의 특징 점 시작 어드레스들(S_PADD0~S_PADDR)에 순차적으로 저장될 수 있다. 특징 점 시작 어드레스들(S_PADD0~S_PADDR) 사이의 어드레스 오프셋(POFF1)은 특징 점 맵들(PMP0~PMPR)의 각각에 포함되는 데이터 비트들의 개수에 상응하고 특징 점 맵들(PMP0~PMPR)에 대해 동일한 값을 가질 수 있다.
도 19에는 하나의 특징 점 맵(PMPs)에 상응하는 복수의 특징 점 타일들(
Figure pat00361
Figure pat00362
)이 도시되어 있다. 첫 번째 특징 점 타일(
Figure pat00363
Figure pat00364
)의 어드레스(
Figure pat00365
Figure pat00366
)는 특징 점 맵(PMPs)의 특징 점 시작 어드레스(S_PADD0)와 동일하다. 도 19에 도시된 바와 같이, 입력 이미지(Is)에 상응하는 특징 점 맵(PMPs)에 포함되는 복수의 특징 점 타일들(
Figure pat00367
Figure pat00368
)은 입력 이미지(Is)에 상응하는 특징 점 시작 어드레스(S_PADD0=
Figure pat00369
Figure pat00370
)부터 하나씩 특징 점 타일 어드레스 오프셋(POFF2)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다. 특징 점 타일 어드레스 오프셋(POFF2)은 각각의 특징 점 타일에 포함되는 데이터 비트들의 개수에 상응하는 특징 점 타일 사이즈에 기초하여 결정될 수 있다.
이와 같이, 열 단위 저장 순서에 따라서, 각각의 특징 점 타일(
Figure pat00371
Figure pat00372
)의 어드레스(
Figure pat00373
Figure pat00374
)는 입력 이미지(Is)에 상응하는 특징 점 시작 어드레스(S_PADD0=
Figure pat00375
Figure pat00376
) 및 특징 점 타일 어드레스 오프셋(POFF2)에 기초하여 수학식 7과 같이 결정될 수 있다.
[수학식 7]
Figure pat00377
Figure pat00378
=
Figure pat00379
Figure pat00380
+ j*N*POFF2 + i*POFF2
수학식 7에서, N은 하나의 입력 이미지에 포함되는 이미지 타일들의 행 개수, 즉 하나의 특징 점 맵에 포함되는 특징 점 타일들의 행 개수를 나타낸다.
또한, 도 19에는 하나의 특징 점 타일(
Figure pat00381
Figure pat00382
)에 상응하는 복수의 특징 점들(
Figure pat00383
Figure pat00384
)이 도시되어 있다. 첫 번째 특징 점(
Figure pat00385
Figure pat00386
)의 어드레스(
Figure pat00387
Figure pat00388
)는 특징 점 타일(
Figure pat00389
Figure pat00390
)의 시작 어드레스(
Figure pat00391
Figure pat00392
)와 동일하다. 도 19에 도시된 바와 같이, 특징 점 타일(
Figure pat00393
Figure pat00394
)에 포함되는 복수의 특징 점들(
Figure pat00395
Figure pat00396
)은 특징 점 타일(
Figure pat00397
Figure pat00398
)의 시작 어드레스(
Figure pat00399
Figure pat00400
)부터 하나씩 어드레스 오프셋(POFF3)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다.
도 20을 참조하면, 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들(DMP0~DMPR)이 메모리 장치의 표현자 시작 어드레스들(S_DADD0~S_DADDR)에 순차적으로 저장될 수 있다. 표현자 시작 어드레스들(S_DADD0~S_DADDR) 사이의 어드레스 오프셋(DOFF1)은 표현자 맵들(DMP0~DMPR)의 각각에 포함되는 데이터 비트들의 개수에 상응하고 표현자 맵들(DMP0~DMPR)에 대해 동일한 값을 가질 수 있다.
도 20에는 하나의 표현자 맵(DMPs)에 상응하는 복수의 표현자 타일들(
Figure pat00401
Figure pat00402
)이 도시되어 있다. 첫 번째 표현자 타일(
Figure pat00403
Figure pat00404
)의 어드레스(
Figure pat00405
Figure pat00406
)는 표현자 맵(DMPs)의 표현자 시작 어드레스(S_DADD0)와 동일하다. 도 20에 도시된 바와 같이, 입력 이미지(Is)에 상응하는 표현자 맵(DMPs)에 포함되는 복수의 표현자 타일들(
Figure pat00407
Figure pat00408
)은 입력 이미지(Is)에 상응하는 표현자 시작 어드레스(S_DADD0=
Figure pat00409
Figure pat00410
)부터 하나씩 표현자 타일 어드레스 오프셋(DOFF2)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다. 표현자 타일 어드레스 오프셋(DOFF2)은 각각의 표현자 타일에 포함되는 데이터 비트들의 개수에 상응하는 표현자 타일 사이즈에 기초하여 결정될 수 있다.
이와 같이, 열 단위 저장 순서에 따라서, 각각의 표현자 타일(
Figure pat00411
Figure pat00412
)의 어드레스(
Figure pat00413
Figure pat00414
)는 입력 이미지(Is)에 상응하는 표현자 시작 어드레스(S_DADD0=
Figure pat00415
Figure pat00416
) 및 표현자 타일 어드레스 오프셋(DOFF2)에 기초하여 수학식 8과 같이 결정될 수 있다.
[수학식 8]
Figure pat00417
Figure pat00418
=
Figure pat00419
Figure pat00420
+ j*N*DOFF2 + i*DOFF2
수학식 8에서, N은 하나의 입력 이미지에 포함되는 이미지 타일들의 행 개수, 즉 하나의 표현자 맵에 포함되는 표현자 타일들의 행 개수를 나타낸다.
또한, 도 20에는 하나의 표현자 타일(
Figure pat00421
Figure pat00422
)에 상응하는 복수의 표현자들(
Figure pat00423
Figure pat00424
)이 도시되어 있다. 첫 번째 표현자(
Figure pat00425
Figure pat00426
)의 어드레스(
Figure pat00427
Figure pat00428
)는 표현자 타일(
Figure pat00429
Figure pat00430
)의 시작 어드레스(
Figure pat00431
Figure pat00432
)와 동일하다. 도 15에 도시된 바와 같이, 표현자 타일(
Figure pat00433
Figure pat00434
)에 포함되는 복수의 표현자들(
Figure pat00435
Figure pat00436
)은 표현자 타일(
Figure pat00437
Figure pat00438
)의 시작 어드레스(
Figure pat00439
Figure pat00440
)부터 하나씩 어드레스 오프셋(DOFF3)의 간격으로 메모리 장치에 순차적으로 저장될 수 있다.
이와 같이, 열 단위 저장 방식에 따른 어드레스들은 수학식 7 및 8과 같은 관계를 만족한다. 따라서, 도 16 및 17을 참조하여 설명한 바와 동일한 방식으로, 복수의 입력 이미지들(I0~IR)에 각각 상응하는 복수의 표현자 시작 어드레스들(S_DADD0~S_DADDR) 및 표현자 타일 어드레스 오프셋(DOFF2)에 기초하여 유사도 결정을 위한 표현자들을 독출할 수 있다.
도 21은 본 발명의 실시예들에 따른 이미지 매칭 방법에 의한 특징 점의 좌표를 나타내는 도면이다.
수학식 1을 참조하여 설명한 바와 같이, 각각의 입력 이미지(Is)에 포함되는 이미지 타일들의 행 개수(N)는 각각의 입력 이미지(Is)의 행 사이즈(SZA) 및 각각의 이미지 타일(
Figure pat00441
Figure pat00442
)의 행 사이즈(SZA')에 의해 결정되고, 각각의 입력 이미지(Is)에 포함되는 이미지 타일들의 열 개수(M)는 각각의 입력 이미지(Is)의 열 사이즈(SZB) 및 각각의 이미지 타일(
Figure pat00443
Figure pat00444
)의 열 사이즈(SZB')에 의해 결정될 수 있다.
일 실시예에서, 특징 점(
Figure pat00445
Figure pat00446
)의 위치는 입력 이미지(Is) 내에서의 좌표(A, B)로 표현될 수도 있다. 다른 실시예에서, 특징 점(
Figure pat00447
Figure pat00448
)의 위치는 이미지 타일(
Figure pat00449
Figure pat00450
) 내에서의 좌표(A', B')로 표현될 수 있다. 입력 이미지(Is) 내에서의 위치는 이미지 타일(
Figure pat00451
Figure pat00452
)의 타일 행 인덱스(i) 및 타일 열 인덱스(j)에 의해 결정되기 때문에 이미지 타일(
Figure pat00453
Figure pat00454
) 내에서의 좌표(A', B') 및 입력 이미지(Is) 내에서의 좌표(A, B) 중 하나는 다른 하나로부터 수학적인 계산에 의해 결정될 수 있다. 이미지 타일(
Figure pat00455
Figure pat00456
) 내에서의 좌표(A', B')로 특징 점을 표현하는 경우에는 전술한 특징 점 맵의 사이즈를 감소할 수 있으므로, 메모리 장치로부터의 입출력 시간을 감소하여 이미지 매칭에 소요되는 시간을 더욱 감소할 수 있다.
도 22은 본 발명의 실시예들에 따른 이미지 병합 방법을 나타내는 순서도이다.
도 22를 참조하면, 복수의 입력 이미지들의 각각을 복수의 이미지 타일들로 분할하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생한다(S10). 매핑 정보는 전술한 바와 같이 본 발명의 실시예들에 따라서 입력 이미지를 복수의 이미지 타일들로 분할하고, 특징 점 맵 및 표현자 맵을 이용하여 효율적으로 수행될 수 있다.
상기 매핑 정보에 기초하여 상기 서로 다른 입력 이미지들 사이의 변환을 나타내는 호모그래피 행렬들을 발생한다(S20). 상기 호모그래피 행렬들에 기초하여 상기 복수의 입력 이미지들을 동기화한 동기화 이미지들을 발생한다(S30). 상기 동기화 이미지들을 병합하여 병합 이미지를 발생한다(S40). 이하, 도 23a 내지 26을 상기 매핑 정보에 기초한 병합 이미지의 발생(S20, S30, S40)의 실시예들을 설명하지만, 본 발명의 실시예들이 이에 한정되는 것은 아니다.
도 23a 내지 24d는 본 발명의 실시예들에 따른 이미지 병합 방법에 사용되는 이미지 변환의 예들을 나타내는 도면들이다.
이미지 변환은 주어진 영상에 특정 알고리즘을 적용하여 변환된 이미지를 얻어내는 것을 의미한다. 즉, 주어진 영상을 평행이동(translation)하거나 회전(rotation), 크기(scale), 시점(perspective) 등을 적용해 원하는 이미지를 얻어내는 방식이다.
이미지 변환은 도 23a 에 도시된 바와 같은 리지드 변환(Rigid Transformation), 도 23b에 도시된 바와 같은 유사 변환(Similarity Transformation), 도 23c에 도시된 바와 같은 아핀 변환(Affine Transformation), 도 24d에 도시된 바와 같은 투영 변환(Projective Transformation) 등을 포함한다.
이러한 변환을 적용하면 기존 위치를 나타내는 좌표(x, y)에 이러한 변환을 적용하면 변환된 위치(x', y')를 구할 수 있다.
도 23a의 리지드 변환은 이미지 변환의 가장 기본적인 형태로, 이미지의 크기를 고정시킨 변환이다. 즉, 평행이동 (translation)과 회전(rotation) 만을 허용한 변환이다.
도 24b의 유사 변환은 물체의 크기 변화, 즉 스케일(scale)의 변화를 추가적으로 고려한 변환이며, 이때 물체의 모양은 보존된다.
도 24c의 아핀 변환은 상기 유사 변환에 선형성을 보존하는 특징을 더한 변환이다. 따라서 직선의 평행 관계, 길이와 거리의 비 등이 보존된다.
도 24d의 투영 변환은 3D 공간에서의 이미지를 2D 공간으로 투영시킨 변환이다. 즉, 3D 공간에서 서로 다른 두 시점에서 바라본 두 개의 이미지를 서로 변환하는 방법이다. 이때 서로 다른 두 이미지의 관계를 표현한 행렬을 호모그래피(homography) 행렬 또는 단순히 호모그래피라 한다.
즉, 일반적인 투영 변환의 관계를 표현하는 식을 구하면 서로 다른 두 이미지를 변환할 수 있으며, 이때 그 관계가 호모그래피라고 불리는 변환 행렬이다.
영상 처리에서는 주로 서로 다른 시점에서 촬영한 두 개의 2D 이미지를 변환하는 것이 필요하다. 이때 요구되는 호모그래피의 크기는 3x3이다. 단, 8개의 값만 주어져도 변환이 가능한데, 이를 위해서는 변환의 기준이 되는 4개의 대응쌍이 필요하다. 다시 말해, 어느 점이 어느 점으로 대응될 것인지의 대응점 순서쌍이 4개 필요하다.
도 24는 본 발명의 실시예들에 따른 이미지 병합 방법에 사용되는 호모그래피 행렬을 설명하기 위한 도면이다.
도 24에는 두 이미지들에서의 1개의 대응쌍 X(u,v,1) 와 X'(u', v',1)에 해당하는 호모그래피 행렬(H)를 구하는 과정이 도시되어 있다. 호모그래피 행렬(H)의 성분들(h1~h9)를 구하면 호모그래피 행렬이 결정된다.
도 24의 윗부분에 도시된 바와 같은 HX=X'의 관계를 도 24의 아랫부분에 도시된 바와 같은 Ah= 0 형태로 변경하여 h 값을 구한다.
한 개의 대응쌍에 대하여 A 행렬은 은 3x9 형태이며 대응점이 n개인 경우에 A 행렬은 3nx9 형태가 된다.
도 25는 복수의 입력 이미지들 사이의 호모그래피 행렬들을 나타내는 도면이고, 도 26은 복수의 입력 이미지들의 병합 과정을 나타내는 도면이다.
도 25를 참조하면, 병합 대상이 되는 입력 이미지들이 제1 내지 제5 이미지들(I0~I4)인 경우, 도 24를 참조하여 설명한 바와 같이 서로 다른 2개의 입력 이미지들 사이의 변환에 해당하는 호모그래피 행렬들 Hij (i=0~4, j=1~4)을 구한다. Hij는 i번째 입력 이미지(Ii)의 좌표를 j번째 이미지(Ij)에 상응하는 2차원 평면에 정렬한 좌표로 변환하는 호모그래피 행렬이다. Hij 는 Hji에 역행렬이 되므로 중복되는 호모그래피 행렬들은 도시가 생략되어 있다.
이와 같이, 2개의 입력 이미지들(Ii, Ij)의 특징 점들의 매칭 정보에 기초하여 2개의 입력 이미지들(Ii, Ij) 사이의 변환을 나타내는 호모그래피 행렬(Hij)을 결정한다(도 22의 단계 S20).
도 26을 참조하면, 도 23a 내지 25를 참조하여 설명한 호모그래피 행렬들에 기초하여 복수의 입력 이미지들(I0~I3)을 동기화한 동기화 이미지들(SI0~SI2)을 발생한다(도 22의 단계 S30). 입력 이미지들(I0~I3)의 일부는 노이즈 이미지로서 제외될 수 있고, 동기화 이미지들(SI0~SI2)의 개수는 입력 이미지들(I0~I3)의 개수 이하일 수 있다.
동기화 이미지들(SI0~SI2)을 병합하여 병합 이미지(MI)를 발생한다(도 22의 단계 S40).
일 실시예에서, 동기화 이미지들(SI0~SI2)을 이용하여 이미지 스티칭을 수행하여 병합 이미지(MI)를 발생할 수 있다. 여러 이미지를 스티칭하는 과정에서 약간의 정렬 오류 또는 노출 차이로 인해 이미지 간 경계부분이 선명하게 드러나게 되는 데, 이를 제거하기 위해 블렌딩을 수행할 수 있다. 스티칭 과정에서 블렌딩 없이 이미지를 단순히 붙이거나, 중첩영역에 대한 블렌딩을 수행하여 이미지 간 경계선을 제거하는 작업이 이루어질 수 있다. 이러한 이미지 스티칭은 다수의 동기화 이미지들(SI0~SI2)을 이용하여 수행됨으로써 이미지의 부분이 겹쳐보이는 문제를 최소화하면서 정확한 병합 이미지(MI)를 얻을 수 있다.
일 실시예에서, 동기화 이미지들(SI0~SI2)을 이용하여 동적 범위가 확장된 HDR(high dynamic range)의 병합 이미지(MI)를 발생할 수 있다.
동기화 이미지들(SI0~SI2)의 병합은 다양한 방식으로 수행될 수 있으며, 이미지 스티칭(image stitching), 노이즈 감소(noise reduction), 동적 범위(dynamic range)의 변환 등에 한정되는 것은 아니다.
도 27은 본 발명의 실시예들에 따른 전자 시스템을 나타내는 블록도이다.
도 27 참조하면, 전자 시스템(2000)은 프로세서(2010), 통신부(2020), 메모리 장치(2030), 사용자 인터페이스(2040), 영상 촬상 장치(2050) 및 데이터 처리 장치(2060)를 포함하며, 전원 장치(미도시)를 더 포함할 수 있다.
프로세서(2010)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 통신부(2020)는 외부 장치와 통신을 수행할 수 있다. 메모리 장치(2030)는 프로세서(2010)에 의해 처리되는 데이터를 저장할 수 있다. 사용자 인터페이스(2040)는 하나 이상의 입/출력 장치를 포함할 수 있다. 상기 전원 장치는 전원을 공급할 수 있다.
영상 촬상 장치(2050) 및 데이터 처리 장치(2060)는 프로세서(2010)에 의해 제어된다. 영상 촬상 장치(2050)는 입력 이미지들을 제공하며, 예를 들어 CMOS(complementary metal oxide semiconductor) 이미지 센서, CCD(charge-coupled device) 이미지 센서 등을 포함할 수 있다. 데이터 처리 장치(2060)는 도 2의 데이터 처리 장치(20)이며, 도 1 내지 26을 참조하여 설명한 바와 같은 본 발명의 실시예들에 따른 이미지 매칭 및 이미지 병합을 수행하도록 구현될 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 이미지 매칭 방법 및 상기 이미지 매칭 방법을 수행하는 데이터 처리 장치는 입력 이미지를 복수의 이미지 타일들로 분할하여 특징 점들의 분포 균일성을 향상함으로써 이미지 병합 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예들에 따른 이미지 매칭 방법 및 상기 이미지 매칭 방법을 수행하는 데이터 처리 장치는 복수의 이미지 타일들에 상응하는 특징 점 맵 및 표현자 맵을 이용하여 이미지 매칭에 필요한 연산량 및 프로세싱 시간을 감소함으로써 이미지 병합 성능을 더욱 향상시킬 수 있다.
본 발명의 실시예들은 이미지 처리가 요구되는 장치 및 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다. 또한, 자동차용(automotive) 카메라, 의료용 카메라 등과 같은 영상 처리가 필요한 다양한 분야에도 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (10)

  1. 복수의 입력 이미지들의 각각에 대하여, 각각의 입력 이미지를 복수의 이미지 타일들로 분할하는 단계;
    상기 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생하는 단계;
    상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생하는 단계; 및
    상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들에 기초하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생하는 단계를 포함하는 이미지 매칭 방법.
  2. 제1 항에 있어서,
    상기 특징 점 맵을 발생하는 단계는,
    상기 각각의 이미지 타일에 포함되는 특징 점들의 개수를 타일 특징 점 최대 개수 이하로 제한하는 단계를 포함하는 것을 특징으로 하는 이미지 매칭 방법.
  3. 제1 항에 있어서,
    상기 각각의 입력 이미지를 복수의 이미지 타일들로 분할하는 단계는,
    상기 복수의 이미지 타일들이 동일한 행 수 및 동일한 열 수에 상응하는 픽셀들을 각각 포함하도록 상기 각각의 입력 이미지를 균일하게 분할하는 단계를 포함하고,
    상기 특징 점 맵을 발생하는 단계는,
    상기 복수의 특징 점 타일들이 각각 특징 점 타일 사이즈에 상응하는 동일한 개수의 데이터 비트들을 포함하도록 각각의 특징 점 타일을 발생하는 단계를 포함하고,
    상기 표현자 맵을 발생하는 단계는,
    상기 복수의 표현자 타일들이 각각 표현자 타일 사이즈에 상응하는 동일한 개수의 데이터 비트들을 포함하도록 각각의 표현자 타일을 발생하는 단계를 포함하는 것을 특징으로 하는 이미지 매칭 방법.
  4. 제1 항에 있어서,
    특징 점들 사이의 유클리디언 거리에 관계 없이 표현자 타일들의 이차원 평면 상의 위치들에 기초하여 표현자들 사이의 유사도를 결정하고,
    각각의 표현자 타일의 상기 이차원 평면 상의 위치는 타일 행 인덱스 및 타일 열 인덱스에 상응하는 것을 특징으로 하는 이미지 매칭 방법.
  5. 제1 항에 있어서,
    상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들을 메모리 장치에 저장하고,
    특징 점들 사이의 유클리디언 거리에 관계 없이 상기 메모리 장치에 저장된 상기 복수의 표현자 맵들에 포함되는 표현자 타일들의 어드레스들에 기초하여 표현자들 사이의 유사도를 결정하는 것을 특징으로 하는 이미지 매칭 방법.
  6. 제1 항에 있어서,
    상기 매핑 정보를 발생하는 단계는,
    상기 복수의 표현자 맵들의 하나에 해당하는 기준 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 기준 표현자 타일을 결정하는 단계;
    상기 복수의 표현자 맵들의 다른 하나에 해당하는 타겟 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 이차원 평면 상에서 상기 기준 표현자 타일과 동일한 위치에 있는 중앙 타겟 표현자 타일을 결정하는 단계;
    상기 타겟 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 상기 이차원 평면 상에서 상기 중앙 타겟 표현자 타일에 인접한 주변 타겟 표현자 타일들을 결정하는 단계;
    상기 기준 표현자 타일에 포함되는 기준 표현자 및 상기 중앙 타겟 표현자 타일과 상기 주변 타겟 표현자 타일들에 포함되는 타겟 표현자들 사이의 유사도들을 결정하는 단계; 및
    상기 유사도들에 기초하여, 상기 타겟 표현자들에 상응하는 타겟 특징 점들 중에서 상기 기준 표현자에 상응하는 기준 특징 점에 대응하는 특징 점을 결정하는 단계를 포함하는 것을 특징으로 하는 이미지 매칭 방법.
  7. 제1 항에 있어서,
    상기 각각의 입력 이미지에 상응하는 특징 점 시작 어드레스부터 상기 각각의 입력 이미지에 상응하는 복수의 특징 점 타일들을 하나씩 특징 점 타일 어드레스 오프셋의 간격으로 메모리 장치에 순차적으로 저장하는 단계; 및
    상기 각각의 이미지에 상응하는 표현자 시작 어드레스부터 상기 복수의 표현자 타일들을 하나씩 표현자 타일 어드레스 오프셋의 간격으로 상기 복수의 특징 점 타일들의 저장 순서와 동일하게 상기 메모리 장치에 순차적으로 저장하는 단계를 더 포함하는 것을 특징으로 하는 이미지 매칭 방법.
  8. 제7 항에 있어서,
    상기 매핑 정보를 발생하는 단계는,
    상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 시작 어드레스들 및 상기 표현자 타일 어드레스 오프셋에 기초하여 유사도 결정을 위한 표현자들을 독출하는 단계를 포함하는 것을 특징으로 하는 이미지 매칭 방법.
  9. 제7 항에 있어서,
    상기 매핑 정보를 발생하는 단계는,
    상기 복수의 표현자 맵들의 하나에 해당하는 기준 표현자 맵에 상응하는 기준 표현자 시작 어드레스 및 상기 표현자 타일 어드레스 오프셋에 기초하여 상기 기준 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 기준 표현자 타일의 기준 어드레스를 결정하는 단계;
    상기 복수의 표현자 맵들의 다른 하나에 해당하는 타겟 표현자 맵에 상응하는 타겟 표현자 시작 어드레스 및 상기 표현자 타일 어드레스 오프셋에 기초하여 상기 타겟 표현자 맵에 포함되는 복수의 표현자 타일들 중에서 이차원 평면 상에서 상기 기준 표현자 타일과 동일한 위치에 있는 중앙 타겟 표현자 타일 및 상기 이차원 평면 상에서 상기 중앙 타겟 표현자 타일에 인접한 주변 타겟 표현자 타일들의 타겟 어드레스들을 결정하는 단계;
    상기 기준 어드레스 및 상기 타겟 어드레스들에 기초하여 상기 메모리 장치로부터 상기 기준 표현자 타일 및 상기 중앙 타겟 표현자 타일과 상기 주변 타겟 표현자 타일들을 독출하는 단계;
    상기 기준 표현자 타일에 포함되는 기준 표현자 및 상기 중앙 타겟 표현자 타일과 상기 주변 타겟 표현자 타일들에 포함되는 타겟 표현자들 사이의 유사도들을 결정하는 단계; 및
    상기 유사도들에 기초하여, 상기 타겟 표현자들에 상응하는 타겟 특징 점들 중에서 상기 기준 표현자에 상응하는 기준 특징 점에 대응하는 특징 점을 결정하는 단계를 포함하는 것을 특징으로 하는 이미지 매칭 방법.
  10. 복수의 입력 이미지들의 각각의 입력 이미지를 분할한 복수의 이미지 타일들의 각각에 대하여, 각각의 이미지 타일에 포함되는 특징 점들을 추출하여 상기 복수의 이미지 타일들에 각각 상응하는 복수의 특징 점 타일들을 포함하는 특징 점 맵을 발생하는 특징 점 맵 발생부;
    상기 특징 점 맵에 포함되는 특징 점들의 각각에 대한 표현자들을 발생하여 상기 복수의 특징 점 타일들에 각각 상응하는 복수의 표현자 타일들을 포함하는 표현자 맵을 발생하는 표현자 맵 발생부; 및
    상기 복수의 입력 이미지들에 각각 상응하는 복수의 표현자 맵들에 기초하여 상기 복수의 입력 이미지들의 서로 다른 입력 이미지들에 포함되는 특징 점들의 대응 관계를 나타내는 매핑 정보를 발생하는 이미지 매칭부를 포함하는 데이터 처리 장치.
KR1020200082313A 2020-07-03 2020-07-03 이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치 KR20220004460A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200082313A KR20220004460A (ko) 2020-07-03 2020-07-03 이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치
US17/204,434 US11580617B2 (en) 2020-07-03 2021-03-17 Method of matching images to be merged and data processing device performing the same
CN202110688931.5A CN113962909A (zh) 2020-07-03 2021-06-21 匹配要合并的图像的方法和执行该方法的数据处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200082313A KR20220004460A (ko) 2020-07-03 2020-07-03 이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치

Publications (1)

Publication Number Publication Date
KR20220004460A true KR20220004460A (ko) 2022-01-11

Family

ID=79166336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200082313A KR20220004460A (ko) 2020-07-03 2020-07-03 이미지 병합을 위한 이미지 매칭 방법 및 이를 수행하는 데이터 처리 장치

Country Status (3)

Country Link
US (1) US11580617B2 (ko)
KR (1) KR20220004460A (ko)
CN (1) CN113962909A (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4988408B2 (ja) * 2007-04-09 2012-08-01 株式会社デンソー 画像認識装置
KR101622110B1 (ko) 2009-08-11 2016-05-18 삼성전자 주식회사 특징점 추출 방법 및 추출 장치, 이를 이용한 영상 기반 위치인식 방법
KR101633893B1 (ko) 2010-01-15 2016-06-28 삼성전자주식회사 다중노출 영상을 합성하는 영상합성장치 및 방법
KR101256194B1 (ko) 2010-10-26 2013-04-19 이태경 이종영상정합 또는 좌표동기화를 위한 참조점 추출방법
US9020187B2 (en) 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
US8385732B2 (en) 2011-07-29 2013-02-26 Hewlett-Packard Development Company, L.P. Image stabilization
GB2506338A (en) 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
US9082008B2 (en) 2012-12-03 2015-07-14 Honeywell International Inc. System and methods for feature selection and matching
US9761008B2 (en) 2014-05-08 2017-09-12 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for visual odometry using rigid structures identified by antipodal transform
CN106204422B (zh) * 2016-06-30 2019-06-28 西安电子科技大学 基于区块子图搜索的超大幅影像快速匹配拼接方法
CN106530214B (zh) * 2016-10-21 2023-11-17 微景天下(北京)科技有限公司 图像拼接系统和图像拼接方法
US20190205693A1 (en) 2017-12-28 2019-07-04 MorphoTrak, LLC Scale-Invariant Feature Point Extraction in Edge Map
US10839508B2 (en) * 2019-03-21 2020-11-17 Sri International Integrated circuit image alignment and stitching

Also Published As

Publication number Publication date
US11580617B2 (en) 2023-02-14
US20220004799A1 (en) 2022-01-06
CN113962909A (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
CN110574026B (zh) 卷积引擎、电子设备和用于处理数据的方法
CN110574025B (zh) 用于合并交错通道数据的卷积引擎
JP5940453B2 (ja) 画像のシーケンス内のオブジェクトのリアルタイム表現のハイブリッド型追跡のための方法、コンピュータプログラム、および装置
CN110637297B (zh) 卷积引擎、数据处理方法和电子设备
KR101017802B1 (ko) 영상 왜곡 보정
WO2016144578A1 (en) Methods and systems for generating enhanced images using multi-frame processing
US11182908B2 (en) Dense optical flow processing in a computer vision system
US11682212B2 (en) Hierarchical data organization for dense optical flow processing in a computer vision system
Dürre et al. A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA
CN111383252A (zh) 多相机目标追踪方法、系统、装置及存储介质
WO2022267939A1 (zh) 图像处理方法及装置、计算机可读存储介质
KR20090020452A (ko) 디지털 이미지에서 특징점을 추출하는 방법 및 장치
US11232323B2 (en) Method of merging images and data processing device
US20230016350A1 (en) Configurable keypoint descriptor generation
US11580617B2 (en) Method of matching images to be merged and data processing device performing the same
US20190171909A1 (en) Selecting keypoints in images using descriptor scores
US11810266B2 (en) Pattern radius adjustment for keypoint descriptor generation
WO2022271499A1 (en) Methods and systems for depth estimation using fisheye cameras
CN111161408B (zh) 一种实现增强现实的方法及其应用、计算设备
Yum et al. A hardware architecture for the affine-invariant extension of SIFT
Vemulapati et al. ORB-based SLAM accelerator on SoC FPGA
TWI756771B (zh) 影像轉換方法
US11494880B2 (en) Image pyramid generation for image keypoint detection and descriptor generation
US20230334820A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
CN114750147B (zh) 机器人的空间位姿确定方法、装置和机器人

Legal Events

Date Code Title Description
A201 Request for examination