(57)【要約】【課題】  高精度に距離測定を行うことができる距離測定装置、距離測定方法および距離測定プログラムを提供する。【解決手段】  距離測定装置は、参照パターンが照射された対象物からの反射光から取得された対象物画像と、参照画像とからそれぞれ抽出したブロック同士をマッチングするマッチング部と、前記マッチングに際して、前記対象物画像から抽出したブロックにおいて、所定位置の画素の輝度に応じて、前記輝度と当該画素以外の画素の輝度との輝度差に応じた各画素の重みを可変とし、前記所定位置の画素と当該画素以外の画素との空間位置差に応じた各画素の重みを可変とする可変部と、前記マッチング部のマッチング結果に基づいて、前記対象物画像と前記参照画像との画素ずれ量を検出する検出部と、前記画素ずれ量から、前記参照パターンの発光位置または前記対象物画像の撮影位置と前記対象物との距離を算出する距離算出部と、を備える。【選択図】  図５
2018205030.tif 000002
【特許請求の範囲】
【請求項１】
参照パターンが照射された対象物からの反射光から取得された対象物画像と、参照画像とからそれぞれ抽出したブロック同士をマッチングするマッチング部と、
前記マッチングに際して、前記対象物画像から抽出したブロックにおいて、所定位置の画素の輝度に応じて、前記輝度と当該画素以外の画素の輝度との輝度差に応じた各画素の重みを可変とし、前記所定位置の画素と当該画素以外の画素との空間位置差に応じた各画素の重みを可変とする可変部と、
前記マッチング部のマッチング結果に基づいて、前記対象物画像と前記参照画像との画素ずれ量を検出する検出部と、
前記画素ずれ量から、前記参照パターンの発光位置または前記対象物画像の撮影位置と前記対象物との距離を算出する距離算出部と、を備えることを特徴とする距離測定装置。
【請求項２】
前記可変部は、前記所定位置の画素の輝度が閾値未満である場合において、前記所定位置の画素の輝度より当該画素以外の画素の輝度が大きい場合、前記輝度差に応じて当該画素以外の画素の重みを小さくすることを特徴とする請求項１記載の距離測定装置。
【請求項３】
前記可変部は、前記所定位置の画素の輝度が閾値以上である場合、前記所定位置の画素以外の画素の前記重みを小さくする度合を小さくするか、前記重みを小さくしないことを特徴とする請求項２記載の距離測定装置。
【請求項４】
前記可変部は、前記所定位置の画素よりも輝度が小さい画素については、前記所定位置の画素との輝度差に応じて重みを小さくすることを特徴とする請求項１〜３のいずれか一項に記載の距離測定装置。
【請求項５】
前記可変部は、前記所定位置の画素の輝度と当該画素以外の画素の輝度との輝度差に応じて当該画素以外の画素の重みを小さくする場合において、前記所定位置の画素よりも当該画素以外の画素の輝度が大きい場合よりも、前記所定位置の画素よりも当該画素以外の画素の輝度が小さい場合に、重みを小さくする度合を小さくすることを特徴とする請求項１記載の距離測定装置。
【請求項６】
前記可変部は、前記所定位置の画素以外の画素について、前記所定位置の画素との空間位置差が大きい画素ほど、重みを小さくすることを特徴とする請求項１〜５のいずれか一項に記載の距離測定装置。
【請求項７】
前記可変部は、前記所定位置の画素の輝度が閾値未満であれば、前記空間位置差に応じた各画素の重みをより大きくすることを特徴とする請求項６記載の距離測定装置。
【請求項８】
前記所定位置の画素は、前記ブロックの中心画素であることを特徴とする請求項１〜７のいずれか一項に記載の距離測定装置。
【請求項９】
前記参照パターンを発光する発光装置と、
前記対象物からの反射光から前記対象物画像を取得する撮影装置と、を備えることを特徴とする請求項１〜８のいずれか一項に記載の距離測定装置。
【請求項１０】
参照パターンが照射された対象物からの反射光から取得された対象物画像と、参照画像とからそれぞれ抽出したブロック同士をマッチング部がマッチングし、
前記マッチングに際して、前記対象物画像から抽出したブロックにおいて、所定位置の画素の輝度に応じて、前記輝度と当該画素以外の画素の輝度との輝度差に応じた各画素の重みを可変とし、前記所定位置の画素と当該画素以外の画素との空間位置差に応じた各画素の重みを可変部が可変とし、
前記マッチング部のマッチング結果に基づいて、前記対象物画像と前記参照画像との画素ずれ量を検出部が検出し、
前記画素ずれ量から、前記参照パターンの発光位置または前記対象物画像の撮影位置と前記対象物との距離を距離算出部が算出する、ことを特徴とする距離測定方法。
【請求項１１】
コンピュータに、
参照パターンが照射された対象物からの反射光から取得された対象物画像と、参照画像とからそれぞれブロックを抽出してマッチングする処理と、
前記マッチングに際して、前記対象物画像から抽出したブロックにおいて、所定位置の画素の輝度に応じて、前記輝度と当該画素以外の画素の輝度との輝度差に応じた各画素の重みを可変とし、前記所定位置の画素と当該画素以外の画素との空間位置差に応じた各画素の重みを可変とする処理と、
前記マッチングの結果に基づいて、前記対象物画像と前記参照画像との画素ずれ量を検出する処理と、
前記画素ずれ量から、前記参照パターンの発光位置または前記対象物画像の撮影位置と前記対象物との距離を算出する処理と、を実行させることを特徴とする距離測定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、距離測定装置、距離測定方法および距離測定プログラムに関する。
【背景技術】
【０００２】
カメラで取得した画像を基に、対象物までの距離を測定する技術が望まれている。そこで、例えば、複数のカメラを用いてステレオマッチングする技術が開示されている（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２６９９１７号公報
【特許文献２】特開２００３−１５０９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、複数のカメラが取得した対象物の複数の画像同士を比較することから、対象物の形状、反射率などの影響が小さくなる。一方、対象物からの反射光から得られる画像と、予め定めておいた参照画像との比較を行うマッチングにおいては、対象物からの反射光において、対象物の形状、反射率などの影響が大きくなってしまう。それにより、正確な距離測定を行うことが困難となる。
【０００５】
１つの側面では、本発明は、距離測定を行うことができる距離測定装置、距離測定方法および距離測定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、距離測定装置は、参照パターンが照射された対象物からの反射光から取得された対象物画像と、参照画像とからそれぞれ抽出したブロック同士をマッチングするマッチング部と、前記マッチングに際して、前記対象物画像から抽出したブロックにおいて、所定位置の画素の輝度に応じて、前記輝度と当該画素以外の画素の輝度との輝度差に応じた各画素の重みを可変とし、前記所定位置の画素と当該画素以外の画素との空間位置差に応じた各画素の重みを可変とする可変部と、前記マッチング部のマッチング結果に基づいて、前記対象物画像と前記参照画像との画素ずれ量を検出する検出部と、前記画素ずれ量から、前記参照パターンの発光位置または前記対象物画像の撮影位置と前記対象物との距離を算出する距離算出部と、を備える。
【発明の効果】
【０００７】
距離測定を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）および（ｂ）は距離測定技術の概略を表す図である。
【図２】距離測定技術の概略を表す図である。
【図３】（ａ）および（ｂ）は距離測定技術の概略を表す図である。
【図４】距離測定装置のハードウェア構成を例示するブロック図である。
【図５】距離測定装置の機能ブロック図である。
【図６】距離測定の対象物およびマッチング対象のブロックについて例示する図である。
【図７】（ａ）〜（ｄ）は輝度差に応じた重みについて例示する図である。
【図８】（ａ）および（ｂ）は空間位置差に応じた重みについて例示する図である。
【図９】（ａ）〜（ｅ）はガウシアンの重み幅について例示する図である。
【図１０】（ａ）および（ｂ）は空間位置差に応じた重みについて例示する図である。
【図１１】フローチャートを例示する図である。
【図１２】（ａ）〜（ｃ）はブロックマッチングの際に画素に重みを設定した場合の画素ずれ量の検出結果を例示する図である。
【図１３】実施例２に係る距離測定装置の機能ブロック図である。
【図１４】３値化処理を例示する図である。
【図１５】３値化処理を例示する図である。
【図１６】縦長ブロックおよび横長ブロックについて例示する図である。
【図１７】３値化処理を例示する図である。
【図１８】３値化処理を例示する図である。
【発明を実施するための形態】
【０００９】
実施例の説明に先立って、三角測量を用いた距離測定について説明する。
【００１０】
図１（ａ）および図１（ｂ）で例示するように、例えば、距離測定技術において、測定装置に備わる発光装置２０１が赤外線（ＩＲ）の参照パターンを対象物に照射し、測定装置に備わるＩＲカメラ２０２が対象物から反射した光を受光することで、対象物画像を取得する。
【００１１】
測定装置と対象物との距離が変化すると、三角測量の原理により、対象物画像と参照画像との間で画素ずれ量が変化する。参照画像とは、ＩＲカメラ２０２のセンサ面に平行で発光装置２０１からの距離が規定値に定められた平面に対して参照パターンが照射された場合にＩＲカメラ２０２が予め得ておいた画像のことである。対象物画像と参照画像との間で同じ大きさのブロック同士のマッチングを行って画素ずれ量を検出することで、測定装置と対象物との距離を測定することができる。画素ずれ量は、ブロックマッチングにより、対象物画像と参照画像とで同じパターンを探索することで検出することができる。
【００１２】
通常のステレオマッチングでは、視差がある２個のカメラの画像同士を比較しているため、概略形状が同じものを探索していることになる。これに対して、参照パターンの反射光を受光する方式では、参照画像は平面を表しているが、対象物が平面であるとは限らない。例えば、対象物の大きさや幅は一定ではない。また、反射率も、距離や材質により変わる。そのため、反射光の輝度が低くなる領域もある。ブロックマッチングを行うためにはブロックがある程度の大きさを有していることが好ましいが、ブロック内に輝度が低く幅が狭い領域が含まれその周辺の輝度が高い領域が含まれていると、マッチング精度が劣化する。
【００１３】
例えば、椅子の背もたれに対して、取手の部分は、幅が狭くかつ黒っぽい色を有して反射輝度が低くなることがある。したがって、椅子の距離を測定する場合、幅が狭い取手の部分でＳＮ比が劣化することになり、マッチング精度が劣化することがある。次に、マッチング精度の劣化について詳細に説明する。
【００１４】
図２は、参照画像と対象物画像との画素ずれについて説明するための図である。本来は位置を特定するために、唯一無二のランダムパターンを用いるが、説明の簡略化のために、格子点状の円形パターンを示している（その後の図３等も同様）。図２の例では、参照パターンは、格子点状に円形パターン（ドットパターン）を含んでいる。図２で例示するように、平行面２０３が当該平行を維持したまま測定装置に向かって移動したとする。この場合、平行面２０３からの反射によって得られる受光パターン２０４の配置が平行にずれるため、各円形パターンの画素ずれ量は略同じである。したがって、マッチング精度の劣化が抑制される。
【００１５】
これに対して、図３（ａ）で例示するように、平行面２０３よりもＩＲカメラ２０２側に幅が狭い部品２０５が配置されているとする。部品２０５は、ＩＲカメラ２０２と平行面２０３との間に配置されていると、ＩＲカメラ２０２が取得する画像において、平行面２０３と部品２０５とが重なるようになる。ＩＲカメラ２０２が取得する画像の一部であるブロック２０６より部品２０５の幅が狭いと、ブロック２０６内において平行面２０３と部品２０５とが重なる。ＩＲカメラ２０２と平行面２０３との距離と、ＩＲカメラ２０２と部品２０５との距離とが異なることから、図３（ｂ）で例示するように、ブロック２０６において、平行面２０３からの反射によって得られる受光パターンと部品２０５からの反射によって得られる受光パターンとの間で、画素ずれ量が異なるようになる。すなわち、各円形パターンの画素ずれ量が異なるようになる。この場合、参照画像に対する画素ずれ量の特定が困難になるため、マッチング精度が劣化する。特に、マッチングにおいては高い輝度の情報が優先されるため、部品２０５からの反射光の輝度が低いと、マッチング精度の劣化が顕著となる。
【００１６】
そこで、以下の実施例では、画素ずれ量の検出精度を向上させることで高精度に距離測定を行うことができる距離測定装置、距離測定方法および距離測定プログラムについて説明する。
【実施例１】
【００１７】
図４は、距離測定装置１００のハードウェア構成を例示するブロック図である。図４で例示するように、距離測定装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、表示装置１０４、発光装置１０５、撮影装置１０６などを備える。これらの各機器は、バスなどによって接続されている。
【００１８】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。表示装置１０４は、液晶ディスプレイ、エレクトロルミネッセンスパネル等であり、距離測定の結果などを表示する。発光装置１０５は、距離測定の対象物に対して参照パターンを照射する装置であり、例えば、赤外線照射装置である。参照パターンは、一例としてランダムなドットパターンなどである。撮影装置１０６は、対象物からの反射光を受光することで画像を生成する装置であり、例えば、ＩＲカメラである。
【００１９】
図５は、距離測定装置１００の機能ブロック図である。図５で例示するように、ＣＰＵ１０１が距離測定プログラムを実行することによって、距離測定装置１００内に、ブロック抽出部１０、評価関数算出部２０、最小値算出部３０、画素検出部４０、距離算出部５０などが実現される。これらの各機能は、専用の回路などのハードウェアで実現されてもよい。
【００２０】
図６は、距離測定の対象物６０およびマッチング対象のブロック７０について例示する図である。ブロック７０は、撮影装置１０６が取得する画像の一部である。図６で例示するように、対象物６０は、例えば、発光装置１０５の光軸に垂直で撮影装置１０６のセンサ面に対して平行な平行面６１と、平行面６１よりも撮影装置１０６側に配置された部品６２とを備えている。部品６２は、撮影装置１０６と平行面６１との間に配置されている。図６の例では、撮影装置１０６のセンサ面をなす互いに直交する軸をＸ軸およびＹ軸とする。Ｘ軸は、発光装置１０５と撮影装置１０６とを結ぶ線の方向である。Ｚ軸は、Ｘ軸およびＹ軸と直交する軸である。図６の例では、Ｚ軸は、撮影装置１０６と対象物６０との距離方向を表している。また、部品６２は、Ｘ軸方向に長手方向を有し、Ｙ軸方向の幅が狭くなっている。それにより、部品６２のＹ軸方向の幅は、ブロック７０のＹ軸方向の幅よりも狭くなっている。この場合、ブロック７０において、平行面６１と部品６２とが重なるようになる。
【００２１】
続いて、距離測定装置１００の動作について説明する。ブロック抽出部１０は、撮影装置１０６から対象物画像を取得する。次に、ブロック抽出部１０は、対象物画像において、対象画素位置を含むブロック７０を抽出する。次に、ブロック抽出部１０は、データベースなどに格納されている参照画像を取得する。本実施例においては、参照画像とは、撮影装置１０６のセンサ面に平行で発光装置１０５からの距離が規定値に定められた平面に対して参照パターンが照射された場合に撮影装置１０６が予め得ておいた画像のことである。次に、ブロック抽出部１０は、参照画像において、ブロック７０に対応する範囲を参照ブロックとして抽出する。
【００２２】
次に、評価関数算出部２０は、ブロック７０と参照ブロックとに対して、評価関数を算出する。評価関数として、例えば、マッチングの両対象の輝度値分布の類似度を表す概念を用いることができる。本実施例においては、一例として、差分二乗和、差分絶対和、相関係数正規化等の、輝度値分布の類似度が高いと小さい値となる評価関数を用いる。
【００２３】
次に、最小値算出部３０は、ブロック抽出部１０および評価関数算出部２０の動作の繰り返しにおいて、評価関数算出部２０が算出した評価関数の最小値を算出する。画素検出部４０は、最小値算出部３０が算出した最小値から得られる画素ずれ量を検出する。
【００２４】
以上の動作が対象画素位置を含む探索範囲（参照画像においてブロックを含む所定範囲）の全てにおいて繰り返される。画素検出部４０は、最小値算出部３０によって最後に算出された最小値から画素ずれ量を検出する。次に、距離算出部５０は、画素検出部４０によって検出された画素ずれ量を距離に換算する。例えば、三角測量を用いることができる。
【００２５】
以上の動作が、全ての画素を対象として繰り返される。全ての画素に対して距離を求めることで、対象物６０の各部と撮影装置１０６との距離を求めることができるとともに、対象物６０の形状を求めることができる。
【００２６】
続いて、評価関数算出部２０の動作の詳細について説明する。図７（ａ）は、ブロック抽出部１０が抽出したブロック７０を例示する図である。図７（ａ）の例では、Ｙ軸方向の中心領域Ｃに部品６２が位置し、Ｙ軸方向の上部領域Ｕと下部領域Ｌとに平行面６１が位置している。図７（ａ）で例示するように、平行面６１と部品６２の位置が異なっていることから、平行面６１と部品６２とが重なるブロック７０において、平行面６１と部品６２との間で、ドットのＸ軸方向の画素ずれ量が異なっている。なお、パターンマッチングには、マッチング対象のブロック７０がある程度の大きさの領域を有していることが好ましい。しかしながら、ブロックサイズが大きいと、図７（ａ）のブロック７０のように平行面６１と部品６２とで画素ずれ量が異なることから、画素ずれ量にバラツキが生じて特定することができず、マッチング精度が劣化する。特に、部品６２からの反射光の輝度値が平行面６１からの反射光の輝度値よりも低い場合には、当該マッチング精度の劣化が顕著となる。
【００２７】
そこで、評価関数算出部２０は、評価関数の算出に際して、輝度差に応じて各画素の重みを変更する。例えば、評価関数算出部２０は、評価関数の算出に際して、輝度差が大きい画素の情報の重みを小さくする。まず、図７（ｂ）で例示するように、部品６２が黒っぽい色を有していることで、中心領域Ｃの輝度が閾値未満に低くなっているものとする。図７（ｂ）の網掛け部分は、輝度が低いことを表している。網掛けが無い部分は、輝度が高いことを表している。図７（ｃ）、図７（ｄ）、図８および図１０でも同様である。この場合において、ブロック７０の中心画素位置Ｐの輝度をＪ（Ｐ）とし、中心領域Ｃの画素位置ｑａの輝度値をＪ（ｑａ）とし、上部領域Ｕの画素位置ｑｂの輝度値をＪ（ｑｂ）とする。中心画素位置Ｐおよび画素位置ｑａが位置する中心領域Ｃの輝度は低くなるため、輝度差｛Ｊ（ｑａ）−Ｊ（Ｐ）｝は小さくなる。一方、上部領域Ｕの輝度は高くなることから、輝度差｛Ｊ（ｑｂ）−Ｊ（Ｐ）｝は大きくなる。この輝度差が大きい画素の重みを、当該輝度差に応じて小さくする。例えば、輝度差が大きいほど、重みをより小さくする。
【００２８】
図７（ｃ）の例では、上部領域Ｕおよび下部領域Ｌに部品６２が位置し、中心領域Ｃに平行面６１が位置している。それにより、中心領域Ｃの輝度が高く、上部領域Ｕおよび下部領域Ｌの輝度が低くなっている。この場合、本来であれば輝度が高い中心領域Ｃの情報のみを用いたいため、輝度差が大きい場合に重みを小さくしたい。しかしながら、輝度が大きい中心領域Ｃでは輝度のバラツキが大きくなるため、輝度差｛Ｊ（ｑａ）−Ｊ（Ｐ）｝がマイナスになる場合には、重みを緩めることが好ましい。例えば、中心領域Ｃの輝度が閾値以上である場合、図７（ｂ）の場合と比較して、輝度差に応じて重みを小さくする度合を小さくする。
【００２９】
次に、もともと輝度値が高い領域では、輝度値のバラツキが大きくなっている。例えば、平行面６１の領域では、輝度値のバラツキが大きくなるものの、いずれの位置においても輝度値が高くなる。この場合には、輝度差が大きくなる画素の重みを小さくしない。図７（ｄ）は、ブロック７０に部品６２が重なっていない場合を例示する図である。図７（ｄ）の例では、ブロック７０のいずれの領域においても輝度値のバラツキが大きいため、輝度差｛Ｊ（ｑａ）−Ｊ（Ｐ）｝および輝度差｛Ｊ（ｑｂ）−Ｊ（Ｐ）｝の両方とも大きくなる場合がある。しかしながら、中心画素位置Ｐの輝度Ｊ（Ｐ）、画素位置ｑａの輝度値Ｊ（ｑａ）および画素位置ｑｂの輝度値Ｊ（ｑｂ）のいずれも高い値になる。そこで、この場合には、輝度差が大きい画素について重みを小さくしない。例えば、中心画素位置Ｐ、画素位置ｑａおよび画素位置ｑｂのいずれにおいても輝度が閾値以上であれば、画素位置ｑａおよび画素位置ｑｂのいずれの重みを小さくしない。
【００３０】
また、評価関数算出部２０は、評価関数の算出に際して、空間位置差（距離）に応じて重みを変更する。中心画素位置Ｐと画素位置ｑａとの距離を｜｜Ｐ−ｑａ｜｜とする。中心画素位置Ｐと画素位置ｑｂとの距離を｜｜Ｐ−ｑａ｜｜とする。例えば、評価関数算出部２０は、中心画素位置Ｐに近い画素位置ｑａよりも、中心画素位置Ｐから遠い画素位置ｑｂの重みを小さくするように設定されている。すなわち、評価関数算出部２０は、中心画素位置Ｐとの空間位置差が大きい画素ほど、重みを小さくするように設定されている。
【００３１】
この場合において、中心画素位置Ｐの輝度値Ｊ（Ｐ）が低い場合はＳＮ比が低いため、中心画素位置Ｐよりもより距離（空間位置差）が大きい画素の情報を用いることが好ましい。そこで、評価関数算出部２０は、空間位置差が大きい画素の重みを大きくしてもよい。例えば、図８（ａ）で例示するように、ブロック７０の全体の輝度が低い場合には、ブロック７０の中心画素位置Ｐやブロック７０の全体が明るい場合と比較して、中心画素位置Ｐから遠い画素位置ｑｂの重みも大きくする。例えば、中心画素位置Ｐ、画素位置ｑａおよび画素位置ｑｂのいずれにおいても輝度が閾値未満であれば、画素位置ｑａおよび画素位置ｑｂのいずれの重みを大きくする。なお、図８（ｂ）で例示するように、中心領域の周りが明るい場合は、輝度差により重みを小さくできるので、輝度差による重みと併用することが好ましい。
【００３２】
次に、ガウシアン分布を用いた重みの算出例について説明する。例えば、評価関数算出部２０は、細い対象物（部品６２）が低ＳＮ比の領域で周辺が明るい場合には、輝度の低い領域の情報を適応的に使うために、輝度値を基準に重みを可変とするジョイントバイラテラルを採用してもよい。評価関数算出部２０は、空間位置差ガウシアンを用いて、対象となる中心画素位置Ｐよりも遠い画素位置の重みを、距離に応じたガウシアン分布で低下させる。なお、ガウシアンの幅は、輝度に応じて可変とする。次に、評価関数算出部２０は、輝度差ガウシアンを用いて、重みを輝度差に応じたガウシアン分布とする。ガウシアン幅は、輝度に応じて可変とし、輝度が低いほど重みを小さくする。輝度差の符号でも可変とする。
【００３３】
例えば、重みは、下記式（１）に従って算出することができる。空間位置差ガウシアンについては、下記式（２）のように表すことができる。輝度差ガウシアンについては、下記式（３）のように表すことができる。なお、下記式（１）のＷＰは、正規化項であり、下記式（４）のように表すことができる。「Ｉ」は、対象輝度であり、差分絶対値の平均値である。「Ｊ」は輝度の重みとなる基準画像の輝度であり、例えば対象画像に対して５×５画素のローパスフィルタを適用したものである。「Ｐ」は中心画素位置である。「ｑ」は要素（ｓ）の各画素位置である。なお、下記式（４）による正規化を行うため、通常のガウシアンの正規化計数（０．５πσ）は、下記式（２）および下記式（３）において省略してある。
【数１】
2018205030.tif 000003
【数２】
2018205030.tif 000004
【数３】
2018205030.tif 000005
【数４】
2018205030.tif 000006
【００３４】
続いて、輝度差ガウシアンおよび空間位置差ガウシアンの幅の例について説明する。図９（ａ）は、輝度差分が正の場合（中心よりも周辺の輝度が高い場合）の輝度差ガウシアンの重み幅を例示する図である。中心画素位置Ｐにおける輝度値がＭＡＸ輝度値２５５に対して第１閾値（例えば１０）未満である場合は、非常に暗くバラツキも小さい。そこで、輝度差に応じた重み幅を小さくする。中心画素位置Ｐにおける輝度値がＭＡＸ輝度値２５５に対して第１閾値よりも大きい第２閾値（例えば４０）以上である場合は、比較的明るくバラツキも大きい。そこで、輝度差に応じた重み幅を大きくする。第１閾値と第２閾値との間は、段階的に重み幅を変更してもよい。図９（ｂ）は、輝度差分が負の場合（中心よりも周辺の輝度が低い場合）の輝度差ガウシアンの重み幅を例示する図である。輝度差分が正の場合と負の場合とで、正の場合の方が影響を受けやすくなるため、正の場合の重み幅を小さくすることが好ましい。
【００３５】
図９（ｃ）は、空間位置差ガウシアンの重み幅を例示する図である。図９（ｃ）で例示するように、中心画素位置Ｐにおける輝度値がＭＡＸ輝度値２５５に対して第１閾値（例えば２０）未満である場合は暗いため、図１０（ａ）で例示するように、ブロックの重みを広く例えば９にする。中心画素位置Ｐにおける輝度値がＭＡＸ輝度値２５５に対して第１閾値よりも大きい第２閾値（例えば４０）以上である場合は、比較的明るいため、図１０（ｂ）で例示するように、中心画素位置Ｐに近い範囲で例えば３にする。第１閾値と第２閾値との間は、段階的に重み幅を変更してもよい。しきい値の段数は増やしてもよい。
【００３６】
図９（ｄ）は、重み幅が広い場合と重み幅が狭い場合とを例示する図である。図９（ｄ）において、横軸は周辺輝度と中心輝度との差分を表し、縦軸は重みを表す。図９（ｄ）において、実線が重み幅の広い場合を表し、破線が重み幅の狭い場合を表す。なお、縦軸の重みは、「１」を最大値とする。図９（ｅ）は、輝度差が正の場合と負の場合とで重みを変更する場合を例示する図である。図９（ｅ）においても、横軸は周辺輝度と中心輝度との差分を表し、縦軸は重みを表す。なお、縦軸の重みは、「１」を最大値とする。
【００３７】
図１１は、図５の各機能の動作を表すフローチャートを例示する図である。まず、ブロック抽出部１０は、撮影装置１０６から対象物画像を取得する。なお、対象物画像は、ローパスフィルタでノイズを除去したものとしてもよい。次に、ブロック抽出部１０は、対象物画像の対象画素位置を含むブロックの範囲を抽出する（ステップＳ１）。
【００３８】
次に、ブロック抽出部１０は、データベースなどに格納されている参照画像を取得する。次に、ブロック抽出部１０は、参照画像においてステップＳ１で着目した対象画素位置でステップＳ１と同じブロックの範囲を抽出する（ステップＳ２）。
【００３９】
次に、評価関数算出部２０は、ステップＳ１で抽出したブロックと、ステップＳ２で抽出したブロックとに対して、評価関数を算出する（ステップＳ３）。ステップＳ３においては、上述したように、重みを設定したうえで評価関数を算出する。ステップＳ２〜ステップＳ３は、ステップＳ１で着目した対象画素位置を含む探索範囲（参照画像においてブロックを含む所定範囲）の全てにおいて繰り返される。
【００４０】
次に、最小値算出部３０は、ステップＳ２〜ステップＳ３の繰り返しにおいて、評価関数算出部２０が算出した評価関数の最小値を算出する。画素検出部４０は、最小値算出部３０が算出した最小値から得られる画素ずれ量を算出する（ステップＳ４）。
【００４１】
次に、距離算出部５０は、ステップＳ４で検出された画素ずれ量を距離に換算する（ステップＳ５）。ステップＳ１〜ステップＳ５は、全ての画素を対象として繰り返される。全ての画素に対して距離を求めることで、対象物６０の各部と撮影装置１０６との距離を求めることができるとともに、対象物６０の形状を求めることができる。
【００４２】
図１２（ａ）〜図１２（ｃ）は、ブロックマッチングの際に画素に重みを設定した場合の画素ずれ量の検出結果を例示する図である。図１２（ａ）は、図９（ｄ）で例示したように、重み幅を広くした場合の検出結果である。すなわち、輝度差に対する重みの変動を緩やかにしてある。この場合、図１２（ａ）において点線の〇で囲ったように、部品６２が検出されている。このように、ブロックマッチングの際に画素に重みを設定することで、幅の狭い部品６２を検出することができる。ただし、画素ずれ量のバラツキを表すドットも現れているため、誤検出も増える傾向にある。図１２（ａ）において、左側で点線で〇で囲ったように、ドットは左側に現れている。
【００４３】
次に、図１２（ｂ）は、図９（ｄ）で例示した重み幅を狭くした場合の検出結果である。すなわち、輝度差に対する重みの変動を急峻にしてある。この場合、図１２（ｂ）において点線の〇で囲ったように、部品６２が検出されている。また、画素ずれ量のバラツキを表すドットが現れていない。ただし、部品６２が細く検出されているため、部品６２の検出精度が図１２（ａ）より低下している。
【００４４】
次に、図１２（ｃ）は、図９（ｅ）で例示したように、輝度差が正の場合と負の場合とで重みを変更した場合の検出結果である。すなわち、輝度差がマイナスになる場合には、重みを緩めてある。この場合、画素ずれ量のバラツキを表すドットが現れていない。まだ、点線の〇で囲ったように、部品２６も太く検出されている。したがって、輝度差が正の場合と負の場合とで重みを変更することで、画素ずれ量の検出精度が向上したことがわかる。
【００４５】
本実施例によれば、ブロックマッチングにおいて、中心画素位置Ｐの輝度に応じて、中心画素位置Ｐの輝度と周辺画素の輝度との輝度差に応じた重みを可変としてある。この場合、輝度差に起因するマッチング精度の劣化を抑制することができる。例えば、ブロック幅よりも狭くかつ輝度が低くなる領域を検出できるようになる。さらに、中心画素位置Ｐの輝度に応じて、中心画素位置Ｐと周辺画素との空間位置差に応じた重みを可変としてある。これにより、例えば、ブロックの全体の輝度が低い場合などにおいても空間位置差が大きい画素の重みを大きくすることで、ＳＮ比を大きくすることができる。このように、マッチング精度をより向上させることができる。以上のことから、高精度に距離測定を行うことができる。
【００４６】
なお、上記例において、対象物画像から抽出したブロック７０の中心画素位置Ｐを基準位置としたが、それに限られない。例えば、中心画素位置以外の画素位置を、輝度差および空間位置差を算出するための基準位置としてもよい。ただし、基本的に、ブロック７０の中心画素を中心にして、ブロックマッチングの範囲を設定することになるため、重みの設定も中心画素を基準とすることが好ましい。中心画素位置から数画素ずれたところを基準位置としてもよいが、もともとの基準の中心位置と微妙に輝度差がずれることが多いので、基本的には中心画素位置を基準位置とすることが望ましい。
【実施例２】
【００４７】
上述した評価関数として挙げた差分二乗和、差分絶対値和等は、輝度の大きさに応じたずれが大きくなる。相関係数正規化については、処理量が多くなる。そこで、輝度の大きさに応じたずれを抑制するために、隣接画素の輝度差分を算出し、当該差分がプラスの閾値よりも大きい場合に１、マイナスの閾値よりも小さい場合に−１、それ以外を０とすることで、３値化してもよい。これにより、輝度の絶対値の影響を抑制することができる。隣接差分は、Ｘ軸方向の差分、Ｙ軸方向の差分、あるいは両者の平均などとすることができる。なお、差分を算出する前に、ローパスフィルタなどでノイズを低減してもよい。
【００４８】
図１３は、実施例２に係る距離測定装置１００ａの機能ブロック図である。図５と異なる点は、微分処理部８０がさらに備わっている点である。この機能は、ＣＰＵ１０１が距離測定プログラムを実行することによって実現される。または、これらの各機能は、専用の回路などのハードウェアで実現されてもよい。
【００４９】
例えば、隣接差分のフィルタとして、下記式（５）のようなＸ軸方向の隣接差分を算出するための行列を適用することができる。
【数５】
2018205030.tif 000007
また、隣接差分のフィルタとして、下記式（６）のようなＹ軸方向の隣接差分を算出するための行列を適用することができる。
【数６】
2018205030.tif 000008
また、隣接差分のフィルタとして、下記式（７）または下記式（８）のような斜め方向の隣接差分を算出するための行列を適用することができる。
【数７】
2018205030.tif 000009
【数８】
2018205030.tif 000010
【００５０】
例えば、図１４で例示するように、上記式（７）および上記式（８）の両方の微分画像を用いて、対象物画像を畳み込む。それにより、対象物画像を３値化することができる。例えば、図１５で例示するように、微分処理部８０は、ローパスフィルタでノイズが除去された対象物画像を上記式（７）で３値化することで得られた微分画像１を、対象物画像として評価関数算出部２０に入力する。さらに、微分処理部８０は、ローパスフィルタでノイズが除去された対象物画像を上記式（８）で３値化することで得られた微分画像２を、対象物画像として評価関数算出部２０に入力する。
【００５１】
また、微分処理部８０は、ローパスフィルタでノイズが除去された参照画像を上記式（７）で３値化した３値化参照画像を１画素ごとシフトし、評価関数算出部２０に入力する。さらに、微分処理部８０は、ローパスフィルタでノイズが除去された参照画像を上記式（８）で３値化した３値化参照画像を１画素ごとシフトし、評価関数算出部２０に入力する。評価関数算出部２０は、画素ずれの差分絶対値和を評価関数として算出し、シフト前の最小評価関数よりも最小となる画素位置において、画素ずれシフトと最小評価関数とを順次入れ替えることで、全シフト後（探索範囲内）に全画素位置で評価関数が最小となる画素ずれを算出する。ここでの評価関数の例として、斜め方向の微分３値化に対し、３値化参照画像をシフトし、差分絶対値をとり、斜め方向の２種類の平均をとる。この平均に対して、画素ごとの重みに従って畳み込み処理を行う。その後の処理は、実施例１と同様である。
【００５２】
本実施例によれば、対象物画像および参照画像を３値化することで、輝度の大きさに起因する評価関数のずれを抑制することができる。また、３値化により、値の種類が低減されることから、処理量が低減される。
【実施例３】
【００５３】
上記各例においては、対象物画像から抽出した１つのブロックと、参照画像から抽出した１つのブロックとをマッチングしているが、それに限られない。例えば、図１６で例示するように、横長ブロック７１および縦長ブロック７２を互いに重複させて両方でマッチング処理を行い、良好な結果が得られる方のブロックを用いたマッチング結果を採用してもよい。この場合、図１６で例示するように、いずれか一方の方向において対象物６０が存在せずに反射光が戻ってこない領域が含まれていても、画素ずれ量を検出することができる。さらに、対象物画像から抽出された横長ブロックおよび縦長ブロックと、参照画像から抽出された横長ブロックおよび縦長ブロックとのマッチングに、実施例１で説明したように各画素に重みを設定することで、マッチング精度が向上する。
【００５４】
例えば、図１７および図１８で例示するように、３値化処理を行ってもよい。図１７および図１８で例示するように、図１４および図１５と異なる点は、評価関数の内容である。例えば、評価関数の例として、斜め方向の微分３値化に対し、３値化参照画像をシフトし、差分絶対値をとり、斜め方向の２種類の平均をとる。この平均に対して、画素ごとの重みに従って横長ブロックおよび縦長ブロックの畳み込み（総和）をそれぞれとり、最小の方を評価関数としてもよい。その後の処理は、実施例１と同様である。
【００５５】
本実施例によれば、対象物画像および参照画像を３値化することで、輝度の大きさに起因する評価関数のずれを抑制することができる。また、３値化により、値の種類が低減されることから、処理量が低減される。なお、本実施例においては、横方向（Ｘ軸方向）に長いブロックと、縦方向（Ｙ軸方向）に長いブロックとを用いたがそれに限られない。撮影装置１０６のセンサ面に平行な平面において長さ方向が異なる２つのブロックを用いることで、画素ずれ量の検出精度を向上させることができる。
【００５６】
上記各例において、ブロック抽出部１０、評価関数算出部２０および最小値算出部３０が、参照パターンが照射された対象物からの反射光から取得された対象物画像と、参照画像とからそれぞれ抽出したブロック同士をマッチングするマッチング部の一例として機能する。評価関数算出部２０が、前記マッチングに際して、前記対象物画像から抽出したブロックにおいて、所定位置の画素の輝度に応じて、前記輝度と当該画素以外の画素の輝度との輝度差に応じた各画素の重みを可変とし、前記所定位置の画素と当該画素以外の画素との空間位置差に応じた各画素の重みを可変とする可変部の一例として機能する。画素検出部４０が、前記マッチング部のマッチング結果に基づいて、前記対象物画像と前記参照画像との画素ずれ量を検出する検出部の一例として機能する。距離算出部５０が、前記画素ずれ量から、前記参照パターンの発光位置または前記対象物画像の撮影位置と前記対象物との距離を算出する距離算出部の一例として機能する。
【００５７】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５８】
１０  ブロック抽出部
２０  評価関数算出部
３０  最小値算出部
４０  画素検出部
５０  距離算出部
６０  対象物
８０  微分処理部
１００  距離測定装置
【図１】
2018205030.tif 000011
【図２】
2018205030.tif 000012
【図３】
2018205030.tif 000013
【図４】
2018205030.tif 000014
【図５】
2018205030.tif 000015
【図６】
2018205030.tif 000016
【図７】
2018205030.tif 000017
【図８】
2018205030.tif 000018
【図９】
2018205030.tif 000019
【図１０】
2018205030.tif 000020
【図１１】
2018205030.tif 000021
【図１２】
2018205030.tif 000022
【図１３】
2018205030.tif 000023
【図１４】
2018205030.tif 000024
【図１５】
2018205030.tif 000025
【図１６】
2018205030.tif 000026
【図１７】
2018205030.tif 000027
【図１８】
2018205030.tif 000028