(57)【特許請求の範囲】
【請求項１】
画像認識方法であって、
ソース画像の中の画素の色特性値を取得し、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定すること、を備え、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像である見込みがあるか否かの予備決定を実行し、
前記ソース画像が非製品画像である見込みがあると決定された場合に、
前記ソース画像を複数の画像ブロックに分割し、
前記それぞれの画像ブロックのメイン色を決定し、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することと、
を含む、
方法。
【請求項２】
請求項１に記載の方法であって、
前記ソース画像の前記メイン色を決定することは、前記ソース画像の中の画素の前記色特性値に対応する画素の数を決定し、最も高い画素カウント数を有する前記色特性値に対応する色を識別することを含む、方法。
【請求項３】
請求項１に記載の方法であって、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、特定のメイン色を持つ画像ブロックの数に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、方法。
【請求項４】
請求項１に記載の方法であって、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、前記ソース画像内における、特定のメイン色を持つ画像ブロックの相対的な位置に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記ソース画像を複数の画像ブロックに分割することは、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割することを含む、方法。
【請求項６】
請求項１に記載の方法であって、更に、
前記ソース画像を既定のフォーマットにしたがって変換することを備え、前記ソース画像の中の前記画素の前記色特性値を取得することは、前記画素の前記色特性値を前記変換されたフォーマットにおいて得ることを含む、方法。
【請求項７】
請求項１に記載の方法であって、
前記色特性値は、ＲＧＢ値である、方法。
【請求項８】
画像認識方法であって、
ソース画像の中の画素の色特性値を取得し、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定すること、を備え、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、
前記メイン色が黒又は白であるか否かを決定し、
前記メイン色が黒および白でない場合に、前記ソース画像を製品画像として認識し、
前記メイン色が黒又は白である場合に、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割し、
特定のメイン色を持つ画像ブロックの数にしたがって、前記ソース画像が非製品画像であるか否かを認識することを含む、方法。
【請求項９】
画像認識方法であって、
ソース画像の中の画素の色特性値を取得し、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定すること、を備え、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、
前記メイン色が黒又は白であるか否かを決定し、
前記メイン色が黒および白でない場合に、前記ソース画像を製品画像として認識し、
前記メイン色が黒又は白である場合に、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割し、
前記ソース画像内における特定のメイン色を持つ画像ブロックの相対的な位置にしたがって、前記ソース画像が非製品画像であるか否かを認識することを含む、方法。
【請求項１０】
画像認識システムであって、
１つ又は２つ以上のプロセッサであって、
ソース画像の中の画素の色特性値を取得し、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することであって、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像である見込みがあるか否かの予備決定を実行し、
前記ソース画像が非製品画像である見込みがあると決定された場合に、
前記ソース画像を複数の画像ブロックに分割し、
前記それぞれの画像ブロックのメイン色を決定し、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定するように、
構成された１つ又は２つ以上のプロセッサと、
前記１つ又は２つ以上のプロセッサに接続され、前記１つ又は２つ以上のプロセッサに命令を提供するように構成されている、１つ又は２つ以上のメモリと、
を備えるシステム。
【請求項１１】
請求項１０に記載のシステムであって、
前記ソース画像の前記メイン色を決定することは、前記ソース画像の中の画素の前記色特性値に対応する画素の数を決定し、最も高い画素カウント数を有する前記色特性値に対応する色を識別することを含む、システム。
【請求項１２】
請求項１０に記載のシステムであって、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、特定のメイン色を持つ画像ブロックの数に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、システム。
【請求項１３】
請求項１０に記載のシステムであって、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、前記ソース画像内における特定のメイン色を持つ画像ブロックの相対的な位置に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、システム。
【請求項１４】
請求項１０に記載のシステムであって、
前記ソース画像を複数の画像ブロックに分割することは、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割することを含む、システム。
【請求項１５】
請求項１０に記載のシステムであって、
前記１つ又は２つ以上のプロセッサは、更に、前記ソース画像を既定のフォーマットにしたがって変換するように構成され、前記ソース画像の中の前記画素の前記色特性値を取得することは、前記画素の前記色特性値を前記変換されたフォーマットにおいて得ることを含む、システム。
【請求項１６】
画像認識システムであって、
１つ又は２つ以上のプロセッサであって、
ソース画像の中の画素の色特性値を取得し、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することであって、
前記メイン色が黒および白でない場合に、前記ソース画像を製品画像として認識し、
前記メイン色が黒又は白である場合に、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割し、
特定のメイン色を持つ画像ブロックの数にしたがって、前記ソース画像が非製品画像であるか否かを認識するように構成されている１つ又は２つ以上のプロセッサを備える、画像認識システム。
【請求項１７】
画像認識システムであって、
１つ又は２つ以上のプロセッサであって、
ソース画像の中の画素の色特性値を取得し、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することであって、
前記メイン色が黒および白でない場合に、前記ソース画像を製品画像として認識し、
前記メイン色が黒又は白である場合に、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割し、
前記ソース画像内における特定のメイン色を持つ画像ブロックの相対的な位置にしたがって、前記ソース画像が非製品画像であるか否かを認識するように構成されている１つ又は２つ以上のプロセッサを備える、画像認識システム。
【請求項１８】
画像認識のためのコンピュータプログラムであって、
ソース画像の中の画素の色特性値を取得する機能と、
前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定する機能と、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定するための機能であって、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像である見込みがあるか否かの予備決定を実行するための機能と、
前記ソース画像が非製品画像である見込みがあると決定された場合に、
前記ソース画像を複数の画像ブロックに分割し、
前記それぞれの画像ブロックのメイン色を決定し、
前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定するための機能と、を含む、
前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定するための機能とを、コンピュータによって実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、あらゆる目的のために参照によって本明細書に組み込まれる、発明の名称を「IMAGE RECOGNITION METHOD AND DEVICE（画像認識の方法及び装置）」とする２００９年７月２日付けで出願された中国特許出願第２００９１０１４９５５２．８号の優先権を主張する。
【０００２】
本出願は、画像処理の分野に関し、特に、画像認識に関する。
【背景技術】
【０００３】
マルチメディア技術の発展は、ソフトウェアアプリケーションにおける情報の提示を充実させてきた。コンピュータの応用のために、なかでも特にインターネットのために、多くの画像処理技術が開発されてきた。
【０００４】
電子商取引の応用を一例として挙げると、既存の電子商取引システムは、通常、製品に写真を添付する機能をサポートしている。ネットワークを通じて自身の製品提供を発表する売主は、テキスト記述に加えて製品の写真をアップロードすることができる。画像は、単なるテキストよりも、より直観的に製品を提示することができ、多くの場合、製品の写真は、買主がそれに基づいて製品に関する情報の信頼性を確認するための重要な基準にもなる。
【０００５】
大半の製品カテゴリでは、製品の写真として、製品の外観及び特性を直観的に示すゆえに製品の実際の写真が使用されるのが理想的なはずである。しかしながら、売主によっては、売主の広告、販売記録、ユーザマニュアルを含む写真など、製品自体の特性を正確に反映していない無関係な写真をアップロードすることが多々ある。更に、このような写真は、ウェブサイト所有者によるデータマイニングの努力を妨げ、外観に基づく製品の効果的な分類を阻む。更に、ウェブサイト所有者によっては、実際の製品に関係のない画像を、製品を表す画像とは区別して分類することを望む場合がある。異なるタイプの画像を識別及び区別するための技術が必要とされている。
【図面の簡単な説明】
【０００６】
以下の詳細な説明及び添付の図面において発明の様々な実施形態が開示される。
【０００７】
【図１Ａ】非製品画像の例を示した図である。
【０００８】
【図１Ｂ】非製品画像の例を示した図である。
【０００９】
【図２】画像認識プロセスの一実施形態を示したフローチャートである。
【００１０】
【図３】ソース画像が非製品画像であるかどうかを決定するためのプロセスの一実施形態を示したフローチャートである。
【００１１】
【図４】画像が非製品画像であるかどうかを決定するためにブロック分割されたソース画像の一例を示した図である。
【００１２】
【図５】ソース画像が非製品であるかどうかをその画像ブロックに基づいて決定するためのプロセスの一実施形態を示したフローチャートである。
【００１３】
【図６】非製品画像を認識するように構成されたシステムの一実施形態を示したブロック図である。
【００１４】
【図７】非製品画像を認識するように構成されたシステムの別の一実施形態を示したブロック図である。
【発明を実施するための形態】
【００１５】
発明は、プロセス、装置、システム、合成物、コンピュータによって読み取り可能なストレージメディアに実装されたコンピュータプログラム製品、並びに／又は結合先のメモリに格納された命令及び／若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実装することができる。本明細書では、これらの実装形態、又は発明がとりえるその他のあらゆる形態を、技術と称することができる。総じて、開示されたプロセスのステップの順序は、発明の範囲内で変更されえる。別途明記されない限り、タスクを実施するように構成されているものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装されえる。ここで使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ又は複数の、デバイス、回路、及び／又は処理コアを言う。
【００１６】
発明の原理を示した添付の図面とともに、以下で、発明の１つ又は２つ以上の実施形態の詳細な説明が提供される。発明は、このような実施形態に関連して説明されているが、いかなる実施形態にも限定されず、発明の範囲は、特許請求の範囲によってのみ限定され、発明は、数々の代替形態、変更形態、及び均等物を内包している。以下の説明では、発明の完全な理解を可能にするために、数々の詳細が明記されている。これらの詳細は、例示を目的として提供されており、発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭さを期するために、発明に関係した技術分野で知られている技工物は、発明が不必要に不明瞭にされないように詳細な説明を省略されている。
【００１７】
図１Ａ及び図１Ｂは、電子商取引ウェブサイトで見つけられた非製品画像の例を示している。図１Ａは、店の方針（ポリシー）を示す画像を例示しており、図１Ｂは、衣服を測るためのサイズ表の画像を例示している。これらの写真は、販売されている製品を表したものではなく、したがって、その製品についての情報とともに含められている場合は、非製品画像だとみなされる。一部の既存のシステムでは、非製品画像が手動で認識及び除去される。
【００１８】
以下の説明では、非製品画像を識別するための自動化された画像解析技術が開示される。一部の実施形態では、画像が非製品画像であるかどうかを決定するために、画像のメイン色又は画像の小ブロックのメイン色などの、画像の１つ又は２つ以上の色特徴が取得及び使用される。一部の実施形態では、決定を下すために、これらの色特徴に対して１つ又は２つ以上のルールが適用される。
【００１９】
図２は、画像認識プロセスの一実施形態を示したフローチャートである。プロセス２００は、図６のシステム６００などのシステムにおいて実施されえる。プロセスは、コンピュータによって実行される、例えばプログラムモジュールなどのコンピュータ実行可能命令を一般的な背景として説明することができる。通常、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を盛り込んだルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。プロセスは、通信ネットワークを介してつながれているリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、ストレージデバイスを含むローカル又はリモートのコンピュータストレージメディア内に配することができる。
【００２０】
ステップ２０１では、ソース画像の中の画素の色特性値が取得される。ソース画像は、二値画像又はグレースケール画像ではなくカラー画像であるとする。一部の実施形態では、色特性値は、ソース画像ファイルからの読み出しによって取得される。一部の実施形態では、色特性値は、ソース画像ファイルを格納するために使用される画像サーバなどの送信者から受信される。一部の実施形態では、ソース画像は、色特性値が取得される前に、随意に、均一なフォーマットで認識されるべく変換されるとともに均一なサイズに拡大縮小される。
【００２１】
ここで言うカラーモデルとは、通例３成分又は４成分である組数としてどのように色を表すことができるかを記述した数学モデルである。よく使用されるカラーモデルの例に、ＲＧＢ及びＣＭＹＫがある。カラーモデルと所定の基準色空間との間にマッピング機能を追加することによって、基準色空間内に明確な「フットプリント」が得られる。三次元の色空間では、三次元の座標軸が３つの独立した色パラメータに対応するので、各色は、対応する空間位置を有しており、その逆もまた、同様である。空間内における一点が、特定の色に対応する。例えば、コンピュータモニタ上に色が表示されるとき、それらの色は、ＲＧＢ（赤、緑、青）色空間で定められるのが通例である。これは、ほぼ同じ色（蛍光体（ＣＲＴ）又はフィルタとバックライト（ＬＣＤ）などの再現媒体によって制限される）を作るもう１つの方法であり、赤、緑、青を、Ｘ軸、Ｙ軸、Ｚ軸とみなすことができる。同じ色を作るもう１つの方法は、それらの色相（Ｘ軸）、彩度（Ｙ軸）、及び明度値（Ｚ軸）を使用する方法である。これは、ＨＳＶ色空間と称される。その他の色空間の例には、ＹＵＶやＹＣｂＣｒなどがある。色空間の多くは、このようにして、三次元（Ｘ、Ｙ、Ｚ）の値として表すことができる。
【００２２】
ＲＧＢベースのカラーモデルは、例示を目的として、以下の議論で広く論じられる。その他のカラーモデルも、同様に使用することができる。例えば、黒色及び白色は、通常は、黒画素及び白画素のみからなる二値画像においてそれぞれ０及び１を使用して表され、グレースケール画像における画素の色特性値は、グレースケール値で示される。黒色及び白色の値、並びにグレースケール値は、ＲＧＢ値の特殊なケースだとみなすことができ、ＲＧＢ値との間に変換関係を有する。更に、カラー画像の場合、その色は、例えばＹＣｒＣｂ（明度／色相／彩度）の値などのように、ＲＧＢから導き出されるものとは異なる形で表すことができる。
【００２３】
ステップ２０２では、色特性値に少なくとも部分的に基づいて、ソース画像のメイン色（主要色）が決定される。一部の実施形態では、各色特性値について、その色特性値に対応する画素数がカウントされる。その結果は、ソース画像のメイン色を決定するために比較される。ここで使用されるメイン色という用語は、画像内において最も高い頻度で発生する色を言う。つまり、それは、最も高い画素カウント数を有する色特性値に対応する色である。
【００２４】
ステップ２０３では、ソース画像のメイン色に対応する色特性値の大きさに少なくとも部分的に基づいて、ソース画像が非製品画像であるかどうかが決定される。一部の実施形態では、決定を下すために複数のルールが適用される。ルールの例が、以下でより詳しく説明される。
【００２５】
非製品画像は、様々なやり方で扱うことができる。例えば、非製品画像を付随させている製品情報からその非製品画像が自動的に削除されてよい、又は非製品画像をアップロードしたユーザに対して警告が送信されてよい。一部の実施形態では、非製品画像が削除される前に、（システム管理者などの）人による確認又は追加の画像処理システムによる確認が必要とされる。一部の実施形態では、非製品画像は、製品を表す製品画像と異なる画像カテゴリに分類される。
【００２６】
図３は、ソース画像が非製品画像であるかどうかを決定するためのプロセスの一実施形態を示したフローチャートである。プロセス３００は、図２のステップ２０３を実行に移すために使用されえる。図に示された例では、プロセスは、ソース画像が非製品画像であるかどうかの決定を下すために、幾つかのルールを適用する。
【００２７】
先ず、決定されたソース画像のメイン色に基づいて予備決定を下すために、一般的なルールが適用される。通常は、黒又は白以外のメイン色を持つカラーソース画像を製品画像だとみなすことができる、すなわち、換言すれば、黒又は白のメイン色を持つカラーソース画像は、非製品画像である可能性が非常に大きい。したがって、ステップ３０２では、メイン色が黒又は白であるかどうかが決定される。
【００２８】
一部の実施形態では、色は、閾値Ａを下回る色特性値を有する場合は黒であるとみなされ、閾値Ｂを上回る色特性値を有する場合は白であるとみなされる。閾値ＡとＢとの間の色特性値を有する一連の色は、まとめて「その他の色」と呼ばれる。閾値Ａ及びＢは、色空間をどのように量子化するかに応じて特定の値をとり、実装形態によって可変である。
【００２９】
メイン色が黒でも白でもない場合は、ステップ３０４において、ソース画像は、製品画像だとみなされる。そうでない場合は、追加のルールが適用される。具体的には、ステップ３０６において、ソース画像は、幾つかの画像ブロックに分割され、それぞれの画像ブロックの中のそれぞれの色特性値に対応する画素数にしたがって、それぞれの画像ブロックのメイン色が決定される。
【００３０】
ステップ３０８では、それぞれの画像ブロックのメイン色に少なくとも部分的に基づいて、ソース画像が非製品画像であるかどうかが決定される。画像ブロックのメイン色の決定プロセスは、ソース画像全体のメイン色を決定するためのプロセスと同様である。画像を幾つかのブロックに分割し、画像ブロックの中の色の分布に基づいて非製品画像状態を判断することによって、画像が非製品画像であるかどうかをより正確に決定することができる。
【００３１】
例えば、ソース画像のメイン色が黒又は白であるときは、特定のメイン色を持つ画像ブロックの数、及び／又は特定のメイン色を持つ画像ブロックのソース画像内における相対的な位置にしたがって、更なる決定を実施することができる。
【００３２】
この例では、ソース画像は、ＲＧＢベースであり、３つの主要色であるＲ（赤）、Ｇ（緑）、及びＢ（青）のそれぞれに８つの異なる強度レベルがある。したがって、色特性値は、ＲＧＢ０００からＲＧＢ７７７までの幅があり、色空間全体は、５１２の色で量子化される。例えば、ＲＧＢ２３５は、赤色の強度値が２であり、緑色の強度値が３であり、青色の強度値が５であることを表している。
【００３３】
この例では、後の説明に便利なように、一部の特定の色が、色空間を量子化するための上記方法にしたがって以下のように定義される。すなわち、Ｒ値、Ｇ値、Ｂ値がそれぞれ１以下である色が黒として定義され、Ｒ値、Ｇ値、Ｂ値がそれぞれ６以上である色が白として定義される。黒及び白は、更に、以下のように規定される。
【００３４】
ＲＧＢ０００は、純粋な黒を表す。
【００３５】
ＲＧＢ００１、ＲＧＢ０１０、ＲＧＢ０１１、ＲＧＢ１００、ＲＧＢ１０１、及びＲＧＢ１１０は、暗い黒を表す。
【００３６】
ＲＧＢ６６６、ＲＧＢ６６７、ＲＧＢ６７６、及びＲＧＢ７６６は、暗い白を表し、より具体的には、ＲＧＢ６６６は、灰白も表す。
【００３７】
ＲＧＢ７７７、ＲＧＢ６７７、ＲＧＢ７６７、及びＲＧＢ７７６は、明るい白を表し、より具体的には、ＲＧＢ７７７は、純粋な白も表す。
【００３８】
人の視覚システムに基づいて、本実施形態は、より妥当で且つ正確な認識のために有効色の概念を導入する。非灰色の画素数対全画素数の比が閾値を上回る場合には、その色は、有効色だとみなすことができる。有効色は、主に、画像がどの程度カラフルであるかを測るために使用される。ここで言う灰色とは、Ｒ、Ｇ、及びＢの値が等しい色として定義される。上で定められた純粋な黒（ＲＧＢ０００）、灰白（ＲＧＢ６６６）、及び純粋な白（ＲＧＢ７７７）もまた、灰色のカテゴリに入る。実際には、Ｒ、Ｇ、及びＢの値が等しい色は、暗い色であることが一般的であり、したがって、本実施形態は、そのようなカテゴリの色も考慮に入れている。閾値は、画像内において滅多に生じない一部の色を無視する目的で設定され、実験データによって、およそ５／１０００に設定可能であることが証明されている。その他の閾値が使用されてもよい。
【００３９】
図４は、画像が非製品画像であるかどうかを決定するためにブロック分割されたソース画像の一例を示した図である。この例では、画像は、３×３格子のレイアウトにしたがって、９つの画像ブロックに分割されている。この分割は、ソース画像のサイド、コーナー、及びセンターの色が別々に評価されることを保証するとともに、過度に複雑な決定ルールを回避することによって認識速度を向上させる。その他の実施形態では、その他の分割が可能である。
【００４０】
この例では、説明に便利なように、ソース画像は、図４に示されるように左から右へ且つ上から下へ順番に「ブロック０」、「ブロック１」、…… 、「ブロック８」で記された９つの画像ブロックに分割される。それぞれの画像ブロックのメイン色が、それぞれ決定される。
【００４１】
図５は、ソース画像が非製品であるかどうかをその画像ブロックに基づいて決定するためのプロセスの一実施形態を示したフローチャートである。プロセス５００は、図３のステップ３０８を実行に移すために使用されえる。
【００４２】
ステップ５０２では、ソース画像のメイン色が純粋な黒、純粋な白、又はそれ以外であるかどうかが決定される。
【００４３】
ステップ５３０において、ソース画像のメイン色が純粋な黒でも純粋な白でもないと決定された場合、そのソース画像は、製品画像である。
【００４４】
ステップ５０４において、ソース画像のメイン色が純粋な黒であると決定された場合、そのソース画像は、恐らくは製品に無関係であり、ステップ５０６において、９つの画像ブロックの全てのメイン色が黒であるかどうかが更に決定される。そうである場合は、ステップ５１０において、その画像は、非製品画像であるとみなされ、それ以外の場合は、ステップ５０８において、その画像は、製品画像であるとみなされる。
【００４５】
ステップ５１４において、ソース画像のメイン色が純粋な白であると決定された場合には、ステップ５１６において、更に、９つの画像ブロックの全てのメイン色が白であるかどうかが更に決定される。そうでない場合には、ステップ５０８において、その画像は、製品画像であるとみなされる。それ以外の場合には、ステップ５１８において、灰白のブロックの数が０で、且つ純粋な白のブロックの数が６よりも大きく、且つ明るい白のブロックの数が７よりも大きいかどうかが決定される。そうである場合には、ステップ５２０に制御が引き渡され、それ以外の場合は、ステップ５２２に制御が引き渡される。
【００４６】
ステップ５２０では、ブロック４が明るい白で、且つブロック１、４、及び７の少なくとも１つが純粋な白であるかどうかが決定される。そうである場合は、ステップ５１０において、画像は、非製品画像であるとみなされ、それ以外の場合は、ステップ５０８において、画像は、製品画像であるとされる。
【００４７】
ステップ５２２では、暗い白のブロックの数が９で、且つ灰白のブロックの数が６よりも大きいか決定される。そうである場合には、画像は、非製品画像であり、それ以外の場合は、更なる決定が実行される。ステップ５２４では、有効色の数が５未満であるか決定され、そうである場合は、画像は、製品画像であり、それ以外の場合は、ステップ５２６において、以下の条件（ａ）〜（ｄ）のいずれかが満たされるか否かが決定される。満たされる場合は、画像は、非製品画像であり、それ以外の場合は、画像は、製品画像である。条件（ａ）〜（ｄ）は、（ａ）明るい白のブロックの数が９であり、純粋な白のブロックの数が３であり、ブロック４が純粋な白ではないこと、（ｂ）純粋な白のブロックの数が７よりも大きく、ブロック４が純粋な白であり、ブロック１、３、５、及び７が灰白ではないこと、（ｃ）有効色の数が１であり、純粋な白のブロックの数が３であり、ブロック１及び７が灰白であること、並びに（ｄ）ブロック１、３、４、及び５が全て灰白であり、ブロック０が純粋な白ではないことである。
【００４８】
プロセス５００は、図１Ａ及び図１Ｂに示された画像に関連して以下で説明される。
【００４９】
図１Ａは、純粋な白のメイン色と、５よりも少ない有効色とを持つ画像を示している。図４に示された方式にしたがって分割されたとき、それぞれの画像ブロックの色特性値は、以下のように示される。
６６６      ６６６      ６６６
６６６      ６６６      ６６６
６６６      ６６６      ６６６
【００５０】
プロセス５００にしたがうと、ステップ５１６において、白いブロックの数は９である。したがって、ステップ５１８において、灰白のブロックの数０で、且つ純粋な白のブロックの数が６よりも大きく、且つ明るい白のブロックの数が７よりも大きいかどうかが決定される。答えは「Ｎｏ」であるので、暗い白のブロックの数が９で、且つ灰白のブロックの数が６よりも大きいか決定される。このケースでは、条件は真であるので、画像は、非製品画像であると決定される。
【００５１】
図１Ｂは、純粋な白のメイン色と、５よりも少ない有効色とを持つ画像を示している。図４に示された方式にしたがって分割されたとき、それぞれの画像ブロックの色特性値は、以下のように示される。
７７７      ７７７      ７７７
７７７      ７７７      ７７７
７７７      ７７７      ７７７
【００５２】
プロセス５００にしたがうと、ステップ５１６において、白ブロックの数は９であると決定される。更に、ステップ５１８において、灰白のブロックの数０で、且つ純粋な白のブロックの数が６よりも大きく、且つ明るい白のブロックの数が７よりも大きいかどうかが決定される。このケースでは、答えは「Ｙｅｓ」であるので、ステップ５２０において、ブロック４が明るい白で、且つブロック１、４、及び７の少なくとも１つが純粋な白であるかどうかが決定される。これらの条件もやはり真であるゆえに、画像は、非製品であるとみなされる。
【００５３】
上記の解決手段は、先ず画像の色特徴を抽出し、次いで既定の決定ルールと組み合わせてその画像が非製品画像であるかどうかを決定するために、デジタル画像解析技術を適用することによって、製品の写真のうち非製品画像を製品画像から自動的に区別し、システムがそれらを別々に処理することができるようにする。もちろん、本実施形態で説明されている決定ルールは、実際のデータから導き出された特定のルールに過ぎず、当業者ならば、種々の応用要求にしたがって様々な決定ルールを定めることができ、応用は、この点において制限されない。
【００５４】
上記の応用にしたがった技術的解決策は、ユーザから写真がアップロードされる段階に適用することができ、ユーザからアップロードされた写真が非製品画像であることが検出されたとき、システムは、その写真の受け入れを拒絶する又はその非製品画像をアップロードしているユーザにメッセージを返してアップロードのしなおしを促すことによって、システムにおける写真の妥当性を保証することができる。上記の解決策は、非製品画像を排除することによってデータマイニングに対する影響を軽減するために、データマイニングに先立って適用することもできる。また、認識された非製品画像は、システムのストレージスペースを節約するために削除することもできる。
【００５５】
図６は、非製品画像を認識するように構成されたシステムの一実施形態を示したブロック図である。システム６００は、パソコン、サーバコンピュータ、ハンドヘルドデバイスすなわち携帯用デバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子デバイス、ネットワークＰＣ、ミニコンピュータ、大型コンピュータ、特殊用途向けデバイス、上記のシステム若しくはデバイスのうちの任意を含む分散コンピューティング環境、又は１つ若しくは２つ以上のプロセッサと該プロセッサにつながれたメモリとを含みプロセッサに命令を提供するように構成されたその他のハードウェア／ソフトウェア／ファームウェアの組み合わせなどの、１つ又は２つ以上のコンピューティングデバイスを使用して実装されえる。
【００５６】
図に示された例では、システム６００は、ソース画像の中のそれぞれの画素の色特性値を得るように適応された特徴値取得ユニット８１０を含む。システムは、更に、ソース画像のメイン色を決定するように適応されたソース画像メイン色決定ユニット８２０を含む。一部の実施形態では、メイン色決定ユニットは、それぞれの色特性値に対応する画素の数をカウントするように及びカウント結果に基づいて決定を下すように構成される。システムにやはり含まれるのは、ソース画像が非製品画像であるかどうかをソース画像のメイン色の色特性値に基づいて認識するように適応された第１の認識ユニット８３０である。
【００５７】
図７は、非製品画像を認識するように構成されたシステムの別の実施形態を示したブロック図である。システム６００と同様に、システム７００もやはり、特徴値取得ユニット８１０と、メイン色決定ユニット８２０と、第１の認識ユニット８３０とを含む。システムは、更に、特性値取得ユニット８１０が特性値を取得する前にソース画像を既定のフォーマットに変換するように適応された画像変換ユニット８００と、ソース画像を幾つかの画像ブロックに分割してそれぞれの画像ブロックのメイン色を決定するように適応された画像ブロック処理ユニット８４０とを含む。また、システムは、それぞれの画像ブロックのメイン色にしたがってソース画像が非製品画像であるかどうかを認識するように適応された第２の認識ユニット８５０を含む。
【００５８】
上述されたユニットは、１つ又は２つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブルロジックデバイス及び／若しくは所定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、ユニットは、本発明の実施形態で説明されている方法をコンピュータデバイス（パソコン、サーバ、ネットワーク機器など）に実行させるための幾つかの命令を含み且つ不揮発性のストレージメディア（光ディスク、フラッシュストレージデバイス、モバイルハードディスクなど）に格納することができるソフトウェア製品の形で具現化することができる。ユニットは、１つのデバイス上に実装されてよい、又は複数のデバイスに分散されてよい。ユニットの機能は、互いに合体されてよい、又は更に複数のサブユニットに分割されてよい。
【００５９】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されず、本発明を実施するには、多くの代替的手法がある。開示された実施形態は、例示的であって限定的ではない。
適用例１：画像認識方法であって、ソース画像の中の画素の色特性値を取得し、前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定すること、を備える方法。
適用例２：適用例１に記載の方法であって、前記ソース画像の前記メイン色を決定することは、前記ソース画像の中の画素の前記色特性値に対応する画素の数を決定し、最も高い画素カウント数を有する前記色特性値に対応する色を識別することを含む、方法。
適用例３：適用例１に記載の方法であって、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像である見込みがあるか否かの予備決定を実行し、前記ソース画像が非製品画像である見込みがあると決定された場合に、前記ソース画像を複数の画像ブロックに分割し、前記それぞれの画像ブロックのメイン色を決定し、前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することと、を含む、方法。
適用例４：適用例３に記載の方法であって、前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、特定のメイン色を持つ画像ブロックの数に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、方法。
適用例５：適用例３に記載の方法であって、前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、前記ソース画像内における、特定のメイン色を持つ画像ブロックの相対的な位置に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、方法。
適用例６：適用例３に記載の方法であって、前記ソース画像を複数の画像ブロックに分割することは、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割することを含む、方法。
適用例７：適用例１に記載の方法であって、更に、前記ソース画像を既定のフォーマットにしたがって変換することを備え、前記ソース画像の中の前記画素の前記色特性値を取得することは、前記画素の前記色特性値を前記変換されたフォーマットにおいて得ることを含む、方法。
適用例８：適用例１に記載の方法であって、前記色特性値は、ＲＧＢ値である、方法。
適用例９：適用例１に記載の方法であって、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、前記メイン色が黒又は白であるか否かを決定し、前記メイン色が黒又は白である場合に、前記ソース画像を製品画像として認識すること、を含む、方法。
適用例１０：適用例９に記載の方法であって、前記メイン色が黒又は白である場合に、前記方法は、更に、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割することを備える方法。
適用例１１：適用例１０に記載の方法であって、前記メイン色が黒又は白である場合に、前記方法は、更に、特定のメイン色を持つ画像ブロックの数にしたがって、前記ソース画像が非製品画像であるか否かを認識することを備える方法。
適用例１２：適用例１０に記載の方法であって、前記メイン色が黒又は白である場合に、前記方法は、更に、前記ソース画像内における特定のメイン色を持つ画像ブロックの相対的な位置にしたがって、前記ソース画像が非製品画像であるか否かを認識することを備える方法。
適用例１３：画像認識システムであって、１つ又は２つ以上のプロセッサであって、ソース画像の中の画素の色特性値を取得し、前記色特性値に少なくとも部分的に基づいて、前記ソース画像のメイン色を決定し、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定するように、構成された１つ又は２つ以上のプロセッサと、前記１つ又は２つ以上のプロセッサに接続され、前記１つ又は２つ以上のプロセッサに命令を提供するように構成されている、１つ又は２つ以上のメモリと、を備えるシステム。
適用例１４：適用例１３に記載のシステムであって、前記ソース画像の前記メイン色を決定することは、前記ソース画像の中の画素の前記色特性値に対応する画素の数を決定し、最も高い画素カウント数を有する前記色特性値に対応する色を識別することを含む、システム。
適用例１５：適用例１３に記載のシステムであって、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像である見込みがあるか否かの予備決定を実行し、前記ソース画像が非製品画像である見込みがあると決定された場合に、前記ソース画像を複数の画像ブロックに分割し、前記それぞれの画像ブロックのメイン色を決定し、前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定すること、を含む、システム。
適用例１６：適用例１５に記載のシステムであって、前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、特定のメイン色を持つ画像ブロックの数に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、システム。
適用例１７：適用例１５に記載のシステムであって、前記それぞれの画像ブロックの前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるかどうかを決定することは、前記ソース画像内における特定のメイン色を持つ画像ブロックの相対的な位置に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することを含む、システム。
適用例１８：適用例１５に記載のシステムであって、前記ソース画像を複数の画像ブロックに分割することは、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割することを含む、システム。
適用例１９：適用例１３に記載のシステムであって、前記１つ又は２つ以上のプロセッサは、更に、前記ソース画像を既定のフォーマットにしたがって変換するように構成され、前記ソース画像の中の前記画素の前記色特性値を取得することは、前記画素の前記色特性値を前記変換されたフォーマットにおいて得ることを含む、システム。
適用例２０：適用例１３に記載のシステムであって、前記ソース画像の前記メイン色に少なくとも部分的に基づいて、前記ソース画像が非製品画像であるか否かを決定することは、前記メイン色が黒又は白であるか否かを決定し、前記メイン色が黒又は白である場合に、前記ソース画像を製品画像として認識することと、を含む、システム。
適用例２１：適用例９に記載の方法であって、前記メイン色が黒又は白である場合に、前記方法は、更に、前記ソース画像を３×３レイアウトの９つの画像ブロックに分割することを備える方法。
適用例２２：適用例１０に記載の方法であって、前記メイン色が黒又は白である場合に、前記方法は、更に、特定のメイン色を持つ画像ブロックの数にしたがって、前記ソース画像が非製品画像であるか否かを認識することを備える方法。
適用例２３：適用例１０に記載の方法であって、前記メイン色が黒又は白である場合に、前記方法は、更に、前記ソース画像内における特定のメイン色を持つ画像ブロックの相対的な位置にしたがって、前記ソース画像が非製品画像であるか否かを認識することを備える方法。
【図１Ａ】
0005409910.tif 000002
【図１Ｂ】
0005409910.tif 000003
【図２】
0005409910.tif 000004
【図３】
0005409910.tif 000005
【図４】
0005409910.tif 000006
【図５】
0005409910.tif 000007
【図６】
0005409910.tif 000008
【図７】
0005409910.tif 000009