JP2020126617A - フォールトトレランス及びフラクチュエーションロバスト性のための複数のニューラルネットワークを使用して揺れるカメラにより生成されたビデオからジッタリングを取り除くための学習方法及び学習装置、そしてそれを利用したテスト方法及びテスト装置 - Google Patents

フォールトトレランス及びフラクチュエーションロバスト性のための複数のニューラルネットワークを使用して揺れるカメラにより生成されたビデオからジッタリングを取り除くための学習方法及び学習装置、そしてそれを利用したテスト方法及びテスト装置 Download PDF

Info

Publication number
JP2020126617A
JP2020126617A JP2020005486A JP2020005486A JP2020126617A JP 2020126617 A JP2020126617 A JP 2020126617A JP 2020005486 A JP2020005486 A JP 2020005486A JP 2020005486 A JP2020005486 A JP 2020005486A JP 2020126617 A JP2020126617 A JP 2020126617A
Authority
JP
Japan
Prior art keywords
image
learning
neural network
jittering
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020005486A
Other languages
English (en)
Other versions
JP6901803B2 (ja
Inventor
− ヒョン キム、ケイ
Kye-Hyeon Kim
− ヒョン キム、ケイ
キム、ヨンジュン
Young Jun Kim
キム、インスー
Insu Kim
− キョン キム、ハク
Hak-Kyoung Kim
− キョン キム、ハク
ナム、ウヒョン
Woonhyu Nam
ブー、ソッフン
Sukhoon Boo
ソン、ミュンチュル
Myungchul Sung
ヨー、ドンフン
Donghun Yeo
リュー、ウジュ
Wooju Ryu
チャン、テウン
Taewoong Jang
ジョン、キュンチョン
Kyungjoong Jeong
チェ、ホンモ
Hongmo Je
チョウ、ホジン
Hojin Cho
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stradvision Inc
Original Assignee
Stradvision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stradvision Inc filed Critical Stradvision Inc
Publication of JP2020126617A publication Critical patent/JP2020126617A/ja
Application granted granted Critical
Publication of JP6901803B2 publication Critical patent/JP6901803B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • G06T5/73
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

【課題】極限状況でフォールトトレランス及びフラクチュエーションロバスト性のために提供される、ニューラルネットワークを使用してビデオ上のジッタリングを取り除くために揺れるカメラにより生成されたビデオからジッタリングを検出する方法。【解決手段】コンピューティング装置が、第tイメージ内の物体に対応する第tマスクを生成する段階;第tマスク、第tクロップ済みイメージ、第t−1マスク及び第t−1クロップ済みイメージに対して第2ニューラルネットワーク演算を少なくとも一回適用して第tイメージに含まれた物体ピクセルの第t物体モーションベクトルを生成する段階;及び第t物体モーションベクトルを参照して第tイメージ内のピクセルのうち参照ピクセルに対応する第tジッタリングベクトルを生成する段階を含む。【選択図】図2

Description

本発明は自動走行自動車とともに利用する学習方法及び学習装置に関し、より詳細には、少なくとも一つのニューラルネットワーク(Neural Network)を使用してビデオ(Video)上のジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記ビデオからジッタリングを検出する学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置に関する。
ディープコンボリューションニューラルネットワーク(Deep Convolution Neural Networks;Deep CNNs)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNは、文字の認識問題を解決するために90年代にすでに使用されていたが、現在のように広く使われるようになったのは最近の研究結果の賜物である。このようなCNNは、2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そして、コンボリューションニューラルネットワークは機械学習(Machine Learning)分野で非常に有用なツールとなった。
CNNは、自動車の自律走行分野においても広く使用されているが、これは主に自動車に取り付けられたカメラを通じて取得されたイメージを分析することで障害物を検出し、フリースペース(Free Space)を検出するなどの機能を遂行して安全に車両が走行し得るようにする。
ところが、このようにCNNを利用して自動車を自律走行させる方法は、特定の状況において遂行が困難であり得る。すなわち、CNNは、カメラを通じて得られたイメージを使用しなければならないが、カメラが揺れるなどの問題によりイメージが大きく揺れると、ビデオのそれぞれのフレームごとにイメージが大きく変わるジッタリング(Jittering)現象が発生するようになる。このようなジッタリング現象が発生すると、CNNがイメージ上の物体の動きを追跡するのが難しくなる。特に、このようなジッタリング現象は、オフロードで頻繁に走行する軍用車両の自律走行の状況で非常に多く発生するところ、これを防ぐための方法が極めて重要である。
このようなジッタリングを防ぐための従来技術として、物理的にカメラの動きを測定した後、これを利用してジッタリングが発生したイメージを補正する方法があるが、これはかなり費用がかかり、カメラモジュールの重さがさらにかさむようになり、複数の装置を使用するようになるため、故障を起こす危険が高くなる。上述した物理的な方法ではなく、ソフトウェア的な方法が従来技術として存在しはするものの、これもやはりイメージの物体のフローのみを考慮しているため、ジッタリングが発生したイメージを補正する過程でイメージに大きな歪曲を発生させる問題点がある。
本発明は、上述した問題点を解決することを目的とする。
本発明は、複数のニューラルネットワーク(Neural Network)を通じてジッタリング(Jittering)が発生したイメージを補正して、カメラが揺れても適切なイメージを取得し得るようにすることを他の目的とする。
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための本発明の特徴的な構成は以下の通りである。
本発明の一態様によると、少なくとも1つのニューラルネットワーク(Neural Network)を使用してビデオ(Video)上のジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記ビデオからジッタリングを検出する方法において、(a)前記ビデオの第tフレームに該当する第tイメージが取得されると、コンピューティング装置が、第1ニューラルネットワークをもって、前記第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージ内のそれぞれの物体に対応する第tマスクそれぞれを生成させる段階;(b)前記コンピューティング装置が、第2ニューラルネットワークをもって、(i)それぞれの前記第tマスクと、(ii)これに対応する、前記第tイメージの一部分であるそれぞれの第tクロップ済み(Cropped)イメージと、(iii)それぞれの第t−1マスクと、(iv)これに対応する、第t−1イメージの一部分であるそれぞれの第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージに含まれた、それぞれの前記物体に対応する物体ピクセルそれぞれに対する第t物体モーションベクトル(Object Motion Vector)それぞれを生成させる段階;及び(c)前記コンピューティング装置が、ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記第t物体モーションベクトルそれぞれを参照して前記第tイメージ内のピクセルのうち参照ピクセル(Reference Pixel)それぞれに対応する第tジッタリングベクトル(Jittering Vector)それぞれを生成させる段階;を含むことを特徴とする。
一実施例において、(d)前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、前記第tジッタリングベクトルを参照して前記第tイメージのジッタリングを緩和した第t調整イメージ(Adjusted Image)を生成させる段階;をさらに含むことを特徴とする。
一実施例において、(e)前記コンピューティング装置が、学習ユニット(Learning Unit)をもって、(i)前記第tジッタリングベクトルを生成するためのプロセスを通じて最適化された第t調整物体モーションベクトル、及び(ii)最適化される前の前記第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習させる段階;をさらに含むことを特徴とする。
一実施例において、前記(c)段階で、前記コンピューティング装置が前記ジッタリング予測ユニットをもって、(i)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に前記第tイメージ内のピクセルそれぞれに対応する地点それぞれの動いた程度を示すそれぞれの第tオプティカルフローベクトル(Optical Flow Vector)、及び(ii)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に3次元上における前記地点それぞれの動いた程度を示すそれぞれの第tFPVベクトルをさらに参照して前記第tジッタリングベクトルを生成させることを特徴とする。
一実施例において、前記(d)段階で、前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、
前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させることによって前記第tジッタリングベクトルを生成させ、eij (t)は、前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−1)は第t−1FPVベクトルを意味し、oxy (t−1)は第t−1物体モーションベクトルを意味し、λ及びλ

及び

に対するそれぞれの重み付け値を意味することを特徴とする。
一実施例において、前記数式は、
前記条件を満たす項(Term)に対して有効であるようにし、fij (t)は前記第tオプティカルフローベクトルのうち一部である、前記参照ピクセルに対する第1のt番目オプティカルフローベクトルを意味し、fxy (t)は前記参照ピクセルでない残りのピクセルに対する第2のt番目オプティカルフローベクトルを意味し、oij (t)は前記第t物体モーションベクトルのうち一部である、前記物体ピクセルであり、かつ前記参照ピクセルである特定ピクセルに対する第t物体モーションベクトルを意味し、シグマ記号下段のi,j∈NB(x,y)は所定のピクセルを含むグリッド内の前記参照ピクセルのうち一部に関する情報を使用するものであることを表し、wij,xyは前記グリッド内の前記所定のピクセルの少なくとも一つの位置によるそれぞれの重み付け値を表すことを特徴とする。
一実施例において、前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、
前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させ、eij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−k)は第t−kイメージに対する第t−kFPVベクトルを意味し、oxy (t−k)は前記第t−kイメージに対する第t−k物体モーションベクトルを意味し、wは|vij (t)−vij (t−k)及び|oxy (t)−oxy (t−k)に対するそれぞれの重み付け値を意味し、Kは所定の定数(constant)であることを特徴とする。
一実施例において、前記(b)段階で、前記第2ニューラルネットワークは、第2_1ニューラルネットワーク及び第2_2ニューラルネットワークを含み、前記第2_1ニューラルネットワークは、それぞれの前記第tマスクと、それぞれの前記第tクロップ済みイメージと、それぞれの前記第t−1マスクと、それぞれの前記第t−1クロップ済みイメージとに対して分析する、前記第2ニューラルネットワーク演算に含まれた第2_1ニューラルネットワーク演算を少なくとも一回遂行することによって少なくとも一つの中間特徴マップ(Intermediate Feature Map)を生成し、前記第2_2ニューラルネットワークは、前記第tイメージが取得される以前に入力された値に対する分析内容を参照して前記中間特徴マップに対して前記第2ニューラルネットワーク演算に含まれた第2_2ニューラルネットワーク演算を少なくとも一回適用することによって前記第t物体モーションベクトルを生成することを特徴とする。
一実施例において、前記第2_2ニューラルネットワークは、(i)第1イメージないし前記第t−1イメージのうち少なくとも一部に対する各値についての分析を反映して、前記第2_1ニューラルネットワークが生成された、前記第2_2ニューラルネットワークの状態ベクトル(State Vector)を使用して前記第t物体モーションベクトルを生成させ、(ii)前記状態ベクトルをアップデートさせることを特徴とする。
一実施例において、前記参照ピクセルは、前記第tイメージ上の前記グリッドのグリッドセル(Grid Cell)のバウンダリ(Boundary)上に位置する頂点であることを特徴とする。
一実施例において、前記(a)段階で、前記第1ニューラルネットワークは少なくとも一つのRPN(Region Proposal Network)と、少なくとも一つのコンボリューションレイヤと、少なくとも一つのプーリングレイヤとを含み、前記RPNが少なくとも一つのROIを生成すると、前記第1ニューラルネットワークは、二重線形補間法(Bilinear Interpolation)を利用して前記ROIに対応する少なくとも一つの領域を前記第tイメージ上で選択した後、これに前記コンボリューションレイヤによる演算を少なくとも一回適用することによって前記第tマスクを生成することを特徴とする。
本発明の他の態様によると、少なくとも1つのニューラルネットワーク(Neural Network)を使用してテスト用ビデオ(Video)上でジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記テスト用ビデオに前記ジッタリングを取り除くテスト方法において、(a)学習装置が、(1)学習用ビデオ上の学習用第tフレームに該当する学習用第tイメージが取得されると、第1ニューラルネットワークをもって、前記学習用第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージ内のそれぞれの学習用物体に対応する学習用第tマスクそれぞれを生成させ、(2)第2ニューラルネットワークをもって、(i)それぞれの前記学習用第tマスクと、(ii)これに対応する、前記学習用第tイメージの一部分であるそれぞれの学習用第tクロップ済み(Cropped)イメージと、(iii)それぞれの学習用第t−1マスクと、(iv)これに対応する、学習用第t−1イメージの一部分であるそれぞれの学習用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージに含まれた、それぞれの前記学習用物体に対応する学習用物体ピクセルそれぞれに対する学習用第t物体モーションベクトル(Object Motion Vector)を生成させ、(3)ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記学習用第t物体モーションベクトルそれぞれを参照して前記学習用第tイメージ内のピクセルのうち学習用参照ピクセル(Reference Pixel)それぞれに対応する学習用第tジッタリングベクトル(Jittering Vector)それぞれを生成させ、(4)学習ユニットをもって、(i)前記学習用第tジッタリングベクトルを生成するためのプロセスを通じて最適化された学習用第t調整物体モーションベクトル、及び(ii)最適化される前の前記学習用第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習完了した状態で、前記テスト用ビデオのテスト用第tフレームに該当するテスト用第tイメージが取得されると、テスト装置が、前記第1ニューラルネットワークをもって、前記テスト用第tイメージに対して第1ニューラルネットワーク演算を適用させて前記テスト用第tイメージ内のそれぞれのテスト用物体に対応するテスト用第tマスクそれぞれを生成させる段階;(b)前記テスト装置が、前記第2ニューラルネットワークをもって、(i)それぞれの前記テスト用第tマスクと、(ii)これに対応する、前記テスト用第tイメージの一部分であるそれぞれのテスト用第tクロップ済み(Cropped)イメージと、(iii)それぞれのテスト用第t−1マスクと、(iv)これに対応する、テスト用第t−1イメージの一部分であるそれぞれのテスト用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を適用させて前記テスト用第tイメージに含まれた、それぞれの前記テスト用物体に対応するテスト用物体ピクセルそれぞれに対するテスト用第t物体モーションベクトル(Object Motion Vector)それぞれを生成させる段階;及び(c)前記テスト装置が、前記ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記テスト用第t物体モーションベクトルそれぞれを参照して、前記テスト用第tイメージ内のピクセルのうちテスト用参照ピクセル(Reference Pixel)それぞれに対応するテスト用第tジッタリングベクトル(Jittering Vector)それぞれを生成させる段階;を含むことを特徴とする。
一実施例において、(d)前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、前記テスト用第tジッタリングベクトルを参照して前記テスト用第tイメージのジッタリングを緩和したテスト用第t調整イメージ(Adjusted Image)を生成させる段階;を含むことを特徴とする。
本発明のまた他の態様によると、少なくとも一つのニューラルネットワークを使用してビデオ(Video)上のジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記ビデオからジッタリングを検出するコンピューティング装置において、インストラクションを格納する少なくとも一つのメモリと、(I)前記ビデオの第tフレームに該当する第tイメージが取得されると、第1ニューラルネットワークをもって、前記第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージ内のそれぞれの物体に対応する第tマスクそれぞれを生成させるプロセス、(II)第2ニューラルネットワークをもって、(i)それぞれの前記第tマスクと、(ii)これに対応する、前記第tイメージの一部分であるそれぞれの第tクロップ済み(Cropped)イメージと、(iii)それぞれの第t−1マスクと、(iv)これに対応する、第t−1イメージの一部分であるそれぞれの第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージに含まれた、それぞれの前記物体に対応する物体ピクセルそれぞれに対する第t物体モーションベクトル(Object Motion Vector)それぞれを生成させるプロセス、及び(III)ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記第t物体モーションベクトルそれぞれを参照して前記第tイメージ内のピクセルのうち参照ピクセル(Reference Pixel)それぞれに対応する第tジッタリングベクトル(Jittering Vector)それぞれを生成させるプロセスを遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、を含むことを特徴とする。
一実施例において、前記プロセッサが、(IV)前記ジッタリング予測ユニットをもって、前記第tジッタリングベクトルを参照して前記第tイメージのジッタリングを緩和した第t調整イメージ(Adjusted Image)を生成させるプロセス;をさらに含むことを特徴とする。
一実施例において、前記プロセスが、(V)学習ユニット(Learning Unit)をもって、(i)前記第tジッタリングベクトルを生成するためのプロセスを通じて最適化された第t調整物体モーションベクトル、及び(ii)最適化される前の前記第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習させるプロセス;をさらに含むことを特徴とする。
一実施例において、前記(III)プロセスで、前記プロセッサが、前記ジッタリング予測ユニットをもって、(i)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に前記第tイメージ内のピクセルそれぞれに対応する地点それぞれの動いた程度を示すそれぞれの第tオプティカルフローベクトル(Optical Flow Vector)、及び(ii)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に3次元上における前記地点それぞれの動いた程度を示すそれぞれの第tFPVベクトルをさらに参照して前記第tジッタリングベクトルを生成させることを特徴とする。
一実施例において、前記(IV)プロセスで、前記プロセッサは、前記ジッタリング予測ユニットをもって、
前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させることによって前記第tジッタリングベクトルを生成させ、eij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−1)は第t−1FPVベクトルを意味し、oxy (t−1)は第t−1物体モーションベクトルを意味し、λ及びλ

及び

に対するそれぞれの重み付け値を意味することを特徴とする。
一実施例において、前記数式は、
前記条件を満たす項(Term)に対して有効であるようにし、fij (t)は前記第tオプティカルフローベクトルのうち一部である、前記参照ピクセルに対する第1のt番目オプティカルフローベクトルを意味し、fxy (t)は前記参照ピクセルでない残りのピクセルに対する第2のt番目オプティカルフローベクトルを意味し、oij (t)は前記第t物体モーションベクトルのうち一部である、前記物体ピクセルであり、かつ前記参照ピクセルである特定ピクセルに対する第t物体モーションベクトルを意味し、シグマ記号下段のi,j∈NB(x,y)は所定のピクセルを含むグリッド内の前記参照ピクセルのうち一部に関する情報を使用するものであることを表し、wij,xyは前記グリッド内の前記所定のピクセルの少なくとも一つの位置によるそれぞれの重み付け値を表すことを特徴とする。
一実施例において、前記プロセッサが、前記ジッタリング予測ユニットをもって、
前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させ、eij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−k)は第t−kイメージに対する第t−kFPVベクトルを意味し、oxy (t−k)は前記第t−kイメージに対する第t−k物体モーションベクトルを意味し、wは|vij (t)−vij (t−k)及び|oxy (t)−oxy (t−k)に対するそれぞれの重み付け値を意味し、Kは所定の定数であることを特徴とする。
一実施例において、前記(II)プロセスで、前記第2ニューラルネットワークは、第2_1ニューラルネットワーク及び第2_2ニューラルネットワークを含み、前記第2_1ニューラルネットワークは、それぞれの前記第tマスクと、それぞれの前記第tクロップ済みイメージと、それぞれの前記第t−1マスクと、それぞれの前記第t−1クロップ済みイメージとについて分析する、前記第2ニューラルネットワーク演算に含まれた第2_1ニューラルネットワーク演算を少なくとも一回遂行することによって少なくとも一つの中間特徴マップ(Intermediate Feature Map)を生成し、前記第2_2ニューラルネットワークは、前記第tイメージが取得される以前に入力された値に対する分析内容を参照して前記中間特徴マップに対して前記第2ニューラルネットワーク演算に含まれた第2_2ニューラルネットワーク演算を少なくとも一回適用することによって前記第t物体モーションベクトルを生成することを特徴とする。
一実施例において、前記第2_2ニューラルネットワークは、(i)第1イメージないし前記第t−1イメージのうち少なくとも一部に対する各値についての分析を反映して、前記第2_1ニューラルネットワークが生成された、前記第2_2ニューラルネットワークの状態ベクトル(State Vector)を使用して前記第t物体モーションベクトルを生成させ、(ii)前記状態ベクトルをアップデートさせることを特徴とする。
一実施例において、前記参照ピクセルは、前記第tイメージ上の前記グリッドのグリッドセル(Grid Cell)のバウンダリ(Boundary)上に位置する頂点であることを特徴とする。
一実施例において、前記(I)プロセスで、前記第1ニューラルネットワークは少なくとも一つのRPN(Region Proposal Network)と、少なくとも一つのコンボリューションレイヤと、少なくとも一つのプーリングレイヤとを含み、前記RPNが少なくとも一つのROIを生成すると、前記第1ニューラルネットワークは、二重線形補間法(Bilinear Interpolation)を利用して前記ROIに対応する少なくとも一つの領域を前記第tイメージ上で選択した後、これに前記コンボリューションレイヤによる演算を少なくとも一回適用することによって前記第tマスクを生成することを特徴とする。
本発明のまた他の態様によると、少なくとも1つのニューラルネットワーク(Neural Network)を使用してテスト用ビデオ(Video)上でジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記テスト用ビデオに前記ジッタリングを取り除くテスト装置において、インストラクションを格納する少なくとも一つのメモリと、学習装置が、(1)学習用ビデオ上の学習用第tフレームに該当する学習用第tイメージが取得されると、第1ニューラルネットワークをもって、前記学習用第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージ内のそれぞれの学習用物体に対応する学習用第tマスクそれぞれを生成させ、(2)第2ニューラルネットワークをもって、(i)それぞれの前記学習用第tマスクと、(ii)これに対応する、前記学習用第tイメージの一部分であるそれぞれの学習用第tクロップ済み(Cropped)イメージと、(iii)それぞれの学習用第t−1マスクと、(iv)これに対応する、学習用第t−1イメージの一部分であるそれぞれの学習用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージに含まれた、それぞれの前記学習用物体に対応する学習用物体ピクセルそれぞれに対する学習用第t物体モーションベクトル(Object Motion Vector)を生成させ、(3)ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記学習用第t物体モーションベクトルそれぞれを参照して前記学習用第tイメージ内のピクセルのうち学習用参照ピクセル(Reference Pixel)それぞれに対応する学習用第tジッタリングベクトル(Jittering Vector)それぞれを生成させ、(4)学習ユニットをもって、(i)前記学習用第tジッタリングベクトルを生成するためのプロセスを通じて最適化された学習用第t調整物体モーションベクトル、及び(ii)最適化される前の前記学習用第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習完了した状態で、(I)前記テスト用ビデオのテスト用第tフレームに該当するテスト用第tイメージが取得されると、テスト装置が、前記第1ニューラルネットワークをもって、前記テスト用第tイメージに対して第1ニューラルネットワーク演算を適用させて前記テスト用第tイメージ内のそれぞれのテスト用物体に対応するテスト用第tマスクそれぞれを生成させるプロセス、(II)前記第2ニューラルネットワークをもって、(i)それぞれの前記テスト用第tマスク、(ii)これに対応する、前記テスト用第tイメージの一部分であるそれぞれのテスト用第tクロップ済み(Cropped)イメージ、(iii)それぞれのテスト用第t−1マスク及び(iv)これに対応する、テスト用第t−1イメージの一部分であるそれぞれのテスト用第t−1クロップ済みイメージに対して第2ニューラルネットワーク演算を適用させて前記テスト用第tイメージに含まれた、それぞれの前記テスト用物体に対応するテスト用物体ピクセルそれぞれに対するテスト用第t物体モーションベクトル(Object Motion Vector)それぞれを生成させるプロセス、及び(III)前記ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記テスト用第t物体モーションベクトルそれぞれを参照して前記テスト用第tイメージ内のピクセルのうちテスト用参照ピクセル(Reference Pixel)それぞれに対応するテスト用第tジッタリングベクトル(Jittering Vector)それぞれを生成させるプロセスを遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、を含むことを特徴とする。
一実施例において、前記プロセッサが、(IV)前記ジッタリング予測ユニットをもって、前記テスト用第tジッタリングベクトルを参照して前記テスト用第tイメージのジッタリングを緩和したテスト用第t調整イメージ(Adjusted Image)を生成させるプロセス;を含むことを特徴とする。
その他にも、本発明の方法を実行するためのコンピュータプログラムを格納するためのコンピュータ読取り可能な記録媒体がさらに提供される。
本発明は、複数のニューラルネットワーク(Neural Network)を使用して、揺れたカメラから取得された、ジッタリング(Jittering)が発生したイメージを補正する方法を提供することによって、カメラが揺れても適切なイメージを取得し得るようにする効果がある。
本発明は、極限状況において、フォールトトレランス(Fault Tolerance)及びフラクチュエーションロバスト性(Fluctuation Robustness)のある複数のニューラルネットワークを提供する他の効果がある。
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうち単に一部であるに過ぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られ得る。
本発明の一実施例による複数のニューラルネットワーク(Neural Network)を使用してビデオ上でジッタリング(Jittering)を取り除く方法を遂行するコンピューティング装置の構成を簡略に示した図面である。 本発明の一実施例による複数のニューラルネットワークを使用してビデオ上でジッタリングを取り除く方法を学習するプロセスを簡略に示した図面である。 本発明の一実施例による複数のニューラルネットワークを使用してビデオ上でジッタリングを取り除く方法を遂行するための第2ニューラルネットワークの例示的な構造を簡略に示した図面である。 本発明の一実施例による複数のニューラルネットワークを使用してビデオ上でジッタリングを取り除く方法を遂行するために第tイメージ上の、参照ピクセル(Reference Pixel)でない特定ピクセルのオプティカルフローベクトル(Optical Flow Vector)をモデリングした例示を簡略に示した図面である。
後述する本発明に関する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述の詳細な説明は、限定的な意味として受け取ろうとするものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な側面にわたって同一であるか、又は類似の機能を指す。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することにする。
図1は、本発明の一実施例による複数のニューラルネットワーク(Neural Network)を使用してビデオ上でジッタリング(Jittering)を取り除く方法を遂行するコンピューティング装置の構成を簡略に示した図面である。
図1を参照すると、コンピューティング装置100は、追って詳細に説明する構成要素である第1ニューラルネットワーク130と、第2ニューラルネットワーク140と、ジッタリング予測ユニット(Jittering Estimation Unit)150と、学習ユニット160とを含むことができる。第1ニューラルネットワーク130、第2ニューラルネットワーク140、ジッタリング予測ユニット150、及び学習ユニット160の入出力及び演算の過程は、それぞれ通信部110及びプロセッサ120によって行われ得る。ただし、図1では通信部110とプロセッサ120との間の具体的な連結関係を省略した。この場合、メモリ115は、後述する様々なインストラクションを格納した状態であり得、プロセッサ120は、メモリ115に格納されたインストラクションを遂行するように設定され、プロセッサ120は、追って説明するプロセスを遂行することによって本発明を遂行することができる。このように学習装置100が描写されたからといって、コンピューティング装置100が本発明を実施するためのプロセッサ、メモリ媒体または他のコンピューティング装置のすべての組み合わせを含む統合プロセッサ(Integrated Processor)を含む場合を排除するわけではない。
以上、コンピューティング装置100の全体的な構成について説明したところ、コンピューティング装置100が遂行する、複数のニューラルネットワークを使用してビデオ上でジッタリングを取り除く方法について説明することにする。
図2は、本発明の一実施例による複数のニューラルネットワークを使用してビデオ上でジッタリングを取り除く方法を学習する過程に関する図面である。
図2を参照すると、第1ニューラルネットワーク130と、第2ニューラルネットワーク140と、ジッタリング予測ユニット150とによって順次に演算が遂行され得る。学習ユニット160が演算結果を利用して少なくとも一つのロスを生成した後、このロスをバックプロパゲーションすることによって第2ニューラルネットワーク140の少なくとも一つのパラメータの少なくとも一部を学習することができる。
具体的に、まず、コンピューティング装置100は、第tイメージを取得するか他の装置をもって取得するように支援することができる。第tイメージは、カメラが揺れて、それから取得された映像、すなわちビデオにジッタリングが発生した場合、当該ビデオのt番目フレームであり得る。一方、本発明の一実施例による方法は、カメラが揺れてジッタリングが発生した場合に適用されるものであり、揺れたカメラの効果はビデオの最初のフレーム以後から発生するようになるので、以下、詳細な説明においてtは2以上であるものと仮定したことを明らかにしておく。取得された前記第tイメージは、まず第1ニューラルネットワーク130に入力される。コンピューティング装置100は、第1ニューラルネットワーク130をもって、第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用して、第tイメージ内のそれぞれの物体に対応するそれぞれの第tマスクを生成させることができる。
第tマスクは、第1ニューラルネットワーク130を通じて第tイメージに対して物体検出及びイメージセグメンテーションが適用された結果であり得る。具体的に、第1ニューラルネットワーク130は、少なくとも一つのRPN(Region Proposal Network)、少なくとも一つのコンボリューションレイヤ及び少なくとも一つのプーリングレイヤを含むことができる。この場合、RPNが少なくとも一つのROIを生成すると、第1ニューラルネットワークは、二重線形補間法(Bilinear Interpolation)を通じてROIに対応する少なくとも一つの領域を第tイメージ上で選択した後、前記少なくとも一つの領域に対してコンボリューションレイヤ演算を少なくとも一回適用することによって第tマスクを生成することができる。したがって、それぞれの第tマスクは、第tイメージ上のそれぞれの物体を含むバウンディングボックス(Bounding Box)それぞれであり得、それぞれの第tマスクは、物体に該当するピクセルは1と、物体に該当しないピクセルは0と表示された構造を有することができる。
この場合、例示的に、第1ニューラルネットワーク130は、広く知られているマスクR−CNN(Mask R−CNN)と類似した構造を有することができる。また、第1ニューラルネットワーク130は、本発明の一実施例による方法を学習する過程が遂行される前に、前記のような、第tマスクを生成する方法を学習していてもよい。
以後、コンピューティング装置100は、第2ニューラルネットワーク140をもって、(i)それぞれの第tマスクと、(ii)これに対応する、第tイメージの一部分であるそれぞれの第tクロップ済み(Cropped)イメージと、(iii)それぞれの第t−1マスクと、(iv)これに対応する、第t−1イメージの一部分であるそれぞれの第t−1クロップ済みイメージとを取得させ、(iii)及び(iv)は、第tフレームの以前のフレームである第t−1フレームに対応する第t−1イメージであり得る。第tクロップ済みイメージは、第tイメージの一部に対応するイメージであり得、前記一部は第tマスクに対応する。また、第t−1マスク及び第t−1クロップ済みイメージは、第2ニューラルネットワーク140が第t−1イメージに対して処理する際に生成されたものであり得る。
それぞれの第tマスクと、それぞれの第tクロップ済みイメージと、それぞれの第t−1マスクと、それぞれの第t−1クロップ済みイメージとが取得されると、コンピューティング装置100は、第2ニューラルネットワーク140をもって、それぞれの第tマスクと、それぞれの第tクロップ済みイメージと、それぞれの第t−1マスクと、それぞれの第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて、第t物体モーションベクトルを生成させることができる。
それぞれの第t物体モーションベクトルは、第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間にそれぞれの物体が動いた程度を示すベクトルである。すなわち、第t−1特定マスク及び特定の第tマスクに対応する特定の物体が存在するのであれば、第2ニューラルネットワーク140は、(i)特定の物体に対応する特定の物体ピクセルの第t-1特定マスク上の位置と特定の第tマスクにおける位置とを比較した位置比較情報(Comparison Information)を取得し、(ii)第t−1特定クロップ済みイメージと特定の第tクロップ済みイメージとを比較することによって背景の変化に関する変化情報(Change Information)を取得した後、(iii)位置比較情報及び変化情報を参照して特定の物体が第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に動いた程度を示す特定の第t物体モーションベクトルを生成することができるのである。
この場合、第2ニューラルネットワーク140は、単一のCNNの構造を有し得、それにより遂行される第2ニューラルネットワーク演算は少なくとも一つのコンボリューション演算及びこれに付加される演算を含むことができる。ただし、これはさらに効率的に、少ない資源を使用するにもかかわらず、より好ましい結果を出すための構造であって、第2ニューラルネットワーク140が第2_1ニューラルネットワーク及び第2_2ニューラルネットワークを含むことができる。これについて説明するために、図3を参照することにする。
図3は、本発明の一実施例による複数のニューラルネットワークを使用してビデオからジッタリングを取り除く方法を遂行するための第2ニューラルネットワークの例示的な構造を簡略に示した図面である。
図3を参照すると、第2_1ニューラルネットワーク141と第2_2ニューラルネットワーク142とが順次に演算を遂行することによって第tジッタリングベクトルを生成することが分かる。
具体的に説明すると、第2_1ニューラルネットワーク141は、CNNの構造を有し得、これは、それぞれの第tマスクと、それぞれの第tクロップ済みイメージと、それぞれの第t−1マスクと、それぞれの第t−1クロップ済みイメージとに対して、コンボリューション演算を含む、第2_1ニューラルネットワーク演算を少なくとも一回適用することによって、入力された値に対する分析情報を含む少なくとも一つの中間特徴マップ(Intermediate Feature Map)を生成することができる。以後、RNN構造を有する第2_2ニューラルネットワーク142は、中間特徴マップを取得することができ、これを通じて入力された値に対する分析情報を参照して中間特徴マップに対して第2_2ニューラルネットワーク演算を適用することにより第t物体モーションベクトルを生成することができる。前記分析結果は、第tイメージが取得される以前に第2_2ニューラルネットワークに入力されていた値に対する分析結果を含む。このプロセスは、第2_2ニューラルネットワーク演算が遂行されると第2_2ニューラルネットワーク142がそれ自体に入力された値を処理するたびにアップデートされる状態ベクトル(State Vector)を参照することによって第2_2ニューラルネットワーク142を通じて行われ得る。
以後、コンピューティング装置100は、ジッタリング予測ユニット150をもって、第t物体モーションベクトルを参照して第tジッタリングベクトルを生成させることができる。この過程において、第2ニューラルネットワーク140における少なくとも一部パラメータの学習のためのロスが算出され得るが、それぞれの過程について以下で考察する。
具体的に、コンピューティング装置100が、ジッタリング予測ユニット150をもって、第t物体モーションベクトルを参照して、第tイメージに含まれたピクセルのうち参照ピクセル(Reference Pixel)に対応する第tジッタリングベクトルを生成させることができる。参照ピクセルとは、第tイメージ上に生成されたグリッドの少なくとも一つのグリッドセル(Grid Cell)のバウンダリ(Boundary)上に位置する頂点である。実質的に、第tイメージ内の全てのピクセルに対してジッタリングの程度を計算するとすれば、その演算量があまりにも大きくなり、これはリアルタイム性が重要な自律走行において遅延が発生し得るところ、第tイメージを分割するグリッドを使用し、グリッドセルの頂点となるピクセルのジッタリングを計算することによって第tイメージに対する第tジッタリングベクトルを生成することができる。すなわち、第tジッタリングベクトルとは、第tイメージ内のそれぞれのピクセルを代表し得る参照ピクセルのジッタリングを追跡した結果であって、カメラのジッタリングの振幅と方向とを示す指標となる。
第tジッタリングベクトルを生成するために、コンピューティング装置100は、ジッタリング予測ユニット150をもって、さらに第tオプティカルフローベクトル及び第tFPVベクトルを参照して第t物体モーションベクトルに対する最適化の過程を経るようにするところ、これについて具体的に考察する。
まず、(i)それぞれの第tオプティカルフローベクトルは、第tイメージ内のそれぞれのピクセルに対応するそれぞれの地点が、第t−1イメージを撮影した時点と第tイメージを撮影した時点との間に動いた程度を示し、(ii)それぞれの第tFPVベクトルは、カメラが第t−1イメージを撮影した時点と第tイメージを撮影した時点との間に、それぞれの地点が3次元上で動いた程度を示すことができる。この際、第tオプティカルフローベクトルは、言及した他のベクトルとは異なり、推定されたものではなく、ルーカスカナデ法(Lucas−Kanade Method)を通じて第t−1イメージと第tイメージとを比較して適用することによって正確に計算されるものである。すなわち、これは、下記にて説明する最適化過程によって変化するものではない定数(constant)である。また、第tジッタリングベクトルと第tFPVベクトルとは参照ピクセルに対してのみ算出され、第t物体モーションベクトルは、第tイメージ上で物体に対応するものと判別された物体ピクセルでないピクセルに対しては0と設定され得る。
最適化過程のために、第tオプティカルフローベクトルと、第tFPVベクトルと、第t物体モーションベクトルと、第tジッタリングベクトルとの間に下記の2つの数式のような関係があると仮定する。
前記数式は、基本的に測定された第tオプティカルフローベクトルが、第tFPVベクトルと、第t物体モーションベクトルと、第tジッタリングベクトルとの和からなるという仮定を示す。具体的に見ると、最初の左側数式の項(Term)のうち、fij (t)は参照ピクセルに対する第1のt番目オプティカルフローベクトルを意味し、oij (t)は物体ピクセル及び参照ピクセルである特定ピクセルの第t物体モーションベクトルを意味し、vij (t)は第tFPVベクトルを意味し、eij (t)は第tジッタリングベクトルを意味する。
参照ピクセルの第1のt番目オプティカルフローベクトルは、最初の数式のように残りのベクトルの和(Sum)としてモデリングされるが、これとは異なり、参照ピクセルでないピクセルの第2のt番目オプティカルフローベクトルは、周辺参照ピクセルに対する第tFPVベクトル及び第tジッタリングベクトルの加重和(Weighted Sum)としてモデリングされる。fxy (t)は参照ピクセルでない残りのピクセルに対する第tオプティカルフローベクトルを意味し、oxy (t)は参照ピクセルでない残りのピクセルの第t物体モーションベクトルを意味し、シグマ記号は、グリッドをなす、参照ピクセルのうち一部の参照ピクセルに対する第tFPVベクトル及び第tジッタリングベクトルの加重和を意味する。これについて例示を挙げて説明するために、図4を参照することにする。
図4は、本発明の一実施例に従って複数のニューラルネットワークを使用してビデオでジッタリングを取り除く方法を遂行するために第tイメージ上の、参照ピクセルでない特定ピクセルのオプティカルフローベクトルをモデリングしたものを簡略に示した図面である。
前記説明を図4を例に挙げて敷衍説明すると、人の腕部分に対応する特定ピクセルの第tオプティカルフローベクトル151が、第t物体モーションベクトル152と、特定ピクセル周辺の参照ピクセルに対する第tFPVベクトル153_1、153_2、153_3、153_4と、特定ピクセル周辺の参照ピクセルに対する第tジッタリングベクトル154_1、154_2、154_3、154_4とからなっているものとしてモデリングしたということである。このとき、それぞれの第tFPVベクトル153_1、153_2、153_3、153_4及びそれぞれの第tジッタリングベクトル154_1、154_2、154_3、154_4をどれぐらい反映するかは、前記数式のシグマ記号中にある重み付け値であるwij,xyによって決定され得る。例示的に、前記重み付け値は、特定ピクセルとそれぞれの参照ピクセルとの間の距離によって決定され得る。
前記のような仮定下において、第tオプティカルフローベクトルを除いた残りのベクトルは、下記のような数式によって最適化され得る。
すなわち、前述した仮定下において、前記数式を最小化する、eij (t),vij (t),oxy (t)を見出すことによって第t物体モーションベクトルを最適化し、第tFPVベクトル、第tジッタリングベクトルを生成するのである。第t物体モーションベクトルの場合、第2ニューラルネットワーク140により生成された第t物体モーションベクトルを基準として、前記式を利用して調整される方式で最適化され得る。
前記数式において、vij (t−1)は第t−1FPVベクトルを意味し、oxy (t−1)は第t−1物体モーションベクトルを意味し、λ及びλ

及び

に対するそれぞれの重み付け値を意味する。この場合、||eij (t)|| は自明な解(Trivial Solution)を防止し、ジッタリングでない動きのベクトルに対する情報の量を最大化することができる。残りの項は、第tFPVベクトル及び第t物体モーションベクトルが、それぞれ第t−1FPVベクトル及び第t−1物体モーションベクトルに比べて非現実的に大きくならないようにする役割をする。これは、ジッタリングでないモーション(Motion)は、一フレーム単位の短時間の間に大きく変化しない特性があるためである。
その他の例として、別の数式によって最適化過程を経る実施例について説明することにする。
本来の数式と前記数式とが異なるのは、本来の数式は第tフレームすぐ前のフレームに対応する第t−1イメージを参照して生成された情報を利用したとすると、新たな実施例の前記別の数式は、第tフレーム直前の以前のK個のフレームに対応するイメージを参照して生成された情報を利用するというものである。vij (t−k)は第t−kイメージに対する第t−kFPVベクトルを意味し、oxy (t−k)は第t−kイメージに対する第t−k物体モーションベクトルを意味するところ、前記新たな数式が直前に説明したような役割をすることができる。wは|vij (t)−vij (t−k)及び|oxy (t)−oxy (t−k)に対する重み付け値を意味し得るが、例示的にexp(―k/K)のような数式で表現され得る。このようなプロセスを使用すると、演算量が増える代わりにさらに正確に第t物体モーションベクトルを最適化し、第tFPVベクトル及び第tジッタリングベクトルを生成し得るようになる。
このように、第tイメージのジッタリングを緩和した第t調整イメージを生成するために第tジッタリングベクトルを参照することができる。例示的に、それぞれの参照ピクセルのそれぞれの位置をそれぞれに対応する第tジッタリングベクトルと振幅は同じで方向は反対に動かした後、それに合わせてグリッド内部に含まれているそれぞれのイメージを調整することによってジッタリングを緩和し、第t調整イメージを生成することができる。
以上、最適化過程について説明したところ、最適化の過程中に算出され得るロスを利用して第2ニューラルネットワーク140を学習する過程について検討することにする。
最適化過程において、前述したように第t物体モーションベクトルは、第tFPVベクトルと第tジッタリングベクトルとが生成されると同時に最適化される。この際、学習ユニット160は、(i)ジッタリング予測ユニット150から最適化された第t物体モーションベクトルを取得し、(ii)第2ニューラルネットワーク140から、最適化される以前の第t物体モーションベクトルを取得した後、(iii)互いに対応する、最適化される前と最適化された後それぞれの第t物体モーションベクトルの差異情報(Difference Information)を生成し、(iv)前記差異情報を参照してロスを生成することができる。以後、このロスをバックプロパゲーションすることによって第2ニューラルネットワーク140を学習することができる。第1ニューラルネットワーク130は、前述したように予め学習された状態であり得、ジッタリング予測ユニット150は、予め設定された数式を使用するものであるので学習されるものがない。
前記本発明の一実施例による学習方法を検討したところ、本発明をテストする方法について説明することにする。
参考までに、以下の説明において混同を避けるために「学習用」という文句は、先に説明した学習プロセスに関する用語について追加され、「テスト用」という文句はテストプロセスに関する用語について追加される。
学習装置が、(1)学習用ビデオ上の学習用第tフレームに該当する学習用第tイメージが取得されると、第1ニューラルネットワーク130をもって、学習用第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて学習用第tイメージ内のそれぞれの学習用物体に対応する学習用第tマスクそれぞれを生成させ、(2)第2ニューラルネットワーク140をもって、(i)それぞれの学習用第tマスクと、(ii)これに対応する、学習用第tイメージの一部分であるそれぞれの学習用第tクロップ済み(Cropped)イメージと、(iii)それぞれの学習用第t−1マスクと、(iv)これに対応する、学習用第t−1イメージの一部分であるそれぞれの学習用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて学習用第tイメージに含まれた、それぞれの学習用物体に対応する学習用物体ピクセルそれぞれに対する学習用第t物体モーションベクトル(Object Motion Vector)を生成させ、(3)ジッタリング予測ユニット150をもって、学習用第t物体モーションベクトルそれぞれを参照して学習用第tイメージ内のピクセルのうち学習用参照ピクセル(Reference Pixel)それぞれに対応する学習用第tジッタリングベクトル(Jittering Vector)それぞれを生成させ、(4)学習ユニット160をもって、(i)学習用第tジッタリングベクトルを生成するためのプロセスを通じて最適化された学習用第t調整物体モーションベクトル、及び(ii)最適化される前の学習用第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、ロスをバックプロパゲーションすることによって第2ニューラルネットワーク140の少なくとも一つのパラメータの少なくとも一部を学習するプロセスを完了した状態で、テスト用ビデオのテスト用第tフレームに該当するテスト用第tイメージが取得されると、テスト装置が、第1ニューラルネットワークをもって、テスト用第tイメージに対して第1ニューラルネットワーク演算を適用させてテスト用第tイメージ内のそれぞれのテスト用物体に対応するテスト用第tマスクそれぞれを生成させることができる。
その後、テスト装置が、第2ニューラルネットワークをもって、(i)それぞれのテスト用第tマスクと、(ii)これに対応する、テスト用第tイメージの一部分であるそれぞれのテスト用第tクロップ済み(Cropped)イメージと、(iii)それぞれのテスト用第t−1マスクと、(iv)これに対応する、テスト用第t−1イメージの一部分であるそれぞれのテスト用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を適用させてテスト用第tイメージに含まれた、それぞれのテスト用物体に対応するテスト用物体ピクセルそれぞれに対するテスト用第t物体モーションベクトル(Object Motion Vector)それぞれを生成させることができる。
そして、テスト装置が、ジッタリング予測ユニット(Jittering Estimation Unit)をもって、テスト用第t物体モーションベクトルそれぞれを参照して、テスト用第tイメージ内のピクセルのうちテスト用参照ピクセル(Reference Pixel)それぞれに対応するテスト用第tジッタリングベクトル(Jittering Vector)それぞれを生成させることができる。
また、テスト装置が前記ジッタリング予測ユニットをもって、テスト用第tジッタリングベクトルを参照してテスト用第tイメージのジッタリングを緩和したテスト用第t調整イメージ(Adjusted Image)を生成させることができる。
このような本発明の一実施例により、複数のニューラルネットワークを使用して揺れたカメラから取得された、ジッタリングが発生したイメージを補正する方法を遂行することによって、カメラが揺れてもこれを補正するため当該カメラから適切なイメージを取得することができる。
また、本発明の一実施例による方法は、映像安定化、超精密物体の追跡、行動予測、モーション(Motion)分解に使用され得る。
本発明の技術分野における通常の技術者に理解され得るところとして、上記で説明されたイメージ、例えば、オリジナルイメージ、オリジナルラベル及び追加ラベルのようなイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/又はメモリ)によって保有/維持され得、コンボリューション演算、デコンボリューション演算、ロス値演算の過程が主に学習装置及びテスト装置のプロセッサによって遂行され得るが、本発明がこれに限定されはしないであろう。
以上にて説明された本発明による各実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(Floptical Disk)のような磁気−光メディア(Magneto−Optical Media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、かかる記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。

Claims (26)

  1. 少なくとも1つのニューラルネットワーク(Neural Network)を使用してビデオ(Video)上のジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記ビデオからジッタリングを検出する方法において、
    (a)前記ビデオの第tフレームに該当する第tイメージが取得されると、コンピューティング装置が、第1ニューラルネットワークをもって、前記第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージ内のそれぞれの物体に対応する第tマスクそれぞれを生成させる段階;
    (b)前記コンピューティング装置が、第2ニューラルネットワークをもって、(i)それぞれの前記第tマスクと、(ii)これに対応する、前記第tイメージの一部分であるそれぞれの第tクロップ済み(Cropped)イメージと、(iii)それぞれの第t−1マスクと、(iv)これに対応する、第t−1イメージの一部分であるそれぞれの第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージに含まれた、それぞれの前記物体に対応する物体ピクセルそれぞれに対する第t物体モーションベクトル(Object Motion Vector)それぞれを生成させる段階;及び
    (c)前記コンピューティング装置が、ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記第t物体モーションベクトルそれぞれを参照して前記第tイメージ内のピクセルのうち参照ピクセル(Reference Pixel)それぞれに対応する第tジッタリングベクトル(Jittering Vector)それぞれを生成させる段階;
    を含むことを特徴とする方法。
  2. (d)前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、前記第tジッタリングベクトルを参照して前記第tイメージのジッタリングを緩和した第t調整イメージ(Adjusted Image)を生成させる段階;
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. (e)前記コンピューティング装置が、学習ユニット(Learning Unit)をもって、(i)前記第tジッタリングベクトルを生成するためのプロセスを通じて最適化された第t調整物体モーションベクトル、及び(ii)最適化される前の前記第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習させる段階;
    をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記(c)段階で、
    前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、(i)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に前記第tイメージ内のピクセルそれぞれに対応する地点それぞれの動いた程度を示すそれぞれの第tオプティカルフローベクトル(Optical Flow Vector)、及び(ii)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に3次元上における前記地点それぞれの動いた程度を示すそれぞれの第tFPVベクトルをさらに参照して前記第tジッタリングベクトルを生成させることを特徴とする請求項1に記載の方法。
  5. 前記(d)段階で、
    前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、

    前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させることによって前記第tジッタリングベクトルを生成させ、
    ij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−1)は第t−1FPVベクトルを意味し、oxy (t−1)は第t−1物体モーションベクトルを意味し、λ及びλ

    及び

    に対するそれぞれの重み付け値を意味することを特徴とする請求項4に記載の方法。
  6. 前記数式は、

    前記条件を満たす項(Term)に対して有効であるようにし、
    ij (t)は前記第tオプティカルフローベクトルのうち一部である、前記参照ピクセルに対する第1のt番目オプティカルフローベクトルを意味し、fxy (t)は前記参照ピクセルでない残りのピクセルに対する第2のt番目オプティカルフローベクトルを意味し、oij (t)は前記第t物体モーションベクトルのうち一部である、前記物体ピクセルであり、かつ前記参照ピクセルである特定ピクセルに対する第t物体モーションベクトルを意味し、シグマ記号下段のi,j∈NB(x,y)は所定のピクセルを含むグリッド内の前記参照ピクセルのうち一部に関する情報を使用するものであることを表し、wij,xyは前記グリッド内の前記所定のピクセルの少なくとも一つの位置によるそれぞれの重み付け値を表すことを特徴とする請求項5に記載の方法。
  7. 前記コンピューティング装置が、前記ジッタリング予測ユニットをもって、

    前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させ、
    ij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−k)は第t−kイメージに対する第t−kFPVベクトルを意味し、oxy (t−k)は前記第t−kイメージに対する第t−k物体モーションベクトルを意味し、wは|vij (t)−vij (t−k)及び|oxy (t)−oxy (t−k)に対するそれぞれの重み付け値を意味し、Kは所定の定数(constant)であることを特徴とする請求項4に記載の方法。
  8. 前記(b)段階で、
    前記第2ニューラルネットワークは、第2_1ニューラルネットワーク及び第2_2ニューラルネットワークを含み、
    前記第2_1ニューラルネットワークは、それぞれの前記第tマスクと、それぞれの前記第tクロップ済みイメージと、それぞれの前記第t−1マスクと、それぞれの前記第t−1クロップ済みイメージとに対して分析する、前記第2ニューラルネットワーク演算に含まれた第2_1ニューラルネットワーク演算を少なくとも一回遂行することによって少なくとも一つの中間特徴マップ(Intermediate Feature Map)を生成し、
    前記第2_2ニューラルネットワークは、前記第tイメージが取得される以前に入力された値に対する分析内容を参照して前記中間特徴マップに対して前記第2ニューラルネットワーク演算に含まれた第2_2ニューラルネットワーク演算を少なくとも一回適用することによって前記第t物体モーションベクトルを生成することを特徴とする請求項1に記載の方法。
  9. 前記第2_2ニューラルネットワークは、
    (i)第1イメージないし前記第t−1イメージのうち少なくとも一部に対する各値についての分析を反映して、前記第2_1ニューラルネットワークが生成された、前記第2_2ニューラルネットワークの状態ベクトル(State Vector)を使用して前記第t物体モーションベクトルを生成させ、(ii)前記状態ベクトルをアップデートさせることを特徴とする請求項8に記載の方法。
  10. 前記参照ピクセルは、前記第tイメージ上の前記グリッドのグリッドセル(Grid Cell)のバウンダリ(Boundary)上に位置する頂点であることを特徴とする請求項1に記載の方法。
  11. 前記(a)段階で、
    前記第1ニューラルネットワークは少なくとも一つのRPN(Region Proposal Network)と、少なくとも一つのコンボリューションレイヤと、少なくとも一つのプーリングレイヤとを含み、
    前記RPNが少なくとも一つのROIを生成すると、前記第1ニューラルネットワークは、二重線形補間法(Bilinear Interpolation)を利用して前記ROIに対応する少なくとも一つの領域を前記第tイメージ上で選択した後、これに前記コンボリューションレイヤによる演算を少なくとも一回適用することによって前記第tマスクを生成することを特徴とする請求項1に記載の方法。
  12. 少なくとも1つのニューラルネットワーク(Neural Network)を使用してテスト用ビデオ(Video)上でジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記テスト用ビデオに前記ジッタリングを取り除くテスト方法において、
    (a)学習装置が、(1)学習用ビデオ上の学習用第tフレームに該当する学習用第tイメージが取得されると、第1ニューラルネットワークをもって、前記学習用第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージ内のそれぞれの学習用物体に対応する学習用第tマスクそれぞれを生成させ、(2)第2ニューラルネットワークをもって、(i)それぞれの前記学習用第tマスクと、(ii)これに対応する、前記学習用第tイメージの一部分であるそれぞれの学習用第tクロップ済み(Cropped)イメージと、(iii)それぞれの学習用第t−1マスクと、(iv)これに対応する、学習用第t−1イメージの一部分であるそれぞれの学習用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージに含まれた、それぞれの前記学習用物体に対応する学習用物体ピクセルそれぞれに対する学習用第t物体モーションベクトル(Object Motion Vector)を生成させ、(3)ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記学習用第t物体モーションベクトルそれぞれを参照して前記学習用第tイメージ内のピクセルのうち学習用参照ピクセル(Reference Pixel)それぞれに対応する学習用第tジッタリングベクトル(Jittering Vector)それぞれを生成させ、(4)学習ユニットをもって、(i)前記学習用第tジッタリングベクトルを生成するためのプロセスを通じて最適化された学習用第t調整物体モーションベクトル、及び(ii)最適化される前の前記学習用第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習完了した状態で、前記テスト用ビデオのテスト用第tフレームに該当するテスト用第tイメージが取得されると、テスト装置が、前記第1ニューラルネットワークをもって、前記テスト用第tイメージに対して第1ニューラルネットワーク演算を適用させて前記テスト用第tイメージ内のそれぞれのテスト用物体に対応するテスト用第tマスクそれぞれを生成させる段階;
    (b)前記テスト装置が、前記第2ニューラルネットワークをもって、(i)それぞれの前記テスト用第tマスクと、(ii)これに対応する、前記テスト用第tイメージの一部分であるそれぞれのテスト用第tクロップ済み(Cropped)イメージと、(iii)それぞれのテスト用第t−1マスクと、(iv)これに対応する、テスト用第t−1イメージの一部分であるそれぞれのテスト用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を適用させて前記テスト用第tイメージに含まれた、それぞれの前記テスト用物体に対応するテスト用物体ピクセルそれぞれに対するテスト用第t物体モーションベクトル(Object Motion Vector)それぞれを生成させる段階;及び
    (c)前記テスト装置が、前記ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記テスト用第t物体モーションベクトルそれぞれを参照して、前記テスト用第tイメージ内のピクセルのうちテスト用参照ピクセル(Reference Pixel)それぞれに対応するテスト用第tジッタリングベクトル(Jittering Vector)それぞれを生成させる段階;
    を含むことを特徴とする方法。
  13. (d)前記コンピューティング装置が、
    前記ジッタリング予測ユニットをもって、前記テスト用第tジッタリングベクトルを参照して前記テスト用第tイメージのジッタリングを緩和したテスト用第t調整イメージ(Adjusted Image)を生成させる段階;
    を含むことを特徴とする請求項12に記載の方法。
  14. 少なくとも一つのニューラルネットワーク(Neural Network)を使用してビデオ(Video)上のジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記ビデオからジッタリングを検出するコンピューティング装置において、
    インストラクションを格納する少なくとも一つのメモリと、
    (I)前記ビデオの第tフレームに該当する第tイメージが取得されると、第1ニューラルネットワークをもって、前記第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージ内のそれぞれの物体に対応する第tマスクそれぞれを生成させるプロセス、(II)第2ニューラルネットワークをもって、(i)それぞれの前記第tマスクと、(ii)これに対応する、前記第tイメージの一部分であるそれぞれの第tクロップ済み(Cropped)イメージと、(iii)それぞれの第t−1マスクと、(iv)これに対応する、第t−1イメージの一部分であるそれぞれの第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記第tイメージに含まれた、それぞれの前記物体に対応する物体ピクセルそれぞれに対する第t物体モーションベクトル(Object Motion Vector)それぞれを生成させるプロセス、及び(III)ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記第t物体モーションベクトルそれぞれを参照して前記第tイメージ内のピクセルのうち参照ピクセル(Reference Pixel)それぞれに対応する第tジッタリングベクトル(Jittering Vector)それぞれを生成させるプロセスを遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、
    を含むことを特徴とする装置。
  15. 前記プロセッサが、
    (IV)前記ジッタリング予測ユニットをもって、前記第tジッタリングベクトルを参照して前記第tイメージのジッタリングを緩和した第t調整イメージ(Adjusted Image)を生成させるプロセス;
    をさらに含むことを特徴とする請求項14に記載の装置。
  16. 前記プロセッサが、
    (V)学習ユニット(Learning Unit)をもって、(i)前記第tジッタリングベクトルを生成するためのプロセスを通じて最適化された第t調整物体モーションベクトル、及び(ii)最適化される前の前記第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習させるプロセス;
    をさらに含むことを特徴とする請求項14に記載の装置。
  17. 前記(III)プロセスで、
    前記プロセッサが、
    前記ジッタリング予測ユニットをもって、(i)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に前記第tイメージ内のピクセルそれぞれに対応する地点それぞれの動いた程度を示すそれぞれの第tオプティカルフローベクトル(Optical Flow Vector)、及び(ii)前記カメラで前記第t−1イメージを撮影した時点と前記第tイメージを撮影した時点との間に3次元上における前記地点それぞれの動いた程度を示すそれぞれの第tFPVベクトルをさらに参照して前記第tジッタリングベクトルを生成させることを特徴とする請求項14に記載の装置。
  18. 前記(IV)プロセスで、
    前記プロセッサは、前記ジッタリング予測ユニットをもって、

    前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させることによって前記第tジッタリングベクトルを生成させ、
    ij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−1)は第t−1FPVベクトルを意味し、oxy (t−1)は第t−1物体モーションベクトルを意味し、λ及びλ

    及び

    に対するそれぞれの重み付け値を意味することを特徴とする請求項14に記載の装置。
  19. 前記数式は、

    前記条件を満たす項(Term)に対して有効であるようにし、
    ij (t)は前記第tオプティカルフローベクトルのうち一部である、前記参照ピクセルに対する第1のt番目オプティカルフローベクトルを意味し、fxy (t)は前記参照ピクセルでない残りのピクセルに対する第2のt番目オプティカルフローベクトルを意味し、oij (t)は前記第t物体モーションベクトルのうち一部である、前記物体ピクセルであり、かつ前記参照ピクセルである特定ピクセルに対する第t物体モーションベクトルを意味し、シグマ記号下段のi,j∈NB(x,y)は所定のピクセルを含むグリッド内の前記参照ピクセルのうち一部に関する情報を使用するものであることを表し、wij,xyは前記グリッド内の前記所定のピクセルの少なくとも一つの位置によるそれぞれの重み付け値を表すことを特徴とする請求項18に記載の装置。
  20. 前記プロセッサが、前記ジッタリング予測ユニットをもって、

    前記数式を最小化させるeij (t),vij (t),oxy (t)を算出させ、
    ij (t)は前記第tジッタリングベクトルを意味し、vij (t)は前記第tFPVベクトルを意味し、oxy (t)は前記第t物体モーションベクトルを意味し、vij (t−k)は第t−kイメージに対する第t−kFPVベクトルを意味し、oxy (t−k)は前記第t−kイメージに対する第t−k物体モーションベクトルを意味し、wは|vij (t)−vij (t−k)及び|oxy (t)−oxy (t−k)に対するそれぞれの重み付け値を意味し、Kは所定の定数であることを特徴とする請求項17に記載の装置。
  21. 前記(II)プロセスで、
    前記第2ニューラルネットワークは、第2_1ニューラルネットワーク及び第2_2ニューラルネットワークを含み、
    前記第2_1ニューラルネットワークは、それぞれの前記第tマスクと、それぞれの前記第tクロップ済みイメージと、それぞれの前記第t−1マスクと、それぞれの前記第t−1クロップ済みイメージとについて分析する、前記第2ニューラルネットワーク演算に含まれた第2_1ニューラルネットワーク演算を少なくとも一回遂行することによって少なくとも一つの中間特徴マップ(Intermediate Feature Map)を生成し、
    前記第2_2ニューラルネットワークは、前記第tイメージが取得される以前に入力された値に対する分析内容を参照して、前記中間特徴マップに対して前記第2ニューラルネットワーク演算に含まれた第2_2ニューラルネットワーク演算を少なくとも一回適用することによって前記第t物体モーションベクトルを生成することを特徴とする請求項14に記載の装置。
  22. 前記第2_2ニューラルネットワークは、
    (i)第1イメージないし前記第t−1イメージのうち少なくとも一部に対する各値についての分析を反映して、前記第2_1ニューラルネットワークが生成された、前記第2_2ニューラルネットワークの状態ベクトル(State Vector)を使用して前記第t物体モーションベクトルを生成させ、(ii)前記状態ベクトルをアップデートさせることを特徴とする請求項21に記載の装置。
  23. 前記参照ピクセルは、前記第tイメージ上の前記グリッドのグリッドセル(Grid Cell)のバウンダリ(Boundary)上に位置する頂点であることを特徴とする請求項14に記載の装置。
  24. 前記(I)プロセスで、
    前記第1ニューラルネットワークは少なくとも一つのRPN(Region Proposal Network)と、少なくとも一つのコンボリューションレイヤと、少なくとも一つのプーリングレイヤとを含み、
    前記RPNが少なくとも一つのROIを生成すると、前記第1ニューラルネットワークは、二重線形補間法(Bilinear Interpolation)を利用して前記ROIに対応する少なくとも一つの領域を前記第tイメージ上で選択した後、これに前記コンボリューションレイヤによる演算を少なくとも一回適用することによって前記第tマスクを生成することを特徴とする請求項14に記載の装置。
  25. 少なくとも1つのニューラルネットワーク(Neural Network)を使用してテスト用ビデオ(Video)上でジッタリング(Jittering)を取り除くために、揺れるカメラにより生成された前記テスト用ビデオに前記ジッタリングを取り除くテスト装置において、
    インストラクションを格納する少なくとも一つのメモリと、
    学習装置が、(1)学習用ビデオ上の学習用第tフレームに該当する学習用第tイメージが取得されると、第1ニューラルネットワークをもって、前記学習用第tイメージに対して第1ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージ内のそれぞれの学習用物体に対応する学習用第tマスクそれぞれを生成させ、(2)第2ニューラルネットワークをもって、(i)それぞれの前記学習用第tマスクと、(ii)これに対応する、前記学習用第tイメージの一部分であるそれぞれの学習用第tクロップ済み(Cropped)イメージと、(iii)それぞれの学習用第t−1マスクと、(iv)これに対応する、学習用第t−1イメージの一部分であるそれぞれの学習用第t−1クロップ済みイメージとに対して第2ニューラルネットワーク演算を少なくとも一回適用させて前記学習用第tイメージに含まれた、それぞれの前記学習用物体に対応する学習用物体ピクセルそれぞれに対する学習用第t物体モーションベクトル(Object Motion Vector)を生成させ、(3)ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記学習用第t物体モーションベクトルそれぞれを参照して前記学習用第tイメージ内のピクセルのうち学習用参照ピクセル(Reference Pixel)それぞれに対応する学習用第tジッタリングベクトル(Jittering Vector)それぞれを生成させ、(4)学習ユニットをもって、(i)前記学習用第tジッタリングベクトルを生成するためのプロセスを通じて最適化された学習用第t調整物体モーションベクトル、及び(ii)最適化される前の前記学習用第t物体モーションベクトルを参照して少なくとも一つのロスを算出させ、前記ロスをバックプロパゲーションすることによって前記第2ニューラルネットワークの少なくとも一つのパラメータの少なくとも一部を学習完了した状態で、(I)前記テスト用ビデオのテスト用第tフレームに該当するテスト用第tイメージが取得されると、テスト装置が、前記第1ニューラルネットワークをもって、前記テスト用第tイメージに対して第1ニューラルネットワーク演算を適用させて前記テスト用第tイメージ内のそれぞれのテスト用物体に対応するテスト用第tマスクそれぞれを生成させるプロセス、(II)前記第2ニューラルネットワークをもって、(i)それぞれの前記テスト用第tマスク、(ii)これに対応する、前記テスト用第tイメージの一部分であるそれぞれのテスト用第tクロップ済み(Cropped)イメージ、(iii)それぞれのテスト用第t−1マスク及び(iv)これに対応する、テスト用第t−1イメージの一部分であるそれぞれのテスト用第t−1クロップ済みイメージに対して第2ニューラルネットワーク演算を適用させて前記テスト用第tイメージに含まれた、それぞれの前記テスト用物体に対応するテスト用物体ピクセルそれぞれに対するテスト用第t物体モーションベクトル(Object Motion Vector)それぞれを生成させるプロセス、及び(III)前記ジッタリング予測ユニット(Jittering Estimation Unit)をもって、前記テスト用第t物体モーションベクトルそれぞれを参照して前記テスト用第tイメージ内のピクセルのうちテスト用参照ピクセル(Reference Pixel)それぞれに対応するテスト用第tジッタリングベクトル(Jittering Vector)それぞれを生成させるプロセスを遂行するための前記インストラクションを実行するように構成された少なくとも一つのプロセッサと、
    を含むことを特徴とする装置。
  26. 前記プロセッサが、
    (IV)前記ジッタリング予測ユニットをもって、前記テスト用第tジッタリングベクトルを参照して前記テスト用第tイメージのジッタリングを緩和したテスト用第t調整イメージ(Adjusted Image)を生成させるプロセス;
    を含むことを特徴とする請求項25に記載の装置。
JP2020005486A 2019-01-31 2020-01-16 フォールトトレランス及びフラクチュエーションロバスト性のための複数のニューラルネットワークを使用して揺れるカメラにより生成されたビデオからジッタリングを取り除くための学習方法及び学習装置、そしてそれを利用したテスト方法及びテスト装置 Active JP6901803B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/262,996 US10482584B1 (en) 2019-01-31 2019-01-31 Learning method and learning device for removing jittering on video acquired through shaking camera by using a plurality of neural networks for fault tolerance and fluctuation robustness in extreme situations, and testing method and testing device using the same
US16/262,996 2019-01-31

Publications (2)

Publication Number Publication Date
JP2020126617A true JP2020126617A (ja) 2020-08-20
JP6901803B2 JP6901803B2 (ja) 2021-07-14

Family

ID=68536108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020005486A Active JP6901803B2 (ja) 2019-01-31 2020-01-16 フォールトトレランス及びフラクチュエーションロバスト性のための複数のニューラルネットワークを使用して揺れるカメラにより生成されたビデオからジッタリングを取り除くための学習方法及び学習装置、そしてそれを利用したテスト方法及びテスト装置

Country Status (5)

Country Link
US (1) US10482584B1 (ja)
EP (1) EP3690811A1 (ja)
JP (1) JP6901803B2 (ja)
KR (1) KR102320999B1 (ja)
CN (1) CN111507906B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885628B2 (en) * 2018-04-25 2021-01-05 Seesure Single image completion from retrieved image collections
US20210181758A1 (en) * 2019-10-26 2021-06-17 Zoox, Inc. Object detection and tracking
CN111901532B (zh) * 2020-09-30 2020-12-25 南京理工大学 基于循环神经网络迭代策略的视频稳定方法
US20220138903A1 (en) * 2020-11-04 2022-05-05 Nvidia Corporation Upsampling an image using one or more neural networks
WO2023140446A1 (ko) * 2022-01-19 2023-07-27 한화비전 주식회사 영상처리장치 및 그의 영상처리방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11283040A (ja) * 1998-01-29 1999-10-15 Mitsubishi Electric Corp 操作制御装置および動作解析プログラムを記録したコンピュ―タ読み取り可能な記録媒体
US20170186176A1 (en) * 2015-12-28 2017-06-29 Facebook, Inc. Systems and methods for determining optical flow
WO2017210455A1 (en) * 2016-06-01 2017-12-07 Kla-Tencor Corporation Systems and methods incorporating a neural network and a forward physical model for semiconductor applications
CN107566688A (zh) * 2017-08-30 2018-01-09 广州华多网络科技有限公司 一种基于卷积神经网络的视频防抖方法及装置
JP2018180619A (ja) * 2017-04-04 2018-11-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5012270A (en) * 1988-03-10 1991-04-30 Canon Kabushiki Kaisha Image shake detecting device
WO2009072264A1 (ja) * 2007-12-03 2009-06-11 Panasonic Corporation 画像処理装置、撮影装置、再生装置、集積回路及び画像処理方法
JP5414405B2 (ja) * 2009-07-21 2014-02-12 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法
JP2015039085A (ja) * 2011-12-14 2015-02-26 パナソニック株式会社 画像処理装置及び画像処理方法
EP2936804A4 (en) * 2012-12-21 2016-06-01 Thomson Licensing VIDEO QUALITY MODEL, METHOD FOR DEVELOPING A VIDEO QUALITY MODEL AND METHOD FOR DETERMINING THE VIDEO QUALITY USING A VIDEO QUALITY MODEL
US9374532B2 (en) * 2013-03-15 2016-06-21 Google Inc. Cascaded camera motion estimation, rolling shutter detection, and camera shake detection for video stabilization
CN106485226A (zh) * 2016-10-14 2017-03-08 杭州派尼澳电子科技有限公司 一种基于神经网络的视频行人检测方法
WO2018119240A1 (en) * 2016-12-21 2018-06-28 Massachusetts Institute Of Technology Determining soil state and controlling equipment based on captured images
US20180181864A1 (en) * 2016-12-27 2018-06-28 Texas Instruments Incorporated Sparsified Training of Convolutional Neural Networks
US10534962B2 (en) * 2017-06-17 2020-01-14 Matterport, Inc. Automated classification based on photo-realistic image/model mappings
US10217028B1 (en) * 2017-08-22 2019-02-26 Northrop Grumman Systems Corporation System and method for distributive training and weight distribution in a neural network
US10089743B1 (en) * 2017-10-05 2018-10-02 StradVision, Inc. Method for segmenting an image and device using the same
KR101935399B1 (ko) * 2018-07-11 2019-01-16 주식회사 두원전자통신 심층 신경망 알고리즘 기반 광역 다중 객체 감시 시스템
CN109064507B (zh) * 2018-08-21 2021-06-22 北京大学深圳研究生院 一种用于视频预测的多运动流深度卷积网络模型方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11283040A (ja) * 1998-01-29 1999-10-15 Mitsubishi Electric Corp 操作制御装置および動作解析プログラムを記録したコンピュ―タ読み取り可能な記録媒体
US20170186176A1 (en) * 2015-12-28 2017-06-29 Facebook, Inc. Systems and methods for determining optical flow
WO2017210455A1 (en) * 2016-06-01 2017-12-07 Kla-Tencor Corporation Systems and methods incorporating a neural network and a forward physical model for semiconductor applications
JP2018180619A (ja) * 2017-04-04 2018-11-15 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN107566688A (zh) * 2017-08-30 2018-01-09 广州华多网络科技有限公司 一种基于卷积神经网络的视频防抖方法及装置

Also Published As

Publication number Publication date
KR102320999B1 (ko) 2021-11-03
CN111507906B (zh) 2023-10-10
KR20200095339A (ko) 2020-08-10
CN111507906A (zh) 2020-08-07
JP6901803B2 (ja) 2021-07-14
EP3690811A1 (en) 2020-08-05
US10482584B1 (en) 2019-11-19

Similar Documents

Publication Publication Date Title
JP2020126617A (ja) フォールトトレランス及びフラクチュエーションロバスト性のための複数のニューラルネットワークを使用して揺れるカメラにより生成されたビデオからジッタリングを取り除くための学習方法及び学習装置、そしてそれを利用したテスト方法及びテスト装置
US11200696B2 (en) Method and apparatus for training 6D pose estimation network based on deep learning iterative matching
KR102302725B1 (ko) 룸 레이아웃 추정 방법들 및 기술들
WO2020048396A1 (zh) 一种连续图像的目标检测方法、装置、设备及存储介质
US20210049371A1 (en) Localisation, mapping and network training
US11138742B2 (en) Event-based feature tracking
EP3686837B1 (en) Learning method and learning device for reducing distortion occurred in warped image generated in process of stabilizing jittered image by using gan to enhance fault tolerance and fluctuation robustness in extreme situations
JP7345664B2 (ja) 不確実性を有するランドマーク位置推定のための画像処理システムおよび方法
CN113657560B (zh) 基于节点分类的弱监督图像语义分割方法及系统
Qu et al. Depth completion via deep basis fitting
KR20220143725A (ko) 2차원 이미지들로부터 3차원 객체 모델들의 생성
CN110838122B (zh) 点云的分割方法、装置及计算机存储介质
US11789466B2 (en) Event camera based navigation control
Chaffre et al. Sim-to-real transfer with incremental environment complexity for reinforcement learning of depth-based robot navigation
CN112085849A (zh) 基于航拍视频流的实时迭代三维建模方法、系统及可读介质
CN111581313A (zh) 一种基于实例分割的语义slam鲁棒性改进方法
CN113160278A (zh) 一种场景流估计、场景流估计模型的训练方法和装置
Lambert et al. Deep forward and inverse perceptual models for tracking and prediction
Jiang et al. Object detection and counting with low quality videos
de Boer et al. Choosing between optical flow algorithms for UAV position change measurement
Vora et al. Future segmentation using 3d structure
KR20190090141A (ko) 공동 학습을 이용한 기계학습 시스템 및 그 방법
CN112348843A (zh) 调整深度图像预测模型的方法、装置和电子设备
Kuse et al. Deep-mapnets: A residual network for 3d environment representation
CN114613002B (zh) 基于光线投影原理的运动视角下动态物体检测方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210611

R150 Certificate of patent or registration of utility model

Ref document number: 6901803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250