(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162177
(43)【公開日】2024-11-21
(54)【発明の名称】画像認識システム及び画像認識方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20241114BHJP
【FI】
G06T7/70 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023077479
(22)【出願日】2023-05-09
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】永吉 洋登
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA02
5L096CA04
5L096DA02
5L096EA43
5L096FA32
5L096FA66
5L096FA69
5L096GA38
5L096GA40
5L096HA05
5L096MA07
(57)【要約】
【課題】対象物を特定してその位置を追跡することができる技術を提供する。
【解決手段】
マーカ200は、常時点灯する第1の発光部210と、マーカ200の各々に設定された点灯と消灯の時系列パタンで点滅する第2の発光部211とを備え、画像認識装置100は、第1の発光部210及び第2の発光部211を含む画像を撮像するカメラ110と、撮像された画像に含まれる光の位置をマーカ検知位置として検知するプロセッサ101と、一次記憶装置102とを備え、プロセッサ101は、検知されたマーカ検知位置を、それぞれの位置に基づいて、一つあるいは二つの検知されたマーカ検知位置からなるマーカ検知グループとしてグルーピングし、マーカ検知位置グループに属するマーカ検知位置の位置に基づいて、一次記憶装置102に格納されているマーカ検知位置グループの情報と紐づけて、マーカ検知位置グループの情報を一次記憶装置102に格納する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
少なくとも一つの対象物に各々設置された少なくとも一つのマーカと、前記マーカの位置を検知する画像認識装置とを備える画像認識システムにおいて、
前記マーカは、
常時点灯する第1の発光部と、
前記マーカの各々に設定された点灯と消灯の時系列パタンで点滅する第2の発光部と、を備え、
前記画像認識装置は、
前記第1の発光部及び前記第2の発光部を含む画像を撮像するカメラと、
前記撮像された画像に含まれる光の位置をマーカ検知位置として検知するプロセッサと、
記憶装置と、を備え、
前記プロセッサは、
前記検知されたマーカ検知位置を、それぞれの位置に基づいて、一つあるいは二つの前記検知されたマーカ検知位置からなるマーカ検知グループとしてグルーピングし、
前記マーカ検知位置グループに属するマーカ検知位置の位置に基づいて、前記記憶装置に格納されているマーカ検知位置グループの情報と紐づけて、前記マーカ検知位置グループの情報を前記記憶装置に格納する画像認識システム。
【請求項2】
請求項1記載の画像認識システムにおいて、
前記プロセッサは、
前記マーカ検知位置グループに属するマーカ検知位置が一つのときは、前記第2の発光部の消灯を示す情報を前記記憶装置に格納し、
前記マーカ検知位置グループに属するマーカ検知位置が二つのときは、前記第2の発光部の点灯を示す情報を前記記憶装置に格納する画像認識システム。
【請求項3】
請求項2記載の画像認識システムにおいて、
前記プロセッサは、
前記記憶装置に格納された、前記第2の発光部の点灯を示す情報及び前記第2の発光部の消灯を示す情報の時系列パタンに基づいて、前記マーカを特定するIDを算出する画像認識システム。
【請求項4】
請求項3記載の画像認識システムにおいて、
前記第1の発光部及び前記第2の発光部は、異なる色彩で発光する画像認識システム。
【請求項5】
請求項4記載の画像認識システムにおいて、
前記第2の発光部は、不可視光を発光する画像認識システム。
【請求項6】
少なくとも一つの対象物に各々設置された少なくとも一つのマーカと、前記マーカの位置を検知する画像認識装置とを備える画像認識システムの画像認識方法において、
前記マーカは、
常時点灯する第1の発光部と、
前記マーカの各々に設定された点灯と消灯の時系列パタンで点滅する第2の発光部と、を備え、
前記画像認識装置は、
前記第1の発光部及び前記第2の発光部を含む画像を撮像するカメラと、
前記撮像された画像に含まれる光の位置をマーカ検知位置として検知するプロセッサと、
記憶装置と、を備え、
前記プロセッサは、
前記検知されたマーカ検知位置を、それぞれの位置に基づいて、一つあるいは二つの前記検知されたマーカ検知位置からなるマーカ検知グループとしてグルーピングし、
前記マーカ検知位置グループに属するマーカ検知位置の位置に基づいて、前記記憶装置に格納されているマーカ検知位置グループの情報と紐づけて、前記マーカ検知位置グループの情報を前記記憶装置に格納する画像認識方法。
【請求項7】
請求項6記載の画像認識方法において、
前記プロセッサは、
前記マーカ検知位置グループに属するマーカ検知位置が一つのときは、前記第2の発光部の消灯を示す情報を前記記憶装置に格納し、
前記マーカ検知位置グループに属するマーカ検知位置が二つのときは、前記第2の発光部の点灯を示す情報を前記記憶装置に格納する画像認識方法。
【請求項8】
請求項7記載の画像認識方法において、
前記プロセッサは、
前記記憶装置に格納された、前記第2の発光部の点灯を示す情報及び前記第2の発光部の消灯を示す情報の時系列パタンに基づいて、前記マーカを特定するIDを算出する画像認識方法。
【請求項9】
請求項8記載の画像認識方法において、
前記第1の発光部及び前記第2の発光部は、異なる色彩で発光する画像認識方法。
【請求項10】
請求項9記載の画像認識方法において、
前記第2の発光部は、不可視光を発光する画像認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像認識システム及び画像認識方法に関する。
【背景技術】
【0002】
工場や発電所など人や物が移動する現場において、人物や物体などの対象物の位置を追跡するために、対象物を特定するためのID情報を点滅パタンによって表す発光マーカが提案されている。人物の頭上や物体の上に発光マーカを設置し、天井に設置されたカメラで発光マーカを含む画像を撮影して発光マーカの点滅パタンとその位置を検知することにより、対象物を特定してその位置を追跡することができる。
【0003】
発光マーカの点滅パタンを検知するためには、発光マーカを一定時間追跡して、点灯と消灯の時系列パタンを検知する必要がある。しかし、消灯時には発光マーカを検知することができず、発光マーカの追跡を誤る可能性がある。
【0004】
そこで、光の点滅ではなく色の変化でID情報を表す技術として、特許文献1がある。特許文献1には、少なくとも3種の色彩を発光する発光体を有し、発光体が発光する色彩を周期的に変化させ、周期的な色彩変化を所定のIDに基づいて切り替え、この周期的な色彩変化の切替によって、発光装置のID又はその発光装置が取り付けられている対象物のIDを表すことが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術では、発光装置に少なくとも3種の色彩を発光する発光体を備える必要があり、コストがかかるという問題がある。また、特許文献1では、3種の色彩としてRGB(赤、緑、青)を使用しているが、RGBのうちB(青)は暗いため検知が困難であり、マーカには適さない。
【0007】
本発明は、対象物を特定してその位置を追跡することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、代表的な本発明の画像認識システムの一つは、少なくとも一つの対象物に各々設置された少なくとも一つのマーカと、マーカの位置を検知する画像認識装置とを備える画像認識システムにおいて、マーカは、常時点灯する第1の発光部と、マーカの各々に設定された点灯と消灯の時系列パタンで点滅する第2の発光部とを備え、画像認識装置は、第1の発光部及び第2の発光部を含む画像を撮像するカメラと、撮像された画像に含まれる光の位置をマーカ検知位置として検知するプロセッサと、記憶装置とを備え、プロセッサは、検知されたマーカ検知位置を、それぞれの位置に基づいて、一つあるいは二つの検知されたマーカ検知位置からなるマーカ検知グループとしてグルーピングし、マーカ検知位置グループに属するマーカ検知位置の位置に基づいて、記憶装置に格納されているマーカ検知位置グループの情報と紐づけて、マーカ検知位置グループの情報を記憶装置に格納する。
【発明の効果】
【0009】
本発明によれば、対象物を特定してその位置を追跡することができる。
【0010】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】実施例1の画像認識システムの構成の一例を示す図である。
【
図2】実施例1の画像認識装置のハードウェア構成の一例を示すブロック図である。
【
図3】実施例1のマーカのハードウェア構成の一例を示すブロック図である。
【
図4】実施例1の画像認識装置の動作の一例を示すフローチャートである。
【
図5】一次記憶装置に格納されるマーカ追跡リストの一例を示す図である。
【
図6】合致マーカ検知位置グループを抽出する処理を説明する図である。
【
図7】一次記憶装置に格納されるマーカIDリストの一例を示す図である。
【
図8】ディスプレイに表示される画面の一例を示す図である。
【
図9】実施例2の画像認識装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、実施例を図面を用いて説明する。
【0013】
なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。また、発明の構成に必須だが周知である構成については、図示及び説明を省略する場合がある。
【実施例0014】
図1は、実施例1の画像認識システムの構成の一例を示す図である。
【0015】
図1において、画像認識システムは、画像認識装置100と、マーカ200とを有する。
【0016】
マーカ200は、上面に第1の発光部210及び第2の発光部211を備える。マーカ200は、例えば、人物1の頭上や、物体2の上部に、第1の発光部210及び第2の発光部211が天井の方向を向くように設置される。
【0017】
画像認識装置100は、カメラ110と、情報処理装置130と、ディスプレイ120とを有する。
【0018】
カメラ110は、部屋3の天井に床を撮像するように設置され、部屋3の床上に存在するマーカ200の上面に設けられた第1の発光部210及び第2の発光部211を含む画像を撮像する。
【0019】
情報処理装置130は、カメラ110に接続され、カメラ110が撮像した画像を取得し、後述する処理を実行して、マーカ200の位置及びマーカ200を特定するマーカIDを検知する。ディスプレイ120は、情報処理装置130に接続され、情報処理装置130が出力した情報を表示する。
【0020】
図2は、実施例1の画像認識装置100のハードウェア構成の一例を示すブロック図である。
【0021】
画像認識装置100は、情報処理装置130の内部に、プロセッサ101と、一次記憶装置102と、二次記憶装置103とを備える。
【0022】
プロセッサ101は、二次記憶装置103に保持しているプログラムを実行することで、後述する処理を実現する。
【0023】
一次記憶装置102は、プロセッサ101が処理を実行する際に利用する主記憶装置であり、RAM(Random Access Memory)等の揮発性記憶素子で構成される。
【0024】
二次記憶装置103は、プロセッサ101に提供する入力データや、プロセッサ101から出力される出力データを保管するための補助記憶装置であり、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性記憶素子で構成される。
【0025】
プロセッサ101が動作するためのプログラムや設定情報は二次記憶装置103に記憶させておくが、実行時には一次記憶装置102に読みだされて、プロセッサ101から参照される。
【0026】
図3は、実施例1のマーカ200のハードウェア構成の一例を示すブロック図である。
【0027】
マーカ200は、プロセッサ201と、一次記憶装置202と、二次記憶装置203と、第1の発光部210と、第2の発光部211とを備える。
【0028】
プロセッサ201は、二次記憶装置203に保持しているプログラムを実行することで処理を実現する。
【0029】
一次記憶装置202は、プロセッサ201が処理を実行する際に利用する主記憶装置であり、RAM(Random Access Memory)等の揮発性記憶素子で構成される。
【0030】
二次記憶装置203は、プロセッサ201に提供する入力データや、プロセッサ201から出力される出力データを保管するための補助記憶装置であり、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性記憶素子で構成される。
【0031】
プロセッサ201が動作するためのプログラムや設定情報は二次記憶装置203に記憶させておくが、実行時には一次記憶装置202に読みだされて、プロセッサ201から参照される。
【0032】
第1の発光部210および第2の発光部211は、例えばLED(Light Emitting Diode)で構成される。
【0033】
ここで、第1の発光部210は電源が入っているときは常時点灯状態で、第2の発光部211はプロセッサ201の制御に従い、所定の点滅パタンで点滅する。第1の発光部が常時点灯しているので、画像認識装置100のカメラ110が30Hz程度のフレームレートのカメラであっても、その位置を容易に追跡することができる。
【0034】
第2の発光部211の点滅パタンは、それぞれのマーカ200によって異なる。例えば、人物1の頭上に設置されたマーカ200と、物体2の上部に設置されたマーカ200とでは、第2の発光部211の点滅パタンが異なる。画像認識装置100は、この点滅パタンを読み取ることにより、どのマーカ200であるかを特定して、位置を追跡している対象である人物や物体を特定することができる。
【0035】
また、実施例1では、第1の発光部210と第2の発光部211は、同一の色彩である。画像認識装置100が検知しやすいように、第1の発光部210と第2の発光部211の色彩には、青以外の明るい色彩、例えば緑色や赤色を採用することが好ましい。
【0036】
また、カメラ110はRGBカメラに限定されるものではなく、第1の発光部210と第2の発光部211の色にカメラ110に適した色彩を選択すればよい。
【0037】
第1の発光部210と第2の発光部211は、画像認識装置100のカメラ110が撮影した画像上で区別できるだけの所定の間隔をあけておく。この所定の間隔は、画像認識装置100のカメラ110の画素数や画角と、マーカ200との最大距離が与えられれば、一般的な三次元幾何学をもちいて定めることができる。
【0038】
図4は、実施例1の画像認識装置100の動作の一例を示すフローチャートである。
【0039】
図4は、画像認識装置100のプロセッサ101が、第1の発光部210及び第2の発光部211の点灯位置を捉えて、マーカ200の位置を追跡する処理である。この処理は画像認識装置100のプロセッサ101が、一次記憶装置102や二次記憶装置103を利用しながら実施する。
【0040】
ステップS300で、プロセッサ101は、カメラ110が取得した入力フレームに対して二値化処理を実施する。
【0041】
このとき、第1の発光部210及び第2の発光部の色彩に合わせた二値化処理を実施することが望ましい。例えば、第1の発光部210及び第2の発光部の色彩が白色であれば、RGBのノルムを用いて二値化処理を実施する。また、第1の発光部210及び第2の発光部の色彩がRGBにおけるGであれば、入力フレームのRGBにおけるGチャンネルのみを抜き出して二値化処理を実施するとよい。
【0042】
二値化処理によって、入力フレームにおいて、第1の発光部210および第2の発光部211のうち点灯しているものが映った部位が抽出される。プロセッサ101は、抽出された部位をマーカ検知位置として抽出する。
【0043】
ステップS301で、プロセッサ101は、ステップS300で抽出したマーカ検知位置から、同じマーカ200に属する第1の発光部210と第2の発光部211のマーカ検知位置をグルーピングする。
【0044】
ステップS300で抽出したマーカ検知位置から第1のグルーピング用所定範囲に別のマーカ検知位置がある場合には、それらのマーカ検知位置をグルーピングしてマーカ検知位置グループとする。一方、ステップS300で抽出したマーカ検知位置から第1のグルーピング用所定範囲に別のマーカ検知位置がない場合は、そのマーカ検知位置のみをマーカ検知位置グループとする。
【0045】
点滅している第2の発光部211が点灯状態のときに撮像された入力フレームでは、マーカ検知位置グループに二つのマーカ検知位置が含まれる。一方、第2の発光部が消灯状態のときに撮像された入力フレームでは、マーカ検知位置グループに一つのマーカ検知位置が含まれる。
【0046】
ここで第1のグルーピング用所定範囲は、同じマーカ200に属する第1の発光部及び第2の発光部のマーカ検知位置をグルーピングするために設定された範囲である。二つのマーカ検知位置が第1のグルーピング用所定範囲内にあれば、この二つのマーカ検知位置は一つのマーカ200に属する第1の発光部及び第2の発光部のマーカ検知位置であると判別される。
【0047】
第1のグルーピング用所定範囲は、同じマーカ200に属する第1の発光部210と第2の発光部211との画面上での最大の距離と、同じ値に設定するとよい。この値は、カメラ110の画角と、第1の発光部210と第2の発光部211の、画像認識装置100のカメラ110からの距離の最小値が定まれば、一般的な三次元幾何学をもちいて算出できる。
【0048】
ここで注意すべき点は、カメラ110からマーカ200までの距離の最小値及び最大値である。
【0049】
例えば、カメラ110が部屋3の壁の上部に斜め下方向を撮像するように取り付けられている場合、カメラ110に近いマーカ200は入力フレームにおいて大きく撮像され、カメラ110から遠いマーカ200は入力フレームにおいて小さく撮像される。
【0050】
マーカ200とカメラ110が非常に近い場合、上述したように、同じマーカ200に属する第1の発光部210と第2の発光部211との画面上での最大の距離を第1のグルーピング用所定範囲とすると、第1のグルーピング用所定範囲が非常に大きくなり、第1のグルーピング用所定範囲が入力フレームの大部分を含むことになる。
【0051】
そのため、近接する複数のマーカ200のマーカ検知位置が第1のグルーピング用所定範囲内に入ってしまい、同じマーカ200に属する第1の発光部210と第2の発光部211をグルーピングするという目的を達成することができない。
【0052】
また、マーカ200とカメラ110が非常に遠い場合も、近接する複数のマーカ200のマーカ検知位置が第1のグルーピング用所定範囲内に入ってしまい、同じマーカ200に属する第1の発光部210と第2の発光部211をグルーピングするという目的を達成することができない。
【0053】
そのため、カメラ110からマーカ200までの距離の最小値が小さくなりすぎず、最大値が大きくなりすぎないように、カメラ110の設置位置を工夫する必要がある。
【0054】
例えば、俯角を床方向に向けてカメラ110を天井に設置し、床上を歩く人物1や床上に近いところを移動する物体2にマーカ200を設置すれば、カメラ110からマーカ200までの距離の最小値及び最大値を、適切な値に設定することができる。また、カメラ110の近くに壁がある場合には、壁がある方向に対しては、カメラ110の俯角を大きく壁の方向に向ける必要はない。
【0055】
これにより、ステップS301において、同じマーカ200に属する第1の発光部210と第2の発光部211をグルーピングするという目的を達成することが可能となる。
【0056】
ステップS301でグルーピングされたマーカ検知位置グループや、第2の発光部の点灯または消灯を示す情報は、
図5に示すマーカ追跡リスト400として一次記憶装置102に格納される。
【0057】
図5は、一次記憶装置102に格納されるマーカ追跡リストの一例を示す図である。
【0058】
マーカ追跡リスト400は、インデックス401によって区別された複数のマーカ追跡レコード410を有する。各マーカ追跡レコード410は、マーカID402と、マーカ検知位置グループ履歴420と、マーカ点滅履歴430とを有する。
【0059】
マーカ検知位置グループ履歴420には、各入力フレームにおける各マーカ検知位置グループに含まれるマーカ検知位置の位置情報が、それぞれ異なるカラムに保存される。
【0060】
例えば、カメラ110が取得した入力フレームのフレーム番号をtとし、フレームtのnフレーム前の入力フレームのフレーム番号をt-nとすると、フレームt、インデックス0のマーカ検知位置グループ履歴420には、一つのマーカ検知位置の位置情報(30,130)が保存されている。これは、フレームtにおいて、第2の発光部211が消灯状態であったため、
図4のステップ301で一つのマーカ位置情報がマーカ検知位置グループとしてグルーピングされたことを示している。
【0061】
また、フレームt-2、インデックス0のマーカ検知位置グループ履歴420には、二つのマーカ検知位置の位置情報(10,110)及び(10,111)が保存されている。これは、フレームt-2において、第2の発光部211が点灯状態であったため、
図4のステップ301で二つのマーカ検知位置がマーカ検知位置グループとしてグルーピングされたことを示している。
【0062】
マーカ点滅履歴430には、各入力フレームにおける各マーカ検知位置グループに属する第2の発光部211の点灯または消灯を示す情報が、それぞれ異なるカラムに保存される。例えば、フレームt、インデックス0のマーカ点滅履歴430には、「消灯」が記載され、フレームt-2、インデックス0のマーカ点滅履歴430には、「点灯」が記載されている。
【0063】
マーカID402は、後述する処理で、マーカ点滅履歴430の点灯と消灯の時系列パタン(点滅パタン)に基づいて決定される。
【0064】
図4に戻り、ステップS302で、各マーカ追跡レコード410における最新フレームのマーカ検知位置グループ履歴420それぞれに対して、そこから追跡用の所定範囲に位置するマーカ検知位置グループを合致マーカ検知位置グループとして抽出し、両者を紐づける。また、合致マーカ検知位置グループ以外のマーカ検知位置グループを、非合致マーカ検知位置グループとする。
【0065】
追跡用の所定範囲は、同一のマーカ200の位置を追跡するために、入力フレームのマーカ検知位置グループを、マーカ追跡レコード410の同一のマーカ200のマーカ検知位置グループ履歴420と紐づけるために設定される。追跡用の所定範囲は、入力フレーム内で1フレームの間に人物1や物体2が移動すると想定される距離に基づいて設定される。
【0066】
図6は、ステップS302の合致マーカ検知位置グループを抽出する処理を説明する図である。
【0067】
図6の画像500において、各マーカ追跡レコード410の最新フレームのマーカ検知位置グループ履歴420の位置が503である。また、最新フレームのマーカ検知位置グループ履歴420の位置503から追跡用の所定範囲に位置するマーカ検知位置グループが、合致マーカ検知位置グループ501である。また、合致マーカ検知位置グループ501以外のマーカ検知位置グループが非合致マーカ検知位置グループ502である。
【0068】
マーカ検知位置グループおよび最新フレームのマーカ検知位置グループ履歴は、それぞれ、第1の発光部210及び第2の発光部211に対応する二つのマーカ検知位置を含む場合がある。その場合は、追跡用の所定範囲と比較するマーカ検知位置グループと最新フレームのマーカ検知位置グループ履歴の距離を算出するために、二つのマーカ検知位置のいずれを用いて算出するかによって複数の値が得られる。マーカ検知位置グループと最新フレームのマーカ検知位置グループ履歴の距離は、複数の値が得られた場合には、それらの値の最小値、最大値、または平均値のいずれを採用してもよい。また、追跡用の所定範囲は、採用する値に応じて、適切な値に設定する。
【0069】
図4に戻り、ステップS303で、合致マーカ検知位置グループの情報を、それに紐づいた最新フレームのマーカ検知位置グループ履歴420が属するマーカ追跡レコード410に対して書き込む。
【0070】
具体的には、合致マーカ検知位置グループに紐づいた最新フレームのマーカ検知位置グループ履歴420が属するマーカ追跡レコード410の、フレームtのマーカ検知位置グループ履歴420に、合致マーカ検知位置グループに含まれるマーカ検知位置を書き込む。また、マーカ検知位置が二つの場合はフレームtのマーカ点滅履歴430に「点灯」を書き込み、マーカ検知位置が一つの場合はフレームtのマーカ点滅履歴430に「消灯」を書き込む。
【0071】
ステップS304では、新たなマーカ追跡レコード410をマーカ追跡リスト400に追加し、非合致マーカ検知位置グループの情報を、追加したマーカ追跡レコード410に対して書き込む。
【0072】
具体的には、追加したマーカ追跡レコード410に対して、フレームtのマーカ検知位置グループ履歴420に、非合致マーカ検知位置グループに含まれるマーカ検知位置を書き込む。また、マーカ検知位置が二つの場合はフレームtのマーカ点滅履歴430に「点灯」を書き込み、マーカ検知位置が一つの場合はフレームtのマーカ点滅履歴430に「消灯」を書き込む。
【0073】
ステップS305では、マーカ追跡レコード410のうち、マーカID402が未決定のものがあれば、それに対応したマーカ点滅履歴430を参照して、点灯と消灯の時系列パタン(点滅パタン)に基づいてマーカID候補を算出する。
【0074】
点灯と消灯の時系列パタン(点滅パタン)からIDを算出するには、例えば、松下らの方法 (松下 伸行, 日原 大輔, 後 輝行, 吉村 真一, 暦本 純一, “ID Cam: シーンとIDを同時に取得可能なスマートカメラ,” 情報処理学会論文誌, vol. 43, no. 12, pp. 3664-3674, 2002.) を利用することができる。松下らの方法は、フレームレートが200Hzのカメラを用いていたが、本発明の想定するフレームレート30Hzでも適用できる。
【0075】
続いて、全てのマーカID候補に対して処理が終了するまで、ステップS350からステップS351までの処理を繰り返す。
【0076】
ステップS306では、マーカID候補と同一のマーカID402を持つ、マーカID候補を算出したマーカ追跡レコード(以下、「元のマーカ追跡レコード」という)とは別のマーカ追跡レコード(以下、「同一マーカIDを持つマーカ追跡レコード」という)の有無を判定する。元のマーカ追跡レコードと、同一マーカIDを持つマーカ追跡レコードは、同じマーカ200を追跡していたことになる。
【0077】
ステップS306で同一マーカIDを持つマーカ追跡レコードがある場合は、ステップS307に進む。
【0078】
ステップS307では、元のマーカ追跡レコードを、同一マーカIDを持つマーカ追跡レコードに統合する。統合とは、元のマーカ追跡レコードに記載されたマーカ検知位置グループ履歴420やマーカ点滅履歴430を、同一マーカIDを持つマーカ追跡レコードのマーカ検知位置グループ履歴420やマーカ点滅履歴430に追記することである。
【0079】
例えば、元のマーカ追跡レコードのマーカ検知位置グループ履歴420やマーカ点滅履歴430が、フレームtからフレームt-nまで記載されていた場合、同一マーカIDを持つマーカ追跡レコードのマーカ検知位置グループ履歴420やマーカ点滅履歴430においては、フレームtからフレームt-nは空白であるから、そこに追記する。
【0080】
一方、ステップS306で同一マーカIDを持つマーカ追跡レコードがない場合は、ステップS308に進む。ステップS308では、算出したマーカID候補が、一次記憶装置102に格納されたマーカIDリスト600の割り当てID602のいずれかに合致するかを判定する。
【0081】
図7は、一次記憶装置102に格納されるマーカIDリストの一例を示す図である。
【0082】
マーカIDリスト600は、各マーカ200に割り当てたIDを割り当てID602として登録したリストである。また、各割り当てID602は、インデックス601によって区別されている。さらに、各割り当てID602は、第2の発光部211の固有の点滅パタンと紐づけられている。
【0083】
割り当てID602をマーカ200の二次記憶装置203に設定情報として書き込むことで、マーカ200のプロセッサ201は第2の発光部211を制御し、割り当てID602に紐づいた点滅パタンで第2の発光部211を発光させる。
【0084】
ステップS308で、算出したマーカID候補がマーカIDリスト600の割り当てID602のいずれかに合致する場合は、ステップS309に進む。ステップS309では、元のマーカ追跡レコードのマーカID402として、そのマーカID候補の値を書き込む。
【0085】
一方、ステップS308で、算出したマーカID候補がマーカIDリスト600の割り当てID602のいずれにも合致しない場合は、ステップS310に進む。ステップS310では、元のマーカ追跡レコードの作成において、何らかのエラーが起こっていたことになるから、元のマーカ追跡レコードを消去する。また、画像認識装置100のディスプレイ120に、エラーメッセージを表示する。
【0086】
全てのマーカID候補に対してステップS350からステップS351までの処理を終了した場合は、ステップS352に進む。
【0087】
ステップS352では、画像認識装置100のプロセッサ101は、一次記憶装置102に格納されたマーカ追跡リスト400に基づいて、画像認識装置100が検知したマーカ200の位置及びそのマーカID402をディスプレイ120に表示し、本処理を終了する。
【0088】
図8は、ディスプレイ120に表示される画面の一例を示す図である。
【0089】
図8では、ディスプレイ120に表示される画面800の一例として、マーカID402が5のマーカ200の位置801と、マーカID402が8のマーカ200の位置802が表示されている例を示している。
【0090】
プロセッサ101は、マーカ追跡リスト400の最新フレームのマーカ検知位置グループ履歴420と、そのマーカID402に基づいて、カメラ110が取得した入力フレームにおけるマーカ200の位置と、そのマーカ200のマーカID402を画面800に表示する。
【0091】
マーカ200を設置する人物1の名前(例えば「A」)や物体2の名称(例えば「ドリル5」)をマーカID402と紐づけて一次記憶装置102に予め登録しておくことにより、画面800に位置を検知した人物1の名前や物体2の名称を表示するようにしてもよい。
【0092】
実施例1によれば、マーカ200は、常時点灯する第1の発光部210と所定の点滅パタンで点滅する第2の発光部211とを備え、画像認識装置100は、第1の発光部210及び第2の発光部211のマーカ検知位置を抽出し、第2の発光部211の点滅パタンに基づいてマーカID候補を算出する。これにより、対象物を特定してその位置を追跡することができる。また、第1の発光部が常時点灯しているので、その位置を容易に追跡することができる。
【0093】
また、第1の発光部210及び第2の発光部211は、同一の色彩で発光するので、コストを抑えることができる。さらに、第1の発光部210及び第2の発光部211の色彩に、明るい色彩を採用することにより、マーカ200の検知を容易に行うことができる。
実施例2は、マーカ200の第1の発光部210と第2の発光部211が異なる色彩で発光する点で実施例1と異なる。そのため、実施例2では、第1の発光部210と第2の発光部211をマーカ200の上部に近接させて設置しても、画像認識装置100は、第1の発光部210と第2の発光部211の光を異なる光として検知することができる。第1の発光部210と第2の発光部211は、例えば、二色の色彩を備えた一つの素子で実装してもよい。
ステップS700で、プロセッサ101は、カメラ110が取得した入力フレームに対して、第1の発光部210の位置を抽出するため、第1の発光部210の色彩に応じた二値化処理を実施する。
例えば、第1の発光部210の色彩がRGBにおけるGであれば、入力フレームのRGBにおけるGチャンネルのみを抜き出して二値化処理を実施する。また、第1の発光部210の色彩がRGBにおけるGBが合成された色彩であれば、入力フレームのGBチャンネルのノルムを用いて二値化処理を実施する。
二値化処理によって、入力フレームにおいて、第1の発光部210が映った部位が抽出される。プロセッサ101は、抽出された部位を第1の発光部に基づくマーカ検知位置として抽出する。
同様にステップS701で、プロセッサ101は、カメラ110が取得した入力フレームに対して、第2の発光部211の位置を抽出するため、第2の発光部211の色彩に応じた二値化処理を実施する。
二値化処理によって、入力フレームにおいて、第2の発光部211のうち点灯しているものが映った部位が抽出される。プロセッサ101は、抽出された部位を第2の発光部に基づくマーカ検知位置として抽出する。
ステップS702で、プロセッサ101は、ステップS300で抽出したマーカ検知位置から、同じマーカ200に属する第1の発光部210と第2の発光部211のマーカ検知位置をグルーピングする。
ステップS700で抽出した第1の発光部210に基づくマーカ検知位置から第2のグルーピング用所定範囲に、ステップS701で抽出した第2の発光部211に基づくマーカ検知位置がある場合には、それらのマーカ検知位置をグルーピングしてマーカ検知位置グループとする。一方、ステップS700で抽出した第1の発光部210に基づくマーカ検知位置から第2のグルーピング用所定範囲に、ステップS701で抽出した第2の発光部211に基づくマーカ検知位置がない場合は、そのマーカ検知位置のみをマーカ検知位置グループとする。
点滅している第2の発光部211が点灯状態のときに撮像された入力フレームでは、マーカ検知位置グループに二つのマーカ検知位置が含まれる。一方、第2の発光部が消灯状態のときに撮像された入力フレームでは、マーカ検知位置グループに一つのマーカ検知位置が含まれる。
ここで第2のグルーピング用所定範囲は、同じマーカ200に属する第1の発光部及び第2の発光部のマーカ検知位置をグルーピングするために設定された範囲である。二つのマーカ検知位置が第2のグルーピング用所定範囲内にあれば、この二つのマーカ検知位置は一つのマーカ200に属する第1の発光部及び第2の発光部のマーカ検知位置であると判別される。
第2のグルーピング用所定範囲は、同じマーカ200に属する第1の発光部210と第2の発光部211との画面上での最大の距離と、同じ値に設定するとよい。この値は、カメラ110の画角と、第1の発光部210と第2の発光部211の、画像認識装置100のカメラ110からの距離の最小値が定まれば、一般的な三次元幾何学をもちいて算出できる。
ここで、実施例2では、第1の発光部210と第2の発光部211は異なる色彩で発光するので、第1の発光部210と第2の発光部211をマーカ200の上部に近接させて設置しても、画像認識装置100は、第1の発光部210と第2の発光部211の光を異なる光として検知することができる。そのため、実施例1における第1のグルーピング用所定範囲と比較して、第2のグルーピング用所定範囲は非常に小さく設定することが可能となる。
このことから、実施例2は、実施例1と比べて、下記のような利点がある。すなわち、実施例1では、画像認識装置100からマーカ200までの距離が小さくなるような場合、第1のグルーピング用所定範囲が入力フレームの大部分を占めてしまった。
実施例2では第2のグルーピング用所定範囲がより小さいため、そのようなことが起こりづらい。つまりは、実施例2では、実施例1と比較して、画像認識装置100からマーカ200までの距離をより近くすることができ、カメラ110の設置位置の自由度を向上させることができる。
なお、第1の発光部210と第2の発光部211を、二色の色彩を備えた一つの素子で実装した場合には、第1の発光部210と第2の発光部211は同じ位置になるので、ステップS702のグルーピングの処理は必要ない。
実施例2によれば、マーカ200は、常時点灯する第1の発光部210と所定の点滅パタンで点滅する第2の発光部211とを備え、画像認識装置100は、第1の発光部210及び第2の発光部211のマーカ検知位置を抽出し、第2の発光部211の点滅パタンに基づいてマーカID候補を算出する。これにより、対象物を特定してその位置を追跡することができる。また、第1の発光部が常時点灯しているので、その位置を容易に追跡することができる。
また、第1の発光部210と第2の発光部211は異なる色彩で発光するので、画像認識装置100からマーカ200までの距離をより近くすることができ、カメラ110の設置位置の自由度を向上させることができる。
さらに、第1の発光部210及び第2の発光部211の色彩に、明るい色彩を採用することにより、マーカ200の検知を容易に行うことができる。さらに、第2の発光部211が発光する光に、不可視光を採用することより、光の点滅による不快感を低減することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。