JP2021097262A - 歪曲収差補正方法及びプログラム - Google Patents

歪曲収差補正方法及びプログラム Download PDF

Info

Publication number
JP2021097262A
JP2021097262A JP2019225289A JP2019225289A JP2021097262A JP 2021097262 A JP2021097262 A JP 2021097262A JP 2019225289 A JP2019225289 A JP 2019225289A JP 2019225289 A JP2019225289 A JP 2019225289A JP 2021097262 A JP2021097262 A JP 2021097262A
Authority
JP
Japan
Prior art keywords
image height
height error
image
reference line
distance
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.)
Pending
Application number
JP2019225289A
Other languages
English (en)
Inventor
広祐 橋口
Kosuke Hashiguchi
広祐 橋口
信之 松山
Nobuyuki Matsuyama
信之 松山
木村 浩之
Hiroyuki Kimura
浩之 木村
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.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Faurecia Clarion Electronics 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 Faurecia Clarion Electronics Co Ltd filed Critical Faurecia Clarion Electronics Co Ltd
Priority to JP2019225289A priority Critical patent/JP2021097262A/ja
Publication of JP2021097262A publication Critical patent/JP2021097262A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】歪曲収差の補正を高精度に行う歪曲収差補正方法を提供する。【解決手段】校正指標100を撮像した撮像画像から複数の基準点を検出する検出ステップと、検出した基準点の像高誤差を算出する第1算出ステップと、同一の基準線上に位置する複数の基準点の像高誤差に基づいて、基準線上の像高誤差を算出する第2算出ステップと、像高誤差を算出する撮像画像の位置を選択し、第2算出ステップにより算出した像高誤差であって、校正指標の中心を撮像した撮像画像の画素からの距離が、校正指標100の中心と選択した位置との距離に対応する位置の像高誤差を取得する取得ステップと、取得ステップにより取得した基準線上の像高誤差に基づき、校正指標100の中心を撮像した撮像画像の画素からの距離が、校正指標の中心と選択した位置との距離に対応する位置の像高誤差を算出する第3算出ステップとを実行する。【選択図】図5

Description

本発明は、歪曲収差補正方法及びプログラムに関する。
特許文献1に開示の歪曲収差の補正方法は、座標値が既知の複数のターゲットマークが表示されたキャリブレーション板をデジタルカメラにより撮像し、撮像された画面上のターゲットマーク間の計測値と既知座標値とに基づいて、キャリブレーション板の撮影距離に対応した歪曲収差率補正曲線を作成し、得られた歪曲収差率補正曲線に基づいて、計測値を修正する。
特開2001−133223号公報
カメラの撮像画像を変換して、仮想的に上から俯瞰した俯瞰視点の画像(以下、俯瞰画像という)を生成する場合、像高誤差がレンズ個体ごとに異なり、レンズの個体ごとの誤差により特許文献1に開示の方法により歪曲収差を補正しても俯瞰画像に歪みが生じる。
本発明は上記事情に鑑みてなされたものであり、歪曲収差の補正を高精度に行うことを目的とする。
上記目的を達成するために、本発明の歪曲収差補正方法は、複数の基準線と、複数の前記基準線上に位置する複数の基準点とが設定された校正指標をカメラで撮像した撮像画像において、複数の前記基準点が撮像された位置を検出する検出ステップと、検出した前記基準点の位置と、複数の前記基準点の像高の設計値とに基づき、複数の前記基準点の像高誤差を算出する第1算出ステップと、同一の基準線上に位置する複数の前記基準点の像高誤差に基づいて、前記基準線上の像高誤差を算出する第2算出ステップと、像高誤差を算出する撮像画像の位置を選択し、前記第2算出ステップにより算出した像高誤差であって、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を取得する取得ステップと、前記取得ステップにより取得した前記基準線上の像高誤差に基づき、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を算出する第3算出ステップと、を有することを特徴とする。
本発明によれば、歪曲収差の補正を高精度に行うことができる。
システム構成図を示す図である。 校正指標を示す図である。 8軸上であって、歪曲中心から距離がrの位置を示す図である。 半径rの円を区切った8つの領域を示す図である。 像高誤差を算出する手順を示すフローチャートである。 表示画像を生成する手順を示すフローチャートである。
以下、添付図面を参照しながら本発明の実施形態について説明する。
図1は、本発明を適用した車載装置1の構成を示す構成図である。
本実施形態は、車両に搭載された車載装置1であり、撮像部10と、操作部20と、制御装置30とを備える。撮像部10は、フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17の4つのカメラを備える。
撮像部10のカメラは、撮像レンズ、イメージセンサ及びデータ処理回路を備える。
イメージセンサは、CCD(Charge-Coupled Device)やCMOS(Complementary Metal-Oxide-Semiconductor)等により構成され、撮像レンズによって集光された被写体像が入射される。イメージセンサは、入射された被写体像を光電変換し、被写体像に対応した画像信号を出力する。データ処理回路は、入力されたアナログの画像信号に対して、A/D(Analog/Digital)変換処理等の各種信号処理を実行して撮像画像を生成する。
フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17は、これらの4台のカメラにより車両を中心に360°の範囲を撮像可能となるように画角が調整されている。フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17は、各々の撮像範囲を所定のフレームレートで撮像して撮像画像を生成する。フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17は、生成した撮像画像を制御装置30に出力する。
操作部20は、操作者の操作を受け付ける受付部として機能する。操作部20は、制御装置30をリモートでコントロールするリモコンであってもよいし、車両に設けられた操作パネルであってもよい。
制御装置30は、入力インターフェイス(以下、インターフェイスをI/Fと略記する)40、記憶部50及びプロセッサ70を備える。
入力I/F40は、インターフェイス回路を備える。入力I/F40は、車両に搭載されたECUやセンサ、カメラ等にバス5を介して接続される。バス5には、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay(登録商標)、イーサネット(登録商標)等が用いられる。入力I/F40には、撮像部10が出力した撮像画像が入力される。入力I/F40は、入力された撮像画像を制御装置30に出力する。
記憶部50は、ROM(Read Only Memory)やフラッシュメモリ等の不揮発性の記憶装置と、RAM(Random Access Memory)等の揮発性の記憶装置とを備える。不揮発性の記憶装置は、プロセッサ70が演算に使用するパラメータや、プロセッサ70が実行する制御プログラム等を記憶する。揮発性の記憶装置は、プロセッサ70の演算領域として使用される。記憶部50は、フラッシュメモリ等の不揮発性の記憶装置だけで構成してもよい。
記憶部50の不揮発性の記憶装置は、像高設計値51及び像高誤差53を記憶する。
像高とは、イメージセンサの撮像面における撮像レンズの光軸と、像点との距離である。像高設計値51は、後述する複数の基準点における像高の設計値であり、撮像レンズの製造業者から提供されるデータである。像高誤差53は、制御装置30によって基準点ごとに算出され、記憶部50に記憶される。
プロセッサ70は、CPU(Central ProcessingUnit)やMPU(Micro Processing Unit)により構成される演算装置である。プロセッサ70は、制御プログラムを実行して、撮像部10から入力される撮像画像を処理する。プロセッサ70は、単一のプロセッサにより構成してもよいし、複数のプロセッサにより構成することも可能である。また、プロセッサ70は、記憶部50を構成するメモリ一部又は全部、若しくはその他の回路と統合されたSoC(System on Chip)により構成してもよい。また、プロセッサ70は、プログラムを実行するCPUと、所定の演算処理を実行するDSP(Digital Signal Processor)との組み合せにより構成してもよい。さらに、プロセッサ70の機能の全てをハードウェアに実装した構成としてもよく、プログラマブルデバイスを用いて構成してもよい。
制御装置30は、フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17が備える撮像レンズの歪曲収差を補正する歪曲収差補正方法を実行する。制御装置30は、機能ブロックとして、像高誤差算出部71と、座標変換部73とを備える。これらの機能ブロックは、プロセッサ70が制御プログラムに記述された命令セットを実行してデータの演算や制御を行うことにより実現される機能をブロックにより示したものである。
像高誤差算出部71は、撮像画像の予め設定された位置における像高誤差を算出する。像高誤差算出部71は、検出ステップ(検出手順)、第1算出ステップ(第1算出手順)、第2算出ステップ(第2算出手順)、取得ステップ(取得手順)及び第3算出ステップ(第3算出手順)の各ステップを実行して、撮像画像の予め設定された位置における像高誤差を算出する。これら各ステップの詳細については、後述する。
座標変換部73は、像高誤差算出部71が算出した像高誤差に基づいて撮像画像の歪曲収差を補正し、補正した撮像画像の座標系を世界座標系に変換する。座標変換部73は、世界座標系に変換した撮像画像に基づいてディスプレイ等に表示させる表示画像を生成する。本実施形態の座標変換部73は、俯瞰画像を表示画像として生成する。
図2は、校正指標100を示す図である。
ここで、校正指標100について説明する。像高誤差算出部71は、校正指標100をフロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17によりそれぞれ撮像して撮像画像を生成する。像高誤差算出部71は、生成した撮像画像に基づき、像高誤差をカメラごとに算出する。
校正指標100には、図2に示すように複数の基準線と、これら複数の基準線上に位置する複数の基準点とが設定されている。本実施形態の校正指標100には、第1基準線111、第2基準線112、第3基準線113、第4基準線114、第5基準線115、第6基準線116、第7基準線117及び第8基準線118が設定されている。また、校正指標100は、校正指標100の中心を原点とし、水平右方向をx軸、垂直下方向をy軸とする座標系が設定されている。校正指標100の中心である原点を、以下では歪曲中心という。
第1基準線111は、水平右方向に設定されている。すなわち、第1基準線111は、x軸の正方向に平行に設定されている。第1基準線111が設定された方向を0°の基準方向と仮定する。第2基準線112は、第1基準線111を左回りに45°回転させた位置に設定される。第3基準線113は、第1基準線111を左回りに90°回転させた位置に設定される。第4基準線114は、第1基準線111を左回りに135°回転させた位置に設定される。第5基準線115は、第1基準線111を左回りに180°回転させた位置に設定される。第6基準線116は、第1基準線111を左回りに225°回転させた位置に設定される。第7基準線117は、第1基準線111を左回りに270°回転させた位置に設定される。第8基準線118は、第1基準線111を左回りに315°回転させた位置に設定される。
次に、各基準線に設定された基準点について説明する。
縦軸に相当する第3基準線113及び第7基準線117には、3つの基準点がそれぞれ設定されている。第3基準線113及び第7基準線117に設定された基準点は、半画角が35°、50°及び75°の位置に設定されている。半画角は、カメラの画角の半分を意味する。
また、第1基準線111、第2基準線112、第4基準線114、第5基準線115、第6基準線116及び第8基準線118には、4つの基準点がそれぞれ設定されている。
横軸に相当する第1基準線111及び第5基準線115には、半画角が、35°、50°及び75°及び95°の位置に基準点が設定されている。また、斜め方向の基準線である第2基準線112、第4基準線114、第6基準線116及び第8基準線118には、半画角が、35°、50°及び75°及び100°の位置に基準点が設定されている。
次に、像高誤差算出部71が実行する検出ステップ、第1算出ステップ、第2算出ステップ、取得ステップ及び第3算出ステップの各ステップについて説明する。
検出ステップは、カメラの撮像画像を取得し、取得した撮像画像において、基準点が撮像された位置を検出する処理である。
まず、像高誤差算出部71は、操作部20が受け付けた操作により選択されたカメラに撮像を指示する指示信号を出力して撮像を実行させる。ここでは、フロントカメラ11が選択された場合について説明する。操作者は、フロントカメラ11の前に校正指標100を設置する。このとき、操作者は、フロントカメラ11の光軸と、校正指標100の歪曲中心とが一致するように校正指標100を設置する。
フロントカメラ11は、像高誤差算出部71から指示信号が入力されると、撮像を実行して撮像画像を生成する。フロントカメラ11は、生成した撮像画像を制御装置30に出力する。像高誤差算出部71は、入力された撮像画像を記憶部50に記憶させて保存する。
次に、像高誤差算出部71は、入力された撮像画像を解析して、撮像画像に撮像された基準点及び歪曲中心の位置を検出する。像高誤差算出部71は、検出した各基準点の位置を記憶部50に記憶させる。
次に、像高誤差算出部71は、第1算出ステップを実行する。像高誤差算出部71は、第1算出ステップにおいて、各基準点の像高誤差を算出する。
まず、像高誤差算出部71は、記憶部50から各基準点の像高設計値51を読み出す。像高誤差算出部71は、読み出した基準点の像高設計値51を1ピクセル長の設計値で除算し、歪曲中心から基準点までの距離を求める。この距離は、イメージセンサの画素数で表される距離である。1ピクセル長は、イメージセンサの1画素に撮像される距離である。
次に、像高誤差算出部71は、検出ステップで検出した各基準点及び歪曲中心の位置と、像高設計値51により求めた歪曲中心から基準点までの距離とを比較して、各基準点の像高誤差を求める。
次に、像高誤差算出部71は、第2算出ステップを実行する。
像高誤差算出部71は、第2算出ステップにおいて、基準線上での像高誤差を算出する。まず、像高誤差算出部71は、第1算出ステップにより算出した像高誤差をx軸方向のx成分と、y軸方向のy成分とに分解する。
第1算出ステップで算出した像高誤差をkと仮定する。
像高誤差kが第1基準線111上の基準点の誤差である場合、像高誤差は、(k,0)に分解される。
像高誤差kが第2基準線112上の基準点の誤差である場合、像高誤差は、(k×2−1/2,−k×2−1/2)に分解される。
像高誤差kが第3基準線113上の基準点の誤差である場合、像高誤差は、(0,−k)に分解される。
像高誤差kが第4基準線114上の基準点の誤差である場合、像高誤差は、(−k×2−1/2,−k×2−1/2)に分解される。
像高誤差kが第5基準線115上の基準点の誤差である場合、像高誤差は、(−k,0)に分解される。
像高誤差kが第6基準線116上の基準点の誤差である場合、像高誤差は、(−k×2−1/2,k×2−1/2)に分解される。
像高誤差kが第7基準線117上の基準点の誤差である場合、像高誤差は、(0,k)に分解される。
像高誤差kが第8基準線118上の基準点の誤差である場合、像高誤差は、(k×2−1/2,k×2−1/2)に分解される。
次に、像高誤差算出部71は、歪曲中心からの距離をr、rの位置における像高誤差を(x,y)と仮定し、距離rの位置における像高誤差を表す多項式を設定する。像高誤差を算出する対象の基準線が、第3基準線113や第7基準線117である場合、これらの基準線上には、3つの基準点が設定されている。像高誤差算出部71は、基準線上に設定された基準点の数が3つである場合、以下に示す3次の多項式を設定する。
=a+ar+a+a・・・(1)
=b+br+b+b・・・(2)
式(1)、(2)において、係数a1,a2,a3,a4,b1,b2,b3及びb4は、任意の自然数である。
像高誤差算出部71は、最小二乗法により係数a1,a2,a3,a4,b1,b2,b3及びb4の値を算出する。すなわち、像高誤差算出部71は、x−a+ar+a+a、y−b+br+b+bの値が最小になる係数a1,a2,a3,a4,b1,b2,b3及びb4の値を算出する。最小二乗法により以下に示す式(3)及び(4)が成立する。
Figure 2021097262
Figure 2021097262
式(3)及び(4)において、係数iは、1≦i≦4の自然数である。
像高誤差算出部71は、式(3)及び(4)により係数a1,a2,a3,a4,b1,b2,b3及びb4の値を算出する。まず、像高誤差算出部71は、式(3)及び(4)に、基準点の像高誤差のx成分及びy成分の値を代入する。例えば、像高誤差算出部71は、基準線として第3基準線113を選択した場合、半画角が35°、50°、75°における像高誤差のx成分である0の値を式(3)に代入し、半画角が35°、50°、75°における像高誤差のy成分である−kを式(4)に代入して係数a1,a2,a3,a4,b1,b2,b3及びb4の値を求める。像高誤差算出部71は、求めた係数a1,a2,a3,a4,b1,b2,b3及びb4の値を式(1)及び(2)に代入して、距離rにおける像高誤差(x,y)を求める。
また、基準線上の基準点の数が4つ、すなわち、第1基準線111、第2基準線112、第4基準線114、第5基準線115、第6基準線116及び第8基準線118での像高誤差を求める場合、以下に示す4次の多項式を設定する。
=a+ar+a+a+a・・・(5)
=b+br+b+b+a・・・(6)
式(5)及び(6)において、係数a1,a2,a3,a4,a5,b1,b2,b3,b4及びb5は、任意の自然数である。
像高誤差算出部71は、最小二乗法を用いて係数a1,a2,a3,a4,b1,b2,b3及びb4の値を算出する。すなわち、像高誤差算出部71は、x―a+ar+a+a+a、y−b+br+b+b+aの値が最小になる係数a1,a2,a3,a4,a5,b1,b2,b3,b4及びb5の値を算出する。最小二乗法により以下に示す式(7)及び(8)が成立する。
Figure 2021097262
Figure 2021097262
式(7)及び(8)において、係数iは、1≦i≦5の自然数である。
像高誤差算出部71は、式(7)及び(8)により係数a1,a2,a3,a4,a5,b1,b2,b3,b4及びb5の値を求める。
まず、像高誤差算出部71は、式(7)及び(8)に、基準点の像高誤差のx成分及びy成分の値を代入する。例えば、像高誤差算出部71は、基準線として第1基準線111を選択した場合、半画角が35°、50°、75°及び95°における像高誤差のx成分であるkを式(7)に代入し、半画角が35°、50°、75°及び95°における像高誤差のy成分である0を式(8)に代入して係数a1,a2,a3,a4,a5,b1,b2,b3,b4及びb5の値を求める。像高誤差算出部71は、求めた係数a1,a2,a3,a4,a5,b1,b2,b3,b4及びb5の値を式(5)及び(6)に代入して、距離rにおける像高誤差(x,y)を求める。
次に、像高誤差算出部71は、取得ステップを実行する。
まず、像高誤差算出部71は、像高誤差を算出する対象となる撮像画像の座標を選択する。ここで選択する座標は、予め設定された座標であり、本発明の対象位置に対応する。例えば、像高誤差算出部71は、x軸方向に8画素、y軸方向に8画素の間隔ごとに像高誤差を算出する座標を選択する。
次に、像高誤差算出部71は、撮像画像において、選択した座標と、歪曲中心を撮像した画素の座標との距離rを求める。撮像画像において、歪曲中心を撮像した画素の座標を(0,0)とした場合、選択した座標(x,y)との距離rは、(x+y1/2となる。
次に、像高誤差算出部71は、第2算出ステップにより算出した基準線上の像高誤差であって、歪曲中心からの距離が距離rの位置の像高誤差を取得する。
図3は、8軸上であって、歪曲中心から距離がrの位置を示す図である。
第1基準線111の水平方向からの角度θをX1と表記し、第1基準線111上であって歪曲中心からの距離rの位置の像高誤差をY1とする。X1は0°であり、Y1は、x,y座標が(r,0)の位置における像高誤差である。第2基準線112と第1基準線111とのなす角度θをX2と表記し、第2基準線112上であって歪曲中心からの距離rの位置の像高誤差をY2とする。X2は、45°であり、Y2は、x,y座標が(r×2−1/2,−r×2−1/2)の位置における像高誤差である。
第3基準線113と第1基準線111とのなす角度θをX3と表記し、第3基準線113上であって歪曲中心からの距離rの位置の像高誤差をY3とする。X3は、90°であり、Y3は、x,y座標が(0,−r)の位置における像高誤差である。
第4基準線114と第1基準線111とのなす角度θをX4と表記し、第4基準線114上であって歪曲中心からの距離rの位置の像高誤差をY4とする。X4は、135°であり、Y4は、x,y座標が(−r×2−1/2,−r×2−1/2)の位置における像高誤差である。
第5基準線115と第1基準線111とのなす角度θをX5と表記し、第5基準線115上であって歪曲中心からの距離rの位置の像高誤差をY5とする。X5は、180°であり、Y5は、x,y座標が(−r,0)の位置における像高誤差である。
第6基準線116と第1基準線111とのなす角度θをX6と表記し、第6基準線116上であって歪曲中心からの距離rの位置の像高誤差をY6とする。X6は、225°であり、Y6は、x,y座標が(−r×2−1/2,r×2−1/2)の位置における像高誤差である。
第7基準線117と第1基準線111とのなす角度θをX7と表記し、第7基準線117上であって歪曲中心からの距離rの位置の像高誤差をY7とする。X7は、270°であり、Y7は、x,y座標が(0,r)の位置における像高誤差である。
第8基準線118と第1基準線111とのなす角度θをX8と表記し、第8基準線118上であって歪曲中心からの距離rの位置の像高誤差をY8とする。X7は、315°であり、Y8は、x,y座標が(r×2−1/2,r×2−1/2)の位置における像高誤差である。
次に、像高誤差算出部71は、第3算出ステップを実行する。
像高誤差算出部71は、第3算出ステップにおいて、歪曲中心からの距離が距離rの位置の像高誤差を算出する。まず、像高誤差算出部71は、撮像画像において、歪曲中心が撮像された画素を中心に、半径rの円を設定する。像高誤差算出部71は、設定した円を8本の基準線により8つの領域に区切り、区切った各領域の円の周を表す多項式を設定する。
図4は、半径rの円を区切った8つの領域を示す図である。
図4において、第1領域121は、第1基準線111と第2基準線112とによって区切られた領域である。第2領域122は、第2基準線112と第3基準線113とによって区切られた領域である。第3領域123は、第3基準線113と第4基準線114とによって区切られた領域である。第4領域124は、第4基準線114と第5基準線115とによって区切られた領域である。第5領域125は、第5基準線115と第6基準線116とによって区切られた領域である。第6領域126は、第6基準線116と第7基準線117とによって区切られた領域である。第7領域127は、第7基準線117と第8基準線118とによって区切られた領域である。第8領域128は、第8基準線118と第1基準線111とによって区切られた領域である。
像高誤差算出部71は、第1領域121を表す多項式として、以下に示す式(9)を設定する。
Y=a+b+cX+d・・・(9)
像高誤差算出部71は、第2領域122を表す多項式として、以下に示す式(10)を設定する。
Y=a+b+cX+d・・・(10)
像高誤差算出部71は、第3領域123を表す多項式として、以下に示す式(11)を設定する。
Y=a+bX+cX+d・・・(11)
像高誤差算出部71は、第4領域124を表す多項式として、以下に示す式(12)を設定する。
Y=a+b+cX+d・・・(12)
像高誤差算出部71は、第5領域125を表す多項式として、以下に示す式(13)を設定する。
Y=a+b+cX+d・・・(13)
像高誤差算出部71は、第6領域126を表す多項式として、以下に示す式(14)を設定する。
Y=a+b+cX+d・・・(14)
像高誤差算出部71は、第7領域127を表す多項式として、以下に示す式(15)を設定する。
Y=a+b+cX+d・・・(15)
像高誤差算出部71は、第8領域128を表す多項式として、以下に示す式(16)を設定する。
Y=a+b+cX+d・・・(16)
上記の式(9)〜式(16)に示す係数a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,a5,b5,c5,d5,a6,b6,c6,d6,a7,b7,c7,d7,a8,b8,c8,d8はそれぞれ任意の自然数である。
次に、像高誤差算出部71は、式(9)〜式(16)に示すa1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,a5,b5,c5,d5,a6,b6,c6,d6,a7,b7,c7,d7,a8,b8,c8及びd8の値を3次スプライン補間により算出する。
一次導関数や二次導関数の連続性等、3次スプライン補間の境界条件により、以下に示す行列式(17)が成立する。
Figure 2021097262
像高誤差算出部71は、上記式(17)に示す行列式に、X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6,X7,Y7,X8,Y9の値を代入して、係数a1〜a8,b1〜b8,c1〜c8,d1〜d8の値を求める。
像高誤差算出部71は、選択した座標(x,y)が含まれる領域を選択し、選択した領域に対応した式に係数a〜dの値、及び角度θの値を代入して、Yの値である像高誤差を算出する。像高誤差算出部71は、算出した像高誤差を座標(x,y)に対応づけて記憶部50に記憶させる。
なお、式(17)を解くことにより、半径rの円上の任意の位置の像高誤差が算出可能となる。従って、像高誤差算出部71は、選択した座標(x,y)の像高誤差だけではなく、異なるθの値を、対応する領域の式(式(9)〜式(16)のいずれか)に代入し、歪曲中心からの距離がrの異なる位置の像高誤差を算出してもよい。
次に、図5及び図6に示すフローチャートを参照しながら本実施形態の動作を説明する。
制御装置30は、まず、像高誤差の算出を指示する操作を受け付けたか否かを判定する(ステップS1)。制御装置30は、像高誤差の算出を指示する操作を受け付けていない場合(ステップS1/NO)、像高誤差の算出は行わず、他の処理があれば、この他の処理を実行する。
制御装置30は、像高誤差の算出を指示する操作を受け付けた場合(ステップS1/YES)、受け付けた操作によって選択されたカメラに、撮像を指示する指示信号を出力する(ステップS2)。ここで選択されるカメラは、フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17のいずれか1つである。
フロントカメラ11は、制御装置30から指示信号が入力されると、校正指標100を撮像して撮像画像を生成する。フロントカメラ11は、生成した撮像画像を制御装置30に出力する。制御装置30は、指示信号を出力したカメラから撮像画像が入力されたか否かを判定する(ステップS3)。制御装置30は、撮像画像の入力ない場合(ステップS3/NO)、撮像画像が入力されるまで待機する。
制御装置30は、撮像画像が入力されると(ステップS3/YES)、入力された撮像画像を記憶部50に記憶させる。次に、制御装置30は、この撮像画像を解析して、撮像画像に撮像された基準点及び歪曲中心の位置を検出する(ステップS4)。
次に、制御装置30は、記憶部50から像高設計値51を読み出す(ステップS5)。制御装置30は、読み出した基準点の像高設計値51を1ピクセル長の設計値で除算し、歪曲中心から基準点までの距離を求める。制御装置30は、検出した各基準点及び歪曲中心の位置と、像高設計値51により求めた歪曲中心から基準点までの距離とを比較して、各基準点の像高誤差を求める(ステップS6)。
次に、制御装置30は、基準線上の任意の位置の像高誤差を算出する(ステップS7)。制御装置30は、基準線上に設定された基準点の数が3つである場合、歪曲中心からの距離をr、rの位置における像高誤差を(x,y)と仮定し、距離rの位置における像高誤差を表す多項式である式(1)及び式(2)を設定する。そして、制御装置30は、x−a+ar+a+a、y−b+br+b+bの値が最小になる係数a1,a2,a3,a4,b1,b2,b3及びb4の値を最小二乗法により算出する。
また、制御装置30は、基準線上に設定された基準点の数が3つである場合、歪曲中心からの距離をr、rの位置における像高誤差を(x,y)と仮定し、距離rの位置における像高誤差を表す多項式である式(5)及び式(6)を設定する。そして、制御装置30は、x―a+ar+a+a+a、y−b+br+b+b+aの値が最小になる係数a1,a2,a3,a4,a5,b1,b2,b3,b4及びb5の値を最小二乗法により算出する。
次に、制御装置30は、像高誤差を算出する撮像画像上の座標(x,y)を選択する(ステップS8)。制御装置30は、座標(x,y)を選択すると、選択した座標(x,y)と歪曲中心との距離rを算出する(ステップS9)。距離rは(x+y1/2により算出される。
次に、制御装置30は、ステップS7で算出した基準線上の像高誤差のうち、歪曲中心からの距離が距離rの像高誤差を取得する(ステップS10)。制御装置30は、取得した像高誤差を用いて、校正指標100の歪曲中心からの距離が距離rの位置における像高誤差を算出する(ステップS11)。
制御装置30は、距離rに対応する半径rの円を撮像画像に設定する。設定される円の中心は、歪曲中心を撮像した撮像画像の画素に設定される。次に、制御装置30は、設定した半径rの円を8つの軸線によって第1領域121〜第8領域128の8つの領域に分割する。制御装置30は、分割した円の各領域を示す多項式を設定する。ここで設定される多項式は、上述した式(9)〜式(16)に示す多項式である。
次に、制御装置30は、式(9)〜式(16に示す係数a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,a5,b5,c5,d5,a6,b6,c6,d6,a7,b7,c7,d7,a8,b8,c8及びd8の値を3次スプライン補間により算出する。一次導関数や二次導関数の連続性等、3次スプライン補間の境界条件により、上述した行列式(17)が成立する。
制御装置30は、行列式(17)に、X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6,X7,Y7,X8,Y9の値を代入して、係数a1〜a8,b1〜b8,c1〜c8,d1〜d8の値を求める。制御装置30は、選択した座標(x,y)が含まれる領域を選択し、選択した領域に対応した式に係数a〜dの値、及び角度θの値を代入して、Yの値である像高誤差を算出する。像高誤差算出部71は、算出した像高誤差を座標(x,y)に対応づけて記憶部50に記憶させる(ステップS12)。
次に、制御装置30は、像高誤差を算出する座標をすべて処理対象に選択して像高誤差を算出したか否かを判定する(ステップS13)。制御装置30は、予め設定されたすべての座標で像高誤差を算出していない場合(ステップS13/NO)、ステップS8に戻り、次の座標を選択する。また、制御装置30は、予め設定されたすべての座標で像高誤差を算出した場合(ステップS13/YES)、この処理フローを終了させる。
図6は、撮像部10から撮像画像が入力されたときの制御装置30の動作を示すフローチャートである。図6に示すフローチャートを参照しながら撮像画像が入力された場合の制御装置30の動作について説明する。
制御装置30は、撮像部10から撮像画像が入力されたか否かを判定する(ステップS21)。制御装置30は、撮像画像の入力がない場合(ステップS21/NO)、撮像画像が入力されるまで待機する。
制御装置30は、撮像画像が入力されると(ステップS21/YES)、入力された撮像画像を撮像したカメラに対応づけられた像高誤差を記憶部50から読み出す(ステップS22)。
制御装置30は、像高誤差を読み出すと、読み出した像高誤差に基づき、バイリニア補間によって、像高誤差が算出されていない撮像画像の他の座標での像高誤差を算出する(ステップS23)。制御装置30は、他の座標での像高誤差を算出すると、算出した像高誤差、及び記憶部50から読み出した像高誤差により撮像画像の歪曲収差を補正する(ステップS24)。ステップS24は、本発明の補正ステップに相当する。
次に、制御装置30は、撮像部10が備えるすべてのカメラの撮像画像を補正したか否かを判定する(ステップS25)。制御装置30は、すべてのカメラの撮像画像を補正していない場合(ステップS25/NO)、ステップS21に戻り、次の撮像画像を入力する。
また、制御装置30は、すべてのカメラの撮像画像を補正した場合(ステップS25/YES)、補正した撮像画像の座標系を変換する(ステップS26)。例えば、制御装置30は、例えば、フロントカメラ11、リアカメラ13、左サイドカメラ15及び右サイドカメラ17の撮像画像を用いて、各カメラの座標系を世界座標系に変換し、変換した撮像画像を用いて俯瞰画像を生成する。
以上説明したように本実施形態の制御装置30は、検出ステップ、第1算出ステップ、第2算出ステップ、取得ステップ及び第3算出ステップの各ステップを実行する。
検出ステップは、校正指標100を撮像部10のカメラで撮像した撮像画像において、複数の基準点が撮像された位置を検出する。
第1算出ステップは、検出した基準点の位置と、複数の基準点の像高の設計値とに基づき、複数の基準点の像高誤差を算出する。
第2算出ステップは、同一の基準線上に位置する複数の基準点の像高誤差に基づいて、基準線上の像高誤差を算出する。
取得ステップは、像高誤差を算出する対象位置の座標を選択し、第2算出ステップにより算出した像高誤差であって、校正指標100の歪曲中心を撮像した画素と、選択した座標との距離に対応する位置の像高誤差を取得する。
第3算出ステップは、取得ステップにより取得した基準線上の像高誤差に基づき、校正指標100の歪曲中心を撮像した画素と、選択した座標との距離に対応する位置の像高誤差を算出する。
従って、対象位置を選択することで、撮像画像上の任意の位置の像高誤差を算出することでき、歪曲収差の補正を高精度に行うことができる。
制御装置30が実行する取得ステップは、撮像画像の位置として、予め設定された設定数ごとの撮像画像の画素を選択する。
また、制御装置30が実行する第3算出ステップは、予め設定された画素ごとの像高誤差を算出し、算出した像高誤差を記憶部50に記憶させる。
また、制御装置30は、補正ステップを実行する。この補正ステップは、取得ステップにより選択されていない撮像画像の他の画素の像高誤差を、第3算出ステップにより算出した像高誤差に基づくバイリニア補間により算出する。さらに、補正ステップは、第3算出ステップにより算出した像高誤差と、バイリニア補間により算出した像高誤差とに基づいて、撮像画像の歪曲収差を補正する。
従って、記憶部50に記憶させる像高誤差のデータ数を削減することができる。
また、制御装置30が実行する第2算出ステップは、基準線上の像高誤差を、最小二乗法により算出する。
従って、基準線上の像高誤差を、容易に、かつ精度よく算出することできる。
また、制御装置30が実行する第3算出ステップは、校正指標の中心を撮像した撮像画像の画素からの距離が、画素と、選択した位置との距離に対応する位置の像高誤差を、スプライン補間により算出する。
従って、像高誤差を、容易に、かつ精度よく算出することができる。
上述した実施形態は、本発明の好適な実施の形態である。但し、本発明は、上述した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内において種々の変形実施が可能である。
例えば、図1は、本願発明を理解容易にするために、制御装置30の機能構成を主な処理内容に応じて分類して示した概略図であり、制御装置30の構成は、処理内容に応じてさらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理は、1つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
また、制御装置30のプロセッサ70が実行するプログラムは、例えば、通信ネットワークを介して外部のサーバ装置からダウンロードされ、記憶部50にロードさてプロセッサ70により実行されるようにしてもよい。また、プロセッサ70が実行するプログラムは、通信ネットワークを介して、外部のサーバ装置から記憶部50に直接ロードされ、プロセッサ70により実行されるようにしてもよい。或いは、制御装置30接続された記憶媒体から、記憶部50にロードされるようにしてもよい。
また、図5及び図6に示すフローチャートの処理単位は、制御装置30による処理の理解を容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。制御装置30の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。また、同様の処理結果が得られるのであれば、上記各フローチャートの処理順序も、図示した例に限られるものではない。
また、本発明のプログラムを、コンピュータを用いて実現する場合、このコンピュータに実行させるプログラムを記録媒体、又はこのプログラムを伝送する伝送媒体の態様で構成することも可能である。記録媒体には、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、HDD(Hard Disk Drive)、CD−ROM(Compact Disk Read Only Memory)、DVD、Blu−ray(登録商標) Disc、光磁気ディスク、フラッシュメモリ、カード型記録媒体等の可搬型、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、車載装置1が備えるRAM、ROM、HDD等の不揮発性記憶装置であってもよい。
1 車両
5 バス
10 撮像部
11 フロントカメラ
13 リアカメラ
15 左サイドカメラ
17 右サイドカメラ
20 操作部
30 制御装置
40 入力I/F
50 記憶部
51 像高設計値
53 像高誤差
70 プロセッサ
71 像高誤差算出部
73 座標変換部
111 第1基準線
112 第2基準線
113 第3基準線
114 第4基準線
115 第5基準線
116 第6基準線
117 第7基準線
118 第8基準線
121 第1領域
122 第2領域
123 第3領域
124 第4領域
125 第5領域
126 第6領域
127 第7領域
128 第8領域

Claims (5)

  1. 複数の基準線と、複数の前記基準線上に位置する複数の基準点とが設定された校正指標をカメラで撮像した撮像画像において、複数の前記基準点が撮像された位置を検出する検出ステップと、
    検出した前記基準点の位置と、複数の前記基準点の像高の設計値とに基づき、複数の前記基準点の像高誤差を算出する第1算出ステップと、
    同一の基準線上に位置する複数の前記基準点の像高誤差に基づいて、前記基準線上の像高誤差を算出する第2算出ステップと、
    像高誤差を算出する撮像画像の位置を選択し、前記第2算出ステップにより算出した像高誤差であって、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を取得する取得ステップと、
    前記取得ステップにより取得した前記基準線上の像高誤差に基づき、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を算出する第3算出ステップと、
    を有することを特徴とする歪曲収差補正方法。
  2. 前記取得ステップは、前記撮像画像の位置として、予め設定された設定数ごとの撮像画像の画素を選択し、
    前記第3算出ステップは、予め設定された画素ごとの像高誤差を算出し、
    前記取得ステップにより選択されていない前記撮像画像の他の画素の像高誤差を、前記第3算出ステップにより算出した像高誤差に基づくバイリニア補間により算出し、
    前記第3算出ステップにより算出した像高誤差と、前記バイリニア補間により算出した像高誤差とに基づいて、前記撮像画像の歪曲収差を補正する補正ステップを有する、
    ことを特徴とする請求項1記載の歪曲収差補正方法。
  3. 前記第2算出ステップは、前記基準線上の像高誤差を、最小二乗法により算出する、ことを特徴とする請求項1又は2記載の歪曲収差補正方法。
  4. 前記第3算出ステップは、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を、スプライン補間により算出する、ことを特徴とする請求項1から3のいずれか一項に記載の歪曲収差補正方法。
  5. コンピュータに、
    複数の基準線と、複数の前記基準線上に位置する複数の基準点とが設定された校正指標をカメラで撮像した撮像画像において、複数の前記基準点が撮像された位置を検出する検出手順と、
    検出した前記基準点の位置と、複数の前記基準点の像高の設計値とに基づき、複数の前記基準点の像高誤差を算出する第1算出手順と、
    同一の基準線上に位置する複数の前記基準点の像高誤差に基づいて、前記基準線上の像高誤差を算出する第2算出手順と、
    像高誤差を算出する撮像画像の位置を選択し、前記第2算出手順により算出した像高誤差であって、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を取得する取得手順と、
    前記取得手順により取得した前記基準線上の像高誤差に基づき、前記校正指標の中心を撮像した撮像画像の画素からの距離が、前記画素と、選択した前記位置との距離に対応する位置の像高誤差を算出する第3算出手順と、
    を実行させることを特徴とするプログラム。
JP2019225289A 2019-12-13 2019-12-13 歪曲収差補正方法及びプログラム Pending JP2021097262A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019225289A JP2021097262A (ja) 2019-12-13 2019-12-13 歪曲収差補正方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019225289A JP2021097262A (ja) 2019-12-13 2019-12-13 歪曲収差補正方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2021097262A true JP2021097262A (ja) 2021-06-24

Family

ID=76432242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019225289A Pending JP2021097262A (ja) 2019-12-13 2019-12-13 歪曲収差補正方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2021097262A (ja)

Similar Documents

Publication Publication Date Title
JP6468307B2 (ja) 撮像装置、画像処理装置および方法
JP5438579B2 (ja) 画像処理装置及びその制御方法
JP4912238B2 (ja) 撮像装置及び交換レンズ装置
JP2005509961A (ja) 較正を導き出す方法および画像処理の方法
KR101356286B1 (ko) 화상 처리 장치, 화상 처리 방법, 프로그램 및 촬상 장치
US20110074984A1 (en) Image sensing apparatus and image data correction method
JP5887465B2 (ja) 撮像装置、撮像装置駆動方法、撮像装置制御プログラム
US8922681B2 (en) Image processing device that performs image processing to correct target pixels in a region surrounding a defective pixel
JP2018106038A (ja) カメラの像ぶれを補正するように構成されたアクチュエータの駆動量を較正するための方法
JP5402832B2 (ja) 視点変換装置及び視点変換方法
US20080012964A1 (en) Image processing apparatus, image restoration method and program
JP2003169255A (ja) シェーディング補正方法
JP2021097262A (ja) 歪曲収差補正方法及びプログラム
JP5309940B2 (ja) 画像処理装置、および撮像装置
JP2007189361A (ja) イメージセンサおよびこれを用いたカメラ
JP4983541B2 (ja) プログラム、画像処理装置およびカメラ
JP6415330B2 (ja) 画像処理装置、撮像装置、画像処理方法
JP6105960B2 (ja) 画像処理装置、画像処理方法、および撮像装置
JP4503106B2 (ja) 情報処理装置および方法、情報処理システム、並びに記録媒体
JP5228929B2 (ja) 画像処理装置、撮像装置及び画像処理プログラム
JP2017028583A (ja) 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体
JP4002755B2 (ja) 撮像装置
JP6214713B1 (ja) 画像処理装置、撮像装置、レンズ装置、画像処理方法、プログラム、記憶媒体、および、情報処理方法
JP6316140B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4996330B2 (ja) 画像歪み補正装置