JP2023537864A - チャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法 - Google Patents

チャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法 Download PDF

Info

Publication number
JP2023537864A
JP2023537864A JP2023505728A JP2023505728A JP2023537864A JP 2023537864 A JP2023537864 A JP 2023537864A JP 2023505728 A JP2023505728 A JP 2023505728A JP 2023505728 A JP2023505728 A JP 2023505728A JP 2023537864 A JP2023537864 A JP 2023537864A
Authority
JP
Japan
Prior art keywords
channels
input
image
initial
neural network
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
JP2023505728A
Other languages
English (en)
Inventor
ポー チュー,
ハイタオ ヤン,
リーイン シェン,
Original Assignee
メタ プラットフォームズ, インク.
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 メタ プラットフォームズ, インク. filed Critical メタ プラットフォームズ, インク.
Publication of JP2023537864A publication Critical patent/JP2023537864A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • 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/10024Color image
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本発明の実施形態によるチャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法が説明される。一実施形態は、入力画像の少なくとも一部分をハードウェアアクセラレータによって実装されたニューラルネットワークの入力層に提供し、ニューラルネットワークが空間分解能といくつかのチャネルとを有し、入力層が初期空間次元と初期チャネル数とを有し、入力信号に基づいて初期変換演算を実行して、空間次元が減少し、かつチャネル数が増加した中間信号を生成し、ニューラルネットワークの出力層に出力信号を提供して、強調画像の少なくとも一部分を生み出し、少なくとも強調画像の少なくとも一部分を使用して最終強調画像を出力することを含む。【選択図】図2

Description

関連出願の相互参照
本出願は、2020年8月19日に出願されたZhuらの「Systems and Methods for Performing Image Enhancement using Channel-Constrained Hardware Accelerators」と題された米国仮出願第63/067,838号の優先権を主張し、その開示は、全体が参照により本明細書に組み込まれる。
本発明は、一般に画像処理に関し、より具体的には、チャネル制約付きハードウェアアクセラレータを使用して画像強調を実行するための機械学習技術の使用に関する。
画像(例えば、デジタル画像、ビデオフレームなど)は、多くの異なる種類の装置によって取り込まれてもよい。例えば、ビデオ記録装置、デジタルカメラ、画像センサ、医用撮像装置、電磁界センシングおよび/または音響モニタリング装置を使用して画像を取り込んでもよい。取り込まれた画像は、画像が取り込まれた環境または条件の結果として品質が劣る場合がある。例えば、暗い環境および/または劣悪な照明条件下で取り込まれた画像は、画像の大部分が主に暗くおよび/またはノイズが多いように、品質が劣る場合がある。取り込まれた画像はまた、低コストおよび/または低品質の撮像センサを使用する装置などの装置の物理的制約のために品質が劣る場合がある。
本発明のいくつかの実施形態による、ニューラルネットワークを使用した画像強調に利用されてもよい分散コンピューティングシステムを概念的に示す図である。 本発明のいくつかの実施形態による、ニューラルネットワークを使用した画像強調に利用されてもよい画像強調システムを概念的に示す図である。 本発明のいくつかの実施形態による、空間-深度演算および深度-空間演算を概念的に示す図である。 本発明のいくつかの実施形態による、モザイク画像のオプティカルフローのコンテキスト下で行われる空間-深度演算を概念的に示す図である。 本発明の一実施形態による、空間情報のいくつかを追加のチャネル内で符号化することによって低減された空間分解能で空間情報を符号化するための空間-深度変換を使用することによる、より高い空間分解能の畳み込み層を有するニューラルネットワークに対応するニューラルネットワークの構築を概念的に示す図である。 本発明の一実施形態による、増加したチャネル数を利用することによって、対応するより低い空間分解能の入力、出力、および/または畳み込み層特徴マップを使用して、特定のハードウェアアクセラレータ上で実施することができる空間分解能よりも大きい特定の空間分解能を有するが、ハードウェアアクセラレータによってサポートすることができるチャネル数よりも少ないチャネル数を有する入力、出力、および/または畳み込み層特徴マップの動作を同等に実装することができる態様を概念的に示す図である。 本発明の一実施形態による、チャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像を強調するための処理を示す図である。
本発明の様々な実施形態によるチャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法が示されている。いくつかの実施形態では、チャネル制約付きハードウェアアクセラレータを使用して画像強調が実行される。いくつかの実施形態では、ニューラルネットワーク(NN)は、入力画像を取り込み、かつ空間-深度(s2d)演算を実行して、特定のハードウェアアクセラレータによってサポートされる空間次元およびチャネル数に適切な空間次元およびチャネル数を有するデータを出力する画像強調を実行するために利用される。このようにして、NNは、ハードウェアアクセラレータによって効率的にサポートされる最適なチャネル数の最小倍数未満のチャネル数を有する画像入力または画像特徴マップデータを利用することによって、画像および/または画像パッチをより効率的に処理することができる。定義された方法で情報を特徴マップの空間入力から追加の利用可能なチャネルにシフトすることによって、ニューラルネットワークをより効率的に実装することができる。
本発明のいくつかの実施形態によるニューラルネットワークは、強調画像を出力する前に逆深度-空間変換(d2s)を実行することによって、所望の空間分解能での強調画像の復元を可能にすることができる。いくつかの実施形態では、入力画像(または入力画像のシーケンス)は、画像強調のためにNNに提供される画像パッチに分割される。NNの空間次元(受容野)よりも大きい画素の数は、s2d演算を使用して、空間情報を追加の利用可能なチャネルに転送することによって処理することができる。強調画像パッチは、d2s演算を使用して復元することができる。変換がない場合、より大きな入力画像またはパッチを処理する必要があり、各画像またはパッチは、利用可能な全てのチャネルを利用しない態様でハードウェアアクセラレータによって処理される。本発明の様々な実施形態による、入力画像に対して画像強調を実行するためのs2dおよびd2s演算を使用したNNを使用するシステムおよび方法について、以下でさらに説明する。
ニューラルネットワークを使用して画像強調を実行するためのシステム
図1は、様々な態様が実装されてもよい特別に構成された分散コンピュータシステム100のブロック図を示す。図示のように、分散コンピュータシステム100は、情報を交換する1つまたは複数のコンピュータシステムを含む。より具体的には、分散コンピュータシステム100は、コンピュータシステム102、104および106を含む。図示のように、コンピュータシステム102、104および106は、通信ネットワーク108によって相互接続され、通信ネットワーク108を介してデータを交換してもよい。ネットワーク108は、コンピュータシステムがデータを交換してもよい任意の通信ネットワークを含んでもよい。ネットワーク108を使用してデータを交換するために、コンピュータシステム102、104および106ならびにネットワーク108は、とりわけ、ファイバチャネル、トークンリング、イーサネット、ワイヤレスイーサネット、ブルートゥース、IP、IPV 6、TCP/IP、UDP、DTN、HTTP、FTP、SNMP、SMS、MIMS、SS6、JSON、SOAP、CORBA、RESTおよびウェブサービスを含む、様々な方法、プロトコルおよび規格を使用してもよい。データ転送が安全であることを保証するために、コンピュータシステム102、104および106は、例えばSSLもしくはVPN技術を含む様々なセキュリティ手段を使用してネットワーク108を介してデータを送信してもよい。分散コンピュータシステム100は3つのネットワーク化されたコンピュータシステムを示しているが、分散コンピュータシステム100はそのように限定されず、任意の媒体および通信プロトコルを使用してネットワーク化された任意の数のコンピュータシステムおよびコンピューティング装置を含んでもよい。
図1に示すように、コンピュータシステム102は、プロセッサ110と、メモリ112と、相互接続要素114と、インタフェース116と、データ記憶要素118とを含む。本明細書に開示された態様、機能および処理の少なくともいくつかを実施するために、プロセッサ110は、操作されたデータをもたらす一連の命令を実行することができる。プロセッサ110は、任意の種類のプロセッサ、マルチプロセッサまたはコントローラであってもよい。例示的なプロセッサは、Intel Xeon、Itanium、Core、CeleronもしくはPentiumプロセッサ、AMD Opteronプロセッサ、Apple A10もしくはA5プロセッサ、Sun UltraSPARCプロセッサ、IBM Power5+プロセッサ、IBMメインフレームチップ、または量子コンピュータなどの市販のプロセッサを含んでもよい。プロセッサ110は、相互接続要素114によって、1つまたは複数のメモリ装置112を含む他のシステム構成要素に接続される。
メモリ112は、コンピュータシステム102の動作中にプログラム(例えば、プロセッサ110によって実行可能であるように符号化された命令のシーケンス)およびデータを記憶する。したがって、メモリ112は、ダイナミックランダムアクセスメモリ(「DRAM」)またはスタティックメモリ(「SRAM」)などの比較的高性能の揮発性ランダムアクセスメモリとしてもよい。しかし、メモリ112は、ディスクドライブまたは他の不揮発性記憶装置など、データを記憶するための任意の装置を含んでもよい。様々な例は、本明細書に開示される機能を実行するために、メモリ112を特定の、場合によっては固有の構造に編成してもよい。これらのデータ構造は、特定のデータおよびデータタイプの値を記憶するようにサイズ設定され、かつ編成されてもよい。
コンピュータシステム102の構成要素は、相互接続機構114などの相互接続要素によって結合される。相互接続要素114は、IDE、SCSI、PCIおよびInfiniBandなどの専用または標準のコンピューティングバス技術に準拠した、1つまたは複数の物理バスなどのシステム構成要素間の任意の通信結合を含んでもよい。相互接続要素114は、命令およびデータを含む通信がコンピュータシステム102のシステム構成要素間で交換されることを可能にする。
コンピュータシステム102はまた、入力装置、出力装置および組合せ入出力装置などの1つまたは複数のインタフェース装置116を含む。インタフェース装置は、入力を受信するか、または出力を提供してもよい。より具体的には、出力装置は、外部提示のための情報をレンダリングしてもよい。入力装置は、外部ソースから情報を受け入れてもよい。インタフェース装置の例は、キーボード、マウス機器、トラックボール、マイクロフォン、タッチスクリーン、印刷機器、ディスプレイスクリーン、スピーカ、ネットワークインタフェースカードなどを含む。インタフェース装置は、コンピュータシステム102が情報を交換し、ユーザおよび他のシステムなどの外部エンティティと通信することを可能にする。
データ記憶要素118は、プロセッサ110によって実行されるプログラムまたは他のオブジェクトを定義する命令が記憶された、コンピュータ読取りおよび書込みが可能な不揮発性もしくは非一時的なデータ記憶媒体を含む。データ記憶要素118はまた、媒体上または媒体内に記録され、プログラムの実行中にプロセッサ110によって処理される情報を含んでもよい。より具体的には、情報は、記憶空間を節約し、またはデータ交換性能を向上させるように特に構成された1つまたは複数のデータ構造に記憶されてもよい。命令は、符号化された信号として永続的に記憶されてもよく、命令は、プロセッサ110に本明細書に記載の機能のいずれかを実行させてもよい。媒体は、例えばとりわけ、光ディスク、磁気ディスクまたはフラッシュメモリであってもよい。動作中、プロセッサ110またはいくつかの他のコントローラは、不揮発性記録媒体からメモリ112などの別のメモリにデータを読み込ませ、データ記憶要素118に含まれる記憶媒体よりもプロセッサ110による情報への高速アクセスを可能にする。メモリは、データ記憶要素118またはメモリ112内に位置してもよいが、プロセッサ110は、メモリ内のデータを操作し、次いで、処理が完了した後にデータ記憶要素118に関連付けられた記憶媒体にデータをコピーする。様々な構成要素は、記憶媒体と他のメモリ要素との間のデータ移動を管理してもよく、例は特定のデータ管理構成要素に限定されない。さらに、例は、特定のメモリシステムまたはデータ記憶システムに限定されない。
コンピュータシステム102は、様々な態様および機能を実施してもよい1種類のコンピュータシステムとして例として示されているが、態様および機能は、図1に示すようなコンピュータシステム102上で実施されることに限定されない。様々な態様および機能は、図1に示すものとは異なるアーキテクチャまたは構成要素を有する1つまたは複数のコンピュータ上で実施されてもよい。例えば、コンピュータシステム102は、本明細書で開示される特定の動作を実行するように調整された特定用途向け集積回路(「ASIC」)などの特別にプログラムされた専用ハードウェアを含んでもよい。別の例は、Motorola PowerPCプロセッサを備えたMAC OS System Xを実行するいくつかの汎用コンピューティング装置と、独自仕様のハードウェアおよびオペレーティングシステムを実行するいくつかの専用コンピューティング装置とのグリッドを使用して同じ機能を実行してもよい。
コンピュータシステム102は、コンピュータシステム102に含まれるハードウェア要素の少なくとも一部を管理するオペレーティングシステムを含むコンピュータシステムであってもよい。いくつかの例では、プロセッサ110などのプロセッサまたはコントローラは、オペレーティングシステムを実行する。実行可能な特定のオペレーティングシステムの例は、Microsoft社から入手可能なWindows NT、Windows 2000(Windows ME)、Windows XP、Windows VistaまたはWindows 6、8または6つのオペレーティングシステムなどのWindowsベースのオペレーティングシステム、Apple Computerから入手可能なMAC OS System XオペレーティングシステムまたはiOSオペレーティングシステム、多くのLinuxベースのオペレーティングシステムディストリビューションの1つ、例えばRed Hat社から入手可能なEnterprise Linuxオペレーティングシステム、Oracle Corporationから入手可能なSolarisオペレーティングシステム、または様々なソースから入手可能なUNIXオペレーティングシステムを含む。他の多くのオペレーティングシステムが使用されてもよく、例は、特定のオペレーティングシステムに限定されない。
プロセッサ110およびオペレーティングシステムは共に、高レベルプログラミング言語のアプリケーションプログラムが記述されるコンピュータプラットフォームを定義する。これらの構成要素アプリケーションは、通信プロトコル、例えばTCP/IPを使用して、通信ネットワーク、例えばインターネットを介して通信する実行可能コード、中間コード、バイトコードまたは解釈コードであってもよい。同様に、態様は、Net、SmallTalk、Java、C++、Ada、C#(C-Sharp)、PythonまたはJavaScriptなどのオブジェクト指向プログラミング言語を使用して実施されてもよい。他のオブジェクト指向プログラミング言語もまた使用されてもよい。代替的には、関数、スクリプトまたは論理プログラミング言語が使用されてもよい。
さらに、様々な態様および機能は、プログラムされていない環境で実施されてもよい。例えば、HTML、XMLまたは他のフォーマットで作成された文書は、ブラウザプログラムのウィンドウで表示された場合、グラフィカルユーザインタフェースの態様をレンダリングするか、または他の機能を実行することができる。さらに、様々な例は、プログラムされたかまたはプログラムされていない要素、またはそれらの任意の組合せとして実施されてもよい。例えば、ウェブページはHTMLを使用して実装され、ウェブページ内から呼び出されるデータオブジェクトはC++で記述されてもよい。したがって、例は特定のプログラミング言語に限定されず、任意の適切なプログラミング言語を使用することができる。したがって、本明細書に開示された機能的構成要素は、本明細書に記載された機能を実行するように構成された多種多様な要素(例えば、専用ハードウェア、実行可能コード、データ構造またはオブジェクト)を含んでもよい。
いくつかの例では、本明細書に開示された構成要素は、構成要素によって実行される機能に影響を及ぼすパラメータを読み取ってもよい。これらのパラメータは、揮発性メモリ(RAMなど)または不揮発性メモリ(磁気ハードドライブなど)を含む任意の形態の適切なメモリに物理的に記憶されてもよい。さらに、パラメータは、適切なデータ構造(ユーザ空間アプリケーションによって定義されたデータベースまたはファイルなど)または共通に共有されるデータ構造(オペレーティングシステムによって定義されたアプリケーションレジストリなど)に論理的に記憶されてもよい。さらに、いくつかの例は、外部エンティティがパラメータを修正し、それによって構成要素の挙動を構成することを可能にするシステムインタフェースおよびユーザインタフェースの両方を提供する。
前述の開示に基づいて、本明細書に開示された実施形態が、特定のコンピュータシステムプラットフォーム、プロセッサ、オペレーティングシステム、ネットワークまたは通信プロトコルに限定されないことが当業者には明らかである。また、本明細書で開示された実施形態が特定のアーキテクチャに限定されないことは明らかである。
図2は、本発明のいくつかの実施形態による、撮像装置によって取り込まれた画像の画像強調を実行するための画像強調システム211の例示的な実装形態を示している。物体220からの光波は、撮像装置の光学レンズ222を通過して撮像センサ224に到達する。撮像センサ224は光学レンズ222から光波を受信し、受信した光波の強度に基づいて対応する電気信号を生み出す。次いで、電気信号は、電気信号に基づいて物体220の画像のデジタル値(例えば、数値RGB画素値)を生み出すアナログ-デジタル(A/D)変換器に送信される。画像強調システム211は画像を受信し、訓練された機械学習システム212を使用して画像を強調する。例えば、物体がぼやけている、および/またはコントラストが乏しい低光条件で物体220の画像が取り込まれた場合、画像強調システム211は、物体のぼやけを解除し、および/またはコントラストを改善してもよい。画像強調システム211は、人間の目が物体を明確に認識できるようにしながら、画像の明るさをさらに改善してもよい。画像強調システム211は、さらなる画像処理228のために強調画像を出力してもよい。例えば、撮像装置は、画像に対してさらなる処理を実行してもよい(例えば、明るさ、白、シャープネス、コントラスト)。次いで、画像を出力してもよい(230)。例えば画像は、撮像装置のディスプレイ(例えば、モバイル機器のディスプレイ)に出力されてもよく、および/または撮像装置によって記憶されてもよい。
いくつかの実施形態では、画像強調システム211は、特定の種類の撮像センサ224を用いた動作のために最適化されてもよい。撮像装置によって実行されるさらなる画像処理228の前に、撮像センサから受信した生の値に対して画像強調を実行することによって、画像強調システム211は、装置の撮像センサ224のために最適化されてもよい。例えば、撮像センサ224は、光を取り込む相補型金属酸化膜半導体(CMOS)シリコンセンサであってもよい。センサ224は、入射光量子を電子に変換し、次いで電気信号を生み出してA/D変換器226に供給する複数の画素を有してもよい。別の例では、撮像センサ224は、電荷結合素子(CCD)センサであってもよい。いくつかの実施形態は、いかなる特定の種類のセンサにも限定されない。
いくつかの実施形態では、画像強調システム211は、撮像センサの特定の種類もしくはモデルを使用して取り込まれた訓練画像に基づいて訓練されてもよい。撮像装置によって実行される画像処理228は、装置の特定の構成および/または設定に基づいてユーザ間で異なってもよい。例えば、異なるユーザが、好みや用途に応じて撮像装置の設定を異なるように設定してもよい。画像強調システム211は、撮像装置によって実行された画像処理220から生じる変動を排除するために、A/D変換器から受信した生の値に対して強調を実行してもよい。
いくつかの実施形態では、画像強調システム211は、A/D変換器226から受信した数値画素値のフォーマットを変換するように構成されてもよい。例えば、値は整数値であってもよく、画像強調システム211は、画素値を浮動小数点値に変換するように構成されてもよい。いくつかの実施形態では、画像強調システム211は、各画素から黒レベルを減算するように構成されてもよい。黒レベルは、色を示さない撮像装置によって取り込まれた画像の画素の値であってもよい。したがって、画像強調システム211は、受信した画像の画素から閾値を減算するように構成されてもよい。いくつかの実施形態では、画像強調システム211は、画像内のセンサノイズを低減するために各画素から一定値を減算するように構成されてもよい。例えば、画像強調システム111は、画像の各画素から60、61、62または63を減算してもよい。
いくつかの実施形態では、画像強調システム211は、画素値を正規化するように構成されてもよい。いくつかの実施形態では、画像強調システム111は、画素値を正規化するための値で画素値を除算するように構成されてもよい。いくつかの実施形態では、画像強調システム211は、各画素値を、最大可能画素値と黒レベルに対応する画素値との差(例えば、60、61、62、63)で除算するように構成されてもよい。いくつかの実施形態では、画像強調システム211は、各画素値を、取り込まれた画像内の最大画素値、および取り込まれた画像内の最小画素値で除算するように構成されてもよい。
いくつかの実施形態では、画像強調システム211は、受信した画像に対してデモザイク処理を実行するように構成されてもよい。画像強調システム211は、A/D変換器226から受信した画素値に基づいてカラー画像を構築するためにデモザイク処理を実行してもよい。システム211は、各画素について複数のチャネルの値を生み出すように構成されてもよい。いくつかの実施形態では、システム211は、4つのカラーチャネルの値を生み出すように構成されてもよい。例えば、システム211は、赤色チャネル、2つの緑色チャネルおよび青色チャネル(RGGB)の値を生み出してもよい。いくつかの実施形態では、システム211は、各画素について3つのカラーチャネルの値を生み出すように構成されてもよい。例えばシステム211は、赤色チャネル、緑色チャネルおよび青色チャネルの値を生み出してもよい。
いくつかの実施形態では、画像強調システム211は、画像を複数の部分に分割するように構成されてもよい。画像強調システム211は、各部分を別々に強調し、次いで各部分の強調版を組み合わせて出力強調画像にするように構成されてもよい。画像強調システム211は、受信した入力の各々について機械学習システム212への入力を生み出してもよい。例えば、画像は500×500画素のサイズを有してもよく、システム211は、画像を100×100画素部分に分割してもよい。次いで、システム211は、各100×100部分を機械学習システム212に入力し、かつ対応する出力を取得してもよい。次いで、システム211は、各100×100部分に対応する出力を組み合わせて最終画像出力を生み出してもよい。いくつかの実施形態では、システム211は、入力画像と同じサイズの出力画像を生み出すように構成されてもよい。
特定のアーキテクチャは、図1および図2に関して上述されており、当業者は、本発明の実施形態による様々なコンピューティングアーキテクチャのいずれかを利用してもよいことを認識するであろう。
NNにおけるS2D演算およびD2S演算を使用した画像強調の実行
画像強調を実行するために利用することができるニューラルネットワークは、米国特許出願公開第2020/0051217号明細書に記載されており、その完全な開示は、画像強調を実行するためにニューラルネットワークを利用するシステムおよび方法に関する開示と、図3B、図3C、図8および図9に関連し、段落[0055]~[0077]、[0083]~[0094]、[0102]~[0110]、[0124]~[0126]、[0131]、[0135]~[0148]、[0178]~[0200]を含む(がこれらに限定されない)段落に見られる特定の開示とを含み、その全体は参照により本明細書に組み込まれる。
NNハードウェアアクセラレーションプラットフォーム(およびそれらの上で実行されるソフトウェアフレームワーク)は、アクセラレータハードウェア内のデータ構造アライメント設計のために、チャネル数が数(例えば32)の倍数である重みおよび特徴マップを計算してメモリI/Oを実行するように最適化されることが多い。これは、より少ないチャネル(例えば、32未満)を使用する軽量NNが、計算リソースを最大限に活用しない(したがって、追加の推論速度を得られない)可能性があることを意味する。
いくつかの実施形態では、任意の画像入力は、s2d演算を使用して変換されて、入力空間次元およびチャネルで表されるデータを、画像強調を実行する場合に特定のハードウェアアクセラレータを使用することによって達成することができる計算効率を高める空間次元およびいくつかのチャネルに変換する。本発明のいくつかの実施形態によるs2d演算は、図3に概念的に示されており、活性値を空間次元からチャネル次元に移動させる。図示の実施形態では、画像または特徴マップの1つのチャネルは、2×2ブロックパターンのs2d演算によって、元の半分の高さおよび幅を有する4つのチャネルに変換される。入力が2つ以上のチャネルを含む場合、各チャネルを記載された方法で変換することができ、変換された結果はチャネル次元に連結される。対応する深度-空間(d2s)演算は逆である。
本発明のいくつかの実施形態による、典型的なRGGB構成内の画像センサの生Bayerデータのコンテキスト下でのs2d演算の適用が、図4に概念的に示されている。赤色画素をR、青色画素をB、2組の緑色画素をG 1、G 2とする。対応するカラー画素を、各々が赤色画素のブロック、青色画素のブロック、および緑色画素の2つのブロックを含む4つのチャネルの2×2ブロックの中間信号にシフトすることができる。
s2d演算によって入力を変換することは、本発明の実施形態による様々な方式のいずれかによって入力画像からの画素またはデータの他の表現を中間信号の位置にマッピングすることができ、対応するd2s演算は逆マッピングを含む。例えばマッピングは、第1の画素から開始してN番目毎の画素(Nはチャネルの数が増加する因子である)を取り、それを中間信号内のチャネル内の所定の位置にマッピングすることができる。第2の画素から始まるN番目の画素の次のセットは、中間信号内の次のチャネル内の所定の位置などにマッピングすることができる。Nが4であるとき、第1の画素、第5の画素、第9の画素などは、中間信号内の第1のチャネル内の位置にマッピングされる。第2の画素、第6の画素、第10の画素などは、中間信号内の第2のチャネル内の位置にマッピングされる。対応するd2s演算は逆であり、画素またはデータを出力画像内の元の位置にマッピングして戻す。
上記の例では、高さを2で除算し、幅を2で除算し、それに応じてチャネル数を4だけ増加させているが、当業者であれば、様々な因子のいずれかを利用して、中間信号への初期入力の次元を減少させ、チャネルの数を増加させてもよいことを認識するであろう。例えば、1つのチャネル内の9×9入力の高さおよび幅をそれぞれ3(H/3およびW/3)で除算して、9つのチャネル内の3×3ブロックの中間信号を生成することができる。本発明の追加の実施形態は、他の次元および/または2つ以上のチャネルを有する入力信号を企図している。
s2d演算は、本発明の一実施形態に従って実施されるNN内で複数回使用されてもよく、例えば、入力または特徴マップをH、W、CからH/2、W/2、C*4に変換し、次いでH/4、W/4、C*16に変換し、ここで、Hは高さ、Wは幅、Cはチャネルの数である。容易に理解できるように、ハードウェアアクセラレータを使用する処理システムによって実行されるNN処理中に効率を高めるために、生画像データから情報のチャネルを抽出するための初期変換と、それに続く空間情報を追加のチャネルに変換するための1つまたは複数の後続のs2d演算とを含む、いくつかのs2d演算のいずれかを実行することができる。
典型的には、s2dを利用する目的は、空間情報を失うことなくNN層の空間範囲を削減するために無損失のダウンサンプリングを実行することである。しかし、本発明のいくつかの実施形態では、s2d演算の使用は、チャネル毎の並列処理による計算待ち時間が発生することなく、ハードウェアアクセラレーションプラットフォームによって最適にサポートされるチャネル数を完全に利用するために、NNハードウェアアクセラレーションによって行われる深度/チャネル処理を増加させるのに役立つ。多くの実施形態では、s2d演算はまた、畳み込みカーネルがより少ない空間画素にわたってラスタライズする必要があるため、推論計算速度をさらに改善する空間範囲削減の追加の利点をもたらし、最終的に、所与の時間(例えば、ビデオシーケンスにおける1秒あたりのフレーム数)または各画像のより多くの画素数についてより多くの画像の処理を可能にする。
NNにおけるs2d動作およびd2s動作を使用した画像強調のためのシステム
入力画像によって決定されたチャネル数で画像強調を実行するために利用されるNNと、本発明のいくつかの実施形態による画像強調処理中にハードウェアアクセラレータのチャネル数を十分に利用するためにs2d演算が使用されるNNとの比較が、図5および図6に概念的に示されている。図5の左側は、入力の元の次元、入力を処理するニューラルネットワークの4つの畳み込み層特徴マップ、および出力の一致する次元を含む処理経路を示している。右側には、異なる次元およびチャネル数を有する変換された入力、入力を処理するニューラルネットワークの4つの畳み込み層特徴マップ、変換された入力の次元およびチャネル数に一致する変換前の出力、ならびに元の入力の次元およびチャネル数に一致する変換前の出力からd2s演算によって変換された出力を生成するs2d演算に渡される入力の処理経路が示されている。
図6は、本発明のいくつかの実施形態による、入力、出力、および/または畳み込み層特徴マップの次元が、ニューラルネットワークに提供される変換された入力、ニューラルネットワークの変換前の出力、および/または畳み込み層特徴マップにどのように関連してもよいかを示す図である。左側は、高さH、幅Wおよびチャネル数Cを有する入力、出力または特徴マップの次元である。右側は、高さH/2が減少し、幅W/2が減少し、チャネル数C*4が増加した、変換された入力、変換前の出力または特徴マップの次元である。
特定のNNアーキテクチャが図5および図6に示され、上述されている(米国特許出願公開第2020/0051217号明細書に含まれる)が、ビデオの複数のフレームからの空間情報および/または画素を追加のチャネルにマッピングして、NN計算中に処理されるチャネルの数を増加させるために利用することができる様々な技法および/または動作のいずれかを、本発明の様々な実施形態による特定のアプリケーションの要件に応じて適切に利用することができる。
NNにおけるs2d動作およびd2s動作を使用した画像強調のための処理
処理は、本発明の実施形態による、s2d演算およびd2s演算を使用して画像強調を実行するために、図1および図2に関してさらに上述したようなコンピューティングプラットフォーム上で実施されてもよい。例えば、コンピューティング装置上のメモリは、画像強調アプリケーションおよびニューラルネットワークのパラメータを含むことができる。コンピューティング装置上のプロセッサまたは処理システムは、空間分解能(例えば、高さおよび幅)およびいくつかのチャネルを含むニューラルネットワークを実装することが可能なハードウェアアクセラレータを含むことができる。プロセッサまたは処理システムを、画像強調アプリケーションによって、ニューラルネットワークを実装し、かつ画像強調のための処理を実行するように構成することができる。本発明の実施形態による処理が図7に示される。処理700は、画像を受信することと、入力画像の少なくとも一部分をニューラルネットワークの入力層に提供すること(710)とを含み、入力層は初期空間次元および初期チャネル数を有する。
初期変換は入力信号に基づいて実行されて、減少した空間次元(初期空間次元に対して減少)、および、増加したチャネル数(初期チャネル数に対して増加)を有する中間信号が生成される(712)。本発明のいくつかの実施形態では、初期変換は、さらに上述したような空間-深度(s2d)演算とすることができる。いくつかの実施形態では、入力信号は入力画像の少なくとも一部分である。他の実施形態では、入力信号は、活性値マップまたは特徴マップとすることができる。中間信号入力画像、活性値マップ、または特徴マップ。
中間信号は、初期出力信号を生成するために、ニューラルネットワークのパラメータに基づいてハードウェアアクセラレータを使用して処理される(714)。上述したように、ニューラルネットワークの畳み込み層は、中間信号の空間分解能または空間次元に一致する空間分解能または空間次元を有することができる。本発明の多くの実施形態では、ハードウェアアクセラレータは、同時に処理することができるチャネル数を有し、増加したチャネル数は、ハードウェアアクセラレータのチャネルの最大数に等しい。ハードウェアアクセラレータのチャネル数は、中間信号のチャネル数と一致することができる。
初期出力信号に対して逆変換が実行されて、増大した空間次元(減少した空間次元に対して増大)および減少したチャネル数(減少したチャネル数に対して減少)を有する出力信号が生成され(716)、ここで、逆変換は初期変換の逆である。本発明の多くの実施形態では、増大した空間次元は初期空間次元と同じであり、減少したチャネル数は初期チャネル数と同じである。本発明のいくつかの実施形態では、初期変換は、さらに上述したような深度-空間(d2s)演算とすることができる。
出力信号は、強調画像の少なくとも一部分を生み出すためにニューラルネットワークの出力層に提供される(718)。処理すべき追加の画像部分がある場合、処理は、追加の部分に対して初期変換を実行すること(712)から繰り返すことができる。次いで、出力画像部分を最終出力画像に結合することができる(722)。本発明のさらなる実施形態では、入力画像は入力画像のシーケンスの一部であり、処理は、上述のように処理される画像のシーケンスまたは部分において入力画像の各々を提供することができる。
特定の処理が図7に関して上述されているが、当業者は、本発明の実施形態に従ってチャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用した画像強調のために、様々な処理のいずれかが利用されてもよいことを認識するであろう。
以下の説明の多くは、チャネル制約付きハードウェアアクセラレータを利用するシステムおよび方法の文脈で提示されるが、画像強調システムおよび方法は、本発明の様々な実施形態による特定のアプリケーションの要件に応じて適切に、様々なハードウェアおよび/または処理アーキテクチャのいずれかを使用して実装することができる。したがって、本明細書に記載のシステムおよび方法は、特定の特性を有するハードウェアアクセラレータおよび/またはハードウェアアクセラレータの使用を必要とすることに決して限定されないと理解されるべきである。さらに、単一のフレームおよび/または複数のフレームからの空間情報を、処理システムによって処理することができる追加の利用可能なチャネルにマッピングするために利用される演算は、s2d演算に限定されない。実際、本発明の様々な実施形態による特定の用途の要件に従って、任意の適切な変換を利用することができる。より一般的には、本発明を特定の態様で説明してきたが、多くの追加の修正および変形が当業者には明らかであろう。したがって、本発明は、具体的に記載されている以外の方法で実施されてもよいことを理解されたい。したがって、本発明の実施形態は、全ての点において例示であって制限的なものではないと考えられるべきである。

Claims (18)

  1. デジタル画像を自動的に強調するためのシステムであって、前記システムが、
    画像強調アプリケーションとニューラルネットワークのパラメータとを含むメモリと、
    ハードウェアアクセラレータを含む処理システムであって、前記ハードウェアアクセラレータが、空間分解能といくつかのチャネルとを有するニューラルネットワークを実装することが可能である、処理システムと
    を備え、
    前記画像強調アプリケーションが、前記処理システムを、
    初期空間次元と初期チャネル数とを有する前記ニューラルネットワークの入力層に、入力画像の少なくとも一部分を提供し、
    入力信号に基づいて初期変換演算を実行して、減少した空間次元と、増加したチャネル数とを有する中間信号を生成し、
    前記減少した空間次元が前記初期空間次元に対して減少し、
    前記増加したチャネル数が前記初期チャネル数よりも多くなり、
    前記ニューラルネットワークの前記パラメータに基づいて前記ハードウェアアクセラレータを使用して前記中間信号を処理して、初期出力信号を生成し、
    前記初期出力信号に基づいて逆変換を実行して、増大した空間次元と、減少したチャネル数とを有する出力信号を生成し、
    前記増大した空間次元が前記減少した空間次元に対して増大し、
    前記減少したチャネル数が前記増加したチャネル数よりも少なくなり、
    前記ニューラルネットワークの出力層に前記出力信号を提供して、強調画像の少なくとも一部分を生み出し、
    少なくとも前記強調画像の少なくとも一部分を使用して最終強調画像を出力する
    ように構成している、システム。
  2. 前記入力信号が前記入力画像の少なくとも一部分を含む、請求項1に記載のシステム。
  3. 前記入力信号が活性値マップを含む、請求項1に記載のシステム。
  4. 前記入力信号が特徴マップを含む、請求項1に記載のシステム。
  5. 前記増大した空間次元が前記初期空間次元と同じであり、前記減少したチャネル数が前記初期チャネル数と同じである、請求項1に記載のシステム。
  6. 前記初期変換が空間-深度演算であり、
    前記逆変換が深度-空間演算である、
    請求項1に記載のシステム。
  7. 前記ハードウェアアクセラレータが、同時に処理することができるチャネル数を有し、前記増加したチャネル数が、前記ハードウェアアクセラレータの最大チャネル数に等しい、請求項1に記載のシステム。
  8. 前記処理システムがアプリケーションプロセッサをさらに含み、
    前記画像強調アプリケーションが、前記アプリケーションプロセッサを、
    入力画像のシーケンスからの前記入力画像の前記少なくとも一部分を前記ニューラルネットワークの入力層に提供し、
    前記初期変換演算を実行し、
    前記逆変換を実行し、
    前記出力信号を出力層に提供し、
    前記最終強調画像を出力する
    ように構成している、請求項1に記載のシステム。
  9. 入力画像の少なくとも一部分を前記ニューラルネットワークの入力層に提供することが、前記入力画像を含む入力画像のシーケンスからの複数の画像の少なくとも一部分を前記ニューラルネットワークの前記入力層に提供することをさらに含む、請求項1に記載のシステム。
  10. デジタル画像を自動的に強調するための方法であって、
    入力画像の少なくとも一部分を、ハードウェアアクセラレータによって実装されたニューラルネットワークの入力層に提供し、前記ニューラルネットワークが空間分解能といくつかのチャネルとを有し、前記入力層が初期空間次元と初期チャネル数とを有することと、
    入力信号に基づいて初期変換演算を実行して、減少した空間次元と、増加したチャネル数とを有する中間信号を生成することとであって、
    前記減少した空間次元が前記初期空間次元に対して減少し、
    前記増加したチャネル数が前記初期チャネル数よりも多くなる、中間信号を生成することと、
    前記ニューラルネットワークのパラメータに基づいて前記ハードウェアアクセラレータを使用して前記中間信号を処理して、初期出力信号を生成することと、
    前記初期出力信号に基づいて逆変換を実行して、増大した空間次元と、減少したチャネル数とを有する出力信号を生成することであって、
    前記増大した空間次元が前記減少した空間次元に対して増大し、
    前記減少したチャネル数が前記増加したチャネル数よりも少なくなる、出力信号を生成することと、
    前記ニューラルネットワークの出力層に前記出力信号を提供して、強調画像の少なくとも一部分を生み出すことと、
    少なくとも前記強調画像の少なくとも一部分を使用して最終強調画像を出力することと
    を含む、方法。
  11. 前記入力信号が前記入力画像の少なくとも一部分を含む、請求項1に記載のシステム。
  12. 前記入力信号が活性値マップを含む、請求項1に記載のシステム。
  13. 前記入力信号が特徴マップを含む、請求項1に記載のシステム。
  14. 前記増大した空間次元が前記初期空間次元と同じであり、前記減少したチャネル数が前記初期チャネル数と同じである、請求項1に記載のシステム。
  15. 前記初期変換が空間-深度演算であり、
    前記逆変換が深度-空間演算である、
    請求項1に記載のシステム。
  16. 前記ハードウェアアクセラレータが、同時に処理することができるチャネル数を有し、前記増加したチャネル数が、前記ハードウェアアクセラレータの最大チャネル数に等しい、請求項1に記載のシステム。
  17. 前記処理システムがアプリケーションプロセッサをさらに含み、
    前記画像強調アプリケーションが、前記アプリケーションプロセッサを、
    入力画像のシーケンスからの前記入力画像の前記少なくとも一部分を前記ニューラルネットワークの入力層に提供し、
    前記初期変換演算を実行し、
    前記逆変換を実行し、
    前記出力信号を出力層に提供し、
    前記最終強調画像を出力する
    ように構成している、請求項1に記載のシステム。
  18. 入力画像の少なくとも一部分を前記ニューラルネットワークの入力層に提供することが、前記入力画像を含む入力画像のシーケンスからの複数の画像の少なくとも一部分を前記ニューラルネットワークの前記入力層に提供することをさらに含む、請求項1に記載のシステム。
JP2023505728A 2020-08-19 2021-08-19 チャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法 Pending JP2023537864A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063067838P 2020-08-19 2020-08-19
US63/067,838 2020-08-19
PCT/US2021/046775 WO2022040471A1 (en) 2020-08-19 2021-08-19 Systems and methods for performing image enhancement using neural networks implemented by channel-constrained hardware accelerators

Publications (1)

Publication Number Publication Date
JP2023537864A true JP2023537864A (ja) 2023-09-06

Family

ID=80270964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023505728A Pending JP2023537864A (ja) 2020-08-19 2021-08-19 チャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US20220058774A1 (ja)
EP (1) EP4200753A1 (ja)
JP (1) JP2023537864A (ja)
KR (1) KR20230051664A (ja)
WO (1) WO2022040471A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200222010A1 (en) * 2016-04-22 2020-07-16 Newton Howard System and method for deep mind analysis
US10726514B2 (en) * 2017-04-28 2020-07-28 Intel Corporation Compute optimizations for low precision machine learning operations
US10628686B2 (en) * 2018-03-12 2020-04-21 Waymo Llc Neural networks for object detection and characterization
WO2020146911A2 (en) * 2019-05-03 2020-07-16 Futurewei Technologies, Inc. Multi-stage multi-reference bootstrapping for video super-resolution

Also Published As

Publication number Publication date
EP4200753A1 (en) 2023-06-28
WO2022040471A1 (en) 2022-02-24
KR20230051664A (ko) 2023-04-18
US20220058774A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
US10643306B2 (en) Image signal processor for processing images
US11037278B2 (en) Systems and methods for transforming raw sensor data captured in low-light conditions to well-exposed images using neural network architectures
WO2020192483A1 (zh) 图像显示方法和设备
US10708525B2 (en) Systems and methods for processing low light images
US20210133920A1 (en) Method and apparatus for restoring image
TWI615027B (zh) 高動態範圍圖像的生成方法、拍照裝置和終端裝置、成像方法
US20190294931A1 (en) Systems and Methods for Generative Ensemble Networks
CN113168670A (zh) 使用神经网络的亮点去除
JP2002204399A (ja) 画像圧縮方法
US20210390658A1 (en) Image processing apparatus and method
CN112651911B (zh) 一种基于偏振图像的高动态范围成像生成方法
US20210224964A1 (en) Apparatus and method for image processing
Zhou et al. Unmodnet: Learning to unwrap a modulo image for high dynamic range imaging
CN113052768B (zh) 一种处理图像的方法、终端及计算机可读存储介质
Pan et al. Joint demosaicking and denoising for CFA and MSFA images using a mosaic-adaptive dense residual network
CN115867934A (zh) 排列不变的高动态范围成像
WO2020215263A1 (zh) 一种图像处理方法及装置
JP2023537864A (ja) チャネル制約付きハードウェアアクセラレータによって実装されたニューラルネットワークを使用して画像強調を実行するためのシステムおよび方法
JP2021114180A (ja) 画像処理装置、画像処理方法、およびプログラム
US20220130012A1 (en) Demosaicing method and demosaicing device
WO2022115996A1 (zh) 图像处理方法及设备
CN114556897B (zh) 原始到rgb的图像转换
JP2022104795A (ja) イメージセンシング装置及びその動作方法
CN111383171B (zh) 一种图片处理方法、系统及终端设备
US20240171871A1 (en) Image processing device and image processing method using super resolution network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240521