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

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

▶ 富士フイルム株式会社の特許一覧

特許7615126点群データ処理装置、点群データ処理方法、及びプログラム
<>
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図1
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図2
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図3
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図4
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図5
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図6
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図7
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図8
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図9
  • 特許-点群データ処理装置、点群データ処理方法、及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-07
(45)【発行日】2025-01-16
(54)【発明の名称】点群データ処理装置、点群データ処理方法、及びプログラム
(51)【国際特許分類】
   G06T 7/60 20170101AFI20250108BHJP
   G01B 11/00 20060101ALI20250108BHJP
   G06V 20/64 20220101ALI20250108BHJP
【FI】
G06T7/60 300Z
G01B11/00 H
G06V20/64
【請求項の数】 7
(21)【出願番号】P 2022511670
(86)(22)【出願日】2021-03-01
(86)【国際出願番号】 JP2021007592
(87)【国際公開番号】W WO2021199822
(87)【国際公開日】2021-10-07
【審査請求日】2022-12-16
(31)【優先権主張番号】P 2020060463
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】100140992
【弁理士】
【氏名又は名称】松浦 憲政
(74)【代理人】
【識別番号】100170069
【弁理士】
【氏名又は名称】大原 一樹
(74)【代理人】
【識別番号】100128635
【弁理士】
【氏名又は名称】松村 潔
(74)【代理人】
【識別番号】100153822
【弁理士】
【氏名又は名称】増田 重之
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(72)【発明者】
【氏名】岩見 一央
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2003-194530(JP,A)
【文献】特開2003-076994(JP,A)
【文献】特開2019-168226(JP,A)
【文献】特開2004-294234(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
G06V 20/64
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
検出対象の第1の物体を被写体とした画像と、少なくとも前記第1の物体の表面上の多数の点を含む三次元情報を表す点群データとを、前記画像を構成する画素の位置と前記点群データを構成する各点データとを関連付けて記憶するメモリ、及びプロセッサを備える点群データ処理装置であって、
前記プロセッサは、
前記第1の物体の形状の特徴を示す第1の形状情報を取得し、
前記画像により判別される第2の物体であって、前記第1の形状情報に対応する前記第2の物体の物体領域を特定し、
前記物体領域に基づいて、前記点群データのうち前記物体領域に対応する第2の物体点群データを選択し、
前記第2の物体点群データに基づいて、前記第2の物体の形状の特徴を示す第2の形状情報を取得し、
前記第1の形状情報と前記第2の形状情報とを比較して、前記第2の物体が前記第1の物体であるか否かの判定を行う、点群データ処理装置であって、
前記第1の物体の形状は円筒形状であり、
前記プロセッサは、前記第2の物体点群データに基づいて、ハフ変換処理、RANSACアルゴリズム、及び機械学習が行われた検出器のうち少なくとも一つにより、前記第2の形状情報を取得する点群データ処理装置
【請求項2】
前記プロセッサは、前記判定の結果に基づいて、前記第2の物体点群データに属性を付与する請求項1に記載の点群データ処理装置。
【請求項3】
前記プロセッサは、前記判定の結果を表示部に表示させる請求項1又は2に記載の点群データ処理装置。
【請求項4】
前記第1の形状情報は、前記第1の物体の形状の種類に関する情報、前記第1の物体の表面に関する情報、及び前記第1の物体のサイズに関する情報のうち少なくとも一つである請求項1から3のいずれか1項に記載の点群データ処理装置。
【請求項5】
前記第1の物体は配管である請求項1から4のいずれか1項に記載の点群データ処理装置。
【請求項6】
検出対象の第1の物体を被写体とした画像と、少なくとも前記第1の物体の表面上の多数の点を含む三次元情報を表す点群データとを、前記画像を構成する画素の位置と前記点群データを構成する各点データとを関連付けて記憶するメモリ、及びプロセッサを備える点群データ処理装置を使用した点群データ処理方法であって、
前記プロセッサにより、
前記第1の物体の形状の特徴を示す第1の形状情報を取得するステップと、
前記画像により判別される第2の物体であって、前記第1の形状情報に対応する前記第2の物体の物体領域を特定するステップと、
前記物体領域に基づいて、前記点群データのうち前記物体領域に対応する第2の物体点群データを選択するステップと、
前記第2の物体点群データに基づいて、前記第2の物体の形状の特徴を示す第2の形状情報を取得するステップと、
前記第1の形状情報と前記第2の形状情報とを比較して、前記第2の物体が前記第1の物体であるか否かの判定を行うステップと、を含む点群データ処理方法であって、
前記第1の物体の形状は円筒形状であり、
前記プロセッサは、前記第2の物体点群データに基づいて、ハフ変換処理、RANSACアルゴリズム、及び機械学習が行われた検出器のうち少なくとも一つにより、前記第2の形状情報を取得する点群データ処理方法。
【請求項7】
検出対象の第1の物体を被写体とした画像と、少なくとも前記第1の物体の表面上の多数の点を含む三次元情報を表す点群データとを、前記画像を構成する画素の位置と前記点群データを構成する各点データとを関連付けて記憶するメモリ、及びプロセッサを備える点群データ処理装置に点群データ処理方法を行わせるプログラムであって、
前記プロセッサに、
前記第1の物体の形状の特徴を示す第1の形状情報を取得するステップと、
前記画像により判別される第2の物体であって、前記第1の形状情報に対応する前記第2の物体の物体領域を特定するステップと、
前記物体領域に基づいて、前記点群データのうち前記物体領域に対応する第2の物体点群データを選択するステップと、
前記第2の物体点群データに基づいて、前記第2の物体の形状の特徴を示す第2の形状情報を取得するステップと、
前記第1の形状情報と前記第2の形状情報とを比較して、前記第2の物体が前記第1の物体であるか否かの判定を行うステップと、を行わせるプログラムであって、
前記第1の物体の形状は円筒形状であり、
前記プロセッサに、前記第2の物体点群データに基づいて、ハフ変換処理、RANSACアルゴリズム、及び機械学習が行われた検出器のうち少なくとも一つにより、前記第2の形状情報を取得させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、点群データ処理装置、点群データ処理方法、及びプログラムに関する。
【背景技術】
【0002】
レーザースキャナー等により、物体の表面での反射を利用し、物体の表面の三次元情報を有する多数の点で構成される点群データを取得する技術が知られている。また、レーザースキャナー等で取得された物体の点群データを構成する各点データは、同じ物体を撮影した画像を構成する各画素に対応させることができる。
【0003】
特許文献1には、カメラで撮影した画像において標識の領域を特定し、その領域に対応する点群データを抽出し、抽出した点群データに基づいて画像に写っている標識の位置、標識の大きさを特定する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2012-83157号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、特許文献1に記載された技術のように、画像において検出対象の物体(特許文献1の技術では標識)が写っている領域を特定する場合を考える。画像において検出対象の物体を特定する場合には、画像は二次元情報であるために、正確に所望の検出対象である物体が写っている領域を特定することが困難な場合がある。例えば、二次元情報である画像は、三次元情報から奥行き方向の情報が失われているので、画像の視点によっては円筒と立方体の区別が困難になる場合がある。特許文献1では、このような画像における領域の特定における問題には言及されていない。
【0006】
本発明はこのような事情に鑑みてなされたもので、その目的は、検出対象である物体の領域を画像において特定する場合に、特定結果の正誤を得ることができ、有効に特定結果を利用することができる点群データ処理装置、点群データ処理方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
上記目的を達成するための本発明の一の態様である点群データ処理装置は、検出対象の第1の物体を被写体とした画像と、少なくとも第1の物体の表面上の多数の点を含む三次元情報を表す点群データとを、画像を構成する画素の位置と点群データを構成する各点データとを関連付けて記憶するメモリ、及びプロセッサを備える点群データ処理装置であって、プロセッサは、第1の物体の形状の特徴を示す第1の形状情報を取得し、画像により判別される第2の物体であって、第1の形状情報に対応する第2の物体の物体領域を特定し、物体領域に基づいて、点群データのうち物体領域に対応する第2の物体点群データを選択し、第2の物体点群データに基づいて、第2の物体の形状の特徴を示す第2の形状情報を取得し、第1の形状情報と第2の形状情報とを比較して、第2の物体が第1の物体であるか否かの判定を行う。
【0008】
本態様によれば、検出対象の第1の物体の形状の特徴を示す第1の形状情報が取得され、また、画像により判別された第1の物体に対応する第2の物体の物体領域に対応する第2の物体点群データが選択され、第2の物体点群データに基づいて第2の形状情報が取得される。そして、本態様は、第1の形状情報と第2の形状情報とを比較することにより、画像において特定された第2の物体が検出対象である第1の物体であるか否かの判定を行うので、領域の特定結果の正誤を得ることができ、有効に領域の特定結果を利用することができる。
【0009】
好ましくは、プロセッサは、判定の結果に基づいて、第2の物体点群データに属性を付与する。
【0010】
好ましくは、プロセッサは、判定の結果を表示部に表示させる。
【0011】
好ましくは、第1の形状情報は、第1の物体の形状の種類に関する情報、第1の物体の表面に関する情報、及び第1の物体のサイズに関する情報のうち少なくとも一つである。好ましくは、第1の物体の形状は円筒形状である。
【0012】
好ましくは、プロセッサは、第2の物体点群データに基づいて、ハフ変換処理、RANSACアルゴリズム、及び機械学習が行われた検出器のうち少なくとも一つにより、第2の形状情報を取得する。好ましくは、第1の物体は配管である。
【0013】
本発明の他の態様である点群データ処理方法は、検出対象の第1の物体を被写体とした画像と、少なくとも第1の物体の表面上の多数の点を含む三次元情報を表す点群データとを、画像を構成する画素の位置と点群データを構成する各点データとを関連付けて記憶するメモリ、及びプロセッサを備える点群データ処理装置を使用した点群データ処理方法であって、プロセッサにより、第1の物体の形状の特徴を示す第1の形状情報を取得するステップと、画像により判別される第2の物体であって、第1の形状情報に対応する第2の物体の物体領域を特定するステップと、物体領域に基づいて、点群データのうち物体領域に対応する第2の物体点群データを選択するステップと、第2の物体点群データに基づいて、第2の物体の形状の特徴を示す第2の形状情報を取得するステップと、第1の形状情報と第2の形状情報とを比較して、第2の物体が第1の物体であるか否かの判定を行うステップと、を含む。
【0014】
本発明の他の態様であるプログラムは、検出対象の第1の物体を被写体とした画像と、少なくとも第1の物体の表面上の多数の点を含む三次元情報を表す点群データとを、画像を構成する画素の位置と点群データを構成する各点データとを関連付けて記憶するメモリ、及びプロセッサを備える点群データ処理装置に点群データ処理方法を行わせるプログラムであって、プロセッサに、第1の物体の形状の特徴を示す第1の形状情報を取得するステップと、画像により判別される第2の物体であって、第1の形状情報に対応する第2の物体の物体領域を特定するステップと、物体領域に基づいて、点群データのうち物体領域に対応する第2の物体点群データを選択するステップと、第2の物体点群データに基づいて、第2の物体の形状の特徴を示す第2の形状情報を取得するステップと、第1の形状情報と第2の形状情報とを比較して、第2の物体が第1の物体であるか否かの判定を行うステップと、を行わせる。
【発明の効果】
【0015】
本発明によれば、第1の形状情報と第2の形状情報とを比較することにより、画像において特定された領域が検出対象である第1の物体であるか否かの判定を行うので、領域の特定結果の正誤判定を得ることができ、有効に領域の特定結果を利用することができる。
【図面の簡単な説明】
【0016】
図1図1は、物体を異なる視点撮影した画像を示す図である。
図2図2は、点群データ処理装置の機能構成例を示すブロック図である。
図3図3は、点群データ処理装置に入力される画像及び点群データが三次元計測器1で取得される一態様を示す概念図である。
図4図4は、三次元計測器に搭載されるレーザースキャナー及び撮影装置を説明する概念図である。
図5図5は、画像と点群データとが対応する位置関係を有することを説明する概念図である。
図6図6は、点群データ処理方法を示すフローチャートである。
図7図7は、物体領域が特定された場合を示す図である。
図8図8は、物体領域に基づいて、選択される点群データに関して説明する図である。
図9図9は、第2の形状情報取得部で行われる円筒検出の一例を説明する図である。
図10図10は、RANSACアルゴリズムを用いて行われる円筒検出について説明する図である。
【発明を実施するための形態】
【0017】
以下、添付図面にしたがって本発明に係る点群データ処理装置、点群データ処理方法、及びプログラムの好ましい実施の形態について説明する。
【0018】
先ず、本発明が有効に適用される場合について説明する。二次元データである画像により三次元形状を有する検出対象である物体を特定する場合には、画像においては次元が縮退されることにより、誤検出が発生してしまう場合がある。
【0019】
図1は、直方体形状を有する物体Vと円筒形状を有する物体Wとを異なる視点で撮影した画像U1及び画像U2を示す図である。以下の説明では、例えば配管又はパイプなどの円筒形状を有する物体(第1の物体)を検出する場合を説明する。
【0020】
図1(A)では、物体Vと物体WとのX-Z平面を撮影した画像U1が示されており、図1(B)では、物体Vと物体WとのX-Y平面を撮影した画像U2が示されている。
【0021】
図1(A)に示す画像U1では、それぞれ異なる形状を有するにもかかわらず、物体V及び物体Wは同じ長方形の領域(物体領域V(1)及び物体領域V(2))として写っている。したがって、手動又は自動により画像U1に基づいて物体V及び物体Wを判別する場合には、物体領域V(1)及び物体領域V(2)は同じ形状を有する物体の領域として判別されてしまう場合がある。しかしながら、図1(B)に示す画像U2では、物体領域V(2)及び物体領域W(2)は異なる形状を示し、物体Vと物体Wは異なる形状を有することが分かる。
【0022】
円筒形状を有する物体を検出する場合には、画像U1に基づいて物体V及び物体Wが円筒形状を有すると判別され、画像U1においてそれぞれ領域(物体領域V(1)及び物体領域W(1))が特定されてしまうことがある。この場合、物体Wは円筒形状を有するので物体領域W(1)に関しては適切な検出となるが、物体Vは直方体形状を有するため物体領域V(1)の特定は誤った検出となる。このように、検出対象ではない物体の領域が誤って特定されてしまう場合を含むような特定結果は、有効に利用することができない。したがって、本発明では、このような画像U1に基づいて判別され、特定された領域の正誤判定を行う技術を提案する。
【0023】
図2は、本発明に係る点群データ処理装置11の機能構成例を示すブロック図である。点群データ処理装置11は、例えばコンピュータにより構成される。点群データ処理装置11は、三次元計測器1(図3を参照)に搭載されてもよいし、三次元計測器1とは別体のコンピュータにより構成されてもよい。
【0024】
点群データ処理装置11は、画像取得部13、点群データ取得部15、制御部17、表示制御部19、操作部23、及び記憶部(メモリ)21を備える。なお図示は省略するが、点群データ処理装置11は、通常のコンピュータが備えるハードウェア構成を備えている。
【0025】
画像取得部13は、検出対象である第1の物体を被写体として撮影した画像5を取得する。画像取得部13は、コンピュータのデータ入力部で構成される。また、点群データ取得部15は、検出対象である第1の物体の表面の多数の点を含む三次元情報を表す点群データを取得する。画像取得部13及び点群データ取得部15は、コンピュータのデータ入力部で構成される。
【0026】
ここで、画像5を構成する各画素の位置と、点群データ7を構成する各点データの三次元情報とは対応している。ここで点群データ7は、多数の点で構成され、その各点は物体の表面で反射した箇所の三次元情報(三次元座標)を有する。なお、画像5と点群データ7との対応関係に関しては後で詳しく説明する。
【0027】
制御部17は、コンピュータに搭載されるCPU(プロセッサ)(Central Processing Unit)(図示せず)が、例えば記憶部21に記憶されるプログラムを実行することにより実現する。
【0028】
制御部17は、第1の形状情報取得部31、物体領域特定部33、点群データ選択部35、第2の形状情報取得部37、判定部39、及び属性付与部41を備える。
【0029】
表示制御部19は、CPUが記憶部21に記憶されたプログラムを実行することにより実現される。表示制御部19は表示部9への表示を制御する。例えば、表示部9には点群データや画像が表示される。また表示部9には、判定部39で行われた判定結果を表示しユーザに報知を行うことができる。
【0030】
記憶部21は、画像取得部13で取得された画像5及び点群データ取得部15で取得された点群データ7を記憶する。また、点群データ処理装置11の各種機能を実現するために、CPUで実行される各種プログラムを記憶する。
【0031】
操作部23は、キーボード、ポインティングデバイスの一例であるマウス等で構成される。ユーザは、操作部23を介して各種の指令を点群データ処理装置11に入力する。
【0032】
図3は、点群データ処理装置11に入力される画像5及び点群データ7が三次元計測器1で取得される一態様を示す概念図である。また、図4は、三次元計測器1に搭載されるレーザースキャナー101及び撮影装置(カメラ)102を説明する概念図である。
【0033】
三次元計測器1は、図3に示すように計測対象である物体Aの点群データ7及び物体Aを撮影した画像5を取得する。
【0034】
三次元計測器1は、搭載されるレーザースキャナー101(図4を参照)からレーザーパルスを出射し、レーザーパルスが計測対象である物体Aの表面で反射して戻ってくるまでの時間により距離を計測するタイムオブフライト方式のものである。また、レーザースキャナー101は、レーザースキャナー101の回転中心を基準にしたレーザーパルスの出射方向の角度情報(図3では水平方向α、垂直方向βを記載している)を取得する。そして、計測した距離とレーザーパルスの出射方向の角度情報によりレーザーパルスの反射点の三次元情報を取得する。レーザースキャナー101は、レーザーパルスの出射方向の水平方向α及び垂直方向βを所定のピッチで変更することにより、多数の点の三次元情報を取得する。レーザースキャナー101は、タイムオブフライト方式によるものに限らず、位相差方式、三角法方式により点群データを取得するものでもよい。
【0035】
三次元計測器1は、搭載される光軸Lを有する撮影装置102(図4を参照)により、画像5を取得する。撮影装置102は、CCD(Charge Coupled Device)等(図示せず)の撮像素子を含む。撮像素子は、x方向(水平方向)及びy方向(垂直方向)に二次元的に配列された光電交換素子で構成された複数の画素を有し、複数の画素の上面には、例えば、R(赤)、G(緑)及びB(青)のフィルタが二次元的にベイヤー配列されたカラーフィルタ(図示せず)が備えられている。そして撮影装置102によりカラー画像の画像5が取得される。なお、撮影装置102で取得される画像5は、カラー画像に限定されるものではなく、モノクロ画像でもよい。
【0036】
図4に示す例では、ハーフミラー103を利用して、光軸Lを同一としてレーザースキャナー101及び撮影装置102が配置されている。なお、レーザースキャナー101と撮影装置102との位置関係は、既知であれば良く、特に限定されるものではない。例えば、光軸を同一とせずにレーザースキャナー101の上に撮影装置102を設置してもよい。また、三次元計測器1は、点群データ7及び画像5を同時に又は逐次的に取得することができる。なお、画像5を構成する画素と点群データ7を構成する点データとが対応する位置関係を有するためには、レーザースキャナー101と撮影装置102とが予め既知の位置関係を有していればよく、図4に示したレーザースキャナー101と撮影装置102の配置態様には限定されない。例えば、ハーフミラー103を設けることなく、同じ撮影方向を有するようにレーザースキャナー101の上部に撮影装置102を配置してもよい。
【0037】
図5は、画像5と点群データ7とが対応する位置関係を有することを説明する概念図である。画像5は、二次元に画素Pが配列した画像データである。画像5はカラー画像であるので画素PはR、G、Bのそれぞれについて値を持つ。図5では、画像5における座標(Px、Py)の画素Pが示されており、画素Pに対応する位置関係を有する点データQが示されている。複数の点データQは、点群データ7を構成し、位置情報である三次元座標(x、y、z)、対応する画素PのR、G、Bの値、及びレーザースキャナー101のレーザーの反射強度(I)の情報を有する。なお、画素Pと点データQとの対応関係は、図4で説明を行ったように、レーザースキャナー101と撮影装置102との位置関係が既知であるので取得することができる。
【0038】
以上で説明したように、画像5を構成する画素Pと点群データ7を構成する点データとは対応する位置関係を有し、点群データ処理装置11の記憶部21には、画像5と点群データ7とが前述した位置関係を保持し関連付けて記憶される。
【0039】
次に、点群データ処理装置11を使用した点群データ処理方法(及び点群データ処理方法を点群データ処理装置11に実行させるプログラム)に関して説明する。なお、点群データ処理装置11の記憶部21には、予め画像5と点群データ7とが記憶されている。
【0040】
図6は、点群データ処理方法を示すフローチャートである。先ず、点群データ処理方法を構成する一連のステップを説明し、その後に各ステップの詳細に関して説明を行う。
【0041】
第1の形状情報取得部31により、第1の形状情報が取得される(第1の形状情報取得ステップ:ステップS10)。第1の形状情報は、検出対象である第1の物体の形状の特徴を示す情報である。次に、物体領域特定部33により、画像において第2の物体の物体領域の特定が行われる(物体領域特定ステップ:ステップS11)。第2の物体の物体領域とは、第1の形状情報で示される形状の特徴を有すると画像5により判別される第2の物体が写っている画像5上の領域である。その後点群データ選択部35により、物体領域に基づいて、点群データ7のうち物体領域に対応する第2の物体点群データが選択される(点群データ選択ステップ:ステップS12)。次に、第2の形状情報取得部37により、第2の物体点群データに基づいて、第2の物体の形状の特徴を示す第2の形状情報が取得される(第2の形状情報取得ステップ:ステップS13)。その後、判定部39により、第1の形状情報と第2の形状情報とが比較され、第2の物体が第1の物体であるか否かの判定が行われる(判定ステップ:ステップS14)。その後、属性付与部41は、判定の結果に基づいて、第2の物体点群データに属性を付与する。属性付与部41は、第2の物体が第1の物体である場合には、選択された点群データに属性を付与し(属性付与ステップ:ステップS15)、第2の物体が第1の物体でない場合には、選択された点群データに属性が付与しない(属性付与ステップ:ステップS16)。
【0042】
次に、上述した各ステップに関して説明を行う。以下の説明では、図1で説明を行った画像U1において、物体V及び物体Wから円筒形状を有する物体を検出する場合について説明を行う。
【0043】
(第1の形状情報取得ステップ)
第1の形状情報取得ステップは、第1の形状情報取得部31により行われる。第1の形状情報は、検出対象である第1の物体の形状の特徴を示す情報であり、検出が行われる前には検出対象が特定されているので、第1の形状情報は特定されている。第1の形状情報取得部31は、記憶部21に記憶されている第1の形状情報、又は操作部23を介してユーザにより入力された第1の形状情報を取得する。
【0044】
第1の形状情報は、検出対象の第1の物体の形状の特徴を示す情報であれば特に限定されない。また、第1の形状情報は、第1の物体の形状の三次元的な特徴を示す情報であることが好ましい。例えば、第1の形状情報は、第1の物体の形状の種類に関する情報、第1の物体の表面に関する情報、及び第1の物体のサイズに関する情報のうち少なくとも一つを含む。第1の物体の形状の種類に関する情報とは、例えば、第1の物体が円筒形状、直方体形状、球体形状を有するという情報である。また、第1の物体の表面に関する情報は、第1の物体の表面粗さなどである。また、第1の物体のサイズに関する情報は、例えば、第1の物体が円筒形状である場合には、最大曲率、半径、高さ、体積など、第1の物体の形状の特徴を示すサイズに関する情報である。
【0045】
以下で説明する円筒形状を有する物体Vを検出する例においては、物体Vの形状の特徴を示す第1の形状情報として、「円筒形状」が取得される。
【0046】
(物体領域特定ステップ)
物体領域特定ステップは、物体領域特定部33により行われる。物体領域特定部33は、画像U1において判別される、第1の形状情報に対応する物体(第2の物体)が写っている物体領域を特定する。
【0047】
図7は、画像U1において、第1の形状情報「円筒形状」により、物体領域V(1)及び物体領域W(1)が特定された場合を示す図である。
【0048】
物体領域特定部33は、様々な方法により物体領域の特定を行う。例えば物体領域特定部33は、深層学習で学習が行われた検出器で構成され、画像U1においてセグメンテーションを行うことにより、物体領域V(1)又は物体領域W(1)を特定する。なお、セグメンテーションには、FCN(Full Convolutional Network)、SegNet、Pix2Pix等の既存のモデルを用いてもよいし、物体領域特定部33で行われる物体領域の特定態様に合わせたモデルを個別に作成してもよい。また、物体領域特定部33を構成する検出器の学習は、深層学習を用いてもよいし、広義の意味で機械学習を用いてもよい。
【0049】
また、物体領域特定部33は、ユーザが操作部23を介して入力した指令に基づいて物体領域V(1)及び物体領域W(1)を特定してもよい。例えば、画像U1においてユーザが物体領域V(1)及び物体領域W(1)を操作部23を使用して塗りつぶすことにより指令を入力し、その指令に基づいて物体領域特定部33は物体領域V(1)及び物体領域W(1)を特定してもよい。また、ユーザが画像U1における物体領域V(1)及び物体領域W(1)の内部を操作部23で指定し、物体領域特定部33は、その指定に基づいて画像U1にけるテクスチャを画像処理で判定し、物体領域V(1)及び物体領域W(1)を特定してもよい。
【0050】
(点群データ選択ステップ)
点群データ選択ステップは、点群データ選択部35により行われる。画像U1を構成する各画素は、点群データを構成する点データに対応する。したがって、点群データ選択部35は、物体領域特定部33で特定された物体領域V(1)及び物体領域W(1)を構成する画素に対応する点群データを選択する。
【0051】
図8は、物体領域に基づいて、選択される点群データに関して説明する図である。図8には、物体領域特定ステップで画像U1上で特定された物体領域V(1)及び物体領域W(1)が示されている。また、図8には、物体領域V(1)に対応し物体Vの表面上の三次元情報を示す点群データK、及び物体領域W(1)に対応し物体Wの表面上の三次元情報を示す点群データJが示されている。
【0052】
物体領域V(1)及び物体領域W(1)を構成する各画素は、点群データを構成する各点群データと対応する位置関係を有する。
具体的には、物体領域V(1)を構成する各画素は、点群データKを構成する各点データに対応する位置関係を有し、また、物体領域W(1)を構成する各画素は、点群データJを構成する各点データに対応する位置関係を有する。
【0053】
(第2の形状情報取得ステップ)
第2の形状情報取得ステップは、第2の形状情報取得部37により行われる。第2の形状情報取得部37は、選択された点群データK及び点群データJに基づいて、物体領域V(1)及び物体領域W(1)に対応する形状情報(第2の形状情報)を取得する。
【0054】
第2の形状情報取得部37は、事前に取得した第1の形状情報「円筒形状」に基づいて、点群データK及び点群データJについて円筒検出を行って、第2の形状情報を取得する。以下に、第2の形状情報取得部37が行う円筒検出の一例を説明する。
【0055】
図9は、第2の形状情報取得部37で行われる円筒検出の一例を説明する図である。第2の形状情報取得部37は、点群データK及び点群データJの各々から任意の点を1点選択する。図9に示した場合では点群データKでは点データK(1)が選択され、点群データJでは点データJ(1)が選択されている。その後、第2の形状情報取得部37は、点データK(1)及び点データJ(1)について、主曲率(最大曲率及び最小曲率)を算出する。そして、第2の形状情報取得部37は、最小曲率が0で2つの主曲率の方向が直交する点を抽出する。図9に示した場合では、点データK(1)は直方体の表面の点データであるので最大曲率の方向及び最小曲率の方向が直交せず、及び最小曲率が0と成らない。一方で、点データJ(1)は、最大曲率方向g及び最小曲率方向hが直交し、最小曲率は0となる。これにより、第2の形状情報取得部37は、「点群データKは円筒形状の物体の表面の三次元情報を有しない」、「点群データJは円筒形状の物体の表面の三次元情報を有する」という第2の形状情報を取得する。なお、上述した円筒検出の手法は一例であり、第2の形状情報取得部37は他の手法により円筒を検出を行うことができる。例えば、第2の形状情報取得部37は、機械学習が行われた検出器で構成され、その検出器により円筒を検出してもよい。また、第2の形状情報取得部37は、ロバスト推定を行い検出精度を向上させてもよい。例えば、第2の形状情報取得部37は、RANSAC(Random Sample Consensus)アルゴリズムを用いて、検出精度を向上させることができる。
【0056】
図10は、RANSACアルゴリズムを用いて行われる円筒検出について説明する図である。
【0057】
図10に示す場合では、第2の形状情報取得部37は、円筒形状を有する物体L1及び物体L2の表面の三次元情報を有する点群データに関して、RANSACアルゴリズムを用いて行われる円筒検出を行っている。第2の形状情報取得部37は、上述したように最大曲率方向と最小曲率方向とが直交し、最小曲率が0である点データをRANSACアルゴリズムにより複数抽出する。このように抽出された点データは最大曲率が類似(円筒半径が類似)、最小曲率方向が類似(円筒軸方向が類似)、又は連結性(近傍に同じ性質の点がれば繋げる)の特徴を有する。
【0058】
なお、第2の形状情報取得部37は、上述した手法の他に、ハフ変換(Hough変換)処理を用いた手法、又はRANSACアルゴリズムとハフ変換処理とを組み合わせた手法を使用して円筒検出を行ってもよい。
【0059】
(判定ステップ)
判定ステップは判定部39で行われる。第1の形状情報ステップで取得された第1の形状情報と第2の形状情報取得ステップで取得された第2の形状情報とを比較することにより、第2の物体が第1の物体であるかの判定を行う。すなわち、判定部39は、検出対象の物体の領域を特定しているか、物体領域V(1)及び物体領域W(1)の特定に関して正誤判定を行う。
【0060】
具体的には、第1の形状情報取得ステップで取得された第1の形状情報「円筒形状」と、点群データK及び点群データJにおいて取得された第2の形状情報とが一致するかを判定する。判定部39は、第1の形状情報「円筒形状」と点群データKの第2の形状情報「点群データKは円筒形状の物体の表面の三次元情報を有しない」とを比較して、物体領域V(1)に対応する第2の物体は検出対象である第1の物体ではないと判定する。一方判定部39は、第1の形状情報「円筒形状」と点群データJの第2の形状情報「点群データJは円筒形状の物体の表面の三次元情報を有する」とを比較して、物体領域W(1)に対応する第2の物体は検出対象である第1の物体であると判定する。例えば、判定部39の判定結果は、表示制御部19の制御により、表示部9に表示をしてユーザに報知を行う。これによりユーザは、物体領域特定部33で特定された領域が検出対象である物体に対応する領域であるか否かを認識することができる。
【0061】
(属性付与ステップ)
属性付与ステップは属性付与部41で行われる。属性付与部41は、判定部39により、検出対象の物体に対応する物体領域と判定された点群データJに属性を付与する。一方、属性付与部41は、判定部39により、検出対象の物体に対応しない物体領域と判定された点群データKには属性を付与しない。例えば、属性付与部41は、点群データJを構成する点データに「円筒形状」という属性を付与する。これにより、属性付与部41は、検出対象の物体の点群データに対して属性を的確に付与することができる。
【0062】
以上で説明をしたように、画像U1により検出対象の円筒形状の物体であると判別されて、特定された物体領域V(1)及び物体領域W(1)に関して、特定結果の正誤判定が行われる。これにより、画像U1における物体領域V(1)及び物体領域W(1)の特定結果を有効に利用することができる。
【0063】
<その他>
上記実施形態において、各種の処理を実行する制御部17(processing unit)及び表示制御部19のハードウェア的な構造は、次に示すような各種のプロセッサ(processor)である。各種のプロセッサには、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
【0064】
1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種又は異種の2つ以上のプロセッサ(例えば、複数のFPGA、あるいはCPUとFPGAの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組合せで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
【0065】
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
【0066】
上述の各構成及び機能は、任意のハードウェア、ソフトウェア、或いは両者の組み合わせによって適宜実現可能である。例えば、上述の処理ステップ(処理手順)をコンピュータに実行させるプログラム、そのようなプログラムを記録したコンピュータ読み取り可能な記録媒体(非一時的記録媒体)、或いはそのようなプログラムをインストール可能なコンピュータに対しても本発明を適用することが可能である。
【0067】
以上で本発明の例に関して説明してきたが、本発明は上述した実施の形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能であることは言うまでもない。
【符号の説明】
【0068】
1 :三次元計測器
5 :画像
7 :点群データ
9 :表示部
11 :点群データ処理装置
13 :画像取得部
15 :点群データ取得部
17 :制御部
19 :表示制御部
21 :記憶部
23 :操作部
31 :第1の形状情報取得部
33 :物体領域特定部
35 :点群データ選択部
37 :第2の形状情報取得部
39 :判定部
41 :属性付与部
101 :レーザースキャナー
102 :撮影装置
103 :ハーフミラー
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10