JP7016058B2 - カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置 - Google Patents

カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置 Download PDF

Info

Publication number
JP7016058B2
JP7016058B2 JP2018071946A JP2018071946A JP7016058B2 JP 7016058 B2 JP7016058 B2 JP 7016058B2 JP 2018071946 A JP2018071946 A JP 2018071946A JP 2018071946 A JP2018071946 A JP 2018071946A JP 7016058 B2 JP7016058 B2 JP 7016058B2
Authority
JP
Japan
Prior art keywords
camera
image
parameter set
camera parameter
coordinates
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2018071946A
Other languages
English (en)
Other versions
JP2018191275A (ja
Inventor
一生 登
信彦 若井
智 佐藤
健夫 吾妻
幹也 中田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JP2018191275A publication Critical patent/JP2018191275A/ja
Application granted granted Critical
Publication of JP7016058B2 publication Critical patent/JP7016058B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/20Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/22Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle
    • B60R1/23Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle with a predetermined field of view
    • B60R1/26Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles for viewing an area outside the vehicle, e.g. the exterior of the vehicle with a predetermined field of view to the rear of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/20Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/31Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles providing stereoscopic vision
    • 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/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • B60R2300/301Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing combining image information with other obstacle sensor information, e.g. using RADAR/LIDAR/SONAR sensors for estimating risk of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • B60R2300/303Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing using joined images, e.g. multiple camera images
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/30Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing
    • B60R2300/307Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the type of image processing virtually distinguishing relevant parts of a scene from the background of the scene
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R2300/00Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
    • B60R2300/60Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by monitoring and displaying vehicle exterior scenes from a transformed perspective
    • B60R2300/607Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by monitoring and displaying vehicle exterior scenes from a transformed perspective from a bird's eye viewpoint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • 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
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30264Parking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)
  • Cameras In General (AREA)
  • Stereoscopic And Panoramic Photography (AREA)
  • Image Analysis (AREA)

Description

本開示は、カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置に関する。
自動車の安全運転支援システム、移動ロボットの遠隔操作システム、又は不審者等を検出する監視カメラシステムなどにおいて、ユーザ及びシステムが判断及び制御を行うためには、システムの周辺の画像及び画像に対応する3次元座標の情報が必要となる。複眼カメラの各カメラで撮影された画像から、ステレオ視により被写体の3次元座標を取得する種々の技術が知られている(例えば、特許文献1~4、及び非特許文献1を参照)。ステレオ視により被写体の3次元座標を取得するためには、各カメラの種々のカメラパラメタの組であるカメラパラメタセットが必要であり、このカメラパラメタセットを算出することをカメラ校正と呼ぶ。特許文献4及び非特許文献1には、カメラ校正について詳細な説明が記載されている。
例えば、非特許文献1に開示されるカメラ校正技術では、校正の基準となる基準点の3次元座標と当該基準点の画素座標との組が複数組用意されて、これらが入力され、さらに、カメラパラメタを用いて3次元座標の基準点を画像上に投影した点と、当該基準点に対応する画素座標との距離(再投影誤差とも呼ばれる)が算出される。さらに、各基準点の再投影誤差の総和を最小化するカメラパラメタセットが算出される。
特開2001-285692号公報 特開平6-167564号公報 特開2007-24647号公報 特表2003-528304号公報
Roger Y. Tsai、「A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses」、Journal of Robotics and Automation、IEEE、1987年8月、Vol. RA-3、No.4、p.323-344 C. Zach、T. Pock及びH. Bischof、「A duality based approach for realtime TV-L1 optical flow」、In Proceedings of the 29th DAGM conference on Pattern recognition、2007年、p214-223 松山隆司、ほか編、「コンピュータビジョン」、株式会社新技術コミュニケーションズ、p123-137 佐々木稔、ほか編、「昼間における空画像からの雲と太陽領域の抽出方法」、FIT2012 第11回情報科学技術フォーラム H-005、p125-126
従来の校正技術では、基準点、すなわち、基準点の3次元座標及び画素座標の組が必要である。しかしながら、基準点の3次元位置が、経年変化、外力又は温度変化等の影響で変化し、変化後の3次元座標が未知である場合に、正しく校正できないという課題がある。
本開示は、基準点の3次元座標が事前に与えられることなく、カメラの自己校正を可能にするカメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置を提供する。
本開示の一態様に係るカメラパラメタセット算出方法は、(a1)第1カメラで撮影された第1画像と、第2カメラで撮影された第2画像とを取得し、(a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、(a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、(a4)前記3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記所定部分の3次元座標を算出し、(a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、(a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、(a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、(a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力し、処理(a1)~処理(a8)の少なくとも1つがプロセッサによって実行される。
本開示の一態様に係るカメラパラメタセット算出プログラムは、コンピュータに実行させるカメラパラメタセット算出プログラムであって、(a1)第1カメラで撮影された第1画像と、第2カメラで撮影された第2画像とを取得し、(a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、(a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、(a4)前記3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記所定部分の3次元座標を算出し、(a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、(a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、(a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、(a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力することを、前記コンピュータに実行させる。
本開示の一態様に係るカメラパラメタセット算出装置は、少なくとも2つのカメラのカメラパラメタを算出する処理回路を備え、前記処理回路は、(a1)前記少なくとも2つのカメラの第1カメラで撮影された第1画像と、前記少なくとも2つのカメラの第2カメラで撮影された第2画像とを取得し、(a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、(a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、(a4)前記3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記3次元座標を算出し、(a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、(a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、(a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、(a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力する。
なお、上記の包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばCD-ROM(Compact Disc-Read Only Memory)等の不揮発性の記録媒体を含む。
本開示のカメラパラメタセット算出技術によると、基準点の3次元座標が事前に与えられることなく、カメラの自己校正が可能になる。
本開示の一態様の付加的な恩恵及び有利な点は本明細書及び図面から明らかとなる。この恩恵及び/又は有利な点は、本明細書及び図面に開示した様々な態様及び特徴により個別に提供され得るものであり、その1つ以上を得るために全てが必要ではない。
図1は、従来の校正指標の例を示す模式図である。 図2は、実施の形態1に係る複眼カメラシステムの機能的な構成を示すブロック図である。 図3Aは、実施の形態1に係る撮像部の構成の一例を示す模式図である。 図3Bは、実施の形態1に係る撮像部の構成の別の一例を示す模式図である。 図4は、実施の形態1に係る複眼カメラシステムの画像処理部をコンピュータによって構成したブロック図である。 図5は、実施の形態1に係る画像処理部の画像生成時の動作の流れの一例を示すフローチャートである。 図6Aは、実施の形態1に係る複眼カメラシステムの設置の例を示す模式図である。 図6Bは、実施の形態1における撮像状況の例を示す模式図である。 図7Aは、実施の形態1に係る撮像部の構成の一例を示す模式図である。 図7Bは、実施の形態1における撮像画像の例を示す模式図である。 図8Aは、実施の形態1における画像の例を示す模式図である。 図8Bは、実施の形態1における位置情報の例を示す模式図である。 図9は、実施の形態1における画像生成部から出力される合成画像の例を示す模式図である。 図10は、実施の形態1に係るカメラパラメタセット算出装置の機能的な構成を示す模式図である。 図11は、実施の形態1に係る画像処理部の自己校正時の動作の流れの一例を示すフローチャートである。 図12Aは、自己校正の実験例における入力画像の例である。 図12Bは、自己校正の実験例における入力画像の例である。 図13Aは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図13Bは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図13Cは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図13Dは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図14Aは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図14Bは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図14Cは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図15Aは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図15Bは、自己校正の実験条件1の実験例におけるカメラパラメタと評価値との関係の例である。 図16Aは、自己校正の実験条件2の実験例における試行回数と評価値との関係の例である。 図16Bは、自己校正の実験条件2の実験例における試行回数と再投影誤差との関係の例である。 図17は、実施の形態2に係る複眼カメラシステムのカメラパラメタセット算出装置の機能的な構成を示す模式図である。 図18は、実施の形態2に係る画像処理部の自己校正時の動作の流れの一例を示すフローチャートである。 図19は、図18の3次元点群算出処理の流れの詳細の一例を示すフローチャートである。 図20は、実施の形態2に係るカメラパラメタセット算出装置によって抽出される所定領域の一例を示す図である。 図21は、変形例1に係る複眼カメラシステムの構成を示すブロック図である。
[本開示の基礎となった知見]
本発明者らは、「背景技術」の欄において記載したカメラ校正に関し、以下の問題が生じることを見出した。具体的には、自動車の安全運転支援システム、移動ロボットの遠隔操作システム、又は不審者等を検出する監視カメラシステムなどにおいて、ユーザ及びシステムが判断及び制御を行うためには、システムの周辺の画像及び画像に対応する3次元座標の情報が必要となる。特に、人及び車等のように監視対象が移動する場合、並びに、システムを搭載する自動車、ロボット等と共にシステム自身が移動する場合、より広い視野角の画像及び画像に対応する3次元座標の取得が重要である。
画像及び画像に対応する3次元座標を取得する手段としては、いわゆるステレオ視が一般的である。ステレオ視では、互いに異なる視点に位置し且つ視野が重複するように配置された2台のカメラを用いて2つの画像が取得され、2つの画像間の対応点の組が推定され、対応点の組と予め求めておいたカメラの位置及び向き等の情報とを用いて、対応点の組に対する被写体上の点の3次元座標が計算される。
(校正技術の従来例)
例えば、複眼カメラで撮影された画像から、ステレオ視により被写体の3次元座標を取得するためには、各カメラのカメラパラメタセットが必要である。カメラパラメタセットとは、カメラのモデル及び当該モデルに応じた複数のパラメタである。カメラのモデル及び当該モデルに応じた複数のパラメタは、撮影空間内のある点の3次元座標と撮影によって得られた画像上での当該点の2次元座標(画素座標とも呼ばれる)との関係を表す。このカメラパラメタセットを算出することをカメラ校正と呼ぶ。
より詳細には、カメラパラメタセットは、外部パラメタセット及び内部パラメタセットの2つのカメラパラメタセットで構成される。外部パラメタセットは、カメラの撮影空間を基準として定められた3次元の世界座標系と、カメラを基準として定められた3次元のカメラ座標系との間での位置関係を表す。内部パラメタセットは、カメラ座標系における被写体の3次元座標と当該カメラで撮影した画像上での当該被写体の位置との関係を表す。
非特許文献1が開示するカメラ校正技術では、基準点の3次元座標及び当該基準点の画素座標の組が複数組用意されて、これらを入力要素とし、カメラパラメタを用いて3次元座標の基準点を画像上に投影した点と、当該基準点に対応する画素座標との距離(再投影誤差)の総和を最小化するカメラパラメタセットが算出される。
基準点の3次元座標及び当該基準点の画素座標の組を得るために、特定模様の校正指標が一般的に用いられる。校正指標の例を、図1に示す。図1の例では、格子状の模様が箱状の被写体の内側に一定間隔で配置されている。格子点、つまり、模様の角を基準点とし、基準点に対応する格子点の3次元座標の設計値、又は、基準点の設置後に計測された基準点の3次元座標が保持される。さらに、基準点をカメラで撮影し、基準点に対応する格子点の画素座標を画像処理で推定することで、基準点の3次元座標及び画素座標の組の情報が得られる。このような校正指標を用いる校正技術は、校正指標を備える設備等が必要になる反面、高精度な校正ができることから、カメラ製造後の工場等での校正で有効である。
一方、カメラ校正は、製造時の校正以外に、カメラを搭載する装置が稼動している状態で、経年変化、外力による変形又は温度変化等の影響によって、カメラパラメタセットが変わってしまった場合にも必要になる。自動車の安全運転支援システム、移動ロボットの遠隔操作システム、及び、監視カメラシステムなどにおいては、校正方法は、校正指標を備える設備等が不要であり、且つ、人手による操作が不要であることが望ましい。つまり、自己校正による校正方法が望ましい。ここで、カメラを備えるシステムがカメラパラメタセットを自動で更新することを自己校正と呼ぶ。
特許文献4には、車両に設置されたステレオカメラをシステムが自動で校正する自己校正技術が開示されている。特許文献4の技術では、格子等の特定模様の校正指標を用いる代わりに、カメラの視野内にある静止物が校正目標として記憶され、校正目標の位置が変わった場合に、校正目標の3次元座標の情報を用いて、カメラの自己校正が行われる。
しかしながら、従来の校正技術では、校正目標の3次元座標は事前に得られており変化しないと仮定しているため、校正目標の3次元座標が経年変化、外力又は温度変化等の影響で変化した場合に、正しく校正できないという課題がある。そこで、本発明者らは、校正基準点の3次元座標が事前に与えられることなく、カメラの自己校正を可能にする技術を、下記のように創案した。
本開示の一態様に係るカメラパラメタセット算出方法は、(a1)第1カメラで撮影された第1画像と、第2カメラで撮影された第2画像とを取得し、(a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、(a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、(a4)前記3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記所定部分の3次元座標を算出し、(a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、(a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、(a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、(a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力し、処理(a1)~処理(a8)の少なくとも1つがプロセッサによって実行される。
上記態様によれば、評価値に基づいた第1カメラ及び第2カメラのカメラパラメタセットの算出が可能である。評価値の算出に用いられる所定部分の画素値は、第1画像及び第2画像から抽出される。所定部分は、その3次元位置情報が仮定に基づき設定され得る部分であり、正確な座標が既知である予め設定された校正指標等の基準ではない。つまり、所定部分は、第1画像及び第2画像の被写体から抽出される部分である。このため、カメラパラメタセットの算出過程における3次元座標と画素座標との対応付けに、既知の基準点を含む校正指標を備える設備が不要である。言い換えると、本態様は、事前に得た基準点の3次元座標を用いないため、経年変化、外力、温度変化等の影響による基準点の変化とは無関係に、カメラを正しく自己校正できる。
また、所定部分は、その3次元位置情報が仮定により設定された部分であるため、所定部分の3次元座標は、3次元位置情報、第1画像及び第1カメラパラメタセットに基づいて、算出可能である。例えば、2つの画像の間において同じ被写体を指す対応点を推定し、推定された2つの対応点の画素座標を用いて対応点の3次元座標を算出する方法、いわゆる、ステレオ視による算出方法では、結果として得られる3次元座標が、対応点の推定精度による影響を受ける。しかしながら、本態様は、3次元座標の算出の際に、推定された対応点ではなく、3次元位置情報が設定された所定部分を用いるため、対応点の推定精度による影響を低減することができる。よって、正確なカメラの自己校正が可能になる。
なお、第1カメラパラメタセット及び第2カメラパラメタセットが正しい場合に、ある点の3次元座標に対応する第1画素座標での第1画像の画素値及び第2画素座標での第2画像の画素値は、互いに等しく、第1カメラパラメタセット又は第2カメラパラメタセットが正解値から離れるほど、つまり誤差を多く含むほど、第1画像の画素値と第2画像の画素値との間に差異が生じる。このため、第1カメラパラメタセット又は第2カメラパラメタセットが誤差を含む場合に、第1画像の画素値と第2画像の画素値との差異に基づいて、例えば、差異を最小にするように、第1カメラパラメタセット及び第2カメラパラメタセットを変更することで、正しいカメラパラメタセットを得ることができる。すなわち、第1及び第2カメラを校正することができる。
また、本開示の一態様に係るカメラパラメタセット算出方法はさらに、(b1)前記第1画像から、前記所定部分以外の部分である所定外部分を抽出し、(b2)前記第1画像、前記第2画像、前記第1カメラパラメタセット及び前記第2カメラパラメタセットに基づいて、前記所定外部分に含まれる被写体上の3次元座標を算出し、(b3)前記第1カメラパラメタセットに基づいて前記所定外部分における前記3次元座標を前記第1画像に投影した点の第1対象画素座標を決定し、前記第2カメラパラメタセットに基づいて前記所定外部分における前記3次元座標を第2画像に投影した点の第2対象画素座標を決定し、処理(a6)では、前記第1画素座標での前記第1画像の画素値及び前記第2画素座標での前記第2画像の画素値の関係と、前記第1対象画素座標での前記第1画像の画素値及び前記第2対象画素座標での前記第2画像の画素値の関係とに基づいて評価値を算出し、処理(a1)~処理(a8)及び処理(b1)~処理(b3)の少なくとも1つがプロセッサによって実行されてもよい。
上記態様によれば、所定外部分に関して、評価値の算出に用いられる2つの画素値に対応する第1画素座標、第2画素座標は予め設定された校正指標等の基準ではない。このため、所定外部分に関しても、カメラパラメタセットの算出過程における3次元座標と画素座標との対応付けに、既知の基準点を含む校正指標を備える設備が不要である。そして、評価値は、所定部分のデータと、所定外部分とのデータとを用いて算出されるため、第1画像及び第2画像の広い領域を反映することが可能である。これにより、評価値に基づく第1カメラパラメタセット及び第2カメラパラメタセットの算出精度の向上が可能になる。
また、本開示の一態様に係るカメラパラメタセット算出方法は、処理(b2)では、前記所定外部分と前記第2画像との間の対応点の組を推定する処理を含み、前記対応点の組に前記所定外部分における前記3次元座標が対応してもよい。
また、本開示の一態様に係るカメラパラメタセット算出方法は、処理(a6)では、前記評価値の算出に、画素値の差異を用いてもよい。上記態様によれば、互いに対応する被写体における第1画像の画素値と第2画像の画素値との間に差異がある場合、第1カメラパラメタセット及び第2カメラパラメタセットに、真値に対する誤差があると判定することが可能である。よって、第1カメラパラメタセット及び第2カメラパラメタセットの良否の判定が容易である。さらに、例えば、上記差異を小さくするように、第1カメラパラメタセット及び第2カメラパラメタセットを変更つまり更新することによって、第1カメラパラメタセット及び第2カメラパラメタセットを適切にすることが可能である。
また、本開示の一態様に係るカメラパラメタセット算出方法は、処理(a3)では、前記第1画像から、前記仮定の3次元位置情報と異なる他の仮定の3次元位置情報が設定された、前記所定部分と異なる他の所定部分を抽出し、処理(a4)では、前記他の3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記他の所定部分の他の3次元座標を算出し、処理(a5)では、前記他の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記他の所定部分の他の第1画素座標を決定し、前記他の3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記他の所定部分の他の第2画素座標を決定し、処理(a6)では、前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値との第1の差と、前記他の第1画素座標での前記第1画像の画素値と前記他の第2画素座標での前記第2画像の画素値との第2の差との和に基づいて前記評価値を算出してもよい。
上記態様によれば、複数の差異を用いることによって、評価値の精度が向上する。さらに、例えば、複数の差異の和を小さくするように、第1カメラパラメタセット及び第2カメラパラメタセットを更新することによって、第1カメラパラメタセット及び第2カメラパラメタセットを最適にすることが可能である。
また、本開示の一態様に係るカメラパラメタセット算出方法は、処理(a6)では、前記第1の差は絶対値の差であり、前記第2の差は絶対値の差であってもよい。上記態様によれば、差の絶対値を用いることによって、評価値の算出の際に、差同士が打ち消し合うことが抑えられる。よって、正確な評価値の算出が可能になる。
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記所定部分は、空の像を示し、前記3次元位置情報は、前記空と前記第1カメラとの仮定の3次元距離の情報を含み、前記空と前記第1カメラとの仮定の3次元距離は、前記第1カメラと前記第2カメラとの3次元距離と比較して大幅に大きい値に設定されていてもよい。上記態様において、空の部分と第1カメラとの仮定の3次元距離は、例えば、10000m又は無限大のような非常に大きい値に設定することができる。よって、空の仮定の3次元位置は、容易に設定されることができる。
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記所定部分は、被写体が3次元空間内で形成する平面の像を示し、前記3次元位置情報は、前記平面の仮定の3次元位置の情報を含んでもよい。上記態様において、平面の仮定の3次元位置は、容易に設定されることができる。
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記平面は、路面であってもよい。上記態様において、路面は、略水平であるため、路面の仮定の3次元位置は、高い精度で容易に設定されることができる。
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記平面は、構造物の天井面であってもよい。上記態様において、天井面は、略水平であるため、天井面の仮定の3次元位置は、高い精度で容易に設定されることができる。
また、本開示の一態様に係るカメラパラメタセット算出方法において、前記平面は、構造物の壁面であってもよい。上記態様において、壁面は、略鉛直であるため、壁面の仮定の3次元位置は、高い精度で容易に設定されることができる。
また、本開示の一態様に係るカメラパラメタセット算出方法は、測距器から現在の位置情報を取得し、前記現在の位置情報は、前記第1カメラの周辺の前記所定部分の位置情報を含んでもよい。上記態様によれば、第1カメラ及びその周辺の位置情報がリアルタイムに得られる。これにより、第1カメラの位置に応じた所定部分の仮の3次元位置情報の決定が可能である。よって、所定部分の仮の3次元位置情報の精度の向上が可能である。
本開示の一態様に係るカメラパラメタセット算出プログラムは、コンピュータに実行させるカメラパラメタセット算出プログラムであって、(a1)第1カメラで撮影された第1画像と、第2カメラで撮影された第2画像とを取得し、(a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、(a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、(a4)前記3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記所定部分の3次元座標を算出し、(a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、(a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、(a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、(a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力することを、前記コンピュータに実行させる。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出方法と同様の効果が得られる。
本開示の一態様に係るカメラパラメタセット算出装置は、少なくとも2つのカメラのカメラパラメタを算出する処理回路を備え、前記処理回路は、(a1)前記少なくとも2つのカメラの第1カメラで撮影された第1画像と、前記少なくとも2つのカメラの第2カメラで撮影された第2画像とを取得し、(a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、(a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、(a4)前記3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記所定部分の3次元座標を算出し、(a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、(a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、(a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、(a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力する。上記態様によれば、本開示の一態様に係るカメラパラメタセット算出方法と同様の効果が得られる。
なお、上記の全般的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばCD-ROM等の不揮発性の記録媒体を含む。
以下、実施の形態に係るカメラパラメタセット算出装置等を、図面を参照しながら説明する。なお、以下で説明される実施の形態は、包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ(工程)、並びにステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、以下の実施の形態の説明において、略平行、略直交のような「略」を伴った表現が、用いられる場合がある。例えば、略平行とは、完全に平行であることを意味するだけでなく、実質的に平行である、すなわち、例えば数%程度の差異を含むことも意味する。他の「略」を伴った表現についても同様である。
[実施の形態1]
[1-1.複眼カメラシステムの構成]
[1-1-1.複眼カメラシステムの全体構成]
本開示の実施の形態1に係るカメラパラメタセット算出装置111を備える複眼カメラシステム10を説明する。これに限定するものではないが、本実施の形態では、複眼カメラシステム10は、カメラパラメタセット算出装置111を用いた車載用の複眼カメラシステムであるとして、説明する。図2を参照すると、実施の形態1に係るカメラパラメタセット算出装置111を備える複眼カメラシステム10の機能的な構成を示すブロック図が示されている。図2に示されるように、複眼カメラシステム10は、撮像部100と、画像処理部110と、ディスプレイ120とを備える。
撮像部100は、画像を撮影して取得し、画像処理部110に出力する。撮像部100は、2つ以上のカメラ101を備え、本実施の形態では、2つのカメラ101a及び101bを備える。画像処理部110は、撮像部100によって撮影された画像を処理し、その処理結果をディスプレイ120等に出力する。画像処理部110は、カメラパラメタセット算出装置111と、位置算出部112と、画像生成部113と、カメラパラメタ記憶部114とを備える。カメラパラメタセット算出装置111のことを、自己校正部とも呼ぶ。また、ディスプレイ120は、画像処理部110から出力された画像等を表示する。ディスプレイ120は、液晶パネル、有機又は無機EL(Electro Luminescence)等の表示パネルによって構成されてよい。なお、同様の構成要素を区別するために添え字a~dを用いるが、以下では、これらの構成要素を特に区別しない場合には、添え字を除いた符号のみを用いることがある。
複眼カメラシステム10は、主に画像生成と、自己校正との2種類の動作をする。画像生成時、撮像部100は画像を撮影して画像処理部110に出力し、画像処理部110は、入力された画像から被写体の3次元座標を算出し、算出した3次元座標に基づいて画像を生成して出力し、ディスプレイ120に表示する。自己校正時、撮像部100は画像を撮影して画像処理部110に出力し、画像処理部110のカメラパラメタセット算出装置111は、カメラパラメタ記憶部114に格納されているカメラパラメタセットを更新する。なお、画像生成と自己校正との2種類の動作は、同時に行われてもよく、別々に行われてもよい。
[1-1-2.撮像部の構成]
図3Aを参照すると、複眼カメラシステム10の撮像部100の構成の一例が模式的に示されている。図3Aでは、2つのカメラ101を一体として固定した構成の撮像部100の例が示されている。図3Aにおいて、撮像部100は、(a)の正面図、(b)の側面図、及び、(c)の断面図で示されている。上記断面図は、撮像部100の2つのカメラ101の2つのレンズの中心を通る断面で、撮像部100を切断した図である。撮像部100を構成する2つのカメラ101それぞれのレンズは魚眼レンズであるものとする。
なお、本実施の形態に係る複眼カメラシステム10において、撮像部100は、2つのカメラで構成される2眼カメラとしたが、撮像部100を構成するカメラは、2つに限定されず、3つ以上であってもよい。つまり、撮像部100は、2つ以上のカメラを備えるように構成されてもよい。例えば、図3Bに示すように、撮像部100は、3つのカメラ101で構成される3眼カメラであってもよい。このような撮像部100は、2つのカメラ101を備える代わりに、3つのカメラ101を一体として固定した構成を有する。図3Bにおいて、撮像部100は、(a)の正面図、及び、(b)の側面図で示されている。なお、図3A及び図3Bに示されるように、隣接するカメラ101の光軸間の距離は基線長と呼ばれ、撮像部100において、各カメラ101の光軸上に撮像素子が配置されている。また、撮像部100において、各カメラ101は、一体化されていなくてもよく、別々に配置されていてもよい。さらに、別々に配置されたカメラ101は、互いに近接していなくてもよい。
撮像素子は、カメラ101のレンズを通って入射する光を受光して、受光した光から像を形成する構成を有するものであればよく、例えば、CMOS(Complementary Metal-Oxide Semiconductor)イメージセンサ又はCCD(Charge Coupled Device)イメージセンサ等のイメージセンサであってもよい。
撮像部100は、視野角が概ね180度の魚眼レンズを有する2つのカメラ101a及び101bで構成される。2つのカメラ101a及び101bは、図3Aに示すように配置され、視野内の画像をそれぞれ撮影して2つの画像を出力する(以降、この画像をカメラ画像とも呼ぶ)。
[1-1-3.画像処理部の構成]
図2を参照して、画像処理部110の構成を説明する。上述したように、画像処理部110は、カメラパラメタセット算出装置111、位置算出部112、画像生成部113及びカメラパラメタ記憶部114を備える。
カメラパラメタ記憶部114は、カメラ101a及び101bそれぞれのカメラパラメタセットと、カメラ画像における撮像部100によって遮蔽された領域の情報である遮蔽情報とを少なくとも予め格納している。カメラ101a及び101bのカメラパラメタセットは、各カメラの位置及び向き等の外部パラメタセットと、各カメラのレンズの歪及び焦点距離等の内部パラメタセットとを含み得る。
自己校正部でもあるカメラパラメタセット算出装置111は、カメラ101a及び101bによって撮影されたカメラ画像と、カメラパラメタ記憶部114に記憶されたカメラ101a及び101bの初期カメラパラメタセットとを用いて、カメラパラメタ記憶部114のカメラパラメタセットを更新する。初期カメラパラメタセットは、カメラパラメタ記憶部114に既に記憶されているカメラ101a及び101bのカメラパラメタセットであってよい。例えば、初期カメラパラメタセットは、カメラ101a及び101bの設計時のカメラパラメタセットであってもよく、使用段階においてカメラ101a及び101bに設定されているカメラパラメタセットであってもよい。
位置算出部112は、カメラ101a及び101bから出力された2つのカメラ画像間の対応点の組を推定する。2つのカメラ画像に同一の被写体が映っている場合、すなわち、一方のカメラ画像の被写体上の点が、他方のカメラ画像にも映っている場合、これら2つの点のそれぞれを対応点と呼び、この2つの点の組を対応点の組と呼ぶ。対応点の組を推定するとは、具体的には、対応点の組のそれぞれの対応点の画素座標を算出することである。さらに、位置算出部112は、カメラパラメタ記憶部114からカメラ101a及び101bそれぞれのカメラパラメタセットを読み出す。位置算出部112は、対応点の組と、各カメラパラメタセットに含まれる外部パラメタセット及び内部パラメタセットとに基づいて、2つのカメラ画像の両方に写っている3次元物体上の点、すなわち、被写体上の点の3次元座標を算出する。そして、位置算出部112は、算出した3次元座標と対応点の画素座標の組とをあわせて、3次元物体上の点、すなわち、被写体上の点の位置情報として出力する。
画像生成部113は、2つのカメラ画像と、位置算出部112によって算出された3次元物体の位置情報とに基づいて、合成画像を生成して出力する。生成される合成画像は、具体的には、撮影空間内の3次元物体の画像であり、当該3次元物体の3次元座標に基づく合成画像である。
図2の複眼カメラシステム10のうちの画像処理部110を構成する各構成要素は、電子回路又は集積回路等のハードウェアで実現されてもよく、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよい。
図4を参照して、画像処理部110のハードウェア構成の一例を説明する。なお、図4は、複眼カメラシステム10のハードウェア構成の一例を示す図である。複眼カメラシステム10は、撮像部100と、画像処理部110に対応するコンピュータ300と、ディスプレイ120とを備える。複眼カメラシステム10において、撮像部100は画像を撮影して出力し、コンピュータ300が画像処理部110として動作することにより、画像を生成して出力する。ディスプレイ120はコンピュータ300で生成された画像を表示する。
コンピュータ300は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304、ビデオ入力I/F(インタフェース)305及びビデオカード306を含む。
コンピュータ300を動作させるプログラムは、ROM302又はHDD304に予め保持されている。プログラムは、プロセッサであるCPU301によって、ROM302又はHDD304からRAM303に読み出されて展開される。
CPU301は、RAM303に展開されたプログラム中のコード化された各命令を実行する。ビデオ入力I/F305は、プログラムの実行に応じて、撮像部100で撮影された画像を、RAM303へ取り込む。ビデオカード306は、プログラムの実行に応じて生成された画像を処理してディスプレイ120に出力し、ディスプレイ120がその画像を表示する。
なお、コンピュータプログラムは、半導体装置であるROM302又はHDD304に限られず、例えばCD―ROM等の記録媒体に格納されていてもよい。また、コンピュータプログラムは、有線ネットワーク、無線ネットワーク又は放送等を介して伝送され、コンピュータ300のRAM303に取り込まれてもよい。
[1-2.複眼カメラシステムの動作]
複眼カメラシステム10の動作を説明する。具体的には、複眼カメラシステム10における、画像生成時の動作と、自己校正時の動作とを、順に説明する。
[1-2-1.画像生成時の動作]
複眼カメラシステム10における画像生成時の動作を、図5を用いて説明する。なお、図5は、複眼カメラシステム10の画像処理部110における、画像生成時の動作の一例を表すフローチャートである。図5に示されるように、画像生成時の動作は、カメラパラメタセット読み出しのステップS401の処理と、位置算出のステップS402の処理と、画像生成のステップS403の処理とを含む。図5に示される各動作は、図4のコンピュータ300で実行されてもよい。
これに限定するものではないが、本実施の形態では、複眼カメラシステム10が自動車に設置される例を説明する。具体的には、複眼カメラシステム10は、自動車の後方のカメラ画像と当該カメラ画像の3次元座標とを取得して障害物を検出し、その結果を自動車内に設置されたディスプレイに表示し、それにより、利用者であるドライバに車体後方の状況を提示する。
図6Aを参照すると、複眼カメラシステム10の自動車への設置例を示す平面図が示されている。撮像部100は、カメラ101の光軸が概ね自動車の前後方向に一致するように、車体後部に車体後方に向けて設置される。画像処理部110及びディスプレイ120はそれぞれ、ドライバから見える車室内に設置される。また、図6Bを参照すると、自動車に搭載された複眼カメラシステム10による撮影が行われている状況の例が、平面図で示されている。これに限定されるものではないが、本実施の形態では、撮像部100の2つのカメラ101a及び101bは、互いに同期して一定時間間隔で、画像を撮像して出力する。
図7Aを参照すると、撮像部100における2つのカメラ101a及び101bの配置の例が、正面図の(a)及び背面図の(b)により示されている。また、図7Bを参照すると、図6Bの撮影状況において、図7Aの2つのカメラ101a及び101bで撮影される画像の例が示されている。カメラ101a及び101bそれぞれの視野角は概ね180度である。カメラ101a及び101bの各視野内の大半で、共通の被写体が映っていることがわかる。
コンピュータ300は、撮像部100の動作と並行して、予め定められたプログラムを実行することで、図5のステップS401~S403の処理を行う。以降、コンピュータ300で実行されるステップS401~S403の詳細な処理を、図7A~図9を用いて説明する。
ステップS401では、位置算出部112は、カメラパラメタ記憶部114から、カメラパラメタ記憶部114に予め格納されているカメラ101a及び101bの内部パラメタセット及び外部パラメタセットを含むカメラパラメタセットと、遮蔽情報とを読み出す。
カメラの外部パラメタセットMと3次元座標との関係、及び、カメラの内部パラメタセット(f,dpx,dpy,cu,cv)と3次元座標と画素座標との関係を下記の式1~式3に示す。
Figure 0007016058000001
Figure 0007016058000002
Figure 0007016058000003
ここで、上記の式1における外部パラメタセットMは、世界座標系とカメラ座標系との位置関係を表す外部パラメタセットであり、世界座標系の3次元座標(x,y,z)を、カメラ座標系の3次元座標(x,y,z)に変換する4×4の行列で表す。上記の式1及び式2に示すように、外部パラメタセットMは、世界座標系のX、Y及びZの各軸周りの回転(Rx,Ry,Rz)と、X、Y及びZの各軸方向の平行移動(tx,ty,tz)とを表す。上記の式3は、カメラ座標系の3次元座標(x,y,z)と画素座標(u,v)との関係を表している。内部パラメタセットのfはカメラの焦点距離であり、dpx及びdpyはそれぞれ、カメラの撮像素子のx方向及びy方向の画素サイズであり、(cu,cv)はカメラ座標系のz軸とカメラの撮像面との交点の画素座標である。なお、デジタル画像を「2次元の格子点(すなわち、画素座標)における値(すなわち画素値)」の集合と考えた場合に、画像上の画素の位置を2次元の画素座標で表現する。
外部パラメタセットM及び内部パラメタセット(f,dpx,dpy,cu,cv)は、前述した従来技術のカメラ校正方法で予め求めておく。なお、dpx、dpy及びfの算出には、上記の式1~式3だけでは拘束条件が足りない。そこで、dpx、dpy及びfのいずれか1つは設計値が用いられ、残りの2つのパラメタが従来技術のカメラ校正方法で算出されてもよい。
なお、上記の式3では、レンズの投影モデルとして透視投影モデル(ピンホールカメラモデルとも呼ばれる)を用いたが、これは投影モデルを限定するものではなく、等距離射影モデル、立体射影モデル及び等立体角射影モデル等の他の投影モデルを用いてもよい。例えば、等距離射影モデルの場合、上記の式3の内部パラメタセットの代わりに、下記の式4に示される内部パラメタセットを用いる。
Figure 0007016058000004
以降、説明を簡単にするため、カメラ101a及び101bそれぞれをカメラi及びjと記載する場合がある。この場合、カメラi及びjの位置関係を表す外部パラメタセットM及びMを、下記の式5のように示すことができる。
Figure 0007016058000005
また、カメラ101aの内部パラメタセット及び外部パラメタセットをまとめたカメラパラメタセットを、下記の式6に示すようなCaで表す。カメラ101bの内部パラメタセット及び外部パラメタセットをまとめたカメラパラメタセットを、下記の式7に示すようなCbで表す。
Figure 0007016058000006
ステップS402では、位置算出部112は、撮像部100のカメラ101a及び101bで同じ被写体を撮影して得られた2つのカメラ画像を取得する。そして、位置算出部112は、取得した2つのカメラ画像と、ステップS401で読み出したカメラ101a及び101bのカメラパラメタセットとを用いて、ステレオ視により2つのカメラ画像間の対応点の組に対する被写体上の点の3次元座標を算出する。具体的には、位置算出部112は、カメラ101aのカメラ画像及びカメラ101bのカメラ画像のそれぞれに含まれる点であって且つ互いに対応する点の組、すなわち、対応点の組を推定し抽出する。さらに、位置算出部112は、対応点の組に含まれる2点に対する被写体上の点の視差から、三角測量の原理を用いて、対応点の組に対する被写体上の点の3次元座標を算出する。これにより、カメラ画像に含まれる点に対する被写体上の点の3次元座標が算出される。なお、位置算出部112は、対応点の組を複数抽出し、複数の対応点の組のそれぞれに対する被写体上の複数の点の3次元座標を算出する。複数の対応点の組と被写体上の複数の点の3次元座標とは1対1で対応する。最後に、位置算出部112は、算出した複数の3次元座標を含む位置情報を出力する。
ここで、ステップS402における位置算出部112の処理の詳細を説明する。カメラ101a及び101bで撮影された2つのカメラ画像を、それぞれIa及びIbとする。位置算出部112は、カメラ画像Iaに含まれる被写体上の点Pnを撮像した点の画素座標Qanと、カメラ画像Ibに含まれる当該被写体上の同一の点Pnを撮像した点の画素座標Qbnとを、例えば画像の類似、後述する輝度拘束、滑らかさ拘束などに基づいて、算出する。すなわち対応する画素座標の組(Qan,Qbn)を算出する。画素座標の組(Qan,Qbn)は、2つのカメラ画像のそれぞれに含まれる画素座標の組であり且つ互いに対応する画素座標の組である。なお、カメラ画像Ia含まれる点とカメラ画像Ib含まれる点とが互いに対応する場合、この対応点の組をカメラ画像Iaに含まれる点の画素座標とカメラ画像Ibに含まれる点の画素座標との組で表現してもよい。
例えば、位置算出部112は、カメラ画像Iaに含まれる複数の画素のうちのn番目の画素について、当該画素の画素座標(uan,van)を取得する。さらに、位置算出部112は、カメラ画像Ib上において、当該画素が表す被写体と同じ被写体上の対応点を推定し、この対応点の画素座標(ubn,vbn)を算出する。
2つのカメラ画像間の対応点の組とは、2つのカメラ画像に同一の被写体が映っている場合、すなわち、一方のカメラ画像に写っている被写体上の点が、もう一方のカメラ画像にも写っている場合の、当該2つのカメラ画像上の点の組のことである。ここでは画素座標の組で対応点の組を表す。例えば、カメラ画像の組がIa及びIbの場合、2画像間の対応点の組として、カメラ画像Ia上の画素座標(uan,van)に対応するカメラ画像Ib上の画素座標(ubn,vbn)を算出する。この画素座標の組の算出は、カメラ画像Iaに含まれる全ての画素について実行される。
カメラ画像Iaの画素座標(uan,van)と、カメラ画像Ibの画素座標(ubn,vbn)とが、対応点の組に含まれる2つの対応点の画素座標である場合、2つの対応点つまり2つの画素座標での画素値Ia(uan,van)及びIb(ubn,vbn)が等しい。これを輝度拘束と呼ぶ。また、ある1つの被写体は、カメラ画像中の複数の隣接する画素を占めることから、カメラ画像Iaの画素座標(uan,van)に隣接する画素で特定される点に対応するカメラ画像Ibに含まれる点は、カメラ画像Ibの画素座標(ubn,vbn)で特定される点の近くにある可能性が高い。これを滑らかさ拘束と呼ぶ。カメラ画像Ia及びIb間の対応点の組は、上述した輝度拘束と滑らかさ拘束との2つの条件を最もよく満たす画素座標(uan,van)及び(ubn,vbn)の組の集まりを算出することで、得ることができる。
対応点の組の画素座標の組を実数精度で算出する対応点探索手法又は動き推定手法は、例えば、上記の非特許文献2等に詳しく記載されているが、既知な技術であるためその詳細な説明を省略する。
次に、位置算出部112は、各対応点の組について、カメラ画像Ia及びIbそれぞれの対応点の組の画素座標の組[(uan,van),(ubn,vbn)]と、予め求めておいたカメラ101a及び101bのカメラパラメタセットCa及びCbとを用いて、2つのカメラ101a及び101bについての式1と式3とを連立させて解くことにより、対応点の組に対する被写体上の点の3次元座標(xan,yan,zan)を算出する。3次元座標は、カメラ101aのカメラ座標系の座標値とする。
なお、対応点の組と2つのカメラのカメラパラメタセットとを用いて対応点の組に対する被写体上の点の3次元座標を算出する2眼ステレオ手法は、上述した方法に限るものでなく、他の方法であってもよい。他の2眼ステレオ手法は、例えば、上記の非特許文献3等に詳しく記載されているが、既知な技術であるため、その詳細な説明を省略する。
以降の説明を簡単にするために、カメラ画像Ia及びIbから、対応点の組に含まれる対応点の画素座標(uan,van)及び(ubn,vbn)を算出する処理を、下記の式8に示す関数Tで表す。さらに対応点の組に含まれる対応点の画素座標(uan,van)及び(ubn,vbn)と、カメラ101a及び101bのカメラパラメタセットCa及びCbとを用いて、上記の式1~式3により、対応点の組に対する被写体上の点の3次元座標を算出する処理を、下記の式9に示す関数Fで表す。
Figure 0007016058000007
カメラ画像Ia及びIb間のn番目の対応点の組の画素座標の組と、当該対応点の組に対応する被写体上の点の3次元座標とを合わせて、n番目の位置情報pa,b,n(n=1,・・・,N)で表す。また、N個の位置情報pa,b,nの集まりをPa,bで表す(式10)。位置情報pa,b,nは、カメラ画像Iaに含まれる対応点の画素座標(uan,van)及びカメラ画像Ibに含まれる対応点の画素座標(ubn,vbn)と、当該対応点の組に対応する点の3次元座標(xan,yan,zan)とを含む。なお、画素座標(uan,van)と画素座標(ubn,vbn)との組は、画素座標(uan,van)で特定されるカメラ画像Iaに含まれる対応点と画素座標(ubn,vbn)で特定されるカメラ画像Ibに含まれる対応点とを含む対応点の組と対応する。なお、数量Nは、カメラ画像Ia及びIbの画素数と同一であってもよく、カメラ画像Ia及びIbの画素数よりも少なくてもよい。
Figure 0007016058000008
上述したように、位置算出部112は、対応点の組を複数算出し、複数の対応点の組にそれぞれ対する複数の被写体上の点の3次元座標を算出し、『「対応点の組に含まれる画素座標の組」と「対応点の組に対する被写体上の点の3次元座標」との組』を複数含む位置情報Pa,bとして出力する。これにより、例えば、図8A及び図8Bに示すような、カメラからの距離を濃淡で表した距離画像を得ることができる。なお、図8Aは、カメラ画像の一例を示し、図8Bは、当該カメラ画像の距離画像の一例を示す。距離画像では、カメラから対象点までの距離が、画素の輝度で表現されている。
最後に、ステップS403では、画像生成部113は、カメラ画像Ia及びIbの一方であるカメラ画像、例えばカメラ画像Iaと、『「対応点の組に含まれる画素座標の組」と「対応点の組に対する被写体上の点の3次元座標」との組』を複数含む位置情報{Pa,b}とを取得する。さらに、画像生成部113は、カメラ画像Ia内において、複数の対応点によって表される障害物等の3次元物体を検出する。そして、画像生成部113は、例えば図9に示すように、検出した3次元物体の位置に対応するカメラ画像上の領域に、注視領域を示す枠を重畳合成して合成画像として出力する。なお、図9は、実施の形態における画像生成部113から出力される合成画像の例を示す模式図である。
画像生成部113において、位置情報から障害物等の3次元物体を検出する方法として、本実施の形態では、位置情報に含まれる複数点の3次元座標から、それぞれの点とカメラ101との距離が予め定められた距離dthよりも小さく、且つ、地面よりも高い位置にある点を抽出し、抽出した複数の点を3次元物体とする。具体的には、画像生成部113は、Pa,bに含まれるn番目の位置情報pa,b,nに含まれる3次元座標(xan,yan,zan)から、3次元座標(xan,yan,zan)とカメラ101aとの距離dと、3次元座標(xan,yan,zan)に対応する世界座標系の3次元座標(xwn,ywn,zwn)とを算出する。そして、画像生成部113は、距離dが予め定められた距離dthよりも小さく(d<dth)、且つ、世界座標系の3次元座標の高さが地面よりも高い(zwn>0)場合に、当該位置情報pa,b,nに含まれる3次元座標(xan,yan,zan)で特定される3次元空間中の点を3次元物体上の点として抽出する。さらに、画像生成部113は、3次元物体上の点として検出された複数の位置情報に含まれる3次元座標値をカメラ画像Iaに投影した投影点の集まりを抽出し、抽出された投影点の集まりに外接する矩形状等の枠を、カメラ画像Iaに重畳し、合成画像を生成する。そして、画像生成部113は、合成画像を出力し、ディスプレイ120に表示させる。
以上のように、コンピュータ300で実行されるステップS401~S403の処理によって、画像処理部110は、撮像部100で撮像された2つのカメラ画像から、3次元物体の画像と3次元物体に関する位置情報とを生成して出力する。さらに、撮像部100及びコンピュータ300は、上記の処理を繰り返してもよい。
図9には、ステップS403の処理によって生成される合成画像の例が、示されている。車体後方のカメラに近い位置にある障害物、例えば、図9の例では、歩行者及び停止車両に注意を喚起する枠が表示されるため、接触する可能性が高い障害物の存在を運転者が容易に認知できる。また、特に、複眼カメラシステム10では、各カメラは魚眼レンズを用いていることから、180度のカメラ画像とカメラ画像に対応する3次元座標との取得が可能である。
以上のように、複眼カメラシステム10の撮像部100、及び、コンピュータ300で実現される画像処理部110は、これらによる動作の結果、2つのカメラで撮像されたカメラ画像からカメラ画像に含まれる点に対応する被写体上の点の3次元座標を算出する。さらに、画像処理部110は、「対応点の組に含まれる画素座標の組」と「対応点の組に対する被写体上の点の3次元座標」との組に基づいて、カメラの視野内の障害物等の3次元物体を検出し表示することができる。その結果、複眼カメラシステム10を搭載した自動車の運転者は、自動車の周囲の障害物等の3次元物体を容易に把握することができる。
[1-2-2.自己校正動作]
上述した複眼カメラシステム10は、予め記録しておいたカメラパラメタセットを用いて被写体の3次元座標の算出をしている。一方、このカメラパラメタセットは、経年変化、外力又は温度変化等の影響を受けた場合に、変形等を生じて変わる場合がある。このような場合、カメラの校正が必要になる。以下、複眼カメラシステム10における自己校正時の動作について、図10及び図11を用いて説明する。なお、図10は、図2の複眼カメラシステム10のカメラパラメタセット算出装置111の詳細な構成を示した機能的な構成図である。図11は、実施の形態1に係る複眼カメラシステム10の画像処理部110における自己校正処理S111の一例を表すフローチャートである。自己校正処理S111は、自己校正動作の際の画像処理部110の処理である。
図10に示すように、自己校正処理S111を行うカメラパラメタセット算出装置111は、取得部901と、対応点算出部902と、評価値算出部903と、カメラパラメタ決定部904と、カメラパラメタ出力部905とを含む。取得部901と、対応点算出部902と、評価値算出部903と、カメラパラメタ決定部904と、カメラパラメタ出力部905とによる各構成要素は、画像処理部110の各構成要素と同様の構成を有してもよい。
取得部901は、カメラ101a及び101bそれぞれによって撮影されたカメラ画像Ia及びIbを、撮像部100から取得する。取得部901は、撮像部100又は画像処理部110等が有する図示しない半導体メモリのようなメモリ等の記憶装置に格納されたカメラ画像Ia及びIbを取得してもよい。各カメラ画像Ia及びIbは、校正の基準となる同一の対象を含む。また、取得部901は、カメラ101a及び101bに現在設定されているカメラパラメタで構成される初期カメラパラメタセットを、カメラパラメタ記憶部114から取得する。
対応点算出部902は、カメラ画像Ia及びIbにおいて、互いに対応する点の組すなわち対応点の組を推定して抽出し、カメラ画像Ia及びIbそれぞれでの対応点の画素座標を算出する。
評価値算出部903は、対応点の画素座標及び初期カメラパラメタセットに基づき、上述したステレオ測距技術を用いて、対応点の組に対する被写体上の点の3次元座標を算出する。以降の説明において、対応点の組に対する被写体上の点を、測距点とも呼ぶ。
また、評価値算出部903は、測距点の3次元座標をカメラ画像Ia及びIbにそれぞれ投影した点の画素値に基づき、カメラパラメタセットの評価値を算出する。以降の説明において、測距点の3次元座標を2つのカメラ画像に投影して得られる当該2つのカメラ画像上の点をそれぞれ、投影点と呼ぶ。カメラ101aで被写体を撮像して得たカメラ画像Ia及びカメラ101bで被写体を撮像して得たカメラ画像Ibに基づいて取得した測距点Pをカメラ画像Iaに投影した投影点を第1投影点と呼び、同一の測距点Pをカメラ画像Ibに投影した投影点を第2投影点と呼んでもよい。
カメラパラメタ決定部904は、評価値算出部903によって算出された評価値に基づき、現在、カメラ101a及び101bに設定されているカメラパラメタセットを変更すべきか否かを判定する。カメラパラメタ決定部904は、判定結果に基づき、カメラパラメタセットを変更つまり更新する。このように、カメラパラメタ決定部904は、カメラパラメタセットを決定する。カメラパラメタ出力部905は、カメラパラメタ決定部904で決定されたカメラパラメタセットを取得し、カメラパラメタ記憶部114等に出力する。
図11に示すように、カメラパラメタセット算出装置111は、ステップS1001~S1008を含む自己校正処理S111を行うことによって、カメラ101a及び101bに設定されているカメラパラメタのセット、つまり、初期カメラパラメタセットを校正する。自己校正処理S111において、カメラパラメタセット算出装置111は、自動的に校正処理を行う。カメラパラメタセット算出装置111は、スイッチ、タッチパッド、キーボード等の図示しない入力装置を介して、ユーザによって複眼カメラシステム10へ校正指示が入力されると、カメラ101a及び101bの自己校正処理を開始する。例えば、ユーザは、カメラ101a又は101bの異常を確認した場合、校正指示を入力してもよく、カメラ101a及び101bの製造完了後の工場出荷前に、校正指示を入力してもよい。また、カメラパラメタセット算出装置111は、予め設定された時期に、自己校正処理を自動的に開始してもよい。
カメラパラメタセット算出装置111の自己校正処理S111の開始後、ステップS1001において、取得部901は、カメラ101a及び101bによって撮影されたカメラ画像Ia及びIbを取得する。さらに、ステップS1002において、取得部901は、カメラパラメタ記憶部114に予め格納されているカメラ101a及び101bそれぞれの初期カメラパラメタセットCa0及びCb0を読み込む。ここで、「予め」とは、「カメラパラメタセット算出装置111が自己校正処理を開始する前」であることを意味してもよい。
ステップS1003において、対応点算出部902は、取得されたカメラ101a及び101bのカメラ画像Ia及びIbを用いて、図5に示すステップS402と同じ対応点探索手法により、2つのカメラ画像Ia及びIb間の対応点の組を複数組推定する。さらに、対応点算出部902は、カメラ画像Iaに含まれる対応点Panの画素座標(uan,van)及びカメラ画像Ibに含まれる対応点Pbnの画素座標(ubn,vbn)を算出して出力する。なお、nは、1~Nの値をとり、第nの対応点の組は対応点Pan及び対応点Pbnを含む。
ここで、ステップS1004~S1007は、ステップS1006での判定結果に応じて、繰り返される。そして、繰り返しの度に、カメラ101a及び101bそれぞれのカメラパラメタセットが更新される。このため、r回目の繰り返し時のカメラ101a及び101bそれぞれのカメラパラメタセットを、カメラパラメタセットCar及びCbrと表す。初期カメラパラメタセットの場合、r=0である。
ステップS1004において、評価値算出部903は、N個の対応点の組にそれぞれ含まれる対応点の画素座標と、カメラ101a及び101bそれぞれのカメラパラメタセットCar及びCbrとを用いて、ステレオ測距技術を用いた下記の式11により、N個の対応点の組に対応する点の3次元座標(xarn,yarn,zarn)を算出して出力する。つまり、評価値算出部903は、N個の測距点の3次元座標を算出する。
Figure 0007016058000009
さらに、ステップS1005において、評価値算出部903は、N個の測距点の3次元座標と、カメラ101a及び101bのカメラパラメタセットCar及びCbrとを用いて、各測距点をカメラ101a及び101bのカメラ画像Ia及びIbに投影する。そして、評価値算出部903は、各測距点について、測距点をカメラ画像Ia及びカメラ画像Ibそれぞれに投影して得られる第1投影点及び第2投影点を算出する。カメラ画像Ia上の投影点が第1投影点、カメラ画像Ib上の投影点が第2投影点である。「測距点をカメラ画像Iaに投影する」とは、評価値算出部903が、下記の式12により、測距点の3次元座標を、カメラ画像Iaの画素座標に座標変換する、ことである。「測距点をカメラ画像Ibに投影する」とは、評価値算出部903が、下記の式13により、測距点の3次元座標を、カメラ画像Ibの画素座標に座標変換する、ことである。これにより、評価値算出部903は、測距点をカメラ画像Iaに投影した投影点の画素座標(uarn,varn)、及び、同一の測距点をカメラ画像Ibに投影した投影点の画素座標(ubrn,vbrn)を、各測距点について算出する。式12における関数Gは、上記式1~式3及び式5に基づく、測距点の3次元座標からカメラ画像Iaの画素座標への座標変換を示す。式13における関数Hは、上記式1~式3及び式5に基づく、測距点の3次元座標からカメラ画像Ibの画素座標への座標変換を示す。
Figure 0007016058000010
さらに、評価値算出部903は、カメラ画像Ia及びIbと、カメラパラメタセットCar及びCbrとを用いて、測距点をカメラ画像Iaに投影した第1投影点の画素値iarと、同一の測距点をカメラ画像Ibに投射した第2投影点の画素値ibrとを算出する。例えば、第1投影点の画素座標を(uarn,varn)とし、第2投影点の画素座標を(ubrn,vbrn)とすると、第1投影点の画素値iarは、Ia(uarn,varn)と表され、第2投影点の画素値ibrは、Ib(ubrn,vbrn)と表される。
なお、評価値算出部903は、測距点をカメラ画像Iaに投影した投影点の座標値と、同一の測距点をカメラ画像Ibに投影した投影点の座標値とを、各測距点について算出する。そして、評価値算出部903は、カメラ画像Ia上の投影点の画素値iarとカメラ画像Ib上の投影点の画素値ibrとの差の絶対値の総和で定義される評価値Jを、下記の式14に示す評価関数に基づき算出する。なお、式14において、Nは、測距点の数量である。
Figure 0007016058000011
また、本実施の形態では、画素値は、画素の輝度値である。実数精度の画素座標に対し、画素値はバイキュービック補間で算出される。なお、画素値は輝度値に限定するものではなく、輝度値の代わりにRGB値を用いてもよい。また、実数精度の画素座標に対する画素値の算出方法は、バイキュービック補間に限定されるものではなく、バイリニア補間など他の補間方法であってもよい。また、評価値Jの計算における各測距点に対応するカメラ画像Ia上の投影点の画素値とカメラ画像Ib上の投影点の画素値との差の絶対値を加算した値を算出する際に、画素値の差の絶対値に重みを付けてもよい。例えば、被写体の色が連続的に変化する点群の重みを大きくしてもよく、被写体の表面の凹凸が大きい点群の重みを小さくしてもよい。これらの重み付けは、カメラパラメタの連続的な変化に対し、評価値Jの変化を滑らかにし、評価値Jを最小化し易くする効果が期待できる。
次に、ステップS1006において、カメラパラメタ決定部904は、カメラ101a及び101bのカメラパラメタセットCar及びCbrの更新の終了条件が満たされているか否かを判定する。終了条件が満たされていない場合(ステップS1006でNO)、カメラパラメタ決定部904は、カメラパラメタセットCar及びCbrを変更するために、ステップS1007の処理に進む。終了条件が満たされている場合(ステップS1006でYES)、カメラパラメタ決定部904は、カメラパラメタセットの更新の終了をして、更新されて最新の状態のカメラパラメタセットCar及びCbrを、カメラ101a及び101bのカメラパラメタセットに決定して出力し、ステップS1008の処理に進む。なお、終了条件は、カメラパラメタの所与の探索範囲内の探索が完了していること、評価値Jが第一閾値未満であること、及び、ステップS1004~S1007の繰り返し回数rが第二閾値よりも大きいことの少なくとも1つである。
ステップS1007において、カメラパラメタ決定部904は、r+1回目のカメラパラメタセットの変更、つまり更新を行う。具体的には、カメラパラメタ決定部904は、カメラ101a及び101bのカメラパラメタセットCar及びCbrを所与の範囲で変更し、新たなカメラパラメタセットCar+1及びCbr+1を算出する。カメラパラメタ決定部904は、カメラパラメタセットCar+1及びCbr+1を出力し、ステップS1004の処理に進む。これにより、ステップS1004~S1007によるr+1回目の一連の反復処理が行われる。なお、カメラパラメタの探索範囲は、予め設定された各カメラパラメタが取り得る範囲であってもよい。例えば、探索範囲は、全て初期カメラパラメタの±5%であってもよい。
ステップS1008において、カメラパラメタ出力部905は、上述したステップS1004~ステップS1007の反復処理によって算出されたカメラパラメタセットと、当該カメラパラメタセットに対応する評価値Jとによる複数の組を取得する。カメラパラメタセットに対応する評価値Jは、当該カメラパラメタセットを用いて算出された評価値である。カメラパラメタ出力部905は、複数組のカメラパラメタセット及び評価値Jから、評価値Jが最小である組のカメラパラメタセットを選択する。さらに、カメラパラメタ出力部905は、選択したカメラパラメタセットに対応する評価値Jが、初期カメラパラメタセットに対応する評価値Jよりも小さい場合に、カメラパラメタ記憶部114に記憶された初期カメラパラメタセットを、選択したカメラパラメタセットで置き換える。このように、カメラパラメタセットが最適なカメラパラメタセットに更新される。また、上述したステップS1002~S1008の動作を、下記の式15に表すことができる。なお、ステップS1001~S1008の処理は、図4のコンピュータ300で実行されてもよい。
Figure 0007016058000012
以上のように、カメラパラメタセット算出装置111は、自己校正処理S111により、カメラ101a及び101bのカメラ画像からステレオ測距により複数の対応点の組のそれぞれに対応する測距点の3次元座標を算出する。さらに、カメラパラメタセット算出装置111は、測距点をカメラ画像Iaに投影した第1投影点の画素座標及び同一の測距点をカメラ画像Ibに投影した第2投影点の画素座標を算出し、第1投影点の画素値と第2投影点の画素値との差に基づいて評価値を算出する。カメラパラメタセット算出装置111は、この評価値を最小にするカメラ101a及び101bのカメラパラメタセットCar及びCbrを算出することで、正解値又は正解値との誤差の小さいカメラパラメタセットを得ることができる。
[1-3.自己校正処理の効果の検証]
以下、上述したカメラパラメタセット算出装置111の自己校正処理S111が、カメラ101a及び101bのカメラパラメタを正確に算出することが可能であることを、シミュレーションによる実験結果をもとに検証し説明する。
上記の式14に示す評価値Jの評価関数に基づいて、カメラパラメタの正解値に対する誤差を小さくするカメラパラメタを算出するためには、式14の評価関数が以下の2つの条件を満たす必要がある。
(i)カメラパラメタが正解値である場合に、評価値Jも最小であること
(ii)カメラパラメタの正解値の近傍で、評価関数が下に凸の線形を形成すること
カメラ101a及び101bで撮影されるカメラ画像として、図12A及び図12Bのカメラ画像が入力された場合を例に、式14の評価値Jの評価関数が、上述の2つの条件(i)及び(ii)を満たしていることを、以下の実験結果により示す。
(実験条件1)
実験条件1では、カメラのカメラパラメタの1つを変更しつつ評価値を算出し、評価値の算出結果と、予め既知であるカメラパラメタの正解値とを比較する実験を行った。各カメラ101a及び101bのカメラパラメタセットのうち、内部パラメタセットは、上記の式4の等距離射影モデルに従って、カメラの光軸中心の画素座標(cu,cv)、カメラの焦点距離f、カメラの撮像素子1画素分のx方向及びy方向それぞれの長さdpx及びdpyの計5個のパラメタを含む。外部パラメタセットMは、上記の式1及び式2と同様の下記の式16のように示される。外部パラメタセットMは、カメラ座標系の世界座標系に対する具体的な変位量として、X、Y及びZの各軸周りの回転量R、R及びRと、X、Y及びZの各軸方向の並進量T、T及びTの計6個のパラメタを含む。2台のカメラ101a及び101bのカメラパラメタセットには、合計22個のパラメタが含まれる。なお、X軸、Y軸及びZ軸は、世界座標系の基準軸である。
Figure 0007016058000013
ここで、dpxとf、及び、dpyとfは、スケールの不定性により一意に求める事ができないため、dpyを設計値(一定)とする。また、図7Aのように設置された2つのカメラのカメラ画像を用いる場合、2つのカメラのカメラパラメタにおける基線長方向(例えば、X軸方向)の並行移動量Tについても、スケールの不定性により一意に求めることができないため、Tは設計値(一定)とする。これにより、評価値Jは、cu、cv、f、dpx、R、R、R、T及びTによる各カメラで9個のカメラパラメタを変数とする関数となる。
実験に用いた画像が図12A及び図12Bに示されている。図12A及び図12Bは、駐車場のシーンのカメラ画像の例であり、コンピュータグラフィックス(CG)で生成した。図12Aに示す画像及び図12Bに示す画像はそれぞれ、カメラ101a及び101bのカメラ画像である。本実験では、対応点算出部902によって、図12Aのカメラ画像及び図12Bのカメラ画像のそれぞれに含まれる点であって且つ互いに対応する点の組、すなわち、対応点の組を算出する代わりに、予め既知である対応点の組の正解値を用いた。
対応点の組の正解値を入力値として、カメラ101a及び101bの全てのカメラパラメタを正解値である設計値に設定したのち、カメラ101bの1つのカメラパラメタのみを変えた場合の評価値Jを算出した。
(実験結果1)
上記の実験条件1による実験結果1を説明する。具体的には、9個のカメラパラメタについて、正解値近傍での評価値が、図13A~図15Bに示すように得られた。各図中の横軸が各カメラパラメタの値を示し、縦軸が評価値Jを示す。変化させるカメラパラメタはそれぞれ、図13Aではcu、図13Bではcv、図13Cではf、図13Dではdpx、図14AではR、図14BではR、図14CではR、図15AではT、図15BではTである。
また、各カメラパラメタの正解値は、cuでは640pixel、cvでは480pixel、fでは1.12mm、dpxでは2.75μm、Rでは0°、Rでは0°、Rでは0°、Tでは0mm、Tでは0mmである。各図中の横軸の中央部がカメラパラメタの正解値である。
図13A~図15Bのいずれにおいても、カメラパラメタの正解値の近傍(横軸の中央部)で評価関数は下に凸の線形を描き、且つ、評価値が最小となるカメラパラメタは正解値と一致していることがわかる。このことから、図13A~図15Bで示すカメラパラメタの範囲において、評価値Jが最小となるカメラパラメタを算出できると言える。言い換えると、本方式によるカメラ校正が可能である。
例えば、図13Aに関して、cuの634~646pixelの範囲において、cuを一定の間隔又はランダムな間隔で増減させながら評価値が算出される。さらに、算出された評価値の中で、評価値が最小となるカメラパラメタcu、又は評価値が十分小さいパラメタcuが、最適値として決定される。このように決定されたカメラパラメタcuは、正解値である又は正解値との誤差が小さいカメラパラメタである。
以上のことから、式14の評価関数が、正解値の近傍で上述の2つの条件(i)及び(ii)を満たしていることが、実験条件1の実験例により示される。
(実験条件2)
実験条件2では、本開示のカメラパラメタセット算出装置111を用いて自己校正処理S111を実施することにより、誤差を小さくするようにカメラパラメタを算出し、算出結果を検証する実験を行った。
本実験では、図12A及び図12Bに示される2つのカメラ画像がカメラパラメタセット算出装置111に入力され、2つのカメラ画像間の対応点の組には、実験条件1と同様に、予め既知である正解値が用いられた。また、カメラ101a及び101bの全てのカメラパラメタを正解値である設計値に設定したのち、カメラ101bの9つのカメラパラメタについて所定の範囲内のランダムノイズを加算し、加算後のカメラパラメタを初期カメラパラメタとした。カメラ101bの9つのパラメタのうち1つのパラメタのみを、所定の範囲内で変化させつつ評価値を算出し、算出された評価値の中で、評価値が最小となるカメラパラメタを最適値に決定する。この処理を9つのカメラパラメタに対して順に繰り返す処理を1回の試行として、さらに複数回の試行を繰り返した。
(実験結果2)
上記の実験条件2による実験結果2を説明する。具体的には、実験結果2の例が、図16A及び図16Bに示すように得られた。図16Aでは、横軸が試行回数を示し、縦軸が式14の評価値Jを示す。つまり、図16Aは、横軸の回数での試行を実施して得られたカメラパラメタを用いて算出した評価値が、縦軸の値で示されている。図16Bでは、横軸が試行回数を示し、縦軸が再投影誤差のRMS値を示す。再投影誤差とは、算出したカメラパラメタが、式1と式3とを満たす度合いを表す。具体的には、カメラ101bのカメラ画像Ibに映った被写体上の3次元座標とその画素座標との組の正解値が既知である場合に、算出したカメラ101bのカメラパラメタを用いて、正解の3次元座標をカメラ画像Ib上に投影した画素座標を算出し、算出した画素座標と正解の画素座標との差を、再投影誤差と呼ぶ。すなわち、再投影誤差が小さいほど、式1及び式3を満たすような、正解との誤差が小さいカメラパラメタであることを表す。図16A及び図16Bのいずれにおいても、試行回数が増えるほど評価値が小さくなる。よって、2つのカメラ画像の投影点における画素値の差が小さくなる。同時に、試行回数が増えるほど再投影誤差も小さくなっている。
以上のことから、本開示のカメラパラメタセット算出装置111による自己校正処理S111によって、再投影誤差が小さい、すなわち、式1及び式3をよく満たし且つ正解値との誤差の小さいカメラパラメタを算出できているといえる。
以上のことから、自己校正処理S111によって得られた、上記の式14の評価値Jを最小にするカメラパラメタは、少なくとも評価値Jの評価関数が前述の2つの条件(i)及び(ii)を満たす場合に、正解値、又は誤差の小さいカメラパラメタであると言える。すなわち、カメラパラメタセット算出装置111によるステップS1001~ステップS1008の処理によって、カメラ101a及び101bの2つのカメラ画像と初期カメラパラメタセットとを用いて、カメラ101a及び101bの正確なカメラパラメタを算出して更新できるという効果がある。
従来の校正技術では、3次元座標と画素座標との対応が既知である複数の基準点を用いるため、校正指標を備える設備等が必要にある。これに対し、本実施の形態に係るカメラパラメタセット算出装置111は、2つのカメラのカメラ画像を用いて対応点の組を抽出し、抽出された対応点の組に対する被写体上の点の3次元座標を算出し、さらに3次元座標を用いて各カメラのカメラ画像における対応点の組に含まれる対応点の投影点を算出する。カメラパラメタが正しい場合、2つのカメラ画像の投影点の画素値は一致し、カメラパラメタの誤差が大きいほど2つのカメラ画像の投影点の画素値の差が大きくなる。そこで、カメラパラメタセット算出装置111は、2つのカメラ画像の投影点の画素値の差を最小にするカメラパラメタを算出することで、最適つまり正解のカメラパラメタを算出する。これにより、カメラパラメタセット算出装置111は、3次元座標と画素座標との対応が既知である基準点、つまり校正指標を備える設備等がなくても、カメラの校正を可能にするという効果を奏する。
[実施の形態2]
実施の形態2に係る複眼カメラシステム20は、そのカメラパラメタセット算出装置211が、実施の形態1における対応点算出部902の代わりに3次元点群算出部906を備える点で、実施の形態1と異なる。以下、実施の形態2に係る複眼カメラシステム20について、実施の形態1と異なる点を中心に説明する。
図17を参照すると、実施の形態2に係る複眼カメラシステム20における画像処理部210のカメラパラメタセット算出装置211の機能的な構成を示す模式図が示されている。画像処理部210は、カメラパラメタセット算出装置211、位置算出部112、画像生成部113及びカメラパラメタ記憶部114を備える。カメラパラメタセット算出装置211は、取得部901、3次元点群算出部906、評価値算出部903、カメラパラメタ決定部904及びカメラパラメタ出力部905を含む。
3次元点群算出部906は、カメラ101a及び101bの一方によって撮影されたカメラ画像において、所定領域を示す点の3次元座標を算出する。つまり、3次元点群算出部906は、所定の領域を示す3次元点群を算出し出力する。所定領域は、カメラ101a及び101bに対する位置情報が、仮定により定められている領域であり、所定領域に対応する3次元空間における領域の位置が不動であってもよい。具体的には、所定領域に対応する3次元空間における領域は、カメラ101a及び101bから十分に離れた不動な領域であってもよく、例えば、空の領域であってもよい。所定領域に対応する3次元空間における領域は、カメラ101a及び101bに対する位置が、実際の計測値ではなく仮定により設定できるような不動な領域であってもよく、例えば、路面、地面、構造物の天井面、又は、構造物の壁面の3次元空間内で平面を形成する被写体の領域であってもよい。3次元点群算出部906は、カメラ画像上の画素が所定領域に含まれるか否かを、例えば、画素の輝度、又はテクスチャに基づき判定し得る。さらに、3次元点群算出部906は、所定領域が空を撮像した領域、路面を撮像した領域、地面を撮像した領域、構造物の天井面を撮像した領域、構造物の壁面を撮像した領域等のいずれであるか、つまり所定領域の種類を、例えば、画素の輝度、又は、テクスチャに基づき判定し得る。ここで、所定領域は、所定部分の一例である。所定領域は、点であってもよく、1つの画素程度の面積を有する部分であってもよく、複数の画素を含むような面積を有する部分であってもよい。あるカメラ画像において、仮定の3次元位置情報が設定された所定領域を、当該画像中の所定部分とも呼ぶ。同様に、あるカメラ画像において、所定領域以外の領域を、当該画像中の所定外部分とも呼ぶ。
次いで、図17~図19を用いて、実施の形態2に係る複眼カメラシステム20の自己校正の動作を説明する。なお、図18は、実施の形態2に係る画像処理部210の自己校正時の動作の流れの一例を示すフローチャートである。図19は、図18における3次元点群を算出する処理であるステップS2003の処理の流れの詳細の一例を示すフローチャートである。図18における自己校正処理S211は、自己校正動作の際の画像処理部210の処理である。
例えば、実施の形態1における自己校正処理S111では、ステップS1003及びS1004において、カメラ101a及び101bの2つのカメラ画像間で、N組の対応点の組のそれぞれに含まれる対応点の画素座標(uan,van)及び対応点の画素座標(ubn,vbn)が算出されていた。さらに、それぞれの対応点の組に含まれる対応点の画素座標と、カメラ101a及び101bのカメラパラメタセットCar及びCbrとを用いて、測距点の3次元座標(xarn,yarn,zarn)が算出されていた。しかしながら、実施の形態2における自己校正処理S211では、2つのカメラ画像間で推定された対応点の組を用いてその対応点の組に対応する3次元座標を算出する代わりに、位置情報が仮定により設定された領域が用いられる。例えば、位置情報が仮定により設定された領域は、所定領域に関して上述した領域で例示される。
図18に示すように、自己校正処理S211は、3次元点群を算出するステップS2003の処理を除き、自己校正処理S111と同様のステップS1001、1002及びS1005~S1008の処理を含む。ステップS2003の処理は、ステップS1002とステップS1005との間で行われる。さらに、自己校正処理S211では、ステップS1007の処理の後、ステップS2003の処理が行われる。カメラパラメタを更新するために、自己校正処理S111では、ステップS1004~S1007の処理が繰り返されていたが、自己校正処理S211では、ステップS2003及びS1005~S1007の処理が繰り返される。
具体的には、自己校正処理S211では、ステップS1001及びS1002において、カメラパラメタセット算出装置211の取得部901が、カメラ101a及び101bによって撮影されたカメラ画像Ia及びIbと、カメラ101a及び101bそれぞれの初期カメラパラメタセットCa0及びCb0とを取得する。カメラ画像Ia及びIbは、同じの被写体を撮影して得られた画像である。次いで、ステップS2003において、カメラパラメタセット算出装置211の3次元点群算出部906は、カメラ101a及び101bの一方で撮影されたカメラ画像において、所定領域を示す3次元点群を算出し出力する。その後、カメラパラメタセット算出装置211は、ステップS1005~S1008の処理を行う。
ここで、図19を参照して、自己校正処理S211におけるステップS2003の処理の詳細を説明する。以下の説明では、カメラ101aのカメラ画像Iaの各画素に対応する3次元座標を算出して、3次元点群を出力する場合の動作について示す。なお、カメラ101bのカメラ画像Ibを用いてカメラ画像Ibの各画素に対応する3次元座標を算出して、3次元点群を出力する場合の動作は、カメラ画像Iaを用いてカメラ画像Iaの各画素に対応する3次元座標を算出して、3次元点群を出力する場合の動作と同様に説明できる。
まず、ステップS2101において、3次元点群算出部906は、ステップS1001で取得されたカメラ101a及び101bのそれぞれのカメラ画像Ia及びIbと、カメラ101a及び101bのカメラパラメタセットCar及びCbrとを読み込む。カメラパラメタセットCar及びCbrは、図18のステップS2003及びS1005~S1007の反復がr回目であるときのカメラパラメタセットである。ステップS1002で取得された初期カメラパラメタセットは、カメラパラメタセットCa0及びCb0である。
3次元点群算出部906は、カメラ画像Iaのm番目の画素に対して、以降のステップS2102~S2106の処理を行う。3次元点群算出部906は、カメラ画像Iaに含まれるM個の画素全てに対して、ステップS2102~S2106の処理を順次実施し、それにより、M個の3次元座標を算出する。
ステップS2102において、3次元点群算出部906は、カメラ画像Iaのm番目の画素について、パターン認識手法を用いて、所定領域に該当する画素であるか否かを判定する。画像中での上述したような所定領域の抽出、例えば、空を撮像した領域の抽出及び路面を撮像した領域の抽出は、パターン認識手法を含めて既知の様々な手法を用いて実現可能である。例えば、上記の非特許文献4に、そのような抽出手法が開示されているが、その詳細な説明を省略する。そして、3次元点群算出部906は、M個全ての画素について、所定領域に該当するか否かを判定する。3次元点群算出部906は、所定領域に該当する画素(ステップS2102でYES)については、ステップS2105の処理を行い、所定領域に該当しない画素(ステップS2102でNO)については、ステップS2103及びS2014の処理を行う。
図20に、ステップS2102において、カメラ101aのカメラ画像Iaの各画素が所定領域に該当するか否かを判定した結果の一例を示す。なお、図20は、実施の形態2に係るカメラパラメタセット算出装置211によって抽出される所定領域Pの一例を示す図である。図20における(A)は、カメラ101aのカメラ画像Iaを示す図であり、図20における(B)は、当該カメラ画像Iaにおける所定領域に該当する画素領域を示す図である。カメラ画像Iaからは、当該画素領域として、斜線でハッチ付けされた空領域Sと、縦線でハッチ付けされたアスファルトの路面領域Gとが抽出されている。以降、説明を簡単にするために、空領域S及び路面領域Gをあわせて所定領域Pと呼ぶこともある。
3次元点群算出部906は、所定領域Pとして判定された画素それぞれについて、ステップS2105の処理により、それらの3次元座標を算出する。3次元点群算出部906は、所定領域Pとして判定されなかった画素それぞれについて、ステップS2103及びS2104の処理により、それらの3次元座標を算出する。以降の説明において、所定領域Pとして判定された画素を域内画素と呼び、所定領域Pとして判定されなかった画素を域外画素と呼ぶ。カメラ画像に所定領域Pが含まれない場合、全ての画素が域外画素である。
ステップS2103では、3次元点群算出部906は、所定領域Pとして判定されなかったカメラ画像Iaの域外画素を第1対応点とし、当該第1対応点に対応するカメラ画像Ib上の第2対応点を、実施の形態1のステップS1003での対応点探索手法と同様の手法により推定する。つまり、3次元点群算出部906は、「カメラ画像Iaの域外画素」と、「カメラ画像Ib上の画素であってカメラ画像Iaの域外画素に対応する画素」との組を推定する。そして、3次元点群算出部906は、各域外画素に位置する対応点ついて、画像Ia及びIbでの画素座標(uam,vam)及び(ubm,vbm)を算出する。つまり、域外画素の画素座標(uam,vam)及び画素座標(ubm,vbm)を含む画素座標の組を算出する。画素座標(uam,vam)は、カメラ画像Iaの域外画素におけるm番目の域外画素の画素座標を示す。
ステップS2104では、3次元点群算出部906は、域外画素の画素座標を含む画素座標の組[(uam,vam),(ubm,vbm)]と、カメラ101a及び101bのカメラパラメタセットCar及びCbrとを用いて、上記の式11により域外画素の画素座標を含む画素座標の組[(uam,vam),(ubm,vbm)]に対する3次元座標(xarm,yarm,zarm)を算出する。よって、ステップS2103及びS2014の処理は、実施の形態1におけるステップS1003及びS1004の処理と同様である。
また、ステップS2105では、3次元点群算出部906は、所定領域Pとして判定された域内画素それぞれの3次元座標(xarm,yarm,zarm)を算出する。3次元座標(xarm,yarm,zarm)は、カメラ画像Iaの域内画素におけるm番目の域内画素の3次元座標を示す。3次元点群算出部906は、所定領域P内の全ての域内画素の3次元座標を算出する。例えば、空領域Sの域内画素については、空とカメラ101aとの距離が十分遠いと仮定することに基づき、3次元座標が算出される。また、路面領域Gの域内画素については、域内画素の被写体つまり路面が、3次元空間内の所定の平面上であると仮定することに基づき、3次元座標が算出される。
空領域Sの域内画素の3次元座標は、カメラ画像Iaにおける域内画素の画素座標が(uam,vam)であり、カメラ101aのカメラパラメタセットがCarであるとき、上記の式1~式3において、例えばze=10000[m]のように、カメラ座標系での空の高さ位置zeを非常に大きな値に仮定して決定することで、算出され得る。路面領域Gの域内画素の3次元座標は、カメラ画像Iaにおける域内画素の画素座標が(uam,vam)であり、カメラ101aのカメラパラメタセットがCarであるとき、上記の式1~式3において、例えば、zw=0[m]のように、世界座標系での略水平な路面の高さ位置zwを所定の位置に仮定して決定することで、算出され得る。上述のように仮定された空領域Sの高さ位置ze及び路面領域Gの高さ位置zwは、所定領域Pの仮定の3次元位置情報の一例である。仮定の3次元位置情報は、下記に示すように、様々な位置情報が適用されてもよい。
なお、空とカメラとの距離が十分遠いという仮定に基づき空領域Sの3次元座標を算出する場合、空とカメラとの距離の一例として、ze=10000[m]を採用したが、空とカメラとの距離は、これに限定されない。空とカメラとの距離は、カメラ101aとカメラ101bとの間の距離に対して十分に大きな値であれば他の値でもよい。また、空とカメラとの距離は、空の高さ位置zeに限定されるものでなく、カメラ座標系での空の水平方向位置xe又はyeを用いて、設定されてもよく、xe、ye及びzeの少なくとも1つを用いて設定されてもよい。例えば、空とカメラとの距離は、|xe,ye,ze|=10000[m]である、つまり、カメラから空上の点(xe,ye,ze)までの距離が10000[m]であるとしてもよい。
ステップS2104及びS2105に続くステップS2106において、3次元点群算出部906は、カメラ画像Iaの全ての画素について、3次元座標の算出が完了したか否かを判定する。3次元点群算出部906は、全ての画素の3次元座標の算出が完了している場合(ステップS2106でYES)、ステップS2107の処理に進む。3次元点群算出部906は、3次元座標の算出が完了していない画素がある場合(ステップS2106でNO)、ステップS2102に進み、3次元座標が未算出の画素に対して、ステップS2102~S2105の処理を行う。そして、3次元点群算出部906は、全ての画素の3次元座標を算出するまで、ステップS2102~S2106の処理を繰り返す。
ステップS2107では、3次元点群算出部906は、カメラ画像Iaの全ての画素の3次元座標、つまり、算出したM個の3次元座標(xarm,yarm,zarm)を出力する。なお、(xarm,yarm,zarm)は、(xarm,yarm,zarm)及び(xarm,yarm,zarm)を含む。
上述したように、3次元点群算出部906は、ステップS2003が含むステップS2101~S2107の処理により、所定領域P及び所定領域P以外の領域についてのM個の点つまり測距点の3次元座標(xarm,yarm,zarm)を算出する。
図18を参照すると、ステップS2003の後、ステップS1005において、カメラパラメタセット算出装置211の評価値算出部903は、M個の測距点の3次元座標と、カメラ101a及び101bのカメラパラメタセットCar及びCbrとを用いて、各測距点をカメラ画像Ia及びIbにそれぞれ投影した投影点を算出する。評価値算出部903は、カメラ画像Iaにおける投影点(uarm,varm)での画素値Ia(uarm,varm)及びカメラ画像Ibにおける投影点(ubrm,vbrn)での画素値Ib(ubrm,vbrm)を算出する。そして、評価値算出部903は、画素値Ia(uarm,varm)と画素値Ib(ubrm,vbrm)との差を表す評価値Jを算出する。
ステップS1006以降の処理において、カメラパラメタセット算出装置211は、実施の形態1と同様にして、評価値Jに基づいて、評価値Jを最小にするカメラパラメタセットCar及びCbrを求める。このようなカメラパラメタセットCar及びCbrを求めることで、カメラ101a及び101bの正しいカメラパラメタセットを求めることができる。すなわち、カメラ101a及び101bの校正が可能となる。
以上のように、実施の形態2に係る複眼カメラシステム20は、カメラ101a及び101bの自己校正動作において、実施の形態1での自己校正動作と同様に、校正指標上の基準点などの3次元座標が既知の点と、当該既知の点のカメラ画像上での画素座標との対応付けを必要としない。そのため、校正指標等を備える設備が不要であるという効果がある。
また、実施の形態2に係る複眼カメラシステム20の自己校正動作では、カメラと所定領域に対応する3次元空間の領域との距離に対して、所定領域に含まれる領域の1つに対応する3次元空間の領域である空がカメラから十分遠いという仮定と、所定領域の1つである路面の領域がzw=0の平面上にあるという仮定とを適用した。これらの仮定は、時間の経過、外力の付与及び温度変化等が生じた場合でも、変わらない。このような複眼カメラシステム20は、自己校正動作において、実施の形態1の自己校正動作と同様に、校正指標等の3次元座標が既知の特定の被写体を用いないため、特定の被写体の3次元座標が変化するような、時間の経過、外力の付与及び温度変化等が生じた場合でも、カメラを正しく校正できるという効果がある。
実施の形態1に係る複眼カメラシステム10は、自己校正動作において、対応点の組に対する3次元座標(xarn,yarn,zarn)を求めるために、対応点探索手法により、カメラ101a及び101bのカメラ画像間の対応点の組に含まれる対応点の画素座標(uan,van)及び対応点の画素座標(ubn,vbn)を算出した。対応点探索手法によって推定された対応点の組に含まれる対応点の画素座標には、誤差が含まれる可能性がある。その結果、対応点の画素座標を用いて算出した対応点の組に対する3次元座標(xarn,yarn,zarn)にも、誤差が含まれる可能性がある。
一方、実施の形態2に係る複眼カメラシステム20は、自己校正動作において、カメラに対する距離を仮定して設定できる空領域S及び路面領域G等の所定領域Pを用い、カメラに対する所定領域Pの距離を仮定して、所定領域P内の点の3次元座標を算出した。このような仮定に基づき算出された所定領域Pの3次元座標は、実施の形態1のように対応点探索手法により算出された3次元座標に対して、誤差の低減が期待できる。そのため、複眼カメラシステム20の自己校正動作は、実施の形態1の自己校正動作よりも、算出したカメラパラメタの誤差が少ない、すなわち校正精度が高いという効果がある。
なお、複眼カメラシステム20の3次元点群算出部906は、自己校正処理S211において、所定領域Pと、所定領域P以外の領域とを判定し、各領域の3次元座標を算出した。しかしながら、3次元点群算出部906は、上記2つの領域の一方のみの3次元座標を算出し、算出した3次元座標に基づき、カメラパラメタセットを算出してもよい。また、所定領域Pが、空領域S及び路面領域G等のカメラとの距離が異なる複数の領域を含む場合、3次元点群算出部906は、複数の領域の少なくとも1つの3次元座標を算出してもよい。そして、3次元点群算出部906は、少なくとも1つの領域の3次元座標に基づき、カメラパラメタセットを算出してもよい。又は、3次元点群算出部906は、所定領域P以外の領域の3次元座標も算出し、所定領域P以外の領域の3次元座標と、所定領域Pの少なくとも1つの領域の3次元座標とに基づき、カメラパラメタセットを算出してもよい。
また、本実施の形態では、所定領域Pとして、空領域S及び路面領域Gを例示して説明したが、所定領域Pは、これらに限定されない。所定領域Pには、路面以外の平面を3次元空間内で形成する被写体が適用されてもよい。例えば、所定領域Pに、構造物の天井面又は壁面等が適用されてよい。
所定領域Pに構造物の天井面が適用される場合、複眼カメラシステム20の3次元点群算出部906は、カメラ画像上において、屋内駐車場又はトンネル等の構造物の天井面の領域を判定する。そして、3次元点群算出部906は、天井面の領域の画素の3次元位置を、世界座標系での高さ位置zw=h[m](hは天井の高さ)の略水平面上であると仮定して、天井面の領域の画素の3次元座標を算出してもよい。所定領域Pに構造物の壁面が適用される場合、3次元点群算出部906は、カメラ画像上において、特定の駐車場等の構造物の壁面の領域を判定する。そして、3次元点群算出部906は、壁面の領域の画素の3次元位置を、世界座標系での水平方向位置yw=d[m](dはカメラから壁面までの水平距離)の略鉛直面上であると仮定して、壁面の領域の画素の3次元座標を算出してもよい。
また、複眼カメラシステム20は、例えば、画像処理部210の図示しないメモリ等に、所定領域Pに該当する天井面又は壁面を有する構造物及びその位置情報、並びに、構造物における天井面及び壁面の位置情報を、予め記憶してもよい。そして、画像処理部210は、上記の位置情報に基づき、カメラ画像上において、所定領域Pに該当する天井面又は壁面が存在するか否かを判定してもよい。又は、画像処理部210は、複眼カメラシステム20が搭載される自動車のカーナビゲーションシステムから受け取る位置情報に基づき、カメラ画像上において、所定領域Pに該当する天井面又は壁面が存在するか否かを判定してもよい。カーナビゲーションシステムは、GPS(Global Positioning System)測距器を介して、緯度、経度及び高度等の自動車の3次元位置を取得する。又は、複眼カメラシステム20は、複眼カメラシステム20が搭載される自動車の外部から、無線通信等の通信を介して、天井面及び壁面に関する上記情報を取得してもよい。複眼カメラシステム20は、その所在位置に応じた、所定領域Pに該当する平面の位置情報を用いることで、より誤差の少ないカメラパラメタセットの算出を可能にする。
また、所定領域Pが、空領域S、路面領域G、天井面領域及び壁面領域等のうち2つ以上の領域を含む場合、複眼カメラシステム20の3次元点群算出部906は、各領域の域内画素の画素座標から3次元座標を算出する際の信頼度、つまり精度に基づき、3次元座標を算出する領域を取捨選択してもよい。例えば、3次元点群算出部906は、所定以上の信頼度のある領域を選択してもよい。信頼度は、各領域に仮定される3次元位置情報と、各領域の実際の位置情報との一致度等に基づいてもよい。例えば、領域が示す平面の高さ傾き等の変化の頻度が多い場合、信頼度が低くなり得る。
[自己校正動作の変形例1]
実施の形態1及び2に係るカメラパラメタセット算出装置は、ユーザによる入力を、自己校正処理S111及びS211の開始のトリガとしていたが、これに限定されない。カメラパラメタセット算出装置は、自己校正処理S111及びS211の開始を、他のトリガによって自動的に開始してもよい。例えば、カメラパラメタセット算出装置は、温度センサ、衝撃センサ、タイマ等のセンサからの入力をトリガとして、自動的に自己校正を開始してもよい。
例えば、図21を参照すると、センサ部130を備える変形例1に係る複眼カメラシステム30の構成を示すブロック図が示されている。複眼カメラシステム30は、実施の形態2の複眼カメラシステム20に加えて、温度センサ131、衝撃センサ132及びタイマ133を含むセンサ部130を備える。複眼カメラシステム30の画像処理部310のカメラパラメタセット算出装置311は、実施の形態2のカメラパラメタセット算出装置211に加えて、センサ部130から検知情報を取得し自己校正処理の開始指令を出力するセンサ情報取得部907を備える。
本変形例に係るカメラパラメタセット算出装置311は、複眼カメラシステム30の電源投入直後に、1回の自己校正処理を、実施してもよい。なお、上記の電源投入後の実施の代わりに、カメラパラメタセット算出装置311は、自己校正処理を、センサ部130のタイマ133からの入力に基づいて実施してもよく、センサ部130の衝撃センサ132からの入力に基づいて実施してもよく、センサ部130の温度センサ131の入力に基づいて実施してもよい。タイマ133からの入力に基づいた実施は、タイマ133によって検知される一定の時間ごとの実施であってもよい。衝撃センサ132からの入力に基づく実施は、複眼カメラシステム30が搭載された自動車に事故などによって加わる強い衝撃を衝撃センサ132が検知する場合に行われてもよい。なお、衝撃センサ132は、加速度センサで構成されてもよい。温度センサ131の入力に基づく実施は、複眼カメラシステム30の周囲の温度が所定の温度になることを温度センサ131が検知する場合に行われてもよい。なお、実施の形態1に係る複眼カメラシステム10が、センサ部130を備えるように構成されてもよく、さらに、複眼カメラシステム10のカメラパラメタセット算出装置111が、センサ情報取得部907を備えるように構成されてもよい。
[自己校正動作の変形例2]
実施の形態1及び2に係るカメラパラメタセット算出装置は、自己校正処理において、カメラ画像Ia及びIbに基づき3次元座標を算出した測距点の全てを用いて評価値Jを算出した。しかしながら、評価値Jの算出に測距点を全て用いる必要はない。
本変形例では、カメラパラメタセット算出装置は、測距点の3次元座標のうちから、画像の輝度勾配が無い又は十分小さい測距点の3次元座標を取り除く。これにより、カメラパラメタセット算出装置は、評価値Jの算出に用いる測距点を少なくし、評価値Jの算出における計算量を低減する。
本変形例に係るカメラパラメタセット算出装置の自己校正処理は、ステップS1005の動作を除き、実施の形態1又は2と同様である。このため、本変形例に係るステップS1005の動作を説明し、その他の説明を省略する。
ステップS1005では、カメラパラメタセット算出装置の評価値算出部903は、測距点の3次元座標と、カメラ101a及び101bのカメラパラメタセットCar及びCbrとを用いて、上記の式12及び式13により、各測距点をカメラ101a及び101bのカメラ画像Ia及びIbそれぞれに投影した投影点の画素座標を算出する。
そして、Ka個の測距点が存在する場合、評価値算出部903は、測距点のうちから、測距点をカメラ画像Iaに投影した投影点の画素座標(uar,var)における画素値の輝度勾配が0又は十分小さい測距点を除去する。除去される測距点が、Kb個(Kb>又は=0)存在する場合、評価値算出部903は、(Ka-Kb)個の測距点の3次元座標を選択する。
測距点の3次元座標(xar,yar,zar)に対応する画素座標(uar,var)の周りの画素値の輝度勾配が0の場合、カメラパラメタを微小変化させることで、この測距点に対応する画素座標(uar,var)が微小変化しても、その画素座標の画素値Ia(uar,var)は変化しない。言い換えると、評価値Jが変化しない。そのため、この様な測距点を除去したとしても評価値Jには影響が無く、且つ、測距点の数が減るため、ステップS1005の計算量を低減できるという効果がある。
なお、ステップS1005における評価値Jの算出に用いる測距点の削減には、他の手法が用いられてもよい。例えば、測距点のうちから、2つのカメラ101a及び101bの一方のカメラに映っていない測距点が除外されてもよい。この場合、測距点の3次元座標に対応する投影点のカメラ画像Ia及びIbでの画素座標を算出し、2つの画素座標のうちいずれか一方がカメラ画像の不可視領域に位置する場合に、当該測距点を評価値Jの算出から除外してもよい。
上記の式14は、同一の測距点が2つのカメラ画像Ia及びIbに写っている場合、測距点をカメラ画像Iaへ投影した投影点の画素値と、同一の測距点をカメラ画像Ibへ投影した投影点の画素値との差が0になることを意味している。一方、測距点をカメラ画像Iaへ投影した第1投影点及び同一の測距点をカメラ画像Ibへ投影した第2投影点のいずれかが、カメラ101a及び101bの遮蔽領域にある場合、撮影範囲内にあっても他の物体に遮蔽されてカメラ画像に映らない、すなわち、第1投影点と第2投影点とが同一の測距点ではなく、測距点及び投影点に誤りが含まれている可能性があることを意味している。このような第1投影点及び第2投影点は、カメラパラメタが正確な場合でも、第1投影点の画素値と第2投影点の画素値との差が0にならないため、評価値の誤差になる。そこで、ステップS1005における評価値Jの算出に用いる測距点を削減する方法として、複数の測距点のうち、その投影点が少なくとも一方のカメラに写らない、つまり、当該カメラの不可視領域に位置する測距点を評価値の算出から除外するとしてもよい。このようにすることで、評価値の誤差を小さくできるという効果が期待できる。測距点の投影点がカメラの不可視領域にあるか否かは、前述したようなカメラの撮影範囲外となる3次元空間の範囲を規定する遮蔽情報に基づいて判定してもよい。
なお、実施の形態1及び2に係るカメラパラメタセット算出装置の自己校正処理のステップS1006では、評価値Jが第一閾値よりも小さいこと、及び、処理の繰り返し回数rが第二閾値よりも大きいこと等の終了条件に基づき、反復計算を終了するとしたが、反復計算の終了条件をこれに限定するものではない。例えば、他の終了条件が加わってもよい。例えば、カメラパラメタセットを変化させても評価値Jが変化しないことを、終了条件としてもよい。
なお、カメラパラメタセット算出装置の自己校正処理は、評価値Jの評価関数が前述した2つの条件を満たす場合に、評価値Jが小さい、つまり正解値とカメラパラメタとの差が小さい、言い換えると、誤差の小さいカメラパラメタを算出して更新することができる。しかしながら、評価関数が前述した2つの条件を満たさない場合、必ずしも誤差の小さいカメラパラメタを算出できるとは限らない。例えば、カメラの撮影範囲が極端に暗く、全ての画素値が0になる場合、及び、被写体が均一色でテクスチャが全くない場合、上記の式14の評価値Jは、カメラパラメタを変えてもその値は変わらず、一定値(例えば、0)となる。このようなカメラ画像をカメラパラメタセット算出装置が取得した場合、自己校正処理では、処理の反復回数rが第二閾値以上になるまで反復処理が終了せず、評価値は一定のままで更新されない。この際、カメラパラメタを更新しないにも関わらず、処理における計算負荷がかかる。これに対し、カメラパラメタを変化させても評価値が変化しない場合に、反復処理を終了するとすることで、計算負荷を低減できるという効果がある。
[評価関数のバリエーション]
実施の形態及び変形例に係る自己校正処理において、カメラパラメタセット算出装置の自己校正処理で用いる評価値Jに、上記の式14に示すように、複数の測距点それぞれに対応する画素値の差の絶対値の和に基づく評価関数が適用された。しかしながら、評価関数は、上記に限定されるものではなく、測距点に対応する2つのカメラ画像の画素値の差に基づく関数であれば、他の関数であってもよい。例えば、評価関数は、複数の測距点それぞれに対応する2つのカメラ画像の2つの画素値の差の2乗の総和を用いる評価関数でもよい。具体的には、測距点をカメラ画像Iaに投影した投影点での画素値と同一の測距点をカメラ画像Ibに投影した投影点での画素値との差の2乗を各測距点について求めて、求めた値を加算する評価関数の例を、下記の式17に示す。
Figure 0007016058000014
上記の式14に示すような画素値の差の絶対値和で定義される評価値に基づいて算出されたカメラパラメタは、画素値の差がラプラス分布の場合に、真値に近い、つまり、真値に対する誤差が小さいという効果が期待できる。
これに対し、上記の式17に示すような画素値の差の2乗和で定義される評価値に基づいて算出されたカメラパラメタは、画素値の誤差がガウス分布の場合に、真値に近い、つまり、真値に対する誤差が小さいという効果が期待できる。
[その他]
以上、本開示の1つ以上の態様に係るカメラパラメタセット算出装置等について、実施の形態等に基づいて説明したが、本開示は、実施の形態等に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態等に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の1つ以上の態様の範囲内に含まれてもよい。
実施の形態及び変形例では、撮像部100は2つのカメラ101a及び101bで構成されるものとしたが、カメラの数量を2つに限定するものではない。本開示の自己校正のためには、撮像部100は、少なくとも2つのカメラを備えればよく、カメラは2つ以上であればいくらでもよい。また、カメラ同士は、一体化されていてもよく、別々に配置されていてもよい。
実施の形態及び変形例では、複眼カメラシステムの撮像部、画像処理部及びディスプレイは、いずれも自動車に搭載されており、画像処理部を構成するカメラパラメタセット算出装置も自動車に搭載されているものとしたが、これに限定されない。例えば、撮像部、画像処理部及びディスプレイは、自動車以外のいかなる移動体に搭載されてもよい。移動体は、自動車以外の車両、船舶、飛行体又はロボット等であってもよい。自動車以外の車両は、トラック、バス、二輪車、搬送車、鉄道、建設機械、荷役機械等であってもよい。飛行体は、航空機、ドローン等であってもよい。
また、カメラパラメタセット算出装置は、自動車とネットワークで接続された別の場所に設置されているコンピュータで構成してもよい。カメラパラメタセット算出装置におけるカメラパラメタの自己校正処理は、計算負荷が大きいことから、自動車に搭載された計算能力に制約のあるコンピュータ上で実施するよりも、サーバーなどの計算能力の高いコンピュータで実施することで、計算時間がより短く、精度がより高いパラメタの算出ができる、という効果がある。
また、上述したように、本開示の技術は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばCD-ROM等の不揮発性の記録媒体を含む。
例えば、上記実施の形態及び変形例に係る複眼カメラシステムに含まれる各構成要素は典型的には集積回路であるLSI(Large Scale Integration:大規模集積回路)として実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
なお、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、上記構成要素の一部又は全部は、脱着可能なIC(Integrated Circuit)カード又は単体のモジュールから構成されてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカード又はモジュールは、上記のLSI又はシステムLSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカード又はモジュールは、その機能を達成する。これらICカード及びモジュールは、耐タンパ性を有するとしてもよい。
本開示のカメラパラメタセット算出方法は、MPU(Micro Processing Unit)、CPU、プロセッサ、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
さらに、本開示の技術は、ソフトウェアプログラム又はソフトウェアプログラムからなるデジタル信号によって実現されてもよく、プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを1つの機能ブロックとして実現したり、1つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
本開示に係るカメラパラメタ算出装置等は、少なくとも2つのカメラのカメラパラメタの算出に有用である。
10,20,30 複眼カメラシステム
100 撮像部
101,101a,101b カメラ
110,210,310 画像処理部
111,211,311 カメラパラメタセット算出装置
112 位置算出部
113 画像生成部
114 カメラパラメタ記憶部
120 ディスプレイ
300 コンピュータ
301 CPU
302 ROM
303 RAM
304 HDD
305 ビデオ入力I/F
306 ビデオカード
901 取得部
902 対応点算出部
903 評価値算出部
904 カメラパラメタ決定部
905 カメラパラメタ出力部
906 3次元点群算出部
907 センサ情報取得部

Claims (14)

  1. (a1)第1カメラで撮影された第1画像と、第2カメラで撮影された第2画像とを取得し、
    (a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、
    (a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、
    (a4)前記第1画像における画素座標と、前記第1カメラパラメタセットと、3次元座標との関係を示す数式に、前記3次元位置情報、前記第1画像における前記所定部分の画素座標とを代入することによって、前記所定部分の3次元座標を算出し、
    (a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、
    (a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、
    (a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、
    (a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力し、
    処理(a1)~処理(a8)の少なくとも1つがプロセッサによって実行される
    カメラパラメタセット算出方法。
  2. (b1)前記第1画像から、前記所定部分以外の部分である所定外部分を抽出し、
    (b2)前記第1画像、前記第2画像、前記第1カメラパラメタセット及び前記第2カメラパラメタセットに基づいて、前記所定外部分に含まれる被写体上の3次元座標を算出し、
    (b3)前記第1カメラパラメタセットに基づいて前記所定外部分における前記3次元座標を前記第1画像に投影した点の第1対象画素座標を決定し、前記第2カメラパラメタセットに基づいて前記所定外部分における前記3次元座標を第2画像に投影した点の第2対象画素座標を決定し、
    処理(a6)では、前記第1画素座標での前記第1画像の画素値及び前記第2画素座標での前記第2画像の画素値の関係と、前記第1対象画素座標での前記第1画像の画素値及び前記第2対象画素座標での前記第2画像の画素値の関係とに基づいて評価値を算出し、
    処理(a1)~処理(a8)及び処理(b1)~処理(b3)の少なくとも1つがプロセッサによって実行される
    請求項1に記載のカメラパラメタセット算出方法。
  3. 処理(b2)では、前記所定外部分と前記第2画像との間の対応点の組を推定する処理を含み、前記対応点の組に前記所定外部分における前記3次元座標が対応する
    請求項2に記載のカメラパラメタセット算出方法。
  4. 処理(a6)では、前記評価値の算出に、画素値の差異を用いる
    請求項1~3のいずれか一項に記載のカメラパラメタセット算出方法。
  5. 処理(a3)では、前記第1画像から、前記仮定の3次元位置情報と異なる他の仮定の3次元位置情報が設定された、前記所定部分と異なる他の所定部分を抽出し、
    処理(a4)では、前記他の3次元位置情報、前記第1画像及び前記第1カメラパラメタセットに基づいて、前記他の所定部分の他の3次元座標を算出し、
    処理(a5)では、前記他の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記他の所定部分の他の第1画素座標を決定し、前記他の3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記他の所定部分の他の第2画素座標を決定し、
    処理(a6)では、前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値との第1の差と、前記他の第1画素座標での前記第1画像の画素値と前記他の第2画素座標での前記第2画像の画素値との第2の差との和に基づいて前記評価値を算出する
    請求項4に記載のカメラパラメタセット算出方法。
  6. 処理(a6)では、前記第1の差は絶対値の差であり、前記第2の差は絶対値の差である
    請求項5に記載のカメラパラメタセット算出方法。
  7. 前記所定部分は、空の像を示し、
    前記3次元位置情報は、前記空と前記第1カメラとの仮定の3次元距離の情報を含み、
    前記空と前記第1カメラとの仮定の3次元距離は、前記第1カメラと前記第2カメラとの3次元距離と比較して大幅に大きい値に設定されている
    請求項1~6のいずれか一項に記載のカメラパラメタセット算出方法。
  8. 前記所定部分は、被写体が3次元空間内で形成する平面の像を示し、
    前記3次元位置情報は、前記平面の仮定の3次元位置の情報を含む
    請求項1~7のいずれか一項に記載のカメラパラメタセット算出方法。
  9. 前記平面は、路面である
    請求項8に記載のカメラパラメタセット算出方法。
  10. 前記平面は、構造物の天井面である
    請求項8または9に記載のカメラパラメタセット算出方法。
  11. 前記平面は、構造物の壁面である
    請求項8~10のいずれか一項に記載のカメラパラメタセット算出方法。
  12. 測距器から現在の位置情報を取得し、
    前記現在の位置情報は、前記第1カメラの周辺の前記所定部分の位置情報を含む
    請求項1~11のいずれか一項に記載のカメラパラメタセット算出方法。
  13. コンピュータに実行させるカメラパラメタセット算出プログラムであって、
    (a1)第1カメラで撮影された第1画像と、第2カメラで撮影された第2画像とを取得し、
    (a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、
    (a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、
    (a4)前記第1画像における画素座標と、前記第1カメラパラメタセットと、3次元座標との関係を示す数式に、前記3次元位置情報、前記第1画像における前記所定部分の画素座標とを代入することによって、前記所定部分の3次元座標を算出し、
    (a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、
    (a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2
    画像の画素値とに基づいて評価値を算出し、
    (a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、
    (a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力することを、
    前記コンピュータに実行させるカメラパラメタセット算出プログラム。
  14. 少なくとも2つのカメラのカメラパラメタを算出する処理回路を備え、
    前記処理回路は、
    (a1)前記少なくとも2つのカメラの第1カメラで撮影された第1画像と、前記少なくとも2つのカメラの第2カメラで撮影された第2画像とを取得し、
    (a2)前記第1カメラの1つ以上のカメラパラメタを含む第1カメラパラメタセットと、前記第2カメラの1つ以上のカメラパラメタを含む第2カメラパラメタセットとを取得し、
    (a3)前記第1画像から、仮定の3次元位置情報が設定された所定部分を抽出し、
    (a4)前記第1画像における画素座標と、前記第1カメラパラメタセットと、3次元座標との関係を示す数式に、前記3次元位置情報、前記第1画像における前記所定部分の画素座標とを代入することによって、前記所定部分の3次元座標を算出し、
    (a5)前記所定部分の3次元座標及び前記第1カメラパラメタセットに基づいて前記第1画像における前記所定部分の第1画素座標を決定し、前記3次元座標及び前記第2カメラパラメタセットに基づいて前記第2画像における前記所定部分の第2画素座標を決定し、
    (a6)前記第1画素座標での前記第1画像の画素値と前記第2画素座標での前記第2画像の画素値とに基づいて評価値を算出し、
    (a7)前記評価値に基づいて、前記第1カメラパラメタセット及び前記第2カメラパラメタセットを更新し、
    (a8)更新された前記第1カメラパラメタセット及び前記第2カメラパラメタセットを出力する
    カメラパラメタセット算出装置。
JP2018071946A 2017-04-28 2018-04-03 カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置 Active JP7016058B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017090854 2017-04-28
JP2017090854 2017-04-28

Publications (2)

Publication Number Publication Date
JP2018191275A JP2018191275A (ja) 2018-11-29
JP7016058B2 true JP7016058B2 (ja) 2022-02-04

Family

ID=63917627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018071946A Active JP7016058B2 (ja) 2017-04-28 2018-04-03 カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置

Country Status (2)

Country Link
US (1) US10757395B2 (ja)
JP (1) JP7016058B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6900609B2 (ja) * 2016-12-06 2021-07-07 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 広角画像を修正するシステム及び方法
JP7054803B2 (ja) * 2017-07-21 2022-04-15 パナソニックIpマネジメント株式会社 カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラム
CN111033555B (zh) * 2017-08-25 2024-04-26 株式会社索思未来 修正装置、修正程序以及记录介质
JP6689006B2 (ja) * 2017-08-25 2020-04-28 ベイジン・ボイジャー・テクノロジー・カンパニー・リミテッド 車両の環境情報を検出するための方法およびシステム
US20200234467A1 (en) * 2019-01-18 2020-07-23 Nec Laboratories America, Inc. Camera self-calibration network
US10906184B2 (en) * 2019-03-29 2021-02-02 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
US10399227B1 (en) * 2019-03-29 2019-09-03 Mujin, Inc. Method and control system for verifying and updating camera calibration for robot control
CN111833404B (zh) * 2019-04-23 2023-10-31 富联精密电子(天津)有限公司 摄像机校正系统及摄像机校正方法
GB2587216B (en) * 2019-09-18 2021-11-17 Milestone Systems As Method, device, and computer program for setting parameters values of a video source device
CN114663528A (zh) * 2019-10-09 2022-06-24 阿波罗智能技术(北京)有限公司 多相机外参的联合标定方法、装置、设备和介质
TWI720869B (zh) * 2020-04-15 2021-03-01 致伸科技股份有限公司 相機模組之對位方法
CN111968074A (zh) * 2020-07-14 2020-11-20 北京理工大学 融合双目相机和imu的收割机倒伏作物检测与收获方法
KR20220026422A (ko) * 2020-08-25 2022-03-04 삼성전자주식회사 카메라 캘리브레이션 장치 및 이의 동작 방법
CN112489118B (zh) * 2020-12-15 2022-06-14 中国人民解放军国防科技大学 一种无人机机载传感器组外参快速标定方法
CN113822249B (zh) * 2021-11-23 2022-05-17 山东信通电子股份有限公司 一种监测架空线路隐患位置的方法、设备
CN114821497A (zh) * 2022-02-24 2022-07-29 广州文远知行科技有限公司 目标物位置的确定方法、装置、设备及存储介质
CN116626040A (zh) * 2022-12-07 2023-08-22 浙江众合科技股份有限公司 一种轨道与隧道的病变检测方法
CN117576228B (zh) * 2024-01-16 2024-04-16 成都合能创越软件有限公司 基于实时场景的相机坐标标定方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005233639A (ja) 2004-02-17 2005-09-02 Mitsubishi Electric Corp ステレオカメラシステムおよび該システムのステレオカメラ同士のキャリブレーション方法
JP2012075060A (ja) 2010-09-30 2012-04-12 Hitachi Automotive Systems Ltd 画像処理装置及びそれを用いた撮像装置
WO2013145025A1 (ja) 2012-03-30 2013-10-03 株式会社日立製作所 ステレオカメラシステム及び移動体
JP2015133691A (ja) 2013-12-13 2015-07-23 パナソニックIpマネジメント株式会社 撮像装置、画像処理装置、撮像方法および記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2611173B2 (ja) 1992-06-11 1997-05-21 運輸省船舶技術研究所長 魚眼レンズを用いた測位方法およびその装置
AU2001245834A1 (en) 2000-03-23 2001-10-03 Snap-On Technologies, Inc. Self-calibrating, multi-camera machine vision measuring system
JP3827912B2 (ja) 2000-03-31 2006-09-27 山本 和彦 全方向ステレオ画像撮影装置及びステレオ画像撮影装置
JP4825971B2 (ja) 2005-07-14 2011-11-30 国立大学法人岩手大学 距離算出装置、距離算出方法、構造解析装置及び構造解析方法。
TWI420066B (zh) * 2010-03-18 2013-12-21 Ind Tech Res Inst 物件量測方法與系統
CA2961921C (en) * 2016-03-29 2020-05-12 Institut National D'optique Camera calibration method using a calibration target

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005233639A (ja) 2004-02-17 2005-09-02 Mitsubishi Electric Corp ステレオカメラシステムおよび該システムのステレオカメラ同士のキャリブレーション方法
JP2012075060A (ja) 2010-09-30 2012-04-12 Hitachi Automotive Systems Ltd 画像処理装置及びそれを用いた撮像装置
WO2013145025A1 (ja) 2012-03-30 2013-10-03 株式会社日立製作所 ステレオカメラシステム及び移動体
JP2015133691A (ja) 2013-12-13 2015-07-23 パナソニックIpマネジメント株式会社 撮像装置、画像処理装置、撮像方法および記録媒体

Also Published As

Publication number Publication date
JP2018191275A (ja) 2018-11-29
US10757395B2 (en) 2020-08-25
US20180316905A1 (en) 2018-11-01

Similar Documents

Publication Publication Date Title
JP7016058B2 (ja) カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置
JP7054803B2 (ja) カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラム
JP7038345B2 (ja) カメラパラメタセット算出方法、カメラパラメタセット算出プログラム及びカメラパラメタセット算出装置
JP7002007B2 (ja) カメラパラメタセット算出装置、カメラパラメタセット算出方法及びプログラム
CA3027921C (en) Integrated sensor calibration in natural scenes
CN106529495B (zh) 一种飞行器的障碍物检测方法和装置
CN110462686B (zh) 用于从场景获得深度信息的设备和方法
JP7018566B2 (ja) 撮像装置、画像処理方法及びプログラム
US11233983B2 (en) Camera-parameter-set calculation apparatus, camera-parameter-set calculation method, and recording medium
CN110782496B (zh) 标定方法、装置、航拍设备和存储介质
CN106960454B (zh) 景深避障方法、设备及无人飞行器
US10909395B2 (en) Object detection apparatus
JP2004354257A (ja) キャリブレーションずれ補正装置及びこの装置を備えたステレオカメラ並びにステレオカメラシステム
JP4132068B2 (ja) 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム
JP6803570B2 (ja) カメラパラメタセット算出装置、カメラパラメタセット算出方法、および、プログラム
KR20170139548A (ko) 이미지 라인들로부터의 카메라 외부 파라미터들 추정
JP2016085602A (ja) センサ情報統合方法、及びその装置
CN114022560A (zh) 标定方法及相关装置、设备
CN113361365A (zh) 定位方法和装置、设备及存储介质
CN113252066B (zh) 里程计设备参数的标定方法及装置、存储介质、电子装置
CN113052974A (zh) 物体三维表面的重建方法和装置
KR102107465B1 (ko) 방향코사인을 이용한 에피폴라 영상 제작 시스템 및 그 제작 방법
CN113870365B (zh) 相机标定方法、装置、设备以及存储介质
Liu et al. Field calibration method of camera for measuring the dimensions of large forging
JP2023157660A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220111

R151 Written notification of patent or utility model registration

Ref document number: 7016058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151