(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166519
(43)【公開日】2024-11-29
(54)【発明の名称】ノイズ除去装置、ノイズ除去方法およびプログラム
(51)【国際特許分類】
G06V 10/30 20220101AFI20241122BHJP
【FI】
G06V10/30
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023082669
(22)【出願日】2023-05-19
(71)【出願人】
【識別番号】591036457
【氏名又は名称】三菱電機エンジニアリング株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】西田 大輔
(72)【発明者】
【氏名】平 謙二
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096BA04
5L096BA05
5L096CA04
5L096CA05
5L096EA05
5L096EA39
5L096FA09
5L096FA13
5L096FA32
5L096FA52
5L096FA60
5L096FA62
5L096FA66
5L096FA67
5L096FA69
5L096GA40
5L096GA51
(57)【要約】
【課題】 三次元の点群データで表される物体とその背景との境界部分またはその周辺に発生するノイズを除去することができる、ノイズ除去装置を提供する。
【解決手段】 ノイズ除去装置(1)は、対象領域の点群データを取得するデータ取得部(11)と、対象領域にボクセル(100)を設定するボクセル設定部(12)と、ボクセル(100)の点密度を算出する点密度算出部(13)と、法線ベクトル(102)を算出する法線ベクトル算出部14と、部分平面(101)同士の法線ベクトル(102)の差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する点群データを推定する推定部(15)と、これらのいずれかと推定された点群データと点密度に基づいて、点群データがノイズであるか否かを判定するノイズ判定部(16)と、ノイズと判定された点群データを除去するノイズ除去部(17)と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサにより計測された対象領域の三次元点の集合である点群データを取得するデータ取得部と、
前記対象領域に複数のボクセルを設定するボクセル設定部と、
前記ボクセル内の前記三次元点の密度である点密度を算出する点密度算出部と、
複数の前記三次元点を含む部分平面の法線ベクトルを算出する法線ベクトル算出部と、
前記ボクセル内の前記部分平面同士の前記法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する前記点群データを推定する推定部と、
前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データと、前記点密度とに基づいて、当該ボクセル内の前記点群データがノイズであるか否かを判定するノイズ判定部と、
ノイズと判定された前記点群データを除去するノイズ除去部と、を備えた
ことを特徴とするノイズ除去装置。
【請求項2】
前記推定部は、前記ボクセル内の前記部分平面同士の前記法線ベクトルの差が推定閾値を超える場合、当該ボクセル内の前記点群データが前記物体の厚み部分に対応すると推定し、前記法線ベクトルの差が前記推定閾値以下である場合は、当該ボクセル内の前記点群データが前記物体のエッジまたは面に対応すると推定する
ことを特徴とする請求項1に記載のノイズ除去装置。
【請求項3】
前記ノイズ判定部は、前記点群データが前記物体の厚み部分に対応すると推定された前記ボクセルの前記点密度が、当該ボクセルに隣接するか、隣接するものを含む周辺の前記ボクセルの前記点密度よりも第1判定閾値以上低い場合に、前記物体の厚み部分に対応すると推定された前記ボクセル内の前記点群データをノイズと判定し、前記点群データが前記物体のエッジまたは面のいずれかと推定された前記ボクセルの前記点密度が第2判定閾値よりも低い場合、前記物体のエッジまたは面のいずれかと推定された前記ボクセル内の前記点群データをノイズと判定する
ことを特徴とする請求項2に記載のノイズ除去装置。
【請求項4】
前記ボクセル内の前記点群データの計測精度に関する計測精度関連情報の分布を算出し、前記三次元点の分布に基づいて前記ボクセル内の前記三次元点の重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する重心算出部、を備えた
ことを特徴とする請求項1から請求項3のいずれか1項に記載のノイズ除去装置。
【請求項5】
前記重心算出部は、前記物体の厚み部分、エッジまたは面のいずれかと推定されたボクセル内の当該点群データの重心を算出し、前記ボクセル内で重心から一定の範囲内に存在しない前記点群データを間引く
ことを特徴とする請求項4に記載のノイズ除去装置。
【請求項6】
前記重心算出部は、前記ボクセル設定部が設定した前記ボクセル内の前記点群データの重心を算出し、前記ボクセル内で重心から一定の範囲内に存在しない前記点群データを間引き、
前記重心算出部により間引き処理が行われた前記点群データを用いて、前記点密度算出部、前記法線ベクトル算出部、前記推定部、前記ノイズ判定部および前記ノイズ除去部による一連の処理が行われる
ことを特徴とする請求項4に記載のノイズ除去装置。
【請求項7】
前記重心算出部は、測距距離データの分布に基づいて、前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする請求項4に記載のノイズ除去装置。
【請求項8】
前記重心算出部は、反射強度データの分布に基づいて、前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする請求項4に記載のノイズ除去装置。
【請求項9】
前記重心算出部は、RGBデータの分布に基づいて、前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする請求項4に記載のノイズ除去装置。
【請求項10】
前記重心算出部は、前記三次元点を含む平面を推定し、推定した平面と前記ボクセル内の前記三次元点との距離の分布に基づいて、前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする請求項4に記載のノイズ除去装置。
【請求項11】
ノイズ除去装置により実行されるノイズ除去方法であって、
データ取得部が、センサにより計測された対象領域の三次元点の集合である点群データを取得するステップと、
ボクセル設定部が、前記対象領域に複数のボクセルを設定するステップと、
点密度算出部が前記ボクセル内の前記三次元点の密度である点密度を算出するステップと、
法線ベクトル算出部が、複数の前記三次元点を含む部分平面の法線ベクトルを算出するステップと、
推定部が、前記ボクセル内の前記部分平面同士の前記法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する前記点群データを推定するステップと、
ノイズ判定部が、前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データと、前記点密度とに基づいて、当該ボクセル内の前記点群データがノイズであるか否かを判定するステップと、
ノイズ除去部が、ノイズと判定された前記点群データを除去するステップと、を備えた
ことを特徴とするノイズ除去方法。
【請求項12】
コンピュータを、
センサにより計測された対象領域の三次元点の集合である点群データを取得するデータ取得部、
前記対象領域に複数のボクセルを設定するボクセル設定部、
前記ボクセル内の前記三次元点の密度である点密度を算出する点密度算出部、
複数の前記三次元点を含む部分平面の法線ベクトルを算出する法線ベクトル算出部、
前記ボクセル内の前記部分平面同士の前記法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する前記点群データを推定する推定部、
前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データと、前記点密度とに基づいて、当該ボクセル内の前記点群データがノイズであるか否かを判定するノイズ判定部、
ノイズと判定された前記点群データを除去するノイズ除去部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ノイズ除去装置、ノイズ除去方法およびプログラムに関する。
【背景技術】
【0002】
現実空間に対応する三次元画像である環境地図を生成するための技術として、SLAM(Simultaneous Localization And Mapping)が知られている。SLAMは、自己位置の推定と環境地図の生成を同時に行う技術である。SLAMに関する従来の技術として、例えば、特許文献1に記載される三次元データ処理装置がある。この三次元データ処理装置は、対象物の表面に照射されたレーザの反射光を受光し、その反射点の位置データの集合である点群データを生成して、点群データの位置データにおけるピクセルの法線を導出し、この法線に基づいてピクセルの輝度を演算し、ピクセルの位置データおよび輝度に基づいて対象物の三次元画像を構成するものである。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
SLAMには、三次元の点群データを取得する際の誤差に加え、点群データに施す処理のアルゴリズムに起因した誤差もある。これらの誤差が発生すると、点群データによって三次元画像表示された物体には、物体とその背景との境界部分またはその周辺にノイズが発生する、という課題があった。例えば、上記誤差による点群データが、三次元画像表示された建物とその背景との境界部分に発生することにより、三次元画像において、建物の壁が実際よりも厚く表示され、建物を正確に復元することができない場合がある。また、上記誤差による点群データは、物体とその背景との境界部分に沿って浮遊ノイズのように現れることもある。
【0005】
なお、特許文献1に記載の三次元データ処理装置は、点群データの位置データにおけるピクセルの法線に基づいて演算したピクセルの輝度を用いて、ユーザの移動に伴って変化する対象物の観察角度に同期して変化する鏡面反射成分を除去するものである。従って、三次元画像における輝度に関するノイズを除去することはできるが、物体とその背景との境界部分に発生する不要な点群データを除去することはできない。
【0006】
本開示は上記課題を解決するものであり、三次元の点群データによって表される物体とその背景との境界部分またはその周辺に発生するノイズを除去することができる、ノイズ除去装置を得ることを目的とする。
【課題を解決するための手段】
【0007】
本開示に係るノイズ除去装置は、センサにより計測された対象領域の三次元点の集合である点群データを取得するデータ取得部と、対象領域に複数のボクセルを設定するボクセル設定部と、ボクセル内の三次元点の密度である点密度を算出する点密度算出部と、複数の三次元点を含む部分平面の法線ベクトルを算出する法線ベクトル算出部と、ボクセル内の部分平面同士の法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する点群データを推定する推定部と、物体の厚み部分、エッジまたは面のいずれかと推定された点群データと、点密度とに基づいて、当該ボクセル内の点群データがノイズであるか否かを判定するノイズ判定部と、ノイズと判定された点群データを除去するノイズ除去部と、を備える。
【発明の効果】
【0008】
本開示によれば、センサにより計測された対象領域の三次元点の集合である点群データを取得し、対象領域に複数のボクセルを設定し、ボクセル内の三次元点の密度である点密度を算出し、複数の三次元点を含む部分平面の法線ベクトルを算出し、ボクセル内の部分平面同士の法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する点群データを推定し、物体の厚み部分、エッジまたは面のいずれかと推定された点群データと、点密度とに基づいて、当該ボクセル内の点群データがノイズであるか否かを判定し、ノイズと判定された点群データを除去するものである。これにより、本開示に係るノイズ除去装置は、三次元の点群データによって表される物体とその背景との境界部分またはその周辺に発生するノイズを除去することができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態1に係るノイズ除去装置の構成例を示すブロック図である。
【
図2】ボクセルおよび点群データに関する処理の概要を示す概要図である。
【
図4】SLAMによる三次元画像の生成処理の概要を示す概要図である。
【
図5】ノイズ除去した点群データを用いて生成された三次元画像の例を示す画面図である。
【
図6】実施の形態1に係るノイズ除去方法を示すフローチャートである。
【
図7】
図7Aおよび
図7Bは、実施の形態1に係るノイズ除去装置の機能を実現するためのハードウェア構成を示すブロック図である。
【
図8】実施の形態2に係るノイズ除去装置の構成例を示すブロック図である。
【
図9】測距距離データの分布を用いたボクセルの重心算出処理の概要を示す概要図である。
【
図10】反射強度データの分布を用いたボクセルの重心算出処理の概要を示す概要図である。
【
図11】RGBデータの分布を用いたボクセルの重心算出処理の概要を示す概要図である。
【
図12】推定平面との距離の分布を用いたボクセルの重心算出処理の概要を示す概要図である。
【発明を実施するための形態】
【0010】
実施の形態1.
図1は、実施の形態1に係るノイズ除去装置1の構成例を示すブロック図である。
図1において、ノイズ除去装置1は、センサ2を用いたSLAMにより取得された対象領域の三次元の点群データにおけるノイズを除去する。
特に、ノイズ除去装置1は、対象領域における点群データによって表される物体とその背景との境界部分またはその周辺に発生するノイズを除去するものである。
物体とその背景との境界部分またはその周辺に発生するノイズには、例えば、三次元画像における物体の厚み(例えば、建物の壁等)を実際よりも厚く表示させてしまうものがある。このノイズは、物体とその背景との境界部分に本来存在しない、不要な三次元点が多数発生したことによるものである。また、ノイズには、物体とその背景との境界部分に沿って発生する浮遊ノイズもある。
これらのノイズは、例えば、SLAMで点群データを取得するときに生じた誤差または点群データに施す処理のアルゴリズムに起因した誤差により発生する。このため、ノイズは、SLAMによる三次元画像の生成において不可避的に生じる。
【0011】
ノイズ除去装置1は、例えば、SLAMを実行する計測装置が備える一つの機能として実現される。計測装置は、タブレット端末、スマートフォンまたはノートタイプのPCである。また、ノイズ除去装置1は上記計測装置とは別に設けられた装置であってもよい。この場合、ノイズ除去装置1は、上記計測装置と有線または無線で接続され、有線または無線を介して当該計測装置から点群データを取得する。
【0012】
センサ2は、対象領域の三次元点の集合である点群データを検出するセンサであって、SLAMの種類に応じたものがある。SLAMには、例えば、LiDAR SLAM、Visual SLAM、およびDepth SLAMがある。LiDAR SLAMは、LiDAR(Light Detection and Ranging)技術を用いたSLAMである。LiDARは、パルスレーザ光を周囲に照射し、パルスレーザ光が周囲で反射した反射光を検出し、反射光の検出情報を用いて周囲に存在する物体の位置と距離を示す点群データを取得する。LiDAR SLAMにおいて、センサ2は、LiDARである。
【0013】
LiDAR SLAMは、車両、ロボットまたはドローンといった移動体に搭載されたLiDARがその周囲にパルス光を走査し、これにより得られた点群データに基づいて、移動体の周囲の環境をマッピングするものである。
また、LiDAR SLAMには、点群データを取得するときの誤差と、点群データに施す処理のアルゴリズムに起因した誤差が生じる場合がある。
点群データを取得するときの誤差には、例えば、LiDARの精度に起因したものと、移動体の動きに起因したものが含まれる。
LiDARの精度は、測定誤差の影響だけではなく、LiDARの移動に伴って生じた振動または揺れ等にも影響を受ける。
点群データに施す処理のアルゴリズムは、例えば、点群データから周囲の環境を再構築するものである。このため、移動体の周囲の環境が変化(例えば、周囲の歩行者の移動、車両の移動)すると、これを再構築するために誤差が生じる。また、周囲の環境を再構築するための学習モデルに誤差が生じる場合もある。
【0014】
Visual SLAMは、カメラ映像を利用して、カメラを有する移動体の自己位置推定とその周囲の環境地図を作成するものである。カメラ映像を得るためのカメラとしては、単眼カメラの利用が想定されるが、ステレオカメラを利用してもよい。
Visual SLAMにおいて、センサ2は、例えば、上記カメラである。
例えば、Visual SLAMでは、カメラ画像から各画素に対応する三次元座標を算出し、これらの座標を三次元点群データとして取得し、この点群データを用いてカメラの位置と姿勢を推定する。すなわち、Visual SLAMでは、点群データを用いて特徴点を抽出し、周囲の環境が三次元点群の部分集合として抽出される。
【0015】
Visual SLAMには、点群データを取得するときの誤差と、点群データに施す処理のアルゴリズムに起因した誤差がある。
点群データを取得するときの誤差には、例えば、カメラの位置または姿勢の測定誤差、画像上の特徴点の誤検出に起因した観測ノイズと、周囲の照明条件の変化に起因した環境変化が含まれる。
点群データに施す処理のアルゴリズムは、LiDAR SLAMと同様に、例えば、点群データから周囲の環境を再構築するものである。このため、移動体の周囲の環境が変化(例えば、周囲の歩行者の移動、車両の移動)すると、これを再構築するために誤差が生じる。また、周囲の環境を再構築するための学習モデルに誤差が生じる場合もある。
【0016】
Depth SLAMは、RGB-DカメラまたはToFカメラといった深度センサを用いて周囲の三次元の点群データを取得し、この点群データを用いて自己位置推定と環境地図の生成を行うものである。具体的には、Depth SLAMでは、カメラで周囲を撮影した画像情報を用いて特徴点を抽出し、深度センサにより検出された深度情報(点群データ)に基づいて各特徴点の三次元位置を算出し、特徴点の位置関係に基づいて移動体の自己位置推定が行われ、周囲の環境地図の生成が行われる。
Depth SLAMにおいて、センサ2は、例えば、上記カメラおよび深度センサである。
【0017】
また、Depth SLAMには、点群データを取得するときの誤差と、点群データに施す処理のアルゴリズムに起因した誤差が生じる場合がある。
点群データを取得するときの誤差には、例えば、深度センサの精度に起因したものと、移動体の動きに起因したものが含まれる。
点群データに施す処理のアルゴリズムは、LiDAR SLAMと同様に、例えば、点群データから周囲の環境を再構築するものである。このため、移動体の周囲の環境が変化(例えば、周囲の歩行者の移動、車両の移動)すると、これを再構築するために誤差が生じる。また、周囲の環境を再構築するための学習モデルに誤差が生じる場合もある。
【0018】
上述のように、SLAMには、三次元の点群データを取得する際の誤差に加えて、点群データに施す処理のアルゴリズムに起因した誤差もあり、これらの誤差が発生することにより物体とその背景との境界部分またはその周辺にノイズが発生する。ノイズ除去装置1は、このような物体とその背景との境界部分またはその周辺に発生するノイズを除去するものである。以下の説明では、ノイズ除去装置1が、LiDAR SLAMを用いて得られた点群データに含まれるノイズを除去するものとする。
【0019】
ノイズ除去装置1は、少なくとも、演算部と記憶部とを備えた装置である。演算部は、ノイズ除去装置1の全体動作を制御する。演算部は、
図1に示すデータ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17を備える。演算部が、点群データからノイズを除去するための情報処理アプリケーションを実行することにより、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16、およびノイズ除去部17の各種の機能が実現される。
【0020】
記憶部は、情報処理アプリケーションと、演算部の演算処理に用いられる情報を記憶する。記憶部は、ノイズ除去装置1として機能するコンピュータが備える記憶装置であり、HDD(Hard Disk Drive)もしくはSSD(Solid State Drive)等のストレージ、または後述する
図7Bのメモリ204を含むものである。
なお、記憶部は、ノイズ除去装置1がアクセス可能なものであればよく、ノイズ除去装置1の外部に設けられていてもよい。
【0021】
データ取得部11は、センサ2により計測された対象領域の三次元点の集合である点群データを取得する。ノイズ除去装置1は、センサ2と有線または無線でデータ通信可能に接続されており、データ取得部11は、ノイズ除去装置1が備える入力インタフェースを介してセンサ2から点群データを取得する。
【0022】
センサ2がLiDARである場合、LiDARは、予め定められた計測周期(例えば、100ミリ秒ごと)で対象領域にレーザパルスを照射し、対象領域からのレーザパルスの反射光を受光することにより、対象領域に存在する物体との距離を計測し、計測した距離で特定される三次元点の集合である点群データを検出する。LiDARは、移動体とともに移動して使用される。移動体は、例えば、対象領域周辺を移動可能な車両、対象領域上空を移動可能な飛行物体、または、LiDARを搭載した端末を所持する作業者である。
【0023】
ボクセル設定部12は、対象領域に複数のボクセルを設定する。例えば、ボクセル設定部12は、移動体の移動軌跡に沿って一定の大きさの三次元空間を順次決定し、決定した三次元空間を、ボクセルを設定する対象領域の三次元空間とする。そして、ボクセル設定部12は、個々の対象領域の三次元空間を、予め設定された同一の大きさを有する複数のボクセルで分割する。なお、ボクセルの大きさは、例えば、実空間を三次元復元する精度に応じて決定される。また、ボクセルの大きさは、
図1において図示していない操作装置を用いて、ユーザが設定してもよい。
【0024】
対象領域の三次元空間を立方体とした場合、立方体ボクセルが使用される。また、対象領域の三次元空間を球体または八面以上の複雑な形状とした場合、八面体ボクセルまたは六面体ボクセル等といった対象領域の空間の形状に合わせたボクセルが使用される。
ボクセル設定部12は、対象領域の空間に複数のボクセルを設定すると、点群データに含まれる個々の三次元点の位置情報に基づいて、ボクセルとこのボクセル内の点群データとを対応付けたボクセル点群データを生成する。
【0025】
点密度算出部13は、ボクセル内の三次元点の密度である点密度を算出する。例えば、点密度算出部13は、ボクセル設定部12により生成されたボクセル点群データを用いて対象領域のボクセルごとに点密度を算出する。点密度は、例えば、1個のボクセル当たりの三次元点の数である。
【0026】
法線ベクトル算出部14は、ボクセル内で複数の三次元点の組み合わせを設定し、個々の組み合わせにおける複数の三次元点を含む部分平面を特定し、特定した部分平面の法線ベクトルを算出する。部分平面の法線ベクトルの算出について、
図2を用いて説明する。
図2は、ボクセルおよび点群データに関する処理の概要を示す概要図である。
図2の左側の図は、複数のボクセル100が設定された対象領域を表す立方体の三次元空間である。ボクセル100は、立方体ボクセルである。ボクセル100Aは、対象領域を表す三次元空間における中央部分に位置するボクセルであり、ボクセル100Bは、当該三次元空間の表面側に位置するボクセルである。
【0027】
図2の中央の図は、ボクセル100Aにおける点群データを示しており、
図2の右側の図は、ボクセル100Bにおける点群データを示している。例えば、法線ベクトル算出部14は、ボクセル100内で3個ずつの三次元点の組み合わせを設定し、3個の三次元点103A、103Bおよび103Cを含む部分平面101を特定して、部分平面101の法線ベクトル102を算出する。
【0028】
なお、3個の三次元点で規定される部分平面101を示したが、ボクセル100で複数の部分平面101を規定でき、部分平面の三次元点の傾向を解析可能であれば、部分平面101における三次元点の数は3個に限定されるものではない。例えば、ボクセル100の各部分平面101における三次元点の数が同じであっても異なる数であってもよい。
【0029】
具体的には、法線ベクトル算出部14は、三次元点103Aと三次元点103Bとの間のベクトルV1と、三次元点103Aと三次元点103Cとの間のベクトルV2との外積を、部分平面101の法線ベクトル102として算出する。あるいは、法線ベクトル算出部14は、部分平面101に含まれる三次元点103A、103Bおよび103Cの座標をパラメータとする平面の法線ベクトル方程式を用いて法線ベクトル102を算出してもよい。
【0030】
推定部15は、ボクセル100内の部分平面101同士の法線ベクトル102の差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する点群データを推定する。具体的には、推定部15は、ボクセル100内の部分平面101同士の法線ベクトル102の差が推定閾値を超える場合、ボクセル100内の点群データが物体の厚み部分に対応すると推定する。
【0031】
例えば、物体の厚み部分からは、三次元点群が一様ではなく三次元点がランダムに分散して検出されると考えられる。三次元点がランダムに分散していると、部分平面101同士の法線ベクトル102の差は大きくなる。そこで、推定閾値を適切に設定することで、点群データが物体の厚み部分に存在するか否かを推定することができる。
【0032】
図2のボクセル100A内の三次元点群は一様に存在しないので、ボクセル100A内の部分平面101同士の法線ベクトル102の差は推定閾値を超える。このため、推定部15は、ボクセル100A内の点群データが物体の厚み部分に対応すると推定する。
【0033】
また、推定部15は、ボクセル100内の部分平面101同士の法線ベクトル102の差が推定閾値以下である場合、ボクセル100内の点群データが物体のエッジまたは面に対応すると推定する。例えば、物体のエッジまたは面からは、三次元点群が一様に検出されると考えられる。三次元点群が一様であると、部分平面101同士の法線ベクトル102の差は小さくなる。そこで、推定閾値を適切に設定することにより、点群データが物体のエッジまたは面に存在するか否かを推定することができる。
【0034】
図2のボクセル100B内の三次元点群は縦長な領域に一様に存在するので、これらの三次元点は、物体のエッジから検出されたものと考えられる。この場合、ボクセル100B内の部分平面101同士の法線ベクトル102の差は推定閾値以下になる。このため、推定部15は、ボクセル100B内の点群データが物体のエッジに対応すると推定する。
【0035】
なお、三次元点群が平面的に一様に存在する場合、これらの三次元点は、物体の面から検出されたものと考えられる。この場合においても、ボクセル100内の部分平面101同士の法線ベクトル102の差は推定閾値以下になる。このため、推定部15は、ボクセル100内の点群データが物体の面に対応すると推定する。
【0036】
ノイズ判定部16は、物体の厚み部分、エッジまたは面のいずれかと推定された点群データと点密度とに基づいて、ボクセル100内の点群データがノイズであるか否かを判定する。ボクセル100内の点群データがノイズであるか否かの判定について
図3を用いて説明する。
図3は、ノイズ判定処理の概要を示す概要図である。
図3の左側の図は、複数のボクセル100が設定された対象領域を表す立方体の三次元空間である。ボクセル100Cおよびボクセル100Dは、ボクセル100Aに隣接したボクセルである。
【0037】
図3の中央の図は、ボクセル100Cにおける点群データを示しており、
図3の右側の図は、ボクセル100Dにおける点群データを示している。例えば、法線ベクトル算出部14は、ボクセル100内で3個ずつの三次元点の組み合わせを設定し、3個の三次元点103A、103Bおよび103Cを含む部分平面101を特定して、部分平面101の法線ベクトル102を算出する。
【0038】
図3のボクセル100C内の三次元点群は一様に存在しないので、ボクセル100C内の部分平面101同士の法線ベクトル102の差は推定閾値を超える。このため、推定部15は、ボクセル100C内の点群データが物体の厚み部分に対応すると推定する。
図3のボクセル100Dにおいて部分平面101に含まれる三次元点が一様に存在するので、部分平面101同士の法線ベクトル102の差は推定閾値以下になる。このため、推定部15は、ボクセル100D内の点群データが物体のエッジに対応すると推定する。
【0039】
ノイズ判定部16は、点群データが物体の厚み部分に対応すると推定されたボクセルの点密度が、ボクセルに隣接するか、隣接するものを含む周辺のボクセルの点密度よりも第1判定閾値以上低い場合、物体の厚み部分に対応すると推定されたボクセル内の点群データをノイズと判定する。
【0040】
例えば、
図3において、点群データが物体の厚み部分に対応すると推定されたボクセル100Cは、同様に点群データが物体の厚み部分に対応すると推定されたボクセル100Aと隣接している。ノイズ判定部16は、ボクセル100Cの点密度がボクセル100Aの点密度よりも第1判定閾値以上低い場合、物体の厚み部分に対応すると推定されたボクセル100C内の点群データをノイズと判定する。
【0041】
ノイズ判定部16は、点群データが物体のエッジまたは面のいずれかと推定されたボクセルの点密度が第2判定閾値よりも低い場合、物体のエッジまたは面のいずれかと推定されたボクセル内の点群データをノイズと判定する。
【0042】
例えば、
図3において、点群データが物体のエッジまたは面に対応すると推定されたボクセル100Dは、同様に点群データが物体のエッジまたは面に対応すると推定されたボクセル100Bと、隣接するボクセル100Aを含む周辺に存在している。ノイズ判定部16は、ボクセル100Dの点密度がボクセル100Bの点密度よりも第2判定閾値以上低い場合、物体のエッジまたは面に対応すると推定されたボクセル100D内の点群データをノイズと判定する。
【0043】
なお、第1判定閾値および第2判定閾値は、例えば、設計上のノイズ判定精度に応じて決定される。また、第1判定閾値および第2判定閾値は、
図1において図示していない操作装置を用いて、ユーザが設定してもよい。
【0044】
ノイズ除去部17は、ノイズと判定された点群データを除去する。例えば、ノイズ除去部17は、データ取得部11により取得された点群データから、ノイズと判定された点群データを除去する。例えば、ノイズと判定された点群データが除去された点群データは、ノイズ除去装置1から、
図1において不図示の三次元画像生成装置に出力される。三次元画像生成装置は、ノイズ除去装置1から入力した点群データを用いて、三次元画像を生成する。
【0045】
図4は、SLAMによる三次元画像の生成処理の概要を示す概要図である。
図4の左側の図は、センサ2がデータ取得を行ったエリアの鳥瞰
図Aである。このエリアには、花壇のような構造物である物体B1~B4が存在する。センサ2を搭載した移動体(例えば、車両)は、軌跡Cに沿って移動する。軌跡Cに沿って移動した移動体は、移動開始点であるD1、D1を含むD2~D5の標定点、および移動終了点であるEを通過する。また、このエリアには、E1~E6の検証点も設置されている。
【0046】
標定点D1~D5は、移動体に搭載されたセンサ2の位置および姿勢を推定するために使用される参照地点であって、環境地図を生成する際に用いられる物理的なランドマークまたはポイントである。LiDAR SLAMでは、移動体の自己位置推定および環境地図生成を行うために、標定点D1~D5を特定する必要がある。標定点D1~D5は、センサ2の検出情報により特定される。
【0047】
検証点E1~E6は、標定点D1~D5と移動体との相対的な位置関係を特定するための観測点であって、標定点からの距離、角度、または画像上の位置の算出に用いられる。例えば、LiDAR SLAMでは、物体B1に関し、標定点D4から検証点E1~E3までの距離、標定点D4から検証点E1~E3に対する角度、または画像上の位置の算出に用いられる。
【0048】
図4の右側の図は、軌跡Cに沿って取得された点群データを用いて生成された環境地図(三次元画像)F1であり、環境地
図F1には、物体B1~B4を示す画像H1~H4が含まれる。点群データに対してノイズ除去装置1によるノイズ除去がされていない場合、例えば、矩形の部分拡大
図Gにおいて、画像H1にはノイズN1およびノイズN2が発生している。ノイズN1は、物体B1の厚みを実際よりも厚く表示させてしまうノイズである。また、ノイズN2は、物体B1とその背景との境界部分に沿って発生する浮遊ノイズである。
【0049】
図5は、ノイズ除去した点群データを用いて生成された三次元画像の例を示す画面図であり、
図4の環境地
図F1の生成に用いた点群データからノイズを除去して得られた環境地図(三次元画像)F2を示している。ノイズ除去装置1は、例えば、
図4で示した物体B1~B4を示す画像H1~H4とその背景との境界部分に発生するノイズN1と、その周辺に発生するノイズN2を除去する。これにより、
図5の部分拡大
図Gに示すように、画像H1では、物体B1の実際の厚みが正確に復元されている。
【0050】
図6は、実施の形態1に係るノイズ除去方法を示すフローチャートである。
データ取得部11は、対象領域の点群データを取得する(ステップST1)。例えば、データ取得部11は、
図5の環境地
図F2の生成に用いる点群データを取得する。
ボクセル設定部12は、対象領域にボクセル100を設定する(ステップST2)。
点密度算出部13は、ボクセル100内の点密度を算出する(ステップST3)。
法線ベクトル算出部14は、複数の三次元点を含む部分平面101の法線ベクトル102を算出する(ステップST4)。
推定部15は、ボクセル100内の部分平面101同士の法線ベクトル102の差に基づいて、物体B1~B4の厚み部分、エッジまたは面のいずれかに対応する点群データを推定する(ステップST5)。
ノイズ判定部16は、物体B1~B4の厚み部分、エッジまたは面のいずれかと推定された点群データと点密度とに基づいて、ボクセル100内の点群データがノイズであるか否かを判定する(ステップST6)。
ノイズ除去部17が、ノイズと判定された点群データを除去する(ステップST7)。
ノイズ除去装置1は、
図6に示すノイズ除去方法を実行することにより、点群データによって表される物体B1~B4とその背景との境界部分またはその周辺に発生するノイズを除去することができる。
【0051】
次に、ノイズ除去装置1の機能を実現するハードウェア構成について説明する。
ノイズ除去装置1が備える、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17の機能は、処理回路により実現される。
すなわち、ノイズ除去装置1は、
図6に示したステップST1からステップST7までの各処理を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するCPU(Central Processing Unit)であってもよい。
【0052】
図7Aは、ノイズ除去装置1の機能を実現するハードウェア構成を示すブロック図である。
図7Bは、ノイズ除去装置1の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
図7Aおよび
図7Bにおいて、入力インタフェース200は、センサ2からノイズ除去装置1へ出力される検出情報を中継するインタフェースである。出力インタフェース201は、ノイズ除去装置1から後段の装置へ出力される三次元点群データを中継するインタフェースである。
【0053】
処理回路が、
図7Aに示す専用のハードウェアの処理回路202である場合、処理回路202は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)または、これらを組み合わせたものが該当する。
ノイズ除去装置1が備える、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17の機能を、別々の処理回路が実現してもよく、これらの機能をまとめて一つの処理回路が実現してもよい。
【0054】
処理回路が、
図7Bに示すプロセッサ203である場合、ノイズ除去装置1が備える、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ204に記憶される。
【0055】
プロセッサ203は、メモリ204に記憶されたプログラムを読み出して実行することにより、ノイズ除去装置1が備える、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17の機能を実現する。例えば、ノイズ除去装置1は、プロセッサ203により実行されるときに、
図6に示したステップST1からステップST7の処理が結果的に実行されるプログラムを記憶するためのメモリ204を備える。
これらのプログラムは、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17が行う処理の手順または方法を、コンピュータに実行させる。
メモリ204は、コンピュータを、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【0056】
メモリ204は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically-EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどが該当する。
【0057】
ノイズ除去装置1が備える、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17の機能の一部が専用のハードウェアで実現され、残りの一部がソフトウェアまたはファームウェアで実現されてもよい。
例えば、データ取得部11は、専用のハードウェアである処理回路202によってその機能が実現され、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17は、プロセッサ203がメモリ204に記憶されたプログラムを読み出して実行することによりその機能が実現される。
このように、処理回路はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって上記機能を実現することができる。
【0058】
以上のように、実施の形態1に係るノイズ除去装置1は、対象領域の点群データを取得するデータ取得部11と、対象領域に複数のボクセル100を設定するボクセル設定部12と、ボクセル100内の点密度を算出する点密度算出部13と、複数の三次元点103を含む部分平面101の法線ベクトル102を算出する法線ベクトル算出部14と、ボクセル100内の部分平面101同士の法線ベクトル102の差に基づいて、物体B1~B4の厚み部分、エッジまたは面のいずれかに対応する、ボクセル100内の点群データを推定する推定部15と、物体B1~B4の厚み部分、エッジまたは面のいずれかと推定されたボクセル100内の点群データと、点密度とに基づいて、ボクセル100内の点群データがノイズであるか否かを判定するノイズ判定部16と、ノイズと判定された点群データを除去するノイズ除去部17とを備える。これにより、ノイズ除去装置1は、三次元の点群データによって表される物体B1~B4とその背景との境界部分またはその周辺に発生するノイズを除去することができる。
【0059】
実施の形態1に係るノイズ除去装置1において、推定部15は、ボクセル100内の部分平面101同士の法線ベクトル102の差が推定閾値を超える場合、ボクセル100内の点群データが物体の厚み部分に対応すると推定し、法線ベクトル102の差が推定閾値以下である場合は、当該ボクセル100内の点群データが物体のエッジまたは面に対応すると推定する。これにより、ノイズ除去装置1は、物体の厚み部分、エッジまたは面に対応する点群データを適切に推定することができる。
【0060】
実施の形態1に係るノイズ除去装置1において、ノイズ判定部16は、点群データが物体の厚み部分に対応すると推定されたボクセル100の点密度が、ボクセル100に隣接するか、隣接するものを含む周辺のボクセル100の点密度よりも第1判定閾値以上低い場合、ボクセル100内の点群データをノイズと判定し、点群データが物体のエッジまたは面のいずれかと推定されたボクセル100の点密度が第2判定閾値よりも低い場合においても、ボクセル100内の点群データをノイズと判定する。これにより、ノイズ除去装置1は、物体の厚み部分、エッジまたは面に対応すると判定された点群データからノイズを適切に判定することができる。
【0061】
実施の形態1に係るノイズ除去方法において、データ取得部11が、対象領域の点群データを取得するステップST1と、ボクセル設定部12が、対象領域に複数のボクセルを設定するステップST2と、点密度算出部13が、ボクセル100内の点密度を算出するステップST3と、法線ベクトル算出部14が、複数の三次元点を含む部分平面101の法線ベクトル102を算出するステップST4と、推定部15が、ボクセル100内の部分平面101同士の法線ベクトル102の差に基づいて、物体B1~B4の厚み部分、エッジまたは面のいずれかに対応する点群データを推定するステップST5と、ノイズ判定部16が、物体B1~B4の厚み部分、エッジまたは面のいずれかと推定された点群データと、点密度とに基づいて、ボクセル100内の点群データがノイズであるか否かを判定するステップST6と、ノイズ除去部17が、ノイズと判定された点群データを除去するステップST7とを備えるものである。この方法を実行するノイズ除去装置1は、三次元の点群データによって表される物体B1~B4とその背景との境界部分またはその周辺に発生するノイズを除去することができる。
【0062】
実施の形態1に係るプログラムを実行するコンピュータは、対象領域の点群データを取得するデータ取得部11、対象領域に複数のボクセル100を設定するボクセル設定部12、ボクセル100内の点密度を算出する点密度算出部13、部分平面101の法線ベクトル102を算出する法線ベクトル算出部14、ボクセル100内の部分平面101同士の法線ベクトル102の差に基づいて、物体B1~B4の厚み部分、エッジまたは面のいずれかに対応する点群データを推定する推定部15、物体B1~B4の厚み部分、エッジまたは面のいずれかと推定された点群データと、点密度とに基づいて、ボクセル100内の点群データがノイズであるか否かを判定するノイズ判定部16、ノイズと判定された点群データを除去するノイズ除去部17とを備えたノイズ除去装置1として機能するものである。三次元の点群データによって表される物体B1~B4とその背景との境界部分またはその周辺に発生するノイズを除去するノイズ除去装置1を提供することができる。
【0063】
実施の形態2.
図8は、実施の形態2に係るノイズ除去装置1Aの構成例を示すブロック図である。
図8において、ノイズ除去装置1Aは、センサ2を用いたSLAMにより取得された対象領域の三次元の点群データにおけるノイズを除去する。特に、ノイズ除去装置1Aは、対象領域における点群データによって表される物体とその背景との境界部分またはその周辺に発生するノイズを除去するものである。なお、
図8において、
図1と同一の構成要素には同一の符号を付して説明を省略する。
【0064】
ノイズ除去装置1Aは、少なくとも、演算部と記憶部を備えた装置である。演算部は、ノイズ除去装置1Aの全体動作を制御する。演算部は、
図8に示すデータ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16、ノイズ除去部17および重心算出部18を備える。演算部が、点群データからノイズを除去するための情報処理アプリケーションを実行することにより、データ取得部11、ボクセル設定部12、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16、ノイズ除去部17および重心算出部18の各種の機能が実現される。
【0065】
記憶部は、情報処理アプリケーションと、演算部の演算処理に用いられる情報とを記憶する。記憶部は、ノイズ除去装置1Aとして機能するコンピュータが備える記憶装置であり、HDD(Hard Disk Drive)もしくはSSD(Solid State Drive)等のストレージ、または
図7Bのメモリ204を含むものである。
なお、記憶部は、ノイズ除去装置1Aがアクセス可能なものであればよく、ノイズ除去装置1Aの外部に設けられていてもよい。
【0066】
重心算出部18は、ボクセル100内の点群データの計測精度に関する計測精度関連情報の分布を算出し、計測精度関連情報の分布に基づいて、ボクセル100内の三次元点の重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出するものである。ここで、計測精度関連情報には、測距距離データ、反射強度データ、RGBデータおよび推定平面との距離情報がある。測距距離データおよび反射強度データは、点群データにおける個々の三次元点に付加された情報である。RGBデータは、点群データにおける個々の三次元点に対応する画素のR(赤色)、G(緑色)およびB(青色)の色情報である。推定平面との距離情報は、対象領域に最も近いと推定された推定平面と当該対象領域の点群データとの間の距離を示す情報である。
【0067】
ボクセル100内の点群データにおける個々の三次元点に対する重み付けは、三次元点に付与された重みを表す係数を、三次元点の座標に反映させる処理である。
重心算出部18は、例えば、ボクセル100内の各三次元点の座標値をその座標の重みによって加重平均し、それぞれの加重平均値をボクセル100内の点群データの重心座標とする。点群データの計測精度に関する計測精度関連情報に基づいて三次元点に付与した重みに応じてボクセル100内の三次元点の重心を算出することで、より真値、すなわち実際の環境に近い重心を算出できる。
【0068】
また、重心算出部18は、物体の厚み部分、エッジまたは面のいずれかと推定された点群データが存在するボクセル100内の点群データの重心を算出し、ボクセル100内で重心から一定の範囲内に存在しない点群データを間引く処理を行ってもよい。一定の範囲は、重心の算出に使用した計測精度関連情報により規定される範囲である。例えば、測距距離データに基づいて三次元点の重み付けを行い、重みに応じた三次元点の分布に応じて重心を算出した場合に、重心算出部18は、ボクセル100内で重心から一定の距離範囲内に存在しない点群データを間引く。これにより、ノイズ除去装置1Aは、実際の環境に近い三次元点の分布を取得できる。
【0069】
重心算出部18は、ボクセル設定部12が設定したボクセル100内の点群データの重心を算出し、ボクセル100内で重心から一定の範囲内に存在しない点群データを間引く処理を行ってもよい。この場合、重心算出部18により間引き処理が行われた点群データを用いて、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17による一連の処理が行われる。これにより、ノイズ除去装置1Aは、実際の環境に近い三次元点の分布からノイズを除去することができる。
【0070】
また、重心算出部18は、点群データの測距距離データの分布(以下、測距距離分布と記載する。)に基づいて、ボクセル100内の三次元点に重み付けを行い、重みに応じて、ボクセル100内の点群データの重心を算出してもよい。点群データにおける各三次元点のデータには、三次元点からセンサ2までの距離を示す測距距離データが含まれている。
SLAMにおいては、センサ2との距離が近い三次元点であるほど、計測精度がよい、すなわち真値に近い傾向がある。
ただし、単純に測距距離が近い(短い)三次元点を所定数だけ抽出したのでは、ボクセル100内での三次元点の正確な分布を表すことができない。
そこで、重心算出部18は、測距距離分布において、測距距離が近い三次元点から順に大きな重みを付与し、三次元点に付与した重みに応じて、ボクセル100内の点群データの重心を算出する。
【0071】
図9は、測距距離分布を用いたボクセル100Aの重心算出処理の概要を示す概要図である。例えば、重み付けした三次元点103の測距距離分布は、
図9の左側に示す分布である。測距距離の遠近は、
図9の左側図において矢印で示すように、濃い色のプロットが測距距離が近い三次元点を示しており、薄良い色のプロットが測距距離が遠い三次元点を示している。ボクセル100A内で三次元点103は、
図9の右側図に示すように、濃い色の三次元点がボクセル100Aの右側に存在している。
そこで、重心算出部18は、測距距離分布において、測距距離が近い三次元点に対して大きな重みを付与し、ボクセル100内の各三次元点の座標値をその座標の重みによって加重平均し、それぞれの加重平均値をボクセル100内の点群データの重心座標とする。
【0072】
また、重心算出部18は、点群データの反射強度データの分布(以下、反射強度分布と記載する。)に基づいて、ボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出してもよい。点群データにおける各三次元点のデータには、測定光(LiDARから照射されたパルスレーザ光)の三次元点からの反射強度(反射光の受光強度)を示す反射強度データが含まれている。
SLAMにおいては、反射強度が強い三次元点であるほど、計測精度がよい、すなわち真値に近い傾向がある。ただし、単純に反射強度が強い三次元点を所定数だけ抽出したのでは、ボクセル100内での三次元点の正確な分布を表すことができない。
そこで、重心算出部18は、反射強度分布において、反射強度が強い三次元点から順に大きな重みを付与し、三次元点に付与した重みに応じて、ボクセル100内の点群データの重心を算出する。
【0073】
図10は、反射強度分布を用いたボクセル100Aの重心算出処理の概要を示す概要図である。例えば、重み付けした三次元点103の反射強度分布は、
図10の左側に示す分布である。反射強度の強弱は、
図10の左側図において矢印で示すように、濃い色のプロットは反射強度が強い三次元点103を示しており、薄良い色のプロットは反射強度が弱い三次元点103を示している。ボクセル100A内で三次元点103は、
図10の右側図に示すように、濃い色の三次元点がボクセル100Aの右側に存在している。
そこで、重心算出部18は、反射強度分布において、反射強度が強い三次元点に対して大きな重みを付与し、ボクセル100内の各三次元点の座標値をその座標の重みによって加重平均し、それぞれの加重平均値をボクセル100内の点群データの重心座標とする。
【0074】
また、重心算出部18は、点群データのRGBデータの分布(以下、色分布と記載する。)に基づいてボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出してもよい。Visual SLAMによって得られた点群データにおける各三次元点のデータには、三次元点に対応する画素のR(赤色)、G(緑色)およびB(青色)の色を示すRGBデータが含まれている。RGBデータを含む点群データは、LiDAR SLAMにより得られた点群データに対して、カメラにより対象領域が撮影された撮影画像の画素ごとのRGBデータを付与しても得られる。
SLAMにおいては、色が濃い三次元点であるほど、計測精度がよい、すなわち真値に近い傾向がある。ただし、単純に色が濃い三次元点を所定数だけ抽出したのでは、ボクセル100内での三次元点の正確な分布を表すことができない。
そこで、重心算出部18は、色分布において、色が濃い三次元点から順に大きな重みを付与し、三次元点に付与した重みに応じて、ボクセル100内の点群データの重心を算出する。
【0075】
図11は、色分布を用いたボクセル100Aの重心算出処理の概要を示す概要図である。例えば、重み付けした三次元点103の色分布は、
図11の左側に示す分布である。色の濃淡は、
図11の左側図において矢印で示すように、濃い色のプロットが色が濃い三次元点を示し、薄良い色のプロットは色が薄い三次元点を示している。ボクセル100A内で三次元点103は、
図11の右側図に示すように、濃い色の三次元点103がボクセル100Aの右側に存在している。
そこで、重心算出部18は、色分布において、色が濃い三次元点に対して大きな重みを付与し、ボクセル100内の各三次元点の座標値をその座標の重みによって加重平均し、それぞれの加重平均値をボクセル100内の点群データの重心座標とする。
【0076】
また、重心算出部18は、三次元点を含む平面104を推定し、推定した平面104とボクセル100A内の三次元点103との距離の分布に基づいてボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出してもよい。例えば、重心算出部18は、RANSAC法を用いて、三次元点を含む平面104を推定する。RANSAC法では、平面候補を表す関数のパラメータごとにインライヤとなる三次元点の数がカウントされ、カウント数が最も多いパラメータが最適なパラメータに決定される。決定されたパラメータを適用した関数で表される平面候補から、例えば、インライヤである三次元点を最も多く含む平面の推定結果とされる。
【0077】
図12は、推定した平面104との距離の分布を用いたボクセル100Aの重心算出処理の概要を示す概要図である。例えば、重み付けした三次元点103の平面104との距離の分布は、
図12の左側に示す分布である。推定した平面104までの距離の遠近は、
図12の左側図において矢印で示すように、濃い色のプロットが距離が近い三次元点を示し、薄良い色のプロットは距離が遠い三次元点を示している。ボクセル100A内で三次元点103は、
図12の右側図に示すように、平面104との距離が近い三次元点103がボクセル100Aの右側に存在している。
そこで、重心算出部18は、平面104との距離の分布において、距離が近い三次元点に対して大きな重みを付与し、ボクセル100内の各三次元点の座標値をその座標の重みによって加重平均し、それぞれの加重平均値をボクセル100内の点群データの重心座標とする。
【0078】
以上のように、実施の形態2に係るノイズ除去装置1Aは、ボクセル100内の点群データの計測精度に関する計測精度関連情報の分布を算出し、計測精度関連情報の分布に基づいてボクセル内の三次元点の重み付けを行い、重みに応じてボクセル内の点群データの重心を算出する重心算出部18を備える。計測精度関連情報の分布に基づいて三次元点に付与した重みに応じてボクセル100内の点群データの重心を算出することで、より実際の環境に近い重心を算出できる。
【0079】
実施の形態2に係るノイズ除去装置1Aにおいて、重心算出部18は、物体の厚み部分、エッジまたは面のいずれかと推定された点群データが存在するボクセル100内の点群データの重心を算出し、ボクセル100内で重心から一定の範囲内に存在しない点群データを間引く。これにより、ノイズ除去装置1Aは、実際の環境に近い三次元点の分布を取得できる。
【0080】
実施の形態2に係るノイズ除去装置1Aにおいて、重心算出部18は、ボクセル設定部12が設定したボクセル100内の点群データの重心を算出し、ボクセル100内で重心から一定の範囲内に存在しない点群データを間引く。重心算出部18により間引き処理が行われた点群データを用いて、点密度算出部13、法線ベクトル算出部14、推定部15、ノイズ判定部16およびノイズ除去部17による一連の処理が行われる。これにより、ノイズ除去装置1Aは、実際の環境に近い三次元点の分布からノイズを除去できる。
【0081】
実施の形態2に係るノイズ除去装置1Aにおいて、重心算出部18は、測距距離分布に基づいてボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出する。測距距離分布に基づいて三次元点に付与した重みに応じてボクセル100内の点群データの重心を算出することで、ノイズ除去装置1Aは、より実際の環境に近い重心を算出できる。
【0082】
実施の形態2に係るノイズ除去装置1Aにおいて、重心算出部18は、反射強度分布に基づいてボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出する。反射強度分布に基づいて三次元点に付与した重みに応じてボクセル100内の点群データの重心を算出することで、ノイズ除去装置1Aは、より実際の環境に近い重心を算出できる。
【0083】
実施の形態2に係るノイズ除去装置1Aにおいて、重心算出部18は、色分布に基づいてボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出する。色分布に基づいて三次元点に付与した重みに応じてボクセル100内の点群データの重心を算出することで、ノイズ除去装置1Aは、より実際の環境に近い重心を算出できる。
【0084】
実施の形態2に係るノイズ除去装置1Aにおいて、重心算出部18は、三次元点を含む平面を推定し、推定平面との距離分布に基づいてボクセル100内の三次元点に重み付けを行い、重みに応じてボクセル100内の点群データの重心を算出する。推定平面との距離分布に基づいて三次元点に付与した重みに応じてボクセル100内の点群データの重心を算出することにより、ノイズ除去装置1Aは、より実際の環境に近い重心を算出できる。
【0085】
以下、本開示の諸態様を付記としてまとめて記載する。
【0086】
(付記1)
センサにより計測された対象領域の三次元点の集合である点群データを取得するデータ取得部と、
前記対象領域に複数のボクセルを設定するボクセル設定部と、
前記ボクセル内の前記三次元点の密度である点密度を算出する点密度算出部と、
複数の前記三次元点を含む部分平面の法線ベクトルを算出する法線ベクトル算出部と、
前記ボクセル内の前記部分平面同士の前記法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する前記点群データを推定する推定部と、
前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データと、前記点密度とに基づいて、当該ボクセル内の前記点群データがノイズであるか否かを判定するノイズ判定部と、
ノイズと判定された前記点群データを除去するノイズ除去部と、を備えた
ことを特徴とするノイズ除去装置。
(付記2)
前記推定部は、前記ボクセル内の前記部分平面同士の前記法線ベクトルの差が推定閾値を超える場合、当該ボクセル内の前記点群データが前記物体の厚み部分に対応すると推定し、前記法線ベクトルの差が前記推定閾値以下である場合は、当該ボクセル内の前記点群データが前記物体のエッジまたは面に対応すると推定する
ことを特徴とする付記1に記載のノイズ除去装置。
(付記3)
ノイズ判定部は、前記点群データが前記物体の厚み部分に対応すると推定された前記ボクセルの前記点密度が、当該ボクセルに隣接するか、隣接するものを含む周辺の前記ボクセルの前記点密度よりも第1判定閾値以上低い場合に、前記物体の厚み部分に対応すると推定された前記ボクセル内の前記点群データをノイズと判定し、前記点群データが前記物体のエッジまたは面のいずれかと推定された前記ボクセルの前記点密度が第2判定閾値よりも低い場合、前記物体のエッジまたは面のいずれかと推定された前記ボクセル内の前記点群データをノイズと判定する
ことを特徴とする付記1または付記2に記載のノイズ除去装置。
(付記4)
前記ボクセル内の前記三次元点についての、前記点群データの計測精度に関する計測精度関連情報の分布を算出し、前記計測精度関連情報の分布に基づいて前記ボクセル内の前記三次元点の重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する重心算出部、を備えた
ことを特徴とする付記1から付記3のいずれか一つに記載のノイズ除去装置。
(付記5)
前記重心算出部は、前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データが存在する前記ボクセル内の当該点群データの重心を算出し、前記ボクセル内で重心から一定の範囲内に存在しない前記点群データを間引く
ことを特徴とする付記4に記載のノイズ除去装置。
(付記6)
前記重心算出部は、前記ボクセル設定部が設定した前記ボクセル内の前記点群データの重心を算出し、前記ボクセル内で重心から一定の範囲内に存在しない前記点群データを間引き、
前記重心算出部により間引き処理が行われた前記点群データを用いて、前記点密度算出部、前記法線ベクトル算出部、前記推定部、前記ノイズ判定部および前記ノイズ除去部による一連の処理が行われる
ことを特徴とする付記4に記載のノイズ除去装置。
(付記7)
前記重心算出部は、測距距離データの分布に基づいて前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする付記4から付記6のいずれか一つに記載のノイズ除去装置。
(付記8)
前記重心算出部は、反射強度データの分布に基づいて前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする付記4から付記6のいずれか一つに記載のノイズ除去装置。
(付記9)
前記重心算出部は、RGBデータの分布に基づいて前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする付記4から付記6のいずれか一つに記載のノイズ除去装置。
(付記10)
前記重心算出部は、前記三次元点を含む平面を推定し、推定した平面と前記ボクセル内の前記三次元点との距離の分布に基づいて前記ボクセル内の前記三次元点に重み付けを行い、重みに応じて前記ボクセル内の前記点群データの重心を算出する
ことを特徴とする付記4から付記6のいずれか一つに記載のノイズ除去装置。
(付記11)
ノイズ除去装置により実行されるノイズ除去方法であって、
データ取得部が、センサにより計測された対象領域の三次元点の集合である点群データを取得するステップと、
ボクセル設定部が、前記対象領域に複数のボクセルを設定するステップと、
点密度算出部が前記ボクセル内の前記三次元点の密度である点密度を算出するステップと、
法線ベクトル算出部が、複数の前記三次元点を含む部分平面の法線ベクトルを算出するステップと、
推定部が、前記ボクセル内の前記部分平面同士の前記法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する前記点群データを推定するステップと、
ノイズ判定部が、前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データと、前記点密度とに基づいて、当該ボクセル内の前記点群データがノイズであるか否かを判定するステップと、
ノイズ除去部が、ノイズと判定された前記点群データを除去するステップと、を備えた
ことを特徴とするノイズ除去方法。
(付記12)
コンピュータを、
センサにより計測された対象領域の三次元点の集合である点群データを取得するデータ取得部、
前記対象領域に複数のボクセルを設定するボクセル設定部、
前記ボクセル内の前記三次元点の密度である点密度を算出する点密度算出部、
複数の前記三次元点を含む部分平面の法線ベクトルを算出する法線ベクトル算出部、
前記ボクセル内の前記部分平面同士の前記法線ベクトルの差に基づいて、物体の厚み部分、エッジまたは面のいずれかに対応する前記点群データを推定する推定部、
前記物体の厚み部分、エッジまたは面のいずれかと推定された前記点群データと、前記点密度とに基づいて、当該ボクセル内の前記点群データがノイズであるか否かを判定するノイズ判定部、
ノイズと判定された前記点群データを除去するノイズ除去部、
として機能させるためのプログラム。
【0087】
なお、各実施の形態の組み合わせまたは実施の形態のそれぞれの任意の構成要素の変形もしくは実施の形態のそれぞれにおいて任意の構成要素の省略が可能である。
【符号の説明】
【0088】
1,1A ノイズ除去装置、2 センサ、11 データ取得部、12 ボクセル設定部、13 点密度算出部、14 法線ベクトル算出部、15 推定部、16 ノイズ判定部、17 ノイズ除去部、18 重心算出部、100,100A,100B,100C,100D ボクセル、101 部分平面、102 法線ベクトル、103,103A,103B,103C 三次元点、104 平面、200 入力インタフェース、201 出力インタフェース、202 処理回路、203 プロセッサ、204 メモリ。