JP2023084096A - 高効率ニューラルネットワークビデオ画像処理の方法及びシステム - Google Patents

高効率ニューラルネットワークビデオ画像処理の方法及びシステム Download PDF

Info

Publication number
JP2023084096A
JP2023084096A JP2022165763A JP2022165763A JP2023084096A JP 2023084096 A JP2023084096 A JP 2023084096A JP 2022165763 A JP2022165763 A JP 2022165763A JP 2022165763 A JP2022165763 A JP 2022165763A JP 2023084096 A JP2023084096 A JP 2023084096A
Authority
JP
Japan
Prior art keywords
layer
layers
neural network
previous
feature
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.)
Pending
Application number
JP2022165763A
Other languages
English (en)
Inventor
エルロン ノーム
Elron Noam
ベルリン ベン
Berlin Ben
ルドイ ドミトリー
Rudoy Dmitry
ゴレン アミール
Goren Amir
レビー ノーム
Levy Noam
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2023084096A publication Critical patent/JP2023084096A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/23Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on positionally close patterns or neighbourhood relationships
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items

Abstract

【課題】時間相関を使用する高効率ニューラルネットワークビデオ画像処理の方法、システム及び製品を提供する。【解決手段】画像処理方法のプロセス500は、ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力するステップ502と、下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断するステップ504と、判断が、現在のフレームを処理する上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での比較に依存するステップ506と、を含む。【選択図】図5

Description

多くの画像処理アプリケーションは、コンピュータビジョンタスクのためのビデオシーケンスのフレームの画像データ、又は特定の画像関連タスクのための画像データ変換を分析するために深層ニューラルネットワークを使用する。そのようなコンピュータビジョンタスクは、オブジェクト検出、オブジェクトセグメンテーション、オブジェクト認識、3D再構成等を含んでよい。変換は、符号化及び復号、解像度の変更、トーン補正、白色点の精緻化等を含んでよい。しかしながら、そのようなニューラルネットワーク動作は、多くの場合、多くのフレームがフレーム間の小さい顕著ではない差を有し得るが、ビデオシーケンスの各フレームを完全に処理することによって大部分は冗長である。それゆえ、従来のビデオ画像処理は、ビデオ画像処理を実行するために、計算負荷、ひいては消費される電力を不必要に増加させ、小型の画像処理デバイス上で画像処理を実行することが特に困難になる。
本明細書において説明されている題材は例示として示されており、添付図面に限定されない。図示の簡潔性及び明確性のために、図において示されている要素は、必ずしも縮尺どおりに描かれているわけではない。例えば、幾つかの要素の寸法は、明確性のために他の要素に対して誇張される場合がある。さらに、適切であると考えられる場合、対応する又は類似の要素を示すために、参照ラベルが図面間で繰り返されている。
図面は、以下のとおりである。
本明細書における実装のうちの少なくとも1つに係る高効率ニューラルネットワークビデオ画像処理の例示の方法を実証するための画像を示す。
本明細書における実装のうちの少なくとも1つに係る高効率ニューラルネットワークビデオ画像処理の方法を実行することからもたらされる計算負荷削減を示すグラフである。
本明細書における実装のうちの少なくとも1つに係る高効率ニューラルネットワークビデオ画像処理の方法を実行する例示のシステムの概略図である。
本明細書における実装のうちの少なくとも1つに係る、図3のシステムの時間予測器ユニットの概略図である。
本明細書における実装のうちの少なくとも1つに係る、高効率ニューラルネットワークビデオ画像処理の方法のフローチャートである。
本明細書における実装のうちの少なくとも1つに係る、高効率ニューラルネットワークビデオ画像処理の方法の詳細なフローチャートである。
本明細書における実装のうちの少なくとも1つに係る、高効率ニューラルネットワークビデオ画像処理のための別の例示のシステムの概略図である。
本明細書における実装のうちの少なくとも1つに係る、高効率ニューラルネットワークビデオ画像処理のための更に別の例示のシステムの概略図である。
本明細書における実装のうちの少なくとも1つに係る、高効率ニューラルネットワークビデオ画像処理のための代替的な例示のシステムの概略図である。
本明細書における実装のうちの少なくとも1つに係る、高効率ニューラルネットワークビデオ画像処理の方法を動作させるために使用されるニューラルネットワーク及び結果として得られる計算負荷のグラフである。
例示の画像処理システムの説明図である。
例示のシステムの説明図である。
本開示の少なくとも幾つかの実装に従って全て構成される例示のシステムの説明図である。
ここで、添付図面を参照して1つ又は複数の実装が説明される。特定の構成及び配置が論述されるが、これは例示の目的でのみ行われることが理解されるべきである。当業者であれば、本明細書の趣旨及び範囲から逸脱することなく他の構成及び配置が利用され得ることを認識するであろう。本明細書において説明される技法及び/又は配置が、本明細書において説明されるもの以外の多様な他のシステム及びアプリケーションにおいても利用され得ることが、当業者には明らかとなろう。
以下の説明は、例えば、システムオンチップ(SoC)アーキテクチャ等のアーキテクチャにおいて現れ得る様々な実装を記載する一方で、本明細書において説明される技法及び/又は配置の実装は、特定のアーキテクチャ及び/又はコンピューティングシステムに制限されず、同様の目的のための任意のアーキテクチャ及び/又はコンピューティングシステムによって実装されてよい。例として、例えば、複数の集積回路(IC)チップ及び/又はパッケージ、及び/又は様々なコンピューティングデバイス及び/又はコンシューマエレクトロニック(CE)デバイス、例えば、セットトップボックス、テレビ、スマートモニタ、スマートフォン、カメラ、ラップトップコンピュータ、タブレット、他のエッジタイプのデバイス、例えば、キッチン又は洗濯用機器、ホームセキュリティシステムを含むモノのインターネット(IoT)デバイス等を利用する様々なアーキテクチャは、本明細書において説明される技法及び/又は構成を実装してよい。さらに、以下の説明は、例えば、ロジック実装、システムコンポーネントのタイプ及び相互関係、ロジックの分割/統合の選択等の多数の具体的な詳細を記載し得るが、特許請求される主題は、そのような具体的な詳細なしに実施され得る。他の例では、例えば、制御構造及び完全なソフトウェア命令シーケンスのような幾つかの題材は、本明細書において開示される題材を不明瞭にしないよう、詳細に示されないことがある。
本明細書において開示される題材は、別段言及されない限り、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせにおいて実装されてよい。本明細書において開示される題材は、1つ又は複数のプロセッサによって読み取られて実行され得る、機械可読媒体上に記憶された命令としても実装されてよい。機械可読媒体は、機械(例えば、コンピューティングデバイス)によって可読の形態で情報を記憶又は送信する任意の媒体及び/又は機構を含んでよい。例えば、機械可読媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、電気、光、音響又は他の形態の伝播信号(例えば、搬送波、赤外線信号、デジタル信号等)及び他のものを含んでよい。別の形態では、非一時的コンピュータ可読媒体等の非一時的製品は、一時的信号それ自体を含まないことを除き、上記で言及された例又は他の例のうちの任意のものとともに使用されてよい。それは、RAM等のような「一時的」な方法で一時的にデータを保持し得る、信号それ自体以外のそれらの要素を含む。
本明細書における「1つの実装(one implementation)」、「一実装(an implementation)」、「例示の実装(an example implementation)」等への言及は、説明される実装が、特定の特徴、構造、又は特性を含んでよいが、全ての実装が、必ずしも当該特定の特徴、構造、又は特性を含むとは限らない場合があることを示す。その上、そのような文言は、必ずしも同じ実装を参照しているわけではない。さらに、一実装に関連して特定の特徴、構造又は特性が説明される場合、本明細書において明示的に説明されているか否かにかかわらず、他の実装に関連してそのような特徴、構造又は特性をもたらすことは当業者の知識の範囲内であることが述べられている。
高効率ニューラルネットワークビデオ画像処理のシステム、製品、デバイス、媒体、及び方法が本明細書において説明される。
コンピュータビジョンタスク又は他の画像データ変換を実行するのに使用される従来のニューラルネットワークは、多くの場合モーションベクトルをリストすることによってビデオフレーム同士の間のコンテンツのモーションを示すモーションフィールド等の素朴な技法を多くの場合使用する。モーションが存在しない場合、この処理は省略することができる。
これらのネットワークはモーションフィールド及び他の同等の単純な画像コンテンツ技法に依拠するが、これらの技法は、特定のコンピュータビジョン又は変換タスクのための正確なネットワーク推論を考慮するために重要である、画像コンテンツの他の顕著な特性を考慮しない。また、例えば、オブジェクションセグメンテーションネットワークは、例えばビデオ会議における人物のクローズアップ等の、前景にある可能性がより高い典型的な画像コンテンツの形状を識別するために、多くの場合、画像コンテキスト及びセマンティック分類を考慮する。従来の技法は、そのようなコンテキストが画像の領域の処理を省略するために考慮されないので、過度に多くの誤差又はアーチファクトを有する。従来のネットワークはまた、これらの理由に起因する雑音に非常に敏感である。加えて、モーションフィールドの計算それ自体は、非自明でかつコストがかかる、リソース多消費演算であり、これは、計算負荷、及びひいては電力消費、並びに特にリアルタイム動作を試みる場合には遅延を増加させる。
これらの問題を解決するために、ここで開示されるシステム及び方法は、画像処理ニューラルネットワーク(NN)の層においてスパーシティを提供して、少なくとも積和(MAC)演算及び他のNN層動作を回避し、計算負荷、及びひいては電力消費を削減し、より高いスループットでニューラルネットワークを動作させることを対象とする。1つの形態によって、方法は、NN層から出力された特徴間の時間相関を使用することによって、NNの層、又は層の一部分(又は領域)を省略することができる場合を判断する。特に、NNがオブジェクトセグメンテーション等の特定のタスクを実行するために具体的に構築及びトレーニングされる場合、NNによって考慮される因子の少なくとも一部は、本明細書において内在的特定タスク特性と称されるタスクを具体的に実行するために求められる画像データコンテンツ特性でなければならない。これらの特性は、NN層から出力された特徴において内在的に考慮され、ひいては、特徴の相関に考慮される。それゆえ、1つのフレームにおける早期の上流の特徴が後続のフレームの早期の上流の特徴に密接に相関される場合、画像データは、フレーム間での変化がごく微量であり、それにより、現在のフレーム又は後続のフレームの後の現在の特徴を生成する代わりに、より早期のフレームの後の下流の特徴を使用することができる。それゆえ、ビデオストリームに対して推論を実行するためにNNを実行するが、本方法は、その場合、推論への非常に小さい寄与度を有する計算をスキップ又は省略するために、NN層から出力された特徴における時間相関を活用する。1つの手法によって、省略することができるニューラルネットワーク層又は層の領域は、畳み込み層であるが、開示された方法は、他のタイプのNNを用いても十分に機能し得る。
特徴相関、及び層の領域が省略されるべきか否かについての判断を確立するために、時間予測器は、主NNの上流の層から出力された現在のフレームの現在の特徴及び以前のフレームからの以前の特徴のバージョンの両方を受信する小規模の補助NNを使用する。以前のフレームに関連付けられた局所特徴と現在のフレームに関連付けられた局所特徴との間の測定値が、補助NNの出力によって示されるような現在のフレームと以前のフレームとの間の十分な相関又は類似度を示す場合、システムは、その部分又は層のための主NNの動作を省略し、その代わりに、主NNの下流の層からの以前の特徴等の、過去からの情報に依拠する。補助NNの類似度メトリックは、データから学習され、タスクに適合される。また、層の一部分をスキップ又は省略することは、電力の実際の遮断又は実効的な遮断のいずれかを指す。実際の遮断は、NNを動作させるMACの全体又は一部等の特殊目的ハードウェアへの電力を無効化若しくは遮断すること、又は、汎用プロセッサが、回路をオフに切り替えることによってソフトウェアによって制御されるようなNN層部分を動作させることを停止することを含む。実効的な遮断は、単に、特徴を、MAC回路の入力バッファにロードせず、又は、特徴を、MACのレジスタにロードせず、それにより、これらの特徴は、単にドロップされ、遮断層領域において特徴処理は行われない。遮断されない次の領域は、MACが、スキップ又は省略された領域のための特徴のドロップにもかかわらず、到来する特徴に対して連続的に機能するように分析及び処理される。
図1の(A)~(D)を参照すると、画像100及び102は、静止ラップトップカメラを用いて取り込まれたビデオチャットシーンの連続したフレームである。画像100及び102のオーバーラップした背景がシェーディングされる。前景/背景分類(又はセグメンテーション)は、畳み込みニューラルネットワーク(CNN)を使用して取得した。画像104は、2つの連続したフレーム100及び102間の(背景と前景との)分類の差を示す。画像104内の(モーションを示す差の)非ゼロであるそれらの照明エリアは、画像の非常に小さい部分であり、2つのフレーム間の顕著な差を示す。画像106は、本方法の時間予測器が、フレームのこのエリアについての層動作を省略することによって主CNNを無効化するか又はオフに切り替えたフレーム上のロケーションを示すシェーディングされたオーバレイ108を示している。オーバレイエリア108は、フレームの非常に大きい割合であり、したがって、計算負荷及び電力消費を大幅に削減する。
主NNを再トレーニングすることなく既存のNNに補助NNを追加することができることも留意されたい。補助NNは、主NNと同時にトレーニングすることもできるし、「後付け(retro-fit)」として追加することもでき、ここで、補助NNは、以下で説明されるように少量のデータを使用して、教師なしの方法でトレーニングすることができる。
ここで図2を参照すると、グラフ200は、CNNとともにここで開示される方法を使用しながら、ビデオチャット又は会議中の背景隠蔽(ぼかし処理(blurring))のために使用されるべきオブジェクトセグメンテーションの結果を示している。グラフ200は、相対計算レートを提供し、以前の特徴を使用することによってMACに対する典型的なビデオ会議シーンのための計算の約50%を省略することができ、依然として良好な品質のビデオを提供することを示す。
図3を参照すると、本明細書において説明される方法を実行する例示の画像処理システム300は、入力ビデオフレーム302を、一度に1つずつ、RGB等の特定のフォーマットにおいて(ただし、多くの異なる変形例を使用することができる)受信する主ニューラルネットワーク(NN)304を有する。幾つかの形態では、3つの色成分が、各々別個の色チャネルとして扱われ得る。しかしながら、本明細書における方法及びシステムを動作させるのに使用することができる、主NN304への入力のフォーマットに対して限定は存在しない。ニューラルネットワーク304は、1つ又は複数の上流の層(又は層ブロック)306、下流の利用可能な省略(又はスキップ)層(又はブロック)312、314、及び316のセットを有する利用可能な省略セクション308、並びに1つ又は複数の出力層(又はブロック)310を有する。利用可能な省略セクション308は、画像の品質に著しくかつ不利に影響を及ぼすことなく、効率性のために省略される層の少なくとも領域を有することができる省略層312、314、316を有する。この例では、利用可能な省略セクション308の層312、314、及び316は、連続している畳み込み層(又はブロック)であり得る。連続した畳み込み層は、ここでは、畳み込み層それら自体を指し、例えば、正規化線形ユニット(ReLU)、バッチ正規化、プーリング層、及び/又は他のサポート活性化層等の介在するサポート層を無視する。1つの例によって、層ブロックは、単一の畳み込み層と、サポート層のうちの1つ又は複数とを有してよく、ここで、当該ブロックは、本明細書において単一の層として扱われる。
システム300は、1つ又は複数の上流の層306の最終層から出力され、かつ処理されている現在のフレームについての現在の特徴の間の相関、又は類似度を決定する時間予測器ユニット318も有してよい。1つの手法によって、現在の特徴は、同じ上流の層(又は上流の層のスタック)306から同様に出力された以前の特徴のバージョンとともに、時間予測器ユニット318に提供される。以前の特徴は、その目的でメモリ又はバッファ322に記憶されてよい。以下でより詳細に説明される代替形態によって、時間予測器ユニット318は、圧縮された以前の特徴326を提供し、これらの圧縮された以前の特徴326を、(破線において示されている)回帰ループにおいて回帰的に、かつ、上流の層306から取得されメモリ322に置かれた実際の以前の特徴を使用するのではなく入力として、使用する。圧縮された以前の特徴は、その場で使用されない場合、収集してメモリに置くこともできることが理解されよう。
時間予測器ユニット318の出力は、バイナリ信号等のオン/オフ信号(又は計算実行信号若しくは計算非実行信号)であってよく、領域単位、ピクセル単位、又はフレーム単位ベースで提供されてよい。信号は、利用可能な省略セクション308の各層312、314、及び316のコントローラ330、332、及び334に提供されてよい。コントローラ330、332、334は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせであってよい。コントローラ330、332、334は、信号に依存して局所層動作をオフに切り替え(又は無効化し)、それにより、オフに切り替えられた層の領域における画像データの処理は、電力消費を削減するために全て停止又は回避される。そのようなコントローラ330、332、及び334は、最終層から出力された特徴が単にゼロである場合に、例えばゼロを乗算する必要を回避するために等で、層の特定のセクションに対する動作をオフに切り替える能力を既に有し得る。コントローラ及び対応する省略層の数は、ここでは3つのみが示されているが、任意の数であってよい。
層又は省略層部分をオフに切り替えることは、層についての入力を取得するモジュール又はユニットをオフに切り替えてよく、及び/又は、入力が受信される場合であっても当該入力がMACにおいて処理されないように、MACの一部又は全体として等の画像信号プロセッサ(ISP)又はグラフィックス処理ユニット(GPU)ハードウェアへの電力を切断することを含んでよいことが理解されよう。これは、MAC演算子のアレイであるアクセラレータ「MACバンク」回路への電力を物理的にオフに切り替えるので、それらは、現在の特徴データがアクセラレータ又はMAC入力バッファに既に置かれているのか否かを問わず、動作しない。この場合、層部分をオフに切り替えるためのコントロール330、332、及び334の例示の制御回路は、入力レジスタにおいて入力データを受信するMAC回路の動作を省略するアクセラレータ回路を含んでよい。
代替形態として、MACハードウェアは、層領域の省略が実施されることになることを補助NNが示す場合に、上流の層からの入力が単にスキップ又は省略されるように、事前に入力データを編成してよい。この場合、現在のフレームの入力の読み取りが省略され、次の層についての動作が即座に実施される。このようにして、利用可能な省略セクションの省略層部分は、実際に物理的にオフに切り替えられるのではなく、仮想的に又は実効的にオフに切り替えられる。MACそれ自体の観点からは、動作は通常どおり連続である。これは、上記で言及された回帰特徴の代わりに使用される場合等に、現在の特徴が補助NN又は補助NNの入力バッファに提供されると、MACの入力バッファから現在の特徴の入力データを破棄することによって実行されてよい。例えば、層をオフに切り替えるためのコントロール330、332、及び334の制御回路は、通常、MACバンクに、MAC入力バッファからの入力データを特定の順序においてフィードし、MACの出力からの結果をMAC出力バッファに正しい順序において書き込む入力ロジックを含んでよい。入力ロジックが計算実行信号及び計算非実行信号を使用する能力を有する場合、入力ロジックは、非所望の現在の特徴入力をMACバンクキューに置くことを省略してよく、MAC入力バッファからの現在の特徴を単にドロップ又は上書きし、したがって、スループットが高まる。
セレクタ320も、主NNフローパス内にあり、利用可能な省略セクション308の下流の省略層の最終層316からの現在の特徴(省略されない場合)、又は利用可能な省略セクションが現在省略されている場合には利用可能な省略セクションからの以前に出力された以前の特徴のいずれかを受信するために、利用可能な省略セクション308から下流に配置される。1つの手法によって、次に、これらの下流の以前の特徴は、各フレームとともにメモリ又はバッファ324に保存され、セレクタは、下流の現在の特徴が存在していない場合に、単に下流の以前の特徴を使用することが必要である。下流の以前の特徴は次に、次の下流の層、出力層、ニューラルネットワークセクション、又は更なるニューラルネットワーク310に転送される。代替的に、セレクタ320は、2つの代替入力を有するゲートロジックのための回路又はソフトウェアを有し、これらの入力のうちの一方へのスイッチを設定するために時間予測器ユニット318から信号を受信することができる。システム300の動作の更なる詳細が以下で提供される。
図4を参照すると、システム300の時間予測器ユニット318は、CNNであり得る1つ又は複数の補助ニューラルネットワーク(NN)406を有してよい。時間予測器ユニット318は、閾値比較ユニット422を有する判断ユニット408と、任意選択で平滑化ユニット410とを有してもよい。示されているような1つの手法によって、補助NNは、3つの連続した畳み込み層(又はブロック)412、414、及び416を有してよく、これらは各々この例ではReLU層を有するが、他のサポート活性化関数層を有することができる。
入力層412は、主NN304の上流の層306から出力された現在の特徴、及びシステム300に関して言及されたように上流の層306から出力された以前のフレームの以前の特徴の両方を受信するための入力ノードを有してよい。
異なる手法によって、補助NN406から出力された圧縮された以前の特徴420(又はシステム300上の326)は、以前のフレームの以前の特徴420(又は326)の圧縮バージョンを提供する回帰データとして、補助NN406の入力にループバックされる。それゆえ、回帰的な圧縮された以前の特徴420は、補助NN406の内部状態を表すか又は確立し、現在の特徴及び以前の特徴がともに補助NN406に入力されるたびに、時間予測器ユニット318は、内部状態を更新するものとして考慮することができ、すなわち、補助NNは、再帰的ニューラルネットワーク(RNN)になる。これは、回帰特徴がより圧縮され、したがって、必要なメモリ容量が小さくなるため、回帰特徴の使用が直接的な以前の特徴を記憶するのに使用されるのと同じ大きさのメモリを使用する必要はないので、有利である。同様に、このデータはよりコンパクトであるため、これは、直接的な以前の特徴を用いた処理よりも効率的になる(例えば、チャネルがより小さくなり得る)。圧縮された以前の特徴420は、補助NNの任意の畳み込み層から取得されてよく、1つの形態によって、最終畳み込み層416は、圧縮された以前の特徴420を提供するのに使用される。
現在の特徴の入力テンソルがN個のチャネルにおいて利用可能な省略セクション308に入力される(又は上流の層から出力されるものとして別様に取得される)場合、時間予測器ユニット318への入力は、2N個のチャネルであってよい。1つの例では、上流の現在の特徴及び上流の以前の特徴は、補助NN406の第1の層412(又は第1の圧縮層又は畳み込み層)が64個の入力ノードを有するように、各々32個のチャネルを有してよい。
RNN変形例が使用される場合、第1の層412への入力は、N+M個のチャネルであってよく、ここで、Mは、内部状態の出力チャネルの数(又は桁数)である。1つの形態によって、Mは、2個~4個のチャネルである。多くの場合、Mは、N未満であり、したがって、さらにリソース(計算及びメモリアクセス等)が節約される。1つの形態によって、各再帰Mチャネルは、補助NN406の最終畳み込み層416の出力の一部であり、各Mチャネルは、4×4ピクセル等のピクセル領域サイズを表す出力特徴を有し、ここで、各領域は、出力層418からの確率を受信するためのものである。再帰出力は、M個のチャネルに構成され、一方、出力層418に単一のチャネルが提供され得る。この動作は、単に層416の出力特徴表面をチャネルエリアに分割すること、例えば表面を半分又は四分円に分割すること等によって実行することができる。
同様にこの例によって、畳み込み層412、414、及び416は、1のストライドで3×3カーネルを使用してよく、8つのチャネルが畳み込み層414及び416への入力として提供される。
更に別の代替形態によって、入力層412は、さらに、セマンティクス等のより高レベルのコンテキストをより良好に考慮するために、遠くの下流の層、及び利用可能な省略セクション308の下流からの入力の以前のフレーム特徴を受信してよい。この代替形態は、図7に関して以下で論述される。
補助NN406は、出力層418に、圧縮された特徴を確率に変換させてもよい。これは、tanh等の活性化関数層であってよい。1つの手法によって、出力層418の1つの出力ノードは各々、時間予測器ユニットからの出力として予想されるフレームの領域ごとに1つの確率出力を提供してよい。それゆえ、確率は、例えばオーバーラップしていない4×4ピクセル領域ごとに予想されてよいが、単一ピクセル(ピクセル単位)ベースから、フレーム全体について単一の確率のみが提供されるフレーム単位ベースまで、多くの他の例を使用することができる。
判断ユニット408は、出力された確率と、下流の現在の特徴の代わりに下流の以前の特徴を使用する確率が顕著ではないであろう50%等の予め定められた閾値とを比較する閾値比較ユニット422を有してよい。確率が50%未満である場合、関連付けられたピクセル領域(又は単一のピクセル又はフレーム)は、判断ユニット408から「計算実行」信号を提供され、これは、利用可能な省略層が動作することを許容する領域を指す。確率が50%よりも高い場合、「計算非実行」信号が、判断ユニット408によって発行され、それにより、利用可能な省略層の対応する領域がオフに切り替えられる。それゆえ、信号は、単純なバイナリビット(1又は0)であってよい。
1つの代替形態によって、平滑化ユニット410は、下流の現在の特徴ではなく下流の以前の特徴を使用するエリア及び使用しないエリアを平滑化するために提供されてよい。例えば、画像の大きいエリアが処理を省略するための層の領域を有し、一方、それらの他の省略領域の中の単一の領域のみが計算領域である場合、計算領域は、いずれにせよ省略領域に変更されてよい。これは主に、ユーザが差に気付かない、又は相関において誤差が生じる場合に行われてよい。1つの例によって、領域は、反対の信号(計算実行又は計算非実行)の多くのピクセルを有するピクセルの大きいブロック内の外れ値を検出することによって平滑化され得る。平滑化のための閾値は、実験によって決定されてよく、2つの判断を有する領域間のピクセルエリア(又は領域エリア)の相対的な量に依存してもよいし、例えば、その代わりに、互いに対するピクセル領域ロケーションに依存することもできる。平滑化は、例えばメジアンフィルタによって実行されてよい。
図5を参照すると、本明細書において説明される高効率ニューラルネットワークビデオ画像処理のための例示のプロセス500が、本開示の少なくとも幾つかの実装に従って構成される。示されている実装では、プロセス500は、一様に付番される動作502~506のうちの1つ又は複数によって示されるような1つ又は複数の動作、関数、又はアクションを含んでよい。非限定的な例として、プロセス500は、本明細書において説明され、関連する場合、システム300、400、700、800、900、及び1100等の例示の画像処理システムのうちの任意のものを参照して本明細書において説明され得る。
プロセス500は、「ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力する」502を含んでよい。これは、画像を主ニューラルネットワーク(又はフローパス、又はパイプライン)に、典型的には一度に1つのフレームずつ、入力することを指す。入力画像データは、多くの異なるフォーマットであってよく、1つの例によって、3つ等の色ごとに異なるチャネルを有するネットワークに入力されてよいが、他のカラースキーム、及び更なる入力チャネル、例えば、幾つかの例を挙げると、透明又は奥行きチャネル等が同様に提供されてよい。
プロセス500は、「下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断する」504を含んでよい。それゆえ、この動作は、主NN経路の1つ又は複数の上流の層から分岐されたニューラルネットワーク特徴を受信し、次に、主NN経路上の(上流の層に対する)下流の層に制御信号を提供して、下流の層上の少なくとも領域(又は省略層部分)をオフに切り替えるか、又は無効化する、副経路又は補助経路にある時間予測器ユニットの使用を指す。これは、それらのオフに切り替えられた又は無効化された省略層部分又は領域についての特徴を処理するために消費される電力を削減し又は取り除く効果を有するか、又はオフに切り替えられた省略層部分の入力が上記で説明されたようにドロップされるときに主NNのスループットを高めるかのいずれかである。局所的にフレームの領域を実際に又は実効的にオフに切り替えるための領域単位ベースでの動作が、ピクセル単位ベース、又はフレーム全体を単一の信号上でオフに切り替えることができるフレーム単位ベースで動作させるのではなく効率性と画像品質(又は精度)との間の最良のバランスであることが分かった。
1つの手法によって、無効化信号(又は計算実行/計算非実行信号)は、利用可能な省略領域を提供し、及び分岐された現在の特徴を提供する上流の層に対して下流である下流の省略層に提供され、オフに切り替えることができる省略層部分は、指定された利用可能な省略セクション内の省略層上である。利用可能な省略セクションは、主NN又は主NN経路上に複数の層を有してよい。以下で説明されるように、主NNは、複数の別個の利用可能な省略セクションを有してよい。利用可能な省略セクション内の層の最大数は、主NNの特定のアーキテクチャに依存し、実験によって決定される。省略層領域又は部分をオフに切り替える又は無効化することは、概して、厳密には方法が依然として領域単位ベースで無効化しているが、本明細書において、省略層をオフに切り替える又は無効化すると称され得ることに留意されたい。
1つの形態によって、画像の同じ領域(又はより厳密には特徴表面)が複数の下流の層及び利用可能な省略セクション内の全ての層についてオフに切り替えられ得る。利用可能な省略セクション内の層は、上記で言及されたように、複数の連続した層又は層ブロックであってよい。同様に言及されたように、これらのオフに切り替えられる層は、畳み込み層単独であってもよいし、畳み込みサポート層を有してもよい。利用可能な省略セクションが省略されない場合、利用可能な省略セクション内の最終の利用可能な省略層は、下流の現在の特徴を主NNの次の層に提供する。しかしながら、利用可能な省略セクションが省略される場合、最終の(又は唯一の)利用可能な省略層は、出力の下流の現在の特徴を上記で言及されたセレクタに提供しない。この場合、記憶された下流の以前の特徴は、セレクタ及び主NNの次の層への入力として提供される。
判断動作は、「判断は、現在のフレームを処理する上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での比較に依存する」506も含んでよい。これは、時間予測器に1つ又は複数の補助ニューラルネットワークを提供することを伴ってよく、ここで、比較は、2つのタイプの特徴の間の相関を生成することを含む。補助NNは、単数又は複数の上流の層から上流の現在の特徴を受信してよい。補助NNは、以前のフレームの処理からメモリに記憶された上流の以前の特徴も受信してよい。1つの形態によって、補助NNは、特徴を圧縮し、次に、圧縮された特徴を、出力層に提供し、当該出力層は、推論精度を顕著に低下させることなくフレームの領域(又は特徴表面)において以前の特徴が現在の特徴に置き換わることができる確率を生成する。
1つの代替的な形態によって、補助NNから出力された圧縮された特徴は、回帰ループを形成するのに使用され、実際の上流の以前の特徴を記憶する代わりに以前の特徴のバージョンとして処理するために補助NNに入力される。次に、相関が、補助ニューラルネットワークによって決定され、回帰のためにその圧縮された以前の特徴出力によって表され、これは、本明細書において補助NNの内部状態とも称される。遠くの下流の特徴をより高レベルのコンテキスト又はセマンティクスを考慮するための入力として更に使用する等の他の代替形態が存在する。そうでなければ、複数の別個の利用可能な省略セクションが存在する場合、下流の時間予測器ユニットへの入力は、上流の時間予測器ユニットからの時間予測器ユニット判断のインジケーションであってよい。多くの他の詳細が以下で提供される。
図6を参照すると、本明細書において説明される高効率ニューラルネットワークビデオ画像処理のための例示のプロセス600が、本開示の少なくとも幾つかの実装に従って構成される。示されている実装では、プロセス600は、概して一様に付番される動作602~626のうちの1つ又は複数によって示されるような1つ又は複数の動作、関数、又はアクションを含んでよい。非限定的な例として、プロセス600は、本明細書において説明され、関連する場合、システム300、400、700、800、900、及び1100等の例示の画像処理システムのうちの任意のものを参照して本明細書において説明され得る。
予備事項として、プロセス600は、「ニューラルネットワークをトレーニングする」602を含んでよく、1つの例によって、これは、ランタイムの前にオフラインで実行される。主NNは、既知の方法によって、かつNNのアーキテクチャ及び目的に依存してトレーニングされてよい。本明細書において開示される主NNを実装するために、トレーニングに対する大幅な変更は必要とされない。
補助NNそれ自体のトレーニングに関しては、補助NNが時間予測器ユニット318(図4)上で示される構造を有する場合、補助NNは、教師なし学習によってトレーニングされてよい。トレーニングは、畳み込み層412、414、及び416についてのフィルタ又はカーネル係数を決定してよく、例えば出力層418についての重みを決定してよい。補助NNの目的は、補助NNにおいて厳密に正確な出力特徴を有するのではなく、元のNN出力又は主NN出力の品質を保持しながら計算を削減することであるので、トレーニングは、ラベル付けされた(又は注釈された)データを必要としない。それゆえ、トレーニング中、主NNの出力は、ラベルとして機能し、トレーニングは、補助NN出力内の歪みを可能な限り小さく保ちながら計算を最小化することを試みる。
プロセス600は、「画像データのビデオフレームを取得する」604を含んでよい。ビデオフレームは、カメラからキャプチャされるか、又はメモリから取得されてよい。そうでなければ、画像は、上記で説明されたとおりのものである。
プロセス600は次に、任意選択で、「基準に依存して時間予測器ユニットをオンに切り替える」605を含んでよい。それゆえ、幾つかの例によって、時間予測器ユニットは、画像関連ニューラルネットワークがデバイスによって使用されているときには常にオンにスイッチングされる。他の場合において、ニューラルネットワークの制御は、コスト分析を実行し、ビットレート、計算負荷、及び/又は電力消費を削減するために何らかの効率性の向上が必要とされているか否かを確認する。この場合、例えば実際の又は予想される計算負荷との比較のために何らかの固定又は可変の閾値が保たれてよく、時間予測器ユニットは、計算負荷が閾値を超えて上昇することが予想されるときにはオンに切り替えられてよい。そうでなければ、閾値は、目標若しくは実際のビットレート又は他の因子に基づくことができる。
プロセス600は、「現在のフレームを主ニューラルネットワークに入力する」606を含んでよい。主NNへの入力は、上記で説明されたように特定のフォーマットに特に限定されない。同様に、ニューラルネットワークは、オブジェクト検出、オブジェクトセグメンテーション、背景ぼかし処理、3Dモデリング等を含むコンピュータビジョンタスク等の画像関連タスクを支援するデータを提供するものであることを除いて、特定のタスクに特に限定されない。その代わりに、他の画像関連タスク、例えば、符号化又は復号等を用いて画像データを変換するタスク、又は、トーン補正又は自動ホワイトバランス補正等を用いるカメラ又は画像品質又は前処理精緻化関連タスク等が実行されてよい。多くの他のタスクが企図される。
プロセス600は、「上流の層から出力された現在の特徴を取得する」608を含んでよく、1つの例によって、これらは、主NNによって分析されている現在のフレームの上流の現在の特徴である。通常動作下では、上流の現在の特徴は、補助NNからの出力に依存して省略することができる省略領域又は部分を有する1つ又は複数の層を有する利用可能な省略セクションに入力されるためのものである。上流の現在の特徴は、利用可能な省略セクションから上流である単一の上流の層から取得され得るが、他の可能な代替形態では、複数の上流の層が、1つの上流の層からのフレームの幾つかのチャネル又は領域、及び異なる上流の層からの他のチャネル又は領域等の上流の現在の特徴を提供してよく、又は上流の層は、代替的に複数の上流の層からの上流の現在の特徴を提供することができることが理解されよう。同様に、同じ上流の層が通常、常に上流の現在の特徴を提供するが、これは、所望の場合には経時的に変更することができる。
プロセス600は、「以前の特徴を取得する」610を含んでよい。1つの形態によって、上流の以前の特徴は、現在のフレームに対する以前のフレームの分析又は伝播からのものであり、現在のフレームに対して連続的に前のものであってよい。1つの形態によって、プロセス600は、「主NNの上流の層から出力された以前の特徴を取得する」612を含んでよく、上流の現在の特徴を提供した同じ上流の層を参照する。この場合、補助ニューラルネットワークが動作するたびに又は或る間隔を置いて、現在の特徴は、次の(又は現在の)フレームのために以前の特徴として使用されるようにメモリに置かれる。
代替的に、プロセス600は、「圧縮された以前の特徴として補助NNから再帰出力を取得する」614を含んでよい。この場合、補助NNへの入力として提供される以前の特徴のバージョンは、それ自身の畳み込み層からの圧縮された以前の特徴である。上記で言及されたように、上流の圧縮された以前の特徴を提供する補助NNからの層は、補助NN内の最終の圧縮又は畳み込み層であってよいが、異なる層とすることができ、フレームの異なるチャネル又は領域の出力を提供する異なる層を有する1つよりも多くの層とすることができる。そのようなデータは、システムが、いずれにせよ補助NNのために既に使用した上記の外部メモリ又はバッファを必要としないように、その場で使用されてよい。しかしながら、1つの形態では、メモリは、必要とされるまで圧縮された以前の特徴を保持するのに使用されてよい。
更に別の代替形態のために、プロセス600は、「入力として遠くの下流の特徴を使用する」615を含んでよい。ここで、遠くの下流(far downstream)とは、1つ又は複数の利用可能な省略セクションからの少なくとも下流を指す。時間予測器ユニットは、省略判断が入力の局所属性に基づくように、小さい受容野を有する比較的小規模の補助NNを有してよい。したがって、以前のフレーム及び主CNN上の「遠くの下流」からの情報を補助NNに組み込むことによって、より高レベルのコンテキストを判断に追加することができ、したがって、以前の特徴と現在の特徴との間でのより良好な判別が生成される。
特に図7を参照して、高効率ニューラルネットワークビデオ画像処理のための例示の画像処理システム700は、上記で説明されたシステム300のコンポーネントと同じ又は同様であり、再び説明される必要はないコンポーネントを有する。同様のラベル番号を有するそれらのコンポーネントは、システム300に関して説明されたものと同様のタスクを実行する。しかしながら、システム700では、追加の遠くの下流の層728、740、742が、セレクタ720と出力層710との間で提供される。これらの追加の層は、さらに、畳み込み層、又は他のタイプの層又は層ブロックであってよい。1つの形態によって、これらの追加の層は、特徴を更に圧縮してよく、したがって、特徴表現が精緻化される。例えば、追加の特徴は、例えばオブジェクトセグメンテーションが実行されているとき、セマンティック分類等の画像コンテキストをより良好に表してよい。
この構成を利用するために、システム700は、出力層710の前、又は特徴を、圧縮された画像データ特徴をもはや考慮することができない値、例えば確率又は他のタイプの値等に変換する層の前に、以前のフレームから、及び最終追加層742等の追加の下流の層のうちの1つから、以前の特徴を取得してよい。連続したビデオフレーム間のセマンティック情報間で高い相関が存在することが仮定されるので、下流の情報は、以前のフレームから取り込まれる。また、これらの以前の特徴は次に、例えば上流の層706からの現在の特徴及び回帰的な以前の特徴726(又は実際の上流の以前の特徴)とともに、時間予測器ユニット718の補助NNに入力されてよい。1つの可能な代替的な形態によって、追加の遠くの下流の層からの遠くの下流の以前の特徴は、時間予測器ユニット718に提供される唯一の以前の特徴であってよい。
1つの形態によって、追加の下流の層が、時間予測器ユニット718によって使用することができない解像度にまで、プーリング又はカーネルストライドによって等で圧縮された特徴、又はアップサンプリングによって圧縮解除された特徴を有する場合、システム700は、チャネル圧縮によって等で、特徴をアップサンプリングするか又はダウンサンプリングして、時間予測器ユニット718によって処理され得、かつ予想され得る追加の以前の特徴のより低い空間解像度を提供し得るアダプタユニット744も有してよい。アダプタユニット744は次に、適応された遠くの下流の以前の特徴を時間予測器ユニット718に提供してよい。
プロセス600は、次に、「補助NNを使用して、領域単位確率を生成する」616を含んでよい。ここで、補助NNの出力層の出力は、主NNの出力の品質又は精度に対する大幅な有害な影響を伴うことなく下流の現在の特徴の代わりに下流の以前の特徴を使用することができる確率である。換言すれば、時間予測器ユニットは、現在の特徴と以前の特徴との間の差である利用可能な省略セクションの出力の時間変化が、主NNの最終結果に影響を与えない閾値を下回るか否かを予測することを試みる。1つの例において領域が4×4であり得る一方、領域は、フレーム全体未満である任意の形状又はサイズとすることできるが、代替的には、所望の場合には、個々のピクセルについて又はフレーム全体について単一の確率を提供することができる。
プロセス600は、「確率を閾値と比較する」618を含んでよい。時間予測器ユニットにおける判断ユニットによって適用される閾値は、例えば、主NNの効率性と精度との間の最良のバランスを提供するように実験によって設定されてよい。デフォルトで、閾値は、確率が0.0~1.0における正規化された出力である場合、単に0.5において設定されてよく、ここで、0.0は、利用可能な省略セクション内の省略層上の領域が省略されるべきではないことを示し、その一方、1.0は、当該領域についてのNN計算が省略されるべきであることを示す。言及されたように、確率及び閾値は、ピクセル単位、又はフレーム単位で、任意のサイズの領域のために適用されてよい。1つの形態によって、時間予測器ユニットの出力層からの全ての領域の全ての確率が、例えば単一のフレーム単位閾値に対して比較されるために総和されるか又は組み合わされてよい。多くの変形例が企図される。
プロセス600は、「計算実行/計算非実行信号を省略層に送信する」620を含んでよい。確率は次に、単一ビットバイナリ信号等の計算実行信号又は計算非実行信号に変換されてよい。それゆえ、1つの手法によって、時間予測器ユニットの出力は、主NNの出力の劣化をもたらすことなくこの領域において主NNを無効化することができるか否かを示すピクセル単位又は領域単位バイナリ判断であってよい。信号は次に、少なくとも利用可能な省略セクションのニューラルネットワークコントロールに送信されてよく、直接又は間接的に、利用可能な省略セクション内の個々の層又は層の領域のコントロールに送信されてよい。
プロセス600は、「利用可能な省略セクション層における層処理の領域を無効化する」622を含んでよい。ここで、バイナリ信号の形態の判断が、利用可能な省略セクションの層のコントロール又はコントローラにフィードされ、ここで、システムが計算非実行信号を用いてそれらの領域の動作を無効化する(又はオフに切り替える)。1つの形態によって、特定の領域は、判断が領域単位ベースで提供される場合、回路を局所的に無効化することによって実際にオフに切り替えられる。同様に、1つの例では、各チャネルがフレームの異なる部分ではなくフレーム全体の表面を表す場合、同じ領域が全てのチャネルについて無効化される。
上記で言及されたように、1つの形態によって、これは、時間予測器ユニットからの判断を受信し、例えば、領域動作をオフに切り替えるために、NN画像信号プロセッサ(ISP)上の省略制御回路ハードウェアに示すソフトウェア又はファームウェアモジュールNNコントロールを含んでよい。ニューラルネットワークハードウェアは、畳み込みNNについての1つの例によって、MACが単一の領域を動作している場合にMAC、又は、さらには、層若しくは特徴表面の特定の領域を動作させる回路素子のみをオフに切り替えるためにMACの一部の上の回路を局所的にトグリングすることによってオフに切り替えるか又は無効化する回路を有してよい。1つの形態によって、特徴表面の特定の領域のための計算を実行するNNの部分を無効化する既知の回路が、補助NNを用いて説明される効率性の結果を提供するためにNNソフトウェア及びハードウェアに追加されてよい。他の場合において、開示されるシステムは、本明細書において言及されるものではない他の理由のために特定の領域又はピクセルのNN処理をオフに切り替えることができる既存のスパーシティ機構を制御してよい。例えば、ニューラルネットワークへの入力がゼロであり、かつ出力も同様に必然的にゼロである場合、幾つかの既知のNNシステム及びプロセッサは、この入力についての動作を無効化する。このスパーシティ回路は、時間予測器ユニットからの信号に従ってNN回路の省略無効化を実行するために「ハッキング」されるか又は制御され得る。
代替形態において同様に言及されたように、省略層領域の処理は、MACの入力バッファへの現在の特徴のロードを省略することによって、又はMAC入力バッファからの現在の特徴の、MACバンクの入力レジスタ(又はキュー)へのロードを省略することによってのいずれかで、入力回路に、省略された領域の入力の現在の特徴を単にドロップ(又は上書き)させることによって実効的にオフに切り替えられてよい。これは、MACの回路への電力フローを実際に取り除くことなく主NNを動作させる。
プロセス600は、「現在の最終省略層特徴が生成されない場合、最終省略層の以前の特徴を出力する」624を含んでよい。それゆえ、利用可能な省略セクションの終了時、及び利用可能な省略セクションの省略層の領域が無効化されていることによって省略されていた場合、セレクタは、利用可能な省略セクションから以前に出力された以前のフレームの記憶された下流の以前の特徴を取得してよい。記憶された下流の以前の特徴は、下流の現在の特徴が利用可能な省略セクションの出力から存在していない場合に取得される。下流の以前の特徴は、メモリから取得されてよく、下流の現在の特徴を提供する層と同じ利用可能な省略層(又は複数の層)から取得される。このようにして、利用可能な省略セクションから下流の層は、省略に無自覚である。
最終の利用可能な省略層が下流の以前の特徴に置き換えられるべき下流の現在の特徴を提供することが言及されているが、これは、異なる領域が例えば利用可能な省略セクション内の異なる並列の省略層から到来する場合、1つよりも多くの層とすることができることが理解される。同様に上記で言及されたように、代替形態によって、セレクタは、時間予測器ユニットからの信号を同様に受信して、利用可能な省略セクションからの出力を使用するか又は記憶された下流の以前の特徴を使用するかを制御するゲートを動作させることができる。選択された下流の特徴は次に、主NN層の次の又は1つ又は複数の出力層、ブロック、セクション、追加のNNに、又は主NNの出力それ自体として提供されてよい。
プロセス600は、「次のフレームのための以前の特徴として使用されるべき出力特徴を保存する」626を含んでよい。それゆえ、下流の現在の特徴の新たなセットが利用可能な省略セクション層からの出力として生成される場合には常に、それらの下流の現在の特徴は、必要な場合に次の又は後続のフレームの現在の特徴を置き換えるためにメモリ又はバッファに保存される。そうでなければ、下流の以前の特徴が下流の現在の特徴を置き換えるのに使用される場合には常に、それらの下流の以前の特徴は、次のフレームの分析のために単にメモリ内で維持される。ビデオシーケンスの処理は次に、フレーム又は他のユニット(画像データの次のテンソル等)ごとにプロセス600を繰り返す。
別の代替形態における図8を参照すると、単一の主NNは、各々が自身の時間予測器ユニットを有する複数の別個の利用可能な省略セクションを有してよい。これは、独立している時間予測器ユニットの動作を指すが、補助NN等の、動作を提供するソフトウェア及びハードウェアは、例えばコンテキストスイッチング技法等の既知の技法を使用して共有されてよいことが理解されよう。1つの例として、システム800は、直列に接続されたシステム300と同様の2つの構造を有する主ニューラルネットワーク804を有してよい。システム300内の要素と同様の要素は、同様に付番又はラベル付けされ、同じタスクを実行し得るので、それらは再び説明される必要はない。
同様にこの代替形態では、第1のセレクタ820が、第1の利用可能な省略セクション808から下流である下流の特徴(現在の特徴又は以前の特徴)を受信し、これらの特徴を、第2の利用可能な省略セクション848に対して上流である1つ又は複数の上流の層846に提供する。第1の利用可能な省略セクション808は、第1の時間予測器ユニット818から信号を受信し、その一方、第2の利用可能な省略セクション848は、同じ又は同様の方法において、第2の時間予測器ユニット858から信号を受信する。第1の利用可能な省略セクション808と同様に、第2の利用可能な省略セクション848は、下流の現在の特徴を第2のセレクタ860に提供するか、又は、第2のセレクタ860がメモリ864から下流の以前の特徴を受信する。第2のセレクタ860は次に、1つ又は複数の出力層850に特徴を提供する。2つのみの利用可能な省略セクション808及び848がシステム800上で示されているが、それよりも多くが提供されてよく、主NNアーキテクチャに依存して直列又は並列に、かつ本明細書において説明されるように効率性を高めるために1つ又は複数の層を無効化することができる場合には常に、提供されてよい。複数の利用可能な省略セクションは、全て同じ構成(同じ層及び層仕様)を有してもよいし、個々のセクションが、層タイプ、仕様等において異なってもよい。
別の変形例によって、複数の利用可能な省略セクションは、効率性を高めるために相互依存で提供することができる。具体的には、比較的深層のCNN(又は他のNN)は、幾つかの利用可能な省略セクションから利益を得てよく、ここで、各下流のセクションは、上流の単数又は複数の時間予測器ユニットから学習する時間予測器ユニットを有する。そのような構成では、上流の時間予測器の計算実行/計算非実行判断は、それらの判別の能力を高めるために下流の時間予測器ユニットのうちの1つ又は複数への追加の入力としてフィードすることができる。システム800上で、これは、第1の時間予測器ユニット818からの信号が第2の時間予測器ユニット858によって受信されることを示す破線矢印によって示されている。それゆえ、特定の領域が省略されたことを学習することは、下流の利用可能な省略セクションのために、同じ領域、及びその省略された領域付近の領域も省略されるべきであることを判断するのに使用することができる。
実験
ユースケース1-ビデオチャットにおける背景隠蔽(ぼかし処理)
図9を参照すると、第1の実験は、時間予測器ユニット及び各利用可能な省略セクションにアタッチされた関連付けられた層を有するCNNを使用して背景隠蔽(ぼかし処理)のための前景及び背景判別を実行するためのトポロジを有する主NNを有するシステム900を使用し、各利用可能な省略セクションは、ここでは、特徴がU-Net上で圧縮されるのか又は圧縮解除されるのかに依存してエンコーダ又はデコーダと称される。各エンコーダ及びデコーダは、主NN上のシステム300(図3)であり、回帰ベース内部状態桁数M=2チャネルが各時間予測器ユニット上の補助NNの最終畳み込み層から出力される。この実験では、複数の利用可能な省略セクションは、U-netトポロジにおいて使用した。それゆえ、各エンコーダ及びデコーダは、幾つかの連続した畳み込み層を有してよい。エンコーダとデコーダとの間の接続は、プーリング及びアップスケーリング動作を伴う。CNNはまた、先行するフレームから(ループ901からの)出力マットを次のフレームのための入力として取り込み、システム900が再帰的ニューラルネットワークになる。2020年10月15日に公開された米国特許公開第2020/0327334号を参照されたい。米国特許公開は、本明細書において全ての目的で組み込まれる。
各エンコーダ902、904、906及びデコーダ908、910内の連続した層は、セレクタSを有する利用可能な省略セクションとして扱われる。それゆえ、5つの独立した時間予測器ユニット912、914、916、918、及び920を使用して、システム300と同様に構成した。各時間予測器ユニットに入力される上流の現在の特徴は、以前のエンコーダ又はデコーダの出力であった。各エンコーダ又はデコーダの置換の下流の以前の特徴922、924、926、928、及び930をメモリに記憶した。既存の事前トレーニングされたセグメンテーションCNNへの後付けとして、時間予測器ユニットをアタッチしてトレーニングした。時間予測器ユニットの計算コストは、各エンコーダ及びデコーダの負荷と比較して無視できるものであった。
統計的な結果に関して、予測されたセグメンテーションCNNは、無視できるセグメンテーション誤差で、予測されていない同等のものによって必要とされる動作の64.8%を必要とした。これは、ベンチマークビデオシーケンスに基づく性能を比較することによって測定した。ベンチマークは、セグメンテーションアルゴリズムそれ自体に挑むように設計し、したがって、通常複雑なシーンから構成される。それゆえ、計算の節約は、ワーストケースシナリオを表す。使用されるビデオごとの数の内訳が表1において与えられる。
表1.背景隠蔽ベンチマークの12個のビデオに対する詳細な性能
Figure 2023084096000002
視覚的評価に関して、元のCNN及び予測されたCNNのセグメンテーション結果の対照比較は、3つのエンコーダの活性領域及び非活性領域を示している。画像は、(1)3つ全てのエンコーダが非活性化される場合、(2)3つ全てのエンコーダが活性化している場合、及び(3)エンコーダの一部が活性化しており、一部は活性化していない異なる組み合わせの場合に、3つの異なる色を示した。画像は、フレームの大部分がビデオ会議のために非活性化されていることを示した。
結果はまた、時間予測器ユニットが元のフローの性能と、内部状態に基づく回帰特徴の使用が無効化される(ゼロ入力又は表1におけるゼロ状態)場合の性能とを比較することによって時間情報を利用することを確認する。表1では、予測誤差は、予測されたCNNと、基準完全計算CNNとの間の誤差である。全てのビデオにおいて、内部状態(ゼロ状態)の使用を省略することは、時として1桁よりも大きい分、誤差の高まりをもたらす。これは、内部状態が過去の値を引き継ぐことが誤差を生成するであろう領域を識別することを助ける手がかりを提供すること、及び時間情報が実際に有意であることを示す傾向がある。表1は、時間情報が予測に対して寄与することも示し、普通の空間スパーシティよりも強力になる。
ユースケース2-オブジェクト検出
図10を参照すると、第2の実験について、CNNは、オブジェクト検出のためにトレーニング及び評価した。ネットワークトポロジは、歩行者及び車を検出するためのEfficientDetオブジェクト検出フレームワークの変形例であった。グラフ1000は、背景ぼかし処理を実行するためのニューラルネットワークアーキテクチャを示し、計算負荷によってグラフ化される。厳密な層仕様は示されていないが、層構成の複雑性、及びどのように利用可能な省略セクションを依然として実装することができるかは明確である。グラフ1000上で示されている主NNは、多くの異なるフローパスにおいて多様な畳み込み層及びサポート層を有する。トポロジは、ネットワークの先頭に向かって計算的に負荷の高い「バックボーン」を有する。4つの独立した利用可能な省略セクション1~4を、グラフ1000上に示されるものとして、かつ、同様の連続した畳み込み層が存在するニューラルネットワークのより負荷が高い先頭部分において、使用した。
4つの利用可能な省略セクションの使用を通じて、オブジェクト検出CNNは、本明細書における本方法を使用することなく動作される予測されない同等のものによって必要される動作の66.4%を必要とした。これは、自律運転における共同アテンション(joint attention in autonomous driving:JAAD)オブジェクト検出データセットのテストシーケンスを使用して測定した。結果は、元のCNN検出が予測されたCNN検出ほど正確ではなかったことも示した。構成されたように、省略を伴わない活性領域は、オブジェクトに「追従」し、CNNは、関心対象ではない領域においてそれ自体をオフに切り替える。EfficientDetオブジェクト検出トポロジに関して、グラフ1000の底部における計算負荷バーは、各層の計算負荷を表す。4つの利用可能な省略セクションは、トポロジの計算負荷の高い「バックボーン」における負荷の削減を示す。
加えて、図5~図6におけるプロセスの動作のうちの任意の1つ又は複数は、1つ又は複数のコンピュータプログラム製品によって提供される命令に応答して実行され得る。そのようなプログラム製品は、例えばプロセッサによって実行されると、本明細書において説明される機能を提供し得る命令を提供する信号担持媒体を含んでよい。コンピュータプログラム製品は、任意の形態の1つ又は複数の機械可読媒体において提供されてよい。それゆえ、例えば、1つ又は複数のプロセッサコアを含むプロセッサは、1つ又は複数のコンピュータ又は機械可読媒体によってプロセッサに伝達されるプログラムコード及び/又は命令若しくは命令セットに応答して、本明細書における例示のプロセスの動作のうちの1つ又は複数を実行してよい。一般に、機械可読媒体は、デバイス及び/又はシステムのうちの任意のものに、本明細書において説明されるように実行させ得るプログラムコード及び/又は命令若しくは命令セットの形態でソフトウェアを伝達させてよい。機械又はコンピュータ可読媒体は、非一時的コンピュータ可読媒体等の非一時的製品又は媒体であってよく、一時的信号それ自体を含まないことを除き、上記で言及された例又は他の例のうちの任意のものとともに使用されてよい。それは、RAM等のような「一時的な」方法で一時的にデータを保持し得る、信号それ自体以外の要素を含む。
本明細書において説明される任意の実装において使用される場合、「モジュール」という用語は、ソフトウェアロジック、ファームウェアロジック、ハードウェアロジック、及び/又は本明細書において説明される機能を提供するように構成された回路の任意の組み合わせを指す。ソフトウェアは、ソフトウェアパッケージ、コード及び/又は命令セット若しくは命令として具現化されてよく、「ハードウェア」は、本明細書において説明される任意の実装において使用される場合、例えば、ハードワイヤード回路、プログラマブル回路、ステートマシン回路、固定機能回路、実行ユニット回路、及び/又はプログラマブル回路によって実行される命令を記憶するファームウェアを、単独で又は任意の組み合わせで、含んでよい。モジュールは、例えば、集積回路(IC)、システムオンチップ(SoC)等のより大きいシステムの一部を形成する回路として、集合的に又は個々に具現化されてよい。
本明細書において説明される任意の実装において使用される場合、「ロジックユニット」という用語は、本明細書において説明される機能を提供するように構成されたファームウェアロジック及び/又はハードウェアロジックの任意の組み合わせを指す。「ハードウェア」は、本明細書において説明される任意の実装において使用される場合、例えば、ハードワイヤード回路、プログラマブル回路、ステートマシン回路、及び/又はプログラマブル回路によって実行される命令を記憶するファームウェアを、単独で又は任意の組み合わせで、含んでよい。ロジックユニットは、例えば、集積回路(IC)、システムオンチップ(SoC)等のより大きいシステムの一部を形成する回路として、集合的に又は個々に具現化されてよい。例えば、ロジックユニットは、本明細書において論述されるコード化システムの実装ファームウェア又はハードウェアのためのロジック回路において具現化されてよい。当業者であれば、ハードウェア及び/又はファームウェアによって実行される動作は、代替的に、ソフトウェアを介して実装されてよく、これは、ソフトウェアパッケージ、コード、及び/又は命令セット若しくは命令として具現化されてよいことを理解し、同様に、ロジックユニットは、その機能を実装するためにソフトウェアの部分も利用してよいことを理解するであろう。
本明細書において説明される任意の実装において使用される場合、「コンポーネント」という用語は、モジュール又はロジックユニットという用語が上記で説明されたように、モジュール又はロジックユニットを指してよい。それに応じて、「コンポーネント」という用語は、本明細書において説明される機能を提供するように構成されたソフトウェアロジック、ファームウェアロジック、及び/又はハードウェアロジックの任意の組み合わせを指してよい。例えば、当業者であれば、ハードウェア及び/又はファームウェアによって実行される動作は、代替的に、ソフトウェアモジュールを介して実装されてよく、これは、ソフトウェアパッケージ、コード、及び/又は命令セットとして具現化されてよいことを理解し、同様に、ロジックユニットは、その機能を実装するためにソフトウェアの部分も利用してよいことを理解するであろう。
「回路(「circuit」又は「circuitry」)」という用語は、本明細書における任意の実装において使用される場合、例えば、ハードワイヤード回路、1つ又は複数の個々の命令処理コアを含むコンピュータプロセッサ等のプログラマブル回路、ステートマシン回路、及び/又はプログラマブル回路によって実行される命令を記憶するファームウェアを、単独で又は任意の組み合わせで、含んでもよいし、これらを形成してもよい。回路は、本明細書において説明される1つ又は複数の動作を実行する1つ又は複数の命令を実行するように構成されたプロセッサ(「プロセッサ回路」)及び/又はコントローラを含んでよい。命令は、例えば、回路に、上述の動作のうちの任意のものを実行させるように構成されたアプリケーション、ソフトウェア、ファームウェア等として具現化されてよい。ソフトウェアは、コンピュータ可読記憶デバイス上に記録されたソフトウェアパッケージ、コード、命令、命令セット及び/又はデータとして具現化されてよい。ソフトウェアは、任意の数のプロセスを含むように具現化又は実装されてよく、プロセスは、ひいては、任意の数のスレッド等を階層的に含むように具現化又は実装されてよい。ファームウェアは、メモリデバイスにハードコードされた(例えば、不揮発性である)コード、命令若しくは命令セット及び/又はデータとして具現化されてよい。回路は、例えば、集積回路(IC)、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等のより大きいシステムの一部を形成する回路として、集合的に又は個々に具現化されてよい。プログラマブル制御デバイスによって実行されるソフトウェアとして他の実装が実装されてよい。そのような場合、「回路」という用語は、ソフトウェアと、ソフトウェアを実行することが可能なプログラマブル制御デバイス又はプロセッサ等のハードウェアとの組み合わせを含むように意図される。本明細書において説明されるように、様々な実装が、回路、プロセッサ回路を形成するハードウェア要素、ソフトウェア要素、又はこれらの任意の組み合わせを使用して実装されてよい。ハードウェア要素の例としては、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗器、コンデンサ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等が挙げられ得る。
図11を参照すると、例示の画像処理システム1100が、本開示の少なくとも幾つかの実装に従って構成される。様々な実装において、例示の画像処理システム1100は、キャプチャされた画像データを形成又は受信する撮像デバイス1102を有してよい。これは、様々な方法において実装することができる。それゆえ、1つの形態において、画像処理システム1100は、デジタルカメラ又は他の画像キャプチャデバイスであってよく、撮像デバイス1102は、この場合、カメラハードウェア及びカメラセンサソフトウェア、モジュール、又はコンポーネント1108であってよい。他の例では、撮像処理システム1100は、カメラを含むか、又はカメラであってよい撮像デバイス1102を有してよく、ロジックモジュール1104は、画像データの更なる処理のために撮像デバイス1102とリモートで通信してよく、又はそうでなければ、撮像デバイス1102に通信可能に結合されてよい。
いずれかの場合において、そのような技術は、静止画像若しくはビデオカメラ又は両方の何らかの組み合わせにかかわらず、デジタルカメラシステム、専用カメラデバイス、又はカメラ付き携帯電話等のカメラを含んでよい。それゆえ、1つの形態において、撮像デバイス1102は、カメラハードウェア及び光学素子を含んでよく、これは、1つ又は複数のセンサ並びにオートフォーカス、ズーム、開口、NDフィルタ、自動露出、フラッシュ、及びアクチュエータコントロールを含む。これらのコントロールは、センサを動作させるためのセンサモジュール又はコンポーネント1106の一部であってよい。センサコンポーネント1106は、撮像デバイス1102の一部であってもよいし、ロジカルモジュール1104の一部であってもよいし、その両方であってもよい。そのようなセンサコンポーネントは、ビューファインダーのための画像を生成し、静止画像又はビデオを取り込むのに使用することができる。撮像デバイス1102は、レンズ、RGBベイヤーカラーフィルタを有する画像センサ、アナログ増幅器、A/Dコンバータ、入射光をデジタル信号に変換する他のコンポーネント等、及び/又はこれらの組み合わせも有してよい。デジタル信号は、本明細書において未加工画像データとも称され得る。
他の形態は、赤/緑/青(RGB)奥行きカメラ及び/又は発話している人物を特定するマイクロフォンアレイの使用を伴うことなく、カメラセンサタイプ撮像デバイス等(例えば、ウェブカム若しくはウェブカムセンサ、又は他の相補型金属酸化膜半導体タイプ画像センサ(CMOS))を含む。カメラセンサは、ローリングシャッタに加えて又はその代わりに、グローバルシャッタ等の他のタイプの電子シャッタ、及びマルチフレーム統計値収集ウィンドウを使用することができる限り多くの他のシャッタタイプもサポートしてよい。他の例では、RGB奥行きカメラ及び/又はマイクロフォンアレイが、カメラセンサに加えて又はその代替において使用される可能性がある。幾つかの例では、撮像デバイス1102は、視線追跡カメラを用いて提供されてよい。デバイス1100は、カメラを有しなくてよく、別のデバイスから送信されるか否かを問わず、メモリから画像を索出することが理解されよう。
示されている例では、ロジックモジュール1104は、本明細書において言及されるコンピュータビジョン又は画像データ変換動作のうちの任意のもののために画像の準備が整うように、未加工データを前処理するか、又はメモリから画像を取得する画像取り込みユニット1110を含んでよい。本明細書において説明されるようにニューラルネットワークビデオ画像処理動作のための効率性を高めるために、ロジックユニット又はモジュール1104は、ニューラルネットワークを動作させ、又はより厳密には、主NNコントロール1114がニューラルネットワークを実行する間にニューラルネットワークに入力を提供し、ニューラルネットワークを通じて入力データを伝播させる画像処理アプリケーション1112を含んでよい。主NNコントロール1114は、ニューラルネットワーク動作をオフに切り替えるか又は無効化する、上記で説明されたような省略コントロール1116と、メモリ又は上記で説明されたような主NNの利用可能な省略セクションから、次のNN層へ、又は出力として、出力を提供するセレクタ1118コントロールとを有してよい。
ロジックモジュール1104は、1つ又は複数の時間予測器ユニット1122も含んでよい。各時間予測器ユニット1122は、上記で言及されたトレーニングタスクを実行し得るトレーニングユニット1126と、補助NN1124の層の入力、処理、及び出力を制御するランタイム制御ユニット1128とを有する補助NN1124を有してよい。時間予測器ユニット1122は、全てシステム300に関して上記で説明されたような判断ユニット1130及び任意選択の平滑化ユニット1132と、同様に上記で説明された時間予測器ユニット318(図3~図4)とを有してもよい。追加のアダプタユニット1120も、上記で説明されたシステム700(図7)に従って提供されてよい。
ロジックモジュール1104は、存在する場合、提供されたときに未加工画像データを受信するために、撮像デバイス1102に通信可能に結合されてよいが、そうでなければ、画像を索出するためにメモリストア1148と通信する。メモリストア1148は、本明細書において説明されるように特徴を保持するNNバッファ1150、画像データバッファ1160を有してよい。メモリ1148は、RAM、例えばDRAM、キャッシュ、又は他の多くのタイプの揮発性又は不揮発性メモリから形成された外部又は内部メモリを含んでよい。
画像処理システム1100は、Intel Atom等のプロセッサ1140のうちの1つ又は複数、及び1つ又は複数の専用画像信号プロセッサ(ISP)1142を有してよい。プロセッサ1140は、任意のグラフィックスアクセラレータ、GPU等を含んでよい。言及されたユニット、コンポーネント、又はモジュールの少なくとも一部が、プロセッサ1140のうちの少なくとも1つの上で少なくとも部分的に形成されるものとして考慮されてよいことが理解されよう。1つの例によって、ISP1142は、1つ又は複数の主NN1144及び1つ又は複数の補助NN1146を形成する回路を有してよい。主NNは、例えば特徴表面(又は画像又は層)の部分を無効化するためにNNコントローラ1172によって制御されるMAC1170を形成する回路を有してよい。コントローラ1172は、上記で説明されたスキップ又はスパーシティ回路を有し、ソフトウェア又はファームウェアスキップ又は省略コントロール1116によって信号を受信してよい。
システム1100は、1つ又は複数のディスプレイ1156、コーダ1152、及びアンテナ1154も有してよい。1つの例示の実装では、画像処理システム1100は、ディスプレイ1156、ディスプレイに通信可能に結合された少なくとも1つのプロセッサ1140、プロセッサに通信可能に結合され、本明細書において言及されたデータのうちの任意のものを有する少なくとも1つのメモリ1148を有してよい。コーダ1128及びアンテナ1154は、画像を表示するか又は記憶し得る他のデバイスに対する送信のために画像データを圧縮するか又は圧縮解除するために提供されてよい。画像処理システム1100は、システム1100による処理のために画像データを受信及び復号するデコーダも含んでよい(又はコーダ1152がデコーダを含んでよい)ことが理解されよう。そうでなければ、処理された画像1158は、ディスプレイ1156上に表示されるか、又はメモリ1148に記憶されてよい。示されているように、これらのコンポーネントのうちの任意のものが、互いに通信する、及び/又は、ロジックモジュール1104及び/又は撮像デバイス1102の部分と通信することが可能であってよい。それゆえ、プロセッサ1140は、それらのコンポーネントを動作させるために画像デバイス1102及びロジックモジュール1104の両方に通信可能に結合されてよい。1つの手法によって、画像処理システム1100は、図11において示されるように、特定のコンポーネント又はモジュールに関連付けられたブロック又はアクションの1つの特定のセットを含んでよいが、これらのブロック又はアクションは、ここで示されている特定のコンポーネント又はモジュールとは異なるコンポーネント又はモジュールに関連付けられてよい。
図12を参照すると、本開示に係る例示のシステム1200は、本明細書において説明される画像処理システムの1つ又は複数の態様を動作させる。以下で説明されるシステムコンポーネントの本質から、そのようなコンポーネントは、上記で説明された画像処理システムの単数又は複数の特定の部分に関連付けられるか、又はこれらを動作させるのに使用されてよいことが理解されよう。様々な実装において、システム1200は、メディアシステムであってよいが、システム1200はこのコンテキストに限定されない。例えば、システム1200は、デジタルスチルカメラ、デジタルビデオカメラ、又はカメラ若しくはビデオ機能を有する他のモバイルデバイスに組み込まれてよい。そうでなければ、システム1200は、カメラを有するか否かを問わず、モバイルの小型デバイス又はエッジデバイス等の任意のデバイスであってよい。システム1200は、カメラ付き携帯電話、ウェブカム、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージデバイス、データ通信デバイス等のうちの任意のものであってよい。
様々な実装において、システム1200は、ディスプレイ1220に結合されたプラットフォーム1202を含む。プラットフォーム1202は、コンテンツサービスデバイス1230又はコンテンツ配信デバイス1240又は他の同様のコンテンツソース等のコンテンツデバイスからコンテンツを受信してよい。1つ又は複数のナビゲーション機能を含むナビゲーションコントローラ1250が、例えば、プラットフォーム1202及び/又はディスプレイ1220とインタラクトするのに使用されてよい。これらのコンポーネントの各々は、以下でより詳細に説明される。
様々な実装において、プラットフォーム1202は、チップセット1205、プロセッサ1210、メモリ1212、ストレージ1214、グラフィックスサブシステム1215、アプリケーション1216及び/又は無線機1218の任意の組み合わせを含んでよい。チップセット1205は、プロセッサ1210、メモリ1212、ストレージ1214、グラフィックスサブシステム1215、アプリケーション1216、及び/又は無線機1218の間で相互通信を提供してよい。例えば、チップセット1205は、ストレージ1214との相互通信を提供することが可能なストレージアダプタ(図示せず)を含んでよい。
プロセッサ1210は、複合命令セットコンピュータ(CISC)プロセッサ又は縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セット互換プロセッサ、マルチコア、又は他の任意のマイクロプロセッサ若しくは中央処理ユニット(CPU)として実装されてよい。様々な実装において、プロセッサ1210は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等であってよい。
メモリ1212は、揮発性メモリデバイス、例えば、限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、又はスタティックRAM(SRAM)として実装されてよい。
ストレージ1214は、不揮発性ストレージデバイス、例えば、限定されないが、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、アタッチトストレージデバイス、フラッシュメモリ、バッテリバックアップSDRAM(シンクロナスDRAM)、及び/又はネットワークアクセス可能ストレージデバイスとして実装されてよい。様々な実装において、ストレージ1214は、例えば、複数のハードドライブが含まれる場合、高価なデジタルメディアに対するストレージ性能の強化された保護を向上させる技術を含んでよい。
グラフィックスサブシステム1215は、ディスプレイのために静止画又はビデオ等の画像の処理を実行してよい。グラフィックスサブシステム1215は、例えば、グラフィックス処理ユニット(GPU)、画像信号プロセッサ(ISP)、又はビジュアル処理ユニット(VPU)であってよい。アナログ又はデジタルインターフェースは、グラフィックスサブシステム1215とディスプレイ1220とを通信可能に結合するのに使用されてよい。例えば、インターフェースは、高精細マルチメディアインターフェース、DisplayPort、ワイヤレスHDMI(登録商標)、及び/又はワイヤレスHD互換技法のうちの任意のものであってよい。グラフィックスサブシステム1215は、プロセッサ1210又はチップセット1205に統合されてよい。幾つかの実装では、グラフィックスサブシステム1215は、チップセット1205に通信可能に結合されたスタンドアロンカードであってよい。
本明細書において説明されるグラフィックス及び/又はビデオ処理技法は、様々なハードウェアアーキテクチャにおいて実装されてよい。例えば、グラフィックス及び/又はビデオ機能は、チップセット内に統合されてよい。代替的に、別個のグラフィックス及び/又はビデオプロセッサが使用されてよい。更に別の実装として、グラフィックス及び/又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサによって提供されてよい。更なる実装では、機能は、コンシューマエレクトロニクスデバイスにおいて実装されてよい。
無線機1218は、様々な適したワイヤレス通信技法を使用して信号を送信及び受信することが可能である1つ又は複数の無線機を含んでよい。そのような技法は、1つ又は複数のワイヤレスネットワークにわたる通信を伴い得る。例示のワイヤレスネットワークは、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN),ワイヤレスメトロポリタンエリアネットワーク(WMAN)、セルラネットワーク及び衛星ネットワークを含む(が、これらに限定されない)。そのようなネットワークにわたる通信では、無線機1218は、任意のバージョンの1つ又は複数の適用可能な規格に従って動作してよい。
様々な実装において、ディスプレイ1220は、任意のテレビタイプモニタ又はディスプレイを含んでよい。ディスプレイ1220は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ型デバイス、及び/又はテレビを含んでよい。ディスプレイ1220は、デジタル及び/又はアナログであってよい。様々な実装において、ディスプレイ1220は、ホログラフィックディスプレイであってよい。また、ディスプレイ1220は、視覚投影を受信し得る透明な表面であってよい。そのような投影は、様々な形態の情報、画像及び/又はオブジェクトを伝達してよい。例えば、そのような投影は、モバイル拡張現実(MAR)アプリケーションの視覚的オーバレイであってよい。1つ又は複数のソフトウェアアプリケーション1216の制御下で、プラットフォーム1202は、ディスプレイ1220上にユーザインターフェース1222を表示してよい。
様々な実装において、コンテンツサービスデバイス1230は、任意の国内、国際及び/又は独立サービスによってホストされ、それゆえ、例えば、インターネットを介してプラットフォーム1202にアクセス可能であってよい。コンテンツサービスデバイス1230は、プラットフォーム1202及び/又はディスプレイ1220に結合されてよい。プラットフォーム1202及び/又はコンテンツサービスデバイス1230は、ネットワーク1260に対してメディア情報を通信(例えば、送信及び/又は受信)するために、ネットワーク1260に結合されてよい。コンテンツ配信デバイス1240も、プラットフォーム1202及び/又はディスプレイ1220に結合されてよい。
様々な実装において、コンテンツサービスデバイス1230は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネット対応デバイス又はデジタル情報及び/又はコンテンツを配信することが可能である装置、及び、コンテンツプロバイダと、プラットフォーム1202及び/又はディスプレイ1220との間で、ネットワーク1260を介して若しくは直接、コンテンツを単方向に若しくは双方向に通信することが可能である他の任意の同様のデバイスを含んでよい。コンテンツは、システム1200内のコンポーネントのうちの任意のものに対して、及びネットワーク1260を介してコンテンツプロバイダに対して、単方向に及び/又は双方向に通信され得ることが理解されよう。コンテンツの例としては、例えば、ビデオ、音楽、医療及びゲーミング情報等を含む任意のメディア情報が挙げられ得る。
コンテンツサービスデバイス1230は、メディア情報、デジタル情報及び/又は他のコンテンツを含むケーブルテレビプログラム等のコンテンツを受信してよい。コンテンツプロバイダの例としては、任意のケーブル若しくは衛星テレビ、又はラジオ若しくはインターネットコンテンツプロバイダが挙げられ得る。提供される例は、本開示に係る実装をいかようにも限定することは意図されない。
様々な実装において、プラットフォーム1202は、1つ又は複数のナビゲーション機能を有するナビゲーションコントローラ1250から制御信号を受信してよい。コントローラ1250のナビゲーション機能は、例えば、ユーザインターフェース1222とインタラクトするのに使用されてよい。実装において、ナビゲーションコントローラ1250は、ユーザがコンピュータに空間(例えば、連続及び多次元)データを入力することを可能にするコンピュータハードウェアコンポーネント(特に、ヒューマンインターフェースデバイス)であり得るポインティングデバイスであってよい。グラフィカルユーザインターフェース(GUI)及び、テレビ並びにモニタ等の多くのシステムは、ユーザが身体的なジェスチャを使用してコンピュータ又はテレビを制御し、及びそれにデータを提供することを可能にする。
コントローラ1250のナビゲーション機能の動きは、ポインタ、カーソル、フォーカスリング、又はディスプレイ上で表示された他の視覚インジケータの動きによってディスプレイ(例えば、ディスプレイ1220)上で複製されてよい。例えば、ソフトウェアアプリケーション1216の制御下で、ナビゲーションコントローラ1250上に位置するナビゲーション機能は、例えば、ユーザインターフェース1222上に表示される仮想ナビゲーション機能にマッピングされてよい。実装において、コントローラ1250は、別個のコンポーネントではなく、プラットフォーム1202及び/又はディスプレイ1220に統合されてよい。しかしながら、本開示は、本明細書において示される又は説明される要素又はコンテキストに限定されない。
様々な実装において、ドライバ(図示せず)は、例えば、有効化されると、ユーザがテレビのようなプラットフォーム1202を、テレビと同様に、初期ブートアップ後にボタンをタッチすることで、即座にオン及びオフに切り替えることを可能にする技術を含んでよい。プラットフォームが「オフ」に切り替えられても、プログラムロジックは、プラットフォーム1202が、メディアアダプタ又は他のコンテンツサービスデバイス1230又はコンテンツ配信デバイス1240にコンテンツをストリーミングすることを可能にし得る。加えて、チップセット1205は、例えば、8.1サラウンドサウンドオーディオ及び/又は高精細(7.1)サラウンドサウンドオーディオに対するハードウェア及び/又はソフトウェアサポートを含んでよい。ドライバは、統合されたグラフィックスプラットフォームのためのグラフィックスドライバを含んでよい。実装において、グラフィックスドライバは、ペリフェラルコンポーネントインターコネクト(PCI)エクスプレスグラフィックスカードを含んでよい。
様々な実装において、システム1200において示されているコンポーネントのうちの任意の1つ又は複数が統合されてよい。例えば、プラットフォーム1202及びコンテンツサービスデバイス1230が統合されてよく、又は、プラットフォーム1202及びコンテンツ配信デバイス1240が統合されてよく、又は、例えば、プラットフォーム1202、コンテンツサービスデバイス1230、及びコンテンツ配信デバイス1240が統合されてよい。様々な実装において、プラットフォーム1202及びディスプレイ1220は、統合されたユニットであってよい。例えば、ディスプレイ1220及びコンテンツサービスデバイス1230が統合されてよく、又はディスプレイ1220及びコンテンツ配信デバイス1240が統合されてよい。これらの例は、本開示を限定することは意図されない。
様々な実装において、システム1200は、ワイヤレスシステム、有線システム、又はその両方の組み合わせとして実装されてよい。ワイヤレスシステムとして実装される場合、システム1200は、1つ又は複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジック等のようなワイヤレス共有媒体上で通信するのに適したコンポーネント及びインターフェースを含んでよい。ワイヤレス共有媒体の例は、RFスペクトル等のようなワイヤレススペクトルの一部分を含んでよい。
有線システムとして実装される場合、システム1200は、入力/出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体と接続するための物理コネクタ、ネットワークインターフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等のような有線通信媒体上で通信するのに適したコンポーネント及びインターフェースを含んでよい。有線通信媒体の例としては、ワイヤ、ケーブル、金属リード線、プリント回路基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が挙げられ得る。
プラットフォーム1202は、情報を通信するために1つ又は複数の論理チャネル又は物理チャネルを確立してよい。情報は、メディア情報及び制御情報を含んでよい。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを指してよい。コンテンツの例としては、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子メール(「email」)メッセージ、音声メールメッセージ、英数字記号、グラフィックス、画像、ビデオ、テキスト等からのデータが挙げられ得る。音声会話からのデータは、例えば、スピーチ情報、無音期間、背景雑音、快適雑音、トーン等であってよい。制御情報は、自動化システム向けのコマンド、命令又は制御語を表す任意のデータを指し得る。例えば、制御情報は、システムを通じてメディア情報をルーティングするか、又は、所定の方法においてメディア情報を処理することをノードに命令するのに使用されてよい。しかしながら、実装は、要素又は図12に示され若しくは説明されたコンテキストに限定されない。
図13を参照すると、スモールフォームファクタデバイス1300は、システム1100又は1200が具現化され得る可変の物理的なスタイル又はフォームファクタの1つの例である。この手法によって、デバイス1300は、ワイヤレス機能を有するスモール又はエッジモバイルコンピューティングデバイスとして実装されてよい。例えば、モバイルコンピューティングデバイスは、処理システム、及び1つ又は複数のバッテリ等のモバイル電源又は電力供給を有する任意のデバイスを指し得る。
上記で説明されたように、モバイルコンピューティングデバイスの例としては、デジタルスチルカメラ、デジタルビデオカメラ、カメラ付き携帯電話等のカメラ又はビデオ機能を有するモバイルデバイス、ウェブカム、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージデバイス、データ通信デバイス等が挙げられ得る。
モバイルコンピューティングデバイスの例としては、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ、衣類コンピュータ(clothing computer)、及び他のウェアラブルコンピュータ等、人物によって着用されるように構成されるコンピュータも挙げられ得る。様々な実装において、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーション、並びに音声通信及び/又はデータ通信を実行することが可能なスマートフォンとして実装されてよい。幾つかの実装は例示としてスマートフォンとして実装されるモバイルコンピューティングデバイスに対して説明されてよいが、他の実装が同様に他のワイヤレスモバイルコンピューティングデバイスを使用して実装されてよいことが理解され得る。実装は、このコンテキストにおいて限定されない。
図13において示されているように、デバイス1300は、前面1301及び背面1302を有するハウジングを含んでよい。デバイス1300は、ディスプレイ1304、入力/出力(I/O)デバイス1306、及び統合アンテナ1308を含む。デバイス1300は、ナビゲーション機能1312も含んでよい。I/Oデバイス1306は、モバイルコンピューティングデバイスに情報を入力する任意の適したI/Oデバイスを含んでよい。I/Oデバイス1306の例としては、英数字キーボード、テンキーパッド、タッチパッド、入力キー、ボタン、スイッチ、マイクロフォン、スピーカ、音声認識デバイス、及びソフトウェア等が挙げられ得る。また、情報は、マイクロフォン1314を介してデバイス1300に入力されてもよいし、音声認識デバイスによってデジタル化されてもよい。示されているように、デバイス1300は、デバイス1300の背面1302(又は他の箇所)に統合されるカメラ1305(例えば、少なくとも1つのレンズ、開口、及び撮像センサを含む)及びフラッシュ1310を含んでよい。実装は、このコンテキストにおいて限定されない。
本明細書において説明されるデバイス及びプロセスの様々な形態は、ハードウェア要素、ソフトウェア要素、又はその両方の組み合わせを使用して実装されてよい。ハードウェア要素の例としては、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗器、コンデンサ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等が挙げられ得る。ソフトウェアの例としては、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、又はこれらの任意の組み合わせが挙げられ得る。実装がハードウェア要素及び/又はソフトウェア要素を使用して実装されるかの判断は、所望の計算レート、電力レベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度及び他の設計上又は性能上の制約等の任意の数の因子に従って異なり得る。
少なくとも1つの実装の1つ又は複数の態様は、プロセッサ内の様々なロジックを表す機械可読媒体上に記憶される代表的命令によって実装されてよく、代表的命令は、機械によって読み取られると、機械に、本明細書において説明される技法を実行するロジックを作成させる。「IPコア」として知られるそのような表現は、有形の機械可読媒体上に記憶され、ロジック又はプロセッサを実際に製造する製造機械にロードするために様々な顧客又は製造施設に供給されてよい。
本明細書において記載される特定の特徴が様々な実装を参照して説明されたが、この説明は限定の意味で解釈されることは意図されない。したがって、本開示が関連する当業者には明らかである、本明細書において説明された実装及び他の実装の様々な修正は、本開示の趣旨及び範囲内にあるものとみなされる。
以下の例は、更なる実装に関する。
例示の1つ又は複数の第1の実装によって、画像処理のコンピュータ実装方法は、ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力する段階と、前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断する段階であって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた前記ニューラルネットワークの以前の特徴のバージョンとの間での比較に依存する、段階とを備える。
第1の実装に加えて、1つ又は複数の例示の第2の実装によって、前記以前の特徴のバージョンは、前記現在の特徴を提供する同じ上流の層から出力された以前の特徴である。
第1又は第2の実装に加えて、1つ又は複数の例示の第3の実装によって、前記現在の特徴は、省略することができる省略層部分を有する省略層の利用可能な省略セクションに入力されるように構成された特徴である。
第1~第3の実装のいずれかに加えて、1つ又は複数の例示の第4の実装によって、前記処理のオフ切り替えは、少なくとも1つの省略層部分においてデータを処理するために電力が消費されないように、アクセラレータ回路への電力をオフに切り替えることをもたらす。
第1~第3の実装のいずれかに加えて、1つ又は複数の例示の第5の実装によって、前記処理のオフ切り替えは、前記ニューラルネットワークのスループットを高めるために前記ニューラルネットワークの前記少なくとも1つの省略層部分の処理を省略することによって、処理を実効的にオフに切り替えることを指す。
第1~第5の実装のいずれかに加えて、1つ又は複数の例示の第6の実装によって、前記ニューラルネットワークは、主ニューラルネットワークであり、前記方法は、補助ニューラルネットワークにおいて、前記比較を実行するために、前記現在の特徴と、前記以前の特徴のバージョンとの間の相関を決定する段階を備える。
第6の実装に加えて、1つ又は複数の例示の第7の実装によって、前記以前の特徴の前記バージョンは、前記以前のフレームに関連付けられた圧縮された以前の特徴であり、前記補助ニューラルネットワークから、前記現在のフレームの前記現在の特徴とともに前記補助ニューラルネットワークに戻るように入力される再帰出力として取得される。
第7の実装に加えて、1つ又は複数の例示の第8の実装によって、前記圧縮された以前の特徴は、出力として確率値を提供する前記補助ニューラルネットワークの出力層の前の前記補助ニューラルネットワークの最終畳み込み層から取得される。
第7の実装に加えて、1つ又は複数の例示の第19の実装によって、少なくとも1つの省略層部分を有する前記下流の層のうちの少なくとも1つは、省略層であり、前記補助ニューラルネットワークは、各々が前記現在のフレームの少なくとも領域に関連付けられ、かつ、少なくとも1つの省略層から出力された現在の特徴ではなく前記少なくとも1つの省略層からの出力として以前の特徴を使用することが、前記主ニューラルネットワークが意図されたタスクを実行するために十分である確率である、1つ又は複数の確率を出力する出力層を有する。
第9の実装に加えて、1つ又は複数の例示の第10の実装によって、前記確率は、前記下流の層の前記1つ又は複数の省略層部分において処理を省略するか否かを判断するために、1つ又は複数の閾値と比較される。
第7の実装に加えて、1つ又は複数の例示の第11の実装によって、前記補助ニューラルネットワークは、3つの畳み込み層を有する。
1つ又は複数の例示の第12の実装によって、画像処理のためのシステムは、ビデオシーケンスのフレームの画像データ及びニューラルネットワーク特徴を記憶するメモリと、前記メモリに通信可能に結合された少なくとも1つのプロセッサを形成するプロセッサ回路であって、前記少なくとも1つのプロセッサは、前記画像データをニューラルネットワークに入力することであって、前記ニューラルネットワークは、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有する、入力することと、前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断することであって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での相関に依存する、判断することとによって動作するように構成される、プロセッサ回路とを備える。
第12の実装に加えて、1つ又は複数の例示の第13の実装によって、省略されるべき省略層部分を有するために利用可能である前記層は、前記主ニューラルネットワークの少なくとも1つの利用可能な省略セクションを形成する複数の連続した下流の畳み込み層である。
第13又は第14の実装に加えて、1つ又は複数の例示の第14の実装によって、省略されるべき省略層部分を有するために利用可能である前記層は、各々1つの畳み込み層及び1つ又は複数の畳み込みサポート層を有する層ブロックである。
第14の実装に加えて、1つ又は複数の例示の第15の実装によって、前記サポート層は、個々の畳み込み層のサポート活性化関数層を含む。
第12~第15の実装のいずれかに加えて、1つ又は複数の例示の第16の実装によって、複数の連続した畳み込みブロック又は畳み込み層は、利用可能な省略セクションであり、前記ニューラルネットワークは、各々が利用可能な省略セクションごとに前記相関を決定するためにそれ自身の補助ニューラルネットワーク動作を有する複数の別個の利用可能な省略セクションを有し得る。
第12~第16の実装のいずれかに加えて、1つ又は複数の例示の第17の実装によって、前記システムは、前記ニューラルネットワークを動作させ、前記フレームのうちの1つに関連付けられた特徴表面の特徴領域に関連付けられた前記ニューラルネットワークの部分における処理をオフに切り替え、前記相関に関係付けられていない理由で初期的にオフに切り替えられる、少なくとも1つのコントロールを有し、前記少なくとも1つのコントロールは、前記相関に起因して前記省略層部分をオフに切り替えるように動作可能である。
1つ又は複数の例示の第18の実装によって、複数の命令を備える少なくとも1つのコンピュータ可読媒体を有する少なくとも1つの非一時的製品であって、前記複数の命令は、コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに、ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力することと、前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断することであって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での相関に依存する、判断することとによって動作させる、製品。
第18の実装に加えて、1つ又は複数の例示の第19の実装によって、前記少なくとも1つのプロセッサは、前記相関を決定するために、補助ニューラルネットワークに前記以前の特徴、前記現在の特徴、及び遠くの下流の特徴を入力することによって動作するように構成され、前記遠くの下流の特徴は、前記少なくとも1つの省略層部分を提供するために利用可能である前記層の下流の1つ又は複数の層から取得される。
第18又は第19の実装に加えて、1つ又は複数の例示の第20の実装によって、前記少なくとも1つのプロセッサは、前記省略層部分及び前記省略層部分に対する隣接エリアが部分サイズに対する関連エリア又は部分ピクセル画像位置に対する関連エリアに関係付けられた少なくとも1つの基準を満たす場合、省略層部分を省略するか又は省略しない判断を変更させることによって動作するように構成される。
第18の実装 ~第20の実装のいずれかに加えて、1つ又は複数の例示の第21の実装によって、前記判断は、前記下流の層から現在の特徴を出力するのではなく前記少なくとも1つの省略層部分を有するために利用可能な下流の層から出力された以前の特徴を使用する成功の確率を生成する補助ニューラルネットワークに前記現在の特徴及び以前の特徴を入力することを含み、前記確率は、省略層部分レベル省略判断を行うために閾値と比較される。
第18の実装 ~第21の実装のいずれか1つに加えて、1つ又は複数の例示の第22の実装によって、前記判断は、(1)画像の各ピクセル、個々の4×4ピクセル領域、及び(3)フレーム全体のうちの少なくとも1つのための個々の省略判断を作成することを含む。
第22の実装に加えて、1つ又は複数の例示の第23の実装によって、前記判断は、複数の部分の省略信号又は非省略信号を、省略層部分を有する省略層として利用可能な各下流の層に送信することを含む。
第23の実装に加えて、1つ又は複数の例示の第24の実装によって、前記命令は、前記コンピューティングデバイスに、現在の特徴が最終省略層から出力されない場合、1つ又は複数の省略層の利用可能な省略セクションの前記最終省略層から出力された保存された以前の特徴を使用することによって動作させる。
第22の実装に加えて、1つ又は複数の例示の第25の実装によって、前記以前の特徴は、前記少なくとも1つの省略層に入力されるために利用可能な上流の以前の特徴であり、前記少なくとも1つの省略層がオフに切り替えられると、前記命令は、前記コンピューティングデバイスに、前記少なくとも1つの省略層から以前に出力された下流の以前の特徴を出力することによって動作させる。
1つ又は複数の例示の第26の実装において、デバイス又はシステムは、上記の実装のいずれか1つに記載の方法を実行するメモリ及びプロセッサ回路を備える。
1つ又は複数の例示の第27の実装において、少なくとも1つの機械可読媒体は、複数の命令を備え、前記複数の命令は、コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに、上記の実装のいずれか1つに記載の方法を実行させる。
1つ又は複数の例示の28の実装において、装置は、上記の実装のいずれか1つに記載の方法を実行する手段を備えてよい。
上記の例は、特徴の特定の組み合わせを含み得る。しかしながら、上記の例は、これに関して限定されず、様々な実装において、上記の例は、そのような特徴のサブセットのみの実行、そのような特徴の異なる順序の実行、そのような特徴の異なる組み合わせの実行、及び/又は明示的に列挙されたそれらの特徴に対する追加の特徴の実行を含んでよい。例えば、本明細書における任意の例示の方法に関して説明された全ての特徴が、任意の例示の装置、例示のシステム、及び/又は例示の製品に関して実装されてよく、逆もまた然りである。
[他の可能な項目]
[項目1]
画像処理のコンピュータ実装方法であって、
ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力する段階と、
前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断する段階であって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた前記ニューラルネットワークの以前の特徴のバージョンとの間での比較に依存する、段階と
を備える、方法。
[項目2]
前記以前の特徴のバージョンは、前記現在の特徴を提供する同じ上流の層から出力された以前の特徴である、項目1に記載の方法。
[項目3]
前記現在の特徴は、省略することができる省略層部分を有する省略層の利用可能な省略セクションに入力されるように構成された特徴である、項目1に記載の方法。
[項目4]
前記処理のオフ切り替えは、少なくとも1つの省略層部分においてデータを処理するために電力が消費されないように、アクセラレータ回路への電力をオフに切り替えることをもたらす、項目1に記載の方法。
[項目5]
前記処理のオフ切り替えは、前記ニューラルネットワークのスループットを高めるために前記ニューラルネットワークの前記少なくとも1つの省略層部分の処理を省略することによって、処理を実効的にオフに切り替えることを指す、項目1に記載の方法。
[項目6]
前記ニューラルネットワークは、主ニューラルネットワークであり、前記方法は、補助ニューラルネットワークにおいて、前記比較を実行するために、前記現在の特徴と、前記以前の特徴のバージョンとの間の相関を決定する段階を備える、項目1に記載の方法。
[項目7]
前記以前の特徴の前記バージョンは、前記以前のフレームに関連付けられた圧縮された以前の特徴であり、前記補助ニューラルネットワークから、前記現在のフレームの前記現在の特徴とともに前記補助ニューラルネットワークに戻るように入力される再帰出力として取得される、項目6に記載の方法。
[項目8]
前記圧縮された以前の特徴は、出力として確率値を提供する前記補助ニューラルネットワークの出力層の前の前記補助ニューラルネットワークの最終畳み込み層から取得される、項目7に記載の方法。
[項目9]
少なくとも1つの省略層部分を有する前記下流の層のうちの少なくとも1つは、省略層であり、前記補助ニューラルネットワークは、各々が前記現在のフレームの少なくとも領域に関連付けられ、かつ、少なくとも1つの省略層から出力された現在の特徴ではなく前記少なくとも1つの省略層からの出力として以前の特徴を使用することが、前記主ニューラルネットワークが意図されたタスクを実行するために十分である確率である、1つ又は複数の確率を出力する出力層を有する、項目7に記載の方法。
[項目10]
前記確率は、前記下流の層の前記1つ又は複数の省略層部分において処理を省略するか否かを判断するために、1つ又は複数の閾値と比較される、項目9に記載の方法。
[項目11]
前記補助ニューラルネットワークは、3つの畳み込み層を有する、項目7に記載の方法。
[項目12]
画像処理のためのシステムであって、
ビデオシーケンスのフレームの画像データ及びニューラルネットワーク特徴を記憶するメモリと、
前記メモリに通信可能に結合された少なくとも1つのプロセッサを形成するプロセッサ回路であって、前記少なくとも1つのプロセッサは、
前記画像データをニューラルネットワークに入力することであって、前記ニューラルネットワークは、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有する、入力することと、
前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断することであって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での相関に依存する、判断することと
によって動作するように構成される、プロセッサ回路と
を備える、システム。
[項目13]
省略されるべき省略層部分を有するために利用可能である前記層は、前記主ニューラルネットワークの少なくとも1つの利用可能な省略セクションを形成する複数の連続した下流の畳み込み層である、項目12に記載のシステム。
[項目14]
省略されるべき省略層部分を有するために利用可能である前記層は、各々1つの畳み込み層及び1つ又は複数の畳み込みサポート層を有する層ブロックである、項目12に記載のシステム。
[項目15]
前記サポート層は、個々の畳み込み層のサポート活性化関数層を含む、項目14に記載のシステム。
[項目16]
複数の連続した畳み込みブロック又は畳み込み層は、利用可能な省略セクションであり、前記ニューラルネットワークは、各々が利用可能な省略セクションごとに前記相関を決定するためにそれ自身の補助ニューラルネットワーク動作を有する複数の別個の利用可能な省略セクションを有し得る、項目12に記載のシステム。
[項目17]
前記ニューラルネットワークを動作させ、前記フレームのうちの1つに関連付けられた特徴表面の特徴領域に関連付けられた前記ニューラルネットワークの部分における処理をオフに切り替え、前記相関に関係付けられていない理由で初期的にオフに切り替えられる、少なくとも1つのコントロールを有し、前記少なくとも1つのコントロールは、前記相関に起因して前記省略層部分をオフに切り替えるように動作可能である、項目12に記載のシステム。
[項目18]
複数の命令を備える少なくとも1つのコンピュータ可読媒体を有する少なくとも1つの非一時的製品であって、前記複数の命令は、コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに、
ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力することと、
前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断することであって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での相関に依存する、判断することと
によって動作させる、製品。
[項目19]
前記少なくとも1つのプロセッサは、前記相関を決定するために、補助ニューラルネットワークに前記以前の特徴、前記現在の特徴、及び遠くの下流の特徴を入力することによって動作するように構成され、前記遠くの下流の特徴は、前記少なくとも1つの省略層部分を提供するために利用可能である前記層の下流の1つ又は複数の層から取得される、項目18に記載の製品。
[項目20]
前記少なくとも1つのプロセッサは、前記省略層部分及び前記省略層部分に対する隣接エリアが部分サイズに対する関連エリア又は部分ピクセル画像位置に対する関連エリアに関係付けられた少なくとも1つの基準を満たす場合、省略層部分を省略するか又は省略しない判断を変更させることによって動作するように構成される、項目18に記載の製品。
[項目21]
前記判断は、(1)画像の各ピクセル、個々の領域の4×4ピクセル領域、及び(3)フレーム全体のうちの少なくとも1つのための個々の省略判断を行うことを含む、項目18に記載の製品。
[項目22]
前記判断は、前記下流の層から現在の特徴を出力するのではなく前記少なくとも1つの省略層部分を有するために利用可能な下流の層から出力された以前の特徴を使用する成功の確率を生成する補助ニューラルネットワークに前記現在の特徴及び以前の特徴を入力することを含み、前記確率は、省略層部分レベル省略判断を行うために閾値と比較される、項目18に記載の製品。
[項目23]
前記判断は、複数の部分の省略信号又は非省略信号を、省略層部分を有する省略層として利用可能な各下流の層に送信することを含む、項目22に記載の製品。
[項目24]
前記命令は、前記コンピューティングデバイスに、現在の特徴が最終省略層から出力されない場合、1つ又は複数の省略層の利用可能な省略セクションの前記最終省略層から出力された保存された以前の特徴を使用することによって動作させる、項目23に記載の製品。
[項目25]
前記以前の特徴は、前記少なくとも1つの省略層に入力されるために利用可能な上流の以前の特徴であり、前記少なくとも1つの省略層がオフに切り替えられると、前記命令は、前記コンピューティングデバイスに、前記少なくとも1つの省略層から以前に出力された下流の以前の特徴を出力することによって動作させる、項目22に記載の製品。

Claims (27)

  1. 画像処理のコンピュータ実装方法であって、
    ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力する段階と、
    前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断する段階であって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた前記ニューラルネットワークの以前の特徴のバージョンとの間での比較に依存する、段階と
    を備える、方法。
  2. 前記以前の特徴のバージョンは、前記現在の特徴を提供する同じ上流の層から出力された以前の特徴である、請求項1に記載の方法。
  3. 前記現在の特徴は、省略することができる省略層部分を有する省略層の利用可能な省略セクションに入力されるように構成された特徴である、請求項1又は2に記載の方法。
  4. 前記処理のオフ切り替えは、少なくとも1つの省略層部分においてデータを処理するために電力が消費されないように、アクセラレータ回路への電力をオフに切り替えることをもたらす、請求項1又は2に記載の方法。
  5. 前記処理のオフ切り替えは、前記ニューラルネットワークのスループットを高めるために前記ニューラルネットワークの前記少なくとも1つの省略層部分の処理を省略することによって、処理を実効的にオフに切り替えることを指す、請求項1又は2に記載の方法。
  6. 前記ニューラルネットワークは、主ニューラルネットワークであり、前記方法は、補助ニューラルネットワークにおいて、前記比較を実行するために、前記現在の特徴と、前記以前の特徴のバージョンとの間の相関を決定する段階を備える、請求項1又は2に記載の方法。
  7. 前記以前の特徴の前記バージョンは、前記以前のフレームに関連付けられた圧縮された以前の特徴であり、前記補助ニューラルネットワークから、前記現在のフレームの前記現在の特徴とともに前記補助ニューラルネットワークに戻るように入力される再帰出力として取得される、請求項6に記載の方法。
  8. 前記圧縮された以前の特徴は、出力として確率値を提供する前記補助ニューラルネットワークの出力層の前の前記補助ニューラルネットワークの最終畳み込み層から取得される、請求項7に記載の方法。
  9. 少なくとも1つの省略層部分を有する前記下流の層のうちの少なくとも1つは、省略層であり、前記補助ニューラルネットワークは、各々が前記現在のフレームの少なくとも領域に関連付けられ、かつ、少なくとも1つの省略層から出力された現在の特徴ではなく前記少なくとも1つの省略層からの出力として以前の特徴を使用することが、前記主ニューラルネットワークが意図されたタスクを実行するために十分である確率である、1つ又は複数の確率を出力する出力層を有する、請求項7に記載の方法。
  10. 前記確率は、前記下流の層の前記1つ又は複数の省略層部分において処理を省略するか否かを判断するために、1つ又は複数の閾値と比較される、請求項9に記載の方法。
  11. 前記補助ニューラルネットワークは、3つの畳み込み層を有する、請求項7に記載の方法。
  12. 画像処理のためのシステムであって、
    ビデオシーケンスのフレームの画像データ及びニューラルネットワーク特徴を記憶するメモリと、
    前記メモリに通信可能に結合された少なくとも1つのプロセッサを形成するプロセッサ回路であって、前記少なくとも1つのプロセッサは、
    前記画像データをニューラルネットワークに入力することであって、前記ニューラルネットワークは、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有する、入力することと、
    前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断することであって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での相関に依存する、判断することと
    によって動作するように構成される、プロセッサ回路と
    を備える、システム。
  13. 省略されるべき省略層部分を有するために利用可能である前記層は、主ニューラルネットワークの少なくとも1つの利用可能な省略セクションを形成する複数の連続した下流の畳み込み層である、請求項12に記載のシステム。
  14. 省略されるべき省略層部分を有するために利用可能である前記層は、各々1つの畳み込み層及び1つ又は複数の畳み込みサポート層を有する層ブロックである、請求項12又は13に記載のシステム。
  15. 前記サポート層は、個々の畳み込み層のサポート活性化関数層を含む、請求項14に記載のシステム。
  16. 複数の連続した畳み込みブロック又は畳み込み層は、利用可能な省略セクションであり、前記ニューラルネットワークは、各々が利用可能な省略セクションごとに前記相関を決定するためにそれ自身の補助ニューラルネットワーク動作を有する複数の別個の利用可能な省略セクションを有し得る、請求項12又は13に記載のシステム。
  17. 前記ニューラルネットワークを動作させ、前記フレームのうちの1つに関連付けられた特徴表面の特徴領域に関連付けられた前記ニューラルネットワークの部分における処理をオフに切り替え、前記相関に関係付けられていない理由で初期的にオフに切り替えられる、少なくとも1つのコントロールを有し、前記少なくとも1つのコントロールは、前記相関に起因して前記省略層部分をオフに切り替えるように動作可能である、請求項12又は13に記載のシステム。
  18. コンピューティングデバイスに、
    ビデオシーケンスのフレームの画像データを、1つ又は複数の上流の層及び前記上流の層に対する1つ又は複数の下流の層を有するニューラルネットワークに入力する手順と、
    前記下流の層のうちの少なくとも1つの層の少なくとも1つの省略層部分の処理をオフに切り替えるか否かを判断する手順であって、前記判断は、現在のフレームを処理する前記上流の層のうちの1つ又は複数から出力された現在の特徴と、以前のフレームに関連付けられた以前の特徴のバージョンとの間での相関に依存する、判断する手順と
    を実行させるコンピュータプログラム。
  19. 前記コンピューティングデバイスに、
    前記相関を決定するために、補助ニューラルネットワークに前記以前の特徴、前記現在の特徴、及び遠くの下流の特徴を入力することによって動作する手順を実行させ、前記遠くの下流の特徴は、前記少なくとも1つの省略層部分を提供するために利用可能である前記層の下流の1つ又は複数の層から取得される、請求項18に記載のコンピュータプログラム。
  20. 前記コンピューティングデバイスに、
    前記省略層部分及び前記省略層部分に対する隣接エリアが部分サイズに対する関連エリア又は部分ピクセル画像位置に対する関連エリアに関係付けられた少なくとも1つの基準を満たす場合、省略層部分を省略するか又は省略しない判断を変更する手順を実行させる、請求項18又は19に記載のコンピュータプログラム。
  21. 前記判断は、(1)画像の各ピクセル、(2)個々の4×4ピクセル領域、及び(3)フレーム全体のうちの少なくとも1つのための個々の省略判断を行うことを含む、請求項18又は19に記載のコンピュータプログラム。
  22. 前記判断は、前記下流の層から現在の特徴を出力するのではなく前記少なくとも1つの省略層部分を有するために利用可能な下流の層から出力された以前の特徴を使用する成功の確率を生成する補助ニューラルネットワークに前記現在の特徴及び以前の特徴を入力することを含み、前記確率は、省略層部分レベル省略判断を行うために閾値と比較される、請求項18又は19に記載のコンピュータプログラム。
  23. 前記判断は、複数の部分の省略信号又は非省略信号を、省略層部分を有する省略層として利用可能な各下流の層に送信することを含む、請求項22に記載のコンピュータプログラム。
  24. 前記コンピューティングデバイスに、
    現在の特徴が最終省略層から出力されない場合、1つ又は複数の省略層の利用可能な省略セクションの前記最終省略層から出力された保存された以前の特徴を使用する手順を実行させる、請求項23に記載のコンピュータプログラム。
  25. 請求項18又は19に記載のコンピュータプログラムを格納している機械可読記憶媒体。
  26. コンピューティングデバイスに、請求項1又は2に記載の方法を実行させるためのコンピュータプログラム。
  27. 請求項26に記載のコンピュータプログラムを格納している機械可読記憶媒体。
JP2022165763A 2021-12-06 2022-10-14 高効率ニューラルネットワークビデオ画像処理の方法及びシステム Pending JP2023084096A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/543,551 2021-12-06
US17/543,551 US20220092400A1 (en) 2021-12-06 2021-12-06 Method and system of highly efficient neural network image processing

Publications (1)

Publication Number Publication Date
JP2023084096A true JP2023084096A (ja) 2023-06-16

Family

ID=80740560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022165763A Pending JP2023084096A (ja) 2021-12-06 2022-10-14 高効率ニューラルネットワークビデオ画像処理の方法及びシステム

Country Status (4)

Country Link
US (1) US20220092400A1 (ja)
EP (1) EP4191475A1 (ja)
JP (1) JP2023084096A (ja)
CN (1) CN116310700A (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11688070B2 (en) 2020-06-25 2023-06-27 Intel Corporation Video frame segmentation using reduced resolution neural network and masks from previous frames

Also Published As

Publication number Publication date
EP4191475A1 (en) 2023-06-07
CN116310700A (zh) 2023-06-23
US20220092400A1 (en) 2022-03-24

Similar Documents

Publication Publication Date Title
US20200005468A1 (en) Method and system of event-driven object segmentation for image processing
US9860553B2 (en) Local change detection in video
US9727786B2 (en) Visual object tracking system with model validation and management
CN112561920A (zh) 用于在视频中进行密集语义分割的深度学习
US10963745B2 (en) Real time adaptive training face detection for ultra low power always on architecture
US10607321B2 (en) Adaptive sharpness enhancement control
JP6109956B2 (ja) ビデオコンテンツを前処理するエンコーダハードウェアの活用
US11776263B2 (en) Bidirectional pairing architecture for object detection in video
WO2016036460A1 (en) Real time video summarization
US11838676B2 (en) Key frame selection in burst imaging for optimized user experience
TWI568256B (zh) 使用運動估計之物件偵測
CN111512629A (zh) 低比特率压缩视频流上的计算机视觉的自适应阈值处理
US11164317B2 (en) Real-time mask quality predictor
US10296605B2 (en) Dictionary generation for example based image processing
JP2023537446A (ja) 適応的ランタイム高効率画像分類のための入力画像サイズスイッチ可能ネットワーク
US20220358754A1 (en) Deep learning based distributed machine vision camera system
US20170323416A1 (en) Processing image fragments from one frame in separate image processing pipes based on image analysis
WO2023028908A1 (en) Dynamic temporal normalization for deep learning in video understanding applications
US9019340B2 (en) Content aware selective adjusting of motion estimation
JP2023084096A (ja) 高効率ニューラルネットワークビデオ画像処理の方法及びシステム
TW202301266A (zh) 自動內容相關影像處理演算法選擇的方法及系統