IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ シンハ,パーヴェルの特許一覧

特表2023-503355画像センサデータの画像解析への直接変換を実行するためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-27
(54)【発明の名称】画像センサデータの画像解析への直接変換を実行するためのシステム及び方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230120BHJP
   G06N 3/04 20230101ALI20230120BHJP
   G06N 3/08 20230101ALI20230120BHJP
【FI】
G06T7/00 350C
G06N3/04
G06N3/08
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022530719
(86)(22)【出願日】2020-11-25
(85)【翻訳文提出日】2022-05-25
(86)【国際出願番号】 IB2020001007
(87)【国際公開番号】W WO2021105765
(87)【国際公開日】2021-06-03
(31)【優先権主張番号】62/941,646
(32)【優先日】2019-11-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/025,580
(32)【優先日】2020-05-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522019030
【氏名又は名称】シンハ,パーヴェル
【氏名又は名称原語表記】SINHA,Pavel
(74)【代理人】
【識別番号】110001302
【氏名又は名称】特許業務法人北青山インターナショナル
(72)【発明者】
【氏名】シンハ,パーヴェル
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096HA07
5L096HA11
5L096JA03
5L096JA11
5L096KA04
(57)【要約】
画像センタデータの画像解析への直接変換を実行するためのシステム及び方法が提供される。センサ画像データを直接処理するための1つのそうしたシステムは、画像をキャプチャし、かつ、生ベイヤー形式の対応の画像データを生成するように構成されたセンサと、センサに結合され、かつ、生ベイヤー形式の画像データから直接、画像解析を生成するように構成された畳み込みニューラルネットワーク(CNN)と、を含む。CNNを訓練するためのシステム及び方法が提供され、かつ、RGB画像を生ベイヤー形式の推定画像に変換するように構成された生成モデルを含み得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
センサ画像データを直接処理するためのシステムであって、
画像をキャプチャし、かつ、生ベイヤー形式の対応の画像データを生成するように構成されたセンサと、
前記センサに結合され、かつ、前記生ベイヤー形式の前記画像データから直接、画像解析を生成するように構成された畳み込みニューラルネットワーク(CNN)と、を備えるシステム。
【請求項2】
前記CNNは、画像分類又は物体検出のうちの少なくとも1つを実行するように構成される、請求項1に記載のシステム。
【請求項3】
前記CNNは、前記生ベイヤー形式のグラウンドトルース画像を使用して、RGB画像を前記生ベイヤー形式の推定画像に変換するように構成された生成モデルを使用して訓練され、
前記生成モデルは、ラベルを使用せず、前記生ベイヤー形式の画像データを使用して訓練された、請求項1に記載のシステム。
【請求項4】
前記生成モデルは、前記生ベイヤー形式のラベル付けされた画像データセットを生成するように構成される、請求項3に記載のシステム。
【請求項5】
前記CNNは、前記生ベイヤー形式の前記ラベル付けされた画像データセットを使用して訓練された、請求項4に記載のシステム。
【請求項6】
センサ画像データを直接処理するための方法であって、
生ベイヤー形式の画像データを受信するステップと、
前記生ベイヤー形式の前記画像データから直接、画像解析を生成するステップと、を含む方法。
【請求項7】
センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練するように構成された生成モデルを訓練するためのシステムであって、
生ベイヤー形式のラベル付けされていないグラウンドトルース画像を受信し、かつ、RGB形式の画像を生成するように構成された画像信号処理(ISP)回路と、
前記RGB形式の前記画像を受信し、かつ、前記生ベイヤー形式の推定生画像を生成するように構成された生成モデルと、
前記生ベイヤー形式の前記ラベル付けされていないグラウンドトルース画像と前記推定生画像とを受信し、かつ、前記ラベル付けされていないグラウンドトルース画像と前記推定生画像との間のエラーを生成するように構成されたエラー生成回路と、を備え、
前記生成モデルは、前記エラーの逆伝播に基づいて訓練するように構成される、システム。
【請求項8】
前記生成モデルは、オートエンコーダ、変分オートエンコーダ又は敵対的生成ネットワーク(GAN)のうちの少なくとも1つを備える、請求項7に記載のシステム。
【請求項9】
前記エラー生成回路は、損失関数、交差エントロピー損失関数又は平均二乗損失関数のうちの少なくとも1つを実行するように構成される、請求項7に記載のシステム。
【請求項10】
前記生成モデルは、機械学習を使用して訓練するように構成される、請求項7に記載のシステム。
【請求項11】
前記生成モデルは、前記生成モデルの1以上の重みを更新することによって前記エラーの逆伝播に基づいて訓練するように構成される、請求項10に記載のシステム。
【請求項12】
前記生成モデルは、U-Netアーキテクチャを有する畳み込みニューラルネットワーク(CNN)を備える、請求項7に記載のシステム。
【請求項13】
前記生成モデルは、エンコーダ層及びデコーダ層を備える修正されたU-Netアーキテクチャを有する畳み込みニューラルネットワーク(CNN)を備え、
前記生成モデルは、スケーリングされた入力画像を生成し、かつ、前記エンコーダ層及び前記デコーダ層の各々に前記入力画像を渡すように構成される、請求項7に記載のシステム。
【請求項14】
センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練するように構成された生成モデルを訓練するための方法であって、
生ベイヤー形式のラベル付けされていないグラウンドトルース画像を受信するステップと、
前記ラベル付けされていないグラウンドトルース画像に対応するRGB形式の画像を生成するステップと、
前記生成モデルで、前記RGB形式の前記画像を受信するステップと、
前記生成モデルで、前記RGB形式の前記画像に対応する前記生ベイヤー形式の推定生画像を生成するステップと、
前記ラベル付けされていないグラウンドトルース画像と前記推定生画像との間のエラーを生成するステップと、
前記生成モデルで、前記エラーの逆伝播に基づいて訓練するステップと、を含む方法。
【請求項15】
前記訓練するステップは、前記生成モデルの1以上の重みを更新するステップを含む、請求項14に記載の方法。
【請求項16】
センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練するためのシステムであって、
エラー生成回路と、
RGB形式の画像を受信し、かつ、生ベイヤー形式の対応の画像を生成するように構成された訓練済み生成モデルと、
前記生ベイヤー形式の前記画像を受信し、かつ、推定ラベルを生成するように構成されたCNNと、を備え、
前記エラー生成回路は、
前記RGB形式の前記画像に含まれるパターンに対応する既知ラベルを受信し、
前記CNNから前記推定ラベルを受信し、かつ、
前記推定ラベルと前記既知ラベルとの間のエラーを生成するように構成され、
前記CNNは、前記エラーの逆伝播に基づいて訓練するように構成される、システム。
【請求項17】
前記RGB形式の前記画像は前記既知ラベルを備える、請求項16に記載のシステム。
【請求項18】
前記生ベイヤー形式の前記画像はラベル付けされていない、請求項16に記載のシステム。
【請求項19】
前記エラー生成回路は、損失関数、交差エントロピー損失関数又は平均二乗損失関数のうちの少なくとも1つを実行するように構成される、請求項16に記載のシステム。
【請求項20】
前記生成モデルは機械学習を使用して訓練された、請求項16に記載のシステム。
【請求項21】
前記CNNは、前記CNNの1以上の重みを更新することによって前記エラーの逆伝播に基づいて訓練するように構成される、請求項16に記載のシステム。
【請求項22】
センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練する方法であって、
RGB形式の既知ラベル付きの画像を受信するステップと、
前記RGB形式の前記画像に対応する生ベイヤー形式の画像を生成するステップと、
前記CNNで、前記生ベイヤー形式の前記画像に基づいて推定ラベルを生成するステップと、
前記推定ラベルと前記既知ラベルとの間のエラーを生成するステップと、
前記CNNで、前記エラーの逆伝播に基づいて訓練するステップと、を含む方法。
【請求項23】
前記訓練するステップは、前記CNNの1以上の重みを更新するステップを含む、請求項22に記載の方法。
【請求項24】
センサ画像データを直接処理するための方法であって、
生ベイヤー形式のグラウンドトルース画像を使用して、RGB画像を前記生ベイヤー形式の推定画像に変換するために生成モデルを訓練するステップと、
訓練済み前記生成モデルを使用して、ラベル付けされたRGB画像データセットから前記生ベイヤー形式のラベル付けされたデータセットを生成するステップと、
畳み込みニューラルネットワーク(CNN)が前記生ベイヤー形式のセンサ画像を直接処理するように構成されるように、前記ラベル付けされたベイヤーデータセットを使用して前記CNNを訓練するステップと、
訓練済み前記CNNを使用して、センサによってキャプチャされた前記生ベイヤー形式の画像データから直接、画像解析を生成するステップと、を含む方法。
【請求項25】
センサ画像データを直接処理するための装置であって、
生ベイヤー形式の画像データを受信するための手段と、
前記生ベイヤー形式の前記画像データから直接、画像解析を生成するための手段と、を備える装置。
【請求項26】
センサ画像データを直接処理するためのシステムであって、
画像をキャプチャし、かつ、生RGB形式の対応の画像データを生成するように構成されたセンサと、
前記センサに結合され、かつ、前記生RGB形式の前記画像データから直接、画像解析を生成するように構成された畳み込みニューラルネットワーク(CNN)と、を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
[0001] 本願は、代理人整理番号SINHA-1003P2、かつ、発明の名称「単一CNNを使用した生画像センサ入力(ベイヤー(Bayer)パターン)の画像/ビデオ解析への直接変換」で2020年5月15日に出願された米国仮出願第63/025,580号、代理人整理番号SINHA-1003P1、かつ、発明の名称「単一CNNを使用した生画像センサ入力(ベイヤーパターン)の画像/ビデオ解析への直接変換」で2019年11月27日に出願された米国仮出願第62/941,646号の優先権及び利益を主張し、その各々の内容の全体が参照によって本明細書に組み込まれる。
【0002】
[0002] 本明細書で説明する主題は、概して、機械学習及び畳み込みニューラルネットワーク(CNN)を使用して解析を生成することに関する。より具体的には、本明細書に記載の主題は、単一CNNを使用することを含む、画像センサデータの画像解析への直接変換を実行するためのシステム及び方法に関する。
【背景技術】
【0003】
[0003] 深層構造学習又は階層学習とも呼ばれ得るディープラーニングは、人工ニューラルネットワークに基づく機械学習方法の幅広いファミリの一部である。学習は、教師あり、半教師あり又は教師なしであり得る。ディープニューラルネットワーク、ディープビリーフネットワーク、回帰型ニューラルネットワーク及び畳み込みニューラルネットワーク(CNN)などのディープラーニングアーキテクチャは、画像分類及び自然言語処理を含む多くの分野に適用されており、人間の専門家に匹敵する結果を生み出した。例えば、ディープラーニングは、物体認識、セマンティックセグメンテーション、画像キャプショニング、人物姿勢推定などの画像認識及び視覚タスクで最先端のパフォーマンスをもたらした。これらの成果のほとんどは、複雑な階層的特徴表現を学習可能なCNNの使用に帰し得る。
【0004】
[0004] エッジコンピューティングアプリケーションでの機械学習の使用が増えるにつれ、例えば、消費電力、計算効率及び待ち時間を含む効率の問題により重点が置かれ得る。したがって、画像処理を含むエッジコンピューティングアプリケーション用の機械学習コンポーネントの効率を高める必要がある。
【発明の概要】
【0005】
[0005] 以下は、本開示のある態様の簡略化された概要を提示してそうした態様の基本的な理解を提供する。この概要は、本開示のすべての熟慮された特徴の広範な概要ではなく、本開示のすべての態様の基本的又は重要な要素を識別することも、本開示のいずれか又はすべての態様の範囲を描写することも意図されていない。その唯一の目的は、後に提示されるより詳細な説明の前置きとして、本開示のある態様の様々な概念を、簡略化した形式で提示することである。
【0006】
[0006] 一態様では、本開示は、センサ画像データを直接処理するためのシステムを提供し、当該システムは、画像をキャプチャし、かつ、生ベイヤー形式の対応の画像データを生成するように構成されたセンサと、センサに結合され、かつ、生ベイヤー形式の画像データから直接、画像解析を生成するように構成された畳み込みニューラルネットワーク(CNN)と、を備える。
【0007】
[0007] 一態様では、CNNは、画像分類又は物体検出のうちの少なくとも1つを実行するように構成される。
【0008】
[0008] 一態様では、CNNは、生ベイヤー形式のグラウンドトルース画像を使用して、RGB画像を生ベイヤー形式の推定画像に変換するように構成された生成モデルを使用して訓練され、生成モデルは、ラベルを使用せず、生ベイヤー形式の画像データを使用して訓練された。
【0009】
[0009] 一態様では、生成モデルは、生ベイヤー形式のラベル付けされた画像データセットを生成するように構成される。
【0010】
[0010] 一態様では、CNNは、生ベイヤー形式のラベル付けされた画像データセットを使用して訓練された。
【0011】
[0011] さらに別の態様では、本開示は、センサ画像データを直接処理するための方法を提供し、当該方法は、生ベイヤー形式の画像データを受信するステップと、生ベイヤー形式の画像データから直接、画像解析を生成するステップと、を含む。
【0012】
[0012] 別の態様では、本開示は、センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練するように構成された生成モデルを訓練するためのシステムを提供し、当該システムは、生ベイヤー形式のラベル付けされていないグラウンドトルース画像を受信し、かつ、RGB形式の画像を生成するように構成された画像信号処理(ISP)回路と、RGB形式の画像を受信し、かつ、生ベイヤー形式の推定生画像を生成するように構成された生成モデルと、生ベイヤー形式のラベル付けされていないグラウンドトルース画像と推定生画像とを受信し、かつ、ラベル付けされていないグラウンドトルース画像と推定生画像との間のエラーを生成するように構成されたエラー生成回路と、を備え、生成モデルは、エラーの逆伝播に基づいて訓練するように構成される。
【0013】
[0013] 一態様では、生成モデルは、オートエンコーダ、変分オートエンコーダ又は敵対的生成ネットワーク(GAN)のうちの少なくとも1つを備える。
【0014】
[0014] 一態様では、エラー生成回路は、損失関数、交差エントロピー損失関数又は平均二乗損失関数のうちの少なくとも1つを実行するように構成される。
【0015】
[0015] 一態様では、生成モデルは、機械学習を使用して訓練するように構成される。
【0016】
[0016] 一態様では、生成モデルは、生成モデルの1以上の重みを更新することによってエラーの逆伝播に基づいて訓練するように構成される。
【0017】
[0017] 一態様では、生成モデルは、U-Netアーキテクチャを有する畳み込みニューラルネットワーク(CNN)を備える。
【0018】
[0018] 一態様では、生成モデルは、エンコーダ層及びデコーダ層を備える修正されたU-Netアーキテクチャを有する畳み込みニューラルネットワーク(CNN)を備え、生成モデルは、スケーリングされた入力画像を生成し、かつ、エンコーダ層及びデコーダ層の各々に入力画像を渡すように構成される。
【0019】
[0019] さらに別の態様では、本開示は、センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練するように構成された生成モデルを訓練するための方法を提供し、当該方法は、生ベイヤー形式のラベル付けされていないグラウンドトルース画像を受信するステップと、ラベル付けされていないグラウンドトルース画像に対応するRGB形式の画像を生成するステップと、生成モデルで、RGB形式の画像を受信するステップと、生成モデルで、RGB形式の画像に対応する生ベイヤー形式の推定生画像を生成するステップと、ラベル付けされていないグラウンドトルース画像と推定生画像との間のエラーを生成するステップと、生成モデルで、エラーの逆伝播に基づいて訓練するステップと、を含む。
【0020】
[0020] 一態様では、訓練するステップは、生成モデルの1以上の重みを更新するステップを含む。
【0021】
[0021] さらに別の態様では、本開示は、センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練するためのシステムを提供し、当該システムは、エラー生成回路と、RGB形式の画像を受信し、かつ、生ベイヤー形式の対応の画像を生成するように構成された訓練済み生成モデルと、生ベイヤー形式の画像を受信し、かつ、推定ラベルを生成するように構成されたCNNと、を備え、エラー生成回路は、RGB形式の画像に含まれるパターンに対応する既知ラベルを受信し、CNNから推定ラベルを受信し、かつ、推定ラベルと既知ラベルとの間のエラーを生成するように構成され、CNNは、エラーの逆伝播に基づいて訓練するように構成される。
【0022】
[0022] 一態様では、RGB形式の画像は既知ラベルを備える。
【0023】
[0023] 一態様では、生ベイヤー形式の画像はラベル付けされていない。
【0024】
[0024] 一態様では、エラー生成回路は、損失関数、交差エントロピー損失関数又は平均二乗損失関数のうちの少なくとも1つを実行するように構成される。
【0025】
[0025] 一態様では、生成モデルは機械学習を使用して訓練された。
【0026】
[0026] 一態様では、CNNは、CNNの1以上の重みを更新することによってエラーの逆伝播に基づいて訓練するように構成される。
【0027】
[0027] さらに別の態様では、本開示は、センサ画像データを直接処理するために畳み込みニューラルネットワーク(CNN)を訓練する方法を提供し、当該方法は、RGB形式の既知ラベル付きの画像を受信するステップと、RGB形式の画像に対応する生ベイヤー形式の画像を生成するステップと、CNNで、生ベイヤー形式の画像に基づいて推定ラベルを生成するステップと、推定ラベルと既知ラベルとの間のエラーを生成するステップと、CNNで、エラーの逆伝播に基づいて訓練するステップと、を含む。
【0028】
[0028] 一態様では、訓練するステップは、CNNの1以上の重みを更新するステップを含む。
【0029】
[0029] さらに別の態様では、本開示は、センサ画像データを直接処理するための方法を提供し、当該方法は、生ベイヤー形式のグラウンドトルース画像を使用して生ベイヤー形式の推定画像にRGB画像を変換するために生成モデルを訓練するステップと、訓練済み生成モデルを使用して、ラベル付けされたRGB画像データセットから生ベイヤー形式のラベル付けされたデータセットを生成するステップと、畳み込みニューラルネットワーク(CNN)が生ベイヤー形式のセンサ画像を直接処理するように構成されるように、ラベル付けされたベイヤーデータセットを使用してCNNを訓練するステップと、訓練済みCNNを使用して、センサによってキャプチャされた生ベイヤー形式の画像データから直接、画像解析を生成するステップと、を含む。
【0030】
[0030] さらに別の態様では、本開示は、センサ画像データを直接処理するための装置を提供し、当該装置は、生ベイヤー形式の画像データを受信するための手段と、生ベイヤー形式の画像データから直接、画像解析を生成するための手段と、を備える。
【0031】
[0031] さらに別の態様では、本開示は、センサ画像データを直接処理するためのシステムを提供し、当該システムは、画像をキャプチャし、かつ、生RGB形式の対応の画像データを生成するように構成されたセンサと、センサに結合され、かつ、生RGB形式の画像データから直接、画像解析を生成するように構成された畳み込みニューラルネットワーク(CNN)と、を備える。
【図面の簡単な説明】
【0032】
図1】[0032] 画像信号処理(ISP)パイプラインと、ISPパイプラインを介して生成されたRGB入力画像を使用して画像解析を生成するディープラーニングコンポーネントと、を含む間接画像処理システムのブロック図を示している。
図2a】[0033] ベイヤーパターンのサンプルピクセル表現を示している。
図2b】[0033] 生ベイヤー画像のサンプルピクセル表現を示している。
図2c】[0033] 結果として得られるRGB画像のサンプルピクセル表現を示している。
図3】[0034] 本開示のある態様に係る、センサからの生ベイヤー画像データに直接、画像解析を生成する単一ディープラーニングコンポーネント(例えば、CNN)を含む直接変換画像処理システムのブロック図である。
図4】[0035] 本開示のある態様に係る、例示的なカラーフィルタアレイと、異なるカラーフィルタアレイで使用可能な様々な色の組み合わせ形式と、を示している。
図5】[0036] 本開示のある態様に係る、センサからの生ベイヤー画像データを使用して画像解析を生成する単一畳み込みニューラルネットワーク(CNN)を含む直接変換画像処理システムのブロック図である。
図6】[0037] 本開示のある態様に係る、センサからの生ベイヤー画像データから直接、画像解析を生成するためのプロセスのフローチャートである。
図7】[0038] 本開示のある態様に係る、RGB画像を推定生ベイヤー画像にマッピングし、かつ、直接画像変換のためにCNNを訓練するのを助けるように構成された生成モデルのブロック図である。
図8】[0039] 本開示のある態様に係る、直接画像変換のためにCNNを訓練するのを助けることができる生成モデルを訓練するための例示的な訓練システムのブロック図である。
図9】[0040] 本開示のある態様に係る、直接画像変換のためにCNNを訓練するのを助けることができる生成モデルを訓練するためのプロセスのフローチャートである。
図10】[0041] 本開示のある態様に係る、訓練済み生成モデルを使用して直接画像変換のためにCNNを訓練するための例示的な訓練システムのブロック図である。
図11】[0042] 本開示のある態様に係る、訓練済み生成モデルを使用して直接画像変換のためにCNNを訓練するためのプロセスのフローチャートである。
図12】[0043] 本開示のある態様に係る、生成モデルを訓練し、及びその後、訓練済み生成モデルを使用して直接画像変換のためにCNNを訓練するための全体的なプロセスのフローチャートである。
図13】[0044] 本開示のある態様に係る、生成モデルの例示的なアーキテクチャを訓練するための例示的な訓練システムのブロック図である。
図14】[0045] 本開示のある態様に係る、異なるカラーフィルタアレイ(CFA)パターンの各々から単一CFAパターン(例えば、RGGB)を抽出するための4つの異なる例示的なCFAパターン及び様々な手法を示している。
図15】[0046] 本開示のある態様に係る、訓練プロセス全体を通じて単一CFAパターン(例えば、RGGB)を維持するためにピクセルの選択範囲を選択する方法を示している。
図16】[0047] 本開示のある態様に係る、生成モデルのオートエンコーダとして使用可能な例示的なU-Net CNNアーキテクチャのブロック図である。
図17】[0048] 本開示のある態様に係る、生成モデルのオートエンコーダとして使用可能な例示的な修正されたU-Net CNNアーキテクチャのブロック図である。
図18】[0049] 本開示のある態様に係る、直接画像変換を実行するように構成されたCNNに使用可能なパラメータをリストした表である。
図19】[0050] 本開示のある態様に係る、ベイヤー形式の画像データの画像解析への直接変換をサポート可能な装置のための例示的なハードウェア実装を示すブロック図である。
【発明を実施するための形態】
【0033】
[0051] ここで図面を参照すると、センサ画像データを直接処理するためのシステム及び方法が提示される。1つのそのようなシステムは、画像をキャプチャし、かつ、生ベイヤー形式の対応の画像データを生成するように構成されたセンサと、センサに結合され、かつ、生ベイヤー形式の画像データから直接、画像解析を生成するように構成された畳み込みニューラルネットワーク(CNN)と、を含む。最初に生センサ画像データを赤緑青(RGB)形式の画像データに変換し、及びその後、RGB画像データに処理を実行する図1に示すアプローチなどの他のアプローチと比較して、開示されたシステムはより効率的である。一態様では、生ベイヤー形式の画像データから直接、画像解析を生成可能なCNNを訓練するため、生ベイヤー形式のグラウンドトルース画像を使用してRGB画像を生ベイヤー形式の推定画像に変換するように構成された生成モデルが使用され得る。生成モデルが、訓練され、及びその後、CNNを訓練して、生ベイヤー画像形式が今日のカメラで最も一般的に使用されている生ベイヤー形式の画像データに含まれるパターン又は他の解析情報を識別するために使用され得る。生成モデル及びCNNを訓練するためのシステム及び方法が使用されて、生ベイヤー形式のセンサ画像データを直接処理するようにCNNを構成し得る。
【0034】
[0052] 図1は、画像信号処理(ISP)パイプライン104と、ISPパイプラインを介して生成されたRGB入力画像を使用して画像解析108を生成するディープラーニングコンポーネント106と、を含む間接画像処理システム(ISP)100のブロック図を示している。ISPは、センサ(例えば、カメラ)102から生センサデータ(例えば、生ベイヤー形式の画像データ)を受信する。写真が撮影されると、デジタルカメラ(例えば、カメラ102)は、最初に、画像センサから生ベイヤーピクセルアレイを生成し、生ベイヤーピクセルアレイではピクセルごとの1つの色のみが表される(サンプルピクセル表現については図2aを参照)。その後、生ベイヤー画像(図2bの例を参照)102が使用されて、一連の画像信号処理ステップを通じて(例えば、ISP104によって実行される)実際の画像(例えば、図2cのRGB画像)を再構築し得る。
【0035】
[0053] 図2a、図2b及び図2cは、それぞれ、ベイヤーパターン、生ベイヤー画像及び結果として得られるRGB画像のサンプルピクセル表現を示している。
【0036】
[0054] ここで図1に戻ると、従来のISPパイプライン(例えば、ISP104について示されるように)は、通常、最終的な可視画像を再構築するため、デモザイキング、色補正、RGBゲイン、自動露出、自動ホワイトバランス補正、絞り補正、ガンマ補正、2次元(2D)画像ノイズ除去、画像安定化及び魚眼レンズ歪み補正の一連のステップを含む。大部分のCNN(例えば、ディープラーニングコンポーネント106)の画像入力は、ISP104からの再構築画像(例えば、RGB画像)である。しかしながら、多くの用途の目標は、CNNが画像/ビデオ解析を抽出することであり、可視画像を構築又は再構築することではない。例えば、自動運転で物体検出モデルを使用する場合、境界ボックス及び物体カテゴリが次の動作を決定するのに役立ち、かつ、CNNモデルがほとんどの場合RGB画像を用いて訓練されるので、ISPステップのみが使用される。
【0037】
[0055] さらに、ISP104の使用は、リンギング効果、カラーモアレ、エイリアシングなどからのいくつかの画像アーティファクトを導入し得る。これらの2D効果はビデオストリームで誇張され得る。アーティファクトは、本質的に、CNNの訓練プロセスを困難にし、かつ、精度を低下させる。図1のISPパイプライン104は、いくつかのISP機能ブロックを示している。視覚的に許容可能な画像を生成するためにISP104によって使用される機能ブロックの数及び対応の処理は、処理された出力(例えば、待ち時間)を取得する際の総遅延に追加される。その後、得られたRGB画像はCNN106によって処理されて所望の画像/ビデオ解析を生成する。
【0038】
[0056] 本開示は、とりわけ、CNNが生ベイヤー画像から直接推論を実行し、ISPステップの必要性を回避し、及びそれによって、計算コストを節約し、待ち時間を改善することなどを提案する。
【0039】
[0057] 図3は、本開示のある態様に係る、センサからの生ベイヤー画像データ302に直接、画像解析306を生成する単一ディープラーニングコンポーネント(例えば、CNN)304を含む直接変換画像処理システム300のブロック図である。CNN304は、生ベイヤーカメラセンサデータ302を直接処理して画像/ビデオ解析306を生成する。このプロセスは、1つのCNNを使用してISP機能を実行し、かつ、別のCNNを使用して分類を実行するという普通のアプローチとはまったく異なる。一態様では、ここでの目標は、対応の生ベイヤーセンサ画像を直接処理することによって入力画像を分類する、RGB画像データを処理する元のCNNとほぼ同じサイズの1つのCNNを有することである。このCNNは、従来のISPステップを効率的にスキップし、かつ、待ち時間、バッテリ電力及びコンピューティング電力が制限されているエッジコンピューティングソリューションに大きな価値を付加することができる。
【0040】
[0058] 直接ベイヤー画像プロセッサとしてCNNを使用する際の1つの課題は、ラベル付けされて訓練に適した生ベイヤーセンサ画像がないことである。この問題に対処するため、本開示は、生成モデルを使用して、ラベル付けされていない生ベイヤー画像を訓練し、入力RGBデータセットが与えられた生ベイヤー画像を合成することを提案する。さらに本開示は、この訓練済み生成モデルを使用して、ラベル付けされたRGB画像データセットが与えられた生ベイヤー形式のラベル付けされた画像データセットを生成することを提案する。またさらに本開示は、ラベル付けされた生ベイヤー画像を使用して、生ベイヤー画像データを直接処理して物体検出及び識別などの画像解析を生成するモデル(例えば、CNN)を訓練することを提案する。生成モデルが使用されて、任意のRGBデータセットを生ベイヤーデータセットに変換し得る。CNN及び生成モデルは、一般向けのImageNetデータセットでテストされ、結果は非常に有望であった。実験的なセットアップが、非常に一般的であり、かつ、エッジコンピューティングの最適化から自動運転までの様々な用途を有する。一態様では、センサ302は生RGB画像データを生成することができ、CNN304は生RGB画像データを直接処理することができる。
【0041】
[0059] 図4は、本開示のある態様に係る、例示的なカラーフィルタアレイ402と、異なるカラーフィルタアレイで使用可能な様々な色の組み合わせ形式と、を示している。様々な色の組み合わせ形式には、RGGB404、BGGR406、GBRG408及びGRBG410を含む。ベイヤー/モザイクパターンは、従来のカメラによって使用されるカラーフィルタアレイの特定の配列を特定する。赤、緑及び青ピクセルをカメラセンサに配置可能な方法を示す4つの可能な配列/パターンがある。これらの配列は図4に示されている。一態様では、緑ピクセルの数は赤ピクセル又は青ピクセルの数と比較して常に2倍である。これは、人間の目が緑色光に対してより敏感であり、ほとんどのワンショットカラー(OSC)カメラが日中の使用のために設計されているからである。通常の日中のRGB画像の場合、緑チャネルは通常、人間の視覚システムが細部の大部分を知覚する輝度成分の適切な近似値である。
【0042】
[0060] 図5は、本開示のある態様に係る、センサ502からの生ベイヤー画像データを使用して画像解析506を生成する単一畳み込みニューラルネットワーク(CNN)504を含む直接変換画像処理システム500のブロック図である。CNN504は、直接認識のために生画像データに対する直接処理を提示し、それによって、ISPタスクを実行する必要性を回避する「Raw2Rec」と呼ばれ得る。図1は、ISPパイプラインの様々な機能ブロックを示しており、少なくともある態様では、当面のタスクが画像解析を実行することであり、かつ、画面に高品質の画像を表示しないことを考慮すると、そのパフォーマンスが回避され得る。特定の理論に拘束されるものではないが、これは、通常のRGB画像でモデルを単に訓練し、及びその後、センサから訓練済みモデルに生ベイヤー画像を提示するだけでは達成可能ではないと考えられている(例えば、生ベイヤー画像がRGB画像とは分布において統計的に大きく異なるので、それは機能しない)。また、(例えば、このような処理システムの計算及び必要メモリが大幅に増加するので)、一方がISPを計算して他方が通常の分類タスクを計算する、連続した構成で2つのCNNを転送することも不可能であると考えられている。したがって、一態様では、最適な解決策(例えば、図5に提示されるような)は、単一CNN(例えば、RGB画像を分類するCNNとほぼ同じ計算及びメモリ容量を有する)を使用して、生ベイヤー画像データから直接、分類のマッピング関数を学習することを伴い得る。理論的には、生ベイヤー画像は、RGB画像と同じくらいの量の情報を有する。したがって、単一CNNは、生ベイヤー画像から出力分類へのマッピング関数を学習することができる。
【0043】
[0061] Raw2Rec CNN504が正常に機能するための最大の課題の1つは、Raw2Recモデルを訓練することを含む。Raw2Rec CNN504を訓練することは、既存のラベル付けされた生ベイヤー画像データセットがないため非常に困難である。利用可能で一般向けで、かつ、訓練に十分に適しているほとんどのデータセットは、ラベル付けされたRGB画像を含むデータセットである。Raw2Rec CNNが生センサベイヤー画像を正常に処理するため、統計的性質を含め、実際の生センサベイヤー画像と非常によく似たラベル付けされたデータセットを用いて訓練することが最適である。生ベイヤー画像の特性の一部には、センサ光電ダイオードからの熱ノイズの存在、製造による変動、ドット抜け現象、温度、時間、他の物理的パラメータの違いによるノイズ特性の変動、色の変動及び色補正の必要性が含まれる。生ベイヤー画像を用いて訓練されたCNNは、モニタ上で視覚的に美しい外観をマッピングすることを学習する必要なしに、そのようなランダムなバリエーションで出力クラスの機能マッピングを学習する。これにより、ISPパイプラインを計算する必要がなくなり、それによって計算コストを節約し、このことが、電力の節約と、入力フレームが与えられたCNN出力の生成の待ち時間の削減につながる。
【0044】
[0062] 一態様では、Raw2Rec CNN504は、上述した設計ガイドラインの1以上を満たしている。一態様では、CNN504は、サービスに供される前に、別の構成の別のコンポーネント(例えば、生成モデル)を使用して訓練され得る。これについては以下で詳しく説明する。一態様では、CNN504は、画像分類及び/又は物体検出/識別/認識を実行するように構成されることができる。
【0045】
[0063] 一態様では、Raw2Rec CNN及び生成モデルは、入力が生ベイヤー画像ではなく生RGB画像であっても同じことを実行することができる。一部のハイエンドカメラも、生RGB画像を生成し、かつ、視覚的に正しいRGB画像を実現するために同様のISP機能を必要とする。
【0046】
[0064] 図6は、本開示のある態様に係る、センサからの生ベイヤー画像データから直接、画像解析を生成するためのプロセス600のフローチャートである。一態様では、プロセス600は、図5のRaw2Rec CNN504によって実行されることができる。ブロック602において、プロセスは、生ベイヤー形式の画像データを受信する。一態様では、この画像は、生ベイヤー形式の対応の画像データを生成するセンサを使用してキャプチャされ得る。一態様では、これは、カメラ又は図5のセンサ502などの他のセンサによって実行されることができる。ブロック604において、プロセスは、生ベイヤー形式の画像データから直接、画像解析を生成する。一態様では、これ及びブロック602の動作は、図5のCNN504などのCNNによって実行されることができる。一態様では、画像解析は、画像分類、物体検出又は機械学習を使用して生成可能な他のいくつかの有用な画像解析を含むことができる。一態様では、プロセスは、複数のステップを使用して画像解析を生成する。これらのステップは、通常のCNNのステップであり、通常のCNNのステップには、畳み込み層が特徴を抽象化する一方で、その後の完全接続層又はFC層が分類タスクを実行するなどの動作が含まれる。畳み込み層は階層的に実行することができる。最初の畳み込み層は、エッジ検出フィルタに類似した基本的な特徴を抽象化し、その後の層は、これらの特徴に基づいて階層的な特徴を抽象化する。さらに、ディープCNNの後者の畳み込み層は、下位の畳み込み層で検出された特徴からさらに高レベルの特徴を構築することができる。より深いCNNの訓練は困難なタスクになるので、層の数を増やしても、必ずしもパフォーマンスが向上するとは限らない。
【0047】
[0065] 図7は、本開示のある態様に係る、RGB画像702を推定生ベイヤー画像706にマッピングし、かつ、直接画像変換のためにCNNを訓練するのを助けるように構成された生成モデル704のブロック図である。生成モデル704は、オートエンコーダ、変分オートエンコーダ及び敵対的生成ネットワーク(GAN)のうちの1以上を使用して実装され得る。訓練セットが与えられると、生成モデルは、訓練セットと同じ統計を用いて新しいデータを生成することを学習することができる。オートエンコーダ及び変分オートエンコーダは、生成された画像の全体的なエラーを低減することによって、推定生ベイヤー対応物に対するRGB画像のマッピングを学習することができる。GANは、特に画像作成の領域で最先端の結果を生み出すように示されている。GANの基本原理は、ジェネレータのファミリとディスクリミネータのファミリとの間の敵対的ゲームを通じて目的関数を最適化することによって、所定のデータセットの未知の分布を近似することである。GANの中心的な考え方は、ディスクリミネータを通じた「間接的な」訓練に基づいており、ディスクリミネータ自体も動的に更新される。これは基本的に、ジェネレータが特定の画像までの距離を最小化するように訓練されているのではなく、ディスクリミネータをだますように訓練されていることを意味する。これにより、モデルは教師なしで学習することができる。
【0048】
[0066] 図8は、本開示のある態様に係る、直接画像変換のためにCNNを訓練するのを助けることができる生成モデル808を訓練するための例示的な訓練システム800のブロック図である。一態様では、訓練システム800は、生成モデル808を訓練するための実験的な設定とみなされることができる。生ベイヤーセンサ画像802が与えられると、ISP804はRGB画像806を生成し、生成モデル808は、その後、RGB画像806から導出された生センサベイヤー画像810を予測し、その生センサベイヤー画像810が、その後、損失関数812(例えば、エラー生成回路)を使用して生ベイヤーセンサ画像と比較される。その後、損失関数812は、生成モデル808の重みを更新するために逆伝播されるエラーを生成する。これらのステップは、1回の訓練反復を表し、かつ、繰り返される。ISP804は、生ベイヤー入力画像からRGB画像にマッピングするためのよく知られたマッピング関数を実装する。ISP804は固定関数であり得るので、生成モデル808は完全に教師なしで訓練することができる。これにより、実験的な設定が実用的になり、実際には、ラベル付けされた生ベイヤー画像と比較して、ラベル付けされていない生ベイヤー画像が簡単に利用可能であり、ラベル付けされたRGB画像がたくさんある。使用可能な通常の損失関数は交差エントロピー損失関数であるが、他の適切な損失関数も同様に機能する。
【0049】
[0067] 一態様では、生ベイヤー画像は生RGB画像に置換されることができる。そのような場合、図8に記載された訓練プロセスは変更されない。
【0050】
[0068] 図9は、本開示のある態様に係る、直接画像変換のためにCNNを訓練するのを助けることができる生成モデルを訓練するためのプロセス900のフローチャートである。一態様では、プロセス900は、図8のシステム800を使用して実行されることができる。ブロック902において、プロセスは、生ベイヤー形式のラベル付けされていないグラウンドトルース画像を受信する。ブロック904において、プロセスは、ラベル付けされていないグラウンドトルース画像に対応するRGB形式の画像を生成する。一態様では、図8のISP804はブロック902及び904の動作を実行することができる。ブロック906において、プロセスは、生成モデルで、RGB形式の画像を受信する。ブロック908において、プロセスは、生成モデルで、RGB形式の画像に対応する生ベイヤー形式の推定生画像を生成する。一態様では、図8の生成モデル808はブロック906及び908の動作を実行することができる。ブロック910において、プロセスは、ラベル付けされていないグラウンドトルース画像と推定生画像との間のエラーを生成する。一態様では、図8の損失関数812はこの動作を実行することができる。ブロック912において、プロセスは、生成モデルで、エラーの逆伝播に基づいて訓練する。このプロセスは、反復的であり、かつ、事前に選択されたレベルの訓練又は精度に達するまで繰り返し得る。
【0051】
[0069] 図10は、本開示のある態様に係る、訓練済み生成モデル1004を使用して直接画像変換のためにCNN1008(Raw2Rec)を訓練するための例示的な訓練システム1000のブロック図である。CNN訓練システム1000は、RBG画像1002(例えば、ラベル付けされたImageNet)のデータセットと、RBG画像1002を受信して推定ベイヤーパターン画像1006(例えば、ラベル付けされていない画像)を生成する訓練済み生成モデル1004と、推定ベイヤーパターン画像1006を受信して推定ラベルを生成するCNN1008と、を含む。CNN訓練システム1000は損失関数1010も含み、損失関数1010は、RBG画像データセット1002から推定ラベル及び正解ラベル1012を受信し、CNN1008に逆伝播されるエラーを生成する。
【0052】
[0070] Raw2Rec CNN1008の訓練は教師つきであり得、訓練時、モデル1008に、画像と、その予想される出力クラス、ラベルとが提示される。その後、モデル1008は、複数の反復にわたってマッピング関数を学習し、反復ごとに重みを更新することにより、損失関数によって生成されるエラーを低減する。一態様では、損失関数1010は、交差エントロピー損失関数を使用して実装されることができる。この設定は、図10に示すように、生成モデルを訓練するための図8の設定と併せて、Raw2Rec CNNの訓練が、ラベル付けされた生ベイヤー画像データセットなしで生ベイヤー画像データを直接処理することを可能にする。代わりに、教師なし学習手法が生成モデルに使用されて、ラベル付けされていない生ベイヤーデータセットを所有することのみによって、ラベル付けされた推定ベイヤーデータセットを生成する。一態様では、少量の生ベイヤー画像が手動でラベル付けされて、図8及び図10に示す組み合わされた実験的な設定の健全性をチェックすることができる。したがって、このCNN訓練システム1000及び/又は生成モデル訓練システム800を使用することにより、Raw2Rec CNN1008の訓練に使用可能な既存のラベル付けされたRGBデータセットがたくさんあるので、利点を提供する。
【0053】
[0071] 一態様では、損失関数1010(例えば、エラー生成回路)は、損失関数、交差エントロピー損失関数又は平均二乗損失関数のうちの1以上を使用して実装されることができる。
【0054】
[0072] 一態様では、生ベイヤー画像が生RGB画像に置換されることができる。そのような場合、図10に記載された訓練プロセスは変更されない。
【0055】
[0073] 図11は、本開示のある態様に係る、訓練済み生成モデルを使用して直接画像変換のためにCNNを訓練するためのプロセス1100のフローチャートである。一態様では、プロセス1100は、図10のCNN訓練システム1000によって実行されることができる。ブロック1102において、プロセスは、RGB形式の既知ラベルを有する画像を受信する。一態様では、この動作は、図10の訓練済み生成モデル1004によって実行されることができ、訓練済み生成モデル1004は、RGB画像(又はデータセット)1002及び関連/対応のラベル1012を受信する。ブロック1104において、プロセスは、RGB形式の画像に対応する生ベイヤー形式の画像を生成する。一態様では、この動作は、推定ベイヤーパターン画像1006を生成する際に、図10の訓練済み生成モデル1004によって実行されることができる。
【0056】
[0074] ブロック1106において、プロセスは、CNNで、生ベイヤー形式の画像に基づいて推定ラベルを生成する。一態様では、これは、図10のCNN1008によって実行されることができる。ブロック1108において、プロセスは、推定ラベルと既知ラベルとの間のエラーを生成する。一態様では、これは、図10の損失関数1010によって実行されることができる。ブロック1110において、プロセスは、CNNで、エラーの逆伝播に基づいて訓練する。一態様では、これは、CNNモデル1008の1以上の重みを更新するステップを伴う。
【0057】
[0075] 図12は、本開示のある態様に係る、生成モデルを訓練し、及びその後、訓練済み生成モデルを使用して直接画像変換のためにCNNを訓練するための全体的なプロセス1200のフローチャートである。一態様では、プロセス1200は、図8図10及び図5のシステムを使用して実行されることができる。ブロック1202において、プロセスは、生成モデルを訓練して、生ベイヤー形式のグラウンドトルース画像を使用して、RGB画像を生ベイヤー形式の推定画像に変換する。一態様では、これは図8のシステムによって実行されることができる。ブロック1204において、プロセスは、訓練済み生成モデルを使用して、ラベル付けされたRGB画像データセットから生ベイヤー形式のラベル付けされたデータセットを生成する。一態様では、これは図10のシステムによって実行されることができる。ブロック1206において、プロセスは、畳み込みニューラルネットワーク(CNN)が生ベイヤー形式のセンサ画像を直接処理するように構成されるように、ラベル付けされたベイヤーデータセットを使用してCNNを訓練する。一態様では、これは図10のシステムによって実行されることができる。ブロック1208において、プロセスは、訓練済みCNNを使用して、センサによってキャプチャされた生ベイヤー形式の画像データから直接、画像解析を生成する。一態様では、これは図5のシステム(例えば、Raw2Rec CNN504)によって実行されることができる。
【0058】
[0076] 図13は、本開示のある態様に係る、生成モデルの例示的なアーキテクチャを訓練するための例示的な訓練システム1300のブロック図である。図8と同様に、例示的なアーキテクチャ1300は、生ベイヤーセンサ画像1302が与えられると、ISP1304がRGB画像1306を生成し、及びその後、生成モデル1308が生センサベイヤー画像1310を予測し、その後、損失関数1312(例えば、エラー生成回路)を使用して生センサベイヤー画像1310が生ベイヤーセンサ画像と比較されるように機能する。その後、損失関数1312は、生成モデル1308の重みを更新するために逆伝播されるエラーを生成する。これらのステップは、1回の訓練反復を表し、かつ、繰り返される。
【0059】
[0077] 図13の実験的な設定は、例示的な生成モデル1308を訓練して、RGB画像1306から推定生センサベイヤー画像1310へのマッピング関数を学習するために使用される。モデルは、ベイヤーパターン1314及びホワイトノイズ1316も入力する。エンコーダアームの第2アームは、ベイヤーパターンに関する実際のベイヤーセンサデータに存在するノイズ変数のマッピングを学習する。両方のエンコーダからの結合された潜在空間は、最終的な出力画像をマッピングするデコーダにフィードする前に結合される。U-Netモデルからの一般的なエンコーダ及びデコーダがそれぞれのエンコーダ及びデコーダコンポーネントに使用され、交差エントロピー損失関数が実験に使用された。他の適切なコンポーネントも同様に使用されることができる。一態様では、生成モデル1308は、ImageNetデータセット全体にわたって訓練されることができる。図16には、生成モデル1308で使用可能な標準的なU-Netモデルが示されている。図17には、生成モデル1308で使用可能な最適化されたバージョンのU-Netが示されている。
【0060】
[0078] 図14は、本開示のある態様に係る、4つの異なる例示的なカラーフィルタアレイ(CFA)パターンと、異なるCFAパターン(1402、1404、1406、1408)の各々から単一のCFAパターン(例えば、RGGB)を抽出するための様々な技術と、を示している。図14は、4つのパターンのいずれかをRGGBパターンに変換し、及びその後、変換されたRGGBパターンをRaw2Rec CNNに供給する方法を効果的に示している。一態様では、ピクセルシフト演算は、GBRG、BGGR又はGRRBパターンのいずれかに対して実行されて、図14の例に示すようなRGGBベイヤーパターンを達成する。
【0061】
[0079] CFAでサポートされている4つの一般的なベイヤーパターンを示す図4に一時的に戻る。図5に示すような(又は他の図面のいずれかの)Raw2Rec CNNモデルは、基本的に実行時に4つのベイヤーパターンのいずれかを受信することができる。可能なCFAベイヤーパターンの各々について生成モデルの別個のモデルを訓練することは困難な作業になる。したがって、本開示は、単一ベイヤーパターンを使用して生成モデルを訓練し、及び実行時、必要に応じて入力ベイヤー画像を適合させることを提案する。一例では、生成モデルはRGGBパターンのみを用いて訓練され、及び従って、システムは実行時にRaw2Rec CNNの入力でRGGBパターンを入力するだけで済む。上述したように、図10は、4つのパターンのいずれかをRGGBパターンに変換し、及びその後、変換されたRGGBパターンをRaw2Rec CNNに供給する方法を示している。
【0062】
[0080] 図15は、本開示のある態様に係る、訓練プロセス全体を通して単一CFAパターン(例えば、RGGB)を維持するためにピクセルの選択範囲を選択する方法を示している。データ拡張は、画像のフリッピング、画像の+90度又は-90度の回転及び/又は画像のクロッピングを伴う、訓練での標準的な方法になっている。これはすべて、より大きな訓練データセットを生成するのに役立つ。デフォルトの訓練パターンとしてRGGBベイヤーパターンが選択されたので、図15は、訓練を通じてRGGBパターンを維持するためにピクセルの選択範囲を選択する方法を示している。重要なことは、ピクセルシフトを実行すること、及び、画像が訓練に使用される前に所望のRGGBパターンを抽出することである。同じ原則が、画像を+90度又は-90度回転させてクロッピングする場合にも当てはまる。
【0063】
[0081] 図16は、本開示のある態様に係る、生成モデルのためのオートエンコーダとして使用可能な例示的なU-Net CNNアーキテクチャのブロック図である。一態様では、このアーキテクチャは、図13の生成モデル1308で使用されることができる。より具体的には、図13に示す例示的な生成モデル1308は、U-Netアーキテクチャからのエンコーダ(図16の垂直破線の左側のすべてのコンポーネント)及びデコーダ(図16の垂直破線の右側のすべてのコンポーネント)を使用する。標準的なU-Netモデルが図16に提示される。図16において、各灰色ボックスはマルチチャネル特徴マップに対応し、各ボックスは、水平及び垂直ディメンション(AxB)、並びに、「a」層及び層内の「b」位置に対応する深さC(a、b)によって示される。
【0064】
[0082] U-Netは、様々な画像強調技術を実行するための、かつ、医用画像において、最も一般的なオートエンコーダモデルの1つである。U-Netの入力画像は、プーリング層を使用したデシメーション前に様々な畳み込み層を通過する。このプロセスは、エンコーダ側でデシメーション機能が4回達成されるまで続く。デシメーション層の各々は、エンコーダ及びデコーダの両方でスケールとみなされる。各スケール層の出力はエンコーダ側からデコーダ層に渡される。これは、4つの畳み込み層の出力を格納すること、及び、異なる時間に同じスケールでデコーダ層において消費されることが必要とする。これによって、(例えば、実行時に)中間データのストレージ要件が増加する。これは、あらゆるエンコーダ-デコーダ構造に一般的である。U-Netアーキテクチャは、エンコーダからデコーダにデータを渡すことが、膨大なストレージ要件を犠牲にした訓練に非常に役立つことを最初に示した。図16は、U-Netモデルによって使用されるすべてのパラメータを示している。
【0065】
[0083] 図17は、本開示のある態様に係る、生成モデルのオートエンコーダとして使用可能な例示的な修正されたU-Net CNNアーキテクチャのブロック図である。一態様では、このアーキテクチャは、図13の生成モデル1308で使用されることができる。図17には、修正されたU-Netアーキテクチャが提示される。図17において、各灰色ボックスはマルチチャネル特徴マップに対応し、各ボックスは、水平及び垂直ディメンション(AxB)、並びに、「a」層及び層内の「b」位置に対応する深さC(a、b)によって示される。
【0066】
[0084] このアーキテクチャでは、我々は、入力を様々なサイズにスケーリングし、かつ、スケーリングされた入力画像を、エンコーダ(図17の垂直破線の左側のすべてのコンポーネント)及びデコーダ(図17の垂直破線の左側のすべてのコンポーネント)のスケール層の各々に渡す。この方法では、修正されたアーキテクチャは、通常のU-Netとは対照的に、計算された出力のボリュームをエンコーダ層からデコーダ層に送信することを回避する。その結果、システムは、スケール層の各々に大量のデータを格納し、そのデータをエンコーダ層からデコーダ層に渡すことを回避する。これにより、従来のオートエンコーダ構造により近いアーキテクチャを実現するが、スケーリングされた入力画像をエンコーダ及びデコーダに渡すことによって、アーキテクチャは、パフォーマンスを大幅に向上させ、かつ、全体的な訓練時間を短縮する。最大でも、この手法は、入力のチャネル数だけ、エンコーダ及びデコーダのすべてのスケール層のチャネル数を増やすだけである。すべてのスケールでのチャネル数の増加が望ましくないと仮定すると、各層で、前の層の出力がこれと同じ量だけ減らされて、全体的な計算コストを同じに保つことができる。エンコーダ及びデコーダで必要な様々な入力画像の解像度は、事前に計算される、又は、メモリ使用量を計算と交換する目的に基づいて、それが必要とされる場所で計算されることができ、逆もまた同様である。別の実装では、各エンコーダ層及びデコーダ層で入力画像のスケーリングされたコピーを使用する代わりに、スケーリングされたコピーがデコーダ層でのみ使用されることができる。これにより、計算及び必要メモリをさらに削減する。このような妥協により、パフォーマンスの低下は最小限に抑えられる。
【0067】
[0085] 一態様では、生成モデルは、エンコーダ層及びデコーダ層を含む修正されたU-Netアーキテクチャ(図17のように)を有する畳み込みニューラルネットワーク(CNN)を含み、生成モデルは、スケーリングされた入力画像を生成し、かつ、入力画像をエンコーダ層及びデコーダ層の各々に渡すように構成される。図17の修正されたU-Netアーキテクチャは、通常のU-Netの場合のように、エンコーダの様々なステージからデコーダ側に出力を渡す必要性を排除する。概して、オートエンコーダは、分類CNNの対応するものの2倍の深さである。これはそれらを訓練することを非常に難しくする。エンコーダからデコーダへの出力の受け渡しは、エンコーダ出力データの格納に関して高価であり、かつ、デコード時の計算コストを増加させるU-Netから着想を得て、文献で広く使用されている。スケーリングされた入力画像をエンコーダ及びデコーダの様々なステージに渡すこの方法は、デコード時の格納コスト及び計算コストを大幅に節約する。興味深いことに、通常のオートエンコーダよりもはるかに高速にオートエンコーダを訓練するのにも役立つ。
【0068】
[0086] 図18は、本開示のある態様に係る、直接画像変換を実行するように構成されたCNNに使用可能なパラメータをリストした表である。より具体的には、表1又は図18は、例示的なRaw2Rec CNN(例えば、図5のRaw2Rec CNN504など)のモデル比較パラメータを説明している。例えば512x512x1ベイヤー画像の入力ディメンションが想定され、出力は1000クラスの分類である。表1で説明されているモデルはDarkNet-19と非常に似ている。元のDarkNet-19のパフォーマンスは、76.4%のTop-1精度、93.5%のTop-5精度であった。Raw2rec CNNモデルは、元のモデルと比較して、同じ計算及び低い必要メモリで、生ベイヤー入力画像で75.8%のTop-1精度と92.4%のTop-1精度を達成する。同様のパフォーマンス及びリソース要件があるので、我々の例のRaw2Rec CNNモデルはISP機能を必要としない。
【0069】
[0087] 図19は、本開示のある態様に係る、ベイヤー形式の画像データの画像解析への直接変換をサポート可能な装置(例えば、Raw2Rec CNNなどの電子機器)1900の例示的なハードウェア実装を示すブロック図である。装置1900は、記憶媒体1902、ユーザインターフェース1904、メモリデバイス(例えば、メモリ回路)1906及び処理回路1908(例えば、少なくとも1つのプロセッサ)を含む。様々な実装では、ユーザインターフェース1904は、キーパッド、ディスプレイ、スピーカ、マイクロフォン、タッチスクリーンディスプレイ、ユーザから入力を受信する又はユーザに出力を送信するためのいくつかの他の回路のうちの1以上を含み得る。
【0070】
[0088] これらのコンポーネントは、図19の接続線によって全体的に表される信号バス又は他の適切なコンポーネントを介して、互いに結合される及び/又は電気的に通信するように配置されることができる。信号バスは、処理回路1908の特定の用途及び全体的な設計上の制約に応じて、任意の数の相互接続バス及びブリッジを含み得る。信号バスは、記憶媒体1902、ユーザインターフェース1904及びメモリデバイス1906の各々が処理回路1908に結合される及び/又は電気的に通信するように様々な回路を共にリンクさせる。信号バスはまた、タイミングソース、周辺機器、電圧レギュレータ及び電力管理回路などの様々な他の回路(図示せず)をリンクさせ得、これらは、当技術分野でよく知られており、及びしたがって、さらに説明されない。
【0071】
[0089] メモリデバイス1906は1以上のメモリデバイスを表し得る。ある実装では、メモリデバイス1906及び記憶媒体1902は共通のメモリコンポーネントとして実装される。メモリデバイス1906はまた、処理回路1908又は装置1900の他のコンポーネントによって処理されるデータを格納するために使用され得る。
【0072】
[0090] 記憶媒体1902は、プロセッサ実行可能コード又は命令(例えば、ソフトウェア、ファームウェア)、電子データ、データベース又は他のデジタル情報などの、プログラミングを格納するための1以上のコンピュータ可読、機械可読及び/又はプロセッサ可読デバイスを表し得る。記憶媒体1902はまた、プログラミングを実行するときに処理回路1908によって処理されるデータを格納するために使用され得る。記憶媒体1902は、携帯型又は固定式の記憶装置、光記憶装置、及び、プログラミングを格納、包含又は実行可能な他の様々な媒体を含む、汎用又は専用プロセッサによってアクセス可能な任意の利用可能な媒体であり得る。
【0073】
[0091] 限定ではなく例示として、記憶媒体1902は、磁気記憶装置(例えば、ハードディスク、フロッピーディスク(登録商標)、磁気ストリップ)、光ディスク(例えば、コンパクトディスク(CD)又はデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ、ソリッドステートドライブ(SSD))、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、並びに、コンピュータがアクセス及び読み取り可能なソフトウェア及び/又は命令を格納するための任意の他の適切な媒体を含み得る。記憶媒体1902は、製品(例えば、コンピュータプログラム製品)で具体化され得る。例示として、コンピュータプログラム製品は、包装材料内のコンピュータ可読媒体を含み得る。上記を考慮すると、ある実装では、記憶媒体1902は、非一時的な(例えば、有形の)記憶媒体であり得る。例えば、記憶媒体1902は、本明細書に記載されるような動作を実行するためのコードを含む、コンピュータ実行可能コードを格納する非一時的なコンピュータ可読媒体であり得る。
【0074】
[0092] 記憶媒体1902は、処理回路1908が記憶媒体1902から情報を読み取り、かつ、記憶媒体1902に情報を書き込むことができるように、処理回路1908に結合され得る。すなわち、記憶媒体1902は、少なくとも1つの記憶媒体が処理回路1908に不可欠である例、及び/又は、少なくとも1つの記憶媒体が処理回路1908とは別個である例(例えば、装置1900に固有である、装置1900の外部にある、複数のエンティティに分散されているなど)を含む、記憶媒体1902が処理回路1908によって少なくともアクセス可能であるように、処理回路1908に結合されることができる。
【0075】
[0093] 記憶媒体1902によって格納されたプログラミングは、処理回路1908によって実行されると、処理回路1908に、本明細書に記載の様々な機能及び/又はプロセス動作のうちの1以上を実行させる。例えば、記憶媒体1902は、処理回路1908の1以上のハードウェアブロックでの動作を調整するように構成された動作を含み得る。
【0076】
[0094] 処理回路1908は、概して、記憶媒体1902に格納されたそのようなプログラミングの実行を含む、処理に適合される。本明細書で使用される場合、「コード」又は「プログラミング」という用語は、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語として又は別途参照されるかに関わらず、命令、命令セット、データ、コード、コードセグメント、プログラムコード、プログラム、プログラミング、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、プロシージャ、関数などを含む、制限なく広く解釈される。
【0077】
[0095] 処理回路1908は、データを取得、処理及び/又は送信し、データのアクセス及び格納を制御し、コマンドを発行し及び他の所望の操作を制御するように構成される。処理回路1908は、少なくとも1つの例において適切な媒体によって提供される所望のプログラミングを実装するように構成された回路を含み得る。例えば、処理回路1908は、1以上のプロセッサ、1以上のコントローラ及び/又は実行可能プログラミングを実行するように構成された他の構成として実装され得る。処理回路1908の例は、本明細書に記載の機能を実行するように設計された、汎用プロセッサ、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は他のプログラマブルロジックコンポーネント、ディスクリートゲート又はトランジスタロジック、ディスクリートハードウェアコンポーネント又はそれらの任意の組み合わせを含み得る。汎用プロセッサには、マイクロプロセッサ、従来のプロセッサ、コントローラ、マイクロコントローラ又はステートマシンが含まれ得る。処理回路1908はまた、GPU及びマイクロプロセッサ、DSP及びマイクロプロセッサ、いくつかのマイクロプロセッサ、DSPコアと組み合わせた1以上のマイクロプロセッサ、ASIC及びマイクロプロセッサ、又は、任意の他の様々な構成の組み合わせなどのコンピューティングコンポーネントの組み合わせとして実装され得る。処理回路1908のこれらの例は例示のためのものであり、本開示の範囲内の他の適切な構成も考慮される。
【0078】
[0096] 本開示の1以上の態様によれば、処理回路1908は、本明細書に記載の装置のいずれか又はすべてについて、特徴、プロセス、機能、操作及び/又はルーチンのいずれか又はすべてを実行するように適合され得る。例えば、処理回路1908は、図5図6図10図11及び図12に関して説明されたステップ、機能及び/又はプロセスのいずれかを実行するように構成され得る。本明細書で使用される場合、処理回路1908に関連して「適合された」という用語は、本明細書に記載の様々な特徴に係る特定のプロセス、機能、操作及び/又はルーチンを実行するように構成、採用、実装及び/又はプログラミングされるの1以上である処理回路1908を指し得る。
【0079】
[0097] 処理回路1908は、図5図6図10図11及び図12に関連して説明した操作のいずれか1つを実行するための手段(例えば、構成)として機能するGPU又は特定用途向け集積回路(ASIC)などの専用プロセッサであり得る。処理回路1908は、そこに含まれる回路/モジュールのいずれかの機能を実行するための手段の一例として機能する。様々な実装では、処理回路1908は、図5図6図10図11及び図12の機械学習アーキテクチャについて上述した機能を少なくとも部分的に提供及び/又は組み込み得る。
【0080】
[0098] 装置1900の少なくとも1つの例によれば、処理回路1908は、生ベイヤー形式の画像データを受信するための回路/モジュール1910、生ベイヤー形式の画像データから直接、画像解析を生成するための回路/モジュール1912、及び/又は、他の適切な回路モジュールのうちの1以上を含み得る。様々な実装において、生ベイヤー形式の画像データを受信するための回路/モジュール1910、及び、生ベイヤー形式の画像データから直接、画像解析を生成するための回路/モジュール1912は、少なくとも部分的に、図5のCNN又は図10のCNNについて上述した機能を提供し得る。
【0081】
[0099] 上述したように、記憶媒体1902によって格納されたプログラミングは、処理回路1908によって実行されると、処理回路1908に、本明細書に記載の様々な機能及び/又はプロセス操作のうちの1以上を実行させる。例えば、プログラミングは、処理回路1908に、様々な実装で図5図6及び/又は図10に関して本明細書で説明された様々な機能、ステップ及び/又はプロセスを実行させ得る。図19に示すように、記憶媒体1902は、生ベイヤー形式の画像データを受信するための回路/モジュール1910、生ベイヤー形式で画像データから直接、画像解析を生成するための回路/モジュール1912及び/又は他の適切な回路モジュールについて本明細書で説明された機能を提供するために実行され得る又は他の方法で使用され得る、生ベイヤー形式の画像データを受信するためのコード1920、及び、生ベイヤー形式の画像データから直接、画像解析を生成するためのコード1922を含み得る。
【0082】
[00100] 本明細書に記載の例は、本開示の特定の概念を例示するために提供される。当業者は、これらが本質的に単なる例示であり、かつ、他の例が本開示及び添付の特許請求の範囲に属し得ることを理解するであろう。本明細書の教示に基づいて、当業者は、本明細書に開示される一態様が任意の他の態様から独立して実施され得ること、及び、これらの態様のうちの2以上が様々な方法で組み合わせられ得ることを理解すべきである。例えば、装置が実装され得る、又は、本明細書に記載の任意の数の態様を使用して方法が実施され得る。さらに、本明細書に記載の態様の1以上に加えて又はそれ以外の他の構成、機能、又は、構成及び機能を使用して、そうした装置が実施され得る又はそうした方法が実施され得る。
【0083】
[00101] 例えば、一態様では、Raw2Recとして構成された生成モデル又はCNNは、機械学習を使用して訓練するように構成され得る。
【0084】
[00102] 多くの態様は、例えば、コンピューティングデバイスの要素によって実行される一連の動作に関して説明される。本明細書で説明される様々な動作は、特定の回路、例えば、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)によって、若しくは、他の様々なタイプの汎用又は専用プロセッサ又は回路によって、1以上のプロセッサによって実行されるプログラム命令によって、若しくは、両方の組み合わせによって、実行可能であることが認識される。さらに、本明細書に記載のこれらの一連の動作は、実行時に関連のプロセッサに本明細書に記載の機能を実行させる対応のコンピュータ命令のセットをその中に格納した任意の形態のコンピュータ可読記憶媒体内に完全に具現化されるとみなされることができる。したがって、本開示の様々な態様は、いくつかの異なる形態で具体化され得、それらのすべては、特許請求された主題の範囲内にあると考えられてきた。さらに、本明細書に記載された態様の各々について、任意のそのような態様の対応の形態は、例えば、記載された動作を実行するように「構成された論理」として本明細書に記載され得る。
【0085】
[00103] 当業者は、情報及び信号が、様々な異なる技術及び手法のいずれかを使用して表され得ることを理解する。例えば、上記の説明全体を通じて参照され得るデータ、命令、コマンド、情報、信号、ビット、記号及びチップは、電圧、電流、電磁波、磁場又は磁性粒子、光場又は光粒子、若しくは、任意のそれらの組み合わせによって表され得る。
【0086】
[00104] さらに、当業者は、本明細書に開示される態様に関連して説明される様々な例示的な論理ブロック、モジュール、回路及びアルゴリズムのステップが、電子ハードウェア、コンピュータソフトウェア又は両方の組み合わせとして実装され得ることを理解する。ハードウェア及びソフトウェアのこの互換性を明確に説明するため、様々な例示的なコンポーネント、ブロック、モジュール、回路及びステップが、一般にそれらの機能の観点から上述された。そうした機能がハードウェア又はソフトウェアとして実装されるどうかは、システム全体に課せられた特定の用途及び設計上の制約に依存する。当業者は、特定の用途ごとに様々な方法で説明された機能を実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【0087】
[00105] 上に例示したコンポーネント、ステップ、特徴及び/又は機能の1以上は、単一のコンポーネント、ステップ、特徴又は機能に再配列及び/又は組み合わせられ得る、若しくは、いくつかのコンポーネント、ステップ又は機能に具体化され得る。追加の要素、コンポーネント、ステップ及び/又は機能もまた、本明細書に開示される新規の特徴から逸脱することなく追加され得る。上に例示した装置、デバイス及び/又はコンポーネントは、本明細書に記載の方法、特徴又はステップのうちの1以上を実行するように構成され得る。本明細書に記載の新規のアルゴリズムはまた、ソフトウェアに効率的に実装され得る、及び/又は、ハードウェアに埋め込まれ得る。
【0088】
[00106] 開示された方法におけるステップの特定の順序又は階層は例示的なプロセスの例示であることが理解されるべきである。設計志向に基づいて、方法のステップの特定の順序又は階層が再配列され得ることが理解される。添付の方法の請求項は、サンプルの順序で様々なステップの要素を提示し、かつ、そこに具体的に列挙されていない限り、提示される特定の順序又は階層に限定されることを意味するものではない。
【0089】
[00107] 本明細書に開示される態様に関連して記載される方法、シーケンス又はアルゴリズムは、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュールで、又は、2つの組み合わせで具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM又は当技術分野で知られている他の形式の記憶媒体内に存在し得る。記憶媒体の一例は、プロセッサが記憶媒体から情報を読み取り、かつ、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに不可欠であり得る。
【0090】
[00108] 「例示的」という単語は、本明細書では、「一例、実例又は例示として役立つ」ことを意味するために使用される。本明細書で「例示的」と記載される態様は、必ずしも他の態様よりも好ましい又は有利であると解釈されるべきではない。同様に、「態様」という用語は、すべての態様が、議論された特徴、利点又は操作モードを含むことを必要としない。
【0091】
[00109] 本明細書で使用される用語は、特定の態様を説明することのみを目的としており、態様を限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」及び「the」は、文脈が明らかに別段示さない限り、複数形も含むことを意図している。本明細書で使用される場合、「備える」、「備えている」、「含む」又は「含んでいる」という用語は、述べた特徴、整数、ステップ、操作、要素又はコンポーネントの存在を特定するが、1以上の他の機能、整数、ステップ、操作、要素、コンポーネント又はそれらのグループの存在又は追加を排除するものではないことがさらに理解される。さらに、「又は」という単語は、ブール演算子「又は」と同じ意味を有する、すなわち、「いずれか」及び「両方」の可能性を包含し、かつ、別段明記されていない限り、「排他的論理和」(「XOR」)に限定されないことが理解される。また、隣接する2つの単語の間の記号「/」は、別段明記されていない限り、「又は」と同じ意味を有することも理解される。さらに、「に接続される」、「に結合される」、「通信する」などの語句は、別段明記されていない限り、直接的な接続に限定されない。
【0092】
[00110] 「第1」、「第2」等々などの指定を使用する本明細書での要素への言及は、一般に、それらの要素の量又は順序を限定するものではない。むしろ、これらの指定は、本明細書では、2以上の要素又は要素の実例を区別する簡便な方法として使用され得る。したがって、第1要素及び第2要素への言及は、2つの要素のみがそこで使用され得ること、又は、第1要素が何らかの方法で第2要素に先行しなければならないことを意味しない。また、別段明記されない限り、要素のセットは1以上の要素を含み得る。さらに、本説明又は特許請求の範囲で使用される「a、b又はcの少なくとも1つ」又は「a、b、c又はそれらの任意の組み合わせ」という形態の用語は、「a又はb又はc又はそれらの要素の組み合わせ」を意味する。例えば、この用語には、a、又はb、又はc、又はa及びb、又はa及びc、又はa及びb及びc、又は2a、又は2b、又は2c、又は2a及びb等々などが含まれ得る。
【0093】
[00111] 本明細書で使用される場合、「決定すること」という用語は、多種多様な動作を包含する。例えば、「決定すること」は、算出、計算、処理、導出、調査、検索(例えば、表、データベース、又は別のデータ構造での検索)、確認などを含み得る。また、「決定すること」は、受信(例えば、情報の受信)、アクセス(例えば、メモリ内のデータへのアクセス)などを含み得る。また、「決定すること」には、解決、選択、選ぶ、確立などが含まれ得る。
【0094】
[00112] 前述の開示は例示的な態様を示しているが、添付の特許請求の範囲から逸脱することなく、本明細書において様々な変更及び修正がなされ得ることに留意されたい。本明細書に記載の態様に係る方法請求項の機能、ステップ又は動作は、別段明示的に述べられていない限り、任意の特定の順序で実行される必要はない。さらに、要素は単数形で記載又は主張され得るが、単数形への限定が明示的に述べられていない限り、複数形が考慮される。
図1
図2a
図2b
図2c
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
【国際調査報告】