JP6026680B1 - 画像識別を行うための方法およびシステム - Google Patents

画像識別を行うための方法およびシステム Download PDF

Info

Publication number
JP6026680B1
JP6026680B1 JP2015563118A JP2015563118A JP6026680B1 JP 6026680 B1 JP6026680 B1 JP 6026680B1 JP 2015563118 A JP2015563118 A JP 2015563118A JP 2015563118 A JP2015563118 A JP 2015563118A JP 6026680 B1 JP6026680 B1 JP 6026680B1
Authority
JP
Japan
Prior art keywords
state
video frame
motion
individual
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015563118A
Other languages
English (en)
Other versions
JP2016537692A (ja
Inventor
リウ、シャオ
ディン、ジャン
リウ、ハイロン
チェン、ボ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Application granted granted Critical
Publication of JP6026680B1 publication Critical patent/JP6026680B1/ja
Publication of JP2016537692A publication Critical patent/JP2016537692A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

画像識別を行うための方法および装置が開示される。方法は、カメラによって第2の映像フレームより前に取り込まれる少なくとも1つの第1の映像フレームを含んだ一連の映像フレームを取得することと、運動推定を行うことによって第2の映像フレームと関連付けられた、カメラの第1の運動状態を決定することを含んで、一連の映像フレームの各映像フレームと関連付けられた、カメラの個々の運動状態を決定することと、2つの連続した映像フレーム間で、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたかどうかを決定することと、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたという決定により、2つの連続した映像フレームのうちの後の方の映像フレームが、所定のアップローディング基準によりアップロードについて有効であるかどうかを決定することとを含む。

Description

優先権の主張と関連出願
本出願は、2013年9月18日に出願の「METHOD AND APPARATUS FOR PERFORMING REAL−TIME IMAGE IDENTIFICATION ON A MOBILE TERMINAL」と題した中国特許出願第201310428930.2号に対する優先権を主張するものであり、同特許出願は、全体的に参照することによって組み込まれる。
本出願は、画像の処理技術および識別技術に関し、詳細には、エンド・デバイスにおいて画像識別を行うための方法およびシステムに関する。
エンド・デバイス、例えば、モバイル端末においてリアル・タイム画像識別を行うための解決策には、モバイル端末のカメラを使用することによって目標物の映像フレームを取得し、その映像フレームをクラウド・サーバに送信すること、およびクラウド・サーバによって、受信した映像フレームに関して識別を行い、対応する明細情報を決定し、その明細情報をモバイル端末にフィード・バックして表示することが含まれる。
いくつかの例では、取得された映像フレームからのデータ収集は、書籍カバー、CDカバー、映画ポスタ、バー・コード、2次元コード、商品ロゴなど、様々な事柄において行われ得る。映像フレームを受信した後、クラウド・サーバは、明細情報をフィード・バックし、この場合、明細情報には、購買状況、コメント情報、および関連商品の好みが含まれる。このやり方を用いることによって、画像の関連情報は、画像が撮影された後、即座に取得され、これは、クライアントに利便性を与える。
データの収集と交換を行うための既存のモバイル端末および方法は、主に2つのやり方を含み、このやり方は、以下に具体的に説明される:
第1のやり方では、目標物は、モバイル端末のカメラを使用して目標物に照準を合わせることによって写真撮影され、取得された映像フレームは、モバイル端末からクラウド・サーバに送信される。しかしながら、このやり方は、以下の不具合を有する:目標物に照準が合わせられた後、操作は、手動で行われる必要があり、これは不便である。加えて、目標物に照準が合わせられない、または手ぶれが生じる場合、クラウド・サーバは、画像識別を行うことができず、そのため、モバイル端末は、目標物についての明細情報を首尾よく取得することができない。
第2のやり方では、データ収集は、カメラによって取り込まれる写真に関してリアル・タイムに行われ、次いで、収集された画像データのすべてがクラウド・サーバに送信される。このやり方では、手動での写真撮影は必要なく、これは、操作に便利であるが、この方法もまた、以下の不具合を有する:収集された各映像フレームがリアル・タイムにクラウド・サーバに送信されるので、大量のトラフィックが使用され、帯域幅が占有され、加えて、収集されたデータ・フレームの中には、鮮明でないものもあるので、クラウド・サーバは、識別を行うことができず、識別結果を効果的にフィード・バックすることができない。
分かるように、モバイル端末においてリアル・タイム画像識別を行うための既存の方法の分野では、以下の不具合が存在する:トラフィック消費が大きく、識別結果が効果的にフィード・バックされ得ない。
本開示の実施形態は、チャット・セッション中の推奨を実現するための方法およびシステムを提供する。
本出願のいくつかの実装形態により、画像識別のための方法は、1つまたは複数のプロセッサと、メモリと、カメラとを有する電子装置で行われる。この方法は、カメラによって取り込まれる、少なくとも1つの第1の映像フレームおよび1つの第2の映像フレームを含んだ一連の映像フレームを取得することであって、第1の映像フレームは、第2の映像フレームより前に取り込まれる、一連の映像フレームを取得することと、第1の映像フレームおよび第2の映像フレームの運動推定を行うことによって第2の映像フレームと関連付けられた、カメラの第1の運動状態を決定することを含んで、一連の映像フレームの各映像フレームと関連付けられた、カメラの個々の運動状態を決定することと、一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたかどうかを決定することと、一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたという決定により、2つの連続した映像フレームのうちの後の方の映像フレームが、所定のアップローディング基準によりアップロードについて有効であるかどうかを決定することとを含む。
別の態様では、装置は、1つまたは複数のプロセッサと、メモリと、カメラと、メモリに記憶され、1つまたは複数のプロセッサによって実行するように構成されている1つまたは複数のプログラム・モジュールとを備える。1つまたは複数のプログラム・モジュールは、上述の方法を行うための命令を含む。別の態様では、非一時的コンピュータ可読記憶媒体が、命令をその上に記憶し、命令は、装置によって実行されると、装置に、本明細書に説明される方法を行わせる。
本出願の様々な利点は、下記の説明に照らせば明らかである。
本出願の前述された特徴および利点、ならびにその追加の特徴および利点は、図面と併せて解釈されると、好ましい実施形態の詳細な説明の結果として、本明細書で以降、より明瞭に理解されよう。
本出願の実施形態による技術的解決策をより明瞭に例示するために、実施形態を説明するための添付の図面が以下に簡潔に紹介される。以下の説明における添付の図面は、本出願のほんの一部の実施形態にすぎず、当業者は、創造的な労力を何ら払わずして、添付の図面に従って他の図面を得ることができる。
本出願のいくつかの実施形態によるモバイル端末における画像識別を行うための方法の概略的流れ図である。 本出願のいくつかの実施形態によるモバイル端末における画像識別を行うための方法の概略的流れ図である。 本出願のいくつかの実施形態による運動推定を行うための方法の概略的流れ図である。 本出願のいくつかの実施形態による一致ブロックを決定するための概略的例示図である。 本出願のいくつかの実施形態による図1〜図3で論じられた画像識別のための方法を行うモバイル端末の概略的構造図である。 いくつかの実施形態によるサーバ−クライアント環境のブロック図である。 いくつかの実施形態によるクライアント装置のブロック図である。 いくつかの実施形態によるサーバ・システムのブロック図である。 本出願のいくつかの実施形態によるエンド・デバイスにおける画像識別を行うための方法の流れ図である。 本出願のいくつかの実施形態によるエンド・デバイスにおける画像識別を行うための方法の流れ図である。 本出願のいくつかの実施形態によるエンド・デバイスにおける画像識別を行うための方法の流れ図である。 本出願のいくつかの実施形態によるエンド・デバイスにおける画像識別を行うための方法の流れ図である。 本出願のいくつかの実施形態によるエンド・デバイスにおける画像識別を行うための方法の流れ図である。
同様の参照数字は、図面のいくつかの図全体にわたって対応する部分を示す。
次に、実施形態に対して詳細に参照がなされ、それらの例は、添付の図面に示される。以下の詳細な説明では、多数の具体的な詳細が、本明細書に提示された主題の完全な理解を与えるために述べられる。しかし、主題は、これらの具体的な詳細がなくても実践可能であることは当業者にとっては明らかであろう。他の例では、よく知られている方法、手順、構成要素、および回路は、実施形態の態様を不必要に曖昧にしないように詳細には説明されていない。
以下は、本出願の実施形態における添付の図面を参照して本出願の実施形態における技術的解決策を明瞭かつ完全に説明している。明らかに、説明された実施形態は、本出願の実施形態のすべてではなく、ほんの一部にすぎない。創造的な労力なく本出願の実施形態に基づいて、当業者によって得られるすべての他の実施形態は、本出願の保護範囲内に入るものとする。
本出願を実装する工程では、例えば、データ収集工程では、実際の適用中、ユーザはまず、カメラを開き、カメラを移動させて目標物に照準を合わせ、次いで、カメラを使用することによってデータ収集を行い、これは、移動から固定の状態への工程である。これに基づいて、本出願では、収集された映像フレームの運動状態が決定される。映像フレームの運動状態が移動状態から固定状態にあることが知られていると、鮮明なフレーム画像であることが決定され、次いで、この鮮明なフレーム画像は、クラウド・サーバにアップロードされる。こうして、鮮明なフレーム画像のみがクラウド・サーバに送信され、これは、トラフィック帯域幅を節約する。加えて、クラウド・サーバは、鮮明なフレーム画像に基づいて識別結果をフィード・バックするので、識別結果は、より効果的である。
図1は、本出願のいくつかの実施形態によるエンド・デバイス、例えばモバイル端末における画像識別を行うための方法100の概略的流れ図である。いくつかの実施形態では、方法100は、モバイル端末によって取り込まれるリアル・タイム画像に対して行われる。いくつかの実施形態では、データ収集がモバイル端末のカメラを使用することによってリアル・タイムに行われ(101)、映像フレームが取得される。いくつかの実施形態では、運動推定が映像フレームに関して行われ(102)、映像フレームの運動状態が決定される。
いくつかの実施形態では、1フレームずつの収集は、カメラを移動させることによって写真に関して行われる。運動推定は、リアル・タイムに取得される映像フレームに関して行われて、その映像フレームの運動状態を決定する。いくつかの実施形態では、運動推定は、映像符号化技術で使用される。本出願では、運動推定は、モバイル端末のカメラを使用して収集される映像フレームを処理するのに使用されて、映像フレームの運動状態を決定する。いくつかの実施形態では、運動ベクトルが映像フレームの運動状態を決定するのに使用可能であり、これは、現在の映像フレームと以前の映像フレームとの間の運動ベクトルを計算することであって、運動ベクトルは、運動振幅および運動方向を含む、運動ベクトルを計算することと、運動ベクトルを使用して映像フレームの運動状態を決定することとを含む。
いくつかの実施形態では、運動推定は、現在の映像フレームと以前の映像フレームとの間の運動ベクトルを計算するのに使用され、使用されるステップは、以前の映像フレームの中心領域画素を取得することと、現在の映像フレームの中心領域を開始ポイントとして使用して、開始ポイントを囲み、以前の映像フレームの中心領域画素に類似する画素を有する、一致ブロックとして決定されるべき領域をサーチすることと、現在の映像フレームの中心領域と一致ブロックとの間の位置ベクトルを運動ベクトルとして使用することとを含むことができる。
運動状態には、移動状態、固定状態、移動状態から固定状態に、および固定状態から移動状態に、が含まれる。映像フレームの移動状態は、多くのやり方で運動ベクトルを使用することによって決定され、これは、実際のニーズに応じて設定され得る。例えば、運動ベクトルを使用して映像フレームの運動状態を決定することは、記憶された背景運動状態を読み取ることを含む。いくつかの実施形態では、背景運動状態が固定状態であり、現在のフレームからのN個の連続したフレームの運動振幅のそれぞれが第1の運動閾値より大きく、ただし、Nは自然数であり、現在のフレームが第1のフレームであるとき、(N+1)番目のフレームへの第1のフレームの運動状態は固定状態であると決定され、背景運動状態はなおも固定状態であり、かつ(N+1)番目のフレームの運動状態は固定状態から移動状態にあると決定され、背景運動状態は移動として変更される。背景運動状態が固定状態であり、現在のフレームの運動振幅が第1の運動閾値より小さいとき、現在のフレームの運動状態はなおも固定であり、背景運動状態はなおも固定である。
いくつかの実施形態では、背景運動状態が移動状態であり、現在のフレームからのN個の連続したフレームの運動振幅が第2の運動閾値より小さく、ただし、Nは自然数であり、現在のフレームが第1のフレームであるとき、(N+1)番目のフレームへの第1のフレームの運動状態は移動状態であり、背景運動状態はなおも移動であり、かつ(N+1)番目のフレームの運動状態は移動状態から固定状態にあると決定され、背景運動状態は固定状態に変更される。背景運動状態が移動状態であり、現在のフレームの運動振幅が第2の運動閾値より大きいとき、現在のフレームの運動状態はなおも移動であり、背景運動状態はなおも移動状態である。
いくつかの実施形態では、背景運動状態が固定状態であることが決定された後、ただし、現在のフレームの運動振幅が第1の運動閾値より小さい場合、方法は、運動振幅が第3の運動閾値より大きいかどうかを決定することをさらに含む。運動振幅が第3の運動閾値より大きいとき、現在のフレームの運動は微小運動であり、背景運動状態はなおも固定状態である。現在のフレームからのM個の連続したフレームの運動状態が同じ方向の微小運動であり、現在のフレームが第1のフレームであるとき、M番目のフレームの運動状態は固定状態から移動状態にあると決定され、背景運動状態は移動状態に変更され、ただし、Mは自然数である。
いくつかの実施形態では、背景運動状態が固定状態であるとき、以前の映像フレームの後の2つ連続したフレームの運動振幅がS1より大きく、この2つの連続したフレームの運動方向がそれぞれ反対方向にある場合、振動状況であると決定され、2つの連続したフレームの運動状態はなおも固定であると決定される。
いくつかの実施形態では、以前の映像フレームの後の2つの連続したフレームの運動振幅がS1より大きく、この2つの連続したフレームの運動方向が同じ方向にある場合、2つの連続したフレームのうちの最新のフレームの運動状態は、固定から移動にあると決定される。
いくつかの実施形態では、映像フレームの運動状態が移動状態から固定状態にあるかどうかが決定される(103)。映像フレームの運動状態が移動状態から固定状態にあるとき、映像フレームは、鮮明なフレーム画像であると決定され、この鮮明なフレーム画像は、クラウド・サーバにアップロードされる。映像フレームの運動状態が移動状態から固定状態にではないと決定される場合、データ・フレームは、クラウド・サーバにアップロードされない。
いくつかの実施形態では、鮮明なフレームを決定する正確性を向上させるために、映像フレームの運動状態が移動状態から固定状態にあると決定された後、コーナ検出も行われ得る。いくつかの実施形態では、コーナ検出は、コーナ特性など、映像フレームのフィーチャの数を計算することと、コーナ特性の数がコーナの閾値数より大きいかどうかを決定することとを含む。コーナ特性の数がコーナの閾値数より大きいとき、鮮明なフレームは、鮮明なフレーム画像であると決定される。コーナ特性の数がコーナの閾値数以下であるとき、フレームは、不鮮明なフレーム画像であると決定される。
いくつかの実施形態では、映像フレームの運動状態が移動状態から固定状態にあると決定され、映像フレームが鮮明なフレーム画像であると決定されるとき、鮮明なフレーム画像は、クラウド・サーバにアップロードされる。いくつかの適用シナリオでは、鮮明なフレーム画像をアップロードするかどうかは、複数の連続した映像フレームの運動状態が固定であるかどうかに基づいて決定され得る。例えば、現在のフレームが第1のフレームであると仮定すると、(N+1)番目のフレームへの第1のフレームが固定状態にあると決定される場合、(N+1)番目のフレームは、鮮明なフレームであると決定され、次いで、鮮明なフレーム画像は、クラウド・サーバにアップロードされ、ただし、Nは自然数である。
いくつかの実施形態では、クラウド・サーバからフィード・バックされる識別結果はエンド・デバイスで受信され(104)、この識別結果は表示される(104)。クラウド・サーバは、映像フレームを受信した後、関連明細情報をフィード・バックし、この関連明細情報には、購買状況、批評情報、および関連商品の好みを含めることができる。
本出願では、運動推定は、映像フレームの運動状態を決定するために、収集された映像フレームに関して行われる。映像フレームの運動状態が移動状態から固定状態にあると決定され、映像フレームが鮮明なフレーム画像であると決定されるとき、鮮明なフレーム画像は、クラウド・サーバにアップロードされる。本出願は、データがカメラを使用することによって能動的に収集され、ユーザが手動で写真を撮る必要のない、操作に便利なやり方を使用する。加えて、収集された映像フレームをすべてリアル・タイムにクラウド・サーバにアップロードするのではなく、鮮明なフレーム画像のみがクラウド・サーバにアップロードされ、そのため、トラフィック及び帯域幅が節約される。クラウド・サーバは、鮮明なフレーム画像に基づいて識別結果をフィード・バックするので、識別結果は、より効果的である。
図2は、本出願のいくつかの実施形態によるモバイル端末における画像識別を行うための方法200の概略的流れ図である。いくつかの実施形態では、データ収集がモバイル端末のカメラを使用してリアル・タイムに行われ(201)、映像フレームが取得される。いくつかの実施形態では、運動推定が映像フレームに関して行われ(202)、映像フレームの運動状態が決定される(202)。説明の便宜上、運動推定が行われる映像フレームは、以下の説明では、処理されるべき映像フレームと呼ばれる。
本出願では、映像符号化に使用される運動推定概念が、モバイル端末のカメラによって取り込まれる画像を処理するのに使用される。モバイル端末のカメラの映像および画像のシーケンスは、同じ連続した画像の相対関係を有し、そのため、運動推定アルゴリズムは普遍的である。しかしながら、2つのシナリオ間には、差分も存在する。例えば、モバイル端末のカメラによって取得される画像は、一般には、解像度がより低く、ユーザの実際の使用中、モバイル端末は、大きい振幅で移動することができない。全般的な状況についての運動推定アルゴリズムが映像符号化で使用され、この計算のやり方は非常に緩慢であり、一般には、リアル・タイム効果がPCであっても達成されない可能性がある。そのため、この差分を考慮して、本出願は、映像符号化に適用される運動推定アルゴリズムに関しての改善を行い、それにより、このアルゴリズムは、様々なモバイル端末において効果的な性能を達成することができるようになると同時に、それほどCPUリソースを消費せず、消費されたCPUリソースでさえも基本的には無視可能になる。
図3は、本出願のいくつかの実施形態による運動推定を行うための方法300の概略的流れ図である。いくつかの実施形態では、処理されるべき映像フレームの中心領域画素が取得され、記憶される(301)。いくつかの実施形態では、処理されるべき映像フレームの以前の映像フレームの中心領域画素も取得される(302)。いくつかの実施形態では、モバイル端末は、映像フレームを収集するたびに、映像フレームの中心領域画素を記憶する。例えば、中心領域の画素グレー値が記憶される。このステップでは、処理されるべき映像フレームに隣接する以前の映像フレームの記憶済みの中心領域画素グレー値が抽出される。処理されるべき映像フレームの中心領域が、開始ポイントとして使用され(303)、開始ポイントを囲み、以前の映像フレームの中心領域画素に類似する画素を有する、一致ブロックとして決定されるべき領域をサーチする(303)。
図4は、本出願のいくつかの実施形態による方法300のステップ303における一致ブロックを決定するための概略的例示図を示している。図4に示されているように、第1の映像フレーム400、すなわち、以前の映像フレームは、格子で印付けされた中心領域に正方形領域410を含む。第2の映像フレーム450、すなわち、処理されるべき映像フレームは、中心領域に破線領域460を含む。いくつかの実施形態では、破線ブロック460を囲む隣接域が、以前の映像フレーム内の中心領域410の画素グレー値に類似する画素グレー値を有する領域470について中心から周辺の領域までサーチされ、領域470は、一致ブロック470と呼ばれる。図4に示されているように、処理されるべき映像フレーム450内の格子で印付けされた正方形領域が、サーチングにより取得される一致ブロック470である。
いくつかの実施形態では、以前の映像フレーム400の中心領域(x,y)410の画素グレーは、I(x,y)として示される。処理されるべき映像フレームの450において、以前の映像フレーム400の中心領域410と一致させるのに使用されるサーチ・ブロック(例えば、領域470)は、I’(x,y)として示された画素グレーを有する。I(x,y)とI’(x,y)との間の差分の二次形式和が、ブロック類似性を評価するための指標として使用される。ブロック・サイズがN*Nの画素を含むことを仮定すると、誤差の平方和Sは、
Figure 0006026680
である。
上記の式(1)により計算される最小値Sを有するブロックが、一致ブロック470として使用される。一致ブロック470と処理されるべき映像フレーム450の中心ブロック460との間の運動ベクトル(例えば、ベクトル480)が、一致ブロック470から中心ブロック460までの位置に従って決定される。図4におけるベクトル480は、運動方向および運動大きさ(すなわち、ベクトル480の長さ)を含む。
いくつかの実施形態では、近似アルゴリズムが前述のサーチング工程で使用される。例えば、まず、大きいステップ長がサーチ工程に使用され、相対的に大きな類似性を有する領域が特定される。次いで、ステップ長は、特定された領域で縮小され、類似性が評価される。この1ステップずつの近似は、最終サーチ結果を取得して、一致ブロックを特定するために行われる。アルゴリズムの速度を確実にするために、映像フレームのサイズがあまりにも大きく、閾値を超える場合、ダウンサンプリング処理がまず、行われてよく、例えば2000*2000のフレーム・サイズが、ダウンサンプリングにより400*400のフレーム・サイズに変更される。図4では、長方形領域、例えば、第1の映像フレーム400および第2の映像フレーム450が使用され、正方形領域、例えば、一致ブロック470が一致ブロックを示すのに使用される。実際の適用に際しては、ダイヤモンド・マッチングおよび円形マッチングなど、任意の他の適切な形状マッチングが、マッチング工程を行うのに使用されてもよい。
運動推定に際しては、誤差の平方和を使用することによる類似性決定方法に加えて、平均平方誤差、絶対誤差の和、および平均誤差の和など、任意の他の類似性決定方法が使用されてもよい。近似サーチング・アルゴリズムに加えて、実際の適用に際しては、3ステップ・サーチ、およびダイヤモンド・サーチなど、別のサーチング・アルゴリズムが使用されてもよい。
図3に戻って参照すると、処理されるべき映像フレーム450の一致ブロック470と中心ブロック460との間の位置ベクトルが計算され(304)、運動ベクトルとしての位置ベクトルが使用される(304)。いくつかの実施形態では、計算された運動ベクトルは、運動方向および運動大きさを含む。
いくつかの実施形態では、映像フレームの運動状態は、運動ベクトルを使用して決定される(305)。本出願では、映像フレームの運動状態は、主に、以下の4つの状態:移動状態、固定状態、移動状態から固定状態に、および固定状態から移動状態に、を有する。いくつかの実施形態では、状態が移動状態から固定状態にあると決定されるとき、画像は、アップロードのための準備ができている。
いくつかの実施形態では、移動状態から固定状態への状態、および固定状態から移動状態への状態は、異なる大きさ閾値を使用することができる。画像識別の適用に際しては、移動状態から固定状態への状態の大きさ閾値は相対的に高く、この大きさ閾値は第2の運動閾値として示される。固定状態から移動状態への状態の大きさ閾値は相対的に低く、この大きさ閾値は第1の運動閾値として示される。いくつかの実施形態では、第1の運動閾値は、第2の運動閾値より小さい。
モバイル端末は、背景運動状態を記憶し、この背景運動状態は、記憶済みの状態から抽出可能である。次いで、処理されるべき映像フレームの運動状態は、背景運動状態と、第1の運動閾値と、第2の運動閾値とを組み合わせることによって決定され得る。いくつかの実施形態では、記憶済みの背景運動状態は、検出され、ただし、背景運動状態が固定状態であり、現在のフレームからのN個の連続したフレームの運動大きさが第1の運動閾値より大きく、ただし、Nは自然数であり、現在のフレームが第1のフレームである場合、(N+1)番目のフレームへの第1のフレームの運動状態は固定であり、背景運動状態はなおも固定であり、かつ(N+1)番目のフレームの運動状態は固定から移動にあると決定され、背景運動状態は運動として変更される。いくつかの実施形態では、背景運動状態が固定であり、現在のフレームの運動大きさが第1の運動閾値より小さい場合、現在のフレームの運動状態はなおも固定であり、背景運動状態はなおも固定である。
いくつかの実施形態では、背景運動状態が移動であり、現在のフレームからのN個の連続したフレームの運動大きさが第2の運動閾値より小さく、ただし、Nは自然数であり、現在のフレームが第1のフレームである場合、(N+1)番目のフレームへの第1のフレームの運動状態は移動であり、背景運動状態はなおも移動であり、かつ(N+1)番目のフレームの運動状態は移動から固定にあると決定され、背景運動状態は固定として変更される。
いくつかの実施形態では、背景運動状態が移動であり、現在のフレームの運動大きさが第2の運動閾値より大きい場合、現在のフレームの運動状態はなおも移動であり、背景運動状態はなおも移動である。
さらには、背景運動状態が固定であることが決定された後、ただし、現在のフレームの運動大きさが第1の運動閾値より小さい場合、方法は、運動大きさが第3の運動閾値より大きいかどうかを決定することをさらに含む。運動大きさが第3の運動閾値より大きいとき、現在のフレームの運動は微小運動と関連付けられ、背景運動状態はなおも固定である。現在のフレームからのM個の連続したフレームの運動が同じ方向の微小運動であり、現在のフレームが第1のフレームである場合、M番目のフレームの運動状態は固定から移動にあると決定され、背景運動状態は移動として変更され、ただし、Mは自然数である。
いくつかの実施形態では、「状態にとどまる(remaining the state)」ポリシーが使用される。偶発的に生じる単一の固定または移動の状態の場合には、状態切替えは行われない。3つ以上の状態変更が累積されるとき、状態切替えが行われる。このポリシーを使用することによって、状態安定性が達成される。S1は、第1の運動閾値を示すのに使用され、S2は、第2の運動閾値を示すのに使用され、S3は、第3の運動閾値を示すのに使用される。Sは、処理されるべき映像フレームの運動大きさを示すのに使用される。いくつかの実施形態では、状態切替えは、概して、2つの状態変更が累積されるときに行われ、微小運動の場合には、状態切替えは、5つの状態変更が累積されるときに行われる。いくつかの実施形態では、「状態にとどまる」ポリシーは、以下の様々な状況を含む。
いくつかの実施形態では、背景運動状態が固定であるとき:(1)S>S1のとき、(Y番目のフレームを使用することによって示される)処理されるべき映像フレームは固定状態にあると決定され、背景運動状態はなおも固定である。次いで、(Y+1)番目のフレームの運動大きさがなおもS1より大きいかどうかが決定される。(Y+1)番目のフレームの運動大きさがなおもS1より大きいとき、(Y+1)番目のフレームは固定から移動への状態にあると決定され、背景運動状態は移動であると変更される。(2)S<S1のとき、処理されるべき映像フレームは固定状態にあると決定され、背景運動状態はなおも固定である。(3)S3<S<S1のとき、(Z番目のフレームを使用することによって示される)処理されるべき映像フレームの運動は微小運動であると決定され、(Z+3)番目のフレームへのZ番目のフレームの運動は同じ方向の微小運動であると決定され、(Z+3)番目のフレームへのZ番目のフレームは固定状態であると決定される。(Z+4)番目のフレームの運動がやはり同じ方向の微小運動である場合、(Z+4)番目のフレームは固定から移動への状態にあると決定され、背景運動は移動状態に変更される。いくつかの実施形態では、累積される回数は、任意の適切な数であるように設定可能である。
いくつかの実施形態では、背景運動状態が移動であるとき:(1)S<S2のとき、(Y番目のフレームを使用することによって示される)処理されるべき映像フレームは移動状態にあると決定され、背景運動状態はなおも移動である。次いで、(Y+1)番目のフレームの運動大きさがS2より小さいかどうかが決定される。(Y+1)番目のフレームの運動大きさがS2より小さいとき、(Y+1)番目のフレームは移動から固定への状態にあると決定され、背景運動状態は固定に変更される。(2)S>S2のとき、処理されるべき映像フレームは移動状態にあると決定され、背景運動状態はなおも移動である。
いくつかのさらなる実施形態では、手ぶれ状況も決定され得る。例えば、「不意の左運動および/または不意の右運動(sudden left motion and/or sudden right motion)」が生じる場合、つまり、運動ベクトルがそれぞれ反対方向に生じる場合、「手ぶれ(hand shaking)」状況であると決定される。この場合には、背景が固定状態にある場合、運動状態は、同じ方向の連続した運動が生成されるまで変更されない。
いくつかの実施形態では、運動推定を継続して行うかどうかが決定され(306)、イエスならば、方法300はステップ310に戻り、そうでなければ、手順は終了される。いくつかの実施形態では、映像フレームがステップ201で継続的に取得される場合、このステップ201では、運動推定は、取得された映像フレームに関して行われる。
図2に戻って参照すると、映像フレームの運動状態が移動から固定であるかどうかが決定され(203)、イエスならば、方法200はステップ204に進み、そうでなければ、手順を終了する。
カメラがオンされたばかりのとき、状態は固定に設定され得る。次いで、ユーザは、カメラを目標物に照準を合わせるように移動させ、この工程は、固定から移動への状態、移動の状態、および移動から固定への状態を経る。映像フレームの運動状態が運動から静止であると決定されるとき、対応する映像フレームは、検出されるべき映像フレームとして使用される。
いくつかの実施形態では、コーナ特性など、検出されるべき映像フレームのフィーチャの数が計算される(204)。いくつかの実施形態では、Features from Accelerated Segment Test(FAST)コーナ検出アルゴリズム、Harrisコーナ検出アルゴリズム、Compressed Histogram of Gradients(CHOG)コーナ検出アルゴリズム、およびFast Retina Keypoint(FREAK)コーナ検出アルゴリズムなど、様々なタイプのコーナ検出アルゴリズムのうちの1つがランダムに選択可能である。これらのアルゴリズムは、コーナ検出力に優れている。効果的な写真の定義によれば、第1の要件は鮮明度であり、第2の要件は豊かな葉脈(rich vein)である。2つの要件に基づいて、FASTコーナ検出が使用可能である。写真が鮮明でないとき、FASTコーナはほとんど存在せず、例えば、大きな空白部分のある写真、または単色写真には、FASTコーナはほとんど存在しない。そのため、その写真が効果的な写真であるかどうかは、写真のFASTコーナの数が決定される限り、決定され得る。
コーナ検出アルゴリズムを使用することによって写真の効果性を決定することに加えて、実際の適用に際しては、勾配特性、およびエッジ特性などに基づいて写真の効果性を決定するためのアルゴリズムが使用されてもよい。
いくつかの実施形態では、コーナ特性の数がコーナの閾値数より大きいかどうかが決定され(205)、イエスならば、検出されるべき映像フレームは、鮮明なフレーム画像であると決定され、この鮮明なフレーム画像は、クラウド・サーバにアップロードされる。そうでなければ、検出されるべき映像フレームは、クラウド・サーバへのアップロードについて有効でない不鮮明なフレーム画像であると決定される。いくつかの実施形態では、クラウド・サーバによってフィード・バックされる識別結果が受信され(206)、この識別結果は表示され得る(206)。
図5は、本出願のいくつかの実施形態による図1〜図3で論じられた画像識別のための方法100、200、および/または300を行うモバイル端末の概略的構造図500である。図5に示されているいくつかの実施形態では、モバイル端末は、データ収集ユニットと、運動推定ユニットと、鮮明フレーム決定ユニットと、識別結果表示ユニットとを含む。
いくつかの実施形態では、データ収集ユニットは、モバイル端末のカメラを使用することによってリアル・タイムにデータ収集を行い、映像フレームを取得し、映像フレームを運動推定ユニットに送信するように構成されている。
いくつかの実施形態では、運動推定ユニットは、この映像フレームに関して運動推定を行い、映像フレームの運動状態を決定し、この運動状態を鮮明フレーム決定ユニットに送信するように構成されている。いくつかの実施形態では、鮮明フレーム決定ユニットは、映像フレームの運動状態が移動から固定であるかどうかを決定するように構成されており、イエスならば、映像フレームは、鮮明なフレーム画像であると決定され、この鮮明なフレーム画像は、クラウド・サーバにアップロードされる。いくつかの実施形態では、識別結果表示ユニットは、クラウド・サーバによってフィード・バックされる識別結果を受信し、この識別結果を表示するように構成されている。いくつかの実施形態では、運動推定ユニットは、運動ベクトル計算サブユニット、および状態決定サブユニットを含む。いくつかの実施形態では、運動ベクトル計算サブユニットは、映像フレームと以前の映像フレームとの間の運動ベクトルを計算し、この運動ベクトルを状態決定サブユニットに送信するように構成されている。運動ベクトルは、運動大きさおよび運動方向を含む。いくつかの実施形態では、状態決定サブユニットは、運動ベクトルにより映像フレームの運動状態を決定するように構成されている。
いくつかの実施形態では、状態決定サブユニットは、記憶済みの背景運動状態を読み取るように構成されている状態決定モジュールを含み、ただし、背景運動状態が固定であり、現在のフレームからのN個の連続したフレームの運動大きさが第1の運動閾値より大きく、ただし、Nは自然数であり、現在のフレームが第1のフレームである場合、(N+1)番目のフレームへの第1のフレームの運動状態は固定であり、背景運動状態はなおも固定であり、かつ(N+1)番目のフレームの運動状態は固定から移動にあると決定され、背景運動状態は移動として変更される。いくつかの実施形態では、背景運動状態が固定であり、現在のフレームの運動大きさが第1の運動閾値より小さい場合、現在のフレームの運動状態は固定であり、背景運動状態はなおも固定である。いくつかの実施形態では、背景運動状態が移動であり、現在のフレームからのN個の連続したフレームの運動大きさが第2の運動閾値より小さく、ただし、Nは自然数であり、現在のフレームが第1のフレームである場合、(N+1)番目のフレームへの第1のフレームの運動状態は移動であり、背景運動状態はなおも移動であり、かつ(N+1)番目のフレームの運動状態は移動から固定にあると決定され、背景運動状態は固定として変更される。いくつかの実施形態では、背景運動状態が移動であり、現在のフレームの運動大きさが第2の運動閾値より大きい場合、現在のフレームの運動状態はなおも移動であり、背景運動状態はなおも移動である。
いくつかの実施形態では、状態決定モジュールは、固定である背景運動状態を決定するように構成されており、現在のフレームの運動大きさが第1の運動閾値より小さいとき、さらには運動振幅が第3の運動閾値より大きいかどうかがさらに決定される。運動振幅が第3の運動閾値より大きいとき、現在のフレームの運動は微小運動と関連付けられ、背景運動状態はなおも固定である。現在のフレームからのM個の連続したフレームの運動が同じ方向の微小運動であり、現在のフレームが第1のフレームである場合、M番目のフレームの運動状態は固定から移動にあると決定され、背景運動状態は移動に変更され、ただし、Mは自然数である。
いくつかの実施形態では、運動ベクトル計算ユニットは、以前の映像フレームの中心領域画素を取得することと、映像フレームの中心領域を開始ポイントとして使用し、開始ポイントを囲み、以前の映像フレームの中心領域画素に類似する画素を有する、一致ブロックであると決定される領域をサーチすることと、映像フレームの中心領域と一致ブロックとの間の位置ベクトルを運動ベクトルとして使用することとを行うように構成された運動ベクトル決定モジュールを含む。
いくつかの実施形態では、鮮明フレーム決定ユニットは、運動・静止状態決定モジュールおよびコーナ検出モジュールを含む。移動・固定状態決定モジュールは、映像フレームの運動状態が移動から固定にあるかどうかを決定するように構成されており、イエスならば、開始命令がコーナ検出モジュールに送信される。コーナ検出モジュールは、移動・固定状態決定モジュールから開始命令を受信し、映像フレームのコーナ特性の数を計算するように構成されている。いくつかの実施形態では、コーナ特性の数がコーナの閾値数より大きいかどうかが決定される。コーナ特性の数がコーナの閾値数より大きいとき、映像フレームは、鮮明フレーム画像であると決定され、この鮮明なフレーム画像は、クラウド・サーバにアップロードされる。そうでなければ、映像フレームは、不鮮明なフレーム画像であると決定される。
図6は、いくつかの実施形態によるサーバ−クライアント環境のブロック図である。図6に示されているように、画像識別は、いくつかの実施形態により、サーバ−クライアント環境600において行われる。いくつかの実施形態により、サーバ−クライアント環境600は、クライアント装置604において実行されるクライアント側処理部602(以下、「クライアント側モジュール(client−side module)602」)および入力装置(複数可)714(例えば、カメラ)、ならびにサーバ・システム608において実行されるサーバ側処理部606(以下、「サーバ側モジュール(server−side module)606」)を含む。クライアント側モジュール602は、1つまたは複数のネットワーク610を通じてサーバ側モジュール606と通信する。クライアント側モジュール602は、ソーシャル・ネットワーキング・プラットフォーム(例えば、インスタント・メッセージングおよびソーシャル・ネットワーキング・サービス)、ならびにサーバ側モジュール606との通信にクライアント側機能を提供する。サーバ側モジュール606は、個々のクライアント装置604においてそれぞれが常駐する任意の数のクライアント・モジュール602にサーバ側機能、例えば、画像/映像処理、および画像/映像情報識別を提供する。
いくつかの実施形態では、サーバ側モジュール606は、1つまたは複数のプロセッサ612と、1つまたは複数のデータベース614と、1つまたは複数のクライアントに対するI/Oインターフェース618と、1つまたは複数の外部サーバに対するI/Oインターフェース620とを含む。1つまたは複数のクライアントに対するI/Oインターフェース618は、サーバ側モジュール606のための、クライアント向きの入力と出力の処理を容易にする。1つまたは複数のプロセッサ612は、クライアント装置604から送信される画像を受信し、その画像を処理し、要求された画像/映像関連の情報をクライアント側モジュール602に提供する。データベース614は、書籍情報、CD情報、映画情報、ならびに製品およびバー・コードの情報が含まれるが、これらに限定されない様々な情報を記憶する。いくつかの実施形態では、クラウド・サーバは、明細情報をフィード・バックし、この場合、明細情報には、購買状況、コメント情報、および関連商品の好みが含まれる。1つまたは複数の外部サーバに対するI/Oインターフェース620は、1つまたは複数の外部サービス622(例えば、画像/映像処理のサービス、出版社、および/または他の関連サービス)との通信を容易にする。
クライアント装置604の例には、ハンドヘルド・コンピュータ、ウェアラブル・コンピューティング装置、パーソナル・デジタル・アシスタント(personal digital assistant:PDA)、タブレット・コンピュータ、ラップトップ・コンピュータ、デスクトップ・コンピュータ、セルラ電話、スマート・フォン、拡張型汎用パケット無線サービス(enhanced general packet radio service:EGPRS)モバイル・フォン、メディア・プレーヤ、ナビゲーション装置、ゲーム・コンソール、テレビ、遠隔制御部、またはこれらのデータ処理装置もしくは他のデータ処理装置のうちのいずれか2つ以上の組合せが含まれるが、これらに限定されない。
1つまたは複数のネットワーク610の例には、ローカル・エリア・ネットワーク(local area network:LAN)、およびインターネットなどの広域ネットワーク(wide area network:WAN)が含まれる。1つまたは複数のネットワーク610は、任意選択で、イーサネット、ユニバーサル・シリアル・バス(Universal Serial Bus:USB)、FIREWIRE、Global System for Mobile Communications(GSM)、Enhanced Data GSM Environment(EDGE)、符号分割多元接続(code division multiple access:CDMA)、時分割多元接続(time division multiple access:TDMA)、Bluetooth、Wi−Fi、ボイス・オーバー・インターネット・プロトコル(voice over Internet Protocol:VoIP)、Wi−MAX、もしくは任意の他の適切な通信プロトコルなど、様々なワイヤードまたはワイヤレス・プロトコルを含む、任意の知られているネットワーク・プロトコルを使用して実装される。
サーバ・システム608は、1つまたは複数のスタンドアロン・データ処理機器、またはコンピュータの分散型ネットワークにおいて実装される。いくつかの実施形態では、サーバ・システム608はまた、サーバ・システム608の下層のコンピューティング・リソース、および/またはインフラストラクチャ・リソースを提供するサード・パーティ・サービス・プロバイダ(例えば、サードパーティ・クラウド・サービス・プロバイダ)の様々な仮想装置および/またはサービスを用いる。
図6に示されたサーバ−クライアント環境600は、クライアント側部分(例えば、クライアント側モジュール602)と、サーバ側部分(例えば、サーバ側モジュール606)との両方を含む。いくつかの実施形態では、データ処理は、クライアント装置604においてインストールされたスタンドアロン・アプリケーションとして実装される。加えて、クライアント環境データ処理のクライアント部分とサーバ部分との間の機能の分割は、種々の実施形態で変わる場合がある。例えば、いくつかの実施形態では、クライアント側モジュール602は、ユーザ向きの入力と出力の処理機能しか提供しないシン・クライアントであり、すべての他のデータ処理の機能性をバックエンド・サーバ(例えば、サーバ・システム608)に委ねる。
図7は、いくつかの実施形態によるクライアント装置604のブロック図である。典型的には、クライアント装置604は、1つまたは複数の処理ユニット(CPU)702と、1つまたは複数のネットワーク・インターフェース704と、メモリ706と、(時として、チップセットと呼ばれることもある)これらの構成要素を相互接続するための1つまたは複数の通信バス708とを含む。クライアント装置604は、ユーザ・インターフェース710も含む。ユーザ・インターフェース710は、1つまたは複数のスピーカおよび/あるいは1つまたは複数の視覚的ディスプレイを含む、メディア・コンテンツの提示を可能にする1つまたは複数の出力装置712を含む。ユーザ・インターフェース710はまた、キーボード、マウス、音声コマンド入力ユニットもしくはマイクロフォン、タッチ画面ディスプレイ、タッチセンサ式入力パッド、カメラ、ジェスチャ取込みカメラ、または他の入力ボタンもしくは制御部などのユーザ入力を容易にするユーザ・インターフェース構成要素を含んだ1つまたは複数の入力装置714を含む。さらには、いくつかのクライアント装置604は、マイクロフォンおよび音声認識、またはカメラおよびジェスチャ認識を使用して、キーボードを補完し、またはキーボードに取って代わる。メモリ706は、DRAM、SRAM、DDR RAM、または他のランダム・アクセス固体メモリ装置など、高速ランダム・アクセス・メモリを含み、任意選択で、1つまたは複数の磁気ディスク記憶装置、1つまたは複数の光ディスク記憶装置、1つまたは複数のフラッシュ・メモリ装置、あるいは1つまたは複数の他の不揮発性固体記憶装置など、不揮発性メモリを含む。メモリ706は、任意選択で、1つまたは複数の処理ユニット702と遠隔に配置された1つまたは複数の記憶装置を含む。メモリ706、または代替で、メモリ706内の不揮発性メモリは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ706、またはメモリ706の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを記憶する:
・ 様々な基本システム・サービスを扱うため、およびハードウェアに依存するタスクを行うための手順を含むオペレーティング・システム716、
・ 1つまたは複数のネットワーク・インターフェース704(ワイヤードあるいはワイヤレス)を介して1つまたは複数のネットワーク610に接続されている他のコンピューティング装置(例えば、サーバ・システム608および外部サービス(複数可)622)にクライアント装置604を接続するためのネットワーク通信モジュール718、
・ 1つまたは複数の入力装置714のうちの1つからの1つまたは複数のユーザ入力もしくは相互作用を検出し、検出された入力または相互作用を解釈するための入力処理モジュール722、
・ クライアント装置604による実行(例えば、ゲーム、アプリケーション・マーケットプレイス、決済プラットフォーム、ソーシャル・ネットワーク・プラットフォーム、および/または他のアプリケーション)のための1つまたは複数のアプリケーション726−1〜726−N、ならびに
・ 方法100、200、および300、ならびに/または900のうちのいずれかにより、カメラによってよって取り込まれる画像および/または映像フレームを処理するための映像/画像処理モジュール751を含むが、これに限定されないクライアント側データ処理および機能を提供するクライアント側モジュール/装置モジュール602であって、映像/画像処理モジュール751は、図5で論じられた任意の1つまたは複数のモジュールおよびユニットを含むことができる、クライアント側モジュール/装置モジュール602、ならびに
・ 本出願で論じられた映像/画像処理と関連付けられる様々なデータ(例えば、1つまたは複数の運動大きさ閾値)を記憶しているデータベース760。
上記に特定された要素のそれぞれは、先に述べられたメモリ装置のうちの1つまたは複数に記憶可能であり、上述のある機能を行うための命令の組に対応する。上記に特定されたモジュールまたはプログラム(すなわち、命令の組)は、別個のソフトウェア・プログラム、手順、モジュール、またはデータ構造として実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、組み合わせられても、または別の形で様々な実装形態で構成し直されてもよい。いくつかの実装形態では、メモリ706は、任意選択で、上記に特定されたモジュールとデータ構造とのサブセットを記憶する。さらには、メモリ706は、任意選択で、上述されていない追加のモジュールおよびデータ構造を記憶する。
図8は、いくつかの実施形態によるサーバ・システム608のブロック図である。サーバ・システム608は、典型的には、1つまたは複数の処理ユニット(CPU)812と、(例えば、1つまたは複数のクライアントに対するI/Oインターフェース618および1つまたは複数の外部サービスに対するI/Oインターフェース620を含めた)1つまたは複数のネットワーク・インターフェース804と、メモリ806と、(時として、チップセットと呼ばれることもある)これらの構成要素を相互接続するための1つまたは複数の通信バス808とを含む。メモリ806は、DRAM、SRAM、DDR RAM、または他のランダム・アクセス固体メモリ装置など、高速ランダム・アクセス・メモリを含み、任意選択で、1つまたは複数の磁気ディスク記憶装置、1つまたは複数の光ディスク記憶装置、1つまたは複数のフラッシュ・メモリ装置、あるいは1つまたは複数の他の不揮発性固体記憶装置など、不揮発性メモリを含む。メモリ806は、任意選択で、1つまたは複数の処理ユニット812と遠隔に配置された1つまたは複数の記憶装置を含む。メモリ806、または代替で、メモリ806内の不揮発性メモリは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ806、またはメモリ806の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを記憶する:
・ 様々な基本システム・サービスを扱うため、およびハードウェアに依存するタスクを行うための手順を含むオペレーティング・システム810、
・ 1つまたは複数のネットワーク・インターフェース804(ワイヤードあるいはワイヤレス)を介して1つまたは複数のネットワーク610に接続されている他のコンピューティング装置(例えば、クライアント装置604および外部サービス(複数可)622)にサーバ・システム608を接続するためのネットワーク通信モジュール812、
・ クライアント装置604によってアップロードされる画像および/または映像フレームを処理するための映像/画像処理モジュール838を含むが、これに限定されないソーシャル・ネットワーキング・プラットフォーム(例えば、インスタント・メッセージング、およびソーシャル・ネットワーキング・サービス)のためのサーバ側データ処理を提供するサーバ側モジュール606、
・ 本出願で論じられた映像/画像処理と関連付けられる様々なデータを記憶している1つまたは複数のサーバ・データベース814。
上記に特定された要素のそれぞれは、先に述べられたメモリ装置のうちの1つまたは複数に記憶可能であり、上述のある機能を行うための命令の組に対応する。上記に特定されたモジュールまたはプログラム(すなわち、命令の組)は、別個のソフトウェア・プログラム、手順、またはモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、組み合わせられても、または別の形で様々な実装形態で構成し直されてもよい。いくつかの実装形態では、メモリ806は、任意選択で、上記に特定されたモジュールとデータ構造とのサブセットを記憶する。さらには、メモリ806は、任意選択で、上述されていない追加のモジュールおよびデータ構造を記憶する。
いくつかの実施形態では、サーバ・システム608の機能のうちの少なくともいくつかは、クライアント装置604によって行われ、これらの機能の対応するサブモジュールは、サーバ・システム608ではなく、クライアント装置604内に配置されてよい。いくつかの実施形態では、クライアント装置604の機能のうちの少なくともいくつかは、サーバ・システム608によって行われ、これらの機能の対応するサブモジュールは、クライアント装置604ではなく、サーバ・システム608内に配置されてよい。図7〜図8にそれぞれ示されているクライアント装置604およびサーバ・システム608は、ほんの例示にすぎず、本明細書に記載の機能を実装するためのモジュールの種々の構成は、様々な実施形態で可能である。
図9A〜図9Eは、本出願のいくつかの実施形態によるエンド・デバイス604、例えばモバイル端末における画像識別を行うための方法900の流れ図である。いくつかの実施形態では、方法900は、1つまたは複数のプロセッサと、メモリと、カメラとを備えたエンド・デバイスによって行われる。例えば、いくつかの実施形態では、方法900は、エンド・デバイス604(図6〜図7)、またはそれらの構成要素(例えば、図6〜図7、1つまたは複数の装置モジュール602)によって行われる。いくつかの実施形態では、方法900は、非一時的コンピュータ可読記憶媒体において記憶される命令によって管理され、この命令は、エンド・デバイスの1つまたは複数のプロセッサによって実行される。任意選択の動作は、破線(例えば、破線縁付きボックス)によって示されている。いくつかの実施形態では、方法900の1つまたは複数のステップは、実質的には、図1〜図4に関して論じられた方法100、200、および/または300の1つまたは複数のステップに類似している。
図9Aを参照すると、クライアント装置604は、クライアント装置のカメラによって取り込まれる、少なくとも1つの第1の映像フレームおよび1つの第2の映像フレームを含んだ一連の映像フレームを取得する(902)。いくつかの実施形態では、第1の映像フレームは、第2の映像フレームより前に取り込まれる。いくつかの実施形態では、第1および第2の映像フレームは、リアル・タイムに取り込まれる。
いくつかの実施形態では、クライアント装置604は、一連の映像フレームの各映像フレームと関連付けられた、カメラの個々の運動状態を決定する(904)。いくつかの実施形態では、クライアント装置は、第1の映像フレームおよび第2の映像フレームの運動推定を行うことによって、第2の映像フレームと関連付けられた、カメラの第1の運動状態を決定する。いくつかの実施形態では、クライアント装置は、第1の映像フレーム(例えば、図4の以前の映像フレーム400)の中心ブロック(例えば、図4の中心ブロック410)を検出する(906)。次いで、クライアント装置は、所定のマッチング基準により第1の映像フレームの中心ブロックと一致する第2の映像フレーム(例えば、図4の処理されるべき映像フレーム450)の一致ブロック(例えば、図4の一致ブロック470)を特定する(906)。
いくつかの実施形態では、第2の映像フレームの一致ブロックを特定するために、まず、クライアント装置604は、第2の映像フレームの中心ブロック(例えば、図4の中心ブロック460)を選択し(908)、第2の映像フレームの中心ブロックは、第1の映像フレームの中心ブロックと同一の領域を有する。クライアント装置604は、第2の映像フレームの中心ブロックと第1の映像フレームの中心ブロックとの間の差分値を計算する(908)。いくつかの実施形態では、第2の映像フレームの中心ブロックと第1の映像フレームの中心ブロックとの間の差分値は、以下の式(1)で示される平方誤差の和(S)を使用して計算される。
Figure 0006026680
いくつかの実施形態では、差分値は、任意の他の適切な方法(複数可)を使用して決定されてもよい。
いくつかの実施形態では、次いで、クライアント装置604は、第2の映像フレーム内の1つまたは複数のブロックを選択し(908)、各ブロックは、第2の映像フレームの中心ブロックと同一の領域を有する。次いで、クライアント装置は、第2の映像フレームの選択された1つまたは複数のブロックのそれぞれと第1の映像フレームの中心ブロックとの間の差分値を計算する(908)。クライアント装置は、第1の映像フレームの中心ブロックとの差分値が最も小さい第2の映像フレームの中心ブロックおよび1つまたは複数のブロックのうちの1つを第2の映像フレームの一致ブロックとして特定する(908)。
いくつかの実施形態では、1つまたは複数のブロックは、近似アルゴリズムを使用して第2の映像フレームから選択される。いくつかの実施形態では、近似アルゴリズムは、第2の映像フレームの中心ブロックから第2の映像フレームの周辺領域に向かうサーチングを含む。いくつかの実施形態では、最初は、相対的により大きい類似性(すなわち、より小さいS)を有する領域が特定されるまで、大きいステップ長が、ブロックが移動するたびに使用される。次いで、特定された領域内で、縮小されたステップ長が、最も大きい類似性(すなわち、最も小さいS)を有する領域をサーチするために使用される。最も大きい類似性、したがって最も小さいSを有する一致ブロックを特定するために、本明細書に論じられた1ステップずつの近似が行われる。
いくつかの実施形態では、選択されたブロックおよび/または映像フレームは、正方形、長方形、円形、ひし形、ダイヤモンドなど、任意の他の適した形状を有してもよい。いくつかの実施形態では、式(1)以外の任意の他の適切な式に、本出願で論じられた平方誤差の和S以外が使用されてもよい。いくつかの実施形態では、任意の他の適切なサーチング・アルゴリズムに、近似アルゴリズム以外が使用されてもよい。
図9Bを参照すると、いくつかの実施形態では、クライアント装置は、第2の映像フレームの中心ブロックを始点とし、第2の映像フレームの一致ブロックを終点とする第1の運動ベクトル(例えば、図4のベクトル480)を特定する(910)。いくつかの実施形態では、次いで、クライアント装置は、第1の運動ベクトル(例えば、図4のベクトル480)の大きさが所定の閾値の値より大きいかどうかを決定する(912)。大きさが所定の閾値の値より大きいという決定により、クライアント装置は、カメラの第1の運動状態が個々の移動状態であることを決定する(912)。大きさが所定の閾値の値以下であるという決定により、クライアント装置は、カメラの第1の運動状態が個々の固定状態であることを決定する(912)。
いくつかの実施形態では、クライアント装置は、カメラの第1の運動状態のすぐ後に続くカメラの第2の運動状態を決定する(914)。カメラの第1の運動状態が個々の移動状態であると決定されるとき、クライアント装置は、さらに、第1の所定の運動大きさ閾値の値を選択して、第2の運動状態を決定する(914)。カメラの第1の運動状態が固定状態であると決定されるとき、クライアント装置は、さらに、第2の所定の運動大きさ閾値の値を選択して、第2の運動状態を決定する(914)。いくつかの実施形態では、第1の所定の運動大きさ閾値の値は、第2の所定の運動大きさ閾値の値より大きい。そのため、カメラが移動状態にあるときは、より大きい運動大きさが、その状態を固定状態と決定するために選択される。カメラが固定状態にあるときは、より小さい運動大きさが、その状態を移動状態と決定するために選択される。
図9Cを参照すると、いくつかの実施形態では、クライアント装置は、一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたかどうかを決定する(916)。いくつかの実施形態では、カメラの第1の運動状態が個々の移動状態であると決定されるとき、クライアント装置は、第2の映像フレームの後に続く所定の数の映像フレームを取得する(918)。この所定の数は、ユーザによって選択される、またはカメラ設定によってあらかじめ規定される任意の適切な自然数とすることができる。次いで、クライアント装置は、所定の数の映像フレームのうちの連続した映像フレームのペアごとに運動推定を行うことによって、所定の数の映像フレームのそれぞれを取り込むために、カメラの個々の後続の運動状態を決定する(918)。いくつかの実施形態では、カメラの個々の後続の運動状態のそれぞれが個々の固定状態であるという決定により、クライアント装置は、個々の移動状態から個々の固定状態への状態の遷移をカメラが受けたことを決定する(918)。
いくつかの実施形態では、カメラの第1の運動状態が個々の固定状態であるという決定により、クライアント装置は、さらに、この以下のやり方で、個々の固定状態から個々の移動状態への運動状態の遷移をカメラが受けたかどうかを決定する(920):クライアント装置は、第2の映像フレームの後に続く所定の数の映像フレームを取得する(920)。この所定の数は、ユーザによって選択される、またはカメラ設定によってあらかじめ規定される任意の適切な自然数とすることができる。次いで、クライアント装置は、所定の数の映像フレームのうちの連続した映像フレームのペアごとに運動推定を行うことによって、所定の数の映像フレームのそれぞれを取り込むために、カメラの個々の後続の運動状態を決定する(920)。いくつかの実施形態では、カメラの個々の後続の運動状態のそれぞれが個々の移動状態であるという決定により、クライアント装置は、個々の固定状態から個々の移動状態への状態の遷移をカメラが受けたことを決定する(920)。
図9Dを参照すると、いくつかの実施形態では、一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたという決定により、クライアント装置は、2つの連続した映像フレームのうちの後の方の映像フレームが、所定のアップローディング基準によりアップロードについて有効であるかどうかを決定する(922)。いくつかの実施形態では、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたという決定により、クライアント装置は、後の方の映像フレームにおけるフィーチャ・ポイントの数を数える(924)。いくつかの例では、フィーチャ・ポイントは、コーナ特性を含む。いくつかの実施形態では、フィーチャ・ポイントの数は、FASTコーナ検出アルゴリズム、Harrisコーナ検出アルゴリズム、CHOGコーナ検出アルゴリズム、およびFREAKコーナ検出アルゴリズムなど、任意の適切なアルゴリズムを使用して数えられる。アップロードされることになる映像フレームの品質は、十分な明瞭度を確保するようにこのステップでチェックされ、フレームの十分な細部がサーバ・システムで検出可能である。クライアント装置は、後の方の映像フレームにおけるフィーチャ・ポイントの数が所定の閾値フィーチャ計数より大きいかどうかを決定する(924)。後の方の映像フレームにおけるフィーチャ・ポイントの数が所定のフィーチャ計数より大きいという決定により、クライアント装置は、後の方の映像フレームをシステム・サーバ(例えば、図6および図8、サーバ・システム608)にアップロードする(924)。
いくつかの実施形態では、カメラの第1の運動状態が個々の固定状態であるという決定により、クライアント装置は、第2の映像フレームの後に続く所定の数の映像フレームを取得する(926)。クライアント装置は、所定の数の映像フレームについて、個々の後続の運動ベクトルおよびカメラの個々の後続の運動状態を決定する(926)。いくつかの実施形態では、カメラの個々の後続の運動状態が個々の固定状態であるという決定により、クライアント装置は、個々の後続の運動ベクトルが共通方向を共有するかどうかを決定する(926)。いくつかの実施形態では、個々の後続の運動ベクトルが共通方向を共有するという決定により、クライアント装置は、個々の後続の運動ベクトルの個々の大きさが第3の大きさ閾値の値よりすべて大きいかどうかを決定する(926)。個々の後続の運動ベクトルの個々の大きさが第3の所定の大きさ閾値よりすべて大きいという決定により、クライアント装置は、微小運動と関連付けられた個々の移動状態にカメラの最新の運動状態を変更する(926)。いくつかの実施形態では、異なる運動ベクトルの方向の主な成分が位置合わせするときに、個々の後続の運動ベクトルが共通方向を共有することをクライアント装置が決定すれば十分である。いくつかの実施形態では、第3の大きさ閾値の値は、相対的に小さい値であって(例えば、第1および第2の大きさ閾値の値より小さくて)よく、より小さい第3の大きさ閾値が選択されるとき、より多数の映像フレームが取得するようにあらかじめ定められる。
図9Eを参照すると、いくつかの実施形態では、カメラの第1の運動状態が個々の固定状態であるという決定により、クライアント装置は、第2の映像フレームの後に続く所定の数の映像フレームを取得する(928)。例えば、クライアント装置は、第2の映像フレームの後に続く5つの連続した映像フレームを取得する。次いで、クライアント装置は、所定の数の映像フレームについて、個々の後続の運動ベクトルおよびカメラの個々の後続の運動状態を決定する(928)。カメラの個々の後続の運動状態が個々の固定状態であるという決定により、クライアント装置は、個々の後続の運動ベクトルが共通方向を共有するかどうかを決定する(928)。個々の後続の運動ベクトルが共通方向を共有するという決定により、クライアント装置は、個々の後続の運動ベクトルの個々の大きさの合計が第4の大きさ閾値の値より大きいかどうかを決定する(928)。いくつかの実施形態では、第4の大きさ閾値の値は、ステップ926で論じられた第3の大きさ閾値の値より大きい。いくつかの実施形態では、第4の大きさ閾値は、本出願の初めの方で論じられた第1または第2の大きさ閾値の値より大きい、あるいは第1または第2の大きさ閾値の値と同等である。個々の後続の運動ベクトルの個々の大きさの合計が第4の所定の大きさ閾値より大きいという決定により、クライアント装置は、微小運動と関連付けられた個々の移動状態にカメラの最新の運動状態を変更する(928)。
いくつかの実施形態では、カメラの第1の運動状態が個々の固定状態であるという決定により、クライアント装置は、第2の映像フレームの後に複数の連続した映像フレームを取得する(930)。次いで、クライアント装置は、複数の映像フレームのうちの連続した映像フレームの各ペアの個々の運動ベクトルが反対方向を有するかどうかを決定する(930)。複数の映像フレームのうちの連続した映像フレームの各ペアの個々の運動ベクトルが反対方向を有するという決定により、クライアント装置は、運動大きさに基づいた個々の固定状態から個々の移動状態にカメラの運動状態を変更することを差し止めする(930)。いくつかの実施形態では、この運動状態は、手ぶれと関連付けられた個々の固定状態と見なされる。いくつかの実施形態では、連続した運動ベクトルが同じ方向を有すると検出されるときまで、手ぶれが存在するときには、カメラの状態は固定であると考えられ、次いで、クライアント装置は、本出願の様々な実施形態の初めの方で論じられたベクトルの大きさを使用してカメラの状態を決定する。
本開示は、本明細書に記載の方法を実行するようにマシンをイネーブルにする命令を記憶するマシン可読記憶媒体をさらに提供する。具体的には、記憶媒体が備えられたシステムまたは機器が提供可能であり、前述の実施形態における任意の実施形態の機能を実装するためのソフトウェア・プログラム・コードが記憶媒体に記憶され、システムまたは機器のコンピュータ(またはCPUもしくはMPU)が、記憶媒体に記憶されたプログラム・コードを読み取り、実行するようにイネーブルにされる。加えて、コンピュータにおいて動作されるオペレーティング・システムが、実際の動作の一部またはすべてを行うようにプログラム・コードに基づいた命令に従ってさらにイネーブル可能である。さらには、記憶媒体から読み取られたプログラム・コードは、コンピュータに挿入された拡張ボードに設置されたメモリに書込み可能であり、またはコンピュータに接続された拡張ユニットに配置されたメモリに書込み可能であり、次いで、拡張ボードまたは拡張ユニットにおいて配置されたCPUは、実際の動作の一部またはすべてを行うようにプログラム・コードの命令に基づいてイネーブルにされて、前述の実施形態における任意の実施形態の機能を実装する。
プログラム・コードを提供するのに使用される記憶媒体の実施形態は、フロッピ・ディスク、ハード・ディスク、光磁気ディスク、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、およびDVD+RWなどの)、磁気テープ、不揮発性メモリ・カード、ならびにROMを含む。任意選択で、通信ネットワークが、プログラム・コードをサーバ・コンピュータからダウンロードするのに使用されてもよい。
特定の実施形態が上記に説明されているが、本出願をこれらの特定の実施形態に限定するように意図されていないことは理解されよう。それどころか、本出願は、添付の特許請求の範囲の趣旨および範囲内にある代替形態、修正形態、および均等形態を含む。多数の具体的な詳細が、本明細書に提示された主題の完全な理解を提供するために示されている。しかし、主題がこれらの具体的な詳細なしでも実施可能であることは、当業者には明らかになろう。他の例では、よく知られている方法、手順、構成要素、および回路は、実施形態の態様を不必要に曖昧にしないように、詳細には説明されていない。
様々な図面の一部が特定の順序でいくつかの論理段階を示しているが、順序依存性でない段階が並べ替えられてもよく、他の段階が組み合わされても、または出現してもよい。いくつかの並び替えまたは他のグループ分けが具体的に述べられているが、他も当業者には明らかになるであろう故、代替形態の包括的な一覧を提示していない。その上、段階は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組合せで実装可能になることを認識されたい。
説明の目的で、前述の記載は、具体的な実施形態に関して説明されている。しかしながら、上記の例示的な論考は、包括的であるとも、または本出願を開示された正確な形態に限定するようにも意図されていない。多くの修正形態および変形形態が上記の教示に照らして可能である。諸実施形態は、本出願の原理およびその実際の適用例を最良に説明するために選択され、記載されたものであり、それによって、当業者は、企図された特定の使用に適している様々な修正形態を用いて本出願および様々な実施形態を最良に利用することが可能になる。

Claims (20)

  1. 画像を処理する方法であって、
    1つまたは複数のプロセッサと、メモリと、カメラとを有する装置で、
    前記カメラによって取り込まれる、少なくとも1つの第1の映像フレームおよび1つの第2の映像フレームを含んだ一連の映像フレームを取得することであって、前記第1の映像フレームは、前記第2の映像フレームより前に取り込まれる、一連の映像フレームを取得することと、
    前記第1の映像フレームおよび前記第2の映像フレームの運動推定を行うことによって前記第2の映像フレームと関連付けられた、前記カメラの第1の運動状態を決定することを含んで、前記一連の映像フレームの各映像フレームと関連付けられた、前記カメラの個々の運動状態を決定することと、
    前記一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移を前記カメラが受けたかどうかを決定することと、
    前記一連の映像フレームのうちの前記2つの連続した映像フレームを取り込む間に、前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移を前記カメラが受けたという決定により、前記2つの連続した映像フレームのうちの後の方の映像フレームが、所定のアップローディング基準によりアップロードについて有効であるかどうかを決定することと
    を含む方法。
  2. 前記運動推定を行うことは、
    前記第1の映像フレームの中心ブロックを検出することと、
    前記第2の映像フレームにおいて、所定のマッチング基準により前記第1の映像フレームの前記中心ブロックと一致する前記第2の映像フレームの一致ブロックを特定することと
    を含む、請求項1に記載の方法。
  3. 前記第2の映像フレームの前記一致ブロックを特定することは、
    前記第1の映像フレームの前記中心ブロックと同一の領域を有する前記第2の映像フレームの中心ブロックを選択することと、
    前記第2の映像フレームの前記中心ブロックと前記第1の映像フレームの前記中心ブロックとの間の差分値を計算することと、
    前記第2の映像フレーム内の1つまたは複数のブロックを選択することであって、前記1つまたは複数のブロックのそれぞれは、前記第2の映像フレームの前記中心ブロックと同一の領域を有し、前記1つまたは複数のブロックは、近似アルゴリズムを使用して前記第2の映像フレームから選択される、1つまたは複数のブロックを選択することと、
    前記第2の映像フレームの前記1つまたは複数のブロックのそれぞれと前記第1の映像フレームの前記中心ブロックとの間の差分値を計算することと、
    前記第1の映像フレームの前記中心ブロックとの差分値が最も小さい前記第2の映像フレームの前記中心ブロックおよび前記1つまたは複数のブロックのうちの1つを、前記第2の映像フレームの前記一致ブロックとして特定することと
    を含む、請求項2に記載の方法。
  4. 前記運動推定を行うことは、
    前記第2の映像フレームの前記中心ブロックを始点とし、前記第2の映像フレームの前記一致ブロックを終点とする第1の運動ベクトルを特定すること
    をさらに含む、請求項2に記載の方法。
  5. 前記第2の映像フレームと関連付けられた、前記カメラの前記第1の運動状態を決定することは、
    前記第1の運動ベクトルの大きさが所定の閾値の値より大きいかどうかを決定することと、
    前記大きさが前記所定の閾値の値より大きいという決定により、前記カメラの前記第1の運動状態が個々の移動状態であることを決定することと、
    前記大きさが前記所定の閾値の値以下であるという決定により、前記カメラの前記第1の運動状態が個々の固定状態であることを決定することと
    を含む、請求項4に記載の方法。
  6. 前記一連の映像フレームの各映像フレームと関連付けられた、前記カメラの前記個々の運動状態を決定することは、
    前記カメラの前記第1の運動状態のすぐ後に続く前記カメラの第2の運動状態を決定することをさらに含み、
    前記カメラの前記第1の運動状態が個々の移動状態であると決定されるとき、前記カメラの前記第2の運動状態を決定することは、第1の所定の運動大きさ閾値の値を選択して、前記第2の運動状態を決定することをさらに含み、
    前記カメラの前記第1の運動状態が固定状態であると決定されるとき、前記カメラの前記第2の運動状態を決定することは、第2の所定の運動大きさ閾値の値を選択して、前記第2の運動状態を決定することをさらに含み、
    前記第1の所定の運動大きさ閾値の値は、前記第2の所定の運動大きさ閾値の値より大きい、
    請求項5に記載の方法。
  7. 前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移を前記カメラが受けたかどうかを決定することは、
    前記カメラの前記第1の運動状態が個々の移動状態であるという決定により、
    前記第2の映像フレームの後に続く所定の数の映像フレームを取得することと、
    前記所定の数の映像フレームのうちの連続した映像フレームのペアごとに前記運動推定を行うことによって、前記所定の数の映像フレームのそれぞれを取り込むために、前記カメラの個々の後続の運動状態を決定することと、
    前記カメラの前記個々の後続の運動状態のそれぞれが個々の固定状態であるという決定により、前記個々の移動状態から前記個々の固定状態への状態の前記遷移を前記カメラが受けたことを決定することと
    をさらに含む、請求項5に記載の方法。
  8. 前記個々の固定状態から個々の移動状態への運動状態の前記遷移を前記カメラが受けたかどうかを決定することは、
    前記カメラの前記第1の運動状態が個々の固定状態であるという決定により、
    前記第2の映像フレームの後に続く所定の数の映像フレームを取得することと、
    前記所定の数の映像フレームのうちの連続した映像フレームのペアごとに前記運動推定を行うことによって、前記所定の数の映像フレームのそれぞれを取り込むために、前記カメラの個々の後続の運動状態を決定することと、
    前記カメラの前記個々の後続の運動状態のそれぞれが個々の移動状態であるという決定により、前記個々の固定状態から前記個々の移動状態への状態の前記遷移を前記カメラが受けたことを決定することと
    をさらに含む、請求項1に記載の方法。
  9. 前記後の方の映像フレームが、前記所定のアップローディング基準によりアップロードについて有効であるかどうかを決定することは、
    前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移を前記カメラが受けたという決定により、
    前記後の方の映像フレームにおけるフィーチャ・ポイントの数を数えることと、
    前記後の方の映像フレームにおける前記フィーチャ・ポイントの前記数が所定の閾値フィーチャ計数より大きいかどうかを決定することと、
    前記後の方の映像フレームにおけるフィーチャ・ポイントの前記数が前記所定のフィーチャ計数より大きいという決定により、前記後の方の映像フレームをシステム・サーバにアップロードすることと
    をさらに含む、請求項1に記載の方法。
  10. 前記カメラの前記第1の運動状態が個々の固定状態であるという決定により、
    前記第2の映像フレームの後に続く所定の数の映像フレームを取得することと、
    前記所定の数の映像フレームについて、個々の後続の運動ベクトルおよび前記カメラの個々の後続の運動状態を決定することと、
    前記カメラの前記個々の後続の運動状態が個々の固定状態であるという決定により、前記個々の後続の運動ベクトルが共通方向を共有するかどうかを決定することと、
    前記個々の後続の運動ベクトルが前記共通方向を共有するという決定により、前記個々の後続の運動ベクトルの個々の大きさが第3の大きさ閾値の値よりすべて大きいかどうかを決定することと、
    前記個々の後続の運動ベクトルの前記個々の大きさが前記第3の所定の大きさ閾値よりすべて大きいという決定により、微小運動と関連付けられた個々の移動状態に前記カメラの最新の運動状態を変更することと
    をさらに含む、請求項1に記載の方法。
  11. 前記カメラの前記第1の運動状態が個々の固定状態であるという決定により、
    前記第2の映像フレームの後に続く所定の数の映像フレームを取得することと、
    前記所定の数の映像フレームについて、個々の後続の運動ベクトルおよび前記カメラの個々の後続の運動状態を決定することと、
    前記カメラの前記個々の後続の運動状態が個々の固定状態であるという決定により、前記個々の後続の運動ベクトルが共通方向を共有するかどうかを決定することと、
    前記個々の後続の運動ベクトルが前記共通方向を共有するという決定により、前記個々の後続の運動ベクトルの個々の大きさの合計が第4の大きさ閾値の値より大きいかどうかを決定することと、
    前記個々の後続の運動ベクトルの前記個々の大きさの前記合計が前記第4の所定の大きさ閾値より大きいという決定により、微小運動と関連付けられた個々の移動状態に前記カメラの最新の運動状態を変更することと
    をさらに含む、請求項1に記載の方法。
  12. 前記カメラの前記第1の運動状態が個々の固定状態であるという決定により、
    前記第2の映像フレームの後に複数の連続した映像フレームを取得することと、
    前記複数の前記映像フレームのうちの連続した映像フレームの各ペアの個々の運動ベクトルが反対方向を有するかどうかを決定することと、
    前記複数の映像フレームのうちの連続した映像フレームの各ペアの前記個々の運動ベクトルが反対方向を有するという決定により、運動大きさに基づいた前記個々の固定状態から個々の移動状態への前記カメラの運動状態の変更を差し止めすることと
    をさらに含む、請求項1に記載の方法。
  13. 1つまたは複数のプロセッサと、
    カメラと、
    前記1つまたは複数のプロセッサによって実行されることになる1つまたは複数のプログラムを記憶するメモリと
    を備える電子装置であって、前記1つまたは複数のプログラムは、
    前記カメラによって取り込まれる、少なくとも1つの第1の映像フレームおよび1つの第2の映像フレームを含んだ一連の映像フレームを取得することであって、前記第1の映像フレームは、前記第2の映像フレームより前に取り込まれる、一連の映像フレームを取得することと、
    前記第1の映像フレームおよび前記第2の映像フレームの運動推定を行うことによって前記第2の映像フレームと関連付けられた、前記カメラの第1の運動状態を決定することを含んで、前記一連の映像フレームの各映像フレームと関連付けられた、前記カメラの個々の運動状態を決定することと、
    前記一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移を前記カメラが受けたかどうかを決定することと、
    前記一連の映像フレームのうちの前記2つの連続した映像フレームを取り込む間に、前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移を前記カメラが受けたという決定により、前記2つの連続した映像フレームのうちの後の方の映像フレームが、所定のアップローディング基準によりアップロードについて有効であるかどうかを決定することと
    のための命令を含む、電子装置。
  14. 前記運動推定を行うことは、
    前記第1の映像フレームの中心ブロックを検出することと、
    前記第2の映像フレームにおいて、所定のマッチング基準により前記第1の映像フレームの前記中心ブロックと一致する前記第2の映像フレームの一致ブロックを特定することと
    を含む、請求項13に記載の電子装置。
  15. 前記運動推定を行うことは、
    前記第2の映像フレームの中心ブロックを始点とし、前記第2の映像フレームの前記一致ブロックを終点とする第1の運動ベクトルを特定することと、
    前記第1の運動ベクトルの大きさが所定の閾値の値より大きいかどうかを決定することと、
    前記大きさが前記所定の閾値の値より大きいという決定により、前記カメラの前記第1の運動状態が個々の移動状態であることを決定することと、
    前記大きさが前記所定の閾値の値以下であるという決定により、前記カメラの前記第1の運動状態が個々の固定状態であることを決定することと
    を含む、請求項14に記載の電子装置。
  16. 前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移を前記カメラが受けたかどうかを決定することは、
    前記カメラの前記第1の運動状態が個々の移動状態であるという決定により、
    前記第2の映像フレームの後に続く所定の数の映像フレームを取得することと、
    前記所定の数の映像フレームのうちの連続した映像フレームのペアごとに前記運動推定を行うことによって、前記所定の数の映像フレームのそれぞれを取り込むために、前記カメラの個々の後続の運動状態を決定することと、
    前記カメラの前記個々の後続の運動状態のそれぞれが個々の固定状態であるという決定により、前記個々の移動状態から前記個々の固定状態への状態の前記遷移を前記カメラが受けたことを決定することと
    をさらに含む、請求項15に記載の電子装置。
  17. 1つまたは複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つまたは複数のプログラムは、命令を含み、前記命令は、1つまたは複数のプロセッサおよびディスプレイを備えた電子装置によって実行されると、前記装置に、
    カメラによって取り込まれる、少なくとも1つの第1の映像フレームおよび1つの第2の映像フレームを含む一連の映像フレームを取得することであって、前記第1の映像フレームは、前記第2の映像フレームより前に取り込まれる、一連の映像フレームを取得することと、
    前記第1の映像フレームおよび前記第2の映像フレームの運動推定を行うことによって前記第2の映像フレームと関連付けられた、カメラの第1の運動状態を決定することを含んで、前記一連の映像フレームの各映像フレームと関連付けられた、カメラの個々の運動状態を決定することと、
    前記一連の映像フレームのうちの2つの連続した映像フレームを取り込む間に、個々の移動状態から個々の固定状態への運動状態の遷移をカメラが受けたかどうかを決定することと、
    前記一連の映像フレームのうちの前記2つの連続した映像フレームを取り込む間に、前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移をカメラが受けたという決定により、前記2つの連続した映像フレームのうちの後の方の映像フレームが、所定のアップローディング基準によりアップロードについて有効であるかどうかを決定することと
    を含む動作を行わせる、非一時的コンピュータ可読記憶媒体。
  18. 前記運動推定を行うことは、
    前記第1の映像フレームの中心ブロックを検出することと、
    前記第2の映像フレームにおいて、所定のマッチング基準により前記第1の映像フレームの前記中心ブロックと一致する前記第2の映像フレームの一致ブロックを特定することと
    を含む、請求項17に記載の非一時的コンピュータ可読記憶媒体。
  19. 前記運動推定を行うことは、
    前記第2の映像フレームの中心ブロックを始点とし、前記第2の映像フレームの前記一致ブロックを終点とする第1の運動ベクトルを特定することと、
    前記第1の運動ベクトルの大きさが所定の閾値の値より大きいかどうかを決定することと、
    前記大きさが前記所定の閾値の値より大きいという決定により、カメラの前記第1の運動状態が個々の移動状態であることを決定することと、
    前記大きさが前記所定の閾値の値以下であるという決定により、カメラの前記第1の運動状態が個々の固定状態であることを決定することと
    を含む、請求項18に記載の非一時的コンピュータ可読記憶媒体。
  20. 前記個々の移動状態から前記個々の固定状態への運動状態の前記遷移をカメラが受けたかどうかを決定することは、
    カメラの前記第1の運動状態が個々の移動状態であるという決定により、
    前記第2の映像フレームの後に続く所定の数の映像フレームを取得することと、
    前記所定の数の映像フレームの連続した映像フレームのペアごとに前記運動推定を行うことによって、前記所定の数の映像フレームのそれぞれを取り込むために、カメラの個々の後続の運動状態を決定することと、
    カメラの前記個々の後続の運動状態のそれぞれが個々の固定状態であるという決定により、前記個々の移動状態から前記個々の固定状態への状態の前記遷移をカメラが受けたことを決定することと
    をさらに含む、請求項19に記載の非一時的コンピュータ可読記憶媒体。
JP2015563118A 2013-09-18 2014-09-10 画像識別を行うための方法およびシステム Active JP6026680B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310428930.2A CN104144345B (zh) 2013-09-18 2013-09-18 在移动终端进行实时图像识别的方法及该移动终端
CN201310428930.2 2013-09-18
PCT/CN2014/086171 WO2015039575A1 (en) 2013-09-18 2014-09-10 Method and system for performing image identification

Publications (2)

Publication Number Publication Date
JP6026680B1 true JP6026680B1 (ja) 2016-11-16
JP2016537692A JP2016537692A (ja) 2016-12-01

Family

ID=51853403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015563118A Active JP6026680B1 (ja) 2013-09-18 2014-09-10 画像識別を行うための方法およびシステム

Country Status (6)

Country Link
JP (1) JP6026680B1 (ja)
CN (1) CN104144345B (ja)
HK (1) HK1200623A1 (ja)
SA (1) SA114350742B1 (ja)
TW (1) TWI522930B (ja)
WO (1) WO2015039575A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428180B2 (ja) 2019-04-18 2024-02-06 日本電気硝子株式会社 保護シート切断装置及びガラス基板梱包体の製造方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460556A (zh) * 2017-09-06 2019-03-12 北京搜狗科技发展有限公司 一种翻译方法和装置
CN108229391B (zh) 2018-01-02 2021-12-24 京东方科技集团股份有限公司 手势识别装置及其服务器、手势识别***、手势识别方法
WO2019177906A1 (en) 2018-03-11 2019-09-19 Google Llc Static video recognition
CN110443794B (zh) * 2019-05-29 2020-12-18 腾讯科技(深圳)有限公司 一种基于病理图像的图像状态确定方法、装置以及***
CN110782647A (zh) * 2019-11-06 2020-02-11 重庆神缘智能科技有限公司 基于图像识别的智能抄表***
CN110929093B (zh) * 2019-11-20 2023-08-11 百度在线网络技术(北京)有限公司 用于搜索控制的方法、装置、设备和介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4636786B2 (ja) * 2003-08-28 2011-02-23 カシオ計算機株式会社 撮影画像投影装置、撮影画像投影装置の画像処理方法及びプログラム
US7705884B2 (en) * 2004-07-21 2010-04-27 Zoran Corporation Processing of video data to compensate for unintended camera motion between acquired image frames
JP2007096532A (ja) * 2005-09-27 2007-04-12 Canon Inc 画像蓄積装置及び画像蓄積システム
US8896712B2 (en) * 2007-07-20 2014-11-25 Omnivision Technologies, Inc. Determining and correcting for imaging device motion during an exposure
EP2187380A4 (en) * 2007-09-14 2011-05-04 Sharp Kk IMAGE DISPLAY AND IMAGE DISPLAY METHOD
JP4492724B2 (ja) * 2008-03-25 2010-06-30 ソニー株式会社 画像処理装置、画像処理方法、プログラム
US8508605B2 (en) * 2009-10-14 2013-08-13 Csr Technology Inc. Method and apparatus for image stabilization
JP5583992B2 (ja) * 2010-03-09 2014-09-03 パナソニック株式会社 信号処理装置
CN102447870A (zh) * 2010-09-30 2012-05-09 宝利微电子***控股公司 静止物体检测方法和运动补偿装置
CN102521979B (zh) * 2011-12-06 2013-10-23 北京万集科技股份有限公司 基于高清摄像机进行路面事件检测的方法及***
CN102609957A (zh) * 2012-01-16 2012-07-25 上海智觉光电科技有限公司 一种摄像装置画面偏移检测方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428180B2 (ja) 2019-04-18 2024-02-06 日本電気硝子株式会社 保護シート切断装置及びガラス基板梱包体の製造方法

Also Published As

Publication number Publication date
HK1200623A1 (en) 2015-08-07
JP2016537692A (ja) 2016-12-01
TW201512996A (zh) 2015-04-01
TWI522930B (zh) 2016-02-21
CN104144345B (zh) 2016-08-17
CN104144345A (zh) 2014-11-12
WO2015039575A1 (en) 2015-03-26
SA114350742B1 (ar) 2015-08-30

Similar Documents

Publication Publication Date Title
JP6026680B1 (ja) 画像識別を行うための方法およびシステム
CN108885639B (zh) 内容集合导航和自动转发
US11789582B2 (en) Content collection navigation queue
US9210327B2 (en) Blur aware photo feedback
CN109495686B (zh) 拍摄方法及设备
US11304032B2 (en) Method and system for determining location of mobile device
EP3158825B1 (en) Media processing services on an access node
EP2633474A1 (en) A face data acquirer, end user video conference device, server, method, computer program and computer program product for extracting face data
KR20140045897A (ko) 시각적 이미지 매칭을 기반으로 한 미디어 스트림 식별 장치 및 방법
JP2015523018A (ja) キャプチャされたデータの強化
CN111386547A (zh) 具有选择退出插播式广告的媒体集合导航
US10432853B2 (en) Image processing for automatic detection of focus area
KR20160095058A (ko) 카메라 모션에 의해 손상된 비디오 프레임의 처리
CN112994980B (zh) 时延测试方法、装置、电子设备和存储介质
WO2021190625A1 (zh) 拍摄方法和设备
US20130222621A1 (en) Information processing apparatus, terminal apparatus, image capturing apparatus, information processing method, and information provision method for an image capturing apparatus
CN112380929A (zh) 一种高光片段的获取方法、装置、电子设备和存储介质
CN107733874B (zh) 信息处理方法、装置、计算机设备和存储介质
US10924637B2 (en) Playback method, playback device and computer-readable storage medium
US9154805B2 (en) Video and image compression based on position of the image generating device
WO2016192467A1 (zh) 一种播放视频的方法及装置
CN111274925A (zh) 推荐视频的生成方法、装置、电子设备及计算机存储介质
US10282633B2 (en) Cross-asset media analysis and processing
CN111314627B (zh) 用于处理视频帧的方法和装置
CN110413817B (zh) 用于对图片进行聚类的方法和设备

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160912

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161012

R150 Certificate of patent or registration of utility model

Ref document number: 6026680

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250