(57)【要約】【課題】ラインスキャンカメラにより撮影されたライン画像を時系列で並べたライン並列画像における、ライン画像のずれを適切に補正する。【解決手段】画像生成部２２は、ライン画像６０を並べて２次元のライン並列画像６２を生成する。水平直線検出部２８は、複数の２次元画像６６の各々に含まれる、水平直線を検出する。カメラ間対応付部３０は、ライン画像６０と２次元画像６６の光軸中心を通る垂直ライン画像６７との対応付けを行う。水平直線対応付部３４は、複数の２次元画像６６間における、水平直線の対応付けを行う。ラベル付部３６は、ライン画像６０と垂直ライン画像６７との対応付けに基づいて、水平直線をライン画像６０の各々にマッピングし、ライン並列画像６２における、水平直線を含む領域にラベルを付与する。画像補正部３８は、ラベルが付与された領域に基づいて、ライン並列画像６２におけるライン画像６０の垂直方向Ｂの位置を補正する。【選択図】図１
2020099009.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子が１列状に配置されたラインスキャンカメラで撮影された、移動方向に対して垂直方向に延びるライン画像を時系列順に並べて２次元のライン並列画像を生成する画像生成部と、
撮像素子が行列状に配置された２次元カメラが、前記ラインスキャンカメラが前記ライン画像を撮影した際に、前記ラインスキャンカメラと同一方向を撮影して得られた複数の２次元画像の各々に含まれる、水平方向に延びる水平直線を検出する水平直線検出部と、
前記ライン画像と、前記２次元画像のうちの光軸中心を通る垂直ライン画像との対応付けを行う、カメラ間対応付部と、
複数の前記２次元画像間における、前記水平直線の対応付けを行う水平直線対応付部と、
前記ライン画像と、前記垂直ライン画像との対応付けに基づいて、前記水平直線を前記ライン画像の各々にマッピングし、前記ライン並列画像における、前記水平直線を含む領域にラベルを付与するラベル付部と、
前記ラベルが付与された領域に基づいて、前記ライン並列画像における前記ライン画像の前記垂直方向の位置を補正する画像補正部と、
を備えた画像補正装置。
【請求項２】
前記ラインスキャンカメラ及び前記２次元カメラは、車両に設けられており、
前記ライン画像は、前記車両のタイヤに設置されたロータリエンコーダから、前記車両が所定距離移動する毎に出力される信号に基づいて、前記ラインスキャンカメラにより撮影された画像であり、
前記画像生成部は、前記ライン画像を時系列順に並べ、横軸が平行投影の前記ライン並列画像を生成する、
請求項１に記載の画像補正装置。
【請求項３】
前記水平直線検出部は、前記垂直方向と平行な１組の辺と、前記水平方向と平行な１組の辺とにより成る矩形の、前記水平方向と平行な１組の辺の少なくとも一方の辺を、前記水平直線とする、
請求項１または請求項２に記載の画像補正装置。
【請求項４】
前記ラベル付部は、前記ライン画像と、前記ライン並列画像との対応付けに基づいて、前記２次元画像間の位置関係を導出し、前記２次元画像間で対応付けられた前記水平直線の実空間上での座標を算出する、水平直線位置算出部を備える、
請求項１から請求項３のいずれか１項に記載の画像補正装置。
【請求項５】
画像生成部により、撮像素子が１列状に配置されたラインスキャンカメラで撮影された、移動方向に対して垂直方向に延びるライン画像を時系列順に並べて２次元のライン並列画像を生成するステップと、
水平直線検出部により、撮像素子が行列状に配置された２次元カメラが、前記ラインスキャンカメラが前記ライン画像を撮影した際に、前記ラインスキャンカメラと同一方向を撮影して得られた複数の２次元画像の各々に含まれる、水平方向に延びる水平直線を検出するステップと、
カメラ間対応付部により、前記ライン画像と、前記２次元画像のうちの光軸中心を通る垂直ライン画像との対応付けを行うステップと、
水平直線対応付部により、複数の前記２次元画像間における、前記水平直線の対応付けを行うステップと、
ラベル付部により、前記ライン画像と、前記垂直ライン画像との対応付けに基づいて、前記水平直線を前記ライン画像の各々にマッピングし、前記ライン並列画像における、前記水平直線を含む領域にラベルを付与するステップと、
画像補正部により、前記ラベルが付与された領域に基づいて、前記ライン並列画像における前記ライン画像の前記垂直方向の位置を補正するステップと、
を備えた画像補正方法。
【請求項６】
コンピュータを、請求項１から請求項４のいずれか１項に記載の画像補正装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像補正装置、画像補正方法、及びプログラムに関する。
【背景技術】
【０００２】
一秒に数万枚のライン画像の取得が可能なラインスキャンカメラは、工場等でベルトコンベアを流れる製品の異常検知検査等に用いられるだけでなく、車両等に搭載し、１列に並んだ撮像素子を地面に垂直（地面と空を結ぶ方向）方向に配列して、走行しながら撮影することで、屋外の高解像度な画像を走行しながら取得できる点で注目されている（非特許文献１）。
【０００３】
このようにラインスキャンカメラを用いることで、ライン画像の取得レートをあげ、車両で一般走行しながら高解像度な画像を取得することが可能となる。
【０００４】
しかしながら、ライン画像を走行方向に時系列にならべて２次元の画像（ライン並列画像）を作成するが、ライン画像を取得した際の車両の振動等によりライン画像間にずれが生じてしまう場合がある。
【０００５】
そこで、従来、ライン画像（ライン並列画像）中に含まれる水平線を推定し、推定した水平線が直線になるように、並べたライン画像を1ラインずつ上下に移動させることで、ライン並列画像におけるライン画像のずれを補正する手法がある（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「ラインセンサによる都市データ取得システム」画像ラボ2009.vol.20 No.11
【非特許文献２】「ラインセンサカメラを用いたトンネル変状検査システム」建設の施工企画2011.11
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の水平線を推定する手法では、撮影されたライン画像に必ずケーブル等の水平な直線の目安となるものが写っているとわかっている場合や振動によるずれの箇所を指定しなければ、水平線の推定に失敗し補正処理がうまくいかないといった問題点があった。
【０００８】
本開示は、上記の点に鑑みてなされたものであり、ラインスキャンカメラにより撮影されたライン画像を時系列で並べたライン並列画像における、ライン画像のずれを適切に補正することができる、画像補正装置、画像補正方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本開示の第１の態様の画像補正装置は、撮像素子が１列状に配置されたラインスキャンカメラで撮影された、移動方向に対して垂直方向に延びるライン画像を時系列順に並べて２次元のライン並列画像を生成する画像生成部と、撮像素子が行列状に配置された２次元カメラが、前記ラインスキャンカメラが前記ライン画像を撮影した際に、前記ラインスキャンカメラと同一方向を撮影して得られた複数の２次元画像の各々に含まれる、水平方向に延びる水平直線を検出する水平直線検出部と、前記ライン画像と、前記２次元画像のうちの光軸中心を通る垂直ライン画像との対応付けを行う、カメラ間対応付部と、複数の前記２次元画像間における、前記水平直線の対応付けを行う水平直線対応付部と、前記ライン画像と、前記垂直ライン画像との対応付けに基づいて、前記水平直線を前記ライン画像の各々にマッピングし、前記ライン並列画像における、前記水平直線を含む領域にラベルを付与するラベル付部と、前記ラベルが付与された領域に基づいて、前記ライン並列画像における前記ライン画像の前記垂直方向の位置を補正する画像補正部と、を備える。
【００１０】
本開示の第２の態様の画像補正装置は、第１の態様の画像補正装置において、前記ラインスキャンカメラ及び前記２次元カメラは、車両に設けられており、前記ライン画像は、前記車両のタイヤに設置されたロータリエンコーダから、前記車両が所定距離移動する毎に出力される信号に基づいて、前記ラインスキャンカメラにより撮影された画像であり、前記画像生成部は、前記ライン画像を時系列順に並べ、横軸が平行投影の前記ライン並列画像を生成する。
【００１１】
本開示の第３の態様の画像補正装置は、第１の態様または第２の態様の画像補正装置において、前記水平直線検出部は、前記垂直方向と平行な１組の辺と、前記水平方向と平行な１組の辺とにより成る矩形の、前記水平方向と平行な１組の辺の少なくとも一方の辺を、前記水平直線とする。
【００１２】
本開示の第４の態様の画像補正装置は、第１の態様から第３の態様のいずれか１態様の画像補正装置において、前記ラベル付部は、前記ライン画像と、前記ライン並列画像との対応付けに基づいて、前記２次元画像間の位置関係を導出し、前記２次元画像間で対応付けられた前記水平直線の実空間上での座標を算出する、水平直線位置算出部を備える。
【００１３】
上記目的を達成するために、本開示の第５の態様の画像補正方法は、画像生成部により、撮像素子が１列状に配置されたラインスキャンカメラで撮影された、移動方向に対して垂直方向に延びるライン画像を時系列順に並べて２次元のライン並列画像を生成するステップと、水平直線検出部により、撮像素子が行列状に配置された２次元カメラが、前記ラインスキャンカメラが前記ライン画像を撮影した際に、前記ラインスキャンカメラと同一方向を撮影して得られた複数の２次元画像の各々に含まれる、水平方向に延びる水平直線を検出するステップと、カメラ間対応付部により、前記ライン画像と、前記２次元画像のうちの光軸中心を通る垂直ライン画像との対応付けを行うステップと、水平直線対応付部により、複数の前記２次元画像間における、前記水平直線の対応付けを行うステップと、ラベル付部により、前記ライン画像と、前記垂直ライン画像との対応付けに基づいて、前記水平直線を前記ライン画像の各々にマッピングし、前記ライン並列画像における、前記水平直線を含む領域にラベルを付与するステップと、画像補正部により、前記ラベルが付与された領域に基づいて、前記ライン並列画像における前記ライン画像の前記垂直方向の位置を補正するステップと、を備える。
【００１４】
上記目的を達成するために、本開示の第６態様のプログラムは、コンピュータを、第１の態様から第４の態様のいずれか１態様に記載の画像補正装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１５】
本開示によれば、ラインスキャンカメラにより撮影されたライン画像を時系列で並べたライン並列画像における、ライン画像のずれを適切に補正することができる、という効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】実施形態の画像補正装置の一例の構成を示すブロック図である。
【図２Ａ】ライン画像及び２次元画像の撮影を説明するための図である。
【図２Ｂ】ライン画像の撮影を説明するための図である。
【図３】実施形態の画像生成部で生成されたライン並列画像に生じたずれを説明するための図である。
【図４】実施形態のカメラ間対応付部によるライン画像と２次元画像との対応付け、及び基線長を説明するための図である。
【図５】実施形態の画像補正部によるライン画像のずれの補正を説明する図である。
【図６】実施形態の画像補正装置における画像補正処理ルーチンの一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本開示の実施形態を詳細に説明する。
【００１８】
＜本実施形態の画像補正装置の構成＞
図１は、本実施形態の画像補正装置１０の一例の構成を示すブロック図である。車両に搭載されたラインスキャンカメラにより撮影されたライン画像を時系列に並べて生成されたライン並列画像に対し、本開示の画像補正装置を適用した形態について説明する。
【００１９】
図１に示すように本実施形態の画像補正装置１０は、画像生成部２２、水平直線検出部２８、カメラ間対応付部３０、水平直線対応付部３４、ラベル付部３６、及び画像補正部３８を備える。一例として、本実施形態の画像補正装置１０は、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、後述する画像補正処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭ（Read Only Memory）と、を含むコンピュータで構成することができる。具体的には、上記プログラムを実行したＣＰＵが、図１に示した画像補正装置１０の画像生成部２２、水平直線検出部２８、カメラ間対応付部３０、水平直線対応付部３４、ラベル付部３６、及び画像補正部３８として機能する。また、図１に示すように、画像補正装置１０は、ライン画像記憶部２０、ライン並列画像記憶部２４、２次元画像記憶部２６、及び２次元画像間基線長記憶部３２を備える。
【００２０】
まず、図２Ａ及び図２Ｂに示すように、本実施形態では、車両５０の側面に設けられた、ラインスキャンカメラ２及び２次元カメラ４の各々により、ライン画像及び２次元画像を取得する。ラインスキャンカメラ２は、撮像素子が１列に配置されたカメラであり、「ラインセンサカメラ」等とも呼ばれる。本実施形態では、ラインスキャンカメラ２の撮像素子が、車両５０の移動方向Ａと交差する垂直方向Ｂに並んだ状態に配置されており、車両５０の走行中にラインスキャンカメラ２によって、ライン画像６０を、一定間隔で撮影する。
【００２１】
具体例として、本実施形態では、車両５０のタイヤ等にロータリエンコーダ等の、予め定められた距離を車両５０が移動する毎に、パルス信号を出力する装置が設けられている。ラインスキャンカメラ２は、当該装置から出力されるパルス信号に基づいて、車両５０の移動方向と交差する垂直方向Ｂ、すなわち地面に対して垂直に延びるライン画像６０を順次撮影し、撮影したライン画像６０を表す画像データを出力する。なお、本実施形態に限定されず、車両５０が等速で移動しながら、ライン画像６０を取得する形態であってもよく、この場合も横軸が平行投影のライン画像６０を取得することができる。
【００２２】
ラインスキャンカメラ２で撮影された複数のライン画像６０の各々を表す画像データは、画像補正装置１０に入力される。画像補正装置１０に入力された複数のライン画像６０の各々を表す画像データは、ライン画像記憶部２０に記憶される。
【００２３】
また、２次元カメラ４は、撮像素子が行列状に配置されたカメラであり、一般的な写真画像の撮影に用いられるカメラである。本実施形態の２次元カメラ４は、ラインスキャンカメラ２と並んで、車両５０の側面に設けられており、車両５０の走行中に、ラインスキャンカメラ２が撮影を行う際に、ラインスキャンカメラ２と同一方向を撮影する。具体例として、本実施形態の２次元カメラ４は、ラインスキャンカメラ２が複数のライン画像６０を撮影している間に、動画像の撮影を行う。なお、２次元カメラ４による動画像の撮影は安価で簡易に行うことが可能であり、後述する、ぶれ補正のためにラインスキャンカメラ２と同時に撮影を行っても負担は少ない。
【００２４】
画像生成部２２には、ライン画像記憶部２０からライン画像６０を表す画像データが入力される。画像生成部２２は、ライン画像６０を表す画像データを、車両５０の移動方向Ａに応じて、時系列順に並べて２次元のライン並列画像（ライン並列画像６２、図３参照）を生成する。なお、本実施形態では、複数のライン画像６０を時系列順に並べることにより得られた２次元の画像を「ライン並列画像」という。従って、ライン並列画像の各列（垂直方向Ｂの１列）の画像が、ラインスキャンカメラ２で撮影されたライン画像６０に相当する。
【００２５】
図３には、画像生成部２２により生成されライン並列画像６２の一例を示す。図３に示したように、ライン並列画像６２は、１列ずつ、ライン画像６０を並べた画像であるため、走行中の車両５０の振動等の影響により、ライン画像６０に、垂直方向Ｂにずれが生じる場合がある。本実施形態の画像補正装置１０では、ライン並列画像６２において、ライン画像６０の、垂直方向Ｂのずれを補正する。
【００２６】
画像生成部２２が生成したライン並列画像６２を表す画像データは、ライン並列画像記憶部２４に出力され、ライン並列画像記憶部２４に記憶される。
【００２７】
一方、２次元カメラ４で撮影された動画像の画像データは、画像補正装置１０に入力される。本実施形態において「動画像」とは、静止画像を撮影し、撮影した静止画像を高速に次々と表示して、動画像として認知させることをいう。従って、動画像データは、複数の静止画像データの集まりである。本実施形態では、動画像データに含まれる複数の静止画像データの各々を２次元画像データと称し、当該２次元画像データの各々によって表される画像を「２次元画像」という。画像補正装置１０に入力された、動画像を構成する複数の２次元画像データは、２次元画像記憶部２６に記憶される。
【００２８】
水平直線検出部２８には、２次元画像記憶部２６から２次元画像を表す２次元画像データが入力される。水平直線検出部２８は、入力された２次元画像データの各々が表す複数の２次元画像の各々から、ライン画像６０のずれ補正の指標となる水平直線を検出する。なお、本実施形態において「水平直線」とは、垂直方向Ｂに対して直交する水平方向Ｃ（図２Ｂ及び図３等参照）に延びる直線であり、換言すると、車両５０の移動方向Ａと平行な直線である。
【００２９】
ライン画像６０のぶれ補正の指標となる直線は、車両５０の走行軌跡から等距離であることが望ましい。単純に水平直線の検出を行う場合、撮影対象のデザイン等による直線なのか判別することが難しい。
【００３０】
そのため、本実施形態の水平直線検出部２８では、２次元画像から矩形の検出を行う。
【００３１】
屋外における撮影では、撮影対象の建物自身も矩形の場合が多く、またドア、及び看板等といった矩形を形成する直線が数多くあることを利用し、水平直線検出部２８は、消失点を有さない、すなわち、車両５０の移動方向Ａに対して平行に位置する矩形を形成すると推定される直線のみを選別する。これにより、本実施形態の画像補正装置１０では、指標となる水平直線の検出精度を上げることができる。
【００３２】
２次元画像から矩形を検出する処理としては、例えば、参考文献１に記載されている処理を適用してもよい。当該処理では、検出された矩形のうち、対向する一組の２辺の傾きが車両５０の移動方向Ａを横軸としたとき、当該横軸と平行で、かつ対向するもう一組の２辺の傾きが垂直方向Ｂ（画像縦軸方向）と平行である矩形を検出する。
【００３３】
［参考文献３］コンピュータビジョン技術評論と将来展望  p.151
【００３４】
このように、本実施形態では、２次元画像から矩形を検出し、矩形の、水平方向と平行な１組の辺の少なくとも一方の辺を、水平直線として検出することにより、安定して車両５０の走行経路に対して平行に存在する水平直線群を選択でき、精度よくライン画像６０のずれの補正を行うことが可能となる。
【００３５】
水平直線検出部２８により検出された水平直線を表す情報は、水平直線対応付部３４に出力される。
【００３６】
また、カメラ間対応付部３０には、ライン並列画像記憶部２４から、ライン並列画像を表す画像データが入力される。また、カメラ間対応付部３０には、水平直線検出部２８から２次元画像を表す画像データが入力される。
【００３７】
カメラ間対応付部３０は、２次元画像の各々について、ライン画像６０と、当該２次元画像から得られる、当該２次元画像のうちの光軸中心を通る垂直方向Ｂに沿った１ライン分の画像（以下、「垂直ライン画像」という）との対応付けを行う。
【００３８】
ラインスキャンカメラ２で撮影されたライン画像６０は横軸が平行投影の画像である。一方、２次元カメラ４で撮影された２次元画像は、透視投影による画像である。そのため、ライン画像６０と、２次元画像の全体とでは、撮影対象の写り方が異なり、同じ領域の対応付けが困難である。しかしながら、２次元画像のうちの光軸中心を通る垂直ライン画像のみをみると、ライン画像６０と同じものを撮影している。そこで、カメラ間対応付部３０は、２次元画像のうちの光軸中心を通る垂直ライン画像と、ライン並列画像６２の１ライン分の画像（ライン画像６０）との照合を行い、対応付ける。対応付け（マッチング）には例えば、参考文献２に記載の手法を用いてもよい。垂直ライン画像について、照合を行うライン画像との間の相関値を導出し、相関の高いライン画像を選択してもよい。なお、２次元画像とライン画像６０との解像度の違いを抑えるため、ライン並列画像６２（ライン画像６０）を、縮小したり、ローバスフィルタを用いたりしてもよい。
【００３９】
［参考文献２］イメージプロセッシング  画像処理標準テキストブック  p.253〜254
【００４０】
ラインスキャンカメラ２によるライン画像６０と２次元画像のうちの光軸中心を通る垂直ライン画像間の対応付けを行うことで、２次元画像が撮影された位置がわかる。これは、図４に示すように、ライン並列画像６２（ライン画像６０）は横軸が平行投影であり、横軸上の座標であるｘ座標がそのまま実空間上の座標と対応しているためである。２次元画像の撮影位置がわかることで、２次元画像６６（図４、２次元画像６６１、６６２参照）間の基線長Ｈが既知となり、簡易に撮像物体の３次元位置を算出することが可能となる。
【００４１】
例えば、図４に示した一例では、２次元画像６６１における垂直ライン画像６７１と、２次元画像６６２における垂直ライン画像６７２とを、ライン並列画像６２に対応付ける。そして、垂直ライン画像６７１と、垂直ライン画像６７２とのｘ座標の差の絶対値が、基線長Ｈとなる。
【００４２】
カメラ間対応付部３０により導出された基線長Ｈを表す情報は、２次元画像間基線長記憶部３２に記憶される。
【００４３】
水平直線対応付部３４には、２次元画像間基線長記憶部３２から基線長Ｈを表す情報が入力される。また、水平直線対応付部３４には、水平直線検出部２８により検出された水平直線を表す情報が入力される。
【００４４】
水平直線対応付部３４は、複数の２次元画像６６同士の対応付けを行う。具体的には本実施形態の水平直線対応付部３４は、各２次元画像６６において抽出した矩形の対応付けを行う。対応付け（マッチング）には、上記の参考文献２の手法を用いてもよい。探索範囲は、２次元画像６６の縦軸上の高さであるｙ座標を、片方の矩形と同じｙ座標の領域に限定することもできる。
【００４５】
ラベル付部３６には、水平直線対応付部３４の対応付け結果が入力される。また、ラベル付部３６には、ライン並列画像記憶部２４からライン並列画像６２を表す画像データが入力される。
【００４６】
また、図１に示すように本実施形態のラベル付部３６は、ライン並列画像６２における水平直線の位置を算出する水平直線位置算出部３７を含む。
【００４７】
矩形の対応付けができれば、ステレオ視（参考文献３参照）を行うことで、矩形上の水平直線の実空間上での３次元位置を算出することができる。ラベル付部３６は、車両５０の移動方向をx軸とした場合のライン並列画像６２に含まれるライン画像６０のｘ軸方向の座標と、矩形上の水平直線の実空間上での３次元位置とに基づいて、ライン画像６０に対応付けられた垂直ライン画像中の水平直線の実空間上での３次元位置から、ライン画像６０に水平直線をマッピングし、ライン並列画像６２における、各ライン画像６０のマッピング位置を含む領域を、水平直線が検出されるはずの領域としてラベル付を行う。
【００４８】
［参考文献３］イメージプロセッシング  画像処理標準テキストブック  p.271〜273
【００４９】
地面と垂直方向をｙ軸としたとき、ライン並列画像６２のｙ軸方向は透視投影のため、走行経路からの距離Ｚに応じて、ラインスキャンカメラ２の焦点距離をｆ、実空間での高さをＹとすると、ｙ座標は、焦点距離ｆと高さＹとを乗算した値を、距離Ｚで除算した値で表される。具体的には、水平直線位置算出部３７は、ライン画像６０に対応付けられた垂直ライン画像中の水平直線の実空間上での３次元位置の高さＹと距離Ｚを用いて、下記（１）式により、ライン画像６０のマッピング位置のｙ座標を算出する。
ｙ＝ （ｆ×Ｙ）／Ｚ      ・・・（１）
【００５０】
画像補正部３８には、ラベル付部３６からラベルが付与されたライン並列画像６２が入力される。具体的には、画像補正部３８には、ライン並列画像６２を表す画像データと、ライン並列画像６２におけるラベルが付与された領域を表す情報とが入力される。
【００５１】
画像補正部３８は、ライン並列画像６２におけるラベルが付与された領域において参考文献４で示すような処理等を用いて撮影対象の輪郭の検出を行い、輪郭線分が直線になるように、ライン画像６０を上下にずらして補正を行う。具体的には、図５に示すように、ライン並列画像６２のラベルが付与された領域７０について、矢印Ｓのように数ピクセルずつ、垂直方向Ｂ（上下）にライン画像６０をずらしながら隣接ライン間との画像相関値を上記参考文献２のように算出し、相関が高くなるよう、ライン画像６０のずれ量を補正してもよい。
【００５２】
［参考文献４］OpenCVプログラミングブック  毎日コミュニケーションズ発行  p.146〜155
【００５３】
画像補正部３８からは、このようにしてライン画像６０のずれが補正されたライン並列画像６２を表す画像データが出力される。
【００５４】
＜本実施形態の画像補正装置１０の作用＞
次に、本実施形態の画像補正装置１０の作用について図面を参照して説明する。図６は、本実施形態の画像補正装置１０において実行される画像補正処理ルーチンの一例を示すフローチャートである。
【００５５】
図６に示した画像補正処理ルーチンは、例えば、ラインスキャンカメラ２により撮影されたライン画像６０を表す画像データがライン画像記憶部２０に記憶され、かつ２次元カメラ４により撮影された２次元画像６６を表す画像データが２次元画像記憶部２６に記憶されたタイミングや、画像補正装置１０の外部から画像補正処理ルーチンの実行指示を受け付けたタイミング等、任意のタイミングで実行される。なお、本実施形態の画像補正装置１０では、画像補正処理ルーチンの実行前に、ライン画像６０を表す画像データをライン画像記憶部２０に、また２次元画像６６を表す画像データを２次元画像記憶部２６に記憶させた状態としておく。
【００５６】
図６のステップＳ１００で画像生成部２２は、上述したように、ライン画像記憶部２０に記憶されているライン画像６０を表す画像データを時系列順に並べてライン並列画像６２を生成する。
【００５７】
次のステップＳ１０２で水平直線検出部２８は、上述したように、入力された２次元画像データの各々が表す複数の２次元画像の各々から、消失点を有さない、すなわち、車両５０の移動方向Ａに対して平行に位置する矩形を形成すると推定される直線を、ずれ補正の指標となる水平直線として検出する。
【００５８】
次のステップＳ１０４でカメラ間対応付部３０は、上述したように、ライン画像６０と、２次元画像６６の光軸中心を通る垂直ライン画像６７との対応付けを行うことでカメラ間の対応付けを行う。また、カメラ間対応付部３０は、２つの２次元画像６６の各々の垂直ライン画像６７により、基線長Ｈを導出する。
【００５９】
次のステップＳ１０６で水平直線対応付部３４は、上述したように、各２次元画像６６において抽出した矩形の対応付けを行うことで、複数の２次元画像６６同士の対応付けを行う。
【００６０】
次のステップＳ１０８でラベル付部３６は、上述したように、水平直線位置算出部３７により、抽出した上記矩形上の水平直線の実空間上での３次元位置を算出する。また、ラベル付部３６は、車両５０の移動方向であるｘ軸方向の座標に基づいて、ライン並列画像６２に水平直線をマッピングし、水平直線が検出されるはずの領域にラベル付を行う。
【００６１】
次のステップＳ１１０で画像補正部３８は、上述したように、ライン並列画像６２におけるラベルが付与された領域において、撮影対象の輪郭線分が直線になるように、ライン画像６０を上下にずらして補正を行う。画像補正部３８によってライン画像６０のずれが補正されたライン並列画像６２を表す画像データが出力されると、本画像補正処理ルーチンが終了する。
【００６２】
以上説明したように本実施形態の画像補正装置１０は、画像生成部２２、水平直線検出部２８、カメラ間対応付部３０、水平直線対応付部３４、ラベル付部３６、及び画像補正部３８を備える。画像生成部２２は、撮像素子が１列状に配置されたラインスキャンカメラ２で撮影された、移動方向Ａに対して垂直方向Ｂに延びるライン画像６０を時系列順に並べて２次元のライン並列画像６２を生成する。水平直線検出部２８は、撮像素子が行列状に配置された２次元カメラ４が、ラインスキャンカメラ２がライン画像６０を撮影した際に、ラインスキャンカメラ２と同一方向を撮影して得られた複数の２次元画像６６の各々に含まれる、水平方向Ｃに延びる水平直線を検出する。カメラ間対応付部３０は、ライン画像６０と、２次元画像６６の光軸中心を通る垂直ライン画像６７との対応付けを行う。水平直線対応付部３４は、複数の２次元画像６６間における、水平直線の対応付けを行う。ラベル付部３６は、ライン画像６０と、垂直ライン画像６７との対応付けに基づいて、水平直線をライン画像６０の各々にマッピングし、ライン並列画像６２における、水平直線を含む領域にラベルを付与する。画像補正部３８は、ラベルが付与された領域に基づいて、ライン並列画像６２におけるライン画像６０の垂直方向Ｂの位置を補正する。
【００６３】
このように、本実施形態の画像補正装置１０では、２次元カメラ４により撮影された２次元画像６６による情報とラインスキャンカメラ２により撮影されたライン画像６０による情報とを統合し、ぶれ補正の指標となる水平直線を精度よく検出し、ライン並列画像６２におけるぶれ補正を行う。
【００６４】
２次元カメラ４により撮影された２次元画像６６は透視投影による画像のため、車両５０の移動方向Ａをｘ軸とした場合、ｘ軸から等距離に存在する領域以外から水平直線を検出してしまう可能性がある。ｘ軸からの距離が異なる、すなわち奥行が異なる直線を参照にずれの補正を行うと誤りが生じる。これに対して、本実施形態の画像補正装置１０では、カメラ間対応付部３０で、等距離面上に存在する水平直線を検出することで、見え方（撮影対象の写り方）の違いを抑制し、精度良く、２次元画像６６とライン並列画像６２（ライン画像６０）との照合を行うことができる。
【００６５】
カメラ間対応付部３０は、矩形を検出し、矩形を形成する２組の直線の傾きがそれぞれ水平方向Ｃと垂直方向Ｂとで一致しているもののみ検出し、その水平方向Ｃと平行な１組の辺の一方を、ずれを補正するための指標とする。本実施形態の画像補正装置１０では、このように消失点をもたない水平方向Ｃの直線群を検出することで精度よく、車両５０の進行経路から等距離に存在する水平直線を、ずれを補正するための指標とすることが可能となる。
【００６６】
また、本実施形態の画像補正装置１０によれば、２次元画像６６の光軸中心を通る垂直ライン画像６７の実空間での位置がわかる。そのため、水平直線位置算出部３７は、２次元画像６６間における水平直線の対応付けを行うだけで、水平直線の実空間上での位置を算出することができる。画像補正装置１０では、実空間上での位置が付与された水平直線をライン並列画像６２に再投影することで、ずれの補正の指標となる水平直線を検出することが可能となる。
【００６７】
従って、本実施形態の画像補正装置１０によれば、ラインスキャンカメラ２により撮影されたライン画像６０を時系列で並べたライン並列画像６２における、ライン画像６０のずれを適切に補正することができる。
【００６８】
また、本実施形態の画像補正装置１０によれば、予め指標となる物体を同時に撮影したり、ぶれが存在する領域をユーザ等が指定したりすることなく、長距離にわたるライン並列画像６２の補正を短時間に自動で行うことが可能となる。
【００６９】
また、本実施形態では、上記画像補正処理を実行するためのプログラムが予めインストールされている形態について説明したが、当該プログラムを、コンピュータが読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００７０】
２  ラインスキャンカメラ
４  ２次元カメラ
１０  画像補正装置
２２  画像生成部
２８  水平直線検出部
３０  カメラ間対応付部
３４  水平直線対応付部
３６  ラベル付部
３７  水平直線位置算出部
３８  画像補正部
【図１】
2020099009.tif 000003
【図２Ａ】
2020099009.tif 000004
【図２Ｂ】
2020099009.tif 000005
【図３】
2020099009.tif 000006
【図４】
2020099009.tif 000007
【図５】
2020099009.tif 000008
【図６】
2020099009.tif 000009