JP2018025551A - 点群データ変換システム及びその方法 - Google Patents
点群データ変換システム及びその方法 Download PDFInfo
- Publication number
- JP2018025551A JP2018025551A JP2017140062A JP2017140062A JP2018025551A JP 2018025551 A JP2018025551 A JP 2018025551A JP 2017140062 A JP2017140062 A JP 2017140062A JP 2017140062 A JP2017140062 A JP 2017140062A JP 2018025551 A JP2018025551 A JP 2018025551A
- Authority
- JP
- Japan
- Prior art keywords
- marker
- coordinate system
- dimensional
- point cloud
- depth camera
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims description 28
- 239000003550 marker Substances 0.000 claims description 282
- 238000004364 calculation method Methods 0.000 claims description 119
- 239000011159 matrix material Substances 0.000 claims description 82
- 238000005259 measurement Methods 0.000 claims description 79
- 230000009466 transformation Effects 0.000 claims description 45
- 238000001931 thermography Methods 0.000 claims description 13
- 230000001131 transforming effect Effects 0.000 claims description 13
- 238000010438 heat treatment Methods 0.000 claims description 7
- 230000003595 spectral effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 72
- 238000013500 data storage Methods 0.000 description 20
- 238000012986 modification Methods 0.000 description 17
- 230000004048 modification Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000014509 gene expression Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 230000008034 disappearance Effects 0.000 description 6
- 230000005484 gravity Effects 0.000 description 5
- 229910052736 halogen Inorganic materials 0.000 description 5
- 150000002367 halogens Chemical class 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000020169 heat generation Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 206010028980 Neoplasm Diseases 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 201000011510 cancer Diseases 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000002366 time-of-flight method Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000002835 absorbance Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 210000004204 blood vessel Anatomy 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
Description
前記マーカーの頂点に配置される標識物は、前記赤外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)〜(4)のいずれかに記載の点群データ変換システム。
前記マーカーの頂点に配置される標識物は、前記紫外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)〜(4)のいずれかに記載の点群データ変換システム。
前記マーカーの頂点に配置される標識物は、前記マルチスペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、(1)〜(4)のいずれかに記載の点群データ変換システム。
図2に示すように、点群データ変換システム1は、1つ以上の第1電子機器10と、1つ以上の第2電子機器20と、治具座標系マーカー30と、座標系算出部40と、3次元データ処理部50と、3次元データ表示制御部60と、3次元データ保存部70と、を含んで構成される。これらは、有線及び/又は無線ネットワーク等を介して接続されている。
なお、例えば座標系算出部40が他の機器(例えば、第1電子機器10)に含まれるような場合、座標系算出部40と第1電子機器10とは、内部インタフェースを介して接続される。
後述するように、点群データ変換システム1は、システムに固有の座標系(以下、「基準座標系」又は「グローバル座標系」ともいう)を有するように構成される。例えば、後述する「治具座標系マーカー30」を用いて、基準座標系を設定することができる。詳細については後述する。
図3Aに示すように、第1電子機器10は、制御部101と、制御部101で実行可能なプログラム等を記憶する記憶部102と、有線及び/又は無線による通信部103と、深度カメラ104と、計時部105と、を備える。例えばノートパソコンを含むパソコン、あるいはCPU、DSP等の演算チップを搭載した演算ボードで構成することができる。なお、深度カメラ104とは、前述したように、画像カメラと深度センサとから構成されるカメラであって、計測対象物を計測することで、計測対象物表面の各点を画素単位で例えばRGBの色情報とともに計測対象物表面の各点の深度座標を併せ持つ、計測対象物の画像データを同時に取得する。
なお、当該プログラムは、第1電子機器10に予めインストールされていてもよい。また、当該プログラムは、コンピュータ読み取り可能な記録媒体から必要に応じてインストール又は予め設定されたサーバから必要に応じて適宜ダウンロードされてもよい。以下、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置103のことをいう。
有線又は無線により、他の機器(例えば、座標系算出部40、3次元データ処理部50、及び3次元データ表示制御部60)との間で通信部103を介して制御信号、各種データのやり取りを行う。なお、例えば、他の機器を第1電子機器10が備える場合、内部インタフェースを介してやりとりを行う。
3次元デジタイザ、レーザースキャナ等と同様の3次元計測手段として、「深度センサ」がある。「深度センサ」には主に、(1)Time−of−flight方式、(2)三角測量方式、(3)Depth of Deforce方式等があるが、(1)のTime−of−flight方式は、レーザや赤外線等の光を計測対象物に対して照射して反射させ、センサに届くまでの飛行時間をもとに計算し、計測対象物表面の各点までの深度センサのからの距離等(以下、「深度」ともいう)を瞬時に得ることができるセンサである。深度センサは計測対象物各点の深度を画素単位で把握することができる。
ここで、計測対象物とは、例えば、既設の建造物(例えば原子力発電所等のプラントや文化財等)の凹凸を有する非平面形状の計測対象物のみならず、動く人間、動く動物、動く物等、時間の経過に伴って形状が変化する物体を含むことができる。
3次元計測部1012は、深度センサを例えば通常の画像カメラと組み合わせて構成する深度カメラ104により計測対象物を計測することで、計測対象物表面の各点を画素単位で例えばRGBの色情報とともに深度カメラの備える3次元の座標系における座標値(以下「深度座標」ともいう)を併せ持つ、計測対象物の画像データ(点群データ)を生成することができる。
第1電子機器10は、予め3次元空間の任意の位置に配置される。そうすることで、深度カメラ104の備える深度カメラ座標系が設定される。
したがって、深度カメラ104により計測する場合には、計測対象物表面の各点(画素単位)の位置を表す3次元座標(X、Y、Z)と、その3次元座標位置における計測対象物表面のRGBの色情報と、からなる点データの集合を計測データとして取得することができる。
また、3次元計測部1012は、計測対象物の表面の各点の情報を画素単位で、予め設定した時間間隔で取得することができる。例えば、時間間隔として1/30秒を設定することで、3次元計測部1012は、1秒間に30コマの画像データ(30fps)を取得することができる。3次元計測部1012により計測された画像データには、計測時刻となるタイムスタンプを付すことができる。
なお、時間間隔については、1/30秒に限定されない。例えば、1/24秒、1/12秒等、任意に設定してもよい。
時刻同期部1013は、例えば、IEEE1588に規定されたプロトコルを用いて、第2電子機器20の内部時刻を基準時刻に同期させる。
第1電子機器10及び第2電子機器20が、それぞれ予め設定した時間間隔で画像を取得する際に、前述したように、時刻同期部1013により計測時刻の同期を取ることにより、同一時刻に深度画像データ及び非深度画像データを取得するように構成することができる。なお、時刻同期部1013は必須の構成ではなく、例えば深度画像データ及び非深度画像データの取得時刻に実質的にずれがない場合には、時刻同期部1013を備えなくてもよい。
また、第1電子機器10及び第2電子機器20によりそれぞれ取得した画像データに付与したタイムスタンプに基づいて、線形補間処理を行うことで、同一時刻の深度画像データ及び非深度画像データとするように構成してもよい。
ここで、i(1≦i≦M)(Mは第1電子機器10の個数)を第1電子機器10の識別番号とした場合、インデックス(識別番号)iの第1電子機器10の備える深度カメラ104及び深度カメラ座標系をそれぞれ深度カメラ104(i)、及び深度カメラ座標系(i)という。また、インデックス(識別番号)iの第1電子機器10(制御部101)の備える3次元計測部1012を3次元計測部1012(i)という。
第1電子機器10(深度カメラ104)を複数個(M個)備える場合、各電子機器10(i)の深度カメラ(i)により計測された画像データ(i)は、計測時刻となるタイムスタンプにより、関連付けをすることができる。
なお、第1電子機器10が複数の深度カメラ104を備え、3次元計測部1012は各深度カメラ104による計測情報により深度座標を計測するように構成してもよい。
図3Cに示すように、第2電子機器20は、制御部201と、制御部201で実行可能なプログラム等を記憶する記憶部202と、有線及び/又は無線による通信部203と、非深度カメラ204と、計時部205と、を備える。
第1実施形態においては、非深度カメラ204としてサーモグラフィカメラを適用する。
以下、「非深度カメラ204」又は「非深度カメラ204(サーモグラフィカメラ)」と記載する。サーモグラフィカメラ特有でない非深度カメラの記述に際しては「非深度カメラ204」と記載し、サーモグラフィカメラ特有の記述に際しては、「非深度カメラ204(サーモグラフィカメラ)」と記載する。
なお、当該プログラムは、第2電子機器20に予めインストールされていてもよい。また、当該プログラムは、コンピュータ読み取り可能な記録媒体から必要に応じてインストール又は予め設定されたサーバから必要に応じて適宜ダウンロードされてもよい。以下、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
また、非深度カメラ204(サーモグラフィカメラ)は、被写体の表面の温度データからなる画像データを予め設定した時間間隔で取得することができる。例えば、時間間隔として1/30秒を設定することで、非深度カメラ204(サーモグラフィカメラ)は、1秒間に30コマの画像データ(30fps)を取得することができる。非深度カメラ204(サーモグラフィカメラ)により計測された画像データには、計測時刻となるタイムスタンプを付すことができる。
なお、時間間隔については、深度カメラ104と同様に1/30秒に限定されない。例えば、1/24秒、1/12秒等、任意に設定してもよい。なお、深度カメラ104による点群データに基づいて、非深度カメラ204で取得した2次元画像を点群データ化することから、非深度カメラ204の時間間隔は深度カメラ104の時間間隔の整数倍となるように設定することが好ましい。
前述したように、第1電子機器10と第2電子機器20は、近距離の位置に配置することが好ましい。
また、第1電子機器10及び第2電子機器20が、それぞれ予め設定した時間間隔で画像データを取得する際に、後述の時刻同期部2013により計測時刻の同期を取ることにより、同一時刻に深度画像データ及び非深度画像データ(温度データ)を取得するように構成するようにしてよい。なお、深度画像データ及び非深度画像データの取得時刻に実質的にずれがない場合には、時刻同期部2013を備えなくてもよい。
ここで、j(1≦j≦N)(Nは第2電子機器20の個数)を第2電子機器20の識別番号とした場合、インデックス(識別番号)jの第2電子機器20の備える非深度カメラ204を非深度カメラ204(j)という。同様に、非深度カメラ204(j)の備える深度カメラ座標系を非深度カメラ座標系(j)という。
第2電子機器20(非深度カメラ204)を複数個(N個)備える場合、各第2電子機器20(j)の非深度カメラ204(j)により計測された画像データ(j)は、計測時刻となるタイムスタンプにより、関連付けをすることができる。
[第2通信部2011]
有線、又は無線回線により、他の機器(例えば、座標系算出部40、3次元データ処理部50、及び3次元データ表示制御部60)との間で制御信号、各種データをやり取りを行う。なお、例えば、他の機器を第2電子機器20が備える場合、内部インタフェースを介してやりとりを行う。
非深度カメラ204により計測対象物の画像を取得することにより、計測対象物の各点は、当該非深度カメラ204の設定位置により決定される2次元画像平面(以下、「画像平面」又は「射影平面」ともいう)上の点に投影される。
レンズ中心Oから2次元画像面(射影平面)までの距離は、レンズの焦点距離fに相当する。そして、非深度カメラ座標系で、(X,Y,Z)にある空間の点は、2次元画像面(射影平面)上の点(x、y)=(f・(X/Z)、f・(Y/Z))に投影される。
このように、2次元画像情報計測部は、空間の点の非深度カメラ座標系での座標(X,Y,Z)を2次元画像面(射影平面)上の点(x、y)に投影するといえる。
時刻同期部2013は、例えば、IEEE1588に規定されたプロトコルを用いて、第2電子機器20の内部時刻を基準時刻に同期させる。
第1電子機器10及び第2電子機器20が、それぞれ予め設定した時間間隔で画像を取得する際に、前述したように、時刻同期部2013により計測時刻の同期を取ることにより、同一時刻に深度画像データ及び非深度画像データを取得するように構成することができる。なお、時刻同期部2013は必須の構成ではなく、例えば深度画像データ及び非深度画像データの取得時刻に実質的にずれがない場合には、時刻同期部2013を備えなくてもよい。
また、第1電子機器10及び第2電子機器20によりそれぞれ取得した画像データに付与したタイムスタンプに基づいて、線形補間処理を行うことで、同一時刻の深度画像データ及び非深度画像データとするように構成してもよい。
以上、第1電子機器10及び第2電子機器20のそれぞれ備える機能について説明した。
次に、点群データ変換システム1の備える、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60について説明する。図3E〜図3Hは、それぞれ座標系算出部40、3次元データ処理部50、3次元データ表示制御部60の機能ブロック図を示す。
図5Aに示すように、座標系算出部40は、第1マーカー位置情報算出部401と、第1キャリブレーション処理部402と、第2マーカー位置情報算出部403と、第2キャリブレーション処理部404と、座標変換行列作成部405と、を備える。
詳細は、後述する。
図5Bに示すように、3次元データ処理部50は、点群データ座標値変換部501と、点群データ変換部502と、点群データ合成部503と、記憶部504と、を備える。
詳細は後述する。
図5Cに示すように、3次元データ表示制御部60は、視点操作部601と、データ表示方式選択部602と、データ再生・保存指示部603と、3次元データ表示処理部604と、を備える。
詳細は後述する。
図5Dに示すように、3次元データ保存部70は、点群データ記憶部701と、第2電子機器位置情報記憶部702と、を備える。
詳細は、後述する。
また、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70の一部又は全てをクラウド上の仮想サーバ上においてもよい。
また、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70の一部又は全てを第1電子機器10、又は第2電子機器20により構成することもできる。
いずれにしても、前述した第1電子機器10又は第2電子機器20、サーバ又は演算ボードの備える制御部201に、メモリに記憶される所定のプログラムを実行させることで、電子機器、又は演算ボードを、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、及び3次元データ保存部70として機能させるようにすることができる。
なお、プログラムは、予め前述した電子機器又はクラウド上の仮想サーバにインストールされていてもよい。また、当該プログラムは、コンピュータ読み取り可能な記録媒体から必要に応じてインストール又は予め設定されたサーバから必要に応じて適宜ダウンロードされてもよい。
そうすることで、深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換する座標変換行列tTdを算出することができる。
そうすることで、深度カメラ104をあたかも非深度カメラ204と同じ位置に配置して計測される被写体の点群データに近い点群データを得ることができる。
特に、第1電子機器10と第2電子機器20を近距離の位置に配置することで、深度カメラ104をあたかも非深度カメラ204と同じ位置に配置して計測される被写体の点群データに限りなく近い点群データを得ることができる。
点群データ変換システム1は、線形独立となる座標値が既知である位置に設けられる複数の視覚的特徴を有する所定の標識物(以下、「治具座標系マーカー30」又は単に「マーカー」ともいう)を備える。
「治具座標系マーカー30」により、点群データ変換システム1に治具座標系を設定することができる。
4個の球体は、それぞれ、熱を発するもの(例えば、発熱ランプ)とする。一例としてP0に対応する1個の発熱温度は、他の球体よりも高い温度を発熱するように構成する。同様にP1に対応する1個の発熱温度は、P0を除く3個の球体のうち、他の球体よりも高い温度を発熱するように構成する。
そうすることで、非深度カメラ204(サーモグラフィカメラ)により取得された画像データに基づいて、当該4個の球体を検出するとともに、他の球体よりも高い温度を発熱する球体P0、及び2番目に高い温度を発熱する球体(P1)を検出することが容易となる。
そうすることで、深度カメラ104により取得された計測結果に基づいて、当該4個の球体の内3個(P0,P1,P3)を検出することが容易となる。なお、球体の半径、球体の表面の色、及び長方形の辺の長さは、適宜設定することができる。
例えばベクトルP0P1の大きさが、ベクトルP0P3の大きさよりも小さくなるように構成することで、深度カメラ104により計測された計測データに基づいて、球体P0,球体P1,球体P3をそれぞれ検出することができる。
図6を参照して、治具座標系マーカー30により設定される治具座標系について説明する。前述したように、長方形の各頂点をそれぞれ、P0,P1,P2,P3とし、例えば、ベクトルP0P1の大きさは、ベクトルP0P3の大きさよりも小さいものとする。なお、ベクトルの大きさは一例であって、ベクトルP0P1の大きさは、ベクトルP0P3の大きさよりも大きいものとしてもよい。この場合、頂点P0を始点として頂点P1を終点とするベクトル(以下「ベクトルP0P1」という)と、頂点P0を始点として頂点P3を終点とするベクトル(以下「ベクトルP0P3」という)との外積ベクトルを頂点P0を始点として表現した場合の終点をP4とする。
次に、図7を参照しながら、深度カメラ座標系と治具座標系との間の座標変換について説明する。図7は、深度カメラ座標系と治具座標系との間の関連を示す概略図である。
座標系算出部40の第1マーカー位置情報算出部401は、第1電子機器10(深度カメラ104)により取得された計測情報に基づいて、治具座標系マーカー30を検出し、検出したマーカーの構成要素(マーカーの頂点等)の深度カメラ座標系における座標値(以下「第1マーカー位置情報」という)を算出することができる。
そうすることで、座標系算出部40の第1キャリブレーション処理部402は、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列dTj、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTdを算出することができる。
第1マーカー位置情報算出部401による治具座標系マーカー30の検出方法の一例について説明する。
また、キャリブレーションの際には、深度カメラ104による計測対象範囲内には、治具座標系マーカー30以外に(特に、半径Rcm、色がREDとなる)球体を設置しないようにすることが好ましい。
具体的には、第1マーカー位置情報算出部401は、深度画像データから例えば公知のラプラシアン変換、Sobel法又はCanny法等により、物体の輪郭部分の抽出を行い、エッジ画像を生成する。この際、第1マーカー位置情報算出部401は、記憶部406に格納された色がREDである深度画像データ(RED)とその周辺を含む画像データを対象として、エッジ画像を生成するようにしてもよい。第1マーカー位置情報算出部401は、エッジ画像から公知のHough変換により円を抽出する。第1マーカー位置情報算出部401は、抽出された円の座標が記憶部406に格納された色がREDである深度画像データ(RED)に含まれるものを抽出する。第1マーカー位置情報算出部401は、さらに、抽出された円の半径を計算することにより、半径が球体の半径Rcmと一致する円のみを抽出するように構成される。こうすることで、第1マーカー位置情報算出部401は、治具座標系マーカー30の長方形の各頂点に対応する各球体{P0,P1,P3}に対応する円を抽出する。
この場合、第1マーカー位置情報算出部401は、計測対象範囲内の色が色Aの部分を抽出して、抽出した色Aの部分表面の各点のRGBの色情報と、各点(画素単位)の位置を表す3次元座標(X、Y、Z)と、からなる点データの集合を深度画像データ(色A)として抽出すればよい。
そうした上で、第1マーカー位置情報算出部401は、エッジ画像を生成し、生成したエッジ画像からHough変換により円を抽出し、円の半径を計算することにより、色Aで半径Rの球体の中心を求めるように構成することができる。
以上、第1マーカー位置情報算出部401による、治具座標系マーカー30の検出、及び検出したマーカーの構成要素(マーカーの頂点等)の深度カメラ座標系における座標値(以下「第1マーカー位置情報」という)の算出について説明した。
次に、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列dTj、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTdの算出方法の一例について説明する。
第1キャリブレーション処理部402は、治具座標系マーカー30の頂点P0、P1、P3の位置を表す深度カメラ座標系における座標値に基づいて、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列dTjを算出することができる。
第1キャリブレーション処理部402は算出した、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列dTj、及びその逆行列となる深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTdを、例えば3次元データ処理部50の記憶部504に記憶する。
次に、図9及び図10を参照しながら、非深度カメラ座標系と基準座標系との間の座標変換について説明する。図9は、非深度カメラ座標系と治具座標系との間の関連を示す概略図である。図10は、非深度カメラ204(サーモグラフィカメラ)によりマーカーの頂点P0,P1,P2,P3が2次元画像データとして射影された射影平面の概要を示す。
座標系算出部40の第2マーカー位置情報算出部403は、第2電子機器20(非深度カメラ)により取得された画像平面(射影平面)上の2次元画像データに基づいて、治具座標系マーカー30の各頂点P0,P1,P2,P3を検出し、検出したマーカーの頂点P0,P1,P2,P3の非深度カメラ座標系における3次元座標値(以下「第2マーカー位置情報」という)を算出する。
そうすることで、第2キャリブレーション処理部404は、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTj、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTtを算出することができる。
第2マーカー位置情報算出部403による治具座標系マーカー30の検出方法の一例について図10を参照しながら説明する。
具体的には、第2マーカー位置情報算出部403は、非深度カメラ204(サーモグラフィカメラ)により取得された画像平面(射影平面)上の2次元画像データ内において温度が高い部分(4個)を抽出して、そのうち、温度が最も高い部分を抽出して、当該温度が最も高い部分の中心となる射影平面上の点の座標値p0=(p0x、p0y)とする。第2マーカー位置情報算出部403は、温度が2番目に高い部分の中心となる射影平面上の点の座標値p1=(p1x、p1y)を算出する。
そうすることで、第2マーカー位置情報算出部403は、画像平面(射影平面)上の点p0=(p0x、p0y)及び射影平面上の点の座標値p1=(p1x、p1y)をそれぞれマーカーの頂点P0及び頂点P1の射影平面上に射影された画像と判定することができる。
辺p0p1及び辺p2p3の当該射影平面上での交点Aは、3次元空間における2つの平行線(直線P0P1及び直線P2P3)が当該射影平面で交わる消失点となる。同様に、辺p0p3及び辺p1p2の当該射影平面上での交点Bは、3次元空間における2つの平行線(直線P0P3及び直線P1P2)が当該射影平面で交わる消失点となる。
n1x+n2y+f・n3=0 (式8)
で表されることが知られている。
第2マーカー位置情報算出部403は、式7及び式8に基づいて、治具平面の法線ベクトルN=(n1,n2,n3)の値を算出することができる(式9)。
n1=Ay−By
n2=−(Ax−Bx)
n3=((Ax×By)−(Bx×Ay))/f
(式9)
n1X+n2Y+n3Z=h (式10)
このようにして、第2マーカー位置情報算出部403は、射影平面上の消失線を算出することにより、治具平面の法線ベクトルN=(n1,n2,n3)及び3次元空間(非深度カメラ座標系)における治具平面の方程式を算出することができる。
すなわち、各点P0,P1の3次元空間(非深度カメラ座標系)上の座標値をそれぞれ、射影平面上の各点p0、p1の画像座標値に基づいて表すと式11及び式12のように表現される(透視変換)。
P0y= t・p0y
P0z= t・f (式11)
P1y= s・p1y
P1z= s・f (式12)
(P0x−P1x)2+(P0y−P1y)2+(P0z−P1z)2
=L2 (式13)
そうすることで、第2マーカー位置情報算出部403は、点P0,P1の3次元空間(非深度カメラ座標系)上の座標値を算出することができる。
t=h/(n1・p0x+n2・p0y+n3・f) (式14)
s=h/(n1・p1x+n2・p1y+n3・f) (式15)
第2マーカー位置情報算出部403は、式11及び式12に基づいて、マーカーの頂点P0,P1の非深度カメラ座標系における座標値を算出する。
第2マーカー位置情報算出部403は、算出した消失線に基づき、治具平面の非深度カメラ座標系(3次元空間)における法線ベクトル(N=(n1,n2,n3))を算出することで、3次元空間(非深度カメラ座標系)における治具平面の方程式(n1X+n2Y+n3Z=h)を算出する。
第2マーカー位置情報算出部403は、3次元空間(非深度カメラ座標系)における治具平面の方程式、及び透視変換に基づいて、マーカーの4つの頂点の非深度カメラ座標系(3次元空間)における座標値(以下「第2マーカー位置情報」という)を算出することができる。
次に、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTj、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTtの算出方法の一例について説明する。
第2キャリブレーション処理部404は、治具座標系マーカー30の頂点P0、P1、P2の位置を表す非深度カメラ座標系における座標値に基づいて、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTjを算出することができる。
第2キャリブレーション処理部404は算出した、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTj、及びその逆行列となる非深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTtを、例えば3次元データ処理部50の記憶部504に記憶する。
具体的には、座標変換行列作成部405は、深度カメラ座標系における座標値を治具座標系における座標値に変換するための座標変換行列jTd及び治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTjに基づいて、深度カメラ画像の各点の深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTdを算出する(式21)。
tTd= tTj・jTd=tTj・dTj −1 (式21)
以上のようにして、図8に示すように、座標変換行列作成部405は、算出した深度カメラ座標系における座標値を非深度カメラ座標系における座標値に変換する座標変換行列tTdを、例えば3次元データ処理部50の記憶部504に記憶する。
その後、治具座標系マーカー30を現実空間から撤去することができる。
次に、3次元空間の任意の位置に配置された第2電子機器20(非深度カメラ204)により取得される2次元画像データを、別の位置に配置された第1電子機器10(深度カメラ104)により取得される「深度カメラ画像」を用いてリアルタイムに点群データ化(3次元化)する処理について、図11A〜図11Bを参照しながら説明する。
図11Aに示すように、異なる位置に配置した深度カメラ104及び非深度カメラ204により、同時刻に被写体を計測する。この際、前述したように、深度カメラ104と非深度カメラ204とを近距離の位置に配置することが好ましい。
同時刻tに計測物を非深度カメラ204(サーモグラフィカメラ)により、計測対象物の表面の各点の温度データを画像データとして取得した画像平面上の点を(x、y)で表す。
前述したように、非深度カメラ座標系で、(X,Y,Z)にある空間の点は、当該2次元画像面(射影平面)上の点(x、y)=(f・(X/Z)、f・(Y/Z))に投影される。
そうすることで、図11Bに示すように第1電子機器10(深度カメラ104)をあたかも第2電子機器20(非深度カメラ204)と同じ位置に配置して計測される計測対象物の点群データを得ることができる。すなわち、非深度カメラ204の視点に変更された深度カメラ104の点群データを得ることができる。
(xn、yn)=(f・(Xn/Zn)、f・(Yn/Zn)) (式22)
このようにして、非深度カメラ204により取得される2次元画像データに対して、非深度カメラ204の視点に変換された深度カメラ104による計測対象物の点群データ{(Xn、Yn、Zn)}を対応づけることができる。すなわち、非深度カメラ204により取得される2次元画像データをリアルタイムに点群データ化(3次元化)することができる。
点群データ変換部502は、C個の座標値(xn、yn)を高速に計算するために、GPU(Graphics Processing Unit)による高速演算処理を行うように構成することができる。
点群の個数Cを640×480個と仮定すると、点群データを32×80のスレッドに分割した場合、1スレッドあたり、xn及びynそれぞれ120回の計算を行うことで、高速に演算することができる。
点群データ変換部502は、例えば次のように、画像平面上の座標値(xn、yn)を、非深度カメラ204により取得される各ピクセルデータ(画素データ)の該画像平面上のピクセル座標に対応づけることができる。
図12に示すように、ピクセル座標は、画像平面の左上端のピクセルを原点(0,0)とし,右方向にいくつめであるかをピクセルx座標,下方向にいくつめであるかをピクセルy座標とする2次元座標である。以下、ピクセルx座標をPixelx、ピクセルy座標をPixelyで表す。
これに対して、画像平面上のxy座標は、前述したように画像平面の中心を原点(0,0)とし、水平方向をx軸、垂直方向をy軸とするものである。以下、x座標をx、y座標をyで表す。
点群データ変換部502は、(式23)に基づいて、画像平面上の座標値(x、y)を、非深度カメラ204により取得される各ピクセルデータ(画素データ)の該画像平面上のピクセル座標(Pixelx、Pixely)に対応づける。なお、点群データ変換部502は、(式23)により算出した値を四捨五入する。
Pixelx=(H/Lx)×(x+Lx/2)
Pixely=(G/Ly)×(−y+Ly/2) (式23)
なお、四捨五入に換えて小数点以下を切り捨てることで、ピクセル座標(Pixelx、Pixely)を対応づけてもよい。
このような場合、手前にある物体が背後にある物体を隠して見えないようにする(オクルージョン)ように対応づける必要がある。
このため、点群データ変換部502は、算出された複数の座標値(xn、yn)が、画像平面上の同一ピクセル座標値(Pixelx、Pixely)に対応付けされる場合、それら複数の点の内、Znの値が最も小さな値となる点のみを画像平面上のピクセル座標値(Pixelx、Pixely)(すなわち計測対象物表面の温度データ)に対応付けるように構成する。そうすることで、非深度カメラ視点で奥に位置する深度データを排除することができる。
なお、Znの値が最も小さな値となる点群の各点を三角系メッシュにすることで、このメッシュの奥に存在する点は非深度カメラ204のデータに対応付けないようにしてもよい。
以上のように、点群データ変換部502は、非深度カメラ204により撮影された2次元画像データに、「深度画像」の深度座標を対応付けすることで、「非深度カメラ」により取得される2次元画像データを点群データ化(3次元化)することができる。
これまでの説明は、簡単のため、1台の非深度カメラ204と1台の深度カメラ104を用いる例について説明した。
次に、複数の非深度カメラ204により撮影した複数の2次元画像データを同一座標系による点群データに変換する処理について説明する。
非深度カメラAにより取得した画像データを非深度カメラAの座標系により、点群データ化された点群データを{(XAn、YAn、ZAn)、TAn}とし、非深度カメラBにより取得した画像データを非深度カメラBの座標系により、点群データ化された点群データを{(XBm、YBm、ZBm)、TBm}とする。ここで、TAnは、非深度カメラAの座標系の座標値(XAn、YAn、ZAn)における温度データであり、TBmは、非深度カメラBの座標系の座標値(XBm、YBm、ZBm)における温度データである。
点群データ合成部503は、非深度カメラAの座標系により点群データ化された点群データ{(XAn、YAn、ZAn)、TAn}を座標変換行列jTAにより、治具座標系における座標値による点群データ{(jXAn、jYAn、jZAn)、jTAn}に変換するとともに、非深度カメラBの座標系により点群データ化された点群データ{(XBn、YBn、ZBn)、TBn}を座標変換行列jTBにより、治具座標系における座標値による点群データ{(jXBn、jYBn、jZBn)、jTBn}に変換する。
そうすることで、点群データ合成部503は、点群データ{(XAn、YAn、ZAn)、TAn}及び点群データ{(XBn、YBn、ZBn)、TBn}を治具座標系の座標値に基づいて重なる部分の位置合わせを行った後に、必要に応じて、測定誤差等により、各点群データ間の治具座標系での座標値が同じであっても、位置ずれの発生した場合の補正を行うことで、より正確な、欠損部分の少ない1つの合成点群データを取得することができる。
例えば、点群データ合成部503は、非深度カメラBの座標系により点群データ化された点群データ{(XBn、YBn、ZBn)、TBn}を非深度カメラAの座標系に基づいて変換することで、2つの点群データ{(XAn、YAn、ZAn)、TAn}及び{(XBm、YBm、ZBm)、TBm}を合成するようにしてもよい。
同様に、点群データ合成部503は、非深度カメラAの座標系により点群データ化された点群データ{(XAn、YAn、ZAn)、TAn}を非深度カメラBの座標系に基づいて変換することで、点群データ合成部503は、非深度カメラBの座標系に基づいて、2つの点群データ{(XAn、YAn、ZAn)、TAn}及び{(XBm、YBm、ZBm)、TBm}を合成するようにしてもよい。
次に、3次元データ表示制御部60について説明する。
図5Cに示すように、3次元データ表示制御部60は、視点操作部601と、データ表示方式選択部602と、データ再生・保存指示部603と、3次元データ表示処理部604と、を備える。
このため、点群データを面形式に変換し、例えばポリゴン、不整三角網のメッシュ、及びCADモデルとして扱うことができる。
そうすることで、例えば、非深度カメラ204(サーモグラフィカメラ)で取得した画像データ(温度データ)を三角形の集合で表すことができる。そうすることで、ある温度の部分の面積を計測することが可能となる。
視点操作部601は、利用者の視点方向、視点座標等の入力を利用者から受け取ることができる。このことにより、表示画像のズーム等のカメラワークと同様の操作が可能となる。
データ表示方式選択部602は、表示画像の表示方式に関する指示を利用者から受け取ることができる。例えば、3次元空間上の点群データをどのような投影面に投影するか、を選択することができる。
データ再生・保存指示部603は、点群データから生成された3次元モデルデータの再生又は保存に関する指示を利用者から受け取ることができる。
3次元データ表示処理部604は、点群データ変換部502又は点群データ合成部503により作成された点群データを、視点操作部601により入力された利用者の仮想視点に基づいて、マッピング加工を行い、その結果の表示画像をディスプレイ画面に3次元表示する。
図5Dに示すように、3次元データ保存部70は点群データ記憶部701を備える。
点群データ記憶部701は、非深度カメラ204により取得した画像データを非深度カメラ204の座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}に、当該計測時刻となるタイムスタンプを関連付けた点群データ情報を、非深度カメラ204毎に記憶する。
前述したように、例えば、深度カメラ104及び非深度カメラ204が、それぞれ1秒間に30コマの画像データ(30fps)を取得することができる場合、点群データ記憶部701は、例えば、1/30秒単位の計測時刻(t)毎に生成される、非深度カメラ204により取得した画像データを非深度カメラ204の座標系により点群データ化された点群データ{(Xn、Yn、Zn)、Tn}(t)}を記憶する(t:タイムスタンプ)。
ここでは、深度カメラ104及び非深度カメラ204が、それぞれ1秒間に30コマの画像データ(30fps)を取得する例を示す。
そうすることで得られた点群データを例えば点群データを面形式(例えば三角形メッシュ)に変換することで、被写体の表面の温度分布を三角形の集合で表すことができ、ある温度の部分の面積を計測することが可能となる。
第1実施形態において、治具座標系マーカー30として、図6に示すように、各頂点P0,P1,P2,P3を同一の半径の球体とした4辺を有し、向かい合う2組の辺がそれぞれ平行な四角形(平行四辺形)の形状をした構造体(例えば長方形)とした。そして、頂点P0を始点として頂点P1を終点とするベクトル(ベクトルP0P1)と、頂点P0を始点として頂点P3を終点とするベクトル(ベクトルP0P3)との外積ベクトルを算出し、外積ベクトルを頂点P0を始点として表現した場合の終点をP4とすることで、例えばP0を原点、ベクトルPoP1方向をX軸、ベクトルP0P3方向をY軸、ベクトルP0P4方向をZ軸とする、治具座標系を規定した。
他方、深度カメラ104により計測された治具座標系マーカー30の深度画像データを第1マーカー位置情報算出部401により画像解析することで、治具座標系マーカー30の頂点P0,P1,P2,P3の深度カメラ座標系における座標値を算出し、このように算出したP0,P1,P3の深度カメラ座標値に基づいて、P4の座標値(ベクトルP0P4方向の単位ベクトル)を算出することで、治具座標系における座標値を深度カメラ座標系における座標値に変換するための座標変換行列dTjを算出した(式5)。
同様に、非深度カメラ204により取得した治具座標系マーカー30の画像平面(射影平面)上2次元画像データを第2マーカー位置情報算出部403により画像解析することで、治具座標系マーカー30の頂点P0,P1,P2,P3の非深度カメラ座標系における座標値を算出し、このように算出したP0,P1,P3の非深度カメラ座標値に基づいて、P4の座標値(ベクトルP0P4方向の単位ベクトル)を算出することで、治具座標系における座標値を非深度カメラ座標系における座標値に変換するための座標変換行列tTjを算出した(式19)。
このように、第1実施形態においては、点P4の治具座標系における座標値、深度カメラ座標系における座標値、及び非深度カメラ座標系における座標値を、それぞれ点P0,P1,P3の治具座標系における座標値、深度カメラ座標系における座標値、及び非深度カメラ座標系における座標値に基づいて外積演算により算出した。
これに対して、第2実施形態においては、治具座標系マーカー30に替えて、例えば、ベクトルP0P1とベクトルP0P3との外積ベクトル上に他の球体(P0,P1,P2,P3)と同じ形状をした球体Q4を設けた、治具座標系マーカー30Aを利用する。
この場合、球体Q4を識別できるように、球体Q4の表面を他の球体(P0,P1,P3)の表面と同様に予め設定された色(例えば赤色)で着色されるように構成する。また、球体Q4の位置は、例えばベクトルP0P1とベクトルP0P3との外積ベクトルの終点としてもよいし、ベクトルP0Q4の大きさが外積ベクトルの大きさに所定の比率を掛けた値になるようにしてもよい。
治具座標系マーカー30Aを利用することで、非深度カメラ座標系と深度カメラ座標系とのキャリブレーションをより効率的に行うことができる。
以下に詳細について説明する。なお、第2実施形態については、主として、第1実施形態と異なる点を中心に説明し、第1実施形態と同様な構成については詳細な説明を省略する。第2実施形態において、特に説明しない点は、第1実施形態についての説明が適宜適用される。また、第2実施形態においても、第1実施形態と同様な効果が奏される。
第1マーカー位置情報算出部401は、治具座標系マーカー30の各頂点{P0,P1,P3}の深度カメラ座標系における座標値を算出するのと同様にして、治具座標系マーカー30Aの頂点Q4の深度カメラ座標系における座標値を算出することができる。
第1マーカー位置情報算出部401は、このようにして治具座標系マーカー30Aの各頂点{P0,P1,P3,Q4}の深度カメラ座標系における座標値を算出することができる。
なお、第1マーカー位置情報算出部401は、算出した治具座標系マーカー30Aの各頂点{P0,P1,P3,Q4}の深度カメラ座標系における座標値に基づいて、例えば各三角形の辺の長さを算出し、算出した辺の長さに基づいて、各頂点が治具座標系マーカー30の頂点P0,P1,P3,Q4のいずれに対応するか、を判定することができる。また、オペレータにより、治具座標系マーカー30Aの各頂点{P0,P1,P3,Q4}と深度カメラ座標系における各座標値との対応付けてもよい。
第1キャリブレーション処理部402は、第1マーカー位置情報算出部401により算出された、点{P0,P1,P3,Q4}の深度カメラ座標系における座標値に基づいて、深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、及びZ方向単位ベクトルを算出することができる。
(P´0x,P´0y,P´0z)とし、
第1キャリブレーション処理部402により算出したX軸方向単位ベクトルを
第2キャリブレーション処理部404は、第2マーカー位置情報算出部403により算出された、点{P0,P1,P3}の非深度カメラ座標系における座標値に基づいて、非深度カメラ座標系における治具座標のX軸方向単位ベクトル、Y軸方向単位ベクトル、及びZ方向単位ベクトルを算出することができる。
(P0x,P0y,P0z)とし、
第2キャリブレーション処理部404により算出したX軸方向単位ベクトルを
tTd= tTj・jTd=tTj・dTj −1 (式32)
本発明の点群データ変換システム1において、第1電子機器10、第2電子機器20、座標系算出部40、3次元データ処理部50、及び3次元データ表示制御部60、及び3次元データ保存部70の有する各機能部をそれぞれ、適宜特定のコンピュータに集中させるか、又は分散させることは、ユーザにとって適宜成しえる設計事項である。
例えば、第1実施形態又は第2実施形態において、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、3次元データ保存部70の機能の一部、一部の組み合わせ、又は全部を、例えば、第1電子機器10の機能としてもよい。
また、座標系算出部40、3次元データ処理部50、3次元データ表示制御部60、3次元データ保存部70の機能を1つのコンピュータ又は複数のコンピュータで実装することも当業者が適宜設計できる事項である。
第1実施形態又は第2実施形態において、第2マーカー位置情報算出部403が、非深度カメラ204により取得した画像から治具座標系マーカー30の4つの頂点P0,P1,P2、P3を判定しやすくするために、一例としてP0に対応する1個の発熱温度を、他の球体よりも高い温度を発熱するように構成した。同様にP1に対応する1個の発熱温度を、P0を除く3個の球体のうち、他の球体よりも高い温度を発熱するように構成した。
しかしながら、点P0に対応する1個の発熱温度が、他の球体よりも高い温度を発熱するようにするだけでもよい。P0を除く3個の球体の発熱温度は同じ温度であっても異なる温度であっても構わない。
この場合、P0を特定して、P1とP2を特定しない状態で、第2マーカー位置情報算出部403は、マーカーの4つの頂点の非深度カメラ座標系(3次元空間)における座標値(第2マーカー位置情報)を算出する。
その後、第2マーカー位置情報算出部403は、例えばP0P1の長さがP0P3の長さよりも短くなるように構成した場合、P0P1の長さ及びP0P3の長さを算出して比較することで、頂点P1及び頂点P3をそれぞれ特定することができる。
また、第2マーカー位置情報算出部403は、マーカー30の重心を中心として例えば左回りに頂点P1,P2、P3と構成した場合、頂点P1及び頂点P3をそれぞれ特定するようにしてもよい。
なお、第2マーカー位置情報算出部403は、非深度カメラ204(サーモグラフィカメラ)により取得された画像データ内において、マーカーの頂点P0,P1,P2,P3の座標位置を、例えばオペレータにより指示されるようにしてもよい。
さらには、治具座標系マーカー30の4つの頂点P0,P1,P2、P3に対応する4個の発熱温度を同じ温度とすることもできる。
この場合、マーカーの頂点P0の近傍に例えば発熱体P4を配置するように構成する。そうすることで、第2マーカー位置情報算出部403は、発熱体の温度に違いがない場合であっても、頂点P0を特定することが可能となる。その後は、変形例1で説明したのと同様に、頂点P1及び頂点P3をそれぞれ特定することができる。
第1実施形態又は第2実施形態では、非深度カメラ204としてサーモグラフィカメラを適用したが、サーモグラフィカメラ以外の任意の非深度カメラを適用することができる。
非深度カメラとして、カラーカメラを適用することができる。この場合、深度カメラ104を構成するカメラの解像度よりも高解像度なカラーカメラであることが好ましい。
治具座標系マーカー30としては、頂点P0,P1,P3に対応する球体の表面の色を例えばREDとした場合、頂点P2に対応する球体の色をRED以外の色とすることができる。そうすることで、第2マーカー位置情報算出部403は、頂点P0を特定することができる。
その後、変形例1で説明したように、例えばP0P1の長さがP0P3の長さよりも短くなるように構成した場合、第2マーカー位置情報算出部403は、P0P1の長さ及びP0P3の長さを算出して比較することで、頂点P1及び頂点P3をそれぞれ特定することができる。
また、マーカー30の重心を中心として例えば左回りに頂点P1,P2、P3と構成した場合、第2マーカー位置情報算出部403は、頂点P1及び頂点P3をそれぞれ特定することができる。
また、変形例2で説明したのと同様に、頂点P0の近傍に例えばREDのP4を配置するように構成することで、第2マーカー位置情報算出部403は、頂点P0を特定することが可能となる。
非深度カメラ204として、IRカメラ(赤外線カメラ)を適用することができる。近赤外線は生体構成物質での吸収率が小さく、特に800〜1000nmの波長の近赤外線は生体透過率が高い特性を有する。この特性を利用することで、測定対象に近赤外線を照射して、吸収された度合(吸光度)又は反射の変化によって成分を算出することが可能となる。
例えば、近赤外線用のIRカメラの場合750nm〜1400nm付近の波長の光を取得するカメラであることから、4つの頂点P0,P1,P2、P3には、例えばハロゲンランプを配置することができる。また、ハロゲンランプの色温度とピークの波長の関係を用いて、所定の波長の近赤外線を出力させることで、第2マーカー位置情報算出部403は、4つの頂点P0,P1,P2、P3を特定するように構成できる。
また、頂点P0に配置するハロゲンランプと他の頂点P1,P2、P3に配置するハロゲンランプの発する光の波長を変えておくことで第2マーカー位置情報算出部403は、頂点P0を特定することができる。
その後、変形例1で説明したように、第2マーカー位置情報算出部403は、例えばP0P1の長さがP0P3の長さよりも短くなるように構成した場合、P0P1の長さ及びP0P3の長さを算出して比較することで、頂点P1及び頂点P3をそれぞれ特定することができる。
また、マーカー30の重心を中心として例えば左回りに頂点P1,P2、P3と構成した場合、第2マーカー位置情報算出部403は、頂点P1及び頂点P3をそれぞれ特定することができる。
また、変形例2で説明したのと同様に、頂点P0の近傍に例えば別のハロゲンランプP4を配置するように構成することで、第2マーカー位置情報算出部403は、頂点P0を特定することも可能である。
非深度カメラ204として、ハイパースペクトルカメラを適用することができる。ハイパースペクトルカメラは、数10バンド以上に分光されたスペクトルを画像1ピクセル毎に取得することができる。このため、従来のRGBでは困難な色情報、物質の材質を判別することが可能となり、異物検査・品質管理・成分分析・環境調査等に広く利用される。
非深度カメラ204にハイパースペクトルカメラを適用した場合においても、ハイパースペクトルカメラの受光できる光の波長に合わせた光源をマーカー30の4つの頂点P0,P1,P2、P3に配置することで第2マーカー位置情報算出部403は、マーカー30の4つの頂点P0,P1,P2、P3を特定することが可能となる。
また、頂点P0に配置する光源と他の頂点P1,P2、P3に配置する光源の発する光の波長を変えておくことで第2マーカー位置情報算出部403は、頂点P0を特定することができる。
その後、変形例1で説明したように、例えばP0P1の長さがP0P3の長さよりも短くなるように構成した場合、第2マーカー位置情報算出部403は、P0P1の長さ及びP0P3の長さを算出して比較することで、頂点P1及び頂点P3をそれぞれ特定することができる。
また、マーカー30の重心を中心として例えば左回りに頂点P1,P2、P3と構成した場合、第2マーカー位置情報算出部403は、頂点P1及び頂点P3をそれぞれ特定することができる。
また、変形例2で説明したのと同様に、頂点P0の近傍に例えば別の光源P4を配置するように構成することで、第2マーカー位置情報算出部403は、頂点P0を特定することも可能である。
非深度カメラ204として、マルチスペクトルカメラを適用することができる。マルチスペクトルカメラは、任意に複数波長を選択し、その波長の測定に特化することで、動画レートでのスペクトル測定を可能とする。このため、従来のRGBでは困難な色情報、物質の材質を判別することが可能となり、異物検査・品質管理・成分分析・環境調査等に広く利用される。
なお、非深度カメラ204にマルチスペクトルカメラを適用した場合においても、マルチスペクトルカメラの受光できる光の波長に合わせた光源をマーカー30の4つの頂点P0,P1,P2、P3に配置することで第2マーカー位置情報算出部403は、マーカー30の4つの頂点P0,P1,P2、P3を特定することが可能となる。
なお、頂点P0、頂点P1及び頂点P3の特定について、第2マーカー位置情報算出部403は、変形例5(ハイパースペクトルカメラ)の場合と同様にできる。
非深度カメラ204として、UVカメラ(紫外線カメラ)を適用することができる。UVカメラを利用することで、可視光域では見えにくい表面のキズ、シミなどを鮮明にとらえることが可能となる。
例えば、UVカメラを適用する場合、4つの頂点P0,P1,P2、P3には特定の波長の紫外線のみを発生させる光源を配置することで、第2マーカー位置情報算出部403は、4つの頂点P0,P1,P2、P3を特定するように構成できる。
また、頂点P0に配置する光源と他の頂点P1,P2、P3に配置する光源の発する光の波長を変えておくことで第2マーカー位置情報算出部403は、頂点P0を特定することができる。
その後、変形例1で説明したように、例えばP0P1の長さがP0P3の長さよりも短くなるように構成した場合、第2マーカー位置情報算出部403は、P0P1の長さ及びP0P3の長さを算出して比較することで、頂点P1及び頂点P3をそれぞれ特定することができる。
また、マーカー30の重心を中心として例えば左回りに頂点P1,P2、P3と構成した場合、第2マーカー位置情報算出部403は、頂点P1及び頂点P3をそれぞれ特定することができる。
また、変形例2で説明したのと同様に、頂点P0の近傍に例えば別の光源P4を配置するように構成することで、第2マーカー位置情報算出部403は、頂点P0を特定することも可能である。
本願発明においては、任意の非深度カメラを適用することができる。例えば、水分量、糖度、癌細胞と正常細胞の分離、血管の強調等、様々な画像情報を取得できる非深度カメラが存在する。そのような特殊な非深度カメラと深度カメラとを組み合わせることによって、点群データに特殊な情報を付加することができる。これは、コンピュータによる外界の認識に必要な「セグメント化(画像の有意味な分離)」を可能にする。
10 第1電子機器
101 制御部
1011 第1通信部
1012 3次元計測部
1013 時刻同期部
102 記憶装置
103 有線及び/又は無線通信部
104 深度カメラ
105 計時部
20 第2電子機器
201 制御部
2011 第2通信部
2012 3次元計測部
2013 時刻同期部
202 記憶装置
203 有線及び/又は無線通信部
204 非深度カメラ(サーモグラフィカメラ)
205 時計部
30、30A 治具座標系マーカー
40 座標系算出部
401 第1マーカー位置情報算出部
402 第1キャリブレーション処理部
403 第2マーカー位置情報算出部
404 第2キャリブレーション処理部
405 座標変換行列作成部
406 記憶部
50 3次元データ処理部
501 点群データ座標値変換部
502 点群データ変換部
503 点群データ合成部
504 記憶部
60 3次元データ表示制御部
601 視点操作部
602 データ表示方式選択部
603 データ再生・保存指示部
604 3次元データ表示処理部
70 3次元データ保存部
701 点群データ記憶部
Claims (13)
- 3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより取得される2次元画像データに対して、前記被写体の表面の各点の3次元空間座標値を対応付け、前記2次元画像データを点群データに変換する点群データ変換システムであって、
第1の3次元空間座標系に基づいて前記被写体の表面の各点における画像データ及び前記各点の前記第1の3次元空間座標系における座標値を含む点群データを計測する3次元計測部を備える第1電子機器と、
前記第1の3次元空間座標系とは異なる、第2の3次元空間座標系に基づいて3次元空間中の前記被写体を画像平面へ投影することにより、前記被写体の2次元画像データを取得する2次元画像取得部を備える第2電子機器と、
4つの頂点を有し、隣り合う前記4つの頂点を結ぶことで得られる四角形の互いに向かい合う辺が平行となる前記4つの頂点に所定の標識物が設けられるマーカーと、
前記3次元計測部により計測された前記マーカーの点群データに基づいて、前記マーカーの少なくとも3つの頂点の前記第1の3次元空間座標系における座標値である第1マーカー位置情報を算出する第1マーカー位置情報算出部と、
前記2次元画像取得部により取得された前記マーカーの前記画像平面上の2次元画像データに基づいて、前記四角形の互いに向かい合う平行となる辺同士の前記画像平面上での交点及び前記2つの交点を結ぶ直線の前記画像平面上の方程式を算出し、前記マーカーの有する少なくとも3つの頂点の前記第2の3次元空間座標系における座標値である第2マーカー位置情報を算出する、第2マーカー位置情報算出部と、
前記第1マーカー位置情報算出部により算出される前記第1マーカー位置情報及び前記第2マーカー位置情報算出部により算出される前記第2マーカー位置情報に基づいて、前記第1の3次元空間座標系における座標値を前記第2の3次元空間座標系における座標値に変換するための座標変換行列を算出する座標変換行列算出部と、
前記2次元画像取得部により取得された前記被写体の2次元画像データに対して、前記3次元計測部により計測される前記被写体の表面の各点の前記第1の3次元空間座標系における座標値を前記座標変換行列により前記第2の3次元空間座標系における座標値に変換した点群データを対応付けることにより、前記被写体の2次元画像データを点群データに変換する点群データ変換部と、
を備える点群データ変換システム。 - 前記マーカーは、さらに、
前記四角形により構成される平面上に含まれない、所定の標識物が設けられた別の頂点を有し、
前記第1マーカー位置情報算出部は、さらに
前記別の頂点の前記第1の3次元空間座標系における座標値を含む前記第1マーカー位置情報を算出する、請求項1に記載の点群データ変換システム。 - 前記点群データ変換システムは、さらに、
3次元空間のグローバル座標系を備え、
前記マーカーの前記頂点の前記グローバル座標系の座標値が既知であり、
前記点群データ変換部は、さらに、
前記被写体の2次元画像データを前記グローバル座標系における座標値を有する点群データに変換することを特徴とする請求項1又は請求項2に記載の点群データ変換システム。 - 前記マーカーは、さらに、
3次元空間の治具座標系を備え、
前記点群データ変換部は、さらに、
前記被写体の2次元画像データを前記治具座標系における座標値を有する点群データに変換することを特徴とする請求項1〜請求項3の何れか1項に記載の点群データ変換システム。 - 前記2次元画像取得部は、サーモグラフィカメラによって構成され、前記被写体の2次元画像データは、熱画像データを含み、
前記マーカーの頂点に配置される標識物は発熱体であることを特徴とする、請求項1〜請求項4のいずれかに1項に記載の点群データ変換システム。 - 前記2次元画像取得部は、赤外線カメラによって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
前記マーカーの頂点に配置される標識物は、前記赤外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1〜請求項4のいずれかに1項に記載の点群データ変換システム。 - 前記2次元画像取得部は、紫外線カメラによって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
前記マーカーの頂点に配置される標識物は、前記紫外線カメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1〜請求項4のいずれかに1項に記載の点群データ変換システム。 - 前記2次元画像取得部は、マルチスペクトルカメラによって構成され、前記被写体の2次元画像データは、所定の波長のスペクトル情報を含み、
前記マーカーの頂点に配置される標識物は、前記マルチスペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1〜請求項4のいずれかに1項に記載の点群データ変換システム。 - 前記2次元画像取得部は、ハイパースペクトルカメラによって構成され、前記被写体の2次元画像データは、ハイパースペクトル情報を含み、
前記マーカーの頂点に配置される標識物は、前記ハイパースペクトルカメラの受光できる所定の波長の光を出力する光源であることを特徴とする、請求項1〜請求項4のいずれかに1項に記載の点群データ変換システム。 - 前記2次元画像取得部は、カラーカメラによって構成され、前記被写体の2次元画像データは、前記被写体のカラー画像データを含み、
前記マーカーの頂点に配置される標識物は、それぞれ表面が予め設定された色で着色されていることを特徴とする、請求項1〜請求項4のいずれかに1項に記載の点群データ変換システム。 - 3次元空間中の被写体の表面をレンズを通して画像平面へ投影することにより取得される2次元画像データに対して、前記被写体の表面の各点の3次元空間座標値(点群データ)を対応付け、前記2次元画像データを点群データに変換する点群データ変換方法であって、
第1の3次元空間座標系に基づいて前記被写体の表面の各点における画像データ及び前記各点の前記第1の3次元空間座標系における座標値を含む点群データを計測する3次元計測ステップと、
前記第1の3次元空間座標系とは異なる、第2の3次元空間座標系に基づいて3次元空間中の前記被写体を画像平面へ投影することにより、前記被写体の2次元画像データを取得する2次元画像データ取得ステップと、
3次元空間に配置される、4つの頂点を有し、隣り合う前記4つの頂点を結ぶことで得られる四角形の互いに向かい合う辺が平行となる前記4つの頂点に所定の標識物が設けられるマーカーを被写体として、前記3次元計測ステップにおいて計測して得られる前記マーカーの点群データに基づいて、前記マーカーの少なくとも3つの頂点の前記第1の3次元空間座標系における座標値である第1マーカー位置情報を算出する第1マーカー位置情報算出ステップと、
前記マーカーを被写体として、前記2次元画像データ取得ステップにおいて取得された前記マーカーの前記画像平面上の2次元画像データに基づいて、前記四角形の互いに向かい合う平行となる辺同士の前記画像平面上での交点及び前記2つの交点を結ぶ直線の前記画像平面上の方程式を算出し、前記マーカーの有する少なくとも3つの頂点の前記第2の3次元空間座標系における座標値である第2マーカー位置情報を算出する第2マーカー位置情報算出ステップと、
前記第1マーカー位置情報算出ステップにおいて算出される前記第1マーカー位置情報及び前記第2マーカー位置情報算出ステップにおいて算出される前記第2マーカー位置情報に基づいて、前記第1の3次元空間座標系における座標値を前記第2の3次元空間座標系における座標値に変換するための座標変換行列を算出する座標変換行列算出ステップと、
前記2次元画像情報取得ステップにおいて取得された前記被写体の2次元画像データに対して、前記3次元計測ステップにおいて計測される前記被写体の表面の各点の前記第1の3次元空間座標系における座標値を前記座標変換行列により前記第2の3次元空間座標系における座標値に変換した点群データを対応付けることにより、前記被写体の2次元画像データを点群データに変換する点群データ変換ステップと、
を備える、点群データ変換方法。 - 前記マーカーは、さらに、
前記四角形により構成される平面上に含まれない、所定の標識物が設けられた別の頂点を有し、
前記第1マーカー位置情報算出ステップは、さらに
前記別の頂点の前記第1の3次元空間座標系における座標値を含む前記第1マーカー位置情報を算出する、請求項11に記載の点群データ変換方法。 - コンピュータに、請求項11又は請求項12に記載の方法の各ステップを実行させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/027840 WO2018025842A1 (ja) | 2016-08-04 | 2017-08-01 | 点群データ変換システム、その方法、及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016153818 | 2016-08-04 | ||
JP2016153818 | 2016-08-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018025551A true JP2018025551A (ja) | 2018-02-15 |
JP6574461B2 JP6574461B2 (ja) | 2019-09-11 |
Family
ID=61193710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017140062A Expired - Fee Related JP6574461B2 (ja) | 2016-08-04 | 2017-07-19 | 点群データ変換システム及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6574461B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190139522A (ko) * | 2018-06-08 | 2019-12-18 | 포항공과대학교 산학협력단 | 초음파 영상데이터를 이용하여 수중 오브젝트의 3차원 형상을 구현하는 방법 및 수중로봇 |
JP2020120829A (ja) * | 2019-01-29 | 2020-08-13 | 新東工業株式会社 | ロボット |
CN111696145A (zh) * | 2019-03-11 | 2020-09-22 | 北京地平线机器人技术研发有限公司 | 深度信息确定方法、深度信息确定装置及电子设备 |
WO2021145244A1 (ja) * | 2020-01-16 | 2021-07-22 | ソニーグループ株式会社 | 表示装置、画像生成方法及びプログラム |
WO2021166809A1 (ja) * | 2020-02-17 | 2021-08-26 | ファナック株式会社 | 3次元点の位置情報を生成する三次元測定装置 |
CN113436242A (zh) * | 2021-07-22 | 2021-09-24 | 西安电子科技大学 | 基于移动深度相机的获取静态物体高精度深度值方法 |
CN113850914A (zh) * | 2021-08-13 | 2021-12-28 | 江苏瑞沃建设集团有限公司 | 一种线激光三维扫描点云数据的矩阵换方法 |
CN114136357A (zh) * | 2021-12-09 | 2022-03-04 | 易思维(杭州)科技有限公司 | 一种适用于面结构光传感器的测试方法及测试系统 |
DE112022003299T5 (de) | 2021-06-29 | 2024-04-18 | Fujifilm Corporation | Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011523742A (ja) * | 2008-05-20 | 2011-08-18 | 本田技研工業株式会社 | Rgb及び奥行き計測ハイブリッドカメラセンサを使用する長方形テーブル検知 |
JP2012050013A (ja) * | 2010-08-30 | 2012-03-08 | Team Lab Inc | 撮像装置、画像処理装置、画像処理方法及び画像処理プログラム |
US20120176478A1 (en) * | 2011-01-11 | 2012-07-12 | Sen Wang | Forming range maps using periodic illumination patterns |
JP2013073459A (ja) * | 2011-09-28 | 2013-04-22 | Oki Electric Ind Co Ltd | 画像処理装置、画像処理方法、プログラム、および画像処理システム |
-
2017
- 2017-07-19 JP JP2017140062A patent/JP6574461B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011523742A (ja) * | 2008-05-20 | 2011-08-18 | 本田技研工業株式会社 | Rgb及び奥行き計測ハイブリッドカメラセンサを使用する長方形テーブル検知 |
JP2012050013A (ja) * | 2010-08-30 | 2012-03-08 | Team Lab Inc | 撮像装置、画像処理装置、画像処理方法及び画像処理プログラム |
US20120176478A1 (en) * | 2011-01-11 | 2012-07-12 | Sen Wang | Forming range maps using periodic illumination patterns |
JP2013073459A (ja) * | 2011-09-28 | 2013-04-22 | Oki Electric Ind Co Ltd | 画像処理装置、画像処理方法、プログラム、および画像処理システム |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102074182B1 (ko) | 2018-06-08 | 2020-02-06 | 포항공과대학교 산학협력단 | 초음파 영상데이터를 이용하여 수중 오브젝트의 3차원 형상을 구현하는 방법 및 수중로봇 |
KR20190139522A (ko) * | 2018-06-08 | 2019-12-18 | 포항공과대학교 산학협력단 | 초음파 영상데이터를 이용하여 수중 오브젝트의 3차원 형상을 구현하는 방법 및 수중로봇 |
JP7364179B2 (ja) | 2019-01-29 | 2023-10-18 | 新東工業株式会社 | ロボット |
JP2020120829A (ja) * | 2019-01-29 | 2020-08-13 | 新東工業株式会社 | ロボット |
CN111696145A (zh) * | 2019-03-11 | 2020-09-22 | 北京地平线机器人技术研发有限公司 | 深度信息确定方法、深度信息确定装置及电子设备 |
CN111696145B (zh) * | 2019-03-11 | 2023-11-03 | 北京地平线机器人技术研发有限公司 | 深度信息确定方法、深度信息确定装置及电子设备 |
WO2021145244A1 (ja) * | 2020-01-16 | 2021-07-22 | ソニーグループ株式会社 | 表示装置、画像生成方法及びプログラム |
JP7328437B2 (ja) | 2020-02-17 | 2023-08-16 | ファナック株式会社 | 3次元点の位置情報を生成する三次元測定装置 |
JPWO2021166809A1 (ja) * | 2020-02-17 | 2021-08-26 | ||
WO2021166809A1 (ja) * | 2020-02-17 | 2021-08-26 | ファナック株式会社 | 3次元点の位置情報を生成する三次元測定装置 |
DE112022003299T5 (de) | 2021-06-29 | 2024-04-18 | Fujifilm Corporation | Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm |
CN113436242A (zh) * | 2021-07-22 | 2021-09-24 | 西安电子科技大学 | 基于移动深度相机的获取静态物体高精度深度值方法 |
CN113436242B (zh) * | 2021-07-22 | 2024-03-29 | 西安电子科技大学 | 基于移动深度相机的获取静态物体高精度深度值方法 |
CN113850914A (zh) * | 2021-08-13 | 2021-12-28 | 江苏瑞沃建设集团有限公司 | 一种线激光三维扫描点云数据的矩阵换方法 |
CN114136357A (zh) * | 2021-12-09 | 2022-03-04 | 易思维(杭州)科技有限公司 | 一种适用于面结构光传感器的测试方法及测试系统 |
CN114136357B (zh) * | 2021-12-09 | 2023-06-02 | 易思维(杭州)科技有限公司 | 一种适用于面结构光传感器的测试方法及测试系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6574461B2 (ja) | 2019-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6574461B2 (ja) | 点群データ変換システム及びその方法 | |
WO2018025842A1 (ja) | 点群データ変換システム、その方法、及びプログラム | |
JP6940047B2 (ja) | コンピュータによる鉄筋測定検査システム及び鉄筋測定検査方法 | |
US9207069B2 (en) | Device for generating a three-dimensional model based on point cloud data | |
CN108307675B (zh) | 用于vr/ar应用中的深度增强的多基线相机阵列系统架构 | |
KR101604037B1 (ko) | 카메라와 레이저 스캔을 이용한 3차원 모델 생성 및 결함 분석 방법 | |
EP2104365A1 (en) | Method and apparatus for rapid three-dimensional restoration | |
CN113514008B (zh) | 三维扫描方法、三维扫描系统和计算机可读存储介质 | |
CN101821580A (zh) | 用于实物形状的三维测量的系统和方法 | |
US20170132454A1 (en) | Face location detection | |
JP2003203220A (ja) | 三次元画像処理方法、三次元画像処理装置、三次元画像処理システムおよび三次元画像処理プログラム | |
JP2006099188A (ja) | 情報処理方法および装置 | |
CN107025663A (zh) | 视觉系统中用于3d点云匹配的杂波评分系统及方法 | |
CN103196370A (zh) | 一种导管接头空间位姿参数的测量方法和装置 | |
EP3916677A1 (en) | Three-dimensional measurement device | |
JP2010145186A (ja) | 形状測定装置およびプログラム | |
CN111160136A (zh) | 一种标准化3d信息采集测量方法及系统 | |
JP5522630B2 (ja) | 三次元化装置 | |
CN106767526A (zh) | 一种基于激光mems振镜投影的彩色多线激光三维测量方法 | |
Zhang et al. | Relative orientation based on multi-features | |
Wang et al. | Facial feature extraction in an infrared image by proxy with a visible face image | |
KR20100128919A (ko) | 단일 카메라 및 레이저를 이용한 계단 치수 측정 시스템 및 방법 | |
KR20160047702A (ko) | 3차원 자세측정시스템 및 이를 이용한 자세측정방법 | |
JP2008250487A (ja) | エッジ検出によるモデルマッチングを用いたカメラ校正方法 | |
Yamauchi et al. | Calibration of a structured light system by observing planar object from unknown viewpoints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AA64 | Notification of invalidation of claim of internal priority (with term) |
Free format text: JAPANESE INTERMEDIATE CODE: A241764 Effective date: 20170822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170906 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180518 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190625 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190816 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6574461 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |