KR101989369B1 - 마커 호모그라피 변환 기반의 svm 오토 캘리브레이션 방법 - Google Patents
마커 호모그라피 변환 기반의 svm 오토 캘리브레이션 방법 Download PDFInfo
- Publication number
- KR101989369B1 KR101989369B1 KR1020180082005A KR20180082005A KR101989369B1 KR 101989369 B1 KR101989369 B1 KR 101989369B1 KR 1020180082005 A KR1020180082005 A KR 1020180082005A KR 20180082005 A KR20180082005 A KR 20180082005A KR 101989369 B1 KR101989369 B1 KR 101989369B1
- Authority
- KR
- South Korea
- Prior art keywords
- marker
- image
- unit
- svm
- calibration
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/57—Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
-
- H04N5/2257—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
본 발명은 일반적으로 서라운드뷰(Surround View Monitoring; SVM) 시스템의 설정을 캘리브레이션하는 기술에 관한 것이다. 더욱 상세하게는, 본 발명은 차량 주변에 설치되어 있는 복수의 마커를 SVM 시스템의 카메라로 촬영한 후에 마커 이미지를 마커 표준 좌표로 매핑해주는 호모그라피 변환 속성을 도출하는 과정을 복수의 카메라에 대해 수행함으로써 SVM 시스템의 캘리브레이션을 자동으로 달성하는 기술에 관한 것이다. 본 발명에 따르면 외부 엔지니어들이 수동으로 개입할 필요없이 차량 주변에 설치되어 있는 복수의 마커를 차량에 설치된 SVM 시스템의 카메라로 촬영한 후에 SVM 시스템이 마커 이미지를 마커 표준 좌표로 매핑해주는 호모그라피 변환 속성을 도출하는 소프트웨어 처리를 수행함으로써 캘리브레이션을 자동으로 달성할 수 있는 장점이 있다. 또한, 본 발명에 따르면 자동차 양산 라인에서 각 차량에 설치되어 있는 SVM 시스템을 개별적으로 캘리브레이션하는 공정을 신속하게 수행할 수 있어 자동차 생산 원가를 절감할 수 있는 장점이 있다.
Description
본 발명은 일반적으로 자동차에 장착된 SVM 시스템에서 카메라의 설정을 캘리브레이션하는 기술에 관한 것이다.
더욱 상세하게는, 본 발명은 차량 주변에 설치되어 있는 복수의 마커를 SVM 시스템의 카메라로 촬영한 후에 마커 이미지를 마커 표준 좌표로 매핑해주는 호모그라피 변환 속성을 도출하는 과정을 복수의 카메라에 대해 수행함으로써 SVM 시스템의 캘리브레이션을 자동으로 달성하는 기술에 관한 것이다.
최근들어 자동차에 서라운드뷰(Surround View Monitoring; SVM) 시스템이 도입되는 추세이다. SVM 시스템은 AVM(Around View Monitoring) 시스템이라고도 불리는데, 복수의 카메라를 차량에 설치하여 차량의 전후 좌우를 촬영한 후에 이들 영상을 합성하여 단일 이미지로 표시하는 기술이다. 운전자는 마치 차량 위에서 내려다보는 느낌으로 차량 주변의 상황을 관찰할 수 있게 되며, 이를 통해 주행이나 주차 과정에서 안전을 유지할 수 있다.
[도 1]은 일반적인 SVM 영상처리의 개념을 나타내는 도면이다. [도 1]을 참조하면, SVM 시스템은 차량의 전후좌우에 장착된 복수의 카메라(101 ~ 104)로부터 복수의 단위촬영 이미지(111 ~ 114)를 지속적으로 제공받고, 이들 단위촬영 이미지에 대해 이미지 개선, 왜곡 보정, 이미지 정합 및 합성(스티칭)의 영상처리를 수행하여 차량의 서라운드뷰 이미지(115)를 획득한다.
그런데, 차량 별로 탑재된 카메라(101 ~ 104)의 설치 위치나 방향이 조금씩 상이하기 마련이며, 그로 인해 단위촬영 이미지(111 ~ 114)는 차량마다 조금씩 달라지게 된다. 이러한 차이를 그대로 둔 상태에서 영상 처리 및 이미지 스티칭 처리를 일률적으로 진행하게 되면 영상이 정확히 정합되지 않기 때문에 서라운드뷰 이미지(115)를 정확히 얻을 수 없는 문제가 발생하므로 차량 생산공정에서는 각 차량별로 SVM 캘리브레이션을 수행한다.
[도 2]는 종래기술에서 이루어지는 SVM 캘리브레이션 과정을 개념적으로 나타내는 순서도이다. [도 2]를 살펴보면, 차량에 설치된 전,후,좌,우 4대의 카메라(101 ~ 104)에서 주변을 촬영하여 단위촬영 이미지(111 ~ 114)를 생성하고(S10), 그 생성한 단위촬영 이미지(111 ~ 114)를 차량 내부의 카드 슬롯에 장착된 SD 카드에 이미지 파일 형태로 저장한다(S20).
그리고 나서, 차량의 카드 슬롯에서 SD 카드를 추출하여 외부 컴퓨터(예: 랩톱 컴퓨터, PC 등)의 카드 슬롯에 해당 SD 카드를 삽입한다(S30). 외부 컴퓨터에는 캘리브레이션 툴 소프트웨어(calibration tool software)가 설치되어 있는데, 이 소프트웨어를 통해 외부 컴퓨터에서 캘리브레이션 기능을 수행한다. 외부 컴퓨터는 그 결과로 캘리브레이션 LUT 데이터(Look-Up Table data)를 추출하며, 이를 SD 카드에 저장한다(S40, S50).
그리고 나서, 엔지니어가 외부 컴퓨터로부터 SD 카드를 추출하여 이를 차량의 카드 슬롯에 해당 SD 카드를 삽입하고 SVM 시스템을 재부팅하면 SVM 시스템이 SD 카드에 저장되어 있는 캘리브레이션 LUT 데이터를 적용하여 SVM 캘리브레이션을 완료한다(S60 ~ S80).
그런데, 이와 같은 종래의 SVM 캘리브레이션 과정은 공정도 복잡하고 상당히 오랜 시간이 소요된다. 특히, 자동차 양산 라인에서 각 차량마다 [도 2]에 나타낸 일련의 과정을 개별적으로 수행해야 하기 때문에 상당한 원가 상승 요인이 된다. 그에 따라, SVM 캘리브레이션 프로세싱을 개선함으로써 상기와 같은 종래기술의 문제점을 해결할 수 있는 기술이 요망된다.
본 발명의 목적은 일반적으로 자동차에 장착된 SVM 시스템에서 카메라의 설정을 캘리브레이션하는 기술을 제공하는 것이다.
특히, 본 발명의 목적은 차량 주변에 설치되어 있는 복수의 마커를 SVM 시스템의 카메라로 촬영한 후에 마커 이미지를 마커 표준 좌표로 매핑해주는 호모그라피 변환 속성을 도출하는 과정을 복수의 카메라에 대해 수행함으로써 SVM 시스템의 캘리브레이션을 자동으로 달성하는 기술을 제공하는 것이다.
상기의 목적을 달성하기 위하여 본 발명은 서라운드뷰(SVM) 시스템을 위해 차량에 복수 방향으로 설치된 복수의 단위 카메라에서 촬영 영상에 삽입되는 왜곡을 제거 처리하기 위해 SVM 시스템이 수행하는 오토 캘리브레이션 방법으로서, 복수의 단위 카메라 각각에 의하여 대응 방향에 배치된 하나이상의 마커를 촬영한 단위촬영 이미지를 획득하는 제 1 단계; 단위촬영 이미지로부터 단위 카메라 각각에 대응하는 마커 이미지를 탐색하는 제 2 단계; 단위촬영 이미지에서의 마커 이미지의 좌표값을 마커 표준좌표로 매핑하는 호모그라피 변환 속성을 획득하는 제 3 단계; 단위 카메라 각각에 대응하는 마커 이미지에 대하여 그 획득한 호모그라피 변환 속성을 단위 카메라별 캘리브레이션 데이터로 저장하는 제 4 단계; 단위 카메라별 캘리브레이션 데이터의 복수의 단위 카메라에 대해 패키징한 데이터 집합을 SVM 시스템을 위한 캘리브레이션 데이터로 설정하는 제 5 단계;를 포함하여 구성될 수 있다.
이때, 본 발명에 따른 SVM 오토 캘리브레이션 방법은, 복수의 단위 카메라에서 획득되는 촬영 영상 각각에 대하여 각자 대응하는 단위 카메라별 캘리브레이션 데이터를 이용하여 호모그라피 변환을 수행하는 제 6 단계; 호모그라피 변환이 수행된 복수의 단위촬영 이미지를 스티칭하여 서라운드뷰 탑뷰 이미지를 생성하는 제 7 단계;를 더 포함하여 구성될 수 있다.
본 발명에서 제 2 단계는, 단위촬영 이미지에서 컨투어를 탐색하는 제 21 단계; 위 탐색된 컨투어 중에서 미리 설정된 마커 형상의 컨투어를 구분 식별하는 제 22 단계; 위 구분 식별된 마커 형상의 컨투어에 대하여 컨투어 면적 및 모서리 지오메트리 기반으로 마커 형상을 검증하는 제 23 단계; 마커 형상의 검증을 통과한 컨투어를 마커 이미지로 식별하는 제 24 단계;를 포함하여 구성될 수 있다.
또한, 제 3 단계는, 마커 이미지에 대하여 마커 인코딩 포맷에 따라 마커 식별정보를 추출하는 제 31 단계; 마커 이미지에 대하여 마커 식별정보에 따른 마커 표준좌표를 획득하는 제 32 단계; 단위촬영 이미지로부터 마커 이미지의 좌표값을 획득하는 제 33 단계; 좌표값을 마커 표준좌표로 매핑하는 호모그라피 변환 속성을 획득하는 제 34 단계;를 포함하여 구성될 수 있다.
또한, 제 31 단계는, 마커 이미지에 대해 서브픽셀 해상도의 코너 좌표를 획득하는 단계; 마커 이미지를 표준 마커 포맷으로 투영 변환 복사하는 단계; 마커 이미지에 대해 색상 기반으로 마커 식별정보 코드를 디코딩 추출하는 단계; 마커 이미지 외부에 대한 테두리 포맷을 검증하는 단계; 마커 이미지 내부에 대한 패리티를 검증하는 단계; 미리 설정된 마커 인코딩 포맷에 정합하도록 마커 이미지를 회전 정렬하는 단계; 마커 인코딩 포맷에 따라 마커 이미지에 대한 마커 식별정보를 식별 획득하는 단계;를 포함하여 구성될 수 있다.
한편, 본 발명에 따른 컴퓨터프로그램은 하드웨어와 결합되어 이상과 같은 마커 호모그라피 변환 기반의 SVM 오토 캘리브레이션 방법을 실행시키기 위하여 매체에 저장된 것이다.
본 발명에 따르면 외부 엔지니어들이 수동으로 개입할 필요없이 차량 주변에 설치되어 있는 복수의 마커를 차량에 설치된 SVM 시스템의 카메라로 촬영한 후에 SVM 시스템이 마커 이미지를 마커 표준 좌표로 매핑해주는 호모그라피 변환 속성을 도출하는 소프트웨어 처리를 수행함으로써 캘리브레이션을 자동으로 달성할 수 있는 장점이 있다.
또한, 본 발명에 따르면 자동차 양산 라인에서 각 차량에 설치되어 있는 SVM 시스템을 개별적으로 캘리브레이션하는 공정을 신속하게 수행할 수 있어 자동차 생산 원가를 절감할 수 있는 장점이 있다.
[도 1]은 일반적인 SVM 영상처리의 개념을 나타내는 도면.
[도 2]는 종래기술에서의 SVM 캘리브레이션 과정을 개념적으로 나타내는 순서도.
[도 3]은 본 발명에서 SVM 오토 캘리브레이션을 수행하기 위한 시스템 환경을 나타내는 도면.
[도 4]는 본 발명에 따른 마커 호모그라피 변환을 이용한 SVM 오토 캘리브레이션 방법의 전체 과정을 나타내는 순서도.
[도 5]는 본 발명에서 마커 이미지를 탐색하는 과정의 일 예를 나타내는 순서도.
[도 6]은 본 발명에서 마커 식별정보를 추출하는 과정의 일 예를 나타내는 순서도.
[도 7]은 본 발명에서 사용가능한 마커의 일 예를 나타내는 도면.
[도 8]은 호모그라피 변환을 개념적으로 나타내는 도면.
[도 2]는 종래기술에서의 SVM 캘리브레이션 과정을 개념적으로 나타내는 순서도.
[도 3]은 본 발명에서 SVM 오토 캘리브레이션을 수행하기 위한 시스템 환경을 나타내는 도면.
[도 4]는 본 발명에 따른 마커 호모그라피 변환을 이용한 SVM 오토 캘리브레이션 방법의 전체 과정을 나타내는 순서도.
[도 5]는 본 발명에서 마커 이미지를 탐색하는 과정의 일 예를 나타내는 순서도.
[도 6]은 본 발명에서 마커 식별정보를 추출하는 과정의 일 예를 나타내는 순서도.
[도 7]은 본 발명에서 사용가능한 마커의 일 예를 나타내는 도면.
[도 8]은 호모그라피 변환을 개념적으로 나타내는 도면.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다.
[도 3]은 본 발명에서 SVM 오토 캘리브레이션을 수행하기 위한 시스템 환경을 나타내는 도면이다.
본 발명에 따른 SVM 오토 캘리브레이션 기술에서는 바람직하게는 오토 캘리브레이션 작업 공간에 차량을 입고시킨 후에 차량의 전,후,좌,우 4개의 카메라에서 차량 주변의 마커를 촬영하고 이 마커 이미지에 호모그라피(homography) 변환을 활용하여 카메라 영상의 왜곡을 보정하는 정보를 획득한다. 예를 들어, 컴퓨터 비전 기술로 고유의 정사각형 마커의 식별정보(ID)를 인식하고 마커의 네 꼭지점의 실좌표를 추출하여 해당 좌표를 기반으로 표준 좌표로 호모그라피 변환하는 과정을 수행하는 것이다.
이러한 마커 호모그라피 변환 과정에서 얻은 정보를 각 카메라 별로 저장해둔 후에, 이후에 SVM 시스템이 동작해야 하는 상황에서는 각 카메라에서 얻은 영상에 그 저장해둔 정보를 적용하여 호모그라피 변환하면 각 카메라에 내재되어 있는 왜곡 현상을 제거할 수 있게 된다. 그 후에, 이들 왜곡이 제거된 전,후,좌,우 영상을 단일의 탑뷰 이미지(top view image)로 스티칭하는 것이다. 이러한 과정을 통해 얻은 탑뷰 이미지는 차량 주차시나 운행시에 차량 주변환경을 새가 위에서 내려다보는 것처럼 선명한 이미지가 된다.
본 발명에서 마커(marker)는 컴퓨터 비전 분야에서 물체 인식 및 좌표인식을 위하여 사용하는 표식으로서 QR 코드나 이미지 패턴 등으로 구현될 수 있다. [도 3]에 도시된 바와 같이, 차량 주변에 일정 여유공간을 확보하고 전,후,좌,우에 각각 2개씩의 마커를 일정 간격으로 배치한다. 각각의 마커에는 고유한 식별정보(Marker ID)가 할당되어 있으며 그 식별정보가 [도 3]에 예시적으로 나타낸 바와 같이 마커의 이미지 패턴에 반영되어 있다.
[도 3]을 참조하면, 전방 카메라(101)는 Marker ID 7, 5의 마커를 촬영하게 배치된 상태에서 마커 인식 기능을 수행하고, 후방 카메라(102)는 Marker ID 1, 3의 마커에 대해 마커 인식 기능을 수행하고, 좌측방 카메라(103)는 Marker ID 2, 8의 마커에 대해 마커 인식 기능을 수행하고, 우측방 카메라(104)는 Marker ID 6, 4의 마커에 대해 마커 인식 기능을 수행한다.
그런 후, 각각의 단위 카메라(101 ~ 104)는 자신이 인식한 마커의 촬영 이미지를 미리 설정된 표준의 마커 형상, 예컨대 정사각형으로 변환해주는 호모그라피 변환 속성을 구하여 이를 자신(즉, 단위 카메라)에게 내재된 왜곡 요인을 보상하기 위한 데이터, 즉 단위 캘리브레이션 데이터로 삼는다. 그러한 동작은 이들 단위 카메라(101 ~ 104)와 연결되어 있는 SVM 시스템이 수행하는데, SVM 시스템은 바람직하게는 차량 내부에 설치되어 있다. [도 3]을 참조하면, SVM 시스템은 4개의 단위 카메라(101 ~ 104)를 구비하는데, 이들 단위 카메라 각각에 대해 마커 호모그라피 변환에 기초하여 단위 캘리브레이션 데이터를 얻는다. 이들 4개의 단위 캘리브레이션 데이터를 모아서 패키징한 데이터 집합이 SVM 시스템에 대한 캘리브레이션 데이터가 된다.
그런 이후에, 차량의 SVM 시스템은 전,후,좌,우 방향으로 설치된 단위 카메라(101 ~ 104)로부터 촬영 영상을 얻은 후에, 앞서 획득해둔 단위 캘리브레이션 데이터를 각각 적용하여 촬영 영상을 호모그라피 변환하면 단위 카메라에 내재되어 있는 왜곡 현상이 제거된 촬영 영상을 얻을 수 있다. 그 후에, 이들 왜곡이 제거된 전,후,좌,우 영상을 단일의 탑뷰 이미지로 스티칭한다.
[도 4]는 본 발명에 따른 마커 호모그라피 변환을 이용한 SVM 오토 캘리브레이션 방법의 전체 과정을 나타내는 순서도이다. [도 4]에 나타낸 일련의 과정은 서라운드뷰(SVM) 시스템에서 탑뷰 영상(탑뷰 이미지)를 생성하기 위해 차량에 복수 방향으로 설치된 복수의 단위 카메라(101 ~ 104)가 각각 촬영한 영상에 삽입되어 있는 왜곡을 제거 처리하기 위해 SVM 시스템이 수행하는 오토 캘리브레이션 방법을 나타낸다.
단계 (S110, S190) : [도 4]의 순서도는 SVM 시스템을 위해 차량에 장착된 복수의 단위 카메라(101 ~ 104) 전부에 대해 캘리브레이션 과정을 수행하는 것을 가정하여 작성되었다. 그에 따라, (S110)에서는 캘리브레이션 대상인 단위 카메라를 순차적으로 선택하고, (S190)에서는 단위 카메라 전부에 대해 캘리브레이션 과정이 수행되었는지 여부를 체크한다.
단계 (S120 ~ S140) : 각각의 단위 카메라(101 ~ 104)는 자신의 대응 방향에 배치되어 있는 하나이상의 마커를 촬영하고 그에 따른 단위촬영 이미지를 획득한다. 예를 들어, [도 3]을 참조하면 전방 카메라(101)는 자신의 커버리지에 배치되어 있는 2개의 마커, 즉 Marker ID 7, 5의 마커를 촬영하여 단위촬영 이미지를 획득한다. 다른 단위 카메라(102 ~ 104)도 각자 자신의 커버리지에 배치되어 있는 하나이상의 마커(Marker ID 1, 3; Marker ID 2, 8; Marker ID 6, 4)를 촬영하여 각자 단위촬영 이미지를 획득한다.
각각의 단위 카메라(101 ~ 104)가 자신의 커버리지에 대응하는 마커를 촬영한 것을 분명히 하기 위해 SVM 시스템은 각각의 단위촬영 이미지에서 단위 카메라에 대응하는 마커 이미지를 탐색하고, 그 결과로 단위촬영 이미지에 마커 이미지가 존재하는지 여부를 체크한다. 만일 마커 이미지가 존재하지 않는다면 차량 위지가 제대로 자리잡지 않은 상태에서 촬영이 이루어진 것이므로 차량이 제자리를 잡아서 제대로된 단위촬영 이미지를 얻을 때까지 재시도한다.
단계 (S150 ~ S170) : 단위 카메라(101 ~ 104)가 촬영한 영상, 즉 단위촬영 이미지에 포함되어 있는 마커 이미지는 표준 마커 형상(예: 정사각형)이 아니라 조금씩 왜곡되어 있다. 기본적으로 SVM 시스템에서는 단위 카메라(101 ~ 104)에 어안 렌즈(fish-eye lens)를 사용하는 것이 일반적이므로 그에 따른 영상 왜곡이 개입될 수밖에 없다. 게다가, 차량 생산 공정에서 카메라 부품을 차체에 조립할 때에 차량마다 조금씩 편차가 존재할 수밖에 없으므로 단위촬영 이미지에 포함되어 있는 왜곡의 특성은 단위 카메라마다 조금씩 상이하다. 즉, 동일 위치의 단일 카메라, 예컨대 전방 카메라(101)라 하더라도 차량마다 이미지 왜곡의 특성이 상이하게 나타나는 것이다.
이에, 각각의 단위 카메라(101 ~ 104)에 대하여 각각에 내재되어 있는 영상 왜곡 특성을 상쇄할 수 있는 데이터를 마커 이미지의 호모그라피 변환으로부터 얻는다. 각각의 단위촬영 이미지에서 왜곡된 형태로 나타나는 마커 이미지의 좌표값을 표준 마커 형상(예: 정사각형)의 좌표, 즉 마커 표준좌표로 매핑해주는 호모그라피 변환 속성을 획득한다.
[도 8]은 호모그라피 변환(Homography Transform)을 개념적으로 나타내는 도면이다. [도 8]을 참조하면, 호모그라피 변환은 형상 찌그러짐, 리사이징, 회전, 이동을 전부 포함하는 변환이다. [도 3]에서처럼 마커가 배치되어 있는 공간에 차량이 들어간 상황이므로 단위 카메라가 마커를 촬영하였다는 것이 분명히 전제되어 있는데, 표준 마커 형상(정사각형)의 마커가 카메라의 영상 왜곡 특성에 의해 단위촬영 이미지에서는 다른 형태로 된 것이다. 본 발명에서는 표준 마커 형상이 호모그라피 변환에 의해 다른 형태로 바뀐 것으로 모델링하고, 그 역변환을 수행하기 위한 변환 속성(예: 변환 행렬)을 찾는다.
본 발명에서 단위 카메라(101 ~ 104)가 촬영한 각각의 마커 이미지로부터 호모그라피 변환 속성을 얻는 일 예는 다음과 같다.
먼저, 마커 이미지에 대하여 마커 인코딩 포맷에 따라 마커 식별정보(Marker ID)를 추출하고, 해당 마커 식별정보에 따른 마커 표준좌표를 획득한다. [도 3]을 참조하면, 마커 식별정보에 대응하여 표준의 마커 형상이 미리 설정되어 있으며 그에 따라 해당 마커가 표준 마커 형상일 때의 좌표, 즉 마커 표준좌표가 마커 식별정보 별로 미리 저장되어 있다.
그리고, 단위촬영 이미지에 나타나는 마커 이미지의 실제 좌표값을 획득한다. 복수의 포인트(예: 모서리)에 대해 호모그라피 변환 전후의 좌표값을 알고 있는 상태이므로 마커 이미지의 실제 좌표값을 마커 표준좌표로 매핑하는 호모그라피 변환 속성(예: 변환 행렬)을 획득할 수 있다. 변환 전후의 좌표값이 주어졌을 때 호모그라피 변환 속성을 도출하는 것은 머신비전 분야에서 주지관용 기술에 속하므로 여기에서는 자세하게 기술하지 않는다.
단계 (S180, S195) : 단위 카메라(101 ~ 104) 각각이 촬영한 마커 이미지로부터 그 획득한 호모그라피 변환 속성은 해당 단위 카메라에 내재되어 있는 영상 왜곡 특성을 제거하고 호모그라피 변환을 통하여 예컨대 네모 반듯하게 펼 수 있도록 해주는 정보이므로 이를 단위 카메라별 캘리브레이션 데이터로 저장한다. 즉, 각각의 단위 카메라(101 ~ 104)에 대해 영상 왜곡 속성을 제거할 수 있는 정보를 획득한 것이다.
SVM 시스템은 복수의 단위 카메라에서 얻어진 단위촬영 이미지를 스티칭하는 방식으로 동작하므로 이들 복수의 단위 카메라 모두에 대해 각각의 영상 왜곡 특성을 제거해주는 것이 바람직하다. 이에, SVM 시스템을 구성하는 복수의 단위 카메라에 대해 각각 획득된 단위 카메라별 캘리브레이션 데이터를 패키징한 데이터 집합을 SVM 시스템을 위한 캘리브레이션 데이터로 설정한다.
그리고 나서, SVM 시스템이 동작하는 시점이 되면 캘리브레이션 데이터를 활용하여 영상 왜곡을 제거하고 똑바르게 이루어진 서라운드뷰 영상을 얻는다. 즉, SVM 시스템을 구성하는 복수의 단위 카메라에서 촬영 영상을 생성하면, 이들 촬영 영상 각각에 대하여 각자 대응하는 단위 카메라별 캘리브레이션 데이터를 이용하여 호모그라피 변환을 수행함으로써 영상 왜곡을 제거하고 반듯한 영상(이미지)를 획득한다. 그리고, 이처럼 호모그라피 변환이 수행된 복수의 단위촬영 이미지를 스티칭하여 서라운드뷰 탑뷰 이미지를 생성한다.
[도 5]는 본 발명에서 단위촬영 이미지로부터 마커 이미지를 탐색하는 과정의 일 예를 나타내는 순서도이다.
단계 (S210) : 먼저, 단위 카메라(101 ~ 104)가 촬영한 단위촬영 이미지로부터 컨투어(coutour, 등고선)를 탐색한다. 예를 들어, OpenCV의 cvFindContours() 함수를 통해 바이너리 이미지(binary image)에서 컨투어를 탐색할 수 있다. 그리고 나서, cvApproxPoly() 함수를 통해 단위촬영 이미지에서 일직선 상의 연속된 점들을 직선으로 근사화한다.
단계 (S220) : 위의 (S210)에서 탐색된 컨투어 중에서 미리 설정된 마커 형상의 컨투어를 구분 식별한다. OpenCV에서 cvFindContours() 함수로 탐색한 컨투어들은 CvSeq 클래스에 트리 구조로 저장되어 있다. 이 트리 구조를 탐색하면서 점의 수가 4개 이상인 컨투어를 사각형 후보로 본다. 정확히 4개가 아니라 4개 이상인 것을 구분하는 이유는 컨투어를 구성하는 점의 수가 4개 이상이 되더라도 모양이 약간 뒤틀린 사각형을 구성할 수 있기 때문이다.
단계 (S230) : 위의 (S220)에서 구분 식별된 마커 형상의 컨투어에 대하여 컨투어 면적 및 모서리 지오메트리 기반으로 마커 형상을 검증한다. OpenCV에서 구현하는 과정을 살펴본다. 컨투어의 대략적인 크기를 알기 위해 cvBoundingRect()로 컨투어를 포함하는 직사각형의 면적을 계산하고, 이 면적에 따라서 컨투어를 cvApproxPoly() 함수로 근사화한다. 그러면 약간 휜곡선은 직선으로 근사되면서 컨투어의 모서리 수가 계산될 것이다. 그 근사된 컨투어의 모서리 수가 4개라면 이는 사각형이 될 가능성이 있는 것인데, 추가적으로 이 사각형의 두 대각선의 교차점이 사각형 중앙에 오는지 검사한다.
이때, 원본 직사각형이 Affine transform 되었을 때는 사각형의 두 대각선의 교차점이 사각형 중앙에서 교차한다. 반면, Perspective transform 되었을 때는 사각형의 두 대각선의 교점이 사각형 중앙에서 교차하지 않는다. SVM 시스템의 단위 카메라가 보는 방향에 대한 마커를 붙이는 각에 따라서 이 부분을 체크하도록 구현할 수도 있고 제외하도록 구현할 수도 있다.
단계 (S240) : 위의 (S230)에 따른 마커 형상 검증을 통과한 컨투어를 마커 이미지로 식별하여 저장한다. 즉, 일단 네모 모양이면 마커 이미지로 삼고 마커 이미지에서 네 모서리 좌표를 저장한다.
[도 6]은 본 발명에서 마커 이미지로부터 마커 식별정보를 추출하는 과정의 일 예를 나타내는 순서도이다. [도 6]의 순서도는 [도 7]에 예시된 마커 규격을 전제로 작성된 것이다. [도 7]을 참조하면, 마커는 검은색 테두리 사각형과 내부에는 4 x 4의 블록으로 구성되는데, 여기에서 모서리의 a, b, c, d는 마커의 방향을 표시하기 위한 블록으로 a는 항상 검은색이고 b, c, d는 항상 흰색이어야 한다. 그리고 0 ~ 10의 숫자가 표시된 블록은 마커의 ID를 계산하기 위한 것으로 2의 지수로 표시되는 수를 의미한다. 그리고, Parity 블록은 체크무늬 블록들의 합이 짝수가 되게 만들어주는 블록이다.
단계 (S310) : 먼저, 마커 이미지에 대해 정밀한 코너 좌표로서 서브픽셀 해상도의 코너 좌표를 획득한다. 앞서 검출된 마커 이미지에서의 코너로부터 OpenCV의 cvFindCornerSubPix() 함수를 사용하여 서브 픽셀 정확도로 코너 좌표를 다시 정밀하게 얻는다.
단계 (S320) : 마커 이미지의 영역을 표준 마커 포맷으로 투영 변환 복사한다. 단위 카메라에서 읽은 이미지 상의 마커의 4 모서리 좌표를 60 x 60 크기의 정사각형 이미지로 매핑하기 위한 변환 행렬을 cvGetPerspectiveTransform() 함수로 구한다. 그리고 cvWarpPerspective() 함수로 카메라에서 읽은 이미지 상의 마커를 60 x 60 크기의 정사각형 이미지로 복사한다.
단계 (S330) : 그리고 나서, 마커 이미지에 대해 색상 기반으로 마커 식별정보 코드(Marker ID Code)를 디코딩 추출한다. 60 x 60 이미지를 6 x 6 격자로 분할한 다음 격자 내부의 모든 픽셀을 더한다. 그리고 더한 값들을 0 ~ 1 사이의 값으로 정규화하면서 최대값과 최소값을 찾는다. 그리고 최대값과 최소값의 중간값을 찾아 그 중간값을 기준으로 검정색에 가까우면 1을 흰색에 가까우면 0을 가지는 6 x 6 행렬을 만든다.
단계 (S340) : 마커 이미지 외부에 대한 테두리 포맷을 검증한다. 앞서 도출한 6 x 6 행렬에서 마커의 테두리 영역은 검은색 셀로 둘러져 있어야 하므로 이렇게 되어있는지 여부를 확인한다. 만일 그렇게 되어있지 않다면 이 마커 이미지는 잘못된 것이므로 버린다.
단계 (S350) : 마커 이미지 내부에 대한 패리티를 검증한다. 앞서 도출한 6 x 6 행렬에서 테두리를 제외한 내부 체크무늬 블록의 값은 짝수가 되도록 패리티 비트가 설정되어 있어야 하므로 그 여부를 확인한다. 만일 그렇게 되어있지 않다면 이 마커 이미지는 잘못된 것이므로 버린다.
단계 (S360) : 미리 설정된 마커 인코딩 포맷에 정합하도록 마커 이미지를 회전 정렬한다. 앞서 도출한 6 x 6 행렬에서 테두리를 제외한 마커의 좌측 상위 비트는 항상 1이고 나머지 세 귀퉁이는 항상 0이어야 한다. 네 귀퉁이의 비트를 확인하여 1인 귀퉁이가 좌측 상위로 가도록 행렬을 회전한다. 마찬가지로 사각형의 코너 점들도 회전해 준다.
단계 (S370) : 마커 인코딩 포맷에 따라 마커 이미지에 대한 마커 식별정보를 식별 획득한다. 전술한 바와 같이, 마커 내부에서 0 ~ 10의 숫자가 표시된 블록은 마커 식별정보를 계산하기 위한 것으로 2의 지수로 표시되는 수를 의미한다. 이에, [도 3]을 참조하면 각 마커 이미지에서 검은 색으로 표시된 셀의 값을 이용하여 2진법으로 마커 식별정보를 계산한다.
한편, 본 발명은 컴퓨터가 읽을 수 있는 비휘발성 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현되는 것이 가능하다. 이러한 비휘발성 기록매체로는 다양한 형태의 스토리지 장치가 존재하는데 예컨대 하드디스크, SSD, CD-ROM, NAS, 자기테이프, 웹디스크, 클라우드 디스크 등이 있고 네트워크로 연결된 다수의 스토리지 장치에 코드가 분산 저장되고 실행되는 형태도 구현될 수 있다. 또한, 본 발명은 하드웨어와 결합되어 특정의 절차를 실행시키기 위하여 매체에 저장된 컴퓨터프로그램의 형태로 구현될 수도 있다.
Claims (6)
- 서라운드뷰(SVM) 시스템을 위해 차량에 복수 방향으로 설치된 복수의 단위 카메라에서 촬영 영상에 삽입되는 왜곡을 제거 처리하기 위해 SVM 시스템이 수행하는 오토 캘리브레이션 방법으로서,
상기 복수의 단위 카메라 각각에 의하여 대응 방향에 배치된 하나이상의 마커를 촬영한 단위촬영 이미지를 획득하는 제 1 단계;
상기 단위촬영 이미지에서 컨투어를 탐색하는 제 21 단계와, 상기 탐색된 컨투어 중에서 미리 설정된 마커 형상의 컨투어를 구분 식별하는 제 22 단계와, 상기 구분 식별된 마커 형상의 컨투어에 대하여 컨투어 면적 및 모서리 지오메트리 기반으로 마커 형상을 검증하는 제 23 단계와, 상기 마커 형상의 검증을 통과한 컨투어를 마커 이미지로 식별하는 제 24 단계를 구비하여 상기 단위촬영 이미지로부터 상기 단위 카메라 각각에 대응하는 마커 이미지를 탐색하는 제 2 단계;
상기 단위촬영 이미지에서의 상기 마커 이미지의 좌표값을 마커 표준좌표로 매핑하는 호모그라피 변환 속성을 획득하는 제 3 단계;
상기 단위 카메라 각각에 대응하는 마커 이미지에 대하여 상기 획득한 상기 호모그라피 변환 속성을 상기 단위 카메라별 캘리브레이션 데이터로 저장하는 제 4 단계;
상기 단위 카메라별 캘리브레이션 데이터의 상기 복수의 단위 카메라에 대해 패키징한 데이터 집합을 상기 SVM 시스템을 위한 캘리브레이션 데이터로 설정하는 제 5 단계;
를 포함하여 구성되는 마커 호모그라피 변환 기반의 SVM 오토 캘리브레이션 방법.
- 청구항 1에 있어서,
상기 제 3 단계는,
상기 마커 이미지에 대하여 마커 인코딩 포맷에 따라 마커 식별정보를 추출하는 제 31 단계;
상기 마커 이미지에 대하여 상기 마커 식별정보에 따른 마커 표준좌표를 획득하는 제 32 단계;
상기 단위촬영 이미지로부터 상기 마커 이미지의 좌표값을 획득하는 제 33 단계;
상기 좌표값을 상기 마커 표준좌표로 매핑하는 호모그라피 변환 속성을 획득하는 제 34 단계;
를 포함하여 구성되는 것을 특징으로 하는 마커 호모그라피 변환 기반의 SVM 오토 캘리브레이션 방법.
- 청구항 2에 있어서,
상기 제 5 단계 이후에 수행되는,
상기 복수의 단위 카메라에서 획득되는 촬영 영상 각각에 대하여 각자 대응하는 단위 카메라별 캘리브레이션 데이터를 이용하여 호모그라피 변환을 수행하는 제 6 단계;
상기 호모그라피 변환이 수행된 복수의 단위촬영 이미지를 스티칭하여 서라운드뷰 탑뷰 이미지를 생성하는 제 7 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 마커 호모그라피 변환 기반의 SVM 오토 캘리브레이션 방법.
- 삭제
- 청구항 3에 있어서,
상기 제 31 단계는,
상기 마커 이미지에 대해 서브픽셀 해상도의 코너 좌표를 획득하는 단계;
상기 마커 이미지를 표준 마커 포맷으로 투영 변환 복사하는 단계;
상기 마커 이미지에 대해 색상 기반으로 마커 식별정보 코드를 디코딩 추출하는 단계;
상기 마커 이미지 외부에 대한 테두리 포맷을 검증하는 단계;
상기 마커 이미지 내부에 대한 패리티를 검증하는 단계;
미리 설정된 마커 인코딩 포맷에 정합하도록 상기 마커 이미지를 회전 정렬하는 단계;
상기 마커 인코딩 포맷에 따라 상기 마커 이미지에 대한 마커 식별정보를 식별 획득하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 마커 호모그라피 변환 기반의 SVM 오토 캘리브레이션 방법.
- 하드웨어와 결합되어 청구항 1 내지 3, 5 중 어느 하나의 항에 따른 마커 호모그라피 변환 기반의 SVM 오토 캘리브레이션 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180082005A KR101989369B1 (ko) | 2018-07-16 | 2018-07-16 | 마커 호모그라피 변환 기반의 svm 오토 캘리브레이션 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180082005A KR101989369B1 (ko) | 2018-07-16 | 2018-07-16 | 마커 호모그라피 변환 기반의 svm 오토 캘리브레이션 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101989369B1 true KR101989369B1 (ko) | 2019-06-14 |
Family
ID=66846379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180082005A KR101989369B1 (ko) | 2018-07-16 | 2018-07-16 | 마커 호모그라피 변환 기반의 svm 오토 캘리브레이션 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101989369B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102676423B1 (ko) * | 2024-01-31 | 2024-06-19 | 주식회사 리트빅 | 생성형 ai를 이용한 avm 캘리브레이션 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004200819A (ja) * | 2002-12-17 | 2004-07-15 | Clarion Co Ltd | 車載カメラのキャリブレーション方法及びキャリブレーション装置 |
JP2009168461A (ja) * | 2008-01-10 | 2009-07-30 | Panasonic Corp | カメラ校正装置 |
JP2009288152A (ja) * | 2008-05-30 | 2009-12-10 | Nippon Soken Inc | 車載カメラのキャリブレーション方法 |
JP2010103730A (ja) * | 2008-10-23 | 2010-05-06 | Clarion Co Ltd | 車載カメラのキャリブレーション装置およびキャリブレーション方法 |
KR20170026743A (ko) * | 2015-08-27 | 2017-03-09 | ㈜베이다스 | 차량용 영상 정합을 위한 간소화 패턴 기반의 자동보정장치 및 그 방법 |
-
2018
- 2018-07-16 KR KR1020180082005A patent/KR101989369B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004200819A (ja) * | 2002-12-17 | 2004-07-15 | Clarion Co Ltd | 車載カメラのキャリブレーション方法及びキャリブレーション装置 |
JP2009168461A (ja) * | 2008-01-10 | 2009-07-30 | Panasonic Corp | カメラ校正装置 |
JP2009288152A (ja) * | 2008-05-30 | 2009-12-10 | Nippon Soken Inc | 車載カメラのキャリブレーション方法 |
JP2010103730A (ja) * | 2008-10-23 | 2010-05-06 | Clarion Co Ltd | 車載カメラのキャリブレーション装置およびキャリブレーション方法 |
KR20170026743A (ko) * | 2015-08-27 | 2017-03-09 | ㈜베이다스 | 차량용 영상 정합을 위한 간소화 패턴 기반의 자동보정장치 및 그 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102676423B1 (ko) * | 2024-01-31 | 2024-06-19 | 주식회사 리트빅 | 생성형 ai를 이용한 avm 캘리브레이션 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11288492B2 (en) | Method and device for acquiring 3D information of object | |
JP5453000B2 (ja) | 対象物を3dデジタル化するための方法及び装置 | |
US9519968B2 (en) | Calibrating visual sensors using homography operators | |
CN109658454B (zh) | 一种位姿信息确定方法、相关装置及存储介质 | |
CN109479082B (zh) | 图象处理方法及装置 | |
CN110926330B (zh) | 图像处理装置和图像处理方法 | |
CN109741241B (zh) | 鱼眼图像的处理方法、装置、设备和存储介质 | |
US20190213756A1 (en) | Around view monitoring systems for vehicle and calibration methods for calibrating image capture devices of an around view monitoring system using the same | |
TWI716874B (zh) | 影像處理裝置、影像處理方法、及影像處理程式 | |
KR101705558B1 (ko) | Avm 시스템의 공차 보정 장치 및 방법 | |
CN113793266A (zh) | 一种多目机器视觉图像拼接方法、系统及存储介质 | |
CN117315046A (zh) | 一种环视相机标定方法、装置、电子设备及存储介质 | |
KR101989369B1 (ko) | 마커 호모그라피 변환 기반의 svm 오토 캘리브레이션 방법 | |
JP2010020581A (ja) | 不要物を除去した画像合成システム | |
WO2019003854A1 (ja) | 画像処理装置、画像変換方法 | |
CN112262411B (zh) | 图像关联方法、系统和装置 | |
KR102119388B1 (ko) | Avm 시스템 및 카메라 공차 보정 방법 | |
JP2006113832A (ja) | ステレオ画像処理装置およびプログラム | |
WO2019080257A1 (zh) | 电子装置、车祸现场全景图像展示方法和存储介质 | |
CN115546314A (zh) | 传感器外参校准方法和装置、设备及存储介质 | |
CN112634377B (zh) | 扫地机器人的相机标定方法、终端和计算机可读存储介质 | |
CN115439552A (zh) | 一种多相机外参标定方法、装置及电子设备 | |
JP2002135807A (ja) | 3次元入力のためのキャリブレーション方法および装置 | |
CN115471563A (zh) | 车载环视系统的标定方法及其装置 | |
CN110268439B (zh) | 运动图像角点排序器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |