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

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

▶ 株式会社ストラッドビジョンの特許一覧

特許6856952複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
<>
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000011
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000012
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000013
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000014
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000015
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000016
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000017
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000018
  • 特許6856952-複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6856952
(24)【登録日】2021年3月23日
(45)【発行日】2021年4月14日
(54)【発明の名称】複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20210405BHJP
【FI】
   G06T7/00 350C
【請求項の数】26
【全頁数】24
(21)【出願番号】特願2019-160651(P2019-160651)
(22)【出願日】2019年9月3日
(65)【公開番号】特開2020-38669(P2020-38669A)
(43)【公開日】2020年3月12日
【審査請求日】2019年9月3日
(31)【優先権主張番号】16/121,667
(32)【優先日】2018年9月5日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【弁理士】
【氏名又は名称】金子 修平
(72)【発明者】
【氏名】キム ゲヒョン
(72)【発明者】
【氏名】キム ヨンジュン
(72)【発明者】
【氏名】キム インス
(72)【発明者】
【氏名】キム ハクギョン
(72)【発明者】
【氏名】ナム ウンヒョン
(72)【発明者】
【氏名】ブ ソクフン
(72)【発明者】
【氏名】ソン ミョンチョル
(72)【発明者】
【氏名】ヨ ドンフン
(72)【発明者】
【氏名】リュ ウジュ
(72)【発明者】
【氏名】ジャン テウン
(72)【発明者】
【氏名】ジョン ギョンジュン
(72)【発明者】
【氏名】ジェ ホンモ
(72)【発明者】
【氏名】ジョ ホジン
【審査官】 千葉 久博
(56)【参考文献】
【文献】 米国特許出願公開第2017/0161919(US,A1)
【文献】 米国特許出願公開第2017/0124711(US,A1)
【文献】 中国特許出願公開第108304755(CN,A)
【文献】 相澤宏旭, 外2名,“多重解像度性を取り入れたEncoder−Decoder CNNによるパーツセグメンテーション”,第23回画像センシングシンポジウム,日本,画像センシング技術研究会,2017年12月31日,p.(SO3-IS3-34)
【文献】 Lev V. Utkin, 外4名,"A Siamese Autoencoder Preserving Distances for Anomaly Detection in Multi-Robot Systems",2017 International Conference on Control, Artificial Intelligence, Robotics & Optimization (ICCAIRO),米国,IEEE,2017年 5月22日,p.39-44
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数のビデオフレームを利用してCNN(Convolutional Neural Network)のパラメータを学習する方法において、
(a)CNN学習装置が、トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対して、各々コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得する段階;
(b)前記CNN学習装置が、前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参照して第1ロスを算出する段階;及び (c)前記CNN学習装置が、前記第1ロスをバックプロパゲーション(backpropagation)することにより、前記CNNの少なくとも一つのパラメータを最適化する段階;
を含み、
前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールド(receptivefield)が共通領域をどれだけ含んでいるかを示すことを特徴とするCNN学習方法。
【請求項2】
前記(b)段階で、
前記CNN学習装置は、(i)前記第t−k特徴マップを参照して生成された第t−k出力値と第t−k原本正解(Ground Truth)値の差異をもとに第2−1ロスを算出して、(ii)前記第t特徴マップを参照して生成された第t出力値と第t原本正解値の差異をもとに、第2−2ロスを算出し、
前記(c)段階で、
前記CNN学習装置は、前記第2−1ロス及び前記第2−2ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする請求項1に記載のCNN学習方法。
【請求項3】
前記第1ロス(l)は以下の数式で表現され、
ここでft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j)は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とする請求項に記載の方法。
【請求項4】
前記第1ロス重み付け値(wi,j)は、
i,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)
で表されることを特徴とする請求項に記載の方法。
【請求項5】
前記オプティカルフローが、o_forward及びo_backwardを含んでいる状態で、(I)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(II)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は、前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(III)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とする請求項に記載の方法。
【請求項6】
前記CNN学習装置は、(i)前記第t−k入力イメージを利用して前記第t−k特徴マップ及び前記第t−k出力値を獲得するための第1CNN及び(ii)前記第t入力イメージを利用して前記第t特徴マップ及び前記第t出力値を獲得するための第2CNNを含み、
前記第2CNNは、前記第1CNNと同一パラメータを有するように構成され、
前記(b)段階で、
前記CNN学習装置は、前記第1CNNで算出された前記第2−1ロスと、前記第2CNNで算出された前記第2−2ロスとを合わせた第2ロスを算出して、
前記(c)段階で、
前記CNN学習装置は、前記第1ロス及び前記第2ロスを前記第1CNNでバックプロパゲーションすることにより、前記第1CNNの前記パラメータを最適化して、前記第1CNNの前記最適化されたパラメータを前記第2CNNの前記パラメータに反映することを特徴とする請求項2に記載のCNN学習方法。
【請求項7】
前記(c)段階で、
次の数式により統合ロスが算出され、
統合ロス=ld(t−k)+ld(t)+λ×l
ここでld(t−k)は、前記第2−1ロス、ld(t)は、前記第2−2ロス、lは、前記第1ロス、λは、定数を表し、
前記統合ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする請求項2に記載の方法。
【請求項8】
前記第t−k出力値と前記第t出力値は、それぞれ前記第t−k特徴マップと前記第t特徴マップに対してデコンボリューション演算を少なくとも一回遂行して生成され、
前記第t−k出力及び前記第t出力は物体検出及びセグメンテーションの一つであることを特徴とする請求項2に記載の方法。
【請求項9】
入力イメージとしてのテストイメージに対するCNNのテスト方法において、
(a)CNN学習装置を利用して、(i)トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対して、各々コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得するプロセス;(ii)前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参照して第1ロスを算出するプロセス;及び(iii)前記第1ロスをバックプロパゲーションすることにより、前記CNNの少なくとも一つのパラメータを最適化するプロセス;を経て学習された前記CNNのパラメータが獲得された状態で、テスト装置が、前記のテストイメージを獲得する段階;及び
(b)前記テスト装置が、前記学習されたCNNの前記パラメータを利用して前記獲得されたテストイメージに対して所定の演算を行ってテスト用結果値を出力する段階;
を含み、
前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示すことを特徴とするCNNテスト方法。
【請求項10】
前記(ii)プロセスで、
前記CNN学習装置は、前記第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに第2−1ロスを算出して、前記第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに第2−2ロスを算出し、
前記(iii)プロセスで、
前記CNN学習装置は、前記第2−1ロス及び前記第2−2ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする請求項に記載のCNNテスト方法。
【請求項11】
前記第1ロス(l)は以下の数式で表現され、
ここで、ft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j
)は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は
、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値
であることを特徴とする請求項に記載のCNNテスト方法。
【請求項12】
前記第1ロス重み付け値(wi,j)は、
i,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)
で表されることを特徴とする請求項11に記載のCNNテスト方法。
【請求項13】
前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(I)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(II)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(III)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とする請求項12に記載のCNNテスト方法。
【請求項14】
複数のビデオフレームを利用してCNN(Convolutional Neural Network)のパラメータを学習する装置において、
トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージを獲得する通信部;
(I)前記第t−k入力イメージと、前記第t入力イメージに対して、各々コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得するプロセス;(II)前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参照して第1ロスを算出するプロセス;及び(III)前記第1ロスをバックプロパゲーションすることにより、前記CNNの少なくとも一つのパラメータを最適化するプロセス;を遂行するプロセッサ;
を含み、
前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示すことを特徴とするCNN学習装置。
【請求項15】
前記(II)プロセスで、
前記プロセッサは、(i)前記第t−k特徴マップを参照して生成された第t−k出力値と第t−k原本正解値の差異をもとに、第2−1ロスを算出して、(ii)前記第t特徴マップを参照して生成された第t出力値と第t原本正解値の差異をもとに第2−2ロスを算出し、
前記(III)プロセスで、
前記のプロセッサは、前記第2−1及び前記第2−2ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする請求項14に記載のCNN学習装置。
【請求項16】
前記第1ロス(l)は以下の数式で表現され、
ここで、ft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j)は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とする請求項14に記載のCNN学習装置。
【請求項17】
前記第1ロス重み付け値(wi,j)は、
i,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)
で表されることを特徴とする請求項16に記載のCNN学習装置。
【請求項18】
前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(1)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(2)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は、前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出されて、(3)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とする請求項17に記載のCNN学習装置。
【請求項19】
前記CNN学習装置は、(i)前記第t−k入力イメージを利用して前記第t−k特徴マップ及び前記第t−k出力値を獲得するための第1CNN及び(ii)前記第t入力イメージを利用して前記第t特徴マップ及び前記第t出力値を獲得するための第2CNNを含み、
前記第2CNNは、前記第1CNNと同一パラメータを有するように構成され、
前記(II)プロセスで、
前記のプロセッサは、前記第1CNNで算出された前記第2−1ロスと、前記第2CNNで算出された前記第2−2ロスとを合わせた第2のロスを算出して、
前記(III)プロセスで、
前記プロセッサは、前記第1ロス及び前記第2ロスを前記第1CNNでバックプロパゲーションすることにより、前記第1CNNの前記パラメータを最適化して、前記第1CNNの前記最適化されたパラメータを前記第2CNNの前記パラメータに反映することを特徴とする請求項15に記載のCNN学習装置。
【請求項20】
前記(III)プロセスは、下記の数式により統合ロスが算出され、
統合ロス=ld(t−k)+ld(t)+λ×l
ここでld(t−k)は、前記第2−1ロス、ld(t)は、前記第2−2ロス、lは、前記第1ロス、λは、定数を表し、
前記統合ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする請求項15に記載のCNN学習装置。
【請求項21】
前記第t−k出力値と前記第t出力値は、それぞれ前記第t−k特徴マップと前記第t特徴マップに対してデコンボリューション演算を少なくとも一回遂行して生成され、
前記第t−k出力及び前記第t出力は、物体検出及びセグメンテーションの一つであるものを特徴とする請求項15に記載のCNN学習装置。
【請求項22】
入力イメージとしてのテストイメージに対するCNNテストを遂行するCNNテスト装置において、
CNN学習装置を利用して(i)トレーニングイメージとして、第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対して、各々コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得するプロセス;(ii)前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参照にして、第1ロスを算出するプロセス;及び(iii)前記第1ロスをバックプロパゲーションすることにより、前記CNN学習装置の少なくとも一つのパラメータを最適化するプロセス;を経て学習された前記CNNのパラメータが獲得された状態で、テスト装置が、前記テストイメージを獲得する通信部;及び
前記学習されたCNNの前記パラメータを利用して前記獲得されたテストイメージに対して所定の演算を行ってテスト用結果値を出力するプロセスを実行するプロセッサ;
を含み、
前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示すことを特徴とするCNNテスト装置。
【請求項23】
前記(ii)プロセスで、
前記CNN学習装置は、前記第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに、第2−1ロスを算出して、前記第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに、第2−2ロスを算出し、
前記(iii)プロセスで、
前記CNN学習装置は、前記第2−1ロス及び前記第2−2ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする請求項22に記載のCNNテスト装置。
【請求項24】
前記第1ロス(l)は以下の数式で表現され、
ここでft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j)は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とする請求項22に記載のCNNテスト装置。
【請求項25】
前記第1ロス重み付け値 (wi,j)は、
i,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)
で表されることを特徴とする請求項24に記載のCNNテスト装置。
【請求項26】
前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(I)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(II)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は、前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(III)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とする請求項25に記載のCNNテスト装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のビデオフレームを利用してCNNのパラメータを最適化するための学習方法、学習装置とこれを利用したテスト方法とテスト装置に関する。 より詳細には、(a)CNN学習装置が、トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対して、各々コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得する段階;(b)前記CNN学習装置が、前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値を各々参照にして第1ロスを算出する段階;及び(c)前記CNN学習装置が、前記第1ロスをバックプロパゲーションすることにより、前記CNNの少なくとも一つのパラメータを最適化する段階;を含むことを特徴とするCNN学習方法及び学習装置、そしてそれに基づくCNNテスト方法及びテスト装置に関する。
【背景技術】
【0002】
ディープラーニング(Deep Learning)は、モノやデータを群集化・分類するのに用いられる技術である。例えば、コンピュータは写真だけで犬と猫を区別することができない。しかし、人はとても簡単に区別できる。このため「機械学習(Machine Learning)」という方法が考案された。多くのデータをコンピュータに入力し、類似したものを分類するようにする技術である。保存されている犬の写真と似たような写真が入力されれば、これを犬の写真だとコンピュータが分類するようにしたのである。
【0003】
データをどのように分類するかをめぐり、すでに多くの機械学習アルゴリズムが登場した。「決定木」や「ベイジアンネットワーク」「サポートベクターマシン(SVM)」「人工神経網」などが代表的だ。このうち、ディープラーニングは人工神経網の後裔といえる。
【0004】
ディープ・コンボリューション・ニューラル・ネットワーク(Deep Convolution Neural Networks;DeepCNNs)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNsは、文字の認識問題を解くために90年代にすでに使われたが、現在のように広く使われるようになったのは最近の研究結果のおかげである。このようなディープCNNは2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そして、コンボリューションニューラルネットワークは機械学習分野で非常に有用なツールとなった。
【0005】
図1は従来技術でCNNを利用し、写真から検出しようとする多様な出力の例を示す。
【0006】
具体的に、分類(Classification)は写真から検出しようとするクラスの種類、例えば、図1に示されているように、検出された物体(Object)が人か、羊か、犬かを識別する検出方法であり、検出(Detection)は写真から検出しようとするクラスのすべての物体をそれぞれバウンディングボックス形態で検出する方法の一つであり、セグメンテーション(Segmentation)は、写真で特定物体の領域を他の物体の領域と区分して分割する方法だ。 最近、ディープラーニング技術が脚光を浴び、分類、検出、セグメンテーションもディープラーニングを多く利用する傾向にある。
【0007】
図2は従来技術でCNNを利用した検出方法を簡略に示した図である。
【0008】
図2を参照すれば、学習装置は、入力イメージの入力を受けて、複数のフィルター(またはコンボリューションレイヤー)で数回のコンボリューション演算を遂行して特徴マップ(Feature Map)を獲得して、この特徴マップを検出レイヤー(Detection Layer)に通過させ、少なくとも一つのバウンディングボックス(Bounding Box)を得た後、これをフィルタリングレイヤー(Filtering Layer)に通過させて最終検出結果値を得る。このように検出された結果を、人があらかじめラベル付け(Annotation)しておいた原本正解(Ground Truth)と比較して、獲得されたロス値を利用してバックプロパゲーションを行うことにより、検出結果値が原本正解値にますます近づくように学習装置は漸進的に学習することになる。
【発明の概要】
【発明が解決しようとする課題】
【0009】
一方、動画等の連続したフレーム(又は連続したフレームに準ずる互いに近い複数のフレーム)では、同じ又は類似した位置にある物体に対しては、二つのフレームともに同じ物体として検出するのが正常である。ところが、この場合、動画で連続したあるいはある程度隣接した2つのフレーム(例えば、両フレーム間に閾値以下のフレームのみ存在する場合の両フレーム)で同じ位置の特徴値の差が大きく、検出やセグメンテーションで二つのフレームいずれにも存在する類似した物体を検出する際に、一つのフレームでは物体検出に成功するが、他のフレームでは物体検出に失敗する場合が発生し得る。
【0010】
本発明は、前述した問題点をすべて解決することをその目的とする。
【0011】
本発明の他の目的は、動画の隣接したフレームの間で、あるフレームでは物体検出に成功するのに対し、他のフレームでは同一または類似した位置にある物体に対して物体検出に失敗する問題を解決することを目的とする。
【0012】
また、本発明のもう一つの目的は、ディープニューラルネットワーク(deep neural network)で隣接したフレームの間で特徴値を類似させるように作られ得る方法を提供することをまたの目的とする。
【課題を解決するための手段】
【0013】
本発明の一態様によれば、複数のビデオフレームを利用してCNN(ConvolutionalNeural Network)のパラメータを学習する方法において、(a)CNN学習装置が、トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対して、各々コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得する段階;(b)前記CNN学習装置が、前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値を各々参照にして第1ロスを算出する段階;及び(c)前記CNN学習装置が、前記第1ロスをバックプロパゲーション(backpropagation)することにより、前記CNNの少なくとも一つのパラメータを最適化する段階;を含むことを特徴とするCNN学習方法が提供される。
【0014】
一例として、前記(b)段階において、前記CNN学習装置は、(i)前記第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解(Ground Truth)値の差異をもとに、第2−1ロスを算出して、(ii)前記第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに、第2−2ロスを算出し、前記(c)段階において、前記CNN学習装置は、前記第2−1ロス及び前記第2−2ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とするCNN学習方法が提供される。
【0015】
一例として、前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールド(receptivefield)が共通領域をどれだけ含んでいるかを示すことを特徴とする方法が提供される。
【0016】
一例として、前記第1ロス(l)は以下の数式で表現され、
ここで、ft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j) は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とする方法が提供される。
【0017】
一例として、前記第1ロス重み付け値(wi,j)は、wi,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)で表されることを特徴とする方法が提供される。
【0018】
一例として、前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(I)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(II)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は、前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(III)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とする方法が提供される。
【0019】
一例として、前記CNN学習装置は、(i)前記第t−k入力イメージを利用して前記第t−k特徴マップ及び前記第t−k出力値を獲得するための第1CNN及び(ii)前記第t入力イメージを利用して前記第t特徴マップ及び前記第t出力値を獲得するための第2CNNを含み、前記第2CNNは前記第1CNNと同一パラメータを有するように構成され、前記(b)段階において、前記CNN学習装置は、前記第1CNNで算出された前記第2−1ロスと、前記第2CNNで算出された前記第2−2ロスとを合わせた第2ロスを算出して、前記(c)段階において、前記CNN学習装置は、前記第1ロス及び前記第2ロスを前記第1CNNでバックプロパゲーションすることにより、前記第1CNNの前記パラメータを最適化して、前記第1CNNの前記最適化されたパラメータを前記第2CNNの前記パラメータに反映することを特徴とするCNN学習方法が提供される。
【0020】
一例として、前記(c)段階で、次の数式を通じて統合ロスが算出され、統合ロス=ld(t−k)+ld(t)+λ×l、ここでld(t−k)は、前記第2−1ロス、ld(t)は、前記第2−2ロス、lは、前記第1ロス、λは定数を表し、前記統合のロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とする方法が提供される。
【0021】
一実施例では、前記第t−k出力値と前記第t出力値はそれぞれ前記第t−k特徴マップと前記第t特徴マップに対して、デコンボリューション演算を少なくとも一回遂行して生成され、前記第t−k出力及び前記第t出力は、物体検出及びセグメンテーションの一つであることを特徴とする方法が提供される。
【0022】
本発明の他の態様によると、入力イメージとしてのテストイメージに対するCNNテスト方法において、(a)CNN学習装置を利用して(i)トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対してコンボリューション演算を少なくとも一回遂行して前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得するプロセス;(ii)前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値を各々参照にして第1ロスを算出するプロセス;及び(iii)前記第1ロスをバックプロパゲーションすることにより、前記CNN学習装置の少なくとも一つのパラメータを最適化するプロセス;を経て学習された前記CNN学習装置のパラメータが獲得された状態で、テスト装置が、前記テストイメージを獲得する段階;及び(b)前記テスト装置が、前記学習されたCNN学習装置の前記パラメータを利用し、前記獲得されたテストイメージに対し、所定の演算を遂行してテスト用の結果値を出力する段階;を含むことを特徴とするCNNテスト方法が提供される。
【0023】
一例として、前記(ii)プロセスで、前記CNN学習装置は、前記第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに第2−1ロスを算出して、前記第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに第2−2ロスを算出し、前記(iii)プロセスで、前記CNN学習装置は、前記第2−1及び前記第2−2ロスをバックプロパゲーションすることにより前記CNNの前記パラメータを最適化することを特徴とするCNNテスト方法が提供される。
【0024】
一例として、前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの 距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示すことを特徴とするCNNテスト方法が提供される。
【0025】
一例として、前記第1ロス(l)は以下の数式で表現され、
ここで、ft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j)は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とするCNNテスト方法が提供される。
【0026】
一例として、前記第1ロス重み付け値(wi,j)は、wi,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)で表されることを特徴とするCNNテスト方法が提供される。
【0027】
一例として、前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(I)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(II)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は、前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(III)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とするCNNテスト方法が提供される。
【0028】
本発明の他の態様によれば、複数のビデオフレームを利用してCNN(Convolutional Neural Network)のパラメータを学習する装置において、トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージを獲得する通信部;(I)前記第t−k入力イメージと、前記第t入力イメージに対して、コンボリューション演算を少なくとも一回遂行し、前記第t−kフレームに対応する第t−k特徴マップと前記第tフレームに対応する第t特徴マップを獲得するプロセス;(II)前記第t−k特徴マップと、前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参照にして第1ロスを算出するプロセス;及び(III) 前記第1ロスをバックプロパゲーションすることにより、前記CNNの少なくとも一つのパラメータを最適化するプロセス;を遂行するプロセッサ;を含むことを特徴とするCNN学習装置が提供される。
【0029】
一例として、前記(II)プロセスにおいて、前記プロセッサは、(i)前記第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに、第2−1ロスを算出して、(ii)前記第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに、第2−2ロスを算出し、前記(III)プロセスにおいて、前記プロセッサは、前記第2−1ロス及び前記第2−2ロスをバックプロパゲーションすることにより、前記CNNの前記パラメータを最適化することを特徴とするCNN学習装置が提供される。
【0030】
一例として、前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示すことを特徴とするCNN学習装置が提供される。
【0031】
一例として、前記第1ロス(l)は以下の数式で表現され、
ここで、ft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j)は、第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とするCNN学習装置が提供される。
【0032】
一例として、前記第1ロス重み付け値(wi,j)は、wi,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)で表されることを特徴とするCNN学習装置が提供される。
【0033】
一例として、前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(1)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(2)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は、前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(3)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とするCNN学習装置が提供される。
【0034】
一例として、前記CNN学習装置は、(i)前記第t−k入力イメージを利用して前記第t−k特徴マップ及び前記第t−k出力値を獲得するための第1CNN及び(ii)前記第t入力イメージを利用して前記第t特徴マップ及び前記第t出力値を獲得するための第2CNNを含み、前記第2CNNは、前記第1CNNと同一のパラメータを有するように構成され、前記(II)プロセスにおいて、前記プロセッサは、前記第1CNNで算出された前記第2−1ロスと、前記第2CNNで算出された前記第2−2ロスを合わせた第2のロスを算出して、前記(III)プロセッサで、前記プロセスは、前記第1ロス及び前記第2ロスを前記第1CNNでバックプロパゲーションすることにより、前記第1CNNの前記パラメータを最適化して、前記第1CNNの前記最適化されたパラメータを前記第2CNNの前記パラメータに反映することを特徴とするCNN学習装置が提供される。
【0035】
一例として、前記(III)プロセスは、次の数式を通じて統合ロスが算出され、統合ロス=ld(t−k)+ld(t)+λ×l、ここでld(t−k)は、前記第2−1ロス、ld(t)は、前記第2−2ロス、lは、前記第1ロス、λは定数を表し、前記統合のロスをバックプロパゲーションすることにより、前記CNNのパラメータを最適化することを特徴とするCNN学習装置が提供される。
【0036】
一例として、前記第t−k出力値と前記第t出力値はそれぞれ前記第t−k特徴マップと前記第t特徴マップに対して、デコンボリューション演算を少なくとも一回遂行して生成され、前記第t−k出力及び前記第t出力は、物体検出及びセグメンテーションの一つであるものを特徴とするCNN学習装置が提供される。
【0037】
本発明のまた他の態様によると、入力イメージとしてのテストイメージに対するCNNテストを遂行するCNNテスト装置において、CNN学習装置を利用して(i)トレーニングイメージとして第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージに対してコンボリューション演算を少なくとも一回遂行して前記第t−kフレームに対応する第t−k特徴マップと第tフレームに対応する第t特徴マップを獲得するプロセス;(ii)前記第t−k特徴マップと前記第t特徴マップの各ピクセルの間の少なくとも一つの距離の値を各々参照にして第1ロスを算出するプロセス;及び(iii)前記第1ロスをバックプロパゲーションすることにより、前記CNN学習装置の少なくとも一つのパラメータを最適化するプロセス;を経て学習された前記CNN学習装置のパラメータが獲得された状態で、CNNテスト装置が、前記テストイメージを獲得する通信部;及び前記学習されたCNN学習装置の前記パラメータを利用し、前記獲得されたテストイメージに対し、所定の演算を遂行してテスト用の結果値を出力するプロセスを遂行するプロセッサ;を含むことを特徴とするCNNテスト装置が提供される。
【0038】
一例として、前記(ii)プロセスにおいて、前記CNN学習装置は、前記第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに、第2−1ロスを算出して、前記第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに第2−2ロスを算出し、前記(iii)プロセスで、前記CNN学習装置は、前記第2−1ロス及び前記第2−2ロスをバックプロパゲーションすることにより前記CNNの前記パラメータを最適化することを特徴とするCNNテスト装置が提供される。
【0039】
一例として、前記第1ロスは、(i)前記第t−k特徴マップと前記第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に(ii)これに対応する第1ロス重み付け値を掛けて算出するものの、前記第1ロス重み付け値は、前記第t−k特徴マップと前記第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示すことを特徴とするCNNテスト装置が提供される。
【0040】
一例として、前記第1ロス(l)は以下の数式で表現され、
ここで、ft−k(i)は、前記第t−k特徴マップのi番目の特徴であり、f(j)は、前記第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、前記二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値であることを特徴とするCNNテスト装置が提供される。
【0041】
一例として、前記第1ロス重み付け値(wi,j)は、wi,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する前記実際の入力イメージの二つのレセプティブフィールド内のピクセルの数)で表されることを特徴とするCNNテスト装置が提供される。
【0042】
一例として、前記オプティカルフローがo_forward及びo_backwardを含んでいる状態で、(I)前記第t−k特徴マップから前記第t特徴マップへのオプティカルフローを示す前記o_forward及び前記第t特徴マップから前記第t−k特徴マップへのオプティカルフローを示す前記o_backwardが算出され、(II)(i)前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールドのピクセルの中で前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数は前記o_forwardを利用して算出され、(ii)前記第t特徴マップの前記j番目の特徴に対応する前記第t入力イメージのレセプティブフィールドのピクセルの中で前記第t−k特徴マップの前記i番目の特徴に対応する前記第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数は、前記o_backwardを利用して算出され、(III)前記第1ピクセル数及び前記第2ピクセル数を合計して、前記オプティカルフローによって連結されたピクセルの数が算出されることを特徴とするCNNテスト装置が提供される。
【発明の効果】
【0043】
本発明によれば、ディープニューラルネットワーク (deep neural network)で隣接するフレーム間で特徴値が類似して作られ得るようにし、動画の隣接フレームの間で、あるフレームでは物体検出に成功するのに対し、他のフレームでは同一の位置にある物体に対して物体検出に失敗する状況を防止する効果がある。
【0044】
また、本発明によれば、隣接する2つのフレームのオプティカルフローを求め、両フレームの特徴間の差を減少させ、隣接したフレーム間の特徴値が類似して維持されることで、各フレーム間の物体検出性能を高める効果がある。
【図面の簡単な説明】
【0045】
図1図1は従来技術でCNNを利用し、写真から検出しようとする多様な出力の例を表した図面である。
図2図2は従来技術でCNNを利用した検出方法を簡略に表した図面である。
図3図3は本発明によって複数のビデオフレームを利用してCNNのパラメータを学習する過程を示したフローチャートである。
図4図4は、本発明によって複数のビデオフレームを入力イメージにしたセグメンテーション過程でCNNのパラメータを学習する過程を図式化した図面である。
図5図5は、本発明によって複数のビデオフレームを入力イメージとした検出過程でCNNのパラメータを学習する過程を図式化した図面である。
図6図6はレセプティブフィールドを説明するための図面である。
図7図7はオプティカルフローを説明するための図面である。
図8図8は、図4の学習過程を通じて得たCNNのパラメータを利用してセグメンテーションを遂行するためのテストの過程を図式化した図面である。
図9図9は、図4の学習過程を通じて得たCNNのパラメータを利用して検出するためのテスト過程を図式化した図面である。
【発明を実施するための形態】
【0046】
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互に排他的である必要はないことが理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一実施例にかかる本発明の精神及び範囲を逸脱せずに他の実施例で具現され得る。また、各々の開始された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されると、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
【0047】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得て、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0048】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面を参照して詳細に説明することとする。
【0049】
本明細書で「隣接したフレーム」、「連続したフレーム」の意味は必ずしも物理的にすぐ隣り合わせのフレームを意味するものではなく、二つのフレームの間に閾値以下のフレームのみが含まれて連続することに準ずるものと判断される各フレームを意味し得ることを明かしておく。
【0050】
図3は本発明によって複数のビデオフレームを利用してCNNのパラメータを学習する過程を示したフローチャートである。
【0051】
図3を参照すれば、本発明にかかるCNN学習方法は、第t−kフレームに対応する第t−k入力イメージと第tフレームに対応する第t入力イメージを学習装置に入力する段階S01、第t−k入力イメージと第t入力イメージから各々第t−k特徴マップ及び第t特徴マップを獲得する段階S02、第t−k特徴マップと第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参照にして第1ロスを算出する段階S03、第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに第2−1ロスを算出して、第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに第2−2ロスを算出する段階S04、第1ロス、第2−1ロス及び第2−2ロスをバックプロパゲーションすることにより、CNNのパラメータを最適化する段階S05を含む。 ここで、kは1であり得るが、これに限定されるものではない。
【0052】
図4は、本発明によって複数のビデオフレームを入力イメージとしたセグメンテーション過程でCNNのパラメータを学習する過程を図式化した図である。
【0053】
また、図5は、本発明によって複数のビデオフレームを入力イメージとした検出過程でCNNのパラメータを学習する過程を図式化した図である。
【0054】
以下、図4及び図5を参照して、本発明にかかる連続したフレームの特徴値を類似させるように学習するセグメンテーションと検出のためのCNN学習過程を具体的に説明する。
【0055】
まず、第t−kフレームに該当する第t−k入力イメージと第tフレームに該当する第t入力イメージを学習装置に入力する段階S01で、学習装置がトレーニングイメージとして、第t−kフレームに対応する第t−k入力イメージと、前記第t−kフレームに後行するフレームである第tフレームに対応する第t入力イメージの入力を受ける。このとき、第t−kフレームと第tフレームは1つの動画の中に存在するフレームであり得る。
【0056】
また、第t−k入力イメージと第t入力イメージから各々第t−k特徴マップ及び第t特徴マップを獲得する段階S02で、図4及び図5に示されているように、CNN学習装置が第t−k入力イメージと第t入力イメージに対して各々コンボリューション演算を少なくとも一回遂行して第t−kフレームに対応する第t−k特徴マップと第tフレームに対応する第t特徴マップを獲得する。
【0057】
ここで、図4及び図5を参照すれば、前記CNN学習装置は、(i)前記第t−k入力イメージを利用して前記第t−k特徴マップ及び前記第t−k出力値を獲得するための第1CNN410、510及び(ii)前記第t入力イメージを利用して前記第t特徴マップ及び前記第t出力値を獲得するための第2CNN420、520を含み、前記第2CNNは前記第1CNNと同一パラメータを有するように構成され得る。また、他の実施例では、一つのCNN が第t−k入力イメージにコンボリューション演算を少なくとも一回遂行して第t−kフレームに対応する第t−k特徴マップを獲得した後に、第t入力イメージに対してコンボリューション演算を少なくとも一回遂行して第tフレームに対応する第t特徴マップを順次獲得し得る。
【0058】
また、第t−k特徴マップと第t特徴マップの各ピクセルの間の少なくとも一つの距離の値の各々を参考にして第1ロスを算出する段階S03で、(i)第t−k特徴マップと第t特徴マップの各特徴の間の少なくとも一つの距離の値の各々に、(ii)これに対応する第1ロス重み付け値を掛けて前記第1ロス(コンティニュイティロス、l)を算出する。ここで、第1ロス重み付け値は、第t−k特徴マップと第t特徴マップの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを示す。
【0059】
一般的に、学習過程は単純に各々のネットワークの目的によって、物体セグメンテーションネットワークではセグメンテーションロス(l)を減らす方向で、物体検出ネットワークでは検出ロス(l)を減らす方向でのみ学習するが、本発明では、コンティニュイティロス(l)を加えて連続したフレーム間の類似した物体を示す特徴が類似した値を有するようにする。
【0060】
本発明の一実施例において、前記コンティニュイティロス(l)は以下の数式で表現できる。
[数式1]
ここで、ft−k(i)は、第t−k特徴マップのi番目の特徴であり、f(j)は、第t特徴マップのj番目の特徴であり、φ(ft−k(i),f(j))は、二つの特徴間の距離であり、wi,jは、これに対応する前記第1ロス重み付け値になる。この時、前記第1ロス重み付け値(wi,j)は、wi,j=(前記第t−k特徴マップの前記i番目の特徴と、前記第t特徴マップの前記j番目の特徴に対応する実際の入力イメージの二つのレセプティブフィールド内でオプティカルフローによって連結されたピクセルの数)/(前記第t−k特徴マップのi番目の特徴と、前記第t特徴マップのj番目の特徴に対応する前記実際の入力イメージの二つレセプティブフィールド内のピクセルの数)と定義され得る。
【0061】
以下では、図6及び図7を参照して前記第1ロス重み付け値を具体的に説明すると、次のとおりである。
【0062】
図6はレセプティブフィールドを説明するための図面であり、図7はオプティカルフローを説明するための図面である。
【0063】
図6に示されているように、各々の特徴は各々に対応するレセプティブフィールドを有している。レセプティブフィールドとは、当該特徴を計算するのにイメージで用いられるピクセル領域をいう。図6の上段左側は第t−kフレーム610を表し、その中間の小さいボックス表示部は、第t−kフレーム内の特定の特徴(第t−k特徴マップ611で、黒い色で表示した部分の特徴)の値を計算するのに用いられたピクセル領域を示す。また、図6の上段右側は第tフレーム620を表し、その中間の小さいボックス表示部は、第tフレームの中の特定の特徴(第t特徴マップ621で、黒い色で表示した部分の特徴)の値を計算するのに用いられたピクセル領域を示す。
【0064】
ここで、第1ロス重み付け値(wi,j)は2つのフレームの間のレセプティブフィールドが共通領域をどれだけ含んでいるかを利用して計算するが、前記数式1は共通領域が増加することで、第1ロス重み付け値(wi,j)は1に近づき、共通領域が減少することで第1ロス重み付け値(wi,j)は0に近づくように設計された。例えば、第t−k特徴マップ611の黒い色で表示した部分に対応される特徴の値が1000.0で、第t特徴マップ621の黒い色で表示した部分に対応される特徴の値が700.0として、二つのレセプティブフィールドが30%の領域が重なった場合、両特徴の間の距離(φft−k(i),f(j))は1000−700=300 になって、二つのレセプティブフィールドがどれほど類似しているかを表す第1ロス重み付け値(wi,j)は0.3になる。従って、コンティニュイティロス(第1ロス) 計算過程で、第t−k特徴マップのi番目の特徴と第t特徴マップのj番目の特徴間の類似性は0.3*(1000−700)=90になる。また、二つの特徴マップ間のすべての特徴の間でこのような計算過程を遂行し、これらを合算すれば、コンティニュイティロス(第1ロス)が算出され得る。
【0065】
以下で、図7を参照して第1ロス重み付け値(wi,j)を求める過程を詳しく説明すると、次のとおりである。
【0066】
前述のように、第1ロス重み付け値(wi,j)は、(オプティカルフローによって連結されたピクセルの数)/(二つのレセプティブフィールド内のピクセルの数)のように表される。ここで、オプティカルフローによって連結されたピクセルの数を計算するため、第t−kフレームから第tフレームの方向710のフォワードオプティカルフロー(o_forward)と第tフレームから第t−k方向720のバックワードオプティカルフロー(o_backward)を計算する。そして、o_forwardを利用して、第t−kフレームの各ピクセルが第tフレームのどのピクセルとマッチングされるのかを確認し、マッチングされたピクセルの中で、f(j)(第t特徴マップのj番目の特徴)のレセプティブフィールドの中に含まれているピクセル数を計算する。次に、o_forwardも前記の方式でf(j)のレセプティブフィールドの中にマッチングされるピクセル数を計算する。二つのピクセル数の合計が、オプティカルフローによって連結されたピクセルの数になる。
【0067】
すなわち、(i)o_forwardを利用して、第t−k特徴マップのi番目の特徴に対応する第t−k入力イメージのレセプティブフィールドのピクセルの中から、第t特徴マップのj番目の特徴に対応する第t入力イメージのレセプティブフィールド内に入ってくる第1ピクセル数を計算して、(ii)o_backwardを利用して、第t特徴マップのj番目の特徴に対応する第t入力イメージのレセプティブフィールドのピクセルの中で、第t−k特徴マップのi番目の特徴に対応する第t−k入力イメージのレセプティブフィールド内に入ってくる第2ピクセル数を計算して、(iii)第1ピクセル数及び前記第2ピクセル数を合計してオプティカルフローによって連結されたピクセルの数を算出する。
【0068】
これと同じ方式で、コンティニュイティロス(第1ロス;l)を算出すると、二つの特徴マップの特徴の間の距離が増加してレセプティブフィールドの間の類似性が増加することで、コンティニュイティロスも増加する。つまり、二つの特徴マップのレセプティブフィールドが互いに類似している時は、二つの特徴マップの特徴の間の距離の値が小さくなってこそコンティニュイティロスが小さくなる。もし、二つの特徴マップのレセプティブフィールドが相互類似してなければ、二つの特徴マップの特徴の間の距離の値が大きいか小さいかに関係なくコンティニュイティロスは影響を受けない。
【0069】
再度図3を参照すると、第t−k特徴マップを参照にして生成された第t−k出力値と第t−k原本正解値の差異をもとに、第2−1ロスを算出して、第t特徴マップを参照にして生成された第t出力値と第t原本正解値の差異をもとに、第2−2ロスを算出する段階S04を遂行する。S04段階で、図4および図5に示されているように、CNNがセグメンテーションネットワークである場合、所定回数のデコンボリューション演算などを通じて生成された第t−k出力値は、第t−kフレームのセグメンテーション出力値となって、第t−k原本正解と比較して第2−1ロスを算出する。図4の上段部分で、第t−k原本正解値は、特定物体のバウンダリーをほぼ正確に区分して分割している反面、第t−kフレームのセグメンテーション出力値は、特定物体のバウンダリーを大まかに区分して分割している。 同様に、第t出力値は第tフレームのセグメンテーション出力値となって第t原本正解と比較して第2−2ロスを算出する。図4の下段部分で、第t原本正解値は、特定物体のバウンダリーをほぼ正確に区分して分割している反面、第tフレームのセグメンテーション出力値は、特定物体のバウンダリーを大まかに区分して分割している。
【0070】
一方、CNNが物体検出ネットワークである場合、所定回数のデコンボリューション演算などを通じて生成された第t−k出力値は、第t−kフレームの物体検出値となって第t−k原本正解と比較して第2−1ロスを算出する。図5の上段部分で、第t−kフレームの検出出力は、第t−k原本正解値よりタイトではないバウンディングボックスを有する。同様に、第t出力値は第tフレームの検出出力になって、第tフレームの検出出力と第t原本正解値を参照して第2−2ロスを算出する。図5の下段部分で、第tフレームの検出出力は第t原本正解値よりタイトではないバウンディングボックスを有する。
【0071】
ここで、第2−1ロスは、第1CNNで算出して、第2−2ロスは、第2CNNで算出し得る。もし、CNNが一つなら学習装置は、第t−k出力値と第2−1ロスを算出した後に、第t出力値と第2−2ロスを逐次的に算出し得る。
【0072】
一方、他の実施例で、学習装置は、第1CNNで算出された第2−1ロスと第2CNNで算出された第2−2ロスを合わせた第2ロスも算出し得る。図4で第2ロス(l)は、第2−1セグメンテーションロス(ls(t−k))や第2−2セグメンテーションロス(ls(t))の和で算出され、図5で第2ロス(l)は第2−1検出ロス(ld(t−k))や第2−2検出ロス(ld(t))の和で算出される。
【0073】
そして、第1ロス、第2−1ロス及び第2−2ロスをバックプロパゲーションしてCNNのパラメータを最適化する段階S05を遂行し得る。S05段階において、前記コンティニュイティロス(l)を第1CNNのエンコーダレイヤーにバックプロパゲーションして第1CNNのエンコーダレイヤーのパラメータを最適化し、第2−1セグメンテーションロス(ls(t−k))や第2−2セグメンテーションロス(ls(t))の和または第2−1検出ロス(ld(t−k))や第2−2検出ロス(ld(t))の和を第1CNNのデコーダーレイヤー及びエンコーダレイヤーにバックプロパゲーションして、第1CNNのデコーダーレイヤー及びエンコーダレイヤーのパラメータを最適化する。そして、最適化された第1CNNのパラメータは、第2CNNのパラメータに反映される。
【0074】
一方、本発明の他の実施例で、第2−1ロスは第1CNNの最適化に利用し、第2−2ロスは、第2CNNの最適化に利用することもあるが、第1CNN及び第2CNNが同一の方法で最適化されることが好ましい。第1ロス(コンティニュイティロス)は共通的に一つだけ算出されるため、ある一つのCNNだけを学習し、これを他のCNNに反映すれば充分だろう。すなわち、第2−1セグメンテーションロス(ls(t−k))又は第2−1検出ロス(ld(t−k))は、第1CNNのデコーダーレイヤー及びエンコーダレイヤーにバックプロパゲーションして、前記第1CNNのパラメータを最適化して、最適化された第1CNNのパラメータを第2CNNのパラメータに反映でき得る。また、他の例では、第2−1セグメンテーションロス(ls(t−k))又は第2−1検出ロス(ld(t−k))は第1CNNのデコーダーレイヤー及びエンコーダレイヤーにバックプロパゲーションして第1CNNのパラメータを最適化し、第2−2セグメンテーションロス(ls(t))又は第2−2検出ロス(ld(t))は第2CNNのデコーダーレイヤー及びエンコーダレイヤーにバックプロパゲーションをして第2CNNのパラメータを最適化し得る。
【0075】
また、他の実施例で、第1ロス、第2−1ロス及び第2−2ロスは以下の数式を通じて統合ロスとして算出され得る。
[数式2]
統合ロス=ld(t−k)+ld(t)+λ×l
ここでld(t−k)は、第2−1ロス、ld(t)は、第2−2ロス、lは、第1ロス、λは、定数である。
【0076】
そして、このように算出された統合ロスを第1CNNを通じてバックプロパゲーションして第1CNNのパラメータを最適化することができる。このような学習過程を通じてCNNのパラメータが最適化されれば、テスト装置は最適化されたパラメータを含むCNNを利用する。
【0077】
テスト装置は、図8及び図9に示されているように、ロス算出部分を除去して使うことができる。
【0078】
図8及び図9では、各々の物体セグメンテーションテストネットワークと物体検出テストネットワークが一つのイメージのみ入力を受けて演算する過程を示したが、本発明にかかるテスト装置は、動画など連続したフレームの入力を逐次的に受けて、逐次的に各イメージのセグメンテーションや物体検出結果を算出し得る。この場合、本発明にかかるディープニューラルネットワークでは、隣接するフレームの間に特徴値を類似させるようにし、動画の隣接した各フレームの間では特定の物体に対して連続的に失敗なく検出し得る効果が得られ得る。また、本発明によれば、隣接した2つのフレームのオプティカルフローを求め、隣接したフレーム間の特徴値が類似して維持されることで、各フレーム間の物体検出性能を高め得る効果がある。
【0079】
本発明技術分野の通常の技術者に理解され、前記で説明されたイメージ、例えばトレーニングイメージ、テストイメージといったイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得て、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/またはメモリ)によって保有/維持でき得て、コンボリューション演算、デコンボリューション演算、ロス値の演算過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明はこれに限定されるものではない。
【0080】
以上で説明された本発明にかかる実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で具現されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。 前記コンピュータ判読可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、 CD−ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気−光媒体(magneto−opticalmedia)、およびROM、RAM、フラッシュメモリなどといったプログラム命令語を保存して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記のハードウェア装置は本発明にかかる処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成されことがあり、その逆も同様である。
【0081】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であればかかる記載から多様な修正及び変形が行われ得る。
【0082】
従って、本発明の思想は前記の説明された実施例に極限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
図1
図2
図3
図4
図5
図6
図7
図8
図9