(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】画像処理装置、画像処理方法、及び、プログラム
(51)【国際特許分類】
G06T 7/593 20170101AFI20241203BHJP
G06T 1/00 20060101ALI20241203BHJP
【FI】
G06T7/593
G06T1/00 315
(21)【出願番号】P 2021023258
(22)【出願日】2021-02-17
【審査請求日】2024-01-12
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】山本 裕明
(72)【発明者】
【氏名】陳 靖翔
(72)【発明者】
【氏名】吉田 裕志
【審査官】高野 美帆子
(56)【参考文献】
【文献】国際公開第2022/064605(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/593
G06T 1/00
(57)【特許請求の範囲】
【請求項1】
撮像装置により撮像された床面を含む画像から算出される距離情報であって、前記撮像装置から前記画像の各画素に対応する撮像対象までの距離を表す距離情報を取得する、取得手段と、
取得した前記距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、前記撮像対象が前記床面か否かを区別するための距離の基準値を算出する算出手段と、
を備え、
前記算出手段は、前記度数分布における、区間内の距離の平均値に基づき、当該平均値を含む新たな区間を設定することを繰り返し、当該平均値の変化が所定の条件を満たした場合、当該平均値を前記基準値に設定する
画像処理装置。
【請求項2】
前記算出手段は、前記最遠の距離から所定の距離を減算した値を前記基準値に設定する、
請求項1に記載の画像処理装置。
【請求項3】
前記算出手段は、前記繰り返しごとに幅が狭くなるように、前記新たな区間を設定する、
請求項1または2に記載の画像処理装置。
【請求項4】
前記算出手段は、前記区間を設定するための平均値の初期値に、前記撮像装置と前記床面との距離としてとり得る値より大きな値を設定する、
請求項1及至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記算出手段は、前記繰り返しごとに、異なる時刻に撮像された前記画像から算出される前記距離情報に係る度数分布用いて、前記平均値を算出する、
請求項1及至4のいずれか1項に記載の画像処理装置。
【請求項6】
さらに、前記距離情報に含まれる各画素に係る距離と前記基準値とに基づいて、当該画素に対応する前記撮像対象が前記床面か否かを判定する、判定手段を備える、
請求項1及至5のいずれか1項に記載の画像処理装置。
【請求項7】
撮像装置により撮像された床面を含む画像から算出される距離情報であって、前記撮像装置から前記画像の各画素に対応する撮像対象までの距離を表す距離情報を取得し、
取得した前記距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、前記撮像対象が前記床面か否かを区別するための距離の基準値を算出
し、
前記算出を行うステップにおいて、前記度数分布における、区間内の距離の平均値に基づき、当該平均値を含む新たな区間を設定することを繰り返し、当該平均値の変化が所定の条件を満たした場合、当該平均値を前記基準値に設定する
画像処理方法。
【請求項8】
コンピュータに、
撮像装置により撮像された床面を含む画像から算出される距離情報であって、前記撮像装置から前記画像の各画素に対応する撮像対象までの距離を表す距離情報を取得し、
取得した前記距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、前記撮像対象が前記床面か否かを区別するための距離の基準値を算出
し、
前記算出を行う処理において、前記度数分布における、区間内の距離の平均値に基づき、当該平均値を含む新たな区間を設定することを繰り返し、当該平均値の変化が所定の条件を満たした場合、当該平均値を前記基準値に設定する
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置、画像処理方法、及び、プログラムに関する。
【背景技術】
【0002】
工場や倉庫等の施設内において、ロボット等の作業を行う移動体の導入が進んでいる。このような移動体は、施設内において、荷物や備品等の障害物を避けて、走行可能な床面の経路を移動する。そのため、施設内における走行可能な床面の経路が示された情報が必要となる。
【0003】
経路情報を作成するには、例えば、施設の天井に深度カメラを設置し、深度カメラにより取得した撮像対象までの距離から床面と障害物とを区別することが考えられる。このようにして、床面と障害物とが区別できれば、例えば、移動体の制御システム等は、経路に関する情報を生成することができる。
【0004】
深度カメラにより、撮像対象までの距離を測定する方法の一例が、例えば、特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
一般的に、視差により距離を測定している深度カメラでは、撮像対象までの距離によって、誤差が大きくなることが知られている。また、各深度カメラは、製造時の個体差があり、個別にキャリブレーションをする必要がある。これらのための対処として、設置された深度カメラごとに、レーザー距離計等を用いて正確な距離を測定し、誤差を補正することが考えられる。しかしながら、多数の深度カメラが設定されている場合に、深度カメラごとに補正を行うことは難しい。
【0007】
本開示の目的の一つは、上述の課題を解決し、簡単な構成で、深度カメラにより障害物と床面とを区別できる、画像処理装置、画像処理方法、及び、プログラムを提供することである。
【課題を解決するための手段】
【0008】
本開示の一態様における画像処理装置は、撮像装置により撮像された床面を含む画像から算出される距離情報であって、前記撮像装置から前記画像の各画素に対応する撮像対象までの距離を表す距離情報を取得する、取得手段と、取得した前記距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、前記撮像対象が前記床面か否かを区別するための距離の基準値を算出する、算出手段と、を備える。
【0009】
本開示の一態様における画像処理方法は、撮像装置により撮像された床面を含む画像から算出される距離情報であって、前記撮像装置から前記画像の各画素に対応する撮像対象までの距離を表す、距離情報を取得し、
取得した前記距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、前記撮像対象が前記床面か否かを区別するための距離の基準値を算出する。
【0010】
本開示の一態様におけるプログラムは、コンピュータに、撮像装置により撮像された床面を含む画像から算出される距離情報であって、前記撮像装置から前記画像の各画素に対応する撮像対象までの距離を表す距離情報を取得し、
取得した前記距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、前記撮像対象が前記床面か否かを区別するための距離の基準値を算出する処理を実行させる。
【発明の効果】
【0011】
本開示の効果は、簡単な構成で、深度カメラにより障害物と床面とを区別できることである。
【図面の簡単な説明】
【0012】
【
図1】第1の実施形態における、施設内における距離測定の概要を示す模式図である。
【
図2】第1の実施形態における、画像処理装置10の構成を示すブロック図である。
【
図3】第1の実施形態における、距離情報の度数分布の例を示す図である。
【
図4】第1の実施形態における、基準値算出処理を示すフローチャートである。
【
図5】第1の実施形態における、深度カメラが撮像する画像の各画素と、当該カメラの撮像範囲と、の対応を説明する図である。
【
図6】第1の実施形態における、距離情報の例を示す図である。
【
図7】第1の実施形態における、極大値検出処理を示すフローチャートである。
【
図8】第1の実施形態における、最遠の対象物距離Z
eを検出するアルゴリズムを説明する図である。
【
図9】第1の実施形態における、最遠の対象物距離Z
eと、基準値との関係を示す図である。
【
図10】第1の実施形態における、各画素に対応する撮像対象が判定された後の距離情報の例を示す図である。
【
図11】第1の実施形態における、判定結果に基づいて生成されたマップの例を示す図である。
【
図12】第1の実施形態における、第2の実施形態における、極大値検出処理を示すフローチャートである。
【
図13】第1の実施形態における、第3の実施形態における、画像処理装置1の構成を示すブロック図である。
【
図14】コンピュータ500のハードウェア構成の例を示すブロック図である。
【発明を実施するための形態】
【0013】
実施形態について図面を参照して詳細に説明する。なお、各図面、及び、明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
【0014】
(第1の実施形態)
第1の実施形態について説明する。
【0015】
はじめに、第1の実施形態における、施設内における距離測定の概要を説明する。
図1は、第1の実施形態における、施設内における距離測定の概要を示す模式図である。
図1は、例えば、工場の屋内の一部を示している。
図1を参照すると、工場内では、移動体が床面を走行する。床面には、移動体の走行の障害となる物体(以下、障害物と記載)が配置されている。また、工場内の上部、例えば天井には、深度カメラが設置され、当該深度カメラが、床面及び障害物を撮像している。深度カメラは、撮像した画像及び当該画像に関連付けられた情報(後述する距離情報)を、例えば、通信ネットワークを介して、画像処理装置10に送信している。画像処理装置10は、受信した距離情報を統計処理(後述する極大値検出処理)し、処理結果に基づいて、障害物と床面とを区別するための基準値を算出する。画像処理装置10は、算出した基準値に基づいて、床面と障害物とを区別して、図示しない表示装置に、移動体が走行可能な経路(障害物が配置されていない床面)を示すマップを表示させる。なお、深度カメラを画像処理装置10の近傍に設置して、USBケーブル等で互いを接続し、深度カメラが画像処理装置10へ距離情報を送信するようにしてもよい。
【0016】
(構成)
第1の実施形態における、画像処理装置10の構成を説明する。
【0017】
図2は、第1の実施形態における、画像処理装置10の構成を示すブロック図である。
図2を参照すると、画像処理装置10は、距離情報取得部11、距離情報記憶部12、基準値算出部13、床面判定部14、及び、出力制御部15を含む。
【0018】
距離情報取得部11は、深度カメラにより撮像された床面を含む画像から算出される距離情報であって、深度カメラから画像の各画素に対応する撮像対象までの距離(以下、対処物距離とも記載)を表す距離情報を取得する。
【0019】
距離情報記憶部12は、距離情報取得部11が取得した距離情報を、記憶する。距離情報の詳細は、後述する。
【0020】
基準値算出部13は、距離情報記憶部12から取得した距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、撮像対象が床面か否かを区別するための距離の基準値を算出する。
【0021】
図3は、第1の実施形態における、距離情報の度数分布の例を示す図である。度数分布は、対象物距離zの値ごとに、画像内の当該値を示す画素の数(度数)を示す。
図3の例では、横軸を対象物距離zとし、縦軸を度数Nとしている。
図3の例において、度数が極大値をとる対象物距離zのうち最遠の対象物距離Z
eとは、度数が極大値をとる2つの山凸A及び凸Bのうち、凸Bの極大値に対応する対象物距離zのことである。この場合、基準値算出部13は、凸Bの極大値に対応する対象物距離、つまり最遠の対象物距離Z
eに基づいて、基準値を算出する。最遠の対象物距離Z
eの算出方法、及び、基準値の算出方法の詳細は後述する。
【0022】
床面判定部14は、距離情報に含まれる各画素に係る距離と、基準値算出部13が算出した基準値とに基づいて、当該画素に対応する撮像対象が床面か否かを判定する。
【0023】
出力制御部15は、床面判定部14の判定結果に基づいて、移動体が走行可能な経路を示すマップを、表示装置に表示させる。
【0024】
(動作)
次に、第1の実施形態の動作について説明する。
【0025】
(基準値算出処理)
以下、第1の実施形態における、基準値算出処理について説明する。
【0026】
図4は、第1の実施形態における、基準値算出処理を示すフローチャートである。基準値算出処理は、例えば、所定の周期で、床面と障害物とを区別する基準値を取得するために実行される。また、基準値算出処理は、例えば、深度カメラを新たに設置または移設した場合に、キャリブレーションとして、基準値を取得するために実行される。
【0027】
距離情報取得部11は、深度カメラから、距離情報を取得する(ステップS11)。そして、距離情報取得部11は、取得した距離情報を、距離情報記憶部12に記憶させる。
【0028】
ここで、距離情報について、
図5を用いて説明する。
図5は、第1の実施形態における、深度カメラが撮像する画像の各画素と、当該カメラの撮像範囲と、の対応を説明する図である。
【0029】
図5を参照すると、1台の深度カメラで撮像可能な撮像範囲における、床面及び障害物である撮像対象が示されている。また、撮像範囲内の撮像対象の上部には、カメラ面に仮想的に展開された、深度カメラにより撮像される画像の各画素が示されている。ここで、カメラ面とは、カメラの高さにおける、床面と並行な仮想的な面である。各画素の位置(xy座標)は、x軸とy軸と(xy平面)で表され、深度カメラから各画素に対応する床面や障害物上の点までの距離zは、z軸上の位置(z座標)で表される。
【0030】
ここで、深度カメラにより撮像される画像の画素数は、n×nとする(nは正の整数)。画素数は、深度カメラの種類により異なり、n×nに限定されず、n×m(mは正の整数)であってもよい。
【0031】
図5の例では、各画素の位置(xy座標)は、画像の左上を原点O(x
0y
0)として、x軸がx
0からx
n-1の座標で表され、y軸がy
0からy
n-1の座標で表されている。この場合、例えば、カメラ面の画素A(x
iy
i)(iは正の整数で、i<n)に対応する、撮像範囲内の撮像対象は、床面上の点A’に位置する。そして、画素A(x
iy
i)には、深度カメラから床面までの距離である対処物距離zが、z軸の座標Z
i,iとして付与されている。
【0032】
このように、各画素には、画像上(xy平面上)の位置を示すxy座標と、当該座標における対象物距離zであるz座標と、が関連付けられている。
【0033】
図6は、第1の実施形態における、距離情報の例を示す図である。距離情報は、各画素のxy座標、各画素のz座標、及び、判定結果を含む。判定結果は、後述する基準値に基づいて、各画素が床面または障害物であるかを判定した結果である。
図6の距離情報の例では、
図5に示す各画素に関連付けられたx軸、y軸、及び、z軸の各座標と、空欄の判定結果と、を示している。
【0034】
基準値算出部13は、取得された距離情報から、度数が極大値をとる対象物距離zのうち最遠の対象物距離Zeを検出する極大値検出処理を行う(ステップS12)。ここで、極大値検出処理について詳細に説明する。
【0035】
(極大値検出処理)
図7は、第1の実施形態における、極大値検出処理を示すフローチャートである。基準値算出部13は、距離情報記憶部12に記憶されたある時刻の距離情報を取得する(ステップS121)。基準値算出部13は、取得した距離情報の度数分布を生成する(ステップS122)。ここで、基準値算出部13は、
図3に示したような、画像の画素全体に対する対象物距離zの度数分布を生成する。
【0036】
図8は、第1の実施形態における、最遠の対象物距離Z
eを検出するアルゴリズムを説明する図である。以下、
図8を用いてアルゴリズムを説明する。
【0037】
基準値算出部13は、最遠の対象物距離Zeを検出するために、対象物距離zを表す変数Zに初期値Z0を設定する(ステップS123)。ここで、初期値Z0には、深度カメラと床面との距離のとり得る値より大きな値を設定する。このような初期値Z0を設定することにより、以下の極大値検出処理において、変数Zが最遠の対象物距離Zeに収束し易くなる。深度カメラと床面との距離のとり得る値は、例えば、レーザー距離測定器等により、予め測定されていてもよい。
【0038】
基準値算出部13は、変数Zに基づき、変数Zを含む対象物距離zの区間[m
x,M
x]を算出する(ステップS124)。ここで、xは、繰り返し回数を示す0以上の整数である。m
xは、繰り返し回数xにおける、区間の始点(対象物距離zが最小値をとる点)であり、M
xは、繰り返し回数xにおける、区間の終点(対象物距離zが最大値をとる点)である。始点m
x、終点M
xは、例えば、繰り返し回数xにおける変数Zの値Z
xを用いて、m
x=Z
x(1-A)、M
x=Z
x(1+B)により算出される。定数値A及びBは、それぞれ0より大きく、1より小さい実数の定数である。また、A及びBは、深度カメラの個体差等により変わる値である。
図8(a)を参照すると、例えば、変数Zの初期値Z
0を用いて最初に算出した区間は[m
0,M
0]となる。
【0039】
基準値算出部13は、算出した区間内の対象物距離zの平均値を算出し、算出した平均値で変数Zを更新する(ステップS125)。この場合、変数Zの値Zx+1は、区間[mx,Mx]における対象物距離zの平均値、
【0040】
【0041】
により算出される。ただし、Δzは、度数分布の横軸zのビン幅であり、N(mx)、N(mx+Δz)、及び、N(Mx)は、それぞれ、対象物距離mx、Nmx+Δz、及び、Mxに対する度数(画素数)である。
【0042】
例えば、基準値算出部13は、区間[m0,M0]に対して、上述の式1に基づいて、変数Zの値Z1を算出する。
【0043】
ついで、基準値算出部13は、変数Zが収束しているか否かを判定する(ステップS126)。ここで、基準値算出部13は、変数Zの変化が、所定の条件を満たしている場合、変数Zが収束していると判定する。所定の条件として、例えば、一つ前の繰り返しで算出した変数Zの値Zxと、現在の繰り返しで算出した変数Zの値Zx+1と、の差分が所定範囲内に収まっていることが用いられる。また、所定の条件として、所定の繰り返し回数の間、連続して、上記差分が所定範囲内に収まっていることが用いられてもよい。
【0044】
基準値算出部13は、変数Zが収束していない場合(ステップS126 NO)、ステップS124の区間算出処理と、ステップS125の平均値算出処理とを繰り返す。
【0045】
図8(b)を参照すると、ステップS124の区間算出処理と、ステップS125の平均値算出処理と、を繰り返すことにより、繰り返し回数k(ただし、k=0,1,2・・・)における変数Zの値Z
kが、最遠の対象物距離Z
eに近づいていく。
【0046】
基準値算出部13は、変数Zが収束している場合(ステップS126 YES)、収束した変数Zを、最遠の対象物距離Zeに設定する(ステップS127)。
【0047】
図8(c)を参照すると、繰り返し回数lにおける変数Zの値Z
lが、最遠の対象物距離Z
e近傍に収束している。
【0048】
このようにして、基準値算出部13は、極大値検出処理により、距離情報から、最遠の対象物距離Zeを算出する。
【0049】
図4を参照すると、基準値算出部13は、最遠の対象物距離Z
eに基づいて、基準値を算出する(ステップS13)。ここで、基準値算出部13は、例えば、最遠の対象物距離Z
eから所定の距離だけ近い対象物距離を基準値に設定する。また、基準値算出部13は、最遠の対象物距離Z
eから、最遠の対象物距離Z
eの所定の割合だけ近い対象物距離を基準値に設定してもよい。また、基準値算出部13は、最遠の対象物距離Z
eから、度数分布における最遠の対象物距離Z
eに対応する山の幅(例えば、度数が極大値の所定の割合となる対象物距離)だけ近い対象物距離を基準値に設定してもよい。
【0050】
図9は、第1の実施形態における、最遠の対象物距離Z
eと、基準値との関係を示す図である。
図9の例では、最遠の対象物距離Z
eから距離aだけ近い対象物距離を基準値Z
sとしている。
【0051】
床面判定部14は、基準値算出部13が算出した基準値に基づいて、距離情報に含まれる画素ごとに、撮像対象が床面または障害物かを判定する(ステップS14)。例えば、
図6に示した距離情報の例では、画素ごとに、対象物距離zと基準値Z
sとを、比較して、対象物距離zが基準値Z
sより小さい画素の撮像対象を、障害物と判定し、対象物距離zが基準値Z
s以上の画素の撮像対象を、床面と判定する。そして、床面判定部14は、判定結果を距離情報に設定する。また、各深度カメラは、例えば、レンズの球面収差等による画像の不明確性のため、各画素の距離情報に揺らぎが発生することから、床面判定部14は、対象物距離zが基準値Z
s近傍の所定範囲内の対象物距離に位置する画素を、床面と判定してもよい。このようにすることで、床面判定部14は、各画素の距離情報の揺らぎを軽減でき、誤判定を減少させることができる。
【0052】
図10は、第1の実施形態における、各画素に対応する撮像対象が判定された後の距離情報の例を示す図である。
図10の距離情報は、
図5に示す各画素と撮像対象との関係に基づく判定結果が設定されている。
【0053】
出力制御部15は、距離情報に設定された判定結果に基づいて、移動体が走行可能な経路を示すマップを生成して表示装置に表示させる(ステップS15)。
図11は、第1の実施形態における、判定結果に基づいて生成されたマップの例を示す図である。例えば、出力制御部15は、
図10の距離情報の判定結果に基づき、
図11のマップを生成する。
図11のマップでは、床面と判定された画素の位置が走行可能な経路として表示されている。
【0054】
以上により、第1の実施形態の動作が完了する。
【0055】
なお、上述の極大値検出処理では、距離情報の度数分布を生成(ステップS121)した後に、初期値の設定(ステップS122)を行ったが、初期値の設定を行った後に、距離情報の度数分布を生成してもよい。
【0056】
また、上述の基準値算出処理では、度数分布を生成して、ビン幅ごとに度数を集約して、設定した区間の平均値を算出した。しかしながら、これに限らず、距離情報の各画素のz座標の値のうち、例えば、区間[mx,Mx]の範囲内にあるものを合計し、その画素数で割ることで、区間[mx,Mx]に対する対象物距離zの平均値を求めてもよい。
【0057】
次に、第1の実施形態の効果を説明する。
【0058】
第1の実施形態によれば、簡単な構成で、深度カメラにより障害物と床面とを区別できる。その理由は、距離情報取得部11が、深度カメラにより撮像された床面を含む画像から算出される距離情報であって、深度カメラから画像の各画素に対応する撮像対象までの距離を表す距離情報を取得し、基準値算出部13が、取得した距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、撮像対象が床面か否かを区別するための距離の基準値を算出するためである。
【0059】
(第1の実施形態の変形例)
上述した第1の実施形態の基準値算出処理では、変数Zの初期値Z0に、深度カメラと床面との距離のとり得る値より大きな値を設定し、当該初期値Z0に基づき区間を設定した。また、各繰り返し処理の区間算出の際に、定数値A及びBを用いた。しかしながら、これに限らず、度数分布の対象物距離zの全域を区間の初期値に設定し、定数値A及びBの代わりに、繰り返しごとに所定の割合で小さくなるような、可変の値A’及びB’の値を用いてもよい。この場合、始点mx、終点Mnは、それぞれ、mx=Zx(1-A’)、Mx=Zx(1+B’)により算出される。そして、区間算出処理と、平均値算出処理とを、変数Zが収束するまで繰り返すことにより、最遠の対象物距離Zeが算出される。
【0060】
例えば、床面積が深度カメラの撮像範囲の半分以上を占めるような場合には、このような処理により、変数Zの初期値Z0を設定しなくても、最遠の対象物距離Zeを算出できる。
【0061】
(第2の実施形態)
第2の実施形態について説明する。
【0062】
第1の実施形態では、1つの画像に基づく距離情報に基づいて、極大値検出処理を行った。第2の実施形態では、時刻の異なる複数の画像に基づく距離情報を用いて、度数が極大値をとる対象物距離zのうち最遠の対象物距離Zeを算出する。
【0063】
図12は、第2の実施形態における、極大値検出処理を示すフローチャートである。ここでは、第1の実施形態の極大値検出処理と異なる点について説明する。
【0064】
基準値算出部13は、対象物距離zを表す変数Zの初期値Z0を設定する(ステップS221)。距離情報取得部11は、距離情報記憶部12から、距離情報を取得する(ステップS222)。ここで、距離情報取得部11は、ステップS222~S226を繰り返すたびに、異なる時刻の撮像画像から算出された距離情報を取得する。
【0065】
基準値算出部13は、取得した距離情報について度数分布を生成する(ステップS223)。区間算出処理(ステップS224)及び平均値算出処理(ステップS225)は、第1の実施形態の極大値検出処理の区間算出処理(ステップS123)及び平均値算出処理(ステップS124)と同様である。
【0066】
基準値算出部13は、変数Zが収束していない場合(ステップS226 NO)、ステップS222の距離情報を取得する処理から繰り返す。
【0067】
基準値算出部13は、変数Zが収束している場合(ステップS226 YES)、収束した変数Zを、最遠の対象物距離Zeに設定する(ステップS227)。
【0068】
(第2の実施形態の効果)
第2の実施形態によれば、使用環境等による深度カメラの距離情報の時間的な揺らぎがある場合でも、基準値を正しく算出できる。その理由は、基準値算出部13が、基準値算出処理における繰り返しごとに、異なる時刻に撮像された画像から算出される距離情報に係る度数分布を用いて、度数が極大値をとる距離のうち最遠の距離を求め、床面と障害物とを区別する基準値を算出するためである。これにより、深度カメラの距離情報の時間的な揺らぎの影響が軽減され、正しい基準値を算出できる。
【0069】
(第3の実施形態)
第3の実施形態について説明する。
【0070】
図13は、第3の実施形態における、画像処理装置1の構成を示すブロック図である。画像処理装置1は、距離情報取得部2、及び、基準値算出部3を含む。距離情報取得部2、及び、基準値算出部3は、それぞれ、本開示の距離情報取得手段、及び、基準値算出手段の一実施形態である。また、距離情報取得部2、及び、基準値算出部3は、それぞれ、第1の実施形態の、距離情報取得部11、及び、基準値算出部13に相当する。
【0071】
距離情報取得部2は、撮像装置により撮像された床面を含む画像から算出される距離情報であって、撮像装置から画像の各画素に対応する撮像対象までの距離を表す距離情報を取得する。基準値算出部3は、取得した距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、撮像対象が床面か否かを区別するための距離の基準値を算出する。
【0072】
(第3の実施形態の効果)
第3の実施形態によれば、簡単な構成で、深度カメラにより障害物と床面とを区別できる。その理由は、画像処理装置1の距離情報取得部2が、撮像装置により撮像された床面を含む画像から算出される距離情報であって、撮像装置から画像の各画素に対応する撮像対象までの距離を表す距離情報を取得し、基準値算出部3が、取得した距離情報に含まれる各画素に係る距離の度数分布において、度数が極大値をとる距離のうちの最遠の距離に基づいて、撮像対象が床面か否かを区別するための距離の基準値を算出するためである。
【0073】
(ハードウェア構成)
上述した各実施形態において、画像処理装置10の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部又は全部は、コンピュータ500とプログラムとの任意の組み合わせにより実現されてもよい。
【0074】
図14、はコンピュータ500のハードウェア構成の例を示すブロック図である。
図14を参照すると、コンピュータ500は、例えば、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、プログラム504、記憶装置505、ドライブ装置507、通信インタフェース508、入力装置509、出力装置510、入出力インタフェース511、及び、バス512を含む。
【0075】
プログラム504は、各装置の各機能を実現するための命令(instruction)を含む。プログラム504は、予め、ROM502やRAM503、記憶装置505に格納される。CPU501は、プログラム504に含まれる命令を実行することにより、各装置の各機能を実現する。例えば、CPU501がプログラム504に含まれる命令を実行することにより、距離情報取得部11、基準値算出部13、床面判定部14、及び、出力制御部15の機能を実現する。また、例えば、RAM503が、距離情報記憶部12のデータを記憶してもよい。また、例えば、記憶装置505が、距離情報記憶部12のデータを記憶してもよい。
【0076】
ドライブ装置507は、記録媒体506の読み書きを行う。通信インタフェース508は、通信ネットワークとのインタフェースを提供する。入力装置509は、例えば、マウスやキーボード等であり、オペレータ等からの情報の入力を受け付ける。出力装置510は、例えば、ディスプレイであり、オペレータ等へ情報を出力(表示)する。入出力インタフェース511は、周辺機器とのインタフェースを提供する。バス512は、これらハードウェアの各構成要素を接続する。なお、プログラム504は、通信ネットワークを介してCPU501に供給されてもよいし、予め、記録媒体506に格納され、ドライブ装置507により読み出され、CPU501に供給されてもよい。
【0077】
なお、
図14に示されているハードウェア構成は例示であり、これら以外の構成要素が追加されていてもよく、一部の構成要素を含まなくてもよい。
【0078】
画像処理装置10の実現方法には、様々な変形例がある。例えば、画像処理装置10は、構成要素毎にそれぞれ異なるコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータとプログラムとの任意の組み合わせにより実現されてもよい。
【0079】
また、各装置の各構成要素の一部または全部は、プロセッサ等を含む汎用または専用の回路(circuitry)や、これらの組み合わせによって実現されてもよい。これらの回路は、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0080】
また、各装置の各構成要素の一部又は全部が複数のコンピュータや回路等により実現される場合、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。
【0081】
以上、実施形態を参照して本開示を説明したが、本開示は上記実施形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本開示のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。
【符号の説明】
【0082】
1、10 画像処理装置
2、11 距離情報取得部
3、13 基準値算出部
12 距離情報記憶部
14 床面判定部
15 出力制御部
500 コンピュータ
501 CPU
502 ROM
503 RAM
504 プログラム
505 記憶装置
506 記録媒体
507 ドライブ装置
508 通信インタフェース
509 入力装置
510 出力装置
511 入出力インタフェース
512 バス