(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
〔実施形態1〕
(実施形態1における処理の概要)
実施形態1のフォークリフト制御装置1による処理の概要を
図2に基づいて説明する。
図2は、フォークリフト制御装置1による処理の概要について説明するための図である。フォークリフト制御装置1は、フォークリフト3のフォーク30を、パレット800のフォークポケットFPに容易に位置合わせするための情報処理装置の一例である。
【0012】
図2の例では、パレット800上に載置された積荷900(荷役対象物)を運搬するために、運転者Mがフォークリフト3を運転している。パレット800は、所定の高さの架台上に載置されている。
図2の(a)には、フォーク30がフォークポケットFPに位置合わせされる前の状態が示されている。これに対し、
図2の(b)には、フォーク30がフォークポケットFPに位置合わせされた後の状態が示されている。なお、
図2の紙面において、縦方向は高さ方向(上下方向、鉛直方向)を、横方向は水平方向をそれぞれ表す。この点については、後述の
図5も同様である。
【0013】
フォークリフト3は、前面にフォーク30を備える。一例として、フォーク30は、水平方向前方に突出する一組の爪部31a・31bを有する。爪部31aと31bはフォークリフト3の幅方向に隣接して、平行に設けられている(後述の
図5も参照)。パレット800の前面(フォークリフト3の前面と相対する面)には、爪部31a・31bにそれぞれ対応するように、水平方向に隣接する一組のフォークポケットFPa・FPbが設けられている。なお、フォークポケットFPa・FPbを区別する必要のないときには、単にフォークポケットFPと記載する。
【0014】
撮影装置4は、フォークポケットFPの検出に用いる画像(以下、IMG1)を撮影する装置である。つまり、フォークリフト制御装置1は、撮影装置4が撮影したIMG1からフォークポケットFPを検出する。なお、実施形態1では、IMG1が静止画像である場合を例示するが、該IMG1は動画像であってもよい。
【0015】
図2の例では、撮影装置4は、フォーク30の基部であって、爪部31a・31bの中間の位置に取り付けられている。つまり、撮影装置4は爪部31a・31bと同じ高さに取り付けられている。また、撮影装置4は、撮影方向が水平方向(フォーク30の延在方向に沿った方向)となるように取り付けられている。
【0016】
なお、撮影装置4はフォークポケットFPが撮影できる位置に取り付ければよく、図示の例に限られない。ただし、フォーク30の基部のようにフォーク30の昇降に合わせて昇降する位置に撮影装置4を設置することにより、フォークポケットFPを正面あるいは正面に近い方向から撮影することができるので、このような位置に撮影装置4を設置することが好ましい。
【0017】
また、
図2の(a)には、撮影装置4が撮影したIMG1の例についても併せて図示している。このIMG1には、積荷900が載置されたパレット800が写っていると共に、パレット800のフォークポケットFPが写っている。なお、
図2の(a)のIMG1の例では、フォーク30の図示を省略しているが、
図2のような配置の撮影装置4で撮影した場合、IMG1にはフォーク30(爪部31a・31b)も写る。
【0018】
図2の(a)に示されるように、フォークリフト制御装置1は、撮影装置4からIMG1を取得する。そして、フォークリフト制御装置1は、IMG1からフォークポケットFPを検出する(より正確には、IMG1の画像領域から、フォークポケットFPの像が写っている領域を検出する)。この検出には、後述する学習済みモデルが使用される。
【0019】
図2の(a)の例では、高さ方向において、フォーク30および撮影装置4は、フォークポケットFPよりも高い位置にあるから、撮影されたIMG1の画像領域の中心よりも下方の領域にフォークポケットFPが検出される。このように、フォーク30とフォークポケットFPの位置関係に応じて、IMG1の何れの位置にフォークポケットFPが検出されるかが決まる。よって、フォークリフト制御装置1は、IMG1の画像領域におけるフォークポケットFPが検出された位置から、フォーク30とフォークポケットFPの位置関係(どちらがどの程度高い位置にあるか)を特定することができる。
【0020】
そして、
図2の(b)に示されるように、フォークリフト制御装置1は、フォークリフト3の動作を制御して、フォークポケットFPに対してフォーク30を位置合わせさせる。具体的には、本実施形態のフォークリフト制御装置1は、上記所定の処理として、フォーク30(爪部31a・31b)をフォークポケットFP(フォークポケットFPa・FPb)に挿入可能な位置に移動させる処理を実行する。
図2の(b)の例では、フォーク30の高さ方向の位置が
図2の(a)の場合に比べて低くなるように、該高さ方向の位置が変更(調整)される。
【0021】
このように、フォークリフト制御装置1によれば、フォーク30をフォークポケットFPに自動で位置合わせすることができる。また、フォークリフト制御装置1によるフォークポケットFPの検出は、ソフトウェアを用いた情報処理によって実現することができる。つまり、フォークリフト制御装置1によるフォーク30の位置合わせにおいては、従来技術(例:特許文献1の技術)のように、目印用のレーザ光を照射する照射装置を必要としないという利点がある。
【0022】
なお、
図2では、1つ(1台)のフォークリフト制御装置1が1台のフォークリフト3を制御している場合を例示しているが、1つのフォークリフト制御装置1が複数のフォークリフト3を制御することもできる。この場合、フォークリフト制御装置1は、各フォークリフト3の荷役作業の対象となるパレット800のフォークポケットFPが写った画像を取得すればよい。また、フォークリフト制御装置1の配置も特に限定されず、例えばフォークリフト制御装置1をフォークリフト3に搭載あるいは内蔵してもよい。これらの点については、後述の実施形態2の位置合わせ補助装置2(情報処理装置)についても同様である。
【0023】
(フォークリフト制御装置1の要部構成)
フォークリフト制御装置1の要部構成について
図1に基づいて説明する。
図1は、フォークリフト制御装置1の要部構成の一例を示すブロック図である。
図1に示されるように、フォークリフト制御装置1は、フォークリフト制御装置1の各部を統括して制御する制御部10と、フォークリフト制御装置1が使用する各種データを記憶する記憶部20を備えている。制御部10には、撮影制御部101、入力データ生成部102、検出部103、およびフォークリフト制御部104が含まれている。
【0024】
フォークリフト制御部104は、フォークリフト3を制御する。実施形態1では、フォークリフト制御部104が、フォークリフト3のフォーク30をフォークポケットFPに位置合わせするための所定の処理を実行する処理実行部としての役割を担う。
【0025】
撮影制御部101は、撮影装置4を制御して上述のIMG1の撮影を行わせる。より詳細には、撮影制御部101は、フォーク30の位置合わせが開始されたことを検出し、この検出を契機として撮影装置4にIMG1の撮影を行わせる。本実施形態では、運転者Mがフォーク30の昇降操作を行ったことが検出されたときに、フォーク30の位置合わせが開始されたとみなして撮影を行わせる例を説明する。フォーク30の昇降操作が行われたことは、例えばフォークリフト3と通信する等により検出することができる。
【0026】
なお、
図2の例のように、フォーク30の昇降に伴って撮影装置4の位置が変わる場合には、撮影制御部101は、昇降開始から終了までの期間において、撮影装置4に複数回撮影を行わせてもよい。この場合、フォークリフト制御装置1は、時系列で撮影された複数のIMG1からフォークポケットFPの検出を試みることになる。また、撮影制御部101は、複数回撮影を行う代わりに、撮影装置4に昇降開始から終了までの動画像を撮影させて、その動画像から抽出したフレーム画像をIMG1としてもよい。
【0027】
無論、撮影の契機は上記の例に限定されず、例えば、撮影制御部101は、荷役作業時に行われることの多いフォーク30のティルト操作が検出されたときに撮影を行わせてもよい。また、例えば、撮影制御部101は、フォークリフト3が低速で前進および後退を行いながら、進行方向の微調整を行っている等の荷役作業の開始時に特有の態様でフォークリフト3が運転されていることを検出したときに撮影を行わせてもよい。
【0028】
以上の各例のように、適切なタイミングで撮影を行わせることにより、撮影装置4の撮影回数や撮影時間を必要最小限に抑えることができる。そして、これにより、撮影されたIMG1を用いたフォークリフト制御装置1の処理回数や処理時間も必要最小限に抑えることができるので、フォークリフト制御装置1の負荷を抑えた効率的な処理が実現される。
【0029】
(入力データ生成部102と入力データについて)
入力データ生成部102は、検出部103が使用する学習済みモデルに入力する入力データを生成する。より詳細には、入力データ生成部102は、撮影装置4からIMG1を取得して、IMG1から入力データを生成する。本実施形態では、撮影装置4から取得したIMG1をそのまま入力データとする例を説明する。
【0030】
IMG1は、上記学習済みモデルの生成に用いた教師データの画像と同様の撮影条件で撮影した画像であることが好ましい。上記撮影条件には、例えば、撮影装置4と、被写体(特にパレット800およびフォークポケットFP)との位置関係、被写体の背景、および周囲の明るさ等が含まれる。撮影条件を揃えるため、例えば、教師データに用いた画像が、フォークの基部に固定した撮影装置で撮影された画像であれば、IMG1も
図2の例のようにフォーク30の基部に固定した撮影装置4で撮影されたものとすることが好ましい。
【0031】
なお、入力データはフォークポケットFPの特徴が表れたデータ(IMG1にフォークポケットFPが写っている場合に限る)であればよく、必ずしもIMG1をそのまま入力データとする必要はない。例えば、入力データ生成部102は、IMG1に対して所定の処理を施した画像を、入力データとして検出部103に供給してもよい。上記所定の処理は、フォークポケットFPの特徴を失わせることなく、該特徴と関係のない情報を減らすことができるものであればよい。例えば、IMG1がカラー画像である場合、入力データ生成部102は、該IMG1をグレースケール化したデータを、入力データとして検出部103に供給してもよい。あるいは、IMG1が動画像である場合、入力データ生成部102は、該IMG1を構成する一部のフレームを抽出し、該一部のフレームを入力データとして検出部103に供給してもよい。
【0032】
さらに、入力データ生成部102は、例えばIMG1に写る被写体の中から所定の被写体(例えばパレット800)を検出し、検出した被写体が写る領域のみから入力データを生成してもよい。これにより、被写体の背景の影響を排除することができるので、検出部103における検出精度を高めることができる。なお、所定の被写体の検出には、例えばCNN(Convolutional Neural Network)等の学習済みモデルを用いることができる。
【0033】
ただし、入力データ生成部102は、入力データとして、教師データと同じ形式のデータを生成する必要がある。例えば、教師データが静止画像であれば、入力データ生成部102も入力データとして静止画像を生成する必要がある。
【0034】
(検出部と学習済みモデルについて)
検出部103は、機械学習により生成された学習済みモデルを用いて、IMG1からフォークポケットFPを検出する。この学習済みモデルの生成には、例えば、フォークポケットが写った画像から上記の入力データと同様にして生成した入力データと、該画像におけるフォークポケットが写っている領域を示す正解データとを対応付けた教師データを用いることができる。
【0035】
教師データが静止画像である場合、学習済みモデルとしては、例えば当該教師データを用いて機械学習したCNNを用いることができる。一方、教師データが動画像である場合、学習済みモデルとしては、例えば、CNNとRNN(Recurrent Neural Network)、あるいはCNNとLSTM(Long Short-Term Memory)を組み合わせた学習済みモデルを用いることが好ましい。RNNおよびLSTM等の時系列データの扱いに適したモデルと、画像認識性能の高いCNNとを組み合わせることにより、信頼性の高い出力データを得ることができる。
【0036】
(学習済みモデルの出力データと検出部103の処理について)
以上のようにして生成された学習済みモデルに対し、入力データ生成部102がIMG1から生成した入力データを入力すると、学習済みモデルはIMG1においてフォークポケットFPが写っている可能性のある領域を示す出力データを出力する。また、学習済みモデルは、上記可能性の高さを示す確率値についても出力する。検出部103は、これらの出力データに基づいて、フォークポケットFPが写っている領域を検出する。例えば、検出部103は、フォークポケットFPが写っている可能性が閾値以上である領域を、IMG1におけるフォークポケットFPが写っている領域として検出してもよい。
【0037】
(処理の流れ)
フォークリフト制御装置1が実行する処理の流れを
図3に基づいて説明する。
図3は、フォークリフト制御装置1が実行する処理(情報処理方法)の一例を示すフローチャートである。
【0038】
S1では、撮影制御部101は、フォークリフト3とフォークポケットFPとの位置合わせが開始されたか否かを判定する。該位置合わせが開始されたと判定された場合(S1でYES)、S2に進む。他方、該位置合わせが開始されていないと判定された場合(S1でNO)、S1に戻り、同様の処理を繰り返す。
【0039】
S2では、撮影制御部101は、撮影装置4にIMG1を撮影させる。そして、入力データ生成部102は、撮影装置4からIMG1を取得し、入力データを生成する。実施形態1では、上述の通り、入力データ生成部102は、IMG1をそのまま入力データとして用いる。
【0040】
S3(検出ステップ)では、検出部103は、学習済みモデルを用いて、入力データであるIMG1から、フォークポケットFPを検出する。
【0041】
S4(処理実行ステップ)では、フォークリフト制御部104は、検出部103の検出結果に応じて、フォーク30を位置合わせするための所定の処理を実行する。実施形態1では、IMG1から検出されたフォークポケットFPに対し、フォーク30の位置合わせを行う(上述の
図2の(b)を参照)。
【0042】
上述のように、IMG1の画像領域におけるフォークポケットFPが検出された位置から、フォーク30とフォークポケットFPの位置関係(どちらがどの程度高い位置にあるか)を特定することができる。このため、フォークポケットFPの検出位置と、フォーク30の制御量(何れの方向にどれだけフォーク30を動かすか)との対応関係を予め定式化しておくことにより、フォークリフト制御部104に自動でフォーク30の位置合わせを行わせることができる。
【0043】
(実施形態1のまとめ)
以上のように、検出部103は、パレットと該パレットのフォークポケットとが写った画像を教師データとした機械学習により生成された学習済みモデルを用いて、IMG1からフォークポケットFPを検出する。そして、フォークリフト制御部104は、検出部103が検出したフォークポケットFPに、フォーク30を位置合わせするための所定の処理を実行する。それゆえ、フォークリフト制御装置1によれば、上述の通り、レーザ光の照射装置を用いなくとも、フォーク30をフォークポケットFPに容易に位置合わせすることができる。
【0044】
より具体的には、実施形態1では、フォークリフト制御部104は、フォーク30をフォークポケットFPに挿入可能な位置に移動させる。つまり、実施形態1では、上記所定の処理は、フォーク30をフォークポケットFPに挿入可能な位置に移動させる処理である。該処理によれば、運転者Mの操作によらず、フォーク30をフォークポケットFPに位置合わせできる。すなわち、フォーク挿入操作を自動的に行うことができる。従って、運転者Mの操作の負担を、特に効果的に低減できる。
【0045】
なお、フォークリフト3は、運転手Mの操作によらず、自動で荷役作業を行うことができるものであってもよい。この場合、フォークリフト制御部104は、フォーク30をフォークポケットFPに挿入可能な位置に移動させた後、フォークを挿し込んで積荷を持ち上げ、搬送する処理までフォークリフト3に行わせてもよい。ただし、フォークリフト3に運転手Mが搭乗している場合、本実施形態のように、フォーク30の位置合わせ(垂直方向の位置合わせ)は自動で行い、フォーク30の挿し込みやフォークリフト3の水平方向への移動は、運転手Mに行わせることが好ましい。このような構成とすれば、仮にフォークポケットFPの検出結果が誤っていた場合であっても、フォーク30を積荷に接触させる等の事態を発生させることがないためである。
【0046】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態1にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0047】
図4は、実施形態2の位置合わせ補助装置2の要部構成の一例を示すブロック図である。位置合わせ補助装置2は、フォーク30をフォークポケットFPに容易に位置合わせするための情報処理装置の別の例である。
図4に示されるように、位置合わせ補助装置2では、実施形態1のフォークリフト制御装置1のフォークリフト制御部104が、位置合わせ補助部204に置き換えられている。実施形態2の位置合わせ補助部204は、処理実行部の別の例である。
【0048】
また、位置合わせ補助装置2は、位置合わせ補助装置2が情報を出力するための出力部25を備えている。以下では、出力部25が情報を表示出力する表示装置である例を説明する。但し、後述するように、出力部25は、位置合わせを補助するための情報を出力できるものであればよく、表示装置に限定されない。
【0049】
位置合わせ補助部204は、フォーク30をフォークポケットFPに挿入可能な位置に移動させる操作を行うように運転者Mをガイド(案内)する処理を行う。実施形態2の例では、位置合わせ補助部204は、運転者Mをガイドするためのガイド画像(以下、IMG2)を生成する。そして、位置合わせ補助部204は、出力部25を制御してIMG2を表示させる。このように、位置合わせ補助部204は、IMG2を用いて、フォーク30をフォークポケットFPに挿入可能な位置に移動させるように運転者Mを視覚的にガイドする。
【0050】
(ガイド画像について)
図5は、ガイド画像の例を示す図である。
図5の(a)は、運転者Mによるフォーク30の位置合わせ開始時におけるIMG2を示す。
図5の(b)は、運転者Mによるフォーク30の位置合わせ終了時におけるIMG2を示す。ここでは、
図2のように配置された撮影装置4にてパレット800等を撮影したIMG1が動画像であり、IMG2がIMG1に情報を重畳することにより生成した、いわゆるAR(Augmented Reality)画像である例を説明する。なお、
図5では説明を分かりやすくするため、爪部31a・31b等の写り方について、
図2のように配置された撮影装置4で実際に撮影した画像とは異なる態様で示している。
【0051】
図5の(a)に示すガイド画像を表示させる場合、位置合わせ補助部204は、検出部103の検出結果に基づいて、IMG1に重畳させる各種情報の重畳位置および表示態様を決定する。
図5の例では、位置合わせ補助部204は、下記(1)(2)の情報をIMG1の画像領域における何れの位置に重畳させるかを決定する。
(1)フォーク30の爪部31a・31bの位置を示す情報(具体的には、
図5の点PT1、線分LV1、および線分LH1)。
(2)フォークポケットFPa・FPbの位置を示す情報(具体的には、
図5の点PT2、線分LV2、および線分LH2)。
【0052】
上記の点PT1は、爪部31a・31bの中間位置(爪部31a・31bから等距離の位置)を示すものである。例えば、
図2のように爪部31a・31bの中間位置に設置した撮影装置4からフォーク30の正面方向を撮影して得られたIMG1であれば、位置合わせ補助部204は、IMG1の画像平面における中心位置を点PT1の重畳位置と決定する。また、位置合わせ補助部204は、点PT1を通るように、垂直方向に延在する線分LV1と、水平方向に延在する線分LH1の重畳位置を決定する。なお、撮影装置4の設置位置や撮影方向が上記と異なる場合には、その設置位置や撮影方向等に基づいて点PT1等の位置を算出すればよい。
【0053】
また、上記の点PT2は、フォークポケットFPa・FPbの中間位置(フォークポケットFPa・FPbから等距離の位置)を示すものである。位置合わせ補助部204は、検出部103が検出したフォークポケットFPa・FPbの中間位置を点PT2の重畳位置と決定する。また、位置合わせ補助部204は、点PT2を通るように、垂直方向に延在する線分LV2と、水平方向に延在する線分LH2の重畳位置を決定する。
【0054】
さらに、位置合わせ補助部204は、下記の情報の情報位置と表示態様を決定する。
(3)フォーク30の垂直方向の移動量を示す情報(具体的には、
図5の矢印GV)。
(4)フォーク30の水平方向の移動量を示す情報(具体的には、
図5の矢印GH)。
【0055】
具体的には、位置合わせ補助部204は、矢印GHを、線分LV1から線分LV2まで水平方向に延びる矢印とすることを決定する。言い換えれば、位置合わせ補助部204は、始点が線分LV1上となり終点が線分LV2上となる矢印GHを線分LV1と線分LV2との間に重畳することを決定する。同様に、位置合わせ補助部204は、始点が線分LH1上となり終点が線分LH2上となる矢印GVを線分LH1と線分LH2との間に重畳することを決定する。そして、位置合わせ補助部204は、上記決定した各種情報をIMG1に重畳して表示するように出力部25を制御し、これにより
図5に示すようなIMG2が出力部25に表示される。
【0056】
図5の例のように線分LV1・LV2を表示させることにより、フォーク30とフォークポケットFPとが水平方向にどの程度ずれているかを運転者Mに容易に認識させることができる。また、矢印GHの向きはフォーク30を移動させるべき向きを示しており、矢印GHの長さはフォーク30を移動させるべき移動量を示している。このため、矢印GHを表示させることにより、フォーク30を水平方向の何れの向きにどの程度動かすべきかを運転者Mに容易に認識させることができる。同様に、線分LH1・LH2を表示させることにより、フォーク30とフォークポケットFPとが垂直方向にどの程度ずれているかを運転者Mに容易に認識させることができる。そして、矢印GVを表示させることにより、フォーク30を垂直方向の何れの向きにどの程度動かすべきかを運転者Mに容易に認識させることができる。なお、必ずしもこれらの全ての情報を表示させる必要はない。また、表示させる各情報は、運転者Mによるフォーク30の位置合わせの補助となるものであればよく、図示の例に限定されない。
【0057】
位置合わせ補助部204は、上記の各情報のうち、点PT2、線分LV2、線分LH2、矢印GV、および矢印GHについては、周期的に、あるいはフォーク30の移動に応じて表示位置等を更新する。これにより、フォーク30を何れの向きにあとどの程度動かすべきかを運転者Mに容易に認識させることができる。
【0058】
また、位置合わせ補助部204は、フォーク30の移動によって位置合わせが完了したときには、そのことを運転者Mが認識できるような表示を行ってもよい。例えば、水平方向の位置合わせが完了したときには、位置合わせ補助部204は、水平方向の位置合わせを補助するための情報(線分LV2、矢印GH)の表示を終了してもよい。同様に、位置合わせ補助部204は、垂直方向の位置合わせが完了したときには、垂直方向の位置合わせを補助するための情報(線分LH2、矢印GV)の表示を終了してもよい。そして、水平方向および垂直方向の位置合わせが何れも完了したときには、位置合わせ補助部204は、
図5の(b)に示すように、点PT2の表示も終了してもよい。無論、位置合わせの完了を運転者Mに報知する方法はこの例に限られず、例えば、位置合わせ補助部204は、位置合わせが完了したことを示す音声や文字を出力することによって報知してもよい。
【0059】
なお、位置合わせの完了を判定する方法は特に限定されない。例えば、位置合わせ補助部204は、線分LV1とLV2の距離が閾値以下となったとき、つまり矢印GHの長さが閾値以下となったときに、水平方向の位置合わせが完了したと判定してもよい。同様に、位置合わせ補助部204は、線分LH1とLH2の距離が閾値以下となったとき、つまり矢印GVの長さが閾値以下となったときに、垂直方向の位置合わせが完了したと判定してもよい。
【0060】
(実施形態2のまとめ)
以上のように、実施形態2では、位置合わせ補助部204は、フォーク30をフォークポケットFPに挿入可能な位置に移動させる操作を行うように運転者Mをガイドする。つまり、実施形態2では、フォークポケットFPにフォーク30を位置合わせするための所定の処理は、フォーク30をフォークポケットFPに挿入可能な位置に移動させる操作を行うように運転者Mをガイドする処理である。該処理によれば、運転者Mは、該ガイドに従って、フォークポケットFPにフォーク30を容易に位置合わせすることができる。
【0061】
なお、位置合わせ補助部204によって提供されるガイドの態様は、視覚的なガイドのみに限定されない。位置合わせ補助部204は、運転者Mが認識可能である限り、任意の態様によるガイドを行ってよい。一例として、位置合わせ補助部204は、聴覚的に運転者Mをガイドしてもよい。例えば、出力部25が音声を出力可能な音声出力装置(例:スピーカ)である場合、位置合わせ補助部204は、フォーク30を動かすべき方向や動かすべき距離等を示す音声によって運転者Mをガイドしてもよい。また、位置合わせ補助部204は、音声と画像(IMG2)との両方を組み合わせて、運転者Mをガイドしてもよい。
【0062】
また、上記では位置合わせ補助装置2が備えている出力部25にガイド用の情報を出力させる例を説明したが、該情報を出力させる対象となる装置は任意である。例えば、フォークリフト3が表示装置を備えている場合には、該表示装置にガイド用の情報を出力させてもよい。また、運転者Mが所持する装置(例えば、眼鏡型等のウェアラブルデバイスであってもよいし、携帯電話機やタブレット端末等)にガイド用の情報を出力させてもよい。
【0063】
〔フォークポケットの検出の変形例〕
上記各実施形態の検出部103は、学習済みモデルの出力データに加えて、フォークポケットFPの外観的特徴についても考慮してフォークポケットFPを検出してもよい。例えば、フォークポケットFPは、
図2のIMG1の例で示したように、(1)水平方向に並んだ2つの孔部(FPaとFPb)で構成されている。また、(2)各孔部の形状は長方形状である。さらに、(3)フォークポケットFPはIMG1においてパレット800の内側に位置する。
【0064】
よって、これらの外観的特徴の少なくとも1つを、フォークポケットFPを検出する条件としてもよい。つまり、検出部103は、学習済みモデルの出力データに基づいて検出した、フォークポケットFPが写る領域が、上記の外観的特徴を有しているか判定する。例えば、上記(1)の外観的特徴を利用する場合、検出部103は、フォークポケットFPが写る領域が水平方向に2つ並んでいれば上記(1)の外観的特徴を有していると判定し、それらの領域を、フォークポケットFPが写る領域として検出する。また、上記(3)の外観的特徴を利用する場合、検出部103は、機械学習済みのCNN等を用いてIMG1からパレット800の写る領域を検出し、該領域内にフォークポケットFPが写っているか否かを判定すればよい。
【0065】
以上のように、検出部103は、学習済みモデルの出力データに基づいて検出した、フォークポケットFPが写る領域が、所定の外観的特徴を有しているか判定し、有している場合に当該領域をフォークポケットFPが写る領域として検出してもよい。これにより、IMG1におけるフォークポケットFPではない領域を、フォークポケットFPが写った領域であると誤検出する可能性を低減し、フォークポケットFPの検出精度を向上させることができる。
【0066】
〔分散処理について〕
上記各実施形態で説明した情報処理装置(フォークリフト制御装置1および位置合わせ補助装置2)の実行する処理の一部は、該情報処理装置と通信接続された1または複数の装置に実行させてもよい。例えば、検出部103の実行する処理の一部を、情報処理装置と通信接続されたAIサーバに実行させてもよい。この場合、例えば、情報処理装置は、入力データをAIサーバに送信し、該AIサーバから出力データを受信してフォークポケットFPを検出する。
【0067】
〔ソフトウェアによる実現例〕
フォークリフト制御装置1および位置合わせ補助装置2の制御ブロック(特に制御部10に含まれる各部)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0068】
後者の場合、フォークリフト制御装置1および位置合わせ補助装置2は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0069】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。