以下に、図面を参照しながら、本発明に係る計測装置、計測システムおよび車両の実施形態を詳細に説明する。また、以下の各実施形態によって本発明が限定されるものではなく、以下の各実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の各実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
[既存の道路性状の検査方法の概略]
実施形態の説明に先んじて、既存の道路性状の検査方法について、概略的に説明する。道路性状を評価するための指標として、舗装の維持管理指数(MCI:Maintenance Control Index)が定められている。MCIは、舗装の供用性を、「ひび割れ率」、「わだち掘れ量」および「平坦性」という3種類の路面性状値によって定量的に評価するものである。
これらのうち、「ひび割れ率」は、例えば、路面を50cmのメッシュに分割した各領域において、ひび割れの本数およびパッチング面積に応じて、下記の通り、ひび割れ面積を算出し、算出結果を下記の式(1)に適用して、ひび割れ率を求める。
ひび割れ1本⇒0.15[m2]のひび
ひび割れ2本⇒0.25[m2]のひび
パッチング面積0~25[%]⇒ひび割れ0[m2]
パッチング面積25~75[%]⇒ひび割れ0.125[m2]
パッチング面積75[%]以上⇒ひび割れ0.25[m2]
「わだち掘れ量」は、図1(a)および図1(b)に例示されるように、例えば、1車線について2本発生する「わだち」の深さD1およびD2を計測し、計測された深さD1およびD2のうち大きい値を採用する。「わだち」の掘れ方には、いくつかのパターンがあるので、それぞれのパターンに合わせた計測方法が採用される。図1(a)は、2本の「わだち」の間の部分が、2本の「わだち」の両端より高い場合、図1(b)は、2本の「わだち」の間の部分が、2本の「わだち」の両端より低い場合の計測方法の例を示している。
「平坦性」は、路面の車両の進行方向に沿って、例えば、路面からの高さを1.5[m]間隔で3箇所、計測する。例えば、図2に示されるように、車両の下面に1.5[m]間隔でA、B、Cの3箇所に測定器を設け、高さX1、X2およびX3を計測する。計測された高さX1、X2およびX3に基づき、下記の式(2)により変位量dを求める。この計測を、車両を移動させながら複数回実行する。これにより得られた複数の変位量dに基づいて、式下記の式(3)を用いて平坦性σを算出する。
上述した「ひび割れ率」、「わだち掘れ量」および「平坦性」の計測を、例えば100[m]の評価区間毎に実行する。損傷箇所が予め分かっている場合は、100[m]を40[m]+60[m]等、より小さい単位に分割して計測を行う場合もある。100[m]単位で実行された計測結果に基づきMCIを算出し、調書を作成する。
MCIは、計測したひび割れ率C[%]、わだち掘れ量D[mm]、および、平坦性σ[mm]に基づき、下記の(表1)に示される4つの式を計算して、値MCI、MCI1、MCI2およびMCI3を算出する。そして、算出された値MCI、MCI1、MCI2およびMCI3のうち、最小値をMCIとして採用する。採用されたMCIに基づいて、下記の(表2)に示す評価基準に従って評価を行い、評価区間の路面に修繕が必要か否かを判定する。
[第1の実施形態]
次に、第1の実施形態に係る撮像システムについて説明する。第1の実施形態では、対象物を複数の異なる方向から同時に撮影して2つの撮像画像(以下、「ステレオ撮像画像」と称する場合がある)を得ることにより、その奥行き情報を得ることができるステレオカメラを車両に取り付けて路面を撮像する。撮像されたステレオ撮像画像に基づき撮像位置から路面に対する奥行き情報を取得して路面の3次元形状を生成し、3次元路面データを作成する。この3次元路面データを解析することで、MCIを求めるために用いる「ひび割れ率」、「わだち掘れ量」および「平坦性」を取得することができる。
より具体的に説明する。ステレオカメラは、所定の長さ(基線長と呼ぶ)を離して設けられた2つのカメラを備え、この2つのカメラで撮像された2枚ペアの撮像画像(ステレオ撮像画像)を出力する。このステレオ撮像画像に含まれる2枚の撮像画像間で対応する点を探索することで、撮像画像中の任意の点について、奥行きの距離を復元することができる。撮像画像の全域について奥行きの距離(以下、「奥行き値」と称する場合がある)を復元し、各画素を奥行き情報により表したデータを、デプスマップと呼ぶ。すなわち、デプスマップは、それぞれ3次元の情報を持つ点の集合からなる3次元点群情報である。
このステレオカメラを車両の後方等、1箇所に下向きに取り付け地面を撮像できるようにし、計測したい道路に沿って車両を移動させる。説明を簡略にするため、測定のために車両に搭載するステレオカメラは、撮像範囲が、道路幅方向の規定の長さをカバーしているとする。
わだち掘れ量Dは、このステレオカメラにより撮像されたステレオ撮像画像から復元されたデプスマップ中の道路幅方向にストライプ状に切り取った部分の奥行き値を並べる。この奥行き値の道路幅方向の変化に基づき、深さD1およびD2を計算することができる。
ひび割れ率Cは、路面を撮像した撮像画像を解析して「ひび」等を検出し、検出結果に基づき上述した式(1)による計算を行うことで取得する。
ここで、車両の進行方向では、1回の撮像では撮像範囲が限定されるため、例えば、100[m]区間のひび割れ率Cを1回の撮像による撮像画像に基づき計算することができない。そこで、車両を道路に従い移動させながら、撮像範囲の車両の進行方向の長さに応じた移動毎に順次、撮像を行う。このとき、前回の撮像における撮像範囲と、今回の撮像における撮像範囲とが、予め設計された重複率以上で重複するように、撮像のトリガ(撮像トリガ)を制御する。
このように、車両の移動に応じて撮像のトリガを制御することで、計測したい道路の路面を漏れなく撮像できる。そのため、車両の進行に応じて順次撮像された撮像画像をスティッチングと呼ばれる画像処理等を用いて繋ぎ合わせて、例えば100[m]区間の路面の画像を含む1枚の画像を生成する。この画像を目視確認あるいは解析することで、道路面上のひび割れ率Cを計測できる。
平坦性の測定は、Structure from Motion(以下、「SfM」と称する)と呼ばれる、異なる撮像地点の画像から十分に重複して撮像された画像に基づき、その撮像位置を推定する技術を使う。
SfMの処理の概要について説明する。まず、撮像範囲を重複して撮像された画像を用い、それぞれの画像中で同一地点を撮像した点を対応点として検出する。対応点は、可能な限り多数を検出することが望ましい。次に、例えば1枚目の画像の撮像地点から、2枚目の画像の撮像地点へのカメラの移動を、回転と並進を未知パラメータとして、検出した対応点の座標を用いた連立方程式を立て、最も合計の誤差が小さくなるようなパラメータを求める。このようにして、2枚目の画像の撮像位置を算出できる。
上述したように、それぞれの撮像地点におけるステレオ撮像画像から、画像中の任意の点の奥行きがデプスマップとして復元できている。1枚目のステレオ撮像画像に対応するデプスマップに対して、2枚目のステレオ撮像画像に対応するデプスマップを、上述の連立方程式により求めた1枚目のカメラの撮像位置を原点としたデプスマップに座標変換する。これにより、2枚のデプスマップを、1枚目のデプスマップの座標系に統一することができる。換言すれば、2枚のデプスマップを合成して1枚のデプスマップを生成できる。
この処理を、例えば100[m]区間において撮像したすべてのステレオ撮像画像に基づくデプスマップについて行い合成することで、1つの3次元空間中に、100[m]区間の道路面が復元される。このようにして復元された道路面の奥行き値を上述の式(2)に適用することで、変位量dを算出できる。この変位量dを上述の式(3)に適用して、平坦性σを算出する。
第1の実施形態では、車両に搭載したステレオカメラによる撮像と、撮像されたステレオ撮像画像に対する画像処理を行うことによって、MCIを求めるための、道路面の平坦性σ、わだち掘れ量D、および、ひび割れ率Cを、纏めて計測することができる。第1の実施形態では、この計測を、ステレオカメラと、ステレオ撮像画像に対する画像処理を行う情報処理装置とを含む撮像システムを用いて実施可能であり、MCIを簡易な構成により求めることが可能となる。
また、既存技術では、MCIを求めるための3つの指標に係る計測を、それぞれ別個の装置にて実行するため、データの保存、ならびにデータ同士の時刻同期等の制御および管理が煩雑になっていた。これに対して、第1の実施形態では、MCIを求めるための3つの指標を共通のステレオ撮像画像に基づき算出するため、データの保存、ならびにデータ同士の時刻同期等の制御および管理が容易となる。
(ステレオカメラの配置)
次に、第1の実施形態におけるステレオカメラ配置の一例について説明する。図3は、第1の実施形態に係る撮像システムの構成の一例を示す図である。図3(a)は、第1の実施形態に係る撮像システムが車両1に搭載される様子を車両1の側面から示した図である。図3(a)において、図の左端に向かう方向が、車両1の進行方向とする。すなわち、図3(a)において、車両1の左端側が車両1の前部であり、右端側が車両1の後部である。図3(b)は、当該車両1を後部側から見た例を示す図である。
第1の実施形態に係る撮像システムは、当該撮像システムを搭載する移動体としての車両1の車体後部に撮像装置取付用の取付部2を備える取付部材3を固定し、取付部2に1以上のステレオカメラ6を取り付ける。ここでは、図3(b)に例示されるように、車両1の車体の幅方向の両端側に、2台のステレオカメラ6Lおよび6R(撮像部)が取り付けられるものとする。各ステレオカメラ6Lおよび6Rは、車両1が移動する路面4(被計測物の一例)を撮像する向きに取り付けられる。好ましくは、各ステレオカメラ6Lおよび6Rは、路面4を垂直方向から撮像するように取り付けられる。
以降、ステレオカメラ6Lおよび6Rを区別する必要のない場合には、ステレオカメラ6Lおよび6Rをステレオカメラ6として纏めて記述する。
ステレオカメラ6は、例えば車両1の内部に設置された、例えばパーソナルコンピュータ(PC)5により制御される。作業者はPC5を操作し、ステレオカメラ6による撮像開始を指示する。撮像開始が指示されると、PC5は、ステレオカメラ6による撮像を開始する。撮像は、ステレオカメラ6すなわち車両1の移動速度に応じてタイミング制御され、繰り返し実行される。なお、ステレオカメラ6を制御する装置は、PC5に限られず、ワークステーション、またはステレオカメラ6の制御に特化した専用装置等であってもよい。
作業者は、例えば、必要な区間の撮像が終了に応じてPC5を操作し撮像終了を指示をする。PC5は、撮像終了の指示に応じて、ステレオカメラ6による撮像を終了させる。
図4および図5は、第1の実施形態に適用可能な、ステレオカメラ6の撮像範囲の例を示す図である。なお、図4および図5において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。
図4は、第1の実施形態に係るステレオカメラによる車両の進行方向の撮像範囲(進行方向視野Vpとする)を説明するための図である。なお、図4は、上述の図1と同様に、図の左端に向かう方向を、車両1の進行方向としている。進行方向視野Vpは、図4に示されるように、ステレオカメラ6の画角αと、ステレオカメラ6の路面4に対する高さhとに従い決定される。
図5は、第1の実施形態に係るステレオカメラによる車両の道路幅方向の撮像範囲を説明するための図である。図5は、車両1を後部側から見た図であり、図3(b)と共通する部分には同一の符号を付して、詳細な説明を省略する。
図5(a)において、ステレオカメラ6Lは、2つの撮像レンズ6LLおよび6LRを備える。撮像レンズ6LLおよび6LRを結ぶ線を基線、その長さを基線長と呼び、ステレオカメラ6Lは、基線が車両1の進行方向に対して垂直になるように配置される。ステレオカメラ6Rも同様に、基線長だけ離れた2つの撮像レンズ6RLおよび6RRを備え、基線が車両1の進行方向に対して垂直になるように配置される。
図5(b)は、第1の実施形態のステレオカメラ6Lおよび6Rの撮像範囲の例を示す。ステレオカメラ6Lにおいて、撮像レンズ6LLおよび6LRそれぞれの撮像範囲60LLおよび60LRは、基線長および高さhに応じてずれて重ねられる。ステレオカメラ6Rについても同様に、撮像レンズ6RLおよび6RRそれぞれによる、撮像範囲60RLおよび60RRは、基線長および高さhに応じてずれて重ねられる。
以下、特に記載のない限り、これら撮像範囲60LLおよび60LR、ならびに、撮像範囲60RLおよび60RRを、それぞれ纏めてステレオ撮像範囲60Lおよび60Rと呼ぶ。ステレオカメラ6Lおよび6Rは、図5(b)に示されるように、ステレオ撮像範囲60Lおよび60Rが、ステレオ撮像範囲60Lの車両1の幅方向の一端側の一部の領域と、ステレオ撮像範囲60Rの当該幅方向の他端側の一部の領域とが、領域61において所定の重複率で重複するように、配置される。
図6は、第1の実施形態に適用可能な、ステレオカメラ6Lによるステレオ撮像範囲60Lの、車両1の進行方向における重複を示す図である。なお、図6において、左カメラ視野VLおよび右カメラ視野VRは、それぞれステレオカメラ6Lにおける撮像レンズ6LLおよび6LRの視野(撮像範囲)を示している。移動中の車両1において、ステレオカメラ6Lにより2回の撮像を行ったものとする。ステレオカメラ6Lは、1回目は、ステレオ撮像範囲60L(撮像範囲60LLおよび60LR)の撮像を行い、2回目は、ステレオ撮像範囲60Lに対して、車両1の進行方向に、車両1の移動距離に応じた距離だけ移動したステレオ撮像範囲60L’(撮像範囲60LL’および60LR’)の撮像を行う。
このとき、ステレオ撮像範囲60Lとステレオ撮像範囲60L’とが、進行方向視野Vpに対して予め定められた進行方向重複率Dr以上の重複率で重複するように、ステレオカメラ6Lの撮像タイミングを制御する。このように、時間軸に沿ってステレオ撮像範囲60Lおよび60L’を順次撮像することで、ステレオ撮像範囲60Lおよび60L’を撮像した2枚のステレオ撮像画像を繋ぎ合わせる処理を容易とすることができる。
なお、上述では、第1の実施形態に係る撮像システムが2台のステレオカメラ6Lおよび6Rを用いるものとして説明したが、これはこの例に限定されない。例えば、第1の実施形態に係る撮像システムは、図7(a)に示されるように、ステレオカメラ6Lおよび6Rに対してさらに1台のステレオカメラ6Cを加え、3台のステレオカメラ6L、6Rおよび6Cを用いて構成してもよい。
図7(a)の例では、ステレオカメラ6Lおよび6Rの間隔が、ステレオカメラ6Lおよび6Rのみを用いる場合に比べて広げられ、その中央部にステレオカメラ6Cが配置されている。図7(b)に示されるように、ステレオカメラ6Cの撮像レンズ6CLおよび6CRによる撮像範囲60CLおよび60CRにより、ステレオ撮像範囲60Cが構成される。ステレオカメラ6L、6Cおよび6Rは、それぞれによる各ステレオ撮像範囲60L、60Cおよび60Rが車両1の幅方向に所定の重複率で重複するように配置される。
このように、1車線を撮像するために、3台のステレオカメラ6L、6Cおよび6Rを用いることで、車線の右側、中央および左側にそれぞれ撮像範囲を設定して撮像が可能となり、高画質(高解像)なステレオ撮像画像を、少ない台数のステレオカメラで撮像可能となる。ここで、特に道路幅は、一般的には、3.5[m]と規定されている。そこで、この道路幅の3.5[m]に対応して、ステレオカメラ6Lおよび6Rにより車線の道路幅方向の両端を撮像し、ステレオカメラ6Cにより中央部を撮像することが考えられる。
なお、撮像範囲がこの規定される道路幅(3.5[m])を含むことが可能な画角を有するステレオカメラを1台のみ用いて、撮像システムを構成してもよい。
(撮像システムの構成)
次に、第1の実施形態に係る撮像システムの構成について説明する。以下では、撮像システムが2台のステレオカメラを備えるものとして説明を行う。
図8は、第1の実施形態に係る撮像システムの概略的な構成の例を示すブロック図である。図8において、撮像システム10は、撮像部1001および1002と、撮像制御部1011および1012と、速度取得部102と、生成部103と、を含む。
撮像部1001および1002は、それぞれ上述したステレオカメラ6Lおよび6Rに対応する。撮像制御部1011および1012は、それぞれ撮像部1001および1002の撮像タイミング、露光、シャッタ速度等の撮像動作を制御する。速度取得部102は、撮像部1001および1002の、被写体(路面4)に対する速度を取得する。生成部103は、速度取得部102により取得された速度と、進行方向視野Vpとに基づき、撮像部1001および1002による撮像を指定するためのトリガ(撮像トリガ)を生成する。生成部103は、生成したトリガを、撮像制御部1011および1012に送る。撮像制御部1011および1012は、生成部103から送られたトリガに応じて、撮像部1001および1002に対して撮像動作を実行させる。
図9は、第1の実施形態に係る撮像システムの概略的なハードウェア構成の一例を示す図である。図9において、撮像システム10は、ステレオカメラ6Lおよび6Rと、図3のPC5に対応する情報処理装置50(計測装置の一例)と、を含む。情報処理装置50は、所定のタイミングでトリガを生成し、生成したトリガをステレオカメラ6Lおよび6Rに送る。ステレオカメラ6Lおよび6Rは、このトリガに応じて撮像を行う。ステレオカメラ6Lおよび6Rにより撮像された各ステレオ撮像画像は、情報処理装置50に送信される。情報処理装置50は、ステレオカメラ6Lおよび6Rから受信した各ステレオ撮像画像をストレージ等に記憶、蓄積する。情報処理装置50は、蓄積したステレオ撮像画像に基づき、デプスマップの生成、および生成したデプスマップの繋ぎ合わせ等の画像処理を実行する。
図10は、第1の実施形態に係るステレオカメラ6Lのハードウェア構成の一例を示す図である。なお、ステレオカメラ6Rは、このステレオカメラ6Lと同様の構成にて実現可能である。
図10において、ステレオカメラ6Lは、撮像光学系600Lおよび600Rと、撮像素子601Lおよび601Rと、駆動部602Lおよび602Rと、信号処理部603Lおよび603Rと、出力部604と、を含む。これらのうち、撮像光学系600Lは、上述した撮像レンズ6LLに対応する構成である。同様に、撮像光学系600Rは、上述した撮像レンズ6LRに対応する構成である。
撮像光学系600Lは、画角α、焦点距離fを有する光学系であって、被写体からの光を撮像素子601Lに投射する。撮像素子601Lは、例えばCMOS(Complementary Metal Oxide Semiconductor)を用いた光センサであって、投射された光に応じた信号を出力する。なお、撮像素子601Lに、CCD(Charge Coupled Device)による光センサを適用してもよい。駆動部602Lは、撮像素子601Lを駆動し、撮像素子601Lから出力された信号に対してノイズ除去、ゲイン調整等の所定の処理を施して出力する。信号処理部603Lは、駆動部602Lから出力された信号に対してA/D変換を施して、当該信号をディジタル方式の画像信号(撮像画像)に変換する。信号処理部603Lは、変換した画像信号に対してガンマ補正等所定の画像処理を施して出力する。信号処理部603Lから出力された撮像画像は、出力部604に送られる。
撮像光学系600R、撮像素子601R、駆動部602R、および、信号処理部603Rの動作は、上述の撮像光学系600L、撮像素子601L、駆動部602L、および、信号処理部603Lと同様である。
駆動部602Lおよび602Rは、例えば情報処理装置50から出力されたトリガが送信される。駆動部602Lおよび602Rは、受信したトリガのタイミングで、撮像素子601Lおよび601Rから信号を取り込み、撮像を行う。
ここで、駆動部602Lおよび602Rは、撮像素子601Lおよび601Rにおける露光を、一括同時露光方式により行う。この方式は、グローバルシャッタと呼ばれる。これに対して、ローリングシャッタは、画素位置の上から順番(ライン順)に光を取り込んでいく方式であるため、フレーム中の各ラインは、厳密に同じ時刻の被写体を写したものではない。ローリングシャッタ方式の場合、1フレームの撮像信号を取り込んでいる間にカメラまたは被写体が高速に動いてしまうと、被写体の像がライン位置に応じてずれて撮像されてしまう。そのため、第1の実施形態に係るステレオカメラ6Lおよび6Rでは、グローバルシャッタを用いて、投影幾何的に正しく道路形状が撮像されるようにする。
出力部604は、信号処理部603Lおよび603Rから供給された各フレームの撮像画像を、1組のステレオ撮像画像として出力する。出力部604から出力されたステレオ撮像画像は、情報処理装置50に送られ、蓄積される。
図11は、第1の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。図11において、情報処理装置50は、それぞれバス5030に接続されたCPU(Central Processing Unit)5000と、ROM(Read Only Memory)5001と、RAM(Random Access Memory)5002と、グラフィクスI/F(インタフェース)5003と、ストレージ5004と、入力デバイス5005と、データI/F5006と、通信I/F5007と、を備える。さらに、情報処理装置50は、それぞれバス5030に接続されたカメラI/F5010と、速度取得部5021と、を備える。
ストレージ5004は、データを不揮発に記憶する記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用できる。ストレージ5004は、CPU5000が動作するためのプログラムおよびデータが記憶される。
CPU5000は、例えば、ROM5001またはストレージ5004のうち少なくともいずれかにに予め記憶されたプログラムに従い、RAM5002をワークメモリとして用い、この情報処理装置50の全体の動作を制御する。グラフィクスI/F5003は、CPU5000によりプログラムに従い生成された表示制御信号に基づき、ディスプレイ5020が対応可能な表示信号を生成する。ディスプレイ5020は、グラフィクスI/F5003から供給された表示信号に応じた画面を表示する。
入力デバイス5005は、ユーザ操作を受け付け、受け付けたユーザ操作に応じた制御信号を出力する。入力デバイス5005としては、マウスもしくはタブレットといったポインティングデバイス、またはキーボード等を適用できる。また、入力デバイス5005とディスプレイ5020とを一体的に形成し、いわゆるタッチパネル構成としてもよい。
データI/F5006は、外部の機器との間でデータの送受信を行う。データI/F5006としては、例えばUSB(Universal Serial Bus)を適用可能である。通信I/F5007は、CPU5000の指示に従い、外部のネットワークに対する通信を制御する。
カメラI/F5010は、各ステレオカメラ6Lおよび6Rに対するインタフェースである。各ステレオカメラ6Lおよび6Rから出力された各ステレオ撮像画像は、カメラI/F5010を介して、例えばCPU5000に渡される。また、カメラI/F5010は、CPU5000の指示に従い上述したトリガを生成し、生成したトリガを各ステレオカメラ6Lおよび6Rに送る。
速度取得部5021は、車両1の速度を示す速度情報を取得する。車両1に各ステレオカメラ6Lおよび6Rが取り付けられている場合、速度取得部5021が取得する速度情報は、各ステレオカメラ6Lおよび6Rの、被写体(路面)に対する速度を示す。速度取得部5021は、例えば、GNSS(Global Navigation Satellite System)の信号を受信する機能を有し、受信したGNSSによる信号のドップラ効果に基づき車両1の速度を示す速度情報を取得する。これに限らず、速度取得部5021は、車両1から直接的に速度情報を取得することもできる。
図12は、第1の実施形態に係る情報処理装置の機能を説明するための機能ブロックの構成の一例を示す図である。図12において、情報処理装置50は、撮像画像取得部500と、UI部501と、制御部502と、撮像制御部503と、を含む。情報処理装置50は、さらに、マッチング処理部510と、3D情報生成部511と、3D情報取得部520と、第1状態特性値算出部521と、第2状態特性値算出部522と、第3状態特性値算出部523と、調書作成部524と、記憶部530と、報知部531と、を含む。
これら撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523および調書作成部524は、CPU5000上で動作するプログラムにより実現される。これに限らず、これら撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523および調書作成部524の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
撮像画像取得部500は、各ステレオカメラ6Lおよび6Rから、ステレオ撮像画像を取得する。撮像画像取得部500は、取得したステレオ撮像画像を、例えばストレージ5004に記憶する。また、撮像画像取得部500は、例えばストレージ5004から、記憶されたステレオ撮像画像を取得する。
UI部501は、入力デバイス5005やディスプレイ5020に対する表示によるユーザインタフェースを実現する。制御部502は、この情報処理装置50全体の動作を制御する。
撮像制御部503は、上述した撮像制御部1011および1012、速度取得部102および生成部103に対応する。すなわち、撮像制御部503は、各ステレオカメラ6Lおよび6Rの被写体(路面4)に対する速度を示す速度情報を取得し、取得した速度情報と、予め設定される各ステレオカメラ6Lおよび6Rの画角αおよび高さhと、に基づき、各ステレオカメラ6Lおよび6Rの撮像を指示するためのトリガを生成する。
マッチング処理部510は、撮像画像取得部500により取得されたステレオ撮像画像を構成する2枚の撮像画像を用いてマッチング処理を行う。3D情報生成部511は、3次元情報に係る処理を行う。例えば、3D情報生成部511は、マッチング処理部510によるマッチング処理の結果を用いて三角法等により深度情報を求め、求めた深度情報に基づき3次元点群情報(デプスマップ)を生成する。
3D情報取得部520は、3D情報生成部511によりステレオ撮像画像毎に求めた3次元点群情報を取得する。
第1状態特性値算出部521は、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを用いて、MCIを求めるための状態特性値のうち、ひび割れ率Cを算出する。
第2状態特性値算出部522は、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを用いて、MCIを求めるための状態特性値のうち、平坦性σを算出する。
第3状態特性値算出部523は、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを用いて、MCIを求めるための状態特性値のうち、わだち掘れ量D(物理量の一例)を算出する。第3状態特性値算出部523は、図12に示すように、入力部5231と、認識部5232と、決定部5233と、計測部5234と、出力部5235と、を有する。
入力部5231は、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを入力する。入力部5231が入力するステレオ撮像画像は、ステレオカメラ6Lおよび6Rにより撮像されたステレオ撮像画像のうち、いずれの画像であってもよい。
認識部5232は、予め付加された路面の異物情報についての学習データに基づく教師あり学習(深層学習または機械学習)によって得られた学習モデルである識別器を用いて、入力部5231により入力されたステレオ撮像画像が示す被写体に異物が含まれるか否かを認識する。このとき、認識部5232は、記憶部530から識別器のデータを読み出す。
決定部5233は、認識部5232によるステレオ撮像画像に対する異物の認識結果に基づいて、3次元点群情報(デプスマップ)上の車両1の進行方向におけるわだち掘れ量Dの計測位置を決定する。
計測部5234は、決定部5233により決定された3次元点群情報における計測位置でわだち掘れ量Dを計測する。
出力部5235は、計測部5234により計測されたわだち掘れ量Dを、調書作成部524へ出力する。
調書作成部524は、第1状態特性値算出部521、第2状態特性値算出部522および第3状態特性値算出部523により算出された各状態特性値に基づきMCIを求め、調書を作成する。
記憶部530は、例えば、上述の認識部5232が用いる学習モデルである識別器のデータを記憶する。記憶部530は、図11に示すRAM5002またはストレージ5004により実現される。
報知部531は、ディスプレイ5020に各種情報を表示して報知する。報知部531は、例えば、決定部5233により決定された計測位置ではわだち掘れ量が計測できない旨、または、未だ最終的な計測位置が定まっていない旨等を報知する。なお、報知部531は、ディスプレイ5020における表示により報知することに限定されるものではなく、例えば、音声、または警告音等の電子音等の聴覚に働きかける手段によって報知するものとしてもよい。
情報処理装置50における第1の実施形態に係る各機能を実現するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネット等のネットワークを経由して提供または配布するように構成してもよい。なお、上述のプログラムの提供または配布については、後述の第2の実施形態および第3の実施形態でも同様である。
当該プログラムは、撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523、調書作成部524および報知部531を含むモジュール構成となっている。実際のハードウェアとしては、CPU5000がストレージ5004等の記憶媒体から当該プログラムを読み出して実行することにより、上述した各部がRAM5002等の主記憶装置上にロードされ、撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523、調書作成部524および報知部531が主記憶装置上に生成されるようになっている。なお、上述のプログラムの構成および主記憶装置上の生成の態様については、後述の第2の実施形態および第3の実施形態でも同様である。
(トリガ生成方法)
次に、第1の実施形態に係る、各ステレオカメラ6Lおよび6Rに対して撮像を指示するためのトリガの生成方法について、より詳細に説明する。第1の実施形態において、生成部103は、ステレオカメラ6Lおよび6Rの被測定物(路面4)に対するステレオ撮像範囲の、車両1の速度の方向の距離を、車両1が速度情報が示す速度で移動する時間に対して、当該時間より短い所定時間以下の時間間隔でトリガを生成する。
すなわち、トリガは、ステレオカメラ6Lおよび6Rにおける路面4の撮影範囲が、車両1の進行方向に所定の重複率(進行方向重複率Dr)以上で重複することが保たれるように発生させる必要がある。これは、後述するように、各ステレオ撮像画像から撮像位置を算出する処理において、安定的に精度の高いカメラ位置を算出するため、十分な対応点を検出できるようにすることが目的である。進行方向重複率Drの下限値は、例えば実験的に「60[%]」のように決定される。
第1の実施形態において、トリガの生成方法は、下記の3通りの方法を適用できる。
(1)一定時間間隔で生成する方法(第1の生成方法)
(2)カメラの移動速度を検出して生成する方法(第2の生成方法)
(3)撮像画像を用いて移動距離を算出して生成する方法(第3の生成方法)
<第1の生成方法>
先ず、トリガの第1の生成方法について説明する。第1の生成方法においては、撮像中の車両1の最高速度Speedと、撮像範囲の大きさ(撮像範囲の車両1の進行方向の長さ)と、からトリガの時間間隔を決める。速度取得部5021は、車両1におけるシステム設定値や、情報処理装置50に対するユーザ入力により、車両1の最高速度Speedを予め取得しておく。撮像制御部503は、速度取得部5021から最高速度Speedを取得し、トリガの時間間隔を、取得した最高速度Speedと、進行方向視野Vpおよび進行方向重複率Drと、を用いて、下記の式(4)により算出する。なお、進行方向重複率Drは、上述した下限値が適用される。
式(4)により、1秒間に生成すべきトリガ数fpsが算出される。トリガ数fpsの逆数が、生成すべき次のトリガまでの時間間隔となる。
進行方向視野Vpは、模式的には、図4を用いて説明したように、各ステレオカメラ6Lおよび6Rの路面4からの高さhと、各ステレオカメラ6Lおよび6Rの画角αと、に基づき設定できる。実際は、さらに、各ステレオカメラ6Lおよび6Rの路面4に対する角度等も考慮して、進行方向視野Vpを設定する。
ここで、移動中の車両1が右または左にカーブした際には、ステレオカメラ6Lおよび6Rのうち外側にあるカメラの移動量が大きくなる。そのため、車両1の最高速度Speedをそのまま使うのではなく、外側カメラの位置に基づく回転移動の速度を使うと、より好ましい。
撮像制御部503は、生成したトリガに応じて撮像されたステレオ撮像画像を、すべて例えばストレージ5004やRAM5002に記憶し、蓄積する。
<第2の生成方法>
次に、トリガの第2の生成方法について説明する。上述した第1の方法は、シンプルである一方、車両1が停止している状態や、所定の速度よりも低速で移動している状態では、最高速度Speedに対して過剰に細かい間隔で撮像することになり、蓄積されるステレオ撮像画像の量が大きくなってしまう。第2の生成方法では、撮像制御部503は、カメラの移動速度を検出し、検出された移動速度に応じてトリガを生成する。
撮像制御部503は、速度取得部5021により取得された速度情報が示す現在の車両1の速度を、式(4)の最高速度Speedとして用いて、次のトリガまでの時間間隔を算出し、撮像を行う。第2の生成方法によれば、車両1の移動速度が小さいほど、トリガ生成の時間間隔が長くなり、無駄な撮像が行われることが抑制される。
撮像制御部503は、生成したトリガに応じて撮像されたステレオ撮像画像を、すべて例えばストレージ5004やRAM5002に記憶し、蓄積する。
なお、この第2の生成方法と、上述した第1の生成方法は、組み合わせて実施することが可能である。
<第3の生成方法>
次に、トリガの第3の生成方法について説明する。第3の生成方法では、上述した第1の生成方法と同様に、車両1の最高速度Speedに基づいた一定時間間隔でトリガを生成する。ここで、第3の生成方法においては、トリガに応じて撮像されたステレオ撮像画像を、すべて蓄積するのではなく、最後に蓄積されたステレオ撮像画像と、直前に撮像されたステレオ撮像画像との重複率が予め設定された進行方向重複率Drを下回った場合にのみ蓄積する。
後述するが、車両1の進行方向に重複するように撮像されたステレオ撮像画像のみを用いて、カメラ(車両1)の移動距離を算出することが可能である。
撮像制御部503は、最後に蓄積されたステレオ撮像画像と、直前に撮像されたステレオ撮像画像とを用いてカメラの移動距離を算出する。撮像制御部503は、算出した距離が、進行方向重複率Drの下限値に対応した移動距離を超えたか否かを判定する。撮像制御部503は、超えたと判定した場合には、直前に撮像されたステレオ撮像画像を蓄積する。一方、撮像制御部503は、超えていないと判定した場合は、直前に撮像したステレオ撮像画像を破棄する。
これにより、車両1の現在速度を計測するためのセンサを用いずとも、移動速度が小さいときには無駄な画像蓄積が行われないことになる。
なお、上述では、ステレオカメラ6Lおよび6Rに対して撮像を指示するためのトリガを、ステレオカメラ6Lおよび6Rの外部、例えば情報処理装置50において生成して、ステレオカメラ6Lおよび6Rに送信するものとしているが、これに限定されない。例えば、当該トリガをステレオカメラ6Lおよび6Rの一方で生成し、これによりステレオカメラ6Lおよび6Rに対して撮像を指示するようにしてもよい。
(路面性状値の算出方法)
次に、第1の実施形態に係る路面性状値の算出方法について説明する。以下では、第1の実施形態に係る平坦性σ、ひび割れ率Cおよびわだち掘れ量Dの計測方法について説明する。
<平坦性>
図13は、第1の実施形態の平坦性の算出処理の一例を示すフローチャートである。ステップS100で、撮像画像取得部500により、ステレオカメラ6Lおよび6Rにより撮像され、例えばストレージ5004に記憶されたステレオ撮像画像が取得される。ステレオ撮像画像が取得されると、処理は、並列して処理が可能なステップS101aおよびステップS101bに移行する。
ステップS101aでは、ステップS100で取得されたステレオ撮像画像に基づきデプスマップが生成される。図14および図15を用いて、第1の実施形態に適用可能なデプスマップの生成処理について説明する。図14は、第1の実施形態のデプスマップの生成処理の一例を示すフローチャートである。
ステップS120で、マッチング処理部510は、撮像画像取得部500からステレオ撮像画像を取得する。次のステップS121で、マッチング処理部510は、取得したステレオ撮像画像を構成する2枚の撮像画像に基づきマッチング処理を行う。次のステップS122で、3D情報生成部511は、ステップS121のマッチング処理結果に基づき深度情報を計算し、3次元点群情報であるデプスマップを生成する。
ステップS121およびステップS122の処理について、より具体的に説明する。第1の実施形態では、ステレオ撮像画像を構成する2枚の撮像画像を用いて、ステレオ法により深度情報を計算する。ここでいうステレオ法は、2つのカメラにより異なる視点から撮像された2枚の撮像画像を用い、一方の撮像画像のある画素(参照画素)に対して、他方の撮像画像内における対応する画素(対応画素)を求め、参照画素と対応画素とに基づき三角法により深度(奥行き値)を算出する方法である。
ステップS121で、マッチング処理部510は、撮像画像取得部500から取得した、ステレオ撮像画像を構成する2枚の撮像画像を用い、基準となる一方の撮像画像における参照画素を中心とする所定サイズの領域に対応する、探索対象となる他方の撮像画像内の領域を、当該他方の撮像画像内で移動させて、探索を行う。
対応画素の探索は、様々な方法が知られており、例えば、ブロックマッチング法を適用することができる。ブロックマッチング法は、一方の撮像画像において参照画素を中心としてM画素×N画素のブロックとして切り出される領域の画素値を取得する。また、他方の撮像画像において、対象画素を中心としてM画素×N画素のブロックとして切り出される領域の画素値を取得する。画素値に基づき、参照画素を含む領域と、対象画素を含む領域との類似度を計算する。探索対象の画像内でM画素×N画素のブロックを移動させながら類似度を比較し、最も類似度が高くなる位置のブロックにおける対象画素を、参照画素に対応する対応画素とする。
類似度は、様々な計算方法により算出できる。例えば、下記の式(5)に示される、正規化相互相関(NCC:Normalized Cross-Correlation)は、コスト関数の1つであって、コストを示す数値CNCCの値が大きいほど、類似度が高いことを示す。式(5)において、値MおよびNは、探索を行うための画素ブロックのサイズを表す。また、値I(i,j)は、基準となる一方の撮像画像における画素ブロック内の画素の画素値を表し、値T(i,j)は、探索対象となる他方の撮像画像における画素ブロック内の画素値を表す。
マッチング処理部510は、上述したように、一方の撮像画像における、M画素×N画素の画素ブロックに対応する、他方の撮像画像における画素ブロックを、他方の撮像画像内で、例えば画素単位で移動させながら式(5)の計算を実行し、数値CNCCを算出する。他方の撮像画像において、数値CNCCが最大となる画素ブロックの中心画素を、参照画素に対応する対象画素とする。
図14の説明に戻り、ステップS122で、3D情報生成部511は、ステップS121のマッチング処理により求められた、参照画素および対応画素とに基づき、三角法を用いて奥行き値(深度情報)を算出し、ステレオ撮像画像を構成する一方の撮像画像および他方の撮像画像に係る3次元点群情報を生成する。
図15は、三角法を説明するための図である。図中のターゲット物体403(例えば路面4上の1点)までの距離Sを、各撮像素子402(撮像素子601Lおよび601Rに対応)に撮像された画像内の撮像位置情報から算出することが処理の目的である。すなわち、この距離Sが、対象となる画素の深度情報に対応する。距離Sは、下記の式(6)により計算される。
なお、式(6)において、値baselineは、カメラ400aおよび400b間の基線の長さ(基線長)を表す。これは、図5の例では、撮像レンズ6LLおよび6LR(ステレオカメラ6Lの場合)による基線長に対応する。値fは、レンズ401(撮像レンズ6LLおよび6LRに対応)の焦点距離を表す。値qは、視差を表す。視差qは、参照画素と対応画素の座標値の差分に、撮像素子の画素ピッチを乗じた値である。対応画素の座標値は、ステップS121のマッチング処理の結果に基づき得られる。
この式(6)が、2つのカメラ400aおよび400b、すなわち、撮像レンズ6LLおよび6LRを利用した場合の距離Sの算出方法となる。これは2つのカメラ400aおよび400b、すなわち、撮像レンズ6LLおよび6LRによりそれぞれ撮像された撮像画像から距離Sを算出するものである。第1の実施形態では、この式(6)による算出方法を、ステレオカメラ6Lの撮像レンズ6LLおよび6LR、ならびに、ステレオカメラ6Rの撮像レンズ6RLおよび6RRにより撮像された各撮像画像に適用して、画素毎に距離Sを算出する。
図13の説明に戻り、ステップS101bで、3D情報生成部511は、カメラ位置および向きを推定する。ここで、カメラ位置は、例えばステレオカメラ6Lを一体と捉えた場合のその中心座標を示す。ステップS101bの処理の詳細については、後述する。
ステップS101aおよびステップS101bの処理が終了すると、処理がステップS102に移行される。ステップS102で、3D情報生成部511は、時系列上で隣接する2つのデプスマップについて、ステップS101bで推定したカメラ位置および向きに基づき、前時刻のデプスマップの座標系に合うように、当該前時刻の次の次時刻のデプスマップの座標変換を行う。
なお、前時刻および次時刻は、ステレオカメラ6Lおよび6Rにおいてトリガに応じて時系列上で連続的に実行された1回目の撮像と、2回目の撮像とにおいて、1回目の撮像が行われた時刻を前時刻、2回目の撮像が行われた時刻を次時刻としている。すなわち、前時刻のデプスマップは、1回目の撮像によるステレオ撮像画像に基づき生成されたデプスマップであり、次時刻のデプスマップは、2回目の撮像によるステレオ撮像画像に基づき生成されたデプスマップである。
次のステップS103で、3D情報生成部511は、ステップS102で座標変換された次時刻のデプスマップを、前時刻のデプスマップに統合する。すなわち、ステップS102の座標変換により、前時刻および次時刻の2つのデプスマップが共通の座標系に並ぶため、これら2つのデプスマップを統合することができる。この、ステップS102およびステップS103の処理を、すべての時刻で撮像されたステレオ撮像画像に対して実施する。
なお、図5や図7に示すように、ステレオカメラ6Lおよび6R、または、ステレオカメラ6L、6Cおよび6Rを道路幅方向に複数台並べて用いる場合、道路幅方向に並んだステレオカメラ同士(例えばステレオカメラ6Lおよび6R)においても、同様にしてカメラ位置および向きを推定し、その後、デプスマップ統合を行う。
また、上述した第3の生成方法における、カメラ(車両1)の移動距離は、ステップS102の座標変換、および、ステップS103のデプスマップ統合処理において、算出が可能である。
次のステップS104で、3D情報取得部520は、3D情報生成部511から、ステップS103で統合されたデプスマップを取得する。そして、第2状態特性値算出部522は、3D情報取得部520に取得されたデプスマップに基づき、平坦性σを算出する。すなわち、デプスマップが統合されると、計測した区間の道路について路面形状が、1つの3次元空間中の点群として復元される。点群が復元されると、路面上の各サンプリング地点について、規定に従い前後1.5m地点の座標を結んだ座標系を取り、中心部分の3次元点群までの距離を算出することで、式(2)と同様に変位量dを算出でき、式(3)に従い、この変位量dから平坦性σを算出できる。
また、わだち掘れ量Dについては、ステップS104で、第3状態特性値算出部523は、3D情報取得部520に取得されたデプスマップを道路幅方向にスキャンすることで、図1(a)および図1(b)に示されるような深さD1およびD2を取得することができる。これら取得した深さD1およびD2と、デプスマップをスキャンした断面の情報に基づき、わだち掘れ量Dを求めることができる。このわだち掘れ量Dの計測の詳細については、後述する。
<ひび割れ率>
第1状態特性値算出部521は、例えば、ステップS103において統合されたデプスマップに対し、ステップS100で取得されたステレオ撮像画像を適用する。すなわち、第1状態特性値算出部521は、車両1の進行方向に、進行方向重複率Dr以上の重複率でもって重複して撮像された各ステレオ撮像画像を統合する。第1状態特性値算出部521は、統合した画像に対して規定に従い50[cm]のメッシュを設定し、画像解析により各メッシュ内のひび、およびパッチング等の情報を取得し、取得した情報に基づき規定に従いひび割れ率Cを算出する。
<カメラ位置および向きの推定処理>
次に、上述した図13のフローチャートにおけるステップS101bの、カメラ位置および向きの推定処理について、より詳細に説明する。図16は、第1の実施形態のカメラ位置および向きの推定処理の一例を示すフローチャートである。第1の実施形態では、カメラ位置および向きを、上述したSfMを用いて推定する。
ステップS130で、3D情報生成部511は、撮像画像取得部500からステレオ撮像画像を取得する。ここで、3D情報生成部511は、時系列上で連続的に撮像された2枚のステレオ撮像画像(前時刻のステレオ撮像画像、次時刻のステレオ撮像画像、とする)を取得する。次に、ステップS131で、3D情報生成部511は、取得した各ステレオ撮像画像から特徴点を抽出する。この特徴点を抽出する処理は、各ステレオ撮像画像の対応点として検出しやすい点を見つける処理であって、典型的には、画像中の変化があり、かつ変化が一様でないコーナーと呼ばれる点を検出する。
次のステップS132で、3D情報生成部511は、前時刻のステレオ撮像画像内で特徴点として抽出された点と同じ場所を撮像した点を、次時刻のステレオ撮像画像内から検出する。この検出処理は、オプティカルフローと呼ばれる手法や、SIFT(Scale-Invariant Feature Transform)、SURF(Speed-Upped Robust Feature)等に代表される特徴点マッチングと呼ばれる手法を適用することができる。
次のステップS133で、3D情報生成部511は、カメラの初期位置および向きを推定する。3D情報生成部511は、ステップS132において各ステレオ撮像画像で検出された対応点の座標を固定値とし、次時刻のステレオ撮像画像を撮像したカメラの位置および向きをパラメータとして連立方程式を解くことで、カメラの位置を推定し、3次元座標を算出する(ステップS134)。
図17を参照しながら、カメラの初期位置および向きの推定方法について説明する。下記の式(7)は、空間の点Xjを、カメラ(視点)Piに投影した座標xijの関係を表している。なお、式(7)において、値nが3次元空間における点の数、値mは、カメラ(撮像画像)の数をそれぞれ表す。
各値Pは、それぞれのカメラについて、3次元空間の点の座標をその画像の2次元座標に変換する投影行列であって、下記の式(8)で表される。式(8)は、右辺に示す3次元座標の2行2列の変換行列と、3次元座標から2次元座標への射影変換fiから成る。
図17において、カメラに映った座標xijのみが与えられた連立方程式を用いて、値Xjと値Piとを算出する。この連立方程式の解法には、線形最小二乗法を用いることができる。
次のステップS135で、3D情報生成部511は、ステップS134で算出されたカメラ位置を示す3次元座標を最適化する。連立方程式を解いて算出されたカメラの位置および向きは、十分な精度を有していない場合がある。そのため、算出された値を初期値として最適化処理を行うことで、精度を向上させる。
画像上探索により取得された対応点座標と、ステップS134で算出された3次元座標および式(8)の投影行列をパラメータとして上述した式(7)により算出される2次元座標xij(再投影座標と呼ばれる)と、の差は、残差と呼ばれる。カメラの位置および向きを算出するために用いたすべてのステレオ撮像画像中の、すべての対応点について、この残差の総和が最小になるように、パラメータを最適化演算によって調整する。これを、バンドル調整と呼ぶ。バンドル調整による全体最適化を行うことで、カメラの位置および向きの精度を向上させることができる。
以上が、通常のSfMにおけるカメラ位置および向き推定のベース処理である。第1の実施形態では、基線長が既知のステレオカメラ6Lおよび6Rを使用しているため、車両1の移動に応じて撮像範囲を重複させて撮像されたステレオ撮像画像における対応点の検出に加えて、ステレオ撮像画像を構成する2枚の撮像画像における対応点の探索が容易である。したがって、空間での3次元座標Xjが実スケール(現実の大きさ)で確定し、移動後のカメラの位置および向きも安定的に算出できる。
<わだち掘れ量>
次に、上述した図13のフローチャートにおけるステップS104におけるわだち掘れ量Dの計測処理について、より詳細に説明する。図18は、第1の実施形態のわだち掘れ量の計測処理の一例を示すフローチャートである。図19は、第1の実施形態の異物の認識結果を示す画像の一例を示す図である。図20は、わだち掘れ量の計測位置を説明するための図である。図21は、わだち掘れ量の計測位置を示す図である。
ステップS200で、第3状態特性値算出部523の入力部5231は、3D情報取得部520により取得されたデプスマップ(3次元点群情報)と、撮像画像取得部500により取得された各ステレオ撮像画像(以下、図18においては単に撮像画像と称する)とを入力する。
次のステップS201で、第3状態特性値算出部523の認識部5232は、予め付加された路面の異物情報についての学習データに基づく教師あり学習によって得られた学習モデルである識別器を用いて、入力部5231により入力された撮像画像が示す被写体に異物が含まれるか否かを認識する。このとき、認識部5232は、記憶部530から識別器のデータを読み出す。
次のステップS202で、認識部5232は、入力部5231により入力されたすべての撮像画像について、識別器を用いた認識の処理が終了したか否かを判定する。最後の撮像画像まで終了した場合(ステップS202:Yes)、ステップS203へ移行し、終了していない場合(ステップS202:No)、ステップS200へ戻る。
次のステップS203で、認識部5232は、識別器を用いた撮像画像に対する認識結果を、決定部5233へ出力する。ここで、図19に、認識部5232による識別器を用いた撮像画像についての異物の認識結果を示す。図19の撮像画像に対する認識結果を示す識別画像CIは、6ラベル(色なし、マンホール、道路標識、白線、路肩、その他)についての認識結果を示す画像の例である識別画像CIでは、マンホール部901、白線部902、道路標識部903、路肩部904、および、その他905が異物として認識されている。逆に、識別画像CIにおいて、これらの異物として認識された領域以外の領域は異物がないものとして認識される。
次のステップS204で、第3状態特性値算出部523の決定部5233は、入力部5231により入力された撮像画像において、わだち掘れ量を計測するための初期の計測位置を決定する。そして、決定部5233は、決定した初期の各計測位置を車両1の進行方向での中央として、車両1の車幅方向および進行方向にそれぞれ所定の長さで囲われた計測区間(所定範囲)を設定する。
決定部5233は、例えば、進行方向における100[m]の範囲内で5箇所、適切な間隔で初期の計測位置を決定する。例えば、決定部5233は、図20に示すように、進行方向における100[m]の範囲内で、10[m]、30[m]、50[m]、70[m]、および90[m]の5箇所を初期の計測位置として決定する。そして、決定部5233は、図20に示すように、車両1の車幅方向に計測範囲線で規定される所定の計測幅、および、決定した初期の各計測位置を車両1の進行方向での中央として前後に5[m]の10[m]の長さを有する計測区間を設定する。図20では、10[m]、30[m]、50[m]、70[m]、および90[m]の初期の計測位置に、それぞれ計測区間A~Eが対応している。図20では、計測区間Aから計測区間Eへ向かう方向を、車両1の進行方向とし、後述の図21でも同様とする。
次のステップS205で、決定部5233は、撮像画像において決定した計測位置に対応する、認識結果を示す画像(識別画像)での位置において異物が避けられているか否かを判定する。異物が避けられている場合(ステップS205:Yes)、ステップS207へ移行し、異物が避けられていない場合(ステップS205:No)、ステップS206へ移行する。異物が避けられていない場合、報知部531は、当該計測位置ではわだち掘れ量Dを計測することができない旨を報知するものとしてもよい。
ステップS206で、決定部5233は、撮像画像において決定した計測位置に対応する、認識結果を示す画像(識別画像)での位置において異物が存在する場合、計測位置を車両1の進行方向の前側、または後側に所定の長さ(例えば、特定のピクセル分)だけずらして、新たな計測位置として決定する(すなわち、計測位置を変更する)。例えば、決定部5233は、図21(a)に示すように、計測区間で決定した初期の計測位置に異物が存在する場合、図21(b)に示すように、車両1の進行方向の前側(左側)に所定の長さだけずらして、新たな計測位置として決定する。そして、図21(b)では、計測位置をずらした結果、新たな計測位置で異物を避けることができたことを示している。新たな計測位置の決定後、ステップS205へ戻る。
ここで、計測位置をずらす方法としては、例えば、車両1の進行方向の前側へ、異物を避ける位置まで所定の長さだけずらし続ける方法、車両1の進行方向の後側へ、異物を避ける位置まで所定の長さだけずらし続ける方法、または、進行方向の前後に交互に所定の長さだけずらし続ける方法等があるが、いずれの方法を採用するものとしてもよい。このうち、進行方向の前後に交互に所定の長さだけずらし続ける方法の場合、可能な限り初期位置付近において最終的な計測位置を決定することができ、他の計測区間との関係で、それぞれの決定した計測位置のばらつきを抑えることが可能となり、100[m]の区間内での正確な測定が可能となる。なお、この計測位置をずらす方法は、後述する第2の実施形態および第3の実施形態でも同様である。
なお、ステップS206において、決定部5233により決定された新たな計測位置が計測区間から外れた場合、計測部5234は、当該計測位置ではわだち掘れ量Dの計測を行わないものとすればよい。この場合、報知部531は、当該計測位置ではわだち掘れ量Dの計測を行わない旨を報知するものとしてもよい。
ステップS207で、決定部5233は、撮像画像において決定した計測位置に対応する、認識結果を示す画像(識別画像)での位置において異物が存在しない場合、当該計測位置をわだち掘れ量Dを計測する計測位置として決定する。決定部5233は、このように、設定した各計測区間において、ステップS205~S207の処理により、わだち掘れ量Dを計測するための計測位置を決定する。
次のステップS208で、第3状態特性値算出部523の計測部5234は、決定部5233により決定された計測位置に対応するデプスマップ(3次元点群情報)の位置で、わだち掘れ量Dを計測する。具体的には、計測部5234は、上述したように、決定されたデプスマップ上の位置で道路幅方向にスキャンすることで、図1(a)および図1(b)に示すような深さD1およびD2を取得し、深さD1およびD2と、デプスマップをスキャンした断面の情報に基づき、わだち掘れ量Dを計測する。
次のステップS209で、計測部5234は、計測したわだち掘れ量Dを、記憶部530に保存する。
以上のように、本実施形態に係る情報処理装置50は、予め付加された路面の異物情報についての学習データに基づく教師あり学習(深層学習または機械学習)によって得られた学習モデルである識別器を用いて、撮像画像が示す被写体に異物が含まれるか否かを認識するものとしている。そして、情報処理装置50は、決定した計測位置において異物があると判定した場合、当該計測位置から、所定の長さだけずらした位置を新たな計測位置とし、さらに異物があるか否かを判定するものとしている。これによって、学習モデルである識別器により撮像画像での異物を自動で認識することができ、道路点検におけるわだち掘れ量等の計測処理を正確かつ早く行うことができる。
なお、図19に示す識別画像CIの例では、異物の例として、わだち掘れ量Dを計測する際に、その塗装厚みにより計測結果を誤らせる原因となる道路標識、およびマンホール等を挙げているが、これらに限定されるものではなく、計測区間に存在する草、ポール、人、路上駐車中の車両等も異物として計測位置から避けるように対応してもよい。
また、記憶部530に記憶された識別器は、路面の異常情報についての新たな付加情報(学習データ)を用いた教師あり学習(深層学習または機械学習)により更新、または新規に生成されるものとしてもよい。ここで、学習を行う主体は、図12に示した機能ブロックには図示していないが、上述の学習を行う学習部として、情報処理装置50に含まれるものとしてもよく、または、外部装置によって学習データを用いた学習により生成された識別器(学習モデル)のデータを、記憶部530に記憶させて用いるものとしてもよい。
また、上述したように、第1の実施形態に係る撮像システム10では、情報処理装置50においてトリガを生成し、生成したトリガを各ステレオカメラ6Lおよび6Rにすべてのカメラに分配することで、各ステレオカメラ6Lおよび6Rが同期して撮像を行う構成となっている。このとき、各ステレオカメラ6Lおよび6Rが有するクロック生成器や、情報処理装置50においてトリガを分配するためのトリガ分配部品、情報処理装置50や各ステレオカメラ6Lおよび6Rにおけるトリガ配線長の差異等の影響により、実際に各ステレオカメラ6Lおよび6Rがトリガを取り込んで撮像を実行するタイミングに僅かなズレが発生する可能性がある。この撮像タイミングのズレは、可能な限り抑制することが好ましい。
特に基線長が既知であるステレオカメラ6Lおよび6Rの間では、撮像タイミングのズレを極力抑えることが望ましい。例えば、カメラI/F5010aから各ステレオカメラ6Lおよび6Rにトリガ供給の配線を行う際に、トリガの品質確保のための中継器や、静電ノイズ等から保護するためにフォトカプラを経由する場合がある。この場合に、ステレオカメラ6Lおよび6R間でこれら中継器やフォトカプラを共有することが望ましい。
[第2の実施形態]
次に、第2の実施形態について、第1の実施形態と相違する点を中心に説明する。上述の第1の実施形態では、撮像画像(デプスマップ)での計測位置において異物が存在するか否かについて、予め付加された路面の異物情報についての学習データに基づく教師あり学習(深層学習または機械学習)によって得られた学習モデルを用いて認識するものとした。本実施形態では、計測位置で得られたわだち掘れ量が異常値であるか否かを判定し、異常値である場合、計測位置を変更する動作について説明する。なお、本実施形態に係る撮像システム10の構成、および情報処理装置のハードウェア構成は、第1の実施形態での構成と同様である。
(情報処理装置の機能ブロックの構成)
図22は、第2の実施形態に係る情報処理装置の機能を説明するための機能ブロックの構成の一例を示す図である図22において、情報処理装置50a(計測装置の一例)は、撮像画像取得部500と、UI部501と、制御部502と、撮像制御部503と、を含む。情報処理装置50aは、さらに、マッチング処理部510と、3D情報生成部511と、3D情報取得部520と、第1状態特性値算出部521と、第2状態特性値算出部522と、第3状態特性値算出部523aと、調書作成部524と、記憶部530aと、報知部531とを含む。なお、撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522および調書作成部524の動作は、第1の実施形態で説明した通りである。
これら撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523aおよび調書作成部524は、CPU5000上で動作するプログラムにより実現される。これに限らず、これら撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523aおよび調書作成部524の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
第3状態特性値算出部523aは、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを用いて、MCIを求めるための状態特性値のうち、わだち掘れ量D(物理量の一例)を算出する。第3状態特性値算出部523aは、図22に示すように、入力部5231aと、決定部5233aと、計測部5234aと、出力部5235aと、を有する。
入力部5231aは、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを入力する。入力部5231aが入力するステレオ撮像画像は、ステレオカメラ6Lおよび6Rにより撮像されたステレオ撮像画像のうち、いずれの画像であってもよい。
決定部5233aは、3次元点群情報(デプスマップ)上の車両1の進行方向におけるわだち掘れ量Dの計測位置を決定する。
計測部5234aは、決定部5233aにより決定された計測位置でわだち掘れ量Dを計測する。そして、計測部5234aは、わだち掘れ量Dが正常に計測できたか否か、および、計測したわだち掘れ量Dが異常値であるか否かを判定する。
出力部5235aは、計測部5234aにより計測された、異常値でないわだち掘れ量Dを、調書作成部524へ出力する。
記憶部530aは、例えば、計測部5234aにより計測されたわだち掘れ量が異常値であるか否かが判定される際に用いるデータを記憶する。記憶部530aは、図11に示すRAM5002またはストレージ5004により実現される。
報知部531は、ディスプレイ5020に各種情報を表示して報知する。報知部531は、例えば、決定部5233aにより決定された計測位置ではわだち掘れ量が計測できない旨、または、未だ最終的な計測位置が定まっていない旨等を報知する。なお、報知部531は、ディスプレイ5020における表示により報知することに限定されるものではなく、例えば、音声、または警告音等の電子音等の聴覚に働きかける手段によって報知するものとしてもよい。
(路面性状値のうちのわだち掘れ量の算出方法)
次に、上述の図13のフローチャートにおけるステップS104におけるわだち掘れ量Dの計測処理について、本実施形態に係る処理をより詳細に説明する。図23は、第2の実施形態のわだち掘れ量の計測処理の一例を示すフローチャートである。
ステップS210で、第3状態特性値算出部523aの入力部5231aは、3D情報取得部520により取得されたデプスマップ(3次元点群情報)と、撮像画像取得部500により取得された各ステレオ撮像画像(以下、図23においては単に撮像画像と称する)とを入力する。そして、第3状態特性値算出部523aの決定部5233aは、入力部5231aにより入力された撮像画像において、わだち掘れ量を計測するための初期の計測位置を決定する。そして、決定部5233aは、決定した初期の各計測位置を車両1の進行方向での中央として、車両1の車幅方向および進行方向にそれぞれ所定の長さで囲われた計測区間を設定する。具体的な計測区間の設定処理については、第1の実施形態で説明した通りである。
次のステップS211で、第3状態特性値算出部523aの計測部5234aは、決定部5233aにより決定された計測位置に対応するデプスマップ(3次元点群情報)の位置で、わだち掘れ量Dを計測する。
次のステップS212で、計測部5234aは、わだち掘れ量Dが正常に計測できたか否かを判定する。例えば、わだち掘れ量Dが正常に計測できない場合とは、図1(a)および図1(b)に示すような、2本の「わだち」の間の部分が検出できず、深さD1およびD2を取得できない場合等が挙げられる。わだち掘れ量Dが正常に計測できた場合(ステップS212:Yes)、ステップS213へ移行し、正常に計測できない場合(ステップS212:No)、ステップS214へ移行する。わだち掘れ量Dが正常に計測できない場合、報知部531は、当該計測位置ではわだち掘れ量Dを正常に計測することができない旨を報知するものとしてもよい。
ステップS213で、計測部5234aは、わだち掘れ量Dが正常に計測できている場合、さらに、当該わだち掘れ量Dが異常値であるか否かを判定する。例えば、計測部5234aは、計測したわだち掘れ量Dと、過去に計測したわだち掘れ量D、もしくは平均的なわだち掘れ量等との比較、または、計測したわだち掘れ量Dが所定の正常範囲内にあるか否かを判定することによって、異常値であるか否かを判定するものとすればよい。この場合、過去に計測したわだち掘れ量D、平均的なわだち掘れ量、所定の正常範囲等に関するデータは、予め記憶部530aに記憶されているものとすればよい。わだち掘れ量Dが異常値でない場合(ステップS213:Yes)、ステップS215へ移行し、異常値である場合(ステップS213:No)、ステップS214へ移行する。
ステップS214で、決定部5233aは、計測部5234aにより計測したわだち掘れ量Dが正常に計測できない場合、または異常値である場合、計測位置を車両1の進行方向の前側、または後側に所定の長さ(例えば、特定のピクセル分)だけずらして、新たな計測位置として決定する(すなわち、計測位置を変更する)。新たな計測値の具体的な決定方法は、第1の実施形態で説明した通りである。新たな計測位置の決定後、ステップS211へ戻る。
なお、ステップS214において、決定部5233aにより決定された新たな計測位置が計測区間から外れた場合、計測部5234aは、当該計測位置ではわだち掘れ量Dの計測を行わないものとすればよい。この場合、報知部531は、当該計測位置ではわだち掘れ量Dの計測を行わない旨を報知するものとしてもよい。
ステップS215で、計測部5234aは、計測したわだち掘れ量Dを正常に計測された値として決定する。また、決定部5233aは、計測部5234aによりわだち掘れ量Dが正常に計測された計測位置を、最終的な(正規の)計測位置として決定する。
次のステップS216で、計測部5234aは、決定したわだち掘れ量Dを、記憶部530aに保存する。
以上のように、本実施形態に係る情報処理装置50aは、決定した計測位置において計測したわだち掘れ量Dが正常に計測できたか否か、および異常値であるか否かを判定するものとしている。そして、情報処理装置50aは、計測したわだち掘れ量Dが正常に計測できていない場合、または、異常値である場合、現在の計測位置から、所定の長さだけずらした位置を新たな計測位置として、改めてわだち掘れ量Dを計測するものとしている。これによって、計測したわだち掘れ量Dが正常に計測されたものか否かを自動で認識することができ、道路点検におけるわだち掘れ量等の計測処理を正確かつ早く行うことができる。
[第3の実施形態]
次に、第3の実施形態について、第1の実施形態と相違する点を中心に説明する。本実施形態では、異常情報データベース(以下、異常情報DBと称する)から取得した異常情報と、決定した計測位置との比較から、当該計測位置に異物があるか否かを判定し、異物がある場合、計測位置を変更する動作について説明する。なお、本実施形態に係る撮像システム10の構成、および情報処理装置のハードウェア構成は、第1の実施形態での構成と同様である。
(情報処理装置の機能ブロックの構成)
図24は、第3の実施形態に係る情報処理装置の機能を説明するための機能ブロックの構成の一例を示す図である。図24において、情報処理装置50b(計測装置の一例)は、撮像画像取得部500と、UI部501と、制御部502と、撮像制御部503と、を含む。情報処理装置50bは、さらに、マッチング処理部510と、3D情報生成部511と、3D情報取得部520と、第1状態特性値算出部521と、第2状態特性値算出部522と、第3状態特性値算出部523bと、調書作成部524と、記憶部530bと、報知部531とを含む。なお、撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522および調書作成部524の動作は、第1の実施形態で説明した通りである。
これら撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523bおよび調書作成部524は、CPU5000上で動作するプログラムにより実現される。これに限らず、これら撮像画像取得部500、UI部501、制御部502、撮像制御部503、マッチング処理部510、3D情報生成部511、3D情報取得部520、第1状態特性値算出部521、第2状態特性値算出部522、第3状態特性値算出部523bおよび調書作成部524の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
第3状態特性値算出部523bは、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを用いて、MCIを求めるための状態特性値のうち、わだち掘れ量D(物理量の一例)を算出する。第3状態特性値算出部523bは、図24に示すように、入力部5231bと、決定部5233bと、計測部5234bと、出力部5235bと、を有する。
入力部5231bは、3D情報取得部520により取得された3次元点群情報と、撮像画像取得部500により取得された各ステレオ撮像画像とを入力する。入力部5231bが入力するステレオ撮像画像は、ステレオカメラ6Lおよび6Rにより撮像されたステレオ撮像画像のうち、いずれの画像であってもよい。
決定部5233bは、3次元点群情報(デプスマップ)上の車両1の進行方向におけるわだち掘れ量Dの計測位置を決定する。
計測部5234bは、決定部5233bにより決定された計測位置でわだち掘れ量Dを計測する。
出力部5235bは、計測部5234bにより計測されたわだち掘れ量Dを、調書作成部524へ出力する。
記憶部530bは、過去のデータや目視等で異物位置を特定したデータである異物情報を蓄積している異物情報DBを記憶する。記憶部530bは、図11に示すRAM5002またはストレージ5004により実現される。
報知部531は、ディスプレイ5020に各種情報を表示して報知する。報知部531は、例えば、決定部5233bにより決定された計測位置ではわだち掘れ量が計測できない旨、または、未だ最終的な計測位置が定まっていない旨等を報知する。なお、報知部531は、ディスプレイ5020における表示により報知することに限定されるものではなく、例えば、音声、または警告音等の電子音等の聴覚に働きかける手段によって報知するものとしてもよい。
(路面性状値のうちのわだち掘れ量の算出方法)
次に、上述の図13のフローチャートにおけるステップS104におけるわだち掘れ量Dの計測処理について、本実施形態に係る処理をより詳細に説明する。図25は、第3の実施形態のわだち掘れ量の計測処理の一例を示すフローチャートである。
ステップS220で、第3状態特性値算出部523bの入力部5231bは、3D情報取得部520により取得されたデプスマップ(3次元点群情報)と、撮像画像取得部500により取得された各ステレオ撮像画像(以下、図25においては単に撮像画像と称する)とを入力する。そして、第3状態特性値算出部523bの決定部5233bは、入力部5231bにより入力された撮像画像において、わだち掘れ量を計測するための初期の計測位置を決定する。そして、決定部5233bは、決定した初期の各計測位置を車両1の進行方向での中央として、車両1の車幅方向および進行方向にそれぞれ所定の長さで囲われた計測区間を設定する。具体的な計測区間の設定処理については、第1の実施形態で説明した通りである。
次のステップS221で、入力部5231bは、さらに、記憶部530bに記憶された異常情報DBから、入力した撮像画像に対応する異常情報を抽出して入力する。
次のステップS222で、決定部5233bは、入力部5231bにより入力された撮像画像と、異常情報DBから抽出した異常情報との比較結果から、決定した計測位置において異物が避けられているか否か判定する。異物が避けられている場合(ステップS222:Yes)、ステップS224へ移行し、異物が避けられていない場合(ステップS222:No)、ステップS223へ移行する。異物が避けられていない場合、報知部531は、当該計測位置ではわだち掘れ量Dを計測することができない旨を報知するものとしてもよい。
ステップS223で、決定部5233bは、撮像画像において決定した計測位置において異物が存在する場合、計測位置を車両1の進行方向の前側、または後側に所定の長さ(例えば、特定のピクセル分)だけずらして、新たな計測位置として決定する(すなわち、計測位置を変更する)。新たな計測値の具体的な決定方法は、第1の実施形態で説明した通りである。新たな計測位置の決定後、ステップS222へ戻る。
なお、ステップS223において、決定部5233bにより決定された新たな計測位置が計測区間から外れた場合、計測部5234bは、当該計測位置ではわだち掘れ量Dの計測を行わないものとすればよい。この場合、報知部531は、当該計測位置ではわだち掘れ量Dの計測を行わない旨を報知するものとしてもよい。
ステップS224で、決定部5233bは、撮像画像において決定した計測位置において異物が存在しない場合、当該計測位置をわだち掘れ量Dを計測する正規の計測位置として決定する。決定部5233bは、このように、設定した各計測区間において、ステップS222~S224の処理により、わだち掘れ量Dを計測するための計測位置を決定する。
次のステップS225で、第3状態特性値算出部523bの計測部5234bは、決定部5233bにより決定された計測位置に対応するデプスマップ(3次元点群情報)の位置で、わだち掘れ量Dを計測する。具体的には、計測部5234bは、上述したように、決定されたデプスマップ上の位置で道路幅方向にスキャンすることで、図1(a)および図1(b)に示すような深さD1およびD2を取得し、深さD1およびD2と、デプスマップをスキャンした断面の情報に基づき、わだち掘れ量Dを計測する。
次のステップS226で、計測部5234bは、計測したわだち掘れ量Dを、記憶部530bに保存する。
以上のように、本実施形態に係る情報処理装置50bは、過去のデータや目視等で異物位置を特定したデータである異物情報を予め蓄積した異物情報DBから、撮像画像に対応する異常情報を抽出し、当該異常情報に基づいて、決定した計測位置において異物が避けられているか否か判定する。そして、情報処理装置50bは、決定した計測位置において異物があると判定した場合、当該計測位置から、所定の長さだけずらした位置を新たな計測位置とし、さらに異物があるか否かを判定するものとしている。これによって、異常情報DBに蓄積された異常情報により撮像画像での異物を自動で認識することができ、道路点検におけるわだち掘れ量等の計測処理を正確かつ早く行うことができる。