(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-15
(45)【発行日】2022-03-24
(54)【発明の名称】直列畳み込みニューラルネットワーク
(51)【国際特許分類】
G06T 7/00 20170101AFI20220316BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2018554684
(86)(22)【出願日】2017-04-20
(86)【国際出願番号】 IL2017050461
(87)【国際公開番号】W WO2017183034
(87)【国際公開日】2017-10-26
【審査請求日】2020-02-12
(32)【優先日】2016-04-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-04-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-04-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-08-16
(33)【優先権主張国・地域又は機関】GB
(32)【優先日】2017-04-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507253749
【氏名又は名称】ラモット アット テル アビブ ユニバーシティ, リミテッド
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100191086
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】ウルフ,ライオア
(72)【発明者】
【氏名】ムシンスキー,アサフ
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2011-113168(JP,A)
【文献】特開2007-011572(JP,A)
【文献】特開2016-006626(JP,A)
【文献】特開2011-170890(JP,A)
【文献】特開平08-305855(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの画像内の少なくとも1つのオブジェクトを検出する畳み込みニューラルネットワークシステムであって、前記システムは、
複数のオブジェクト検出器
であって、各々のオブジェクト検出器は、前記少なくとも1つの画像内の予め定められた画像ウインドウサイズに対応し、各々の
前記オブジェクト検出器は、前記少なくとも1つの画像に対す
るダウンサンプリング比と関連付けられ、各々の
前記オブジェクト検出器は、
複数の畳み込み層を含
む畳み込みニューラルネットワークと、
前記畳み込みニューラルネットワークからの結果に従って前記
少なくとも1つの画像内のオブジェクトを分類する
ための、前記畳み込みニューラルネットワークと結合されたオブジェクト分類器と
、
を含
む、オブジェクト検出器
を備え、
同一の
前記ダウンサンプリング比と関連付けられた
前記オブジェクト検出器は、
共通畳み込み層と関連付けられるオブジェクト検出器のグループにおけるオブジェクト検出器の少なくとも1つのグループを定義
する、畳み込みニューラルネットワークシステム。
【請求項2】
各々がそれぞれのダウンサンプリング比と関連付けられた複数のダウンサンプラ
であって、前記ダウンサンプラは、前記
少なくとも1つの画像
の縮尺化されたバージョンを作成するように構成され、
前記縮尺化されたバージョン
の各々は、それぞれの
前記ダウンサンプリング比と関連付けられる、
ダウンサンプラをさらに含む、請求項1に記載の畳み込みニューラルネットワークシステム。
【請求項3】
前記ダウンサンプラ、及び前記
少なくとも1つの画像に対する同一のそれぞれの画像ウインドウサイズと関連付けられた
前記オブジェクト検出器は、スケール検出器を定義し、各々の
前記スケール検出器は、前記
少なくとも1つの画像のそれぞれの縮尺化されたバージョンと関連付けられる、請求項2に記載の畳み込みニューラルネットワークシステム。
【請求項4】
前記オブジェクト分類器は、畳み込み分類器であり、前記それぞれの畳み込みニューラルネットワークによって提供された特徴マップにより少なくとも1つの分類フィルタを畳み込む、請求項1に記載の畳み込みニューラルネットワークシステム。
【請求項5】
前記それぞれの畳み込みニューラルネットワークは複数の特徴を含む特徴マップを作成し、各々のエントリは、前記エントリと関連付けられた画像ウインドウ内で特徴強度を表し、前記画像ウインドウは、前記それぞれの画像ウインドウサイズを示す、請求項4に記載の畳み込みニューラルネットワークシステム。
【請求項6】
前記オブジェクト分類器は、前記オブジェクトが前記特徴と関連付けられた画像ウインドウの各々に位置する確率を提供する、請求項5に記載の畳み込みニューラルネットワークシステム。
【請求項7】
前記
オブジェクト分類器は、前記特徴マップと関連付けられた画像ウインドウごとの画像ウインドウ補正係数を含
む分類ベクトルを前記画像ウインドウごとに提供し、前記画像ウインドウ補正係数は、各々の画像ウインドウの幅及び高さへの補正、各々の画像ウインドウの位置への補正、並びに各々の画像ウインドウの方位への補正を含む、請求項6に記載の畳み込みニューラルネットワークシステム。
【請求項8】
単一の訓練スケール検出器
が、スケール検出器がオブジェクト検出器の同一の構成を示すとき、及びオブジェクト検出器におけるCNNが同様の特性を有するグループの層を示すときに訓練される、請求項3に記載の畳み込みニューラルネットワークシステム。
【請求項9】
前記
単一の訓練スケール検出器を訓練する前に、訓練セットにおける訓練サンプルの数は、
それぞれの訓練サンプルの境界ボックス内の各々のオブジェクトのキーポイントの位置を判定し、
オブジェクトのキーポイントタイプについて、同一のタイプのオブジェクトのキーポイントの平均位置に従って、それぞれの特徴参照位置を判定し、平均値は、初期訓練セットにおける全てのオブジェクトのオブジェクトのキーポイント位置に従って判定され、
初期訓練セットにおける全ての訓練サンプルを特徴参照位置に登録し、
この参照位置からの位置合わせされた訓練サンプルの各々をランダムに摂動させる
ことによって訓練サンプルの初期数を上回って増加する、請求項8に記載の畳み込みニューラルネットワークシステム。
【請求項10】
畳み込みニューラルネットワーク方法であって、前記方法は、
複数のダウンサンプルされた画像を作成するために、複数のダウンサンプリング比に従って画像をダウンサンプリングする手順であって、各々のダウンサンプルされた画像は、それぞれのダウンサンプリング比と関連付けられる、前記ダウンサンプリングする手順と、
ダウンサンプルされた画像ごとに、対応する畳み込みニューラルネットワークによって、少なくとも1つの画像に対する予め定められた画像ウインドウサイズにおいてオブジェクトを検出する手順と、
前記画像内のオブジェクト分類する手順と、
を含み、
同一のそれぞれのダウンサンプリング比と関連付けられたそれぞれのダウンサンプルされた画像内のオブジェクトを検出する畳み込みニューラルネットワークは、畳み込みニューラルネットワークの少なくとも1つのグループを定義し、畳み込みニューラルネットワークのグループにおける畳み込みニューラルネットワークは、共通畳み込み層と関連付けられる、畳み込みニューラルネットワーク方法。
【請求項11】
前記画像をダウンサンプリングする前記手順の前に、
初期訓練セットから増強された訓練サンプルを作成する手順と、
共通層を有するように前記畳み込みニューラルネットワークを訓練する手順と
、
を更に含む、請求項10に記載の畳み込みニューラルネットワーク方法。
【請求項12】
共通層を有するように前記畳み込みニューラルネットワークを訓練することは、オブジェクト検出器の同様の特性を有する層の全てのグループの重み及びパラメータを平均化することを含む、請求項11に記載の畳み込みニューラルネットワーク方法。
【請求項13】
共通層を有するための前記畳み込みニューラルネットワークは、前記増強された訓練サンプルを採用し、
単一の訓練スケール検出器の複製を配置することによって
前記単一の訓練スケール検出器を訓練することを含み、各々の複製は、前記少なくとも1つの画像のそれぞれの縮尺化されたバージョンと関連付けられ、前記
単一の訓練スケール検出器
の複製は、畳み込みニューラルネットワークシステムを定義する、請求項11に記載の畳み込みニューラルネットワーク方法。
【請求項14】
増強された訓練サンプルを作成する前記手順は、
それぞれの訓練サンプルの境界ボックス内の各々のオブジェクトのキーポイントの位置を判定するサブ手順と、
オブジェクトのキーポイントタイプについて、同一のタイプの前記オブジェクトのキーポイントの平均位置に従って、それぞれのキーポイントの参照位置を判定するサブ手順であって、平均値は、前記初期訓練セットにおける全てのオブジェクトの前記オブジェクト
のキーポイントの位置に従って判定される、前記判定するサブ手順と、
前記初期訓練セットにおける全ての訓練サンプルを特徴参照位置に登録するサブ手順と、
この参照位置から位置合わせされた訓練サンプルの各々をランダムに摂動させるサブ手順と
、
を含む、請求項11に記載の畳み込みニューラルネットワーク方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示される技術は概して、ニューラルネットワークに関し、特に、直列畳み込みニューラルネットワークについての方法及びシステムに関する。
【背景技術】
【0002】
本分野において畳み込みニューラルネットワーク(CNN)が知られている。そのようなネットワークは典型的には、画像内のオブジェクト検出及び分類のために採用される。畳み込みニューラルネットワーク(CNN)は典型的には、更に多くの層のうちの1つから構築される。各々の層において、演算が実行される。典型的には、この演算は、活性化関数による畳み込み演算及び乗算のうちの1つである、この演算は更に、ダウンサンプリングとも称されるプーリングを含むことがある。
【0003】
層ごとに、それぞれの組のメタパラメータが定義される。それらのメタパラメータは、採用されるフィルタの数、フィルタのサイズ、畳み込みのストライド、ダウンサンプリング比、ダウンサンプリングサイズのサイズ、そのストライド、及び採用される活性化関数などを含む。ここで、本分野において既知である、全体的に10と参照符号が付されるCNNを概略的に表す
図1を参照する。CNN10は、画像16などの画像内の特徴を検出するために採用される。ニューラルネットワーク10は、層12
1(
図1)などの複数の層を含む。CNN10は、複数の層12
1、12
2、…、12
N、及び分類器14を含む。入力画像16は、層12
1に供給される。層12
1は少なくとも、そのそれぞれのフィルタにより画像16を畳み込み、活性化関数によってフィルタの出力の各々を乗算する。層12
1は、その出力を層12
2に提供し、層12
2は、それぞれのフィルタによりそれぞれのその演算を実行する。この処理は、層12
Nの出力が分類器14に提供されるまで繰り返す。層12
Nの出力は、CNN10において採用されるフィルタに対応する特徴のマップである。この特徴マップは、特徴マップと関連付けられたそれぞれの画像ウインドウ内の入力画像16に特徴が存在する確率に関連する。層12
Nの出力における特徴マップは、各々が特徴に対応する複数のマトリックスとして具体化されることがあり、各々のマトリックスにおけるエントリの値は、マトリックスにおけるエントリの位置(すなわち、エントリのインデックス)と関連付けられた特定の画像ウインドウ(すなわち、境界ボックス)内で、そのマトリックスと関連付けられた特徴を入力画像16が含む確率を表す。画像ウインドウのサイズは、畳み込み演算の間にCNN10における層の数、カーネルのサイズ、及びカーネルのストライドに従って判定される。
【0004】
分類器14は、本分野において既知のいずれかのタイプの分類器であってもよい(例えば、ランダムフォレスト分類器、サポートベクトルマシン-SVM分類器、及び畳み込み分類器など)。分類器14は、CNN10が検出するように訓練されたオブジェクトを分類する。分類器14は、画像ウインドウごとに、オブジェクトがその画像ウインドウ内に位置するそれぞれの検出信頼度レベルと共に分類情報を提供することができる。概して、分類器14の出力は、対応する画像ウインドウ内のオブジェクトの検出及び分類に関連する値のベクトル(単数又は複数)である。値のこのベクトル(単数又は複数)は、本明細書で「分類ベクトル」と称される。
【0005】
ここで、本分野において既知である、全体的に50と参照符号が付される例示的なCNNを概略的に表す
図2を参照する。CNNは、2つの層、第1の層51
1及び第2の層51
2を含む。第1の層51
1は、画像52をそれへの入力として受信する。第1の層51
1では、畳み込み演算が実行され、第2の層51
2では、活性化関数が畳み込みの結果に適用される。画像52は、画素のマトリックスを含み、各々の画素は、それぞれの値(例えば、グレーレベル値)又は値(複数)(例えば、カラー値)と関連付けられる。画像52は、オブジェクト(例えば、通りを歩いている人間、公園で遊んでいる犬、及び通りにおける車両など)を含むシーンを表すことができる。
【0006】
第1の層511では、画像52は、フィルタ541及び542の各々の1つにより畳み込まれる。フィルタ541及び542は、畳み込みカーネル又は単にカーネルとも称される。したがって、フィルタ541及び542の各々は、画像内の選択された位置上でシフトされる。各々の選択された位置において、フィルタにより重複する画素値は、フィルタのそれぞれの重みによって乗算され、この乗算の結果が合計される(すなわち、乗算及び和演算)。全体的に、選択された位置は、「ストライド」と称される予め定められたステップサイズによって画像上でフィルタをシフトすることによって定義される。フィルタ541及び542の各々は、画像内で識別されることになる特徴に対応する。フィルタのサイズと共にストライドは、CNNの設計者によって選択された設計パラメータである。フィルタ541及び542の各々より画像52を畳み込むことは、2つの特徴画像又はマトリックス、フィルタ541及び542のそれぞれの特徴画像561及び特徴画像562を含む特徴マップを作成する(すなわち、それぞれの画像はフィルタごとに作成される)。特徴画像内の各々の画素又はエントリは、1つの乗算及び和演算の結果に対応する。よって、マトリックス561及び562の各々は、フィルタ541及び542のそれぞれに対応するそれぞれの画像特徴と関連付けられる。また、各々のエントリは、入力画像52に対してそれぞれの画像ウインドウと関連付けられる。したがって、マトリックス561及び562の各々内の各々のエントリの値は、エントリと関連付けられた画像ウインドウ内で、それと関連付けられた特徴の特徴強度を表す。特徴画像561及び562のサイズ(すなわち、画素の数)は、画像52のサイズよりも小さいことがあることに留意されたい。第1の層511の出力は、第2の層512に提供される。第2の層512では、特徴画像561及び562の各々における各値は次いで、入力として活性化関数58(例えば、シグモイド、ガウス、及び双曲型tanhなど)に適用される。層512の出力は次いで、分類器60に提供され、分類器60は、画像52内のオブジェクトを検出及び分類し、特徴マップにおいてエントリごとに分類ベクトルを作成する。
【0007】
画像内のオブジェクトを検出及び分類する前に、CNN10(
図1)又はCNN50(
図2)などのCNNによって採用される関数の様々なフィルタの重み及びパラメータが判定される必要がある。それらの重み及びパラメータは、訓練工程において判定される。CNNの初期重み及びパラメータ(すなわち、訓練が開始される前)が適宜判定される(例えば、ランダムに)。訓練の間、その中でオブジェクトが検出及び分類されている訓練画像又は画像(複数)は、入力としてCNNに提供される。言い換えると、画像ウインドウごとに予め定められたそれぞれの分類ベクトルを有する画像は、入力としてCNNに提供される。CNNネットワークの層は、各々の訓練画像に適用され、分類ベクトル、各々の訓練画像のそれぞれが判定される(すなわち、その中のオブジェクトが検出及び分類される)。それらの分類ベクトルは、予め定められた分類ベクトルと比較される。CNNの分類ベクトルと予め定められた分類ベクトルとの間の誤差(例えば、差異の二乗和、ログ損失、softmaxlog損失)が判定される。この誤差は次いで、1つ以上の反復を含むことがある、逆伝播工程においてCNNの重み及びパラメータを更新するために採用される。
【0008】
公開文献「A convolutional Neural Network Cascade for Face Detection」、Li等は、ネットワークの3つのペアを含むCNNに関する。各々のペアは、分類(検出)ネットワーク及び境界ボックス回帰ネットワークを包含する。検出の間、画像プラミッドは、画像のマルチスケールスキャニングを可能にするように生成される。次いで、第1の分類ネットワーク(DET12)が、画像内の全てのウインドウをスキャンし、低信頼度を示すそれらをフィルタするために採用される。第1の境界ボックス回帰ネットワーク(CLB12)が、全ての残りのウインドウの位置を補正するために採用される。非最大抑制(Non-maximalsuppression)が次いで、高重複部分を有するウインドウを除去するために適用される。次の段階では、境界ボックス回帰を実行する第2の境界ボックス回帰ネットワーク(CLB24)がそれに続く、第2の分類ネットワーク(DET24)が、残りのウインドウをフィルタするために採用される。最後に、第3の境界ボックス回帰ネットワーク(CLB48)がそれに続く、第3の分類ネットワーク(DET48)が採用される。
【発明の概要】
【0009】
開示される技術の目的は、新規の畳み込みニューラルネットワーク方法及びシステムを提供することである。よって、開示される技術に従って、少なくとも1つの画像内の少なくとも1つのオブジェクトを検出する畳み込みニューラルネットワークシステムが提供される。システムは、少なくとも1つの画像内の予め定められた画像ウインドウサイズに対応する複数のオブジェクト検出器を含む。各々のオブジェクト検出器は、少なくとも1つの画像に対してそれぞれのダウンサンプリング比と関連付けられる。各々のオブジェクト検出器は、それぞれの畳み込みニューラルネットワーク及び畳み込みニューラルネットワークと結合されたオブジェクト分類器を含む。それぞれの畳み込みニューラルネットワークは、複数の畳み込み層を含む。オブジェクト分類器は、畳み込みニューラルネットワークからの結果に従ってオブジェクトを分類する。同一のそれぞれのダウンサンプリング比と関連付けられたオブジェクト検出器は、オブジェクト検出器の少なくとも1つのグループを定義する。オブジェクト検出器のグループにおけるオブジェクト検出器は、共通畳み込み層と関連付けられる。
【0010】
よって、開示される技術の別の態様に従って、複数のダウンサンプルされた画像を作成するために、複数のダウンサンプリング比に従って画像をダウンサンプリングする手順を含む畳み込みニューラルネットワーク方法が提供される。各々のダウンサンプルされた画像は、それぞれのダウンサンプリング比と関連付けられる。方法は更に、対応する畳み込みニューラルネットワークによって、ダウンサンプルされた画像ごとに少なくとも1つの画像に対して予め定められた画像ウインドウサイズにおいてオブジェクトを検出し、画像内のオブジェクトを分類する手順を含む。同一のそれぞれのダウンサンプリング比と関連付けられたそれぞれのダウンサンプルされた画像内のオブジェクトを検出する畳み込みニューラルネットワークは、畳み込みニューラルネットワークの少なくとも1つのグループを定義する。畳み込みニューラルネットワークのグループにおける畳み込みニューラルネットワークは、共通畳み込み層と関連付けられる。
【0011】
開示される技術は、図面と併用される以下の詳細な説明からより完全に理解及び認識されよう。
【図面の簡単な説明】
【0012】
【
図1】本分野において既知であるCNNを概略的に表す。
【
図2】本分野において既知である例示的なCNNを概略的に表す。
【
図3A】開示される技術の実施形態に従って入力画像内のオブジェクトを検出するCNNシステムを概略的に表す。
【
図3B】開示される技術の実施形態に従って入力画像内のオブジェクトを検出するCNNシステムを概略的に表す。
【
図4】開示される技術の別の実施形態に従って構築され、動作可能である、入力画像内のオブジェクトを検出する例示的なCNNシステムを概略的に表す。
【
図5A】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5B】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5C】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5D】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5E】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5F】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5G】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図5H】開示される技術の更なる実施形態に従って訓練セットを判定するために採用される、その中にオブジェクトを有する画像を概略的に表す。
【
図6】開示される技術の別の実施形態に従って動作可能である、ニューラルネットワークについての訓練セットを判定する方法を概略的に表す。
【
図7】開示される技術の更なる実施形態に従って動作可能である、CNNについての方法を概略的に表す。
【発明を実施するための形態】
【0013】
開示される技術は、画像内のオブジェクトを検出するCNNネットワークシステムを提供することによって従来技術の欠点を解消する。開示される技術に従ったCNNネットワークは、複数のオブジェクト検出器を含む。各々のオブジェクト検出器は、画像内のそれぞれの予め定められた画像ウインドウサイズと関連付けられる。各々のオブジェクト検出器は、画像に対するそれへの入力におけるそれぞれのダウンサンプリング比と関連付けられる。各々のオブジェクト検出器は、複数の畳み込み層を含むそれぞれのCNNを少なくとも含む。各々の畳み込み層は、複数のフィルタによりそれへの入力を畳み込み、この畳み込みの結果が活性化関数によって処理される。各々のオブジェクト検出器は更に、畳み込みニューラルネットワークからの結果に従って画像内のオブジェクトを分類する、畳み込みニューラルネットワークと結合されたオブジェクト分類器を含む。同一のそれぞれのダウンサンプリング比と関連付けられたオブジェクト検出器は、オブジェクト検出器の少なくとも1つのグループを定義する。オブジェクト検出器のグループにおけるオブジェクト検出器は、共通畳み込み層を共有する。よって、それらの共通畳み込み層は、オブジェクト検出器のグループにおける全てのオブジェクト検出器について一回算出されてもよい。
【0014】
また、開示される技術に従って、CNN入力画像に対する同一のそれぞれの画像ウインドウサイズと関連付けられたオブジェクト検出器は、スケール検出器を定義する。各々のスケール検出器は、CNN入力画像のそれぞれのスケールと関連付けられる。スケール検出器がオブジェクト検出器及びダウンサンプラの同一の構成を示すとき、並びにオブジェクト検出器におけるCNNが同様の特性を有する層のグループを示すとき、オブジェクト検出器は次いで、以下で更に説明される共通層を有するように訓練される。訓練スケール検出器のCNNの重み及びパラメータが判定されると、この訓練スケール検出器の複製は、開示される技術のCNNシステムを定義するように配置される。
【0015】
また、CNNを訓練するために採用されるサンプルの数は、
図5A~5H及び6と共に更に説明されるように、各々のサンプルを特徴参照位置と位置合わせし、サンプルをランダムに摂動させることによって初期数を上回って増加することができる。
【0016】
ここで、開示される技術実施形態に従って、入力画像106内のオブジェクトを検出する、全体的に100と参照符号が付されるCNNシステムを概略的に表す、
図3A及び3Bを参照する。CNNシステム100は、複数のスケール検出器102
1、102
2、…、102
N、及び複数のダウンサンプラ104
1~104
N-1を含む。ダウンサンプラ104
1~104
N-1の各々は、それぞれのダウンサンプリング比と関連付けられる。スケール検出器102
2、…、102
Nの各々は、それへの入力において、それぞれのダウンサンプラ104
1~104
N-1と結合される。よって、各々のスケール検出器は、入力画像106に対するそれぞれのダウンサンプリング比(すなわち、スケール)と関連付けられる。スケール検出器102
1は、その入力において、入力画像106を受信する(すなわち、スケール検出器102
1のそれぞれのダウンサンプリング比は1つである)。システム100は、複数のスケールオブジェクト検出器として見なされてもよく、スケール検出器102
2、…、102
Nの各々は、その入力において入力画像106のダウンサンプルされたバージョンを受信する。言い換えると、スケール検出器102
1、102
2、…、102
Nの各々は、入力画像106のそれぞれのスケールと関連付けられる。
図3Aでは、ダウンサンプラ104
1~104
N-1は、直列のダウンサンプラに配置され、各々のダウンサンプラは、その入力において前のダウンサンプラの出力を受信する(すなわち、その入力において入力画像106を受信するダウンサンプラ104
1を除き)。しかしながら、ダウンサンプラ104
1~104
N-1は、並列に配置されてもよく、各々のダウンサンプラは、その入力において入力画像106を受信し、スケール検出器102
2、…、102
Nのそれぞれの1つと関連付けられた対応するダウンサンプリング比によって入力画像106をダウンサンプルする。
【0017】
図3Bを参照して、そこで表されるのは、スケール検出器102
1、102
2、…、102
Nのうちの1つであるスケール検出器102
iである。オブジェクト検出器102
iは、複数のオブジェクト検出器108
1、108
2、…、108
L、及び複数のL-1ダウンサンプラを含み、複数のL-1ダウンサンプラから、ダウンサンプラ110
L-1及び110
L-2が
図3Bにおいて表される。オブジェクト検出器108
1、108
2、…、108
Lの各々は、それぞれのCNN及び分類器を含む。各々のCNNは、複数の畳み込み層を含む。オブジェクト検出器108
1は、M1層を含み、オブジェクト検出器108
2は、M2層を含み、オブジェクト検出器108
3は、M3層を含み、M1、M2、及びM3は、整数である。一般性の喪失なく、M3>=M2>=M1である。
【0018】
オブジェクト検出器の各々はまた、それへの入力における画像に対するそれぞれの画像ウインドウサイズと関連付けられる。
図3Bにおいて示される例では、オブジェクト検出器108
1は、それへの入力におけるダウンサンプルされた画像に対するI1×I2の画像ウインドウサイズと関連付けられ、オブジェクト検出器108
2は、それへの入力におけるダウンサンプルされた画像に対するK1×K2の画像ウインドウサイズと関連付けられ、オブジェクト検出器108
Lは、それへの入力における画像に対するJ1×J2の画像ウインドウサイズと関連付けられる(すなわち、それは、ダウンサンプルされた画像、又はオブジェクト検出器108
Lがスケール検出器102
1に位置するときの元の入力画像106であってもよい)。I1、K1、及びJ1は、画像ウインドウサイズの幅に対応し、I2、K2、及びJ2は、画像ウインドウサイズの高さに対応する。そのようにして、オブジェクト検出器108
1、108
2、…、108
Lの各々は、入力画像106に対する同一のそれぞれの画像ウインドウサイズと関連付けられる。このそれぞれの画像ウインドウサイズ(すなわち、受入領域)は、畳み込み演算の間に、それへの入力における各々の108
1、108
2、…、108
Lと関連付けられたダウンサンプリング比、各々のオブジェクト検出器における畳み込み層の数、カーネルのサイズ、及びカーネルのストライドと関連付けられる。
【0019】
各々のCNNの出力は、それぞれの分類器と結合される。検出器1081、1082、…、108L-1の各々の1つの入力は、それぞれのダウンサンプラと結合される。各々のダウンサンプラ、及びオブジェクト検出器108Lは、画像105を受信し、画像105は、その入力における入力画像106のダウンサンプルされたバージョンであってもよい。ダウンサンプラの各々は、それぞれのダウンサンプリング比によってそれへの入力画像をダウンサンプルし、ダウンサンプルされた画像をオブジェクト検出器1081、1082、…、108L-1のそれぞれの1つに提供する。その結果、1081、1082、…、108Lの各々は、入力画像106に対するそれぞれのダウンサンプリング比と関連付けられる。このそれぞれのダウンサンプリング比は、ダウンサンプラ1041~104N-1のダウンサンプリング比及びオブジェクト検出器1081、1082、…、108Lの各々と結合されたダウンサンプラのダウンサンプリング比によって判定される。
【0020】
オブジェクト検出器1081、1082、…、108Lの各々におけるそれぞれのCNNの各々の層は、対応するフィルタによりそれに提供された画像を畳み込む。各々のCNNの出力は、CNNによって採用されるフィルタに対応する特徴のマップである。特徴マップは、値のエントリを含む。特徴マップにおける各々のエントリの各値は、エントリと関連付けられた画像ウインドウ内で、様々なフィルタと関連付けられた特徴の特徴強度を表す。この特徴マップは、それぞれの分類器に提供される。各々の分類器は、CNNシステム100が検出するように訓練されたオブジェクトを分類し、画像ウインドウごとに、分類ベクトルを提供する。この分類ベクトルは、オブジェクトがその画像ウインドウ内に位置する検出信頼度レベルに関連する値を含み、更に、以下で更に詳しく述べられるように、画像ウインドウ補正係数を含んでもよい(すなわち、境界ボックス回帰)。
【0021】
図4と共に以下で更に例示されるように、オブジェクト検出器108
1、108
2、…、108
Lの各々は、入力画像104に対するそれぞれのダウンサンプリング比と関連付けられる。同一のそれぞれのダウンサンプリング比を有するオブジェクト検出器は、オブジェクト検出器のグループを定義する。開示される技術に従って、オブジェクト検出器のグループにおけるオブジェクト検出器は、共通畳み込み層と関連付けられる(すなわち、それらのオブジェクト検出器への入力画像が同一であるから)。そのようにして、それらの共通畳み込み層は、オブジェクト検出器のグループごとに1回算出される必要がある。
【0022】
上記言及されたように、オブジェクト検出器1081、1082、…、108Lの各々の出力は、入力画像106に対するそれぞれの画像ウインドウサイズと関連付けられる。そのようにして、複数のスケール検出器が採用されるとき、同一のそれぞれの画像ウインドウサイズと関連付けられた2つ以上のオブジェクト検出器が存在することができる。したがって、それらのオブジェクト検出器のうちの1つのみが、入力画像104内のオブジェクト(すなわち、それぞれの画像ウインドウサイズと関連付けられた画像ウインドウ内の)を検出及び分類するために採用されてもよい。しかしながら、検出信頼度レベルが十分でない場合、より多くの数の層を有する別のオブジェクト検出器が採用されてもよく、よって、算出の複雑度を低減させる(すなわち、平均で)(例えば、実行される演算の数の点で)。他のオブジェクト検出器は、オブジェクトが予め定められた値を上回ってそこに位置する確率により画像ウインドウのみを処理する。言い換えると、他のオブジェクト検出器を採用する前に、背景に関連する画像ウインドウは、第1のオブジェクト検出器によって判定された確率に従って除去される。
【0023】
ここで、開示される技術の別の実施形態に従って構築され、動作可能である、入力画像内のオブジェクトを検出する、全体的に200と参照符号が付される例示的なCNNシステムを概略的に表す、
図4を参照する。例示的なCNNシステム200は、2つのスケール検出器、第1のスケール検出器202
1及び第2のスケール検出器202
2、並びにダウンサンプラ218を含む。第1のスケール検出器202
1及び第2のスケール検出器202
2の各々は、複数のオブジェクト検出器及び複数のダウンサンプラを含む。ダウンサンプラは、
図4において「DS」と短縮される。第1のスケール検出器202
1は、オブジェクト検出器204
1、204
2、及び204
3...並びにダウンサンプラ210及び212を含む。第2のスケール検出器202
2は、オブジェクト検出器206
1、206
2、及び206
3、並びにダウンサンプラ214及び216を含む。オブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々は、それぞれのCNN及びそれぞれの分類器(
図4において「CLASS」と短縮される)205
1、205
2、205
3、207
1、207
2、及び207
3を含む。各々のCNNは、複数の畳み込み層(
図4において「L」と短縮される)を含む。オブジェクト検出器204
1及び206
1のCNNは、M1層を含み、オブジェクト検出器204
2及び206
2のCNNは、M2層を含み、オブジェクト検出器204
3及び206
3のCNNは、M3層を含み、M1、M2、及びM3は、整数である。一般性の喪失なく、M3>=M2>=M1である。
【0024】
オブジェクト検出器の各々はまた、それへの入力における画像に対するそれぞれの画像ウインドウサイズと関連付けられる。
図4において示さされる例では、オブジェクト検出器204
1及び206
1は、それへの入力におけるダウンサンプルされた画像に対するI1×I2の画像ウインドウサイズと関連付けられ、オブジェクト検出器204
2及び206
2は、それへの入力におけるダウンサンプルされた画像に対するK1×K2の画像ウインドウサイズと関連付けられ、オブジェクト検出器204
3及び206
3は、それへの入力における画像に対するJ1×J2の画像ウインドウサイズと関連付けられる(すなわち、オブジェクト検出器206
3への入力画像のみがダウンサンプルされる)。I1、K1、及びJ1は、画像ウインドウサイズの幅に対応し、I2、K2、及びJ2は、画像ウインドウサイズの高さに対応する。そのようにして、オブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々は、入力画像208に対するそれぞれの画像ウインドウサイズと関連付けられる。このそれぞれの画像ウインドウサイズは、畳み込み演算の間に、それへの入力におけるオブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々と関連付けられたダウンサンプリング比、各々のオブジェクト検出器における畳み込み層の数、カーネルのサイズ、並びにカーネルのストライドに従って判定される。入力画像208に対するオブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々のそれぞれの画像ウインドウサイズは、オブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々と関連付けられたそれぞれのダウンサンプリング比によって、それへの入力におけるそれぞれの画像ウインドウサイズに関連する。例えば、入力画像208に対する検出器204
1のそれぞれの画像ウインドウサイズは、R2*I1×R2*I2である。同様に、入力画像208に対する検出器204
2のそれぞれの画像ウインドウサイズは、R1*K1×R1*K2である。
【0025】
各々の畳み込みネットワークの出力は、それぞれの分類器205
1、205
2、205
3、207
1、207
2、及び207
3の入力と結合される。
図4において表される配置では、オブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々は、それぞれのダウンサンプラと結合される。オブジェクト検出器204
1の入力は、ダウンサンプラ210の出力と結合される。オブジェクト検出器204
2の入力は、ダウンサンプラ212の出力と結合される。オブジェクト検出器206
1の入力は、ダウンサンプラ214の出力と結合される。オブジェクト検出器206
2の入力は、ダウンサンプラ216の出力と結合され、オブジェクト検出器206
3の入力は、出力ダウンサンプラ218と結合される。ダウンサンプラ214及び216の入力はまた、ダウンサンプラ218の出力と結合される。
【0026】
オブジェクト検出器2043、ダウンサンプラ210、ダウンサンプラ212、及びダウンサンプラ218は、その入力において入力画像208を受信する。ダウンサンプラ210、ダウンサンプラ212、及びダウンサンプラ218の各々は、そのそれぞれのダウンサンプリング比によって入力画像208をダウンサンプルする。ダウンサンプラ210は、ダウンサンプルされた画像をオブジェクト検出器2041に提供する。ダウンサンプラ212は、ダウンサンプルされた画像をオブジェクト検出器2042に提供し、ダウンサンプラ218は、ダウンサンプルされた画像をオブジェクト検出器2063、ダウンサンプラ214、及びダウンサンプラ216に提供する。ダウンサンプラ214は、それに提供された画像を更にダウンサンプルし、2回ダウンサンプルされた画像をオブジェクト検出器2061に提供する。ダウンサンプラ216はまた、それに提供された画像を更にダウンサンプルし、2回ダウンサンプルされた画像をオブジェクト検出器2062に提供する。
【0027】
オブジェクト検出器2041、2042、2043、2061、2062、及び2063の各々の1つにおけるそれぞれのCNNの各々の層は、対応するフィルタによりそれに提供された画像を畳み込む。各々のCNNの出力は、CNNにおいて採用されるフィルタに対応する特徴のマップである。上記説明されたように、特徴マップは値を含み、特徴マップにおける各々のエントリの各々の値は、エントリと関連付けられた画像ウインドウ内で、様々なフィルタと関連付けられた特徴の特徴強度を表す。特徴マップの各々は、分類器2051、2052、2053、2071、2072、及び2073の各々に提供される。
【0028】
分類器2051、2052、2053、2071、2072、及び2073の各々は、それへの入力としてそれぞれのマトリックスを受信する。分類器2051、2052、2053、2071、2072、及び2073の各々は、分類ベクトルを判定する。この分類ベクトルは、オブジェクト(単一又は複数)(すなわち、CNNが検出するように訓練された)が、それに提供された特徴マップと関連付けられた画像ウインドウの各々に位置する確率に関連する値を含む。更に、分類器2051、2052、2053、2071、2072、及び2073の各々の1つによって判定された分類ベクトルは、それに提供された特徴マップと関連付けられた画像ウインドウごとの画像ウインドウ補正係数に関連する値を含む。それらの画像ウインドウ補正係数は、例えば、画像ウインドウの幅及び高さへの補正を含む。それらの画像ウインドウ補正係数は更に、画像ウインドウの位置と共に、画像ウインドウの方位への補正を含んでもよい。それらの画像ウインドウ補正係数は、以下で更に詳しく述べられるように、CNNが提供するように訓練された分類ベクトルの一部である。分類ベクトルは、例えば、サンプルが特定のクラスに属することを指定する二値を含む。例えば、ベクトル[1,0]は、サンプルが「FACE」クラスに属し、「NOT-FACE」クラスに属さないことを示す。分類ベクトルは、3つ以上のクラスを含んでもよい。加えて、このベクトルは、3Dの姿勢、属性(年齢、顔における性別、車内の色及び型)、並びに境界ボックス回帰ターゲット値などの追加の情報の数的表現を含んでもよい。
【0029】
分類器2051、2052、2053、2071、2072、及び2073の各々は、特徴マップにより分類フィルタ又はフィルタ(複数)を畳み込む(例えば、1×1×Q×Nフィルタであり、Qは、特徴マップにおけるマトリックスの数であり、Nは、判定されることになる分類情報に関連する分類フィルタの数である)畳み込み分類器として具体化されてもよく、そのようなフィルタ(単一又複数)の出力は、上記言及された確率及び補正係数である。そのような畳み込み分類器のパラメータは、以下で更に説明されるように、CNNの訓練の間に判定される。
【0030】
上記言及されたように、オブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3の各々は、CNN200への入力画像208に対して(すなわち、その中でオブジェクトが検出されている画像)、それへの入力におけるそれぞれのダウンサンプリング比と関連付けられる。更に、上記言及されたように、それへの入力における同一のそれぞれのダウンサンプリング比を有するオブジェクト検出器は、オブジェクト検出器のグループを定義する。CNNシステム200では、ダウンサンプラ212及び218は、同一の第1のダウンサンプリング比、R1によって入力画像208をダウンサンプルする。ダウンサンプラ216は、ダウンサンプリング比R1によって入力画像208を更にダウンサンプルする。よって、オブジェクト検出器206
2と関連付けられたサンプリング比は、R1*R1である。ダウンサンプラ210は、R1とは異なる第2のダウンサンプリング比、R2によって入力画像208をダウンサンプルする。R2=R1*R1であるとき、オブジェクト検出器204
1及び206
2は次いで、同一のそれぞれのダウンサンプリング比(すなわち、R2)と関連付けられ、オブジェクト検出器のグループを定義する(すなわち、
図4において網掛けされた左斜め線によって示されるように)。同様に、オブジェクト検出器204
2及び206
3は、同一のダウンサンプリング比(すなわち、R1)と関連付けられ、オブジェクト検出器の別のグループを定義する(すなわち、
図4において網掛けされた垂直線によって示されるように)。ダウンサンプラ214は、ダウンサンプリング比R2によってダウンサンプラ218からの出力をダウンサンプルする。
図4において表されるダウンサンプリング配置は、本明細書で例として示されるにすぎないことに留意されたい。更なる例として、
図4において、3つのダウンサンプリング比が採用されるので(すなわち、R1、R2、及びR1*R2)、次いで、3つのダウンサンプラは十分であり、各々のダウンサンプラの出力は、ダウンサンプラのダウンサンプリング比と関連付けられたオブジェクト検出器に提供される。そのような3つのダウンサンプラは、並列して、又は直列のダウンサンプラに配置されてもよい。
【0031】
開示される技術に従って、そこでの入力における同一のそれぞれのダウンサンプリング比と関連付けられたオブジェクト検出器は、オブジェクト検出器のグループを定義する。オブジェクト検出器の同一のグループにおけるオブジェクト検出器は、共通畳み込み層と関連付けられる(すなわち、それらのオブジェクト検出器への入力画像のサイズが同一であるので)。それらの共通畳み込み層は、同一の畳み込みカーネル(すなわち、フィルタ)を共有し、それへの入力における同一の画像サイズに対して動作する。そのようにして、それらの共通畳み込み層は、オブジェクト検出器のグループごとに1回のみ算出される必要がある。
図4では、オブジェクト検出器204
1及び206
2は、それへの入力における同一のそれぞれのダウンサンプリング比と関連付けられ、オブジェクト検出器のグループを定義する。そのようにして、オブジェクト検出器204
1及び206
2における層1-M1は共通層である。よって、オブジェクト検出器204
1及び206
2における層1-M1は、オブジェクト検出の間に1回算出されてもよい。オブジェクト検出器206
2は、層M1+1-M2を継続及び算出するために層M1からの結果を採用する。同様に、オブジェクト検出器204
2及び206
3は、同一のそれぞれのダウンサンプリング比と関連付けられ、オブジェクト検出器のグループを定義する。そのようにして、オブジェクト検出器204
2及び206
3における層1-M2は、共通層であり、1回算出されてもよい。オブジェクト検出器206
3は、層M2+1-M3を継続及び算出するために層M2からの結果を採用する。概して、グループにおけるオブジェクト検出器は、異なるスケール検出器と関連付けられてもよいからである。よって、オブジェクト検出器のグループにおけるオブジェクト検出器のCNNは、画像プラミッドの異なるスケールにおいて特徴マップを作成するものと見なされてもよく、1つのスケールにおいて1つのオブジェクト検出器のCNNによって作成された特徴マップは、別のスケールにおいて別のオブジェクト検出器のCNNによって採用される。
【0032】
また、上記言及されたように、オブジェクト検出器2041、2042、20432061、2062、及び2063の各々の出力は、入力画像208に対するそれぞれの画像ウインドウサイズと関連付けられる。特に、オブジェクト検出器2041、2042、及び2043からの出力は、画像208内の同一の第1の画像ウインドウサイズと関連付けられる。同様に、オブジェクト検出器2061、2062、及び2063からの出力は、画像208内の同一の第2の画像ウインドウサイズと関連付けられる。そのようにして、第1の画像ウインドウサイズについて、オブジェクト検出器2041、2042、及び2043のうちの1つのみが入力画像208内のオブジェクトを検出及び分類するために採用されてもよい。同様に、第2の画像ウインドウサイズについて、オブジェクト検出器2061、2062、及び2063のうちの1つのみが入力画像208内のオブジェクトを検出及び分類するために採用されてもよい。典型的には、より少ない数の層を示すCNNを有するオブジェクト検出器が検出される。しかしながら、検出信頼度レベルが十分でない場合、より多くの数の像を有する異なる検出器が採用されてもよく、よって、算出の複雑度を低減させる(すなわち、平均で)。例えば、オブジェクト検出器2041によって作成された検出信頼度が十分でない場合、次いで、オブジェクト検出器2042が採用されることになる。にも関わらず、オブジェクト検出器2042は、オブジェクトが予め定められた値を上回ってそこに位置する確率により画像ウインドウのみを処理してもよい。言い換えると、オブジェクト検出器2042を採用する前に、背景に関連する画像ウインドウは、オブジェクト検出器2041によって判定された確率に従って除去される。
【0033】
訓練
上記説明されたように、開示される技術に従ったCNNは、複数のスケール検出器を含む。各々のスケール検出器は、複数のオブジェクト検出器を含む。各々のオブジェクト検出器は、それぞれのCNNを含む。スケール検出器の各々がオブジェクト検出器及びダウンサンプラの同一の構成を示すとき、並びにオブジェクト検出器におけるCNNが同様の特性を有する層のグループを示すとき(すなわち、同一のフィルタサイズ、ストライド、及び活性化関数を示し、同一に順序付けられる)、オブジェクト検出器のCNNは次いで、共通層を有するように訓練される。
【0034】
上記及び以下の本明細書における用語「同様の特性を有する層のグループ」は、層のグループに関連し、各々のグループにおける層は、同一のフィルタサイズ、ストライド、及び活性化関数を示し、グループにおける層は、同一に順序付けられる。上記及び以下の本明細書における用語「共通層」は、同様の特性を有する層のグループに関連し(すなわち、異なるオブジェクト検出器における)、グループにおける対応する層(すなわち、各々のグループにおける第1の層、各々のグループにおける第2の層など)は、同様の重み及びパラメータを有する。例えば、
図4を参照して、スケール検出器202
1及び202
2は、オブジェクト検出器及びダウンサンプラの同一の構成を示す。更に、オブジェクト検出器204
1、204
2、204
3、206
1、206
2、及び206
3のCNNにおける層1-M1は、同様の特性を有する層のグループであり、それらのオブジェクト検出器のそれぞれのCNNは、共通層を有するように訓練される。また、オブジェクト検出器204
2、204
3、206
2、及び206
3のCNNにおける層M1+1-M2はまた、同様の特性を有する層のグループであり、それらのオブジェクト検出器のそれぞれのCNNは、共通層を有するように訓練される。同様に、オブジェクト検出器204
3及び206
3のCNNの層M2+1-M3は、同様の特性を有する層のグループであり、それらのオブジェクト検出器のそれぞれのCNNは、共通層を有するように訓練される。
【0035】
1つの代替手段に従って、CNNシステムにおけるオブジェクト検出器は、各々が予め定められたそれぞれの分類ベクトルを有する、同一の訓練サンプル又はサンプル(複数)が提供される。サンプル又はサンプル(複数)のサイズは、それへの入力における画像に対する各々のオブジェクト検出器と関連付けられた画像ウインドウサイズに対応する(例えば、
図3B及び4におけるI1×I2、K1×K2、及びJ1×J2)。各々のオブジェクト検出器は、それに提供された訓練サンプル内のオブジェクトを検出及び分類するためにそれぞれのCNN及び分類器を採用し、各々のサンプルのそれぞれの分類ベクトルを作成する。それらの分類ベクトルは、予め定められた分類ベクトルと比較される。オブジェクト検出器のそれぞれのCNNによって作成された分類ベクトルとそれぞれの予め定められた分類ベクトルとの間の誤差(例えば、差異の二乗和、ログ損失、softmaxlog損失)が判定される。この誤差を最小化する重み及びパラメータについての補正係数は次いで、各々のそれぞれのオブジェクト検出器における各々のCNNの重み及びパラメータについて判定される。CNNの重み及びパラメータは次いで、それに従って更新される。全てのオブジェクト検出器のそれぞれのCNNにおける同様の特性を有する層のグループの全ての重み及びパラメータは次いで、共通層を作成するために、平均化され、同様の特性を有する層のそれぞれのグループに適用される。例えば、全てのオブジェクト検出器における全てのCNNの第1のM1層についての重み及びパラメータが平均化される。同様に、全てのオブジェクト検出器における全てのCNNのM1+1-M2層についての重み及びパラメータが平均化されるなどである。更新された重み及びパラメータを平均化し、補正係数を平均化し、それらの平均化された補正係数に従って重み及びパラメータを更新することは、CNNが同一の重み及びパラメータにより初期化されるときに同等である。
【0036】
別の代替手段に従って、スケール検出器の各々がオブジェクト検出器及びダウンサンプラの同一の構成を示すとき、並びにオブジェクト検出器におけるCNNが同様の特性を有する層のグループを示すとき、スケール検出器の単一のインスタンスが次いで訓練されてもよい。スケール検出器のこの単一のインスタンスは、本明細書で「訓練スケール検出器」と称される。訓練スケール検出器により開示される技術に従ってCNNを訓練するために、訓練スケール検出器は、各々が予め定められたそれぞれの分類ベクトルを有する、訓練サンプルが提供される。1つの代替手段に従って、オブジェクトのリストを含む画像及び境界ボックスは、訓練スケール検出器に提供される。別の代替手段に従って、サンプルは、スケール検出器におけるオブジェクト検出器への入力に対して最大画像ウインドウサイズ(例えば、
図3B及び4におけるJ1×J2)と類似のサイズ(すなわち、必ずしも同様でない)を示す。それらのサンプルは次いで、他のオブジェクト検出器のそれぞれのサイズ(例えば、
図3B及び4におけるI1×I2、K1×K2)を示す訓練サンプルを作成するためにダウンサンプルされる(すなわち、オブジェクト検出器102
i-
図3Bにおけるダウンサンプル110
L-1及び110
L-2と類似した訓練スケール検出器のダウンサンプルによって)。各々のオブジェクト検出器は、それに提供された訓練サンプル内のオブジェクトを検出及び分類するためにそれぞれのCNN及び分類器を採用し、各々のサンプルのそれぞれの分類ベクトルを作成する。それらの分類ベクトルは、予め定められた分類ベクトルと比較される。CNNの分類ベクトルと予め定められた分類ベクトルとの間の誤差が判定される。
【0037】
図3A、3B、及び4と共に上記説明されたなど構成における複数のスケール検出器を採用するために、上記言及された誤差を最小化する重み及びパラメータについての補正係数は次いで、訓練スケール検出器における各々のそれぞれのオブジェクト検出器における各々のCNNの重み及びパラメータについて判定される。CNNの重み及びパラメータは次いで、それに従って更新される。訓練スケール検出器における全てのオブジェクト検出器のそれぞれのCNNにおける同様の特性を有する層の全てのグループの重み及びパラメータは次いで、共通層を作成するために、平均化され、同様の特性を有する層のそれぞれのグループに適用される。訓練スケール検出器のCNNの重み及びパラメータが判定されると、この訓練スケール検出器の複製は、スケール検出器108
1~108
N(
図3A)の各々の1つを実装するように配置され、開示される技術のCNNシステムを定義する。
【0038】
訓練の間、CNNの重み及びパラメータが更新され、その結果、この誤差が最小化される。そのような最適化は、例えば、確率的勾配降下法(SGD)などの勾配降下法工程を採用して実装されてもよい。勾配降下法工程に従って、CNNにおける層ごと及びサンプルごとに判定された重み及びパラメータ(又は、新たな重み及びパラメータ)に対する補正は、全てのサンプルについて平均化される。重み及びパラメータに対する補正は、CNNの重み及びパラメータに対する誤差の偏微分に従って判定される(すなわち、CNNが合成関数として見なされてもよいから)。この工程は、判定された数の反復、又は誤差が予め定められた値を下回るまでのいずれかで複数の反復で繰り返される。SGDに従って、反復の各々において、サンプルの一部のみが反復の各々において採用される。更に、連鎖法則、層への入力、層の出力、及び誤差に対する出力の導関数は、その層の重み及びパラメータの導関数を判定するために必要とされる。
【0039】
上記言及されたように、開示される技術に従ってCNNによって提供された分類ベクトルは、画像ウインドウ補正係数を含む。訓練の間に画像ウインドウ補正係数を提供するようにCNNを訓練するために、各々の分類ベクトルに対応する画像ウインドウの位置と方位との間の差異(すなわち、特徴マップにおけるこのベクトルのインデックスによって定義されるような)、及びサンプルの実際の位置と方位との間の差異が判定される。この差異は、例えば、確率的勾配降下法を使用して最小化される。
【0040】
訓練データ
概して、CNNは、入力画像内のオブジェクトを定義するように訓練され、CNNが検出するように訓練されたオブジェクトが入力画像内の様々な位置に存在する確率に関連する情報を作成する。CNNは、各々が予め定められた分類ベクトルと関連付けられた、サンプル(画像又はいずれかの他のデータ)を含む訓練セットを使用して訓練される。訓練するために採用されたサンプルは典型的には、画像から切り取られた画像ウインドウである。各々のサンプルは、画像内のオブジェクトを有する画像ウインドウの重複に従って分類される(すなわち、クラスはサンプルについて判定される)。サンプルが画像内のいずれかのオブジェクトと重複しないとき、そのサンプルは、背景として分類される。上記言及されたように、訓練工程は、CNNの出力値と採用されるサンプルと関連付けられた値との間の誤差を削減するように(例えば、差異の二乗和、ログ損失、softmaxlog損失)CNNパラメータを修正する。
【0041】
開示される技術に従って、初期数の訓練サンプルを有し、検出及び分類されたオブジェクトを有する初期訓練セットを仮定すると、訓練セットにおける訓練サンプルの数は、初期数を上回って増加することができる。言い換えると、より多くの数の訓練サンプルを有する訓練セットは、初期の訓練セットから作成される。ここで、開示される技術の更なる実施形態に従って、訓練セットを判定するために採用された、その中にオブジェクト(例えば、面)を有する画像250、280、及び310を概略的に表す、
図5A~5Hを参照する。最初に、画像250、280、及び310内のオブジェクト253、255、283、285、313、及び315が検出される。その後、予め定められたサイズを示す四角形境界は、検出されたオブジェクトの周りで定義される。四角形境界などは、上記及び以下の本明細書でオブジェクトの「境界ボックス」と称される。
【0042】
画像250、280、及び310内のオブジェクト253、255、283、285、313、及び315の各々は、それぞれの境界ボックスによって境界がつけられる。画像250内では、オブジェクト253は、境界ボックス252によって境界がつけられ、オブジェクト255は、境界ボックス254によって境界がつけられる。画像280内では、オブジェクト283は、境界ボックス282によって境界がつけられ、オブジェクト285は、境界ボックス284によって境界がつけられる。画像310内では、オブジェクト313は、境界ボックス312によって境界がつけられ、オブジェクト315は、境界ボックス314によって境界がつけられる。各々の境界ボックスは、それぞれのサイズを示す。画像250、280、及び310内では、2つの異なる境界ボックスサイズが例示される。境界ボックス252、282、及び314は、第1のサイズを示し、境界ボックス254、284、及び312は、第2のサイズを示す。各々の境界ボックスは、それぞれの相対座標系と関連付けられる。境界ボックス252は、座標系256と関連付けられ、境界ボックス254は、座標系258と関連付けられ、境界ボックス282は、座標系286と関連付けられ、境界ボックス284は、座標系288と関連付けられ、境界ボックス312は、座標系316と関連付けられ、境界ボックス214は、座標系318と関連付けられる。
【0043】
オブジェクトのキーポイントごとに、それぞれの特徴位置が境界ボックスと関連付けられた座標系において判定される。
図5A~5Hにおいて示される例では、オブジェクトの特徴タイプは、顔の目、鼻、及び口である(すなわち、オブジェクトは顔である)。
図5Bを参照して、境界ボックス252の座標系256において、ポイント260
1及び260
2は、顔253の目の位置を表し、ポイント262は、顔253の鼻の位置を表し、ポイント264
1、264
2、及び264
3は、顔253の口の位置を表す。同様に、境界ボックス254の座標系258において、ポイント266
1及び266
2は、オブジェクト255の目の位置を表し、ポイント268は、オブジェクト255の鼻の位置を表し、ポイント270
1、270
2、及び270
3は、オブジェクト255の口の位置を表す。
図5Dを参照して、境界ボックス282の座標系286において、ポイント290
1及び290
2は、オブジェクト283の目の位置を表し、ポイント292は、オブジェクト283の鼻の位置を表し、ポイント294
1、294
2、及び294
3は、オブジェクト283の口の位置を表す。同様に、境界ボックス284の座標系288において、ポイント296
1及び296
2は、オブジェクト285の目の位置を表し、ポイント298は、オブジェクト285の鼻の位置を表し、ポイント300
1、300
2、及び300
3は、オブジェクト285の口の位置を表す。
図5Fを参照して、境界ボックス312の座標系316において、ポイント320
1及び320
2は、オブジェクト313の目の位置を表し、ポイント322は、オブジェクト313の鼻の位置を表し、ポイント322
1、322
2、及び322
3は、オブジェクト313の口の位置を表す。同様に、境界ボックス314の座標系218において、ポイント326
1及び326
2は、オブジェクト315の目の位置を表し、ポイント328は、オブジェクト315の鼻の位置を表し、ポイント329
1、329
2、及び329
3は、オブジェクト315の口の位置を表す。典型的には、それぞれの座標系におけるオブジェクトのキーポイントの位置は、例えば、0~1になるように正規化される(すなわち、境界ボックスの角は、座標[0,0]、[0,1]、[1,1]、[1,0]に位置する)。言い換えると、それぞれの境界ボックス252、254、282、284、312、及び314の座標系256、258、286、288、316、及び316はそれぞれ、境界ボックスの位置及びサイズに対して正規化される。よって、様々な特徴の位置は、境界ボックスのサイズと独立して関連することができる。
【0044】
図5Gを参照して、様々なオブジェクトのキーポイントの正規化された位置は、任意の境界ボックス330において重ね合わせて表される。境界ボックスの座標系が正規化されるので(すなわち、1つの座標系における位置が別の座標系における同一の位置に対応する)、異なる境界ボックスにおける同一のオブジェクトのキーポイントタイプ(例えば、目)と関連付けられた位置が平均化されてもよい。
【0045】
その後、オブジェクトのキーポイントタイプ(例えば、目、鼻、口)ごとに、特徴参照位置が判定される。
図5Hを参照して、境界ボックスについて、任意のサイズ、ポイント336
1は、ポイント260
1、290
1、326
1266
1、296
1、及び320
1の位置の平均位置を表し、ポイント336
2は、ポイント260
2、290
2、326
2、266
2、296
2、及び320
2の位置の平均位置を表す。ポイント338は、ポイント262、292、328、268、298、及び322の位置の平均位置を表す。ポイント340
1は、ポイント264
1、294
1、329
1、270
1、300
1、及び324
1の位置の平均位置を表す。ポイント340
2は、ポイント264
2、294
2、329
2、264
2、300
2、及び324
2の位置の平均位置を表し、ポイント340
3は、ポイント264
3、294
3、329
3、270
3、300
3、及び324
3の位置の平均位置を表す。
【0046】
それらの平均位置は、特徴参照位置を定義する。ポイント3361及び3362は、目の特徴参照位置を定義し、ポイント338は、鼻の参照位置を定義し、ポイント3401、3401、及び3403は、口の参照位置を定義する。
【0047】
それらのキーポイントの参照位置が判定されると、初期訓練サンプルの各々における各々のオブジェクトは、それらのキーポイントの参照位置と位置合わせされ、その結果、各々のオブジェクトのキーポイントは、選択された位置合わせコスト関数(例えば、オブジェクトのキーポイントとキーポイントの参照位置との間の差異の二乗誤差)を最適化することによって判定された程度にそれぞれのキーポイントの参照位置と位置合わせする。その後、訓練サンプルの各々は、この参照位置から摂動され、よって、新たな訓練サンプルを作成する。摂動は、オブジェクトの水平シフト、垂直シフト、及び方位シフトのうちの少なくとも1つを含む。各々のサンプルの摂動は、選択された確率分布(例えば、ガウス)に従ってランダムに判定される。それらの摂動を採用することで、訓練セットにおける訓練サンプルの数を、その初期のサイズを上回って増加させることができる。この工程はまた、「訓練サンプル増強」と称され、それによって作成された訓練サンプルは、「増強された訓練サンプル」と称される。
図5A~5Hにおいて示される例示的な訓練セットでは、各々の画像は、2つの境界ボックスサイズを示す訓練サンプルを含む。しかしながら、概して、1つのサイズの境界ボックスを示す訓練サンプルは、異なるサイズの境界ボックスを示す訓練サンプルを作成するように縮尺化されてもよい。この縮尺化された境界ボックスは次いで、訓練サンプルとして採用されてもよい。
【0048】
ここで、開示される技術の別の実施形態に従って動作可能である、ニューラルネットワークについての訓練セットを判定する方法を概略的に表す、
図6を参照する。手順350では、訓練セットの複数の画像内のオブジェクト及びそれぞれのオブジェクトのキーポイントが検出され、予め定められたサイズを示す境界ボックスは、各々の検出されたオブジェクトの周りで定義される。オブジェクトは、例えば、人間の観察者によって(すなわち、手動で)判定されてもよい。オブジェクトはまた、自動化された検出器を採用することによって、又は準自動化された方式で判定されてもよい(例えば、オブジェクトは、自動検出器によって検出され、人間の観察者によって検証される)。
【0049】
手順352では、境界ボックス内の各々のオブジェクトのキーポイントの位置が判定される。手順354では、オブジェクトのキーポイントタイプについて、それぞれのキーポイントの参照位置が判定される。それぞれのキーポイントの参照位置は、同一のタイプのオブジェクトのキーポイントの平均位置に従って判定され、平均値は、初期訓練セットにおける全てのオブジェクトのオブジェクトのキーポイント位置に従って判定される。
【0050】
手順356では、それぞれの参照位置を有する初期訓練セットにおける全ての訓練サンプルを登録する。
【0051】
手順358では、参照位置からの位置合わせされたサンプルの各々をランダムに摂動させる。
【0052】
ここで、開示される技術の更なる実施形態に従って動作可能である、CNNについての方法を概略的に表す、
図7を参照する。手順400では、増強された訓練サンプルは、初期訓練セットから作成される。
図5A~5H及び6と共に上記説明されている。
【0053】
手順402では、オブジェクト検出器のCNNは、共通層を有するように訓練される。1つの代替手段に従って、オブジェクト検出器の同様の特性を有する層の全てのグループの重み及びパラメータ(又は、それらに対する補正係数)は、共通層を作成するように平均化される。別の代替手段に従って、単一の訓練スケール検出器が訓練され、訓練スケール検出器の複製が配置され、CNNシステムを定義する。各々の複製は、入力画像のそれぞれの縮尺化されたバージョンと関連付けられ、訓練スケール検出器の複製は、CNNシステムを定義する。
【0054】
手順404では、少なくとも1つの画像内の少なくとも1つのオブジェクトは、定義されたCNNシステムを採用することによって検出及び分類される。少なくとも1つの画像内の少なくとも1つのオブジェクトを検出及び分類することは、以下のサブ手順を含む:
複数のダウンサンプルされた画像を作成するために、複数のダウンサンプリング比に従って画像をダウンサンプリングし、各々のダウンサンプルされた画像は、それぞれのダウンサンプリング比と関連付けられ、
ダウンサンプルされた画像ごとに、対応するCNNによって、画像に対する予め定められた画像ウインドウサイズにおいてオブジェクトを検出し、
画像内のオブジェクトを分類する。それぞれのダウンサンプルされた画像内のオブジェクトを検出し、同一のそれぞれのダウンサンプリング比と関連付けられたCNNは、CNNの少なくとも1つのグループを定義する。畳み込みネットワークのグループにおけるCNNは、共通畳み込み層と関連付けられる。
【0055】
図4を参照して、上記説明されたように、オブジェクト検出器204
1及び206
2のそれぞれのCNNは、CNNのグループを定義する。同様に、オブジェクト検出器204
2及び206
3のそれぞれのCNNは、CNNのグループを定義する。
【0056】
当業者は、開示される技術が上記で特に示され、及び説明されたものに限定されないことを認識するであろう。開示される技術の範囲は、以下の特許請求の範囲のみによって定義される。