(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-17
(45)【発行日】2022-01-26
(54)【発明の名称】画像処理装置及び車両
(51)【国際特許分類】
G06T 7/593 20170101AFI20220119BHJP
B66F 9/24 20060101ALI20220119BHJP
G01C 3/06 20060101ALI20220119BHJP
【FI】
G06T7/593
B66F9/24 L
G01C3/06 110V
(21)【出願番号】P 2017220195
(22)【出願日】2017-11-15
【審査請求日】2020-02-06
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】石▲崎▼ 将崇
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2016-205887(JP,A)
【文献】国際公開第2011/058876(WO,A1)
【文献】特開2009-110172(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/50- 7/593
G01C 3/06
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
ステレオカメラによって撮像された画像を画像処理して、前記画像に写る対象物の位置を算出する画像処理装置であって、
前記画像から、画素毎に視差が対応付けられた視差画像を取得する取得手段と、
前記視差画像を複数の画素を含んだエリアに分割する分割手段と、
前記エリアに含まれる複数の画素に対応付けられた視差に基づいて、エリア毎に代表視差を導出する代表視差導出手段と、
前記代表視差から前記画像に写る対象物の位置を算出する位置算出手段と、を備え、
前記代表視差導出手段は、前記エリアに含まれる各画素に対応付けられた視差についての分布を求め、頻度の高い上位複数の視差のうち、最も大きい値の視差を代表視差とす
る画像処理装置。
【請求項2】
ステレオカメラによって撮像された画像を画像処理して、前記画像に写る対象物の位置を算出する画像処理装置
と、走行動作及び荷役動作に関する制御を行うコントローラと、を備えた車両であって、
前記画像から、画素毎に視差が対応付けられた視差画像を取得する取得手段と、
前記視差画像を複数の画素を含んだエリアに分割する分割手段と、
前記エリアに含まれる複数の画素に対応付けられた視差に基づいて、エリア毎に代表視差を導出する代表視差導出手段と、
前記代表視差から前記画像に写る対象物の位置を算出する位置算出手段と、を備え、
前記分割手段は、前記エリアを前記エリアよりも細分化された細分化エリアに分割可能であり、
前記代表視差導出手段は、前記細分化エリアの代表視差を導出可能であ
り、
前記コントローラは、前記車両の現在位置と算出された前記対象物の位置との相対距離が所定値以下の場合に減速処理を行う車両。
【請求項3】
ステレオカメラによって撮像された画像を画像処理して、前記画像に写る対象物の位置を算出する画像処理装置
と、走行動作及び荷役動作に関する制御を行うコントローラと、を備えた車両であって、
前記画像から、画素毎に視差が対応付けられた視差画像を取得する取得手段と、
前記視差画像を複数の画素を含んだエリアに分割する分割手段と、
前記エリアに含まれる複数の画素に対応付けられた視差に基づいて、エリア毎に代表視差を導出する代表視差導出手段と、
前記代表視差から前記画像に写る対象物の位置を算出する位置算出手段と、を備え、
前記分割手段は、前記視差画像において、前記ステレオカメラから離れた前記エリアほど含まれる画素が少なくなるように分割を行
い、
前記コントローラは、前記車両の現在位置と算出された前記対象物の位置との相対距離が所定値以下の場合に減速処理を行う車両。
【請求項4】
ステレオカメラによって撮像された画像を画像処理して、前記画像に写る対象物の位置を算出する画像処理装置と、走行動作及び荷役動作に関する制御を行うコントローラと、を備えた車両であって、
前記画像から、画素毎に視差が対応付けられた視差画像を取得する取得手段と、
前記視差画像を複数の画素を含んだエリアに分割する分割手段と、
前記エリアに含まれる複数の画素に対応付けられた視差に基づいて、エリア毎に代表視差を導出する代表視差導出手段と、
前記代表視差から前記画像に写る対象物の位置を算出する位置算出手段と、を備え、
前記分割手段は、前記視差画像において、前記エリアが格子状になるように分割を行い、
前記コントローラは、前記車両の現在位置と算出された前記対象物の位置との相対距離が所定値以下の場合に減速処理を行う車両。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び車両に関する。
【背景技術】
【0002】
ステレオカメラによって撮像された画像を画像処理して、画像に写った対象物の位置を算出する画像処理装置としては、例えば、特許文献1に記載されている。
特許文献1の画像処理装置は、ステレオカメラによって撮像された画像から視差画像を取得し、視差画像から画像に写った先行車を検出している。自動車の場合、高さ1m~1.5m付近に側縁が存在するため、画像処理装置は、画像において高さ1mに相当する部分のみ画像処理を行っている。即ち、位置を算出する対象物を自動車の側縁に限定することで、画像の特定部分のみしか画像処理を行わなくても、先行車を検出できるようにしている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、画像に写る障害物など、先行車以外の物体を検出したい場合、画像における特定部分とは異なる部分についても、対象物の位置を算出する必要がある。しかしながら、画像の全体に対して画像処理を行うと、画像の特定部分とは異なる部分に写る対象物の位置も算出できる一方で、計算コストが増大する。
【0005】
本発明の目的は、計算コストの増大を抑制しつつ、画像に写る対象物の位置を算出することができる画像処理装置及び車両を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決する画像処理装置は、ステレオカメラによって撮像された画像を画像処理して、前記画像に写る対象物の位置を算出する画像処理装置であって、前記画像から、画素毎に視差が対応付けられた視差画像を取得する取得手段と、前記視差画像を複数の画素を含んだエリアに分割する分割手段と、前記エリアに含まれる複数の画素に対応付けられた視差に基づいて、エリア毎に代表視差を導出する代表視差導出手段と、前記代表視差から前記画像に写る対象物の位置を算出する位置算出手段と、を備える。
【0007】
これによれば、視差画像を複数のエリアに分割し、エリア毎に対応付けられた代表視差から画像に写る対象物の位置を算出することができる。エリアは、複数の画素を含んでいるため、視差画像の画素毎に対象物の位置を算出する場合に比べて、画像処理装置の計算コストを低減することができる。また、位置算出手段は、視差画像を分割したエリア毎に対象物の位置を算出するため、視差画像の全体に亘って対象物の位置の算出が行われることになる。したがって、計算コストの増大を抑制しつつ、画像に写る対象物の位置を検出することができる。
【0010】
上記画像処理装置について、前記代表視差導出手段は、前記エリアに含まれる各画素に対応付けられた視差についての分布を求め、頻度の高い上位複数の視差のうち、最も大きい値の視差を代表視差とする。
【0011】
ステレオカメラによって撮像された画像から視差画像を取得すると、ステレオカメラに近い画素ほど、対応付けられる視差が大きくなる。頻度の高い上位複数の視差のうち、最も大きい値の視差を代表視差とすることで、ステレオカメラに近い対象物の位置を優先して算出することができる。
【0012】
上記画像処理装置について、前記分割手段は、前記エリアを前記エリアよりも細分化された細分化エリアに分割可能であり、前記代表視差導出手段は、前記細分化エリアの代表視差を導出可能である。
【0013】
これによれば、位置算出手段は、細分化エリアの代表視差から対象物の位置を算出することができる。対象物の位置精度を向上させたいエリアについては、エリアよりも細分化された細分化エリアの代表視差から対象物の位置を算出することで、対象物の位置精度を向上させることができる。
【0014】
上記画像処理装置について、前記分割手段は、前記視差画像において、前記ステレオカメラから離れた前記エリアほど含まれる画素が少なくなるように分割を行う。
視差は、ステレオカメラに近いほど大きくなり、ステレオカメラから離れるほど小さくなる。すると、視差画像を均等なエリアに分割した場合、ステレオカメラから離れたエリアほど、代表視差の値の変化によって、算出される対象物の位置が大きく変化する。即ち、ステレオカメラから離れたエリアほど、対象物の位置精度が低くなりやすい。ステレオカメラから離れたエリアほど含まれる画素を少なくすることで、ステレオカメラから離れたエリアにおける対象物の位置精度を向上させることができる。対象物の位置精度が低くなりにくいエリアと、対象物の位置精度が低くなりやすいエリアで含まれる画素数を変更することで、計算コストの増大を抑制しつつ、対象物の位置精度の低下を抑制できる。
上記課題を解決する車両は、ステレオカメラによって撮像された画像を画像処理して、前記画像に写る対象物の位置を算出する画像処理装置と、走行動作及び荷役動作に関する制御を行うコントローラと、を備えた車両であって、前記画像から、画素毎に視差が対応付けられた視差画像を取得する取得手段と、前記視差画像を複数の画素を含んだエリアに分割する分割手段と、前記エリアに含まれる複数の画素に対応付けられた視差に基づいて、エリア毎に代表視差を導出する代表視差導出手段と、前記代表視差から前記画像に写る対象物の位置を算出する位置算出手段と、を備え、前記分割手段は、前記視差画像において、前記エリアが格子状になるように分割を行い、前記コントローラは、前記車両の現在位置と算出された前記対象物の位置との相対距離が所定値以下の場合に減速処理を行う。
【発明の効果】
【0015】
本発明によれば、計算コストの増大を抑制しつつ、画像に写る対象物の位置を算出することができる。
【図面の簡単な説明】
【0016】
【
図1】フォークリフト、及び、障害物検出装置の概略構成図。
【
図3】第1実施形態におけるエリアに含まれる各画素と頻度との関係を示すヒストグラム。
【
図4】(a)~(c)は第1実施形態における画像処理装置によって検出された障害物をXY平面にプロットした図を示す概略図。
【
図5】第2実施形態におけるエリアと、細分化エリアとを示す概略図。
【
図7】変形例におけるエリアに含まれる各画素と頻度との関係を示すヒストグラム。
【発明を実施するための形態】
【0017】
(第1実施形態)
以下、画像処理装置の第1実施形態について説明する。
図1に示すように、フォークリフト10は、メインコントローラ20と、走行用モータM1を制御する走行制御装置23と、車速センサ24と、を備える。メインコントローラ20は、走行動作、及び、荷役動作に関する制御を行う。メインコントローラ20は、CPU(演算部)21と、種々の制御を行うためのプログラムなどが記憶されたメモリ22と、を備える。
【0018】
メインコントローラ20のCPU21は、フォークリフト10の車速が目標速度となるように走行制御装置23に走行用モータM1の回転数の指令を与える。メインコントローラ20は、走行制御装置23に走行用モータM1を回転させる方向の指令を与えることで、フォークリフト10を進行させる方向(前進又は後進)を制御する。
【0019】
本実施形態の走行制御装置23は、モータドライバである。本実施形態の車速センサ24は、走行用モータM1の回転数を検出する回転数センサである。車速センサ24は、走行用モータM1の回転数を走行制御装置23に出力する。走行制御装置23は、メインコントローラ20からの指令に基づき、走行用モータM1の回転数が指令と一致するように走行用モータM1を制御する。走行制御装置23は、走行用モータM1の回転方向がメインコントローラ20からの指令と一致するように走行用モータM1を制御する。なお、フォークリフト10は、自動で走行動作及び荷役動作が行われるものであってもよいし、搭乗者(オペレータ)による操作によって走行動作及び荷役動作が行われるものであってもよい。
【0020】
フォークリフト10には、障害物検出装置30が搭載されている。障害物検出装置30は、2つの撮像装置31,41を備える。2つの撮像装置31,41のうちの一方は、前方撮像装置31であり、他方は後方撮像装置41である。前方撮像装置31は、フォークリフト10の前方を撮像するステレオカメラである。後方撮像装置41は、フォークリフト10の後方を撮影するステレオカメラである。
【0021】
前方撮像装置31は、2つのカメラ32,33を備える。カメラ32,33としては、例えば、CCDイメージセンサや、CMOSイメージセンサが用いられる。各カメラ32,33は、互いの光軸が平行となるように配置されている。なお、各カメラ32,33の光軸は、水平であってもよいし、水平でなくてもよい。2つのカメラ32,33のうち、一方を第1カメラ32とし、他方を第2カメラ33とする。後方撮像装置41は、前方撮像装置31と同一構成であり、第1カメラ42と、第2カメラ43と、を備える。本実施形態において、各カメラ32,33,42,43によって撮像される画像の画素数は、同一である。画像としては、例えば、VGA(640×480ピクセル)が用いられる。以下の説明において、第1カメラ32,42によって撮像された画像を第1画像、第2カメラ33,43によって撮像された画像を第2画像として説明を行う。
【0022】
障害物検出装置30は、各撮像装置31,41によって撮像された画像を画像処理して、画像に写る対象物の位置を算出する画像処理装置50を備える。画像処理装置50は、CPU、RAM、ROM等から構成されている。
【0023】
以下、画像処理装置50の行う画像処理について作用とともに説明する。
画像処理装置50は、撮像装置31,41によって撮像された画像から、視差を算出する。視差は、撮像装置31,41のそれぞれについて第1画像と、第2画像とを比較し、各画像に写る同一の対象物について第1画像と第2画像の画像位置(ピクセル)の差を算出することで得られる。画像位置の差は、第1画像に写る対象物と、第2画像に写る対象物との画素(ピクセル)数の差[px]である。本実施形態において、視差は視差画像として得られる。視差画像とは、撮像装置31,41によって撮像された画像に写る対象物と、当該対象物の視差とを対応付けた画像である。視差画像には、画素毎に視差が対応付けられている。視差画像の画素数は、第1画像(第2画像)の画素数と同一である。なお、視差画像とは、必ずしも表示を要するものではなく、視差画像における各画素(視差画像におけるX座標及びY座標)に視差が対応付けられたデータのことを示す。画像処理装置50は、視差画像を取得する取得手段を備えているといえる。
【0024】
なお、対象物とは、各画像に含まれる特徴部分であり、例えば、物体のエッジなど、境目として認識可能な部分である。対象物は、輝度情報などから検出することができ、画像処理装置50は、対象物から視差を算出することができる。
【0025】
図2に示すように、本実施形態の視差画像Iは、視差を濃淡によって表わしたものである。視差は、撮像装置31,41から近いほど大きくなり、撮像装置31,41から離れるほど小さくなる。視差画像Iは、視差の大きい画素ほど濃く、視差の小さい画素ほど薄くなるように表現されている。
【0026】
画像処理装置50は、視差画像Iを複数のエリアAに分割する。本実施形態の画像処理装置50は、全てのエリアAの画素数が同一となるように視差画像Iを均等に分割する。分割された各エリアAは、複数の画素を含む。したがって、各エリアAは、複数の画素に対応付けられた視差を含んでいるといえる。画像処理装置50は、分割手段を備えているといえる。
【0027】
画像処理装置50は、エリアA毎に代表視差を求める。代表視差とは、エリアAに対応付けられる視差である。上記したように、エリアAは、複数の画素を含んでいるため、画像処理装置50は、各画素に対応付けられた視差に基づき、代表視差を導出する。代表視差とは、エリアAを1つの画素としてみなした場合に、当該画素に対応付けられる視差であるといえる。本実施形態において、画像処理装置50は、各エリアAの視差のうち最も頻度の高い視差を代表視差とする。
【0028】
例えば、各エリアAのうちの1つのエリアA1(
図2において破線で囲まれたエリアA)について、値の異なる視差毎に計数を行うと、
図3に示すように、視差と頻度との関係を示す分布(ヒストグラム)が求められる。
【0029】
図3から把握できるように、画像処理装置50は、視差についての分布を求めることで、エリアA1において、最も頻度の高い(割合の大きい)視差を導出することができる。画像処理装置50は、最も頻度の高い視差を代表視差として、エリアA1に対応付ける。画像処理装置50は、視差画像Iを分割した全てのエリアAについて代表視差を対応付ける。画像処理装置50は、代表視差導出手段を備えているといえる。
【0030】
画像処理装置50は、代表視差からフォークリフト10の周囲に存在する対象物の位置を算出する。まず、画像処理装置50は、視差画像Iからカメラ座標系における対象物の位置を算出する。カメラ座標系は、光軸をZ軸とし、光軸に直交する2つの軸のそれぞれをX軸、Y軸とする3軸直交座標系である。カメラ座標系における対象物の位置は、カメラ座標系におけるZ座標Zc、X座標Xc、Y座標Ycで表わすことができる。Z座標Zc、X座標Xc、及び、Y座標Ycは、それぞれ、以下の(1)式~(3)式を用いて算出することができる。
【0031】
【0032】
【0033】
【数3】
ここで、Bは各撮像装置31,41の眼間距離[m]、fは焦点距離[m]、dは代表視差[px]である。xpは視差画像中の任意のエリアAの中心X座標(任意のエリアAにおける横ピクセルの中心)、x’は視差画像中の中心X座標である。ypは視差画像中の任意のエリアAの中心Y座標(任意のエリアAにおける縦ピクセルの中心)、y’は視差画像中の中心Y座標である。視差画像中の全てのエリアAについて、上記した(1)式~(3)式の計算は行われる。
【0034】
ここで、フォークリフト10の進行方向に延びる軸をY軸、鉛直方向に延びる軸をZ軸、Y軸及びZ軸に直交する軸をX軸とする3軸直交座標系(ワールド座標系)での座標を実空間上での座標(ワールド座標)とする。実空間上での対象物の位置は、実空間上におけるX座標Xw、Y座標Yw、Z座標Zwで表わすことができる。
【0035】
各カメラ32,33,42,43の光軸が水平(鉛直方向と直交)となるように撮像装置31,41が設置されている場合、Xc=Xw、Yc=Zw、Zc=Ywとなる。即ち、カメラ座標系における対象物の位置が実空間上での対象物の位置となる。
【0036】
一方で、各カメラ32,33、42,43の光軸が水平(鉛直方向と直交)ではない場合、画像処理装置50は、以下の(4)式を用いて座標変換(ワールド座標変換)を行う。
【0037】
【数4】
ここで、Hはワールド座標系における撮像装置31,41の取り付け高さであり、θはカメラ32,33、42,43の光軸と、水平面とがなす角+90°の角度である。画像処理装置50は、位置算出手段を備えているといえる。
【0038】
画像処理装置50は、実空間上での位置(座標)が算出された対象物のうち、所定の高さ以上のものをXY平面にプロットする。所定の高さは、フォークリフト10の走行に際して障害となり得る高さであり、例えば、100[mm]である。対象物が所定の高さ以上か否かは、対象物のZ座標Zwから判断することができる。
【0039】
XY平面に対象物をプロットすると、フォークリフト10の走行の障害となり得る障害物を俯瞰した場合の位置情報を得ることができる。
ここで、代表視差を用いて算出された対象物の位置は、エリアAを1つの画素とみなして算出したものである。このため、視差画像Iの全ての画素に対応付けられた視差から対象物の位置を算出する場合に比べると、対象物の位置精度は低くなる。具体的にいうと、実際の対象物の位置と、算出される対象物の位置との差が大きくなる。
【0040】
図4(a)は視差画像Iを100画素(10×10画素)のエリアAに分割した場合に、XY平面にプロットされる対象物を示している。
図4(b)は視差画像Iを25画素(5×5画素)のエリアAに分割した場合にXY平面にプロットされる対象物を示している。
図4(c)は視差画像Iを分割しない場合にXY平面にプロットされる対象物を示している。なお、
図4(a)~
図4(c)は、視差画像IにおけるエリアA1、及び、エリアA1の周辺のエリアAから対象物の位置を算出した場合のXY平面を示している。
【0041】
図4(c)から把握できるように、視差画像Iの全ての画素について対象物の位置の算出を行うと、対象物のプロットが密となる。画像処理装置50は、プロットが集中している部分が障害物Bであると判断することができる。これにより、画像処理装置50により、障害物Bの検出が行われる。
【0042】
図4(a)及び
図4(b)に示すように、視差画像Iの分割数を増やすと、対象物のプロットが疎となる。
図4(c)に比べると、障害物Bの形状を精度良く検出することはできないが、おおまかな形状は把握することができる。このため、視差画像Iを複数のエリアAに分割した場合であっても、画像処理装置50は、障害物Bを検出することができる。
【0043】
画像処理装置50は、障害物Bを検出すると、フォークリフト10の現在位置と、障害物Bとの相対位置とを算出する。そして、画像処理装置50は、フォークリフト10と障害物Bとの相対距離をメインコントローラ20に出力する。
【0044】
メインコントローラ20は、フォークリフト10と障害物Bとの相対距離が所定値以下の場合、減速処理を行う。所定値とは、例えば、フォークリフト10の最高速度や、制動性能などに基づき定められる値である。減速処理としては、フォークリフト10を停止させる処理、フォークリフト10の速度を現在速度から段階的に低下させる処理、フォークリフト10の速度に制限を課し、制限速度を上回る速度での走行を規制する処理など、様々な処理が挙げられる。
【0045】
したがって、上記実施形態によれば、以下の効果を得ることができる。
(1-1)画像処理装置50は、エリアA毎に対応付けられた代表視差から対象物の位置を算出し、これに基づき、障害物Bを検出している。エリアAは、複数の画素を含んでいるため、代表視差から対象物の位置を算出することで、視差画像Iの画素毎に対象物の位置を算出する場合に比べて、計算コストが低減される。例えば、視差画像Iに含まれるエリアAの数を視差画像Iの全ての画素数の1/100にした場合、視差画像Iの全ての画素について座標計算(対象物の位置の算出)を行う場合に比べて、座標計算を行う回数が1/100となる。同様に、視差画像Iに含まれるエリアAの数を視差画像Iの全ての画素数の1/25にした場合、視差画像Iの全ての画素について座標計算を行う場合に比べて座標計算を行う回数が1/25となる。
【0046】
また、視差画像Iを分割した各エリアAの代表視差から対象物の位置を算出しているため、カメラ32,33,42,43によって撮像された画像に写る対象物の全てについて位置を算出することができる。したがって、視差画像Iの特定部分のみについて対象物の位置を算出する場合に比べて、広範囲に亘って対象物の位置を算出することができる。
【0047】
(1-2)エリアAに含まれる画素に対応付けられた視差のうち、最も頻度の高い視差を代表視差としている。最も頻度の高い視差を代表視差とすることで、代表視差と、エリアAに含まれる各画素の視差との差とを小さくすることができる。これにより、代表視差から算出される対象物の位置の精度を向上させることができる。
【0048】
(第2実施形態)
以下、画像処理装置の第2実施形態について説明する。なお、以下の説明において、第1実施形態と同様の部分については記載を省略する。
【0049】
第2実施形態の画像処理装置50は、視差画像Iを分割した複数のエリアを更に分割可能である。
図5に示すように、画像処理装置50は、視差画像IをエリアA10に分割し、エリアA10毎に代表視差を算出する。画像処理装置50は、エリアA10の代表視差から対象物の位置を算出する。画像処理装置50は、代表視差によって得られた対象物の位置から、障害物Bが存在すると推定されるエリアA10を特定する。なお、障害物Bが存在すると推定されるエリアA10は、単数であってもよいし、複数であってもよい。
【0050】
本実施形態では、一例として、障害物Bが存在すると推定されるエリアとして、4つの隣接するエリアA10が特定された場合について説明する。画像処理装置50は、障害物Bが存在すると推定された4つのエリアA10を、エリアA10よりも細分化された細分化エリアA11に分割する。本実施形態において、細分化エリアA11は、エリアA10を4分割したエリアとなっている。したがって、細分化エリアA11に含まれる画素は、エリアA10に含まれる画素の1/4となる。
【0051】
画像処理装置50は、細分化エリアA11について、代表視差を導出する。代表視差は、エリアA10の代表視差と同様の方法で求めることができる。画像処理装置50は、細分化エリアA11の代表視差から対象物の位置を算出する。これにより、細分化エリアA11については、エリアA10の代表視差によって算出された対象物の位置に比べて、対象物の位置精度を向上させることができる。即ち、XY平面にプロットされる対象物が密となり、障害物Bが検出されやすくなる。
【0052】
したがって、上記実施形態によれば、第1実施形態の各効果に加えて、以下の効果を得ることができる。
(2-1)画像処理装置50は、視差画像Iを分割したエリアA10を更に分割することができる。障害物Bが存在すると推定されるエリアA10については、対象物の位置精度を向上させることで、障害物Bの検出精度を向上させることができる。また、障害物Bが存在すると推定されるエリアA10についてのみ細分化エリアA11に分割を行うことで、全てのエリアA10について細分化エリアA11に分割を行う場合に比べて、計算コストを削減できる。したがって、計算コストの増大を抑制しつつ、障害物Bの検出精度を向上させることができる。
【0053】
(第3実施形態)
以下、画像処理装置の第3実施形態について説明する。なお、以下の説明において、第1実施形態と同様の部分については記載を省略する。
【0054】
図6に示すように、画像処理装置50は、視差画像Iを分割する際に、含まれる画素数の異なるエリアA21、及び、エリアA22に視差画像Iを分割する。エリアA22は、エリアA21よりも含まれる画素数が少ない。エリアA22は、エリアA21よりも細分化されたエリアといえる。
【0055】
視差画像Iは、視差画像Iの二次元座標(XY座標)において、所定のY座標(縦ピクセル)を境として、エリアA21に分割される部分と、エリアA22に分割される部分に分かれている。視差画像Iにおける下側の部分は、エリアA21に分割されており、視差画像Iにおける上側の部分はエリアA22に分割されている。画像処理装置50は、エリアA21の代表視差、エリアA22の代表視差のそれぞれから、対象物の位置を算出する。エリアA22は、エリアA21よりも含まれる画素が少ないため、視差画像Iにおいては、下側に比べて上側のほうが対象物の位置精度を向上させているといえる。
【0056】
視差画像Iにおいては、下側ほど撮像装置31,41に近い位置となる。視差は、撮像装置31,41に近いほど大きくなり、撮像装置31,41から離れるほど小さくなる。すると、対象物の位置を算出するに際して、代表視差が与える影響は、撮像装置31,41に近いエリアA21ほど小さく、撮像装置31,41から離れたエリアA22ほど大きくなる。
【0057】
詳細にいうと、撮像装置31,41に近いエリアA21は、撮像装置31,41から離れたエリアA22に比べて、対応付けられる代表視差が大きくなる。(1)式から把握できるように、代表視差が1変化した場合のZ座標Zcの変化は、代表視差が大きいほど小さくなる。即ち、視差画像Iを均等なエリアに分割した場合、撮像装置31,41から離れたエリアほど、代表視差の値の変化によって、算出される対象物の位置が大きく変化する。
【0058】
これに対して、撮像装置31,41から離れたエリアA22ほど含まれる画素を少なくすることで、撮像装置31,41から離れたエリアA22における対象物の位置精度を向上させることができる。
【0059】
したがって、上記実施形態によれば、第1実施形態の各効果に加えて、以下の効果を得ることができる。
(3-1)対象物の位置精度が低くなりにくいエリアA21と、対象物の位置精度が低くなりやすいエリアA22とで含まれる画素を変更することで、計算コストの増大を抑制しつつ、対象物の位置精度の低下を抑制できる。
【0060】
なお、実施形態は以下のように変更してもよい。
○各実施形態において、代表視差の導出方法を変更してもよい。例えば、
図7に示すように、画像処理装置50は、各エリアに含まれる各画素についての分布を求め、頻度の高い上位複数の視差のうち、最も大きい値の視差を代表視差としてもよい。
図7では、各画素に対応付けられた視差のうち、頻度の多い上位3つの視差が抽出される。画像処理装置50は、抽出された上位3つの視差のうち、最も大きい視差を代表視差とする。なお、上位として抽出される視差は、3つより多くてもよいし、2つであってもよい。
【0061】
また、代表視差は、各エリアに含まれる各画素に対応付けられた視差の平均値であってもよいし、頻度の多い上位複数の視差の平均値であってもよい。
○第2実施形態において、エリアA10の代表視差の導出方法と、細分化エリアA11の代表視差の導出方法を異なるものにしてもよい。例えば、エリアA10の代表視差は、最も頻度の高い視差とし、細分化エリアA11の代表視差は、頻度の高い上位複数の視差のうち、最も値の大きい視差としてもよい。また、第3実施形態において、エリアA21の代表視差の導出方法と、エリアA22の代表視差の導出方法とを異なるものにしてもよい。
【0062】
○第3実施形態において、視差画像Iを分割するエリアとして、含まれる視差の数が異なる3種類以上のエリアを用いてもよい。例えば、視差画像Iにおいて、撮像装置31,41から離れるにつれて、3段階に亘ってエリアに含まれる視差の数が少なくなってもよい。
【0063】
○第2実施形態の画像処理と、第3実施形態の画像処理とを組み合わせてもよい。画像処理装置50は、エリアA21の代表視差と、エリアA22の代表視差から対象物の位置を算出し、障害物Bが存在すると推定されるエリアA21,A22を特定する。画像処理装置50は、障害物Bが存在すると推定されるエリアA21,A22を細分化エリアに分割して、細分化エリアの代表視差から対象物の位置を算出する。
【0064】
○各実施形態において、撮像装置31,41として、3つ以上のカメラを備えるものを用いてもよい。
○各実施形態において、前方撮像装置31と、後方撮像装置41とは同一構成でなくてもよい。
【0065】
○各実施形態において、障害物検出装置30は、撮像装置31,41のうちいずれか一方のみを備える構成でもよい。
○各実施形態において、障害物Bの検出は、画像処理装置50以外の装置によって行われてもよい。
【0066】
○各実施形態において、画像処理装置50は、画像に写る対象物の位置(座標)を算出することができればよく、対象物の位置から障害物の検出を行わなくてもよい。例えば、画像処理装置50は、画像に写る物体の寸法の計測や、物体までの距離計測に用いられてもよい。
【0067】
○各実施形態において、画像処理装置50は、乗用車、建設機械、自動搬送車、トラックなどの車両や、二足歩行式のロボットなどの移動体に搭載されてもよいし、移動しない装置に搭載されてもよい。
【0068】
○各実施形態において、走行駆動装置として、エンジンが用いられてもよい。すなわち、フォークリフト10は、エンジンの駆動によって走行してもよい。この場合、走行制御装置は、エンジンへの燃料噴射量などを制御する装置となる。
【0069】
○各実施形態において、座標変換は、(4)式に代えて、テーブルデータによって行われてもよい。テーブルデータは、Y座標YcとZ座標Zcの組み合わせにY座標Ywを対応させたテーブルデータと、Y座標YcとZ座標Zcとの組み合わせにZ座標Zwを対応させたテーブルデータである。これらのテーブルデータを画像処理装置50のROMなどに記憶しておくことで、カメラ座標系におけるY座標YcとZ座標Zcから、ワールド座標系におけるY座標Yw及びZ座標Zwを求めることができる。これにより、画像処理装置50の計算コストを更に低減させることができる。なお、実施形態では、カメラ座標系におけるX座標Xcと、ワールド座標系におけるX座標Xwとは一致するため、X座標Xwを求めるためのテーブルデータは記憶されない。
【符号の説明】
【0070】
A,A10,A21,A22…エリア、A11…細分化エリア、31,41…撮像装置(ステレオカメラ)、50…画像処理装置(取得手段、分割手段、代表視差導出手段、及び、位置算出手段)。