(57)【特許請求の範囲】
【請求項１】
仮想物を配置するための位置を示すマーカが撮影された撮影画像から該マーカを検出するための画像検出方法であって、
前記マーカを判別可能にするための閾値を用いて前記撮影画像からマーカ候補を検出し、
検出したマーカ候補のうち誤認識で検出したマーカ候補を除外するものであり、
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを検出していなければ、該マーカを検出するまで、前記閾値を前記初期値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、
生成した画像毎に前記マーカ候補を検出する、画像検出方法。
【請求項２】
前記撮影画像から前記マーカ候補を検出する処理は、前記閾値に初期値を設定して前記撮影画像を２値化した画像を生成し、生成した画像内で前記マーカ候補を検出するものであり、
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを検出していなければ、前記閾値を変えて前記撮影画像から前記マーカ候補を検出する処理に戻る、請求項１記載の画像検出方法。
【請求項３】
誤認識で検出したマーカ候補を除外する分別処理は、
前記マーカ候補の面積Ｓｍを前記撮影画像の面積Ｓｐで割った値である（Ｓｍ／Ｓｐ）が予め設定された第１の基準値と比べて小さいか否かを判定し、
前記（Ｓｍ／Ｓｐ）の値が前記第１の基準値よりも低ければ、該マーカ候補を誤認識によるものと判定して除外するものである、請求項１または２記載の画像検出方法。
【請求項４】
前記マーカの形状が正方形であり、
誤認識で検出したマーカ候補を除外する分別処理は、
前記マーカ候補の面積をＳｍとし、該マーカ候補の４辺のうち最大の辺の長さをｌｍとすると、Ｓｍをｌｍの２乗で割った値である（Ｓｍ／ｌｍ2）が予め設定された第２の基準値と比べて小さいか否かを判定し、
前記（Ｓｍ／ｌｍ2）の値が前記第２の基準値よりも低ければ、該マーカ候補を誤認識によるものと判定して除外するものである、請求項１から３のいずれか１項記載の画像検出方法。
【請求項５】
前記マーカが複数の枠を有する構成であり、
誤認識で検出したマーカ候補を除外する分別処理は、
前記マーカ候補の枠数が１であると、該マーカ候補を誤認識によるものと判定して除外するものである、請求項１から４のいずれか１項記載の画像検出方法。
【請求項６】
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを少なくとも１つ検出していれば、該マーカを検出したときの画像を生成したときの前記閾値を仮閾値とし、
前記閾値を前記仮閾値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、生成した画像毎に前記マーカ候補を検出する処理を１回以上行い、前記マーカを最も多く検出する閾値を求め、
求めた閾値で２値化した画像を生成し、
生成した画像で前記マーカ候補を検出する、請求項１から５のいずれか１項記載の画像検出方法。
【請求項７】
仮想物を配置するための位置を示すマーカが撮影された撮影画像から該マーカを検出する画像検出装置であって、
前記マーカを判別可能にするための閾値を用いて前記撮影画像からマーカ候補を検出するマーカ検出部と、
検出したマーカ候補のうち誤認識で検出したマーカ候補を除外する分別部と、
を有し、
前記マーカ検出部は、
前記マーカを検出していない旨の通知を前記分別部から受け取ると、該分別部が該マーカを検出するまで、前記閾値を前記初期値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、
生成した画像毎に前記マーカ候補を検出する、画像検出装置。
【請求項８】
前記マーカ検出部は、
前記閾値に初期値を設定して前記撮影画像を２値化した画像を生成し、生成した画像内で前記マーカ候補を検出し、前記分別部から前記マーカを検出していない旨の通知を受け取ると、前記閾値を変えて前記撮影画像から前記マーカ候補を検出する処理に戻り、
前記分別部は、
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを検出していなければ、該マーカを検出していない旨を前記マーカ検出部に通知する、請求項７記載の画像検出装置。
【請求項９】
前記分別部は、
前記マーカ候補の面積Ｓｍを前記撮影画像の面積Ｓｐで割った値である（Ｓｍ／Ｓｐ）が予め設定された第１の基準値と比べて小さいか否かを判定し、
前記（Ｓｍ／Ｓｐ）の値が前記第１の基準値よりも低ければ、該マーカ候補を誤認識によるものと判定して除外する、請求項７または８記載の画像検出装置。
【請求項１０】
前記マーカの形状が正方形であり、
前記分別部は、
前記マーカ候補の面積をＳｍとし、該マーカ候補の４辺のうち最大の辺の長さをｌｍとすると、Ｓｍをｌｍの２乗で割った値である（Ｓｍ／ｌｍ2）が予め設定された第２の基準値と比べて小さいか否かを判定し、
前記（Ｓｍ／ｌｍ2）の値が前記第２の基準値よりも低ければ、該マーカ候補を誤認識によるものと判定して除外する、請求項７から９のいずれか１項記載の画像検出装置。
【請求項１１】
前記マーカが複数の枠を有する構成であり、
前記分別部は、
前記マーカ候補の枠数が１であると、該マーカ候補を誤認識によるものと判定して除外する、請求項７から１０のいずれか１項記載の画像検出装置。
【請求項１２】
前記マーカ検出部は、
前記マーカを少なくとも１つ検出した旨の通知を前記分別部から受け取ると、該マーカを検出したときの画像を生成したときの前記閾値を仮閾値とし、
前記閾値を前記仮閾値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、生成した画像毎に前記マーカ候補を検出する処理を１回以上行い、前記マーカを最も多く検出する閾値を求め、
求めた閾値で２値化した画像を生成し、
生成した画像で前記マーカ候補を検出する、請求項７から１１のいずれか１項記載の画像検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実空間に仮想物があるかのように見せるＡｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ技術に関するもので、特に、携帯電話機を用いたＡｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ技術を実現するための画像検出方法および画像検出装置に関する。
【背景技術】
【０００２】
Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙは、実世界の情報を計算機内部に構築した仮想世界データ（ＣＧ：Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）で補強する技術であり、ＣＧだけの世界を扱うＶｉｒｔｕａｌ  Ｒｅａｌｉｔｙとは全く異なるアプリケーション分野を切り開くことが期待され、多くの研究がなされている。例えば、非特許文献１には、Ｂｉｌｌｉｎｇｈｕｒｓｔ＆Ｋａｔｏによる、次のような技術が開示されている。
【０００３】
実際の３次元空間に仮想物のＣＧを配置すべき位置を示す目印として、黒枠の内側に絵柄が描かれたマーカを用いる。マーカが記載された用紙を実際の３次元空間に置き、撮影画像にマーカが入るようにして、カメラで目の前の空間を撮影する。続いて、この撮影画像をシステムに入力し、システムに撮影画像内でマーカを探索させる。システムは、撮影画像内のマーカを検出すると、撮影画像のマーカの位置にＣＧを配置し、撮影画像にＣＧを合成した画像を生成する。ＣＧを撮影画像に配置する際、撮影画像に写っている黒枠の大きさや形でカメラと黒枠との３次元の相対位置を計算し、黒枠の内側に描かれた絵柄と予め登録した絵柄とを比較し、合成するＣＧを決めている。複数種の絵柄と各絵柄に対応するＣＧを予め決めておけば、この技術により、撮影画像に含まれるマーカの絵柄に対応して、異なるＣＧを合成することを可能にしている。
【０００４】
上述の技術におけるマーカ検出方法では、マーカを判別可能にするための閾値で撮影画像を２値化し、２値化した画像の中から四角形の黒枠を検出することで、マーカの位置を求めており、屋内等の比較的照明条件が安定した環境で有効である。撮影画像の２値化とは、撮影画像の各画素について、基準値となる閾値に比べて明るいか暗いかを判定し、明るければ白色に変換し、暗ければ黒色に変換する処理である。以下では、２値化した画像を２値化画像と称する。
【０００５】
一方、マーカを配置した３次元空間を携帯電話機等のカメラを用いて撮影し、その撮影画像をサーバに送ると、サーバがその撮影画像からマーカを検出し、Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙを実現する手段が、特許文献１に提案されている。
【非特許文献１】Ｂｉｌｌｉｎｇｈｕｒｓｔ  ＆  Ｋａｔｏ，“Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ．”，ＩＳＭＡＲ’９９
【特許文献１】特開２００４−３４１６４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、携帯電話機で撮影する際の環境は照明条件が安定した場所に限らず様々であるため、撮影画像によっては黒枠が閾値よりも明るく写っていたり、逆に、黒枠の周りが閾値よりも暗く写っていたりすることがある。このような場合、２値化したときにうまく黒枠を認識できず、マーカ検出に失敗することがあった。
【０００７】
このように、従来のＡｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙを用いたアプリケーションでは、撮影の際の照明条件によって撮影画像の黒枠や黒枠周辺の明るさが実際と異なってしまうと、撮影画像を２値化したときに黒枠がうまく検出できないという問題があった。
【０００８】
本発明は上述したような従来の技術が有する問題点を解決するためになされたものであり、様々な環境下でマーカが撮影された画像であっても、マーカを検出可能な画像検出方法および画像検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明の画像検出方法は、仮想物を配置するための位置を示すマーカが撮影された撮影画像から該マーカを検出するための画像検出方法であって、
前記マーカを判別可能にするための閾値を用いて前記撮影画像からマーカ候補を検出し、
検出したマーカ候補のうち誤認識で検出したマーカ候補を除外するものであり、
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを検出していなければ、該マーカを検出するまで、前記閾値を前記初期値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、
生成した画像毎に前記マーカ候補を検出するものである。
【００１０】
本発明によれば、検出したマーカ候補のうち、誤認識によるマーカ候補が除外されるため、検出結果として、正規のマーカのみを残すことが可能となる。また、閾値が初期値でマーカを検出できなくても、閾値を初期値から上下に振るように変化させて初期値から少しずつ離れるようにすることで、初期値の近傍で先にマーカの探索が行われるため、閾値を変化させてマーカを再探索する際、より早い段階でマーカを検出できる可能性が高くなる。
【００１１】
また、上記本発明の画像検出方法において、
前記撮影画像から前記マーカ候補を検出する処理は、前記閾値に初期値を設定して前記撮影画像を２値化した画像を生成し、生成した画像内で前記マーカ候補を検出するものであり、
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを検出していなければ、前記閾値を変えて前記撮影画像から前記マーカ候補を検出する処理に戻ることとしてもよい。
【００１２】
本発明によれば、閾値を初期値に設定して２値化した画像でマーカを検出できなければ、閾値の値を変えて２値化した画像で再度マーカの検出の処理が行われるため、マーカ検出の可能性が高くなる。
【００１３】
また、上記本発明の画像検出方法において、
誤認識で検出したマーカ候補を除外する分別処理は、
前記マーカ候補の面積Ｓｍを前記撮影画像の面積Ｓｐで割った値である（Ｓｍ／Ｓｐ）が予め設定された第１の基準値と比べて小さいか否かを判定し、
前記（Ｓｍ／Ｓｐ）の値が前記第１の基準値よりも低ければ、該マーカ候補を誤認識によるものと判定して除外するものとしてもよい。本発明によれば、正規のマーカよりも面積の小さいマーカ候補が除外される。
【００１４】
また、上記本発明の画像検出方法において、前記マーカの形状が正方形であり、
誤認識で検出したマーカ候補を除外する分別処理は、
前記マーカ候補の面積をＳｍとし、該マーカ候補の４辺のうち最大の辺の長さをｌｍとすると、Ｓｍをｌｍの２乗で割った値である（Ｓｍ／ｌｍ2）が予め設定された第２の基準値と比べて小さいか否かを判定し、
前記（Ｓｍ／ｌｍ2）の値が前記第２の基準値よりも低ければ、該マーカ候補を誤認識によるものと判定して除外するものとしてもよい。本発明によれば、正規のマーカと比べて形状の異なるマーカ候補が除外される。
【００１５】
また、上記本発明の画像検出方法において、前記マーカが複数の枠を有する構成であり、
誤認識で検出したマーカ候補を除外する分別処理は、
前記マーカ候補の枠数が１であると、該マーカ候補を誤認識によるものと判定して除外するものとしてもよい。本発明によれば、マーカ以外で複数枠の形状のものが撮影画像内に写る可能性が低いことから、マーカをより検出しやすくなる。
【００１８】
また、上記本発明の画像検出方法において、
誤認識で検出したマーカ候補を除外した後、前記マーカを検出しているか否かを判定し、
判定の結果、前記マーカを少なくとも１つ検出していれば、該マーカを検出したときの画像を生成したときの前記閾値を仮閾値とし、
前記閾値を前記仮閾値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、生成した画像毎に前記マーカ候補を検出する処理を１回以上行い、前記マーカを最も多く検出する閾値を求め、
求めた閾値で２値化した画像を生成し、
生成した画像で前記マーカ候補を検出することとしてもよい。
【００１９】
本発明によれば、少なくとも１つのマーカを検出した閾値の近傍でより多くのマーカを検出できる値に閾値を設定するため、複数のマーカが写っている撮影画像からより多くのマーカを検出することが可能となる。
【００２０】
一方、上記目的を達成するための本発明の画像検出装置は、仮想物を配置するための位置を示すマーカが撮影された撮影画像から該マーカを検出する画像検出装置であって、
前記マーカを判別可能にするための閾値を用いて前記撮影画像からマーカ候補を検出するマーカ検出部と、
検出したマーカ候補のうち誤認識で検出したマーカ候補を除外する分別部と、
を有する構成であり、
前記マーカ検出部は、
前記マーカを検出していない旨の通知を前記分別部から受け取ると、該分別部が該マーカを検出するまで、前記閾値を前記初期値から増加側と減少側を交互に一定量ずつ離れる値に変化させ、該閾値を変化させる度に２値化した画像を生成し、
生成した画像毎に前記マーカ候補を検出するものである。
【発明の効果】
【００２１】
本発明では、様々な環境下でマーカが撮影されていても、撮影画像から正規のマーカを検出することができる。
【発明を実施するための最良の形態】
【００２２】
本発明の画像検出方法は、マーカが撮影された画像からマーカの候補を検出した後、その候補が誤認識によるものであれば除外することを特徴とする。以下では、本発明に関連するマーカ検出部分を中心に説明し、マーカ検出後の画像合成処理に関しては従来と同様なため、その詳細な説明を省略する。
【実施例１】
【００２３】
本発明の実施例の画像検出装置の構成を説明する。図１は本実施例の画像検出装置の一構成例を示すブロック図である。
【００２４】
図１に示すように、画像検出装置１０は、撮影画像を格納するための記憶部１２と、外部とデータを送受信する入出力部１４と、各部を制御する制御部１６とを有する情報処理装置である。制御部１６はマーカ検出部１６１および分別部１６２を有する。本実施例のマーカは、四角形の黒枠を有する構成とする。
【００２５】
記憶部１２には、撮影画像からマーカ候補を検出するために、撮影画像を２値化するための閾値の初期値の情報が格納されている。以下では、撮影画像を２値化するための閾値を２値化閾値と称する。初期値は、過去のデータなどから最もマーカが検出されやすい値として予め決められている。また、記憶部１２に、２値化閾値を初期値に設定した２値化閾値を初期値よりも大きい値と小さい値に設定するための仮の閾値が格納される。初期値よりも大きい仮の閾値を上側閾値と称し、初期値よりも小さい仮の閾値を下側閾値と称する。２値化閾値を変化させる際の変化量にあたる値の情報も記憶部１２に予め格納されている。
【００２６】
また、記憶部１２には、撮影画像に写った黒枠がマーカであるか否かを分別するための基準値Ｖ１およびＶ２の値が予め格納されている。基準値Ｖ１は、マーカ候補の撮影画像に占める面積の割合からマーカ候補がマーカであるか否かを判定するための基準となる。基準値Ｖ２は、枠形状の変形度からマーカ候補がマーカか否かを判定するための基準となる。
【００２７】
マーカ検出部１６１は、入出力部１４を介して撮影画像が入力されると、撮影画像を記憶部１２に格納し、２値化閾値を初期値に設定して２値化画像を生成する。生成した２値化画像からマーカ候補となる黒枠を探索する。そして、黒枠を検出すると、その情報を分別部１６２に通知する。２値化閾値が初期値の場合の２値化画像でマーカを検出できない旨の通知を分別部１６２から受け取ると、２値化閾値を初期値に対して一定量の増加と減少を交互に繰り返して初期値から一定量ずつ離れる値に変化させ、２値化閾値を変化させる度に２値化画像を生成し、生成した２値化画像毎に黒枠を探索する。分別部１６２がマーカを検出するまで、２値化閾値を変えて黒枠探索を繰り返す。ただし、２値化閾値が取り得る範囲を越える場合には、マーカ検出の処理を終了する。２値化閾値が取り得る範囲を越える場合とは、２値化画像が全て白または黒になることである。
【００２８】
分別部１６２は、マーカ検出部１６１が検出したマーカ候補のうち、基準値Ｖ１およびＶ２を用いて誤認識で検出したマーカ候補を除外する。誤認識のマーカ候補を除外した結果、マーカを検出しているか否かを判定する。判定によりマーカを検出していれば、マーカ検出の処理を終了し、マーカを検出していなければ、その旨の情報をマーカ検出部１６１に通知する。
【００２９】
制御部１６は、プログラムにしたがって所定の処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（不図示）と、プログラムを格納するためのメモリ（不図示）とを有する。マーカ検出部１６１および分別部１６２は、ＣＰＵがプログラムを実行することで、画像検出装置１０内に仮想的に構成される。
【００３０】
次に、本実施例の画像処理方法を説明する。ここでは、マーカＭを撮影した撮影画像Ｐを用意し、撮影画像ＰからマーカＭを検出する場合とする。また、マーカＭの形状が正方形の場合とし、基準値Ｖ２を１とする。
【００３１】
図２は本実施例の画像検出方法の手順を示すフローチャートである。マーカ検出部１６１は、２値化閾値ＴＨとして初期値ＴＨ０が入力されると、２値化閾値ＴＨに初期値ＴＨ０を設定する（ステップ１０１）。その際、上側閾値ＴＨＨと下側閾値ＴＨＬも初期値ＴＨ０に設定する。撮影画像Ｐが入出力部１４を介して制御部１６に入力されると、マーカ検出部１６１は、撮影画像Ｐを記憶部１２に格納した後、撮影画像Ｐを２値化した２値化画像ＷＢ０を生成し（ステップ１０２）、２値化画像ＷＢ０から黒枠を探索する。探索の結果、黒枠を検出すると（ステップ１０３）、撮影画像における黒枠の位置を含む情報を記憶部１２に格納する。黒枠が複数の場合には、それぞれについて位置を含む情報を記憶部１２に格納する。黒枠の検出方法は、例えば、非特許文献１に開示されたＡＲＴｏｏｌＫｉｔなどを用いて検出することが可能である。
【００３２】
マーカ検出部１６１が検出した黒枠のうち、マーカＭよりも小さな黒枠や大きく変形した黒枠はマーカＭではなく、写真に写った別の物であると考えられる。そのため、分別部１６２は、次のような分別処理を行って、誤認識したマーカ候補を除外する。
【００３３】
分別部１６２は、検出された黒枠が複数あると、そのうちの１つの黒枠を選択し（ステップ１０４）、黒枠で囲まれる面積Ｓｍを求める（ステップ１０５）。続いて、黒枠で囲まれる面積Ｓｍを撮影画像Ｐの面積Ｓｐで割った値（Ｓｍ／Ｓｐ）を算出し、この値が基準値Ｖ１よりも小さいか否かを判定する（ステップ１０６）。Ｓｍ／Ｓｐの値が基準値Ｖ１よりも小さい場合、検出された黒枠はマーカＭよりも小さいと認識し、マーカＭではないと判定し、その黒枠をマーカ候補から除外する（ステップ１０９）。この分別処理により、マーカＭよりも面積の小さい黒枠が除外される。
【００３４】
ステップ１０６で、Ｓｍ／Ｓｐの値が基準値Ｖ１以上の場合、分別部１６２は、マーカ候補の４つの辺の長さを調べ、辺の最大値ｌｍを求める（ステップ１０７）。続いて、黒枠の面積Ｓｍを辺の最大値ｌｍの２乗で割った値（Ｓｍ／ｌｍ2）を算出し、この値が基準値Ｖ２よりも小さいか否かを判定する（ステップ１０８）。Ｓｍ／ｌｍ2の値が基準値Ｖ２よりも小さい場合、検出した黒枠は大きく変形していると認識し、マーカＭではないと判定し、その黒枠をマーカ候補から除外する（ステップ１０９）。これは、マーカ候補が正方形でなければ、そのマーカ候補の最長の辺（ｌｍ）を１辺とする正方形の面積がマーカ候補の面積Ｓｍよりも大きくなる性質を利用するものである。この分別処理により、マーカＭと比べて形状の異なる黒枠が除外される。
【００３５】
一方、ステップ１０８で、Ｓｍ／ｌｍ2の値が基準値Ｖ２以上の場合、分別部１６２は、他に黒枠がないか記憶部１２を調べる（ステップ１１０）。マーカ候補の黒枠が他にもある場合、上述した処理と同様にして、ステップ１０４からステップ１０８の処理を行う。
【００３６】
分別部１６２は、不適格なマーカ候補を除外した後に残ったマーカ候補のうちマーカＭがあるか否かを判定し（ステップ１１１）、マーカＭがあると判定すると、マーカ検出処理を終了する。ステップ１１１で、分別部１６２は、マーカＭがないと判定すると、マーカＭを検出できなかった旨をマーカ検出部１６１に通知する。マーカ検出部１６１は、マーカＭを検出できなかった旨の情報を分別部１６２から受け取ると、次のようにして、２値化閾値を変えて、マーカ候補の探索を再度行う。
【００３７】
マーカ検出部１６１は、２値化閾値ＴＨが下側閾値ＴＨＬと等しいか否かを判定する（ステップ１１２）。下側閾値ＴＨＬはＴＨ０に設定されているため、ステップ１１３に進む。ステップ１１３の第１式に示すように、新たな上側閾値ＴＨＨ（式の左辺）を、元の上側閾値ＴＨＨ（＝ＴＨ０）にΔＴＨを足した値に設定する。そして、ステップ１１３の第２式に示すように、２値化閾値ＴＨを新たな上側閾値ＴＨＨ（＝ＴＨ０＋ΔＴＨ）に設定する。続いて、新たに設定した２値化閾値で、２値化画像を生成し（ステップ１０２）、上述したようにして、黒枠を検出する（ステップ１０３）。そして、マーカ検出部１６１が検出した黒枠について、分別部１６２がステップ１０４からステップ１１１までの処理を行う。
【００３８】
２値化閾値ＴＨを（ＴＨ０＋ΔＴＨ）の値に設定してもマーカＭを検出できなかった場合（ステップ１１１）、マーカ検出部１６１は、ステップ１１２からステップ１１４に進み、ステップ１１４の処理を行う。ステップ１１４の第１式に示すように、新たな下側閾値ＴＨＬ（式の左辺）を、元の下側閾値ＴＨＬ（＝ＴＨ０）からΔＴＨを引いた値に設定する。そして、ステップ１１４の第２式に示すように、２値化閾値ＴＨを新たな下側閾値ＴＨＬ（＝ＴＨ０−ΔＴＨ）に設定する。続いて、新たに設定した２値化閾値で、２値化画像を生成し（ステップ１０２）、上述したようにして、黒枠を検出する（ステップ１０３）。そして、マーカ検出部１６１が検出した黒枠について、分別部１６２がステップ１０４からステップ１１１までの処理を行う。ただし、２値化閾値が取り得る範囲を越える場合には、マーカ検出の処理を終了する（ステップ１１５）。
【００３９】
このようにして、マーカＭが検出できるまで、２値化閾値を初期値に対して一定量（ΔＴＨ）の増加と減少を交互に繰り返して初期値から一定量ずつ離れる値に変化させ、２値化閾値の設定を変えて撮影画像から２値化画像を生成し、生成した２値化画像毎にマーカ候補を検出し、マーカ候補の中から不適格なものを除外する処理を繰り返す。２値化閾値を初期値に設定した２値化画像でマーカＭを検出できなくても、異なる２値化閾値で画像を生成し、再度マーカＭの探索を行うため、マーカＭをより検出しやすくなる。また、２値化閾値を初期値から増加側と減少側を交互に一定量ずつ離れるようにすることで、初期値の近傍で先にマーカの探索が行われるため、２値化閾値を変化させてマーカを再探索する際、より早い段階でマーカを検出できる可能性が高くなる。
【００４０】
なお、２値化閾値の変え方として、上述した方法の他に、２分木探索方法も考えられる。ただし、この方法は、閾値の範囲全体を効率よく探索できるが、初期値ＴＨ０近傍の値より離れた値を先に評価するので、初期値ＴＨ０から大きく外れた閾値で黒枠を検出する可能性がある。マーカの検出は初期値ＴＨ０に近い値で検出する可能性が高く、閾値から離れれば誤認識である確立が高くなるので、２分木探索方法では、誤認識に注意する必要がある。
【００４１】
また、本実施例では、マーカの枠の形状を四角形としたが、その形状は、三角形、五角形などその他の多角形であってもよく、丸であってもよい。また、マーカは２重枠、３重枠など複数枠の形状であってもよい。この場合、分別部１６２はマーカ候補の枠数が１つのものはマーカから除外する分別処理を行う。マーカ以外で複数枠の形状のものが撮影画像内に写る可能性は低く、マーカをより検出しやすくなる。図３（ａ）はマーカが四角形で２重枠の場合の一例を示し、図３（ｂ）はマーカが八角形で２重枠の場合の一例を示す。さらに、マーカＭの枠の色は、本実施例の黒に限られない。
【００４２】
また、本実施例では、図２に示すようにステップ１０６の分別処理の後にステップ１０８の分別処理を行っているが、これらの分別処理の順序は図２に示す場合に限られない。また、分別処理は１つであってもよく、図２に示す以外の分別処理がさらに追加してもよい。例えば、マーカＭが複数枠を有する構成である場合、マーカ候補が複数枠であるか否かの分別処理を追加してもよい。
【００４３】
本実施例の画像検出方法は、様々な環境下でマーカが撮影されていても、上述のようにして、２値化画像で検出されたマーカ候補から誤認識で検出されたものを除外するため、正規のマーカを検出することができる。
【実施例２】
【００４４】
実施例１の方法によれば、撮影画像Ｐから少なくとも１つのマーカＭを検出できるが、撮影画像Ｐに２つ以上のマーカＭが写っており、各マーカＭの黒枠の部分の明るさが照明の角度の影響等で異なっていると、マーカＭを１つしか検出できないことがある。本実施例では、その問題を解決するための方法である。なお、画像検出装置の構成は、実施例１と同様であるため、その詳細な説明を省略する。また、本実施例においても、マーカを四角形の黒枠を有する構成として説明するが、実施例１と同様に、その形状は四角形に限定されず、その色は黒に限定されない。
【００４５】
以下に、本実施例の制御部１６の動作とともに、本実施例の画像検出方法を説明する。図４は本実施例の画像検出方法の手順を示すフローチャートである。
【００４６】
制御部１６が入出力部１４を介して入力される撮影画像Ｐを記憶部１２に格納すると、マーカ検出部１６１および分別部１６２は、図２に示した手順の処理を実行し、２値化閾値を初期値に対して上下に値を振りながらマーカＭを少なくとも１つ見つけるまで探索を行う（ステップ２０１）。図２に示したステップ１１１で、分別部１６２はマーカＭを検出すると、マーカＭを検出した旨をマーカ検出部１６１に通知する。マーカ検出部１６１は、マーカＭを検出した旨の通知を分別部１６２から受け取ると、マーカＭの黒枠を検出したときの２値化閾値を仮閾値ＴＨＡとして記憶部１２に格納する（ステップ２０２）。
【００４７】
次に、マーカ検出部１６１は、２値化閾値を仮閾値ＴＨＡを中心に上下に値を振って設定し、設定した２値化閾値毎に２値化画像を生成し、その画像に対してマーカＭの探索と探索により検出したマーカＭの数の算出とを行う（ステップ２０３）。２値化閾値を上下に値を振って設定する方法は、実施例１で説明した方法と同様である。少なくとも１つのマーカＭを検出した仮閾値に近い値から上下に値を振って画像を生成し、マーカＭを探索するようにすれば、マーカＭを複数個以上検出できる閾値をより早く見つけられる可能性が高くなる。２値化閾値を変える回数は少なくとも１回以上である。そして、マーカＭを最も多く見つけたときの閾値を、マーカ検出用の２値化画像を生成する際の２値化閾値に決定する（ステップ２０４）。このようにして、マーカＭを最も検出しやすい閾値に２値化閾値を決定し、決定した２値化閾値で画像を生成した後、マーカＭの検出を行う。
【００４８】
本実施例の画像検出方法は、マーカＭを最も検出しやすい２値化閾値でマーカ検出用の画像を生成しているため、撮影画像Ｐに写っている複数のマーカＭについて、明るさがマーカＭ毎に異なっていても、より多くのマーカＭを検出することができる。
【図面の簡単な説明】
【００４９】
【図１】実施例１の画像検出装置の一構成例を示すブロック図である。
【図２】実施例１の画像検出方法の手順を示すフローチャートである。
【図３】マーカの他の構成例を示す図である。
【図４】実施例２の画像検出方法の手順を示すフローチャートである。
【符号の説明】
【００５０】
１０    画像検出装置
１２    記憶部
１４    入出力部
１６    制御部
１６１    マーカ検出部
１６２    分別部
【図１】
0004550768.tif 000002
【図２】
0004550768.tif 000003
【図３】
0004550768.tif 000004
【図４】
0004550768.tif 000005