(57)【要約】  コンピューティングデバイスを操作するための方法が開示される。コンピューティングデバイスの画像取込みデバイスによって取り込まれるシーンの１つまたは複数の画像が処理される。シーンは、動いており丸い形状を有する対象物体を含む。１つまたは複数の画像は、対象物体に該当する丸い物体を検出することによって処理される。位置情報は、１つまたは複数の画像内での丸い物体の相対位置に基づいて決定される。丸い物体の相対位置から決定される位置情報を利用する１つまたは複数のプロセスが実施される。【選択図】図１
2015524951.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスを操作するための方法において、１つまたは複数の処理装置によって行われ、
前記コンピューティングデバイスの画像取込みデバイスによって取り込まれるシーンの１つまたは複数の画像を処理するステップであって、前記シーンが、動いており、特徴的な丸い形状を有する対象物体を含み、前記１つまたは複数の画像の処理が、前記対象物体に該当する丸い物体を検出することを含むステップと、
前記１つまたは複数の画像内での前記丸い物体の相対位置に基づいて位置情報を決定するステップと、
前記丸い物体の前記相対位置から決定される前記位置情報を利用する１つまたは複数のプロセスを実施するステップと
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記１つまたは複数のプロセスを実施するステップが、前記決定された位置情報に基づいて、前記コンピューティングデバイスのディスプレイ上に前記対象物体の表現を表示するステップを含むことを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記対象物体が、丸い構造的形態を有する自己推進デバイスに該当することを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記自己推進デバイスが球状であることを特徴とする方法。
【請求項５】
請求項１に記載の方法において、前記丸い物体を検出するステップが、前記１つまたは複数の画像それぞれにフィルタを適用するステップを含むことを特徴とする方法。
【請求項６】
請求項５に記載の方法において、前記フィルタがグレースケールフィルタであり、前記フィルタを適用するステップが、前記１つまたは複数の画像それぞれに関するグレースケール画像を生成するステップを含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法において、前記丸い物体を検出するステップが、前記１つまたは複数のグレースケール画像それぞれのいくつかの画素に関する勾配を決定するステップを含み、前記勾配が、ある方向を有するベクトルであって、前記方向で、ある画素の輝度レベルが１つまたは複数の他の画素の輝度レベルよりも低いベクトルを備えることを特徴とする方法。
【請求項８】
請求項７に記載の方法において、前記丸い物体を検出するステップが、各画素に関して、前記勾配の方向で前記画素から所定の距離以内の点をマークするステップと、複数のマークされた点に基づいて、前記１つまたは複数のグレースケール画像内での前記丸い物体の位置を決定するステップとを含むことを特徴とする方法。
【請求項９】
請求項１に記載の方法において、前記１つまたは複数のプロセスを実施するステップが、前記丸い物体が検出される前記１つまたは複数の画像の少なくとも一部を調整するステップを含むことを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、前記１つまたは複数の画像の少なくとも一部を調整するステップが、前記丸い物体をオーバーレイするためにグラフィックフィーチャを生成するステップを含むことを特徴とする方法。
【請求項１１】
請求項１に記載の方法において、前記丸い物体が、前記コンピューティングデバイスによってワイヤレスで制御することができる自己推進デバイスに該当し、前記１つまたは複数のプロセスを実施するステップが、（ｉ）前記自己推進デバイスに関する基準点を決定するステップと、（ｉｉ）ユーザが、タッチ式ディスプレイ上で、表示された前記丸い物体の表現と対話できるようにするステップと、（ｉｉｉ）前記基準点に基づいて前記丸い物体の移動を制御するステップとを含むことを特徴とする方法。
【請求項１２】
請求項１１に記載の方法において、前記１つまたは複数のプロセスを実施するステップが、前記丸い物体の１つまたは複数の構成要素を較正するステップを含むことを特徴とする方法。
【請求項１３】
命令を記憶する非一時的なコンピュータ可読媒体において、前記命令が、処理装置によって実行されるときに、
前記コンピューティングデバイスの画像取込みデバイスによって取り込まれるシーンの１つまたは複数の画像を処理することであって、前記シーンが、動いており、特徴的な丸い形状を有する対象物体を含み、前記１つまたは複数の画像の処理が、前記対象物体に該当する丸い物体を検出することを含む、処理することと、
前記１つまたは複数の画像内での前記丸い物体の相対位置に基づいて位置情報を決定することと、
前記丸い物体の前記相対位置から決定される前記位置情報を利用する１つまたは複数のプロセスを実施することと
を処理装置に行わせることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１４】
請求項１３に記載の非一時的なコンピュータ可読媒体において、前記命令が、前記１つまたは複数の画像それぞれにグレースケールフィルタを適用することによって、前記丸い物体を検出することを前記処理装置に行わせ、前記命令が、前記１つまたは複数の画像それぞれに関してグレースケール画像を生成することを前記処理装置に行わせることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１５】
請求項１４に記載の非一時的なコンピュータ可読媒体において、前記命令が、前記１つまたは複数のグレースケール画像それぞれのいくつかの画素に関する勾配を決定することによって前記丸い物体を検出することを前記処理装置に行わせ、前記勾配が、ある方向を有するベクトルであって、前記方向で、ある画素の輝度レベルが１つまたは複数の他の画素の輝度レベルよりも低いベクトルを備えることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１６】
請求項１５に記載の非一時的なコンピュータ可読媒体において、前記命令が、各画素に関して、前記勾配の方向で前記画素から所定の距離以内の点をマークし、複数のマークされた点に基づいて前記１つまたは複数のグレースケール画像内での前記丸い物体の位置を決定することによって前記丸い物体を検出することを前記処理装置に行わせることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１７】
請求項１３に記載の非一時的なコンピュータ可読媒体において、前記対象物体が、丸い構造的形態を有する自己推進デバイスに該当することを特徴とする非一時的なコンピュータ可読媒体。
【請求項１８】
請求項１６に記載の非一時的なコンピュータ可読媒体において、前記丸い物体が、前記コンピューティングデバイスによってワイヤレスで制御することができる自己推進デバイスに該当し、前記命令が、（ｉ）前記自己推進デバイスに関する基準点を決定することと、（ｉｉ）ユーザが、タッチ式ディスプレイ上で、表示された前記丸い物体の表現と対話できるようにすることと、（ｉｉｉ）前記基準点に基づいて前記丸い物体の移動を制御することによって前記１つまたは複数のプロセスを実施することとを前記処理装置に行わせることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１９】
請求項１８に記載の非一時的なコンピュータ可読媒体において、前記命令が、前記丸い物体の１つまたは複数の構成要素の較正を含む前記１つまたは複数のプロセスを実施することを前記処理装置に行わせることを特徴とする非一時的なコンピュータ可読媒体。
【請求項２０】
画像取込みデバイスと、
メモリと、
前記画像取込みデバイスおよび前記メモリに結合された処理装置とを備えるモバイルコンピューティングデバイスにおいて、前記処理装置が、
前記コンピューティングデバイスの画像取込みデバイスによって取り込まれるシーンの１つまたは複数の画像を処理することであって、前記シーンが、動いており、特徴的な丸い形状を有する対象物体を含み、前記１つまたは複数の画像の処理が、前記対象物体に該当する丸い物体を検出することを含むことと、
前記１つまたは複数の画像内での前記丸い物体の相対位置に基づいて位置情報を決定することと、
前記丸い物体の前記相対位置から決定される前記位置情報を利用する１つまたは複数のプロセスを実施することと
を行うためのものであることを特徴とするモバイルコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
モバイルコンピューティングデバイスの改良と共に、ユーザは、自分のデバイスを様々な異なる目的で使用することが可能である。ユーザは、スマートフォンを操作して、電話をかけたり、インターネットをブラウジングしたりすることができるだけでなく、スマートフォンを使用して、様々な異なるタスクを実施することができる。
【０００２】
本明細書における開示を、添付図面の各図に例として、限定はせずに示す。添付図面中、同様の参照番号は、同様の要素を表す。
【図面の簡単な説明】
【０００３】
【図１】図１は、一実施形態における、コンピューティングデバイスを動作させるための例示的なシステムを示す図である。
【図２】図２は、一実施形態によるコンピューティングデバイスを操作するための例示的方法を示す図である。
【図３Ａ】図３Ａは、一実施形態における、処理された画像の一例を示す図である。
【図３Ｂ】図３Ｂは、一実施形態における、処理された画像の一例を示す図である。
【図４】図４は、一実施形態における、コンピューティングデバイスを動作させるためのシステムに関する例示的なハードウェア構成図である。
【発明を実施するための形態】
【０００４】
本明細書で述べるいくつかの実施形態は、画像内の１つまたは複数の丸い物体（例えば、ボールや、球状ハウジングを有する自己推進デバイス）を検出し、検出された丸い物体を追跡することができるコンピューティングデバイスを提供する。コンピューティングデバイスは、コンピューティングデバイスで１つまたは複数の操作またはプロセスを行うための入力として、検出された丸い物体を利用することができる。
【０００５】
いくつかの実施形態によれば、リアルタイムビデオのフレームを含む１つまたは複数の画像を、コンピューティングデバイスの画像取込みデバイスから受信することができる。コンピューティングデバイスは、１つまたは複数のアプリケーションを動作させることができ、または視覚入力を受信するために画像取込みデバイスの構成要素を使用する１つまたは複数のモードで動作することができる。視覚入力は、画像取込みデバイスのレンズが焦点を合わされている、または向けられているシーンおよび／またはシーン内の物体でよい。例えば、シーンは、動いており丸い形状を有する対象物体を含むことがある。
【０００６】
いくつかの実施形態は、コンピューティングデバイスが複数の画像を受信して、１つまたは複数の画像内で（１つまたは複数の対象物体に該当する）１つまたは複数の丸い物体を検出できるようにする。例えば、画像内に写されている丸い物体は、丸い形状または一部丸い形状（楕円、卵形、円板、球など）を有するハウジングまたは構造を少なくとも有する対象物体に該当し得る。対象物体は、例えば、シーン（例えば画像取込みデバイスによって検出された視覚入力）内に含まれるボール、円形物体、円筒形物体、または球状ハウジングを有する自己推進デバイスなどに該当し得る。いくつかの例では、自己推進デバイスは、丸いまたは球状の外観を含むように（例えば組立て後に）修正する（例えば、自己推進デバイスに丸い物体を取り付ける、または遠隔制御されるトラックの荷台にピンポン玉を落とす）ことができる。コンピューティングデバイスは、コンピューティングデバイスで１つまたは複数の操作またはプロセスを行うための入力として、画像内の検出された物体を処理および利用することができる。
【０００７】
いくつかの実施形態では、受信された各画像は、１つまたは複数の丸い物体を検出するために個々に処理することができる。コンピューティングデバイスは、丸い物体を検出するために、１つまたは複数の検出技法を併用する、または個々に使用することができる。１つまたは複数の実施形態によれば、検出技法は、丸い物体のサイズに基づいて、画像フィルタ機能および検出アルゴリズムを使用することを含むことができる。さらに、検出技法は、１つまたは複数の画像内の１つまたは複数の丸い物体の相対位置に基づいて、１つまたは複数の丸い物体の位置情報を決定するために使用することができる。画像内の丸い物体の検出は、コンピューティングデバイスが、丸い物体の移動、ならびに運動の速度および／または加速度を追跡することを可能にすることができる。
【０００８】
受信された画像内で１つまたは複数の丸い物体を検出した後、コンピューティングデバイスは、検出された１つまたは複数の丸い物体と、それぞれの位置情報とを、さらなる操作またはプロセスを実施するための入力として利用することができる。一実施形態では、コンピューティングデバイスは、検出された丸い物体を含む画像を調整し、調整された画像をディスプレイデバイス上に提示することができる。他の実施形態では、コンピューティングデバイスは、（例えば遠隔デバイスとして）検出された物体を制御するための入力として、検出された丸い物体を使用することができる。
【０００９】
１つまたは複数の実施形態によれば、画像取込みデバイスは、１つまたは複数の画像内の１つまたは複数の丸い物体を検出するコンピューティングデバイスとは別個であり離れていることがある。画像取込みデバイスとコンピューティングデバイスは、コンピューティングデバイスが画像取込みデバイスから１つまたは複数の画像を受信できるようにワイヤレスで相互に通信することができる。また、ビデオ取込みデバイスなどの記録デバイスも、コンピューティングデバイスから離れていてよく、ワイヤレスで通信することができる。他の実施形態では、いくつかのデバイスが、１つのデバイスの一部でよく、または１つのデバイスとして一体に組み込まれてもよい。
【００１０】
また、本明細書で述べるいくつかの実施形態は、記録デバイスおよび／または画像取込みデバイスおよび／またはコンピューティングデバイスによって実施される操作および／またはプロセスが、異なる時点に異なる順序で（例えば時間的にシフトされて）実施されるようにする。
【００１１】
本明細書で述べる１つまたは複数の実施形態は、コンピューティングデバイスによって行われる方法、技法、およびアクションが、プログラム可能に行われる、またはコンピュータ実装方法として行われることを提供する。本明細書で使用するとき、「プログラム可能に」は、コードまたはコンピュータ実行可能命令の使用によるものであることを意味する。これらの命令は、コンピューティングデバイスの１つまたは複数のメモリリソースに記憶することができる。プログラム可能に行われるステップは、自動でも自動でなくてもよい。
【００１２】
本明細書で述べる１つまたは複数の実施形態は、システムのプログラムモジュールまたは構成要素を使用して実施することができる。プログラムモジュールまたは構成要素は、１つまたは複数の指定されたタスクまたは機能を実施することが可能なプログラム、サブルーチン、プログラムの一部、またはソフトウェア構成要素もしくはハードウェア構成要素を含むことができる。本明細書で使用するとき、モジュールまたは構成要素は、他のモジュールまたは構成要素から独立してハードウェア構成要素に存在することができる。代替として、モジュールまたは構成要素は、他のモジュール、プログラム、または機械の共有要素またはプロセスでもよい。
【００１３】
本明細書で述べるいくつかの実施形態は、一般に、処理およびメモリリソースを含むコンピューティングデバイスの使用を必要とし得る。例えば、本明細書で述べる１つまたは複数の実施形態は、デジタルカメラ、デジタルカムコーダ、デスクトップコンピュータ、携帯電話またはスマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータ、プリンタ、デジタルピクチャフレーム、およびタブレットデバイスなどのコンピューティングデバイス上に全体または一部を実装することができる。メモリ、処理、およびネットワークリソースは全て、（任意の方法の実施または任意のシステムの実装を伴うことを含む）本明細書で述べる任意の実施形態の確立、使用、または実施に関連して使用することができる。
【００１４】
さらに、本明細書で述べる１つまたは複数の実施形態は、１つまたは複数の処理装置によって実行可能な命令の使用によって実施することができる。これらの命令は、コンピュータ可読媒体に担持することができる。図示される、または以下に図と共に説明される機械は、本発明の実施形態を実施するための命令を担持および／または実行することができる処理リソースおよびコンピュータ可読媒体の例を提供する。特に、本発明の実施形態によって示されるいくつかの機械は、処理装置と、データおよび命令を保持するための様々な形態のメモリとを含む。コンピュータ可読媒体の例としては、パーソナルコンピュータまたはサーバ上のハードドライブなど永久メモリ記憶デバイスが挙げられる。コンピュータ記憶媒体の他の例としては、ポータブル記憶ユニット、例えばＣＤまたはＤＶＤユニット、フラッシュメモリ（例えば、スマートフォン、多機能デバイス、またはタブレットに担持される）、および磁気メモリが挙げられる。コンピュータ、端末、ネットワーク対応デバイス（例えば、携帯電話などのモバイルデバイス）は全て、処理装置、メモリ、およびコンピュータ可読媒体に記憶された命令を利用する機械およびデバイスの例である。さらに、いくつかの実施形態は、コンピュータプログラムの形態で、またはそのようなプログラムを担持することが可能なコンピュータ使用可能キャリア媒体の形態で実装することができる。
【００１５】
システムの説明
図１は、一実施形態における、コンピューティングデバイスを動作させるための例示的なシステムを示す。図１に関して述べるようなシステムは、例えば、内蔵画像取込み構成要素を有するモバイル多機能コンピューティングデバイス（例えば、スマートフォン、タブレットデバイス）に実装することができる。いくつかの変形形態では、システム１００は、移動する物体を追跡するようにカメラが制御または操作される環境内で動作させることができるノートブック、ラップトップ、または他のコンピューティングデバイスに実装することができる。
【００１６】
図１の例では、システム１００は、動いている物体など丸い物体を動的に検出するために画像入力を処理するように動作する。検出される丸い物体は、動いているおよび／またはコンピューティングデバイスの制御下にあるデバイスのハウジングの一部でよい。説明するいくつかの例によれば、丸い物体と一体化されたデバイスが移動または動作中に制御されるプログラムプロセスの一部として、丸い物体が検出される。いくつかの変形形態では、動いている丸い物体を入力として利用する拡張現実など、他のプログラムプロセスを生成するために物体の存在が使用されるプログラムプロセスの一部として、丸い物体が運動中に検出される。それに従って、システム１００は、動いている対象物体に該当する丸い物体を検出することができる。そのような物体の検出は、入力を提供して、コンピューティングデバイスが他の操作を行う、例えば対象物体を制御する、またはコンピューティングデバイス上に表示された拡張現実に対象物体の表現を組み込むことを可能にする。
【００１７】
さらに、システム１００は、対象物体を含むシーンを写す複数の画像の次元解析を実施することができる。具体的には、システム１００は、画像取込みデバイスおよび／またはコンピューティングデバイスからの対象物体の距離を求めるために次元解析を実施することができる。その目的で、一例では、システム１００の構成要素によって、効率的に画像内で丸い物体を検出して処理することができる。
【００１８】
一実施形態では、システム１００は、物体検出機能１１０と、画像調整機能１３０と、ユーザインターフェース（ＵＩ）構成要素１４０と、デバイス制御機能１５０と、ワイヤレス通信（ＷＣＯＭ）機能１６０とを含む。システム１００の構成要素は協働して、画像取込みデバイスから複数の画像を受信し、画像を自動的に処理して、画像内に写されている１つまたは複数の丸い物体を検出する。１つまたは複数の検出技法を使用して各画像を処理することができ、それにより、検出された物体を、コンピューティングデバイスで１つまたは複数の処理を行うための入力として処理することができる。
【００１９】
一実施形態によれば、物体検出機能１１０は、画像フィルタ機能１１２、勾配検出機能１２０、および画像マーク機能１２２など下位構成要素を含むこともできる。これらの構成要素は協働して、複数の画像内に写されている１つまたは複数の物体を物体検出機能１１０が検出して追跡できるようにする。
【００２０】
コンピューティングデバイスは、１つまたは複数のアプリケーションを動作させる、および／または１つまたは複数の異なるモードで動作することができる。一実施形態では、１つまたは複数のプロセスを実施するために画像取込みデバイスによって検出された視覚入力を使用するアプリケーションまたはプログラム（例えば、ゲームアプリケーションまたはデバイス較正設定プログラム）をユーザが実行またはラウンチするのに応答して、システム１００を動作させることができる。物体検出機能１１０は、１つまたは複数の画像内の１つまたは複数の丸い物体を検出するために、画像取込みデバイスから画像入力などの視覚入力１１４を受信することができる。例えば、画像取込みデバイス（例えば内蔵カメラ）は、（例えばレンズが向いている視野および／または物体から）シーンを受信して取り込むことができる。視覚入力１１４は、画像のシーケンスの形態でも、ビデオ入力によるもの（例えば毎秒３０〜６０フレームで連続的に取り込まれる複数の画像）でもよい。
【００２１】
いくつかの実施形態では、コンピューティングデバイスによって受信されている画像のプレビューを、コンピューティングデバイスのディスプレイデバイスに提供することができる。例えば、視覚入力１１４をＵＩ構成要素１４０に提供することもでき、それにより、ＵＩ構成要素１４０は、受信された視覚入力１１４のプレビュー画像（およびプレビュー画像と共に提示することができる１つまたは複数の機能、例えば、ズームインまたはズームアウト機能、画像取込み機能）を生成する。ディスプレイデバイス（例えばタッチ式ディスプレイデバイス）は、画像取込みデバイスが現在向いているシーンの動的に変化するリアルタイム画像を提示することができる。この画像は、シーン内の丸い特性を有する（例えば、丸いハウジングまたはハウジングの一部を有する）１つまたは複数の対象物体を含むことができる。また、ユーザは、取込みボタンまたはトリガを押すことによって、または別のユーザインターフェース機能を使用する（例えば、タッチ式ディスプレイに提供された「画像取込み」グラフィック機能をタップする）ことによって、シーンの１つまたは複数の画像を取り込んで記憶することができる。
【００２２】
いくつかの実施形態によれば、物体検出機能１１０は、対象物体を検出するために、個々の画像を個々に処理することができる。特に、対象物体は、半球または球（または他の球状部分）など特定の形状に合致するように指定することができる。視覚入力１１４からの受信された各画像ごとに、物体検出機能１１０は、対象物体の丸い指定された特性を検出するために画像認識ソフトウェアおよび／または他の画像処理方法を動作させることができる。例えば、物体検出機能１１０は、個々に取り込まれた画像の画素をスキャンして、球、半球、または（指定された丸い特性に応じた）他の形状に該当する丸い物体を検出することができる。
【００２３】
物体検出機能１１０は、個々の画像内で１つまたは複数の丸い物体を検出するために、様々な検出技法を一緒にまたは個別に使用することができる。一実施形態では、物体検出機能１１０の画像フィルタ機能１１２は、１つまたは複数の画像を受信し、受信された各画像に、グレースケールフィルタなどのフィルタを適用することができる。画像へのグレースケールフィルタの適用により、（例えば強度情報に基づいて）画像の各画素をグレーの陰影に変換することができる。画像フィルタ機能１１２は、受信された各画像のグレースケール画像１１６を勾配検出機能１２０および画像マーク機能１２２に提供することができる。グレースケールにした後、訓練された物体検出器が、対象物体に該当し得る丸い物体に関するグレースケール画素をスキャンすることができる。グレースケールフィルタの使用は、画像物体検出を高速にして、対象物体が動いているときに対象物体のリアルタイム検出を可能にする。
【００２４】
いくつかの実施形態では、対象物体は、対象物体それぞれの追跡を容易にするために追加の特性を含むことができる。例えば、対象物体の丸い特性は、さらに、追加の特質、例えば、他の構造上の視覚的標識点、色（例えば、白、銀、黄色など）の輝度、照明、または表面パターンと組み合わせることができる。例として、対象物体を明るい色（例えば白色）にすることができ、処理後の入力画像に対してグレースケールフィルタを使用することによって、物体が、同じシーンの他の部分に関する他の画素よりも明るいグレー陰影を有することができるようにする。一実施形態では、グレースケール画像１１６を勾配検出機能１２０および画像マーク機能１２２に提供することができ、勾配検出機能１２０および画像マーク機能１２２は、１つまたは複数の画像処理方法を使用して（例えば１つまたは複数のアルゴリズムを適用して）、各グレースケール画像１１６内で丸い物体を検出する。
【００２５】
さらに、いくつかの変形形態では、物体検出を実施する際に、対象物体に関する既知の（または所定の）情報を使用することができる。例えば、ユーザは、対象物体に関する視覚マーカに相当する入力１２６を提供することができる。そのような入力１２６は、例えば、（例えば１つまたは複数のボタンまたはタッチ式ディスプレイ画面を使用する）入力メカニズムを介して、丸い物体の推定サイズ（例えば半径または直径）および物体の色を含むことができる。別の変形形態では、ユーザは、ディスプレイ上に提示される物体の凡そのサイズを示すために、タッチ式ディスプレイ上で円を描くジェスチャに相当する入力１２６を提供することができる。他の例では、１つまたは複数の丸い物体に関する情報をコンピューティングデバイスのメモリに記憶することができる。勾配検出機能１２０は、各画像内で丸い物体を検出するために既知の情報を使用することができる。
【００２６】
一実施形態では、勾配検出機能１２０は、個々の画素に関するそれぞれの勾配を決定するために、グレースケール画像１１６の個々の画素（またはいくつかの画素）を処理することができる。特定の画素に関する勾配は、直に隣接する画素を含む周囲の画素に基づくことがある。勾配は、ある方向を有するベクトルであって、その方向での画素の輝度レベルが増加するベクトルに対応する。例えば、ある画素の輝度レベルは、その勾配の方向での他の画素の輝度レベルよりも低い、または暗い。画像マーク機能１２２は、各画素の決定された勾配に関して、勾配の方向で、丸い物体の半径（例えば実際の半径、曲率半径）に等しい距離以内にある点をマークする論理を実施する。例えば、ユーザは、検出すべき丸い物体が特定のサイズまたは凡その画素長の半径を有することを（ユーザ入力１２６を介して）示すことができる。例えば、凡その画素長は、２０画素に設定することができる。別の例では、凡その画素長は、画像内の丸い物体のサイズに関する事前に記憶されている情報に基づいて仮定する、または予め決定することができる。決定された勾配を使用して、画素ごとに、画像マーク機能１２２は、最高の輝度レベルを有する勾配の方向で、その特定の画素から２０画素長以内の点をマークすることができる。これは、丸い物体の中心または中央を表すことができる。複数のマーキング（例えば、グレースケール画像１１６の各画素に関するマーキング）に基づいて、物体検出機能１１０は、複数のマーキングを有する画像の領域が丸い物体の中心に相当すると仮定することができ、各グレースケール画像１１６内で（存在する場合には）丸い物体の場所または位置を決定することができる。決定された丸い物体の位置情報は、画像に対するものであり得る。
【００２７】
また、勾配検出機能１２０は、グレースケール画像１１６内の各画素に関する勾配を決定する際にパラメータにアクセスすることもできる（パラメータは、コンピューティングデバイスのメモリリソース内のデータベースまたはリストに記憶しておくことができる）。例えば、パラメータは、輝度しきい値および勾配しきい値を含むことがある。輝度しきい値は、隣接する画素（特定の画素から離れる方向で、その特定の画素からある半径距離以内にある画素）が輝度の増加のパターンを示さない場合には、特定の画素に関する勾配の計算を無視するように勾配検出機能１２０に命令することができる。別の例では、勾配しきい値は、特定の画素から離れる方向で隣接画素が輝度レベルの十分に強い変化を示さない場合には、その特定の画素に関する勾配の計算を無視するように勾配検出機能１２０に命令することができる。勾配が計算されない画素に関しては、画像マーク機能１２２によってマーキングは与えられない。
【００２８】
別の実施形態では、物体検出機能１１０は、グレースケール画像１１６内で丸い物体を検出するために、丸い物体の様々な半径を適用することができる。勾配検出機能１２０および画像マーク機能１２２がグレースケール画像１１６内の個々の画素それぞれを処理することができるので、物体検出機能１１０は、各グレースケール画像１１６に関して、丸い物体を検出するために使用される半径が画像の領域ごとに異なっていることがあると仮定する。丸い物体に対する画像取込みデバイスの角度、向き、距離、および位置決めにより、丸い物体は、ユーザにどれほど近いかに応じてサイズが変わることがある。物体検出機能１１０は、画像取込みデバイスの向きおよび位置決め（例えば、画像取込みデバイスのレンズがどこに向けられている、または焦点を合わされているか）に関する情報を受信することができ、画像内の所与の画素が、ユーザもしくはユーザの脚により近い地面または床を表現しているか、または画素が、ユーザからより遠い（例えば地平線により近い）点を表現しているかを判断する。さらに、物体検出機能１１０は、画像内の特定の点がユーザにより近い領域を表現する場合、その点またはその付近にある丸い物体が、丸い物体がユーザからより遠い場合よりも典型的には画像内で大きいと仮定する。その結果、ユーザにより近い領域を表現する点に関して、画像マーク機能１２２は、その点の勾配の方向で領域をマークするときに、（検出すべき丸いボールが画像内でより大きいと仮定されるので）より大きい半径を適用することができる。
【００２９】
ユーザからより遠い領域を表現する点に関しては、その点またはその付近にある丸い物体は、典型的には画像内でより小さく現れる。その結果、所与の点がユーザからより遠い領域を表現すると判断した後、画像マーク機能１２２は、その点に関する勾配の方向で領域をマークするときに、より小さい半径（例えば、２０画素長ではなく１０画素長）を適用することができる。このようにして、物体検出機能１１０は、丸い物体が１つまたは複数の方向で移動しているかどうか判断することもできる。なぜなら、丸い物体は、画像のシーケンス中で、１つの画像から別の画像へとサイズがより大きくなる（例えば物体がユーザに近付く場合）、または１つの画像から別の画像へとサイズがより小さくなる（例えば物体がユーザから遠ざかる場合）ことがあるからである。
【００３０】
例えば、コンピューティングデバイスの加速度計および／または他の感知メカニズムに基づいて、コンピューティングデバイスは、地面に対するその位置を検出することができる。さらに、コンピューティングデバイスは、画像取込みデバイスによって提供される画像の基面および地平線を決定することができる。決定された情報に基づいて、例えば、画像取込みデバイスのレンズがユーザにより近い領域に向いているようにユーザがコンピューティングデバイスを保持している場合には、コンピューティングデバイスは、検出される丸い物体の半径（例えばサイズ）を増加させることができる。他方、画像取込みデバイスのレンズがユーザからより遠い領域（近位からさらに遠い距離）に向いているようにユーザがコンピューティングデバイスを保持している場合には、検出されている丸い物体の半径を減少させることができる。
【００３１】
前述したように、（各画素に関する）決定された各勾配に関して、画像マーク機能１２２は、丸い物体の半径に等しい距離以内にある勾配の方向にある点（例えば、画像内または画像との位置）をマークすることができる。このようにして、検出すべき丸い物体が特定の半径を有することをユーザが示さずに、画像マーク機能１２２は、最高輝度レベルを有する勾配の方向で、変化する半径以内の点をマークすることができる。コンピューティングデバイスの画像取込みデバイスのレンズがユーザにより近い領域に向いているか、またはユーザからより遠い領域に向いているかに応じて、半径を変化させることができる。
【００３２】
いくつかの実施形態では、１つまたは複数の丸い物体の推定サイズを自動的に設定する、および／またはコンピューティングデバイスのメモリリソースに記憶することができる。例えば、丸い物体は、ユーザのコンピューティングデバイスとペアリングまたはワイヤレス接続された丸いハウジング（例えば球状ハウジング）を有する自己推進デバイスであり得る。ユーザの自己推進デバイスに関する情報は、コンピューティングデバイスのメモリリソースに記憶することができる。
【００３３】
また、物体検出機能１１０は、ユーザ入力１２６に応じて様々なタイプのフィルタを適用することもできる。いくつかの実施形態では、画像フィルタ機能１１２は、物体検出機能１１０によって検出されている丸い対象物体の色に応じて、他のタイプのフィルタを適用することができる。丸い対象物体の色が暗い場合、例えば、ユーザは、ボールの色を示す入力１２６を提供することができる。
【００３４】
物体検出機能１１０は、１つまたは複数の画像内で１つまたは複数の丸い物体を検出することができ、また、検出された物体に対応する情報を提供することもできる。検出された物体に関する情報は、物体の色、サイズ、形状（例えば楕円または球）、画像に対する物体の位置などを含むことができる。一実施形態では、検出された丸い物体に関する情報は、コンピューティングデバイスのメモリリソースに記憶することができる。
【００３５】
１つまたは複数の実施形態によれば、システム１００は、コンピューティングデバイス上で１つまたは複数の操作またはプロセスを実施するための入力として、（１つまたは複数の物体の位置情報を含む）画像からの検出された１つまたは複数の物体を利用する。図１の例示的システムでは、物体検出機能１１０は、検出された物体および画像（例えば物体検出画像１２４）に関する情報を画像調整機能１３０およびデバイス制御機能１５０に提供することができる。例えば、画像調整機能１３０は、ゲーミングアプリケーションの一部として、またはゲーミングアプリケーションと連動して動作することができる。
【００３６】
いくつかの実施形態では、システム１００は、物体検出画像１２４に基づいて、丸い対象物体が移動していると判断することができる。例えば、（例えばシーケンス中の）異なる時点に対応する２つ以上の画像が、シーン内の対象物体に該当する丸い物体を含むことがある。２つ以上の画像の第１の画像において、丸い物体は、その画像に対する第１の位置で検出され得る。シーケンス中の次の画像において、丸い物体は、その画像に対する第２の位置で検出され得る。様々な画像での検出された丸い物体の位置の変化により、デバイス制御機能１５０および／または画像調整機能１３０は、丸い物体が動いている（または移動した）と判断することができる。他の例では、丸い対象物体は、静止位置にあるが、その場で回転していることもある。回転している丸い物体を画像内で検出することができる。
【００３７】
さらに、画像入力から検出された丸い物体を、画像表示に関連する所与の基準フレームに関する座標データに変換することができる。この座標基準フレームは、対象物体に関する位置関連情報を観察および／または予測するために実世界座標系に変換することができる。したがって、画像取込みデバイスからの物体の深さを物体の画像表示の次元解析から決定することができると仮定して、物体の画像表示から対象物体の位置をマッピングすることができる。位置情報に加えて、実世界対象物体の決定された基準フレームにマッピングされるときには、物体の画像表示の基準フレームから対象物体の速度を決定することができる。
【００３８】
別の例では、丸い特性を有する対象物体を、地面または床上ではなく、既知の高さを有する物体の上（例えば、コーヒーテーブルの上、または遠隔制御されたおもちゃのトラックの上）に配置することができる。対象物体に関する既知の（または所定の）情報と、既知の高さとを使用して、物体検出機能１１０は、画像内の物体のより正確な位置を決定することができる。さらに、情報（既知の情報および高さなど）および基準フレームに基づいて、画像調整機能１３０は、（対象物体の実際の位置および画像取込みデバイスの位置に関して）寸法的に正確な、ディスプレイデバイス上にレンダリングすべき画像を提供することができる。
【００３９】
例えば、画像調整機能１３０は、物体検出画像１２４を処理して、画像の少なくとも一部を動的に調整することができる。また、画像調整機能１３０は、座標基準フレームと実世界座標系をマッピングするための１組の規則にアクセスすることもでき、それにより、レンダリングされた調整された画像は、実世界シーンに対して寸法的に正確になり得る。これらの規則は、実世界パラメータに対応し得る。ある例では、実世界パラメータは、寸法的に正確なレンダリングが望まれない場合には、例えばユーザ入力によって変えることもできる。
【００４０】
また、画像調整機能１３０は、調整された画像１３２をコンピューティングデバイスのメモリリソースに記憶することもできる。これにより、ユーザは、後で、記憶されている任意の調整された画像１３２を閲覧するためにメモリリソースにアクセスできるようになる。他の実施形態では、システム１００は、他の操作を行うための画像のさらなる処理を可能にすることができる。例えば、画像調整機能１３０は、前に処理された画像にアクセスし、画像に対するさらなる調整を行うことができる。いくつかの変形形態では、物体検出機能１１０および／または画像調整機能１３０によって行われるプロセスは、「ライブ」またはリアルタイムではなく、記憶されている画像に対して行われ得る。したがって、例えば、物体検出機能１１０および画像調整機能１３０に関して述べたプロセスは、任意選択で、画像が取り込まれたおよび／または記憶された時点に対して時間的にシフトさせることができる。
【００４１】
他の例では、画像調整機能１３０は、画像内の検出された丸い物体をグラフィック画像（例えば、文字、動物、ボール以外の何らかの他の物体）で動的にオーバーレイする、または置き換えることができ、あるいは、検出された丸い物体の画像自体をリアルタイムで変える（例えば、丸い物体の色を変える、または丸い物体を歪ませる）ことができる。調整された画像１３２をＵＩ構成要素１４０に提供することができ、それにより、コンピューティングデバイスのユーザは、調整された検出された物体を含むレンダリングされたコンテンツをディスプレイデバイス上で見ることができる。また、ＵＩ構成要素１４０は、コンピューティングデバイスのディスプレイデバイス上に提示することができる１つまたは複数の機能を生成することもできる。上述したように、いくつかの例では、レンダリングされた調整されたコンテンツは、実際の対象物体の位置、および画像取込みデバイスの位置に対して寸法的に正確であり得る。
【００４２】
例えば、ユーザは、ライブスポーツイベント（例えば子供たちが公園でサッカーをしている）を見て、コンピューティングデバイスのレンズをフィールドに向けることができる。受信された視覚入力１１４は、画像取込みデバイスによって検出された画像の複数のフレームを含み得る。物体検出機能１１０は、画像の各シーケンス中に、丸い物体（対象物体に該当するもの、例えばサッカーボール）を検出することができる（例えば、ボールが動いているので各画像内でボールの位置が異なることがある）。画像調整機能１３０は、ボールを強調表示し、またはボールの周りに輪を描き、画像をＵＩ構成要素１４０に提供することによって、検出された物体（例えば、検出されたサッカーボール）を処理することができる。次いで、ユーザは、コンピューティングデバイスのディスプレイデバイス上で、調整された画像１３２を（任意の追加の特質と共に）見ることが可能である。
【００４３】
他の実施形態では、デバイス制御機能１５０は、遠隔デバイスに対する１つまたは複数の制御を行うために物体検出画像１２４を処理することができる。例えば、検出された丸い物体は、ユーザのコンピューティングデバイスとペアリングまたはワイヤレス接続された自己推進デバイスでよい。ユーザは、コンピューティングデバイスのディスプレイデバイス上で、検出された丸い物体（例えばユーザの自己推進デバイス）を含む受信された視覚入力１１４の表現を見ることができる。次いで、ユーザは、デバイス制御機能１５０にユーザ入力１５２（例えばタッチ式ディスプレイ画面上でのタッチ入力）を提供することによって、タッチ式ディスプレイ画面上で、表示された自己推進デバイスの表現と対話することができる。
【００４４】
デバイス制御機能１５０は、物体検出画像１２４およびユーザ入力１５２を受信して、どのタイプの制御情報１５４を生成すべきか決定する。物体検出画像１２４からの検出された丸い物体に対応する受信された情報に基づいて、例えばディスプレイ画面の特定の位置でのユーザ入力１５２を検出し、その位置が画像上の検出された丸い物体に対応すると判断することによって、制御情報１５４を決定することができる。例えば、ユーザは、表示された自己推進デバイスの表現をタップして自己推進デバイスを例えばスピンさせる、またはタップして指をある方向にドラッグし、それに従って自己推進デバイスを移動させることができる。制御情報１５４は、ＷＣＯＭ１６０に提供され、それにより遠隔デバイスに情報を提供することができる。
【００４５】
例えば、デバイス制御機能１５０は、物体検出画像１２４内で、検出された丸い物体の位置（例えば、画像に対する検出された丸い物体の位置）を決定する。ユーザが入力を提供する、または自己推進デバイスの表現上でジェスチャを行う（例えば、タッチ式ディスプレイ上で表現を右にドラッグする）とき、デバイス制御機能１５０は、基準（例えば、表示された自己推進デバイスの表現の元の位置）に対するジェスチャの経路を決定し、そのジェスチャを、それと同様に自己推進デバイスを移動させるための制御信号に変換することができる。制御信号を自己推進デバイスに提供して、自己推進デバイスをそれに従って移動させることができる。
【００４６】
ＷＣＯＭ１６０は、システム１００と他の外部デバイス（例えば、遠隔デバイスや、ユーザの自己推進デバイスなど）との間でデータを交換する働きをする。一実施形態では、ＷＣＯＭ１６０は、ＢＬＵＥＴＯＯＴＨ通信プロトコル、Ｗｉ−Ｆｉ通信プロトコル、赤外線通信プロトコルなど様々な異なるプロトコルを実装することができる。ユーザコマンドに相当する指定のアクションを自己推進デバイスに行わせるために、制御情報１５４を遠隔デバイス（例えば自己推進デバイス）にワイヤレス通信することができる。
【００４７】
いくつかの実施形態では、デバイス制御機能１５０は、遠隔デバイスの１つまたは複数の構成要素を較正するため（またはコンピューティングデバイスの１つまたは複数の構成要素を較正するため）の制御情報１５４を提供することができる。例えば、丸い対象物体（例えばユーザの自己推進デバイス）は、１つまたは複数のジャイロスコープを有することがある。時間と共に、ジャイロスコープのドリフトにより、ジャイロスコープを再較正する必要があり得る。物体検出画像１２４を使用することによって、デバイス制御機能１５０は、例えば、自己推進デバイスが移動しているかどうか、または静止しているかどうかを検出することができ、ＷＣＯＭ１６０を介して自己推進デバイスに送信すべき制御情報１５４（較正情報を含む）を提供することができる。自己推進デバイスの移動ラインの検出と、物体検出画像１２４とに基づいて、デバイス制御機能１５０は、自己推進デバイスのジャイロスコープを較正することができる。一実施形態では、デバイス制御装置１５０は、（ジャイロスコープに関するリアルタイム情報を含む）自己推進デバイスの構成要素に関する現行情報を含むデバイス情報１６２を自己推進デバイスから受信することもできる。デバイス制御機能１５０は、自己推進デバイスのジャイロスコープを較正するためにこの情報を使用することができる。このようにして、システム１００を使用して、ジャイロスコープドリフトをなくすことができる。
【００４８】
同様に、検出された丸い物体を使用して、コンピューティングデバイスの１つまたは複数のジャイロスコープを較正することもできる。例えば、丸い物体が止まっているまたは静止していると判断されるとき、デバイス制御機能１５０は、検出された丸い物体を基準点として使用することによって、コンピューティングデバイスのジャイロスコープを較正することができる。
【００４９】
また、物体検出機能１１０は、さらなる処理のために、コンピューティングデバイスの他の構成要素もしくはシステム、および／または（図１には示さない）遠隔デバイスに、物体検出画像１１８を提供することもできる。他の構成要素は、他の操作を行うための入力として、検出された丸い物体を処理することができる。
【００５０】
１つまたは複数の実施形態によれば、システム１００によって受信される視覚入力１１４は、コンピューティングデバイスから遠隔にある画像取込みデバイスから提供することもできる。例えば、画像取込みデバイスは、コンピューティングデバイスから離れていてよい。画像取込みデバイスは、シーンを検出し、および／または取り込んで、（例えば、ワイヤを使用して、またはワイヤレスで）視覚入力１１４をコンピューティングデバイスに送信することができる。システム１００は、例えば視覚入力１１４が画像取込みデバイスからワイヤレスで受信されるとき、ＷＣＯＭ１６０を介して視覚入力１１４を受信することができる。次いで、システム１００は、遠隔の画像取込みデバイスから受信された画像から１つまたは複数の丸い物体を検出し、処理された検出された物体に基づいてさらなる操作を実施することができる。
【００５１】
別の実施形態では、システム１００は、画像（例えばリアルタイムビデオからのフレーム）を受信し、次いで、ある期間後に画像を処理する（例えば１つまたは複数の丸い物体を検出する、および／または画像を調整する）ことができる。例えば、画像取込みデバイスによって提供された視覚入力１１４は、まず、コンピューティングデバイスのメモリリソースに記憶することができ、その後、物体検出機能１１０が、処理のために視覚入力１１４を検索または受信する。物体検出機能１１０は、ユーザ入力１２６に応答して処理を行うことができる（それにより、視覚入力１１４が、物体検出機能１１０によってメモリリソースから検索または受信される）。他の実施形態では、システム１００は、画像が動的に処理された後でさえ、さらなる処理を行うことができる。例えば、画像調整機能１３０は、最初に物体検出画像１２４を処理した後、様々な調整された画像１３２をＵＩ構成要素１４０に提供するためにさらなる処理を後で実施することができる。このようにして、ユーザは、異なる時点に、異なる調整された画像１３２（例えば、異なるグラフィック画像オーバーレイを有する調整された画像）を閲覧することができる。
【００５２】
いくつかの実施形態では、システム１００で表される構成要素のいくつかは、個々の構成要素として、または同じ構成要素の一部として提供することができる。例えば、物体検出機能１１０と画像調整機能１３０を、同じ構成要素の一部として提供することができる。別の例では、物体検出機能１１０とデバイス制御機能１５０を、同じ構成要素の一部として提供することができる。他の実施形態では、システム１００で表される構成要素は、デバイスオペレーティングシステムの一部として、または１つまたは複数のアプリケーションの一部として（例えば、カメラアプリケーション、遠隔デバイス制御アプリケーション、またはゲーミングアプリケーションの一部として）提供することができる。カメラアプリケーション（例えばソフトウェア）によって、および／または画像取込みデバイスのハードウェアによって論理を実装することができる。
【００５３】
いくつかの例では、対象物体は、代替として、１つまたは複数の画像内で物体を検出するために、次元解析および画像解析を行うことができる他の所定の形状を有することができる。例えば、システム１００は、特定の２次元形状を有する（例えば長方形状または三角形状を有する）物体を検出するように訓練された分類子など、丸い形状以外の形状を有する物体を検出するために他の物体検出および／または画像処理技法を利用することができる。物体検出機能１１０は、他の所定の形状を検出して、その物体の画像に関する次元情報を実世界での空間および／または位置情報に変換することができる。
【００５４】
追加または代替として、本明細書で述べる例は、隣接物体解析にも使用することができる。隣接物体解析では、対象物体に隣接する物体に関する位置情報を、対象物体との隣接物体の既知の空間的関係に基づいて決定することができる。例えば、対象物体はタンク車でよく、タンク車の位置を画像内で決定することができる。タンク車に装備された銃も、隣接物体解析を使用して追跡することができる。
【００５５】
さらに、所与のシーンの１つまたは複数の画像内で、（例えば丸い形状または球状を有する）複数の対象物体を同時に追跡することもできる。対象物体は、動いていても静止していてもよい。物体検出機能１１０は、複数の対象物体を、各追跡対象物体に関する位置情報と共に検出することができる。他の追跡対象物体に対する各追跡対象物体の位置を使用して、それらの対象物体の中間にあり得る他の対象物体または対象点を決定することができる。例えば、複数の球状物体を画像内で検出して追跡し、１つまたは複数の追跡対象物体の近くにあり得る他の物体の位置を決定する目的で点群を決定することができる。
【００５６】
方法
図２は、一実施形態によるコンピューティングデバイスを操作するための例示的方法を示す。図２の実施形態によって表されるような方法は、例えば、図１の実施形態に関して述べた構成要素を使用して実施することができる。したがって、図１の要素への言及は、説明されるステップまたはサブステップを実施するための適切な要素または構成要素を例示する目的のものである。
【００５７】
コンピューティングデバイスは、その画像取込みデバイスから複数の画像を受信することができる（ステップ２００）。複数の画像が、画像取込みデバイスのレンズが向いている、または焦点を合わされているシーンの視覚入力に相当し得る。いくつかの実施形態では、画像入力は、画像取込みデバイスによって提供されるリアルタイムビデオに相当し得る（サブステップ２０２）。リアルタイムビデオは、１秒当たりにいくつかの検出されるおよび／または取り込まれるフレーム（各フレームが画像でよい）を含むことができる（例えば、毎秒３０フレーム）。
【００５８】
各画像は、画像内の１つまたは複数の丸い物体を検出するために個々に処理することができる（ステップ２１０）。コンピューティングデバイスは、各画像内で丸い物体を検出するために、画像認識ソフトウェアおよび／または他の画像処理法を動作させることができる。画像内の丸い物体は、シーン内に存在して丸いハウジング特性を有する対象物体に該当し得る。一実施形態では、丸い物体は、対象物体を決定するための既知の情報を適用することによって検出することができる（サブステップ２１２）。既知の情報は、ユーザが提供することができ、あるいは予め設定する、および／またはコンピューティングデバイスのメモリリソースに記憶させておくことができる。
【００５９】
１つまたは複数の実施形態によれば、既知の情報が、丸い対象物体のサイズを含むことがある（サブステップ２１４）。丸い物体のサイズは、物体の半径（または例えば楕円に関する径）、または物体の直径、あるいはいくつかの場合には、ディスプレイデバイスの画面サイズに対する相対サイズに相当し得る。丸い物体に関するサイズ情報、例えば丸い物体の（例えば画素長での）半径または直径を使用することによって、各画像内で１つまたは複数の丸い物体を検出することができる。さらに、既知の情報は、基面に対するコンピューティングデバイスの位置決めに対応する情報を含むことができる（サブステップ２１６）。ユーザがコンピューティングデバイスのレンズを向けている向き、方向、および位置に基づいて、丸い物体のサイズを（画面サイズに対して）より小さくまたはより大きく決定することができる。そのような場合、丸い物体の半径または直径は、サイズが動的に変化し得る。図１に関して論じたように、丸い物体は、例えばグレースケールフィルタを適用することによって各画像で検出することができる。さらに、画像に対する丸い物体の位置情報など、丸い物体の情報を決定することもできる。
【００６０】
画像内で１つまたは複数の丸い物体を検出することによって、コンピューティングデバイスは、コンピューティングデバイスに対する１つまたは複数の操作またはプロセスを行うための入力として、検出された物体、および検出された物体の位置情報を利用することができる（ステップ２２０）。例えば、コンピューティングデバイスは、オーバーレイを生成することによって、または画像内の検出された丸い物体を、画像内での丸い物体の運動を模倣するグラフィックフィーチャで置き換えることによって、ディスプレイデバイス上に表示するために画像を調整することができる（サブステップ２２２）。そのようなグラフィック調整は、ゲームの一部として実世界シナリオを使用するゲーミングアプリケーションに有用となり得る。
【００６１】
一実施形態では、オーバーレイは、３次元特性を有するグラフィックフィーチャでもよい。グラフィックフィーチャは、検出された丸い物体の３次元性および運動と一致するように、表示される画像の一部としてレンダリングすることができる。例えば、丸い物体が１８０度回転する場合、オーバーレイされたグラフィックフィーチャも同様の形態で回転することができる。
【００６２】
また、コンピューティングデバイスは、検出された丸い物体（例えば自己推進デバイス）をワイヤレスで制御するための入力として、検出された物体を処理することもできる（サブステップ２２４）。例えば、ユーザは、特定の速度で特定の方向に移動するように実際の自己推進デバイス（例えば対象物体）を制御するために、ディスプレイデバイス上で自己推進デバイスの表現を含む画像を操作することができる。また、ユーザは、自己推進デバイスを目標位置に移動させるために、タッチ式ディスプレイ画面上で目標位置をタップすることもできる。別の実施形態では、検出された丸い物体は、ユーザの近傍にある実世界の物体、および実世界の丸い物体に基づいて、画像を投影または表示するための入力として使用することができる（サブステップ２２６）。また、検出された丸い物体は、検出された丸い物体の１つまたは複数の構成要素を較正するために使用することもできる（サブステップ２２８）。
【００６３】
検出された物体を入力として処理する他の用途は、球技でのボールを追跡すること、または、ボールおよび／または円板をマーカまたは固定基準点（例えば位置合わせマーカ）として使用することを含むことがある。例えば、画像内の他の物体を置くための基準点または測定点として円板を使用することができる。さらに、他の用途は、検出された物体を空間マッピングまたはナビゲーションのために使用することを含む。点、物体位置、ナビゲーションウェイポイントなどは全て、長期にわたって具体的な位置に相当する所与の仮想位置でよい。コンピューティングデバイスは、検出された丸い物体の場所および位置に関する情報を丸い物体に提供することができ、それにより、丸い物体（例えば自己推進デバイス）は、目標位置に向かうそれ自体の進行状況を計測し、自らナビゲートすることができる。他のアプリケーションでは、検出された丸い物体に基づいて、画像から物体の位置を選択する（例えばディスプレイ画面上でタップする）ことによって、既知の高さの物体の絶対位置を計算することができる。
【００６４】
図３Ａ〜図３Ｂは、一実施形態における、処理された画像の一例を示す。図３Ａ〜図３Ｂの実施形態によって表されるものなど、ディスプレイデバイスに提供される例示的なユーザインターフェースフィーチャは、例えば図１の実施形態で述べた構成要素を使用して実施することができる。したがって、図１の要素への言及は、説明されるステップまたはサブステップを実施するための適切な要素または構成要素を例示する目的のものである。
【００６５】
図３Ａは、丸いまたは球状の物体（例えばボール）の表現を含むシーンの画像を示す。丸い物体は、動いていてもよい。しかし、図３Ａは、例えば画像シーケンスの単一の画像を示すので、丸い物体が静止しているものとして写されている。コンピューティングデバイスは、そのような画像を、コンピューティングデバイスの画像取込みデバイスによって検出されている、および／または取り込まれているもののプレビューの一部としてディスプレイデバイスに提供することができる。
【００６６】
コンピューティングデバイスが、複数の画像内で、丸い物体、および丸い物体の場所または位置を検出した後、検出された丸い物体を、１つまたは複数のさらなる操作を行うための入力として利用することができる。一実施形態では、画像は、検出された丸い物体を視覚的に変えることによって調整することができる。例えば、ユーザは、ゲームをプレイするためにコンピューティングデバイスを操作する（例えば、ゲーミングアプリケーションを操作する）ことができる。図３Ｂで、検出された丸い物体を含む画像は、ゲームの一部として、検出された丸い物体を別のグラフィック画像（例えばドラゴン）でオーバーレイする、または置き換えることによって調整することができる。球状物体がリアルタイムで実世界で移動するとき、受信されている画像のシーケンスも、移動しているものとしてボールを写す。
【００６７】
球状物体を検出するために各画像を処理することができ、検出された球状物体を入力として処理することができ、それにより、コンピューティングデバイスのディスプレイデバイス上で、表示されたドラゴンもそれに従って動く。いくつかの変形形態では、レンダリングされた画像を動的に調整することができる。例えば、トリガに応答してドラゴンのグラフィック画像をトカゲのグラフィック画像に動的に変化させることができ、そのようなトリガは、例えば、ユーザ入力、または対象物体が特定の場所もしくは別の対象物体の傍に移動されることである。
【００６８】
追加または代替として、図１のシステム１００を実装するデバイスなどのコンピューティングデバイスは、画像内で複数の丸い物体を検出し、複数の丸い物体の位置および／または移動を追跡することができ、その一方で、別のコンピューティングデバイスが対象物体を制御する。いくつかの実施形態では、画像取込みデバイス、および／または１つまたは複数の丸い物体を検出するために画像を処理するコンピューティングデバイスは、丸いまたは球状の自己推進デバイスなど対象物体の移動を制御するコンピューティングデバイスから離れており別個のものでよい。さらに、一変形形態では、コンピューティングデバイス上で、検出および追跡される物体に基づいてレンダリングされるコンテンツ（例えばグラフィックオーバーレイ）は、別のコンピューティングデバイスによって提供される１つまたは複数のトリガまたは入力に基づいて動的に変更することができる。
【００６９】
例えば、複数のユーザが、ゲーミング環境内で互いに関わり合うことができ、第１のユーザが第１のコンピューティングデバイスを使用して対象物体の移動を制御し、第２のユーザと第３のユーザが、対象物体を追跡して、それぞれのコンピューティングデバイス上のコンテンツをレンダリングする。第４のユーザは、第４のコンピューティングデバイスを使用して、第２のユーザおよび第３のユーザのデバイス上に表示されるコンテンツを制御する（例えば、検出された物体の代わりに表示されるグラフィック画像を動的に調整する）ことができる。例えば、一実装形態では、第２のユーザは、対象物体を追跡し、（例えば、個々のユーザに表示されるコンテンツを第４のユーザが制御するのに基づいて）第３のユーザのコンピューティングデバイス上でレンダリングされるコンテンツとは異なるレンダリングコンテンツを閲覧することができる。コンピューティングデバイスは、ＢｌｕｅｔｏｏｔｈまたはＷｉ−Ｆｉなどワイヤレス通信プロトコルを介して互いに通信することができる。
【００７０】
別の使用例では、それぞれのコンピューティングデバイスを用いる複数のユーザが、１つまたは複数の自己推進デバイスを含めた１０個の対象物体を検出して追跡することができる。１つまたは複数の対象物体に対する制御は、ユーザ間で受け渡すことができる。
【００７１】
ハードウェア構成図
図４は、本明細書で述べる実施形態を実装することができるコンピュータシステムの例示的なハードウェア構成図を示す。例えば、図１との関連で、システム１００は、図４によって表されるようなコンピュータシステムを使用して実装することができる。一実施形態では、コンピューティングデバイス４００は、テレフォニー、メッセージング、およびデータサービスを可能にするセルラデバイスなど、モバイルコンピューティングデバイスに該当し得る。そのようなデバイスの例は、スマートフォン、セルラキャリア用のハードセットまたはタブレットデバイス、デジタルカメラ、またはラップトップおよびデスクトップ（例えばＰＣ）を含む。コンピューティングデバイス４００は、処理リソース（例えば１つまたは複数の処理装置）４１０と、メモリリソース４２０と、ディスプレイデバイス４３０と、１つまたは複数の通信サブシステム４４０（ワイヤレス通信サブシステムを含む）と、入力メカニズム４５０と、カメラ構成要素４６０とを含む。ディスプレイデバイス４３０は、ユーザからの入力を受信することもできるタッチ式ディスプレイデバイスでよい。一実施形態では、通信サブシステム４４０の少なくとも１つが、データチャネルおよび音声チャネルを介してセルラデータを送受信する。
【００７２】
処理リソース４１０は、図１〜図３および本出願における他の箇所で述べるようないくつかの実施形態で表される１つまたは複数のプロセス、ステップ、および他の機能を実施するためにソフトウェアおよび／または他の論理を有するように構成される。処理リソース４１０は、（図１で述べたような）システム１００を実装するために、メモリリソース４２０に記憶された命令およびデータを有するように構成される。例えば、物体検出機能（画像フィルタ機能、勾配検出機能、画像マーク機能を含む）、画像調整機能、ＵＩ構成要素、およびデバイス制御機能を実施するための命令を、コンピューティングデバイス４００のメモリリソース４２０に記憶することができる。
【００７３】
処理リソース４１０は、物体検出機能を操作するための命令、および画像取込みデバイスのレンズおよび／または他の構成要素４６０によって取り込まれている画像を（視覚入力４６２を介して）受信するための命令を実行することができる。１つまたは複数の画像内で１つまたは複数の丸い物体を検出した後、処理リソース４１０は、調整された画像４１２をディスプレイデバイス４３０上に提示させるための命令を実行することができる。また、処理リソース４１０は、通信サブシステム４４０を介して遠隔デバイス用のデバイス制御機能４１４を提供するための命令を実行することもできる。
【００７４】
いくつかの実施形態では、処理リソース４１０は、様々な異なるアプリケーションおよび／または機能を実行して動作させることができ、そのようなアプリケーションおよび／または機能は、例えば、ホームページまたはスタート画面、アプリケーションラウンチャページ、メッセージングアプリケーション（例えば、ＳＭＳメッセージングアプリケーション、電子メールアプリケーション、ＩＭアプリケーション）、電話アプリケーション、ゲームアプリケーション、カレンダーアプリケーション、ドキュメントアプリケーション、ウェブブラウザアプリケーション、時計アプリケーション、カメラアプリケーション、メディア閲覧アプリケーション（例えば、ビデオ、画像、音声用）、ソーシャルメディアアプリケーション、財務アプリケーション、およびデバイス設定である。
【００７５】
本明細書で述べる実施形態は、他の概念、着想、またはシステムから独立して、本明細書で述べる個々の要素および概念まで含むことが企図され、また、実施形態が、本出願の任意の箇所に記載された要素の組合せを含むことも企図される。実施形態を、添付図面を参照して本明細書に詳細に述べてきたが、本発明が、それらの厳密な実施形態に限定されないことを理解されたい。したがって、当業者には、多くの修正形態および変形形態が明らかであろう。それに従って、本発明の範囲は、添付の特許請求の範囲およびそれらの均等形態によって定義されることが意図される。さらに、個々に、または一実施形態の一部として述べられる特定の特徴は、他の特徴および実施形態がその特定の特徴に言及していない場合でさえ、他の個別に述べられる特徴、または他の実施形態のいくつかの部分と組み合わせることができることが企図される。したがって、組合せの記載がないことは、そのような組合せに対する権利を本発明者が主張することを妨げないものとする。
【図１】
2015524951.tif 000003
【図２】
2015524951.tif 000004
【図３Ａ】
2015524951.tif 000005
【図３Ｂ】
2015524951.tif 000006
【図４】
2015524951.tif 000007
【国際調査報告】
2015524951.tif 000008
2015524951.tif 000009