JP2017076943A - コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム - Google Patents

コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム Download PDF

Info

Publication number
JP2017076943A
JP2017076943A JP2015205047A JP2015205047A JP2017076943A JP 2017076943 A JP2017076943 A JP 2017076943A JP 2015205047 A JP2015205047 A JP 2015205047A JP 2015205047 A JP2015205047 A JP 2015205047A JP 2017076943 A JP2017076943 A JP 2017076943A
Authority
JP
Japan
Prior art keywords
projection
content
grid
distance
area
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
Application number
JP2015205047A
Other languages
English (en)
Inventor
純也 藤本
Junya Fujimoto
純也 藤本
桂樹 岡林
Keiju Okabayashi
桂樹 岡林
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 JP2015205047A priority Critical patent/JP2017076943A/ja
Priority to US15/292,420 priority patent/US20170109932A1/en
Publication of JP2017076943A publication Critical patent/JP2017076943A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B17/00Details of cameras or camera bodies; Accessories therefor
    • G03B17/48Details of cameras or camera bodies; Accessories therefor adapted for combination with other photographic or optical apparatus
    • G03B17/54Details of cameras or camera bodies; Accessories therefor adapted for combination with other photographic or optical apparatus with projector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3191Testing thereof
    • H04N9/3194Testing thereof including sensor feedback
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B2210/00Aspects not specifically covered by any group under G01B, e.g. of wheel alignment, caliper-like sensors
    • G01B2210/58Wireless transmission of information between a sensor or probe and a control or evaluation unit
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)

Abstract

【課題】最大限の投影サイズでコンテンツを投影すること。【解決手段】情報提供装置10は、3D距離カメラで環境の3D点群情報を取得する処理と、3D点群情報から平面領域に属する点群を抽出する平面検出を行う処理と、平面領域を複数のグリッドに分割するグリッドサイズの縦横比を投影コンテンツの縦横比に基づいて設定する処理と、距離変換を適用して各グリッドの平面領域外までの距離を求め、距離が最大のグリッド位置を投影位置として算出する処理と、投影位置のグリッド位置の距離から投影サイズを算出する処理とを実行する。【選択図】図3

Description

本発明は、コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラムに関する。
現場における各種の作業を支援するために、現場の環境や作業の状況に合わせて情報提示が行われることがある。
例えば、情報提示が端末上の画面表示により実現される場合、スマートフォン等に代表される携帯端末装置を手に取ってタッチパネル等の画面を見たり、画面を操作したりしながら作業が行われる。この場合、作業時に手がふさがるので、情報提示が作業進行の妨げの一因になることもある。
また、上記の情報提示は、コンテンツの投影、いわゆるプロジェクションAR(Artificial Reality)により実現される場合もある。このようにコンテンツを投影する場合、コンテンツが投影される位置およびサイズの設定が手間となる。すなわち、上記の設定を人手に委ねたのでは、現場ごとに設定を行う労力が生まれてしまう。さらに、たとえコンテンツを投影する位置およびサイズが設定されたとしても、現場における作業者の位置や設備の配置が固定であるとは限らない。このため、上記の設定で定められた位置にコンテンツを投影しようとしても、作業者や設備が遮蔽物となってプロジェクタの発光部と投影面の光路が遮られた場合、コンテンツの表示内容が判別できないこともある。
これらのことから、1つの平面に収まるサイズでコンテンツをできるだけ大きく投影できる位置を自動的に計算する方法が求められる。これに関連する技術の一例として、設置場所に応じて投影領域を自動的に変更するための投影装置が提案されている。この投影装置では、プロジェクタからの距離が同一である平面エリアの各頂点または重心に、投影画像データのアスペクト比と同一のアスペクト比を持つ矩形を設定する。その上で、投影装置は、各矩形をエリア外に到達するまで拡大する処理を行い、最大の面積が得られた矩形領域に投影する。
特開2014−192808号公報
しかしながら、上記の技術では、必ずしも平面エリアの頂点または重心に矩形を設定できるとは限らず、平面エリアの頂点または重心の周辺の形状によっては矩形を設定できない場合があるので、最大限の投影サイズでコンテンツを投影できない場合がある。
1つの側面では、本発明は、最大限の投影サイズでコンテンツを投影できるコンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラムを提供することを目的とする。
一態様では、3D距離カメラで環境の3D点群情報を取得する取得部と、前記3D点群情報から平面領域に属する点群を抽出する平面検出を行う検出部と、前記平面領域を複数のグリッドに分割するグリッドサイズの縦横比を投影コンテンツの縦横比に基づいて設定する設定部と、距離変換を適用して各グリッドの平面領域外までの距離を求め、前記距離が最大のグリッド位置を投影位置として算出する第1算出部と、前記投影位置のグリッド位置の距離から投影サイズを算出する第2算出部とを有する。
最大限の投影サイズでコンテンツを投影できる。
図1は、実施例1に係る情報提供システムのシステム構成の一例を示す図である。 図2は、プロジェクションARが起動される場面の一例を示す図である。 図3は、実施例1に係るポータブル型の情報提供装置の機能的構成を示すブロック図である。 図4は、プロジェクションARの失敗例を示す図である。 図5は、既存技術の限界の一例を示す図である。 図6は、既存技術の限界の一例を示す図である。 図7は、既存技術の限界の一例を示す図である。 図8は、既存技術の限界の一例を示す図である。 図9は、平面領域の一例を示す図である。 図10は、バウンディングボックスの一例を示す図である。 図11は、グリッド分割の一例を示す図である。 図12は、平面領域外のグリッドの一例を示す図である。 図13は、距離変換の結果の一例を示す図である。 図14は、コンテンツの投影例を示す図である。 図15は、グリッド分割の他の一例を示す図である。 図16は、実施例1に係るコンテンツ投影処理の手順を示すフローチャートである。 図17は、実施例1に係る平面検出処理の手順を示すフローチャートである。 図18は、実施例1に係る投影パラメータの算出処理の手順を示すフローチャートである。 図19は、コンテンツの一例を示す図である。 図20は、グリッドの形状の応用例を示す図である。 図21は、実施例1及び実施例2に係るコンテンツ投影プログラムを実行するコンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係るコンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラムについて説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係る情報提供システムのシステム構成の一例を示す図である。図1には、作業が行われる区画の一例として、現場2A〜現場2Nが例示されている。さらに、図1には、現場2A〜現場2Nで点検作業を行う作業者3に加え、現場2A〜現場2Nと隔てられた遠隔地4から支援者5により作業者3による作業が支援される場合が例示されている。なお、以下では、現場2A〜現場2Nを総称する場合に「現場2」と記載する場合がある。
図1に示す情報提供システム1は、現場2における作業に役立つ支援データを作業者3へ提供する情報提供サービスを提供するものである。この情報提供サービスは、ハンズフリーの作業を実現する観点から、上記の支援データに関するコンテンツの投影、すなわちプロジェクションARにより実現される。
かかる情報提供サービスの一環として、情報提供システム1は、3D点群情報から検出される平面領域のバウンディングボックスが分割されたグリッドに距離変換を適用することにより平面領域外までの距離を各グリッド要素に割り当て、当該距離が最大であるグリッド要素を投影位置に設定するコンテンツ投影処理を実現する。これによって、平面領域の各頂点または重心にコンテンツのアスペクト比と同一のアスペクト比を持つ矩形を設定してエリア外まで拡大する場合のように、コンテンツの投影位置が決定できる平面領域の形状が限定されるのを抑制し、もって最大限の投影サイズでコンテンツを投影する。
図1に示すように、情報提供システム1には、情報提供装置10と、情報処理装置50とが収容される。なお、図1には、一例として、情報提供装置10及び情報処理装置50を1台ずつ例示したが、1台の情報提供装置10につき複数台の情報処理装置50を設けることとしてもよいし、1台の情報処理装置50につき複数台の情報提供装置10を設けることとしてもかまわない。
これら情報提供装置10及び情報処理装置50は、所定のネットワークを介して、互いが通信可能に接続される。かかるネットワークの一例としては、有線または無線を問わず、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。この他、BLE(Bluetooth(登録商標) Low Energy)等の近距離無線通信によって両者が通信接続されることとしてもかまわない。
情報提供装置10は、現場2の作業者3に対し、上記の支援データに関するコンテンツを提供する装置である。
一実施形態として、情報提供装置10は、作業者3がハンドキャリーを行うポータブル型の装置として実装される。例えば、作業者3が現場2A〜現場2Nで作業を行うとしたとき、1つの現場2につき1台の情報提供装置10を設置せずともかまわず、1台の情報提供装置10を各現場2で持ち回って使用することができる。すなわち、作業者3は、現場2で作業が終了する度に、次の現場2へハンドキャリー等で情報提供装置10を持ち込み、次の現場2の任意の位置に載置することにより、支援データの提供を受けることができる。
ここで、情報提供装置10は、現場2における人や環境を計測するセンサ類、例えば後述する3Dセンサや2Dセンサなどを通じて、現場2の中で作業者3が存在する位置をセンシングできる。
例えば、情報提供装置10は、作業者3が現場2で存在する位置に応じてプロジェクションARを起動することができる。図2は、プロジェクションARが起動される場面の一例を示す図である。図2に示すように、現場2には、プロジェクションARの起動が規定されたエリアEが設定される。かかるエリアEには、上記の支援データに関するコンテンツ20が関連付けられる。これらの設定の下、情報提供装置10は、上記のセンサ類からの3Dまたは2Dのセンシングデータから作業者3が存在する現場2上の位置を推定する。このように推定された作業者3の位置がエリアE内である場合、情報提供装置10は、プロジェクションARを起動し、当該エリアEに関連するコンテンツ20を投影する。
図2に示す例の他、情報提供装置10は、作業者3が装備するウェアラブルガジェットと協働し、プロジェクションARを起動することもできる。例えば、情報提供装置10は、ヘッドマウントディスプレイ、腕輪型のガジェット、指輪型のガジェットなどの多岐にわたるウェアラブルガジェットから出力されるセンシングデータから、作業者3が所定の設備、例えば点検対象とする計器(メータやバルブなど)への接触動作または近接動作を検知し、これらの動作を契機にプロジェクションARを起動することもできる。
また、情報提供装置10は、上記のセンサ類を用いる他にも、時間を条件としてプロジェクションARを起動することができる。例えば、情報提供装置10は、時刻ごとに当該時刻に投影するコンテンツの予定が対応付けられたスケジュールデータを参照して、定められた時刻に定められたコンテンツを投影することもできる。
情報処理装置50は、上記の情報提供装置10に接続されるコンピュータである。
一実施形態として、情報処理装置50は、遠隔地4で支援者5が使用するパーソナルコンピュータとして実装される。ここで言う「遠隔地」とは、必ずしも現場2との距離が物理的に遠い場所に限定されず、現場2との間で対面の情報共有が困難である程度に隔てられた場所も含まれる。
例えば、情報処理装置50は、情報提供装置10から3D及び2Dのセンシングデータを受信する。このように情報提供装置10から情報処理装置50へ送信されるセンシングデータには、一例として、情報提供装置10の3Dセンサにより撮像されるライブ画像を含めることができる。かかるライブ画像を所定の表示装置等に表示させることにより、支援者5は、現場2における作業者3や環境の状況に合わせて上記の支援データを選択したり、上記の支援データを生成したりすることができる。その上で、情報処理装置50は、図示しない入力装置を介して、上記の支援データの投影を指示する操作を受け付けた場合、情報処理装置50から情報提供装置10へ送信される支援データに関するコンテンツを投影させたり、情報提供装置10に記憶されたコンテンツのうち情報処理装置50から指定されたコンテンツを投影させたりする。このように、支援者5からの指示にしたがってプロジェクションARを起動することもできる。
[ポータブル型の情報提供装置10]
図3は、実施例1に係るポータブル型の情報提供装置10の機能的構成を示すブロック図である。図3に示すように、ポータブル型の情報提供装置10は、プロジェクタ11と、通信I/F(interface)部12と、2D(two dimensions)センサ13と、3D(three dimensions)センサ14と、記憶部15と、制御部16とを有する。
プロジェクタ11は、空間に画像を投影する投影機である。かかるプロジェクタ11には、任意の表示方式、例えば液晶方式やDLP(Digital Light Processing:登録商標)方式、レーザ方式やCRT方式などを採用することができる。
通信I/F部12は、他の装置、例えば情報処理装置50などとの間で通信制御を行うインタフェースである。
一実施形態として、情報提供装置10及び情報処理装置50間の通信網がLAN等により接続される場合、通信I/F部12には、LANカードなどのネットワークインタフェースカードを採用できる。また、情報提供装置10及び情報処理装置50間がBLE等の近距離無線通信により接続される場合、通信I/F部12には、BLEの通信モジュールを採用できる。例えば、通信I/F部12は、3D及び2Dのセンシングデータを情報処理装置50へ送信したり、また、情報処理装置50から上記の支援データの表示指示を受信したりする。
2Dセンサ13は、2次元の距離を測定するセンサである。
一実施形態として、2Dセンサ13には、LRF(Laser Range Finder)を始め、ミリ波レーダやレーザレーダなどを採用できる。例えば、2Dセンサ13を図示しないモータを駆動制御して水平方向、すなわちZ軸回りに回転させることにより、情報提供装置10を原点とする水平面、すなわちXY平面上の距離を取得することができる。かかる2Dセンサ13によって、XY平面における全方位の2次元の距離情報を2Dのセンシングデータとして得ることができる。
3Dセンサ14は、空間の物理的な形状データを出力する3次元スキャナである。
一実施形態として、3Dセンサ14は、IR(infrared)カメラとRGBカメラとを含む3次元スキャナとして実装できる。これらIRカメラ及びRGBカメラは、同一の解像度を有し、コンピュータ上で扱う点群の3次元座標も共有される。例えば、3Dセンサ14では、IRカメラが赤外線の照射光が環境の対象物に反射して戻ってくるまでの時間を計測することにより距離画像を撮像するのに同期して、RGBカメラがカラー画像を撮像する。これによって、3Dセンサ14の画角に対応する画素、すなわち3次元空間上の解像度に対応する点(X,Y)ごとに距離(D)及び色情報(R,G,B)が得られる。以下では、距離画像(X,Y,D)のことを「3D点群情報」と記載する場合がある。なお、ここでは、距離画像およびカラー画像を撮像する場合を例示したが、上記のコンテンツ投影処理の実施には少なくとも距離画像があればよく、3D距離カメラだけを実装することもできる。
記憶部15は、制御部16で実行されるOS(Operating System)を始め、上記のコンテンツ投影処理を実現するコンテンツ投影プログラムなどの各種プログラムに用いられるデータを記憶する記憶デバイスである。
一実施形態として、記憶部15は、情報提供装置10における主記憶装置として実装される。例えば、記憶部15には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。また、記憶部15は、補助記憶装置として実装することもできる。この場合、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。
記憶部15は、制御部16で実行されるプログラムに用いられるデータの一例として、コンテンツデータ15aを記憶する。かかるコンテンツデータ15a以外にも、他の電子データ、例えば時刻ごとに当該時刻に投影するコンテンツの予定が対応付けられたスケジュールデータなども併せて記憶することもできる。
コンテンツデータ15aは、上記の支援データに関するコンテンツのデータである。
一実施形態として、コンテンツデータ15aは、プロジェクタ11に投影させるコンテンツの画像データもしくはコンテンツの識別情報と、現場2でプロジェクションARの起動を定義するエリアの区画情報とが対応付けられたデータを採用できる。かかるコンテンツデータ15aが参照される場面の一例として、現場2における作業者3の位置がいずれかのエリア内に存在するか否かによりプロジェクションARを起動するか否かを判定する場合が挙げられる。他の一例として、プロジェクションARを起動する場合に、進入が検知されたエリアに対応するコンテンツ、すなわちプロジェクタ11に投影させるコンテンツを読み出すために参照される。
制御部16は、各種のプログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。
一実施形態として、制御部16は、中央処理装置、いわゆるCPU(Central Processing Unit)として実装される。なお、制御部16は、必ずしも中央処理装置として実装されずともよく、MPU(Micro Processing Unit)として実装されることとしてもよい。また、制御部16は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
制御部16は、各種のプログラム、例えばプリプロセッサを実行することによって下記の処理部を仮想的に実現する。例えば、制御部16は、図3に示すように、起動部16aと、取得部16bと、検出部16cと、設定部16dと、第1算出部16eと、第2算出部16fと、投影部16gとを有する。
起動部16aは、プロジェクションARを起動する処理部である。
一実施形態として、起動部16aは、2Dセンサ13や3Dセンサ14を始め、図示しないウェアラブルガジェットなどのセンサ類を用いて、プロジェクションARを起動するか否かを判定する。ここでは、あくまで一例として、作業者3が現場2で存在する位置に応じてプロジェクションARを起動する場合を例示するが、上述のように、上記のセンサ類を用いる他にも、時間を条件としてプロジェクションARを起動したり、情報処理装置50からの指示にしたがってプロジェクションARを起動したりすることもできる。
例えば、起動部16aは、3Dセンサ14により採取される3Dのセンシングデータから情報提供装置10が載置された現場2内の位置を推定すると共に、2Dセンサ13により採取される2Dのセンシングデータから、現場2における作業者3の有無や作業者3の位置を検知する。
具体的には、2Dセンサ13が情報提供装置10の載置面から1m程度の高さの位置に実装される場合、作業者3の腰あたりの形状が2Dのセンシングデータに現れる公算が高まる。ここで、2Dのセンシングデータは、一例として、2Dセンサ13を水平方向、すなわちZ軸回りに回転駆動させるモータの回転角ごとに2Dセンサ13から対象物までの距離が対応付けられたデータとして得られる。このため、情報提供装置10の周辺に作業者3が立位で存在する場合、回転角の変化にしたがってプロットされる距離には、作業者3の腰の形状と一致する変化が現れる。このことから、起動部16aは、所定のテンプレート、例えば男女別、年齢別または2Dセンサ13に対する腰の向き別に設定された腰の形状との間で所定の閾値以上の類似度を有する距離のプロットが2Dのセンシングデータに存在するか否かを判定することにより人の有無を検知することができる。このとき、人の腰の形状と類似する特徴を持つ物体、例えばマネキン等がノイズとなって誤検知が生じるのを抑制する観点から、2Dのセンシングデータが取得された時刻よりも前の時刻、例えば一時刻前の2Dのセンシングデータとの差分の有無からノイズを除去することとしてもよい。例えば、起動部16aは、人の腰の形状と類似する距離のプロットが2Dのセンシングデータに存在する場合に、当該2Dデータから検知された距離のプロットと一時刻前の2Dのセンシングデータから検知された距離のプロットとの間で距離のプロットがXY平面上で形成する図形の重心位置及びプロットの輪郭に変化があるか否かを判定する。そして、起動部16aは、重心位置及びプロットの輪郭のうちいずれか1つ以上に変化がある場合に絞って作業者3が現場2内に存在すると検知することとしてもよい。
その後、起動部16aは、現場内に作業者3が存在する場合、3Dのセンシングデータから推定された現場2における情報提供装置10の位置と、2Dのセンシングデータから検知された距離、すなわち情報提供装置10から作業者3までの距離とから、現場2における作業者3の位置を特定する。その上で、起動部16aは、現場2における作業者3の位置が記憶部15に記憶されたコンテンツデータ15aに含まれるいずれかのエリアに存在するか否かを判定する。このとき、起動部16aは、作業者3の位置がいずれかのエリアに存在する場合、当該エリアに対応付けられたコンテンツのプロジェクションARを起動する。
取得部16bは、3D点群情報を取得する処理部である。
一実施形態として、取得部16bは、起動部16aによりプロジェクションARが起動された場合、3Dセンサ14を制御して、3D点群情報を取得する。ここでは、一例として、図示しないモータを駆動制御することにより、3Dセンサ14を水平方向、すなわち図1に示した3次元座標系におけるZ軸回りでパン駆動させることにより、水平方向で360°の視野を持つ3Dのセンシングデータが取得される場合を想定する。
例えば、3Dのセンシングが起動されると、取得部16bは、3Dセンサ14に距離画像及びカラー画像を撮像させることにより距離画像及びカラー画像を取得する。続いて、取得部16bは、所定の角度、例えば本例の画角の例で言えば60°にわたって3Dセンサ11をZ軸回りにパン駆動させる。その上で、取得部16bは、パン駆動後の新たな視野で距離画像及びカラー画像を取得する。その後、取得部16bは、所定の回数、例えば本例の画角の例で言えば5回にわたってパン駆動が行われることにより水平方向の全方位、すなわち360°の距離画像及びカラー画像が取得されるまで、パン駆動と距離画像及びカラー画像の取得とを繰り返し実行する。そして、取得部16bは、水平方向の全方位の距離画像及びカラー画像が取得されると、6回にわたって取得された距離画像及びカラー画像を統合することにより、3Dのセンシングデータ、いわゆるポイントクラウド(X,Y,D,R,G,B)を生成する。なお、3Dのセンシングデータの座標系には、一例として、情報提供装置10を原点とする3次元座標系が採用されることとするが、これに限定されない。すなわち、3次元座標系の原点は、任意の位置とすることができるし、現場2の地図とのマップマッチングや現場2上のARマーカとの対応付けなどの任意の手法によりグローバル座標系に変換することもできる。
このように取得される3Dのセンシングデータのうち、後段の処理部では、距離画像、すなわち3D点群情報(X,Y,D)がコンテンツの投影位置及び投影サイズの決定に用いられる。なお、ここでは、一例として、水平方向の全方位にわたって3D点群情報が取得される場合を例示したが、コンテンツを投影させる区画の大枠が定められている場合、当該区画に絞って3D点群情報を取得させることもできる。
検出部16cは、3D点群情報から現場2の平面領域を検出する処理部である。
一実施形態として、検出部16cは、RANSAC(RANdom Sample Consensus)などのアルゴリズムにしたがって、取得部16bにより取得された3D点群情報に含まれる3D点群が形成する平面領域を検出する。例えば、検出部16cは、3D点群情報に含まれる3D点群をサンプルとし、当該サンプルから3つの点をランダムに抽出する。続いて、検出部16cは、3D点群情報に含まれる3D点群のうち、サンプルからランダムに抽出された3点により定まる平面モデルから所定の距離以内にある点群をさらに抽出する。ここで、平面モデルから所定の距離以内にある点群を平面モデル上に存在する点群とみなし、以降の処理を説明することとする。その上で、検出部16cは、平面モデル上に存在する点群の数が所定の閾値以上であるか否かを判定する。このとき、検出部16cは、平面モデル上の点群が閾値以上である場合、平面モデルを定義するパラメータ、例えば3点の座標または平面の方程式等と、当該平面モデルに含まれる点群とが対応付けられた平面領域データを内部メモリ上のワークエリアに保存する。一方、検出部16cは、平面モデル上に存在する点群の数が閾値未満である場合、当該平面モデルに関する平面領域データを保存しない。その後、検出部16cは、サンプルからの3点のランダムサンプリング及びそれに伴う平面領域データの保存を所定の試行回数にわたって繰り返し実行する。このような平面検出方法によって、一定数以上の点群が平面モデルからの法線方向へ向けて一定距離内にある平面モデルを求めることができる。以下では、平面モデルにより規定される平面上で3D点群が所定の密度以上で存在する部分のことを「平面領域」と記載する場合がある。
なお、ここでは、平面モデル上に存在する点群の数が閾値以上であることを条件にその平面領域データを保存する場合を例示したが、平面モデル上に存在する点群の数が最高値である平面モデルに絞って平面領域データを保存することとしてもかまわない。
設定部16dは、平面モデル上に存在する点群から設定されるバウンディングボックスを分割するグリッドサイズを設定する処理部である。
一実施形態として、設定部16dは、内部メモリのワークエリアに保存された平面領域のうち平面領域を1つ選択する。続いて、設定部16dは、先に選択された平面領域に対応する平面領域データを参照して、平面モデル上に存在する3D点群を2次元の投影面、例えばXY平面へ投影することにより、2D点群へ変換する。そして、設定部16dは、XY平面へ投影された2D点群のバウンディングボックス、いわゆる外接矩形を計算する。その後、設定部16dは、記憶部15に記憶されたコンテンツデータ15aを参照して、作業者3が存在するエリアに対応付けられたコンテンツの縦横比、矩形の場合は「アスペクト比」を取得する。その上で、設定部16dは、投影が実施されるコンテンツのサイズに比べてグリッドの縦のサイズおよび横のサイズが十分に小さく、かつ当該コンテンツの縦横比と同一の縦横比を持つグリッドサイズを設定する。例えば、グリッドの縦のサイズおよび横のサイズは、平面領域上に投影できる箇所が1つのグリッドだけであっても一定の視認性を有する大きさ、言い換えればグリッドをこれ以上小さくすると見えなくなる大きさに設定される。なお、ここでは、一例として、画像であるコンテンツの拡大を縦横比を維持した状態で実施する観点から、グリッドサイズの設定にコンテンツの縦横比を用いる場合を例示したが、必ずしもグリッドサイズの縦横比はこれに限定されず、格子の各辺の長さを同一としてもかまわない。
第1算出部16eは、コンテンツの投影位置を算出する処理部である。
一実施形態として、第1算出部16eは、設定部16dにより設定されたグリッドサイズにしたがって上記の2D点群のバウンディングボックスをグリッド状に分割する。以下では、バウンディングボックスにグリッド分割を行うことにより得られた要素のことを「グリッド要素」と記載する場合がある。そして、第1算出部16eは、バウンディングボックスが分割されたグリッド要素ごとに当該グリッド要素に含まれる2D点群の数を算出する。続いて、第1算出部16eは、各グリッド要素のうち、2D点群の数が所定値、例えばゼロ以下であるグリッド要素にフラグ等の識別情報を付与する。すなわち、グリッド要素に2D点群のうちいずれの点も含まれないという事実は、当該グリッド要素が平面領域内ではなく、その外側に位置するグリッド要素であることを意味し、平面領域外のグリッド要素には平面領域内のグリッド要素との識別ができるようにマークが付与される。その後、第1算出部16eは、バウンディングボックスが分割されたグリッドに距離変換を適用することにより、グリッド要素ごとに当該グリッド要素から平面領域外のグリッド要素に隣接するグリッド要素までの距離を割り当てる。ここでグリッド要素に割り当てられる距離は、グリッド要素間の距離を指し、例えば、注目のグリッド要素から当該注目のグリッド要素の縦、横、斜めの8方向に隣接する各グリッド要素までの距離を「1」とし、距離を割り当てる対象のグリッド要素から平面領域外のグリッド要素に隣接するグリッド要素までの経路を最短で移動する場合の移動回数が距離として割り当てられる。その上で、第1算出部16eは、上記の距離変換により割り当てられた距離が最大であるグリッド要素を投影位置として算出する。例えば、第1算出部16eは、上記の最大距離のグリッド要素に対応する3次元空間上の位置を、コンテンツのバウンディングボックスの図心、例えば中心や重心が投影される位置として設定する。
このように、第1算出部16eは、平面領域外から離れているグリッド要素ほど付与される値が高くなる評価値の一例として、上記の距離変換で割り当てられるグリッド要素間の距離を用いて、いずれのグリッド要素をコンテンツのバウンディングボックスの図心に対応させるのが相応しいのかを評価している。
第2算出部16fは、コンテンツの投影サイズを算出する処理部である。
一実施形態として、第2算出部16fは、第1算出部16eによりコンテンツのバウンディングボックスに関する投影位置が設定された場合、当該投影位置で平面領域上にコンテンツを投影できる最大限のサイズを投影サイズとして算出する。
一側面として、グリッドサイズの縦横比が1:1に設定されている場合、第2算出部16fは、投影位置に設定されたグリッド要素を起点とし、当該投影位置のグリッド要素の上下左右の4方向ごとに起点から平面領域外のグリッド要素に隣接するグリッド要素までのグリッド数を計数する。その上で、第2算出部16fは、起点から右方向へ探索して平面領域の右端へ到達するまでのグリッド数と起点から左方向へ探索して平面領域の左端へ到達するまでのグリッド数との合計値に対応する横幅をコンテンツの横幅で除算し、当該除算結果をコンテンツの画像データを幅方向、すなわちX方向へ拡大する倍率として設定する。これと共に、第2算出部16fは、起点から上方向へ探索して平面領域の上端へ到達するまでのグリッド数と起点から下方向へ探索して平面領域の下端へ到達するまでのグリッド数との合計値に対応する高さをコンテンツの高さで除算し、当該除算結果をコンテンツの画像データを高さ方向、すなわちY方向へ拡大する倍率として設定する。
他の側面として、グリッドサイズの縦横比がコンテンツのバウンディングボックスの縦横比と同一の縦横比に設定されている場合、投影位置のグリッド要素に割り当てられた評価値、本例では距離が平面領域上に投影可能なサイズに直結する。すなわち、グリッドサイズの(投影位置のグリッドの評価値−0.5)×2倍のサイズまでの投影であれば、コンテンツの画像データが拡大された場合でも平面領域内に収まる。よって、第2算出部16fは、グリッドサイズ×(投影位置のグリッド要素の評価値−0.5)×2をコンテンツの画像データの投影サイズとして設定する。
投影部16gは、プロジェクタ11に対する投影制御を実行する処理部である。
一実施形態として、投影部16gは、記憶部15に記憶されたコンテンツデータ15aのうち作業者3が存在するエリアに対応付けられたコンテンツデータ15aを読み出す。続いて、投影部16gは、第1算出部16eより投影位置として算出されたグリッド要素に対応する3次元空間上の位置とコンテンツのバウンディングボックスの図心とを一致させると共に、コンテンツの画像データを第2算出部16fにより算出された投影サイズまで拡大させる制御をプロジェクタ11に実行させる。
[具体例]
以下では、本実施例に係るポータブル型の情報提供装置10が実行する処理内容の具体例について説明する。ここでは、プロジェクションARの失敗例を説明した後に既存技術の限界を説明し、これらをもってポータブル型の情報提供装置10が解決する課題の一側面を示した後に、ポータブル型の情報提供装置10による処理内容の具体例を示す。
(1)プロジェクションARの失敗例
プロジェクションARが行われる場合、投影サイズが適切であっても投影位置が適切でなければコンテンツの視認性は低下し、また、投影位置が適切であっても投影サイズが適切でなければコンテンツの視認性は低下する。
図4は、プロジェクションARの失敗例を示す図である。図4に示すコンテンツ41の場合、現場2に設置されたパネル40と現場2の壁面との段差が原因となり、コンテンツ41の左部41Lとコンテンツ41の右部41Rとが段違いになった状態で投影される。これでは、左右で段違いになった部分の視認性が著しく低下する。また、図4に示すコンテンツ42の場合、作業者3が遮蔽物となってプロジェクタの発光部から投影面までの光路が遮られた結果、作業者3上にコンテンツが投影される。これでは、作業者3の衣服の色や模様によってコンテンツの視認性が低下する。さらに、図4に示すコンテンツ43の場合、現場2の部屋の隅によってコンテンツ43の左部43Lの投影面とコンテンツ43の右部43Rの投影面との角度差が大きくなった状態で投影される。これでは、左右の投影面が交わる部分の視認性が著しく低下する。
これらコンテンツ41、42及び43に示すように、コンテンツの投影位置を適切に設定できないからといってコンテンツの投影サイズを小さくすればよいという単純な話でもない。すなわち、図4に示すコンテンツ44に示す通り、コンテンツ41、42及び43に比べて投影サイズを過度に小さくしたのでは、視認性が低下するのは明らかである。このことから、1つの平面に収まるサイズでコンテンツをできるだけ大きく投影できる位置を決定する技術の有用性が高まっていると言える。
(2)既存技術の限界
上記の背景技術の項で説明した投影装置のように、プロジェクタからの距離が同一である平面エリアのうちいずれの平面エリアを投影範囲に設定するのかを投影画像データのアスペクト比によって決定する技術は存在する。しかしながら、上記の投影装置では、平面エリア上に投影されるコンテンツの投影サイズが平面エリアの形状に左右される。これは、投影装置がコンテンツの投影位置を決定するアルゴリズムに欠陥があるからである。
すなわち、既存技術でコンテンツの投影位置が決定される場合、平面エリアの各頂点または重心に投影画像データのアスペクト比と同一のアスペクト比を持つ矩形が設定された上で、各矩形をエリア外に到達するまで拡大する処理を行い、最大の面積が得られた矩形領域に投影が行われる。ところが、平面エリアが次のような形状である場合、平面エリアの各頂点や重心に矩形が設定されたとしても、適切な投影領域を探索することはできない。
例えば、平面エリアの頂点から矩形を拡大する場合、図5に示す平面エリア500や図6に示す平面エリア600から適切な投影領域を探索するのは困難である。図5及び図6は、既存技術の限界の一例を示す図である。このうち、図5には、平面エリア500の頂点Pに設定された矩形の面積をアスペクト比が維持されたままの状態で拡大する例が示されている。ところが、平面エリア500は、局所的には直角や鈍角である頂点を有するが、大局的には正三角形の形状に近い形状、すなわち正三角形の頂点付近の部分が欠落した形状を持つ。かかる平面エリア500のように、頂点の付近が狭まる形状を有する場合、頂点に設定される矩形が拡大されると、図5に示す矩形510の通り、すぐにエリア外に到達してしまう。また、図6に示す平面エリア600のように、楕円形の滑らかな曲線に囲われた形状を有する場合、そもそも頂点が存在しないので、矩形を設定できない。
また、平面エリアの重心から矩形を拡大する場合、図7に示す平面エリア700や図8に示す平面エリア800から適切な投影領域を探索するのは困難である。図7及び図8は、既存技術の限界の一例を示す図である。図7には、平面エリア700の重心周辺の形状が凸形または凹形であることにより重心周辺の領域が平面エリア外と判定された平面エリア700が示されている。図7に示す平面エリア700の場合、重心が平面エリア外となるので、重心に矩形を設定したとしても平面にコンテンツを投影できない。また、図8には、凹多角形の平面エリア800が示されている。図8に示す平面エリア800の場合、図7に示す平面エリア700と同様、重心が平面エリア外となるか、あるいはその付近になるので、重心に矩形を設定したとしても平面にコンテンツを投影できない。
(3)情報提供装置10の処理内容
これらのことから、情報提供装置10は、3D点群情報から検出される平面領域のバウンディングボックスが分割されたグリッドに距離変換を適用することにより平面領域外までの距離を各グリッドに割り当て、当該距離が最大であるグリッドを投影位置に設定するコンテンツ投影処理を実現する。
かかるコンテンツ投影処理を図9〜図15を用いて具体的に説明する。図9は、平面領域の一例を示す図である。図10は、バウンディングボックスの一例を示す図である。図11は、グリッド分割の一例を示す図である。図12は、平面領域外のグリッドの一例を示す図である。図13は、距離変換の結果の一例を示す図である。図14は、コンテンツの投影例を示す図である。図15は、グリッド分割の他の一例を示す図である。
図9には、3D点群情報(X,Y,D)から検出された平面領域900が示されている。この平面領域900は、RANSAC等のアルゴリズムにしたがってランダムサンプリングされた3点により規定される平面モデル上で所定の密度以上で存在する3D点群がXY平面の2次元平面へ投影された2D点群が説明の便宜上、塗りつぶしにより領域として示されている。
ここでは、一例として、点検作業を行う作業者3に対し、ある計器、例えば排水管等の圧力の履歴に関する支援データの画像がコンテンツCとして平面領域900に投影される場合の処理内容を示すこととする。かかるコンテンツCによれば、排水管等の圧力に異常がないかどうか、すなわち排水管のバルブの開け閉めの要否、さらには、排水管の圧力が異常判定ラインの近傍にある場合や異常判定ラインを超える場合に排水管を開け閉めする度合いを作業者3に判断させることができる。
図10に示すように、図9に示した平面領域900には、当該平面領域900に含まれる2D点群のバウンディングボックス1000が計算される。このようなバウンディングボックス1000の設定の下、図11に示すように、所定のグリッドサイズにしたがって2D点群のバウンディングボックス1000がグリッド状に分割される。これにより、バウンディングボックス1000がグリッド分割されたグリッド要素の集合1100が得られる。図11には、あくまで一例として、格子の各辺の長さを同一とするグリッドサイズの設定にしたがってグリッド分割が行われた場合が示されている。
その後、グリッド要素ごとに当該グリッド要素に含まれる2D点群の数が算出される。このとき、各グリッド要素のうち2D点群の数が「0」であるグリッド要素には、フラグ等の識別情報が付与される。例えば、図12に示す例では、2D点群のうちいずれの点も含まれないグリッド要素には、平面領域内のグリッド要素との識別ができるように「×」のマークが示されている。
このように平面領域外のグリッド要素が識別可能な状況の下、バウンディングボックス1000が分割されたグリッド要素の集合1100に距離変換を適用することにより、図13に示すように、グリッド要素ごとに当該グリッド要素から平面領域外のグリッド要素に隣接するグリッド要素までの距離が割り当てられる。例えば、1行1列目、すなわち(1,1)のグリッド要素は、平面領域外である。このため、(1,1)のグリッド要素に隣接する(1,2)、(2,2)及び(2,1)のグリッド要素には距離「0」が割り当てられる。また、(2,3)のグリッド要素は、平面領域外のグリッド要素に隣接する(1,2)、(1,3)、(1,4)及び(2,2)のグリッド要素との間で最短距離となる。これらのグリッド要素はいずれも(2,3)のグリッド要素から1つしか離れていないので、(2,3)のグリッド要素には距離「1」が割り当てられる。
かかる距離変換が行われた場合、距離の最大値は「4」となる。かかる距離の最大値「4」は、図13の例では複数のグリッド要素で現れる。この場合、複数のグリッド要素のうちいずれかのグリッド要素が投影位置に設定される。例えば、距離「4」が水平方向へ6つ連続するグリッド要素のうちいずれかのグリッド要素が投影位置とされた場合、図14に示すコンテンツC1が平面領域900へ投影される。また、距離「4」が垂直方向へ2つ連続するグリッド要素のうちいずれかのグリッド要素が投影位置とされた場合、図14に示すコンテンツC2が平面領域900へ投影される。
このように、本実施例に係る情報提供装置10は、3D点群情報から検出される平面領域のバウンディングボックスが分割されたグリッドに距離変換を適用することにより平面領域外までの距離を各グリッドに割り当て、当該距離が最大であるグリッドを投影位置に設定するコンテンツ投影処理を実現する。それ故、平面領域の頂点または重心の周辺の形状が図5〜図8に示した形状であったとしてもコンテンツの投影位置を決定できるので、コンテンツの投影位置を決定できる平面領域の形状が限定されるのを抑制できる。したがって、最大限の投影サイズでコンテンツを投影することが可能になる。
ここで、図11に示すように、格子の各辺の長さを同一とするグリッドサイズが設定された場合、図9に示すコンテンツCの通り、コンテンツが縦横同サイズではなく縦長だったり横長だったりするので、一側面として、距離変換による評価値の大きさが投影可能なサイズに直結しないという問題もある。このため、コンテンツが極端に縦長または横長の場合は評価値が小さいグリッド要素を投影位置とした方が大きく投影できる可能性もある。
(4)グリッド分割の応用例
このような問題を回避するためのさらなる工夫として、グリッド状に分割する際のグリッド要素の縦横サイズの比をコンテンツのバウンディングボックスの縦横サイズの比に設定することもできる。例えば、図9に示したコンテンツCの縦横比と同一の縦横比がグリッドサイズに設定されたグリッドに図13に示した場合と同様に距離変換を適用することにより、図15に示すグリッド1500のように、コンテンツCの形状を加味したスペースの評価を行うことができる結果、評価値を投影可能なサイズに直結させることもできる。すなわち、グリッドサイズの(投影位置のグリッドの評価値−0.5)×2倍のサイズまでの投影であれば、コンテンツCの画像データが拡大された場合でも平面領域900内に収めることができる。このように、図15に示すグリッド分割が適用される場合、図9に示したグリッド分割が適用される場合よりも大きい投影サイズで投影できる投影位置を決定する可能性を高めることができる。
[処理の流れ]
次に、本実施例に係る情報提供装置10の処理の流れについて説明する。なお、ここでは、情報提供装置10により実行される(1)コンテンツ投影処理について説明した後に、そのサブフローとして実行される(2)平面検出処理、(3)投影パラメータの算出処理について説明することとする。
(1)コンテンツ投影処理
図16は、実施例1に係るコンテンツ投影処理の手順を示すフローチャートである。この処理は、一例として、起動部16aによりプロジェクションARが起動された場合に開始される。
図16に示すように、取得部16bは、3Dセンサ14を制御して、3D点群情報を取得する(ステップS101)。その後、検出部16cは、図17を用いて後述するように、RANSACなどのアルゴリズムにしたがってステップS101で取得された3D点群情報に含まれる3D点群が形成する平面領域を検出する「平面検出処理」を実行する(ステップS102)。
続いて、設定部16d、第1算出部16e及び第2算出部16fは、図18を用いて後述するように、ステップS102で検出された平面領域ごとに当該平面領域でコンテンツを投影する場合の投影位置および投影サイズを含む投影パラメータを算出する「投影パラメータの算出処理」を実行する(ステップS103)。
そして、ステップS102で複数の平面領域が検出されていた場合(ステップS104Yes)、投影部16gは、ステップS103で平面領域ごとに算出された投影パラメータのうち最大の投影サイズを持つ投影パラメータを選択する(ステップS105)。なお、ステップS102で平面領域が1つだけ検出されていた場合(ステップS104No)、投影パラメータが一意に定まるので、ステップS105の処理を飛ばすことができる。
その後、投影部16gは、ステップS105で選択された投影パラメータにしたがって記憶部13にコンテンツデータ15aとして記憶されたコンテンツの画像データを投影し(ステップS106)、処理を終了する。
(2)平面検出処理
図17は、実施例1に係る平面検出処理の手順を示すフローチャートである。この処理は、図16に示したステップS102の処理に対応し、ステップS101で3D点群情報が取得された場合に開始される。
図17に示すように、検出部16cは、ステップS101で取得された3D点群情報に含まれる3D点群をサンプルとし、当該サンプルから3つの点をランダムに抽出する(ステップS301)。
続いて、検出部16cは、3D点群情報に含まれる3D点群のうちステップS301でランダムに抽出された3点により定まる平面モデルから所定の距離以内にある点群をさらに抽出する(ステップS302)。
その上で、検出部16cは、平面モデル上に存在する点群の数が所定の閾値以上であるか否かを判定する(ステップS303)。このとき、平面モデル上の点群が閾値以上である場合(ステップS303Yes)、検出部16cは、平面モデルを定義するパラメータ、例えば3点の座標または平面の方程式等と、当該平面モデルに含まれる点群とが対応付けられた平面領域データを内部メモリ上のワークエリアに保存する(ステップS304)。一方、平面モデル上に存在する点群の数が閾値未満である場合(ステップS303No)、当該平面モデルに関する平面領域データは保存されない。
その後、検出部16cは、所定の試行回数にわたって上記のステップS301〜ステップS304の処理が実行されるまで(ステップS305No)、上記のステップS301〜ステップS304の処理を繰り返し実行する。そして、所定の試行回数にわたって上記のステップS301〜ステップS304の処理が実行された場合(ステップS305Yes)、処理を終了する。
(3)投影パラメータの算出処理
図18は、実施例1に係る投影パラメータの算出処理の手順を示すフローチャートである。この処理は、図16に示したステップS103の処理に対応し、ステップS102で説明した平面検出処理が実行された後に実行される。
図18に示すように、設定部16dは、図17に示したステップS304で内部メモリのワークエリアに保存された平面領域のうち平面領域を1つ選択する(ステップS501)。
続いて、設定部16dは、ステップS501で選択された平面領域に対応する平面領域データを参照して、平面モデル上に存在する3D点群を2次元の投影面、例えばXY平面へ投影することにより、2D点群へ変換する(ステップS502)。
そして、設定部16dは、ステップS502でXY平面へ投影された2D点群のバウンディングボックスを計算する(ステップS503)。その後、設定部16dは、記憶部15に記憶されたコンテンツデータ15aのうち作業者3が存在するエリアに対応付けられたコンテンツデータを参照して、投影が実施されるコンテンツのサイズに比べてグリッドの縦のサイズおよび横のサイズが十分に小さく、かつ当該コンテンツの縦横比と同一の縦横比を持つグリッドサイズを設定する(ステップS504)。
続いて、第1算出部16eは、ステップS504で設定されたグリッドサイズにしたがってステップS503で得られた2D点群のバウンディングボックスをグリッド状に分割する(ステップS505)。
そして、第1算出部16eは、ステップS505でバウンディングボックスが分割されたグリッド要素ごとに当該グリッド要素に含まれる2D点群の数を算出する(ステップS506)。続いて、第1算出部16eは、各グリッド要素のうち、2D点群の数が所定値、例えばゼロ以下であるグリッド要素にフラグ等の識別情報を付与する(ステップS507)。
その後、第1算出部16eは、バウンディングボックスが分割されたグリッドに距離変換を適用することにより、グリッド要素ごとに当該グリッド要素から平面領域外のグリッド要素に隣接するグリッド要素までの距離を割り当てる(ステップS508)。
その上で、第1算出部16eは、ステップS508の距離変換により割り当てられた距離が最大であるグリッド要素に対応する3次元空間上の位置を、コンテンツのバウンディングボックスの図心、例えば中心や重心が投影される位置として算出する(ステップS509)。
さらに、第2算出部16fは、ステップS509でコンテンツのバウンディングボックスに関する投影位置が設定された場合、当該投影位置で平面領域上にコンテンツを投影できる最大限のサイズを投影サイズとして算出する(ステップS510)。
その後、投影部16gは、ステップS509で算出された投影位置およびステップS510で算出された投影サイズをステップS501で選択された平面領域の投影パラメータとして上記の内部メモリに保存する(ステップS511)。
そして、図17に示したステップS304で内部メモリのワークエリアに保存された全ての平面領域が選択されるまで(ステップS512No)、上記のステップS501〜ステップS511までの処理を繰り返し実行する。その後、図17に示したステップS304で内部メモリのワークエリアに保存された全ての平面領域が選択された場合(ステップS512Yes)、処理を終了する。
[効果の一側面]
上述してきたように、本実施例に係る情報提供装置10は、3D点群情報から検出される平面領域のバウンディングボックスが分割されたグリッドに距離変換を適用することにより平面領域外までの距離を各グリッドに割り当て、当該距離が最大であるグリッドを投影位置に設定するコンテンツ投影処理を実現する。それ故、コンテンツの投影位置を決定できる平面領域の形状が限定されるのを抑制できる。したがって、本実施例に係る情報提供装置10によれば、最大限の投影サイズでコンテンツを投影することが可能になる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[投影位置算出の応用例]
上記の実施例1では、距離変換により割り当てられた距離が最大であるグリッド要素を投影位置として算出する場合を例示したが、距離が最大であるグリッド要素は必ずしも1つでない場合がある。この場合、いずれのグリッド要素を選択したとしても一定の投影サイズで投影することはできるが、選択されるグリッド要素によってはコンテンツの投影サイズに差がでる場合もある。このことから、距離が最大であるグリッド要素が複数存在する場合、下記に説明する処理を実行することにより、複数のグリッド要素のうち最大の投影サイズで投影できるグリッド要素を選択することもできる。
例えば、第1算出部16eは、距離が最大であるグリッド要素が複数存在する場合、距離変換により距離が割り当てられたグリッドに対し、各種のフィルタを適用してフィルタの畳み込み演算を実行する。かかるフィルタには、一例として、注目画素のフィルタ係数が注目画素のフィルタ係数よりも大きい平滑化フィルタやガウシアンフィルタを適用することができる。
ここで、第1算出部16eは、フィルタの畳み込み演算により距離が最大であるグリッド要素が1つに絞り込まれたか否かを判定する。そして、距離が最大であるグリッド要素が1つに絞り込まれた場合、第1算出部16eは、フィルタの畳み込み演算により絞り込まれたグリッド要素を投影位置として算出する。その後、距離が最大であるグリッド要素が1つに絞り込まれるまで、フィルタの畳み込み演算を所定の試行回数にわたって繰り返し実行する。この結果、上記の試行回数の実行後にも距離が最大であるグリッド要素が1つに絞り込まれなかった場合、第1算出部16eは、距離が最大であるグリッド要素のうちグリッド要素をランダムに1つ選択する。
このようにフィルタの畳み込み演算を繰り返し実行して距離が最大であるグリッド要素を1つに絞り込むことにより、複数のグリッド要素のうち最大の投影サイズで投影できるグリッド要素を投影位置に設定することが可能になる。
[グリッドの形状]
上記の実施例1では、グリッドの形状の一例として矩形を例示したが、グリッドの形状は矩形に限定されない。例えば、情報提供装置10は、バウンディングボックスを分割するグリッドの形状を平行四辺形とすることもできる。
図19は、コンテンツの一例を示す図である。図20は、グリッドの形状の応用例を示す図である。図19に示すコンテンツC3の場合、コンテンツC3に外接するバウンディングボックスの形状は、矩形よりも平行四辺形の方が適合する。かかるコンテンツC3の投影パラメータを算出する場合に矩形のバウンディングボックスB1を計算し、矩形状のグリッド要素に分割して距離変換を行ったのでは、最大の投影サイズで投影できる投影位置を決定できないケースが生じることも考えられる。このことから、2D点群から矩形のバウンディングボックスB1と共に、平行四辺形のバウンディングボックスB2をさらに計算し、これら2つのバウンディングボックスごとにグリッド分割を行う。その後、矩形および平行四辺形のバウンディングボックスの種類ごとに平面領域外のグリッド要素の総数を比較し、平面領域外のグリッド要素の総数が少ない種類のグリッドを選択して距離変換以降の処理を実行することもできる。この場合、平行四辺形のグリッドが選択された場合でも、図20に示す通り、ステップS508〜ステップS511までの処理を同様に適用できるのは言うまでもない。
これによって、コンテンツの形状によりフィットするグリッド形状に分割することで、単純にコンテンツのバウンディングボックスのアスペクト比の矩形に分割するよりも、大きく投影可能な位置およびサイズを求めることができる。
[平面領域の応用例]
上記の実施例1では、検出部16cにより検出された平面領域全体から投影パラメータを算出する場合を例示したが、平面領域の一部の領域を平面領域から除外することもできる。すなわち、現場2において無地の壁にポスターが貼ってあるケース等では、ポスターを避けてコンテンツを投影したい場合がある。このような場合、3Dセンサ14により取得される距離(X,Y,D)に加えて色情報、例えば(X,Y,R,G,B)などを参照することにより、一部の領域を平面領域から除外し、平面領域外とみなすこともできる。例えば、情報提供装置10は、平面領域の点群に対応する色情報(X,Y,R,G,B)を参照し、平面領域を同色で形成される領域ごとにラベリング処理を実行し、同一のラベルが付与された領域ごとに模様の有無を判定する。そして、情報提供装置10は、模様が存在しない領域を「平面領域内」と識別する一方で、模様が存在する領域を「平面領域外」と識別する。これによって、平面領域のうち無地でない領域、例えばポスター等の表示や特定の標示が存在する領域を除外してコンテンツを投影させることができる。さらに、情報提供装置10は、模様が存在しない領域であり、かつ無彩色である領域を「平面領域内」と識別することもできる。これによって、壁としてより尤もらしい領域に絞ってコンテンツを投影させることができる。
[他の実装例]
上記の実施例1では、コンテンツ投影用の装置を情報提供装置10として例示したが、情報提供装置10の実装形態はこれに限定されない。例えば、3D計測機能やプロジェクタ機能を搭載する携帯端末装置が増加傾向にあるので、汎用の携帯端末装置等を情報提供装置10として実装することもできる。この場合、起動部16a、取得部16b、検出部16c、設定部16d、第1算出部16e、第2算出部16f及び投影部16gなどの処理部を携帯端末装置に実装することにより、コンテンツ投影処理を実行させることとすればよい。また、上記の実施例1では、3D距離カメラから3D点群情報を取得する場合を例示したが、必ずしも3D距離カメラから3D点群情報を取得せずともかまわない。例えば、2つ以上のカメラにより撮像されたステレオ画像の視差から3D点群情報に対応する距離画像を算出することとしてもよい。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、起動部16a、取得部16b、検出部16c、設定部16d、第1算出部16e、第2算出部16f又は投影部16gを情報提供装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、起動部16a、取得部16b、検出部16c、設定部16d、第1算出部16e、第2算出部16f又は投影部16gを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報提供装置10の機能を実現するようにしてもよい。また、記憶部15に記憶されるデータ、例えばコンテンツデータ15aの全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報提供装置10の機能を実現するようにしてもかまわない。
[コンテンツ投影プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図21を用いて、上記の実施例と同様の機能を有するコンテンツ投影プログラムを実行するコンピュータの一例について説明する。
図21は、実施例1及び実施例2に係るコンテンツ投影プログラムを実行するコンピュータのハードウェア構成例を示す図である。図21に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図21に示すように、上記の実施例1で示した起動部16a、取得部16b、検出部16c、設定部16d、第1算出部16e、第2算出部16f及び投影部16gと同様の機能を発揮するコンテンツ投影プログラム170aが記憶される。このコンテンツ投影プログラム170aは、図3に示した起動部16a、取得部16b、検出部16c、設定部16d、第1算出部16e、第2算出部16f及び投影部16gの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170からコンテンツ投影プログラム170aを読み出した上でRAM180へ展開する。この結果、コンテンツ投影プログラム170aは、図21に示すように、コンテンツ投影プロセス180aとして機能する。このコンテンツ投影プロセス180aは、RAM180が有する記憶領域のうちコンテンツ投影プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、コンテンツ投影プロセス180aが実行する処理の一例として、図16〜図18に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記のコンテンツ投影プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にコンテンツ投影プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体からコンテンツ投影プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などにコンテンツ投影プログラム170aを記憶させておき、コンピュータ100がこれらからコンテンツ投影プログラム170aを取得して実行するようにしてもよい。
1 情報提供システム
2 現場
3 作業者
5 支援者
10 情報提供装置
11 プロジェクタ
12 通信I/F部
13 2Dセンサ
14 3Dセンサ
15 記憶部
15a コンテンツデータ
16 制御部
16a 起動部
16b 取得部
16c 検出部
16d 設定部
16e 第1算出部
16f 第2算出部
16g 投影部
50 情報処理装置

Claims (5)

  1. 3D距離カメラで環境の3D点群情報を取得する取得部と、
    前記3D点群情報から平面領域に属する点群を抽出する平面検出を行う検出部と、
    前記平面領域を複数のグリッドに分割するグリッドサイズの縦横比を投影コンテンツの縦横比に基づいて設定する設定部と、
    距離変換を適用して各グリッドの平面領域外までの距離を求め、前記距離が最大のグリッド位置を投影位置として算出する第1算出部と、
    前記投影位置のグリッド位置の距離から投影サイズを算出する第2算出部と
    を有することを特徴とするコンテンツ投影装置。
  2. 前記第1算出部は、前記距離が最大であるグリッド位置が複数存在する場合、前記距離変換の適用により前記距離が割り当てられた各グリッドに所定のフィルタを適用して、前記フィルタの畳み込み演算を繰り返し実行することにより、前記距離が最大であるグリッド位置を1つに絞り込むことを特徴とする請求項1に記載のコンテンツ投影装置。
  3. 前記平面検出により得られた平面領域のうち前記平面領域に属する点群が持つ色情報を参照して、前記平面領域のうち前記色情報が無地に対応しない領域を除外して前記色情報が無地に対応する領域を抽出する抽出部をさらに有し、
    前記設定部は、前記抽出部により抽出された領域に対して処理を実行することを特徴とする請求項1または2に記載のコンテンツ投影装置。
  4. 3D距離カメラで環境の3D点群情報を取得する処理と、
    前記3D点群情報から平面領域に属する点群を抽出する平面検出を行う処理と、
    前記平面領域を複数のグリッドに分割するグリッドサイズの縦横比を投影コンテンツの縦横比に基づいて設定する処理と、
    距離変換を適用して各グリッドの平面領域外までの距離を求め、前記距離が最大のグリッド位置を投影位置として算出する処理と、
    前記投影位置のグリッド位置の距離から投影サイズを算出する処理と
    がコンピュータにより実行されることを特徴とするコンテンツ投影方法。
  5. 3D距離カメラで環境の3D点群情報を取得する処理と、
    前記3D点群情報から平面領域に属する点群を抽出する平面検出を行う処理と、
    前記平面領域を複数のグリッドに分割するグリッドサイズの縦横比を投影コンテンツの縦横比に基づいて設定する処理と、
    距離変換を適用して各グリッドの平面領域外までの距離を求め、前記距離が最大のグリッド位置を投影位置として算出する処理と、
    前記投影位置のグリッド位置の距離から投影サイズを算出する処理と
    をコンピュータに実行させることを特徴とするコンテンツ投影プログラム。
JP2015205047A 2015-10-16 2015-10-16 コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム Pending JP2017076943A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015205047A JP2017076943A (ja) 2015-10-16 2015-10-16 コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム
US15/292,420 US20170109932A1 (en) 2015-10-16 2016-10-13 Content projection apparatus, content projection method, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015205047A JP2017076943A (ja) 2015-10-16 2015-10-16 コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム

Publications (1)

Publication Number Publication Date
JP2017076943A true JP2017076943A (ja) 2017-04-20

Family

ID=58524104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015205047A Pending JP2017076943A (ja) 2015-10-16 2015-10-16 コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム

Country Status (2)

Country Link
US (1) US20170109932A1 (ja)
JP (1) JP2017076943A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019030885A (ja) * 2017-08-07 2019-02-28 株式会社アマダホールディングス 情報投影方法及び装置並びにレーザ加工装置
KR20220105769A (ko) * 2021-01-21 2022-07-28 주식회사 와이즈오토모티브 짐 인식 장치 및 그 동작 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10939081B2 (en) * 2018-05-25 2021-03-02 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
US10540785B2 (en) * 2018-05-30 2020-01-21 Honeywell International Inc. Compressing data points into polygons
US11494953B2 (en) * 2019-07-01 2022-11-08 Microsoft Technology Licensing, Llc Adaptive user interface palette for augmented reality
CN113674227B (zh) * 2021-08-02 2023-08-08 上海工程技术大学 一种用于离子推力器栅极组件的层间距检测方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019030885A (ja) * 2017-08-07 2019-02-28 株式会社アマダホールディングス 情報投影方法及び装置並びにレーザ加工装置
US10974347B2 (en) 2017-08-07 2021-04-13 Amada Holdings Co., Ltd. Information projecting method and apparatus and laser processing apparatus
KR20220105769A (ko) * 2021-01-21 2022-07-28 주식회사 와이즈오토모티브 짐 인식 장치 및 그 동작 방법
KR102461438B1 (ko) 2021-01-21 2022-11-01 주식회사 와이즈오토모티브 짐 인식 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20170109932A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
JP2017076943A (ja) コンテンツ投影装置、コンテンツ投影方法及びコンテンツ投影プログラム
JP6423435B2 (ja) 物理的光景を表すための方法および装置
JP5343042B2 (ja) 点群データ処理装置および点群データ処理プログラム
US10262460B2 (en) Three dimensional panorama image generation systems and methods
US20210112181A1 (en) Image processing device, image processing method, and recording medium
US10482659B2 (en) System and method for superimposing spatially correlated data over live real-world images
JP2023016837A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6310149B2 (ja) 画像生成装置、画像生成システム及び画像生成方法
EP3190581B1 (en) Interior map establishment device and method using cloud point
JP6321570B2 (ja) 屋内位置情報測位システム及び屋内位置情報測位方法
JP5535025B2 (ja) 屋外地物検知システム、屋外地物検知システム用プログラム、および屋外地物検知システム用プログラムの記録媒体
JP2010128727A (ja) 画像処理装置
JP2018048839A (ja) 三次元データ生成装置及び三次元データ生成方法、並びに三次元データ生成装置を備えた監視システム
JP6380647B2 (ja) 情報提供方法、情報提供プログラム、情報提供装置、情報処理装置及び情報提供システム
JP2016009432A (ja) 画像形成装置、画像形成システム及び画像形成プログラム
JP2017091063A (ja) 物体検知装置、情報処理装置およびその方法
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
JP7427615B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20210201522A1 (en) System and method of selecting a complementary image from a plurality of images for 3d geometry extraction
KR101586026B1 (ko) 영상감시 시스템을 위한 카메라 감시 영역 산출 장치 및 방법
KR101700651B1 (ko) 위치정보 기반의 공유 경로데이터를 이용한 객체 트래킹 장치
KR101036107B1 (ko) 고유식별 정보를 이용한 증강 현실 구현시스템
JP7188798B2 (ja) 座標算出装置、座標算出方法、及びプログラム
JP7170234B2 (ja) 検査装置及び検査方法
JP6526605B2 (ja) 仮想カメラ画像生成装置