(57)【要約】説明される技法は、概して、人工知能（ＡＩ）技法を使用し、画像を強調するための方法および装置に関する。種々の側面によると、システムおよび方法が、弱光条件および／または雑音の多い画像内で捕捉される画像等の質の悪い画像を強調するために提供される。弱光条件において撮像デバイスによって捕捉される画像は、捕捉された画像に、不良なコントラスト、ぼやけを持たせ、別様に画像内の１つ以上のオブジェクトを明確に表示させない場合がある。種々の側面によると、システムおよび方法が、弱光条件において捕捉される画像を強調するために提供される。
2021534520.tif 000002
【特許請求の範囲】
【請求項１】
機械学習システムを訓練し、画像を強調するためのシステムであって、
プロセッサと、
プロセッサ実行可能命令を記憶する非一過性のコンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、前記プロセッサによって実行されると、
前記機械学習システムを訓練するために使用されるべき訓練画像のセットを取得することであって、前記取得することは、
場面の入力画像を取得することと、
前記場面の複数の画像を平均化することによって、前記場面の標的出力画像を取得することであって、前記標的出力画像は、前記入力画像の標的強調を表す、ことと
を含む、ことと、
前記訓練画像のセットを使用して、前記機械学習システムを訓練することと
を実施することを前記プロセッサに行わせる、非一過性のコンピュータ可読記憶媒体と
を備える、システム。
【請求項２】
前記命令は、
入力画像のセットを取得することであって、前記入力画像のセットの中の各入力画像は、対応する場面のものである、ことと、
標的出力画像のセットを取得することであって、前記入力画像のセットの中の入力画像毎に、前記対応する場面の複数の画像を平均化することによって、前記対応する場面の標的出力画像を取得することを含む、ことと、
前記入力画像のセットおよび前記標的出力画像のセットを使用して、前記機械学習システムを訓練することと
を前記プロセッサにさらに行わせる、を請求項１に記載のシステム。
【請求項３】
前記入力画像を取得することは、所定のＩＳＯ閾値を上回るＩＳＯ設定において前記入力画像を取得することを含む、請求項１に記載の方法。
【請求項４】
前記ＩＳＯ閾値は、約１，５００〜５００，０００のＩＳＯ範囲から選択される、請求項３に記載の方法。
【請求項５】
前記複数の画像を平均化することは、前記複数の画像内の各ピクセル場所を横断して算術平均を算出することを含む、請求項１に記載の方法。
【請求項６】
前記訓練画像のセットを取得することは、複数の画像捕捉設定のために訓練画像のセットを取得することを含む、請求項１に記載のシステム。
【請求項７】
前記訓練画像のセットを取得することは、前記画像の入力セットおよび前記画像の出力セットを捕捉するために使用される撮像デバイスの雑音を捕捉する１つ以上の画像を取得することを含む、請求項１に記載のシステム。
【請求項８】
前記命令は、訓練画像の第２のセットを取得することを実施することと、前記訓練画像の第２のセットを使用して、前記機械学習システムを再訓練することとを前記プロセッサにさらに行わせる、請求項１に記載のシステム。
【請求項９】
前記命令は、
個別の撮像デバイスから前記訓練画像のセットを取得することと、
前記個別のデバイスからの画像の第１の訓練セットに基づいて前記機械学習システムを訓練し、前記個別のデバイスのための前記機械学習システムによる強調を最適化することと
を前記プロセッサにさらに行わせる、請求項１に記載のシステム。
【請求項１０】
前記機械学習システムは、ニューラルネットワークを備える、請求項１に記載のシステム。
【請求項１１】
前記機械学習システムを訓練することは、複数の損失関数の線形結合を最小限にすることを含む、請求項１に記載のシステム。
【請求項１２】
前記機械学習システムを訓練することは、人間によって知覚可能な周波数範囲内の性能のために前記機械学習システムを最適化することを含む、請求項１に記載のシステム。
【請求項１３】
前記機械学習システムを訓練することは、
個別の入力画像に対応する、前記機械学習システムによって発生される強調画像を取得することと、
前記個別の入力画像に対応する、前記標的出力画像のセットのうちの個別の標的出力画像を取得することと、
帯域通過フィルタを通して前記強調画像および前記標的出力画像を通過させることと、
前記フィルタ処理された強調画像およびフィルタ処理された標的出力画像に基づいて、前記機械学習システムを訓練することと
を含む、請求項１２に記載のシステム。
【請求項１４】
前記機械学習システムを訓練することは、
前記訓練画像のセットを捕捉するために使用される撮像デバイスと関連付けられる雑音画像を取得することであって、前記雑音画像は、前記撮像デバイスによって発生される雑音を捕捉する、ことと、
前記雑音画像を前記機械学習システムの中への入力として含むことと
を含む、請求項１に記載のシステム。
【請求項１５】
前記機械学習システムを訓練するために使用されるべき前記訓練画像のセットを取得することは、
減光フィルタを使用して、入力画像のセットを取得することであって、前記入力画像のセットのうちの各画像は、対応する場面のものである、ことと、
標的出力画像のセットを取得することであって、前記入力画像のセットの中の入力画像毎に、前記減光フィルタを用いることなく捕捉される前記対応する場面の標的出力画像を取得することを含み、前記標的出力画像は、前記入力画像の標的強調を表す、ことと
を含む、請求項１に記載のシステム。
【請求項１６】
画像を自動的に強調するためのシステムであって、前記システムは、
プロセッサと、
前記プロセッサによって実装される機械学習システムであって、前記機械学習システムは、
入力画像を受信することと、
前記入力画像に基づいて、前記入力画像内よりも多く照明される前記入力画像の少なくとも一部を備える出力画像を発生させることと
を行うように構成される、機械学習システムと
を備え、
前記機械学習システムは、訓練画像のセットに基づいて訓練され、前記訓練画像のセットは、
場面の入力画像と、
前記場面の標的出力画像であって、前記標的画像は、前記場面の複数の画像を平均化することによって取得され、前記標的出力画像は、前記入力画像の標的強調を表す、標的出力画像と
を備える、システム。
【請求項１７】
前記訓練画像のセットの１つ以上の入力画像は、減光フィルタを用いて捕捉され、
前記訓練画像のセットの１つ以上の出力画像は、前記減光フィルタを用いることなく捕捉される、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサは、
第１の画像を受信することと、
前記第１の画像を第１の複数の画像部分に分割することと、
前記第１の複数の画像部分を前記機械学習システムに入力することと、
前記機械学習システムから第２の複数の画像部分を受信することと、
前記第２の複数の画像を組み合わせ、出力画像を発生させることと
を行うように構成される、請求項１６に記載のシステム。
【請求項１９】
前記機械学習システムは、前記第１の複数の画像部分のうちの個別のものに関して、前記個別の画像部分の一部を切り取るように構成され、前記個別の画像部分の一部は、前記個別の画像部分のピクセルのサブセットを備える、請求項１８に記載のシステム。
【請求項２０】
前記プロセッサは、
前記第１の複数の部分のサイズを判定することと、
前記第１の画像を前記第１の複数の部分に分割することと
を行うように構成され、第１の複数の部分はそれぞれ、前記サイズを有する、請求項１８に記載のシステム。
【請求項２１】
前記機械学習システムは、畳み込みニューラルネットワークまたは密に接続された畳み込みニューラルネットワークを備えるニューラルネットワークを備える、請求項１１に記載のシステム。
【請求項２２】
前記プロセッサは、
第１の画像を取得することと、
前記第１の画像を量子化して、量子化された画像を取得することと、
前記量子化された画像を前記機械学習システムに入力することと、
前記機械学習システムから個別の出力画像を受信することと
を行うように構成される、請求項１６に記載のシステム。
【請求項２３】
機械学習システムを訓練し、画像を強調するためのコンピュータ化方法であって、前記方法は、
前記機械学習システムを訓練するために使用されるべき訓練画像のセットを取得することであって、前記取得することは、
場面の入力画像を取得することと、
前記場面の複数の画像を平均化することによって、前記場面の標的出力画像を取得することであって、前記標的出力画像は、前記入力画像の標的強調を表す、ことと
を含む、ことと、
前記訓練画像のセットを使用して、前記機械学習システムを訓練することと
を含む、方法。
【請求項２４】
画像を強調するための機械学習モデルを訓練する方法であって、前記方法は、
少なくとも１つのコンピュータハードウェアプロセッサを使用して、
表示されたビデオフレームの標的画像にアクセスすることであって、前記標的画像は、前記機械学習モデルの標的出力を表す、ことと、
前記表示されたビデオフレームの入力画像にアクセスすることであって、前記入力画像は、前記標的画像に対応し、前記機械学習モデルへの入力を表す、ことと、
前記標的画像および前記標的画像に対応する前記入力画像を使用して、前記機械学習モデルを訓練し、訓練された機械学習モデルを取得することと
を実施することを含む、方法。
【請求項２５】
第１の露出時間を使用して、前記表示されたビデオフレームの標的画像を、撮像デバイスを使用して捕捉することと、
第２の露出時間を使用して、前記表示されたビデオフレームの入力画像を、前記撮像デバイスを使用して捕捉することであって、前記第２の露出時間は、前記第１の露出時間未満である、ことと
をさらに含む、請求項２４に記載の方法。
【請求項２６】
減光フィルタを用いて、前記表示されたビデオフレームの入力画像を、撮像デバイスを使用して捕捉することと、
減光フィルタを用いることなく、前記表示されたビデオフレームの標的画像を、前記撮像デバイスを使用して捕捉することと
をさらに含む、請請求項２４に記載の方法。
【請求項２７】
撮像デバイスを使用して、前記表示されたビデオフレームの入力画像を捕捉することと、
前記ビデオフレームの複数の静止捕捉の各ピクセル場所を平均化することによって、前記撮像デバイスを使用して、前記表示されたビデオフレームの標的画像を捕捉することと
をさらに含む、請求項２４に記載の方法。
【請求項２８】
第１の露出時間を使用して、前記表示されたビデオフレームの標的画像を、撮像デバイスを使用して捕捉することであって、前記表示されたビデオフレームは、第１の明度において表示される、ことと、
前記第１の露出時間を使用して、前記表示されたビデオフレームの入力画像を、前記撮像デバイスを使用して捕捉することであって、前記表示されたビデオフレームは、前記第１の明度よりも暗い第２の明度において表示される、ことと
をさらに含む、請求項２４に記載の方法。
【請求項２９】
前記入力画像および前記標的画像はそれぞれ、前記入力画像および標的画像が、前記表示されたビデオフレームと関連付けられるデータと異なる第２のデータを含むように、関連付けられる内側部分において前記表示されたビデオフレームを備え、
前記方法は、前記第１のデータを含むように、かつ前記第２のデータを除外するように、前記入力画像および前記標的画像のそれぞれを切り取ることをさらに含む、請求項２４に記載の方法。
【請求項３０】
前記入力画像および前記標的画像はそれぞれ、前記ビデオフレームを表示するディスプレイデバイスの第２のピクセル数未満である同一の第１のピクセル数を備える、請求項２９に記載の方法。
【請求項３１】
画像にアクセスすることと、
前記画像を入力として前記訓練された機械学習モデルに提供し、前記画像に関する更新されたピクセル値を示す対応する出力を取得することと、
前記訓練された機械学習モデルからの出力を使用して、前記画像を更新することと
をさらに含む、請求項２４に記載の方法。
【請求項３２】
複数の付加的標的画像であって、前記付加的標的画像のうちの各標的画像は、
関連付けられる表示されたビデオフレームのものであり、
前記関連付けられる表示されたビデオフレームに関する前記機械学習モデルの関連付けられる標的出力を表す、
複数の付加的標的画像と、
複数の付加的入力画像であって、前記付加的入力画像のうちの各入力画像は、
前記入力画像が、対応する標的画像と同一の表示されたビデオフレームのものであるように、前記付加的標的画像のうちの標的画像に対応し、
前記対応する標的画像に関する前記機械学習モデルへの入力を表す、
複数の付加的入力画像と
にアクセスすることと、
（ａ）前記標的画像および前記標的画像に対応する前記入力画像と、（ｂ）前記複数の付加的標的画像および前記複数の付加的な関連付けられる入力画像とを使用して、前記機械学習モデルを訓練し、訓練された機械学習モデルを取得することと
をさらに含む、請求項２４に記載の方法。
【請求項３３】
画像を強調するための機械学習モデルを訓練するためのシステムであって、前記システムは、
ビデオのビデオフレームを表示するためのディスプレイと、
デジタル撮像デバイスであって、
前記表示されたビデオフレームの標的画像を捕捉することであって、前記標的画像は、前記機械学習モデルの標的出力を表す、ことと、
前記表示されたビデオフレームの入力画像を捕捉することであって、前記入力画像は、前記標的画像に対応し、前記機械学習モデルへの入力を表す、ことと
を行うように構成される、デジタル撮像デバイスと、
少なくとも１つのハードウェアプロセッサと、プロセッサ実行可能命令を記憶する少なくとも１つの非一過性のコンピュータ可読記憶媒体とを備えるコンピューティングデバイスであって、前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアプロセッサによって実行されると、
前記標的画像および前記入力画像にアクセスすることと、
前記標的画像および前記標的画像に対応する前記入力画像を使用して、前記機械学習モデルを訓練し、訓練された機械学習モデルを取得することと
を実施することを前記少なくとも１つのハードウェアプロセッサに行わせる、コンピューティングデバイスと
を備える、システム。
【請求項３４】
前記ディスプレイは、テレビ、プロジェクタ、またはそれらのある組み合わせを備える、請求項３３に記載のシステム。
【請求項３５】
プロセッサ実行可能命令を記憶する少なくとも１つのコンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、少なくとも１つのプロセッサによって実行されると、
表示されたビデオフレームの標的画像にアクセスすることであって、前記標的画像は、機械学習モデルの標的出力を表す、ことと、
前記表示されたビデオフレームの入力画像にアクセスすることであって、前記入力画像は、前記標的画像に対応し、前記機械学習モデルへの入力を表す、ことと、
前記標的画像および前記標的画像に対応する前記入力画像を使用して、前記機械学習モデルを訓練し、訓練された機械学習モデルを取得することと
を実施することを前記少なくとも１つのプロセッサに行わせる、少なくとも１つのコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、参照することによってその全体として本明細書に組み込まれる、「Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｔｅｃｈｎｉｑｕｅｓ  ｆｏｒ  Ｉｍａｇｅ  Ｅｎｈａｎｃｅｍｅｎｔ」と題され、２０１８年に８月７日に出願された、米国仮出願第６２／７１５，７３２号の優先権を３５  Ｕ．Ｓ．Ｃ．  §  １１９（ｅ）の下で主張する。
【０００２】
本明細書に説明される技法は、概して、人工知能（ＡＩ）技法を使用し、画像を強調するための方法および装置に関する。
【背景技術】
【０００３】
画像（例えば、デジタル画像、ビデオフレーム等）が、多くの異なるタイプのデバイスによって捕捉され得る。例えば、ビデオ録画デバイス、デジタルカメラ、画像センサ、医用画像デバイス、電磁場感知、および／または音響監視デバイスが、画像を捕捉するために使用され得る。捕捉された画像は、画像が捕捉された環境または条件の結果として、質が悪くなり得る。例えば、暗い環境内および／または不良な照明条件下で捕捉される画像は、画像の大部分が概ね暗く、ならびに／もしくは雑音が多くなるほど、質が悪くなり得る。捕捉された画像はまた、低コストおよび／または低品質画像センサを使用するデバイス等のデバイスの物理的制約に起因して、質が悪くなり得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
種々の側面によると、システムおよび方法が、弱光条件および／または雑音の多い画像内で捕捉される画像等の質の悪い画像を強調するために提供される。弱光条件において撮像デバイスによって捕捉される画像は、捕捉された画像に、例えば、不良なコントラスト、ぼやけ、雑音アーチファクトを持たせる、および／または別様に画像内の１つ以上のオブジェクトを明確に表示させない場合がある。本明細書に説明される技法は、人工知能（ＡＩ）アプローチを使用して、これらおよび他のタイプの画像を強調し、明確な画像を生成する。
【０００５】
いくつかの実施形態は、機械学習システムを訓練し、画像を強調するためのシステムに関する。本システムは、プロセッサと、プロセッサによって実行されると、プロセッサに、機械学習システムを訓練するために使用されるべき訓練画像のセットを取得するステップであって、場面の入力画像を取得するステップと、場面の複数の画像を平均化することによって、場面の標的出力画像を取得するステップであって、標的出力画像は、入力画像の標的強調を表す、ステップとを含む、取得するステップと、訓練画像のセットを使用して、機械学習システムを訓練するステップとを実施させる、プロセッサ実行可能命令を記憶する、非一過性のコンピュータ可読記憶媒体とを含む。
【０００６】
いくつかの実施例では、本システムはさらに、入力画像のセットを取得し、入力画像のセットの中の各入力画像は、対応する場面のものであり、入力画像のセットの中の入力画像毎に、対応する場面の複数の画像を平均化することによって、対応する場面の標的出力画像を取得するステップを含み、標的出力画像のセットを取得し、入力画像のセットおよび標的出力画像のセットを使用して、機械学習システムを訓練するように構成される。
【０００７】
いくつかの実施例では、入力画像を取得するステップは、所定のＩＳＯ閾値を上回るＩＳＯ設定において入力画像を取得するステップを含む。
【０００８】
いくつかの実施例では、ＩＳＯ閾値は、約１，５００〜５００，０００のＩＳＯ範囲から選択される。
【０００９】
いくつかの実施例では、複数の画像を平均化するステップは、複数の画像内の各ピクセル場所を横断して算術平均を算出するステップを含む。
【００１０】
いくつかの実施例では、訓練画像のセットを取得するステップは、複数の画像捕捉設定のために訓練画像のセットを取得するステップを含む。
【００１１】
いくつかの実施例では、訓練画像のセットを取得するステップは、画像の入力セットおよび画像の出力セットを捕捉するために使用される撮像デバイスの雑音を捕捉する、１つ以上の画像を取得するステップを含む。
【００１２】
いくつかの実施例では、命令はさらに、プロセッサに、訓練画像の第２のセットを取得するステップを実施させ、訓練画像の第２のセットを使用して、機械学習システムを再訓練させる。
【００１３】
いくつかの実施例では、命令はさらに、プロセッサに、個別の撮像デバイスから訓練画像のセットを取得させ、個別のデバイスからの画像の第１の訓練セットに基づいて機械学習システムを訓練させて、個別のデバイスのための機械学習システムによる強調を最適化させる。
【００１４】
いくつかの実施例では、機械学習システムは、ニューラルネットワークを備える。
【００１５】
いくつかの実施例では、機械学習システムを訓練するステップは、複数の損失関数の線形結合を最小限にするステップを含む。
【００１６】
いくつかの実施例では、機械学習システムを訓練するステップは、人間によって知覚可能な周波数範囲内の性能のために機械学習システムを最適化するステップを含む。
【００１７】
いくつかの実施例では、機械学習システムを訓練するステップは、個別の入力画像に対応する、機械学習システムによって発生される強調画像を取得するステップと、個別の入力画像に対応する、標的出力画像のセットのうちの個別の標的出力画像を取得するステップと、帯域通過フィルタを通して強調画像および標的出力画像を通過させるステップと、フィルタ処理された強調画像およびフィルタ処理された標的出力画像に基づいて、機械学習システムを訓練するステップとを含む。
【００１８】
いくつかの実施例では、機械学習システムを訓練するステップは、訓練画像のセットを捕捉するために使用される撮像デバイスと関連付けられる雑音画像を取得するステップであって、雑音画像は、撮像デバイスによって発生される雑音を捕捉する、ステップと、雑音画像を機械学習システムの中への入力として含むステップとを含む。
【００１９】
いくつかの実施例では、機械学習システムを訓練するために使用されるべき訓練画像のセットを取得するステップは、減光フィルタを使用して、入力画像のセットを取得するステップであって、入力画像のセットのうちの各画像は、対応する場面のものである、ステップと、入力画像のセットの中の入力画像毎に、減光フィルタを用いることなく捕捉される、対応する場面の標的出力画像を取得するステップを含む、標的出力画像のセットを取得するステップであって、標的出力画像は、入力画像の標的強調を表す、ステップとを含む。
【００２０】
いくつかの実施形態は、画像を自動的に強調するためのシステムに関する。本システムは、プロセッサと、プロセッサによって実装される機械学習システムであって、入力画像を受信し、入力画像に基づいて、入力画像内よりも多く照明される入力画像の少なくとも一部を備える、出力画像を発生させるように構成される、機械学習システムとを含む。機械学習システムは、場面の入力画像と、場面の標的出力画像であって、標的画像は、場面の複数の画像を平均化することによって取得され、標的出力画像は、入力画像の標的強調を表す、標的出力画像とを含む、訓練画像のセットに基づいて訓練される。
【００２１】
いくつかの実施例では、訓練画像のセットの１つ以上の入力画像は、減光フィルタを用いて捕捉され、訓練画像のセットの１つ以上の出力画像は、減光フィルタを用いることなく捕捉される。
【００２２】
いくつかの実施例では、プロセッサは、第１の画像を受信し、第１の画像を第１の複数の画像部分に分割し、第１の複数の画像部分を機械学習システムに入力し、機械学習システムから第２の複数の画像部分を受信し、第２の複数の画像を組み合わせ、出力画像を発生させるように構成される。
【００２３】
いくつかの実施例では、機械学習システムは、第１の複数の画像部分のうちの個別のものに関して、個別の画像部分の一部を切り取るように構成され、個別の画像部分の一部は、個別の画像部分のピクセルのサブセットを備える。
【００２４】
いくつかの実施例では、プロセッサは、第１の複数の部分のサイズを判定し、第１の画像を第１の複数の部分に分割するように構成され、第１の複数の部分はそれぞれ、サイズを有する。
【００２５】
いくつかの実施例では、機械学習システムは、畳み込みニューラルネットワークまたは密に接続された畳み込みニューラルネットワークを備える、ニューラルネットワークを備える。
【００２６】
いくつかの実施例では、プロセッサは、第１の画像を取得し、第１の画像を量子化して、量子化された画像を取得し、量子化された画像を機械学習システムに入力し、機械学習システムから個別の出力画像を受信するように構成される。
【００２７】
いくつかの実施形態は、機械学習システムを訓練し、画像を強調するためのコンピュータ化方法に関する。本方法は、機械学習システムを訓練するために使用されるべき訓練画像のセットを取得するステップであって、場面の入力画像を取得するステップと、場面の複数の画像を平均化することによって、場面の標的出力画像を取得するステップであって、標的出力画像は、入力画像の標的強調を表す、ステップとを含む、取得するステップを含む。本方法は、訓練画像のセットを使用して、機械学習システムを訓練するステップを含む。
【００２８】
いくつかの実施形態は、画像を強調するための機械学習モデルを訓練する方法に関する。本方法は、少なくとも１つのコンピュータハードウェアプロセッサを使用し、表示されたビデオフレームの標的画像にアクセスするステップであって、標的画像は、機械学習モデルの標的出力を表す、ステップと、表示されたビデオフレームの入力画像にアクセスするステップであって、入力画像は、標的画像に対応し、機械学習モデルへの入力を表す、ステップと、標的画像および標的画像に対応する入力画像を使用して、機械学習モデルを訓練し、訓練された機械学習モデルを取得するステップとを実施するステップを含む。
【００２９】
いくつかの実施例では、本方法はさらに、第１の露出時間を使用して、表示されたビデオフレームの標的画像を、撮像デバイスを使用して捕捉するステップと、第２の露出時間を使用して、表示されたビデオフレームの入力画像を、撮像デバイスを使用して捕捉するステップであって、第２の露出時間は、第１の露出時間未満である、ステップとを含む。
【００３０】
いくつかの実施形態では、本方法はさらに、減光フィルタを用いて、表示されたビデオフレームの入力画像を、撮像デバイスを使用して捕捉するステップと、減光フィルタを用いることなく、表示されたビデオフレームの標的画像を、撮像デバイスを使用して捕捉するステップとを含む。
【００３１】
いくつかの実施例では、本方法は、撮像デバイスを使用して、表示されたビデオフレームの入力画像を捕捉するステップと、ビデオフレームの複数の静止捕捉の各ピクセル場所を平均化することによって、撮像デバイスを使用して、表示されたビデオフレームの標的画像を捕捉するステップとを含む。
【００３２】
いくつかの実施例では、本方法は、第１の露出時間を使用して、表示されたビデオフレームの標的画像を、撮像デバイスを使用して捕捉するステップであって、表示されたビデオフレームは、第１の明度において表示される、ステップと、第１の露出時間を使用して、表示されたビデオフレームの入力画像を、撮像デバイスを使用して捕捉するステップであって、表示されたビデオフレームは、第１の明度よりも暗い第２の明度において表示される、ステップとを含む。
【００３３】
いくつかの実施例では、入力画像および標的画像はそれぞれ、入力画像および標的画像が、表示されたビデオフレームと関連付けられるデータと異なる第２のデータを含むように、関連付けられる内側部分において表示されたビデオフレームを備え、方法はさらに、第１のデータを含むように、かつ第２のデータを除外するように、入力画像および標的画像のそれぞれを切り取るステップを含む。
【００３４】
いくつかの実施例では、入力画像および標的画像はそれぞれ、ビデオフレームを表示するディスプレイデバイスの第２のピクセル数未満である、同一の第１のピクセル数を備える。
【００３５】
いくつかの実施例では、本方法は、画像にアクセスするステップと、画像を入力として訓練された機械学習モデルに提供し、画像に関する更新されたピクセル値を示す、対応する出力を取得するステップと、訓練された機械学習モデルからの出力を使用して、画像を更新するステップとを含む。
【００３６】
いくつかの実施例では、本方法は、複数の付加的標的画像にアクセスするステップを含み、付加的標的画像のうちの各標的画像は、関連付けられる表示されたビデオフレームのものであり、関連付けられる表示されたビデオフレームに関する機械学習モデルの関連付けられる標的出力を表す。本方法は、付加的入力画像にアクセスするステップを含み、付加的入力画像のうちの各入力画像は、入力画像が、対応する標的画像と同一の表示されたビデオフレームのものであるように、付加的標的画像のうちの標的画像に対応し、対応する標的画像に関する機械学習モデルへの入力を表す。本方法は、（ａ）標的画像および標的画像に対応する入力画像、ならびに（ｂ）複数の付加的標的画像および複数の付加的な関連付けられる入力画像を使用して、機械学習モデルを訓練し、訓練された機械学習モデルを取得するステップを含む。
【００３７】
いくつかの実施形態は、画像を強調するための機械学習モデルを訓練するためのシステムに関する。本システムは、ビデオのビデオフレームを表示するためのディスプレイと、表示されたビデオフレームの標的画像を捕捉し、標的画像は、機械学習モデルの標的出力を表し、表示されたビデオフレームの入力画像を捕捉するように構成され、入力画像は、標的画像に対応し、機械学習モデルへの入力を表す、デジタル撮像デバイスとを含む。本システムは、少なくとも１つのハードウェアプロセッサと、少なくとも１つのハードウェアプロセッサによって実行されると、少なくとも１つのハードウェアプロセッサに、標的画像および入力画像にアクセスするステップと、標的画像および標的画像に対応する入力画像を使用して、機械学習モデルを訓練し、訓練された機械学習モデルを取得するステップとを実施させる、プロセッサ実行可能命令を記憶する、少なくとも１つの非一過性のコンピュータ可読記憶媒体とを備える、コンピューティングデバイスを含む。
【００３８】
いくつかの実施例では、ディスプレイは、テレビ、プロジェクタ、またはそれらのある組み合わせを備える。
【００３９】
いくつかの実施形態は、少なくとも１つのプロセッサによって実行されると、少なくとも１つのプロセッサに、表示されたビデオフレームの標的画像にアクセスするステップであって、標的画像は、機械学習モデルの標的出力を表す、ステップと、表示されたビデオフレームの入力画像にアクセスするステップであって、入力画像は、標的画像に対応し、機械学習モデルへの入力を表す、ステップと、標的画像および標的画像に対応する入力画像を使用して、機械学習モデルを訓練し、訓練された機械学習モデルを取得するステップとを実施させる、プロセッサ実行可能命令を記憶する、少なくとも１つのコンピュータ可読記憶媒体に関する。
【００４０】
したがって、以下に続く、その発明を実施するための形態がさらに理解され得るために、かつ当技術分野への本寄与がさらに認識され得るために、開示される主題の特徴が、かなり広義に概説されている。当然ながら、以降に説明されるであろう、かつ本明細書に添付される請求項の主題を形成するであろう、開示される主題の付加的特徴が存在する。本明細書で採用される語句および用語は、説明の目的のためであり、限定的と見なされるべきではないことを理解されたい。
【図面の簡単な説明】
【００４１】
図面では、種々の図に図示される各同じまたはほぼ同じコンポーネントが、同様の参照文字によって表される。明確にする目的のために、全てのコンポーネントが、全ての図面で標識されるわけではない場合がある。図面は、必ずしも一定の縮尺で描かれず、代わりに、本明細書に説明される技法およびデバイスの種々の側面を図示することに重点が置かれている。
【００４２】
【図１Ａ】図１Ａ−Ｂは、いくつかの実施形態による、画像強調システムの動作を図示するブロック図を示す。
【図１Ｂ】図１Ａ−Ｂは、いくつかの実施形態による、画像強調システムの動作を図示するブロック図を示す。
【００４３】
【図２Ａ】図２Ａは、いくつかの実施形態による、機械学習システムを訓練するためのプロセスを示す。
【００４４】
【図２Ｂ】図２Ｂは、いくつかの実施形態による、訓練画像のセットを取得するための例示的プロセスを示す。
【００４５】
【図２Ｃ】図２Ｃは、いくつかの実施形態による、訓練画像のセットを取得するための別の例示的プロセスを示す。
【００４６】
【図３Ａ】図３Ａは、いくつかの実施形態による、入力および出力画像の一部を使用して、機械学習システムを訓練するためのプロセスを示す。
【００４７】
【図３Ｂ】図３Ｂは、いくつかの実施形態による、画像を部分に分割することによって画像を強調するためのプロセスを示す。
【００４８】
【図３Ｃ】図３Ｃは、いくつかの実施形態による、機械学習システムによって実施されるフィルタリング動作において縁歪みを軽減するためのプロセスを示す。
【００４９】
【図４】図４は、いくつかの実施形態による、機械学習システムを訓練するためのプロセスを示す。
【００５０】
【図５】図５は、いくつかの実施形態による、機械学習システムを訓練するための画像の訓練セットのうちの画像を発生させるためのプロセスを示す。
【００５１】
【図６】図６は、本明細書に説明される技術のいくつかの実施形態による、本明細書に説明される技術の側面が実装され得る、例示的システムを示す。
【００５２】
【図７】図７は、本明細書に説明される技術のいくつかの実施形態による、訓練データの制御された発生のための例示的プロセスのフローチャートを示す。
【００５３】
【図８】図８は、本明細書に説明される技術のいくつかの実施形態による、画像を強調するための図７のプロセスから取得される、訓練された機械学習モデルを使用するための例示的プロセスを図示する。
【００５４】
【図９】図９は、いくつかの実施形態による、種々の側面が実装され得る、分散コンピュータシステムのブロック図を示す。
【発明を実施するための形態】
【００５５】
本発明者らは、撮像デバイス（例えば、デジタルカメラ、画像センサ、医用画像デバイス、および／または電磁場センサ）が、弱光において捕捉される画像等の雑音の多い画像を捕捉するときに、うまく機能しない場合があることを認識している。例えば、デジタルカメラは、典型的には、続いて、カラーフィルタアレイ（ＣＦＡ）を通してフィルタ処理される光波を、光学レンズを介して受光し、受光された光波を電気信号に変換する、画像センサを有し得る。電気信号は、次いで、画像信号処理（ＩＳＰ）アルゴリズムの連鎖を通して、１つ以上のデジタル値（例えば、赤色、青色、および緑色（ＲＧＢ）チャネル値）に変換される。撮像デバイスによって捕捉される画像の品質は、少量の照明が存在する条件では、不良となり得る。例えば、デジタルカメラでは、画像センサは、少量の光が存在するときに、画像内の１つ以上のオブジェクトを区別するために十分な情報を捕捉するために十分に敏感ではない場合がある。したがって、弱光は、不良なコントラスト、雑音アーチファクト、および／または画像内のぼやけたオブジェクトを伴う画像につながり得る。
【００５６】
弱光において画像を捕捉するための従来のソリューションは、弱光における性能のために特殊化される画像センサの使用を伴い得る。しかしながら、そのようなセンサは、他の画像センサに対してより大きいサイズを有し得る。例えば、スマートフォン用のデジタルカメラは、サイズ制限により、そのような特殊センサをスマートフォンの中に組み込むことが不可能であり得る。特殊センサはまた、より多くの電力および他のリソースを要求し、したがって、デバイス（例えば、スマートフォン）の効率を低減させ得る。さらに、そのような特殊センサは、多くの場合、弱光における動作のために特殊化されていない画像センサよりも有意に高価である。他のソリューションは、多くの場合、異なる用途を横断して実装されることができない、限られたユースケースを有する。例えば、赤外線もしくは熱センサ、ＬＩＤＡＲ、および／または同等物の追加が、弱光において捕捉される画像を改良するために使用されてもよい。しかしながら、これは、多くの場合、付加的ハードウェアおよびリソースを要求する。多くのリソース制約型デバイスは、そのようなソリューションを組み込むことが不可能であり得る。
【００５７】
本発明者らは、弱光条件において捕捉されるもの等の雑音の多い画像を強調し、デバイスの既存のハードウェアに追加または変更を要求することなく、より高い品質の画像を取得するための技法を開発してきた。本技法はまた、従来的ＩＳＰアルゴリズム等の他の従来の技法よりも良好な性能を提供することもできる。強調画像はさらに、画像セグメンテーション、オブジェクト検出、顔認識、および／または他の用途等の画像を利用する他の用途の改良された性能を提供し得る。
【００５８】
教師あり学習は、概して、入出力訓練データセットを使用して、機械学習モデルを訓練するプロセスを指す。機械学習モデルは、ニューラルネットワークを使用して、適切なモデルパラメータ（例えば、加重および／またはバイアス等）を見出し、変換を適切に実施し、機械学習モデルが新しいデータを取り扱うことを可能にすること等によって、訓練データの入出力ペアの間でマップする方法を学習する。機械学習技法が、デバイスの既存のハードウェアに追加または変更を要求することなく、撮像デバイスによって捕捉される画像および／またはビデオを強調するために使用されてもよい。例えば、デジタルカメラによって捕捉される画像またはビデオが、画像またはビデオの強調バージョンの出力を取得するように、入力として訓練された機械学習モデルに提供されてもよい。本発明者らは、新しい入力画像またはビデオフレームを強調するために使用される機械学習モデルを訓練するために使用され得る、画像の入出力セットの制御された発生のための技法を開発してきた。いくつかの実施形態では、機械学習モデルは、暗い入力画像の弱光強調を実施し、明るい高品質の標的画像を生成するために使用されることができる。いくつかの実施形態では、機械学習モデルは、入力画像（例えば、高いＩＳＯ値において撮影される）の雑音除去を実施し、雑音除去された標的画像を生成するために使用されることができる。解説を容易にするために、限定的であることを意図することなく、入力画像はまた、本明細書では「暗い画像」とも称され得、出力画像は、本明細書では「標的画像」および／または「明るい画像」と称され得る。標的画像は、機械学習モデルによって発生されることになる、標的照明出力の側面を表し得る。
【００５９】
用語「暗い画像」および「明るい画像」は、本明細書では解説を容易にするために使用されるが、明度のみを指すこと、または明度に関しない画像の特性を除外することを意図していないことを理解されたい。例えば、本技法は、雑音の多い画像を処理し、より良好な信号対雑音比を伴う画像を発生させるために使用されることができる。したがって、本明細書に説明されるいくつかの実施例は、暗い画像および明るい画像を指すが、本技法は、雑音、明度、コントラスト、ぼやけ、アーチファクト、および／または他の雑音アーチファクトを含む、入力画像の種々のタイプの望ましくない側面を処理するために使用され得ることを理解されたい。したがって、本明細書に説明される技法を使用して処理される入力画像は、望ましくない側面を伴う任意のタイプの画像であり得、出力画像は、望ましくない側面が軽減および／または除去された（例えば、本明細書に説明されるように、機械学習技法を使用して発生され得る）画像を表すことができる。
【００６０】
本発明者らは、教師あり学習を使用する（例えば、ニューラルネットワークを用いた）未加工画像データの強調が、本明細書では同一のオブジェクトまたは場面の暗い入力画像および対応する明るい標的画像のペア等の暗いおよび明るい画像の入力標的訓練ペアとも称される、入出力を使用して達成され得ることを発見および認識している。入力標的画像を捕捉するために使用される、いくつかの技法は、少ない照明を用いて実世界オブジェクトまたは場面の写真を撮影することを含み、それによって、暗い画像は、短い露出（例えば、１／１５または１／３０秒）を用いて捕捉され、明るい画像は、長い露出（例えば、１秒、２秒、１０秒、またはそれを上回る）を用いて捕捉されることができる。長い露出を使用することによって、結果として生じる明るい画像は、はるかに明るく、別様に場面に存在するよりも多くの周囲光が存在する場合のように見える。低照明場面を捕捉する入力標的画像を使用することは、低照明条件において使用されるときに、機械学習モデルに撮像デバイスの雑音特性を捕捉させ得る、機械学習モデルを使用して処理されるであろう、予期される入力画像と類似する照明の下で捕捉される入力画像を使用して、機械学習モデルを訓練することができる。
【００６１】
しかしながら、本発明者らは、デバイスによって捕捉される画像を強調する際の機械学習モデルの性能が、機械学習モデルを訓練するために使用される訓練データ（例えば、入力画像および／または対応する標的出力画像）の品質によって限定されることを認識している。弱光においてデバイスによって捕捉されるであろう画像をより正確に表す入力画像を使用して訓練される、機械学習モデルは、弱光においてデバイスによって捕捉される画像のより良好な強調を提供するであろう。本発明者らはまた、種々の実世界場面および場所に関して収集されるデータを含む、広範囲の実世界訓練データを提供することが望ましいことも認識している。しかしながら、このように明るい画像を捕捉することは、訓練目的のために望ましくあり得る、運動を伴う場面が、明るい画像にぼやけを引き起こし得るという事実によって複雑化され得る。多くの実世界場面が、運動を含むため、既存の技法は、そのような場面の入力標的画像ペアを十分に捕捉するために使用されることができない。特に、ビデオ強調の目的のために、運動を伴う場面の明るい連続フレームを捕捉することは、不可能ではないとしても困難であり得る。例えば、場面の写真を撮影するときに、写真は、運動に起因するぼやけを呈し得る。同様に、場面のビデオを捕捉するとき、（例えば、長さがわずか１／３０秒である）場面の明るいフレームを捕捉することが望ましくあり得るが、暗い環境を使用し、場面の暗い画像も捕捉するとき等に、そのような画像を捕捉することは困難であり得る。
【００６２】
加えて、訓練目的のためにも望ましくあり得る、異なる場面の画像を伴う広いデータセットを捕捉するために、オペレータが、カメラを各場所まで、および／または各場所における種々の撮像点の周囲に物理的に移動させる必要があり、これは、十分な訓練データを適切に集めることの実用性をさらに限定する。例えば、場面の十分な数の入力標的画像ペアを捕捉するために、カメラを場面内の数百または数千の場所、ならびに数十万の異なる場所まで移動させることを要求し得る。そのような技法が、カメラが各場所に物理的に存在することを要求するため、時間、進行、および／または同等物への実用的制約に起因して、訓練データのロバスト性を有意に限定し得る。
【００６３】
本発明者らは、事前捕捉されたビデオを使用して、実世界データをシミュレートするためのコンピュータ化技法を開発してきた。本技法は、フレーム毎にビデオフレームを表示する、ディスプレイデバイス（例えば、テレビまたはプロジェクタ）を使用するステップを含む。いくつかの実施形態では、事前捕捉されたビデオは、フレームが、十分な持続時間にわたって、および／または十分な明度において表示されることを可能にし、撮像デバイスが、同一のビデオフレームの暗い画像および明るい画像の両方を捕捉することを可能にする。標的画像は、したがって、通常の照明条件下で撮像デバイスによって捕捉された場合のように、ビデオフレーム内に場面を表すことができ、入力画像は、弱光において撮像デバイスによって捕捉された場合のように、ビデオフレーム内に場面を表し得る。いくつかの実施形態では、撮像デバイスは、短い露出時間を使用してフレームの暗い画像を捕捉し、長い露出時間を使用してフレームの明るい画像を捕捉することができる。いくつかの実施形態では、ディスプレイの明度は、典型的に使用されるものよりも短い露出時間を用いて、および／または暗い画像を捕捉するために使用されるものと類似する露出時間を使用して、明るい画像が捕捉されることを可能にするように調節されることができる。本明細書に説明される技法は、したがって、各ビデオフレームの暗いおよび明るい画像の制御された発生を提供する。フレーム毎に画像を捕捉することによって、本技法は、個々の入力標的画像ペアが、ぼやけに起因するアーチファクトを呈さないように、運動を伴う場面の入力標的画像ペアを発生させるために使用されることができる。本技法は、撮像デバイスが、十分な訓練データを収集するために数千の実際の場所に物理的に存在する（かつそこに物理的に移動される）ことを要求する代わりに、種々の場面にわたって高速データ収集を可能にすることができる。
【００６４】
以下の説明では、多数の具体的詳細が、開示される主題の徹底的な理解を提供するために、開示される主題のシステムおよび方法、ならびにそのようなシステムおよび方法が動作し得る環境等に関して、記載される。加えて、下記に提供される実施例は、例示的であり、開示される主題の範囲内に該当する他のシステムおよび方法が存在することが検討されることを理解されたい。
【００６５】
一側面によると、システムが、弱光条件において捕捉される画像等の雑音の多い画像を強調するために提供される。本システムは、訓練画像のセットを使用し、画像を強調するために使用されることになる機械学習システムを訓練する。本システムは、弱光条件において捕捉される画像（例えば、ある種の雑音を呈する「暗い」画像）を表す、訓練画像の入力セットを使用する。画像の本入力セットは、例えば、強調のために機械学習システムに入力されるであろう、弱光画像を表し得る。本システムは、訓練画像の第１のセットに対応する、訓練画像の出力セットを使用する。画像の出力セットは、入力画像を処理した後に機械学習システムによって出力されることになる画像の第１のセットの標的バージョン（例えば、入力画像よりも少ない雑音を含む、「明」または「明るい」画像）であってもよい。いくつかの実施形態では、画像の第１および第２のセットは、それぞれ、機械学習システムを訓練するために、教師あり学習スキームで訓練データの入力および出力として使用されてもよい。
【００６６】
いくつかの実施形態では、本システムは、入力画像内の輝度のレベルを増加させるために訓練されてもよい。いくつかの実施形態では、本システムは、増加した輝度を伴う出力画像を発生させるように構成されてもよい。いくつかの実施形態では、本システムは、入力画像の輝度を２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５、１６、１７、１８、１９、および／または２０倍増加させ得る。いくつかの実施形態では、本システムは、入力画像の１つ以上の部分の輝度を、入力画像の１つ以上の他の部分に対して異なる量だけ増加させるように構成されてもよい。いくつかの実施形態では、本システムは、入力画像の輝度を５〜１５倍増加させるように構成されてもよい。いくつかの実施形態では、本システムは、入力画像の輝度を６〜１３倍増加させるように構成されてもよい。いくつかの実施形態では、本システムは、入力画像の輝度を少なくとも２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５、１６、１７、１８、１９、または２０倍増加させるように構成されてもよい。
【００６７】
いくつかの実施形態では、本システムは、明度、コントラスト、ぼやけ、および／または同等物等の入力画像を破損する雑音アーチファクトを除去するように訓練されてもよい。入力画像を破損している雑音アーチファクトを除去することによって、本技法は、画像の信号対雑音比を増加させ得る。例えば、本技法は、信号対雑音比を、例えば、約２〜２０ｄＢ増加させ得る。
【００６８】
いくつかの実施形態では、画像の入力セットは、減光フィルタを使用して、撮像デバイスを用いて画像を捕捉することによって、取得される。減光フィルタは、撮像デバイスのレンズに入射する光の強度を低減させる、または修正する、光学フィルタである。本発明者らは、減光フィルタを使用し、訓練セットの中の入力画像のセットを発生させることが、弱光において撮影される画像の特性を正確に反映し得ることを認識している。例えば、減光フィルタによって捕捉される画像は、弱光条件において捕捉される画像内のものに類似する雑音特性を有する。訓練セットの中の個別の入力画像に対応する出力画像が、減光フィルタを使用することなく、撮像デバイスを用いて同一の画像を捕捉することによって、取得されてもよい。出力画像は、訓練され得る機械学習システムに基づいて、個別の入力画像の標的強調バージョンを表す。本発明者らは、減光フィルタの使用が、他のカメラ設定を使用すること（例えば、ＩＳＯ設定を変更すること、光源強度を低減させること、および／または露出時間を短縮すること）に起因するであろう、入力セットと出力セットとの間の変動を低減させながら、弱光条件において捕捉される画像内にあろう雑音特性を反映する画像の訓練セットを提供することを認識している。
【００６９】
いくつかの実施形態では、画像の入力セットは、例えば、デジタルサンプリングプロセスにおいて低強度ピクセル値の量子化正確度を改良する、および／または最大限にし得る、高ＩＳＯ値を伴う画像を捕捉することによって、取得される。いくつかの実施形態では、ＩＳＯ値は、約１，６００〜５００，０００の範囲内であるＩＳＯ値であり得る。例えば、高級消費者カメラは、最大５００，０００のＩＳＯを有し得る。いくつかの実施形態では、値は、特殊ハードウェア実装に関して最大５００万等、５００，０００よりも高くあり得る。いくつかの実施形態では、ＩＳＯ値は、ＩＳＯ閾値を上回るように選択されることができる。訓練セットの中の個別の入力画像に対応する出力画像が、（例えば、画像の入力セットを捕捉するために使用される同一および／または類似ＩＳＯ設定において）入力画像の複数の捕捉を生成し、続いて、複数の捕捉を横断してピクセル毎に強度を平均化すること等によって入力画像のセットを処理することによって、取得されてもよい。出力画像は、訓練され得る機械学習システムに基づいて、個別の入力画像の標的強調バージョンを表す。本発明者らは、いくつかの実施形態では、単回および／または数回の長い露出が、出力画像を捕捉するために使用され得る一方で、長い露出を使用することは、例えば、熱雑音を増加させることによって、センサの雑音性質を変化させ得ることを認識している。冷却間隔（例えば、連続捕捉の合間の１秒の冷却間隔）を伴ってとられる短い露出のセット（例えば、５０、１００、２００等の短い露出の大規模セット）を横断してピクセル強度を平均化することは、入力フレームのものと一致する出力の熱雑音性質を保つことができる、ニューラルネットワークがより単純な変換関数を学習することを可能にすることができる、および／またはより圧縮性のニューラルネットワークモデルを可能にすることができる。
【００７０】
別の側面によると、システムが、入力画像を複数の画像部分に分割するために提供される。本システムは、次いで、個々の入力として該部分を機械学習システムにフィードしてもよい。本システムは、個々の強調された出力部分をともにスティッチし、最終強調画像を発生させるように構成されてもよい。本発明者らは、画像を部分に分割することが、本システムが画像全体を一度に処理するよりも速く、画像の訓練および強調を実施することを可能にすることを認識している。
【００７１】
別の側面によると、カメラのセンサからの雑音のみを含む、１つ以上の画像（本明細書では「雑音画像」とも称される）を、機械学習システムを訓練するための画像の訓練セットの中に入力画像として含む、システムが、提供される。画像は、画像のピクセル値のみが、撮像デバイスのコンポーネント（例えば、画像センサ）から発生される雑音に起因するように、ゼロに近い露出を用いて捕捉されてもよい。本システムは、雑音画像を使用し、機械学習システムを使用して実施される画像強調へのセンサ雑音の影響を低減させるように構成されてもよい。これは、種々の撮像デバイス設定（例えば、ＩＳＯ設定および露出時間）を横断してＡＩシステムの画像強調性能を正規化し得る。
【００７２】
別の側面によると、システムが、機械学習システムが人間に知覚可能である画像特徴を強調するために最適化されるように、機械学習システムを訓練するために提供される。いくつかの実施形態では、本システムは、人間によって知覚可能である周波数に関して機械学習システムを最適化するように構成されてもよい。本システムは、周波数に関して最適に機能するように、機械学習システムを訓練するように構成されてもよい。
【００７３】
本明細書に説明されるものは、画像強調のための機械学習モデルを訓練するために使用され得る、訓練データの制御された発生のためのシステムおよびコンピュータ化技法である。テレビまたはプロジェクタ等のディスプレイデバイスが、表示されたフレームが訓練データを発生させるために使用され得るように、制御された様式でビデオのフレームを表示することができる。撮像デバイス（例えば、デジタルカメラ）は、表示されたビデオフレームの標的画像および入力画像を捕捉するように構成されることができる。標的および入力画像は、異なる露出時間を使用して、および／またはディスプレイの明度を調節することによって、捕捉されることができる。いくつかの実施形態では、標的画像は、通常の照明条件下で撮像デバイスによって捕捉された場合のようにビデオフレーム内に場面を表す、ビデオフレームの捕捉される画像（例えば、本明細書では「明るい画像」と称される）であってもよく、入力画像は、弱光において撮像デバイスによって捕捉された場合のようにビデオフレーム内に場面を表す、ビデオフレームの捕捉される画像（例えば、本明細書では「暗い画像」と称される）であってもよい。入力標的画像発生プロセスは、複数の入力画像および関連付けられる標的画像を含む、訓練データセットを発生させるように、繰り返されることができる。
【００７４】
入力画像および標的画像は、次いで、機械学習モデルを訓練するために使用されてもよい。いくつかの実施形態では、機械学習モデルは、暗い画像を処理し、対応する明るい画像を発生させるために使用されることができる。標的画像は、暗い画像の照明を強調することによって発生されることになる、標的照明出力（例えば、赤色、緑色、および／または青色値、未加工ベイヤーパターン値、熱／赤外線センサデータ、ならびに／もしくは同等物等）を表し得る。したがって、暗い画像および対応する標的画像のセットを含む訓練データが、画像を照明することによって弱光条件において捕捉される画像を強調するために使用され得る、機械学習モデルを訓練するために使用されてもよい。
【００７５】
いくつかの実施形態では、発生された暗い入力画像および対応する十分に照明された標的画像のセットを含むデータセットが、機械学習モデルを訓練し、撮像デバイスによって捕捉される画像（例えば、弱光条件下で捕捉される画像）を照明するために使用されてもよい。例えば、機械学習モデルは、対応する暗い画像に基づいて、標的の明るい画像を発生させるように訓練されることができる。訓練プロセスは、したがって、機械学習モデルを訓練し、新しい暗い画像に基づいて、暗い画像の照明（例えば、ピクセル毎の未加工ピクセルデータ、ピクセル毎の赤色、緑色、青色（ＲＧＢ）値等）に基づく明るい画像に対応する、出力照明（例えば、ピクセル毎の未加工ピクセルデータ、ピクセル毎のＲＧＢ値等）を発生させることができる。
【００７６】
画像は、写真であってもよい。例えば、画像は、撮像デバイス（例えば、デジタルカメラ）によって捕捉される写真であってもよい。画像はまた、ビデオの一部であってもよい。例えば、画像は、ビデオを構成する１つ以上のフレームであってもよい。
【００７７】
本明細書に説明されるいくつかの実施形態は、本発明者らが従来の画像強調システムで認識した、上記に説明される課題に対処する。しかしながら、本明細書に説明される全ての実施形態が、これらの課題の全てに対処するわけではないことを理解されたい。また、本明細書に説明される技術の実施形態は、画像強調における上記に議論される課題に対処すること以外の方法のために使用され得ることも理解されたい。
【００７８】
図１Ａは、パラメータ１０２Ａのセットを伴う機械学習システム１０２を示す。いくつかの実施形態では、機械学習システム１０２は、入力画像を受信し、強調された出力画像を発生させるように構成されるシステムであってもよい。機械学習システム１０２は、訓練画像のセット１０４に基づいて、訓練段階１１０の間にパラメータ１０２Ａの値を学習してもよい。訓練段階１１０後に、学習されたパラメータ値１１２Ａを伴って構成される、訓練された機械学習システム１１２が、取得される。訓練された機械学習システム１１２は、種々の撮像デバイス１１４Ａ−Ｂによって捕捉される１つ以上の画像１１６を強調するために、画像強調システム１１１によって使用される。画像強調システム１１１は、画像１１６を受信し、１つ以上の強調画像１１８を出力する。
【００７９】
いくつかの実施形態では、機械学習システム１０２は、弱光条件において捕捉された画像を強調するための機械学習システムであってもよい。いくつかの実施形態では、弱光条件において捕捉される画像は、十分な量の光強度が画像内の１つ以上のオブジェクトを捕捉するために存在しなかったものであってもよい。いくつかの実施形態では、弱光条件において捕捉される画像は、５０ルクス未満の光源を用いて捕捉される画像であってもよい。いくつかの実施形態では、弱光条件において捕捉される画像は、１ルクス未満またはそれと等しい光源を用いて捕捉される画像であってもよい。いくつかの実施形態では、弱光条件において捕捉される画像は、２ルクス、３ルクス、４ルクス、または５ルクス未満またはそれと等しい光源を用いて捕捉される画像であってもよい。機械学習システム１０２は、弱光設定において捕捉された入力画像を受信し、より強い強度の光源を用いて捕捉された場合のようにオブジェクトを表示する、対応する出力画像を発生させるように構成されてもよい。
【００８０】
いくつかの実施形態では、機械学習システム１０２は、１つ以上のパラメータ１０２Ａを伴うニューラルネットワークを含んでもよい。ニューラルネットワークは、それぞれが１つ以上のノードを有する、複数の層から構成されてもよい。ニューラルネットワークのパラメータ１０２Ａは、ニューラルネットワークの層内のノードによって使用される係数、加重、フィルタ、または他のタイプのパラメータであってもよい。ノードは、係数を使用して入力データを組み合わせ、ノードのアクティブ化機能の中にパスされる出力値を発生させる。アクティブ化機能は、ニューラルネットワークの次の層にパスされる出力値を発生させる。ニューラルネットワークの最終出力層によって発生される値は、タスクを実施するために使用されてもよい。いくつかの実施形態では、ニューラルネットワークの最終出力層は、入力画像の強調バージョンを発生させるために使用されてもよい。例えば、出力層の値は、ニューラルネットワークによって出力されることになる画像に関するピクセル値を発生させるための機能への入力として使用されてもよい。いくつかの実施形態では、ニューラルネットワークの出力層は、入力画像の強調バージョンを備えてもよい。例えば、ニューラルネットワークの出力層は、入力画像の強調バージョンのピクセルの値を規定してもよい。
【００８１】
いくつかの実施形態では、機械学習システム１０２は、畳み込みニューラルネットワーク（ＣＮＮ）を含んでもよい。ＣＮＮは、ノードの複数の層から構成されてもよい。パラメータ１０２Ａは、ＣＮＮの各層において適用されるフィルタを含んでもよい。ＣＮＮの各層は、層への入力が畳み込まれる、１つ以上の学習可能フィルタのセットであってもよい。フィルタのそれぞれを用いた畳み込みの結果は、層の出力を発生させるために使用される。層の出力は、次いで、畳み込み動作の別のセットが後続の層の１つ以上のフィルタによって実施されるために、後続の層にパスされてもよい。いくつかの実施形態では、ＣＮＮの最終出力層は、入力画像の強調バージョンを発生させるために使用されてもよい。例えば、出力層の値は、ニューラルネットワークによって出力されることになる画像に関するピクセル値を発生させるための機能への入力として使用されてもよい。いくつかの実施形態では、ニューラルネットワークの出力層は、入力画像の強調バージョンを備えてもよい。例えば、ＣＮＮの出力層は、強調画像のピクセルに関する値を規定してもよい。いくつかの実施形態では、畳み込みニューラルネットワークは、Ｕ−ネットである。
【００８２】
いくつかの実施形態では、機械学習システム１０２は、人工ニューラルネットワーク（ＡＮＮ）を含んでもよい。いくつかの実施形態では、機械学習システム１０２は、リカレントニューラルネットワーク（ＲＮＮ）を含んでもよい。いくつかの実施形態では、機械学習システム１０２は、決定木を含んでもよい。いくつかの実施形態では、機械学習システム１０２は、サポートベクターマシン（ＳＶＭ）を含んでもよい。いくつかの実施形態では、機械学習システムは、遺伝的アルゴリズムを含んでもよい。いくつかの実施形態は、特定のタイプの機械学習モデルに限定されない。いくつかの実施形態では、機械学習システム１０２は、１つ以上の機械学習モデルの組み合わせを含んでもよい。例えば、機械学習システム１０２は、１つ以上のニューラルネットワーク、１つ以上の決定木、および／または１つ以上のサポートベクターマシンを含んでもよい。
【００８３】
機械学習システムが、訓練段階１１０の間に訓練された後に、訓練された機械学習システム１１２が、取得される。訓練された機械学習システム１１２は、訓練画像１０４に基づいて機械学習システム１１２によって実施される画像強調の性能を最適化する、パラメータ１１２Ａを学習している場合がある。学習されたパラメータ１１２Ａは、機械学習システムのハイパーパラメータの値、機械学習システムの係数または加重の値、および機械学習システムの他のパラメータの値を含んでもよい。学習されたパラメータ１１２Ａのうちのいくつかのパラメータが、訓練段階１１０の間に手動で判定されてもよい一方で、他のものは、訓練段階１１０の間に実施される自動訓練技法によって判定されてもよい。
【００８４】
いくつかの実施形態では、画像強調システム１１１は、訓練された機械学習システム１１２を使用し、１つ以上の撮像デバイス１１４Ａ−Ｂから受信される１つ以上の画像１１６の画像強調を実施する。例えば、撮像デバイスは、カメラ１１４Ａと、スマートフォン１１４Ｂのデジタルカメラとを含んでもよい。いくつかの実施形態は、機械学習システム１１２が異なる撮像デバイスから受信された画像を強調し得るため、本明細書に説明される撮像デバイスからの画像に限定されない。
【００８５】
画像強調システム１１１は、受信された画像１１６を使用し、訓練された機械学習システム１１２への入力を発生させる。いくつかの実施形態では、画像強調システム１１１は、１つ以上の機械学習モデル（例えば、ニューラルネットワーク）への入力として、画像１１６のピクセル値を使用するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、画像１１６を部分に分割し、各部分のピクセル値を入力として機械学習システム１１２の中に別個にフィードするように構成されてもよい。いくつかの実施形態では、受信された画像１１６は、複数のチャネルに関する値を有してもよい。例えば、受信された画像１１６は、赤色チャネル、緑色チャネル、および青色チャネルに関する値を有してもよい。これらのチャネルはまた、本明細書では「ＲＧＢチャネル」と称され得る。
【００８６】
受信された画像１１６を強調した後、画像強調システム１１１は、強調画像１１８を出力する。いくつかの実施形態では、強調画像１１８は、画像１１６が受信されたデバイスに出力されてもよい。例えば、強調画像１１８は、画像１１６が受信されたモバイルデバイス１１４Ｂに出力されてもよい。モバイルデバイス１１４Ｂは、デバイス１１４Ｂのディスプレイ内に強調画像１１８を表示し、強調画像１１８を記憶してもよい。いくつかの実施形態では、画像強調システム１１１は、発生された強調画像１１８を記憶するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、画像強調システム１１１の性能の後続の評価および／または機械学習システム１１２の再訓練のために強調画像１１８を使用するように構成されてもよい。
【００８７】
いくつかの実施形態では、画像強調システム１１１は、そこから画像１１６が受信されたデバイス上に展開されてもよい。例えば、画像強調システム１１１は、モバイルデバイス１１４Ｂによって実行されると、受信された画像１１６の強調を実施する、モバイルデバイス１１４Ｂ上にインストールされたアプリケーションの一部であってもよい。いくつかの実施形態では、画像強調システム１１１は、１つ以上の別個のコンピュータ上に実装されてもよい。画像強調システム１１１は、通信インターフェースを介して画像１１６を受信してもよい。通信インターフェースは、無線ネットワーク接続または有線接続であってもよい。例えば、画像強調システム１１１は、サーバ上に実装されてもよい。サーバは、ネットワークを介して（例えば、インターネットを介して）画像１１６を受信してもよい。別の実施例では、画像強調システム１１１は、デバイス１１４Ａ−Ｂのうちの１つ以上のものから有線接続（例えば、ＵＳＢ）を介して画像１１６を受信する、デスクトップコンピュータであってもよい。いくつかの実施形態は、画像強調システム１１１が画像１１６を取得する方法によって限定されない。
【００８８】
図１Ｂは、撮像デバイス（例えば、撮像デバイス１１４Ａまたは１１４Ｂ）によって捕捉される画像の画像強調を実施するための画像強調システム１１１の例示的実装を図示する。オブジェクト１２０からの光波が、撮像デバイスの光学レンズ１２２を通して通過し、画像センサ１２４に到達する。画像センサ１２４は、光学レンズ１２２から光波を受信し、受信された光波の強度に基づいて、対応する電気信号を発生させる。電気信号は、次いで、電気信号に基づいてオブジェクト１２０の画像のデジタル値（例えば、数値ＲＧＢピクセル値）を発生させる、アナログ／デジタル（Ａ／Ｄ）コンバータに伝送される。画像強調システム１１１は、画像１１１を受信し、訓練された機械学習システム１１２を使用して、画像を強調する。例えば、オブジェクト１２０の画像が、オブジェクトがぼやけている、および／または不良なコントラストが存在する、弱光条件において捕捉された場合、画像強調システム１１１は、オブジェクトのぼやけを修正する、および／またはコントラストを改良し得る。画像強調システム１１１は、オブジェクトを人間の眼により明確に識別できるようにしながら、画像の明度をさらに改良し得る。画像強調システム１１１は、さらなる画像処理１２８のために強調画像を出力してもよい。例えば、撮像デバイスは、画像にさらなる処理（例えば、明度、ホワイト、鮮明度、コントラスト）を実施してもよい。画像が、次いで、出力１３０されてもよい。例えば、画像は、撮像デバイスのディスプレイ（例えば、モバイルデバイスのディスプレイ）に出力される、および／または撮像デバイスによって記憶されてもよい。
【００８９】
いくつかの実施形態では、画像強調システム１１１は、具体的タイプの画像センサ１２４を用いた動作のために最適化されてもよい。撮像デバイスによって実施されるさらなる画像処理１２８の前に、画像センサから受信される未加工値に画像強調を実施することによって、画像強調システム１１１は、デバイスの画像センサ１２４のために最適化されてもよい。例えば、画像センサ１２４は、光を捕捉する相補型金属酸化膜半導体（ＣＭＯＳ）シリコンセンサであってもよい。センサ１２４は、入射光量子を電子に変換する複数のピクセルを有してもよく、これは、ひいては、Ａ／Ｄコンバータ１２６の中にフィードされる電気信号を発生させる。別の実施例では、画像センサ１２４は、電荷結合素子（ＣＣＤ）センサであってもよい。いくつかの実施形態は、いずれの特定のタイプのセンサにも限定されない。
【００９０】
いくつかの実施形態では、画像強調システム１１１は、特定のタイプまたはモデルの画像センサを使用して捕捉される訓練画像に基づいて、訓練されてもよい。撮像デバイスによって実施される画像処理１２８は、デバイスの特定の構成および／または設定に基づいて、ユーザの間で異なり得る。例えば、異なるユーザが、選好および用途に基づいて、撮像デバイス設定を異なるように設定させてもよい。画像強調システム１１１は、Ａ／Ｄコンバータから受信される未加工値に強調を実施し、撮像デバイスによって実施される画像処理１２０に起因する変動を排除してもよい。
【００９１】
いくつかの実施形態では、画像強調システム１１１は、Ａ／Ｄコンバータ１２６から受信される数値ピクセル値の形式を変換するように構成されてもよい。例えば、値は、整数値であってもよく、画像強調システム１１１は、ピクセル値を浮動小数点値に変換するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、各ピクセルから黒色レベルを減算するように構成されてもよい。黒色レベルは、いずれの色も示さない、撮像デバイスによって捕捉される画像のピクセルの値であってもよい。故に、画像強調システム１１１は、受信された画像のピクセルから閾値を減算するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、各ピクセルから一定値を減算し、画像内のセンサ雑音を低減させるように構成されてもよい。例えば、画像強調システム１１１は、画像の各ピクセルから６０、６１、６２、または６３を減算してもよい。
【００９２】
いくつかの実施形態では、画像強調システム１１１は、ピクセル値を正規化するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、ピクセル値を、ピクセル値を正規化するための値で除算するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、各ピクセル値を、可能な限り最大のピクセル値と黒色レベルに対応するピクセル値との間の差（例えば、６０、６１、６２、６３）で除算するように構成されてもよい。いくつかの実施形態では、画像強調システム１１１は、各ピクセル値を、捕捉された画像内の最大ピクセル値および捕捉された画像内の最小ピクセル値で除算するように構成されてもよい。
【００９３】
いくつかの実施形態では、画像強調システム１１１は、デモザイキングを受信された画像に実施するように構成されてもよい。画像強調システム１１１は、デモザイキングを実施し、Ａ／Ｄコンバータ１２６から受信されるピクセル値に基づいて、カラー画像を構築してもよい。システム１１１は、ピクセル毎に複数のチャネルの値を発生させるように構成されてもよい。いくつかの実施形態では、システム１１１は、４つの色チャネルの値を発生させるように構成されてもよい。例えば、システム１１１は、赤色チャネル、２つの緑色チャネル、および青色チャネル（ＲＧＧＢ）に関する値を発生させてもよい。いくつかの実施形態では、システム１１１は、ピクセル毎に３つの色チャネルの値を発生させるように構成されてもよい。例えば、システム１１１は、赤色チャネル、緑色チャネル、および青色チャネルに関する値を発生させてもよい。
【００９４】
いくつかの実施形態では、画像強調システム１１１は、画像を複数の部分に分割するように構成されてもよい。画像強調システム１１１は、各部分を別個に強調し、次いで、各部分の強調バージョンを出力強調画像に組み合わせるように構成されてもよい。画像強調システム１１１は、受信された入力毎に機械学習システム１１２への入力を発生させてもよい。例えば、画像は、５００×５００ピクセルのサイズを有してもよく、システム１１１は、画像を１００×１００ピクセル部分に分割してもよい。システム１１１は、次いで、各１００×１００部分を機械学習システム１１２に入力し、対応する出力を取得してもよい。システム１１１は、次いで、各１００×１００部分に対応する出力を組み合わせ、最終画像出力を発生させてもよい。いくつかの実施形態では、システム１１１は、入力画像と同一のサイズである出力画像を発生させるように構成されてもよい。
【００９５】
図２Ａは、いくつかの実施形態による、機械学習システムを訓練するためのプロセス２００を示す。プロセス２００は、図１Ａ−Ｂを参照して上記に説明される訓練段階１１０の一部として実施されてもよい。例えば、プロセス２００は、パラメータ１０２Ａを伴う機械学習システム１０２を訓練し、学習されたパラメータ１１２Ａを伴う訓練された機械学習システム１１２を取得するように実施されてもよい。プロセス２００は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【００９６】
プロセス２００は、システム実行プロセス２００が訓練画像のセットを取得する、ブロック２０２から開始する。本システムは、機械学習システムによって実施されることが予期される、画像の強調を表す訓練画像を取得し得る。いくつかの実施形態では、本システムは、入力画像のセット、および出力画像の対応するセットを取得するように構成されてもよい。出力画像は、入力画像が訓練されている機械学習システムによって発生されるために、標的強調出力を提供する。いくつかの実施形態では、入力画像は、弱光条件において捕捉される画像を表す、画像であってもよい。入力画像はまた、本明細書では「暗い画像」とも称され得る。出力画像は、画像内の照明を増加させた、暗い画像の強調バージョンを表す、対応する出力画像であってもよい。出力画像は、本明細書では「明画像」と称され得る。本システムは、本明細書に説明されるように、デジタルカメラ、ビデオ録画デバイス、および／または同等物を含む、１つ以上の撮像デバイスによって捕捉される訓練画像を取得してもよい。例えば、いくつかの実施形態では、画像は、本明細書に説明される技法を使用して処理され得る、ビデオフレームであり得る。本システムは、有線接続を介して、または無線で（例えば、ネットワーク接続を介して）、画像を受信するように構成されてもよい。
【００９７】
いくつかの実施形態では、本システムは、暗い画像を取得するように構成されてもよい。暗い画像は、弱光条件を模倣するための機構を使用して、１つ以上の場面を捕捉してもよい。いくつかの実施形態では、本システムは、画像を捕捉するために使用される撮像デバイスの露出時間を短縮することによって、暗い画像を取得し得る。対応する明画像が、次いで、撮像デバイスによって使用される露出時間を増加させることによって捕捉されてもよい。いくつかの実施形態では、本システムは、照明をオブジェクトに提供する光源の強度を低減させ、次いで、画像を捕捉することによって、暗い画像を取得し得る。対応する明画像が、次いで、光源の強度を増加させることによって捕捉されてもよい。本発明者らは、減光フィルタの使用が、他の技法よりも正確に弱光条件を表し得ることを認識している。例えば、減光フィルタは、カメラ設定の残りが、画像が通常の光を使用して捕捉された場合と同一のままであることを可能にすることができる。したがって、減光フィルタは、訓練データ内のそれらのカメラ設定を中和することができる。露出時間を短縮すること等によって、他の技法を使用して暗い画像を捕捉するときに、暗い画像は、画像センサの雑音性質を正確に捕捉しない場合がある。露出時間を短縮することは、例えば、センサ内の電子雑音（例えば、熱雑音、暗電流等）の時間を短縮し得る。そのような雑音低減は、したがって、捕捉された画像に、データセット内の電子雑音を現実的に反映させない場合があり、これは、（例えば、暗い画像に固有である雑音を解消および／または抑制する方法を学習するための訓練プロセスの重要な一部であり得るため）画像の処理の重要な一部であり得る。別の実施例として、光源強度を低減させるときに、画像は、依然として、（例えば、いくつかの部分が他の部分よりも多く照明され、これが、訓練ステップに影響を及ぼし得るように）強度の一様な分布を有していない場合がある。減光フィルタを使用して、訓練画像を取得するための例示的プロセス２１０が、図２Ｂを参照して下記に説明される。
【００９８】
いくつかの実施形態は、アプローチの組み合わせを使用して、暗いおよび明画像を取得し得る。例えば、いくつかの減光フィルタは、フィルタが調節される度に、光の量を半減させる方法で減光フィルタ係数を倍にし得るように、離散化されてもよい。したがって、カメラシステムの他の側面が、システムの段階的調節を精緻化するように調節されてもよい。例えば、露出時間は、より精緻化された様式（例えば、フィルタを調節することによって行われるであろうように、光を半減させない）で光を低減させる、調節を可能にするように調節されることができる。
【００９９】
いくつかの実施形態では、本システムは、具体的デバイスを使用して捕捉される訓練画像を取得するように構成されてもよい。いくつかの実施形態では、本システムは、具体的タイプの画像センサを使用して捕捉される訓練画像を取得するように構成されてもよい。例えば、本システムは、特定のタイプの画像センサ（例えば、具体的モデル）から捕捉される訓練画像を受信してもよい。取得された画像は、次いで、特定のタイプの画像センサを採用して、撮像デバイスによって捕捉されるであろう、画像を表し得る。故に、機械学習システムは、特定のタイプの画像センサに関する性能のために最適化されてもよい。
【０１００】
いくつかの実施形態では、訓練画像のセットは、訓練された機械学習システムによる強調のために受信されるであろう、画像を一般化するように選択されてもよい。訓練セットは、異なる撮像デバイス設定に関して変動する、画像のセットを含んでもよい。いくつかの実施形態では、本システムは、画像デバイス捕捉設定の異なる値に関して訓練画像の別個のセットを取得するように構成されてもよい。いくつかの実施形態では、本システムは、撮像デバイスの異なるＩＳＯ設定に関して訓練画像を取得し、撮像デバイスの異なる光感度レベルを表すように構成されてもよい。例えば、本システムは、５０〜２，０００の異なるＩＳＯ設定に関して訓練画像を取得してもよい。高いＩＳＯは、可能な限り多くの信号を提供し得るため、いくつかの用途では望ましくあり得るが、より高いＩＳＯは、付加的雑音を有し得る。したがって、異なるＩＳＯ設定は、異なる雑音特性を有し得る。本明細書にさらに議論されるように、１つ以上のニューラルネットワークが、ＩＳＯを取り扱うように訓練されることができる。例えば、異なるニューラルネットワークが、ＩＳＯ設定毎に訓練されることができる、またはＩＳＯ設定のセットを網羅する１つのニューラルネットワークが、訓練されることができる、もしくはそれらのある組み合わせである。
【０１０１】
訓練画像のセットを取得した後、プロセス２００は、本システムが、取得された訓練画像を使用して機械学習システムを訓練する、行為２０４に進む。いくつかの実施形態では、本システムは、入力が、取得された暗い画像であり、対応する出力が、暗い画像に対応する、取得された明画像である、自動教師あり学習を実施するように構成されてもよい。いくつかの実施形態では、本システムは、教師あり学習を実施し、機械学習システムの１つ以上のパラメータの値を判定するように構成されてもよい。
【０１０２】
いくつかの実施形態では、機械学習システムは、画像強調を実施するように訓練されることになる、１つ以上のニューラルネットワークを含んでもよい。いくつかの実施形態では、機械学習システムは、１つ以上の畳み込みニューラルネットワーク（ＣＮＮ）を含んでもよい。畳み込みニューラルネットワークが、所与の入力画像のために一連の畳み込み動作を実施する。畳み込み動作は、各層において１つ以上のフィルタを使用して、実施される。フィルタで使用されるべき値は、訓練プロセスの間に判定されることになる。いくつかの実施形態では、ＣＮＮはさらに、前の層からの入力を個別の加重で乗算し、次いで、積をともに合計し、値を発生させる、ノードを伴う１つ以上の層を含んでもよい。値は、次いで、ノード出力を発生させるように、アクティブ化機能の中にフィードされてもよい。フィルタ内の値および／または畳み込みニューラルネットワークの係数の値は、訓練プロセスの間に学習されてもよい。
【０１０３】
いくつかの実施形態では、本システムは、損失関数を最適化することによって、機械学習システムのパラメータを訓練するように構成されてもよい。損失関数は、機械学習システムによって発生される出力と標的出力との間の差（例えば、誤差）を規定し得る。例えば、個別の暗い画像に関して、損失関数は、暗い画像の入力に応答して機械学習システムによって発生される強調画像と、訓練セットの中の個別の暗い画像に対応する明画像との間の差を規定し得る。いくつかの実施形態では、本システムは、訓練を実施し、訓練画像の取得されたセットに関する損失関数を最小限にするように構成されてもよい。入力された暗い画像に関して機械学習システムの出力から計算される損失関数の値に基づいて、本システムは、機械学習システムの１つ以上のパラメータを調節してもよい。いくつかの実施形態では、本システムは、最適化関数を使用し、損失関数の値に基づいて機械学習システムのパラメータに行うべき調節を計算するように構成されてもよい。いくつかの実施形態では、本システムは、正確度の閾値レベルが損失関数によって示されるように試験画像に関して到達されるまで、調節を機械学習システムのパラメータに実施するように構成されてもよい。例えば、本システムは、損失関数の最小値が訓練画像に関して取得されるまで、訓練の間にパラメータを調節するように構成されてもよい。いくつかの実施形態では、本システムは、勾配降下アルゴリズムによる調節を判定するように構成されてもよい。いくつかの実施形態では、本システムは、バッチ勾配降下、確率的勾配降下、および／またはミニバッチ勾配降下を実施するように構成されてもよい。いくつかの実施形態では、本システムは、勾配降下を実施する際に適応学習率を使用するように構成されてもよい。例えば、本システムは、ＲＭＳｐｒｏｐアルゴリズムを使用し、勾配降下において適応学習率を実装するように構成されてもよい。
【０１０４】
いくつかの実施形態では、本システムは、異なるおよび／または複数の損失関数を使用するように構成されてもよい。いくつかの実施形態では、本システムは、複数の損失関数の組み合わせを使用するように構成されてもよい。例えば、本システムは、平均絶対誤差（ＭＡＥ）、構造類似性（ＳＳＩＭ）指数、色差損失関数、および／または他の損失関数（例えば、図４と併せて議論されるように、帯域通過画像に適用される損失関数）のうちの１つ以上のものを使用するように構成されてもよい。いくつかの実施形態では、色差は、ピクセルの間のユークリッド距離を使用して計算されてもよい。いくつかの実施形態では、色差は、ピクセルの間のデルタ−Ｅ９４距離メトリックを使用して計算されてもよい。いくつかの実施形態は、特定の色差メトリックに限定されない。いくつかの実施形態では、本システムは、損失関数を１つ以上の個々のチャネル（例えば、赤色チャネル、緑色チャネル、青色チャネル）に適用するように構成されてもよい。
【０１０５】
いくつかの実施形態では、本システムは、下記の図４を参照して説明されるように、特定の範囲の周波数に関して機械学習システムの性能を最適化するために、損失関数を機械学習システムのフィルタ処理された出力に適用するように構成されてもよい。
【０１０６】
いくつかの実施形態では、本システムは、複数の損失関数の線形結合を使用するように構成されてもよい。いくつかの実施形態では、本システムは、画像の１つ以上のチャネルのＭＡＥ、フィルタ処理された出力のＭＡＥ、およびＳＳＩＭの線形結合を使用するように構成されてもよい。例えば、複数の損失関数の組み合わせは、下記の方程式１に示される通りであってもよい。
方程式１：誤差
＝１．６＊赤色チャネルのＭＡＥ＋１．０＊緑色チャネルのＭＡＥ
＋１．６＊青色チャネルのＭＡＥ＋１．４ＳＳＩＭ＋１．５＊周波数フィルタ処理されたＭＡＥ
【０１０７】
いくつかの実施形態では、本システムは、機械学習システムの１つ以上のハイパーパラメータを設定するように構成されてもよい。いくつかの実施形態では、本システムは、自動訓練プロセスを開始することに先立って、ハイパーパラメータの値を設定するように構成されてもよい。ハイパーパラメータは、ニューラルネットワーク内の層の数（本明細書では「ネットワーク深度」とも称される）、ＣＮＮによって使用されるべきフィルタのカーネルサイズ、ＣＮＮで使用するべきフィルタの数の計数、および／または畳み込みプロセスで進められるべきステップのサイズを規定する歩長を含んでもよい。いくつかの実施形態では、本システムは、ニューラルネットワークの各層の出力が、後続の層に入力されることに先立って正規化される、バッチ正規化を採用するように、機械学習システムを構成してもよい。例えば、第１の層からの出力は、第１の層において発生される値の平均を減算し、各値を値の標準偏差で除算することによって、正規化されてもよい。いくつかの実施形態では、バッチ正規化の使用は、訓練可能なパラメータをニューラルネットワークの層に追加してもよい。例えば、本システムは、各ステップにおいて正規化のために使用される、ガンマおよびベータパラメータを追加してもよい。機械学習システムは、層の各出力からベータ値を減算し、次いで、各出力をガンマ値で除算してもよい。いくつかの実施形態では、ニューラルネットワークスペースは、量子化を使用して圧縮されることができる。
【０１０８】
いくつかの実施形態では、機械学習システムのハイパーパラメータは、手動で構成されてもよい。いくつかの実施形態では、機械学習システムのハイパーパラメータは、自動的に判定されてもよい。例えば、大規模算出技法が、異なるパラメータを使用してモデルを訓練するために使用されることができ、結果は、共有記憶装置の中に記憶される。共有記憶装置は、最良モデルを判定し、ひいては、自動様式で最良パラメータ（またはパラメータの値の範囲）を判定するように、クエリを行われることができる。いくつかの実施形態では、本システムは、１つ以上のハイパーパラメータ値と関連付けられる性能を示す、１つ以上の値を記憶するように構成されてもよい。本システムは、ハイパーパラメータ値への調節を自動的に判定し、システムの性能を改良するように構成されてもよい。いくつかの実施形態では、本システムは、データベース内に個別のハイパーパラメータ値を伴って構成されるときに、機械学習システムの性能を示す値を記憶するように構成されてもよい。本システムは、具体的ハイパーパラメータ値を伴って構成されるときに、機械学習システムの性能を示す値に関して、データベースにクエリを行うように構成されてもよい。
【０１０９】
いくつかの実施形態では、機械学習システムは、ＣＮＮを含んでもよい。いくつかの実施形態では、機械学習システムは、深度毎の分離可能な畳み込みおよび完全畳み込みの混合を使用し、機械学習システムが訓練されるために要求される時間を短縮し、続いて、画像の強調を実施するように構成されてもよい。いくつかの実施形態では、深度毎の分離可能な畳み込みおよび完全畳み込みの混合が、機械学習システムのために要求される空間を縮小するために使用されてもよい。例えば、機械学習システムのパラメータの数を削減するためである。
【０１１０】
ブロック２０４において機械学習システムを訓練した後、プロセス２００は、機械学習システムが画像強調のために使用される、ブロック２０６に進む。例えば、訓練された機械学習システムは、１つ以上の受信された画像の強調を実施するために、画像強調システム１１１によって使用されてもよい。いくつかの実施形態では、システム１１１は、画像を取得し、機械学習システムの学習および構成されたパラメータに従って、対応する明画像を発生させるように構成されてもよい。
【０１１１】
図２Ｂは、いくつかの実施形態による、訓練画像のセットを取得するための例示的プロセス２１０を示す。プロセス２１０は、図２を参照して上記に説明されるプロセス２００の一部として実施されてもよい。例えば、プロセス２１０は、画像の訓練セットのための暗い画像および対応する明画像のセットを取得するように実施されてもよい。プロセス２１０は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１１２】
プロセス２１０は、システム実行プロセス２１０が、減光フィルタを使用して捕捉された画像の訓練セットに関して１つ以上の入力画像を取得する、行為２１２から開始する。入力画像は、弱光条件において捕捉される場面の画像を表すことになる、暗い画像であってもよい。いくつかの実施形態では、減光フィルタ（ＮＤ）フィルタを伴う撮像デバイス（例えば、デジタルカメラ）が、画像を捕捉するために使用されてもよい。いくつかの実施形態では、本システムは、撮像デバイスによって捕捉される入力画像を受信してもよい。例えば、本システムは、ネットワーク（例えば、インターネット）を経由して無線伝送を介して、入力画像を受信してもよい。別の実施例では、本システムは、撮像デバイスとの有線接続（例えば、ＵＳＢ）を介して、入力画像を受信してもよい。さらに別の実施例では、入力画像は、撮像デバイスによって捕捉される入力画像が記憶される、別のシステム（例えば、クラウド記憶装置）から受信されてもよい。
【０１１３】
ＮＤフィルタは、ＮＤフィルタが撮像デバイスの画像センサに到達する光の強度を低減させるにつれて、画像が捕捉される、弱光条件をシミュレートし得る。ＮＤフィルタの動作は、下記の方程式２によって説明され得る。
方程式２：Ｉ＝Ｉ０＊１０−ｄ
【０１１４】
方程式２では、Ｉ０は、ＮＤフィルタ上に入射する光の強度であり、ｄは、ＮＤフィルタの密度であり、Ｉは、ＮＤフィルタを通して通過した後の光の強度である。いくつかの実施形態では、ＮＤフィルタは、画像センサに到達することに先立って、それを通して通過する光の強度を変化させる材料から成ってもよい。例えば、ＮＤフィルタは、光が、撮像デバイスに到達することに先立って、ガラスまたは樹脂の部品を通して通過するように、撮像デバイスに入射する光の経路内で画像センサの前に設置されるガラスまたは樹脂の暗色化された部品であってもよい。いくつかの実施形態では、ＮＤフィルタは、フィルタの密度の変動を可能にする、可変ＮＤフィルタであってもよい。これは、ＮＤフィルタが調節されることを可能にし、光強度が低減されることになる量を設定する。いくつかの実施形態では、ＮＤフィルタは、電子制御型ＮＤフィルタであってもよい。電子制御型ＮＤフィルタは、制御された電気信号に基づいて、撮像デバイスの画像センサに到達することに先立って、ＮＤフィルタが光の強度を低減させる可変量を提供し得る。例えば、電子制御型ＮＤフィルタは、光強度が電圧の印加に基づいて低減される量を変化させる、液晶要素から成ってもよい。電圧は、撮像デバイスによって制御されてもよい。
【０１１５】
いくつかの実施形態では、入力画像が、種々のレベルの弱光条件をシミュレートするように、複数の異なるＮＤフィルタ密度設定を使用して、ブロック２１２において取得されてもよい。例えば、場面の複数の画像が、ＮＤフィルタに関して異なる密度設定を使用して、捕捉されてもよい。いくつかの実施形態では、画像が、単一のＮＤフィルタ密度設定を使用して、取得されてもよい。
【０１１６】
いくつかの実施形態では、入力画像は、撮像デバイスの異なる画像捕捉設定を横断して、ブロック２１２においてＮＤフィルタを使用して取得されてもよい。例えば、入力画像は、撮像デバイスの露出時間、ＩＳＯ設定、シャッタ速度、および／または開口の異なる設定のためにＮＤフィルタを使用して、捕捉されてもよい。故に、画像の訓練セットが、画像が捕捉され得る、広範囲の撮像デバイス構成を反映し得る。
【０１１７】
ブロック２１２において入力画像を捕捉した後、プロセス２１０は、本システムが、ブロック２１２において取得される入力画像に対応する１つ以上の出力画像を取得する、ブロック２１４に進む。入力画像を捕捉するために使用された撮像デバイスが、ＮＤフィルタを用いることなく、出力画像を捕捉するために使用されてもよい。したがって、出力画像は、入力画像の強調バージョンを表し得る。いくつかの実施形態では、出力画像は、撮像デバイスの異なる画像捕捉設定を横断して捕捉されてもよい。例えば、出力画像が、入力画像を捕捉するために使用された撮像デバイス構成毎に捕捉されてもよい。故に、訓練セットの中の出力画像は、画像が捕捉され得る、撮像デバイス構成の範囲を反映し得る。
【０１１８】
次に、プロセス２１０は、本システムが、画像の訓練セットの中に含まれることになる、全ての場面に関する入力画像および対応する出力画像が捕捉されたかどうかを判定する、ブロック２１６に進む。いくつかの実施形態では、本システムは、閾値数の場面が捕捉されたかどうかを判定するように構成されてもよい。例えば、本システムは、機械学習システムを訓練するための適切な多様性を提供する、閾値数の場面が捕捉されたかどうかを判定してもよい。いくつかの実施形態では、本システムは、場面の十分な多様性が取得されたかどうかを判定するように構成されてもよい。いくつかの実施形態では、本システムは、画像が訓練セットの中の画像内のオブジェクトの数の十分な多様性のために取得されたかどうかを判定するように構成されてもよい。いくつかの実施形態では、本システムは、画像が訓練セットの画像内の色の十分な多様性のために取得されたかどうかを判定するように構成されてもよい。
【０１１９】
ブロック２１６において、本システムが、画像の訓練セットの全ての場面に関する画像が取得されたことを判定する場合、プロセス２１０は、本システムが、機械学習システムを訓練するために取得された入力および出力画像を使用する、ブロック２１８に進む。入力および出力画像は、図２Ａを参照して上記に説明されるように、機械学習システムの１つ以上の機械学習モデルを訓練するために使用されてもよい。例えば、取得された入力および出力画像は、図１Ａ−Ｂを参照して上記に説明される画像強調システム１１１によって画像を強調するために使用される、１つ以上のニューラルネットワークを訓練するために、システムによって使用されてもよい。
【０１２０】
ブロック２１６において、本システムが、画像の訓練セットの全ての場面に関する画像が取得されていないことを判定する場合、プロセス２１０は、本システムが、別の場面に関する１つ以上の画像を取得する、ブロック２１２に進む。本システムは、次いで、再度、ブロック２１２−２１４におけるステップを実施し、画像の訓練セットに追加されるべき場面の入力画像および対応する出力画像の別のセットを取得してもよい。
【０１２１】
図２Ｃは、いくつかの実施形態による、訓練画像のセットを取得するための別の例示的プロセス２３０を示す。プロセス２１０および２３０は、別個の図と併せて説明されるが、いずれかおよび／または両方のプロセスの技法が、訓練画像を取得するために使用され得ることを理解されたい。例えば、いくつかの実施形態は、プロセス２１０と併せて説明される減光技法、プロセス２３０と併せて説明される平均化技法、および／または他の技法を使用し、本明細書にさらに説明されるような機械学習システムを訓練するために使用され得る、訓練画像を取得してもよい。プロセス２１０のように、プロセス２３０は、図２を参照して上記に説明されるプロセス２００の一部として実施されてもよい。例えば、プロセス２３０は、画像の訓練セットに関して暗い画像および対応する明画像のセットを取得するように実施されてもよい。プロセス２３０は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１２２】
プロセス２３０は、システム実行プロセス２３０が、画像の訓練セットに関して１つ以上の入力画像を取得する、行為２３２から開始する。いくつかの実施形態では、入力画像は、通常の露出時間（例えば、場面内の雑音および／または光を増加ならびに／もしくは減少させるように設計される、修正された露出時間ではない）を使用して撮影される、雑音の多い画像および／または暗い画像であり得る。いくつかの実施形態では、入力画像は、比較的に高いＩＳＯ値を使用して捕捉されることができる。高いＩＳＯ値は、例えば、デジタルサンプリングプロセスにおいて低強度ピクセル値の量子化正確度を改良する、および／または最大限にすることに役立ち得る。いくつかの実施形態では、入力画像は、例えば、約１，５００〜５００，０００に及ぶＩＳＯおよび／または高いＩＳＯ値と見なされる他のＩＳＯ値（例えば、画像をより明るく見せるために十分に高いＩＳＯ値であり、また、画像内の雑音を増加させ得る）を使用して、捕捉されることができる。いくつかの実施形態では、ＩＳＯ値は、約１，５００〜５００，０００に及ぶ閾値および／または同等物等のＩＳＯ閾値を上回り得る。
【０１２３】
プロセス２３０は、行為２３２から行為２３４に進み、本システムは、入力画像毎に、入力画像によって捕捉される同一の場面の対応する出力画像を取得する。いくつかの実施形態では、本システムは、複数の別個に捕捉された画像（例えば、ステップ２３２において取得される入力画像および／または別個の画像を含む）を使用して、出力画像を取得し、複数の画像を使用して、出力画像を判定することができる。いくつかの実施形態では、出力画像を判定するために使用される画像のセットは、行為２３２において入力画像を捕捉するために使用される、同一および／または類似設定（例えば、露出時間、ＩＳＯ等）を用いて捕捉されることができる。いくつかの実施形態では、行為２３２および２３４は、別個の行為として示されるが、行為は、画像の単一のセットを捕捉することによって実施されることができる。例えば、本システムは、いくつかの画像を捕捉するように構成されることができ、本システムは、入力フレームとなるべき捕捉された画像のうちのいずれか１つを選定することができ、出力画像は、セットの中の残りの画像および／またはセットの中の全ての画像（入力画像として選択される画像を含む）に基づいて、発生されることができる。
【０１２４】
いくつかの実施形態では、本システムは、対応する出力画像を判定するために使用するべき所定数の画像を使用および／または捕捉するように構成されることができる。例えば、本システムは、５０枚の画像、１００枚の画像、１，０００枚の画像、および／または同等物を捕捉するように構成されることができる。例えば、捕捉される画像の数は、より多くの画像内の点平均化が信号対雑音比にわずかな改良のみを提供する、数であり得る。いくつかの実施形態では、本システムは、異なる数の画像を使用するように構成されてもよい。
【０１２５】
いくつかの実施形態では、画像のセットの中の各画像が、（例えば、出力画像を判定するために使用される画像のセットを捕捉しながら、撮像デバイスの温度を軽減および／または制御することに役立つために）撮像デバイスが冷却することを可能にするように、連続捕捉の合間の休止周期を使用して、捕捉されることができる。例えば、短い露出（例えば、入力画像を捕捉するために使用される同一のもの）が、画像のセットの中の画像のそれぞれを捕捉するために使用されることができ、冷却間隔（例えば、０．２５秒、０．５秒、１秒、２秒等の休止周期）が、行為２３２において判定される入力フレームを捕捉するときのものと一致する撮像デバイスの雑音性質を保つことに役立つために使用されることができる。したがって、行為２３２において入力画像を捕捉するために使用される同一の設定の下で捕捉される画像のセットを使用することによって、同一および／または類似雑音性質を呈する出力画像が、発生されることができる。
【０１２６】
いくつかの実施形態では、本システムは、複数の画像を横断してピクセル毎に強度を平均化することによって、出力画像を判定することができる。例えば、いくつかの実施形態では、本システムは、各ピクセル場所において画像のセットを横断して算術平均を判定することができる。いくつかの実施形態では、線形結合を判定すること、および／または画像のセットを処理し、入力画像の雑音除去されたバージョンに類似する出力画像を発生させる任意の他の機能等の他の技法も、使用されることができる。いくつかの実施形態では、出力画像は、雑音除去後処理技法を使用して処理される。
【０１２７】
次に、プロセス２３０は、本システムが、画像の訓練セットの中に含まれることになる、全ての場面に関する入力画像および対応する出力画像が捕捉されたかどうかを判定する、ブロック２３６に進む。いくつかの実施形態では、プロセス２１０と併せて説明されるように、本システムは、閾値数の場面が捕捉されたかどうかを判定するように構成されてもよい。
【０１２８】
ブロック２３６において、本システムが、画像の訓練セットの全ての場面に関する画像が取得されたことを判定する場合、プロセス２３０は、本システムが、機械学習システムを訓練するために取得された入力および出力画像を使用する、ブロック２３８に進む。入力および出力画像は、図２Ａを参照して上記に説明されるように、機械学習システムの１つ以上の機械学習モデルを訓練するために使用されてもよい。例えば、取得された入力および出力画像は、図１Ａ−Ｂを参照して上記に説明される画像強調システム１１１によって画像を強調するために使用される、１つ以上のニューラルネットワークを訓練するために、システムによって使用されてもよい。画像のセットに基づいて出力画像を判定することによって（例えば、本明細書に説明されるように、捕捉の合間の冷却間隔を伴ってとられる短い露出を平均化することによって）、本技法は、機械学習システムが、（例えば、入力画像と異なる雑音特性を呈する出力画像を使用することと比較して）より単純な変換関数を学習することを可能にすることができる、より圧縮性のニューラルネットワークモデルを可能にすることができる、および／または同等物である。
【０１２９】
ブロック２３６において、本システムが、画像の訓練セットの全ての場面に関する画像が取得されていないことを判定する場合、プロセス２３０は、本システムが、別の場面に関する１つ以上の画像を取得する、ブロック２３２に進む。本システムは、次いで、再度、ブロック２３２−２３４におけるステップを実施し、画像の訓練セットに追加されるべき場面の入力画像および対応する出力画像の別のセットを取得してもよい。
【０１３０】
図３Ａは、いくつかの実施形態による、入力および出力画像の一部を使用して、機械学習システムを訓練するためのプロセス３００を示す。プロセス３００は、図２を参照して上記に説明されるプロセス２００の一部として実施されてもよい。例えば、プロセス３００は、弱光条件において捕捉される画像を強調するために画像強調システム１１１によって使用されることになる、機械学習システムを訓練することの一部として実施されてもよい。プロセス３００は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１３１】
本発明者らは、機械学習システムへの入力のサイズが縮小される場合、機械学習システム（例えば、本システムが「暗い」画像を「明」画像に変換する処理速度）がより高速にされ得ることを認識している。より小さい入力サイズを用いると、機械学習システムは、より少ないパラメータ、および実施するべきより少ない動作を有し得、したがって、より迅速に実行されることができる。より小さい入力サイズはまた、機械学習システムの１つ以上のパラメータを訓練するために要求される訓練時間を短縮し得る。より小さい入力サイズを用いると、機械学習システムは、値が学習される必要がある、より少ないパラメータを有し得る。これは、ひいては、訓練の間にシステムによって実施されるべき算出の数を削減する。故に、機械学習システムへのより小さい入力は、システムが機械学習システムをより効率的に訓練することを可能にする。
【０１３２】
プロセス３００は、システム実施プロセス３００が、訓練セットの中の入力画像のそれぞれを複数の画像部分に分割する、ブロック３０２から開始する。入力画像は、例えば、未加工高解像度画像であってもよい。いくつかの実施形態では、本システムは、個別の入力画像を等しく定寸された部分のグリッドに分割するように構成されてもよい。限定的であることを意図していない、単純な例証的実施例として、サイズ５００×５００の入力画像が、１００×１００画像部分のグリッドに分割されてもよい。いくつかの実施形態では、本システムは、入力画像が分割されることになる画像部分のサイズを動的に判定するように構成されてもよい。例えば、本システムは、画像を分析し、画像内のオブジェクトを識別するように構成されてもよい。本システムは、画像部分が完全なオブジェクトを含むことを確実にする、画像部分のサイズを判定してもよい。いくつかの実施形態では、本システムは、画像部分のサイズを判定し、訓練時間および／または画像強調のために要求される時間を最小限にするように構成されてもよい。例えば、本システムは、画像部分のサイズの入力を処理することになる、機械学習システムを訓練するための予期される時間に基づいて、画像部分のサイズを判定してもよい。別の実施例では、本システムは、機械学習システムが画像強調を実施するために使用されるときのサイズを有する入力を処理するための予期される時間に基づいて、画像部分のサイズを判定してもよい。いくつかの実施形態では、本システムは、全ての入力画像を同一のサイズの部分に分割するように構成されてもよい。いくつかの実施形態では、本システムは、入力画像を異なるサイズの部分に分割するように構成されてもよい。
【０１３３】
次に、プロセス３００は、本システムが、対応する出力画像を画像部分に分割する、ブロック３０４に進む。いくつかの実施形態では、本システムは、対応する入力画像が分割されたものと同一の様式で、出力画像を部分に分割するように構成されてもよい。例えば、５００×５００入力画像が、１００×１００画像部分に分割された場合、訓練セットの中の対応する出力画像もまた、１００×１００画像部分に分割されてもよい。
【０１３４】
次に、プロセス３００は、本システムが、機械学習システムを訓練するために入力画像部分および出力画像部分を使用する、ブロック３０６に進む。いくつかの実施形態では、本システムは、機械学習システムを訓練するための教師あり学習を実施するために、個々の入力および対応する出力として入力画像部分および出力画像部分を使用するように構成されてもよい。いくつかの実施形態では、訓練される機械学習システムに従って、入力画像部分は、暗い画像のセットを形成してもよく、出力画像部分は、対応する明画像のセットを形成してもよい。
【０１３５】
図３Ｂは、いくつかの実施形態による、画像を部分に分割することによって画像を強調するためのプロセス３１０を示す。プロセス３１０は、画像を強調することの一部として実施されてもよい。例えば、プロセス３１０は、撮像デバイスから取得される画像を強調することの一部として、画像強調システム１１１によって実施されてもよい。プロセス３１０は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１３６】
プロセス３１０は、システム実行プロセス３１０が、入力画像を受信する、ブロック３１２から開始する。いくつかの実施形態では、本システムは、撮像デバイス（例えば、デジタルカメラ）によって捕捉される画像を取得してもよい。例えば、本システムは、撮像デバイスから画像を受信してもよい。別の実施例では、本システムは、撮像デバイス上のアプリケーションの一部として実行され、撮像デバイスの記憶装置から撮像デバイスによって捕捉された画像にアクセスしてもよい。さらに別の実施例では、本システムは、撮像デバイスと別個の別のシステム（例えば、クラウド記憶装置）から捕捉された画像を取得してもよい。
【０１３７】
次に、プロセス３１０は、本システムが、画像を複数の画像部分に分割する、ブロック３１４に進む。いくつかの実施形態では、本システムは、機械学習システムを訓練するときに画像の訓練セットの中の入力画像が分割された、同一に定寸された入力部分に画像を分割するように構成されてもよい。いくつかの実施形態では、本システムは、画像を複数の等しく定寸された部分に分割するように構成されてもよい。いくつかの実施形態では、本システムは、画像を分析し、部分のサイズを判定し、次いで、判定されたサイズを有する部分に画像を分割するように構成されてもよい。例えば、本システムは、画像内の１つ以上のオブジェクトを識別し、オブジェクトの識別に基づいて、画像部分のサイズを判定するように構成されてもよい。いくつかの実施形態では、本システムは、画像部分のサイズを判定し、部分内のコントラスト変化の影響を軽減するように構成されてもよい。例えば、１００×１００サイズの画像部分が、間に大きいコントラストが存在するオブジェクトを有する場合、画像部分は、画像部分内のコントラスト差の影響を低減させるように拡張されてもよい。
【０１３８】
次に、プロセス３１０は、本システムが、ブロック３１４において取得される複数の画像部分のうちの１つを選択する、ブロック３１６に進む。いくつかの実施形態では、本システムは、画像部分のうちの１つを無作為に選択するように構成されてもよい。いくつかの実施形態では、本システムは、オリジナル画像内の画像部分の位置に基づいて、シーケンス内の画像部分のうちの１つを選択するように構成されてもよい。例えば、本システムは、画像内の具体的な点（例えば、具体的ピクセル位置）から開始する画像部分を選択してもよい。
【０１３９】
次に、プロセス３１０は、本システムが、選択された画像部分を機械学習システムへの入力として使用する、ブロック３１８に進む。いくつかの実施形態では、機械学習システムは、弱光条件において捕捉される画像に関して画像強調を実施するための訓練された機械学習システムであってもよい。例えば、機械学習システムは、図１Ａ−Ｂを参照して上記に説明され、図２を参照して説明されるプロセス２００に従って訓練される、訓練された機械学習システム１１２であってもよい。機械学習システムは、選択された画像部分が入力として使用され得る、１つ以上のモデル（例えば、ニューラルネットワークモデル）を含んでもよい。本システムは、選択された画像部分を機械学習モデルに入力してもよい。
【０１４０】
次に、プロセス３１０は、本システムが、対応する出力画像部分を取得する、ブロック３２０に進む。いくつかの実施形態では、本システムは、機械学習システムの出力を取得してもよい。例えば、本システムは、画像部分が入力された、訓練されたニューラルネットワークモデルの出力を取得してもよい。機械学習システムの出力は、入力画像部分の強調バージョンであってもよい。例えば、入力画像部分は、弱光条件において撮影されている場合がある。結果として、画像部分内の１つ以上のオブジェクトは、可視ではない場合がある、ぼやけている場合がある、または画像部分は、不良なコントラストを有し得る。対応する出力画像は、オブジェクトが可視で明確であり、画像部分が改良されたコントラストを有するように、増加した照明を有し得る。
【０１４１】
次に、プロセス３１０は、本システムが、最初に受信された画像が分割された画像部分の全てが処理されたかどうかを判定する、ブロック３２２に進む。例えば、オリジナル画像が、５００×５００のサイズを有し、１００×１００画像部分に分割された場合、本システムは、１００×１００画像部分のそれぞれが処理されたかどうかを判定してもよい。本システムは、１００×１００画像部分のそれぞれが機械学習システムに入力されたかどうか、および対応する出力部分が入力部分毎に取得されたかどうかを判定してもよい。
【０１４２】
ブロック３２２において、本システムが、処理されていない受信された画像の部分が存在することを判定する場合、プロセス３１０は、本システムが、別の画像部分を選択し、ブロック３１８−３２０を参照して上記に説明されるように画像部分を処理する、ブロック３１６に進む。ブロック３２２において、本システムが、全ての画像部分が処理されたことを判定する場合、プロセス３１０は、本システムが、取得された出力画像部分を組み合わせ、出力画像を発生させる、ブロック３２４に進む。いくつかの実施形態では、本システムは、機械学習システムの出力から発生される出力画像部分を組み合わせ、出力画像を取得するように構成されてもよい。例えば、オリジナル画像が、１００×１００部分に分割された５００×５００画像であった場合、本システムは、１００×１００画像の機械学習システムからの出力を組み合わせてもよい。本システムは、最初に取得された画像内の対応する入力画像部分の位置に１００×１００出力画像部分のそれぞれを位置付け、出力画像を取得するように構成されてもよい。出力画像は、ブロック３１２において取得される画像の強調バージョンであってもよい。例えば、オリジナル画像は、弱光条件において撮像デバイスによって捕捉されている場合がある。取得された出力画像は、オリジナル画像内で捕捉される場面の表示を改良する、捕捉された画像の強調バージョン（例えば、改良されたコントラストおよび／または低減されるぼやけ）であってもよい。
【０１４３】
図２Ａを参照して上記に説明されるように、いくつかの実施形態では、機械学習システムは、機械学習システムに入力される画像部分に１つ以上の畳み込み動作を実施するように構成されてもよい。畳み込み動作が、フィルタカーネルと入力画像部分のピクセル値との間で実施されてもよい。畳み込み動作は、畳み込みが実施されている画像部分内のピクセル位置を囲繞する、ピクセル値の線形結合をとることによって、対応する畳み込み出力の値を判定することを伴い得る。例えば、フィルタカーネルが、３×３行列である場合、畳み込み動作は、個別のピクセル位置の周囲の３×３行列内のピクセルのピクセル値をカーネル内の加重で乗算し、それらを合計して、畳み込み動作の出力における個別のピクセル位置に関する値を取得することを伴い得る。畳み込み動作を実施する際に生じる１つの問題は、画像部分の縁におけるピクセル位置が、位置の全ての側面上で個別のピクセル位置を囲繞するピクセルを有していない場合があることである。例えば、３×３カーネル行列を用いた畳み込み動作に関して、画像部分の左縁上のピクセル位置は、カーネルが畳み込まれ得る、その左側にいずれのピクセルも有していないであろう。これに対処するために、従来のシステムは、０値ピクセルで画像部分をパッドしてもよい。しかしながら、これは、０値ピクセルが撮像デバイスによって捕捉される画像からの情報を表さないため、画像部分の縁上に歪みを引き起こし得る。
【０１４４】
図３Ｃは、いくつかの実施形態による、機械学習システムによって実施されるフィルタリング動作の間の縁歪みの上記に説明される問題を軽減するためのプロセス３３０を示す。プロセス３３０は、機械学習システムの訓練および／または画像強調の間に実施されてもよい。例えば、プロセス３３０は、弱光条件において捕捉される画像を強調するために画像強調システム１１１によって使用されることになる、機械学習システムを訓練することの一部として実施され、続いて、画像強調の間に強調システム１１１によって実施されてもよい。プロセス３３０は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１４５】
プロセス３３０は、システム実施プロセス３３０が、画像部分を取得する、ブロック３３２から開始する。画像部分は、図３Ａ−Ｂを参照してプロセス３００および３１０を用いて上記に説明されるように取得されてもよい。
【０１４６】
次に、プロセス３３０は、本システムが、画像部分の切り取られた部分を判定する、ブロック３３４に進む。いくつかの実施形態では、本システムは、切り取られた部分の縁の周囲にいくつかのピクセルを有する、画像部分の切り取られた部分を判定してもよい。例えば、画像部分が、１００×１００画像である場合、本システムは、１００×１００画像の中心における９８×９８画像である画像部分の切り取られた部分を判定してもよい。したがって、画像部分の切り取られた部分は、画像部分の縁を囲繞するピクセルを有する。これは、切り取られた部分の縁におけるピクセルが畳み込み動作のための囲繞ピクセルを有することを確実にし得る。
【０１４７】
次に、プロセス３３０は、本システムが、画像部分の切り取られた部分を機械学習システムへの入力として使用する、ブロック３３６に進む。いくつかの実施形態では、本システムは、入力としてオリジナル画像部分全体をパスするが、フィルタ動作（例えば、畳み込み）を画像部分の切り取られた部分に適用するように構成されてもよい。これは、機械学習システムの出力から発生される、強調出力画像部分の縁における歪みを排除し得る。例えば、畳み込み動作が、１００×１００画像部分の９８×９８の切り取られた部分に３×３フィルタカーネルを用いて実施される場合、９８×９８の切り取られた部分の縁におけるピクセルに実施される畳み込みは、３×３フィルタカーネル内の位置のそれぞれと整合するピクセルを有するであろう。これは、０値ピクセルで画像部分をパッドすること等の従来の技法と比較して、縁歪みを低減させ得る。
【０１４８】
いくつかの実施形態では、本システムは、付加的ピクセルを組み込み、システムによって実施されることになる後続の切り取り動作を考慮する、画像部分サイズを判定してもよい（例えば、本システムは、結果として生じる処理された部分をともにスティッチし、完全強調画像を作成することに先立って、画像の強調部分を切り取ってもよい）。例えば、本システムが、続いて、画像部分の切り取られた１００×１００部分にフィルタリング動作を実施し得るため、本システムは、１０２×１０２のサイズを伴う画像部分を取得するように構成されてもよい。フィルタリング動作の間に付加的ピクセルを除去することによって、切り取られた部分は、上記に議論される縁効果がなくなり得る。
【０１４９】
図４は、いくつかの実施形態による、機械学習システムを訓練するためのプロセス４００を示す。プロセス４００は、画像内の特定の周波数範囲に関して機械学習システムを最適化するように実施されてもよい。例えば、機械学習システムが人間によって知覚可能である周波数範囲内で最良に機能することを確実にするためである。プロセス４００は、画像強調を実施するために使用されるべき機械学習システムを訓練することの一部として（例えば、図２Ａを参照して上記に説明されるプロセス２００の一部として）実施されてもよい。プロセス４００は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１５０】
プロセス４００は、システム実施プロセス４００が、機械学習システムを訓練するために使用されている画像の訓練セットからの標的画像、および機械学習システムによって発生される対応する出力画像を取得する、ブロック４０２から開始する。標的画像は、訓練される機械学習システムに従って、対応する暗い画像の標的強調出力を表す、明画像であってもよい。機械学習システムによって発生される出力画像は、機械学習システムの訓練の間に機械学習システムによって発生される、実際の出力画像であってもよい。
【０１５１】
次に、プロセス４００は、本システムが、フィルタを出力画像および標的画像に適用する、ブロック４０４に進む。いくつかの実施形態では、本システムは、周波数フィルタを出力画像および標的画像に適用し、周波数の１つ以上の特定の範囲をそれぞれ含む、フィルタ処理された標的画像およびフィルタ処理された出力画像を取得してもよい。いくつかの実施形態では、フィルタは、ある範囲内の周波数を通過させ、範囲外の周波数を減衰させる、帯域通過フィルタを備えてもよい。いくつかの実施形態では、周波数範囲は、人間によって知覚可能である周波数の範囲であってもよい。例えば、帯域通過フィルタは、４３０ＴＨｚ〜７７０ＴＨｚの範囲内の周波数を通過させてもよい。
【０１５２】
いくつかの実施形態では、フィルタを出力画像または標的画像のうちの個別のものに適用するために、本システムは、個別の画像を周波数ドメインに変換してもよい。例えば、本システムは、個別の画像をフーリエ変換し、周波数ドメイン内の対応する画像を取得してもよい。フィルタは、周波数ドメイン内の関数として定義されてもよい。フィルタを変換された画像に適用するために、本システムは、フィルタ関数をフーリエ変換された画像で乗算し、フィルタ処理された出力を取得するように構成されてもよい。本システムは、次いで、フィルタ処理された出力の結果を逆フーリエ変換し、フィルタ処理された画像を取得してもよい。
【０１５３】
次に、プロセス４００は、本システムが、フィルタ処理された標的画像および出力画像に基づいて、機械学習システムを訓練する、ブロック４０６に進む。訓練の間に、機械学習システムによって出力される実際の画像は、機械学習システムの性能を判定するように、訓練セットからの標的画像と比較されてもよい。例えば、本システムは、１つ以上の誤差メトリックに従って、標的画像と出力画像との間の誤差を判定してもよい。誤差メトリックの結果は、訓練の間に機械学習システムの１つ以上のパラメータに行うべき調節を判定するために使用されてもよい。ブロック４０６では、本システムは、対応するフィルタ処理された出力画像とフィルタ処理された標的画像との間の差に基づいて、出力画像と標的画像との間の誤差を判定してもよい。いくつかの実施形態では、本システムは、フィルタ処理された画像に基づいて、１つ以上の誤差メトリックの値を判定するように構成されてもよい。いくつかの実施形態では、本システムは、フィルタ処理された出力画像とフィルタ処理された標的画像との間のチャネル毎の平均絶対誤差（ＭＡＥ）を判定するように構成されてもよい。いくつかの実施形態では、本システムは、フィルタ処理された画像の間の二乗平均平方根誤差（ＲＭＳＥ）を判定するように構成されてもよい。いくつかの実施形態は、加えて、または代替として、１つ以上の他の誤差メトリックを使用してもよい。本システムは、次いで、判定された誤差に基づいて、機械学習システムのパラメータへの調節を判定してもよい。例えば、本システムは、本システムが機械学習システムを訓練するように実行している勾配降下アルゴリズムにおける判定された誤差を使用して、調節を判定するように構成されてもよい。
【０１５４】
フィルタ処理された標的画像とフィルタ処理された出力画像との間の誤差に基づいて、機械学習システムを訓練することによって、本システムは、特定の範囲の周波数に関して機械学習システムの性能を最適化し得る。いくつかの実施形態では、本システムは、人間によって知覚可能である周波数の範囲に関して機械学習システムを最適化するように構成されてもよい。例えば、機械学習システムは、人間によって知覚可能である光波または周波数に関して、より正確に画像を強調するように訓練されてもよい。
【０１５５】
図５は、いくつかの実施形態による、機械学習システムを訓練するための画像の訓練セットのうちの画像を発生させるためのプロセス５００を示す。プロセス５００は、機械学習システムの性能への撮像デバイスのコンポーネントからの雑音の影響を低減させるように実施されてもよい。プロセス５００は、画像強調を実施するために使用されるべき機械学習システムを訓練することの一部として（例えば、図２Ａを参照して上記に説明されるプロセス２００の一部として）実施されてもよい。プロセス５００は、本技術の側面が本点において限定されないため、１つ以上のハードウェアプロセッサを含む、任意のコンピューティングデバイスを使用して実施されてもよい。
【０１５６】
プロセス５００は、システム実施プロセス５００が、撮像デバイスに対応する１つ以上の雑音画像を取得する、ブロック５０２から開始する。雑音画像は、撮像デバイスのコンポーネントによって発生される雑音を特徴付け得る。例えば、画像内の雑音が、撮像デバイスの電気回路内の無作為な変動によって引き起こされ得る。いくつかの実施形態では、雑音画像は、ゼロに近い露出において撮像デバイスによって捕捉される画像であってもよい。ゼロに近い露出において捕捉される画像内のピクセル値は、撮像デバイスによって発生される雑音によって引き起こされ得る。いくつかの実施形態では、ゼロに近い露出の画像が、１，０００、１，０５０、１，１００、１，１５０、１，２００、１，２５０、１，３００、１，３５０、１，４００、１，４５０、および／または１，５００のＩＳＯ設定を使用することによって、捕捉され得る。いくつかの実施形態では、ゼロに近い露出の画像が、５０、５１、５２、５３、５４、５５、５６、５７、５８、５９、６０、６１、６２、６３、６４、６５、６６、６７、６８、６９、または７０ミリ秒の露出時間を使用することによって、捕捉され得る。いくつかの実施形態では、ゼロに近い露出の画像が、５０ミリ秒、５５ミリ秒、６０ミリ秒、６５ミリ秒、７０ミリ秒、７５ミリ秒、または８０ミリ秒未満の露出時間を使用して、捕捉され得る。いくつかの実施形態では、ゼロに近い露出の画像が、光がレンズに入射しないように防止することによって、捕捉され得る。いくつかの実施形態では、ゼロに近い露出の画像が、本明細書に説明される技法の組み合わせを使用して、捕捉され得る。
【０１５７】
いくつかの実施形態では、本システムは、撮像デバイスの具体的設定に対応する、１つ以上の雑音画像を取得するように構成されてもよい。いくつかの実施形態では、雑音画像は、撮像デバイスの特定のＩＳＯ設定に対応し得る。雑音画像は、特定のＩＳＯ設定を伴って構成されるときに撮像デバイスによって捕捉され得る。このように、本システムは、機械学習システムが、異なるＩＳＯ設定に関して正確に機能することができるように、種々の異なるＩＳＯ設定に関して機械学習システムを一般化し得る、訓練セットの中の画像を含んでもよい。
【０１５８】
次に、プロセス５００は、本システムが、雑音画像に対応する、１つ以上の出力標的画像を発生させる、ブロック５０４に進む。標的画像は、機械学習システムが強調のために機械学習システムに入力される画像内の雑音を扱うことになる方法を表す、画像であってもよい。いくつかの実施形態では、本システムは、０の値を有する全てのピクセルを伴う画像として、標的出力画像を発生させるように構成されてもよい。これは、続いて、機械学習システムを訓練し、強調のために処理される画像内で検出されるセンサ雑音の影響を排除し得る。
【０１５９】
次に、プロセス５００は、本システムが、雑音画像および対応する出力標的画像を使用し、機械学習システムを訓練する、ブロック５０６に進む。いくつかの実施形態では、本システムは、教師あり学習スキームで機械学習システムを訓練するための画像の訓練セットの一部として、入力画像および出力標的画像を使用するように構成されてもよい。いくつかの実施形態では、本システムは、機械学習システムを訓練し、強調のために機械学習システムによって処理される画像内に存在する雑音の影響を中和してもよい。
【０１６０】
いくつかの実施形態では、本システムは、雑音画像を訓練セットの１つ以上の入力画像と組み合わせるように構成されてもよい。いくつかの実施形態では、本システムは、雑音画像を入力画像と連結することによって、雑音画像を訓練セットの入力画像と組み合わせるように構成されてもよい。本システムは、入力画像の別個のチャネルとして雑音画像ピクセル値を付加することによって、雑音画像を連結してもよい。例えば、入力画像は、１つの赤色、２つの緑色、および１つの青色チャネルを有してもよい。雑音画像もまた、１つの赤色、２つの緑色、および１つの青色チャネルを有してもよい。雑音画像のチャネルは、付加的チャネルとして付加され、したがって、入力画像に合計８つのチャネル（すなわち、雑音画像の付加された１つの赤色、２つの緑色、および１つの青色チャネルとともに、オリジナルの１つの赤色、２つの緑色、および１つの青色チャネル）を与え得る。いくつかの実施形態では、雑音画像のチャネルは、入力画像のものと異なり得る。
【０１６１】
いくつかの実施形態では、本システムは、入力画像のピクセル値を雑音画像のものと組み合わせることによって、雑音画像を訓練セットの１つ以上の入力画像と組み合わせるように構成されてもよい。例えば、雑音画像のピクセル値は、入力画像のものに加算される、またはそこから減算されてもよい。別の実施例では、雑音画像のピクセル値は、加重され、次いで、入力画像のピクセル値と組み合わせられてもよい。
【０１６２】
図６は、本明細書に説明される技術のいくつかの実施形態による、本明細書に説明される技術の側面が実装され得る、例示的システム１５０を示す。システム１５０は、ディスプレイ１５２と、撮像デバイス１５４と、訓練システム１５６とを含む。ディスプレイ１５２は、ビデオデータ１５８のフレームを表示するために使用される。撮像デバイス１５４は、ディスプレイ１５２によって表示されるビデオフレームの画像を捕捉するように構成される。撮像デバイス１５４は、図１Ａと併せて議論されるように、独立型デジタルカメラ１１４Ａまたはスマートフォン１１４Ｂのデジタルカメラ等の任意の撮像デバイスであり得る。訓練システム１５６は、例えば、図１Ａに示される訓練システム１１０であってもよく、訓練システム１１０と併せて説明されるように、機械学習モデルを訓練するために使用される、訓練画像１６０を発生させることができる。ビデオデータ１５８は、セットトップボックスを通して、ビデオ再生デバイス（例えば、コンピュータ、ＤＶＤプレーヤ、再生能力を伴うビデオレコーダ、および／または同等物）を通して、コンピューティングデバイス（例えば、訓練システム１５６および／または別個のコンピューティングデバイス）を通して、ならびに／もしくは同等物を通して、ディスプレイ１５２に提供されてもよい。
【０１６３】
ディスプレイ１５２は、ビデオフレームを表示することが可能な任意の光投影機構であり得る。例えば、ディスプレイ１５２は、発光ダイオード（ＬＥＤ）テレビ（ＴＶ）、有機ＬＥＤ（ＯＬＥＤ）ＴＶ、量子ドット付き液晶ディスプレイ（ＬＣＤ）（ＱＬＥＤ）、プラズマＴＶ、陰極線管（ＣＲＴ）ＴＶ、および／または任意の他のタイプのＴＶ等のＴＶならびに／もしくはスマートＴＶであり得る。いくつかの実施形態では、ＨＤ  ＴＶ、４Ｋ  ＴＶ、８Ｋ  ＴＶ等の高解像度ＴＶが、使用されることができる。別の実施例として、ディスプレイ１５２は、プロジェクタ画面、壁、および／または他の面積上に光を投影するプロジェクタ等のプロジェクタであり得る。
【０１６４】
撮像デバイス１５４は、入力画像および標的画像を捕捉するように構成されることができる。例えば、撮像デバイスは、暗い入力画像を捕捉し、弱光条件をシミュレートしてもよい。いくつかの実施形態では、参照オブジェクトの画像が、弱光条件をシミュレートする露出時間を用いて捕捉されてもよい。例えば、参照オブジェクトの画像は、約１ミリ秒、１０ミリ秒、２０ミリ秒、３０ミリ秒、４０ミリ秒、５０ミリ秒、６０ミリ秒、７０ミリ秒、８０ミリ秒、９０ミリ秒、または１００ミリ秒の露出時間を用いて捕捉されてもよい。いくつかの実施形態では、参照オブジェクトの画像は、明るい光条件をシミュレートする露出時間を用いて捕捉されてもよい。例えば、参照オブジェクトの画像は、約１分、２分、または１０分の露出時間を用いて捕捉されてもよい。
【０１６５】
いくつかの実施形態では、ビデオデータ１５８は、弱光条件および／または明るい条件下で場面を捕捉することができる。例えば、いくつかの実施形態では、ビデオデータは、弱光条件において場面のビデオを捕捉することができる。例えば、ビデオは、５０ルクス未満の照明を提供する光源を用いて場面を捕捉してもよい。別の実施例として、ビデオデータは、閾値量の照明を用いて（例えば、少なくとも２００ルクスの光源を用いて）１つ以上の場面の１つ以上のビデオを捕捉し、捕捉されたビデオのフレームを標的画像として使用することによって、明るい標的画像を捕捉することができる。いくつかの実施形態では、ビデオは、訓練データを発生させるため以外の別の目的のために撮影されるビデオであり得、入力および標的画像ペアを発生させるように、本明細書に説明される技法を使用して処理されることができる。
【０１６６】
いくつかの実施形態では、ビデオデータ１５８は、圧縮および／または非圧縮ビデオデータであり得る。例えば、いくつかの実施形態では、非圧縮ビデオデータは、１つ以上の圧縮アーチファクト（例えば、ブロッキング等）を含み得るデータを使用することを回避するために、使用されることができる。いくつかの実施形態では、圧縮ビデオが、圧縮ビデオ内のキーフレームおよび／またはＩ−フレームを使用すること等によって、使用されることができる。
【０１６７】
図７は、本明細書に説明される技術のいくつかの実施形態による、訓練データの制御された発生のための例示的プロセス７００のフローチャートを示す。方法７００は、ディスプレイデバイス（例えば、図６のディスプレイ１５２）が、ビデオデータ（例えば、図６のビデオデータ１５８）のビデオフレームを表示する、ステップ７０２から開始する。方法７００は、ステップ７０４に進み、撮像デバイス（例えば、図６の撮像デバイス１５４）が、訓練システム１５６によって訓練されるであろう機械学習モデルの標的出力を表す、表示されたビデオフレームの標的画像（例えば、明るい画像）を捕捉する。方法７００は、ステップ７０６に進み、撮像デバイスは、捕捉された標的画像に対応し、訓練システム１５６によって訓練されるであろう機械学習モデルへの入力を表す、表示されたビデオフレームの入力画像（例えば、暗い画像）を捕捉する。ステップ７０４および７０６は、方法７００では、特定の順序で示されるが、任意の順序が、入力および標的画像を捕捉するために使用されることができる（例えば、入力画像が、標的画像に先立って捕捉されることができる、入力画像および標的画像が、同一および／または複数の撮像デバイスを使用して同時に捕捉されることができる等である）ため、これは、例示目的のためにすぎない。
【０１６８】
方法７００は、ステップ７０８に進み、コンピューティングデバイス（例えば、図６に示される訓練システム１５６）が、標的画像および入力画像にアクセスし、標的画像および入力画像を使用して機械学習モデルを訓練し、訓練された機械学習モデルを取得する。いくつかの実施形態では、本システムは、（１）ブロック７０６において捕捉される入力画像を、訓練データセットの入力として使用し、（２）ブロック７０４において捕捉される標的画像を、訓練データセットの標的出力として使用し、（３）教師あり学習アルゴリズムを訓練データに適用するように構成されてもよい。個別の入力画像に対応する標的画像は、訓練された機械学習モデルが出力することになる、入力画像の標的強調バージョンを表し得る。
【０１６９】
ブロック７０８において機械学習モデルを訓練した後、プロセス７００は、終了する。いくつかの実施形態では、本システムは、訓練された機械学習モデルを記憶するように構成されてもよい。本システムは、機械学習モデルの１つ以上の訓練されたパラメータの値を記憶してもよい。実施例として、機械学習モデルは、１つ以上のニューラルネットワークを含んでもよく、本システムは、ニューラルネットワークの訓練された加重の値を記憶してもよい。別の実施例として、機械学習モデルは、畳み込みニューラルネットワークを含み、本システムは、畳み込みニューラルネットワークの１つ以上の訓練されたフィルタを記憶してもよい。いくつかの実施形態では、本システムは、画像（例えば、撮像デバイスによって弱光条件において捕捉される）を強調する際に使用するための訓練された機械学習モデルを（例えば、画像強調システム１１１内に）記憶するように構成されてもよい。
【０１７０】
ステップ７０６からステップ７０２までの図７の点線矢印によって示されるように、ビデオの異なるフレームの複数の標的画像および対応する入力画像が、捕捉されることができる。同一のビデオから、および／または複数のビデオからのものを含む、複数の標的画像および入力画像を捕捉し、訓練セットを構築することが望ましくあり得る。したがって、いくつかの実施形態では、本技法は、ビデオの複数および／または全てのフレームの標的および入力画像を捕捉することができる、ならびに／もしくは複数のビデオのフレームの標的および入力画像を捕捉することができる。
【０１７１】
いくつかの実施形態では、本技法は、室内の唯一の光が、ディスプレイデバイスによって発生される光であるように、制御された部屋または環境で実装されることができる。いくつかの実施形態では、撮像デバイスは、ディスプレイデバイスから放出される光（例えば、ＴＶから放出される光）を捕捉するように構成されることができる。いくつかの実施形態では、撮像デバイスは、プロジェクタからプロジェクタ画面または他の表面上に投影される光等の表面から反射される光を捕捉するように構成されることができる。
【０１７２】
いくつかの実施形態では、撮像デバイスは、ディスプレイデバイスのフレームレートに基づいて、標的および入力画像を捕捉するように構成されることができる。例えば、ディスプレイは、６０Ｈｚ、１２０Ｈｚ、および／または同等物等の異なるフレームレートを有してもよい。補償されない場合、撮像デバイスは、エイリアシングを引き起こす様式で画像を捕捉し得る。例えば、ローリングシャッタを使用するとき、いくつかのフレームレートにおいて、ローリングシャッタは、エイリアシング（例えば、ナイキスト周波数を満たすフレームレート）をもたらすように、ＴＶフレームレートと相互作用してもよい。本技法は、エイリアシング効果を回避するサンプリングレートにおいて画像を捕捉するステップを含むことができる。
【０１７３】
いくつかの実施形態では、本システムは、機械学習モデルが、画像捕捉技術（例えば、カメラモデルまたは画像センサモデル）によって捕捉される画像を強調するように訓練され得るように、特定の画像捕捉技術によって捕捉される入力標的画像を使用するように構成されてもよい。例えば、機械学習モデルは、弱光において画像捕捉技術を使用して捕捉される画像を照明するように訓練されてもよい。機械学習モデルは、機械学習モデルが画像捕捉技術の誤差特性を補正するために最適化され得るように、画像捕捉技術の誤差プロファイルに関して訓練されてもよい。いくつかの実施形態では、本システムは、あるタイプの画像センサから取得されるデータにアクセスするように構成されてもよい。実施例として、本システムは、ＣＭＯＳ画像センサの特定のモデルによって捕捉される標的画像にアクセスしてもよい。いくつかの実施形態では、本システムは、特定のカメラモデルによって捕捉される訓練画像にアクセスするように構成されてもよい。本明細書に説明されるように、例えば、本システムは、Ｃａｎｏｎ  ＥＯＳ  Ｒｅｂｅｌ  Ｔ７ｉ  ＥＦ−Ｓ  １８−１３５カメラおよび／または任意の他のタイプのカメラによって捕捉される標的画像にアクセスしてもよい。いくつかの実施形態は、本明細書に説明される特定のタイプの画像捕捉技術に限定されない。
【０１７４】
撮像デバイスは、異なる露出時間を使用すること、および／または異なる明度設定においてディスプレイを捕捉すること等によって、種々の技法を使用して、表示されたビデオフレームの標的および入力画像を捕捉することができる。いくつかの実施形態では、撮像デバイスは、異なる露出時間を使用して、標的および入力画像を捕捉することができる。例えば、撮像デバイスは、第１の露出時間を使用して、標的画像を捕捉することができ、第１の露出時間未満である第２の露出時間を使用して、表示されたビデオフレームの入力画像を捕捉することができる。いくつかの実施形態では、撮像デバイスは、閾値量の照明を用いて（例えば、少なくとも２００ルクスを用いて）表示されたビデオフレームの画像を捕捉するために十分に長い第１の露出時間を使用することによって、標的画像を捕捉してもよい。いくつかの実施形態では、撮像デバイスは、ある弱光基準を用いて（例えば、５０ルクス未満を用いて）入力画像または暗い画像を捕捉してもよい。
【０１７５】
いくつかの実施形態では、撮像デバイスは、ディスプレイの異なる明度設定を使用して、表示されたビデオフレームの標的および入力画像を捕捉することができる。例えば、撮像デバイスは、ディスプレイが第１の明度においてビデオフレームを表示しているときに標的画像を捕捉することができ、第１の明度よりも暗い第２の明度において入力画像を捕捉することができる。いくつかの実施形態では、ディスプレイの明度は、撮像デバイスが、同一の露出時間を使用して、標的および入力画像を捕捉し得るように、調節されることができる。いくつかの実施形態では、ディスプレイの露出時間および／または明度は、（例えば、ビデオデータが弱光条件または通常／明るい光条件下で捕捉されたかどうかに応じて）基礎的ビデオが捕捉された方法に基づいて、調節されることができる。
【０１７６】
いくつかの実施形態では、ＴＶの明度は、正確な色を伴って関連付けられるルクス値をそれぞれ反映する、明度値を判定するように、プロファイルされることができる。例えば、ＴＶは、０〜１００、０〜５０、および／または同等物等の所定の範囲から調節され得る、明度値のみを有し得る。明度が、増加されるにつれて、各色のルクスが、同様に直線様式で増加するように、明度が０から１００まで変化するにつれて、ディスプレイのＲＧＢ値のルクスが、本質的に直線的に増加することが、予期されるはずである。しかしながら、本発明者らは、ＴＶ上の明度値を変化させるときに、種々の明度レベルに関するＲＧＢ値が、異なるプロファイルを有し得、レベル毎に直線的に変化しない場合があることを発見および認識している。したがって、いくつかのＴＶに関して、明度設定とともに直線的に増加する代わりに、ＲＧＢルクス値は、いくつかの点において迅速に、次いで、他の点においてゆっくりと増加し得る。例えば、低明度設定（例えば、５、７、１０等）に関して、ディスプレイは、０．５ルクスにおいて表示される暗い場面が、実際の光では０．５ルクスにおいて場面と同一ではない場合があるように、その明度レベルに関してＴＶのある色を（正確に）表現することができない場合がある。別の実施例として、高明度設定（例えば、６０、７０、８０）に関して、ディスプレイはまた、ある色を正確に表現することができない場合がある。
【０１７７】
いくつかの実施形態では、較正プロセスが、種々の訓練画像を捕捉するために使用するべきＴＶの明度レベルを判定するために、使用されることができる。例えば、ルクスメータが、明度レベルを較正するために使用されることができる。いくつかの実施形態では、ディスプレイデバイスは、較正プロセスの一部としてカラーチャートを表示し、特定の明度／ルクスレベルが正確なＲＧＢ値（例えば、同一のレベルのルクス照明下で場面を視認する場合のようなものに類似するＲＧＢ値）を出力するかどうかを判定することができる。カラーチャートは、例えば、０〜１００に及ぶ、赤色、青色、緑色、および黒色（白色までの）バー等の種々のバーを含んでもよい。判定された較正プロファイルは、保存され、暗い画像を捕捉するための適切な明度設定および明るい画像を捕捉するための適切な明度設定等の種々のタイプの画像を捕捉するときに、ＴＶに関する適切な明度設定を判定するために使用されることができる。
【０１７８】
図８は、本明細書に説明される技術のいくつかの実施形態による、画像を強調するためのプロセス７００から取得される、訓練された機械学習モデルを使用するための例示的プロセス８００を図示する。プロセス８００は、任意の好適なコンピューティングデバイスによって実施されてもよい。実施例として、プロセス８００は、図１Ａ−Ｂを参照して説明される画像強調システム１１１によって実施されてもよい。
【０１７９】
プロセス８００は、本システムが、強調するべき画像にアクセスする、ブロック８０２から開始する。いくつかの実施形態では、本システムは、撮像デバイス（例えば、デジタルカメラまたはその画像センサ）によって捕捉される画像にアクセスするように構成されてもよい。例えば、本システムは、デバイスが場面の写真を捕捉するために使用されるときに、捕捉される画像にアクセスしてもよい。別の実施例として、本システムは、デバイスがビデオを捕捉するために使用されるときに、ビデオのフレームにアクセスしてもよい。いくつかの実施形態では、本システムは、（例えば、図１Ｂを参照して上記に説明されるように）デバイスが画像処理を捕捉された画像に適用する前に、画像にアクセスするように構成されてもよい。いくつかの実施形態では、本システムは、デバイスによって（例えば、スマートフォンのデジタルカメラによって）捕捉される画像にアクセスする、デバイス（例えば、スマートフォン）上にインストールされたアプリケーションを含んでもよい。アプリケーションは、捕捉された画像がユーザに表示される前に、画像にアクセスしてもよい。
【０１８０】
次に、プロセス８００は、本システムが、ブロック８０２においてアクセスされる画像を訓練された機械学習モデルに提供する、ブロック８０４に進む。例えば、本システムは、ブロック８０２においてアクセスされる画像を、図７を参照して本明細書に説明されるプロセス７００を使用して訓練される機械学習モデルに提供してもよい。いくつかの実施形態では、本システムは、画像ピクセル値を機械学習モデルへの入力として提供することによって、画像を機械学習モデルへの入力として提供するように構成されてもよい。例えば、画像は、１，０００×１，０００ピクセル画像であってもよい。本システムは、機械学習モデルへの入力として、ピクセルのそれぞれにおいてピクセル値を提供してもよい。いくつかの実施形態では、本システムは、画像をピクセル値のセットに平坦化するように構成されてもよい。例えば、本システムは、（１）５００×５００ピクセル画像をピクセル値の２５０，０００×１アレイに平坦化し、（２）機械学習モデルへの入力としてアレイを提供してもよい。例証すると、機械学習モデル（例えば、ＣＮＮ）は、複数の入力を有してもよい。本システムは、複数の入力として画像からピクセル値を提供するように構成されてもよい。
【０１８１】
いくつかの実施形態では、本システムは、（１）画像を複数の部分に分割し、（２）各部分を機械学習モデルへの入力として提供することによって、画像を機械学習モデルへの入力として提供するように構成されてもよい。例えば、本システムは、画像の一部のそれぞれのピクセル値を機械学習モデルへの入力として提供してもよい。本システムは、画像の一部のピクセル値をアレイとして機械学習モデルに入力してもよい。
【０１８２】
いくつかの実施形態では、本システムは、機械学習モデルに提供される入力画像に対応する、強調出力画像を取得するように構成されてもよい。いくつかの実施形態では、本システムは、（１）強調されるべき画像のピクセル値を機械学習モデルに提供することに応答して、複数のピクセル値を取得し、（２）取得されたピクセル値から強調画像を発生させることによって、強調出力画像を取得するように構成されてもよい。例えば、機械学習モデルは、本明細書に説明されるようなＣＮＮであってもよい。本実施例では、ピクセル値は、ＣＮＮの第１の畳み込み層への入力として提供されてもよい。
【０１８３】
ブロック８０４において画像を機械学習モデルへの入力として提供した後に、プロセス８００は、本システムが、機械学習モデルの出力から強調画像を取得する、ブロック８０６に進む。いくつかの実施形態では、本システムは、機械学習モデルから、強調画像のピクセル値を取得するように構成されてもよい。例えば、機械学習モデルは、５００×５００出力画像のピクセルにおいてピクセル値を規定する、ピクセル値の２５０，０００×１アレイを出力してもよい。いくつかの実施形態では、本システムは、（１）機械学習モデルから入力画像の複数の部分の強調バージョンを取得し、（２）強調画像部分を組み合わせ、強調画像を発生させるように構成されてもよい。画像部分を機械学習モデルへの入力として提供し、入力画像部分に対応する出力を組み合わせるための例示的プロセスが、図５Ｂ−Ｃを参照して本明細書に説明される。
【０１８４】
いくつかの実施形態では、本システムが機械学習モデルの出力から強調画像を取得した後、プロセス８００は、終了する。例えば、本システムは、強調画像を出力してもよい。いくつかの実施形態では、本システムは、強調画像を記憶するように構成されてもよい。例えば、本システムは、デバイス（例えば、スマートフォン）のハードドライブ上に強調画像を記憶してもよい。いくつかの実施形態では、本システムは、付加的画像処理のために強調画像をパスするように構成されてもよい。例えば、デバイスは、機械学習モデルから取得される強調画像に適用され得る、写真に適用される付加的画像強調処理を有してもよい。
【０１８５】
いくつかの実施形態では、機械学習モデルの出力から強調画像を取得した後、プロセス８００は、（ブロック８０６からブロック８０２までの鎖線によって示されるように）本システムが、強調するべき別の画像にアクセスする、ブロック８０２に戻る。例えば、本システムは、撮像デバイスによって捕捉されている、または前もって捕捉されたビデオから、一連のビデオフレームを受信してもよい。本システムは、ブロック８０２−８０６のステップをビデオの各フレームに実施するように構成されてもよい。いくつかの実施形態では、本システムは、ビデオのフィードを視聴するデバイスのユーザが、強調ビデオフレームを視聴し得るように、リアルタイムで各ビデオフレームを強調してもよい。ビデオが、弱光において（例えば、日没後に屋外で）捕捉されている場合、本システムは、撮像デバイスのディスプレイ上で視聴されているビデオが強調される（例えば、色が明るくされる）ように、捕捉されているビデオの各フレームを強調してもよい。別の実施例として、本システムは、ブロック８０２−８０６のステップを撮像デバイスによって捕捉される一連の写真に実施してもよい。
【０１８６】
図９は、種々の側面が実装され得る、特別に構成された分散コンピュータシステム９００のブロック図を示す。示されるように、分散コンピュータシステム９００は、情報を交換する、１つ以上のコンピュータシステムを含む。より具体的には、分散コンピュータシステム９００は、コンピュータシステム９０２、９０４、および９０６を含む。示されるように、コンピュータシステム９０２、９０４、および９０６は、通信ネットワーク９０８によって相互接続され、それを通してデータを交換してもよい。ネットワーク９０８は、それを通してコンピュータシステムがデータを交換し得る、任意の通信ネットワークを含んでもよい。ネットワーク９０８を使用して、データを交換するために、コンピュータシステム９０２、９０４、および９０６、ならびにネットワーク９０８は、とりわけ、ファイバチャネル、トークンリング、イーサネット（登録商標）、無線イーサネット、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＰ、ＩＰＶ６、ＴＣＰ／ＩＰ、ＵＤＰ、ＤＴＮ、ＨＴＴＰ、ＦＴＰ、ＳＮＭＰ、ＳＭＳ、ＭＭＳ、ＳＳ６、ＪＳＯＮ、ＳＯＡＰ、ＣＯＲＢＡ、ＲＥＳＴ、およびウェブサービスを含む、種々の方法、プロトコル、および規格を使用してもよい。データ転送がセキュアであることを確実にするために、コンピュータシステム９０２、９０４、および９０６は、例えば、ＳＳＬまたはＶＰＮ技術を含む、種々のセキュリティ対策を使用して、ネットワーク９０８を介してデータを伝送してもよい。分散コンピュータシステム９００は、３つのネットワーク化されたコンピュータシステムを図示するが、分散コンピュータシステム９００は、そのように限定されず、任意の媒体および通信プロトコルを使用してネットワーク化される、任意の数のコンピュータシステムおよびコンピューティングデバイスを含んでもよい。
【０１８７】
図９に図示されるように、コンピュータシステム９０２は、プロセッサ９１０と、メモリ９１２と、相互接続要素９１４と、インターフェース９１６と、データ記憶要素９１８とを含む。本明細書に開示される側面、機能、およびプロセスのうちの少なくともいくつかを実装するために、プロセッサ９１０は、操作されたデータをもたらす、一連の命令を実施する。プロセッサ９１０は、任意のタイプのプロセッサ、マルチプロセッサ、またはコントローラであってもよい。例示的プロセッサは、Ｉｎｔｅｌ  Ｘｅｏｎ、Ｉｔａｎｉｕｍ、Ｃｏｒｅ、Ｃｅｌｅｒｏｎ、またはＰｅｎｔｉｕｍ（登録商標）プロセッサ、ＡＭＤ  Ｏｐｔｅｒｏｎプロセッサ、Ａｐｐｌｅ  Ａ１０またはＡ５プロセッサ、Ｓｕｎ  Ｕｌｔｒａ  ＳＰＡＲＣプロセッサ、ＩＢＭ  Ｐｏｗｅｒ５＋プロセッサ、ＩＢＭメインフレームチップ、もしくは量子コンピュータ等の市販のプロセッサを含んでもよい。プロセッサ９１０は、相互接続要素９１４によって、１つ以上のメモリデバイス９１２を含む、他のシステムコンポーネントに接続される。
【０１８８】
メモリ９１２は、コンピュータシステム９０２の動作の間に、プログラム（例えば、プロセッサ９１０によって実行可能となるようにコード化される一連の命令）およびデータを記憶する。したがって、メモリ９１２は、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）またはスタティックメモリ（「ＳＲＡＭ」）等の比較的に高性能で揮発性のランダムアクセスメモリであってもよい。しかしながら、メモリ９１２は、ディスクドライブまたは他の不揮発性記憶デバイス等のデータを記憶するための任意のデバイスを含んでもよい。種々の実施例は、メモリ９１２を、特定化された、ある場合には、一意の構造に編成し、本明細書に開示される機能を実施してもよい。これらのデータ構造は、特定のデータおよびタイプのデータに関する値を記憶するように定寸および／または編成されてもよい。
【０１８９】
コンピュータシステム９０２のコンポーネントが、相互接続機構９１４等の相互接続要素によって結合される。相互接続要素９１４は、ＩＤＥ、ＳＣＳＩ、ＰＣＩ、およびＩｎｆｉｎｉＢａｎｄ等の特殊または標準コンピューティングバス技術に準拠する１つ以上の物理的バス等のシステムコンポーネントの間の任意の通信結合を含んでもよい。相互接続要素９１４は、命令およびデータを含む通信が、コンピュータシステム９０２のシステムコンポーネントの間で交換されることを可能にする。
【０１９０】
コンピュータシステム９０２はまた、入力デバイス、出力デバイス、および複合入出力デバイス等の１つ以上のインターフェースデバイス９１６を含む。インターフェースデバイスは、入力を受信する、または出力を提供してもよい。より具体的には、出力デバイスは、外部提示のために情報をレンダリングしてもよい。入力デバイスは、外部ソースから情報を受け取ってもよい。インターフェースデバイスの実施例は、キーボード、マウスデバイス、トラックボール、マイクロホン、タッチスクリーン、印刷デバイス、ディスプレイ画面、スピーカ、ネットワークインターフェースカード等を含む。インターフェースデバイスは、コンピュータシステム９０２が、情報を交換すること、およびユーザならびに他のシステム等の外部エンティティと通信することを可能にする。
【０１９１】
データ記憶要素９１８は、プロセッサ９１０によって実行されるプログラムまたは他のオブジェクトを定義する命令が記憶される、コンピュータ可読および書込可能な不揮発性または非一過性のデータ記憶媒体を含む。データ記憶要素９１８はまた、媒体上または内に記録され、プログラムの実行の間にプロセッサ９１０によって処理される、情報を含んでもよい。より具体的には、情報は、記憶空間を節約する、またはデータ交換性能を増加させるように具体的に構成される、１つ以上のデータ構造内に記憶されてもよい。命令は、エンコードされた信号として持続的に記憶されてもよく、命令は、プロセッサ９１０に、本明細書に説明される機能のうちのいずれかを実施させてもよい。媒体は、例えば、とりわけ、光ディスク、磁気ディスク、またはフラッシュメモリであってもよい。動作時、プロセッサ９１０またはある他のコントローラは、データを、不揮発性記録媒体から、データ記憶要素９１８内に含まれる記憶媒体よりも速いプロセッサ９１０による情報へのアクセスを可能にする、メモリ９１２等の別のメモリに読み込ませる。メモリは、データ記憶要素９１８内またはメモリ９１２内に位置してもよいが、しかしながら、プロセッサ９１０は、メモリ内のデータを操作し、次いで、処理が完了した後に、データをデータ記憶要素９１８と関連付けられる記憶媒体にコピーする。種々のコンポーネントが、記憶媒体と他のメモリ要素との間のデータ移動を管理してもよく、実施例は、特定のデータ管理コンポーネントに限定されない。さらに、実施例は、特定のメモリシステムまたはデータ記憶システムに限定されない。
【０１９２】
コンピュータシステム９０２は、種々の側面および機能が実践され得る、１つのタイプのコンピュータシステムとして、一例として示されるが、側面および機能は、図９に示されるようにコンピュータシステム９０２上に実装されることに限定されない。種々の側面および機能が、図９に示されるものと異なるアーキテクチャまたはコンポーネントを有する、１つ以上のコンピュータ上で実践されてもよい。例えば、コンピュータシステム９０２は、本明細書に開示される特定の動作を実施するように合わせられる、特定用途向け集積回路（「ＡＳＩＣ」）等の特別にプログラムされた特殊用途ハードウェアを含んでもよい。別の実施例が、Ｍｏｔｏｒｏｌａ  ＰｏｗｅｒＰＣプロセッサとともにＭＡＣ  ＯＳ  Ｓｙｓｔｅｍ  Ｘを起動する、いくつかの特殊用途コンピューティングデバイス、および専用ハードウェアならびにオペレーティングシステムを起動する、いくつかの特殊コンピューティングデバイスのグリッドを使用して、同一の機能を実施してもよい。
【０１９３】
コンピュータシステム９０２は、コンピュータシステム９０２内に含まれるハードウェア要素の少なくとも一部を管理する、オペレーティングシステムを含む、コンピュータシステムであってもよい。いくつかの実施例では、プロセッサ９１０等のプロセッサまたはコントローラが、オペレーティングシステムを実行する。実行され得る特定のオペレーティングシステムの実施例は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能である、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ、Ｗｉｎｄｏｗｓ（登録商標）  ２０００（Ｗｉｎｄｏｗｓ（登録商標）  ＭＥ）、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ、Ｗｉｎｄｏｗｓ（登録商標）  Ｖｉｓｔａ、またはＷｉｎｄｏｗｓ（登録商標）  ６、８、もしくは６オペレーティングシステム等のＷｉｎｄｏｗｓ（登録商標）ベースのオペレーティングシステム、Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒから入手可能である、ＭＡＣ  ＯＳ  Ｓｙｓｔｅｍ  ＸオペレーティングシステムまたはｉＯＳオペレーティングシステム、多くのＬｉｎｕｘ（登録商標）ベースのオペレーティングシステム配布のうちの１つ、例えば、Ｒｅｄ  Ｈａｔ  Ｉｎｃ．から入手可能であるＥｎｔｅｒｐｒｉｓｅ  Ｌｉｎｕｘ（登録商標）オペレーティングシステム、Ｏｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎから入手可能であるＳｏｌａｒｉｓオペレーティングシステム、もしくは種々のソースから入手可能であるＵＮＩＸ（登録商標）オペレーティングシステムを含む。多くの他のオペレーティングシステムも、使用されてもよく、実施例は、いずれの特定のオペレーティングシステムにも限定されない。
【０１９４】
プロセッサ９１０およびオペレーティングシステムはともに、高レベルプログラミング言語におけるアプリケーションプログラムが書かれる、コンピュータプラットフォームを定義する。これらのコンポーネントアプリケーションは、通信プロトコル、例えば、ＴＣＰ／ＩＰを使用して、通信ネットワーク、例えば、インターネットを経由して通信する、実行可能、中間、バイトコード、またはインタープリタ型コードであってもよい。同様に、側面が、．Ｎｅｔ、ＳｍａｌｌＴａｌｋ、Ｊａｖａ（登録商標）、Ｃ＋＋、Ａｄａ，Ｃ＃（Ｃ−Ｓｈａｒｐ）、Ｐｙｔｈｏｎ、またはＪａｖａＳｃｒｉｐｔ（登録商標）等のオブジェクト指向プログラミング言語を使用して、実装されてもよい。他のオブジェクト指向プログラミング言語もまた、使用されてもよい。代替として、機能、スクリプト、または論理プログラミング言語が、使用されてもよい。
【０１９５】
加えて、種々の側面および機能が、プログラムされていない環境で実装されてもよい。例えば、ＨＴＭＬ、ＸＭＬ、または他の形式で作成される文書は、ブラウザプログラムのウィンドウ内で閲覧されたときに、グラフィカルユーザインターフェースの側面をレンダリングする、または他の機能を実施することができる。さらに、種々の実施例が、プログラムされた、またはプログラムされていない要素、もしくはそれらの任意の組み合わせとして実装されてもよい。例えば、ウェブページが、ＨＴＭＬを使用して実装されてもよい一方で、ウェブページ内から呼び出されるデータオブジェクトは、Ｃ＋＋で書かれてもよい。したがって、実施例は、具体的プログラミング言語に限定されず、任意の好適なプログラミング言語が、使用され得る。故に、本明細書に開示される機能コンポーネントは、本明細書に説明される機能を実施するように構成される、多種多様な要素（例えば、特殊ハードウェア、実行可能コード、データ構造、またはオブジェクト）を含んでもよい。
【０１９６】
いくつかの実施例では、本明細書に開示されるコンポーネントは、コンポーネントによって実施される機能に影響を及ぼす、パラメータを読み取ってもよい。これらのパラメータは、揮発性メモリ（ＲＡＭ等）または不揮発性メモリ（磁気ハードドライブ等）を含む、任意の形態の好適なメモリ内に物理的に記憶されてもよい。加えて、パラメータは、専用データ構造（ユーザスペースアプリケーションによって定義されるデータベースもしくはファイル等）内に、または一般的に共有されるデータ構造（オペレーティングシステムによって定義されるアプリケーションレジストリ等）内に論理的に記憶されてもよい。加えて、いくつかの実施例は、外部エンティティがパラメータを修正することを可能にし、それによって、コンポーネントの挙動を構成する、システムおよびユーザインターフェースの両方を提供する。
【０１９７】
前述の開示に基づいて、本明細書に開示される実施形態は、特定のコンピュータシステムプラットフォーム、プロセッサ、オペレーティングシステム、ネットワーク、または通信プロトコルに限定されないことが、当業者に明白となるべきである。また、本明細書に開示される実施形態は、具体的アーキテクチャに限定されないことが、明白となるべきである。
【０１９８】
本明細書に説明される方法および装置の実施形態は、以下の説明に記載される、または付随する図面に図示される、構造およびコンポーネントの配列の詳細に用途において限定されないことを理解されたい。方法および装置は、他の実施形態における実装、および種々の方法で実践されること、または実行されることが可能である。具体的実装の実施例が、例証目的のためのみに本明細書に提供され、限定的であることを意図していない。特に、いずれか１つ以上の実施形態に関連して説明される行為、要素、および特徴は、任意の他の実施形態において類似する役割から除外されることを意図していない。
【０１９９】
用語「約」、「実質的に」、および「およそ」は、いくつかの実施形態では、標的値の±２０％以内、いくつかの実施形態では、標的値の±１０％以内、いくつかの実施形態では、標的値の±５％以内、さらに、いくつかの実施形態では、標的値の±２％以内を意味するために使用されてもよい。用語「約」および「およそ」は、標的値を含んでもよい。
【０２００】
このように、本発明の少なくとも１つの実施形態のいくつかの側面を説明したが、種々の改変、修正、および改良が、当業者に容易に想起されるであろうことを理解されたい。そのような改変、修正、および改良は、本開示の一部であることを意図しており、本発明の精神および範囲内に該当することを意図している。故に、前述の説明および図面は、一例にすぎない。
【図１Ａ】
2021534520.tif 000003
【図１Ｂ】
2021534520.tif 000004
【図２Ａ】
2021534520.tif 000005
【図２Ｂ】
2021534520.tif 000006
【図２Ｃ】
2021534520.tif 000007
【図３Ａ】
2021534520.tif 000008
【図３Ｂ】
2021534520.tif 000009
【図３Ｃ】
2021534520.tif 000010
【図４】
2021534520.tif 000011
【図５】
2021534520.tif 000012
【図６】
2021534520.tif 000013
【図７】
2021534520.tif 000014
【図８】
2021534520.tif 000015
【図９】
2021534520.tif 000016
【国際調査報告】
2021534520.tif 000017