(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6810432
(24)【登録日】2020年12月15日
(45)【発行日】2021年1月6日
(54)【発明の名称】物体の条件に応じてモードを切り換えることができるCNN基盤で軍事目的、スマートフォン又は仮想走行に使用される疑似3Dバウンディングボックスを検出する方法及びこれを利用した装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20201221BHJP
G06N 3/04 20060101ALI20201221BHJP
【FI】
G06T7/00 350C
G06N3/04
【請求項の数】30
【全頁数】37
(21)【出願番号】特願2019-239147(P2019-239147)
(22)【出願日】2019年12月27日
(65)【公開番号】特開2020-119519(P2020-119519A)
(43)【公開日】2020年8月6日
【審査請求日】2019年12月27日
(31)【優先権主張番号】16/258,186
(32)【優先日】2019年1月25日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
(74)【代理人】
【識別番号】110000855
【氏名又は名称】特許業務法人浅村特許事務所
(72)【発明者】
【氏名】キム、ケイ − ヒョン
(72)【発明者】
【氏名】キム、ヨンジュン
(72)【発明者】
【氏名】キム、インスー
(72)【発明者】
【氏名】キム、ハク − キョン
(72)【発明者】
【氏名】ナム、ウヒョン
(72)【発明者】
【氏名】ブー、ソッフン
(72)【発明者】
【氏名】ソン、ミュンチュル
(72)【発明者】
【氏名】ヨー、ドンフン
(72)【発明者】
【氏名】リュー、ウジュ
(72)【発明者】
【氏名】チャン、テウン
(72)【発明者】
【氏名】ジョン、キュンチョン
(72)【発明者】
【氏名】チェ、ホンモ
(72)【発明者】
【氏名】チョウ、ホジン
【審査官】
合田 幸裕
(56)【参考文献】
【文献】
米国特許出願公開第2018/0137644(US,A1)
【文献】
米国特許第9953437(US,B1)
【文献】
米国特許出願公開第2018/0268601(US,A1)
【文献】
国際公開第2018/093796(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/04
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する方法において、
(a)少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの特徴マップと、前記トレーニングイメージで少なくとも一つの物体を含む少なくとも一つの2Dバウンディングボックスとが取得されると、学習装置が、プーリングレイヤ(Pooling Layer)をもって、前記特徴マップ上で前記2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて少なくとも一つのプーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記プーリング済み特徴マップを参照して前記プーリング済み特徴マップ内の前記物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させる段階;
(b)前記物体のイメージがトランケートされた状態であれば前記物体を第1タイプ(First Type)であるとし、前記物体のイメージがトランケートされていない状態であれば前記物体を第2タイプ(Second Type)であるとすると、前記学習装置が、前記プーリング済み特徴マップ内の前記物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させる段階;
(c)前記学習装置が、(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記ボックスパターン情報を参照して前記物体の方向に関する方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記ボックスパターン情報を参照して前記2Dバウンディングボックスの座標に対応する前記疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させる段階;及び
(d)前記学習装置が、少なくとも一つのFCロスレイヤをもって、前記方向クラス情報と、前記リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習する段階;
を含むことを特徴とする学習方法。
【請求項2】
前記(a)段階以後に、
前記学習装置は、タイプロスレイヤ(Type Loss Layer)をもって前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記物体のイメージに対応する物体タイプ(Object−Type)原本正解とを参照して、少なくとも一つのタイプロスを生成させることにより、
前記タイプロスをバックプロパゲーションして前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする請求項1に記載の学習方法。
【請求項3】
前記(a)段階で、
前記学習装置は、前記タイプ分類レイヤをもって、前記物体の全体を含む領域に対する、前記プーリング済み特徴マップ上に示された前記物体の一部のみを含む領域の割合が所定の閾値以下である場合には前記物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には前記物体のイメージがトランケートされていないものと判断させることを特徴とする請求項1に記載の学習方法。
【請求項4】
前記(c)段階で、
前記学習装置は、前記リグレッションレイヤそれぞれをもって、(i)前記2Dバウンディングボックスの頂点から前記物体の前面と裏面それぞれに対応するそれぞれのインスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記2Dバウンディングボックスの中心から前記それぞれのインスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記2Dバウンディングボックスの幅/高さの割合と前記インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記リグレッション情報を生成させることを特徴とする請求項1に記載の学習方法。
【請求項5】
前記(b)段階で、
前記学習装置は、前記物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第1ボックスパターン情報を生成し、前記物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第2ボックスパターン情報を生成し、
前記(c)段階で、
前記学習装置は、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記第1ボックスパターン情報を参照して前記第1タイプを有する前記物体の方向に対応する第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記第1ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記第2ボックスパターン情報を参照して前記第2タイプを有する前記物体の方向に対応する第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記第2ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第2リグレッション情報を生成させることを特徴とする請求項1に記載の学習方法。
【請求項6】
前記(d)段階で、
前記学習装置は、(i)前記第1FCレイヤに対応する第1FCロスレイヤをもって、前記第1方向クラス情報と、前記第1リグレッション情報と、これに対応する少なくとも一つの第1原本正解とを参照して少なくとも一つの第1方向クラスロス及び少なくとも一つの第1ボックスリグレッションロスを生成させることで、前記第1方向クラスロス及び前記第1ボックスリグレッションロスをバックプロパゲーションして前記第1FCレイヤのパラメータを学習し、(ii)前記第2FCレイヤに対応する第2FCロスレイヤをもって、前記第2方向クラス情報と、前記第2リグレッション情報と、これに対応する少なくとも一つの第2原本正解とを参照して少なくとも一つの第2方向クラスロス及び少なくとも一つの第2ボックスリグレッションロスを生成させることで、前記第2方向クラスロス及び前記第2ボックスリグレッションロスをバックプロパゲーションして前記第2FCレイヤのパラメータを学習することを特徴とする請求項5に記載の学習方法。
【請求項7】
前記学習装置は、先行CNN(Preceding CNN)基盤の物体検出器から前記特徴マップと前記2Dバウンディングボックスとを取得することを特徴とする請求項1に記載の学習方法。
【請求項8】
前記学習装置は、前記トレーニングイメージを前記物体の検出器に入力して、前記物体検出器が(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって、前記トレーニングイメージに対してコンボリューション演算を遂行して前記特徴マップを生成させ、(ii)RPNをもって、前記特徴マップから前記トレーニングイメージ内の前記物体に対応する少なくとも一つのプロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記特徴マップ上で前記プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させて先行プーリング済み特徴マップを生成させ、(iv)先行FCレイヤ(PrecedingFC Layer)をもって、前記物体に対応する物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記物体パターン情報を参照して前記物体のクラスに対応する物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記物体パターン情報を参照して前記物体に対応する前記2Dバウンディングボックスに関する先行リグレッション情報を生成させることで、前記特徴マップと前記2Dバウンディングボックスとを生成することを特徴とする請求項7に記載の学習方法。
【請求項9】
検出器学習装置によって前記物体検出器を学習している状態で、前記検出器学習装置が、前記物体検出器内のタイプロスレイヤをもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記イメージに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、前記タイプロスをバックプロパゲーションして前記物体検出器内のタイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする請求項7に記載の学習方法。
【請求項10】
CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する方法において、
(a)学習装置が、少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの学習用特徴マップと、前記トレーニングイメージで少なくとも一つの学習用物体を含む少なくとも一つの学習用2Dバウンディングボックスとが取得されると、(i)プーリングレイヤ(Pooling Layer)をもって、前記学習用特徴マップ上で前記学習用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つの学習用プーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記学習用プーリング済み特徴マップを参照して前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、 (ii)前記学習用物体のイメージがトランケートされた状態であれば前記学習用物体を第1タイプ(First Type)であるとし、前記学習用物体のイメージがトランケートされていない状態であれば前記学習用物体を第2タイプ(Second Type)であるとすると、前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記学習用プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて前記学習用疑似3Dバウンディングボックスに対応する学習用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(iii)前記FCレイヤそれぞれに対応する少なくとも一つの分類レイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用物体の方向に関する学習用方向クラス情報を出力させ、前記FCレイヤそれぞれに対応する少なくとも一つのリグレッションレイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用2Dバウンディングボックスの座標に対応する前記学習用疑似3Dバウンディングボックスの座標に関する学習用リグレッション情報を生成させるプロセスと、(iv)少なくとも一つのFCロスレイヤをもって、前記学習用方向クラス情報と、前記学習用リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習するプロセスと、を遂行した状態で、少なくとも一つのテストイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つのテスト用特徴マップと、前記テストイメージで少なくとも一つのテスト用物体を含む少なくとも一つのテスト用2Dバウンディングボックスとが取得されると、テスト装置が、前記プーリングレイヤ(Pooling Layer)をもって、前記テスト用特徴マップ上で前記テスト用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つのテスト用プーリング済み特徴マップを生成させ、前記タイプ分類レイヤ(Type−Classifying Layer)をもって、前記テスト用プーリング済み特徴マップを参照して前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させる段階;
(b)前記テスト用物体のイメージがトランケートされた状態であれば前記テスト用物体を第1タイプ(First Type)であるとし、前記テスト用物体のイメージがトランケートされていない状態であれば前記テスト用物体を第2タイプ(Second Type)であるとすると、前記テスト装置が、前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれの前記FCレイヤのうち一つをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記テスト用疑似3Dバウンディングボックスに対応するテスト用ボックスパターン(Box Pattern)情報を生成させる段階;及び
(c)前記テスト装置が、(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用物体の方向に関するテスト用方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用リグレッション情報を生成させる段階;
を含むことを特徴とするテスト方法。
【請求項11】
前記学習装置は、タイプロスレイヤ(Type Loss Layer)をもって、前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記学習用物体のイメージに対応する物体タイプ(Object−Type)原本正解とを参照して少なくとも一つのタイプロスを生成させることにより、前記タイプロスを利用したバックプロパゲーションを通じて前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする請求項10に記載のテスト方法。
【請求項12】
前記(a)段階は、
前記テスト装置は、前記タイプ分類レイヤをもって、前記テスト用物体の全体を含む領域に比べて前記テスト用プーリング済み特徴マップ上に示された前記テスト用物体の一部のみを含む領域の割合が所定の閾値以下である場合には、前記テスト用物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には、前記テスト用物体のイメージがトランケートされていないものと判断させることを特徴とする請求項10に記載のテスト方法。
【請求項13】
前記(c)段階で、
前記テスト装置は、前記リグレッションレイヤそれぞれをもって、(i)前記テスト用2Dバウンディングボックスの頂点から前記テスト用物体の前面と裏面それぞれに対応するそれぞれのテスト用インスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記テスト用2Dバウンディングボックスの中心から前記それぞれのテスト用インスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記テスト用2Dバウンディングボックスの幅/高さの割合と前記テスト用インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記テスト用リグレッション情報を生成させることを特徴とする請求項10に記載のテスト方法。
【請求項14】
前記(b)段階で、
前記テスト装置は、前記テスト用物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第1ボックスパターン情報を生成し、前記テスト用物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第2ボックスパターン情報を生成し、
前記(c)段階で、
前記テスト装置は、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記第1タイプを有する前記テスト用物体の方向に対応するテスト用第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に対するテスト用第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記第2タイプを有する前記テスト用物体の方向に対応するテスト用第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用第2リグレッション情報を生成させることを特徴とする請求項10に記載のテスト方法。
【請求項15】
前記テスト装置は、前記テストイメージを先行CNN基盤の物体検出器に入力して、前記物体検出器が(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって、前記テストイメージに対してコンボリューション演算を遂行して前記テスト用特徴マップを生成させ、(ii)RPNをもって、前記テスト用特徴マップから前記テストイメージ内の前記テスト用物体に対応する少なくとも一つのテスト用プロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記テスト用特徴マップ上で前記テスト用プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させてテスト用先行プーリング済み特徴マップを生成させ、(iv)先行FCレイヤ(PrecedingFC Layer)をもって、前記テスト用物体に対応するテスト用物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体のクラスに対応するテスト用物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体に対応する前記テスト用2Dバウンディングボックスに関するテスト用先行リグレッション情報を生成させることで、前記テスト用特徴マップと前記テスト用2Dバウンディングボックスを生成することを特徴とする請求項10に記載のテスト方法。
【請求項16】
CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する学習装置において、
インストラクションを格納する少なくとも一つのメモリ;及び
(I)少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して特徴マップが生成され、2Dバウンディングボックスが前記トレーニングイメージで少なくとも一つの物体を含むと、プーリングレイヤ(Pooling Layer)をもって、前記特徴マップ上で前記2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて少なくとも一つのプーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記プーリング済み特徴マップを参照して前記プーリング済み特徴マップ内の前記物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(II)前記物体のイメージがトランケートされた状態であれば前記物体を第1タイプ(First Type)であるとし、前記物体のイメージがトランケートされていない状態であれば前記物体を第2タイプ(Second Type)であるとすると、前記プーリング済み特徴マップ内の前記物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させるプロセスと、(III)(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記ボックスパターン情報を参照して前記物体の方向に関する方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記ボックスパターン情報を参照して前記2Dバウンディングボックスの座標に対応する前記疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させるプロセスと、(IV)少なくとも一つのFCロスレイヤをもって、前記方向クラス情報と、前記リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習するプロセスと、を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
を含むことを特徴とする学習装置。
【請求項17】
前記(I)プロセス以後に、
前記プロセッサは、タイプロスレイヤをもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と前記物体のイメージに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、前記タイプロスをバックプロパゲーションして前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする請求項16に記載の学習装置。
【請求項18】
前記(I)プロセスで、
前記プロセッサは、前記タイプ分類レイヤをもって、前記物体の全体を含む領域に対する、前記プーリング済み特徴マップ上に示された前記物体の一部のみを含む領域の割合が所定の閾値以下である場合には前記物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には前記物体のイメージがトランケートされていないものと判断させることを特徴とする請求項16に記載の学習装置。
【請求項19】
前記(III)プロセスで、
前記プロセッサは、前記リグレッションレイヤそれぞれをもって、(i)前記2Dバウンディングボックスの頂点から前記物体の前面と裏面それぞれに対応するそれぞれのインスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記2Dバウンディングボックスの中心から前記それぞれのインスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記2Dバウンディングボックスの幅/高さの割合と前記インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記リグレッション情報を生成させることを特徴とする請求項16に記載の学習装置。
【請求項20】
前記(II)プロセスで、
前記プロセッサは、前記物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第1ボックスパターン情報を生成し、前記物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第2ボックスパターン情報を生成し、
前記(III)プロセスで、
前記プロセッサは、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記第1ボックスパターン情報を参照して前記第1タイプを有する前記物体の方向に対応する第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記第1ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記第2ボックスパターン情報を参照して前記第2タイプを有する前記物体の方向に対応する第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記第2ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第2リグレッション情報を生成させることを特徴とする請求項16に記載の学習装置。
【請求項21】
前記(IV)プロセスで、
前記プロセッサは、(i)前記第1FCレイヤに対応する第1FCロスレイヤをもって、前記第1方向クラス情報と、前記第1リグレッション情報と、これに対応する少なくとも一つの第1原本正解とを参照して少なくとも一つの第1方向クラスロス及び少なくとも一つの第1ボックスリグレッションロスを生成させることで、前記第1方向クラスロス及び前記第1ボックスリグレッションロスをバックプロパゲーションして前記第1FCレイヤのパラメータを学習し、(ii)前記第2FCレイヤに対応する第2FCロスレイヤをもって、前記第2方向クラス情報と、前記第2リグレッション情報と、これに対応する少なくとも一つの第2原本正解とを参照して少なくとも一つの第2方向クラスロス及び少なくとも一つの第2ボックスリグレッションロスを生成させることで、前記第2方向クラスロス及び前記第2ボックスリグレッションロスをバックプロパゲーションして前記第2FCレイヤのパラメータを学習することを特徴とする請求項20に記載の学習装置。
【請求項22】
先行CNN(Preceding CNN)基盤の物体検出器から前記特徴マップと前記2Dバウンディングボックスとを取得することを特徴とする請求項16に記載の学習装置。
【請求項23】
前記トレーニングイメージを前記物体検出器に入力して、前記物体検出器が(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって前記トレーニングイメージに対してコンボリューション演算を行って前記特徴マップを生成させ、(ii)RPNをもって、前記特徴マップから前記トレーニングイメージ内の前記物体に対応する少なくとも一つのプロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記特徴マップ上で前記プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させて先行プーリング済み特徴マップを生成させ、(iv)先行FCレイヤ(Preceding FC Layer)をもって、前記物体に対応する物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記物体パターン情報を参照して前記物体のクラスに対応する物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記物体パターン情報を参照して前記物体に対応する前記2Dバウンディングボックスに関する先行リグレッション情報を生成させることで、前記特徴マップと前記2Dバウンディングボックスとを生成することを特徴とする請求項22に記載の学習装置。
【請求項24】
検出器学習装置によって前記物体検出器を学習している状態で、前記検出器学習装置が、前記物体検出器内のタイプロスレイヤをもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記イメージに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、前記タイプロスをバックプロパゲーションして前記物体検出器内のタイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする請求項22に記載の学習装置。
【請求項25】
CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出するテスト装置において、
インストラクションを格納する少なくとも一つのメモリ;及び
学習装置が、少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの学習用特徴マップと、前記トレーニングイメージで少なくとも一つの学習用物体を含む少なくとも一つの学習用2Dバウンディングボックスとを取得すると、(i)プーリングレイヤ(Pooling Layer)をもって、前記学習用特徴マップ上で前記学習用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つの学習用プーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記学習用プーリング済み特徴マップを参照して前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(ii)前記学習用物体のイメージがトランケートされた状態であれば前記学習用物体を第1タイプ(First Type)であるとし、前記学習用物体のイメージがトランケートされていない状態であれば前記学習用物体を第2タイプ(Second Type)であるとすると、前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記学習用プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて前記学習用疑似3Dバウンディングボックスに対応する学習用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(iii)前記FCレイヤそれぞれに対応する少なくとも一つの分類レイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用物体の方向に関する学習用方向クラス情報を出力させ、前記FCレイヤそれぞれに対応する少なくとも一つのリグレッションレイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用2Dバウンディングボックスの座標情報に対応する前記学習用疑似3Dバウンディングボックスの座標に関する学習用リグレッション情報を生成させるプロセス、(iv)少なくとも一つのFCロスレイヤをもって、前記学習用方向クラス情報と、前記学習用リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習するプロセスを遂行した状態で、(I)少なくとも一つのテストイメージに対してコンボリューション演算を少なくとも一回適用してテスト用特徴マップが生成され、テスト用2Dバウンディングボックスが前記テストイメージで少なくとも一つのテスト用物体を含むと、前記プーリングレイヤ(Pooling Layer)をもって、少なくとも一つの前記テスト用特徴マップ上で少なくとも一つの前記テスト用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つのテスト用プーリング済み特徴マップを生成させ、前記タイプ分類レイヤ(Type−Classifying Layer)をもって、前記テスト用プーリング済み特徴マップを参照して前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセス、(II)前記テスト用物体のイメージがトランケートされた状態であれば前記テスト用物体を前記第1タイプ(First Type)であるとし、前記テスト用物体のイメージがトランケートされていない状態であれば前記テスト用物体を前記第2タイプ(Second Type)であるとすると、前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれの前記FCレイヤのうち一つをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(III)(i)前記FCレイヤそれぞれに対応する前記分類レイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用物体の方向に関するテスト用方向クラス情報を生成させ、(ii)前記FCレイヤそれぞれに対応する前記リグレッションレイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用リグレッション情報を生成させるプロセスと、を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
を含むことを特徴とするテスト装置。
【請求項26】
前記学習装置は、タイプロスレイヤ(Type Loss Layer)をもって、前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記学習用物体のイメージに対応する物体タイプ(Object−Type)原本正解とを参照して少なくとも一つのタイプロスを生成させることにより、前記タイプロスを利用したバックプロパゲーションを通じて前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする請求項25に記載のテスト装置。
【請求項27】
前記(I)プロセスで、
前記プロセッサは、前記タイプ分類レイヤをもって、前記テスト用物体の全体を含む領域に比べて前記テスト用プーリング済み特徴マップ上に示された前記テスト用物体の一部のみを含む領域の割合が所定の閾値以下である場合には前記テスト用物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には前記テスト用物体のイメージがトランケートされていないものと判断させることを特徴とする請求項25に記載のテスト装置。
【請求項28】
前記(III)プロセスで、
前記プロセッサは、前記リグレッションレイヤそれぞれをもって、(i)前記テスト用2Dバウンディングボックスの頂点から前記テスト用物体の前面と裏面それぞれに対応するそれぞれのテスト用インスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記テスト用2Dバウンディングボックスの中心から前記それぞれのテスト用インスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記テスト用2Dバウンディングボックスの幅/高さの割合と前記テスト用インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記テスト用リグレッション情報を生成させることを特徴とする請求項27に記載のテスト装置。
【請求項29】
前記(II)プロセスで、
前記プロセッサは、前記テスト用物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第1ボックスパターン情報を生成し、前記テスト用物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第2ボックスパターン情報を生成し、
前記(III)プロセスで、
前記プロセッサは、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記第1タイプを有する前記テスト用物体の方向に対応するテスト用第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に対するテスト用第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記第2タイプを有する前記テスト用物体の方向に対応するテスト用第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用第2リグレッション情報を生成させることを特徴とする請求項25に記載のテスト装置。
【請求項30】
前記テストイメージを先行CNN基盤の物体検出器に入力して、前記物体検出器が、(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって、前記テストイメージに対してコンボリューション演算を遂行して、前記テスト用の特徴マップを生成させ、(iii)RPNをもって、前記テスト用の特徴マップから前記テストイメージ内の前記テスト物体に対応する少なくとも一つのテスト用プロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記テスト用特徴マップ上で前記テスト用プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させてテスト用先行プーリングされた特徴マップを生成させ、(iv)先行FCレイヤ(Preceding FC Layer)をもって、前記テスト用物体に対応するテスト用物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体のクラスに対応するテスト用物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体に対応する前記テスト用2Dバウンディングボックスに対するテスト用先行リグレッション情報を生成させることで、前記テスト用特徴マップと前記テスト用2Dバウンディングボックスとを生成することを特徴とする請求項26に記載のテスト装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の条件に応じてモードを切り換えることができるCNN基盤で軍事目的、スマートフォン又は仮想走行に使用される疑似(Pseudo)3Dバウンディングボックスを検出する方法において、より詳細には、前記CNNの基盤の前記疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する方法において、(a)少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの特徴マップと、前記トレーニングイメージで少なくとも一つの物体を含む少なくとも一つの2Dバウンディングボックスとが取得されると、学習装置が、プーリングレイヤ(Pooling Layer)をもって、前記特徴マップ上で前記2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて少なくとも一つのプーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記プーリング済み特徴マップを参照して前記プーリング済み特徴マップ内の前記物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させる段階;(b)前記物体のイメージがトランケートされた状態であれば前記物体を第1タイプ(First Type)であるとし、前記物体のイメージがトランケートされていない状態であれば前記物体を第2タイプ(Second Type)であるとすると、前記学習装置が、前記プーリング済み特徴マップ内の前記物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させる段階;(c)前記学習装置が、(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記ボックスパターン情報を参照して前記物体の方向に関する方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記ボックスパターン情報を参照して前記2Dバウンディングボックスの座標に対応する前記疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させる段階;及び(d)前記学習装置が、少なくとも一つのFCロスレイヤをもって、前記方向クラス情報と、前記リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習する段階;を含むことを特徴とする学習方法及び装置、並びにこれを利用したテスト方法及び装置に関する。
【背景技術】
【0002】
自律走行自動車は、人が入力した内容なしに周辺環境を感知して走行することができる車両である。自律走行自動車は、囲まれた環境を検出するために、レーダ、レーザ光線、GPS、走行測定器、コンピュータビジョン(Computer Vision)のような多様な技術を使用する。
【0003】
コンピュータビジョンを使用して2次元単眼映像(2D Monocular Image)から3次元情報を推定することは、自主走行及び個人ロボットのような応用分野において非常に重要な作業である。一般的にイメージ内の物体をバウンディング(Bounding)のための2Dボックスを生成した後、2Dボックスから3Dモデルを構成する。
【0004】
物体をバウンディングするために2Dボックスを探し出す従来の技術は、一般的にテンプレート基盤の方法を使用していた。2Dボックスを生成するための従来の技術のうち一つであるスライディングウインドウ方法(Sliding Windows Method)である。この方法は、様々なスケールを有する全体イメージに対して、ウインドウのようなボックスを繰り返しスライドさせて、ウインドウのようなボックス内のそれぞれの個体を検出する方法である。つまり、イメージ内の物体が互いに異なるサイズやスケールを有することができるため、イメージを数回縮小し、ウインドウのようなボックスをイメージ上に再びスライドさせてサイズが異なる物体を探し出す。
【0005】
他の従来の方法のうち一つは、アンカーボックス方法である。この方法では、多様なアンカーボックスを所定の位置に中心を合わせ、多様なアンカーボックスのうち確率が最も高いアンカーボックス(例えば、GT物体と重なる領域が最も多いアンカーボックス)をリグレッション分析によって決定する。
【0006】
そして、3Dバウンディングボックス(3D Bounding Box)が先に決定されたアンカーボックスから構成されるが、これに制限されはしない。まず、3Dバウンディングボックスは6つの表面を有することができ、6つの表面のうち3つは徹底的に検索する必要があり得る。第二に、単一テンプレートを3Dバウンディングボックスの表面のうち3つを決定するために使用する場合、物体の3D方向が変わると、リグレッションの境界線の条件が異なるために正確度が低いことがある。第三に、3Dバウンディングボックスを取得する従来の方法は、コンピューティングリソースがたくさん必要である。例えば、3Dバウンディングボックスを探し出すために、直方体テンプレートやボクセル(Voxel)をマッチングさせるのに演算時間が長くかかるのと同じである。
【0007】
したがって、本発明はこのような不必要な演算を取り除き、検出精度を向上させるための新たな方法を提示する。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、上述した問題点をすべて解決することをその目的とする。
【0009】
また、本発明は、疑似3Dボックス(Pseudo−3D Box)を利用して3D物体に外接するボックスを設定するための3Dバウンディングボックス(3D Bounding Box)を単純化することを他の目的とする。
【0010】
本発明は疑似3Dボックスの頂点の2D座標を利用して演算時間とコンピュータリソースを減らすことをまた他の目的とする。
【課題を解決するための手段】
【0011】
前記ような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記の通りである。
【0012】
本発明の一態様によると、CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する方法において、(a)少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの特徴マップと、前記トレーニングイメージで少なくとも一つの物体を含む少なくとも一つの2Dバウンディングボックスとが取得されると、学習装置が、プーリングレイヤ(Pooling Layer)をもって、前記特徴マップ上で前記2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて少なくとも一つのプーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記プーリング済み特徴マップを参照して前記プーリング済み特徴マップ内の前記物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させる段階;(b)前記物体のイメージがトランケートされた状態であれば前記物体を第1タイプ(First Type)であるとし、前記物体のイメージがトランケートされていない状態であれば前記物体を第2タイプ(Second Type)であるとすると、前記学習装置が、前記プーリング済み特徴マップ内の前記物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させる段階;(c)前記学習装置が、(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記ボックスパターン情報を参照して前記物体の方向に関する方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記ボックスパターン情報を参照して前記2Dバウンディングボックスの座標に対応する前記疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させる段階;及び(d)前記学習装置が、少なくとも一つのFCロスレイヤをもって、前記方向クラス情報と、前記リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習する段階;を含むことを特徴とする。
【0013】
一実施例において、前記(a)段階以後に、前記学習装置は、タイプロスレイヤ(Type Loss Layer)をもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記イメージに対応する物体タイプ(Object−Type)原本正解とを参照して、少なくとも一つのタイプロスを生成させることにより、前記タイプロスをバックプロパゲーションして前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする。
【0014】
一実施例において、前記(a)段階で、前記学習装置は、前記タイプ分類レイヤをもって、前記物体の全体を含む領域に対する、前記プーリング済み特徴マップ上に示された前記物体の一部のみを含む領域の割合が所定の閾値以下である場合には前記物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には前記物体のイメージがトランケートされていないものと判断させることを特徴とする。
【0015】
一実施例において、前記(c)段階で、前記学習装置は、前記リグレッションレイヤそれぞれをもって、(i)前記2Dバウンディングボックスの頂点から前記物体の前面と裏面それぞれに対応するそれぞれのインスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記2Dバウンディングボックスの中心から前記それぞれのインスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記2Dバウンディングボックスの幅/高さの割合と前記インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記リグレッション情報を生成させることを特徴とする。
【0016】
一実施例において、前記(b)段階で、前記学習装置は、前記物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第1ボックスパターン情報を生成し、前記物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第2ボックスパターン情報を生成し、前記(c)段階で、前記学習装置は、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記第1ボックスパターン情報を参照して前記第1タイプを有する前記物体の方向に対応する第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記第1ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記第2ボックスパターン情報を参照して前記第2タイプを有する前記物体の方向に対応する第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記第2ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第2リグレッション情報を生成させることを特徴とする。
【0017】
一実施例において、前記(d)段階で、前記学習装置は、(i)前記第1FCレイヤに対応する第1FCロスレイヤをもって、前記第1方向クラス情報と、前記第1リグレッション情報と、これに対応する少なくとも一つの第1原本正解とを参照して少なくとも一つの第1方向クラスロス及び少なくとも一つの第1ボックスリグレッションロスを生成させることで、前記第1方向クラスロス及び前記第1ボックスリグレッションロスをバックプロパゲーションして前記第1FCレイヤのパラメータを学習し、(ii)前記第2FCレイヤに対応する第2FCロスレイヤをもって、前記第2方向クラス情報と、前記第2リグレッション情報と、これに対応する少なくとも一つの第2原本正解とを参照して少なくとも一つの第2方向クラスロス及び少なくとも一つの第2ボックスリグレッションロスを生成させることで、前記第2方向クラスロス及び前記第2ボックスリグレッションロスをバックプロパゲーションして前記第2FCレイヤのパラメータを学習することを特徴とする。
【0018】
一実施例において、前記学習装置は、先行CNN(Preceding CNN)基盤の物体検出器から前記特徴マップと前記2Dバウンディングボックスとを取得することを特徴とする。
【0019】
一実施例において、前記学習装置は、前記トレーニングイメージを前記物体の検出器に入力して、前記物体検出器が(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって、前記トレーニングイメージに対してコンボリューション演算を遂行して前記特徴マップを生成させ、(ii)RPNをもって、前記特徴マップから前記トレーニングイメージ内の前記物体に対応する少なくとも一つのプロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記特徴マップ上で前記プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させて先行プーリング済み特徴マップを生成させ、(iv)先行FCレイヤ(PrecedingFC Layer)をもって、前記物体に対応する物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記物体パターン情報を参照して前記物体のクラスに対応する物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記物体パターン情報を参照して前記物体に対応する前記2Dバウンディングボックスに関する先行リグレッション情報を生成させることで、前記特徴マップと前記2Dバウンディングボックスとを生成することを特徴とする。
【0020】
一実施例において、検出器学習装置によって前記物体検出器を学習している状態で、前記検出器学習装置が、前記物体検出器内のタイプロスレイヤをもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記イメージに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、前記タイプロスをバックプロパゲーションして前記物体検出器内のタイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする。
【0021】
本発明の一態様によると、CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する方法において、(a)学習装置が、少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの学習用特徴マップと、前記トレーニングイメージで少なくとも一つの学習用物体を含む少なくとも一つの学習用2Dバウンディングボックスとが取得されると、(i)プーリングレイヤ(Pooling Layer)をもって、前記学習用特徴マップ上で前記学習用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つの学習用プーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記学習用プーリング済み特徴マップを参照して前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(ii)前記学習用物体のイメージがトランケートされた状態であれば前記学習用物体を第1タイプ(First Type)であるとし、前記学習用物体のイメージがトランケートされていない状態であれば前記学習用物体を第2タイプ(Second Type)であるとすると、前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記学習用プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて前記学習用疑似3Dバウンディングボックスに対応する学習用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(iii)前記FCレイヤそれぞれに対応する少なくとも一つの分類レイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用物体の方向に関する学習用方向クラス情報を出力させ、前記FCレイヤそれぞれに対応する少なくとも一つのリグレッションレイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用2Dバウンディングボックスの座標に対応する前記学習用疑似3Dバウンディングボックスの座標に関する学習用リグレッション情報を生成させるプロセスと、(iv)少なくとも一つのFCロスレイヤをもって、前記学習用方向クラス情報と、前記学習用リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習するプロセスと、を遂行した状態で、少なくとも一つのテストイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つのテスト用特徴マップと、前記テストイメージで少なくとも一つのテスト用物体を含む少なくとも一つのテスト用2Dバウンディングボックスとが取得されると、テスト装置が、前記プーリングレイヤ(Pooling Layer)をもって、前記テスト用特徴マップ上で前記テスト用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つのテスト用プーリング済み特徴マップを生成させ、前記タイプ分類レイヤ(Type−Classifying Layer)をもって、前記テスト用プーリング済み特徴マップを参照して前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させる段階;(b)前記テスト用物体のイメージがトランケートされた状態であれば前記テスト用物体を第1タイプ(First Type)であるとし、前記テスト用物体のイメージがトランケートされていない状態であれば前記テスト用物体を第2タイプ(Second Type)であるとすると、前記テスト装置が、前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれの前記FCレイヤのうち一つをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記テスト用疑似3Dバウンディングボックスに対応するテスト用ボックスパターン(Box Pattern)情報を生成させる段階;及び(c)前記テスト装置が、(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用物体の方向に関するテスト用方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用リグレッション情報を生成させる段階;を含むことを特徴とする。
一実施例において、前記学習装置は、タイプロスレイヤ(Type Loss Layer)をもって、前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記学習用物体のイメージに対応する物体タイプ(Object−Type)原本正解とを参照して少なくとも一つのタイプロスを生成させることにより、前記タイプロスを利用したバックプロパゲーションを通じて前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする。
【0022】
一実施例において、前記(a)段階は、前記テスト装置は、前記タイプ分類レイヤをもって、前記テスト用物体の全体を含む領域に比べて前記テスト用プーリング済み特徴マップ上に示された前記テスト用物体の一部のみを含む領域の割合が所定の閾値以下である場合には、前記テスト用物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には、前記テスト用物体のイメージがトランケートされていないものと判断させることを特徴とする。
一実施例において、前記(c)段階で、前記テスト装置は、前記リグレッションレイヤそれぞれをもって、(i)前記テスト用2Dバウンディングボックスの頂点から前記テスト用物体の前面と裏面それぞれに対応するそれぞれのテスト用インスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記テスト用2Dバウンディングボックスの中心から前記それぞれのテスト用インスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記テスト用2Dバウンディングボックスの幅/高さの割合と前記テスト用インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記テスト用リグレッション情報を生成させることを特徴とする。
【0023】
一実施例において、前記(b)段階で、前記テスト装置は、前記テスト用物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第1ボックスパターン情報を生成し、前記テスト用物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第2ボックスパターン情報を生成し、前記(c)段階で、前記テスト装置は、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記第1タイプを有する前記テスト用物体の方向に対応するテスト用第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に対するテスト用第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記第2タイプを有する前記テスト用物体の方向に対応するテスト用第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用第2リグレッション情報を生成させることを特徴とする。
【0024】
一実施例において、前記テスト装置は、前記テストイメージを先行CNN基盤の物体検出器に入力して、前記物体検出器が(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって、前記テストイメージに対してコンボリューション演算を遂行して前記テスト用特徴マップを生成させ、(ii)RPNをもって、前記テスト用特徴マップから前記テストイメージ内の前記テスト用物体に対応する少なくとも一つのテスト用プロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記テスト用特徴マップ上で前記テスト用プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させてテスト用先行プーリング済み特徴マップを生成させ、(iv)先行FCレイヤ(PrecedingFC Layer)をもって、前記テスト用物体に対応するテスト用物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体のクラスに対応するテスト用物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体に対応する前記テスト用2Dバウンディングボックスに関するテスト用先行リグレッション情報を生成させることで、前記テスト用特徴マップと前記テスト用2Dバウンディングボックスを生成することを特徴とする。
本発明のまた他の態様によると、CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出する学習装置において、インストラクションを格納する少なくとも一つのメモリ;及び(I)少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して特徴マップが生成され、2Dバウンディングボックスが前記トレーニングイメージで少なくとも一つの物体を含むと、プーリングレイヤ(Pooling Layer)をもって、前記特徴マップ上で前記2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて少なくとも一つのプーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記プーリング済み特徴マップを参照して前記プーリング済み特徴マップ内の前記物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(II)前記物体のイメージがトランケートされた状態であれば前記物体を第1タイプ(First Type)であるとし、前記物体のイメージがトランケートされていない状態であれば前記物体を第2タイプ(Second Type)であるとすると、前記プーリング済み特徴マップ内の前記物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、前記疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させるプロセスと、(III)(i)前記FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、前記ボックスパターン情報を参照して前記物体の方向に関する方向クラス情報を出力させ、(ii)前記FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、前記ボックスパターン情報を参照して前記2Dバウンディングボックスの座標に対応する前記疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させるプロセスと、(IV)少なくとも一つのFCロスレイヤをもって、前記方向クラス情報と、前記リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習するプロセスと、を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とする。
【0025】
一実施例において、前記(I)プロセス以後に、前記プロセッサは、タイプロスレイヤをもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と前記物体のイメージに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、前記タイプロスをバックプロパゲーションして前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする。
【0026】
一実施例において、前記(I)プロセスで、前記プロセッサは、前記タイプ分類レイヤをもって、前記物体の全体を含む領域に対する、前記プーリング済み特徴マップ上に示された前記物体の一部のみを含む領域の割合が所定の閾値以下である場合には前記物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には前記物体のイメージがトランケートされていないものと判断させることを特徴とする。
【0027】
一実施例において、前記(III)プロセスで、前記プロセッサは、前記リグレッションレイヤそれぞれをもって、(i)前記2Dバウンディングボックスの頂点から前記物体の前面と裏面それぞれに対応するそれぞれのインスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記2Dバウンディングボックスの中心から前記それぞれのインスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び前記2Dバウンディングボックスの幅/高さの割合と前記インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記リグレッション情報を生成させることを特徴とする。
【0028】
一実施例において、前記(II)プロセスで、前記プロセッサは、前記物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第1ボックスパターン情報を生成し、前記物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記疑似3Dバウンディングボックスに対応する第2ボックスパターン情報を生成し、前記(III)プロセスで、前記プロセッサは、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記第1ボックスパターン情報を参照して前記第1タイプを有する前記物体の方向に対応する第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記第1ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記第2ボックスパターン情報を参照して前記第2タイプを有する前記物体の方向に対応する第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記第2ボックスパターン情報を参照して前記2Dバウンディングボックスの前記座標に対応する前記疑似3Dバウンディングボックスの前記座標に関する第2リグレッション情報を生成させることを特徴とする。
【0029】
一実施例において、前記(IV)プロセスで、前記プロセッサは、(i)前記第1FCレイヤに対応する第1FCロスレイヤをもって、前記第1方向クラス情報と、前記第1リグレッション情報と、これに対応する少なくとも一つの第1原本正解とを参照して少なくとも一つの第1方向クラスロス及び少なくとも一つの第1ボックスリグレッションロスを生成させることで、前記第1方向クラスロス及び前記第1ボックスリグレッションロスをバックプロパゲーションして前記第1FCレイヤのパラメータを学習し、(ii)前記第2FCレイヤに対応する第2FCロスレイヤをもって、前記第2方向クラス情報と、前記第2リグレッション情報と、これに対応する少なくとも一つの第2原本正解とを参照して少なくとも一つの第2方向クラスロス及び少なくとも一つの第2ボックスリグレッションロスを生成させることで、前記第2方向クラスロス及び前記第2ボックスリグレッションロスをバックプロパゲーションして前記第2FCレイヤのパラメータを学習することを特徴とする。
一実施例において、先行CNN(Preceding CNN)基盤の物体検出器から前記特徴マップと前記2Dバウンディングボックスとを取得することを特徴とする。
【0030】
一実施例において、前記トレーニングイメージを前記物体検出器に入力して、前記物体検出器が(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって前記トレーニングイメージに対してコンボリューション演算を行って前記特徴マップを生成させ、(ii)RPNをもって、前記特徴マップから前記トレーニングイメージ内の前記物体に対応する少なくとも一つのプロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記特徴マップ上で前記プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させて先行プーリング済み特徴マップを生成させ、(iv)先行FCレイヤ(Preceding FC Layer)をもって、前記物体に対応する物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記物体パターン情報を参照して前記物体のクラスに対応する物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記物体パターン情報を参照して前記物体に対応する前記2Dバウンディングボックスに関する先行リグレッション情報を生成させることで、前記特徴マップと前記2Dバウンディングボックスとを生成することを特徴とする。
一実施例において、検出器学習装置によって前記物体検出器を学習している状態で、前記検出器学習装置が、前記物体検出器内のタイプロスレイヤをもって、前記物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記イメージに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、前記タイプロスをバックプロパゲーションして前記物体検出器内のタイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする。
【0031】
本発明のまた他の態様によると、CNN基盤の疑似(Pseudo)3Dバウンディングボックスを少なくとも一つ検出するテスト装置において、インストラクションを格納する少なくとも一つのメモリ;及び学習装置が、少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの学習用特徴マップと、前記トレーニングイメージで少なくとも一つの学習用物体を含む少なくとも一つの学習用2Dバウンディングボックスとを取得すると、(i)プーリングレイヤ(Pooling Layer)をもって、前記学習用特徴マップ上で前記学習用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つの学習用プーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、前記学習用プーリング済み特徴マップを参照して前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(ii)前記学習用物体のイメージがトランケートされた状態であれば前記学習用物体を第1タイプ(First Type)であるとし、前記学習用物体のイメージがトランケートされていない状態であれば前記学習用物体を第2タイプ(Second Type)であるとすると、前記学習用プーリング済み特徴マップ内の前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、前記学習用プーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて前記学習用疑似3Dバウンディングボックスに対応する学習用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(iii)前記FCレイヤそれぞれに対応する少なくとも一つの分類レイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用物体の方向に関する学習用方向クラス情報を出力させ、前記FCレイヤそれぞれに対応する少なくとも一つのリグレッションレイヤそれぞれをもって、前記学習用ボックスパターン情報を参照して前記学習用2Dバウンディングボックスの座標情報に対応する前記学習用疑似3Dバウンディングボックスの座標に関する学習用リグレッション情報を生成させるプロセス、(iv)少なくとも一つのFCロスレイヤをもって、前記学習用方向クラス情報と、前記学習用リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、前記クラスロス及び前記リグレッションロスをバックプロパゲーションして前記FCレイヤのパラメータを学習するプロセスを遂行した状態で、(I)少なくとも一つのテストイメージに対してコンボリューション演算を少なくとも一回適用してテスト用特徴マップが生成され、テスト用2Dバウンディングボックスが前記テストイメージで少なくとも一つのテスト用物体を含むと、前記プーリングレイヤ(Pooling Layer)をもって、少なくとも一つの前記テスト用特徴マップ上で少なくとも一つの前記テスト用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つのテスト用プーリング済み特徴マップを生成させ、前記タイプ分類レイヤ(Type−Classifying Layer)をもって、前記テスト用プーリング済み特徴マップを参照して前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセス、(II)前記テスト用物体のイメージがトランケートされた状態であれば前記テスト用物体を前記第1タイプ(First Type)であるとし、前記テスト用物体のイメージがトランケートされていない状態であれば前記テスト用物体を前記第2タイプ(Second Type)であるとすると、前記テスト用プーリング済み特徴マップ内の前記テスト用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して前記第1タイプと前記第2タイプそれぞれに対応するそれぞれの前記FCレイヤのうち一つをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(III)(i)前記FCレイヤそれぞれに対応する前記分類レイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用物体の方向に関するテスト用方向クラス情報を生成させ、(ii)前記FCレイヤそれぞれに対応する前記リグレッションレイヤそれぞれをもって、前記テスト用ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用リグレッション情報を生成させるプロセスと、を遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とする。
【0032】
一実施例において、前記学習装置は、タイプロスレイヤ(Type Loss Layer)をもって、前記学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報と、前記学習用物体のイメージに対応する物体タイプ(Object−Type)原本正解とを参照して少なくとも一つのタイプロスを生成させることにより、前記タイプロスを利用したバックプロパゲーションを通じて前記タイプ分類レイヤのパラメータの少なくとも一部を調整することを特徴とする。
【0033】
一実施例において、前記(I)プロセスで、前記プロセッサは、前記タイプ分類レイヤをもって、前記テスト用物体の全体を含む領域に比べて前記テスト用プーリング済み特徴マップ上に示された前記テスト用物体の一部のみを含む領域の割合が所定の閾値以下である場合には前記テスト用物体のイメージがトランケートされたものと判断させ、前記割合が前記所定の閾値を超過する場合には前記テスト用物体のイメージがトランケートされていないものと判断させることを特徴とする。
一実施例において、前記(III)プロセスで、前記プロセッサは、前記リグレッションレイヤそれぞれをもって、(i)前記テスト用2Dバウンディングボックスの頂点から前記テスト用物体の前面と裏面それぞれに対応するそれぞれのテスト用インスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)前記テスト用2Dバウンディングボックスの中心から前記それぞれのテスト用インスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位や前記テスト用2Dバウンディングボックスの幅/高さの割合と前記テスト用インスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、前記テスト用リグレッション情報を生涯成すようにすることを特徴とする。
【0034】
一実施例において、前記(II)プロセスで、前記プロセッサは、前記テスト用物体が前記第1タイプである場合、前記第1タイプに対応する第1FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第1ボックスパターン情報を生成し、前記テスト用物体が前記第2タイプである場合、前記第2タイプに対応する第2FCレイヤをもって、前記テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて前記テスト用疑似3Dバウンディングボックスに対応するテスト用第2ボックスパターン情報を生成し、前記(III)プロセスで、前記プロセッサは、(i)前記第1FCレイヤに対応する第1分類レイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記第1タイプを有する前記テスト用物体の方向に対応するテスト用第1方向クラス情報を生成させ、前記第1FCレイヤに対応する第1リグレッションレイヤをもって、前記テスト用第1ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に対するテスト用第1リグレッション情報を生成させ、(ii)前記第2FCレイヤに対応する第2分類レイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記第2タイプを有する前記テスト用物体の方向に対応するテスト用第2方向クラス情報を生成させ、前記第2FCレイヤに対応する第2リグレッションレイヤをもって、前記テスト用第2ボックスパターン情報を参照して前記テスト用2Dバウンディングボックスの前記座標に対応する前記テスト用疑似3Dバウンディングボックスの前記座標に関するテスト用第2リグレッション情報を生成させることを特徴とする。
【0035】
一実施例において、前記テストイメージを先行CNN基盤の物体検出器に入力して、前記物体検出器が、(i)先行コンボリューションレイヤ(Preceding Convolutional Layer)をもって、前記テストイメージに対してコンボリューション演算を遂行して、前記テスト用の特徴マップを生成させ、(iii)RPNをもって、前記テスト用の特徴マップから前記テストイメージ内の前記テスト物体に対応する少なくとも一つのテスト用プロポーザルボックスを生成させ、(iii)先行プーリングレイヤ(Preceding Pooling Layer)をもって、前記テスト用特徴マップ上で前記テスト用プロポーザルボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させてテスト用先行プーリングされた特徴マップを生成させ、(iv)先行FCレイヤ(Preceding FC Layer)をもって、前記テスト用物体に対応するテスト用物体パターン情報を生成させ、(v)先行分類レイヤ(Preceding Classification Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体のクラスに対応するテスト用物体クラス情報を生成させ、(vi)先行リグレッションレイヤ(Preceding Regression Layer)をもって、前記テスト用物体パターン情報を参照して前記テスト用物体に対応する前記テスト用2Dバウンディングボックスに対するテスト用先行リグレッション情報を生成させることで、前記テスト用特徴マップと前記テスト用2Dバウンディングボックスとを生成することを特徴とする。
この他にも、本発明の方法を実行するためのコンピュータプログラムを格納するためのコンピュータ読取り可能な記録媒体がさらに提供される。
【発明の効果】
【0036】
本発明は、3D座標生成のための不要なコンピュータ演算なしに物体の3Dバウンディングボックスを生成することができ、物体検出の正確性を向上させることができる効果がある。
【0037】
また、本発明は、疑似3Dバウンディングボックス(Pseudo−3D Box)を利用することで、3D物体に外接する3Dバウンディングボックス(Bounding Box)を単純化することができる他の効果がある。
【0038】
また、本発明は、疑似3Dボックスの位置情報に対する2D座標を利用することで、コンピューティングリソースと演算時間とを減少させることができるまた他の効果がある。
【0039】
本発明の実施例の説明に利用されるために添付された以下の図面は、本発明の実施例のうち単に一部であるにすぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られ得る。
【図面の簡単な説明】
【0040】
【
図1】
図1は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出する学習装置を簡略に示したものである。
【
図2】
図2は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出する学習方法を簡略に示したものである。
【
図3】
図3は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出する学習方法において考慮すべきである物体のトランケート(Truncate)されたイメージとトランケートされていないイメージの例示を簡略に示したものである。
【
図4】
図4は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出する学習方法において考慮すべきである物体の方向クラスを簡略に示したものである。
【
図5】
図5は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出する学習方法において疑似3Dバウンディングボックス上の位置情報を生成するプロセスを簡略に示したものである。
【
図6】
図6は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出する学習方法において疑似3Dバウンディングボックス上の位置情報を生成する他のプロセスを簡略に示したものである。
【
図7】
図7は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出するテスト装置を簡略に示したものである。
【
図8】
図8は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出するテスト方法を簡略に示したものである。
【発明を実施するための形態】
【0041】
後述する本発明に関する詳細な説明は、本発明の各目的、各技術的解法、及び各長所を明らかにするために本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、通常の技術者が本発明を実施することができるように十分詳細に説明される。
【0042】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0043】
本発明で言及している各種イメージは、舗装又は非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0044】
以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施するようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することとする。
【0045】
図1は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを少なくとも一つ検出する学習装置を簡略に示したものであり、
図1を参照すると、学習装置100は通信部110とプロセッサ120とを含むことができる。また、学習装置は、次のプロセスを遂行するためのコンピュータ読取り可能なインストラクション(Instruction)を格納することができるメモリ115をさらに含むことができる。一実施例によると、プロセッサ、メモリ、媒体等は統合プロセッサ(Integrated Processor)として統合され得る。
【0046】
先ず、通信部110は、少なくとも一つの入力特徴マップと少なくとも一つの2Dバウンディングボックスとを取得するか、又は他の装置をもって取得し得るように支援することができる。ここで入力特徴マップは、少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成され、2Dバウンディングボックスは、トレーニングイメージで少なくとも一つの物体に外接するボックスを設定する。
【0047】
この際、通信部100は、データベース130に格納されたトレーニングイメージを物体検出器に入力することによって、データベース130又はCNN基盤の物体検出器から入力特徴マップ上の情報と2Dバウンディングボックスとを取得するか、又は他の装置をもって取得することができるように支援することができる。物体検出器を利用して入力特徴マップと2Dバウンディングボックスとを生成するプロセスは、以下に詳しく説明することにする。そして、データベース130には、2Dバウンディングボックスに対応する物体の方向に関するクラス情報及び疑似3Dバウンディングボックスの位置情報に関する少なくとも一つの原本正解(Ground Truth)が格納されていてもよい。これに加えて、データベース130には、トレーニングイメージ内の物体の2Dバウンディングボックスに関する位置情報に対応する少なくとも一つの原本正解及び物体クラスに対応する少なくとも一つの原本正解が格納されていてもよい。
【0048】
次に、プロセッサ120は、プーリングレイヤ(Pooling Layer)をもって、入力特徴マップ上で2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて少なくとも一つのプーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、プーリング済み特徴マップを参照してプーリング済み特徴マップ内の物体イメージがトランケートされたかトランケートされていないかを判断させる。物体のイメージがトランケートされた状態であれば物体を第1タイプ(First Type)であるとし、物体イメージがトランケートされていない状態であれば物体を第2タイプ(Second Type)であるとすると、プロセッサ120は、プーリング済み特徴マップ内の物体イメージがトランケートされたかトランケートされていないかに関する情報を参照して第1タイプと第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもってプーリング済み特徴マップに対してニューラルネットワーク演算を少なくとも一回適用させて、疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させることができる。そして、プロセッサ120は、(i)少なくとも一つの分類レイヤをもってボックスパターン情報を参照して物体の方向(Orientation)に対応する方向クラス情報を生成させ、(ii)それぞれのFCレイヤに対応するそれぞれのリグレッションレイヤをもって、ボックスパターン情報を参照して2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させる。以後、プロセッサ120は、少なくとも一つのFCロスレイヤをもって、方向クラス情報と、リグレッション情報と、これに対応する原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、クラスロス及びリグレッションロスを利用したバックプロパゲーションを通じてFCレイヤのパラメータを学習することができる。
【0049】
次に、プロセッサ120は、タイプロスレイヤをもって、物体イメージがトランケートされたかトランケートされていないかに関する情報と、これに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成させてタイプロスをバックプロパゲーションしてタイプ分類レイヤのパラメータの少なくとも一部を調整することができる。
【0050】
他の例を挙げると、(
図2と異なり)物体検出器10が検出器学習装置(図示せず)によって学習された状態で、検出器学習装置は物体検出器10内のタイプロスをもって、物体イメージがトランケートされたかトランケートされていないかに関する情報と、これに対応する物体タイプ原本正解とを参照してタイプロスを生成させてタイプロスをバックプロパゲーションして物体検出器10内のタイプ分類レイヤのパラメータの少なくとも一部を調整することができる。つまり、先行CNN(Preceding CNN)と呼ばれるCNN基盤の物体検出器10が学習されると、タイプ分類レイヤもともに学習される。この際、「先行(Preceding)」という用語は、学習装置100における混乱を防ぐために、物体検出器10内のレイヤ、入力及び出力について使用され得、詳しい内容は後に説明する。
【0051】
この際、本発明の一実施例による学習装置100は、コンピュータ装置であって、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明による学習装置100として採択され得る。また、
図1では、一つの学習装置100のみを示したが、これに限定されず、学習装置100は複数個に分けて役割を遂行することもできる。
【0052】
このように構成された本発明の一実施例による学習装置100を利用してCNN基盤の疑似3Dバウンディングボックスを検出する学習方法を
図2を参照して説明すると次のとおりである。
【0053】
まず、学習装置100は、トレーニングイメージに対してコンボリューション演算を遂行して生成された特徴マップと、トレーニングイメージ内の物体を含む2Dバウンディングボックスとを取得することができる。
【0054】
この際、学習装置100は、トレーニングイメージが先行CNNを基盤とした物体検出器10に入力されるように支援することができ、これを通じて学習装置100は、特徴マップと2Dバウンディングボックスとを物体検出器10から又はデータベース(図示せず)から取得するか、又は他の装置によって取得し得るよう支援することができる。
【0055】
そして、物体検出器10から入力特徴マップと2Dバウンディングボックスとを取得するプロセスを簡略に説明すると次のとおりである。この際、「先行(Preceding)」という用語は、学習装置100における混乱を防ぐために、本発明で最も重要な装置である学習装置100の入力端のすぐ前に配置され得る物体検出器10内のレイヤ、入力及び出力について用いることができる。以下、物体検出器10内のそれぞれのレイヤに対する演算は、物体検出器10によって制御されるが、場合によって学習装置100によって制御されることもある。
【0056】
物体検出器10がデータベースからトレーニングイメージを取得した後、物体検出器10が、学習された少なくとも一つのコンボリューションレイヤ11をもって、トレーニングイメージに対してコンボリューション演算を適用させて少なくとも一つの先行特徴マップを出力させる。そして、物体検出器10が学習された先行RPN12をもって、先行特徴マップからトレーニングイメージ内に位置する物体に対応する先行プロポーザルボックスを生成させ、少なくとも一つの先行プーリングレイヤ13をもって、それぞれの先行プロポーザルボックスに対応する先行特徴マップ上のそれぞれの領域に対してプーリング演算を適用させて少なくとも一つの先行プーリング済み特徴マップを生成させる。以後、物体検出器10は、学習された少なくとも一つの先行FCレイヤ14をもって、先行プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて物体に対応する先行物体パターン情報を生成させる。この場合、特徴に対応する先行物体パターン情報は、検出しようとする物体クラスのうち予測される物体クラスに関する情報と、バウンディングボックスに関する予想位置情報とを含むことができる。そして、物体検出器10は、少なくとも一つの先行分類レイヤ15をもって、先行物体パターン情報を参照して物体に関する先行クラス情報(例えば、検出しようとするそれぞれのクラスの確率情報)を生成させ、少なくとも一つの先行リグレッションレイヤ16をもって、先行物体パターン情報を参照して物体に対応する先行リグレッション情報を生成させることができる。この際、2Dバウンディングボックスは、先行プロポーザルボックスと先行リグレッション情報とを参照して生成され得る。これを通じて、学習装置100は、CNN基盤の物体検出器10の先行コンボリューションレイヤ11から生成される先行特徴マップと、先行リグレッションレイヤ16から生成される先行リグレッション情報とを利用して特徴マップとトレーニングイメージ内の物体に対する2Dバウンディングボックスとを取得することができる。
【0057】
次に、特徴マップと2Dバウンディングボックスが取得されると、学習装置100は、プーリングレイヤ121をもって、特徴マップ上で2Dバウンディングボックスに対応する領域に対してプーリング演算を適用させてプーリング済み特徴マップを生成させる。
【0058】
そして、学習装置100は、タイプ分類レイヤ122をもって、プーリング済み特徴マップを参照してプーリング済み特徴マップ内の物体イメージがトランケートされたかトランケートされていないかを判断させる。
【0059】
一例として、
図3を参照すると、タイプ分類レイヤ122をもって、物体の全体を含む領域に対する、プーリング済み特徴マップ上に示された物体の一部のみを含む領域の割合が(a)に示されたように所定の閾値以下である場合には、物体のイメージがトランケートされたものと判断させ、割合が所定の閾値を超過する場合には、物体のイメージがトランケートされていないものと判断させることができる。
【0060】
この際、タイプ分類レイヤ122は、プーリング済み特徴マップに対してニューラルネットワーク演算を適用するFCレイヤを含むか、又はFCN(Fully Convolution Network)を含むことができる。
【0061】
次に、物体のイメージがトランケートされた状態であれば、物体を第1タイプ(First Type)であるとし、物体のイメージがトランケートされていない状態であれば、物体を第2タイプ(Second Type)であるとすると、学習装置100は、プーリング済み特徴マップ内の物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して第1タイプと第2タイプそれぞれに対応するそれぞれのFCレイヤ123−1、123−2のうち一つをもって、プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて疑似3Dバウンディングボックスに対応するボックスパターン(Box Pattern)情報を生成させることができる。この際、特徴に対応するボックスパターン情報は、検出しようとする物体の方向クラスのうち予測される方向クラスに関する情報と、予測される疑似3Dバウンディングボックスの位置に関する情報とであり得る。
【0062】
一例として、タイプ分類レイヤ122の判別結果を参照して、物体が第1タイプであれば、学習装置100はFCレイヤのうち第1タイプに対応する第1FCレイヤ123−1をもって、プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて疑似3Dバウンディングボックスに対応する第1ボックスパターン情報を生成させる。そして、タイプ分類レイヤ122の判別結果を参照して、物体が第2タイプであれば、学習装置100はFCレイヤのうち第2FCレイヤ123−2をもって、プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて疑似3Dバウンディングボックスに対応する第2ボックスパターン情報を生成させる。
【0063】
次に、学習装置100は、(i)疑似3Dバウンディングボックス生成用FCレイヤ123−1、123−2それぞれに対応するそれぞれの分類レイヤ124−11、124−21をもって、ボックスパターン情報を参照して物体の方向に対応する方向クラス情報を生成することができ、(ii)FCレイヤ123−1、123−2それぞれに対応するリグレッションレイヤ124−12、124−22それぞれをもって、ボックスパターン情報を参照して2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に関するリグレッション情報を生成させることができる。
【0064】
一例として、第1FCレイヤ123−1に対応する分類レイヤ124−11をもって、第1ボックスパターン情報を参考にして第1タイプを有する物体の方向に対応する第1方向クラス情報を生成させることができる。例えば、学習装置100は、第1ボックスパターン情報を参照してそれぞれの方向クラスに関する確率情報を生成することができ、確率が最も高い特定方向クラスを当該物体の方向クラスとして判別することができる。学習装置100は、第1FCレイヤ123−1に対応する第1リグレッションレイヤ124−12をもって、第1ボックスパターン情報を参照して2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に関する第1リグレッション情報を生成させることができる。学習装置100は、第2FCレイヤに対応する第2分類レイヤ124−21をもって、第2ボックスパターン情報を参照して第2タイプを有する物体の方向に対応する第2方向クラス情報を生成させることができる。例えば、学習装置100は、第2ボックスパターン情報を参照してそれぞれの方向クラスに関する確率情報を生成させることができ、確率が最も高い特定方向クラスを当該物体の方向クラスとして判別することができる。学習装置100は、第2FCレイヤに対応する第2リグレッションレイヤ124−22をもって、第2ボックスパターン情報を参照して2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に関する第2リグレッション情報を生成させることができる。
【0065】
この際、
図4を参照すると、方向クラスは物体の方向を判別するためのものであって、自動車を例に挙げると、方向クラスそれぞれは(a)の場合、物体の裏面を、(b)の場合、物体の右側裏面を、(c)の場合、物体の右側面を、(d)の場合、物体の右側前面を、(e)の場合、物体の前面を、(f)の場合、物体の左側前面、(g)の場合、物体の左側面を、(h)の場合、物体の左側裏面を示す。
【0066】
また、学習装置100は、リグレッションレイヤ124−12、124−22をもって、(i)2Dバウンディングボックスの頂点から物体の前面と裏面それぞれに対応するそれぞれのインスタンスバウンディングボックスの頂点までのそれぞれの変位(Displacement)、並びに(ii)2Dバウンディングボックスの中心からそれぞれのインスタンスバウンディングボックスのそれぞれの中心までのそれぞれの変位及び2Dバウンディングボックスの幅/高さの割合とインスタンスバウンディングボックスのそれぞれの幅/高さの割合との間のそれぞれの差のうち少なくとも一つを利用して、リグレッション情報を生成させる。この際、それぞれのインスタンスバウンディングボックスの少なくとも一つの頂点それぞれが、対角線をなす2Dバウンディングボックスのそれぞれの頂点にそれぞれ対応し得る。
【0067】
一例として、
図5を参照すると、(i)物体の前面と裏面のうちいずれか一面に対応するインスタンスバウンディングボックスP1、P2、P3、P4と(ii)2DバウンディングボックスB1、B2、B3、B4の頂点との間の変位、(i)物体の前面と裏面のうち他の一面に対応するインスタンスバウンディングボックスP5、P6、P7、P8と(ii)2DバウンディングボックスB1、B2、B3、B4の頂点との間の変位をリグレッション情報として生成することができる。この際、一つのインスタンスバウンディングボックスの頂点P1は、2Dバウンディングボックスの頂点B1とマッチングすることができ、他のインスタンスバウンディングボックスの頂点P8は、2Dバウンディングボックスの頂点B4とマッチングすることができる。また、物体の前面と裏面についての判別は、分類レイヤ123からのクラス情報を通じて確認することができる。
【0068】
そして、リグレッション情報は、一つのインスタンスバウンディングボックス内の左側上端にある頂点P1とP5との間の変位、及び他のインスタンスのボックス内の右側下端にある頂点P4とP8との間の変位それぞれを含むことができ、この場合、一つのインスタンスバウンディングボックスの左側上端にある頂点であるP1は、2Dバウンディングボックスの左側上端にある頂点であるB1にマッチングし、他のインスタンスバウンディングボックスの右側下端にある頂点であるP8は、2Dバウンディングボックスの右側下端にある頂点であるB4にマッチングするので、リグレッション情報は頂点B4と頂点P4との間の変位、及び頂点B1と頂点P5との間の変位を含むことができる。一方、これとは異なり、リグレッション情報は一つのインスタンスバウンディングボックスの頂点P1、P2、P3、P4から他のインスタンスバウンディングボックスの頂点P5、P6、P7、P8までのそれぞれの変位を含むようにすることもできる。
【0069】
他の例として、
図6を参照すると、リグレッション情報は、(i)物体の前面と裏面のうちいずれか一面に対応する一つのインスタンスバウンディングボックスの頂点P1、P2、P3、P4の中心であるC1と2Dバウンディングボックスの頂点B1、B2、B3、B4の中心であるC0との間の変位、(ii)物体の前面と裏面のうち他の一面に対応する他のインスタンスバウンディングボックスの頂点P5、P6、P7、P8の中心であるC2と2Dバウンディングボックスの頂点B1、B2、B3、B4の中心であるC0との間の変位、及び(iii)一つのインスタンスバウンディングボックスの頂点P1、P2、P3、P4の幅であるW1と高さであるH1から2Dバウンディングボックスの幅であるW0と高さであるH0までのそれぞれの変位、及び他のインスタンスバウンディングボックスの幅であるW2と高さであるH2から2Dバウンディングボックスの幅であるW0と高さであるH0までのそれぞれの変位を含み得、これを通じてリグレッション情報を参照して一つのインスタンスバウンディングボックス及び他のインスタンスバウンディングボックスのそれぞれの頂点に対する座標を確認することができるようになる。
【0070】
一方、対角線をなす2Dバウンディングボックスのそれぞれの頂点(例えば、B1とB4)を第1頂点と第2頂点とし、第1頂点に少なくとも一つの頂点がマッチングするインスタンスバウンディングボックスを第1インスタンスバウンディングボックスとし、第2頂点に少なくとも一つの頂点がマッチングするインスタンスバウンディングボックスを第2インスタンスバウンディングボックスとする場合、学習装置100は(i)第1及び第2インスタンスバウンディングボックスの各頂点を連結し、前記各頂点が2Dバウンディングボックスを構成する二つの隣接するラインの第1ペア(First Pair)上に位置し、第1及び第2インスタンスバウンディングボックスの各頂点を連結し、前記頂点が2Dバウンディングボックスの他の二つの隣接したラインの第2ペア(Second Pair)上に位置し、第1及び第2ペアそれぞれにある二つの隣接したラインが対角線をなす頂点それぞれのどの頂点とも接さず、(ii)2Dバウンディングボックスのどのライン上にも存在しない第2インスタンスバウンディングボックスの頂点を第1頂点と連結した後、2Dバウンディングボックスのどのライン上にも存在しない第1インスタンスバウンディングボックスの頂点を第2頂点と連結して、クラス情報を参照して疑似3Dバウンディングボックスを生成することができる。
【0071】
つまり、
図4または
図5のように、頂点B1から始まって頂点B2を経て頂点B4までのライン上に位置する、一つのインスタンスバウンディングボックスの頂点P2と他のインスタンスバウンディングボックスの頂点P6とは連結され得、頂点B1から始まって頂点B3を経て頂点B4までのライン上に位置する、一つのインスタンスバウンディングボックスの頂点P3と他のインスタンスバウンディングボックスの頂点P7とは連結され得る。そして、一つのインスタンスバウンディングボックスの頂点P1と他のインスタンスバウンディングボックスの頂点P5とが連結され、頂点P4が頂点P8と連結され得る。これを通じて学習装置100は、六面体の形態で疑似3Dバウンディングボックスを生成することができ、疑似3Dバウンディングボックスは、頂点P1、P2、P4、P3によって形成される一面と、頂点P5、P6、P8、P7によって形成される一面と、頂点P1、P5、P7、P3によって形成される一面と、頂点P2、P6、P8、P4によって形成される一面と、頂点P1、P2、P6、P5によって形成される一面と、頂点P3、P4、P8、P7によって形成される一面とを含むようになる。
【0072】
次に、学習装置100は、少なくとも一つのFCロスレイヤ125−11、125−12、125−21、125−22をもって、方向クラス情報と、リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つのクラスロス及び少なくとも一つのリグレッションロスを生成することにより、クラスロス及びリグレッションロスを利用したバックプロパゲーションを通じてFCレイヤ123−1、123−2のパラメータを学習することができる。
【0073】
一例として、学習装置100は、(i)第1FCレイヤ123−1に対応する第1FCロスレイヤ125−11、125−12をもって、第1方向クラス情報と、第1リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つの第1方向クラスロス及び少なくとも一つの第1ボックスリグレッションロスを生成させることにより、第1方向クラスロス及び第1ボックスリグレッションロスを利用したバックプロパゲーションを通じて第1FCレイヤ123−1のパラメータを学習させ、(ii)第2FCレイヤ123−2に対応する少なくとも一つの第2FCロスレイヤ125−21、125−22をもって、第2方向クラス情報と、第2リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照して少なくとも一つの第2方向クラスロス及び少なくとも一つの第2ボックスリグレッションロスを生成させることで、第2方向クラスロス及び第2ボックスリグレッションロスを利用したバックプロパゲーションを通じて、第2FCレイヤ123−2のパラメータを学習することができる。
【0074】
これとは別に、学習装置100は、タイプロスレイヤ126をもって、物体のイメージがトランケートされたかトランケートされていないかに関する情報とこれに対応する物体タイプ原本正解とを参照して少なくとも一つのタイプロスを生成することにより、タイプロスを利用したバックプロパゲーションを通じてタイプ分類レイヤ122の少なくとも一つのパラメータを調整することができる。
【0075】
一方、(
図6と異なり)物体検出器10が検出器学習装置(図示せず)によって学習している状態で、検出器学習装置が、物体検出器10内のタイプロスレイヤ(図示せず)をもって、物体のイメージがトランケートされたかトランケートされていないかに関する情報とこれに対応する物体タイプ原本正解とを参照してタイプロスを生成させることで、タイプロスを利用したバックプロパゲーションを通じてタイプ分類レイヤ122のパラメータのうち少なくとも一部を調整することもできる。つまり、先行CNN基盤の物体検出器10を学習する場合、タイプ分類レイヤ122も共に学習することができる。
【0076】
図7は、本発明の一実施例によるCNN基盤の疑似3Dバウンディングボックスを検出するテスト装置を簡略に示したものであり、
図7を参照すると、テスト装置200は通信部210とプロセッサ220とを含むことができる。また、テスト装置は、次のプロセスを遂行するためのコンピュータ読取り可能なインストラクション(Instruction)を格納することができるメモリ115をさらに含むことができる。一実施例によると、プロセッサ、メモリ、媒体等は統合プロセッサ(Integrated Processor)として統合され得る。
【0077】
参考までに、以下の説明において混同を避けるため、「学習用」という文言は、前述の学習プロセスに関する用語に対して追加され、「テスト用」という文言は、テストプロセスに関する用語に対して追加される。
【0078】
まず、
図1と
図2とを参照して説明した学習装置が、(a)少なくとも一つのトレーニングイメージに対してコンボリューション演算を少なくとも一回適用して生成される少なくとも一つの学習用特徴マップと、トレーニングイメージで少なくとも一つの学習用物体を含む少なくとも一つの学習用2Dバウンディングボックスとが取得されると、プーリングレイヤ(Pooling Layer)をもって、学習用特徴マップ上で学習用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を少なくとも一回適用させて、少なくとも一つの学習用プーリング済み特徴マップを生成させ、タイプ分類レイヤ(Type−Classifying Layer)をもって、学習用プーリング済み特徴マップを参照して学習用プーリング済み特徴マップ内の学習用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(b)学習用物体のイメージがトランケートされた状態であれば学習用物体を第1タイプ(First Type)であるとし、学習用物体のイメージがトランケートされていない状態であれば学習用物体を第2タイプ(Second Type)であるとすると、学習用プーリング済み特徴マップ内の学習用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して第1タイプと第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもって、学習用プーリング済み特徴マップに対してニューラルネットワーク演算を適用するようにして学習用疑似3Dバウンディングボックスに対応する学習用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(c)(i)FCレイヤそれぞれに対応する少なくとも一つの分類レイヤそれぞれをもって、学習用ボックスパターン情報を参照して学習用物体の方向に関する学習用方向クラス情報を生成させ、(ii)FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもって、学習用ボックスパターン情報を参照して学習用2Dバウンディングボックスの座標に対応する学習用疑似3Dバウンディングボックスの座標に関する学習用リグレッション情報を生成させるプロセスと、(d)FCロスレイヤをもって学習用方向クラス情報と、学習用リグレッション情報と、これに対応する少なくとも一つの原本正解とを参照してクラスロス及び少なくとも一つのリグレッションロスを生成することにより、クラスロス及びリグレッションロスをバックプロパゲーションしてFCレイヤのパラメータを学習するプロセスと、を遂行した状態で、通信部210は、少なくとも一つのテスト用特徴マップと少なくとも一つのテスト用2Dバウンディングボックスとを取得するか、又は他の装置をもって取得することができるよう支援することができる。この際、テスト用特徴マップは、テストイメージに対してコンボリューション演算を遂行して生成され得、テスト用2Dバウンディングボックスは、物体検出器から出たテストイメージ上で少なくとも一つのテスト用物体を含むことができる。
【0079】
次に、プロセッサ220は、(a)プーリングレイヤをもって、テスト用特徴マップ上でテスト用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させ、少なくとも一つのテスト用プーリング済み特徴マップを生成させてタイプ分類レイヤをもって、テスト用プーリング済み特徴マップを参照してテスト用プーリング済み特徴マップ上のテスト用物体のイメージがトランケート(Truncate)されたかトランケートされていないかを判別させるプロセスと、(b)テスト用物体のイメージがトランケートされた状態であればテスト用物体を第1タイプ(First Type)であるとし、テスト用物体のイメージがトランケートされていない状態であればテスト用物体を第2タイプ(Second Type)であるとすると、テスト用プーリング済み特徴マップ内のテスト用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照して第1タイプと第2タイプそれぞれに対応するそれぞれのFCレイヤのうち一つをもってテスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させてテスト用疑似3Dバウンディングボックスに対応するテスト用ボックスパターン(Box Pattern)情報を生成させるプロセスと、(c)(i)FCレイヤそれぞれに対応する分類レイヤそれぞれをもって、テスト用ボックスパターン情報を参照してテスト用物体の方向に関するテスト用方向クラス情報を生成させ、(ii)FCレイヤそれぞれに対応するリグレッションレイヤそれぞれをもってテスト用ボックスパターン情報を参照してテスト用2Dバウンディングボックスの座標に対応するテスト用疑似3Dバウンディングボックスの座標に関するテスト用リグレッション情報を生成させるプロセスと、を遂行するか、又は他の装置によって遂行できるよう支援することができる。
【0080】
この際、本発明の一実施例によるテスト装置200は、コンピュータ装置であって、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明によるテスト装置200として採択され得る。また、
図7では、一つのテスト装置200のみを示したが、これに限定されず、テスト装置は複数個に分けて役割を遂行することもできる。
【0081】
このように構成された本発明の一実施例によるテスト装置200を利用して、CNN基盤の疑似3Dバウンディングボックスを検出するテスト方法を
図8を参照して説明することができる。以下の説明で、
図2ないし
図6を参照して説明した学習方法から容易に理解可能な部分については、詳細な説明を省略することにする。
【0082】
まず、
図2ないし
図6を参照して説明した学習方法によってFCレイヤ223−1、223−2のパラメータの少なくとも一部及びタイプ分類レイヤ222が学習された状態で、テストイメージがCNN基盤の物体検出器10に入力されると、テスト装置200は、物体検出器からテスト用特徴マップとテスト用2Dバウンディングボックスとを取得するか、又は他の装置によって取得するように支援する。
【0083】
つまり、物体検出器10がテストイメージを取得すると、物体検出器10が学習された先行コンボリューションレイヤ11をもって、テストイメージに対してコンボリューション演算を適用させて少なくとも一つのテスト用先行特徴マップを出力させる。そして、物体検出器10は、先行RPN12をもって、テスト用特徴マップからテストイメージ内に位置するテスト用物体に対応するテスト用先行プロポーザルボックスを生成させ、先行プーリングレイヤ13をもって、テスト用先行特徴マップ上でテスト用先行プロポーザルボックスに対応するそれぞれの領域に対してプーリング演算を適用させて少なくとも一つのテスト用先行プーリング済み特徴マップを生成させる。以後、物体検出器10は、先行FCレイヤ14をもって、テスト用先行プーリング済み特徴マップに対してニューラルネットワーク演算を適用させてテスト用物体に対応するテスト用先行物体パターン情報を生成させる。そして、物体検出器10は、先行分類レイヤ15をもって、テスト用先行物体パターン情報を参照してテスト用物体に関するテスト用先行クラス情報を生成させ、先行リグレッションレイヤ16をもってテスト用先行物体パターン情報を参照してテスト用物体に対応するテスト用先行リグレッション情報を生成させることができる。これを通じてテスト装置200は、CNN基盤の物体検出器10の先行コンボリューションレイヤ11から生成されるテスト用先行特徴マップと、先行リグレッションレイヤ16から生成されるテスト用先行リグレッション情報とを利用してテスト用特徴マップとテストイメージ内のテスト用物体に対するテスト用2Dバウンディングボックスとしてテスト用先行特徴マップとを取得するか、又は他の装置をもって取得することができるように支援することができる。
【0084】
次に、テストイメージに対してコンボリューション演算を適用して生成されたテスト用特徴マップと、テストイメージ内のテスト用物体を含むテスト用2Dバウンディングボックスとが取得されると、テスト装置200は、プーリングレイヤ221をもって、テスト用特徴マップ上でテスト用2Dバウンディングボックスに対応する少なくとも一つの領域に対してプーリング演算を適用させてテスト用プーリング済み特徴マップを生成させる。
【0085】
そして、テスト装置200は、タイプ分類レイヤ222をもってテスト用プーリング済み特徴マップを参照してテスト用プーリング済み特徴マップ上のテスト用物体のイメージがトランケートされたかトランケートされていないかを判別させる。この場合、タイプ分類レイヤ222は、テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させるFCレイヤ又はFCN(Fully Convolution Network)を含むことができる。
【0086】
次に、テスト装置200は、第1物体タイプ及び第2物体タイプにそれぞれ対応するFCレイヤ223−1、223−2のうち一つをもって、テスト用プーリング済み特徴マップ内のテスト用物体のイメージがトランケートされたかトランケートされていないかに関する情報を参照してテスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて疑似3Dバウンディングボックスに対応するテスト用ボックスパターン情報を生成させる。
【0087】
一例として、タイプ分類レイヤ222の判別結果を参照してテスト用物体が第1物体タイプであれば、テスト装置200は、FCレイヤのうち第1タイプに対応する第1FCレイヤ223−1をもって、テスト用プーリング済み特徴マップに対してニューラルネットワーク演算を適用させて疑似3Dバウンディングボックスに対応するテスト用第1ボックスパターン情報を生成させる。そして、タイプ分類レイヤ222の判別結果を参照して、テスト用物体が第2タイプであれば、FCレイヤのうち第2タイプに対応する第2FCレイヤ223−2をもって、テスト用プーリング済み特徴マップをニューラルネットワーク演算を適用させて疑似3Dバウンディングボックスに対応するテスト用第2ボックスパターン情報を生成させる。
【0088】
次に、テスト装置200は、(i)FCレイヤ223−1、223−2それぞれに対応する分類レイヤ224−11、224−21それぞれをもって、テスト用ボックスパターン情報を参照してテスト用物体の方向に関するテスト用方向クラス情報を生成させ、(ii)FCレイヤ223−1、223−2それぞれに対応するリグレッションレイヤ224−12、224−22それぞれをもってテスト用ボックスパターン情報を参照してテスト用2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に関するテスト用リグレッション情報を生成させることができる。
【0089】
一例として、テスト装置200は、第1FCレイヤ223−1に対応する第1分類レイヤ224−11をもって、テスト用第1ボックスパターン情報を参照して第1タイプを有するテスト用物体の方向に対応するテスト用第1方向クラス情報を生成する。
【0090】
例えば、テスト装置200は、テスト用第1ボックスパターン情報を参照してそれぞれの方向クラスに関する確率情報を生成させることができ、確率が最も高い特定方向クラスを該当テスト用物体の方向クラスとして判別することができるようにすることができる。テスト装置200は、第1FCレイヤ223−1に対応する第1リグレッションレイヤ224−12をもって、テスト用第1ボックスパターン情報を参照して2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に関するテスト用第1リグレッション情報を生成させることができる。テスト装置200は、第2FCレイヤ223−2に対応する第2分類レイヤ224−21をもって、テスト用第2ボックスパターン情報を参照して第2タイプを有するテスト用物体の方向に対応するテスト用第2方向クラス情報を生成させる。例えば、テスト装置200は、テスト用第2ボックスパターン情報を参照してそれぞれの方向クラスに関する確率情報を生成させることができ、確率が最も高い特定方向クラスを該当テスト用物体の方向クラスとして判別することができる。テスト装置200は、第2FCレイヤ223−2に対応する第2リグレッションレイヤ224−22をもって、テスト用第2ボックスパターン情報を参照して2Dバウンディングボックスの座標に対応する疑似3Dバウンディングボックスの座標に対するテスト用第2リグレッション情報を生成させる。
【0091】
学習方法とテスト方法を通じて、CNNはイメージ内の物体の条件に応じてモードを切り換えることができ、場合に応じて仮想走行中にトランケートされた物体をレンダリング(Rendering)することができる。
【0092】
また、本発明による実施例は、敵軍に属する物体の一部が隠れる場合が多いため、モバイル装置及び軍事目的に使用され得る。
【0093】
以上にて説明された本発明による各実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカル・ディスク(floptical disk)のような磁気−光メディア(magneto−optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行される高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
【0094】
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、係る記載から多様な修正及び変形が行われ得る。
【0095】
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等又は等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
【符号の説明】
【0096】
100;学習装置
110;通信部
120;プロセッサ
130;データベース
200;テスト装置
210;通信部
220;プロセッサ