(57)【要約】【課題】フィルタ処理の演算量を削減し、高速化する。【解決手段】フィルタ処理装置１は、３次元距離画像データに対してノイズフィルタ処理を行ってノイズ除去データを生成するノイズフィルタ処理部１２と、３次元距離画像データを所定の大きさのボクセルに分割したボクセル化距離画像データと、ノイズ除去データをボクセルに分割したボクセル化ノイズ除去データを生成するボクセル分割部と、ボクセル化距離画像データ及びボクセル化ノイズ除去データを用いてボクセルの点データの密度の閾値を算出する閾値算出部と、ボクセル化距離画像データのボクセルの点データの密度が閾値未満の場合には、該ボクセル内の点データを削除する密度処理を行う密度フィルタ処理部１５と、を備える。【選択図】図１
2018132925.tif 000002
【特許請求の範囲】
【請求項１】
３次元センサから入力される３次元距離画像データをフィルタ処理するフィルタ処理装置であって、
前記３次元距離画像データに対してノイズフィルタ処理を行ってノイズ除去データを生成するノイズフィルタ処理部と、
前記３次元距離画像データを所定の大きさのボクセルに分割したボクセル化距離画像データと、前記ノイズ除去データを前記ボクセルに分割したボクセル化ノイズ除去データを生成するボクセル分割部と、
前記ボクセル化距離画像データ及び前記ボクセル化ノイズ除去データを用いて前記ボクセルの点データの密度の閾値を算出する閾値算出部と、
前記ボクセル化距離画像データのボクセルの点データの密度が前記閾値未満の場合には、該ボクセル内の点データを削除する密度処理を行う密度フィルタ処理部と、
を備えることを特徴とするフィルタ処理装置。
【請求項２】
前記閾値算出部は、前記ボクセル化距離画像データのうち、前記ボクセル化ノイズ除去データにおける点データの密度が非ゼロのボクセルに対応する有意ボクセルに基づいて前記閾値を算出することを特徴とする、請求項１に記載のフィルタ処理装置。
【請求項３】
前記閾値算出部は、前記有意ボクセルの点データの平均密度を前記閾値とすることを特徴とする、請求項２に記載のフィルタ処理装置。
【請求項４】
前記密度フィルタ処理部により処理されたデータについて点データの密度が非ゼロのボクセルのみを表示した地図データを作成する地図データ生成部を更に備えることを特徴とする、請求項１から３のいずれか一項に記載のフィルタ処理装置。
【請求項５】
コンピュータを、請求項１から４のいずれか一項に記載のフィルタ処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元センサから入力される３次元距離画像データをフィルタ処理するフィルタ処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、３次元計測が可能な３次元距離画像センサが実現化されている（例えば、非特許文献１参照）。３次元距離画像センサからは、点群データである３次元距離画像データが得られる。点群データは一般的にノイズを含んだものであるため、以後の処理を進めるためには、ノイズを除去するフィルタ処理が必要となる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】スタンレー電気株式会社、“ＴＯＦ方式  距離画像センサ”、[online]、[2017年2月10日検索]、インターネット<URL:https://www.stanley.co.jp/product/TFS0001A.php>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
３次元距離画像データのノイズを除去するフィルタ処理には、統計的外れ値除去フィルタなどの手法が知られているが、演算量が多く、リアルタイムで処理することが困難であった。
【０００５】
かかる事情に鑑みてなされた本発明の目的は、フィルタ処理の演算量を削減し、高速化することが可能なフィルタ処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係るフィルタ処理装置は、３次元センサから入力される３次元距離画像データをフィルタ処理するフィルタ処理装置であって、前記３次元距離画像データに対してノイズフィルタ処理を行ってノイズ除去データを生成するノイズフィルタ処理部と、前記３次元距離画像データを所定の大きさのボクセルに分割したボクセル化距離画像データと、前記ノイズ除去データを前記ボクセルに分割したボクセル化ノイズ除去データを生成するボクセル分割部と、前記ボクセル化距離画像データ及び前記ボクセル化ノイズ除去データを用いて前記ボクセルの点データの密度の閾値を算出する閾値算出部と、前記ボクセル化距離画像データのボクセルの点データの密度が前記閾値未満の場合には、該ボクセル内の点データを削除する密度処理を行う密度フィルタ処理部と、を備えることを特徴とする。
【０００７】
さらに、本発明に係るフィルタ処理装置において、前記閾値算出部は、前記ボクセル化距離画像データのうち、前記ボクセル化ノイズ除去データにおける点データの密度が非ゼロのボクセルに対応する有意ボクセルに基づいて前記閾値を算出することを特徴とする。
【０００８】
さらに、本発明に係るフィルタ処理装置において、前記閾値算出部は、前記有意ボクセルの点データの平均密度を前記閾値とすることを特徴とする。
【０００９】
さらに、本発明に係るフィルタ処理装置において、前記密度フィルタ処理部により処理されたデータについて点データの密度が非ゼロのボクセルのみを表示した地図データを作成する地図データ生成部を更に備えることを特徴とする。
【００１０】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記フィルタ処理装置として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、フィルタ処理の演算量を削減し、高速化することができるようになる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るフィルタ処理装置の構成例を示すブロック図である。
【図２】本発明の一実施形態に係るフィルタ処理装置の動作の一例を示す図である。
【図３】本発明の一実施形態に係るフィルタ処理装置におけるボクセル分割部の処理を説明する図である。
【図４】本発明の一実施形態に係るフィルタ処理装置における密度フィルタ処理部の処理を説明する図である。
【図５】本発明の一実施形態に係るフィルタ処理装置により生成される地図データの一例を示す図である。
【図６】本発明の一実施形態に係るフィルタ処理装置の入出力データの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１４】
図１は、本発明の一実施形態に係るフィルタ処理装置の構成例を示す図である。図１に示すフィルタ処理装置１は、データ取得部１１と、ノイズフィルタ処理部１２と、ボクセル分割部１３と、閾値算出部１４と、密度フィルタ処理部１５と、地図データ生成部１６と備える。なお、地図データ生成部１６は必須の構成要件ではない。
【００１５】
フィルタ処理装置１は、３次元センサ２から３次元距離画像データを取得し、この３次元距離画像データをフィルタ処理してフィルタ処理データを生成し、外部に出力する。
【００１６】
３次元センサ２は、３次元センサ２の正面に存在する物体Ａの３次元距離画像データを検出する。３次元距離画像データは点群データ（点の座標データ）であり、各点データの有無は３次元センサ２により物体が検知されたか否かを表し、各点データは３次元センサ２から物体Ａまでの距離の情報を含む。３次元センサ２は、例えば、ＴＯＦ（Time Of Flight：光飛行時間）方式の３次元距離画像センサである。ＴＯＦ方式の３次元距離画像センサでは、赤外光やレーザを発射し、物体Ａに当たって反射して戻ってくるまでの時間を計ることにより、物体Ａまでの距離を計測する。この距離データを画素とする距離画像を１秒間に複数フレーム取得し、処理することによってセンサ正面の３次元距離画像データが得られる。
【００１７】
データ取得部１１は、３次元センサ２から３次元距離画像データを取得し、ノイズフィルタ処理部１２に出力する。
【００１８】
データ取得部１１から入力された３次元距離画像データには、外れ値と呼ばれる本来存在しない点データ（ノイズ）が含まれる。そこで、ノイズフィルタ処理部１２は、ノイズを除去するために、３次元距離画像データに対してノイズフィルタ処理を行ってノイズ除去データを生成し、ボクセル分割部１３に出力する。
【００１９】
ボクセル分割部１３は、３次元センサ２から入力された３次元距離画像データを所定の大きさの立方体（ボクセル）に分割したボクセル化距離画像データを生成し、閾値算出部１４に出力する。また、ボクセル分割部１３は、ノイズフィルタ処理部１２から入力されたノイズ除去データを所定の大きさの立方体（ボクセル）に分割したボクセル化ノイズ除去データを生成し、閾値算出部１４に出力する。なお、ボクセルのサイズは任意に設定することができる。
【００２０】
閾値算出部１４は、ボクセル分割部１３から入力されたボクセル化距離画像データ及びボクセル化ノイズ除去データを用いてボクセルの点データの密度の閾値を算出し、密度フィルタ処理部１５に出力する。ここで、密度とは、ボクセル内の点データの個数をいう。閾値算出部１４は、具体的には、ボクセル化距離画像データのうち、ボクセル化ノイズ除去データにおける点データの密度が非ゼロのボクセルに対応するボクセル（有意ボクセル）に基づいて閾値を算出する。例えば、有意ボクセルの点データの平均密度を閾値とする。
【００２１】
密度フィルタ処理部１５は、ボクセル分割部１３から入力されたボクセル化距離画像データのボクセルの密度が閾値算出部１４から入力された閾値未満の場合には、該ボクセル内の点データをノイズとみなして削除する（すなわち、密度を０とする）密度処理を行う。そして、密度処理したデータ（フィルタ処理データ）を外部、及び地図データ生成部１６に出力する。
【００２２】
地図データ生成部１６は、密度フィルタ処理部１５から入力されたフィルタ処理データについて点データの密度が非ゼロのボクセルのみを表示した地図データを作成し、外部に出力する。図５に地図データの一例を示す。
【００２３】
なお、地図データ生成部１６は必須の構成要件ではないが、家具や壁などの静物について地図データを保存しておくと、この地図からはみ出たブロックが検出されれば、それは何らかの動体と判断できるため、地図データを用いて３次元センサ２の正面に動体が存在することを検知できる。
【００２４】
（フィルタ処理装置１の動作）
次に、フィルタ処理装置１の動作について説明する。図２は、フィルタ処理装置１の動作を示すフローチャートである。
【００２５】
フィルタ処理装置１は、データ取得部１１により３次元距離画像データを取得し（ステップＳ１０１）、ノイズフィルタ処理部１２により統計的外れ値除去フィルタ処理などのノイズフィルタ処理を行い、ノイズ除去データを生成する（ステップＳ１０２）。統計的外れ値除去フィルタ処理を行う場合には、まず各点データにおける近傍ｋ個の点データとの距離を算出し全ての距離値の標準偏差を求め、標準偏差のα倍以上の距離の点データを除去する。
【００２６】
次に、ボクセル分割部１３により、３次元距離画像データ及びノイズ除去データをそれぞれボクセル単位で分割する（ステップＳ１０３）。
【００２７】
図３は、ボクセル分割部１３の処理を説明する図である。図３では、３次元の点データを便宜上２次元で示し、ボクセル４つ分の点データのみ示している。図３に示すように、３次元距離画像データはボクセルａ１，ｂ１，ｃ１，ｄ１・・・に分割されてボクセル化距離画像データとなり、ノイズ除去データはボクセルａ２，ｂ２，ｃ２，ｄ２・・・に分割されてボクセル化ノイズ除去データとなる。
【００２８】
次に、閾値算出部１４により、所定フレーム数分の３次元距離画像データを用いて（ステップＳ１０４）、閾値を算出する（ステップＳ１０５）。
【００２９】
閾値算出部１４は、ボクセル化距離画像データのうち、ボクセル化ノイズ除去データにおける密度が非ゼロのボクセルに対応する有意ボクセルに基づいて閾値を算出する。例えば、複数フレーム（例えば３０フレーム）にわたって有意ボクセルの点データの平均密度を算出し、閾値とする。
【００３０】
この処理を図３に示す例で４つのボクセルのみに着目して説明すると、ボクセル化ノイズ除去データのボクセルｄ２の密度は０である。よって、閾値算出部１４は、ボクセル化距離画像データのボクセルｄ１を除く有意ボクセルａ１，ｂ１，ｃ１の点データの平均密度を（６＋６＋３）／３＝５と算出する。このようにして、複数フレームにわたって有意ボクセルの点データの平均密度を算出する。なお、平均密度が少数になる場合には、切り捨て、切り上げ、四捨五入のいずれかを行う。
【００３１】
ステップＳ１０１からＳ１０５までは、閾値を求めるためにフィルタ処理装置１の起動時に行われる前処理であり、以降のステップでは処理を高速化するために、ステップＳ１０２によるノイズフィルタ処理を行わない。
【００３２】
フィルタ処理装置１は、引き続き、データ取得部１１により、３次元距離画像データを取得し（ステップＳ１０６）、ボクセル分割部１３により、３次元距離画像データをボクセル単位で分割する（ステップＳ１０７）。
【００３３】
そして、密度フィルタ処理部１５により、密度フィルタ処理を行う（ステップＳ１０８）。
【００３４】
図４は、密度フィルタ処理部１５の処理を説明する図である。図４では、図３と同様に、３次元の点データを便宜上２次元で示し、ボクセル４つ分の点データのみ示している。ステップＳ１０５により算出された閾値を５とすると、ボクセルｂ１，ｄ１の点データの密度は５未満であるため、ボクセルｂ１，ｄ１内の点データを削除する。
【００３５】
これ以降の処理は、ステップＳ１０６からステップＳ１０８を繰り返してフィルタ処理データを生成する。
【００３６】
また、フィルタ処理装置１は、所定フレーム数（例えば３０フレーム）分の３次元距離画像データを用いて（ステップＳ１０９）、地図データを生成することができる（ステップＳ１１０）。こ地図データは起動時に一度だけ生成すればよい。
【００３７】
上述したように、フィルタ処理装置１、及びフィルタ処理装置１として機能するコンピュータは、３次元距離画像データ及びノイズ除去データをそれぞれボクセルに分割し、ボクセル化距離画像データ及びボクセル化ノイズ除去データを用いてボクセル内の密度の閾値をあらかじめ算出しておく。これにより、従来のノイズフィルタ処理を行うことなく、ボクセル化距離画像データのボクセルの密度が閾値未満の場合には、該ボクセル内の密度を０とする密度処理を行うだけで、簡易的にノイズ除去を行うことができる。すなわち、本発明によれば、フィルタ処理の演算量を削減し、高速化することができる。
【００３８】
図６はフィルタ処理装置１の入力データである３次元距離画像データと出力データであるフィルタ処理データの一例を示す図である。フィルタ処理の演算量を削減しつつ、図６から明らかなように、ノイズを適切に除去することができる。また、フィルタ処理データの情報量は削減されているため、フィルタ処理データを用いた演算も高速で行うことができるようになる。
【００３９】
図５は、図６に示したフィルタ処理データから生成される地図データを示す図である。新たに生成されたフィルタ処理データとあらかじめ生成された地図データと比較することにより、動体の存在を検知することができる。
【００４０】
なお、上述したフィルタ処理装置１として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、フィルタ処理装置１の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのＣＰＵによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【００４１】
また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体であってもよい。
【００４２】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを１つに組み合わせたり、あるいは１つの構成ブロックを分割したりすることが可能である。
【符号の説明】
【００４３】
１    フィルタ処理装置
２    ３次元センサ
１１  データ取得部
１２  ノイズフィルタ処理部
１３  ボクセル分割部
１４  閾値算出部
１５  密度フィルタ処理部
１６  地図データ生成部
【図１】
2018132925.tif 000003
【図２】
2018132925.tif 000004
【図３】
2018132925.tif 000005
【図４】
2018132925.tif 000006
【図５】
2018132925.tif 000007
【図６】
2018132925.tif 000008