KR100934564B1 - 정보 처리 장치 및 정보 처리 방법 - Google Patents

정보 처리 장치 및 정보 처리 방법 Download PDF

Info

Publication number
KR100934564B1
KR100934564B1 KR1020080033934A KR20080033934A KR100934564B1 KR 100934564 B1 KR100934564 B1 KR 100934564B1 KR 1020080033934 A KR1020080033934 A KR 1020080033934A KR 20080033934 A KR20080033934 A KR 20080033934A KR 100934564 B1 KR100934564 B1 KR 100934564B1
Authority
KR
South Korea
Prior art keywords
image
orientation
real object
imaging device
measurement value
Prior art date
Application number
KR1020080033934A
Other languages
English (en)
Other versions
KR20080092879A (ko
Inventor
기요히데 사또
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20080092879A publication Critical patent/KR20080092879A/ko
Application granted granted Critical
Publication of KR100934564B1 publication Critical patent/KR100934564B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/02Picture taking arrangements specially adapted for photogrammetry or photographic surveying, e.g. controlling overlapping of pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • 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
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

방위 측정값 취득부(145)는 촬상 장치(120)상에 장착된 방위 센서(110)에 의해 측정되는 방위 측정값, 및 실물체(physical object)(125)에 장착된 센서(115)에 의해 측정되는 방위 측정값을 취득한다. 화상 처리부(135)는 촬상 화상에서 실물체(125)에 배치된 지표의 화상 좌표를 취득한다. 교정부(160)는 두 방위 측정값 및 화상 좌표를 이용하여 촬상 장치(120)에 대한 센서(110)의 배치 정보, 실물체(125)에 대한 센서(115)의 배치 정보 중 적어도 하나를 산출한다.
방위 센서, 교정 장치, 지표, 촬상 장치

Description

정보 처리 장치 및 정보 처리 방법{INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING METHOD}
본 발명은 촬상 장치 및 실물체(physical object)에 장착된 방위 센서(orientation sensors)의 교정 기술에 대한 것이다.
실물체에 텍스트 및 CG 화상을 중첩시키고, 중첩 결과를 나타내는 복합 현실감에 대한 연구가 광범위하게 행해져 왔다. 복합 현실감을 나타내는 프리젠테이션 장치는 촬상 장치 및 실물체의 위치와 방위 간의 관계에 따라 생성되는 화상을, 비디오 카메라 등의 촬상 장치에 의해 촬상된 실물체의 촬상 화상 상에 중첩시키고 렌더링(rendering)하는 장치로서 구현될 수 있다. 이러한 프리젠테이션 장치를 구현하기 위하여, 촬상 장치에 대한 실물체의 위치 및 방위를 실시간으로 측정할 필요가 있다.
촬상 장치에 의해 촬상된 화상을 이용하여 촬상 장치에 대한 실물체의 위치 및 방위를 측정하는 것은 통상적인 방법은 아니다. 본 방법에서, 실물체에 배치된 마커(marker) 등의 특징을 촬상 화상에 대해 검출하고, 검출한 특징에 기초하여 실물체의 위치 및 방위를 산출한다.
촬상 장치 및 실물체에 방위 센서를 장착하고, 방위 센서에 의한 방위 측정값 및 촬상 장치의 촬상 화상을 함께 이용하는 방법이 제안되어 있다(비특허 문헌 1). 이 방법을 이용함으로써, 실물체의 위치 및 방위는 촬상 화상만을 사용하는 경우보다 더 안정적으로 측정될 수 있다.
비특허 문헌 1에 개시된 방법은 촬상 장치 및 실물체의 방위를 방위 센서를 이용하여 측정할 수 있다는 것을 전제로 한다. 그러나, 각 방위 센서로부터의 실제 출력되는 방위 측정값은 방위 센서 그 자체의 방위를 나타내지만, 측정할 대상(촬상 장치 및 실물체) 자체의 방위는 아니다. 즉, 방위 센서의 방위 측정값은 측정할 대상의 방위로서 그대로 사용될 수는 없고, 소정의 좌표 변환을 행할 필요가 있다. 특히, 방위 센서 그 자체의 방위를 측정할 대상의 방위로 변환하는 좌표 변환을 필요로 한다. 이 좌표 변환은 (이하, 측정 대상의 물체 좌표계로서 참조되는) 측정할 대상에 대한 좌표계 상의 방위 센서의 방위에 의해 정의될 수 있다. 측정 대상의 물체 좌표계에서 방위 센서의 방위는 이하에서 필요에 따라 방위 센서의 "배치 정보"로서 언급될 것이다. 또한, 이 배치 정보는 이하에서 방위 센서의 "로컬 변환(Local Transform)"으로서 언급될 것이다. 방위 센서의 배치 정보를 얻기 위한 조작 및 처리는 이하에서 방위 센서의 "교정"으로서 언급될 것이다.
종래의 교정 방법 중 하나는 오퍼레이터가 로컬 변환을 나타내는 파라미터를 대화식으로 증가시키거나 또는 감소시키는 시행 착오의 방법이다.
특허 문헌 1에는 현실 공간상에 배치되는 마커들을 복수의 관점으로부터 촬상하여 얻은 화상을 이용하여 촬상 장치에 장착된 방위 센서의 배치 정보를 자동적 으로 산출하는 방법이 개시되어 있다. 이 방법을 이용하면, 촬상 장치에 장착된 방위 센서는 매우 간단한 조작에 의해 교정될 수 있다.
[비특허 문헌 1] Kotake, Satoh, Uchiyama, 및 Yamamoto: "Hybrid Registration Using Inclination Constraint", Papers of Meeting on Image Recognition and Understanding(MIRU2006), pp. 241-248, July 2006.
[비특허 문헌 2] K. Satoh, S. Uchiyama, H. Yamamoto, 및 H. Tamura: "Robust vision-based registration utilizing bird's-eye view with user's view", Proc. 2nd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality(ISMAR 2003), pp. 46-55, October 2003.
[비특허 문헌 3] A. I. Comport, E. Marchand, and F. Chaumette, "A real-time tracker for markerless augmented reality", Proc. 2nd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality(ISMAR 2003), pp. 36-45, October 2003.
[특허 문헌 1] 일본 특허공개공보 제2005-326275호.
특허 문헌 1에 개시된 방법은 촬상 장치 외의 임의의 실물체(즉, 촬상 장치를 갖지 않는 실물체)에 장착된 방위 센서를 교정할 수 없다. 따라서, 종래의 시스템에서, 방위 센서가 촬상 장치 외의 임의의 실물체에 장착될 때, 오퍼레이터는 반복적인 시행 착오 프로세스에 의해서만 이 방위 센서의 로컬 변환을 조정할 수 있다. 그러나, 이 조작은 용이하지 않으며 오퍼레이터의 숙련된 기술을 요구한다.
특허 문헌 1에 개시된 방법은 초기값으로 사용되는 파라미터를 임의의 방법으로 평가하고 입력해야 하는 문제점을 갖는다.
또한, 특허 문헌 1에 개시된 방법은 현실 공간에 배치된 마커의 3차원 위치를 정의하는 세계 좌표계 상에 미리 중력축 방향을 입력해야하는 문제점을 갖는다.
전술한 문제점들 중 하나 이상을 해결하는 것이 요망된다. 또한, 촬상 장치 및 실물체에 장착된 방위 센서를 쉽고 정밀하게 교정하는 기술을 제공하는 것이 요망된다.
본 발명의 일 양태에 따른 정보 처리 장치는,
촬상 장치에 장착된 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과, 촬상 장치가 촬상할 실물체에 장착된 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하도록 구성되는 방위 측정값 취득부;
촬상 장치에 의해 촬상된 실물체의 화상을 취득하도록 구성되는 화상 취득부;
실물체에 배치되는 지표 화상의 화상 좌표를 취득하도록 구성되는 화상 좌표 취득부; 및
촬상 장치용 방위 센서에 의해 측정되는 방위 측정값, 실물체용 방위 센서에 의해 측정되는 방위 측정값 및, 화상 좌표를 이용하여, 촬상 장치에 대한 촬상 장치용 방위 센서의 배치 정보와, 실물체에 대한 실물체용 방위 센서의 배치 정보 중 적어도 하나를 산출하도록 구성되는 산출부를 포함한다.
본 발명의 다른 양태에 따른 정보 처리 장치는,
실물체에 장착된 방위 센서에 의해 측정되는 방위 측정값을 취득하도록 구성되는 방위 측정값 취득부,
촬상 장치에 의해 촬상된 실물체의 화상을 취득하도록 구성되는 화상 취득부;
실물체에 배치된 지표의 화상에서 화상 좌표를 취득하도록 구성되는 화상 좌표 취득부; 및
촬상 장치의 방위에 대한 제공 정보, 방위 센서에 의해 측정되는 방위 측정값 및 화상 좌표를 이용하여 실물체에 대한 방위 센서의 배치 정보를 산출하도록 구성되는 산출부를 포함한다.
본 발명의 또 다른 양태에 따른 정보 처리 방법은,
촬상 장치에 장착된 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과, 촬상 장치가 캡처할 실물체에 장착된 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
촬상 장치에 의해 촬상된 실물체의 화상을 취득하는 단계;
실물체에 배치된 지표 화상에서 화상 좌표를 취득하는 단계; 및
촬상 장치용 방위 센서에 의해 측정되는 방위 측정값, 실물체용 방위 센서에 의해 측정되는 방위 측정값 및 화상 좌표를 이용하여, 촬상 장치에 대한 촬상 장치용 방위 센서의 배치 정보와, 실물체에 대한 실물체용 방위 센서의 배치 정보 중 적어도 하나를 산출하는 단계를 포함한다.
본 발명의 또 다른 양태에 따른 정보 처리 방법은,
실물체에 장착된 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
촬상 장치에 의해 촬상된 실물체의 화상을 취득하는 단계;
실물체에 배치된 지표의 화상에서 화상 좌표를 취득하는 단계; 및
촬상 장치의 방위에 대한 제공 정보, 방위 센서에 의해 측정되는 방위 측정값 및 화상 좌표를 이용하여 실물체에 대한 방위 센서의 배치 정보를 산출하는 단계를 포함한다.
본 발명의 또 다른 양태에 따른 컴퓨터로 하여금 정보 처리 방법을 실행하게 하기 위한 컴퓨터 프로그램을 기억하는 컴퓨터 판독 가능한 기억 매체로서,
촬상 장치에 장착된 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과, 촬상 장치가 캡처할 실물체에 장착된 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
촬상 장치에 의해 촬상된 실물체의 화상을 취득하는 단계;
실물체에 배치된 지표의 화상에서 화상 좌표를 취득하는 단계; 및
촬상 장치용 방위 센서에 의해 측정되는 방위 측정값, 실물체용 방위 센서에 의해 측정되는 방위 측정값 및 화상 좌표를 이용하여, 촬상 장치에 대한 촬상 장치용 방위 센서의 배치 정보와, 실물체에 대한 실물체용 방위 센서의 배치 정보 중 적어도 하나를 산출하는 단계를 포함한다.
본 발명의 또 다른 양태에 따른 컴퓨터로 하여금 정보 처리 방법을 실행하게 하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 저장 매체로서,
실물체에 장착된 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
촬상 장치에 의해 촬상된 실물체의 화상을 취득하는 단계;
실물체에 배치된 지표의 화상에서 화상 좌표를 취득하는 단계;
촬상 장치의 방위에 대한 제공 정보, 방위 센서에 의해 측정되는 방위 측정값 및 화상 좌표를 이용하여, 실물체에 대한 방위 센서의 배치 정보를 산출하는 단계를 포함한다.
본 발명의 또 다른 특징은 첨부된 도면을 참조하여 후술되는 실시예로부터 명백해질 것이다.
본 발명에 따르면, 촬상 장치 및 실물체에 장착된 방위 센서를 쉽고 정밀하게 교정할 수 있다.
본 발명의 바람직한 실시예는 첨부된 도면을 참조하여 이하에서 상세히 설명될 것이다. 이들 실시예는 특허청구범위의 범주에서 기술되는 본 발명의 바람직한 구성의 예로서 설명될 것이며, 이러한 본 발명은 이하에서 기술되는 실시예로 제한되지는 않는다는 것에 유념하자.
[제1 실시예]
본 실시예에 따른 정보 처리 장치는 비디오 카메라 등의 촬상 장치 상에 장착된 방위 센서(촬상 장치용 방위 센서)와, 실물체에 장착된 방위 센서(실물체용 방위 센서)를 동시에 교정한다. 따라서, 본 실시예에 따른 정보 처리 장치는 이하 에서 센서 교정 장치로서 언급될 것이다. 이하, 본 센서 교정 장치 및, 본 센서 교정 장치에 의해 실행되는 센서 교정 방법을 설명할 것이다.
도 1은 본 실시예에 따른 센서 교정 장치를 갖는 시스템의 기능 구성을 도시하는 블록도이다. 도 1에 도시된 바와 같이, 교정할 방위 센서(110, 115), 동화상을 촬상할 수 있는 비디오 카메라에 의해 대표되는 촬상 장치(120)가 센서 교정 장치(100)에 접속된다.
센서 교정 장치(100)는 화상 취득부(130), 화상 처리부(135), 3차원(3D) 좌표 보유부(140), 방위 측정값 취득부(145), 지시부(150), 데이터 관리부(155), 교정부(160), 위치 및 방위 산출부(170), 화상 생성부(180), 및 표시부(190)를 포함한다.
방위 센서(110)는, 그 방위 센서(110)에 의해 방위가 측정될 대상인 촬상 장치(120) 상에 장착된다. 방위 센서(115)는, 그 방위 센서에 의해 방위가 측정될 대상인 실물체(125)에 장착된다. 본 실시예에 따른 센서 교정 장치(100)의 목적은 촬상 장치(120)에 대한 방위 센서(110)의 배치 정보와, 실물체(125)에 대한 방위 센서(115)의 배치 정보를 산출하는 것이다.
방위 센서(110, 115)의 각각은 센서 좌표계 상에서 자신의 방위를 측정한다. 방위 센서는, 예컨대, 자이로 센서(gyro sensor) 및 가속 센서에 기초하여 한 센서부(sensor unit)이다. 특히, 방위 센서는 TOKIMEC사로부터 이용가능한 TISS-5-40, 미국의 InterSense사로부터 이용가능한 InertiaCube3 등을 포함한다. 이들 센서에 의해 측정되는 방위 측정값은 관성 측정값을 시간 적분함으로서 얻어지는 값으로 산출되므로 누적 오차를 포함한다. 그러나, 이들 방위 센서는 내부 가속 센서에 의해 지구의 중력 방향을 관찰함으로써 경사각 방향(피치각(pitch angle) 및 롤 각(roll angle))으로 오차 누적을 상쇄시키는 기능을 갖는다. 이 때문에, 각 방위 센서는 경사각 방향으로 누적 오차를 생성하지 않는 성질을 갖는다. 즉, 방위 센서는 방위각(azimuth angle) 방향(요 각(yaw angle) 방향)으로 시간에 따라 누적되는 오차(방위 오차)를 갖는다. 각 방위 센서의 센서 좌표계가 중력축에 관해 설정되므로, 복수의 방위 센서의 센서 좌표계는 중력축에 대해 1 자유도(degree of freedom)인 방위 성분을 제외하고 공통으로 정의된다.
방위 센서(110)에 의해 측정되는 3 자유도를 갖는 방위 측정값은 3×3 회전 행렬 Rwsa τ로서 기술될 것이다. 마찬가지로, 방위 센서(115)에 의해 측정되는 3 자유도를 갖는 방위 측정값은 3×3 회전 행렬 Rwsb τ로서 기술될 것이다. 방위 센서(110, 115)에 의해 측정되는 방위 측정값은 방위 측정값 취득부(145)에 데이터로서 입력된다.
데이터 관리부(155)로부터 요청을 수신한 때에, 방위 측정값 취득부(145)는 방위 센서(110, 155)로부터 수신한 방위 측정값의 데이터를 데이터 관리부(155)에 출력한다. (후술할) 교정부(160)에 의해 산출되는 방위 센서(110, 115)의 배치 정보(로컬 변환)들을 수신한 때에, 방위 측정값 취득부(145)는 이들을 보유한다. 또한, 방위 측정값 취득부(145)는 방위 센서(110, 115)의 방위 측정값을 촬상 장치(120) 및 실물체(125) 각각의 방위를 나타내는 정보로 변환하고, 변환된 정보를 위치 및 방위 산출부(170)에 출력한다. 이 변환은 방위 센서(110, 115)의 방위 측정값을 대응하는 로컬 변환과 승산함으로써 행해진다.
촬상 장치(120)의 위치 및 방위는 촬상 장치(120) 상에 설정된 카메라 좌표계의 위치 및 방위에 의해 정의된다는 것에 유념하자. 카메라 좌표계는 촬상 장치(120)의 촬상 시스템의 투영 중심을 원점으로 하고, 광축 방향을 Z축으로하고, Z축에 수직인 독립축으로서 X축 및 Y축을 갖는 좌표계이다. 실물체(125)의 위치 및 방위는 실물체(125)에 설정된 물체 좌표계의 위치 및 방위에 의해 정의된다. 물체 좌표계는 실물체(25)상에 한 점을 원점으로, 그리고 세 직교축을 X, Y, Z축으로 정의하는 좌표계이다.
촬상 장치(120)는 실물체(125)을 포함하는 현실 공간의 동화상을 촬상하고, 각 촬상 프레임의 화상(촬상 화상)이 화상 취득부(130)에 데이터로서 입력된다. 촬상 장치(120)로부터 촬상 화상의 데이터를 수신한 때에, 화상 취득부(130)는 이를 필요에 따라 저장하고, 그 후 화상 처리부(135) 및 화상 생성부(180)로 데이터를 출력한다.
실물체(125)에서, 물체 좌표계 상의 위치들(대상 좌표들)이 부여되는 복수의 지표 Qk (k=1,...,K)는 촬상 장치(120)에 의해 촬상되는 지표로서 배치된다. k는 각 지표의 식별 번호를 나타내고, K는 지표의 총 수를 나타낸다는 것을 유념하자. 촬상 장치(120)가 센서 교정용 데이터의 취득과 동시에 적어도 4개의 지표를 관찰할 수 있도록 지표 Qk를 배치하는 것이 바람직하다. 도 1의 예에서, 4개의 지표 Q1, Q2, Q3, 및 Q4가 실물체(125)의 동일 평면 상에 배치된다.
지표 Qk는 상이한 컬러들을 갖는 작은 영역인, 예컨대 컬러 마커에 의해 정의된다. 대안적으로, 지표 Qk는 상이한 텍스처 특징들을 갖는 자연 특징 등의 특징점에 의해 정의된다. 본 실시예에서 사용될 수 있는 지표는 촬상 화상에서 그들의 투영 화상의 화상 좌표를 검출할 수 있는 한 임의의 형태를 가질 수 있으며, 이들 지표는 서로 식별가능하다. 지표는 의도적으로(인위적으로) 설정될 수 있다. 그러나, 지표는 실물체에 원래 존재하는, 실물체의 코너, 패턴 등의 특징일 수도 있다. 소정 영역을 갖는 단색 다각형 영역에 의해 정의되는 다각형 마커가 사용될 수 있다. 이 경우, 다각형의 정점을 지표로서 사용한다.
3D 좌표 보유부(140)는 현실 공간에 배치된 각 지표(도 1의 경우에는 지표 Q1 내지 Q4)의 식별 번호 및 대상 좌표의 세트를 보유한다. 즉, 도 1의 경우, 3D 좌표 보유부(140)는, 데이터로서, 지표 Q1의 식별 번호 및 대상 좌표의 세트, 지표 Q2의 식별 번호 및 대상 좌표의 세트, 지표 Q3의 식별 번호 및 대상 좌표의 세트, 그리고 지표 Q4의 식별 번호 및 대상 좌표의 세트를 보유한다. 화상 처리부(135)로부터 식별 번호를 수신한 때에, 3D 좌표 보유부(140)는 수신한 식별 번호와 함께 세트로서 보유한 대상 좌표를 화상 처리부(135)에 반환한다. 다음의 설명에서, 식별 번호 k를 갖는 지표 Qk의 대상 좌표는 xOQk로서 기술될 것이다.
화상 취득부(130)로부터 촬상 화상을 수신한 때에, 화상 처리부(135)는 이 촬상 화상에 포함된 지표를 검출하고, 그들의 화상 좌표를 산출한다. 또한, 화상 처리부(135)는 검출한 지표를 식별하고, 이들 지표의 식별 번호를 특정한다.
지표는 사용할 지표 유형에 따른 방법에 의해 검출된다는 점에 유념하자. 예를 들어, 상이한 컬러를 갖는 컬러 마커에 의해 각 지표가 정의되는 경우, 각 마커 컬러에 대응하는 영역이 촬상 화상으로부터 검출된다. 그 후, 그들의 무게중심 위치를 지표의 검출 좌표로서 사용한다. 지표가 상이한 문자 특징을 갖는 특징점에 의해 정의되는 경우, 지표의 위치는 템플릿 화상을 사용하는 템플릿 매칭에 의해 검출된다. 이 경우에, 각 지표의 템플릿 화상은 주어진 정보로서 미리 보유된다. 직사각형 마커를 사용하는 경우, 마커 후보로서 4개의 직선에 의해 각각 정의되는 레벨 영역을 검출하기 위하여 촬상 화상을 이진화 처리 및 라벨링 처리를 한다. 또한, 각 마커 후보의 직사각형 영역이 특정 패턴을 포함하는 지 여부를 검사함으로써 검출 오차를 제거한다. 또한, 직사각형 영역에서의 패턴에 기초하여 직사각형 마커의 식별 번호를 취득한다. 마지막으로, 각 직사각형 영역의 4개의 정점의 좌표를 4개의 지표의 위치로서 출력한다.
이러한 방식으로, 촬상 화상에서 지표의 식별 번호 및 화상 좌표를 추출하는 기술은 당업자에게 잘 알려져 있으므로, 화상 좌표 및 식별 번호의 취득 처리에 대한 상세한 설명은 생략할 것이다.
검출된 지표의 식별 번호를 특정할 시에, 화상 처리부(135)는 특정된 식별 번호를 3D 좌표 보유부(140)에 출력하여 검출된 지표의 대상 좌표를 얻는다. 그 결과, 3D 좌표 보유부(140)가 특정된 식별 번호를 갖는 세트를 형성하는 대상 좌표를 반환하므로, 화상 처리부(135)는 이들 대상 좌표를 취득한다. 즉, 화상 처리부(135)는 3D 좌표 보유부(140)로 검출된 지표의 식별 번호를 출력함으로써 3D 좌 표 보유부(140)로부터 검출된 지표의 대상 좌표를 취득할 수 있다. 이러한 방식으로, 화상 처리부(135)는 촬상 화상으로부터 검출된 모든 지표의 식별 번호, 화상 좌표 및 대상 좌표를 얻는다.
화상 처리부(135)는 검출된 지표의 화상 좌표 uQkj τ 및 대상 좌표 xOQkj의 세트(j=1,..., Jτ)을 위치 및 방위 산출부(170)에 출력한다. 다음의 설명에서, 각 검출된 세트는 대응하는 정보로서 참조될 것이며, 모든 검출된 지표 세트(화상 좌표 및 대상 좌표의 세트)은 지표 정보 Mτ로서 총괄적으로 기술될 것이다. 따라서, 지표 정보 Mτ는 각 지표에 대한 대응하는 정보를 포함한다.
심볼 τ는 화상 취득부(130)가 촬상 장치(120)로부터 촬상 화상을 취득할 때의 시간(타이밍)을 나타내는 식별자임에 유념하자. 따라서, Mτ는 식별자 τ가 나타내는 시간(이하에서는 간단히 시간 τ로 명명함)에서 화상 취득부(130)에 의해 취득된 촬상 화상으로부터 얻은 지표 정보를 나타낸다. 이 시간 τ를 (도시하지 않은) 타이머로 측정하고, 센서 교정 장치(100)를 형성하는 각 유닛은 필요에 따라 상기 시간을 본 타이머로 측정하여 얻을 수 있는 것으로 가정한다. 물론, "타이밍"을 나타낼 수 있다면 시간 이외의 다른 임의의 데이터를 사용할 수도 있다.
심볼 j는 하나의 촬상 화상에 포함된 각 지표에 배치되는 일련번호를 나타낸다. 이 심볼 j는 설명의 편의를 위해 사용된다. 심볼 Jτ는 시간 τ에서 화상 취득부(130)에 취득된 촬상 화상으로부터 화상 처리부(135)에 의해 검출된 총 지표 수를 나타낸다. 또한, 심볼 kj는 j번째 지표의 식별 번호를 나타낸다.
화상 처리부(135)는 지표 정보 Mτ를 사용하여 촬상 장치(120)에 대한 실물체(125)의 방위 측정값 R'CO τ과 위치 측정값 t'CO τ를 더 산출한다. t'CO τ는 위치를 표현하는 3D 벡터를 나타낸다는 점에 유념하자. 또한, R'CO τ는 방위를 표현하는 3×3 행렬을 나타낸다.
실물체에서 복수 지점의 화상 좌표와 3D 좌표 간의 대응에 기초하여 실물체의 위치 및 방위를 산출하는 방법은 사진측량 및 컴퓨터 비전 분야에 널리 알려져 있으므로 이에 대한 상세한 설명은 하지 않을 것이다. 촬상 장치(120)에 대해 실물체(125)의 위치 및 방위를 산출하는 것은 (이하 설명할) 위치 및 방위 산출부(170)에서의 처리와는 달리 방위 센서(110, 115)의 방위 측정값을 사용하지는 않는다.
화상 처리부(135)가 데이터 관리부(155)로부터 요청을 접수할 때에, 지표 정보 Mτ, 실물체(125)의 방위 측정값 R'CO τ 및 위치 측정값 t'CO τ을 데이터 관리부(155)에 출력한다.
오퍼레이터가 "데이터 취득" 명령을 입력할 때에, 지시부(150)는 "데이터 취득" 지시를 데이터 관리부(155)에 송신한다. 오퍼레이터가 "배치 정보 산출" 명령을 입력할 때, 지시부(150)는 "배치 정보 산출" 지시를 교정부(160)에 송신한다. 오퍼레이터는, 예를 들어 키보드를 사용하여 특정 명령이 배치된 키를 누름으로써, 이들 명령을 지시부(150)에 입력한다. 그러나, 명령 입력 방법은 특별히 제한되지 않는다. 예를 들어, 오퍼레이터는 디스플레이 상에 표시된 GUI를 사용하여 명령을 입력할 수 있다.
지시부(150)로부터 "데이터 취득" 지시를 수신한 때에, 데이터 관리부(155)는 지시 수신 시간에서 가장 근접한 시간(시간 τ)에서 화상 취득부(130)에 취득된 촬상 화상에 기초하여 화상 처리부(135)에 의해 취득된 정보 그룹을 얻는다. 즉, 데이터 관리부(155)는 화상 처리부(135)로부터 실물체(125)의 방위 측정값 R'CO τ 및 위치 측정값 t'CO τ, 그리고 지표 정보 Mτ를 취득한다. 지시부(150)로부터 "데이터 취득" 지시를 수신한 때에, 데이터 관리부(155)는 시간 τ에서 방위 센서(110, 115)에 의해 측정되는 방위 측정값 데이터를 얻는다.
데이터 관리부(155)는 이러한 방식으로 취득한 정보를 세트로서 자신이 관리하는 데이터 리스트에 추가 등록한다.
· 시간 τ에서 방위 측정값 취득부(145)가 취득한 방위 센서(110)의 방위 측정값 RWSa τ
· 시간 τ에서 방위 측정값 취득부(145)가 취득한 방위 센서(115)의 방위 측정값 RWSb τ
· 시간 τ에서 화상 취득부(130)가 취득한 촬상 화상에 기초하여 산출되는 실물체(125)의 방위 측정값 R'CO τ 및 위치 측정값 t'CO τ
· 시간 τ에서 화상 취득부(130)가 취득한 촬상 화상에 기초하여 산출한 지표 정보 Mτ
· 제1 지표의 화상 좌표 uQk1 τ 및 대상 좌표 xOQk1 세트
· 제2 지표의 화상 좌표 uQk2 τ 및 대상 좌표 xOQk2 세트
· ...
교정부(160)로부터 요청을 수신한 때에, 데이터 관리부(155)는 이 데이터 리스트를 교정부(160)에 출력한다.
지시부(150)로부터 "배치 정보 산출" 지시를 수신한 때에, 교정부(160)는 이 데이터 리스트의 취득 요청을 데이터 관리부(155)에 발행한다. 그 후, 교정부(160)는 이 취득 요청에 응답하여 데이터 관리부(155)로부터 출력된 이 데이터 리스트를 취득한다. 교정부(160)는 취득한 데이터 리스트를 이용하여 (이하 기술할) 수치 산출 프로세스를 수행함으로써, 방위 센서(110)의 배치 정보(즉, 로컬 변환) 및 방위 센서(115)의 배치 정보를 산출한다. 산출된 배치 정보는 데이터로서 방위 측정값 취득부(145)에 출력되고, 이 방위 측정값 취득부(145)에서 보유되어 필요에 따라 외부에 출력된다.
촬상 장치(120)상에 배치된 방위 센서(110), 실물체(125)에 배치된 방위 센서(115)를 동시에 교정하기 위한 구성요소를 설명하였다. 이하 설명할 구성요소는 전술한 구성에 의해 얻어지는 결과를 확인하기 위하여 복합 현실감을 제시하는 데 사용된다.
위치 및 방위 산출부(170)는 비특허 문헌 1에 기술된 방법에 의해 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위를 산출한다.
즉, 전술한 바와 같이, 화상 처리부(135)는 일 프레임의 촬상 화상이 촬상 장치(120)로부터 입력될 때마다 촬상 화상에 기초하여 지표 정보 Mτ를 얻고, 얻은 지표 정보 Mτ를 위치 및 방위 산출부(170)에 출력한다. 따라서, 위치 및 방위 산출부(170)는 이 지표 정보 Mτ를 수신한다.
위치 및 방위 산출부(170)는 (대략 시간 τ로서 간주될 수 있는) 시간 τ에서 가장 근접한 시간에서 방위 측정값 취득부(145)에 의해 촬상 장치(120) 및 실물체(125)의 방위로서 취득된 값을 얻는다.
"τ에 가장 근접한 시간에서 촬상 장치(120)의 방위"는 다음과 같이 산출된다는 것에 유념하자. 즉, 전술한 바와 같이, 이 방위는 시간 τ에 가장 근접한 시간에서 방위 측정값 취득부(145)에 보유된 방위 센서(110)의 배치 정보를 이용하여 시간 τ에 가장 근접한 시간에서 방위 측정값 취득부(145)에 의해 취득된 방위 센서(110)의 방위 측정값에 기초하여 산출된다. 또한, "τ에 가장 근접한 시간에서 실물체(125)의 방위"는 다음과 같이 산출된다. 즉, 전술한 바와 같이, 이 방위는 시간 τ에 가장 근접한 시간에서 방위 측정값 취득부(145)에 보유된 방위 센서(115)의 배치 정보를 이용하여 시간 τ에 가장 근접한 시간에서 방위 측정값 취득부(145)에 의해 취득되는 방위 센서(115)의 방위 측정값에 기초하여 산출된다.
그 후, 위치 및 방위 산출부(170)는 비특허 문헌 1에 개시된 기술을 사용하여 지표 정보 Mτ, 촬상 장치(120)의 방위, 실물체(125)의 방위에 기초하여 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위를 산출한다. 이 경우의 산출은 주어진 로컬 변환이 정확하다는 가정에 기초하여 이루어지기 때문에, 산출된 위치 및 방위는 로컬 변환의 정확성을 반영한다.
화상 생성부(180)는 화상 취득부(130)로부터 촬상 화상을 취득한다. 또한, 화상 생성부(180)는 위치 및 방위 산출부(170)로부터 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위를 취득하고, 이 촬상 화상에서 취득한 위치 및 방위에 기초하여 렌더링한 가상 물체의 화상을 중첩시킴으로써 복합 현실감을 제시하는 화상(중첩 화상)을 생성한다. 그 후, 화상 생성부(180)는 생성한 화상을 표시부(190)에 출력한다.
표시부(190)는 화상 생성부(180)로부터 복합 현실감을 나타내는 화상을 취득하고, 이를 디스플레이하여 오퍼레이터에게 복합 현실감을 제시한다. 오퍼레이터는 표시된 화상을 시각적으로 관찰하여, 제시된 복합 현실감에서 현실 공간과 가상 공간 간의 등록 정확성에 기초하여 교정 결과의 정확성을 판단할 수 있다. 표시부(190)는 촬상 장치(120)와 통합될 수 있다는 점에 유념하자. 이 경우에, 촬상 장치(120) 및 표시부(190)는 소위 헤드 장착 디스플레이(HMD: Head Mounted Display)를 형성한다.
이제, 처리의 흐름을 도시한 도 3을 참조하여 센서 교정 장치(100)가 수행하는 주 처리를 설명할 것이다. 도 3에 도시된 흐름도에 따른 처리를 수행할 때에, 오퍼레이터는 촬상 장치(120) 및 실물체(125)의 방위를 다양하게 변경하면서 "데이터 취득" 명령을 수 회 입력한다. 그 후, 오퍼레이터는 "배치 정보 산출" 명령을 입력한다. 후술하는 설명에서, 심볼 τ는 "데이터 취득" 명령의 입력 시간으로서 사용된다. 서로 다른 시간 τ에서, 촬상 장치(120) 및 실물체(125)는 각각 서로 다른 방위를 갖는다.
단계(S3010)에서, 지시부(150)는 오퍼레이터가 "데이터 취득" 명령을 입력했는지의 여부를 검사한다. 오퍼레이터가 "데이터 취득" 명령을 입력한 경우, 지시부(150)는 "데이터 취득" 지시를 데이터 관리부(155)에 송신하고, 처리는 단계(S3020)로 진행된다. 반면, 오퍼레이터가 아직 어떠한 "데이터 취득" 명령도 입력하지 않은 경우에는, 처리는 단계(S3050)로 건너뛴다.
단계(3020)에서, 데이터 관리부(155)는 화상 처리부(135)로부터, 시간 τ에 화상 취득부(130)에 의한 얻은 촬상 화상에 기초하여 화상 처리부(135)에 의해 취득한 화상 처리 결과를 얻는다. 즉, 이 화상 처리 결과는 전술한 바와 같이 지표 정보 Mτ, 실물체의 위치 측정값 t'CO τ 및 방위 측정값 R'CO τ를 포함한다.
단계(S3030)에서, 데이터 관리부(155)는 방위 측정값 취득부(145)로부터 시간 τ에서 방위 센서(110, 115)에 의해 측정되는 방위 측정값 RWSa τ 및 RWSb τ을 얻는다.
단계(S3040)에서, 데이터 관리부(155)는 단계(S3020) 및 단계(S3030)에서 취득한 정보 그룹을 결합하여 구한 세트 [RWSa τ, RWSb τ, t'CO τ, R'CO τ, Mτ]을 데이터 리스트(L)에 추가 등록한다.
전술한 단계(S3010) 내지 단계(S3040)의 처리에서 단일 "데이터 취득" 지시에 응답하여 취득한 세트가 데이터 리스트 L에 등록된다. 단계(S3010) 내지 단계(S3040)에서의 처리를 복수 회 반복함으로써, 복수의 세트가 데이터 리스트 L에 등록될 수 있다. 이 때, 시간 τ( τ=1,..., T)는 데이터 리스트 L에 등록된 각 세트의 식별자로서 구성될 수 있다. T는 데이터 리스트 L에 포함된 상이한 세트의 수(상이한 시간대 및 상이한 방위)를 나타낸다.
단계(S3050)에서, 지시부(150)는 오퍼레이터가 "배치 정보 산출" 명령을 입력했는지의 여부를 검사한다. 오퍼레이터가 "배치 정보 산출" 명령을 입력한 경우, 지시부(150)는 "배치 정보 산출" 명령을 교정부(160)에 송신하고, 처리는 단계(S3060)로 진행된다. 반면, 오퍼레이터가 아직 어떠한 "배치 정보 산출" 명령도 입력하지 않은 경우, 처리는 단계(S3080)로 건너뛴다.
단계(S3060)에서, 교정부(160)는 데이터 관리부(155)로부터 데이터 리스트 L을 취득하고, 취득한 데이터 리스트 L을 사용하여 방위 센서(110, 115)의 각 배치 정보를 산출하기 위한 처리를 수행한다. 이 처리의 상세한 설명은 도 4의 흐름도를 참조하여 이하 설명할 것이다.
단계(S3070)에서, 교정부(160)는 단계(S3060)에서 산출한 방위 센서(110, 115)의 각 배치 정보를 방위 측정값 취득부(145)에 출력한다. 또한, 교정부(160)는 필요에 따라 이들 배치 정보를 센서 교정 장치(100)의 외부에 출력한다.
단계(S3080)에서, 위치 및 방위 산출부(170)는 화상 처리부(135)로부터, 시간 τ에서 화상 취득부(130)에 의해 얻은 촬상 화상에 기초하여 화상 처리부(135)에 의해 얻은 지표 정보 Mτ를 취득한다.
단계(S3090)에서, 위치 및 방위 산출부(170)는 시간 τ에서 촬상 장치(120) 및 실물체(125)의 방위로서 방위 측정값 취득부(145)에 의해 산출된 값을 취득한 다. 이들 취득한 방위는 방위 측정값 취득부(145)에 의해 보유된 방위 센서의 로컬 변환에 기초하여 방위 측정값의 좌표 변환을 수행함으로써 나타낸다. 따라서, 단계(S3060)에서의 배치 정보 처리가 정확히 행해졌다면, 이 단계에서 얻은 방위는 (불가피하게 센서의 측정 오차를 포함하는) 촬상 장치(120) 및 실물체(125)의 방위를 정확히 나타낸다.
단계(S3100)에서, 위치 및 방위 산출부(170)는 단계(S3080)에서 취득한 지표 정보와 단계(S3090)에서 취득한 촬상 장치(120) 및 실물체(125)의 방위에 기초하여, 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위를 산출한다. 이 산출 처리는 예를 들어, 비특허 문헌 1에 개시된 기지의 방법에 의해 성취될 수 있으므로 성세한 설명은 생략할 것이다. 위치 및 방위 산출부(170)는 산출한 위치 및 방위 데이터를 화상 생성부(180)에 출력한다. 또한, 위치 및 방위 산출부(170)는 필요에 따라 산출한 위치 및 방위 데이터를 외부에 출력한다.
단계(S3110)에서, 화상 생성부(180)는 복합 현실감을 나타내는 화상을 생성하고, 생성한 화상을 표시부(190)에 출력한다. 복합 현실감을 나타내는 이 화상은 다음의 처리에 의해 생성된다. 화상 생성부(180)는 위치 및 방위 산출부(170)로부터 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위를 취득한다. 또한, 화상 생성부(180)는 화상 취득부(130)로부터 시간 τ에서 화상 취득부(130)에서 얻은 촬상 화상을 취득한다. 그 후, 화상 생성부(180)는 이 촬상 화상 상에, 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위에 기초하여 렌더링한 가상 물체의 화상을 중첩시킨다. 가상 물체로서, 예컨대 물체 좌표계의 세 축을 나타내는 화살표 가 실물체(125)의 유형에 의존하지 않는 정보로서 표시될 수 있다. 대안적으로, X = 0 면(plane), Y = 0 면, Z = 0 면 등이 와이어 프레임을 사용하여 표시될 수 있다. 또는, 실물체(125)의 와이어 프레임 모델을 미리 보유할 수 있으며, 실물체(125) 상에 중첩할 수도 있다. 임의적 가상 물체는 오퍼레이터가 실물체(125)의 위치 및 방위가 정확히 산출되는지의 여부를 확인할 수 있도록 하는 컨텐츠를 갖는 한, 임의의 가상 물체가 표시될 수 있다.
단계(S3120)에서, 표시부(190)는 화상 생성부(180)로부터 복합 현실감을 나타내는 화상을 취득하고, 이를 표시하여 오퍼레이터에게 복합 현실감을 제시한다.
마지막으로 단계(S3130)에서, 지시부(150)는 처리의 종료 여부를 검사한다. 오퍼레이터가 지시부(150)를 통하여 이 처리의 종료 지시를 입력한다면, 이 처리는 종료된다. 오퍼레이터가 아직 어떠한 종료 지시도 입력하지 않았다면, 처리는 단계(S3010)로 복귀한다.
단계(S3060)에서의 배치 정보 산출 처리의 상세한 설명은 도 4에 도시된 흐름도를 참조하여 설명할 것이다. 도 4는 단계(S3060)에서의 처리를 상세히 설명하는 흐름도이다.
교정부(160)는 방위 센서의 산출할 배치 정보, 즉 로컬 변환을 세 값 벡터 ω = [ξψζ]T 로 다룬다. 세 값을 사용하여 방위를 나타내는 다양한 방법이 사용될 수 있다. 본 실시예에서, 방위가 벡터의 크기는 회전각을 정의하고, 벡터의 방향은 회전축 방향을 정의하는 세 값 벡터에 의해 표현된다고 가정한다. 다음의 설 명에서, 각 로컬 변환은 필요에 따라 3×3 회전 행렬 R(ω)을 사용하여 기술된다. 회전 행렬과 세 값 벡터 간의 변환은 공지된 변환 공식을 이용하여 쉽게 얻을 수 있다. 다음의 설명에서, 방위 센서(110)의 배치 정보는 ωSC = [ξSCψSCζSC]T (알려지지 않음)로서 기술되며, 방위 센서(115)의 배치 정보는 ωSO = [ξSOψSOζSO]T (알려지지 않음)로서 기술된다.
교정부(160)는 로컬 변환을 산출하는 처리에서 데이터 리스트 L에 등록된 각 시간 τ에서 실물체(125)의 위치 tCO τ = [xCO τ yCO τ zCO τ]T (알려지지 않음)를 측정한다. 또한, 교정부(160)는 각 시간 τ에서 상대적 방위 오차의 보정값 φτ (알려지지 않음)를 측정한다. 상대적 방위 오차는 방위 센서(110)의 방위 측정값에 포함된 방위 오차와 방위 센서(115)의 방위 측정값에 포함된 방위 오차 간의 상대값을 나타낸다. 또한, 상대적 방위 오차는 각 방위 센서의 센서 좌표계의 방위각 성분 간의 차이를 포함한다는 점에 유념하자.
다음의 설명에서, 산출할 이들 미지의 파라미터는 (6+4T)-차원 상태 벡터 s = [ωSC ωSO tCo1 φ1 ... tCO τ φτ ... tCOT φT]T 를 이용하여 기술된다. 다음의 산출에서, 상태 벡터 s의 값은 지표의 정보 및, 리스트 L에 보유된 복수 시간대에서 방위 측정값을 사용하여 반복 산출함으로써 최적화된다. 특히, s의 값은 소정 상태 벡터 s를 전체로서 측정하는 각 지표의 이론적 화상 좌표값과 각 검출된 지표의 화 상 좌표의 실제 측정값 간의 오차를 최소화하기 위하여 갱신된다.
단계(S4010)에서, 교정부(160)는 데이터 관리부(155)로부터 데이터 리스트 L을 취득한다.
단계(S4020)에서, 교정부(160)는 상태 벡터 s에 적절한 초기값을 부여한다. 교정부(160)는 각 τ에서 tCO τ의 초기값으로서, 데이터 리스트 L에서 대응 시간 τ에서의 실물체(125)의 위치 측정값 t'CO τ을 설정한다. 교정부(160)는 모든 "φτ"에 공통인 초기값으로서, 외곽 방향을 동일하게 분할함으로써 구한 값 중 아직 선택하지 않은 값을 설정한다. 예를 들어, 주변 방향을 6개의 동일 부분으로 분할할 때에, 교정부(160)는 0°, 60°, 120°, 180°, 240°, 300°중의 하나를 설정한다. 교정부(160)는 ωSC의 초기값으로서, 미리 준비된 소정의 후보들로부터 φτ의 초기값과의 결합으로서 선택하지 않은 방위를 설정한다. 또한, 교정부(160)는 ωSO의 초기값으로서, 위에 설정된 φτ 및 ωSC의 초기값을 사용하여 다음과 같이 산출된 방위를 설정한다:
Figure 112008026145156-pat00001
여기서 RWSa τ, RWSb τ 및 R'CO τ의 각각은 (소정 시간 τ에서) 하나의 임의의 세트로부터 얻은 값을 나타낸다. 또한, ΔR(φτ)는 φτ에 의해 방위각 방향으로 회전을 추가하는(상대적 방위 오차의 보정) 3×3 회전 행렬을 나타내고, 다음과 같 이 정의된다:
Figure 112008026145156-pat00002
반면, R(ω)는 ω에 의해 판정되는 회전 행렬이며, 다음과 같이 정의된다:
Figure 112008026145156-pat00003
여기서 θ는 다음과 같이 정의된다:
Figure 112008026145156-pat00004
단계(S4030)에서, 교정부(160)는 데이터 리스트 L에 등록된 대응하는 각 정보과 관련된 지표의 화상 좌표의 이론값을 산출한다. 지표의 화상 좌표의 이론값은 가설이 촬상 장치(120)에 대한 실물체(125)의 위치 및 방위에 가설을 세울 때 촬상 화상에서 이 지표를 관찰하는 곳에서의 좌표를 가리킨다. 다음의 설명에서, 지표의 대상 좌표 xOi 및 화상 좌표 (실제 측정값) ui의 세트과 관련된 화상 좌표의 이론적인 값은 ui' 로서 기술된다. 심볼 i (i = 1,...,I)는 데이터 리스트 L에서 지표의 각 대응 정보로 배치되는 일련번호이고, I는 지표의 대응 정보의 총 수를 나타내는 것에 유념하자. 즉, I = Σττ를 갖는다.
ui'의 이론값은 다음의 식에 의한 변수로서 상태 벡터 s를 갖는 관찰 수학식 Fτi()에 기초하여 산출된다:
Figure 112008026145156-pat00005
여기서 τi는 i번째 대응하는 정보가 속하는 세트의 시간을 나타낸다. 관찰 수학식 Fτi()는 대상 좌표 xOi로부터 카메라 좌표 xci로의 변환, 카메라 좌표 xci로부터 화상 좌표 ui'로의 변환을 포함한다. 전자는 모델 뷰 변환이며, 다음에 의한 상태 벡터 s의 요소로서 ωSC, ωSO, tCO τi 및 φτi를 사용하여 정의된다:
Figure 112008026145156-pat00006
반면, 후자는 투영 변환이며, 다음과 같이 정의된다:
Figure 112008026145156-pat00007
여기서 fx 및 fy는 각각 x축 방향 및 y축 방향으로의 촬상 장치(120)의 초점 거리이고, 교정부(160)에 일정 값으로 미리 보유된다.
단계(S4040)에서 교정부(160)는 다음 식에 의해 실제 측정값으로 얻은 화상 좌표 ui와, 지표의 각 대응 정보에 대한 (즉, 모든 "i"에 대해) 대응하는 화상 좌표의 이론적 값 ui'간의 오차 Δui를 산출한다:
Figure 112008026145156-pat00008
단계(S4050)에서, 교정부(160)는 모든 "i"에 대해 상태 벡터와 관련된 화상자코비안(image Jacobian) Ji(=∂ui/∂s)을 산출한다. 화상 자코비안은 상태 벡터 s의 각 요소에 관하여 수학식 5에 의해 주어지는 관찰 수학식 Fτi()을 편미분함으로써 얻은 해(solution)를 요소로서 갖는 2행×(6+4T)열의 행렬(자코비안 행렬)이다. 특히, 교정부(160)는 우선, 카메라 좌표계 상에서 위치 벡터 xci의 각 요소에 관하여 수학식 7의 우측을 편미분함으로써 얻은 해를 요소로서 갖는 2행×3열의 자코비안 행렬 Ju _ xci (=∂ui/∂xci) 을 산출한다. 그 후, 교정부(160)는 상태 벡터 s의 각 요소에 관하여 수학식 6의 우측을 편미분함으로써 얻은 해를 요소로서 갖는 3행×(6+4T)열의 자코비안 행렬 Jxci _s (=∂xci/∂s)을 산출한다. 그 후에 교정부(160)은 다음과 같이 각 화상 자코비안을 산출한다:
Figure 112008026145156-pat00009
자코비안 행렬 Ju _ xci 의 미분 방법은 알려져 있으므로 자세한 설명은 생략할 것이다. 예를 들어, 미분 방법은 비특허 문헌 2 등에 개시되어 있다. 반면, Jxci _s는 다음과 같이 산출된다. 다음의 산출을 설명하기 위하여, 모델 뷰 변환을 나타내는 수학식 6이 다음의 네 수학식으로 분해된다:
Figure 112008026145156-pat00010
Figure 112008026145156-pat00011
Figure 112008026145156-pat00012
Figure 112008026145156-pat00013
이들 수학식에 따르면, JxCi _s는 다음과 같이 ωSC 및 (s'와 동등한)다른 요소와 관련된 두 행렬로 분해될 수 있다:
Figure 112008026145156-pat00014
여기서 JxCi SC는 ωSC에 대한 수학식 10의 편미분이며, 수학식 10 및 수학식 11로부터 도출될 수 있다:
Figure 112008026145156-pat00015
여기서 JxCi _ rWC τ는 RWC τi의 각 요소에 대한 수학식 10의 편미분이다. JrWC τ_ rSC는 R(ωsc)의 각 요소에 대한 수학식 11의 편미분이다. JrSC SC는 ωSC에 대한 R(ωSC)의 편미분이다. JxCi _ xWi는 xWi에 대한 수학식 10의 편미분이다. JxWi _s'는 s'에 대한 수학식 12의 편미분이고, 다음과 같이 s'의 각 요소로 분해된다:
Figure 112008026145156-pat00016
여기서 JxWi SO는 ωSO에 대한 수학식 12의 편미분이고, 수학식 12 및 수학식 13으로부터 도출될 수 있다:
Figure 112008026145156-pat00017
여기서 JxWi _ rWO τ는 RWO τi의 각 요소에 대한 수학식 12의 편미분이다. JrWO τ_ rSO 는 R(ωSO)의 각 요소에 대한 수학식 13의 편미분이다. JrSO _ωSO는 ωSO에 대한 R(ωSO)의 편미분이다. JxWi _tτ는 tCO τi에 대한 수학식 12의 편미분이고, 수학식 12에 의해 도출될 수 있다:
Figure 112008026145156-pat00018
Figure 112008026145156-pat00019
반면, JxWi _φτ는 φτi에 대한 수학식 12의 편미분이고, 수학식 12 및 수학식 13으로부터 도출될 수 있다:
Figure 112008026145156-pat00020
Figure 112008026145156-pat00021
여기서, JrWO τ_Δrτ는 R(φτi)의 각 요소에 대한 수학식 13의 편미분이다. JΔrτ_φτ는 φτi에 대한 R(φτi)의 편미분이다.
이들 자코비안 행렬을 차례로 산출함으로써 JxCi _s를 산출할 수 있다. 산출의 나머지 부분은 일반적인 편미분에 의해 행해질 수 있으므로 이에 대한 설명은 생략 할 것이다.
단계(S4060)에서, 교정부(160)는 전술한 단계에서 산출한 모든 "i"에 대한 오차 Δui 및 자코비안 행렬 Ji에 기초하여 보정값 Δs를 산출한다. 특히, 교정부(160)는 모든 "i"에 대한 오차 Δui를 수직으로 배열한 오차 벡터 U 및 모든 "i"에 대한 자코비안 행렬 Ji를 수직으로 배열한 행렬 Φ를 생성하고, 다음과 같이 Δs를 산출한다:
Figure 112008026145156-pat00022
여기서 Φ+는 Φ의 의사 역행렬이고, 예컨대 Φ+ = (ΦTΦ)-1ΦT에 의해 산출될 수 있다. Φ+는 임의의 다른 방법에 의해 도출될 수 있다.
전술한 단계(S4060)의 처리에서의 보정값 산출은 하나의 비선형 최적화 방법과 같은 가우스-뉴톤 방법(Gauss-Newton method)의 적용에 대응한다는 것에 유념하자. 오차 벡터 U 및 자코비안 행렬 Φ을 사용한 보정값 산출이 가우스-뉴톤 방법에 부가적으로 제안되었고, 예컨대 레벤버그-마커트 방법(Levenberg-Marquardt method), 최대하강방법(steepest descent method) 등을 사용할 수 있다. 특이점을 제외하는 M-측정과 같은 로버스트 측정(robust estimation) 방법 등이 결합될 수 있고, 임의의 다른 해결방법이 사용될 수 있다.
단계(S4070)에서, 다음과 같이 교정부(160)는 단계(S4060)에서 산출된 보정 값 Δs를 사용하여 상태 벡터 s를 보정하고, 산출된 값은 새로운 s로 설정한다:
Figure 112008026145156-pat00023
단계(S4080)에서, 교정부(160)는 단계(S4030)와 동일한 처리에 의해 갱신된 상태 벡터 s를 사용하여 지표의 대응하는 각 정보에 대한 화상 좌표의 이론값을 산출한다.
단계(S4090)에서, 교정부(160)는 단계(S4040)와 동일한 처리에 의해 갱신된 상태 벡터 s를 사용하여 지표의 대응하는 각 정보에 대한 화상 좌표의 실제 측정값과 이론값 간의 오차 Δui를 산출한다.
단계(S4100)에서, 교정부(160)는 반복 처리의 계속 여부를 소정 기준을 사용하여 판정한다. 교정부(160)가 더 이상의 반복 처리가 필요치 않다고 판정하는 경우, 처리는 단계(S4110)로 진행된다. 반면, 교정부(160)가 반복 처리가 계속될 것을 판정하는 경우에는, 갱신된 s를 사용하여 다시 단계(S4050) 내지 단계(S4090) 처리를 수행한다.
반복 처리를 계속할지의 여부는, 예컨대 산출이 수렴 또는 발산하는지의 여부를 검사함으로써 판정된다. 산출이 수렴도 발산도 하지 않는다고 판정되면, 반복 처리는 계속된다. 반면, 산출이 수렴 또는 발산하는 것으로 판정되는 경우, 반복 처리는 종료된다. 수렴 또는 발산의 판정 시에, 반복 처리는 항상 소정의 횟수로 실행될 수 있다. 수렴 또는 발산은 단계(S4090)에서 갱신된 오차 벡터 U의 크 기를 검사함으로써 판정될 수 있다. 예를 들어, 오차 벡터 U의 크기가 소정의 임계치보다 작은지의 여부, 또는 오차 벡터 U의 크기의 변화량이 소정의 임계치보다 작은지의 여부에 대한 기준을 이용하여 수렴이 판정될 수 있다. 이들 파라미터의 모두가 임계치보다 작다면, 처리는 종료로 판정된다.
또한, 오차 벡터 U의 크기가 전체적으로 증가하는 중인지의 여부, 또는 오차 벡터 U의 크기가 소정의 임계치보다 큰 지의 여부에 대한 기준을 이용하여 발산이 판정될 수 있다. 또한, 수렴 판정은 오차 벡터 Δs의 크기에 기초하여 행해질 수 있다.
반복 산출은 통상적으로 반복 산출의 종료 조건을 사용하여 한정된 횟수로 행해지므로, 이에 대한 더이상의 설명은 하지 않을 것이다.
단계(S4110)에서, 교정부(160)는 단계(S4020)에서 설정한 초기값에 대해 행해진 최적화 산출(단계 S4030 내지 단계 S4110)이 성공했는 지의 여부를 검사한다. 특히, 단계(S4090)에서 갱신된 오차 벡터 U의 크기가 소정의 임계치와 동일하거나 또는 보다 작은 경우, 교정부(160)는 최적화 산출이 성공한 것으로 판정한다. 교정부(160)가 최적화 산출이 실패한 것으로 판정한다면, 처리는 단계(S4020)로 복귀한다. 교정부(160)는 상태 벡터의 초기값으로 다른 후보를 재설정하고, 후속된 최적화 산출(단계 S4030 내지 단계 S4100)을 다시 실행한다. 교정부(160)가 최적화 산출이 성공한 것으로 판정하는 경우, 처리는 종료된다.
전술한 처리로써 촬상 장치(120) 및 실물체(125)에 장착된 방위 센서를 쉽고 정확하게 교정할 수 있다. 또한, 미리 초기값 및 중력축 방향을 입력할 필요가 없 다.
[제2 실시예]
제1 실시예에서는 방위 센서(110)가 촬상 장치(120) 상에 장착된다. 그러나, 실물체(125)에 장착된 방위 센서의 배치 정보를 측정하는 목적만을 고려시에, 촬상 장치(120)상에 방위 센서(110)를 항상 장착할 필요는 없다. 본 실시예는 촬상 장치(120)상에 방위 센서를 장착하지 않은 시스템을 설명할 것이다.
도 5는 본 실시예에 따라 센서 교정 장치를 갖는 시스템의 기능적 구성을 도시하는 블록도이다. 도 1의 참조번호와 동일한 도 5의 참조번호는 동일한 구성요소를 의미하므로, 반복적인 설명은 생략할 것이다. 도 5에 도시된 구성은 다음의 세 가지 점에서 도 1의 구성과 상이하다.
· 촬상 장치(120)상에 방위 센서가 장착되지 않는다.
· 촬상 장치(120)의 방위는 삼각대(5000)에 의해 고정된다.
· 방위 취득부(165)가 센서 교정 장치(500)에 새롭게 추가된다.
이하, 이들 세 가지 사항들을 주로 설명할 것이다. 물론, 아래에 기술되는 사항들 외의 구성은 제1 실시예의 구성과 동일하다.
촬상 장치(120)를 삼각대(5000)상에 설정한다. 촬상 장치(120)의 방위 RWC를 미리 측정하고, 데이터로서 외부 메모리(599)에 보유시킨다. 촬상 장치(120)의 방위 RWC를 측정하기 위하여, 세계 좌표계 상의 3D 위치가 주어진 소정 지표를 현실 공간에 배치하여 촬상 장치(120)로 촬상한다. 그 후, 지표의 화상 좌표를 검출하 고, 지표의 화상 좌표와 세계 좌표 간의 일치에 기초하여 세계 좌표계 상의 촬상 장치(120)의 방위를 산출한다. (중력축에 반대되는 방향을 나타내는) 중력축 대한 카메라 좌표계의 경사는 촬상 장치(120)의 방위 RWC로서 얻을 수 있다는 것에 유념하자. 즉, 세계 좌표계 상의 방위는 임의의 방향과 일치할 수 있고, Y축은 중력축의 반대 방향과 일치할 필요가 있다.
방위 취득부(165)는 외부 메모리(599)에 보유된 촬상 장치(120)의 방위 RWC 데이터를 판독한다. 후속 처리는 제1 실시예에서 방위 센서(100)의 방위 측정값 RWSaτ을 방위 RWC 로 치환함으로써 행해진다. 또한, 제1 실시예에서 도출되는 방위 센서(110)의 배치 정보 ωSC가 일정 단위 행렬로서 간주될 수 있다.
후속 처리는 제1 실시예와 동일하다. 제1 실시예와 다른 점은 ωSC와 관련된 구성요소가 상태 벡터 s 및 자코비안 행렬 Ji로부터 배제된다는 것이다. 그 후, 제1 실시예의 최적화 산출과 동일한 처리가 이 새로운 s에 대해 수행된다. ωSC가 주어지므로, 단계(S4020)에서 설정할 초기값 결합은 단지 φ에 기초하여 판정한다. 즉, φ의 초기값으로 소정 각을 선택함으로써, 수학식 1에 의해 고유하게 ωSO의 초기값을 판정한다.
방위 RWC를 임의의 수단에 의해 측정할 수 있는 한, 촬상 장치(120)를 항상 고정시킬 필요는 없다는 점에 유념하자. 예를 들어, 세계 좌표계 상에서 지표를 관찰함으로써, 촬상 장치(120)의 방위를 계속 측정할 수 있다. 대안적으로, 자기 센서, 광학 센서 등의 센서를 촬상 장치(120) 상에 장착하여 위치 및 방위를 측정할 수 있다.
<변형 1>
전술한 실시예에서는 각각이 (이하 포인트 지표로서 언급할) 하나의 좌표 위치를 나타내는 지표를 사용한다. 그러나, 포인트 지표외의 지표를 사용할 수도 있다. 예를 들어 (이하 라인 지표로 언급할) 에지와 같은 라인 특징로 구성되는 지표를 사용할 수 있다.
이하, 라인 지표를 사용하는 경우의 처리에 대한 개요를 설명할 것이다. 라인 특징을 사용하는 경우에서도, 상기 메카니즘을 적용할 수 있다. 그 메카니즘은 복수의 시각에서의 지표의 정보 및 각 방위 측정값을 입력하고, 기준으로서 지표의 투영 오차를 사용하여 상태 벡터 s를 최적화하는 것이다. 라인 지표를 사용하는 경우, 화상 처리부(135)는, 예를 들어 비특허 문헌 3에 개시된 방법에 의해 실물체(125)의 위치 및 방위를 측정한다.
교정부(160)는 상태 벡터가 s일 때에 라인 지표상에서 (이하 분할 포인트(division points)로서 언급될) 소정 포인트가 관찰되는 화상 좌표의 이론값을 산출한다. 그 후, 교정부(160)는 분할 포인트의 오차로서, 이들 화상 좌표의 부근에서 실제 검출될 에지까지 수직인 방향으로 거리(실제 측정값)를 정의한다. 그 후, 교정부(160)는 모든 분할 포인트와 연관된 오차를 이용하여 오차 벡터 U를 형성한다. 반면, 교정부(160)는 s의 각 요소에 대한 상태 벡터 s의 함수로서 정의되 는 오차의 유도 방정식을 편미분하고, 이들 해를 요소로서 갖는 1 행×(6+4T) 열의 자코비안 행렬 Φ을 형성한다.
그 후, 교정부(160)는 이러한 방식으로 얻은 오차 벡터 U 및 자코비안 행렬 Φ를 사용하여 전술한 실시예에서와 같이 동일한 최적화 산출을 실행함으로써, 배치 정보를 산출한다. 물론, 이들 특징은 라인 지표, 포인트 지표 및 다른 지표로부터 얻은 오차 및 화상 자코비안을 누적시킴으로써 결합하여 사용될 수 있다.
<변형 2>
전술한 실시예의 교정부(160)의 최적화 산출에서, 시간 τ에서 실물체(125)의 위치 tCO τ는 알려져 있지 않다. 그러나, 데이터 리스트 L에서 보유되는 각 시간 τ에서 실물체(125)의 위치 측정값 t'CO τ는 최적화 산출 처리에서 일정 값으로서 처리될 수 있다. 이 경우에, 전술한 실시예와 다른 점은 tCO τ와 관련된 구성요소가 상태 벡터 s 및 자코비안 행렬 Ji로부터 배제될 수 있다는 것이다. 예를 들어, 제1 실시예에서 상태 벡터 s는 s = [ωSC ωSO φ1 ... φτ... φT]T와 같이 정의된다. 그 후, 전술한 실시예에서의 최적화 산출과 동일한 처리가 이 s에 대해 수행된다.
전술한 실시예는 각 방위 센서의 상대적 방위 오차가 교정부(160)의 최적화 산출에서 각 시간에서 상이하다는 가정하에 구현된다. 그러나, 상대적 방위 오차는 교정을 위한 데이터를 취득하는 짧은 시간 주기 내에 일정하다고 가정할 수 있다. 예를 들어, 제1 실시예의 경우에 상태 벡터 s는 s = [ωSC ωSO φ tCO1 ...tCO τ ... tCOT]T와 같이 정의될 수 있다. 그 후, 이 s에 대해 전술한 실시예의 최적화 산출과 동일한 처리가 수행된다. φ는 시간 τ와 독립적인 상대적 방위 오차의 보정값을 나타낸다는 점에 유념하자.
물론, 미지의 파라미터인 s = [ωSC ωSO φ]T를 사용한 최적화 산출은 이 변형에 기술한 모든 가정하에서 행해질 수 있다.
<변형 3>
제1 실시예에서는 방위 센서(110)의 배치 정보와 방위 센서(115)의 배치 정보를 동시에 산출한다. 그러나, 적어도 하나의 방위 센서가 이미 교정되었다면, 교정된 방위 센서의 배치 정보는 일정할 수 있다. 이 경우, 교정부(160)의 처리(단계 S3060)만을 변형할 필요가 있다.
이제, 방위 센서(115)가 이미 교정되었고, 단지 방위 센서(110)을 아직 교정하지 않은 경우를 검토할 것이다. 이 경우에, 방위 센서(115)의 배치 정보 ωSO가 주어지므로, ωSO와 관련된 구성요소는 제1 실시예의 변형으로서 상태 벡터 s 및 자코비안 행렬 Ji로부터 배제될 수 있다. 그 후, 제1 실시예에서의 최적화 산출과 동일한 처리가 이 s에 대해 수행된다. ωSO가 주어질 때, ωSC는 다음과 같이 단계(S4020)에서 산출될 수 있다:
Figure 112008026145156-pat00024
이 때, φ의 초기값으로서 소정 각을 선택한 경우, ωSC의 초기값은 수학식 24에 의해 고유하게 판정될 수 있다.
다음, 방위 센서(110)가 이미 교정되었고, 방위 센서(115)만이 아직 교정되지 않은 경우를 설명할 것이다. 이 경우에, 방위 센서(110)의 배치 정보 ωSC가 주어지므로, ωSC와 관련된 구성요소는 제2 실시예에서와 같이, 제1 실시예의 상태 벡터 s 및 자코비안 행렬 Ji로부터 배제될 수 있다.
<변형 4>
전술한 실시예에서, 방위 센서(110, 115)는 세 축의 방위를 측정한다. 그러나, 이들 방위 센서가 중력축에 대한 두 축의 경사각만을 측정하는 센서(이런 센서는 통상적으로 경사 센서라고 명명함)일지라도, 각 방위 센서의 배치 정보는 동일한 방법에 의해 산출될 수 있다. 이 경우에, 최적화 처리에서 파라미터는 φτ는 상대적 방위 오차의 보정값 대신에 촬상 장치(120)와 실물체(125) 간의 상대적 방위각의 차이를 나타낸다.
<변형 5>
전술한 실시예에서, 지표는 화상 처리에 의해 검출 및 식별된다. 그러나, 물체 좌표계 상의 위치가 일정한 지표를 준비하는 것은 때로는 어려우며, 실물 체(125)의 형태 또는 환경의 형태에 따라 화상 처리에 의해 검출 및 식별될 수 있다. 이러한 경우, 각 지표 정보를 수동으로 입력할 수 있다. 즉, 오퍼레이터가 마우스 등의 포인팅 장치를 사용하여 모니터상에 표시된 촬상 화상에 지표의 화상 좌표를 입력하고, 또한, 지표의 식별 번호를 입력할 수 있다. 이 방법은 물체 좌표계 상에서 위치가 일정한 지점(포인트) 및, 화상에 시각적으로 특정될 수 있는 위치가 있는 경우에 효과적이다.
지표의 검출만이 화상 처리에 의해 구현될 수 있을 때, 오퍼레이터는 식별 처리만을 수동으로 수행할 수 있다. 대안적으로, 오퍼레이터는 화상 처리에 의해 검출 및/또는 식별되는 지표의 교정 오차를 수동으로 보정할 수 있다. 또한, 화상 처리로 검출 및/또는 식별할 지표와, 수동 입력으로 검출 및/또는 식별할 지표를 결합하여 사용할 수 있다.
<제3 실시예>
전술한 설명에서, 도 1 또는 도 5에 도시된 센서 교정 장치(100 또는 150)를 구성하는 모든 유닛은 하드웨어 구성요소에 의해 구현된다. 그러나, 데이터를 보유하는 구성요소를 제외한 소정 또는 모든 유닛은 소프트웨어(컴퓨터 프로그램)에 의해 구현될 수 있다. 이 경우에, 이러한 소프트웨어는 PC(개인 컴퓨터) 등의 컴퓨터의 메모리로 로딩되고, 이 컴퓨터의 CPU는 그 소프트웨어를 실행한다. 그 결과, 컴퓨터는 도 1 또는 도 5에 도시된 센서 교정 장치(100 또는 500)와 동일한 처리를 수행할 수 있다.
도 2는 센서 교정 장치(100 및 500)에 적용할 수 있는 컴퓨터의 하드웨어 구 성을 도시하는 블록도이다.
CPU(1001)는 RAM(102) 및 ROM(1003)에 저장된 프로그램 및 데이터를 사용하여 전반적인 컴퓨터를 제어하고, 이 컴퓨터가 적용되는 센서 교정 장치(100 또는 500)에 의해 구현될 전술한 처리를 실행한다.
RAM(1002)은 외부 장치(1007) 또는 저장 매체 드라이브(1008)로부터 로딩되고, I/F(인터페이스)(1009)를 통해 외부적으로 수신한 프로그램 및 데이터를 일시적으로 저장하기 위한 영역을 갖는다. 또한, RAM(1002)은 CPU(1001)가 다양한 처리를 수행할 때 사용한 작업 영역을 갖는다. 즉, RAM(1002)은 필요에 따라 다양한 영역을 제공할 수 있다.
ROM(103)은 이 컴퓨터의 설정 데이터, 부팅 데이터 등을 저장한다.
키보드(1004) 및 마우스(1005)는 CPU(1001)로 다양한 지시를 입력하기 위해 이 컴퓨터의 오퍼레이터에 의해 사용되는 입력 장치의 예이다. 다른 입력 장치를 사용할 수도 있다. 예를 들어, 오퍼레이터는 키보드(1004) 및/또는 마우스(1005)를 사용하여 지시부(150)에 명령을 입력한다.
표시부(1006)는 표시부(190)에 대응하며, CRT, 액정 디스플레이 등을 포함한다. 표시부(1006)는 화상, 문자 등에 의해 CPU(1001)의 처리 결과를 표시할 수 있다. 예를 들어, 표시부(1006)는 전술한 바와 같이 촬상 화상 및 가상 물체의 화상을 합성함으로써 얻은 화상을 표시할 수 있다.
외부 저장 장치(1007)는 하드 디스크 드라이브에 의해 대표되는 대용량 정보 저장 장치이다. 외부 저장 장치(1007)는 OS(운영체제)와, CPU(1001)로 하여금 센 서 교정 장치(100 또는 500)에 의해 구현될 각 처리를 실행토록 하기 위한 프로그램 및 데이터를 저장한다. 또한, 외부 저장 장치(1007)는 전술한 실시예에 기술된 주어진 정보를 저장한다.
외부 저장 장치(1007)에 저장된 프로그램 및 데이터는 필요에 따라 CPU(1001)의 제어 하에 RAM(1002)으로 로딩된다. CPU(1001)는 로딩된 프로그램 및 데이터를 사용하여 처리를 실행하고, 이에 따라 이 컴퓨터는 센서 교정 장치(100, 500)에 의해 구현할 전술한 처리를 실행한다.
저장 매체 드라이브(1008)는 CD-ROM, DVD-ROM 등의 저장 매체 상에 기록된 프로그램 및 데이터를 판독하고, 판독한 프로그램 및 데이터를 RAM(1002) 또는 외부 저장 장치(1007)에 출력한다. 이러한 저장 매체는 전술한 설명에서 외부 저장 장치(1007)에 저장된 소정 정보를 기록할 수 있다. 저장 매체는 외부 메모리(599)로서 기능할 수 있다.
방위 센서(110, 115) 및 촬상 장치(120)는 I/F(1009)에 접속된다. I/F(1009)는 후속하는 복수의 서로 다른 포트로 구성된다. 촬상 화상을 촬상하는 촬상부(130)의 소정 기능은 IEEE1394 등의 디지털 입력/출력 포트 또는 아날로그 비디오 포트에 의해 구현된다. 방위 측정값 취득부(145)의 소정 기능은 USB 포트 또는 RS-232C 포트에 의해 구현된다. 입력 데이터는 I/F(1009)를 통해 RAM(1002) 또는 외부 저장 장치(1007)로 인출된다. 교정부(160)에 의해 산출되는 각 방위 센서의 배치 정보, 방위 산출부(170)에 의해 산출되는 대상의 위치 및 방위는 필요에 따라 EthernetTM 포트 등을 통해 외부에 출력된다(I/F(1009)의 일부 기능).
참조번호(1010)는 전술한 유닛을 상호접속하는 버스(bus)를 나타낸다.
센서 교정 장치(100 또는 500)에 적용가능한 컴퓨터의 하드웨어 구성은 도 2에 도시된 구성로 한정되지 않으며, 당업자는 필요에 따라 이러한 하드웨어 구성을 변형할 수 있을 것이다.
[그 외 실시예]
본 발명의 목적은 다음과 같이 달성될 수 있다. 즉, 전술한 실시예의 기능을 구현할 수 있는 소프트웨어의 프로그램 코드를 기록하는 기록 매체(또는 저장 매체)를 시스템 또는 장치에 제공한다. 물론, 저장 매체는 컴퓨터 판독 가능한 매체이다. 시스템 또는 장치의 컴퓨터(또는 CPU 또는 MPU)는 기록 매체에 저장된 프로그램 코드를 판독 및 실행한다. 이 경우, 기록 매체로부터 판독한 프로그램 코드 자체는 전술한 실시예의 기능을 구현하고, 프로그램 코드를 기록한 기록 매체는 본 발명을 구성한다.
컴퓨터가 프로그램 코드를 판독할 때, 운영체제(OS) 등은 이 프로그램 코드의 명령에 기초하여 실제 처리 동작을 전부 또는 일부 수행한다. 또한, 본 발명은 전술한 실시예의 기능이 이 처리에 의해 구현되는 경우를 포함한다.
또한, 기록 매체로부터 판독한 프로그램 코드가 컴퓨터에 삽입되거나 또는 접속되는 기능 확장부 또는 기능 확장 카드의 메모리에 기록된다고 가정한다. 그 후, 전술한 실시예의 기능은 프로그램 코드의 명령에 기초하여 기능 확장부 또는 기능 확장 카드에 구성된 CPU 등에 의해 실행되는 모든 또는 소정의 실제 처리 동작에 의해 구현된다.
본 발명은 전술한 흐름도에 대응하는 프로그램 코드를 저장한 기록 매체에 적용된다.
본 발명은 실시예를 참조하여 설명되었지만 개시된 실시예로 제한되지는 않는다는 것을 알아야 할 것이다. 첨부된 특허청구범위의 범주는 이러한 모든 변형 및 등가의 구조 및 기능을 포함하도록 폭넓은 해석을 허용한다.
도 1은 본 발명의 제1 실시예에 따른 센서 교정 장치를 갖는 시스템의 기능 구성을 도시하는 블록도.
도 2는 센서 교정 장치(100 또는 500)에 적용될 수 있는 컴퓨터의 하드웨어 구성을 도시하는 블록도.
도 3은 센서 교정 장치(100)에 의해 실행되는 주 처리의 흐름도.
도 4는 단계(S3060)의 처리를 상세히 도시하는 흐름도.
도 5는 본 발명의 제2 실시예에 따른 센서 교정 장치를 갖는 시스템의 기능 구성을 도시하는 블록도.
<도면의 주요 부분에 대한 부호의 설명>
100: 센서 교정 장치
110, 115: 방위 센서
120: 촬상 장치
125: 실물체
145: 방위 측정값 취득부
160: 교정부
170: 위치 및 방위 산출부
180: 화상 생성부

Claims (10)

  1. 정보 처리 장치로서,
    촬상 장치(image capturing apparatus) 상에 장착된 촬상 장치용 방위 센서(orientation sensor)에 의해 측정되는 방위 측정값과, 상기 촬상 장치에 의해 촬상될 실물체(physical object) 상에 장착된 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하도록 구성되는 방위 측정값 취득부;
    상기 촬상 장치에 의해 촬상된 상기 실물체의 화상을 취득하도록 구성되는 화상 취득부;
    상기 실물체에 배치된 지표의 상기 화상 상에서의 화상 좌표를 취득하도록 구성되는 화상 좌표 취득부; 및
    상기 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값, 상기 실물체용 방위 센서에 의해 측정되는 방위 측정값, 및 상기 화상 좌표를 이용하여, 상기 실물체에 대한 상기 실물체용 방위 센서의 배치 정보를 산출하도록 구성되는 산출부
    를 포함하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 방위 측정값 취득부는, 상기 촬상 장치 및 상기 실물체가 복수의 서로 다른 방위를 취할 때마다, 상기 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과 상기 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하고,
    상기 화상 취득부는, 상기 촬상 장치 및 상기 실물체가 상기 복수의 서로 다른 방위를 취할 때마다, 상기 촬상 장치에 의해 촬상되는 화상을 취득하고,
    상기 화상 좌표 취득부는 상기 화상 취득부에 의해 취득한 화상들 각각으로부터 상기 지표의 화상 좌표들을 취득하고,
    상기 산출부는, 상기 촬상 장치 및 상기 실물체가 상기 복수의 서로 다른 방위를 취할 때마다 취득한, 상기 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과, 상기 실물체용 방위 센서에 의해 측정되는 방위 측정값과, 상기 촬상 장치에 의해 촬상된 화상으로부터 취득한 상기 지표의 화상 좌표를 이용하여, 상기 실물체에 대한 상기 실물체용 방위 센서의 배치 정보를 산출하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 산출부는 상기 배치 정보에 기초하여 판정된 화상 상의 지표의 좌표들과 상기 지표와 대응하는 상기 화상 좌표 취득부에 의해 취득한 화상 좌표들 간의 오차를 감소시키도록 상기 실물체에 대한 상기 실물체용 방위 센서의 배치 정보를 산출하는 정보 처리 장치.
  4. 제1항에 있어서,
    상기 산출부에 의해 산출되는 상기 배치 정보에 기초하여 가상 물체의 화상을 생성하도록 구성되는 유닛;
    상기 촬상 장치에 의해 촬상된 화상 위에 상기 가상 물체의 화상을 중첩시킴으로써 얻어지는 중첩 화상을 생성하도록 구성되는 유닛; 및
    상기 중첩 화상을 표시하도록 구성되는 유닛
    을 더 포함하는 정보 처리 장치.
  5. 정보 처리 장치로서,
    실물체 상에 장착된 방위 센서에 의해 측정되는 방위 측정값을 취득하도록 구성되는 방위 측정값 취득부;
    촬상 장치에 의해 촬상된 상기 실물체의 화상을 취득하도록 구성되는 화상 취득부;
    상기 실물체에 배치된 지표의 상기 화상 상에서의 화상 좌표를 취득하도록 구성되는 화상 좌표 취득부; 및
    상기 촬상 장치의 방위에 관련하여 제공된 정보, 상기 방위 센서에 의해 측정되는 방위 측정값, 및 상기 화상 좌표를 이용하여, 상기 실물체에 대한 방위 센서의 배치 정보를 산출하도록 구성되는 산출부
    를 포함하는 정보 처리 장치.
  6. 제5항에 있어서,
    상기 산출부에 의해 산출된 상기 배치 정보에 기초하여 가상 물체의 화상을 생성하도록 구성되는 유닛;
    상기 촬상 장치에 의해 촬상된 화상 위에 상기 가상 물체의 화상을 중첩시킴으로써 얻어지는 중첩 화상을 생성하도록 구성되는 유닛; 및
    상기 중첩 화상을 표시하도록 구성되는 유닛
    을 더 포함하는 정보 처리 장치.
  7. 정보 처리 방법으로서,
    촬상 장치 상에 장착된 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과, 상기 촬상 장치에 의해 촬상될 실물체 상에 장착된 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
    상기 촬상 장치에 의해 촬상된 상기 실물체의 화상을 취득하는 단계;
    상기 실물체에 배치된 지표의 상기 화상 상에서의 화상 좌표를 취득하는 단계; 및
    상기 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값, 상기 실물체용 방위 센서에 의해 측정되는 방위 측정값, 및 상기 화상 좌표를 이용하여, 상기 실물체에 대한 상기 실물체용 방위 센서의 배치 정보를 산출하는 단계
    를 포함하는 정보 처리 방법.
  8. 정보 처리 방법으로서,
    실물체 상에 장착된 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
    촬상 장치에 의해 촬상된 상기 실물체의 화상을 취득하는 단계;
    상기 실물체에 배치된 지표의 상기 화상 상에서의 화상 좌표를 취득하는 단계; 및
    상기 촬상 장치의 방위와 관련하여 제공된 정보, 상기 방위 센서에 의해 측정되는 방위 측정값, 및 상기 화상 좌표를 이용하여, 상기 실물체에 대한 상기 방위 센서의 배치 정보를 산출하는 단계
    를 포함하는 정보 처리 방법.
  9. 컴퓨터로 하여금 정보 처리 방법을 실행하게 하기 위한 컴퓨터 프로그램을 기억하는 컴퓨터 판독 가능한 기억 매체로서,
    상기 정보 처리 방법은,
    촬상 장치 상에 장착된 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값과, 상기 촬상 장치에 의해 촬상될 실물체 상에 장착된 실물체용 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
    상기 촬상 장치에 의해 촬상된 상기 실물체의 화상을 취득하는 단계;
    상기 실물체에 배치된 지표의 상기 화상 상에서의 화상 좌표를 취득하는 단계; 및
    상기 촬상 장치용 방위 센서에 의해 측정되는 방위 측정값, 상기 실물체용 방위 센서에 의해 측정되는 방위 측정값, 및 상기 화상 좌표를 이용하여, 상기 실물체에 대한 상기 실물체용 방위 센서의 배치 정보를 산출하는 단계
    를 포함하는 컴퓨터 프로그램을 기억하는 컴퓨터 판독 가능한 기억 매체.
  10. 컴퓨터로 하여금 정보 처리 방법을 실행하게 하기 위한 컴퓨터 프로그램을 기억하는 컴퓨터 판독 가능한 기억 매체로서,
    상기 정보 처리 방법은,
    실물체 상에 장착된 방위 센서에 의해 측정되는 방위 측정값을 취득하는 단계;
    촬상 장치에 의해 촬상된 상기 실물체의 화상을 취득하는 단계;
    상기 실물체에 배치된 지표의 상기 화상 상에서의 화상 좌표를 취득하는 단계; 및
    상기 촬상 장치의 방위와 관련하여 제공된 정보, 상기 방위 센서에 의해 측정되는 방위 측정값, 및 상기 화상 좌표를 이용하여, 상기 실물체에 대한 상기 방위 센서의 배치 정보를 산출하는 단계
    를 포함하는 컴퓨터 프로그램을 기억하는 컴퓨터 판독 가능한 기억 매체.
KR1020080033934A 2007-04-12 2008-04-11 정보 처리 장치 및 정보 처리 방법 KR100934564B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00105249 2007-04-12
JP2007105249A JP2008261755A (ja) 2007-04-12 2007-04-12 情報処理装置、情報処理方法

Publications (2)

Publication Number Publication Date
KR20080092879A KR20080092879A (ko) 2008-10-16
KR100934564B1 true KR100934564B1 (ko) 2009-12-30

Family

ID=39575619

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080033934A KR100934564B1 (ko) 2007-04-12 2008-04-11 정보 처리 장치 및 정보 처리 방법

Country Status (5)

Country Link
US (1) US7970576B2 (ko)
EP (1) EP1980820B1 (ko)
JP (1) JP2008261755A (ko)
KR (1) KR100934564B1 (ko)
CN (1) CN101286234B (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4960754B2 (ja) * 2007-04-25 2012-06-27 キヤノン株式会社 情報処理装置、情報処理方法
JP4956456B2 (ja) * 2008-02-05 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
US8138938B2 (en) * 2008-10-28 2012-03-20 The Boeing Company Hand-held positioning interface for spatial query
US8754886B2 (en) * 2008-12-29 2014-06-17 Intel Corporation Systems and methods for transporting physical objects from real physical life into virtual worlds
JP5434608B2 (ja) * 2010-01-08 2014-03-05 トヨタ自動車株式会社 測位装置及び測位方法
WO2011163454A1 (en) 2010-06-25 2011-12-29 Trimble Navigation Ltd. Method and apparatus for image-based positioning
US9109889B2 (en) * 2011-06-24 2015-08-18 Trimble Navigation Limited Determining tilt angle and tilt direction using image processing
EP2600109A3 (en) * 2011-11-30 2015-03-25 Sony Ericsson Mobile Communications AB Method for calibration of a sensor unit and accessory comprising the same
JP5728372B2 (ja) * 2011-11-30 2015-06-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
EP2789161B1 (en) 2011-12-09 2016-05-25 Hewlett-Packard Development Company, L.P. Generation of images based on orientation
US9602718B2 (en) 2012-01-06 2017-03-21 Blackberry Limited System and method for providing orientation of a camera
US20140123507A1 (en) 2012-11-02 2014-05-08 Qualcomm Incorporated Reference coordinate system determination
JP6417696B2 (ja) * 2014-03-31 2018-11-07 富士通株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP6360389B2 (ja) * 2014-08-25 2018-07-18 日本放送協会 映像提示装置及びプログラム
EP3262443B1 (en) * 2015-02-26 2023-05-03 Brüel & Kjaer Sound & Vibration Measurement A/S Method of detecting a spatial orientation of a transducer by one or more spatial orientation features
JP6477130B2 (ja) * 2015-03-27 2019-03-06 セイコーエプソン株式会社 インタラクティブプロジェクター及びインタラクティブプロジェクションシステム
CN106780425B (zh) * 2015-11-24 2020-05-22 核动力运行研究所 一种vver蒸汽发生器传热管涡流检测系统定位方法
CN109459586A (zh) * 2018-12-05 2019-03-12 智灵飞(北京)科技有限公司 一种基于lm算法的无人机加速度计标定方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005326275A (ja) * 2004-05-14 2005-11-24 Canon Inc 情報処理方法および装置
KR20060031871A (ko) * 2003-07-24 2006-04-13 올림푸스 가부시키가이샤 정보 제시 방법 및 정보 제시 시스템
JP2006292417A (ja) * 2005-04-06 2006-10-26 Canon Inc 位置姿勢計測方法及び装置
JP2007033257A (ja) 2005-07-27 2007-02-08 Canon Inc 情報処理方法および装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1349114A3 (en) * 2002-03-19 2011-06-15 Canon Kabushiki Kaisha Sensor calibration apparatus, sensor calibration method, program, storage medium, information processing method, and information processing apparatus
US7676079B2 (en) * 2003-09-30 2010-03-09 Canon Kabushiki Kaisha Index identification method and apparatus
JP4593968B2 (ja) * 2004-05-14 2010-12-08 キヤノン株式会社 位置姿勢計測方法および装置
JP4533193B2 (ja) * 2004-05-14 2010-09-01 キヤノン株式会社 情報処理装置および情報処理方法
JP4914038B2 (ja) * 2004-11-04 2012-04-11 キヤノン株式会社 情報処理方法および装置
JP4916167B2 (ja) * 2005-12-15 2012-04-11 キヤノン株式会社 指標識別方法及び指標識別装置
JP4739004B2 (ja) * 2005-12-15 2011-08-03 キヤノン株式会社 情報処理装置及び情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060031871A (ko) * 2003-07-24 2006-04-13 올림푸스 가부시키가이샤 정보 제시 방법 및 정보 제시 시스템
JP2005326275A (ja) * 2004-05-14 2005-11-24 Canon Inc 情報処理方法および装置
JP2006292417A (ja) * 2005-04-06 2006-10-26 Canon Inc 位置姿勢計測方法及び装置
JP2007033257A (ja) 2005-07-27 2007-02-08 Canon Inc 情報処理方法および装置

Also Published As

Publication number Publication date
EP1980820A2 (en) 2008-10-15
CN101286234A (zh) 2008-10-15
US7970576B2 (en) 2011-06-28
CN101286234B (zh) 2012-05-09
US20080255789A1 (en) 2008-10-16
EP1980820A3 (en) 2014-04-23
JP2008261755A (ja) 2008-10-30
EP1980820B1 (en) 2019-06-12
KR20080092879A (ko) 2008-10-16

Similar Documents

Publication Publication Date Title
KR100934564B1 (ko) 정보 처리 장치 및 정보 처리 방법
JP5230114B2 (ja) 情報処理装置、情報処理方法
JP5036260B2 (ja) 位置姿勢算出方法及び装置
JP4976756B2 (ja) 情報処理方法および装置
US7529387B2 (en) Placement information estimating method and information processing device
US9733339B2 (en) Position and orientation calibration method and apparatus
US6792370B2 (en) Sensor calibration apparatus, sensor calibration method, program, storage medium, information processing method, and information processing apparatus
US7848903B2 (en) Information processing method and information processing apparatus
EP1852821B1 (en) Method and device for measuring the position and orientation of an object
JP4593968B2 (ja) 位置姿勢計測方法および装置
JP4785416B2 (ja) 位置姿勢計測方法及び装置
JP5728372B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP4956456B2 (ja) 画像処理装置、画像処理方法
JP4566786B2 (ja) 位置姿勢計測方法および情報処理装置
JP5620972B2 (ja) 情報処理装置、情報処理方法
JP5726024B2 (ja) 情報処理方法および装置
JP6109213B2 (ja) 情報処理装置および方法、プログラム
JP4612804B2 (ja) 位置姿勢計測方法および情報処理装置
JP2009168626A (ja) 位置姿勢計測装置、位置姿勢計測方法
JP4810403B2 (ja) 情報処理装置、情報処理方法

Legal Events

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

Payment date: 20121121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131126

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151125

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161124

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee