(57)【要約】【課題】大域的な情報を用いた高精度なラベリングをより少ない計算量で実現できるようにする。【解決手段】実施形態の物体領域識別装置は、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置である。ベースコスト算出部は、前記各画素において前記複数の物体クラス毎のベースコストを算出する。遷移コスト推定部は、前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する。累積コスト算出部は、前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する。クラス決定部は、前記累積コストに基づいて、前記各画素の物体クラスを決定する。【選択図】図１
2019153235.tif 000002
【特許請求の範囲】
【請求項１】
画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置であって、
前記各画素において前記複数の物体クラス毎のベースコストを算出するベースコスト算出部と、
前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する遷移コスト推定部と、
前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する累積コスト算出部と、
前記累積コストに基づいて、前記各画素の物体クラスを決定するクラス決定部と、
を備える物体領域識別装置。
【請求項２】
前記累積コスト算出部は、前記画像上に設定した複数の走査方向毎に前記複数の物体クラス毎の前記遷移コストを推定し、
前記クラス決定部は、前記各画素において、前記複数の物体クラスのうち、前記複数の走査方向毎に算出した前記累積コストを加算した統合累積コストの値が最も小さい物体クラスを、当該画素の物体クラスとして決定する
請求項１に記載の物体領域識別装置。
【請求項３】
前記累積コスト算出部による前記累積コストの算出および前記クラス決定部による物体クラスの決定は、動的計画法を用いて行われる
請求項１または２に記載の物体領域識別装置。
【請求項４】
前記遷移コスト推定部は、前記各画素における前記累積コストが真の物体クラスで最小となるような前記遷移コストを推定するように、学習用データを用いて学習される
請求項１乃至３のいずれか一項に記載の物体領域識別装置。
【請求項５】
前記遷移コスト推定部は、ニューラルネットワークにより構成される
請求項４に記載の物体領域識別装置。
【請求項６】
前記遷移コスト推定部は、前記画像の注目画素とその周辺の画像小領域を入力とし、前記注目画素における前記遷移コストを推定して出力する
請求項１乃至５のいずれか一項に記載の物体領域識別装置。
【請求項７】
前記遷移コスト推定部は、別のニューラルネットワークによって算出された特徴量を入力とし、前記画像の注目画素における前記遷移コストを推定して出力する
請求項１乃至５のいずれか一項に記載の物体領域識別装置。
【請求項８】
前記遷移コスト推定部は、前記画像上で前記注目画素を特定する位置情報をさらに入力とする
請求項６または７に記載の物体領域識別装置。
【請求項９】
画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別方法であって、
前記各画素において前記複数の物体クラス毎のベースコストを算出し、
前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定し、
前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出し、
前記累積コストに基づいて、前記各画素の物体クラスを決定する
物体領域識別方法。
【請求項１０】
コンピュータを、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置として機能させるためのプログラムであって、
前記コンピュータに、
前記各画素において前記複数の物体クラス毎のベースコストを算出する機能と、
前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する機能と、
前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する機能と、
前記累積コストに基づいて、前記各画素の物体クラスを決定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、物体領域識別装置、物体領域識別方法およびプログラムに関する。
【背景技術】
【０００２】
画像の画素毎に物体種別をラベリングすることは、セマンティックセグメンテーションと呼ばれ、幅広い応用がある。例えば、自動車の自動運転では、車載カメラの映像から自動車、道路、歩行者などの領域を識別することで自動車の走路を決定できる。また、監視カメラの映像から人物の領域を識別することで、不審者の検出や人数カウント等に利用できる。セマンティックセグメンテーションによるラベリングが高精度なほど、その後の処理の信頼性も上がる。
【０００３】
セマンティックセグメンテーションの手法としては、画素毎に独立して物体ラベルを求める方法が広く知られている。しかし、物体ラベルは画素毎に大きく変化しないため、画像の大域的な情報を用いることで、ラベリング精度の向上が期待できる。そこで、大域的な情報を用いて画素毎の物体ラベルを決定する方法も提案されている。しかし、大域的な情報を用いて画素毎の物体ラベルを決定する従来の方法は、各画素の物体ラベルを周辺画素との関係から試行錯誤的に求めるものであるため、高精度のラベリングを行うためには計算を繰り返し行う必要がある。このため、特に解像度の高い画像に対しては計算時間が長くかかってしまうという問題があり、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現できるようにすることが求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１７７０６号公報
【非特許文献】
【０００５】
【非特許文献１】Vijay  Badrinarayanan  et  al．，“SegNet：A  Deep  Convolutional  Encoder-Decoder  Architecture  for  Image  Segmentation”，IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence，2017．
【非特許文献２】Shuai  Zheng  et  al．，“Conditional  Random  Field  as  Recurrent  Neural  Networks”，International  Conference  on  Computer  Vision，2015．
【非特許文献３】H．Hirschmuller，“Stereo  Processing  by  Semiglobal  Matching  and  Mutual  Information”,IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence，2008．
【非特許文献４】Akihito  Seki  and  Marc  Pollefeys，“SGM-Nets：Semi-global  matching  with  neural  networks”，IEEE  CVPR，July，2017．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現できる物体領域識別装置、物体領域識別方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の物体領域識別装置は、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行う物体領域識別装置であって、ベースコスト算出部と、遷移コスト推定部と、累積コスト算出部と、クラス決定部と、を備える。ベースコスト算出部は、前記各画素において前記複数の物体クラス毎のベースコストを算出する。遷移コスト推定部は、前記画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する。累積コスト算出部は、前記画像上に設定した走査方向に沿って、前記ベースコストと前記遷移コストを前記複数の物体クラス毎に累積して、前記各画素における前記複数の物体クラス毎の累積コストを算出する。クラス決定部は、前記累積コストに基づいて、前記各画素の物体クラスを決定する。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る物体領域識別装置の機能的な構成例を示すブロック図。
【図２】遷移コストの概要を説明する図。
【図３−１】画像上に４つの走査方向を設定する例を説明する図。
【図３−２】画像上に８つの走査方向を設定する例を説明する図。
【図４】累積コストを計算する過程を説明する図。
【図５】実施形態に係る物体領域識別装置の処理手順を示すフローチャート。
【図６】遷移コスト推定部を学習する際の構成例を示すブロック図。
【図７】学習用データの一例を示す図。
【図８】遷移コスト推定部を学習する際の処理手順を示すフローチャート。
【図９】第１ロスを説明する図。
【図１０】第２ロスを説明する図。
【図１１】遷移コスト推定部の具体的な構造の一例を示す図。
【図１２】走査方向と遷移コストとの関係を説明する図。
【図１３】遷移コスト推定部の具体的な構造の他の例を示す図。
【図１４】図１３に示す構造の遷移コスト推定部を用いた場合の物体領域識別装置の構成例を示す図。
【図１５】実施形態に係る物体領域識別装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、実施形態の物体領域識別装置、物体領域識別方法およびプログラムについて詳細に説明する。本実施形態は、画像の各画素が予め定めた複数の物体クラスのいずれに属するかを識別して画素毎に物体種別のラベリングを行うものであり、特に、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現する、新規なセマンティックセグメンテーションの手法を提案するものである。
【００１０】
大域的な情報を用いたセマンティックセグメンテーションのエネルギー関数は、下記式（１）のように表すことができる。
【数１】
2019153235.tif 000003
ここで、ｘは画像における画素位置、ｙはｘに隣接する画素位置、ｃｘ，ｃｙはそれぞれ画素位置ｘ，ｙにおける物体クラスｃである。Ｕは画素位置ｘ毎・物体クラスｃ毎のコストであり、ｐは画素位置ｘと画素位置ｙとの間で物体クラスｃが変化（遷移）する際に要するペナルティである。Ｃは画像全体の物体クラスを表し、大域的な情報を用いたセマンティックセグメンテーションは、上記式（１）により最もエネルギーの小さいＣ^を求める問題である。
【００１１】
上記式（１）の右辺第２項のペナルティｐ（ペアワイズ項と呼ばれることもある）が０の場合、右辺第１項のコストＵが最小となる物体クラスｃが画素位置ｘ毎に決定される。これは、画素毎に独立して物体ラベルを求めるセマンティックセグメンテーションの手法（例えば、非特許文献１に開示される手法）と同様である。上記式（１）では、右辺第１項のコストＵに対して、右辺第２項のペナルティｐが加算されることで、画素毎の急激なラベルの変化が抑制される。
【００１２】
大域的な情報を用いたセマンティックセグメンテーションの従来手法（例えば、特許文献１に開示される手法や非特許文献２に開示される手法）では、上記式（１）を解いて高精度なラベリングを行うためには、ｃｘ（画素位置ｘにおける物体クラスｃ）を更新しながら安定するまで繰り返し計算を行う必要があり、計算時間が長くなる。これに対し本実施形態では、後述の「累積コスト」の概念を導入し、動的計画法を用いて上記式（１）を近似的に解くことで、１回の操作で画像の各画素の物体クラスを決定する。これにより、繰り返しの計算を行う従来手法と比較して計算時間を大幅に短縮することができる。
【００１３】
図１は、本実施形態に係る物体領域識別装置１０の機能的な構成例を示すブロック図である。この物体領域識別装置１０は、図１に示すように、ベースコスト算出部１１と、遷移コスト推定部１２と、累積コスト算出部１３と、クラス決定部１４と、を備える。
【００１４】
ベースコスト算出部１１は、処理対象となる画像を入力とし、この画像の各画素において複数の物体クラス毎のベースコストを算出する。ここで、複数の物体クラスは、用途に応じて予め定められる。上述の自動運転向けの用途では、一例として、「自動車」、「道路」、「歩行者」、「その他」の４つの物体クラスが予め定められる。以下では、この事例を適宜想定して説明するが、この例に限定されるものではない。
【００１５】
ベースコスト算出部１１により算出されるベースコストは、上記式（１）のコストＵに相当する。ベースコスト算出部１１は、例えば、非特許文献１に開示されるニューラルネットワーク（ＳｅｇＮｅｔ）などを利用して実現できる。ただし、非特許文献１のニューラルネットワークは、物体クラス毎に計算した値が最大値を取る物体クラスをその画素の物体クラスとして決定するため、非特許文献１のニューラルネットワークにより計算される値ｓを、下記式（２）により、ベースコストＵに変換する。
【数２】
2019153235.tif 000004
【００１６】
ここでは、非特許文献１のニューラルネットワークで計算される値ｓがシグモイド関数などを施すことで０〜１に正規化されていることを想定し、上記式（２）によりベースコストＵに変換している。ただし、ベースコスト算出部１１は、真の物体クラスで値が小さくなるようなベースコストＵを算出できればよく、その実現方法は上述の例に限らない。なお、非特許文献１のニューラルネットワークは、事前に大量の画像を使って学習（ネットワークパラメータが更新）されるが、その学習方法については説明を省略する。
【００１７】
遷移コスト推定部１２は、画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する。遷移コストは、同一の物体クラスでは０、異なる物体クラス間では非負となるようにし、遷移が容易な物体クラスほど０に近い値を持つようにする。遷移コスト推定部１２により推定される遷移コストは、上記式（１）のペナルティｐに相当する。
【００１８】
遷移コストの概要を図２を使って説明する。ここでは、自動車の自動運転向けの用途を想定し、物体クラスとして、「自動車」、「道路」、「歩行者」、「その他」の４つの物体クラスが予め定められているものとする。図２に示す画像例は、自動車１１０が道路１２０上を走行している様子を撮影した画像１００であり、自動車１１０に属する画素１０１と道路１２０に属する画素１０２とが図２に示す位置で隣接している。なお、図２では説明のため、画素１０１と画素１０２を実際の画素の大きさよりも大きく描いている。
【００１９】
図２に示す画像１００において、画素１０１と画素１０２の位置では、画素１０１から画素１０２への方向で真の物体クラスが「自動車」から「道路」に変化している。よって、画素１０１から画素１０２への方向では、物体クラスが「自動車」から「道路」に遷移する遷移コストは０に近くなり、その他の物体クラスの遷移、例えば「自動車」→「歩行者」や、「その他」→「自動車」などの遷移コストは大きな値が推定されることが望ましい。また、図２の画像１００では、画素１０３と画素１０４がともに道路１２０に属するため、これら画素１０３と画素１０４の位置では、物体クラスが「道路」から他の物体クラスに遷移する遷移コストをはじめ、あらゆる物体クラスの遷移に対する遷移コストは大きな値が推定されることで、画素１０３と画素１０４の間で物体クラスが変わってしまうのを防ぐ。
【００２０】
遷移コスト推定部１２は、処理対象となる画像の位置と方向に応じて上述の遷移コストを推定する。この遷移コスト推定部１２は、処理対象となる画像の各画素における後述の累積コストが真の物体クラスで最小となるような遷移コストを推定するように、学習用データを用いて事前に学習される。遷移コスト推定部１２は、例えば、ニューラルネットワークとして構築することができる。この場合、事前の学習によりニューラルネットワークのパラメータ（各層の重みやバイアス）が更新される。なお、遷移コスト推定部１２の具体的な学習方法については、詳細を後述する。
【００２１】
累積コスト算出部１３は、処理対象となる画像上に設定した走査方向に沿って、上述のベースコストと遷移コストを複数の物体クラス毎に累積して、処理対象となる画像の各画素における複数の物体クラス毎の累積コストを算出する。クラス決定部１４は、累積コスト算出部１３により算出された累積コストに基づいて、処理対象となる画像の各画素の物体クラスを決定する。
【００２２】
本実施形態に係る物体領域識別装置１０は、上述のように、動的計画法を用いて上記式（１）を近似的に解くことで、処理対象となる画像の各画素の物体クラスを決定する。つまり、累積コスト算出部１３による累積コストの算出およびクラス決定部１４による物体クラスの決定が、動的計画法を用いて行われる。
【００２３】
動的計画法を用いた累積コストの算出および物体クラスの決定の概要は、以下の通りである。すなわち、画像上の任意の画素位置Ａに対し、画像上に設定した走査方向に対して１つ戻った画素位置を画素位置Ｂとする。このとき、画素位置Ａの物体クラス毎のベースコストに、画素位置Ｂにおける遷移コストと累積コストの最小の組み合わせを加算したものを、画素位置Ａの累積コストとして算出する。この操作を、画素位置Ａを走査方向に沿って１画素ずつずらしながら行って、画像の全画素について物体クラス毎の累積コストを算出する。画像に複数の走査方向を設定した場合は、上述の操作を走査方向毎に行い、走査方向毎に算出した累積コストを物体カテゴリ毎に加算して統合累積コストとする。そして、画像の各画素において、累積コスト（走査方向が複数の場合は統合累積コスト）が最も小さい値をとる物体クラスを、その画素の物体クラスとして決定する。
【００２４】
動的計画法を用いた画像処理の技術としては、非特許文献３に開示される技術が知られている。上述の動的計画法を用いた累積コストの算出および物体クラスの決定は、例えば、この非特許文献３に開示される技術を応用することで実現できる。ただし、非特許文献３に開示される技術はステレオ画像を利用した視差画像の生成に関するものであり、これをそのまま適用することはできない。このため、新たに定式化を行う。以下では、非特許文献３に開示される技術を応用した累積コストの算出および物体クラスの決定の具体例について詳しく説明する。
【００２５】
まず、処理対象となる画像上に走査方向を設定する。走査方向は複数設定することができる。走査方向の数が多いほど、セマンティックセグメンテーションのラベリング精度の向上が期待できる反面、計算量が多くなる。このため、用途に応じて要求される精度と装置の演算処理能力とに応じて、最適な数の走査方向を設定することが望ましい。図３−１は、画像２００上に４つの走査方向を設定した例を示しており、画素位置ｘ０に向かって、水平に左から右への走査方向２０１と、水平に右から左への走査方向２０２と、垂直に上から下への走査方向２０３と、垂直に下から上への走査方向２０４とが設定されている。また、図３−２は、画像２００上に８つの走査方向を設定した例を示しており、図３−１で示した４つの走査方向に加えて、画素位置ｘ０に向かって、左下から右上へ４５度の走査方向２０５と、右上から左下へ４５度の走査方向２０６と、左上から右下へ４５度の走査方向２０７と、右下から左上へ４５度の走査方向２０８とが設定されている。
【００２６】
次に、処理対象となる画像上に設定した走査方向毎に、画像の各画素における累積コストを算出する。走査方向毎に行う処理は同一であるため、以下では１つの走査方向に着目して説明する。
【００２７】
図４は、画素位置ｘ０に向かって累積コストを計算する過程を説明する図である。図４の横軸は画素位置、縦軸は物体クラスをそれぞれ示している。画素位置ｘｎは、画素位置ｘ０から走査方向に対してｎ画素分戻った画素位置を示している。物体クラスの数は固定であり、ここでは４つの物体クラスｃ１〜ｃ４（自動車・道路・歩行者・その他）があるものとしている。図４の例では、画素位置ｘ３と画素位置ｘ２の間と、画素位置ｘ１と画素位置ｘ０との間で物体クラスが変化しており、それぞれ遷移コストｐ’，ｐ”が生じている。図中のＥＶは、画素位置ｘ１と画素位置ｘ０との間を拡大したものである。Ｐ２→１は、物体クラスｃ２から物体クラスｃ１への遷移コストである。
【００２８】
累積コスト算出部１３は、下記式（３）に従って、走査方向ｒ毎に、画像の各画素における物体クラスｃ毎の累積コストＬｒを算出する。下記式（３）は、画素位置ｘ０における物体クラスｃｋの累積コストＬｒ（ｘ０，ｃｋ）を求める式である。
【数３】
2019153235.tif 000005
ただし、Ｕ（ｘ０，ｃｋ）は画素位置ｘ０における物体クラスｃｋのベースコスト、Ｌｒ（ｘ１，ｃｋ）は画素位置ｘ１における物体クラスｃｋの累積コスト、Ｌｒ（ｘ１，ｃｉ）は画素位置ｘ１における物体クラスｃｉの累積コスト、Ｐｉ→ｋ（ｘ１）は画素位置ｘ１と画素位置ｘ０との間で物体クラスがｃｉからｃｋに遷移する際に要する遷移コストである。
【００２９】
上記式（３）に示すように、画像の各画素における走査方向毎の累積コストは、走査方向に対して１つ戻った画素位置における累積コストと遷移コストを比較して最小になる物体クラスの累積コストを当該画素のベースコストに加算することで求められる。累積コスト算出部１３は、画像上に設定した走査方向に沿って各画素の累積コストをベースコストに順次加算していくことで、画像の各画素における物体クラス毎の累積コストを算出する。
【００３０】
なお、この計算方法では、走査方向に沿って隣接画素間で累積コストを加算していくため、装置の演算処理能力によっては値がオーバーフローする懸念もある。このような場合には、下記式（４）に示すように、走査方向に対して１つ戻った画素位置における累積コストの最小値を減算したＬｒ’をＬｒの代わりに用いてもよい。
【数４】
2019153235.tif 000006
【００３１】
走査方向毎に累積コストを求める上述の処理は他の走査方向との相互作用がないため、複数方向で並列して計算することが可能である。さらに、走査方向と平行な画素位置では相互作用がないため、位置に関しても並列に計算可能である。例えば、図３−１に示した例のように４つの走査方向を設定した場合には、走査方向２０１〜２０４で並列に計算でき、かつ、例えば走査方向２０１については、画像２００の縦方向の画素分だけ並列に計算可能である。
【００３２】
次に、累積コスト算出部１３は、以上のように走査方向毎に算出した累積コストＬｒを下記式（５）に従って加算し、画像の各画素における物体クラス毎の統合累積コストＬを求める。下記式（５）は、画素位置ｘ０における物体クラスｃｋの統合累積コストＬ（ｘ０，ｃｋ）を求める式である。なお、画像上に設定された走査方向が１つのみであれば、統合累積コストＬ＝累積コストＬｒである。
【数５】
2019153235.tif 000007
【００３３】
累積コスト算出部１３により物体クラス毎の統合累積コストＬが求められると、クラス決定部１４が、画像の各画素において、下記式（６）に従って、統合累積コストＬの値が最も小さい物体クラスを選択し、これを当該画素の物体クラスとして決定する。下記式（６）は、画素位置ｘ０の物体クラスｃｘ０を決定する式である。
【数６】
2019153235.tif 000008
【００３４】
以上のようにして、処理対象となる画像の各画素の物体クラスが決定されることにより、処理対象となる画像は画素毎に物体種別のラベリングが行われる。例えば、上述の自動運転の事例では、処理対象となる画像の各画素が「自動車」、「道路」、「歩行者」、「その他」のいずれかの物体ラベルでラベリングされ、画像における物体領域が識別される。
【００３５】
図５は、本実施形態に係る物体領域識別装置１０の処理手順を示すフローチャートである。なお、図５の各ステップの具体的な内容は上述した通りであるので、詳細な説明は適宜省略する。
【００３６】
処理対象となる画像が入力されると（ステップＳ１０１）、まず、ベースコスト算出部１１が、ステップＳ１０１で入力された画像の各画素において予め定めた複数の物体クラス毎のベースコストを算出する（ステップＳ１０２）。
【００３７】
次に、遷移コスト推定部１２が、ステップＳ１０１で入力された画像上の隣接する画素間で物体クラスが遷移する際に要する遷移コストを推定する（ステップＳ１０３）。
【００３８】
次に、累積コスト算出部１３が、ステップＳ１０１で入力された画像上に設定した走査方向毎に、各画素の物体クラス毎の累積コストを算出する（ステップＳ１０４）。そして、累積コスト算出部１３は、ステップＳ１０４で走査方向毎に算出した累積コストを加算して、統合累積コストを算出する（ステップＳ１０５）。
【００３９】
次に、クラス決定部１４が、ステップＳ１０１で入力された画像の各画素について、複数の物体クラスのうち、ステップＳ１０５で算出された統合累積コストの値が最も小さい物体クラスを、その画素の物体クラスとして決定する（ステップＳ１０６）。
【００４０】
以上説明したように、本実施形態に係る物体領域識別装置１０は、大域的な情報を用いたセマンティックセグメンテーションを実現するにあたり、処理対象となる画像上に設定した走査方向毎に上記式（３）に従って各画素の物体クラス毎の累積コストを算出する。そして、複数の走査方向を設定した場合は、走査方向毎の累積コストを加算して統合累積コストを算出する。そして、画像の各画素において統合累積コスト（走査方向が１つの場合は累積コスト）の値が最も小さい物体クラスを、その画素の物体クラスとして決定する。したがって、従来技術のように繰り返しの計算を行うことなく１回の操作で各画素の物体クラスを決定することができ、大域的な情報を用いた高精度なラベリングをより少ない計算量で実現することができる。
【００４１】
次に、上述の遷移コストを推定する遷移コスト推定部１２がニューラルネットワークにより構成されている場合を想定し、この遷移コスト推定部１２の具体的な学習方法について説明する。遷移コスト推定部１２の学習時には、図６に示すように、クラス決定部１４の代わりに更新部１５が設けられ、累積コスト算出部１３の出力が更新部１５に入力される。更新部１５は、累積コスト算出部１３の出力が教示データに近づくように、遷移コスト推定部１２を学習（ニューラルネットワークのネットワークパラメータを更新）する。
【００４２】
教示データとは、画像に対応する正しいラベリング結果を示すデータである。画像と教示データとの組み合わせが学習用データである。学習用データの一例を図７に示す。図７に例示する学習用データは、図２で例示した画像１００と、この画像１００に対応する教示データ３００とを含む。教示データ３００は、画像１００の自動車１１０が映る領域３１０内の各画素が「自動車」の物体ラベルでラベリングされ、画像１００の道路１２０が映る領域３２０内の各画素が「道路」の物体ラベルでラベリングされ、その他の領域３３０内の各画素が「その他」の物体ラベルでラベリングされていることを示している。更新部１５が遷移コスト推定部１２を適切に学習するには、多数の学習用データが必要となる。
【００４３】
遷移コスト推定部１２は、画素が隣接する方向に対して画像全体で固定値の遷移コストを推定するタイプと、画素位置の周辺のパタンに応じて変動する遷移コストを推定するタイプとの２つのタイプに大別される。前者のタイプの遷移コスト推定部１２は、推定する遷移コストが固定値であるため、任意の正値を設定すればよい。遷移コストの決め方の１つの指針として、教示データに含まれる物体ラベル数に応じて決めればよい。すなわち、隣接する画素間で物体クラスが遷移する態様についてヒストグラムを作成し、出現頻度が大きい遷移に関しては相対的に小さい遷移コストを割り当て、出現頻度が小さい遷移に関しては相対的に大きい遷移コストを割り当てればよい。このため、前者のタイプの遷移コスト推定部１２は、事前の学習が容易である。
【００４４】
しかし、実際には、画像パタンによって異なる遷移コストを与えるべきであると考えられる。例えば図２に示した画像例の画素１０３，１０４は典型的な道路に属する画像パタンとなっている。このような場合には、自動車から歩行者に遷移する際の遷移コストなど、最もらしからぬ遷移に対する遷移コストは大きくするべきである。後者のタイプの遷移コスト推定部１２は、このような要求に応えるものであり、例えばニューラルネットワークを用いて実現することができる。
【００４５】
以下では、後者のタイプの遷移コスト推定部１２の具体的な学習方法について説明する。なお、遷移コスト推定部１２を学習する際は、多数の学習用データを用いて、以下に示す遷移コスト推定部１２の学習を繰り返し行う。
【００４６】
遷移コスト推定部１２の学習は、例えば、非特許文献４に開示される技術を応用して実施することができる。ただし、非特許文献４に開示される技術はステレオ画像を利用した視差画像の生成に関するものであり、これをそのまま適用することはできない。このため、新たに定式化を行う。この例の場合、まず、遷移コストの更新を行う画素位置を複数個選び出す。続いて、それらの画素位置を使って第１ロスおよび第２ロスを算出する。そして、これらの第１ロスおよび第２ロスに基づいて、遷移コスト推定部１２を学習する。
【００４７】
図８は、遷移コスト推定部１２を学習する際の処理手順を示すフローチャートである。以下、このフローチャートに沿って、遷移コスト推定部１２の具体的な学習方法について詳しく説明する。
【００４８】
ステップＳ２０１では、遷移コストの更新を行う画素位置を画像から複数個選び出す。これらの画素位置は、画像内のすべての画素位置を選択してもよいが、現実的な計算速度で遷移コスト推定部１２の学習を行うには、画像内から離散的に一部の画素位置を選び出せば十分である。
【００４９】
ステップＳ２０２では、第１ロスを算出する。さらに、遷移コスト推定部１２は、ニューラルネットワークで構築されるため、一般的な学習手法である誤差逆伝播法（Backpropagation）に必要な微分も求める。
【００５０】
第１ロスは、下記式（７）に従って算出することができる。下記式（７）は、画素位置ｘ０における走査方向ｒに対応する第１ロスＨ１（ｘ０，ｒ）を求める式である。
【数７】
2019153235.tif 000009
【００５１】
上記式（６）により、統合累積コストの値が最小となる物体クラスをその画素位置の物体クラスとして決定するため、真の物体クラスｃｇｔはそれ以外の物体クラスｃｉよりマージンｍ以上小さくなるように、ヒンジロスの形式で設計された上記式（７）に従って、第１ロスを算出する。なお、画素位置ｘ０はステップＳ２０２で選択された画素位置である。上記式（７）では、走査方向ｒも考慮している。例えば、自動車はほとんどの場合、道路上に存在することから、例えば走査方向が下から上であるとき、物体クラスが自動車からその他に変わることはあるが、走査方向が上から下であるときに、物体クラスが自動車からその他になることはまれなはずである。走査方向ｒを考慮することにより、こうした傾向を遷移コスト推定部１２の学習に反映させることができる。
【００５２】
続いて、上記式（７）から、遷移コストに対する微分を求める。物体クラスの遷移の一例を図９に示す。図９に示す例では、画素位置ｘ０で物体クラスｃ１が真の物体クラスｃｇｔとなっている。ここで、画素位置ｘ３から画素位置ｘ０までの間で、物体クラスｃ３が物体クラスｃ１（＝ｃｇｔ）に遷移するパス４０１と、物体クラスｃ３が物体クラスｃ４（＝ｃｉ）に遷移するパス４０２とを考える。これらのパス４０１，４０２の累積コストを上記式（３）に従って求める。すると、パス４０１の累積コストは下記式（８）、パス４０２の累積コストは下記式（９）でそれぞれ記述できる。
【数８】
2019153235.tif 000010
【数９】
2019153235.tif 000011
【００５３】
上記式（８）および上記式（９）を上記式（７）を代入し、下記式（１０）の条件を満たす場合、遷移コストに対する微分は下記式（１１）のように求めることができる。下記式（１０）の条件を満たさない場合は、遷移コストに対する微分はすべて０である。
【数１０】
2019153235.tif 000012
【数１１】
2019153235.tif 000013
【００５４】
よって、微分が非０となる画素位置およびその遷移を保持しておき、後述のステップＳ２０４において遷移コスト推定部１２を誤差逆伝播法により学習する際に、微分の値を利用することができる。
【００５５】
ステップＳ２０３では、第２ロスを算出する。第１ロスは累積コストを計算する際の途中の画素位置における真の物体クラスを考慮していない。よって、遷移コストによっては、例えば図９に示すパス４０３のように、パス４０１とは異なるパスを通って真の物体クラスｃｇｔに到達することもありえる。この場合、パス４０３の累積コストは下記式（１２）のようになる。
【数１２】
2019153235.tif 000014
【００５６】
上記式（１２）と上記式（８）とを比べると、右辺第３項と第５項が異なっていることが分かる。これによって正しく遷移コストが求められないため、本ステップで第２コストを算出する。第２ロスの算出には２つの条件が必要である。１つめは、画素位置ｘ０と画素位置ｘ１の両方で真の物体クラスｃｇｔが既知であること、２つめは、画素位置ｘ１で累積コストが最小値をとる物体クラスが真の物体クラスｃｇｔと一致していることである。これら２つの条件が満たされた画素位置に対して、下記式（１３）により第２ロスを計算する。下記式（１３）は、画素位置ｘ０における走査方向ｒに対応する第２ロスＨ２（ｘ０，ｒ）を求める式である。
【数１３】
2019153235.tif 000015
【００５７】
上記式（１３）において、Ｓ（・）は、図１０に示すパス５０１のように、画素位置ｘ１における真の物体クラスｃｇｔから画素位置ｘ０で真の物体クラスｃｇｔに到達するパスである。また、Ｎ（・）はそれ以外のパスであり、図１０に示すパス群５０２のように、画素位置ｘ１における真でない物体クラスｃｉから画素位置ｘ０で真の物体クラスｃｇｔに到達するパス群と、図１０に示すパス群５０３のように、画素位置ｘ０で真でない物体クラスｃｉに到達するパス群である。図１０に示す例では、Ｓ（・）とＮ（・）はそれぞれ下記式（１４）、下記式（１５）のように記述できる。
【数１４】
2019153235.tif 000016
【数１５】
2019153235.tif 000017
上記式（１５）の＊と♯は画素位置ｘ１と画素位置ｘ０との物体クラスの組み合わせであり、両画素位置で真の物体クラスｃｇｔとなる組み合わせは除く。
【００５８】
第２ロスを求める上記式（１３）から、第１ロスと同様に、遷移コストに対する微分を求めることができる。
【００５９】
ステップＳ２０４では、ステップＳ２０２とステップＳ２０３で計算される第１ロスと第２ロスの双方を用いて、遷移コスト推定部１２を学習する。例えば、第１ロスと第２ロスから、下記式（１６）に示すようにロスＨを作成する。そして、このロスＨが小さくなるように、遷移コスト推定部１２を学習する。
【数１６】
2019153235.tif 000018
【００６０】
上記式（１６）で示されるロスＨは、第１ロスと第２ロスの組み合わせである。したがって、上述の第１ロスに関する遷移コストに対する微分の値と、第２ロスに関する遷移コストに対する微分の値とを用いて、遷移コスト推定部１２を構成するニューラルネットワークを誤差逆伝播法により適切に学習（ネットワークパラメータを更新）することができる。
【００６１】
遷移コスト推定部１２の学習は、入力する学習用データを順次切り替えながら、累積コスト算出部１３による累積コストの算出および図８のフローチャートに従った処理を繰り返す。学習の終了条件としては、例えば、所定回数以上の繰り返し回数を設定してもよいし、Ｖａｌｉｄａｔｉｏｎデータを用いた検証によりセマンティックセグメンテーションのエラーが収束したと判断される場合に終了してもよい。
【００６２】
次に、遷移コスト推定部１２の具体的な構造例について説明する。図１１は、遷移コスト推定部１２の具体的な構造の一例を示す図である。図１１に示す遷移コスト推定部１２は、画像パッチ６０１を入力とするニューラルネットワークである。画像パッチ６０１は、画素位置ｘ０（注目画素）とその周辺の画像小領域である。画像パッチ６０１はマルチスケール化したり、カラー画像を入力したりしてもよい。また、画像パッチ６０１に加えて、画像全体における画像パッチ６０１の位置（注目画素の位置）を特定する位置情報６０２を遷移コスト推定部１２の入力として用いてもよい。
【００６３】
例えば車載カメラにより撮影された画像では、画像の下方は道路の領域が多く、自動車は画像の中央付近に映るなど、分布に偏りがある。この情報を有効に利用するために、位置情報６０２をニューラルネットワークの入力の１つとして用いることが望ましい。
【００６４】
ニューラルネットワークの最終段６０３では、出力６０４を正値とするため、ＥＬＵ（Exponential  Linear  Unit）と定数を足している。出力６０４が正値となるレイヤであればＥＬＵに限定されない。出力６０４は、物体クラスの遷移コストである。例えばＮ個の物体クラスがあり、Ｍ個の方向で遷移コストを推定する場合（走査方向がＭ個ある場合）の出力数は、Ｎ×（Ｎ−１）×Ｍである。
【００６５】
なお、図１２に示すように、物体クラスｃ１に属する画素７０１と物体クラスｃ２に属する画素７０２がある場合、走査方向７０３に沿って物体クラスがｃ１からｃ２に遷移する際の遷移コストと、走査方向７０３と逆方向である走査方向７０４に沿って物体クラスがｃ２からｃ１に遷移する際の遷移コストとが同じになるように学習することで、出力６０４の数を半分に減らしてもよい。出力６０４の数を減らすことにより、計算時間をさらに短縮したり、学習に用いる学習用データの数を削減したりすることが期待できる。
【００６６】
図１３は、遷移コスト推定部１２の具体的な構造の他の例を示す図である。図１３に示す遷移コスト推定部１２は、ニューラルネットワークとして構成されることは図１１の例と同様であるが、図１１に示した画像パッチ６０１の代わりに別のニューラルネットワーク８０１の特徴量を入力として用いる。ニューラルネットワーク８０１として、例えばベースコスト算出部１１として非特許文献１のニューラルネットワークを用いる場合は、このニューラルネットワークの特徴量をエンコードする部分（解像度を下げて畳み込み演算をすることにより計算された特徴量マップ）を用いることができる。すなわち、ベースコスト算出部１１の中間出力である特徴量を、遷移コスト推定部１２の入力として用いることができる。遷移コスト推定部１２の入力は、画素位置ごとに異なる特徴量となっていることが望ましい。非特許文献１のニューラルネットワークでは、低解像度から高解像度までマルチスケールの情報を用いることができる。
【００６７】
また、図１１の例と同様に、画像全体における画素位置を特定する位置情報８０２を特徴量と併せて遷移コスト推定部１２に入力するようにしてもよい。さらに、これ以外にも遷移コスト推定部１２の入力として、画像が撮影された場所、地域、時間、天候、カメラの種類などの情報を用いたり、ＲＧＢ画像以外にも深度を加えたＲＧＢＤや深度画像のみや、赤外画像などを用いたりしてもよい。ニューラルネットワークの最終段８０３は、図１１の例と同様であり、物体クラスの遷移コストを出力８０４とする。
【００６８】
図１４は、図１３に示す構造の遷移コスト推定部１２を用いた場合の物体領域識別装置１０の構成例を示す図である。図１４に示す物体領域識別装置１０は、入力画像９０１の各画素における物体クラス毎のベースコストをベースコスト算出部１１で算出する。また、大域的な情報を用いるため、ベースコスト算出部１１の中間出力である特徴量を用いて、遷移コスト推定部１２において物体クラス間の遷移コストを推定する。そして、ベースコスト算出部１１の出力と遷移コスト推定部１２の出力とを用いて、累積コスト算出部１３において各画素における物体クラス毎の累積コストを算出する。走査方向が複数ある場合は、走査方向毎の累積コストを加算して統合累積コストを算出する。そして、累積コスト算出部１３の出力を用いて、クラス決定部１４において入力画像９０１の各画素の物体クラスを決定し、入力画像９０１に対応するラベリング結果（セマンティックセグメンテーションの結果）９０２を出力する。
【００６９】
上述の特許文献１や非特許文献２で開示される従来の手法により推定されるペナルティ（ペアワイズ項）は、ガウス関数にＲＧＢで表現される画素値や画素位置の距離などを入力し、その標準偏差や複数のガウス関数の重みで調整した後、画像特徴に関係なく決まっている物体クラス間の重みであるCompatibilityを最後に掛け合わせ算出したものである。ところが物体クラス間の重みは画像特徴と相関があるため、従来手法により推定されるペナルティは十分な表現能力がない。これに対し、本実施形態に係る物体領域識別装置１０の遷移コスト推定部１２は、入力された画像パッチやニューラルネットワークの中間出力である特徴量に対して、特徴量を改めて自動で学習し、学習された特徴量から遷移コスト（ペナルティに相当）を直接推定するため、十分な表現能力を持つ。すなわち、本実施形態では、従来手法のようにCompatibilityを分離する必要がなく、画素値ではなく画像のパタンも同時に考慮されるため、従来手法よりも遷移コストを適切に推定することができる。
【００７０】
上述した本実施形態に係る物体領域識別装置１０は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。すなわち、上述の物体領域識別装置１０の各部の機能は、汎用のコンピュータ装置に搭載された１以上のプロセッサにプログラムを実行させることにより実現することができる。このとき、物体領域識別装置１０は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
【００７１】
図１５は、本実施形態に係る物体領域識別装置１０のハードウェア構成例を示すブロック図である。物体領域識別装置１０は、例えば図１５に示すように、ＣＰＵ（Central  Processing  Unit）などのプロセッサ２１と、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）などのメモリ２２と、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）などのストレージデバイス２３と、液晶パネルなどの表示装置２６や画像を撮影するカメラ２７といった機器を接続するための機器Ｉ／Ｆ２４と、装置外部と通信を行う通信Ｉ／Ｆ２５と、これら各部を接続するバス２８とを備えた一般的なコンピュータとしてのハードウェア構成を有する。
【００７２】
物体領域識別装置１０が図１５のようなハードウェア構成を有する場合、例えば、プロセッサ２１がメモリ２２を利用して、ストレージデバイス２３などに格納されたプログラムを読み出して実行することにより、上述の各部（ベースコスト算出部１１、遷移コスト推定部１２、累積コスト算出部１３、クラス決定部１４（更新部１５））の機能を実現することができる。
【００７３】
なお、上述の物体領域識別装置１０の各部の機能は、その一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェア（汎用のプロセッサではなく専用のプロセッサ）により実現することもできる。また、複数のプロセッサを用いて上述した各部の機能を実現する構成であってもよい。
【００７４】
また、本実施形態に係る物体領域識別装置１０は、複数台のコンピュータ装置を用い、上述の各部の機能を複数台のコンピュータ装置に分散して実現した物体領域識別システムとして構成してもよい。また、本実施形態に係る物体領域識別装置１０は、クラウドシステム上で動作する仮想マシンであってもよい。
【００７５】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７６】
１０  物体領域識別装置
１１  ベースコスト算出部
１２  遷移コスト推定部
１３  累積コスト算出部
１４  クラス決定部
１５  更新部
【図１】
2019153235.tif 000019
【図２】
2019153235.tif 000020
【図３−１】
2019153235.tif 000021
【図３−２】
2019153235.tif 000022
【図４】
2019153235.tif 000023
【図５】
2019153235.tif 000024
【図６】
2019153235.tif 000025
【図７】
2019153235.tif 000026
【図８】
2019153235.tif 000027
【図９】
2019153235.tif 000028
【図１０】
2019153235.tif 000029
【図１１】
2019153235.tif 000030
【図１２】
2019153235.tif 000031
【図１３】
2019153235.tif 000032
【図１４】
2019153235.tif 000033
【図１５】
2019153235.tif 000034