(57)【要約】      （修正有）【課題】画像に写る物体が曲線を含む線分によって構成されている場合であっても、画像に写る物体の３次元形状を安定的に推定する３次元形状推定装置を提供する。【解決手段】３次元形状推定装置１０の輪郭線抽出部２６は、各時刻において撮像された画像の各々から、画像に写る物体の輪郭を表す輪郭線を抽出する。輪郭線分割部２８は、輪郭線抽出部によって抽出された各時刻の画像の前記輪郭線の各々を、分岐点により部分輪郭線へ分割する。部分輪郭線対応付部３０は、輪郭線分割部によって得られた部分輪郭線の各々に基づいて、各時刻の画像の部分輪郭線の各々を対応付ける。３次元形状推定部３２は、対応付け結果に基づいて、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を推定する。【選択図】図１
2020159748.tif 000002
【特許請求の範囲】
【請求項１】
時刻ｔにおいて撮像された画像と時刻ｔ＋１において撮像された画像の各々から、前記画像に写る物体の輪郭を表す輪郭線を抽出する輪郭線抽出部と、
前記輪郭線抽出部によって抽出された各時刻の前記画像の前記輪郭線の各々を、分岐点により部分輪郭線へ分割する輪郭線分割部と、
前記輪郭線分割部によって得られた前記部分輪郭線の各々に基づいて、時刻ｔの前記画像の前記部分輪郭線の各々と、時刻ｔ＋１の前記画像の前記部分輪郭線の各々と、を対応付ける部分輪郭線対応付部と、
前記部分輪郭線対応付部による対応付け結果に基づいて、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定する３次元形状推定部と、
を含む３次元形状推定装置。
【請求項２】
前記３次元形状推定部は、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たし、かつ時刻ｔの前記画像に含まれる前記部分輪郭線を構成する前記画素と、時刻ｔ＋１の前記画像に含まれる前記部分輪郭線との間の距離が小さくなるように、各部分輪郭線についての平面パラメータを算出し、該平面パラメータの各々に基づいて、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定する、
請求項１に記載の３次元形状推定装置。
【請求項３】
前記輪郭線分割部によって得られた前記部分輪郭線の各々について、任意の前記部分輪郭線が他の前記部分輪郭線と接続しているか否かを判定する輪郭線接続判定部を更に含み、
前記３次元形状推定部は、前記輪郭線接続判定部による判定結果に基づいて、接続していると判定された前記部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定する、
請求項２に記載の３次元形状推定装置。
【請求項４】
前記３次元形状推定部は、前記輪郭線接続判定部による判定結果に基づいて、接続していると判定された前記部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たし、かつ時刻ｔの前記画像に含まれる前記部分輪郭線を構成する前記画素と、時刻ｔ＋１の前記画像に含まれる前記部分輪郭線との間の距離が小さくなるように、前記部分輪郭線についての前記平面パラメータ及び分岐点の３次元位置を表すパラメータを算出し、該パラメータの各々に基づいて、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定する、
請求項３に記載の３次元形状推定装置。
【請求項５】
前記３次元形状推定部による前記物体の３次元形状の推定結果に基づいて、時刻ｔの前記画像に含まれる前記部分輪郭線を構成する前記画素と、時刻ｔ＋１の前記画像に含まれる前記部分輪郭線との間の距離が予め定められた閾値以上である前記分岐点においては、前記部分輪郭線同士が接続関係にないと判定する輪郭線接続再判定部を更に含み、
前記３次元形状推定部は、前記輪郭線接続再判定部による判定結果に基づいて、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定する、
請求項３又は請求項４に記載の３次元形状推定装置。
【請求項６】
コンピュータを、請求項１〜請求項５のいずれか１項に記載の３次元形状推定装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状推定装置及びプログラムに関する。
【背景技術】
【０００２】
従来、画像に写る物体の３次元形状を測定する３次元測定装置が知られている（例えば、特許文献１を参照）。この３次元測定装置は、左視点画像に３次元測定の基準となる測定点を入力し、その測定点から右視点画像に向かって水平に延ばした延長線上に対応点を設定する。このとき、３次元測定装置は、左右の視点画像において対応点が誤設定されることを考慮して、各視点画像において、誤設定された対応点から直線に沿って新たな対応点の探索を行い、新たな対応点に置換する。
【０００３】
また、エピポーラ線に対して交差角度が平行に近いエッジを３次元復元可能な３次元計測方法が知られている（例えば、特許文献２を参照）。この３次元計測方法は、ワークの同一平面上にあるエッジを選択し、これらのエッジの内、エピポーラ線と交差する交差角度が９０°を基準として所定の角度範囲内にあるエッジをステレオ法により３次元復元する。そして、この３次元計測方法は、３次元復元したエッジを含む３次元平面を求め、エピポーラ線と交差する交差角度が９０°を基準として所定の角度範囲外にあるエッジを、この３次元平面に投影して３次元復元する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2015-7637号公報
【特許文献２】特開2013-130508号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の技術においては、画像中の点に対しそれぞれ独立に３次元形状の推定が行われる。しかし、上記特許文献１に記載の技術は、画像中の任意の点と周囲の点との間に位置関係に関する拘束条件等がないため、３次元形状の推定が不安定になりやすい、という課題がある。
【０００６】
また、上記特許文献２に記載の技術は、２直線の３次元位置を推定した後、２直線を含む平面を復元し、目的の直線を平面上に投影して３次元形状の推定が行われる。しかし、この技術は直線を前提としているため、画像内の曲線を含む構造物の３次元形状を計測することができない、という課題がある。
【０００７】
本発明は、上記事情を鑑みて成されたものであり、画像に写る物体が曲線を含む線分によって構成されている場合であっても、画像に写る物体の３次元形状を安定的に推定することができる３次元形状推定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る３次元形状推定装置は、時刻ｔにおいて撮像された画像と時刻ｔ＋１において撮像された画像の各々から、前記画像に写る物体の輪郭を表す輪郭線を抽出する輪郭線抽出部と、前記輪郭線抽出部によって抽出された各時刻の前記画像の前記輪郭線の各々を、分岐点により部分輪郭線へ分割する輪郭線分割部と、前記輪郭線分割部によって得られた前記部分輪郭線の各々に基づいて、時刻ｔの前記画像の前記部分輪郭線の各々と、時刻ｔ＋１の前記画像の前記部分輪郭線の各々と、を対応付ける部分輪郭線対応付部と、前記部分輪郭線対応付部による対応付け結果に基づいて、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定する３次元形状推定部と、を含んで構成されている。
【０００９】
本発明に係る３次元形状推定装置によれば、輪郭線抽出部が、時刻ｔにおいて撮像された画像と時刻ｔ＋１において撮像された画像の各々から、画像に写る物体の輪郭を表す輪郭線を抽出する。そして、輪郭線分割部が、輪郭線抽出部によって抽出された各時刻の画像の輪郭線の各々を、分岐点により部分輪郭線へ分割する。そして、部分輪郭線対応付部が、輪郭線分割部によって得られた部分輪郭線の各々に基づいて、時刻ｔの画像の部分輪郭線の各々と、時刻ｔ＋１の画像の部分輪郭線の各々と、を対応付ける。そして、３次元形状推定部が、部分輪郭線対応付部による対応付け結果に基づいて、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を推定する。これにより、画像に写る物体が曲線を含む線分によって構成されている場合であっても、画像に写る物体の３次元形状を安定的に推定することができる。
【００１０】
また、本発明に係る３次元形状推定装置において、前記３次元形状推定部は、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たし、かつ時刻ｔの前記画像に含まれる前記部分輪郭線を構成する前記画素と、時刻ｔ＋１の前記画像に含まれる前記部分輪郭線との間の距離が小さくなるように、各部分輪郭線についての平面パラメータを算出し、該平面パラメータの各々に基づいて、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定するようにすることができる。
【００１１】
また、本発明に係る３次元形状推定装置は、前記輪郭線分割部によって得られた前記部分輪郭線の各々について、任意の前記部分輪郭線が他の前記部分輪郭線と接続しているか否かを判定する輪郭線接続判定部を更に含み、前記３次元形状推定部は、前記輪郭線接続判定部による判定結果に基づいて、接続していると判定された前記部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定することができる。これにより、推定対象のパラメータを減少させることができるため、各画素の３次元位置を安定的に推定することができる。
【００１２】
また、本発明に係る３次元形状推定装置において、前記３次元形状推定部は、前記輪郭線接続判定部による判定結果に基づいて、接続していると判定された前記部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たし、かつ時刻ｔの前記画像に含まれる前記部分輪郭線を構成する前記画素と、時刻ｔ＋１の前記画像に含まれる前記部分輪郭線との間の距離が小さくなるように、前記部分輪郭線についての前記平面パラメータ及び分岐点の３次元位置を表すパラメータを算出し、該パラメータの各々に基づいて、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定するようにすることができる。
【００１３】
また、本発明に係る３次元形状推定装置は、前記３次元形状推定部による前記物体の３次元形状の推定結果に基づいて、時刻ｔの前記画像に含まれる前記部分輪郭線を構成する前記画素と、時刻ｔ＋１の前記画像に含まれる前記部分輪郭線との間の距離が予め定められた閾値以上である前記分岐点においては、前記部分輪郭線同士が接続関係にないと判定する輪郭線接続再判定部を更に含み、前記３次元形状推定部は、前記輪郭線接続再判定部による判定結果に基づいて、各部分輪郭線を構成する各画素によって形成される前記物体の３次元形状を推定するようにすることができる。
【００１４】
また、本発明に係る３次元情報処理プログラムは、コンピュータを、上記の３次元形状推定装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明の３次元形状推定装置及びプログラムによれば、画像に写る物体が曲線を含む線分によって構成されている場合であっても、画像に写る物体の３次元形状を安定的に推定することができる、という効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る３次元形状推定装置の機能ブロック図である。
【図２】部分輪郭線の抽出を説明するための説明図である。
【図３】分岐点の判定を説明するための説明図である。
【図４】第１実施形態における３次形状推定処理の一例を示すフローチャートである。
【図５】第２実施形態に係る３次元形状推定装置の機能ブロック図である。
【図６】第２実施形態の効果を説明するための説明図である。
【図７】第２実施形態における３次形状推定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１８】
［第１実施形態］
【００１９】
＜第１実施形態に係る３次元形状推定装置のシステム構成＞
【００２０】
図１は、第１実施形態の３次元形状推定装置１０の構成の一例を示す概略図である。図１に示されるように、第１実施形態に係る３次元形状推定装置１０は、カメラ１２と、コンピュータ２０と、出力装置４０と、を備えている。３次元形状推定装置１０は、例えば車両に搭載される。３次元形状推定装置１０が車両に搭載される場合、３次元形状推定装置１０のカメラ１２によって車両周辺の画像が逐次撮像され、コンピュータ２０によって画像に写る物体の３次元形状が推定される。本実施形態においては、３次元形状推定装置１０が車両に搭載されている場合を例に説明する。
【００２１】
カメラ１２は、車両周辺の画像を逐次撮像する。なお、カメラ１２は車両の進行方向へ向けて設置されていてもよいし、車両の後方へ向けて設置されていてもよい。または、カメラ１２は車両の全方位を撮像可能なように車両に設置されていてもよい。カメラ１２によって撮像された画像に写る物体の３次元形状が、後述するコンピュータ２０によって推定される。
【００２２】
コンピュータ２０は、ＣＰＵ、後述する３次元形状推定処理ルーチンを実現するためのプログラムを記憶したＲＯＭ、データを一時的に記憶するＲＡＭ、及びＨＤＤ等の記憶装置で構成されている。このコンピュータ２０を機能ブロックで表すと、図１に示されるように、画像取得部２２と、画像記憶部２４と、輪郭線抽出部２６と、輪郭線分割部２８と、部分輪郭線対応付部３０と、３次元形状推定部３２とを含んだ構成で表すことができる。
【００２３】
画像取得部２２は、カメラ１２によって撮像された画像を逐次取得し、後述する画像記憶部２４へ格納する。なお、画像取得部２２が画像を画像記憶部２４へ格納するタイミングはどのようであってもよい。画像取得部２２が画像を画像記憶部２４へ格納するタイミングは、例えば、一定の時間が経過したときでもよいし、車両が一定の走行距離を走行したときであってもよい。または、画像取得部２２は、任意の制御信号に応じて画像を画像記憶部２４へ格納するようにしてもよい。
【００２４】
画像記憶部２４には、カメラ１２によって各時刻に撮像された画像の各々が格納される。
【００２５】
輪郭線抽出部２６は、画像記憶部２４に格納された画像の各々から、任意の時刻ｔにおいて撮像された画像と時刻ｔ＋１に撮像された画像の各々を読み出す。そして、輪郭線抽出部２６は、各時刻に撮像された画像の各々から、当該画像に写る物体の輪郭を表す輪郭線を抽出する。
【００２６】
例えば、輪郭線抽出部２６は、既存の技術であるCannyを用いて輪郭線を抽出する。なお、輪郭線抽出部２６は、その他の任意の方法を用いて、輪郭線を抽出するようにしてもよい。
【００２７】
輪郭線分割部２８は、輪郭線抽出部２６によって抽出された各時刻の画像の輪郭線の各々を、分岐点により部分輪郭線へ分割する。
【００２８】
図２に、部分輪郭線の抽出を説明するための説明図を示す。図２に示されている場面５０では、画像中の３次元物体の輪郭線Ｏが抽出されている。また、図２の場面５２では、分岐点ｋ１，ｋ２，ｋ３，ｋ４が設定されている。また、図２の場面５４では、分岐点ｋ１，ｋ２，ｋ３，ｋ４によって、部分輪郭線ｌ１，ｌ２，ｌ３，ｌ４，ｌ５，ｌ６が抽出されている。
【００２９】
図２に示されるように、一般的に、画像に写る３次元物体の輪郭線は、ある分岐点と他の分岐点との間において同一平面上で連続的に繋がる場合が多い。このため、分岐点を起点として輪郭線を分割することにより、３次元空間上において同一平面上にあるとみなせる複数の部分輪郭線が得られる。物体を構成する輪郭線が複雑な形状の曲面上に存在する場合はこの限りでは無いが、その割合が少数であれば、後述する３次元形状推定部３２における最適化演算において除外することができる。
【００３０】
具体的には、まず、輪郭線分割部２８は、輪郭線抽出部２６によって抽出された各時刻の画像の輪郭線上の各画素に対し、当該画素が分岐点であるか否かについての判定を行う。
【００３１】
輪郭線分割部２８は、輪郭線抽出部２６により抽出された輪郭線上のある画素を注目画素として設定する。そして、輪郭線分割部２８は、注目画素を囲む周囲８画素の各々に対し、注目画素を起点とした切り替わりの箇所数をカウントする。
【００３２】
図３に、分岐点の判定方法を説明するための説明図を示す。例えば、輪郭線分割部２８は、図３に示される注目画素Ａの４辺の延長線Ｓ１，Ｓ２，Ｓ３，Ｓ４上に、画素値が入っている画素が存在している場合には、注目画素Ａの４辺の延長線上に存在する画素の点Ｅ１，Ｅ２，Ｅ３，Ｅ４を切り替わり点としてカウントする。また、輪郭線分割部２８は、図３に示される注目画素Ｂの４辺の延長線Ｓ５，Ｓ６，Ｓ７，Ｓ８上に、画素値が入っている画素が存在している場合には、注目画素Ｂの４辺の延長線上に存在する画素の点Ｅ５，Ｅ６，Ｅ７，Ｅ８，Ｅ９，Ｅ１０を切り替わり点としてカウントする。
【００３３】
そして、輪郭線分割部２８は、切り替わり箇所の数が閾値以上である場合に、当該注目画素が分岐点であると判定する。図３に示される例では、注目画素Ａの切り替わり箇所の数は４であり、注目画素Ｂの切り替わり箇所の数は６である。この場合、輪郭線分割部２８は、注目画素の切り替わり箇所の数が６以上であれば分岐点として判定する。一方、輪郭線分割部２８は、注目画素の切り替わり箇所の数が６未満であれば非分岐点として判定する。このため、注目画素Ａは分岐点として判定され、注目画素Ｂは非分岐点として判定される。
【００３４】
なお、輪郭線分割部２８は、注目画素の４辺の延長線上に、画素値が入っている画素が１つのみ存在する場合には、当該画素を端点と見なす。輪郭線分割部２８は、輪郭線抽出部２６により抽出された部分輪郭線の情報と、分岐点の情報と、端点の情報とをメモリ（図示省略）に格納する。
【００３５】
そして、輪郭線分割部２８は、判定された分岐点の各々に基づいて、輪郭線抽出部２６によって抽出された各時刻の画像の輪郭線の各々を、部分輪郭線へ分割する。
【００３６】
部分輪郭線対応付部３０は、輪郭線分割部２８によって得られた部分輪郭線の各々に基づいて、時刻ｔの画像の部分輪郭線の各々と、時刻ｔ＋１の画像の部分輪郭線の各々と、を対応付ける。
【００３７】
ここで、時刻ｔにおける画像（以下、単に「画像１」と称する。）の部分輪郭線をｌとし、時刻ｔ＋１の画像（以下、単に「画像２」と称する。）の部分輪郭線をＬとする。
【００３８】
具体的には、部分輪郭線対応付部３０は、画像１の部分輪郭線ｌと対応する可能性のある、画像２の部分輪郭線Ｌの探索を行う。そして、部分輪郭線対応付部３０は、画像１の部分輪郭線ｌと画像２の部分輪郭線Ｌとの間の対応付けを行い、部分輪郭線同士の対応付け結果をメモリ（図示省略）へ格納する。なお、画像１の部分輪郭線ｌと対応付けられた画像２の部分輪郭線Ｌは、時刻ｔの部分輪郭線ｌが移動又は変形したものである。
【００３９】
部分輪郭線Ｌは、単一の部分輪郭線の場合もあれば、複数の部分輪郭線の場合もある。部分輪郭線ｌと対応する部分輪郭線Ｌの対応付け方法は、部分輪郭線ｌから一定距離内に入る部分輪郭線Ｌを選択してもよいし、部分輪郭線ｌから引いたエピポーラ線から一定距離以内に入る部分輪郭線Ｌを選択してもよい。
【００４０】
３次元形状推定部３２は、部分輪郭線対応付部３０による対応付け結果に基づいて、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定する。そして、３次元形状推定部３２は、各部分輪郭線を構成する各画素によって形成される３次元物体の３次元形状を推定する。
【００４１】
部分輪郭線対応付部３０においては、画像１と画像２との間における部分輪郭線同士の対応付けを行ったが、部分輪郭線の３次元形状推定を行うためには、部分輪郭線を構成する各画素の単位で精密な対応付けを行う必要がある。
【００４２】
そこで、３次元形状推定部３２は、画像１における部分輪郭線ｌを、特定のパラメータに基づき移動又は変形させ、部分輪郭線ｌを構成する各画素が画像２における部分輪郭線Ｌと最も一致する移動先を探索する。
【００４３】
この場合、３次元形状推定部３２は、部分輪郭線ｌを構成する各画素の画像１の位置から画像２の位置への移動ベクトルは、時刻が異なる２つの画像間における視差を表す。このため、３次元形状推定部３２は、三角測量の原理を用いることにより、各画素の視差から３次元空間における位置を推定する。各画素の３次元空間における位置が推定されることにより、画素が構成する部分輪郭線ｌの３次元形状が推定される。
【００４４】
部分輪郭線ｌの画像１から画像２への移動又は変形の方法は無数に考えられる。このため、部分輪郭線ｌを構成する各画素の移動に関して何ら制約を加えずに、画像２における移動先を探索した場合、各画素はそれぞれ独立に移動先を探索することになる。この場合には、推定対象のパラメータの数は膨大となり、パラメータの推定が不安定なものになりやすい。これにより、パラメータの推定の精度が低下し、結果として、物体の３次元形状の推定の精度が低下することになる。
【００４５】
そこで、第１実施形態においては、部分輪郭線を構成する画素は３次元空間上において同一平面上に存在するという条件を設定する。これにより、画像に写る３次元物体を構成する部分輪郭線は、３次元空間上において同一平面上に存在する、という条件が課される。
【００４６】
３次元形状推定部３２は、部分輪郭線を構成する画素は３次元空間上において同一平面上に存在するという条件の下、部分輪郭線を構成する各画素が属する平面を表す平面パラメータを推定する。部分輪郭線を構成する画素全体が属する平面を表す平面パラメータが推定されれば、部分輪郭線を構成する全ての画素の移動が自動的に決定されるため、推定対象のパラメータの数の削減を行うことができる。これにより、物体の３次元形状の推定処理が安定化される。
【００４７】
以下、３次元形状推定部３２の処理について具体的に説明する。以下の表に、３次元形状推定部３２の処理において用いる各変数を示す。
【００４８】
【表１】
2020159748.tif 000003
【００４９】
ある部分輪郭線ｌを構成する各画素が、３次元空間上において同一平面にあるとすると、以下の式（１）が成立する。
【００５０】
【数１】
2020159748.tif 000004
（１）
【００５１】
上記式（１）は、部分輪郭線を構成する画素は３次元空間上において同一平面上に存在するという条件に対応する。また、ピンホールカメラの原理より、以下の式（２）が成立する。
【００５２】
【数２】
2020159748.tif 000005
（２）
【００５３】
上記式（１）及び上記式（２）に関して、｛Ｘｉ，Ｙｉ，Ｚｉ｝について解くと、以下の式（３）が導かれる。
【００５４】
【数３】
2020159748.tif 000006
（３）
【００５５】
なお、以下では｛α，β，γ｝によって表された｛Ｘｉ，Ｙｉ，Ｚｉ｝をＸｉ（θ）と表すこととする。
【００５６】
次に、以下の式（４）に最小二乗法のコスト関数を示す。３次元形状推定部３２は、以下の式（４）のコスト関数ｆ（θ）を最小化するような平面パラメータθを求める。
【００５７】
【数４】
2020159748.tif 000007
（４）
【００５８】
なお、上記式（４）におけるＫ［Ｒ｜ｔ］Ｘｉ（θ）は、１つの画素に対応する点ｐを表す。このため、上記式（４）におけるｄ（ｐ，Ｌ）は画像上において点ｐと部分輪郭線Ｌとの間の最短距離を出力する関数である。具体的には、関数ｄ（ｐ，Ｌ）は、画像２の部分輪郭線Ｌの各画素についてそれぞれ点ｐとの間の距離を算出し、その中から最小の値を返す関数である。
【００５９】
上記式（４）のコスト関数ｆ（θ）は、平面パラメータθをパラメータとした関数となっている。このため、既存の技術であるLevenberg-Marquardt法を用いた収束演算などにより、コスト関数ｆ（θ）を最小化する平面パラメータθを算出することができる。最適な平面パラメータθが得られた後は、上記式（３）から部分輪郭線ｌを構成する各画素の３次元空間上の位置が算出される。
【００６０】
このため、３次元形状推定部３２は、時刻ｔの画像１の各部分輪郭線について、当該部分輪郭線ｌを構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たし、かつ時刻ｔの画像１に含まれる各部分輪郭線ｌを構成する画素ｐと、時刻ｔ＋１の画像２に含まれる各部分輪郭線Ｌとの間の距離ｄ（ｐ，Ｌ）が小さくなるように、各部分輪郭線ｌについての平面パラメータθを算出する。具体的には、３次元形状推定部３２は、上記式（４）に示されるコスト関数ｆ（θ）が最小となるように、平面パラメータθを算出する。
【００６１】
次に、３次元形状推定部３２は、算出された平面パラメータθの各々に基づいて、上記式（３）に従って、各部分輪郭線ｌを構成する各画素の３次元位置｛Ｘｉ，Ｙｉ，Ｚｉ｝を推定する。そして、３次元形状推定部３２は、各部分輪郭線ｌを構成する各画素によって形成される物体の３次元形状を推定する。
【００６２】
なお、物体を構成する輪郭線が複雑な形状の曲面上に存在する場合には、上記式（４）におけるｄ（ｐ，Ｌ）の値が大きくなることが予想される。このため、上記式（４）におけるｄ（ｐ，Ｌ）の値が所定の閾値より大きい場合には、コスト関数ｆ（θ）を最小化させる際に、点ｐに対応する画素についてのｄ（ｐ，Ｌ）を除外するようにしてもよい。この場合には、ｄ（ｐ，Ｌ）の値が所定の閾値より大きい点ｐに対応する画素についての画像１から画像２への対応付けについては除外される。
【００６３】
出力装置４０は、３次元形状推定部３２によって推定された物体の３次元形状を結果として出力する。
【００６４】
次に、本実施形態に係る３次元形状推定装置１０の作用について説明する。
【００６５】
車両に搭載されたカメラ１２によって画像が撮像されはじめると、コンピュータ２０の画像取得部２２は、各時刻に撮像された画像を画像記憶部２４に格納する。そして、コンピュータ２０は、画像に写る３次元物体の形状の推定処理の開始を指示する指示信号を受け付けると、図４に示す３次元形状推定処理を実行する。
【００６６】
ステップＳ１００において、輪郭線抽出部２６は、画像記憶部２４に格納された画像の各々から、任意の時刻ｔにおいて撮像された画像１と時刻ｔ＋１に撮像された画像２の各々を読み出す。
【００６７】
ステップＳ１０２において、輪郭線抽出部２６は、上記ステップＳ１００で読み出された画像１及び画像２の各々から、当該画像に写る物体の輪郭を表す輪郭線を抽出する。
【００６８】
ステップＳ１０３において、輪郭線分割部２８は、上記ステップＳ１０２で抽出された各時刻の画像の輪郭線上の各画素に対し、当該画素が分岐点であるか否かについての判定を行う。
【００６９】
ステップＳ１０４において、輪郭線分割部２８は、上記ステップＳ１０３で判定された分岐点の各々に基づいて、上記ステップＳ１０２で抽出された画像１及び画像２の輪郭線の各々を、部分輪郭線へ分割する。
【００７０】
ステップＳ１０６において、部分輪郭線対応付部３０は、上記ステップＳ１０４で得られた部分輪郭線の各々に基づいて、時刻ｔの画像の部分輪郭線ｌの各々と、時刻ｔ＋１の画像の部分輪郭線Ｌの各々とを対応付ける。
【００７１】
ステップＳ１０８において、３次元形状推定部３２は、時刻ｔの画像１の各部分輪郭線について、当該部分輪郭線ｌを構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たし、かつ上記式（４）に示されるコスト関数が最小化するように、各部分輪郭線ｌについての平面パラメータθを算出する。
【００７２】
ステップＳ１１０において、３次元形状推定部３２は、上記ステップＳ１０８で算出された平面パラメータθの各々に基づいて、上記式（３）に従って、各部分輪郭線ｌを構成する各画素の３次元位置を推定する。
【００７３】
ステップＳ１１２において、３次元形状推定部３２は、上記ステップＳ１１０で推定された各画素の３次元位置に基づいて、各部分輪郭線ｌを構成する各画素によって形成される物体の３次元形状を推定して、３次元形状推定処理を終了する。
【００７４】
出力装置４０は、３次元形状推定部３２によって推定された物体の３次元形状を結果として出力する。
【００７５】
以上説明したように、本実施形態に係る３次元形状推定装置は、時刻ｔにおいて撮像された画像と時刻ｔ＋１において撮像された画像の各々から、画像に写る物体の輪郭を表す輪郭線を抽出し、輪郭線の各々を、分岐点により部分輪郭線へ分割する。そして、３次元形状推定装置は、部分輪郭線の各々に基づいて、時刻ｔの画像の部分輪郭線の各々と、時刻ｔ＋１の画像の前記部分輪郭線の各々とを対応付け、対応付け結果に基づいて、各部分輪郭線を構成する各画素が３次元空間上の同一平面上に存在することを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定する。そして、３次元形状推定装置は、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を推定する。これにより、画像に写る物体が曲線を含む線分によって構成されている場合であっても、画像に写る物体の３次元形状を安定的に推定することができる。
【００７６】
また、部分輪郭線が３次元空間内において同一平面上に存在する、という拘束条件を考慮することにより、画像の画素毎に３次元位置を推定する方法に比べて、物体を構成する線分の３次元位置を精度良く推定することができる。これにより、画像に写る３次元物体の形状を精度良く推定することができる。
【００７７】
また、本実施形態の３次元形状推定装置は、画像中において曲線を含む輪郭線を分割し、分割後の部分輪郭線毎に３次元形状を推定する。これにより、画像中の直線のみならず、曲線を含む部分輪郭線によって構成される物体の３次元形状も推定することができる。
【００７８】
［第２実施形態］
【００７９】
次に、第２実施形態について説明する。なお、第１実施形態と同様の構成及び同様の処理については、同一の符号を付して説明を省略する。第２実施形態では、部分輪郭線同士の接続関係を判定し、当該接続関係を更に考慮して物体の３次元位置を推定する点が第１実施形態と異なる。第２実施形態では、画像上において互いに接続する部分輪郭線は分岐点において３次元位置が重なるという条件を更に加える。これにより、画像に含まれる部分輪郭線について、更なるパラメータの削減が行われるため、３次元位置の推定が安定化される。また、これにより、画像中の各画素の３次元位置が精度良く推定される。
【００８０】
＜第２実施形態に係る３次元形状推定装置のシステム構成＞
【００８１】
図５は、第２実施形態の３次元形状推定装置２１０の構成の一例を示す概略図である。図５に示されるように、第２実施形態に係る３次元形状推定装置２１０は、カメラ１２と、コンピュータ２２０と、出力装置４０と、を備えている。
【００８２】
第２実施形態のコンピュータ２２０は、ＣＰＵ、３次元形状推定処理ルーチンを実現するためのプログラムを記憶したＲＯＭ、データを一時的に記憶するＲＡＭ、及びＨＤＤ等の記憶装置で構成されている。このコンピュータ２２０を機能ブロックで表すと、図５に示されるように、画像取得部２２と、画像記憶部２４と、輪郭線抽出部２６と、輪郭線分割部２８と、部分輪郭線対応付部３０と、輪郭線接続判定部２３１と、３次元形状推定部２３２と、輪郭線接続再判定部２３３と、を含んだ構成で表すことができる。
【００８３】
輪郭線接続判定部２３１は、輪郭線分割部２８によって得られた部分輪郭線の各々について、任意の部分輪郭線が他の部分輪郭線と接続しているか否かを判定する。
【００８４】
具体的には、輪郭線接続判定部２３１は、輪郭線分割部２８によって得られた部分輪郭線同士の接続関係を判定する。例えば、輪郭線接続判定部２３１は、画像上において、輪郭線分割部２８によって判定された分岐点から１画素以内に存在する部分輪郭線は互いに接続関係にあると判定する。そして、輪郭線接続判定部２３１は、接続関係にあると判定された部分輪郭線の情報をメモリ（図示省略）へ保存する。
【００８５】
３次元形状推定部２３２は、輪郭線接続判定部２３１による判定結果に基づいて、接続していると判定された部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たすように、各部分輪郭線を構成する各画素の３次元位置を推定する。そして、３次元形状推定部３２は、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を推定する。
【００８６】
以下、第２実施形態の３次元形状推定部３２の処理について具体的に説明する。以下の表に、３次元形状推定部３２の処理において用いられる各変数を示す。
【００８７】
【表２】
2020159748.tif 000008
【００８８】
第２実施形態では、各部分輪郭線が３次元空間上において同一平面上にあり、かつ各部分輪郭線が分岐点において３次元空間上で互いに接続しているという拘束条件を加える。
【００８９】
部分輪郭線ｌ（ｊ）の両端に接続する分岐点（又は端点）のインデックスをｋ１（ｊ），ｋ２（ｊ）とすると、分岐点ｋ１（ｊ），ｋ２(ｊ)の３次元空間上の位置はそれぞれ部分輪郭線ｌ（ｊ）が属する平面（平面パラメータによって決まる平面）上に存在するため、以下の式（５）が得られる。
【００９０】
【数５】
2020159748.tif 000009
2020159748.tif 000010
（５）
【００９１】
上記式（５）をαｊ，βｊについて解くと、以下の式（６）が得られる。
【００９２】
【数６】
2020159748.tif 000011
2020159748.tif 000012
（６）
【００９３】
さらに、上記式（６）に対しピンホールカメラの原理（上記式（２））を適用すると、以下の式（７）が得られる。
【００９４】
【数７】
2020159748.tif 000013
2020159748.tif 000014
（７）
【００９５】
上記式（７）は、以下の未知数をパラメータとした関数ある。
【００９６】
【数８】
2020159748.tif 000015
【００９７】
このため、以下では上記式（７）の形で示されたαｊ，βｊを、それぞれ以下のように表すこととする。
【００９８】
【数９】
2020159748.tif 000016
2020159748.tif 000017
【００９９】
このように、画像上において互いに接続する部分輪郭線は分岐点において３次元位置が重なるという条件を更に加えることにより、部分輪郭線の平面パラメータαｊ，βｊが分岐点の位置に関するパラメータＺｋによって表すことが可能となり、推定対象のパラメータが減少する。
【０１００】
次に、各部分輪郭線が同一平面上にあるという条件は、上記式（３）と同様に以下の式（８）のように与えられる。
【０１０１】
【数１０】
2020159748.tif 000018
（８）
【０１０２】
上記式（８）は、以下の未知数をパラメータとした関数である。
【０１０３】
【数１１】
2020159748.tif 000019
【０１０４】
このため、以下では、上記式（８）の形で示された｛Ｘｊ，ｉ，Ｙｊ，ｉ，Ｚｊ，ｉ｝を以下に示すように表すこととする。
【０１０５】
【数１２】
2020159748.tif 000020
【０１０６】
次に、以下の式（９）に最小二乗法のコスト関数を示す。第２実施形態においては、以下の式（９）のコスト関数を最小化するパラメータＺｋ，γｊを求めることを目的とする。
【０１０７】
【数１３】
2020159748.tif 000021
（９）
【０１０８】
上記式（９）は、Ｚｋ，γｊをパラメータとした関数となっているため、既存の手法であるLevenberg-Marquardt法を用いた収束演算などにより、コスト関数を最小化するパラメータＺｋ，γｊを算出することができる。最適なＺｋ，γｊが得られた後は、上記式（８）からｌを構成する各画素の３次元空間上の位置を算出することができる。
【０１０９】
図６に、第２実施形態の効果を説明するための説明図を示す。図６に示される例では、部分輪郭線ｌ（１），ｌ（２），ｌ（３），ｌ（４），ｌ（５），ｌ（６）が存在し、分岐点１，２，３，４が存在している。なお、部分輪郭線ｌ（ｊ）の両端に接続する分岐点（又は端点）のインデックスをｋ１（ｊ），ｋ２（ｊ）とする。このため、分岐点１は、分岐点ｋ１（１），ｋ１（２），ｋ１（３）に対応する。分岐点２は、分岐点ｋ２（２），ｋ１（４），ｋ１（５）に対応する。分岐点３は、分岐点ｋ３（１），ｋ３（４），ｋ１（６）に対応する。分岐点４は、分岐点ｋ２（３），ｋ２（５），ｋ２（６）に対応する。
【０１１０】
第１実施形態においては各部分輪郭線につき、３つの未知数（｛α，β，γ｝）を推定する必要がある。このため、図６に示される例では、部分輪郭線ｌ（１），ｌ（２），ｌ（３），ｌ（４），ｌ（５），ｌ（６）が存在しているため、未知数の数は６×３＝１８である。
【０１１１】
一方、第２実施形態では、各部分輪郭線につき１つの未知数（γ）と、各分岐点につき１つの未知数（Ｚ）を推定する必要がある。このため、図６に示される例では、部分輪郭線ｌ（１），ｌ（２），ｌ（３），ｌ（４），ｌ（５），ｌ（６）が存在し、かつ分岐点１，２，３，４が存在しているため、未知数の数は６×１＋４×１＝１０である。
【０１１２】
このため、第２実施形態では、物体の３次元形状を推定する際に、各部分輪郭線が分岐点において３次元空間上で互いに接続しているという条件を考慮することにより、取り扱う情報量は変えずに、推定すべき未知数が減少する。これにより、推定対象のパラメータ数が減少するため、第１実施形態に比べて最小二乗法における推定の精度が向上する、という効果が得られる。
【０１１３】
このため、第２実施形態の３次元形状推定部２３２は、輪郭線接続判定部２３１による判定結果に基づいて、接続していると判定された部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たし、かつ時刻ｔの画像１に含まれる部分輪郭線ｌを構成する画素ｐと、時刻ｔ＋１の画像２に含まれる部分輪郭線Ｌとの間の距離ｄ（ｐ，Ｌ）が小さくなるように、部分輪郭線ｌについての平面パラメータγ及び分岐点の３次元位置を表すパラメータＺｋを算出する。そして、３次元形状推定部３２は、算出されたパラメータＺｋ，γｊの各々に基づいて、各部分輪郭線を構成する各画素の３次元位置｛Ｘｊ，ｉ，Ｙｊ，ｉ，Ｚｊ，ｉ｝を推定する。そして、３次元形状推定部３２は、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を推定する。
【０１１４】
なお、３次元形状推定部２３２においては、画像上で接続関係にある部分輪郭線同士は３次元空間上においても物理的に接続関係にあるとの仮定を置くが、オクルージョンが生じている場合には、画像上の接続関係があっても３次元空間上では物理的に接続関係にない場合が生じる可能性がある。
【０１１５】
そこで、第２実施形態においては、３次元形状推定部２３２において最小二乗法の残差が大きい部分輪郭線同士は、３次元空間上において接続関係にない２つの分岐点（又は端点）を結んでいると判断し、処理から除外する。
【０１１６】
このため、輪郭線接続再判定部２３３は、３次元形状推定部３２による物体の３次元形状の推定結果に基づいて、時刻ｔの画像１に含まれる部分輪郭線ｌを構成する画素ｐと、時刻ｔ＋１の画像２に含まれる部分輪郭線Ｌとの間の距離ｄ（ｐ，Ｌ）が予め定められた閾値以上である分岐点においては、部分輪郭線同士が接続関係にないと判定する。
【０１１７】
３次元形状推定部２３２は、輪郭線接続再判定部２３３による判定結果に基づいて、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を再度推定する。
【０１１８】
これにより、３次元空間上において実際には接続関係がないと考えられる接続点が除外され、物体の３次元形状が精度よく推定される。
【０１１９】
次に、第２実施形態に係る３次元形状推定装置２１０の作用について説明する。
【０１２０】
車両に搭載されたカメラ１２によって画像が撮像されはじめると、コンピュータ２２０の画像取得部２２は、各時刻に撮像された画像を画像記憶部２４に格納する。そして、コンピュータ２２０は、画像に写る３次元物体の形状の推定処理の開始を指示する指示信号を受け付けると、図７に示す３次元形状推定処理を実行する。
【０１２１】
ステップＳ２０７において、輪郭線接続判定部２３１は、ステップＳ１０４で得られた部分輪郭線の各々について、任意の部分輪郭線が他の部分輪郭線と接続しているか否かを判定する。
【０１２２】
ステップＳ２０８において、３次元形状推定部２３２は、上記ステップＳ２０７での判定結果に基づいて、接続していると判定された部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たし、かつ時刻ｔの画像１に含まれる部分輪郭線ｌを構成する画素ｐと、時刻ｔ＋１の画像２に含まれる部分輪郭線Ｌとの間の距離ｄ（ｐ，Ｌ）が小さくなるように、部分輪郭線ｌについての平面パラメータγ及び分岐点の３次元位置を表すパラメータＺｋを算出する。
【０１２３】
ステップＳ１１０及びステップＳ１１２において、第１実施形態と同様に、各画素の３次元位置が推定され、物体の３次元形状が推定される。
【０１２４】
ステップＳ２１４において、輪郭線接続再判定部２３３は、上記ステップＳ１１２で得られた物体の３次元形状の推定結果に基づいて、時刻ｔの画像１に含まれる部分輪郭線ｌを構成する画素ｐと、時刻ｔ＋１の画像２に含まれる部分輪郭線Ｌとの間の距離ｄ（ｐ，Ｌ）が予め定められた閾値以上である分岐点においては、部分輪郭線同士が接続関係にないと判定する。
【０１２５】
ステップＳ２１６において、３次元形状推定部２３２は、輪郭線接続再判定部２３３による判定結果に基づいて、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を再度推定して、３次元形状推定処理を終了する。
【０１２６】
なお、第２実施形態に係る３次元形状推定装置２１０の他の構成及び作用については、第１実施形態と同様であるため、説明を省略する。
【０１２７】
以上説明したように、第２実施形態に係る３次元形状推定装置は、接続していると判定された部分輪郭線同士は、３次元空間上においても接続していることを表す条件を満たし、かつ時刻ｔの画像に含まれる部分輪郭線を構成する画素と、時刻ｔ＋１の画像に含まれる部分輪郭線との間の距離が小さくなるように、部分輪郭線についての平面パラメータ及び分岐点の３次元位置を表すパラメータを算出する。そして、３次元形状推定装置は、算出された平面パラメータ及び分岐点の３次元位置を表すパラメータの各々に基づいて、各部分輪郭線を構成する各画素の３次元位置を推定し、各部分輪郭線を構成する各画素によって形成される物体の３次元形状を推定する。これにより、推定対象のパラメータを減少させることができるため、各画素の３次元位置を安定的に推定することができる。また、各画素の３次元位置を精度よく推定することができる。これにより、画像に写る物体の３次元形状を安定的、かつ精度良く推定することができる。
【０１２８】
なお、本発明は、各図を用いて説明した実施の形態例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更して適用することが可能である。
【０１２９】
また、本発明のプログラムを記憶媒体に格納して提供してもよい。
【符号の説明】
【０１３０】
１０，２１０  ３次元形状推定装置
２０，２２０  コンピュータ
２２   画像取得部
２４   画像記憶部
２６   輪郭線抽出部
２８   輪郭線分割部
３０   部分輪郭線対応付部
３２，２３２  ３次元形状推定部
４０   出力装置
２３１ 輪郭線接続判定部
２３３ 輪郭線接続再判定部
【図１】
2020159748.tif 000022
【図２】
2020159748.tif 000023
【図３】
2020159748.tif 000024
【図４】
2020159748.tif 000025
【図５】
2020159748.tif 000026
【図６】
2020159748.tif 000027
【図７】
2020159748.tif 000028