(57)【特許請求の範囲】
【請求項１】
画像特徴抽出を実行する方法であって、
オブジェクトを含む切り取り画像を原画像から抽出し、
前記切り取り画像の境界を単一色で塗りつぶして背景として、最小正方形画像を生成し、
前記最小正方形画像のサイズを変更して、第１の所定サイズを有するサイズ変更後の正方形画像を生成し、
前記サイズ変更後の正方形画像を、第２の所定サイズを有するサブ画像ブロックに分割し、
各前記サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出し、
各前記サブ画像ブロックに関して、５要素の固有ベクトルを取得し、
すべての前記サブ画像ブロックの前記５要素の固有ベクトルを用いて、前記原画像の画像固有ベクトルを形成すること
とを備え、
前記５要素ベクトルは、前記水平方向の光度導関数の極値の数、前記鉛直方向の光度導関数の極値の数、前記＋４５°の方向の光度導関数の極値の数、前記−４５°の方向の光度導関数の極値の数、および前記サブ画像ブロックの４つ境界上に存在する極値の総数により規定される、
方法。
【請求項２】
請求項１に記載の方法はさらに、前記原画像の前記画像固有ベクトルを、複数の保存画像に対応する複数の保存固有ベクトルと比較して、一致する保存画像を特定すること、を備える方法。
【請求項３】
請求項１に記載の方法であって、
前記切り取り画像の抽出は、前記オブジェクトの境界と前記原画像の背景との間のグレースケール値の差に基づいて行なわれる、方法。
【請求項４】
請求項３に記載の方法であって、
前記切り取り画像の抽出はさらに、
前記原画像の各列における複数の画素のグレースケール値の合計を、前記各列のグレースケール値として算出し、
前記合計を前記各列のグレースケール値として記録し、
前記原画像において隣接する左右２列のグレースケール値間の左列から右列への差を算出し、
差が閾値よりも大きい場合に、前記右列のｘ座標ｘaを記録し、
前記原画像において隣接する左右２列のグレースケール値間の右列から左列への差を算出し、
差が閾値よりも大きい場合に、前記左列のｘ座標ｘbを記録し、
前記原画像の各行における複数の画素のグレースケール値の合計を、前記各行のグレースケール値として算出し、
前記合計を前記各行のグレースケール値として記録し、
前記原画像において隣接する上下２行のグレースケール値間の上の行から下の行への差を算出し、
差が閾値よりも大きい場合に、前記隣接する２つの行のうち下の行のｙ座標ｙaを記録し、
前記原画像において隣接する上下２行のグレースケール値間の下の行から上の行への差を算出し、差が閾値よりも大きい場合に、前記隣接する２つの行のうち上の行のｙ座標ｙbを記録し、
前記原画像から前記オブジェクトを含む（ｘa，ｘb，ｙa，ｙb）の座標範囲の切り取り方形画像を取得すること、を備える、方法。
【請求項５】
請求項１に記載の方法であって、
前記切り取り画像の境界の塗りつぶしはさらに、
ＲＧＢ値（０，０，０）を有する色で前記切り取り画像を塗りつぶして前記背景とすることを備える、方法。
【請求項６】
請求項１に記載の方法であって、
前記サイズ変更後の画像の分割は、さらに、
前記サイズ変更後の画像を、第２の所定サイズを有する非重複サブ画像ブロックに分割することを備える、方法。
【請求項７】
請求項１に記載の方法はさらに、前記切り取り画像の長さと幅とを比較し、
前記長さが前記幅よりも大きい場合に、前記切り取り画像を時計回りに９０°回転させること、を備える方法。
【請求項８】
請求項１に記載の方法はさらに、前記切り取り画像の上半分のグレースケール値の合計と前記切り取り画像の下半分のグレースケール値の合計とを比較し、
前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像を反転させること、を備える方法。
【請求項９】
請求項１に記載の方法はさらに、前記最小正方形画像の上半分のグレースケール値の合計と前記最小正方形画像の下半分のグレースケール値の合計とを比較し、
前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像又は前記最小正方形画像を反転させること、を備える方法。
【請求項１０】
画像特徴抽出システムであって、
１つ以上のプロセッサであって、
オブジェクトを含む切り取り画像を原画像から抽出する処理と、
前記切り取り画像の境界を単一色で塗りつぶして背景として、最小正方形画像を生成する処理と、
前記最小正方形画像のサイズを変更して、第１の所定サイズを有するサイズ変更後の正方形画像を生成する処理と、
前記サイズ変更後の正方形画像を、第２の所定サイズを有するサブ画像ブロックに分割する処理と、
各前記サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出する処理と、
各前記サブ画像ブロックに関して、５要素の固有ベクトルを取得する処理と、
すべての前記サブ画像ブロックの前記５要素の固有ベクトルを用いて、前記原画像の画像固有ベクトルを形成する処理と、を実行するように構成される１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続される１つ以上のメモリであって、前記プロセッサに命令を与えるように構成される１つ以上のメモリと、を備え、
前記５要素ベクトルは、前記水平方向の光度導関数の極値の数、前記鉛直方向の光度導関数の極値の数、前記＋４５°の方向の光度導関数の極値の数、前記−４５°の方向の光度導関数の極値の数、および前記サブ画像ブロックの４つ境界上に存在する極値の総数により規定される、システム。
【請求項１１】
請求項１０記載のシステムであって、
前記１つ以上のプロセッサは、さらに、前記原画像の前記画像固有ベクトルを、複数の保存画像に対応する複数の保存固有ベクトルと比較して、一致する保存画像を特定する処理を実行するように構成されている、システム。
【請求項１２】
請求項１０記載のシステムであって、
前記切り取り画像の抽出処理は、前記オブジェクトの境界と前記原画像の背景との間のグレースケール値の差に基づいて行なわれる、システム。
【請求項１３】
請求項１２記載のシステムであって、
前記切り取り画像の抽出処理はさらに、
前記原画像の各列における複数の画素のグレースケール値の合計を、前記各列のグレースケール値として算出する処理と、
前記合計を前記各列のグレースケール値として記録する処理と、
前記原画像において隣接する左右２列のグレースケール値間の左列から右列への差を算出する処理と、
差が閾値よりも大きい場合に、前記右列のｘ座標ｘaを記録する処理と、
前記原画像において隣接する左右２列のグレースケール値間の右列から左列への差を算出する処理と、
差が閾値よりも大きい場合に、前記左列のｘ座標ｘbを記録する処理と、
前記原画像の各行における複数の画素のグレースケール値の合計を、前記各行のグレースケール値として算出する処理と、
前記合計を前記各行のグレースケール値として記録する処理と、
前記原画像において隣接する上下２行のグレースケール値間の上の行から下の行への差を算出する処理と、
差が閾値よりも大きい場合に、前記隣接する２つの行のうち下の行のｙ座標ｙaを記録する処理と、
前記原画像において隣接する上下２行のグレースケール値間の下の行から上の行への差を算出し、差が閾値よりも大きい場合に、前記隣接する２つの行のうち上の行のｙ座標ｙbを記録する処理と、
前記原画像から前記オブジェクトを含む（ｘa，ｘb，ｙa，ｙb）の座標範囲の切り取り方形画像を取得する処理と、を備える、システム。
【請求項１４】
請求項１０に記載のシステムであって、
前記切り取り画像の境界の塗りつぶし処理はさらに、
ＲＧＢ値（０，０，０）を有する色で前記切り取り画像を塗りつぶして前記背景とすることを備える、システム。
【請求項１５】
請求項１０に記載のシステムであって、
前記サイズ変更後の画像を分割する処理はさらに、
前記サイズ変更後の画像を、第２の所定サイズを有する非重複サブ画像ブロックに分割することを備える、システム。
【請求項１６】
請求項１０記載のシステムであって、
前記１つ以上のプロセッサはさらに、
前記切り取り画像の長さと幅とを比較する処理と、
前記長さが前記幅よりも大きい場合に、前記切り取り画像を時計回りに９０°回転させる処理と、を実行するように構成される、システム。
【請求項１７】
請求項１０記載のシステムであって、
前記１つ以上のプロセッサはさらに、
前記切り取り画像の上半分のグレースケール値の合計と前記切り取り画像の下半分のグレースケール値の合計とを比較する処理と、
前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像を反転させる処理と、を実行するように構成される、システム。
【請求項１８】
請求項１０記載のシステムであって、
前記１つ以上のプロセッサはさらに、
前記最小正方形画像の上半分のグレースケール値の合計と前記最小正方形画像の下半分のグレースケール値の合計とを比較する処理と、
前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像又は前記最小正方形画像を反転させる処理と、を実行するように構成される、システム。
【請求項１９】
画像特徴抽出を実行するためのコンピュータプログラムであって、
オブジェクトを含む切り取り画像を原画像から抽出するための機能と、
前記切り取り画像の境界を単一色で塗りつぶして背景として、最小正方形画像を生成するための機能と、
前記最小正方形画像のサイズを変更して、第１の所定サイズを有するサイズ変更後の正方形画像を生成するための機能と、
前記サイズ変更後の正方形画像を、第２の所定サイズを有するサブ画像ブロックに分割するための機能と、
各前記サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出するための機能と、
各前記サブ画像ブロックに関して、５要素の固有ベクトルを取得するための機能と、
すべての前記サブ画像ブロックの前記５要素の固有ベクトルを用いて、前記原画像の画像固有ベクトルを形成するための機能と、
をコンピュータによって実現させ、
前記５要素ベクトルは、前記水平方向の光度導関数の極値の数、前記鉛直方向の光度導関数の極値の数、前記＋４５°の方向の光度導関数の極値の数、前記−４５°の方向の光度導関数の極値の数、および前記サブ画像ブロックの４つ境界上に存在する極値の総数により規定される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本願は、参照により全体が本明細書に組み込まれる、２００９年２月１３日に「METHOD AND SYSTEM FOR IMAGE FEATURE EXTRACTION（画像特徴抽出方法及びシステム）」の名称で出願された中国特許出願200910007218.9に基づく優先権を主張する。
【０００２】
本願は、画像処理技術に関し、特に、画像特徴抽出方法及びシステムに関する。
【背景技術】
【０００３】
画像処理において、画像から抽出される特徴は、主に、色、テクスチャ及び形状の３種類に分類できる。本出願は、形状に基づく画像特徴の抽出に主眼を置いたものある。
【０００４】
さまざまな分野で、画像特徴抽出は広く利用されている。たとえば、画像検索の分野において、サーチエンジンは、画像データベース内の画像とユーザーにより提供された画像とを比較し、ユーザーにより提供された画像に最も類似する画像を画像データベースから返送する画像クエリ―サービスを提供する。このような画像検索システムでは、画像の特徴の比較が行なわれるため、これらの画像に関して前もって特徴抽出処理を実行する必要がある。
【０００５】
形状に基づく画像特徴抽出及びデジタル画像処理では、通常、ハフ変換（Hough transformation）が用いられる。ハフ変換は、画像平面内の１つの点をパラメータ平面内の１本の線に変換し、統計的特性に応じて画像特徴を抽出する。ハフ変換の要旨は以下の通りである。画像空間において、１本の直線は式ｙ＝ｋ×ｘ＋ｂで表わされる。ここで、ｋは傾きパラメータであり、ｂは切片パラメータである。点（ｘ0，ｙ0）を通る各直線は、式ｙ0＝ｋ×ｘ0＋ｂを満たすパラメータを有する。式ｂ＝ｙ−ｋ×ｘを用いて、所定の光度条件を満たす対象画像平面（ｘ，ｙ）内の１つの点に対応する（ｋ，ｂ）パラメータ平面内の１本の直線が得られる。直線上の各点を値１で示すと、複数の直線が交わる点は、その点を通る直線の数を表す値で示される。この方法に従って、（ｋ，ｂ）パラメータ平面内の直線を表わす対象画像平面（ｘ，ｙ）における直線群が得られる。（ｋ，ｂ）パラメータ平面内でこれらの直線が交わる点が最も高い値を有する。（ｋ，ｂ）パラメータ平面内におけるこの点は、対象画像平面（ｘ，ｙ）内の直線を表わす。したがって、上述の方法に従って、パラメータ平面内で最も高い値を有する点を算出して見つけることにより、画像平面内の直線を検出することができる。同様に、複数の直線も検出可能であり、また、円や円弧にも同様のアプローチを適用できる。
【０００６】
画像特徴抽出における従来のハフ変換アプローチを図１に例示する。図１の画像は、１０×１０画素の大きさである。画像の左下角を縦軸の原点とすると、画像内の１本の直線は、式ｙ＝５で表わされる。画像の背景の光度が低く、直線上の点の光度が高いと仮定する。ハフ変換を用いて、以下の手順に従い、直線を検出することができる。
【０００７】
ステップ１：図１の画像における各点をその座標に従い検出する。
【０００８】
ステップ２：対象画像内の点（ｘ0，ｙ0）が所定の閾値よりも高い光度を有すると検出された場合に、（図２に示すような）パラメータ平面内で直線ｂ＝ｙ0−ｋ×ｘ0を特定し、この特定された直線上の各点に値１（すなわち、α値）を割り当てる。
【０００９】
ステップ３：パラメータ平面内で特定された複数の直線の交点に関して、交点を通る直線の数をその交点のα値として規定する。あるいは、交点を通る直線のα値の合計をその交点のα値として規定してもよい。
【００１０】
結果として、図１の対象画像内の直線ｙ＝５に関して、図２のパラメータ平面において最も高いα値を有し、パラメータがｋ＝０及びｂ＝５である点を特定することができる。すなわち、パラメータ平面内の点（０，５）は、対象画像における直線ｙ＝５を表わす。また、座標値０及び５は、それぞれ、傾きパラメータと切片パラメータである。したがって、対象平面内の直線ｙ＝５は、パラメータ平面内の点（０，５）により検出される。
【００１１】
ハフ変換を用いた画像特徴抽出では、浮動小数点数が算出される。たとえば、直線の傾きパラメータの算出に、浮動小数点計算が用いられる。円や円弧の場合には、もっと複雑な浮動小数点計算が必要になる。当業者に周知のように、浮動小数点計算は、ＣＰＵ等のハードウェアに大きな負荷となる。結果として、ハードウェアの性能が影響を受けるため、より効果的な画像特徴抽出技術が必要とされている。
【図面の簡単な説明】
【００１２】
本発明の種々の実施例を、添付の図面と共に、以下に詳細に説明する。
【００１３】
【図１】従来のハフ変換（Hough transformation）画像特徴抽出法を用いた対象画像の例を示す図。
【００１４】
【図２】ハフ変換画像特徴抽出法を用いたパラメータ平面の例を示す図。
【００１５】
【図３Ａ】画像特徴抽出システムの一実施例を示すブロック図。
【００１６】
【図３Ｂ】画像特徴抽出処理の一実施例を示すフローチャート。
【００１７】
【図３Ｃ】オブジェクトの左右境界を検出する処理の一実施例を示すフローチャート。
【００１８】
【図３Ｄ】オブジェクトの上下境界を検出する処理の一実施例を示すフローチャート。
【００１９】
【図４Ａ】切り取り画像を塗りつぶす処理によって得られる最小正方形の一実施例を示すブロック図。
【００２０】
【図４Ｂ】光度導関数算出に用いられるサブ画像ブロックの例を示すブロック図。
【００２１】
【図５】画像特徴抽出システムの一実施例を示すブロック図。
【００２２】
【図６】画像特徴抽出システムの別の実施例を示すブロック図。
【００２３】
【図７】画像特徴抽出システムの別の実施例を示すブロック図。
【００２４】
【図８】画像特徴抽出システムの別の実施例を示すブロック図。
【発明を実施するための形態】
【００２５】
本発明は、処理、装置、システム、組成、コンピュータ読み取り可能な記憶媒体上に具現化されるコンピュータプログラム製品、及び／又は、プロセッサに接続されるメモリ上に記憶される及び／又はメモリによって提供される命令を実行するように構成されるプロセッサ等のプロセッサ等、さまざまな形態で実施可能である。本明細書において、このような実施形態又はその他本発明が採用し得る任意の実施形態を「技術（technique）」とも称する。一般に、記載されている処理工程の順序は、本発明の範囲内で変更が可能である。特に明記しない限り、タスクを実行するように構成されるプロセッサやメモリ等の構成要素は、所定の時にタスクを実行するように一時的に構成される一般的な構成要素でもよいし、あるいは、タスクの実行用に製造された専用の構成要素でもよい。本明細書において、「プロセッサ」という用語は、コンピュータプログラム命令等のデータを処理するように構成される１つ以上のデバイス、回路、及び／又は処理コアを意味する。
【００２６】
以下、本発明の原理を図示する添付の図面を参照して、本発明の実施例を詳細に説明する。本発明をこれらの実施例に基づいて説明するが、本発明は何らこれらの実施例に限定されるものではない。本発明の要旨は、特許請求の範囲によってのみ限定されるものであり、本発明は、種々の変形や変更及び等価の形態を包含する。本発明の理解を深める目的で、以下、具体的な詳細を説明するが、これらの詳細は例示に過ぎず、これらの具体的な詳細の一部または全部を省略しても、特許請求の範囲に従って本発明を実施可能である。本発明が不必要に分かりにくくならないように、本発明に関係する技術分野で周知の技術的事項に関しては、その詳細な説明を省略する。
【００２７】
図３Ａは、画像特徴抽出システムの一実施例を示すブロック図である。図示した例では、画像特徴抽出システム３８０は、画像特徴抽出サーバ３８２を備え、画像特徴抽出サーバ３８２は、１つ以上のメモリに接続される１つ以上のプロセッサを有する１つ以上のデバイスを備えるものでもよい。画像特徴抽出サーバ３８２は、さらに、ユーザー入力、たとえば、インターネットや他の通信ネットワークであるネットワーク３８８を介してクライアントデバイス３８９等から送信されたユーザー入力、を受けるように構成される１つ以上のインターフェースを備える。通信インターフェースの例としては、これらに限定されるものではないが、ポート、ケーブル、有線、無線ネットワークインターフェースカード等の外部接続、及び、通信バス等の内部接続が挙げられる。クライアントデバイスは、コンピュータやネットワーク能力を有する携帯機器等の計算装置でもよい。画像特徴抽出サーバ３８２は、画像を格納する画像データベース３８４にアクセスする。
【００２８】
以下に詳細に説明するように、画像のユーザー入力を受けると、画像特徴抽出サーバ３８２は、画像を処理して、画像の具体的な特徴を抽出する。ある実施例では、サーチエンジン３８６は、画像特徴抽出サーバ３８２により抽出された画像の特徴に従って、画像データベース３８４のコンテンツを検索し、検索結果である画像を返送する。
【００２９】
図３Ｂは、画像特徴抽出処理の一実施例を示すフローチャートである。この処理は、たとえば、システム３８０で実行される。
【００３０】
ステップ３１０では、対象オブジェクトを含む画像が原画像から切り取られる。
【００３１】
一般的に、原画像には、対象オブジェクト以外にも背景が含まれる。多くの場合、背景は原画像の周縁部に位置し、オブジェクトは原画像の中心部に位置する。さらに、オブジェクト端部（エッジ部）の画素のグレースケール値と背景の画素のグレースケール値とは大きく異なる。したがって、オブジェクト端部のグレースケール値と背景のグレースケール値との差に基づいて、対象画像を含む画像を原画像から切り取ることができる。
【００３２】
オブジェクトの切り取りを容易にするために、複数の処理ステップで、原画像に含まれるオブジェクトの境界を検出するようにしてもよい。図３Ｃは、オブジェクトの左右境界を検出する処理の一実施例を示すフローチャートである。
【００３３】
ステップ３１１ａでは、原画像のすべての画素に関して、各列のグレースケール値の合計が算出される。たとえば、１０×１０画素の画像において、各画素はグレースケール値を有する。各列に含まれる１０個の画素すべてのグレースケール値の合計を算出して、この列のグレースケール値と規定する。列グレースケール値をアレイ状に格納するようにしてもよい。
【００３４】
ステップ３１２ａでは、原画像において隣接する左右２列のグレースケール値間の左列から右列への差を算出して、差が閾値よりも大きい場合に、右列のｘ座標（ｘa）が記録される。たとえば、ステップ３１１ａにおいてアレイ状に格納されたすべての列のグレースケール値が左から右に走査され、アレイ内の隣接値間の差が順次算出される。走査の結果、第２列と第３列との間のグレースケール値の差が、所定の閾値である３０よりも大きな５０である場合、第３列のｘ座標ｘ3が記録される。これは、アレイ内の第３の要素のインデックスに対応する。このようにして、原画像におけるオブジェクトの位置を示す左側の境界が検出される。
【００３５】
あるいは、別の実施例において、走査の結果、閾値よりも差が大きければ、左列のｘ座標が記録されるようにしてもよい。たとえば、第２列と第３列との間のグレースケール値の差が、所定の閾値である３０よりも大きな５０である場合、第２列のｘ座標ｘ2が記録されてもよい。これは、アレイ内の第２の要素のインデックスに対応する。いずれの実施例でも性能に差はない。
【００３６】
ステップ３１２ａと同様に、ステップ３１３ａでは、原画像において隣接する左右２列のグレースケール値間の右列から左列への差が算出され、差が閾値よりも大きい場合に、左列のｘ座標ｘbが記録される。このようにして、原画像におけるオブジェクトの位置を示す右側の境界が検出される。
【００３７】
ステップ３１２ａ及び３１３ａにおいて用いられる閾値は経験に基づいて決められる値であってもよい。たとえば、オブジェクトの境界が背景と大きく異なり、グレースケール値の差が所定の値よりも大きい場合、当該所定の値が閾値として用いられてもよい。
【００３８】
図３Ｄは、オブジェクトの上下境界を検出する処理の一実施例を示すフローチャートである。
【００３９】
ステップ３１１ｂでは、原画像のすべての画素に関して、各行のグレースケール値の合計を算出される。ステップ３１２ｂでは、原画像において隣接する上下２行のグレースケール値間の上の行から下の行への差が算出され、差が閾値よりも大きい場合に、下の行のｙ座標（ｙa）が記録される。ステップ３１３ｂでは、原画像において隣接する上下２行のグレースケール値間の下の行から上の行への差が算出され、差が閾値よりも大きい場合に、上の行のｙ座標ｙbが記録される。
【００４０】
このように、一方の座標をｙa、他方の座標をｙbとして、原画像におけるオブジェクトの位置を示す上下の境界が検出される。
【００４１】
図３Ｃ及び図３Ｄに示す処理工程の結果、（ｘa，ｘb，ｙa，ｙb）の座標範囲の方形画像が、原画像から切り取りオブジェクト画像として切り取られる。
【００４２】
上述の実施例では、原画像から方形画像を切り取る処理例を説明した。これは単純で容易な例である。他の実施例では、より複雑な処理工程でオブジェクトを切り取るようにしてもよい。たとえば、２本の対角線方向のグレースケール値の差が算出されてもよい。これにより、２本の対角線方向のオブジェクトの境界が検出され得、結果として、原画像におけるオブジェクトを含む８角形の切り取り画像が検出され得る。方向をさらに追加することにより、同様に、オブジェクトを含む１６角形、３２角形又は６４角形の切り取り画像が得られる。
【００４３】
原画像を水平方向に複数のサブ領域に分割するようにしてもよい。上述した方法と同様にして、各サブ領域のオブジェクトの左右の境界を検出することができる。また、原画像を鉛直方向に複数のサブ領域に分割するようにしてもよい。同様にして、各サブ領域のオブジェクトの上下の境界を検出することができる。このようにして、オブジェクトを含む多角形の切り取り画像が得られる。
【００４４】
図３Ｂに戻る。ステップ３２０では、方形の切り取り画像を内包し、かつ、最も周囲の長さが短い正方形が求められる。この正方形を、以下、「最小正方形」と呼ぶ。切り取り画像の境界の外側を含め最小正方形の内側の領域を単一色で塗りつぶして背景とする。単一色としては、ＲＧＢ色のいずれの色であってもよい。処理が簡単で、切り取り画像に干渉することなく、次段の光度導関数算出が容易になるため、色（０，０，０）が単一色として用いられることが多い。
【００４５】
図４Ａは、切り取り画像を塗りつぶす処理によって得られる最小正方形の一実施例を示すブロック図である。４０２が原画像から切り取られた切り取り画像を示し、４０４が最小正方形を示す。
【００４６】
切り取り画像を単一色で塗りつぶして最小正方形を得る処理は、オブジェクトを含む切り取り画像の所定サイズを有するサブ画像ブロックへの分割を容易にする目的で行なわれる。
【００４７】
図３Ｂに戻る。ステップ３３０では、最小正方形画像は、第１の所定サイズを有する正方形画像にサイズ変更され、サイズ変更後の画像は第２の所定サイズを有する非重複サブ画像ブロックに分割される。
【００４８】
たとえば、最小正方形画像は、６４×６４画素の画像又は１２８×１２８画素の画像にサイズ変更される。最小正方形は、切り取りオブジェクトの長さと幅の比を変えないように、第１の所定サイズの正方形にサイズ変更される。次に、サイズ変更後の正方形画像は、１６×１６画素、８×８画素又は３２×３２画素等の第２の所定サイズを有する非重複サブ画像ブロックに分割される。たとえば、第１の所定サイズが６４×６４画素であり、第２の所定サイズが１６×１６画素である。この場合、オブジェクトを含む画像は４×４のサブ画像ブロックに分割される。
【００４９】
この処理は、オブジェクトを含む正方形画像を正規化して、次段の画像処理工程を標準化及び単純化する目的で行なわれる。第１の所定サイズ及び第２の所定サイズはいずれも予め設定される。設定したサイズが妥当であれば、実質的な差は生じない。
【００５０】
サイズ変更後の画像を重複サブ画像ブロックに分割することも考えられる。ただし、このような分割は実行可能ではあるが、計算が複雑になり、画像の固有ベクトルの最終的な出力の次元数が増大する可能性がある。
【００５１】
図３Ｂに戻る。ステップ３４０では、サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数が算出される。これにより、サブ画像ブロックの固有ベクトルが得られる。
【００５２】
サブ画像ブロックの固有ベクトルは、サブ画像ブロックの特徴を表わし、上述した４つの方向の導関数の極値の数及びサブ画像ブロックの４つの境界上に存在する極値の総数により規定される。固有ベクトルを５要素ベクトル、すなわち、M(a,b,c,d,e)で示される５つのベクトル要素を持つベクトルとしてもよい。この例では、５要素ベクトルはM(0,0,0,0,0)に初期化される。
【００５３】
初期化後に、光度導関数が算出されてもよい。光度導関数は、「光度導関数」＝画素間の「光度差／距離」で表わされる。光度値は、ヒトの目の視覚感度を表わす光度曲線を用いて、周知の方法で算出可能である。たとえば、式L＝116／3×(0.212649×R／255＋0.715169×G／255＋0.072182×B／255)（ここで、R、G及びBは各色値を示す）を用いて光度を計算してもよい。通常、L=1は光度１００％を、L=0は光度０％の暗黒を示し、０から１の範囲の浮動小数点値は１と２５５との間の整数に対応する。したがって、光度導関数は、画素間の光度変化を表わす。画像特徴抽出では、オブジェクトの端部すなわち境界の光度が画像の他の部分の光度と大きく異なることを前提として、画像に含まれるオブジェクトの端部すなわち境界が検出される。したがって、画像に含まれるオブジェクトの形状を数値で表わすことができる。
【００５４】
画像の特徴は光度導関数の極値で表わされ得る。具体的に説明すると、所定の方向に隣接する２つの画素すべてに関して、光度導関数の極値を計算する。この処理では、ある画素の光度導関数の正負記号が隣接画素と異なる場合、その画素が光度導関数の極値となる。物理的に言えば、極値が存在する点が、通常、オブジェクトと画像の他の部分との間の境界を形成する。あるいは、他の部分の形状特徴と異なるオブジェクトの一部の形状特徴を形成する。したがって、このような極値を用いて、オブジェクトの形状特徴を表わすことができる。
【００５５】
たとえば、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数が算出される。図４Ｂは、光度導関数算出に用いられるサブ画像ブロックの例を示すブロック図である。
【００５６】
最初に、水平方向の光度導関数が算出される。図４Ｂを参照すると、隣接画素（１，２）、（２，３）、（３，４）等の光度導関数が算出される。光度導関数は、単純に、隣接画素の光度値間の差であってもよい。光度導関数の極値が１つだけサブ画像ブロック内部に存在し位置する場合には、ｂが１つインクリメントされる。極値が複数存在する場合には、ｂ値は極値の数に等しくなる。極値がサブ画像ブロックの境界上に位置する場合には、ａが１つインクリメントされる。ここで、画素の光度導関数は、隣接する２つの列における画素の光度導関数を示す。
【００５７】
第２に、鉛直方向の光度導関数が算出される。図４Ｂを参照すると、隣接画素（１，７）、（７，１３）、（１３，１９）等の光度導関数が算出される。光度導関数の極値が１つだけサブ画像ブロック内部に存在し、位置する場合には、ｃが１つインクリメントされる。極値が複数存在する場合には、ｃ値は極値の数に等しくなる。極値がサブ画像ブロックの境界上に位置する場合には、ａが１つインクリメントされる。ここで、画素の光度導関数は、隣接する２つの列における画素の光度導関数を示す。
【００５８】
第３に、＋４５°の方向の光度導関数が算出される。図４Ｂを参照すると、隣接画素（２，７）、（３，８）、（４，９）等の光度導関数が算出される。光度導関数の極値が１つだけサブ画像ブロック内部に存在し、位置する場合には、ｄが１つインクリメントされる。極値が複数存在する場合には、ｄ値は極値の数に等しくなる。極値がサブ画像ブロックの境界上に位置する場合には、ａが１つインクリメントされる。ここで、画素の光度導関数は、＋４５°の方向の画素の光度導関数を示す。
【００５９】
最後に、−４５°の方向の光度導関数が算出される。図４Ｂを参照すると、隣接画素（１，８）、（２，９）、（３，１０）等の光度導関数が算出される。光度導関数の極値が１つだけサブ画像ブロック内部に存在し、位置する場合には、値１がｅに加算される。極値が複数存在する場合には、ｅ値は極値の数に等しくなる。極値がサブ画像ブロックの境界上に位置する場合には、値１がａに加算される。ここで、画素の光度導関数は、−４５°の方向の画素の光度導関数を示す。
【００６０】
上述の計算によって得られたサブ画像ブロックに対応する５要素ベクトルにおいて、ａは、サイズ変更後の画像におけるオブジェクトの境界がサブ画像ブロックの境界上に位置する回数を示す。ｂは、水平方向に画像特徴を有するサブ画像ブロックにおけるオブジェクトの端部の数を示す。ｃは、鉛直方向に画像特徴を有するサブ画像ブロックにおけるオブジェクトの端部の数を示す。ｄは、＋４５°の方向に画像特徴を有するサブ画像ブロックにおけるオブジェクトの端部の数を示す。ｅは、−４５°の方向に画像特徴を有するサブ画像ブロックにおけるオブジェクトの端部の数を示す。
【００６１】
サブ画像ブロックの形状特徴を示す５要素ベクトルにおけるａ、ｂ、ｃ、ｄ及びｅ値を別の方法で算出するようにしてもよい。
【００６２】
図３Ｂのステップ３４０で、各サブ画像ブロックの５要素ベクトルを取得する。このベクトルが、各サブ画像ブロックの形状特徴を示す。図３Ｂのステップ３５０では、すべてのサブ画像ブロックの固有５要素ベクトルから原画像の特性ベクトルが作成される。
【００６３】
たとえば、ステップ３２０の後、６４×６４画素サイズの画像は、１６×１６画素サイズを有する４×４個の非重複ブロックに分割される。５要素ベクトルにより各サブ画素ブロックの形状特徴が表わされる。したがって、４×４個のサブ画像ブロックに関して、１６個の５要素ベクトルが準備され、原画像の形状特徴を表わす８０個の要素を持つ画像固有ベクトルが形成される。
【００６４】
さらに、処理方法が、正規化工程を備えるようにしてもよい。たとえば、原画像から切り取られた切り取り画像の長さと幅とが比較される。長さが幅よりも大きい場合には、画像は時計回りに９０°回転させられる。この回転は、すべての画像を同じ方向に配列することを目的とする。たとえば、画像内でペン形状は鉛直方向または水平方向に配置され得るが、異なる画像のペン形状をすべて同じ方向に配列すれば各画像のペン形状の比較が容易になる。
【００６５】
他の実施例として、画像を反時計回りに回転させるようにしてもよい。
【００６６】
別の実施例においては、切り取り画像又は最小正方形画像の上半分のグレースケール値の合計と、切り取り画像又は最小正方形画像の下半分のグレースケール値の合計とが比較される。上半分のグレースケール値の合計が下半分のグレースケール値の合計よりも大きい場合には、切り取り画像又は最小正方形画像が反転される。
【００６７】
上述した回転処理の場合と同様に、反転処理も画像に含まれるオブジェクトの方向を正規化する目的で行なわれる。たとえば、ある画像に逆さまのリンゴが表示されているが、リンゴを含むほとんどの画像では、リンゴは真っすぐ立った状態で表示されているとする。この場合、ある画像を他の画像と比較するためには、逆さまのリンゴを示す画像を反転させる必要がある。上部が大きくて底部が小さなオブジェクトの場合、画像の上半分のグレースケール値の合計は画像の下半分のグレースケール値の合計よりも大きくなる。反対に、上部が小さくて底部が大きなオブジェクトの場合、画像の下半分のグレースケール値の合計は画像の上半分のグレースケール値の合計よりも大きくなる。この実施例では、計算に整数のみが関与して、浮動小数点計算は行なわれないため、同一のハードウェア構成を用いても、処理速度を大幅に改善することができる。
【００６８】
現実には、毎日１００万枚の画像製品を更新するサーチエンジンの場合、平均して、１秒間に１２枚の画像を処理する必要がある。すなわち、オーバーヘッドを考慮しない場合に、各画像の処理を１００ミリ秒以内に完了する必要がある。製品の更新に毎日４時間のスケジュールが当てられていると仮定し、また、ディスクとネットワークアクセスのオーバーヘッドを考慮すると、１秒間に５０枚の画像が処理される必要がある。すなわち、各画像の処理は２０ミリ秒以内に完了されなければならない。従来のハフ変換を適用する場合、標準的なクアドコアサーバを用いると、２００×２００画素の画像に含まれる直線を特定するだけで、約２０ミリ秒が必要となる。したがって、円形は言うまでもなく、直線のハフ変換を行なうだけでも、時間が足りない。
【００６９】
これに対して、画像をブロックに分割する手法を用いる本発明の種々の実施形態では、浮動小数点計算を行なわないため、処理速度が改善され得る。また、既存のマルチコアプロセッサは、分割された画像の並列処理に適している。２００×２００画素の画像を仮定した場合、本発明の種々の実施形態において、１０ミリ秒以内にすべての処理が完了され得る。
【００７０】
複数の画像を処理し、対応する固有ベクトル、画像、及び、画像に対応する製品に関する情報等、その他関連情報をデータベースに格納するシステムが用いられても良い。所定の画像がデータベースに格納された画像のいずれかと同一又は類似であるか否かを判断する要求を受け取ると、対象となる画像の固有ベクトルがデータベース内で検索される。一致する画像が見つかった場合には、一致する固有ベクトルを有するデータベース内の画像（又は画像の識別子）が返送される。
【００７１】
図５は、画像特徴抽出システムの一実施例を示すブロック図である。図示するように、システムは、以下の構成要素を備える。
【００７２】
原画像からオブジェクトを含む画像を切り取るように構成される切り取り部５１。
【００７３】
塗りつぶし後の画像が最小正方形になるように、切り取り画像の境界を単一色で塗りつぶして背景とするように構成される塗りつぶし部５２。
【００７４】
サイズ変更部５３１と分割部５３２とを備える正規化部５３。サイズ変更部５３１は、最小正方形画像を第１の所定サイズを有する正方形画像にサイズ変更するように構成され、分割部５３２は、サイズ変更後の画像を第２の所定サイズを有する非重複サブ画像ブロックに分割するように構成される。水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出し、４つの方向における光度導関数の極値の数とサブ画像ブロックの４つの境界上における極値の総数とによりサブ画像ブロックの固有ベクトルを規定するように構成される光度導関数算出・計数部５４。すべてのサブ画像ブロックの固有ベクトルから原画像の固有ベクトルを作成するように構成される作成部５５。
【００７５】
画像特徴抽出システムの一実施例において、正規化部５３は、さらに、図６に示すように、切り取り画像の長さと幅とを比較して、長さが幅よりも大きい場合に画像を９０°回転するように構成される回転部５３３を備えてもよい。
【００７６】
画像特徴抽出システムの別の実施例において、正規化部５３は、さらに、図７に示すように、切り取り画像の上半分のグレースケール値の合計と切り取り画像の下半分のグレースケール値の合計とを比較して、上半分のグレースケール値の合計が下半分のグレースケール値の合計よりも大きい場合に、塗りつぶし後の切り取り画像を反転するように構成される反転部５３４を備えてもよい。
【００７７】
図８に示す別の実施例において、正規化部５３は、回転部５３３と反転部５３４の両方を同時に備えてもよい。
【００７８】
実施例で説明したように、切り取り部５１は、原画像からオブジェクトを含む画像を切り取る。より具体的には、オブジェクトの端部と背景との間のグレースケール値の有意の差に基づき、原画像からオブジェクトを含む画像を切り取るようにしてもよい。切り取り処理は、さらに以下の処理を備えても良い。
【００７９】
原画像のすべての画素に関して、各列のグレースケール値の合計を算出すること。原画像において隣接する左右２列のグレースケール値間の左列から右列への差を算出して、差が閾値よりも大きい場合に、右列のｘ座標ｘaを記録すること。原画像において隣接する左右２列のグレースケール値間の右列から左列への差を算出して、差が閾値よりも大きい場合に、左列のｘ座標ｘbを記録すること。
【００８０】
原画像のすべての画素に関して、各行のグレースケール値の合計を算出すること。原画像において隣接する上下２行のグレースケール値間の上の行から下の行への差を算出して、差が閾値よりも大きい場合に、隣接する２つの行のうち下の行のｙ座標ｙaを記録すること。原画像において隣接する上下２行のグレースケール値間の下の行から上の行への差を算出して、差が閾値よりも大きい場合に、隣接する２つの行のうち上の行のｙ座標ｙbを記録すること。
【００８１】
原画像から切り取られるオブジェクトを含む画像として（ｘa，ｘb，ｙa，ｙb）の座標範囲の画像を規定すること。
【００８２】
上述の実施例からわかるように、装置又はシステムが、１つ以上のメモリと、ユーザー入力を受け取るように構成されるインターフェースと、インターフェースに接続される１つ以上のプロセッサと、を備えるようにしてもよい。１つ以上のプロセッサは、原画像からオブジェクトを含む画像を切り取り、最小正方形が得られるように切り取り画像の境界を単一色で塗りつぶして背景とし、最小正方形画像を所定サイズを有する正方形画像にサイズ変更し、サイズ変更後の画像を第２の所定サイズを有する非重複サブ画像ブロックに分割し、水平方向、鉛直方向、＋４５°、−４５°の方向の２つの隣接画素の光度導関数を算出し、４つの方向の導関数の極値の数と各サブ画像ブロックの４つの境界上における極値の総数とにより各サブ画像ブロックの固有ベクトルを規定し、すべてのサブ画像ブロックの固有ベクトルから原画像の固有ベクトルを作成するように構成される。このようにして、画像の形状特徴を、上述の装置／システム構成を用いて抽出することができる。本実施例の処理は計算に整数しか関与せず、浮動小数点計算が必要ではないため、従来技術と比較して、同じハードウェア構成を用いた場合の画像処理速度を大幅に改善することができる。
【００８３】
本発明の好適な実施例を説明したが、基本的な理解に基づき、当業者には自明のように様々な変更や変形が可能である。したがって、好適な実施例及びその変形例や変更例は、すべて、特許請求の範囲に包含されるものである。
【００８４】
画像特徴抽出システムの構成要素を、様々な機能部として説明してきた。上述の機能部は、所定の機能又はその組み合わせを実行するように設計されたプログラム可能論理回路及び／又は特定用途向け集積回路等、ハードウェアとしての１つ以上の汎用プロセッサ上で実行されるソフトウェア・コンポーネントとし、実現することができる。（パーソナルコンピュータ、サーバ、ネットワーク装置等の）コンピュータ装置に本発明の各実施例で説明した処理方法を実行させるような数多くの命令を含み、（光ディスク、フラッシュメモリ装置、可搬ハードディスク等の）不揮発性記憶媒体に記憶可能なソフトウェア製品の形態で、各機能部を実施するようにしてもよい。各機能部を一つの装置上で実現するようにしてもよいし、複数の装置上に分散するようにしてもよい。機能部の各機能を統合するようにしてもよいし、さらに、複数のサブユニットに分けるようにしてもよい。
【００８５】
実施例の説明から、当業者であれば、本発明をソフトウェア及び少なくともハードウェア・プラットフォームで実現可能であることが理解されるであろう。したがって、本発明を、コンピュータが利用可能なプログラムコードを含み、１つ以上のコンピュータが利用可能な記憶媒体（限定されるものではないが、たとえば、磁気ディスク記憶装置、ＣＤ−ＲＯＭ及び光学記憶装置）上で実現されるコンピュータプログラム製品の形態とすることもできる。
【００８６】
本発明の画像特徴抽出方法は、パーソナルコンピュータ、サーバ、携帯電話、その他の携帯機器、タブレット、マルチサーバシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電気機器、ネットワークＰＣ、小型コンピュータ、スーパーコンピュータ及び上述のシステムや装置のいずれかを用いる分散コンピューティング環境等、様々な汎用コンピュータシステム又は構成や専用コンピュータシステム又は構成に適用可能である。
【００８７】
本発明の実施例を、プログラムモジュール等、コンピュータにより実行されるコンピュータ実施可能な命令に照らして説明することもできる。プログラムモジュールは、通常、所定の機能を実行する、又は、所定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント又はデータ構造を含む。さらに、本発明を、通信ネットワークを介して接続される遠隔処理装置を用いて画像特徴抽出機能を実行する分散コンピューティング環境で実現することも可能である。分散コンピューティング環境において、ローカル記憶装置を含むローカル及び遠隔コンピュータ記憶媒体にプログラムモジュールが配置されるものでもよい。
【００８８】
以上、本発明の理解を助ける目的で、本発明のいくつかの実施例を詳細に説明したが、本発明は何らこれらの実施例に限定されるものではない。本発明は、多くの他の形態で実現可能であり、上述の実施例は例示に過ぎず、何ら発明を限定するものではない。
適用例１：画像特徴抽出を実行する方法であって、オブジェクトを含む切り取り画像を原画像から抽出し、前記切り取り画像の境界を単一色で塗りつぶして背景として、最小正方形画像を生成し、前記最小正方形画像のサイズを変更して、第１の所定サイズを有するサイズ変更後の正方形画像を生成し、前記サイズ変更後の正方形画像を、第２の所定サイズを有するサブ画像ブロックに分割し、各前記サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出し、各前記サブ画像ブロックに関して、５要素の固有ベクトルを取得し、すべての前記サブ画像ブロックの前記５要素の固有ベクトルを用いて、前記原画像の画像固有ベクトルを形成することとを備える方法。
適用例２：適用例１に記載の方法はさらに、前記原画像の前記画像固有ベクトルを、複数の保存画像に対応する複数の保存固有ベクトルと比較して、一致する保存画像を特定すること、を備える方法。
適用例３：適用例１に記載の方法であって、前記切り取り画像の抽出は、前記オブジェクトの境界と前記原画像の背景との間のグレースケール値の差に基づいて行なわれる、方法。
適用例４：適用例３に記載の方法であって、前記切り取り画像の抽出はさらに、前記原画像の各列における複数の画素のグレースケール値の合計を、前記各列のグレースケール値として算出し、前記合計を前記各列のグレースケール値として記録し、前記原画像において隣接する左右２列のグレースケール値間の左列から右列への差を算出し、差が閾値よりも大きい場合に、前記右列のｘ座標ｘaを記録し、前記原画像において隣接する左右２列のグレースケール値間の右列から左列への差を算出し、差が閾値よりも大きい場合に、前記左列のｘ座標ｘbを記録し、前記原画像の各行における複数の画素のグレースケール値の合計を、前記各行のグレースケール値として算出し、前記合計を前記各行のグレースケール値として記録し、前記原画像において隣接する上下２行のグレースケール値間の上の行から下の行への差を算出し、差が閾値よりも大きい場合に、前記隣接する２つの行のうち下の行のｙ座標ｙaを記録し、前記原画像において隣接する上下２行のグレースケール値間の下の行から上の行への差を算出し、差が閾値よりも大きい場合に、前記隣接する２つの行のうち上の行のｙ座標ｙbを記録し、前記原画像から前記オブジェクトを含む（ｘa，ｘb，ｙa，ｙb）の座標範囲の切り取り方形画像を取得すること、を備える、方法。
適用例５：適用例１に記載の方法であって、前記切り取り画像の境界の塗りつぶしはさらに、ＲＧＢ値（０，０，０）を有する色で前記切り取り画像を塗りつぶして前記背景とすることを備える、方法。
適用例６：適用例１に記載の方法であって、前記サイズ変更後の画像の分割は、さらに、前記サイズ変更後の画像を、第２の所定サイズを有する非重複サブ画像ブロックに分割することを備える、方法。
適用例７：適用例１に記載の方法はさらに、前記切り取り画像の長さと幅とを比較し、前記長さが前記幅よりも大きい場合に、前記切り取り画像を時計回りに９０°回転させること、を備える方法。
適用例８：適用例１に記載の方法はさらに、前記切り取り画像の上半分のグレースケール値の合計と前記切り取り画像の下半分のグレースケール値の合計とを比較し、前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像を反転させること、を備える方法。
適用例９：適用例１に記載の方法はさらに、前記最小正方形画像の上半分のグレースケール値の合計と前記最小正方形画像の下半分のグレースケール値の合計とを比較し、前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像又は前記最小正方形画像を反転させること、を備える方法。
適用例１０：画像特徴抽出システムであって、１つ以上のプロセッサであって、オブジェクトを含む切り取り画像を原画像から抽出する処理と、前記切り取り画像の境界を単一色で塗りつぶして背景として、最小正方形画像を生成する処理と、前記最小正方形画像のサイズを変更して、第１の所定サイズを有するサイズ変更後の正方形画像を生成する処理と、前記サイズ変更後の正方形画像を、第２の所定サイズを有するサブ画像ブロックに分割する処理と、各前記サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出する処理と、各前記サブ画像ブロックに関して、５要素の固有ベクトルを取得する処理と、すべての前記サブ画像ブロックの前記５要素の固有ベクトルを用いて、前記原画像の画像固有ベクトルを形成する処理と、を実行するように構成される１つ以上のプロセッサと、前記１つ以上のプロセッサに接続される１つ以上のメモリであって、前記プロセッサに命令を与えるように構成される１つ以上のメモリと、を備えるシステム。
適用例１１：適用例１０記載のシステムであって、前記１つ以上のプロセッサは、さらに、前記原画像の前記画像固有ベクトルを、複数の保存画像に対応する複数の保存固有ベクトルと比較して、一致する保存画像を特定する処理を実行するように構成されている、システム。
適用例１２：適用例１０記載のシステムであって、前記切り取り画像の抽出処理は、前記オブジェクトの境界と前記原画像の背景との間のグレースケール値の差に基づいて行なわれる、システム。
適用例１３：適用例１２記載のシステムであって、前記切り取り画像の抽出処理はさらに、前記原画像の各列における複数の画素のグレースケール値の合計を、前記各列のグレースケール値として算出する処理と、前記合計を前記各列のグレースケール値として記録する処理と、前記原画像において隣接する左右２列のグレースケール値間の左列から右列への差を算出する処理と、差が閾値よりも大きい場合に、前記右列のｘ座標ｘaを記録する処理と、前記原画像において隣接する左右２列のグレースケール値間の右列から左列への差を算出する処理と、差が閾値よりも大きい場合に、前記左列のｘ座標ｘbを記録する処理と、前記原画像の各行における複数の画素のグレースケール値の合計を、前記各行のグレースケール値として算出する処理と、前記合計を前記各行のグレースケール値として記録する処理と、前記原画像において隣接する上下２行のグレースケール値間の上の行から下の行への差を算出する処理と、差が閾値よりも大きい場合に、前記隣接する２つの行のうち下の行のｙ座標ｙaを記録する処理と、前記原画像において隣接する上下２行のグレースケール値間の下の行から上の行への差を算出し、差が閾値よりも大きい場合に、前記隣接する２つの行のうち上の行のｙ座標ｙbを記録する処理と、前記原画像から前記オブジェクトを含む（ｘa，ｘb，ｙa，ｙb）の座標範囲の切り取り方形画像を取得する処理と、を備える、システム。
適用例１４：適用例１０に記載のシステムであって、前記切り取り画像の境界の塗りつぶし処理はさらに、ＲＧＢ値（０，０，０）を有する色で前記切り取り画像を塗りつぶして前記背景とすることを備える、システム。
適用例１５：適用例１０に記載のシステムであって、前記サイズ変更後の画像を分割する処理はさらに、前記サイズ変更後の画像を、第２の所定サイズを有する非重複サブ画像ブロックに分割することを備える、システム。
適用例１６：適用例１０記載のシステムであって、前記１つ以上のプロセッサはさらに、前記切り取り画像の長さと幅とを比較する処理と、前記長さが前記幅よりも大きい場合に、前記切り取り画像を時計回りに９０°回転させる処理と、を実行するように構成される、システム。
適用例１７：適用例１０記載のシステムであって、前記１つ以上のプロセッサはさらに、前記切り取り画像の上半分のグレースケール値の合計と前記切り取り画像の下半分のグレースケール値の合計とを比較する処理と、前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像を反転させる処理と、を実行するように構成される、システム。
適用例１８：適用例１０記載のシステムであって、前記１つ以上のプロセッサはさらに、前記最小正方形画像の上半分のグレースケール値の合計と前記最小正方形画像の下半分のグレースケール値の合計とを比較する処理と、前記上半分のグレースケール値の合計が前記下半分のグレースケール値の合計よりも大きければ、前記切り取り画像又は前記最小正方形画像を反転させる処理と、を実行するように構成される、システム。
適用例１９：画像特徴抽出を実行するためのコンピュータプログラム製品であって、コンピュータ読み取り可能な記憶媒体に具現化され、オブジェクトを含む切り取り画像を原画像から抽出するコンピュータ命令と、前記切り取り画像の境界を単一色で塗りつぶして背景として、最小正方形画像を生成するコンピュータ命令と、前記最小正方形画像のサイズを変更して、第１の所定サイズを有するサイズ変更後の正方形画像を生成するコンピュータ命令と、前記サイズ変更後の正方形画像を、第２の所定サイズを有するサブ画像ブロックに分割するコンピュータ命令と、各前記サブ画像ブロックに関して、水平方向、鉛直方向、＋４５°、−４５°の方向の隣接画素の光度導関数を算出するコンピュータ命令と、各前記サブ画像ブロックに関して、５要素の固有ベクトルを取得するコンピュータ命令と、すべての前記サブ画像ブロックの前記５要素の固有ベクトルを用いて、前記原画像の画像固有ベクトルを形成するコンピュータ命令と、を備えるコンピュータプログラム製品。
【図１】
0005538435.tif 000002
【図２】
0005538435.tif 000003
【図３Ａ】
0005538435.tif 000004
【図３Ｂ】
0005538435.tif 000005
【図３Ｃ】
0005538435.tif 000006
【図３Ｄ】
0005538435.tif 000007
【図４Ａ】
0005538435.tif 000008
【図４Ｂ】
0005538435.tif 000009
【図５】
0005538435.tif 000010
【図６】
0005538435.tif 000011
【図７】
0005538435.tif 000012
【図８】
0005538435.tif 000013