(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6064210
(24)【登録日】2017年1月6日
(45)【発行日】2017年1月25日
(54)【発明の名称】マーカ選定装置及び方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20170116BHJP
【FI】
G06T7/00 T
【請求項の数】8
【全頁数】28
(21)【出願番号】特願2013-76602(P2013-76602)
(22)【出願日】2013年4月2日
(65)【公開番号】特開2014-203147(P2014-203147A)
(43)【公開日】2014年10月27日
【審査請求日】2015年12月10日
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100078499
【弁理士】
【氏名又は名称】光石 俊郎
(74)【代理人】
【識別番号】230112449
【弁護士】
【氏名又は名称】光石 春平
(74)【代理人】
【識別番号】100102945
【弁理士】
【氏名又は名称】田中 康幸
(74)【代理人】
【識別番号】100120673
【弁理士】
【氏名又は名称】松元 洋
(74)【代理人】
【識別番号】100182224
【弁理士】
【氏名又は名称】山田 哲三
(72)【発明者】
【氏名】宍道 洋
(72)【発明者】
【氏名】藤原 伸行
【審査官】
佐藤 実
(56)【参考文献】
【文献】
特開2007−188221(JP,A)
【文献】
特開2005−332202(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
複数のマーカ候補の原画像から前記マーカ候補毎に基準画像を作成する基準画像作成部と、
前記マーカ候補の前記原画像から前記マーカ候補毎に距離に応じた複数の参照画像を作成する参照画像作成部と、
全ての前記基準画像及び前記参照画像の特徴量を算出する画像特徴量抽出部と、
全ての前記基準画像の前記特徴量と全ての前記参照画像の前記特徴量とを総当りで比較し、対象となる前記マーカ候補の検出又は未検出の判定の境界となる検出境界閾値を前記マーカ候補毎に求める比較判定部と、
複数の前記マーカ候補に対して、各々、前記検出境界閾値に基づいて、前記マーカ候補の前記基準画像に対する認識安定性を示す第1のスコアを求め、前記第1のスコアが最大となる閾値を前記マーカ候補の判定用閾値として求め、前記判定用閾値に基づいて、前記マーカ候補の前記基準画像及び前記参照画像に対する認識安定性を示す第2のスコアを求め、前記第2のスコアが最低の前記マーカ候補を複数の前記マーカ候補の中から除外するスコア算出部とを有し、
複数の前記マーカ候補が所定数に減るまで前記スコア算出部での処理を繰り返し、前記所定数の前記マーカ候補を選定することを特徴とするマーカ選定装置。
【請求項2】
請求項1に記載のマーカ選定装置において、
前記第1のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記検出境界閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像での誤認識率とを用いて算出したものであることを特徴とするマーカ選定装置。
【請求項3】
請求項1又は請求項2に記載のマーカ選定装置において、
前記第2のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記判定用閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像及び当該マーカ候補以外の前記マーカ候補の全ての前記基準画像に対する当該マーカ候補の全ての前記参照画像の誤認識率とを用いて算出したものであることを特徴とするマーカ選定装置。
【請求項4】
請求項1から請求項3のいずれか1つに記載のマーカ選定装置において、
更に、
選定された前記マーカ候補について、当該マーカ候補毎に前記第1のスコアを再計算し、前記第1のスコアが最大となる閾値の範囲を求め、当該範囲にある閾値から当該マーカ候補の最終閾値を決定する閾値算出部を有することを特徴とするマーカ選定装置。
【請求項5】
複数のマーカ候補の原画像から前記マーカ候補毎に基準画像を作成する基準画像作成工程と、
前記マーカ候補の前記原画像から前記マーカ候補毎に距離に応じた複数の参照画像を作成する参照画像作成工程と、
全ての前記基準画像及び前記参照画像の特徴量を算出する画像特徴量抽出工程と、
全ての前記基準画像の前記特徴量と全ての前記参照画像の前記特徴量とを総当りで比較し、対象となる前記マーカ候補の検出又は未検出の判定の境界となる検出境界閾値を前記マーカ候補毎に求める比較判定工程と、
複数の前記マーカ候補に対して、各々、前記検出境界閾値に基づいて、前記マーカ候補の前記基準画像に対する認識安定性を示す第1のスコアを求め、前記第1のスコアが最大となる閾値を前記マーカ候補の判定用閾値として求め、前記判定用閾値に基づいて、前記マーカ候補の前記基準画像及び前記参照画像に対する認識安定性を示す第2のスコアを求め、前記第2のスコアが最低の前記マーカ候補を複数の前記マーカ候補の中から除外するスコア算出工程とを実施する共に、
複数の前記マーカ候補が所定数に減るまで前記スコア算出工程での処理を繰り返し、前記所定数の前記マーカ候補を選定することを特徴とするマーカ選定方法。
【請求項6】
請求項5に記載のマーカ選定方法において、
前記第1のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記検出境界閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像での誤認識率とを用いて算出することを特徴とするマーカ選定方法。
【請求項7】
請求項5又は請求項6に記載のマーカ選定方法において、
前記第2のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記判定用閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像及び当該マーカ候補以外の前記マーカ候補の全ての前記基準画像に対する当該マーカ候補の全ての前記参照画像の誤認識率とを用いて算出することを特徴とするマーカ選定方法。
【請求項8】
請求項5から請求項7のいずれか1つに記載のマーカ選定方法において、
更に、
選定された前記マーカ候補について、当該マーカ候補毎に前記第1のスコアを再計算し、前記第1のスコアが最大となる閾値の範囲を求め、当該範囲にある閾値から当該マーカ候補の最終閾値を決定する閾値算出工程を実施することを特徴とするマーカ選定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理を使用したマーカ認識装置で使用するマーカを、マーカ候補の中から最適なものを選定するマーカ選定装置及び方法に関する。
【背景技術】
【0002】
画像処理を使用してマーカを認識するマーカ認識装置において、カメラ入力で得られた画像から特徴量を抽出し、それを基にマーカを認識する装置及び方法がある(
図11)。
図11において、マーカ認識装置50は、マーカを撮影するカメラ51と、カメラ51で撮影されて入力された入力画像とマーカ基準画像52とから特徴量を抽出する画像特徴量抽出部53と、入力画像の特徴量とマーカ基準画像52の特徴量とを比較し、判定を行う比較判定部54とを有している。このような装置及び方法の場合、使用するマーカの模様によっては認識時の特徴量の出現状況が異なるため、それに伴い、マーカの違いにより認識の安定性が大きく異なることになる。マーカ認識の安定性を向上するためには、認識しやすいマーカを選定する必要がある。
【0003】
現在のマーカを選定する方法は、以下の通りである。
[手動による方法]
複数のマーカ候補を用意し、実際にマーカ認識装置で認識させて挙動を観察し、その結果、良さそうなマーカを作業者が選択する方法。
[自動化による方法]
図12に示す構成の通り、マーカ認識装置60の画像特徴量抽出部64と同じものを、マーカ選定装置70の画像特徴量抽出部74で使用して、マーカ選定を行う方法。
【0004】
図12において、マーカ認識装置60は、マーカを撮影するカメラ61と、カメラ61で撮影された画像を入力するカメラ入力部62と、マーカ基準画像を読み込む基準画像読込部63と、カメラ入力部62に入力された入力画像と基準画像読込部63で読み込んだマーカ基準画像とから特徴量を抽出する画像特徴量抽出部64と、マーカ基準画像の特徴量を保存する基準画像特徴量保存部65と、入力画像の特徴量と保存したマーカ基準画像の特徴量とを比較し、判定を行う比較判定部66とを有している。
【0005】
又、マーカ選定装置70は、原画像を読み込む原画像読込部71と、原画像読込部71で読み込んだ原画像から基準画像を作成する基準画像作成部72と、原画像読込部71で読み込んだ原画像から参照画像を作成する参照画像作成部73と、基準画像作成部72で作成した基準画像と参照画像作成部73で作成した参照画像とから特徴量を抽出する画像特徴量抽出部74と、基準画像の特徴量を保存する基準画像特徴量保存部75と、参照画像の特徴量と保存した基準画像の特徴量とを比較し、判定を行う比較判定部76と、比較、判定の集計を行う集計処理部77と、集計処理の結果を出力する結果出力部78とを有している。ここで、マーカ選定装置70の画像特徴量抽出部74は、マーカ認識装置60の画像特徴量抽出部64と同一である。
【0006】
マーカ選定装置70では、複数のマーカ候補を用意し、画像特徴量抽出部74(つまり、マーカ認識装置60の画像特徴量抽出部64)の認識処理部分を使用して、その複数のマーカ候補の原画像を順次読み込んで認識処理を行い、その結果から未検出率及び誤検出率のもっとも小さいものをマーカとして選択している。
【0007】
具体的には、以下の手順で行っている。
(1)
図13に示すように、全てのマーカ候補に対して、マーカ原画像から基準画像を作成する。
(2)
図13に示すように、全てのマーカ候補に対して、カメラ画像を模擬し、カメラ〜マーカ間の距離に応じた参照画像をマーカ原画像から作成する。
(3)
図14に示すように、画像特徴量抽出部74(マーカ認識装置60の画像特徴量抽出部64と同じもの)を用いて、全ての基準画像に対して、全ての参照画像を総当りで認識処理を行い、合否判定を行う。
(4)合否判定を元に、未検出率、誤検出率を算出する。
(5)未検出がなく、かつ、誤検出率の低いものをマーカとして選択する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】国際公開第2007/004521号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0009】
マーカ認識装置用のマーカを選定する方法として、手動による方法は、作業者の経験的な選択であって、確証がなく、時間のかかる方法でもある。
【0010】
上記の自動化による方法では、例えば、マーカ認識装置で複数のマーカを交換して使用したい場合、複数のマーカを選定すると、選定されたマーカ間での誤認識(例えば、マーカAを別のマーカBとして間違えること)が発生する。これは、誤検出率が低かったとしても、マーカ間での誤検出が起きないことにはなっていないためである。例えば、表1のようなマーカA〜Gの検出結果がでた場合、誤検出率の低いもの(マーカBとマーカD)を選択しても、マーカBをマーカDとして検出したり、逆に、マーカDをマーカBとして検出したりする。
【0011】
【表1】
【0012】
複数のマーカを利用する例として、マーカ認識装置を搭載したマーカ追跡装置の場合を例に挙げる。この場合、一台のマーカ追跡装置がマーカを切り替えて使用する場合と、複数台のマーカ追跡装置がそれぞれのマーカを追跡する場合とが考えられる。まず、一台のマーカ追跡装置がマーカを切り替えて使用する場合を
図15に示す。このとき、上記のようにマーカBとマーカDを使用した場合、
図16に示すように、誤認識する場合がある。
【0013】
又、複数台のマーカ追跡装置がそれぞれのマーカを追跡する場合を
図17に示す。このとき、複数台のマーカ追跡装置において、使用するマーカを換えて同時に使用した場合、
図18に示すように、マーカ同士での誤認識が発生する場合がある。
【0014】
又、比較判定部でマーカかどうかを判定する閾値の設定によっては、値の大小によって未検出や誤検出が大きく変わる。例えば、類似度を計算し、それを閾値によって判定している場合、値が大きければ判定がシビアになって未検出が多くなり、小さくなれば判定が甘くなり誤検出が増加する。この閾値はマーカの特徴量の出現状況に左右されるため、選択するマーカによっては、認識の安定性が悪くなる。
【0015】
例えば、マーカA、マーカC、マーカDの三つのマーカに対して、
図19のような類似度が得られたとする。この場合、第2閾値では三つのマーカとも「目的のマーカ」と「それ以外のマーカ」との識別が可能であるが、第1閾値ではマーカC、第3閾値ではマーカDの識別ができないことになる。このため、複数のマーカを使用する場合には、同じ閾値を共通して使うことができず、又、マーカの選定前にあらかじめ閾値を決定することができない。
【0016】
なお、ここで、「類似度」について説明する。類似度を求めるには、
図20に示すように、基準画像及び参照画像の特徴量を、例えば、SIFT(Scale-Invariant Feature Transform)などを用いて抽出し、多次元ベクトルやバイナリとして特徴量を記述し、基準画像及び参照画像から得られた多次元ベクトル特徴量又はバイナリ特徴量を用いて、ユークリッド距離やハミング距離などを計算することで、距離の短いものを類似したものとして判断している。
【0017】
本発明は上記課題に鑑みなされたもので、認識安定性のあるマーカを複数選定することができるマーカ選定装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0018】
上記課題を解決する第1の発明に係るマーカ選定装置は、
複数のマーカ候補の原画像から前記マーカ候補毎に基準画像を作成する基準画像作成部と、
前記マーカ候補の前記原画像から前記マーカ候補毎に距離に応じた複数の参照画像を作成する参照画像作成部と、
全ての前記基準画像及び前記参照画像の特徴量を算出する画像特徴量抽出部と、
全ての前記基準画像の前記特徴量と全ての前記参照画像の前記特徴量とを総当りで比較し、対象となる前記マーカ候補の検出又は未検出の判定の境界となる検出境界閾値を前記マーカ候補毎に求める比較判定部と、
複数の前記マーカ候補に対して、各々、前記検出境界閾値に基づいて、前記マーカ候補の前記基準画像に対する認識安定性を示す第1のスコアを求め、前記第1のスコアが最大となる閾値を前記マーカ候補の判定用閾値として求め、前記判定用閾値に基づいて、前記マーカ候補の前記基準画像及び前記参照画像に対する認識安定性を示す第2のスコアを求め、前記第2のスコアが最低の前記マーカ候補を複数の前記マーカ候補の中から除外するスコア算出部とを有し、
複数の前記マーカ候補が所定数に減るまで前記スコア算出部での処理を繰り返し、前記所定数の前記マーカ候補を選定することを特徴とする。
【0019】
上記課題を解決する第2の発明に係るマーカ選定装置は、
上記第1の発明に記載のマーカ選定装置において、
前記第1のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記検出境界閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像での誤認識率とを用いて算出したものであることを特徴とする。
【0020】
上記課題を解決する第3の発明に係るマーカ選定装置は、
上記第1又は第2の発明に記載のマーカ選定装置において、
前記第2のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記判定用閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像及び当該マーカ候補以外の前記マーカ候補の全ての前記基準画像に対する当該マーカ候補の全ての前記参照画像の誤認識率とを用いて算出したものであることを特徴とする。
【0021】
上記課題を解決する第4の発明に係るマーカ選定装置は、
上記第1から第3のいずれか1つの発明に記載のマーカ選定装置において、
更に、
選定された前記マーカ候補について、当該マーカ候補毎に前記第1のスコアを再計算し、前記第1のスコアが最大となる閾値の範囲を求め、当該範囲にある閾値から当該マーカ候補の最終閾値を決定する閾値算出部を有することを特徴とする。
【0022】
上記課題を解決する第5の発明に係るマーカ選定方法は、
複数のマーカ候補の原画像から前記マーカ候補毎に基準画像を作成する基準画像作成工程と、
前記マーカ候補の前記原画像から前記マーカ候補毎に距離に応じた複数の参照画像を作成する参照画像作成工程と、
全ての前記基準画像及び前記参照画像の特徴量を算出する画像特徴量抽出工程と、
全ての前記基準画像の前記特徴量と全ての前記参照画像の前記特徴量とを総当りで比較し、対象となる前記マーカ候補の検出又は未検出の判定の境界となる検出境界閾値を前記マーカ候補毎に求める比較判定工程と、
複数の前記マーカ候補に対して、各々、前記検出境界閾値に基づいて、前記マーカ候補の前記基準画像に対する認識安定性を示す第1のスコアを求め、前記第1のスコアが最大となる閾値を前記マーカ候補の判定用閾値として求め、前記判定用閾値に基づいて、前記マーカ候補の前記基準画像及び前記参照画像に対する認識安定性を示す第2のスコアを求め、前記第2のスコアが最低の前記マーカ候補を複数の前記マーカ候補の中から除外するスコア算出工程とを実施する共に、
複数の前記マーカ候補が所定数に減るまで前記スコア算出工程での処理を繰り返し、前記所定数の前記マーカ候補を選定することを特徴とする。
【0023】
上記課題を解決する第6の発明に係るマーカ選定方法は、
上記第5の発明に記載のマーカ選定方法において、
前記第1のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記検出境界閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像での誤認識率とを用いて算出することを特徴とする。
【0024】
上記課題を解決する第7の発明に係るマーカ選定方法は、
上記第5又は第6の発明に記載のマーカ選定方法において、
前記第2のスコアは、
対象とする前記マーカ候補の前記基準画像に対する全ての前記参照画像について、検出又は未検出の判定を行う閾値を変更しながら前記判定用閾値と比較して、当該マーカ候補の検出又は未検出の判定を行い、当該判定における、当該マーカ候補の前記基準画像に対する当該マーカ候補の全ての前記参照画像での認識正解率と、当該マーカ候補の前記基準画像に対する当該マーカ候補以外の前記マーカ候補の全ての前記参照画像及び当該マーカ候補以外の前記マーカ候補の全ての前記基準画像に対する当該マーカ候補の全ての前記参照画像の誤認識率とを用いて算出することを特徴とする。
【0025】
上記課題を解決する第8の発明に係るマーカ選定方法は、
上記第5から第7のいずれか1つの発明に記載のマーカ選定方法において、
更に、
選定された前記マーカ候補について、当該マーカ候補毎に前記第1のスコアを再計算し、前記第1のスコアが最大となる閾値の範囲を求め、当該範囲にある閾値から当該マーカ候補の最終閾値を決定する閾値算出工程を実施することを特徴とする。
【発明の効果】
【0026】
本発明によれば、第1スコア及び第2スコアにより複数のマーカを評価すると共に、認識安定性の低いマーカを除外して、所定数のマーカを選定するので、更には、選定したマーカにおいて、当該マーカに応じて閾値を変更するので、マーカ認識装置に対して、認識安定性のあるマーカを複数選定することができる。又、経験に頼らない、再現性のあるマーカ選定を行うことができる。又、自動的に、かつ、高速にマーカ選定を行うことができる。又、複数マーカ間の誤認識が発生しないマーカ選定を行うことができる。
【図面の簡単な説明】
【0027】
【
図1】本発明に係るマーカ選定装置の実施形態の一例を示す構成図である。
【
図2】
図1に示したマーカ選定装置の比較判定部で実施する手順を示すフローチャートである。
【
図3】
図1に示したマーカ選定装置のスコア算出部で実施する手順を示すフローチャートである。
【
図4】
図1に示したマーカ選定装置の閾値算出部で実施する手順を示すフローチャートである。
【
図5】マーカ「牛」のスコア変化を示すグラフである。
【
図6】各マーカの類似度の分布を示すグラフである。
【
図7】マーカ「鼠」のスコア変化を示すグラフである。
【
図8】マーカ「馬」のスコア変化を示すグラフである。
【
図9】各マーカの類似度の分布において、マーカ毎の閾値を示すグラフである。
【
図10】各マーカの類似度の分布において、閾値に対するマージンを示すグラフである。
【
図11】従来のマーカ認識装置を示す構成図である。
【
図12】従来のマーカ認識装置及びマーカ選定装置を示す構成図である。
【
図13】マーカの基準画像と参照画像の作成を説明する図である。
【
図14】基準画像と参照画像の総当たりにより認識処理を説明する図である。
【
図15】一台のマーカ追跡装置でマーカを切り替えて使用する場合を説明する図である。
【
図16】一台のマーカ追跡装置でマーカを切り替えて使用する場合の誤認識を説明する図である。
【
図17】複数台のマーカ追跡装置を同時に使用する場合を説明する図である。
【
図18】複数台のマーカ追跡装置を同時に使用する場合の誤認識を説明する図である。
【
図19】各マーカの類似度と閾値の関係を示す図である。
【
図20】従来のマーカ認識装置におけるマーカ判定方法を説明する図である。
【発明を実施するための形態】
【0028】
以下、本発明に係るマーカ選定装置及び方法について、
図1〜
図10を参照して、その実施形態を説明する。
【0029】
[実施例1]
マーカ認識装置では、マーカの基準画像とカメラ入力画像のそれぞれの特徴点を抽出し、対応する点の数などを求めて類似度を計算し、これを基に、類似度が予め規定した閾値より大きいかどうか比較することで、対応するマーカかどうかを判定している(
図20参照)。この判定に使用する閾値を、本実施例のマーカ選定装置では、使用するマーカ毎に別々に設定することにより、マーカ間の誤認識の少ない選定結果が得られるようにしている。以下、判定に使用する閾値をどのように設定するか説明する。
【0030】
図1は、本実施例のマーカ選定装置10を示す構成図である。マーカ選定装置10は、マーカ候補の原画像を読み込む原画像読込部11と、原画像読込部11で読み込んだ原画像から基準画像を作成する基準画像作成部(工程)12と、原画像読込部11で読み込んだ原画像から距離に応じた参照画像を複数作成する参照画像作成部(工程)13と、基準画像作成部12で作成した基準画像と参照画像作成部13で作成した参照画像とから特徴量を抽出する画像特徴量抽出部(工程)14と、基準画像の特徴量を保存する基準画像特徴量保存部15と、参照画像の特徴量と保存した基準画像の特徴量とを総当たりで比較し、対応するマーカの検出又は未検出の境界となる検出境界閾値を求める比較判定部(工程)16と、認識安定性を示すスコア(第1のスコア及び第2のスコア)を計算し、計算したスコアによりマーカ候補の選定を行うスコア算出部(工程)17と、選定したマーカ候補について、マーカ候補毎の最終閾値を算出する閾値算出部(工程)18と、選定したマーカ候補と、それらの最終閾値を出力する結果出力部19とを有している。
【0031】
まず、マーカ選定装置10での手順の概略を説明する。マーカ候補の原画像を読み込む原画像読込部11から基準画像作成部12及び参照画像作成部13へ画像データを渡し、それぞれで作成した基準画像及び参照画像について、画像特徴量抽出部14で特徴量抽出を行う。基準画像の特徴量は基準画像特徴量保存部15で保管し、比較判定部16で参照画像の特徴量と比較し、スコア算出部17でスコア(第1のスコア及び第2のスコア)の計算及びマーカ候補の選定を行う。その後、閾値算出部18で選定されたマーカ候補毎に最終閾値を算出し、結果出力部19で選定結果(選定したマーカ候補及び最終閾値)を出力している。
【0032】
そして、マーカ認識装置では、このマーカ選定装置10で選定されたマーカ候補と共に、そのマーカ候補毎に決定された最終閾値を組み合わせて使用する。
【0033】
本実施例のマーカ選定装置10において、マーカ選定の主要処理は、以下の三つの部分に分けられる。
(1)比較判定部16
(2)スコア算出部17
(3)閾値算出部18
以下に、各部の処理方法について、
図2〜
図4のフローチャートを参照して説明する。
【0034】
(1)比較判定部16
比較判定部16での処理方法について、基準画像作成部12、参照画像作成部13、画像特徴量抽出部14及び基準画像特徴量保存部15での処理方法も含めて、
図2を参照して説明する。
【0035】
(ステップS1)
全てのマーカ候補の原画像を用いて、基準画像作成部12でマーカ候補毎の基準画像を作成し、作成した全ての基準画像に対して画像特徴量抽出部14により特徴量を抽出し、基準画像の特徴量を基準画像特徴量保存部15で保存しておく。
【0036】
(ステップS2)
全てのマーカ候補の原画像を用いて、参照画像作成部13でカメラ〜マーカ間距離に応じた(大きさの異なる)参照画像を複数個作成し(例えば、500mmから2500mmまで500mm間隔で)、作成した全ての参照画像に対して画像特徴量抽出部14により特徴量を抽出する。
【0037】
(ステップS3)
比較判定部16において、ステップS1で作成した全ての基準画像の特徴量と、ステップS2で作成した全ての参照画像の特徴量とを総当りで比較する。ここでは、
図20に示した「マーカ」(検出)又は「マーカでない」(未検出)を判定するための閾値を変化させながら比較を行い、判定が「検出」と「未検出」の境目となる閾値(検出境界閾値)を、全ての基準画像と参照画像との組み合わせで求める。
【0038】
(2)スコア算出部17
スコア算出部17での処理方法について
図3を参照して説明する。
【0039】
(ステップS11)
比較判定部16のステップS3で求めた検出境界閾値を用い、全てのマーカ候補について、基準画像に対する参照画像の「検出」又は「未検出」の判定を行い、全てのマーカ候補に対して、マーカ候補毎に第1のスコアが最大になる閾値(判定用閾値)を求める。第1のスコアの求め方は、対象となるマーカ候補の基準画像に対する当該マーカ候補の全参照画像での認識正解率(%)をa、当該マーカ候補の基準画像に対する当該マーカ候補以外のマーカ候補の全参照画像での誤認識率(%)をbとして、このaとbの値を用いて求める(例えば、a−bにより第1のスコアを算出)。この第1のスコアは、当該マーカ候補の基準画像の認識安定性を示すものである。
【0040】
(ステップS12)
ステップS11で得られた判定用閾値を用い、全てのマーカ候補について、基準画像に対する参照画像の「検出」又は「未検出」の判定を行い、全てのマーカ候補に対して、第2のスコアを計算する。第2のスコアの求め方は、対象となるマーカ候補の基準画像に対する当該マーカ候補の全参照画像での認識正解率(%)をc、当該マーカ候補の基準画像に対する当該マーカ候補以外のマーカ候補の全参照画像及び当該マーカ候補以外のマーカ候補の基準画像に対する当該マーカ候補の全参照画像での誤認識率(%)をdとして、このcとdの値を用いる(例えば、c−dにより第2のスコアを算出)。この第2のスコアは、当該マーカ候補の基準画像及び参照画像の認識安定性を示すものである。
【0041】
(ステップS13)
ステップS12で得られた第2のスコアに基づき、第2のスコアが最も低いマーカ候補を複数のマーカ候補の中から除外する。マーカ候補の除外について、第2のスコアが同じ最低値のマーカ候補が複数ある場合には、(1)マーカ候補に設定した優先順位順、(2)ランダム、(3)マーカ候補の登録順などの方法により、1つずつ削除する。このように、マーカ候補の除外は、1つずつ行う方が良い。これは、第1のスコア及び第2のスコアがマーカ候補同士で依存しあっているためである。例えば、第2のスコアが最低値のマーカ候補の誤認識の影響が、その次に低い値のマーカ候補などに影響を与えていると、場合によっては、第2のスコアが最低値のマーカ候補を1つだけ削除した場合と、まとめて2つ削除した場合では、結果が異なることがあるためである。
【0042】
(ステップS14)
マーカ候補数が目的の個数であるかどうか確認し、マーカ候補数が目的の個数になるまで、ステップS11〜S13を繰り返す。つまり、スコア算出部17では、目的の個数のマーカ候補を選定することになる。
【0043】
(3)閾値算出部18
閾値算出部18での処理方法について
図4を参照して説明する。
【0044】
(ステップS21)
スコア算出部17で選定されたマーカ候補それぞれに対して、第1のスコアが最大になる閾値の範囲を求める。つまり、比較判定部16のステップS3で求めた検出境界閾値を用い、選定されたマーカ候補について、基準画像に対する参照画像の「検出」又は「未検出」の判定を行い、選定されたマーカ候補に対して、第1のスコアを計算する。この第1のスコアの算出方法は、スコア算出部17のステップS11の方法と同一である。
【0045】
(ステップS22)
ステップS21で求められた閾値範囲からマーカ候補毎に設定する閾値(最終判定用閾値)を決定する。例えば、閾値範囲の中間値などを最終判定用閾値として決定する。
【0046】
(ステップS23)
選定結果、即ち、選定したマーカ候補及び最終閾値を出力する。
【0047】
以上の方法により、誤検出の少ない複数のマーカの選択が可能になる。
【0048】
次に、本実施例のマーカ選定装置及び方法を用いた具体例を以下に示す。
【0049】
ここでは、「鼠」、「牛」、「寅」、「兎」、「龍」、「蛇」、「馬」、「羊」、「猿」、「鶏」、「犬」、「猪」の12個のマーカ候補から、最終的に6つのマーカ候補を選定するとする。参照画像は、カメラ〜マーカ間距離として、500mm、1000mm、1500mm、2000mmを模擬して作成する。
【0050】
比較判定部16では、上述したように、検出境界閾値を求めるが、その結果は表2に示す通りとなった。この表2では、基準画像と参照画像それぞれで得られた特徴点が対応する数(対応点数)を示しており、この対応点数によって「検出」又は「未検出」の判断をしており、この対応点数が「検出境界閾値」となる。対応点数は、数が多いほど類似しているため、「類似度」といえる。
【0051】
この表2の中で、例えば、「鼠」の基準画像を使って「鼠 500mm」の参照画像に対して比較判定処理を行った場合、45個の対応点数が得られているので、閾値を検出境界閾値45以下にすると「検出」となり、45より大きくすると「未検出」となる。同様に、「牛 1500mm」の参照画像の場合は、閾値を検出境界閾値4以下にすると「検出」となり、4より大きくすると「未検出」となる。
【0053】
スコア算出部17では、まず、マーカ候補毎に第1のスコアが最大になる閾値(判定用閾値)を求める。具体的には、閾値を上下させ、比較判定部16で求めた検出境界閾値と比較することで、基準画像と参照画像の組み合わせ毎に「検出」又は「未検出」の判定を行い、その判定結果に基づいて、第1のスコアを計算する。ここでは、認識正解率(%)aと誤認識率(%)bから、第1のスコアを「a−b」として算出している。そして、表2の検出境界閾値に基づいて、第1のスコアが最大となる閾値(判定用閾値)を求めたものが表3である。閾値を変化させると、判定結果が変化し、第1のスコアも変化するので、第1のスコアが最大となったときの閾値(判定用閾値)を求めることができる。
【0055】
例えば、「牛」の場合、
図5に示すように、閾値が14のときに最大値となっている。具体的には、「牛」の場合、閾値が14のときには、表4に示すように、認識正解率a=100%(=4個/総数4個)、誤認識率b=9.1%(=4個/総数4×11個)により、スコア(a−b)=90.9となっている。
【0057】
そして、表3の判定用閾値に基づいて、基準画像と参照画像の組み合わせ毎に「検出」又は「未検出」を判定した結果が表5である。
【0059】
この表5の判定結果に基づいて、第2のスコアを計算する。ここでは、認識正解率(%)cと誤認識率(%)dから、第2のスコアを「c−d」として算出している。このときの第2のスコアの計算は、例えば、「寅」の場合、次のようになる。まず、認識正解率cは、4個/総数4個から100%である。又、誤認識率dは、基準画像が「寅」のものについて誤認識が7個、参照画像が「寅」のものについて誤認識が2個、合計が9個であるため、9個/(総数4×11×2個)から10.2%となる。よって、第2のスコアは100−10.2=89.8となる。同様に、他のマーカ候補も計算し、高いスコア順に並び替えると、表6のようになる。
【0061】
このうち、第2のスコアが最低のマーカ候補「羊」をマーカ候補から除外し、1回目のスコア算出部17での処理が完了する。
【0062】
マーカ候補「羊」をマーカ候補から除外して、同様の計算を行った2回目の処理結果を表7に示す。表7中の判定用閾値は、2回目の処理において、マーカ候補毎の第1のスコアが最大になる閾値を示している。
【0064】
2回目の結果、第2のスコアが最低のマーカ候補「猪」がマーカ候補から除外される。
【0065】
更に、マーカ候補「猪」をマーカ候補から除外して、同様の計算を行った3回目の処理結果を表8に示す。表8中の判定用閾値は、3回目の処理において、マーカ候補毎の第1のスコアが最大になる閾値を示している。
【0067】
3回目の結果、第2のスコアが最低のマーカ候補「兎」がマーカ候補から除外される。
【0068】
更に、マーカ候補「兎」をマーカ候補から除外して、同様の計算を行った4回目の処理結果を表9に示す。表9中の判定用閾値は、4回目の処理において、マーカ候補毎の第1のスコアが最大になる閾値を示している。
【0070】
4回目の結果、第2のスコアが最低のマーカ候補「寅」がマーカ候補から除外される。
【0071】
更に、マーカ候補「寅」をマーカ候補から除外して、同様の計算を行った5回目の処理結果を表10に示す。表10中の判定用閾値は、5回目の処理において、マーカ候補毎の第1のスコアが最大になる閾値を示している。
【0073】
5回目の結果、第2のスコアが最低のマーカ候補は「龍」と「鶏」で同率であった。この場合、何らかの基準により、どれか1つを除外するようにする。例えば、マーカ候補の登録順を優先したりする。この場合は、「鶏」をマーカ候補から除外した。
【0074】
更に、マーカ候補「鶏」をマーカ候補から除外して、同様の計算を行った6回目の処理結果を表11に示す。表11中の判定用閾値は、6回目の処理において、マーカ候補毎の第1のスコアが最大になる閾値を示している。
【0076】
6回目の結果、第2のスコアが最低のマーカ候補「犬」がマーカ候補から除外される。
【0077】
最終的に選定された6個のマーカ候補について、同様の計算を行った7回目の処理結果を表12に示す。表12中の判定用閾値は、7回目の処理において、マーカ候補毎の第1のスコアが最大になる閾値を示している。
【0079】
以上の結果より、基準画像で「馬」を使用したときに、「龍 500mm」の参照画像を誤認識する以外は良好な結果となっている。
【0080】
続いて、閾値算出部18では、選定されたマーカ候補について最終閾値を決定する。表2の通り、既に、全てのマーカ候補について、マーカ候補毎の類似度が求まっており、選定されたマーカ候補について、マーカ候補毎の類似度を示すと表13の通りとなる。そして、基準画像と同じ参照画像との類似度と、基準画像と異なる参照画像との類似度をグラフに示すと、
図6の通りとなる。
【0082】
ここで、選択されたそれぞれのマーカ候補に対して、スコア算出部17のステップS11の方法を用いて、第1のスコアが最大になる閾値の範囲を求める。例えば、「鼠」の場合は、
図7に示すとおり、閾値が20〜22の範囲で最大値100となっている。又、「馬」の場合、
図8に示すとおり、閾値が20〜22の範囲で最大値95となっている。以上により、第1のスコアが最大になる閾値範囲は、表14の通りとなる。
【0084】
これより、選択されたそれぞれのマーカ候補の最終閾値は、表14の閾値範囲から選定することになる。例えば、中間値を選択した場合、表15の通りの最終閾値が決定する。
【0086】
図6に対し、中間値とした最終閾値を示すと
図9の通りとなる。
【0087】
以上のように、マーカ候補毎に閾値を設定することにより、認識安定性を得ることができる。これは、類似度の閾値を固定値で処理した場合、低めに設定すると、未検出率は低下するが、誤検出率が増加し、逆に、高めに設定すると、誤検出率は低下するが、未検出率が増加するためであり、選定したマーカ候補によって、特徴量の出方が異なるため、閾値をマーカ候補に応じて変更したためである。
【0088】
又、第1のスコアが最大値となる閾値範囲の中間値を最終閾値として設定することで、
図10に示すように、マーカ検出の余裕(マージン)が生じ、正しい物とそうでない物の境界が明確になるため、マーカ認識の安定性が得られる。最終閾値の決定は、一旦、マーカ候補の選定を行った後に行う必要がある。これは、選定されたマーカ候補間での誤認識を減らすためである。
【産業上の利用可能性】
【0089】
本発明は、画像処理を使用したマーカ認識装置に対し、最適なマーカ候補を選定するマーカ選定装置に好適なものである。
【符号の説明】
【0090】
10 マーカ選定装置
11 原画像読込部
12 基準画像作成部
13 参照画像作成部
14 画像特徴量抽出部
15 基準画像特徴量保存部
16 比較判定部
17 スコア算出部
18 閾値算出部
19 結果出力部