(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6869562
(24)【登録日】2021年4月16日
(45)【発行日】2021年5月12日
(54)【発明の名称】トラッキングネットワークを含むCNNを使用して物体をトラッキングする方法、及びそれを利用した装置{METHOD FOR TRACKING OBJECT BY USING CONVOLUTIONAL NEURAL NETWORK INCLUDING TRACKING NETWORK AND COMPUTING DEVICE USING THE SAME}
(51)【国際特許分類】
G06T 7/00 20170101AFI20210426BHJP
G06T 7/277 20170101ALI20210426BHJP
【FI】
G06T7/00 350C
G06T7/277
【請求項の数】26
【全頁数】32
(21)【出願番号】特願2019-183394(P2019-183394)
(22)【出願日】2019年10月4日
(65)【公開番号】特開2020-61144(P2020-61144A)
(43)【公開日】2020年4月16日
【審査請求日】2019年10月4日
(31)【優先権主張番号】16/152,937
(32)【優先日】2018年10月5日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
(74)【代理人】
【識別番号】110001737
【氏名又は名称】特許業務法人スズエ国際特許事務所
(72)【発明者】
【氏名】キム、ケヒョン
(72)【発明者】
【氏名】キム、ヨンジョン
(72)【発明者】
【氏名】キム、インス
(72)【発明者】
【氏名】キム、ハキョン
(72)【発明者】
【氏名】ナム、ウンヒュン
(72)【発明者】
【氏名】ボ、シュクフン
(72)【発明者】
【氏名】スン、ミュンチュル
(72)【発明者】
【氏名】ヨー、ドンフン
(72)【発明者】
【氏名】リュウ、ウージュ
(72)【発明者】
【氏名】ジャン、テウォン
(72)【発明者】
【氏名】ジョン、キュンジョン
(72)【発明者】
【氏名】ジェ、ホンモ
(72)【発明者】
【氏名】チョ、ホジン
【審査官】
武田 広太郎
(56)【参考文献】
【文献】
米国特許出願公開第2017/0098161(US,A1)
【文献】
Jifeng Dai et al,R-FCN: Object Detection via Region-based Fully Convolutional Networks,arXiv,2016年 5月20日,1-11,URL,https://arxiv.org/abs/1605.06409v1.pdf
【文献】
Ming-Ching Chang et al,Video Analytics in Smart Transportation for the AIC’18 Challenge,2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW),米国,IEEE,2018年 6月22日,61-68,URL,https://ieeexplore.ieee.org/document/8575323
【文献】
Long Chen et al,Real-Time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-Identification,2018 IEEE International Conference on Multimedia and Expo (ICME),米国,IEEE,2018年 7月27日,URL,https://ieeexplore.ieee.org/document/8486597
【文献】
Xinlei Pan et al,Label and Sample: Efficient Training of Vehicle Object Detector from Sparsely Labeled Data,arXiv,2018年 8月26日,URL,https://arxiv.org/pdf/1808.08603.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/277
(57)【特許請求の範囲】
【請求項1】
トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を利用して少なくとも一つの物体をトラッキングする方法において、
(a)テスト装置が、入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる段階;
(b)前記テスト装置が、(i)(i−1)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(i−2)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(i−3)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス、及び(ii)FCN(Fully Convolutional Network)をもって、前記特徴マップに少なくとも一つのフル(full)コンボリューション演算を適用して少なくとも一つの位置基盤スコアマップ(position sensitive score map)を出力させるプロセスを遂行する段階;
(c)前記テスト装置が、少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記位置基盤スコアマップ上で前記シードボックスに対応する領域をプーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる段階;及び
(d)前記テスト装置が、前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する段階;
を含むことを特徴とする方法。
【請求項2】
前記(b)段階で、
前記テスト装置は、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする請求項1に記載の方法。
【請求項3】
前記(d)段階で、
前記テスト装置は、(i)前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、(ii)前記カルマンゲインと前記予測状態ベクトルとを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、(iii)前記カルマンゲインと前記予測誤差の共分散とを利用して前記現在の映像フレームの現在の誤差の共分散をアップデートすることを特徴とする請求項2に記載の方法。
【請求項4】
前記(c)段階で、
前記テスト装置は、前記位置基盤スコアマップで前記シードボックスに対応する少なくとも一つの領域にプーリング演算を適用し、前記プーリングされた位置基盤スコアマップにグローバルプーリング演算を適用して、前記特定のプロポーザルボックスに対応する前記クラススコアと前記リグレッションデルタとを算出させることを特徴とする請求項1に記載の方法。
【請求項5】
前記(b)段階で、
前記テスト装置は、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴とする請求項1に記載の方法。
【請求項6】
前記(a)段階で、
前記テスト装置は、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする請求項1に記載の方法。
【請求項7】
前記(a)段階以前に、
学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)(ii−1)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(ii−2)前記FCN(Fully Convolutional Network)をもって、前記トレーニング用特徴マップに少なくとも一つのフルコンボリューション演算を適用して少なくとも一つのトレーニング用位置基盤スコアマップを生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用位置基盤スコアマップ上の前記各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応するトレーニング用クラススコアそれぞれとトレーニング用リグレッションデルタそれぞれとを算出させ、(iv)少なくとも一つのロスレイヤ(loss layer)をもって、前記それぞれのトレーニング用リグレッションデルタと、前記それぞれのトレーニング用クラススコアと、これに対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出することにより、前記ロスをバックプロパゲーションすることで前記FCNと前記コンボリューションレイヤのパラメータとを学習させることを特徴とする請求項6に記載の方法。
【請求項8】
トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して少なくとも一つの物体をトラッキングする方法において、
(a)テスト装置が、入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる段階;
(b)前記テスト装置が、(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、
(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(iii)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセスを遂行する段階;
(c)前記テスト装置が、少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記特徴マップ上で前記シードボックスに対応する少なくとも一つの領域をプーリングして、少なくとも一つの特徴ベクトルを生成し、少なくとも一つのFCレイヤ(FC layer)をもって、前記特徴ベクトルに少なくとも一つのFC演算(fully connected operation)を適用して、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる段階;
(d)前記テスト装置が、前記リグレッションデルタと前記シードボックスとを参照して前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する段階;
を含むことを特徴とする方法。
【請求項9】
前記(b)段階で、
前記テスト装置は、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする請求項8に記載の方法。
【請求項10】
前記(d)段階で、
前記テスト装置は、(i)前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、(ii)前記カルマンゲインと前記予測状態ベクトルとを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、(iii)前記カルマンゲインと前記予測誤差の共分散とを利用して前記現在の映像フレームの現在の予測誤差の共分散をアップデートすることを特徴とする請求項9に記載の方法。
【請求項11】
前記(b)段階で、
前記テスト装置は、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及びそれぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴する請求項8に記載の方法。
【請求項12】
前記(a)段階で、
前記テスト装置は、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする請求項8に記載の方法。
【請求項13】
前記(a)段階以前に、
学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージにコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用特徴マップ上の前記トレーニング用プロポーザルボックスそれぞれに対応する各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応する少なくとも一つのトレーニング用特徴ベクトルを算出するようにし、前記FCレイヤをもって、前記トレーニング用特徴ベクトルにFC演算を適用して、前記トレーニング用プロポーザルボックスそれぞれに対応するそれぞれのトレーニング用クラススコアとそれぞれのトレーニング用リグレッションデルタとを算出させ、(iv)少なくとも一つのロスレイヤをもって、それぞれのトレーニング用リグレッションデルタと、それぞれのトレーニング用クラススコアと、それにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出し、前記ロスをバックプロパゲーションすることでFCN(Fully Convolutional Network)と前記コンボリューションレイヤのパラメータとを学習させることを特徴とする請求項12に記載の方法。
【請求項14】
トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して少なくとも一つの物体をトラッキングする装置において、
入力される映像の少なくとも一つの映像フレームを取得する通信部;及び
(I)入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて、前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させるプロセス;(II)(II−1)(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(iii)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス、及び(II−2)FCN(Fully Convolutional Network)をもって、前記特徴マップに少なくとも一つのフル(full)コンボリューション演算を適用して少なくとも一つの位置基盤スコアマップ(position sensitive score map)を出力させるプロセス;(III)少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記位置基盤スコアマップ上で前記シードボックスに対応する領域をプーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させるプロセス;及び(IV)前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整するプロセス;を遂行するプロセッサ
を含むことを特徴とする装置。
【請求項15】
前記プロセッサは、
前記(II)プロセスで、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする請求項14に記載の装置。
【請求項16】
前記プロセッサは、
前記(IV)プロセスで、前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、前記カルマンゲインと前記予測状態ベクトルとを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、前記カルマンゲインと前記予測誤差の共分散とを利用して前記現在の映像フレームの現在の誤差の共分散をアップデートすることを特徴とする請求項15に記載の装置。
【請求項17】
前記プロセッサは、
前記(III)プロセスで、前記位置基盤スコアマップで前記シードボックスに対応する少なくとも一つの領域にプーリング演算を適用し、前記プーリングされた位置基盤スコアマップにグローバルプーリング演算を適用して、前記特定のプロポーザルボックスに対応する前記クラススコアと前記リグレッションデルタとを算出させることを特徴とする請求項14に記載の装置。
【請求項18】
前記プロセッサは、
前記(II)プロセスで、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴とする請求項14に記載の装置。
【請求項19】
前記プロセッサは、
前記(I)プロセスで、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする請求項14に記載の装置。
【請求項20】
前記プロセッサは、
前記(I)プロセス以前に、
学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)(ii−1)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(ii−2)前記FCN(Fully Convolutional Network)をもって、前記トレーニング用特徴マップに少なくとも一つのフルコンボリューション演算を適用して少なくとも一つのトレーニング用位置基盤スコアマップを生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用位置基盤スコアマップ上の前記各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応するトレーニング用クラススコアそれぞれとトレーニング用リグ用リグレッションデルタそれぞれとを算出させ、(iv)少なくとも一つのロスレイヤ(loss layer)をもって、前記それぞれのトレーニング用リグレッションデルタと、前記それぞれのトレーニング用クラススコアと、これに対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出し、前記ロスをバックプロパゲーションすることで前記FCNと前記コンボリューションレイヤのパラメータとを学習させること
を特徴とする請求項19に記載の装置。
【請求項21】
トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して少なくとも一つの物体をトラッキングする装置において、
入力される映像の少なくとも一つの映像フレームを取得する通信部;及び
(I)入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させるプロセス;(II)(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(iii)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス;(III)少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記特徴マップ上で前記シードボックスに対応する少なくとも一つの領域をプーリングして、少なくとも一つの特徴ベクトルを生成し、少なくとも一つのFCレイヤ(FC layer)をもって、前記特徴ベクトルに少なくとも一つのFC演算(fully connected operation)を適用して、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させるプロセス;及び(IV)前記リグレッションデルタと前記シードボックスとを参照して前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して、前記現在のバウンディングボックスを調整するプロセス;を遂行するプロセッサ
を含むことを特徴とする装置。
【請求項22】
前記プロセッサは、
前記(II)プロセスで、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする請求項21に記載の装置。
【請求項23】
前記プロセッサは、
前記(IV)プロセスで、前記予測誤差の共分散を利用してカルマンゲインを取得し、前記カルマンゲインと前記予測状態ベクトルとを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、前記カルマンゲインと前記予測誤差の共分散を利用して前記現在の映像フレームの現在の誤差の共分散をアップデートすることを特徴とする請求項22に記載の装置。
【請求項24】
前記プロセッサは、
前記(II)プロセスで、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴とする請求項21に記載の装置。
【請求項25】
前記プロセッサは、
前記(I)プロセスで、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする請求項21に記載の装置。
【請求項26】
前記プロセッサは、
前記(I)プロセス以前に、
学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージにコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用特徴マップ上の前記トレーニング用プロポーザルボックスそれぞれに対応する各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応する少なくとも一つのトレーニング用特徴ベクトルを算出させ、前記FCレイヤをもって、前記トレーニング用特徴ベクトルにFC演算を適用して、前記トレーニング用プロポーザルボックスそれぞれに対応するそれぞれのトレーニング用クラススコアとそれぞれのトレーニング用リグレッションデルタとを算出させ、(iv)少なくとも一つのロスレイヤをもって、それぞれのトレーニング用リグレッションデルタと、それぞれのトレーニング用クラススコアと、これにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出し、前記ロスをバックプロパゲーションすることにより、FCN(Fully Convolutional Network)と前記コンボリューションレイヤのパラメータとを学習させることを特徴とする請求項25に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はトラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して、少なくとも一つの物体をトラッキングする方法において、(a)テスト装置が、入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる段階;(b)前記テスト装置が、(i)(i−1)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(i−2)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(i−3)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス、及び(ii)FCN(Fully Convolutional Network)をもって、前記特徴マップに少なくとも一つのフル(full)コンボリューション演算を適用して少なくとも一つの位置基盤スコアマップ(position sensitive score map)を出力させるプロセスを遂行する段階;及び(c)前記テスト装置が、少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記位置基盤スコアマップ上で前記シードボックスに対応する領域をプーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる段階;及び(d)前記テスト装置が、前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する段階;を含むことを特徴とする方法及びこれを利用した装置に関する。
【背景技術】
【0002】
ビジュアルトラッキングと呼ばれる物体トラッキングは、一連のイメージ又は映像においてターゲットを探知、抽出、識別及び位置を探し出すプロセスである。交通状況モニタリング、医療診断、視覚的監視及び人間とコンピュータとの相互作用などを含み、広範囲な実際の応用プログラムを備えた基本的なコンピュータビジョン作業である。
【0003】
既存の外観に基づくトラッキング(appearance−based tracking)方法は、ほとんど探知によるトラッキング(tracking−by−detection)の問題が発生した。モデル構成メカニズムによると、統計的モデリングは生成的モデリング(generative modeling)、差別的モデリング(discriminative modeling)及びハイブリッドモデリング(hybrid generative discriminative modeling)と同じく3つのカテゴリに分類される。主な短所は、ターゲットの意味情報(semantic information)をキャプチャすることができず、重要な形の変化に堅固でなく、弁別力(discriminative power)が制限的であって低いレベルの手作業に依存しているということである。
【0004】
ディープランニングは、2006年に発表されて以降、テキスト、イメージ、映像、音声及びその他の様々な領域(例えば、新薬の開発及び遺伝体学など)を処理する最新技術を大きく改善した。特に、CNN(Convolutional Neural Networks)は近年、イメージクラシフィケーション、シメンティックセグメンテーション、物体検出など、様々なコンピュータビジョン作業に適用されている。
【0005】
CNNのこのような大きな成功は、主に視覚的データを表す優れた性能のためである。しかし、低レベルの手作業機能を基盤としたアプローチ方式は、依然として実用的にうまく動作するのに対し、映像処理応用プログラムに大量のトレーニングデータを収集することが難しく、まだ物体トラッキングに特化されたトレーニングアルゴリズムを使用することができないため、物体トラッキングはCNNの人気傾向に影響をあまり受けない。最近のいくつかのトラッキングアルゴリズムは、イメージネット(ImageNet)のような大規模なクラシフィケーションデータセットであらかじめトレーニングされたCNNを伝送して、データ不足の問題を解決した。
【0006】
このような方法は、一般的な特徴表現を取得するには十分であり得るが、クラシフィケーション及びトラッキング問題、つまり任意のクラスのターゲットを予測することと、物体クラスラベルとの間の根本的な不一致により、トラッキングの側面ではその効果が制限的である。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上述した問題点を全て解決することをその目的とする。
【0008】
本発明は、トラッキングネットワークを含むCNNを利用して、少なくとも一つの物体をトラッキングする方法を提供することを他の目的とする。
【0009】
本発明は、物体トラッキングのための別途の学習が必要でないトラッキングネットワークを含むCNNを提供することをまた他の目的とする。
【0010】
本発明は、物体検出器で学習されたCNNを利用して物体トラッキングを遂行する方法を提供することをまた他の目的とする。
【0011】
本発明は、物体検出を遂行する既存のCNNに比べて、少ない演算量で物体をトラッキングする方法を提供することをまた他の目的とする。
【課題を解決するための手段】
【0012】
前記ような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記の通りである。
【0013】
本発明の一態様によると、トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して、少なくとも一つの物体をトラッキングする方法において、(a)テスト装置が、入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて、前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる段階;(b)前記テスト装置が、(i)(i−1)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(i−2)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(i−3)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス、及び(ii)FCN(Fully Convolutional Network)をもって、前記特徴マップに少なくとも一つのフル(full)コンボリューション演算を適用して少なくとも一つの位置基盤スコアマップ(position sensitive score map)を出力させるプロセスを遂行する段階;(c)前記テスト装置が、少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記位置基盤スコアマップ上で前記シードボックスに対応する領域をプーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる段階;及び(d)前記テスト装置が、前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する段階;を含むことを特徴とする方法が提供される。
【0014】
一実施例において、前記(b)段階で、前記テスト装置は前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする方法が提供される。
【0015】
一実施例において、前記(d)段階で、前記テスト装置は、(i)前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、(ii)前記カルマンゲインと前記予測状態ベクトルとを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、(iii)前記カルマンゲインと前記予測誤差の共分散を利用して、前記現在の映像フレームの現在の誤差の共分散をアップデートすることを特徴とする方法が提供される。
【0016】
一実施例において、前記(c)段階で、前記テスト装置は、前記位置基盤スコアマップにおいて前記シードボックスに対応する少なくとも一つの領域にプーリング演算を適用し、前記プーリングされた位置基盤スコアマップにグローバルプーリング演算を適用して、前記特定のプロポーザルボックスに対応する前記クラススコアと前記リグレッションデルタとを算出させることを特徴とする方法が提供される。
【0017】
一実施例において、前記(b)段階で、前記テスト装置は、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴とする方法が提供される。
【0018】
一実施例において、前記(a)段階で、前記テスト装置は、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする方法が提供される。
【0019】
一実施例で、前記(a)段階以前に、学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)(ii−1)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(ii−2)前記FCN(Fully Convolutional Network)をもって、前記トレーニング用特徴マップに少なくとも一つのフルコンボリューション演算を適用して少なくとも一つのトレーニング用位置基盤スコアマップを生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用位置基盤スコアマップ上の前記各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応するトレーニング用クラススコアそれぞれとトレーニング用リグレッションデルタそれぞれとを算出させ、(iv)少なくとも一つのロスレイヤ(loss layer)をもって、前記それぞれのトレーニング用リグレッションデルタと、前記それぞれのトレーニング用クラススコアと、これにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出することにより、前記ロスをバックプロパゲーションすることで前記FCNと前記コンボリューションレイヤのパラメータとを学習させることを特徴とする方法が提供される。
【0020】
本発明の他の態様によると、トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して少なくとも一つの物体をトラッキングする方法において、(a)テスト装置が、入力される映像の現在映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる段階;(b)前記テスト装置が、(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは、予測された位置に関する情報を含み、(iii)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセスを遂行する段階;(c)前記テスト装置が、少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記特徴マップ上で前記シードボックスに対応する少なくとも一つの領域をプーリングして、少なくとも一つの特徴ベクトルを生成し、少なくとも一つのFCレイヤ(FC layer)をもって、前記特徴ベクトルに少なくとも一つのFC演算(fully connected operation)を適用して、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる段階;及び(d)前記テスト装置が、前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する段階;を含むことを特徴とする方法が提供される。
【0021】
一実施例において、前記(b)段階で、前記テスト装置は、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする方法が提供される。
【0022】
一実施例において、前記(d)段階で、前記テスト装置は、(i)前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、(ii)前記カルマンゲインと前記予測状態ベクトルとを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、(iii)前記カルマンゲインと前記予測誤差の共分散を利用して前記現在の映像フレームの現在誤差の共分散をアップデートすることを特徴とする方法が提供される。
【0023】
一実施例において、前記(b)段階で、前記テスト装置は、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴とする装置が提供される。
【0024】
一実施例において、前記(a)段階で、前記テスト装置は、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする方法が提供される。
【0025】
一実施例において、前記(a)段階以前に、学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージにコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用特徴マップ上の前記トレーニング用プロポーザルボックスそれぞれに対応する各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応する少なくとも一つのトレーニング用特徴ベクトルを算出させ、前記FCレイヤをもって、前記トレーニング用特徴ベクトルにFC演算を適用して、前記トレーニング用プロポーザルボックスそれぞれに対応するそれぞれのトレーニング用クラススコアとそれぞれのトレーニング用リグレッションデルタを算出するようにし、(iv)少なくとも一つのロスレイヤをもって、それぞれのトレーニング用リグレッションデルタと、それぞれのトレーニング用クラススコアと、これにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出し、前記ロスをバックプロパゲーションすることにより、
FCN(Fully Convolutional Network)と前記コンボリューションレイヤのパラメータとを学習させることを特徴とする方法が提供される。
【0026】
本発明のまた他の態様によると、トラッキングネットワーク(Tracking network)を含むCNN(Convolutional Neural Network)を使用して少なくとも一つの物体をトラッキングする装置において、入力される映像の少なくとも一つの映像フレームを取得する通信部;及び(I)入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に対する情報を生成させるプロセス;(II)(II−1)(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(iii)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス、及び(II−2)FCN(Fully Convolutional Network)をもって、前記特徴マップに少なくとも一つのフル(full)コンボリューション演算を適用して少なくとも一つの位置基盤スコアマップ(position sensitive score map)を出力させるプロセス;(III)少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記位置基盤のスコアマップ上で前記シードボックスに対応する領域をプーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させるプロセス;及び(IV)前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを調整するプロセス;を遂行するプロセスを含むことを特徴とする装置が提供される。
【0027】
一実施例において、前記プロセッサは、前記(II)プロセスで、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して前記現在の映像フレームの少なくとも一つの以前の予測誤差の共分散を算出することを特徴とする装置が提供される。
【0028】
一実施例において、前記プロセッサは、前記(IV)プロセスで、前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、前記カルマンゲインゲインと前記予測状態ベクトルを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、前記カルマンゲインと前記予測誤差の共分散を利用して前記現在の映像フレームの現在の誤差の共分散をアップデートすることを特徴とする装置が提供される。
【0029】
一実施例において、前記プロセッサは、前記(III)プロセスで、前記位置基盤スコアマップにおいて前記シードボックスに対応する少なくとも一つの領域にプーリング演算を適用し、前記プーリングされた位置基盤スコアマップにグローバルプーリング演算を適用して、前記特定のプロポーザルボックスに対応する前記クラススコアと前記リグレッションデルタとを算出させることを特徴とする装置が提供される。
【0030】
一実施例において、前記プロセッサは、前記(II)プロセスで、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することを特徴とする装置が提供される。
【0031】
一実施例において、前記プロセッサは、前記(I)プロセスで、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記それぞれのプロポーザルボックスを出力するように支援することを特徴とする装置が提供される。
【0032】
一実施例で、前記プロセッサは、前記(I)プロセス以前に、学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)(ii−1)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(ii−2)前記FCN(Fully Convolutional Network)をもって、前記トレーニング用特徴マップに少なくとも一つのフルコンボリューション演算を適用して少なくとも一つのトレーニング用位置基盤スコアマップを生成させ、(iii)前記プーリングレイヤをもって前記トレーニング用位置基盤スコアマップ上の前記各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応するトレーニング用クラススコアそれぞれと、トレーニング用リグレッションデルタそれぞれを算出させ、(iv)少なくとも一つのロスレイヤ(loss layer)をもって、前記それぞれのトレーニング用リグレッションデルタと、前記それぞれのトレーニング用クラススコアと、これに対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出することにより、前記ロスをバックプロパゲーションすることで前記FCNと前記コンボリューションレイヤのパラメータとを学習させることを特徴とする装置が提供される。
【0033】
本発明のまた他の態様によると、トラッキングネットワークを含むCNN(Convolutional Neural Network)を使用して少なくとも一つの物体をトラッキングする装置において、入力される映像の少なくとも一つの映像フレームを取得する通信部;及び(I)入力される映像の現在の映像フレームを利用して、少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させるプロセス;(II)(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをもってカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは、予測された位置に関する情報を含み、(iii)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定するプロセス;(III)少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記特徴マップ上で前記シードボックスに対応する少なくとも一つの領域をプーリングして、少なくとも一つの特徴ベクトルを生成し、少なくとも一つのFCレイヤ(FC layer)をもって、前記特徴ベクトルに少なくとも一つのFC演算(fully connected operation)を適用して、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させるプロセス;及び(IV)前記リグレッションデルタと前記シードボックスとを参照して前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して、前記現在のバウンディングボックスを調整するプロセス;を遂行するプロセッサを含むことを特徴とする装置が提供される。
【0034】
一実施例において、前記プロセッサは、前記(II)プロセスで、前記カルマンフィルタアルゴリズムを利用して、前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することを特徴とする装置が提供される。
【0035】
一実施例において、前記プロセッサは、前記(IV)プロセスで、前記予測誤差の共分散を利用してカルマンゲイン(Kalman gain)を取得し、前記カルマンゲインゲインと前記予測状態ベクトルを利用して前記現在のバウンディングボックスの位置情報による前記現在のバウンディングボックスの現在の状態ベクトルをアップデートし、前記カルマンゲインと前記予測誤差の共分散を利用して前記現在の映像フレームの現在の誤差の共分散をアップデートすることを特徴とする装置が提供される。
【0036】
一実施例において、前記プロセッサは、前記(II)プロセスで、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうちの一種類を参照して前記シードボックスを決定することを特徴とする装置が提供される。
【0037】
一実施例において、前記プロセッサは、前記(I)プロセスで、少なくとも一つのコンボリューションレイヤ(convolutional layer)をもって、前記現在の映像フレームに少なくとも一つのコンボリューション演算を適用して前記特徴マップを取得させ、前記RPNをもって、前記特徴マップ上の前記物体が含まれるものと推定される領域に対応する前記プロポーザルボックスを出力するように支援することを特徴とする装置が提供される。
【0038】
一実施例において、前記プロセッサは、前記(I)プロセス以前に、学習装置が、(i)前記コンボリューションレイヤをもって、少なくとも一つのトレーニングイメージにコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、(ii)前記RPNをもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、(iii)前記プーリングレイヤをもって、前記トレーニング用特徴マップ上の前記トレーニング用プロポーザルボックスそれぞれに対応する各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応する少なくとも一つのトレーニング用特徴ベクトルを算出させ、前記FCレイヤをもって、前記トレーニング用特徴ベクトルにFC演算を適用して、前記トレーニング用プロポーザルボックスそれぞれに対応するそれぞれのトレーニング用クラススコアとそれぞれのトレーニング用リグレッションデルタを算出するようにし、(iv)少なくとも一つのロスレイヤをもって、それぞれのトレーニング用リグレッションデルタと、それぞれのトレーニング用クラススコアと、これにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出し、前記ロスをバックプロパゲーションすることにより
FCN(Fully Convolutional Network)と前記コンボリューションレイヤのパラメータとを学習させることを特徴とする装置が提供される。
【発明の効果】
【0039】
本発明はトラッキングネットワークを含むCNNを利用して物体をトラッキングすることが可能となる。
【0040】
また、本発明は、物体トラッキングのための別途の学習が必要でないトラッキングネットワークを含むCNNを提供することができる。
【0041】
また、本発明は、物体検出で学習されたCNNを利用して物体トラッキングを遂行可能なようにすることで、物体トラッキングのための開発に要する費用と時間を最小化することができる。
【0042】
また、本発明は、物体検出を遂行する既存のCNNに比べて少ない演算量で物体トラッキングをすることができるようになる。
【図面の簡単な説明】
【0043】
本発明の実施例の説明に利用されるために添付された以下の図面は、本発明の実施例のうち単に一部であるにすぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られ得る。
【0044】
【
図1】
図1は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して、少なくとも一つの物体をトラッキングするテスト装置を簡略に示したものである。
【
図2】
図2は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法を簡略に示したものである。
【
図3】
図3は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法において、少なくとも一つの特徴マップを取得する状態を簡略に示したものである。
【
図4】
図4は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法において、一つ以上のプロポーザルボックスを取得する状態を簡略に示したものである。
【
図5】
図5は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法において、少なくとも一つの予測バウンディングボックスを取得する状態を簡略に示したものである。
【
図6】
図6は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法において、カルマンフィルタアルゴリズムを簡略に示したものである。
【
図7】
図7は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法において、少なくとも一つのシードボックスを取得する状態を簡略に示したものである。
【
図8】
図8は、本発明の一実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法において、物体の少なくとも一つのバウンディングボックスを取得する状態を簡略に示したものである。
【
図9】
図9は、本発明の他の実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングするテスト装置を簡略に示したものである。
【
図10】
図10は、本発明の他の実施例によるトラッキングネットワークを含むCNNを利用して物体をトラッキングする方法を簡略に示したものである。
【発明を実施するための形態】
【0045】
後述する本発明に関する詳細な説明は、本発明の各目的、各技術的解法及び各長所を明らかにするために、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。
【0046】
本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現される得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述の詳細な説明は、限定的な意味として受け取ろうとするものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な側面にわたって同一であるか、又は類似の機能を指す。
【0047】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0048】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0049】
以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施するようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することとする。
【0050】
図1は、本発明の一実施例によるトラッキングネットワークを含むCNNを使用して物体をトラッキングするテスト装置100を簡略に示したものであって、
図1を参照すると、テスト装置100は通信部110とプロセッサ120を含むことができる。
【0051】
先ず、通信部110は、入力される映像のうち少なくとも一つの現在の映像フレームを取得することができる。この際、映像はイメージシーケンスを含むことができる。
【0052】
次に、プロセッサ120は、(i)入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる第1プロセス;(ii)(ii−1)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii−2)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは、予測された位置に関する情報を含み、(ii−3)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定し、(ii−4)FCN(Fully Convolutional Network)をもって、前記特徴マップに少なくとも一つのフル(full)コンボリューション演算を適用して少なくとも一つの位置基盤スコアマップ(position sensitive score map)を出力させる第2プロセス;(iii)少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記位置基盤のスコアマップ上で前記シードボックスに対応する領域をプーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる第3プロセス;及び(iv)前記リグレッションデルタと前記シードボックスとを参照して、前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する第4プロセスを遂行することができる。
【0053】
この際、本発明の一実施例によるテスト装置100は、コンピュータ装置であって、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明によるテスト装置100として採択され得る。また、
図1では一つのテスト装置100のみを示したが、これに限定されず、テスト装置は複数個に分けて役割を遂行することもできる。
【0054】
このように構成された本発明の一実施例によるテスト装置100を利用してトラッキングネットワークを含むCNN(Convolutional Neural Network)を使用して物体をトラッキングする方法を、
図2を参照して説明すると以下のとおりである。
【0055】
まず、テスト装置100は、入力される映像の現在の映像フレームVFから特徴マップFMを取得する。
【0056】
一例として、
図3を参照すると、ビジョンセンサ(図示せず)などによって撮影された映像が入力されると、テスト装置100は、入力される映像の現在の映像フレームVFを取得するか、又は他の装置をもって取得するように支援し、一つ以上のコンボリューションレイヤ121をもって、現在の映像フレームVFに一回以上のコンボリューション演算を適用して特徴マップFMを出力させる。この際、現在の映像フレームVFは、RGBの3チャンネルを有する1280x720サイズのイメージであり得、特徴マップFMは40x23サイズである256チャンネルを有することができるが、それぞれのサイズ及びチャンネルデプスはこれに限定されず、多様なサイズと多様なチャンネルデプスを有することができる。
【0057】
次に、テスト装置100は、取得された特徴マップFMをRPN(Region Proposal Network)122に入力し、RPNをもって、特徴マップに少なくとも一つの演算を適用して、物体に対応するプロポーザルボックスPBに関する情報を生成する。
【0058】
一例として、
図4を参照すると、テスト装置100はRPN122をもって、特徴マップFM上に物体を含むものと推定される領域に対応するプロポーザルボックスPB1、PB2、PB3、PB4を出力するように支援することができる。ここで、
図4では4つのプロポーザルボックスPB1、PB2、PB3、PB4を示したが、これは説明の便宜のためであって物体に対応するプロポーザルボックスの個数はこれに限定されない。また、
図4ではトラッキングとしようとする一つの物体を例示的に示しているが、これに限定されず、トラッキングとしようとする物体は2つ以上になり得、トラッキングとしようとする複数の物体それぞれに対して複数のプロポーザルボックスを出力することができる。そして、
図4では複数のプロポーザルボックスPB1、PB2、PB3、PB4を現在の映像フレームVFに示したが、これは説明の便宜のためであると理解されるべきである。
【0059】
再び
図2を参照すると、テスト装置100は、カルマンフィルタアルゴリズム123を利用して、現在の映像フレームVFで少なくとも一つの物体の位置と予測される少なくとも一つの予測バウンディングボックスEBB(予測バウンディングボックスは、以前のバウンディングボックスからトラッキングされるバウンディングボックスであり、以前のバウンディングボックスは以前の映像フレームに位置した物体に対応するバウンディングボックスである)を生成するか、又は他の装置によって生成するように支援する。
【0060】
一例として、
図5を参照すると、テスト装置100は(i)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックス(図示せず)の少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム123を使用して生成し、(ii)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスEBBを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは、予測された位置に関する情報を含む。
【0061】
また、テスト装置100は、カルマンフィルタアルゴリズム123を利用して前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することができる。
【0062】
この際、
図6を参照して、カルマンフィルタアルゴリズムによって予測バウンディングボックスEBBと予測誤差の共分散を取得する動作をさらに詳しく説明すると以下のとおりである。
【0063】
まず、カルマンフィルタは次のように初期セッティングが行われ得る。
【0064】
1.遷移マトリクス(transition matrix):12x12
【表1】
【0065】
2.観測マトリクス(observation matrix):4x12
【表2】
【0066】
3.測定ノイズ共分散マトリクス(measurement noise covariance matrix):4x4
【表3】
【0067】
4.工程ノイズ共分散マトリクス(process noise covariance matrix):12x12
【表4】
【0068】
5.誤差の共分散マトリクス(error covariance matrix):12x12
【表5】
【0069】
6.状態ベクトル(state vector):12x1
【表6】
【0070】
7.観測ベクトル(observation vector):4x1
【表7】
【0071】
このように、初期設定が行われた状態で、カルマンフィルタは時間アップデートによる予測を通じて、以前の映像フレームにおける物体に対する以前のバウンディングボックスの状態ベクトル(x^
k-1)と誤差の共分散(P
k-1)とを次の数式1と数式2とを利用して、それぞれ現在の映像フレームにおける予測バウンディングボックスの状態ベクトル(x^
k ̄)と予測誤差の共分散(P
k ̄)とを生成する。
【0074】
つまり、以前のバウンディングボックスの位置情報を利用して、以前のバウンディングボックスの現在の映像フレーム上における変更された位置情報である現在の位置情報、すなわち、x=[predicted_x1,predicted_y1、predicted_x2,predicted_y2,…]を予測する。この際、(x1,y1)は、以前のバウンディングボックスの左上の点の座標情報であり、(x2,y2)は、以前のバウンディングボックスの右下の点の座標情報であり得る。
【0075】
再び、
図2を参照すると、テスト装置100は、シードボックス選択レイヤ124をもって、複数のプロポーザルボックスPB1、PB2、PB3、PB4のうち予測バウンディングボックスEBBを参照して選択される少なくとも一つの特定のプロポーザルボックスをシードボックスSBとして決定する。
【0076】
一例として、テスト装置100は、複数のプロポーザルボックスPB1、PB2、PB3、PB4のうち予測バウンディングボックスEBBに最も近いプロポーザルボックスをシードボックスSBとして決定することができる。
【0077】
この際、テスト装置100は、(i)前記予測バウンディングボックスの位置情報及び前記それぞれのプロポーザルボックスの各位置情報、(ii)前記予測バウンディングボックスと前記それぞれのプロポーザルボックスとの間のそれぞれの重なる面積、並びに(iii)前記予測バウンディングボックスの前記位置情報、前記それぞれのプロポーザルボックスの各位置情報、及び前記それぞれの重なる面積のうち一種類を参照して前記シードボックスを決定することができる。
【0078】
次に、テスト装置100は、FCN(fully convolutional network)125をもって、特徴マップFMにフルコンボリューション演算を適用して位置基盤スコアマップPSSMを出力させ、プーリングレイヤ126をもって、前記位置基盤スコアマップPSSM上で前記シードボックスSBに対応する少なくとも一つの領域を少なくとも一回プーリングして、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアCSと少なくとも一つのリグレッションデルタRDとを算出させることができる。ここで、テスト装置は、シードボックスSBに対応する少なくとも一つの領域にプーリング演算を適用するか、又は他の装置をもって適用するように支援することができ、位置基盤スコアマップPSSM上でプーリングされた位置基盤スコアマップに少なくとも一つのグローバルプーリング演算を適用するか、又は他の装置をもって適用するように支援することで、特定のプロポーザルボックスに対応するクラススコアCS及びリグレッションデルタRDを出力することができる。
【0079】
前記において特徴マップFMを利用したRPN122のプロセスと、カルマンフィルタアルゴリズム123を利用してシードボックスSBを決定するプロセスと、特徴マップFMを利用して位置基盤スコアマップPSSMを生成するFCN125のプロセスとは、順次に説明したが、これとは異なり、順次に関係なしに並列的に行われてもよく、逆にPSSMの生成が先に遂行されてからシードボックスの決定が行われてもよい。
【0080】
また、前記においてプーリングレイヤ126は、物体に対応する一つのシードボックスSBのみを利用してプーリングを遂行するので、従来の物体を検出するCNNで物体に対応する多数のプロポーザルボックスそれぞれに対してプーリングを遂行するのに比べて少ない演算量で物体をトラッキングすることができるようになる。
【0081】
次に、テスト装置100は、リグレッションデルタRDとシードボックスSBとを参照して、現在の映像フレームVF上における物体に対応する少なくとも一つの現在のバウンディングボックスCBBを生成するか、又は他の装置によって生成するように支援し、カルマンフィルタアルゴリズム123を利用して現在のバウンディングボックスCBBを補正して、補正された現在のバウンディングボックスABBを出力することができる。
【0082】
ここで、カルマンフィルタアルゴリズム123は次の数式3のように予測誤差の共分散(P
k ̄)を利用してカルマンゲイン(K
k)を取得し、次の数式4のようにカルマンゲイン(K
k)と予測状態ベクトル(x^
k ̄)とを利用して現在のバウンディングボックスCBBの位置情報(Z
k)による現在のバウンディングボックスCBBの現在の状態ベクトル(x^
k)をアップデートし、次の数式5のようにカルマンゲイン(K
k)と予測誤差の共分散(P
k ̄)とを利用して現在の映像フレームの現在の誤差の共分散(P
k)をアップデートする。
【0086】
一方、
図1ないし
図8を参照して説明したテスト装置100のプロセス以前に、トラッキングネットワークを含むCNNは学習装置によって学習された状態であり得る。
【0087】
つまり、学習装置(図示せず)によって、コンボリューションレイヤ121をもって少なくとも一つのトレーニングイメージに少なくとも一つのコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、前記RPN122をもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、前記FCN125をもって、前記トレーニング用特徴マップに少なくとも一つのフルコンボリューション演算を適用して少なくとも一つのトレーニング用位置基盤スコアマップを生成させ、前記プーリングレイヤ126をもって、前記トレーニング用位置基盤スコアマップ上の前記各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応するトレーニング用クラススコアそれぞれとトレーニング用リグレッションデルタそれぞれとを算出させ、少なくとも一つのロスレイヤ(loss layer)をもって、前記それぞれのトレーニング用リグレッションデルタと、前記それぞれのトレーニング用クラススコアと、これにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出することにより、前記ロスをバックプロパゲーションすることで、前記FCN125と前記コンボリューションレイヤ121のパラメータを学習させることができる。
【0088】
次に、
図9は本発明の他の実施例によるトラッキングネットワークを含むCNNを使用して物体をトラッキングするテスト装置200を簡略に示したものであって、
図9を参照すると、テスト装置200は通信部210とプロセッサ220を含むことができる。
【0089】
先ず、通信部210は、入力される映像の現在の映像フレームを取得することができる。この際、映像はイメージシーケンスを含むことができる。
【0090】
次に、プロセッサ220は(i)入力される映像の現在の映像フレームを利用して少なくとも一つの特徴マップ(feature map)を取得し、RPN(Region Proposal Network)をもって、前記特徴マップに少なくとも一つの演算を適用させて前記物体に対応する少なくとも一つのプロポーザルボックス(proposal box)に関する情報を生成させる第1プロセス;(ii)(ii−1)以前の映像フレーム上に位置する前記物体に対応する少なくとも一つの以前のバウンディングボックスの少なくとも一つの以前の状態ベクトルから、少なくとも前記現在の映像フレーム上に前記物体が位置するものと予測される前記以前のバウンディングボックスの少なくとも一つの予測状態ベクトルをカルマンフィルタアルゴリズム(Kalman filter algorithm)を使用して生成し、(ii−2)前記予測状態ベクトルに対応して、前記以前のバウンディングボックスの位置からトラッキングされた前記現在の映像フレーム上における少なくとも一つの予測バウンディングボックスを生成し、前記予測状態ベクトルに対応する前記予測バウンディングボックスは予測された位置に関する情報を含み、(ii−3)前記プロポーザルボックスのうち前記予測バウンディングボックスを参照して選択される少なくとも一つの特定のプロポーザルボックスを少なくとも一つのシードボックス(seed box)として決定する第2プロセス;(iii)少なくとも一つのプーリングレイヤ(pooling layer)をもって、前記特徴マップ上で前記シードボックスに対応する少なくとも一つの領域をプーリングして、少なくとも一つの特徴ベクトルを生成し、少なくとも一つのFCレイヤ(FC layer)をもって、前記特徴ベクトルに少なくとも一つのFC演算(fully connected operation)を適用して、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアと少なくとも一つのリグレッションデルタとを算出させる第3プロセス;及び(iv)前記リグレッションデルタと前記シードボックスとを参照して前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整する第4プロセス;を遂行することができる。
【0091】
この際、本発明の一実施例によるテスト装置200は、コンピュータ装置であって、プロセッサを搭載して演算能力を備えた装置であればいくらでも本発明によるテスト装置200として採択され得る。また、
図9では一つのテスト装置200のみを示したが、これに限定されず、テスト装置は複数個に分けて役割を遂行することもできる。
【0092】
このように構成された本発明の一実施例によるテスト装置200を利用してトラッキングネットワークを含むCNN(Convolutional Neural Network)を使用して物体をトラッキングする方法を、
図10を参照して説明すると以下のとおりである。以下の説明では、
図1ないし
図8の説明から容易に理解可能な部分については詳細な説明を省略することにする。
【0093】
まず、テスト装置200は、入力される映像の現在の映像フレームVFから少なくとも一つの特徴マップFMを取得する。
【0094】
一例として、ビジョンセンサ(図示せず)などによって撮影された映像が入力されると、テスト装置200は入力される映像の現在の映像フレームVFを取得するか、又は他の装置によって取得するように支援し、一つ以上のコンボリューションレイヤ221をもって、現在の映像フレームVFに一回以上のコンボリューション演算を適用して特徴マップFMを出力させる。
【0095】
次に、テスト装置200は、取得された特徴マップFMをRPN(Region Proposal Network)222に入力し、RPNをもって、特徴マップに少なくとも一つの演算を適用して、物体に対応するプロポーザルボックスPBに関する情報を取得する。
【0096】
一例として、テスト装置100は、RPN222をもって、特徴マップFM上に物体を含むものと推定される領域に対応するプロポーザルボックスPB1、PB2、PB3、PB4を出力するように支援することができる。
【0097】
そして、テスト装置200は、カルマンフィルタアルゴリズム223を利用して、現在の映像フレームVFで少なくとも一つの物体の位置と予測される少なくとも一つの予測バウンディングボックスEBB(予測バウンディングボックスは、以前のバウンディングボックスからトラッキングされるバウンディングボックスであり、以前のバウンディングボックスは以前の映像フレームに位置した物体に対応するバウンディングボックスである)を生成するか、又は他の装置によって生成するように支援する。
【0098】
また、テスト装置200は、カルマンフィルタアルゴリズム223を利用して前記以前の映像フレームの少なくとも一つの以前の誤差の共分散(Error Covariance)を参照して、前記現在の映像フレームの少なくとも一つの予測誤差の共分散を算出することができる。
【0099】
次に、テスト装置200は、シードボックス選択レイヤ224をもって、複数のプロポーザルボックスPB1、PB2、PB3、PB4のうち予測バウンディングボックスEBBを参照して選択される少なくとも一つの特定のプロポーザルボックスをシードボックスSBとして決定する。
【0100】
そして、プーリングレイヤ225をもって、前記特徴マップ上で前記シードボックスSBに対応する少なくとも一つの領域をプーリングして、少なくとも一つの特徴ベクトルを生成し、少なくとも一つのFCレイヤ226をもって、前記特徴ベクトルに少なくとも一つのFC演算(fully connected operation)を適用して、前記特定のプロポーザルボックスに対応する少なくとも一つのクラススコアCSと少なくとも一つのリグレッションデルタRDとを算出させる。
【0101】
次に、テスト装置200は、前記リグレッションデルタRDと前記シードボックスSBとを参照して前記現在の映像フレーム上における前記物体に対応する少なくとも一つの現在のバウンディングボックスを生成し、前記カルマンフィルタアルゴリズムを利用して前記現在のバウンディングボックスを調整して補正された現在のバウンディングボックスABBを出力することができる。
【0102】
一方、前記のテスト方法以前に、トラッキングネットワークを含むCNNは学習装置によって学習された状態であり得る。
【0103】
つまり、学習装置(図示せず)により、前記コンボリューションレイヤ221をもって、少なくとも一つのトレーニングイメージにコンボリューション演算を適用して少なくとも一つのトレーニング用特徴マップを取得させ、前記RPN222をもって、前記トレーニング用特徴マップ上の少なくとも一つのトレーニング用物体が含まれるものと予測される各領域に対応する少なくとも一つのトレーニング用プロポーザルボックスをそれぞれ生成させ、前記プーリングレイヤ225をもって、前記トレーニング用特徴マップ上の前記トレーニング用プロポーザルボックスそれぞれに対応する各領域をプーリングして、前記トレーニング用プロポーザルボックスそれぞれに対応する少なくとも一つのトレーニング用特徴ベクトルを算出するようにし、前記FCレイヤ226をもって、前記トレーニング用特徴ベクトルにFC演算を適用して、前記トレーニング用プロポーザルボックスそれぞれに対応するそれぞれのトレーニング用クラススコアとそれぞれのトレーニング用リグレッションデルタとを算出するようにし、少なくとも一つのロスレイヤ(図示せず)をもって、それぞれのトレーニング用リグレッションデルタと、それぞれのトレーニング用クラススコアと、これにそれぞれ対応する原本正解(Ground Truth)とを参照して少なくとも一つのロスを算出し、前記ロスをバックプロパゲーションすることで、前記FCレイヤ226と前記コンボリューションレイヤ221のパラメータを学習させることができる。
【0104】
また、以上にて説明された本発明による実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカル・ディスク(floptical disk)のような磁気−光メディア(magneto−optical media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行される高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
【0105】
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、係る記載から多様な修正及び変形が行われ得る。
【0106】
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。