(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6872259
(24)【登録日】2021年4月21日
(45)【発行日】2021年5月19日
(54)【発明の名称】R−CNN基盤の物体検出器の学習方法とテスト方法、及びそれを利用した学習装置とテスト装置
(51)【国際特許分類】
G06N 3/04 20060101AFI20210510BHJP
G06T 7/00 20170101ALI20210510BHJP
G06N 3/08 20060101ALI20210510BHJP
【FI】
G06N3/04
G06T7/00 350C
G06N3/08
【請求項の数】28
【全頁数】35
(21)【出願番号】特願2019-182920(P2019-182920)
(22)【出願日】2019年10月3日
(65)【公開番号】特開2020-61141(P2020-61141A)
(43)【公開日】2020年4月16日
【審査請求日】2019年10月3日
(31)【優先権主張番号】16/151,693
(32)【優先日】2018年10月4日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【弁理士】
【氏名又は名称】金子 修平
(72)【発明者】
【氏名】キム ゲヒョン
(72)【発明者】
【氏名】キム ヨンジュン
(72)【発明者】
【氏名】キム インス
(72)【発明者】
【氏名】キム ハクギョン
(72)【発明者】
【氏名】ナム ウンヒョン
(72)【発明者】
【氏名】ブ ソクフン
(72)【発明者】
【氏名】ソン ミョンチョル
(72)【発明者】
【氏名】ヨ ドンフン
(72)【発明者】
【氏名】リュ ウジュ
(72)【発明者】
【氏名】ジャン テウン
(72)【発明者】
【氏名】ジョン ギョンジュン
(72)【発明者】
【氏名】ジェ ホンモ
(72)【発明者】
【氏名】ジョ ホジン
【審査官】
渡部 博樹
(56)【参考文献】
【文献】
米国特許出願公開第2017/0124415(US,A1)
【文献】
Shaoquing Ren et al.,Faster R-CNN: Towards Real-Time Object Detection wiht Region Proposal Networks,[online],arXiv:1506.01497
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 3/08
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
R−CNN(Region−Convolutional Neural Network)基盤の物体検出器のパラメータを学習する方法において、
(a)少なくとも一つのトレーニングイメージが入力されると、学習装置が、(i)少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つの特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもって、ROI(Region Of Interest)リグレッション情報及びマッチング情報を出力するようにし、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、該ROIリグレッション情報はROI候補それぞれの前記特徴マップ上における位置情報であり、前記マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定され、該マッチング情報はそれぞれのROI候補に含まれるそれぞれの物体がいずれのクラス群に該当するかを示す情報であり、(iii)プロポーザルレイヤ(proposal layer)をもって、前記ROIリグレッション情報及び前記マッチング情報を参照して前記ROI候補のうち実際に物体を含む領域であるROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対して前記ROIプロポーザルそれぞれを出力させる段階;
(b)前記学習装置が、前記マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記特定の特徴マップ上で前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力させる段階:及び
(c)前記学習装置が、前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記マッチング情報それぞれに対する前記物体クラス情報と、前記マッチング情報それぞれに対する前記物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習させる段階;
を含むことを特徴とする学習方法。
【請求項2】
前記学習装置は、前記RPNに対応する第2ロスレイヤをもって、前記ROIリグレッション情報と、前記マッチング情報と、少なくとも一つの第2原本正解とを参照して取得した少なくとも一つの第2ロスをバックプロパゲーションして、前記RPNのパラメータを学習させることを特徴とする請求項1に記載の学習方法。
【請求項3】
前記トレーニングイメージ上に前記マッチング情報のうち第1マッチング情報に対応する第1物体と第2マッチング情報に対応する第2物体とが含まれているものと判断される場合、
前記(a)段階で、
前記学習装置は、前記プロポーザル選択レイヤをもって、前記第1マッチング情報に対応する第1ROIプロポーザルと第2マッチング情報に対応する第2ROIプロポーザルとを出力するようにし、
前記(b)段階で、
前記学習装置は、(i)前記第1マッチング情報に対応する第1プーリングレイヤをもって、前記特定の特徴マップ上で前記第1ROIプロポーザルに対応する領域をプーリングして第1特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1特徴ベクトルを利用して前記第1物体の第1物体クラス情報及び第1物体リグレッション情報を出力するようにし、(ii)前記第2マッチング情報に対応する第2プーリングレイヤをもって、前記特徴マップ上で前記第2ROIプロポーザルに対応する領域をプーリングして第2特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2特徴ベクトルを利用して前記第2物体の第2物体クラス情報及び第2物体リグレッション情報を出力するようにし、
前記(c)段階で、
前記学習装置は、(i)前記第1ロスレイヤのうち前記第1FCレイヤに対応する第1−1ロスレイヤをもって、前記第1物体クラス情報と、前記第1物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−1原本正解とを参照して、少なくとも一つの第1物体クラスロス及び少なくとも一つの第1物体リグレッションロスを計算するようにし、前記第1物体クラスロス及び前記第1物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ及び前記コンボリューションレイヤのパラメータを学習し、(ii)前記第1ロスレイヤのうち前記第2FCレイヤに対応する第1−2ロスレイヤをもって、前記第2物体クラス情報と、前記第2物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−2原本正解とを参照して、少なくとも一つの第2物体クラスロス及び少なくとも一つの第2物体リグレッションロスを計算するようにし、前記第2物体クラスロス及び前記第2物体リグレッションロスをバックプロパゲーションすることにより、前記第2FCレイヤ及び前記コンボリューションレイヤのパラメータを学習することを特徴とする請求項1に記載の学習方法。
【請求項4】
前記(a)段階以前において、
前記学習装置は、前記クラス群それぞれに対応するそれぞれの物体が含まれた前記トレーニングイメージをそれぞれのバッチ(batch)データとして取得することを特徴とする請求項1に記載の学習方法。
【請求項5】
前記バッチデータは、前記クラス群それぞれに対応する同一の個数の前記トレーニングイメージを含むことを特徴とする請求項4に記載の学習方法。
【請求項6】
前記バッチデータに登録された前記トレーニングイメージのうち少なくとも一つの特定のトレーニングイメージは、前記クラス群のうち特定のクラス群に属する特定のクラスの物体のみを含むか、又は前記クラス群のうち少なくとも二つ以上のクラス群に属するクラスの物体を含むことを特徴とする請求項4に記載の学習方法。
【請求項7】
前記(a)段階で、
前記学習装置は、前記RPNをもって、前記バッチデータに登録されたすべてのトレーニングイメージに対する前記RPNのパラメータを学習させることを特徴とする請求項4に記載の学習方法。
【請求項8】
前記少なくとも一つの第2原本正解は、前記それぞれのバッチデータに登録された前記トレーニングイメージそれぞれに対して、各クラス群に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第2ポジティブ原本正解と、前記各クラス群に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第2ネガティブ原本正解とを含むことを特徴とする請求項7に記載の学習方法。
【請求項9】
前記(c)段階で、
前記学習装置は、前記それぞれの第1ロスレイヤをもって、前記バッチデータに登録されたそれぞれのトレーニングイメージに対して、前記マッチング情報に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第1ポジティブ原本正解と、前記マッチング情報に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第1ネガティブ原本正解とを利用して前記物体クラスロス及び前記物体リグレッションロスを計算させることを特徴とする請求項4に記載の学習方法。
【請求項10】
前記学習装置は、前記プロポーザル選択レイヤをもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する前記それぞれの第1原本正解を取得して、前記取得されたそれぞれの第1原本正解を前記マッチング情報それぞれに対応するそれぞれの第1ロスレイヤに入力させることを特徴とする請求項1に記載の学習方法。
【請求項11】
R−CNN(Region−Convolutional Neural Network)基盤の物体検出器をテストする方法において、
(a)学習装置が、(i)少なくとも一つのトレーニングイメージが入力されると、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもって、トレーニング用ROI(Region Of Interest)リグレッション情報及びトレーニング用マッチング情報を出力させ、前記トレーニング用ROIリグレッション情報は、前記トレーニング用特徴マップのうち特定のトレーニング用特徴マップ上にある少なくとも一つのトレーニング用物体を含むものと予測された候補領域それぞれに対応するトレーニング用ROI候補それぞれに対するリグレッション情報を含み、該トレーニング用ROIリグレッション情報はトレーニング用ROI候補それぞれの前記トレーニング用特徴マップ上における位置情報であり、前記トレーニング用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む、少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのトレーニング用ROI候補に含まれた前記少なくとも一つのトレーニング用物体に関する情報を参照して決定され、該トレーニング用マッチング情報はそれぞれのトレーニング用ROI候補に含まれるそれぞれの物体がいずれのクラス群に該当するかを示す情報であり、(iii)プロポーザルレイヤ(proposal layer)をもって、前記トレーニング用ROIリグレッション情報及び前記トレーニング用マッチング情報を参照して前記トレーニング用ROI候補のうち実際にトレーニング用物体を含む領域であるROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのトレーニング用ROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記トレーニング用マッチング情報それぞれに対して前記トレーニング用ROIプロポーザルそれぞれを出力させ、(v)前記トレーニング用マッチング情報それぞれに対応するそれぞれのプーリングレイヤをもって、前記トレーニング用特定の特徴マップ上で前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのトレーニング用特徴ベクトルを算出させ、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤをもって、前記トレーニング用特徴ベクトルそれぞれを参照して前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応するトレーニング用物体リグレッション情報及びトレーニング用物体クラス情報を出力するようにし、(vi)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体クラス情報と前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習した状態で、少なくとも一つのテストイメージが入力されると、テスト装置が、前記コンボリューションレイヤをもって前記テストイメージにコンボリューション演算を適用して少なくとも一つのテスト用特徴マップを生成させる段階;
(b)前記テスト装置が、(i)前記RPNをもって、テスト用ROIリグレッション情報及びテスト用マッチング情報を出力するようにし、前記テスト用ROIリグレッション情報は、前記テスト用特徴マップのうち特定の特徴マップ上にある少なくとも一つのテスト用物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するテスト用リグレッション情報を含み、前記テスト用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つのテスト用物体に関する情報を参照して決定され、(ii)プロポーザルレイヤをもって、前記テスト用ROIリグレッション情報及び前記テスト用マッチング情報を参照して前記ROI候補のうちROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのテスト用ROIプロポーザルとして出力させる段階;及び
(c)前記テスト装置が、前記テスト用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記テスト用特定の特徴マップ上で前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのテスト用特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記テスト用の特徴ベクトルそれぞれを参照して前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力させる段階;
を含むことを特徴とするテスト方法。
【請求項12】
前記(a)段階において、
前記学習装置にしたがって、第2ロスレイヤによって計算された少なくとも一つ以上の第2ロス(前記第2ロスは前記トレーニング用ROIリグレッション情報、前記トレーニング用マッチング情報、及び少なくとも一つの第2原本正解を参照して取得される)をバックプロパゲーションして、前記RPNのパラメータを学習した状態であることを特徴とする請求項11に記載のテスト方法。
【請求項13】
前記テストイメージ上に前記テスト用マッチング情報のうち第1テストマッチング情報に対応する第1テスト用物体と、第2テストマッチング情報に対応する第2テスト用物体とが含まれているものと判断される場合、
前記(b)段階において、
前記テスト装置は、前記プロポーザル選択レイヤをもって、前記第1テスト用マッチング情報に対応する第1テスト用ROIプロポーザルと第2テスト用マッチング情報に対応する第2テスト用ROIプロポーザルとを出力するようにし、
前記(c)段階で、
前記テスト装置は、(i)前記第1テスト用マッチング情報に対応する第1プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第1テスト用ROIプロポーザルに対応する領域をプーリングして第1テスト用特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1テスト用特徴ベクトルを利用して前記第1テスト用物体の第1テスト用物体クラス情報及び第1テスト用物体リグレッション情報を出力するようにし、(ii)前記第2テスト用マッチング情報に対応する第2プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第2テスト用ROIプロポーザルに対応する領域をプーリングして第2テスト用特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2テスト用特徴ベクトルを利用して前記第2テスト用物体の第2テスト用物体クラス情報及び第2テスト用物体リグレッション情報を出力させることを特徴とする請求項11に記載のテスト方法。
【請求項14】
(d)前記テスト装置は、出力レイヤをもって、前記プロポーザルレイヤから出力された前記テスト用マッチング情報それぞれのテスト用ROIプロポーザルと、それぞれのFCレイヤから出力された前記テスト用物体クラス情報と、前記テスト用物体リグレッション情報とを参照して、前記テストイメージ上に前記テスト用前記物体と対応する物体情報を表示することをさらに含むことを特徴とする請求項11に記載のテスト方法。
【請求項15】
R−CNN(Region−Convolutional Neural Network)基盤の物体検出器のパラメータを学習する学習装置において、
少なくとも一つのトレーニングイメージを受信する通信部;及び
(I)少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して、少なくとも一つの特徴マップを生成するプロセス、(II)RPN(Region Proposal Network)をもって、ROI(Region Of Interest)リグレッション情報及びマッチング情報を出力させ、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、該ROIリグレッション情報はROI候補それぞれの前記特徴マップ上における位置情報であり、前記マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定され、該マッチング情報はそれぞれのROI候補に含まれるそれぞれの物体がいずれのクラス群に該当するかを示す情報であるプロセス、(III)プロポーザルレイヤ(proposal layer)をもって、前記ROIリグレッション情報及び前記マッチング情報を参照して前記ROI候補のうち実際に物体を含む領域であるROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのROIプロポーザルとして出力するプロセス、(IV)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対して前記ROIプロポーザルそれぞれを出力するプロセス、(V)前記マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記特定の特徴マップ上で前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力するプロセス、(VI)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記マッチング情報それぞれに対する前記物体クラス情報と、前記マッチング情報それぞれに対する前記物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習するプロセスを遂行するプロセッサ;
を含むことを特徴とする学習装置。
【請求項16】
前記プロセッサは、前記RPNに対応する第2ロスレイヤをもって、前記ROIリグレッション情報と、前記マッチング情報と、少なくとも一つの第2原本正解とを参照して取得した少なくとも一つの第2ロスをバックプロパゲーションして、前記RPNのパラメータを学習させることを特徴とする請求項15に記載の学習装置。
【請求項17】
前記トレーニングイメージ上に前記マッチング情報のうち第1マッチング情報に対応する第1物体と第2マッチング情報に対応する第2物体とが含まれているものと判断される場合、
前記プロセッサは、
前記(IV)プロセスにおいて、前記プロポーザル選択レイヤをもって、前記第1マッチング情報に対応する第1ROIプロポーザルと第2マッチング情報に対応する第2ROIプロポーザルとを出力するようにし、
前記(V)プロセスで、(i)前記第1マッチング情報に対応する第1プーリングレイヤをもって、前記特定の特徴マップ上で前記第1ROIプロポーザルに対応する領域をプーリングして第1特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1特徴ベクトルを利用して前記第1物体の第1物体クラス情報及び第1物体リグレッション情報を出力するようにし、(ii)前記第2マッチング情報に対応する第2プーリングレイヤをもって、前記特徴マップ上で前記第2ROIプロポーザルに対応する領域をプーリングして第2特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2特徴ベクトルを利用して前記第2物体の第2物体クラス情報及び第2物体リグレッション情報を出力するようにし、
前記(VI)プロセスで、(i)前記第1ロスレイヤのうち前記第1FCレイヤに対応する第1−1ロスレイヤをもって、前記第1物体クラス情報と、前記第1物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−1原本正解とを参照して少なくとも一つの第1物体クラスロス及び少なくとも一つの第1物体リグレッションロスを計算するようにし、前記第1物体クラスロス及び前記第1物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ及び前記コンボリューションレイヤのパラメータを学習し、(ii)前記第1ロスレイヤのうち前記第2FCレイヤに対応する第1−2ロスレイヤをもって、前記第2物体クラス情報と、前記第2物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−2原本正解とを参照して、少なくとも一つの第2物体クラスロス及び少なくとも一つの第2物体リグレッションロスを計算するようにし、前記第2物体クラスロス及び前記第2物体リグレッションロスをバックプロパゲーションすることにより、前記第2FCレイヤ及び前記コンボリューションレイヤのパラメータを学習することを特徴とする請求項15に記載の学習装置。
【請求項18】
前記通信部は、
前記クラス群それぞれに対応するそれぞれの物体が含まれた前記トレーニングイメージをそれぞれのバッチ(batch)データとして取得することを特徴とする請求項15に記載の学習装置。
【請求項19】
前記バッチデータは、前記クラス群それぞれに対応する同一の個数の前記トレーニングイメージを含むことを特徴とする請求項18に記載の学習装置。
【請求項20】
前記バッチデータに登録された前記トレーニングイメージのうち少なくとも一つの特定のトレーニングイメージは、前記クラス群のうち特定のクラス群に属する特定のクラスの物体のみを含むか、又は前記クラス群のうち少なくとも二つ以上のクラス群に属するクラスの物体を含むことを特徴とする請求項18に記載の学習装置。
【請求項21】
前記プロセッサは、
前記(II)プロセスにおいて、前記RPNをもって、前記バッチデータに登録されたすべてのトレーニングイメージに対する前記RPNのパラメータを学習させることを特徴とする請求項18に記載の学習装置。
【請求項22】
前記少なくとも一つの第2原本正解は、前記それぞれのバッチデータに登録された前記トレーニングイメージそれぞれに対して、各クラス群に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第2ポジティブ原本正解と、前記各クラス群に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第2ネガティブ原本正解とを含むことを特徴とする請求項21に記載の学習装置。
【請求項23】
前記プロセッサは、
前記(VI)プロセスで、
前記それぞれの第1ロスレイヤをもって、前記バッチデータに登録されたそれぞれのトレーニングイメージに対して、前記マッチング情報に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第1ポジティブ原本正解と、前記マッチング情報に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第1ネガティブ原本正解とを利用して、前記物体クラスロス及び前記物体リグレッションロスを計算させることを特徴とする請求項18に記載の学習装置。
【請求項24】
前記プロセッサは、前記プロポーザル選択レイヤをもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する前記それぞれの第1原本正解を取得して、前記取得したそれぞれの第1原本正解を前記マッチング情報それぞれに対応するそれぞれの第1ロスレイヤに入力させることを特徴とする請求項15に記載の学習装置。
【請求項25】
R−CNN(Region−Convolutional Neural Network)基盤の物体検出器をテストする装置において、
学習装置が、(i)少なくとも一つのトレーニングイメージが入力されると、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して、少なくとも一つのトレーニング用特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもって、トレーニング用ROI(Region Of Interest)リグレッション情報及びトレーニング用マッチング情報を出力させ、前記トレーニング用ROIリグレッション情報は、前記トレーニング用特徴マップのうちトレーニング用特定の特徴マップ上にある少なくとも一つのトレーニング用物体を含むものと予測された候補領域それぞれに対応するトレーニング用ROI候補それぞれに対するリグレッション情報を含み、該トレーニング用ROIリグレッション情報はトレーニング用ROI候補それぞれの前記トレーニング用特徴マップ上における位置情報であり、前記トレーニング用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのトレーニング用ROI候補に含まれた前記少なくとも一つのトレーニング用物体に関する情報を参照して決定され、該トレーニング用マッチング情報はそれぞれのトレーニング用ROI候補に含まれるそれぞれの物体がいずれのクラス群に該当するかを示す情報であり、(iii)プロポーザルレイヤ(proposal layer)をもって、前記トレーニング用ROIリグレッション情報及び前記トレーニング用マッチング情報を参照して前記トレーニング用ROI候補のうち実際にトレーニング用物体を含む領域であるROIになる確率が高い、少なくとも一つの特定のトレーニング用ROI候補を少なくとも一つのトレーニング用ROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記トレーニング用マッチング情報それぞれに対して前記トレーニング用ROIプロポーザルそれぞれを出力させ、(v)前記トレーニング用マッチング情報それぞれに対応するそれぞれのプーリングレイヤをもって、前記トレーニング用特定の特徴マップ上で前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する領域をプーリングして、それぞれのトレーニング用特徴ベクトルを算出させ、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤをもって、前記トレーニング用特徴ベクトルそれぞれを参照して前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する物体リグレッション情報及びトレーニング用物体クラス情報を出力させ、(vi)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体クラス情報と、前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習した状態で少なくとも一つのテストイメージを取得する通信部;及び
(I)前記コンボリューションレイヤをもって、前記テストイメージにコンボリューション演算を適用して少なくとも一つのテスト用特徴マップを生成するプロセス、(II)(i)前記RPNに対して、テスト用ROIリグレッション情報及びテスト用マッチング情報を出力するようにし、前記テスト用ROIリグレッション情報は前記テスト用特徴マップのうち特定の特徴マップ上にある、少なくとも一つのテスト用物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するテスト用リグレッション情報を含み、前記テスト用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つのテスト用物体に関する情報を参照して決定され、(ii)前記プロポーザルレイヤをもって、前記テスト用ROIリグレッション情報及び前記テスト用マッチング情報を参照して前記ROI候補のうちROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのテスト用ROIプロポーザルとして出力するプロセス、(III)前記テスト用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記テスト用特定の特徴マップ上で前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのテスト用特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記テスト用特徴ベクトルそれぞれを参照して前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力するプロセスを遂行するプロセッサ;を含むことを特徴とするテスト装置。
【請求項26】
前記プロセッサは、
前記(I)プロセス以前に、
前記学習装置にしたがって、第2ロスレイヤによって計算された少なくとも一つ以上の第2ロス(前記第2ロスは前記トレーニング用ROIリグレッション情報、前記トレーニング用マッチング情報、及び少なくとも一つの第2原本正解を参照して取得される)をバックプロパゲーションして、前記RPNのパラメータを学習した状態であることを特徴とする請求項25に記載のテスト装置。
【請求項27】
前記テストイメージ上に前記テスト用マッチング情報のうち第1テストマッチング情報に対応する第1テスト用物体と第2テストマッチング情報に対応する第2テスト用物体とが含まれているものと判断される場合、
前記プロセッサは、
前記(II)プロセスにおいて、前記プロポーザル選択レイヤをもって、前記第1テスト用マッチング情報に対応する第1テスト用ROIプロポーザルと第2テスト用マッチング情報に対応する第2テスト用ROIプロポーザルとを出力するようにし、
前記(III)プロセスで、(i)前記第1テスト用マッチング情報に対応する第1プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第1テスト用ROIプロポーザルに対応する領域をプーリングして第1テスト用特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1テスト用特徴ベクトルを利用して前記第1テスト用物体の第1テスト用物体クラス情報及び第1テスト用物体リグレッション情報を出力するようにし、(ii)前記第2テスト用マッチング情報に対応する第2プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第2テスト用ROIプロポーザルに対応する領域をプーリングして第2テスト用特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2テスト用特徴ベクトルを利用して前記第2テスト用物体の第2テスト用物体クラス情報及び第2テスト用物体リグレッション情報を出力させることを特徴とする請求項25に記載のテスト装置。
【請求項28】
前記プロセッサは、
出力レイヤをもって、前記プロポーザルレイヤから出力された前記テスト用マッチング情報それぞれのテスト用ROIプロポーザルと、それぞれのFCレイヤから出力された前記テスト用物体クラス情報と、前記テスト用物体リグレッション情報とを参照して、前記テストイメージ上に前記テスト用前記物体と対応する物体情報を表示することをさらに含むことを特徴とする請求項25に記載のテスト装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、R−CNN(Region−Convolutional Neural Network)基盤の物体検出器の学習方法とテスト方法、及びそれを利用した学習装置とテスト装置に関し、より詳細には、(a)少なくとも一つのトレーニングイメージが入力されると、学習装置が、(i)少なくとも一つのコンボリューションレイヤ(convolutionalayer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つの特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもってROI(Region Of Interest)リグレッション情報及びマッチング情報を出力させ、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、前記マッチング情報は少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定され、(iii)プロポーザルレイヤ(proposal layer)をもって、前記ROIリグレッション情報及び前記マッチング情報を参照して前記ROI候補のうちROIになる確率が高い少なくとも一つの特定のROI候補を少なくとも一つのROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対して前記ROIプロポーザルそれぞれを出力させる段階;(b)前記学習装置が、(i)前記マッチング情報それぞれに対応するそれぞれのプーリングレイヤをもって、前記特定の特徴マップ上で前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出させ、(ii)前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力させる段階;及び(c)前記学習装置が、前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、(i)前記FCレイヤそれぞれの前記マッチング情報それぞれに対する前記物体クラス情報と、前記マッチング情報それぞれに対する前記物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、(ii)前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、(iii)前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習させる段階;を含むことを特徴とする学習方法とテスト方法、及びそれを利用した学習装置とテスト装置に関する。
【背景技術】
【0002】
ディープラーニングは、事物やデータを群集化したり分類するのに使用する技術である。例えば、コンピュータは写真だけで犬と猫を区分することができない。しかし、人はとても容易に区分することができる。このため、「機械学習(Machine Learning)」という方法が考案された。これは多くのデータをコンピュータに入力し、類似したもの同士分類するようにする技術である。格納された犬の写真と類似した写真が入力されると、これを犬の写真であると分類するのである。
【0003】
データをどのように分類するかをめぐり、すでに多くの機械学習アルゴリズムが登場した。「意思決定木」や「ベイジアンネットワーク」、「サポートベクターマシン(SVM)」、「人工神経網」などが代表的である。このうち、ディープラーニングは人工神経網の後裔である。
【0004】
ディープコンボリューションニューラルネットワーク(Deep Convolution Neural Networks;Deep CNNs)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNsは、文字の認識問題を解決するために90年代にすでに使用されていたが、現在のように広く使われるようになったのは最近の研究結果の賜物である。このようなディープCNNは、2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そして、コンボリューションニューラルネットワークは機械学習(Machine Learning)分野で非常に有用なツールとなった。
【0005】
特に、最近では、イメージ内に位置する物体を検出するためにR−CNN(Region−Convolutional Neural Network)基盤の物体検出器が数多く用いられている。
【0006】
このようなR−CNN基盤の物体検出器はロス値を参照してバックプロパゲーションを利用して学習が行われるようになり、学習された結果に応じてその性能が決定される。
【0007】
しかし、前記物体検出器を利用して検出しようとするすべての物体が含まれたデータセット(data set)を求めることは容易ではない。
【0008】
一例として、自動車の走行道路のイメージにおいて歩行者、運転者、車両、交通標識、交通信号及び動物のような6種類の物体を検出するための物体検出器を開発しようとする場合、前記6種類の物体すべてが含まれたトレーニングイメージでデータセットを構成することは容易ではない。
【0009】
したがって、従来のR−CNN基盤の物体検出器は、検出しようとする各物体が分類されたそれぞれのクラス群に対するそれぞれのデータセットが提供されると、前記それぞれのデータセットごとにR−CNNネットワークをそれぞれ生成し、R−CNNネットワークのパラメータを学習した。ここで、前記従来の物体検出器は、それぞれ学習されたR−CNNネットワークを含むようになる。
【0010】
つまり、
図1を参照すると、歩行者、運転者、車両、交通標識、交通信号及び動物のような6種類の物体を検出しようとする場合、(a)のように、少なくとも一つの歩行者、運転者及び車両に対するデータセットが構成されてR−CNN1のパラメータを学習するのに使用され、(b)のように、少なくとも一つの交通標識及び交通信号に対する各データセットが構成されてR−CNN2のパラメータを学習するのに使用され、(c)のように、少なくとも一つの動物に対するデータセットが構成されてR−CNN3のパラメータを学習するのに使用される。
【0011】
以後、それぞれ学習された前記R−CNN1、前記R−CNN2、及び前記R−CNN3を含むように前記R−CNN基盤の前記物体検出器を構成する。
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、こうした従来の前記R−CNN基盤の前記物体検出器は、学習用データセットの個数に対応する互いに異なる多数のディ―プラーニングネットワークを含むものであって、実際のテストを進める場合、前記従来の物体検出器は1つのディープラーニングネットワークのみを含む検出器と比較すると、含まれたディープラーニングネットワークの個数に比例して実行時間が増加する問題点がある。
【0013】
本発明は、上述した問題点を全て解決することを目的とする。
【0014】
本発明は、複数の互いに異なるデータセット(data set)が一つのディープラーニングネットワークのパラメータを学習することができるようにすることを他の目的とする。
【0015】
本発明は、複数の互いに異なるデータセットを利用して学習したR−CNN基盤の物体検出器の実行時間を短縮することができるようにすることをまた他の目的とする。
【0016】
本発明は、複数の互いに異なるデータセットを利用して学習した前記ディープラーニングネットワークを利用した前記R−CNN基盤の前記物体検出器を提供することをまた他の目的とする。
【課題を解決するための手段】
【0017】
本発明の一態様によると、R−CNN(Region−Convolutional Neural Network)基盤の物体検出器のパラメータを学習する方法において、(a)少なくとも一つのトレーニングイメージが入力されると、学習装置が、(i)少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つの特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもって、ROI(Region Of Interest)リグレッション情報及びマッチング情報を出力するようにし、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、前記マッチング情報は少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスはそれぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定され、(iii)プロポーザルレイヤ(proposal layer)をもって、前記ROIリグレッション情報及び前記マッチング情報を参照して前記ROI候補のうちROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対して前記ROIプロポーザルそれぞれを出力させる段階;(b)前記学習装置が、(i)前記マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記特定の特徴マップ上で前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出させ、(ii)前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力させる段階;及び(c)前記学習装置が、前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、(i)前記FCレイヤそれぞれの前記マッチング情報それぞれに対する前記物体クラス情報と、前記マッチング情報それぞれに対する前記物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、(ii)前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、(iii)前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習する段階;を含むことを特徴とする学習方法が提供される。
【0018】
一実施例で、前記学習装置は、前記RPNに対応する第2ロスレイヤをもって、前記ROIリグレッション情報と、前記マッチング情報と、少なくとも一つの第2原本正解とを参照して取得した少なくとも一つの第2ロスをバックプロパゲーションして前記RPNのパラメータを学習させることを特徴とする学習方法が提供される。
【0019】
一実施例で、前記トレーニングイメージ上に前記マッチング情報のうち第1マッチング情報に対応する第1物体と第2マッチング情報に対応する第2物体とが含まれているものと判断される場合、前記(a)段階において、前記学習装置は、前記プロポーザル選択レイヤをもって、前記第1マッチング情報に対応する第1ROIプロポーザルと第2マッチング情報に対応する第2ROIプロポーザルとを出力するようにし、前記(b)段階において、前記学習装置は、(i)前記第1マッチング情報に対応する第1プーリングレイヤをもって、前記特定の特徴マップ上で前記第1ROIプロポーザルに対応する領域をプーリングして第1特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1特徴ベクトルを利用して前記第1物体の第1物体クラス情報及び第1物体リグレッション情報を出力するようにし、(ii)前記第2マッチング情報に対応する第2プーリングレイヤをもって、前記特徴マップ上で前記第2ROIプロポーザルに対応する領域をプーリングして第2特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2特徴ベクトルを利用して前記第2物体の第2物体クラス情報及び第2物体リグレッション情報を出力するようにし、前記(c)段階において、前記学習装置は、(i)前記第1ロスレイヤのうち前記第1FCレイヤに対応する第1−1ロスレイヤをもって、前記第1物体クラス情報と、前記第1物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−1原本正解とを参照して、少なくとも一つの第1物体クラスロス及び少なくとも一つの第1物体リグレッションロスを計算するようにし、前記第1物体クラスロス及び前記第1物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ及び前記コンボリューションレイヤのパラメータを学習し、(ii)前記第1ロスレイヤのうち前記第2FCレイヤに対応する第1−2ロスレイヤをもって、前記第2物体クラス情報と、前記第2物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−2原本正解とを参照して、少なくとも一つの第2物体クラスロス及び少なくとも一つの第2物体リグレッションロスを計算するようにし、前記第2物体クラスロス及び前記第2物体リグレッションロスをバックプロパゲーションすることにより、前記第2FCレイヤ及び前記コンボリューションレイヤのパラメータを学習することを特徴とする学習方法が提供される。
【0020】
一実施例において、前記(a)段階以前で、前記学習装置は、前記クラス群それぞれに対応するそれぞれの物体が含まれた前記トレーニングイメージをそれぞれのバッチ(batch)データとして取得することを特徴とする学習方法が提供される。
【0021】
一実施例において、前記バッチデータは前記クラス群それぞれに対応する同一の個数の前記トレーニングイメージを含むことを特徴とする学習方法が提供される。
【0022】
一実施例において、前記バッチデータに登録された前記トレーニングイメージのうち少なくとも一つの特定のトレーニングイメージは、前記クラス群のうち特定のクラス群に属する特定のクラスの物体のみを含むか、又はクラス群のうち少なくとも二つ以上のクラス群に属するクラスの物体を含むことを特徴とする学習方法が提供される。
【0023】
一実施例において、前記(a)段階で、前記学習装置は、前記RPNをもって前記バッチデータに登録されたすべてのトレーニングイメージに対する前記RPNのパラメータを学習させることを特徴とする学習方法が提供される。
【0024】
一実施例で、前記少なくとも一つの第2原本正解は、前記それぞれのバッチデータに登録された前記トレーニングイメージそれぞれに対して、各クラス群に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第2ポジティブ原本正解と、前記各クラス群に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第2ネガティブ原本正解とを含むことを特徴とする学習方法が提供される。
【0025】
一実施例で、前記(c)段階において、前記学習装置は、前記それぞれの第1ロスレイヤをもって、前記バッチデータに登録されたそれぞれのトレーニングイメージに対して、前記マッチング情報に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第1ポジティブ原本正解と、前記マッチング情報に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第1ネガティブ原本正解とを利用して、前記物体クラスロス及び前記物体リグレッションロスを計算させることを特徴とする学習方法が提供される。
【0026】
一実施例で、前記学習装置は、前記プロポーザル選択レイヤをもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する前記それぞれの第1原本正解を取得して、前記取得されたそれぞれの第1原本正解を前記マッチング情報それぞれに対応するそれぞれの第1ロスレイヤに入力させることを特徴とする学習方法が提供される。
【0027】
本発明の他の態様によると、R−CNN(Region−Convolutional Neural Network)基盤の物体検出器をテストする方法において、(a)学習装置によって、(i)少なくとも一つのトレーニングイメージが入力されると、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもって、トレーニング用ROI(Region Of Interest)リグレッション情報及びトレーニング用マッチング情報を出力するようにし、前記トレーニング用ROIリグレッション情報は、前記トレーニング用特徴マップのうちトレーニング用特定の特徴マップ上にある少なくとも一つのトレーニング用物体を含むものと予測された候補領域それぞれに対応するトレーニング用ROI候補それぞれに対するリグレッション情報を含み、前記トレーニング用マッチング情報は少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのトレーニング用ROI候補に含まれた前記少なくとも一つのトレーニング用物体に関する情報を参照して決定され、(iii)プロポーザルレイヤ(proposal layer)をもって、前記トレーニング用ROIリグレッション情報及び前記トレーニング用マッチング情報を参照して、前記トレーニング用ROI候補のうちROIとなる確率の高い、少なくとも一つの特定トレーニング用ROI候補を少なくとも一つのトレーニング用ROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記トレーニング用マッチング情報それぞれに対して前記トレーニング用ROIプロポーザルそれぞれを出力させ、(v)前記トレーニング用マッチング情報それぞれに対応するそれぞれのプーリングレイヤをもって、前記トレーニング用特定の特徴マップ上で前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのトレーニング用特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤをもって、前記トレーニング用特徴ベクトルそれぞれを参照して前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応するトレーニング用物体リグレッション情報及びトレーニング用物体クラス情報を出力するようにし、(vi)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体クラス情報と、前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習した状態で、少なくとも一つのテストイメージが入力されると、テスト装置が前記コンボリューションレイヤをもって、前記テストイメージにコンボリューション演算を適用して少なくとも一つのテスト用特徴マップを生成させる段階;(b)前記テスト装置が、(i)前記RPNをもって、テスト用ROIリグレッション情報及びテスト用マッチング情報を出力するようにし、前記テスト用ROIリグレッション情報は前記テスト用特徴マップのうち特定の特徴マップ上にある少なくとも一つのテスト用物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するテスト用リグレッション情報を含み、前記テスト用マッチング情報は少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスはそれぞれのROI候補に含まれた前記少なくとも一つのテスト用物体に関する情報を参照して決定され、(ii)前記プロポーザルレイヤをもって、前記テスト用ROIリグレッション情報及び前記テスト用マッチング情報を参照して、前記ROI候補のうちROIとなる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのテスト用ROIプロポーザルとして出力させる段階;及び(c)前記テスト装置が、前記テスト用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記テスト用特定の特徴マップ上で前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのテスト用特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記テスト用特徴ベクトルそれぞれを参照して前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力させる段階;を含むことを特徴とするテスト方法が提供される。
【0028】
一実施例で、前記(a)段階において、前記学習装置に従って第2ロスレイヤによって計算された少なくとも一つ以上の第2ロス(前記第2ロスは前記トレーニング用ROIリグレッション情報、前記トレーニング用マッチング情報、及び少なくとも一つの第2原本正解を参照して取得される)をバックプロパゲーションして、前記RPNのパラメータを学習した状態であることを特徴とするテスト方法が提供される。
【0029】
一実施例で、前記テストイメージ上に前記テスト用マッチング情報のうち第1テストマッチング情報に対応する第1テスト用物体と、第2テストマッチング情報に対応する第2テスト用物体とが含まれているものと判断される場合、前記(b)段階において、前記テスト装置は、前記プロポーザル選択レイヤをもって、前記第1テスト用マッチング情報に対応する第1テスト用ROIプロポーザルと第2テスト用マッチング情報に対応する第2テスト用ROIプロポーザルとを出力するようにし、前記(c)段階において、前記テスト装置は、(i)前記第1テスト用マッチング情報に対応する第1プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第1テスト用ROIプロポーザルに対応する領域をプーリングして第1テスト用特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1テスト用特徴ベクトルを利用して前記第1テスト用物体の第1テスト用物体クラス情報及び第1テスト用物体リグレッション情報を出力するようにし、(ii)前記第2テスト用マッチング情報に対応する第2プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第2テスト用ROIプロポーザルに対応する領域をプーリングして第2テスト用特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2テスト用特徴ベクトルを利用して前記第2テスト用物体の第2テスト用物体クラス情報及び第2テスト用物体リグレッション情報を出力させることを特徴とするテスト方法が提供される。
【0030】
一実施例において、(d)前記テスト装置は、出力レイヤをもって前記プロポーザルレイヤから出力された前記テスト用マッチング情報それぞれのテスト用ROIプロポーザルと、それぞれのFCレイヤから出力された前記テスト用物体クラス情報と、前記テスト用物体リグレッション情報とを参照して、前記テストイメージ上に前記テスト用前記物体と対応する物体情報を表示することをさらに含むことを特徴とするテスト方法が提供される。
【0031】
本発明のさらに他の態様によると、R−CNN(Region−Convolutional Neural Network)基盤の物体検出器のパラメータを学習する学習装置において、少なくとも一つのトレーニングイメージを受信する通信部;及び(I)少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つの特徴マップを生成するプロセス、(II)RPN(Region Proposal Network)をもって、ROI(Region Of Interest)リグレッション情報及びマッチング情報を出力するようにし、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある、少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、前記マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定されるプロセス、(III)プロポーザルレイヤ(proposal layer)をもって、前記ROIリグレッション情報および前記マッチング情報を参照して前記ROI候補のうちROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのROIプロポーザルとして出力するプロセス、(IV)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対して前記ROIプロポーザルそれぞれを出力するプロセス、(V)前記マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記特定の特徴マップ上で前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力するプロセス、(VI)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記マッチング情報それぞれに対する前記物体クラス情報と、前記マッチング情報それぞれに対する前記物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習するプロセスを遂行するプロセッサ;を含むことを特徴とする学習装置が提供される。
【0032】
一実施例において、前記プロセッサは、前記RPNに対応する第2ロスレイヤをもって、前記ROIリグレッション情報と、前記マッチング情報と、少なくとも一つの第2原本正解とを参照して取得した少なくとも一つの第2ロスをバックプロパゲーションして前記RPNのパラメータを学習させることを特徴とする学習装置が提供される。
【0033】
一実施例で、前記トレーニングイメージ上に前記マッチング情報のうち第1マッチング情報に対応する第1物体と第2マッチング情報に対応する第2物体とが含まれているものと判断される場合、前記プロセッサは、前記(IV)プロセスで、前記プロポーザル選択レイヤをもって、前記第1マッチング情報に対応する第1ROIプロポーザルと第2マッチング情報に対応する第2ROIプロポーザルとを出力するようにし、前記(V)プロセスで、(i)前記第1マッチング情報に対応する第1プーリングレイヤをもって、前記特定の特徴マップ上で前記第1ROIプロポーザルに対応する領域をプーリングして第1特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1特徴ベクトルを利用して前記第1物体の第1物体クラス情報及び第1物体リグレッション情報を出力するようにし、(ii)前記第2マッチング情報に対応する第2プーリングレイヤをもって、前記特徴マップ上で前記第2ROIプロポーザルに対応する領域をプーリングして第2特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2特徴ベクトルを利用して前記第2物体の第2物体クラス情報及び第2物体リグレッション情報を出力するようにし、前記(VI)プロセスで、(i)前記第1ロスレイヤのうち前記第1FCレイヤに対応する第1−1ロスレイヤをもって、前記第1物体クラス情報と、前記第1物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−1原本正解とを参照して、少なくとも一つの第1物体クラスロス及び少なくとも一つの第1物体リグレッションロスを計算するようにし、前記第1物体クラスロス及び前記第1物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ及び前記コンボリューションレイヤのパラメータを学習し、(ii)前記第1ロスレイヤのうち前記第2FCレイヤに対応する第1−2ロスレイヤをもって、前記第2物体クラス情報と、前記第2物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−2原本正解とを参照して、少なくとも一つの第2物体クラスロス及び少なくとも一つの第2物体リグレッションロスを計算するようにし、前記第2物体クラスロス及び前記第2物体リグレッションロスをバックプロパゲーションすることにより、前記第2FCレイヤ及び前記コンボリューションレイヤのパラメータを学習することを特徴とする学習装置が提供される。
【0034】
一実施例において、前記通信部は、前記クラス群それぞれに対応するそれぞれの物体が含まれた前記トレーニングイメージをそれぞれのバッチ(batch)データとして取得することを特徴とする学習装置が提供される。
【0035】
一実施例において、前記バッチデータは前記クラス群それぞれに対応する同一の個数の前記トレーニングイメージを含むことを特徴とする学習装置が提供される。
【0036】
一実施例において、前記バッチデータに登録された前記トレーニングイメージのうち少なくとも一つの特定のトレーニングイメージは、前記クラス群のうち特定のクラス群に属する特定のクラスの物体のみを含むか、又は前記クラス群のうち少なくとも二つ以上のクラス群に属するクラスの物体を含むことを特徴とする学習装置が提供される。
【0037】
一実施例において、前記プロセッサは、前記(II)プロセスにおいて、前記RPNをもって前記バッチデータに登録されたすべてのトレーニングイメージに対する前記RPNのパラメータを学習させることを特徴とする学習装置が提供される。
【0038】
一実施例で、前記少なくとも一つの第2原本正解は前記それぞれのバッチデータに登録された前記トレーニングイメージそれぞれに対して、各クラス群に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第2ポジティブ原本正解と、前記各クラス群に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第2ネガティブ原本正解とを含むことを特徴とする学習装置が提供される。
【0039】
一実施例において、前記プロセッサは、前記(VI)プロセスで、前記それぞれの第1ロスレイヤをもって、前記バッチデータに登録されたそれぞれのトレーニングイメージに対して、前記マッチング情報に対応する物体としてタグ付けされたポジティブサンプルの少なくとも一つの第1ポジティブ原本正解と、前記マッチング情報に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第1ネガティブ原本正解とを利用して、前記物体クラスロス及び前記物体リグレッションロスを計算させることを特徴とする学習装置が提供される。
【0040】
一実施例において、前記プロセッサは、前記プロポーザル選択レイヤをもって、前記トレーニングイメージを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する前記それぞれの第1原本正解を取得して、前記取得されたそれぞれの第1原本正解を前記マッチング情報それぞれに対応するそれぞれの第1ロスレイヤに入力させることを特徴とする学習装置が提供される。
【0041】
本発明のさらに他の態様によると、R−CNN(Region−Convolutional Neural Network)基盤の物体検出器をテストする装置において、学習装置によって、(i)少なくとも一つのトレーニングイメージが入力されると、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを生成させ、(ii)RPN(Region Proposal Network)をもって、トレーニング用ROI(Region Of Interest)リグレッション情報及びトレーニング用マッチング情報を出力させ、前記トレーニング用ROIリグレッション情報は、前記トレーニング用特徴マップのうちトレーニング用特定の特徴マップ上にある少なくとも一つのトレーニング用物体を含むものと予測された候補領域それぞれに対応するトレーニング用ROI候補それぞれに対するリグレッション情報を含み、前記トレーニング用マッチング情報は少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのトレーニング用ROI候補に含まれた前記少なくとも一つのトレーニング用物体に関する情報を参照して決定され、(iii)プロポーザルレイヤ(proposal layer)をもって、前記トレーニング用ROIリグレッション情報及び前記トレーニング用マッチング情報を参照して、前記トレーニング用ROI候補のうちROIとなる確率の高い、少なくとも一つの特定のトレーニング用ROI候補を少なくとも一つのトレーニング用ROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して前記トレーニング用マッチング情報それぞれに対して前記トレーニング用ROIプロポーザルそれぞれを出力させ、(v)前記トレーニング用マッチング情報それぞれに対応するそれぞれのプーリングレイヤをもって、前記トレーニング用特定の特徴マップ上で前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する領域をプーリングして、それぞれのトレーニング用特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤをもって、前記トレーニング用特徴ベクトルそれぞれを参照して前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応するトレーニング用物体リグレッション情報及びトレーニング用物体クラス情報を出力するようにし、(vi)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体クラス情報と前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習した状態で、少なくとも一つのテストイメージを取得する通信部;及び(I)前記コンボリューションレイヤをもって、前記テストイメージにコンボリューション演算を適用して少なくとも一つのテスト用特徴マップを生成するプロセス、(II)(i)前記RPNをもって、テスト用ROIリグレッション情報及びテスト用マッチング情報を出力させ、前記テスト用ROIリグレッション情報は、前記テスト用特徴マップのうち特定の特徴マップ上にある少なくとも一つのテスト用物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するテスト用リグレッション情報を含み、前記テスト用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスはそれぞれのROI候補に含まれた前記少なくとも一つのテスト用物体に関する情報を参照して決定され、(ii)前記プロポーザルレイヤをもって、前記テスト用ROIリグレッション情報及び前記テスト用マッチング情報を参照して前記ROI候補のうちROIとなる確率の高い、少なくとも一つの特定のROI候補を少なくとも一つのテスト用ROIプロポーザルとして出力するプロセス、(III)前記テスト用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記テスト用特定の特徴マップ上で、前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのテスト用特定のベクトルを算出させ、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記テスト用特徴ベクトルそれぞれを参照して前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力するプロセスを遂行するプロセッサ;を含むことを特徴とするテスト装置が提供される。
【0042】
一実施例において、前記プロセッサは、前記(I)プロセス以前に、前記学習装置に従って、第2ロスレイヤによって計算された少なくとも一つ以上の第2ロス(前記第2ロスは前記トレーニング用ROIリグレッション情報、前記トレーニング用マッチング情報、及び少なくとも一つの第2原本正解を参照して取得される)をバックプロパゲーションして、前記RPNのパラメータを学習した状態であることを特徴とするテスト装置が提供される。
【0043】
一実施例で、前記テストイメージ上に前記テスト用マッチング情報のうち第1テストマッチング情報に対応する第1テスト用物体と、第2テストマッチング情報に対応する第2テスト用物体とが含まれているものと判断される場合、前記プロセッサは、前記(II)プロセスにおいて、前記プロポーザル選択レイヤをもって、前記第1テスト用マッチング情報に対応する第1テスト用ROIプロポーザルと第2テスト用マッチング情報に対応する第2テスト用ROIプロポーザルとを出力するようにし、前記(III)プロセスで、(i)前記第1テスト用マッチング情報に対応する第1プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第1テスト用ROIプロポーザルに対応する領域をプーリングして第1テスト用特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1テスト用特徴ベクトルを利用して前記第1テスト用物体の第1テスト用物体クラス情報及び第1テスト用物体リグレッション情報を出力するようにし、(ii)前記第2テスト用マッチング情報に対応する第2プーリングレイヤをもって、前記テスト用特定の特徴マップ上で前記第2テスト用ROIプロポーザルに対応する領域をプーリングして第2テスト用特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2テスト用特徴ベクトルを利用して前記第2テスト用物体の第2テスト用物体クラス情報及び第2テスト用物体リグレッション情報を出力させることを特徴とするテスト装置が提供される。
【0044】
一実施例において、前記プロセッサは、出力レイヤをもって前記プロポーザルレイヤで出力された前記テスト用マッチング情報それぞれのテスト用ROIプロポーザルと、それぞれのFCレイヤから出力された前記テスト用物体クラス情報と、前記テスト用物体リグレッション情報とを参照して、前記テストイメージ上に前記テスト用前記物体と対応する物体情報を表示することをさらに含むことを特徴とするテスト装置が提供される。
【発明の効果】
【0045】
本発明は、互いに異なるデータセットが与えられた状況で、一つのディープラーニングネットワークを利用して学習することができるため、R−CNN基盤の物体検出器の学習のためのデータセットを容易に確保することができる。
【0046】
本発明は、互いに異なるデータセットを利用して学習した一つのR−CNNネットワークを利用することにより、従来多数のR−CNNネットワークを利用することに比べて、物体検出器の実行時間を短縮させることができる。
【0047】
本発明は、互いに異なるデータセットを利用して学習した一つのディープラーニングネットワークを利用したR−CNN基盤の物体検出器を提供するので、物体検出器の開発時間を短縮することができるだけでなく、開発コストを削減することができる。
【図面の簡単な説明】
【0048】
本発明の実施例の説明に利用されるために添付された以下の図面は、本発明の実施例のうち単に一部であるにすぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られ得る。
【
図1】
図1は、従来のR−CNN基盤の物体検出器におけるそれぞれのクラス群を学習する各プロセスを簡略に示した図面である。
【
図2】
図2は、本発明の一実施例によるR−CNN基盤の物体検出器の学習装置を簡略に示した図面である。
【
図3】
図3は、本発明の一実施例によるR−CNN基盤の物体検出器の学習装置によって、それぞれのクラス群を学習するプロセスを簡略に示した図面である。
【
図4】
図4は、本発明の一実施例によるR−CNN基盤の物体検出器の学習方法を簡略に示した図面である。
【
図5】
図5は、本発明の一実施例によるR−CNN基盤の物体検出器のテスト装置を簡略に示した図面である。
【
図6】
図6は、本発明の一実施例によるR−CNN基盤の物体検出器のテスト方法を簡略に示した図面である。
【発明を実施するための形態】
【0049】
後述する本発明に関する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述の詳細な説明は、限定的な意味として受け取ろうとするものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な側面にわたって同一であるか、又は類似の機能を指す。
【0050】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0051】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の各技術的特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本明細書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0052】
以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施するようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することとする。
【0053】
図2は、本発明の一実施例によるR−CNN基盤の物体検出器の学習装置を簡略に示したものであって、
図2を参照すると、前記学習装置100は通信部110とプロセッサ120を含むことができる。
【0054】
先ず、通信部110は、少なくとも一つのトレーニングイメージを受信することができる。
【0055】
この際、前記トレーニングイメージはデータベース130に格納されていてもよく、前記トレーニングイメージ内の物体は、それぞれの物体に対応する少なくとも一つのクラスそれぞれを含む少なくとも一つのクラス群に分類され得、前記それぞれのクラス群に対応する前記物体それぞれが含まれた前記トレーニングイメージは、それぞれのクラス群によるそれぞれのデータセットとして格納され得る。また、前記データベース130には、前記トレーニングイメージそれぞれに対応するそれぞれの物体のクラス情報及び位置情報に対する少なくとも一つの原本正解(Ground Truth)が格納されていてもよい。
【0056】
次に、前記プロセッサ120は、(i)少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つの特徴マップを生成し、(ii)RPN(Region Proposal Network)をもって、ROI(Region Of Interest)リグレッション情報及びマッチング情報を出力するようにし、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、前記マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定され、(iii)プロポーザルレイヤ(proposal layer)をもって、前記ROIリグレッション情報及び前記マッチング情報を参照して前記ROI候補のうちROIとなる確率の高い、少なくとも一つの特定のROI候補を少なくとも一つのROIプロポーザルとして出力し、(iv)プロポーザル選択レイヤ(proposal−selecting layer)をもって、前記トレーニングイメージを参照して、前記マッチング情報それぞれに対して前記ROIプロポーザルそれぞれを出力することができる。そして、前記プロセッサ120は、前記マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記特定の特徴マップ上において、前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出するようにし、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力することができる。以後、前記プロセッサ120は、前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記マッチング情報それぞれに対する前記物体クラス情報と、前記マッチング情報それぞれに対する前記物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習させることができる。
【0057】
この際、前記プロセッサ120は、前記RPNに対応する第2ロスレイヤをもって、前記ROIリグレッション情報と、前記マッチング情報と、少なくとも一つの第2原本正解とを参照して取得した少なくとも一つの第2ロスをバックプロパゲーションして、前記RPNのパラメータを学習させることができる。ここで、第1ロスによるバックプロパゲーションと第2ロスによるバックプロパゲーションの時間的順序には制限がないであろう。
【0058】
このようなプロセスを
図3を参照して説明すると、歩行者、運転者、車両、交通標識、交通信号及び動物のような6種類の物体を検出するための学習が遂行されると、(i)歩行者、運転者及び動物が含まれたトレーニングイメージで構成された歩行者、運転者及び動物に対する少なくとも一つのデータセットが構成され、(ii)交通標識及び交通信号が含まれたトレーニングイメージで構成された交通標識及び交通信号に対する少なくとも一つのデータセットが構成され、(iii)動物が含まれたトレーニングイメージで構成された動物に対する少なくとも一つのデータセットが構成される。以後、それぞれ構成された前記歩行者、運転者及び車両に対するデータセットと、前記交通標識及び交通信号に対するデータセットと、前記動物に対するデータセットとを利用して、前記プロセッサ120は歩行者、運転者、車両、交通標識、交通信号及び動物を検出するための前記R−CNN基盤の前記物体検出器のパラメータを学習するか又は他の装置をもって学習するように支援する。この際、
図3では前記歩行者、運転者及び車両に対するデータセットと、前記交通標識及び交通信号に対するデータセットと、前記動物に対するデータセットとが一つのデータベースに格納されたものと示したが、以下で説明する
図4で示されているように前記それぞれのデータセットがそれぞれのデータベースに別々に格納されてもよい。
【0059】
ここで、本発明の前記学習装置100は、コンピュータ装置であって、プロセッサを搭載して演算能力を備えたデジタル装置であればいくらでも本発明による学習装置100として採択され得る。参考までに、
図2では前記一つの学習装置100のみを示したが、これに限定されず、前記学習装置100は複数の装置で構成されて機能を遂行することもできる。
【0060】
このように構成された本発明の一実施例による前記学習装置を利用して、前記R−CNN基盤の前記物体検出器のパラメータを学習する方法を
図4を参照して説明すると以下のとおりである。
【0061】
まず、バッチデータ134それぞれは、前記クラス群それぞれによって、すなわち、例えば前記クラス群それぞれによる前記データセット131、132、133それぞれを利用して、それぞれのバッチ(batch)データ134を準備する。この際、前記それぞれのバッチデータ134は、前記クラス群それぞれに対応する前記トレーニングイメージを含むことができる。この際、前記それぞれのバッチデータ134は、前記トレーニングイメージの個数が同一になるように含むことができる。また、前記バッチデータ134に含まれた前記トレーニングイメージのうち特定のトレーニングイメージは、前記クラス群のうち特定のクラス群に属する各クラスの少なくとも一つの物体のみを含むか、又は前記クラス群のうち少なくとも二つ以上のクラス群に属する少なくとも二つ以上のクラスの少なくとも一つの物体を含むことができる。この際、前記クラス群による前記それぞれのデータセット131、132、133がそれぞれのデータベースにそれぞれ格納されたものと図示したが、
図3で示されているように、前記それぞれのデータセットが前記一つのデータベース130に格納されてもよい。
【0062】
一例として、前記歩行者、運転者及び車両に対するデータセット131、前記交通標識及び交通信号に対するデータセット132、並びに前記動物に対するデータセット133から、(i)前記歩行者、運転者及び車両に対するデータセット131を利用して第1バッチデータが準備され得、(ii)交通標識及び交通信号に対するデータセット132を利用して第2バッチデータが準備され得、(iii)動物に対するデータセット133を利用して第3バッチデータが準備され得る。
【0063】
次に、前記それぞれのバッチデータ134から前記トレーニングイメージが入力されると、前記学習装置100は、前記コンボリューションレイヤ121をもって、前記トレーニングイメージに前記コンボリューション演算を適用して前記特徴マップを生成することができる。
【0064】
ここで、前記特徴マップは、所定の大きさとチャンネルデプスを有することができる。また、前記コンボリューションレイヤ121は、複数のレイヤで構成され得、前記複数のレイヤそれぞれは、前記トレーニングイメージに順次に前記コンボリューション演算を適用することができる。
【0065】
次に、前記学習装置100は、前記RPN122をもって、ROIリグレッション情報及びマッチング情報を出力させることができる。ここで、前記ROIリグレッション情報は、前記特徴マップのうち特定の特徴マップ上にある少なくとも一つの物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するリグレッション情報を含み、前記マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群のうちから選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのROI候補に含まれた前記少なくとも一つの物体に関する情報を参照して決定することができる。
【0066】
この際、RPN122は、前記特定の特徴マップの背景と物体のみを分類する従来の方法とは異なり、背景と前記クラス群のうち一つに分類する。
【0067】
一例として、RPN122は、それぞれの各ROI候補に歩行者、運転者及び車両クラス群のカテゴリに関するマッチング情報、交通標識及び交通信号クラス群のカテゴリに関するマッチング情報、並びに動物クラス群のカテゴリに関するマッチング情報のうち少なくとも一つのマッチング情報を出力する。
【0068】
そして、学習装置100は、プロポーザルレイヤ123をもって、ROIリグレッション情報及びマッチング情報を参照して、ROI候補のうち確率の高い、すなわち、スコア値の高い特定のROI候補を各ROIプロポーザルに出力するようにし、プロポーザル選択レイヤ124をもって、トレーニングイメージを参照して、マッチング情報それぞれに対してROIプロポーザルそれぞれを出力させる。
【0069】
一例として、プロポーザル選択レイヤ124は、(i)歩行者、運転者及び車両クラス群カテゴリの学習のための歩行者、運転者及び車両クラス群カテゴリのマッチング情報に対応するROIプロポーザル、(ii)交通標識及び交通信号クラス群カテゴリの学習のための交通標識及び交通信号クラス群カテゴリのマッチング情報に対応するROIプロポーザル、及び(iii)動物クラス群カテゴリの学習のための動物クラス群カテゴリのマッチング情報に対応するROIプロポーザルを出力する。
【0070】
次に、学習装置100は、マッチング情報それぞれに対応するそれぞれのプーリングレイヤ125−1、125−2、125−3をもって、前記特定の特徴マップ上で前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれの特徴ベクトルを算出することができる。
【0071】
一例として、学習装置100は(i)プーリングレイヤ125−1をもって、特徴マップ上で歩行者、運転者及び車両クラス群カテゴリのマッチング情報に対応するROIプロポーザルに対応する領域をプーリングして歩行者、運転者及び車両クラス群カテゴリのマッチング情報に対応する特徴ベクトルを生成させ、(ii)プーリングレイヤ125−2をもって、特徴マップ上で交通標識及び交通信号クラス群カテゴリのマッチング情報に対応するROIプロポーザルに対応する領域をプーリングして交通標識及び交通信号クラス群カテゴリのマッチング情報に対応する特徴ベクトルを生成させ、(iii)プーリングレイヤ125−3をもって、特徴マップ上で動物クラス群カテゴリのマッチング情報に対応するROIプロポーザルに対応する領域をプーリングして動物クラス群カテゴリのマッチング情報に対応する特徴ベクトルを生成させる。
【0072】
この際、前記ではマッチング情報に対応するそれぞれのプーリングレイヤ125−1、125−2、125−3をもって、特徴マップ上で当該マッチング情報ごとの各ROIプロポーザルに対応する領域をプーリングしてそれぞれの特徴ベクトルを生成するようにしたが、これとは異なり、一つのプーリングレイヤを利用し、特徴マップ上で当該マッチング情報ごとの各ROIプロポーザルに対応する領域をプーリングしてそれぞれの特徴ベクトルを生成するようにアルゴリズムを具現することもできる。
【0073】
次に、学習装置100は、それぞれのプーリングレイヤ125−1、125−2、125−3に対応するそれぞれのFCレイヤ126−1、126−2、126−3をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報それぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力させる。
【0074】
一例として、学習装置100は(i)プーリングレイヤ125−1に対応するFCレイヤ126−1をもって、プーリングレイヤ125−1で生成された特徴ベクトルを利用して歩行者、運転者及び車両に対する物体リグレッション情報及び物体クラス情報を出力するようにし、(ii)プーリングレイヤ125−2に対応するFCレイヤ126−2をもって、プーリングレイヤ125−2で生成された特徴ベクトルを利用して交通標識及び交通信号に対する物体リグレッション情報及び物体クラス情報を出力するようにし、(iii)プーリングレイヤ125−3に対応するFCレイヤ126−3をもって、プーリングレイヤ125−3で生成された特徴ベクトルを利用して動物に対する物体リグレッション情報及び物体クラス情報を出力させる。
【0075】
このとき、プーリングレイヤそれぞれに対応するFCレイヤそれぞれをもって、前記特徴ベクトルを参照して、それぞれのマッチング情報ごとのROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力させるのとは異なり、一つのFCレイヤを利用し、一つのFCレイヤで前記特徴ベクトルを利用してそれぞれのマッチング情報ごとのROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力するようにソフトウェア的に具現することもできる。
【0076】
次に、学習装置100は、それぞれのFCレイヤ126−1、126−2、126−3に対応するそれぞれの第1ロスレイヤ127−1、127−2、127−3をもって、それぞれのFCレイヤ126−1、126−2、126−3の前記物体クラス情報、前記物体リグレッション情報及びこれに各対応する第1原本正解(Ground Truth)を参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ126−1、126−2、126−3及びコンボリューションレイヤ121のパラメータを学習する。この際、ソフトウェア的に、それぞれのFCレイヤに対応するそれぞれの第1ロスレイヤで具現され得、一つのロスレイヤで具現され得る。
【0077】
一例として、学習装置100は、(i)前記第1ロスレイヤのうち前記FCレイヤ126−1に対応する第1ロスレイヤ127−1をもって、FCレイヤ126−1の前記物体クラス情報、前記物体リグレッション情報及び少なくとも一つの第1原本正解を参照して、少なくとも一つの物体クラスロス及び少なくとも一つの物体リグレッションロスを計算するようにし、前記物体クラスロス及び前記物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ126−1及び前記コンボリューションレイヤ121のパラメータを学習し、(ii)前記第1ロスレイヤのうち前記FCレイヤ126−2に対応する第1ロスレイヤ127−2をもって、FCレイヤ126−2の前記物体クラス情報、前記物体リグレッション情報及び少なくとも一つの第1原本正解を参照して、少なくとも一つの物体クラスロス及び少なくとも一つの物体リグレッションロスを計算するようにし、前記物体クラスロス及び前記物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ126−2及び前記コンボリューションレイヤ121のパラメータを学習し、(iii)前記第1ロスレイヤのうち前記FCレイヤ126−3に対応する第1ロスレイヤ127−3をもって、FCレイヤ126−3の前記物体クラス情報、前記物体リグレッション情報及び少なくとも一つの第1原本正解を参照して、少なくとも一つの物体クラスロス及び少なくとも一つの物体リグレッションロスを計算するようにし、前記物体クラスロス及び前記物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ126−3及び前記コンボリューションレイヤ121のパラメータを学習することができる。
【0078】
この際、学習装置100は、プロポーザル選択レイヤ124をもって、トレーニングイメージを参照して、マッチング情報それぞれのROIプロポーザルそれぞれに対応するそれぞれの第1原本正解を取得して、マッチング情報それぞれに対応する第1ロスレイヤそれぞれに前記第1原本正解それぞれを入力させることができる。一例として、(i)マッチング情報が歩行者、運転者及び車両クラス群に対応することと決定されると、前記歩行者、運転者及び車両クラス群に関するマッチング情報の各ROIプロポーザルに対応する少なくとも一つの第1原本正解は第1ロスレイヤ127−1に入力するようにし、(ii)マッチング情報が交通標識及び交通信号クラス群に対応することと決定されると、交通標識及び交通信号クラス群に対するマッチング情報の各ROIプロポーザルに対応する少なくとも一つの第1原本正解は第1ロスレイヤ127−2に入力するようにし、(iii)マッチング情報が動物クラス群に対応することと決定されると、動物クラス群に対するマッチング情報の各ROIプロポーザルに対応する少なくとも一つの第1原本正解は第1ロスレイヤ127−3に入力させることができる。
【0079】
その後、学習装置100は、RPN122に対応する第2ロスレイヤ(129)をもって、前記ROIリグレッション情報と、前記マッチング情報と、少なくとも一つの第2原本正解とを参照して取得した少なくとも一つの第2ロスをバックプロパゲーションして、前記RPNのパラメータを学習させることができる。
【0080】
この際、学習装置100は、RPN選択レイヤ128をもって、それぞれのバッチデータに登録されたすべてのトレーニングイメージを参照して、すべてのROI候補それぞれに対応する第2原本正解をそれぞれ取得して、第2原本正解それぞれを第2ロスレイヤに入力させることができる。
【0081】
前記のような方法によって学習を進めるのにおいて、トレーニングイメージ上に、マッチング情報のうち第1マッチング情報に対応する第1物体と、マッチング情報のうち第2マッチング情報に対応する第2物体とが含まれている場合を簡略に説明すると、学習装置100が、プロポーザル選択レイヤ124をもって、前記第1マッチング情報に対応する第1ROIプロポーザルと第2マッチング情報に対応する第2ROIプロポーザルとを出力させる。そして、学習装置100は、(i)前記第1マッチング情報に対応する第1プーリングレイヤをもって、前記特定の特徴マップ上で前記第1ROIプロポーザルに対応する領域をプーリングして第1特徴ベクトルを算出するようにし、前記第1プーリングレイヤに対応する第1FCレイヤをもって、前記第1特徴ベクトルを利用して前記第1物体の第1物体クラス情報及び第1物体リグレッション情報を出力するようにし、(ii)前記第2マッチング情報に対応する第2プーリングレイヤをもって、前記特徴マップ上で前記第2ROIプロポーザルに対応する領域をプーリングして第2特徴ベクトルを算出するようにし、前記第2プーリングレイヤに対応する第2FCレイヤをもって、前記第2特徴ベクトルを利用して前記第2物体の第2物体クラス情報及び第2物体リグレッション情報を出力させる。
【0082】
以後、学習装置100は、(i)前記第1ロスレイヤのうち前記第1FCレイヤに対応する第1−1ロスレイヤをもって、前記第1物体クラス情報と、前記第1物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−1原本正解とを参照して、少なくとも一つの第1物体クラスロス及び少なくとも一つの第1物体リグレッションロスを計算するようにし、前記第1物体クラスロス及び前記第1物体リグレッションロスをバックプロパゲーションすることにより、前記第1FCレイヤ及び前記コンボリューションレイヤ121のパラメータを学習し、(ii)前記第1ロスレイヤのうち前記第2FCレイヤに対応する第1−2ロスレイヤをもって、前記第2物体クラス情報と、前記第2物体リグレッション情報と、前記第1原本正解のうち少なくとも一つの第1−2原本正解とを参照して、少なくとも一つの第2物体クラスロス及び少なくとも一つの第2物体リグレッションロスを計算するようにし、前記第2物体クラスロス及び前記第2物体リグレッションロスをバックプロパゲーションすることにより、前記第2FCレイヤ及び前記コンボリューションレイヤ121のパラメータを学習する。
【0083】
この際、それぞれのクラス群に対応するそれぞれのバッチデータ内のトレーニングイメージにおいて、当該クラス群に対応する全ての物体に対しては全てタグ付けされており、クラス群に対応しない物体に対しては部分的にタグ付けされていてもよい。
【0084】
一例として、歩行者、運転者及び車両クラス群に対応するバッチデータの全てのトレーニングイメージに対しては、すべての歩行者、運転者及び車両は漏れなくタグ付けされており、交通標識及び交通信号/動物に対しては、一部のみタグ付けされていてもよい。
【0085】
このような状況で最も問題となる部分は、交通標識及び交通信号/動物クラス群に含まれた物体が一部タグ付けされていなかったという点であり、それによって、歩行者、運転者及び車両クラス群の学習のための背景サンプルを選ぶ際に交通標識及び交通信号/動物クラス群に含まれるもののタグ付けされていない一部の物体が背景サンプルとして誤って選ばれることがある。例えば、歩行者、運転者及び車両クラス群に対するバッチデータでは、交通標識及び交通信号/動物に該当する一部の物体がタグ付けされておらず、学習の際に背景サンプルに含まれて学習の妨げとなり得る。同様に、交通標識及び交通信号クラスに対するバッチデータでは、歩行者、運転者及び車両/動物に該当する一部の物体がタグ付けされないため学習の際に背景と認識される問題が生じる。
【0086】
特に、RPNを学習する際に、背景サンプルが全体イメージ領域でランダムに選ばれるため、タグ付けされていない物体は背景サンプルとして選択される確率が少ないので大きな問題ではないが、FCレイヤを学習する際には、RPNで物体とみられる候補領域を選択し、その候補領域の間で背景を選択するため、もし学習データにタグ付けされていない物体があるとすれば、その領域が背景サンプルとして誤って選択されるため問題が深刻になる。このような問題を防止するために、FCレイヤを学習する際、背景サンプルは関心のあるクラス群に対応するバッチデータでのみ選択するように制限しなければならない。例えば、歩行者、運転者及び車両クラス群に対応するFCレイヤのための背景サンプルは、歩行者、運転者及び車両クラス群に対応するバッチデータでのみ選択するように制限する。
【0087】
このために、本発明の一実施例による学習方法では、学習装置100がプロポーザル選択レイヤ124をもって、(i)第1バッチデータ、第2バッチデータ、及び第3バッチデータから歩行者、運転者及び車両クラス群に対応するポジティブサンプルを抽出し、第1バッチデータから歩行者、運転者及び車両クラス群に対応するネガティブサンプルを抽出して、歩行者、運転者及び車両クラス群の学習のための少なくとも一つの第1原本正解を第1ロスレイヤ127−1に入力するようにし、(ii)第1バッチデータ、第2バッチデータ、及び第3バッチデータから交通標識及び交通信号クラス群に対応するポジティブサンプルを抽出し、第2バッチデータから交通標識及び交通信号クラス群に対応するネガティブサンプルを抽出して、交通標識及び交通信号クラス群を学習するための少なくとも一つの第1原本正解を第2ロスレイヤ127−2に入力するようにし、(iii)第1バッチデータ、第2バッチデータ、及び第3バッチデータから動物クラス群に対応するポジティブサンプルを抽出し、第3バッチデータから動物クラス群に対応するネガティブサンプルを抽出して、動物クラス群を学習するための少なくとも一つの第1原本正解を第3ロスレイヤ127−3に入力させる。
【0088】
そうすると、それぞれの第1ロスレイヤ127−1、127−2、127−3はそれぞれのバッチデータに登録されたテストイメージで、マッチング情報に対応する物体としてタグ付けしたポジティブサンプルの少なくとも一つの第1ポジティブ原本正解及びマッチング情報に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第1ネガティブ原本正解を利用して、物体クラスロス及び物体リグレッションロスを算出することができるようになる。
【0089】
一方で、少なくとも一つの第2原本正解は、それぞれのバッチデータに登録されたトレーニングイメージで、クラス群に対応する物体としてタグ付けしたポジティブサンプルの少なくとも一つの第2ポジティブ原本正解及びクラス群に対応する物体としてタグ付けされていないネガティブサンプルの少なくとも一つの第2ネガティブ原本正解を含むことができる。
【0090】
図5は、本発明の一実施例によるR−CNN基盤の物体検出器のテスト装置を簡略に示したものであって、
図5を参照すると、テスト装置200は通信部210とプロセッサ220を含むことができる。
【0091】
先ず、通信部210は、少なくとも一つのテストイメージを受信することができる。
【0092】
次に、プロセッサ220は(i)前記コンボリューションレイヤをもって、前記テストイメージにコンボリューション演算を適用して少なくとも一つのテスト用特徴マップを生成するプロセス、(ii)(ii−1)前記RPNをもって、テスト用ROIリグレッション情報及びテスト用マッチング情報を出力させ、前記テスト用ROIリグレッション情報は前記テスト用特徴マップのうち特定の特徴マップ上にある少なくとも一つのテスト用物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するテスト用リグレッション情報を含み、前記テスト用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスはそれぞれのROI候補に含まれた前記少なくとも一つのテスト用物体に関する情報を参照して決定され、(ii−2)前記プロポーザルレイヤをもって、前記テスト用ROIリグレッション情報及び前記テスト用マッチング情報を参照して前記ROI候補のうちROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのテスト用ROIプロポーザルとして出力するプロセス、(iii)(iii−1)前記テスト用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ(pooling layer)をもって、前記テスト用特定の特徴マップ上で前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのテスト用特徴ベクトルを算出するようにし、(iii−2)前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤ(Fully−Connected layer)をもって、前記テスト用特徴ベクトルそれぞれを参照して前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力するプロセスを遂行することができる。
【0093】
この際、それぞれのFCレイヤとコンボリューションレイヤは、
図1ないし
図4を参照して説明した学習装置による学習方法によって学習されたものであって、これを簡略に説明すると、トレーニングイメージが入力されると、(i)コンボリューションレイヤをもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを生成させ、(ii)RPNをもって、トレーニング用ROIリグレッション情報及びトレーニング用マッチング情報を出力させ、前記トレーニング用ROIリグレッション情報は、前記トレーニング用特徴マップのうちトレーニング用特定の特徴マップ上にある少なくとも一つのトレーニング用物体を含むものと予測された候補領域それぞれに対応するトレーニング用ROI候補それぞれに対するリグレッション情報を含み、前記トレーニング用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む、少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのトレーニング用ROI候補に含まれた前記少なくとも一つのトレーニング用物体に関する情報を参照して決定され、(iii)プロポーザルレイヤをもって、前記トレーニング用ROIリグレッション情報及び前記トレーニング用マッチング情報を参照して前記トレーニング用ROI候補のうちROIとなる確率の高い、少なくとも一つの特定トレーニング用ROI候補を少なくとも一つのトレーニング用ROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤをもって、前記トレーニングイメージを参照して前記トレーニング用マッチング情報それぞれに対して前記トレーニング用ROIプロポーザルそれぞれを出力させ、(v)前記トレーニング用マッチング情報それぞれに対応するそれぞれのプーリングレイヤをもって、前記トレーニング用特定の特徴マップ上で前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのトレーニング用特徴ベクトルを算出させ、前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤをもって、前記トレーニング用特徴ベクトルそれぞれを参照して前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応するトレーニング用物体リグレッション情報及びトレーニング用物体クラス情報を出力するようにし、(vi)前記FCレイヤそれぞれに対応するそれぞれの第1ロスレイヤ(loss layer)をもって、前記FCレイヤそれぞれの前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体クラス情報と、前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ及び前記コンボリューションレイヤのパラメータを学習することができる。
【0094】
ここで、RPNのパラメータは、学習装置にしたがって、第2ロスレイヤによって計算された少なくとも一つ以上の第2ロス(前記第2ロスは前記トレーニング用ROIリグレッション情報、前記トレーニング用マッチング情報、及び少なくとも一つの第2原本正解を参照して取得される)をバックプロパゲーションして、前記RPNのパラメータを学習することができる。
【0095】
ここで、本発明の一実施例によるテスト装置200は、コンピュータ装置であって、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明によるテスト装置200として採択され得る。また、
図5では一つのテスト装置200のみを示したが、これに限定されず、テスト装置は複数個に分けて役割を遂行することもできる。
【0096】
このように構成された本発明の一実施例によるR−CNN基盤の物体検出器のテスト装置を利用してR−CNN基盤の物体検出器をテストする方法を、
図6を参照して説明すると以下のとおりである。
【0097】
まず、学習装置によってトレーニングイメージが入力されると、(i)コンボリューションレイヤ221をもって、前記トレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを生成させ、(ii)RPN22をもって、トレーニング用ROIリグレッション情報及びトレーニング用マッチング情報を出力させ、前記トレーニング用ROIリグレッション情報は、前記トレーニング用特徴マップのうちトレーニング用特定の特徴マップ上にある少なくとも一つのトレーニング用物体を含むものと予測された候補領域それぞれに対応するトレーニング用ROI候補それぞれに対するリグレッション情報を含み、前記トレーニング用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスは、それぞれのトレーニング用ROI候補に含まれた前記少なくとも一つのトレーニング用物体に関する情報を参照して決定され、(iii)プロポーザルレイヤ223をもって、前記トレーニング用ROIリグレッション情報及び前記トレーニング用マッチング情報を参照して前記トレーニング用ROI候補のうちROIになる確率が高い、少なくとも一つの特定のトレーニング用ROI候補を少なくとも一つのトレーニング用ROIプロポーザルとして出力するようにし、(iv)プロポーザル選択レイヤ(図示せず)をもって、前記トレーニングイメージを参照して前記トレーニング用マッチング情報それぞれに対して前記トレーニング用ROIプロポーザルそれぞれを出力するようにし、(v)前記トレーニング用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ225−1、225−2、225−3をもって、前記トレーニング用特定の特徴マップ上で前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのトレーニング用特徴ベクトルを算出するようにし、(vi)前記プーリングレイヤそれぞれに対応するそれぞれのFCレイヤをもって、前記トレーニング用特徴ベクトルそれぞれを参照して前記トレーニング用マッチング情報それぞれに対する前記トレーニング用ROIプロポーザルそれぞれに対応するトレーニング用物体リグレッション情報及びトレーニング用物体クラス情報を出力するようにし、(vii)前記FCレイヤそれぞれ226−1、226−2、226−3に対応するそれぞれの第1ロスレイヤ(図示せず)をもって、前記FCレイヤそれぞれの前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体クラス情報と、前記トレーニング用マッチング情報それぞれに対する前記トレーニング用物体リグレッション情報と、これに各対応する第1原本正解(Ground Truth)とを参照して、それぞれの物体クラスロス及びそれぞれの物体リグレッションロスを計算するようにし、前記各物体クラスロス及び前記各物体リグレッションロスをバックプロパゲーションするようにして、前記それぞれのFCレイヤ226−1、226−2、226−3及び前記コンボリューションレイヤ221のパラメータを学習した状態で、テストイメージが入力されると、テスト装置200が、前記コンボリューションレイヤ221をもって、前記テストイメージにコンボリューション演算を適用して少なくとも一つのテスト用特徴マップを生成させる。
【0098】
ここで、RPN222のパラメータは、学習装置にしたがって、第2ロスレイヤ(図示せず)によって計算された少なくとも一つ以上の第2ロス(前記第2ロスは前記トレーニング用ROIリグレッション情報、前記トレーニング用マッチング情報、及び少なくとも一つの第2原本正解を参照して取得される)をバックプロパゲーションして、前記RPN222のパラメータを学習することができる。
【0099】
次に、テスト装置200は、RPN222をもって、テスト用ROIリグレッション情報及びテスト用マッチング情報を出力させ、前記テスト用ROIリグレッション情報は前記テスト用特徴マップのうち特定の特徴マップ上にある少なくとも一つのテスト用物体を含むものと予測された候補領域それぞれに対応するROI候補それぞれに対するテスト用リグレッション情報を含み、前記テスト用マッチング情報は、少なくとも一つの対応するクラスをそれぞれ含む少なくとも一つのクラス群の中から選択された一つのクラス群に関する情報を含み、前記少なくとも一つのクラスはそれぞれのROI候補に含まれた前記少なくとも一つのテスト用物体に関する情報を参照して決定する。
【0100】
そして、テスト装置200は、プロポーザルレイヤ223をもって、前記テスト用ROIリグレッション情報及び前記テスト用マッチング情報を参照して、前記ROI候補のうちROIになる確率が高い、少なくとも一つの特定のROI候補を少なくとも一つのテスト用ROIプロポーザルとして出力させる。
【0101】
一例として、プロポーザルレイヤ223は歩行者、運転者及び車両クラス群のテストのための歩行者、運転者及び車両クラス群のマッチング情報に対応する少なくとも一つのROIプロポーザルと、交通標識及び交通信号クラス群のテストのための交通標識及び交通信号クラス群のマッチング情報に対応する少なくとも一つのROIプロポーザルと、動物クラス群のテストのための動物クラス群のマッチング情報に対応する少なくとも一つのROIプロポーザルとを出力する。
【0102】
次に、テスト装置100は、テスト用マッチング情報それぞれに対応するそれぞれのプーリングレイヤ225−1、225−2、225−3をもって、前記テスト用特定の特徴マップ上で前記テスト用マッチング情報それぞれに対する前記テスト用ROIプロポーザルそれぞれに対応する領域をプーリングしてそれぞれのテスト用特徴ベクトルを算出するようにする。この際、それぞれのプーリングレイヤ225−1、225−2、225−3を別途のレイヤでそれぞれ構成したが、これとは異なり、一つのプーリングレイヤを利用して、テスト用特定の特徴マップ上でテスト用マッチング情報それぞれに対するテスト用各ROIプロポーザルに対応する領域をプーリングしてそれぞれのテスト用特徴ベクトルを生成するようにアルゴリズムを具現することもできる。
【0103】
一例として、テスト装置200は、プーリングレイヤ225−1をもって、テスト用特定の特徴マップ上で歩行者、運転者及び車両クラス群のテスト用マッチング情報に対応するテスト用ROIプロポーザルに対応する領域をプーリングして、歩行者、運転者及び車両クラス群のテスト用マッチング情報に対応するテスト用特徴ベクトルを生成させ、プーリングレイヤ225−2をもって、テスト用特定の特徴マップ上で交通標識及び交通信号クラス群のテスト用マッチング情報に対応するテスト用ROIプロポーザルに対応する領域をプーリングして、交通標識及び交通信号クラス群のテスト用マッチング情報に対応するテスト用特徴ベクトルを生成させ、プーリングレイヤ225−3をもって、テスト用特徴マップ上で動物クラス群のテスト用マッチング情報に対応するテスト用ROIプロポーザルに対応する領域をプーリングして、動物クラス群のテスト用マッチング情報に対応するテスト用特徴ベクトルを生成させる。
【0104】
次に、テスト装置200は、それぞれのプーリングレイヤ225−1、225−2、225−3に対応するそれぞれのFCレイヤ226−1、226−2、226−3をもって、前記特徴ベクトルそれぞれを参照して前記マッチング情報のそれぞれに対する前記ROIプロポーザルそれぞれに対応する物体リグレッション情報及び物体クラス情報を出力させる。この際、それぞれのFCレイヤ226−1、226−2、226−3を別途のレイヤでそれぞれ構成したが、これとは異なり、一つのFCレイヤを利用して、テスト用特徴ベクトルを参照にして、テスト用マッチング情報のそれぞれに対するテスト用ROIプロポーザルのそれぞれに対応するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力するようにソフトウェア的に具現することもできる。
【0105】
一例として、テスト装置200は、プーリングレイヤ225−1に対応するFCレイヤ226−1をもって、プーリングレイヤ225−1から出力されたテスト用特徴ベクトルを利用して歩行者、運転者及び車両に対するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力するようにし、プーリングレイヤ225−2に対応するFCレイヤ226−2をもって、プーリングレイヤ225−2から出力されたテスト用特徴ベクトルを利用して交通標識及び交通信号に関するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力するようにし、プーリングレイヤ225−3に対応するFCレイヤ226−3をもって、プーリングレイヤ225−3から出力されたテスト用特徴ベクトルを利用して動物に対するテスト用物体リグレッション情報及びテスト用物体クラス情報を出力させる。
【0106】
そして、テスト装置100は、出力レイヤ230をもって、プロポーザルレイヤ223から出力された前記テスト用マッチング情報それぞれのテスト用ROIプロポーザルと、それぞれのFCレイヤ226−1、226−2、226−3から出力された前記テスト用物体クラス情報及び前記テスト用物体リグレッション情報とを参照して、前記テストイメージ上に前記テスト用前記物体と対応する物体情報を表示させることができる。
【0107】
また、以上にて説明された本発明による実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気−光メディア(magneto−optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行される高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
【0108】
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、係る記載から多様な修正及び変形が行われ得る。
【0109】
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。