(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】運転支援装置および運転支援方法、プログラム
(51)【国際特許分類】
H04N 7/18 20060101AFI20221220BHJP
G06T 3/00 20060101ALI20221220BHJP
G08G 1/16 20060101ALI20221220BHJP
【FI】
H04N7/18 J
G06T3/00 745
G08G1/16 D
(21)【出願番号】P 2020532438
(86)(22)【出願日】2019-07-24
(86)【国際出願番号】 JP2019028984
(87)【国際公開番号】W WO2020022373
(87)【国際公開日】2020-01-30
【審査請求日】2020-11-10
(31)【優先権主張番号】P 2018140768
(32)【優先日】2018-07-26
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】稲垣 和樹
【審査官】佐野 潤一
(56)【参考文献】
【文献】特開2015-226146(JP,A)
【文献】特開2001-010428(JP,A)
【文献】特開2013-054720(JP,A)
【文献】特開2007-091157(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/18
G06T 3/00
G08G 1/00
(57)【特許請求の範囲】
【請求項1】
移動体の周囲の画像を撮影する撮影装置から撮影画像を取得する撮影画像取得部と、
角度センサから取得した
前記移動体の水平面に対する傾き
が所定の閾値未満の場合に、前記移動体の最上部の位置に相当する基準線を前記撮影画像の基準水平位置に一致させるように前記撮影画像を補正した指示画像を生成
し、当該生成した前記指示画像を、運転手が視認可能なモニタに表示する指示画像生成部と、
を備える運転支援装置。
【請求項2】
前記撮影装置は、前記移動体の後方の撮影範囲の画像を撮影するように、前記移動体の上部に取り付けられている
請求項1に記載の運転支援装置。
【請求項3】
前記指示画像生成部は、前記指示画像内に前記基準線を表示するようにした、請求項1または請求項2に記載の運転支援装置。
【請求項4】
前記移動体の傾きを検知するセンサからの傾き情報であって、前記撮影装置の水平方向が水平面と平行である場合を基準とした、前記撮影装置の光軸回りのロール角、ピッチ角、ヨー角を示す傾き情報に基づいて、前記移動体の傾きを判定する傾き判定部を、備え、
前記指示画像生成部は、前記移動体の傾きが所定の傾度以上の場合には、前記指示画像において前記基準線を表示しない、請求項3に記載の運転支援装置。
【請求項5】
前記指示画像生成部は、前記撮影画像における前記移動体の両側面側に沿って所定距離後方に延伸した進行予測線を前記指示画像内に表示するとともに、前記進行予測線上の前記所定距離後方の点を結ぶ線と、前記進行予測線上の点を一端とする垂線と、前記移動体の最上部の位置を示す前記基準線と、により構成される移動体仮想垂直面を前記指示画像内に表示する、
請求項1乃至請求項4の何れか一項に記載の運転支援装置。
【請求項6】
前記指示画像生成部は、前記撮影画像における前記移動体の両側面側に沿って所定距離後方に延伸した進行予測線と、前記進行予測線上の前記所定距離後方の点を結ぶ線と、により構成される移動体後方移動面を前記指示画像内に表示する、
請求項1乃至請求項4の何れか一項に記載の運転支援装置。
【請求項7】
移動体の周囲の画像を撮影する撮影装置から撮影画像を取得し、
角度センサから取得した
前記移動体の水平面に対する傾き
が所定の閾値未満の場合に、前記移動体の最上部の位置に相当する基準線を前記撮影画像の基準水平位置に一致させるように前記撮影画像を補正した指示画像を生成
し、当該生成した前記指示画像を、運転手が視認可能なモニタに表示する、
運転支援方法。
【請求項8】
コンピュータに、
移動体の周囲の画像を撮影する撮影装置から撮影画像を取得させて、
角度センサから取得した
前記移動体の水平面に対する傾き
が所定の閾値未満の場合に、前記移動体の最上部の位置に相当する基準線を前記撮影画像の基準水平位置に一致させるように前記撮影画像を補正した指示画像を生成
し、当該生成した前記指示画像を、運転手が視認可能なモニタに表示する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、運転支援装置および運転支援方法、プログラムに関する。
【背景技術】
【0002】
移動体に取り付けられたカメラの撮影画像を表示装置(例えば、モニタ)に表示する技術が知られている。例えば、運転支援装置は、車両に取り付けられたカメラの撮影画像を車内に設置されたモニタに出力する。運転支援装置が車外の画像(例えば、道路、付設物、障害物、歩行者などの画像)をモニタに出力することにより、運転者は、車両の進行方向だけでなく後方の画像を見ながら車両を運転することができ、運転時の危険(運転の障害となりうる事象)を検知することができる。
【0003】
特許文献1は、車両の運転支援装置を開示している。運転支援装置は、車両のステアリング角を検出して、車両の進行方向の画像における進行予測曲線を算出し、車両の高さに応じて地面に対して垂直な矩形の面を所定距離毎に作成して進行予測曲線に沿って表示する。運転者は、進行予測曲線に沿って表示される矩形面を参照することによって、障害物の位置と、障害物に対する車両の高さを認識することができる。
【0004】
特許文献2は、対象物が写った魚眼画像に対して歪補正や正規化処理を行う画像処理装置を開示している。魚眼画像は、例えば、車両の後部に取り付けられた魚眼カメラで撮影されるものであり、リアビューモニタに表示される。
【0005】
非特許文献1は、全方向性カメラで撮影された画像の較正方法を開示している。
【先行技術文献】
【特許文献】
【0006】
【文献】日本国特許第4350838号公報
【文献】日本国特許第6330987号公報
【非特許文献】
【0007】
【文献】Davide Scaramuzza、Agostino Martinelli、Roland Siegwart、「A Toolbox for Easily Calibrating Omnidirectional Cameras」、IROS 2006
【発明の概要】
【発明が解決しようとする課題】
【0008】
運転者が、車両の走行時に障害物との位置関係を広く視認するためには、画角の広い魚眼レンズを有するカメラを用いることがある。しかし、魚眼レンズを具備するカメラで撮影された魚眼画像は撮影態様が歪んでおり、車両(移動体)と障害物との位置関係を把握することが困難である。魚眼レンズを具備するカメラを車両に搭載して、車外の画像を撮影する場合に運転者が車両と障害物との位置関係を正確に把握できるような画像を生成する技術の開発が望まれている。
【0009】
本発明は、上述の課題に鑑みてなされたものであり、移動体(車両)の外部の画像を正確に撮影して出力することにより、運転者による車両の運転を支援する運転支援装置および運転支援方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第一の態様によると、運転支援装置は、移動体の周囲の画像を撮影する撮影装置から撮影画像を取得する撮影画像取得部と、移動体の所定部位の位置を撮影画像内の基準線の位置に一致させた指示画像を撮影画像に基づいて生成する指示画像生成部と、を備える。
【0011】
本発明の第二の態様によると、運転支援方法は、移動体の周囲の画像を撮影する撮影装置から撮影画像を取得し、移動体の所定部位の位置を撮影画像内の基準線の位置に一致させた指示画像を撮影画像に基づいて生成する。
【0012】
本発明の第三の態様によると、プログラムは、コンピュータに、移動体の周囲の画像を撮影する撮影装置から撮影画像を取得させて、移動体の所定部位の位置を撮影画像内の基準線の位置に一致させた指示画像を撮影画像に基づいて生成させる。
【発明の効果】
【0013】
本発明によれば、運転者が移動体(車両)と障害物との位置関係を正確に把握できる画像を生成することができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係る運転支援装置を搭載した移動体(車両)を示す概略図である。
【
図2】本発明の一実施形態に係る運転支援装置とカメラとの接続関係を示す概略図である。
【
図3】本発明の一実施形態に係る運転支援装置のハードウェア構成を示すブロック図である。
【
図4】本発明の一実施形態に係る運転支援装置の機能部を示すブロック図である。
【
図5】カメラにより撮影された魚眼画像に対応する指示画像の例を示す画像図である。
【
図6】本発明の一実施形態に係る運転支援装置の処理手順を示すフローチャートである。
【
図7】本発明の一実施形態に係る運転支援装置に接続されるカメラの座標系の定義を示す模式図である。
【
図8】カメラの回転についてロール・ピッチ・ヨー表現を用いて表現される視点補償ベクトルの説明図である。
【
図9】カメラの回転について2視点間の座標変換の説明図である。
【
図10】カメラの回転について元の視点での座標系と平行化視点座標系の説明図である。
【
図11】画像生成処理対象の魚眼画像(I
F)の一例を示す画像図である
【
図12】画像生成処理において定義される平行化視点座標系の一例を示す座標図である。
【
図13】画像生成処理において、平行化視点が異なる2つの透視投影補正画像と、これら透視投影補正画像から得られる正規化パノラマ画像とを示す画像図である。
【
図14】画像生成処理を示すフローチャートである。
【
図15】本発明の一実施形態による運転支援装置の最小構成を示すブロック図である。
【発明を実施するための形態】
【0015】
本発明に係る運転支援装置および運転支援方法について、添付図面を参酌して、実施形態とともに詳細に説明する。
図1は、本発明の一実施形態による運転支援装置1を搭載した移動体(車両)100を示す概略図である。移動体100は、例えば、トラックであり、後方最上部にカメラ2を搭載している。カメラ2は、魚眼レンズを具備しており、上方撮影範囲境界a1を示す軸と下方撮影範囲境界a2を示す軸を円錐面上に含む円錐範囲を画角に収める魚眼画像を撮影する。
図1において、カメラ2の光軸を符号「O」で示す。
図1において、移動体(トラック)100の後方に存在する障害物を符号「T」で示す。カメラ2の設置位置の地面に対する高さは、移動体100の荷台の後方最上部の高さHに相当する。カメラ2は、移動体100の荷台の後方最上部に設置しなくてもよい。カメラ2を移動体100の荷台の後方最上部に設置しない場合、カメラ2の実際の設置位置の地面を基準とする高さを、移動体100の荷台の後方最上部の高さHに変換して、後述する指示画像を生成する。
【0016】
移動体100では、運転席に運転支援装置1を備えている。運転支援装置1とカメラ2とは、無線又は有線で接続されている。カメラ2は、移動体100の後方の魚眼画像を運転支援装置1へ送信する。運転支援装置1は、一例としてはカーナビゲーション装置である。カメラ2の魚眼画像を変換して指示画像を生成してモニタに出力する。なお、運転支援装置1が生成する指示画像については、後述する。運転者は、移動体100が後方に移動しているときの指示画像により、移動体100の最上部と、移動体100の後方上部に設置された障害物Tとの高さ方向の位置関係を視認する。
【0017】
図2は、運転支援装置1とカメラ2との接続関係を示す概略図である。
図3は、運転支援装置1のハードウェア構成を示すブロック図である。運転支援装置1とカメラ2とは通信接続されている。運転支援装置1は、CPU(Cental Proessing Unit)101、ROM(Read-Only Memory)102、RAM(Random-Access Memory)103、記憶装置104、通信モジュール105、モニタ106、及び傾きセンサ(角度センサ)107などのハードウェア要素を備えた情報処理装置(コンピュータ)である。傾きセンサ107は、移動体100の傾きを検知する。
【0018】
図4は、運転支援装置1の機能部を示すブロック図である。運転支援装置1は、電源が投入されると起動して、予め記憶された運転補助プログラムを実行することにより種々の機能部を実現する。具体的には、運転支援装置1は、制御部11、撮影画像取得部12、指示画像生成部13、傾き判定部14、及び出力部15を備える。
【0019】
制御部11は、運転支援装置1の機能部12乃至15を制御する。撮影画像取得部12は、移動体100の後方最上部に取り付けられたカメラ2から魚眼画像を取得する。指示画像生成部13は、撮影画像に基づいて指示画像を生成する。指示画像は、移動体100の後方最上部の位置を撮影画像の基準位置に一致させて生成される。なお、指示画像の生成方法については後述する。傾き判定部14は、傾きセンサ107から取得した傾き情報に基づいて移動体100の傾きを判定する。出力部15は、指示画像を運転支援装置1のモニタ106に出力する。
【0020】
図5は、カメラ2で撮影された魚眼画像5aに対応する指示画像5b、5cを示す画像図である。
図5の左側に魚眼画像5aが示され、右上側に第一の指示画像5bが示され、右下側に第二の指示画像5cが示される。運転支援装置1は、魚眼画像5aをカメラ2から取得し、歪補正を施して第一の指示画像5bに変換して、モニタ106に出力する。第一の指示画像5bは、水平位置X1を基準位置として生成される。第一の指示画像5bでは、移動体100の高さHに相当する地面からの距離H1に対応する基準線(すなわち、移動体100の最上部に相当する位置の基準線)h1の位置を基準水平位置X1に一致させている。基準水平位置X1は、第一の指示画像5bの最下部から上側にX離れた位置に設定される。第一の指示画像5bは、水平基準位置H1における、移動体100の最上部に相当する基準線h1を一辺とする矩形の移動体仮想垂直面pを少なくとも含む。具体的には、運転支援装置1の指示画像生成部13は、歪補正後の撮影画像における移動体100の両側面に沿う位置において移動体100の所定距離後方まで延伸した2本の進行予測線h2を含めて第一の指示画像5bを生成する。また、指示画像静止部13は、歪補正後の撮影画像において、2本の進行予測線h2に加えて、移動体100の所定距離後方の位置の点を結ぶ線と、当該点を一端とする高さH1の2本の垂線と、基準線h1(すなわち、移動体100の最上部に相当する位置の基準線)とにより移動体仮想垂直面pを形成する。また、2本の進行予測線h2と、移動体100の所定距離後方の位置の点を結ぶ線とにより矩形の移動体後方移動面p2を形成してもよい。そして、運転支援装置1は、移動体仮想垂直面pと移動体後方移動面p2を含む第一の指示画像5bをモニタ106に出力する。これにより、運転者は、移動体100の最上部と側面とのそれぞれについて所定距離後方の位置での障害物との接触の有無を判定することができる。本実施例では、基準水平位置X1は、第一の指示画像5bの縦方向の中央位置に設定される。なお、基準水平位置X1は、第一の指示画像5bの縦方向の中央位置に設定する必要はなく、縦方向の所定位置に設定してもよい。
【0021】
運転支援装置1は、移動体100の傾きが所定の傾度以上である場合、第一の指示画像5bから移動体仮想垂直面pを除外した第二の指示画像5cを生成してもよい。
【0022】
移動体100の荷台後方上部に、ソナーなどの音響センサを設けて障害物を検知してもよい。この場合、ソナーによる障害物の検知に応じて指示画像の表示態様を変更してもよい。例えば、第一の指示画像5bにおいて、移動体100の最上部に相当する位置の基準線h1を点滅することや、色を変更するなどして、基準線h1を強調表示することもできる。また、ソナーを利用して、移動体100が後退するときに音による警告通知も同時に行ってもよい。これにより、移動体100の高さに起因する障害物との衝突の可能性を運転者に事前に知らせることができる。
【0023】
図6は、運転支援装置1の処理手順を示すフローチャートである。次に、運転支援装置1の処理手順(ステップS101乃至S110)について説明する。
運転支援装置1は、移動体100の始動に連動して起動する。運転支援装置1は、移動体100に備わる各種センサからの信号を入力する。一例として、運転支援装置1は、移動体(車両)100のシフトレバーの位置に係る信号を入力する(S101)。運転支援装置1の制御部11は、移動体100のシフトレバーの位置信号がリア(R)を示すか否かを判定する(S102)。制御部11は、シフトレバーの位置信号がリア(R)を示す場合、カメラ2に起動信号を出力する(S103)。カメラ2は、起動信号に応じて起動する。つまり、カメラ2は、起動後に撮影動作を開始して画像(魚眼画像)を撮影し、その撮影画像を運転支援装置1へ送信する。
【0024】
運転支援装置1の撮影画像取得部12は、カメラ2から魚眼画像を取得する(S104)。運転支援装置1の傾き判定部14は、傾きセンサ107から移動体(車両)100の傾き情報を取得する(S105)。そして、指示画像生成部13は、撮影画像取得部12を介して、魚眼画像を取得する。指示画像生成部13は、魚眼画像の歪みを補正して、歪み補正画像を生成する(S106)。なお、撮影画像に対する歪み補正画像の生成処理として、公知の技術を用いてもよい。本実施例における歪み補正画像の生成処理の詳細については、後述する。
【0025】
傾き判定部14は、傾きセンサ107から取得した移動体100の傾きが所定の閾値以上であるか否かを判定する(S107)。傾き判定部14は、移動体100の傾きが所定の傾度(例えば、5度)以上であるか否かの判定結果を指示画像生成部13へ出力する。指示画像生成部13は、移動体100の傾きが所定の閾値未満の場合には、第一の指示画像5bを生成すると判定する。一方、指示画像生成部13は、移動体100の傾きが所定の閾値以上の場合には、第二の指示画像5cを生成すると判定する。
【0026】
指示画像生成部13は、移動体100の傾きが所定の閾値未満の場合、第一の指示画像5bを生成する(S108)。第一の指示画像5bは、歪み補正画像の基準水平位置X1に、移動体100の最上部の位置に合わせた基準線h1を設定し、その基準線h1を一辺とする矩形の移動体仮想垂直面pを含む。また、指示画像生成部13は、移動体仮想垂直面pの底辺を一辺とする移動体後方移動面p2を表示してもよい。なお、運転支援装置1は、歪み補正画像における移動体100の最上部に対応する基準水平位置X1を予め記憶してもよい。
【0027】
指示画像生成部13は、移動体100の傾きが所定の閾値以上の場合、歪み補正画像に移動隊後方移動面p2のみを含む第二の指示画像5cを生成する(S109)。そして、出力部15は、第一の指示画像5b又は第二の指示画像5cをモニタ16に出力する(S110)。
【0028】
上述の処理によれば、撮影画像の縦方向の中央位置に対応する基準水平位置X1に、移動体100の最上部に対応する基準線h1の位置を合わせて生成された第一の指示画像5bがモニタ16に出力されるため、運転者は、障害物と移動体100との後進時の位置関係を把握することができる。
【0029】
上述の処理によれば、魚眼画像の歪みを補正した歪み補正画像を用いて第一の指示画像5bを生成してモニタ16に出力している。つまり、第一の指示画像5bは、障害物と移動体100との位置関係を容易に検知できるように画角の広い魚眼レンズを有するカメラ2により撮影された魚眼画像に基づいて生成されている。このため、運転者は、障害物と移動体100との位置関係を精度良く把握することができる。
【0030】
続いて、本実施形態による運転支援装置1における歪み補正画像(魚眼画像の歪みを補正した画像)の生成処理について、詳細に説明する。なお、下記の歪み補正画像の生成処理は一例であり、他の歪み補正画像の生成手法を用いてもよい。なお、下記の説明では、魚眼画像の「歪み補正」を魚眼画像の「正規化」(又は、「歪み除去」)と呼ぶ。魚眼画像の正規化では、視点は水平面に設定されており、この水平面の基準となる平面(以下、「対象平面(Target Plane)」と呼ぶ)が定められる。対象平面として、正規化を行う対象(Target)である縦長の対象物が接地している平面(接地面)が選択される。例えば、正規化の対象が歩行者の場合、対象平面として道路面や床面などを挙げることができる。また、対象平面は、垂直の壁面又は傾斜のある路面として定義されてもよい。なお、対象平面は、移動体(車両)100の走行時の現実の水平面と必ずしも一致しなくともよい。
【0031】
以下の説明では、対象平面が路面であり、正規化の対象(魚眼画像に映る被写体)が歩行者である場合について説明を行うが、本実施形態の適用対象は路面や歩行者などに限定されるものではない。
【0032】
カメラ2は、リアルタイムで画像を撮影して、その画像を連続的に運転支援装置1に出力する。カメラ2の具体例として、例えば、NTSC(National Television StandardsCommittee)形式の画像、PAL(Phase Alternating Line)形式の画像、各種デジタル形式の画像を出力するビデオカメラ(カムコーダなど)が挙げられる。
【0033】
図3において、傾きセンサ107は、例えば、角度センサである。カメラ2の光軸ベクトルと、被写体となっている対象物の接地面に平行なベクトルと、の相対ベクトルを計測するための情報が提示される。その情報として、カメラ2における光軸回りのロール角(Roll Angle)、光軸のピッチ角(Pitch Angle)、光軸のヨー角(Yaw Angle)が挙げられる(
図7参照)。
【0034】
対象物の接地面(対象平面)を水平面(地面)と想定する場合、角度センサは、カメラ2の光軸が水平方向に平行であり、かつ、カメラ2の傾きがゼロ(すなわち、撮像素子の水平方向が水平面と平行の状態)であるときの値(例えば、後述する角度センサの情報)を初期値として、角度センサの情報と初期値との差分を出力する。
【0035】
対象物の接地面が水平面(地面)でない場合、角度センサは、予め測定された対象物の接地面の水平面に対する角度を考慮して、角度センサの情報と初期値との差分を出力する。また、角度センサとは別に、対象物の接地面の角度を測定する他のセンサ(他の角度センサ)を設置してもよい。このとき、角度センサは、自身のセンシングデータと、他のセンサのセンシングデータとの差分を出力する。
【0036】
運転支援装置1の指示画像生成部13は、歪み補正画像を生成するにあたり、魚眼画像取得処理、視点補償ベクトル取得処理、画像生成処理、及び視点補償ベクトル生成処理を実行する。本実施形態において、魚眼画像取得処理では、カメラ2から運転支援装置1へ出力された画像、すなわち、魚眼画像の画像データを取得する。指示画像生成部13は、魚眼画像の画像データを取得すると、画像データに対して必要な画像領域の切出し処理、解像度及びサイズの調整処理、NTSC形式の画像から奇数フィールド(又は偶数フィールド)の抽出処理、及び画質改善処理などの画像形式についての調整処理を実行してもよい。
【0037】
指示画像生成部13は、視点補償ベクトル取得処理において、視点補償ベクトル生成処理により生成された視点補償ベクトルを取得する。指示画像生成部13は、視点補償ベクトル生成処理において、カメラ2の光軸ベクトルと対象平面に平行なベクトルとの相対ベクトルを、視点補償ベクトルとして生成する。この相対ベクトルは、2つの座標系間の回転を表現するベクトルである。
【0038】
回転の表現方法としては、一般的に、四元数(Quaternion)、オイラー角表現、ロール・ピッチ・ヨー(Roll-Pitch-Yaw)角表現が挙げられ、本実施形態では、いずれの表現手法を採用してもよい。以下の説明では、ロール・ピッチ・ヨー角表現を採用している。
【0039】
図7を参照して、カメラ2の座標と回転軸について説明する。
図7は、本発明の一実施形態に係る運転支援装置1に接続されるカメラ2の座標系の定義を示す模式図である。本実施形態において、相対ベクトルは、少なくともロール(Roll)角及びピッチ(Pitch)角からなる2次元の数値を含んでいる。ロール角及びピッチ角は、カメラ2の光軸を含む水平面(x-z平面)と対象平面とを一致させるために必要な回転角度である。
【0040】
本実施形態では、ヨー(Yaw)角として、魚眼画像の水平視野角の範囲に含まれる任意の角度が指定される。ヨー角は、最終的に生成される画像の水平方向の中心視点を定めるものである。従って、元の魚眼画像の水平視野角を最大限に利用するためには、ヨー角として、現実のカメラ2の光軸におけるヨー角をそのまま用いることが好ましい。
【0041】
図8を参照して、視点補償ベクトルの表現形式について説明する。
図8は、ロール・ピッチ・ヨー表現を用いて表現される視点補償ベクトルを説明するための図である。
図8を参照すると、ロール角とピッチ角は下記のように定義される。なお、視点補償ベクトルを構成するロール角及びピッチ角を、特に「相対ロール角」及び「相対ピッチ角」と表現する。
【0042】
図8に示すように、カメラ2の座標について、x-z平面から対象平面とロール角の一致したx´-z平面へのz軸回りの回転角度は、相対ロール角α
0と定義される。また、x´-z平面から対象平面と平行な平面へのx´軸回りの回転角度は、相対ピッチ角β
0と定義される。
【0043】
そして、任意のヨー角γ0が与えられると、視点補償ベクトルVは、例えば、式(1)で表される。任意のヨー角γ0がカメラ2の光軸によって規定される場合には、式(1)において「γ0=0」が成立する。
【0044】
【0045】
視点補償ベクトルVを用いることにより、2視点間の座標変換を行うことができる。
図9は、本実施形態において行なわれる2視点間の座標変換を説明するための図である。
図9を参照すると、一般に、物理空間上のある点に対する座標変換は、座標系1から座標系2に対する外部パラメータ行列Kを用いて式(2)で表される。
【0046】
【0047】
ただし、「pチルダ(i)」は、座標系iにおける位置座標の同次表現である。同次表現は式(3)によって表される。
【0048】
【0049】
式(2)におけるKは、一般に回転行列R、および並進ベクトルtを用いて式(4)で表される。
【0050】
【0051】
回転行列Rは、ロール・ピッチ・ヨー表現においては、ロール角α、ピッチ角β、及びヨー角γを用いて式(5)で表される。
【0052】
【0053】
ここで、式(1)で規定された視点補償ベクトルVによって変換された視点を「平行化中心視点(central horizontalized viewpoint)」と表記し、視点が存在する座標系を「平行化中心視点座標系」と表記することとする。
【0054】
また、対象平面に平行であり、且つ、平行化中心視点から任意のヨー角γだけ回転させて得られた視点の集合を「平行化視点(horizontalized viewpoints)」と表記し、それぞれの視点における座標系を「平行化視点座標系」と表記することとする。
図10は、本実施形態で用いられる元の視点での座標系と平行化視点座標系とを説明するための図である。
【0055】
平行化視点座標系は、任意のヨー角γ、ロール角及びピッチ角からなる視点補償ベクトルb(α0、β0)による座標変換から得られる。平行化視点座標への座標変換は、式(4)及び式(5)において(α、β)=(α0、β0)とした外部パラメータ行列Khrz(γ)を用いて、式(6)により表される。
【0056】
【0057】
但し、元の視点(original viewpoint)での座標系の座標と、平行化視点座標系における座標は、式(7)及び式(8)で表すものとする。
【0058】
【0059】
【0060】
平行化中心視点は、元の視点との間で原点を共有するとすれば、Khrz(γ)において並進ベクトルtは、t=(0,0,0)Tとおくことができる。
【0061】
以上のように、視点補償ベクトルVが与えられると、元の視点での座標系から、平行化視点座標系への座標変換Khrz(γ)を定義することができる。本実施形態では、指示画像生成部13は視点補償ベクトル生成処理において、平行化変換行列(horizontal transform matrix)Khrz(γ)を生成する。
【0062】
指示画像生成部13は、本実施形態では、正規化画像の水平方向の全画素数に応じて、視点を設定する。また、指示画像生成部13は、視点毎に、歪み補正を行なった後に、歪み補正後の画像を垂直方向に切り出して、各視点からの視線が入射するスライス画像を抽出する。そして、指示画像生成部13は、複数のスライス画像を予め定めた順序で水平方向に配置して、1つの正規化画像を生成する。
【0063】
具体的には、指示画像生成部13は、魚眼画像取得処理において取得された魚眼画像に対し、視点補償ベクトルVを用いて、平行化視点の集合を設定する。次いで、指示画像生成部13は、水平方向の視野範囲を任意に分割し、各平行化視点の集合(平行化視点列)のそれぞれの平行化視点座標系において、透視投影近似による歪み補正を実行する。そして、指示画像生成部13は、各視点の中心を通る垂直方向の画像要素を、平行化視点列の順序で水平方向に並べ、これらを連結することで、一枚の合成画像を生成する。以下、指示画像生成部13による処理を詳細に説明する。
【0064】
<透視投影近似による歪み補正>
透視投影近似による歪み補正について具体的に説明する。透視投影近似による歪み補正(透視投影補正)は、一般に、カメラモデル、及びカメラモデルにおける校正済みの内部パラメータが既知であれば、以下の方法で求めることができる。なお、透視投影近似による歪み補正は、既存の技術で実現できるものであるが、参考として簡単に説明する。
【0065】
一般のカメラ座標系における実空間上の点p=(x,y,z)Tと、魚眼画像上の点との関係式は式(9)乃至式(11)によってモデル化できる。但し、式(9)におけるρ´は式(12)によって表される。
【0066】
【0067】
【0068】
【0069】
【0070】
式(9)及び式(11)における(u´,v´)は、アフィン歪み(affine strain)のない理想的な魚眼画像の座標(中心を原点とする)を示している。式(12)における(u″,v″)は、実際の魚眼画像の座標(左上を原点とする)を示し、(u0″,v0″)は、実際の魚眼画像の中心座標を示している。また、式(11)における2×2の正方向行列は、アフィン変換(affine transformation)行列である。
【0071】
そして、式(10)の係数を4次までに近似して得られるパラメータは、魚眼レンズの歪み特性及び魚眼レンズの光軸と撮像素子との位置関係のずれなどから決まるカメラの内部パラメータである。なお、内部パラメータを式(13)に示す。
【0072】
【0073】
そして、式(13)に示すパラメータは、非特許文献1に開示されているキャリブレーション手法によって予め求めることができる。
【0074】
ここで、座標系のz軸に垂直な画像平面(z=zd)を設定すると、画像平面(z=zd)上で定義される画像の座標(ud,vd)に対して、式(9)~式(11)の関係式を用いることで、対応する魚眼画像の座標(u″,v″)を求めることができる。従って、画像の座標(ud,vd)に対応する魚眼画像の座標(u″,v″)の画素値を参照して、画像の座標(ud,vd)における画素値を魚眼画像の座標(u″,v″)の画素値に置き換えることで、透視投影近似による歪み補正後の画像(以下、「透視投影補正画像」と表記する)を生成することができる。
【0075】
なお、魚眼画像座標の画素値は、モノクロ画像であれば1チャンネルの輝度値で表され、カラー画像ではRGBの3チャンネルの輝度値で表される。そして、z=zdの値は投影面と焦点からの距離を表し、これが透視投影補正画像のスケールを決定するパラメータである。
【0076】
<透視投影近似による歪み補正の効果>
視点補償ベクトルによって平行化変換行列が与えられるため、任意の平行化視点における透視投影画像平面を定義できる。その結果、指示画像生成部13は、平行化視点毎に、それぞれの視点における透視投影補正画像を上記の方法を用いて生成することになる。
【0077】
透視投影補正画像では、直線性が復元される一方で、周辺部に向かうにしたがって射影歪みにより被写体のスケール歪みが大きくなることが知られている。従って、指示画像生成部13は、視点毎に生成された透視投影補正画像の中心列のみを抽出し、これら中心列を水平方向に連結する。これにより、水平方向のスケール歪みが抑制され、且つ、垂直方向の直線性が保たれた、連続した一枚画像が生成される。これによって、元の魚眼画像に撮像された対象平面上に存在する縦長の立体物が全て一貫したスケールを持ち、且つ、形状歪みの少ない、一枚の正規化画像が合成される。
【0078】
<画像生成部による具体的処理>
指示画像生成部13による処理の具体例について以下に説明する。元の魚眼画像(IF)から各平行化視点座標系で生成される透視投影補正画像(IP)において、その中心を通る画像列を「正規化スライス画像(IS)」と表記する。また、最終的な出力画像を「正規化パノラマ画像(IH)」、と表記する。本実施の形態では、正規化パノラマ画像を生成するまでの一連の機能が指示画像生成部13により実現される。
【0079】
まず、指示画像生成部13において、最終的に出力される画像のサイズ(幅、高さ)=(W0、H0)が定義される。次に、指示画像生成部13は、正規化パノラマ画像の合成に用いる平行化視点列を定義する。視点のロール角及びピッチ角は、視点補償ベクトルベクトルVによって決定されているので、ここではヨー角φiの組Φを定義すればよい。以下では、ヨー角がφiである平行化視点を、平行化視点φiとも表記することもある。Φは、画像の横ピクセル数と同数の系列とし、式(14)で表される。
【0080】
【0081】
Φは、元の魚眼画像の水平視野範囲内で任意に設定できる。Φの上限と下限とが、正規化パノラマ画像で描画される水平視野範囲(FOV_H)を決定する。例えば、水平視野範囲がFOV_H=185°を確保するとき、平行化視点列の範囲は、式(15)に示す範囲となる。
【0082】
【0083】
一般に、魚眼画像は実空間上の球体面モデルに投影された点群の一方向への写像としてモデル化される。このとき球体中心は光学中心と一致すると仮定できる。各平行化視点座標系の原点は光学中心と一致させているため、Φは、式(16)に示すように、等分解能で定義できる。但し、式(16)において、i=0、・・・、W0-1である。
【0084】
【0085】
各平行化視点座標系(式(17))上の点は、平行化変換行列Khrz(γ)を用いて、元のカメラ座標系の点mチルダが「(x,y,z,1)T」と表されることから、式(18)で求められる。
【0086】
【0087】
【0088】
上述したように、平行化視点座標系(式(17))のz軸(式(19))に垂直な画像平面(式(20))を設定すると、画像平面上で定義される画像座標(式(21))において、元の魚眼画像上の画素(u″,v″)との対応関係が求められる。魚眼画像上の画素の点を画像座標(式(21))上へ投影した画像が透視投影補正画像である。また、式(20)の定数は、投影面と焦点からの距離を表し、これが透視投影補正画像のスケールを決定するパラメータである。
【0089】
【0090】
【0091】
【0092】
透視投影補正画像(IP)の中心を通る垂直方向の画像列が、正規化スライス画像(IS)である。正規化スライス画像(IS)は、透視投影補正画像(IP)を透視投影画像平面に投影する際に、投影画像の横サイズを1ピクセルに設定する条件で生成される透視投影補正画像(IP)の特別なバリエーションである。なお、正規化スライス画像(IS)を生成するためにより大きな横サイズをもつ別の透視投影補正画像(IP)を生成した後に切り出しを行う必要はない。
【0093】
各平行化視点座標系(式(17))において、正規化スライス画像(式(22))を生成するときのスケールパラメータ(式(23))は、通常、各平行化視点座標系において同じ値で定義され、最終的な正規化パノラマ画像における縦横のアスペクト比を考慮して設定する必要がある。スケールパラメータは、その値を直接定義するだけでなく、後述するようにその他のパラメータから間接的に定義することもできる。
【0094】
【0095】
【0096】
本実施形態では、各平行化視点座標系(式(17))における正規化スライス画像(式(22))を、左から平行化視点のヨー角φiの系列Φの順に並べて得られた合成画像を、正規化パノラマ画像(IH)とする。正規化パノラマ画像(IH)の各要素は、式(24)で定義される。但し、式(24)において、かっこ内は画像座標を示している。また、i=0、1、・・・W0-1、j=0、1、・・・H0-1である。
【0097】
【0098】
次に、
図11乃至
図13を参照して、魚眼画像の一例とそれに対する画像生成処理について説明する。
図11は、本実施形態において対象となる魚眼画像(I
F)の一例を示す模式図である。
図11において、魚眼画像には、地面を対象平面として、下向きの視点で撮影された3名の人物(PersonA、PersonB、PersonC)が写っている。
【0099】
図11に示す魚眼画像に対して運転支援装置1による処理が実行される。これにより、
図12に示すように、各平行化視点座標系(式(17))において、透視投影画像平面が定義される。
図12は、本実施形態において定義される平行化視点座標系の一例を示す図である。また、透視投影画像平面における座標は、式(21)によって表される。そして、透視投影画像平面上に、正規化スライス画像(I
S)を含む任意の画像サイズの透視投影補正画像(I
P:式(25))が生成される。
【0100】
【0101】
図13は、平行化視点が異なる2つの透視投影補正画像と、これら透視投影補正画像から得られる正規化パノラマ画像とを示している。
【0102】
具体的には、
図13の左側の画像は、平行化視点(式(26))で生成される透視投影補正画像(式(27))と正規化スライス画像(式(28))で形成されている。
図13の中央の画像は、平行化視点(式(29))で生成される透視投影補正画像(式(30))と正規化スライス画像(式(31))で形成されている。
【0103】
【0104】
【0105】
【0106】
【0107】
【0108】
【0109】
図13の右側の画像は、定義された平行視点列(式(32))における全ての正規化スライス画像によって生成された正規化パノラマ画像(I
H)の一例である。
図13に示したように、正規化スライス画像(式(28))及び(式(31))を含むすべての正規化スライス画像を要素として、正規化パノラマ画像(I
H)が合成される。
【0110】
【0111】
<スケールパラメータの間接的決定処理>
指示画像生成部13は、視点毎の透視投影近似による歪み補正において、平行化視点座標系における投影平面の原点に対する距離を、正規化パノラマ画像における、サイズ、水平方向における視野角の範囲、及びアスペクト比に基づいて決定する。
【0112】
つまり、透視投影補正画像及び正規化スライス画像を生成する際の画像スケールは、上述したように各座標における投影面の距離|zd|によって決まる。しかし、実用上はこれを直接指定するよりも、正規化パノラマ画像の視野範囲及び画像サイズなどの拘束条件を満たすように間接的に決定した方が便利な場合がある。
【0113】
ここでは、画像のサイズ、水平方向における視野角の範囲、画像のアスペクト比を指定してスケールを求める方法を示す。ここで、正規化パノラマ画像のサイズ(幅、高さ)を、(W0,H0)とし、正規化パノラマ画像に投影する水平方向の視野角の大きさをAX、垂直方向の視野角の大きさをAyとする。また、正規化パノラマ画像における縦/横の(角度/ピクセル)比を式(33)で表す。ただし、式(33)において、Ayの上限値を180度とする(式(34))。
【0114】
【0115】
【0116】
また、スケール|zd|は、ステップ(a)及び(b)によって決定される。
【0117】
ステップ(a):(W0、H0、AX、μ)を拘束条件として、式(35)及び式(36)を用いて、(|zd|,Ay)を決定する。
【0118】
【0119】
【0120】
ステップ(b):式(37)が成立するときに、式(38)乃至式(40)を用いた再計算により、(AX、Ay、|zd|)を式(41)で置き換える。
【0121】
【0122】
【0123】
【0124】
【0125】
【0126】
<ルックアップテーブル(LUT)処理による高速化>
本実施形態では、指示画像生成部13は視点補償ベクトル取得処理において、視点補償ベクトルとして、対象物を接地面に平行な方向から撮影して得られる画像上の座標と、魚眼画像上の座標と、の対応付けを記述したテーブルを取得する。
【0127】
具体的には、本実施形態では、予め定められた固定の視点補償ベクトルが用いられる場合は、指示画像生成部13は視点補償ベクトル生成処理において、正規化パノラマ画像上の座標(uH,vH)から対応する元の魚眼画像上の座標(u″,v″)への対応付けを記述した参照テーブルを予め生成する。この場合、入力画像系列に対する実際の正規化パノラマ画像の生成処理は、ルックアップテーブル(LUT:Look-Up Table)を参照しながら、正規化パノラマ画像を生成する、LUT処理に置き換えられる。
【0128】
例えば、オフラインでルックアップテーブルを生成し、オンラインの画像入力系列に対して、順次正規化パノラマ画像を生成する処理をLUT処理で実行することにより、魚眼画像から正規化パノラマ画像の生成を高速に処理することができる。この態様では、動作クロックの低いプロセッサ上への実装を必要とする用途に好適な画像処理システムを構築できる。
【0129】
具体的なルックアップテーブルの生成方法としては、下記のような方法が考えられる。まず、元の魚眼画像のサイズ(Win,Hin)の幅と高さを持つ、2チャンネルの行列(インデックスマップと呼ぶ)を用意する。そして、1つ目のチャンネルの行列であるXインデックスマップ(Xind)の各列には、対応する(u″)の座標値を与え、2つめのチャンネルの行列であるYインデックスマップ(Yind)の各行には対応する(v″)の座標値を与える。
【0130】
すなわち、インデックスマップを、式(42)及び式(43)で定義する。但し、式(44)が条件となる。
【0131】
【0132】
【0133】
【0134】
指示画像生成部13は、(Xind)及び(Yind)それぞれを入力として、正規化パノラマ画像の生成を実行すると、指示画像生成部13は視点補償ベクトル生成処理においてそれぞれの正規化パノラマ画像から、LUTマップ(XLUT)及び(YLUT)を生成する。LUTマップにおいては、(XLUT)及び(YLUT)の各座標(uH,vH)には、それぞれ対応する元の魚眼画像座標(u″)及び(v″)の値が格納されている。よって、(uH,vH)の各座標と魚眼画像上の座標(u″,v″)との一対一の対応関係が得られることになる。
【0135】
このようにして作成されたLUTマップは、例えば、1対1の対応関係(式(45))を一行ずつ列挙したテキストファイル形式によって、ルックアップテーブルファイルとして保存することができる。
【0136】
【0137】
LUT処理では、指示画像生成部13は、まず、予め生成されたルックアップテーブルファイルを読み込む。そして、指示画像生成部13は、ルックアップテーブルに記述された正規化パノラマ画像上の座標(uH,vH)と、元の魚眼画像における座標(u″,v″)とを対応付ける情報に従って、逐次、正規化パノラマ画像座標に対応する魚眼画像上の画素値を参照し、正規化パノラマ画像を生成する。
【0138】
次に、本実施形態における運転支援装置1の動作について
図14を用いて説明する。
図14は、本実施形態における画像生成処理を示すフローチャートである(ステップS1乃至S3)。
【0139】
図14に示すように、指示画像生成部13は、魚眼画像取得処理において、カメラ2から魚眼画像を取得する(S1)。次に、指示画像生成部13は視点補償ベクトル取得処理において、視点補償ベクトルを取得する(S2)。
【0140】
次に、指示画像生成部13は、ステップS1で取得された魚眼画像と、ステップS2で取得された視点補償ベクトルとを用いて、正規化パノラマ画像(歪み補正画像)を生成する(S3)。
【0141】
具体的には、指示画像生成部13は、カメラ2で撮影された魚眼画像に対し、視点補償ベクトルを用いて、平行化視点の集合を設定する。次いで、指示画像生成部13は、水平方向の視野範囲を任意に分割し、各平行化視点それぞれの平行化視点座標系において、透視投影近似による歪み補正を実行する。そして、指示画像生成部13は、各視点の中心を通る垂直方向の画像要素を、平行化視点列の順序で水平方向に並べ、並べられた画像要素を連結することで、一枚の正規化パノラマ画像(歪み補正画像)を生成する。その後、指示画像生成部13は、正規化パノラマ画像(歪み補正画像)を用いて第一の指示画像5bまたは第二の指示画像5cを生成する。
【0142】
以上、ステップS1~S3の実行により、一枚の正規化パノラマ画像が生成される。本実施形態では、ステップS1~S3は、所定の間隔で繰り返し実行されるので、正規化パノラマ画像(歪み補正画像)を用いた第一指示画像5bまたは第二指示画像5cは連続して出力される。
【0143】
図15は運転支援装置1の最小構成を示す図である。運転支援装置1は少なくとも撮影画像取得部12と指示画像生成部13とを備える。撮影画像取得部12は、移動体100に取り付けられたカメラ2から撮影画像を取得する。指示画像生成部13は、移動体100の所定部位の位置を撮影画像内の基準位置に一致させた指示画像を撮影画像に基づいて生成する。
【0144】
上述の運転支援装置1は、コンピュータシステムを有している。そして、上述した各処理過程を示すプログラムは、コンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上述の処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0145】
上述のプログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0146】
上述の実施形態では、カメラが移動体の後方に設置され、移動体が後方に移動する場合について説明した。しかし、これに限定されるものではない。例えば、カメラが移動体の前方や側方に設置され、移動体が前方や側方に移動する場合にも本発明を適用することができる。カメラが移動体の前方に設置されている場合には、移動体(車両)が高さ制限のあるトンネルを通過する際に運転者がトンネル入り口の高さと移動体の高さとの位置関係をより正確に把握することができる。
【0147】
最後に、本発明は上述の実施例に限定されるものではなく、添付した請求の範囲に定義される範囲内の種々の変形例や設計変更をも包含するものである。例えば、撮影装置は、必ずしも移動体(車両)に設置する必要はなく、移動体が通過するゲートや倉庫の出入り口に設置してもよく、撮影画像が移動体に設置された端末に送信されて、操作者が移動体と障害物との位置関係を把握するようにしてもよい。或いは、移動体の移動範囲に設置した撮影装置を用いて、移動体と障害物を含む画像を撮影して、操作者が撮影画像を視認しながら、移動体を遠隔操作することも可能である。
【0148】
本願は、2018年7月26日に、日本国に出願された特願2018-140768号に基づき優先権を主張し、その内容をここに援用する。
【産業上の利用可能性】
【0149】
本実施形態は、移動体に取り付けた撮影装置により撮影した画像を補正して、移動体の操作者に視覚情報を提示して、移動体の後方に存在する障害物との位置関係を把握させるものである。移動体は、車両に限定されるものではなく、操作者により遠隔操作可能なドローンやオブジェクトであってもよい。この場合、操作者は、ドローンやオブジェクトに搭載した撮影装置から送信される画像を視認しながら、遠隔操作することができる。
【符号の説明】
【0150】
1 運転支援装置
2 カメラ(撮影装置)
5a 魚眼画像
5b 第一の指示画像
5c 第二の指示画像
11 制御部
12 撮影画像取得部
13 指示画像生成部
14 傾き判定部
15 出力部
101 CPU
102 ROM
103 RAM
104 記憶装置
105 通信モジュール
106 モニタ
107 傾きセンサ(角度センサ)