IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 学校法人立命館の特許一覧

特開2024-15907三次元データ生成方法、演算装置、及び、コンピュータプログラム
<>
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図1
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図2
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図3
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図4
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図5
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図6
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図7
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図8
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図9
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図10
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図11
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図12
  • 特開-三次元データ生成方法、演算装置、及び、コンピュータプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024015907
(43)【公開日】2024-02-06
(54)【発明の名称】三次元データ生成方法、演算装置、及び、コンピュータプログラム
(51)【国際特許分類】
   G01B 11/245 20060101AFI20240130BHJP
   G06T 7/00 20170101ALI20240130BHJP
【FI】
G01B11/245 H
G06T7/00 350B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022118285
(22)【出願日】2022-07-25
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 公開の事実1:令和3(2021)年8月6日に「2021年度春学期 立命館大学大学院理工学研究科 修士論文公聴会」(オンライン開催(Zoom))にて発表 公開の事実2:令和4(2022)年3月28日に「COMPUTER-AIDED CIVIL AND INFRASTRUCTURE ENGINEERING(Volume37,Pages 1335-1348, Blackwell Publishers)」のウェブサイト(https://onlinelibrary.wiley.com/doi/10.1111/mice.12840)に掲載
(71)【出願人】
【識別番号】593006630
【氏名又は名称】学校法人立命館
(74)【代理人】
【識別番号】100111567
【弁理士】
【氏名又は名称】坂本 寛
(72)【発明者】
【氏名】馬 書根
(72)【発明者】
【氏名】田 陽
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA04
2F065AA53
2F065BB15
2F065CC14
2F065DD03
2F065FF04
2F065FF05
2F065FF11
2F065GG04
2F065HH04
2F065JJ03
2F065JJ05
2F065MM06
2F065MM16
2F065PP22
2F065QQ03
2F065QQ21
2F065QQ24
2F065QQ28
2F065QQ31
2F065UU05
5L096AA02
5L096AA06
5L096AA09
5L096CA04
5L096DA02
5L096DA05
5L096FA09
5L096FA66
5L096FA67
5L096FA69
5L096HA01
5L096HA11
5L096JA11
(57)【要約】      (修正有)
【課題】物体表面の三次元の位置データを取得して三次元データを生成する際に、位置データを取得するセンサの位置関係が精度よく推定する演算装置を提供する。
【解決手段】三次元データ生成システムにおいて、演算装置10は、移動可能なセンサ30によって、第1の位置及び第2の位置夫々で得られた物体200表面のセンシングデータの入力を受け付け、前記データから、第1の位置と第2の位置との位置関係を求めるための特徴点抽出に用いる特徴のタイプを、機械学習されたモデルである特徴選択器によって決定し、決定したタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置夫々のセンシングデータから抽出した特徴点をマッチングさせることで位置関係を求め、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置夫々からの物体表面の三次元位置を表す位置データを合成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
物体表面を表す三次元データを生成する方法であって、
移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた前記物体表面のセンシング結果を示すセンシングデータの入力を受け付け、
前記センシングデータから、前記第1の位置と前記第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、
決定された前記タイプの特徴を示す特徴量を用いて、前記第1の位置及び前記第2の位置それぞれの前記センシングデータの中からそれぞれの特徴点を抽出し、
前記第1の位置及び前記第2の位置それぞれの前記センシングデータにおける前記それぞれの特徴点をマッチングさせることにより前記位置関係を求め、
前記位置関係を用いて、前記第1の位置又は前記第1の位置との相対位置関係が既知である位置及び前記第2の位置又は前記第2の位置との相対位置関係が既知である位置それぞれからの前記物体表面の三次元位置を表す位置データを合成する、ことを備え、
前記特徴選択器は、前記センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、
前記特徴のタイプを決定することは、前記モデルに前記センシングデータを入力して前記モデルからの出力を得ることを含む
三次元データ生成方法。
【請求項2】
前記センシングデータは、前記センサによって得られた画像データを含む
請求項1に記載の三次元データ生成方法。
【請求項3】
前記センサは、対象物に対して撮影によって得られた画像データと表面までの距離を示す距離データとを出力するカメラを含む
請求項1に記載の三次元データ生成方法。
【請求項4】
前記センシングデータは、前記第1の位置及び前記第2の位置それぞれにおいて前記カメラによって撮影された前記物体を含む前記画像データであり、
前記位置データは、前記第1の位置及び前記第2の位置それぞれにおける前記カメラからの前記物体表面までの前記距離データから得られた前記物体表面の三次元座標を示す
請求項3に記載の三次元データ生成方法。
【請求項5】
前記位置データを合成することは、前記カメラによって異なる複数の位置で得られた複数の前記位置データを合成することを含み、
前記カメラによって前記複数の位置で得られた複数の前記画像データのうちの隣接する位置で得られた2つの前記画像データごとに、前記特徴のタイプを決定し、
前記隣接する位置で得られた前記画像データの、決定されたそれぞれの前記特徴のタイプを用いて、前記隣接する位置の前記位置関係を求め、
前記位置データを合成することは、前記隣接する位置ごとの前記位置関係を用いて、前記複数の前記位置データを構成することを含む
請求項4に記載の三次元データ生成方法。
【請求項6】
前記センサは、対象物を撮影することによって得られた画像データを前記センシングデータとして出力し、表面までの距離を示す距離データを前記位置データとして出力するカメラを含み、
前記センサは、移動しながら複数の時刻それぞれでの前記画像データ及び前記位置データを出力し、
前記位置データを合成することは、前記カメラが移動することによって複数の時刻で得られた複数の前記位置データを合成することを含み、
前記カメラが移動することによって前記複数の時刻で得られた複数の前記画像データのそれぞれについて、前記画像データと、その得られた時刻の直前の時刻に得られた画像データとから、前記特徴のタイプを決定し、
前記画像データと、前記直前の時刻に得られた画像データとについて、決定された前記タイプの特徴を示す特徴量を求めて前記位置関係を求め、
前記位置データを合成することは、前記複数の時刻それぞれの前記画像データの前記直前の時刻の前記画像データとの前記位置関係を用いて、前記複数の前記位置データを合成することを含む
請求項1に記載の三次元データ生成方法。
【請求項7】
物体表面を表す三次元データの生成処理を実行する演算装置であって、
移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた前記物体表面のセンシング結果を示すセンシングデータの入力を受け付け、
前記センシングデータから、前記第1の位置と前記第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、
決定された前記タイプの特徴を示す特徴量を用いて、前記第1の位置及び前記第2の位置それぞれの前記センシングデータの中からそれぞれの特徴点を抽出し、
前記第1の位置及び前記第2の位置それぞれの前記センシングデータにおける前記それぞれの特徴点をマッチングさせることにより前記位置関係を求め、
前記位置関係を用いて、前記第1の位置又は前記第1の位置との相対位置関係が既知である位置及び前記第2の位置又は前記第2の位置との相対位置関係が既知である位置それぞれからの前記物体表面の三次元位置を表す位置データを合成する、ように構成され、
前記特徴選択器は、前記センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、
前記特徴のタイプを決定することは、前記モデルに前記センシングデータを入力して前記モデルからの出力を得ることを含む
演算装置。
【請求項8】
物体表面を表す三次元データの生成処理をコンピュータに実行させるコンピュータプログラムであって、
前記コンピュータに、
移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた前記物体表面のセンシング結果を示すセンシングデータの入力を受け付け、
前記センシングデータから、前記第1の位置と前記第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、
決定された前記タイプの特徴を示す特徴量を用いて、前記第1の位置及び前記第2の位置それぞれの前記センシングデータの中からそれぞれの特徴点を抽出し、
前記第1の位置及び前記第2の位置それぞれの前記センシングデータにおける前記それぞれの特徴点をマッチングさせることにより前記位置関係を求め、
前記位置関係を用いて、前記第1の位置又は前記第1の位置との相対位置関係が既知である位置及び前記第2の位置又は前記第2の位置との相対位置関係が既知である位置それぞれからの前記物体表面の三次元位置を表す位置データを合成する、ことを実行させ、
前記特徴選択器は、前記センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、
前記特徴のタイプを決定することは、前記モデルに前記センシングデータを入力して前記モデルからの出力を得ることを含む
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、三次元データ生成方法、演算装置、及び、コンピュータプログラムに関する。
【背景技術】
【0002】
プラントなどの物体表面の三次元の位置を表す位置データである点群データをセンサによって取得し、点群データを用いて三次元データを生成することが行われている。例えば、下の非特許文献1,2には、撮影による画像データと対象物までの距離データとが得られるRGB-Dカメラをセンサとして用い、物体表面のセンシング結果を用いて物体表面の三次元データを生成するシステムを開示している。
【0003】
RGB-Dカメラを用いる場合、RGB-Dカメラの撮影によって得られた画像データの特徴量から位置データを取得の際のカメラの位置及び姿勢などである位置関係を推定し、推定された位置関係を用いて点群データの合成を行うものである。非特許文献1,2に開示されているような従来の方法では、画像データから位置関係を推定するために用いる特徴のタイプは予め設定され、画像データに関わらず固定されたものである。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Haonan Xu a, Junyi Hou a, Lei Yu a, Shumin Fei著、「3D Reconstruction system for collaborative scanning based on multiple RGB-D cameras」、Pattern Recognition Letters、Volume 128、Pages 505-512、2019年12月
【非特許文献2】Qiang LV1, Huican LIN1, Guosheng WANG1, Heng WEI1, Yang WANG2著、「ORB-SLAM-based Tracing and 3D Reconstruction for Robot using Kinect 2.0」、29th Chinese Control And Decision Conference (CCDC)、Pages 3319-3324、2017年5月
【発明の概要】
【0005】
複数の位置データ間の位置関係を画像データから推定するために用いる適切な特徴のタイプは、画像ごとによって異なる。そのため、非特許文献1,2に開示されているように特徴のタイプが画像データに関わらずに固定されていると、画像データによっては適切な特徴量が得られない場合もある。その結果、画像データによっては、センサの位置関係が精度よく推定されない場合がある。そこで、センサの位置関係が精度よく推定される三次元データ生成方法、演算装置、及び、コンピュータプログラムが望まれる。
【0006】
ある実施の形態に従うと、三次元データ生成方法は、物体表面を表す三次元データを生成する方法であって、移動可能なセンサによって、第1の位置及び第2の位置のそれぞれにて得られた物体表面のセンシング結果を示すセンシングデータの入力を受け付け、センシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、決定されたタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置それぞれのセンシングデータの中からそれぞれの特徴点を抽出し、第1の位置及び第2の位置それぞれのセンシングデータにおけるそれぞれの特徴点をマッチングさせることにより位置関係を求め、位置関係を用いて、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置それぞれからの物体表面の三次元位置を表す位置データを合成する、ことを備え、特徴選択器は、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、特徴のタイプを決定することは、モデルにセンシングデータを入力してモデルからの出力を得ることを含む。
【0007】
ある実施の形態に従うと、演算装置は、物体表面を表す三次元データの生成処理を実行する演算装置であって、移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータの入力を受け付け、センシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、決定されたタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置それぞれのセンシングデータの中からそれぞれの特徴点を抽出し、第1の位置及び第2の位置それぞれのセンシングデータにおけるそれぞれの特徴点をマッチングさせることにより位置関係を求め、位置関係を用いて、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置それぞれからの物体表面の三次元位置を表す位置データを合成する、ように構成され、特徴選択器は、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、特徴のタイプを決定することは、モデルにセンシングデータを入力してモデルからの出力を得ることを含む。
【0008】
ある実施の形態に従うと、コンピュータプログラムは、物体表面を表す三次元データの生成処理をコンピュータに実行させるコンピュータプログラムであって、コンピュータに、移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータの入力を受け付け、センシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、決定されたタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置それぞれのセンシングデータの中からそれぞれの特徴点を抽出し、第1の位置及び第2の位置それぞれのセンシングデータにおけるそれぞれの特徴点をマッチングさせることにより位置関係を求め、位置関係を用いて、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置それぞれからの物体表面の三次元位置を表す位置データを合成する、ことを実行させ、特徴選択器は、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、特徴のタイプを決定することは、モデルにセンシングデータを入力してモデルからの出力を得ることを含む。
【0009】
更なる詳細は、後述の実施形態として説明される。
【図面の簡単な説明】
【0010】
図1図1は、実施の形態に係る三次元データ生成システム(以下、システム)の構成を表した概略図である。
図2図2は、図1のシステムにおいて、センサから演算装置に入力されるデータを説明するための図である。
図3図3は、システムに含まれる演算装置の概略構成図である。
図4図4は、実施の形態に係る三次元データの生成方法の一例を表した図である。
図5図5は、演算装置が用いる特徴選択器の一例であって、第1の例に係る特徴選択器の概略図である。
図6図6は、演算装置が用いる特徴選択器の一例であって、第2の例に係る特徴選択器の概略図である。
図7図7は、演算装置が用いる特徴選択器の一例であって、第3の例に係る特徴選択器の概略図である。
図8図8は、演算装置が用いる特徴選択器の一例であって、第4の例に係る特徴選択器の概略図である。
図9図9は、演算装置が用いる特徴選択器の一例であって、第5の例に係る特徴選択器の概略図である。
図10図10は、演算装置が用いる特徴選択器の一例であって、第6の例に係る特徴選択器の概略図である。
図11図11は、図4のステップS5の位置関係の推定の流れの一例を表した図である。
図12図12は、発明者らが行った、実施の形態に係るシステムでの位置関係の推定の精度を検証する実験で用いた画像対を表した図である。
図13図13は、発明者らが行った、実施の形態に係るシステムでの位置関係の推定の精度を検証する実験結果を表した図である。
【発明を実施するための形態】
【0011】
<1.三次元データ生成方法、演算装置、及び、コンピュータプログラムの概要>
【0012】
(1)実施の形態に係る三次元データ生成方法は、三次元データ生成方法は、物体表面を表す三次元データを生成する方法であって、移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータの入力を受け付け、センシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、決定されたタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置それぞれのセンシングデータの中からそれぞれの特徴点を抽出し、第1の位置及び第2の位置それぞれのセンシングデータにおけるそれぞれの特徴点をマッチングさせることにより位置関係を求め、位置関係を用いて、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置それぞれからの物体表面の三次元位置を表す位置データを合成する、ことを備え、特徴選択器は、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、特徴のタイプを決定することは、モデルにセンシングデータを入力してモデルからの出力を得ることを含む。
【0013】
第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを決定することで、センシング結果に応じて特徴のタイプが得られるようになる。そのため、予め規定された固定の特徴のタイプを用いる場合に比べて、センシング結果に適した特徴のタイプが決定され、位置関係が高精度で得られる。また、そのとき、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含んだ特徴選択器を用いることで、モデルからの出力を得ることで容易に特徴のタイプを決定することができる。
【0014】
センサからのセンシングデータは、一例として、物体表面を含む画像であって、センサは、例えばカメラである。この場合、この方法においては、予め規定された固定の特徴のタイプを用いる方法に比べて位置関係が高精度で得られることは、発明者らによる実験によって検証されている。
【0015】
(2)好ましくは、センシングデータは、センサによって得られた画像データを含む。画像データが得られることで、位置関係を推定するための特徴のタイプを精度よく得ることができる。
【0016】
(3)好ましくは、センサは、対象物に対して撮影によって得られた画像データと表面までの距離を示す距離データとを出力するカメラを含む。カメラは、例えば、RGB-Dカメラである。これにより、センサから、センシングデータとしての画像データと距離データとが得られる。
【0017】
(4)好ましくは、センシングデータは、第1の位置及び第2の位置それぞれにおいてカメラによって撮影された物体を含む画像データであり、位置データは、第1の位置及び第2の位置それぞれにおけるカメラからの物体表面までの距離データから得られた物体表面の三次元座標を示す。これにより、画像データによって第1の位置と第2の位置との位置関係が推定できるとともに、それを用いて三次元座標を合成することによって物体表面を表す三次元データを生成することができる。
【0018】
(5)好ましくは、位置データを合成することは、カメラによって異なる複数の位置で得られた複数の位置データを合成することを含み、カメラによって複数の位置で得られた複数の画像データのうちの隣接する位置で得られた2つの画像データごとに、特徴のタイプを決定し、隣接する位置で得られた画像データの、決定されたそれぞれの特徴のタイプを用いて、隣接する位置の位置関係を求め、位置データを合成することは、隣接する位置ごとの位置関係を用いて、複数の位置データを構成することを含む。画像データごとに特徴のタイプを決定して隣接する位置との位置関係を求めることで、画像に関わらずに固定された特徴のタイプを用いて位置関係を求めるより高精度で位置関係が得られる。その結果、その位置関係を用いて合成することで得られる物体表面を表す三次元データが高品質となる。
【0019】
(6)好ましくは、センサは、対象物を撮影することによって得られた画像データをセンシングデータとして出力し、表面までの距離を示す距離データを位置データとして出力するカメラを含み、センサは、移動しながら複数の時刻それぞれでの画像データ及び位置データを出力し、位置データを合成することは、カメラが移動することによって複数の時刻で得られた複数の位置データを合成することを含み、カメラが移動することによって複数の時刻で得られた複数の画像データのそれぞれについて、画像データと、その得られた時刻の直前の時刻に得られた画像データとから、特徴のタイプを決定し、画像データと、直前の時刻に得られた画像データとについて、決定されたタイプの特徴を示す特徴量を求めて位置関係を求め、位置データを合成することは、複数の時刻それぞれの画像データの直前の時刻の画像データとの位置関係を用いて、複数の位置データを合成することを含む。画像データそれぞれについて特徴のタイプを決定して直前の時刻における画像データとの位置関係を求めることで、画像に関わらずに固定された特徴のタイプを用いて位置関係を求めるより高精度で位置関係が得られる。その結果、その位置関係を用いて合成することで得られる物体表面を表す三次元データが高品質となる。
【0020】
(7)実施の形態に係る演算装置は、物体表面を表す三次元データの生成処理を実行する演算装置であって、移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータの入力を受け付け、センシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、決定されたタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置それぞれのセンシングデータの中からそれぞれの特徴点を抽出し、第1の位置及び第2の位置それぞれのセンシングデータにおけるそれぞれの特徴点をマッチングさせることにより位置関係を求め、位置関係を用いて、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置それぞれからの物体表面の三次元位置を表す位置データを合成する、ように構成され、特徴選択器は、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、特徴のタイプを決定することは、モデルにセンシングデータを入力してモデルからの出力を得ることを含む。
【0021】
演算装置が、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを決定することで、センシング結果に応じて特徴のタイプが得られるようになる。そのため、予め規定された固定の特徴のタイプを用いる演算装置に比べて、センシング結果に適した特徴のタイプが決定され、位置関係が高精度で得られる。また、そのとき、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含んだ特徴選択器を用いることで、モデルからの出力を得ることで容易に特徴のタイプを決定することができる。
【0022】
(8)実施の形態に係るコンピュータプログラムは、物体表面を表す三次元データの生成処理をコンピュータに実行させるコンピュータプログラムであって、コンピュータに、移動可能なセンサによって、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータの入力を受け付け、センシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを特徴選択器によって決定し、決定されたタイプの特徴を示す特徴量を用いて、第1の位置及び第2の位置それぞれのセンシングデータの中からそれぞれの特徴点を抽出し、第1の位置及び第2の位置それぞれのセンシングデータにおけるそれぞれの特徴点をマッチングさせることにより位置関係を求め、位置関係を用いて、第1の位置又は第1の位置との相対位置関係が既知である位置及び第2の位置又は第2の位置との相対位置関係が既知である位置それぞれからの物体表面の三次元位置を表す位置データを合成する、ことを実行させ、特徴選択器は、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含み、特徴のタイプを決定することは、モデルにセンシングデータを入力してモデルからの出力を得ることを含む。
【0023】
コンピュータが、第1の位置及び第2の位置それぞれにて得られた物体表面のセンシング結果を示すセンシングデータから、第1の位置と第2の位置との位置関係を求めるための特徴点を抽出するのに用いる特徴のタイプを決定することで、センシング結果に応じて特徴のタイプが得られるようになる。そのため、予め規定された固定の特徴のタイプを用いる生成処理を行うコンピュータに比べて、センシング結果に適した特徴のタイプが決定され、位置関係が高精度で得られる。また、そのとき、センシングデータが入力されると特徴のタイプを出力するよう機械学習されたモデルを含んだ特徴選択器を用いることで、モデルからの出力を得ることで容易に特徴のタイプを決定することができる。
【0024】
<2.三次元データ生成方法、演算装置、及び、コンピュータプログラムの例>
【0025】
図1は、本実施の形態に係る三次元データ生成システム(以下、システム)100の構成を表した概略図である。システム100は、移動可能なセンサ30を有する。システム100は、演算装置10を有する。センサ30からの信号は、信号変換部50によってセンシング結果を示す信号に変換されて、演算装置10に入力される。演算装置10は、センサ30による物体200の表面についてのセンシング結果を用いて、物体200の表面を表す三次元データの生成処理を実行する。物体200は、例えば工業用配管(パイプ)である。
【0026】
図1の例では、演算装置10にセンサ30が信号変換部50を介して有線にて接続されているが、他の例では、演算装置10とセンサ30とは無線通信を行ってもよい。また、信号変換部50は、演算装置10に含まれていてもよい。
【0027】
センサ30は、撮影機能と距離測定機能とを有して物体200の表面をセンシングし、センシング結果を示す信号を信号変換部50に出力する。一例として、センサ30は、RGB-Dカメラ31を含む。RGB-Dカメラ31は、カラー(RGB)画像を得るRGBカメラと、物体200の表面までの距離(D)を画像として取得可能なDepthカメラと、を含んで、物体200の表面を含むカラー(RGB)画像と、物体200の表面までの距離とをセンシング結果を示すセンシングデータとして出力する。
【0028】
信号変換部50から演算装置10には、物体200の表面を含むカラー画像を表す画像データと、物体200の表面までの距離を表す距離データとが入力される。距離データは、一例として、物体200の表面の複数の点の三次元位置を表す点群データである。
【0029】
センサ30は、RGB-Dカメラ31に替えて他のセンサを含んでもよい。例えば、RGBカメラとDepthカメラとが、相対位置関係が既知の異なるセンサであってもよい。この場合、後述する三次元データの生成処理において、上記の相対位置関係を用いてカラー(RGB)画像と物体200の表面までの距離との一方を変換すればよい。
【0030】
センサ30の移動は、一例として、センサ30に含まれるRGB-Dカメラ31の移動を含む。センサ30の移動は、他の例として、システム100全体の移動を含んでもよいし、センサ30の移動とシステム100全体の移動との組み合せであってもよい。
【0031】
センサ30は、RGB-Dカメラ31を移動させる駆動部32を有する。駆動部32は、例えばモータなどであって、後述する処理によって出力された演算装置10からの制御信号に従って動作する。すなわち、RGB-Dカメラ31は、演算装置10での制御に従って移動する。これにより、RGB-Dカメラ31は、物体200に対する相対位置が変化する。センサ30が移動しながらセンシングすることによって、物体200に対して異なる複数の位置のRGB-Dカメラ31からのセンシングデータが得られる。
【0032】
センサ30の移動は、図1の例では、RGB-Dカメラ31の鉛直方向の中心軸を回転中心としたX回転、及び、水平面に設定されたY軸並びにZ軸に平行な方向への移動のうちの少なくとも1つを含む。例えば、水平面内で移動することなくX回転のみの場合も、センサ30の移動に含まれる。具体的には、システム100を固定し、RGB-Dカメラ31をX回転のみさせる場合も、センサ30の移動に含まれる。
【0033】
図2は、センサ30から信号変換部50を介して演算装置10に入力されるデータを説明するための図である。センサ30は、移動しながらRGB-Dカメラ31によって同時刻にカラー画像と距離とをセンシングし、センシング結果を示すセンシングデータとして、得られた画像データと点群データ(距離データ)とを信号変換部50を介して演算装置10に入力する。
【0034】
図2では、横軸が時刻を表し、時刻(k-1),k,(k+1),…に、それぞれ、画像データI(k-1)及び点群データP(k-1)、画像データI(k)及び点群データP(k)、画像データI(k+1)及び点群データP(k+1)、…が得られて、演算装置10に入力されることを表している。時刻(k-1)で得られた画像データI(k-1)は第1の位置にて得られたセンシング結果、時刻kで得られた画像データI(k)は第2の位置にて得られたセンシング結果である。時刻(k-1)で得られた点群データP(k-1)、及び、時刻kで得られた点群データP(k)は、第1の位置及び第2の位置それぞれからの物体200の表面の案次元位置を表す位置データである。
【0035】
図3は、演算装置10の概略構成図である。演算装置10は、プロセッサ11とメモリ12とを有するコンピュータで構成される。演算装置10は、1台のコンピュータによって構成されるものであってもよいし、複数台のコンピュータが協働して構成されていてもよい。1又は複数の装置は、一般的なコンピュータであってよい。演算装置10は、少なくとも一部がネットワーク上のサーバであってもよい。
【0036】
演算装置10は、一例として、1台のコンピュータによって構成されている。演算装置10は、プロセッサ11とメモリ12とを有する。プロセッサ11は、例えば、CPU(Central Processing Unit)である。メモリ12は、プログラム121を記憶している。また、メモリ12は、センサ30からの画像データ及び点群データを記憶するためのセンシングデータ記憶部122を有する。また、メモリ12は、後述するマージデータを記憶するためのマージデータ記憶部123を有する。
【0037】
演算装置10は、センサインタフェース(I/F)13を有し、センサ30と接続されている。詳しくは、演算装置10は、センサI/F13によって、信号変換部50を介してRGB-Dカメラ31と接続されている。これにより、RGB-Dカメラ31で得られた画像データ及び点群データが入力される。また、演算装置10は、センサI/F13によって駆動部32と接続されている。これにより、プロセッサ11は後述する駆動処理113に従って制御信号を駆動部32に対して出力することができる。
【0038】
プログラム121は、プロセッサ11に三次元データ生成処理111を実行させる。三次元データ生成処理111は、後述する特徴選択器112を用いて、センサ30からの画像データ及び点群データに基づいて物体200の表面を表す三次元データを生成する処理である。三次元データ生成処理111の詳細は後述する。
【0039】
また、プログラム121は、プロセッサ11に駆動処理113を実行させる。駆動処理113は、センサ30を移動させるために駆動部32を駆動させる処理である。一例として、演算装置10は図示しない操作部を有してユーザ操作を受け付けて、ユーザ操作によって指定された移動をセンサ30に行わせる駆動部32の制御量を、駆動部32に指示する。これにより、指定された移動をセンサ30に行わせることができる。
【0040】
また、プログラム121は、プロセッサ11に出力処理114を実行させる。出力処理114は、三次元データ生成処理111によって生成された三次元データを出力する処理であって、一例として、演算装置10の有するディスプレイ14に表示させることを含む。他の例として、演算装置は図示しない通信装置を有して、三次元データを指定された宛先に送信してもよい。
【0041】
図4は、本実施の形態に係る三次元データの生成方法の一例を表した図である。図3の三次元データの生成方法は、演算装置10のプロセッサ11が三次元データ生成処理111を実行することによって実現される。
【0042】
三次元データの生成方法は、時刻kでRGB-Dカメラ31によって得られた画像データI(k)と点群データP(k)との入力を受け付けること(ステップS1)を含む。演算装置10のプロセッサ11は、ステップS1で入力された画像データI(k)と点群データP(k)を、センシングデータ記憶部122に記憶させる(ステップS2)。これにより、異なる時刻で得られた、つまり、異なる位置で得られた画像データ及び点群データが、センシングデータ記憶部122に記憶される。
【0043】
三次元データの生成方法は、隣接する第1の位置と第2の位置とで得られた画像データI(k-1),I(k)ごとに、これら画像データI(k-1),I(k)から第1の位置と第2の位置との位置関係を推定するための特徴のタイプを決定すること(ステップS3)を含む。ステップS3では、プロセッサ11は、センシングデータ記憶部122から隣接する第1の位置と第2の位置とで得られた画像データI(k-1),I(k)を読み出し、特徴選択器112を用いて特徴のタイプを決定する。
【0044】
特徴選択器112は、第1の位置と第2の位置とで得られた画像データI(k-1),I(k)が入力されると、これら画像データから第1の位置と第2の位置との位置関係を推定するための特徴のタイプを出力するよう機械学習されたモデルを含む。特徴選択器112は、プロセッサ11が予め記憶しているものであってもよいし、他の装置に記憶されていてプロセッサ11がアクセスするものであってもよい。ステップS3においてプロセッサ11は、第1の位置と第2の位置とで得られた画像データI(k-1),I(k)を特徴選択器112に入力し、特徴選択器112からの出力を得る。
【0045】
図5は、第1の例に係る特徴選択器112Aの概略図である。特徴選択器112Aは、画像データI(k-1),I(k)それぞれの入力を受け付けて特徴を抽出する初期ブロック21と、初期ブロック21からの出力をそれぞれ受ける反復型ブロック(Shuttle-shaped Block)22と、画像データI(k-1)についての反復型ブロック22からの出力と画像データI(k)についての反復型ブロック22からの出力とを統合する統合ブロック23と、統合ブロック23からの出力を分類する分類器24と、を含む。特徴選択器112Aにおいて、画像データI(k-1)についての反復型ブロック22と画像データI(k)についての反復型ブロック22とは、ウェイトシェアリングを行う。これにより、パラメータを削減できる。
【0046】
反復型ブロック22は、複数個、直列に設けられていてもよい。後述の他の例でも同様である。特徴選択器112Aにおいて、第1反復型ブロック22A及び第2反復型ブロック22Bが直列に設けられている。統合ブロック23は、画像データI(k-1)及び画像データI(k)それぞれの第1反復型ブロック22Aからの出力を統合することと、画像データI(k-1)及び画像データI(k)それぞれの第2反復型ブロック22Bからの出力を統合すること、の両方を行ってもよい。この場合、第1反復型ブロック22Aからの出力の統合結果を分類する分類器24は補助トレーニングモジュールとして機能して、補助データD1を出力する。第2反復型ブロック22Bからの出力の統合結果を分類する分類器24は、特徴のタイプを識別するデータDを出力する。
【0047】
反復型ブロック22は、チャンネル数を調整するものであって、一例として、畳み込み(Conv)層と、ボトルネック層と、展開率が6であるReLU層と、空間方向の畳み込み(DW)層と、の組み合わせで構成される。この組み合わせは、好ましくは、出力値の精度を保ちつつ計算量を削減する組み合わせである。
【0048】
画像データから第1の位置と第2の位置との位置関係を推定することは、2つの画像における特徴点の位置関係を求めることを含む。画像の特徴点は、画像認識において用いられる、その画像の特徴を表した点に相当する。その特徴は、例えば、ORB(Oriented FAST and Rotated BRIEF)特徴、SURF(Speeded-Up Robust Features)特徴、BRISK(Binary Robust Invariant Scalable Keypoints)特徴、MSER特徴、KAZE特徴などが知られている。
【0049】
特徴選択器112から出力されるデータDは、入力された2つの画像に適した特徴点、つまり、用いる特徴を示している。図5の例では、「ORB-ORB」は、両画像についてORB特徴点を抽出して特徴量を算出し、比較することを指す。「SURF-SURF」は、両画像についてSURF特徴点を抽出して特徴量を算出し、比較することを指す。「SURF-BRISK」は、一方の画像についてSURF特徴点を抽出して特徴量を算出し、他方の画像についてBRISK特徴点を抽出して特徴量を算出し、これらを比較することを指す。「MSER-SURF」は、一方の画像についてMSER特徴点を抽出して特徴量を算出し、他方の画像についてSURF特徴点を抽出して特徴量を算出し、これらを比較することを指す。「KAZE-KAZE」は、両画像についてKAZE特徴点を抽出して特徴量を算出し、比較することを指す。図5の例では、画像データI(k-1),I(k)を特徴選択器112に入力したところ、特徴選択器112から「KAZE-KAZE」を示すデータDが出力されたことを表している。
【0050】
なお、図5の第1の例に係る特徴選択器112Aは特徴選択器112の一例であって、特徴選択器112は特徴選択器112Aに限定されない。図6図10は、他の例として、第2の例に係る特徴選択器112B~第6の例に係る特徴選択器112Fを概略図である。特徴選択器112は、例えば、これら特徴選択器112B~特徴選択器112Fのうちのいずれかであってもよい。
【0051】
詳しくは、第2の例に係る特徴選択器12Bは、特徴選択器112Aから補助トレーニングモジュールを除いた構成を有する。第3の例に係る特徴選択器12Cは、特徴選択器112Aから補助トレーニングモジュール及びウェイトシェアリングを除いた構成を有する。第4の例に係る特徴選択器12Dは、第3の例に係る特徴選択器12Cの第1反復型ブロック22A及び第2反復型ブロック22Bに替えて、第1残差ブロック25A及び第2残差ブロック25Bを含む。第5の例に係る特徴選択器12Eは、特徴選択器112Aから補助トレーニングモジュールを除いた構成を有し、さらに、初期ブロック21と反復型ブロック22との間、及び、第1反復型ブロック22Aと第2反復型ブロック22Bとの間にECA(efficient channel attention)モジュール26が配置されている。第6の例に係る特徴選択器12Fは、第5の例に係る特徴選択器12EのECAモジュール26に替えてチャネルシャッフルモジュール27が配置されている。
【0052】
三次元データの生成方法は、ステップS3で決定された特徴のタイプを用いて、第1の位置と第2の位置との位置関係を推定すること(ステップS5)を含む。図11は、ステップS5の位置関係の推定の流れの一例を表した図である。
【0053】
演算装置10のプロセッサ11は、画像データI(k-1),I(k)それぞれについて、ステップS3で決定した特徴を用いて特徴量F(k-1),F(k)を算出し、特徴量に基づいて特徴点を抽出する(ステップS11)。次に、プロセッサ11は、画像データI(k-1),I(k)それぞれから得られた特徴点をマッチングし(ステップS12)、その結果を用いて位置関係を特定する(ステップS13)。
【0054】
一例として、特徴量F(k-1),F(k)をマッチングすることによって、ステップS12では、画像データI(k-1),I(k)に含まれる同一物体が検出される。図11の例では、画像データI(k-1),I(k)それぞれから物体500が検出される。
【0055】
ステップS13では、画像データI(k-1)における物体500の形状500Aと、画像データI(k)における物体500の形状500B、すなわち、画像データI(k-1),I(k)中の物体500の姿勢を比較することで、画像データI(k-1)中の物体500に対する画像データI(k)中の物体500の角度変化や移動量が得られる。
【0056】
プロセッサ11は、画像データI(k-1)中の物体500に対する画像データI(k)中の物体500の角度変化や移動量を用いて、第1の位置と第2の位置との位置関係を算出する。図11の例では、形状500Aと形状500Bとを比較することによって、位置C1と位置2との関係が得られる。第1の位置と第2の位置との位置関係は、第1の位置から第2の位置へのセンサ30の移動を表した移動データに相当する。移動データは、移動方向及び移動距離であってもよいし、移動角度であってもよいし、それらの組み合わせであってもよい。
【0057】
三次元データの生成方法は、ステップS5で推定された第1の位置と第2の位置との位置関係を用いて、点群データP(k)を合成する(ステップS6)ことを含む。ステップS6でプロセッサ11は、マージデータ記憶部123から、点群データP(k-1)までの点群データを合成して得られたマージデータM(k-1)を読み出し、マージデータM(k-1)と点群データP(k)を合成してマージデータM(k)を得る。
【0058】
このとき、プロセッサ11は、ステップS5で推定された第1の位置と第2の位置との位置関係を用いて点群データP(k)を変換してマージデータM(k-1)と合成する。具体的には、プロセッサ11は、第2の位置を第1の位置と一致させるように点群データP(k)を変換した上でマージデータM(k-1)と合成する。
【0059】
ステップS6で得られたマージデータM(k)は、マージデータ記憶部123に記憶される(ステップS7)。マージデータM(k)は、マージデータM(k-1)に上書きされてもよい。
【0060】
三次元データの生成方法では、ステップS1~ステップS7が繰り返し行われる。又は、三次元データの生成方法では、物体200についての画像データ及び点群データが予めすべてセンシングデータ記憶部122に記憶されており、ステップS3~S7が繰り返し行われてもよい。
【0061】
これにより、本システム100では、センサ30が移動しながら複数の時刻それぞれでの画像データ及び位置データを出力し、センシングデータ記憶部122に記憶される。センサ30が移動することによって複数の時刻で得られた複数の画像データのそれぞれについて、画像データと、その得られた時刻の直前の時刻に得られた画像データとから、位置関係を推定するために用いる特徴のタイプが決定される。これにより、画像データごとに、その得られた時刻の直前の時刻に得られた画像データとのセンサ30の位置関係を得るために用いる特徴のタイプが決定され、画像ごとに最適なタイプの特徴量が得られるようになる。
【0062】
発明者らは、システム100での位置関係の推定の精度の検証のため、システム100での推定方法と他の推定方法とでの精度を比較する実験を行った。システム100での推定方法としては、特徴選択器112Aを用いた。
【0063】
比較対例に係る推定方法は従来のシステムにおいて行われていた推定方法であって、画像に関わらず全ての画像データに対して予め規定した特徴を用いて特徴量を算出することで位置関係を推定する方法である。具体的には、全ての画像データにSURF特徴を適用して特徴量を算出する方法、KAZE特徴を適用して特徴量を算出する方法、及び、事前学習された、ニューラルネットワークによる特徴量算出手法であるSuperPointを用いて特徴量を算出する方法を比較例とした。
【0064】
実験に用いた画像は、図12に示された、直線パイプの3組の画像対、他のタイプのパイプの3組の画像対、及び、特殊な状況の3組の画像対である、Scene1~9の画像対(シーン)である。図12のScene1~9のそれぞれの左右の画像の位置関係を推定した。
【0065】
精度を比較するための評価指標Accuracyは下の式(1)で定義される。係数aは、ここでは、図の傾向を示すための0.5に設定されている。式(1)において用いられている相対誤差Eは、推定された回転行列から計算された回転角θEと実測された回転角θGTとの間の誤差であって、下の式(2)で得られる。
Accuracy=a^E …(1)
E=(│θE-θGT│)/θGT×100[%] …(2)
【0066】
評価指標Accuracyは、値が大きいほど位置関係の推定精度が高く、値が小さいほど精度が低いことを表している。評価指標Accuracyの値が0のときは、用いた推定方法がこの画像の位置関係の推定には機能しない方法であることを示している。
【0067】
図13は、シーンごとに算出された、各方法での評価指標Accuracyを表している。上図の結果L1は、本システム100での方法でのScene1~9の位置関係を推定した際のそれぞれの評価指標Accuracyを表している。下図の結果L2~L4は、それぞれ、比較例でのSURF特徴を用いた結果、KAZE特徴を用いた結果、及び、SuperPointを用いた結果を表している。
【0068】
図13の結果L2~L4より、シーンごとに精度の高い推定方法が異なることがわかる。すなわち、シーン1~6では結果L2~L4のうちの結果L2の値が高いため、これら方法の中ではSURF特徴を用いた方法が精度が一番高いことが分かる。一方、シーン7~9では結果L2~L4のうちの結果L3の値が高いため、これら方法の中ではKAZE特徴を用いた方法が精度が一番高いことが分かる。結果L4に示されるSuperPointを用いた方法は、シーン4,6で結果L2の値に近く、概ね精度が高いことが分かる。従って、従来のシステムで行われていたように、画像に関わらず1つの特徴を用いた場合、画像によっては精度が低くなったり位置関係の推定には機能しなかったりすることが分かった。
【0069】
これに対して、結果L1では、各シーンについて、結果L2~L4より値が高い。具体的には、シーン1~6ではSURF特徴を用いた場合の結果L2の値と等しく、シーン7~9ではKAZE特徴を用いた場合の結果L3の値と等しい。これより、システム100の方法では、シーン1~6それぞれの2つの画像データを特徴選択器112Aに入力したときにSURF特徴が出力され、シーン7~9それぞれの2つの画像データを特徴選択器112Aに入力したときにKAZE特徴が出力されたことが分かる。従って、この実験より、システム100の方法では、画像に関わらず1つの特徴を用いた場合より高精度で位置関係が推定されることが検証された。
【0070】
以上の説明では、一例として、センサ30からセンシング結果として得られた画像データを用いて位置関係を推定するための特徴のタイプを求め、第1の位置と第2の位置との位置関係を推定するものとしている。センサ30からの位置データである点群データを用いるよりデータ量が多いため、精度よく特徴のタイプが得られる。
【0071】
他の例として、センサ30からの位置データである点群データを用いて特徴のタイプを求め、第1の位置と第2の位置との位置関係を推定してもよい。例えば、点群データから画像を生成し、その画像を用いて特徴のタイプを求めて位置関係を推定してもよい。これにより、センサ30は点群データのみ得られるものとすることができる。
【0072】
<3.付記>
本発明は、上記実施形態に限定されるものではなく、様々な変形が可能である。
【符号の説明】
【0073】
10 :演算装置
11 :プロセッサ
12 :メモリ
12B :特徴選択器
12C :特徴選択器
12D :特徴選択器
12E :特徴選択器
12F :特徴選択器
13 :センサI/F
14 :ディスプレイ
21 :初期ブロック
22 :反復型ブロック
22A :第1反復型ブロック
22B :第2反復型ブロック
23 :統合ブロック
24 :分類器
25A :第1残差ブロック
25B :第2残差ブロック
26 :ECAモジュール
27 :チャネルシャッフルモジュール
30 :センサ
31 :RGB-Dカメラ
32 :駆動部
50 :信号変換部
100 :システム
111 :三次元データ生成処理
112 :特徴選択器
112A :特徴選択器
112B :特徴選択器
112F :特徴選択器
113 :駆動処理
114 :出力処理
121 :プログラム
122 :センシングデータ記憶部
123 :マージデータ記憶部
200 :物体
500 :物体
500A :形状
500B :形状
D :データ
D1 :補助データ
F :特徴量
I :画像データ
L1 :結果
L2 :結果
L3 :結果
L4 :結果
M :マージデータ
P :点群データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13