(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023172871
(43)【公開日】2023-12-06
(54)【発明の名称】キャリブレーション方法およびプログラム
(51)【国際特許分類】
G01B 11/24 20060101AFI20231129BHJP
G01B 11/245 20060101ALI20231129BHJP
G06T 7/80 20170101ALI20231129BHJP
G01C 3/00 20060101ALI20231129BHJP
【FI】
G01B11/24 A
G01B11/245 H
G01B11/24 K
G06T7/80
G01C3/00 120
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023016389
(22)【出願日】2023-02-06
(31)【優先権主張番号】P 2022084521
(32)【優先日】2022-05-24
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005348
【氏名又は名称】株式会社SUBARU
(74)【代理人】
【識別番号】110001357
【氏名又は名称】弁理士法人つばさ国際特許事務所
(72)【発明者】
【氏名】小甲 啓隆
【テーマコード(参考)】
2F065
2F112
5L096
【Fターム(参考)】
2F065AA53
2F065BB05
2F065BB07
2F065DD03
2F065FF01
2F065FF04
2F065FF05
2F065FF11
2F065FF61
2F065GG22
2F065JJ03
2F065JJ05
2F065JJ26
2F065MM07
2F065PP15
2F065QQ21
2F065QQ25
2F065RR07
2F112AD01
2F112BA12
2F112CA12
2F112DA02
2F112DA21
2F112DA40
2F112FA03
2F112FA21
2F112FA35
2F112FA45
2F112GA01
5L096CA02
5L096CA18
5L096DA02
5L096FA06
5L096FA66
5L096FA67
5L096FA69
(57)【要約】
【課題】外部パラメータの検出精度を高めることができるキャリブレーション方法を得る。
【解決手段】本発明の一実施の形態に係るキャリブレーション方法は、測距センサを用いて、平面部分と平面部分を基準として傾斜した傾斜面を含む2つ以上の立体部分とを有するキャリブレーション部材のうちの、平面部分に対応する第1の点群データおよび2つ以上の立体部分に対応する第2の点群データを含む全体点群データを生成することと、第1の点群データに基づいて平面部分を示す平面方程式を算出する第1の演算を行うことと、第2の点群データに基づいて2つ以上の立体部分のそれぞれの位置を算出する第2の演算を行うことと、第1の演算の結果および第2の演算の結果に基づいて、キャリブレーション部材の位置および向きを推定し、その推定結果に基づいて測距センサとキャリブレーション部材との間の位置関係を示す第1の外部パラメータを生成することとを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
測距センサを用いて、平面部分と前記平面部分を基準として傾斜した傾斜面を含む2つ以上の立体部分とを有するキャリブレーション部材のうちの、前記平面部分に対応する第1の点群データおよび前記2つ以上の立体部分に対応する第2の点群データを含む全体点群データを生成することと、
前記第1の点群データに基づいて前記平面部分を示す平面方程式を算出する第1の演算を行うことと、
前記第2の点群データに基づいて前記2つ以上の立体部分のそれぞれの位置を算出する第2の演算を行うことと、
前記第1の演算の結果および前記第2の演算の結果に基づいて、前記キャリブレーション部材の位置および向きを推定し、その推定結果に基づいて前記測距センサと前記キャリブレーション部材との間の位置関係を示す第1の外部パラメータを生成することと
を含むキャリブレーション方法。
【請求項2】
前記2つ以上の立体部分のうちの少なくとも1つは、曲面を有する
請求項1に記載のキャリブレーション方法。
【請求項3】
前記2つ以上の立体部分のうちの少なくとも1つは、平面状の複数の前記傾斜面を含む
請求項1に記載のキャリブレーション方法。
【請求項4】
カメラを用いて、前記キャリブレーション部材を撮像することにより、前記カメラと前記キャリブレーション部材との間の位置関係を示す第2の外部パラメータを生成することと、
前記第1の外部パラメータおよび前記第2の外部パラメータに基づいて、前記カメラと前記測距センサとの間の位置関係を示す第3の外部パラメータを生成する
請求項1から請求項3のいずれか一項に記載のキャリブレーション方法。
【請求項5】
測距センサを用いて、平面部分と前記平面部分を基準として傾斜した傾斜面を含む2つ以上の立体部分とを有するキャリブレーション部材のうちの、前記平面部分に対応する第1の点群データおよび前記2つ以上の立体部分に対応する第2の点群データを含む全体点群データを生成することと、
前記第1の点群データに基づいて前記平面部分を示す平面方程式を算出する第1の演算を行うことと、
前記第2の点群データに基づいて前記2つ以上の立体部分のそれぞれの位置を算出する第2の演算を行うことと、
前記第1の演算の結果および前記第2の演算の結果に基づいて、前記キャリブレーション部材の位置および向きを推定し、その推定結果に基づいて前記測距センサと前記キャリブレーション部材との間の位置関係を示す第1の外部パラメータを生成することと
をプロセッサに行わせる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、測距センサに関する外部パラメータを算出するキャリブレーション方法およびプログラムに関する。
【背景技術】
【0002】
ライダー(Lidar;light detection and ranging)センサなどの測距センサでは、例えば赤外光を射出するとともに、計測対象により反射された赤外光を検出することにより、測距センサから計測対象までの距離を検出することができる。例えば、特許文献1には、プレート上にサークル状のマーカが配置されたキャリブレーションシートを用いて、キャリブレーションシートとライダーセンサとの相対的な位置関係を検出する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
キャリブレーション部材と測距センサとの相対的な位置関係を示す外部パラメータの検出精度は高いことが望ましく、さらなる精度の向上が期待されている。
【0005】
外部パラメータの検出精度を高めることができるキャリブレーション方法およびプログラムを提供することが望ましい。
【0006】
本開示の一実施の形態に係るキャリブレーション方法は、測距センサを用いて、平面部分と平面部分を基準として傾斜した傾斜面を含む2つ以上の立体部分とを有するキャリブレーション部材のうちの、平面部分に対応する第1の点群データおよび2つ以上の立体部分に対応する第2の点群データを含む全体点群データを生成することと、第1の点群データに基づいて平面部分を示す平面方程式を算出する第1の演算を行うことと、第2の点群データに基づいて2つ以上の立体部分のそれぞれの位置を算出する第2の演算を行うことと、第1の演算の結果および第2の演算の結果に基づいて、キャリブレーション部材の位置および向きを推定し、その推定結果に基づいて測距センサとキャリブレーション部材との間の位置関係を示す第1の外部パラメータを生成することとを含む。
【0007】
本開示の一実施の形態に係るプログラムは、測距センサを用いて、平面部分と平面部分を基準として傾斜した傾斜面を含む2つ以上の立体部分とを有するキャリブレーション部材のうちの、平面部分に対応する第1の点群データおよび2つ以上の立体部分に対応する第2の点群データを含む全体点群データを生成することと、第1の点群データに基づいて平面部分を示す平面方程式を算出する第1の演算を行うことと、第2の点群データに基づいて2つ以上の立体部分のそれぞれの位置を算出する第2の演算を行うことと、第1の演算の結果および第2の演算の結果に基づいて、キャリブレーション部材の位置および向きを推定し、その推定結果に基づいて測距センサとキャリブレーション部材との間の位置関係を示す第1の外部パラメータを生成することとをプロセッサに行わせるものである。
【0008】
本開示の一実施の形態に係るキャリブレーション方法およびプログラムによれば、外部パラメータの検出精度を高めることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示の一実施の形態に係るキャリブレーション方法が用いられるキャリブレーションシステムの一構成例を表す構成図である。
【
図2】
図2は、
図1に示したキャリブレーション部材の一構成例を表す構成図である。
【
図3】
図3は、
図1に示した処理装置の一構成例を表すブロック図である。
【
図4】
図4は、
図3に示した外部パラメータ生成部の一動作例を表すフローチャートである。
【
図5】
図5は、
図3に示した外部パラメータ生成部の一動作例を表す説明図である。
【
図6】
図6は、
図3に示した外部パラメータ生成部の一動作例を表す他の説明図である。
【
図7A】
図7Aは、
図3に示した外部パラメータ生成部の一動作例を表す他の説明図である。
【
図7B】
図7Bは、
図3に示した外部パラメータ生成部の一動作例を表す他の説明図である。
【
図8A】
図8Aは、
図3に示した外部パラメータ生成部の一動作例を表す他の説明図である。
【
図8B】
図8Bは、
図3に示した外部パラメータ生成部の一動作例を表す他の説明図である。
【
図9】
図9は、参考例に係るキャリブレーション部材を用いた場合の一動作例を表す説明図である。
【
図10】
図10は、他の参考例に係るキャリブレーション部材の一構成例を表す構成図である。
【
図11】
図11は、変形例に係るキャリブレーション部材の一構成例を表す構成図である。
【
図12】
図12は、他の変形例に係るキャリブレーション部材の一構成例を表す構成図である。
【
図13】
図13は、他の変形例に係るキャリブレーション部材の一構成例を表す構成図である。
【
図14】
図14は、他の変形例に係るキャリブレーション部材の一構成例を表す構成図である。
【
図15】
図15は、
図14に示したキャリブレーション部材を用いた場合の外部パラメータ生成部の一動作例を表す説明図である。
【
図16】
図16は、他の変形例に係るキャリブレーション部材の一構成例を表す構成図である。
【
図17】
図17は、変形例に係るキャリブレーション方法が用いられるキャリブレーションシステムの一構成例を表す構成図である。
【発明を実施するための形態】
【0010】
以下、本開示の実施の形態について、図面を参照して詳細に説明する。
【0011】
<実施の形態>
[構成例]
図1は、一実施の形態に係るキャリブレーション方法が用いられるキャリブレーションシステム1の一構成例を表すものである。キャリブレーションシステム1は、例えば電子機器を製造する工場に設けられ、キャリブレーション部材を用いて、電子機器に搭載されたカメラのキャリブレーションを行うように構成される。キャリブレーションシステム1は、ベルトコンベア13と、電子機器10と、測距センサ14と、キャリブレーション部材90と、処理装置20とを備えている。
【0012】
ベルトコンベア13は、電子機器の製造ラインにおいて、検査対象である電子機器10を乗せ、この電子機器10を製造ラインに沿って移動させるように構成される。
【0013】
電子機器10は、電子機器の製造ラインにおける検査対象である。電子機器10は、カメラ11と、画像処理部12とを有している。カメラ11は、ステレオカメラであってもよいし、単眼のカメラであってもよい。カメラ11は、電子機器10の内部に配置される。画像処理部12は、例えば電子機器10が移動している場合において、カメラ11の撮像画像に基づいて、電子機器10の前方の物体を認識するとともにその物体の3次元空間における位置を算出する。そして、電子機器10は、認識した物体についての情報に基づいて、例えば、認識した物体に応じた所定の処理を行うことができるようになっている。カメラ11は、このキャリブレーションシステム1において、キャリブレーション部材90を撮像するようになっている。電子機器10は、カメラ11以外の1または複数のセンサを有していてもよい。
【0014】
測距センサ14は、例えばライダーセンサであり、例えば赤外光を射出するとともに、計測対象により反射された赤外光を検出することにより、点群データを生成するように構成される。測距センサ14は、例えば、ベルトコンベア13の近くに固定配置される。測距センサ14は、このキャリブレーションシステム1において、キャリブレーション部材90の点群データを生成するようになっている。
【0015】
キャリブレーション部材90は、キャリブレーションシステム1において、カメラ11の撮像対象であるとともに、測距センサ14の計測対象である。キャリブレーションシステム1は、このキャリブレーション部材90を用いて、電子機器10に搭載されたカメラ11のキャリブレーションを行う。
【0016】
図2は、キャリブレーション部材90の一構成例を表すものであり、(A)は側面図を示し、(B)は正面図を示す。
図2(A)において、測距センサ14からの光は左側から照射される。キャリブレーション部材90は、基体部91と、2つの球体部92(球体部92A,92B)とを有している。基体部91は、板形状を有する部材であり、2つの球体部92は、球形状を有する部材である。この例では、2つの球体部92は
図2における縦方向に並設され、2つの球体部92のサイズは互いに同じである。なお、これに限定されるものではなく、2つの球体部92のサイズは互いに異なっていてもよい。基体部91の、球体部92A,92Bに対応する位置には、穴がそれぞれ設けられており、球体部92A,92Bはこれらの2つの穴にそれぞれはめ込まれ固定されている。
【0017】
キャリブレーションシステム1は、カメラ11がキャリブレーション部材90を撮像した結果に基づいて、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcを生成する。
図1では、この外部パラメータEcを、カメラ11からキャリブレーション部材90に向かうベクトルを用いて示している。また、キャリブレーションシステム1は、測距センサ14がキャリブレーション部材90を計測した結果に基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成する。
図1では、この外部パラメータElを、測距センサ14からキャリブレーション部材90に向かうベクトルを用いて示している。そして、キャリブレーションシステム1は、これらの2つの外部パラメータEc,Elに基づいて、カメラ11と測距センサ14との間の位置関係を示す外部パラメータElcを生成する。
図1では、この外部パラメータElcを、測距センサ14からカメラ11に向かうベクトルを用いて示している。外部パラメータEc,El,Elcのそれぞれは、6つのパラメータ(x,y,z,rool,pitch,yaw)を含む。キャリブレーションシステム1は、この外部パラメータElcに基づいて、カメラ11の座標系と、測距センサ14の座標系を一致させ、カメラ11のキャリブレーションを行うようになっている。
【0018】
処理装置20は、カメラ11の撮像結果、および測距センサ14の計測結果に基づいてキャリブレーション処理を行うように構成される。処理装置20は、例えば、1または複数のプロセッサ、および1または複数のメモリを含んで構成され、1または複数のプロセッサが、プログラム27(後述)を実行することにより、キャリブレーション処理を行うようになっている。
【0019】
図3は、処理装置20の一構成例を表すものである。処理装置20は、点群データ取得部21と、外部パラメータ生成部30と、画像取得部22と、外部パラメータ生成部23と、演算部24と、キャリブレーション処理部25と、記憶部26とを有している。
【0020】
点群データ取得部21は、測距センサ14により生成された点群データを、例えば有線通信を用いて測距センサ14から取得するように構成される。そして、点群データ取得部21は、取得した点群データを外部パラメータ生成部30およびキャリブレーション処理部25に供給するようになっている。
【0021】
外部パラメータ生成部30は、点群データ取得部21から供給された点群データに基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成するように構成される。外部パラメータ生成部30は、点群抽出部31と、平面方程式算出部32と、立体位置算出部33と、生成処理部34とを有している。
【0022】
点群抽出部31は、点群データ取得部21から供給された点群データのうち、キャリブレーション部材90に係る点群データDを抽出し、抽出した点群データDを、基体部91に係る点群データD91と、2つの球体部92に係る点群データD92とに区分するように構成される。
【0023】
平面方程式算出部32は、基体部91に係る点群データD91に基づいて、3次元空間における、これらの点群が位置する無限に広い平面を示す平面方程式を算出するように構成される。
【0024】
立体位置算出部33は、2つの球体部92に係る点群データD92に基づいて、2つの球体部92の位置を算出するように構成される。
【0025】
生成処理部34は、平面方程式算出部32が算出した平面方程式、および立体位置算出部33が算出した2つの球体部92の位置に基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成するように構成される。
【0026】
画像取得部22は、カメラ11により生成された撮像画像の画像データを、例えば有線通信を用いて電子機器10から取得するように構成される。そして、画像取得部22は、画像データを外部パラメータ生成部23およびキャリブレーション処理部25に供給するようになっている。
【0027】
外部パラメータ生成部23は、画像取得部22から供給された画像データに基づいて、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcを生成するように構成される。
【0028】
演算部24は、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElと、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcとに基づいて、カメラ11と測距センサ14との間の位置関係を示す外部パラメータElcを生成するように構成される。具体的には、演算部24は、以下の式を用いて、外部パラメータElcを算出するようになっている。
Elc = El × Ec-1
【0029】
キャリブレーション処理部25は、点群データ取得部21から供給された点群データ、画像取得部22から供給された画像データ、および演算部24から供給された外部パラメータElcに基づいて、画像処理部12の画像処理のキャリブレーションデータDATAを生成するように構成される。キャリブレーション処理部25は、外部パラメータElcを用いて、カメラ11の座標系と、測距センサ14の座標系とを一致させる。そして、キャリブレーション処理部25は、カメラ11の撮像結果に基づいて、3次元空間における被写体の位置を求めるとともに、測距センサ14の計測結果に基づいて、3次元空間における被写体の位置を求める。そして、キャリブレーション処理部25は、例えば、カメラ11の撮像結果に基づいて得られた、3次元空間における被写体の位置と、測距センサ14の計測結果に基づいて得られた、3次元空間における被写体の位置とが、互いに一致するように、撮像画像に基づく画像処理を調節する。そして、キャリブレーション処理部25は、この画像処理の調節についてのデータを含むキャリブレーションデータDATAを出力する。例えば、電子機器10の画像処理部12は、このキャリブレーションデータDATAを用いて、撮像画像に基づく画像処理を行う。これにより、電子機器10では、例えば、カメラ11の画像歪みを低減することができ、3次元空間における被写体の位置の精度を高めることができるようになっている。
【0030】
記憶部26は、例えば不揮発性の記憶部であり、例えば半導体メモリやハードディスクなどを用いて構成される。記憶部26は、プログラム27を記憶している。点群データ取得部21、外部パラメータ生成部30、画像取得部22、外部パラメータ生成部23、演算部24、およびキャリブレーション処理部25は、このプログラム27に基づいて処理を行うようになっている。
【0031】
ここで、測距センサ14は、本開示の一実施の形態における「測距センサ」の一具体例に対応する。キャリブレーション部材90は、本開示の一実施の形態における「キャリブレーション部材」の一具体例に対応する。基体部91の表面は、本開示の一実施の形態における「平面部分」の一具体例に対応する。球体部92の表面は、本開示の一実施の形態における「立体部分」の一具体例に対応する。外部パラメータElは、本開示の一実施の形態における「第1の外部パラメータ」の一具体例に対応する。カメラ11は、本開示の一実施の形態における「カメラ」の一具体例に対応する。外部パラメータEcは、本開示の一実施の形態における「第2の外部パラメータ」の一具体例に対応する。外部パラメータElcは、本開示の一実施の形態における「第3の外部パラメータの一具体例に対応する」。
【0032】
[動作および作用]
続いて、本実施の形態のキャリブレーションシステム1の動作および作用について説明する。
【0033】
(全体動作概要)
まず、
図1を参照して、キャリブレーションシステム1の動作を説明する。電子機器10のカメラ11は、キャリブレーション部材90の画像データを生成する。測距センサ14は、キャリブレーション部材90の点群データを生成する。処理装置20は、カメラ11の撮像結果、および測距センサ14の計測結果に基づいてキャリブレーション処理を行う。具体的には、点群データ取得部21は、測距センサ14により生成された点群データを、測距センサ14から取得する。外部パラメータ生成部30は、点群データ取得部21から供給された点群データに基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成する。画像取得部22は、カメラ11により生成された撮像画像の画像データを、電子機器10から取得する。外部パラメータ生成部23は、画像取得部22から供給された画像データに基づいて、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcを生成する。演算部24は、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElと、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcとに基づいて、カメラ11と測距センサ14との間の位置関係を示す外部パラメータElcを生成する。キャリブレーション処理部25は、点群データ取得部21から供給された点群データ、画像取得部22から供給された画像データ、および演算部24から供給された外部パラメータElcに基づいて、画像処理部12の画像処理のキャリブレーションデータDATAを生成する。
【0034】
(詳細動作)
外部パラメータ生成部30において、点群抽出部31は、点群データ取得部21から供給された点群データのうち、キャリブレーション部材90に係る点群データDを抽出し、抽出した点群データDを、基体部91に係る点群データD91と、2つの球体部92に係る点群データD92とに区分する。平面方程式算出部32は、基体部91に係る点群データD91に基づいて、3次元空間における、これらの点群が位置する無限に広い平面を示す平面方程式を算出する。立体位置算出部33は、2つの球体部92に係る点群データD92に基づいて、2つの球体部92の位置を算出する。生成処理部34は、平面方程式算出部32が算出した平面方程式、および立体位置算出部33が算出した2つの球体部92の位置に基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成する。以下に、この外部パラメータ生成部30の動作について詳細に説明する。
【0035】
図4は、外部パラメータ生成部30の一動作例を表すものである。
【0036】
まず、点群抽出部31は、点群データ取得部21から供給された点群データのうち、キャリブレーション部材90に係る点群データDを抽出する(ステップS101)。
【0037】
図5は、点群データ取得部21から供給された点群データの一例を表すものである。
図6は、点群抽出部31が抽出した点群データDの一例を表すものである。
図5,6における、並んで配置された小さな丸は、点群を示す。測距センサ14は、キャリブレーション部材90を含むより広い領域に対して、例えば赤外光を射出するとともに、計測対象により反射された赤外光を検出することにより、点群データを生成する。
図5,6に示したように、点群の密度はやや低い。得られた点群データは、キャリブレーション部材90に対応する領域における点群データDと、その領域以外における点群データを含む。測距センサ14から、キャリブレーション部材90に対応する領域における点群までの距離は、測距センサ14から、その領域以外における点群までの距離よりも短い。点群抽出部31は、例えば、測距センサ14から点群までの距離の差を利用して、点群データ取得部21から供給された点群データのうち、キャリブレーション部材90に係る点群データD(
図6)を抽出する。
【0038】
次に、点群抽出部31は、ステップS101において得られた点群データDを、基体部91に係る点群データD91と、2つの球体部92に係る点群データD92とに区分する(ステップS102)。
図6において、基体部91は板形状を有する部材であるので、基体部91に係る点群は、平面上に位置している。2つの球体部92は球形状を有する部材であるので、2つの球体部92に係る点群は、球面上に位置している。点群抽出部31は、例えば、測距センサ14から点群までの距離の差を利用して、点群データDを、基体部91に係る点群データD91と、2つの球体部92に係る点群データD92とに区分する。
【0039】
次に、平面方程式算出部32は、基体部91に係る点群データD91に基づいて、3次元空間における、点群データD91の点群が位置する、無限に広い平面を示す平面方程式を算出する(ステップS103)。
【0040】
図7A,7Bは、平面方程式算出部32の一動作例を表すものである。この
図7A,7Bでは、
図6に示した球体部92Aを横切る点群PCの位置を示しており、横軸は測距センサ14の座標系における水平方向Xの座標を示し、縦軸は測距センサ14の座標系における奥行方向Zの座標を示す。
図7Aの例と、
図7Bの例とでは、測距センサ14からみたキャリブレーション部材90の向きが異なっている。これらの点群は、点群データD91に属する点群と、点群データD92に属する点群を含む。点群データD91に属する点群は、キャリブレーション部材90における基体部91の表面に対応しているので、平面上に位置する。なお、
図7A,7Bでは、水平方向Xの例を示したが、垂直方向Yについても同様である。平面方程式算出部32は、これらの点群データD91に基づいて、3次元空間における、点群データD91の点群が位置する、無限に広い平面を示す平面方程式を算出する。
【0041】
次に、立体位置算出部33は、2つの球体部92に係る点群データD92に基づいて、2つの球体部92の位置を算出する(ステップS104)。
【0042】
図8A,8Bは、立体位置算出部33の一動作例を表すものである。点群データD92に属する点群は、キャリブレーション部材90における2つの球体部92の表面に対応しているので、球面上に位置する。なお、
図8A,8Bでは、水平方向Xの例を示したが、垂直方向Yについても同様である。立体位置算出部33は、これらの点群データD92に基づいて、点群が位置する球体の方程式を算出することにより、2つの球体部92の位置を算出する。
【0043】
次に、生成処理部34は、平面方程式算出部32が算出した平面方程式、および立体位置算出部33が算出した2つの球体部92の位置に基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成する(ステップS105)。すなわち、平面方程式により、キャリブレーション部材90が存在し得る平面が特定され、2つの球体部92の位置により、その平面内におけるキャリブレーション部材90の位置および向きが特定される。よって、これらの平面方程式および2つの球体部92の位置に基づいて、3次元空間におけるキャリブレーション部材90の位置および向きが特定される。生成処理部34は、これらの平面方程式および2つの球体部92の位置に基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成する。
【0044】
以上で、この処理は終了する。
【0045】
このようにして、外部パラメータ生成部30は、点群データ取得部21から供給された点群データに基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成する。外部パラメータ生成部23は、画像取得部22から供給された撮像画像の画像データに基づいて、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcを生成する。そして、演算部24は、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElと、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcとに基づいて、カメラ11と測距センサ14との間の位置関係を示す外部パラメータElcを生成する。キャリブレーション処理部25は、点群データ取得部21から供給された点群データ、画像取得部22から供給された画像データ、および演算部24から供給された外部パラメータElcに基づいて、画像処理部12の画像処理のキャリブレーションデータDATAを生成する。
【0046】
このように、キャリブレーションシステム1におけるキャリブレーション方法では、測距センサ14を用いて、基体部91と2つの球体部92とを有するキャリブレーション部材90のうちの、基体部91に対応する点群データD91および2つの球体部92に対応する点群データD92を含む点群データDを生成することと、点群データD91に基づいて基体部91を示す平面方程式を算出する第1の演算を行うことと、点群データD92に基づいて、2つの球体部92のそれぞれの位置を算出する第2の演算を行うことと、第1の演算の結果および第2の演算の結果に基づいて、キャリブレーション部材90の位置および向きを推定し、その推定結果に基づいて測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成することとを含むようにした。これにより、外部パラメータの検出精度を高めることができる。
【0047】
すなわち、キャリブレーション方法では、例えばシンプルな板形状を有するキャリブレーション部材90Rを使用し得る。しかしながら、測距センサ14により得られる点群の密度はやや低いので、例えば
図9に示すように、キャリブレーション部材90Rのエッジの位置を高い精度で検出することが難しい。この場合には、キャリブレーション部材90Rの位置および向きを推定する推定精度が低くなるので、得られた外部パラメータElの精度もまた低くなってしまう。
【0048】
一方、このキャリブレーション方法では、基体部91と2つの球体部92とを有するキャリブレーション部材90を使用するようにした。これにより、このキャリブレーション方法では、例えばステップS104に示したように、点群データD92に基づいて、点群が位置する球体の方程式を算出することにより、2つの球体部92の位置を算出することができる。すなわち、測距センサ14により得られる点群の密度が低い場合でも、点群が位置する球体の方程式を算出することにより、高い精度で2つの球体部92の位置を算出することができる。その結果、外部パラメータの検出精度を高めることができる。
【0049】
また、このキャリブレーション方法では、キャリブレーション部材90に球体部92を設けるようにしたので、外部パラメータの検出精度を高めることができる。すなわち、例えば、
図10に示すように、基体部93および円柱形状を有する2つの円柱部94(円柱部94A,94B)を有するキャリブレーション部材90Sを用いた場合には、円柱部94の表面が平坦であるので、円柱部94の位置を高い精度で算出することができない。一方、このキャリブレーション方法では、球体部92を設けるようにした。球体部92の表面は曲面であるので、球体部92は基体部91を基準として傾斜した傾斜面を含む。よって、球体部92に係る点群に含まれる点は、例えば
図8A、8Bに示したように、奥行方向Zにおいて様々な位置をとり得る。これにより、このキャリブレーション方法では、例えばステップS104に示したように、点群データD92に基づいて、点群が位置する球体の方程式を算出することにより、球体部92の位置を算出することができる。その結果、外部パラメータの検出精度を高めることができる。
【0050】
また、このキャリブレーション方法では、カメラ11を用いて、キャリブレーション部材90を撮像することにより、カメラ11とキャリブレーション部材90との間の位置関係を示す外部パラメータEcを生成することと、外部パラメータElおよび外部パラメータEcに基づいて、カメラ11と測距センサ14との間の位置関係を示す外部パラメータElcを生成することとを含むようにした。これにより、このキャリブレーション方法では、この外部パラメータElcに基づいて、カメラ11の座標系と、測距センサ14の座標系とを一致させることができ、カメラ11のキャリブレーションを行うことができる。このように、このキャリブレーション方法では、精度が高い外部パラメータElcを用いて処理を行うことができるので、カメラ11のキャリブレーションを高い精度で行うことができる。
【0051】
[効果]
以上のように本実施の形態では、測距センサを用いて、基体部と2つの球体部とを有するキャリブレーション部材のうちの、基体部に対応する点群データD91および2つの球体部に対応する点群データD92を含む点群データを生成することと、点群データD91に基づいて基体部を示す平面方程式を算出する第1の演算を行うことと、点群データD92に基づいて、2つの球体部のそれぞれの位置を算出する第2の演算を行うことと、第1の演算の結果および第2の演算の結果に基づいて、キャリブレーション部材の位置および向きを推定し、その推定結果に基づいて測距センサとキャリブレーション部材との間の位置関係を示す外部パラメータElを生成することとを含むようにした。これにより、外部パラメータの検出精度を高めることができる。
【0052】
本実施の形態では、キャリブレーション部材に球体部を設けるようにしたので、外部パラメータの検出精度を高めることができる。
【0053】
本実施の形態では、カメラを用いて、キャリブレーション部材を撮像することにより、カメラとキャリブレーション部材との間の位置関係を示す外部パラメータEcを生成することと、外部パラメータElおよび外部パラメータEcに基づいて、カメラと測距センサとの間の位置関係を示す外部パラメータElcを生成するようにしたので、カメラのキャリブレーションを高い精度で行うことができる。
【0054】
[変形例1]
上記実施の形態では、
図11(A)に示すように、キャリブレーション部材90において、球体部92の表面が、測距センサ14からの光が照射される側(
図11(A)における左側)に多く露出するようにしたが、これに限定されるものではない。これに代えて、例えば、
図11(B)に示すように、球体部92の表面が、測距センサ14からの光が照射される側とは反対の側(
図11(B)における右側)に多く露出してもよい。また、
図11(C)に示すように、球体の一部のみを基体部91の表面に設けるようにしてもよい。
【0055】
また、この例では、キャリブレーション部材90に球体を設けたが、これに限定されるものではなく、曲面により構成された様々な形状のものを設けることができる。例えば
図12に示すように、キャリブレーション部材90に楕円体を設けてもよい。
【0056】
また、例えば、
図13に示すように、キャリブレーション部材90に円錐形状を有する立体物を設けてもよい。キャリブレーション部材90は、基体部91と、2つの円錐部95(円錐部95A,95B)とを有している。
【0057】
[変形例2]
上記実施の形態では、キャリブレーション部材90に、曲面を有する球体部92を設けたが、これに限定されるものではない。以下に、本変形例に係るキャリブレーション部材90について詳細に説明する。
【0058】
図14は、本変形例に係るキャリブレーション部材90の一構成例を表すものであり、(A)は側面図を示し、(B)は正面図を示す。
図14(A)において、測距センサ14からの光は左側から照射される。キャリブレーション部材90は、基体部91と、2つの四角錐部96(四角錐部96A,96B)とを有している。この例では、四角錐部96は、正四角錐形状を有する。2つの四角錐部96のそれぞれは、平面状の4つの傾斜面を含む。この例では、4つの傾斜面の傾斜角度は互いに等しいが、4つの傾斜面の傾斜の方向は互いに異なる。測距センサ14は、このようなキャリブレーション部材90の点群データを生成する。
【0059】
この場合でも、立体位置算出部33は、上記実施の形態におけるステップS104の処理と同様に、2つの四角錐部96に係る点群データに基づいて、2つの四角錐部96の位置を算出する。
【0060】
図15は、本変形例に係る立体位置算出部33の一動作例を表すものである。
図15における点群は、基体部91に係る点群データD91に属する点群と、四角錐部96に係る点群データD96に属する点群を含む。なお、
図15では、水平方向Xの例を示したが、垂直方向Yについても同様である。立体位置算出部33は、これらの点群データD96に基づいて、2つの四角錐部96の位置を算出する。
【0061】
そして、生成処理部34は、上記実施の形態におけるステップS105の処理と同様に、平面方程式算出部32が算出した平面方程式、および立体位置算出部33が算出した2つの四角錐部96の位置に基づいて、測距センサ14とキャリブレーション部材90との間の位置関係を示す外部パラメータElを生成することができる。
【0062】
また、この例では、キャリブレーション部材90に四角錐を設けたが、これに限定されるものではなく、平面により構成された様々な形状のものを設けることができる。例えば、キャリブレーション部材90に三角錐を設けてもよい。また、例えば
図12に示すように、キャリブレーション部材90に直方体を設けてもよい。
【0063】
[変形例3]
上記実施の形態では、電子機器10にカメラ11を設けたが、これに限定されるものではない。例えば、電子機器にカメラおよび測距センサの両方を設けてもよい。以下に、本変形例について詳細に説明する。
【0064】
図17は、本変形例に係るキャリブレーションシステム2の一構成例を表すものである。キャリブレーションシステム2は、ベルトコンベア13と、電子機器40と、キャリブレーション部材90とを備えている。
【0065】
電子機器40は、カメラ11と、測距センサ45と、処理部50とを有している。電子機器40は、カメラ11および測距センサ45以外の1または複数のセンサを有していてもよい。
【0066】
測距センサ45は、例えばライダーセンサであり、例えば赤外光を射出するとともに、計測対象により反射された赤外光を検出することにより、点群データを生成するように構成される。
【0067】
処理部50は、例えば電子機器40が静止している場合や移動している場合において、カメラ11の撮像画像の画像データ、および測距センサ45の点群データに基づいて、電子機器40の周囲の物体を認識するとともにその物体の3次元空間における位置を算出するように構成される。処理部50は、キャリブレーションシステム2において、上記実施の形態と同様にキャリブレーション処理を行うことにより、外部パラメータElcを生成する。処理部50は、この外部パラメータElcに基づいて、カメラ11の座標系と、測距センサ45の座標系を一致させることにより、カメラ11の撮像画像の画像データおよび測距センサ45の点群データに基づいて、物体の3次元空間における位置を算出するようになっている。
【0068】
図18は、処理部50の一構成例を表すものである。処理部50は、点群データ取得部21と、外部パラメータ生成部30と、画像取得部22と、外部パラメータ生成部23と、演算部24と、物体認識部55と、記憶部56とを有している。
【0069】
物体認識部55は、例えば電子機器40が移動している場合において、点群データ取得部21から供給された点群データ、画像取得部22から供給された画像データ、および演算部24から供給された外部パラメータElcに基づいて、電子機器40の周囲の物体を認識するとともにその物体の3次元空間における位置を算出するように構成される。物体認識部55は、外部パラメータElcを用いて、カメラ11の座標系と、測距センサ45の座標系とを一致させる。そして、物体認識部55は、カメラ11の撮像結果および測距センサ14の計測結果に基づいて、電子機器40の周囲の物体を認識するとともにその物体の3次元空間における位置を算出する。そして、物体認識部55は、処理結果をデータRESとして出力する。
【0070】
電子機器40は、このデータRESに含まれる、電子機器40の周囲の物体についての情報に基づいて、例えば、認識した物体に応じた所定の処理を行う。
【0071】
記憶部56は、例えば不揮発性の記憶部であり、例えば半導体メモリを用いて構成される。記憶部56は、プログラム57を記憶している。点群データ取得部21、外部パラメータ生成部30、画像取得部22、外部パラメータ生成部23、演算部24、および物体認識部55は、このプログラム57に基づいて処理を行う。
【0072】
[その他の変形例]
また、これらの変形例のうちの2以上を組み合わせてもよい
【0073】
以上、実施の形態および変形例を挙げて本発明を説明したが、本発明はこれらの実施の形態等には限定されず、種々の変形が可能である。
【0074】
例えば、上記実施の形態等では、キャリブレーション部材90において2つの球体部92を設けたが、これに限定されるものではなく、これに代えて、例えば3つ以上の球体部92を設けてもよい。
【0075】
例えば、上記実施の形態等では、キャリブレーション部材90に2つの球体部92を設けたが、これに限定されるものではなく、これに代えて、互いに異なる形状を有する立体物を設けてもよい。具体的には、例えば、キャリブレーション部材90に、球体部92(
図2)および円錐部95(
図13)を設けてもよい。
【符号の説明】
【0076】
1,2…キャリブレーションシステム、10,40…電子機器、11…カメラ、12…画像処理部、13…ベルトコンベア、14,15…測距センサ、20…処理装置、21…点群データ取得部、22…画像取得部、23…外部パラメータ生成部、24…演算部、25…キャリブレーション処理部、26,56…記憶部、27,57…プログラム、30…外部パラメータ生成部、31…点群抽出部、32…平面方程式算出部、33…立体位置算出部、34…生成処理部、50…処理部、55…物体認識部、90…キャリブレーション部材、91…基体部、92,92A,92B…球体部、D,D91,D92…点群データ、Ec,El,Elc…外部パラメータ。