KR102265081B1 - 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템 - Google Patents

벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템 Download PDF

Info

Publication number
KR102265081B1
KR102265081B1 KR1020190085499A KR20190085499A KR102265081B1 KR 102265081 B1 KR102265081 B1 KR 102265081B1 KR 1020190085499 A KR1020190085499 A KR 1020190085499A KR 20190085499 A KR20190085499 A KR 20190085499A KR 102265081 B1 KR102265081 B1 KR 102265081B1
Authority
KR
South Korea
Prior art keywords
camera
coordinates
posture
determining
dimensional
Prior art date
Application number
KR1020190085499A
Other languages
English (en)
Other versions
KR20210009019A (ko
Inventor
김의명
홍송표
Original Assignee
남서울대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 남서울대학교 산학협력단 filed Critical 남서울대학교 산학협력단
Priority to KR1020190085499A priority Critical patent/KR102265081B1/ko
Publication of KR20210009019A publication Critical patent/KR20210009019A/ko
Application granted granted Critical
Publication of KR102265081B1 publication Critical patent/KR102265081B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

본 발명은 벡터내적과 3차원 좌표변환을 이용하여 카메라의 위치 및 자세를 결정하는 시스템에 관한 것으로, 더욱 상세하게는 카메라에서 촬영한 영상을 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라 위치에 해당하는 투영중심을 결정하고, 상기 결정한 투영중심을 이용한 지상좌표와 정규좌표간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정함으로써, 짐벌락(Gimbal lock) 현상이 발생하지 않도록 하고, 투영중심과 촬영방향과 관련된 외부표정요소(Exterior Orientation Parameters)를 정확하고 신속하게 결정할 수 있도록 하는 카메라의 위치 및 자세를 결정하는 시스템에 관한 것이다.

Description

벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템{SYSTEM FOR DETERMINING POSITION AND ATTITUDE OF CAMERA USING THE INNER PRODUCT OF VECTORS AND THREE-DIMENSIONAL COORDINATE TRANSFORMATION}
본 발명은 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템에 관한 것으로, 더욱 상세하게는 카메라에서 촬영한 영상을 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라 위치에 해당하는 투영중심을 결정하고, 상기 결정한 투영중심을 이용한 지상좌표와 정규좌표간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정함으로써, 짐벌락(Gimbal lock) 현상이 발생하지 않도록 하고, 투영중심과 촬영방향과 관련된 외부표정요소(Exterior Orientation Parameters)를 정확하고 신속하게 결정할 수 있도록 하는 카메라의 위치 및 자세를 결정하는 시스템에 관한 것이다.
카메라의 성능과 영상처리 기술이 급속하게 발전함에 따라, 카메라로부터 촬영되는 복수의 영상을 기록, 측정 및 판독하는 과정을 통해 복수의 영상에 포함된 객체의 3차원 위치를 결정함으로써, 해당 객체에 대한 신뢰할 수 있는 공간정보를 획득할 수 있도록 하는 사진측량(photogrammetry)기술 또는 컴퓨터 비전(computer vision)기술이 급속하게 발전하고 있다.
상기 사진측량의 목적은 중복된 다수의 영상을 이용하여 대상물의 3차원 좌표를 결정하는 것이다. 이를 위해서, 촬영 당시의 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하는 공간후방교회법(spatial resection)이 필수적으로 필요하다.
상기 공간후방교회법은, 공간상의 임의의 점과 그에 대응하는 영상상의 점 및 카메라의 투영중심이 동일 직선상에 있어야 하는 공선조건에 대한 방정식(즉 공선조건식)을 이용하여 상기 카메라의 위치와 자세를 추정하는 방법이다.
이때 상기 공선조건식은 추정하고자 하는 카메라의 위치와 자세에 대해 비선형으로 이루어진 방정식을 의미하는 것으로, 상기 공간후방교회법은 상기 공선조건식에 대한 해를 계산하기 위해 테일러 급수(Taylor series)를 이용하여 상기 공선조건식을 선형방정식으로 전개한 후, 상기 전개한 선형방정식을 최소제곱법 계산함으로써, 카메라의 위치와 자세를 추정할 수 있도록 한다.
이러한 상기 공간후방교회법은 전통적으로 항공 사진측량에 사용되는데, 오일러 각 기반의 공선조건식을 이용한 비선형 방정식을 편미분하여 외부표정요소를 결정하며, 6개의 미지수에 대한 초기값 및 수치적 반복법이 필요하다. 기존의 항공 사진측량의 경우에는 항공기에 탑재된 관성항법장치(IMU: Inertial Measurement Unit)를 이용하여 카메라의 자세에 해당하는 정보와 위성항법장치(GNSS: Global Navigation Satellite System)를 이용하여 카메라의 위치에 해당하는 정보를 이용하기 때문에 초기값을 설정하기 수월하였다.
하지만 카메라의 위치와 자세를 알아내는 기존의 공선조건식 기반의 공간후방교회법에서는 오일러 각이 사용되기 때문에 초기값에 민감하며, 짐벌락 현상이 발생한다. 또한 초기값이 필요하지 않고 짐벌락 현상이 발생하는 않는 공간후방교회법 일지라도 기준점 배치에 따라 카메라의 위치와 자세를 구하지 못하는 문제가 발생한다.
한편 실내 및 지상의 근거리에서 3차원 데이터 구축 및 활용서비스에 대한 요구가 증대됨에 따라 위치 및 자세정보를 취득할 수 있는 센서가 탑재되지 않은 저가의 카메라를 이용한 근거리 사진측량 기술이 각광 받고 있다.
그러나 근거리에서 촬영한 지상사진 또는 실내사진은 연직에서 촬영하는 항공 사진측량과 달리 대상물의 측면 정보 또한 촬영하기 때문에 카메라의 회전이 클 경우에는 짐벌락 현상이 발생하는 문제점이 있다.
따라서 본 발명에서는 카메라에서 촬영한 영상을 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하고, 이를 바탕으로 카메라의 자세에 해당하는 회전행렬을 결정함으로써, 카메라의 위치 및 자세를 정확하고 신속하게 결정할 수 있는 방안을 제시하고자 한다.
특히, 본 발명은 카메라로부터 입력받은 영상 데이터에 대한 3차원 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 사진좌표를 설정하고, 상기 설정한 사진좌표를 왜곡이 보정된 정규좌표로 변환하여 외부표정요소를 결정하기 위한 기하학적 제약조건을 구축하고, 이를 토대로 벡터내적과 3차원 좌표변환을 통해 카메라의 위치 및 자세를 결정함으로써, 오일러 회전으로 인해 발생할 수 있는 짐벌락 현상을 없애고 외부표정요소를 신속하게 결정할 수 있는 방안을 제시하고자 한다.
다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.
먼저 한국등록특허 제0918706호(2009.09.22.)는 초기 추정값 없이 단일 프레임의 영상 데이터에서 카메라의 자세를 추정하는 카메라 자세 추정 장치 및 방법에 관한 것으로, 임의의 물체에 대해 입력받은 적어도 4개의 3차원 좌표값 중에서 임의의 물체의 무게 중심에 가장 근접한 참조점을 결정하며, 참조점을 이용하여 카메라의 자세 및 위치를 추정한다. 이때 정확한 참조점을 결정하는 데에 방해요소가 되는 이상점을 제거한 후에 남아있는 좌표값 중에서 참조점을 선택하며, 여기서 이상점은 입력받은 좌표값 중에서 다른 특징점들과 멀리 떨어진 좌표값으로 결정하는 것을 기술적 특징으로 한다.
즉 상기 선행기술은 단일 영상 프레임으로부터 실시간으로 카메라 자세 및 위치에 대한 추정값을 생성할 수 있고, 입력된 좌표값 중에서 이상점을 제거한 후에 동적으로 참조점을 설정하여, 카메라 자세 및 위치에 대한 추정값의 정확도가 향상되는 장치 및 방법에 대해 기재하고 있다.
또한 한국등록특허 제0797391호(2008.01.28.)는 카메라의 위치 및 자세 정보 보정 방법 및 장치에 관한 것으로, 위성항법장치와 관성항법장치로부터 위치와 자세 정보를 얻도록 만들어진 카메라의 운용에 있어, 카메라에 장착된 삼선 스캐너를 통하여 얻어지는 영상정보를 분석하여 카메라의 위치와 자세 정보를 정밀하게 보정할 수 있도록 하는 것을 기술적 특징으로 한다.
즉 상기 선행기술은 인공위성이나 항공기 등의 수송 수단에 탑재된 카메라를 통하여 관측된 영상에 대해 지상기준점을 사용하지 않고도 카메라의 외부표정요소를 정밀하게 결정할 수 있는 방법 및 장치를 기재하고 있다.
이상에서 선행기술들을 검토한 결과, 대부분의 선행기술들은 입력된 좌표값 중에서 이상점을 제거한 후에 동적으로 참조점을 설정하여 카메라 자세 및 위치에 대한 추정값의 정확도를 향상하는 구성, 카메라를 통하여 관측된 영상에 대해 지상기준점을 사용하지 않고도 카메라의 외부표정요소를 결정하는 구성에 대하여 기재하고 있을 뿐이다.
이에 반하여 본 발명은 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하고, 상기 결정된 투영중심을 이용하여 지상좌표와 정규좌표간의 3차원 관계를 설정한 후 이를 3차원 좌표변환식에 적용하여 카메라의 자세에 해당하는 회전행렬을 직접적으로 결정함으로써, 오일러 회전에 의해 나타날 수 있는 짐벌락 현상이 발생하지 않으면서 카메라의 위치 및 자세를 신속하게 결정할 수 있도록 하는 것이다. 따라서 상기 선행기술들은 본 발명의 이러한 기술적 특징을 기재하거나 시사하고 있지 않다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 벡터내적과 3차원 좌표변환을 이용하여 카메라의 위치 및 자세를 결정하는 시스템 및 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 짐벌락 현상을 일으키지 않는 카메라의 위치 및 자세를 구하고, 지상좌표(기준점) 배치 및 초기값에 강건한 외부표정요소를 신속하게 결정할 수 있는 카메라의 위치 및 자세를 결정하는 시스템 및 방법을 제공하는 것을 다른 목적으로 한다.
또한 본 발명은 카메라에서 촬영한 영상을 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 결정하고, 상기 지상좌표와 정규좌표의 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하고, 이를 바탕으로 카메라의 자세에 해당하는 회전행렬을 결정함으로써, 짐벌락 현상을 제거하고 카메라의 위치 및 자세를 신속하게 결정할 수 있는 카메라의 위치 및 자세를 결정하는 시스템 및 방법을 제공하는 것을 또 다른 목적으로 한다.
또한 본 발명은 카메라의 위치 및 자세를 확인하기 쉽지 않은 실내에서 촬영하거나, 또는 위성항법장치(GNSS) 및 관성항법장치(IMU) 등의 장비가 탑재되지 않은 카메라를 이용하는 경우, 카메라의 위치와 자세를 효율적으로 결정할 수 있는 시스템 및 방법을 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일 실시예에 따른 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템은, 카메라로부터 특정 객체를 촬영한 영상 데이터를 입력받는 영상 입력부; 상기 입력받은 영상 데이터를 토대로 3차원의 지상좌표와 상기 지상좌표에 대응되는 2차원의 정규좌표를 결정하는 좌표 결정부; 상기 지상좌표와 상기 지상좌표의 벡터내적으로 결정하고, 상기 결정한 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하는 카메라 위치 결정부; 및 상기 결정한 투영중심을 이용한 지상좌표와 정규좌표간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정하는 카메라 자세 결정부;를 포함하는 것을 특징으로 한다.
또한 상기 시스템은, 상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표를 이용하여 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하기 위한 기하학적 제약조건 구축부;를 더 포함하며, 상기 기하학적 제약조건 구축부는, 상기 입력받은 영상 데이터에 대한 2개의 3차원 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 2개의 사진좌표를 설정하고, 상기 설정한 사진좌표를 왜곡이 보정된 정규좌표로 변환하는 것을 포함하는 것을 특징으로 한다.
또한 상기 카메라 위치 결정부는, 상기 결정한 벡터내적을 이용한 상기 지상좌표와 상기 정규좌표 간의 관측방정식을 구성하고, 상기 구성한 관측방정식의 상기 카메라의 위치 및 자세에 대하여 설정된 초기값을 확인하며, 상기 구성한 관측방정식을 상기 카메라의 위치 및 자세에 대한 초기값을 이용하여 카메라에 대한 최적의 위치가 결정될 때까지 반복적으로 계산하여 카메라의 투영중심을 결정하는 것을 더 포함하는 것을 특징으로 한다.
또한 상기 카메라 자세 결정부는, 상기 결정한 투영중심을 이용하여 축척계수 결정부에서 결정한 상기 지상좌표와 상기 정규좌표 간의 축척계수를 상기 정규좌표에 곱하여 축척이 고려된 정규좌표로 복원하고, 상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정하며, 상기 설정한 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해(Singular Value Decomposition)를 이용하여 카메라의 자세에 해당하는 회전행렬을 결정하는 것을 더 포함하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시예에 따른 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 방법은, 카메라로부터 특정 객체를 촬영한 영상 데이터를 입력받는 단계; 상기 입력받은 영상 데이터를 토대로 3차원의 지상좌표를 결정하는 단계; 상기 지상좌표에 대응되는 2차원의 정규좌표를 결정하는 단계; 상기 지상좌표와 정규좌표의 벡터내적을 결정하는 단계; 상기 결정한 백터내적을 이용하여 카메라 위치에 해당하는 투영중심을 결정하는 단계; 및 상기 결정한 투영중심을 이용한 지상좌표와 정규좌표간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정하는 단계;를 포함하는 것을 특징으로 한다.
또한 상기 방법은, 상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표를 이용하여 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하기 위한 기하학적 제약조건을 구축하는 단계;를 더 포함하며, 상기 기하학적 제약조건을 구축하는 단계는, 상기 입력받은 영상 데이터에 대한 2개의 3차원 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 2개의 사진좌표를 설정하는 단계; 및 상기 설정한 사진좌표를 왜곡이 보정된 정규좌표로 변환하는 단계;를 포함하는 것을 특징으로 한다.
또한 상기 투영중심을 결정하는 단계는, 상기 결정한 벡터내적을 이용한 상기 지상좌표와 상기 정규좌표 간의 관측방정식을 구성하는 단계; 상기 구성한 관측방정식의 상기 카메라의 위치 및 자세에 대하여 설정된 초기값을 확인하는 단계; 및 상기 구성한 관측방정식을 상기 카메라의 위치 및 자세에 대한 초기값을 이용하여 카메라에 대한 최적의 위치가 결정될 때까지 반복적으로 계산하여 카메라의 투영중심을 결정하는 단계;를 포함하는 것을 특징으로 한다.
또한 상기 회전행렬을 결정하는 단계는, 상기 결정한 투영중심을 이용하여 상기 지상좌표와 상기 정규좌표 간의 축척계수를 결정하는 단계; 상기 정규좌표에 상기 결정한 축척계수를 곱하여 축척이 고려된 정규좌표로 복원하는 단계; 상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정하는 단계; 및 상기 설정한 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해를 이용하여 카메라의 자세에 해당하는 회전행렬을 결정하는 단계;를 포함하는 것을 특징으로 한다.
이상에서와 같이 본 발명의 카메라의 위치 및 자세를 결정하는 시스템에 따르면, 카메라에서 촬영한 영상을 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하기 때문에 기준점이 되는 지상좌표의 기하학적 배치와 상기 카메라의 위치 및 자세에 대한 초기 설정값에 안정적이며, 상기 결정된 투영중심을 이용하여 지상좌표와 정규좌표간의 3차원 관계를 설정한 후, 이를 3차원 좌표변환식에 적용하여 카메라의 자세에 해당하는 회전행렬을 직접적으로 결정하기 때문에 오일러 회전을 이용함에 따라 발생할 수 있는 짐벌락 현상이 나타나지 않는 효과가 있다.
또한 본 발명은 카메라의 위치 및 자세를 확인하기 어려운 실내에서 촬영하거나, 또는 위성항법장치(GNSS) 및 관성항법장치(IMU) 등의 장비가 탑재되지 않은 카메라를 이용하는 경우, 카메라 위치 및 자세 결정을 보다 효율적으로 수행할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 카메라의 위치 및 자세를 결정하는 시스템을 개략적으로 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 카메라의 위치 및 자세를 결정하는 시스템에 적용되는 기하학적 제약조건을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 카메라 위치 및 자세 결정 장치의 구성을 상세하게 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 카메라 위치 및 자세 결정부의 구성을 상세하게 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 카메라의 위치 및 자세를 결정하는 방법의 동작과정을 상세하게 나타낸 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명의 카메라의 위치 및 자세를 결정하는 시스템에 대한 바람직한 실시 예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.
도 1은 본 발명의 일 실시예에 따른 카메라의 위치 및 자세를 결정하는 시스템을 개략적으로 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 본 발명은 카메라 위치 및 자세 결정 장치(100), 복수의 카메라(200), 데이터베이스(300) 등을 포함하여 구성된다.
상기 카메라(200)는 복수 개로 구성되어, 실내 또는 위성항법장치(GNSS) 및 관성항법장치(IMU) 등의 장비가 탑재되지 않은 환경에서 특정 객체를 중복으로 촬영한 영상 데이터를 상기 카메라 위치 및 자세 결정 장치(100)로 전송한다(①).
이때 상기 카메라 위치 및 자세 결정 장치(100)과 상기 카메라(200)는 유선의 케이블로 연결되거나, 또는 블루투스(Bluetooth), 지그비(ZigBee), 비콘(Beacon), 와이파이(WiFi) 등의 무선으로 연결된다.
여기서, 상기 카메라(200)는 위성항법장치나 관성항법장치가 설치된 무인 비행체나 비행기의 이동에 따라 특정 객체를 촬영한 영상 데이터를 상기 카메라 위치 및 자세 결정 장치(100)로 전송할 수 있다.
또한 상기 카메라(200)는 복수 개를 사용하지 않고 하나를 사용할 수 있으며, 이 경우 특정 객체를 촬영한 복수 개의 영상을 순차적으로 상기 카메라 위치 및 자세 결정 장치(100)로 전송할 수 있다.
상기 카메라 위치 및 자세 결정 장치(100)는 복수의 카메라(200)로부터 특정 객체를 촬영한 영상 데이터를 유선 또는 무선으로 입력받고, 상기 영상 데이터를 참조하여 카메라(200)에 대한 위치 및 자세를 결정한다.
이때 특정 객체에 대한 3차원 위치를 결정하기 위해서는 적어도 2개 이상의 영상이 필요하다.
즉 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)로부터 입력받은 영상 데이터를 통해 상기 카메라(200)의 위치 및 자세를 결정하는 기능을 수행함으로써, 특정 객체에 대한 3차원 위치를 결정하여 입체적인 영상을 생성할 수 있도록 하는 것이다.
상기 카메라 위치 및 자세 결정 장치(100)에서 수행하는 상기 카메라(200)의 위치 및 자세를 결정하는 기능을 보다 상세하게 설명하면, 우선 상기 카메라(200)로부터 입력받은 영상 데이터는 상기 카메라(200)의 렌즈 상태에 따라 왜곡(예를 들어, 방사왜곡, 접선왜곡 등)이 발생할 수 있으므로, 카메라 캘리브레이션을 수행하여 상기 영상 데이터에 대한 보정을 수행한다.
이때 보정은 상기 카메라(200)의 내부표정요소를 결정하기 위한 것으로서, 상기 카메라 캘리브레이션을 통해 상기 카메라(200)의 초점거리, 주점위치 및 왜곡에 대한 매개변수를 결정하는 것이다.
또한 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)로부터 입력받은 영상 데이터를 토대로 3차원 지상좌표와 상기 지상좌표에 대응되는 2차원의 정규좌표를 결정한다(②). 그리고 3차원의 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 2개의 사진좌표를 설정하고, 상기 설정한 사진좌표를 왜곡이 보정된 정규좌표로 변환하여, 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하기 위한 기하학적 제약조건을 구성한다. 이때 상기 기하학적 제약조건은 상기 영상 데이터 상의 지상좌표와 이에 대응되는 정규좌표를 이용하여 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하기 위한 것으로서, 도 2를 참조하여 상세히 설명하기로 한다.
이후 상기 카메라 위치 및 자세 결정 장치(100)는 상기 결정한 지상좌표와 정규좌표의 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정한다(③). 이를 이용하면 초기값의 설정 및 정규화가 가능하며 더욱이 지상좌표(기준점) 배치에 강건한 장점이 있다.
이때 상기 투영중심을 결정하기 위하여, 상기 카메라 위치 및 자세 결정 장치(100)는 벡터내적을 이용하여 상기 지상좌표와 이에 대응하는 정규좌표 간의 관측방정식을 구성한다.
상기 관측방정식을 구성하기 위해서는 3차원의 지상좌표에 대한 사진좌표(즉 2차원의 정규좌표), 사전에 결정된 내부표정요소, 지상좌표(기준점), 설정한 초기값이 입력 자료로써 필요하다.
따라서 상기 카메라 위치 및 자세 결정 장치(100)는 먼저 지상좌표(기준점)에 대한 3차원 위치를 관측하여 결정하고, 이를 카메라(200)를 이용하여 촬영하였을 때의 지상좌표가 영상에 투영된 시간좌표를 관측하여 결정한다. 또한 상기 내부표정요소는 상기 영상 데이터에 대한 보정을 수행할 때 결정한 카메라 캘리브레이션을 통해 알고 있는 값이므로, 상기 카메라 캘리브레이션을 통해 결정된 내부표정요소를 입력자료로 사용한다.
또한 상기 카메라 위치 및 자세 결정 장치(100)는 상기 구성한 관측방정식의 상기 카메라(200)의 위치 및 자세에 대하여 설정된 초기값을 확인한 후, 상기 관측방정식과 초기값을 통해 최적의 카메라 위치를 결정한다. 즉 상기 구성한 관측방정식을 상기 카메라의 위치 및 자세에 대한 초기값을 이용하여 카메라(200)에 대한 최적의 위치가 결정될 때까지 반복적으로 계산하여 카메라(200)의 투영중심을 결정하는 것이다.
예를 들어 벡터내적을 이용하여 구성한 관측방정식과 초기값을 통해 현재 추정되는 위치값과 기 추정된 카메라에 대한 위치값의 차이를 비교하고, 상기 비교결과 현재 추정되는 위치값과 미리 설정된 카메라에 대한 위치값의 차이가 미리 설정한 값(임계값) 이하이면, 현재 추정되는 위치값을 최적의 카메라 위치로 결정하며, 상기 비교결과 현재 추정되는 위치값과 미리 설정된 카메라에 대한 위치값의 차이가 미리 설정한 값(임계값) 이상이면, 벡터내적을 이용하여 구성한 관측방정식과 초기값을 통해 현재 추정되는 위치값을 계산하는 과정을 반복적으로 수행하도록 하여 카메라에 대한 최적의 위치값을 결정하도록 한다.
또한 상기 카메라 위치 및 자세 결정 장치(100)는 상기 결정한 투영중심을 이용하여 상기 지상좌표와 정규좌표 간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정한다(④). 즉 상기 카메라 위치 및 자세 결정 장치(100)는 상기 지상좌표와 정규좌표간의 축척을 계산한 후, 상기 축척이 고려된 정규좌표를 3차원 좌표변환에 적용하여 카메라의 자세에 해당하는 회전행렬을 결정함으로써, 짐벌락 현상을 일으키지 않는 카메라(200)의 자세를 결정하는 것이다.
이때 상기 카메라(200)의 자세를 결정하기 위하여, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 정규좌표에 상기 결정한 축척계수를 곱하여 축척이 고려된 정규좌표로 복원한 후, 상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정한다.
또한 상기 카메라 위치 및 자세 결정 장치(100)는 상기 설정한 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해를 상기 카메라(200)의 자세에 해당하는 회전행렬을 결정한다.
이처럼, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)로부터 입력받은 영상 데이터를 토대로, 지상좌표와 이에 대응되는 정규좌표를 결정하고, 상기 결정한 지상좌표와 이에 대응되는 정규좌표의 벡터내적을 이용하여 카메라(200)의 위치에 해당하는 투영중심을 결정하고, 상기 결정한 투영중심을 이용하여 상기 지상좌표와 정규좌표 간의 3차원 변환관계를 이용하여 카메라(200)의 자세에 해당하는 회전행렬을 결정함으로써, 오일러 회전으로 인해 발생할 수 있는 짐벌락 현상을 없애면서 상기 카메라(200)의 위치 및 자세에 관련된 외부표정요소를 신속하게 결정할 수 있는 것이다.
상기 데이터베이스(300)는 상기 카메라 위치 및 자세 결정 장치(100)에서 사용하는 각종 동작프로그램과 업데이트 정보를 저장하여 관리한다.
다음에는, 카메라 위치 및 자세를 나타내는 외부표정요소를 결정하는 방식에 대하여 도 2를 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 카메라의 위치 및 자세를 결정하는 시스템에 적용되는 기하학적 제약조건을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, A, B는 지상좌표를 나타내고, a, b는 지상좌표에 대응되는 렌즈왜곡이 보정된 정규좌표를 나타낸다.
본 발명에서는 카메라 위치 및 자세를 나타내는 외부표정요소를 결정하기 위하여, 벡터내적을 이용하여 카메라의 위치를 결정하고, 3차원 좌표변환을 이용하여 카메라 자세를 결정한다.
즉 본 발명은 렌즈왜곡이 보정된 정규좌표를 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하고 지상좌표와 정규좌표간의 축척을 계산하는 과정과, 지상좌표와 이에 대응되는 축척이 고려된 정규좌표를 3차원 좌표변환에 적용하여 카메라의 자세에 해당하는 회전행렬을 결정하는 과정의 2 단계로 구분할 수 있다.
상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)로부터 입력받은 영상 데이터에 왜곡이 발생할 수 있으므로, 우선 상기 영상 데이터 상의 사진좌표를 왜곡이 보정된 정규좌표로 변환하여야 한다.
다음의 수학식 1은 이와 같이 사진좌표를 왜곡이 보정된 정규좌표계로 나타낸 것이다.
[수학식 1]
Figure 112019072556065-pat00001
여기서,
Figure 112019072556065-pat00002
은 정규좌표,
Figure 112019072556065-pat00003
는 사진좌표,
Figure 112019072556065-pat00004
는 주점위치, f는 초점거리,
Figure 112019072556065-pat00005
는 렌즈왜곡량을 나타낸다.
이와 같이 사진좌표를 왜곡이 보정된 정규좌표계로 나타낸 이후, 상기 카메라 위치 및 자세 결정 장치(100)는 벡터내적을 이용한 투영중심을 결정하기 위하여, 다음의 수학식 2와 같이 정규좌표를 벡터내적을 이용하여 코사인 값을 계산한다.
[수학식 2]
Figure 112019072556065-pat00006
여기서,
Figure 112019072556065-pat00007
,
Figure 112019072556065-pat00008
,
Figure 112019072556065-pat00009
를 나타낸다.
상기 지상좌표와 상기 정규좌표 간의 코사인 값은 수치적으로 동일하므로 수학식 3과 같이 투영중심을 미지수로 하는 오차에 대한 함수로 나타낼 수 있으며, 수학식 3의
Figure 112019072556065-pat00010
,
Figure 112019072556065-pat00011
는 수학식 4와 같다.
[수학식 3]
Figure 112019072556065-pat00012
여기서, e는 오차, Δ는 투영중심에 해당하는
Figure 112019072556065-pat00013
를 나타낸다.
[수학식 4]
Figure 112019072556065-pat00014
여기서,
Figure 112019072556065-pat00015
,
Figure 112019072556065-pat00016
,
Figure 112019072556065-pat00017
이다.
이후, 상기 카메라 위치 및 자세 결정 장치(100)는 비선형 방정식을 최소제곱법에 적용하기 위해 수학식 3을 수학식 5와 같이 구하고자 투영중심(Δ)에 대하여 편미분하여 자코비안(Jacobian) 행렬을 구성한다.
[수학식 5]
Figure 112019072556065-pat00018
여기서,
Figure 112019072556065-pat00019
은 자코비안 매트릭스를 나타낸다.
이와 같이 자코비안 행렬이 구성되면, 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 6과 같은 관측방정식(observation equation)을 구성할 수 있다. 상기 관측방정식은 최소 제곱법의 원리를 이용하여 관측값을 조정하는 기법의 일종으로서, 측정된 값을 직접 사용하여 실제로 측정한 수와 동일한 개수의 관측방적식을 만들게 된다. 보통 방정식의 수가 미지수보다 많거나 같으며, 여러 개의 미지수를 동시에 알고자 할 때 사용된다.
[수학식 6]
Figure 112019072556065-pat00020
이때 2점당 1개의 방정식이 구성되며, 수학식 6의 경우에는 방정식의 개수(m)가 미지수의 개수(n)보다 적기 때문에 방정식의 해를 결정할 수 없다. 따라서 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 7과 같이 n개의 점 중에 2개를 선택할 조합공식을 이용하면 방정식의 개수(m)를 구할 수 있으며, 방정식의 해를 구하기 위해서는 최소 3점이 필요한 것을 알 수 있다.
[수학식 7]
Figure 112019072556065-pat00021
여기서, m은 방정식의 개수, n은 관측점의 개수를 나타낸다.
만약, n개의 점이 존재할 경우, 상기 카메라 위치 및 자세 결정 장치(100)는 n개 중에 2개를 선택할 조합순서를 이용하여 수학식 8과 같이 관측방정식을 인덱싱할 수 있다.
[수학식 8]
Figure 112019072556065-pat00022
상기 수학식 8과 같이 관측 방정식이 구성되면, 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 9와 같이 가우스-뉴턴법을 이용하여 최소제곱의 해를 결정할 수 있다.
[수학식 9]
Figure 112019072556065-pat00023
여기서, k는 반복횟수를 나타낸다.
여기서, 상기 가우스-뉴턴법이란 다변수 벡터 함수로 구성된 비선형 연립방정식의 해를 구하는 최적화 방법이며, 초기값 벡터(
Figure 112019072556065-pat00024
)를 이용하여 수렴할 때까지 반복해야 한다. 따라서 초기값이 좋지 못하거나 초기값의 범위가 클 경우에는 해가 수렴하지 못할 경우가 발생한다.
이에 따라 상기 카메라 위치 및 자세 결정 장치(100)는 지상좌표의 조합 중 가장 긴 거리를 구하여 각 지상좌표에 나누는 방법을 사용한다. 따라서 정규화된 지상좌표 간에 거리의 범위는 0에서 1 사이가 되며, 초기값 벡터(
Figure 112019072556065-pat00025
)는 정규화된 지상좌표의 평균점을 사용한다.
이와 같이, 가우스-뉴턴법을 적용하면 정규화된 카메라(200)의 투영중심이 결정되며, 수학식 10과 같이 정규화된 투영중심과 정규화된 지상좌표간의 거리(
Figure 112019072556065-pat00026
)를 계산할 수 있다.
[수학식 10]
Figure 112019072556065-pat00027
여기서,
Figure 112019072556065-pat00028
는 정규화된 투영중심,
Figure 112019072556065-pat00029
는 정규화된 지상좌표를 나타낸다.
이와 같이 정규화된 카메라의 투영중심이 결정되면, 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 11과 같이 영상 데이터의 정규좌표와 정규화된 지상좌표 간의 축척계수를 결정한다.
[수학식 11]
Figure 112019072556065-pat00030
여기서, λi는 i번째 축척계수, di는 i번째 정규좌표와 정규화된 지상좌표간의 거리, (xi, yi, 1)은 i번째 정규좌표를 나타낸다.
상기 수학식 11을 통해 축척계수가 결정되면, 상기 카메라 위치 및 자세 결정 장치(100)는 3차원 좌표변환을 이용한 카메라의 자세를 결정하여야 한다.
이에 대하여 상세하게 설명하면, 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 12와 같이 정규좌표(
Figure 112019072556065-pat00031
)에 각 축척계수(λi)를 곱하여 축척이 고려된 정규좌표(
Figure 112019072556065-pat00032
)로 복원시킨다.
또한 상기 카메라 위치 및 자세 결정 장치(100)는 이를 공선조건식에 적용하면 카메라의 자세에 해당하는 회전행렬을 미지수로 하는 3차원 관계식으로 설정할 수 있다.
[수학식 12]
Figure 112019072556065-pat00033
여기서,
Figure 112019072556065-pat00034
는 i번째 축척이 고려된 정규좌표, λi는 i번째 축척계수,
Figure 112019072556065-pat00035
는 i번째 정규좌표,
Figure 112019072556065-pat00036
는 i번째 정규화된 지상좌표,
Figure 112019072556065-pat00037
는 정규화된 투영중심,
Figure 112019072556065-pat00038
은 지상에서 사진으로 변환되는 회전행렬을 나타낸다.
상기 수학식 12를 간단하게 정리하면 다음의 수학식 13과 같고, 상기 카메라 위치 및 자세 결정 장치(100)는 미지의 회전행렬을 결정하기 위하여 수학식 14와 같은 모델식을 사용한다.
[수학식 13]
Figure 112019072556065-pat00039
[수학식 14]
Figure 112019072556065-pat00040
상기 수학식 14를 전개하면 수학식 15와 같고, 전체적인 오차가 최소화되기 위해서는 상기 수학식 15에서의
Figure 112019072556065-pat00041
가 최대화가 되어야 한다.
[수학식 15]
Figure 112019072556065-pat00042
상기 수학식 15에서
Figure 112019072556065-pat00043
을 대각합의 연산성질과 특이값 분해를 이용하여 다음의 수학식 16과 같이 나타낼 수 있다.
[수학식 16]
Figure 112019072556065-pat00044
여기서, U는 C의 좌측 특이벡터 행렬 및 직교행렬, S는 C의 특이값 행렬 및 대각행렬, V는 C의 우측 특이벡터 행렬 및 직교행렬, C는 공분산 행렬을 나타낸다.
상기 수학식 16에서
Figure 112019072556065-pat00045
를 살펴보면 직교행렬들의 곱이기 때문에 곱의 결과 또한 직교행렬이 되고 크기를 보존한다. 따라서 S가 대각행렬이므로 대각합을 최대화하기 위해서는
Figure 112019072556065-pat00046
가 단위행렬이 되어야 한다. 이와 같은 성질을 이용하여, 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 17과 같이 미지의 3차원 회전행렬을 결정할 수 있다.
[수학식 17]
Figure 112019072556065-pat00047
이때 결정된 회전행렬을 오른손 좌표계로 정의하기 위하여, 상기 카메라 위치 및 자세 결정 장치(100)는 수학식 18과 같은 행렬식을 이용한다. 오른손 좌표계에서 회전행렬의 행렬식은 1이기 때문이다.
[수학식 18]
Figure 112019072556065-pat00048
또한 상기 카메라 위치 및 자세 결정 장치(100)는 최종적으로 상기 수학식 9에서 결정된 정규화되었던 투영중심을 복원하며, 이는 다음의 수학식 19와 같다.
[수학식 19]
Figure 112019072556065-pat00049
여기서,
Figure 112019072556065-pat00050
는 정규화하였던 지상좌표(기준점) 간의 최대거리를 나타낸다.
이상에서 설명한 바와 같이, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)에서 촬영한 영상 데이터를 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라(200)의 위치에 해당하는 투영중심을 결정하고, 이를 바탕으로 카메라(200)의 자세에 해당하는 회전행렬을 결정함으로써, 지상좌표(기준점)의 기하학적 배치 및 초기값에 안정적이며, 회전행렬 자체를 결정하므로 오일러 회전 이용으로 인해 발생할 수 있는 짐벌락 현상이 나타나지 않게 된다.
도 3은 본 발명의 일 실시예에 따른 카메라 위치 및 자세 결정 장치의 구성을 상세하게 나타낸 도면이며, 도 4는 본 발명의 일 실시예에 따른 카메라 위치 및 자세 결정부의 구성을 상세하게 나타낸 도면이다.
도 3에 도시된 바와 같이, 상기 카메라 위치 및 자세 결정 장치(100)는 영상 입력부(110), 영상 보정부(120), 위치 및 자세 결정부(130), 결과 출력부(140), 저장부(150) 등을 포함하여 구성된다.
또한 상기 카메라 위치 및 자세 결정 장치(100)는 도면에 도시하지는 않았지만, 각 구성 부분에 동작전원을 공급하는 전원부, 각종 기능에 대한 데이터 입력을 위한 입력부, 각종 동작프로그램의 업데이트를 관리하는 업데이트 관리부 등을 추가로 포함할 수 있다.
상기 영상 입력부(110)는 상기 카메라(200)로부터 전송되는 복수의 영상 데이터를 입력받는다.
이때 상기 영상 데이터는 실내, 지상 또는 비행체에 위치한 상기 카메라(200)에서 특정 객체를 중복하여 촬영한 것이다.
상기 영상 보정부(120)는 상기 영상 입력부(110)에서 제공되는 특정 객체를 촬영한 영상 데이터에 대한 왜곡을 보정한다.
즉 상기 카메라(200)의 렌즈 상태에 따라 방사왜곡이나 접선왜곡 등이 발생할 수 있으므로, 상기 영상 보정부(120)는 카메라 캘리브레이션을 수행하여 상기 카메라(200)의 초점거리, 주점거리 및 방사왜곡과 접선왜곡에 대한 매개변수를 포함하는 카메라(200)의 내부표정요소를 결정함으로써, 상기 영상 데이터의 왜곡을 보정하며, 상기 왜곡을 보정한 영상 데이터와 상기 결정한 내부표정요소를 상기 위치 및 자세 결정부(130)로 출력한다.
상기 위치 및 자세 결정부(130)는 상기 영상 보정부(120)에서 보정된 영상 데이터를 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 상기 카메라(200)의 위치에 해당하는 투영중심을 결정하고, 이를 바탕으로 상기 카메라(200)의 자세에 해당하는 회전행렬을 결정하는 기능을 수행한다.
즉 상기 위치 및 자세 결정부(130)는 상기 복수의 영상 데이터로부터 중복 촬영된 특정 객체에 대한 3차원 위치 및 자세를 결정하며, 이를 토대로 입체적인 공간영상을 제작할 수 있도록 하는 것이다.
이때 상기 위치 및 자세 결정부(130)는 도 4에 도시된 바와 같이, 좌표 결정부(131), 기하학적 제약조건 구축부(132), 카메라 위치 결정부(133), 축척계수 결정부(134), 카메라 자세 결정부(135) 등을 포함하여 구성된다.
상기 좌표 결정부(131)는 상기 영상 보정부(120)에서 보정된 영상 데이터를 토대로 3차원의 지상좌표를 결정하고, 상기 지상좌표에 대응되는 2차원의 정규좌표를 결정한다.
상기 기하학적 제약조건 구축부(132)는 상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표를 이용하여 상기 카메라(200)의 위치와 자세에 해당하는 외부표정요소를 결정하도록 하기 위해서 기하학적 제약조건을 구축하는 기능을 수행하는 부분으로서, 상기 영상 보정부(120)에서 보정한 영상 데이터를 토대로 상기 좌표 결정부(131)에서 결정한 2개의 3차원 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 2개의 사진좌표를 설정하며, 상기 사진좌표를 왜곡이 보정된 정규좌표로 변환함으로써, 상기 기하학적 제약조건을 정의한다.
상기 카메라 위치 결정부(133)는 상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표의 벡터내적을 이용하여 상기 카메라(200)의 위치에 해당하는 투영중심을 결정한다.
즉 상기 카메라 위치 결정부(133)는 상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표의 벡터내적을 이용한 상기 지상좌표와 상기 정규좌표 간의 관측방정식을 구성한 다음, 상기 구성한 관측방정식의 상기 카메라(200)의 위치 및 자세에 대하여 설정된 초기값을 확인한다.
이후 상기 카메라 위치 결정부(133)는 상기 관측방정식과 초기값을 이용하여 현재 추정되는 위치값과 기 추정된 카메라에 대한 위치값의 차이를 비교하며, 현재 추정되는 위치값과 미리 설정된 카메라에 대한 위치값의 차이가 미리 설정한 임계값 이하이면, 현재 추정되는 위치값을 최적의 카메라 위치로 결정한다. 그러나 현재 추정되는 위치값과 미리 설정된 카메라에 대한 위치값의 차이가 미리 설정한 임계값 이상이면, 상기 관측방정식과 초기값을 통해 현재 추정되는 위치값을 계산하는 과정을 반복하여 수행하도록 한다.
상기 축척계수 결정부(134)는 상기 카메라 위치 결정부(133)에서 결정한 카메라(200)의 위치에 해당하는 투영중심을 이용하여, 상기 지상좌표와 상기 정규좌표 간의 축척계수를 결정하고, 결정한 축척계수를 상기 카메라 자세 결정부(135)로 제공한다.
상기 카메라 자세 결정부(135)는 상기 축척계수 결정부(134)에서 결정한 축척계수가 고려된 정규좌표를 3차원 좌표변환하여 짐벌락 현상 없는 카메라(200)의 자세를 결정한다.
즉 상기 카메라 자세 결정부(135)는 상기 영상 데이터의 정규좌표에 상기 축척계수 결정부(133)에서 결정한 축척계수를 곱하여 축척이 고려된 정규좌표로 복원하고, 상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정한다.
이후 상기 카메라 자세 결정부(135)는 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해를 이용하여 카메라(200)의 자세에 해당하는 회전행렬을 결정한다.
다시 도 3을 참조하여 설명하면, 상기 결과 출력부(140)는 상기 카메라 자세 및 위치 결정부(130)에서 결정한 카메라 자세 및 위치를 디스플레이로 출력하여 표시하거나, 또는 상기 데이터베이스(300)로 출력하여 저장한다.
상기 저장부(150)는 상기 카메라 위치 및 자세 결정 장치(100)에서 사용되는 각종 동작프로그램을 저장하고 있으며, 상기 카메라(200)로부터 입력받은 영상 데이터, 상기 카메라 위치 및 자세 결정부(130)에서 결정된 위치 및 자세정보를 저장한다.
다음에는, 이와 같이 구성된 본 발명에 따른 카메라의 위치 및 자세를 결정하는 방법의 일 실시예를 도 5를 참조하여 상세하게 설명한다. 이때 본 발명의 방법에 따른 각 단계는 사용 환경이나 작업자에 의해 순서가 변경될 수 있다.
도 5는 본 발명의 일 실시예에 따른 카메라의 위치 및 자세를 결정하는 방법의 동작과정을 상세하게 나타낸 순서도이다.
도 5에 도시된 바와 같이, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)로부터 특정 객체를 촬영한 영상 데이터를 입력받는 단계를 수행한다(S100). 즉 실내, 지상 또는 비행체에 위치한 상기 카메라(200)로부터 특정 객체를 중복하여 촬영한 영상 데이터를 입력받는 것이다.
상기 S100 단계를 통해 상기 카메라(200)로부터 영상 데이터를 입력받은 상기 카메라 위치 및 자세 결정 장치(100)는 상기 영상 데이터의 보정 처리를 수행한다(S200). 즉 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)로부터 입력받은 상기 영상 데이터를 카메라 캘리브레이션하여 왜곡을 보정하고, 초점거리, 주점위치, 방사왜곡 및 접선왜곡 계수 등의 카메라 내부표정요소를 결정하는 것이다.
상기 S200 단계를 통해 상기 영상 데이터의 보정을 수행한 이후, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 입력받은 영상 데이터를 토대로 3차원의 지상좌표를 결정하고, 상기 지상좌표에 대응하는 2차원의 정규좌표를 결정하는 단계를 수행한다(S300).
그리고 3차원의 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 2개의 사진좌표를 설정하고, 상기 설정한 사진좌표를 왜곡이 보정된 정규좌표로 변환하여, 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하기 위한 기하학적 제약조건을 구성한다.
이처럼 상기 S300 단계를 통해 상기 지상좌표와 상기 정규좌표를 결정하고, 이를 토대로 기하학적 제약조건을 구축한 상기 카메라 위치 및 자세 결정 장치(100)는 상기 지상좌표와 이에 대응하는 정규좌표의 벡터내적을 이용한 상기 지상좌표와 상기 정규좌표 간의 관측방정식을 구성하는 단계를 수행한다(S400).
또한 상기 카메라 위치 및 자세 결정 장치(100)는 상기 관측방정식의 상기 카메라(200)의 위치 및 자세에 대하여 설정된 초기값을 확인하는 단계를 수행한다(S500).
상기 S400 및 S500 단계를 통해 관측방정식을 구성하고, 초기값을 확인한 이후, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 구성한 관측방정식을 상기 카메라의 위치 및 자세에 대한 초기값을 이용하여 카메라에 대한 최적의 위치가 결정될 때까지 반복적으로 계산하여 카메라의 투영중심을 결정하는 단계를 수행한다(S600).
즉 상기 카메라 위치 및 자세 결정 장치(100)는 상기 S400 내지 S600 단계를 통해, 상기 S300 단계에서 결정한 상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표의 벡터내적을 이용하여 상기 카메라(200)의 위치에 해당하는 투영중심을 결정하는 것이다.
상기 S600 단계를 통해 상기 카메라(200)의 위치에 해당하는 투영중심이 결정되면, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 카메라(200)의 위치에 해당하는 투영중심을 이용하여 상기 지상좌표와 상기 정규좌표 간의 축척계수를 결정하는 단계를 수행한다(S700).
상기 S700 단계를 통해 축척계수를 결정한 이후, 상기 카메라 위치 및 자세 결정 장치(100)는 상기 축척계수가 고려된 정규좌표를 3차원 좌표변환하여 짐벌락 현상 없는 카메라(200)의 자세를 결정하는 단계를 수행한다(S800).
즉 상기 카메라 위치 및 자세 결정 장치(100)는 카메라(200)의 자세를 결정하기 위해서, 상기 영상 데이터 상의 정규좌표에 상기 S700 단계에서 결정한 축척계수를 곱하여 축척이 고려된 정규좌표로 복원한다.
그리고 상기 카메라 위치 및 자세 결정 장치(100)는 상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정한다.
이후 상기 카메라 위치 및 자세 결정 장치(100)는 상기 설정한 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해를 이용하여 상기 카메라(200)의 자세에 해당하는 회전행렬을 결정한다.
이처럼, 본 발명은 카메라에서 촬영한 영상을 토대로 3차원의 지상좌표와 이에 대응되는 2차원의 정규좌표를 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하기 때문에 기준점이 되는 지상좌표의 기하학적 배치와 상기 카메라의 위치 및 자세에 대한 초기 설정값에 안정적이며, 상기 결정된 투영중심을 바탕으로 카메라의 자세에 해당하는 회전행렬을 결정하기 때문에 오일러 회전을 이용함에 따라 발생할 수 있는 짐벌락 현상이 나타나지 않는다.
또한 본 발명은 카메라의 위치 및 자세를 확인하기 어려운 실내에서 촬영하거나, 또는 위성항법장치, 관성항법장치 등의 장비가 탑재되지 않은 카메라를 이용하는 경우, 카메라 위치 및 자세 결정을 보다 효율적으로 수행할 수 있다.
이상에서와 같이 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 판단되어야 할 것이다.
100 : 카메라 위치 및 자세 결정 장치
110 : 영상 입력부 120 : 영상 보정부
130 : 위치 및 자세 결정부 131 : 좌표 결정부
132 : 기하학적 제약조건 구축부 133 : 카메라 위치 결정부
134 : 축척계수 결정부 135 : 카메라 자세 결정부
140 : 결과 출력부 150 : 저장부
200 : 카메라 300 : 데이터베이스

Claims (7)

  1. 카메라로부터 특정 객체를 촬영한 영상 데이터를 입력받는 단계;
    상기 입력받은 영상 데이터를 토대로 3차원의 지상좌표를 결정하는 단계;
    상기 지상좌표에 대응되는 2차원의 정규좌표를 결정하는 단계;
    상기 지상좌표와 정규좌표의 벡터내적을 결정하는 단계;
    상기 결정한 백터내적을 이용하여 카메라 위치에 해당하는 투영중심을 결정하는 단계; 및
    상기 결정한 투영중심을 이용한 지상좌표와 정규좌표간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정하는 단계;를 포함하며,
    상기 회전행렬을 결정하는 단계는,
    상기 결정한 투영중심을 이용하여 상기 지상좌표와 상기 정규좌표 간의 축척계수를 결정하는 단계;
    상기 정규좌표에 상기 결정한 축척계수를 곱하여 축척이 고려된 정규좌표로 복원하는 단계;
    상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정하는 단계; 및
    상기 설정한 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해를 이용하여 카메라의 자세에 해당하는 회전행렬을 결정하는 단계;를 포함하는 것을 특징으로 하는 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 방법.
  2. 청구항 1에 있어서,
    상기 방법은,
    상기 지상좌표와 상기 지상좌표에 대응되는 정규좌표를 이용하여 카메라의 위치와 자세에 해당하는 외부표정요소를 결정하기 위한 기하학적 제약조건을 구축하는 단계;를 더 포함하며,
    상기 기하학적 제약조건을 구축하는 단계는,
    상기 입력받은 영상 데이터에 대한 2개의 3차원 지상좌표와 상기 3차원 지상좌표가 상기 영상 데이터에 투영된 2개의 사진좌표를 설정하는 단계; 및
    상기 설정한 사진좌표를 왜곡이 보정된 정규좌표로 변환하여 상기 기하학적 제약조건을 구축하는 단계;를 포함하는 것을 특징으로 하는 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 방법.
  3. 청구항 1에 있어서,
    상기 투영중심을 결정하는 단계는,
    상기 결정한 벡터내적을 이용하여 상기 지상좌표와 상기 지상좌표에 대응되는 상기 정규좌표 간의 관측방정식을 구성하는 단계;
    상기 구성한 관측방정식의 상기 카메라의 위치 및 자세에 대하여 설정된 초기값을 확인하는 단계; 및
    상기 구성한 관측방정식을 상기 확인한 초기값을 이용하여 카메라에 대한 최적의 위치가 결정될 때까지 반복적으로 계산함으로써 카메라의 투영중심을 결정하는 단계;를 포함하는 것을 특징으로 하는 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 방법.
  4. 삭제
  5. 카메라로부터 특정 객체를 촬영한 영상 데이터를 입력받는 영상 입력부;
    상기 입력받은 영상 데이터를 토대로 3차원의 지상좌표와 상기 지상좌표에 대응되는 2차원의 정규좌표를 결정하는 좌표 결정부;
    상기 지상좌표와 상기 지상좌표의 벡터내적을 결정하고, 상기 결정한 벡터내적을 이용하여 카메라의 위치에 해당하는 투영중심을 결정하는 카메라 위치 결정부; 및
    상기 결정한 투영중심을 이용한 지상좌표와 정규좌표간의 3차원 변환관계를 통해 카메라의 자세에 해당하는 회전행렬을 결정하는 카메라 자세 결정부;를 포함하며,
    상기 카메라 자세 결정부는,
    상기 결정한 정규좌표에 상기 결정한 투영중심을 이용하여 축척계수 결정부에서 결정한 상기 지상좌표와 상기 정규좌표 간의 축척계수를 곱하여 축척이 고려된 정규좌표로 복원하고,
    상기 복원한 축척이 고려된 정규좌표를 공선조건식에 적용하여 회전행렬을 미지수로 하는 3차원 관계식을 설정하며,
    상기 설정한 회전행렬을 미지수로 하는 3차원 관계식에서, 대각합의 연산성질 및 특이값 분해를 이용하여 카메라의 자세에 해당하는 회전행렬을 결정하는 것을 더 포함하는 것을 특징으로 하는 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템.
  6. 청구항 5에 있어서,
    상기 카메라 위치 결정부는,
    상기 결정한 벡터내적을 이용하여 상기 지상좌표와 상기 지상좌표에 대응되는 상기 정규좌표 간의 관측방정식을 구성하고,
    상기 구성한 관측방정식의 상기 카메라의 위치 및 자세에 대하여 설정된 초기값을 확인하며,
    상기 구성한 관측방정식을 상기 확인한 초기값을 이용하여 카메라에 대한 최적의 위치가 결정될 때까지 반복적으로 계산함으로써 카메라의 투영중심을 결정하는 것을 더 포함하는 것을 특징으로 하는 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템.
  7. 삭제
KR1020190085499A 2019-07-16 2019-07-16 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템 KR102265081B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190085499A KR102265081B1 (ko) 2019-07-16 2019-07-16 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190085499A KR102265081B1 (ko) 2019-07-16 2019-07-16 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템

Publications (2)

Publication Number Publication Date
KR20210009019A KR20210009019A (ko) 2021-01-26
KR102265081B1 true KR102265081B1 (ko) 2021-06-14

Family

ID=74310265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190085499A KR102265081B1 (ko) 2019-07-16 2019-07-16 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템

Country Status (1)

Country Link
KR (1) KR102265081B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230078148A (ko) 2021-11-26 2023-06-02 한국항공우주연구원 데이터셋 구축 시스템 및 데이터 구축 방법
CN116580083B (zh) * 2023-07-13 2023-09-22 深圳创维智慧科技有限公司 摄像设备的位姿估计方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017011537A (ja) 2015-06-23 2017-01-12 日本電信電話株式会社 カメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480780B1 (ko) * 2002-03-07 2005-04-06 삼성전자주식회사 영상신호로부터 대상물체를 추적하는 방법 및 그 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017011537A (ja) 2015-06-23 2017-01-12 日本電信電話株式会社 カメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
벡터내적 기반 카메라 자세 추정, 대한원격탐사학회지 제24권 제6호, 2008.12.*

Also Published As

Publication number Publication date
KR20210009019A (ko) 2021-01-26

Similar Documents

Publication Publication Date Title
JP5992184B2 (ja) 画像データ処理装置、画像データ処理方法および画像データ処理用のプログラム
US20210041236A1 (en) Method and system for calibration of structural parameters and construction of affine coordinate system of vision measurement system
CN108510551B (zh) 一种远距离大视场条件下相机参数的标定方法及系统
CN102472609B (zh) 位置和姿势校准方法及设备
US10681269B2 (en) Computer-readable recording medium, information processing method, and information processing apparatus
KR100855657B1 (ko) 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법
KR20150112362A (ko) 깊이 센서의 깊이 보정을 위한 이미지 처리방법 및 그 장치
TWI820395B (zh) 用於產生物件之三維(3d)點雲的方法、用於3d點集產生及對準之系統及相關機器可讀媒體
CN111735439B (zh) 地图构建方法、装置和计算机可读存储介质
KR101282718B1 (ko) 선형배열 영상센서와 자세제어 센서 간의 절대 오정렬 보정방법
CN104833372A (zh) 一种车载移动测量系统高清全景相机外参数标定方法
JP2016045150A (ja) 点群位置データ処理装置、点群位置データ処理システム、点群位置データ処理方法およびプログラム
CN110969665B (zh) 一种外参标定方法、装置、系统及机器人
KR102265081B1 (ko) 벡터내적과 3차원 좌표변환을 이용한 카메라의 위치 및 자세를 결정하는 시스템
KR102079258B1 (ko) 단일 장착면의 장착 오차를 산출하여 보정하는 장치 및 그 방법
Qiu et al. A high-precision calibration approach for Camera-IMU pose parameters with adaptive constraints of multiple error equations
CN114494466B (zh) 外参标定方法、装置及设备、存储介质
KR101183866B1 (ko) Gps/ins/영상at를 통합한 실시간 위치/자세 결정 장치 및 방법
Duran et al. Accuracy comparison of interior orientation parameters from different photogrammetric software and direct linear transformation method
Han et al. A direct determination of the orientation parameters in the collinearity equations
JP5267100B2 (ja) 運動推定装置及びプログラム
CN109813277B (zh) 测距模型的构建方法、测距方法、装置以及自动驾驶系统
KR102167847B1 (ko) 레이저 관측 장비를 이용한 mms의 캘리브레이션을 위한 장치 및 방법
CN110232715B (zh) 一种多深度相机自校准的方法、装置及系统
CN115018922A (zh) 畸变参数标定方法、电子设备和计算机可读存储介质

Legal Events

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