画像キャプチャフィードバックのための実施例が開示される。いくつかの実施例において、コンピューティングシステムは、画像キャプチャ装置(ICD)から第1の画像を受信し得るとともに、第1の画像に対するスコアを生成し得る。コンピューティングシステムは、動作に対する提案を、もし動作が行われたあとでICDが第2の画像をキャプチャするならば、第2の画像に対するスコアが第1の画像に対するスコアより良くなるように生成し得る。コンピューティングシステムは、ユーザに対する推奨される動作を出力装置に示し得る。
最善の状態で、いくつかの現存するICDは、ユーザに、静的なガイダンス、通常は、ユーザが場面内の様々な物体を合わせる(align)ために選択し得る視野の上に重ねられた固定したグリッドを提供する。しかしながら、無頓着なユーザは、そのような静的なガイダンスが何のためのものであるか、又は、画像を改善するためにそれをどのように使用するか全く分からないかもしれない。さらに、そのような静的なガイダンスは、経験豊かなユーザが場面内の様々な物体を合わせるのを援助するだけかもしれず、ICD設定値、照明、色、焦点、被写界深度、簡素性などのような画像の品質に影響を及ぼすかもしれない何百もの他の変数のうちのいずれに対しても何も援助を提供しない。
ここに開示された実施例の様々なものは、ユーザが場面をキャプチャしようと試みている間、画像を改善する方法についての動的なガイダンスを提供することにより、現存する画像キャプチャ技術及びシステムを改善し得る。特に、ここで説明された画像キャプチャフィードバック技術及びシステムは、ICDからの画像を分析し、そして画像を改善する動作に対する提案を生成し得る。推奨される動作は、ユーザによる動作(例えば、ICDを別の場所に移動すること、若しくはICDに関する設定値を変更すること)、又は、画像内の1つ若しくは複数の物体による動作(例えば、画像内の人物に左若しくは右に動くように要求する)であり得る。技術及びシステムは、その場合に、(例えば、推奨される動作又は別の動作が実行されたあとで)新しい画像を分析し得るとともに、適切であるように、更なる提案を提供し得る。
いくつかのそのような実施例は、ほとんど瞬時のフィードバックをユーザに提供することができ、その結果、ユーザは、場面からユーザの視線及び注意をそらさずに、又は、
使用説明書若しくは他の文書を閲覧するためにICDを置くことなく、又は、
ビューファインダを共有する腕の良い写真家を有することなく、画像を改善することができる。いくつかのそのような実施例は、写真の専門的知識のユーザのレベルに基づいて、カスタマイズ可能である。例えば、いくつかの実施例において、より自動化されたガイダンス(例えば、構成テンプレートの自動選択)が、初心者であることを示したユーザに提供され得る。いくつかの実施例において、明示的に選択されたガイダンス(例えば、ユーザに選択された構成テンプレートのアプリケーション)のみが、そのような明示的に選択されたガイダンスを望むことだけを示したユーザに提供され得る。画像キャプチャフィードバックシステムの多くの他の実施例、及びそのような実施例と関連付けられ得る利点が、ここで開示される。
下記の詳細な説明では、初めから終わりまで同等の符号が同等の部分を示し、詳細な説明に関して一部分を形成するとともに、一部分が実施され得る実例実施例として示される添付図面に対する参照が行われる。他の実施例が利用され得るとともに、本開示の範囲からはずれずに、構造的変更又は論理的変更が実行され得る、ということが理解されるべきである。したがって、下記の詳細な説明は、限定的に解釈されるべきではない。
様々な動作が、複数の別個の作用又は動作として、言い換えると、請求項に記載された主題を理解する際に最も役に立つ方法で、説明され得る。しかしながら、説明の順番は、これらの動作が必然的に順番に依存していることを暗示する、と解釈されるべきでない。特に、これらの動作は、提示された順番に実行されなくても良い。説明された動作は、説明された実施例と異なる順番で実行され得る。様々な追加の動作が実行され得るか、及び/又は、説明された動作が追加の実施例では省略され得る。
本開示の目的のために、語句“A及び/又はB”は、(A)、(B)、又は(A及びB)を意味する。本開示の目的のために、語句“A、B、及び/又はC”は、(A)、(B)、(C)、(A及びB)、(A及びC)、(B及びC)、又は(A、B、及びC)を意味する。
説明は、語句“一実施例において”又は“実施例において”を使用し、それは、それぞれ同じ実施例若しくは異なる実施例のうちの1つ又は複数を参照し得る。さらに、用語“備える”、“含む”、“有する”などは、本開示の実施例に関して使用されるように、同義である。ここで使用されるように、語句“連結される”は、2つかそれ以上のエレメントが直接的、物理的、若しくは電気的に接触していることか、又は、2つかそれ以上のエレメントが相互に直接的な接触状態にないが、それにも拘らず、(例えば、それら自身の変換を実行し得るか又はそれら自身の効果を有し得る1つ若しくは複数の中間エレメントを介して)相互に協力するか若しくは作用すること、を意味し得る。例えば、2つのエレメントは、両方のエレメントが共通のエレメント(例えば、メモリ装置)と通信する場合に、相互に連結され得る。ここで使用されるように、用語“ロジック”は、特定用途向け集積回路(ASIC)、電子回路、1つ若しくは複数のソフトウェア又はファームウェアプログラムを実行するプロセッサ(共有の、専用の、又はグループの)及び/若しくはメモリ(共有の、専用の、又はグループの)、組み合わせロジック回路、並びに/又は、説明された機能を提供する他の適切なコンポーネントのことを指し得るか、それらの一部であり得るか、又はそれらを含み得る。
図1は、様々な実施例による、画像キャプチャフィードバックのために構成される実例となるコンピューティングシステム100を描写する。いくつかの実施例において、コンピューティングシステム100は、ICDから画像を受信し、画像に対するスコアを生成し、動作に対する提案を、もし動作が行われたあとでICDが第2の画像をキャプチャするならば、第2の画像に対するスコアが画像に対するスコアより良くなる、例えば第2の画像に対するスコアがより高くなるように生成し、ユーザに対する推奨される動作を出力装置に示すように構成され得る。コンピューティングシステム100のコンポーネントの間の動作の配分のいくらかの実例がここで論じられるが、しかし、より多い又はより少ないコンポーネント、及び動作の配分のあらゆる他の組み合わせが使用され得る。いくつかの実施例において、コンピューティングシステム100は、図2を参照して下記で論じられる画像キャプチャフィードバックシステム200として構成され得る。
コンピューティングシステム100は、パーソナルコンピューティング装置102、ICD104、及びリモートコンピューティング装置106を含み得る。パーソナルコンピューティング装置102、ICD104、及びリモートコンピューティング装置106の各々は、画像キャプチャフィードバックコンポーネント(それぞれ、画像キャプチャフィードバックコンポーネント118、116、及び114として図1において例示される)を含み得る。画像キャプチャフィードバック及び他の動作は、適切であるように、コンピューティングシステム100の画像キャプチャフィードバックコンポーネント114、116、及び118の間に分散され得る。パーソナルコンピューティング装置102、ICD104、及びリモートコンピューティング装置106の間の画像キャプチャフィードバック動作の配分のいくらかの実例がここで論じられるが、しかし、より多い又はより少ないコンポーネントの他の組み合わせ、及び動作のあらゆる他の配分が使用され得る。例えば、いくつかの実施例において、画像キャプチャフィードバックコンポーネント114、116、及び118のうちの1つ又は複数は省略され得るとともに、全ての適切な画像キャプチャフィードバック動作(例えば、ここで説明された動作のうちのいずれか)は、残っている画像キャプチャフィードバックコンポーネントにより実行され得る。その中に組み込まれた本開示の画像キャプチャフィードバックの教示を除いて、パーソナルコンピューティング装置102、ICD104、及びリモートコンピューティング装置106は、当業者に知られている広い範囲のそのような装置であり得る。限定ではない特定の実例がここで説明される。
コンピューティングシステム100のコンポーネント間の通信は、通信経路108、110、及び112により可能にされ得る。通信経路108、110、及び112は、直接結合を介した、並びに/又は、パーソナルエリアネットワーク、ローカルエリアネットワーク、及び/若しくはワイドエリアネットワークを介した、有線通信経路及び/若しくは無線通通信経路をそれぞれ含み得る。パーソナルコンピューティング装置102、ICD104、及びリモートコンピューティング装置106の各々は、ネットワークインタフェースカード、モデム、ワイファイ装置、ブルートゥース装置などのような、通信経路108、110、及び112をサポートするための適切なハードウェアを含み得る。いくつかの実施例において、図1において例示されたように、通信経路108、110、及び112は、コンポーネントの間の直接的な通信経路であり得る。ここで使用されるように、図1のコンピューティングシステム100(又は、ここで開示されたあらゆるシステム若しくは装置)の2つのコンポーネントの間の“直接的な”通信経路への言及は、別の例示されたコンポーネントを通して経路を指定しないが、しかし、他の例示されない装置(例えば、ルータ及び/又はスイッチ)を通して経路を指定し得る通信経路のことを指し得る。
コンピューティングシステム100に含まれる装置の各々は、処理装置及び記憶装置(図示せず)を含み得る。処理装置は、1つ又は複数の処理コア、ASIC、電子回路、プロセッサ(共有の、専用の、又はグループの)、組み合わせロジック回路、及び/又は電子データを処理するように構成され得る他の適切なコンポーネントのような、1つ又は複数の処理装置を含み得る。記憶装置は、(ソリッドステートドライブ、ディスケット、ハードドライブ、読み取り専用コンパクトディスク(CD−ROM)などのような)あらゆる適切なメモリ又は大容量記憶装置を含み得る。コンピューティングシステム100に含まれるコンピューティング装置の各々は、処理装置、記憶装置、及びそれぞれのコンピューティング装置に含まれるあらゆる他の装置を通信可能に連結するための1つ又は複数のバス(及び、適切であるならばバスブリッジ)を含み得る。記憶装置は、計算ロジックのセットを含むことができ、それは、コンピューティング装置の処理装置により実行された場合にコンピューティング装置にここで開示された技術のうちのいずれか、又はそのあらゆる部分を実施させ得る命令を記憶したコンピュータ読み取り可能な媒体の1つ若しくは複数のコピーを含み得る。いくつかの実施例において、計算ロジックは、図2を参照して下記で論じられたロジックのうちのいずれかを含み得る。
パーソナルコンピューティング装置102は、衣服、アクセサリ、又はユーザ(若しくは、着用者)の身体上に着用されるように構成される他の支持構造物に統合されるコンピューティング装置であり得る。装着型パーソナルコンピューティング装置102に対する適切な支持構造物の例は、特に、眼鏡、ヘッドセット、髪アクセサリ(例えば、ヘッドバンド若しくはバレット)、イヤフォン、宝石(例えば、ブローチ、イヤリング、若しくはネックレス)、リストバンド(例えば、腕時計)、ネックバンド(例えば、タイ、若しくはスカーフ)、衣類(例えば、シャツ、パンツ、ドレススカート、若しくはジャケット)、靴、ランヤード(lanyard)若しくは名札、コンタクトレンズ、又は、埋め込み型支持構造物を含み得る。いくつかの実施例において、パーソナルコンピューティング装置102は、(画像キャプチャ装置104として機能し得る)カメラ及びマイクロフォンを有する手首装着型コンピューティング装置であり得る。いくつかの実施例において、パーソナルコンピューティング装置102は、(画像キャプチャ装置104として機能し得る)カメラ及びマイクロフォンを有する眼鏡装着型コンピューティング装置であり得る。
パーソナルコンピューティング装置102は、デスクトップ若しくはスタンドアロンコンピューティング装置、又は、ポケット、バックパック、若しくは他のキャリングケースで運ぶように構成されるとともに、1つ又は複数のユーザの手による操作用に構成されるコンピューティング装置であり得る。パーソナルコンピューティング装置102として機能し得るコンピューティング装置の実例は、携帯電話、スマートフォン、他の携帯用の移動体通信装置、タブレット、電子ブックリーダ、携帯情報機器、ラップトップ、又は、他のそのようなコンピューティング装置を含む。パーソナルコンピューティング装置102(及び、ここで説明された他のコンポーネント)は単数において参照されるかもしれないが、あらゆる数のパーソナルコンピューティング装置がパーソナルコンピューティング装置102に含まれ得る(とともに、同様に、あらゆるコンポーネントが複数のそのようなコンポーネントを含み得る)。
例えば、パーソナルコンピューティング装置102により実行される画像キャプチャフィードバック及び他の動作は、パーソナルコンピューティング装置102上のアプリ又はプラグインにより制御され得る。いくつかの実施例において、パーソナルコンピューティング装置102は、2つかそれ以上のコンピューティング装置を含むことができ、そのうちの1つは、他のものより、より多くのコンピューティングリソース(例えば、処理能力、メモリ、及び/又は通信帯域幅)を有している。例えば、パーソナルコンピューティング装置102は、より大きなタブレットコンピューティング装置、及び、より小さな手首装着型又は眼鏡装着型コンピューティング装置を含み得る。そのような実施例において、より小さなコンピューティング装置により取得されて、事前に処理されたデータ(例えば、画像データ、音声データ、又は他のセンサデータ)は、更なる処理のために、より小さなコンピューティング装置からより大きなコンピューティング装置に送信され得る。
コンピューティングシステム100は、ICD104を含み得る。いくつかの実施例において、ICD104は、1つ又は複数のカメラを含み得る。ここで使用されるように、用語“カメラ”は、静止画カメラ及びビデオカメラを含み得る。カメラは、アナログ又はデジタルであり得る。いくつかの実施例において、ICD104は、高精細度ビデオをキャプチャし得る。いくつかの実施例において、ICD104は、有線又は無線通信経路(例えば、それぞれ、経路108及び経路112)を通して、画像データ(例えば、ビデオデータ)をパーソナルコンピューティング装置102及び/又はリモートコンピューティング装置106に流すように構成され得る。いくつかの実施例において、ICD104は、パーソナルコンピューティング装置102に局所的に接続される(か、又はパーソナルコンピューティング装置102と一体化される)ことができ、一方、他の実施例において、ICD104は、パーソナルコンピューティング装置102から遠く離れているかもしれない(とともに、例えばパーソナルコンピューティング装置102の所有者又はユーザと異なる所有者又はユーザと関連付けられたパーソナルコンピューティング装置に統合されるかもしれない)。
ICD104は、あらゆる撮像波長(例えば、可視光線又は赤外線)を使用し得る。いくつかの実施例において、ICD104は、可視光線カメラ及び赤外線カメラを含み得るとともに、これらの装置によりキャプチャされた画像を結合し得るか、又は別々にそれらを扱い得る。いくつかの実施例において、ICD104は、一定数の静止画像を連続的にキャプチャするように構成され得るとともに、音又は他のインジケータにより各画像をキャプチャする前にユーザに警報を出し得る。
ICD104は、それぞれがコンピューティングシステム100の異なるユーザと関連付けられた複数のICDを含み得る。例えば、(コンピューティングシステム100上で動作する)ソーシャルネットワーキングサービスの各ユーザは、ユーザのスマートフォン又はタブレット(例えば、パーソナルコンピューティング装置102と同様に構成される)に統合された画像キャプチャ装置(例えば、ICD104と同様に構成される)を有し得るとともに、下記で論じられるように、キャプチャされた画像を処理のためにリモートコンピューティング装置106に提供し得る。別の実例において、ICD104は、複数のレンズが同じ被写体の複数の画像の同時のキャプチャを可能にするアレイカメラを含み得る。アレイカメラによってキャプチャされた各画像は、露光時間、焦点距離、ホワイトバランスなどにより異なり得る。ICD104は、画像を結合するためにあらゆる既知の技術を実行するか、又は(例えば、コンピューティングシステム100の他のコンポーネントと協同して)様々な画像ブラウジング経験を提供するように構成される処理装置を含み得る。
いくつかの実施例において、ICD104は奥行きカメラを含み得る。奥行きカメラは、(例えば、異なる解像度、光学的性質、及び/又は他の特性を有している)異種のカメラのアレイを含み得るとともに、キャプチャされた場面の物体の奥行きに関する情報を提供し得る。いくつかの実施例において、奥行きカメラは、ステレオ又はマルチベースラインステレオを提供するように構成される2つかそれ以上のカメラを含み得る。いくつかのそのような実施例において、特徴(feature)(例えば、キャプチャされた場面におけるエレメント)は、各カメラにおいて識別され得るとともに、認識された特徴間の対応は、特徴の奥行きを判定するために分析され得る。いくつかの実施例において、奥行きカメラは、カメラ、及び特定のパターンの構造化された光又は縞模様の光を場面に照らすプロジェクタを含み得る。カメラによる場面におけるパターンの観測と結合された構造化された光の既知の幾何構造は、奥行きカメラが奥行き情報を判定することを可能にし得る。いくつかの実施例において、奥行きカメラは、複数のカメラ、及びランダムなテクスチュアパターンを場面に投影するプロジェクタを含み得る。キャプチャされた場面におけるテクスチャーポイントは、奥行きの推定を可能にする対応関係を識別するために複数のカメラにより分析され得る特徴になり得る。いくつかの実施例において、奥行きカメラは、信号が発射されるとともに信号が戻るためにかかる時間が測定されるタイムオブフライト(time-of-flight)アプローチを利用し得る。そのような奥行きカメラは、超音波センサ、レーザセンサ、及び他のセンサを使用し得る。いくつかの実施例において、奥行きカメラは、場面における既知の物理的次元の物体を認識するように構成され得るとともに、キャプチャされた画像におけるそれらの物体の大きさを観察することにより、それらの物体に対する奥行きを推定し得る。
コンピューティングシステム100は、奥行きカメラにより生成されたデータに基づいて、場面の中の様々な奥行きにおいて1つ又は複数の特徴を有する場面のモデルを生成するように構成され得る。奥行きカメラからのデータを用いて生成され得る特徴の実例は、下記で論じられるように、特定の奥行きにおける物体の“質量”、及び特定の奥行きにおける全ての物体の“質量の中心”を含む。
リモートコンピューティング装置106は、パーソナルコンピューティング装置102及び/又はICD104から遠く離れた、1つ若しくは複数のサーバ(例えば、“クラウド”コンピューティング構成に配置される)、又は、他のコンピューティング装置を含み得る。パーソナルコンピューティング装置102とリモートコンピューティング装置106との間の通信経路110、及び画像キャプチャ装置104とリモートコンピューティング装置106との間の通信経路112は、あらゆるリモートの有線又は無線通信プロトコルに従って設定され得る。いくつかの実施例において、リモートコンピューティング装置106は、パーソナルコンピューティング装置102又はICD104より多くのコンピューティングリソース(例えば、処理能力、メモリ、及び/又は通信帯域幅)を有し得る。したがって、いくつかの実施例では、パーソナルコンピューティング装置102及び/又は画像キャプチャ装置104によりキャプチャされて、事前に処理されたデータ(例えば、画像に対するモデルのような画像データ)は、更なる処理のために、通信経路110及び/又は112を介してリモートコンピューティング装置106に送信され得る。いくつかの実施例において、リモートコンピューティング装置106は、図2を参照して下記で論じられる画像キャプチャフィードバック動作の大部分を実行し得る。いくつかの実施例において、リモートコンピューティング装置106は、ICD104によりキャプチャされた画像を記憶するための記憶装置を含み得る。
上記で示されたように、いくつかの実施例において、リモートコンピューティング装置106は、複数のパーソナルコンピューティング装置(パーソナルコンピューティング装置102と同様に構成される)、及び/又は複数のICD(ICD104と同様に構成される)と通信し得る。リモートコンピューティング装置106は、各パーソナルコンピューティング装置又はICDに対して同様の処理及び記憶動作を実行し得る。例えば、リモートコンピューティング装置106は、複数の画像キャプチャ装置(画像キャプチャ装置104と同様に構成される)によりキャプチャされた画像を受信し得るとともに、これらの画像に関して画像キャプチャフィードバックを実行し得る(例えば、異なるICDの異なるユーザの各々に示されるべき異なる動作に対する提案を生成する)。リモートコンピューティング装置106は、リモートコンピューティング装置106と通信している複数のパーソナルコンピューティング装置又はICDのうちの異なるものに対して異なるリソース(例えば、各装置に対する異なるメモリパーティション又はデータベース)を充て得る。
ここに開示された画像キャプチャフィードバックシステムのいくつかの実施例では、コンピューティングシステム100のコンポーネント間の通信経路のうちの1つ又は複数は含まれないかもしれない。例えば、いくつかの実施例において、ICD104は、リモートコンピューティング装置106と通信経路112を介して直接通信しないかもしれないが、しかし、リモートコンピューティング装置106と、パーソナルコンピューティング装置102並びに通信経路108及び110を介して通信するかもしれない。
上記で示されたように、下記で説明される画像キャプチャフィードバック動作の数々は、コンピューティングシステム100のコンポーネントの間で、あらゆる所望の配置で分散され得る。例えば、いくつかの実施例において、ここで説明された画像キャプチャフィードバック動作の全ては、ICD104により実行され得る。いくつかの実施例において、ここで説明された画像キャプチャフィードバック動作の多くは、ICD104により実行されることができ、一方、他の画像キャプチャフィードバック動作は、リモートコンピューティング装置106(それは、例えば、クラウドコンピューティング装置であり得る)により実行されることができる。いくつかの実施例において、ここで説明された画像キャプチャフィードバック動作のいくつか又は全ては、パーソナルコンピューティング装置102(それは、例えば、装着型コンピューティング装置であり得る)により実行され得る。要望どおりに、他の配置が使用され得る。
図2は、各種の実施例による実例となる画像キャプチャフィードバックシステム200の構成図である。画像キャプチャフィードバックシステム200は、入出力(I/O)装置228、処理ロジック202、及び記憶装置226を含み得る。画像キャプチャフィードバックシステム200は、複数の画像キャプチャフィードバック動作のうちのいずれかを実行するように構成され得る。例えば、画像キャプチャフィードバックシステム200は、ICDから画像を受信し、画像に対するスコアを生成し、動作に対する提案を、もし動作が行われたあとでICDが第2の画像をキャプチャするならば、第2の画像に対するスコアが画像に対するスコアより良くなるように生成し、ユーザに対する推奨される動作を出力装置に示すように構成され得る。
画像キャプチャフィードバックシステム200は、各種の実施例に従って、図1のコンピューティングシステム100により実施され得る。特に、画像キャプチャフィードバックシステム200のコンポーネントは、コンピューティングシステム100のコンポーネントのうちの1つ又は複数の間で、あらゆる適切な方法で分散され得る。画像キャプチャフィードバックシステム200の複数のコンポーネントが図2において例示されるが、各種の実施例は、実行されるべき画像キャプチャフィードバック動作にふさわしいようにコンポーネントを省略し得る。例えば、画像キャプチャフィードバックシステム200のいくつかの実施例は、照明分析用に構成されないかもしれないとともに、したがって、照明ロジック236を含まないかもしれない。
画像処理システム200のI/O装置228は、ICD104を含み得る。ICD104は、図1を参照して上記で論じられた形式のうちのいずれかを採用し得る。例えば、ICD104は、パーソナルコンピューティング装置102(図1)に含まれることができ、それは、画像データ(例えば、画像、及び/又は画像と関連付けられたモデル)を、通信経路110を通して無線でリモートコンピューティング装置106に流し得る。
I/O装置228は、入力装置210を含み得る。入力装置210は単数において参照されるかもしれないが、入力装置210は、それぞれが1つ又は複数の入力の様式に従って動作する複数の入力装置を含み得る。入力装置210は、例えば、タッチ入力、音声入力、ジェスチャ入力を受信し、そして、その入力を、画像キャプチャフィードバックシステム200の他のコンポーネントに伝達され得る1つ又は複数の電気信号に変換するように構成され得る。入力装置210は、音声キャプチャ装置(例えば、様々な方向性に配置された1つ又は複数のマイクロフォン)、キーボード、マウスのようなカーソル制御装置、スタイラス、タッチパッド、バーコードリーダ、クイックレスポンス(QR)コードリーダ、無線周波数識別子(RFID)リーダ、全地球的測位システム(GPS)受信機、短距離無線受信機(例えば、ブルートゥース受信機)、1つ若しくは複数のセンサ(例えば、加速度計若しくは動き検出装置)、又は、あらゆる他の適切な入力装置を含み得る。
画像キャプチャフィードバックシステム200は、出力装置218を含み得る。入力装置210を参照して上記で論じられたように、出力装置218は、単数において参照されるかもしれないが、任意の数の出力装置が出力装置218に含まれ得る。いくつかの実施例において、出力装置218は、表示装置又はプロジェクタのような画像出力装置を含み得る。出力装置218は、例えば、1つ又は複数の、ヘッドアップディスプレイ(すなわち、ユーザに彼又は彼女の典型的視点から目をそらすことを要求することなくデータを提供するために、光コリメータ構成に配置されるプロジェクタと、コンバイナとを含むディスプレイ)、コンピュータモニタ、プロジェクタ、タッチスクリーンディスプレイ、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ、又は、フラットパネルディスプレイを含み得る。いくつかの実施例において、出力装置218は、ICD104に含まれるディスプレイであり得る。ICD104に含まれるディスプレイは、ICD104により現在若しくは以前にキャプチャされた場面、及び/又は、他の情報を表示し得る。いくつかの実施例において、出力装置218は、ICD104を同様に含むパーソナルコンピューティング装置102(例えば、スマートフォン)に含まれるタッチスクリーンであり得る。いくつかの実施例において、出力装置218は、例えば1つ若しくは複数のイヤフォン(earphone)又はイヤホン(earbud)に取り付けられ得る1つ若しくは複数のスピーカ又は他のオーディオ変換器のような音声出力装置を含み得る。出力装置218に含まれ得る他の装置は、2次元若しくは3次元プリンタ、情報を他の装置に提供するための有線若しくは無線送信機、追加の記憶装置、振動装置のような触覚に基づく装置、又は、あらゆる適切な出力装置を含む。
画像キャプチャフィードバックシステム200は、記憶装置226を含み得る。いくつかの実施例において、記憶装置226は、画像キャプチャフィードバックシステム200のコンポーネントのうちのいずれかによるアクセスのために、ここで説明されたデータのいずれか(例えば、画像データ、モデルデータ、スコアリング測定基準、中間及び/又は最終の計算結果、画像スコアなど)を記憶するための1つ若しくは複数のデータベース又は他のデータ記憶構造を含み得る。例えば、記憶装置226は、1つ若しくは複数のハードドライブ、ソリッドステートロジック、又はポータブル記憶媒体のような、あらゆるメモリ装置を含み得る。記憶装置226は、処理ロジック202及び/若しくはI/O装置228のコンポーネントのうちのいずれか1つ又は複数に対して局所的であり得るか、又は、あらゆるコンポーネントから遠隔的であり得る。記憶装置226は、局所的なコンポーネント及び遠隔的なコンポーネントの両方を含み得る。記憶装置226は、異なる記憶タイプの記憶装置(例えば、ハードドライブ及びポータブル記憶装置)であり得る複数の異なる記憶装置を含み得る。
I/O装置228及び記憶装置226は、処理ロジック202に連結され得る。処理ロジック202は、I/O装置228のうちの1つ若しくは複数に対するデータ及び/又はI/O装置228のうちの1つ若しくは複数からのデータを受信するとともに、このデータをI/O装置228と処理ロジック202のコンポーネントのうちの1つ若しくは複数との間で転送するように構成される入力装置インタフェース(図示せず)を含み得る。処理ロジック202は、記憶装置226に対するデータ及び/又は記憶装置226からのデータを受信するとともに、このデータを記憶装置226と処理ロジック202のコンポーネントのうちの1つ若しくは複数との間で転送するように構成される記憶装置インタフェース(図示せず)を含み得る。処理ロジック202のコンポーネントが別々に例示されるが、それらのコンポーネントは、適切であるように、結合され得るか、又は分割され得るとともに、それぞれは、それ自身の分析を行う際に他のものにより生成された結果のうちの1つ又は複数を使用し得る。データは、物理的バス、長距離の有線通信経路、短距離若しくは長距離の無線通信経路、又は通信経路のあらゆる組み合わせを介して、処理ロジック202のコンポーネントの間で伝達され得る。
処理ロジック202は、受信機ロジック206を含み得る。いくつかの実施例において、受信機ロジック206は、ICD104から画像を受信するように構成され得る。これらの画像は、ICD104から直接受信され得るか、又は、メモリ(例えば、記憶装置226に含まれる)からアクセスされ得る。もしそれらの画像がまだ記憶されていないならば、受信機ロジック206は、記憶装置226内の記憶装置に画像を提供し得る。画像を受信する(とともに、画像に基づく提案された動作を示す)動作は、定期的な間隔又は非定期的な間隔で(例えば、入力装置210に含まれる加速度計又は他のセンサによるICD104の動きの検出に応答して)キャプチャされた新しい画像と共に繰り返され得る。
受信機ロジック206により受信された画像は、画像キャプチャフィードバックシステム200のユーザにとって興味がある場面をキャプチャし得る。例えば、図3は、下記で論じられるように、受信機ロジック206により受信され得るとともに、画像キャプチャフィードバックシステム200の1つ又は複数の他のコンポーネントにより処理され得る場面316の実例となる画像300を描写する。画像300は、(頭部314、シャツ310、及びズボン312を有する)人物302、いくらかのプレゼント304、樹木306、並びに部屋308のような、場面316における複数の物体をキャプチャし得る。
図2に戻ると、処理ロジック202は、評価ロジック216を含み得る。評価ロジック216は、受信機ロジック206に連結され得るとともに、画像に対するスコアを生成するように構成され得る。評価ロジック216は、受信機ロジック206により画像が受信されると、又は、ガイダンスに対するユーザ要求(例えば、ユーザインタフェースにおけるヘルプボタン(図示せず)を押下することによる)に応えて、自動的に画像に対するスコアを生成し得る。いくつかの実施例において、評価ロジック216は、1つ又は複数の美的基準に従って画像の品質を代表するスコアリング測定基準を適用することによりスコアを生成し得る。スコアリング測定基準の多くの実例がここで説明されるとともに、あらゆる適切なスコアリング測定基準が評価ロジック216により提供され得る。例えば、いくつかの実施例において、評価ロジック216は、下記のスコアリング測定基準を適用することによりスコアを生成し得る。
ここで、hist(image、a:b)は、色調値aと色調値bとの間の画像の色調値のヒストグラムを示し、色調値1は白ピクセルを示すとともに、色調値0は黒ピクセルを示し、argmax(h)は、hの最大値をもたらす、hに対する引数を返す関数であり、threshは、様々なアプリケーションに対してあらゆる適切な方法で選択され得る、1に近い所定のしきい値を表す。式(1)のスコアリング測定基準は、画像が露出過度でない場合(例えば、argmax(hist(thresh:l))<lの場合)か又は露出不足でない場合(例えば、argmax(hist(thresh:l))>threshの場合)に、画像にスコア1を与えることにより、画像に“報酬を与える(reward)”とともに、そうでなければ、画像にスコア0を与えることにより、画像に“ペナルティを科す(penalize)”。式(1)のスコアリング測定基準は、評価ロジック216により提供され得るスコア生成技術を単に例示する。スコア生成技術の多くの追加及び代替の実例がここで説明される。
いくつかの実施例において、評価ロジック216は、モデルロジック208、及びスコアリングロジック222を含み得る。モデルロジック208は、受信機ロジック206に連結され得るとともに、受信機ロジック206により受信された画像を処理して、画像を代表するモデルを生成するように構成され得る。評価ロジック216は、下記で論じられるように、同様に、提案ロジック238に連結され得るとともに、(例えば、候補モデル又は目標モデルを通して)候補画像又は目標画像に対するスコアを生成するように構成され得る。スコアリングロジック222は、モデルロジック208に連結され得るとともに、画像に対するスコアを生成するために、モデルロジック208により生成されたモデルにスコアリング測定基準を適用するように構成され得る。いくつかの実施例において、モデルロジック208は、画像の内容を代表するデータを生成するあらゆる処理タスクを実行し得るとともに、スコアリングロジック222は、画像に対するスコアを生成するために、モデルロジック208により生成されたデータを使用し得る。例えば、評価ロジック216が式(1)のスコアリング測定基準を使用して画像に対するスコアを生成する実施例では、モデルロジック208は、画像を処理して画像(モデル)の色調値のヒストグラムを生成し得るとともに、スコアリングロジック222は、式(1)のスコアリング測定基準をヒストグラムに適用することにより、画像に対するスコアを生成し得る。
モデルロジック208は、あらゆる適切な次元数における画像のモデルを生成し得るとともに、あらゆる適切なレベルの細部を、場面における物体、及び場面をキャプチャするために使用されるICD104に関するモデルに含め得る。いくつかの実施例において、モデルは、2次元、3次元、又は4次元であり得る。例えば、もし画像が空間的な奥行き情報を持たないビデオストリームであるならば、モデルロジック208は、2つの空間次元、及び1つの時間次元を有する3次元モデルを生成し得る。もし画像が奥行きカメラによりキャプチャされた静止画像であるならば、モデルロジック208は、3つの空間次元を有する3次元モデルを生成し得る。画像が奥行き情報を含まない実施例においてさえも、ICD104はズーム機能を有している可能性があり、したがって、モデルロジック208により生成されるモデルは、ズーム機能を説明するために、第3の空間(奥行き)次元を含み得る。その代りに、モデルロジック208は、ズーム機能をICD104の設定値のように扱うかもしれず、したがって、第3の空間次元をモデルに含めないかもしれない。モデルの次元は、受信機ロジック206により受信された画像から解決できる空間次元及び/又は時間次元の数、並びに、モデルを評価するために利用可能な処理リソースのような複数の要因に基づき得る(とともに、適切な量の時間内にここで説明された画像キャプチャフィードバック技術を実行するために、次元が多くなると、より多くのリソースを必要とする)。
モデルロジック208は、画像から、複数の異なる種類の情報のうちのいずれかを生成し得る。例えば、モデルロジック208は、画像の1つ又は複数のリージョンを生成し得る。リージョンは、画像における奥行きの特定の範囲と関連付けられ得るとともに、その奥行きの範囲に入るか又はほぼ入るキャプチャされた場面における物体を含み得る。いくつかの実施例において、画像は、奥行きカメラによりキャプチャされ得るとともに、1つ又は複数のリージョンは、異なる奥行きに対応するリージョンに画像を分割することにより生成され得る。例えば、図4は、画像300(図3)に対して、モデルロジック208により生成される4つのリージョン402、404、406、及び408を描写する。各リージョンは、場面316内の1つ又は複数の物体と関連付けられている。図4において、リージョン402は人物302を含み、リージョン404は(人物302より画像においてより大きな奥行きに位置している)プレゼント304を含み、リージョン406は(プレゼント304より画像においてより大きな奥行きに位置している)樹木306を含み、そしてリージョン408は、(樹木306より画像においてより大きな奥行きに位置している)部屋308を含む。例えば、リージョンは、リージョンの中心を使用すること、又はリージョンの境界を使用することを含む複数の方法のいずれにおいても、位置と関連付けられている。
いくつかの実施例において、モデルロジック208により生成されるモデルは、画像の1つ又は複数の特徴を含み得る。ここで使用されるように、画像の“特徴”は、あらゆる首尾一貫したポイント、エリア、又は、画像のポイント若しくはエリアの集まりを含み得るとともに、画像における1つ又は複数の対応する位置と関連付けられ得る。特に、特徴は、画像によりキャプチャされた場面における物体に対応し得るとともに、対応する物体の位置と関連付けられ得る。特徴の位置は、画像に適合させた座標系(例えば、画像の1つの角を起点として備え、ピクセルで測定された距離を有する)、又は、いくつかの他の座標及び/若しくは距離系(例えば、場面におけるポイントに位置する起点を備え、場面の中のメートルで測定された距離を有する)を使用して表され得る。モデルロジック208は、モデルにおける複数の異なる特徴のうちのいずれかを生成し得る。いくつかの実施例において、特徴は、特定のリージョン若しくは他の特徴に含まれ得るか、又は、特定のリージョン若しくは他の特徴と関連付けられ得る。そのような実施例は、図5において例示され、それは、(便宜上、図5の左手側に再現される)図4のリージョン402、404、406、及び408のそれぞれに対してモデルロジック208により生成された追加の特徴を描写する。特徴の複数の実施例が、図5を参照してここで論じられる。
いくつかの実施例において、モデルロジック208は、画像における特定のエリアと関連付けられた重心特徴を生成し得る。重心特徴は、(リージョン(region)のような)エリア(area)の重心の位置を示し得る。ピクセルから成るデジタル画像において、関連するエリアにおける各ピクセルは、等しい“質量”を有するとして扱われ得るか、又は、ピクセルは、(例えば、赤、緑、青、又はチャネルの組み合わせにおけるピクセルの強度により)重み付けされ得る。いくつかの実施例において、リージョンに対する重心の位置は、画像モーメントを用いて計算され得る。いくつかの実施例において、画像のエリアの重心{x、y}は、下記式に従って計算され得る。
ここで、
であり、l(x、y)は、(x、y)位置におけるピクセルの強度値である(とともに、ピクセルがリージョン内にあるならば強度は1に等しく、そうでないならば強度は0に等しい)。もしリージョンがシンプルな幾何学的形状(例えば、画像における顔の境界を示す長方形)であるならば、リージョンの重心は、既知の幾何的な関係を用いて位置付けられることができる。
いくつかの実施例において、重心特徴は、画像における単一の位置(例えば、重心の位置)により、又は、画像におけるエリアにより、表され得る。例えば、重心特徴は、重心位置に集中し得るとともに、サイズがエリアの“質量”に比例する(例えば、エリアにおける重み付けされた複数のピクセル又は重み付けされない複数のピクセルに比例する)画像の部分を占有し得る。図5では、リージョン402、404、406、及び408にそれぞれ対応して、重心特徴508、510、512、及び514が例示される。図5において例示された重心特徴は、関連するリージョンにおけるピクセルの数に比例する半径を有するとして示されるが、しかし、他の実施例は、重心特徴を重心の位置とだけ結び付けるかもしれない。
いくつかの実施例において、モデルロジック208は、画像においてキャプチャされた場面の物体を代表する1つ又は複数の物体特徴を生成し得る。モデルロジック208は、様々なタイプの物体を識別するとともに、物体が識別された場合に、対応する物体特徴を生成するように構成され得る。カスケード特徴分類(cascade feature classification)のようなあらゆる適切な機械学習技術が、画像における物体を識別するために使用され得る。例えば、モデルロジック208により識別され得る物体は、顔、身体(例えば、胴体、腕、脚、手)、乗物、動物、樹木、及び植物を含む。モデルロジック208が物体を識別する場合に、モデルロジック208は、画像における対応する位置(例えば、識別された物体の重心、又はあらゆる他の代表点又は代表エリア)にその物体に対する物体特徴を生成し得る。図5は、モデルロジック208により生成された、(リージョン402における人物302の頭部314に対応する)頭部特徴504、及び(リージョン402における人物302の身体に対応する)3つの身体特徴506を例示する。したがって、1つ又は複数の異なるタイプの特徴が、リージョンと関連付けられ得る。例えば、重心特徴508、並びに、物体特徴504及び506は、リージョン402と関連付けられた特徴セット502を形成し得る。利便性のために、特徴セット502は、単に特徴502と呼ばれるかもしれない。いくつかの実施例において、ここで論じられた特徴のうちのいずれもが、1つ又は複数の特徴ポイントにより、モデルにおいて表されることができ、それは、特徴全体に分散され得るか、及び/又は、特徴の興味のある境界若しくは地点に印を付け得る。
いくつかの実施例において、ユーザは、画像における特徴の存在、位置、及び/又はタイプを示すために入力装置210を使用し得る。例えば、ユーザは、画像における物体の輪郭を描くか、又は画像における物体を指し示すために、入力装置210に含まれるタッチスクリーンを使用し得るとともに、モデルロジック208は、ユーザ入力と関連付けられた特徴を生成することにより応答し得る。
図6は、モデルロジック208により生成された、図3の画像300の実例の3次元モデル600を例示する。特に、モデルロジック208は、x軸604、y軸606、及びz軸608を有する3次元の座標系602においてモデル600を定義し得る。モデル600の特徴(例えば、特徴並びに特徴セット502、510、512、及び514)は、画像300における異なる奥行きと関連付けられることができ、それは、モデル600において、異なるz座標として反映され得る。用語“場面特徴”が、ここで使用され得るとともに、キャプチャされた場面における物体と関連付けられたモデルにおける特徴を含み得る。図6において、モデル600と関連付けられた全ての場面特徴のセットは、参照符号620によってラベル付される。
モデルロジック208は、異なる重みを異なる場面特徴に割り当て得る。これらの異なる重みは、画像に対するスコアがスコアリングロジック222により生成される場合にどのように特徴が扱われるかに影響を与え得る。いくつかの実施例において、より大きい視覚的な関心の特徴(例えば、顔、キャプチャされた場面のほとんどを占める物体、最もICD104に近い物体)は、比較的高い重みを割り当てられ得るとともに、したがって、これらの特徴の美的側面は、より小さい視覚的な関心の特徴と比べると、(例えば、加重平均が計算される場合に)画像のスコアに関して更に強い影響力を有し得る。モデルロジック208は、同様に、様々な場面特徴に、評価された美的基準(例えば、局所背景サリエンス(local background salience:局所背景主要点)、色相補性、又は、下記で論じられた他のいずれかの美的基準)に応じて異なる重みを割り当て得る。いくつかの実施例において、ユーザは、(例えば、ユーザに示された特徴を参照して上記で論じられたように、タッチスクリーンによって、)特定の特徴が、“好みの”又は“焦点の”特徴であり、その特徴が高い重みを与えられ得ることを示し得る。重みは、線形若しくは非線形の組み合わせにおける、又はあらゆる他の適切な方法における係数として、関連する特徴からの寄与率を調整するために使用され得る。
モデルは、画像においてキャプチャされた場面における特定の物体を表さないが、しかし画像においてキャプチャされた場面に関係する他のエレメントを表す場面特徴を含み得る。例えば、いくつかの実施例において、モデルロジック208は、1つ又は複数の光源特徴を生成し、光源特徴をモデルに含めるように構成され得る。光源特徴は、キャプチャされた場面における物体に光が影響を与える方向を表し得るとともに、関連した位置及び他の特性(例えば、暖かさ又は拡散率)を有し得る。モデルロジック208は、とりわけ、画像における影の角度を識別するとともに、最大又は最小のコントラストを有する画像の部分を識別することにより、光源特徴の位置及び他の特性を推定し得る。図6は、モデル600の一部として3次元の座標系602の中に配置される光源特徴612を例示する。光源特徴の追加の特性は、時刻、及び(全体の照明条件を代表し得る)天候を含み得る。
モデルは、ICD104を代表する特徴を含むことができ、ここではICD特徴と呼ばれる。ICD特徴は、キャプチャされた場面に関して、場所(例えば、x座標、y座標、及び/又はz座標)、方向性(例えば、ICD104の画像キャプチャの軸又はあらゆる他の軸の回りの回転)、並びに、ICD設定値(例えば、ズーム、絞り、シャッタスピード、ISO/フィルム感度、フラッシュ、被写界深度、ビデオのためのフレームレート、解像度、高ダイナミックレンジ(HD)設定値(例えば、多重露出に関係した)など)のような、ICD104の複数の特性のうちのいずれかを表し得る。モデルロジック208は、モデルに、ICD104の特性に対応する特性を有するICD特徴を含め得る。いくつかの実施例において、ICD104の特性は、GPS又は加速度計センサのような、入力装置210に含まれるセンサにより少なくとも部分的に提供され得るか、又は、ICD104の設定値を含むメモリ(例えば、記憶装置226)に記憶され得る。図6は、モデル600の一部として3次元の座標系602の中に配置されるICD特徴614を例示する。ICD特徴614は、ICD特徴614と同じ特性を有するICDが画像300をキャプチャすることになるように、(座標系602における)位置、方向性、及び、1つ又は複数の追加の設定値を有し得る。
いくつかの実施例において、モデルロジック208により生成されたモデルは、キャプチャされた場面における物体とICD104のできるだけ完全な表現であろうとするかもしれない。例えば、モデルロジック208は、場面における物体の全てを再現する、キャプチャされた場面の3次元モデルを生成し得る。他の実施例において、モデルロジック208により生成されたモデルは、場面の様々な抽象化の形式をとるかもしれない。例えば、モデルは、場面における対応する物体の実際の形状に対する近似として、1つ又は複数の特徴に対する球、円、長方形、平面、又は他の2次元若しくは3次元形状(例えば、頭部特徴に対する球)を含み得る。画像によってキャプチャされた場面のモデルを生成することにより、モデルロジック208は、(ICD特徴によりモデルの中に示される)ICD104の設定値及び他の特性における変化、又は、(例えば、場面特徴によりモデルの中に示されるような)場面内の物体の場所又は他の特性における変化が、キャプチャされた画像をどのように変更し得るかを判定し、それにより、画像を改良するために必要とされ得る動作に対する提案を生成するために、スコアリングロジック222及び提案ロジック238と協同して機能し得る。
どの動作が画像を改良することになるかを判定するために、評価ロジック216は、画像に対するスコアを生成し得る。スコアは、1つ又は複数の美的基準に従って、画像の美的価値を表し得る。特に、評価ロジック216は、画像に対するスコアを生成するために、モデルにスコアリング測定基準を適用するように構成され得るスコアリングロジック222を含み得る。いくつかの実施例において、スコアリングロジック222は、(それぞれが特定の美的基準に対応する)複数の異なるサブスコアリング測定基準を使用して、モデルを評価することができ、そして、これらの様々なサブスコアリング測定基準を最終のスコアリング測定基準に統合することができる。複数のそのような異なるサブスコアリング測定基準が、スコアリングロジック222に含まれ得る様々なコンポーネントに関して、ここから論じられるとともに、図3の実例画像300を参照して例示される。
いくつかの実施例において、スコアリングロジック222は、サリエンスロジック(salience logic)230を含み得る。サリエンスロジック230は、画像の様々な部分のサリエンス(salience:主要点)を生成するように構成され得る。概して、画像の部分のサリエンスは、画像のその部分が人間のビューアの注意を引き付けるであろう可能性を代表し得る。画像の最も顕著な部分は、例えば、異常な強度、色、及び/又は方向性を有する部分であり得る。サリエンスロジック230は、2012年5月3日に開示され、そして参照によりここに組み込まれた米国特許出願公開第2012/0106850号においてKoch等により説明された技術のような、画像における1つ又は複数の位置に関するサリエンス値を生成するための複数の既知の技術のうちのいずれかを実施し得る。特に、サリエンスロジック230は、画像における各位置kに関するサリエンス値を返すサリエンスマップsalience(k)を生成し得る。
サリエンスロジック230は、複数の方法のうちのいずれかにおいて、サリエンス値を更に処理するように構成され得る。いくつかの実施例において、サリエンスロジックは、モデルロジック208により生成された各特徴に対する局所背景サリエンスを生成するように構成され得る。ここで使用されるように、用語“背景(background)”は、特定の特徴以外の画像の部分のことを、それらの部分が特定の特徴に対応する物体よりICD104から更に離れた物体を表すかどうかに拘わらず、指すことができる。特徴(feature)に対する局所背景サリエンス(local background salience:局所背景主要点)は、特徴に対して局所的であるが、しかし特徴を含まない画像の部分のサリエンス(salience:主要点)の最大の、平均的な、又は他の表現であり得る。この部分は、局所背景エリアと言われ得る。局所背景サリエンスは、気を散らさない背景に対して興味のある物体(例えば、顔)を構成することが多くの場合望ましいので、画像の美的品質に関連し得る。もし特徴が画像の顕著な部分の近くにあるならば、その特徴は、あまり視覚的に識別できないかもしれず、したがって、特徴を強調しようと試みる画像は、比較的低い品質の画像であるかもしれない。このように、特定の特徴に対する低い局所背景サリエンスは、より高い美的品質を示し得る。
いくつかの実施例において、特徴の局所背景エリアは、特徴と異なる奥行きにおける画像の部分を含み得る。例えば、図7は、様々な実施例による、局所背景サリエンス分析を実行するためにサリエンスロジック230により使用され得る画像300のリージョン及びエリアを例示する。図7の左側において、それぞれ、背景エリア702、704、706、及び708は、重心特徴508、510、512、及び514に対して例示される。図7の実施例において、それぞれ、背景エリア702、704、706、及び708は、リージョン402、404、406、及び408の補集合(complement)に対応する。いくつかの実施例において、サリエンスロジック230は、全体の背景エリアを局所背景エリアとして使用し、全体の局所背景エリアのサリエンスを判定し、そして、局所背景サリエンスを判定するために、このサリエンスを統合し得る。
いくつかの実施例において、特徴の局所背景エリアは、特徴の半径の中の画像の部分を含み得る。例えば、半径は、例えば特徴のサイズ又はタイプにより異なり得る。例えば、図7の右側は、参考のための重心特徴508、510、512、及び514とともに、背景エリア702、704、706、及び708を例示する。いくつかの実施例において、それぞれ、重心特徴508、510、512、及び514のそれぞれと関連付けられた局所背景エリアは、それぞれ、重心特徴508、510、512、及び514の特定の半径の中の背景エリア702、704、706、及び708の部分であり得る。それぞれ、リージョン508、510、512、及び514のそれぞれに対する局所背景エリアは、712、714、716、及び718として例示される。
サリエンスロジック230は、あらゆる適切な方法で局所背景サリエンスを生成し得る。例えば、局所背景サリエンスは、画像の部分の圧縮性を判定するための既知の技術を用いて計算され得る。別の実例において、画像のモデルにおける各特徴iに対して、サリエンスロジック230は、下記の式に従って、局所背景サリエンスbackground_salience(i)を生成し得る。
ここで、salience(k)は、位置kにおけるサリエンス値であり、そしてLBA(i)は、特徴iの局所背景エリアである。サリエンスロジック230は、各特徴に対する局所背景サリエンスをサリエンスサブスコアに統合し得る。いくつかの実施例において、サリエンスサブスコアは、下記の式に従って生成され得る。
ここで、Nは、モデルにおける特徴の総数である。いくつかの実施例において、スコアリングロジック222により画像に対して生成されたスコアは、サリエンスロジック230により生成された少なくとも1つの局所背景サリエンスに少なくとも一部分基づいているかもしれない。例えば、スコアリングロジック222により画像に対して生成されたスコアは、複数の特徴に対する統合された局所背景サリエンスに基づいているかもしれない。
いくつかの実施例において、スコアリングロジック222は、色相補性ロジック232を含み得る。色相補性ロジック232は、(モデルロジック208により生成される)各特徴の局所エリアと各特徴の局所背景エリアとの間の色相補性分析を実行するように構成され得る。色相補性分析は、特定の特徴(例えば、画像300のシャツ310)の色が特定の特徴の背景に近い又は背景における物体の色と似ているか又は異なる場合を示し得る。より大きな相違点は、特定の特徴をより視覚的に明瞭にするかもしれず、それにより、より高い美的品質を示し得る。
いくつかの実施例において、特定の特徴がリージョンと関連付けられる場合に、色相補性ロジック232により使用される局所エリアはリージョンであり得る。いくつかの実施例において、特定の特徴の局所背景エリアは、特定の特徴に対応しない(例えば、特定の特徴の補集合)か、又は特定の特徴を含むリージョンに対応しない画像の全ての部分であるかもしれない。モデルロジック208は、色相補性ロジック232により使用するための、各特徴に対する局所背景エリアを生成するように構成され得る。いくつかの実施例において、特徴の局所背景エリアは、画像における特徴の補集合であり得る。いくつかの実施例において、特定の特徴の局所背景エリアは、特定の特徴が関連している(例えば、サリエンスロジック230を参照して上記で論じられたような)リージョンの補集合であり得る。いくつかの実施例において、特徴に対する局所背景は、サリエンスロジック230を参照して上記で論じられた局所背景エリアと同じ方法で定義され得る。
例えば、図8は、様々な実施例による、色相補性分析を実行するために画像キャプチャフィードバックシステム200により使用され得る画像300のリージョン及びエリアを例示する。図8の左側において、それぞれ、リージョン402、404、406、及び408は、関連する重心特徴508、510、512、及び514と共に例示される。いくつかの実施例において、色相補性ロジック232は、全体の結合されたリージョンを色相補性目的のための局所エリアとして使用し得る。いくつかの実施例において、それぞれ、重心特徴508、510、512、及び514のそれぞれと関連付けられた局所エリアは、それぞれ、重心特徴508、510、512、及び514の特定の半径の中の関連するリージョン402、404、406、及び408の部分であり得る。重心特徴508、510、512、及び514のそれぞれに対する局所エリアは、それぞれ、802、804、806、及び808として例示される。図8の右側において、重心特徴508、510、512、及び514のそれぞれの(図7を参照して上記で論じられた)背景エリア702、704、706、及び708が例示される。いくつかの実施例において、色相補性ロジック232は、全体の関連する背景エリアを色相補性目的のための局所背景エリアとして使用し得る。いくつかの実施例において、それぞれ、重心特徴508、510、512、及び514のそれぞれと関連付けられた局所背景エリアは、それぞれ、重心特徴508、510、512、及び514の特定の半径の中の関連する背景702、704、706、及び708の部分であり得る。それぞれ、重心特徴508、510、512、及び514のそれぞれに対する局所背景エリアは、812、814、816、及び818として例示される。
色相補性ロジック232は、あらゆる適切な方法で色相補性分析を実行し得る。例えば、いくつかの実施例において、画像のモデルにおける各特徴iに関して、色相補性ロジック232は、下記の式に従って、色相補性値colorcomp(i)を生成し得る。
ここで、background(i)は、特徴iの局所背景エリアに対応する画像の部分であり、hist(image、j)は、色調値jにおける画像のヒストグラムの値であり、localarea(i)は、色相補性目的のための特徴iと関連付けられた局所エリアに対応する画像の部分であり、Cは、ヒストグラムにおける色調値の総数である。色相補性ロジック232は、各特徴に対する色相補性を色相補性サブスコアに統合し得る。いくつかの実施例において、色相補性サブスコアは、下記の式に従って生成され得る。
ここで、Nは、モデルにおける特徴の総数である。いくつかの実施例において、スコアリングロジック222により画像に対して生成されたスコアは、色相補性ロジック232により生成された少なくとも1つの色相補性に少なくとも一部分基づいているかもしれない。例えば、スコアリングロジック222により画像に対して生成されたスコアは、複数の特徴に対する統合された色相補性に基づいているかもしれない。
いくつかの実施例において、スコアリングロジック222は、構成ロジック234を含み得る。構成ロジック234は、画像を1つ又は複数の構成テンプレートと比較するように構成され得る。構成テンプレートは、構成ロジック234にアクセス可能な記憶装置226又は別の記憶装置に記憶され得る。構成テンプレートは、画像場面における物体の実際の配置又は配分が比較され得る所定の配置又は配分を表し得る。構成ロジック234は、構成テンプレートを画像と比較し(例えば、モデルのいくつか又は全てによって)、画像における場面特徴の配置が、所望の配置又は配分とどのくらい良く合う(align:そろう)かを判定し得る。例えば、周知の構成経験則は、“三分割法”として知られている。三分割法は、人間の視覚的注意が画像の黄金比分割にひかれる傾向があり、写真家は、したがって、場面の重要な物体をこれらの黄金比の点及び線に合わせるべきである、という認知理論を具体化する。構成テンプレートは、したがって、場面において物体がこれらの黄金比の点及び線と合っている画像に報酬を与える(reward)ことにより、この規則を反映し得る。
いくつかの実施例において、構成テンプレートは、画像と同じ次元を有し得るか又は画像の次元に適応するように調整可能であり得るとともに、所定の美的基準に従って、画像の特徴に対する所望の位置を示し得る。いくつかの実施例において、例えば、構成テンプレートは、間隔[0、1]におけるテンプレート値を画像における各ピクセルと関連付け得る。画像のモデルにおける場面特徴に対応するピクセルは、関連するテンプレート値により調整され得る。この方法において、テンプレート値が高い(例えば、1に近い)エリアにおける場面特徴に対応するピクセルは、テンプレート値が低い(例えば、0に近い)エリアにおける特徴に対応するピクセルより小さく弱められることになる。調整されたピクセル値を加算するか又はそうでなければ合計することは、モデルにおける特徴(例えば、場面特徴)が、高い値を有するテンプレートのエリアとどのくらい良く合うかを反映し得る。
例えば、図9は、様々な実施例による、画像キャプチャフィードバックシステム200が画像を比較し得る様々な構成テンプレート902〜946を描写する。構成テンプレート902〜946の白い部分は、高いテンプレート値(例えば、1に近いテンプレート値)を示すことができ、一方、構成テンプレート902〜946の黒い部分は、低いテンプレート値(例えば、0に近いテンプレート値)を示すことができる。上記で論じられたように、特定のピクセルに対するテンプレート値は、画像のモデルにおける場面特徴が、構成テンプレートにより表された“所望の”構成とどのくらい良く合うかを判定するために、画像のモデルにおける対応するピクセルに適用され得る重み付けを表し得る。図10は、モデル600の場面特徴620(図6、便宜上、図10の上端に2次元で複製される)と、構成テンプレート926、932、及び942(図10の左側に複製される)との間の比較を例示する。図10の右側の比較1002、1004、及び1006により示されたように、場面特徴620は、構成テンプレート926及び932の白いリージョンと十分に合わないかもしれないが、しかし、構成テンプレート942の白いリージョンとより良く合うかもしれない。
いくつかの実施例において、構成ロジック234は、画像と最も似ている構成テンプレートを識別し得る。画像に対してスコアリングロジック222により生成されたスコアは、その場合に、画像と、画像と最も似ているとして識別された構成テンプレートと間の比較に少なくとも一部分基づいているかもしれない。いくつかの実施例において、ユーザは構成テンプレートを選択し得るとともに、画像に対してスコアリングロジック222により生成されたスコアは、画像と、ユーザにより選択された構成テンプレートとの間の比較に少なくとも一部分基づいているかもしれない。いくつかの実施例において、ユーザは、(例えば、より進歩的なユーザに対する)所望の構成テンプレートを選択するための選択肢を有し得るか、又は画像キャプチャフィードバックシステム200が1つ又は複数の構成テンプレートを自動的に評価することを可能にし得る。
構成ロジック234は、あらゆる適切な方法で画像を1つ又は複数の構成テンプレートと比較し得る。例えば、いくつかの実施例において、構成ロジック234は、下記の式に従って、構成サブスコアcomposition_subscore(image)を計算し得る。
ここで、template(i、j)は、間隔[0、1]にあるとともに、ピクセルjにおける構成テンプレートiの値を表し、featurepix(j)は、もし画像内のピクセルjがモデル内の特徴に対応するならば1の値を有し、そうでなければ0の値を有する2値関数であり、sum(template(i、:))は、テンプレートiのテンプレート値の全ての和であり、Pは、画像内のピクセルの総数であり、そしてQは、構成テンプレートの総数である。この方法において、構成ロジック234は、式(8)における和を最大限にし、したがって画像における特徴と最も良く合う構成テンプレートを識別し得るとともに、画像とこの“最も良い”構成テンプレートとの間の整合に基づく構成サブスコアを生成し得る。画像に対してスコアリングロジック222により生成されたスコアは、1つ又は複数の構成テンプレートと、構成ロジック234により生成された画像(例えば、モデル)との間の比較に少なくとも一部分基づいているかもしれない。
いくつかの実施例において、スコアリングロジック222は、照明ロジック236を含み得る。照明ロジックは、1つ又は複数の所定の照明基準に従って、画像における照明条件の美的品質を評価するように構成され得る。いくつかの実施例において、画像における照明条件は、(例えば、図6の光源特徴612のような光源特徴を参照して上記で論じられたように)モデルの生成の一部分として、モデルロジック208により生成され得る。照明ロジック236は、画像がキャプチャされた時刻、キャプチャされた場面内の様々な物体に関する照明階調度、又は画像の美的品質に関係する他の照明条件を推定するために、画像における照明条件を分析するように構成され得る。例えば、いくつかの実施例において、照明ロジック236は、人間の顔に対して強い後方又は前方照明角度が存在する画像に、低い美的品質を割り当て得る。
図11は、モデルロジック208により生成された2つの代替照明シナリオのもとでの(図3の画像300からの)人物302の画像を例示する。例えば、モデルロジック208は、モデル600内の光源特徴612を移動する、光源特徴612の方向を再設定する、若しくはそうでなければ光源特徴612の特性を変更することにより、又は、1つ若しくは複数の追加の光源特徴を加えることにより、これらの実例となる人物の画像を生成し得る。シナリオ1102において、人物302は、ICD104と光源との間に位置しているかもしれない。シナリオ1104において、光源は、人物302とICE104の両方の側に位置しているかもしれない。キャプチャされた場面における物体のモデルを使用することにより、モデルロジック208は、キャプチャされた場面における物体が照らされる方向に関する照明の変化の影響を判定し得る。照明ロジック236は、その場合に、最初の照明条件、及び/又は変更された照明条件を評価し得る。
照明ロジック236は、あらゆる適切な方法で画像における照明条件を評価し得る。例えば、いくつかの実施例において、照明ロジック236は、下記の式に従って、照明サブスコアlighting_subscore(image)を計算し得る。
ここで、lighting_condition(i、j)は、画像のモデルにおける特定の特徴jに関しての特定の照明条件iに対するスコアの値であり、LCは、照明ロジック236により評価された照明条件の総数であり、そしてNは、モデルにおける特徴の総数である。モデルにおける全ての特徴は、必ずしも照明条件に関連するとは限らないかもしれず、したがって、これらの特徴の照明サブスコアに対する貢献は、ゼロである場合、又は小さい場合がある。特定の照明条件に対するスコアを生成するための3つの異なる技術の実例が、式(10)から(12)により下記で与えられる。
ここで、opt_angle(i)は、特徴iに入射する照明の最適な又は所望の角度であり、identified_angle(i)は、(モデルロジック208により識別された)画像における特徴iに対する照明の入射角であり、opt_diffuse(i)は、特徴iに入射する照明の最適な又は所望の拡散率であり、identified_diffuse(i)は、(モデルロジック208により識別された)画像における特徴iに入射する照明の拡散率であり、opt_warmth(i)は、特徴iに入射する照明の最適な又は所望の暖かさであり、そしてidentified_warmth(i)は、(モデルロジック208により識別された)画像における特徴iに入射する照明の暖かさである。画像に対してスコアリングロジック222により生成されたスコアは、照明ロジック236により生成された画像における照明条件の評価に少なくとも一部分基づいているかもしれない。
照明条件は、多くの追加の方法のうちのいずれかで評価され得る。例えば、もし場面における物体の表面幾何構造及び材料特性が知られているならば、照明ロジック236は、ICD104と1つ又は複数の光源との間の角度に関する情報を使用して、スペキュラハイライトを推定し、そのようなハイライト、又は、好ましくないタイプ若しくは量のそのようなハイライトを含む画像にペナルティを課すことができる。
上記で示されたように、スコアリングロジック222は、1つ又は複数のサブスコアを総合的なスコアリング測定基準に統合し、総合的なスコアリング測定基準を使用して画像に対するスコアを生成するように構成され得る。サブスコアの複数の組み合わせのうちのいずれもが、画像に対してスコアを生成するために使用され得る。例えば、いくつかの実施例において、スコアリングロジック222は、下記の式に従って、画像に対するスコアを生成し得る。
ここで、subscore(i)は、式(13)のスコアリング測定基準に統合されたi番目のサブスコア(例えば、ここで説明されたサブスコアのうちのいずれか)を示し、w(i)は、スコアリングロジック222が、サブスコアを画像に対するスコアに統合する場合に、様々なサブスコアに多少の重要度を割り当てることを可能にする、subscore(i)と関連付けられた重みである。
処理ロジック202は、画像に対するスコアを使用して、画像に関して改善するための動作に対する提案を生成し得る。特に、処理ロジック202は、提案ロジック238を含み得る。提案ロジック238は、評価ロジック216と連結され得るとともに、評価ロジック216により生成された画像に対するスコアに基づいて、動作に対する提案を生成するように構成され得る。提案ロジック238は、もし動作が行われたあとでICD104が第2の画像をキャプチャしたならば、評価ロジック216により第2の画像に対して生成されたスコアが評価ロジック216により上記画像に対して生成されたスコアより良くなるように、提案を生成し得る。すなわち、提案ロジック238により生成される提案は、評価ロジック216により適用されたスコアリング測定基準に埋め込まれた美的基準に基づいて、上記画像より“更に良い”画像をもたらすであろう提案である。下記の討論において、最初に処理された画像は“最初の”画像と言われることができ、上記画像を、(例えば、提案ロジック238からの提案に基づいて)最初の画像よりあとでキャプチャされ得る第2の画像と区別する。最初の画像のモデルは、“最初の”モデルと言われ得るとともに、最初のモデルの特徴は、“最初の”特徴と言われ得る。
いくつかの実施例において、提案ロジック238は、候補ロジック212、及び動作ロジック214を含み得る。候補ロジック212は、評価ロジック216に連結され得るとともに、(例えば、最初のモデルに基づいて)評価ロジック216により生成された最初の画像に対するスコアより良いスコアを有する目標モデルを生成するように構成され得る。いくつかの実施例において、候補ロジック212は、ICD特徴(例えば、場所、方向性、又は設定値)を調整する、及び/又は最初のモデルにおけるそれらの値からの場面特徴(例えば、物体又は光源に対応する特徴の場所)のうちのいずれかを調整するとともに、調整された特性を用いてキャプチャされた画像が最初の画像に対するスコアより良いスコアを有しているであろうかどうかを判定することにより、この目標モデルを生成し得る。これらの調整された特徴は、“候補”特徴と言われ得るとともに、“候補”モデルを一緒に形成し得る。
候補ロジック212は、候補場面特徴の候補ICD特徴によりキャプチャされた画像が何のように見えるかを判定するために候補ロジック212により使用可能な1つ若しくは複数の物理的及び/又は光学的な規則を含み得る。この画像は、“候補”画像と言われ得る。例えば、候補ロジック212は、候補ICD特徴のイメージング軸(imaging axis)に垂直である平面(例えば、候補ICD特徴の被写界深度に関連する距離に位置付けられた平面)上にモデルの候補場面特徴を投影し得るとともに、候補画像を生成するために、必要に応じて、候補ICD特徴の他の設定値(例えば、カラーフィルタ及び絞り設定値)を用いてその投影をフィルタ処理し得る。候補ロジック212は、候補画像を処理するとともに、上記で説明された技術を使用して候補画像に対するスコアを生成し得る評価ロジック216に対して、この候補画像を提供するように構成され得る。評価ロジックは、候補画像が最初の画像より高いスコアを有しているかどうか、そして、したがって、動作に対する提案を生成するために候補モデルが使用されるべきであることを判定し得る候補ロジック212に対して、このスコアを提供し得る。提案ロジック238が提案を生成し得る候補モデルは、“目標”モデルと言われ得るとともに、目標モデルと関連付けられた画像は、“目標”画像と言われ得る。
いくつかの実施例において、候補ロジック212は、場面内の物体とICD104の両方の調整を可能にすることにより画像のスコアを最適化する目標モデルを生成しようとする最適化技術を(評価ロジック216と協同して)実行し得る。例えば、候補ロジック212は、下記の式に従って、この最適化を実行し得る。
式(14)(及び、下記の式(15)と(16))において示されたように、候補ロジック212は、物理的制約条件を前提とした目標モデルを識別するように構成され得る。例えば、大部分のユーザが恐らく身長7フィート未満であるので、ICD104が地上8フィートに位置付けられることを必要とする目標モデルはふさわしくないであろうとともに、したがって考察されるべきでない。候補ロジック212は、ユーザが地面に近づく、若しくは不快な角度でICD104を操作するための限られた能力、ICD104の設定値における制限(例えば、制限された焦点距離及びシャッタスピード)、場面内の物体の可動性に関する制限(例えば、ビルディング又は他の大きな物体は容易に移動可能ではないかもしれない)、及び/又は、追加の物体若しくはサポートするエレメントを場面内に含める能力に関する制限(例えば、追加の光源の非可用性)、のような、そのような追加の制約条件によって設定され得るとともに、適切な目標モデルを識別する場合に、そのような制約条件を尊重し得る。例えば、これらの制約条件は、記憶装置226に記憶されることができ、そして、画像キャプチャフィードバックシステム200の“進歩的”モードにおいてユーザにより明白に列挙され得るか、又はユーザの介入なしにデフォルトで課され得る。
いくつかの実施例において、候補ロジック212は、場面内の物体の調整ではなくICD104のみの調整を可能にすることにより画像のスコアを最適化する目標モデルを生成しようとする最適化技術を(評価ロジック216と協同して)実行し得る。そのような実施例は、例えばICD104は容易に動かされるかもしれないが、しかし、場面内の物体はそうではないかもしれない、自然写真撮影の環境において適切であり得る。例えば、候補ロジック212は、下記の式に従って、この最適化を実行し得る。
いくつかの実施例において、候補ロジック212は、ICD104の調整ではなく場面内の物体のみの調整を可能にすることにより画像のスコアを最適化する目標モデルを生成しようとする最適化技術を(評価ロジック216と協同して)実行し得る。そのような実施例は、ICD104は固定したカメラであり、場面がより簡単に再配置され得る、ポートレートスタジオの環境において適切であり得る。例えば、候補ロジック212は、下記の式に従って、この最適化を実行し得る。
いくつかの実施例において、候補ロジック212は、式(14)、(15)、及び(16)のうちのいずれかに従って、ここで論じられたスコアリング測定基準のうちのいずれかの最大値又は極大値を達成する候補場面及びICD特徴を有する候補モデルを生成しようと試み得る。あらゆる所望の最適化規準を満たすとともに提案が基づくべきである候補モデルは、“目標”モデルと言われ得るとともに、関連する候補画像は、“目標”画像と言われ得る。いくつかの実施例において、目標モデルは、局所的又は全体的な最適化規準を満たす必要がなく、その代りに、目標モデルは、目標モデルが最初のモデルより良いスコアと関連付けられているかぎり、最初のモデルと異なる少なくとも1つの特徴を有するあらゆるモデルであり得る。いくつかの実施例において、より良い得点は、より高い得点を意味し得る。
例えば、候補ロジック212は、(例えば、式(14)、(15)、及び(16)のうちのいずれかを実施するために、)焼きなまし法(simulated annealing)、勾配降下(gradient descent)、又は遺伝的アルゴリズムのような、目標モデルを識別するためのあらゆる適切な数値又は他の計算手法を使用し得る。いくつかの実施例において、候補ロジック212は、最初のモデルの1つ又は複数の特徴を乱すことにより候補モデルを生成し、候補画像が最初の画像より良いスコアを有しているかどうかを判定するために対応する候補画像を評価し、もし所望の最適化規準が満たされているならば、候補モデルを目標モデルとして識別し得る。
図12から図13は、図2の画像キャプチャフィードバックシステムにより生成された、実例となる目標モデル、及び図3の場面316の対応する目標画像を描写する。目標モデル1200において、ICD特徴614は、モデル600におけるICD特徴614の場所と比較して、y−z平面の方へシフトされた。(目標モデル1200に対応する)その結果生じる目標画像1202は、画像1202における物体302、304、及び306が、画像300における物体302、304、及び306の場所と比較して右にシフトされたことを例示する。目標画像1202は、画像300と比較して1つ又は複数の改善された美的品質(例えば、構成テンプレートとのより良い整合)を有し得る。
目標モデル1300において、ICD特徴614は、モデル600におけるICD特徴614の場所と比較して、y−z平面から離れて、x−y平面の方へシフトされた。(目標モデル1300に対応する)その結果生じる目標画像1302は、目標画像1302における物体302、304、及び306が、ICD特徴614の場所の変化に起因して、物体302、304、及び306が画像300に現れるのと異なって配置されることを例示する。目標画像1302は、画像300と比較して1つ又は複数の改善された美的品質(もしシャツ310がおおよそ樹木306と同じ色であるならば、例えば、より良い色相補性)を有し得る。他の実施例において、目標モデルに場面を合わせることは、ICD特徴614の特性を変えることの代わりに、又はICD特徴614の特性を変えることに加えて、場面内の物体のうちの1つ又は複数を動かすことを必要とし得る。
一度候補ロジック212が適切な目標モデルを識別すると、(候補ロジック212に連結され得る)動作ロジック214は、最初のモデルと目標モデルとの間の(複数の)差異を使用して、動作に対する提案を生成し得る。いくつかの実施例において、動作ロジック214は、目標ICD特徴の特性をICD特徴の特性と比較し得るとともに、特性の間の差異を使用して、動作提案を生成し得る。特に、提案は、ICD104の特性を、より目標ICD特徴の特性に近い状態に至らせることになる動作を実行するようにユーザに指示し得る。いくつかの実施例において、動作ロジック214は、1つ又は複数の目標場面特徴の特性を対応する最初の場面特徴の特性と比較し得るとともに、特性の間の差異を使用して、動作提案を生成し得る。特に、提案は、場面内の物体の特性を、より目標場面特徴の特性に近い状態に至らせることになる動作を実行するようにユーザ又は画像の被写体に指示し得る。
動作ロジック214は、複数の動作提案のうちのいずれか1つ又は複数を生成し得る。例えば、動作提案は、ICD調整値を含み得る。いくつかの実施例において、目標ICD特徴とICD特徴は、水平座標、垂直座標、及び/又は奥行き座標において異なるかもしれず、そのような実施例において、動作ロジック214は、必要に応じて“ムーブ(移動)”又は“ズーム”動作に対する提案を生成し得る。いくつかの実施例において、目標ICD特徴とICD特徴は、方向性において異なるかもしれず、そのような実施例において、動作ロジック214は、必要に応じて“回転”動作に対する提案を生成し得る(例えば、ユーザが“横方向”の方向性よりむしろ“縦方向”の方向性においてICD104を方向付けることを提案する)。いくつかの実施例において、目標ICD特徴とICD特徴は、1つ又は複数の色設定値において異なるかもしれず、そのような実施例において、動作ロジック214は、“カラーフィルタ”動作に対する提案を生成し得る(例えば、セピア色又は他のカラーフィルタを適用する)。いくつかの実施例において、動作ロジック214により生成された動作提案は、ICD調整提案に加えて、又はICD調整提案の代わりに、場面調整提案を含み得る(例えば、動かすべき物体を指示する、被写体に立ち上がる若しくは座るように指示する、光源の場所が変更されるように指示する)。
画像キャプチャフィードバックシステム200は、提案された動作をユーザ又は他の個人又は装置に示し得る。特に、処理ロジック202は、インジケータロジック220を含み得る。インジケータロジック220は、提案ロジック238及び出力装置218に連結され得るとともに、提案ロジック238により生成された動作提案を出力装置218によってユーザに示すように構成され得る。いくつかの実施例において、出力装置218は、別の装置又は装置インタフェースを含み得るとともに、動作提案は、装置に、提案された動作に従って装置の特性を調整するように指示することになる。例えば、出力装置218は、光源インタフェースを含むことができ、提案された動作は、光源インタフェースに連結された光源の動きであるかもしれず、光源は、インジケータロジック220からの提案を受け取って処理して、光源インタフェース上で提案された動作を実行し得る。
いくつかの実施例において、インジケータロジック220は、ユーザに対して、可聴の指示、可視の指示、触覚の指示、又は他の指示を生成するように構成され得る。例えば、いくつかの実施例において、出力装置218は、オーディオ装置を含み得るとともに、インジケータロジック220は、ユーザがICD104を左又は右に動かすべきであることを示すために、それぞれ、左又は右のスピーカにおける音を生成するように構成され得る。いくつかの実施例において、例えば、出力装置218は、“左に移動”、“ズームアウト”、又は“露出を増加”のような、提案された動作に対応する可聴の音声命令を生成し得る。
いくつかの実施例において、出力装置218は、表示装置を含み得るとともに、インジケータロジック220は、可視指示を提供することにより、ユーザに動作を示し得る。テキスト(例えば、“カメラを縦方向の方向性に向ける”、“ズームアウト”、“被写体を左に動かす”)、記号、説明図、又は他の可視のインジケータのような、あらゆる適切な可視のインジケータが使用され得る。図14から図18は、画像300を改善するために実行され得る動作を示すためにインジケータロジック220により生成され得る、下記で論じられる様々な視覚表示を描写する。これらの表示は、ICD104により現在見られている画像(例えば、ICD104のビューファインダを通して見られているか又はデジタル表示装置上に表示されており、ここでは“現在の画像”として参照される)を含み得るとともに、処理ロジック202により分析された最初の画像に対応し得る。
いくつかの実施例において、インジケータロジック220は、画像の表示において、もし動作が実行されることができたならば物体が占有するであろう位置に物体の輪郭を表示することにより、動作を示し得る。そのような実施例は、インジケータロジック220が、人物302が輪郭1402と合う(align:そろう)ことになるように、人物の右側に人物302が移動するべきであることを示す表示1400を提供する、図14において例示される。
いくつかの実施例において、インジケータロジック220は、画像の表示において、もし動作が実行されることができたならば物体が占有するであろう位置に向かう動きを表している、物体に最も近いモーション軌跡を表示することにより、動作を示し得る。そのような実施例は、インジケータロジック220が、人物302が人物の右側に(モーション軌跡1502の方向に)移動するべきであることを示すモーション軌跡1502を有する表示1500を提供する、図15において例示される。
いくつかの実施例において、インジケータロジック220は、もしユーザが動作を実行することができたならばユーザがICD104を動かすであろう方向に対応するように選択された、表示の端に、インジケータを表示することにより、動作を示し得る。そのような実施例は、インジケータロジック220が、表示1600の右側にユーザがICD104を右側に移動するべきであることを示すリップル効果(ripple effect)1602を有する表示1600を提供する、図16において例示される。別のそのような実施例は、インジケータロジック220が、表示1700の右側にユーザがICD104を右側に移動するべきであることを示す矢印1702を有する表示1700を提供する、図17において例示される。
いくつかの実施例において、インジケータロジックは、画像の構成を改善するためにユーザが画像内の特徴を合わせるべきである構成テンプレートを、重ね書き(オーバレイ)し得るか、又はそうでなければ示し得る。いくつかの実施例において、この構成テンプレートは、(例えば、構成サブスコアを最大限にする構成テンプレートを発見するための構成ロジック234を参照して上記で説明された技術を使用して)動的に選択され得る。構成テンプレートは、現在の画像上の半透明のオーバレイとして提供され得るとともに、キャプチャされるべき場面が変化すると変化し得る。そのような実施例は、構成テンプレート946の白い部分を表しているオーバレイ1802が表示1800における現在の画像上に表示され得る図18において例示される。図18において示されたように、構成テンプレート946の白い部分が、表示1800において、より暗いオーバレイとして表示されるかもしれず、他の実施例では、構成テンプレートの黒い部分が、表示1800において、より暗いオーバレイとして表示されるかもしれない。
いくつかの実施例において、様々な他のオーバレイが、現在の画像の表示上に提供され得る。例えば、いくつかの実施例において、表示は、(図9の構成テンプレート946の白い部分により示された、画像上の3×3のグリッドの交点に対応する)黄金比の点のそれぞれにおいて、円を含み得る。これらの円のサイズは、現在の画像における重要な特徴の、関連する交点とのオーバラップの量に比例して調整され得る。現在の画像が変化すると、特徴がこれらの黄金比の点とずれて動くので、これらの円のサイズは、大きくなるか又は小さくなり得る。
図19は、静的及び動的の両方の構成ガイダンスを含む表示1900を描写する。表示1900は、表示において固定された状態を維持するグリッド1902を含み得る。グリッド1902の交点は、ユーザが画像内の興味のある物体を合わせたいと思うかもしれない点に対応し得る。表示1900は、同様に、3次元で表現されるように現れ得るとともに、画像キャプチャフレーム内の場面のサイズを調整するためにユーザが前方又は後方に歩かなければならないことをユーザに示すように、画像キャプチャフィードバックシステム200により動的に調整され得る、インジケータ1904を含み得る。表示1900は、同様に、ユーザが場面を再構成するためにICD104を上、下、左、及び/又は右に動かさなければならないことをユーザに示すように、画像キャプチャフィードバックシステム200により動的に調整され得る、インジケータ1906を含み得る。
図20は、各種の実施例に従ってICD104の特性が調整される場合にどのように場面316が見え得るかを示すために画像キャプチャフィードバックシステム200により生成され得る視覚表示2000を描写する。特に、表示2000は、現在の画像2002、及び、ICD104の1つ若しくは複数の特性が変更される(例えば、ICD104が異なる場所に動かされるか、又は設定値が調整される)場合の場面316を描写する1つ又は複数の代替の画像2004を含み得る。代替の画像は、図示されたように縦方向のストリップにおいて、横方向のストリップにおいて、又は、あらゆる他の方向において、表示され得る。代替の画像は、(例えば、潜在的な目標画像を生成して評価する場合に)評価ロジック216により生成され得るとともに、現在の画像(それは、処理ロジック202により処理される最初の画像であり得る)より良いスコアを有する目標モデルに対応する1つ又は複数の目標画像を含み得る。いくつかの実施例において、これらの代替の画像(例えば、代替の画像2004)は、ユーザにより選択可能であるかもしれず、ユーザの選択に応答して、もしユーザが動作を行ったあとで追加の画像をキャプチャするならば、追加の画像が選択された代替の画像と似ていることになるように、画像キャプチャフィードバックシステム200は、選択された画像に対応する動作を提案し得る。画像キャプチャフィードバックシステム200は、上記で説明された技術のうちのいずれかに従ってこの提案を提供し得る。いくつかの実施例において、表示2000において提供された代替の画像は、現在の画像においてキャプチャされた場面のモデルに基づいて生成されないかもしれないが、しかし、(例えば、メモリ装置226における)データベース、又は同様の内容の画像の他の供給源、又は同様の地理的位置においてキャプチャされた画像(例えば、オンラインデータベースにおいて“エッフェル塔”とタグを付けられた全ての写真)から導き出され得る。代替の画像としてこれらの画像を表示2000の中に含めることは、ユーザにインスピレーションを与えることができ、ユーザは、その場合に、明示された動作提案を受け取ることなく、ICD104を調整するためにユーザ独自の動作を実行し得る。
図21は、様々な実施例による、画像キャプチャフィードバックのための実例となる処理2100のフローチャートである。処理2100の動作は、説明のために特定の順序で実行されるように例示されたが、適切であるように、並列に実行され得る。
実例となる目的のために、処理2100の動作が、コンピューティングシステム100において具体化された画像キャプチャフィードバックシステム200により実行されるように説明され得るが、しかし、処理500の個々の動作を含む処理2100の動作は、あらゆる適切に構成されたコンピューティング装置、又はコンピューティング装置の集まりにより実行され得る。処理2100の動作のうちのいずれもが、ここで説明されたシステム100及びシステム200の実施例のうちのいずれかに従って実行され得る。
処理2100は、画像キャプチャフィードバックシステム200(例えば、受信機ロジック206)がICD104から画像を受信し得る動作2102において始まり得る。動作2104において、画像キャプチャフィードバックシステム200(例えば、評価ロジック216)は、動作2102において受信された画像に対するスコアを生成し得る。動作2104は、ここで説明されたスコアリング及び/若しくはサブスコアリング技術のあらゆる組み合わせ、又は、あらゆる適切な追加若しくは代替のスコアリング技術に従って実行され得る。動作2106において、画像キャプチャフィードバックシステム200(例えば、提案ロジック238)は、動作に対する提案を、もし動作が行われたあとで画像キャプチャ装置が第2の画像をキャプチャするならば、第2の画像に対するスコアが上記画像に対するスコアより良くなるように生成し得る。動作2106は、ここで説明された動作提案技術のあらゆる組み合わせ、又は、あらゆる適切な追加若しくは代替の動作提案技術に従って実行され得る。動作2108において、画像キャプチャフィードバックシステム200(例えば、インジケータロジック220)は、出力装置218によってユーザに動作を示し得る。動作2108は、ここで説明された動作指示技術(例えば、図14から図19を参照して上記で論じられた動作指示技術)のうちのいずれか、又は、あらゆる適切な追加若しくは代替の動作指示技術に従って実行され得る。処理は、動作2102に戻り、(例えば、前の画像を受信したあとで所定の間隔で、又はICD104におけるユーザ動作若しくは他の変化を検出することに応答して、又は更なるガイダンスに対するユーザの要求に応答して)別の画像を受信し、そしてこの新しく受信された画像を次の画像として処理することにより、継続し得る。ユーザが画像キャプチャアプリケーションを作動させるか、又は、画像キャプチャフィードバックシステム200がガイダンスを提供するようにユーザが望むことをユーザが示す限り、処理2100は繰り返し得る。したがって、本開示のいくつかの実施例において、画像キャプチャフィードバックシステム200は、ICD104によりキャプチャされた各画像を自動的に評価し得るとともに、キャプチャされた画像を改善するために行うべき動作に関するリアルタイムのフィードバックをユーザに与え得る。
本開示の実施例の複数の実例が下記で列挙される。
実例1は、画像キャプチャフィードバックのためのシステムであって、画像キャプチャ装置から画像を受信するための受信機ロジックと、上記受信機ロジックに接続された、上記画像に対するスコアを生成するための評価ロジックと、上記評価ロジックに接続された、動作に対する提案を、もし上記動作が行われたあとで上記画像キャプチャ装置が第2の画像をキャプチャするならば、上記第2の画像に対する上記スコアが上記画像に対する上記スコアより良くなるように生成するための提案ロジックと、上記提案ロジック及び出力装置に接続された、上記出力装置に上記動作に対する上記提案を示すためのインジケータロジックとを含む、システムである。
実例2は、実例1の主題を含み得るとともに、上記評価ロジックが、上記受信機ロジックに接続された、上記画像を処理して上記画像を代表するモデルを生成するためのモデルロジックであって、上記モデルが上記画像内の複数の位置における複数の特徴を含む、上記モデルロジックと、上記画像に対する上記スコアを生成するために、スコアリング測定基準を上記モデルに適用するためのスコアリングロジックとを更に含む、ということを更に特定し得る。
実例3は、実例2の主題を含み得るとともに、上記画像キャプチャ装置が奥行きカメラであり、複数の位置における上記複数の特徴が、上記画像内の異なる奥行きに位置付けられた特徴を含む、ということを更に特定し得る。
実例4は、実例3の主題を含み得るとともに、上記奥行きカメラが異種カメラアレイを含む、ということを更に特定し得る。
実例5は、実例3の主題を含み得るとともに、上記評価ロジックが各特徴に対する局所背景サリエンスを生成するためのものであり、上記画像に対する上記スコアが、少なくとも1つの局所背景サリエンスに少なくとも部分的に基づいている、ということを更に特定し得る。
実例6は、実例3から実例5のいずれかの主題を含み得るとともに、上記評価ロジックが各特徴の局所エリアと各特徴の局所背景エリアとの間の色相補性分析を実行するためのものであり、上記画像に対する上記スコアが、少なくとも1つの色相補性に少なくとも部分的に基づいている、ということを更に特定し得る。
実例7は、実例2から実例6のいずれかの主題を含み得るとともに、上記複数の特徴が、上記画像において識別された顔又は身体を含む、ということを更に特定し得る。
実例8は、実例2から実例7のいずれかの主題を含み得るとともに、上記画像キャプチャ装置が奥行きカメラであり、上記複数の特徴が、上記画像内の複数の奥行きにおけるリージョンの重心を含む、ということを更に特定し得る。
実例9は、実例1から実例8のいずれかの主題を含み得るとともに、上記評価ロジックが上記画像を1つ又は複数の構成テンプレートと比較するためのものであり、上記画像に対する上記スコアが、上記比較に少なくとも部分的に基づいている、ということを更に特定し得る。
実例10は、実例9の主題を含み得るとともに、上記画像に対する上記スコアが、上記画像と上記画像に最も似ている上記構成テンプレートとの間の上記比較に少なくとも部分的に基づいている、ということを更に特定し得る。
実例11は、実例9から実例10のいずれかの主題を含み得るとともに、上記1つ又は複数の構成テンプレートが、ユーザに選択された構成テンプレートを含む、ということを更に特定し得る。
実例12は、実例2から実例11のいずれかの主題を含み得るとともに、上記提案ロジックが、上記評価ロジックに接続された、上記画像に対する上記スコアより良いスコアを有する目標モデルを生成するための候補ロジックと、上記候補ロジックに接続された、上記モデルと上記目標モデルとの間の差異に基づいて上記動作を生成するための動作ロジックとを含む、ということを更に特定し得る。
実例13は、実例1から実例12のいずれかの主題を含み得るとともに、上記出力装置が表示装置であり、上記インジケータロジックが、物体の輪郭を、もし上記動作が実行されたならば上記物体が占有するであろう位置における上記画像の表示に表示することにより、上記動作に対する上記提案を示すためのものである、ということを更に特定し得る。
実例14は、実例1から実例13のいずれかの主題を含み得るとともに、上記出力装置が表示装置であり、上記インジケータロジックが、物体に近接して、もし上記動作が実行されたならば上記物体が占有するであろう位置に向かう運動を表しているモーション軌跡を上記画像の表示に表示することにより、上記動作に対する上記提案を示すためのものである、ということを更に特定し得る。
実例15は、実例1から実例14のいずれかの主題を含み得るとともに、上記出力装置が表示装置であり、上記インジケータロジックが、もし上記動作が実行されたならば上記画像キャプチャ装置が移動するであろう方向に対応するように選択された、上記表示の端に、インジケータを表示することにより、上記動作に対する上記提案を示すためのものである、ということを更に特定し得る。
実例16は、コンピューティング装置により実施される画像キャプチャフィードバックのための方法であって、画像キャプチャ装置から画像を受信するステップと、上記画像に対するスコアを生成するステップと、動作に対する提案を、もし上記動作が行われたあとで上記画像キャプチャ装置が第2の画像をキャプチャするならば、上記第2の画像に対する上記スコアが上記画像に対する上記スコアより良くなるように生成するステップと、出力装置に上記動作に対する上記提案を示すステップとを含む、方法である。
実例17は、実例16の主題を含み得るとともに、上記画像に対するスコアを生成するステップが、上記画像を処理して上記画像を代表するモデルを生成するステップであって、上記モデルが上記画像内の複数の位置における複数の特徴を含む、ステップと、上記画像に対する上記スコアを生成するために、スコアリング測定基準を上記モデルに適用するステップとを含む、ということを更に特定し得る。
実例18は、実例17の主題を含み得るとともに、上記画像キャプチャ装置が奥行きカメラであり、複数の位置における上記複数の特徴が、上記画像内の異なる奥行きに位置付けられた特徴を含む、ということを更に特定し得る。
実例19は、実例18の主題を含み得るとともに、上記奥行きカメラが異種カメラアレイを含む、ということを更に特定し得る。
実例20は、実例18の主題を含み得るとともに、上記画像に対するスコアを生成するステップが、各特徴に対する局所背景サリエンスを生成するステップを含み、上記画像に対する上記スコアが、少なくとも1つの局所背景サリエンスに少なくとも部分的に基づいている、ということを更に特定し得る。
実例21は、実例18の主題を含み得るとともに、上記画像に対するスコアを生成するステップが、各特徴の局所エリアと各特徴の局所背景エリアとの間の色相補性を生成するステップを含み、上記画像に対する上記スコアが、少なくとも1つの色相補性に少なくとも部分的に基づいている、ということを更に特定し得る。
実例22は、実例17の主題を含み得るとともに、上記複数の特徴が、上記画像において識別された顔又は身体を含む、ということを更に特定し得る。
実例23は、実例17の主題を含み得るとともに、上記画像キャプチャ装置が奥行きカメラであり、上記複数の特徴が、上記画像内の複数の奥行きにおけるリージョンの重心を含む、ということを更に特定し得る。
実例24は、実例16の主題を含み得るとともに、上記画像に対するスコアを生成するステップが、上記画像を1つ又は複数の構成テンプレートと比較するステップを含み、上記画像に対する上記スコアが、上記比較に少なくとも部分的に基づいている、ということを更に特定し得る。
実例25は、実例24の主題を含み得るとともに、上記画像に対する上記スコアが、上記画像と上記画像に最も似ている上記構成テンプレートとの間の上記比較に少なくとも部分的に基づいている、ということを更に特定し得る。
実例26は、実例24の主題を含み得るとともに、上記1つ又は複数の構成テンプレートが、ユーザに選択された構成テンプレートを含む、ということを更に特定し得る。
実例27は、実例17の主題を含み得るとともに、動作に対する提案を生成するステップが、上記画像に対する上記スコアより良いスコアを有する目標モデルを識別するステップと、上記モデルと上記目標モデルとの間の差異を識別するステップと、上記モデルと上記目標モデルとの間の上記の識別された差異に基づいて動作を生成するステップとを含む、ということを更に特定し得る。
実例28は、実例16の主題を含み得るとともに、上記出力装置が表示装置であり、上記動作に対する上記提案を示すステップが、物体の輪郭を、もし上記動作が実行されたならば上記物体が占有するであろう位置における上記画像の表示に表示するステップを含む、ということを更に特定し得る。
実例29は、実例16の主題を含み得るとともに、上記出力装置が表示装置であり、上記動作に対する上記提案を示すステップが、物体に近接して、もし上記動作が実行されたならば上記物体が占有するであろう位置に向かう運動を表しているモーション軌跡を上記画像の表示に表示するステップを含む、ということを更に特定し得る。
実例30は、実例16の主題を含み得るとともに、上記出力装置が表示装置であり、上記動作を示すステップが、もし上記動作が実行されたならば上記画像キャプチャ装置が移動するであろう方向に対応するように選択された、上記表示の端に、インジケータを表示するステップを含む、ということを更に特定し得る。
実例31は、コンピューティング装置の1つ又は複数の処理装置により実行される場合に、上記コンピューティング装置に実例16から実例30のいずれかに記載の方法を実行させる命令を有する1つ又は複数のコンピュータ読み取り可能な媒体である。
実例32は、システムであって、1つ又は複数の処理装置と、上記1つ又は複数の処理装置により実行される場合に、上記装置に実例16から実例30のいずれかに記載の方法を実行させる命令を有する1つ又は複数のコンピュータ読み取り可能な媒体とを含む、システムである。
実例33は、画像キャプチャフィードバックのためのシステムであって、画像キャプチャ装置から画像を受信するための手段と、上記画像に対するスコアを生成するための手段と、動作に対する提案を、もし上記動作が行われたあとで上記画像キャプチャ装置が第2の画像をキャプチャするならば、上記第2の画像に対する上記スコアが上記画像に対する上記スコアより良くなるように生成するための手段と、出力装置に上記動作に対する上記提案を示すための手段とを備える、システムである。
実例34は、実例33の主題を含み得るとともに、上記画像に対するスコアを生成するための上記手段が、上記画像を処理して上記画像を代表するモデルを生成するための手段であって、上記モデルが上記画像内の複数の位置における複数の特徴を含む、手段と、上記画像に対する上記スコアを生成するために、スコアリング測定基準を上記モデルに適用するための手段とを含む、ということを更に特定し得る。
実例35は、実例16から実例30のいずれかに記載の方法を実行するための手段を含む画像キャプチャフィードバックのためのシステムである。
特定の実施例がここで例示されて説明されたが、同じ目的を達成するように意図された多種多様な代替の及び/若しくは同等の実施例又は実装例が、有効範囲からはずれずに、示されて説明された実施例の代用にされ得る、ということが当業者により認識されることになる。当業者は、実施例が非常に多種多様な方法で実施され得る、ということを容易に認識するであろう。この出願は、ここで論じられた実施例のあらゆる適応又は変形をカバーすることを意図している。