(57)【要約】【解決手段】形状検知のためにコンピュータ記憶媒体にコード化したコンピュータプログラムを含む方法、システムおよび装置を開示する。１つの態様では、方法は、所定のスケールかつ所定の向きである所定の形状を含む形状モデルを生成する動作を含む。この動作はさらに、画像を受信することを含む。この動作はさらに、形状モデルの辺に平行で、かつ形状モデルの辺から所定距離にあるエッジを識別することを含む。この動作はさらに、形状モデルと同様の形状のエッジに該当すると思われる複数のエッジを選択することを含む。この動作はさらに、複数のエッジと、形状モデルと同様の複数の形状の１つ１つの形状との適合スコアを決定することを含む。この動作はさらに、形状モデルに最も厳密に適合している画像内の特定の形状を識別することを含む。【選択図】図１
2019517079.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実施される方法であって、
所定のスケールかつ所定の向きである所定の形状を含む形状モデルを生成すること、
画像を受信すること、
前記画像内において前記形状モデルの各辺に対して、前記形状モデルの辺に平行で、かつ前記形状モデルの辺から所定距離にあるエッジを識別すること、
前記識別したエッジの中から、コントラストが最も強い複数のエッジを選択すること、
前記複数のエッジと、前記形状モデルと同様の複数の形状の１つ１つの形状との適合スコアを決定すること、および、
各適合スコアに基づいて、前記複数の形状の中から、前記形状モデルに最も厳密に適合している特定の形状を識別すること、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、
前記形状モデルおよび前記特定の形状は、同数のエッジを有する、方法。
【請求項３】
請求項１に記載の方法であって、
前記形状モデルの辺からの前記所定距離は、所定数の画素である、方法。
【請求項４】
請求項１に記載の方法であって、
前記形状モデルに最も厳密に適合している前記画像内の特定の形状を識別することは、適合スコアが最も高い前記特定の形状を識別することを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記画像内において前記形状モデルの各辺に対して、前記形状モデルの辺に平行で、かつ前記形状モデルの辺から所定距離にあるエッジを識別することは、前記エッジを所定の画素間隔で識別することを含む、方法。
【請求項６】
請求項１に記載の方法であって、
前記形状モデルは、直線状のエッジを有する、方法。
【請求項７】
請求項１に記載の方法であって、
前記識別したエッジの中から、コントラストが最も強い複数のエッジを選択することは、前記識別したエッジの中で最も大きい勾配を有する前記複数のエッジを選択することを含む、方法。
【請求項８】
１つ以上のコンピュータ、および、
前記１つ以上のコンピュータによって実行されたときに、前記１つ以上のコンピュータに動作を実施させるように操作可能な命令を保存している、１つ以上の記憶装置、
を備えているシステムであって、
前記動作は、
所定のスケールかつ所定の向きである所定の形状を含む形状モデルを生成すること、
画像を受信すること、
前記画像内において前記形状モデルの各辺に対して、前記形状モデルの辺に平行で、かつ前記形状モデルの辺から所定距離にあるエッジを識別すること、
前記識別したエッジの中から、コントラストが最も強い複数のエッジを選択すること、
前記複数のエッジと、前記形状モデルと同様の複数の形状の１つ１つの形状との適合スコアを決定すること、および、
各適合スコアに基づいて、前記複数の形状の中から、前記形状モデルに最も厳密に適合している特定の形状を識別すること、
を含む、システム。
【請求項９】
請求項８に記載のシステムであって、
前記形状モデルおよび前記特定の形状は、同数のエッジを有する、システム。
【請求項１０】
請求項８に記載のシステムであって、
前記形状モデルの辺からの前記所定距離は、所定数の画素である、システム。
【請求項１１】
請求項８に記載のシステムであって、
前記形状モデルに最も厳密に適合している前記画像内の特定の形状を識別することは、適合スコアが最も高い前記特定の形状を識別することを含む、システム。
【請求項１２】
請求項８に記載のシステムであって、
前記画像内において前記形状モデルの各辺に対して、前記形状モデルの辺に平行で、かつ前記形状モデルの辺から所定距離にあるエッジを識別することは、前記エッジを所定の画素間隔で識別することを含む、システム。
【請求項１３】
請求項８に記載のシステムであって、
前記形状モデルは、直線状のエッジを有する、システム。
【請求項１４】
請求項８に記載のシステムであって、
前記識別したエッジの中から、コントラストが最も強い複数のエッジを選択することは、前記識別したエッジの中で最も大きい勾配を有する前記複数のエッジを選択することを含む、システム。
【請求項１５】
１つ以上のコンピュータによって実行可能な命令を含むソフトウェアを格納している非一時的なコンピュータ可読媒体であって、前記命令は、実行時に前記１つ以上のコンピュータに動作を実施させる、非一時的なコンピュータ可読媒体において、
前記動作は、
所定のスケールかつ所定の向きである所定の形状を含む形状モデルを生成すること、
画像を受信すること、
前記画像内において前記形状モデルの各辺に対して、前記形状モデルの辺に平行で、かつ前記形状モデルの辺から所定距離にあるエッジを識別すること、
前記識別したエッジの中から、コントラストが最も強い複数のエッジを選択すること、
前記複数のエッジと、前記形状モデルと同様の複数の形状の１つ１つの形状との適合スコアを決定すること、および、
各適合スコアに基づいて、前記複数の形状の中から、前記形状モデルに最も厳密に適合している特定の形状を識別すること
を含む、非一時的なコンピュータ可読媒体。
【請求項１６】
請求項８に記載のシステムであって、
前記形状モデルおよび前記特定の形状は、同数のエッジを有する、システム。
【請求項１７】
請求項８に記載のシステムであって、
前記形状モデルの辺からの前記所定距離は、所定数の画素である、システム。
【請求項１８】
請求項８に記載のシステムであって、
前記形状モデルに最も厳密に適合している前記画像内の特定の形状を識別することは、適合スコアが最も高い前記特定の形状を識別することを含む、システム。
【請求項１９】
請求項８に記載のシステムであって、
前記画像内において前記形状モデルの各辺に対して、前記形状モデルの辺に平行で、かつ前記形状モデルの辺から所定距離にあるエッジを識別することは、前記エッジを所定の画素間隔で識別することを含む、システム。
【請求項２０】
請求項８に記載のシステムであって、
前記形状モデルは、直線状のエッジを有する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本明細書は、２０１６年５月２４日に出願された米国特許明細書第６２／３４０，９１５号の優先権を主張し、本文献を参照して本願に援用する。
【０００２】
本明細書は、画像内の形状検知に関する。
【背景技術】
【０００３】
形状、または対象物の認識は、画像または映像の連なりの中から対象物を見つけて識別するコンピュータビジョン技術である。対象物の画像は、異なる視点で、多くの異なるサイズおよび規模で、または画像が平行移動したり回転したりしたときでさえ、いくらか変化することがあるにもかかわらず、人間は画像内の多数の対象物をほとんど苦労することなく認識する。人間は、視界から一部が遮られている対象物を認識することさえできる。この作業はコンピュータ視覚システムにとっては依然として困難である。
【発明の概要】
【０００４】
本明細書に記載の主題は、デジタル画像内の推定幾何学形状を検知し記録することに関する。いくつかの実施形態では、推定幾何学形状を検知し記録することは、一般的なハフ変換を含んでいてよい。この実施形態は、形状を描写するパラメータのヒストグラムを取り入れることに基づいている。可能な各パラメータにはビンがあり、画像内の各画素を検査して各々のビンに寄与しているかどうかを見る。これには、画素が多いとき、または形状を定義するパラメータが多いときのいずれの場合でも、パフォーマンスが遅くなるという問題がある。また、ビンを使用するという離散性にも問題があり、これによって解決策が見当たらなくなるおそれがある。
【０００５】
さらに、この手法は、形状の歪みにはあまり許容性がないことがある。特に、システムは、三次元空間で取り込まれた２Ｄ形状の投影を検知しなければならない。姿勢および遠近感の変化が生じることでハフ法のパフォーマンスが低下する。いくつかの実施形態では、この手法は、形状検知を導くための「ヒント」または期待の解決策にはならない。
【０００６】
以下に記載した形状検知システムは、画像にノイズがある場合でも形状を迅速に識別する。本システムは、形状の遠近歪みに許容性があってよく、高速で処理しやすくするためにその形状の位置での最初の推測で開始できる。
【０００７】
本形状検知システムは、（例えば携帯電話の）カメラから運転免許証の画像を取り込み、カードの境界を検知し、カードの輪郭を記録するという特徴を含んでいる。次の動作は、遠近感およびカメラ歪みを除去して画像を規格化し、書類を認証し、かつ／またはカード上で光学文字認識を実行するための画像ワープである。
【０００８】
画像から二次元の幾何学形状を検知する方法は、以下の動作を含む。第１の動作は、所定の形状を、検出しようとする所望の形状の予想される平均スケールおよび向きに作成することである。これは形状モデルである。第２の動作は、デジタル画像を取得することである。第３の動作は、形状モデルに平行なエッジを、形状に対して垂直な所定距離内で、形状の境界に沿った間隔で計算することである。第４の動作は、各間隔での最も強いエッジを検査用に保存することである。第５の動作は、形状候補および形状に予想される全変形型を、保存したエッジ点に対して適合させ、もっともらしい適合を決定し、形状候補として返すことである。いくつかの実施形態では、エッジが直線状（例えば長方形）の形状では、各線分を最初の４つの動作を用いて別々に適合させ、その後、第５の動作およびステップＡ〜Ｄを用いて１つの線を適合させ、その後、ランダムサンプルコンセンサス（ＲＡＮＳＡＣ：ｒａｎｄｏｍ  ｓａｍｐｌｅ  ｃｏｎｓｅｎｓｕｓ）を用いてＥで１つの線を適合させることができる。最終形状は、すべての線分を組み合わせたものから作成されてよい。
【０００９】
本明細書に記載の主題の革新的な態様によれば、形状を認識する方法は、所定のスケールかつ所定の向きである所定の形状を含む形状モデルを生成する動作；画像を受信する動作；画像内において形状モデルの各辺に対して、形状モデルの辺に平行で、かつ形状モデルの辺から所定距離にあるエッジを識別する動作；識別したエッジの中から、形状モデルと同様の形状のエッジに該当すると思われる複数のエッジを選択する動作；複数のエッジと、形状モデルと同様の複数の形状の１つ１つの形状との適合スコアを決定する動作；および複数の形状の中から、形状モデルに最も厳密に適合している画像内の特定の形状を識別する動作を含む。
【００１０】
これらの実施形態およびその他の実施形態はそれぞれ、任意選択で以下の特徴の１つ以上を含むことができる。形状モデルおよび特定の形状は、同数のエッジを有する。形状モデルの辺からの所定距離は、所定数の画素である。形状モデルに最も厳密に適合している画像内の特定の形状を識別する動作は、適合スコアが最も高い特定の形状を識別することを含む。画像内において形状モデルの各辺に対して、形状モデルの辺に平行で、かつ形状モデルの辺から所定距離にあるエッジを識別する動作は、エッジを所定の画素間隔で識別することを含む。形状モデルは、直線状のエッジを有する。識別したエッジの中から、形状モデルと同様の形状のエッジに該当すると思われる複数のエッジを選択する動作は、識別したエッジの中で最も大きい勾配を有する複数のエッジを選択することを含む。
【００１１】
本態様の他の実施形態は、対応するシステム、装置、およびコンピュータ記憶装置に記録されたコンピュータプログラムを含み、この各々が本方法の動作を実行するように構成される。
【００１２】
本明細書に記載の主題は、以下の利点の１つ以上を有していてよい。システムは、以前の方法よりも高速で形状認識を実行し得る。システムは、エッジ検知を画像全体に対して行わないため、システムは、形状認識を実行する際に使用する計算力が少なくてよく、バッテリを節約し得る。
【００１３】
本明細書に記載の主題の１つ以上の実施形態の詳細は、添付の図面および以下の説明に記載されている。本主題のその他の特徴、態様、および利点は、説明、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】画像内の形状を検知する一例のシステムを示す図である。
【００１５】
【図２】画像内の形状を検知する一例のプロセスを示す図である。
【００１６】
【図３】ラップトップコンピュータから名刺を映像で取り込む一例の図であり、推奨される取り込み領域を示す細線と、検知された名刺をハイライトする太線とを含んでいる図である。
【００１７】
【図４】上の画像は、名刺を映像で取り込む一例で、細線である例としての線候補を含んでいる図であり、下の画像は、名刺の位置を特定するために検知され使用されるエッジの例としての診断出力である。
【００１８】
【図５】一例として出力された長方形で、線形歪み補正を適用して標準形状の名刺（または運転免許証）にしている図である。
【００１９】
【図６】コンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を示す図である。
【発明を実施するための形態】
【００２０】
図１は、画像内の形状を検知する一例のシステム１００を示している。簡潔に言えば、以下にさらに詳細に説明したように、システム１００は、画像を処理し、画像に含まれる形状を識別する。システム１００は、画像に対する推測結果を生成する。システム１００は、画像に対する推測結果の両側に近いエッジを識別し、画像内の形状に最良の適合物を識別する。
【００２１】
さらに詳細には、図１の例に示したように、システムは、画像取り込み機１１０を用いて書類１０５の画像を取り込む。書類１０５は、どのような種類の書類であってもよく、例えば運転免許証、パスポート、契約書、写真、またはその他の任意の類似書類であってよい。書類１０５は、書類でなくてもよい。例えば書類１０５の代わりに、煉瓦または直線状の辺を有する任意の物体でもよい。
【００２２】
画像取り込み機１１０は、画像を取り込む能力ことのできるどのような種類のデバイスでもよい。例えば、画像取り込み機１１０は、カメラ、カメラ付き携帯電話、ウェブカメラ、スキャナ、またはその他の任意の類似種類の画像取り込みデバイスであってよい。一例として、ユーザは、携帯電話のカメラで運転免許証の写真を撮ることを試みてよい。
【００２３】
画像取り込み機１１０は、取り込んだ画像を形状モデル生成機１１５に提供する。形状モデル生成機１１５は、システム１００が識別を試みている形状、または対象物に対する推測結果を生成する。いくつかの実施形態では、システム１００が書類１０５の形状を識別する場合、システム１００は、システムが識別を試みている対象物と同数の辺を有する形状の推測結果を生成する必要がある。例えば、システム１００は、４つの辺を有する運転免許証の識別を試みている。形状モデル生成機１１５は、４つの辺を有する運転免許証の形状の推測結果を生成しなければならない。
【００２４】
形状モデル生成機１１５は、形状の推測結果をエッジ検知機１２０に提供する。いくつかの実施形態では、画像取り込み機１１０は、画像をエッジ検知機１２０に直接提供する。この場合、形状モデル生成機１１５は、画像をエッジ検知機１２０に提供しない。
【００２５】
エッジ検知機１２０は、形状の推測結果の辺と平行で、かつ推測結果の辺から特定の距離以内にあるエッジを検知するように構成される。例えば、エッジ検知機は、画像の辺と平行で、かつ形状の推測結果の辺の５０画素以内にあるエッジのみを識別してよい。
【００２６】
エッジ検知機１２０は、画素どうしの勾配を計算することによって識別する。エッジ検知機１２０は、互いの左にある画素と右にある画素との差を計算することによって垂直方向の勾配を計算してよい。エッジ検知機１２０は、互いの上にある画素と下にある画素との差を計算することによって水平方向の勾配を計算してよい。エッジ検知機１２０は、互いに斜めになっている画素を含む勾配を計算することによって、画素の集合体にあるエッジを識別してよい。
【００２７】
いくつかの実施形態では、エッジ検知機が画像を処理して、画像全体を処理することによってエッジを識別する。代わりに、エッジ検知機１２０は、形状の推測結果の辺の特定の画素幅以内にある画像のみを評価する。いくつかの実施形態では、エッジ検知機１２０は、形状の推測結果の辺周りを特定の画素間隔でエッジを識別する。例えば、エッジ検知機１２０は、形状の推測結果の辺周りを１０画素ごとのみにエッジを識別するように試みてよい。エッジと特定の間隔のみで検知することで、エッジ検知機１２０は、より高速に動作し、他のエッジ検知機よりも高速に動作し、使用する処理力が少なくてよい。
【００２８】
エッジ検知機１２０に検知されないエッジが画像内にあることがある。例えば、図４の画像は、人差し指に対するエッジを含んでいる。人差し指は、指の両側と背景の壁との間のエッジを形成している。しかし、エッジ検知機１２０は、形状の推測結果の上部に対して垂直である人差し指の両側のエッジを識別するのではない。エッジ検知機１２０は、中指と薬指との間に形成されたエッジを識別するのである。なぜなら、このエッジは、形状の推測結果の左側の閾値距離（例えば５０画素）内にあると思われるからである。
【００２９】
エッジ検知機１２０は、そのエッジをエッジ保存部１２５に保存する。エッジ保存部１２５は、各エッジの位置、エッジの勾配、各エッジの方向、およびその他のあらゆる関連情報に対する保存を含んでいてよい。
【００３０】
エッジ選択機１３０は、エッジ保存部から最も強いエッジを選択する。いくつかの実施形態では、エッジ検知機１２０は、エッジ情報をエッジ選択機１３０に直接提供しない。代わりに、エッジ検知機１２０は、エッジをエッジ保存部１２５に保存し、エッジ選択機１３０がエッジ保存部１２５に保存されたエッジを分析する。最も強いエッジは、勾配が最も大きいエッジであってよい。
【００３１】
いくつかの実施形態では、エッジ選択機１３０は、エッジ保存部１２５にあるエッジのうち最も強い４分の１を選択する。いくつかの実施形態では、エッジ選択機は、最も強いエッジを２００箇所選択する。いくつかの実施形態では、エッジ検知機１２０は、形状の推測結果の辺近くでは、特定間隔でエッジを検知しなくてよい。この場合、エッジ検知機１２０は、形状の推測結果の辺の閾値距離内にあり、かつ形状の推測結果の辺に平行であるエッジをすべて検知してよい。エッジ選択機１３０は、最も強いエッジを特定間隔で選択してよい。例えば、エッジ選択機１３０は、最も強いエッジを１０画素ごとに選択してよい。
【００３２】
形状適合スコア機１３５は、エッジ選択機１３０が選択したエッジに最も適合する形状である形状を識別する。形状適合スコア機１３５は、最も適合している形状が、エッジ選択機１３０が選択したエッジにどれほどよく合致しているかを示すスコアを計算してよい。
【００３３】
エッジ選択機１３０は、追加のエッジを異なる間隔で、または同じ間隔を異なるずれで識別してよい。例えば、エッジ選択機１３０は、最も強いエッジを８番目の画素ごとに識別してよい。エッジ選択機１３０は、追加のエッジを１０番目の画素ごとに選択してよいが、画素間隔は、１０番目の画素ごとにそれらの前のエッジの中央にあってよい。換言すれば、エッジ選択機１３０は、追加のエッジを１０番目の画素ごとに選択し、その後、１０番目の画素ごとに５画素ずれたエッジを選択してよい。
【００３４】
いくつかの実施形態では、形状適合スコア機１３５は、形状モデル生成機１１５が生成した形状の推測結果を、選択したエッジに適合させようとする。形状適合スコア機１３５は、形状の推測結果の任意の予想される変形型に対して適合スコアを計算してもよい。
【００３５】
形状適合スコア機１３５は、エッジ選択機１３０が選択したエッジの追加の集合体に最も適合する追加の形状に対してスコアを計算してよい。形状適合スコア機１３５は、選択されたエッジの集合体の各々に最も適合する形状を形状識別機１４０に提供してよい。いくつかの実施形態では、形状適合スコア機１３５は、最も適合する形状、および選択されたエッジの各集合体に対して追加した格付け上位の形状（例えば２番目に最も適合する形状）を形状識別機１４０に提供してよい。前述したように、形状適合スコア機１３５は、１つ１つの線分を別々に適合させてよい。
【００３６】
形状適合スコア機１３５は、候補となる形状およびそれに対応する形状適合スコアを形状識別機１４０に提供してよい。形状識別機１４０は、適合スコアが最も高い形状を選択し、その形状を書類１０５の形状として返してよい。いくつかの実施形態では、形状適合スコア機１３５は、形状適合スコア機１３５から線分を受信してよい。形状識別機１４０は、形状適合スコア機１３５から受信した線分を用いて書類１０５の形状を作成してよい。
【００３７】
図２は、画像内の形状を検知する一例のプロセス２００を示している。全体的に、プロセス２００は、最初の形状の推測結果から所定距離内にある画像内のエッジを識別する。プロセス２００は、そのエッジに対して最も適合する形状を識別する。プロセス２００は、最も適合する形状を、画像内の主要形状に該当すると思われるものとして指定する。プロセス２００は、１つ以上のコンピュータを含むコンピュータシステム、例えば、図１に示したようなシステム１００によって実施されているものとして記載される。
【００３８】
システムは、所定のスケールかつ所定の向きである所定形状を含む形状モデルを生成する（２１０）。いくつかの実施形態では、形状モデルは、直線状のエッジを有する。いくつかの実施形態では、形状モデルと、システムが識別を試みている対象物とは、同数のエッジを有する。例えば、システムが運転免許証の形状を識別しようとしている場合、システムは、エッジが４つである形状モデルから開始しなければならない。
【００３９】
システムは、画像を受信する（２２０）。システムは、カメラで画像を取り込むことによって画像を受信してもよいし、あるいは別のコンピューティングデバイスから画像を受信してもよい。
【００４０】
システムは、画像内において形状モデルの各辺に対して、形状モデルの辺に平行で、かつ形状モデルの辺から所定距離にあるエッジを識別する（２３０）。いくつかの実施形態では、形状モデルの辺からの所定距離は、所定数の画素である。例えば、その所定距離は、５０画素であってよい。いくつかの実施形態では、システムは、エッジを所定間隔で識別した。例えば、システムは、エッジを１２画素ごとに識別してよい。
【００４１】
システムは、識別したエッジの中から、形状モデルと同様の形状のエッジに該当すると思われる複数のエッジを選択する（２４０）。いくつかの実施形態では、システムは、識別したエッジの中から、勾配が最大であるエッジを選択する。例えば、システムは、勾配が最大であるエッジの上位２０パーセントを選択してよい。いくつかの実施形態では、システムは、勾配が最大であるエッジを選択間隔で選択してよい。例えば、システムは勾配が最大であるエッジを５画素ごとに選択してよい。
【００４２】
システムは、複数のエッジと、形状モデルと同様の複数の形状の１つ１つの形状との適合スコアを決定する（２５０）。適合スコアは、システムが選択した複数のエッジと形状モデルと同様の形状と同様の適合の質を反映してよい。システムは、形状モデルと同様のいくつかの形状に対して適合スコアを決定してよい。
【００４３】
システムは、複数の形状の中から、形状モデルに最も厳密に適合している画像内の特定の形状を識別する（２６０）。いくつかの実施形態では、システムは、適合スコアが最も高い形状を選択することによって、画像内のその形状を形状モデルに最も厳密に適合している形状として識別する。
【００４４】
さらに詳細には、本方法は、実時間の映像入力を取得して視野内で運転免許証のカードを検知するように設計されている。検知された免許証は、その画像から分割され、品質メトリックに沿って必要な解像度で標準の長方形形式で返されて、さらに処理を進める適性を判断する。
【００４５】
本方法は、高さが３００画素のグレースケールで横置きのフレームバッファにカスタマイズされてよい。その他のどのようなフォーマットの画像も、３００画素である画像寸法を最小にするためにグレースケールに変換され、サンプリングしなおされる。どのようなサイズで入力された映像フレームでも使用できるが、所望の出力解像度に耐え得るものでなければならない。所望の出力解像度を満たすことができなければ、その出力はアップサンプリングされ、解像度の品質メトリックは低スコアを示す。
【００４６】
本方法は、カードが映像画像の中央に提示されることを推定してよく、面積のおよそ６分の１が背景との境界である。これは図３に見ることができ、この図は、サンプル映像を（例えばラップトップコンピュータから名刺を）取り込む様子を示している。図のエッジに垂直な線は、６分の１を境界とする推奨取り込み領域を示し、太い境界線（例えば限界品質）は検知したカードをハイライトしている。
【００４７】
取り込まれた各映像フレームは、ダウンサンプリングされ、グレースケールに変換され、線の候補を見つけるために６分の１の境界付近にあるエッジが検知される。４つの境界それぞれに対し、正確なエッジに最も適合していると思われる２つのエッジ候補を使用して長方形の候補を作成する。この長方形の候補は、その形状に関してスコア化され、もっともらしいカードの候補（例えばアスペクト比が３．３７０対２．１２５の大きなカード）を切り抜く。
【００４８】
いくつかの実施形態では、本方法はエッジに基づくものであるため、カードがその写真内にコントラストの強い他のエッジを含んでいる場合、またはカードが背景と似たような色である場合、長方形を作成するために正しい線の候補を見つける追加処理を実行してよい。正確な一連の線または正確な長方形を検知できない場合、取り込みプロセスは次の映像フレームに進む。
【００４９】
もっともらしい長方形の候補（例えばその時点では凸状の四辺形）が選ばれ、その後、長方形（例えば３．３７０ｘ２．１２５）にマッピングされ、要求された解像度でその形状にレンダリングしなおされる。長方形との適合は、図５に示したように大ざっぱにカードに合わせるだけでよい。いくつかの実施形態では、この動作は、長方形の位置調整をより高い解像度で微調整することを含む。
【００５０】
この動作は、長方形のサンプルを質に対して分析することを含む。計算されるメトリックには、合焦、露出、彩度および解像度がある。いくつかの実施形態では、これらは０〜１００の度数（例えば１００は最高スコアを示す）で返される。長方形の信頼性スコアに沿ったこれらの質スコアは、総合的な取り込みスコアとして使用される。
【００５１】
一回の取り込みが完了したあと、ソフトウェアは、映像フィード上で検知した長方形を表示し、その長方形をカラーコード化して取り込みスコアを反映できる（例えば赤＝不可（ｐｏｏｒ）、黄＝限界（ｍａｒｇｉｎａｌ）、緑＝良（ｇｏｏｄ））。
【００５２】
取り込み方法は継続し、別のフレームを取り込み、長方形を検知し、結果をスコア化する。新たな取り込みが古い取り込みよりも良好であると思われる場合、新たな結果が保持される。悪くなったと思われる場合、本方法は取り込みを続行する。特定の時間量（例えば３秒）のあとに良好と思われる取り込みが検知された場合、その取り込みは完了する。特定の時間量（例えば３秒）のあとに良好と思われる取り込みが検知されない場合、前回の最良と思われた結果は消去され、別の取り込みの試行が開始される。指定した回数の取り込みが試行されたあと（例えば９秒に値する）、本方法は、取り込みがうまく完了しなかったと判断する。
【００５３】
いくつかの実施形態では、良好と思われる取り込みが最初の特定の時間量（例えば３秒）で検知された場合、その結果を保存することが有益なことがあるが、もう一回試行して（例えば３秒の試行）その結果の方が良好かどうかを判断してもよい。良好と思われる質の画像を取得したあと、長方形の出力は、位置調整の微調整、光学文字認識、運転免許証の状態検知、色（ホワイトバランス）補正、照明補正などのさらに他の処理のために使用され得る。いくつかの実施形態では、ラップトップコンピュータなどのデバイスが１フレームあたり１０ミリ秒の割合で本方法を実行し、モバイルデバイス上でほぼ実時間で実行してよい。
【００５４】
図６は、本明細書に記載した技術を実施するのに使用できるコンピューティングデバイス６００およびモバイルコンピューティングデバイス６５０の一例を示している。コンピューティングデバイス６００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームなどの様々な形態のデジタルコンピュータ、およびその他の適切なコンピュータを表すことを意図している。モバイルコンピューティングデバイス６５０は、携帯情報端末、携帯電話、スマートフォンなどの様々な形態のモバイルデバイス、およびその他の類似のコンピューティングデバイスを表すことを意図している。ここに示した構成要素、その接続および関係、ならびにその機能は、例にすぎないことを意味しており、限定的なものであることを意味しているのではない。
【００５５】
コンピューティングデバイス６００は、プロセッサ６０２、メモリ６０４、記憶装置６０６、メモリ６０４と複数の高速拡張ポート６１０とに接続している高速インターフェース６０８、および低速拡張ポート６１４と記憶装置６０６とに接続している低速インターフェース６１２を備えている。プロセッサ６０２、メモリ６０４、記憶装置６０６、高速インターフェース６０８、高速拡張ポート６１０、および低速インターフェース６１２はそれぞれ、様々なバスを用いて相互接続され、共通のマザーボード上に、または必要に応じてその他の方法で取り付けられてよい。プロセッサ６０２は、高速インターフェース６０８に接続しているディスプレイ６１６などの外部入力／出力デバイスにＧＵＩ用のグラフィック情報を表示するために、メモリ６０４または記憶装置６０６に保存されている命令など、コンピューティングデバイス６００の内部で実行する命令を処理できる。他の実施形態では、必要に応じて複数のメモリとともに、かつメモリの種類に応じて、複数のプロセッサおよび／または複数のバスを使用してよい。また、複数のコンピューティングデバイスが接続されて、各デバイスが必要な動作の部分（例えばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムなど）を提供してよい。
【００５６】
メモリ６０４は、コンピューティングデバイス６００の内部に情報を保存する。いくつかの実施形態では、メモリ６０４は、１つまたは複数の揮発性メモリユニットである。いくつかの実施形態では、メモリ６０４は、１つまたは複数の不揮発性メモリユニットである。メモリ６０４は、磁気ディスクまたは光学ディスクなど、別の形態のコンピュータ可読媒体であってもよい。
【００５７】
記憶装置６０６は、コンピューティングデバイス６００に対して大量の保存を実現することが可能である。いくつかの実施形態では、記憶装置６０６は、コンピュータ可読媒体、例えばフロッピーディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、もしくはテープデバイス、フラッシュメモリまたはその他の類似のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイなどであってもよいし、それを含むものであってもよい。命令は、情報のキャリアに保存できる。命令は、１つ以上の処理デバイス（例えば、プロセッサ６０２）によって実行されたとき、前述した方法のような１つ以上の方法を実施する。命令は、コンピュータ可読媒体または機械可読媒体などの１つ以上の記憶装置（例えば、メモリ６０４、記憶装置６０６、またはプロセッサ６０２のメモリ）に保存することもできる。
【００５８】
高速インターフェース６０８は、コンピューティングデバイス６００に対して帯域幅を多く要する動作を管理し、低速インターフェース６１２は、それよりも少ない帯域幅を要する動作を管理する。そのような機能の割り当ては、一例にすぎない。いくつかの実施形態では、高速インターフェース６０８は、メモリ６０４、ディスプレイ６１６（例えばグラフィックスプロセッサまたはアクセラレーターを介して）、および高速拡張ポート６１０に接続され、高速拡張ポートは、様々な拡張カードを受け入れてよい。この実施形態では、低速インターフェース６１２は、記憶装置６０６および低速拡張ポート６１４に接続される。低速拡張ポート６１４は、様々な通信ポート（例えばＵＳＢ、ブルートゥース（登録商標、以下同じ）、イーサネット（登録商標、以下同じ）、無線イーサネット）を含んでいてよく、キーボード、ポインティングデバイス、スキャナ、またはスイッチやルータなどのネットワーキングデバイスなどの１つ以上の入力／出力デバイスに、例えばネットワークアダプタを介して接続されてよい。
【００５９】
コンピューティングデバイス６００は、図示したように、いくつかの異なる形態で実装されてよい。例えば、標準のサーバ６２０として実装されてもよいし、またはそのようなサーバのグループ内で複数回実装されてもよい。さらに、ラップトップコンピュータ６２２などのパーソナルコンピュータに実装されてよい。ラックサーバシステム６２４の一部として実装されてもよい。その代わりに、コンピューティングデバイス６００の構成要素は、モバイルコンピューティングデバイス６５０などのモバイルデバイス内の他の構成要素と組み合わされてよい。そのようなデバイスの各々は、コンピューティングデバイス６００およびモバイルコンピューティングデバイス６５０のうちの１つ以上を含んでいてよく、システム全体が互いに通信する複数のコンピューティングデバイスで作製されてよい。
【００６０】
モバイルコンピューティングデバイス６５０は、構成要素のうちとりわけ、プロセッサ６５２、メモリ６６４、ディスプレイ６５４などの入力／出力デバイス、通信インターフェース６６６、およびトランシーバ６６８を備えている。モバイルコンピューティングデバイス６５０には、追加の保存部を提供するためにマイクロドライブまたはその他のデバイスなどの記憶装置が備わっていてもよい。プロセッサ６５２、メモリ６６４、ディスプレイ６５４、通信インターフェース６６６、およびトランシーバ６６８の各々は、様々なバスを用いて相互接続され、構成要素のいくつかは、共通のマザーボード上に、または必要に応じてその他の方法で取り付けられてよい。
【００６１】
プロセッサ６５２は、メモリ６６４に保存されている命令など、モバイルコンピューティングデバイス６５０内の命令を実行できる。プロセッサ６５２は、別々の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装されてよい。プロセッサ６５２は、例えばモバイルコンピューティングデバイス６５０の他の構成要素の調整、例えばユーザインターフェースの制御、モバイルコンピューティングデバイス６５０によって実行されるアプリケーション、およびモバイルコンピューティングデバイス６５０による無線通信などを提供してよい。
【００６２】
プロセッサ６５２は、ディスプレイ６５４に接続している制御インターフェース６５８および表示インターフェース６５６を通してユーザと通信してよい。ディスプレイ６５４は、例えば、ＴＦＴ（Ｔｈｉｎ−Ｆｉｌｍ−Ｔｒａｎｓｉｓｔｏｒ  Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：薄膜トランジスタ液晶ディスプレイ）ディスプレイまたはＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ：有機発光ダイオード）ディスプレイ、またはその他の適切なディスプレイ技術であってよい。表示インターフェース６５６は、グラフィック情報およびその他の情報をユーザに提示するためのディスプレイ６５４を駆動させる適切な回路を備えていてよい。制御インターフェース６５８は、ユーザからコマンドを受信し、それをプロセッサ６５２への送信用に変換してよい。また、外部インターフェース６６２は、プロセッサ６５２との通信を提供してよく、それによってモバイルコンピューティングデバイス６５０と他のデバイスとの近距離通信が可能になる。外部インターフェース６６２は、例えば、いくつかの実施形態では有線通信を提供してよく、または他の実施形態では無線通信を提供してよく、複数のインターフェースを使用してもよい。
【００６３】
メモリ６６４は、モバイルコンピューティングデバイス６５０内に情報を保存する。メモリ６６４は、１つ以上のコンピュータ可読媒体、１つまたは複数の揮発性メモリユニット、または１つまたは複数の不揮発性メモリユニットとして実装され得る。拡張メモリ６７４が設けられてもよく、かつ拡張インターフェース６７２を通してモバイルコンピューティングデバイス６５０に接続されてもよく、拡張インターフェースには、例えば、ＳＩＭＭ（Ｓｉｎｇｌｅ  Ｉｎ  Ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）カードインターフェースなどがあってよい。拡張メモリ６７４は、モバイルコンピューティングデバイス６５０に対して余分の保存スペースを提供してもよいし、あるいはモバイルコンピューティングデバイス６５０に対してアプリケーションまたはその他の情報も保存してよい。具体的には、拡張メモリ６７４は、前述したプロセスを実行または追加する命令を含んでいてよく、かつセキュリティ情報も含んでいてよい。そのため、例えば、拡張メモリ６７４は、モバイルコンピューティングデバイス６５０に対するセキュリティモジュールとして設けられてよく、かつモバイルコンピューティングデバイス６５０の安全な使用を可能にする命令を用いてプログラムされてよい。また、セキュリティアプリケーションは、ハッキング不可能な方法でＳＩＭＭカードに識別情報を配置するなどの追加情報と共に、ＳＩＭＭカードを介して提供されてよい。
【００６４】
メモリには、以下で考察するように、例えばフラッシュメモリおよび／またはＮＶＲＡＭメモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：不揮発性ランダムアクセスメモリ）などがあってよい。いくつかの実施形態では、命令は情報キャリアに保存される。命令は、１つ以上の処理デバイス（例えばプロセッサ６５２）によって実行されるとき、前述したような１つ以上の方法を実施する。命令は、１つ以上のコンピュータ可読媒体または機械可読媒体（例えば、メモリ６６４、拡張メモリ６７４、またはプロセッサ６５２のメモリ）などの１つ以上の記憶装置に保存されることもできる。いくつかの実施形態では、命令は、例えばトランシーバ６６８または外部インターフェース６６２を通して伝播信号で受信され得る。
【００６５】
モバイルコンピューティングデバイス６５０は、通信インターフェース６６６を通して無線で通信してよく、通信インターフェースは必要に応じてデジタル信号処理回路を含んでいてよい。通信インターフェース６６６は、様々な方式またはプロトコルで通信を提供してよく、とりわけＧＳＭ（登録商標）音声通話（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ：移動通信用グローバルシステム）、ＳＭＳ（Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ：ショートメッセージサービス）、ＥＭＳ（Ｅｎｈａｎｃｅｄ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ：拡張メッセージサービス）、またはＭＭＳメッセージ（Ｍｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ：マルチメディアメッセージサービス）、ＣＤＭＡ（ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ：符号分割多元接続）、ＴＤＭＡ（ｔｉｍｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ：時分割多元接続）、ＰＤＣ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ｃｅｌｌｕｌａｒ：デジタル携帯電話）、ＷＣＤＭＡ（登録商標）（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ：広帯域符号分割多元接続）、ＣＤＭＡ２０００、またはＧＰＲＳ（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ：汎用パケット無線システム）などがある。このような通信は、例えば、無線周波数を使用するトランシーバ６６８を介して行われてよい。また、ブルートゥース、ＷｉＦｉなどを使用して、またはその他のトランシーバなどを使用して短距離通信を行ってもよい。また、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信モジュール６７０が、追加でナビゲーションおよび位置に関する無線データをモバイルコンピューティングデバイス６５０に提供してもよく、これは、モバイルコンピューティングデバイス６５０上でアプリケーションを動作させることによって必要に応じて使用されてよい。
【００６６】
モバイルコンピューティングデバイス６５０は、音声コーデック６６０を使用して音声で通信してもよく、音声コーデックは、ユーザから発声された情報を受信し、それを使用可能なデジタル情報に変換してよい。音声コーデック６６０は、その上、例えばモバイルコンピューティングデバイス６５０の端末機にあるスピーカなどを介して、ユーザに聞こえる音を発生させてよい。このような音は、音声電話の呼出からの音を含んでいてよく、録音された音（例えばボイスメッセージ、音楽ファイルなど）を含んでいてよく、また、モバイルコンピューティングデバイス６５０上で動作するアプリケーションによって発生する音を含んでいてもよい。
【００６７】
モバイルコンピューティングデバイス６５０は、図に示したように、多数の異なる形態で実装されてよい。例えば、携帯電話６８０として実装されてよい。スマートフォン５８２、携帯情報端末、またはその他の類似のモバイルデバイスの一部として実装されてもよい。
【００６８】
本明細書に記載したシステムおよび技術の様々な実施形態は、デジタル電子回路、集積回路、特別設計されたＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはこの組み合わせで実現され得る。これらの様々な実施形態は、少なくとも１つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能かつ／または解釈可能な１つ以上のコンピュータプログラムへの実施形態を含むことができ、プロセッサは、特定用途のものでも汎用のものでもよく、データおよび命令を受信し、かつデータおよび命令を伝送するために、保存システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスに接続される。
【００６９】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる）は、プログラム可能なプロセッサ用の機械命令を含み、高度な手続き型プログラミング言語および／またはオブジェクト指向プログラミング言語、および／またはアセンブリ言語／機械語で実装され得る。本明細書で使用しているように、機械可読媒体およびコンピュータ可読媒体という用語は、機械命令を機械可読信号として受信する機械可読媒体を含んでいるプログラム可能なプロセッサに機械命令および／またはデータを提供するために使用される、あらゆるコンピュータプログラム製品、装置および／またはデバイス（例えば磁気ディスク、光学ディスク、メモリ、プログラマブルロジックデバイス（ＰＬＤ：Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ））を指す。機械可読信号という用語は、機械命令および／またはデータをプログラム可能なプロセッサに提供するために使用されるあらゆる信号を指す。
【００７０】
ユーザとの相互作用を実現するために、本明細書に記載したシステムおよび技術は、ユーザに情報を表示するためのディスプレイデバイス（例えばＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ）、ならびにユーザがコンピュータに入力できる手段であるキーボードおよびポインティングデバイス（例えばマウスまたはトラックボール）を有するコンピュータに実装できるものである。その他の種類のデバイスを使用してユーザとの相互作用を実現することも可能である。例えば、ユーザに提供されるフィードバックは、どのような形態の感覚フィードバック（例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、ユーザからの入力は、音声、発話または接触による入力など、どのような形態でも受信され得る。
【００７１】
本明細書に記載したシステムおよび技術は、バックエンドの構成要素（例えばデータサーバとして）を含む、またはミドルウェアの構成要素（例えばアプリケーションサーバ）を含む、またはフロントエンドの構成要素（例えば、本明細書に記載したシステムおよび技術の実施形態とユーザが相互作用できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントのコンピュータ）を含む、またはこのようなバックエンド、ミドルウェア、またはフロントエンドの構成要素の任意の組み合わせを含むコンピューティングシステムに実装できるものである。システムの構成要素は、デジタルデータ通信の任意の形態または媒体（例えば通信ネットワーク）によって相互接続され得る。通信ネットワークの例として、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、およびインターネットなどがある。
【００７２】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いに離れており、典型的には通信ネットワークを通して相互作用する。クライアントとサーバとの関係は、コンピュータプログラムがそれぞれのコンピュータで実行され、コンピュータプログラムがクライアントとサーバとの関係を互いに有していることによって成り立つ。
【００７３】
上記にはいくつかの実施形態を詳細に説明したが、その他の修正案も可能である。例えば、クライアントのアプリケーションがデリゲートにアクセスするものとして記載されているが、他の実施形態では、デリゲートは、１つ以上のサーバで実行するアプリケーションなど、１つ以上のプロセッサによって実施される他のアプリケーションで用いられてもよい。また、図に描かれている論理の流れ図は、所望の結果を達成するために図示した特定の順序または連続した順序を要求するものではない。また、他の動作を提供してもよく、あるいは記載した流れ図から動作を削除してもよく、かつ、記載したシステムに他の構成要素を追加したりそこから取り除いたりしてもよい。したがって、その他の実施形態は以下の特許請求の範囲内である。
【図１】
2019517079.tif 000003
【図２】
2019517079.tif 000004
【図３】
2019517079.tif 000005
【図４】
2019517079.tif 000006
【図５】
2019517079.tif 000007
【図６】
2019517079.tif 000008
【国際調査報告】
2019517079.tif 000009