以下、本発明に係る制御装置及び制御プログラムの実施形態を図面に基づいて説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能かつ容易なもの、あるいは実質的に同一のものが含まれる。
図1は、本実施形態に係る指示システム100の一例を模式的に示す図である。本実施形態において、指示システム100は、例えば不特定多数に対してソーシャルディスタンスを確保する場合に用いることができる。図1に示すように、指示システム100は、撮像装置10と、制御装置20と、投影装置30とを備えている。
撮像装置10は、対象領域の映像を取得する。撮像装置10は、例えば可視光カメラ、赤外線カメラのうち少なくとも一方のカメラ等が用いられる。対象領域は、例えばオフィス、スポーツジム、商業施設等の不特定多数が利用する施設の内部や、屋外の施設の場合には屋内の空間等が挙げられる。対象領域は、複数の移動対象が相対的に移動可能な広さを有する。本実施形態において、移動対象は、人物及び物体を含む。
制御装置20は、CPU(Central Processing Unit)等の処理装置や、RAM(Random Access Memory)、ROM(Read Only Memory)等の記憶装置を有している。制御装置20は、検出部21と、算出部22と、処理部23と、記憶部24とを有している。
検出部21は、撮像装置10によって取得された映像に基づいて、相対的に移動する複数の移動対象を検出する。検出部21は、例えば特徴量抽出等の画像処理を行い、所定の認識アルゴリズム等を用いて、映像に含まれる複数の移動対象を検出することが可能である。
検出部21は、例えば人物を移動対象として検出可能である。検出部21は、検出した人物に対して所定距離以内に存在し、当該人物に対して一体的又は追従して移動する人物又は物体を副対象として検出可能である。この場合、検出部21は、副対象が属する人物を主対象として検出する。副対象として、例えば人物では乳児、幼児等の子供、車椅子に座った人物等が挙げられ、物体では荷物等が挙げられる。荷物としては、バッグ等の直接身に着けて運搬する荷物、台車、カート、キャスター付きトランク等の押す又は引くことにより運搬する荷物等が挙げられる。なお、当該人物に対して一体的又は追従して移動する人物又は物体を副対象として検出可能としたが、一体的又は追従して移動しているか否かは主対象と判断された人物に対して、副対象が所定時間接しているか否かによって判定すればよい。さらに、検出した人物と、当該人物に対して一体的又は追従して移動する人物との判断は、人物同士の身長や表面積など比較し、身長等が高い人物を主対象、低い人物を副対象とすればよい。また、検出した人物と、当該人物に対して一体的又は追従して移動する物体との判断は、予め定められたオブジェクト(バック等)を画像認識で判断し、人物を主対象、物体を副対象とすればよい。これらは例示であって、種々の公知技術を用いることは可能である。
検出部21は、例えば人物とは独立して移動する物体である移動体を移動対象として検出可能である。移動体としては、例えば監視ロボット、清掃ロボット等の移動可能なロボットが挙げられる。また、このようなロボットは、例えば対象領域の床、壁等を自在に移動可能な移動装置と、対象領域に投影されるオブジェクトを検出可能なカメラ、センサ等の検出装置とを有する。
検出部21は、可視光カメラによる映像と、赤外線カメラによる映像とを用いることにより、高精度な検出が可能となる。赤外線カメラは例えば遠赤外線による温度情報を輝度にとして出力する。赤外線カメラとしては、遠赤外線の中でも人体の発する波長に特化した特性を備えたものを用いることができる。例えば、可視光カメラによる映像では人物の顔が隠れる場合や、身に着けている荷物や着衣等で画像上の面積が不明瞭となる場合がある。このような場合、赤外線カメラの映像では人物の体温に相当する表面温度の箇所が存在するか否か、存在する場合には人物の顔に相当する箇所であるか否か、等の判定を行うことにより、人物と他の移動体との判別精度、人物の画像上の輪郭の検出精度を高めることができる。
算出部22は、複数の移動対象が検出された場合、複数の移動対象同士の距離を算出する。算出部22は、複数の移動対象が検出された場合、例えば所定の期間ごとに、複数の移動対象が検出されなくなるまで当該移動対象同士の距離を算出する。算出部22は、移動対象が人物である場合、一例として、互いの頭部同士又は口同士の距離を移動対象同士の距離として算出することができる。算出部22は、例えば頭部同士の距離を算出する場合、三次元空間における頭部の中心座標同士(三次元座標)を結ぶ線分の距離を算出してもよいし、平面視における頭部の中心座標同士(二次元座標)を結ぶ線分の距離を算出してもよい。また、算出部22は、複数の移動対象の位置、移動方向及び移動速度についても算出可能である。算出部22は、それぞれ三次元空間での位置、移動方向及び移動速度として算出してもよいし、平面視における二次元空間での位置、移動方向及び移動速度として算出してもよい。
算出部22は、複数の移動対象の一が主対象であり、副対象として子供、車椅子に座った人物等の人物が検出される場合、他の移動対象と、主対象及び副対象のうち距離が短くなる方との間の距離を算出する。
処理部23は、距離が閾値未満の場合、距離が閾値以上となるように、移動方向の変更を指示する移動対象である指示対象と、指示対象の変更後の移動方向とを設定する。処理部23は、例えば移動対象の動線を乱さないようにするため、変更後の移動方向が距離算出時点での移動方向に対して±45°内に収まるように当該変更後の移動方向を設定する。より具体的には、処理部23は、複数の移動対象間の距離を算出し、距離が短くなるほど、変更後の移動方向を大きくする。例えば、処理部23は、閾値が3mであった場合であって、移動対象間の距離が2mのとき、変更後の移動方向を23°とし、移動対象間の距離が0.5mのとき、変更後の移動方向を45°とする。このように、処理部23は、複数の移動対象間の距離に応じて、変更後の移動方向を設定すればよい。なお、処理部23は、変更後の移動方向が距離算出時点での移動方向の成分を含む方向であれば、±45°よりも大きくなる方向を設定してもよい。また、処理部23は、移動対象が十分な距離を移動できるように変更後の移動方向を設定する。
処理部23は、検出部21において主対象及び副対象が検出される場合、主対象に対する副対象の大きさ、主対象に対して副対象が属する態様、移動対象間の距離が閾値以上となるために要する移動方向の変更の大きさに基づいて、指示対象を選定する。主対象に対する副対象の大きさについては、画像処理により求めることができる。一例として、副対象と判定された人物又は物体の画像上の面積と、主対象の画像上の面積との比率によって示すことができる。
例えば、副対象の大きさが大きいほど、主対象の負担度合いが大きくなると考えられる。一方、同じ大きさの副対象であっても、主対象の体格又は身長等によって負荷度合いが異なると考えられる。したがって、副対象と主対象との比率によって示すことで、負荷度合いを調整できる。
主対象に対して副対象が属する態様については、上記した例に沿って説明すると、副対象が子供である場合、子供が主対象と手を繋いで移動する態様、子供が主対象に抱きかかえられて移動する態様等が挙げられる。また、副対象が車椅子に座った人物である場合、当該人物が車椅子で主対象に押されて移動する態様が挙げられる。また、副対象がバッグ等の荷物である場合、主対象が荷物を直接身に着けて運搬する態様が挙げられる。また、副対象が台車、カート、キャスター付きトランク等の場合、主対象が荷物を押す又は引くことにより運搬する態様が挙げられる。
例えば台車、カート、キャスター付きトランク等のように副対象(荷物)を押す又は引くことで運搬する場合には、子供を抱きかかえて移動する態様に比べて移動の負荷度合いが小さいと考えられる。一方、大きい荷物を押す又は引く場合には、小さい子供を抱きかかえて移動する場合に比べて、移動方向を変更する際の負荷度合いが大きくなると考えられる。したがって、例えば移動対象間の距離に応じて算出された移動方向の変更量が所定値よりも小さい場合、処理部23は、移動の負荷度合いが小さい方、つまり荷物を押す又は引くことで運搬する主対象が指示対象となるように設定することができる。一方、移動対象間の距離に応じて算出された移動方向の変更量が所定値よりも大きくなる場合、処理部23は、移動方向を変更するための負荷度合いが小さい方、つまり小さい子供を抱きかかえて移動する主対象が指示対象となるように設定する。
処理部23は、複数の移動対象として人物と移動体とが検出された場合、移動体が優先的に指示対象となるようにすることができる。移動体は、人物に比べて移動方向を変更する際の負荷度合いが小さい場合が多い。また、移動体は、人物が歩いて移動する場合とは異なり、検出時点の移動方向に対して±90°の範囲の移動を小さい負荷度合いで行うことが可能な場合がある。したがって、例えば複数の移動対象として人物と移動体とが検出された場合、人物を移動対象としないようにしたり、人物の移動方向の変更量を移動体の移動方向の変更量よりも小さくするようにしたりする等、移動体を優先的に指示対象となるように設定することで、人物に対する負荷度合いを小さくすることができる。また、移動体が停止することなく移動し続けることができるため、移動体の移動効率を向上させることができる。
処理部23は、指示対象及び変更後の移動方向を設定し、後述するオブジェクトが投影された後、複数の移動対象間の距離が閾値以上となった場合、指示対象及び変更後の移動方向の設定を解除する。
記憶部24は、例えばハードディスクドライブ、ソリッドステートドライブ等のストレージを有している。なお、記憶部24として、リムーバブルディスク等の外部記憶媒体が用いられてもよい。記憶部24は、撮像装置10及び投影装置30を制御するための各種プログラムやデータ等を記憶する。
記憶部24は、対象領域の映像に基づいて、相対的に移動する複数の移動対象を検出する処理と、複数の移動対象が検出された場合、複数の移動対象同士の距離を算出する処理と、距離が閾値未満の場合、距離が閾値以上となるように、移動方向の変更を指示する移動対象である指示対象と、指示対象の変更後の移動方向とを設定する処理とをコンピュータに実行させる制御プログラムを記憶する。
投影装置30は、変更後の移動方向を示すオブジェクトを指示対象の位置に対応させて対象領域に投影する。投影装置30としては、例えば1台以上のプロジェクタ等が用いられる。投影装置30は、オブジェクトを対象領域の壁、床等に投影する。投影装置30によりオブジェクトが投影されることにより、指示対象に対して変更後の移動方向を指示することができる。投影装置30は、指示対象が移動する場合、指示対象の位置の変化に応じて追従するようにオブジェクトを移動させる。例えば、投影装置30は、指示対象の移動速度に合わせてオブジェクトを移動させるように投影することができる。なお、投影装置30は、処理部23において指示対象及び変更後の移動方向の設定が解除された場合、オブジェクトの投影を終了する。
次に、上記の指示システム100の使用態様の例を説明する。図2は、対象領域を複数の人物が移動する状態を模式的に示す図である。図3は、撮像装置10で撮像された対象領域の映像の一例を示す図である。図2及び図3に示すように、撮像装置10で撮像された映像に基づいて、検出部21は、移動対象として複数の人物P1、P2を検出する。
算出部22は、人物P1と人物P2との距離を算出する。図2及び図3に示すように、算出部22は、人物P1の頭部と人物P2の頭部との距離d1を算出する。また、算出部22は、人物P1、P2の位置、移動方向及び移動速度についても算出する。
処理部23は、距離d1が閾値未満の場合、当該距離d1が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図2及び図3に示す例では、人物P1、P2に副対象が存在せず、体格や身長等も同様であることから、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いが同等であると推定される。また、人物P1、P2の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、人物P1、P2の両方を指示対象として設定し、それぞれ検出時の移動方向に対して同程度の変更量となるように変更後の移動方向を設定する。
図4は、撮像装置10で撮像された対象領域の映像の一例を示す図である。投影装置30は、図4に示すように、処理部23で設定された指示対象である人物P1、P2に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P1、P2の位置に対応するように移動方向のオブジェクトO1、O2を投影する。オブジェクトO1、O2が指し示す方向は、人物P1、P2の検出時の移動方向(図中に破線矢印で示す)に対してそれぞれ離れる方向に同程度の変更量となっている。人物P1、P2は、投影されたオブジェクトO1、O2を見ることにより、それぞれ移動すべき方向を容易に認識することができる。
オブジェクトO1、O2が投影された後においても、算出部22により複数の移動対象同士の距離が算出される。算出された距離が閾値以上である場合、処理部23は、指定対象及び変更後の移動方向の設定を解除する。投影装置30は、設定の解除に基づき、オブジェクトO1、O2の投影を終了する。
図5は、一の移動対象に副対象が存在する場合の例を示す図である。図6は、撮像装置10で撮像された対象領域の映像の一例を示す図である。図5及び図6に示す例は、主対象が子供と手を繋いで移動する態様である。この場合、検出部21は、移動対象として人物P3、P4を検出する。また、一方の人物P3が主対象であり、当該主対象に属する副対象である子供P5を検出する。子供P5は、人物P3と手を繋いで移動する態様である。
算出部22は、人物P3及び子供P5と人物P4との距離を算出する。図5に示すように、算出部22は、人物P3の頭部と人物P4の頭部との距離d2と、子供P5の頭部と人物P4の頭部との距離d3を算出する。算出部22は、距離d2及び距離d3のうち短い方の距離を移動対象同士の距離として算出する。本実施形態では、距離d3が移動対象同士の距離として算出される。また、算出部22は、人物P3及び子供P5、人物P4の位置、移動方向及び移動速度についても算出する。
処理部23は、距離d3が閾値未満の場合、当該距離d3が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図5及び図6に示す例では、人物P3には副対象である子供P5が存在するが、人物P4には副対象が存在しない。この場合、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いは、人物P3の方が大きいと推定される。また、人物P1、P2の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、例えば人物P3を指示対象とはせず、人物P4を指示対象として設定し、検出時の移動方向に対して所定の変更量となるように変更後の移動方向を設定する。
投影装置30は、図6に示すように、処理部23で設定された指示対象である人物P4に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P4の位置に対応するように移動方向のオブジェクトO3を投影する。オブジェクトO3が指し示す方向は、人物P4の検出時の移動方向(図中に破線矢印で示す)に対して人物P3から離れる方向となっている。人物P4は、投影されたオブジェクトO3を見ることにより、移動すべき方向を容易に認識することができる。なお、オブジェクトO3が投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトO3の投影が終了する。
また、図7は、主対象が車いすに座る人物を押して移動する態様を示す図である。この場合、検出部21は、移動対象として人物P6、P7を検出する。また、一方の人物P6が主対象であり、当該主対象に属する副対象である車いすに座った人物P8を検出する。
算出部22は、人物P6、P8と人物P7との距離を算出する。図7に示すように、算出部22は、人物P6の頭部と人物P7の頭部との距離d4と、人物P8の頭部と人物P7の頭部との距離d5を算出する。算出部22は、距離d4及び距離d5のうち短い方の距離を移動対象同士の距離として算出する。本実施形態では、距離d5が移動対象同士の距離として算出される。
処理部23は、距離d5が閾値未満の場合、当該距離d5が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図7に示す例では、図5及び図6に示す例と同様に、人物P6には副対象である人物P8が存在するが、人物P7には副対象が存在しない。この場合、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いは、人物P6の方が大きいと推定される。また、人物P6、P7の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、例えば人物P6を指示対象とはせず、人物P7を指示対象として設定し、検出時の移動方向に対して所定の変更量となるように変更後の移動方向を設定する。
投影装置30は、処理部23で設定された指示対象である人物P7に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P7の位置に対応するように移動方向のオブジェクトを投影する。人物P7は、投影されたオブジェクトを見ることにより、移動すべき方向を容易に認識することができる。なお、オブジェクトが投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトの投影が終了する。
図8は、主対象が荷物(キャリーバッグ)を引いて移動する態様を示す図である。この場合、検出部21は、移動対象として人物P9、P10を検出する。また、一方の人物P9が主対象であり、当該主対象に属する副対象である荷物M1を検出する。算出部22は、人物P9と人物P10との距離を算出する。図8に示すように、算出部22は、人物P9の頭部と人物P10の頭部との距離d6を算出する。
処理部23は、距離d6が閾値未満の場合、当該距離d6が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図8に示す例では、図5及び図6に示す例と同様に、人物P9には副対象である荷物M1が存在するが、人物P10には副対象が存在しない。この場合、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いは、人物P10の方が大きいと推定される。また、人物P9、P10の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、例えば人物P9を指示対象とはせず、人物P10を指示対象として設定し、検出時の移動方向に対して所定の変更量となるように変更後の移動方向を設定する。
投影装置30は、処理部23で設定された指示対象である人物P10に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P10の位置に対応するように移動方向のオブジェクトを投影する。人物P10は、投影されたオブジェクトを見ることにより、移動すべき方向を容易に認識することができる。なお、オブジェクトが投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトの投影が終了する。
図9は、主対象が子供を抱きかかえて移動する態様を示す図である。この場合、検出部21は、移動対象として人物P11、P12を検出する。また、一方の人物P11が主対象であり、当該主対象に属する副対象である子供P13を検出する。子供P13は、人物P11に抱きかかえられて移動する態様である。
算出部22は、人物P11、P13と人物P12との距離を算出する。図9に示すように、算出部22は、人物P11の頭部と人物P12の頭部との距離d7と、子供P13の頭部と人物P12の頭部との距離d8を算出する。算出部22は、距離d7及び距離d8のうち短い方の距離を移動対象同士の距離として算出する。本実施形態では、距離d8が移動対象同士の距離として算出される。
処理部23は、距離d8が閾値未満の場合、当該距離d8が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図9に示す例では、図5及び図6に示す例と同様に、人物P11には副対象である子供P13が存在するが、人物P12には副対象が存在しない。この場合、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いは、人物P11の方が大きいと推定される。また、人物P11、P12の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、例えば人物P11を指示対象とはせず、人物P12を指示対象として設定し、検出時の移動方向に対して所定の変更量となるように変更後の移動方向を設定する。
投影装置30は、処理部23で設定された指示対象である人物P12に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P12の位置に対応するように移動方向のオブジェクトを投影する。人物P12は、投影されたオブジェクトを見ることにより、移動すべき方向を容易に認識することができる。なお、オブジェクトが投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトの投影が終了する。
図10は、一の移動対象に副対象が存在する場合の例を示す図である。図11は、撮像装置10で撮像された対象領域の映像の一例を示す図である。図10及び図11に示す例は、一方の主対象が子供を抱きかかえて移動する態様であり、他方の主対象が子供と手を繋いで移動する態様である。この場合、検出部21は、移動対象として人物P14、P15を検出する。また、人物P14が主対象であり、当該主対象に属する副対象である子供P16を検出する。子供P16は、人物P14に抱きかかえられて移動する態様である。また、人物P15が主対象であり、当該主対象に属する副対象者である子供P17を検出する。子供P17は、人物P15と手を繋いで移動する態様である。
算出部22は、人物P14及び子供P16と、人物P15及び子供P17との距離を算出する。図10に示すように、算出部22は、人物P14の頭部と人物P15の頭部との距離d9と、人物P14の頭部と子供P17の頭部との距離と、子供P16の頭部と人物P15の頭部との距離と、子供P16の頭部と子供P17の頭部との距離とを算出する。算出部22は、算出した各距離のうち最も短い距離である距離d9を移動対象同士の距離として算出する。また、算出部22は、人物P14、P15及び子供P16、P17の位置、移動方向及び移動速度についても算出する。
処理部23は、距離d9が閾値未満の場合、当該距離d9が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図10及び図11に示す例では、人物P14には副対象である子供P16が存在し、人物P15には副対象である子供P17が存在する。一方、子供P16は人物P14に抱きかかえられている状態であるに対して、子供P17は人物P15と手を繋いでいる状態である。人物P14、P15の体格、身長等は同等であり、子供P16、P17の体格、身長等は同等である。したがって、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いは、子供P16を抱きかかえている人物P14の方が大きいと推定される。また、人物P14、P15の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、例えば人物P14を指示対象とはせず、人物P15を指示対象として設定し、検出時の移動方向に対して所定の変更量となるように変更後の移動方向を設定する。
投影装置30は、図11に示すように、処理部23で設定された指示対象である人物P15に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P15の位置に対応するように移動方向のオブジェクトO4を投影する。オブジェクトO4が指し示す方向は、人物P15の検出時の移動方向(図中に破線矢印で示す)に対して人物P14から離れる方向となっている。人物P15は、投影されたオブジェクトO4を見ることにより、移動すべき方向を容易に認識することができる。なお、オブジェクトO4が投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトO4の投影が終了する。
図12は、対象領域を人物及び移動体が移動する状態を模式的に示す図である。図13は、撮像装置10で撮像された対象領域の映像の一例を示す図である。図12及び図13に示すように、撮像装置10で撮像された映像に基づいて、検出部21は、移動対象として人物P18と監視ロボットR1とを検出する。監視ロボットR1は、移動装置R1aにより自律的に移動可能であり、カメラR1bにより周囲の映像を撮影する。監視ロボットR1は、カメラR1bで撮影した映像に基づいて、周囲の障害物等を検知し、周囲の障害物との接触又は衝突を回避するように移動装置R1aにより移動可能である。カメラR1bは、投影装置30により投影されるオブジェクトを検知可能である。
算出部22は、人物P18と監視ロボットR1との距離を算出する。図12及び図13に示すように、算出部22は、人物P18の表面と監視ロボットR1の表面との間の最短の距離d10を算出する。また、算出部22は、人物P18及び監視ロボットR1の位置、移動方向及び移動速度についても算出する。
処理部23は、距離d10が閾値未満の場合、当該距離d10が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図12及び図13に示す例では、移動対象の一方が人物P18であり、当該人物P18には副対象が存在しない。また、移動対象の他方が監視ロボットR1である。したがって、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いについては、監視ロボットR1の方が人物P18よりも低いものの、人物P18の負荷度合いは特段高くないと推定される。また、人物P18及び監視ロボットR1の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、人物P18及び監視ロボットR1の両方を指示対象として設定し、監視ロボットR1の方が人物P18よりも変更量が大きくなるように移動方向を設定する。
投影装置30は、図13に示すように、処理部23で設定された指示対象である人物P18及び監視ロボットR1に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて人物P18及び監視ロボットR1の位置に対応するように移動方向のオブジェクトO5、O6を投影する。オブジェクトO5、O6が指し示す方向は、人物P18及び監視ロボットR1の検出時の移動方向(図中に実線矢印で示す)に対してそれぞれ離れる方向にθ1、θ2(ただし、θ1<θ2)の変更量となっている。人物P18及び監視ロボットR1は、投影されたオブジェクトO5、O6を見る又はカメラR1bで撮影して検知することにより、それぞれ移動すべき方向を容易に認識することができる。なお、オブジェクトO5、O6が投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトO5、O6の投影が終了する。
図14は、対象領域を複数の移動体が移動する状態を模式的に示す図である。図15は、撮像装置10で撮像された対象領域の映像の一例を示す図である。図14及び図15に示すように、撮像装置10で撮像された映像に基づいて、検出部21は、移動対象として移動体である監視ロボットR2と掃除ロボットR3とを検出する。監視ロボットR2は、上記した監視ロボットR1と同様の構成であり、移動装置R2aと、カメラR2bとを有する。掃除ロボットR3は、移動装置R3aにより自律的に移動可能であり、カメラR3bにより周囲の映像を撮影する。掃除ロボットR3は、カメラR3bで撮影した映像に基づいて、周囲の障害物等を検知し、周囲の障害物との接触又は衝突を回避するように移動装置R3aにより移動しつつ、吸引部R3cから異物を吸引可能である。カメラR3bは、投影装置30により投影されるオブジェクトを検知可能である。
算出部22は、監視ロボットR2と掃除ロボットR3との距離を算出する。図14及び図15に示すように、算出部22は、監視ロボットR2の表面と掃除ロボットR3の表面との間の最短の距離d11を算出する。また、算出部22は、監視ロボットR2及び掃除ロボットR3の位置、移動方向及び移動速度についても算出する。
処理部23は、距離d11が閾値未満の場合、当該距離d11が閾値以上となるように指示対象及び指示対象の変更後の移動方向を設定する。図14及び図15に示す例では、移動対象の一方が監視ロボットR2であり、他方が掃除ロボットR3である。監視ロボットR2の方が掃除ロボットR3よりも大きい。したがって、移動する場合の負荷度合い及び移動方向を変更する場合の負荷度合いについては、掃除ロボットR3の方が監視ロボットR2よりも低いものの、監視ロボットR2の負荷度合いは特段高くないと推定される。また、監視ロボットR2及び掃除ロボットR3の周囲には移動を妨げる障害物等が検出されない状態である。したがって、処理部23は、監視ロボットR2及び掃除ロボットR3の両方を指示対象として設定し、掃除ロボットR3の方が監視ロボットR2よりも変更量が大きくなるように移動方向を設定する。
投影装置30は、図15に示すように、処理部23で設定された指示対象である監視ロボットR2及び掃除ロボットR3に対して変更後の移動方向を指示するため、対象領域の例えば床部Fにおいて監視ロボットR2及び掃除ロボットR3の位置に対応するように移動方向のオブジェクトO7、O8を投影する。オブジェクトO7、O8が指し示す方向は、監視ロボットR2及び掃除ロボットR3の検出時の移動方向(図中に実線矢印で示す)に対してそれぞれ離れる方向にθ3、θ4(ただし、θ3<θ4)の変更量となっている。監視ロボットR2及び掃除ロボットR3は、投影されたオブジェクトO7、O8をカメラで撮影して検知することにより、それぞれ移動すべき方向を容易に認識することができる。なお、オブジェクトO7、O8が投影された後、複数の移動体同士の距離が閾値以上となった場合、処理部23により指定対象及び変更後の移動方向の設定が解除され、投影装置30によりオブジェクトO7、O8の投影が終了する。
図16は、本実施形態に係る指示システム100の動作の流れの一例を示すフローチャートである。まず、撮像装置10は、対象領域の映像を取得する(ステップS10)。検出部21は、取得された映像に基づいて、複数の移動対象を検出する(ステップS20)。複数の移動対象が検出されない場合(ステップS20のNo)、ステップS20の処理を繰り返し行う。複数の移動対象が検出された場合(ステップS20のYes)、算出部22は、検出された複数の移動対象同士の距離を算出する(ステップS30)。
処理部23は、算出された距離が閾値未満であるか否かを判定する(ステップS40)。算出された距離が閾値未満ではない場合(ステップS40のNo)、処理を終了する。算出された距離が閾値未満である場合(ステップS40のYes)、処理部23は、当該距離が閾値以上となるように、指示対象及び当該指示対象の変更後の移動方向とを設定する(ステップS50)。投影装置30は、設定された変更後の移動方向を示すオブジェクトを指示対象の位置に対応させて対応領域に投影する(ステップS60)。
処理部23は、算出部22により算出される距離が閾値以上であるか否かを判定する(ステップS70)。算出された距離が閾値未満である場合(ステップS70のNo)、ステップS70の処理を繰り返し行う。算出された距離が閾値以上である場合(ステップS70のYes)、処理部23は、指定対象及び変更後の移動方向の設定を解除する(ステップS80)。投影装置30は、設定の解除に基づき、オブジェクトの投影を終了する(ステップS90)。
以上のように、本実施形態に係る制御装置20は、対象領域の映像に基づいて、相対的に移動する複数の移動対象を検出する検出部21と、複数の移動対象が検出された場合、複数の移動対象同士の距離を算出する算出部22と、距離が閾値未満の場合、距離が閾値以上となるように、移動方向の変更を指示する移動対象である指示対象と、指示対象の変更後の移動方向とを設定する処理部23とを備える。
また、本実施形態に係る制御プログラムは、対象領域の映像に基づいて、相対的に移動する複数の移動対象を検出する処理と、複数の移動対象が検出された場合、複数の移動対象同士の距離を算出する処理と、距離が閾値未満の場合、距離が閾値以上となるように、移動方向の変更を指示する移動対象である指示対象と、指示対象の変更後の移動方向とを設定する処理とをコンピュータに実行させる。
この構成によれば、相対的に移動する複数の移動対象を映像に基づいて検出し、移動対象同士の距離が閾値未満になった場合に、指示対象及び当該指示対象の変更後の移動方向を自動的に設定することができる。したがって、設定された指示対象に対して変更後の移動方向を報知することにより、指示対象は、容易に変更後の移動方向を認識することができる。これにより、相対的に移動する複数の移動対象同士の距離を確保するため適切な指示を出すことが可能となる。
また、本実施形態に係る指示システム100は、対象領域の映像を取得する撮像装置10と、上記の制御装置30と、変更後の移動方向を示すオブジェクトを指示対象の位置に対応させて対象領域に投影する投影装置30とを備える。この構成によれば、変更後の移動方向を示すオブジェクトを指示対象の位置に対応させて投影することができる。したがって、指示対象となった移動対象は、オブジェクトを見る又は検知することにより、容易に変更後の移動方向を認識することができる。これにより、相対的に移動する複数の移動対象同士の距離を確保するため適切な指示を出すことが可能となる。
本実施形態に係る制御装置20において、検出部21は、人物を移動対象として検出可能であり、当該人物を主対象として検出し、当該人物に対して所定距離以内に存在し人物に対して一体的又は追従して移動する人物又は物体を副対象として検出し、処理部23は、主対象が複数の移動対象の一として検出された場合、主対象に対する副対象の大きさ、主対象に対して副対象が属する態様、及び距離が閾値以上となるために要する複数の移動対象の移動方向の変更の大きさに基づいて、指示対象を選定する。この構成によれば、副対象を伴う主対象の移動時の負荷度合いを適切に調整することができる。
本実施形態に係る制御装置20において、算出部22は、副対象が人物である場合、主対象及び副対象のうち短い方の距離を他の移動対象との距離として算出する。この構成によれば、複数の移動対象同士の距離をより適切に算出することができる。
本実施形態に係る制御装置20において、検出部21は、人物とは独立して移動する物体である移動体を移動対象として検出し、処理部23は、複数の移動対象として人物と移動体とが検出された場合、移動体を優先的に指示対象とする。この構成によれば、人物及び移動体の移動時の負荷度合いを適切に調整することができる。
本発明の技術範囲は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更を加えることができる。例えば、上記実施形態では、オフィス、スポーツジム、商業施設等の対象領域において、ソーシャルディスタンスを確保するための動作を例に挙げて説明したが、これに限定されない。例えば、複数の移動対象同士の距離が閾値未満となる可能性がある他の場面においても適用可能である。このような他の場面としては、例えば集団でダンス等を行う場合、メンバー同士の距離を調整する際において適用することができる。