IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7448035情報処理装置、3次元位置推定方法、及びプログラム
<>
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図1
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図2
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図3
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図4
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図5
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図6
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図7
  • 特許-情報処理装置、3次元位置推定方法、及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】情報処理装置、3次元位置推定方法、及びプログラム
(51)【国際特許分類】
   B66F 9/24 20060101AFI20240305BHJP
【FI】
B66F9/24 L
【請求項の数】 10
(21)【出願番号】P 2022564999
(86)(22)【出願日】2020-11-30
(86)【国際出願番号】 JP2020044505
(87)【国際公開番号】W WO2022113344
(87)【国際公開日】2022-06-02
【審査請求日】2023-05-26
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】甲斐 夏季
【審査官】加藤 三慶
(56)【参考文献】
【文献】特開2019-156641(JP,A)
【文献】特開2015-225450(JP,A)
【文献】特開2019-199331(JP,A)
【文献】特開2017-151650(JP,A)
【文献】特開2018-179599(JP,A)
【文献】中国特許出願公開第109650292(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出する検出部と、
前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得する取得部と、
検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正する補正部と、
前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定する位置推定部と、を備える情報処理装置。
【請求項2】
前記補正部は、
前記深さ画像において、前記穴部及び前記フォークの形状を示す位置の深さ情報が計測されていない場合に、前記位置の周辺の深さ情報を用いて、前記位置の深さ情報を推定する、請求項1に記載の情報処理装置。
【請求項3】
前記補正部は、
前記穴部の形状を示す位置の深さ情報が計測されていない場合に、前記穴部内の任意の位置から前記穴部の外側方向へ深さ情報を探索し、得られた深さ情報を用いて、前記深さ情報が計測されていない位置の深さ情報を推定する、請求項2に記載の情報処理装置。
【請求項4】
前記補正部は、
前記フォークの形状を示す位置の深さ情報が計測されていない場合に、深さ情報が計測されていない位置から、前記フォーク内の方向へ深さ情報を探索し、得られた深さ情報を用いて、前記深さ情報が得られていない位置の深さ情報を推定する、請求項2又は3に記載の情報処理装置。
【請求項5】
前記検出部は、
前記画像を撮影したカメラにおいて事前に撮影された周辺画像から抽出された特徴点と、前記画像から抽出された特徴点とを比較することによって、前記搬送用パレットの穴部及び前記フォークの形状を検出する、請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記検出部は、
ヒステリシスを持ったエッジ検出を行うことによって前記穴部及び前記フォークの形状を検出する、請求項5に記載の情報処理装置。
【請求項7】
前記検出部は、
前記搬送用パレットの穴部及び前記フォークの形状を示す複数の特徴点の2次元座標を特定し、
前記補正部は、
前記複数の特徴点のうち、深さ情報が不明である点の深さ情報を補正する、請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項8】
前記画像内の前記搬送用パレットに付されたマーカーを検出し、前記画像を撮影したカメラに関する外部パラメータを推定するカメラパラメータ推定部をさらに備え、
前記位置推定部は、前記深さ情報及び前記外部パラメータに基づいて、前記穴部及び前記フォークの3次元位置を推定する、請求項1乃至7のいずれか1項に記載の情報処理装置。
【請求項9】
搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出し、
前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得し、
検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正し、
前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定する、情報処理装置において実行される3次元位置推定方法。
【請求項10】
搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出し、
前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得し、
検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正し、
前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定することをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は情報処理装置、3次元位置推定方法、及びプログラム等に関する。
【背景技術】
【0002】
近年、物流分野における労働力不足の解消を目的として、フォークリフトを人が操作するのではなく、人の操作を必要とせずに自律的にフォークリフトを動作させる技術が検討されている。このように、自律的に動作するフォークリフトを物流分野に用いる場合、フォークリフトのフォークをパレット穴に正確に挿入するように動作させる必要がある。
【0003】
特許文献1には、カメラが備え付けられたフォークリフトの構成が開示されている。特許文献1に開示されているフォークリフトは、カメラを用いて搬送用パレットを撮影し、撮影した画像に基づいて、搬送用パレットの位置を検出する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-162122号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されている搬送用パレットの位置の検出システムにおいては、フォークリフトに、正確にカメラを取り付ける必要がある。言い換えると、フォークリフトに取り付けられたカメラが傾いている場合、傾いているカメラを用いて搬送用パレットの位置が検出されたとしても、フォークリフトのフォークを正確に搬送用パレットの穴に挿入することができないという問題がある。
【0006】
本開示の目的の1つは、フォークリフトのフォークを搬送用パレットの穴に正確に挿入することができる情報処理装置、3次元位置推定方法、及びプログラム等を提供することにある。
【課題を解決するための手段】
【0007】
本開示に係る情報処理装置は、搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出する検出部と、前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得する取得部と、検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正する補正部と、前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定する位置推定部と、を備える。
【0008】
本開示に係る3次元位置推定方法は、搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出し、前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得し、検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正し、前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定する。
【0009】
本開示に係るプログラム或いはそのプログラムが格納された記録媒体は、搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出し、前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得し、検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正し、前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定することをコンピュータに実行させる。
【発明の効果】
【0010】
本開示により、フォークリフトのフォークを搬送用パレットの穴に正確に挿入することができる情報処理装置、3次元位置推定方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0011】
図1】実施の形態1にかかる情報処理装置の構成図である。
図2】実施の形態2にかかる情報処理装置の構成図である。
図3】実施の形態2にかかる検出されたパレット及びフォークを示す図である。
図4】実施の形態2にかかる深さ画像を示す図である。
図5】実施の形態2にかかる搬送用パレットの穴部に関する深さ画像の補正処理を説明する図である。
図6】実施の形態2にかかるフォークに関する深さ画像の補正処理を説明する図である。
図7】実施の形態2にかかる3次元位置の推定処理の流れを示す図である。
図8】それぞれ実施の形態2にかかる情報処理装置の構成図である。
【発明を実施するための形態】
【0012】
(実施の形態1)
以下、図面を参照して本開示の実施の形態について説明する。図1を用いて実施の形態1にかかる情報処理装置10の構成例について説明する。情報処理装置10は、プロセッサがメモリに格納されたプログラムを実行することによって動作するコンピュータ装置であってもよい。また、情報処理装置10は、フォークリフトに搭載され、フォークリフトの移動及び操作等が、情報処理装置10によって制御されてもよい。もしくは、情報処理装置10と、フォークリフトに備え付けられたコンピュータ装置とが通信し、フォークリフトの移動及び操作等が、情報処理装置10から受信した制御メッセージによって制御されてもよい。言い換えると、フォークリフトは、情報処理装置10によって遠隔操作されてもよい。フォークリフトは、自律的に動作し、搬送用パレットを運搬する。
【0013】
情報処理装置10は、検出部11、取得部12、補正部13、及び位置推定部14を有している。検出部11、取得部12、補正部13、及び位置推定部14等の情報処理装置10の構成要素は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、情報処理装置10の構成要素は、チップもしくは回路等のハードウェアであってもよい。
【0014】
検出部11は、搬送用パレットと、搬送用パレットを支持するためのフォークとを含む画像を用いて、フォークが挿入される搬送用パレットの穴部及びフォークの形状を検出する。搬送用パレットとフォークとを含む画像は、例えば、一枚の画像に搬送用パレット及びフォークとが映し出されている画像であってもよい。もしくは、搬送用パレットとフォークとを含む画像は、一つのフレーム内に、搬送用パレット及びフォークが含められている画像であってもよい。もしくは、搬送用パレットとフォークとを含む画像は、搬送用パレット及びフォークとが同時に映し出された動画であってもよい。
【0015】
検出部11は、例えば、エッジ検出を行うことによって、搬送用パレットの穴部及びフォークの形状を検出してもよい。エッジ検出が行われることによって、搬送用パレットの穴部及びフォークの輪郭が示されることになる。エッジ検出は、特徴抽出等と言い換えられてもよい。
【0016】
取得部12は、画像に含まれる搬送用パレットの穴部及びフォークの深さ情報を示す深さ画像を取得する。深さ画像は、デプスマップ(深度マップ)と称されてもよい。深さ画像は、例えば、カメラから画像内の対象物までの距離を示す画像であってもよい。深度マップは、環境画像の画角内の各位置の深度もしくは奥行が、数値として示されるデジタル情報である。例えば、深さ画像においては、異なる距離に存在する対象物の色を変更することによって、距離の差異が示されてもよい。取得部12は、3次元位置を認識可能なセンサによって生成された深さ画像を取得してもよい。
【0017】
補正部13は、検出部11において検出された搬送用パレットの穴部及びフォークの形状を用いて、深さ画像において穴部及びフォークの形状を認識できるように深さ情報を補正する。カメラから対象物までの距離を示す深さ情報にノイズが含まれる場合、深さ画像において、対象物が明確に示されない場合がある。具体的には、深さ画像において、対象物の輪郭が明瞭に示されない場合がある。このような場合に、補正部13は、深さ画像における不明瞭な輪郭の深さ情報を、検出部11において検出された搬送用パレットの穴部及びフォークの形状を用いて補正する。
【0018】
位置推定部14は、補正部13において深さ情報が補正された深さ画像に基づいて、搬送用パレットの穴部及びフォークの3次元位置を推定する。位置推定部14は、例えば、搬送用パレット及びフォークを含む画像と、深さ画像とを用いて、VSLAM(Visual Simultaneous Localization and Mapping)を実行することによって、搬送用パレットの穴部及びフォークの3次元位置を推定してもよい。
【0019】
以上説明したように、情報処理装置10は、搬送用パレットの穴部及びフォークを含む画像を用いて、それぞれの3次元位置を推定することができる。さらに、情報処理装置10は、搬送用パレットの穴部及びフォークの3次元位置を推定するために必要な深さ画像の精度を向上させるために、搬送用パレットの穴部及びフォークの形状を用いることができる。その結果、情報処理装置10は、搬送用パレットの穴部及びフォークの3次元位置を正確に推定することができるため、フォークを搬送用パレットの穴部に正確に挿入するように、フォークリフトを制御することができる。
【0020】
(実施の形態2)
続いて、図2を用いて実施の形態2にかかる情報処理装置20の構成例について説明する。情報処理装置20は、検出部11、補正部13、位置推定部14、画像取得部21、カメラパラメータ推定部22、及び特徴量記憶部23を有している。検出部11、補正部13、及び位置推定部14については、図1との差異を主に説明する。画像取得部21、カメラパラメータ推定部22、及び特徴量記憶部23等の情報処理装置20の構成要素は、プロセッサがメモリに格納されたプログラムを実行することによって処理が実行されるソフトウェアもしくはモジュールであってもよい。または、情報処理装置20の構成要素は、チップもしくは回路等のハードウェアであってもよい。
【0021】
画像取得部21は、図1の取得部12に相当する。画像取得部21は、搬送用パレットの穴部及びフォークの3次元位置を推定するために用いられる画像を取得する。例えば、画像取得部21は、搬送用パレットの穴部及びフォークが同一フレーム内に含まれるRGB-D(Red Green Blue and Depth)画像を取得してもよい。RGB-D画像は、カラー画像であるRGB画像及び深さ画像を含む画像である。RGB-D画像は、例えば、RGB-DカメラもしくはRGB-Dセンサにおいて生成されてもよい。RGB-DカメラもしくはRGB-Dセンサは、カメラから対象物までの距離を検知する距離センサを搭載したデバイスである。以下においては、RGB-Dカメラに関する説明は、RGB-Dセンサにおいても同様に適用される。
【0022】
RGB-Dカメラは、例えば、情報処理装置20による制御に従って自律的に動作するフォークリフトに備え付けられてもよい。RGB-Dカメラは、フォークリフトのフォークの先端を撮影可能な位置に取り付けられてもよい。つまり、フォークリフトは、RGB-Dカメラを用いてフォークリフトのフォークを撮影しながら、搬送用パレットを撮影可能な位置まで移動する。さらに、フォークリフトは、フォークを搬送用パレットの穴部に挿入する位置に移動する。
【0023】
画像取得部21は、RGB-Dカメラとケーブル等を介して接続してもよく、無線通信回線を介してRGB-Dカメラと接続してもよい。もしくは、画像取得部21は、RGB-Dカメラを含んでもよい。画像取得部21は、フォークリフトの移動中に、RGB-Dカメラを用いてリアルタイムに撮影されたRGB-D画像を取得する。
【0024】
カメラパラメータ推定部22は、RGB画像を用いて、RGB-Dカメラの外部パラメータを推定する。また、カメラパラメータ推定部22は、推定した外部パラメータを位置推定部14へ出力する。外部パラメータは、例えば、ワールド座標系をカメラ内において定められた座標であるカメラ座標へ変換するために用いられるパラメータであってもよい。外部パラメータは、例えば、回転行列及び位置ベクトルを含むパラメータであってもよい。また、カメラの画角に関する情報を含む内部パラメータは、予め定められているとする。画角は、一般的に水平の画素数、垂直の画素数、光学センサーとレンズとの焦点距離などから構成される。
【0025】
カメラパラメータ推定部22は、RGB画像から、搬送用パレットに張り付けられたQR(Quick Response)マーカーを認識する。搬送用パレットには、QRマーカーではなく、他のマーカーが張り付けられてもよい。例えば、カメラパラメータ推定部22は、RGB画像に含まれる搬送用パレットのQRマーカーの位置及び姿勢を推定する。具体的には、カメラパラメータ推定部22は、QRマーカーのRGB画像内の2次元座標を推定する。カメラパラメータ推定部22は、QRマーカーの2次元座標を用いて、ワールド座標系におけるカメラの外部パラメータを推定する。2次元座標を用いてカメラの外部パラメータを推定する手法は、一般的に用いられている手法を用いればよく、特定の手法に限定されない。
【0026】
特徴量記憶部23は、フォークリフトに備え付けられたRGB-Dカメラを用いて撮影されたRGB画像から抽出された搬送用パレットの穴部及びフォークの特徴点の特徴量を記憶する。搬送用パレットの穴部及びフォークの特徴点は、例えば、搬送用パレットの穴部及びフォークの輪郭を示す情報であってもよい。搬送用パレットの穴部及びフォークの特徴点の抽出は、搬送用パレットの穴部及びフォークの3次元位置を推定する前の事前処理として行われてもよい。例えば、検出部11が、事前に撮影されたRGB画像を用いて、搬送用パレットの穴部及びフォークの特徴点を抽出し、抽出した特徴点の特徴量を特徴量記憶部23に記憶してもよい。例えば、検出部11は、SIFT、SURF、ORB、AKAZE等を用いて特徴点を抽出してもよい。もしくは、情報処理装置20とは異なる装置において、事前に撮影されたRGB画像を用いて、搬送用パレットの穴部及びフォークの特徴点が抽出され、抽出された特徴点に関する特徴量が特徴量記憶部23に記憶されてもよい。
【0027】
検出部11は、特徴量記憶部23に事前に格納された搬送用パレットの穴部及びフォークの特徴点を用いて、フォークリフトが移動中にリアルタイムに撮影されたRGB画像に含まれる搬送用パレットの穴部及びフォークの検出を行う。
【0028】
ここで、検出部11が実行する搬送用パレットの穴部及びフォークの検出処理について詳細に説明する。具体的には、検出処理として、ヒステリシスを持つエッジ検出について説明する。検出部11は、リアルタイムに撮影された2次元(X-Y)座標をなすRGB画像のX方向及びY方向の1次微分を計算することによって、特徴量として、輝度勾配Gと勾配の方向Dとを取得する。さらに、検出部11は、勾配の方向Dに沿って、非最大抑制を実行することによって、エッジ部分を細線化する。検出部11は、ある特徴点の輝度勾配Gが予め定められた閾値以上である場合に、当該特徴点をエッジとして検出する。
【0029】
このようにエッジとなる点を検出した場合に、エッジの線が途切れてしまうことがある。言い換えると、連続するエッジの線の一部分がエッジと認識されない場合がある。これは、エッジの線の一部分の点において、輝度勾配Gが閾値未満の値を示す場合があるからである。このような、エッジの線が途切れるのを防ぐために、検出部11は、ヒステリシスを持ったエッジ検出を行う。
【0030】
具体的には、検出部11は、ある点における輝度勾配Gが閾値未満の値であった場合、勾配の方向Dにおける、その点の前後の点の輝度勾配Gを確認する。検出部11は、輝度勾配Gが閾値未満である点の前後の点の輝度勾配Gが閾値以上であり、エッジとして検出されている場合、輝度勾配Gが閾値未満の値である点もエッジとして検出する。このようにして、検出部11は、エッジの線が途切れるのを防止し、連続するエッジの線を検出する。
【0031】
例えば、検出部11が検出した搬送用パレットの穴部及びフォークは、図3のように示される。図3は、検出部11が、一つのRGB画像を用いて、ヒステリシスを持つエッジ検出を行った結果得られる画像である。図3は、搬送用パレット30に、穴部31及び穴部32が含まれていることを示している。さらに図3は、搬送用パレット30が映し出されている画像に、フォーク41及びフォーク42も映し出されていることを示している。図3の点線矢印は、フォークリフトが向かう方向を示しており、実際の画像には存在しない。また、検出部11がエッジとして検出した点は、例えば、2次元座標を用いて(u,v)のように示される。
【0032】
補正部13は、画像取得部21において取得された深さ画像の深さ情報を補正する。深さ情報は、具体的には、RGB-Dカメラから対象物までの距離を示す情報である。例えば、画像取得部21において取得された深さ画像は、図4に示されるような画像である場合がある。図4の深さ画像は、図3と同様に、穴部31及び穴部32を含む搬送用パレット30と、フォーク41及びフォーク42が示されている。なお、図4の点線矢印は、フォークリフトが向かう方向を示しており、実際の画像には存在しない。穴部31及び穴部32の内部の網掛け領域は、奥行きが深く、深さ情報が不明な点の集合を示している。つまり、穴部31及び穴部32の内部の網掛け領域は、RGB-Dカメラから対象物までの距離が測定できていない領域であることを示している。また、フォーク41及びフォーク42に重畳する網掛け領域も、深さ情報が不明な点の集合を示している。
【0033】
図4に示されるように、深さ画像においては、深さ情報にノイズが含まれる場合に、穴部31及び穴部32の境界が、図3における穴部31及び穴部32の境界と比較して、不明瞭になる。同様に、フォーク41の境界も、図3のフォーク41の境界と比較して不明瞭になる。以下において、補正部13が、不明瞭な境界部分の深さ情報を補正する処理について説明する。
【0034】
まず、穴部31の境界部分が不明瞭な場合の補正処理について説明する。図5は、深さ画像において境界部分が不明瞭である穴部31を示している。さらに、図5は、深さ情報が不明瞭な任意な点(u1,v1)と、穴部31の中心点P_cを示している。深さ情報が不明瞭な任意な点(u1,v1)は、図3において穴部31のエッジとして検出された点(u,v)のうち、深さ情報が不明な点を示している。
【0035】
中心点P_cの座標は、例えば、((u_max-u_min)/2,(v_max-v_min)/2)と示されてもよい。u_minは、穴部31のエッジを示す点のうち最小の値を示すx座標を示し、u_maxは、穴部31のエッジを示す点のうち最大の値を示すx座標を示している。v_minは、穴部31のエッジを示す点のうち最小の値を示すy座標を示し、v_maxは、穴部31のエッジを示す点のうち最大の値を示すy座標を示している。「/」は割り算を示す(以下、同様)。
【0036】
補正部13は、深さ情報が不明瞭な任意な点(u1,v1)の深さ情報を補正する場合、中心点P_cから、点(u1,v1)方向へ深さ情報を探索した場合に、最初に得られた深さ情報を、点(u1,v1)における深さ情報と推定する。図5の点線矢印は、深さ情報の探索方向を示している。具体的には、補正部13は、図5における(u2,v2)の深さ情報を、点(u1,v1)における深さ情報の値として補正する。
【0037】
次に、フォーク41の境界部分が不明な場合の補正処理について説明する。図6は、深さ画像において境界部分が不明瞭であるフォーク41を示している。さらに、図6は、深さ情報が不明瞭な任意な点(u3,v3)と、フォーク41の中心点F_cを示している。深さ情報が不明瞭な任意な点(u3,v3)は、図3においてフォーク41のエッジとして検出された点(u,v)のうち、深さ情報が不明な点を示している。
【0038】
中心点F_cの座標は、例えば、((u_max-u_min)/2,(v_max-v_min)/2)と示されてもよい。u_minは、フォーク41のエッジを示す点のうち最小の値を示すx座標を示し、u_maxは、フォーク41のエッジを示す点のうち最大の値を示すx座標を示している。v_minは、フォーク41のエッジを示す点のうち最小の値を示すy座標を示し、v_maxは、フォーク41のエッジを示す点のうち最大の値を示すy座標を示している。
【0039】
補正部13は、深さ情報が不明瞭な任意な点(u3,v3)の深さ情報を補正する場合、点(u3,v3)から中心点F_c方向へ深さ情報を探索した場合に、最初に得られた深さ情報を、点(u3,v3)における深さ情報と推定する。図6の点線矢印は、深さ情報の探索方向を示している。具体的には、補正部13は、図6における(u4,v4)の深さ情報を、点(u3,v3)における深さ情報の値として補正する。
【0040】
図5においては、中心点P_Cから点(u1,v1)方向へ深さ情報を探索することを説明し、図6においては、点(u3,v3)から中心点F_c方向へ深さ情報を探索することを説明した。しかし、深さ情報の探索方向は、これらに限定されず、例えば、図5においては、補正部13は、図3において穴部31と検出された領域内の任意の点から、点(u1,v1)方向へ深さ情報を探索してもよい。また、図6においては、補正部13は、点(u3,v3)から図3においてフォーク41と検出された領域内の任意の点の方向へ深さ情報を探索してもよい。
【0041】
位置推定部14は、カメラパラメータ推定部22から外部パラメータを受け取り、検出部11から搬送用パレットの穴部及びフォークのエッジの2次元座標を受け取り、さらに、補正部13から、エッジの深さ情報を受け取る。位置推定部14は、受け取ったそれぞれの情報を用いて、搬送用パレットの穴部及びフォークの3次元位置(3次元座標)を推定する。
【0042】
2次元座標と3次元座標とは、以下の式1の関係を満たす。
【0043】

【0044】
sは、2次元座標(u,v)の深さ情報を示す。左辺の第1項におけるu及びvは、RGB画像から検出されたエッジの2次元座標を示す。式1の右辺の第1項は、内部パラメータを示す。式1の右辺の第2項は、外部パラメータを示す。式1の右辺の第3項は、2次元座標を用いて示される点(u,v)の3次元位置を示す。内部パラメータは、カメラの仕様から予め定められているとする。
【0045】
位置推定部14は、式1へ、カメラパラメータ推定部22、検出部11、及び補正部13から受け取った情報を当てはめることによって、搬送用パレットの穴部及びフォークの3次元位置(3次元座標)を算出する。
【0046】
続いて、図7を用いて実施の形態2にかかる3D画像の生成処理の流れについて説明する。3D画像は、特徴点の3次元位置が示されている画像である。はじめに、画像取得部21は、RGB-D画像を取得する(S11)。画像取得部21が取得したRGB-D画像には、搬送用パレットの穴部及びフォークが同一フレームに含まれている。RGB-D画像は、カラー画像であるRGB画像及び深さ画像を含む。画像取得部21は、フォークリフトに備え付けられているRGB-Dカメラにおいて撮影されたRGB-D画像を取得する。
【0047】
次に、カメラパラメータ推定部22は、RGB画像内に、QRマーカーが含まれているかを判定する(S12)。QRマーカーは、搬送用パレットに張り付けられているとする。つまり、RGB画像内にQRマーカーが含まれことは、RGB画像には搬送用パレットが含まれていることを意味する。
【0048】
ステップS12において、カメラパラメータ推定部22がRGB画像内にQRマーカーが含まれていないためQRマーカーを認識することができない場合、ステップS11の処理に進み、画像取得部21が、他のRGB-D画像を取得する。他のRGB-D画像は、既に取得したRGB-D画像と異なるタイミングに撮影されたRGB-D画像であってもよい。
【0049】
ステップS12において、カメラパラメータ推定部22は、RGB画像内に含まれるQRマーカーを認識した場合、RGB画像の撮影に用いられたカメラの外部パラメータを推定する(S13)。QRマーカーを認識するとは、QRマーカーを読み取ると言い換えられてもよい。
【0050】
次に、検出部11は、RGB画像に含まれる搬送用パレットの穴部及びフォークの検出を行う(S14)。具体的には、検出部11は、搬送用パレットの穴部及びフォークについてヒステリシスを持つエッジ検出を行ってもよい。検出部11は、事前処理として、フォークリフトに備え付けられたカメラを用いて撮影されたRGB画像に含まれる特徴点の特徴量を特徴量記憶部23に格納する。検出部11は、特徴量記憶部23に格納された特徴点の特徴量を用いて、フォークリフトが自律的に動作中にカメラにおいて撮影されたリアルタイムのRGB画像から、搬送用パレットの穴部及びフォークを検出する。
【0051】
次に、検出部11は、搬送用パレットの穴部及びフォークの形状の2次元座標を特定する(S15)。検出部11が特定した2次元座標は、例えば、(u,v)のように示される。
【0052】
次に、補正部13は、深さ画像(Depth画像)を読み込む(S16)。深さ画像は、カメラから対象物までの距離を示す画像であり、環境画像の画角内の各位置の深度もしくは奥行が、数値として示されるデジタル情報である。
【0053】
次に、補正部13は、深さ画像内の深さ情報の補正を行う(S17)。具体的には、補正部13は、深さ画像内において、搬送用パレットの穴部及びフォークの形状が不明瞭となっている箇所の深さ情報の補正を行う。搬送用パレットの穴部及びフォークの形状が不明瞭となっている箇所は、深さ情報が不明となっていることがある。このような場合に、補正部13は、不明となっている特徴点の深さ情報を、周辺の特徴点における深さ情報を用いて補正する。
【0054】
次に、位置推定部14は、カメラの外部パラメータ、搬送用パレットの穴部及びフォークの形状の2次元座標、及び搬送用パレットの穴部及びフォークの形状の2深さ情報を用いて、搬送用パレットの穴部及びフォークの形状の3次元位置を推定する(S18)。つまり、位置推定部14は、搬送用パレットの穴部及びフォークの3D画像を復元もしくは生成する。
【0055】
以上説明したように、実施の形態2にかかる情報処理装置20は、搬送用パレットの穴部及びフォークが含まれているRGB-D画像を用いることによって、搬送用パレットの穴部及びフォークの3D画像を生成することができる。これにより、情報処理装置20は、搬送用パレットの穴部及びフォークリフトの3次元位置を推定することができるため、フォークリフトのフォークを正確に搬送用パレットの穴部に挿入するように、フォークリフトの動作を制御することができる。
【0056】
また、情報処理装置20は、搬送用パレットの穴部及びフォークの形状の特徴点に深さ情報が不明となる箇所の深さ情報を、周辺の特徴点の深さ情報を用いて補正する。これにより、情報処理装置20は、深さ画像における搬送用パレットの穴部及びフォークの形状の深さ情報を特定することができる。その結果、情報処理装置20は、搬送用パレットの穴部及びフォークの形状の3D画像を正確に生成することができる。
【0057】
図8は、情報処理装置10及び情報処理装置20(以下、情報処理装置10等とする)の構成例を示すブロック図である。図8を参照すると、情報処理装置10等は、ネットワークインタフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワークインタフェース1201は、ネットワークノード(e.g., eNB、MME、P-GW、)と通信するために使用されてもよい。ネットワークインタフェース1201は、例えば、IEEE 802.3 seriesに準拠したネットワークインタフェースカード(NIC)を含んでもよい。ここで、eNBはevolved Node B、MMEはMobility Management Entity、P-GWはPacket Data Network Gatewayを表す。IEEEは、Institute of Electrical and Electronics Engineersを表す。
【0058】
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明された制御装置10等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU、又はCPUであってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
【0059】
メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/O(Input/Output)インタフェースを介してメモリ1203にアクセスしてもよい。
【0060】
図8の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明された情報処理装置10等の処理を行うことができる。
【0061】
図8を用いて説明したように、上述の実施形態における情報処理装置10等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1又は複数のプログラムを実行する。
【0062】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0063】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0064】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出する検出部と、
前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得する取得部と、
検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正する補正部と、
前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定する位置推定部と、を備える情報処理装置。
(付記2)
前記補正部は、
前記深さ画像において、前記穴部及び前記フォークの形状を示す位置の深さ情報が計測されていない場合に、前記位置の周辺の深さ情報を用いて、前記位置の深さ情報を推定する、付記1に記載の情報処理装置。
(付記3)
前記補正部は、
前記穴部の形状を示す位置の深さ情報が計測されていない場合に、前記穴部内の任意の位置から前記穴部の外側方向へ深さ情報を探索し、得られた深さ情報を用いて、前記深さ情報が計測されていない位置の深さ情報を推定する、付記2に記載の情報処理装置。
(付記4)
前記補正部は、
前記フォークの形状を示す位置の深さ情報が計測されていない場合に、深さ情報が計測されていない位置から、前記フォーク内の方向へ深さ情報を探索し、得られた深さ情報を用いて、前記深さ情報が得られていない位置の深さ情報を推定する、付記2又は3に記載の情報処理装置。
(付記5)
前記検出部は、
前記画像を撮影したカメラにおいて事前に撮影された周辺画像から抽出された特徴点と、前記画像から抽出された特徴点とを比較することによって、前記搬送用パレットの穴部及び前記フォークの形状を検出する、付記1乃至4のいずれか1項に記載の情報処理装置。
(付記6)
前記検出部は、
ヒステリシスを持ったエッジ検出を行うことによって前記穴部及び前記フォークの形状を検出する、付記5に記載の情報処理装置。
(付記7)
前記検出部は、
前記搬送用パレットの穴部及び前記フォークの形状を示す複数の特徴点の2次元座標を特定し、
前記補正部は、
前記複数の特徴点のうち、深さ情報が不明である点の深さ情報を補正する、付記1乃至5のいずれか1項に記載の情報処理装置。
(付記8)
前記画像内の前記搬送用パレットに付されたマーカーを検出し、前記画像を撮影したカメラに関する外部パラメータを推定するカメラパラメータ推定部をさらに備え、
前記位置推定部は、前記深さ情報及び前記外部パラメータに基づいて、前記穴部及び前記フォークの3次元位置を推定する、付記1乃至7のいずれか1項に記載の情報処理装置。
(付記9)
前記深さ画像は、
RGB-Dカメラを用いて撮影されたRGB-D画像に含まれる、付記1乃至7のいずれか1項に記載の情報処理装置。
(付記10)
搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出し、
前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得し、
検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正し、
前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定する、情報処理装置において実行される3次元位置推定方法。
(付記11)
搬送用パレットと、前記搬送用パレットを支持するためのフォークとを含む画像を用いて、前記フォークが挿入される前記搬送用パレットの穴部及び前記フォークの形状を検出し、
前記画像に含まれる前記穴部及び前記フォークの深さ情報を示す深さ画像を取得し、
検出された前記穴部及び前記フォークの形状を用いて、前記深さ画像において前記穴部及び前記フォークの形状を認識できるように前記深さ情報を補正し、
前記深さ情報に基づいて、前記穴部及び前記フォークの3次元位置を推定することをコンピュータに実行させるプログラム。
【符号の説明】
【0065】
10 情報処理装置
11 検出部
12 取得部
13 補正部
14 位置推定部
20 情報処理装置
21 画像取得部
22 カメラパラメータ推定部
23 特徴量記憶部
30 搬送用パレット
31 穴部
32 穴部
41 フォーク
42 フォーク
図1
図2
図3
図4
図5
図6
図7
図8