(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-09
(45)【発行日】2022-09-20
(54)【発明の名称】距離測定装置
(51)【国際特許分類】
G01S 17/894 20200101AFI20220912BHJP
G01C 3/06 20060101ALI20220912BHJP
【FI】
G01S17/894
G01C3/06 120Q
G01C3/06 140
(21)【出願番号】P 2018127589
(22)【出願日】2018-07-04
【審査請求日】2021-05-20
(73)【特許権者】
【識別番号】501009849
【氏名又は名称】株式会社日立エルジーデータストレージ
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】増田 浩三
【審査官】仲野 一秀
(56)【参考文献】
【文献】特開2006-84430(JP,A)
【文献】特開2000-171222(JP,A)
【文献】特開2009-124398(JP,A)
【文献】特開2009-79987(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48-7/51
17/00-17/95
G01C 3/00-3/32
(57)【特許請求の範囲】
【請求項1】
被写体までの距離を光の飛行時間により測定する距離測定装置において、
光源から発生した光を被写体に照射する発光部と、
被写体から反射した光を2次元状に画素を配列したイメージセンサで検出する受光部と、
前記受光部の検出信号から各画素位置ごとに被写体までの距離を計算して距離データを出力する距離計算部と、
前記受光部におけるイメージセンサの受光レベルが飽和したことを検出する飽和検出部と、
前記飽和検出部が飽和を検出したとき、前記距離計算部から出力される距離データのうち飽和領域の距離データに対し、飽和領域に近接する非飽和領域の距離データを用いて補間処理を行う補間処理部と、
前記補間処理部から出力される距離データを基に被写体の距離画像を生成する画像処理部
と、を備え、
前記補間処理部の補間処理では、飽和領域内の各画素の距離データを、前記イメージセンサのスキャン方向に近接する非飽和領域の1つの画素の距離データで置き換えることを特徴とする距離測定装置。
【請求項2】
被写体までの距離を光の飛行時間により測定する距離測定装置において、
光源から発生した光を被写体に照射する発光部と、
被写体から反射した光を2次元状に画素を配列したイメージセンサで検出する受光部と、
前記受光部の検出信号から各画素位置ごとに被写体までの距離を計算して距離データを出力する距離計算部と、
前記受光部におけるイメージセンサの受光レベルが飽和したことを検出する飽和検出部と、
前記飽和検出部が飽和を検出したとき、前記距離計算部から出力される距離データのうち飽和領域の距離データに対し、飽和領域に近接する非飽和領域の距離データを用いて補間処理を行う補間処理部と、
前記補間処理部から出力される距離データを基に被写体の距離画像を生成する画像処理部と、を備え、
前記補間処理部の補間処理では、飽和領域内の各画素の距離データを、前記イメージセンサのスキャン方向に前後に近接する非飽和領域の複数の画素の距離データを用いて計算により求めることを特徴とする距離測定装置。
【請求項3】
請求項2に記載の距離測定装置において、
前記補間処理部の補間処理では、飽和領域内の各画素の距離データを、前後に近接する非飽和領域の複数の距離データを用いて直線補間または曲線補間の計算で求めることを特徴とする距離測定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光の飛行時間に基づいて被写体までの距離を測定する距離測定装置に関する。
【背景技術】
【0002】
光の飛行時間に基づいて被写体までの距離を測定し、距離を表示した画像(距離画像)として出力する技術が知られる。この方法はTOF法(タイム・オブ・フライト)と呼ばれ、距離測定用カメラ(以下、TOFカメラまたは単にカメラと呼ぶ)から照射光を出射し、被写体からの反射光をセンサで検出し、照射光と反射光の時間差から距離を算出する。その際、被写体までの距離が近すぎたり被写体の反射率が大きい場合には、反射光の強度が強すぎてセンサの検出レベル(電荷量)が飽和し、距離を正しく測定することができなくなる。このような飽和を避ける対策として、特許文献1には、被写体までの距離情報に基づいて撮像条件を設定し、距離が近い被写体の場合は発光する光量を小さくすることが記載されている。また特許文献2では、近距離側からの反射光を複数の受光期間に分割して受光するように受光タイミングを設定することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2011-064498号公報
【文献】特開2017-133853号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記特許文献に記載の技術は、カメラに近い被写体の場合の飽和対策には有効であるが、同一被写体内で一部領域が飽和する場合がある。例えば、カメラに向って立っている人物までの距離を測定する場合、人物の輪郭部分は正しく測定されるが中心部分が飽和して、距離画像の一部が欠落する場合がある。その原因については後述するが、飽和した領域は照射光に対して反射面がほぼ直交しているため、周辺領域よりも反射光の強度が大きく受光レベルが飽和するためと考えられる。その結果、カメラからほぼ同じ距離にある被写体内でありながら、反射面の傾斜角度が一様でないために、部分的に測定できない領域が生じることになる。この現象は、被写体の表面材料の反射率が一様でない場合にも同様であり、反射率の高い領域で部分的に測定できない領域が生じる。
【0005】
前記特許文献では被写体全体としての距離や反射率の影響を取り上げているが、同一被写体内での表面状態(傾斜角、反射率)に起因する部分的な飽和の問題については考慮されていない。
【0006】
本発明の目的は、被写体の一部領域の受光レベルが飽和して測定不可となった場合、該領域の距離データを補充することのできる距離測定装置を提供することである。
【課題を解決するための手段】
【0007】
本発明は、被写体までの距離を光の飛行時間により測定する距離測定装置において、光源から発生した光を被写体に照射する発光部と、被写体から反射した光を2次元状に画素を配列したイメージセンサで検出する受光部と、受光部の検出信号から各画素位置ごとに被写体までの距離を計算して距離データを出力する距離計算部と、受光部におけるイメージセンサの受光レベルが飽和したことを検出する飽和検出部と、飽和検出部が飽和を検出したとき、距離計算部から出力される距離データのうち飽和領域の距離データに対し、飽和領域に近接する非飽和領域の距離データを用いて補間処理を行う補間処理部と、補間処理部から出力される距離データを基に被写体の距離画像を生成する画像処理部と、を備える。
【発明の効果】
【0008】
本発明によれば、被写体の一部領域が飽和により測定不可になった場合でも、補間処理により距離データを補充し、欠落のない距離画像を提供することができる。
【図面の簡単な説明】
【0009】
【
図2】TOFカメラと被写体(人物)の関係を示す図。
【
図3】照射光と反射光の信号波形と距離算出法を説明する図。
【
図5】
図5の被写体に対する距離測定結果を模式的に示す図。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面を用いて説明する。
【実施例1】
【0011】
図1は、実施例1に係る距離測定装置を示す構成図である。距離測定装置1では、人物などの被写体までの距離をTOF(タイム・オブ・フライト)方式で測定し、測定した被写体の各部までの距離を例えば色で表示し、2次元の距離画像として出力する。
【0012】
距離測定装置1は、TOF方式により被写体までの距離を測定して距離データを出力するTOFカメラ10と、TOFカメラ10内の受光部12におけるイメージセンサの受光レベル(蓄積電荷)が飽和したことを検出する飽和検出部14と、非飽和領域の距離データをメモリに保存し、これを読み出して飽和領域の距離データの補間処理を行う補間処理部15と、補間処理後の距離データに基づいて被写体位置の色相を変えるカラー化処理を行い、距離画像を出力する画像処理部16と、を備える。
【0013】
TOFカメラ10は、レーザダイオード(LD)や発光ダイオード(LED)などの光源からパルス光を発生して被写体に照射する発光部11と、CCDやCMOSなどのイメージセンサで被写体から反射したパルス光を検出する受光部12と、発光部11を駆動するとともに受光部12の検出信号から被写体までの距離を計算する距離計算部13を有する。なお、各部の動作は図示しないCPUによって制御される。
【0014】
図2と
図3は、TOF法による距離測定の原理を説明する図である。TOF法では、照射光信号と反射光信号の時間差、すなわち光の飛行時間に基づいて距離を算出する。
【0015】
図2は、TOFカメラ10と被写体2(例えば人物)の関係を示す図である。TOFカメラ10は発光部11と受光部12を有し、発光部11から被写体2へ距離測定用の照射光31を出射する。照射光には赤外光などを用いる。受光部12は、被写体2で反射された反射光32を対物レンズ33を介して受光し、CCDなどの2次元状に画素を配列したイメージセンサ34で各画素位置に蓄積する電荷量を信号として出力する。ここで被写体2は、TOFカメラ10(発光部11および受光部12)から距離Lだけ離れた位置に存在するものとする。
【0016】
図3は、照射光と反射光の信号波形と距離算出法を説明する図である。パルス幅T
0の照射光31を出射してその反射光32を受光するまで、被写体2までの飛行時間分だけ遅延時間Tdが発生する。被写体2までの距離Lと遅延時間Tdとの関係は、光速をcとすると(1)式で表される。
L=Td×c/2・・・(1)
すなわち、遅延時間Tdを測定することで、距離Lを算出できることになる。ただしこの測定方法では、遅延時間Tdを高精度に測定することが要求されるので、高速のクロックを駆動させてカウントする必要がある。
【0017】
これに対し、遅延時間Tdを直接測定せずに、受光期間を複数に分割して、それぞれの期間の受光量(蓄積電荷量)から遅延時間Tdを間接的に求め、距離Lを測定する方法がある。本実施例ではこの間接式測定方法を採用する。
【0018】
間接式測定方法では、1回の照射パルスT0に対し、受光動作を例えば2つの期間に分けて行う。すなわち、反射光32の受光期間は、第1のゲート信号S1と第2のゲート信号S2の期間であり、それぞれ照射パルスT0の長さに等しい。この方法で、第1のゲート信号S1の期間に蓄積される第1の電荷量Q1と第2のゲート信号S1の期間に蓄積される第2の電荷量Q2を測定する。
【0019】
このときの第1、第2の電荷量Q1,Q2と遅延時間Td、および被写体までの距離Lは、(2)~(4)式で算出できる。ここに、センサの光電変換により発生する単位時間当たりの電荷量をIとする。
Q1=I×(T0-Td),Q2=I×Td・・・(2)
Td=T0×Q2/(Q1+Q2)・・・(3)
L==T0×Q2/(Q1+Q2)×c/2・・・(4)
すなわち、第1の電荷量Q1と第2の電荷量Q2とを測定することで、距離Lを算出できる。この間接式測定方法によれば、遅延時間Tdを高精度に測定する必要がないので実用的である。
【0020】
ただし、単位時間当たりの発生電荷量Iは反射光の強度に依存する。よって、被写体までの距離が近い場合や反射率が大きい場合には反射光の強度が過大になり(発生電荷量をI’で示す)、受光期間内での蓄積電荷量がセンサの許容値を超えることがある。その結果、例えば第1の電荷量Q1’の測定値に飽和現象が発生し、正しい距離測定ができなくなる。
【0021】
図4は、被写体の測定状態と飽和発生の例を示す図である。TOFカメラ10により壁の前に立っている被写体(人物)2までの距離を測定している状態で、人物2までの距離は約1mの近距離である。このとき、カメラ10に面した人物の前面中央部の領域21が飽和状態になりやすい。その理由は、中央部の領域21では反射面が照射光にほぼ直交しているため、カメラ10へ戻る反射光の強度が大きくなるからと考えられる。
【0022】
図5は、
図4の被写体に対する距離測定結果を模式的に示す図である。被写体(人物)2のA-A’間の測定距離を示しているが、中央部の領域21においては飽和発生のために測定が不可能となっている。一方、中央部21以外の周囲の領域22では、正常に測定されている。
本実施例では、このような飽和による測定不可領域が発生した場合には、これに近接する非飽和領域の測定データを用いてデータを補間するようにした。
【0023】
ここで、
図4,
図5に示される飽和発生の要因を考察する。
図6は、被写体表面での反射光の方向を示す図である。
(a)は金属などの鏡面における反射方向を示し、入射角θiと反射角θrは等しくなる(正反射)。つまり、反射光は一方向のみとなるので、入射角θiが小さい場合(垂直入射)には、強い反射光がカメラに戻り飽和しやすくなる。一方、入射角θiが大きい場合(斜め入射)には、反射光はカメラに戻らず、距離測定ができないことになる。
【0024】
(b)は樹脂などの拡散材の表面における反射方向を示し、入射角θiとは関係なく、反射光は全方向に反射する(全拡散反射と呼ぶ)。この場合は、反射光は被写体表面の傾斜角によらずカメラに戻るが、拡散光なのでカメラの受ける反射光の強度は小さくなる。
【0025】
(c)は一般の材料の反射方向を示し、(a)の正反射と、(b)の全方向拡散反射の両方の状態が混合される。つまり、反射方向は正反射で決まる方向θrをピークとしある幅で分散する。その結果、入射角θiが小さい場合(垂直入射)には、分散内のピークに近い強い反射光がカメラに戻り、飽和しやすくなる。一方、入射角θiが大きい場合(斜め入射)には、分散内のピークから外れた弱い反射光がカメラに戻るが、距離測定には十分な強度となる。
【0026】
図4で示した人物の被写体では、その表面状態(衣服)は(c)に相当する。よって
図5のように、カメラに向いた人物の平面部分(領域21)からはピークに近い強い反射光が戻り飽和が発生し、その周囲の傾斜部分(領域22)では弱い反射光となるため飽和は発生しなかったと考えられる。言い換えれば、同一被写体内でほぼ同じ距離であっても、反射面の傾斜状態で飽和の生じやすさが変化し、傾斜領域では距離データを取得できる。これに基づき本実施例では、飽和領域の距離データを、これに近接する非飽和領域の距離データで補間することにした。
【0027】
図7は、飽和発生時の補間処理を説明する図である。ここには、受光部12、飽和検出部14、距離計算部13、及び補間処理部15での、各画素位置での出力データを示す。横軸はデータ処理の順序を示し、受光部内のイメージセンサの各画素を配列順に水平方向(または垂直方向)にスキャンする。
【0028】
(a)は受光部12の出力データで、各画素位置で検出した蓄積電荷量を示す。
図3で説明したように、第1ゲート内の電荷量Q1と、第2ゲート内の電荷量Q2の2チャンネルの信号で出力するが、ここでは、一方のチャンネルのデータのみを示している。電荷量は8bitで規格化し、データ値「255」は最大値、すなわち飽和状態であることを意味する。なお、飽和状態として最大値以外の値を予め定めてそれにより判定しても良い。
【0029】
(b)は飽和検出部14の出力で、(a)の受光部の出力データが飽和レベル「255」に達した場合、飽和状態を示す検出信号(ここではハイレベル)を出力する。
【0030】
(c)は距離計算部13の出力データで、(a)の受光部12からの出力データ(Q1,Q2)を基に前記式(4)にて距離(L)を計算して出力する。このとき、飽和領域では計算せずに計算不可を示す「XX」を出力している。
【0031】
(d)は補間処理部15での処理を示す。まず、(c)の距離計算部13の出力データを1画素分だけ遅延させる。(b)の飽和検出部14が飽和を検出した場合、スキャン方向に近接する非飽和領域の画素の距離データをメモリに保存する。そして、飽和領域の画素については、メモリに保存したデータで置き換えて出力する。この例では、飽和領域の距離データ「XX」を隣接する1画素前の非飽和領域のデータ「50」で置き換える。非飽和領域の画素については、距離計算部13の出力データをそのまま出力する。
【0032】
また、補間処理を行った期間は、距離データに補間識別信号を付与して出力する。補間識別信号は、ハイレベルのデジタル信号とする。あるいは逆にローレベルの信号や、特定の符号パターンの信号でもよい。ただしこれらの信号は、距離データの取り得る値とは異なる値(最大出力値または最小出力値)で構成する。補間処理後の距離データと補間識別信号は、画像処理部16へ送られる。
【0033】
図8は、補間処理部15によるデータ補間処理の手順を示すフローチャートである。以下のフローは画素ごとに配列順に実行する。
【0034】
S100では、ラインの先頭画素から処理を開始する。S101では、距離計算部13から当該画素の距離データを入力する。S102では、当該画素の受光レベルが飽和しているか否かを判定する。そのため飽和検出部14は、当該画素の電荷量Q1,Q2の少なくとも一方が飽和レベルに達したかどうかを判定する。いずれも飽和していない場合はS103へ進み、少なくとも一方が飽和している場合はS105へ進む。
【0035】
S103では、入力した距離データをメモリに保存する。メモリに既に他のデータが保存されているときは当該データで書き換える。S104では、入力データをそのまま出力する。
【0036】
S105では、メモリに保存した距離データを読み出し、当該画素の距離データとして出力する。ここで、S103のメモリの書き換えの結果、S105でメモリから読み出すデータは、飽和領域の1画素前の非飽和領域のデータとなる。
図7の例では、データ「50」で置き換えて出力する。S106では、データ補間したことを示す補間識別信号を出力する。
以上の処理が終わると、S107で次の画素の処理へ進む。ラインの末尾の画素について終了したら、次のラインについて処理を行う。
【0037】
図9は、補間処理の効果を説明する図である。前記
図5に重ねて示す。飽和発生のため距離測定不可とされた領域21は、それに隣接する非飽和領域22のデータ(〇印)を用いて、×印で示すように補間(置き換え)して出力する。このとき補間(置き換え)のために用いるデータは、飽和領域に最も近接した画素のデータであるので、被写体の実際の距離に近いデータを出力することができる。また、補間した領域については補間識別信号を出力するようにしたので、距離画像を用いた画像解析において他の領域と区別した処理を行うことができる。
【0038】
上記の説明では、実施例の動作を分かりやすく説明するために、非飽和領域と飽和領域の境界部では非飽和状態から飽和状態へステップ状に変化するものとし、飽和領域に隣接する非飽和領域の1画素前のデータを用いて補間することとした。しかしながら実際の被写体からの反射光強度は、非飽和状態から飽和状態へある幅(遷移領域)をもって連続的に変化することが多い。よって、上記のように飽和領域の1画素前のデータで補間することは、一部飽和状態が混合された遷移領域内のデータを用いることになり、補間処理の効果を十分に得ることができない。そこで、この遷移領域の幅方向に含まれる画素数をN個とするとき、補間に用いる画素データには、飽和領域から画素N個分離れた非飽和領域の画素データを用いるのがよい。ただしこの画素数Nは、カメラ受光部の画素構成と被写体の種類に依存するので予め求めておくものとする。そして、飽和領域に隣接する画素とともに、この遷移領域を隔てて飽和領域に接する画素を、飽和領域に「近接する」画素と呼ぶことにする。さらには、上記実施例では非飽和領域の1個の画素データで補間するものとしたが、その変形例として、飽和領域に近接する非飽和領域の複数個の画素データの平均値を用いて補間することでもよい。
【0039】
実施例1によれば、被写体の一部領域が飽和により測定不可になった場合でも、飽和領域に近接する画素データによる補間処理にて距離データを補充し、欠落のない距離画像を提供することができる効果がある。
【実施例2】
【0040】
実施例2では、補間処理部15の行う補間処理の方法が実施例1と異なる。すなわち実施例2では、飽和領域の距離データを、その前後に近接する非飽和領域の複数の距離データを用いて補間する。これにより、飽和領域内で距離データが大きく変化する場合に好適に補間することができる。
【0041】
図10は、実施例2における補間処理を説明する図である。
図7と同様に、受光部12、飽和検出部14、距離計算部13、及び補間処理部15での、各画素位置での出力データを示す。(a)~(c)は
図7と同じであり、ここでは異なる部分について説明する。
【0042】
(d)の補間処理部15はラインメモリを備えており、画素列1ライン分(水平方向または垂直方向)のデータを保存する。(b)の飽和検出部14が飽和を検出した場合、飽和領域のスキャン方向の直前及び直後に隣接する2個の非飽和距離データをラインメモリから読み出して、飽和領域内の画素位置に応じて直線補間処理を行うようにした。この例では、飽和領域の直前のデータ「50」と直後のデータ「55」との間で直線的に変化するように計算して補間する。これにより、飽和領域の両端位置において距離データが異なる値であっても、データが両端で連続的につながるように補間処理を行うことができる。
【0043】
なお、上記ラインメモリの代りにフレームメモリを用いれば、水平方向と垂直方向の両方について連続的につながる補間処理を行うことができる。
【0044】
図11は、補間処理部15によるデータ補間処理の手順を示すフローチャートである。本実施例ではラインメモリを使用し、1ライン分のデータをラインメモリに書き込む動作(a)と、ラインメモリから読み出す動作(b)を交互に繰り返す。
【0045】
(a)ラインメモリ書き込みフロー
S200で、ラインの先頭画素から処理を開始する。S201では、距離計算部13から当該画素の距離データを入力し、ラインメモリに書き込む。S202では、当該画素の受光レベルが飽和しているか否かを判定する。この判定は
図8のS102と同じで、飽和検出部14による検出結果を利用する。
【0046】
飽和している場合はS203へ進み、飽和検出信号をラインメモリの当該画素位置に書き込む。飽和していない場合は飽和検出信号の書き込みは行わない。S204では、1ライン分の書き込み動作を終了したかを判定し、終了していない場合はS205で次の画素に進み、S201からの処理を繰り返す。1ライン分の書き込み動作を終了したら、S206でラインメモリからのデータ読み出し動作(b)へ進む。
【0047】
(b)ラインメモリ読み出しフロー
S210で、ラインの先頭画素から処理を開始する。S211では、ラインメモリから当該画素の距離データを読み出す。S212では、ラインメモリのデータ(飽和検出信号)から当該画素が飽和しているか否かを判定する。飽和していないときはS213へ進み、読み出した距離データをそのまま出力する。
【0048】
飽和しているときはS214へ進み、ラインメモリから飽和領域に隣接する非飽和領域の直前と直後の2つの距離データを読み出す。このときの読み出すべきデータの位置は、ラインメモリに書き込んだ飽和検出信号を参照することで分かる。S215では、読み出した2つの距離データを用いて、直線補間により当該画素位置での距離データを生成して出力する。またS216では、データ補間したことを示す補間識別信号を出力する。
【0049】
S217では、1ライン分の読み出し動作を終了したかを判定し、終了していない場合はS218で次の画素に進み、S211からの処理を繰り返す。1ライン分の読み出し動作を終了したら、S219で次のラインについてのデータ書き込み動作(a)へ進む。
【0050】
図12は、2点間の補間方法を説明する図である。(a)は、
図10で説明した直線補間の場合であり、補間区間の両端の2つの値(○印)を用いて直線的にデータ値が変化するよう各画素のデータ値を計算する。(b)は他の方法で、2次関数や3次関数の近似式を用いた曲線補間の場合を示す。この場合、2次関数や3次関数の係数を決定するために、補間区間の両端の2つの値(○印)だけでなく、非飽和領域内の複数の値(△印)を用いることになる。曲線補間によれば、補間区間の両端において非飽和領域と勾配が滑らかにつながるデータを生成することができる。
【0051】
上記の説明では、飽和領域に隣接する非飽和領域の直前と直後の2つのデータを用いて補間することとしたが、実施例1と同様に、非飽和領域と飽和領域の境界に遷移領域が存在する場合には、遷移領域を隔てて前後に近接する非飽和領域の画素のデータを用いるものとする。
【0052】
実施例2によれば、実施例1と同様に、被写体の一部領域に飽和が発生した場合でも、補間処理により距離データを補充することができる。特に、測定不可となった飽和領域内で距離データが大きく変化する場合に、好適に補間することができる。
【0053】
以上述べた各実施例では、被写体として人物を測定対象として説明したが、人物以外の被写体を測定対象とする場合にも同様に適用できることは言うまでもない。
【0054】
また、各実施例の説明では、被写体の表面状態として傾斜角が一様でない場合を取り上げたが、反射率が一様でないことで一部が飽和する場合においても同様に適用することができる。さらには、被写体表面に段差が存在して段差の片側または両側の平坦領域が飽和するような場合でも、段差部分は傾斜領域であり飽和せずに測定できるので、段差部分の測定データを用いて飽和した平坦領域の距離データを補間することができる。
【符号の説明】
【0055】
1:距離測定装置、
2:被写体(人物)、
10:距離測定カメラ(TOFカメラ)、
11:発光部、
12:受光部、
13:距離計算部、
14:飽和検出部、
15:補間処理部、
16:画像処理部、
34:イメージセンサ。