KR101741501B1 - 카메라와 객체 간 거리 추정 장치 및 그 방법 - Google Patents

카메라와 객체 간 거리 추정 장치 및 그 방법 Download PDF

Info

Publication number
KR101741501B1
KR101741501B1 KR1020160012162A KR20160012162A KR101741501B1 KR 101741501 B1 KR101741501 B1 KR 101741501B1 KR 1020160012162 A KR1020160012162 A KR 1020160012162A KR 20160012162 A KR20160012162 A KR 20160012162A KR 101741501 B1 KR101741501 B1 KR 101741501B1
Authority
KR
South Korea
Prior art keywords
camera
distance
coordinates
estimator
minutiae
Prior art date
Application number
KR1020160012162A
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 KR1020160012162A priority Critical patent/KR101741501B1/ko
Application granted granted Critical
Publication of KR101741501B1 publication Critical patent/KR101741501B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Abstract

본 발명은 카메라와 객체 간의 거리를 추정하는 장치 및 그 방법에 관한 것이다.
본 발명의 일 실시예에 따른 카메라와 객체 간 거리 추정 방법은, 미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받는 영상 입력 단계; 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득하는 특징 화소 좌표 획득 단계; 상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 특징점 좌표 산출 단계; 및 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정하는 거리 추정 단계;를 포함할 수 있다.

Description

카메라와 객체 간 거리 추정 장치 및 그 방법{Apparatus and Method for Estimation of Distance between Camera and Object}
본 발명은 카메라와 객체 간의 거리를 추정하는 장치 및 그 방법에 관한 것이다.
카메라와 객체 간의 거리 정보를 획득하는 기술로써 기존에 스테레오 카메라를 이용하여 촬영한 스테레오 영상 간의 시차를 산출하여 깊이 정보를 획득하는 방법이 존재하고 있다. 그러나 이와 같은 스테레오 카메라를 이용하는 거리 정보 획득 방법은 양 카메라 간의 정밀한 캘리브레이션을 필요로 하고, 카메라 간의 설정된 구조가 조금만 변경되어도 거리 정보를 잘못 측정하는 문제점이 있다.
또한 레이저 센서나 초음파 센서 등의 별도의 센서를 이용하여 촬영한 영상에 포함된 객체의 각 지점까지의 거리 정보를 획득하는 방법도 존재하고 있으나, 별도로 구비되는 센서의 가격이 고가라는 단점이 있다.
이에 단일 카메라를 이용하여 카메라와 객체 간의 거리 정보를 추정하는 기술이 개발되어 왔다. 예를 들면 기존의 방법으로 카메라와 객체 간의 거리 및 객체의 크기에 대한 사전 정보를 입력받아 설정하고, 카메라 또는 객체가 이동함에 따라 영상에서 객체의 크기가 변화하는 정도를 산출하여 카메라와 객체 간의 거리를 추정하는 기술이 존재한다. 그러나 이와 같은 기존 기술은 카메라와 객체 간의 거리 및 객체의 크기에 대한 사전 정보를 미리 입력받아야 한다는 한계점이 있다.
(특허문헌 0001) 대한민국 공개특허공보 제10-2011-0064544호 (2011.06.15)
본 발명은 카메라와 객체 간의 거리나 객체의 크기에 대한 사전 정보를 입력받지 아니하고도 단일 카메라로 촬영한 영상을 분석하여 영상에 포함되는 객체와 카메라 간의 거리를 추정하는 방법 및 그에 관한 장치를 제공하고자 한다.
특히 본 발명은 카메라를 미리 설정된 규칙에 따른 속도 또는 각속도로 이동시키면서 객체 영상을 촬영하고, 상기 촬영한 객체 영상을 분석하여 카메라와 객체 간의 거리를 추정하는 방법 및 그에 관한 장치를 제공하고자 한다.
특히 본 발명은 스케일 팩터를 이용하여 보다 빠른 속도로 카메라와 객체 간의 거리를 추정할 수 있는 루엔버거 추정기를 이용한 거리 추정 방법 및 그에 관한 장치를 제공하고자 한다.
상기 과제를 해결하기 위해, 본 발명의 일 유형에 따른 카메라와 객체 간 거리 추정 방법은, 미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받는 영상 입력 단계; 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득하는 특징 화소 좌표 획득 단계; 상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 특징점 좌표 산출 단계; 및 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정하는 거리 추정 단계;를 포함할 수 있다.
여기서 상기 특징 화소 좌표 획득 단계는 상기 영상에서 상기 객체에 부착된 마커를 인식하고, 상기 인식한 마커의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득할 수 있다.
여기서 상기 특징 화소 좌표 획득 단계는 상기 영상에서 상기 객체의 상기 특징점을 인식하고, 상기 인식한 특징점의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득할 수 있다.
여기서 상기 특징 화소의 좌표는 상기 영상 공간에서의 상기 특징 화소의 좌표이고, 상기 특징점의 정규화된 3차원 좌표는 상기 카메라의 위치에 따라 원점이 설정되는 3차원 공간 좌표계에서 상기 카메라의 촬영 방향으로 거리가 정규화된 좌표인 것을 특징으로 할 수 있다.
여기서 상기 특징점 좌표 산출 단계는 상기 카메라의 파라미터에 따라 설정되는 교정 행렬과 상기 특징 화소의 좌표를 연산하여 상기 특징점의 정규화된 3차원 좌표를 산출할 수 있다.
여기서 상기 추정기는 루엔버거 추정기인 것을 특징으로 할 수 있다.
여기서 상기 거리 추정 단계는 스케일 팩터를 더 적용한 상기 루엔버거 추정기를 이용하여, 상기 카메라와 상기 객체 간 거리를 추정할 수 있다.
여기서 상기 거리 추정 단계는 상기 스케일 팩터를 적용한 상기 루엔버거 추정기의 오차 동역학 식에, 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 상기 추정 이득을 입력하여, 상기 카메라와 상기 객체 간의 거리를 산출할 수 있다.
여기서 상기 거리 추정 단계는 하기 식 1와 같은 상기 오차 동역학 식을 이용하여 상기 카메라와 상기 객체 간의 거리를 산출할 수 있다.
식 1
Figure 112016010405034-pat00001
여기서 ds는 상기 스케일 팩터이고,
Figure 112016010405034-pat00002
은 상기 추정 이득이고, C는 미리 정의되는 출력 행렬이고, vc는 상기 카메라의 속도이고, w는 상기 카메라의 각속도이고, A는 vc 또는 w를 변수로 포함하는 미리 정의된 시스템 행렬이고,
Figure 112016010405034-pat00003
는 e의 미분값이고, e는 상태 벡터 y와 상태 벡터의 추정값
Figure 112016010405034-pat00004
간의 오차이고, 상기 상태 벡터는 상기 특징점의 정규화된 3차원 좌표에서 z 축 좌표 값을 상기 특징점의 3차원 좌표의 z 축 좌표 값의 역수로 대체한 벡터이다.
여기서 상기 본 발명에 따른 카메라와 객체 간 거리 추정 방법은 상기 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 상기 추정 이득의 계수를 산출하여, 상기 추정 이득을 획득하는 추정 이득 획득 단계를 더 포함할 수 있다.
여기서 상기 추정 이득 획득 단계는, 상기 카메라의 동역학 식을 정의하는 단계; 상기 정의한 카메라의 동역학 식과 상기 스케일 팩터를 이용하여 시스템 행렬을 정의하는 단계; 상기 정의한 시스템 행렬을 이용하여 상기 루엔버거 추정기를 설정하는 단계; 및 상기 루엔버거 추정기의 상기 추정 이득의 계수를 산출하여 상기 추정 이득을 획득하는 단계를 포함할 수 있다.
상기 과제를 해결하기 위해, 본 발명의 또 다른 유형에 따른 카메라와 객체 간 거리 추정 장치는 미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받고, 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득하는 특징 화소 좌표 획득부; 상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 특징점 좌표 산출부; 및 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정하는 거리 추정부;를 포함할 수 있다.
여기서 상기 특징 화소 좌표 획득부는 상기 영상에서 상기 객체의 상기 특징점을 인식하고, 상기 인식한 특징점의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득할 수 있다.
여기서 상기 특징점 좌표 산출부는 상기 카메라의 파라미터에 따라 설정되는 교정 행렬과 상기 특징 화소의 좌표를 연산하여 상기 특징점의 정규화된 3차원 좌표를 산출할 수 있다.
여기서 상기 추정기는 루엔버거 추정기이고, 상기 거리 추정부는 스케일 팩터를 더 적용한 상기 루엔버거 추정기를 이용하여, 상기 카메라와 상기 객체 간 거리를 추정할 수 있다.
여기서 상기 본 발명에 따른 카메라와 객체 간 거리 추정 장치는 상기 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 상기 추정 이득의 계수를 산출하여, 상기 추정 이득을 획득하는 추정 이득 획득부를 더 포함할 수 있다.
본 발명에 따른 카메라와 객체 간 거리 추정 방법 및 그 장치에 의하면, 사전에 카메라와 객체 간의 거리나 객체의 크기에 대한 정보를 입력받지 아니하고도, 단일 카메라로 촬영한 영상을 분석하여 영상에 포함되는 객체와 카메라 간의 거리를 추정할 수 있는 효과가 있다.
또한 본 발명에 따른 카메라와 객체 간 거리 추정 방법은 루엔버거 추정기를 이용한 거리 추정 기법에 스케일 팩터를 적용함으로써, 기존의 루엔버거 추정기를 이용한 거리 추정 기법 보다 빠른 속도로 카메라와 객체 간의 거리를 추정할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 카메라와 객체 간 거리 추정 방법의 흐름도이다.
도 2는 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 방법의 흐름도이다.
도 3은 카메라와 객체의 좌표계를 설명하기 위한 참고도이다.
도 4는 추정 이득 획득 단계의 세부 흐름도이다.
도 5는 스케일 팩터를 하였는지 여부에 따른 추정기의 성능을 나타내는 참고도이다.
도 6은 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 장치의 블록도이다.
도 7은 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 장치의 블록도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
카메라와 객체 간의 거리 정보를 획득하는 기술로써 기존에 스테레오 카메라를 이용하여 촬영한 스테레오 영상 간의 시차를 산출하여 깊이 정보를 획득하는 방법이 존재하고 있다. 그러나 이와 같은 스테레오 카메라를 이용하는 거리 정보 획득 방법은 양 카메라 간의 정밀한 캘리브레이션을 필요로 하고, 카메라 간의 설정된 구조가 조금만 변경되어도 거리 정보를 잘못 측정하는 문제점이 있다.
이에 단일 카메라를 이용하여 카메라와 객체 간의 거리 정보를 추정하는 기술이 개발되어 왔다. 예를 들면 기존의 방법으로 카메라와 객체 간의 거리 및 객체의 크기에 대한 사전 정보를 입력받아 설정하고, 카메라 또는 객체가 이동함에 따라 영상에서 객체의 크기가 변화하는 정도를 산출하여 카메라와 객체 간의 거리를 추정하는 기술이 존재한다. 그러나 이와 같은 기존 기술은 카메라와 객체 간의 거리 및 객체의 크기에 대한 사전 정보를 미리 입력받아야 한다는 한계점이 있다.
본 발명은 카메라와 객체 간의 거리나 객체의 크기에 대한 사전 정보를 입력받지 아니하고도 단일 카메라로 촬영한 영상을 분석하여 영상에 포함되는 객체와 카메라 간의 거리를 추정하는 방법 및 그에 관한 장치를 제공하고자 한다.
특히 본 발명은 카메라를 미리 설정된 규칙에 따른 속도 또는 각속도로 이동시키면서 객체 영상을 촬영하고, 상기 촬영한 객체 영상을 분석하여 카메라와 객체 간의 거리를 추정하는 방법 및 그에 관한 장치를 제공하고자 한다.
특히 본 발명은 스케일 팩터를 이용하여 보다 빠른 속도로 카메라와 객체 간의 거리를 추정할 수 있는 루엔버거 추정기를 이용한 거리 추정 방법 및 그에 관한 장치를 제공하고자 한다.
본 발명에 따른 카메라와 객체 간 거리 추정 방법은 영상 입력 단계(S100), 특징 화소 좌표 획득 단계(S200), 특징점 좌표 산출 단계(S300), 거리 추정 단계(S400)를 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 카메라와 객체 간 거리 추정 방법의 흐름도이다.
여기서 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 방법은 추정 이득 획득 단계(S50)를 더 포함할 수 있다.
도 2는 상기 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 방법의 흐름도이다.
추정 이득 획득 단계(S50)는 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 추정 이득의 계수를 산출하여, 추정 이득을 획득한다.
영상 입력 단계(S100)는 미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받는다.
특징 화소 좌표 획득 단계(S200)는 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득한다.
특징점 좌표 산출 단계(S300)는 상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출한다.
거리 추정 단계(S400)는 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정한다.
본 발명에 따른 카메라와 객체 간 거리 추정 방법의 세부 내용을 설명하기에 앞서, 먼저 본 발명에서 가정하고 이용하는 카메라 좌표계와 영상 좌표계 및 3차원 공간 좌표계에 대하여 설명한다.
본 발명에서는 거리를 획득하고자 하는 객체와의 관계에 있어서 카메라를 이동시키며 객체를 촬영한다. 따라서 객체의 특정 지점이 카메라로 촬영된 영상 내에서 위치하는 영상 내 좌표가 변화하게 된다.
이때 설명의 편의를 위하여 객체는 고정된 것으로 가정한다. 다만 객체는 이동할 수 있으며, 객체가 이동하는 경우 이하 설명하는 카메라의 움직임은 객체를 기준으로 하는 상대적인 움직임으로 정의될 수 있다. 그리고 본 발명에 따른 카메라와 객체 간 거리 추정 방법은 고정된 객체에 대하여 적용이 가능하며, 또한 이동하는 객체에 대하여도 상술한 바와 같이 카메라의 객체에 대한 상대적인 움직임 정보를 이용하여 카메라와 객체 간의 거리를 추정할 수 있다.
도 3은 카메라와 객체의 좌표계를 설명하기 위한 참고도이다.
도 3에서 F*는 초기시간 t0에서 카메라의 위치를 기준으로 하는 직교 좌표계이다. 여기서 F*는 카메라의 촬영 방향으로(예를 들면 랜즈 면의 법선 방향으로) z* 축이 설정될 수 있고, z* 축과 직교하도록 x*, y* 축이 설정될 수 있다. 여기서 x*, y*, z* 축의 방향은 필요에 따라 위에서 설명한 방향으로부터 소정의 각도를 가지도록 회전된 방향으로 설정될 수도 있다. 또한 도 3에서 Fc는 초기시간 t0으로부터 소정의 시간 동안 카메라가 이동한 후의 카메라(CM)를 위치를 기준으로 하는 직교 좌표계이다. 여기서 Fc 좌표계에서도 마찬가지로 x, y, z의 3축 방향이 설정될 수 있다. 이때 카메라의 이동은 회전행렬 R(t)와 평행이동벡터 xf(t) ∈ R3로 표현될 수 있고, F*와 Fc 간의 좌표계 간 변환 역시 상기 회전행렬 및 평행이동벡터로 표현될 수 있다. 또한 여기서 카메라와 객체의 3차원 공간 상에서의 위치를 나타내는 좌표계로 관성 프레임(inertial frame or inertial reference frame)이 정의될 수 있다. 또한 여기서 카메라가 촬영한 영상의 평면 공간
Figure 112016010405034-pat00005
가 도 3과 같이 정의될 수 있다. 여기서 i는 카메라가 촬영한 i번째 프레임에 해당하는 영상을 지칭한다. 여기서 영상 공간
Figure 112016010405034-pat00006
는 Fc 좌표계에 따라 정의될 수 있고, Fc 좌표계에서 z 축 좌표 값이 일정한 값을 가지도록 z 축에 수직한 평면 공간으로 정의될 수 있다. 예를 들어 영상 공간
Figure 112016010405034-pat00007
의 Fc 좌표계에서의 z 축 값은 1로 설정될 수 있고, 필요에 따라 다른 값으로 설정될 수도 있다.
이상과 같이 정의되는 좌표 공간에서 본 발명에 따른 카메라와 객체 간 거리 추정 방법은 다음과 같이 동작할 수 있다.
먼저 영상 입력 단계(S100)는 미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받는다.
여기서 카메라의 회전 이동에 따른 각속도를 정의 또는 측정함에 있어서, 카메라가 소정의 고정 지점을 중심으로 회전 이동하는 각도에 따라 카메라의 각속도를 정의 또는 측정할 수 있다. 바람직하게는 카메라의 각속도 및 카메라의 속도는 렌즈의 법선 방향 혹은 카메라의 촬영방향을 중심으로 정의되어 있는 카메라 좌표계에서의 각속도 및 속도이다.
여기서 카메라의 속도 및 각속도는 미리 설정된 함수에 따를 수 있다. 예를 들면 카메라의 속도 및 각속도는 상수 함수에 따라 소정의 값을 가질 수 있다. 즉 소정의 고정된 값을 가질 수 있다. 또는 카메라의 속도 및 각속도는 다항식이나 싸인 코싸인 함수 등과 같은 함수에 따른 값을 가질 수 있다. 예를 들면 각속도 w는 시간에 따른 함수로 (w1(t), w2(t), w3(t))와 같이 설정될 수 있고, 속도 v 역시 시간에 따른 함수로 (v1(t), v2(t), v3(t))와 같이 설정될 수 있다. 이때 각 시간에 따른 함수는 상수 함수가 될 수도 있고, 또는 시간을 변수로 갖는 소정의 함수가 될 수도 있다. 예를 들면 w는 (0, 0, 1)로 설정될 수 있고, v는 (a + sin(bt), c + sin(dt), 0)과 같이 설정될 수도 있다. 여기서 a, b, c, d는 소정의 상수이다.
여기서 카메라는 이동 중에 소정의 시간 간격으로 객체를 촬영할 수 있다. 그리고 영상 입력 단계(S100)는 이와 같이 소정의 시간 간격으로 촬영된 영상 프레임들을 입력받을 수 있다.
다음으로 특징 화소 좌표 획득 단계(S200)에 대하여 보다 상세히 설명한다.
특징 화소 좌표 획득 단계(S200)는 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득한다. 여기서 특징점은 카메라와 객체 간의 거리를 측정하는 기준이 되는 점으로, 객체 상의 일 지점이 될 수 있다. 여기서 특징점은 필요에 따라 객체와의 소정의 변위를 가지는 일 지점으로 설정될 수도 있다. 그리고 상기 특징 화소는 카메라가 촬영한 영상에서 객체의 특징점에 해당하는 위치의 화소를 의미한다. 그리고 특징 화소의 좌표는 상기 영상 공간에서의 상기 특징 화소의 좌표이다.
일 실시예에 있어서 본 발명에 따른 카메라와 객체 간 거리 추정 방법에서는 객체의 특징점을 특정하여 인식하기 위하여 객체에 마커를 부착하고, 영상에서 마커를 인식하여 영상에서 특징 화소를 인식할 수 있다. 또는 영상에서 객체의 특정 지점을 추출하고, 추출한 특정 지점을 특징점에 대응하는 특징 화소로 인식할 수도 있다.
이를 위하여 특징 화소 좌표 획득 단계(S200)는 상기 영상에서 상기 객체에 부착된 마커를 검출하고, 상기 검출한 마커의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득할 수 있다. 여기서 영상에서 마커를 검출하고 상기 검출한 마커의 위치를 특징 화소의 좌표로 획득하기 위하여, 특징 화소 좌표 획득 단계(S200)는 다양한 공지된 영상 객체 검출 또는 인식 알고리즘을 이용할 수 있다.
여기서 마커를 검출하기 위하여, 영상을 분석하여 미리 정해진 특징(Feature) 정보를 이용하여 마커를 검출할 수 있다. 여기서 마커를 검출하기 위하여, 기존의 다양한 종류의 특징을 상기 영상에서 추출하고, 이를 이용하여 마커를 검출할 수 있다. 예를 들면 마커의 검출을 위하여 에지 특성이나 코너 특성, 또는 LoG(Laplacian of Gaussian), DoG(Difference of Gaussian) 등의 다양한 특징을 추출하여 이용할 수 있다. 또한 여기서 마커의 검출을 위하여 SIFT(Scale-invariant feature transform), SURF(Speeded Up Robust Features), HOG(Histogram of Oriented Gradients)를 비롯한 기존의 다양한 특징 서술(Feature Description) 방식을 이용할 수 있다.
또 다른 실시예에 있어서 특징 화소 좌표 획득 단계(S200)는 상기 영상에서 상기 객체의 상기 특징점을 검출하고, 상기 검출한 특징점의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득할 수 있다. 이 경우는 마커를 이용하지 않고 객체의 특징점을 검출하고 그 위치에 따라 특정 화소의 좌표를 획득하는 경우이다. 영상에 포함된 객체는 객체 상의 각 지점마다 고유한 영상 신호의 분포값을 가지고 있기 때문에, 영상 검출 및 인식 알고리즘에서는 이와 같은 객체 상의 지점에서 해당 지점을 나타낼 수 있는 특징 또는 특징 서술자를 정의하고 필요에 따라 특징점들 간의 위치 관계를 더 이용하여 특정 객체의 위치를 검출하거나 해당 객체를 인식한다. 특징 화소 좌표 획득 단계(S200)는 이와 같은 영상 검출 및 인식 알고리즘을 이용하여 영상에서 객체의 특징이 나타내는 특정 지점들을 검출할 수 있고, 이와 같이 검출된 특정 지점들 중에서 어느 하나를 특징점으로 설정할 수 있다. 예를 들면 도 3과 같이 객체(OB)의 모서리 점들을 특정 지점들로 검출하고 그중 어느 하나를 특징점 q로 설정할 수 있다. 이때 특정 지점으로 검출되는 점들은 객체의 에지 선 상의 어느 한 지점이 될 수 있다. 그리고 이와 같은 특정 지점의 특징을 추출하고 이를 서술하기 위하여 상술한 바와 같이 에지 특성이나 코너 특성, 또는 LoG(Laplacian of Gaussian), DoG(Difference of Gaussian) 등의 다양한 특징을 추출하여 이용할 수 있고, SIFT(Scale-invariant feature transform), SURF(Speeded Up Robust Features), HOG(Histogram of Oriented Gradients)를 비롯한 기존의 다양한 특징 서술(Feature Description) 방식을 이용할 수 있다. 여기서 특징 화소 좌표 획득 단계(S200)는 특정 지점들 중에서 검출 신뢰도가 높은 지점을 상기 특징점으로 설정하여 검출할 수 있다.
다음으로는 특징점 좌표 산출 단계(S300)에 대하여 보다 상세히 설명한다.
특징점 좌표 산출 단계(S300)는 상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출한다. 특징점 좌표 산출 단계(S300)가 특징 화소의 좌표로부터 상기 특징점의 정규화된 3차원 좌표를 산출하는 과정을 보다 상세히 설명하면 다음과 같다.
먼저 영상에서 검출된 특징점의 3차원 공간 상에서의 좌표는 아래와 같이 표현될 수 있다.
도 3을 참조하면, 객체(OB) 상의 특징점 q는 Fc 좌표계 상에서 하기 수학식 1과 같은 특징점의 3차원 좌표
Figure 112016010405034-pat00008
로 표현될 수 있다.
Figure 112016010405034-pat00009
여기서 상기
Figure 112016010405034-pat00010
를 z 축 방향에 대하여 정규화하여 하기 수학식 2와 같은 특징점의 정규화된 3차원 좌표 m(t)로 표현될 수 있다. 여기서 z 축 방향에 대하여 정규화한다는 것은 특징점의 3차원 좌표 값을 각각 z 축 방향의 좌표 값으로 나누는 것을 의미한다.
Figure 112016010405034-pat00011
여기서 상기 특징점의 정규화된 3차원 좌표는 상기 카메라의 위치에 따라 원점이 설정되는 3차원 공간 좌표계에서 상기 카메라의 촬영 방향(z 축 방향)으로 거리가 정규화된 좌표가 된다.
상술한 바와 같이 도 3을 참조하면 카메라(CM)이 촬영한 영상에서 상기 객체의 특징점에 대응하는 화소를 특징 화소라고 지칭하면, 영상 공간(πi)에서의 특징 화소의 좌표 p는 하기 수학식 3과 같이 정의될 수 있다.
Figure 112016010405034-pat00012
그리고 이때 카메라의 파라미터에 의하여 정의되는 카메라의 교정(Calibration) 행렬을 AC ∈ R3x3이라고 지칭하면, 상기 특징점의 정규화된 3차원 좌표 m(t)와 상기 특징 화소의 좌표 p 및 교정 행렬 AC는 하기 수학식 4와 같은 관계를 가진다. 여기서 카메라의 교정 행렬 AC 은 카메라의 특성을 나타내는 파라미터에 따라 미리 설정되는 행렬이다.
Figure 112016010405034-pat00013
따라서 특징점에 대응하는 특징 화소의 좌표 p를 알면 상기 수학식 4에 따라 m(t)를 산출하여 x1(t)/x3(t) 및 x2(t)/x3(t) 값을 구할 수 있다.
이상과 같이 특징점 좌표 산출 단계(S300)는 상기 카메라의 파라미터에 따라 설정되는 교정 행렬과 상기 특징 화소의 좌표를 연산하여 상기 특징점의 정규화된 3차원 좌표를 산출할 수 있다.
이상과 같은 특징점 좌표 산출 단계(S300)를 통하여, 카메라를 기준으로 하는 좌표계에 있어서 특징점의 x 축 방향의 성분과 y 축 방향의 성분의 정규화된 값인 x1(t)/x3(t) 및 x2(t)/x3(t)은 획득할 수 있다. 그러나 카메라와 객체 간의 거리를 나타내는 z 축 방향의 거리 성분인 x3(t)는 상기 과정만으로는 획득할 수 없으며, 이하에서 상세히 설명하는 바와 같이 거리 추정 단계(S400)에서 추정하여 획득한다.
거리 추정 단계(S400)는 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정한다. 여기서 상기 추정기는 이하 상세히 설명할 바 루엔버거 추정기가 될 수 있다.
여기서 거리 추정 단계(S400)에서 이용할 추정 이득을 획득하기 위하여 이하에서 상세히 설명할 바와 같이 추정 이득 획득 단계(S50)가 사전에 수행될 수 있다. 여기서 추정 이득 획득 단계(S50)는 거리 추정 단계(S400) 이전에 수행되면 되며, 도 2와 같은 순서로 수행될 수도 있지만 필요에 따라 거리 추정 단계(S400) 이전의 임의의 시점에서 수행될 수 있다.
추정 이득 획득 단계(S50)는 상기 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 상기 추정 이득의 계수를 산출하여, 상기 추정 이득을 획득한다. 여기서 추정 이득은 이하 상세히 설명할 바와 같이 카메라의 속도와 각속도 및 상태 벡터와 상태 벡터의 추정값 간의 오차를 입력변수로 하는 다항식의 행렬로 정의될 수 있다. 따라서 추정 이득을 획득하는 것은 각 변수들의 계수를 산출하는 과정이 될 수 있다. 그리고 상기 획득한 추정 이득의 식은 메모리나 디스크와 같은 소정의 저장소에 저장될 수 있고, 거리 추정 단계(S400)에서 읽어 들여 사용할 수 있다.
여기서 추정 이득 획득 단계(S50)는, 상기 카메라의 동역학 식을 정의하는 단계(S51), 상기 정의한 카메라의 동역학 식을 이용하여 시스템 행렬을 정의하는 단계(S52), 상기 정의한 시스템 행렬을 이용하여 상기 루엔버거 추정기를 설정하는 단계(S53), 상기 루엔버거 추정기의 상기 추정 이득의 계수를 산출하여 상기 추정 이득을 획득하는 단계(S54)를 포함할 수 있다.
도 4는 이상과 같은 추정 이득 획득 단계(S50)의 세부 흐름도이다.
이하에서는 거리 추정 단계(S400)에서 이용하는 추정기와 추정기의 추정 이득에 대하여 설명하면서, 그와 감께 추정 이득 획득 단계(S50)에 대하여 보다 상세히 설명한다.
먼저 상기 카메라의 동역학 식을 정의하는 단계(S51)에 대하여 설명한다. 상기 카메라의 동역학 식을 정의하는 단계(S51)는 이동하는 카메라와 객체의 특징점 사이의 관계를 이용하여 아래 수학식 9 내지 수학식 12 중 어느 하나와 같은 카메라 동역학 식을 정의할 수 있다.
도 3을 다시 참조하면, Fc 좌표계에서의 특징점의 3차원 좌표
Figure 112016010405034-pat00014
는 F* 좌표계의 원점 O 로부터 특징점의 3차원 좌표 q 에 이르는 벡터가 도 3과 같이 xOq 라고 할 때, 상기 회전행렬 R(t)와 평행이동벡터 xf(t) 를 이용하여 하기 수학식 5과 같이 표현될 수 있다.
Figure 112016010405034-pat00015
이때 상기 수학식 5를 시간에 대하여 미분하면 하기 수학식 6과 같은 동역학 식으로 나타낼 수 있다.
Figure 112016010405034-pat00016
여기서 [w]X ∈ R3x3 는 카메라의 각속도 w(t) = [w1(t), w2(t), w3(t)]T로 구성된 카메라 각속도의 교대 행렬이고, vr(t)는 카메라의 속도이다.
여기서 카메라의 속도 vr(t)는 하기 수학식 7와 같이 표현될 수 있다.
Figure 112016010405034-pat00017
여기서 vc = [vcx, vcy, vcz]T 는 카메라 좌표계에서 카메라의 속도이고, vp = [vpx, vpy, vpz]T는 관성프레임(inertial reference frame)에서의 특징점 q의 속도를 카메라좌표계로 변환한 후의 속도이다. 이때 만일 객체가 고정되어 있다고 가정하면, vr = vc가 된다.
여기서 상태 벡터 y를 상기 특징점의 정규화된 3차원 좌표 m(t)에서 z 축 좌표 값 1이 특징점의 3차원 좌표
Figure 112016010405034-pat00018
의 z 축 좌표 값 x3(t)에 따른 1/x3(t) 값으로 대체된 벡터로 정의할 수 있고, 그에 따라 하기 수학식 8과 같이 상태 벡터 y를 표현할 수 있다.
Figure 112016010405034-pat00019
여기서 y1, y2는 상기 수학식 4 부분에서 설명한 바와 같이 산출되어 획득할 수 있다. 그러나 y3은 카메라와 특징점 사이의 거리에 따라 결정되는 값이기 때문에 y1, y2와 같이 측정될 수는 없고 추정되어야만 한다. 그리고 y3의 값이 추정될 경우 그 역수 값인 x3 값이 추정될 수 있다. 이하에서는 본 발명에서 카메라 동역학 모델링과 루엔버거 추정기를 이용하여 y3을 추정하는 과정에 대하여 보다 상세히 설명한다.
먼저 상기 수학식 6과 상기 수학식 8에 따라 하기 수학식 9와 같은 관계가 도출될 수 있다. 하기 수학식 9와 이하 수학식 9에 따라 도출되는 수학식 10, 11, 12는 카메라의 속도 및 각속도와 카메라와 객체 간의 거리의 관계를 나타내는 것으로 이하에서 카메라 동역학 모델 또는 카메라 동역학 식(camera dynamics)이라고 지칭한다.
Figure 112016010405034-pat00020
여기서
Figure 112016010405034-pat00021
는 y의 미분값을 의미하며, 이와 같은 미분 기호는 이하에서 e 등에 대하여도 동일한 연산 기호로 사용한다.
여기서 객체의 이동이 정지된 상태여서 vp = 0 이라고 가정할 경우, 상기 수학식 9는 하기 수학식 10과 같이 표현될 수 있다.
Figure 112016010405034-pat00022
여기서 카메라의 x축 방향 각속도 w1 와 y축 방향 각속도 w2가 각각 0 이고, 카메라가 z 축방향으로 이동하는 속도 vcz가 0 이라고 가정할 수 있다. 즉 카메라가 회전할 때 x축 방향과 y축 방향을 기준으로 회전하지 않고 z축 방향을 기준으로만 회전하고, 카메라가 z축 방향으로 선형 이동은 하지 않는다고 가정하면, 상기 수학식 10은 하기 수학식 11과 같이 표현될 수 있다.
Figure 112016010405034-pat00023
여기서 상기 정의한 카메라의 동역학 식을 이용하여 시스템 행렬을 정의하는 단계(S52)는 상기 수학식 11을 하기 수학식 12와 같이 표현하고, 시스템 행렬 A를 그에 따라 정의할 수 있다.
Figure 112016010405034-pat00024
여기서
Figure 112016010405034-pat00025
이고, A(vc, w)는 시스템 행렬로
Figure 112016010405034-pat00026
와 같다.
다음으로 상기 정의한 시스템 행렬을 이용하여 상기 루엔버거 추정기를 설정하는 단계(S53)는 아래 수학식 13과 같이 루엔버거 추정기를 설정할 수 있다.
루엔버거 추정기(Luenberger - type estimator)는 루엔버거 관측기(Luenberger - type observer)의 다른 말로 측정할 수 있는 입력값과 출력값으로부터 미지의 상태 값을 예측하는 공지 기법이다. 본 발명에서는 이와 같은 루엔버거 관측기 즉 루엔버거 추정기를 이용하여 미지의 카메라와 객체 간의 거리를 추정한다.
이때 상술한 바와 같이 y3의 값을 추정하기 위하여 루엔버거 추정기가 다음 수학식 13과 같이 표현될 수 있다.
Figure 112016010405034-pat00027
여기서 C는 출력행렬로 y1, y2가 측정 가능하기 때문에
Figure 112016010405034-pat00028
로 설정된다. 여기서
Figure 112016010405034-pat00029
는 y의 추정값을 나타낸다.
이때 루엔버거 추정기에서의 오차에 대한 동역학 식은 하기 수학식 14와 같이 나타낼 수 있다. 여기서 하기 수학식 14는 카메라와 객체 간의 거리에 관한 정보를 포함하는 상기 상태 벡터의 추정값과 측정값 간의 오차와 카메라의 속도 및 각속도에 관한 관계를 나타내는 식이며, 그와 같은 특성에 따라 이하에서 오차 동역학 식(error dynamics)이라 지칭한다.
Figure 112016010405034-pat00030
여기서 오차 e는
Figure 112016010405034-pat00031
으로 정의될 수 있다. 그리고 L은 루엔버거 추정기의 추정 이득이다.
상술한 바와 같이 추정 이득 L(e, vc, w)은 카메라의 속도 vc 와 각속도 w 및 상태 벡터와 상태 벡터의 추정값 간의 오차 e 를 입력변수로 하는 다항식의 행렬로 정의될 수 있다.
여기서 추정 이득 L을 구할 수 있다면 상기 수학식 14를 이용하여
Figure 112016010405034-pat00032
를 구할 수 있고, 그에 따라 y3의 추정값을 획득할 수 있다. 본 발명에서는 이를 위하여 상기 오차 동역학 식의 오차를 소정의 범위 이내로 수렴하게 하는 추정 이득 L을 구한다. 여기서 추정 이득을 획득하는 것은 각 추정 이득 함수의 변수들의 각 계수를 산출하는 과정이 될 수 있다.
이를 위하여 상기 루엔버거 추정기의 상기 추정 이득의 계수를 산출하여 상기 추정 이득을 획득하는 단계(S54)는 아래와 같은 과정을 통하여 추정 이득 L을 구한다.
여기서 하기 수학식 15, 수학식 16을 만족하는 대칭행렬 X, 다항식 행렬
Figure 112016010405034-pat00033
, 0보다 큰 상수 ε1이 존재한다고 가정할 때, 루엔버거 추정기의 추정 이득 L(e, vc, w)는 하기 수학식 17과 같이 산출될 수 있다.
Figure 112016010405034-pat00034
Figure 112016010405034-pat00035
여기서 v ∈ RN는 e에 독립적인 벡터이다.
Figure 112016010405034-pat00036
여기서 루엔버거 추정기의 추정 이득을 산출하는 과정은 공지된 방법을 이용할 수 있으며, 예를 들면 "Prajna, S., Papachristodoulou, A., Seiler, P., Parrilo, P.A.: SOSTOOLS (Sum of Squares Optiization Toolbox for MATLAB) (2004)"를 이용하여 추정 이득을 얻을 수 있다.
이상과 같이 획득한 추정 이득 L을 이용하여 거리 추정 단계(S400)는 카메라와 객체 간의 거리를 추정할 수 있다.
거리 추정 단계(S400)는 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정한다. 여기서 상기 추정기는 루엔버거 추정기가 될 수 있다.
여기서 거리 추정 단계(S400)는 상술한 바와 같이 상기 획득한 추정 이득 L과 상기 수학식 8 부분에서 설명한 바와 같이 획득한 y1, y2, 그리고 카메라의 속도 및 각속도 정보를 이용하여 상기 오차 동역학 식인 수학식 14에 따라 y3의 추정값을 산출할 수 있다. 그리고 상기 산출한 y3에 따라 x3 값을 산출하고 그에 따라 카메라와 객체 간의 거리를 결정할 수 있다.
그런데 여기서 상기 수학식 11 내지 수학식 17과 같이 설계한 루엔버거 추정기를 이용하여 카메라와 객체 간의 거리를 추정할 경우 카메라가 느린 속도로 움직일수록 거리 추정 시간이 길어진다는 문제점이 있다. 이에 본 발명에 따른 카메라와 객체 간 거리 추정 방법에서는 카메라가 느린 속도로 움직이는 경우에도 보다 빠른 속도로 거리를 추정할 수 있도록, 카메라 동역학 식에 스케일 팩터를 적용하고, 그에 따라 루엔버거 추정기를 새롭게 설계하여 이용할 수 있다. 여기서 스케일 팩터는 카메라와 객체 간의 거리에 관한 정보를 포함하고 있는 상기 상태 벡터의 스케일을 조절하는 요소로서, 예를 들면 기존의 상태 벡터 y에 스케일 팩터 ds를 곱하여
Figure 112016010405034-pat00037
로 상태 벡터의 스케일을 조절하는 값이다.
본 발명에 따른 추정 이득 획득 단계(S50)는 아래에서 설명하는 바와 같이 스케일 팩터를 적용하여 하기 수학식 18과 같이 카메라 동역학 식을 정의하고(S51), 상기 정의한 카메라의 동역학 식을 이용하여 하기 수학식 18 및 수학식 19와 같이 시스템 행렬
Figure 112016010405034-pat00038
을 정의하고(S52), 상기 정의한 시스템 행렬을 이용하여 상기 루엔버거 추정기를 설정하여 하기 수학식 20과 같은 오차 동역학 식을 설정하고(S53), 하기 수학식 21 내지 23과 같이 상기 루엔버거 추정기의 상기 추정 이득을 획득할 수 있다(S54).
먼저 수학식 18은 상기 수학식 11에 스케일 팩터 ds 를 적용한 카메라 동역학 식을 나타낸다.
Figure 112016010405034-pat00039
여기서
Figure 112016010405034-pat00040
,
Figure 112016010405034-pat00041
라고 각각 정의하면, 상기 수학식 18은 하기 수학식 19와 같이 표현될 수 있다.
Figure 112016010405034-pat00042
이와 같이 스케일 팩터를 적용한 카메라 동역학 식을 이용할 경우, 스케일 팩터를 적용한 루엔버거 추정기의 오차 동역학 식은 하기 수학식 20과 같다.
Figure 112016010405034-pat00043
여기서
Figure 112016010405034-pat00044
이다. 상기 수학식 14에서 설명한 것과 마찬가지로 추정 이득
Figure 112016010405034-pat00045
을 구할 수 있다면 상기 수학식 20은 이용하여
Figure 112016010405034-pat00046
를 구할 수 있고,
Figure 112016010405034-pat00047
에 따라 y를 추정하여 y3의 추정값을 획득할 수 있다.
여기서 상기 수학식 15 내지 수학식 17와 동일한 원리로, 스케일 팩터를 적용한 루엔버거 추정기의 추정이득
Figure 112016010405034-pat00048
는 하기 수학식 21 내지 23과 같이 산출될 수 있다. 즉 하기 수학식 21, 수학식 22을 만족하는 대칭행렬
Figure 112016010405034-pat00049
, 다항식 행렬
Figure 112016010405034-pat00050
, 0보다 큰 상수 ε1이 존재한다고 가정할 때, 루엔버거 추정기의 추정 이득 L(e, vc, w)는 하기 수학식 23과 같이 산출될 수 있다.
Figure 112016010405034-pat00051
Figure 112016010405034-pat00052
여기서 v ∈ RN는 e에 독립적인 벡터이다.
Figure 112016010405034-pat00053
이상과 같이 획득한 추정 이득
Figure 112016010405034-pat00054
을 이용하여 거리 추정 단계(S400)는 카메라와 객체 간의 거리를 추정할 수 있다.
거리 추정 단계(S400)는 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정한다. 여기서 상기 추정기는 상술한 바와 같은 스케일 팩터를 더 적용한 루엔버거 추정기가 될 수 있다.
여기서 거리 추정 단계(S400)는 상기 스케일 팩터를 적용한 상기 루엔버거 추정기의 오차 동역학 식에, 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 상기 추정 이득을 입력하여, 상기 카메라와 상기 객체 간의 거리를 산출할 수 있다.
여기서 거리 추정 단계(S400)는 상술한 바와 같이 상기 획득한 추정 이득
Figure 112016010405034-pat00055
과 상기 수학식 8을 이용하여 획득한 y1, y2, 그리고 카메라의 속도 및 각속도 정보, 및 스케일 팩터 ds 값을 이용하여 스케일 팩터를 적용한 오차 동역학 식인 수학식 20에 따라 y3의 추정값을 산출할 수 있다. 그리고 상기 산출한 y3에 따라 x3 값을 산출하고 그에 따라 카메라와 객체 간의 거리를 결정할 수 있다.
여기서 거리 추정 단계(S400)는 상기 수학식 20을 달리 표현한 하기 수학식 24와 같은 오차 동역학 식을 이용하여 상기 카메라와 상기 객체 간의 거리를 산출할 수 있다.
Figure 112016010405034-pat00056
여기서 ds는 상기 스케일 팩터이고,
Figure 112016010405034-pat00057
은 상기 추정 이득이고, C는 미리 정의되는 출력 행렬이고, vc는 상기 카메라의 속도이고, w는 상기 카메라의 각속도이고, A는 vc 및 w를 변수로 포함하는 미리 정의된 시스템 행렬이고,
Figure 112016010405034-pat00058
는 e의 미분값이고, e는 상태 벡터 y와 상태 벡터의 추정값
Figure 112016010405034-pat00059
간의 오차이고, 상기 상태 벡터는 상기 특징점의 정규화된 3차원 좌표에서 z 축 좌표 값을 상기 특징점의 3차원 좌표의 z 축 좌표 값의 역수로 대체한 벡터이다.
도 5는 스케일 팩터를 하였는지 여부에 따른 추정기의 성능을 비교하여 나타내는 참고도이다.
도 5는 본 발명에 따른 카메라와 객체 간 거리 추정 방법을 이용하되, 스케일 팩터를 적용한 경우와 적용하지 않은 경우 상태 벡터의 각 성분을 추정하는 속도를 나타내는 참고도이다. 여기서 카메라의 이동 속도에 따라 아래 표 1과 같은 2가지의 모의실험 시나리오를 수행한 결과, 시나리오 1에 따라 도 5의 a와 같은 추정 결과가, 시나리오 2에 따라 도 5의 b와 같은 추정 결과가 도출되었다.
Figure 112016010405034-pat00060
도 5의 (a)와 (b)를 비교하여 살펴보면, 카메라의 회전 각속도가 보다 느린 시나리오 2의 경우, 상태 벡터의 성분 y3를 추정함에 있어서 스케일 팩터를 이용하는 경우 (M2)가 이용하지 않는 경우(M1) 보다 빠르게 추정함을 확인할 수 있다.
본 발명의 또 다른 실시예 따른 카메라와 객체 간 거리 추정 장치는 특징 화소 좌표 획득부(100), 특징점 좌표 산출부(200), 거리 추정부(300)를 포함할 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 장치의 블록도이다.
여기서 본 발명의 또 다른 실시예에 따른 카메라와 객체 간 거리 추정 장치는 추정 이득 획득부(50)를 더 포함할 수 있다.
도 7은 상기 본 발명에 따른 카메라와 객체 간 거리 추정 장치의 블록도이다.
여기서 본 발명에 따른 카메라와 객체 간 거리 추정 장치는 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있고 또는 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한 본 발명에 따른 카메라와 객체 간 거리 추정 장치는 소프트웨어 프로그램으로 구현되어 프로세서 또는 신호 처리 모듈 위에서 동작할 수 있고, 또는 하드웨어의 형태로 구현되어 각종 프로세서, 칩(Chip), 반도체, 소자 등에 포함될 수 있음은 물론이다. 또한 본 발명에 따른 카메라와 객체 간 거리 추정 장치는 컴퓨터, 휴대폰, 태블릿, 등의 각종 임베디드 시스템 또는 디바이스 상에서 하드웨어 또는 소프트웨어 모듈의 형태로 포함되어 동작할 수 있다. 바람직하게는 본 발명에 따른 영상 화질 개선 장치는 카메라와 연결되어 촬영된 영상을 입력받고 처리하는 디바이스에 포함되어 구현될 수 있다.
여기서 본 발명에 따른 카메라와 객체 간 거리 추정 장치는 도 1 내지 도 5를 참조하면서 상세히 설명한 카메라와 객체 간 거리 추정 방법이 동작하는 방식과 동일한 방식으로 동작할 수 있다. 이에 중복되는 부분은 생략하고 요지를 위주로 설명한다.
특징 화소 좌표 획득부(100)는 미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받고, 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득한다. 여기서 특징 화소 좌표 획득부(100)는 상기 영상에서 상기 객체의 상기 특징점을 인식하고, 상기 인식한 특징점의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득할 수 있다.
특징점 좌표 산출부(200)는 상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출한다. 여기서 특징점 좌표 산출부(200)는 상기 카메라의 파라미터에 따라 설정되는 교정 행렬과 상기 특징 화소의 좌표를 연산하여 상기 특징점의 정규화된 3차원 좌표를 산출할 수 있다.
거리 추정부(300)는 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정한다. 여기서 상기 추정기는 루엔버거 추정기가 될 수 있고, 거리 추정부(300)는 스케일 팩터를 더 적용한 상기 루엔버거 추정기를 이용하여, 상기 카메라와 상기 객체 간 거리를 추정할 수 있다.
추정 이득 획득부(50)는 상기 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 상기 추정 이득의 계수를 산출하여, 상기 추정 이득을 획득할 수 있다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
S50 : 추정 이득 획득 단계
S100 : 영상 입력 단계
S200 : 특징 화소 좌표 획득 단계
S300 : 특징점 좌표 산출 단계
S400 : 거리 추정 단계
50 : 추정 이득 획득부
100 : 특징 화소 좌표 획득부
200 : 특징점 좌표 산출부
300 : 거리 추정부

Claims (16)

  1. 카메라와 객체 간 거리 추정 방법에 있어서,
    미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받는 영상 입력 단계;
    상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득하는 특징 화소 좌표 획득 단계;
    상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 특징점 좌표 산출 단계; 및
    상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정하는 거리 추정 단계;를 포함하며,
    상기 추정기는 루엔버거 추정기이고,
    상기 거리 추정 단계는 스케일 팩터를 더 적용한 상기 루엔버거 추정기를 이용하여, 상기 카메라와 상기 객체 간 거리를 추정하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  2. 제1항에 있어서,
    상기 특징 화소 좌표 획득 단계는 상기 영상에서 상기 객체에 부착된 마커를 인식하고, 상기 인식한 마커의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  3. 제1항에 있어서,
    상기 특징 화소 좌표 획득 단계는 상기 영상에서 상기 객체의 상기 특징점을 인식하고, 상기 인식한 특징점의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  4. 제1항에 있어서,
    상기 특징 화소의 좌표는 영상 공간에서의 상기 특징 화소의 좌표이고,
    상기 특징점의 정규화된 3차원 좌표는 상기 카메라의 위치에 따라 원점이 설정되는 3차원 공간 좌표계에서 상기 카메라의 촬영 방향으로 거리가 정규화된 좌표인 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  5. 제1항에 있어서,
    상기 특징점 좌표 산출 단계는 상기 카메라의 파라미터에 따라 설정되는 교정 행렬과 상기 특징 화소의 좌표를 연산하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  6. 삭제
  7. 삭제
  8. 제1항에 있어서,
    상기 거리 추정 단계는 상기 스케일 팩터를 적용한 상기 루엔버거 추정기의 오차 동역학 식에, 상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 상기 추정 이득을 입력하여, 상기 카메라와 상기 객체 간의 거리를 산출하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  9. 제1항에 있어서,
    상기 거리 추정 단계는 하기 식 1와 같은 오차 동역학 식을 이용하여 상기 카메라와 상기 객체 간의 거리를 산출하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
    식 1
    Figure 112017012736865-pat00061

    여기서 ds는 상기 스케일 팩터이고,
    Figure 112017012736865-pat00062
    은 상기 추정 이득이고, C는 미리 정의되는 출력 행렬이고, vc는 상기 카메라의 속도이고, w는 상기 카메라의 각속도이고, A는 vc 또는 w를 변수로 포함하는 미리 정의된 시스템 행렬이고,
    Figure 112017012736865-pat00063
    는 e의 미분값이고, e는 상태 벡터 y와 상태 벡터의 추정값
    Figure 112017012736865-pat00064
    간의 오차이고, 상기 상태 벡터는 상기 특징점의 정규화된 3차원 좌표에서 z 축 좌표 값을 상기 특징점의 3차원 좌표의 z 축 좌표 값의 역수로 대체한 벡터이다.
  10. 제1항에 있어서,
    상기 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 상기 추정 이득의 계수를 산출하여, 상기 추정 이득을 획득하는 추정 이득 획득 단계를 더 포함하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  11. 제10항에 있어서, 상기 추정 이득 획득 단계는,
    상기 카메라의 동역학 식을 정의하는 단계;
    상기 정의한 카메라의 동역학 식과 상기 스케일 팩터를 이용하여 시스템 행렬을 정의하는 단계;
    상기 정의한 시스템 행렬을 이용하여 상기 루엔버거 추정기를 설정하는 단계; 및
    상기 루엔버거 추정기의 상기 추정 이득의 계수를 산출하여 상기 추정 이득을 획득하는 단계를 포함하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 방법.
  12. 카메라와 객체 간 거리 추정 장치에 있어서,
    미리 설정된 값 또는 함수에 따른 속도 및 각속도로 이동하는 카메라로부터 촬영한 영상을 입력받고, 상기 영상에서 객체의 특징점에 대응하는 특징 화소의 좌표를 획득하는 특징 화소 좌표 획득부;
    상기 획득한 특징 화소의 좌표와 미리 설정된 상기 카메라의 파라미터 정보를 이용하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 특징점 좌표 산출부; 및
    상기 특징점의 정규화된 3차원 좌표와, 상기 카메라의 속도 정보 및 각속도 정보와 추정 이득을 입력으로 하는 미리 설계된 추정기를 이용하여, 상기 카메라와 상기 객체 간의 거리를 추정하는 거리 추정부;를 포함하며,
    상기 추정기는 루엔버거 추정기이고,
    상기 거리 추정부는 스케일 팩터를 더 적용한 상기 루엔버거 추정기를 이용하여, 상기 카메라와 상기 객체 간 거리를 추정하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 장치.
  13. 제12항에 있어서,
    상기 특징 화소 좌표 획득부는 상기 영상에서 상기 객체의 상기 특징점을 인식하고, 상기 인식한 특징점의 상기 영상 내 위치에 따라 상기 특징 화소의 좌표를 획득하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 장치.
  14. 제12항에 있어서,
    상기 특징점 좌표 산출부는 상기 카메라의 파라미터에 따라 설정되는 교정 행렬과 상기 특징 화소의 좌표를 연산하여 상기 특징점의 정규화된 3차원 좌표를 산출하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 장치.
  15. 삭제
  16. 제12항에 있어서,
    상기 카메라의 속도와 각속도를 입력변수로 포함하는 다항식으로 정의되는 상기 추정 이득의 계수를 산출하여, 상기 추정 이득을 획득하는 추정 이득 획득부를 더 포함하는 것을 특징으로 하는 카메라와 객체 간 거리 추정 장치.
KR1020160012162A 2016-02-01 2016-02-01 카메라와 객체 간 거리 추정 장치 및 그 방법 KR101741501B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160012162A KR101741501B1 (ko) 2016-02-01 2016-02-01 카메라와 객체 간 거리 추정 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160012162A KR101741501B1 (ko) 2016-02-01 2016-02-01 카메라와 객체 간 거리 추정 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101741501B1 true KR101741501B1 (ko) 2017-05-30

Family

ID=59052809

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160012162A KR101741501B1 (ko) 2016-02-01 2016-02-01 카메라와 객체 간 거리 추정 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101741501B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996992B1 (ko) * 2018-11-13 2019-07-08 주식회사 하이드로셈 옵티컬 플로우 영상 처리를 이용하는 하천 유속 측정 장치 및 방법
KR20200112143A (ko) 2019-03-21 2020-10-05 두림야스카와(주) 비접촉 3차원 공간좌표 측정 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013083505A (ja) 2011-10-07 2013-05-09 National Institute Of Information & Communication Technology 3次元座標位置推定装置、その方法、そのプログラムおよび3次元座標推定システム、ならびに、カメラ較正情報生成装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013083505A (ja) 2011-10-07 2013-05-09 National Institute Of Information & Communication Technology 3次元座標位置推定装置、その方法、そのプログラムおよび3次元座標推定システム、ならびに、カメラ較正情報生成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kim and Chwa. Sum of Squares Based Range Estimation for Camera Systems. ICIRA. Springer Berlin Heidelberg, 2013. pp. 668-678.*

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996992B1 (ko) * 2018-11-13 2019-07-08 주식회사 하이드로셈 옵티컬 플로우 영상 처리를 이용하는 하천 유속 측정 장치 및 방법
WO2020101103A1 (ko) * 2018-11-13 2020-05-22 주식회사 하이드로셈 옵티컬 플로우 영상 처리를 이용하는 하천 유속 측정 장치 및 방법
US11200684B2 (en) 2018-11-13 2021-12-14 Hydrosem Apparatus and method for measuring flow velocity of stream using optical flow image processing
KR20200112143A (ko) 2019-03-21 2020-10-05 두림야스카와(주) 비접촉 3차원 공간좌표 측정 장치

Similar Documents

Publication Publication Date Title
US20200279121A1 (en) Method and system for determining at least one property related to at least part of a real environment
CN111354042B (zh) 机器人视觉图像的特征提取方法、装置、机器人及介质
US10948297B2 (en) Simultaneous location and mapping (SLAM) using dual event cameras
US10755428B2 (en) Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
US10068344B2 (en) Method and system for 3D capture based on structure from motion with simplified pose detection
US10275649B2 (en) Apparatus of recognizing position of mobile robot using direct tracking and method thereof
CN108381549B (zh) 一种双目视觉引导机器人快速抓取方法、装置及存储介质
US10083512B2 (en) Information processing apparatus, information processing method, position and orientation estimation apparatus, and robot system
US9679384B2 (en) Method of detecting and describing features from an intensity image
CN110782496B (zh) 标定方法、装置、航拍设备和存储介质
KR100855657B1 (ko) 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법
KR102455632B1 (ko) 스테레오 매칭 방법 및 장치
JP2015527764A (ja) マルチ・フレーム画像キャリブレータ
CN108090921A (zh) 单目视觉和imu融合的自适应室内定位方法
US10607350B2 (en) Method of detecting and describing features from an intensity image
JP6172432B2 (ja) 被写体識別装置、被写体識別方法および被写体識別プログラム
WO2016208404A1 (ja) 情報処理装置および方法、並びにプログラム
WO2017094140A1 (ja) 物体検出装置及び物体検出方法
KR101741501B1 (ko) 카메라와 객체 간 거리 추정 장치 및 그 방법
KR101791166B1 (ko) 오브젝트의 공간 정보 추정 장치 및 방법
JP5769248B2 (ja) ステレオマッチング処理装置、ステレオマッチング処理方法、及び、プログラム
KR101673144B1 (ko) 부분 선형화 기반의 3차원 영상 정합 방법
Zhang et al. High-speed vision extraction based on the CamShift algorithm
KR20170001448A (ko) 스테레오 카메라를 이용한 카메라 위치 측정 장치 및 방법
JP7298687B2 (ja) 物体認識装置及び物体認識方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant