(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-15
(54)【発明の名称】照明スペクトル復元
(51)【国際特許分類】
G06T 7/00 20170101AFI20241108BHJP
G01N 21/27 20060101ALI20241108BHJP
【FI】
G06T7/00 350C
G01N21/27 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023534025
(86)(22)【出願日】2022-11-24
(85)【翻訳文提出日】2023-06-02
(86)【国際出願番号】 AU2022051404
(87)【国際公開番号】W WO2023092179
(87)【国際公開日】2023-06-01
(32)【優先日】2021-11-24
(33)【優先権主張国・地域又は機関】AU
(81)【指定国・地域】
(71)【出願人】
【識別番号】590003283
【氏名又は名称】コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ナリマン・ハビリ
(72)【発明者】
【氏名】ジェレミー・オールオフ
【テーマコード(参考)】
2G059
5L096
【Fターム(参考)】
2G059AA05
2G059BB08
2G059EE02
2G059EE12
2G059FF01
2G059HH02
2G059KK04
2G059MM01
2G059MM05
2G059MM09
2G059MM10
2G059NN05
5L096DA01
5L096GA55
5L096HA11
5L096KA04
(57)【要約】
本開示は、たとえばハイパースペクトル画像またはマルチスペクトル画像などの電子画像の処理に関する。特に、本開示は、デジタル画像の照明スペクトルを推定するための方法、ソフトウェア、およびコンピュータシステムを提供する。プロセッサは、ニューラルネットワークの1または複数の畳み込み層において3次元畳み込みを計算することによって、デジタル画像にニューラルネットワークを適用する。3次元畳み込みは、スペクトル次元に沿った畳み込みを備える。その後、プロセッサは、ニューラルネットワーク内の1または複数の畳み込み層に接続された出力層を評価する。出力層は、各々がデジタル画像の照明スペクトルのそれぞれの帯域の強度値を提供する複数の出力値を有する。
【特許請求の範囲】
【請求項1】
デジタル画像における照明スペクトルを決定するための方法であって、
ニューラルネットワークの1または複数の畳み込み層において、スペクトル次元に沿った畳み込みを備える3次元畳み込みを計算することと、
各々が前記デジタル画像の前記照明スペクトルのそれぞれの帯域の強度値を提供する複数の出力値を有する、前記ニューラルネットワーク内の前記1または複数の畳み込み層に接続された出力層を評価することと
によって、前記デジタル画像に前記ニューラルネットワークを適用すること
を含む方法。
【請求項2】
前記出力層の前記出力値に平滑化関数を適用して、訓練中に最小化されるべきコスト値を計算することによって、前記ニューラルネットワークを訓練することを更に含む、請求項1に記載の方法。
【請求項3】
前記平滑化関数は、前記出力層の前記出力値に対する3次スプライン近似を備える、請求項2に記載の方法。
【請求項4】
前記デジタル画像の帯域をダウンサンプリングすることを更に含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記1または複数の畳み込み層は、前記デジタル画像の前記帯域をダウンサンプリングするように構成される、請求項4に記載の方法。
【請求項6】
前記畳み込み層の結果をアップサンプリングすることを更に含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
複数の訓練画像で前記ニューラルネットワークを訓練することを更に含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
訓練は、前記複数の訓練画像から、前記画像内の白色パッチから観察された照明スペクトルを抽出することを含む、請求項7に記載の方法。
【請求項9】
訓練は、前記複数の訓練画像から複数のサブ画像を生成することと、前記複数のサブ画像に関して前記決定された照明スペクトルと前記観察された照明スペクトルとの間の誤差を最小化することとを更に含む、請求項7または8に記載の方法。
【請求項10】
前記誤差は、3次平滑化スプライン関数に基づく、請求項9に記載の方法。
【請求項11】
前記誤差は、平均二乗誤差に基づく第1の被加数および粗さペナルティを表す第2の被加数を備える誤差関数によって表される、請求項10に記載の方法。
【請求項12】
前記粗さペナルティは、出力値の順方向差分に基づく、請求項11に記載の方法。
【請求項13】
前記ニューラルネットワークはResNetに基づく、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記出力層は、全結合層である、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記照明スペクトルに基づいて前記デジタル画像を処理することを更に含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記デジタル画像を処理することは、前記照明スペクトルに関して前記デジタル画像を正規化することによって反射率画像を計算することを含む、請求項15に記載の方法。
【請求項17】
前記1または複数の畳み込み層の各々は、奥行き、高さ、および幅を有する畳み込みフィルタを備え、前記フィルタの前記幅は、前記フィルタの前記高さよりも大きく、前記フィルタの前記幅よりも大きい、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記ニューラルネットワークは、マックスプーリング層を備え、前記マックスプーリング層は、前記畳み込みフィルタよりも小さいサイズを有するフィルタを備える、請求項17に記載の方法。
【請求項19】
前記デジタル画像はハイパースペクトル画像である、請求項1から18のいずれか一項に記載の方法。
【請求項20】
コンピュータによって実行されると、前記コンピュータに、請求項1から19のいずれか一項に記載の方法を実行させるソフトウェア。
【請求項21】
デジタル画像における照明スペクトルを決定するためのコンピュータシステムであって、
ニューラルネットワークの1または複数の畳み込み層において、スペクトル次元に沿った畳み込みを備える3次元畳み込みを計算することと、
各々が前記デジタル画像の前記照明スペクトルのそれぞれの帯域の強度値を提供する複数の出力値を有する、前記ニューラルネットワーク内の前記1または複数の畳み込み層に接続された出力層を評価することと
によって、前記デジタル画像に前記ニューラルネットワークを適用するように構成されたプロセッサを備えるコンピュータシステム。
【請求項22】
前記デジタル画像を生成する画像センサと、前記デジタル画像および前記照明スペクトルを格納する記憶媒体とを更に備える、請求項21に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、参照によってその内容の全体が本明細書に組み込まれる、2021年11月24日に出願されたオーストラリア仮特許出願第2021903790号からの優先権を主張するものである。
【0002】
本開示は、たとえばハイパースペクトル画像またはマルチスペクトル画像などの電子画像の処理に関する。特に、本開示は、画像の照明スペクトルを推定するための方法、ソフトウェア、およびコンピュータシステムを提供する。
【背景技術】
【0003】
シーン内のオブジェクトの外観は、光源色に大きく依存する。したがって、光のパワースペクトルの復元は、認識、監視、および視覚追跡に応用されている。その重要性にもかかわらず、シーンにおける光源色の復元および識別は、制御下にない現実世界の像では困難な課題であることが証明されている。
【0004】
従来、ハイパースペクトル画像の照明スペクトルは、シーン内に設置された白色基準ターゲット(またはスペクトラロン)に反射した照明を測定することによって復元される。しかし、シーン内に白色基準パネルを設置し、照明スペクトルを推定することは、時間がかかる試みであり、必ずしも実用的ではない。たとえば、動くセンサプラットフォーム(たとえば車両)から画像が捕捉される場合、全ての画像に白色基準パネルを使用することは実現不可能である。
【0005】
図1は、特定の照明スペクトルを有する太陽104によって照らされた山102を備えるシーン例100を示す。シーン100を捕捉する際、従来のカメラはホワイトバランスを行うが、これは、白色基準なしでは困難であることが多い。
【0006】
図2は、シーン例100をより詳しく示す。太陽(光源)104は、光源スペクトル204を有する。山102は、反射率スペクトル210を有する。簡潔性のために1つの反射率スペクトルのみが示されるが、当然、多くの異なる物質の多くの異なる反射率スペクトルが存在し得る。
【0007】
光源104からの光が山102に当たると、光源スペクトル204に反射率スペクトル210が掛け合わされ、その結果生じるスペクトルが放射輝度スペクトル214としてセンサ212に到達する。センサ212は、たとえば100万など多数の画素を有し、各画素位置に関して、放射輝度スペクトルの個別のサンプリングバージョンを捕捉する。
【0008】
図3は、マルチスペクトル画像データのデータ構造300を示す。データ構造300は、各波長について1つの層を備える。各層は、1つの波長および全ての画素に関する放射輝度値を表し、一例となる画素302が強調されている。異なる波長に関する画素302の値、すなわち画素302と同じ位置における下層からの放射輝度値は、画像スペクトルまたは入力スペクトルとも称される放射輝度スペクトルを表す。
【0009】
本明細書に含まれる文書、動作、材料、デバイス、物品などの説明はいずれも、これらの事項のいずれかまたは全てが先行技術基準の一部を形成すること、あるいは本出願の各請求項の優先日よりも前に存在した本開示の関連分野における共通の一般知識であったことを認めるものとは見なされない。
【0010】
本明細書を通して、「備える」(“comprise”)という語、またはたとえば“comprises”や“comprising”などの変形は、記載された要素、整数、またはステップ、あるいは要素、整数、またはステップのグループを含むことを意味するが、他の要素、整数、またはステップ、あるいは要素、整数、またはステップのグループを除外することを意味するものではないことが理解される。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】K. Simonyan and A. Zisserman,"Very Deep Convolutional Networks for Large-Scale Image Recognition",International Conference on Learning Representations,201
【非特許文献2】K. He, X. Zhang, S. Ren and J. Sun,"Deep Residual Learning for Image Recognition",IEEE Conference on Computer Vision and Pattern Recognition,2016
【非特許文献3】K. He, X. Zhang, S. Ren and J. Sun,"Deep Residual Learning for Image Recognition",IEEE Conference on Computer Vision and Pattern Recognition,2016
【発明の概要】
【課題を解決するための手段】
【0012】
デジタル画像における照明スペクトルを決定するための方法は、
ニューラルネットワークの1または複数の畳み込み層において、スペクトル次元に沿った畳み込みを備える3次元畳み込みを計算することと、
各々がデジタル画像の照明スペクトルのそれぞれの帯域の強度値を提供する複数の出力値を有する、ニューラルネットワーク内の1または複数の畳み込み層に接続された出力層を評価することと
によって、デジタル画像にニューラルネットワークを適用することを含む。
【0013】
ニューラルネットワークが、スペクトル次元に沿った3次元畳み込みを備えることは有利である。その結果、スペクトル情報は効率的に訓練され得る。また、出力値がそれぞれの照明帯域の強度値を提供することは更に有利である。その結果、この方法は、正確な照明スペクトルを直接生成する。
【0014】
いくつかの実施形態において、方法は、出力層の出力値に平滑化関数を適用して、訓練中に最小化されるべきコスト値を計算することによって、ニューラルネットワークを訓練することを更に含む。
【0015】
いくつかの実施形態において、平滑化関数は、出力層の出力値に対する3次スプライン近似を備える。
【0016】
いくつかの実施形態において、方法は、デジタル画像の帯域をダウンサンプリングすることを更に含む。
【0017】
いくつかの実施形態において、1または複数の畳み込み層は、デジタル画像の帯域をダウンサンプリングするように構成される。
【0018】
いくつかの実施形態において、方法は、畳み込み層の結果をアップサンプリングすることを更に含む。
【0019】
いくつかの実施形態において、方法は、複数の訓練画像でニューラルネットワークを訓練することを更に含む。
【0020】
いくつかの実施形態において、訓練は、複数の訓練画像から、画像内の白色パッチから観察された照明スペクトルを抽出することを含む。
【0021】
いくつかの実施形態において、訓練は、複数の訓練画像から複数のサブ画像を生成することと、複数のサブ画像に関して決定された照明スペクトルと観察された照明スペクトルとの間の誤差を最小化することとを更に含む。
【0022】
いくつかの実施形態において、誤差は、3次平滑化スプライン関数に基づく。
【0023】
いくつかの実施形態において、誤差は、平均二乗誤差に基づく第1の被加数および粗さペナルティを表す第2の被加数を備える誤差関数によって表される。
【0024】
いくつかの実施形態において、粗さペナルティは、出力値の順方向差分に基づく。
【0025】
いくつかの実施形態において、ニューラルネットワークはResNetに基づく。
【0026】
いくつかの実施形態において、出力層は、全結合層である。
【0027】
いくつかの実施形態において、方法は、照明スペクトルに基づいてハイパースペクトル画像を処理することを更に含む。
【0028】
ソフトウェアは、コンピュータによって実行されると、コンピュータに上記方法を実行させる。
【0029】
デジタル画像における照明スペクトルを決定するためのコンピュータシステムは、
ニューラルネットワークの1または複数の畳み込み層において、スペクトル次元に沿った畳み込みを備える3次元畳み込みを計算することと、
各々がデジタル画像の照明スペクトルのそれぞれの帯域の強度値を提供する複数の出力値を有する、ニューラルネットワーク内の1または複数の畳み込み層に接続された出力層を評価することと
によって、デジタル画像にニューラルネットワークを適用するように構成されたプロセッサを備える。
【0030】
いくつかの実施形態において、コンピュータシステムは、デジタル画像を生成する画像センサと、デジタル画像および照明スペクトルを格納する記憶媒体とを更に備える。
【0031】
上記方法を参照して提供される任意選択的な特徴は、コンピュータシステムに対する同様に任意選択的な特徴である。
【0032】
以下、次の図面を参照して例が説明される。
【図面の簡単な説明】
【0033】
【
図3】先行技術に係るマルチスペクトル画像データのデータ構造を示す。
【
図4】照明スペクトルを推定するためのコンピュータシステムを示す。
【
図5】デジタル画像における照明スペクトルを決定するためのコンピュータ実装方法を示す。
【
図6】
図3のデータ構造に適用される3D畳み込みを示す。
【
図8】照明スペクトル復元のための訓練および試験ワークフローを示す。
【
図9】IllumNetデータセットでの訓練誤差を示す。3次平滑化スプライン誤差、平均二乗誤差、および粗さ誤差は、検証データセット用である。
【
図10】屋外かつ曇天時のシーンに関する予測照明スペクトルおよび測定された照明スペクトルを示す。
【
図11】屋外かつ晴天時のシーンに関する予測照明スペクトルおよび測定された照明スペクトルを示す。
【
図12】屋外かつ曇天時のシーンに関する予測照明スペクトルおよび測定された照明スペクトルを示す。
【
図13】屋内でLEDによって照明されたシーンに関する予測照明スペクトルおよび測定された照明スペクトルを示す。
【
図14】屋内でハロゲンによって照明されたシーンに関する予測照明スペクトルおよび測定された照明スペクトルを示す。
【
図15】屋内でハロゲンおよび蛍光灯の混合によって照明されたシーンに関する予測照明スペクトルおよび測定された照明スペクトルを示す。
【発明を実施するための形態】
【0034】
本開示は、ハイパースペクトルまたはマルチスペクトル画像から照明スペクトルを復元するための、ニューラルネットワークを含む方法を提供する。画像は、典型的には、複数の画像画素を有するデジタル画像である。各画像画素は、複数のそれぞれの周波数における光強度に関する複数の強度値に関連付けられる。これらの画素値は、デベイヤリング法によって計算され得る。以下の説明では、「画素」という用語は、個別にアドレス指定可能な画像要素が複数の画素に基づいて計算され得ることを示すために、「画像の点」と置き換えられ得る。たとえば、画像解像度は、画素を結合することによって低減されてよく、方法500は、画素の代わりに複数の点を有する低解像度画像において行われる。特段の記載がない限り、「画素」という言葉が使用される場合、これは、「画像の点」にも等しく適用可能であり得る。
【0035】
コンピュータシステム
図4は、シーン100の画像の照明スペクトルを推定するためのコンピュータシステム400を示す。コンピュータシステム400は、センサ402と、コンピュータ404とを備える。この例では、センサ402は、
図1を参照して説明したように3つの光源によって照明されたシーン100の画像を捕捉することが可能なハイパースペクトルまたはマルチスペクトルセンサである。
【0036】
一例では、コンピュータシステム400は、たとえば消費者向けカメラなどのハンドヘルドデバイスに統合され、シーン100は、たとえば観光地、人物、工学的構造物、または農業地域など、地球上の任意のシーンであってよい。センサ402は、計算コストと精度とのバランスをとる複数の帯域を有してよい。センサ402は、低いところでは3つの帯域(たとえばRGB)から高いところでは数百もの帯域を有してよい。
【0037】
コンピュータ404は、データポート406を介してセンサ402から画像を受信し、画像は、プロセッサ410によってローカルメモリ408(b)に格納される。プロセッサ410は、メモリ408(a)に格納されたソフトウェアを用いて、
図5に示す方法を実行する。プログラムメモリ408(b)は、たとえばハードドライブ、ソリッドステートディスク、またはクラウドストレージなどの非一時的コンピュータ可読媒体である。
【0038】
プロセッサ410は、訓練されたニューラルネットワークを画像に適用することによって画像の照明スペクトルを推定する方法を実行する。プロセッサ410は、照明スペクトルを用いてホワイトバランスまたは他の画像処理を画像に実行し、画像の更新バージョンをデータストア408(b)に格納してよい。他の例では、プロセッサ410は、ホワイトバランスデータおよび/または決定された照明スペクトルをデータストア408(b)に格納する。
【0039】
ソフトウェアは、モニタ412上でユーザに提示され得るユーザインタフェースを提供してよい。ユーザインタフェースは、ユーザからの入力を受け入れることが可能(すなわちタッチスクリーン)である。ユーザ入力は、モニタ412によって入力/出力ポート406に提供される。画像は、プロセッサ410によってメモリ408(b)に格納される。この例では、メモリ408(b)はコンピュータ404にローカルであるが、コンピュータ404に対し遠隔であってもよい。
【0040】
プロセッサ410は、データメモリ408(b)から、および通信ポート406から、たとえば画像データなどのデータを受信してよい。一例では、プロセッサ410は、たとえばIEEE802.11に準拠するWi-Fiネットワークを用いて、通信ポート406を介してセンサ402から画像データを受信する。Wi-Fiネットワークは、たとえばルータなどの専用管理インフラが必要でないような非集中型アドホックネットワーク、またはネットワークを管理するルータやアクセスポイントを有する集中型ネットワークであってよい。
【0041】
一例では、プロセッサ410は、画像データをリアルタイムで受信および処理する。これは、プロセッサ410が、センサ402から画像データを受信する度に照明スペクトルを決定し、センサ402が次の画像データ更新を送信する前にこの計算を完了することを意味する。これは、ライブビデオ処理に役立ち得る。
【0042】
通信ポート406は単一のエンティティとして示されるが、データを受信するために、たとえばネットワーク接続、メモリインタフェース、プロセッサ410のチップパッケージのピン、またはIPソケットや、プログラムメモリ408(a)に格納されプロセッサ410によって実行される関数のパラメータなどの論理ポートなど、任意の種類のデータポートが使用され得ることを理解すべきである。これらのパラメータは、データメモリ408(b)に格納され、ソースコード内で、値として、または基準として、すなわちポインタとして取り扱われ得る。
【0043】
プロセッサ410は、たとえばキャッシュまたはRAMなどの揮発性メモリ、またはたとえば光ディスクドライブ、ハードディスクドライブ、ストレージサーバ、またはクラウドストレージなどの不揮発性メモリのメモリアクセスを含む、これらのインタフェースの全てを介してデータを受信してよい。コンピュータシステム404は更に、たとえば動的な数の仮想マシンをホストする管理された相互接続サーバのグループなどのクラウドコンピューティング環境内で実装され得る。
【0044】
受信するステップのいずれかに先行して、プロセッサ410が後に受信されるデータを決定または計算してよいことを理解すべきである。たとえばプロセッサ410は、たとえばセンサ402からの生データをフィルタリングまたはデベイヤリング(すなわちデモザイク)することによって画像データを決定し、画像データを、たとえばRAMまたはプロセッサレジスタなどのデータメモリ408(b)に格納する。その後、プロセッサ410は、たとえばメモリアドレスと共に読取り信号を提供することによって、データメモリ408(b)からのデータを要求する。データメモリ408(b)は、物理ビットライン上の電圧信号としてデータを提供し、プロセッサ410は、メモリインタフェースを介して画像データを受信する。
【0045】
方法
図5は、プロセッサ410によって実行される、デジタル画像における照明スペクトルを決定するためのコンピュータ実装方法500を示す。言い換えると、方法500は、たとえばC++などの特定のプログラミング言語で実装され、コンパイルされた機械可読コードとしてプログラムメモリ408(a)に格納された、ソフトウェアのための設計図または疑似コードとして機能し得る。画像は、たとえばマルチスペクトル画像データなどの波長インデックス付きスペクトルデータの点で構成される。
【0046】
デジタル画像は、
図3に示すように、画像の複数の点(すなわち画素)の各々に関して複数の色値を備えるデータ構造である。色値の各々は、その色(すなわち帯域)におけるその画素の強度を示す、たとえば0~255の数などのデジタル符号化値で表される。デジタル画像は、たとえばENVI、jpg、tiff、png、bmp、gifなどの利用可能な画像フォーマットのいずれかで格納され得る。デジタル画像は、プロセッサ410によって処理される前に、リサイズ/リスケーリング、正規化、または他の画像前処理または変換操作を含む変換または修正をされ得る。
【0047】
プロセッサ410は、白色基準領域を分析したり、反射率モデルを画像に適合させたりする代わりに、ハイパースペクトル画像にニューラルネットワークを適用する501。
図6は、ニューラルネットワーク例600を示す。
【0048】
プロセッサ410は、最初に、ニューラルネットワークの1または複数の畳み込み層において3次元畳み込み601を計算すること502によってこれを実行する。3次元畳み込みは、スペクトル次元に沿った畳み込みを備える。その後、プロセッサ410は、ニューラルネットワーク内の1または複数の畳み込み層に接続された出力層602を評価する。出力層は、各々がハイパースペクトル画像の照明スペクトルのそれぞれの帯域に関する強度値を提供する複数の出力値を有する。
【0049】
畳み込み
数学的には、畳み込みは、ある関数gが別の関数fの上でシフトする際の重なりの量を表す積分関数である。直感的には、畳み込みは、ある関数を別の関数と混合し、情報を保持しながらデータ空間を縮小させる混合器の役割を果たす。ニューラルネットワークおよび深層学習の観点から、畳み込みは、入力データから低次元の特徴を抽出するために用いられる学習可能なパラメータを有するフィルタ(行列/ベクトル)である。それらは、入力データ点間で空間的または位置的関係を保持する特性を有する。畳み込みニューラルネットワークは、隣接する層のニューロン間に局所的な接続パターンを強いることによって空間的な局所相関を利用する。
【0050】
直感的には、畳み込みは、入力に対しスライディングウィンドウ(学習可能な重みを有するフィルタ)の概念を適用し、(重みと入力との)加重和を出力として生成するステップである。加重和は、次の層のための入力として用いられる特徴空間である。
【0051】
たとえば、顔認識問題において、最初のいくつかの畳み込み層は、入力画像内のキーポイントの存在を学習し、より深い畳み込み層は、エッジおよび形状を学習し、最後の畳み込み層は、顔を学習する。この例では、入力空間は、最初に(点/画素に関する情報を表す)低次元空間に縮小され、次に、(エッジ/形状を含む)別の空間に縮小され、最後に、画像内の顔を分類するために縮小される。畳み込みは、N次元に適用可能である。
【0052】
ここでは、畳み込みは3次元に適用され、
図6は、
図3のデータ構造に適用された3D畳み込みを示す。3D畳み込みは、データセットに3次元フィルタを適用し、フィルタは、3方向(x、y、z)に移動して低レベルの特徴表現を計算する。その出力形状は、たとえば立方体や直方体などの3次元ボリューム空間である。
【0053】
図6において、この例では3×3のフィルタであるフィルタ601は、画素値の加重和を計算する。フィルタの係数である9つの重みが存在する。よって、フィルタは、データ構造300内の初期位置602で開始し、各画素値にそれぞれのフィルタ係数を乗算し、結果を加算する。最終的に、フィルタ601は、結果との数値を出力画素603に格納する。その後、フィルタは、データ構造300内の一方向に沿って1画素ずつ移動し、出力画像の次の画素のための計算を繰り返す。その方向は、x次元604またはy次元605であってよい。重要な点として、フィルタ601は、スペクトル次元606に沿って移動してもよい。すなわち、3×3×3の立体フィルタ601は、スペクトル次元606に沿って画素値を加算し、スペクトル次元606に沿って移動もする。したがって、この操作は、スペクトル次元に沿った畳み込みと称される。
【0054】
出力層
図7は、全結合出力層700を示す。出力層は、入力701および出力702を有する。入力701は、前の畳み込み層の結果である。すなわち、たとえば
図6に示すような畳み込み層は、出力層700に結果を提供するために出力層700に接続される。ただし、畳み込み層は、畳み込み層と出力層700との間に更なる非畳み込み層が存在し得るという意味で、必ずしも出力層700に直接接続されるわけではない。たとえば、畳み込み層と出力層700との間にマックスプール層が存在してよい。
【0055】
出力層は、出力702を有し、各出力は、それぞれの波長で推定された照明スペクトルの値を提供する。よって、たとえば第1の出力703は、出力値として、照明スペクトルの第1の強度704を提供する。全体として、出力は、全体照明スペクトル705を提供する。言い換えると、出力は、照明スペクトル705の離散サンプルを全体として提供する。後述するように、これらの出力サンプルは、スプライン補間のために用いられ得る。
【0056】
一例では、出力703と照明スペクトルの特定の波長との関連付けは予め決定され、スペクトルに沿った出力の均等分布であってよい。他の例では、関連付けは、特定の帯域での改善されたスペクトル分解能を提供するために訓練されてもよい。
【0057】
最後に、留意点として、
図7は4つの入力702および4つの出力703のみの簡単な例を示しており、多くの実用例において、入力および出力の数は著しく大きくなる(後述の値例を参照)。
【0058】
図6および
図7を併せて考えると、本開示は、様々な照明条件下でのハイパースペクトル画像の照明スペクトルを推定するための深層学習ネットワークを提供する。
【0059】
構成
一例では、ネットワークへの入力データサイズは(B、C、D、H、W)であり、Bはバッチサイズ、Cはチャネルの数、Dは奥行き、Hは高さ、およびWは幅である。RGB画像(たとえばトラッキング、ビデオセグメント化)の場合、Cは、画像内のチャネルの数に対応して3に設定される。別の例では、Cは1に設定され、Dは帯域数/sである。1つの設定について、帯域数は204、sは4(すなわちD=51)であり、これは主に、ネットワーク訓練を実行するために使用されるコンピュータのメモリ制約によるものである。
【0060】
3D畳み込みカーネル(d、h、w)は、空間範囲およびスペクトル範囲の両方を有する。ただし、照明スペクトルを推定することが目的であるため、カーネルの奥行きは幅および高さよりも長くされてよく、すなわち、d>(h、w)かつh=wである。
【0061】
3Dマックスプーリングカーネルは、3D畳み込みカーネルよりも小さくてよい。これは、吸収帯によって生じる「とがり」といった照明スペクトル内の微細部が失われないようになされる。
【0062】
ネットワークの出力は、ハイパースペクトル画像内の帯域数に対応するサイズを有するベクトルである。入力画像の奥行きはサブサンプリングされるので、このネットワークは、入力信号を補間、またはスペクトル「超分解能」を実行する能力も有する。一例では、入力画像の奥行きは51にサブサンプリングされ、出力は204の出力値を有する。
【0063】
ネットワークを訓練するために、訓練データセットが生成され、またはたとえばIllumNetなどの既存のデータセットが使用され得る。画像は、Specim IQカメラまたは他のカメラを用いて、屋内および屋外の両方で様々な照明条件下で捕捉され得る。屋外画像は、晴天、曇天、および日陰の条件下で、様々な時間帯に捕捉され得る。屋内画像の場合、ハロゲン光源およびLED光源、ならびにハロゲンまたはLEDおよび蛍光灯を主とした混合光源が使用され得る。ResNet18ネットワークが利用可能であるが、データのスペクトル特性に適合するように2Dカーネルが3Dカーネルに変更される。実際の照明スペクトルに良好に適合するとともに、予測された照明スペクトルが滑らかであることも必要であり、これは、3次平滑化スプライン誤差コスト関数によって実現される。実験結果は、訓練されたモデルが、照明スペクトルの正確な推定値を推測可能であることを示す。
【0064】
問題定義
カメラによって捕捉された放射輝度または生画像は、シーンの物質組成を調査するために反射率画像に変換される。各帯域に関して、画素(x,y)における反射率強度は、次のように求められ得る。
【数1】
式中、l(λ)は波長λにおける入射照明であり、d(λ)は暗色基準であり、p(x,y,λ)は放射輝度強度を示す。暗色基準は、カメラの電子機器に起因するベースライン信号ノイズを表す。Specim IQカメラの場合、カメラがこれを自動的に測定する。l(λ)を求める最も一般的な方法は、シーン内の白色ターゲット基準から反射する照明を測定することである。
【0065】
白色基準は、スペクトル特徴を有さないほぼ100%の反射率を有する物質を含む。白色基準が、シーン内の他の部分と同じ照明および測定ジオメトリおよび距離で測定される場合、白色基準ターゲットからの信号は、照明からの信号のみを含むと想定され得る。すなわち、訓練中、白色ターゲットからの測定値を照明スペクトル705として用いることができ、ネットワークパラメータは、出力702が白色基準ターゲットからの照明スペクトル705に可能な限り近い値を提供するように最適化される。そういった意味では、白色基準ターゲットからのスペクトルは、教師付き学習における標識に類似する。白色基準ターゲットは、ハイパースペクトルカメラのスペクトル応答に関する情報、すなわちカメラが測定されたスペクトルにどのように影響を及ぼすかに関する情報も含む。
【0066】
自動的な照明復元の目的は、白色基準ターゲットの代わりに深層学習を用いて照明を復元すること、すなわち、訓練後、訓練されたネットワークが、白色基準ターゲットのない入力画像に適用可能となることである。
【0067】
データ拡張
照明復元データセットは、様々な照明源で捕捉された1004の画像で構成された。一例では、画像は、512×512の画素サイズを有する。これらの画像のうち、80%が訓練および検証用(70%が訓練用および10%が検証用)に、20%が試験用に設定された。訓練データセットに関して、白色基準ターゲット(たとえばスペクトラロン)は、訓練中の偏りを避けるためにクロップされ、n個の256×256のサブ画像が各画像からランダムに選択された。クロップされた画像の各々は、その後、3回(すなわち90°、180°、および360°)回転された。屋内または屋外画像のいずれかへの偏りを避けるために、訓練データセットには、ほぼ等しい数の屋内および屋外画像が含まれた。その結果、訓練データセットには、約40,000の画像が含まれた。
【0068】
ネットワーク設計
本開示は、照明スペクトルを復元するためにいくつかの畳み込みニューラルネットワーク(CNN)を用いて実装され得る。これらは、
・VGG16(K. Simonyan and A. Zisserman,"Very Deep Convolutional Networks for Large-Scale Image Recognition",International Conference on Learning Representations,201に記載)、
・ResNet18(K. He, X. Zhang, S. Ren and J. Sun,"Deep Residual Learning for Image Recognition",IEEE Conference on Computer Vision and Pattern Recognition,2016に記載)、および
・ResNet101(K. He, X. Zhang, S. Ren and J. Sun,"Deep Residual Learning for Image Recognition",IEEE Conference on Computer Vision and Pattern Recognition,2016に記載)
を含む。
【0069】
上記の参照文献は、参照によってその全体が本明細書に含まれる。
【0070】
VGG16は、約1GBのサイズの大きなモデルファイルを生成し、一部のポータブル用途には適さない場合がある。いくつかの実験において、検証および試験結果は、ResNet18がResNet101よりも性能が良いことを示し、これはおそらく、ResNet18がより短いネットワークを有し、短いネットワークがデータセット例により適切であることによる。
【0071】
ResNetの主な用途は、RGB画像内のオブジェクトの検出である。本明細書に開示される方法は、ハイパースペクトル画像の照明を復元するためにスペクトル特徴を取り入れるため、元のResNetは、2D畳み込みではなく3D畳み込みを使用するように修正される。留意すべき点として、他のCNNも同様に修正され得る。
【0072】
実験結果は、3D畳み込みの使用によって著しく良好な結果が得られることを実証した。修正されたResNetネットワークをResNet3D18と称することとする。ResNet3D18のIllumNet用アーキテクチャが表1に示される。ネットワークの構造ブロックは、ネスト型ブロックの数とともに、第3列に記載される。留意すべき点として、conv1は1の入力チャネルおよび51の奥行きを有し、これは、4倍に(最近傍によって)ダウンサンプリングされた画像帯域数である。これは、GPUメモリ使用量を低減するために行われた。ダウンサンプリングは、2のストライドで、conv31、conv41、およびconv51によって行われた。最後の層は、画像内の帯域数に対応する204の出力との全結合層である。最後の層は、スペクトルをアップサンプリングして入力画像内の帯域数に戻す。
【0073】
【0074】
層構成の具体例が上述されるが、留意点として、広範囲の異なる構成が同様に適用可能である。すなわち、入力チャネルの数は一般にNであり、上記の51の値は特定のハードウェア設定に関して用いられており、他の例は、3~1000、またはその範囲外であってもよい。また、204の出力チャネル数は一例にすぎず、この数は、たとえば3~1000の出力チャネルなど広範に異なってよく、またはその範囲外であってもよい。
【0075】
ニューラルネットワークは、より多くの層を有し(すなわち「深い」)、または異なるサイズのフィルタや他の異なるパラメータを有し得る。たとえば、データが出力層に到達する前に、畳み込み層とマックスプール層との複数の組み合わせが存在し得る。ニューラルネットワークは、畳み込み層、プーリング層、再帰層、前処理層、正規化層、規則化層、着目層、再成形層、併合層、ローカル接続層、または活性化層の1または複数を備えてよい。可能なニューラルネットワークは、Xception、EfficientNet B0~B7、VGG16およびVGG19、ResNetおよびResNetV2、MobileNetおよびMobileNetV2、DenseNet、NasNetLargeおよびNasNetMobile、InceptionV3、InceptionResNetV2を含んでよい。
【0076】
また、ニューラルネットワークは、Keras(https://keras.io/)または他のソフトウェアツールや実装フレームワークで実装され得る。
【0077】
実装
一例では、重みは、事前訓練されたネットワークで初期化されるのではなく、ゼロから訓練される。4のミニバッチサイズで確率的勾配降下法(SGD)が用いられた。実験結果は、ミニバッチ値が低いほど良好な結果が得られることを示した。学習率は0.005、運動量は0.9に設定され、モデルは、100回反復して訓練された。
【0078】
本発明の照明復元方法の訓練および試験ワークフローは
図8に示される。
【0079】
損失関数
CNNは、損失関数を用いてモデル誤差を計算する最適化プロセスを使用して訓練される。照明スペクトル復元問題を回帰問題とすることが可能である。回帰問題に関する損失関数の例は、平均二乗誤差(MSE)および平均絶対誤差(MAE)を含む。MSEおよびMAEは、次のように計算される。
【数2】
および
【数3】
式中、Nはデータ点の数であり、y
iはグラウンドトルースデータからのスペクトル値であり、
【数4】
はデータ点iの予測値である。その結果、MAEおよびMSEの両方が妥当な結果を生じ、予測スペクトルは、グラウンドトルーススペクトルの形状を適切に辿ることが示された。ただし、MSEおよびMAEは、スペクトル曲線の「平滑度」を考慮しておらず、粗い曲線が生成され、不十分な反射率画像をもたらし得る。
【0080】
滑らかであると同時にグラウンドトルーススペクトルに良好に適合する予測スペクトルを得るために、プロセッサ410は、3次平滑化スプライン関数[3][4]を用いる。平滑化スプラインは、
【数5】
のy
iへの適合良好性の基準と、
【数6】
の平滑度の導関数ベースの基準とのバランスを取るために、ターゲットf(x
i)のノイズの多い観察結果y
iのセットから得られた関数推定値
【数7】
である。この関数は、ノイズの多いx
i、y
iデータを平滑化する手段を提供する。
【0081】
関数fの3次平滑化スプライン推定値
【数8】
は、
【数9】
の(2回の微分が可能な関数のクラスでの)最小値と定義される。式中、λ≧1は平滑化パラメータであり、関数推定値の粗さを制御する。留意点として、
【数10】
は関数推定値の粗さを測定し、
【数11】
は、関数推定値および観察結果の二乗誤差の和を測定する。予測値は、次のように定義される。
【数12】
【0082】
上記式を用いると、3次平滑化スプライン誤差(CSSE)関数は、ResNet3D18の損失関数として以下のように適合される。
【数13】
式中、0≦α≦1である。留意点として、
【数14】
はMSEである。α→0の時、粗さペナルティが最も重要になり、α→1の時、CSSEはMSEに近付く。また、
【数15】
は、
【数16】
の2次導関数(または差分)であり、
【数17】
は、予測値の1次導関数(または差分)である。
【数18】
は、「平滑度」を測定する。
【0083】
αの値は、予測スペクトルのノイズが多くなく、同時に過剰に平滑化されないように選択される。予測スペクトルの平滑度が実際のスペクトルの平滑度よりも低いと、通常はとがっている有意な吸収帯が減衰し得るので、望ましくない。
【0084】
実験結果
図9は、検証データにおける様々なα値に関するMSE、粗さ、およびCSSEの誤差とともに訓練誤差を示す。プロットからの興味深い観察結果として、α=0.6およびα=0.8の時、粗さは急速に収束する。α=1.0の時、ここでは粗さを最小化していないにもかかわらず、粗さ誤差はやはり収束している。当然のことながら、α=1.0の粗さ値は常に高い。
【0085】
表2は、50エポック後の様々なメトリックおよびαに関する試験データの結果を示す。試験セットには398のフルサイズ画像が含まれ、これは、屋内画像および屋外画像の両方を含む。興味深い点として、α=0.8の時に最も低いMSEが得られる。α=0.6の時、最も低い粗さが得られ、CSSEが最も低くなる。しかし、最適なαを選択するために最も低いCSSEを用いることは、低い粗さ値によって予測照明スペクトルの過剰な平滑度がもたらされ得るため、良いとは言えない。予測照明スペクトルの過剰な平滑化は、スペクトル内の有意な吸収帯を失わせ得る。試験データセットの実際の平均粗さは0.0000585であり、これに最も近い予測粗さ値は、α=0.8の時である。α=1.0の粗さ値は有意に高く、粗さ値が高いほどMSEも高くなることが提示される。αは、0.6<α<1.0の値で訓練することによって更に微調整され得る。ただし、本開示の以下の部分では、α=0.8の結果が示される。
【0086】
【0087】
図10~
図15は、屋内および屋外で様々な照明条件下で捕捉された画像の実際の照明スペクトルおよび予測照明スペクトルを示す。ほとんどの場合、予測照明スペクトルは、実際の照明スペクトルとほぼ一致する。
図12では、2つのスペクトルの形状は非常に類似しているが、それらの大きさが異なっている。これは、シーンの一部の領域が他の領域よりも暗いという照明の不均一性が原因であると思われる。実際の照明スペクトルは、白色ターゲットからの照明スペクトルであるが、予測照明スペクトルは、シーンの平均照明スペクトルであり得る。これを測定する唯一の方法は、シーン内で複数の白色ターゲットを使用することである。
【0088】
図15は、異なる光源を混合した結果を示す。画像は、シーンに向けられた天井の蛍光灯およびハロゲン光源を有する室内で捕捉された。蛍光灯のスペクトルは、水銀蒸気によって放出されるUV光を減衰させるために電球に蛍光体が使用されることによって、とがりを有する。実際の照明スペクトルは、ハロゲンおよび蛍光スペクトルの組み合わせである。予測スペクトルの形状は、実際のスペクトルの形状と非常に類似しているが、大きさが異なり、わずかに粗い。これにより、提案される照明復元方法は、難しい照明条件下でも適度に正確な照明スペクトルを予測可能であることが示される。
【0089】
結論
本明細書において、任意のカメラによって捕捉されたハイパースペクトル画像の照明スペクトルを復元する方法が開示される。IllumNetと呼ばれるデータセットが作成された。データセットには、屋内および屋外の両方で様々な光源の下で捕捉された1004の画像が含まれる。照明復元のタスクは、回帰分析問題として定式化され、ResNet18に基づく深層学習ネットワークが開示される。ResNet18は、スペクトルデータの3D特性により良く適合する3Dカーネルを用いるように修正される。開示される深層学習フレームワークにおける損失関数として3次平滑化スプライン誤差関数が用いられる。これにより、予測スペクトルの適合および粗さの制御が可能である。実験結果は、開示される深層学習方法が画像の照明スペクトルを復元可能であることを示す。
【0090】
データセット
画像を捕捉するために、Specim IQ(Specim Ltd.、Oulu、Finland)ハイパースペクトルカメラを使用する。Specim IQは、ハンドヘルドハイパースペクトルカメラであり、ハイパースペクトルデータ捕捉、照明および反射率復元、および分類結果の視覚化を単一の統合ユニットで行う。センサは、プッシュブルーム機構を用いて画像を捕捉し、各画像キューブは、512×512画素の空間分解能を有する204帯域で構成される。カメラの波長範囲は400~1000nmである。
【0091】
照明データセットであるIllumNetは1004の画像で構成され、建物の属性および材料の分類のために捕捉された画像を含む。画像は、様々な照明条件および光源、すなわち太陽光、日陰/曇天、ハロゲン、LED、蛍光灯、および混合光の下で捕捉された。屋外画像は、太陽光スペクトルの変化を考慮に入れるために様々な時間帯に捕捉された。屋内画像の場合、複雑かつ多様なシーンを作成するために、葉、果物、岩石、紙、ビスケット、金属、プラスチックなどを含む様々な物体が使用された。訓練プロセス中の偏りを防ぐために、全ての画像から白色基準パネルはクロップされた。
【0092】
留意点として、訓練セットは網羅的なものではない。たとえば、他の地理的位置で捕捉された画像や、異なる照明製造元の照明の使用は含まれない。しかし、提案される深層学習ネットワークは、一般的な照明スペクトル復元に適しており、ネットワークは、ユーザの要望および他の応用状況に適合するように他のデータで再訓練することが可能である。
【0093】
当業者には、本開示の広範な一般範囲から逸脱することなく、上述した実施形態に多数の変形および/または修正が加えられ得ることが理解される。したがって、本実施形態は、全ての点において限定的ではなく例示的なものであると考えられる。
【符号の説明】
【0094】
100 シーン
102 山
104 太陽(光源)
204 光源スペクトル
210 反射スペクトル
212 センサ
214 放射輝度スペクトル
300 データ構造
302 画素
400 コンピュータシステム
402 センサ
404 コンピュータ
406 通信ポート
408 メモリ
410 プロセッサ
412 モニタ
601 フィルタ
602 初期位置
603 出力画素
604 x次元
605 y次元
606 スペクトル次元
700 出力層
701 入力
702 出力
703 第1の出力
704 第1の強度
705 照明スペクトル
【国際調査報告】