(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023078755
(43)【公開日】2023-06-07
(54)【発明の名称】判定装置、判定システム、判定方法及びプログラム
(51)【国際特許分類】
G06T 7/73 20170101AFI20230531BHJP
G06T 7/00 20170101ALI20230531BHJP
【FI】
G06T7/73
G06T7/00 650B
G06T7/00 350B
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021192022
(22)【出願日】2021-11-26
(71)【出願人】
【識別番号】517048278
【氏名又は名称】LeapMind株式会社
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100161506
【弁理士】
【氏名又は名称】川渕 健一
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100207789
【弁理士】
【氏名又は名称】石田 良平
(72)【発明者】
【氏名】花元 敦思
(72)【発明者】
【氏名】久米 泰弘
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096BA04
5L096BA05
5L096CA02
5L096CA27
5L096DA02
5L096FA09
5L096FA66
5L096FA67
5L096FA69
5L096HA11
5L096JA11
5L096KA04
5L096KA15
(57)【要約】 (修正有)
【課題】対象物の姿勢を精度よく検出する判定装置、判定システム、判定方法及びプログラムを提供する。
【解決手段】判定装置12は、対象物を撮像した画像I1と、前記画像に対応する位置の深度情報I2とを含む画像情報を取得する画像情報取得部121と、画像情報に含まれる画像に基づいて、対象物が有する特定の位置であるキーポイントを検出する検出部122と、画像情報に含まれる前記深度情報に基づいて、検出されたキーポイントに対応する位置の深度を算出する算出部123と、算出されたキーポイントに対応する位置の深度に基づいて、対象物の姿勢を推定する推定部124と、を備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
対象物を撮像した画像と、前記画像に対応する位置の深度情報とを含む画像情報を取得する画像情報取得部と、
前記画像情報に含まれる前記画像に基づいて、前記対象物が有する特定の位置であるキーポイントを検出する検出部と、
前記画像情報に含まれる前記深度情報に基づいて、検出された前記キーポイントに対応する位置の深度を算出する算出部と、
算出された前記キーポイントに対応する位置の深度に基づいて、前記対象物の姿勢を推定する推定部と
を備える判定装置。
【請求項2】
前記推定部は、前記画像を撮像した撮像部に対する前記対象物の傾きを、前記対象物の姿勢として推定する
請求項1に記載の判定装置。
【請求項3】
前記対象物とは、車輪を有する籠車であり、
前記キーポイントとは、少なくとも1つの前記車輪を含む
請求項1又は請求項2に記載の判定装置。
【請求項4】
前記籠車は荷物を積載可能な底面と、4個の前記車輪とを備え、
前記検出部は、前記底面を特定する4点と、4個の前記車輪の位置をそれぞれ特定する4点とを前記キーポイントとして検出する
請求項3に記載の判定装置。
【請求項5】
前記推定部は、前記対象物が有する複数の辺のうち、前記画像を撮像した撮像部に近い辺の中心点の座標と角度を推定する
請求項4に記載の判定装置。
【請求項6】
前記算出部は、対象物の実際の大きさと、前記画像情報に含まれる前記深度情報とに基づいて、検出された前記キーポイントに対応する位置の深度を算出する
請求項1から請求項5のいずれか一項に記載の判定装置。
【請求項7】
前記検出部は学習済みモデルを備え、機械学習により前記キーポイントを検出する
請求項1から請求項6のいずれか一項に記載の判定装置。
【請求項8】
前記対象物が撮像された前記画像と、前記対象物の前記キーポイントの位置座標とを記憶する記憶装置と、
前記記憶装置に記憶された前記画像に含まれる前記対象物と前記キーポイントとを教師データとしてとして用い、前記学習済みモデルを生成するモデル生成手段と、
学習された前記学習済みモデルを用いて、前記キーポイントを検出する請求項7に記載の判定装置と
を備える判定システム。
【請求項9】
対象物を撮像した画像と、前記画像に対応する深度情報とを含む画像情報を取得する画像情報取得工程と、
前記画像情報に含まれる前記画像に基づいて、前記対象物が有する特定の位置であるキーポイントを検出する検出工程と、
前記画像情報に含まれる前記深度情報に基づいて、検出された前記キーポイントに対応する座標の深度を算出する算出工程と、
前記対象物の姿勢を推定する推定工程と
を有する判定方法。
【請求項10】
コンピュータに、
対象物を撮像した画像と、前記画像に対応する深度情報とを含む画像情報を取得する画像情報取得ステップと、
前記画像情報に含まれる前記画像に基づいて、前記対象物が有する特定の位置であるキーポイントを検出する検出ステップと、
前記画像情報に含まれる前記深度情報に基づいて、検出された前記キーポイントに対応する座標の深度を算出する算出ステップと、
前記対象物の姿勢を推定する推定ステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、判定システム、判定方法及びプログラムに関する。
【背景技術】
【0002】
従来、移動体を自律走行させる技術分野において、機械学習を用いて物体の形状等を検出する技術が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような従来技術によれば、移動体を自律走行させるための物体の位置姿勢の推定や、センサの位置姿勢を算出するための地図情報の更新ができるかもしれない。しかしながら、機械学習を用いて物体の形状等を検出した場合、機械学習の推論演算結果に含まれる誤差は無視できない。したがって、適切に移動体の制御を行えない場合があるという問題があった。
【0005】
そこで本発明は、このような状況に鑑みてなされたものであり、対象物の姿勢を精度よく検出することが可能な技術の提供を目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る判定装置は、対象物を撮像した画像と、前記画像に対応する位置の深度情報とを含む画像情報を取得する画像情報取得部と、前記画像情報に含まれる前記画像に基づいて、前記対象物が有する特定の位置であるキーポイントを検出する検出部と、前記画像情報に含まれる前記深度情報に基づいて、検出された前記キーポイントに対応する位置の深度を算出する算出部と、算出された前記キーポイントに対応する位置の深度に基づいて、前記対象物の姿勢を推定する推定部とを備える。
【0007】
また、本発明の一態様に係る判定装置において、前記推定部は、前記画像を撮像した撮像部に対する前記対象物の傾きを、前記対象物の姿勢として推定する。
【0008】
また、本発明の一態様に係る判定装置において、前記対象物とは、車輪を有する籠車であり、前記キーポイントとは、少なくとも1つの前記車輪を含む。
【0009】
また、本発明の一態様に係る判定装置において、前記籠車は荷物を積載可能な底面と、4個の前記車輪とを備え、前記検出部は、前記底面を特定する4点と、4個の前記車輪の位置をそれぞれ特定する4点とを前記キーポイントとして検出する。
【0010】
また、本発明の一態様に係る判定装置において、前記推定部は、前記対象物が有する複数の辺のうち、前記画像を撮像した撮像部に近い辺の中心点の座標と角度を推定する。
【0011】
また、本発明の一態様に係る判定装置において、前記算出部は、対象物の実際の大きさと、前記画像情報に含まれる前記深度情報とに基づいて、検出された前記キーポイントに対応する位置の深度を算出する。
【0012】
また、本発明の一態様に係る判定装置において、前記検出部は学習済みモデルを備え、機械学習により前記キーポイントを検出する。
【0013】
また、本発明の一態様に係る判定システムは、前記対象物が撮像された前記画像と、前記対象物の前記キーポイントの位置座標とを記憶する記憶装置と、前記記憶装置に記憶された前記画像に含まれる前記対象物と前記キーポイントとを教師データとしてとして用い、前記学習済みモデルを生成するモデル生成手段と、学習された前記学習済みモデルを用いて、前記キーポイントを検出する上述した判定装置とを備える。
【0014】
また、本発明の一態様に係る判定方法は、対象物を撮像した画像と、前記画像に対応する深度情報とを含む画像情報を取得する画像情報取得工程と、前記画像情報に含まれる前記画像に基づいて、前記対象物が有する特定の位置であるキーポイントを検出する検出工程と、前記画像情報に含まれる前記深度情報に基づいて、検出された前記キーポイントに対応する座標の深度を算出する算出工程と、前記対象物の姿勢を推定する推定工程とを有する。
【0015】
また、本発明の一態様に係るプログラムは、コンピュータに、対象物を撮像した画像と、前記画像に対応する深度情報とを含む画像情報を取得する画像情報取得ステップと、前記画像情報に含まれる前記画像に基づいて、前記対象物が有する特定の位置であるキーポイントを検出する検出ステップと、前記画像情報に含まれる前記深度情報に基づいて、検出された前記キーポイントに対応する座標の深度を算出する算出ステップと、前記対象物の姿勢を推定する推定ステップとを実行させる。
【発明の効果】
【0016】
本発明によれば、対象物の姿勢を精度よく検出することができる。
【図面の簡単な説明】
【0017】
【
図1】実施形態に係る移動体制御システムの概要について説明するための図である。
【
図2】実施形態に係る移動体と撮像装置について説明するための図である。
【
図3】実施形態に係る撮像部に対する対象物の角度の一例を示す図である。
【
図4】実施形態に係る移動体の機能を説明するための機能構成図の一例である。
【
図5】実施形態に係る判定装置の機能を説明するための機能構成図の一例である。
【
図6】実施形態に係る判定装置の学習について説明するための図である。
【
図7】実施形態に係る対象物を撮像した画像と、深度画像の一例について説明するための図である。
【
図8】実施形態に係る判定装置の機能の一例を説明するための図である。
【
図9】実施形態に係る対象物のキーポイントについて説明するための図である。
【
図10】実施形態に係るキーポイントの深度の算出方法について説明するための図である。
【
図11】実施形態に係る判定装置により算出されたキーポイントの一例を示す図である。
【
図12】実施形態に係る移動体の一連の動作の一例について説明するための図である。
【
図13】実施形態に係る移動体制御システムの変形例について説明するための図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、図面を参照しながら説明する。以下において説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限定されない。
【0019】
[移動体制御システム]
図1は、実施形態に係る移動体制御システムの概要について説明するための図である。
同図を参照しながら、移動体制御システム1の概要について説明する。
移動体制御システム1は、少なくとも1台の移動体10を備える。移動体10は、対象物20を所定の位置に移動させるための機構を備える。
【0020】
移動体10は、対象物20を把持し、牽引し、又は持ち上げて運搬等することにより対象物20を目的地まで移動させる。持ち上げて運搬するとは、移動体10が備える不図示のフォーク(つめ)を対象物20の下部に差し込み、フォークを上昇させることにより対象物20を持ち上げ、目的地まで運搬することであってもよい。また、移動体10自身が対象物20の下に入り込み、所定の昇降機構により対象物20を持ち上げ、目的地まで運搬してもよい。
移動体10は、例えば、無人搬送車や無人搬送ロボット等のAGV(Automatic Guided Vehicle)であってもよい。
【0021】
対象物20は、移動体10により運搬可能な物体であればよい。以降の説明において、対象物20は、荷物を載置可能な荷台、及び車輪を有する場合の一例について説明する。対象物20は車輪を有し、ヒトにより引く又は押すことにより、載置された荷物を運搬可能であってもよい。
対象物20は、例えば、籠車(カゴ車、又はかご台車)や荷車、台車等であってもよいし、複数の移動体10のうちの一つであってもよい。以降の説明において、対象物20は籠車である場合の一例について説明する。
【0022】
移動体10が存在する位置を位置P1、対象物20が存在する位置を位置P3とした場合、移動体10が位置P3に存在する対象物20を、目的位置である位置P4まで運搬する場合の一例について説明する。
まず、移動体10は、地図情報に基づき位置P2まで移動する。地図情報とは、移動体10が備える不図示の通信部により、GPS(Global Positioning System)等の人工衛星や所定の基地局から受信された電波に基づいて推定される位置情報であってもよい。また、通信部は、無線LAN等により不図示の中央制御装置と近距離通信を行い、位置P2についての情報を取得してもよい。
【0023】
位置P2とは、対象物20の姿勢を確認可能な位置である。具体的には、位置P2とは、対象物20の姿勢を判定するために、対象物20を撮像可能な位置である。より具体的には、位置P2とは、対象物20が存在する位置P3から5[m(メートル)]程度の距離であってもよい。
【0024】
移動体10は、1つの位置から対象物20を撮像してもよく、複数の位置から対象物20を撮像してもよい。移動体10が複数の位置から対象物20を撮像する場合、移動体10が対象物20を撮像する複数の位置を総称して位置P2と記載する。
位置P2において、移動体10は、自身が備える撮像装置11により対象物20を撮像する。移動体10は、撮像した結果に基づいて対象物20の姿勢を判定する。対象物20の姿勢とは、移動体10から対象物20までの距離、移動体10に対する対象物20の角度、及び移動体10が存在する位置に対する対象物20が存在する位置の角度等であってもよい。
【0025】
移動体10は対象物20に接触可能な位置に移動し、判定した対象物20の姿勢に基づいて、対象物20を運搬可能な状態にする。運搬可能な状態とは、対象物20を把持、牽引、リフトアップ(上昇)等をした状態であってもよい。移動体10は、対象物20を運搬可能な状態にした後、目的位置である位置P4まで運搬する。
【0026】
[移動体]
図2は、実施形態に係る移動体と撮像装置について説明するための図である。同図を参照しながら、移動体10と撮像装置11について説明する。
移動体10は、撮像装置11を備える。撮像装置11の撮像方向をy軸、撮像装置11の直上方向をz軸、y軸及びz軸に直行する方向をx軸とする三次元直交座標系により移動体10の姿勢を記載する。撮像装置11が存在する位置座標を原点(0、0、0)とする。
【0027】
撮像装置11は、y軸方向を所定の画角により撮像する。移動体10は、所定の画角内に対象物20が位置する撮像位置である位置P2に移動し、対象物20を撮像する。移動体10は、撮像した画像に基づき、対象物20までの距離と、自身の角度に対する対象物20の角度(傾き)、及び自身の存在する位置に対する対象物20の存在する位置までの角度等を判定する。
【0028】
なお、撮像装置11は、図示するように移動体10の上部に取り付けられていてもよいし、移動体10の内部等、その他の箇所に備えられていてもよい。
【0029】
図3は、実施形態に係る撮像部に対する対象物の角度の一例を示す図である。同図を参照しながら、移動体10の角度に対する対象物20の角度(傾き)について説明する。同図は、移動体10が、対象物20を撮像する位置である位置P2に移動した際の、移動体10及び対象物20の位置関係を示す平面図である。同図の説明において、x軸及びy軸からなる座標系を用いて、移動体10及び対象物20の姿勢について説明する場合がある。
【0030】
移動体10は、地図情報に基づいて位置P2まで移動する。地図情報は、移動体10の姿勢についての情報を含まないため、位置P2に移動した時点において、移動体10に対する対象物20の傾き等の情報は不明である。
【0031】
図3(A)は、移動体10と対象物20とが平行に位置する場合の一例である。
図3(B)は、対象物20が正の傾きを有する位置に存在する場合の一例である。
図3(C)は、対象物20が負の傾きを有する位置に存在する場合の一例である。
図3(A)に示すように、移動体10と対象物20とが平行に位置する場合、撮像部11に対する対象物20の角度θは略0度である。略0度の範囲とは、-1[度]から+1[度]程度であってもよいし、-3[°(度)]から+3[°]程度であってもよい
図3(B)に示すように、移動体10と対象物20との間の距離が、x軸正方向側にいくに従い大きくなる場合、撮像部11に対する対象物20の角度θは正である。
図3(C)に示すように、移動体10と対象物20との間の距離が、x軸正方向側にいくに従い小さくなる場合、撮像部11に対する対象物20の角度θは負である。
【0032】
移動体10は、位置P2において撮像した画像に基づき、対象物20までの距離と、自身に対する対象物20の角度と、自身が存在する位置に対して対象物20が存在する位置までの角度とを判定する。移動体10は、判定した距離と角度に基づいて、対象物20の近傍に移動し、対象物20を運搬可能な状態にした後、目的位置である位置P4まで運搬する。
【0033】
図4は、実施形態に係る移動体の機能を説明するための機能構成図の一例である。同図を参照しながら、移動体10の機能構成の一例について説明する。移動体10は、撮像装置11と、判定装置12と、移動体制御装置13と、移動体駆動装置14とを構成要素として備える。
【0034】
撮像装置11は、対象物20を撮像することにより画像を取得する。また、撮像装置11は、対象物20の深度についての情報を取得する。対象物20の深度とは、撮像装置11と対象物20との間の距離に関する情報である。撮像装置11はカメラを備えることにより画像を取得し、赤外線レーザや複眼カメラ等を備えることにより、深度についての情報を取得してもよい。
撮像装置11は、画像や深度情報等の対象物20に関して取得した情報を、画像情報IIとして判定装置12に出力する。
【0035】
判定装置12は、撮像装置11から取得した画像及び深度に関する情報等に基づいて、対象物20の姿勢を判定する。判定装置12は、判定した対象物20の姿勢に関する情報を判定情報JIとして、移動体制御装置13に出力する。
【0036】
移動体制御装置13は、判定装置12により判定された対象物20の姿勢に関する情報に基づいて、移動体10の位置を移動するよう制御する。移動体制御装置13は、不図示のCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、ROM(Read only memory)又はRAM(Random access memory)等の記憶装置等を備える。移動体制御装置13は、移動体駆動装置14に制御情報CIを出力することにより、移動体10が対象物20を把持、牽引、リフトアップ等することが可能な位置に移動させる。また、移動体制御装置13は、移動体10が対象物20を把持、牽引、リフトアップ等することが可能な位置に移動させた後、対象物20を把持、牽引、リフトアップ等することにより、対象物20を目的位置である位置P4まで運搬するよう移動体10を制御する。
【0037】
移動体駆動装置14は、不図示の把持駆動部、牽引駆動部若しくは昇降駆動部等の運搬駆動部及び車輪駆動部若しくはベルト駆動部等の移動駆動部等を備える。移動体駆動装置14は、移動体制御装置13から取得した制御信号CIに基づき、移動体10を把持、牽引、リフトアップ等し、対象物20を目的地まで運搬する。
【0038】
[判定装置]
図5は、実施形態に係る判定装置の機能を説明するための機能構成図の一例である。同図を参照しながら、判定装置12の機能構成の一例について説明する。判定装置12は、画像情報取得部121と、検出部122と、算出部123と、推定部124とを備える。判定装置12は、バスで接続された不図示のCPU、GPU、ROM又はRAM等の記憶装置等を備え、判定プログラムを実行することによって画像情報取得部121と、検出部122と、算出部123と、推定部124とを備える装置として機能する。
【0039】
なお、判定装置12の各機能の全てまたは一部は、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field-Programmable Gate Array)等のハードウェアを用いて実現されてもよい。特に、検出部122はハードウェアを用いて構成され、算出部123及び推定部124はソフトウェアを用いて構成されることが好適である。
【0040】
画像情報取得部121は、撮像装置11から画像情報IIを取得する。画像情報IIは、少なくとも画像I1と深度情報I2とを含む。画像I1とは、対象物20を撮像した二次元画像である。深度情報I2とは、画像I1に対応する位置の深度情報を含む情報である。深度情報I2は、赤外線レーザや複眼カメラ等により取得された深度画像等の情報であってもよい。
【0041】
検出部122は、画像情報取得部121により取得された画像情報に含まれる画像I1に基づいて、対象物20が有する特定の位置であるキーポイントKPの位置座標を検出する。具体的には、検出部122は予め学習された学習済みモデルを備え、機械学習によりキーポイントKPを検出する。検出部122が備える学習済みモデルは、複数の層からなるニューラルネットワークを含む。当該複数の層には事前に学習した重みパラメータと画像I1に基づく入力データとの畳み込み演算を行う畳み込み演算部と畳み込み演算の結果に対して量子化演算を行う量子化演算部を含む。このように、検出部122が含むニューラルネットワークの少なくとも一つの層に量子化演算部を設けることにより、演算負荷を低減することが可能となり、移動体10などのエッジデバイス上で学習済みモデルに基づく検出を実行することが可能となる。
【0042】
ここで、キーポイントKPとは、対象物20の姿勢を特定するために用いられる点である。キーポイントKPは、対象物20に応じて予め定められていてもよい。キーポイントKPとは、例えば、対象物20が車輪を有する籠車である場合、少なくとも1つの車輪又は籠車の頂点を含んでいてもよい。
判定装置12は、対象物20の姿勢を判定するため、検出部122は少なくとも2つのキーポイントKPの位置座標を検出する。検出部122は、検出したキーポイントKPの位置座標についての情報を検出情報DIとして算出部123に出力する。
【0043】
算出部123は、画像情報に含まれる深度情報I2に基づいて、検出されたキーポイントKPに対応する位置の深度を算出する。具体的には、算出部123は、深度情報I2を参照することにより画像I1のキーポイントKPに対応する位置座標の深度を取得し、取得した深度に基づいた算出を行ってもよい。算出部123は、算出したキーポイントKPに対応する位置の深度についての情報を、キーポイント深度情報KDIとして推定部124に出力する。
【0044】
推定部124は、算出部123により算出されたキーポイントKPの位置座標に対応する位置の深度に基づいて、対象物20の姿勢を推定する。対象物20の姿勢とは、画像I1を撮像した撮像部11に対する対象物20の傾き等であってもよい。すなわち、推定部124は、撮像部11に対する対象物20の傾きを対象物20の姿勢として推定してもよい。
【0045】
図6は、実施形態に係る判定装置の学習について説明するための図である。同図を参照しながら、学習時の一例について説明する。判定装置12の学習時における構成を判定システム2と記載する。
なお、判定システム2はGPUを備えるサーバーと接続するコンピュータの一例であり、判定システム2は、移動体制御システム1とは独立したシステムであってもよい。
判定システム2は、記憶装置30と、モデル生成手段31とを備える。
【0046】
記憶装置30は、画像I1と、画像I1に対応する位置座標情報I3とを記憶する。
位置座標情報I3とは、画像I1に撮像された対象物20のキーポイントKPの位置座標についての情報である。すなわち、記憶装置30は、対象物20が撮像された画像I1と、対象物20のキーポイントKPの位置座標とを記憶する。
【0047】
モデル生成手段31は、記憶装置30に記憶された画像I1に含まれる対象物20とキーポイントKPの位置座標についての情報とを教師データとしてとして用い、学習済みモデルを生成する。より具体的には、記憶装置30には移動体制御システム1に用いられる対象物20を含む様々なシーンで撮影された画像を保持していることが好ましいが、学習済みモデルの汎化性能を向上するために、対象物20を含まない画像を含んでいてもよい。また、対象物20の種類によってパラメータを切り替えられるように、複数の学習結果をチェックポイントとして記憶するようにしてもよい。
判定装置12が備える検出部122は、モデル生成手段31により生成された学習済みモデルを用いて、キーポイントKPを検出する。
【0048】
図7は、実施形態に係る対象物を撮像した画像と、深度画像の一例について説明するための図である。同図を参照しながら、画像I1と深度情報I2の一例について説明する。
図7(A)は画像I1の一例を、
図7(B)及び
図7(C)は画像I1に対応する深度情報I2の一例を、それぞれ示す。
【0049】
画像I1は、移動体10が対象物20を撮像する位置である位置P2において、撮像装置11により撮像された画像である。画像I1には、対象物20が撮像されている。対象物20は、荷物を積載した籠車である。
深度情報I2は、画像I1が撮像された地点において、略同一の画角及び略同一の撮像角度において撮像された深度画像である。図示するように、対象物20が存在する位置においては、深度が浅くなっている。本実施形態においては、略同一の画角及び略同一の撮像角度で撮像する例を示したが、撮像位置や撮像装置11の構成によっては必ずしも同一の画角及び角度で撮像することができない場合がある。この場合には、よりキーポイントKPの位置座標を検出する検出部122の精度が求められる。
【0050】
図8は、実施形態に係る判定装置の機能の一例を説明するための図である。同図を参照しながら、判定装置12の機能について説明する。
まず、判定装置12は、撮像装置11により取得された画像I1に基づいて、キーポイントKPの位置座標を検出する。具体的には、判定装置12は、画像I1を学習済みモデル32に入力することにより、キーポイントKPの位置座標を検出する。キーポイントKPが複数である場合、判定装置12は、複数のキーポイントKPの位置座標を、それぞれ検出する。
【0051】
ここで、学習済みモデル32により検出されるキーポイントKPの位置座標は、二次元の画像上における位置座標であって、深度についての情報を有しない。
なお、キーポイントKPの位置座標検出処理は、ASIC、PLD又はFPGA等のハードウェアを用いて行われることが好適である。
【0052】
算出部123は、検出部122により検出されたキーポイントKPの位置座標と、深度情報I2に基づいて、キーポイントKPにおける深度を算出する。以降の説明において、キーポイントKPにおける深度についての情報を有する情報を、キーポイント深度情報I4と記載する。
なお、キーポイントKPの深度算出処理は、ソフトウェアを用いて行われることが好適である。
【0053】
推定部124は、キーポイント深度情報I4に基づいて、対象物20の姿勢を推定する。具体的には、推定部124は、複数のキーポイントKPの中点の座標(X,Y)及び、対象物20の撮像装置11に対する傾きθを推定する。
【0054】
次に、
図9及び
図10を参照しながら、対象物20のキーポイントKPの一例と、キーポイントKPの深度の算出の一例について説明する。
図9及び
図10の説明において、x軸、y軸及びz軸の三次元直交座標系によって移動体10と対象物20との位置関係について説明する場合がある。
【0055】
図9は、実施形態に係る対象物のキーポイントについて説明するための図である。同図を参照しながら、対象物20が籠車である場合におけるキーポイントKPの一例について説明する。
籠車である対象物20は、4個の車輪Wと、底面Bとを備える。底面Bは、所定の荷物を積載することができる面である。底面Bは少なくとも2辺が同一の長さの長方形であってもよい。また、底面Bは4辺が同一の長さの正方形であってもよい。車輪Wは、キャスタユニットの一部として、底面Bに取り付けられていてもよい。
【0056】
キーポイントKPとは、底面Bを特定するための4点、及び4個の車輪Wのそれぞれの回転中心(車輪Wのシャフト部分)であってもよい。すなわち、籠車である対象物20は、荷物を積載可能な底面Bと、4個の車輪Wとを備える。検出部122は、底面Bを特定する4点と、4個の車輪Wの位置をそれぞれ特定する4点とをキーポイントKPとして検出する。
【0057】
具体的には、籠車は、地面Gから200[mm(ミリメートル)]の位置に底面Bを備える。籠車は、4個のキャスタユニットを備えることにより底面Bを支える。各キャスタユニットは、底面Bに取り付け座が取り付けられる。各キャスタユニットは、それぞれ車輪Wを備える。
以降の説明において、底面Bを特定するための4個のキーポイントKPを、キーポイントKP1からキーポイントKP4と記載し、車輪Wを特定するための4個のキーポイントKPを、キーポイントKP5からキーポイントKP8と記載する。
【0058】
図9に示す図は、説明のために画像I1を簡略化して、二次元の場合について説明するための図である。同図には、底面Bを特定するためのキーポイントKPとしてキーポイントKP1及びキーポイントKP4が、車輪Wを特定するためのキーポイントKPとしてキーポイントKP5及びキーポイントKP8が示されている。
同図における説明においては簡略化のため、二次元の場合について説明するが、実際に撮像装置11により撮像された画像は三次元であるため、画像I1には、底面Bを特定するための4個のキーポイントKPと車輪Wをそれぞれ特定するための4個のキーポイントKPが全て撮像されていてもよい。
【0059】
ここで、判定装置12が対象物20と移動体10との距離を推定する場合の一例について説明する。
検出部122は、撮像装置11により撮像された画像I1に基づいて、底面Bを特定するためのキーポイントKP1及びキーポイントKP4の位置座標、車輪Wを特定するためのキーポイントKP5及びキーポイントKP8の位置座標を検出する。検出部122は、検出したキーポイントKPの位置座標についての情報を、算出部123に出力する。
なお、キーポイントKPの位置座標間の距離等において、異常値の検出が検出された場合には、検出ができなかった旨の結果を出力してもよい。具体的には、位置座標から想定される籠車の長辺または短辺の長さが短すぎると判定される場合には、検出ができなかったことを示す情報を出力するようにしてもよい。
【0060】
なお、検出部122は、キーポイントKPの位置座標に加えて、キーポイントKPに対応するクラスを検出し、キーポイントKPの位置座標とクラスとを対応付けて算出部123に出力してもよい。クラスとは、当該キーポイントKPが底面B又は車輪Wのいずれを特定するものであるのかを示す情報である。
また、検出部122は、確信度に基づく閾値判定を行い、キーポイントKPの位置座標を検出したか否かについての情報を算出部123に出力してもよい。
【0061】
なお、検出部122は、複数の地点において撮像された複数の画像I1に基づいて、キーポイントKPの位置座標を検出してもよい。例えば、撮像装置11は、対象物20の近傍である第1の位置と、第1の位置より更に対象物20の近傍である第2の位置とにおいて撮像された複数の画像I1に基づいて、キーポイントKPの位置座標を検出してもよい。換言すれば、検出部122は、遠目と近目において撮像された複数の画像に基づいて検出された結果を平均処理することにより、より高い確実性を持ってキーポイントKPの位置座標を検出してもよい。
【0062】
算出部123は、検出部122により検出されたキーポイントKPの位置座標と、深度情報I2とに基づいて、それぞれのキーポイントKPの深度を算出する。ここで、深度とは、撮像装置11から対象となる点までのy方向の距離である。深度情報I2が有する深度情報は、画角や撮像角度によって正確でない場合がある。そこで、算出部123は、対象物20の実際の大きさに基づいて、深度情報I2に示される値を、実際の深度に換算する。換言すれば、算出部123は、対象物20の実際の大きさと、画像情報IIに含まれる深度情報I2とに基づいて、検出されたキーポイントKPの位置座標に対応する位置の深度を算出する。
ここで、機械学習を利用した学習済みモデルは、様々なシーンにおいて高い検出精度を実現可能である。本実施形態における検出部122は、機械学習を利用した学習済みモデルに基づいてキーポイントKPを検出するが、学習時に想定していないシーン(例えば、籠車の配置や背景など)においては、検出精度が下がる場合がある。具体的には、検出したキーポイントKPの座標にズレが生じる場合がある。特に、算出部123における籠車の位置検出精度を高めるために、検出する対象のキーポイントKPは籠車の四隅としているため、キーポイントKPの検出座標にズレが生じ、その結果として背景を検出する恐れがある。
本実施形態における算出部123は、検出部122が検出したキーポイントKPの座標だけではなく、その座標を利用し周辺領域における深度も算出する。そして、算出したキーポイントKPの位置座標に対応する深度以外の周辺領域の複数の深度と合わせて、当該キーポイントKPの位置座標に対応する最終的な深度と決定する。換言すれば、算出部123はキーポイントKPの位置座標の深度を、当該キーポイントKPの周辺領域の深度の全部または一部を選択的に組み合わせて決定する。選択的に組み合わせる例としては、複数ある測距点から短い距離を採用してもよいし、複数ある測距点を平均値・メディアン値を算出してもよいし、複数ある測距点から辺上に存在する領域の測距点を採用してもよい。また、繰り返し測距を行う場合には、前回の結果を考慮して測距点を採用してもよいし、複数算出した周辺領域の深度の変化点に基づいて算出してもよい。なお、周辺領域の深度の算出は、検出部122によりキーポイントKPの検出の際に出力される信頼度に基づいてもよい。
【0063】
算出部123は、まず、2個の車輪Wについて、車輪中心点から底面Bに対して垂直に伸ばした線分LSの長さ(pixel数)を求める。具体的には、算出部123は、底面Bに対してキーポイントKP5から垂直に伸ばした線分LS1の長さと、底面Bに対してキーポイントKP8から垂直に伸ばした線分LS2の長さとを求める。
算出部123は、線分LSの長さと、深度情報I2とに基づいて、2個の車輪Wにおける深度(depth)を求める。
【0064】
図10は、実施形態に係るキーポイントの深度の算出方法について説明するための図である。同図を参照しながら、深度の算出の詳細について説明する。
図10は、
図9における三次元直交座標系のうち、y-z平面についての位置関係を示す。”焦点距離:f”は、深度情報I2に基づいて得られる情報である。算出部123は、”焦点距離:f”に基づいて、深度(depth)を求める。
【0065】
算出部123は、対象物20の実際の大きさ(例えば、複数のキーポイントKP間の距離)を予め記憶しておき、底面Bに対して籠車の車輪中心点から垂直に伸ばした線分LSの長さ(pixel数)と、対象物20の実際の大きさから、深度(depth)を求める。
【0066】
次に、
図9に戻り、推定部124は、算出部123により算出されたキーポイントKPの深度に基づき、移動体10と対象物20との距離を算出する。具体的には、推定部124は、キーポイントKPを結ぶ線分の中点についての深度を算出する。より具体的には、推定部124は、2個の車輪における深度の平均を、中点における深度とする。
【0067】
図に示す一例においては、キーポイントKP5の深度とキーポイントKP8の深度との平均を、キーポイントKP5とキーポイントKP8とを結ぶ線分LS4の中点C1における深度とする。また、キーポイントKP1の深度とキーポイントKP4の深度との平均を、キーポイントKP1とキーポイントKP4とを結ぶ線分LS4の中点C2における深度とする。
推定部124は、中点C1及び中点C2の深度を用いて、実座標を求める。推定部124は、求めた実座標に基づき、画像I1を撮像した撮像部11から籠車までの距離を推定する。また、推定部124は、画像I1を撮像した撮像部11の方向を基準とする籠車が存在する位置の角度を推定してもよい。
中点C1は、籠車が有する複数の辺のうち、画像を撮像した撮像部11に最も近い辺である。すなわち、推定部124は、籠車が有する複数の辺のうち、画像を撮像した撮像部11に近い辺の中心点の座標と角度を推定する。
【0068】
また、推定部124は、2点のキーポイントKPの実座標に基づき、画像I1を撮像した撮像部11に対する籠車の傾き(角度θ)を推定する。具体的には、角度θは、下の式(1)により算出される。
【0069】
【0070】
より具体的には、2つのキーポイントKPの実座標を(x1、y1、z1)及び(x2、y2、z2)とし、y1<y2としたとき、x1とx2との差が所定の誤差εの範囲内であれば、角度θは90度とする。また、x1とx2との差が所定の誤差εの範囲より大きければ、角度θは90度とする。y2-y1をx2-x1で除した値のアークタンジェントにより、角度θを算出する。所定の誤差εとは、1[°]から3[°]程度であってもよい。
【0071】
なお、推定部124は、前回の測定結果等に基づいて、異常値の検出を行ってもよい。推定された結果が異常である場合には、再度撮像装置11により画像I1及び深度情報I2を取得することにより、正常な値が取得できるよう構成してもよい。
また、異常値が検出された際における対象物20と移動体10との距離と、正常値が検出された際における対象物20と移動体10との距離とに基づいて、撮像装置11が対象物20を撮像する位置P2を決定してもよい。
【0072】
図11は、実施形態に係る判定装置により算出されたキーポイントの一例を示す図である。
図9及び
図10を参照しながら行った説明においては、簡略化のため二次元の場合について説明した。しかしながら、撮像装置11が撮像する対象は3次元的であるため、検出部122は、8個のキーポイントKPすべてについて検出する。
【0073】
具体的には、検出部122は、底面Bを特定するためのキーポイントKPとしてキーポイントKP1からキーポイントKP4を検出し、車輪Wを特定するためのキーポイントKPとしてキーポイントKP5からキーポイントKP8を検出する。
【0074】
[移動体の一連の動作]
図12は、実施形態に係る移動体の一連の動作の一例について説明するための図である。同図を参照しながら、移動体10の一連の動作について説明する。
(ステップS110)移動体10は、地図情報に基づき、対象物20の近傍である位置P2へ移動する。
(ステップS120)移動体10は、位置P2において移動体周辺のカメラストリームを取得する。具体的には、カメラストリームとは、深度カメラのストリームであってもよい。換言すれば、移動体10は、撮像装置11により画像情報IIを取得する。画像情報IIは、画像I1及び深度情報I2を含む。
【0075】
(ステップS130)検出部122は、判定システム2により予め学習された学習済みモデルを用いて機械学習により、取得した画像I1から、キーポイントKPの位置座標を検出する。
(ステップS140)算出部123は、検出された位置座標についての情報と、深度情報I2とに基づき、キーポイントKPの位置座標における深度を算出する。
【0076】
(ステップS150)推定部124は、算出されたキーポイントKPの位置座標における深度に基づき、対象物20の姿勢を推定する。
(ステップS160)移動体制御装置13は、推定された対象物20の姿勢に基づいて、対象物20を目的位置まで移動させる。
【0077】
[移動体制御システムの変形例]
図13は、実施形態に係る移動体制御システムの変形例について説明するための図である。同図を参照しながら、移動体制御システム1の変形例である移動体制御システム1Aについて説明する。移動体制御システム1は、複数の移動体を制御する中央制御装置50を備える点において、移動体制御システム1とは異なる。移動体制御システム1Aの説明において、移動体制御システム1と同様の構成については、移動体制御システム1と同様の符号を付すことにより説明を省略する場合がある。
【0078】
中央制御装置50は、移動体10が有する判定装置12に相当する機能を有する。中央制御装置50は、所定の通信ネットワークNWを介して複数の移動体10Aと接続される。移動体10Aは、移動体10の変形例である。移動体10Aは、対象物20についての画像情報を、通信ネットワークNWを介して中央制御装置50に送信する。中央制御装置50は、取得した画像情報に基づき、対象物20の姿勢を推定し、推定した結果を移動体10Aに送信する。移動体10Aは、中央制御装置50から取得した対象物20の姿勢についての情報に基づき、対象物20を運搬する。
【0079】
すなわち、移動体制御システム1Aにおいては、移動体10が有する判定装置12に相当する機能を、移動体10ではなく中央制御装置50が行う点において、移動体制御システム1とは異なる。移動体制御システム1Aは、複数の移動体10Aに代えて、中央制御装置50が判定装置12に相当する機能を有することにより、移動体10Aのリソースを削減することができる。
【0080】
[実施形態のまとめ]
以上説明した実施形態によれば、判定装置12は、画像情報取得部121を備えることにより画像I1と深度情報I2とを含む画像情報IIを取得し、検出部122を備えることにより画像I1に撮像された対象物20のキーポイントKPの位置座標を検出し、算出部123を備えることによりキーポイントKPの深度を算出し、推定部124を備えることにより対象物20の姿勢を推定する。
すなわち、本実施形態によれば、キーポイントKPの位置を検出した後に、検出したキーポイントKPの位置に基づいて深度を算出する。換言すれば、画像I1から機械学習により直接的にキーポイントKPの深度を求めることなく、一旦キーポイントKPの位置を検出した後に、深度情報I2に基づいて深度を検出する。したがって、本実施形態によれば、対象物20の姿勢を精度よく検出することができる。
【0081】
また、以上説明した実施形態によれば、判定装置12は、推定部124は、画像I1を撮像した撮像部11に対する対象物20の傾きを、対象物20の姿勢として推定する。したがって、本実施形態によれば、判定装置12を備える移動体10は、自身に対する対象物20の角度を認識することができる。移動体10は、自身に対する対象物20の角度を認識することができるため、対象物20を把持等することにより、精度よく目的位置まで運搬することができる。
【0082】
また、以上説明した実施形態によれば、判定装置12は、対象物20である籠車が撮像された画像I1のうち、キーポイントKPとして、少なくとも1つの車輪Wの位置を検出する。したがって、本実施形態によれば、判定装置12は、籠車の姿勢を判定することができる。
【0083】
また、以上説明した実施形態によれば、判定装置12が姿勢を判定する籠車は、荷物を積載可能な底面Bと、4個の車輪Wとを備える。判定装置12は、検出部122により、底面Bを特定する4点と、4個の車輪Wの位置をそれぞれ特定する4点とをキーポイントKPとして検出する。したがって、本実施形態によれば、判定装置12は、籠車の姿勢を容易に判定することができる。
【0084】
また、以上説明した実施形態によれば、判定装置12は、推定部124を備えることにより、画像I1を撮像した撮像部11から籠車までの距離と、画像I1を撮像した撮像部11に対する籠車の傾きとを推定する。したがって、本実施形態によれば、判定装置12を備える移動体10は、自身と対象物20との間の距離と、自身に対する対象物20の角度を認識することができる。移動体10は、自身と対象物20との間の距離と、自身に対する対象物20の角度とを認識することができるため、対象物20を容易に把持等することにより、精度よく目的位置まで運搬することができる。
【0085】
また、以上説明した実施形態によれば、判定装置12において、検出部122は、学習済みモデルを備え、機械学習によりキーポイントKPを検出する。したがって、本実施形態によれば、2次元画像におけるキーポイントKPの検出は機械学習で行い、その後の3次元的な対象物20の姿勢の推定については、ソフトウェア処理により行う。したがって、本実施形態によれば、精度よく対象物20の姿勢を判定することができる。また、本実施形態によれば、学習に要する時間を短縮することができる。
【0086】
また、以上説明した実施形態によれば、判定システム2は、記憶装置30を備えることにより、対象物20が撮像された画像I1と、対象物20のキーポイントの位置座標とを記憶し、モデル生成手段31を備えることにより、記憶装置30に記憶された情報を教師データとしてとして用い学習済みモデルを生成する。したがって、本実施形態によれば、キーポイントKPの検出に要するモデルを学習させることができる。
【0087】
なお、上述した実施形態における移動体制御システム1が備える各部の機能の全体あるいはその機能の一部は、これらの機能を実現するためのプログラムをコンピュータにより読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0088】
また、「コンピュータにより読み取り可能な記録媒体」とは、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに、「コンピュータにより読み取り可能な記録媒体」とは、インターネット等のネットワークを介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0089】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0090】
1…移動体制御システム、10…移動体、11…撮像装置、12…判定装置、13…移動体制御装置、14…移動体駆動装置、20…対象物、121…画像情報取得部、122…検出部、123…算出部、124…推定部、2…判定システム、30…記憶装置、31…モデル生成手段、32…学習済みモデル、50…中央制御装置、I1…画像、I2…深度情報、I3…位置座標情報、I4…キーポイント深度情報、II…画像情報、JI…判定情報、CI…制御情報、DI…検出情報、KDI…キーポイント深度情報、W…車輪、B…底面、KP…キーポイント