(57)【要約】【課題】エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善するプログラムを提供する。【解決手段】エンコーダデコーダ畳み込みネットワークについて、デコーダ側の入れ子状の第ｎ段のアップサンプリング層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを連結して、デコーダ側の第ｎ−１段の畳み込み層へ入力するマージ機能を有するプログラムにおいて、デコーダ側の第ｎ段のアップサンプリング層から出力された特徴マップを入力する第ｎ段の補間用畳み込み層を更に有し、マージ機能は、第ｎ段の補間用畳み込み層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップを、デコーダ側の第ｎ−１段の畳み込み層へ入力する。【選択図】図４
2018181124.tif 000002
【特許請求の範囲】
【請求項１】
エンコーダデコーダ畳み込みネットワークについて、デコーダ側の入れ子状の第ｎ段のアップサンプリング層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを連結して、デコーダ側の第ｎ−１段の畳み込み層へ入力するマージ機能を有するようにコンピュータを機能させるプログラムにおいて、
デコーダ側の第ｎ段のアップサンプリング層から出力された特徴マップを入力する第ｎ段の補間用畳み込み層を更に有し、
前記マージ機能は、第ｎ段の補間用畳み込み層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップを、デコーダ側の第ｎ−１段の畳み込み層へ入力する
ようにコンピュータを機能させることを特徴とするプログラム。
【請求項２】
第ｎ段の補間用畳み込み層は、前記アップサンプリング層に基づく要素サイズの拡大による解像感低下の副作用を軽減させるために、第ｎ−１段の畳み込み層から誤差逆伝播によって重みを更新する
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップのサイズ及び枚数と、
デコーダ側の第ｎ段のアップサンプリング層及び補間用畳み込み層から出力された特徴マップのサイズ及び枚数と、
前記マージ機能から出力される特徴マップのサイズ及び枚数と
は、全て同一となる
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記エンコーダデコーダ畳み込みネットワークは、Ｕ字型のショートカット構造を有する
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記エンコーダデコーダ畳み込みネットワークは、入力画像における物体検出に適用されており、
前記エンコーダは、物体検出における特徴抽出処理であり、
前記デコーダは、物体検出における位置検出処理である
ようにコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
エンコーダデコーダ畳み込みネットワークについて、デコーダ側の入れ子状の第ｎ段のアップサンプリング層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを連結して、デコーダ側の第ｎ−１段の畳み込み層へ入力することによってマージするべくコンピュータに実行させるプログラムにおいて、
デコーダ側の第ｎ段のアップサンプリング層から出力された特徴マップを、第ｎ段の補間用畳み込み層へ入力する第１のステップと、
第ｎ段の補間用畳み込み層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップを、デコーダ側の第ｎ−１段の畳み込み層へ入力する第２のステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に映る物体を認識する技術に関する。
【背景技術】
【０００２】
画像に映る物体を認識するために、画像の領域セグメンテーションの処理が必要となる。この処理は、画像の各ピクセルが、何の物体に属するのかを検出するものであり、従来、ランダムフォレスト(random forest)や、サポートベクターマシン(support vector machine, SVM)、エイダブースト(adaboost)などが用いられてきた。
【０００３】
近年、画像の領域セグメンテーションに、深層学習(deep learning)における畳み込みニューラルネットワーク(convolutional neural network)が適用されてきている。畳み込みニューラルネットワークに画像を入力することによって、特徴を抽出し、その特徴が現れた位置を検出することができる。
【０００４】
「ニューラルネットワーク」とは、生体の脳における特性を計算機上のシミュレーションによって表現することを目指した数学モデルをいう。シナプスの結合によってネットワークを形成した人工ニューロン（ユニット）が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般をいう。
また、「畳み込みニューラルネットワーク」とは、複数のユニットを持つ層が入力段から出力段へ向けて一方向に連結されており、出力層側のユニットが、隣接する入力層側の特定のユニットに結合された畳み込み層を有する順伝播型ネットワークをいう。
【０００５】
前方層のユニットから後方層のユニットへつなぐ関数のパラメータを、「重み(weight)」と称す。学習とは、この関数のパラメータとして、適切な「重み」を算出することにある。教師データの入力データに対する出力層からの出力データと、教師データの正解ラベルとの誤差を用いて、各層の重みを最適に更新される。誤差は、「誤差逆伝播法」によって、出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。
【０００６】
従来、画像の物体認識用の畳み込みニューラルネットワークとして、エンコーダデコーダ構造を用いた技術がある（例えば非特許文献１参照）。この技術によれば、エンコーダは、画像から物体の特徴を抽出し、デコーダは、その特徴を物体の位置にマッピングする。
また、完全畳み込み構造を用いた技術もある（例えば非特許文献２参照）。この技術によれば、画像をエンコードし、スキップ構造によってある層を統合して位置を推測する。このとき、スキップ構造の後に合併させる技術もある（例えば非特許文献３参照）。
【０００７】
図１は、エンコーダデコーダ畳み込みニューラルネットワークの概説図である。
【０００８】
図１によれば、エンコーダデコーダ畳み込みニューラルネットワーク(encoder-decoder convolutional neural network)は、入力された画像から物体が検出されると共に、その画像の各ピクセルが何の物体に属するか、を認識する。エンコーダデコーダ畳み込みニューラルネットワークは、エンコーダ及びデコーダの２つのステップを実行する。
エンコーダ：物体検出における特徴抽出処理
デコーダ  ：物体検出における位置検出処理
【０００９】
エンコーダデコーダ畳み込みニューラルネットワークは、入力された画像と同じサイズの物体認識画像を出力する。
図１によれば、複数の人が映る写真画像が入力されている（非特許文献４から引用）。尚、入力画像は、スマートフォンやカメラなどで撮影した自然画像に限られず、ＣＧ(computer Graphics)画像であってもよい。
出力された物体認識画像からは、人や、テーブル、椅子のような物体が検出されると共に、その物体の位置が特定されている。
【００１０】
図２は、従来技術のエンコーダデコーダ畳み込みネットワークにおける層の構造図である。
【００１１】
エンコーダデコーダ畳み込みネットワークは、Ｕ字型のショートカット構造（入れ子状構造）を有する。Ｕ字型ネットワークによれば、エンコーダは、畳み込み層及びプーリング層(pooling layer)によって要素数（画素数）を減少させながら特徴マップ(feature map)を作成していく。一方で、デコーダは、畳み込み層及びアップサンプリング層(upsampling layer)によって要素数を増加させながら特徴マップを作成していく。
尚、Ｕ字型ネットワークの段層を深くすることによって、演算量は増加するが、表現力の高い特徴に対する位置を検出することができる。
【００１２】
畳み込み層は、入力データに重みフィルタを充てて、その各要素の積の和を、特徴マップの１個の要素の値とする。そして、入力データに対して重みフィルタをスライディングさせながら、局所特徴を増強した特徴マップを生成する。畳み込み層から出力される特徴マップについて、サイズはS×Sとなり、その枚数はNとなる。特徴マップの枚数Nは、重みフィルタの個数Nと一致する。
そして、同じ重みフィルタを、入力データに対して移動させて、１枚の特徴マップを生成する。ここで、移動させる要素の数（移動量）を「ストライド(stride)」と称す。
プーリング層は、入力データから重要な特徴要素のみに縮小した特徴マップを生成する。
アップサンプリング層は、入力された特徴マップの要素（画素）を、例えば縦2倍・横2倍の４個の要素に同じ値で埋めて、拡大した特徴マップを生成する。
【００１３】
＜エンコーダ＞
図２によれば、画像は、入力層(input layer)に入力され、入力層の出力データは、エンコード側の第１段の畳み込み層へ入力される。第１段の畳み込み層から出力された特徴マップは、第２段のプーリング層に入力されると共に、第１段のデコーダ側の畳み込み層へも入力される。
エンコード側の第２段のプーリング層によって要素数が縮小された特徴マップは、第２段の畳み込み層に入力される。第２段の畳み込み層から出力された特徴マップは、第３段のプーリング層に入力されると共に、第２段のデコーダ側の畳み込み層へも入力される。
エンコード側の第３段のプーリング層によって要素数が縮小された特徴マップは、第３段の畳み込み層に入力される。
【００１４】
＜デコーダ＞
図２によれば、第３段の畳み込み層から出力された特徴マップは、第３段のアップサンプリング層に入力される。
第３段のアップサンプリング層によって要素数が拡大された特徴マップは、デコーダ側の第２段の畳み込み層に入力される。
ここで、エンコード側の第２段の畳み込み層から出力された特徴マップと、第３段のアップサンプリング層から出力された特徴マップとをマージした特徴マップが、デコーダ側の第２段の畳み込み層へ入力される。そして、第２段の畳み込み層から出力された特徴マップは、第２段のアップサンプリング層に入力される。
デコーダ側の第２段のアップサンプリング層によって要素数が拡大された特徴マップは、デコーダ側の第１段の畳み込み層に入力される。
ここで、エンコード側の第１段の畳み込み層から出力された特徴マップと、第２段のアップサンプリング層から出力された特徴マップとをマージした特徴マップが、デコーダ側の第１段の畳み込み層へ入力される。そして、第１段の畳み込み層から出力された特徴マップは、活性化層へ入力される。
活性化層は、例えばＲｅＬＵ(Rectified Linear Unit)の場合、信号の強いニューロンを増強し、弱いニューロンを抑圧することができる。活性化層から出力されたデータは、各ピクセルに物体がマッピングされた画像データとなる（例えば図１の参照）。
【００１５】
図３は、従来技術のアップサンプリング層及びマージ機能における特徴マップの処理を表す説明図である。
【００１６】
デコーダ側の第ｎ段のアップサンプリング層は、S/2×S/2×Nのサイズの特徴マップを入力した場合、例えば縦2倍・横2倍にしたS×S×Nのサイズの特徴マップを出力する。
そして、デコーダ側の第ｎ段のアップサンプリング層から出力されたS×S×Nのサイズの特徴マップと、エンコード側の第ｎ−１段の畳み込み層から出力されたS×S×Nのサイズの特徴マップとは、同じサイズとなって、マージされる。
ここでのマージとは、２つの特徴マップを単に連結して（線形に合併させて）、2Nとしたものである。S×S×2Nのサイズの特徴マップが、デコーダ側の第ｎ−１段の畳み込み層へ入力される。
【００１７】
前述した入れ子型のニューラルネットワークとして、例えばResNet(residual network)やU-Netがある。これらは、デコーダ側で特徴マップを連結させることによって、第ｎ−１段と第ｎ段との層間の差を混ぜて、ネットワークのオーバーフィット(overfitting, 過剰適合)を防ごうとするものである。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation、[online]、［平成２９年４月１７日検索］、インターネット＜URL: https://arxiv.org/pdf/1511.00561v3.pdf＞
【非特許文献２】Fully Convolutional Networks for Semantic Segmentation、[online]、［平成２９年４月１７日検索］、インターネット＜URL:https://arxiv.org/pdf/1605.06211.pdf＞
【非特許文献３】Deep Residual Learning for Compressed Sensing CT Reconstruction  via Persistent  Homology Analysis、[online]、［平成２９年４月１７日検索］、インターネット＜URL:https://arxiv.org/pdf/1611.06391.pdf＞
【非特許文献４】Pascal VOC、[online]、［平成２９年４月１７日検索］、インターネット＜URL:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１９】
前述したエンコーダデコーダ畳み込みニューラルネットワークによれば、アップサンプリング層における特徴マップのサイズ拡大（ブロック化）によって、画像の領域セグメンテーションの解像感が低下するという副作用がある。
【００２０】
そこで、本発明は、エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明によれば、エンコーダデコーダ畳み込みネットワークについて、デコーダ側の入れ子状の第ｎ段のアップサンプリング層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを連結して、デコーダ側の第ｎ−１段の畳み込み層へ入力するマージ機能を有するようにコンピュータを機能させるプログラムにおいて、
デコーダ側の第ｎ段のアップサンプリング層から出力された特徴マップを入力する第ｎ段の補間用畳み込み層を更に有し、
前記マージ機能は、第ｎ段の補間用畳み込み層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップを、デコーダ側の第ｎ−１段の畳み込み層へ入力する
ようにコンピュータを機能させることを特徴とする。
【００２２】
本発明のプログラムにおける他の実施形態によれば、
第ｎ段の補間用畳み込み層は、前記アップサンプリング層に基づく要素サイズの拡大による解像感低下の副作用を軽減させるために、第ｎ−１段の畳み込み層から誤差逆伝播によって重みを更新する
ようにコンピュータを機能させることも好ましい。
【００２３】
本発明のプログラムにおける他の実施形態によれば、
エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップのサイズ及び枚数と、
デコーダ側の第ｎ段のアップサンプリング層及び補間用畳み込み層から出力された特徴マップのサイズ及び枚数と、
前記マージ機能から出力される特徴マップのサイズ及び枚数と
は、全て同一となる
ようにコンピュータを機能させることも好ましい。
【００２４】
本発明のプログラムにおける他の実施形態によれば、
前記エンコーダデコーダ畳み込みネットワークは、Ｕ字型のショートカット構造を有する
ようにコンピュータを機能させることも好ましい。
【００２５】
本発明のプログラムにおける他の実施形態によれば、
前記エンコーダデコーダ畳み込みネットワークは、入力画像における物体検出に適用されており、
前記エンコーダは、物体検出における特徴抽出処理であり、
前記デコーダは、物体検出における位置検出処理である
ようにコンピュータを機能させることも好ましい。
【００２６】
本発明によれば、エンコーダデコーダ畳み込みネットワークについて、デコーダ側の入れ子状の第ｎ段のアップサンプリング層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを連結して、デコーダ側の第ｎ−１段の畳み込み層へ入力することによってマージするべくコンピュータに実行させるプログラムにおいて、
デコーダ側の第ｎ段のアップサンプリング層から出力された特徴マップを、第ｎ段の補間用畳み込み層へ入力する第１のステップと、
第ｎ段の補間用畳み込み層から出力された特徴マップと、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップを、デコーダ側の第ｎ−１段の畳み込み層へ入力する第２のステップと
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２７】
本発明のプログラムによれば、エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善することができる。
【図面の簡単な説明】
【００２８】
【図１】エンコーダデコーダ畳み込みニューラルネットワークの概説図である。
【図２】従来技術のエンコーダデコーダ畳み込みネットワークにおける層の構造図である。
【図３】従来技術のアップサンプリング層及びマージ機能における特徴マップの処理を表す説明図である。
【図４】本発明のエンコーダデコーダ畳み込みネットワークにおける層の構造図である。
【図５】本発明のアップサンプリング層及びマージ機能における特徴マップの処理を表す説明図である。
【図６】従来技術の図２と本発明の図４とを比較したプログラムコードである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００３０】
図４は、本発明のエンコーダデコーダ畳み込みネットワークにおける層の構造図である。
【００３１】
図４によれば、従来技術の図２と比較して、位置検出のデコーダのみが相違する。
具体的には、デコーダ側の第ｎ段のアップサンプリング層から出力された特徴マップを入力する第ｎ段の「補間用畳み込み層」を更に有する。
第ｎ段の「補間用畳み込み層」は、学習時に、デコーダ側の第ｎ−１段の畳み込み層から誤差逆伝播によって重みを更新する。これによって、第ｎ段のアップサンプリング層に基づく要素サイズの拡大による解像感低下の副作用を軽減させることができる。
【００３２】
そして、デコーダ側の第ｎ段の補間用畳み込み層から出力された特徴マップは、エンコード側の第ｎ−１段の畳み込み層から出力された特徴マップとマージされる。
ここで、第ｎ−１段におけるマージ機能は、従来技術のように連結（線形合併）ではなく、要素毎に加算するものである。即ち、特徴マップのサイズをS×S×2Nとすることなく、要素毎に加算して、S×S×Nとする。これによって、更に、アップサンプリング層に基づく要素サイズの拡大による解像感低下の副作用を軽減させることができる。
【００３３】
図４によれば、第３段の畳み込み層から出力された特徴マップは、第３段のアップサンプリング層に入力される。
第３段のアップサンプリング層によって要素数が拡大された特徴マップは、補間用畳み込み層に入力される。
ここで、エンコード側の第２段の畳み込み層から出力された特徴マップと、第３段の補間用畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップが、デコーダ側の第２段の畳み込み層へ入力される。そして、第２段の畳み込み層から出力された特徴マップは、第２段のアップサンプリング層に入力される。
デコーダ側の第２段のアップサンプリング層によって要素数が拡大された特徴マップは、補間用畳み込み層に入力される。
ここで、エンコード側の第１段の畳み込み層から出力された特徴マップと、第２段の補間用畳み込み層から出力された特徴マップとを、要素毎に加算した特徴マップが、デコーダ側の第１段の畳み込み層へ入力される。そして、第１段の畳み込み層から出力された特徴マップは、活性化層へ入力される。活性化層から出力されたデータは、各ピクセルに物体がマッピングされた画像データとなる。
【００３４】
図５は、本発明のアップサンプリング層及びマージ機能における特徴マップの処理を表す説明図である。
【００３５】
デコーダ側の第ｎ段のアップサンプリング層は、S/2×S/2×Nのサイズの特徴マップを入力した場合、例えば縦2倍・横2倍に拡大したS×S×Nのサイズの特徴マップを出力する。その特徴マップは、補間用畳み込み層へ入力される。第ｎ段の「補間用畳み込み層」は、デコーダ側の第ｎ−１段の畳み込み層から誤差逆伝播によって重みが更新されたものである。
そして、デコーダ側の第ｎ段の補間用畳み込み層から出力されたS×S×Nのサイズの特徴マップと、エンコード側の第ｎ−１段の畳み込み層から出力されたS×S×Nのサイズの特徴マップとは、同じサイズとなって、マージされる。
ここでのマージとは、２つの特徴マップの要素毎に加算して、Nとしたものである。S×S×Nのサイズの特徴マップが、デコーダ側の第ｎ−１段の畳み込み層へ入力される。
即ち、エンコーダ側の第ｎ−１段の畳み込み層から出力された特徴マップのサイズS×S及び枚数Nと、デコーダ側の第ｎ段のアップサンプリング層及び補間用畳み込み層から出力された特徴マップのサイズS×S及び枚数Nと、マージ機能から出力される特徴マップのサイズS×S及び枚数Nとは、全て同一となる。
【００３６】
図６は、従来技術の図２と本発明の図４とを比較したプログラムコードである。
【００３７】
図６によれば、以下のように表されている。
左側：従来技術の図２におけるプログラムコード
右側：本発明の図４によって更新されたプログラムコードのみ
【００３８】
（図２の従来技術）
up1 = merge([UpSampling2D(size=(2,2))(conv3), conv2],
mode='concat', concat_axis=1)
#conv3（第３段の畳み込み層から出力された特徴マップ）を、size=(2,2)(縦2倍・横2倍)にUpSamplingし、conv2（第２段の畳み込み層から出力された特徴マップ）とconcat（連結）によってmergeし、その特徴マップをup1とする。
（図４の本発明）
up1=UpSampling2D(size=(2,2))(conv3) 
conv3 = Convolution2D(64, 3, 3, activation='relu',
border_mode='same')(up1)
up1 = merge([conv3, conv2], mode='sum', axis=1)
# conv3（第３段の畳み込み層から出力された特徴マップ）を、size=(2,2)(縦2倍・横2倍)倍にUpSamplingし、その特徴マップをup1とする。
# Convolution（補間用畳み込み層）に、up1の特徴マップを入力し、その出力となる特徴マップをconv3とする。
# conv3（補間用畳み込み層から出力された特徴マップ）と、conv2（第２段の畳み込み層から出力された特徴マップ）とをsum（要素毎の加算）によってmergeし、その特徴マップをup1とする。
【００３９】
（図２の従来技術）
up2 = merge([UpSampling2D(size=(2,2))(conv4), conv1],
mode='concat', concat_axis=1)
#conv4（第２段の畳み込み層）から出力された特徴マップを、size=(2,2)(縦2倍・横2倍)にUpSamplingし、conv1（第１段の畳み込み層）から出力された特徴マップとconcat（連結）によってmergeし、その特徴マップをup2とする。
（図４の本発明）
up2=UpSampling2D(size=(2,2))(conv4)
conv4 = Convolution2D(32, 3, 3, activation='relu',
border_mode='same')(up2) 
up2 = merge([conv4, conv1], mode='sum', axis=1)
# conv4（第２段の畳み込み層から出力された特徴マップ）を、size=(2,2)(縦2倍・横2倍)にUpSamplingし、その特徴マップをup2とする。
# Convolution（補間用畳み込み層）に、up2の特徴マップを入力し、その出力となる特徴マップをconv4とする。
# conv4（補間用畳み込み層から出力された特徴マップ）と、conv1（第１段の畳み込み層から出力された特徴マップ）とをsum（要素毎の加算）によってmergeし、その特徴マップをup2とする。
【００４０】
以上、詳細に説明したように、本発明のプログラムによれば、エンコーダデコーダ畳み込みニューラルネットワークにおける解像感を改善することができる。
【００４１】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図１】
2018181124.tif 000003
【図２】
2018181124.tif 000004
【図３】
2018181124.tif 000005
【図４】
2018181124.tif 000006
【図５】
2018181124.tif 000007
【図６】
2018181124.tif 000008