(57)【要約】      （修正有）【課題】自律走行車における物体認識処理において、認識精度を高く維持するとともに、高速処理を可能にする。【解決手段】無人フォークリフトは、本体部と、モデルデータ保存部４６と、カメラと、探索領域決定部４２と、画像特徴点検出部４３と、特徴量算出部４４と、マッチング部４５とを備える。モデルデータ保存部４６は、パレットの幾何的特徴に関するモデルデータを保存する。カメラは、目的位置における本体部の周辺を撮影して画像データを取得する。探索領域決定部４２は、所定範囲の探索領域を決定する。画像特徴点検出部４３は、探索領域に対して画像データの特徴点を検出する。特徴量算出部４４は、特徴点から抽出されたマッチング候補点の特徴量を算出する。マッチング部４５は、マッチング候補点の特徴量とモデルデータとを照合することで、パレットの画像データ上の位置を認識する。【選択図】図２
2015225450.tif 000002
【特許請求の範囲】
【請求項１】
目的位置まで自律走行可能な走行車本体と、
物体の幾何的特徴に関するモデルデータを保存するモデルデータ保存部と、
前記目的位置における前記走行車本体の周辺を撮影して画像データ取得する撮影部と、
前記画像データ上における前記物体の位置を予想し、予想された前記物体の位置を含む所定範囲の探索領域を決定する探索領域決定部と、
前記探索領域に対して前記画像データの特徴点を検出する画像特徴点検出部と、
前記特徴点から抽出されたマッチング候補点の特徴量を算出する特徴量算出部と、
前記マッチング候補点の特徴量と、前記モデルデータとを照合することで、前記物体の前記画像データ上の位置を認識するマッチング部と、
を備える自律走行車。
【請求項２】
自律走行を制御するための走行制御情報に基づいて現在の自己の姿勢情報を算出する姿勢算出部をさらに備え、
前記探索領域決定部は、前記姿勢情報に基づいて前記物体の位置を予想する、請求項１に記載の自律走行車。
【請求項３】
前記特徴量算出部は、前記特徴点のうち、特定の幾何的条件を満たす複数の特徴点を前記マッチング候補点として抽出する、請求項１又は２に記載の自律走行車。
【請求項４】
前記画像特徴点検出部は、前記特定の幾何的条件を満たす複数の特徴点の一部が、前記探索領域に存在しない場合に、前記探索領域を周辺に拡大して前記特徴点を検出する、請求項３に記載の自律走行車。
【請求項５】
前記画像特徴点検出部は、前記探索領域内に存在するマッチング候補点の前記モデルデータに対する類似度が低い場合に、前記探索領域を周辺に拡大して前記マッチング候補点を再度抽出する、請求項４に記載の自律走行車。
【請求項６】
走行車本体を有する自律走行車における物体認識方法であって、
目的位置まで自律走行するステップと、
物体の幾何的特徴に関するモデルデータを保存するステップと、
前記目的位置における前記走行車本体の周辺を撮影して画像データを取得するステップと、
前記画像データ上における前記物体の位置を予想し、予想された前記物体の位置を含む所定範囲の探索領域を決定するステップと、
前記探索領域に対して前記画像データの特徴点を検出するステップと、
前記特徴点から抽出されたマッチング候補点の特徴量を算出するステップと、
前記マッチング候補点の特徴量と、前記モデルデータとを照合することで、前記物体の前記画像データ上の位置を認識するステップと、
を備える自律走行車における物体認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律走行車及びそれにおける物体認識方法に関する。
【背景技術】
【０００２】
環境を自律的に移動する自律走行車は、周囲の環境に存在する物体との相互作用を実現するために、その物体の位置や置かれている方向などを認識する必要がある。
例えば、対象であるパレット等の物体を自動搬送する無人フォークリフトでは、経路に沿って走行制御するナビゲーション部と、周囲の画像を撮影するカメラと、カメラで撮影された画像データからパレットの位置を認識する画像認識装置とを備えている。無人フォークリフトは、ナビゲーション部の走行制御に従って、目的位置まで走行し、カメラにより撮影された画像データに基づいてパレットの位置及び姿勢を認識して、パレットの搬送等の処理を実行する。
【０００３】
カメラにより撮影された画像データから物体を認識する物体認識装置については、例えば、特許文献１に開示されたようなものがある。
このような物体認識装置では、カメラにより撮影された画像データを用いて、物体を認識する場合、画像データ中の特徴点を抽出し、この特徴点と認識対象とする物体のモデルデータとの類似度を比較して、物体の位置を認識する。
物体のモデルデータと比較を行う画像データの特徴点について検討する。画像データに含まれる全ての特徴点について、モデルデータとの比較を行う場合、高速な処理ができない。一方、比較対象の特徴点の数を低減すると、認識精度が低下する。
【０００４】
特に、無人フォークリフトのような自律走行車では、対象物体であるパレット位置と、現在位置からパレット位置までの走行経路に関するデータが入力され、これに基づいて走行制御される。パレット位置は、例えば、倉庫内のパレットが載置される区画であって、パレットがどのような姿勢で置かれているかという情報が含まれていない。また、ナビゲーション部の走行制御と実際の走行にずれが生じる場合がある。
このため、画像データ中の物体の位置を正しく認識するために、特徴点を抽出する範囲を広げる必要があり、その結果、高速な処理が困難になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−２１８０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明では、自律走行車における物体認識処理において、認識精度を高く維持するとともに、高速処理を可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律走行車は、走行車本体と、モデルデータ保存部と、撮影部と、探索領域決定部と、画像特徴点検出部と、特徴量算出部と、マッチング部とを備える。走行車本体は、目的位置まで自律走行可能である。モデルデータ保存部は、物体の幾何的特徴に関するモデルデータを保存する。撮影部は、目的位置における走行車本体の周辺を撮影して画像データを取得する。探索領域決定部は、画像データ上における物体の位置を予想し、予想された物体の位置を含む所定範囲の探索領域を決定する。画像特徴点検出部は、探索領域に対して画像データの特徴点を検出する。特徴量算出部は、特徴点から抽出されたマッチング候補点の特徴量を算出する。マッチング部は、マッチング候補点の特徴量とモデルデータとを照合することで、物体の画像データ上の位置を認識する。
この自律走行車では、走行車本体が目的位置まで自律走行した後に、撮影部が周辺の画像データを取得する。次に、探索領域決定部が探索領域を決定し、さらに画像特徴点検出部が画像データの特徴点を検出する。次に、特徴量算出部が特徴点から抽出されたマッチング候補点の特徴量を算出し、さらにマッチング部がマッチング候補点の特徴量とモデルデータとを照合することで、物体の画像データ上の位置を認識する。
この自律走行車では、特徴量算出部が算出する特徴量を算出する特徴点が、予想される物体の位置に基づいて決定される探索領域内におけるものであるので、マッチング候補点の数を減らすことができ、その結果、演算負荷を軽減するとともに認識精度を向上できる。
【０００８】
この走行制御情報に基づいて現在の自己の姿勢情報を算出する姿勢情報算出部をさらに備えてもよい。
この場合、探索領域決定部は、画像データ上における物体の位置を、姿勢情報算出部で算出された現在の自己の姿勢情報に基づいて予想できる。
【０００９】
特徴量算出部は、特徴点のうち、特定の幾何的条件を満たす複数の特徴点をマッチング候補点として抽出してもよい。
この場合、物体の特徴に基づいて特定される幾何的条件により、画像データから特徴点を抽出することで、モデルデータと照合するマッチング候補点をより少なくして、演算負荷を低減できる。
【００１０】
画像特徴点検出部は、特定の幾何的条件を満たす複数の特徴点の一部が、探索領域に存在しない場合に、探索領域を周辺に拡大して特徴点を検出してもよい。
画像データ上において、物体の特徴を示す特徴点の一部が、探索領域から外れているような場合に、探索領域を周辺に拡大することにより、特定の幾何的条件を満たす特徴点のグループを検出できる場合がある。このことにより、特徴点検出部は、探索領域をその近傍に拡大することで、モデルデータとの類似度の高いマッチング候補点を検出して、認識精度を高められる。
【００１１】
画像特徴点検出部は、探索領域内に存在するマッチング候補点のモデルデータに対する類似度が低い場合に、探索領域を周辺に拡大してマッチング候補点を再度抽出してもよい。
マッチング候補点となる得る物体の特徴点の全てもしくは一部が、画像データの探索領域から外れている場合には、モデルデータと類似度の高いマッチング候補点を得られない場合が生じる。このような場合には、探索領域を周辺に拡大して特徴点を検出し、再度マッチング候補点を抽出することで、精度の高い物体認識が可能となる。
【００１２】
本発明の他の見地に係る物体認識方法は、走行車本体を有する自律走行車におけるものであり、下記のステップを備えている。
◎所定位置まで自律走行するステップ
◎物体の幾何的特徴に関するモデルデータを保存するステップ
◎所定位置における走行車本体の周辺を撮影して画像データを取得するステップ
◎画像データ上における物体の位置を予想し、予想された物体の位置を含む所定範囲の探索領域を決定するステップ
◎探索領域に対して画像データの特徴点を検出するステップ
◎特徴点から抽出されたマッチング候補点の特徴量を算出するステップ
◎マッチング候補点の特徴量とモデルデータとを照合することで、物体の画像データ上の位置を認識するステップ
この物体認識方法では、走行車本体が所定位置まで自律走行した後に、周辺の画像データが取得される。次に、探索領域が決定され、さらに画像データの特徴点が検出される。次に、特徴点から抽出されたマッチング候補点の特徴量が算出され、さらにマッチング候補点の特徴量とモデルデータとが照合されることで、物体の画像データ上の位置が認識される。
この物体認識方法では、特徴量算出部が算出する特徴量を算出する特徴点が、予想される物体の位置に基づいて決定される探索領域内におけるものであるので、モデルデータと照合するマッチング候補点として抽出する特徴点の数を減らすことができ、その結果、演算負荷を軽減するとともに認識精度を向上できる。
なお、上記の複数のステップの順序は限定されない。また、複数のステップは同時に又は一部重複して実行されてもよい。
【発明の効果】
【００１３】
本発明では、自律走行車における物体認識処理において、認識精度を高く維持するとともに、高速処理を可能にすることができる。
【図面の簡単な説明】
【００１４】
【図１】無人フォークリフトの説明図。
【図２】物体認識装置の概略構成を示すブロック図。
【図３】探索領域の説明図。
【図４】物体認識処理の概略構成を示すフローチャート。
【図５】特徴点間の幾何的条件を示す説明図。
【図６】画像入力部の一例を示すブロック図。
【図７】Ｈａｒｒｉｓ特徴点の検出方法に関する説明図。
【図８】Ｈａｒｒｉｓ作用素を用いて検出した特徴点の説明図。
【図９】探索領域決定処理〜パターンマッチング処理のフローチャート。
【図１０】幾何的条件を適用して抽出したマッチング候補点の説明図。
【図１１】対象物体の一部が探索領域外にある場合を示す説明図。
【図１２】対象物体の一部が探索領域外にある場合を示す説明図。
【図１３】特徴点と補間点との関係を示す説明図。
【発明を実施するための形態】
【００１５】
（１）概要構成
本発明の第１実施形態に係る自律走行車として、無人フォークリフトについて以下に説明する。
図１は、無人フォークリフトの説明図である。
無人フォークリフト１は、内部に設置された制御部（図示せず）の制御に基づいて自律走行可能な本体部１１を備えている。
本体部１１の前面には、上下可能に配置された１対のフォーク１３，１４を備えており、パレット３をリフトアップして搬送可能となっている。
さらに、本体部１１は、物体認識装置２を備えている。物体認識装置２は、少なくとも本体部１１の前方の画像情報を取得することが可能なカメラ（詳細は後述する）を備えている。物体認識装置２は、カメラにより撮影された画像情報に基づく三次元画像から、認識対象であるパレット３を認識する。
【００１６】
パレット３は、例えば、図示したように、フォーク１３，１４が挿入可能な差し込み口３１，３２が設けられている。パレット３の差し込み口３１，３２が形成される面には、差し込み口３１，３２を挟む垂直面３３，３４，３５が形成されている。
物体認識装置２は、パレット３の垂直面３３〜３５の画像を含む画像データから、パレット３の特徴を表す特徴点を検出し、さらに、パレット３のモデルデータと照合することにより、画像データ中のパレット３を認識できる。
【００１７】
無人フォークリフト１は、例えば、倉庫内において物品が載置されるパレット３を搬送する。無人フォークリフト１の制御部は、倉庫内の環境上における自己の現在位置を把握し、搬送対象であるパレット３の近傍を目的位置として、走行経路を決定して走行制御する。物体認識装置２は、目的位置において、カメラにより撮影された画像方向に基づいて、パレット３の位置を認識する。無人フォークリフト１の制御部は、フォーク１３，１４をパレット３の差し込み口３１，３２に差し込んでパレット３を持ち上げ、次の目的位置に移動する。
パレット３の上面には、物品が載置されている場合と物品が載置されていない場合があり、物体認識装置２は、そのいずれの場合にもパレット３を認識できるようにする。
【００１８】
図２は、物体認識装置の概略構成を示すブロック図である。
物体認識装置２は、画像入力部４１と、探索領域決定部４２と、画像特徴点検出部４３と、特徴量算出部４４と、マッチング部４５と、モデルデータ保存部４６とを備える。
画像入力部４１は、周辺の画像データを入力する。入力される画像データは、本体部１１に設けられるカメラ（図示せず）により撮影された画像データであり、距離データを備える三次元画像データとすることができる。三次元画像データは、例えば、位置が異なる２つのカメラにより撮影される２つの二次元画像に基づいて、二次元画像上の特徴点を求め、各特徴点に対して距離センサにより撮影された距離データを備える距離画像とすることができる。また、この他にも、ＴＯＦカメラにより撮影された三次元画像データを入力することが可能である。
【００１９】
探索領域決定部４２は、画像データ上における物体の位置を予想し、予想された物体の位置を含む所定範囲の探索領域を決定する。
例えば、無人フォークリフト１が、ナビゲーション部５０から送信される現在位置から目的位置までの走行経路と、処理対象であるパレット３の位置情報とを含む走行制御情報に基づいて自律走行する場合、この走行制御情報に基づいて現在の自己の姿勢情報を算出する姿勢情報算出部４７を設けられる。姿勢情報算出部４７は、ナビゲーション部から送信される走行制御情報に従って走行した場合に、環境上における自己の現在位置と本体部１１が向いている方向に関する姿勢情報を算出する。自己の現在位置は、マップマッチング、デッドレコニング、レーザ誘導、磁気誘導などの公知の自己位置推定技術により知ることができる。
探索領域決定部４２は、姿勢情報算出部４７により算出される現在の自己の姿勢情報に基づいて、画像データ上におけるパレット３の位置を予想し、予想したパレット３の位置を含む所定範囲を探索領域として設定する。
【００２０】
図３は、探索領域の説明図である。
無人フォークリフト１は、前面に配置される一対のフォーク１３，１４のさらに前方位置を撮影するカメラ２１を備えている。カメラ２１は、図３に示すように、無人フォークリフト１の前方であって所定の角度範囲に含まれる撮影範囲５１の画像データを撮影する。なお、このカメラ２１は、フォーク１３，１４の先端に設けることもできる。
探索領域決定部４２は、走行制御情報に含まれるパレット３の位置情報と、姿勢情報算出部４７により算出された現在の自己の姿勢情報に基づいて、パレット３が載置されていると予想される予想位置５２を決定し、さらにこの予想位置５２を含む所定範囲の探索領域５３を決定する。
【００２１】
画像特徴点検出部４３は、探索領域５３に対して画像データの特徴点を検出する。
画像入力部４１から入力される画像データは三次元画像であり、画像特徴点検出部４３は、この三次元画像の各画素について、色や濃淡変化が激しい点を検出することで、特徴点を検出できる。画像特徴点検出部４３は、例えば、Ｈａｒｒｒｉｓ作用素を用いた方法により、特徴点を検出できる。また、画像特徴点検出部４３は、この他に、ＳＩＦＴ（Ｓｃａｌｅ−ＩｎｖａｒｉａｎｔＦｅａｔｕｒｅ Ｔｒａｎｓｆｏｒｍ）作用素を用いた方法により特徴点を検出でき、その他、公知の技術を用いて特徴点を検出できる。また、ＩＳＳ（Ｉｎｔｒｉｎｓｉｃ  Ｓｈａｐｅ  Ｓｉｇｎａｔｕｒｅｓ）でもよい。
【００２２】
特徴量算出部４４は、特徴点から抽出されたマッチング候補点の特徴量を算出する。
具体的には、特徴量算出部４４は、三次元画像上の特徴点から、パターンマッチングを行う際のマッチング候補点を抽出し、このマッチング候補点の特徴量を算出する。特徴量は、各点における法線方向ベクトルが、周辺特徴点の法線ベクトルとなす角度に基づいて生成される法線方向ヒストグラムにより算出できる。具体的には、ＦＰＦＨ（Ｆａｓｔ  Ｐｏｉｎｔ  Ｆｅａｔｕｒｅ  Ｈｉｓｔｇｒａｍｓ）を用いることができる。また、入力される画像情報が三次元画像であることから、特徴量算出部４４は、距離データに基づく各点における距離ヒストグラムを作成できる。この他にも、各画素の輝度に基づいて輝度ヒストグラムを作成して、各点の特徴量を算出できる。
【００２３】
マッチング部４５は、マッチング候補点の特徴量とモデルデータとを照合することで、パレット３の画像データ上の位置を認識する。
例えば、マッチング部４５は、画像特徴点検出部４３により検出された特徴点のうちから、特定の幾何的関係にある特徴点のグループを抽出する。例えば、パレット３の垂直面３３〜３５が、床面と接するエッジに複数の特徴点がある場合、各垂直面３３〜３５上に位置する特徴点は、ほぼ直線上にあると考えられる。したがって、３点の特徴点の中央に位置する特徴点と他の２つの特徴点を結ぶ線分がほぼ１８０度の角度となる。また、パレット３が規格に合致するものであれば、３点の特徴点の距離は所定範囲となる。
したがって、マッチング部４５は、所定範囲の距離だけ離間し、各点を結ぶ線分がなす角度が所定範囲であれば、この３点の特徴点をマッチング候補点とする。さらに、マッチング部４５は、中央に位置する特徴点と、他の２つの特徴点との間の中間点を、それぞれマッチング候補点として抽出することもできる。マッチング部４５は、このようにして、パターンマッチングを行うためのマッチング候補点を選択することによって、特徴点のダウンサンプリングを行う。
【００２４】
モデルデータ保存部４６は、物体の幾何的特徴を表すモデルデータを保存する。モデルデータとしては、画像データ上の物体を認識する際に、物体の位置や姿勢を算出するために用いられるものであり、この実施形態では、物体の三次元画像から得られる特徴点と、その特徴点の中間点における特徴量とすることができる。特徴点の抽出には、画像特徴点検出部４３と同一の方法が用いられ、各点の特徴量を算出する方法は、特徴量算出部４４と同一の方法が用いられる。
モデルデータ保存部４６は、ＥＥＰＲＯＭ、ＲＡＭ、ハードディスク、その他の記憶装置の所定の領域で構成される。
【００２５】
（２）処理の概略構成
図４は、物体認識処理の概略構成を示すフローチャートである。
物体認識装置２は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを含むマイクロプロセッサで構成される制御部（図示せず）が、所定のプログラムを実行することにより、図２に示すような各機能ブロックを実現する。これら各機能ブロックは、図４に示す各ステップを実行することにより、物体認識装置として機能する。
ステップＳ４０１において、制御部は、認識対象であるパレット３のモデルデータをモデルデータ保存部４６に保存する。具体的には、制御部は、パレット３を撮影した三次元画像データ上におけるパレット３の特徴点を、例えば、Ｈａｒｒｉｓ作用素を用いた検出方法により抽出して、各特徴点間の幾何的条件とともにモデルデータ保存部４６に保存する。特徴点は、例えば、パレット３の前面を構成する垂直面３３〜３５が床面と接する位置に対応する点とすることができ、パレット３の規格に対応して、各特徴点が所定範囲の距離だけ離間し、各点を結ぶ線分がなす角度が所定範囲であるような特徴点をモデルデータとして保存する。
【００２６】
図５は、特徴点間の幾何的条件を示す説明図である。
パレット３を撮影した３次元画像情報にＨａｒｒｉｓ作用素を用いた特徴点の検出を行う場合、パレット３の前面下部に位置する３点を特徴点として抽出できる。
３つの特徴点は、それぞれ、パレット３の垂直面３３〜３５が床面と接するエッジに対応して現れる。したがって、３つの特徴点は、ほぼ直線上に並んで現われる。
このことから、第１特徴点と第２特徴点とを結ぶ線分と、第１特徴点と第３特徴点とを結ぶ線分とが、１８０度に近い角度範囲であるような３つの特徴点を抽出することで、パレット３の前面形状に対応する特徴点を抽出できる。
【００２７】
図５に示すように、３つの特徴点のうち、中央に位置する特徴点を第１特徴点５５とし、その両側に第２特徴点５６、第３特徴点５７があるとする。
第１特徴点５５と第２特徴点５６との距離α１、第１特徴点５５と第３特徴点５７との距離α２、第２特徴点５６と第３特徴点５７との距離をβとする。また、第１特徴点５５と第２特徴点５６とを結ぶ線分５８と、第１特徴点５５と第３特徴点５７とを結ぶ線分５９とがなす角度をθとする。
パレット３が規格に合致したサイズである場合、第１特徴点５５と第２特徴点５６間の距離α１、第１特徴点５５と第３特徴点５７間の距離α２、第２特徴点５６と第３特徴点５７間の距離βの値は、所定範囲内となる。例えば、日本で多く使用されているＴ１１型のパレットのサイズは、１１００×１１００×１４４（ｍｍ）である。したがって、距離α１、α２の値は約５００（ｍｍ）、距離βの値は約１０００（ｍｍ）であると考えられる。
このことから、距離α１、α２が３４０（ｍｍ）〜６００（ｍｍ）の範囲、距離βが８００（ｍｍ）〜１０５０（ｍｍ）の範囲という幾何的条件を設定できる。
【００２８】
また、第１特徴点５５〜第３特徴点５７はほぼ直線上にあることから、角度θはほぼ１８０度になる。したがって、ｃｏｓθの値が−０．９５以下であるという幾何的条件を設定できる。
このような幾何的条件を設定することにより、パレット３の参照パターンとパターンマッチングするための３つの特徴点を安定して抽出できる。
【００２９】
無人フォークリフト１は、目的位置まで自律走行する。目的位置は、例えば、パレット３が置かれる場所の近傍である。
ステップＳ４０２において、カメラ２１が本体部１１の周辺を撮影して、次に画像入力部４１は、画像データを入力する。前述したように、画像入力部４１は、ステレオカメラ、ＴＯＦカメラ、その他のカメラから得られる距離情報を含む三次元画像を入力する。
【００３０】
ステップＳ４０３において、探索領域決定部４２は、入力された画像データ中における探索領域５３を決定する。具体的には、探索領域決定部４２は、姿勢情報算出部４７で算出される現在の自己の姿勢情報に基づいて、パレット３の位置を予想し、パレット３が載置されると予想される予想位置５２を含む探索領域５３を決定する。探索領域５３としては、画像データ上においてパレット３が位置すると予想される予想位置５２の少なくとも一部を含む領域が選択され、好ましくは、予想位置５２を全て含む領域が選択される。
【００３１】
ステップＳ４０４において、画像特徴点検出部４３は、画像データにおける特徴点を検出する。特に、画像特徴点検出部４３は、探索領域決定部４２で特定した探索領域５３内における画像データを探索することにより、パレット３の特徴に対応して特定の幾何的条件を満たす複数の特徴点を検出できる。
特徴点の検出は、例えば、画像データの各画素について、色や濃淡が変化する点を特徴点として抽出するものであって、Ｈａｒｒｉｓ作用素、ＳＩＦＴ作用素等を用いた特徴点の検出方法を用いることができる。
特定の幾何的条件は、前述したように、認識対象であるパレット３の特徴に対応する特徴点間の条件であって、例えば、パレット３の規格に対応する所定範囲の距離だけ離間しており、各点を結ぶ線分がなす角度が所定範囲であるような特徴点のグループである。
【００３２】
ステップＳ４０５において、特徴量算出部４４は、マッチング候補点として抽出した特徴点について、特徴量を算出する。特徴量算出部４４は、マッチング候補点に関して、ＦＰＦＨにより法線方向ヒストグラムを作成し、各点における特徴量を算出する。
【００３３】
ステップＳ４０６において、マッチング部４５は、特徴点により構成されるマッチング候補点のグループと、モデルデータとの類似度を求めることにより、パターンマッチングを行う。
【００３４】
（３）三次元画像入力
画像入力部４１の具体例について、その一例を以下に説明する。
図６は、画像入力部の一例を示すブロック図である。
図６に示す画像入力部４１は、ステレオカメラ６１からの画像情報に基づいて、距離情報を有する三次元画像を生成する。
【００３５】
ステレオカメラ６１は、二次元画像を撮影する２つのカメラが異なる位置に配置される。ステレオカメラ６１は、例えば、無人フォークリフト１の前面に取り付けられ、少なくとも、フォーク１３，１４の前方位置の２次元画像を撮影する。
無人フォークリフト１に対する２つのカメラの位置及び向きに関するパラメータは、予め設定されており、物体認識装置２の所定の記憶領域に記憶されている。
【００３６】
フレームメモリ６２は、ステレオカメラ６１により撮影された２つの二次元画像情報を記憶する。フレームメモリ６２に記憶される二次元画像情報は、画像バス６３を介して、二次元特徴点抽出部６４に提供される。
二次元特徴点抽出部６４は、２つの二次元画像情報のそれぞれについて、輝度情報に基づく二次元特徴点を検出する。このとき、二次元画像情報の所定の領域を切り出し、切り出した所定の領域について特徴点を検出できる。また、パレット３の垂直面３３〜３５に、所定のパターンが形成されている場合には、この所定のパターンに沿って二次元特徴点を検出することもできる。この場合、二次元特徴点抽出部６４は、２つの二次元画像情報を同一方向に追跡して、所定のパターンの外周の曲がり点を検出して、これを二次元特徴点とすることができる。
【００３７】
対応付け処理部６５は、二次元特徴点抽出部６４により抽出された二次元特徴点の対応関係の候補を発生させる。対応付け処理部６５は、各対応関係の候補に対して、変換行列を発生させ、この変換誤差を求めて、変換誤差が最小となる対応関係の候補を抽出する。
【００３８】
座標算出部６６は、対応付け処理部６５により抽出された対応関係の候補の各特徴点の座標を算出する。例えば、ステレオカメラ６１による２つの二次元画像情報は、位置の異なるカメラにより同一点を撮影したものであることから、特徴点までの距離情報を得ることが可能である。座標算出部６６は、対応付け処理部６５により対応付けられた２つの二次元画像情報の特徴点に基づいて、各特徴点の３次元座標を発生させて、距離情報を備える三次元画像を生成する。
【００３９】
三次元画像は、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）カメラにより撮影された画像情報を用いることができる。ＴＯＦカメラは、カメラの周囲に設けられたＬＥＤにより赤外光を照射し、対象物から反射した反射光が、カメラで観測されるまでの時間を計測することで、対象物まで距離を測定する。ＴＯＦカメラでは、画像を構成する各画素の距離を測定でき、各画素のカメラからの距離に応じて異なる輝度で表示される距離画像を生成する。
前述したステレオカメラ６１を用いた場合には、２つの二次元画像の対応付け処理を行う必要があったが、ＴＯＦカメラにより撮影された画像情報を用いることで、処理コストを削減し、処理時間を削減してリアルタイム処理が可能となる。
【００４０】
（４）画像特徴点検出
画像特徴点検出方法として、Ｈａｒｒｉｓ作用素を用いる方法が知られている。
Ｈａｒｒｉｓ作用素を用いる特徴点の検出方法では、所定領域内の画像を微少シフトさせた場合に、輝度値差の二乗和（ＳＳＤ：Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）が大きくなる点を検出する。
図７は、Ｈａｒｒｉｓ特徴点の検出方法に関する説明図である。
画像７０上に物体画像７１が存在するとして、画像７０上に設定される所定領域７２を微少シフトさせる場合を考える。
図７（ａ）に示すように、所定領域７２が物体画像７１上に設定されている場合、画像７０の微少シフトによる輝度値の変化が少ない。したがって、この場合には、どの方向に移動させても、特徴点を検出することは難しい。
【００４１】
図７（ｂ）に示すように、所定領域７２が物体画像７１のエッジ上に設定されている場合、図の上下方向への移動に対しては、輝度値の変化は少ないが、図の左右方向への移動に対しては、輝度値の変化が大きくなる。したがって、図の左右方向に画像７０を移動させて、縦方向のエッジを特徴点として検出できる。
また、図７（ｃ）に示すように、所定領域７２が物体画像７１のコーナー付近に設定されている場合、画像７０をいずれの方向に移動させても、輝度値の変化が大きくなる。したがって、認識対象である物体のコーナー位置を特徴点として検出できる。
【００４２】
このようなＨａｒｒｉｓ作用素を用いる特徴点の検出方法によれば、図７（ｄ）に示すように、床面７３上に物体７４が載置されている場合に、床面７３と接するコーナー７５を特徴点として検出できる。例えば、コーナー７５を含む所定領域７６を微少シフトして、輝度値の二乗和に基づいて、特徴点を検出できる。
【００４３】
図８は、Ｈａｒｒｉｓ作用素を用いて検出した特徴点の説明図である。
図８では、垂直面３３〜３５及び差し込み口３１〜３２を含むパレット３の前面８１に特徴点が多く現れる。特に、第１領域８２、第２領域８３、第３領域８４に示すように、パレット３の垂直面３３〜３５が床面と接するエッジ部分に特徴点が多く現れる。
スケールを変えた場合や、画像を回転させて、Ｈａｒｒｉｓ特徴量の算出を行った結果、同様にして、垂直面３３〜３５が床面と接するエッジ部分に多くの特徴点が現れる。
このことから、三次元画像情報から検出した特徴点のうちから、所定の幾何的条件を満たす特徴点のグループをマッチング候補点として抽出すれば、効率良くパターンマッチングを行うことができる。
【００４４】
（５）探索領域決定処理〜パターンマッチング処理
マッチング部４５は、画像特徴点検出部４３により検出された特徴点に基づいて、マッチング候補点の特徴量を二次元モデルのデータの特徴量と比較して、画像上の物体の認識を行う。図４のステップＳ４０３〜Ｓ４０６に示す探索領域決定処理〜パターンマッチング処理を図９に示すフローチャートに基づいて詳述する。
図９は、探索領域決定処理〜パターンマッチング処理のフローチャートである。
ステップＳ９０１において、制御部は、走行制御情報を取得する。例えば、制御部は、無人フォークリフト１の走行制御を行うナビゲーション部からの走行制御情報に基づいて、走行経路に関する情報と、対象物体であるパレット３の位置情報を受信する。
【００４５】
ステップＳ９０２において、制御部は、現在の自己の姿勢情報を算出する。例えば、ナビゲーション部からの走行制御に従って走行した場合の環境上における現在位置と、本体部１１が向いている方向に関する姿勢情報を算出する。実際に走行経路上を走行した際のモータの回転数から、現在の自己の姿勢情報を算出することも可能である。
【００４６】
ステップＳ９０３において、探索領域決定部４２は、走行制御情報に基づいて算出された現在の自己の姿勢情報から、対象物体であるパレット３の位置を予想し、パレット３の予想位置を含む探索領域を決定する。図３に示すように、走行制御情報に含まれるパレット３の位置情報と、姿勢情報算出部４７により算出された現在の自己の姿勢情報に基づいて、探索領域決定部４２が、パレット３が載置されていると予想される予想位置５２を決定し、さらにこの予想位置５２を含む所定範囲の探索領域５３を決定する。
探索領域５３は、パレット３の予想位置５２を含む領域であって、無人フォークリフト１の走行により発生する現在位置の誤差や、パレット３の載置時に発生する位置ずれなどを考慮して、予想位置５２を所定範囲で拡大した領域とすることができる。
【００４７】
ステップＳ９０４において、画像特徴点検出部４３は、画像データ上の点群から特徴点を検出する。具体的には、画像特徴点検出部４３が、Ｈａｒｒｉｓ作用素を用いた特徴点の検出方法を用いて、画像データ上の特徴点を抽出する。画像特徴点検出部４３は、画像データにおける探索領域５３内に存在する特徴点のみを抽出する。さらに、画像特徴点検出部４３は、特徴点間において特定の幾何的条件を満たすものをマッチング候補点として抽出する。
対象物体がＴ１１型のパレットである場合、図５に示すように、第１特徴点５５と第２特徴点５６との距離α１、及び第１特徴点５５と第３特徴点５７との距離α２の値が３４０（ｍｍ）〜６００（ｍｍ）の範囲、第２特徴点５６と第３特徴点５７との距離βの値が８００（ｍｍ）〜１０５０（ｍｍ）の範囲であり、線分５８，５９がなす角度θがｃｏｓθ＜＝−０．９５であるという幾何的条件を満たす３つの特徴点を抽出する。
【００４８】
図１０は、幾何的条件を適用して抽出したマッチング候補点の説明図である。
図１０に示すものは、探索領域５３を設定せずに画像データ全体の特徴点を検出した場合の例であって、パレット３の垂直面３３〜３５の下端エッジに対応するマッチング候補点１０１〜１０３の他に、パレット３が存在していない第１領域１０５、第２領域１０６においても、同様の特徴を有するマッチング候補が存在している。
画像特徴点検出部４３は、パレット３の予想位置近傍の探索領域５３内において、特徴点の検出を行っており、図１０の第１領域１０５、第２領域１０６に現れるマッチング候補点の検出は行われない。
【００４９】
ステップＳ９０５において、特徴量算出部４４は、抽出した特徴点について特徴量を算出する。特徴量の算出は、各マッチング候補点として抽出した特徴点について、法線方向ベクトルが、周辺特徴点の法線ベクトルとなす角度に基づいて生成される法線方向ヒストグラムにより算出できる。具体的には、ＦＰＦＨ（Ｆａｓｔ  Ｐｏｉｎｔ  Ｆｅａｔｕｒｅ  Ｈｉｓｔｇｒａｍｓ）を用いることができる。
【００５０】
ステップＳ９０６において、マッチング部４５は、モデルデータ保存部４６に記憶されている二次元モデルのデータを読み出す。
ＦＰＦＨ特徴量を用いたパターンマッチングを行う場合、認識対象である物体の撮影した画像に基づいて、ＦＰＦＨ特徴量を予め算出して、これを二次元モデルのデータとしてモデルデータ保存部４６に記憶しておく。
【００５１】
例えば、パレット３を距離や角度を変更した様々な条件で撮影した所定数の画像から、ＦＰＦＨ特徴量を算出する。さらに、算出されたＦＰＦＨ特徴量の平均値と分散値を算出し、これを特徴点のモデルとする。ＦＰＦＨ特徴量の平均値を３３個、分散値を３３個の計６６個の値を１つの特徴点のモデルとする場合、パレット３の前面に位置する３つの特徴点１１８，１１９，１２０について、１９８個の値をパレット３の特徴として、モデルデータ保存部４６に記憶する。
【００５２】
ステップＳ９０７において、マッチング部４５は、マッチング候補点の特徴量と、モデルデータの特徴量とを照合する。具体的には、制御部は、読み出されたモデルデータのＦＰＦＨ特徴量と、特徴量算出部４４により算出されたマッチング候補点のＦＰＦＨ特徴量との差分を算出する。
【００５３】
ステップＳ９０８において、マッチング部４５は、マッチング候補点とモデルデータとの類似度が低いか否かを判定する。マッチング部４５は、読み出されたモデルデータのＦＰＦＨ特徴量と、特徴量算出部４４により算出されたマッチング候補点のＦＰＦＨ特徴量との差分が、所定値以下である場合には類似度が高いと判断してステップＳ９１０に移行し、所定値を超えている場合には類似度が低いと判断してステップＳ９０９に移行する。
【００５４】
ステップＳ９０９において、探索領域決定部４２は、探索領域５３を拡張する。
図１１及び図１２は、対象物体の一部が探索領域外にある場合を示す説明図である。
図１１に示す例では、パレット３の探索領域５３に対する現在位置５４が図示したような位置であり、前述したような幾何的条件を満たす３つの特徴点Ａ，Ｂ，Ｃのうち、特徴点Ａが探索領域５３の領域外に位置している。
このような場合には、特徴点Ｂ，Ｃに基づいて、幾何的条件を満たす点が存在すると予測される領域Ａ１を含む範囲に探索領域５３を拡張する。
【００５５】
また、図１２に示す例では、パレット３の探索領域５３に対する現在位置５５が図示したような位置であり、前述したような幾何的条件を満たす３つの特徴点Ａ，Ｂ，Ｃが、いずれも探索領域５３の領域外に位置している。
このような場合には、探索領域５３の領域外に位置する特徴点Ａ１、Ｂ１、Ｃ１を探索するために、探索領域５３を所定範囲で拡張する。例えば、探索領域５３をステレオカメラ６１により撮影した全画像領域に拡張することができる。
【００５６】
探索領域５３を決定する際には、無人フォークリフト１の走行により発生する現在位置の誤差や、パレット３の載置時に発生する位置ずれの量を考慮しているが、これら誤差量を拡大することによって、探索領域５３を周辺に拡張することが可能である。
制御部は、探索領域５３を拡張した後、ステップＳ９０４〜Ｓ９０８を再度実行する。
ステップＳ９１０において、マッチング部４５は、認識された結果（物体の画像データ上の位置）を出力する。
この結果、制御部が走行駆動部及びフォーク駆動部を制御することで、パレット処理動作を実行する。
【００５７】
この実施形態では、対象物体であるパレット３の位置を走行制御情報に基づいて予想し、予想された物体位置に基づいて探索領域５３を決定していることから、特徴点を抽出する際の演算負荷を低減可能であり、演算時間を短縮してリアルタイム処理を可能にする。
また、特定の幾何的条件を満たす特徴点に基づいて、パレット３の認識を行うことで、認識精度を高められる。
なお、認識対象としてパレット３を例示しているが、これに限定されるものではなく、各種物体を同様の方法で認識できる。
【００５８】
（６）補間点を用いたパターンマッチング
前述した実施形態では、特定の幾何的条件を満たす複数の特徴点をマッチング候補点として、物体の認識を行っているが、さらに、物体上の特徴点として現れない補間点を用いたパターンマッチングを行うことができる。
【００５９】
図１３は、特徴点と補間点との関係を示す説明図である。
図１３では、図１におけるパレット３を撮影した画像をパレット１１１として示し、垂直面３３〜３５に対応する画像を垂直面１１２〜１１４として示す。
図１３に示す画像では、床面１１０上にパレット１１１が載置されており、パレット１１１の前面に垂直面１１２，１１３，１１４を有している。この垂直面１１２，１１３，１１４と、床面１１０の一部により形成される折れ曲がった折曲面に対応する第１領域１１５，第２領域１１６，第３領域１１７が存在している。特徴点１１８，１１９，１２０は、第１領域１１５，第２領域１１６，第３領域１１７において、垂直面１１２，１１３，１１４と床面１１０とが接する位置に現れる。
【００６０】
第１領域１１５及び第２領域１１６の中間、第２領域１１６及び第３領域１１７の中間には、それぞれ床面１１０からパレット１１１の内方に連続する平面に対応する第４領域１２１，第５領域１２２が存在する。この第４領域１２１及び第５領域１２２に、それぞれ補間点１２３、１２４を設定する。補間点１２３は、特徴点１１８，１１９の三次元座標上における中間に位置する点である。同様に、補間点１２４は、特徴点１１９、１２０の三次元座標上における中間に位置する点である。
補間点１２３，１２４は、特徴点１１８〜１２０に対して所定の幾何的条件を満たす点であって、物体の特徴を直接又は間接的に表す点が選択される。例えば、パレット３上面の所定位置、側面の所定位置、その他の点が補間点として選択されることができる。補間点は、２点に限定されるものではなく、１又は複数の補間点として選択できる。
【００６１】
この実施形態では、図９に示すフローチャートのステップＳ９０４〜Ｓ９０８において、マッチング部４５は、特徴点及び補間点をマッチング候補点として抽出し、各マッチング候補点の特徴量を算出して、モデルデータの特徴量との照合を行う。
このようにした場合、パレット３上に位置する特徴点だけでなく、パレット３上に位置しない補間点を用いて、パレット３の位置を認識でき、マッチング候補点となる特徴点の数を絞り込むことで、演算負荷を低減するとともに、補間点を用いたパターンマッチングにより、マッチング精度を高く維持できる。
【００６２】
（７）実施形態の特徴
自律走行車（例えば、無人フォークリフト１）は、走行車本体（例えば、本体部１１）と、モデルデータ保存部（例えば、モデルデータ保存部４６）と、撮影部（例えば、カメラ２１）と、探索領域決定部（例えば、探索領域決定部４２）と、画像特徴点検出部（例えば、画像特徴点検出部４３）と、特徴量算出部（例えば、特徴量算出部４４）と、マッチング部（例えば、マッチング部４５）とを備える。走行車本体（例えば、本体部１１）は、目的位置まで自律走行可能である。データ保存部（モデルデータ保存部４６）は、物体（例えば、パレット３）の幾何的特徴に関するモデルデータを保存する。撮影部（カメラ２１）は、目的地における走行車本体の周辺を撮影して画像データを取得する。探索領域決定部（探索領域決定部４２）は、画像データ上における物体（パレット３）の位置を予想し、予想された物体の位置を含む所定範囲の探索領域（例えば、探索領域５３）を決定する。画像特徴点検出部（画像特徴点検出部４３）は、探索領域（探索領域５３）に対して画像データの特徴点（例えば、特徴点５５，５６，５７；１０１，１０２，１０３；１１８，１１９，１２０）を検出する。特徴量算出部（特徴量算出部４４）は、特徴点から抽出されたマッチング候補点の特徴量を算出する。マッチング部（マッチング部４５）は、マッチング候補点の特徴量とモデルデータとを照合することで、物体（パレット３）の画像データ上の位置を認識する。
この自律走行車では、走行車本体が目的位置まで自律走行した後に、撮影部が周辺の画像データを取得する（例えば、図４のステップ４０２）。次に、探索領域決定部が探索領域を決定し（例えば、図４のステップＳ４０３）、さらに画像特徴点検出部が画像データの特徴点を検出する（例えば、図４のステップＳ４０４）。次に、特徴量算出部が特徴点から抽出されたマッチング候補点の特徴量を算出し（例えば、図４のステップＳ４０５）、さらにマッチング部がマッチング候補点の特徴量とモデルデータとを照合することで、物体の画像データ上の位置を認識する（例えば、図４のステップＳ４０６）。
この自律走行車では、特徴量算出部が算出する特徴量を算出する特徴点が、予想される物体の位置に基づいて決定される探索領域内におけるものであるので、マッチング候補点の数を減らすことができ、その結果、演算負荷を軽減するとともに認識精度を向上できる。
【００６３】
（８）他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
【産業上の利用可能性】
【００６４】
本発明は、無人フォークリフト、無人搬送車、その他、物体の位置を認識して認識した物体に作用する装置に適用できる。
【符号の説明】
【００６５】
１      無人フォークリフト
２      物体認識装置
３      パレット
１１    本体部
１３    フォーク
１４    フォーク
２１    カメラ
３１    差し込み口
３２    差し込み口
３３    垂直面
３４    垂直面
３５    垂直面
４１    画像入力部
４２    探索領域決定部
４３    画像特徴点検出部
４４    特徴量算出部
４５    マッチング部
４６    モデルデータ保存部
５５    特徴点
５６    特徴点
５７    特徴点
５８    線分
５９    線分
６１    ステレオカメラ
６２    フレームメモリ
６３    画像バス
６４    二次元特徴点検出部
６５    対応付け処理部
６６    座標算出部
７０    画像
７１    物体画像
７２    所定領域
７３    床面
７４    物体
７５    コーナー
７６    所定領域
８１    前面
８２    第１領域
８３    第２領域
８４    第３領域
１０１  マッチング候補点
１０２  マッチング候補点
１０３  マッチング候補点
１０５  第１領域
１０６  第２領域
１１１  パレット
１１２  垂直面
１１３  垂直面
１１４  垂直面
１１５  第１領域
１１６  第２領域
１１７  第３領域
１１８  特徴点
１１９  特徴点
１２０  特徴点
１２１  第４領域
１２２  第５領域
１２３  中間点
１２４  中間点
【図１】
2015225450.tif 000003
【図２】
2015225450.tif 000004
【図３】
2015225450.tif 000005
【図４】
2015225450.tif 000006
【図５】
2015225450.tif 000007
【図６】
2015225450.tif 000008
【図７】
2015225450.tif 000009
【図８】
2015225450.tif 000010
【図９】
2015225450.tif 000011
【図１０】
2015225450.tif 000012
【図１１】
2015225450.tif 000013
【図１２】
2015225450.tif 000014
【図１３】
2015225450.tif 000015