(57)【要約】【課題】画像認識によって建設機械の操作支援をする場合の手間を省く。【解決手段】建設機械制御システム（Ｓ）の撮影手段（２０）は、建設機械によって運ばれる荷を撮影し、撮影画像を生成する。学習器（Ｌ）は、荷の３次元モデルを種々の条件でレンダリングした仮想画像によって３次元モデルの特徴が学習されている。検出手段（１０３）は、学習器（Ｌ）に基づいて、撮影画像から前記荷を検出する。制御手段（１０４）は、検出手段（１０３）の検出結果に基づいて、建設機械を制御する。【選択図】図３
2020037475.tif 000002
【特許請求の範囲】
【請求項１】
建設機械によって運ばれる荷を撮影し、撮影画像を生成する撮影手段と、
前記荷の３次元モデルを種々の条件でレンダリングした仮想画像によって前記３次元モデルの特徴が学習された学習器と、
前記学習器に基づいて、前記撮影画像から前記荷を検出する検出手段と、
前記検出手段の検出結果に基づいて、前記建設機械を制御する制御手段と、
を含むことを特徴とする建設機械制御システム。
【請求項２】
前記建設機械制御システムは、予め定められた複数のレンダリング条件に基づいて、前記３次元モデルを示す複数の仮想画像を取得し、各仮想画像における前記３次元モデルの特徴を前記学習器に学習させる学習手段、
を更に含むことを特徴とする請求項１に記載の建設機械制御システム。
【請求項３】
前記学習器には、前記３次元モデルの角の特徴が学習されており、
前記検出手段は、前記学習器に基づいて、前記撮影画像から前記荷の角を検出し、
前記制御手段は、前記検出手段により検出された前記荷の角に基づいて、前記建設機械を制御する、
ことを特徴とする請求項１又は２に記載の建設機械制御システム。
【請求項４】
前記検出手段は、前記学習器に基づいて、前記撮影画像から検出された前記荷の位置を示す３次元座標を取得し、
前記制御手段は、前記検出手段により取得された３次元座標に基づいて、前記建設機械を制御する、
を含むことを特徴とする請求項１〜３の何れかに記載の建設機械制御システム。
【請求項５】
前記荷の位置を示す３次元座標は、視点座標系における座標であり、
前記制御手段は、所定の変換行列に基づいて、前記検出手段により取得された前記視点座標系における３次元座標を、前記建設機械を基準とした座標系の３次元座標に変換し、前記建設機械を制御する、
ことを特徴とする請求項４に記載の建設機械制御システム。
【請求項６】
前記検出手段は、前記学習器に基づいて、前記撮影画像から検出した前記荷の位置及び向きの少なくとも一方を取得し、
前記制御手段は、前記検出手段により取得された前記荷の位置及び向きの少なくとも一方に基づいて、前記建設機械を制御する、
を含むことを特徴とする請求項１〜５の何れかに記載の建設機械制御システム。
【請求項７】
前記建設機械は、複数種類の荷の各々を運搬可能であり、
前記学習器は、前記荷の種類ごとに用意されており、
前記建設機械制御システムは、運搬中の前記荷の種類を取得する種類取得手段を更に含み、
前記検出手段は、前記荷の種類ごとに用意された学習器のうち、前記種類取得手段により取得された種類の学習器に基づいて、前記撮影画像から前記荷を検出する、
ことを特徴とする請求項１〜６の何れかに記載の建設機械制御システム。
【請求項８】
前記建設機械は、複数種類の荷の各々を運搬可能であり、
前記学習器には、前記複数種類の各々の荷の特徴が学習されており、
前記検出手段は、前記撮影画像から前記複数種類の何れかの荷を検出し、
前記制御手段は、前記検出手段により検出された荷の種類に基づいて、前記建設機械を制御する、
ことを特徴とする請求項１〜６の何れかに記載の建設機械制御システム。
【請求項９】
建設機械によって運ばれる荷を撮影し、撮影画像を生成する撮影ステップと、
前記荷の３次元モデルを種々の条件でレンダリングした仮想画像によって前記３次元モデルの特徴が学習された学習器に基づいて、前記撮影画像から前記荷を検出する検出ステップと、
前記検出ステップの検出結果に基づいて、前記建設機械を制御する制御ステップと、
を含むことを特徴とする建設機械制御方法。
【請求項１０】
建設機械によって運ばれる荷を撮影し、撮影画像を生成する撮影手段、
前記荷の３次元モデルを種々の条件でレンダリングした仮想画像によって前記３次元モデルの特徴が学習された学習器に基づいて、前記撮影画像から前記荷を検出する検出手段、
前記検出手段の検出結果に基づいて、前記建設機械を制御する制御手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設機械制御システム、建設機械制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、所定の位置に荷を運ぶ建設機械の操作を支援する技術が検討されている。例えば、特許文献１には、建設機械の一例であるクレーンを所定の姿勢にする操作を行う際に、オペレータに対して操作手順を指示する操作支援方法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５３９８９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような技術では、荷の現在の位置や向きに応じた操作支援をすることが重要である。しかしながら、特許文献１の技術では、オペレータに対して操作手順を指示するだけなので、オペレータは、目視で荷の位置や向きを確認してクレーンを操作しなければならない。この点、運搬中の荷をカメラで撮影し、画像認識を利用して荷の位置や向きを検出することも考えられるが、荷の写り方は、撮影方向や光の当たり具合等によって異なる。このため、画像認識を利用しようとすると、多数の写真を用意する必要があり非常に手間がかかってしまう。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、画像認識によって建設機械の操作支援をする場合の手間を省くことである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一態様に係る建設機械制御システムは、建設機械によって運ばれる荷を撮影し、撮影画像を生成する撮影手段と、前記荷の３次元モデルを種々の条件でレンダリングした仮想画像によって前記３次元モデルの特徴が学習された学習器と、前記学習器に基づいて、前記撮影画像から前記荷を検出する検出手段と、前記検出手段の検出結果に基づいて、前記建設機械を制御する制御手段と、を含むことを特徴とする。
【０００７】
本発明の一態様に係る建設機械制御方法は、建設機械によって運ばれる荷を撮影し、撮影画像を生成する撮影ステップと、前記荷の３次元モデルを種々の条件でレンダリングした仮想画像によって前記３次元モデルの特徴が学習された学習器に基づいて、前記撮影画像から前記荷を検出する検出ステップと、前記検出ステップの検出結果に基づいて、前記建設機械を制御する制御ステップと、を含むことを特徴とする。
【０００８】
本発明の一態様に係るプログラムは、建設機械によって運ばれる荷を撮影し、撮影画像を生成する撮影手段、前記荷の３次元モデルを種々の条件でレンダリングした仮想画像によって前記３次元モデルの特徴が学習された学習器に基づいて、前記撮影画像から前記荷を検出する検出手段、前記検出手段の検出結果に基づいて、前記建設機械を制御する制御手段、としてコンピュータを機能させる。
【０００９】
また、本発明の一態様では、前記建設機械制御システムは、予め定められた複数のレンダリング条件に基づいて、前記３次元モデルを示す複数の仮想画像を取得し、各仮想画像における前記３次元モデルの特徴を前記学習器に学習させる学習手段、を更に含むことを特徴とする。
【００１０】
また、本発明の一態様では、前記学習器には、前記３次元モデルの角の特徴が学習されており、前記検出手段は、前記学習器に基づいて、前記撮影画像から前記荷の角を検出し、前記制御手段は、前記検出手段により検出された前記荷の角に基づいて、前記建設機械を制御する、ことを特徴とする。
【００１１】
また、本発明の一態様では、前記検出手段は、前記学習器に基づいて、前記撮影画像から検出された前記荷の位置を示す３次元座標を取得し、前記制御手段は、前記検出手段により取得された３次元座標に基づいて、前記建設機械を制御する、を含むことを特徴とする。
【００１２】
また、本発明の一態様では、前記荷の位置を示す３次元座標は、視点座標系における座標であり、前記制御手段は、所定の変換行列に基づいて、前記検出手段により取得された前記視点座標系における３次元座標を、前記建設機械を基準とした座標系の３次元座標に変換し、前記建設機械を制御する、ことを特徴とする。
【００１３】
また、本発明の一態様では、前記検出手段は、前記学習器に基づいて、前記撮影画像から検出した前記荷の位置及び向きの少なくとも一方を取得し、前記制御手段は、前記検出手段により取得された前記荷の位置及び向きの少なくとも一方に基づいて、前記建設機械を制御する、を含むことを特徴とする。
【００１４】
また、本発明の一態様では、前記建設機械は、複数種類の荷の各々を運搬可能であり、前記学習器は、前記荷の種類ごとに用意されており、前記建設機械制御システムは、運搬中の前記荷の種類を取得する種類取得手段を更に含み、前記検出手段は、前記荷の種類ごとに用意された学習器のうち、前記種類取得手段により取得された種類の学習器に基づいて、前記撮影画像から前記荷を検出する、ことを特徴とする。
【００１５】
また、本発明の一態様では、前記建設機械は、複数種類の荷の各々を運搬可能であり、前記学習器には、前記複数種類の各々の荷の特徴が学習されており、前記検出手段は、前記撮影画像から前記複数種類の何れかの荷を検出し、前記制御手段は、前記検出手段により検出された荷の種類に基づいて、前記建設機械を制御する、ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、画像認識によって建設機械の操作支援をする場合の手間を省くことができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係る建設機械制御システムが建設現場で利用される様子を示す図である。
【図２】制御装置のハードウェア構成を示す図である。
【図３】建設機械制御システムで実現される機能の一例を示す機能ブロック図である。
【図４】荷の３次元モデルの一例を示す図である。
【図５】仮想画像から学習データを生成する処理を示す図である。
【図６】撮影画像の一例を示す図である。
【図７】視点座標系の３次元座標がクレーン座標系の２次元座標に変換される様子を示す図である。
【図８】学習処理を示すフロー図である。
【図９】制御処理を示すフロー図である。
【発明を実施するための形態】
【００１８】
［１．建設機械制御システムの全体構成］
以下、本発明に係る実施形態について、図面を参照しつつ説明する。図１は、実施形態に係る建設機械制御システムが建設現場で利用される様子を示す図である。図１に示すように、建設機械制御システムＳは、制御装置１０と撮影装置２０とを含む。制御装置１０は、荷３０を運搬するクレーン車４０に設置されている。なお、本実施形態では、撮影装置２０が地上に設置されている場合を説明するが、撮影装置２０は、クレーン車４０に設置されていてもよい。
【００１９】
図２は、制御装置１０のハードウェア構成を示す図である。制御装置１０は、クレーン車４０を制御するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末（タブレット型コンピュータを含む）、又は携帯電話機（スマートフォンを含む）等である。例えば、制御装置１０は、クレーン車４０のオペレータによって操作される。図２に示すように、例えば、制御装置１０は、制御部１１、記憶部１２、通信部１３、操作部１４、及び表示部１５を含む。
【００２０】
制御部１１は、少なくとも１つのプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用の通信インタフェースを含み、例えば、ネットワークを介してデータ通信を行う。操作部１４は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部１４は、操作内容を制御部１１に伝達する。表示部１５は、例えば、液晶表示部又は有機ＥＬ表示部等である。
【００２１】
なお、記憶部１２に記憶されるものとして説明するプログラム及びデータは、ネットワークを介して制御装置１０に供給されるようにしてもよい。また、制御装置１０のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、制御装置１０は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力部（例えば、ＵＳＢ端子）を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、制御装置１０に供給されるようにしてもよい。
【００２２】
撮影装置２０は、カメラである。撮影装置２０は、ＣＣＤイメージセンサ又はＣＭＯＳイメージセンサ等の撮像素子を含む。撮影装置２０は、クレーン車４０によって運ばれる荷３０を撮影し、撮影画像を生成する。本実施形態では、撮影装置２０は、所定のフレームレートで連続的に撮影するものとして説明するが、特にフレームレートが定められておらず不定期的に撮影してもよい。撮影装置２０は、有線又は無線によって制御装置１０と接続され、制御装置１０に撮影画像を送信する。なお、撮影装置２０は、制御装置１０に含まれていてもよい。
【００２３】
撮影装置２０は、クレーン車４０の作業可能範囲の一部又は全部が撮影範囲に含まれるように配置される。撮影装置２０の位置と向きは、固定されていてもよいし、荷３０に追従するように変化してもよい。また、撮影装置２０は、ある一部の範囲だけを撮影するカメラであってもよいし、クレーン車４０の周囲の様子を万遍なく撮影する全方位カメラであってもよい。なお、本実施形態では、撮影装置２０を１台として説明するが、複数の撮影装置２０を用意して、クレーン車４０の周囲の様子が万遍なく撮影されてもよい。
【００２４】
荷３０は、クレーン車４０の吊荷であり、例えば、鉄骨、金属板、又は木材等の建築部材である。本実施形態では、地上に配置された荷３０が、クレーン車４０によって作業現場５０に運ばれる場合を説明するが、建設機械制御システムＳは、作業現場５０に配置された荷３０が、クレーン車４０によって地上に下ろされる等の任意の場面に利用されてよい。
【００２５】
クレーン車４０は、建設機械の一例である。建設機械は、重機とも呼ばれ、本実施形態では、荷３０を運搬する。クレーン車４０は、フックにかけられた荷３０をワイヤロープで吊り上げる。クレーン車４０は、操作レバーやボタンが操縦室に配置され、オペレータの操作によって動作する。本実施形態では、クレーン車４０は有線又は無線によって制御装置１０と接続され、制御装置１０の指示によっても動作可能となっている。
【００２６】
本実施形態の建設機械制御システムＳでは、種々の条件で荷３０の３次元モデルをレンダリングした仮想画像に基づいて当該３次元モデルの特徴を学習させた学習器が制御装置１０に記憶されている。制御装置１０は、学習器に基づいて、撮影装置２０から取得した撮影画像から荷３０を検出し、クレーン車４０を自動操縦する。建設機械制御システムＳは、荷３０の３次元モデルを利用することで、学習器に荷３０の特徴を学習させるために実際に荷３０を撮影する手間を省くようになっている。以降、本技術の詳細について説明する。
【００２７】
［２．本実施形態で実現される機能］
図３は、建設機械制御システムＳで実現される機能の一例を示す機能ブロック図である。図３に示すように、建設機械制御システムＳでは、学習部１００、データ記憶部１０１、種類取得部１０２、検出部１０３、及び建設機械制御部１０４が実現される。本実施形態では、これら各機能が制御装置１０によって実現される場合を説明するが、後述する変形例のように、各機能は、サーバコンピュータ等の他のコンピュータによって実現されてもよい。
【００２８】
［学習部］
学習部１００は、制御部１１を主として実現される。学習部１００は、予め定められた複数のレンダリング条件に基づいて、荷３０の３次元モデルを示す複数の仮想画像を取得し、各仮想画像における３次元モデルの特徴を学習器Ｌに学習させる。
【００２９】
レンダリング条件とは、３次元モデルを示す仮想画像を生成する際の条件である。本実施形態では、レンダリング条件の一例として、仮想カメラの位置及び向きを説明するが、レンダリング条件は、他の種々の条件を適用可能である。例えば、レンダリング条件は、仮想カメラの画角・ズーム値であってもよい。また例えば、レンダリング条件は、光源の位置・強さ・色であってもよい。また例えば、レンダリング条件は、３次元モデル又は背景の色・模様・明るさであってもよい。また例えば、レンダリング条件は、仮想画像の解像度や縦横比であってもよい。
【００３０】
荷３０の３次元モデルは、荷３０の表面形状を示すポリゴンによって構成される。３次元モデルは、３Ｄ−ＣＡＤソフトによって予め作成されているものとする。３Ｄ−ＣＡＤデータは、データ記憶部１０１に記憶されていてもよいし、サーバコンピュータ等の他のコンピュータ又は外部の情報記憶媒体に記憶されていてもよい。３Ｄ−ＣＡＤデータには、ポリゴンを定義する頂点の３次元座標が示されている。
【００３１】
仮想画像は、３次元画像とも呼ばれるものであり、仮想カメラから３次元モデルを見た様子を示す画像である。別の言い方をすれば、仮想画像は、３次元モデルが配置された仮想３次元空間を示す画像である。学習部１００は、ｎ個（ｎは２以上の整数）のレンダリング条件の各々に基づいて、仮想画像を生成する。レンダリング条件の数（ｎの数値）は、任意であってよく、数十〜数百程度であってもよいし、千以上であってもよい。学習部１００は、レンダリング条件の数だけ仮想画像を生成する。例えば、仮想カメラの位置及び向きだけでなく、光源等の他の条件もレンダリング条件に含める場合には、学習部１００は、同じ位置及び角度であったとしても、光源等の他の条件を変えつつ仮想画像を生成する。
【００３２】
仮想画像における３次元モデルの特徴とは、仮想画像上での２次元的な形状又は色彩の特徴である。形状の特徴は、仮想画像に示された３次元モデルの輪郭の特徴であってもよいし、特徴点群の配置の特徴であってもよい。色彩の特徴は、仮想画像に示された３次元モデルの色合いであり、３次元モデルが表れた画素の画素値の特徴である。本実施形態では、仮想画像における３次元モデルの特徴として、３次元モデルの角（かど）の位置を示す２次元座標を利用する。２次元座標は、仮想画像における画素の位置を示す。角とは、物体の頂点、出隅、又は入隅である。別の言い方をすれば、角は、物体の表面同士又は輪郭線同士がぶつかる場所である。
【００３３】
図４は、荷３０の３次元モデルの一例を示す図であり、図５は、仮想画像から学習データを生成する処理を示す図である。図４及び図５では、簡略化のために、３個のレンダリング条件にそれぞれ対応する仮想カメラＶＣ１〜ＶＣ３及び仮想画像ＶＩ１〜ＶＩ３を示しているが、レンダリング条件は、実際には多数用意されている。以降、仮想カメラＶＣ１〜ＶＣ３を特に区別する必要のないときは、単に仮想カメラＶＣと記載し、仮想画像ＶＩ１〜ＶＩ３を特に区別する必要のないときは、単に仮想画像ＶＩと記載する。
【００３４】
図４に示すように、３次元モデルＭは、角Ｐ１〜Ｐ２４を有する。以降、角Ｐ１〜Ｐ２４を特に区別する必要のないときは、単に角Ｐと記載する。学習部１００は、レンダリング条件ごとに生成した仮想画像ＶＩから、３次元モデルＭの角Ｐを示す２次元座標を抽出する。３次元モデルＭの角Ｐの３次元座標は、予め３Ｄ−ＣＡＤデータに示されているので、学習部１００は、レンダリングにおける座標変換処理に基づいて、角Ｐの２次元座標を取得すればよい。図５に示すように、本実施形態では、画像の左上を原点Ｏｓとしたスクリーン座標系の座標軸（Ｘｓ軸−Ｙｓ軸）が設定され、２次元座標は、スクリーン座標系で示されるものとする。
【００３５】
例えば、図５の仮想画像ＶＩ１は、図４の仮想カメラＶＣ１から３次元モデルＭを見た様子を示す画像である。仮想画像ＶＩ１には、角Ｐ１〜Ｐ８が示されているので、学習部１００は、角Ｐ１〜Ｐ８の各々の２次元座標を取得する。学習部１００は、取得した８個の２次元座標からなる２次元座標群に対し、ラベルＩＤ（例えば、「１」）を付与する。ラベルＩＤは、角Ｐの２次元座標群を識別する情報である。
【００３６】
また例えば、図５の仮想画像ＶＩ２は、図４の仮想カメラＶＣ２から３次元モデルＭを見た様子を示す画像である。仮想画像ＶＩ２には、角Ｐ１〜Ｐ１３，Ｐ１７，Ｐ１８，Ｐ２１，Ｐ２２が示されているので、学習部１００は、角Ｐ１〜Ｐ１３，Ｐ１７，Ｐ１８，Ｐ２１，Ｐ２２の各々の２次元座標を取得する。学習部１００は、取得した１７個の２次元座標からなる２次元座標群に対し、ラベルＩＤ（例えば、「２」）を付与する。
【００３７】
また例えば、図５の仮想画像ＶＩ３は、図４の仮想カメラＶＣ３から３次元モデルＭを見た様子を示す画像である。仮想画像ＶＩ３には、角Ｐ１〜Ｐ４，Ｐ９〜Ｐ１２，Ｐ１７，Ｐ１８，Ｐ２１，Ｐ２２が示されているので、学習部１００は、角Ｐ１〜Ｐ４，Ｐ９〜Ｐ１２，Ｐ１７，Ｐ１８，Ｐ２１，Ｐ２２の各々の２次元座標を取得する。学習部１００は、取得した１２個の２次元座標からなる２次元座標群に対し、ラベルＩＤ（例えば、「３」）を付与する。
【００３８】
以降同様にして、学習部１００は、仮想画像ＶＩに示された角Ｐの２次元座標群を取得し、当該２次元座標群に対してラベルＩＤを付与する。学習部１００は、２次元座標群とラベルＩＤの組み合わせを、学習データＤＴとして取得する。学習データＤＴは、教師データとも呼ばれるデータであり、学習器Ｌに３次元モデルＭの特徴を学習させるためのデータである。
【００３９】
学習部１００は、学習データＤＴに基づいて学習器Ｌを学習させる。学習器Ｌの学習方法自体は、種々の手法を適用可能であり、教師有り機械学習で用いられる学習方法を利用すればよい。学習部１００は、学習データＤＴに示された角Ｐの２次元座標群のうち、撮影装置２０により撮影された撮影画像の特徴点の２次元座標群と似た２次元座標群のラベルＩＤを出力するように、学習器Ｌを学習させる。例えば、学習データＤＴに示された角Ｐの２次元座標群と、撮影画像の特徴点の２次元座標群と、の類似度（蓋然性）を計算し、閾値以上の類似度又は最も高い類似度のラベルＩＤを出力するように、学習器Ｌが学習される。学習は、学習器Ｌのアルゴリズムの係数等を調整することによって実行される。
【００４０】
なお、学習部１００は、２次元座標群とラベルＩＤの組み合わせだけを取得してもよいが、本実施形態では、視点座標系における３次元モデルＭの位置を示す３次元座標も取得する。視点座標系は、仮想カメラＶＣを基準とした座標系である。視点座標系の３次元座標は、仮想カメラＶＣに対する相対的な位置を示す。別の言い方をすれば、視点座標系の３次元座標は、仮想カメラＶＣから見た場合の位置を示す。
【００４１】
学習部１００は、３次元モデルＭの表面又は内部の任意の位置の３次元座標を取得すればよく、例えば、３次元モデルＭの重心Ｗの位置を示す３次元座標、３次元モデルＭの角Ｐの位置を示す３次元座標、又は３次元モデルＭの角Ｐ以外の頂点の３次元座標であってよい。本実施形態では、学習部１００が３次元モデルＭの重心Ｗの位置を示す３次元座標を取得する場合を説明する。なお、本実施形態では、重心Ｗの位置を示す３次元座標は、３Ｄ−ＣＡＤデータに予め示されているものとするが、３次元モデルＭの頂点座標等に基づいて算出されるようにしてもよい。学習部１００は、ラベルＩＤに関連付けて、重心Ｗの３次元座標を後述するデータベースＤＢに記録する。
【００４２】
なお、本実施形態では、以上の処理を定義したプログラムをデータ記憶部１０１に記憶しておき、学習部１００は、３次元モデルＭが入力された場合に、当該プログラムに基づいて、自動的に処理を実行する場合を説明するが、以上説明した処理は、予めプログラミングしておくのではなく、学習器Ｌの管理者がレンダリング条件を指示する等して実行されてもよい。
【００４３】
［データ記憶部］
データ記憶部１０１は、記憶部１２を主として実現される。データ記憶部１０１は、クレーン車４０を制御するために必要な各種データを記憶する。例えば、データ記憶部１０１は、学習データＤＴ、学習器Ｌ、及びデータベースＤＢを記憶する。学習データＤＴは、先述した通りである。
【００４４】
学習器Ｌは、荷３０の３次元モデルＭを種々の条件でレンダリングした仮想画像ＶＩによって３次元モデルＭの特徴が学習されている。データ記憶部１０１は、学習器Ｌが示すアルゴリズムを記憶することになる。ある特定の荷３０用の学習器Ｌだけが用意されていてもよいが、本実施形態では、クレーン車４０は、複数種類の荷の各々を運搬可能であり、学習器Ｌは、荷３０の種類ごとに用意されているものとする。即ち、学習器Ｌは、クレーン車４０の運搬対象となる荷３０の種類の数だけ用意されており、学習器Ｌと荷３０の種類とは１対１の関係にある。学習部１００は、荷３０の種類ごとに、当該種類の３次元モデルＭに基づいて学習器Ｌを学習させることになる。
【００４５】
学習器Ｌは、いわゆる人工知能で用いられる種々のタイプの学習器Ｌを適用可能であり、例えば、機械学習又は深層学習で利用される学習器Ｌであってよい。学習器Ｌは、３次元モデルＭの特徴の学習済みモデルということもできる。データ記憶部１０１には、学習器Ｌのアルゴリズムが記憶されることになる。本実施形態では、学習器Ｌは、撮影装置２０により撮影された撮影画像が入力されると、撮影画像から特徴点群の２次元座標を抽出し、学習済みの角Ｐの２次元座標群のうち、撮影画像の２次元座標群と似た２次元座標群のラベルＩＤを出力する。
【００４６】
なお、学習器Ｌは、３次元モデルＭの特徴が学習されていればよく、学習器Ｌは、実施形態の例に限られない。例えば、検出部１０３によって撮影画像の特徴点群が抽出されたうえで、学習器Ｌに対し、特徴点群の２次元座標群が入力されるようにしてもよい。また例えば、学習器Ｌは、ラベルＩＤとともに、学習済みの２次元座標群との類似度（蓋然性）を出力してもよい。また例えば、学習器Ｌは、ラベルＩＤとともに、当該ラベルＩＤが示す角Ｐの２次元座標群を出力してもよい。また例えば、学習器Ｌは、ラベルＩＤを出力せずに、類似度が閾値以上の２次元座標群が存在するか否かを示す情報だけを出力してもよい。
【００４７】
データベースＤＢは、視点座標系における３次元モデルＭの位置を示すデータベースであり、本実施形態では、３次元モデルＭの重心Ｗの位置が示される。例えば、データベースＤＢには、ラベルＩＤと、視点座標系における重心Ｗの位置を示す３次元座標と、が関連付けられて格納される。
【００４８】
なお、本実施形態では、重心Ｗの位置を示す３次元座標が、学習器Ｌとは別のデータベースＤＢに格納されている場合を説明するが、学習部１００は、重心Ｗの位置を示す３次元座標を学習器Ｌに学習させてもよい。この場合、学習部１００は、重心Ｗの位置を示す３次元座標を出力とする学習データＤＴを生成し、学習器Ｌは、撮影画像が入力された場合に、重心Ｗの位置を示す３次元座標を出力してもよい。
【００４９】
また、データ記憶部１０１に記憶されるデータは、上記の例に限られない。データ記憶部１０１は、任意のデータを記憶してよく、例えば、荷３０の種類を示すデータベースを記憶してもよい。当該データベースには、荷３０の種類を一意に識別する荷ＩＤ、学習器Ｌを一意に識別する学習器ＩＤ、荷３０の運搬順、及び荷３０の運搬方法等が格納されていてもよい。運搬方法は、荷３０を運ぶ経路、荷３０を運ぶべき目標地点、運搬中の荷３０の向き、及び荷３０の移動速度等である。
【００５０】
［種類取得部］
種類取得部１０２は、制御部１１を主として実現される。種類取得部１０２は、運搬中の荷３０の種類を取得する。本実施形態では、クレーン車４０に荷３０が吊るされる際に、操作部１４から荷３０の種類ＩＤが入力されるものとする。このため、種類取得部１０２は、操作部１４から入力された荷３０の種類ＩＤを取得する。なお、荷３０の運搬順が予め定められている場合には、データ記憶部１０１に運搬順を記憶させておき、種類取得部１０２は、データ記憶部１０１に記憶された運搬順に基づいて、運搬中の荷３０の種類ＩＤを取得してもよい。また、ＲＦＩＤ等のタグを荷３０に付与する場合には、種類取得部１０２は、タグを読み取ることによって種類ＩＤを取得してもよい。
【００５１】
［検出部］
検出部１０３は、制御部１１を主として実現される。検出部１０３は、学習器Ｌに基づいて、撮影画像から荷３０を検出する。本実施形態では、撮影装置２０は、所定のフレームレートに基づいて連続的に撮影して撮影画像を生成するので、検出部１０３は、撮影装置２０から当該連続的に撮影された撮影画像を取得する。検出部１０３は、取得した撮影画像を学習器Ｌに入力し、学習器Ｌからの出力を取得することによって、撮影画像から荷３０を検出する。
【００５２】
図６は、撮影画像の一例を示す図である。本実施形態では、３次元モデルＭの角の特徴が学習器Ｌに学習されているので、図６に示すように、検出部１０３は、学習器Ｌに基づいて、撮影画像ＰＩから荷３０の角Ｐを検出する。例えば、学習器Ｌは、入力された撮影画像ＰＩの特徴点を抽出し、特徴点群の２次元座標群を取得する。学習器Ｌは、学習済みの２次元座標群のうち、撮影画像ＰＩから取得した２次元座標群との類似度が閾値以上の２次元座標群のラベルＩＤを出力する。検出部１０３は、学習器Ｌから出力されたラベルＩＤを取得することによって、撮影画像ＰＩから荷３０を検出する。なお、学習器Ｌは、閾値以上の蓋然性の２次元座標群が存在しない場合には、ラベルＩＤを出力せず、所定のエラーコードを出力してもよい。
【００５３】
また例えば、検出部１０３は、学習器Ｌに基づいて、撮影画像ＰＩから検出された荷３０の位置を示す３次元座標を取得してもよい。本実施形態では、データベースＤＢに荷３０の重心Ｗの位置を示す３次元座標が格納されているので、検出部１０３は、データベースＤＢを参照し、学習器Ｌから出力されたラベルＩＤに関連付けられた重心Ｗの３次元座標を取得する。
【００５４】
本実施形態では、荷３０の種類ごとに学習器Ｌが用意されているので、検出部１０３は、荷３０の種類ごとに用意された学習器Ｌのうち、種類取得部１０２により取得された種類の学習器Ｌに基づいて、撮影画像ＰＩから荷３０を検出する。検出部１０３は、種類取得部１０２により取得された種類の学習器Ｌに対し、撮影画像ＰＩを入力し、ラベルＩＤを取得することになる。
【００５５】
［建設機械制御部］
建設機械制御部１０４は、制御部１１を主として実現される。建設機械制御部１０４は、検出部１０３の検出結果に基づいて、クレーン車４０を制御する。検出部１０３の検出結果とクレーン車４０の制御方法との関係を示すアルゴリズムは、データ記憶部１０１に予め記憶されているものとする。建設機械制御部１０４は、検出部１０３の検出結果に関連付けられた制御方法でクレーン車４０を制御する。
【００５６】
本実施形態では、建設機械制御部１０４がクレーン車４０を自動制御する場合を一例として説明するが、建設機械制御部１０４は、クレーン車４０のオペレータの操作を支援すればよく、自動制御ではなく、オペレータの操作を補正することで操作支援をしてもよい。他にも例えば、建設機械制御部１０４は、検出部１０３の検出結果に基づいて、オペレータが入力してはならない操作を決定し、当該操作が入力された場合に、オペレータの操作を無効にしたり、クレーン車４０を停止させたりしてもよい。
【００５７】
例えば、建設機械制御部１０４は、検出部１０３の検出結果に基づいて、荷３０を所定の目標位置に運搬するように、クレーン車４０を制御する。建設機械制御部１０４は、検出部１０３の検出結果に基づいて取得される荷３０の位置が目標位置に近づくように、クレーン車４０を制御する。本実施形態では、荷３０の経路が予め定められている場合を説明するが、特に経路が定められていなくてもよい。建設機械制御部１０４は、検出部１０３の検出結果に基づいて取得される荷３０の位置が所定の経路上をたどるように、クレーン車４０を制御する。
【００５８】
本実施形態では、３次元モデルＭの角の特徴が学習器Ｌに学習されているので、建設機械制御部１０４は、検出部１０３により検出された荷３０の角Ｐに基づいて、クレーン車４０を制御する。例えば、建設機械制御部１０４は、検出部１０３により検出された荷３０の角Ｐに基づいて特定される荷３０の位置に基づいて、クレーン車４０を制御する。
【００５９】
また、建設機械制御部１０４は、撮影画像ＰＩ上で検出された荷３０の位置（２次元的な位置）に基づいてクレーン車４０を制御してもよいが、本実施形態では、建設機械制御部１０４は、検出部１０３により取得された３次元座標に基づいて、クレーン車４０を制御する。建設機械制御部１０４は、検出部１０３により取得された３次元座標に基づいて、荷３０を所定の目標位置に運搬するように、クレーン車４０を制御する。例えば、建設機械制御部１０４は、検出部１０３により取得された３次元座標が目標位置を示す３次元座標に近づくように、クレーン車４０を制御する。また例えば、建設機械制御部１０４は、検出部１０３により取得された３次元座標が３次元空間内の所定の経路上をたどるように、クレーン車４０を制御する。
【００６０】
先述したように、本実施形態では、検出部１０３により取得される荷３０の位置を示す３次元座標は、視点座標系における座標なので、建設機械制御部１０４は、所定の変換行列に基づいて、検出部１０３により取得された視点座標系における３次元座標を、クレーン車４０を基準とした座標系の３次元座標に変換し、クレーン車４０を制御する。
【００６１】
クレーン車４０を基準とした座標系とは、クレーン車４０に設定された基準点を基準とした座標系であり、以降では、クレーン座標系と記載する。基準点は、クレーン車４０を制御する際の基準となる位置であればよく、例えば、ジブのフートピンの位置、ジブの基準線上の位置、クレーン車４０の旋回軸上の位置、又はオペレータの操縦室内の所定位置といった任意の位置を適用可能である。クレーン座標系の３次元座標は、クレーン車４０の基準点に対する相対的な位置を示す。別の言い方をすれば、クレーン座標系の３次元座標は、クレーン車４０の基準点から見た場合の位置を示す。
【００６２】
図７は、視点座標系の３次元座標がクレーン座標系の２次元座標に変換される様子を示す図である。図７では、視点座標系の原点をＯｖの符号で示し、視点座標系の３軸をＸｖ，Ｙｖ，Ｚｖの符号で示す。また、クレーン座標系の原点をＯｃの符号で示し、視点座標系の３軸をＸｃ，Ｙｃ，Ｚｃの符号で示す。なお、図７では、図４の仮想カメラＶＣ１に対応する視点座標系を示している。
【００６３】
変換行列は、視点座標系をクレーン座標系に変換するための行列であり、撮影装置２０とクレーン車４０の基準点との位置関係に基づいて定めておけばよい。別の言い方をすれば、変換行列は、視点座標系の原点Ｏｖの位置及び３軸Ｘｖ，Ｙｖ，Ｚｖの向きと、クレーン座標系の原点Ｏｃの位置及び３軸Ｘｃ，Ｙｃ，Ｚｃの向きと、に基づいて定めておけばよい。
【００６４】
変換行列によれば、視点座標系の原点Ｏｖの位置がクレーン座標系の原点Ｏｃの位置に変換され、かつ、視点座標系の３軸Ｘｖ，Ｙｖ，Ｚｖの向きがクレーン座標系の３軸Ｘｃ，Ｙｃ，Ｚｃの向きに変換される。別の言い方をすれば、変換行列は、視点座標系の原点Ｏｖの位置をクレーン座標系の原点Ｏｃの位置に平行移動させ、かつ、視点座標系の３軸Ｘｖ，Ｙｖ，Ｚｖの向きをクレーン座標系の３軸Ｘｃ，Ｙｃ，Ｚｃの向きに回転させるための行列である。
【００６５】
建設機械制御部１０４は、変換行列に基づいて、視点座標系における重心Ｗの位置を示す３次元座標を、クレーン座標系の３次元座標に変換する。建設機械制御部１０４は、クレーン座標系における重心Ｗの位置を示す３次元座標に基づいて、荷３０を所定の目標位置に運搬するように、クレーン車４０を制御する。目標位置は、クレーン座標系の３次元座標で定められているものとする。例えば、建設機械制御部１０４は、クレーン座標系における重心Ｗの位置を示す３次元座標が、目標位置を示す３次元座標に近づくように、クレーン車４０を制御する。また例えば、建設機械制御部１０４は、クレーン座標系における重心Ｗの位置を示す３次元座標が３次元空間内の所定の経路上をたどるように、クレーン車４０を制御する。
【００６６】
［３．本実施形態において実行される処理］
次に、建設機械制御システムＳで実行される処理を説明する。ここでは、荷３０の３次元モデルＭの特徴を学習器Ｌに学習させる学習処理と、学習済みの学習器Ｌを利用してクレーン車４０を制御する制御処理と、について説明する。以降説明する処理は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することによって実行される。また、以降説明する処理は、図３に示す機能ブロックにより実行される処理の一例である。
【００６７】
［３−１．学習処理］
図８は、学習処理を示すフロー図である。図８に示すように、まず、制御部１１は、学習対象となる荷３０の３次元モデルＭを示す３Ｄ−ＣＡＤデータを取得する（Ｓ１０１）。３Ｄ−ＣＡＤデータは、記憶部１２に予め記憶されていてもよいし、記憶部１２又はオンライン上の３Ｄ−ＣＡＤソフトを利用して描画されてもよい。他にも例えば、３Ｄ−ＣＡＤデータは、サーバコンピュータ等の他のコンピュータ又は外部の情報記憶媒体から取得されてもよい。
【００６８】
制御部１１は、Ｓ１０１で取得した３Ｄ−ＣＡＤデータと、予め定められた複数のレンダリング条件と、に基づいて、複数の仮想画像ＶＩを生成する（Ｓ１０２）。レンダリング条件は、記憶部１２に予め記憶されているものとするが、操作部１４から入力されるようにしてもよい。制御部１１は、レンダリング条件ごとに、当該レンダリング条件に基づいて仮想画像ＶＩを生成する。
【００６９】
制御部１１は、Ｓ１０２で生成した仮想画像ＶＩごとに、当該仮想画像ＶＩにおける角Ｐの位置を示す２次元座標群を取得する（Ｓ１０３）。Ｓ１０３においては、制御部１１は、レンダリングの際の座標変換処理によって変換された、角Ｐの３次元座標に対応する２次元座標を取得する。
【００７０】
制御部１１は、Ｓ１０３で取得した２次元座標群の各々にラベルＩＤを発行する（Ｓ１０４）。Ｓ１０４においては、制御部１１は、任意のＩＤ発行ルールに基づいて、２次元座標群同士で重複しないようにラベルＩＤを発行する。
【００７１】
制御部１１は、Ｓ１０３で取得した２次元座標群と、当該２次元座標群を識別するラベルＩＤと、の組み合わせを学習データＤＴとして取得する（Ｓ１０５）。Ｓ１０５においては、制御部１１は、２次元座標群を入力とし、ラベルＩＤを出力とするデータセットを、学習データＤＴとして取得する。
【００７２】
制御部１１は、Ｓ１０５で取得した学習データＤＴに基づいて、学習器Ｌを学習させる（Ｓ１０６）。Ｓ１０６においては、制御部１１は、学習データＤＴが示す２次元座標群が入力された場合に、当該２次元座標群に対応するラベルＩＤを出力するように、学習器Ｌのアルゴリズムを学習させる。
【００７３】
制御部１１は、Ｓ１０４で発行したラベルＩＤと、視点座標系における重心Ｗの位置を示す３次元座標と、を関連付けてデータベースＤＢに格納する（Ｓ１０７）。Ｓ１０７においては、制御部１１は、レンダリング条件が示す仮想カメラＶＣの位置及び向きに基づいて視点座標系の座標軸を設定し、重心Ｗの位置を示す３次元座標を取得する。制御部１１は、当該レンダリング条件に対応するラベルＩＤと、取得した３次元座標と、を関連付けてデータベースＤＢに格納する。
【００７４】
［３−２．制御処理］
図９は、制御処理を示すフロー図である。図９に示すように、まず、制御部１１は、操作部１４の検出信号に基づいて、荷３０の種類を取得する（Ｓ２０１）。Ｓ２０１においては、クレーン車４０のオペレータが操作部１４から荷３０の種類ＩＤを入力し、制御部１１は、当該入力された荷３０の種類ＩＤを取得する。
【００７５】
制御部１１は、撮影装置２０から撮影画像ＰＩを取得する（Ｓ２０２）。撮影装置２０は、所定のフレームレートに基づいて連続的に撮影し、撮影画像ＰＩを生成して制御装置１０に入力する。Ｓ２０２においては、制御部１１は、撮影装置２０から入力された撮影画像ＰＩを取得する。
【００７６】
制御部１１は、Ｓ２０１で取得した種類の学習器Ｌに対し、Ｓ２０２で取得した撮影画像ＰＩを入力し、撮影画像ＰＩから荷３０の角を検出したかを判定する（Ｓ２０３）。Ｓ２０３においては、制御部１１は、記憶部１２に記憶された学習器Ｌのうち、Ｓ２０１で取得した種類の荷３０の特徴が学習された学習器Ｌに対し、撮影画像ＰＩを入力する。なお、Ｓ２０３においては、制御部１１は、荷３０の全ての角を検出する必要はなく、撮影画像Ｐ１から検出できた角を利用して荷３０を認識し、荷３０の位置と方向を特定すればよい。
【００７７】
学習器Ｌは、入力された撮影画像ＰＩから特徴点群を抽出する。特徴点群の抽出処理自体は、種々のアルゴリズムを適用可能であり、例えば、ＳＩＦＴ、ＳＵＲＦ、又はＡ−ＫＡＺＥといったアルゴリズムであってもよい。学習器Ｌは、撮影画像ＰＩから抽出した特徴点群の２次元座標群と、学習済みの角Ｐの２次元座標群と、の類似度を計算する。例えば、撮影画像ＰＩから抽出した特徴点群の２次元座標群と、学習済みの角Ｐの２次元座標群と、の距離の総計が短いほど類似度が高くなる。学習器Ｌは、類似度が閾値以上の２次元座標群のラベルＩＤを出力する。制御部１１は、学習器ＬからラベルＩＤが出力された場合には、荷３０の角を検出したと判定し、ラベルＩＤが出力されなかった場合には、荷３０の角を検出したと判定しない。
【００７８】
荷３０の角を検出したと判定された場合（Ｓ２０３；Ｙ）、制御部１１は、データベースＤＢを参照し、学習器Ｌが出力したラベルＩＤに関連付けられた重心Ｗの３次元座標を取得する（Ｓ２０４）。Ｓ２０４において取得される３次元座標は、視点座標系における３次元座標なので、続くＳ２０５の処理によって、クレーン座標系に変換される。
【００７９】
制御部１１は、所定の変換行列に基づいて、Ｓ２０４で取得した３次元座標をクレーン座標系の３次元座標に変換する（Ｓ２０５）。変換行列は、予め記憶部１２に記憶されているものとする。Ｓ２０５において取得される３次元座標は、クレーン座標系における３次元座標なので、クレーン車４０の基準点から見て荷３０の重心がある位置を示す座標である。
【００８０】
制御部１１は、Ｓ２０５で変換した３次元座標に基づいて、クレーン車４０を制御する（Ｓ２０６）。Ｓ２０６においては、制御部１１は、予め定められた目標地点に向けて荷３０が所定の経路で移動するように、クレーン車４０を制御する。目標地点の３次元座標は、記憶部１２に予め記憶されているものとする。制御部１１は、Ｓ２０５で変換した３次元座標が目標地点の３次元座標に近づくように、クレーン車４０を制御する。
【００８１】
制御部１１は、所定の終了条件が満たされたかを判定する（Ｓ２０７）。終了条件は、予め定められた条件であればよく、荷３０が目標地点まで運ばれることであってもよいし、オペレータが所定の操作を行うことであってもよい。所定の終了条件が満たされたと判定された場合（Ｓ２０７；Ｙ）、本処理は終了する。一方、所定の終了条件が満たされたと判定されない場合（Ｓ２０７；Ｎ）、Ｓ２０２の処理に戻る。
【００８２】
建設機械制御システムＳによれば、荷３０の３次元モデルＭを種々の条件でレンダリングした仮想画像ＶＩによって３次元モデルＭの特徴が学習された学習器Ｌを利用することで、荷３０の多数の写真を用意する必要がなくなるので、画像認識によってクレーン車４０の操作支援をする場合の手間を省くことができる。
【００８３】
また、予め定められた複数のレンダリング条件に基づいて複数の仮想画像ＶＩが取得され、学習器Ｌの学習が実行されることで、学習処理を自動化し、画像認識によってクレーン車４０の操作支援をする場合の手間を効果的に軽減することができる。
【００８４】
また、学習器Ｌに３次元モデルＭの角の特徴を学習させ、撮影画像ＰＩから検出された荷３０の角に基づいてクレーン車４０を制御し、荷３０の特徴が明確に表れる角を利用することで画像認識の精度が高まり、クレーン車４０の操作支援の精度を高めることができる。
【００８５】
また、撮影画像ＰＩから検出された荷３０の位置を示す３次元座標に基づいてクレーン車４０が制御されることで、荷３０を所望の位置に運ぶことができ、クレーン車４０の操作支援の精度を高めることができる。
【００８６】
また、視点座標系における荷３０の位置を示す３次元座標を、クレーン座標系の３次元座標に変換したうえでクレーン車４０が制御されることで、荷３０の位置を詳細に把握することができ、クレーン車４０の操作支援の精度を高めることができる。
【００８７】
また、荷３０の種類ごとに学習器Ｌを用意しておき、運搬中の荷３０の種類に応じた学習器Ｌに基づいて荷３０が検出されることで、必要最低限の処理によって荷３０を検出することができ、建設機械制御システムＳの処理を高速化することができる。
【００８８】
［４．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００８９】
（１）例えば、実施形態では、荷３０の位置に基づいてクレーン車４０が制御される場合を説明したが、荷３０の向きに基づいてクレーン車４０が制御されてもよい。
【００９０】
本変形例では、学習部１００は、ラベルＩＤごとに、視点座標系における３次元モデルＭの向きを取得して、データベースＤＢに格納する。視点座標系の向きは、仮想カメラＶＣに対する相対的な向きを示す。別の言い方をすれば、視点座標系の向きは、仮想カメラＶＣから見た場合の向きを示す。
【００９１】
なお、３Ｄ−ＣＡＤデータには、３次元モデルＭの正面方向が設定されているものとする。正面方向は、任意の方向を設定可能であり、例えば、３次元モデルＭの何れかの表面の垂線方向であってもよいし、特に垂線ではない方向であってもよい。ここでは、図４に示す３次元モデルＭに対し、角Ｐ１，Ｐ２，Ｐ６，Ｐ５によって囲まれる平面の垂線が正面方向として設定されている場合を一例として説明する。例えば、学習部１００は、ラベルＩＤごとに、仮想カメラＶＣに対する当該垂線の方向を計算し、データベースＤＢに格納する。
【００９２】
検出部１０３は、学習器Ｌに基づいて、撮影画像ＰＩから検出した荷３０の位置及び向きの少なくとも一方を取得する。ここでは、検出部１０３が荷３０の位置と向きの両方を取得する場合を説明するが、検出部１０３は、荷３０の位置だけを取得してもよいし、荷３０の向きだけを取得してもよい。本変形例では、データベースＤＢに３次元モデルＭの方向が格納されているので、検出部１０３は、データベースＤＢを参照し、学習器Ｌから出力されたラベルＩＤに関連付けられた方向を取得する。
【００９３】
建設機械制御部１０４は、検出部１０３により取得された荷３０の位置及び向きの少なくとも一方に基づいて、クレーン車４０を制御する。ここでは、建設機械制御部１０４が荷３０の位置と向きの両方に基づいてクレーン車４０を制御する場合を説明するが、建設機械制御部１０４は、荷３０の位置だけに基づいてクレーン車４０を制御してもよいし、クレーン車４０の向きだけに基づいてクレーン車４０を制御してもよい。
【００９４】
荷３０の位置を利用してクレーン車４０を制御する方法は、実施形態で説明した通りなので、ここでは、荷３０の向きを利用してクレーン車４０を制御する方法について説明する。例えば、建設機械制御部１０４は、検出部１０３により取得された向きに基づいて、荷３０が所定の向きを向いて運ばれるように、クレーン車４０を制御する。例えば、建設機械制御部１０４は、検出部１０３により取得された向きと、荷３０が向くべき向きと、のずれ（角度）が閾値未満になるように、クレーン車４０を制御する。
【００９５】
先述したように、検出部１０３により取得される荷３０の向きは、視点座標系における向きなので、建設機械制御部１０４は、所定の変換行列に基づいて、検出部１０３により取得された視点座標系における向きを、クレーン車４０を基準とした座標系の向きに変換し、クレーン車４０を制御する。変換行列は、実施形態で説明した通りである。
【００９６】
建設機械制御部１０４は、変換行列に基づいて、視点座標系の向きを、クレーン座標系の向きに変換する。建設機械制御部１０４は、クレーン座標系の向きに基づいて、荷３０が所定の方向を向くように、クレーン車４０を制御する。例えば、建設機械制御部１０４は、クレーン座標系の向きと、荷３０が向くべき向きと、のずれが閾値未満になるように、クレーン車４０を制御する。
【００９７】
変形例（１）によれば、撮影画像ＰＩから検出された荷３０の位置及び向きの少なくとも一方に基づいてクレーン車４０が制御されることで、荷３０を所望の位置及び向きの少なくとも一方で運ぶことができ、クレーン車４０の操作支援の精度を高めることができる。
【００９８】
（２）また例えば、実施形態では、荷３０の種類ごとに学習器Ｌが用意されている場合を説明したが、学習器Ｌには、複数種類の各々の荷３０の特徴が学習されていてもよい。学習部１００は、複数種類の各々の荷３０の３次元モデルＭを種々のレンダリング条件でレンダリングした仮想画像ＶＩに基づいて、３次元モデルＭの特徴を学習器Ｌに学習させる。個々の種類の学習方法は、実施形態で説明した通りである。
【００９９】
本変形例のデータ記憶部１０１は、ラベルＩＤと種類ＩＤとを関連付けて記憶する。即ち、学習器ＬからどのラベルＩＤが出力された場合に、撮影画像ＰＩからどの種類の荷３０が検出されたかが分かるようになっている。なお、学習器Ｌに種類ＩＤを出力するように学習させてもよい。
【０１００】
本変形例の検出部１０３は、撮影画像ＰＩから複数種類の何れかの荷３０を検出する。例えば、検出部１０３は、学習器Ｌから出力されたラベルＩＤに関連付けられた種類ＩＤを取得する。
【０１０１】
建設機械制御部１０４は、検出部１０３により検出された荷３０の種類に基づいて、クレーン車４０を制御する。荷３０の種類とクレーン車４０の制御方法との関係を示すアルゴリズムは、データ記憶部１０１に予め記憶されているものとする。建設機械制御部１０４は、検出部１０３により検出された荷３０の種類に関連付けられた制御方法でクレーン車４０を制御する。
【０１０２】
変形例（２）によれば、学習器Ｌが分類した荷３０の種類に基づいてクレーン車４０が制御されることで、クレーン車４０の操作支援の精度を高めることができる。
【０１０３】
（３）また例えば、上記変形例を組み合わせてもよい。
【０１０４】
また例えば、建設機械の一例としてクレーン車４０を説明したが、建設機械は、種々の建設機械を適用可能であり、クレーン車に限られない。例えば、建設機械は、天井クレーンやタワー式クレーンといった他のタイプのクレーンであってもよい。また例えば、建設機械は、荷のつり上げだけを行い、水平移動を伴わない機械であってもよい。
【０１０５】
また例えば、実施形態では、制御装置１０によって各機能が実現される場合を説明したが、建設機械制御システムＳに複数のコンピュータが含まれている場合に、各コンピュータで機能が分担されてもよい。例えば、データ記憶部１０１がサーバコンピュータによって実現され、制御装置１０は、サーバコンピュータの学習器Ｌを利用してもよい。また、検出部１０３がサーバコンピュータによって実現され、制御装置１０は、サーバコンピュータによる検出結果を取得してもよい。また、建設機械制御部１０４がサーバコンピュータによって実現され、クレーン車４０は、サーバコンピュータからの指示に基づいて動作してもよい。
【符号の説明】
【０１０６】
Ｓ  建設機械制御システム、１０  制御装置、１１  制御部、１２  記憶部、１３  通信部、１４  操作部、１５  表示部、２０  撮影装置、３０  荷、４０  クレーン車、５０  作業現場、１００  学習部、１０１  データ記憶部、１０２  種類取得部、１０３  検出部、１０４  建設機械制御部、Ｌ  学習器、Ｍ  ３次元モデル、Ｐ  角、Ｗ  重心、ＤＢ  データベース、ＤＴ  学習データ、ＰＩ  撮影画像、ＶＣ  仮想カメラ、ＶＩ  仮想画像。
【図１】
2020037475.tif 000003
【図２】
2020037475.tif 000004
【図３】
2020037475.tif 000005
【図４】
2020037475.tif 000006
【図５】
2020037475.tif 000007
【図６】
2020037475.tif 000008
【図７】
2020037475.tif 000009
【図８】
2020037475.tif 000010
【図９】
2020037475.tif 000011