特許第6662902号(P6662902)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許6662902-空間的変換モジュール 図000014
  • 特許6662902-空間的変換モジュール 図000015
  • 特許6662902-空間的変換モジュール 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6662902
(24)【登録日】2020年2月17日
(45)【発行日】2020年3月11日
(54)【発明の名称】空間的変換モジュール
(51)【国際特許分類】
   G06T 7/00 20170101AFI20200227BHJP
   G06T 1/40 20060101ALI20200227BHJP
   G06T 3/00 20060101ALI20200227BHJP
【FI】
   G06T7/00 350C
   G06T1/40
   G06T3/00 700
【請求項の数】20
【全頁数】17
(21)【出願番号】特願2017-551275(P2017-551275)
(86)(22)【出願日】2016年6月3日
(65)【公表番号】特表2018-514856(P2018-514856A)
(43)【公表日】2018年6月7日
(86)【国際出願番号】US2016035892
(87)【国際公開番号】WO2016197046
(87)【国際公開日】20161208
【審査請求日】2017年10月27日
(31)【優先権主張番号】62/171,997
(32)【優先日】2015年6月5日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マックスウェル・エリオット・ジェイダーバーグ
(72)【発明者】
【氏名】カレン・シモニアン
(72)【発明者】
【氏名】アンドリュー・ジッサーマン
(72)【発明者】
【氏名】コーライ・カヴァキュオグル
【審査官】 村松 貴士
(56)【参考文献】
【文献】 特開2010−021937(JP,A)
【文献】 米国特許出願公開第2012/0275690(US,A1)
【文献】 特開2015−095215(JP,A)
【文献】 Henry A. Rowley et al.,“Rotation Invariant Neural Network-Based Face Detection”,Proceedings. 1998 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,IEEE,1998年
【文献】 岡谷貴之,“ディープラーニングと画像認識 −基礎と最近の動向−”,オペレーションズ・リサーチ,公益社団法人日本オペレーションズ・リサーチ学会,2015年 4月 1日,第60巻,第4号,pp.198-204
【文献】 K. Parimala Geetha et al.,“Rotation Invariant Face Recognition using Optical Neural Networks”,TENCON 2008 - 2008 IEEE Region 10 Conference,IEEE,2008年
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 − 7/90
G06N 3/02 − 3/10
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のコンピュータによって実施される画像処理ニューラルネットワークシステムであって、前記画像処理ニューラルネットワークシステムは、1つまたは複数の入力画像を受け取り、前記1つまたは複数の入力画像を処理して前記1つまたは複数の入力画像からニューラルネットワーク出力を生成するように構成され、前記画像処理ニューラルネットワークシステムは、
空間的変換モジュールを備え、
前記空間的変換モジュールは、
前記1つまたは複数の入力画像から導出される入力特徴マップを受け取ることと、
前記入力特徴マップに空間的変換を適用して、変換された特徴マップを生成することであって、
前記入力特徴マップを処理して前記入力特徴マップに適用すべき前記空間的変換を定義する、前記空間的変換のタイプに応じた個数の複数の空間的変換パラメータを、前記入力特徴マップに基づいて生成し、
前記入力特徴マップに基づいて生成された前記空間的変換パラメータに従って前記入力特徴マップからサンプリングして、前記変換された特徴マップを生成することを含む、生成することと
を含む動作を実行するように構成されることを特徴とする画像処理ニューラルネットワークシステム。
【請求項2】
前記動作が、
前記変換された特徴マップを前記画像処理ニューラルネットワークシステムの別の構成要素への入力として提供することをさらに含むことを特徴とする請求項1に記載の画像処理ニューラルネットワークシステム。
【請求項3】
前記入力特徴マップは、前記画像処理ニューラルネットワークシステムの別の構成要素によって生成された出力であることを特徴とする請求項1または2に記載の画像処理ニューラルネットワークシステム。
【請求項4】
前記画像処理ニューラルネットワークシステムの他の構成要素は、別の空間的変換モジュールであることを特徴とする請求項3に記載の画像処理ニューラルネットワークシステム。
【請求項5】
他の空間的変換モジュールは、前記空間的変換モジュールと異なるタイプの空間的変換を実行することを特徴とする請求項4に記載の画像処理ニューラルネットワークシステム。
【請求項6】
前記画像処理ニューラルネットワークシステムの他の構成要素は、ニューラルネットワークレイヤであることを特徴とする請求項3に記載の画像処理ニューラルネットワークシステム。
【請求項7】
前記入力特徴マップは前記1つまたは複数の入力画像の一つであることを特徴とする請求項1または2に記載の画像処理ニューラルネットワークシステム。
【請求項8】
前記空間的変換モジュールは、
1つまたは複数のニューラルネットワークレイヤを有するローカリゼーションサブネットワークであって、前記ローカリゼーションサブネットワークのパラメータのセットの現在の値に従って、前記入力特徴マップを処理して前記空間的変換パラメータを生成するように構成されたローカリゼーションサブネットワークを備え、
前記入力特徴マップを処理して前記空間的変換パラメータを生成することは、前記ローカリゼーションサブネットワークを使用して前記入力特徴マップを処理することを含むことを特徴とする請求項1〜7のいずれか一項に記載の画像処理ニューラルネットワークシステム。
【請求項9】
前記空間的変換パラメータに従って前記入力特徴マップからサンプリングして前記変換された特徴マップを生成することは、
変換パラメータを使用して、変換された特徴マップの複数の場所の各々に対して、前記場所の値が前記入力特徴マップの値からどのように導出されるべきかを定義するサンプリンググリッドを生成することと、
前記サンプリンググリッドに従って、前記入力特徴マップからサンプリングして前記変換された特徴マップを生成することとを含む、請求項1〜8のいずれか一項に記載の画像処理ニューラルネットワークシステム。
【請求項10】
サンプリングの過程は微分可能であることを特徴とする請求項1〜9のいずれか一項に記載の画像処理ニューラルネットワークシステム。
【請求項11】
前記空間的変換モジュールは、前記画像処理ニューラルネットワークシステムのトレーニングの間、逆伝搬を使用してトレーニングされることを特徴とする請求項10に記載の画像処理ニューラルネットワークシステム。
【請求項12】
前記変換された特徴マップは、前記入力特徴マップと同じ次元を有することを特徴とする請求項1〜11のいずれか一項に記載の画像処理ニューラルネットワークシステム。
【請求項13】
前記変換された特徴マップは、前記入力特徴マップと異なる次元を有する請求項1〜11のいずれか一項に記載の画像処理ニューラルネットワークシステム。
【請求項14】
請求項1〜13のいずれか一項に記載の空間的変換モジュールのそれぞれの動作を有する方法。
【請求項15】
1つまたは複数のコンピュータによって実行されるとき、前記1つまたは複数のコンピュータに、請求項1〜13のいずれか一項に記載の空間的変換モジュールのそれぞれの動作を実行させる命令を格納したコンピュータ記憶媒体。
【請求項16】
トレーニング画像について画像処理ニューラルネットワークをトレーニングするステップであって、前記画像処理ニューラルネットワークは、1つまたは複数の入力画像を受け取り、前記1つまたは複数の入力画像を処理して前記1つまたは複数の入力画像からニューラルネットワーク出力を生成するように構成され、前記画像処理ニューラルネットワークは、空間的変換モジュールを備え、前記空間的変換モジュールは、1つまたは複数の入力画像から導出される入力特徴マップを受け取ることと、前記入力特徴マップに空間的変換を適用して変換された特徴マップを生成することであって、前記入力特徴マップを処理して前記入力特徴マップに適用すべき前記空間的変換を定義する、前記空間的変換のタイプに応じた個数の複数の空間的変換パラメータを、前記入力特徴マップに基づいて生成し、前記入力特徴マップに基づいて生成された前記空間的変換パラメータに従って前記入力特徴マップからサンプリングして、前記変換された特徴マップを生成することを含む、生成することとを含む動作を実行するように構成される、ステップを有し、
前記画像処理ニューラルネットワークをトレーニングすることは、前記空間的変換モジュールをトレーニングするために、前記画像処理ニューラルネットワークによって生成された前記ニューラルネットワーク出力と前記トレーニング画像の既知の出力との間の誤差から算出されるグラディエントを逆伝搬するステップを含むことを特徴とする方法。
【請求項17】
前記空間的変換モジュールは、1つまたは複数のニューラルネットワークレイヤを含むローカリゼーションサブネットワークを具備し、前記ローカリゼーションサブネットワークは、前記ローカリゼーションサブネットワークのパラメータのセットの現在の値に従って、前記入力特徴マップを処理して前記空間的変換パラメータを生成するように構成されることを特徴とする請求項16に記載の方法。
【請求項18】
前記サンプリングの過程は、微分可能であり、前記グラディエントを逆伝搬するステップは、前記サンプリングの過程を介して前記グラディエントを逆伝搬して、前記ローカリゼーションサブネットワークのパラメータの前記値を調整するステップを含むことを特徴とする請求項17に記載の方法。
【請求項19】
1つまたは複数のコンピュータと、前記1つまたは複数のコンピュータによって実行されるとき、前記1つまたは複数のコンピュータに請求項16〜18のいずれか一項に記載のそれぞれの方法の動作を実行させるように動作可能な命令を格納した1つまたは複数の記憶デバイスとを備えるシステム。
【請求項20】
1つまたは複数のコンピュータによって実行されるとき、前記1つまたは複数のコンピュータに請求項16〜18のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を格納したコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークのレイヤを介して画像データを処理して出力を生成することに関する。
【背景技術】
【0002】
ニューラルネットワークは、1つまたは複数のレイヤの非線形ユニットを採用して、受け取られる入力のための出力を予測する機械学習モデルである。ニューラルネットワークのいくつかは、出力レイヤに加えて1つまたは複数の隠しレイヤを含む。各隠しレイヤの出力は、ネットワークの次のレイヤ、すなわち、次の隠しレイヤまたは出力レイヤへの入力として使用される。ネットワークの各レイヤは、それぞれのパラメータの現在の値に従って受け取られた入力から出力を生成する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
概して、本明細書には、1つまたは複数のコンピュータによって実施されるとともに、1つまたは複数の空間的変換モジュールを含む画像処理ニューラルネットワークが記載されている。画像処理ニューラルネットワークシステムは、1つまたは複数の入力画像を受け取り、1つまたは複数の入力画像を処理して1つまたは複数の入力画像からニューラルネットワーク出力を生成するように構成され得る。画像処理ニューラルネットワークは、空間的変換モジュールを備え、空間的変換モジュールは、1つまたは複数の入力画像から導出された入力特徴マップを受け取り、入力特徴マップに空間的変換を適用して変換された特徴マップを生成することと、入力特徴マップを処理して空間的変換のための空間的変換パラメータを生成し、空間的変換パラメータに従って入力特徴マップからサンプリングして変換された特徴マップを生成することとを含む動作を実行するように構成される。
【0004】
動作は、画像処理ニューラルネットワークシステムの別の構成要素への入力として変換された特徴マップを提供することをさらに含む。入力特徴マップは、画像処理ニューラルネットワークシステムの別の構成要素によって生成された出力であってよい。画像処理ニューラルネットワークシステムの他の構成要素は、別の空間的変換モジュールであってよい。他の空間的変換モジュールは、空間的変換モジュールと異なるタイプの空間的変換を実行し得る。画像処理ニューラルネットワークシステムの他の構成要素は、ニューラルネットワークレイヤであってよい。入力特徴マップは、1つまたは複数の入力画像の1つであってよい。
【0005】
空間的変換モジュールは、1つまたは複数のニューラルネットワークレイヤを含むローカリゼーションサブネットワークを備えてよく、ローカリゼーションサブネットワークは、ローカリゼーションサブネットワークのパラメータのセットの現在の値に従って、入力特徴マップを処理して空間的変換パラメータを生成するように構成され、入力特徴マップを処理して空間的変換パラメータを生成することは、ローカリゼーションサブネットワークを使用して入力特徴マップを処理することを含む。
【0006】
空間的変換パラメータに従って入力特徴マップからサンプリングして変換された特徴マップを生成することは、変換された特徴マップの複数の場所の各々に対して、入力特徴マップの値から場所の値をどのように導出するべきかを定義するサンプリンググリッドを、変換パラメータを使用して生成することと、サンプリンググリッドに従って入力特徴マップからサンプリングし、変換された特徴マップを生成することとを含む。サンプリングの過程は微分可能であってよい。空間的変換モジュールは、画像処理ニューラルネットワークシステムのトレーニングの間、逆伝搬を使用してトレーニングされていてもよい。変換された特徴マップは、入力特徴マップと同じ次元を有してもよい。変換された特徴マップは、入力特徴マップと異なる次元を有してもよい。
【0007】
特定の動作またはアクションを実行するように構成される1つまたは複数のコンピュータのシステムでは、該システムが、動作中にシステムに動作またはアクションを実行させる、該システムにインストールされたソフトウェア、ファームウェア、ハードウェア、あるいはそれらの組み合わせを有することを意味する。特定の動作またはアクションを実行するように構成される1つまたは複数のコンピュータプログラムでは、1つまたは複数のプログラムが、データ処理装置によって実行されるとき、装置に動作またはアクションを実行させる命令を含むことを意味する。
【0008】
方法は、上述した空間的変換モジュールのそれぞれの動作を含み、コンピュータ記憶媒体は、1つまたは複数のコンピュータによって実行されるとき、1つまたは複数のコンピュータに空間的変換モジュールのそれぞれの動作を実行させる命令を符号化することも記載される。
【0009】
方法は、トレーニング画像について画像処理ニューラルネットワークをトレーニングすることを含み、画像処理ニューラルネットワークシステムが、1つまたは複数の入力画像を受け取り、1つまたは複数の入力画像を処理して1つまたは複数の入力画像からニューラルネットワーク出力を生成し、画像処理ニューラルネットワークシステムが、空間的変換モジュールを備え、空間的変換モジュールが、1つまたは複数の入力画像から導出された入力特徴マップを受け取ることと、入力特徴マップに空間的変換を適用して変換された特徴マップを生成することと、入力特徴マップを処理して空間的変換のための空間的変換パラメータを生成し、空間的変換パラメータに従って入力特徴マップからサンプリングして変換された特徴マップを生成することとを含む動作を実行するように構成され、画像処理ニューラルネットワークをトレーニングすることは、空間的変換モジュールをトレーニングするために、画像処理ニューラルネットワークによって生成されたニューラルネットワーク出力とトレーニング画像のための既知の出力との間の誤差から計算されたグラディエントを逆伝搬することを含む、ことも記載される。
【0010】
空間的変換モジュールは、1つまたは複数のニューラルネットワークレイヤを含むローカリゼーションサブネットワークを備えてよく、ローカリゼーションサブネットワークは、ローカリゼーションサブネットワークのパラメータのセットの現在の値に従って、入力特徴マップを処理して空間的変換パラメータを生成するように構成される。サンプリングの過程は微分可能であってよい。グラディエントを逆伝搬することは、サンプリングの過程を介してグラディエントを逆伝搬してローカライゼーションサブネットワークのパラメータの値を調整することを含んでもよい。
【0011】
1つまたは複数のコンピュータと、1つまたは複数のコンピュータに実行されたときに、1つまたは複数のコンピュータに方法の動作を実行させるように動作可能な命令を格納する1つまたは複数の記憶デバイスとを備えるシステムが提供され得る。コンピュータ記憶媒体は、1つまたは複数のコンピュータに実行されたときに、1つまたは複数のコンピュータに方法の動作を実行させる命令とともに符号化され得る。
【0012】
1つの実施形態の文脈に記載された特徴は、他の実施形態の特徴と組み合され得ることが理解されよう。
【0013】
本明細書に記載の主要事項の特別な実施形態は、以下の利点の1つまたは複数を実現するように実施できる。1つまたは複数の空間的変換モジュールを含むようにニューラルネットワークの機構を変更することによって、ニューラルネットワークは、必要以上のトレーニング管理または最適化への変更、すなわちトレーニングの処理なしに、特徴マップそれ自体を条件として、能動的に空間的に特徴マップを変換するようにトレーニングされ得る。ニューラルネットワークは、トレーニングにより効率的であり得る。その上、空間的な変換の使用は、複数のクラスの変換に対して、移動、スケーリング、回転、およびより一般的なワーピングへの不変性を学習するニューラルネットワークをもたらし、いくつかのベンチマークでは、最先端をしのぐ性能をもたらす。従って、主要事項の実施形態は、画像データを処理してより効率的に生成された画像データに関連付けられた属性を示す出力データを生成するようにトレーニングされ得るニューラルネットワークを提供し得る。
【0014】
本明細書の主要事項の1つまたは複数の実施形態の詳細は、添付の図面および以降の説明に記載されている。主要事項の他の特徴、態様、利点は、発明の詳細な説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0015】
図1】例示的な画像処理ニューラルネットワークシステムを示す図である。
図2】空間的変換モジュールを使用して入力を処理する例示的な処理のフロー図である。
図3】変換された特徴マップを生成する例示的な処理のフロー図である。
【発明を実施するための形態】
【0016】
様々な図面における同じ参照番号および図形は同じ要素を示す。
【0017】
本明細書では、少なくとも1つの空間的変換モジュールを含む1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実施される画像処理ニューラルネットワークシステムを説明する。
【0018】
画像処理ニューラルネットワークシステムは、1つまたは複数の画像を含む入力画像データを処理して、1つまたは複数の画像のためのニューラルネットワーク出力を生成する。
【0019】
画像処理ニューラルネットワークシステムは、1つまたは複数の画像のための任意の種類のニューラルネットワーク出力を生成するように構成され得る。
【0020】
例えば、画像処理ニューラルネットワークシステムは、1つまたは複数のオブジェクトカテゴリからオブジェクトの画像を含むように入力画像を分類する、すなわち、入力画像がオブジェクトカテゴリに属するオブジェクトの画像を含む可能性を表す1つまたは複数のオブジェクトの各々に対して、それぞれのスコアを含む入力画像のためにニューラルネットワーク出力を生成するように構成され得る。本明細書に記載されるように、1つまたは複数の空間的変換モジュールを含むように変更され得る入力画像を分類する画像処理ニューラルネットワークの例は、C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, および A. RabinovichによるGoing deeper with convolutions. CVPR, 2015に記述されている。
【0021】
別の例として、画像処理ニューラルネットワークシステムは、入力画像のオブジェクトの場所を特定するように構成され得る。例えば、システムは、各々が同じ未知のカテゴリからのオブジェクトの画像を含む画像のセットを入力として受け取り、各画像のオブジェクトの場所を特定するニューラルネットワーク出力を生成できる。1つまたは複数の空間的変換モジュールを含むように変更され得る画像のオブジェクトのローカリゼーションのための画像処理ニューラルネットワークの例は、K. Simonyan および A. ZissermanによるVery deep convolutional networks for large-scale image recognition ICLR, 2015に記述されている。
【0022】
別の例として、画像処理ニューラルネットワークシステムは、入力画像を再構築する、すなわち入力画像と一致する出力画像を生成するように構成され得る。入力画像を再構築するように構成され、1つまたは複数の空間的変換モジュールを含むように変更され得るシステムの例は、K. Gregor, I. Danihelka, A. Graves, および D. WierstraによるDraw: A recurrent neural network for image generation ICML, 2015に記述されている。
【0023】
図1は、例示的な画像処理ニューラルネットワークシステム100を示す。画像処理ニューラルネットワークシステム100は、以降に記載のシステム、構成要素、技術が実施され得る、1つまたは複数の場所における1つまたは複数のコンピュータ上のコンピュータプログラムとして実施されるシステムの例である。
【0024】
画像処理ニューラルネットワークシステム100は、1つまたは複数の画像を含む入力画像データ102を受け取るとともに、入力画像データ102を処理して、ニューラルネットワーク出力116を生成する。上述したように、画像処理ニューラルネットワークシステム100は、受け取られた入力画像のために様々な種類のニューラルネットワーク出力を生成するように構成され得る。
【0025】
画像処理ニューラルネットワークシステム100は、各構成要素が入力として、(i)画像処理ニューラルネットワークシステム100における1つまたは複数の他の構成要素によって生成された出力、(ii)入力画像データ102のいくつかまたはすべて、または(iii)両方を受け取り、受け取った入力を処理して構成要素出力を生成するように、システム100内に配置された複数のニューラルネットワーク構成要素を含む。
【0026】
構成要素は、構成要素のパラメータのセットの現在の値に従って、入力から出力を生成するニューラルネットワークレイヤ、サブネットワーク、ニューラルネットワークモジュール、または従来のニューラルネットワーク構成要素を含んでよい。
【0027】
構成要素はまた、1つまたは複数の空間的変換モジュールを含む。
【0028】
特に、図1の例では、画像処理ニューラルネットワークシステム100は、ニューラルネットワーク構成要素A104およびニューラルネットワーク構成要素B114の間に挿入された空間的変換モジュール108を含む。
【0029】
画像処理ニューラルネットワークシステム100の構成に応じて、ニューラルネットワーク構成要素A104は、例えばニューラルネットワークレイヤまたは別の空間的変換モジュールなどの従来のニューラルネットワーク構成要素であってよい。同様に、ニューラルネットワーク構成要素B114もまた、従来のニューラルネットワーク構成要素または別の空間的変換モジュールであってよい。
【0030】
画像処理ニューラルネットワークシステム100による入力画像データ102の処理の間、空間的変換モジュール108は、ニューラルネットワーク構成要素A104から受け取った入力特徴マップ106に空間的変換を適用して、ニューラルネットワーク構成要素B114への入力として提供される変換された特徴マップ112を生成するように構成される。図1に示される例と異なる例では、入力特徴マップ106は、システム100の別の構成要素によって生成される出力の代わりに、画像データ102のいくつかまたはすべてであってよい。
【0031】
概して、特徴マップは、幅W、高さH、およびチャネル数Cを有するH×W×Cのテンソルである。画像処理ニューラルネットワークシステム100に空間的変換モジュール108が位置する場所に応じて、チャネル数は、例えば、特徴マップがマルチチャネル画像または畳み込みニューラルネットワークレイヤのマルチチャネル出力である場合に、1より大きくてよく、または1でもよい。所与の特徴マップの要素は、ピクセルとして本明細書では参照される。
【0032】
空間的変換モジュール108は、入力特徴マップ106が条件とされる特定のタイプの空間的変換を実行、すなわち、空間的変換モジュール108が同じタイプの異なる変換を異なる特徴マップに適用するように構成される。マルチチャネル入力特徴マップでは、同じワーピングが一般に特徴マップの各チャネルに適用される。
【0033】
一般に、空間的変換モジュール108が実行するように構成される変換のタイプは、パラメータ化された形式を有し、変換のパラメータに関して微分可能な任意の変換であり得る。
【0034】
例えば、空間的変換モジュール108は、パラメータθの行列Aθ
【0035】
【数1】
【0036】
として表せられ得る二次元アフィン変換を実行するように構成され得る。
【0037】
そのような変換は、θの値に応じて、入力特徴マップへのクロッピング、移動、回転、スケーリング、スキューを可能にし得る。別の例として、変換は、より制約されたタイプのもの
【0038】
【数2】
【0039】
であってもよい。ここで、s、tx、およびtyは変換のパラメータである。そのようなより制約された変換は、s、tx、およびtyの値に応じて、クロッピング、移動、および等方性のスケーリングを可能にし得る。
【0040】
別の例として、変換は、8つのパラメータを有する平面射影変換、分割アフィン変換、または薄板スプライン変換であり得る。
【0041】
空間的変換モジュール108が実行するように構成される変換のタイプのためのパラメータを生成するために、空間的変換モジュールは、ローカリゼーションサブネットワーク110を使用して入力特徴マップ106を処理する。
【0042】
ローカリゼーションサブネットワーク110は、入力特徴マップ106を処理して変換のパラメータを生成するように構成されたニューラルネットワークである。ローカリゼーションサブネットワーク110が生成するパラメータの数は、変換のタイプに依存し、例えば、上に示した二次元アフィン変換に対しては6つのパラメータ値であり、上に示したより制約された変換に対しては3つのパラメータ値である。ローカリゼーションネットワーク機能110は、例えば完全に接続されたネットワークまたは畳み込みネットワークなどの任意の適切な形態をとることができるが、一般に、変換パラメータを作り出す最終回帰レイヤを含む。
【0043】
その後、空間的変換モジュール108は、空間的変換パラメータに従って入力特徴マップ106からサンプリングして、変換された特徴マップ112を生成する。空間的変換を入力特徴マップに適用することは、図2および3を参照して以下により詳細に説明される。
【0044】
図2は、受け取られた特徴マップを処理するための例示的な処理200のフロー図である。便宜的に、処理200は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるとして記載される。例えば、画像処理ニューラルネットワークシステムに含まれる空間的変換モジュール、例えば、図1の画像処理ニューラルネットワークシステム100に含まれる空間的変換モジュール108が、適切にプログラムされて、処理200を実行できる。
【0045】
空間的変換モジュールは、画像処理ニューラルネットワークシステムによって処理される、入力画像データから導出された入力特徴マップを受け取る(ステップ202)。いくつかの実施形態では、入力画像データは入力画像である。いくつかの実施形態では、入力特徴マップは、画像処理ニューラルネットワークシステム内の別の構成要素によって生成された出力である。
【0046】
空間的変換モジュールは、空間的変換を入力特徴マップに適用して、変換された特徴マップを生成する(ステップ204)。空間的変換を適用することは、図3を参照して以下により詳細に記載される。
【0047】
空間的変換モジュールは、入力として変換された特徴マップを画像処理ニューラルネットワークシステムの別の構成要素、例えば、ニューラルネットワークレイヤまたは別の空間的変換モジュールに提供する(ステップ206)。
【0048】
図3は、変換された特徴マップを生成するための例示的な処理300のフロー図である。便宜的に、処理300は、1つまたは複数の場所に位置する1つまたは複数のコンピュータのシステムによって実行されるとして記載される。例えば、画像処理ニューラルネットワークシステムに含まれる空間的変換モジュール、例えば、図1の画像処理ニューラルネットワークシステム100に含まれる空間的変換モジュール108が、適切にプログラムされて、処理300を実行できる。
【0049】
空間的変換モジュールは、入力特徴マップを処理して、空間的変換パラメータを生成する(ステップ302)。
【0050】
特に、空間的変換モジュールは、パラメータのセットの現在の値に従って入力特徴マップを処理して空間的変換パラメータを生成するように構成されたローカリゼーションサブネットワークを使用して、入力特徴マップを処理する。上述したように、ローカリゼーションサブネットワークは、任意の適切な形態をとれるが、一般に変換パラメータを作り出す最終回帰レイヤを含み、ローカリゼーションサブネットワークによって生成されたパラメータの数は、パラメータ化される変換タイプに応じて変わる。例えば、アフィン変換に対して、ローカリゼーションサブネットワークは6つの変換パラメータ値を出力するように構成され得る。
【0051】
空間的変換モジュールは、変換パラメータを使用してサンプリンググリッドを生成する(ステップ304)。サンプリンググリッドは、変換された特徴マップの複数の場所の各々に対して、入力特徴マップの値から場所の値をどのように導出するべきかを定義する。サンプリンググリッドを生成するために、システムは、変換パラメータを使用して、変換された特徴マップ全体をカバーする規則的なグリッド、すなわち変換された特徴マップの各ピクセルを、入力特徴マップのいくつかまたはすべてをカバーするグリッドに変換する。
【0052】
例えば、アフィン変換の場合、規則的なグリッドを変換するために使用されるポイントワイズ変換が
【0053】
【数3】
【0054】
を満し得る。ここで、
【0055】
【数4】
【0056】
は、変換された特徴マップにおける規則的なグリッドのターゲット座標であり、
【0057】
【数5】
【0058】
は、入力特徴マップにおけるソース座標である。
【0059】
空間的変換モジュールは、サンプリンググリッドに従って入力特徴マップからサンプリングして、変換された特徴マップを生成する(ステップ306)。
【0060】
特に、変換された特徴マップにおける特別なピクセルの値を決定するために、空間的変換モジュールは、入力特徴マップにおいてサンプリンググリッドによって指定された特別な場所を中心とするサンプリングカーネルを適用する。いくつかの実施形態では、サンプリングによって生成された変換された特徴マップにおけるチャネルcの場所
【0061】
【数6】
【0062】
でのピクセル値の値
【0063】
【数7】
【0064】
は、
【0065】
【数8】
【0066】
を満たし、ここで、
【0067】
【数9】
【0068】
は、入力特徴マップにおける特別な場所であり、ΦxおよびΦyは、特徴マップ内挿を定義するサンプリングカーネルk()のパラメータであり、
【0069】
【数10】
【0070】
は、入力特徴マップのチャネルcにおける場所(n,m)での値である。
【0071】
サンプリングカーネルは、
【0072】
【数11】
【0073】
に関して定義され得るサブグラディエントの任意のサンプリングカーネルであってよい。例えば、サンプリングカーネルは、整数サンプリングカーネルまたは双線形サンプリングカーネルであってよい。
【0074】
このように、空間的変換モジュールが適用するように構成される変換のタイプに応じて、変換された特徴マップは、入力特徴マップと同じHおよびWの次元を有するか、入力特徴マップと異なるHおよびWの次元を有することができる。
【0075】
サンプリングの過程が微分可能であるので、すなわち、サンプリングカーネルによってサブグラディエントが
【0076】
【数12】
【0077】
に関して定義され得るので、および変換が、パラメータ化された形式を有するとともに、それらのパラメータに関して微分可能な変換であるので、空間的変換モジュールは、画像処理ニューラルネットワークシステムのトレーニングの間に逆伝搬を使用してトレーニングされ得る。
【0078】
特に、画像処理ニューラルネットワークシステムのトレーニングの間、システムは、空間的変換モジュールをトレーニング、すなわち、ローカリゼーションサブネットワーク、および任意選択で、サンプリングカーネルの、パラメータの値を調整するために、画像処理ニューラルネットワークによって生成されたニューラルネットワーク出力とトレーニング画像に対する既知の出力との間の誤差から算出されたグラディエントを逆伝搬できる。
【0079】
本明細書に記載された主要事項および機能的動作の実施形態は、本明細書に開示された構造およびそれらの構造的同等物、またはそれらの1つまたは複数の組み合わせを含む、デジタル電子回路、有形に実装されたコンピュータソフトウェアまたはファームウェア、コンピュータハードウェアに実施され得る。本明細書に記載の主要事項の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって、またはデータ処理装置の動作を制御するために、実行される有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実施され得る。代替または追加で、プログラム命令は、伝送のための情報を符号化してデータ処理装置によって実行のための受信装置に適するように生成された人工的に生成された伝搬信号、例えば、機械生成の電気的、光学的、または電磁的な信号に符号化され得る。コンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶回路基板、ランダムまたはシリアルアクセスメモリデバイス、またはそれらの1つまたは複数の組み合わせであり得る。
【0080】
「データ処理装置」という用語は、例としてプログラム可能なプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、機械を包含する。
装置は、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの、特定用途論理回路を含むことができる。装置はまた、ハードウェアに加え、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つまたは複数の組み合わせを構築するコードなど、課題となるコンピュータプログラムのための実行環境を作るコードを含み得る。
【0081】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれ得るまたは記載され得る)は、コンパイル型またはインタープリタ型の言語、宣言型または手続き型の言語を含むプログラム言語の任意の形式で書かれることができ、コンピュータプログラムは、スタンドアロン型のプログラム、モジュール、コンポーネント、サブルーチン、またはコンピュータ環境での使用に適した他のユニットを含む任意の形式で展開され得る。コンピュータプログラムは、必須ではないが、ファイルシステム内のファイルに対応してもよい。プログラムは、例えば、マークアップ言語文書に格納された1つまたは複数のスクリプトなどの他のプログラムまたはデータを保持するファイルの一部に、課題とするプログラム専用の単一ファイルに、あるいは、例えば1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイルなどの複数のコーディネートファイルに、格納され得る。コンピュータプログラムは、1つのコンピュータ上に、あるいは1つのサイトに位置する、または複数のサイトにわたって分散され通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【0082】
本明細書に記載される処理フローおよび論理フローは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行されることができ、入力データについて動作して出力を生成することによって機能を実行する。処理フローおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特定用途論理回路によって実行され得、装置もまた特定用途論理回路として実装され得る。
【0083】
コンピュータプログラムの実行に適したコンピュータは、例として、汎用的または特定用途のマイクロプロセッサ、またはそれらの両方、あるいは任意の他の種類の中央処理ユニットに基づくことができるコンピュータを含む。一般に、中央処理ユニットは、読み取り専用メモリまたはランダムアクセスメモリまたはそれらの両方から命令およびデータを受け取る。コンピュータの必須要素は、命令を実行または遂行するための中央処理ユニットと、命令およびデータを格納する1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、例えば、磁気ディスク、光磁気ディスク、または光学ディスクなどの、データを格納するための1つまたは複数の大量記憶デバイスを含むか、該1つまたは複数の大量記憶デバイスとデータを送受信するために動作可能に結合されるか、またはその両方である。しかしながら、コンピュータは、そのようなデバイスを必ず有する必要はない。その上、コンピュータは、ほんの数例を挙げると、モバイル電話、個人情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、GPS(全地球測位システム)受信機、または、例えばUSB(ユニバーサルシリアルバス)フラッシュドライブなどのポータブル記憶デバイスなど、別のデバイスに組み込まれ得る。
【0084】
コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、例として、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、例えば内臓ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、CD-ROMおよびDVDディスクを含む、不揮発性メモリ、媒体およびメモリデバイスのすべての形式を含む。
プロセッサおよびメモリは、特定用途論理回路によって補足され、またはそこに組み込まれ得る。
【0085】
ユーザとのインタラクションを提供するために、本明細書に記載の主要事項の実施形態は、ユーザに情報を表示するための、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイスと、ユーザがコンピュータに入力を提供できる、例えば、マウスやトラックボールなどのキーボードおよびポインティングデバイスとを有するコンピュータ上に実装され得る。他の種類のデバイスも、ユーザとのインタラクションを提供するために使用できる:例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、音声フィードバック、または触覚フィードバックなどの任意の形態のセンサフィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受け取られ得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送ることまたは文書を受け取ることによって、例えば、ウェブブラウザから受け取ったリクエストに応答してユーザクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザとインタラクトできる。
【0086】
本明細書に記載の主要事項の実施形態は、例えばデータサーバなどのバックエンド構成要素を含む、または例えばアプリケーションサーバなどのミドルウェア構成要素を含む、あるいは、例えばユーザがそれを介して本明細書に記載の主要事項の実装とインタラクトできるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含む、あるいはそのようなバックエンド、ミドルウェア、フロントエンド構成要素の1つまたは複数を含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、例えば通信ネットワークなどのデジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、LAN(ローカルエリアネットワーク)およびインターネットなどのWAN(ワイドエリアネットワーク)を含む。
【0087】
コンピューティングシステムはクライアントとサーバを含みうる。クライアントとサーバは、一般に互いに遠隔にあり、典型的には通信ネットワークを介してインタラクトする。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され互いのクライアント-サーバ関係を有するコンピュータプログラムによってもたらされる。
【0088】
本明細書は、多くの具体的な実施の詳細を含むが、これらは、発明の範囲または請求可能な範囲を限定するものとしてではなく、むしろ特定の発明の特定の実施形態に特有である特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載される特定の特徴は、単一の実施形態において組み合わせて実施することもできる。逆に、単一の実施形態の文脈で記載されている様々な特徴は、複数の実施形態で別々にまたは任意の適切なサブコンビネーションで実装することもできる。さらに、特徴は、特定の組み合わせで作用するものとして上述されており、当初はそのように請求されているものであっても、請求された組み合わせからの1つまたは複数の特徴が、ある場合では組み合わせから切り出すことができ、かつ請求された組み合わせがサブコンビネーションまたはサブコンビネーションの変形に向かうことがある。
【0089】
同様に、動作が特定の順序で図面に示されているが、これは、望ましい動作を達成するために、示された特定の順序または逐次的な順序で、あるいは図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理と並列処理が有利な場合がある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものと理解すべきではなく、記述されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に統合されるか、または複数のソフトウェア製品にパッケージ化されることができる。
【0090】
主要事項の特定の実施形態が記載されている。他の実施形態は、添付の特許請求の範囲内にある。例えば、特許請求の範囲に列挙された動作は、異なる順序で実行され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されたプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。特定の実施形態では、マルチタスク処理と並列処理が有利な場合がある。
【符号の説明】
【0091】
100 画像処理ニューラルネットワークシステム
102 入力画像データ
104 ニューラルネットワーク構成要素A
106 入力特徴マップ
108 空間的変換モジュール
110 ローカリゼーションサブネットワーク
112 特徴マップ
114 ニューラルネットワーク構成要素B
図1
図2
図3