JP6372149B2 - 表示制御装置、表示制御方法および表示制御プログラム - Google Patents

表示制御装置、表示制御方法および表示制御プログラム Download PDF

Info

Publication number
JP6372149B2
JP6372149B2 JP2014092303A JP2014092303A JP6372149B2 JP 6372149 B2 JP6372149 B2 JP 6372149B2 JP 2014092303 A JP2014092303 A JP 2014092303A JP 2014092303 A JP2014092303 A JP 2014092303A JP 6372149 B2 JP6372149 B2 JP 6372149B2
Authority
JP
Japan
Prior art keywords
information
captured image
marker
image
imaging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014092303A
Other languages
English (en)
Other versions
JP2015211363A (ja
Inventor
伸之 原
伸之 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014092303A priority Critical patent/JP6372149B2/ja
Priority to US14/694,331 priority patent/US20150310617A1/en
Publication of JP2015211363A publication Critical patent/JP2015211363A/ja
Application granted granted Critical
Publication of JP6372149B2 publication Critical patent/JP6372149B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N23/635Region indicators; Field of view indicators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、表示制御装置、表示制御方法および表示制御プログラムに関する。
現実空間を撮像した画像上の所定位置に、仮想的な画像を重畳して表示する拡張現実感(Augmented Reality,AR)技術が知られている。このAR技術は、現在、工場などの作業空間において、作業内容や作業対象箇所などを示す作業支援情報を撮像画像上に重畳表示することによって、作業者の作業を支援する用途で普及しつつある。例えば、原子力発電プラントにおける機器の解体作業を支援するために使用することが提案されている。
撮像画像に基づいて作業支援情報を重畳表示する方法は、現実空間上の既知の位置に配置された既知の形状のマーカを使用する“マーカベース方式”と、このようなマーカを使用しない“マーカレス方式”とに大別される。マーカベース方式では、例えば、作業者によってマーカを含む領域が撮像されると、撮像画像から認識されたマーカの座標情報に基づいてカメラの位置および姿勢(撮像方向)が判定される。そして、判定された位置および姿勢に応じた画像上の適切な位置に、マーカに対応付けられた作業支援情報が重畳表示される。一方、マーカレス方式では、例えば、撮像画像から未知の特徴点の情報が抽出され、抽出された特徴点の情報を基にカメラの位置および姿勢が判定される。
また、AR技術による画像重畳に関する技術の例として、直前の期間での角速度の計測結果に基づいてカメラ位置姿勢を推定し、撮像画像からのマーカの検出結果と推定されたカメラ位置姿勢との関係に基づいて、推定されたカメラ位置姿勢を修正する技術が提案されている。
また、画像認識技術の例として、撮像画像から抽出した特徴部分の特徴量を抽出し、各特徴部分の物理的性質と撮像時の照明条件とから各特徴量の重要度を決定し、各特徴量を重要度で重み付けした値に基づいて対象物の位置姿勢を認識する技術が提案されている。
特開2005−33319号公報 特開2011−175600号公報
石井裕剛、外5名、「拡張現実感を利用した原子力発電プラントの解体支援手法の提案と評価」、日本バーチャルリアリティ学会論文誌Vol.13,No.2、2008年6月30日、p.290−291
ところで、作業空間に配置したマーカの近傍をカメラで撮像した際に、撮像画像からマーカを認識できない場合がある。マーカベース方式の重畳表示処理では、撮像画像からマーカを認識できない場合には、作業支援情報の重畳位置を決定できなくなり、その結果、作業支援情報を重畳表示できなくなってしまう。
マーカを認識できなくなった場合の対策としては、例えば、マーカレス方式に切り替える方法が考えられる。しかし、マーカレス方式では、初期状態での撮像位置および撮像姿勢の推定精度が、それ以降の重畳位置精度に影響を与える。マーカを認識できない状況では、初期状態での撮像位置および撮像姿勢の推定精度が低下する場合があり、その結果、重畳位置精度が低下することがあり得る。
1つの側面では、本発明は、マーカを認識できない場合でも情報の重畳表示位置を正確に決定することが可能な表示制御装置、表示制御方法および表示制御プログラムを提供することを目的とする。
1つの案では、撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御装置が提供される。この表示制御装置は、蓄積処理部および表示位置決定部を有する。蓄積処理部は、撮像画像からのマーカの認識に成功したとき、この撮像画像と他の画像との類似度の計算に使用される、この撮像画像に関する第1の情報と、この撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録する。表示位置決定部は、第1の撮像画像からのマーカの認識に失敗したとき、記憶装置に記録された撮像画像ごとの第1の情報に基づいて、第1の撮像画像と類似する第2の撮像画像に対応する第2の情報を記憶装置から抽出し、抽出した第2の情報に基づいて、第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する。
また、1つの案では、上記の表示制御装置と同様の処理が行われる表示制御方法が提供される。
さらに、1つの案では、上記の表示制御装置と同様の処理をコンピュータに実行させる表示制御プログラムが提供される。
1つの側面では、マーカを認識できない場合でも情報の重畳表示位置を正確に決定できる。
第1の実施の形態に係る表示制御装置の構成例および処理例を示す図である。 第2の実施の形態に係る端末装置のハードウェア構成例を示す図である。 端末装置の利用シーンの例を示す図である。 撮像画像に対する作業支援情報の重畳表示の例を示す図である。 マーカ座標系、カメラ座標系および画像座標系の例を示す図である。 回転行列について示す図である。 並進ベクトルについて示す図である。 端末装置が備える処理機能の構成例を示すブロック図である。 比較画像情報データベースに記録される情報の構成例を示す図である。 端末装置の処理手順の例を示すフローチャート(その1)である。 端末装置の処理手順の例を示すフローチャート(その2)である。 端末装置の処理手順の例を示すフローチャート(その3)である。 第3の実施の形態に係る端末装置が備える処理機能の構成例を示すブロック図である。 比較画像情報データベースに記録される情報の構成例を示す図である。 情報蓄積制御部による分類処理の手順の例を示すフローチャートである。 第3の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。 ガイド枠の表示に伴う画面の例を示す図である。 第4の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。 第5の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る表示制御装置の構成例および処理例を示す図である。図1に示す表示制御装置1は、撮像画像から認識されたマーカの位置情報に基づいて、マーカを基準とした撮像位置および撮像姿勢を算出する。そして、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に、所定の作業支援情報を重畳表示させる。
例えば、表示制御装置1には、カメラと表示装置とが搭載され、表示制御装置1は、作業者によって携帯される。作業者は、マーカが配設された作業対象物を含む作業空間を撮像する。このとき、表示制御装置1は、撮像画像からマーカを認識し、その認識結果に基づいて、上記手順で撮像画像上に作業支援情報を重畳表示させる。
作業支援情報は、例えば、作業内容や作業の注意事項などの作業に関する情報を、仮想的な画像情報によって作業者に提示する情報である。作業者は、このような作業支援情報が重畳表示された画面を閲覧することにより、作業を正確に行うことができる。また、その作業効率が向上する。
また、上記手順により作業支援情報を重畳表示させる処理では、表示制御装置1は、撮像画像からマーカを認識できない場合には、撮像位置および撮像姿勢を算出できなくなり、その結果、作業支援情報を重畳表示させることができなくなる。表示制御装置1は、撮像画像からマーカが認識できない場合でも撮像画像上の正確な位置に作業支援情報を重畳表示できるようにするための処理機能として、蓄積処理部2および表示位置決定部3を有する。
蓄積処理部2は、上記のように撮像画像上に作業支援情報を重畳表示させる処理の間に、撮像画像からのマーカの認識に成功したとき、第1の情報5aと第2の情報5bを記憶装置4へ記録する。記憶装置4は、例えば、表示制御装置1の内部に搭載されていてもよいし、あるいは、表示制御装置1の外部に設けられていてもよい。
第1の情報5aは、マーカの認識に成功した撮像画像と他の画像との類似度の計算に使用される、この撮像画像に関する情報である。例えば、第1の情報5aには、撮像画像から得られた特徴点の位置および特徴量、または、撮像画像の画像データが含まれる。第2の情報5bは、撮像画像からのマーカの認識結果に基づく情報である。例えば、第2の情報5bには、撮像画像におけるマーカの位置情報、または、マーカの位置情報から算出された撮像位置および撮像姿勢が含まれる。
表示位置決定部3は、撮像画像からのマーカの認識に失敗したとき、次のような処理を行う。なお、ここでは、図1に示す撮像画像11aが撮像されたときに、マーカの認識に失敗したものとする。
表示位置決定部3は、記憶装置4に記録された、撮像画像ごとの第1の情報5aに基づいて、撮像画像11aと類似する撮像画像に対応する第2の情報5bを記憶装置4から抽出する。図1の例では、撮像装置11aに類似する過去の撮像画像として、画像12が特定されたものとする。この場合、表示位置決定部3は、画像12に対応する第2の情報5bを記憶装置4から抽出する。
なお、画像12には、撮像装置11aの撮像範囲に本来含まれているはずのマーカ21と同一のマーカ21が写っており、画像12からは過去にマーカ21が認識されたものとする。この場合、抽出された第2の情報5bは、画像12からのマーカ21の認識結果に基づく情報となる。
表示位置決定部3は、抽出した第2の情報5bに基づいて、撮像画像11aに対応する撮像位置および撮像姿勢を算出する。算出される撮像位置および撮像姿勢は、撮像画像11aに本来写っているはずのマーカ21を基準とした撮像位置および撮像姿勢を示す。そして、表示位置決定部3は、算出した撮像位置および撮像姿勢に基づいて、作業支援情報22の重畳表示位置を決定する。
このように、表示制御装置1は、過去にマーカを認識できた撮像画像の中から、マーカを認識できなかった撮像画像と類似する撮像画像を抽出する。そして、抽出した撮像画像に対応する第2の情報、すなわち、マーカの認識結果に基づく情報を用いて、作業支援情報22の重畳表示位置を決定する。これにより、撮像画像11aからマーカを認識できなくなった場合でも、撮像画像11a上の正確な位置に作業支援情報22を重畳表示させることができる。
特に、マーカを認識できなくなったときの表示制御装置1の上記処理は、マーカレス方式に切り替える方法と比較した場合、画像から抽出した自然特徴に基づいて撮像位置および撮像姿勢を直接算出しない点で、処理負荷が低い。さらに、マーカレス方式のように、初期状態での撮像位置および撮像姿勢の推定も必要にならない。このため、表示制御装置1によれば、マーカレス方式に切り替える方法と比較して、処理負荷を低減でき、作業支援情報の重畳表示位置の精度も向上させることができる。
〔第2の実施の形態〕
図2は、第2の実施の形態に係る端末装置のハードウェア構成例を示す図である。第2の実施の形態に係る端末装置100は、図2に示すような携帯型のコンピュータとして実現される。
図2に示す端末装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
プロセッサ101には、バス109を介して、RAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、端末装置サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、表示装置104、入力装置105、読み取り装置106、無線通信インタフェース107およびカメラ108がある。
HDD103は、端末装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
表示装置104は、プロセッサ101からの命令に従って、画像をその画面に表示する。表示装置104としては、液晶ディスプレイや、有機EL(ElectroLuminescence)ディスプレイなどがある。
入力装置105は、ユーザによる入力操作に応じた信号をプロセッサ101に送信する。入力装置105としては、例えば、表示装置104の表示面に配置されるタッチパネルや、タッチパッド、マウス、トラックボール、操作キーなどがある。
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
無線通信インタフェース107は、無線通信により他の装置との間でデータの送受信を行う。
カメラ108は、撮像素子によって得られた画像信号をデジタル化して、プロセッサ101に送信する。
以上のようなハードウェア構成によって、端末装置100の処理機能を実現することができる。
図3は、端末装置の利用シーンの例を示す図である。作業者200は、作業の対象とする作業対象物201が存在する作業空間において、端末装置100を携帯する。作業対象物201には、作業の段階ごとに、所定位置にマーカが貼付されている。図3の例では、2つのマーカ211,212が示されている。それぞれのマーカの外形の形状や大きさは同じであり、ここでは、各マーカは、長辺および短辺がそれぞれ同一の矩形であるとする。また、各マーカの外縁部は、同じ太さおよび同じ色の線によって縁取られているものとする。さらに、マーカの内部に表示された情報(内部パターン)は、マーカごとに異なっている。
端末装置100においては、例えば、表示装置104の表示面に対する裏面側に、カメラ108が取り付けられている。作業者200は、端末装置100を作業対象物201にかざして、マーカを含む作業対象の領域をカメラ108によって撮像する。すると、端末装置100は、撮像された画像からマーカを認識する。マーカの内部パターンがマーカごとに異なっていることから、端末装置100は、マーカの内部パターンの認識結果から、作業段階を特定することができる。端末装置100は、特定した作業段階に対応付けられた作業支援情報を読み出し、マーカの認識結果に基づいて、読み出した作業支援情報を撮像画像上の適切な位置に重畳して表示させる。
なお、図3では例として1つの作業対象物201のみが示されているが、作業対象物が複数存在し得ることは言うまでもない。
図4は、撮像画像に対する作業支援情報の重畳表示の例を示す図である。前述のように、端末装置100は、基本的に、撮像画像からのマーカの認識結果に基づいて、そのマーカに対応付けられた作業支援情報を撮像画像上の適切な位置に重畳表示させる。すなわち、端末装置100は、通常、マーカベースAR技術を用いて作業支援情報の重畳表示処理を行う。
図4の上側に示す画像221は、マーカ213が貼付された作業対象物202を撮像することで得られた画像の例である。端末装置100は、画像221からマーカ213を認識する。このとき、端末装置100は、例えば、マーカ213の外形における4つの頂点の画像221上の座標を検出し、これらの頂点の座標に基づいてカメラ108による撮像位置および撮像姿勢を示す情報を算出する。以下、カメラ108による撮像位置および撮像姿勢を示す情報を、“撮像位置姿勢情報”と称する場合がある。
端末装置100は、マーカ213の内部の表示情報に基づいて作業段階を判定し、判定した作業段階に対応する作業支援情報を特定する。端末装置100は、特定した作業支援情報を、撮像位置姿勢情報から算出される画像221上の適切な位置に、重畳表示させる。図4の下側に示す画像222は、画像221に対して、マーカ213に対応する作業支援情報222a〜222dを重畳表示させた場合の例を示す。例えば、作業支援情報222aは、作業対象物202の所定部位(ハンドル)を作業者に回転させる方向を矢印の画像によって案内するものである。また、作業支援情報222b〜222dは、文字情報により作業の内容や作業に関連する情報を作業者に提示するものである。
ここで、マーカの中心を原点とした3次元の座標系を“マーカ座標系”と称することにする。端末装置100によって算出される撮像位置姿勢情報は、マーカ座標系における情報として表される。すなわち、撮像位置姿勢情報は、マーカの中心を基準として、どの位置からどのような方向でマーカを撮像しているかを示す情報である。また、作業支援情報を重畳表示させる位置の情報は、マーカ座標系における位置情報として端末装置100内に記憶されている。
撮像画像に写るマーカの形状や大きさは、撮像位置姿勢情報に応じて変化する。このことから、端末装置100は、撮像画像におけるマーカの頂点の位置に基づいて、撮像位置姿勢情報を算出することができる。そして、端末装置100は、マーカ座標系が示す空間上の指定された位置に作業支援情報が存在すると仮定して、算出した撮像位置姿勢情報が示す位置からそれらの作業支援情報を撮像した場合に、作業支援情報が撮像画像上のどの位置にどのような形状で写るかを算出する。これにより、マーカに対するカメラ108の位置や撮像方向に応じて、撮像画像上の適切な位置に作業支援情報を重畳表示させることができる。
ここで、図5〜図7を用いて、撮像画像上に作業支援情報を重畳表示させる際の位置の算出方法について説明する。
図5は、マーカ座標系、カメラ座標系および画像座標系の例を示す図である。図5において、マーカ214の中心を原点とし、マーカ214の面をX−Y平面としたマーカ座標系を、行列[Xmmm 1]Tと定義する。なお、右上に付した“T”は転置行列を示す。また、カメラの焦点を原点とし、撮像方向の中心をZ軸とする3次元の“カメラ座標系”を、行列[Xccc 1]Tと定義する。さらに、撮像画像の左上を原点とする2次元の“画像座標系”を、行列[xcc 1]Tと定義する。なお、カメラ座標系におけるZ軸は、画像座標系における画像平面231と、撮像画像の中心点232において直交する。
撮像画像におけるマーカの位置情報は、画像座標系の位置情報として表現される。また、前述のように、マーカの位置情報に基づいて判定される、カメラによる撮像位置姿勢情報は、マーカ座標系におけるカメラの焦点の位置と、姿勢(撮像方向)として表すことができる。
マーカ座標系とカメラ座標系との間の座標変換は、例えば、次の式(1)によって定義される。
Figure 0006372149
式(1)において、Rは3行3列の回転行列を示す。また、Tは並進ベクトルを示し、3行1列の行列として表される。
次に、カメラ座標系から画像座標系への射影変換は、次の式(2)によって定義される。また、式(2)における行列Pは、式(3)のように表される。
Figure 0006372149
式(2)のhはスカラーとする。また、行列Pは、カメラキャリブレーションから求められる焦点距離および画角から計算される内部パラメータを示す。行列Pは、例えば、既知の大きさのマーカを既知の距離に設置した状態でマーカを撮像して得られる撮像画像から、あらかじめ求められる。
図6は、回転行列について示す図である。撮像画像におけるマーカ214の4つの頂点の座標から、マーカ214の4つの辺それぞれを示す直線li(ただし、i=1,2,3,4)が求められる。
ここで、例えば、マーカ214の辺l1,l2のそれぞれについて以下の式(4−1),(4−2)で与えられたとする。
1:a1c+b1c+c1=0 ・・・(4−1)
2:a2c+b2c+c2=0 ・・・(4−2)
式(2),(3),(4−1),(4−2)から、次の式(5−1),(5−2)が得られる。
111c+(a112+b122)Yc+(a113+b123+c1)Zc=0・・・(5−1)
211c+(a212+b222)Yc+(a213+b223+c2)Zc=0・・・(5−2)
式(5−1)は、直線l1に対応するマーカ214の辺と、カメラ108の焦点234とを通る面S1を表す。また、式(5−2)は、直線l2に対応するマーカ214の辺と、カメラ108の焦点234とを通る面S2を表す。式(5−1),(5−2)から、面S1,S2のそれぞれの法線ベクトルn1,n2を示す式が求められる。そして、直線l1に対応する空間中のマーカ214の辺の方向ベクトルをV1とおくと、方向ベクトルは、法線ベクトルn1,n2の外積から与えられる。
直線l3,l4についても上記と同様の計算を行うことで、方向ベクトルV2が求められる。さらに、方向ベクトルV1,V2を含む平面に対して直交する方向ベクトルV3が求められる。上記の式(1)の回転行列Rは、R=[V123]として求められる。
図7は、並進ベクトルについて示す図である。図7では、マーカ214を、その中心点がカメラ座標系の原点と一致するようにカメラ座標系に配置し(ステップS1)、この状態からマーカ214を回転行列Rによって回転させ、さらに並進ベクトルTによって並進させた後(ステップS2)、行列Pによって画像平面231の撮像画像上に射影する(ステップS3)ことを考える。
マーカ座標系におけるマーカ214の3次元座標をMi(ただし、i=1,2,3,4)、撮像画像上のマーカ214の頂点の2次元座標をmi(ただし、i=1,2,3,4)とする。マーカ座標系におけるマーカ214の頂点を行列[MixiyizT(ただし、i=1,2,3,4)と表し、撮像画像上のマーカ214の頂点を行列[mixiyT(ただし、i=1,2,3,4)と表すと、上記の式(1),(2)を用いて次の式(6)が得られる。
Figure 0006372149
式(6)を、カメラ座標系におけるマーカ214の一辺の長さを用いて展開し、さらにこのような処理を各辺について行うことで、(tx,ty,tz)を未知数とする連立一次方程式が得られる。この連立一次方程式を解くことで、並進ベクトルT[txyzTが求められる。
以上の図6,図7で説明した手順により、式(1)の回転行列Rおよび並進ベクトルTを、撮像画像上のマーカ214の4つの頂点の座標から求めることができる。
次に、上記の式(2)に基づき、画像座標系における点の座標は、カメラ座標系の点の座標を用いて次の式(7−1),(7−2)のように表される。
Figure 0006372149
作業支援情報を示す画像データの位置情報は、マーカ座標系の座標によって定義されて、端末装置100に記憶されている。従って、記憶された作業支援情報の座標情報を、式(1)を用いてカメラ座標系の座標情報に変換した後、さらに式(7−1),(7−2)を用いて画像座標系の2次元座標情報に変換することで、撮像画像における作業支援情報の表示位置を算出することができる。
なお、端末装置100にあらかじめ記憶される、作業支援情報を示すデータは、例えば、表示される形状の内部における座標ごとの画像データ(例えばRGBデータ)と、マーカ214の中心を基準とした作業支援情報の表示位置情報とを含む。
これらのうち、作業支援情報の表示位置情報は、例えば、マーカ座標系における3次元座標として記憶されてもよい。また、作業支援情報の表示位置情報は、並進成分および回転軸成分の各値として記憶されてもよい。以下、後者の場合について述べる。
作業支援情報のマーカ座標系での表示位置を(Xm,Ym,Zm,1)と表し、画像データを(x,y,z,1)と表すと、次の式(8)が成り立つ。
[Xmmm 1]T=M[x y z 1]T ・・・(8)
Mを下記の式(9)に示す変換行列とすると、作業支援情報の並進成分p(tx,ty,tz)および回転軸成分(回転角)(l,m,n,θ)は、それぞれ下記の式(10),(11)によって表される。
Figure 0006372149
ところで、端末装置100は、上記のようにマーカの認識結果に基づいて情報の重畳表示処理を行う場合には、撮像画像からマーカを認識できなくなると、撮像位置姿勢情報を算出できなくなり、その結果、情報を重畳表示できなくなる。
マーカを認識できないケースとしては、例えば、作業中に発生した汚れがマーカに付着するケースや、照明光が当たりにくい影の位置にマーカが配置されているケースが考えられる。これらのケースでは、汚れが付着したマーカを交換する、あるいは、マーカの周囲に明暗差が生じないようにマーカ周囲の環境を整備するといった問題の解決方法が考えられるが、いずれの方法も早急に対処できないという問題がある。
また、撮像画像からマーカを認識できなくなった場合に、マーカレス方式に切り替えるという方法も考えられる。しかしながら、マーカレス方式は、マーカベースARと比較して処理負荷が大きい。また、マーカレス方式では、様々な撮影位置や姿勢に対応し、かつ環境変化へのロバスト性を高くするためには、大量のテンプレート情報を用意する必要がある。このため、マーカベース方式と同等の重畳位置精度を維持しようとすると、装置の開発・製造コストが増大してしまうことから、マーカレス方式に切り替えたときにマーカベース方式と同等の重畳位置精度を維持することは、現実的には難しい。
さらに、マーカレス方式では、初期状態での撮像位置および撮像姿勢の推定が行われる。初期状態での撮像位置および撮像姿勢の推定は、その推定精度がそれ以降の重畳位置精度に影響を与えるため、高精度に行われる必要がある。そこで、初期状態での撮像位置および撮像姿勢をマーカの認識結果を基に行う方法があるが、現在の撮像画像からマーカを認識できない状況ではこの方法を利用できない。また、直近に認識されたマーカの認識結果を用いる方法も考えられるが、マーカ認識時の環境や条件によって認識結果を誤る場合があり、撮像位置および撮像姿勢の推定精度が低下する可能性がある。
そこで、本実施の形態では、端末装置100は、マーカの認識に成功した撮像画像からのマーカ認識結果や特徴量の情報を、記憶装置に蓄積していく。また、端末装置100は、マーカの認識に失敗した場合、記憶装置に蓄積された特徴量の情報と、現画像から抽出した特徴量の情報とを比較して、マーカ認識に成功した過去の撮像画像のうち現画像と類似する画像を特定する。そして、端末装置100は、特定した画像からのマーカ認識結果を記憶装置から取得し、取得したマーカ認識結果を用いて現画像に対応する撮像位置姿勢情報を推定し、作業支援情報の重畳表示位置を決定する。このように、端末装置100は、マーカ認識に成功した過去の撮像画像のうち、現画像に類似する画像からのマーカ認識結果を用いることで、作業支援情報の重畳表示位置を精度よく決定することができる。
図8は、端末装置が備える処理機能の構成例を示すブロック図である。
端末装置100は、撮像画像取得部111、マーカ認識部112、撮像位置姿勢推定部113、重畳表示制御部114、情報蓄積制御部115、比較画像情報選択部116および撮像位置姿勢推定部117を有する。これらの各ブロックの処理は、例えば、プロセッサ101が所定のプログラムを実行することで実現される。
また、端末装置100内の記憶装置(例えば、HDD103)には、マーカ画像データベース(DB)120、作業支援情報データベース130および比較画像情報データベース140が記憶される。
撮像画像取得部111は、カメラ108から撮像画像の画像データを取得する。
マーカ画像データベース120には、マーカの認識処理で使用されるマーカのテンプレート画像が格納される。マーカ画像データベース120には、内部パターンが互いに異なる複数のマーカのテンプレート画像が格納されており、各テンプレート画像は1つの作業段階に対応している。以下、各作業段階は作業IDによって識別され、マーカ画像データベース120では、テンプレート画像がそれぞれ個別の作業IDに対応付けられているものとする。
マーカ認識部112は、マーカ画像データベース120内のテンプレート画像を用いて、撮像画像取得部111によって取得された撮像画像からマーカを認識する。マーカ認識部112は、例えば、撮像画像からマーカの輪郭を抽出することでマーカを認識し、さらに、テンプレート画像とのマッチングによりマーカの内部パターンを認識する。その結果、マーカ認識部112は、撮像画像におけるマーカの4つの頂点の座標情報と、認識された内部パターンに対応する作業IDとを出力する。
撮像位置姿勢推定部113は、マーカ認識部112によって認識されたマーカの4つの頂点の座標情報に基づいて、撮像位置姿勢情報を算出する。撮像位置姿勢情報は、前述のように、マーカ座標系における、マーカの中心を基準としたカメラ108の位置および姿勢(撮像方向)を示す情報である。
作業支援情報データベース130には、撮像画像に重畳表示する作業支援情報を示すデータが格納される。前述のように、作業支援情報を示すデータは、例えば、表示される形状の内部における座標ごとの画像データと、作業支援情報の表示位置情報とを含む。作業支援情報の表示位置情報は、対応するマーカの中心を基準としたマーカ座標系の値として定義される。
作業支援情報を示すデータは、作業IDに対応付けられている。また、1つの作業IDに対して複数の作業支援情報を示すデータが対応付けられていてもよい。
重畳表示制御部114は、マーカ認識部112によって認識された作業IDを、撮像位置姿勢推定部113を介して取得し、作業支援情報データベース130から、取得した作業IDに対応する作業支援情報を特定する。重畳表示制御部114は、撮像位置姿勢推定部113によって算出された撮像位置姿勢情報に基づいて、特定した作業支援情報の撮像画像における表示位置を算出し、算出した表示位置に撮像位置姿勢情報を表示させる。
なお、撮像画像からマーカが認識できない期間では、重畳表示制御部114は、撮像位置姿勢情報を撮像位置姿勢推定部113ではなく撮像位置姿勢推定部117から取得する。
情報蓄積制御部115は、マーカ認識部112が撮像画像からのマーカの認識に成功した場合に、その撮像画像に関する情報を比較画像情報データベース140に記録する。比較画像情報データベース140に記録される情報には、例えば、認識された作業ID、撮像画像から抽出された特徴点の位置と特徴量、認識されたマーカの位置情報が含まれる。
これ以後、比較画像情報データベース140に関連情報が記録された、マーカ認識に成功した撮像画像を、“比較画像”と呼ぶ場合がある。
比較画像情報選択部116は、マーカ認識部112が撮像画像からのマーカの認識に失敗した場合に、比較画像情報データベース140から、撮像位置姿勢情報の推定に使用するために適切な比較画像の情報を選択する。以下、マーカの認識に失敗した撮像画像を、“認識失敗画像”と呼ぶ場合がある。
比較画像情報選択部116は、具体的には、次のような処理を行う。まず、比較画像情報選択部116は、比較画像データベース140に記録された特徴点の位置および特徴量に基づいて、認識失敗画像と比較画像との類似度を算出する。比較画像情報選択部116は、認識失敗画像との類似度が所定の条件を満たす比較画像を特定する。
次に、比較画像情報選択部116は、特定された比較画像の中から、比較画像内の特徴点と認識失敗画像から抽出された特徴点との対応関係を評価し、評価結果が所定の条件を満たす比較画像を選択する。この評価としては、比較画像内の特徴点の座標を認識失敗画像内の特徴点の座標に変換する変換行列が用いられる。
比較画像情報選択部116は、特定された比較画像および認識失敗画像のそれぞれの特徴点の座標から、変換行列を算出する。変換行列としては、後述するホモグラフィー変換行列を用いることができる。比較画像情報選択部116は、比較画像内の特徴点の座標を変換行列によって変換した変換結果を、認識失敗画像の対応する特徴点の座標と比較し、これらの特徴点間の距離に基づいて変換精度を評価する。
比較画像情報選択部116は、類似度を用いて特定された比較画像の中から、変換精度の評価値が所定の条件を満たす比較画像を選択する。比較画像情報選択部116は、選択した比較画像に対応するマーカの位置情報を比較画像情報データベース140から読み出し、撮像位置姿勢推定部117に出力する。
撮像位置姿勢推定部117は、比較画像情報選択部116から出力されたマーカの位置情報に基づいて、撮像位置姿勢推定部113と同様の手順で撮像位置および撮像姿勢を算出し、重畳表示制御部114に出力する。
図9は、比較画像情報データベースに記録される情報の構成例を示す図である。
比較画像情報データベース140には、作業IDごとのレコード141が設けられる。各レコード141には、作業IDに対応づけて1つ以上の比較画像情報が登録される。比較画像情報は、比較画像(すなわち、マーカ認識に成功した撮像画像)のそれぞれに対応する情報である。
各比較画像情報には、画像ID、マーカ位置情報および複数の特徴点情報が登録される。画像IDは、比較画像を識別する情報である。マーカ位置情報は、比較画像から認識されたマーカについての4つの頂点の座標を含む。マーカ位置情報としては、マーカ認識部112によって認識された情報が登録される。特徴点情報は、比較画像から抽出された特徴点の座標と特徴量とを含む。特徴点の座標および特徴量は、情報蓄積制御部115によって比較画像から検出される。
次に、端末装置100の処理についてフローチャートを用いて説明する。図10〜図12は、端末装置の処理手順の例を示すフローチャートである。
[ステップS11]撮像画像取得部111は、カメラ108から撮像画像の画像データを取得する。マーカ認識部112は、マーカ画像データベース120内のテンプレート画像を用いて、撮像画像取得部111によって取得された撮像画像からのマーカ認識処理を行う。
[ステップS12]撮像画像取得部111がマーカの認識に成功したかが判定される。マーカの認識に成功した場合には、ステップS13の処理が実行される。また、マーカの認識に失敗した場合には、ステップS21の処理が実行される。
[ステップS13]撮像位置姿勢推定部113は、マーカ認識部112からマーカの4つの頂点の座標情報を取得する。撮像位置姿勢推定部113は、取得した座標情報を用いて撮像位置姿勢情報を算出する。なお、算出される撮像位置姿勢情報とは、前述した回転行列Rおよび並進ベクトルTに対応する。
[ステップS14]重畳表示制御部114は、マーカ認識部112によって認識された作業IDを、撮像位置姿勢推定部113を介して取得し、作業支援情報データベース130から、取得した作業IDに対応する作業支援情報を特定する。重畳表示制御部114は、撮像位置姿勢推定部113によって算出された撮像位置姿勢情報に基づいて、特定した作業支援情報の撮像画像における表示位置を、前述の式(1),(7−1),(7−2)を用いて算出する。重畳表示制御部114は、撮像画像における算出した表示位置に、撮像位置姿勢情報を表示させる。
[ステップS15]情報蓄積制御部115は、比較画像(すなわち、マーカの認識に成功した撮像画像)のデータと、マーカ位置情報と、認識された作業IDとを、マーカ認識部112から取得する。情報蓄積制御部115は、比較画像情報データベース140における、取得した作業IDに対応するレコード141に、取得したマーカ位置情報を登録する。また、情報蓄積制御部115は、取得した比較画像から特徴点を抽出し、抽出された特徴点の位置情報および特徴情報を、同じレコード141に登録する。
なお、ステップS15の処理は、ステップS14またはステップS13の処理の前に実行されてもよい。また、ステップS15の処理は、ステップS13,S14の処理と並列に実行されてもよい。さらに、ステップS15の処理は、例えば、次のように実行されてもよい。情報蓄積制御部115は、ステップS15の処理のうち作業IDとマーカ位置情報の登録処理を、ステップS12で認識成功と判定されたことを契機として実行する。また、情報蓄積制御部115は、その後の任意のタイミングで、比較画像からの特徴点の抽出処理と、抽出された特徴点の位置情報および特徴情報の登録処理とを行う。
次に、図11,図12を用いて、マーカを認識できなかった場合の処理について説明する。マーカを認識できなかった場合の処理は、認識失敗画像に類似する比較画像を抽出する処理(図11)と、抽出された比較画像と認識失敗画像との間の座標変換精度を評価して、撮像位置姿勢情報を推定するために最適な比較画像を選別する処理(図12のステップS31〜S34)とを含む。
[ステップS21]マーカ認識部112がマーカの認識に失敗すると、比較画像情報選択部116は、マーカの認識に失敗したことを通知する情報と、確認ボタンへの操作を求める情報とを、表示装置104に表示させる。例えば、表示装置104がタッチパネル式の場合、表示装置104の画面に確認ボタンが表示される。作業者による確認ボタンの押下操作が検知された場合、ステップS22の処理が実行される。
なお、ステップS22以後の処理では、ステップS11で取得された撮像画像が、“認識失敗画像”として処理の対象となってもよい。ただし、確認ボタンへの操作を待つことによりステップS11からある程度時間が経過していることから、認識失敗画像が次のように設定されてもよい。比較画像情報選択部116は、確認ボタンの押下操作が検知されたとき、撮像画像取得部111から新たな撮像画像を取得する。ステップS22以後の処理では、このとき取得された撮像画像が認識失敗画像として処理の対象となる。
[ステップS22]比較画像情報選択部116は、現在の作業段階を示す作業IDを特定する。
例えば、端末装置100が作業の進捗状況を管理する機能を備えている場合、ステップS22では、作業が完了した作業段階の次の作業段階を示す作業IDが特定される。また、作業IDが作業者の入力操作によって入力されてもよい。
[ステップS23]比較画像情報選択部118は、認識失敗画像から特徴点を複数抽出する。比較画像情報選択部118は、抽出された特徴点の位置および特徴量を、例えばRAM102に一時的に記録する。
[ステップS24]比較画像情報選択部118は、比較画像情報データベース140を参照して、ステップS22で特定された作業IDに対応付けられた比較画像の中から1つを選択する。実際には、比較画像情報データベース140における、特定された作業IDに対応するレコード141から、比較画像を示す画像IDが1つ選択される。
[ステップS25]比較画像情報選択部118は、ステップS24で選択した比較画像と、認識失敗画像とのマッチングを行う。
具体的には、比較画像情報選択部118は、ステップS23で選択した画像IDに対応付けられた特徴点情報を比較画像情報データベース140から読み出す。比較画像情報選択部118は、読み出した特徴点情報が示す比較画像の特徴点と、ステップS23で認識失敗画像から抽出された特徴点とのマッチング処理を行う。マッチング処理では、例えば、各画像内での特徴点の位置関係から、画像間で対応する特徴点のペアが特定され、特定されたペア内の各特徴点の特徴量の差分が閾値Ta以内かが判定される(ただし、Taは0より大きい)。位置関係から特徴点のペアとして特定され、そのペア内の各特徴点の特徴量の差分が閾値Ta以内である場合に、1組のマッチングに成功したと判定される。
[ステップS26]比較画像情報選択部118は、マッチング結果を例えば次のような2つの判定条件と比較する。第1の判定条件としては、認識失敗画像から抽出された特徴点の総数に対する、マッチングに成功した組数の割合が、閾値Tbより大きいかが判定される(ただし、Tbは0より大きく1以下)。第2の判定条件としては、マッチングに成功した組数が閾値Tcより大きいかが判定される(ただし、Tcは0より大きい)。
比較画像情報選択部118は、ステップS24で選択した比較画像を用いたマッチング結果が、上記の2つの条件を両方とも満たすか否かを判定する。
[ステップS27]比較画像情報選択部118は、比較画像情報データベース140に情報が登録された、該当作業IDに対応する比較画像を、すべて選択済みかを判定する。比較画像がすべて選択済みである場合には、ステップS28の処理が実行される。一方、未選択の比較画像がある場合には、ステップS24の処理が実行される。
[ステップS28]比較画像情報選択部118は、ステップS26に示した判定条件を満たす比較画像を1つ以上抽出できたかを判定する。判定条件を満たす比較画像を1つ以上抽出できた場合には、ステップS31の処理が実行される。一方、判定条件を満たす比較画像を1つも抽出できなかった場合には、処理が終了する。後者の場合、例えば、比較画像情報選択部118は、「マーカ周辺の撮影をやり直して下さい」といった指示情報を表示装置104に表示させてもよい。
[ステップS31]比較画像情報選択部118は、ステップS26に示した判定条件を満たす比較画像の中から1つを選択する。実際には、比較画像を示す画像IDが選択される。
[ステップS32]比較画像情報選択部118は、選択された比較画像と認識失敗画像との間でマッチングに成功した特徴点のペアを用いて、変換行列Hを算出する。この変換行列Hは、比較画像上の座標を認識失敗画像上の座標に変換するためのホモグラフィー行列である。
変換行列Hは、次の式(12)のように定義される。
Figure 0006372149
変換行列Hが、比較画像上の座標値Pr(xr,yr)を認識失敗画像上の座標値Pw(xw,yw)に変換するものとすると、PrとPwとの関係は、射影変換の一般式を用いて次の式(13−1)で表すことができる。
sPr=HPw ・・・(13−1)
式(13−1)のパラメータsは、スケーリングの不定性に基づくスケーリングファクタを表している。この式(13−1)をxw,ywについて整理すると、次の式(13−2),(13−3)が求められる。
w=(H11r+H12r+H13)/(H31r+H32r+H33) ・・・(13−2)
w=(H21r+H22r+H23)/(H31r+H32r+H33) ・・・(13−3)
ここで、行列Hはスカラーによる倍率の自由度があるため8自由度となり、このことからH33=1とする。未知数が8個であり、対応点1組ごとに方程式が生成できることから、少なくとも4組の特徴点ペアの座標が得られれば未知数は一意に定まる。
マッチングに成功したn組の特徴点ペアが得られたものとし、比較画像上のi番目の特徴点の座標をPri(xri,yri)、これに対応する認識失敗画像上の特徴点の座標をPwi(xwi,ywi)とすると、PriとPwiとの間で次の式(14−1),(14−2)が得られる。
11ri+H12ri+H13−H31riwi−H32riwi=xwi ・・・(14−1)
21ri+H22ri+H23−H31riwi−H32riwi=ywi ・・・(14−2)
上記の式(14−1),(14−2)を4つの特徴点ペア(i=1,2,3,4)について得られた式は、行列形式で次の式(15)のように表現できる。
Figure 0006372149
riとPwiの座標値を代入するとともに逆行列を求めることで、H11,・・・,H32の値を求めることができる。また、5組以上の特徴点ペアが得られた場合には、最小二乗法を用いることで未知数を求めることができる。
[ステップS33]比較画像情報選択部116は、各特徴点ペアについて、比較画像上の特徴点の座標を算出された変換行列Hに代入し、変換後の座標と、認識失敗画像上の対応する特徴点の座標との距離Dを算出する。
[ステップS34]比較画像情報選択部116は、算出された距離Dが次のような2つの判定条件を満たすかを判定する。第1の判定条件としては、算出された距離Dの最小値Dminが閾値Tdmin以下であるかが判定される。第2の判定条件としては、算出された距離Dが閾値Tdlim以上となる特徴点ペアの組数が、閾値Tdnum以下であるかが判定される。なお、Tdmin,Tdlim,Tdnumはいずれも0より大きく、また、Tdmin<Tdlimの関係を満たす。
これらの第1の判定条件および第2の判定条件が両方とも満たされた場合、ステップS31で選択された比較画像が、撮像位置姿勢情報の算出に適すると判定される。この場合、ステップS35の処理が実行される。また、第1の判定条件と第2の判定条件の少なくとも一方が満たされない場合、ステップS31の処理が実行される。
なお、図示しないが、ステップS31〜S34が繰り返され、上記の第1の判定条件と第2の判定条件の両方を満たす比較画像が存在しなかった場合には、ステップS28で“No”と判定された場合と同様に処理が終了される。
[ステップS35]比較画像情報選択部116は、ステップS34で撮像位置姿勢情報の算出に適すると判定された比較画像に対応するマーカ位置情報を、比較画像情報データベース140から読み出す。比較画像情報選択部116は、読み出したマーカ位置情報、すなわち、4つの頂点の座標を、該当比較画像を用いてステップS32で算出した変換行列Hに代入して変換する。変換後の各頂点の座標は、認識失敗画像におけるマーカの各頂点の座標の推定位置を示す。
[ステップS36]ステップS35で変換されたマーカ位置情報は、撮像位置姿勢推定部117に入力される。撮像位置姿勢推定部117は、入力された変換後のマーカ位置情報を用いて、撮像位置姿勢情報を算出する。これにより、認識失敗画像に対応する撮像位置姿勢情報の推定値が算出される。
[ステップS37]ステップS36で算出された撮像位置姿勢情報と、ステップS22で特定された作業IDとが、重畳表示制御部114に入力される。重畳表示制御部114は、作業支援情報データベース130から、入力された作業IDに対応する作業支援情報を特定する。重畳表示制御部114は、入力された撮像位置姿勢情報に基づいて、特定した作業支援情報の撮像画像における表示位置を、前述の式(1),(7−1),(7−2)を用いて算出する。重畳表示制御部114は、撮像画像における算出した表示位置に、撮像位置姿勢情報を表示させる。
以上の図10〜図12の処理では、端末装置100は、マーカ認識に失敗した場合、比較画像情報データベース140に登録された比較画像の中から、特徴点同士のマッチングを行うことにより、認識失敗画像と類似する比較画像を抽出する。これ以後、類似する比較画像の情報を用いて撮像位置姿勢情報が算出されることで、作業支援情報の表示位置を正確に決定することができる。
また、端末装置100は、認識失敗画像と類似すると判定された比較画像の中から、さらに、座標を変換する変換行列Hを用いて座標変換精度を評価することで、撮像位置姿勢情報を推定するための適切な比較画像が選別される。このように選別された比較画像を用いて撮像位置姿勢情報が算出されることで、作業支援情報の表示位置の精度が向上する。
なお、以上の第2の実施の形態の端末装置100を、次のように変形することもできる。
情報蓄積制御部115は、ステップS15において、認識されたマーカの位置情報を比較画像情報データベース140に登録する代わりに、マーカの位置情報に基づいて算出された撮像位置姿勢情報を比較画像情報データベース140に登録する。登録される撮像位置姿勢情報としては、撮像位置姿勢推定部113によって算出された値が利用される。
また、図12のステップS35,S36の代わりに次のような処理が行われる。撮像位置姿勢推定部117は、撮像位置姿勢情報の算出に適すると判定された比較画像に対応する撮像位置姿勢情報を比較画像情報データベース140から読み出す。そして、撮像位置姿勢推定部117は、読み出した撮像位置姿勢情報を、ステップS32で算出した変換行列Hを用いて変換する。撮像位置姿勢推定部117は、変換後の撮像位置姿勢情報を重畳表示制御部114へ出力する。
このような処理でも、作業支援情報を正確な位置に重畳表示することができる。ただし、図10〜図12に記載の処理によれば、撮像位置姿勢情報を変換行列Hを用いて変換するより、マーカ位置情報を変換行列Hを用いて変換する方が、はるかに処理負荷が低い。さらに、マーカ位置情報を変換行列Hを用いて変換し、変換後のマーカ位置情報を用いて撮像位置姿勢情報を算出する方が、変換行列Hによる変換時における誤差が小さくなり、作業支援情報の重畳位置精度を高めることができる。
〔第3の実施の形態〕
次に、第3の実施の形態に係る端末装置について説明する。第3の実施の形態に係る端末装置は、第2の実施の形態に係る端末装置100の一部を変形したものである。以下、第2の実施の形態に係る端末装置100と異なる点について説明する。
図13は、第3の実施の形態に係る端末装置が備える処理機能の構成例を示すブロック図である。なお、図13では、図8と同じ構成要素には同じ符号を付して示し、その説明を省略する。
図13に示す端末装置100aは、図8に示した端末装置100の情報蓄積制御部115、比較画像情報選択部116および比較画像情報データベース140を、それぞれ情報蓄積制御部115a、比較画像情報選択部116aおよび比較画像情報データベース140aに置き換えたものである。
情報蓄積制御部115aは、図8の情報蓄積制御部115と同様、マーカ認識部112がマーカの認識に成功した場合に、その撮像画像に関する情報を比較画像情報データベース140aに登録する。ただし、情報蓄積制御部115aは、作業ID、特徴点の位置と特徴量、マーカの位置情報に加えて、撮像位置姿勢推定部113によって算出された撮像位置姿勢情報も、比較画像情報データベース140aに登録する。
また、情報蓄積制御部115aは、比較画像情報データベース140aに登録した、同一作業IDに対応する比較画像ごとの情報を、撮像位置姿勢情報に基づいて複数のグループに分類する。さらに、情報蓄積制御部115aは、各グループに属する比較画像の中から代表画像を選択する。
比較画像情報選択部116aは、マーカ認識部112が撮像画像からのマーカの認識に失敗した場合、まず、マーカの認識に失敗した認識失敗画像と、比較画像データベース140a内の各グループの代表画像とのマッチングを行う。そして、比較画像情報選択部116aは、マッチングに失敗した代表画像が属するグループを、処理対象から除外し、残りのグループに属する比較対象の中から、図8の比較画像情報選択部116と同様の処理により、撮像位置姿勢情報の推定に使用するために適切な比較画像の情報を選択する。
ここで、マーカが設置された設備の前の通路の幅や、隣接する設備との位置関係などの、マーカを設置した箇所の周囲環境や、マーカに対して設定した作業支援情報の表示位置により、撮像位置や撮像角度にはある程度の制約が生まれる。このことから、情報蓄積制御部115は、同一のマーカの認識に成功した過去の撮像画像(比較画像)を、マーカの認識結果を基に算出された撮像位置姿勢情報に基づいてグループに分類することが可能である。
また、比較画像情報選択部116による認識失敗画像と比較画像との比較処理では、比較する画像間で撮像位置姿勢情報の差異が大きい場合には、画像間での特徴点のマッチングに失敗する可能性が高い。このため、認識失敗画像との間で撮像位置姿勢情報の差異が大きい比較画像を、マッチングの処理対象にする必要はない。
このことから、比較画像情報選択部116aは、認識失敗画像と、分類された各グループの代表画像とのマッチングを行い、マッチングに失敗した代表画像が属するグループを、その後の処理の対象から除外する。これにより、マッチングの処理回数が減り、処理負荷を軽減することができる。
図14は、比較画像情報データベースに記録される情報の構成例を示す図である。
比較画像情報データベース140aには、第2の実施の形態と同様、作業IDごとのレコード141aが設けられる。また、各レコード141aには、1つ以上の比較画像情報が登録されるが、それらの比較画像情報はグループごとに分類されて登録されている。グループは、グループIDによって識別される。さらに、グループごとに代表画像IDが登録される。代表画像IDは、グループに属する比較画像情報のうち、代表画像に対応する情報に付与された画像IDを示す。
また、比較画像情報には、画像ID、マーカ位置情報、複数の特徴点情報に加えて、撮像位置姿勢情報が登録される。撮像位置姿勢情報としては、撮像位置姿勢推定部113によって算出された回転行列Rおよび並進ベクトルTがそのまま登録される。また、例えば、グループ分けの処理を容易にするために、回転行列Rはおよび並進ベクトルTが、マーカ座標系におけるマーカ中心を基準としたカメラ位置(x,y,z)と、マーカ座標系の3軸を基準とした回転角度(rx,ry,rz)に変換されて、比較画像情報データベース140aに登録されてもよい。また、回転角度(rx,ry,rz)としては、後述する式(18)で算出される回転角度θが用いられてもよい。
次に、端末装置100aの処理のうち、図10〜図12に示した処理とは異なる部分について説明する。まず、情報蓄積制御部115aの処理について説明する。
マーカ認識部112がマーカの認識に成功した場合、情報蓄積制御部115aは、図10のステップS15において、作業ID、特徴点の位置と特徴量、マーカの位置情報に加えて、撮像位置姿勢推定部113によって算出された撮像位置姿勢情報を、比較画像情報データベース140aに登録する。さらに、情報蓄積制御部115aは、比較画像情報データベース140aに登録された情報について、例えば一定時間ごとに、次の図15に示す分類処理を実行する。
図15は、情報蓄積制御部による分類処理の手順の例を示すフローチャートである。なお、図15の処理は、同一の作業IDに対応付けられた比較画像情報に対して行われる。
[ステップS51]情報蓄積制御部115aは、比較画像情報データベース140aに登録された各比較画像の撮像位置姿勢情報を用いて、比較画像をグループに分類する。分類の手法としては、k−means法を用いることができる。ここで、k−means法を用いる場合、分類計算に用いる撮像位置姿勢情報としては、回転行列Rおよび並進ベクトルTより、前述したカメラ位置(x,y,z)および回転角度(rx,ry,rz)を用いる方が、処理負荷を低くすることができる。
情報蓄積制御部115aは、比較画像がグループごとに分類されるように比較画像情報データベース140を更新する。
[ステップS52]情報蓄積制御部115aは、分類されたグループごとに代表画像を特定する。例えば、情報蓄積制御部115aは、グループに属する比較画像のうち、カメラ位置(x,y,z)または回転角θが、グループ全体でのカメラ位置(x,y,z)または回転角θの重心に最も近い比較画像を、代表画像として特定する。情報蓄積制御部115aは、代表画像を特定すると、その代表画像の画像IDを、比較画像情報データベース140内の対応するグループに設けられた代表画像IDのフィールドへ登録する。
次に、比較画像情報選択部116aの処理は、比較画像情報選択部116による図11,図12のステップS21〜S28,S31〜S35の処理を、次のように変形した処理となる。
図16は、第3の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。図16の処理では、図11のステップS23とステップS24との間に、ステップS61,S62が追加されている。
[ステップS61]比較画像情報選択部116aは、比較画像情報データベース140に登録された、該当作業IDに対応するグループごとの代表画像それぞれにおける特徴点と、認識失敗画像から抽出された特徴点とをマッチングする。マッチングの方法と、マッチングに成功したかの判定方法は、ステップS25と同様である。
比較画像情報選択部116aは、代表画像それぞれとのマッチングの結果、次のような2つの判定条件を満たすかを判定する。第1の判定条件としては、認識失敗画像から抽出された特徴点の総数に対する、マッチングに成功した組数の割合が、閾値Tb1より大きいかが判定される(ただし、Tb1は0より大きく1以下であり、Tb1<Tb)。第2の判定条件としては、マッチングに成功した組数が閾値Tc1より大きいかが判定される(ただし、Tc1は0より大きく、Tc1<Tc)。
[ステップS62]比較画像情報選択部116aは、上記の2つの条件を1つでも満たさない代表画像がある場合には、その代表画像に対応するグループに属する比較画像を、ステップS24以降の処理の対象から除外する。
以上のように、第3の実施の形態では、端末装置100aは、マーカの認識に失敗した場合、認識失敗画像と、撮像位置姿勢情報に基づいて分類された各グループの代表画像とのマッチングを行う。そして、マッチングに失敗した代表画像が属するグループを、その後の処理の対象から除外する。これにより、マッチングの処理回数が減り、処理負荷を軽減することができる。
〔第4の実施の形態〕
次に、第4の実施の形態に係る端末装置について説明する。第4の実施の形態に係る端末装置は、第3の実施の形態に係る端末装置100aの一部を変形したものである。以下、第3の実施の形態に係る端末装置100aと異なる点について説明する。
なお、第4の実施の形態に係る端末装置の処理機能の基本的な構成は、図13に示した端末装置100aと同様である。そのため、第4の実施の形態に係る端末装置については、図13に示した符号を用いて説明する。
図17は、ガイド枠の表示に伴う画面の例を示す図である。
第4の実施の形態に係る端末装置100aは、マーカの認識に失敗したとき、図17の上側に示すように、表示装置104上の撮像画像251a内にガイド枠252を表示させる。そして、撮像画像251aに写っているマーカの外形をガイド枠252に合わせるように、作業者に促す。例えば、このような動作を作業者に促すための案内画像253が、撮像画像251a上に表示される。さらに、このような動作が完了したことを作業者が入力するための完了ボタン254が、撮像画像251a上に表示される。
作業者は、端末装置100aではマーカが認識されていないものの、撮像画像251aを通じてマーカの少なくとも一部を目視できる場合には、マーカの外形がガイド枠252に合うように撮像位置や方向を変える。そして、作業者は、マーカの外形がガイド枠252に合ったとき、その状態のまま完了ボタン254を押下する。すると、図17の下側に示す撮像画像251bのように、マーカの外形がガイド枠252に合った状態の撮像画像が、端末装置100aに取り込まれる。端末装置100aは、取り込んだ撮像画像を認識失敗画像として用い、作業支援情報の重畳位置の決定処理を行う。
ここで、第4の実施の形態に係る端末装置100aの比較画像情報データベース140aにおいては、第3の実施の形態と同様、作業IDごとに分類された比較画像情報が、さらに撮像位置姿勢情報に基づいて分類されて登録されている。撮像位置姿勢情報に基づいて分類された各グループに属する比較画像は、グループごとに、似通った撮像位置および撮像方向で撮像されたものである。
端末装置100aは、表示させるガイド枠252の形状、大きさおよび表示位置を、あるグループの代表画像から認識されたマーカの形状、大きさおよび表示位置と同じにする。この場合、作業者の動作によって撮像画像上のマーカがガイド枠252に合わせられたときの撮像位置や方向は、そのグループに属する代表画像が撮像されたときと似たような撮像位置や方向となる。このため、端末装置100aにおける作業支援情報の重畳位置の決定処理においては、上記のグループに属する比較画像情報を使用するだけで、十分な重畳位置精度を得ることができる。
さらに、利用するグループとしては、比較画像情報の登録数が最も多いものであることが望ましい。これにより、現在の撮像位置や方向と似たような撮像位置や方向で撮像された多数の比較画像情報を重畳位置決定処理に利用することができる。その結果、他のグループに属する比較画像情報を利用した場合より、重畳位置精度が向上する可能性が高くなる。
図18は、第4の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。図18の処理では、図11のステップS23とステップS24との間に、ステップS71,S72が追加されている。
[ステップS71]比較画像情報選択部116aは、比較画像情報データベース140aにおける該当作業IDに対応するレコード141aから、比較画像情報の登録数が最も多いグループを選択する。比較画像情報選択部116aは、選択したグループの代表画像に対応するマーカ位置情報を、上記のレコード141aから読み出す。
比較画像情報選択部116aは、読み出したマーカ位置情報が示すマーカの外形と同じ形状のガイド枠を、表示装置104に表示させる。具体的には、ガイド枠の4つの頂点の座標を、読み出したマーカ位置情報に含まれる4つの頂点の座標と同じにする。また、図17に示したように、ガイド枠の位置にマーカの位置を合わせるように作業者へ通知するための画像や、作業者が動作完了操作を行うための操作ボタンも表示させる。
[ステップS72]作業者による動作完了操作が行われると、比較画像情報選択部116aは、その時点の撮像画像を撮像画像取得部111を通じて取り込み、取り込んだ画像を、これ以後で使用する認識失敗画像とする。また、比較画像情報選択部116aは、ステップS71で選択したグループに属する比較画像情報のみを、ステップS24以降の処理の対象とし、それ以外の比較画像情報を処理対象から除外する。
以上の第4の実施の形態では、作業支援情報の重畳位置精度を維持したまま、重畳位置の決定処理に利用する比較画像情報を絞り込み、その処理負荷を軽減することができる。
〔第5の実施の形態〕
次に、第5の実施の形態に係る端末装置について説明する。第5の実施の形態に係る端末装置は、第3の実施の形態に係る端末装置100aの一部を変形したものである。以下、第5の実施の形態に係る端末装置100aと異なる点について説明する。
なお、第5の実施の形態に係る端末装置の処理機能の基本的な構成は、図13に示した端末装置100aと同様である。そのため、第5の実施の形態に係る端末装置については、図13に示した符号を用いて説明する。
第5の実施の形態に係る端末装置100aは、マーカの認識に失敗したとき、作業者に対して、撮像画像上のマーカの外形の形状を入力するように促す。作業者は、撮像画像を通じてマーカの少なくとも一部を目視できる場合には、撮像画像上のマーカの外形の形状を入力することができる。このときの入力方法としては、例えば、マーカの輪郭における4つの頂点の画面上の位置を、タッチ操作やマウスクリック操作などによって入力させる方法が考えられる。これにより、端末装置100aは、撮像画像上のマーカの形状および位置の情報を取得する。
端末装置100aは、該当作業IDに対応する比較画像の中から、入力された情報に基づくマーカと類似する(すなわち、関連性が高い)マーカが認識された比較画像を抽出する。この処理では、端末装置100aは、入力された形状および位置によって示されるマーカに関する情報と、該当作業IDに対応する各グループの代表画像に関する情報とのマッチングを行う。このマッチングでは、例えば、マーカの4つの頂点の他、例えば、マーカに基づく撮像位置姿勢情報が利用されてもよい。
端末装置100aは、マッチングの結果、マッチング精度が一定値以上となる代表画像を選択する。そして、端末装置100aは、選択した代表画像に対応するグループに属する比較画像情報だけを、作業支援情報の重畳位置の決定処理に利用する。
ところで、第5の実施の形態では、比較画像情報データベース140aには、撮像位置姿勢情報は、撮像位置姿勢推定部113によって算出された回転行列Rおよび並進ベクトルTがそのまま登録されてもよい。ただし、例えば、回転行列Rを回転軸ベクトル[rxyz]および回転角度θに変換し、変換された回転軸ベクトル[rxyz]および回転角度θを、回転行列Rの代わりに比較画像情報データベース140aに登録してもよい。これにより、マッチングのために最適化された値が登録される。
マーカの認識結果から算出された回転行列Rと、回転軸ベクトル[rxyz]および回転角度θとの関係は、ロドリゲスの公式を用いて次の式(16)のように表される。
Figure 0006372149
式(16)の関係から、回転軸ベクトル[rxyz]および回転角度θを、それぞれ次の式(17),(18)のように表すことができる。
[rxyz]=||(r32−r23)(r13−r31)(r21−r12)||・・・(17)
θ=cos-1((trace(R)−1)/2) ・・・(18)
なお、式(17)は、回転軸ベクトルを正規化した表現となっている。また、θは0以上π以下の値をとる。また、式(18)のtrace(R)は、Rの対角要素の和を示す。
このような回転軸ベクトル[rxyz]および回転角度θを用いたマッチング処理については、後述する。
図19は、第5の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。図19の処理では、図11のステップS23とステップS24との間に、ステップS81〜S83が追加されている。
[ステップS81]比較画像情報選択部116aは、撮像画像上のマーカの形状を入力するように、作業者へ促す。例えば、比較画像情報選択部116aは、このような入力操作を促すための画像情報を表示装置104に表示させる。また、作業者がこのような入力操作を完了したことを通知するための操作ボタンも表示させる。
[ステップS82]作業者によってマーカの形状が入力され、操作ボタンが押下されると、比較画像情報選択部116aは、撮像画像を撮像画像取得部111から取り込み、取り込んだ画像を、これ以後で使用する認識失敗画像とする。また、比較画像情報選択部116aは、作業者によって入力された情報に基づいて、撮像画像上のマーカの4つの頂点の座標を認識する。
比較画像情報選択部116aは、認識した座標に基づき、入力されたマーカ形状に対応する撮像位置姿勢情報を算出する。例えば、比較画像情報選択部116aは、撮像位置姿勢推定部113,117と同様の手順で、回転行列Rおよび並進ベクトルTを算出する。さらに、算出した回転行列Rに基づき、上記の式(17),(18)に従って回転軸ベクトル[rxyz]および回転角度θを算出する。
[ステップS83]比較画像情報選択部116aは、入力されたマーカ形状に関する情報と、該当作業IDに対応する各グループの代表画像に関する情報とをマッチングする。このマッチングでは、例えば、撮像位置姿勢情報のマッチングと、4つの頂点の座標のマッチングとが行われる。
ここでは例として、比較画像情報選択部116aは、まず、入力されたマーカ形状と各代表画像との間で、回転軸ベクトル[rxyz]および並進成分(並進ベクトルTの成分)のそれぞれについてマッチングを行い、マッチング精度がある閾値以上となる代表画像を選別する。次に、比較画像情報選択部116aは、回転角度θおよび4つの頂点の座標のそれぞれについてマッチングを行い、マッチング精度がある閾値以上となる代表画像をさらに選別する。
まず、回転軸ベクトル[rxyz]のマッチングでは、入力されたマーカ形状および代表画像のそれぞれに基づく回転軸ベクトル[rxyz]のなす角度ωが算出される。この角度ω、を回転軸ベクトル[rxyz]の差異と見なす。また、並進成分のマッチングでは、並進成分の距離の差異dが算出される。
回転軸ベクトルr1=[rx1y1z1],r2=[rx2y2z2]のなす角度ωは、下記の式(19)によって算出される。また、並進成分[tx1y1z1],[tx2y2z2]の距離の差異dは、下記の式(20)によって算出される。
Figure 0006372149
比較画像情報選択部116aは、回転軸ベクトル[rxyz]のなす角度ωが所定の閾値以下となり、かつ、並進成分の距離の差異dが所定の閾値以下となる代表画像を選別する。
次に、比較画像情報選択部116aは、入力されたマーカ形状と、選別された代表画像との間で、回転角度θの差異と、4つの頂点の各座標の差異の合計値とを算出する。比較画像情報選択部116aは、回転角度θの差異が所定の閾値以下となり、かつ、各頂点の座標の差異の合計値が所定の閾値以下となる代表画像を選別する。
比較画像情報選択部116aは、以上のマッチングについてのすべての条件を満たす代表画像を抽出し、抽出された代表画像に対応するグループに属する比較画像を、ステップS24以降の処理の対象に設定する。また、比較画像情報選択部116aは、上記の条件を1つでも満たさない代表画像に対応するグループに属する比較画像を、ステップS24以降の処理の対象から除外する。
このような処理により、端末装置100aは、作業支援情報の重畳位置の決定精度を維持したまま、重畳位置の決定処理に利用する比較画像情報を絞り込み、その処理負荷を軽減することができる。
なお、ステップS83の処理では、回転軸ベクトル[rxyz]、並進成分、回転角度θ、および4つの頂点の座標というパラメータのうち、少なくとも1つ、または2つ以上の組み合わせにより、マッチング処理を行ってもよい。
また、ステップS83では、入力されたマーカ形状とのマッチング対象を、代表画像ではなく、該当作業IDに対応付けられたすべての比較画像としてもよい。この場合、マッチング精度の条件を満たした比較画像が、ステップS24以降の処理の対象とされ、その他の比較画像が処理の対象から除外される。
なお、上記の各実施の形態に示した装置(表示制御装置1および端末装置100,100a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) 撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御装置において、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第1の情報と、当該撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録する蓄積処理部と、
第1の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第1の情報に基づいて、前記第1の撮像画像と類似する第2の撮像画像に対応する前記第2の情報を前記記憶装置から抽出し、抽出した前記第2の情報に基づいて、前記第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する表示位置決定部と、
を有することを特徴とする表示制御装置。
(付記2) 前記表示位置決定部は、
前記記憶装置から、前記第1の撮像画像と類似する前記第2の撮像画像に対応する前記第1の情報を抽出し、
抽出した前記第1の情報に基づき、前記第2の撮像画像における複数の特徴点の座標を、前記第1の撮像画像における複数の特徴点の座標に変換する変換式を算出して、前記変換式による座標変換の評価値を算出し、
前記評価値が所定条件を満たす場合に、前記第2の撮像画像に対応する前記第2の情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記1記載の表示制御装置。
(付記3) 前記第2の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記表示位置決定部は、前記評価値が前記所定条件を満たす場合に、前記第2の撮像画像に対応する前記第2の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記2記載の表示制御装置。
(付記4) 前記第2の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記表示位置決定部は、
前記記憶装置から、前記第1の撮像画像と類似する前記第2の撮像画像に対応する前記第1の情報を抽出し、
抽出した前記第1の情報に基づいて、前記第2の撮像画像における複数の特徴点の座標を、前記第1の撮像画像における複数の特徴点の座標に変換する変換式を算出し、
前記第2の撮像画像に対応する前記第2の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記1記載の表示制御装置。
(付記5) 前記記憶装置では、前記第1の情報および前記第2の情報が、対応する撮像画像から算出された撮像位置および撮像姿勢に基づいて複数のグループに分類されて記録され、
前記表示位置決定部は、前記複数のグループからそれぞれ1つずつ選択された前記第1の情報を用いて、選択された前記第1の情報にそれぞれ対応する撮像画像の中から前記第1の撮像画像と類似する撮像画像を抽出し、抽出した撮像画像が属するグループを選択し、選択したグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から前記第1の撮像画像と類似する前記第2の撮像画像を抽出する、
ことを特徴とする付記1記載の表示制御装置。
(付記6) 前記表示位置決定部は、
撮像画像からのマーカの認識に失敗したとき、前記複数のグループの中から前記第1の情報および前記第2の情報が含まれる数が最も多いグループを選択し、選択したグループから前記第2の情報を1つ選択し、選択した前記第2の情報に基づくマーカの外形と同じ形状で同じ大きさのガイド枠を、撮像画像上の当該マーカと同じ位置に表示させ、
前記ガイド枠の表示後に取り込んだ撮像画像を用いて、前記選択したグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から、前記ガイド枠の表示後に取り込んだ撮像画像と類似する前記第2の撮像画像を抽出する、
ことを特徴とする付記5記載の表示制御装置。
(付記7) 前記表示位置決定部は、
前記第1の撮像画像からのマーカの認識に失敗したとき、前記第1の撮像画像におけるマーカの形状および位置の情報を入力する操作を受け付け、
前記複数のグループからそれぞれ1つずつ選択された前記第2の情報と、入力された前記位置情報に基づくマーカに関する情報とを比較して、選択された前記第2の情報に対応する撮像画像の中から、前記位置情報に基づくマーカとの関連性を示す指標が所定条件を満たすマーカが認識された撮像画像を判定し、
判定した撮像画像が属するグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から前記第1の撮像画像と類似する前記第2の撮像画像を抽出する、
ことを特徴とする付記5記載の表示制御装置。
(付記8) 撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御方法において、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第1の情報と、当該撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録し、
第1の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第1の情報に基づいて、前記第1の撮像画像と類似する第2の撮像画像に対応する前記第2の情報を前記記憶装置から抽出し、抽出した前記第2の情報に基づいて、前記第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
ことを特徴とする表示制御方法。
(付記9) 前記第1の撮像画像に対応する撮像位置および撮像姿勢の算出では、
前記記憶装置から、前記第1の撮像画像と類似する前記第2の撮像画像に対応する前記第1の情報を抽出し、
抽出した前記第1の情報に基づき、前記第2の撮像画像における複数の特徴点の座標を、前記第1の撮像画像における複数の特徴点の座標に変換する変換式を算出して、前記変換式による座標変換の評価値を算出し、
前記評価値が所定条件を満たす場合に、前記第2の撮像画像に対応する前記第2の情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記8記載の表示制御方法。
(付記10) 前記第2の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記第1の撮像画像に対応する撮像位置および撮像姿勢の算出では、
前記表示位置決定部は、前記評価値が前記所定条件を満たす場合に、前記第2の撮像画像に対応する前記第2の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記9記載の表示制御方法。
(付記11) 前記第2の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記第1の撮像画像に対応する撮像位置および撮像姿勢の算出では、
前記記憶装置から、前記第1の撮像画像と類似する前記第2の撮像画像に対応する前記第1の情報を抽出し、
抽出した前記第1の情報に基づいて、前記第2の撮像画像における複数の特徴点の座標を、前記第1の撮像画像における複数の特徴点の座標に変換する変換式を算出し、
前記第2の撮像画像に対応する前記第2の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記8記載の表示制御方法。
(付記12) 前記記憶装置では、前記第1の情報および前記第2の情報が、対応する撮像画像から算出された撮像位置および撮像姿勢に基づいて複数のグループに分類されて記録され、
前記第2の撮像画像に対応する前記第2の情報の抽出では、前記複数のグループからそれぞれ1つずつ選択された前記第1の情報を用いて、選択された前記第1の情報にそれぞれ対応する撮像画像の中から前記第1の撮像画像と類似する撮像画像を抽出し、抽出した撮像画像が属するグループを選択し、選択したグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から前記第1の撮像画像と類似する前記第2の撮像画像を抽出する、
ことを特徴とする付記8記載の表示制御方法。
(付記13) 撮像画像からのマーカの認識に失敗したとき、前記複数のグループの中から前記第1の情報および前記第2の情報が含まれる数が最も多いグループを選択し、選択したグループから前記第2の情報を1つ選択し、選択した前記第2の情報に基づくマーカの外形と同じ形状で同じ大きさのガイド枠を、撮像画像上の当該マーカと同じ位置に表示させ、
前記第2の撮像画像に対応する前記第2の情報の抽出では、前記ガイド枠の表示後に取り込んだ撮像画像を用いて、前記選択したグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から、前記ガイド枠の表示後に取り込んだ撮像画像と類似する前記第2の撮像画像を抽出する、
ことを特徴とする付記12記載の表示制御方法。
(付記14) 前記第1の撮像画像からのマーカの認識に失敗したとき、前記第1の撮像画像におけるマーカの形状および位置の情報を入力する操作を受け付け、
前記第2の撮像画像に対応する前記第2の情報の抽出では、
前記複数のグループからそれぞれ1つずつ選択された前記第2の情報と、入力された前記位置情報に基づくマーカに関する情報とを比較して、選択された前記第2の情報に対応する撮像画像の中から、前記位置情報に基づくマーカとの関連性を示す指標が所定条件を満たすマーカが認識された撮像画像を判定し、
判定した撮像画像が属するグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から前記第1の撮像画像と類似する前記第2の撮像画像を抽出する、
ことを特徴とする付記12記載の表示制御方法。
(付記15) 撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる処理を、コンピュータに実行させる表示制御プログラムにおいて、
前記コンピュータに、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第1の情報と、当該撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録し、
第1の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第1の情報に基づいて、前記第1の撮像画像と類似する第2の撮像画像に対応する前記第2の情報を前記記憶装置から抽出し、抽出した前記第2の情報に基づいて、前記第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
処理を実行させることを特徴とする表示制御プログラム。
1 表示制御装置
2 蓄積処理部
3 表示位置決定部
4 記憶装置
5a 第1の情報
5b 第2の情報
11a,11b 撮像画像
12 画像
21 マーカ
22 作業支援情報

Claims (9)

  1. 撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御装置において、
    撮像画像を順次取得し、取得した撮像画像のうち、マーカの認識に成功した撮像画像のそれぞれについて、撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第1の情報と、当該撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録する蓄積処理部と、
    第1の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第1の情報に基づいて、前記第1の撮像画像と類似する第2の撮像画像に対応する前記第2の情報を前記記憶装置から抽出し、抽出した前記第2の情報に基づいて、前記第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する表示位置決定部と、
    を有することを特徴とする表示制御装置。
  2. 前記表示位置決定部は、
    前記記憶装置から、前記第1の撮像画像と類似する前記第2の撮像画像に対応する前記第1の情報を抽出し、
    抽出した前記第1の情報に基づき、前記第2の撮像画像における複数の特徴点の座標を、前記第1の撮像画像における複数の特徴点の座標に変換する変換式を算出して、前記変換式による座標変換の評価値を算出し、
    前記評価値が所定条件を満たす場合に、前記第2の撮像画像に対応する前記第2の情報に基づいて撮像位置および撮像姿勢を算出する、
    ことを特徴とする請求項1記載の表示制御装置。
  3. 前記第2の情報には、撮像画像におけるマーカの位置情報が含まれ、
    前記表示位置決定部は、前記評価値が前記所定条件を満たす場合に、前記第2の撮像画像に対応する前記第2の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
    ことを特徴とする請求項2記載の表示制御装置。
  4. 前記第2の情報には、撮像画像におけるマーカの位置情報が含まれ、
    前記表示位置決定部は、
    前記記憶装置から、前記第1の撮像画像と類似する前記第2の撮像画像に対応する前記第1の情報を抽出し、
    抽出した前記第1の情報に基づいて、前記第2の撮像画像における複数の特徴点の座標を、前記第1の撮像画像における複数の特徴点の座標に変換する変換式を算出し、
    前記第2の撮像画像に対応する前記第2の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
    ことを特徴とする請求項1記載の表示制御装置。
  5. 前記記憶装置では、前記第1の情報および前記第2の情報が、対応する撮像画像から算出された撮像位置および撮像姿勢に基づいて複数のグループに分類されて記録され、
    前記表示位置決定部は、前記複数のグループからそれぞれ1つずつ選択された前記第1の情報を用いて、選択された前記第1の情報にそれぞれ対応する撮像画像の中から前記第1の撮像画像と類似する撮像画像を抽出し、抽出した撮像画像が属するグループを選択し、選択したグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から前記第1の撮像画像と類似する前記第2の撮像画像を抽出する、
    ことを特徴とする請求項1記載の表示制御装置。
  6. 前記表示位置決定部は、
    撮像画像からのマーカの認識に失敗したとき、前記複数のグループの中から前記第1の情報および前記第2の情報が含まれる数が最も多いグループを選択し、選択したグループから前記第2の情報を1つ選択し、選択した前記第2の情報に基づくマーカの外形と同じ形状で同じ大きさのガイド枠を、撮像画像上の当該マーカと同じ位置に表示させ、
    前記ガイド枠の表示後に取り込んだ撮像画像を用いて、前記選択したグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から、前記ガイド枠の表示後に取り込んだ撮像画像と類似する前記第2の撮像画像を抽出する、
    ことを特徴とする請求項5記載の表示制御装置。
  7. 前記表示位置決定部は、
    前記第1の撮像画像からのマーカの認識に失敗したとき、前記第1の撮像画像におけるマーカの形状および位置の情報を入力する操作を受け付け、
    前記複数のグループからそれぞれ1つずつ選択された前記第2の情報と、入力された前記位置情報に基づくマーカに関する情報とを比較して、選択された前記第2の情報に対応する撮像画像の中から、前記位置情報に基づくマーカとの関連性を示す指標が所定条件を満たすマーカが認識された撮像画像を判定し、
    判定した撮像画像が属するグループに含まれる複数の前記第1の情報を用いて、当該グループに含まれる前記第1の情報に対応する撮像画像の中から前記第1の撮像画像と類似する前記第2の撮像画像を抽出する、
    ことを特徴とする請求項5記載の表示制御装置。
  8. 撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御方法において、
    撮像画像を順次取得し、取得した撮像画像のうち、マーカの認識に成功した撮像画像のそれぞれについて、撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第1の情報と、当該撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録し、
    第1の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第1の情報に基づいて、前記第1の撮像画像と類似する第2の撮像画像に対応する前記第2の情報を前記記憶装置から抽出し、抽出した前記第2の情報に基づいて、前記第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
    ことを特徴とする表示制御方法。
  9. 撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる処理を、コンピュータに実行させる表示制御プログラムにおいて、
    前記コンピュータに、
    撮像画像を順次取得し、取得した撮像画像のうち、マーカの認識に成功した撮像画像のそれぞれについて、撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第1の情報と、当該撮像画像からのマーカの認識結果に基づく第2の情報とを、記憶装置へ記録し、
    第1の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第1の情報に基づいて、前記第1の撮像画像と類似する第2の撮像画像に対応する前記第2の情報を前記記憶装置から抽出し、抽出した前記第2の情報に基づいて、前記第1の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
    処理を実行させることを特徴とする表示制御プログラム。
JP2014092303A 2014-04-28 2014-04-28 表示制御装置、表示制御方法および表示制御プログラム Active JP6372149B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014092303A JP6372149B2 (ja) 2014-04-28 2014-04-28 表示制御装置、表示制御方法および表示制御プログラム
US14/694,331 US20150310617A1 (en) 2014-04-28 2015-04-23 Display control device and display control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014092303A JP6372149B2 (ja) 2014-04-28 2014-04-28 表示制御装置、表示制御方法および表示制御プログラム

Publications (2)

Publication Number Publication Date
JP2015211363A JP2015211363A (ja) 2015-11-24
JP6372149B2 true JP6372149B2 (ja) 2018-08-15

Family

ID=54335254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014092303A Active JP6372149B2 (ja) 2014-04-28 2014-04-28 表示制御装置、表示制御方法および表示制御プログラム

Country Status (2)

Country Link
US (1) US20150310617A1 (ja)
JP (1) JP6372149B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6339609B2 (ja) * 2016-02-23 2018-06-06 ヤフー株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US10685490B2 (en) * 2016-03-10 2020-06-16 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP6915611B2 (ja) * 2016-04-14 2021-08-04 日本電気株式会社 情報処理装置、情報処理方法及びプログラム
EP3242228A1 (en) * 2016-05-02 2017-11-08 Artag SARL Managing the display of assets in augmented reality mode
JP2018005091A (ja) * 2016-07-06 2018-01-11 富士通株式会社 表示制御プログラム、表示制御方法および表示制御装置
JP6678298B2 (ja) 2016-09-28 2020-04-08 パナソニックIpマネジメント株式会社 フィーダ配置支援システムおよびフィーダ配置支援方法
JP2018056253A (ja) * 2016-09-28 2018-04-05 パナソニックIpマネジメント株式会社 部品管理支援システムおよび部品管理支援方法
JP6762913B2 (ja) * 2017-07-11 2020-09-30 キヤノン株式会社 情報処理装置、情報処理方法
JP7039216B2 (ja) * 2017-08-30 2022-03-22 キヤノン株式会社 情報処理装置及びその方法、プログラム
CN108062776B (zh) * 2018-01-03 2019-05-24 百度在线网络技术(北京)有限公司 相机姿态跟踪方法和装置
US11967107B2 (en) 2020-03-24 2024-04-23 Canon Kabushiki Kaisha Information processing apparatus and method of estimating position and orientation of image capturing apparatus
JP7443938B2 (ja) 2020-06-01 2024-03-06 コニカミノルタ株式会社 物品の認識方法、プログラム、および情報処理装置
JP6982659B1 (ja) * 2020-06-26 2021-12-17 株式会社ドワンゴ サーバ、端末、配信システム、配信方法、および情報処理方法
JP7453175B2 (ja) 2021-03-25 2024-03-19 Kddi株式会社 位置推定装置、方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481622A (en) * 1994-03-01 1996-01-02 Rensselaer Polytechnic Institute Eye tracking apparatus and method employing grayscale threshold values
JP4532856B2 (ja) * 2003-07-08 2010-08-25 キヤノン株式会社 位置姿勢計測方法及び装置
JP5423406B2 (ja) * 2010-01-08 2014-02-19 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法
JP2013141049A (ja) * 2010-03-24 2013-07-18 Hitachi Ltd 世界座標系データベースを利用したサーバ及び端末
JP4971483B2 (ja) * 2010-05-14 2012-07-11 任天堂株式会社 画像表示プログラム、画像表示装置、画像表示システム、および画像表示方法
US8384770B2 (en) * 2010-06-02 2013-02-26 Nintendo Co., Ltd. Image display system, image display apparatus, and image display method
KR101293776B1 (ko) * 2010-09-03 2013-08-06 주식회사 팬택 객체 리스트를 이용한 증강 현실 제공 장치 및 방법

Also Published As

Publication number Publication date
JP2015211363A (ja) 2015-11-24
US20150310617A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
JP6372149B2 (ja) 表示制御装置、表示制御方法および表示制御プログラム
Romero-Ramirez et al. Speeded up detection of squared fiducial markers
JP6435750B2 (ja) 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム
US10964049B2 (en) Method and device for determining pose of camera
JP6237326B2 (ja) 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム
US9218537B2 (en) Image processing device and image processing method
CN102640185B (zh) 图像序列中对象实时表示的混合跟踪的方法和设备
KR101729195B1 (ko) 질의동작기반 안무 검색 시스템 및 방법
JP6842039B2 (ja) カメラ位置姿勢推定装置、方法およびプログラム
JP6507730B2 (ja) 座標変換パラメータ決定装置、座標変換パラメータ決定方法及び座標変換パラメータ決定用コンピュータプログラム
CN102708355A (zh) 信息处理装置、信息处理方法及程序
JP2004213332A (ja) キャリブレーション装置、キャリブレーション方法、キャリブレーション用プログラム、及び、キャリブレーション治具
US10755422B2 (en) Tracking system and method thereof
JP4876056B2 (ja) 画像処理装置、画像処理方法
WO2021077982A1 (zh) 标记点的识别方法、装置、设备及存储介质
WO2007108100A1 (ja) 画像情報処理装置、判定方法、及びコンピュータプログラム
JP2020179441A (ja) 制御システム、情報処理装置および制御方法
JP2009216503A (ja) 三次元位置姿勢計測方法および装置
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
WO2016084142A1 (ja) 作業支援システム、及び、作業支援方法
JP5536124B2 (ja) 画像処理システム及び画像処理方法
CN103765477B (zh) 通过图形匹配和环形检测而用自动模型初始化进行线跟踪
WO2008032375A1 (fr) Dispositif et procédé de correction d'image, et programme informatique
WO2024012463A1 (zh) 一种定位方法及装置
JP5683695B2 (ja) 資産管理システム、操作端末、及び資産管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180702

R150 Certificate of patent or registration of utility model

Ref document number: 6372149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150