(57)【要約】【課題】撮影した画像中における太陽光に起因する影の位置を特定する技術を提供する。【解決手段】カメラが撮影した対象物の画像の画像データを取得する画像データ取得部２０１と、レーザスキャナが取得した点群データを取得する点群データ取得部２０２と、太陽の位置に基づき、前記太陽から前記対象物に前記点群データを投影した影領域点群を算出する影領域点群算出部２０４と、前記影領域点群を前記画像に投影する影領域点群投影部２０５とを備える画像処理装置２００。【選択図】図３
2018036769.tif 000002
【特許請求の範囲】
【請求項１】
カメラが撮影した対象物の画像の画像データを取得する画像データ取得部と、
レーザスキャナが取得した点群データを取得する点群データ取得部と、
太陽の位置に基づき、前記太陽から対象物に前記点群データを投影した影領域点群を算出する影領域点群算出部と、
前記影領域点群を前記画像に投影する影領域点群投影部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記レーザスキャナが取得した前記点群データの地上座標系への座標変換、および前記地上座標系で記述された前記点群データをカメラ座標系に座標変換する座標変換部を更に備え、
前記影領域点群の算出は、前記地上座標系で行われることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像において、位置による画素の輝度値の違いに基づき前記影領域点群の周囲に影領域を拡張する影領域拡張部を備えることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記画像における前記画像に投影された前記影領域のコントラストを調整するコントラスト調整部を備えることを特徴とする請求項１〜３のいずれか一項に記載の画像処理装置。
【請求項５】
前記拡張された影領域に基づき、前記画像中の影の境界線を特定する影境界線特定部を備えることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記画像中から撮影対象のひび割れ部分を検出するひび割れ部分検出部と、
前記画像中における前記境界部分の位置に基づき、前記ひび割れ部分検出部が検出したひび割れ部分の誤検出を判定する誤検出判定部と
を備えることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記点群データに基づき架空線を検出する架空線検出部を備え、
前記影領域点群算出部は、前記検出された架空線の影となる部分の点群を算出することを特徴とする請求項３に記載の画像処理装置。
【請求項８】
前記架空線検出部において、前記架空線の点群に基づき、前記架空線が連続して存在する位置を予想する処理が行われることを特徴とする請求項７に記載の画像処理装置
【請求項９】
カメラが撮影した対象物の画像の画像データを取得する画像データ取得ステップと、
レーザスキャナが取得した点群データを取得する点群データ取得ステップと、
太陽の位置に基づき、前記太陽から前記対象物に前記点群データを投影した影領域点群を算出する影領域点群算出ステップと、
前記影領域点群を前記画像に投影する影領域点群投影ステップと
を備えることを特徴とする画像処理方法。
【請求項１０】
コンピュータに読み取らせて実行させるプログラムであって、
コンピュータを
カメラが撮影した対象物の画像の画像データを取得する画像データ取得部と、
レーザスキャナが取得した点群データを取得する点群データ取得部と、
太陽の位置に基づき、前記太陽から前記対象物に前記点群データを投影した影領域点群を算出する影領域点群算出部と、
前記影領域点群を前記画像に投影する影領域点群投影部と
して機能させることを特徴とする画像処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像内に写り込む影の位置を特定する技術に関する。
【背景技術】
【０００２】
例えば、道路を動画または静止画像で撮影し、その撮影画像をソフトウェアにより解析することで、道路のヒビ割れ、劣化等の検査を行う技術がある（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１７９８７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記の技術において、太陽光が当たることによる建物の影およびその縁（影と影でない部分の境界部分）が画像解析に障害となる問題がある。まず、影の部分は、明度が低いので、画像解析の分解能や精度が低下する。そこが影の部分であることが判っていれば、影の部分の解析に適した画像の調整や解析を行うことで精度を確保した解析が行なえる。しかしながら、そこが影かどうかをソフトウェアで判定することは困難である。人が視認することで、影かどうかを判定することは可能であるが、人が視認しての作業を行うのは、作業量が増え、画像解析技術を用いる意味が低下する。
【０００５】
また、影の縁の部分を道路面に形成されたヒビ割れと誤検出する問題がある。この問題も人の目で確認すれば誤検出を避けられるが、それでは画像解析技術を用いる意味が低下する。ソフトウェア処理による画像解析を行うのは、極力人が行う作業を少なくし、作業を効率化する点にある。よって、人が見て判断する作業を極力少なくすることが望まれる。
【０００６】
このような背景において、本発明は、撮影した画像中における太陽光に起因する影の位置を特定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、カメラが撮影した対象物の画像の画像データを取得する画像データ取得部と、レーザスキャナが取得した点群データを取得する点群データ取得部と、太陽の位置に基づき、前記太陽から前記対象物に前記点群データを投影した影領域点群を算出する影領域点群算出部と、前記影領域点群を前記画像に投影する影領域点群投影部とを備えることを特徴とする画像処理装置である。
【０００８】
請求項２に記載の発明は、請求項１に記載の発明において、前記レーザスキャナが取得した前記点群データの地上座標系への座標変換、および前記地上座標系で記述された前記点群データをカメラ座標系に座標変換する座標変換部を更に備え、前記影領域点群の算出は、前記地上座標系で行われることを特徴とする。ここで、レーザスキャナが取得した点群データの地上座標系への座標変換は、レーザスキャナが扱う座標系（スキャナ座標系）から直接地上座標系への座標変換を行う場合と、スキャナ座標系からＩＭＵ座標系等の他の座標系への座標変換を行った後で、地上座標系に座標変換する場合の両方を含む。
【０００９】
請求項３に記載の発明は、請求項１または２に記載の発明において、前記画像において、位置による画素の輝度値の違いに基づき前記影領域点群の周囲に影領域を拡張する影領域拡張部を備えることを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の発明において、前記画像における前記画像に投影された前記影領域のコントラストを調整するコントラスト調整部を備えることを特徴とする。
【００１１】
請求項５に記載の発明は、請求項３に記載の発明において、前記拡張された影領域に基づき、前記画像中の影の境界線を特定する影境界線特定部を備えることを特徴とする。
【００１２】
請求項６に記載の発明は、請求項５に記載の発明において、前記画像中から撮影対象のひび割れ部分を検出するひび割れ部分検出部と、前記画像中における前記境界部分の位置に基づき、前記ひび割れ部分検出部が検出したひび割れ部分の誤検出を判定する誤検出判定部とを備えることを特徴とする。
【００１３】
請求項７に記載の発明は、請求項３に記載の発明において、前記点群データに基づき架空線を検出する架空線検出部を備え、前記影領域点群算出部は、前記検出された架空線の影となる部分の点群を算出することを特徴とする。
【００１４】
請求項８に記載の発明は、前記架空線検出部において、前記架空線の点群に基づき、前記架空線が連続して存在する位置を予想する処理が行われることを特徴とする。
【００１５】
請求項９に記載の発明は、カメラが撮影した対象物の画像の画像データを取得する画像データ取得ステップと、レーザスキャナが取得した点群データを取得する点群データ取得ステップと、太陽の位置に基づき、前記太陽から前記対象物に前記点群データを投影した影領域点群を算出する影領域点群算出ステップと、前記影領域点群を前記画像に投影する影領域点群投影ステップとを備えることを特徴とする画像処理方法である。
【００１６】
請求項１０に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータをカメラが撮影した対象物の画像の画像データを取得する画像データ取得部と、レーザスキャナが取得した点群データを取得する点群データ取得部と、太陽の位置に基づき、前記太陽から前記対象物に前記点群データを投影した影領域点群を算出する影領域点群算出部と、前記影領域点群を前記画像に投影する影領域点群投影部として機能させることを特徴とする画像処理用プログラムである。
【発明の効果】
【００１７】
本発明によれば、撮影した画像中における太陽光に起因する影の位置を特定する技術が得られる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の概念図である。
【図２】実施形態の原理の説明図である。
【図３】実施形態のブロック図である。
【図４】処理の手順の一例を示すフローチャートである。
【図５】影領域点群を説明する説明図である。
【図６】影領域点群を投影したカメラ画像のイメージ図である。
【発明を実施するための形態】
【００１９】
（全体の概要）
図１には、車両１００が示されている。車両１００は、レーザスキャナ１０１、カメラ１０２、ＩＭＵ（慣性計測装置：Inertial Measurement Unit）１０３、ＧＮＳＳ装置１０４、記憶装置１０５を備えている。レーザスキャナ１０１は、周囲環境のレーザスキャンを行い、点群データを取得する。レーザスキャナ１０１としては、特開２０１０−１５１６８２号公報、特開２００８―２６８００４号公報、米国特許８７６７１９０号公報の記載されている技術を利用できる。
【００２０】
カメラ１０２は、特定の時間間隔で画像の撮影を行い、撮影した画像の画像データを得る。カメラ１０２として動画を撮影するタイプのものを用いることもできる。この場合、フレーム画像を撮影画像として用いる。ＩＭＵ１０３は、３軸加速度、３軸角速度、３軸地磁気の９軸モーションセンサを搭載し、姿勢や傾きの変化を計測する。ＧＮＳＳ装置１０４は、ＧＰＳ衛星等の航法衛星からの航法信号を受信し、それに基づき位置の計測を行う。また、ＧＮＳＳ装置１０４は、航法衛星からの航法信号に基づき精度の高い時刻情報を出力する時計機能を備えている。
【００２１】
記憶装置１０５は、ハードディスク装置や半導体メモリにより構成されたデータ記憶装置である。記憶装置１０５は、レーザスキャナ１０１が取得する点群データ、カメラ１０２が撮影した画像の画像データ、ＩＭＵ１０３が計測した姿勢や傾きの変化のデータ、ＧＮＳＳ装置１０４が計測した位置と時刻のデータを互いに関連付けした状態で記憶する。レーザスキャナ１０１、カメラ１０２、ＩＭＵ１０３およびＧＮＳＳ装置１０４の車両１００に対する外部標定要素（姿勢と位置）は予め計測されており既知である。
【００２２】
（原理の説明）
図１のシステムは、コンクリートで舗装された路面のひび割れを画像解析により検出するために用いられる。この例では、太陽光が当たらない影の影響でひび割れの誤検出が生じる問題を低減する技術を説明する。
【００２３】
本明細書における影とは、太陽光が建物等に当たることで形成される太陽光が直接当たらない部分のことをいう。図２に示すように、建物の影が路面に映ると、線状の境界ラインが生じる。この境界ラインが路面のひび割れとして誤検出される。この例では、建物の三次元位置をレーザスキャンにより把握し、その三次元情報（点群データ）から太陽光が当たらない影となる領域を算出する。特定の時刻における太陽の天球上における位置は、天文データや計算式から精密に求まるので、幾何的な計算により、路面に映りこむ影の位置を求めることができる。
【００２４】
そして、路面における影の位置をカメラ１０２が撮影した画像中に投影することで、画像中のどこに影が映っているのかが判る画像データを作成し、ひび割れの誤検出を判定できるようにする。また、予め画像中の影の部分を特定できるので、その部分のコントラストを調整することで、影となった部分にあるひび割れの検出精度を高めることができる。
【００２５】
（画像処理部の構成）
図３に画像処理装置のブロック図を示す。図３には、画像処理装置２００が示されている。画像処理装置２００は、コンピュータとしての基本機能を有する。画像処理装置２００は、画像解析により路面のひび割れを検出する装置であり、特に図２に示す原理を用いて画像中の影の部分を特定し、更に影の存在による路面のひび割れ検出の精度低下を抑える処理を行う。
【００２６】
画像処理装置２００は、画像データ取得部２０１、点群データ取得部２０２、座標変換部２０３、影領域点群算出部２０４、影領域点群投影部２０５、影領域拡張部２０６、影領域特定部２０７、コントラスト調整部２０８、影境界線特定部２０９、ひび割れ部分検出部２１０、誤検出判定部２１１、架空線検出部２１２、記憶部２１３および車両位置特定部２１４を備えている。
【００２７】
上述した画像処理装置２００が備える機能部は、ソフトウェア的に構成されていてもよいし、専用の演算回路によって構成されていてもよい。また、ソフトウェア的に構成された機能部と、専用の演算回路によって構成された機能部が混在していてもよい。例えば、図示する各機能部は、ＣＰＵ（Central Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などのＰＬＤ（Programmable Logic Device）などの電子回路により構成される。
【００２８】
各機能部を専用のハードウェアで構成するのか、ＣＰＵにおけるプログラムの実行によりソフトウェア的に構成するのかは、要求される演算速度、コスト、消費電力等を勘案して決定される。例えば、特定の機能部をＦＰＧＡで構成すれば、処理速度の上では優位であるが高コストとなる。他方で、ＣＰＵでプログラムを実行することで特定の機能部を実現する構成は、ハードウェア資源を節約できるので、コスト的に優位となる。しかしながら、ＣＰＵで機能部を実現する場合、処理速度は、専用のハードウェアに比較して見劣りする。また、ＣＰＵで機能部を実現する場合、複雑な演算に対応できない場合もあり得る。なお、機能部を専用のハードウェアで構成することとソフトウェア的に構成することは、上述した違いはあるが、特定の機能を実現するという観点からは、等価である。
【００２９】
この例において、画像処理装置２００は、ワークステーション等の大容量のデータを高速で処理できるコンピュータにより構成されている。勿論、処理能力に問題がなければ、市販のパーソナルコンピュータを用いて画像処理装置２００を構成することもできる。また、画像処理装置２００の機能を複数のコンピュータで分散して処理するシステムとする構成も可能である。
【００３０】
画像データ取得部２０１は、カメラ１０２が撮影した画像の画像データを取得する。画像データは、特定の時間間隔で撮影された静止画または動画を構成するフレーム画像のデータである。点群データ取得部２０２は、レーザスキャナ１０１が取得した点群データを取得する。点群データは、三次元座標を取得した点の集まりとしてスキャン対象を捉えたデータである。
【００３１】
座標変換部２０３は、点群データを記述する座標系に係り、スキャナ座標系からＩＭＵ座標系への座標変換、ＩＭＵ座標系から地上座標系への座標変換、地上座標系からＩＭＵ座標系への座標変換、ＩＭＵ座標系からカメラ座標系への座標変換を行う。スキャナ座標系は、レーザスキャナ１０１を原点する座標系である。ＩＭＵ座標系は、ＩＭＵ１０３を原点とする座標系である。地上座標系は、地上に固定された座標系である。カメラ座標系は、カメラ１０２を原点とする座標系である。
【００３２】
スキャナ座標系、ＩＭＵ座標系およびカメラ座標系は、車両１００の移動に従って、その原点の位置と座標軸の向きが刻々と変化する。勿論、車両１００が移動しなければ、座標の原点の移動はなく、車両１００の向きに変化がなければ、座標系の座標軸の向きの変化もない。
【００３３】
スキャナ座標系からＩＭＵ座標系への座標変換は、レーザスキャナ１０１とＩＭＵ１０３の車両１００に対する外部標定要素に基づいて行われる。より詳細にいうと、スキャナ座標系からＩＭＵ座標系への座標変換は、以下のようにして行われる。まず、ある特定の時刻ｔを考える。この時刻ｔにおけるスキャナ座標系とＩＭＵ座標系の相対関係は、レーザスキャナ１０１とＩＭＵ１０３の車両１００に対する外部標定要素から判る。すなわち、時刻ｔにおけるスキャナ座標系を平行移動および回転させることで、スキャナ座標系をＩＭＵ座標系に変換できる。この際の変換係数は、レーザスキャナ１０１とＩＭＵ１０３の車両１００に対する外部標定要素から得られる。よって、時刻ｔのスキャナ座標系における特定の点ＡのＩＭＵ座標系における座標値が計算できる。同様の処理を任意の時刻で行うことで、当該時刻におけるスキャナ座標系からＩＭＵ座標系への座標変換が行われる。
【００３４】
ＩＭＵ座標系から地上座標系への変換は車両軌跡の情報を用いて行う。車両軌跡の情報は、ＩＭＵ１０３とＧＮＳＳ装置１０４から得られる。より詳細にいうと、ＩＭＵ座標系から地上座標系への座標変換は、以下のようにして行われる。まず、ある特定の時刻ｔを考える。この時刻ｔにおけるＩＭＵ座標系と地上座標系の相対関係は、ＩＭＵ１０３の車両１００に対する外部標定要素および時刻ｔにおける車両１００の位置と向きから得られる。なお、車両１００の位置の情報はＧＮＳＳ装置１０４から得られ、車両１００の向きの情報はＩＭＵ１０３から得られる。この場合、時刻ｔにおけるＩＭＵ座標系を平行移動および回転させることで、ＩＭＵ座標系を地上座標系に変換できる。
【００３５】
この際の変換係数は、ＩＭＵ１０３の車両１００に対する外部標定要素および時刻ｔにおける車両１００の位置と向きから得られる。よって、時刻ｔのＩＭＵ座標系における特定の点Ａの地上座標系における座標値が計算できる。そして上記の処理を時刻ｔ１、ｔ２、ｔ３・・・において行うことで、時刻ｔ１、ｔ２、ｔ３・・・の各時刻において取得された点（この点の集まりによって点群データが構成される）を地上座標系に変換できる。
【００３６】
なお、スキャナ座標系→ＩＭＵ座標系→地上座標系の座標変換における時刻の間隔は、レーザスキャナ１０１のスキャン速度によって決まる。レーザスキャナ１０１のスキャン速度は、例えば、１ｋＨｚ〜１０ｋＨｚ程度である。上記の時刻の間隔は、狭い（短い）程、精度が高くなるが、演算量は多くなる。
【００３７】
点群データの地上座標系からＩＭＵ座標系への変換は、以下のようにして行われる。この変換は、時刻Ｔ１、Ｔ２、Ｔ３・・・と刻まれる各時刻において行われる。この際の時刻Ｔｎは、カメラ１０２の撮影時刻である。カメラ１０２の撮影間隔は、例えば、０．１秒〜０．５秒程度である。勿論、これより短い時間間隔で撮影を行ってもよいが、演算に要する負担が増大する。
【００３８】
まず、ＩＭＵ１０３の外部標定要素と時刻Ｔ１における車両の位置と向き（このデータは、ＩＭＵ１０３から得られる）から時刻Ｔ１における地上座標系とＩＭＵ座標系の関係を得る。これにより、時刻Ｔ１における点群データの地上座標系からＩＭＵ座標系への座標変換が可能となり、時刻Ｔ１におけるＩＭＵ座標系で記述した点群データが得られる。この処理を他の時刻においても行うことで、撮影時刻ＴｎでのＩＭＵ座標系における点群データが得られる。
【００３９】
点群データのＩＭＵ座標系からカメラ座標系への座標変換は、スキャナ座標系からＩＭＵ座標系への座標変換の場合と同様な原理により、カメラ１０２とＩＭＵ１０２の外部標定要素に基づいて行われる。なお、ＩＭＵ座標系とカメラ座標系は、車両１００と共に動くので、ＩＭＵ座標系からカメラ座標系への座標変換は、時刻Ｔｎを指定して行い、指定した時刻Ｔｎにおけるものとして得る。
【００４０】
スキャナ座標系→ＩＭＵ座標系→地上座標系と変換するのではなく、ＩＭＵ座標系を介さず、スキャナ座標系→地上座標系と変換する形態も可能である。いずれの場合も結果として、スキャナ座標系から地上座標系への変換となる。また、地上座標系→ＩＭＵ座標系→カメラ座標系と変換するのではなく、ＩＭＵ座標系を介さず、地上座標系→カメラ座標系と変換する形態も可能である。この場合、結果として、地上座標系からカメラ座標系への変換となる。
【００４１】
スキャナ座標系は地上座標系内で車両の動きに応じて時々刻々と変化しているため、各点を地上座標系に変換することでひとつのまとまったデータ(点群)に出来、地上座標系の点群になってはじめて太陽方向から路面点群へビル点群（ビルの影を構成する影領域点群）を投影できる。そうして得られた地上座標系での影領域点群を撮影が行われた時刻ＴｎのＩＭＵ座標系に変換し、それをカメラ座標系に変換してカメラの撮影画像上に投影する。この一旦地上座標系に変換する方法では、レーザスキャナ１０１のスキャンタイミングとカメラ１０２の撮影時刻が同期していなくても、点群データの取り扱いが容易に行える。このため、レーザスキャナ１０１とカメラ１０２の機種の選定や動作タイミングの設定の自由度が高く、低コストでシステムを構成できる。
【００４２】
以下、座標変換部２０３で行われる処理の一例を説明する。まず、点群データの座標系として、レーザスキャナ１０１を原点とする３次元座標系（第１の座標系：スキャナ座標系）を考える。他方で、カメラ１０２を原点とする３次元座標系（第２の座標系：カメラ座標系）を考える。ここで、レーザスキャナ１０１の外部標定要素（ＩＭＵ１０３が扱う座標系における位置と向き）とカメラ１０２の外部標定要素（ＩＭＵ１０３が扱う座標系における位置と向き）が既知であるとする。また、ＩＭＵ１０３が扱う三次元座標系を第３の座標系（ＩＭＵ座標系）とする。
【００４３】
レーザスキャナ１０１の外部標定要素が既知であるので、第１の座標系を回転および平行移動させることで、第１の座標系を第３の座標系（ＩＭＵ座標系）に変換できる。更にレーザスキャナで取得した各点の取得時刻におけるＩＭＵ１０３の位置と姿勢が第４の座標系（地上座標系）において既知であれば、第４の座標系上で点群データを記述できるようになる。他方で、カメラ１０１の外部標定要素が既知であるので、第２の座標系を回転および平行移動させることで、第２の座標系を第３の座標系に変換できる。更に撮影時刻におけるＩＭＵ１０３の位置と姿勢が第４の座標系において既知であれば、当該時刻におけるカメラ１０２の位置と姿勢を第４の座標系（地上座標系）に変換できる。この結果、第４の座標系（地上座標系）上で例えばカメラ１０２の光軸の方向や画角（撮影視野）を記述することが可能となる。なお、数学的な操作により、地上座標系における点群を第２の座標系（カメラ座標系）に変換する操作は、当然可能である。
【００４４】
影領域点群算出部２０４は、太陽の位置に基づき、前記点群データが存在することで、太陽光が当たらない影となる領域の点群を影領域点群として算出する。この処理は、地上座標系上で行われる。この処理を地上座標系上で行うことで、点群データをまとまったデータとして扱うことができ、処理時間が短縮化され、また処理を行うハードウェアの負担が軽減される。太陽は動くので、影も動く。よって、影領域点群の算出は、特定の時間間隔で繰り返し行う。具体的には、カメラ１０２の撮影のタイミング（例えば、０．１秒毎）に同期させて、影領域点群の算出を行う。なお演算の負担を軽減するために、カメラ１０２の撮影のタイミングの複数回に一回の割合で影領域点群の算出を行う態様も可能である。例えば、撮影の間隔が０．１秒間隔である場合に、０．５秒経過毎に影領域点群の算出を行うような態様も可能である。
【００４５】
以下、影領域点群の算出を行う一例を説明する。例えば、路面上のある視点Ａから太陽の方向を見た場合に、その方向に建物があり、太陽が直接見えない場合を考える。この場合、視点Ａと太陽を結ぶ線上に建物を構成する点Ｂがあり、この点Ｂが当該視点からレーザスキャンを行った場合の点群の一つとして取得される。そして太陽を視点（原点）としてこの点Ｂを路面に投影した点が影領域点群の一つとなる。この投影点は、先の路面上の視点Ａと一致する。図５には、レーザスキャンで得た点群と影領域点群の関係の一例が示されている。
【００４６】
影領域点群を算出する処理では、まず無限遠にある太陽を光源として、点群データ取得部２０２が取得した点群（レーザスキャナ１０１が計測した点群）を地上（路面）に投影する。この投影により、レーザスキャナ１０１が計測した点群各点に対応する地上への投影点の集まりが影投影点群として得られる。影投影点群は、点状の影により構成される点群である。
【００４７】
太陽の位置に関するデータやその計算プログラムは、例えば、ＮＡＳＡのジェット推進研究所のサイト等から入手したものを用いる。勿論、独自の計測値や計算プログラムを用いて太陽の位置を特定してもよい。例えば、理科年表等に太陽の位置に関するデータは記載されており、それに基づく計算方法や計算プログラムは多数公開されている。これらの情報に基づき、視点の位置と時刻が判れば、天球面上における太陽の位置は計算により正確に求めることができる。
【００４８】
以下、影領域点群を算出する処理の一例を説明する。まず、レーザスキャナ１０１で取得した各点について各点の取得時刻に基づきスキャナ座標系（上記第１の座標系）から地上座標系に変換することにより、地上座標系における点群データを生成する。次にカメラ１０２で取得した画像の取得時刻における第２の座標系（カメラ座標系）の原点の第４の座標系（地上座標系）における位置（カメラ１０２の位置）と当該時刻を太陽の位置を求めるデータテーブルやプログラムに入力し、当該時刻における太陽の天球面における位置、すなわち第４の座標系（地上座標系）における太陽光が降り注ぐ方向を求める。
【００４９】
次に、第４の座標系（地上座標系）における点群データにおいて、路面（地上面）の太陽光が当たらず、影が形成される点状の部分が算出される。この処理は、太陽を投影原点として、レーザスキャナ１０１が取得した点群を地上に投影する処理を行うことで実行される。例えば、太陽光線の光軸と地上面のある点との間に点群があれば、当該地上面上の点は影の部分となる。この影となる点の集まりが影領域点群となる。この処理を点群データ取得部２０２が得たすべての点群に対して行うことで、地上面の影となる領域を確定できる。図５にレーザスキャナがレーザスキャンによって取得した点群と、この点群を路面の投影することで得た影領域点群の例が示されている。
【００５０】
影領域点群投影部２０５は、座標変換部２０３で行われる座標変換の結果を用いて、影領域点群算出部２０４が算出した影領域点群をカメラ１０２が撮影した画像に投影する。この処理により、カメラ１０２が撮影した画像中で、レーザスキャナ１０１が計測した点群および地上座標系において求めた影領域点群がどのように見えるのかを視覚的に把握できるようになる。
【００５１】
以下、影領域点群投影部２０５で行われる処理の一例を説明する。まず、上述した第１〜第４の座標系間における座標変換の結果から、第４の座標系（地上座標系）上でカメラ１０２の光軸の方向や画角（撮影視野）を記述することが可能となる。他方で、上述した影領域点群は、第４の座標系（地上座標系）上で記述可能である。したがって、カメラ１０２の撮影範囲(撮影した画面)における影領域点群の位置は特定できる。すなわち、カメラ１０２の撮影範囲(撮影した画面)に影領域点群を投影し、当該撮影範囲の中に影領域点群を表示できる。
【００５２】
カメラ１０２が撮影した画像中に影領域点群を投影することで、点群データに基づいたどの部分が影になるのかに関する画像情報が、カメラ１０２が撮影した画像中に表示される。図６に影領域点群を投影したカメラ画像のイメージ図を示す。図６には、建物の影となる部分を構成する影領域点群が路面を撮影した画像中に投影された状態が示されている。図６の場合、太陽は画面の左上の方向にあり、太陽光が建物に遮られることで生成される影に対応する領域に影領域点群が形成される様子が示されている。影領域点群は、レーザスキャンで得た建物の点群データと計算上の太陽の位置に基づくもので、実際に影がどのように画像中に写っているのかは関係ない。よって、画面中で建物の影がどのように写っているのかに関わりなく、影領域点群により、撮影画面（カメラ画像）中における影の位置が特定される。
【００５３】
影領域拡張部２０６は、カメラ１０２が撮影した画像（カメラ画像）において、画像を構成する画素の輝度値に基づき、影領域点群の周囲に影領域を拡張する。一般に点群の点密度は、画像の画素に比較して粗い。影領域点群は、点状の影により構成される点群であるので、画像の画素に比較して密度は粗い。よって、影と影でない部分との境界の部分を高い精度で確定するには、影領域点群の隣接する領域に影領域を拡張する必要がある。この処理が影領域拡張部２０６で行われる。
【００５４】
以下、影領域拡張部２０６で行われる処理の一例を説明する。まず、影領域点群の縁の部分にある点（この点を着目点とする）を抽出する。次に、この点から周囲に向かって（放射方向に沿って）画像を構成する画素の輝度値を調べる。調べる範囲は、周囲３６０°で、隣接する着目点までの距離の２倍程度の範囲とする。
【００５５】
ここで、線状に並ぶ位置にある複数の画素の輝度値の変化の勾配を調べる。この勾配が閾値を超えた位置を影の境界点として取得する。例えば、直線状に並ぶ３画素の輝度値の勾配を調べた場合に、その勾配が最大の３画素の組の中央の画素部分を境界点として取得する。この境界点の取得を一つの着目点に関して１以上、更にそれを対象となる着目点の全ておいて行う。そして、得られた複数の境界点を結ぶことで、影領域の輪郭を確定する。なお、影領域の輪郭の内側は、影として塗りつぶす。
【００５６】
影特定部２０７は、影領域拡張部２０６での処理によって画定した影の部分（太陽光が当たらない地上面（路面）の部分）を特定する。コントラスト調整部２０８は、路面の影の部分のコントラストを調整する。具体的には、影であり暗い画像であることを前提に、コントラストを強調した表示となるようにコントラストを調整する。影の部分であり、暗い画像であること前提したコントラスト処理を行うことで、影の部分における路面のひび割れ部分の検出精度を高めることができる。
【００５７】
影境界線特定部２０９は、影領域拡張部２０６での処理によって画定した影の部分の縁（影と影でない部分との境界）を特定する。影の縁の部分は、線状であり、この線状の部分が路面のひび割れた部分であると誤検出される場合がある。この誤検出される可能性のある線状の影の縁の部分を予め特定しておくことで、最終的に得られるデータの信頼性を高めることができる。
【００５８】
ひび割れ部分検出部２１０は、画像解析により、カメラ１０２が撮影した画像中から路面のひび割れ部分を検出する。この処理は、通常の画像認識技術を用いて行われる。この技術としては、「従来技術」の欄で述べた特許文献１等に記載された技術を利用することができる。
【００５９】
誤検出判定部２１１は、影境界線特定部２０９で得られた影の境界線（影の縁）に基づき、ひび割れ部分検出部２１０が検出したひび割れ部分の正誤を判定する。この処理では、影の境界線の撮影画面中での位置と、ひび割れ部分検出部２１０が検出したひび割れ部分の撮影画面中での位置とを比較し、両者が一致または一致していると見なせる場合（誤差の範囲で一致と認められる場合）に、ひび割れ部分検出部２１０の検出が誤りであったと判定する。この処理により、検査データの信頼性を高めることができる。
【００６０】
架空線検出部２１２は、上空に設置された架空線を検出する。架空線としては、電線、電話線、光ファイバーケーブル、ケーブルＴＶの信号線、電柱の支線（ステー線）等が挙げられる。レーザスキャナ１０１のスキャン密度にもよるが、架空線は、その一部が点群データとして取得される場合がある。架空線は、上空にあるので、近接して他の建物等の点群は存在せず、孤立して線状に延在している。そこで、孤立した空間に離れた２以上の点群が検出された場合、それを結んで架空線として特定する。孤立して存在しているか否か、建物等から離れているか否かは、閾値を用いて判定する。また、上述したレーザスキャンデータから得られた架空線と推測される点群データの特定に、上空を画像撮影した画像のデータを利用することもできる。ただし、この場合も架空線の一部の検出が行われていなければならない。
【００６１】
架空線検出部２１２は、架空線の位置のデータを地上座標等の適当な座標系上において計算で求める。例えば、孤立した２点の点群が得られた場合、その２点を結ぶ架空線を設定してその直線または曲線の方程式を求め、その座標を取得する。すなわち、架空線は線状であり、スキャン光が当たらず、点群を取りこぼす場合がある。あるいは、架空線の一部しか点群データが取れない場合がある。この場合、架空線が線状に延在することに着目し、欠落した部分の点群を予想する。例えば、直線の方程式や緩いカーブを描く曲線の方程式を複数用意し、それらに部分的に得られた架空線の点群を代入することで、得られた点群にフィッティングする線の方程式を見出し、その線の方程式によって当該架空線の位置を特定する。この架空線の位置のデータは、影領域点群算出部２０４で行われる演算で利用され、架空線に対応した影領域点群が得られる。すなわち、架空線があることで生じる影に対応する影領域点群が得られる。
【００６２】
架空線の影は、線状であり、路面に投影された場合、路面のひび割れとして検出されやすい（画像解析処理では、識別が困難な場合が多々ある）。架空線に起因する影領域点群を得ることで、架空線に起因する誤検出を低減でき、得られる路面のひび割れに係るデータの信頼性を高めることができる。
【００６３】
記憶部２１３は、画像処理装置２００で扱うデータや画像処理装置２００を動作させるプログラムのデータが記憶される。また、演算に必要な基礎データ等が記憶部２１３に記憶される。
【００６４】
車両位置姿勢算出部２１４は、指定された時刻ｔにおける車両１００の位置と姿勢を算出する。レーザスキャナ１０１とカメラ１０２の車両１００に対する外部標定要素（位置と姿勢）は既知であるので、時刻ｔにおける車両の位置と姿勢が求まれば、時刻ｔにおけるレーザスキャナ１０１とカメラ１０２の位置と姿勢も求まる。
【００６５】
車両１００の移動の軌跡は、ＧＮＳＳデータおよびＩＭＵデータにより刻々と記録されている。このデータから、指定された時刻ｔにおける車両１００の位置と姿勢は、計算により求めることができる。この処理が車両位置特定部２１４で行われる。時刻ｔにおける車両１００の位置を特定することで、時刻ｔにおける太陽の位置、スキャナ座標系の原点の位置、カメラ座標系の原点の位置が決まる。また、姿勢が求まることで、各座標系の向きが決まる。
【００６６】
（動作の一例）
図４に画像処理装置２００で実行される処理の手順の一例を示す。図４の処理を実行するプログラムは、記憶部２１３または適当な記憶媒体に記憶され、そこから読み出されて実行される。当該プログラムは、適当な回線を介して、サーバや離れた場所にある記憶装置から取得することもできる。
【００６７】
図４の処理において、ステップＳ１０１〜Ｓ１０２の処理が車両１００の側で行われ、ステップＳ１０３〜Ｓ１１２の処理が画像処理装置２００で行われる。まず、車両を走行させながらカメラ１０２を用いて特定の時間間隔（例えば、０．１秒間隔）で路面の撮影を行う。この際、カメラ１０２の撮影に同期させて、レーザスキャナ１０１によるレーザスキャンを行い、周囲環境の点群データを得る。レーザスキャンでは、路面に影を形成する可能性のある建物および上空の架空線がスキャンされるようにスキャン範囲が設定される。画像データおよび点群データ、それらのデータを得た時刻、その時刻における車両の姿勢と位置（ＩＭＵ１０３の姿勢と位置）は、関連付けされて記憶装置１０５に記憶される（ステップＳ１０１およびＳ１０２）。
【００６８】
一連のデータを得たら、記憶装置１０５から画像処理装置２００にデータを移し、ステップＳ１０３以下の処理を実行する。まず、時刻ｔ１におけるレーザスキャナ１０１とカメラ１０２の位置と姿勢を取得する（ステップＳ１０３）。ここで、位置と姿勢のデータは車両位置姿勢算出部２１４で算出される。このデータは、スキャナ座標系とカメラ座標系をＩＭＵ座標系に変換する際に利用される。次に、時刻ｔ１における太陽の位置を取得し（ステップＳ１０４）、時刻ｔ１における影領域点群を算出する（ステップＳ１０５）。この際、架空線の影に関しても影領域点群を算出する。
【００６９】
影領域点群を得たら、それを時刻ｔ１に撮影したカメラ画像上に投影する（ステップＳ１０６）。次に、時刻ｔ１におけるカメラ画像上における影領域点群を拡張し（ステップＳ１０７）、当該カメラ画像中における影の領域を確定する（ステップＳ１０８）。
【００７０】
次に、影領域として確定した画像部分のコントラストを強調する調整を行う（ステップＳ１０９）。このコントラストの調整を行うことで、影となり暗い画像となった部分からのひび割れの検出精度が高まる。その後、路面のひび割れ部分を検出する画像解析処理が行われ（ステップＳ１１０）、その結果をステップＳ１０８で得た影領域の情報と比較することで、正誤判定が行われる（ステップＳ１１１）。正誤判定を行うことで、影の縁をひび割れとして認定する不都合が回避される。
【００７１】
以上の処理を時刻ｔ２、時刻ｔ３、時刻ｔ４・・・・において繰り返し行い、対象となる全てのカメラ画像に対して行う（ステップＳ１１２）。
【００７２】
図４の処理をリアルタイムに行うことも可能である。この場合、画像処理装置２００を車両１００に乗せ、車両を走行させながら、図４の処理を行う。
【００７３】
（優位性）
以上述べた技術では、点群データと太陽の位置を用いて、太陽光が建物等の影となって当たらない路面の領域を算出する。画像解析では、影の縁なのか路面のひび割れなのかの判定が困難であっても、予め影の部分が判っていれば、正誤判定処理により、影の縁の部分をひび割れ部分として認定する問題が回避される。また、影の部分は暗く、ひび割れの検出精度が低下するが、点群データから予め影の部分を得ていれば、その部分のコントラストを調整することで、ひび割れの検出精度を高めることができる。
【００７４】
また、電線等の架空線の影が路面に写りこむことで、架空線の影をひび割れと誤検出する問題が生じるが、点群データから予め架空線の影の部分の情報を得ていれば、その部分のデータを排除することで、架空線の影をひび割れとして認定する問題を避けることができる。
【００７５】
（その他）
本発明は、路面のひび割れの検出の場合に限定されず、コンクリートやモルタルで固められた斜面や崖におけるひび割れの検出、橋の橋脚におけるひび割れの検出等に利用することもできる。
【図１】
2018036769.tif 000003
【図２】
2018036769.tif 000004
【図３】
2018036769.tif 000005
【図４】
2018036769.tif 000006
【図５】
2018036769.tif 000007
【図６】
2018036769.tif 000008