JP2017108263A - 端末、位置関係算出プログラムおよび位置関係算出方法 - Google Patents
端末、位置関係算出プログラムおよび位置関係算出方法 Download PDFInfo
- Publication number
- JP2017108263A JP2017108263A JP2015240027A JP2015240027A JP2017108263A JP 2017108263 A JP2017108263 A JP 2017108263A JP 2015240027 A JP2015240027 A JP 2015240027A JP 2015240027 A JP2015240027 A JP 2015240027A JP 2017108263 A JP2017108263 A JP 2017108263A
- Authority
- JP
- Japan
- Prior art keywords
- image
- information
- target
- marker
- frame
- 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.)
- Pending
Links
Images
Landscapes
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
【課題】マーカーと対象物との位置関係を適切に特定すること。【解決手段】端末1は、撮像装置2に接続されている。端末1は、記憶部1aと検出部1bと算出部1cとを有する。検出部1bは、撮像装置2が撮像した入力画像P1を取得する。検出部1bは、入力画像P1から対象物に関する情報を有するマーカー画像M1を検出する。算出部1cは、マーカー画像M1に格納されている対象物の情報を取得する。算出部1cは、対象物の情報と入力画像P1内のマーカー画像M1の位置とに基づいて、マーカー画像M1と物体画像P1aとの位置関係を算出する。【選択図】図1
Description
本発明は端末、位置関係算出プログラムおよび位置関係算出方法に関する。
撮像装置によって撮像された画像に対して画像処理を行う技術が利用されている。例えば、監視カメラによる監視機能を損なわずにプライバシー保護を図る提案がある。この提案では、一方向に回転可能な監視カメラによる撮影視野を、垂直方向および水平方向に分割し、カメラの回転角度を用いて、事前に登録済の特定視野領域と撮影視野との重合状態を決定し、重合部分をマスキング処理する。
また、カメラ映像とスケルトンモデルとが重なる領域以外の背景領域に塗り潰し処理やモザイク処理などの背景処理を行う提案もある。この提案では、スケルトンモデルの形状を、カメラ映像内のオブジェクトの形状にフィッティングさせる手動操作を検知し、オブジェクトの追跡結果に基づいて、スケルトンモデルをカメラ映像に対して位置決めする。
更に、取得済み画像の一部を自動特定して重点領域にし、重点領域画像を表示する提案もある。
所定のマーカーを物体(対象物)に予め付与しておき、画像処理に利用することが考えられる。例えば、ユーザが利用する端末などによって、対象物を撮影した画像からマーカー部分を検出し、画像上のマーカーの位置に対して予め定められた相対位置に、付加情報(例えば、作業支援用の画像など)を、撮影した画像に重畳して表示し得る。対象物毎にマーカーを同じ位置に配置できれば、画像上のマーカーの位置に対する相対位置を指定するだけで、対象物の画像の範囲内または範囲外の特定の位置に付加情報を表示し得る。
ところが、対象物毎に必ずしも同じ位置にマーカーを配置できるとは限らない。例えば、設備の保守作業の支援のため、運用中の既存の機器などに対し、マーカーを新たに付与する場合もある。既存の機器には、ケーブルなどが既に接続されていたり、マーカー以外のラベルが既に貼り付けられていたりすることもあり、特定の位置にマーカーを貼り付けることができないことがある。このため、端末が、撮像した画像に対しマーカーを用いて付加情報を付与する場合に、画像内におけるマーカーと対象物との位置関係を適切に把握できないことがあるという問題がある。
本発明は、マーカーと対象物との位置関係を適切に特定できる端末、位置関係算出プログラムおよび位置関係算出方法を提供することを目的とする。
1つの態様では、端末が提供される。端末は、検出部と算出部とを有する。検出部は、画像から対象物に関する情報を有する対象画像を検出する。算出部は、対象画像から対象物の情報を取得し、対象物の情報と画像内の対象画像の位置とに基づいて、対象画像と対象物との位置関係を算出する。
また、1つの態様では、位置関係算出プログラムが提供される。位置関係算出プログラムは、コンピュータに、画像から対象物の情報が格納されている対象画像を検出し、対象画像から対象物の情報を取得し、対象物の情報と画像内の対象画像の位置とに基づいて、対象画像と対象物との位置関係を算出する、処理を実行させる。
また、1つの態様では、位置関係算出方法が提供される。位置関係算出方法では、コンピュータが、画像から対象物の情報が格納されている対象画像を検出し、対象画像から対象物の情報を取得し、対象物の情報と画像内の対象画像の位置とに基づいて、対象画像と対象物との位置関係を算出する。
マーカーと対象物との位置関係を適切に特定できる。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の端末を示す図である。端末1は、撮像装置2および出力装置3に接続されている。撮像装置2は、物体4,5,6を撮像するカメラである。出力装置3は、端末1が出力する画像を表示するディスプレイである。出力装置3は、端末1が出力する画像を他の装置に送信するネットワークインタフェースでもよい。端末1は、撮像装置2および出力装置3を内蔵してもよい。
[第1の実施の形態]
図1は、第1の実施の形態の端末を示す図である。端末1は、撮像装置2および出力装置3に接続されている。撮像装置2は、物体4,5,6を撮像するカメラである。出力装置3は、端末1が出力する画像を表示するディスプレイである。出力装置3は、端末1が出力する画像を他の装置に送信するネットワークインタフェースでもよい。端末1は、撮像装置2および出力装置3を内蔵してもよい。
物体4,5,6は、例えばサーバコンピュータ、スイッチ、および、ストレージ装置などを含む情報機器である。ただし、物体4,5,6は、情報機器以外のものでもよい。物体4,5,6は、並べて設置されている。物体4には、マーカー4aが付与されている。マーカー4aは、物体4に関する情報に対応する所定のパターン化された画像(対象画像)である。当該パターンは、例えば、色(白/黒など)で区別される2次元の図形の組み合わせでもよい。マーカー4aは、例えば、AR(Augmented Reality)と呼ばれる技術に用いられるARマーカーでもよい。ARでは、例えば、撮像中の画像の一部に、画像内のARマーカーに応じた付加的な情報(付加画像など)を付与して表示することがある。
ここで、マーカー4aは、物体4の任意の位置(撮像装置2により撮像可能な面の任意の位置)に貼り付け可能である。端末1は、撮像装置2により撮像された、物体4およびマーカー4aを含む入力画像P1を解析して、マーカー4aと物体4との位置関係を取得する機能を提供する。
端末1は、記憶部1a、検出部1bおよび算出部1cを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。
検出部1bおよび算出部1cは、端末1が備える演算装置(図1では図示を省略している)によって実現されてもよい。演算装置は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算装置はプログラムを実行するプロセッサであってもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)も含み得る。
記憶部1aは、検出部1bおよび算出部1cの処理に用いられる各種のデータを記憶する。
検出部1bは、撮像装置2から入力画像P1を取得する。入力画像P1は、撮像装置2が物体4,5,6を含む領域を撮像することで生成された画像である。入力画像P1は、物体画像P1a,P1b,P1cおよびマーカー画像M1を含む。物体画像P1aは、物体4の画像である。物体画像P1bは、物体5の画像である。物体画像P1cは、物体6の画像である。マーカー画像M1は、マーカー4aの画像である。
検出部1bは、撮像装置2から入力画像P1を取得する。入力画像P1は、撮像装置2が物体4,5,6を含む領域を撮像することで生成された画像である。入力画像P1は、物体画像P1a,P1b,P1cおよびマーカー画像M1を含む。物体画像P1aは、物体4の画像である。物体画像P1bは、物体5の画像である。物体画像P1cは、物体6の画像である。マーカー画像M1は、マーカー4aの画像である。
検出部1bは、撮像装置2によって生成された画像からマーカーを検出する。例えば、検出部1bは、入力画像P1からマーカー画像M1を検出する。なお、マーカー画像M1は、物体4に付与されたマーカー4aに相当しており、マーカー画像M1を単に「マーカー」と称してもよい。ただし、図1の説明では、物体4に付与されたマーカー4aと区別するために、入力画像P1内の「マーカー」については、マーカー画像M1と称する。
算出部1cは、マーカーに格納されている対象物の情報を取得し、対象物の情報と画像内のマーカーの位置とに基づいて、マーカーと対象物との位置関係を算出する。具体的には次の通りである。
例えば、算出部1cは、マーカー画像M1を解析することで、対象物である物体4の情報を取得する。例えば、物体4の情報としては、物体4の識別情報が考えられる。物体4の識別情報は“X”である。例えば、記憶部1aは、テーブルT1を記憶している。
テーブルT1は、識別情報と、対象物に関する対象物情報とを対応づけたレコードを含む。対象物情報は、例えば、対象物の輪郭形状やサイズに関する情報を含む。例えば、対象物情報は、対象物の輪郭が四角形であれば、四角形の辺の縦横比を含む。後述するように、対象物情報は、対象物の特徴点の形状や特徴点の対象物における位置情報を含んでもよい。例えば、テーブルT1は、識別情報“X”と対象物情報“X1”との対応関係を含む。対象物情報“X1”は、物体4のサイズに関する情報を含んでいる。算出部1cは、対象物情報“X1”を基に、物体4の枠画像Fr1を生成する。枠画像Fr1は、対象物の輪郭を示す画像である。ここで、一例として、枠画像Fr1は長方形であるとする。
なお、マーカー4a(およびマーカー画像M1)を、対象物情報“X1”を含むパターンとして作成することも考えられる。この場合、算出部1cは、テーブルT1を用いずに、マーカー画像M1から対象物情報“X1”を取得してもよい。
算出部1cは、枠画像Fr1と、入力画像P1に含まれる物体画像P1aの縁(輪郭)とを一致させる。例えば、上記のように、対象物情報“X1”が物体4の特徴点の形状および特徴点の物体4における位置の情報を含む場合を考える。この場合、算出部1cは、物体画像P1aの特徴点の配置と、対象物情報“X1”の特徴点の配置とが一致するように、枠画像Fr1を変形および移動させることで、枠画像Fr1と、物体画像P1aの縁とを一致させる。算出部1cは、枠画像Fr1を変形する際に、マーカー画像M1の基準形状および基準サイズに対する変形率を用いてもよい。例えば、記憶部1aは、マーカー画像M1に対応する識別情報に対応づけて、当該基準形状および基準サイズを予め記憶していてもよい。
あるいは、算出部1cは、端末1のユーザの操作によって枠画像Fr1と、物体画像P1aの縁との一致を検出してもよい。例えば、算出部1cは、入力画像P1に枠画像Fr1を重畳させた画像(枠重畳画像と称する)を、出力装置3に出力し、ディスプレイの表示によりユーザに提示する。算出部1cは、ユーザにより撮像装置2の物体4に対する位置が変更されると、変更に応じて、枠重畳画像のうち、枠画像Fr1以外の領域(枠画像Fr1の背景画像と称してもよい)を撮像装置2により撮像されている領域の画像に変更する。すると、ユーザは、撮像装置2の物体4に対する位置を変更しながら、ディスプレイ上で、枠画像Fr1を物体4の物体画像P1aの縁に一致させることができる。ユーザは、枠画像Fr1と物体4の物体画像P1aの縁との一致を確認すると、一致した旨を、端末1に対する所定の操作により端末1に入力する。算出部1cは、当該入力を検出することで、枠画像Fr1と物体画像P1aの縁との一致を検出する。
ここで、枠画像Fr2は、上記の何れかの方法により、枠画像Fr1を物体画像P1aの縁に一致させた状態を示している。
算出部1cは、マーカー画像M1と枠画像Fr2との位置関係に基づいて、マーカー画像M1と物体画像P1aとの位置関係を算出する。例えば、マーカー画像M1の複数の頂点のうちの1つを基準点とする。一例として、マーカー4aおよびマーカー画像M1は四角形であり、4つの頂点のうち頂点C1を基準点とする。すると、算出部1cは、頂点C1と枠画像Fr2の各辺との距離(頂点C1から各辺に下ろした垂線の長さ)を算出可能である。距離(長さ)は、例えば、ピクセル値で表わすことができる。
算出部1cは、マーカー画像M1と枠画像Fr2との位置関係に基づいて、マーカー画像M1と物体画像P1aとの位置関係を算出する。例えば、マーカー画像M1の複数の頂点のうちの1つを基準点とする。一例として、マーカー4aおよびマーカー画像M1は四角形であり、4つの頂点のうち頂点C1を基準点とする。すると、算出部1cは、頂点C1と枠画像Fr2の各辺との距離(頂点C1から各辺に下ろした垂線の長さ)を算出可能である。距離(長さ)は、例えば、ピクセル値で表わすことができる。
点C2,C3,C4,C5は、頂点C1から枠画像Fr2の各辺に下ろした垂線と、枠画像Fr2の各辺との交点である。すると、算出部1cは、点C1,C2間の距離L1、点C1,C3間の距離L2、点C1,C4間の距離L3、および、点C1,C5間の距離L4を求めることができる。枠画像Fr2は、物体画像P1aの縁に一致しているので、距離L1,L2,L3,L4は、マーカー画像M1の基準点C1から、物体画像P1aの縁の各辺までの距離に一致する。
すなわち、算出部1cは、物体画像P1aに対するマーカー画像M1の位置を把握できたことになる。マーカー画像M1および物体画像P1aは、マーカー4aおよび物体4が撮像装置2によって撮像された結果であるので、マーカー画像M1と物体画像P1aとの位置関係は、マーカー4aと物体4との位置関係に相当する。こうして、算出部1cは、マーカー画像M1と物体画像P1aとの位置関係(すなわち、マーカー(対象画像)4aと物体4との位置関係)を適切に算出することができる。
端末1を用いることで、物体4に対するマーカー4aの貼り付け位置を固定せずに済む。このため、物体4の任意の位置(ただし、外部から撮像可能な箇所)にマーカー4aを貼り付けても、端末1は、マーカー4aと物体4との位置関係を適切に把握できる。また、マーカー4aの貼り付け位置に対する制限を緩和できる利点もある。
更に、端末1は、算出部1cによって算出された位置関係に基づいて、入力画像P1の一部に付加画像を重畳した画像を生成し、出力装置3に出力してもよい。例えば、セキュリティなどの関係上、マーカー4aが付された物体4以外の物体5,6について、出力画像P2上で視認できないよう隠したいことがある。その場合、付加画像として、物体画像P1a以外の領域を隠すマスク画像を生成し、入力画像P1に重畳させて、出力画像P2を作成することが考えられる。このとき、算出部1cにより算出されたマーカー画像M1と物体画像P1aとの位置関係を利用可能である。
具体的には、入力画像P1のうち、マーカー画像M1の基準点C1を原点(0,0)として、座標(L4,L1)、(L4,−L3)、(−L2,−L3)、(−L2,L1)の4つの頂点を含む四角形の外側の領域をマスクすればよい。よって、端末1は、当該四角形の外側の領域を隠すためのマスク画像P2aを生成し、入力画像P1に重畳することで、出力画像P2を生成する。出力画像P2では、物体画像P1a以外の領域がマスク画像P2aにより隠されている。端末1は、出力画像P2を出力装置3に出力する。
撮影しながら、マーカー4aと撮像装置2との位置関係が変わることもある。ここで、マーカー画像M1を検出してマスク画像P2aの表示位置を変更する場合、マーカー画像M1に対するマスク画像P2aの相対的な位置を把握できなければ、撮像装置2の撮像位置の変更に追随してマスク画像P2aの表示位置の変更を行うことが難しい。検出対象がマーカー画像M1であるため、端末1は、マーカー画像M1を基準としてマスク画像P2aの表示位置を決定するからである。
この点、端末1によれば、マーカー画像M1と物体画像P1aとの位置関係から、マーカー画像M1に対するマスク画像P2aの相対位置を把握できるので、撮像装置2の撮像位置の変更に追随してマスク画像P2aの表示位置を変更できる。このため、端末1は、撮像装置2の動き(撮像される画像の変化)に追随して、物体画像P1a以外の領域を適切にマスクした出力画像P2を出力できる。
すると、例えば、出力装置3により、出力画像P2が他の装置に送信されて、他の装置上で、出力画像P2が表示されたとしても、他のユーザは、出力画像P2からは物体画像P1a以外の領域を視認できない。このように、端末1は、マーカー画像M1と物体画像P1aとの位置関係に基づいて、物体画像P1aに対する適切な位置に付加画像を付与することが可能となる。また、上記のように、付加画像としてマスク画像を付与することで、出力装置3に出力画像P2を出力する場合に、物体5,6の外観を秘匿でき、物体4以外の余計な物を他者に見られずに済む。よって、画像出力時のセキュリティ性を高めることができる。
[第2の実施の形態]
図2は、第2の実施の形態の保守システムを示す図である。第2の実施の形態の保守システムは、データセンタなどの施設に設置された複数の情報機器(例えば、情報機器10)の保守を支援するシステムである。第2の実施の形態の保守システムは、スマート端末100、ストリーミングサーバ200および支援端末300を含む。ストリーミングサーバ200および支援端末300は、ネットワーク20に接続されている。ネットワーク20は、例えば、組織内に敷設されたLAN(Local Area Network)でもよいし、インターネットなどの広域ネットワークでもよい。ネットワーク20には、アクセスポイント21が接続されている。アクセスポイント21は、無線通信の中継装置である。スマート端末100は、アクセスポイント21を介してネットワーク20に接続されている。
図2は、第2の実施の形態の保守システムを示す図である。第2の実施の形態の保守システムは、データセンタなどの施設に設置された複数の情報機器(例えば、情報機器10)の保守を支援するシステムである。第2の実施の形態の保守システムは、スマート端末100、ストリーミングサーバ200および支援端末300を含む。ストリーミングサーバ200および支援端末300は、ネットワーク20に接続されている。ネットワーク20は、例えば、組織内に敷設されたLAN(Local Area Network)でもよいし、インターネットなどの広域ネットワークでもよい。ネットワーク20には、アクセスポイント21が接続されている。アクセスポイント21は、無線通信の中継装置である。スマート端末100は、アクセスポイント21を介してネットワーク20に接続されている。
第2の実施の形態の保守システムは、情報機器10が設置された現地で作業を行う作業者U1、および、作業者U1を遠隔地から支援する支援者U2によって利用される。作業者U1は、支援者U2から作業に関する指示を受けることができる。作業者U1および支援者U2は、第2の実施の形態の保守システムのユーザであるといえる。
情報機器10は、サーバコンピュータ、スイッチ、および、ストレージ装置などを含む。情報機器10には、ARマーカー11,12が付与されている。ARマーカー11,12は、情報機器10を撮像した画像に対して、所定の付加画像を付与するために用いられる標識である。第2の実施の形態では、一例として、ARマーカーの形状を四角形とするが、他の多角形でもよい。第2の実施の形態の例では、ARマーカーは、情報機器の任意の位置に貼り付け可能である。
スマート端末100は、作業者U1によって利用されるクライアントコンピュータである。スマート端末100は、カメラおよびディスプレイを備えており、カメラによってARマーカー11,12を含む領域を撮像し、撮像した画像に重ねて、ARマーカー11,12に応じた画像(例えば、作業支援用の画像)をディスプレイ上に表示させることができる。これにより、スマート端末100は、作業者U1による作業を支援する。このように、元の画像に付加画像をリアルタイムに重畳して表示させ、現実の情報に対して付加的な情報を提供する技術は、拡張現実(AR)と呼ばれることがある。以下の説明では、当該付加画像をAR画像と称することがある。スマート端末100は、撮像した画像を、ストリーミングサーバ200に送信することもできる。スマート端末100は、第1の実施の形態の端末1の一例である。
ストリーミングサーバ200は、スマート端末100から受信した画像を、支援端末300に配信するサーバコンピュータである。
支援端末300は、ストリーミングサーバ200が配信する画像を受信し、支援者U2に提供するクライアントコンピュータである。支援者U2は、支援端末300が提供する画像を閲覧することで、スマート端末100により撮像されている画像を、作業者U1と共有することができる。支援者U2は、支援端末300が提供する画像を確認しながら、電話やチャットなどの手段を用いて、作業者U1に作業指示を伝えることができる。
支援端末300は、ストリーミングサーバ200が配信する画像を受信し、支援者U2に提供するクライアントコンピュータである。支援者U2は、支援端末300が提供する画像を閲覧することで、スマート端末100により撮像されている画像を、作業者U1と共有することができる。支援者U2は、支援端末300が提供する画像を確認しながら、電話やチャットなどの手段を用いて、作業者U1に作業指示を伝えることができる。
ここで、情報機器の保守を行う保守事業者が顧客の施設で作業を行う場合、作業者U1が支援者U2の後方支援を受ける際に、保守事業者が作業対象とする情報機器以外の情報機器が支援者U2により視認できないようにすることが考えられる。そこで、スマート端末100は、情報機器に付されたARマーカーを用いて、作業対象の情報機器以外の領域をマスクし、当該マスク後の画像を送信する機能を提供する。
図3は、スマート端末のハードウェア例を示す図である。スマート端末100は、プロセッサ101、RAM102、フラッシュメモリ103、正面カメラ104、背面カメラ105、ディスプレイ106、スピーカ107、タッチパネル108、マイク109、媒体リーダ110および通信インタフェース111を有する。各ユニットはスマート端末100のバスに接続されている。ストリーミングサーバ200や支援端末300もスマート端末100と同様のユニットを用いて実現できる。
プロセッサ101は、スマート端末100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、スマート端末100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
フラッシュメモリ103は、スマート端末100の補助記憶装置である。フラッシュメモリ103は、内蔵の記憶素子に対して、電気的にデータの書き込みおよび読み出しを行う。フラッシュメモリ103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。
正面カメラ104は、スマート端末100のディスプレイ106と同じ面(正面)に設けられた撮像装置である。
背面カメラ105は、スマート端末100のディスプレイ106とは反対側の面(背面)に設けられた撮像装置である。
背面カメラ105は、スマート端末100のディスプレイ106とは反対側の面(背面)に設けられた撮像装置である。
ディスプレイ106は、プロセッサ101からの命令に従って、画像を表示する表示装置である。ディスプレイ106は、正面カメラ104や背面カメラ105により撮像されている画像をリアルタイムに表示することができる。ディスプレイ106としては、例えば、液晶ディスプレイを用いることができる。
スピーカ107は、プロセッサ101から音声データを取得し、所定の信号処理を行って音声データに対応する音声を再生する。
タッチパネル108は、ディスプレイ106に重ねて設けられ、作業者U1によるタッチ操作を受け付ける。タッチパネル108は、タッチ操作された位置を示す情報をプロセッサ101に出力する。
タッチパネル108は、ディスプレイ106に重ねて設けられ、作業者U1によるタッチ操作を受け付ける。タッチパネル108は、タッチ操作された位置を示す情報をプロセッサ101に出力する。
マイク109は、作業者U1が発話した音声などの入力を受け付け、所定の信号処理を行うことで音声データを生成し、プロセッサ101に出力する。
媒体リーダ110は、記録媒体22に記憶されたデータを読み取り、また、記録媒体22にデータを格納する。記録媒体22には、例えば、スマート端末100に実行させるプログラムを記録することもできる。記録媒体22としては、例えば、半導体メモリを使用できる。媒体リーダ110は、例えば、プロセッサ101からの命令に従って、記録媒体22から読み取ったプログラムやデータをRAM102またはフラッシュメモリ103に格納する。
媒体リーダ110は、記録媒体22に記憶されたデータを読み取り、また、記録媒体22にデータを格納する。記録媒体22には、例えば、スマート端末100に実行させるプログラムを記録することもできる。記録媒体22としては、例えば、半導体メモリを使用できる。媒体リーダ110は、例えば、プロセッサ101からの命令に従って、記録媒体22から読み取ったプログラムやデータをRAM102またはフラッシュメモリ103に格納する。
通信インタフェース111は、アクセスポイント21を介してストリーミングサーバ200を含む他の装置と通信を行う。第2の実施の形態の例では、通信インタフェース111として無線通信インタフェースを想定するが、有線通信インタフェースでもよい。
なお、正面カメラ104および背面カメラ105それぞれは、第1の実施の形態の撮像装置2の一例である。ディスプレイ106および通信インタフェース111それぞれは、第1の実施の形態の出力装置3の一例である。
図4は、スマート端末の機能例を示す図である。スマート端末100は、画像記憶部120、AR情報記憶部130、画像受信部141、マーカー検出部142、AR情報管理部143、変形率計算部144、枠生成部145、画像合成部146、表示制御部147、タッチ処理部148、枠比率計算部149、AR画像生成部150および通信制御部151を有する。
画像記憶部120およびAR情報記憶部130は、RAM102またはフラッシュメモリ103に確保された記憶領域として実現される。画像受信部141、マーカー検出部142、AR情報管理部143、変形率計算部144、枠生成部145、画像合成部146、表示制御部147、タッチ処理部148、枠比率計算部149、AR画像生成部150および通信制御部151は、RAM102に記憶されたプログラムをプロセッサ101が実行することで実現される。
画像記憶部120は、正面カメラ104または背面カメラ105により撮像された画像を記憶する。
AR情報記憶部130は、AR情報を記憶する。AR情報は、作業者U1が行う作業の作業ID(IDentifier)、作業時に読み取るARマーカーのマーカーID、当該作業の対象となる機器情報を含む。機器情報は、情報機器の輪郭形状やサイズなどの情報を含む。また、機器情報は、作業者U1に対する支援画像を配置するモジュール位置(情報機器に対して支援画像を配置する位置)の情報を含む。例えば、ある作業を識別する作業IDに対して、ARマーカーのマーカーIDが予め割り振られている。また、AR情報記憶部130は、ARマーカーの基準サイズ(基準サイズから機器情報における機器のサイズに対するARマーカーのサイズ比率を把握可能である)や基準形状の情報もマーカーID毎に予め記憶している。
AR情報記憶部130は、AR情報を記憶する。AR情報は、作業者U1が行う作業の作業ID(IDentifier)、作業時に読み取るARマーカーのマーカーID、当該作業の対象となる機器情報を含む。機器情報は、情報機器の輪郭形状やサイズなどの情報を含む。また、機器情報は、作業者U1に対する支援画像を配置するモジュール位置(情報機器に対して支援画像を配置する位置)の情報を含む。例えば、ある作業を識別する作業IDに対して、ARマーカーのマーカーIDが予め割り振られている。また、AR情報記憶部130は、ARマーカーの基準サイズ(基準サイズから機器情報における機器のサイズに対するARマーカーのサイズ比率を把握可能である)や基準形状の情報もマーカーID毎に予め記憶している。
画像受信部141は、背面カメラ105により出力された画像(カメラ画像と称する)を受信し、マーカー検出部142および画像合成部146に提供する。画像受信部141は、正面カメラ104により出力された画像を受信し、マーカー検出部142および画像合成部146に提供してもよい。ここで、作業者U1は、保守作業を開始する直前に、これから行う作業の作業IDをスマート端末100に入力する。すると、背面カメラ105は、撮像対象範囲の撮像を開始し、カメラ画像の出力を開始する。
マーカー検出部142は、画像受信部141から取得したカメラ画像から、ARマーカーの画像(マーカー画像と称する)を検出する。マーカー画像の検出には、既存のパターン認識の方法を用いることができる。マーカー検出部142は、マーカー画像を検出すると、AR情報管理部143を介して、マーカー画像を検出したことを示すマーカー検出フラグ“true”を、AR情報記憶部130に格納する。また、マーカー検出部142は、カメラ画像を画像記憶部120に格納する。
AR情報管理部143は、AR情報記憶部130に対するデータの書き込みやAR情報記憶部130からのデータの読み出しを行う。また、AR情報管理部143は、各部の間での、データの受け渡しを管理する。
変形率計算部144は、画像記憶部120に記憶されたカメラ画像に含まれるマーカー画像と、当該マーカー画像の基準のサイズ/形状とを比較することで、カメラ画像に含まれるマーカー画像の変形率を計算する。変形率計算部144は、計算した変形率を、AR情報管理部143を介して、AR情報記憶部130に記録する。
枠生成部145は、AR情報管理部143を介して、作業ID、および、検出されたマーカーIDに対応する機器情報を読み出し、作業対象機器の形状に合った枠画像を生成して、枠画像の表示位置を示す座標(枠画像座標)を計算する。枠画像の座標は、検出されたマーカー画像の基準点を原点とした座標(例えば、枠画像の特定の頂点を原点とする)によって表わされる。また、座標は、ピクセル値によって表わされる。枠画像は、ディスプレイ106上の任意の位置に表示させることができる。例えば、枠生成部145は、ディスプレイ106の表示領域の中央に表示するように枠画像座標を計算する。
枠生成部145は、計算した枠画像座標をAR情報管理部143を介して、AR情報記憶部130に格納する。また、枠生成部145は、枠画像を生成したことを示す枠生成フラグ“true”を、AR情報管理部143を介してAR情報記憶部130に格納する。更に、枠生成部145は、生成した枠画像を画像合成部146に提供する。
画像合成部146は、画像受信部141から取得したカメラ画像に、枠生成部145によって生成された枠画像を合成する(カメラ画像を背景として枠画像をカメラ画像に重畳する)。画像合成部146は、AR情報記憶部130に格納された枠画像座標を基に、枠画像の配置位置を決定する(枠画像の配置は枠画像座標に固定される)。
画像合成部146は、画像受信部141から取得したカメラ画像に、AR画像生成部150によって生成されたAR画像を合成することもある(後述するAR画像生成フラグが“true”の場合)。この場合、画像合成部146は、AR情報記憶部130に格納されたAR表示座標を基に、AR画像の配置位置を決定する。AR表示座標は、後述の枠比率計算部149によって算出される。
表示制御部147は、画像合成部146により生成された画像を取得し、ディスプレイ106に出力する。すると、ディスプレイ106は、表示制御部147により出力された画像を表示する。
タッチ処理部148は、作業者U1によるタッチパネル108に対するタッチ操作を受け付ける。例えば、作業者U1は、ディスプレイ106に表示されたボタンなどをタッチできる。タッチ処理部148は、タッチ位置に対応するボタンに応じた入力を受け付ける。例えば、作業者U1は、背面カメラと作業対象機器との位置関係を調整して、ディスプレイ106に表示された枠画像に、作業対象機器の画像(作業対象機器画像)の縁を合わせる。作業者U1は、一致を確認すると、一致したことを入力するためのボタン(例えば、「AR生成」などの文字列が付されたボタン)をタッチする。すると、タッチ処理部148は、当該タッチ操作に応じて、枠画像と、作業対象機器画像の縁とが一致していることを、AR情報管理部143を介して枠比率計算部149に通知する。
枠比率計算部149は、タッチ処理部148からの通知を受け付けると、枠画像座標と当該通知のタイミングにおける、マーカー座標とARマーカーの変形率と、を取得する。枠比率計算部149は、取得した枠画像座標とマーカー座標とARマーカーの変形率とに基づいて、AR画像を表示させる座標(AR表示座標)を計算する。AR表示座標は、検出されたマーカー画像の基準点を原点とした座標(例えば、枠画像の特定の頂点を原点とする)によって表わされる。また、座標は、ピクセル値によって表わされる。
ここで、AR画像には、作業者U1の作業を支援するための支援画像と、カメラ画像のうち、作業対象機器画像以外の領域をマスクするためのマスク画像(後述するように、四角形画像の組み合わせ)が含まれる。
AR表示座標を計算するために、まず、枠比率計算部149は、取得した枠画像座標とマーカー座標とARマーカーの変形率とから、マーカー画像と枠画像との位置関係を取得する。そして、枠比率計算部149は、作業対象機器画像に対して支援画像を配置する位置(作業対象機器画像を基準とした位置)を機器情報から得る。枠比率計算部149は、マーカー画像と枠画像との位置関係から、支援画像を配置する位置の、マーカー画像を基準とした位置(支援画像のAR表示座標)を計算し、AR情報管理部143を介してAR情報記憶部130に格納する。また、枠比率計算部149は、マーカー画像と枠画像との位置関係を基に、カメラ画像のうち、作業対象機器画像以外の領域を特定し、当該領域の情報(マスク画像のAR表示座標)を、AR情報管理部143を介してAR情報記憶部130に格納する。
AR画像生成部150は、AR情報記憶部130に記憶されたAR形状情報、テキスト情報、マーカー変形率およびAR表示座標に基づいて、AR画像(支援画像およびマスク画像を含む)を生成し、画像合成部146に提供する。AR画像生成部150は、AR画像が生成されたことを示すAR画像生成フラグ“true”を、AR情報記憶部130に格納する。
通信制御部151は、画像合成部146によってカメラ画像とAR画像(マスク画像を含む)とを合成することで生成された合成画像を、画像合成部146から取得する。通信制御部151は、ストリーミングサーバ200を宛先として、当該合成画像を通信インタフェース111から送信する。
図5は、マーカー画像に対する座標系の例を示す図である。図5では、ディスプレイ106の表示領域において、マーカー画像M10が表示されている場合を例示している。このとき、マーカー画像M10を基準として、AR表示座標が計算されることになる。スマート端末100を動かすことによるマーカー画像M10の画面内での移動や変形に応じて、AR画像の表示位置や形状を変更するためである。ここでは、マーカー画像M10のディスプレイ106の表示領域に向かって左上の頂点を原点Oとする。また、原点Oから当該表示領域の長辺と平行な軸をX軸とする(図5の左側から右側へ向かう方向をX軸の正方向とする)。更に、原点Oから当該表示領域の短辺と平行な軸をY軸とする(図5の下側から上側へ向かう方向をY軸の正方向とする)。ディスプレイ106の表示領域における枠画像の配置位置も、枠画像の特定の頂点のXY座標により指定される。例えば、枠画像が四角形であれば、枠画像を表示した時にディスプレイ106の表示領域に向かって左上となる頂点のXY座標を、枠画像の配置位置(枠画像座標)として指定する。
図6は、AR管理テーブルの例を示す図である。AR管理テーブル131は、AR情報記憶部130に格納される。AR管理テーブル131は、項番、作業ID、マーカーID、枠画像情報、枠画像座標、AR表示座標、AR形状情報、テキスト情報、画像情報および画像送信先情報の項目を含む。
項番の項目には、レコードを識別する番号が登録される。作業IDの項目には、作業IDが登録される。マーカーIDの項目には、マーカーIDが登録される。枠画像情報の項目には、表示させる枠画像の元となる情報機器毎の枠画像情報が登録される。枠画像座標の項目には、枠比率計算部149によって計算された枠画像座標が登録される。AR表示座標の項目には、枠比率計算部149によって計算されたAR表示座標が登録される。AR形状情報の項目には、AR画像として表示するスタンプなどの形状の情報が登録される。テキスト情報の項目には、AR画像とともに表示させるテキストの情報が登録される。画像情報の項目には、予め用意されているAR画像(例えば、ケーブルの種類などを表わすAR画像)が登録される。画像送信先情報の項目には、カメラ画像にAR画像が合成された合成画像の送信先(例えば、ストリーミングサーバ200)のIP(Internet Protocol)アドレスが登録される。何れの項目も未設定である場合には“−”(設定なし)となる。
例えば、AR管理テーブル131には、項番が“1”、作業IDが“1”、マーカーIDが“1”、枠画像情報が“装置A画像1.png”、枠画像座標が“100,200”、AR表示座標が“10,20”、AR形状情報が“スタンプX1”、テキスト情報が“取り外し”、画像情報が設定なし“−”、画像送信先情報が“100.100.100.1”という情報が登録される。
これは、作業ID“1”、マーカーID“1”に対して、“装置A画像1.png”のファイル名の枠画像情報が登録されていることを示す。また、枠画像の枠画像座標が(X,Y)=(100,200)であること、AR表示座標が(X,Y)=(10,20)であることを示す。更に、支援画像として表示させるARの形状が“スタンプX1”というスタンプ形状であり、スタンプとともに表示するテキスト内容が“取り外し”であることを示す。例えば、テキスト内容は、スタンプに隣接する所定の領域に表示される。また、当該レコードによれば、予め設定された画像情報がないことを示す(一方、例えば、項番“3”のレコードではファイル名“画像10.jpg”が設定されており、当該レコードに関しては予め用意されたAR画像が存在している)。更に、合成画像の送信先のIPアドレスが“100.100.100.3”であることを示す。
なお、前述のように枠画像座標は枠画像の特定の頂点のXY座標として指定される。AR表示座標は、スタンプなどの支援画像であれば、スタンプの中心点を配置するXY座標として指定される。また、AR表示座標は、マスク画像であれば、枠画像と同様に、マスク画像として表示する四角形の特定の頂点のXY座標として指定される。また、AR情報記憶部130は、AR形状情報毎に、情報機器の何れのモジュール位置(情報機器の所定の座標系における位置)に表示させるかという情報を予め記憶している。
図7は、制御テーブルの例を示す図である。制御テーブル132は、AR情報記憶部130に格納される。制御テーブル132は、解像度情報、物体形状枠生成フラグ、マーカー検出フラグ、AR画像生成フラグおよび作業終了フラグの項目を含む。
解像度情報の項目には、ディスプレイ106の解像度が登録される。物体形状枠生成フラグの項目には、枠画像を生成したか否かを示す物体形状枠生成フラグが登録される。物体形状枠生成フラグは、“true”が生成済を示し、“false”が未生成を示す。マーカー検出フラグの項目には、ARマーカーを検出したか否かを示すマーカー検出フラグが登録される。マーカー検出フラグは、“true”が検出済を示し、“false”が未検出を示す。AR画像生成フラグの項目には、AR画像を生成したか否かを示すAR画像生成フラグが登録される。AR画像生成フラグは、“true”が生成済を示し、“false”が未生成を示す。作業終了フラグの項目には、作業者U1により作業終了の入力が行われたか否かを示す作業終了フラグが登録される。作業終了フラグは、“true”が作業終了の入力ありを示し、“false”が作業終了の入力なしを示す。何れのフラグも初期値は“false”である。
例えば、制御テーブル132には、解像度情報が“640*480”、物体形状枠生成フラグが“false”、マーカー検出フラグが“true”、AR画像生成フラグが“false”、作業終了フラグが“false”という情報が登録される。これは、ディスプレイ106の解像度が、長辺640ピクセル×短辺480ピクセルであることを示す。また、枠画像が未生成であること、カメラ画像からマーカー画像を検出していること、AR画像が未生成であること、作業終了の入力がないことを示す。
図8は、作業支援の例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。作業者U1は、保守作業を開始する際に、スマート端末100に作業IDを入力する。作業者U1は、背面カメラ105を作業対象機器へ向ける。
(S11)背面カメラ105は、作業対象機器を含む領域の撮像を開始し、カメラ画像の出力を開始する。画像受信部141は、背面カメラ105が出力するカメラ画像を受信する。表示制御部147は、出力されたカメラ画像を、画像受信部141および画像合成部146を介して取得し、ディスプレイ106に表示させる。
(S12)マーカー検出部142は、画像受信部141からカメラ画像を取得し、ARマーカーに対応するマーカー画像を、カメラ画像から検出する。マーカー検出部142は、取得したカメラ画像を画像記憶部120に格納する。マーカー検出部142は、AR情報管理部143を介して、制御テーブル132のマーカー検出フラグを“true”に設定する。マーカー検出部142は、マーカー画像から当該マーカー画像に対応するマーカーIDを取得する。なお、マーカー検出部142は、カメラ画像の中からマーカー画像を検出していない場合は、制御テーブル132のマーカー検出フラグを“false”に設定する。
(S13)枠生成部145は、物体形状枠生成処理を実行する。具体的には、枠生成部145は、作業対象機器の機器情報(形状やサイズなど)、および、ARマーカーの情報(基準となる形状やサイズに対するマーカー画像の変形率)に応じた枠画像を生成する。作業対象機器の機器情報やARマーカーの情報は、作業IDおよびマーカーIDの組み合わせに対応づけてAR情報記憶部130に予め格納されている。処理の詳細は後述される。
(S14)画像合成部146は、枠生成部145により生成された枠画像を、カメラ画像に合成した枠合成画像を生成する。表示制御部147は、画像合成により生成された枠合成画像をディスプレイ106により表示させる。このとき、表示制御部147は、枠画像の表示位置を、AR管理テーブル131に登録された枠画像座標により決定する。作業者U1は、スマート端末100を動かして背面カメラ105と作業対象機器との位置関係を調整することで、ディスプレイ106に表示された枠画像に、作業対象機器画像の縁を合わせる。作業者U1は、作業対象機器画像の縁を枠画像に合わせた後、タッチパネル108をタッチ操作することで、AR生成開始の入力を行う。
(S15)タッチ処理部148は、AR生成開始の入力を受け付け、AR情報管理部143を介して当該入力を受け付けたことを、枠比率計算部149に通知する。
(S16)枠比率計算部149は、物体形状枠比率計算処理を実行する。具体的には、枠比率計算部149は、マーカー画像と作業対象機器画像との位置関係を算出する。枠比率計算部149は、作業対象機器を基準としたモジュール位置の情報と、算出したマーカー画像と作業対象機器画像との位置関係とを基に、現在のカメラ画像におけるAR表示座標を決定する。処理の詳細は後述される。
(S16)枠比率計算部149は、物体形状枠比率計算処理を実行する。具体的には、枠比率計算部149は、マーカー画像と作業対象機器画像との位置関係を算出する。枠比率計算部149は、作業対象機器を基準としたモジュール位置の情報と、算出したマーカー画像と作業対象機器画像との位置関係とを基に、現在のカメラ画像におけるAR表示座標を決定する。処理の詳細は後述される。
(S17)AR画像生成部150は、AR情報記憶部130に記憶されたAR管理テーブル131に基づいてAR画像(支援画像およびマスク画像を含む)を生成する。
(S18)画像合成部146は、AR画像生成部150により生成されたAR画像を、画像受信部141から取得したカメラ画像に合成して合成画像を生成する。画像合成部146は、AR画像の配置位置として、枠比率計算部149により計算されたAR表示座標を用いる。表示制御部147は、画像合成部146により生成された合成画像をディスプレイ106に出力する。ディスプレイ106は、合成画像を表示する。
(S18)画像合成部146は、AR画像生成部150により生成されたAR画像を、画像受信部141から取得したカメラ画像に合成して合成画像を生成する。画像合成部146は、AR画像の配置位置として、枠比率計算部149により計算されたAR表示座標を用いる。表示制御部147は、画像合成部146により生成された合成画像をディスプレイ106に出力する。ディスプレイ106は、合成画像を表示する。
(S19)変形率計算部144は、画像記憶部120に格納されるカメラ画像に基づいて、マーカー画像に変化があるか否かを判定する。変化がある場合、処理をステップS20に進める。変化がない場合、処理をステップS21に進める。例えば、スマート端末100の作業対象機器に対する配置が作業者U1によって変更されると、作業対象機器の撮像方向も変化し、それに伴って、カメラ画像に含まれるマーカー画像(マーカー画像の形状)も変化し得る。
(S20)変形率計算部144は、マーカー画像の変形率を求め、AR情報管理部143を介してAR画像生成部150に通知する。AR画像生成部150は、マーカー画像の変形率に基づいてAR画像の形状を補正する。画像合成部146は、カメラ画像に対して補正後のAR画像を合成した合成画像を生成する。表示制御部147は、画像合成部146により生成された合成画像をディスプレイ106に表示させる。
(S21)タッチ処理部148は、作業終了の入力があったか否かを判定する。作業終了の入力があった場合、タッチ処理部148は、制御テーブル132の作業終了フラグを“false”から“true”に変更し、作業支援の処理を終了する。作業終了の入力がない場合、処理をステップS19に進める。
図9は、物体形状枠生成の例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。図9に示す手順は、図8のステップS13に相当する。
(S31)枠生成部145は、作業ID、作業対象機器の物体形状情報、ディスプレイ106の解像度情報を、AR情報管理部143から取得する。前述のように、作業IDは、作業者U1により作業開始前にスマート端末100に入力される。作業対象機器の物体形状情報は、作業対象情報の機器情報に含まれる情報であり、作業対象機器の形状やサイズ(縦横比など)の情報を含む。例えば、作業対象機器の物体形状情報は、AR管理テーブル131の枠画像情報に登録された情報機器の画像から把握可能である。ディスプレイ106の解像度情報は、制御テーブル132に登録されている解像度情報の項目の設定値である。
(S31)枠生成部145は、作業ID、作業対象機器の物体形状情報、ディスプレイ106の解像度情報を、AR情報管理部143から取得する。前述のように、作業IDは、作業者U1により作業開始前にスマート端末100に入力される。作業対象機器の物体形状情報は、作業対象情報の機器情報に含まれる情報であり、作業対象機器の形状やサイズ(縦横比など)の情報を含む。例えば、作業対象機器の物体形状情報は、AR管理テーブル131の枠画像情報に登録された情報機器の画像から把握可能である。ディスプレイ106の解像度情報は、制御テーブル132に登録されている解像度情報の項目の設定値である。
(S32)枠生成部145は、物体形状情報および解像度情報を基に、枠画像座標を計算する。前述のように、例えば、枠生成部145は、ディスプレイ106の中央部分に枠画像が表示されるように、枠画像座標を計算する。
(S33)枠生成部145は、作業対象機器の縦横比を基に、作業対象機器の輪郭に合った枠画像を生成する。枠画像の縦横比は、作業対象機器の輪郭の縦横比と同じになる。
(S34)枠生成部145は、生成した枠画像をAR管理テーブル131の枠画像情報の項目に設定し、画像合成部146に提供する。
(S34)枠生成部145は、生成した枠画像をAR管理テーブル131の枠画像情報の項目に設定し、画像合成部146に提供する。
(S35)枠生成部145は、生成した枠画像座標を、AR情報記憶部130に格納する。具体的には、枠生成部145は、生成した枠画像座標を、AR管理テーブル131の枠画像座標の項目に設定する。
図10は、物体形状枠比率計算の例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。図10に示す手順は、図8のステップS16に相当する。
(S41)枠比率計算部149は、作業対象機器の枠画像座標、マーカー画像の変形率、および、マーカー座標を、AR情報管理部143から取得する。
(S42)枠比率計算部149は、枠とマーカー画像の基準点との間の距離を計算する。これにより、枠比率計算部149は、枠画像に対するマーカー画像の相対的な位置を取得できる。また、枠画像は作業対象機器の縁に、マーカー画像は作業対象機器のARマーカーに、それぞれ対応しており、枠画像に対するマーカー画像の相対的な位置は、作業対象機器に対するARマーカーの相対的な位置に相当していると考えることができる。こうして、枠比率計算部149は、枠画像とマーカー画像との位置関係(すなわち、作業対象機器とARマーカーとの位置関係)を取得する。
(S42)枠比率計算部149は、枠とマーカー画像の基準点との間の距離を計算する。これにより、枠比率計算部149は、枠画像に対するマーカー画像の相対的な位置を取得できる。また、枠画像は作業対象機器の縁に、マーカー画像は作業対象機器のARマーカーに、それぞれ対応しており、枠画像に対するマーカー画像の相対的な位置は、作業対象機器に対するARマーカーの相対的な位置に相当していると考えることができる。こうして、枠比率計算部149は、枠画像とマーカー画像との位置関係(すなわち、作業対象機器とARマーカーとの位置関係)を取得する。
(S43)枠比率計算部149は、ステップS42で計算した距離と、マーカー画像の変形率とを基に、AR画像の表示座標(AR表示座標)を計算する。例えば、モジュール交換や取り外しの支援画像をAR画像として表示するために、枠比率計算部149は、作業対象機器を基準とした該当のモジュール位置の情報を機器情報から得られる。枠比率計算部149は、作業対象機器を基準とした当該モジュール位置を、マーカー画像の基準点を原点としたXY座標系の座標に変換する。また、例えば、カメラ画像における作業対象機器画像以外の領域をマスクするマスク画像をAR画像として表示するために、枠比率計算部149は、枠外の領域を指定するXY座標系の座標を、マーカー画像の基準点に対するAR表示座標として求める。マスク画像のAR表示画像を求める処理の詳細は後述される。
(S44)枠比率計算部149は、計算したAR表示座標を、AR管理テーブル131のAR表示座標の項目に登録する。枠比率計算部149は、ある作業IDとマーカーIDとの組に対して、AR表示座標を複数計算することもある(例えば、AR画像として、支援画像とマスク画像との両方を表示する場合)。その場合、枠比率計算部149は、AR管理テーブル131に、当該作業IDとマーカーIDとの組に対応するレコードを複数登録する。
図11は、AR画像生成の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。図11に示す手順は、図8のステップS17に相当する。
(S51)AR画像生成部150は、AR表示座標、AR形状情報、ARマーカー変形率およびテキスト情報を、AR情報管理部143から取得する。ただし、作業IDとマーカーIDとの組に対して、AR管理テーブル131にAR形状情報やテキスト情報が登録されていないこともある。その場合、AR画像生成部150は、ステップS51においてAR形状情報やテキスト情報を取得しない。
(S52)AR画像生成部150は、AR情報記憶部130に格納されたAR管理テーブル131から画像情報を取得する。ただし、作業IDとマーカーIDとの組に対して、AR管理テーブル131に画像情報が登録されていない場合は、ステップS52をスキップしてステップS53に進めてよい。
(S53)AR画像生成部150は、AR表示座標、AR形状情報、テキスト情報および画像情報から、AR画像を生成する。AR画像生成部150は、AR画像として、支援画像やマスク画像を生成する。
(S54)AR画像生成部150は、ARマーカー変形率を基にAR画像を変形する。
(S55)AR画像生成部150は、生成した変形後のAR画像を画像合成部146に提供する。AR画像生成部150は、制御テーブル132のAR画像生成フラグを“true”に設定する。なお、AR画像生成部150は、AR画像の生成を行わなくなると、AR生成フラグを“false”に設定する。
(S55)AR画像生成部150は、生成した変形後のAR画像を画像合成部146に提供する。AR画像生成部150は、制御テーブル132のAR画像生成フラグを“true”に設定する。なお、AR画像生成部150は、AR画像の生成を行わなくなると、AR生成フラグを“false”に設定する。
次に、通信制御部151による画像送信処理の手順を説明する。以下に示す手順は、図8の手順と平行して実行される。
図12は、画像送信処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
図12は、画像送信処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(S61)通信制御部151は、画像合成部146から合成画像を取得する。
(S62)通信制御部151は、AR画像を生成済であるか否かを判定する。生成済である場合、処理をステップS63に進める。生成済でない場合、処理をステップS62に進める(生成済と判定するまで待機する)。例えば、通信制御部151は、AR情報記憶部130に記憶された制御テーブル132のAR画像生成フラグを確認することで、ステップS62の判定を行える。AR画像生成フラグが“true”の場合、AR画像を生成済であると判定する。AR画像生成フラグが“false”の場合、AR画像を生成済でないと判定する。
(S62)通信制御部151は、AR画像を生成済であるか否かを判定する。生成済である場合、処理をステップS63に進める。生成済でない場合、処理をステップS62に進める(生成済と判定するまで待機する)。例えば、通信制御部151は、AR情報記憶部130に記憶された制御テーブル132のAR画像生成フラグを確認することで、ステップS62の判定を行える。AR画像生成フラグが“true”の場合、AR画像を生成済であると判定する。AR画像生成フラグが“false”の場合、AR画像を生成済でないと判定する。
(S63)通信制御部151は、ARマーカーが検出されているか否かを判定する。検出されている場合、処理をステップS64に進める。検出されていない場合、処理をステップS63に進める(検出されていると判定するまで待機する)。例えば、通信制御部151は、制御テーブル132のマーカー検出フラグを確認することで、ステップS63の判定を行える。マーカー検出フラグが“true”の場合、ARマーカーが検出されていると判定する。マーカー検出フラグが“false”の場合、ARマーカーが検出されていないと判定する。
(S64)通信制御部151は、現作業IDおよびマーカーIDに対し、AR管理テーブル131の画像送信先情報の設定があるか否かを判定する。設定がある場合、処理をステップS65に進める。設定がない場合、処理をステップS64に進める(設定されるまで待機する)。例えば、表示制御部147は、画像送信先情報の設定がない場合、作業者U1に画像送信先情報の設定を促すメッセージや設定用インタフェースなどをディスプレイ106に表示させてもよい。
(S65)通信制御部151は、画像送信先情報で指定される画像送信先(例えば、ストリーミングサーバ200)への合成画像の送信を開始する。
(S66)通信制御部151は、制御テーブル132に登録されたARマーカー検出フラグをAR情報管理部143から取得し、監視する。
(S66)通信制御部151は、制御テーブル132に登録されたARマーカー検出フラグをAR情報管理部143から取得し、監視する。
(S67)通信制御部151は、ARマーカー検出フラグに基づいて、ARマーカーが検出されているか否かを判定する。検出されている場合、処理をステップS68に進める。検出されていない場合、処理をステップS69に進める。
(S68)通信制御部151は、作業終了の入力があったか否かを判定する。作業終了の入力があった場合、処理をステップS69に進める。作業終了の入力がない場合、処理をステップS67に進める。例えば、通信制御部151は、制御テーブル132の作業終了フラグを確認することで、ステップS68の判定を行える。作業終了フラグが“true”の場合、作業終了の入力があったと判定する。作業終了フラグが“false”の場合、作業終了の入力がないと判定する。
(S69)通信制御部151は、画像送信を停止する。
通信制御部151は、上記の画像送信処理の手順を、画像合成部146から合成画像を取得するたびに繰り返し実行する。このとき、通信制御部151は、ステップS62,S63で例示したように、AR画像の生成状況やARマーカー(マーカー画像)の検出状況に応じて画像送信を開始するか否かを判定する。特に、AR画像が生成されていない場合には、画像送信を停止する。これにより、マスク画像を含まないカメラ画像がストリーミングサーバ200に送信されることを防げる。このため、外部の支援者U2が、作業対象機器以外の情報機器を見ることを防げ、セキュリティを高めることができる。
通信制御部151は、上記の画像送信処理の手順を、画像合成部146から合成画像を取得するたびに繰り返し実行する。このとき、通信制御部151は、ステップS62,S63で例示したように、AR画像の生成状況やARマーカー(マーカー画像)の検出状況に応じて画像送信を開始するか否かを判定する。特に、AR画像が生成されていない場合には、画像送信を停止する。これにより、マスク画像を含まないカメラ画像がストリーミングサーバ200に送信されることを防げる。このため、外部の支援者U2が、作業対象機器以外の情報機器を見ることを防げ、セキュリティを高めることができる。
図13は、スマート端末の表示例(その1)を示す図である。例えば、作業者U1がスマート端末100を用いて、情報機器10aの保守を行う場合を考える。情報機器10aの横には、情報機器10b,10cが並べて設置されている。保守の作業対象である情報機器10aの正面の一部に、ARマーカー11aが付与されている。
作業者U1は、スマート端末100に保守作業の作業IDを入力し、背面カメラ105を、情報機器10aに向ける。すると、背面カメラ105は撮像を開始する。スマート端末100は、背面カメラ105により取得したカメラ画像をディスプレイ106に表示させる。ここで、背面カメラ105の視野には、情報機器10a,10b,10cが含まれる。このため、ディスプレイ106に表示されるカメラ画像には、情報機器10a,10b,10cそれぞれに対応する機器画像P11,P12,P13が含まれる。
また、スマート端末100は、ディスプレイ106に表示されるカメラ画像に対し、ボタンPt1,Pt2を重ねて表示する。ボタンPt1は、保守作業の終了をスマート端末100に入力するための作業終了ボタンである。ボタンPt2は、保守作業の支援画像およびマスク画像を含むAR画像の生成開始をスマート端末100に入力するためのAR生成ボタンである。
スマート端末100は、カメラ画像から、ARマーカー11aに対応するマーカー画像M11を検出する。すると、スマート端末100は、マーカー画像M11によって示されるマーカーIDを取得し、作業IDとマーカーIDとの組に対応する作業対象機器の枠画像Fr10を生成する。スマート端末100は、ディスプレイ106に表示されるカメラ画像に対し、枠画像Fr10を重ねて表示する。例えば、スマート端末100は、ディスプレイ106の表示領域の中央部に、枠画像Fr10を表示する。スマート端末100は、ディスプレイ106の表示領域に対する枠画像Fr10の配置を固定する。
この時点では、枠画像Fr10は、機器画像P11の縁に合っていない。
図14は、スマート端末の表示例(その2)を示す図である。作業者U1は、スマート端末100の位置を変更して、機器画像P11の縁を、枠画像Fr10に合わせる。図14では、機器画像P11の縁が、枠画像Fr10に合わさった状態を例示している。作業者U1は、機器画像P11の縁を、枠画像Fr10に合わせると、AR生成ボタンPt2を押下操作する。すると、スマート端末100は、マーカー画像M11と枠画像Fr10との位置関係を算出する。具体的には、スマート端末100は、マーカー画像M11の基準点と、枠画像Fr10の各辺との距離(ピクセル値で表わされる)を算出する。これにより、スマート端末100は、マーカー画像M11が機器画像P11のどの位置に存在しているかを把握できる。
図14は、スマート端末の表示例(その2)を示す図である。作業者U1は、スマート端末100の位置を変更して、機器画像P11の縁を、枠画像Fr10に合わせる。図14では、機器画像P11の縁が、枠画像Fr10に合わさった状態を例示している。作業者U1は、機器画像P11の縁を、枠画像Fr10に合わせると、AR生成ボタンPt2を押下操作する。すると、スマート端末100は、マーカー画像M11と枠画像Fr10との位置関係を算出する。具体的には、スマート端末100は、マーカー画像M11の基準点と、枠画像Fr10の各辺との距離(ピクセル値で表わされる)を算出する。これにより、スマート端末100は、マーカー画像M11が機器画像P11のどの位置に存在しているかを把握できる。
また、スマート端末100は、機器画像P11以外の領域をマスクするマスク画像の生成を行う。
図15は、マスク画像の生成例(その1)を示す図である。図15では、ディスプレイ106の表示領域における点C10,C11,C12,C13,C21,C22,C23,C24が示されている。点C10は、マーカー画像M11を基準としたXY座標系の原点(0,0)である。点C11は、点C10からY軸の正の方向に延ばした直線と、枠画像Fr10の一辺とが交わる点である。点C12は、点C10からX軸の負の方向に延ばした直線と、枠画像Fr10の一辺とが交わる点である。点C13は、点C10からX軸の正の方向に延ばした直線と、枠画像Fr10の一辺とが交わる点である。点C21は、点C10からY軸の正の方向に延ばした直線と、ディスプレイ106の縁の一辺とが交わる点である。点C22は、点C10からX軸の負の方向に延ばした直線と、ディスプレイ106の縁の一辺とが交わる点である。点C23は、点C10からX軸の正の方向に延ばした直線と、ディスプレイ106の一辺とが交わる点である。点C24は、点C10からY軸の負の方向に延ばした直線と、ディスプレイ106の縁の一辺とが交わる点である。
図15は、マスク画像の生成例(その1)を示す図である。図15では、ディスプレイ106の表示領域における点C10,C11,C12,C13,C21,C22,C23,C24が示されている。点C10は、マーカー画像M11を基準としたXY座標系の原点(0,0)である。点C11は、点C10からY軸の正の方向に延ばした直線と、枠画像Fr10の一辺とが交わる点である。点C12は、点C10からX軸の負の方向に延ばした直線と、枠画像Fr10の一辺とが交わる点である。点C13は、点C10からX軸の正の方向に延ばした直線と、枠画像Fr10の一辺とが交わる点である。点C21は、点C10からY軸の正の方向に延ばした直線と、ディスプレイ106の縁の一辺とが交わる点である。点C22は、点C10からX軸の負の方向に延ばした直線と、ディスプレイ106の縁の一辺とが交わる点である。点C23は、点C10からX軸の正の方向に延ばした直線と、ディスプレイ106の一辺とが交わる点である。点C24は、点C10からY軸の負の方向に延ばした直線と、ディスプレイ106の縁の一辺とが交わる点である。
AR画像生成部150は、次の各点間の距離(ピクセル値)を得る。具体的には、点C10,C21間の距離は、αピクセルである。点C10,C22間の距離は、βピクセルである。点C11,C21間の距離はγピクセルである。点C12,C22間の距離は、δピクセルである。点C22,C23間の距離は、εピクセルである。点C21,C24間の距離は、ζピクセルである。
図16は、マスク画像の生成例(その2)を示す図である。AR画像生成部150は、点C10に対して、X≦0の領域を覆う、縦2ζピクセル、横εピクセルの長方形のマスク画像P21を生成する。マスク画像P21のX座標が最小である頂点の座標は、(−ε,ζ)、(−ε,−ζ)の2つである(図16(A))。
AR画像生成部150は、マスク画像P21をX軸の負の方向に(β−δ)ピクセルだけ平行移動させる(図16(B))。移動後、マスク画像P21のX座標が最小である頂点の座標は、(−(ε+β−δ),ζ)、(−(ε+β−δ),−ζ)となる。
図17は、マスク画像の生成例(その3)を示す図である。AR画像生成部150は、点C10に対して、Y≧0の領域を覆う、縦ζピクセル、横2εピクセルの長方形のマスク画像P22を生成する。マスク画像P22のY座標が最大である頂点の座標は、(−ε,ζ)、(ε,ζ)の2つである(図17(A))。
AR画像生成部150は、マスク画像P22をY軸の正の方向に(α−γ)ピクセルだけ平行移動させる(図17(B))。移動後、マスク画像P22のY座標が最大である頂点の座標は、(−ε,ζ+α−γ)、(ε,ζ+α−γ)となる。
図18は、マスク画像の生成例(その4)を示す図である。同様に、AR画像生成部150は、点C10に対して、X≧0の領域を覆う縦2ζピクセル、横εピクセルの長方形のマスク画像P23を生成し、マスク画像P23をX軸の正の方向に平行移動させる。また、AR画像生成部150は、点C10に対して、Y≦0の領域を覆う縦ζピクセル、横2εピクセルの長方形のマスク画像P24を生成し、マスク画像P24をY軸の負の方向に平行移動させる。こうして、AR画像生成部150は、機器画像P11以外の領域を覆うマスク画像P21,P22,P23,P24を生成する。AR画像生成部150は、マスク画像P21,P22,P23,P24を結合して、1つのマスク画像P20としてもよい。なお、上記のように、ディスプレイ106の縦横方向のピクセル数に応じてマスク画像を生成する理由は、AR画像として有限のサイズをもつ画像を生成することが求められるためである。その際、ディスプレイ106の縦横方向のピクセル数よりも2〜3倍程度覆えば十分であると考えられるからである(前述のように、背面カメラ105の視野からARマーカーがなくなり、ARマーカーが検出されなくなれば、画像送信が停止されるため)。
図19は、スマート端末の表示例(その3)を示す図である。図19では、スマート端末100によりカメラ画像に重ねてAR画像が表示されている例を示している。例えば、ディスプレイ106に表示されているAR画像には、支援画像Ps1,Ps2,Ps3が含まれる。支援画像Ps1は、作業者U1に注意を促すアイコンである。支援画像Ps2は、作業内容を指示する文字列(文字列の吹き出し表示)である。支援画像Ps3は、作業者U1に作業対象を指示する指示画像である。また、ディスプレイ106に表示されているAR画像には、マスク画像P20が含まれる。マスク画像P20は、機器画像P11以外の領域をマスクする。このため、情報機器10aとともに情報機器10b,10cが背面カメラ105の視野に入っているとしても、ディスプレイ106には、情報機器10aに対応する機器画像P11のみが表示され、それ以外の領域はマスク画像P20によって隠される。すなわち、作業対象外である情報機器10b,10cの機器画像P12,P13はマスク画像P20によって隠される。
図20は、支援端末の表示例を示す図である。第2の実施の形態の例のように、ネットワーク機器などの保守現場では、ARによる作業支援のため、カメラを使用して作業対象機器の撮影を行い、撮影した画像に重畳データを表示させたり、遠地の後方支援者に画像や動画を送信したりすることがある。
しかし、顧客のサーバルームなどの保守作業の現場には、複数社の機器が入っている場合がある。社外の機器や、社内の機器であっても、作業対象外の機器を撮影し、当該機器の画像を配信してしまうことは、情報漏洩につながる可能性があり、セキュリティ上の問題がある。また、機器が密集している場合に、隣接している作業対象外の機器が意図せずに映り込んでしまう可能性がある。このため、作業対象機器の周囲の画像は配信されないようにすることが好ましい。
そこで、スマート端末100は、マスク画像P20が表示された状態の表示画像G1の画像情報をストリーミングサーバ200に送信する。すると、ストリーミングサーバ200は、支援端末300に当該画像情報を配信する。支援端末300は、配信された画像情報に基づいて、表示画像G2を表示する。表示画像G2も、表示画像G1と同様にマスク画像を含む。このため、支援者U2に、作業対象である情報機器10a以外の機器画像を見せずに済む。こうして、保守作業の現場に設置された、作業対象機器以外の情報機器に関する情報漏洩を防げる。
ここで、AR技術のように、カメラ画像から検出されたマーカー画像に対する相対位置にAR画像を表示する場合、第2の実施の形態のようにARマーカーを情報機器の任意の位置に貼り付け可能であると、AR画像の表示位置の特定が難しい。マーカー画像に対する相対位置として、情報機器の特定のモジュールなどの位置を予め(例えば、保守作業前や情報機器の製造段階などで)指定しておくことができないからである。そこで、スマート端末100は、カメラ画像内のマーカー画像と機器画像との位置関係を算出し、算出した位置関係と機器情報とに基づいて、マーカー画像に対する相対位置として、AR画像の表示位置を管理する。これにより、情報機器の任意の場所にARマーカーを貼り付け可能としながら、マーカー画像に対する相対位置としてAR画像の表示位置を特定でき、マーカー画像の変化に応じてAR画像の表示位置や形状も変化させることができる。このため、例えば、スマート端末100の背面カメラ105による撮像方向の変化に追随して、機器画像P11以外の領域を適切にマスクすることができ、セキュリティ性をより高めることができる。
図21は、撮像方向の変更例を示す図である。例えば、作業者U1は、スマート端末100の背面カメラ105を、情報機器10dに向けて作業を行っているとする(背面カメラ105の視野の向きを撮像方向V1とする)。このとき、背面カメラ105の視野には、情報機器10dに付されたARマーカー11dが含まれている。
作業者U1は、スマート端末100を持ちながら移動することで、情報機器10dに対する背面カメラ105の撮像方向を変更させる。変更後の撮像方向を撮像方向V2とする。このとき、背面カメラ105の視野には、ARマーカー11dが含まれている。ARマーカー11dは、撮像方向V1のときと比べて変形して撮像されることになる。
図22は、画像の変形例を示す図である。マーカー画像M12は、撮像方向V1から見たときのARマーカー11dの画像である。マーカー画像M12の4つの頂点をA,B,C,Dとする。頂点B,Dを結ぶ辺の長さを、BDとする(図22(A))。マーカー画像M12aは、撮像方向V2から見たときのARマーカー11dの画像である。マーカー画像M12aの4つの頂点をa,b,c,dとする。頂点bdを結ぶ辺の長さを、bdとする(図22(A))。
更に、マーカー画像M12,M12aの中央を原点(0,0)とする(図22(B))。図22に向かって、左から右への向きを正方向とするx軸、下から上への向きを正方向とするy軸を考え、原点を基準とした座標(x,y)により各頂点を表わす。すると、頂点Aの座標は、(−2,2)である。頂点Bの座標は、(2,2)である。頂点Cの座標は、(−2,−2)である。頂点Dの座標は、(2,−2)である。
また、頂点aの座標は、a(−2,3)である。頂点bの座標は、(2,1)である。頂点cの座標は、(−2,−1)である。頂点dの座標は、(2,−3)である(図22(C))。
この場合、マーカー画像M12,M12aの頂点の座標に対して、頂点の変形率(x軸変形率,y軸変形率)を求めると、頂点Aに対する頂点aの変形率は、Aa(2/2,3/2)=Aa(1,1.5)である。頂点Bに対する頂点bの変形率は、Bb(1,0.5)である。頂点Cに対する頂点cの変形率は、Cc(1,0.5)である。頂点Dに対する頂点dの変形率は、Dd(1,1.5)である。
図23は、画像の変形例(続き)を示す図である。マーカー画像の大きさの変化(背面カメラ105とARマーカー11dとの距離の変化に相当)については、辺BDに対する辺bdの長さの比率を使用して把握される。辺BDに対する辺bdの比率は、2/3であるとする(図23(A))。
ここで、スマート端末100は、撮像方向V1から情報機器10dを撮像することで、情報機器10dに対応する機器画像P14に対し、マスク画像P25を生成したとする。マスク画像P25の四隅の頂点を頂点E,F,G,Hとする。また、マスク画像P25の中央を原点(0,0)とする。すると、頂点Eの座標は、(−4,4)である。頂点Fの座標は、(4,4)である。頂点Gの座標は、(−4,−4)である。頂点Hの座標は、(4,−4)である。マーカー画像M12とマスク画像P25とは何れも四角形であり、スマート端末100は、各頂点を対応づけることができる。具体的には、頂点Aと頂点Eとを対応づける。頂点Bと頂点Fとを対応づける。頂点Cと頂点Gとを対応づける。頂点Dと頂点Hとを対応づける。すると、スマート端末100は、図22で例示した頂点A,B,C,Dそれぞれの変形率を、頂点E,F,G,Hに適用することで、撮像方向V2から情報機器10dを撮像して得られた機器画像P14aに対するマスク画像P25aを生成できる。
具体的には、マスク画像P25aの頂点E,F,G,Hそれぞれに対応する頂点を頂点e,f,g,hとする。すると、スマート端末100は、頂点Eの座標(−4,4)に、変形率Aa(1,1.5)を適用して、頂点eの座標(−4×1,4×1.5)=(−4,6)を得る。頂点Fの座標(4,4)に、変形率Bb(1,0.5)を適用して、頂点fの座標(4,2)を得る。頂点Gの座標(−4,−4)に、変形率Cc(1,0.5)を適用して、頂点gの座標(−4,−2)を得る。頂点Hの座標(4,−4)に変形率Dd(1,1.5)を適用して、頂点hの座標(4,−6)を得る(図23(B))。
更に、スマート端末100は、マスク画像P25の各辺の長さに対して、図23(A)で求めた辺BDに対する辺bdの比率2/3を乗じることで、マスク画像P25aの大きさを変形する。例えば、マスク画像P25の頂点F,H間の長さが6である場合、マスク画像P25aの頂点f,h間の長さが4になるように変形する(図23(C))。こうして、スマート端末100は、背面カメラ105による撮像方向の変化に追随して、時系列に入力されるカメラ画像内のマーカー画像の変形に応じてマスク画像を変形させ、隠す対象の領域(機器画像P14a以外の領域)を補正する。これにより、背面カメラ105による撮像方向が変更されても、機器画像P14a以外の領域を適切にマスクでき、セキュリティ性を高められる。
ところで、第2の実施の形態の例では、作業者U1が、ディスプレイ106に表示された枠画像を、機器画像の縁に合わせるものとしたが、スマート端末100が枠画像を機器画像の縁に合わせてもよい。例えば、次の方法が考えられる。
図24は、情報機器の特徴点の例を示す図である。情報機器10fは、ARマーカー11fに加えて、機器正面に特徴的な図形やパターンなどで表わされる特徴点12f,13f,14f,15fが付与されている(図24(A))。
スマート端末100は、例えば、情報機器10fの機器情報として、情報機器10fの形状やサイズなどの情報(枠画像Fr11の基になる情報)に加え、情報機器10における特徴点の配置に関する情報を、作業IDおよびマーカーIDに対応づけて予め記憶する。すると、スマート端末100は、枠画像Fr11に対し、情報機器10fにおける特徴点12f,13f,14f,15fの位置を反映した、特徴点画像M21,M22,M23,M24を得ることができる(図24(B))。スマート端末100は、特徴点画像M21,M22,M23,M24を用いて、枠画像Fr11を、情報機器10fの機器画像の縁に合わせることもできる。具体的には、次の通りである。
図25は、作業支援の他の例を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。なお、図25の手順では、図8で例示した手順のうち、ステップS13の次に、ステップS14,S15に代えて、ステップS14aを実行する点が異なる。そこで、以下では、ステップS14aを説明し、他のステップの説明を省略する。
(S14a)枠生成部145は、AR情報記憶部130に記憶された機器情報に基づいて、ステップS13で生成した枠画像に対して特徴点画像を配置し、マーカー画像の基準サイズに対する変形率を用いて枠画像および特徴点画像を変形させる。そして、枠生成部145は、変形後の特徴点画像が、カメラ画像に含まれる機器画像内の特徴点画像に一致させるよう、変形後の枠画像と特徴点画像とを移動させる。すると、枠画像が機器画像の縁に合わさる。そして、処理をステップS16に進める。
図26は、枠設定の例を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。図26に示す手順は、図25のステップS14aに相当する。
(S71)枠生成部145は、マーカー画像の基準サイズに対する変形率を計算する。
(S71)枠生成部145は、マーカー画像の基準サイズに対する変形率を計算する。
(S72)枠生成部145は、作業対象装置の枠画像をマーカー画像の変形率を基に変形することで、特徴点画像の枠画像に対する位置を補正する。
(S73)枠生成部145は、カメラ画像に含まれる機器画像に対して、位置補正後の特徴点画像を、既存のパターン認識の方法を用いて照合することで、作業対象機器の機器画像を識別する。具体的には、枠生成部145は、補正後の特徴点画像と、当該補正後の特徴点画像と合致する特徴点画像を含む機器画像を、作業対象機器の機器画像と識別する。
(S73)枠生成部145は、カメラ画像に含まれる機器画像に対して、位置補正後の特徴点画像を、既存のパターン認識の方法を用いて照合することで、作業対象機器の機器画像を識別する。具体的には、枠生成部145は、補正後の特徴点画像と、当該補正後の特徴点画像と合致する特徴点画像を含む機器画像を、作業対象機器の機器画像と識別する。
(S74)枠生成部145は、補正後の特徴点画像と、機器画像内の特徴点画像とを一致させることで、作業対象機器の機器画像の外縁に、枠画像の枠を一致させる。前述のように、枠生成部145は、特徴点画像に対する枠画像の相対位置を機器情報により把握しているので、補正後の特徴点画像と、機器画像内の特徴点画像とを一致させた後、特徴点画像の位置に対する当該相対位置により、枠画像の配置位置を決定する。すると、枠画像の枠を、作業対象機器の機器画像の外縁に一致させることができる。このようにして、枠生成部145は、枠設定を行う。
図27は、枠設定の具体例を示す図である。例えば、枠生成部145は、マーカー11fに対応するマーカー画像M13の基準サイズに対する変形率により枠画像Fr11を変形し、変形後の枠画像Fr11aを生成する。枠生成部145は、変形方法として、図22,23で説明した方法と同様の方法を用いることができる。このとき、枠生成部145は、特徴点画像M21,M22,M23,M24についても、枠画像Fr11の変形率と同様に変形することで、枠画像Fr11および特徴点画像M21,M22,M23,M24を含む画像全体が変形されるようにする。その結果、枠生成部145は、特徴点画像M21に対して特徴点画像M21aを生成する。枠生成部145は、特徴点画像M22に対して特徴点画像M22aを生成する。枠生成部145は、特徴点画像M23に対して特徴点画像M23aを生成する。枠生成部145は、特徴点画像M24に対して特徴点画像M24aを生成する。
ここで、情報機器10fを背面カメラ105で撮像して得られた機器画像P15には、特徴点画像P15a,P15b,P15c,P15dが含まれている。例えば、枠生成部145は、特徴点画像M21a,M22a,M23a,M24aと、特徴点画像P15a,P15b,P15c,P15dとの照合により、機器画像P15が作業対象機器の機器画像であると判断する。そして、枠生成部145は、枠画像Fr11aおよび特徴点画像M21a,M22a,M23a,M24aの位置関係を保ったまま、特徴点画像M21a,M22a,M23a,M24aを、特徴点画像P15a,15b,P15c,P15dに一致させる。すると、枠生成部145は、枠画像Fr11aを機器画像P15の縁に合わせることができる。その後は、スマート端末100は、マーカー画像M13と、枠画像Fr11aとの位置関係を算出することで、マーカー画像M13を基準とした各AR画像の表示位置を決定する。
このように、スマート端末100によって、機器画像P15への枠画像Fr11aの当てはめを行うことで、作業者U1による作業を一部省くことができ、作業者U1による作業を省力化できる。なお、上記の例では、特徴点として、4つの特徴点12f,13f,14f,15fを例示したが、特徴点の数は4つ以外でもよい。また、図中では、各特徴点の形状を黒い四角形により表わしたが、特徴点は他の形状やパターンをもつものでもよい。
なお、第1の実施の形態の情報処理は、端末1が備えるプロセッサにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体22に記録できる。
例えば、プログラムを記録した記録媒体22を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体22に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やフラッシュメモリ103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
以上の第1,第2の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1)画像から対象物に関する情報を有する対象画像を検出する検出部と、
前記対象画像から対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する算出部と、
を有する端末。
(付記1)画像から対象物に関する情報を有する対象画像を検出する検出部と、
前記対象画像から対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する算出部と、
を有する端末。
(付記2)前記算出部は、前記対象画像から読み取られる識別情報に対応づけて前記対象物の形状を示す情報を記憶する記憶部を参照して、前記識別情報に対応する前記対象物の輪郭を示す枠の画像を生成し、前記対象物の画像の縁と前記枠の画像との一致を検出すると、前記対象画像と前記枠との配置に基づいて前記位置関係を算出する、付記1記載の端末。
(付記3)前記記憶部は、前記識別情報に対応づけて前記対象物の特徴点の位置情報を記憶し、
前記算出部は、前記対象物の画像に含まれる前記特徴点と前記位置情報に基づいて、前記対象物の画像の縁に前記枠の画像を一致させる、付記2記載の端末。
前記算出部は、前記対象物の画像に含まれる前記特徴点と前記位置情報に基づいて、前記対象物の画像の縁に前記枠の画像を一致させる、付記2記載の端末。
(付記4)前記算出部は、前記対象物と前記対象画像とを含む第1の画像の所定の位置に、前記枠の画像を重ねた第2の画像を表示装置に出力し、前記第2の画像に含まれる前記対象物の画像の縁と前記枠の画像とが一致したことのユーザによる入力を受け付けると、前記対象物の画像の縁と前記枠の画像との一致を検出する、付記2記載の端末。
(付記5)前記算出部は、前記位置関係に基づいて前記画像内の前記対象物以外の領域を隠した画像を出力する、付記1乃至4記載の端末。
(付記6)前記算出部は、前記位置関係と、入力される画像における前記対象画像の変形とに応じて隠す対象の領域を補正する、付記5記載の端末。
(付記6)前記算出部は、前記位置関係と、入力される画像における前記対象画像の変形とに応じて隠す対象の領域を補正する、付記5記載の端末。
(付記7)前記算出部は、入力される画像から前記対象画像が検出されなくなると、画像の出力を停止する、付記5または6記載の端末。
(付記8)前記算出部は、前記対象画像から読み取られる識別情報と前記対象物における所定位置との対応関係を示す情報と、前記対象画像と前記対象物との位置関係とに基づいて、前記画像内の前記対象画像の基準点に対する前記所定位置の相対的な座標を算出し、算出した前記座標に基づいて前記対象物に対する付加情報の表示位置を決定する、付記1乃至7の何れか1つに記載の端末。
(付記8)前記算出部は、前記対象画像から読み取られる識別情報と前記対象物における所定位置との対応関係を示す情報と、前記対象画像と前記対象物との位置関係とに基づいて、前記画像内の前記対象画像の基準点に対する前記所定位置の相対的な座標を算出し、算出した前記座標に基づいて前記対象物に対する付加情報の表示位置を決定する、付記1乃至7の何れか1つに記載の端末。
(付記9)前記対象画像は、入力された画像に対してAR(Augmented Reality)による付加情報の追加に用いられるAR対象画像である、付記1乃至8の何れか1つに記載の端末。
(付記10)コンピュータに、
画像から対象物の情報が格納されている対象画像を検出し、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する、
処理を実行させる位置関係算出プログラム。
画像から対象物の情報が格納されている対象画像を検出し、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する、
処理を実行させる位置関係算出プログラム。
(付記11)コンピュータが、
画像から対象物の情報が格納されている対象画像を検出し、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する、
位置関係算出方法。
画像から対象物の情報が格納されている対象画像を検出し、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する、
位置関係算出方法。
1 端末
1a 記憶部
1b 検出部
1c 算出部
2 撮像装置
3 出力装置
4,5,6 物体
4a マーカー
P1 入力画像
P1a,P1b,P1c 物体画像
P2 出力画像
P2a マスク画像
M1 マーカー画像
T1 テーブル
Fr1,Fr2 枠画像
1a 記憶部
1b 検出部
1c 算出部
2 撮像装置
3 出力装置
4,5,6 物体
4a マーカー
P1 入力画像
P1a,P1b,P1c 物体画像
P2 出力画像
P2a マスク画像
M1 マーカー画像
T1 テーブル
Fr1,Fr2 枠画像
Claims (8)
- 画像から対象物に関する情報を有する対象画像を検出する検出部と、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する算出部と、
を有する端末。 - 前記算出部は、前記対象画像から読み取られる識別情報に対応づけて前記対象物の形状を示す情報を記憶する記憶部を参照して、前記識別情報に対応する前記対象物の輪郭を示す枠の画像を生成し、前記対象物の画像の縁と前記枠の画像との一致を検出すると、前記対象画像と前記枠との配置に基づいて前記位置関係を算出する、請求項1記載の端末。
- 前記記憶部は、前記識別情報に対応づけて前記対象物の特徴点の位置情報を記憶し、
前記算出部は、前記対象物の画像に含まれる前記特徴点と前記位置情報に基づいて、前記対象物の画像の縁に前記枠の画像を一致させる、請求項2記載の端末。 - 前記算出部は、前記対象物と前記対象画像とを含む第1の画像の所定の位置に、前記枠の画像を重ねた第2の画像を表示装置に出力し、前記第2の画像に含まれる前記対象物の画像の縁と前記枠の画像とが一致したことのユーザによる入力を受け付けると、前記対象物の画像の縁と前記枠の画像との一致を検出する、請求項2記載の端末。
- 前記算出部は、前記位置関係に基づいて前記画像内の前記対象物以外の領域を隠した画像を出力する、請求項1乃至4記載の端末。
- 前記算出部は、前記位置関係と、入力される画像における前記対象画像の変形とに応じて隠す対象の領域を補正する、請求項5記載の端末。
- コンピュータに、
画像から対象物の情報が格納されている対象画像を検出し、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する、
処理を実行させる位置関係算出プログラム。 - コンピュータが、
画像から対象物の情報が格納されている対象画像を検出し、
前記対象画像から前記対象物の情報を取得し、前記対象物の情報と前記画像内の前記対象画像の位置とに基づいて、前記対象画像と前記対象物との位置関係を算出する、
位置関係算出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015240027A JP2017108263A (ja) | 2015-12-09 | 2015-12-09 | 端末、位置関係算出プログラムおよび位置関係算出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015240027A JP2017108263A (ja) | 2015-12-09 | 2015-12-09 | 端末、位置関係算出プログラムおよび位置関係算出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017108263A true JP2017108263A (ja) | 2017-06-15 |
Family
ID=59061034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015240027A Pending JP2017108263A (ja) | 2015-12-09 | 2015-12-09 | 端末、位置関係算出プログラムおよび位置関係算出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017108263A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021177398A (ja) * | 2017-10-20 | 2021-11-11 | レイセオン カンパニー | データキャプチャ及び送信のコンプライアンスを強制するための視野(fov)及びキーコードで制限された拡張現実 |
JP7010417B1 (ja) * | 2021-01-14 | 2022-01-26 | 住友電気工業株式会社 | 情報提供システム、サーバ装置、情報提供方法、および情報提供プログラム |
US11696011B2 (en) | 2021-10-21 | 2023-07-04 | Raytheon Company | Predictive field-of-view (FOV) and cueing to enforce data capture and transmission compliance in real and near real time video |
US11700448B1 (en) | 2022-04-29 | 2023-07-11 | Raytheon Company | Computer/human generation, validation and use of a ground truth map to enforce data capture and transmission compliance in real and near real time video of a local scene |
US11792499B2 (en) | 2021-10-21 | 2023-10-17 | Raytheon Company | Time-delay to enforce data capture and transmission compliance in real and near real time video |
JP7467311B2 (ja) | 2020-10-12 | 2024-04-15 | 株式会社東芝 | 点検システムおよび点検方法 |
-
2015
- 2015-12-09 JP JP2015240027A patent/JP2017108263A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021177398A (ja) * | 2017-10-20 | 2021-11-11 | レイセオン カンパニー | データキャプチャ及び送信のコンプライアンスを強制するための視野(fov)及びキーコードで制限された拡張現実 |
JP7258084B2 (ja) | 2017-10-20 | 2023-04-14 | レイセオン カンパニー | データキャプチャ及び送信のコンプライアンスを強制するための視野(fov)及びキーコードで制限された拡張現実 |
JP7467311B2 (ja) | 2020-10-12 | 2024-04-15 | 株式会社東芝 | 点検システムおよび点検方法 |
JP7010417B1 (ja) * | 2021-01-14 | 2022-01-26 | 住友電気工業株式会社 | 情報提供システム、サーバ装置、情報提供方法、および情報提供プログラム |
WO2022153440A1 (ja) * | 2021-01-14 | 2022-07-21 | 住友電気工業株式会社 | 情報提供システム、サーバ装置、情報提供方法、および情報提供プログラム |
US11696011B2 (en) | 2021-10-21 | 2023-07-04 | Raytheon Company | Predictive field-of-view (FOV) and cueing to enforce data capture and transmission compliance in real and near real time video |
US11792499B2 (en) | 2021-10-21 | 2023-10-17 | Raytheon Company | Time-delay to enforce data capture and transmission compliance in real and near real time video |
US11700448B1 (en) | 2022-04-29 | 2023-07-11 | Raytheon Company | Computer/human generation, validation and use of a ground truth map to enforce data capture and transmission compliance in real and near real time video of a local scene |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017108263A (ja) | 端末、位置関係算出プログラムおよび位置関係算出方法 | |
US9760987B2 (en) | Guiding method and information processing apparatus | |
JP6627861B2 (ja) | 画像処理システムおよび画像処理方法、並びにプログラム | |
US8659635B2 (en) | Information processing system and information processing method | |
JP6230113B2 (ja) | 撮影動画像に指示画像を同期して重畳する映像指示同期方法、システム、端末、及びプログラム | |
JP6582626B2 (ja) | 送信制御方法、表示端末および送信制御プログラム | |
KR20160015972A (ko) | 웨어러블 디바이스 및 그 제어 방법 | |
TWI795762B (zh) | 用於在現實場景中疊加直播人物影像的方法和電子設備 | |
EP3822758A1 (en) | Method and apparatus for setting background of ui control | |
US10600218B2 (en) | Display control system, display control apparatus, display control method, and storage medium | |
JP6543924B2 (ja) | 情報処理方法、情報処理プログラム、及び情報処理装置 | |
JP2018207271A (ja) | 端末、画像処理システム、画像処理プログラムおよび画像処理方法 | |
JP7043601B2 (ja) | 環境モデルを生成するための方法および装置ならびに記憶媒体 | |
JP2016095560A (ja) | 電子機器、オーダーエントリーシステム、及びプログラム | |
JP2018507439A (ja) | 表示機器のカムフラージュ/回復システム及び制御方法 | |
JP6524706B2 (ja) | 表示制御方法、表示制御プログラム、及び情報処理装置 | |
JP6803794B2 (ja) | 画像処理装置及び製造システム | |
JP2013134538A (ja) | 情報処理端末、情報処理方法、およびプログラム | |
EP3550524A1 (en) | Computer program, display device, head worn display device, and marker | |
JP2015184986A (ja) | 複合現実感共有装置 | |
JP2015179947A (ja) | 撮影動画像に指示画像を同期して重畳する映像指示表示方法、システム、端末、及びプログラム | |
JP2017016542A (ja) | 装着型表示装置、表示制御方法および表示制御プログラム | |
JP2016119567A (ja) | 画像処理装置、画像処理方法、電子機器、及び画像処理プログラム | |
JP2016062607A (ja) | 情報処理システム、その制御方法、及びプログラム、並びに情報処理装置、その制御方法、及びプログラム | |
JP6193180B2 (ja) | プレゼンテーション用端末及びプレゼンテーション方法 |