画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体
【課題】撮影した画像の閲覧制限を高精度に行う。
【解決手段】判定値算出部28が、パーティクルフィルタの各サンプルの位置姿勢において、地図情報に基づいて閲覧禁止多面体を画像に投影するとともに、閲覧禁止多面体が投影された画素における奥行き値を地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする。また、判定値算出部28が、各サンプルの位置姿勢において、閲覧禁止多面体を画像に投影したときのサンプルの尤度に基づく値を、閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とする。そして、閲覧画像生成部30が、画像のうち閲覧禁止奥行き判定値が奥行き情報よりも小さい画素で、かつマスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する。
【解決手段】判定値算出部28が、パーティクルフィルタの各サンプルの位置姿勢において、地図情報に基づいて閲覧禁止多面体を画像に投影するとともに、閲覧禁止多面体が投影された画素における奥行き値を地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする。また、判定値算出部28が、各サンプルの位置姿勢において、閲覧禁止多面体を画像に投影したときのサンプルの尤度に基づく値を、閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とする。そして、閲覧画像生成部30が、画像のうち閲覧禁止奥行き判定値が奥行き情報よりも小さい画素で、かつマスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体に関する。
【背景技術】
【0002】
近年、自律的に移動し、様々なサービスを提供するロボットの実用化が進められている。ロボットが提供するサービスには、ロボットが撮影したロボット周辺の画像を遠隔地に配信するというサービスがある。最近では、通信のインフラ整備に伴って、カメラで撮影した動画を無線で配信することも可能となってきている。これにより、今後は、ロボットが街中を移動して撮影した画像(静止画及び動画)を、インターネットを介して世界中からリアルタイムで確認することができるサービスなども提供できる可能性がある。
【0003】
一方、プライバシー保護に関する社会的な要求は非常に高い。したがって、上記のようなサービスを普及させるためには、撮影した画像の中で閲覧できる部分を制限することが必要である。例えば、ロボットが街中を移動して撮影する場合には、撮影された画像に写っている個人の家を閲覧不可能にする等の制限が必要となる。
【0004】
これに対し、カメラで撮影した画像の閲覧を制限する技術には、特許文献1、2のような技術がある。特許文献1の技術は、監視カメラ等の配置位置が固定されたパンチルトカメラで撮影した画像に対し、プライバシー部分として閲覧を制限したい部分をパン・チルトのエンコーダ情報を用いてマスキング設定するというものである。また、特許文献2の技術は、移動するカメラに関する技術として、基地局データを用いてカメラを内蔵する携帯電話の存在する位置を特定し、携帯電話がある空間に存在している場合に、カメラによる撮影を禁止するというものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−69494号公報
【特許文献2】特開2006−50285号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1では、カメラの位置が固定されていることを前提とし、パン・チルトのエンコーダ情報のみを用いて画像の閲覧の制限を実現している。すなわち、本技術は、移動するロボットにおいて撮影された画像の閲覧を制限することには、適用することができない。
【0007】
また、上記特許文献2では、カメラによる撮影の許可又は禁止の設定しかできず、画面に映っている一部の領域のみを閲覧禁止にすることはできない。
【0008】
なお、閲覧を制限する技術においては、上述したように個人の家などは閲覧禁止にする一方で、その家の手前に存在している閲覧を制限する必要のない物体(車など)については、閲覧できるようにすることが望ましい。また、ロボットに搭載されたカメラの位置姿勢は、パーティクルフィルタを用いて推定されることが多いが、当該推定において、尤度の高いサンプル(仮説)が複数存在するような場合にも、高精度に閲覧の制限を行う必要がある。
【0009】
そこで本件は上記の課題に鑑みてなされたものであり、撮影した画像の閲覧制限を高精度に行うことが可能な画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体を提供することを目的とする。
【課題を解決するための手段】
【0010】
本明細書に記載の画像処理装置は、移動体に搭載されたカメラから、画像を取得する画像取得部と、前記移動体に搭載された、前記画像を構成するの奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部と、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部と、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報を管理する地図情報管理部と、前記パーティクルフィルタの各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部と、前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部と、前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部と、備える画像処理装置である。
【0011】
本明細書に記載の画像処理プログラムは、コンピュータを、移動体に搭載されたカメラから、画像を取得する画像取得部、前記移動体に搭載された、前記画像を構成するの奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部と、前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部、前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部、前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部、として機能させる画像処理プログラムである。
【0012】
本明細書に記載の画像処理方法は、コンピュータが、移動体に搭載されたカメラから、画像を取得する画像取得工程と、前記移動体に搭載された、前記画像を構成するの奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得工程と、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得工程、前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出工程と、前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出工程と、前記画像取得工程で取得された前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成工程と、を実行する画像処理方法である。
【0013】
本明細書に記載の移動体は、画像を撮影するカメラと、前記画像を構成するの奥行き情報を検出する奥行き情報検出部と、本明細書に記載の画像処理装置と、を備える移動体である。
【発明の効果】
【0014】
本明細書に記載の画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体は、撮影した画像の閲覧制限を高精度に行うことができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】一実施形態に係る画像閲覧システムの概略構成図である。
【図2】移動ロボットの機能ブロック図である。
【図3】図3(a)は、2次元レイアウト地図の一例を示す図であり、図3(b)は、閲覧禁止多面体のデータ構造を示す図である。
【図4】画像処理装置のハードウェア構成を示す図である。
【図5】移動ロボット(画像処理装置)の処理を示すフローチャートである。
【図6】パーティクルフィルタを用いたカメラ位置姿勢推定について説明するための図である。
【図7】パーティクルフィルタを用いたカメラ位置姿勢推定における尤度計算工程を説明するための図である。
【図8】図5のステップS30の具体的処理を示す図である。
【図9】図8のステップS70の具体的処理を示す図である。
【図10】図10(a)〜図10(g)は、図9の処理の概要を模式的に示す図である。
【図11】図8のステップS80の具体的処理を示す図である。
【図12】図5のステップS40の処理を説明するための図(その1)である。
【図13】図5のステップS40の処理を説明するための図(その2)である。
【図14】パーティクルフィルタを用いたカメラ位置姿勢推定を行った場合の不確かさについて説明するための図である。
【発明を実施するための形態】
【0016】
以下、画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体の一実施形態について、図1〜図14に基づいて詳細に説明する。
【0017】
図1には、画像閲覧システム100の概略構成が示されている。この図1に示すように、画像閲覧システム100は、移動体としての移動ロボット10と、情報処理装置としての1つ以上のPC70とを備えている。移動ロボット10とPC70とはインターネットなどの通信回線(以下、「インターネット」と総称する)を介して接続されている。
【0018】
図2は、移動ロボット10の機能ブロック図である。移動ロボット10は、図2に示すように、ステレオカメラ12、駆動部14、エンコーダ16、及び画像処理装置18を備える。ステレオカメラ12は、2台のカメラを有し、当該2台のカメラで同時に異なる視点から2つの画像を撮影する。また、ステレオカメラ12は、2つのカメラで撮影された画像における対象物の位置の対応付けを行うことで、各画素の奥行き情報を検出する、奥行き情報検出部としても機能する。ステレオカメラ12において撮影された画像及び検出された奥行き情報は、画像処理装置18に向けて出力される。駆動部14は、車輪及び当該車輪を駆動するモータ、及びモータを駆動制御する駆動制御部等を含んでいる。エンコーダ16は、車輪の回転量を検出するロータリエンコーダ等であり、検出した車輪の回転量を画像処理装置18に対して出力する。
【0019】
画像処理装置18は、画像取得部20と、奥行き情報取得部22と、取得部としてのカメラ位置姿勢推定部24と、地図情報管理部26と、判定値算出部28と、閲覧画像生成部30と、送信部32と、を有する。
【0020】
画像取得部20は、ステレオカメラ12が有する一方のカメラにおいて撮影された画像を取得する。奥行き情報取得部22は、ステレオカメラ12において検出された各画素の奥行き情報を取得する。なお、奥行き情報取得部22は、ステレオカメラ12において撮影される2つの画像を取得し、当該画像から各画素の奥行き情報を自ら算出して、取得することとしてもよい。この場合、奥行き情報取得部22は、奥行き情報検出部としての機能も有することになる。
【0021】
カメラ位置姿勢推定部24は、奥行き情報取得部22による奥行き情報の取得結果、エンコーダ16による検出結果、及び地図情報管理部26が管理する地図情報に基づいて、ステレオカメラ12の位置姿勢の推定を行う。なお、ステレオカメラ12の位置姿勢の推定には、パーティクルフィルタを用いるが、この方法の詳細については後述する。
【0022】
地図情報管理部26は、移動ロボット10が移動可能な範囲の地図情報を管理する。地図情報は、2次元レイアウト地図と、閲覧を禁止する必要のある物体(例えば、民家など、プライバシーを保護する必要のある建物など)を包含する閲覧禁止多面体の2次元面内位置情報と高さ情報とを含んでいる。具体的には、図3(a)に示すように、2次元レイアウト地図は、ロボット走行領域(道路)や壁、閲覧禁止多面体の2次元配置のデータを含んでいる。また、閲覧禁止多面体については、図3(b)に示すようなデータ構造にて、地図情報管理部26に管理されている。図3(b)のデータには、閲覧禁止多面体の頂点の数、各頂点のレイアウト地図上におけるX、Y座標、及び閲覧禁止多面体の高さ下限値、上限値が含まれている。なお、このようなデータ構造を採用する利点は、カメラ位置推定に用いる2次元レイアウト地図上に多角形を入力し、その多角形に高さ情報の属性を付けるのみでよいため、閲覧禁止多面体の設定が容易である点にある。
【0023】
図2に戻り、判定値算出部28は、奥行き情報取得部22で取得された各画素の奥行き情報と、カメラ位置姿勢推定部24で取得されたパーティクルフィルタのサンプルの位置姿勢と、を用いて、2つの判定値を算出する。2つの判定値は、閲覧禁止奥行き判定値とマスク判定値である。すなわち、判定値算出部28は、閲覧禁止奥行き判定値算出部及びマスク判定値算出部として機能する。なお、これらの判定値の詳細については、後述する。
【0024】
閲覧画像生成部30は、画像取得部20で取得された画像と、判定値算出部28で算出された2つの判定値とを用いて閲覧画像を生成する。具体的には、閲覧画像生成部30は、各画素に関して2つの判定値に基づいて、閲覧禁止にするか否かを定める閲覧禁止マスク値を生成し、当該閲覧禁止マスク値を用いて、画像の一部を閲覧禁止にした画像(閲覧画像)を生成する。送信部32は、閲覧画像生成部30により生成された閲覧画像を、インターネットを介してPC70に送信する。
【0025】
なお、画像処理装置18は、図4に示すようなハードウェア構成により実現されている。すなわち、画像処理装置18は、CPU90、ROM92、RAM94、記憶部(ここではHDD(Hard Disk Drive))96、入出力部97等を備えており、画像処理装置18の構成各部は、バス98に接続されている。画像処理装置18は、ROM92あるいはHDD96に格納されているプログラム(画像処理プログラム)をCPU90が実行することにより、図2の各部の機能を実現する。また、入出力部97には、図2のステレオカメラ12やエンコーダ16等が接続されている。
【0026】
次に、本実施形態における移動ロボット10の動作・処理について、図5〜図12に基づいて、詳細に説明する。図5は、移動ロボット10(画像処理装置18)の処理を示すフローチャートである。この図5に示すように、まず、ステップS10では、画像取得部20が、ステレオカメラ12から画像(各画素の輝度値I(h,v))を取得する。また、奥行き情報取得部22が、ステレオカメラ12から取得した画像から各画素の奥行き情報Z(h,v)を取得する。なお、座標(h,v)は、各画素の画像面内(画像内)水平方向及び垂直方向に関する座標値である。なお、ステレオカメラ12の2つのカメラ間の対応付けができず、奥行き情報が得られない画素については、奥行き情報Z(h,v)は+∞となる。
【0027】
次いで、ステップS20では、カメラ位置姿勢推定部24が、各画素の奥行き情報Z(h,v)と2次元レイアウト地図を用いてカメラ位置姿勢を推定する。具体的には、カメラ位置姿勢推定部24は、図6のような処理を行う。ここで、カメラ位置姿勢推定部24は、カメラ位置姿勢の推定に時系列フィルタであるパーティクルフィルタを用いることとしている。この方法は、推定対象(カメラ)の状態を統計的に推定する方法であり、システムモデルと観測モデルに対する制約が少なくロバストに状態を推定することができるという利点がある。
【0028】
パーティクルフィルタでは、図6に示すように、まず推定したい状態をある確率分布に従って離散化し、一定数のサンプルを生成する(初期化工程)。次に、状態遷移モデル(エンコーダ16の検出結果)に基づき、各サンプルの状態を遷移させる(遷移工程)。ここでは、ノイズをw、システムモデルをfとすると、サンプル状態パラメータsは、次式(1)から算出することができる。
【0029】
【数1】
【0030】
次に、奥行き情報取得部22で取得された各画素の奥行き情報を用いて観測を行う(観測工程)。ここで、時刻tにおける観測量をytとする。次いで、観測量ytを用いて各サンプルの尤度Lを次式(2)を用いて評価する(尤度計算工程)。
【0031】
【数2】
【0032】
そして、各サンプルの尤度から重みを計算し、各サンプルの状態の重み付き平均をとって対象(カメラ)の状態の推定を行う(推定工程)。具体的には、次式(3)に基づいて重みπを計算し、次式(4)に基づいて、推定量εを算出する。
【0033】
【数3】
【0034】
【数4】
【0035】
その後、尤度の高い順にサンプルを生成してリサンプリングを行う(リサンプリング工程)。このような処理を各時刻で繰り返し行うことで対象の状態推定を行うことができる。
【0036】
なお、本実施形態では、カメラの位置姿勢推定において、奥行き情報取得部22で取得された各画素の奥行き情報Z(h,v)を床面に投影した計測地図(図7参照)と、2次元レイアウト地図との照合を行う。そして、両地図の一致度を尤度として用いてパーティクルフィルタによりカメラの位置と姿勢の推定を行う。なお、計測地図と2次元レイアウト地図の照合が一致せずにすべてのサンプルの尤度が所定の閾値よりも低くなる場合には、位置を見失った状態(ロスト状態)として取り扱われる。
【0037】
図5に戻り、次のステップS30では、各画素の閲覧禁止マスク値M(h,v)を生成するサブルーチンを実行する。ステップS30では、具体的には、図8の処理を実行する。
【0038】
図8の処理では、まず、ステップS60において、判定値算出部28が、位置をロストしたか否かを判断する。ここでの判断が否定された場合には、ステップS70に移行し、判定値算出部28が、閲覧禁止奥行き判定値Z_Inh(h,v)とマスク判定値E(h,v)を決定するサブルーチン(図9)を実行する。なお、閲覧禁止奥行き判定値Z_Inh(h,v)は、画像面上(画像上)の座標(h,v)の画素に投影される閲覧禁止多面体の奥行きを示す値である。また、マスク判定値は、その画素で閲覧禁止多面体が投影される尤もらしさを示す判定値である。
【0039】
図9の処理では、まず、ステップS702において、判定値算出部28が、マスク判定値E(h,v)及び閲覧禁止奥行き判定値Z_Inh(h,v)を初期化する。ここでは、判定値算出部28は、マスク判定値E(h,v)を0に設定することで初期化し、閲覧禁止奥行き判定値Z_Inh(h,v)を+∞に設定することで初期化する。
【0040】
次いで、ステップS704では、判定値算出部28が、未選択のパーティクルフィルタのサンプルSを選択する。
【0041】
次いで、ステップS706では、判定値算出部28が、サンプルSの尤度L(S)(上式(2)参照)が所定の閾値Lthよりも大きいか否かを判断する。ここでの判断が否定された場合には、ステップS724に移行する。なお、ここでの判断が否定される場合とは、尤度が小さすぎるため、閲覧禁止にするか否かの判断において考慮する必要がないサンプルであることを意味する。
【0042】
一方、ステップS706の判断が肯定されると、ステップS708に移行する。ステップS708では、判定値算出部28が、未選択の閲覧禁止多面体Hを選択する。この場合、判定値算出部28は、画像取得部20において取得された画像内に含まれる閲覧禁止多面体のうちのいずれかを、地図情報管理部26にて管理されている地図情報から抽出して選択する。
【0043】
次いで、ステップS710では、判定値算出部28が、ステップS708において選択した閲覧禁止多面体Hの未選択の面Pを選択する。
【0044】
次いで、ステップS712では、判定値算出部28が、ステップS710において選択された面Pが投影される画像の画素のうち、未選択の画素を選択する。
【0045】
次いで、ステップS714では、判定値算出部28が、選択した画素の奥行き値Zp(h,v)を計算する。すなわち、閲覧禁止多面体Hの面Pが投影される画素のうちの選択した画素の奥行きを、面Pのデータ(図3(b)参照)に基づいて計算する。
【0046】
次いで、ステップS716では、判定値算出部28が、マスク判定値E(h,v)、閲覧禁止奥行き判定値Z_Inh(h,v)を更新する。具体的には、次式(5)に基づいてマスク判定値E(h,v)を更新し、次式(6)に基づいて閲覧禁止奥行き判定値Z_Inh(h,v)を更新する。
E(h,v)=E(h,v)+L(S) …(5)
Z_Inh(h,v)=min(Zp(h,v),Z_Inh(h,v)) …(6)
【0047】
上式(5)では、直前までのマスク判定値E(h,v)(ここでは、初期値0)に尤度L(S)を加算することで、マスク判定値E(h,v)を更新する。また、上式(6)では、直前までの閲覧禁止奥行き判定値Z_Inh(h,v)(ここでは初期値+∞)と、ステップS714で計算された奥行き値Zp(h,v)を比べる。そして、各値のうちのいずれか小さい方の値で、閲覧禁止奥行き判定値Z_Inh(h,v)を更新する。
【0048】
次いで、ステップS718では、判定値算出部28が、面Pが投影される画像の全画素を選択したか否かを判断する。ここでの判断が否定された場合には、ステップS712に戻り、次の画素に対する処理を上記と同様に行う。一方、ここでの判断が肯定された場合には、ステップS720に移行する。
【0049】
ステップS720に移行した場合、判定値算出部28が、閲覧禁止多面体Hの全面を選択したか否かを判断する。ここでの判断が否定された場合には、ステップS710に戻り、次の面に対する処理を上記と同様に行う。一方、ここでの判断が肯定された場合には、ステップS722に移行する。
【0050】
ステップS722に移行した場合、判定値算出部28が、全ての閲覧禁止多面体Hを選択したか否かを判断する。ここでの判断が否定された場合には、ステップS708に戻り、次の閲覧禁止多面体に対する処理を上記と同様に行う。一方、ここでの判断が肯定された場合には、ステップS724に移行する。
【0051】
ステップS724に移行した場合(ステップS722の判断が肯定された場合、又はステップS706の判断が否定された場合)、判定値算出部28が、全てのサンプルSを選択したか否かを判断する。ここでの判断が否定された場合には、ステップS704に戻り、未だ選択がされていないサンプルSを用いた処理を上記と同様にして行う。一方、ここでの判断が肯定された場合には、図9の全処理(ステップS70のサブルーチン)を終了する。以上のようにして、ステップS70の処理が完了すると、図8のステップS80に移行する。
【0052】
ここで、図9の処理について、具体的な例を用いて説明する。図10(a)〜図10(g)には、図9の処理の概要が模式的に示されている。図10(a)に示すように、パーティクルフィルタを用いたカメラ位置姿勢推定を行った結果、サンプルS1、S2が尤度が高いサンプルとして取得されたとする。この場合に、まず、サンプルS1にて、閲覧禁止多面体の面P1を評価する。図10(b)には、面P1を画像面に投影した状態(画像に投影した状態)が示されている。ここで、面P1の奥行き値Zp(h,v)が2であり、サンプルS1の尤度L(S1)が0.2であったとする。このような状況下では、マスク判定値E(h,v)は、図10(c)に示すように、図10(b)の黒画素部分が0.2に更新され、その他の画素は0のまま維持される。
【0053】
一方、閲覧禁止奥行き判定値Z_Inh(h,v)は、図10(d)に示すように、図10(b)の黒画素部分が2に更新され、その他の画素は+∞のまま維持される。
【0054】
次に、サンプルS2にて、閲覧禁止多面体の面P1を評価する。図10(e)には、面P1を画像面に投影した状態(画像に投影した状態)が示されている。ここで、面P1の奥行き値Zp(h,v)が1であり、サンプルS2の尤度L(S2)が0.3であったとする。このような状況下では、マスク判定値E(h,v)は、図10(f)に示すように、図10(e)の黒画素部分に0.3が加算されて更新され、その他の画素は0のまま維持される。すなわち、図10(e)に示す黒画素のうち、図10(b)に示す黒画素以外の画素のマスク判定値E(h,v)が0.3となり、図10(b)に示す黒画素のマスク判定値E(h,v)が0.5となる。
【0055】
一方、閲覧禁止奥行き判定値Z_Inh(h,v)は、図10(g)に示すように、図10(e)の黒画素のすべてが1に更新され、その他の画素は+∞のまま維持される。
【0056】
本実施形態の図9の処理では、上記のような処理が、面P2に対しても行われるようになっている。
【0057】
図9の処理が終了すると、図8のステップS80に移行する。ステップS80では、判定値算出部28が、閲覧禁止マスク値M(h,v)を決定するサブルーチン(図11)を実行する。
【0058】
図11の処理では、まず、ステップS802において、判定値算出部28が、未選択の画素を選択する。次いで、ステップS804では、判定値算出部28が、マスク判定値E(h,v)が閾値Ethよりも大きいか否かを判断する。ここでの判断が肯定された場合には、ステップS806に移行する。なお、ここでの判断が肯定される場合とは、ステップS802で選択された画素が、尤度の高い1以上のサンプルにおいて閲覧禁止多面体の同一の面が投影された画素であることを意味する。一方、ここでの判断が否定される場合とは、ステップS802で選択された画素が、尤度の高い1以上のサンプルにおいて閲覧禁止多面体の同一の面が投影されていない画素であることを意味する。
【0059】
ステップS806では、判定値算出部28が、Z_Inh(h,v)がZ(h,v)よりも小さいか否かを判断する。ここでの判断が肯定された場合には、ステップS808に移行する。なお、ここでの判断が肯定される場合とは、ステップS802で選択された画素に、閲覧禁止多面体の面が撮像されていることを意味する。一方、ここでの判断が否定される場合とは、ステップS802で選択された画素に、閲覧禁止多面体の面よりも前側(カメラ側)に存在する別の物体が撮像されていることを意味する。
【0060】
ステップS808に移行すると、判定値算出部28は、閲覧禁止マスク値M(h,v)を1に設定する。
【0061】
一方、ステップS804、およびステップS806の判断が否定された場合にはステップS812に移行する。ステップS812では、判定値算出部28が、閲覧禁止マスク値M(h,v)を0に設定する。
【0062】
その後、ステップS808又はステップS812の処理を経て、ステップS810に移行すると、判定値算出部28は、全ての画素が選択されたか否かを判断する。ここでの判断が否定されると、ステップS802に戻り、上記と同様の処理を、残りの画素についても実行する。そして、ステップS810の判断が肯定された段階で、図11の全処理及び図8の全処理を終了して、図5のステップS40に移行する。
【0063】
上記のようにして図11の処理を行うことにより、閲覧禁止多面体の面に対応する画素の閲覧禁止マスク値M(h,v)が1に設定され、それ以外の画素の閲覧禁止マスク値M(h,v)が0に設定される。すなわち、例えば、閲覧禁止多面体の前に別の物体が存在している場合には、当該別の物体に対応する画素の閲覧禁止マスク値M(h,v)は0に設定されることになる。
【0064】
なお、図8のステップS60の判断が肯定された場合、すなわち、位置をロストした場合には、ステップS90に移行する。そして、ステップS90では、判定値算出部28が、全画素の閲覧禁止マスク値M(h,v)を1に設定し、図5のステップS40に移行する。
【0065】
図5に戻り、ステップS40では、閲覧画像生成部30が、画像(各画素の輝度値)I(h,v)と閲覧禁止マスク値M(h,v)を用いて、閲覧禁止部分を除去した画像Im(h,v)を生成する。具体的には、図12に示すように、閲覧画像生成部30は、撮影禁止マスクの画像として、閲覧禁止マスク値M(h,v)が1の画素を黒画素とした画像(閲覧禁止マスク画像)を生成する。そして、閲覧画像生成部30は、当該閲覧禁止マスク画像と画像I(h、v)とを合成して、閲覧禁止部分を閲覧不可能にした画像Im(h,v)を生成する。すなわち、ここでは、閲覧画像生成部30は、M(h、v)=0の場合に、Im(h,v)=I(h,v)とし、M(h、v)=1の場合に、Im(h,v)=0とする。
【0066】
ここで、例えば、図13に示すように、閲覧禁止多面体の前に物体(図13では人物)が存在していた場合には、当該人物に対応する画素の閲覧禁止マスク値M(h,v)は0に設定される。したがって、本実施形態では、閲覧画像Im(h,v)において、閲覧禁止多面体の前に位置する人物を閲覧することが可能となる。
【0067】
図5に戻り、次のステップS50では、送信部32が、ステップS40で生成された画像Im(h,v)を、インターネットを介して、PC70に配信する。PC70では、配信された画像(動画を含む)をほぼリアルタイムにて閲覧することが可能である。
【0068】
以上、詳細に説明したように、本実施形態によると、画像取得部20が、移動ロボット10に搭載されたステレオカメラ12から、画像I(h、v)を取得し、奥行き情報取得部22が、ステレオカメラ12にて得られた画像を構成するの奥行き情報Z(h,v)を取得し、カメラ位置姿勢推定部24が、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する。そして、判定値算出部28は、パーティクルフィルタの各サンプルSの位置姿勢において、地図情報管理部26が管理する地図情報に基づいて閲覧禁止多面体を画像に投影するとともに、閲覧禁止多面体が投影された画素における奥行き値Zp(h,v)を地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値Zp(h,v)の最小値を、各画素の閲覧禁止奥行き判定値Z_Inh(h,v)とする。また、判定値算出部28は、各サンプルの位置姿勢において、閲覧禁止多面体を画像に投影したときのサンプルの尤度に基づく値(本実施形態では尤度L(S)そのものの値)を、閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値E(h,v)とする。そして、閲覧画像生成部30は、画像I(h,v)のうち、閲覧禁止奥行き判定値Z_Inh(h,v)が奥行き情報Z(h,v)よりも小さい画素で、かつマスク判定値E(h,v)が所定の閾値Ethよりも大きい画素の閲覧を禁止した閲覧画像Im(h,v)を生成する。これにより、本実施形態では、サンプルの尤度を考慮して算出されるマスク判定値E(h,v)が比較的大きい画素のうちで、閲覧禁止多面体を撮像している可能性の高い画素(奥行き情報が、閲覧禁止奥行き判定値以上である画素)を閲覧禁止とすることができる。これにより、プライバシー等が保護された閲覧画像を生成することが可能である。
【0069】
この場合、図14に示すように、カメラの位置姿勢の尤もらしいサンプル(仮説)が複数あり、重み付き平均をとると、カメラの推定位置が2つのサンプルの中間位置になってしまい、不確かさが発生することがある。このような場合でも、マスク判定値E(h,v)を用いることで、それらの複数の尤もらしい位置姿勢のどの位置から撮影したとしても閲覧禁止としたい物体を確実に閲覧できないようにすることが可能である。また、本実施形態では、奥行き情報が閲覧禁止奥行き判定値以上である画素を閲覧禁止とし、奥行き情報が閲覧禁止奥行き判定値よりも小さい画素を閲覧可能とする。これにより、閲覧禁止としたい物体(多面体)を閲覧できなくする一方で、閲覧禁止としたい物体(多面体)の手前にある、閲覧を制限する必要のない物体を閲覧できるようにすることが可能となる(図13参照)。
【0070】
また、本実施形態では、画像処理装置18は、閲覧画像生成部30により生成された閲覧画像Im(h,v)を、PC70に送信する送信部32を備えている。これにより、閲覧制限をする必要のある部分(例えば、プライバシーを保護する必要のある部分)を閲覧禁止にした画像を、PC70にて閲覧できるようにすることができる。
【0071】
また、本実施形態では、ステレオカメラに12より撮影された2つの異なる画像から、画像を構成するの奥行き情報を取得する。これにより、画像取得部20が取得する画像、及び各画素の奥行き情報を取得するための画像として、共通の画像を用いることができる。したがって、簡易な構成で、高精度な各画素の奥行き情報を取得することができる。
【0072】
また、本実施形態では、カメラ位置姿勢推定部24が、カメラの位置姿勢を推定できなかった場合(ロスト状態となった場合)に、閲覧画像生成部30は、全ての画素の閲覧を禁止した画像を生成する。これにより、カメラの位置姿勢がわからなくなっても、画像のうちの少なくとも閲覧制限をする必要のある部分(例えば、プライバシー保護部分)の閲覧を不可能にすることができる。
【0073】
なお、上記実施形態では、カメラとしてステレオカメラ12を用い、ステレオカメラ12において撮影された画像から、画像I(h,v)と、各画素の奥行き情報Z(h,v)を取得する場合について説明した。しかしながら、これに限られるものではなく、例えば、1つの画像を撮影可能なカメラを用いるとともに、各画素の奥行き情報Z(h,v)を検出することが可能な奥行き情報検出部(Depth Imagerなど)を併せて用いることとしてもよい。
【0074】
なお、上記実施形態では、マスク判定値E(h,v)を更新する際に、上式(5)のように、尤度L(S)そのものを累積する場合について説明したが、これに限られるものではない。例えば、次式(7)に示すように、L(S)の2乗を累積することとしてもよい。
E(h,v)=E(h,v)+L(S)2 …(7)
【0075】
あるいは、次式(8)のように、L(S)を変数とする関数f(L(S))を累積することとしてもよい。
E(h,v)=E(h,v)+f(L(S)) …(8)
【0076】
なお、上記実施形態では、閲覧禁止マスク値M(h,v)が1のときにIm(h,v)を0にする場合について説明したが、これに限られるものではない。例えば、閲覧禁止マスク値M(h,v)が1の画素に対し、モザイクやぼかし等の処理を行うこととしてもよい。
【0077】
なお、上記実施形態では、カメラ位置姿勢推定部24が、画像処理装置18内に設けられている場合について説明したが、これに限られるものではない。例えば、カメラ位置姿勢推定部を画像処理装置18外に設けることとし、画像処理装置18内には、カメラ位置姿勢推定部において推定されたステレオカメラの位置姿勢を取得する機能(取得部としての機能)のみを設けることとしても良い。このようにしても、上記実施形態と同様の効果を得ることができる。
【0078】
なお、上記実施形態では、移動ロボット10にカメラを搭載する場合について説明したが、これに限られるものではない。カメラは、例えば、自動車などの移動体に搭載することとしてもよい。
【0079】
なお、上記実施形態では、閲覧禁止多面体が、民家などのプライバシーを保護する必要のある建物である場合について説明した。しかしながら、これに限らず、プライバシー以外の何らかの理由(防衛上、機密上、法律上、教育上あるいは倫理上の理由など)で閲覧可能にすべきでない物体を、閲覧禁止多面体に設定することとしてもよい。
【0080】
なお、上記実施形態では、移動ロボット10に、画像処理装置18が搭載された場合について説明したが、これに限られるものではない。例えば、画像処理装置18は、移動ロボット10と通信可能とし、移動ロボット10に搭載しないようにしてもよい。この場合、画像処理装置18は、図1のインターネットに接続されてもよい。また、画像処理装置18が、インターネットに接続されている少なくとも1台のPC70に組み込まれてもよい。すなわち、インターネット等の通信網に接続されたサーバコンピュータを本件の画像処理装置とし、これに接続されたパーソナルコンピュータ等の情報処理装置に、画像表示を行うサービスをサーバコンピュータから提供するようにしても良い(ASP(Application Service Provider))。
【0081】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0082】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0083】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0084】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【0085】
10 移動ロボット(移動体)
12 ステレオカメラ(カメラ、奥行き情報検出部)
18 画像処理装置
20 画像取得部
22 奥行き情報取得部
24 カメラ位置姿勢推定部(取得部)
26 地図情報管理部
28 判定値算出部(閲覧禁止奥行き判定値算出部、マスク判定値算出部)
30 閲覧画像生成部
32 送信部
70 PC(情報処理装置)
【技術分野】
【0001】
本件は、画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体に関する。
【背景技術】
【0002】
近年、自律的に移動し、様々なサービスを提供するロボットの実用化が進められている。ロボットが提供するサービスには、ロボットが撮影したロボット周辺の画像を遠隔地に配信するというサービスがある。最近では、通信のインフラ整備に伴って、カメラで撮影した動画を無線で配信することも可能となってきている。これにより、今後は、ロボットが街中を移動して撮影した画像(静止画及び動画)を、インターネットを介して世界中からリアルタイムで確認することができるサービスなども提供できる可能性がある。
【0003】
一方、プライバシー保護に関する社会的な要求は非常に高い。したがって、上記のようなサービスを普及させるためには、撮影した画像の中で閲覧できる部分を制限することが必要である。例えば、ロボットが街中を移動して撮影する場合には、撮影された画像に写っている個人の家を閲覧不可能にする等の制限が必要となる。
【0004】
これに対し、カメラで撮影した画像の閲覧を制限する技術には、特許文献1、2のような技術がある。特許文献1の技術は、監視カメラ等の配置位置が固定されたパンチルトカメラで撮影した画像に対し、プライバシー部分として閲覧を制限したい部分をパン・チルトのエンコーダ情報を用いてマスキング設定するというものである。また、特許文献2の技術は、移動するカメラに関する技術として、基地局データを用いてカメラを内蔵する携帯電話の存在する位置を特定し、携帯電話がある空間に存在している場合に、カメラによる撮影を禁止するというものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−69494号公報
【特許文献2】特開2006−50285号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記特許文献1では、カメラの位置が固定されていることを前提とし、パン・チルトのエンコーダ情報のみを用いて画像の閲覧の制限を実現している。すなわち、本技術は、移動するロボットにおいて撮影された画像の閲覧を制限することには、適用することができない。
【0007】
また、上記特許文献2では、カメラによる撮影の許可又は禁止の設定しかできず、画面に映っている一部の領域のみを閲覧禁止にすることはできない。
【0008】
なお、閲覧を制限する技術においては、上述したように個人の家などは閲覧禁止にする一方で、その家の手前に存在している閲覧を制限する必要のない物体(車など)については、閲覧できるようにすることが望ましい。また、ロボットに搭載されたカメラの位置姿勢は、パーティクルフィルタを用いて推定されることが多いが、当該推定において、尤度の高いサンプル(仮説)が複数存在するような場合にも、高精度に閲覧の制限を行う必要がある。
【0009】
そこで本件は上記の課題に鑑みてなされたものであり、撮影した画像の閲覧制限を高精度に行うことが可能な画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体を提供することを目的とする。
【課題を解決するための手段】
【0010】
本明細書に記載の画像処理装置は、移動体に搭載されたカメラから、画像を取得する画像取得部と、前記移動体に搭載された、前記画像を構成するの奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部と、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部と、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報を管理する地図情報管理部と、前記パーティクルフィルタの各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部と、前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部と、前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部と、備える画像処理装置である。
【0011】
本明細書に記載の画像処理プログラムは、コンピュータを、移動体に搭載されたカメラから、画像を取得する画像取得部、前記移動体に搭載された、前記画像を構成するの奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部と、前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部、前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部、前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部、として機能させる画像処理プログラムである。
【0012】
本明細書に記載の画像処理方法は、コンピュータが、移動体に搭載されたカメラから、画像を取得する画像取得工程と、前記移動体に搭載された、前記画像を構成するの奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得工程と、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得工程、前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出工程と、前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出工程と、前記画像取得工程で取得された前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成工程と、を実行する画像処理方法である。
【0013】
本明細書に記載の移動体は、画像を撮影するカメラと、前記画像を構成するの奥行き情報を検出する奥行き情報検出部と、本明細書に記載の画像処理装置と、を備える移動体である。
【発明の効果】
【0014】
本明細書に記載の画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体は、撮影した画像の閲覧制限を高精度に行うことができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】一実施形態に係る画像閲覧システムの概略構成図である。
【図2】移動ロボットの機能ブロック図である。
【図3】図3(a)は、2次元レイアウト地図の一例を示す図であり、図3(b)は、閲覧禁止多面体のデータ構造を示す図である。
【図4】画像処理装置のハードウェア構成を示す図である。
【図5】移動ロボット(画像処理装置)の処理を示すフローチャートである。
【図6】パーティクルフィルタを用いたカメラ位置姿勢推定について説明するための図である。
【図7】パーティクルフィルタを用いたカメラ位置姿勢推定における尤度計算工程を説明するための図である。
【図8】図5のステップS30の具体的処理を示す図である。
【図9】図8のステップS70の具体的処理を示す図である。
【図10】図10(a)〜図10(g)は、図9の処理の概要を模式的に示す図である。
【図11】図8のステップS80の具体的処理を示す図である。
【図12】図5のステップS40の処理を説明するための図(その1)である。
【図13】図5のステップS40の処理を説明するための図(その2)である。
【図14】パーティクルフィルタを用いたカメラ位置姿勢推定を行った場合の不確かさについて説明するための図である。
【発明を実施するための形態】
【0016】
以下、画像処理装置、画像処理プログラム及び画像処理方法、並びに移動体の一実施形態について、図1〜図14に基づいて詳細に説明する。
【0017】
図1には、画像閲覧システム100の概略構成が示されている。この図1に示すように、画像閲覧システム100は、移動体としての移動ロボット10と、情報処理装置としての1つ以上のPC70とを備えている。移動ロボット10とPC70とはインターネットなどの通信回線(以下、「インターネット」と総称する)を介して接続されている。
【0018】
図2は、移動ロボット10の機能ブロック図である。移動ロボット10は、図2に示すように、ステレオカメラ12、駆動部14、エンコーダ16、及び画像処理装置18を備える。ステレオカメラ12は、2台のカメラを有し、当該2台のカメラで同時に異なる視点から2つの画像を撮影する。また、ステレオカメラ12は、2つのカメラで撮影された画像における対象物の位置の対応付けを行うことで、各画素の奥行き情報を検出する、奥行き情報検出部としても機能する。ステレオカメラ12において撮影された画像及び検出された奥行き情報は、画像処理装置18に向けて出力される。駆動部14は、車輪及び当該車輪を駆動するモータ、及びモータを駆動制御する駆動制御部等を含んでいる。エンコーダ16は、車輪の回転量を検出するロータリエンコーダ等であり、検出した車輪の回転量を画像処理装置18に対して出力する。
【0019】
画像処理装置18は、画像取得部20と、奥行き情報取得部22と、取得部としてのカメラ位置姿勢推定部24と、地図情報管理部26と、判定値算出部28と、閲覧画像生成部30と、送信部32と、を有する。
【0020】
画像取得部20は、ステレオカメラ12が有する一方のカメラにおいて撮影された画像を取得する。奥行き情報取得部22は、ステレオカメラ12において検出された各画素の奥行き情報を取得する。なお、奥行き情報取得部22は、ステレオカメラ12において撮影される2つの画像を取得し、当該画像から各画素の奥行き情報を自ら算出して、取得することとしてもよい。この場合、奥行き情報取得部22は、奥行き情報検出部としての機能も有することになる。
【0021】
カメラ位置姿勢推定部24は、奥行き情報取得部22による奥行き情報の取得結果、エンコーダ16による検出結果、及び地図情報管理部26が管理する地図情報に基づいて、ステレオカメラ12の位置姿勢の推定を行う。なお、ステレオカメラ12の位置姿勢の推定には、パーティクルフィルタを用いるが、この方法の詳細については後述する。
【0022】
地図情報管理部26は、移動ロボット10が移動可能な範囲の地図情報を管理する。地図情報は、2次元レイアウト地図と、閲覧を禁止する必要のある物体(例えば、民家など、プライバシーを保護する必要のある建物など)を包含する閲覧禁止多面体の2次元面内位置情報と高さ情報とを含んでいる。具体的には、図3(a)に示すように、2次元レイアウト地図は、ロボット走行領域(道路)や壁、閲覧禁止多面体の2次元配置のデータを含んでいる。また、閲覧禁止多面体については、図3(b)に示すようなデータ構造にて、地図情報管理部26に管理されている。図3(b)のデータには、閲覧禁止多面体の頂点の数、各頂点のレイアウト地図上におけるX、Y座標、及び閲覧禁止多面体の高さ下限値、上限値が含まれている。なお、このようなデータ構造を採用する利点は、カメラ位置推定に用いる2次元レイアウト地図上に多角形を入力し、その多角形に高さ情報の属性を付けるのみでよいため、閲覧禁止多面体の設定が容易である点にある。
【0023】
図2に戻り、判定値算出部28は、奥行き情報取得部22で取得された各画素の奥行き情報と、カメラ位置姿勢推定部24で取得されたパーティクルフィルタのサンプルの位置姿勢と、を用いて、2つの判定値を算出する。2つの判定値は、閲覧禁止奥行き判定値とマスク判定値である。すなわち、判定値算出部28は、閲覧禁止奥行き判定値算出部及びマスク判定値算出部として機能する。なお、これらの判定値の詳細については、後述する。
【0024】
閲覧画像生成部30は、画像取得部20で取得された画像と、判定値算出部28で算出された2つの判定値とを用いて閲覧画像を生成する。具体的には、閲覧画像生成部30は、各画素に関して2つの判定値に基づいて、閲覧禁止にするか否かを定める閲覧禁止マスク値を生成し、当該閲覧禁止マスク値を用いて、画像の一部を閲覧禁止にした画像(閲覧画像)を生成する。送信部32は、閲覧画像生成部30により生成された閲覧画像を、インターネットを介してPC70に送信する。
【0025】
なお、画像処理装置18は、図4に示すようなハードウェア構成により実現されている。すなわち、画像処理装置18は、CPU90、ROM92、RAM94、記憶部(ここではHDD(Hard Disk Drive))96、入出力部97等を備えており、画像処理装置18の構成各部は、バス98に接続されている。画像処理装置18は、ROM92あるいはHDD96に格納されているプログラム(画像処理プログラム)をCPU90が実行することにより、図2の各部の機能を実現する。また、入出力部97には、図2のステレオカメラ12やエンコーダ16等が接続されている。
【0026】
次に、本実施形態における移動ロボット10の動作・処理について、図5〜図12に基づいて、詳細に説明する。図5は、移動ロボット10(画像処理装置18)の処理を示すフローチャートである。この図5に示すように、まず、ステップS10では、画像取得部20が、ステレオカメラ12から画像(各画素の輝度値I(h,v))を取得する。また、奥行き情報取得部22が、ステレオカメラ12から取得した画像から各画素の奥行き情報Z(h,v)を取得する。なお、座標(h,v)は、各画素の画像面内(画像内)水平方向及び垂直方向に関する座標値である。なお、ステレオカメラ12の2つのカメラ間の対応付けができず、奥行き情報が得られない画素については、奥行き情報Z(h,v)は+∞となる。
【0027】
次いで、ステップS20では、カメラ位置姿勢推定部24が、各画素の奥行き情報Z(h,v)と2次元レイアウト地図を用いてカメラ位置姿勢を推定する。具体的には、カメラ位置姿勢推定部24は、図6のような処理を行う。ここで、カメラ位置姿勢推定部24は、カメラ位置姿勢の推定に時系列フィルタであるパーティクルフィルタを用いることとしている。この方法は、推定対象(カメラ)の状態を統計的に推定する方法であり、システムモデルと観測モデルに対する制約が少なくロバストに状態を推定することができるという利点がある。
【0028】
パーティクルフィルタでは、図6に示すように、まず推定したい状態をある確率分布に従って離散化し、一定数のサンプルを生成する(初期化工程)。次に、状態遷移モデル(エンコーダ16の検出結果)に基づき、各サンプルの状態を遷移させる(遷移工程)。ここでは、ノイズをw、システムモデルをfとすると、サンプル状態パラメータsは、次式(1)から算出することができる。
【0029】
【数1】
【0030】
次に、奥行き情報取得部22で取得された各画素の奥行き情報を用いて観測を行う(観測工程)。ここで、時刻tにおける観測量をytとする。次いで、観測量ytを用いて各サンプルの尤度Lを次式(2)を用いて評価する(尤度計算工程)。
【0031】
【数2】
【0032】
そして、各サンプルの尤度から重みを計算し、各サンプルの状態の重み付き平均をとって対象(カメラ)の状態の推定を行う(推定工程)。具体的には、次式(3)に基づいて重みπを計算し、次式(4)に基づいて、推定量εを算出する。
【0033】
【数3】
【0034】
【数4】
【0035】
その後、尤度の高い順にサンプルを生成してリサンプリングを行う(リサンプリング工程)。このような処理を各時刻で繰り返し行うことで対象の状態推定を行うことができる。
【0036】
なお、本実施形態では、カメラの位置姿勢推定において、奥行き情報取得部22で取得された各画素の奥行き情報Z(h,v)を床面に投影した計測地図(図7参照)と、2次元レイアウト地図との照合を行う。そして、両地図の一致度を尤度として用いてパーティクルフィルタによりカメラの位置と姿勢の推定を行う。なお、計測地図と2次元レイアウト地図の照合が一致せずにすべてのサンプルの尤度が所定の閾値よりも低くなる場合には、位置を見失った状態(ロスト状態)として取り扱われる。
【0037】
図5に戻り、次のステップS30では、各画素の閲覧禁止マスク値M(h,v)を生成するサブルーチンを実行する。ステップS30では、具体的には、図8の処理を実行する。
【0038】
図8の処理では、まず、ステップS60において、判定値算出部28が、位置をロストしたか否かを判断する。ここでの判断が否定された場合には、ステップS70に移行し、判定値算出部28が、閲覧禁止奥行き判定値Z_Inh(h,v)とマスク判定値E(h,v)を決定するサブルーチン(図9)を実行する。なお、閲覧禁止奥行き判定値Z_Inh(h,v)は、画像面上(画像上)の座標(h,v)の画素に投影される閲覧禁止多面体の奥行きを示す値である。また、マスク判定値は、その画素で閲覧禁止多面体が投影される尤もらしさを示す判定値である。
【0039】
図9の処理では、まず、ステップS702において、判定値算出部28が、マスク判定値E(h,v)及び閲覧禁止奥行き判定値Z_Inh(h,v)を初期化する。ここでは、判定値算出部28は、マスク判定値E(h,v)を0に設定することで初期化し、閲覧禁止奥行き判定値Z_Inh(h,v)を+∞に設定することで初期化する。
【0040】
次いで、ステップS704では、判定値算出部28が、未選択のパーティクルフィルタのサンプルSを選択する。
【0041】
次いで、ステップS706では、判定値算出部28が、サンプルSの尤度L(S)(上式(2)参照)が所定の閾値Lthよりも大きいか否かを判断する。ここでの判断が否定された場合には、ステップS724に移行する。なお、ここでの判断が否定される場合とは、尤度が小さすぎるため、閲覧禁止にするか否かの判断において考慮する必要がないサンプルであることを意味する。
【0042】
一方、ステップS706の判断が肯定されると、ステップS708に移行する。ステップS708では、判定値算出部28が、未選択の閲覧禁止多面体Hを選択する。この場合、判定値算出部28は、画像取得部20において取得された画像内に含まれる閲覧禁止多面体のうちのいずれかを、地図情報管理部26にて管理されている地図情報から抽出して選択する。
【0043】
次いで、ステップS710では、判定値算出部28が、ステップS708において選択した閲覧禁止多面体Hの未選択の面Pを選択する。
【0044】
次いで、ステップS712では、判定値算出部28が、ステップS710において選択された面Pが投影される画像の画素のうち、未選択の画素を選択する。
【0045】
次いで、ステップS714では、判定値算出部28が、選択した画素の奥行き値Zp(h,v)を計算する。すなわち、閲覧禁止多面体Hの面Pが投影される画素のうちの選択した画素の奥行きを、面Pのデータ(図3(b)参照)に基づいて計算する。
【0046】
次いで、ステップS716では、判定値算出部28が、マスク判定値E(h,v)、閲覧禁止奥行き判定値Z_Inh(h,v)を更新する。具体的には、次式(5)に基づいてマスク判定値E(h,v)を更新し、次式(6)に基づいて閲覧禁止奥行き判定値Z_Inh(h,v)を更新する。
E(h,v)=E(h,v)+L(S) …(5)
Z_Inh(h,v)=min(Zp(h,v),Z_Inh(h,v)) …(6)
【0047】
上式(5)では、直前までのマスク判定値E(h,v)(ここでは、初期値0)に尤度L(S)を加算することで、マスク判定値E(h,v)を更新する。また、上式(6)では、直前までの閲覧禁止奥行き判定値Z_Inh(h,v)(ここでは初期値+∞)と、ステップS714で計算された奥行き値Zp(h,v)を比べる。そして、各値のうちのいずれか小さい方の値で、閲覧禁止奥行き判定値Z_Inh(h,v)を更新する。
【0048】
次いで、ステップS718では、判定値算出部28が、面Pが投影される画像の全画素を選択したか否かを判断する。ここでの判断が否定された場合には、ステップS712に戻り、次の画素に対する処理を上記と同様に行う。一方、ここでの判断が肯定された場合には、ステップS720に移行する。
【0049】
ステップS720に移行した場合、判定値算出部28が、閲覧禁止多面体Hの全面を選択したか否かを判断する。ここでの判断が否定された場合には、ステップS710に戻り、次の面に対する処理を上記と同様に行う。一方、ここでの判断が肯定された場合には、ステップS722に移行する。
【0050】
ステップS722に移行した場合、判定値算出部28が、全ての閲覧禁止多面体Hを選択したか否かを判断する。ここでの判断が否定された場合には、ステップS708に戻り、次の閲覧禁止多面体に対する処理を上記と同様に行う。一方、ここでの判断が肯定された場合には、ステップS724に移行する。
【0051】
ステップS724に移行した場合(ステップS722の判断が肯定された場合、又はステップS706の判断が否定された場合)、判定値算出部28が、全てのサンプルSを選択したか否かを判断する。ここでの判断が否定された場合には、ステップS704に戻り、未だ選択がされていないサンプルSを用いた処理を上記と同様にして行う。一方、ここでの判断が肯定された場合には、図9の全処理(ステップS70のサブルーチン)を終了する。以上のようにして、ステップS70の処理が完了すると、図8のステップS80に移行する。
【0052】
ここで、図9の処理について、具体的な例を用いて説明する。図10(a)〜図10(g)には、図9の処理の概要が模式的に示されている。図10(a)に示すように、パーティクルフィルタを用いたカメラ位置姿勢推定を行った結果、サンプルS1、S2が尤度が高いサンプルとして取得されたとする。この場合に、まず、サンプルS1にて、閲覧禁止多面体の面P1を評価する。図10(b)には、面P1を画像面に投影した状態(画像に投影した状態)が示されている。ここで、面P1の奥行き値Zp(h,v)が2であり、サンプルS1の尤度L(S1)が0.2であったとする。このような状況下では、マスク判定値E(h,v)は、図10(c)に示すように、図10(b)の黒画素部分が0.2に更新され、その他の画素は0のまま維持される。
【0053】
一方、閲覧禁止奥行き判定値Z_Inh(h,v)は、図10(d)に示すように、図10(b)の黒画素部分が2に更新され、その他の画素は+∞のまま維持される。
【0054】
次に、サンプルS2にて、閲覧禁止多面体の面P1を評価する。図10(e)には、面P1を画像面に投影した状態(画像に投影した状態)が示されている。ここで、面P1の奥行き値Zp(h,v)が1であり、サンプルS2の尤度L(S2)が0.3であったとする。このような状況下では、マスク判定値E(h,v)は、図10(f)に示すように、図10(e)の黒画素部分に0.3が加算されて更新され、その他の画素は0のまま維持される。すなわち、図10(e)に示す黒画素のうち、図10(b)に示す黒画素以外の画素のマスク判定値E(h,v)が0.3となり、図10(b)に示す黒画素のマスク判定値E(h,v)が0.5となる。
【0055】
一方、閲覧禁止奥行き判定値Z_Inh(h,v)は、図10(g)に示すように、図10(e)の黒画素のすべてが1に更新され、その他の画素は+∞のまま維持される。
【0056】
本実施形態の図9の処理では、上記のような処理が、面P2に対しても行われるようになっている。
【0057】
図9の処理が終了すると、図8のステップS80に移行する。ステップS80では、判定値算出部28が、閲覧禁止マスク値M(h,v)を決定するサブルーチン(図11)を実行する。
【0058】
図11の処理では、まず、ステップS802において、判定値算出部28が、未選択の画素を選択する。次いで、ステップS804では、判定値算出部28が、マスク判定値E(h,v)が閾値Ethよりも大きいか否かを判断する。ここでの判断が肯定された場合には、ステップS806に移行する。なお、ここでの判断が肯定される場合とは、ステップS802で選択された画素が、尤度の高い1以上のサンプルにおいて閲覧禁止多面体の同一の面が投影された画素であることを意味する。一方、ここでの判断が否定される場合とは、ステップS802で選択された画素が、尤度の高い1以上のサンプルにおいて閲覧禁止多面体の同一の面が投影されていない画素であることを意味する。
【0059】
ステップS806では、判定値算出部28が、Z_Inh(h,v)がZ(h,v)よりも小さいか否かを判断する。ここでの判断が肯定された場合には、ステップS808に移行する。なお、ここでの判断が肯定される場合とは、ステップS802で選択された画素に、閲覧禁止多面体の面が撮像されていることを意味する。一方、ここでの判断が否定される場合とは、ステップS802で選択された画素に、閲覧禁止多面体の面よりも前側(カメラ側)に存在する別の物体が撮像されていることを意味する。
【0060】
ステップS808に移行すると、判定値算出部28は、閲覧禁止マスク値M(h,v)を1に設定する。
【0061】
一方、ステップS804、およびステップS806の判断が否定された場合にはステップS812に移行する。ステップS812では、判定値算出部28が、閲覧禁止マスク値M(h,v)を0に設定する。
【0062】
その後、ステップS808又はステップS812の処理を経て、ステップS810に移行すると、判定値算出部28は、全ての画素が選択されたか否かを判断する。ここでの判断が否定されると、ステップS802に戻り、上記と同様の処理を、残りの画素についても実行する。そして、ステップS810の判断が肯定された段階で、図11の全処理及び図8の全処理を終了して、図5のステップS40に移行する。
【0063】
上記のようにして図11の処理を行うことにより、閲覧禁止多面体の面に対応する画素の閲覧禁止マスク値M(h,v)が1に設定され、それ以外の画素の閲覧禁止マスク値M(h,v)が0に設定される。すなわち、例えば、閲覧禁止多面体の前に別の物体が存在している場合には、当該別の物体に対応する画素の閲覧禁止マスク値M(h,v)は0に設定されることになる。
【0064】
なお、図8のステップS60の判断が肯定された場合、すなわち、位置をロストした場合には、ステップS90に移行する。そして、ステップS90では、判定値算出部28が、全画素の閲覧禁止マスク値M(h,v)を1に設定し、図5のステップS40に移行する。
【0065】
図5に戻り、ステップS40では、閲覧画像生成部30が、画像(各画素の輝度値)I(h,v)と閲覧禁止マスク値M(h,v)を用いて、閲覧禁止部分を除去した画像Im(h,v)を生成する。具体的には、図12に示すように、閲覧画像生成部30は、撮影禁止マスクの画像として、閲覧禁止マスク値M(h,v)が1の画素を黒画素とした画像(閲覧禁止マスク画像)を生成する。そして、閲覧画像生成部30は、当該閲覧禁止マスク画像と画像I(h、v)とを合成して、閲覧禁止部分を閲覧不可能にした画像Im(h,v)を生成する。すなわち、ここでは、閲覧画像生成部30は、M(h、v)=0の場合に、Im(h,v)=I(h,v)とし、M(h、v)=1の場合に、Im(h,v)=0とする。
【0066】
ここで、例えば、図13に示すように、閲覧禁止多面体の前に物体(図13では人物)が存在していた場合には、当該人物に対応する画素の閲覧禁止マスク値M(h,v)は0に設定される。したがって、本実施形態では、閲覧画像Im(h,v)において、閲覧禁止多面体の前に位置する人物を閲覧することが可能となる。
【0067】
図5に戻り、次のステップS50では、送信部32が、ステップS40で生成された画像Im(h,v)を、インターネットを介して、PC70に配信する。PC70では、配信された画像(動画を含む)をほぼリアルタイムにて閲覧することが可能である。
【0068】
以上、詳細に説明したように、本実施形態によると、画像取得部20が、移動ロボット10に搭載されたステレオカメラ12から、画像I(h、v)を取得し、奥行き情報取得部22が、ステレオカメラ12にて得られた画像を構成するの奥行き情報Z(h,v)を取得し、カメラ位置姿勢推定部24が、パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する。そして、判定値算出部28は、パーティクルフィルタの各サンプルSの位置姿勢において、地図情報管理部26が管理する地図情報に基づいて閲覧禁止多面体を画像に投影するとともに、閲覧禁止多面体が投影された画素における奥行き値Zp(h,v)を地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値Zp(h,v)の最小値を、各画素の閲覧禁止奥行き判定値Z_Inh(h,v)とする。また、判定値算出部28は、各サンプルの位置姿勢において、閲覧禁止多面体を画像に投影したときのサンプルの尤度に基づく値(本実施形態では尤度L(S)そのものの値)を、閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値E(h,v)とする。そして、閲覧画像生成部30は、画像I(h,v)のうち、閲覧禁止奥行き判定値Z_Inh(h,v)が奥行き情報Z(h,v)よりも小さい画素で、かつマスク判定値E(h,v)が所定の閾値Ethよりも大きい画素の閲覧を禁止した閲覧画像Im(h,v)を生成する。これにより、本実施形態では、サンプルの尤度を考慮して算出されるマスク判定値E(h,v)が比較的大きい画素のうちで、閲覧禁止多面体を撮像している可能性の高い画素(奥行き情報が、閲覧禁止奥行き判定値以上である画素)を閲覧禁止とすることができる。これにより、プライバシー等が保護された閲覧画像を生成することが可能である。
【0069】
この場合、図14に示すように、カメラの位置姿勢の尤もらしいサンプル(仮説)が複数あり、重み付き平均をとると、カメラの推定位置が2つのサンプルの中間位置になってしまい、不確かさが発生することがある。このような場合でも、マスク判定値E(h,v)を用いることで、それらの複数の尤もらしい位置姿勢のどの位置から撮影したとしても閲覧禁止としたい物体を確実に閲覧できないようにすることが可能である。また、本実施形態では、奥行き情報が閲覧禁止奥行き判定値以上である画素を閲覧禁止とし、奥行き情報が閲覧禁止奥行き判定値よりも小さい画素を閲覧可能とする。これにより、閲覧禁止としたい物体(多面体)を閲覧できなくする一方で、閲覧禁止としたい物体(多面体)の手前にある、閲覧を制限する必要のない物体を閲覧できるようにすることが可能となる(図13参照)。
【0070】
また、本実施形態では、画像処理装置18は、閲覧画像生成部30により生成された閲覧画像Im(h,v)を、PC70に送信する送信部32を備えている。これにより、閲覧制限をする必要のある部分(例えば、プライバシーを保護する必要のある部分)を閲覧禁止にした画像を、PC70にて閲覧できるようにすることができる。
【0071】
また、本実施形態では、ステレオカメラに12より撮影された2つの異なる画像から、画像を構成するの奥行き情報を取得する。これにより、画像取得部20が取得する画像、及び各画素の奥行き情報を取得するための画像として、共通の画像を用いることができる。したがって、簡易な構成で、高精度な各画素の奥行き情報を取得することができる。
【0072】
また、本実施形態では、カメラ位置姿勢推定部24が、カメラの位置姿勢を推定できなかった場合(ロスト状態となった場合)に、閲覧画像生成部30は、全ての画素の閲覧を禁止した画像を生成する。これにより、カメラの位置姿勢がわからなくなっても、画像のうちの少なくとも閲覧制限をする必要のある部分(例えば、プライバシー保護部分)の閲覧を不可能にすることができる。
【0073】
なお、上記実施形態では、カメラとしてステレオカメラ12を用い、ステレオカメラ12において撮影された画像から、画像I(h,v)と、各画素の奥行き情報Z(h,v)を取得する場合について説明した。しかしながら、これに限られるものではなく、例えば、1つの画像を撮影可能なカメラを用いるとともに、各画素の奥行き情報Z(h,v)を検出することが可能な奥行き情報検出部(Depth Imagerなど)を併せて用いることとしてもよい。
【0074】
なお、上記実施形態では、マスク判定値E(h,v)を更新する際に、上式(5)のように、尤度L(S)そのものを累積する場合について説明したが、これに限られるものではない。例えば、次式(7)に示すように、L(S)の2乗を累積することとしてもよい。
E(h,v)=E(h,v)+L(S)2 …(7)
【0075】
あるいは、次式(8)のように、L(S)を変数とする関数f(L(S))を累積することとしてもよい。
E(h,v)=E(h,v)+f(L(S)) …(8)
【0076】
なお、上記実施形態では、閲覧禁止マスク値M(h,v)が1のときにIm(h,v)を0にする場合について説明したが、これに限られるものではない。例えば、閲覧禁止マスク値M(h,v)が1の画素に対し、モザイクやぼかし等の処理を行うこととしてもよい。
【0077】
なお、上記実施形態では、カメラ位置姿勢推定部24が、画像処理装置18内に設けられている場合について説明したが、これに限られるものではない。例えば、カメラ位置姿勢推定部を画像処理装置18外に設けることとし、画像処理装置18内には、カメラ位置姿勢推定部において推定されたステレオカメラの位置姿勢を取得する機能(取得部としての機能)のみを設けることとしても良い。このようにしても、上記実施形態と同様の効果を得ることができる。
【0078】
なお、上記実施形態では、移動ロボット10にカメラを搭載する場合について説明したが、これに限られるものではない。カメラは、例えば、自動車などの移動体に搭載することとしてもよい。
【0079】
なお、上記実施形態では、閲覧禁止多面体が、民家などのプライバシーを保護する必要のある建物である場合について説明した。しかしながら、これに限らず、プライバシー以外の何らかの理由(防衛上、機密上、法律上、教育上あるいは倫理上の理由など)で閲覧可能にすべきでない物体を、閲覧禁止多面体に設定することとしてもよい。
【0080】
なお、上記実施形態では、移動ロボット10に、画像処理装置18が搭載された場合について説明したが、これに限られるものではない。例えば、画像処理装置18は、移動ロボット10と通信可能とし、移動ロボット10に搭載しないようにしてもよい。この場合、画像処理装置18は、図1のインターネットに接続されてもよい。また、画像処理装置18が、インターネットに接続されている少なくとも1台のPC70に組み込まれてもよい。すなわち、インターネット等の通信網に接続されたサーバコンピュータを本件の画像処理装置とし、これに接続されたパーソナルコンピュータ等の情報処理装置に、画像表示を行うサービスをサーバコンピュータから提供するようにしても良い(ASP(Application Service Provider))。
【0081】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0082】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0083】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0084】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【0085】
10 移動ロボット(移動体)
12 ステレオカメラ(カメラ、奥行き情報検出部)
18 画像処理装置
20 画像取得部
22 奥行き情報取得部
24 カメラ位置姿勢推定部(取得部)
26 地図情報管理部
28 判定値算出部(閲覧禁止奥行き判定値算出部、マスク判定値算出部)
30 閲覧画像生成部
32 送信部
70 PC(情報処理装置)
【特許請求の範囲】
【請求項1】
移動体に搭載されたカメラから、画像を取得する画像取得部と、
前記移動体に搭載された、前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部と、
パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部と、
閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報を管理する地図情報管理部と、
前記パーティクルフィルタの各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部と、
前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部と、
前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部と、
備える画像処理装置。
【請求項2】
前記閲覧画像生成部により生成された閲覧画像を、情報処理装置に送信する送信部を更に備える請求項1に記載の画像処理装置。
【請求項3】
前記移動体に搭載された前記カメラは、ステレオカメラであり、
前記移動体に搭載された前記奥行き情報検出部は、前記ステレオカメラにより撮影された2つの異なる画像から、当該画像を構成する各画素の奥行き情報を検出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記取得部が、前記カメラの位置姿勢を取得できなかった場合には、
前記閲覧画像生成部は、全ての画素の閲覧を禁止した画像を生成することを特徴とする請求項1〜3のいずれか一項に記載の画像処理装置。
【請求項5】
コンピュータを、
移動体に搭載されたカメラから、画像を取得する画像取得部、
前記移動体に搭載された、前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部、
パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部、
前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部、
前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部、
前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部、
として機能させることを特徴とする画像処理プログラム。
【請求項6】
コンピュータが、
移動体に搭載されたカメラから、画像を取得する画像取得工程と、
前記移動体に搭載された、前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得工程と、
パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得工程と、
前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出工程と、
前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出工程と、
前記画像取得工程で取得された前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成工程と、
を実行する画像処理方法。
【請求項7】
画像を撮影するカメラと、
前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部と、
請求項1〜4のいずれか一項に記載の画像処理装置と、を備える移動体。
【請求項1】
移動体に搭載されたカメラから、画像を取得する画像取得部と、
前記移動体に搭載された、前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部と、
パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部と、
閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報を管理する地図情報管理部と、
前記パーティクルフィルタの各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部と、
前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部と、
前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部と、
備える画像処理装置。
【請求項2】
前記閲覧画像生成部により生成された閲覧画像を、情報処理装置に送信する送信部を更に備える請求項1に記載の画像処理装置。
【請求項3】
前記移動体に搭載された前記カメラは、ステレオカメラであり、
前記移動体に搭載された前記奥行き情報検出部は、前記ステレオカメラにより撮影された2つの異なる画像から、当該画像を構成する各画素の奥行き情報を検出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記取得部が、前記カメラの位置姿勢を取得できなかった場合には、
前記閲覧画像生成部は、全ての画素の閲覧を禁止した画像を生成することを特徴とする請求項1〜3のいずれか一項に記載の画像処理装置。
【請求項5】
コンピュータを、
移動体に搭載されたカメラから、画像を取得する画像取得部、
前記移動体に搭載された、前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得部、
パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得部、
前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出部、
前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出部、
前記画像取得部が取得した前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成部、
として機能させることを特徴とする画像処理プログラム。
【請求項6】
コンピュータが、
移動体に搭載されたカメラから、画像を取得する画像取得工程と、
前記移動体に搭載された、前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部から、前記奥行き情報を取得する奥行き情報取得工程と、
パーティクルフィルタを用いて推定される前記カメラの位置姿勢を取得する取得工程と、
前記パーティクルフィルタの各サンプルの位置姿勢において、閲覧を禁止する必要のある閲覧禁止多面体の2次元面内位置情報と高さ情報とを含む地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、前記閲覧禁止多面体が投影された画素における奥行き値を前記地図情報に基づいて算出し、各サンプルの位置姿勢において算出された各画素における奥行き値の最小値を、各画素の閲覧禁止奥行き判定値とする閲覧禁止奥行き判定値算出工程と、
前記各サンプルの位置姿勢において、前記地図情報に基づいて前記閲覧禁止多面体を前記画像に投影するとともに、当該投影したときのサンプルの尤度に基づく値を、前記閲覧禁止多面体が投影された画素に対して累積して、その累積値を各画素のマスク判定値とするマスク判定値算出工程と、
前記画像取得工程で取得された前記画像のうち、前記閲覧禁止奥行き判定値が前記奥行き情報よりも小さい画素で、かつ前記マスク判定値が所定の閾値よりも大きい画素の閲覧を禁止した閲覧画像を生成する閲覧画像生成工程と、
を実行する画像処理方法。
【請求項7】
画像を撮影するカメラと、
前記画像を構成する各画素の奥行き情報を検出する奥行き情報検出部と、
請求項1〜4のいずれか一項に記載の画像処理装置と、を備える移動体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−23573(P2012−23573A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−160103(P2010−160103)
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]