(57)【要約】【課題】画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる画像認識方法を提供する。【解決手段】畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法であって、畳み込みニューラルネットワークは、全結合層が畳み込み層に変更された第１畳み込みニューラルネットワークであり、第１畳み込みニューラルネットワークに入力画像を取得させる取得ステップ（Ｓ１）と、第１畳み込みニューラルネットワークに、前記取得ステップにおいて取得した入力画像中の認識対象の中央領域を推定させ、入力画像における認識対象の位置として、推定した中央領域を示す値を出力させる出力ステップ（Ｓ３）とを含む。【選択図】図１７
2017059207.tif 000002
【特許請求の範囲】
【請求項１】
畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法であって、
前記畳み込みニューラルネットワークは、全結合層が畳み込み層に変更された第１畳み込みニューラルネットワークであり、
前記第１畳み込みニューラルネットワークに入力画像を取得させる取得ステップと、
前記第１畳み込みニューラルネットワークに、前記取得ステップにおいて取得した前記入力画像中の認識対象の中央領域を推定させ、前記入力画像における前記認識対象の位置として、推定した前記中央領域を示す値を出力させる出力ステップとを含む、
画像認識方法。
【請求項２】
前記画像認識方法は、さらに、
前記取得ステップを行う前に、認識対象を含む学習用画像と、前記学習用画像に前記認識対象の中央領域を示す値が付加された正解画像とが複数含まれた学習用データを用いて、前記第１畳み込みニューラルネットワークに、当該第１畳み込みニューラルネットワークの重みを学習させる学習ステップを含む、
請求項１に記載の画像認識方法。
【請求項３】
前記学習ステップは、
畳み込みニューラルネットワークを構成する全結合層が畳み込み層に変更された第２畳み込みニューラルネットワークであって前記第１畳み込みニューラルネットワークの構成と同一構成である第２畳み込みニューラルネットワークに、前記学習用データに含まれる前記学習用画像における前記認識対象の位置を示す値を出力させる学習時出力ステップと、
前記学習用データに含まれる前記学習用画像に対応する前記正解画像が示す前記認識対象の中央領域を示す値と、前記学習時出力ステップにおいて出力された前記認識対象の位置を示す値との誤差を、誤差関数により算出する算出ステップと、
前記算出ステップにおいて算出された前記誤差に基づいて、前記第２畳み込みニューラルネットワークの重みを更新する更新ステップと、
前記更新ステップにおいて更新された重みの前記第２畳み込みニューラルネットワークに、再度、前記学習時出力ステップを実行させて、前記算出ステップを実行する回帰ステップと、
前記回帰ステップにおいて実行された前記算出ステップにおいて算出された前記誤差が最小になった場合、前記回帰ステップを終了し、前記誤差が最小になった前記第２畳み込みニューラルネットワークの重みを、前記第１畳み込みニューラルネットワークの重みとして決定する決定ステップとを含む、
請求項２に記載の画像認識方法。
【請求項４】
前記誤差関数は、クロスエントロピーを用いた誤差関数である、
請求項３に記載の画像認識方法。
【請求項５】
前記中央領域は、前記認識対象の前記入力画像における上下方向の中央領域および左右方向の中央領域のうち当該上下方向の中央領域である、
請求項１〜４のいずれか１項に記載の画像認識方法。
【請求項６】
畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法であって、
前記畳み込みニューラルネットワークは、全結合層が畳み込み層に変更された第１畳み込みニューラルネットワークであり、
前記第１畳み込みニューラルネットワークに、入力画像を取得させる取得ステップと、
前記第１畳み込みニューラルネットワークに、前記取得ステップにおいて取得した前記入力画像中の認識対象を囲む矩形の対角線上の２頂点の座標を推定させ、前記入力画像における前記認識対象の位置として、推定した前記２頂点の座標を出力させる出力ステップとを含む、
画像認識方法。
【請求項７】
前記画像認識方法は、さらに、
前記取得ステップを行う前に、認識対象を含む学習用画像と、前記学習用画像に前記認識対象のを囲む矩形の対角線上の２頂点の座標が付加された正解画像とが複数含まれた学習用データを用いて、前記第１畳み込みニューラルネットワークに、当該第１畳み込みニューラルネットワークの重みを学習させる学習ステップを含む、
請求項６に記載の画像認識方法。
【請求項８】
前記学習ステップは、
畳み込みニューラルネットワークを構成する全結合層が畳み込み層に変更された第２畳み込みニューラルネットワークであって前記第１畳み込みニューラルネットワークの構成と同一構成である第２畳み込みニューラルネットワークに、前記学習用データに含まれる前記学習用画像における前記認識対象の位置を示す値を出力させる学習時出力ステップと、
前記学習用データに含まれる前記学習用画像に対応する前記正解画像が示す前記認識対象を囲む矩形の対角線上の２頂点の座標と、前記学習時出力ステップにおいて出力された前記認識対象の位置を示す値との誤差を、誤差関数により算出する算出ステップと、
前記算出ステップにおいて算出された前記誤差に基づいて、前記第２畳み込みニューラルネットワークの重みを更新する更新ステップと、
前記更新ステップにおいて更新された重みの前記第２畳み込みニューラルネットワークに、再度、前記学習時出力ステップを実行させて、前記算出ステップを実行する回帰ステップと、
前記回帰ステップにおいて実行された前記算出ステップにおいて算出された前記誤差が最小になった場合、前記回帰ステップを終了し、前記誤差が最小になった前記第２畳み込みニューラルネットワークの重みを、前記第１畳み込みニューラルネットワークの重みとして決定する決定ステップとを含む、
請求項７に記載の画像認識方法。
【請求項９】
前記誤差関数は、ユークリッド距離を用いた誤差関数である、
請求項８に記載の画像認識方法。
【請求項１０】
前記認識対象は、前記入力画像中の人物である、
請求項１〜９のいずれか１項に記載の画像認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識方法に関し、特に畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法に関する。
【背景技術】
【０００２】
近年、Deep Learningを使用することにより、画像認識の性能が劇的に向上している。Deep Learningは、多層のニューラルネットワークを使った機械学習の方法論として知られ、このような多層ニューラルネットワークには、畳み込みニューラルネットワークが用いられることが多い。ここで、畳み込みニューラルネットワークは、局所領域の畳み込み(Convolution)とプーリング(Pooling)とを繰り返す多層のニューラルネットワークからなる。
【０００３】
しかし、このような畳み込みニューラルネットワークを用いた画像認識の処理は、リアルタイムには実行できないという課題を有している。
【０００４】
例えば非特許文献１では、畳み込みニューラルネットワークを構成する全結合層を畳み込み層にする畳み込みニューラルネットワークの構造が提案されている。この構造の畳み込みニューラルネットワーク（完全畳み込みニューラルネットワーク）を用いることにより画像認識の処理をリアルタイムに実行することできる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Jonathan Long,Evan Shelhamer,Trevor Darrell，“Fully Convolutional Networks for Semantic Segmentation”;The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3431-3440
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記非特許文献１において提案されている完全畳み込みニューラルネットワークを用いた画像認識を行っても、例えば複数の人物など複数の認識対象が画像中で一部重なっている場合には、複数の認識対象の画像認識を正しく行うことができないという課題がある。
【０００７】
本開示は、上述の事情を鑑みてなされたもので、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる画像認識方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法であって、前記畳み込みニューラルネットワークは、全結合層が畳み込み層に変更された第１畳み込みニューラルネットワークであり、前記第１畳み込みニューラルネットワークに入力画像を取得させる取得ステップと、前記第１畳み込みニューラルネットワークに、前記取得ステップにおいて取得した前記入力画像中の認識対象の中央領域を推定させ、前記入力画像における前記認識対象の位置として、推定した前記中央領域を示す値を出力させる出力ステップとを含む。
【０００９】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示によれば、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる画像認識方法を実現できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１における画像認識器の構成の一例を示すブロック図である。
【図２】図２は、図１に示す画像認識器が用いるニューラルネットワークの構造の概略を示す図である。
【図３Ａ】図３Ａは、第１比較例の画像認識器が用いる畳み込みニューラルネットワークの構造の概略と認識処理結果とを示す図である。
【図３Ｂ】図３Ｂは、図３Ａに示す全結合層の構造の概念図である。
【図４Ａ】図４Ａは、第２比較例の画像認識器が用いる完全畳み込みニューラルネットワークの構造の概略と認識処理結果とを示す図である。
【図４Ｂ】図４Ｂは、図４Ａに示す畳み込み層の構造の概念図である。
【図５Ａ】図５Ａは、第２比較例の画像認識器の認識処理結果の一例を示す図である。
【図５Ｂ】図５Ｂは、第２比較例の画像認識器の識別処理の問題点を概念的に示す図である。
【図６】図６は、実施の形態１における認識処理動作の一例を示すフローチャートである。
【図７】図７は、実施の形態１における画像認識器の認識処理結果を概念的に示す図である。
【図８Ａ】図８Ａは、実施の形態１における画像認識器の認識処理結果の一例を示す図である。
【図８Ｂ】図８Ｂは、実施の形態１における画像認識器の識別処理の特徴を概念的に示す図である。
【図９】図９は、実施の形態１における画像認識器の学習処理の概要を示すフローチャートである。
【図１０】図１０は、図９における画像認識器が用いる第２畳み込みニューラルネットワークの構造の概略を示す図である。
【図１１Ａ】図１１Ａは、人物領域出力ニューラルネットの学習結果の一例を示す図である。
【図１１Ｂ】図１１Ｂは、人物領域出力ニューラルネットの学習結果の一例を示す図である。
【図１１Ｃ】図１１Ｃは、人物領域出力ニューラルネットの学習結果の一例を示す図である。
【図１２】図１２は、Ｓ１３の詳細な学習処理を示すフローチャートである。
【図１３】図１３は、図１２に示す学習処理を概念的に説明するための図である。
【図１４Ａ】図１４Ａは、人物領域座標出力ニューラルネットの学習結果の一例を示す図である。
【図１４Ｂ】図１４Ｂは、人物領域座標出力ニューラルネットの学習結果の一例を示す図である。
【図１５】図１５は、実施の形態２における画像認識器の構成の一例を示すブロック図である。
【図１６】図１６は、実施の形態２における画像認識器の認識処理結果を概念的に示す図である。
【図１７】図１７は、実施の形態２における認識処理動作の一例を示すフローチャートである。
【図１８Ａ】図１８Ａは、実施の形態２における画像認識器の認識処理結果の一例を示す図である。
【図１８Ｂ】図１８Ｂは、実施の形態２における画像認識器の識別処理の特徴を概念的に示す図である。
【図１９】図１９は、実施の形態２における画像認識器の学習処理の概要を示すフローチャートである。
【図２０】図２０は、Ｓ２３の詳細な学習処理を示すフローチャートである。
【図２１】図２１は、図２０に示す学習処理を概念的に説明するための図である。
【図２２】図２２は、図２０に示す学習処理を回帰的に行った場合に誤差が小さくなることを示す図である。
【図２３Ａ】図２３Ａは、人物中央領域出力ニューラルネットの学習結果の一例を示す図である。
【図２３Ｂ】図２３Ｂは、人物中央領域出力ニューラルネットの学習結果の一例を示す図である。
【図２３Ｃ】図２３Ｃは、人物中央領域出力ニューラルネットの学習結果の一例を示す図である。
【図２４】図２４は、実施の形態３における画像認識器が用いる畳み込みニューラルネットワークの構造の概略と認識処理結果とを示す図である。
【図２５】図２５は、実施の形態３における画像認識器の学習処理の概要を示すフローチャートである。
【図２６】図２６は、認識対象が走っている人物である場合の人物中央領域を示す図である。
【発明を実施するための形態】
【００１２】
（本発明の一態様を得るに至った経緯）
例えば、事故などの可能性を事前に検知し回避するシステムであるADAS（Advanced Driver Assistance System：先進運転支援システム）が検討されている。
【００１３】
畳み込みニューラルネットワークを用いた画像認識の性能は、上述したように劇的に向上しているため、ADASにおける歩行者の検出への利用が期待されている。
【００１４】
ここで、畳み込みニューラルネットワークは、複数のフィルタによる畳み込み処理により特徴を抽出する畳み込み層と、一定領域の反応をまとめるプーリング処理により局所的なデータの不変性を獲得するプーリング層と、Softmax関数などによる確率を用いて認識を行う全結合層とを有する。
【００１５】
しかし、このような畳み込みニューラルネットワークを用いた画像認識の処理は、リアルタイムには実行できないという課題を有している。なお、ADASにおける歩行者の検出に利用するためには、１０ＦＰＳ（Frame Per Second）程度の処理速度を必要とするが、当該画像認識の処理速度はそれに比べると非常に遅い。
【００１６】
一方、上述したように、上記非特許文献１において提案されている完全畳み込みニューラルネットワークを用いた画像認識の処理は、リアルタイムに実行することができることがわかっている。
【００１７】
しかしながら、上記非特許文献１において提案されている完全畳み込みニューラルネットワークを用いた画像認識を行っても、例えば複数の人物などの複数の認識対象が画像中で一部重なっている場合には、複数の認識対象の画像認識を正しく行うことができないという課題がある。つまり、完全畳み込みニューラルネットワークを用いた画像認識では、複数の歩行者が画像中で一部重なっている場合には、異なる歩行者と認識できず、このままではADASには利用できない。
【００１８】
そこで、上述の事情を鑑み、発明者（ら）は、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる画像認識方法について想到した。
【００１９】
すなわち、本開示の一形態に係る画像認識方法は、畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法であって、前記畳み込みニューラルネットワークは、全結合層が畳み込み層に変更された第１畳み込みニューラルネットワークであり、前記第１畳み込みニューラルネットワークに入力画像を取得させる取得ステップと、前記第１畳み込みニューラルネットワークに、前記取得ステップにおいて取得した前記入力画像中の認識対象の中央領域を推定させ、前記入力画像における前記認識対象の位置として、推定した前記中央領域を示す値を出力させる出力ステップとを含む。
【００２０】
これにより、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる。
【００２１】
また、例えば、前記画像認識方法は、さらに、前記取得ステップを行う前に、認識対象を含む学習用画像と、前記学習用画像に前記認識対象の中央領域を示す値が付加された正解画像とが複数含まれた学習用データを用いて、前記第１畳み込みニューラルネットワークに、当該第１畳み込みニューラルネットワークの重みを学習させる学習ステップを含むとしてもよい。
【００２２】
また、例えば、前記学習ステップは、畳み込みニューラルネットワークを構成する全結合層が畳み込み層に変更された第２畳み込みニューラルネットワークであって前記第１畳み込みニューラルネットワークの構成と同一構成である第２畳み込みニューラルネットワークに、前記学習用データに含まれる前記学習用画像における前記認識対象の位置を示す値を出力させる学習時出力ステップと、前記学習用データに含まれる前記学習用画像に対応する前記正解画像が示す前記認識対象の中央領域を示す値と、前記学習時出力ステップにおいて出力された前記認識対象の位置を示す値との誤差を、誤差関数により算出する算出ステップと、前記算出ステップにおいて算出された前記誤差に基づいて、前記第２畳み込みニューラルネットワークの重みを更新する更新ステップと、前記更新ステップにおいて更新された重みの前記第２畳み込みニューラルネットワークに、再度、前記学習時出力ステップを実行させて、前記算出ステップを実行する回帰ステップと、前記回帰ステップにおいて実行された前記算出ステップにおいて算出された前記誤差が最小になった場合、前記回帰ステップを終了し、前記誤差が最小になった前記第２畳み込みニューラルネットワークの重みを、前記第１畳み込みニューラルネットワークの重みとして決定する決定ステップとを含むとしてもよい。
【００２３】
ここで、例えば、前記誤差関数は、クロスエントロピーを用いた誤差関数である。
【００２４】
また、例えば、前記中央領域は、前記認識対象の前記入力画像における上下方向の中央領域および左右方向の中央領域のうち当該上下方向の中央領域であるとしてもよい。
【００２５】
また、本開示の一形態に係る画像認識方法は、畳み込みニューラルネットワークを用いた画像認識器のコンピュータが行う画像認識方法であって、前記畳み込みニューラルネットワークは、全結合層が畳み込み層に変更された第１畳み込みニューラルネットワークであり、前記第１畳み込みニューラルネットワークに、入力画像を取得させる取得ステップと、前記第１畳み込みニューラルネットワークに、前記取得ステップにおいて取得した前記入力画像中の認識対象を囲む矩形の対角線上の２頂点の座標を推定させ、前記入力画像における前記認識対象の位置として、推定した前記２頂点の座標を出力させる出力ステップとを含む。
【００２６】
また、例えば、前記画像認識方法は、さらに、前記取得ステップを行う前に、認識対象を含む学習用画像と、前記学習用画像に前記認識対象のを囲む矩形の対角線上の２頂点の座標が付加された正解画像とが複数含まれた学習用データを用いて、前記第１畳み込みニューラルネットワークに、当該第１畳み込みニューラルネットワークの重みを学習させる学習ステップを含むとしてもよい。
【００２７】
また、例えば、前記学習ステップは、畳み込みニューラルネットワークを構成する全結合層が畳み込み層に変更された第２畳み込みニューラルネットワークであって前記第１畳み込みニューラルネットワークの構成と同一構成である第２畳み込みニューラルネットワークに、前記学習用データに含まれる前記学習用画像における前記認識対象の位置を示す値を出力させる学習時出力ステップと、前記学習用データに含まれる前記学習用画像に対応する前記正解画像が示す前記認識対象を囲む矩形の対角線上の２頂点の座標と、前記学習時出力ステップにおいて出力された前記認識対象の位置を示す値との誤差を、誤差関数により算出する算出ステップと、前記算出ステップにおいて算出された前記誤差に基づいて、前記第２畳み込みニューラルネットワークの重みを更新する更新ステップと、前記更新ステップにおいて更新された重みの前記第２畳み込みニューラルネットワークに、再度、前記学習時出力ステップを実行させて、前記算出ステップを実行する回帰ステップと、前記回帰ステップにおいて実行された前記算出ステップにおいて算出された前記誤差が最小になった場合、前記回帰ステップを終了し、前記誤差が最小になった前記第２畳み込みニューラルネットワークの重みを、前記第１畳み込みニューラルネットワークの重みとして決定する決定ステップとを含むとしてもよい。
【００２８】
ここで、例えば、前記誤差関数は、ユークリッド距離を用いた誤差関数である。
【００２９】
また、例えば、前記認識対象は、前記入力画像中の人物であるとしてもよい。
【００３０】
以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
【００３１】
（実施の形態１）
以下では、図面を参照しながら、実施の形態１における画像認識器１０の画像認識方法等の説明を行う。
【００３２】
［画像認識器１０の構成］
図１は、本実施の形態における画像認識器１０の構成の一例を示すブロック図である。図２は、図１に示す画像認識器１０が用いるニューラルネットワークの構造の概略を示す図である。
【００３３】
図１に示す画像認識器１０は、コンピュータ等で実現される。画像認識器１０は、入力画像が入力されると、図２に示すような畳み込みニューラルネットワークを用いて、入力画像における認識対象である人物を認識し、認識した人物の入力画像における位置を示す値を座標（人物座標）で出力する。本実施の形態では、認識対象を人物として説明するが、それに限らず、標識などでもよい。また、歩行者などの人物を例に挙げて以下説明するが、それに限らず、走者でも、匍匐前進者でも泳いでいる人物でもよい。
【００３４】
図２に示すように、画像認識器１０が用いる畳み込みニューラルネットワークは、畳み込み層１０１と、全結合層が畳み込み層１０２に変更された畳み込みニューラルネットワークである。以下、この畳み込みニューラルネットワークを第１畳み込みニューラルネットワークと称する。
【００３５】
［比較例］
まず、畳み込みニューラルネットワーク（Convolutional Neural Network：CNN)の一般的な処理について以下説明する。
【００３６】
畳み込みニューラルネットワークは、画像認識分野でよく使われ、２次元画像に対してフィルタによる畳み込みを行うことで、画像から特徴量を抽出する。畳み込みニューラルネットワークは、上述したように、畳み込みとプーリングとを繰り返す多層ネットワークからなる。そして、畳み込みニューラルネットワークにおいて畳み込み層を構成する識別に有効なフィルタの係数（重み）を、大量の学習用画像などの大量のデータを用いて学習させる。当該係数（重み）は、大量のデータを用いて、フィルタによる畳み込みと、一定領域の反応をまとめるプーリングとを繰り返すことで多様な変形に対する不変性を獲得する学習を行うことにより得られる。なお、畳み込みニューラルネットワークの識別性能は、畳み込み層を構成するフィルタに依存することがわかっている。
【００３７】
次に、全結合層を有する畳み込みニューラルネットワークを用いた第１比較例の画像認識器８０と、全結合層が畳み込み層に変更された完全畳み込みニューラルネットワークを用いた第２比較例の画像認識器９０の識別処理の概要について説明する。
【００３８】
図３Ａは、第１比較例の画像認識器８０が用いる畳み込みニューラルネットワークの構造の概略と認識処理結果とを示す図である。図３Ｂは、図３Ａに示す全結合層８０２の構造の概念図である。
【００３９】
図３Ａに示すように、第１比較例の画像認識器８０が用いる畳み込みニューラルネットワークは、畳み込み層８０１と、全結合層８０２とを有する畳み込みニューラルネットワークである。第１比較例の画像認識器８０は、元画像を切り出して一定のサイズにされた入力画像が入力されると、入力画像に例えば人物などの認識対象が存在するか否か２元的に認識処理し、入力画像に認識対象が存在していれば、入力画像に人物が存在した旨を出力する。
【００４０】
図３Ａに示す例では、第１比較例の画像認識器８０は、画像５０を切り出して一定のサイズにされた画像５１が入力される。第１比較例の画像認識器８０は、入力された画像５１に例えば歩行者などの認識対象が存在するか否かを認識処理する。画像５１に歩行者すなわち認識対象が含まれているので、第１比較例の画像認識器８０は、歩行者がいる旨を認識結果として出力する。
【００４１】
第１比較例の画像認識器８０が用いる畳み込みニューラルネットワークは、例えば図３Ｂに示すような全結合層８０２を有する。全結合層８０２の出力は固定的になることから、当該畳み込みニューラルネットワークが処理できる入力画像のサイズは固定的（一定のサイズ）になる。つまり、第１比較例の画像認識器８０は、一定のサイズの画像しか認識処理できない。そのため、第１比較例の画像認識器８０では、元画像のサイズが認識処理可能な画像のサイズより大きい場合には、認識可能な画像サイズとなるよう、元画像の領域を切り出す必要がある。
【００４２】
このように、第１比較例の画像認識器８０は、領域を切り出して、切り出した領域に対して、歩行者などの認識対象が存在するかを認識処理することになるため、リアルタイム処理ができない。
【００４３】
図４Ａは、第２比較例の画像認識器９０が用いる完全畳み込みニューラルネットワークの構造の概略と認識処理結果とを示す図である。図３Ａと同様の要素には同一の符号を付している。図４Ｂは、図４Ａに示す畳み込み層９０２の構造の概念図である。
【００４４】
第２比較例の画像認識器９０が用いる完全畳み込みニューラルネットワークは、例えば図４Ｂに示すようにカーネル（フィルタ）を入力画像内でスライドさせて局所領域の畳み込みを行う畳み込み層９０２を有する。全結合層８０２と異なり畳み込み層９０２の出力は、固定的ではないので、当該完全畳み込みニューラルネットワークは、任意のサイズの入力画像を認識処理できる。
【００４５】
図４Ａに示す例では、第２比較例の画像認識器９０は、画像５０が入力されると、画像５０に例えば歩行者などの認識対象が存在する領域を認識処理する。第２比較例の画像認識器９０は、画像５０ａにおける歩行者が存在する領域を示す特徴マップを認識結果として出力する。
【００４６】
図５Ａは、第２比較例の画像認識器９０の認識処理結果の一例を示す図である。図５Ｂは、第２比較例の画像認識器９０の識別処理の問題点を概念的に示す図である。
【００４７】
図５Ａに示すように、第２比較例の画像認識器９０が、歩行者が複数含まれる画像５２の認識処理を行った場合、画像５２ａにおける歩行者が存在する領域を示す特徴マップ５０２ａおよび特徴マップ５１２ａを認識結果として出力する。ここで、特徴マップは、「背景」と「歩行者」のソフトマックス確率で示される。図５Ａでは、背景を白地に変換して示している。
【００４８】
画像５２には３人の人物（人物５０２、５０３、５１２）が含まれており、そのうちの２人（人物５０２、５０３）が一部重なっている。しかし、画像５２ａには、二人の人物（人物５０２、５０３）が特徴マップ５０２ａに示す同一領域に存在するとして認識処理されているのがわかる。つまり、第２比較例の画像認識器９０は、例えば図５Ｂに示すように入力画像５４中で歩行者（人物）が一部重なっている場合には、異なる歩行者と認識できないという上述した問題がある。
【００４９】
［画像認識器１０の認識処理動作］
次に、実施の形態１の係る画像認識器１０の認識処理動作について、図を用いて説明する。
【００５０】
図６は、本実施の形態における認識処理動作の一例を示すフローチャートである。図７は、本実施の形態における画像認識器１０の認識処理結果を概念的に示す図である。
【００５１】
図６に示すように、画像認識器１０のコンピュータは、まず、第１畳み込みニューラルネットワークに入力画像を取得させる（Ｓ１）。図７に示す例では、画像認識器１０は、一人の人物（歩行者）が含まれる画像５０が入力画像として入力されている。ここで、画像認識器１０が用いる第１畳み込みニューラルネットワークは、例えば図４Ｂに示すようにカーネル（フィルタ）を入力画像内でスライドさせて局所領域の畳み込みを行う畳み込み層１０２を有する。そのため、第２比較例の画像認識器９０と同様に、任意のサイズの入力画像を認識処理できる。
【００５２】
次に、第１畳み込みニューラルネットワークに、Ｓ１において取得した画像５０中の認識対象を囲む矩形の対角線上の２頂点の座標を推定させ、画像５０における認識対象の位置として、推定した２頂点の座標を出力させる（Ｓ２）。図７に示す例では、画像５０における例えば歩行者などの認識対象を認識処理して、認識対象の画像５０における座標を出力する。画像認識器１０は、当該座標として、認識対象を囲む矩形の頂点の座標のうち左上と右下の座標（（ｘ１、ｙ１）、（ｘ２、ｙ２））を認識結果として出力する。
【００５３】
［画像認識器１０の効果等］
以上のように、実施の形態１の係る画像認識器１０によれば、認識対象の画像における座標を出力することができるので、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる。これについて図を用いて具体的に説明する。
【００５４】
図８Ａは、本実施の形態における画像認識器１０の認識処理結果の一例を示す図である。図８Ｂは、本実施の形態における画像認識器１０の識別処理の特徴を概念的に示す図である。
【００５５】
図８Ａに示すように、画像認識器１０が、２人の歩行者（人物５３１および人物５３２）が含まれる画像５３の認識処理を行った場合、画像５３における２人の歩行者の位置として、当該２人の歩行者を囲む矩形の対角線上の２頂点の座標を認識結果として出力する。ここで、２頂点の座標は、画像５３における歩行者を囲む矩形の４頂点のうち、左上と右下の座標であってもよいし、右上と左下の座標であってもよい。
【００５６】
このように、画像認識器１０は、入力画像における認識対象を囲む矩形の対角線上の２頂点の座標を認識結果として出力することができる。より具体的には、画像認識器１０は、図８Ｂに示すように、入力画像中の２人の人物が一部重なっている場合、それぞれの人物を囲む矩形５４ａの２頂点の座標（（ｘ１、ｙ１）、（ｘ２、ｙ２））および矩形５４ｂの座標（（ｘ３、ｙ３）、（ｘ４、ｙ４））を認識結果として出力することができる。
【００５７】
このようにして、画像認識器１０は、画像中で一部重なっている複数の認識対象それぞれを正しく認識し、その結果を座標で出力することができる。
【００５８】
［画像認識器１０の学習処理］
以下、このような画像認識器１０を実現するための学習処理について説明する。画像認識器１０として機能する前の、学習処理が行われるものを画像認識器１０ａと称して説明する。
【００５９】
画像認識器１０ａを、画像認識器１０として機能させるために、前もって、認識対象を含む学習用画像と、学習用画像に認識対象を囲む矩形の対角線上の２頂点の座標が付加された正解画像とが複数含まれた学習用データを用いて、第１畳み込みニューラルネットワークに、当該第１畳み込みニューラルネットワークの重みを学習させる学習処理が行われる。
【００６０】
図９は、本実施の形態における画像認識器１０ａの学習処理の概要を示すフローチャートである。
【００６１】
図９に示すように、まず、上述した学習用データを用いて、人物認識ニューラルネットの学習を行う（Ｓ１１）。より具体的には、画像認識器１０ａのコンピュータは、上述した学習用データを用いて、画像認識器１０ａが用いるニューラルネットワークとして、全結合層を有する畳み込みニューラルネットワークに、人物認識の学習すなわち入力画像に人物が存在するか否かを認識する重みの学習を行わせる。Ｓ１１の学習処理については知られたものであるので、ここでの詳細な説明は省略する。
【００６２】
次に、上述した学習用データを用いて、人物領域出力ニューラルネットの学習を行う（Ｓ１２）。より具体的には、画像認識器１０ａのコンピュータは、上述した学習用データを用いて、Ｓ１１で学習処理済みの畳み込みニューラルネットワークの全結合層を除去して代わりに畳み込み層を追加した第２畳み込みニューラルネットワークに、人物領域出力の学習すなわち入力画像の人物が存在する領域（人物領域）を出力させる学習を行わせる。
【００６３】
図１０は、図９における画像認識器１０ａが用いる第２畳み込みニューラルネットワークの構造の概略を示す図である。図１１Ａ〜図１１Ｃは、人物領域出力ニューラルネットの学習結果の一例を示す図である。図１１Ａ〜図１１Ｃにおいて、（ａ）には、正解画像の例が示されており、（ｂ）には入力画像に対する認識処理結果（学習結果）が示されている。ここで、入力画像は正解画像に示される枠がない画像である。
【００６４】
図１０に示すように、画像認識器１０ａが用いる第２畳み込みニューラルネットワークは、畳み込み層１０１ａと、畳み込み層１０２ａとを有する。画像認識器１０ａが用いる第２畳み込みニューラルネットワークは、例えば図１０に示すように、入力される画像５０における人物領域を認識処理して、画像５０ａにおける人物領域を示す特徴マップ５０１ａを認識結果として出力するように学習処理される。換言すると、畳み込み層１０１ａの重み（フィルタ係数）は、Ｓ１１において学習され、Ｓ１２でさらに学習される。畳み込み層１０２ａの重み（フィルタ係数）は、Ｓ１２において学習されることにより、入力画像の人物領域を示す特徴マップ５０１ａを出力する。
【００６５】
なお、Ｓ１２の学習処理については上記の非特許文献１に開示されたものであるので、ここでの詳細な説明は省略する。Ｓ１２の学習処理により、画像認識器１０ａが用いる第２畳み込みニューラルネットワークの認識処理結果すなわち、入力画像における人物（歩行者）が存在する人物領域を示す特徴マップの位置は、例えば図１１Ａ〜図１１Ｃに示されるように、正解画像に示される枠すなわち人物領域の位置となっている。
【００６６】
以下、図９に戻って説明する。
【００６７】
次に、上述した学習用データを用いて、人物領域座標出力ニューラルネットの学習を行う（Ｓ１３）。より具体的には、画像認識器１０ａのコンピュータは、上述した学習用データを用いて、Ｓ１２で学習処理済みの第２畳み込みニューラルネットワークに、人物領域座標出力の学習すなわち入力画像の人物領域を示す２点の座標を出力させる学習を行わせる。つまり、Ｓ１２の学習処理を行った画像認識器１０ａの第２畳み込みニューラルネットワークに、入力画像の人物領域を特徴マップで出力することから、Ｓ１３の学習処理を行うことにより、入力画像の人物領域を示す２点の座標（人物領域座標）を出力するように学習させる。
【００６８】
図１２は、Ｓ１３の詳細な学習処理を示すフローチャートである。図１３は、図１２に示す学習処理を概念的に説明するための図である。
【００６９】
Ｓ１３において、画像認識器１０ａのコンピュータは、まず、図１２に示すように、人物領域出力ニューラルネットの重みの読み込みを行う（Ｓ１３１）。すなわち、画像認識器１０ａのコンピュータは、画像認識器１０ａが用いる第２畳み込みニューラルネットワークの重みの初期値として、Ｓ１２で学習した第２畳み込みニューラルネットワークの重みを利用する。図１３を用いて説明すると、Ｓ１２で学習した第２畳み込みニューラルネットワークの重みが人物領域出力ニューラルネット格納部に格納されている。そして、画像認識器１０ａのコンピュータは、人物領域出力ニューラルネット格納部に格納されている重みを読み込み、Ｓ１３の学習処理における第２畳み込みニューラルネットワークの重みの初期値として用いる。
【００７０】
次に、画像認識器１０ａのコンピュータは、上述した学習用データを用いて、画像認識器１０ａが用いる第２畳み込みニューラルネットワークに、人物領域の位置を示す値を出力させる（Ｓ１３２）。より具体的には、画像認識器１０ａのコンピュータは、畳み込みニューラルネットワークを構成する全結合層が畳み込み層に変更された第２畳み込みニューラルネットワークであって第１畳み込みニューラルネットワークの構成と同一構成である第２畳み込みニューラルネットワークに、学習用データに含まれる学習用画像における認識対象の位置を示す値を出力させる。例えば、図１３を用いて説明すると、画像認識器１０ａのコンピュータは、学習用データに含まれる入力画像５６に対して、第２畳み込みニューラルネットワークに、人物領域の位置を示す値として、人物を囲む矩形の対角線上の２頂点の座標（（ｘ１、ｙ１）、（ｘ２、ｙ２））を出力させる。
【００７１】
より詳細には、画像認識器１０ａのコンピュータは、第２畳み込みニューラルネットワークの出力層（回帰層）に、入力画像の人物領域を示す２点の座標（人物領域座標）を出力させる。例えば、画像認識器１０ａのコンピュータは、人物領域出力ニューラルネット格納部に格納されている重みを、Ｓ１３２の処理における第２畳み込みニューラルネットワークの重みの初期値に用い、第２畳み込みニューラルネットワークの回帰層に、例えばソフトマックス関数とシグモイド関数とを用いてＳ１３２の処理をさせる。
【００７２】
次に、画像認識器１０ａのコンピュータは、Ｓ１３２で出力させた座標と、正解座標との差（誤差）を算出する（Ｓ１３３）。より具体的には、学習用データに含まれる学習用画像に対応する正解画像が示す認識対象を囲む矩形の対角線上の２頂点の座標と、Ｓ１３２において出力された認識対象の位置を示す値との誤差を、誤差関数により算出する。誤差関数は、ユークリッド距離を用いた誤差関数である。
【００７３】
ここで、図１３を用いて正解画像と正解座標について説明する。図１３に示す正解画像５６ａは、歩行者データセットに含まれる入力画像に対して、人物領域を示す枠（矩形、Box）と人物注釈が付されたものの一例である。そして、正解画像５６ａにおける人物領域座標を正解座標として生成し、正解座標格納部に格納する。本実施の形態では、人物領域座標は、入力画像５６における歩行者（人物）を囲む矩形の４頂点のうち、左上と右下の座標としている。また、正解座標の生成は、画像認識器１０を実現するための学習処理を行う前に実行される。そして、画像認識器１０ａのコンピュータは、Ｓ１３２で出力された入力画像５６に対する人物座標（（ｘ１、ｙ１）、（ｘ２、ｙ２））と、入力画像５６に対する正解座標（（ｘ１、ｙ１）、（ｘ２、ｙ２））との誤差をユークリッド距離を用いた誤差関数により算出する。
【００７４】
次に、画像認識器１０ａのコンピュータは、Ｓ１３２で出力させた座標と正解座標との差が最小でない場合（Ｓ１３４でＮｏ）、その差が小さくなるように第２畳み込みニューラルネットワークの重みを更新する（Ｓ１３５）。そして、画像認識器１０ａのコンピュータは、Ｓ１３２の処理から繰り返す回帰処理を行う。このように、画像認識器１０ａのコンピュータは、Ｓ１３２において算出された誤差に基づいて、第２畳み込みニューラルネットワークの重みを更新する。そして、Ｓ１３５において更新された重みの第２畳み込みニューラルネットワークに、再度、Ｓ１３２の処理を実行させて、Ｓ１３３の差を算出する処理を実行する。
【００７５】
一方、Ｓ１３２で出力させた座標と正解座標との差が最小である場合には、処理を終了する。すなわち、再度実行されたＳ１３３において算出された誤差が最小になった場合、回帰処理を終了し、誤差が最小になった第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定する。
【００７６】
このようにして、入力画像の人物領域を示す２点の座標（人物領域座標）を出力するように第２畳み込みニューラルネットワークの重みを学習させる。
【００７７】
なお、図１２および図１３を説明する便宜上、入力画像５６を一つ挙げて学習処理について説明したが、１０〜２０枚など所定数の入力画像ごとに学習処理を行うとよい。また、誤差が最小になった第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定するとして説明したが、それに限らない。上記の回帰処理を繰り返しても重みの値及び誤差が動かない場合、重みの値及び誤差が動かないときの第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定してもよい。また、誤差が最小とは、回帰処理の上限回数を決めた場合に、上限回数までの回帰処理における誤差の最小を意味するとしてもよい。
【００７８】
［画像認識器１０の学習結果］
図１４Ａおよび図１４Ｂは、人物領域座標出力ニューラルネットの学習結果の一例を示す図である。図１４Ａには、入力画像（不図示）に対する認識処理結果（学習結果）が示されている。図１４Ｂには、入力画像に対する正解画像の例が示されている。なお、上述したように、入力画像は正解画像に示される枠（矩形）がない画像である。
【００７９】
図１４Ａの人物領域を囲む矩形の位置と図１４Ｂの正解画像に示される枠（矩形）の位置とが対応している。これにより、Ｓ１３の学習処理により、画像認識器１０ａが用いる第２畳み込みニューラルネットワークの認識処理結果すなわち、入力画像における人物領域座標は、正解画像に示される枠すなわち人物領域を囲む矩形の座標となっており、対応しているのがわかる。
【００８０】
（実施の形態２）
実施の形態２では、実施の形態１で説明した画像認識器１０の別の構成例について、図面を参照しながら説明を行う。以下、実施の形態１で説明した画像認識器１０と異なるところを中心に説明する。
【００８１】
［画像認識器２０の構成］
図１５は、本実施の形態における画像認識器２０の構成の一例を示すブロック図である。図１６は、本実施の形態における画像認識器２０の認識処理結果を概念的に示す図である。
【００８２】
図１５に示す画像認識器２０は、実施の形態１と同様に、コンピュータ等で実現される。画像認識器２０は、図１６に示すように、畳み込み層２０１と畳み込み層２０２とを有する畳み込みニューラルネットワークを用いて、画像５０における認識対象である人物５０１を認識し、認識した人物５０１の入力画像における位置を示す値を人物の中央を示す中央領域５０１ｃで出力する。
【００８３】
このように、図１５に示す画像認識器２０は、実施の形態１に係る画像認識器１０に対して、入力画像における認識対象の位置を示す値の出力方法が異なる。画像認識器２０を構成する畳み込みニューラルネットワークは、畳み込み層２０１を有し、全結合層が畳み込み層２０２に変更された第１畳み込みニューラルネットワークである。画像認識器２０を構成する第１畳み込みニューラルネットワークと実施の形態１に係る画像認識器１０を構成する第１畳み込みニューラルネットワークとの構造は同じである一方、学習させた重みが異なるので出力方法が異なっている。
【００８４】
［画像認識器２０の認識処理動作］
次に、実施の形態１に係る画像認識器１０の認識処理動作について、図を用いて説明する。
【００８５】
図１７は、本実施の形態における認識処理動作の一例を示すフローチャートである。なお、図６と同様の要素には同一の符号を付している。
【００８６】
図１７に示すように、画像認識器２０のコンピュータは、まず、第１畳み込みニューラルネットワークに入力画像を取得させる（Ｓ１）。図１６に示す例では、画像認識器２０は、一人の人物５０１が含まれる画像５０が入力画像として入力されている。ここで、画像認識器２０が用いる第１畳み込みニューラルネットワークは、全結合層の代わりに畳み込み層２０２を有する。そのため、実施の形態１の画像認識器１０と同様に、任意のサイズの入力画像を認識処理できる。
【００８７】
次に、第１畳み込みニューラルネットワークに、Ｓ１において取得した画像５０中の認識対象の中央領域を推定させ、画像５０における認識対象の位置として、推定した中央領域を示す値を出力させる（Ｓ３）。図１６に示す例では、画像５０における例えば歩行者などの人物５０１を認識処理して、人物５０１を示す中央領域５０１ｃを示す値を出力する。画像認識器２０は、当該中央領域５０１ｃとして、認識対象の入力画像おける上下方向の中央領域および左右方向の中央領域のうち当該上下方向の中央領域を認識結果として出力する。本実施の形態では、当該中央領域５０１ｃは、認識対象の中央に位置する１画素ないし数画素であり、認識対象の中心線とも言える。
【００８８】
［画像認識器２０の効果等］
以上のように、実施の形態２の係る画像認識器２０によれば、認識対象の画像における座標を出力することができるので、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる。これについて図を用いて具体的に説明する。
【００８９】
図１８Ａは、本実施の形態における画像認識器２０の認識処理結果の一例を示す図である。図１８Ｂは、本実施の形態における画像認識器２０の識別処理の特徴を概念的に示す図である。
【００９０】
図１８Ａに示すように、画像認識器２０は、２人の歩行者（人物５３１および人物５３２）が含まれる画像５３の認識処理を行った場合、画像５３における２人の歩行者の位置として、当該２人の歩行者の中央領域（中央領域５３１ａ、５３２ａ）を示す値を認識結果として出力する。ここで、当該中央領域５３１ａ、５３２ａは、認識対象である人物５３１および人物５３２の中央に位置する１画素ないし数画素の線で構成される。
【００９１】
なお、本実施の形態でも、認識対象を人物として説明するが、それに限らず、標識などでもよい。また、歩行者などの人物を例に挙げて以下説明するが、それに限らず、走者でも、匍匐前進者でも泳いでいる人物でもよい。
【００９２】
このように、画像認識器２０は、入力画像における認識対象の中央領域を示す値を認識結果として出力する。そのため、画像認識器２０は、図１８Ｂに示すように、入力画像中の２人の人物が一部重なっている場合でも、それぞれの人物中央領域５４ｃ、５４ｄを示す値を認識結果として出力することができる。これにより、画像認識器２０は、画像中で一部重なっている複数の認識対象それぞれを正しく認識し、その結果を座標で出力することができる。
【００９３】
［画像認識器２０の学習処理］
以下、このような画像認識器２０を実現するための学習処理について説明する。画像認識器２０として機能する前の、学習処理が行われるものを画像認識器２０ａを称して説明する。
【００９４】
画像認識器２０ａを、画像認識器２０として機能させるために、前もって、認識対象を含む学習用画像と、学習用画像に認識対象の中央領域を示す値が付加された正解画像とが複数含まれた学習用データを用いて、第１畳み込みニューラルネットワークに、当該第１畳み込みニューラルネットワークの重みを学習させる学習処理が行われる。
【００９５】
図１９は、本実施の形態における画像認識器２０ａの学習処理の概要を示すフローチャートである。図９と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【００９６】
図１９に示すように、まず、上述した学習用データを用いて、人物認識ニューラルネットの学習を行い（Ｓ１１）、上述した学習用データを用いて、人物領域出力ニューラルネットの学習を行う（Ｓ１２）。Ｓ１１およびＳ１２については実施の形態１で説明した通りであるので、ここでの説明は省略する。
【００９７】
次に、上述した学習用データを用いて、人物中央領域出力ニューラルネットの学習を行う（Ｓ２３）。より具体的には、画像認識器２０ａのコンピュータは、上述した学習用データを用いて、Ｓ１２で学習処理済みの第２畳み込みニューラルネットワークに、人物中央領域出力の学習すなわち入力画像の人物領域の中央領域を示す値を出力させる学習を行わせる。つまり、Ｓ１２の学習処理を行った画像認識器２０ａの第２畳み込みニューラルネットワークに、入力画像の人物領域を特徴マップで出力することから、Ｓ２３の学習処理を行うことにより、入力画像の人物領域の中央領域（人物中央領域）を示す値を出力するように学習させる。
【００９８】
図２０は、Ｓ２３の詳細な学習処理を示すフローチャートである。図２１は、図２０に示す学習処理を概念的に説明するための図である。図２２は、図２０に示す学習処理を回帰的に行った場合に誤差が小さくなることを示す図である。
【００９９】
Ｓ２３において、画像認識器２０ａのコンピュータは、まず、図２０に示すように、人物領域出力ニューラルネットの重みの読み込みを行う（Ｓ２３１）。すなわち、画像認識器２０ａのコンピュータは、画像認識器２０ａが用いる第２畳み込みニューラルネットワークの重みの初期値として、Ｓ１２で学習した第２畳み込みニューラルネットワークの重みを利用する。これを図２１を用いて説明すると、Ｓ１２で学習した第２畳み込みニューラルネットワークの重みが人物領域出力ニューラルネット格納部に格納されている。そして、画像認識器２０ａのコンピュータは、人物領域出力ニューラルネット格納部に格納されている重みを読み込み、Ｓ２３の学習処理における第２畳み込みニューラルネットワークの重みの初期値として用いる。
【０１００】
次に、画像認識器２０ａのコンピュータは、上述した学習用データを用いて、画像認識器２０ａが用いる第２畳み込みニューラルネットワークに、人物領域の中央領域を示す値を出力させる（Ｓ２３２）。より具体的には、画像認識器２０ａのコンピュータは、畳み込みニューラルネットワークを構成する全結合層が畳み込み層に変更された第２畳み込みニューラルネットワークであって第１畳み込みニューラルネットワークの構成と同一構成である第２畳み込みニューラルネットワークに、学習用データに含まれる学習用画像における認識対象の位置を示す値を出力させる。例えば、図２１を用いて説明すると、画像認識器２０ａのコンピュータは、学習用データに含まれる入力画像５６に対して、第２畳み込みニューラルネットワークに、人物領域の位置を示す値として、人物の中央領域を示す値を出力させる。
【０１０１】
より詳細には、画像認識器２０ａのコンピュータは、第２畳み込みニューラルネットワークの出力層（回帰層）に、入力画像の人物領域の中央領域を示す値を出力させる。例えば、画像認識器２０ａのコンピュータは、人物領域出力ニューラルネット格納部に格納されている重みを、Ｓ２３２の処理における第２畳み込みニューラルネットワークの重みの初期値に用い、第２畳み込みニューラルネットワークの回帰層に、（式１）に示されるSoftmax関数と（式２）に示されるシグモイド関数とを用いてＳ２３２の処理をさせる。
【０１０２】
【数１】
2017059207.tif 000003
【０１０３】
【数２】
2017059207.tif 000004
【０１０４】
次に、画像認識器２０ａのコンピュータは、Ｓ２３２で出力させた値と、正解領域の値との差（誤差）を算出する（Ｓ２３３）。より具体的には、学習用データに含まれる学習用画像に対応する正解画像が示す認識対象の中央領域（正解領域）を示す値と、Ｓ２３２において出力された認識対象の位置を示す値との誤差を、誤差関数により算出する。誤差関数は、クロスエントロピーを用いた誤差関数である。
【０１０５】
ここで、図２１を用いて正解画像と正解領域について説明する。
【０１０６】
図２１に示す正解画像５６ａは、実施の形態１でも説明したように、歩行者データセットに含まれる入力画像に対して、人物領域を示す枠と人物注釈が付されたものの一例である。そして、正解画像５６ａにおける人物領域の中央領域を示す値を正解領域を示す値として生成し、正解領域格納部に格納する。本実施の形態では、人物中央領域は、入力画像５６における歩行者（人物）の入力画像における上下方向の中央領域を示す１画素ないし数画素としている。また、正解領域の生成は、画像認識器２０を実現するための学習処理を行う前に実行される。そして、画像認識器２０ａのコンピュータは、例えば画像５６ｄにおける中央領域５６ｆを示す値すなわちＳ２３２で出力された入力画像５６に対する人物中央領域と、例えば画像５６ｃにおける中央領域５６ｂを示す値すなわち入力画像５６に対する正解領域との誤差をクロスエントロピーを用いた誤差関数により算出する。
【０１０７】
より詳細には、画像認識器２０ａのコンピュータは、（式３）に示されるクロスエントロピーを用いた誤差関数を用いて、Ｓ２３２で出力させた人物中央領域と正解領域との分布間の距離を誤差として求める。
【０１０８】
【数３】
2017059207.tif 000005
【０１０９】
次に、画像認識器２０ａのコンピュータは、Ｓ２３２で出力させた値と正解領域を示す値との差が最小でない場合（Ｓ２３４でＮｏ）、その差が小さくなるように第２畳み込みニューラルネットワークの重みを更新する（Ｓ２３５）。そして、画像認識器２０ａのコンピュータは、Ｓ２３２の処理から繰り返す回帰処理を行う。このように、画像認識器２０ａのコンピュータは、Ｓ２３２において算出された誤差に基づいて、第２畳み込みニューラルネットワークの重みを更新する。そして、Ｓ２３５において更新された重みの第２畳み込みニューラルネットワークに、再度、Ｓ２３２の処理を実行させて、Ｓ２３３の処理を実行する。
【０１１０】
より詳細には、画像認識器２０ａのコンピュータは、（式４）に示される重みを示すパラメータを更新する。（式４）において、ｈｎｗは、負の重みを示している。
【０１１１】
【数４】
2017059207.tif 000006
【０１１２】
一方、Ｓ２３２で出力させた値と正解領域を示す値との差が最小である場合には、処理を終了する。すなわち、再度実行されたＳ２３３において算出された誤差が最小になった場合、回帰処理を終了し、誤差が最小になった第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定する。
【０１１３】
このようにして、入力画像の人物領域の中央領域を示す値を出力するように第２畳み込みニューラルネットワークの重みを学習させる。
【０１１４】
なお、図２０および図２１を説明する便宜上、入力画像５６を一つ挙げて学習処理について説明したが、１０〜２０枚など所定数の入力画像ごとに学習処理を行うとよい。また、誤差が最小になった第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定するとして説明したが、それに限らない。上記の回帰処理を繰り返しても重みの値及び誤差が動かない場合、重みの値及び誤差が動かないときの第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定してもよい。また、誤差が最小とは、回帰処理の上限回数を決めた場合に、上限回数までの回帰処理における誤差の最小を意味するとしてもよい。たとえば、図２２に示されるように、上記の（式３）で示される誤差関数の誤差の値（loss value）は、回帰処理を繰り返すと１０分の１近くまで下がることがわかる。図２２に示される場合には、回帰処理の上限回数を５０×１０００回として、５０×１０００回の第２畳み込みニューラルネットワークの重みを、第１畳み込みニューラルネットワークの重みとして決定してもよい。
【０１１５】
［画像認識器２０の学習結果］
図２３Ａ〜図２３Ｃは、人物中央領域出力ニューラルネットの学習結果の一例を示す図である。図２３Ａ〜図２３Ｃにおいて、（ａ）には、人物領域出力ニューラルネットの学習結果として、入力画像（不図示）に対する特徴マップが示され、（ｂ）には、人物中央領域出力ニューラルネットの回帰処理学習中の結果が示されている。（ｃ）には、人物中央領域出力ニューラルネットの学習結果として、入力画像（不図示）に対する認識処理結果（学習結果）が示されており、（ｄ）には、正解領域が付加された正解画像が示されている。なお、上述したように、入力画像は正解画像に示される枠がない画像である。
【０１１６】
図２３Ａ〜図２３Ｃのいずれにおいても、（ｃ）が示す人物領域を示す中央領域の位置と（ｄ）が示す正解画像の正解領域の位置とが対応していることがわかる。これにより、Ｓ２３の学習処理により、画像認識器２０ａが用いる第２畳み込みニューラルネットワークの認識処理結果すなわち、入力画像における人物中央領域は、正解画像に付加された正解領域となっており、対応しているのがわかる。
【０１１７】
（実施の形態３）
実施の形態３では、実施の形態１および実施の形態２で説明した画像認識器の別の構成例について、図面を参照しながら説明を行う。以下、実施の形態１および２で説明した画像認識器１０と異なるところを中心に説明する。
【０１１８】
［画像認識器３０の構成および認識処理結果］
図２４は、本実施の形態における画像認識器３０が用いる畳み込みニューラルネットワークの構造の概略と認識処理結果とを示す図である。なお、図７および図１６と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１１９】
図２４に示す画像認識器３０は、実施の形態１および２と同様に、コンピュータ等で実現される。画像認識器３０は、図２４に示すように、畳み込み層１０１Ａと畳み込み層１０２と畳み込み層２０２とを有する畳み込みニューラルネットワークを用いて、入力画像における認識対象である人物を認識する。そして、認識した人物の入力画像における位置を示す値を人物の中央を示す中央領域（人物中央領域）で出力するとともに、認識した人物の入力画像における位置を示す値を座標（人物座標）で出力する。
【０１２０】
このように、図２４に示す画像認識器３０は、実施の形態１に係る画像認識器１０および実施の形態２に係る画像認識器２０に対して、入力画像における認識対象の位置を示す値の出力方法が異なる。一方、並行して出力する人物中央領域と人物座標とは、実施の形態１および２で説明したものと同様である。人物中央領域と人物座標とについては、実施の形態１および２で説明した通りであるのでここでの説明は省略する。
【０１２１】
このように、画像認識器３０が用いる畳み込みニューラルネットワークは、全結合層が畳み込み層１０２および畳み込み層２０２に変更されており、畳み込み層１０１Ａの出力が畳み込み層１０２および畳み込み層２０２に接続される。ここで、畳み込み層１０１Ａは、実施の形態１の畳み込み層１０１と構造は同じであるが、学習した重みが異なっている。これにより、画像認識器３０は、人物中央領域と人物座標とを並行に出力することができる。
【０１２２】
［画像認識器３０の学習処理］
以下、このような画像認識器３０を実現するための学習処理について説明する。ここで、画像認識器３０が用いる畳み込みニューラルネットワークを訓練する学習用データは，人物を撮影した画像とその人物注釈を付した正解画像とである。
【０１２３】
図２５は、実施の形態３における画像認識器３０の学習処理の概要を示すフローチャートである。なお、図９および図１９と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１２４】
図２５に示すように、まず、上述した学習用データを用いて、人物認識ニューラルネットの学習を行い（Ｓ１１）、上述した学習用データを用いて、人物領域出力ニューラルネットの学習を行う（Ｓ１２）。Ｓ１１およびＳ１２については実施の形態で説明した通りであるので、ここでの説明は省略する。
【０１２５】
次に、上述した学習用データを用いて、人物領域座標出力ニューラルネットの学習を行い（Ｓ１３）、続いて、人物中央領域出力ニューラルネットの学習を行う（Ｓ２３）。なお、人物領域座標出力ニューラルネットの学習と人物中央領域出力ニューラルネットの学習との順番は反対でもよい。
【０１２６】
本実施の形態では、人物領域座標出力ニューラルネットの学習は、畳み込み層１０１Ａおよび畳み込み層１０２の重みを学習することに該当し、実施の形態１で説明したのと同様に、学習用データの正解画像から生成した正解座標を教師データとする。そして、ユークリッド距離を用いた誤差関数を用いる。一方、人物中央領域出力ニューラルネットの学習は、畳み込み層１０１Ａおよび畳み込み層２０２の重みを学習することに該当し、実施の形態２で説明したのと同様に、学習用データの正解画像から生成した正解領域を教師データとする。そして、クロスエントロピーを用いた誤差関数を用いる。なお、その他については、実施の形態１および２で説明した通りであるので、ここでの詳細説明は省略する。
【０１２７】
［他の実施態様の可能性］
以上、実施の形態１〜３において本開示の画像認識方法について説明したが、各処理が実施される主体や装置に関しては特に限定しない。ローカルに配置された特定の装置内に組み込まれたプロセッサーなど（以下に説明）によって処理されてもよい。またローカルの装置と異なる場所に配置されているクラウドサーバなどによって処理されてもよい。
【０１２８】
なお、図２６は、認識対象が走っている人物である場合の人物中央領域を示す図である。
【０１２９】
つまり、認識対象が走っている人物５７１であった場合、人物中央領域は、入力画像５７における上下方向の中央領域を示す１画素ないし数画素を、人物中央領域５７１ａとしてもよい。人物の中央領域ではないが、人物を含む領域の中央領域であることと、正解領域を生成し易く学習処理を行いやすいからである。
【０１３０】
また、本開示は、上記実施の形態に限定されるものではない。例えば、本明細書において記載した構成要素を任意に組み合わせて、また、構成要素のいくつかを除外して実現される別の実施の形態を本開示の実施の形態としてもよい。また、上記実施の形態に対して本開示の主旨、すなわち、特許請求の範囲に記載される文言が示す意味を逸脱しない範囲で当業者が思いつく各種変形を施して得られる変形例も本開示に含まれる。
【０１３１】
また、本開示は、さらに、以下のような場合も含まれる。
【０１３２】
（１）上記の装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１３３】
（２）上記の装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１３４】
（３）上記の装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１３５】
（４）また、本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１３６】
（５）また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１３７】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１３８】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１３９】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【０１４０】
本開示は、画像中で一部重なっている複数の認識対象それぞれを正しく認識することができる画像認識方法に利用でき、特に、監視カメラや車載カメラ、店舗内カメラで撮影された画像内の認識対象を有効に認識するための画像認識方法に利用できる。
【符号の説明】
【０１４１】
１０、１０ａ、２０、２０ａ、３０、３０ａ、８０、９０  画像認識器
５０、５０ａ、５１、５２、５２ａ、５３、５６ｃ、５６ｄ  画像
５４、５６、５７  入力画像
５４ａ、５４ｂ  矩形
５４ｃ、５４ｄ、５７１ａ  人物中央領域
５６ａ  正解画像
５６ｂ、５６ｆ、５０１ｃ、５３１ａ、５３２ａ  中央領域
１０１、１０１ａ、１０１Ａ、１０２、１０２ａ、２０１、２０２、８０１、９０２  畳み込み層
５０１、５０２、５０３、５１２、５３１、５３２、５７１  人物
５０１ａ、５０２ａ、５１２ａ  特徴マップ
８０２  全結合層
【図１】
2017059207.tif 000007
【図２】
2017059207.tif 000008
【図３Ａ】
2017059207.tif 000009
【図３Ｂ】
2017059207.tif 000010
【図４Ａ】
2017059207.tif 000011
【図４Ｂ】
2017059207.tif 000012
【図６】
2017059207.tif 000013
【図７】
2017059207.tif 000014
【図８Ａ】
2017059207.tif 000015
【図９】
2017059207.tif 000016
【図１０】
2017059207.tif 000017
【図１２】
2017059207.tif 000018
【図１３】
2017059207.tif 000019
【図１５】
2017059207.tif 000020
【図１６】
2017059207.tif 000021
【図１７】
2017059207.tif 000022
【図１８Ａ】
2017059207.tif 000023
【図１８Ｂ】
2017059207.tif 000024
【図１９】
2017059207.tif 000025
【図２０】
2017059207.tif 000026
【図２１】
2017059207.tif 000027
【図２２】
2017059207.tif 000028
【図２４】
2017059207.tif 000029
【図２５】
2017059207.tif 000030
【図２６】
2017059207.tif 000031
【図５Ａ】
2017059207.tif 000032
【図５Ｂ】
2017059207.tif 000033
【図８Ｂ】
2017059207.tif 000034
【図１１Ａ】
2017059207.tif 000035
【図１１Ｂ】
2017059207.tif 000036
【図１１Ｃ】
2017059207.tif 000037
【図１４Ａ】
2017059207.tif 000038
【図１４Ｂ】
2017059207.tif 000039
【図２３Ａ】
2017059207.tif 000040
【図２３Ｂ】
2017059207.tif 000041
【図２３Ｃ】
2017059207.tif 000042