(57)【要約】【課題】フォークリフトの周辺を監視すること。【解決手段】フォークリフトには、監視装置が搭載されている。監視装置は、近傍カメラと、物体検出装置と、を備える。近傍カメラは、ヘッドガードから下方を撮像するように配置されている。近傍カメラは、側方領域及び後方領域が撮像範囲に含まれるように配置されている。側方領域は、車体の側方に位置しており、車体に沿う領域である。後方領域は、車体の後方に位置しており、車体に沿う領域である。物体検出装置は、近傍カメラによって撮像された画像から動体物を検出する動体検出処理を行う。【選択図】図７
2020164316.tif 000002
【特許請求の範囲】
【請求項１】
フォークリフトに設けられる監視装置であって、
前記フォークリフトの車体の側方に位置しており前記車体に沿う領域を側方領域、前記車体の後方に位置しており前記車体に沿う領域を後方領域とすると、下方を撮像するように配置されており、かつ、撮像範囲に前記側方領域及び前記後方領域が含まれるように配置された近傍カメラと、
前記近傍カメラによって撮像された画像から動体物を検出する動体検出処理を行う動体検出部と、を備える監視装置。
【請求項２】
前記フォークリフトの進行方向を撮像するように配置されたステレオカメラと、
前記ステレオカメラによって撮像された画像から物体を検出する物体検出処理を行う物体検出部と、
前記フォークリフトが走行中か否かを判定する走行判定部と、
前記フォークリフトの停止中には前記動体検出部による前記動体検出処理が行われ、前記フォークリフトの走行中には前記物体検出部による前記物体検出処理が行われるように切り替えを行う切替部と、を備える請求項１に記載の監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置に関する。
【背景技術】
【０００２】
車両には、人や障害物などの物体が車両の周辺に存在するか否かを監視するための監視装置が搭載されている。特許文献１に記載の監視装置は、ステレオカメラと、検出部と、を備える。ステレオカメラは、車両の前方を撮像するように配置されている。検出部は、ステレオカメラによって撮像された画像から物体を検出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６４５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のように、車両に搭載される監視装置は、車両の進行方向に位置する物体を検出するために設けられている場合が多い。車両の進行方向に位置する物体を検出する場合、移動中の車両が物体に到達するよりも早く物体を検出する必要がある。このため、ステレオカメラは車両から離れた位置が撮像範囲に入り込むように配置され、車両の周辺を十分に監視できているとはいえない。フォークリフトは乗用車に比べて旋回半径が小さいため、フォークリフトに搭載される監視装置には、フォークリフトの周辺を監視することが望まれている。
【０００５】
本発明の目的は、フォークリフトの周辺を監視することができる監視装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決する監視装置は、フォークリフトに設けられる監視装置であって、前記フォークリフトの車体の側方に位置しており前記車体に沿う領域を側方領域、前記車体の後方に位置しており前記車体に沿う領域を後方領域とすると、下方を撮像するように配置されており、かつ、撮像範囲に前記側方領域及び前記後方領域が含まれるように配置された近傍カメラと、前記近傍カメラによって撮像された画像から動体物を検出する動体検出処理を行う動体検出部と、を備える。
【０００７】
下方が撮像されるように近傍カメラを配置し、かつ、近傍カメラの撮像範囲に側方領域及び後方領域が含まれるようにすることで、画像にはフォークリフトの周辺が写る。動体検出部は、動体検出処理を行うことで、画像から人や人以外の動体物を検出することができる。従って、監視装置は、フォークリフトの周辺を監視することができる。
【０００８】
上記監視装置について、前記フォークリフトの進行方向を撮像するように配置されたステレオカメラと、前記ステレオカメラによって撮像された画像から物体を検出する物体検出処理を行う物体検出部と、前記フォークリフトが走行中か否かを判定する走行判定部と、前記フォークリフトの停止中には前記動体検出部による前記動体検出処理が行われ、前記フォークリフトの走行中には前記物体検出部による前記物体検出処理が行われるように切り替えを行う切替部と、を備えていてもよい。
【０００９】
フォークリフトが走行中の場合、進行方向に位置する物体の検出を行いたいため、物体検出部により物体検出処理を行う。これにより、フォークリフトの進行の妨げとなる物体を検出することができる。フォークリフトが停止中の場合、フォークリフトの停止中に人等の動体物がフォークリフトに近付き、フォークリフトの周辺に位置している場合がある。このため、フォークリフトが停止中の場合には動体検出部により動体検出処理を行い、フォークリフトの周辺の監視を行う。切替部による切り替えによって、物体検出部による物体の検出と、動体検出部による動体物の検出とを状況に合わせて切り替えることができる。
【発明の効果】
【００１０】
本発明によれば、フォークリフトの周辺を監視することができる。
【図面の簡単な説明】
【００１１】
【図１】監視装置が搭載されるフォークリフトの斜視図。
【図２】フォークリフト及び監視装置の概略構成図。
【図３】ヘッドガードに取り付けられた検出ユニット及び近傍カメラの正面図。
【図４】検出ユニットと近傍カメラの分解斜視図。
【図５】近傍カメラによって撮像される近傍画像の模式図。
【図６】近傍カメラの撮像範囲とステレオカメラの撮像範囲を示す模式図。
【図７】物体検出装置が行う監視処理を示すフローチャート。
【図８】アクセル開度と走行用モータの出力との関係を示す図。
【図９】監視装置の変形例を示す斜視図。
【発明を実施するための形態】
【００１２】
以下、監視装置の一実施形態について説明する。以下の説明において、上下とは鉛直方向の上下である。
図１に示すように、フォークリフト１０は、車体１１と、荷役装置１２と、を備える。車体１１は、運転席Ｃの上部に設けられたヘッドガード１３と、ヘッドガード１３を支持する支柱１４と、を備える。支柱１４同士の間は、開放されている。即ち、フォークリフト１０は、キャビンを備えず、運転席Ｃが外部に開放されたフォークリフトである。本実施形態のフォークリフト１０は、操作者による操作によって走行動作及び荷役動作が行われるものである。
【００１３】
図２に示すように、フォークリフト１０は、メインコントローラ２０と、走行用モータＭ１と、走行用モータＭ１を制御する走行制御装置２３と、車速センサ２４と、アクセルセンサ２５と、ディレクションセンサ２６と、を備える。メインコントローラ２０は、走行動作及び荷役動作に関する制御を行う。メインコントローラ２０は、ＣＰＵ２１と、種々の制御を行うためのプログラムなどが記憶されたメモリ２２と、を備える。
【００１４】
アクセルセンサ２５は、アクセル開度を検出し、検出結果をメインコントローラ２０に出力する。ディレクションセンサ２６は、進行方向を指示するディレクションレバーの操作方向を検出する。ディレクションセンサ２６は、中立位置を基準として、前進を指示する方向にディレクションレバーが操作されているか、後進を指示する方向にディレクションレバーが操作されているかを検出する。ディレクションセンサ２６は、検出結果をメインコントローラ２０に出力する。
【００１５】
メインコントローラ２０のＣＰＵ２１は、フォークリフト１０の車速が目標速度となるように走行制御装置２３に走行用モータＭ１の回転数の指令を与える。目標速度は、アクセル開度に応じて設定される。本実施形態の走行制御装置２３は、モータドライバである。本実施形態の車速センサ２４は、走行用モータＭ１の回転数を検出する回転数センサである。車速センサ２４は、走行用モータＭ１の回転数を走行制御装置２３に出力する。走行制御装置２３は、メインコントローラ２０からの指令に基づき、走行用モータＭ１の回転数が指令と一致するように走行用モータＭ１を制御する。詳細にいえば、走行制御装置２３は、走行用モータＭ１に流れる電流を制御することで、フォークリフト１０の車速が目標速度となるように制御を行う。メインコントローラ２０は、走行制御装置２３から車速センサ２４の検出結果を取得可能である。
【００１６】
フォークリフト１０には、監視装置ＳＳが搭載されている。監視装置ＳＳは、物体検出ユニット３０と、近傍カメラ５１と、警告装置６１と、を備える。物体検出ユニット３０は、ステレオカメラ３１と、ステレオカメラ３１によって撮像された画像から物体の検出を行う物体検出装置４１と、を備える。物体検出ユニット３０は、ステレオカメラ３１と、物体検出装置４１と、をユニット化したものである。ユニット化とは、例えば、ステレオカメラ３１と、物体検出装置４１とが同一の筐体に収容されることで１つの部材として取り扱われることを示す。
【００１７】
図１、図３及び図４に示すように、物体検出ユニット３０及び近傍カメラ５１は、ヘッドガード１３の後方に配置されている。物体検出ユニット３０及び近傍カメラ５１は、互いに隣接して配置されている。物体検出ユニット３０は、外面に露出して設けられた第１コネクタ３４を備える。近傍カメラ５１は、外面に露出して設けられた第２コネクタ５２を備える。第１コネクタ３４及び第２コネクタ５２には、物体検出ユニット３０から近傍カメラ５１に電力を供給する供給部と、物体検出ユニット３０と近傍カメラ５１とのデータの送受信に用いられる信号伝達部と、が含まれる。なお、物体検出ユニット３０には、フォークリフト１０に搭載されたバッテリから電力が供給されている。第１コネクタ３４と第２コネクタ５２とが接続されることで、物体検出ユニット３０と近傍カメラ５１とが接続されている。
【００１８】
近傍カメラ５１は、例えば、ＣＣＤイメージセンサや、ＣＭＯＳイメージセンサである。近傍カメラ５１は、単眼カメラである。近傍カメラ５１の画角は、例えば、１２０°である。近傍カメラ５１は、レンズが下方を向くように配置されている。近傍カメラ５１は、ヘッドガード１３から下方を撮像するように配置されているといえる。
【００１９】
図５及び図６に示すように、近傍カメラ５１の撮像範囲Ａ１は、下方を向いている。近傍カメラ５１は、側方領域ＳＡ及び後方領域ＲＡが撮像範囲Ａ１に含まれるように配置されている。側方領域ＳＡは、車体１１の側方に位置しており、車体１１に沿う領域である。後方領域ＲＡは、車体１１の後方に位置しており、車体１１に沿う領域である。支柱１４同士の間が開放されているため、近傍カメラ５１は、支柱１４同士の間から側方領域ＳＡ及び後方領域ＲＡを撮像することができる。側方領域ＳＡ及び後方領域ＲＡは、車体１１に沿った領域であるため、フォークリフト１０の周辺の領域といえる。本実施形態では、１つの近傍カメラ５１で、車体１１の車幅方向の両側の側方領域ＳＡ及び後方領域ＲＡが撮像される。近傍カメラ５１が撮像した画像である近傍画像は、物体検出装置４１に出力される。近傍画像は、例えば、ＲＧＢ信号で表される画像である。
【００２０】
図１に示すように、ステレオカメラ３１は、フォークリフト１０の上方からフォークリフト１０の走行する路面を鳥瞰できるように配置されている。本実施形態のステレオカメラ３１は、フォークリフト１０の進行方向となり得る前後方向のうち後方を撮像するように配置されている。ステレオカメラ３１は、近傍カメラ５１の撮像範囲Ａ１よりも車体１１から離れた位置が撮像範囲Ａ２に含まれるように配置されている。ステレオカメラ３１は、近傍カメラ５１よりも後方を撮像可能であるといえる。ステレオカメラ３１の撮像範囲Ａ２は、少なくとも一部が近傍カメラ５１の撮像範囲Ａ１よりも遠ければよく、撮像範囲Ａ１と撮像範囲Ａ２は一部が重なっていてもよい。
【００２１】
図２に示すように、ステレオカメラ３１は、２つのカメラ３２，３３を備える。カメラ３２，３３としては、例えば、ＣＣＤイメージセンサや、ＣＭＯＳイメージセンサが用いられる。各カメラ３２，３３は、互いの光軸が平行となるように配置されている。本実施形態において、２つのカメラ３２，３３は、水平方向に並んで配置されている。
【００２２】
２つのカメラ３２，３３のうち、一方を第１カメラ３２、他方を第２カメラ３３とする。第１カメラ３２によって撮像された画像を第１画像、第２カメラ３３によって撮像された画像を第２画像とすると、第１画像と第２画像では同一物体が横方向にずれて写ることになる。詳細にいえば、同一物体を撮像した場合、第１画像に写る物体と、第２画像に写る物体では、横方向の画素［ｐｘ］にカメラ３２，３３間の距離に応じたずれが生じることになる。第１画像及び第２画像は、画素数が同じであり、例えば、６４０×４８０［ｐｘ］＝ＶＧＡの画像が用いられる。第１画像及び第２画像は、ＲＧＢ信号で表される画像である。第１画像及び第２画像は、物体検出装置４１に出力される。
【００２３】
物体検出装置４１は、ＣＰＵ４２と、ＲＡＭ及びＲＯＭ等からなる記憶部４３と、を備える。物体検出装置４１は、各種処理のうち少なくとも一部の処理を実行する専用のハードウェア、例えば、特定用途向け集積回路：ＡＳＩＣを備えていてもよい。物体検出装置４１は、コンピュータプログラムに従って動作する１つ以上のプロセッサ、ＡＳＩＣ等の１つ以上の専用のハードウェア回路、あるいは、それらの組み合わせを含む回路として構成し得る。プロセッサは、ＣＰＵ、並びに、ＲＡＭ及びＲＯＭ等のメモリを含む。メモリは、処理をＣＰＵに実行させるように構成されたプログラムコードまたは指令を格納している。メモリ、即ち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆるものを含む。
【００２４】
記憶部４３には、ステレオカメラ３１によって撮像された画像から物体を検出するための種々のプログラムが記憶されている。また、記憶部４３には、近傍カメラ５１によって撮像された画像である近傍画像から動体物を検出するための種々のプログラムが記憶されている。即ち、本実施形態では、ステレオカメラ３１によって撮像された画像を用いた物体検出処理と、近傍カメラ５１によって撮像された近傍画像を用いた動体検出処理の両方が１つの物体検出装置４１によって行われる。
【００２５】
物体検出ユニット３０と、近傍カメラ５１とは別体として設けられており、第１コネクタ３４と第２コネクタ５２との接続によって両者は接続されている。物体検出装置４１は、近傍カメラ５１が接続されていなければステレオカメラ３１の画像から物体を検出し、近傍カメラ５１が接続されていればステレオカメラ３１の画像から物体を検出することに加えて、近傍カメラ５１の近傍画像から動体物を検出する。即ち、近傍カメラ５１を設けることによる動体物の検出は、監視装置ＳＳの拡張機能として設けられている。
【００２６】
物体検出装置４１は、ＣＡＮ：Controller Area NetworkやＬＩＮ：Local Interconnect Networkなどの車両用の通信プロトコルに従った通信を行うことで、メインコントローラ２０とデータの送受信を行うことが可能である。
【００２７】
警告装置６１は、音、光等によって警告を行う装置である。警告装置６１は、フォークリフト１０の操作者及びフォークリフト１０の周辺にいる人の少なくともいずれかに警告を行う。
【００２８】
以下、物体検出装置４１により行われる監視処理について説明する。監視処理は、フォークリフト１０が起動状態のときに所定の制御周期で繰り返し行われる。起動状態とは、フォークリフト１０に走行動作及び荷役動作を行わせることが可能な状態である。
【００２９】
図７に示すように、ステップＳ１において、物体検出装置４１は、フォークリフト１０が停止状態か否かを判定する。フォークリフト１０が停止状態か否かの判定は、種々の態様で行うことができる。例えば、フォークリフト１０が停止状態か否かは、車速センサ２４の検出結果をメインコントローラ２０から取得することで判定することができる。また、アクセルセンサ２５の検出結果をメインコントローラ２０から取得することでも判定を行うことができる。ステップＳ１の処理を行うことで、物体検出装置４１は、走行判定部として機能している。
【００３０】
ステップＳ１の判定結果が肯定の場合、物体検出装置４１は、ステップＳ２の処理を行う。ステップＳ２以降の処理は、フォークリフト１０の周辺を監視する処理である。フォークリフト１０の停止中には、フォークリフト１０の周辺が監視される。ステップＳ２において、物体検出装置４１は、走行操作の有無を判定する。本実施形態における走行操作とは、ディレクションレバーによりフォークリフト１０の後進が指示されることである。即ち、物体検出装置４１は、ディレクションセンサ２６の検出結果からステップＳ２の判定を行う。ステップＳ２の判定結果が否定の場合、物体検出装置４１は、ステップＳ３の処理を行う。
【００３１】
ステップＳ３において、物体検出装置４１は、近傍画像から動体物を検出する動体検出処理を行う。動体検出処理は、近傍カメラ５１から複数のフレームに亘って近傍画像を取得し、画素の変化を検出することで行われる。撮像範囲Ａ１に動体物が存在している場合、フレーム間で動体物の位置が異なる。従って、撮像範囲Ａ１に動体物が存在している場合、動体物の位置の変化によりフレーム間で画素に変化が生じる。物体検出装置４１は、画素の変化から動体物が近傍画像に存在するか否かを判定することができる。画素の変化とは、例えば、画素の輝度値の変化である。動体検出処理は、例えば、オプティカルフローやフレーム間差分法を用いて行うことができる。なお、動体物とは、人、車両、ロボットなど時間経過に伴い移動する物体である。
【００３２】
図５に示すように、側方領域ＳＡ及び後方領域ＲＡが撮像範囲Ａ１に含まれるように近傍カメラ５１を配置すると、撮像範囲Ａ１には運転席Ｃが含まれることになる。運転席Ｃに、フォークリフト１０の操作者が存在する場合、フォークリフト１０の周辺に動体物が存在していないにも関わらず、動体物が存在していると判定されることになる。従って、物体検出装置４１は、動体検出処理を行うに際して、近傍画像のうち運転席Ｃが写る領域については、動体物の有無に関わらず、動体物は存在していないと扱う。物体検出装置４１は、近傍画像のうち運転席Ｃが写る領域を予め把握し、当該領域については動体検出処理を行わなくてもよい。また、物体検出装置４１は、近傍画像の全体の領域について動体検出処理を行った後に、運転席Ｃが写る領域の動体物は動体物とみなさないようにしてもよい。このように、物体検出装置４１は、種々の態様で運転席Ｃが写る領域の動体物を無効化することができる。
【００３３】
図６に示すように、運転席Ｃの写る領域については動体物が存在していないと扱うことで、近傍カメラ５１の撮像範囲Ａ１は、実質的には図６に示す破線で囲まれる範囲になるといえる。近傍カメラ５１の撮像範囲Ａ１からは実質的に運転席Ｃが除外されるといえる。言い換えれば、撮像範囲Ａ１に含まれる領域は、側方領域ＳＡ及び後方領域ＲＡに制限されることになる。ステップＳ３の処理を行うことで、物体検出装置４１は動体検出部として機能している。
【００３４】
図７に示すように、ステップＳ４において、物体検出装置４１は、近傍カメラ５１の撮像範囲Ａ１に動体物が存在するか否かを判定する。即ち、ステップＳ３の動体検出処理により動体物が検出されたか否かを判定する。近傍画像は、撮像範囲Ａ１を撮像した画像なので、近傍画像に動体物が存在する場合、撮像範囲Ａ１に動体物が存在しているといえる。ステップＳ４の判定結果が肯定の場合、物体検出装置４１は、ステップＳ５において警告フラグをオンにする。詳細にいえば、物体検出装置４１は、警告フラグがオフの場合には警告フラグをオンにし、警告フラグが既にオンされている場合にはオンを維持する。一方で、ステップＳ４の判定結果が否定の場合、物体検出装置４１は、ステップＳ６において警告フラグをオフにする。詳細にいえば、物体検出装置４１は、警告フラグがオンの場合には警告フラグをオフにし、警告フラグが既にオフされている場合にはオフを維持する。ステップＳ５又はステップＳ６の処理を終えると、物体検出装置４１は監視処理を終了する。
【００３５】
ステップＳ２の判定結果が肯定の場合、物体検出装置４１はステップＳ７の処理を行う。ステップＳ７において、物体検出装置４１は、警告フラグがオンか否かを判定する。即ち、ステップＳ７の処理を行う以前の制御周期で、警告フラグがオンにされているか否かの判定を行う。ステップＳ７の判定結果が否定の場合、物体検出装置４１は監視処理を終了する。一方で、ステップＳ７の判定結果が肯定の場合、物体検出装置４１はステップＳ８の処理を行う。
【００３６】
物体検出装置４１は、ステップＳ８において、警告処理を行う。警告処理とは、警告装置６１によってフォークリフト１０の操作者及び撮像範囲Ａ１内の動体物のうちの少なくともいずれかに対して警告を行う処理である。撮像範囲Ａ１内に動体物が存在するにも関わらずディレクションレバーが操作された場合、操作者はフォークリフト１０の周辺に動体物が存在していることを認識せずにフォークリフト１０を後進させようとしているおそれがある。フォークリフト１０の操作者に警告を行うことで、フォークリフト１０の周辺に動体物が存在していることを操作者に認識させる。また、動体物は人である可能性もあり、人はフォークリフト１０が後進しようとしていることを認識していないおそれがある。動体物に警告を行うことで、フォークリフト１０が後進しようとしていることをフォークリフト１０の周辺の人に認識させる。
【００３７】
本実施形態の物体検出装置４１は、警告処理とともに発進抑制処理を行う。発進抑制処理とは、警告フラグがオンの状態で、操作者にフォークリフト１０を発進させる意図があると判定された場合に、フォークリフト１０の発進を抑制する処理である。操作者にフォークリフト１０を発進させる意図があるか否かは、アクセル開度から判定することができる。
【００３８】
図８に示すように、アクセル開度には、不感帯が設定されている。不感帯とは、アクセル開度を大きくしているにも関わらず、走行用モータＭ１の出力を生じさせない領域である。不感帯の範囲内でアクセル開度に発進意図閾値が設定されている。物体検出装置４１は、メインコントローラ２０を介してアクセルセンサ２５の検出結果を取得する。物体検出装置４１は、アクセル開度が発進意図閾値を超えた場合、操作者にフォークリフト１０を発進させる意図があると判定する。物体検出装置４１は、アクセル開度が発進意図閾値を越えた場合には、発進の抑制を行う。発進の抑制は、フォークリフト１０の発進を禁止したり、フォークリフト１０に速度制限を課すことで行われる。これにより、フォークリフト１０の周辺に動体物が存在しているにも関わらず、フォークリフト１０が発進することが抑制される。
【００３９】
図７に示すように、物体検出装置４１は、警告処理及び発進抑制処理を終えると、ステップＳ９の処理を行う。警告処理及び発進抑制処理の終了条件は、任意に設定することができる。例えば、警告処理及び発進抑制処理の終了条件は、撮像範囲Ａ１に動体物が存在しなくなることでもよいし、警告処理及び発進抑制処理を開始してからの所定時間の経過であってもよい。ステップＳ９において、物体検出装置４１は、警報フラグをオフにして監視処理を終了する。
【００４０】
ステップＳ１の判定結果が否定の場合、物体検出装置４１は、ステップＳ１０の処理を行う。ステップＳ１０において、物体検出装置４１は、物体検出処理を行う。物体検出処理とは、ステレオカメラ３１によって撮像された画像から物体を検出する処理である。ステレオカメラ３１の撮像範囲Ａ２は、近傍カメラ５１の撮像範囲Ａ１よりもフォークリフト１０から離れているため、物体検出処理では、フォークリフト１０の進行方向に位置する物体であり、かつ、動体検出処理により検出できる動体物よりも遠方の物体を検出できる。これにより、フォークリフト１０の走行中には、フォークリフト１０の進行方向が監視される。
【００４１】
ステレオカメラ３１によって撮像される画像を用いることで、物体検出装置４１は、種々の手法により物体の大きさや、フォークリフト１０から物体までの距離を導出することができる。以下、物体検出処理の一例について説明するが、物体検出装置４１は、他の手法により物体を検出してもよい。
【００４２】
物体検出装置４１は、視差画像を取得する。視差画像は、画素に対して視差［ｐｘ］を対応付けた画像である。視差は、第１画像と、第２画像とを比較し、各画像に写る同一特徴点について第１画像と第２画像の画素数の差を算出することで得られる。なお、特徴点とは、物体のエッジなど、境目として認識可能な部分である。特徴点は、輝度情報などから検出することができる。
【００４３】
物体検出装置４１は、ステレオカメラ３１によって撮像されている映像から同一フレームの第１画像及び第２画像を取得する。物体検出装置４１は、各画像を一時的に格納するＲＡＭを用いて、ＲＧＢからＹＣｒＣｂへの変換を行う。なお、物体検出装置４１は、歪み補正、エッジ強調処理などを行ってもよい。物体検出装置４１は、第１画像の各画素と第２画像の各画素との類似度を比較して視差を算出するステレオ処理を行う。なお、ステレオ処理としては、画素毎に視差を算出する手法を用いてもよいし、各画像を複数の画素を含むブロックに分割してブロック毎の視差を算出するブロックマッチング法を用いてもよい。物体検出装置４１は、第１画像を基準画像、第２画像を比較画像として視差画像を取得する。物体検出装置４１は、第１画像の画素毎に、最も類似する第２画像の画素を抽出し、第１画像の画素と、当該画素に最も類似する画素の横方向の画素数の差を視差として算出する。これにより、基準画像である第１画像の各画素に視差が対応付けられた視差画像を取得することができる。視差画像とは、必ずしも表示を要するものではなく、視差画像における各画素に視差が対応付けられたデータのことを示す。なお、物体検出装置４１は、視差画像から路面の視差を除去する処理を行ってもよい。
【００４４】
次に、物体検出装置４１は、ワールド座標系における特徴点の座標を導出する。まず、物体検出装置４１は、カメラ座標系における特徴点の座標を導出する。カメラ座標系は、光軸をＺ軸とし、光軸に直交する２つの軸のそれぞれをＸ軸、Ｙ軸とする３軸直交座標系である。カメラ座標系における特徴点の座標は、カメラ座標系におけるＺ座標Ｚｃ、Ｘ座標Ｘｃ及びＹ座標Ｙｃで表わすことができる。Ｚ座標Ｚｃ、Ｘ座標Ｘｃ及びＹ座標Ｙｃは、それぞれ、以下の（１）式〜（３）式を用いて導出することができる。
【００４５】
【数１】
2020164316.tif 000003
【００４６】
【数２】
2020164316.tif 000004
【００４７】
【数３】
2020164316.tif 000005
（１）式〜（３）式におけるＢは基線長［ｍｍ］、ｆは焦点距離［ｍｍ］、ｄは視差［ｐｘ］である。ｘｐは視差画像中の任意のＸ座標であり、ｘ’は視差画像の中心座標のＸ座標である。ｙｐは視差画像中の任意のＹ座標であり、ｙ’は視差画像の中心座標のＹ座標である。
【００４８】
ｘｐを視差画像中の特徴点のＸ座標とし、ｙｐを視差画像中の特徴点のＹ座標とし、ｄを特徴点の座標に対応付けられた視差とすることで、カメラ座標系における特徴点の座標が導出される。
【００４９】
ここで、フォークリフト１０の進行方向に延びる軸をＹ軸、鉛直方向に延びる軸をＺ軸、Ｙ軸及びＺ軸に直交する軸をＸ軸とする３軸直交座標系での座標を実空間上での三次元座標系であるワールド座標系とする。ワールド座標系での特徴点の座標は、ワールド座標系におけるＸ座標Ｘｗ、Ｙ座標Ｙｗ及びＺ座標Ｚｗで表わすことができる。
【００５０】
物体検出装置４１は、以下の（４）式を用いてカメラ座標をワールド座標に変換するワールド座標変換を行う。
【００５１】
【数４】
2020164316.tif 000006
ここで、（４）式におけるＨはワールド座標系におけるステレオカメラ３１の設置高さ［ｍｍ］であり、θはカメラ３２，３３の光軸と、水平面とがなす角＋９０°の角度である。
【００５２】
ワールド座標変換で得られたワールド座標のうちＸ座標Ｘｗは、フォークリフト１０の左右方向に対するフォークリフト１０から特徴点までの距離を示す。Ｙ座標Ｙｗは、フォークリフト１０の進行方向に対するフォークリフト１０から特徴点までの距離を示す。Ｚ座標Ｚｗは、路面から特徴点までの高さを示す。
【００５３】
次に、物体検出装置４１は、特徴点のワールド座標から、所定範囲内に位置する特徴点を１つの点群とみなすクラスタ化を行う。物体検出装置４１は、クラスタ化された点群を１つの物体とみなす。物体検出装置４１は、点群を構成する特徴点の座標から、物体の大きさ及び物体の位置を把握することができる。
【００５４】
また、物体検出装置４１は、検出した物体が人か人以外の障害物かを判別することもできる。物体検出装置４１は、物体のワールド座標系での座標から、物体が写る第１画像上での座標を導出する。そして、第１画像上での物体の座標に対して、人検出処理を行うことで、物体が人か否かの判定を行うことができる。人検出処理は、第１画像から特徴量を抽出する特徴量抽出法により行われ、例えば、HOG：Histograms of Oriented Gradientsや、SIFT：Scale Invariant Feature Transformを用いて行われる。ステップＳ１０の処理を行うことで、物体検出装置４１は物体検出部として機能している。
【００５５】
次に、物体検出装置４１は、ステップＳ１１の処理を行う。ステップＳ１１において、物体検出装置４１は、ステレオカメラ３１によって撮像された画像に物体が存在するか否かを判定する。即ち、ステップＳ１０における物体検出処理によって、物体が検出されたか否かを判定する。ステップＳ１１の判定結果が否定の場合、物体検出装置４１は監視処理を終了する。一方で、ステップＳ１１の判定結果が肯定の場合、物体検出装置４１はステップＳ１２の処理を行う。
【００５６】
ステップＳ１２において、物体検出装置４１は、物体が警告領域に存在するか否かを判定する。警告領域とは、フォークリフト１０から後方に閾値以上離れた領域であり、警告を行うか否かを判定するために設定された領域である。閾値としては、フォークリフト１０が物体の回避を行うのに必要となる距離、フォークリフト１０の制動距離、人にフォークリフト１０を回避させるのに必要となる距離などに基づき設定される。即ち、フォークリフト１０と物体とが過剰に近付く前に警告装置６１による警告を行えるように警告領域は設定されている。ステップＳ１２の判定結果が否定の場合、物体検出装置４１は監視処理を終了する。一方で、ステップＳ１２の判定結果が肯定の場合、物体検出装置４１はステップＳ１３の処理を行う、
ステップＳ１３において、物体検出装置４１は、警告処理を行う。ステップＳ１３の警告処理としては、ステップＳ８の警告処理と同一であってもよいし異ならせてもよい。なお、ステップＳ８では、警告処理に合わせて発進抑制処理を行ったが、ステップＳ１３では発進抑制処理は行われない。
【００５７】
上記したように、物体検出装置４１は、フォークリフト１０の停止中には動体検出処理を行い、フォークリフト１０の走行中には物体検出処理を行うように切り替えられる。両者の切り替えは、ステップＳ１の判定結果によって行われるため、ステップＳ１の処理を行うことで、物体検出装置４１は走行判定部に加えて、切替部としても機能しているといえる。
【００５８】
本実施形態の作用について説明する。
物体検出装置４１は、近傍カメラ５１の近傍画像から動体物を検出している。近傍カメラ５１を下方に向けて配置することで、側方領域ＳＡ及び後方領域ＲＡを撮像範囲Ａ１に含めることができる。このため、フォークリフト１０の周辺に動体物が存在するか否かを監視することができる。特に、フォークリフト１０の停止中には、フォークリフト１０の周辺に動体物が存在するか否かを監視することが好ましい。走行中のフォークリフト１０に対して車体１１の側方から近付く動体物があることは稀である。また、車体１１の側方からフォークリフト１０に近付く動体物が存在する場合であっても、フォークリフト１０が走行していれば、動体物とフォークリフト１０は離れていく。ステレオカメラ３１はフォークリフト１０の後方を向いて配置されているため、フォークリフト１０の走行中には近傍カメラ５１の撮像範囲Ａ１に動体物が入る前に、物体検出処理による物体の検出により動体物を検出することができる。このように、フォークリフト１０の走行中には、フォークリフト１０の側方領域ＳＡ及び後方領域ＲＡを監視しないでもフォークリフト１０の進行に際して動体物が進行を妨げる可能性は低い。一方で、フォークリフト１０の停止中には、側方領域ＳＡや後方領域ＲＡに動体物が近付く場合がある。側方領域ＳＡ及び後方領域ＲＡはステレオカメラ３１の死角となっている場合がある。従って、仮にフォークリフト１０の停止中に、ステレオカメラ３１による画像を用いた物体検出処理を行っても側方領域ＳＡ及び後方領域ＲＡに存在する動体物を検出することはできない。このため、フォークリフト１０の停止中には、近傍カメラ５１の近傍画像を用いてフォークリフト１０の周辺を監視することが好ましい。フォークリフト１０の停止中に動体検出処理を行うことで、図１に示すように、撮像範囲Ａ１内に人Ｍ１１が存在する場合、人Ｍ１１を検出することができる。
【００５９】
前述したように、フォークリフト１０の走行中にはフォークリフト１０の周辺に存在する動体物を検出する必要性は低い。一方で、フォークリフト１０の走行中には、進行の妨げとなる障害物や人を検出するために、フォークリフト１０の進行方向に位置する物体を検出する必要がある。フォークリフト１０の走行中には、ステレオカメラ３１の画像を用いて物体検出処理を行うことで、進行方向に位置する物体を検出することができる。フォークリフト１０の走行中に物体検出処理を行うことで、図１に示すように、撮像範囲Ａ１よりも遠くに人Ｍ１２が存在する場合、人Ｍ１２を検出することができる。
【００６０】
なお、フォークリフト１０の周辺の物体を検出するために超音波センサやレーザー距離計などを用いることも考えられる。この場合には、車体１１の周辺に物体が存在しているか否かは判定できるが、物体が動体物か否かの判定を行うことはできない。物体が動体物か否かにより異なる処理を行う場合には、物体の検出に加えて、物体が動体物か否かを判定する必要がある。また、全天球カメラを用いることで、車体１１の周辺を監視することも考えられる。全天球カメラは、遠方での解像度が低く、人の検出が困難である。人を検出できるように解像度を上げると、処理負荷が増加する。
【００６１】
これに対して、ヘッドガード１３に近傍カメラ５１を配置し、下方を見下ろすようにすることで、近傍カメラ５１として全天球カメラを用いなくても、側方領域ＳＡ及び後方領域ＲＡの監視が可能になる。
【００６２】
本実施形態の効果について説明する。
（１）近傍カメラ５１はフォークリフト１０の周辺を撮像するように配置されている。物体検出装置４１は、近傍カメラ５１によって撮像された近傍画像から動体物を検出することができる。フォークリフト１０の周辺に、人や人以外の動体物が存在するか否かを判定することで、監視装置ＳＳはフォークリフト１０の周辺を監視することができる。
【００６３】
（２）物体検出装置４１は、フォークリフト１０の走行中には物体検出処理による物体の検出を行っている。これにより、フォークリフト１０の走行の妨げとなる物体を検出することができる。物体検出装置４１は、フォークリフト１０の停止中には動体検出処理による動体物の検出を行っている。物体検出装置４１は、フォークリフト１０の停止中に人等の動体物がフォークリフト１０に近付いた場合に、動体物を検出することができる。物体検出装置４１は、物体検出処理による物体の検出と、動体検出処理による動体物の検出とを状況に合わせて切り替えることができる。
【００６４】
（３）物体検出ユニット３０と近傍カメラ５１とを別体とし、物体検出装置４１によって近傍カメラ５１の近傍画像から動体物の検出を行えるようにしている。近傍カメラ５１による動体検出処理を監視装置ＳＳの拡張機能とすることができる。フォークリフト１０は、様々な環境で用いられることがある関係上、種々のオプションを設定することが可能である。近傍カメラ５１による動体検出処理を監視装置ＳＳの拡張機能とすることで、顧客の要望に応じてフォークリフト１０の周辺を監視するか否かを設定することができる。
【００６５】
（４）第１コネクタ３４と第２コネクタ５２との接続によって、物体検出ユニット３０と近傍カメラ５１とを接続している。電源線や信号線により接続を行う場合に比べて、容易に接続を行うことができる。
【００６６】
（５）１つの近傍カメラ５１で、側方領域ＳＡ及び後方領域ＲＡの両方を撮像できるようにしている。このため、近傍カメラ５１を複数設ける場合に比べて、物体検出装置４１の処理負荷を軽減することができる。また、近傍カメラ５１を複数設けることによる製造コストの増加を抑制することができる。
【００６７】
実施形態は、以下のように変更して実施することができる。実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○フォークリフト１０の進行方向に位置する物体を検出する必要がない場合、監視装置ＳＳはステレオカメラ３１を備えていなくてもよい。この場合、物体検出装置４１は、フォークリフト１０の周辺の監視のみを行うことになる。
【００６８】
○動体検出処理として、近傍画像から人を検出する人検出処理を行ってもよい。人検出処理は、近傍画像から特徴量を抽出する特徴量抽出法により行われ、例えば、HOG：Histograms of Oriented Gradientsや、SIFT：Scale Invariant Feature Transformを用いて行われる。また、人検出処理は、教師有り学習モデルによる機械学習を行った判定部を用いて行ってもよい。判定部としては、例えば、サポートベクタマシン、ニューラルネットワーク、ナイーブベイズ、ディープラーニング、決定木等の教師有り学習器を採用することが可能である。機械学習に用いる教師データとしては、画像から抽出された人の形状要素や、外観要素などの画像固有成分が用いられる。形状要素として、例えば、人の大きさや輪郭などが挙げられる。外観要素としては、例えば、光源情報、テクスチャ情報、カメラ情報などが挙げられる。光源情報には、反射率や、陰影等に関する情報が含まれる。テクスチャ情報には、カラー情報等が含まれる。カメラ情報には、画質、解像度、画角等に関する情報が含まれる。動体検出処理として人検出処理を行う場合、物体検出装置４１は、動体物として人を検出することができる。また、人検出処理を行う場合、物体検出装置４１はフォークリフト１０の走行中に、近傍カメラ５１の近傍画像から人検出処理を行ってもよい。
【００６９】
○物体検出装置４１は、発進抑制処理を行う際に、メインコントローラ２０から情報を取得することなく、操作者にフォークリフト１０を発進させる意図があるか否かの判定を行ってもよい。物体検出装置４１は、動体検出処理と同様の手法により操作者にフォークリフト１０を発進させる意図があるか否かの判定を行うことができる。フォークリフト１０が停止している場合、フレーム間で画素の変化が生じるのは、動体物が存在する領域のみである。これに対して、フォークリフト１０が発進した場合、近傍画像の全体についてフレーム間で画素の変化が生じる。従って、フレーム間で近傍画像の全体について画素の変化が生じた場合には、フォークリフト１０が発進したと判定することができる。物体検出装置４１は、フォークリフト１０が発進したと判定した場合には、フォークリフト１０の走行の禁止や、フォークリフト１０の速度制限を行う。物体検出装置４１は、フォークリフト１０の発進を検出してから発進抑制処理を行うため、フォークリフト１０の走行の禁止やフォークリフト１０の速度制限が課されるまでは、フォークリフト１０は進行することになる。しかしながら、フォークリフト１０は停止中の状態から発進するため、速度は低く、発進の抑制までに走行する距離は僅かと考えられる。
【００７０】
○近傍カメラ５１の近傍画像から動体検出処理を行う動体検出部を物体検出装置４１とは別に設けてもよい。即ち、ステレオカメラ３１の画像から物体検出処理を行う物体検出装置４１と、近傍カメラ５１の近傍画像から動体検出処理を行う動体検出部とを別々にしてもよい。この場合、動体検出部は、近傍カメラ５１とユニット化されていてもよい。
【００７１】
○図９に示すように、監視装置７０は、物体検出ユニット３０と近傍カメラ５１とをユニット化したものでもよい。
○物体検出ユニット３０と近傍カメラ５１とは、電源線と信号線とを含むワイヤハーネスによって接続されていてもよい。
【００７２】
○物体検出装置４１は、ステップＳ８において、警告処理及び発進抑制処理のいずれかを行ってもよい。
○フォークリフト１０のサイズに応じて、近傍カメラ５１の配置位置を変更してもよい。例えば、大型のフォークリフトの場合、車体１１の後方に備えられるカウンタウェイトが大きく、ヘッドガード１３に近傍カメラ５１を設けると死角が生じるおそれがある。この場合、近傍カメラ５１をカウンタウェイトの後端に配置してもよい。
【００７３】
○警告装置６１は、フォークリフト１０が備えていてもよい。
○近傍カメラ５１は、複数設けられていてもよい。この場合、１つの近傍カメラ５１の撮像範囲Ａ１に側方領域ＳＡ及び後方領域ＲＡの両方が含まれていなくてもよい。複数の近傍カメラ５１の少なくともいずれかの撮像範囲Ａ１に側方領域ＳＡが含まれ、複数の近傍カメラ５１の少なくともいずれかの撮像範囲Ａ１に後方領域ＲＡが含まれていればよい。
【００７４】
○ステレオカメラ３１は、フォークリフト１０の進行方向となり得る方向を向いて配置されていればよく、フォークリフト１０の前方を向いて配置されていてもよい。物体検出装置４１は、フォークリフト１０が前進するときに物体検出処理を行う。また、物体検出装置４１は、フォークリフト１０の前方及び後方の両側の物体を検出するものであってもよい。この場合、ステレオカメラ３１は、フォークリフト１０の前方を撮像するものと、フォークリフト１０の後方を撮像するものの両方が設けられる。物体検出装置４１は、フォークリフト１０の進行方向に応じた方向の物体を検出する。
【００７５】
○フォークリフト１０としては、自動で走行動作及び荷役動作が行われるものであってもよい。この場合、フォークリフト１０が前進しているか後進しているかは、メインコントローラ２０から取得することができる。また、フォークリフト１０は、自動での操作と手動での操作とを切り替えられるものでもよい。
【００７６】
○ワールド座標系は、直交座標系に限られず、極座標系としてもよい。
○物体検出処理によって検出された物体が人か否かを判定する場合、ステレオカメラ３１によって撮像された画像のうち第２画像から人を検出するようにしてもよい。物体検出装置４１は、第２画像上での物体の座標を導出し、当該座標に対して人検出処理を行うが、第２画像は比較画像であるため、物体のワールド座標から画像上での物体の座標を導出すると、基線長に応じたずれが生じる。このため、物体検出装置４１は、基線長に応じて第２画像上での物体の座標を補正し、補正した座標に対して人検出処理を行う。
【００７７】
○動体検出部、物体検出部、走行判定部及び切替部は、それぞれ、個別の制御装置によって構成されていてもよい。
○カメラ座標からワールド座標への変換はテーブルデータによって行われてもよい。テーブルデータは、Ｙ座標ＹｃとＺ座標Ｚｃの組み合わせにＹ座標Ｙｗを対応させたテーブルデータと、Ｙ座標ＹｃとＺ座標Ｚｃとの組み合わせにＺ座標Ｚｗを対応させたテーブルデータである。これらのテーブルデータを物体検出装置４１のＲＯＭなどに記憶しておくことで、カメラ座標系におけるＹ座標ＹｃとＺ座標Ｚｃから、ワールド座標系におけるＹ座標Ｙｗ及びＺ座標Ｚｗを求めることができる。
【００７８】
○第１カメラ３２と第２カメラ３３は、鉛直方向に並んで配置されていてもよい。
○第１画像の画素数と第２画像の画素数とは異なっていてもよい。例えば、比較画像である第２画像の画素数を視差画像の画素数と同一とし、基準画像である第１画像の画素数を第２画像の画素数よりも多くしてもよい。
【００７９】
○ステレオカメラ３１は、３つ以上のカメラを備えていてもよい。
○フォークリフト１０は、エンジンの駆動によって走行するものでもよい。この場合、走行制御装置は、エンジンへの燃料噴射量などを制御する装置となる。
【００８０】
○物体検出装置４１は、建設機械、自動搬送車、トラックなどフォークリフト１０以外の産業車両や乗用車などの車両に搭載されていてもよい。
【符号の説明】
【００８１】
Ａ１…撮像範囲、Ａ２…撮像範囲、ＲＡ…後方領域、ＳＡ…側方領域、ＳＳ…監視装置、１０…フォークリフト、１１…車体、３１…ステレオカメラ、４１…物体検出部、動体検出部、走行判定部及び切替部として機能する物体検出装置、５１…近傍カメラ。
【図１】
2020164316.tif 000007
【図２】
2020164316.tif 000008
【図３】
2020164316.tif 000009
【図４】
2020164316.tif 000010
【図５】
2020164316.tif 000011
【図６】
2020164316.tif 000012
【図７】
2020164316.tif 000013
【図８】
2020164316.tif 000014
【図９】
2020164316.tif 000015