物体識別装置、物体識別方法、および物体識別プログラム
【課題】特徴点が抽出しにくい画像においても高い認識精度を得ることが可能な物体識別装置、物体識別方法、および物体識別プログラムを提供することを課題としている。
【解決手段】物体識別装置1は、外部設定値取り込み部11と、画像データ取り込み部12と、背景画像記憶部13と、背景差分処理部14と、平滑化部15と、二値化部16と、輪郭抽出部17と、重心算出部18と、内輪郭抽出部19と、極座標値生成部20と、識別部21と、極座標値記憶部22と、識別結果出力部23とを備える。また、物体識別装置1には、カメラ2と、画像表示装置3が接続されている。
【解決手段】物体識別装置1は、外部設定値取り込み部11と、画像データ取り込み部12と、背景画像記憶部13と、背景差分処理部14と、平滑化部15と、二値化部16と、輪郭抽出部17と、重心算出部18と、内輪郭抽出部19と、極座標値生成部20と、識別部21と、極座標値記憶部22と、識別結果出力部23とを備える。また、物体識別装置1には、カメラ2と、画像表示装置3が接続されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体識別装置、物体識別方法、および物体識別プログラムに関する。
【背景技術】
【0002】
画像および映像から対象物を識別する処方として、特徴点や特徴量を抽出して認識を行うSIFT(Scale−invariant feature transform)やSURF(Speeded Up Robust Features)などのアルゴリズムが着目されている。これらの手法は、対象物の遮蔽、対象物の回転、対象物のスケール大小変化、対象物に対する照明灯の輝度変化などに対しても物体の認識率低下がおきにくいという特徴がある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】David G.Lowe,”Object Recognition from Local Scale−Invariant Features”,Proceedings of the International Conference on Computer Vision,1999.9,pp.1150−1157
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、画像に輝度差が少なく平坦で多くの特徴点が抽出しにくい場合、物体の認識率が低下する課題があった。また、特徴点を抽出するための計算量が非常に多いため、多くの計算を行えない携帯端末装置等への実装が困難であるという課題があった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、特徴点が抽出しにくい画像においても高い認識精度を得ることが可能な物体識別装置、物体識別方法、および物体識別プログラムを提供することを課題としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明は、物体識別装置において、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理部と、前記背景差分処理部が抽出した図形の画像データを二値化する二値化部と、前記二値化部が二値化した図形の画像データから輪郭データを抽出する輪郭抽出部と、前記輪郭抽出部が抽出した輪郭データの重心位置を算出する重心算出部と、前記重心算出部が算出した重心位置から前記輪郭抽出部が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成部と、識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部とを備え、前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0007】
また、本発明は、物体識別装置において、前記輪郭抽出部が抽出した前記輪郭データの内側に存在する所定の面積以上の黒画素領域を抽出し、抽出した領域の内輪郭データを抽出する内輪郭抽出部とをさらに備え、前記極座標値生成部は、前記重心算出部が算出した重心位置から前記内輪郭抽出部が抽出した前記内輪郭データの最外周部までの距離を所定の角度毎に算出して、前記内輪郭データを極座標表現に変換して極座標値を生成し、前記極座標値記憶部に記憶されている内輪郭データの極座標値と、前記極座標値生成部が生成した内輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0008】
また、本発明は、物体識別装置において、前記入力画像から抽出した図形の画像データを複数の色空間成分に分離する色空間分離部と、をさらに備え、前記二値化部は、前記色空間分離部が分離した各色空間成分を二値化し、前記輪郭抽出部は、前記二値化部が二値化した各色空間成分の画像データから輪郭データを抽出し、前記極座標値記憶部に記憶されている各色空間成分の各輪郭データの極座標値と、前記極座標値生成部が生成した各色空間成分の各輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0009】
また、本発明は、物体識別装置において、前記極座標値生成部は、生成した前記極座標値の中から距離の最大値を抽出し、抽出した距離の最大値に基づいて正規化を行うことを特徴としている。
【0010】
また、本発明は、物体識別装置の物体識別方法において、背景差分処理部が、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、二値化部が、前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、輪郭抽出部が、前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、重心算出部が、前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、極座標値生成部が、前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部とを備え、前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0011】
また、本発明は、物体識別装置の物体識別プログラムにおいて、コンピューターに、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部とを備え、前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を実行させることを特徴としている。
【発明の効果】
【0012】
本発明によれば、対象物から多くの特徴点が抽出できない場合でも適切な輪郭を、背景差分処理を用いて入力画像から抽出し、抽出した輪郭データを極座標で表現し、極座標表現した物体の認識を行うことで高い認識精度を得ることが可能になる。
【図面の簡単な説明】
【0013】
【図1】第一実施形態に係る物体識別装置の構成の一例を示すブロック図である。
【図2】背景差分処理を説明する図である。
【図3】同実施形態に係る入力画像データの処理を説明する図である。
【図4】同実施形態に係る極座標値の生成方法の一例を説明する図である。
【図5】同実施形態に係る極座標値記憶部が記憶する極座標値の構成の一例である。
【図6】同実施形態に係る対象物の登録手順のフローチャートである。
【図7】同実施形態に係る極座標値生成手順のフローチャートである。
【図8】同実施形態に係る対象物の識別手順のフローチャートである。
【図9】同実施形態に係る識別方法を説明する図である。
【図10】第二実施形態に係る輪郭抽出装置の構成の一例を示すブロック図である。
【図11】第二実施形態に係るRGB画像データの色空間チャネル分解を説明する図である。
【図12】第二実施形態に係る極座標値記憶部が記憶する極座標値の構成の一例である。
【図13】第二実施形態に係る対象物の登録手順のフローチャートである。
【図14】第二実施形態に係る対象物の識別手順のフローチャートである。
【図15】本実施形態による物体識別装置の利用例を示す図である。
【発明を実施するための形態】
【0014】
以下、図1〜図15を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0015】
[第一実施形態]
図1の物体識別装置の構成の一例を示すブロック図を用いて、本実施形態における物体識別装置の構成を説明する。物体識別装置1は、外部設定値取り込み部11と、画像データ取り込み部12と、背景画像記憶部13と、背景差分処理部14と、平滑化部15と、二値化部16と、輪郭抽出部17と、重心算出部18と、内輪郭抽出部19と、極座標値生成部20と、識別部21と、極座標値記憶部22と、識別結果出力部23とを備える。また、物体識別装置1には、カメラ2と、画像表示装置3が接続されている。
【0016】
カメラ2は、例えば受光レンズとCCDカメラ等で構成され、対象物を含まない背景画像または入力画像を撮影し、撮影された入力画像を物体識別装置1に送信する。画像表示装置3は、物体識別装置1から輪郭抽出結果の表示用の画像データを受信し、受信した画像データを表示する。
【0017】
外部設定値取り込み部11は、外部から物体識別処理に用いる各種の設定である外部設定値を取り込む。外部設定値は、平滑化部15が行う平滑化の各種パラメータ(処理手法、処理回数、処理を行う範囲、処理を行う形状、重み付け係数など)、等を備えている。また、外部設定値取り込み部11は、取り込んだ外部設定値を、背景差分処理部14と平滑化部15と二値化部16と極座標値生成部20とに出力する。
【0018】
画像データ取り込み部12は、カメラ2により撮影された背景画像または入力画像を取り込み、取り込んだ背景画像の画像データ(以下、背景画像データと呼ぶ)を背景画像記憶部13に書き込んで記憶させる。また、画像データ取り込み部12は、取り込んだ入力画像の画像データ(以下、入力画像データと呼ぶ)を背景差分処理部14に出力する。
【0019】
背景画像記憶部13は、背景画像データを記憶する。なお、背景画像データは、予め背景画像記憶部13に記憶させておいても良い。
【0020】
背景差分処理部14は、外部設定値取り込み部11が出力する外部設定値と、画像データ取り込み部12が出力する入力画像データを取り込み、また、背景画像記憶部13に記憶されている背景画像データを読み出す。また、背景差分処理部14は、取り込んだ外部設定値から、背景差分処理に関する各種パラメータを読み出す。さらに、背景差分処理部14は、読み出した背景差分処理に関する各種パラメータを用いて、入力画像データと背景画像データの差分画像データを算出し、算出した差分画像データを平滑化部15に出力する。図2は、背景差分処理を説明する図である。図2のように、予め撮影した対象物を含まない背景画像データ(図2(a))と、対象物を含む入力画像データ(図2(b))の差分を演算することで差分画像データ(図2(c))を抽出する。
【0021】
平滑化部15は、外部設定値取り込み部11が出力する外部設定値と、背景差分出部14が出力する差分画像データとを取り込む。また、平滑化部15は、取り込んだ外部設定値から、平滑化手法の種類や平滑化の各種パラメータを読み出す。さらに、平滑化部15は、取り込んだ差分画像データを、読み出した平滑化手法の種類に基づき、例えばガウシアン・フィルタを用いて、取り込んだ外部設定値の回数分の平滑化を行う。さらに、平滑化部15は、所定の面積以下の領域を一般的な手法を用いて穴埋め処理を行う。例えば、平滑化部15は、所定の面積以下の領域を周辺領域の色データに変換することで、穴埋め処理を行う。さらに平滑化した差分画像データを二値化部16に出力する。
【0022】
二値化部16は、外部設定値取り込み部11が出力する外部設定値と、平滑化部15が出力する平滑化された差分画像データを取り込む。また、二値化部16は、取り込んだ外部設定値から、閾値設定手法、例えば1979年に大津展之によって提案された閾値設定手法(以下、大津の閾値設定手法という)を読み出す。さらに、二値化部16は、取り込んだ平滑化された差分画像データを、外部設定値の指示する閾値設定手法を用いて二値化する。さらに、二値化部16は、二値化した差分画像データを輪郭抽出部17に出力する。例えば、二値化部16は、図3(a)のような差分画像データ100を閾値に基づき二値化し、図3(b)のような二値化した差分画像データ110を生成する。図3は、入力画像データの処理を説明する図である。また、図3(a)のように、入力画像データ100は、例えば、背景101と対象物102とで構成され、さらに対象物102は、例えば、対象物102を貫通している穴103と104を有している。
【0023】
輪郭抽出部17は、二値化部16が出力する二値化された差分画像データを取り込み、取り込んだ二値化された差分画像データから、一番面積の大きい領域の最外周の輪郭(以下、外輪郭データと呼ぶ)を抽出する。また、輪郭抽出部17は、抽出した外輪郭データを重心算出部18と内輪郭抽出部19と極座標値生成部20に出力する。例えば、輪郭抽出部17は、図3(b)のような二値化した差分画像データ110から、図3(c)のような外輪郭データ121を抽出する。すなわち、本実施形態では、従来技術のように対象物の特徴点を抽出するのではなく、背景差分処理により入力画像データから対象物を抽出し、抽出した対象物を二値化し、さらに二値化した画像データから輪郭を抽出する。
【0024】
重心算出部18は、輪郭抽出部17が出力する外輪郭データを取り込み、取り込んだ外輪郭データを用いて、輪郭の重心位置を算出し、算出した重心位置データを極座標値生成部20に出力する。
【0025】
内輪郭抽出部19は、二値化部16が出力する二値化された差分画像データと輪郭抽出部17が出力する外輪郭データを取り込み、取り込んだ外輪郭内に所定の面積以上の黒画素部分を抽出し、抽出した黒画素部分の輪郭データ(以下、内輪郭データと呼ぶ)を抽出する。例えば、図3(b)と図3(c)のように、内輪郭抽出部19は、輪郭抽出部17が抽出した外輪郭121内にある所定の面積以上の黒画素部分111と112を抽出し、抽出した黒画素部分の内輪郭データ131と132を抽出する。さらに、内輪郭抽出部19は、抽出した内輪郭データを極座標値生成部20に出力する。
【0026】
極座標値生成部20は、外部設定値取り込み部11が出力する外部設定値と、輪郭抽出部17が出力する外輪郭データと、重心算出部18が出力する重心位置データと、内輪郭抽出部19が出力する内輪郭データを取り込む。また、極座標値生成部20は、取り込んだ外部設定値から極座標値を生成する角度間隔を抽出する。さらに、極座標値生成部20は、取り込んだ重心位置データと輪郭データを、外部設定値に基づく角度毎に極座標表現に変換して極座標値を生成し、生成した外輪郭データの極座標値を識別部21に出力する。さらに、極座標値生成部20は、取り込んだ重心位置データと内輪郭データを、外部設定値に基づく角度毎に極座標表現に変換して極座標値を生成し、生成した内輪郭データの極座標値を識別部21に出力する。
【0027】
極座標値の生成方法を、図4の極座標値の生成方法の一例を説明する図を用いて説明する。図4(a)のように、入力画像データから外輪郭201と内輪郭202、および重心位置Oが抽出されている場合を説明する。極座標値生成部20は、水平方向軸xとのなす角θに対応する輪郭201上の座標P1(x1,y1)と、θ2=θ+Δ度(Δ度は所定の角度間隔、例えば5度間隔)に対応する輪郭201上の座標P2(x2,y2)を抽出する。そして、極座標値生成部20は、抽出した特徴点P1(x1,y1)と重心位置Oとの距離L1と、特徴点P2(x2,y2)と重心位置Oとの距離L2を算出する。さらに、極座標値生成部20は、距離L1と距離L2との平均を算出して、算出した距離の平均値を角度θ1〜θ2における距離Lとする。この処理は、図4(b)のような輪郭201上の座標を所定の角度毎に、図4(c)のように距離と角度の関係である極座標表現に置き換える。
【0028】
図1に戻って、識別部21は、極座標値生成部20が出力する外輪郭データの極座標値と、内輪郭データの極座標値を受け取り、受け取った外輪郭データの極座標値と内輪郭データの極座標値とが、極座標値記憶部22に書き込まれて記憶されているか判別する。書き込まれていないと判定した場合、識別部21は、入力画像データに含まれる対象物を未登録対象物と識別し、極座標値記憶部22に外輪郭データと内輪郭データとの極座標値を関連づけて書き込んで記憶させる。また、書き込まれていると判定した場合、識別部21は、入力画像データに含まれる対象物を登録済みである対象物と識別する。さらに、識別部21は、識別結果を識別結果出力部23に出力する。
【0029】
極座標値記憶部22は、外輪郭データの極座標値と、内輪郭データの極座標値を記憶する。図5は、極座標値記憶部22が記憶する極座標値の構成の一例である。図5のように、極座標値記憶部22は、外輪郭データと内輪郭のデータを有し、外輪郭データと内輪郭のデータは所定の角度ごとに重心位置から輪郭の座標までの距離を関連づけて記憶する。また、これらのデータの組み合わせを対象物ごとに関連づけて記憶する。
【0030】
識別結果出力部23は、識別部21が出力する識別結果を取り込み、取り込んだ識別結果に基づき、例えば、「入力画像データに含まれる対象物がすでに登録済みのデータと一致する」、または、「入力画像データに含まれる対象物が登録済みデータと一致しない」等の識別結果を画像表示装置3に出力する。
また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
【0031】
次に、対象物の登録手順を図6のフローチャートを用いて説明する。まず、外部設定値読み込み部11は、物体識別処理に用いる各種の設定である外部設定値を取り込む(ステップS1)。また、外部設定値読み込み部11は、取り込んだ外部設定値を背景差分処理部14と平滑化部15と二値化部16と極座標値生成部20とに出力する。
【0032】
次に、画像データ取り込み部12は、カメラ2が撮像した対象物を含まない背景画像データを取り込む(ステップS2)。また、画像データ取り込み部12は、取り込んだ背景画像データを背景画像記憶部13に書き込んで記憶させ、さらに取り込んだ背景画像データを背景差分処理部14に出力する。
次に、画像データ取り込み部12は、カメラ2が撮像した入力画像データを取り込む(ステップS3)。また、画像データ取り込み部12は、取り込んだ入力画像データを背景差分処理部14に出力する。
【0033】
次に、背景差分処理部14は、背景画像記憶部13に記憶されている背景画像データを読み出し、外部設定値取り込み部11が出力する外部設定値と画像データ取り込み部12が出力する入力画像データとを取り込む。次に、背景差分処理部14は、取り込んだ外部設定値から、背景差分処理に関する各種パラメータを読み出す。次に、背景差分処理部14は、読み出した背景差分処理に関する各種パラメータを用いて、背景画像データと入力画像データの差分を算出し、算出した差分画像データを平滑化部15に出力する(ステップS4)。
次に、平滑化部15は、外部設定値取り込み部11が出力する外部設定値と、背景差分処理部14が出力する差分画像データを取り込む。次に、平滑化部15は、取り込んだ外部設定値に基づき差分画像データを平滑化し、平滑化した差分画像データを二値化部16に出力する(ステップS5)。
次に、二値化部16は、外部設定値取り込み部11が出力する外部設定値と、背景差分処理部14が出力する平滑化された差分画像データを取り込む。また、二値化部16は、取り込んだ平滑化された差分画像データを、外部設定値の閾値設定手法(例えば、大津の閾値設定手法)を用いて二値化し、二値化した差分画像データを輪郭抽出部17に出力する(ステップS6)。例えば、二値化された差分画像データは、図3(b)のように輪郭の外側は黒画素であり、対象物である輪郭の内側は白画素である。また、輪郭内に内輪郭を有する領域111と112は黒画素である。
【0034】
次に、輪郭抽出部17は、二値化部16が出力する二値化された差分画像データを取り込み、取り込んだ二値化された差分画像データから外輪郭データを抽出し、抽出した外輪郭データを重心算出部18と内輪郭抽出部19とに出力する(ステップS7)。
次に、重心算出部18は、輪郭抽出部17が出力する外輪郭データを取り込み、取り込んだ外輪郭データを用いて外輪郭の重心位置を算出し、算出した重心位置データを極座標値生成部20に出力する(ステップS8)。
次に、極座標値生成部20は、外部設定値取り込み部11が出力する外部設定値と、輪郭抽出部17が出力する外輪郭データと、重心算出部18が出力する重心位置データを取り込む。次に、極座標値生成部20は、取り込んだ重心位置データと外輪郭データを、外部設定値に応じた角度ごとの重心位置から外輪郭までの距離の平均値を算出して、角度と距離を用いた極座標表現に変換して極座標値を生成し、生成した極座標値を識別部21に出力する(ステップS9)。
【0035】
極座標値生成部20が行う極座標値生成手順を、図7のフローチャートを用いて説明する。極座標値生成部20は、外部設定値から抽出した所定の角度(例えば5度)ごとの処理を、角度0度〜360度すべて行う(ステップS101〜S105)。まず、極座標値生成部20は、角度0度における重心位置から外輪郭データの座標までの距離L1を算出する(ステップS102)。次に、極座標値生成部20は、角度5度における重心位置から外輪郭の座標までの距離L2を算出する(ステップS103)。次に、極座標値生成部20は、角度0度〜5度の距離として、距離L1と距離L2の平均値を算出する(ステップS104)。次に、角度5度と角度10度の距離の平均値Lを算出し、これらの処理を角度0度から360度まで行う。
【0036】
次に、内輪郭抽出部19は、二値化部16が出力する二値化された差分画像データと、輪郭抽出部17が出力する輪郭データと外輪郭データを取り込む。次に、内輪郭抽出部19は、二値化された差分画像データと外輪郭データを用いて、外輪郭データ内の所定の面積以上を有する黒画素領域を検索する(ステップS10)。
次に、内輪郭抽出部19は、検索の結果、外輪郭データ内に所定の面積の黒画素領域が存在するか否かを判定する(ステップS11)。
判定の結果、外輪郭データ内に所定の面積の黒画素領域が存在する場合(ステップS11;Yes)、内輪郭抽出部19は、黒画素領域の内輪郭データを抽出して、抽出した内輪郭データを極座標値生成部20に出力する。具体的には、内輪郭抽出部19は、外輪郭データ121の内側に、所定の面積以上の黒領域があるか二値化された差分画像データ110と比較し、比較の結果に基づき領域111と112を抽出する。そして、内輪郭抽出部19は、抽出した黒画素領域の内輪郭データ131と132を抽出し、抽出した極座標値生成部20に出力する。
また、判定の結果、外輪郭データ内に所定の黒面積の領域が存在しない場合(ステップS11;No)、ステップS14に進む。
【0037】
次に、極座標値生成部20は、重心算出部18が出力する重心位置データと、内輪郭抽出部19が出力する内輪郭データを取り込む。次に、極座標値生成部20は、取り込んだ重心位置データと内輪郭データを用いて、外輪郭データの極座標値生成と同様に内輪郭データを極座標表現に変換して極座標値を生成し、生成した極座標値を識別部21に出力する(ステップS12)。
次に、内輪郭抽出部19は、外輪郭データ内の全ての内輪郭データの極座標値を生成したか否かを判定する(ステップS13)。
全ての内輪郭データの極座標値を生成が完了していない場合(ステップS13;No)、内輪郭抽出部19と極座標値生成部20は、ステップS10〜ステップS13を繰り返し、外輪郭データ内の全ての内輪郭データを抽出し、抽出した全ての内輪郭データの極座標値を生成し、生成した内輪郭データの極座標値を識別部21に出力する。
次に、識別部21は、極座標値生成部20が出力する外輪郭データの極座標値と内輪郭データの極座標値を取り込み、取り込んだ極座標値の組み合わせの物体データが極座標値記憶部22にすでに記憶されているか否かを判定する。対象物を新規に登録する場合、極座標値記憶部22には、まだ記憶されていないため、識別部21は、取り込んだ外輪郭データの極座標値と内輪郭データの極座標値を関連づけ、書き込んで記憶させる(ステップS14)。
以上で対象物の登録手順を終了する。
【0038】
次に、対象物の識別手順を図8のフローチャートを用いて説明する。まず、カメラ2により撮影された入力画像を取り込み、登録手順と同様にステップS1〜ステップS13を行い、外輪郭データと内輪郭データを生成する(ステップS201)。
次に、識別部21は、取り込んだ外輪郭データの極座標値と、極座標値記憶部22に記憶されている対象物の外輪郭データの極座標値とを比較する(ステップS202)。
比較方法は、例えば、以下のように行う。極座標記憶部22に記憶されている0〜π/36の距離Lmと、取り込んだ入力画像データから生成した0〜π/36の距離Liの差の絶対値を計算する。次に、極座標記憶部22に記憶されているπ/36〜2π/36の距離Lm+1と、取り込んだ入力画像データから生成したπ/36〜2π/36の距離Li+1の差の絶対値を計算する。このように全ての角度について差の絶対値を計算し、算出した差の絶対値の総和を計算する。次に、極座標記憶部22に記憶されているπ/36〜2π/36の距離Lm+1と、取り込んだ入力画像データから生成した0〜π/36の距離Liの差の絶対値を計算する。この手順を繰り返し、極座標記憶部22に記憶されている0〜π/36の距離Lmと、取り込んだ入力画像データから生成した35π/36〜0の距離Li+36の差の絶対値を計算する。すなわち、極座標値記憶部22に記憶されている距離をπ/36ずつずらして差の絶対値を算出し、同様に差の絶対値の総和を計算する。
このように、識別部21は、π/36ずつずらした差の絶対値の総和を計算し、差の絶対値の総和が一番小さいずらし量(角度)を算出し、一番小さい絶対値の総和を比較値として抽出する。
【0039】
次に、識別部21は、抽出した比較値を所定のしきい値と比較し、所定の比較値より小さければ極座標記憶部22に記憶されている対象物の輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致するか否かを判定する(ステップS203)。
極座標記憶部22に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致しない場合(ステップS203;No)、識別部21は、対象物が一致していないと識別し、識別結果を識別結果出力部23に出力し、生成した外輪郭データと内輪郭データを関連づけて極座標値記憶部22に書き込んで記憶させる(ステップS205)。また、識別結果出力部23は、識別部21が出力する識別結果を取り込み、取り込んだ識別結果に基づく識別結果を画像表示装置3に出力する。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
【0040】
ステップS202とステップS203の具体的な識別の例を、図9の識別方法を説明する図を用いて説明する。説明を簡略化するため、極座標値を16等分(22.5度間隔)で生成した場合を説明する。極座標記憶部22に記憶されている極座標値が図9(a)、入力画像データから生成した極座標値が図9(b)の場合、まず、角度0〜θ1の距離Lm=6と距離Li=3との差の絶対値=3を計算する。この手順を角度θ15〜0まで繰り返して、全ての角度の差の絶対値の総和=18を計算する。次に、極座標記憶部22に記憶されている極座標値の角度をθ1ずらして比較する。すなわち、角度θ1〜θ2の距離Lm+1=7と距離Li=3との差の絶対値L=4を計算する。この手順を角度θ15〜0まで繰り返して、全ての角度の差の絶対値の総和=0を計算する。このように角度θ1ずつずらして比較し、全ての角度の差の絶対値の総和が最小であるθ1を比較値として抽出する。そして、抽出した差の絶対値の総和=0と所定のしきい値を比較して、所定の比較値より小さいと判定し、極座標記憶部22に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致すると識別する。また、対象物が一致すると判定された場合、この比較値θ1は、対象物の回転角度でもある。
【0041】
図8に戻って、極座標記憶部22に記憶されている対象物の輪郭データと、入力画像データに含まれる対象物の輪郭データとが一致する場合(ステップS203;Yes)、識別部21は、入力画像データに内輪郭データがあるか否かを判定する(ステップS206)。入力画像データに内輪郭データがない場合(ステップS206;No)、識別部21は極座標記憶部22に内輪郭データが外輪郭データに関連づけられて記憶されているか否かを判定する(ステップS207)。極座標記憶部22に内輪郭データが外輪郭データに関連づけられて記憶されている場合(ステップS207;Yes)、ステップS204に進み、極座標記憶部22に内輪郭データが外輪郭データに関連づけられて記憶されている場合(ステップS207;No)、ステップS213に進む。
【0042】
入力画像データに内輪郭データがある場合(ステップS206;Yes)、識別部21は、入力画像データから生成した内輪郭データの面積を算出し、内輪郭データが複数ある場合は面積の大きい順に内輪郭データを並べる(ステップS208)。
次に、識別部21は、一番面積の大きい内輪郭データを選択し(ステップS209)、選択した内輪郭データと、ステップS202〜ステップS203で一致すると識別された外輪郭データと関連づけられて極座標記憶部22に記憶されている内輪郭データとを一致するか否か、外輪郭データ比較方法と同じ方法で比較する(ステップS210)。
【0043】
比較の結果、入力画像データの内輪郭データと、極座標記憶部22に記憶されている内輪郭データとが一致しない場合(ステップS211;No)、ステップS204に進み対象物が一致していない場合の処理を行う。比較の結果、入力画像データの内輪郭データと、極座標記憶部22に記憶されている内輪郭データとが一致している場合(ステップS211;Yes)、入力画像データから生成した全ての内輪郭データと、一致すると識別された外輪郭データと関連づけられて極座標記憶部22に記憶されている全ての内輪郭データ
とについて比較を終了したか否かを判定する(ステップS212)。
全ての内輪郭データ比較が終了していない場合(ステップS212;No)、ステップS209〜ステップS212を繰り返す。全ての内輪郭データ比較が終了し、内輪郭データが一致した場合(ステップS212;Yes)、対象物が一致したと判定し、識別結果を識別結果出力部23に出力する(ステップS213)。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
以上で、対象物の識別手順を終了する。
【0044】
以上のように、対象物を背景差分処理により抽出し、抽出した差分画像を二値化した画像データから輪郭データを抽出する。そして、抽出した輪郭データを用いて重心位置を算出し、重心位置と輪郭データを用いて極座標表現に変換して極座標値を生成し、生成した極座標値を用いて対象物の識別を行うようにしたので、特徴点が抽出しにくい画像においても高い認識精度を得ることができる。また、対象物の輪郭内データに二値化したときの黒画素領域を抽出し、抽出した黒画素領域の輪郭データをさらに抽出する。そして、この抽出した輪郭データを、重心位置と輪郭データを用いて極座標表現に変換して極座標値を生成し、生成した極座標値を用いて対象物の識別を行うようにしたので、複雑な形状の対象物においても従来手法と比較して計算量を軽減でき、例えばモバイル端末などの実装を行うことができる。
【0045】
[第二実施形態]
図10の物体識別装置300の構成の一例を示すブロック図を用いて、本実施形態における物体識別装置の構成を説明する。第一の実施形態と同じ機能部は、同じ符号を用いて説明は省略する。第一の実施形態との差異は、外部設定値取り込み部301と、平滑化部302と、色空間分離部303と、二値化部304と、輪郭抽出部305と、重心算出部306と、チャネル選択部307と、極座標値記憶部310である。
【0046】
外部設定値取り込み部301は、外部から物体識別処理に用いる各種の設定である外部設定値を取り込み、取り込んだ外部設定値を背景差分処理部14と平滑化部302と色空間分離部303と二値化部304とチャネル選択部307と極座標値生成部308と識別部309に出力する。
【0047】
色空間分離部303は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データを取り込む。また、色空間分離部303は、外部設定値に応じて、平滑化した差分画像データをRGBやHSV(色相、彩度、明度)などの色空間に分離し、分離した各チャネルの色空間画像データを二値化304に出力する。図11は、RGB画像データの色空間チャネル分解を説明する図である。外部設定値がRGB画像データをR,G,Bの各チャネルに分離を行う設定の場合、図11のように、色空間分離部303は、差分画像データを各チャネルの画像データに分離する。
【0048】
二値化部304は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データ(RGB画像データ)と色空間分離部303が出力する各チャネルの色空間画像データを取り込む。また、二値化部304は、取り込んだ平滑化された差分画像データおよび各チャネルの色空間画像データを外部設定値に応じてそれぞれ二値化し、二値化した平滑化された差分画像データと各チャネルの色空間画像データとを輪郭抽出部305に出力する。
【0049】
輪郭抽出部305は、二値化部304が出力する二値化された差分画像データ、および二値化された各チャネルの色空間画像データを取り込み、取り込んだ差分画像データ、および各チャネルの色空間画像データからそれぞれ外輪郭データを抽出する。また、輪郭抽出部305は、抽出した差分画像データの外輪郭データを重心算出部306に出力し、抽出した各チャネルの色空間画像データの各外輪郭データを極座標値生成部308に出力する。
【0050】
重心算出部306は、輪郭抽出部305が出力する差分画像データの外輪郭データを取り込み、取り込んだ差分画像データの外輪郭データから重心位置を算出し、算出した重心位置データを極座標値生成部308に出力する。
【0051】
チャネル選択部307は、外部設定値取り込み部301が出力する外部設定値を取り込み、取り込んだ外部設定値からどの色空間分離手法を用いるかの色空間分離指示情報を抽出する。また、チャネル選択部307は、抽出した色空間分離指示情報に基づき、どのチャネルの外輪郭データを用いて極座標値生成部308が極座標値を生成するかを適時切り替えるチャネル選択データを生成し、生成したチャネル選択データを極座標値生成部308に出力する。
例えば、外部設定値がRGBに分離する場合、チャネル選択部307は、まずRGB画像データの外輪郭データを用いて極座標値を生成するチャネル選択データを極座標値生成部308に出力する。チャネル選択部307は、極座標値生成部308が出力する生成完了データを取り込み、生成完了データを取り込み後、まだ極座標値を生成していない色空間のチャネルであるRチャネルを選択し、選択したR画像データの外輪郭データを用いて極座標値を生成するチャネル選択データを極座標値生成部308に出力する。このようにして、全ての色空間画像データの各外輪郭データから極座標値を生成するチャネル選択データを、極座標値生成部308に順次出力する。
【0052】
極座標値生成部308は、外部設定値取り込み部301が出力する外部設定値と、輪郭抽出部305が出力する差分画像データの外輪郭データと各色空間の各外輪郭データと、重心算出部306が出力する重心位置データと、チャネル選択部307が出力するチャネル選択データを取り込む。また、極座標値生成部308は、チャネル選択データに応じて、取り込んだ外輪郭データごとに外部設定値に応じて極座標値を生成する。さらに、極座標値生成部308は、各極座標値の生成完了後、生成完了データを生成し、生成した生成完了データをチャネル選択部307に出力する。
【0053】
識別部309は、外部設定値取り込み部301が出力する外部設定値と、極座標値生成部308が出力する差分画像データの外輪郭データの極座標値と、各色空間画像データの外輪郭データの極座標値とを取り込む。また、識別部309は、取り込んだ外部設定値からチャネル優先度データを抽出する。さらに、識別部309は、取り込んだ各極座標値の組み合わせが極座標値記憶部310に記憶されている極座標値と一致するか否かを、まずRGB画像データから生成された極座標値について判定する。さらに、識別部309は、チャネル優先度データに応じた色空間画像データから生成された極座標値について、極座標値記憶部310に記憶されている極座標値と一致するか否かを判定を行う。
さらに、識別部309は、判定結果に基づき対象物を識別し、識別結果を識別結果出力部23に出力する。さらに、識別部309は、判定の結果、極座標値記憶部310に記憶されていない極座標値の場合、各極座標値を極座標値記憶部310に書き込んで記憶させる。
【0054】
極座標値記憶部310は、差分画像データの外輪郭データの極座標値と、各色空間画像データの外輪郭データの極座標値を、所定の角度毎に関連づけて記憶する。図12は、極座標値記憶部310が記憶する極座標値の構成の一例である。図12のように、極座標値記憶部310は、RGB画像データと各色空間チャネル(R、G、B)の画像データの各外輪郭データを有し、各外輪郭データは角度毎、例えば5度ごとに重心位置から輪郭の特徴点までの距離を関連づけて記憶する。また、これらのデータの組み合わせを対象物ごとに関連づけて記憶する。
【0055】
次に、第二の実施形態における対象物の登録手順を図13のフローチャートを用いて説明する。第一の実施形態と同じ処理については、同じ符号を用いて説明を省略する。まず、ステップS1〜ステップS5までは、第一の実施形態と同様に行う。
次に、色空間分離部303は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データとを取り込む。次に、色空間分離部303は、外部設定値に基づき平滑化された差分画像データをR,G,Bの各色空間成分に分離し、分離した各チャネルの色空間画像データを二値化304に出力する。(ステップS301)。
次に、二値化部304は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データと、色空間分離部303が出力する各チャネルの色空間画像データを取り込む。また、二値化部304は、取り込んだ平滑化された差分画像データと、各チャネルの色空間画像データとを、それぞれ外部設定値の閾値設定手法(例えば、大津の閾値設定手法)を用いて二値化し、二値化した差分画像データと各チャネルの色空間画像データとを輪郭抽出部305に出力する(ステップS302)。
【0056】
次に、輪郭抽出部305は、二値化部304が出力する二値化された差分画像データを取り込み、取り込んだ二値化された差分画像データから外輪郭データを抽出し、抽出した外輪郭データを重心算出部18に出力する(ステップS303)。
次に、重心算出部18は、輪郭抽出部305が出力する外輪郭データを取り込み、取り込んだ外輪郭データを用いて外輪郭の重心位置を算出し、算出した重心位置データを極座標値生成部308に出力する(ステップS304)。
【0057】
次に、チャネル選択部307は、外部設定値取り込み部301が出力する外部設定値を取り込み、取り込んだ外部設定値から色空間分離指示情報を抽出する。また、チャネル選択部307は、抽出した色空間分離指示情報に基づきRGB画像データを選択するチャネル選択データを生成し、生成したチャネル選択データを極座標値生成部308に出力する。
次に、極座標値生成部308は、外部設定値取り込み部301が出力する外部設定値と、輪郭抽出部17が出力する差分画像データの外輪郭データと、重心算出部18が出力する重心位置データと、チャネル選択部307が出力するチャネル選択データとを取り込む。
次に、極座標値生成部308は、チャネル選択データに応じてRGB画像データの差分画像データの極座標値生成を行う。次に、極座標値生成部308は、取り込んだ重心位置データと外輪郭データを、外部設定値に応じた角度ごとの重心位置から外輪郭までの距離の平均値を、極座標表現に変換して極座標値を生成し、生成した極座標値を識別部309に出力する(ステップS305)。
【0058】
次に、チャネル選択部307は、外部設定値に応じてRチャネルを選択するチャネル選択データを極座標値生成部308に出力する(ステップS306)。
次に、極座標値生成部308は、外部設定値取り込み部301が出力する外部設定値と、輪郭抽出部17が出力する各チャネルの色空間画像データの外輪郭データと、重心算出部18が出力する重心位置データと、チャネル選択部307が出力するチャネル選択データとを取り込む。
次に、極座標値生成部308は、チャネル選択データに応じてRチャネル画像データの極座標値生成を行う。次に、極座標値生成部308は、取り込んだ重心位置データと外輪郭データを、外部設定値に応じた角度ごとの重心位置から外輪郭までの距離の平均値を、極座標表現に変換して極座標値を生成し、生成した極座標値を識別部309に出力する(ステップS307)。
次に、極座標値生成部308は、全ての色空間チャネル(R,G,B)の極座標値の生成が完了したか否かを判定する(ステップS308)。全てのチャネルの極座標値生成が完了していない場合(ステップS308;No)、ステップS306〜ステップS308を繰り返す。全てのチャネルの極座標値生成が完了した場合(ステップS308;Yes)、極座標値生成部308は、生成したRGB画像データ及び各色チャネルの色空間画像データにおける各輪郭データの各極座標値を識別部309に出力する。
【0059】
次に、識別部309は、極座標値生成部308が出力する各外輪郭データの各極座標値を取り込み、取り込んだ各極座標値の組み合わせの物体データが極座標値記憶部310にすでに記憶されているか否かを判定する。対象物を新規に登録する場合、極座標値記憶部310には、まだ記憶されていないため、識別部309は、取り込んだ各外輪郭データの極座標値を関連づけ、書き込んで記憶させる(ステップS309)。
以上で対象物の登録手順を終了する。
【0060】
次に、第二の実施形態における対象物の識別手順を図14のフローチャートを用いて説明する。まず、カメラ2により撮影された入力画像を取り込み、登録手順と同様にステップS1〜ステップS5およびステップS301〜ステップS308を行い、各外輪郭データの各極座標値を生成する(ステップS401)。
次に、識別部309は、RGB画像データから生成された外輪郭データの極座標値と、極座標値記憶部310に記憶されているRGB画像データから生成された外輪郭データとを比較する(ステップS402)。なお、極座標値の比較方法は、第一の実施形態と同様に行う。
【0061】
次に、極座標記憶部310に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致しない場合(ステップS403;No)、識別部309は、対象物が一致していないと識別し、識別結果を識別結果出力部23に出力し、生成した各外輪郭データを関連づけて極座標値記憶部310に書き込んで記憶させる(ステップS405)。また、識別結果出力部23は、識別部309が出力する識別結果を取り込み、取り込んだ識別結果に基づく識別結果を画像表示装置3に出力する。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
【0062】
次に、極座標記憶部310に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致する場合(ステップS403;Yes)、識別部309は、外部取り込み部11が出力する外部設定値を取り込み、取り込んだ外部設定値からチャネル優先度データを抽出する。次に、識別部309は、チャネル優先度データに応じた色空間チャネルを選択する(ステップS406)。
次に、識別部309は、選択した色空間チャネルの極座標値と、極座標値記憶部310に記憶されている同じ色空間チャネルの極座標値とを、第一の実施形態の極座標値の比較方法と同様に行う(ステップS407)。
【0063】
次に、極座標記憶部310に記憶されている対象物の色空間チャネルの外輪郭データと、入力画像データに含まれる対象物の色空間チャネルの外輪郭データとが一致するか否かを判定する(ステップS408)。
判定の結果、一致しない場合(ステップS408;No)、識別部309は、対象物が一致していないと識別し、ステップS404〜ステップS405を行う。
判定の結果、一致する場合(ステップS408;Yes)、識別部309は、全ての色空間チャネルについて判定が終了したか否かを判定する(ステップS409)。
全ての色空間チャネルについて判定が終了していない場合(ステップS409;No)、ステップS406〜ステップS409を繰り返す。全ての色空間チャネルについて判定が終了した場合(ステップS409;Yes)、識別部309は、対象物が一致したと判定し、識別結果を識別結果出力部23に出力する(ステップS410)。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
以上で、対象物の識別手順を終了する。
【0064】
以上のように、第一の実施形態に加え、入力画像データのRGB画像データを色空間に分離した画像データに基づき対象物の外輪郭データの極座標値を生成し、生成した各チャネルの極座標値も用いて対象物の識別を行うようにした。この結果、差分画像データが有する色空間成分によって、各チャネルに分離された成分も異なるため、例えば、青色など特定の色空間成分を有する対象物ではRGBの差分画像データから生成した輪郭データを用いるだけではなく、Bチャネルのみの差分画像データから生成した輪郭データをも用いることで、さらに高精度の識別を行える。さらにまた、対象物が柄や模様を有する場合等においても、色空間分離を行うことで、柄や模様の抽出を高精度に行えるため、外形が同じであっても柄や模様、色が異なる対象物を高精度に識別することができる。
【0065】
また、第二の実施形態では、色空間成分に分離して識別する例を説明したが、第一の実施形態の内輪郭データを抽出するようにしても良い。この場合、第二の実施形態の構成に加え、内輪郭抽出部を備えるようにすれば良い。また、第二の実施形態では、色空間をR、G、Bに分離する例を説明したが、HSVなどの色空間でも同様の効果が得られる。
【0066】
また、第一の実施形態では、内輪郭データの極座標値の比較を、内輪郭データの面積の大きい順に行う例を説明したが、順番はランダムでも良く、あるいは、所定の順番でも良い。さらに、第一の実施形態では、全ての内輪郭データの極座標値を比較する例を説明したが、面積の大きい順に比較し、所定の面積以下の内輪郭データの極座標値の比較を、用途に応じて省略して識別するようにしても良い。あるいは、所定の面積以下の比較については、所定の個数以上の内輪郭データの極座標値が一致した場合、省略するようにしても良い。
【0067】
また、本実施形態では、例えば、角度θ度に対応する輪郭データの座標と重心との距離L1と、角度θ+Δ度に対応する輪郭データの座標と重心との距離L2の平均値を算出して極座標値を生成する例を説明したが、角度θ度に対応する輪郭データの座標と重心との距離L1が極座標値でも良い。また、対象物がドーナツ形状のような近接する外側の輪郭と内側の輪郭で構成される場合、例えば、外側の輪郭と重心との距離L1と、内側の輪郭と重心との距離L2の平均値を距離として極座標値を生成しても良い。
【0068】
また、本実施形態では、平滑化部15または302の平滑化する回数を外部設定値取り込み部11または301が取り込んだ外部設定値で指定する例について説明したが、予め設定しておいた回数でも良く、または入力画像や対象物に応じて回数を設定するようにしても良い。この場合、例えば、高周波成分の大小や、ヒストグラムにおける成分の分布度合いなどから入力画像の複雑さを判定して、複雑な画像データに対して平滑化回数を増やすようにしても良い。また、このようにして算出した結果、平均化回数が例えば1回であった場合、平均化処理を行わずに色空間分離を行うようにしても良い。
【0069】
また、本実施形態では、重心位置から外輪郭データの座標または内輪郭データの座標までの距離をそのまま極座標値記憶部22または310に書き込んで記憶させる例を説明したが、極座標値を全て算出した後、距離の最大値を抽出し、抽出した最大値を、例えば1として正規化を行って極座標値記憶部22または310に書き込んで記憶させるようにしても良い。あるいは、極座標値の比較時に正規化を行って比較しても良い。
【0070】
また、本実施形態では、二値化部16または304は、大津の閾値選定手法で設定する例について説明したが、他の一般的な閾値選定手法を用いても良い。
【0071】
図15は、本実施形態による物体識別装置1または300の利用例を示す図である。本実施形態による物体識別装置1または300は、映像が詰まった(関連付けられた)思い出の品を使った世代間コミュニケーションツールとして用いることができる。具体的には、データの送り手である孫は、旅先で拾った貝殻などの思い出の品をテレビの前の撮像装置に置き、登録装置に対して簡単な操作をすることで、思い出の品に詰め込みたい(関連付けたい)映像を編集することができる。そして、この思い出の品を受け取った祖父母は、当該思い出の品をテレビの前の撮像装置に置くだけで、読み出し装置が動作し、思い出の品に詰められた(関連付けられた)映像を見ることができる。このようなシステムにおいて、登録装置と読み出し装置において、当該思い出の品を登録や識別する処理が必要になる。これらの処理は、一般的な家庭にあるパーソナルコンピューターや、モバイル端末などで行うことが想定される。このため、計算量が少なく、さらに、高精度な識別精度が要求される。このようなシステムにおいても、本実施形態の発明を適用することで、計算量が少なく、さらに、高精度な識別精度な識別を行うことができる。
このように、本実施形態による物体識別装置1または300は、思い出の品を置くという簡単かつ直感的な操作で動作するため、ITリテラシの低いユーザでも、ネットワークを介してデータの共有を行うことができる。
【0072】
なお、実施形態の図1および図10の各部の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリー、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0073】
1・・・物体識別装置
2・・・カメラ
3・・・画像表示装置
11・・・外部設定値取り込み部
12・・・画像データ取り込み部
13・・・背景画像記憶部
14・・・背景差分処理部
15・・・平滑化部
16・・・二値化部
17・・・輪郭抽出部
18・・・重心算出部
19・・・内輪郭抽出部
20・・・極座標値生成部
21・・・識別部
22・・・極座標値記憶部
23・・・識別結果出力部
【技術分野】
【0001】
本発明は、物体識別装置、物体識別方法、および物体識別プログラムに関する。
【背景技術】
【0002】
画像および映像から対象物を識別する処方として、特徴点や特徴量を抽出して認識を行うSIFT(Scale−invariant feature transform)やSURF(Speeded Up Robust Features)などのアルゴリズムが着目されている。これらの手法は、対象物の遮蔽、対象物の回転、対象物のスケール大小変化、対象物に対する照明灯の輝度変化などに対しても物体の認識率低下がおきにくいという特徴がある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】David G.Lowe,”Object Recognition from Local Scale−Invariant Features”,Proceedings of the International Conference on Computer Vision,1999.9,pp.1150−1157
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、画像に輝度差が少なく平坦で多くの特徴点が抽出しにくい場合、物体の認識率が低下する課題があった。また、特徴点を抽出するための計算量が非常に多いため、多くの計算を行えない携帯端末装置等への実装が困難であるという課題があった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、特徴点が抽出しにくい画像においても高い認識精度を得ることが可能な物体識別装置、物体識別方法、および物体識別プログラムを提供することを課題としている。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明は、物体識別装置において、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理部と、前記背景差分処理部が抽出した図形の画像データを二値化する二値化部と、前記二値化部が二値化した図形の画像データから輪郭データを抽出する輪郭抽出部と、前記輪郭抽出部が抽出した輪郭データの重心位置を算出する重心算出部と、前記重心算出部が算出した重心位置から前記輪郭抽出部が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成部と、識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部とを備え、前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0007】
また、本発明は、物体識別装置において、前記輪郭抽出部が抽出した前記輪郭データの内側に存在する所定の面積以上の黒画素領域を抽出し、抽出した領域の内輪郭データを抽出する内輪郭抽出部とをさらに備え、前記極座標値生成部は、前記重心算出部が算出した重心位置から前記内輪郭抽出部が抽出した前記内輪郭データの最外周部までの距離を所定の角度毎に算出して、前記内輪郭データを極座標表現に変換して極座標値を生成し、前記極座標値記憶部に記憶されている内輪郭データの極座標値と、前記極座標値生成部が生成した内輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0008】
また、本発明は、物体識別装置において、前記入力画像から抽出した図形の画像データを複数の色空間成分に分離する色空間分離部と、をさらに備え、前記二値化部は、前記色空間分離部が分離した各色空間成分を二値化し、前記輪郭抽出部は、前記二値化部が二値化した各色空間成分の画像データから輪郭データを抽出し、前記極座標値記憶部に記憶されている各色空間成分の各輪郭データの極座標値と、前記極座標値生成部が生成した各色空間成分の各輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0009】
また、本発明は、物体識別装置において、前記極座標値生成部は、生成した前記極座標値の中から距離の最大値を抽出し、抽出した距離の最大値に基づいて正規化を行うことを特徴としている。
【0010】
また、本発明は、物体識別装置の物体識別方法において、背景差分処理部が、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、二値化部が、前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、輪郭抽出部が、前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、重心算出部が、前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、極座標値生成部が、前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部とを備え、前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行うことを特徴としている。
【0011】
また、本発明は、物体識別装置の物体識別プログラムにおいて、コンピューターに、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部とを備え、前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を実行させることを特徴としている。
【発明の効果】
【0012】
本発明によれば、対象物から多くの特徴点が抽出できない場合でも適切な輪郭を、背景差分処理を用いて入力画像から抽出し、抽出した輪郭データを極座標で表現し、極座標表現した物体の認識を行うことで高い認識精度を得ることが可能になる。
【図面の簡単な説明】
【0013】
【図1】第一実施形態に係る物体識別装置の構成の一例を示すブロック図である。
【図2】背景差分処理を説明する図である。
【図3】同実施形態に係る入力画像データの処理を説明する図である。
【図4】同実施形態に係る極座標値の生成方法の一例を説明する図である。
【図5】同実施形態に係る極座標値記憶部が記憶する極座標値の構成の一例である。
【図6】同実施形態に係る対象物の登録手順のフローチャートである。
【図7】同実施形態に係る極座標値生成手順のフローチャートである。
【図8】同実施形態に係る対象物の識別手順のフローチャートである。
【図9】同実施形態に係る識別方法を説明する図である。
【図10】第二実施形態に係る輪郭抽出装置の構成の一例を示すブロック図である。
【図11】第二実施形態に係るRGB画像データの色空間チャネル分解を説明する図である。
【図12】第二実施形態に係る極座標値記憶部が記憶する極座標値の構成の一例である。
【図13】第二実施形態に係る対象物の登録手順のフローチャートである。
【図14】第二実施形態に係る対象物の識別手順のフローチャートである。
【図15】本実施形態による物体識別装置の利用例を示す図である。
【発明を実施するための形態】
【0014】
以下、図1〜図15を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0015】
[第一実施形態]
図1の物体識別装置の構成の一例を示すブロック図を用いて、本実施形態における物体識別装置の構成を説明する。物体識別装置1は、外部設定値取り込み部11と、画像データ取り込み部12と、背景画像記憶部13と、背景差分処理部14と、平滑化部15と、二値化部16と、輪郭抽出部17と、重心算出部18と、内輪郭抽出部19と、極座標値生成部20と、識別部21と、極座標値記憶部22と、識別結果出力部23とを備える。また、物体識別装置1には、カメラ2と、画像表示装置3が接続されている。
【0016】
カメラ2は、例えば受光レンズとCCDカメラ等で構成され、対象物を含まない背景画像または入力画像を撮影し、撮影された入力画像を物体識別装置1に送信する。画像表示装置3は、物体識別装置1から輪郭抽出結果の表示用の画像データを受信し、受信した画像データを表示する。
【0017】
外部設定値取り込み部11は、外部から物体識別処理に用いる各種の設定である外部設定値を取り込む。外部設定値は、平滑化部15が行う平滑化の各種パラメータ(処理手法、処理回数、処理を行う範囲、処理を行う形状、重み付け係数など)、等を備えている。また、外部設定値取り込み部11は、取り込んだ外部設定値を、背景差分処理部14と平滑化部15と二値化部16と極座標値生成部20とに出力する。
【0018】
画像データ取り込み部12は、カメラ2により撮影された背景画像または入力画像を取り込み、取り込んだ背景画像の画像データ(以下、背景画像データと呼ぶ)を背景画像記憶部13に書き込んで記憶させる。また、画像データ取り込み部12は、取り込んだ入力画像の画像データ(以下、入力画像データと呼ぶ)を背景差分処理部14に出力する。
【0019】
背景画像記憶部13は、背景画像データを記憶する。なお、背景画像データは、予め背景画像記憶部13に記憶させておいても良い。
【0020】
背景差分処理部14は、外部設定値取り込み部11が出力する外部設定値と、画像データ取り込み部12が出力する入力画像データを取り込み、また、背景画像記憶部13に記憶されている背景画像データを読み出す。また、背景差分処理部14は、取り込んだ外部設定値から、背景差分処理に関する各種パラメータを読み出す。さらに、背景差分処理部14は、読み出した背景差分処理に関する各種パラメータを用いて、入力画像データと背景画像データの差分画像データを算出し、算出した差分画像データを平滑化部15に出力する。図2は、背景差分処理を説明する図である。図2のように、予め撮影した対象物を含まない背景画像データ(図2(a))と、対象物を含む入力画像データ(図2(b))の差分を演算することで差分画像データ(図2(c))を抽出する。
【0021】
平滑化部15は、外部設定値取り込み部11が出力する外部設定値と、背景差分出部14が出力する差分画像データとを取り込む。また、平滑化部15は、取り込んだ外部設定値から、平滑化手法の種類や平滑化の各種パラメータを読み出す。さらに、平滑化部15は、取り込んだ差分画像データを、読み出した平滑化手法の種類に基づき、例えばガウシアン・フィルタを用いて、取り込んだ外部設定値の回数分の平滑化を行う。さらに、平滑化部15は、所定の面積以下の領域を一般的な手法を用いて穴埋め処理を行う。例えば、平滑化部15は、所定の面積以下の領域を周辺領域の色データに変換することで、穴埋め処理を行う。さらに平滑化した差分画像データを二値化部16に出力する。
【0022】
二値化部16は、外部設定値取り込み部11が出力する外部設定値と、平滑化部15が出力する平滑化された差分画像データを取り込む。また、二値化部16は、取り込んだ外部設定値から、閾値設定手法、例えば1979年に大津展之によって提案された閾値設定手法(以下、大津の閾値設定手法という)を読み出す。さらに、二値化部16は、取り込んだ平滑化された差分画像データを、外部設定値の指示する閾値設定手法を用いて二値化する。さらに、二値化部16は、二値化した差分画像データを輪郭抽出部17に出力する。例えば、二値化部16は、図3(a)のような差分画像データ100を閾値に基づき二値化し、図3(b)のような二値化した差分画像データ110を生成する。図3は、入力画像データの処理を説明する図である。また、図3(a)のように、入力画像データ100は、例えば、背景101と対象物102とで構成され、さらに対象物102は、例えば、対象物102を貫通している穴103と104を有している。
【0023】
輪郭抽出部17は、二値化部16が出力する二値化された差分画像データを取り込み、取り込んだ二値化された差分画像データから、一番面積の大きい領域の最外周の輪郭(以下、外輪郭データと呼ぶ)を抽出する。また、輪郭抽出部17は、抽出した外輪郭データを重心算出部18と内輪郭抽出部19と極座標値生成部20に出力する。例えば、輪郭抽出部17は、図3(b)のような二値化した差分画像データ110から、図3(c)のような外輪郭データ121を抽出する。すなわち、本実施形態では、従来技術のように対象物の特徴点を抽出するのではなく、背景差分処理により入力画像データから対象物を抽出し、抽出した対象物を二値化し、さらに二値化した画像データから輪郭を抽出する。
【0024】
重心算出部18は、輪郭抽出部17が出力する外輪郭データを取り込み、取り込んだ外輪郭データを用いて、輪郭の重心位置を算出し、算出した重心位置データを極座標値生成部20に出力する。
【0025】
内輪郭抽出部19は、二値化部16が出力する二値化された差分画像データと輪郭抽出部17が出力する外輪郭データを取り込み、取り込んだ外輪郭内に所定の面積以上の黒画素部分を抽出し、抽出した黒画素部分の輪郭データ(以下、内輪郭データと呼ぶ)を抽出する。例えば、図3(b)と図3(c)のように、内輪郭抽出部19は、輪郭抽出部17が抽出した外輪郭121内にある所定の面積以上の黒画素部分111と112を抽出し、抽出した黒画素部分の内輪郭データ131と132を抽出する。さらに、内輪郭抽出部19は、抽出した内輪郭データを極座標値生成部20に出力する。
【0026】
極座標値生成部20は、外部設定値取り込み部11が出力する外部設定値と、輪郭抽出部17が出力する外輪郭データと、重心算出部18が出力する重心位置データと、内輪郭抽出部19が出力する内輪郭データを取り込む。また、極座標値生成部20は、取り込んだ外部設定値から極座標値を生成する角度間隔を抽出する。さらに、極座標値生成部20は、取り込んだ重心位置データと輪郭データを、外部設定値に基づく角度毎に極座標表現に変換して極座標値を生成し、生成した外輪郭データの極座標値を識別部21に出力する。さらに、極座標値生成部20は、取り込んだ重心位置データと内輪郭データを、外部設定値に基づく角度毎に極座標表現に変換して極座標値を生成し、生成した内輪郭データの極座標値を識別部21に出力する。
【0027】
極座標値の生成方法を、図4の極座標値の生成方法の一例を説明する図を用いて説明する。図4(a)のように、入力画像データから外輪郭201と内輪郭202、および重心位置Oが抽出されている場合を説明する。極座標値生成部20は、水平方向軸xとのなす角θに対応する輪郭201上の座標P1(x1,y1)と、θ2=θ+Δ度(Δ度は所定の角度間隔、例えば5度間隔)に対応する輪郭201上の座標P2(x2,y2)を抽出する。そして、極座標値生成部20は、抽出した特徴点P1(x1,y1)と重心位置Oとの距離L1と、特徴点P2(x2,y2)と重心位置Oとの距離L2を算出する。さらに、極座標値生成部20は、距離L1と距離L2との平均を算出して、算出した距離の平均値を角度θ1〜θ2における距離Lとする。この処理は、図4(b)のような輪郭201上の座標を所定の角度毎に、図4(c)のように距離と角度の関係である極座標表現に置き換える。
【0028】
図1に戻って、識別部21は、極座標値生成部20が出力する外輪郭データの極座標値と、内輪郭データの極座標値を受け取り、受け取った外輪郭データの極座標値と内輪郭データの極座標値とが、極座標値記憶部22に書き込まれて記憶されているか判別する。書き込まれていないと判定した場合、識別部21は、入力画像データに含まれる対象物を未登録対象物と識別し、極座標値記憶部22に外輪郭データと内輪郭データとの極座標値を関連づけて書き込んで記憶させる。また、書き込まれていると判定した場合、識別部21は、入力画像データに含まれる対象物を登録済みである対象物と識別する。さらに、識別部21は、識別結果を識別結果出力部23に出力する。
【0029】
極座標値記憶部22は、外輪郭データの極座標値と、内輪郭データの極座標値を記憶する。図5は、極座標値記憶部22が記憶する極座標値の構成の一例である。図5のように、極座標値記憶部22は、外輪郭データと内輪郭のデータを有し、外輪郭データと内輪郭のデータは所定の角度ごとに重心位置から輪郭の座標までの距離を関連づけて記憶する。また、これらのデータの組み合わせを対象物ごとに関連づけて記憶する。
【0030】
識別結果出力部23は、識別部21が出力する識別結果を取り込み、取り込んだ識別結果に基づき、例えば、「入力画像データに含まれる対象物がすでに登録済みのデータと一致する」、または、「入力画像データに含まれる対象物が登録済みデータと一致しない」等の識別結果を画像表示装置3に出力する。
また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
【0031】
次に、対象物の登録手順を図6のフローチャートを用いて説明する。まず、外部設定値読み込み部11は、物体識別処理に用いる各種の設定である外部設定値を取り込む(ステップS1)。また、外部設定値読み込み部11は、取り込んだ外部設定値を背景差分処理部14と平滑化部15と二値化部16と極座標値生成部20とに出力する。
【0032】
次に、画像データ取り込み部12は、カメラ2が撮像した対象物を含まない背景画像データを取り込む(ステップS2)。また、画像データ取り込み部12は、取り込んだ背景画像データを背景画像記憶部13に書き込んで記憶させ、さらに取り込んだ背景画像データを背景差分処理部14に出力する。
次に、画像データ取り込み部12は、カメラ2が撮像した入力画像データを取り込む(ステップS3)。また、画像データ取り込み部12は、取り込んだ入力画像データを背景差分処理部14に出力する。
【0033】
次に、背景差分処理部14は、背景画像記憶部13に記憶されている背景画像データを読み出し、外部設定値取り込み部11が出力する外部設定値と画像データ取り込み部12が出力する入力画像データとを取り込む。次に、背景差分処理部14は、取り込んだ外部設定値から、背景差分処理に関する各種パラメータを読み出す。次に、背景差分処理部14は、読み出した背景差分処理に関する各種パラメータを用いて、背景画像データと入力画像データの差分を算出し、算出した差分画像データを平滑化部15に出力する(ステップS4)。
次に、平滑化部15は、外部設定値取り込み部11が出力する外部設定値と、背景差分処理部14が出力する差分画像データを取り込む。次に、平滑化部15は、取り込んだ外部設定値に基づき差分画像データを平滑化し、平滑化した差分画像データを二値化部16に出力する(ステップS5)。
次に、二値化部16は、外部設定値取り込み部11が出力する外部設定値と、背景差分処理部14が出力する平滑化された差分画像データを取り込む。また、二値化部16は、取り込んだ平滑化された差分画像データを、外部設定値の閾値設定手法(例えば、大津の閾値設定手法)を用いて二値化し、二値化した差分画像データを輪郭抽出部17に出力する(ステップS6)。例えば、二値化された差分画像データは、図3(b)のように輪郭の外側は黒画素であり、対象物である輪郭の内側は白画素である。また、輪郭内に内輪郭を有する領域111と112は黒画素である。
【0034】
次に、輪郭抽出部17は、二値化部16が出力する二値化された差分画像データを取り込み、取り込んだ二値化された差分画像データから外輪郭データを抽出し、抽出した外輪郭データを重心算出部18と内輪郭抽出部19とに出力する(ステップS7)。
次に、重心算出部18は、輪郭抽出部17が出力する外輪郭データを取り込み、取り込んだ外輪郭データを用いて外輪郭の重心位置を算出し、算出した重心位置データを極座標値生成部20に出力する(ステップS8)。
次に、極座標値生成部20は、外部設定値取り込み部11が出力する外部設定値と、輪郭抽出部17が出力する外輪郭データと、重心算出部18が出力する重心位置データを取り込む。次に、極座標値生成部20は、取り込んだ重心位置データと外輪郭データを、外部設定値に応じた角度ごとの重心位置から外輪郭までの距離の平均値を算出して、角度と距離を用いた極座標表現に変換して極座標値を生成し、生成した極座標値を識別部21に出力する(ステップS9)。
【0035】
極座標値生成部20が行う極座標値生成手順を、図7のフローチャートを用いて説明する。極座標値生成部20は、外部設定値から抽出した所定の角度(例えば5度)ごとの処理を、角度0度〜360度すべて行う(ステップS101〜S105)。まず、極座標値生成部20は、角度0度における重心位置から外輪郭データの座標までの距離L1を算出する(ステップS102)。次に、極座標値生成部20は、角度5度における重心位置から外輪郭の座標までの距離L2を算出する(ステップS103)。次に、極座標値生成部20は、角度0度〜5度の距離として、距離L1と距離L2の平均値を算出する(ステップS104)。次に、角度5度と角度10度の距離の平均値Lを算出し、これらの処理を角度0度から360度まで行う。
【0036】
次に、内輪郭抽出部19は、二値化部16が出力する二値化された差分画像データと、輪郭抽出部17が出力する輪郭データと外輪郭データを取り込む。次に、内輪郭抽出部19は、二値化された差分画像データと外輪郭データを用いて、外輪郭データ内の所定の面積以上を有する黒画素領域を検索する(ステップS10)。
次に、内輪郭抽出部19は、検索の結果、外輪郭データ内に所定の面積の黒画素領域が存在するか否かを判定する(ステップS11)。
判定の結果、外輪郭データ内に所定の面積の黒画素領域が存在する場合(ステップS11;Yes)、内輪郭抽出部19は、黒画素領域の内輪郭データを抽出して、抽出した内輪郭データを極座標値生成部20に出力する。具体的には、内輪郭抽出部19は、外輪郭データ121の内側に、所定の面積以上の黒領域があるか二値化された差分画像データ110と比較し、比較の結果に基づき領域111と112を抽出する。そして、内輪郭抽出部19は、抽出した黒画素領域の内輪郭データ131と132を抽出し、抽出した極座標値生成部20に出力する。
また、判定の結果、外輪郭データ内に所定の黒面積の領域が存在しない場合(ステップS11;No)、ステップS14に進む。
【0037】
次に、極座標値生成部20は、重心算出部18が出力する重心位置データと、内輪郭抽出部19が出力する内輪郭データを取り込む。次に、極座標値生成部20は、取り込んだ重心位置データと内輪郭データを用いて、外輪郭データの極座標値生成と同様に内輪郭データを極座標表現に変換して極座標値を生成し、生成した極座標値を識別部21に出力する(ステップS12)。
次に、内輪郭抽出部19は、外輪郭データ内の全ての内輪郭データの極座標値を生成したか否かを判定する(ステップS13)。
全ての内輪郭データの極座標値を生成が完了していない場合(ステップS13;No)、内輪郭抽出部19と極座標値生成部20は、ステップS10〜ステップS13を繰り返し、外輪郭データ内の全ての内輪郭データを抽出し、抽出した全ての内輪郭データの極座標値を生成し、生成した内輪郭データの極座標値を識別部21に出力する。
次に、識別部21は、極座標値生成部20が出力する外輪郭データの極座標値と内輪郭データの極座標値を取り込み、取り込んだ極座標値の組み合わせの物体データが極座標値記憶部22にすでに記憶されているか否かを判定する。対象物を新規に登録する場合、極座標値記憶部22には、まだ記憶されていないため、識別部21は、取り込んだ外輪郭データの極座標値と内輪郭データの極座標値を関連づけ、書き込んで記憶させる(ステップS14)。
以上で対象物の登録手順を終了する。
【0038】
次に、対象物の識別手順を図8のフローチャートを用いて説明する。まず、カメラ2により撮影された入力画像を取り込み、登録手順と同様にステップS1〜ステップS13を行い、外輪郭データと内輪郭データを生成する(ステップS201)。
次に、識別部21は、取り込んだ外輪郭データの極座標値と、極座標値記憶部22に記憶されている対象物の外輪郭データの極座標値とを比較する(ステップS202)。
比較方法は、例えば、以下のように行う。極座標記憶部22に記憶されている0〜π/36の距離Lmと、取り込んだ入力画像データから生成した0〜π/36の距離Liの差の絶対値を計算する。次に、極座標記憶部22に記憶されているπ/36〜2π/36の距離Lm+1と、取り込んだ入力画像データから生成したπ/36〜2π/36の距離Li+1の差の絶対値を計算する。このように全ての角度について差の絶対値を計算し、算出した差の絶対値の総和を計算する。次に、極座標記憶部22に記憶されているπ/36〜2π/36の距離Lm+1と、取り込んだ入力画像データから生成した0〜π/36の距離Liの差の絶対値を計算する。この手順を繰り返し、極座標記憶部22に記憶されている0〜π/36の距離Lmと、取り込んだ入力画像データから生成した35π/36〜0の距離Li+36の差の絶対値を計算する。すなわち、極座標値記憶部22に記憶されている距離をπ/36ずつずらして差の絶対値を算出し、同様に差の絶対値の総和を計算する。
このように、識別部21は、π/36ずつずらした差の絶対値の総和を計算し、差の絶対値の総和が一番小さいずらし量(角度)を算出し、一番小さい絶対値の総和を比較値として抽出する。
【0039】
次に、識別部21は、抽出した比較値を所定のしきい値と比較し、所定の比較値より小さければ極座標記憶部22に記憶されている対象物の輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致するか否かを判定する(ステップS203)。
極座標記憶部22に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致しない場合(ステップS203;No)、識別部21は、対象物が一致していないと識別し、識別結果を識別結果出力部23に出力し、生成した外輪郭データと内輪郭データを関連づけて極座標値記憶部22に書き込んで記憶させる(ステップS205)。また、識別結果出力部23は、識別部21が出力する識別結果を取り込み、取り込んだ識別結果に基づく識別結果を画像表示装置3に出力する。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
【0040】
ステップS202とステップS203の具体的な識別の例を、図9の識別方法を説明する図を用いて説明する。説明を簡略化するため、極座標値を16等分(22.5度間隔)で生成した場合を説明する。極座標記憶部22に記憶されている極座標値が図9(a)、入力画像データから生成した極座標値が図9(b)の場合、まず、角度0〜θ1の距離Lm=6と距離Li=3との差の絶対値=3を計算する。この手順を角度θ15〜0まで繰り返して、全ての角度の差の絶対値の総和=18を計算する。次に、極座標記憶部22に記憶されている極座標値の角度をθ1ずらして比較する。すなわち、角度θ1〜θ2の距離Lm+1=7と距離Li=3との差の絶対値L=4を計算する。この手順を角度θ15〜0まで繰り返して、全ての角度の差の絶対値の総和=0を計算する。このように角度θ1ずつずらして比較し、全ての角度の差の絶対値の総和が最小であるθ1を比較値として抽出する。そして、抽出した差の絶対値の総和=0と所定のしきい値を比較して、所定の比較値より小さいと判定し、極座標記憶部22に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致すると識別する。また、対象物が一致すると判定された場合、この比較値θ1は、対象物の回転角度でもある。
【0041】
図8に戻って、極座標記憶部22に記憶されている対象物の輪郭データと、入力画像データに含まれる対象物の輪郭データとが一致する場合(ステップS203;Yes)、識別部21は、入力画像データに内輪郭データがあるか否かを判定する(ステップS206)。入力画像データに内輪郭データがない場合(ステップS206;No)、識別部21は極座標記憶部22に内輪郭データが外輪郭データに関連づけられて記憶されているか否かを判定する(ステップS207)。極座標記憶部22に内輪郭データが外輪郭データに関連づけられて記憶されている場合(ステップS207;Yes)、ステップS204に進み、極座標記憶部22に内輪郭データが外輪郭データに関連づけられて記憶されている場合(ステップS207;No)、ステップS213に進む。
【0042】
入力画像データに内輪郭データがある場合(ステップS206;Yes)、識別部21は、入力画像データから生成した内輪郭データの面積を算出し、内輪郭データが複数ある場合は面積の大きい順に内輪郭データを並べる(ステップS208)。
次に、識別部21は、一番面積の大きい内輪郭データを選択し(ステップS209)、選択した内輪郭データと、ステップS202〜ステップS203で一致すると識別された外輪郭データと関連づけられて極座標記憶部22に記憶されている内輪郭データとを一致するか否か、外輪郭データ比較方法と同じ方法で比較する(ステップS210)。
【0043】
比較の結果、入力画像データの内輪郭データと、極座標記憶部22に記憶されている内輪郭データとが一致しない場合(ステップS211;No)、ステップS204に進み対象物が一致していない場合の処理を行う。比較の結果、入力画像データの内輪郭データと、極座標記憶部22に記憶されている内輪郭データとが一致している場合(ステップS211;Yes)、入力画像データから生成した全ての内輪郭データと、一致すると識別された外輪郭データと関連づけられて極座標記憶部22に記憶されている全ての内輪郭データ
とについて比較を終了したか否かを判定する(ステップS212)。
全ての内輪郭データ比較が終了していない場合(ステップS212;No)、ステップS209〜ステップS212を繰り返す。全ての内輪郭データ比較が終了し、内輪郭データが一致した場合(ステップS212;Yes)、対象物が一致したと判定し、識別結果を識別結果出力部23に出力する(ステップS213)。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
以上で、対象物の識別手順を終了する。
【0044】
以上のように、対象物を背景差分処理により抽出し、抽出した差分画像を二値化した画像データから輪郭データを抽出する。そして、抽出した輪郭データを用いて重心位置を算出し、重心位置と輪郭データを用いて極座標表現に変換して極座標値を生成し、生成した極座標値を用いて対象物の識別を行うようにしたので、特徴点が抽出しにくい画像においても高い認識精度を得ることができる。また、対象物の輪郭内データに二値化したときの黒画素領域を抽出し、抽出した黒画素領域の輪郭データをさらに抽出する。そして、この抽出した輪郭データを、重心位置と輪郭データを用いて極座標表現に変換して極座標値を生成し、生成した極座標値を用いて対象物の識別を行うようにしたので、複雑な形状の対象物においても従来手法と比較して計算量を軽減でき、例えばモバイル端末などの実装を行うことができる。
【0045】
[第二実施形態]
図10の物体識別装置300の構成の一例を示すブロック図を用いて、本実施形態における物体識別装置の構成を説明する。第一の実施形態と同じ機能部は、同じ符号を用いて説明は省略する。第一の実施形態との差異は、外部設定値取り込み部301と、平滑化部302と、色空間分離部303と、二値化部304と、輪郭抽出部305と、重心算出部306と、チャネル選択部307と、極座標値記憶部310である。
【0046】
外部設定値取り込み部301は、外部から物体識別処理に用いる各種の設定である外部設定値を取り込み、取り込んだ外部設定値を背景差分処理部14と平滑化部302と色空間分離部303と二値化部304とチャネル選択部307と極座標値生成部308と識別部309に出力する。
【0047】
色空間分離部303は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データを取り込む。また、色空間分離部303は、外部設定値に応じて、平滑化した差分画像データをRGBやHSV(色相、彩度、明度)などの色空間に分離し、分離した各チャネルの色空間画像データを二値化304に出力する。図11は、RGB画像データの色空間チャネル分解を説明する図である。外部設定値がRGB画像データをR,G,Bの各チャネルに分離を行う設定の場合、図11のように、色空間分離部303は、差分画像データを各チャネルの画像データに分離する。
【0048】
二値化部304は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データ(RGB画像データ)と色空間分離部303が出力する各チャネルの色空間画像データを取り込む。また、二値化部304は、取り込んだ平滑化された差分画像データおよび各チャネルの色空間画像データを外部設定値に応じてそれぞれ二値化し、二値化した平滑化された差分画像データと各チャネルの色空間画像データとを輪郭抽出部305に出力する。
【0049】
輪郭抽出部305は、二値化部304が出力する二値化された差分画像データ、および二値化された各チャネルの色空間画像データを取り込み、取り込んだ差分画像データ、および各チャネルの色空間画像データからそれぞれ外輪郭データを抽出する。また、輪郭抽出部305は、抽出した差分画像データの外輪郭データを重心算出部306に出力し、抽出した各チャネルの色空間画像データの各外輪郭データを極座標値生成部308に出力する。
【0050】
重心算出部306は、輪郭抽出部305が出力する差分画像データの外輪郭データを取り込み、取り込んだ差分画像データの外輪郭データから重心位置を算出し、算出した重心位置データを極座標値生成部308に出力する。
【0051】
チャネル選択部307は、外部設定値取り込み部301が出力する外部設定値を取り込み、取り込んだ外部設定値からどの色空間分離手法を用いるかの色空間分離指示情報を抽出する。また、チャネル選択部307は、抽出した色空間分離指示情報に基づき、どのチャネルの外輪郭データを用いて極座標値生成部308が極座標値を生成するかを適時切り替えるチャネル選択データを生成し、生成したチャネル選択データを極座標値生成部308に出力する。
例えば、外部設定値がRGBに分離する場合、チャネル選択部307は、まずRGB画像データの外輪郭データを用いて極座標値を生成するチャネル選択データを極座標値生成部308に出力する。チャネル選択部307は、極座標値生成部308が出力する生成完了データを取り込み、生成完了データを取り込み後、まだ極座標値を生成していない色空間のチャネルであるRチャネルを選択し、選択したR画像データの外輪郭データを用いて極座標値を生成するチャネル選択データを極座標値生成部308に出力する。このようにして、全ての色空間画像データの各外輪郭データから極座標値を生成するチャネル選択データを、極座標値生成部308に順次出力する。
【0052】
極座標値生成部308は、外部設定値取り込み部301が出力する外部設定値と、輪郭抽出部305が出力する差分画像データの外輪郭データと各色空間の各外輪郭データと、重心算出部306が出力する重心位置データと、チャネル選択部307が出力するチャネル選択データを取り込む。また、極座標値生成部308は、チャネル選択データに応じて、取り込んだ外輪郭データごとに外部設定値に応じて極座標値を生成する。さらに、極座標値生成部308は、各極座標値の生成完了後、生成完了データを生成し、生成した生成完了データをチャネル選択部307に出力する。
【0053】
識別部309は、外部設定値取り込み部301が出力する外部設定値と、極座標値生成部308が出力する差分画像データの外輪郭データの極座標値と、各色空間画像データの外輪郭データの極座標値とを取り込む。また、識別部309は、取り込んだ外部設定値からチャネル優先度データを抽出する。さらに、識別部309は、取り込んだ各極座標値の組み合わせが極座標値記憶部310に記憶されている極座標値と一致するか否かを、まずRGB画像データから生成された極座標値について判定する。さらに、識別部309は、チャネル優先度データに応じた色空間画像データから生成された極座標値について、極座標値記憶部310に記憶されている極座標値と一致するか否かを判定を行う。
さらに、識別部309は、判定結果に基づき対象物を識別し、識別結果を識別結果出力部23に出力する。さらに、識別部309は、判定の結果、極座標値記憶部310に記憶されていない極座標値の場合、各極座標値を極座標値記憶部310に書き込んで記憶させる。
【0054】
極座標値記憶部310は、差分画像データの外輪郭データの極座標値と、各色空間画像データの外輪郭データの極座標値を、所定の角度毎に関連づけて記憶する。図12は、極座標値記憶部310が記憶する極座標値の構成の一例である。図12のように、極座標値記憶部310は、RGB画像データと各色空間チャネル(R、G、B)の画像データの各外輪郭データを有し、各外輪郭データは角度毎、例えば5度ごとに重心位置から輪郭の特徴点までの距離を関連づけて記憶する。また、これらのデータの組み合わせを対象物ごとに関連づけて記憶する。
【0055】
次に、第二の実施形態における対象物の登録手順を図13のフローチャートを用いて説明する。第一の実施形態と同じ処理については、同じ符号を用いて説明を省略する。まず、ステップS1〜ステップS5までは、第一の実施形態と同様に行う。
次に、色空間分離部303は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データとを取り込む。次に、色空間分離部303は、外部設定値に基づき平滑化された差分画像データをR,G,Bの各色空間成分に分離し、分離した各チャネルの色空間画像データを二値化304に出力する。(ステップS301)。
次に、二値化部304は、外部設定値取り込み部301が出力する外部設定値と、平滑化部302が出力する平滑化された差分画像データと、色空間分離部303が出力する各チャネルの色空間画像データを取り込む。また、二値化部304は、取り込んだ平滑化された差分画像データと、各チャネルの色空間画像データとを、それぞれ外部設定値の閾値設定手法(例えば、大津の閾値設定手法)を用いて二値化し、二値化した差分画像データと各チャネルの色空間画像データとを輪郭抽出部305に出力する(ステップS302)。
【0056】
次に、輪郭抽出部305は、二値化部304が出力する二値化された差分画像データを取り込み、取り込んだ二値化された差分画像データから外輪郭データを抽出し、抽出した外輪郭データを重心算出部18に出力する(ステップS303)。
次に、重心算出部18は、輪郭抽出部305が出力する外輪郭データを取り込み、取り込んだ外輪郭データを用いて外輪郭の重心位置を算出し、算出した重心位置データを極座標値生成部308に出力する(ステップS304)。
【0057】
次に、チャネル選択部307は、外部設定値取り込み部301が出力する外部設定値を取り込み、取り込んだ外部設定値から色空間分離指示情報を抽出する。また、チャネル選択部307は、抽出した色空間分離指示情報に基づきRGB画像データを選択するチャネル選択データを生成し、生成したチャネル選択データを極座標値生成部308に出力する。
次に、極座標値生成部308は、外部設定値取り込み部301が出力する外部設定値と、輪郭抽出部17が出力する差分画像データの外輪郭データと、重心算出部18が出力する重心位置データと、チャネル選択部307が出力するチャネル選択データとを取り込む。
次に、極座標値生成部308は、チャネル選択データに応じてRGB画像データの差分画像データの極座標値生成を行う。次に、極座標値生成部308は、取り込んだ重心位置データと外輪郭データを、外部設定値に応じた角度ごとの重心位置から外輪郭までの距離の平均値を、極座標表現に変換して極座標値を生成し、生成した極座標値を識別部309に出力する(ステップS305)。
【0058】
次に、チャネル選択部307は、外部設定値に応じてRチャネルを選択するチャネル選択データを極座標値生成部308に出力する(ステップS306)。
次に、極座標値生成部308は、外部設定値取り込み部301が出力する外部設定値と、輪郭抽出部17が出力する各チャネルの色空間画像データの外輪郭データと、重心算出部18が出力する重心位置データと、チャネル選択部307が出力するチャネル選択データとを取り込む。
次に、極座標値生成部308は、チャネル選択データに応じてRチャネル画像データの極座標値生成を行う。次に、極座標値生成部308は、取り込んだ重心位置データと外輪郭データを、外部設定値に応じた角度ごとの重心位置から外輪郭までの距離の平均値を、極座標表現に変換して極座標値を生成し、生成した極座標値を識別部309に出力する(ステップS307)。
次に、極座標値生成部308は、全ての色空間チャネル(R,G,B)の極座標値の生成が完了したか否かを判定する(ステップS308)。全てのチャネルの極座標値生成が完了していない場合(ステップS308;No)、ステップS306〜ステップS308を繰り返す。全てのチャネルの極座標値生成が完了した場合(ステップS308;Yes)、極座標値生成部308は、生成したRGB画像データ及び各色チャネルの色空間画像データにおける各輪郭データの各極座標値を識別部309に出力する。
【0059】
次に、識別部309は、極座標値生成部308が出力する各外輪郭データの各極座標値を取り込み、取り込んだ各極座標値の組み合わせの物体データが極座標値記憶部310にすでに記憶されているか否かを判定する。対象物を新規に登録する場合、極座標値記憶部310には、まだ記憶されていないため、識別部309は、取り込んだ各外輪郭データの極座標値を関連づけ、書き込んで記憶させる(ステップS309)。
以上で対象物の登録手順を終了する。
【0060】
次に、第二の実施形態における対象物の識別手順を図14のフローチャートを用いて説明する。まず、カメラ2により撮影された入力画像を取り込み、登録手順と同様にステップS1〜ステップS5およびステップS301〜ステップS308を行い、各外輪郭データの各極座標値を生成する(ステップS401)。
次に、識別部309は、RGB画像データから生成された外輪郭データの極座標値と、極座標値記憶部310に記憶されているRGB画像データから生成された外輪郭データとを比較する(ステップS402)。なお、極座標値の比較方法は、第一の実施形態と同様に行う。
【0061】
次に、極座標記憶部310に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致しない場合(ステップS403;No)、識別部309は、対象物が一致していないと識別し、識別結果を識別結果出力部23に出力し、生成した各外輪郭データを関連づけて極座標値記憶部310に書き込んで記憶させる(ステップS405)。また、識別結果出力部23は、識別部309が出力する識別結果を取り込み、取り込んだ識別結果に基づく識別結果を画像表示装置3に出力する。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
【0062】
次に、極座標記憶部310に記憶されている対象物の外輪郭データと、入力画像データに含まれる対象物の外輪郭データとが一致する場合(ステップS403;Yes)、識別部309は、外部取り込み部11が出力する外部設定値を取り込み、取り込んだ外部設定値からチャネル優先度データを抽出する。次に、識別部309は、チャネル優先度データに応じた色空間チャネルを選択する(ステップS406)。
次に、識別部309は、選択した色空間チャネルの極座標値と、極座標値記憶部310に記憶されている同じ色空間チャネルの極座標値とを、第一の実施形態の極座標値の比較方法と同様に行う(ステップS407)。
【0063】
次に、極座標記憶部310に記憶されている対象物の色空間チャネルの外輪郭データと、入力画像データに含まれる対象物の色空間チャネルの外輪郭データとが一致するか否かを判定する(ステップS408)。
判定の結果、一致しない場合(ステップS408;No)、識別部309は、対象物が一致していないと識別し、ステップS404〜ステップS405を行う。
判定の結果、一致する場合(ステップS408;Yes)、識別部309は、全ての色空間チャネルについて判定が終了したか否かを判定する(ステップS409)。
全ての色空間チャネルについて判定が終了していない場合(ステップS409;No)、ステップS406〜ステップS409を繰り返す。全ての色空間チャネルについて判定が終了した場合(ステップS409;Yes)、識別部309は、対象物が一致したと判定し、識別結果を識別結果出力部23に出力する(ステップS410)。また、画像表示装置3は、識別結果出力部23が出力する識別結果を表示部に表示する。
以上で、対象物の識別手順を終了する。
【0064】
以上のように、第一の実施形態に加え、入力画像データのRGB画像データを色空間に分離した画像データに基づき対象物の外輪郭データの極座標値を生成し、生成した各チャネルの極座標値も用いて対象物の識別を行うようにした。この結果、差分画像データが有する色空間成分によって、各チャネルに分離された成分も異なるため、例えば、青色など特定の色空間成分を有する対象物ではRGBの差分画像データから生成した輪郭データを用いるだけではなく、Bチャネルのみの差分画像データから生成した輪郭データをも用いることで、さらに高精度の識別を行える。さらにまた、対象物が柄や模様を有する場合等においても、色空間分離を行うことで、柄や模様の抽出を高精度に行えるため、外形が同じであっても柄や模様、色が異なる対象物を高精度に識別することができる。
【0065】
また、第二の実施形態では、色空間成分に分離して識別する例を説明したが、第一の実施形態の内輪郭データを抽出するようにしても良い。この場合、第二の実施形態の構成に加え、内輪郭抽出部を備えるようにすれば良い。また、第二の実施形態では、色空間をR、G、Bに分離する例を説明したが、HSVなどの色空間でも同様の効果が得られる。
【0066】
また、第一の実施形態では、内輪郭データの極座標値の比較を、内輪郭データの面積の大きい順に行う例を説明したが、順番はランダムでも良く、あるいは、所定の順番でも良い。さらに、第一の実施形態では、全ての内輪郭データの極座標値を比較する例を説明したが、面積の大きい順に比較し、所定の面積以下の内輪郭データの極座標値の比較を、用途に応じて省略して識別するようにしても良い。あるいは、所定の面積以下の比較については、所定の個数以上の内輪郭データの極座標値が一致した場合、省略するようにしても良い。
【0067】
また、本実施形態では、例えば、角度θ度に対応する輪郭データの座標と重心との距離L1と、角度θ+Δ度に対応する輪郭データの座標と重心との距離L2の平均値を算出して極座標値を生成する例を説明したが、角度θ度に対応する輪郭データの座標と重心との距離L1が極座標値でも良い。また、対象物がドーナツ形状のような近接する外側の輪郭と内側の輪郭で構成される場合、例えば、外側の輪郭と重心との距離L1と、内側の輪郭と重心との距離L2の平均値を距離として極座標値を生成しても良い。
【0068】
また、本実施形態では、平滑化部15または302の平滑化する回数を外部設定値取り込み部11または301が取り込んだ外部設定値で指定する例について説明したが、予め設定しておいた回数でも良く、または入力画像や対象物に応じて回数を設定するようにしても良い。この場合、例えば、高周波成分の大小や、ヒストグラムにおける成分の分布度合いなどから入力画像の複雑さを判定して、複雑な画像データに対して平滑化回数を増やすようにしても良い。また、このようにして算出した結果、平均化回数が例えば1回であった場合、平均化処理を行わずに色空間分離を行うようにしても良い。
【0069】
また、本実施形態では、重心位置から外輪郭データの座標または内輪郭データの座標までの距離をそのまま極座標値記憶部22または310に書き込んで記憶させる例を説明したが、極座標値を全て算出した後、距離の最大値を抽出し、抽出した最大値を、例えば1として正規化を行って極座標値記憶部22または310に書き込んで記憶させるようにしても良い。あるいは、極座標値の比較時に正規化を行って比較しても良い。
【0070】
また、本実施形態では、二値化部16または304は、大津の閾値選定手法で設定する例について説明したが、他の一般的な閾値選定手法を用いても良い。
【0071】
図15は、本実施形態による物体識別装置1または300の利用例を示す図である。本実施形態による物体識別装置1または300は、映像が詰まった(関連付けられた)思い出の品を使った世代間コミュニケーションツールとして用いることができる。具体的には、データの送り手である孫は、旅先で拾った貝殻などの思い出の品をテレビの前の撮像装置に置き、登録装置に対して簡単な操作をすることで、思い出の品に詰め込みたい(関連付けたい)映像を編集することができる。そして、この思い出の品を受け取った祖父母は、当該思い出の品をテレビの前の撮像装置に置くだけで、読み出し装置が動作し、思い出の品に詰められた(関連付けられた)映像を見ることができる。このようなシステムにおいて、登録装置と読み出し装置において、当該思い出の品を登録や識別する処理が必要になる。これらの処理は、一般的な家庭にあるパーソナルコンピューターや、モバイル端末などで行うことが想定される。このため、計算量が少なく、さらに、高精度な識別精度が要求される。このようなシステムにおいても、本実施形態の発明を適用することで、計算量が少なく、さらに、高精度な識別精度な識別を行うことができる。
このように、本実施形態による物体識別装置1または300は、思い出の品を置くという簡単かつ直感的な操作で動作するため、ITリテラシの低いユーザでも、ネットワークを介してデータの共有を行うことができる。
【0072】
なお、実施形態の図1および図10の各部の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリー、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0073】
1・・・物体識別装置
2・・・カメラ
3・・・画像表示装置
11・・・外部設定値取り込み部
12・・・画像データ取り込み部
13・・・背景画像記憶部
14・・・背景差分処理部
15・・・平滑化部
16・・・二値化部
17・・・輪郭抽出部
18・・・重心算出部
19・・・内輪郭抽出部
20・・・極座標値生成部
21・・・識別部
22・・・極座標値記憶部
23・・・識別結果出力部
【特許請求の範囲】
【請求項1】
入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理部と、
前記背景差分処理部が抽出した図形の画像データを二値化する二値化部と、
前記二値化部が二値化した図形の画像データから輪郭データを抽出する輪郭抽出部と、
前記輪郭抽出部が抽出した輪郭データの重心位置を算出する重心算出部と、
前記重心算出部が算出した重心位置から前記輪郭抽出部が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成部と、
識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部と、
を備え、
前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする物体識別装置。
【請求項2】
前記輪郭抽出部が抽出した前記輪郭データの内側に存在する所定の面積以上の黒画素領域を抽出し、抽出した領域の内輪郭データを抽出する内輪郭抽出部と、
をさらに備え、
前記極座標値生成部は、前記重心算出部が算出した重心位置から前記内輪郭抽出部が抽出した前記内輪郭データの最外周部までの距離を所定の角度毎に算出して、前記内輪郭データを極座標表現に変換して極座標値を生成し、
前記極座標値記憶部に記憶されている内輪郭データの極座標値と、前記極座標値生成部が生成した内輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする請求項1に記載の物体識別装置。
【請求項3】
前記入力画像から抽出した図形の画像データを複数の色空間成分に分離する色空間分離部と、
をさらに備え、
前記二値化部は、前記色空間分離部が分離した各色空間成分を二値化し、
前記輪郭抽出部は、前記二値化部が二値化した各色空間成分の画像データから輪郭データを抽出し、
前記極座標値記憶部に記憶されている各色空間成分の各輪郭データの極座標値と、前記極座標値生成部が生成した各色空間成分の各輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする請求項1に記載の物体識別装置。
【請求項4】
前記極座標値生成部は、生成した前記極座標値の中から距離の最大値を抽出し、抽出した距離の最大値に基づいて正規化を行う
ことを特徴とする請求項1から請求項3のいずれか1項に記載の物体識別装置。
【請求項5】
物体識別装置の物体識別方法において、
背景差分処理部が、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、
二値化部が、前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、
輪郭抽出部が、前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、
重心算出部が、前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、
極座標値生成部が、前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、
識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部と、
を備え、
前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする物体識別方法。
【請求項6】
コンピューターに、
入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、
前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、
前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、
前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、
前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、
識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部と、
を備え、
前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を実行させるための物体識別プログラム。
【請求項1】
入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理部と、
前記背景差分処理部が抽出した図形の画像データを二値化する二値化部と、
前記二値化部が二値化した図形の画像データから輪郭データを抽出する輪郭抽出部と、
前記輪郭抽出部が抽出した輪郭データの重心位置を算出する重心算出部と、
前記重心算出部が算出した重心位置から前記輪郭抽出部が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成部と、
識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部と、
を備え、
前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする物体識別装置。
【請求項2】
前記輪郭抽出部が抽出した前記輪郭データの内側に存在する所定の面積以上の黒画素領域を抽出し、抽出した領域の内輪郭データを抽出する内輪郭抽出部と、
をさらに備え、
前記極座標値生成部は、前記重心算出部が算出した重心位置から前記内輪郭抽出部が抽出した前記内輪郭データの最外周部までの距離を所定の角度毎に算出して、前記内輪郭データを極座標表現に変換して極座標値を生成し、
前記極座標値記憶部に記憶されている内輪郭データの極座標値と、前記極座標値生成部が生成した内輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする請求項1に記載の物体識別装置。
【請求項3】
前記入力画像から抽出した図形の画像データを複数の色空間成分に分離する色空間分離部と、
をさらに備え、
前記二値化部は、前記色空間分離部が分離した各色空間成分を二値化し、
前記輪郭抽出部は、前記二値化部が二値化した各色空間成分の画像データから輪郭データを抽出し、
前記極座標値記憶部に記憶されている各色空間成分の各輪郭データの極座標値と、前記極座標値生成部が生成した各色空間成分の各輪郭データの極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする請求項1に記載の物体識別装置。
【請求項4】
前記極座標値生成部は、生成した前記極座標値の中から距離の最大値を抽出し、抽出した距離の最大値に基づいて正規化を行う
ことを特徴とする請求項1から請求項3のいずれか1項に記載の物体識別装置。
【請求項5】
物体識別装置の物体識別方法において、
背景差分処理部が、入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、
二値化部が、前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、
輪郭抽出部が、前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、
重心算出部が、前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、
極座標値生成部が、前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、
識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部と、
を備え、
前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を行う
ことを特徴とする物体識別方法。
【請求項6】
コンピューターに、
入力画像から背景差分法で前記入力画像中に含まれる図形を抽出する背景差分処理工程と、
前記背景差分処理工程が抽出した図形の画像データを二値化する二値化工程と、
前記二値化工程が二値化した図形の画像データから輪郭データを抽出する輪郭抽出工程と、
前記輪郭抽出工程が抽出した輪郭データの重心位置を算出する重心算出工程と、
前記重心算出工程が算出した重心位置から前記輪郭抽出工程が抽出した前記輪郭データの最外周部までの距離を所定の角度毎に算出して、前記輪郭データを極座標表現に変換して極座標値を生成する極座標値生成工程と、
識別対象となる図形の輪郭データの極座標値を記憶する極座標値記憶部と、
を備え、
前記極座標値記憶部に記憶されている極座標値と、前記極座標値生成部が生成した極座標表現値とを所定の角度ずつずらしながら比較し、前記入力画像中に含まれる図形の識別を実行させるための物体識別プログラム。
【図1】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図2】
【図11】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図13】
【図14】
【図15】
【図2】
【図11】
【公開番号】特開2011−134065(P2011−134065A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−292399(P2009−292399)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(397065480)エヌ・ティ・ティ・コムウェア株式会社 (187)
【Fターム(参考)】
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月24日(2009.12.24)
【出願人】(397065480)エヌ・ティ・ティ・コムウェア株式会社 (187)
【Fターム(参考)】
[ Back to top ]