(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】ニューラルネットワーク及びその訓練方法
(51)【国際特許分類】
G06N 3/045 20230101AFI20241001BHJP
G06N 3/08 20230101ALI20241001BHJP
G06N 20/00 20190101ALI20241001BHJP
G06T 7/00 20170101ALI20241001BHJP
【FI】
G06N3/045
G06N3/08
G06N20/00
G06T7/00 350C
(21)【出願番号】P 2021034929
(22)【出願日】2021-03-05
【審査請求日】2023-11-09
(31)【優先権主張番号】202010271823.3
(32)【優先日】2020-04-08
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】ジャン・ホォイガン
(72)【発明者】
【氏名】汪 留安
(72)【発明者】
【氏名】孫 俊
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2019-67407(JP,A)
【文献】米国特許出願公開第2019/0347828(US,A1)
【文献】中国特許出願公開第110942446(CN,A)
【文献】中国特許出願公開第110929685(CN,A)
【文献】中国特許出願公開第110807372(CN,A)
【文献】福田裕大, 外2名,“単一画像からの深度推定へのFeature Pyramid Networkの導入による精度向上”,映像情報メディア学会技術報告,日本,(一社)映像情報メディア学会,2019年06月06日,第43巻, 第16号,p.23-28
【文献】Golnaz Ghaisi, 外3名,"NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection",[online],2019年04月16日, [検索日 2024.08.16], インターネット<URL:https://arxiv.org/pdf/1904.07392>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/045
G06N 3/08
G06N 20/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークを訓練する方法であって、
前記ニューラルネットワークは、画像中の対象の検出のために用いられ、また、バックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、
前記特徴ネットワークは、第一モジュール及び第二モジュールを含み、
前記方法は、
前記バックボーンネットワークが、サンプル画像に対して処理を行い、異なるサイズのN個の第一特徴を出力し;
前記特徴ネットワークの第一モジュールが、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を行い、異なるサイズのN個の第二特徴を出力し;
前記特徴ネットワークの第二モジュールが、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併処理を行い、異なるサイズのN個の第三特徴を出力し;
前記N個の第二特徴のうちの各々と、前記N個の第三特徴のうちの、同じサイズを有する対応する1つの第三特徴との組み合わせを行い、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作を行い;
前記予測モジュールが、前記N個の第四特徴に基づいて予測を行い、また、第一損失を計算し;
前記予測モジュールが、畳み込み操作後に得られた特徴に基づいて予測を行い、また、第二損失を計算し;及び
前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより、前記ニューラルネットワークを訓練することを含む、方法。
【請求項2】
請求項1に記載の方法であって、
前記特徴ネットワークの第一モジュールにより出力されるN個の第二特徴は、サイズが最も小さい前記第一特徴、及び毎回逆畳み込み操作を実行した後に得られた特徴を含む、方法。
【請求項3】
請求項1に記載の方法であって、
前記特徴ネットワークの第二モジュールが、i+1番目の第一特徴に対して、双線形補間及び畳み込み操作を含む処理を行い、また、i番目の第一特徴と処理済みのi+1番目の第一特徴との合併処理を行うことを更に含み、
ここで、i=1、2、…、N-1である、方法。
【請求項4】
請求項1に記載の方法であって、
前記第四特徴のサイズの増大に伴い、前記第四特徴に対して行われる畳み込み操作の回数が減少する、方法。
【請求項5】
請求項1に記載の方法であって、
前記第一損失及び前記第二損失のうちの各々が回帰損失及び分類損失を含む、方法。
【請求項6】
請求項1に記載の方法であって、
前記バックボーンネットワークが複数の層を含み、且つ各層のチャネルが、数が等しい2つの部分に分けられ、
前記方法は、
前記2つの部分のうちの各部分のチャネルに対して、畳み込み操作、チャネル拡張及びチャネル減縮を含む処理を行い、また、前記2つの部分の処理済みのチャネルを組み合わせて次の1つの層に入力することを更に含む、方法。
【請求項7】
請求項6に記載の方法であって、
各層の各部分のチャネルに対して、処理済みのチャネルと未処理のチャネルとの和を求め、該部分の出力を取得し;及び
前記2つの部分の出力を組み合わせて前記次の1つの層に入力することを更に含む、方法。
【請求項8】
請求項7に記載の方法であって、
前記2つの部分のうちの各部分のチャネルに対して行われる処理はSEブロック(Squeeze-and-Excitation block)の追加を更に含む、方法。
【請求項9】
請求項8に記載の方法であって、
前記バックボーンネットワークの各層について、
チャネル拡張倍率、畳み込みカーネルサイズ、処理済みのチャネルと未処理のチャネルとの和を求めるか、及びSEブロックを追加するか
のうちの少なくとも1つを設定する、方法。
【請求項10】
請求項6に記載の方法であって、
前記バックボーンネットワークの複数の層により、異なるサイズの複数の特徴を生成し;
前記複数の特徴の中のサブセットを選択し、前記サブセットの中の、サイズが最も小さい特定特徴を確定し;
前記特定特徴に対して処理を行い、サイズが前記特定特徴のサイズよりも小さい1つ又は複数の特徴を生成し;及び
前記サブセットの中の特徴、及びサイズが前記特定特徴のサイズよりも小さい前記1つ又は複数の特徴により、前記バックボーンネットワークから出力されるN個の第一特徴を構成することを更に含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワーク及びその訓練方法に関し、特に、対象(object)検出のためのニューラルネットワークモデル及び対応する訓練方法に関する。
【背景技術】
【0002】
今のところ、スマートフォンの普及に伴い、人々が科学技術によってもたらされる利便性を享受しつつある。これはまた、ある程度、人工知能技術の継続的な開発を刺激している。人工智能は、往々にして、特定の効果を達成するために、多くの計算能力を要する。しかし、モバイルプラットフォームのハードウェアの処理能力が通常制限されているから、多くの成熟したアルゴリズムをスマートフォンに展開して適用することができない。
【0003】
そのため、研究者が小さなモデルの実現を探求し始めた。近年、多くの効率的なアーキテクチャ、例えば、非特許文献1に記載のPelee、非特許文献2に記載のShuffleNetV2及び非特許文献3に記載のMobileNetV3が提案されている。これらのモデルは、モバイルプラットフォームのリアルタイム性を満足し得るが、精度を向上させる余地がまだある。特に、検出タスクの場合、小さなモデルの精度損失は、分類タスクの場合の精度損失よりもはるかに大きくなる。
【0004】
周知のように、検出タスクはコンピュータビジョンの基礎研究であり、それは広く研究され、実際に適用されている。従来の大多数のターゲット検出モデルは、画像分類のために設計されるネットワークをバックボーンとして使用し、また、開発者は、検出器について様々な特徴表現を開発している。
【0005】
一般的に言えば、従来の検出モデルは、通常、以下のような欠点がある。
【0006】
1)検出モデルが大量の手作業及び事前知識に依存しており、良好な検出精度が取得され得るが、リアルタイムタスクには適しておらず;
2)人工設計の小さなモデル又は剪定モデルによってリアルタイム問題に対処し得るが、これらのモデルのバックボーンが分類タスクのために設計されるネットワークからのものであるため、精度は往々にして高くない。
【先行技術文献】
【非特許文献】
【0007】
【文献】Wang、R.J.,Li、X.,Ao、S.,Ling、C.X.:Pelee:A real-time object detection system on mobile devices.arXiv preprint arXiv:1804.06882(2018)
【文献】Ningning Ma、Xiangyu Zhang、Hai-Tao Zheng、and Jian Sun.Shufflenet v2:Practical guidelines for efficient cnn architecture design.In ECCV、2018
【文献】Howard、A.,Sandler、M.,Chu、G.,Chen、L.-C.,Chen、B.,Tan、M.,Wang、W.,Zhu、Y.,Pang、R.,Vasudevan、V.,et al.Searching for mobilenetv3.arXiv preprint arXiv:1905.02244、2019
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の発明者は、エンドツーエンドの検出モデルが検出タスクに必要且つ効率的であることを発見した。これに基づいて、本発明の目的は、リソースが限られるプラットフォームに適したエンドツーエンドの検出モデル及び対応する訓練方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明の一側面によれば、ニューラルネットワークを訓練する方法が提供され、そのうち、前記ニューラルネットワークは画像中の対象の検出のために用いられ、且つバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、前記特徴ネットワークは第一モジュール及び第二モジュールを含み、前記方法は、
前記バックボーンネットワークがサンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力し;
前記特徴ネットワークの第一モジュールが、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を行い、且つ異なるサイズのN個の第二特徴を出力し;
前記特徴ネットワークの第二モジュールが、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力し;
前記N個の第二特徴のうちの各々と、前記N個の第三特徴のうちの、同じサイズを有する対応する1つとを組み合わせることで異なるサイズのN個の第四特徴を生成し、且つ前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作を行い;
前記予測モジュールが前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し;
前記予測モジュールが畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算し;及び
前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより、前記ニューラルネットワークを訓練することを含む。
【0010】
本発明の他の側面によれば、画像中の対象の検出に用いられるニューラルネットワークが提供され、前記ニューラルネットワークはバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含む。前記特徴ネットワークは第一モジュール及び第二モジュールを含む。前記バックボーンネットワークはサンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力する。前記特徴ネットワークの第一モジュールは、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいて、N-1回の逆畳み込み操作を行い、且つ異なるサイズのN個の第二特徴を出力する。前記特徴ネットワークの第二モジュールは、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力する。前記N個の第二特徴のうちの各々が、前記N個の第三特徴のうちの、同じサイズを有する対応する1つと組み合わせられ、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作が行われる。前記予測モジュールは、前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し、及び、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算する。前記ニューラルネットワークは、前記第一損失と前記第二損失との組み合わせに基づいて訓練される。
【0011】
本発明の他の側面によれば、ニューラルネットワークを訓練する装置が提供され、そのうち、前記ニューラルネットワークは画像中の対象の検出のために用いられ、且つバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、前記特徴ネットワークは第一モジュール及び第二モジュールを含む。前記バックボーンネットワークは、サンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力する。前記特徴ネットワークの第一モジュールは、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を行い、且つ異なるサイズのN個の第二特徴を出力する。前記特徴ネットワークの第二モジュールは、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力する。前記N個の第二特徴のうちの各々が、前記N個の第三特徴のうちの、同じサイズを有する対応する1つと組み合わせられ、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作が行われる。前記予測モジュールは、前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し、及び、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算する。前記装置は、1つ又は複数の処理器を含み、前記処理器は、前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより前記ニューラルネットワークを訓練するように構成される。
【0012】
本発明の他の側面によれば、プログラムを記憶した記憶媒体が提供され、前記プログラムは、実行されるときに、コンピュータに、ニューラルネットワークを訓練するための方法を実行させる。そのうち、前記ニューラルネットワークは画像中の対象の検出のために用いられ、且つバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、前記特徴ネットワークは第一モジュール及び第二モジュールを含む。前記バックボーンネットワークはサンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力する。前記特徴ネットワークの第一モジュールは、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいて、N-1回の逆畳み込み操作を行い、且つ異なるサイズのN個の第二特徴を出力する。前記特徴ネットワークの第二モジュールは、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力する。前記N個の第二特徴のうちの各々が、前記N個の第三特徴のうちの、同じサイズを有する対応する1つと組み合わせられ、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作が実行される。前記予測モジュールは、前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し、及び、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算する。前記方法は、前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより前記ニューラルネットワークを訓練することを含む。
【図面の簡単な説明】
【0013】
【
図1】本発明による対象検出モデルのアーキテクチャを示す図である。
【
図2】バックボーンネットワークのアーキテクチャを示す図である。
【
図4】特徴ネットワーク及びターゲット予測モジュールのアーキテクチャを示す図である。
【
図5】特徴ネットワークの第二モジュールにより実行される合併処理を示す図である。
【
図6】本発明の実施例による対象検出モデルの訓練方法のフローチャートである。
【
図7】本発明を実現し得るコンピュータハードウェアの例示的なブロック図である。
【発明を実施するための形態】
【0014】
以下、添付した図面を参照しながら、本発明を実施するための好適な実施例を詳細に説明する。なお、以下の実施例は、例示に過ぎず、本発明を限定するものでない。
【0015】
図1は、本発明による対象検出モデルのアーキテクチャを示す図である。該対象検出モデルは、ニューラルネットワークにより実現され得る。
図1に示すように、対象検出モデルは、バックボーンネットワーク110、特徴ネットワーク120及び予測モジュール130を含む。バックボーンネットワーク110は、検出モデルの基礎ネットワークを構成し、特徴ネットワーク120は、特徴表現を抽出するために用いられ、ターゲット予測モジュール130は、抽出された特徴表現を用いて対象検出を行う。
【0016】
また、検出モデルに入力される画像は、統一したサイズを有するように調整されても良く、例えば、320×320に調整され得る。予測モジュール130は例えば、3×3畳み込み操作からなっても良く、且つ最終的には、境界枠及びクラスラベルが付く出力画像を出力し、境界枠は、検出された対象の位置を指示し、クラスラベルは、該対象の属するクラスを指示する。
【0017】
図2は、バックボーンネットワークのアーキテクチャを例示的に示す図である。
図2に示すように、本発明によるバックボーンネットワークは例えば、17個の層を含むが、本発明はこれに限定されない。第1層がバックボーン層であり、それは所定ステップ長の畳み込み操作を実行し、例えば、ステップ長が2である3×3畳み込み操作を行う。第2層~第17層のうちの各層がすべて
図3に示す畳み込みユニットからなるが、畳み込みユニットの設定の面において第2層~第17層は互いに異なっても良い。
【0018】
図3に示すように、現在の層が1つ前の層の出力を受信し、且つこれに対してチャネルのランダム混合を行い、その後、チャネルを、数が等しい2つの部分に均等に分け、2つのブランチを形成する。この2つのブランチにおいて同じ処理が行われ、且つ計算を並列して実行することができるので、シングルブランチの畳み込み層に比較して、処理時間を節約することができる。各ブランチでは、次のような操作を順次実行し、即ち、(1)1×1畳み込み操作であり、且つその後、チャネル数に対して所定倍数の増加、即ち、チャネル拡張を行い;(2)K×K深層畳み込み操作であり;(3)1×1畳み込み操作であり、且つその後、チャネル数に対して同じ倍数の減少、即ち、チャネル減縮を行うことで、チャネル数が操作(1)における最初の数になるようにさせる。最後に、2つのブランチのそれぞれの出力に対してカスケード接続を行って次の1つの層に出力する。
【0019】
図3に示す畳み込みユニットは、異なる層において異なる設定を有しても良い。具体的に言えば、次のようなもののうちの少なくとも1つが設定されても良く、即ち、チャネル拡張倍率、深層畳み込みのカーネルのサイズ、処理済みのチャネルと未処理のチャネルとの加算(和)を行うか、及びSEブロック(Squeeze-and-Excitation block)を追加するかである。1つの例として、事前知識に基づいて最適な組み合わせを得ることができる。
【0020】
例えば、チャネル拡大倍率が1、3又は6であり、深層畳み込みのカーネルのサイズが3×3又は5×5であっても良い。また、
図3に示されていないが、より高い精度を得るために、或る層又は幾つかの層の畳み込みユニットにSEブロックを追加しても良い。このような場合、深層畳み込みと1×1畳み込み(チャネル減縮)との間にSEブロックを追加しても良い。
【0021】
また、
図3に示すように、各ブランチでは、畳み込みを経たチャネルと、未処理のチャネルとの和を求めることで、該ブランチの出力を生成し、図中の「ショートカット」が付く矢印及び“加算”を示す符号(+)により示されるようである。しかし、この設定は変えることができる。例えば、現在の層と1つ前の層との間にチャネルの変化又は特徴サイズの変化があったときに、このような加算処理を行わない。言い換えると、このような場合、
図3の中の「ショートカット」が付く矢印及び“加算”符号(+)を除去し、畳み込みを経たチャネルのみを対応するブランチの出力とする。
【0022】
以下の表1にはバックボーンネットワークの具体的なパラメータが示されており、そのうち、“unit”は
図3に示す畳み込みユニットを表し、“Y”は追加のSEブロックを表す。
【表1】
【0023】
図1に示すように、バックボーンネットワーク110の出力は特徴ネットワーク120の入力である。FPN(feature pyramid network)が画像中の異なるサイズの対象の処理に適したので、本発明ではFPN作を基本特徴構造として使用する。そのため、本発明は、バックボーンネットワーク110の各層(第1層~第17層)の出力に基づいて第一特徴を生成し、該第一特徴は、バックボーンネットワーク110の出力として特徴ネットワーク120に入力される。
【0024】
以下、1つの例を挙げて第一特徴の生成を説明する。該例では、バックボーンネットワーク110の第5層、第12層、第17層により出力される特徴を選択し、これらの特徴を{f1、f2、f3}と定義する。特徴f1、f2、f3は異なるサイズを有し、例えば、それぞれは40×40、20×20、10×10であり、そのうち、特徴f3のサイズが最も小さい。その後、特徴f3に対してステップ長が2及び4である最大プーリング操作をそれぞれ行うことで、サイズがより小さい別の2つの特徴f4及びf5を取得する。取得された5つの異なるサイズの特徴{f1、f2、f3、f4、f5}により第一特徴を構成し、そして、特徴ネットワーク120に入力する。なお、本発明はこの例に限られず、他の方法を採用して第一特徴を生成することもできる。例えば、第5層、第12層、第17層以外の他の層から出力される特徴を選択しても良く、あるいは、第一特徴に含まれる特徴の数を変えても良い。
【0025】
図4は、特徴ネットワーク及びターゲット予測モジュールのアーキテクチャを例示的に示す図である。
図4に示すように、特徴ネットワークは第一モジュール410及び第二モジュール420を含み、且つバックボーンネットワークからの第一特徴F1を受信する。第一特徴F1には、異なるサイズのN個(図では例示的に5つが示されている)の特徴が含まれる。
【0026】
第一モジュール410は、第一特徴F1の中のサイズが最も小さい特徴f5に基づいてN-1回(4回)の逆畳み込み操作を実行し、1組の新しい特徴(第二特徴F2と表される)を生成する。具体的に言えば、まず、特徴f5に対して第一回の逆畳み込み操作を実行し、その後、第一回の逆畳み込み操作後に得られた特徴に対して第二回の逆畳み込み操作を実行し、このような方式で、トータルでN-1回の逆畳み込み操作を実行する。例えば、生成される第二特徴F2には、特徴f5、及び4回の逆畳み込み操作により生成される4つの特徴が含まれる。
【0027】
第二モジュール420は、第一特徴F1に含まれる複数の特徴に対して合併を行い、1組の新しい特徴(第三特徴F3と表れる)を生成する。
図5は、合併処理を行う方法を示す図である。
図5に示すように、i+1番目の特徴とi番目の特徴との合併を実行し、そのうち、i=1、2、…、N-1であり、且つi+1番目の特徴のサイズがi番目の特徴のサイズよりも小さい。まず、i+1番目の特徴に対して、双線形補間及び畳み込み操作を含む処理を実行する。双線形補間は、i+1番目の特徴に対してアップサンプリングを行うことで、そのサイズをi番目の特徴と同じように変更するために用いられる。畳み込み操作は、この2つの特徴のチャネルの正規化を実現するために用いられる。それから、i番目の特徴と処理済みのi+1番目の特徴との合併を行い、新しいi番目の特徴を取得する。その後、取得された新しいi番目の特徴と、オリジナルなi-1番目の特徴とに対して
図5に示す合併処理を行うことにより、新しいi-1番目の特徴を取得する。
【0028】
上述の方式によりN-1個の新しい特徴を生成することができる。その後、第二モジュール420は、これらの新しい特徴のうちの、サイズが最も小さいN-1番目の新しい特徴に対して最大プーリング操作を行い、N番目の新しい特徴を得る。該N番目の新しい特徴のサイズがN-1番目の新しい特徴のサイズよりも小さい。ここまで、N個の新しい特徴が生成されており、それらは、第二モジュール420の出力、即ち、第三特徴F3を構成する。
【0029】
第一モジュール410及び第二モジュール420は、処理を並列して実行することにより、効率を向上させることができる。その後、第一モジュール410により出力される第二特徴F2と、第二モジュール420により出力される第三特徴F3とに対してカスケード接続を行うことで、インハンス(enhance)された多尺度(マルチスケール)特徴、即ち、第四特徴F4を取得する。より具体的には、第二特徴F2に含まれる各特徴と、第三特徴F3の中の同じサイズを有する特徴とのカスケード接続を行うことにより、N個の特徴を含む第四特徴F4を生成する。
【0030】
図4は、5つの特徴{p1、p2、p3、p4、p5}を含む第四特徴F4を示す図である。予測モジュール130は、第四特徴F4に基づいて予測を行い、且つ第一損失を計算する。なお、これは当業者にとって既知であるため、本文ではその詳しい処理を省略する。
【0031】
一方、第四特徴F4に含まれる特徴p1、p2、p3、p4、p5に対してそれぞれ異なる回数の畳み込み操作(例えば、3×3畳み込み)を行い、予測モジュール130は、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算する。より具体的には、特徴のサイズの増大に伴い、それに対して行われる畳み込み操作の回数が減少する。この面において、
図4では、サイズが最も大きい特徴p1に対して畳み込み操作を行わず、サイズが次第に減少する特徴p2~p5に対してそれぞれ1回~4回の畳み込みを行うことを例示的に示している。なお、本発明は
図4に示す例に限定されない。
【0032】
尺度が比較的大きい特徴に対して畳み込み操作を実行することにより比較的大きい計算量が生じるため、効率の低下を来すことがある。よって、本発明では、比較的大きいサイズの特徴に対して比較的少ない回数の畳み込み計算を行い、比較的小さいサイズの特徴に対して比較的多い回数の畳み込み計算を行うことにより、正確率と効率との間の良好なバランスをとることができる。
【0033】
取得された第一損失及び第二損失は、
図1に示す対象検出モデルの訓練に用いられる。具体的に言えば、予測モジュール130は例えば、3×3畳み込みを用いてそれぞれ回帰表現及び和分類表現を計算する。モデル評価の面において、例えば、回帰損失法及び焦点損失法を採用することができる。回帰損失(RLOSS)は、境界枠の検出に関する損失を表し、焦点損失(FLOSS)は、クラスラベルに関する損失を表す。なお、焦点損失は、分類損失のうちの1つの種類であり、本文では、焦点損失を重点的に説明しているが、本発明では、他の分類損失を使用しても良い。
【0034】
第一損失は回帰損失RLOSS
1及び焦点損失FLOSS
1を含み、第二損失は回帰損失RLOSS
2及び焦点損失FLOSS
2を含む。よって、検出モデルmに対して訓練を行うときに、以下の式(1)で表す損失関数を採用することができる。
【数1】
【0035】
損失関数LOSS(m)を最小化することにより、バックボーンネットワーク110、特徴ネットワーク120及び予測モジュール130の検出モデルの設定パラメータを最適化し、良好な検出精度を取得することができる。
【0036】
図6は、本発明による対象検出モデルの訓練方法のフローチャート。
図6に示すように、ステップS610において、バックボーンネットワーク110が、入力される画像に対して処理を行い、第一特徴F1を生成して出力する。第一特徴F1は、異なるサイズのN個の特徴、例えば、上述した{f1、f2、f3、f4、f5}を含む。
【0037】
ステップS620において、特徴ネットワーク120の第一モジュール410が、バックボーンネットワーク110により出力される第一特徴F1のうちの、サイズが最も小さい特徴(例えば、特徴f5)に基づいてN-1回の逆畳み込み操作を行い、第二特徴F2を生成する。第二特徴F2は、該サイズが最も小さい特徴、及び毎回逆畳み込み操作実行後に得られた特徴を含む。
【0038】
ステップS630において、特徴ネットワーク120の第二モジュール420が、バックボーンネットワーク110により出力される第一特徴F1のうちのN個の特徴に対して合併を行い、第三特徴F3を生成する。なお、合併処理の方法については、前述の
図5に関する説明を参照することができる。
【0039】
ステップS640において、サイズの等級(grade)に従って、第二特徴F2と第三特徴F3との組み合わせを行い、第四特徴F4を生成する。第四特徴F4は、異なるサイズのN個の特徴、例えば、上述した{p1、p2、p3、p4、p5}を含む。
【0040】
ステップS650において、第四特徴F4の中の各特徴に対してそれぞれ異なる回数の畳み込み操作を行う。特に、特徴のサイズの増大に伴い、それに対して行われる畳み込み操作の回数が減少する。
【0041】
ステップS660において、予測モジュール130が、畳み込み操作を経ていない第四特徴F4に基づいて予測を行い、且つ第一損失を計算する。また、予測モジュール130は更に、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算する。
【0042】
ステップS670において、上述の式(1)に示す損失関数に基づいて対象検出モデルを訓練し、バックボーンネットワーク110、特徴ネットワーク120及び予測モジュール130の設定を最適化する。
【0043】
以上、具体的な実施例をもとに本発明で提案されるエンドツーエンドの対象検出モデル及びその訓練方法について説明した。従来のモデルに比較して、本発明による検出モデルは少なくとも以下のような利点を有する。
【0044】
・この検出モデルは、小型プラットフォーム上の検出タスクのために特別に設計されるものであり;
・モデルのアーキテクチャの設計では、機器の並列処理能力を十分に考慮しており、データ流を同時に処理することができ;
・バックボーンネットワークの各層(バックボーン層以外の各層)では、畳み込みカーネルのサイズ及びチャネルの数を柔軟に設定している。各層においてすべて固定した畳み込みカーネルサイズ及び固定したチャネル数を用いるモデルに比べて、より高い精度を得ることができ;
・精度と効率との間の良好なバランスを実現することができる。
【0045】
上述の実施例に記載の方法は、ソフトウェア、ハードウェア、あるいは、ソフトウェア及びハードウェアの組み合わせにより実現され得る。ソフトウェアに含まれるプログラムは、予め、機器の内部又は外部に設置される記憶媒体に格納することができる。1つの例として、実行時に、これらのプログラムは、ROMに書き込まれ、且つ処理器(例えば、CPU)により実行されることにより、本文に記載の各種の方法及び処理を実現することができる。
【0046】
図7は、プログラムに基づいて、本発明による方法を実行するコンピュータハードウェア(汎用PC700)の構成ブロック図である。該コンピュータハードウェアは、本発明における検出モデル訓練用の装置の1つの例である。また、本発明の検出モデルにおけるバックボーンネットワーク、特徴ネットワーク及び予測モジュールは、該コンピュータハードウェアを用いて実現することもできる。
【0047】
汎用PC700は、例えば、コンピュータシステムであっても良い。なお、汎用PC700は、例示に過ぎず、本発明による方法及び装置の適用範囲又は機能は、これに限定されない。また、汎用PC700は、上述の方法及び装置における任意のモジュールやアセンブリなどあるいはその組み合わせにも依存しない。
【0048】
図7では、中央処理装置(CPU)701は、ROM702に記憶されているプログラム又は記憶部708からRAM703にロッドされているプログラムに基づいて各種の処理を行うことができる。RAM703では、ニーズに応じて、CPU701が各種の処理を行うときに必要なデータなどを記憶することもできる。CPU701、ROM702及びRAM703は、バス704を経由して互いに接続され得る。入力/出力インターフェース705もバス704に接続され得る。
【0049】
また、入力/出力インターフェース705には、さらに、次のような部品が接続され、即ち、キーボードなどを含む入力部706、液晶表示器(LCD)などのような表示器及びスピーカーなどを含む出力部707、ハードディスクなどを含む記憶部708、ネットワーク・インターフェース・カード、例えば、LANカード、モデムなどを含む通信部709である。通信部709は、例えば、インターネット、LANなどのネットワークを経由して通信処理を行う。ドライブ710は、ニーズに応じて、入力/出力インターフェース705に接続されても良い。取り外し可能な媒体711、例えば、半導体メモリなどは、必要に応じて、ドライブ710にセットされることにより、その中から読み取られたコンピュータプログラムを記憶部708にインストールすることができる。
【0050】
また、本発明は、さらに、マシン可読指令コードを含むプログラムプロダクトを提供する。このような指令コードは、マシンにより読み取られて実行されるときに、上述の本発明の実施例における方法を実行することができる。それ相応に、このようなプログラムプロダクトをキャリー(Carry)する、例えば、磁気ディスク(フロッピーディスク(登録商標)を含む)、光ディスク(CD-ROM及びDVDを含む)、光磁気ディスク(MD(登録商標)を含む)、及び半導体記憶器などの各種記憶媒体も本発明に含まれる。
【0051】
上述の記憶媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体記憶器などを含んでも良いが、これらに限定されない。
【0052】
また、上述の方法における各操作(処理)は、各種のマシン可読記憶媒体に記憶されているコンピュータ実行可能なプログラムの方式で実現することもできる。
【0053】
また、以上の実施例などに関しては、さらに以下のように付記として開示する。
【0054】
(付記1)
ニューラルネットワークを訓練する方法であって、
前記ニューラルネットワークは画像中の対象の検出のために用いられ、且つバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、前記特徴ネットワークは第一モジュール及び第二モジュールを含み、前記方法は、
前記バックボーンネットワークが、サンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力し;
前記特徴ネットワークの第一モジュールが、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を実行し、且つ異なるサイズのN個の第二特徴を出力し;
前記特徴ネットワークの第二モジュールが、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力し;
前記N個の第二特徴のうちの各々と、前記N個の第三特徴のうちの同じサイズを有する対応する1つとを組み合わせることで、異なるサイズのN個の第四特徴を生成し、且つ前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作を実行し;
前記予測モジュールが前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し;
前記予測モジュールが畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算し;及び
前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより、前記ニューラルネットワークを訓練することを含む、方法。
【0055】
(付記2)
付記1に記載の方法であって、
前記特徴ネットワークの第一モジュールにより出力されるN個の第二特徴は、サイズが最も小さい前記第一特徴、及び毎回逆畳み込み操作を実行した後に得られた特徴を含む、方法。
【0056】
(付記3)
付記1に記載の方法であって、更に、
前記特徴ネットワークの第二モジュールが、i+1番目の第一特徴に対して、双線形補間及び畳み込み操作を含む処理を行い、且つi番目の第一特徴と処理済みのi+1番目の第一特徴との合併を行うことを含み、
そのうち、i=1、2、…、N-1である、方法。
【0057】
(付記4)
付記1に記載の方法であって、更に、
前記特徴ネットワークの第二モジュールが、i+1番目の第一特徴に対して、双線形補間及び畳み込み操作を含む処理を行い、且つi番目の第一特徴と処理済みのi+1番目の第一特徴との合併を行い、i番目の第三特徴を取得し、そのうち、i=1、2、…、N-1であり;及び
前記第二モジュールが、N-1番目の第三特徴に対して最大プーリング操作を行い、N番目の第三特徴を取得することを含む、方法。
【0058】
(付記5)
付記1に記載の方法であって、
前記第四特徴のサイズの増大に伴い、それに対して行われる畳み込み操作の回数が減少する、方法。
【0059】
(付記6)
付記1に記載の方法であって、
前記第一損失及び前記第二損失のうちの各々が回帰損失及び分類損失を含む、方法。
【0060】
(付記7)
付記1に記載の方法であって、
前記バックボーンネットワークが複数の層を含み、且つ各層のチャネルが、数が等しい2つの部分に分けられ、
前記方法は、更に
前記2つの部分のうちの各部分のチャネルに対して、畳み込み、チャネル拡張及びチャネル減縮を含む処理を行い、且つ前記2つの部分の処理済みのチャネルを組み合わせて次の1つの層に入力することを含む、方法。
【0061】
(付記8)
付記7に記載の方法であって、更に、
各層の各部分のチャネルに対して、処理済みのチャネルと未処理のチャネルとの和を求め、該部分の出力を取得し;及び
前記2つの部分の出力を組み合わせて前記次の1つの層に入力することを含む、方法。
【0062】
(付記9)
付記8に記載の方法であって、
前記2つの部分のうちの各部分のチャネルに対して行われる処理は更にSEブロックの追加を含む、方法。
【0063】
(付記10)
付記9に記載の方法であって、
前記バックボーンネットワークの各層について、チャネル拡張倍率、畳み込みカーネルサイズ、処理済みのチャネルと未処理のチャネルとの和を求めるか、及びSEブロックを追加するかのうちの少なくとも1つを設定する、方法。
【0064】
(付記11)
付記7に記載の方法であって、更に、
前記バックボーンネットワークの複数の層により異なるサイズの複数の特徴を生成し;
前記複数の特徴の中のサブセットを選択し、且つ前記サブセットの中のサイズが最も小さい特定特徴を確定し;
前記特定特徴に対して処理を行い、サイズが前記特定特徴よりも小さい1つ又は複数の特徴を生成し;及び
前記サブセットの中の特徴、及びサイズが前記特定特徴よりも小さい前記1つ又は複数の特徴により、前記バックボーンネットワークから出力されるN個の第一特徴を構成することを含む、方法。
【0065】
(付記12)
画像中の対象の検出のために用いられるニューラルネットワークであって、
前記ニューラルネットワークは、
バックボーンネットワークであって、前記バックボーンネットワークがサンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力する、もの;
特徴ネットワークであって、前記特徴ネットワークが第一モジュール及び第二モジュールを含み、前記第一モジュールが、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を実行し、且つ異なるサイズのN個の第二特徴を出力し、前記第二モジュールが、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力し、そのうち、前記N個の第二特徴のうちの各々が前記N個の第三特徴のうちの同じサイズを有する対応する1つと組み合わせられることで、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作が行われる、もの;及び
予測モジュールであって、前記予測モジュールが前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し、及び、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算する、ものを含み、
そのうち、前記ニューラルネットワークは前記第一損失と前記第二損失との組み合わせに基づいて訓練される、ニューラルネットワーク。
【0066】
(付記13)
ニューラルネットワークを訓練する装置であって、
前記ニューラルネットワークは画像中の対象の検出のために用いられ、且つバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、前記特徴ネットワークは第一モジュール及び第二モジュールを含み、
前記バックボーンネットワークは、サンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力し、
前記特徴ネットワークの第一モジュールは、前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を実行し、且つ異なるサイズのN個の第二特徴を出力し、
前記特徴ネットワークの第二モジュールは、前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力し、
前記N個の第二特徴のうちの各々と、前記N個の第三特徴のうちの同じサイズを有する対応する1つとの組み合わせを行い、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作を行い、
前記予測モジュールは前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し、及び、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算し、
前記装置は、1つ又は複数の処理器を含み、前記処理器は、前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより、前記ニューラルネットワークを訓練するように構成される、装置。
【0067】
(付記14)
プログラムを記憶した記憶媒体であって、
前記プログラムは、実行されるときに、コンピュータに、ニューラルネットワークを訓練するための方法を実行させ、
そのうち、前記ニューラルネットワークは、画像中の対象の検出のために用いられ、且つバックボーンネットワーク、特徴ネットワーク及び予測モジュールを含み、
前記特徴ネットワークは第一モジュール及び第二モジュールを含み、
前記バックボーンネットワークはサンプル画像に対して処理を行い、且つ異なるサイズのN個の第一特徴を出力し、
前記特徴ネットワークの第一モジュールは前記バックボーンネットワークから出力される、サイズが最も小さい第一特徴に基づいてN-1回の逆畳み込み操作を実行し、且つ異なるサイズのN個の第二特徴を出力し、
前記特徴ネットワークの第二モジュールは前記バックボーンネットワークから出力されるN個の第一特徴に対して合併を行い、且つ異なるサイズのN個の第三特徴を出力し、
前記N個の第二特徴のうちの各々が、前記N個の第三特徴のうちの同じサイズを有する対応する1つと組み合わせられ、異なるサイズのN個の第四特徴を生成し、前記N個の第四特徴に対してそれぞれ異なる回数の畳み込み操作が行われ、
前記予測モジュールは、前記N個の第四特徴に基づいて予測を行い、且つ第一損失を計算し、及び、畳み込み操作後に得られた特徴に基づいて予測を行い、且つ第二損失を計算し、
そのうち、前記方法は、前記第一損失と前記第二損失との組み合わせに基づいて、前記バックボーンネットワーク、前記特徴ネットワーク及び前記予測モジュールの設定を最適化することにより、前記ニューラルネットワークを訓練することを含む、記憶媒体。
【0068】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は、本発明の技術的範囲に属する。