(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-09
(45)【発行日】2023-11-17
(54)【発明の名称】測距装置
(51)【国際特許分類】
G01C 3/06 20060101AFI20231110BHJP
G06T 7/593 20170101ALI20231110BHJP
【FI】
G01C3/06 110V
G01C3/06 140
G06T7/593
(21)【出願番号】P 2020127397
(22)【出願日】2020-07-28
【審査請求日】2022-11-07
(73)【特許権者】
【識別番号】000004695
【氏名又は名称】株式会社SOKEN
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(73)【特許権者】
【識別番号】592032636
【氏名又は名称】学校法人トヨタ学園
(74)【代理人】
【識別番号】100121821
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100139480
【氏名又は名称】日野 京子
(74)【代理人】
【識別番号】100125575
【氏名又は名称】松田 洋
(74)【代理人】
【識別番号】100175134
【氏名又は名称】北 裕介
(72)【発明者】
【氏名】石丸 和寿
(72)【発明者】
【氏名】三田 誠一
(72)【発明者】
【氏名】桑原 正樹
【審査官】仲野 一秀
(56)【参考文献】
【文献】特開2017-207874(JP,A)
【文献】特開2017-84259(JP,A)
【文献】特開2014-206893(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 3/00-3/32
G01B 11/00-11/30
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
撮像装置(10,11,12)によって異なる位置から車両の周辺が撮影されることにより得られた複数の撮影画像に基づいて視差を測定する測距装置(20)において、
前記複数の撮影画像に基づいて、視差を算出する視差算出部(40)と、
前記複数の撮影画像のうちいずれかの撮影画像に含まれる撮影対象の種類及びその領域を識別する識別部(50)と、
前記識別部により識別された撮影対象の種類及びその領域に応じて、前記視差算出部により算出された視差を修正する視差修正部(60)と、を備え
、
前記視差修正部は、前記視差算出部により算出された視差に基づいて生成された視差画像の縦方向において、前記識別部により路面であると識別された路面領域よりも上方に、物体であると識別された物体領域が存在する場合であって、当該物体領域内に、前記路面領域における最小視差よりも大きな視差が存在する場合には、当該視差を小さくするように修正する、測距装置。
【請求項2】
前記視差修正部は、前記物体領域のうち、前記路面領域よりも上方に存在する領域内に、前記路面領域における最小視差よりも大きな視差が存在し、当該視差を小さくするように修正する場合、当該視差を、前記物体領域のうち、前記路面領域よりも上方に存在する領域における他の視差と一致させるように修正する請求項
1に記載の測距装置。
【請求項3】
前記視差修正部は、前記物体領域内に存在する視差の相関係数が所定値以上であって、かつ、当該相関係数となる視差が1つしかない場合、又は修正の対象となる画素が物体のうち車両であると識別された領域内に存在する場合、視差を修正しない請求項
1又は2に記載の測距装置。
【請求項4】
前記視差修正部は、前記識別部により前記撮影対象の種類が空であると識別された空領域では、前記複数の撮影画像によって取りうる視差のうち、最も遠方であることを示す視差以下の値に修正する請求項1
~3のうちいずれか1項に記載の測距装置。
【請求項5】
前記視差修正部は、前記識別部により前記撮影対象の種類が路面であると識別された路面領域では、前記視差算出部により算出された視差に基づいて生成された視差画像において、縦方向における座標と、当該座標における視差との関係性を特定し、当該関係性から所定値以上はずれた視差が存在する場合には、当該関係性に近づけるように視差を修正する請求項1
~4のうちいずれか1項に記載の測距装置。
【請求項6】
前記視差算出部は、前記複数の撮影画像の画素毎又は視差毎に相関係数が算出された相関空間を設定し、動的計画法を用いて、その相関空間全体を使用して視差を推定する請求項1~
5のうちいずれか1項に記載の測距装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に基づいて距離を測定する測距装置に関するものである。
【背景技術】
【0002】
従来、ステレオカメラにより撮影された左右の画像を利用して、距離を測定する測距装置が知られている(例えば、特許文献1)。特許文献1では、畳み込みニューラルネットワーク(CNN)を利用して、左右の画像において対応する位置(対応点)を適切にマッチングさせることにより、視差を精度よく計算していた。このため、距離を精度よく測定することができた。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、空や路面など、左右の画像において対応情報が少ない箇所では、対応する位置を精度よくマッチングさせることができず、誤認識や誤差が生じるという課題があった。
【0005】
本発明は、上記課題を解決するためになされたものであり、その目的は、視差を精度良く測定することができる測距装置を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するための手段は、撮影装置によって異なる位置から車両の周辺が撮影されることにより得られた複数の撮影画像に基づいて視差を測定する測距装置において、前記複数の撮影画像に基づいて、視差を算出する視差算出部と、前記複数の撮影画像のうちいずれかの撮影画像に含まれる撮影対象の種類及びその領域を識別する識別部と、前記識別部により識別された撮影対象の種類及びその領域に応じて、前記視差算出部により算出された視差を修正する視差修正部と、を備える。
【0007】
空や路面など、複数の撮影画像において対応情報が少ない箇所であっても、識別部により識別された撮影対象の種類及びその領域という知識を利用して、適切に視差を修正することができる。このため、視差、すなわち、距離を精度よく算出することが可能となる。
【図面の簡単な説明】
【0008】
【
図2】(a)は、比較例における撮影画像の模式図であり、(b)は、(a)の撮影画像に対応する視差画像の模式図であり、(c)は、比較例における撮影画像の模式図であり、(d)は、(c)の撮影画像に対応する視差画像の模式図である。
【
図4】(a)は、右の撮影画像の模式図であり、(b)は、左の撮影画像の模式図であり、(c)は、識別された画像の模式図であり、(d)は、修正前の視差画像の模式図である。
【
図5】(a)は、修正前に視差画像の模式図であり、(b)は、修正後の視差画像の模式図であり、(c)は、視差画像の路面領域における縦方向の座標と、視差との関係性を示す図である。
【
図6】(a)は、撮影画像の模式図であり、(b)は、修正前の視差画像の模式図であり、(c)は、修正後の視差画像の模式図である。
【
図7】(a)は、撮影画像の模式図であり、(b)は、修正前の視差画像の模式図であり、(c)は、修正後の視差画像の模式図である。
【発明を実施するための形態】
【0009】
以下、本発明を具体化した実施形態を図面に基づいて説明する。本実施形態は、車両に搭載される測距装置を具体化している。測距装置は、車両の周辺に存在する物体(例えば、他の車両や道路構造物等)までの距離を測定するために利用されるものである。
【0010】
まず、本実施形態に係る測距装置の概略構成について
図1を用いて説明する。車両は、撮像装置としてのステレオカメラ10と、測距装置20と、を備えている。
【0011】
ステレオカメラ10は、車両の前方を撮影できるよう光軸を車両の前方に向けた状態で車両の前部に設置されている。ステレオカメラ10は、右カメラ11及び左カメラ12を備えている。右カメラ11及び左カメラ12は、上下(重力)方向において同じ高さに配置されるとともに左右(水平)方向に離れた位置に配置されている。
【0012】
右カメラ11及び左カメラ12は、車両の前方における同一の周辺状況を異なる方向から撮影する。右カメラ11及び左カメラ12は、所定周期で同時に撮影を行い、右カメラ11で撮影された右画像及び左カメラ12で撮影された左画像は、それぞれ測距装置20に出力される。右カメラ11及び左カメラ12は、例えば、それぞれがCCDイメージセンサやCMOSイメージセンサで構成されている。
【0013】
測距装置20は、CPUや各種メモリ等を備えたコンピュータを主体として構成されている。測距装置20は、ステレオカメラ10の右カメラ11及び左カメラ12によってそれぞれ出力された右撮影画像及び左撮影画像に基づいて、左右の撮影画像に含まれる撮影対象(車両前方において撮影されたもの)を識別するとともに、各撮影対象までの距離を算出する。
【0014】
各撮影対象までの距離の算出には、周知のステレオマッチング(対応点検索)処理を用いた手法が適用される。簡単に説明すると、測距装置20は、同時に撮影された右撮影画像及び左撮影画像を取得し、これらの撮影画像に対応する対象の視差(撮影画像上のずれ量)を算出し、視差に基づき、三角測量の原理を用いて距離を算出する。
【0015】
なお、測距装置20により算出された距離は、図示しない外部装置に出力される。そして、外部装置により、各撮影対象までの距離に基づいて各種処理が実施される。例えば、他車両や道路構造物などの物体までの距離に基づいて、物体に対する接触回避処理等が実施される。
【0016】
ところで、白い壁や窓など左右の撮影画像において対応情報が少ない箇所では、対応する位置を精度よくマッチングさせることができず、誤認識や誤差が生じるという課題があった。例えば、
図2(a)に示すような撮影画像が取得された場合、
図2(b)に示すような視差画像が生成されていた。
図2(b)の視差画像において、楕円で囲まれた部分P11が示すように、窓であるはずの領域において、視差に誤差が生じている場合があった。
【0017】
同様に、空や路面など、左右の撮影画像において対応情報が少ない箇所においても同様の課題があった。例えば、
図2(c)に示すような撮影画像が取得された場合、
図2(d)に示すような視差画像が生成されていた。
図2(d)の視差画像において、楕円で囲まれた部分P12,P13が示すように、空であるはずの領域や、路面であるはずの領域において、視差に誤差が生じている場合があった。
【0018】
そこで、以下のように測距装置20を構成している。以下、図に基づいて詳しく説明する。測距装置20は、CPU、ROM、RAM、記憶部としての記憶装置、入出力インターフェース等を備える周知のマイクロコンピュータである。
図1に示すように、測距装置20は、前処理部30、視差算出部40、識別部としての画像識別部50、及び視差修正部60としての機能を備える。これらの機能は、測距装置20が備える記憶装置(記憶用メモリ)に記憶されたプログラムが実行されることで、各種機能が実現される。なお、各種機能は、ハードウェアである電子回路によって実現されてもよく、あるいは、少なくとも一部をソフトウェア、すなわちコンピュータ上で実行される処理によって実現されてもよい。
【0019】
図3に示す距離測定処理は、所定周期ごとに測距装置20により実行されるものである。最初に、測距装置20は、ステレオカメラ10から左右の撮影画像(
図4(a),
図4(b)参照)を入力する(ステップS101)。次に、測距装置20の前処理部30は、前処理を実行する(ステップS102)。
【0020】
ステップS102において、前処理部30は、ステレオカメラ10のパラメータや歪み係数等を算出するカメラキャリブレーションや、ステレオカメラ10から取得(入力)した左右の撮影画像に対して、算出されたパラメータなどを用いた平行化処理(レクティフィケーション)を実施する。
【0021】
次に、測距装置20の視差算出部40は、前処理が実行された左右の撮影画像に基づいて、対応点検索を行い、視差を算出し、視差画像(距離画像)を生成する(ステップS103)。また、視差算出部40は、左右の撮影画像の画素毎又は視差毎に相関係数(相関値)が算出された相関空間を設定し、動的計画法を用いて、その相関空間全体を使用して視差を推定(最適化)する(ステップS104)。このステップS103,S104は、例えば、SGM(Semi Global Matching)やMPV(Multi Path Viterbi)の手法を利用して実行される。このステップS103,S104により、
図2(d)に示すような視差画像(修正前)を取得することができる。
【0022】
測距装置20の画像識別部50は、左カメラ12からの左撮影画像を基準画像として入力し、左撮影画像に対してセグメンテーションを実施し、撮影画像に含まれる撮影対象の種類(ラベル、カテゴリ)を識別するとともに、種類ごとに領域を識別する(ステップS105)。ステップS105では、例えば、画像識別部50は、U-Net等、セマンティックセグメンテーションを利用して、特徴的なカテゴリを形成する画素の集まり(領域)を認識する。
【0023】
ステップS105において、本実施形態の画像識別部50は、撮影画像を、空のカテゴリ、路面のカテゴリ、物体のカテゴリに識別し、左撮影画像を、空であること示す空領域、路面であること示す路面領域、物体であること示す物体領域に識別する。このステップS105により、
図2(c)に示すように、撮影対象の種類及びその領域が識別される。
【0024】
なお、ステップS105の処理を実行するタイミングは、ステップS101以降であれば、任意に変更してよい。また、ステップS102~S104の処理のいずれかの処理と平行して実施してもよい。
【0025】
そして、視差修正部60は、画像識別部50により識別された撮影対象の種類及びその領域に応じて、視差算出部40により算出された視差を修正する(ステップS106)。具体的には、視差修正部60は、画像識別部50により撮影対象の種類が空であると識別された空領域では、入力された左右の撮影画像によって取りうる視差のうち、最も遠方であることを示す視差以下の値に修正する。本実施形態では、視差修正部60は、空領域における視差を、無限遠となるように修正する。
【0026】
また、視差修正部60は、画像識別部50により撮影対象の種類が路面であると識別された路面領域では、視差算出部40により生成された視差画像において、縦方向における座標と、当該座標における視差との関係性を特定する。視差画像において、縦方向とは奥行方向に相当する。そして、凹凸がなく、平坦な一般的な路面が撮影された場合、視差画像の路面領域では、手前側(下側)から奥側(上側)に向かって視差が徐々に小さく(距離が長く)なることがわかっている。すなわち、路面領域では、視差画像の縦方向における座標と、当該座標における視差との関係性が、
図5(c)に示すように、ほぼ直線状となることがわかっている。そこで、視差修正部60は、路面領域では、縦方向における座標と、当該座標における視差との関係性を近似式(関数)で表現し、近似式により表される直線から所定値以上離れた視差が存在する場合、当該近似式に近づけるように視差を修正する。
【0027】
例えば、
図5(a)の修正前の視差画像において楕円で示すように、路面領域において誤差が生じた場合、
図5(c)に示すように、関係性を示す直線から所定値以上離れた位置に視差が出現する。そこで、視差修正部60は、関係性を示す直線に近づけるように(本実施形態では、一致させるように)、当該座標における視差を修正する。これを路面領域全体に対して繰り返し行うことにより、
図5(b)に示すように、路面領域では、手前側(下側)から奥側(上側)に向かって視差が徐々に小さくなる。
【0028】
また、視差修正部60は、視差算出部40により生成された視差画像の縦方向において、路面領域よりも上方に、物体であると識別された物体領域が存在する場合であって、当該物体領域内に、路面領域における最小視差よりも大きな視差が存在する場合には、当該視差を小さくするように修正する。
【0029】
つまり、路面領域よりも上方に、物体であると識別された物体領域が存在する場合であって、当該物体領域内に、路面領域における最小視差よりも大きな視差が存在する場合、そのまま解釈すると、物体の一部が路面よりも近くに存在し、物体の一部が浮かんでいることとなる。このような視差は、通常、異常である。
【0030】
そこで、視差修正部60は、当該視差を小さくするように修正する。具体的には、視差修正部60は、当該視差を、物体領域のうち、路面領域よりも上方に存在する領域における他の視差(周辺視差)と一致させるように修正する。
【0031】
そして、視差修正部60は、画像識別部50により識別された撮影対象の種類及びその領域に応じて、視差算出部40により算出された視差を修正した後、外部装置に修正後の視差画像を出力する。
【0032】
以上のように、視差が修正されることによる作用について説明する。
【0033】
図6(a)に示すような撮影画像が取得された場合、修正前の視差画像は、
図6(b)に示すような画像となる。つまり、楕円で示すように、空領域に、視差の誤差が生じており、路面領域において視差の誤差が生じている。この視差画像が、視差修正部60により修正されると、
図6(c)に示すように、空領域における誤った視差が、無限遠の視差に修正される。また、路面領域における誤った視差が、修正され、手前側(下側)から奥側(上側)に向かって視差が徐々に小さくなる。
【0034】
図7(a)に示すような撮影画像が取得された場合、修正前の視差画像は、
図7(b)に示すような画像となる。つまり、破線で示すように、空領域に、視差の誤差が生じており、物体領域において視差の誤差が生じている。この視差画像が、視差修正部60により修正されると、
図7(c)に示すように、空領域における誤った視差が、無限遠の視差に修正される。また、物体領域における誤った視差が、小さくなるように修正され、周辺視差と一致するようになっている。
【0035】
本実施形態の構成により、以下の効果を有する。
【0036】
空や路面など、複数の撮影画像において対応情報が少ない箇所であっても、視差修正部60は、画像識別部50により識別された撮影対象の種類及びその領域という知識を利用して、適切に視差を修正することができる。このため、視差、すなわち、距離を精度よく算出することが可能となる。
【0037】
視差修正部60は、複数の撮影画像において対応情報が少ない空領域では、複数の撮影画像によって取りうる視差のうち、最も遠方であることを示す視差以下の値(本実施形態では無限遠)に修正する。これにより、空領域における視差が、最も遠方であることを示すように、適切に修正することができる。
【0038】
凹凸がなく、平坦な一般的な路面が撮影された場合、視差画像の路面領域では、手前側(下側)から奥側(上側)に向かって視差が徐々に小さく(距離が長く)なることがわかっている。すなわち、路面領域では、視差画像の縦方向における座標と、当該座標における視差との関係性が、
図5(c)に示すように、ほぼ直線状となることがわかっている。そこで、視差修正部60は、路面領域では、縦方向における座標と、当該座標における視差との関係性を特定し、当該関係性から所定値以上はずれた視差が存在する場合には、当該関係性に近づけるように視差を修正している。これにより、路面領域では、手前側(下側)から奥側(上側)に向かって視差が徐々に小さくなり、路面領域における視差の誤りが修正される。
【0039】
視差画像において、路面領域よりも上方に、物体であると識別された物体領域が存在する場合であって、当該物体領域内に、路面領域における最小視差よりも大きな視差が存在する場合、そのまま解釈すると、物体の一部が路面よりも近くに存在し、物体の一部が浮かんでいることとなる。このような視差は、通常、異常である。そこで、視差算出部40により生成された視差画像の縦方向において、路面領域よりも上方に、物体であると識別された物体領域が存在する場合であって、当該物体領域内に、路面領域における最小視差よりも大きな視差が存在する場合には、当該視差を小さくするように修正することとした。具体的には、視差修正部60は、当該視差を、物体領域のうち、路面領域よりも上方に存在する領域における他の視差(周辺視差)と一致させるように修正するようにした。これにより、物体領域における視差の誤りが適切に修正される。
【0040】
視差算出部40は、左右の撮影画像の画素毎又は視差毎に相関値が算出された相関空間を設定し、動的計画法を用いて、その相関空間全体を使用して視差を推定する。これにより、全体として視差が適切に推定される一方で、誤差の領域が広がる可能性がある。そこで、上記視差修正部60による誤差の修正を行うことにより、このような誤差を抑制することが可能となる。
【0041】
(他の実施形態)
・上記実施形態において、車両に電柱など長尺物が積載されている場合、長尺物の一部が車両からはみ出し、路面から実際に浮いている状態である可能性がある。このような場合、路面領域よりも上方に、物体であると識別された物体領域が存在し、かつ、当該物体領域内に、路面領域における最小視差よりも大きな視差が存在することとなる。上記実施形態では、このような場合、視差修正部60により視差が修正されていたが、所定の条件を満たす場合には、修正しなくてもよい。
【0042】
すなわち、視差修正部60は、物体領域内に存在する視差の相関係数が所定値以上であって、かつ、当該相関係数となる視差が1つしかない場合、視差を修正しないようにしてもよい。または、視差修正部60は、着目した画素が物体のうち車両であると識別された領域内に存在する場合、視差を修正しないようにしてもよい。これにより、車両に電柱など長尺物が積載されている場合に視差が誤って修正されてしまうことを抑制できる。
【符号の説明】
【0043】
10…ステレオカメラ、11…右カメラ、12…左カメラ、40…視差算出部、50…画像識別部、60…視差修正部。