(57)【要約】【課題】対象物の属性に対する認識精度を簡易な構成で高めることが可能な技術を提供する。【解決手段】本発明の一側面に係る対象物解析装置は、対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得部と、前記対象物の属性を判別するための学習済みのニューラルネットワークの入力として前記取得した画像データ及び前記距離データを用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を得るニューラルネットワーク演算部と、前記ニューラルネットワークから得られた前記出力値に基づいて、前記対象物の属性を特定する属性特定部と、を備える。【選択図】図４
2018147286.tif 000002
【特許請求の範囲】
【請求項１】
対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得部と、
前記対象物の属性を判別するための学習済みのニューラルネットワークの入力として前記取得した画像データ及び前記距離データを用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を得るニューラルネットワーク演算部と、
前記ニューラルネットワークから得られた前記出力値に基づいて、前記対象物の属性を特定する属性特定部と、
を備える、
対象物解析装置。
【請求項２】
前記属性特定部は、前記対象物の属性として、前記対象物の凹凸状態、材質、三次元形状、及び平面状態の少なくとも１つを特定する、
請求項１に記載の対象物解析装置。
【請求項３】
前記属性特定部は、前記対象物の属性として、前記対象物の複数の物理的特性を特定する、
請求項１又は２に記載の対象物解析装置。
【請求項４】
利用者の指定に応じて、それぞれ異なる対象物の属性について判別するための学習を行った複数の学習済みのニューラルネットワークから前記ニューラルネットワーク演算部の利用するニューラルネットワークを選択するニューラルネットワーク選択部を更に備える、
請求項１から３のいずれか１項に記載の対象物解析装置。
【請求項５】
前記画像データ及び前記距離データは、車両外部の状況を前記対象物として撮影することにより得られ、
前記属性特定部は、前記ニューラルネットワークから得られた前記出力値に基づいて、路面の状態、障害物の有無、及び障害物の種類の少なくとも１つを前記対象物の属性として特定する、
請求項１から４のいずれか１項に記載の対象物解析装置。
【請求項６】
前記画像データ及び前記距離データは、製造ラインで製造される製品を前記対象物として撮影することにより得られ、
前記属性特定部は、前記ニューラルネットワークから得られた前記出力値に基づいて、前記製品の大きさ、形状、及び傷の有無の少なくとも１つを前記対象物の属性として特定する、
請求項１から５のいずれか１項に記載の対象物解析装置。
【請求項７】
前記画像データ及び前記距離データは、前記対象物として人間を撮影することにより得られ、
前記属性特定部は、前記ニューラルネットワークから得られた前記出力値に基づいて、前記人間の体型、表情、及び姿勢の少なくとも１つを前記対象物の属性として特定する、
請求項１から６のいずれか１項に記載の対象物解析装置。
【請求項８】
コンピュータが、
対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得ステップと、
前記対象物の属性を判別するための学習済みのニューラルネットワークの入力として前記取得した画像データ及び前記距離データを用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を得る演算処理ステップと、
前記ニューラルネットワークから得られた前記出力値に基づいて、前記対象物の属性を特定する属性特定ステップと、
を実行する、
対象物解析方法。
【請求項９】
前記属性特定ステップでは、前記コンピュータは、前記対象物の属性として、前記対象物の凹凸状態、材質、三次元形状、及び平面状態の少なくとも１つを特定する、
請求項８に記載の対象物解析方法。
【請求項１０】
前記属性特定ステップでは、前記コンピュータは、前記対象物の属性として、前記対象物の複数の物理的特性を特定する、
請求項８又は９に記載の対象物解析方法。
【請求項１１】
前記コンピュータは、利用者の指定に応じて、それぞれ異なる対象物の属性について判別するための学習を行った複数の学習済みのニューラルネットワークから前記演算処理ステップで利用するニューラルネットワークを選択する選択ステップを更に実行する、
請求項８から１０のいずれか１項に記載の対象物解析方法。
【請求項１２】
前記画像データ及び前記距離データは、車両外部の状況を前記対象物として撮影することにより得られ、
前記属性特定ステップでは、前記コンピュータは、前記ニューラルネットワークから得られた前記出力値に基づいて、路面の状態、障害物の有無、及び障害物の種類の少なくとも１つを前記対象物の属性として特定する、
請求項８から１１のいずれか１項に記載の対象物解析方法。
【請求項１３】
前記画像データ及び前記距離データは、製造ラインで製造される製品を前記対象物として撮影することにより得られ、
前記属性特定ステップでは、前記コンピュータは、前記ニューラルネットワークから得られた前記出力値に基づいて、前記製品の大きさ、形状、及び傷の有無の少なくとも１つを前記対象物の属性として特定する、
請求項８から１２のいずれか１項に記載の対象物解析方法。
【請求項１４】
前記画像データ及び前記距離データは、前記対象物として人間を撮影することにより得られ、
前記属性特定ステップでは、前記コンピュータは、前記ニューラルネットワークから得られた前記出力値に基づいて、前記人間の体型、表情、及び姿勢の少なくとも１つを前記対象物の属性として特定する、
請求項８から１３のいずれか１項に記載の対象物解析方法。
【請求項１５】
対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得部と、
前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理部と、
を備える、
学習装置。
【請求項１６】
コンピュータが、
対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得ステップと、
前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理ステップと、
を実行する、
学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物解析装置、対象物解析方法、学習装置及び学習方法に関する。
【背景技術】
【０００２】
近年、コンピュータの処理能力が向上したことに伴い、多層構造のニューラルネットワークを用いたディープラーニングが様々な産業用途で利用されつつある。例えば、特許文献１には、ＣＣＤカメラにより得られた画像情報と超音波距離センサにより得られた距離情報とを同一のニューラルネットワークに入力し、当該ニューラルネットワークからの出力信号に基づいて運動装置を駆動させる運動制御装置が提案されている。
【０００３】
また、例えば、特許文献２には、ニューラルネットワークを用いて、ステレオカメラにより撮影した一対の画像から生成される距離画像内の立体物の識別を行う立体物認識装置が提案されている。具体的には、この立体物認識装置は、ステレオカメラにより得られた一対の画像間に生じる視差を利用して距離画像を生成し、生成した距離画像上で同一立体物を示す距離データ群をグループ化する。次に、立体物認識装置は、グループ化した立体物の距離データ群を包含する最小の領域を距離画像上に設定し、当該領域を設定分割数で分割する小領域毎に代表的な距離データを要素とする入力値を設定する。そして、立体物認識装置は、設定した入力値をニューラルネットワークに入力することで得られる出力値のパターンに基づいて立体物の種類を識別する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０６−１２４１２０号公報
【特許文献２】特開２００５−３４６２９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、超音波距離センサにより得られた距離情報を用いているが、この距離情報の示す距離の値は、ＣＣＤカメラにより得られる画像の各画素にそのままでは対応していない。また、超音波距離センサにより距離の値を取得可能な範囲は画像内に写る撮影範囲の一部である。すなわち、超音波距離センサでは、画像を構成する全ての画素について、その画素に写る対象までの距離の値を取得することはできない。そのため、特許文献１の方法では、対象物の属性に対する認識精度を高めるのが困難であるという問題点があった。
【０００６】
また、特許文献２の方法では、ニューラルネットワークにデータを入力する前に、一対の画像間で対応する点を探索するステレオマッチング、同一立体物を示す距離データ群のグルーピング等の画像処理を行っている。そのため、特許文献２の方法では、システムの構成が煩雑になってしまうという問題点があった。
【０００７】
本発明は、一側面では、このような点を考慮してなされたものであり、その目的は、対象物の属性に対する認識精度を簡易な構成で高めることが可能な技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００９】
すなわち、本発明の一側面に係る対象物解析装置は、対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得部と、前記対象物の属性を判別するための学習済みのニューラルネットワークの入力として前記取得した画像データ及び前記距離データを用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を得るニューラルネットワーク演算部と、前記ニューラルネットワークから得られた前記出力値に基づいて、前記対象物の属性を特定する属性特定部と、を備える。
【００１０】
上記対象物解析装置では、ニューラルネットワークに対する入力として、対象物の像を含む画像を示す画像データの他、画像を構成する各画素の距離の値を示す距離データを利用する。よって、画像内の各画素について距離の値が得られているため、対象物の属性に対するニューラルネットワークの認識精度を高めることができる。また、上記対象物解析装置では、画像に対する高度な画像処理を行うことなく、画像データ及び距離データをニューラルネットワークに入力するだけで対象物の属性を特定することができるため、対象物の属性を解析する処理を簡易な構成で実現することができ、ＣＰＵの処理負荷を下げて、使用メモリの容量を低減することができる。したがって、上記対象物解析装置によれば、対象物の属性に対する認識精度を簡易な構成で高めることができる。なお、対象物は、撮影装置により撮影可能なあらゆる物を含んでよい。また、特定される対象物の属性は、画像に現れる対象物のあらゆる特徴を含んでよい。
【００１１】
また、上記一側面に係る対象物解析装置の別の形態として、前記属性特定部は、前記対象物の属性として、前記対象物の凹凸状態、材質、三次元形状、及び平面状態の少なくとも１つを特定してもよい。凹凸状態は、対象物に存在する凸部及び凹部の形状、大きさ等を示す。凸部には、突起が含まれる。また、凹部には、開口及び孔が含まれる。平面状態は、対象物の面の広がり具合、傾斜具合等を示す。凹凸状態、材質、三次元形状、及び平面状態は、単一の画像からは解析し難い属性である。当該構成によれば、画像データの他、距離データを利用しているため、単一の画像からは解析し難いこれらの属性を比較的に精度よく識別することができる。
【００１２】
また、上記一側面に係る対象物解析装置の別の形態として、前記属性特定部は、前記対象物の属性として、前記対象物の複数の物理的特性を特定してもよい。当該構成によれば、対象物を比較的に精度よく識別することができる。なお、物理的特性とは、対象物に物理的に表れる特徴のことである。物理的特性は、対象物の大きさ、形状、姿勢等の幾何学的特徴、及び対象物の組成等の材質的特徴を含む。
【００１３】
また、上記一側面に係る対象物解析装置の別の形態として、上記対象物解析装置は、利用者の指定に応じて、それぞれ異なる対象物の属性について判別するための学習を行った複数の学習済みのニューラルネットワークから前記ニューラルネットワーク演算部の利用するニューラルネットワークを選択するニューラルネットワーク選択部を更に備えてもよい。当該構成によれば、対象物の種類に適した解析処理を実現することができる。
【００１４】
また、上記一側面に係る対象物解析装置の別の形態として、前記画像データ及び前記距離データは、車両外部の状況を前記対象物として撮影することにより得られてもよく、前記属性特定部は、前記ニューラルネットワークから得られた前記出力値に基づいて、路面の状態、障害物の有無、及び障害物の種類の少なくとも１つを前記対象物の属性として特定してもよい。当該構成によれば、車両外部の状況を高精度に識別可能な対象物解析装置を提供することができる。
【００１５】
また、上記一側面に係る対象物解析装置の別の形態として、前記画像データ及び前記距離データは、製造ラインで製造される製品を前記対象物として撮影することにより得られてもよく、前記属性特定部は、前記ニューラルネットワークから得られた前記出力値に基づいて、前記製品の大きさ、形状、及び傷の有無の少なくとも１つを前記対象物の属性として特定してもよい。当該構成によれば、製造ラインで製造される製品の品質を高精度に識別可能な対象物解析装置を提供することができる。
【００１６】
また、上記一側面に係る対象物解析装置の別の形態として、前記画像データ及び前記距離データは、前記対象物として人間を撮影することにより得られてもよく、前記属性特定部は、前記ニューラルネットワークから得られた前記出力値に基づいて、前記人間の体型、表情、及び姿勢の少なくとも１つを前記対象物の属性として特定してもよい。当該構成によれば、人物を高精度に識別可能な対象物解析装置を提供することができる。
【００１７】
また、本発明の一側面に係る学習装置は、対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得部と、前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理部と、を備える。当該構成によれば、所望の解析対象に応じて、上記対象物解析装置に利用する学習済みニューラルネットワークを構築することができる。
【００１８】
なお、上記各形態に係る対象物解析装置及び学習装置それぞれの別の態様として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積する媒体である。
【００１９】
例えば、本発明の一側面に係る対象物解析方法は、コンピュータが、対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得ステップと、前記画像データ及び前記距離データをニューラルネットワークの入力として用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を取得する演算処理ステップと、前記ニューラルネットワークから取得した前記出力値に基づいて、前記対象物の属性を特定する属性特定ステップと、を実行する情報処理方法である。
【００２０】
上記一側面に係る対象物解析方法において、前記属性特定ステップでは、前記コンピュータは、前記対象物の属性として、前記対象物の凹凸状態、材質、三次元形状、及び平面状態の少なくとも１つを特定してもよい。
【００２１】
上記一側面に係る対象物解析方法において、前記属性特定ステップでは、前記コンピュータは、前記対象物の属性として、前記対象物の複数の物理的特性を特定してもよい。
【００２２】
上記一側面に係る対象物解析方法において、前記コンピュータは、利用者の指定に応じて、それぞれ異なる対象物の属性について判別するための学習を行った複数の学習済みのニューラルネットワークから前記演算処理ステップで利用するニューラルネットワークを選択する選択ステップを更に実行してもよい。
【００２３】
上記一側面に係る対象物解析方法において、前記画像データ及び前記距離データは、車両外部の状況を前記対象物として撮影することにより得られてよく、前記属性特定ステップでは、前記コンピュータは、前記ニューラルネットワークから得られた前記出力値に基づいて、路面の状態、障害物の有無、及び障害物の種類の少なくとも１つを前記対象物の属性として特定してもよい。
【００２４】
上記一側面に係る対象物解析方法において、前記画像データ及び前記距離データは、製造ラインで製造される製品を前記対象物として撮影することにより得られてよく、前記属性特定ステップでは、前記コンピュータは、前記ニューラルネットワークから得られた前記出力値に基づいて、前記製品の大きさ、形状、及び傷の有無の少なくとも１つを前記対象物の属性として特定してもよい。
【００２５】
上記一側面に係る対象物解析方法において、前記画像データ及び前記距離データは、前記対象物として人間を撮影することにより得られてよく、前記属性特定ステップでは、前記コンピュータは、前記ニューラルネットワークから得られた前記出力値に基づいて、前記人間の体型、表情、及び姿勢の少なくとも１つを前記対象物の属性として特定してもよい。
【００２６】
また、例えば、本発明の一側面に係る対象物解析プログラムは、コンピュータに、対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得ステップと、前記画像データ及び前記距離データをニューラルネットワークの入力として用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を取得する演算処理ステップと、前記ニューラルネットワークから取得した前記出力値に基づいて、前記対象物の属性を特定する属性特定ステップと、を実行させるためのプログラムである。
【００２７】
また、例えば、本発明の一側面に係る学習方法は、対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得ステップと、前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理ステップと、を実行する情報処理方法である。
【００２８】
また、例えば、本発明の一側面に係る学習プログラムは、対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得ステップと、前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理ステップと、を実行させるためのプログラムである。
【発明の効果】
【００２９】
本発明によれば、対象物の属性に対する認識精度を簡易な構成で高めることができる。
【図面の簡単な説明】
【００３０】
【図１】図１は、実施の形態に係る対象物解析装置及び学習装置の適用場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る対象物解析装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る対象物解析装置の機能構成の一例を模式的に例示する。
【図５】図５は、実施の形態に係る画像データ及び距離データを説明するための図である。
【図６】図６は、実施の形態に係る学習装置の機能構成の一例を模式的に例示する。
【図７】図７は、対象物解析装置の処理手順の一例を例示する。
【図８Ａ】図８Ａは、対象物の属性を解析する場面の一例を例示する。
【図８Ｂ】図８Ｂは、対象物の属性を解析する場面の一例を例示する。
【図８Ｃ】図８Ｃは、対象物の属性を解析する場面の一例を例示する。
【図９】図９は、学習装置の処理手順の一例を例示する。
【発明を実施するための形態】
【００３１】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００３２】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係る対象物解析装置１及び学習装置２の適用場面の一例を模式的に例示する。本実施形態に係る対象物解析装置１は、ニューラルネットワークを用いて、対象物６の属性を解析するための情報処理装置である。
【００３３】
図１に示されるとおり、対象物解析装置１は、カメラ３を介して、対象物６の像を含む画像を示す画像データと、画像を構成する各画素の距離の値を示す距離データと、を取得する。対象物６は、撮影装置により撮影可能なあらゆる物を含んでよく、例えば、車両外部の状況等のシーン、又は製造ラインで製造される製品、人間等の所定の物体であってよい。
【００３４】
また、カメラ３は、後述するとおり、一般的な画像（例えば、白黒画像、カラー画像）を撮影すると共に、画像を構成する各画素の距離を測定可能な撮影装置であれば、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。カメラ３には、例えば、オプテックス社のＺＣ−１０００Ｌ−ＨＰシリーズ、マイクロソフト社のKinect、ＡＳＵＳ社のXtion、ライトロジャパン社のILLUM等を用いることができる。
【００３５】
続いて、対象物解析装置１は、取得した画像データ及び距離データを、対象物６の属性を判別するための学習済みのニューラルネットワークの入力として用いて、当該ニューラルネットワークの演算処理を行うことで、当該ニューラルネットワークから出力値を得る。そして、対象物解析装置１は、ニューラルネットワークから得られた出力値に基づいて、対象物６の属性を特定する。特定される対象物６の属性は、画像に現れる対象物６の特徴であれば、特に限定されなくよく、実施の形態に応じて適宜選択されてよい。
【００３６】
一方、本実施形態に係る学習装置２は、対象物解析装置１が利用するニューラルネットワークを作成する、すなわち、ニューラルネットワークの学習を行うための情報処理装置である。具体的には、学習装置２は、学習データとして、対象物６の像を含む画像を示す画像データ及び画像を構成する各画素の距離の値を示す距離データ、並びに対象物６の属性を示す属性データの組を取得する。学習データは、学習を所望する対象物６の属性に応じて適宜作成される。
【００３７】
続いて、学習装置２は、学習データを用いて、画像データ及び距離データを入力すると属性データの示す属性に対応する出力値を出力するようにニューラルネットワークの学習を行う。これにより、上記対象物解析装置１で利用する学習済みニューラルネットワークが構築される。なお、上記対象物解析装置１は、例えば、ネットワーク１０を介して、学習装置２により構築される学習済みのニューラルネットワークを取得してもよい。ネットワーク１０の種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００３８】
以上のとおり、本実施形態では、対象物６の属性の解析において、対象物６の像を含む画像を示す画像データの他に、画像を構成する各画素の距離の値を示す距離データを、ニューラルネットワークに対する入力として利用する。すなわち、ニューラルネットワークによる対象物６の属性の解析において、対象物６の像を含む画像の他、画像内の各画素について得られる距離の値を利用する。これによって、対象物６の属性に対するニューラルネットワークの認識精度を高めることができる。また、本実施形態では、画像に対する高度な画像処理を行うことなく、画像データ及び距離データをニューラルネットワークに入力するだけで、対象物６の属性を解析することができる。これによって、対象物６の属性を解析する処理を簡易な構成で実現することができ、ＣＰＵの処理負荷を下げて、使用メモリの容量を低減することができる。したがって、本実施形態によれば、対象物６の属性に対する認識精度を簡易な構成で高めることができる。
【００３９】
§２  構成例
［ハードウェア構成］
＜対象物解析装置＞
次に、図２を用いて、本実施形態に係る対象物解析装置１のハードウェア構成の一例を説明する。図２は、本実施形態に係る対象物解析装置１のハードウェア構成の一例を模式的に例示する。
【００４０】
図２に示されるとおり、本実施形態に係る対象物解析装置１は、制御部１１、記憶部１２、通信インタフェース１３、入力装置１４、出力装置１５、外部インタフェース１６、及びドライブ１７が電気的に接続されたコンピュータである。ただし、図２では、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００４１】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、情報処理に応じて各構成要素の制御を行う。記憶部１２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部１１で実行される対象物解析プログラム１２１、学習済みのニューラルネットワークに関する情報を示す学習済みデータ１２２等を記憶する。記憶部１２は、「メモリ」に相当する。
【００４２】
対象物解析プログラム１２１は、対象物解析装置１に後述する対象物６の属性を解析する処理（図７）を実行させるためのプログラムである。また、学習済みデータ１２２は、ニューラルネットワークの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を含み、対象物６の属性を解析する処理に用いる学習済みニューラルネットワークを設定するのに利用される。なお、本実施形態では、記憶部１２は、複数件の学習済みデータ１２２を格納している。
【００４３】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。外部インタフェース１６は、ＵＳＢ（Universal Serial Bus）ポート等であり、カメラ３等の外部装置と接続するためのインタフェースである。
【００４４】
ドライブ１７は、例えば、ＣＤ（Compact Disk）ドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むための装置である。ドライブ１７の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記対象物解析プログラム１２１及び／又は学習済みデータ１２２は、この記憶媒体９１に記憶されていてもよい。
【００４５】
記憶媒体９１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。対象物解析装置１は、この記憶媒体９１から、対象物解析プログラム１２１及び／又は学習済みデータ１２２を取得してもよい。
【００４６】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００４７】
なお、対象物解析装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）等で構成されてよい。対象物解析装置１は、複数台の情報処理装置で構成されてもよい。また、対象物解析装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップＰＣ（Personal Computer）、タブレットＰＣ等が用いられてもよい。
【００４８】
＜学習装置＞
次に、図３を用いて、本実施形態に係る学習装置２のハードウェア構成の一例を説明する。図３は、本実施形態に係る学習装置２のハードウェア構成の一例を模式的に例示する。
【００４９】
図３に示されるとおり、本実施形態に係る学習装置２は、制御部２１、記憶部２２、通信インタフェース２３、入力装置２４、出力装置２５、外部インタフェース２６、及びドライブ２７が電気的に接続されたコンピュータである。なお、図３では、図２と同様に、通信インタフェース及び外部インタフェースをそれぞれ、「通信Ｉ／Ｆ」及び「外部Ｉ／Ｆ」と記載している。
【００５０】
制御部２１〜ドライブ２７及び記憶媒体９２はそれぞれ、上記対象物解析装置１の制御部１１〜ドライブ１７及び記憶媒体９１と同様である。また、外部インタフェース２６を介して接続されるカメラ５は、上記対象物解析装置１に接続されるカメラ３と同様である。ただし、学習装置２の記憶部２２は、制御部２１で実行される学習プログラム２２１、ニューラルネットワークの学習に利用する学習データ２２２等を記憶する。
【００５１】
学習プログラム２２１は、学習装置２に後述するニューラルネットワークの学習処理（図９）を実行させるためのプログラムである。また、学習データ２２２は、ニューラルネットワークを対象物６の所望の属性を解析可能に学習させるためのデータであり、画像データ及び距離データ並びに属性データを含む。学習データ２２２の詳細は後述する。
【００５２】
なお、上記対象物解析装置１と同様に、学習プログラム２２１及び／又は学習データ２２２は、記憶媒体９２に記憶されていてもよい。これに応じて、学習装置２は、利用する学習プログラム２２１及び／又は学習データ２２２を記憶媒体９２から取得してもよい。
【００５３】
また、上記対象物解析装置１と同様に、学習装置２の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。更に、学習装置２は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、デスクトップＰＣ等が用いられてもよい。
【００５４】
［機能構成］
＜対象物解析装置＞
次に、図４を用いて、本実施形態に係る対象物解析装置１の機能構成の一例を説明する。図４は、本実施形態に係る対象物解析装置１の機能構成の一例を模式的に例示する。
【００５５】
対象物解析装置１の制御部１１は、記憶部１２に記憶された対象物解析プログラム１２１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された対象物解析プログラム１２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図４に示されるとおり、本実施形態に係る対象物解析装置１は、データ取得部１１１、ニューラルネットワーク演算部１１２、属性特定部１１３、及びニューラルネットワーク選択部１１４を備えるコンピュータとして機能する。
【００５６】
データ取得部１１１は、対象物６の像を含む画像を示す画像データ１２３、及び画像を構成する各画素の距離の値を示す距離データ１２４を取得する。ニューラルネットワーク演算部１１２は、画像データ１２３及び距離データ１２４を、対象物６の属性を判別するための学習済みのニューラルネットワーク７の入力として用いて、当該ニューラルネットワーク７の演算処理を行うことにより、ニューラルネットワーク７から出力値を得る。属性特定部１１３は、ニューラルネットワーク７から得られた出力値に基づいて、対象物６の属性を特定する。ニューラルネットワーク選択部１１４は、利用者の指定に応じて、それぞれ異なる対象物の属性について判別するための学習を行った複数の学習済みのニューラルネットワークからニューラルネットワーク演算部１１２の利用するニューラルネットワーク７を選択する。なお、利用するニューラルネットワーク７は、学習済みデータ１２２に基づいて設定される。
【００５７】
ここで、図５を更に用いて、画像データ１２３及び距離データ１２４について説明する。図５は、カメラ３により取得される画像データ１２３及び距離データ１２４を説明するための図である。本実施形態に係るカメラ３は、対象物（被写体）の像を結像して画像を形成し、かつ当該形成する画像の各画素に対応して対象物までの距離を測定可能に構成される。例えば、カメラ３は、赤外線ＬＥＤ（Light Emitting Diode）等の赤外光を照射する投光部とＣＭＯＳ（Complementary MOS）イメージセンサ等の赤外光及び可視光を受光する受光部とを備える撮影装置である。
【００５８】
これにより、カメラ３は、対象物から反射した可視光線を受光部により結像することで、画像を構成する各画素の色を画素値で表現した画像データ１２３を取得することができる。各画像の画素値は、例えば、ＲＧＢ色空間で表現されてもよいし、グレースケール色空間で表現されてもよい。各画像の画素値の表現方法は、実施の形態に応じて適宜選択可能である。
【００５９】
また、カメラ３は、投光部から投光した赤外光が対象物に当たって受光部に戻るまでの時間を画素毎に測定することで、カメラ３から各画素に写る像までの距離（深度）ｄの値を画素毎に示す距離データ１２４を取得することができる（ＴＯＦ方式：Time Of Flight）。この距離ｄは、カメラ３と対象物との直線の距離ｄ１で表現されてもよいし、カメラ３の被写体に対する水平軸から下ろした垂線の距離ｄ２で表現されてもよい。距離ｄ１及び距離ｄ２は三平方の定理等により互いに変換可能であるため、距離ｄ１及び距離ｄ２のいずれを採用しても、同様に説明可能である。
【００６０】
このように、本実施形態では、カメラ３は、画像を構成する各画素について、画素値の他、距離ｄの値を取得する。これによって、画像を取得する全ての範囲について、対象物までの距離ｄの値を取得することができる。加えて、画素値及び距離ｄの値を画素毎に対応付けて取得することができる。
【００６１】
ただし、画像を構成する全ての画素について必ずしも距離ｄの値が取得されなくてもよい。すなわち、取得される距離データにおいて、赤外光の反射が妨げられる等の理由により、対象物までの距離ｄの値が取得不能な画素が存在してもよい。なお、距離データ１２４は、画像を構成する各画素の距離の値を示すため、この距離データ１２４によっても画像を表わすことができる。画像データ１２３の示す画像と区別して、この距離データ１２４により示される画像を「距離画像」と称してもよい。
【００６２】
次に、ニューラルネットワーク７について説明する。図４に示されるとおり、利用されるニューラルネットワーク７は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層７１、中間層（隠れ層）７２、及び出力層７３を備えている。
【００６３】
図４では、ニューラルネットワーク７は１層の中間層７２を備えており、入力層７１の出力が中間層７２の入力となり、中間層７２の出力が出力層７３の入力となっている。ただし、中間層７２の数は１層に限られなくてもよく、ニューラルネットワーク７は、中間層７２を２層以上備えてもよい。
【００６４】
各層７１〜７３は、１又は複数のニューロンを備えている。例えば、入力層７１のニューロンの数は、画像データ１２３及び距離データ１２４の画素数に応じて設定することができる。中間層７２のニューロンの数は実施の形態に応じて適宜設定することができる。また、出力層７３は、解析対象とする対象物６の属性の種類数に応じて設定することができる。
【００６５】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図４の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００６６】
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。対象物解析装置１は、このようなニューラルネットワーク７の入力層７１に上記画像データ１２３及び距離データ１２４を入力することで出力層７３から得られる出力値に基づいて対象物６の属性を特定する。
【００６７】
＜学習装置＞
次に、図６を用いて、本実施形態に係る学習装置２の機能構成の一例を説明する。図６は、本実施形態に係る学習装置２の機能構成の一例を模式的に例示する。
【００６８】
学習装置２の制御部２１は、記憶部２２に記憶された学習プログラム２２１をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された学習プログラム２２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係る学習装置２は、学習データ取得部２１１、及び学習処理部２１２を備えるコンピュータとして機能する。
【００６９】
学習データ取得部２１１は、学習データ２２２として、対象物６の像を含む画像を示す画像データ２２３及び画像を構成する各画素の距離の値を示す距離データ２２４、並びに対象物６の属性を示す属性データ２２５の組を取得する。学習処理部２１２は、学習データ２２２を用いて、画像データ２２３及び距離データ２２４を入力すると属性データ２２５の示す属性に対応する出力値を出力するようにニューラルネットワーク８を学習させる。
【００７０】
学習対象となるニューラルネットワーク８は、入力層８１、中間層（隠れ層）８２、及び出力層８３を備え、上記ニューラルネットワーク７と同様に構成される。各層８１〜８３は、上記各層７１〜７３と同様である。これにより、画像データ及び距離データを入力すると、対象物６の属性に対応する出力値を出力するニューラルネットワーク８が構築される。学習処理部２１２は、構築したニューラルネットワーク８の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を学習済みデータ１２２として記憶部２２に格納する。
【００７１】
＜その他＞
対象物解析装置１及び学習装置２の各機能に関しては後述する動作例で詳細に説明する。なお、本実施形態では、対象物解析装置１及び学習装置２の各機能がいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上の機能の一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、対象物解析装置１及び学習装置２それぞれの機能構成に関して、実施形態に応じて、適宜、機能の省略、置換及び追加が行われてもよい。
【００７２】
§３  動作例
［対象物解析装置］
次に、図７を用いて、対象物解析装置１の動作例を説明する。図７は、対象物解析装置１の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００７３】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、ニューラルネットワーク選択部１１４として機能し、利用者の指定に応じて、それぞれ異なる対象物の属性について判別するための学習を行った複数の学習済みのニューラルネットワークから後述するステップＳ１０３で利用するニューラルネットワーク７を選択する。
【００７４】
本実施形態では、対象物解析装置１は、解析対象とする対象物６及びその属性の種類に応じて、複数件の学習済みデータ１２２を記憶部１２に保持している。そこで、制御部１１は、解析対象となる対象物６及びその属性の種類を出力装置１５に出力し、利用者の入力装置１４による解析対象の指定を受け付ける。そして、制御部１１は、利用者から受け付けた指定に応じて利用する学習済みデータ１２２を選択し、選択した学習済みデータ１２２を用いて、ニューラルネットワーク７の設定を行う。
【００７５】
具体的には、学習済みデータ１２２は、画像データ及び距離データを入力すると、所望する種類の対象物６の所望する属性に対応する出力値を出力するニューラルネットワーク７を設定可能なように、ニューラルネットワーク７の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を含んでいる。制御部１１は、ニューラルネットワーク７の構成を示す情報に基づいて、ニューラルネットワーク７の構造、各層７１〜７３に含まれるニューロンの数、隣接する層のニューロン同士の結合状態等を設定する。また、制御部１１は、各ニューロン間の結合の重み及び各ニューロンの閾値を示す情報に基づいて、ニューラルネットワーク７の各パラメータの値を設定する。これにより、利用するニューラルネットワーク７の設定が完了する。
【００７６】
なお、対象物解析装置１は、利用者による入力装置１４の操作に応じて、各件の学習済みデータ１２２を、ネットワーク１０を介して学習装置２から取得してもよいし、ドライブ１７を介して記憶媒体９１から取得してもよい。また、対象物解析装置１は、学習装置２からの配信を受け付けることで、各件の学習済みデータ１２２を取得してもよい。更に、各件の学習済みデータ１２２はＮＡＳ（Network Attached Storage）等のその他の情報処理装置（記憶装置）に格納されていてもよく、対象物解析装置１は、本ステップＳ１０１の処理を行う際に当該その他の情報処理装置にアクセスすることで、各件の学習済みデータ１２２を取得してもよい。
【００７７】
（ステップＳ１０２）
次のステップＳ１０２では、制御部１１は、データ取得部１１１として機能し、画像データ１２３及び距離データ１２４を取得する。上記のとおり、本実施形態では、カメラ３が、画像データ１２３及び距離データ１２４を取得可能に構成される。そのため、制御部１１は、外部インタフェース１６を介してカメラ３から画像データ１２３及び距離データ１２４を取得する。
【００７８】
（ステップＳ１０３）
次のステップＳ１０３では、制御部１１は、ニューラルネットワーク演算部１１２として機能し、画像データ１２３及び距離データ１２４を、対象物６の属性を判別するための学習済みのニューラルネットワーク７の入力として用いて、当該ニューラルネットワーク７の演算処理を行うことにより、当該ニューラルネットワーク７から出力値を得る。
【００７９】
具体的には、制御部１１は、画像データ１２３に含まれる各画素の画素値及び距離データ１２４に含まれる各画素の距離の値を、ステップＳ１０１で設定したニューラルネットワーク７の入力層７１に含まれる各ニューロンに入力する。各値と各ニューロンとの対応関係は、実施の形態に応じて適宜設定されてよい。次に、制御部１１は、順伝搬の方向に各層７１〜７３に含まれる各ニューロンの発火判定を行う。これにより、制御部１１は、ニューラルネットワーク７の出力層７３に含まれる各ニューロンから出力値を得ることができる。
【００８０】
（ステップＳ１０４）
次のステップＳ１０４では、制御部１１は、属性特定部１１３として機能し、ステップＳ１０３でニューラルネットワーク７から得られた出力値に基づいて、対象物６の属性を特定する。
【００８１】
上記のとおり、ニューラルネットワーク７は、画像データ１２３及び距離データ１２４を入力すると、所望する種類の対象物６の所望する属性に対応する出力値を出力するように学習済みである。また、出力層７３に含まれるニューロンの数だけ出力値を得ることができ、得られる出力値のうち１又は複数の出力値を対象物６の１つの属性（属性値）に対応付けることができる。そして、対象物６の属性（属性値）とニューラルネットワーク７の出力値との対応関係を示す情報は、例えば、テーブル形式等のデータにより与えることができる。
【００８２】
制御部１１は、対象物６の属性（属性値）とニューラルネットワーク７の出力値との対応関係を示す情報を参照することで、ステップＳ１０３で得られた出力値に基づいて、対象物６の属性（属性値）を特定する。特定する対象物６の属性の数は、実施の形態に応じて適宜選択されてよい。具体例は後述する。これにより、制御部１１は、本動作例に係る対象物６の解析処理を終了する。
【００８３】
＜解析例＞
次に、図８Ａ〜図８Ｃを用いて、上記対象物解析装置１を利用した対象物６の属性解析の３つの具体例を示す。
【００８４】
（１）第１具体例（車両外部の状況解析）
まず、図８Ａを用いて、第１具体例について説明する。図８Ａは、第１具体例として、自動車等の車両の外部の状況を解析するのに上記対象物解析装置１を利用する場面を模式的に例示する。この場合、図８Ａに示されるとおり、カメラ３は、車両外部（例えば、車両前方）の状況を撮影可能に設置された車載カメラである。また、対象物解析装置１は、カメラ３に接続可能な車載装置、汎用のＰＣ等の情報処理装置である。
【００８５】
上記ステップＳ１０１では、制御部１１は、利用者から車両外部の状況解析の指定を受け付けたことに応じて、対応する学習済みデータ１２２に基づき、ニューラルネットワーク７Ａの設定を行う。続いて、上記ステップＳ１０２では、制御部１１は、車両外部の状況を対象物６Ａとして撮影することにより得られた画像データ１２３Ａ及び距離データ１２４Ａをカメラ３から取得する。
【００８６】
次に、上記ステップＳ１０３では、制御部１１は、画像データ１２３Ａに含まれる各画素の画素値及び距離データ１２４Ａに含まれる各画素の距離の値を、ニューラルネットワーク７Ａの入力層７１Ａに含まれる各ニューロンに入力する。更に、制御部１１は、順伝搬の方向に、入力層７１Ａ、中間層７２Ａ、及び出力層７３Ａに含まれる各ニューロンの発火判定の演算を行い、出力層７３Ａに含まれる各ニューロンから出力値を得る。
【００８７】
そして、上記ステップＳ１０４では、制御部１１は、ニューラルネットワーク７Ａから得られた出力値に基づいて、路面の状態、障害物の有無、及び障害物の種類の少なくとも１つを対象物６Ａの属性として特定する。解析対象とする車両外部の状況の種類は、実施の形態に応じて適宜選択されてよい。
【００８８】
例えば、図８Ａに示されるように、出力層７３Ａに含まれるニューロンの数が３つ以上であり、対象物解析装置１は、「路面の状態」及び「障害物の有無」の２種類の属性を少なくとも解析対象とするように設定されていてもよい。加えて、解析対象とする「路面の状態」の属性値は「平坦」「凸凹」「坂道（上り）」及び「坂道（下り）」の４種類であり、路面の各状態が出力値「（０，０）」「（０，１）」「（１，０）」及び「（１，１）」に対応付けられていてよい。更に、解析対象とする「障害物の有無」の属性値は「障害物がない」及び「障害物がある」の２種類であり、それぞれが出力値「０」及び「１」に対応付けられていてよい。
【００８９】
この場合、制御部１１は、ニューラルネットワーク７Ａの「路面の状態」に対応する出力値が「（０，０）」「（０，１）」「（１，０）」又は「（１，１）」であることに基づいて、撮影範囲内の路面の状態が「平坦」「凸凹」「坂道（上り）」又は「坂道（下り）」であることを認識することができる。また、制御部１１は、ニューラルネットワーク７Ａの「障害物の有無」に対応する出力値が「０」又は「１」であることに基づいて、撮影範囲内に「障害物がない」又は「障害物がある」ことを認識することができる。
【００９０】
なお、この「路面の状態」及び「障害物の有無」の認識結果は、車両の自動運転に利用されてもよい。例えば、「路面の状態」の認識結果に基づいて、制御部１１は、車両の運転速度を制御してもよい。また、例えば、「障害物がある」と認識したときに、制御部１１は、その障害物の前で停止するように車両を制御してもよい。
【００９１】
（２）第２具体例（製造ラインで製造される製品の状態解析）
次に、図８Ｂを用いて、第２具体例について説明する。図８Ｂは、第２具体例として、製造ラインで製造される製品の状態を解析するのに上記対象物解析装置１を利用する場面を模式的に例示する。この場合、図８Ｂに示されるとおり、カメラ３は、製造ラインを流れる製品を撮影可能に設置される。
【００９２】
上記ステップＳ１０１では、制御部１１は、製造ラインで製造される製品の状態解析の指定を利用者から受け付けたことに応じて、対応する学習済みデータ１２２に基づき、ニューラルネットワーク７Ｂの設定を行う。続いて、上記ステップＳ１０２では、制御部１１は、製造ラインで製造される製品を対象物６Ｂとして撮影することにより得られた画像データ１２３Ｂ及び距離データ１２４Ｂをカメラ３から取得する。
【００９３】
次に、上記ステップＳ１０３では、制御部１１は、画像データ１２３Ｂに含まれる各画素の画素値及び距離データ１２４Ｂに含まれる各画素の距離の値を、ニューラルネットワーク７Ｂの入力層７１Ｂに含まれる各ニューロンに入力する。更に、制御部１１は、順伝搬の方向に、入力層７１Ｂ、中間層７２Ｂ、及び出力層７３Ｂに含まれる各ニューロンの発火判定の演算を行い、出力層７３Ｂに含まれる各ニューロンから出力値を得る。
【００９４】
そして、上記ステップＳ１０４では、制御部１１は、ニューラルネットワーク７Ｂから得られた出力値に基づいて、前記製品の大きさ、形状、及び傷の有無の少なくとも１つを対象物６Ｂの属性として特定する。解析対象とする製品の状態の種類は、上記第１具体例と同様に、実施の形態に応じて適宜選択されてよい。例えば、図８Ｂでは、出力層７３Ｂの各出力値に基づいて、「製品の形状」及び「傷の有無」の２種類の属性を少なくとも解析対象とする場面が示されている。各属性値と出力値との対応関係は実施の形態に応じて適宜設定されてよい。
【００９５】
なお、この製品状態の認識結果は、製造された製品に異常があるか否かの判定に利用されてもよい。例えば、製品に「傷がある」と認識したときに、制御部１１は、その画像データ１２３Ｂ及び距離データ１２４Ｂに写る製品に異常があると判定し、そうではないときに、対象の製品に異常はないと判定してもよい。そして、制御部１１は、異常があると判定した製品を異常のない製品とは別のラインに流すように製造ラインを制御してもよい。
【００９６】
（３）第３具体例（人間の特徴解析）
次に、図８Ｃを用いて、第３具体例について説明する。図８Ｃは、第３具体例として、人間の特徴を解析するのに上記対象物解析装置１を利用する場面を模式的に例示する。この場合、図８Ｃに示されるとおり、カメラ３は、特徴を解析する対象となる人物を撮影可能に設置される。
【００９７】
上記ステップＳ１０１では、制御部１１は、対象人物の特徴解析の指定を利用者から受け付けたことに応じて、対応する学習済みデータ１２２に基づき、ニューラルネットワーク７Ｃの設定を行う。続いて、上記ステップＳ１０２では、制御部１１は、対象人物を対象物６Ｃとして撮影することにより得られた画像データ１２３Ｃ及び距離データ１２４Ｃをカメラ３から取得する。
【００９８】
次に、上記ステップＳ１０３では、制御部１１は、画像データ１２３Ｃに含まれる各画素の画素値及び距離データ１２４Ｃに含まれる各画素の距離の値を、ニューラルネットワーク７Ｃの入力層７１Ｃに含まれる各ニューロンに入力する。更に、制御部１１は、順伝搬の方向に、入力層７１Ｃ、中間層７２Ｃ、及び出力層７３Ｃに含まれる各ニューロンの発火判定の演算を行い、出力層７３Ｃに含まれる各ニューロンから出力値を得る。
【００９９】
そして、上記ステップＳ１０４では、制御部１１は、ニューラルネットワーク７Ｃから得られた出力値に基づいて、前記人間の体型、表情、及び姿勢の少なくとも１つを対象物６Ｃの属性として特定する。解析対象とする人間の特徴の種類は、上記第１及び第２具体例と同様に、実施の形態に応じて適宜選択されてよい。例えば、図８Ｃでは、出力層７３Ｃの各出力値に基づいて、「体型」及び「姿勢」の２種類の属性を少なくとも解析対象とする場面が示されている。各属性値と出力値との対応関係は実施の形態に応じて適宜設定されてよい。
【０１００】
なお、この人物の特徴の認識結果は、健康状態の判定等に利用されてもよい。例えば、制御部１１は、対象人物の体型が肥満型であると認識したときに、肥満の注意を促す警告を通知するようにしてもよい。
【０１０１】
（４）その他
上記３つの具体例はそれぞれ、上記対象物解析装置１の利用方法の一例である。上記対象物解析装置１の利用方法は、実施の形態に応じて適宜変更可能である。例えば、対象物解析装置１は、対象物６を部分的に写した画像データ及び距離データを入力することでニューラルネットワーク７から得られる出力値に基づいて、対象物６の三次元形状を特定するように構成されてもよい。
【０１０２】
なお、上記３つの具体例に例示されるように、対象物解析装置１は、上記ステップＳ１０４において、対象物６の属性として、対象物６の複数の物理的特性を特定するように構成されてもよい。物理的特性とは、対象物６の大きさ、形状、姿勢等、対象物６に物理的に表れる特徴のことである。物理的特性は、対象物６の大きさ、形状、姿勢等の幾何学的特徴、及び対象物６の組成等の材質的特徴を含む。本実施形態では、ニューラルネットワーク７の入力に、画素毎に距離の値を有する距離画像を構成する距離データ１２４を用いており、この距離画像には、対象物６の物理的特性（特に、幾何学的特徴）が比較的に現れやすい。そのため、対象物６の複数の物理的特性を特定するように構成することで、対象物解析装置１は、対象物６を比較的に精度よく識別することができる。
【０１０３】
また、対象物解析装置１は、上記ステップＳ１０４において、対象物６の物理的特性として、対象物６の凹凸状態、材質、三次元形状、及び平面状態の少なくとも１つを特定するように構成されてもよい。凹凸状態は、対象物６に存在する突起等の凸部、及び開口、孔等の凹部の形状、大きさ等を示す。平面状態は、対象物６の面の広がり具合、傾斜具合等を示す。
【０１０４】
例えば、上記第１具体例のケースでは、対象物解析装置１は、凹凸状態として、路面の形状がカメラ３に向って凸となっているのか凹となっているのかを特定することができる。また、例えば、対象物解析装置１は、対象物６の属性として、路面に置かれた透明な物体がガラスであるか水たまりであるかを特定することができる。また、例えば、対象物解析装置１は、対象物６の三次元形状として、対象物６が看板のような平板状の物体であるか、それとも比較的に厚みのある立方体状の物体であるかを特定することができる。凹凸状態、材質、三次元形状、及び平面状態は、単一の画像からは解析し難い属性である。本実施形態によれば、画像データ１２３の他、距離データ１２４を利用しているため、単一の画像からは解析し難いこれらの属性を比較的に精度よく識別することができる。
【０１０５】
［学習装置］
次に、図９を用いて、学習装置２の動作例を説明する。図９は、学習装置２の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１０６】
（ステップＳ２０１）
ステップＳ２０１では、制御部２１は、学習データ取得部２１１として機能し、対象物６の像を含む画像を示す画像データ２２３及び画像を構成する各画素の距離の値を示す距離データ２２４、並びに対象物６の属性を示す属性データ２２５の組を学習データ２２２として取得する。
【０１０７】
学習データ２２２は、ニューラルネットワーク８に対して、所望する対象物６の属性を解析可能に学習させるためのデータである。このような学習データ２２２は、用意した対象物６をカメラ５により様々な撮影条件で撮影し、得られる画像に撮影条件を紐付けることで作成することができる。
【０１０８】
具体的には、制御部２１は、カメラ５により、解析対象の各属性が表れた状態の対象物６を撮影する。カメラ５は、上記カメラ３と同様に構成されているため、制御部２１は、この撮影によって、解析対象の属性が表れた対象物６を写した画像を示す画像データ２２３及び距離データ２２４を取得することができる。そして、制御部２１は、当該画像に表れる対象物６の属性を示す属性データ２２５（すなわち、教師データ）の入力を適宜受け付け、入力により与えられた属性データ２２５を、取得した画像データ２２３及び距離データ２２４に紐付けることで、各件の学習データ２２２を作成することができる。この学習データ２２２の作成は、オペレータ等により手動で行われてもよいし、ロボット等により自動で行われてもよい。
【０１０９】
なお、この学習データ２２２の作成は、上記のように学習装置２により行われてもよいし、学習装置２以外の他の情報処理装置により行われてもよい。学習装置２が学習データ２２２を作成する場合には、制御部２１は、本ステップＳ２０１において、学習データ２２２の作成処理を実行することで、学習データ２２２を取得することができる。一方、学習装置２以外の他の情報処理装置が学習データ２２２を作成する場合には、学習装置２は、ネットワーク、記憶媒体９２等を介して、他の情報処理装置により作成された学習データ２２２を取得することができる。また、本ステップＳ２０１で取得する学習データ２２２の件数は、ニューラルネットワーク８の学習を行うことができるように、実施の形態に応じて適宜決定されてよい。
【０１１０】
（ステップＳ２０２）
次のステップＳ２０２では、制御部２１は、学習処理部２１２として機能して、ステップＳ２０１で取得した学習データ２２２を用いて、画像データ２２３及び距離データ２２４を入力すると属性データ２２５の示す属性に対応する出力値を出力するようにニューラルネットワーク８を学習させる。
【０１１１】
具体的には、まず、制御部２１は、学習処理を行う対象となるニューラルネットワーク８を用意する。用意するニューラルネットワーク８の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部２１は、再学習を行う対象となる学習済みデータ１２２に基づいて、ニューラルネットワーク８を用意してもよい。
【０１１２】
次に、制御部２１は、ステップＳ２０１で取得した各件の学習データ２２２に含まれる画像データ２２３及び距離データ２２４を入力データとし、属性データ２２５を教師データとして、ニューラルネットワーク８の学習を行う。このニューラルネットワーク８の学習は、勾配降下法、確率的勾配降下法等により行われてよい。
【０１１３】
例えば、制御部２１は、画像データ２２３及び距離データ２２４を入力層８１に入力することで出力層８３から出力される出力値と属性データ２２５の示す属性に対応する所望の値との誤差を算出する。続いて、制御部２１は、誤差逆伝搬法により、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部２１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１１４】
制御部２１は、各件の学習データ２２２について、ニューラルネットワーク８から出力される出力値が属性データ２２５の示す属性に対応する所望の値と一致するまでこの一連の処理を繰り返すことにより、ニューラルネットワーク８の学習を行う。これにより、画像データ２２３及び距離データ２２４を入力すると属性データ２２５の示す属性に対応する出力値を出力するニューラルネットワーク８を構築することができる。
【０１１５】
（ステップＳ２０３）
次のステップＳ２０３では、制御部２１は、学習処理部２１２として機能して、構築したニューラルネットワーク８の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を学習済みデータ１２２として記憶部２２に格納する。これにより、制御部２１は、本動作例に係るニューラルネットワーク８の学習処理を終了する。
【０１１６】
［作用・効果］
以上のように、本実施形態では、上記ステップＳ１０２により、対象物６の像を含む画像を示す画像データ１２３の他に、当該画像を構成する各画素の距離の値を示す距離データ１２４を取得する。そして、上記ステップＳ１０３及びＳ１０４により、この画像データ１２３及び距離データ１２４をニューラルネットワーク７に入力し、当該ニューラルネットワーク７から得られる出力値に基づいて対象物６の属性を特定する。
【０１１７】
すなわち、本実施形態では、対象物６が写る二次元画像（画像データ１２３）と共に、同じく対象物６が写る距離画像（距離データ１２４）をニューラルネットワーク７の入力として用いることで、対象物６の属性に対するニューラルネットワーク７の認識精度を高めることができる。加えて、本実施形態では、上記解析処理のとおり、対象物６の写る画像に対する高度な画像処理を行うことなく、ステップＳ１０３において、画像データ１２３及び距離データ１２４をニューラルネットワーク７に入力するだけで、対象物６の属性を解析することができる。したがって、本実施形態によれば、対象物６の属性に対する認識精度を簡易な構成で高めることができ、ＣＰＵの処理負荷を下げて、使用メモリの容量を低減することができる。
【０１１８】
また、本実施形態では、対象物解析装置１は複数件の学習済みデータ１２２を保持しており、ステップＳ１０１の処理により、利用者の指定に応じて、利用するニューラルネットワーク７の設定を行う。したがって、本実施形態によれば、対象物６の各属性に適した学習済みデータ１２２を予め用意しておくことができ、これによって、対象物６の各属性に適した解析処理を実現することができる。
【０１１９】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１２０】
＜４．１＞
例えば、上記実施形態では、対象物解析装置１は、複数件の学習済みデータ１２２を保持し、利用者の指定に応じて、所望の対象物６の属性を解析するニューラルネットワーク７を設定可能に構成されている。しかしながら、対象物解析装置１の構成は、このような例に限定されなくてもよく、対象物解析装置１は、１件の学習済みデータ１２２を保持するように構成されてもよい。この場合、上記ニューラルネットワーク選択部１１４及びステップＳ１０１は省略されてもよい。
【０１２１】
＜４．２＞
また、上記実施形態では、対象物の属性を解析する対象物解析装置１とニューラルネットワークの学習を行う学習装置２とは別々のコンピュータで構成されている。しかしながら、対象物解析装置１及び学習装置２の構成はこのような例に限定されなくてもよく、対象物解析装置１及び学習装置２の両方の機能を有するシステムを１台又は複数台のコンピュータで実現してもよい。
【０１２２】
＜４．３＞
また、上記実施形態では、図４及び図６に示されるとおり、各ニューラルネットワーク（７、８）の種類は、多層構造を有する一般的な順伝播型ニューラルネットワークである。しかしながら、各ニューラルネットワーク（７、８）の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、各ニューラルネットワーク（７、８）は、入力層７１及び中間層７２を畳み込み層及びプーリング層として利用する畳み込みニューラルネットワークであってもよい。また、例えば、各ニューラルネットワーク（７、８）は、中間層７２から入力層７１等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークであってもよい。
【０１２３】
（付記１）
ハードウェアプロセッサと、
前記ハードウェアプロセッサで実行するプログラムを保持するメモリと、
を備える対象物解析装置であって、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得ステップと、
前記対象物の属性を判別するための学習済みのニューラルネットワークの入力として前記取得した画像データ及び前記距離データを用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を得る演算処理ステップと、
前記ニューラルネットワークから得られた前記出力値に基づいて、前記対象物の属性を特定する属性特定ステップと、
を実施するように構成される、
対象物解析装置。
【０１２４】
（付記２）
ハードウェアプロセッサにより、対象物の像を含む画像を示す画像データ、及び前記画像を構成する各画素の距離の値を示す距離データを取得するデータ取得ステップと、
ハードウェアプロセッサにより、前記対象物の属性を判別するための学習済みのニューラルネットワークの入力として前記取得した画像データ及び前記距離データを用いて、当該ニューラルネットワークの演算処理を行うことにより、当該ニューラルネットワークから出力値を得る演算処理ステップと、
ハードウェアプロセッサにより、前記ニューラルネットワークから得られた前記出力値に基づいて、前記対象物の属性を特定する属性特定ステップと、
を備える、
対象物解析方法。
【０１２５】
（付記３）
ハードウェアプロセッサと、
前記ハードウェアプロセッサで実行するプログラムを保持するメモリと、
を備える学習装置であって、
前記ハードウェアプロセッサは、前記プログラムを実行することにより、
対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得ステップと、
前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理ステップと、
を実施するように構成される、
学習装置。
【０１２６】
（付記４）
ハードウェアプロセッサにより、対象物の像を含む画像を示す画像データ及び前記画像を構成する各画素の距離の値を示す距離データ、並びに前記対象物の属性を示す属性データの組を学習データとして取得する学習データ取得ステップと、
ハードウェアプロセッサにより、前記学習データを用いて、前記画像データ及び前記距離データを入力すると前記属性データの示す属性に対応する出力値を出力するようにニューラルネットワークを学習させる学習処理ステップと、
を備える、
学習方法。
【符号の説明】
【０１２７】
１…対象物解析装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…入出力インタフェース、
１７…ドライブ、
１１１…データ取得部、１１２…ニューラルネットワーク演算部、
１１３…属性特定部、１１４…ニューラルネットワーク選択部、
１２１…対象物解析プログラム、１２２…学習済みデータ、
１２３…画像データ、１２４…距離データ、
２…学習装置、
２１…制御部、２２…記憶部、２３…通信インタフェース、
２４…入力装置、２５…出力装置、２６…入出力インタフェース、
２７…ドライブ、
２１１…学習データ取得部、２１２…学習処理部、
２２１…学習プログラム、２２２…学習データ、
２２３…画像データ、２２４…距離データ、２２５…属性データ、
３・５…カメラ、
６・６Ａ・６Ｂ・６Ｃ…対象物、
７…ニューラルネットワーク、
７１…入力層、７２…中間層（隠れ層）、７３…出力層、
８…ニューラルネットワーク、
８１…入力層、８２…中間層（隠れ層）、８３…出力層、
９１・９２…記憶媒体
【図１】
2018147286.tif 000003
【図２】
2018147286.tif 000004
【図３】
2018147286.tif 000005
【図４】
2018147286.tif 000006
【図５】
2018147286.tif 000007
【図６】
2018147286.tif 000008
【図７】
2018147286.tif 000009
【図８Ａ】
2018147286.tif 000010
【図８Ｂ】
2018147286.tif 000011
【図８Ｃ】
2018147286.tif 000012
【図９】
2018147286.tif 000013