JP2023093109A - 建設機械、及び情報処理装置 - Google Patents

建設機械、及び情報処理装置 Download PDF

Info

Publication number
JP2023093109A
JP2023093109A JP2021208532A JP2021208532A JP2023093109A JP 2023093109 A JP2023093109 A JP 2023093109A JP 2021208532 A JP2021208532 A JP 2021208532A JP 2021208532 A JP2021208532 A JP 2021208532A JP 2023093109 A JP2023093109 A JP 2023093109A
Authority
JP
Japan
Prior art keywords
image
person
excavator
captured
learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021208532A
Other languages
English (en)
Inventor
昂平 小林
Kohei Kobayashi
亮太 黒澤
Ryota Kurosawa
岳哉 泉川
Takeya Izumikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo SHI Construction Machinery Co Ltd
Original Assignee
Sumitomo SHI Construction Machinery Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo SHI Construction Machinery Co Ltd filed Critical Sumitomo SHI Construction Machinery Co Ltd
Priority to JP2021208532A priority Critical patent/JP2023093109A/ja
Publication of JP2023093109A publication Critical patent/JP2023093109A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】建設機械の周辺の撮像画像から検出対象の物体をより適切に検出する。【解決手段】本開示の一実施形態の建設機械は、所定の画角を有する広角レンズによって、建設機械の周辺を撮像する撮像装置と、所定の画角で撮像したため光軸から離れるに従ってひずみが生じている学習用画像であり且つ人が写っている位置にばらつきが生じている複数の学習用画像とともに、当該学習用画像の各々に写っている人の画像の位置を示した位置情報を読み込んで機械学習し、入力された画像に対して人が写っているか否かを判断結果として出力するよう機能させるための学習済みモデルを記憶する記憶装置と、学習済みモデルを用いて、撮像装置によって撮像された撮像画像に人が写っているか否かを判定し、判定結果を出力する制御装置と、を備える。【選択図】図10

Description

本開示は、建設機械、及び情報処理装置に関する。
従来、建設機械(例えばショベル)に搭載される撮像装置の撮像画像から、建設機械の周辺の所定範囲内の所定の物体(例えば、人)を検出し、安全機能(例えば、警報の出力)を作動させる技術が知られている(例えば、特許文献1参照)。
特開2014-181508号公報
しかしながら、実在しない物体が検出され、誤って安全機能が作動したり、実在する物体が検出されずに、必要な安全機能が作動しなかったりする可能性がある。そのため、建設機械の周辺の物体検出の精度がより向上することが望ましい。
そこで、上記課題に鑑み、建設機械の周辺の物体検出の精度をより向上させることが可能な技術を提供することを目的とする。
上記目的を達成するため、本開示の一実施形態に係る建設機械は、所定の画角を有する広角レンズによって、建設機械の周辺を撮像する撮像装置と、所定の画角で撮像したため光軸から離れるに従ってひずみが生じている学習用画像であり且つ人が写っている位置にばらつきが生じている複数の学習用画像とともに、当該学習用画像の各々に写っている人の画像の位置を示した位置情報を読み込んで機械学習し、入力された画像に対して人が写っているか否かを判断結果として出力するよう機能させるための学習済みモデルを記憶する記憶装置と、学習済みモデルを用いて、撮像装置によって撮像された撮像画像に人が写っているか否かを判定し、判定結果を出力する制御装置と、を備える。
上述の実施形態によれば、建設機械の周辺の物体検出の精度をより向上させることが可能な技術を提供することを目的とする。
図1は、実施形態に係る建設機械管理システムの一例を示す図である。 図2は、実施形態に係るショベルの一例を示す側面図である。 図3は、実施形態に係るショベルの一例を示す上面図である。 図4は、実施形態に係るショベルのハードウェア構成の一例を示す図である。 図5は、実施形態に係る管理装置のハードウェア構成の一例を示す図である。 図6は、実施形態に係る管理装置における、学習済みモデルを生成するための機能構成の一例を示す機能ブロック図である。 図7は、実施形態に係る教師データセット生成部において生成された教師データの一例を示した図である。 図8は、実施形態に係る教師データセット生成部において生成された教師データの一例を示した図である。 図9は、実施形態に係る教師データセット生成部において生成された教師データの一例を示した図である。 図10は、実施形態に係るショベルの機能構成の一例を示す機能ブロック図である。 図11は、実施形態に係る物体検出部における、物体検出手法の一例を示した図である。 図12は、実施形態に係る物体検出部が撮像装置から取得した撮像画像の一例を示した図である。 図13は、実施形態に係る物体検出部が撮像装置から取得した撮像画像の一例を示した図である。 図14は、実施形態に係る物体検出部が撮像装置から取得した撮像画像の一例を示した図である。 図15は、実施形態に係る物体検出部が撮像装置から取得した撮像画像の一例を示した図である。 図16は、実施形態に係る物体検出部が撮像装置から取得した撮像画像の一例を示した図である。 図17は、実施形態に係る物体検出部が撮像装置から取得した撮像画像の一例を示した図である。 図18は、実施形態に係る建設機械管理システムにおける学習済みモデルの更新手法を示したシーケンス図である。 図19は、実施形態に係る物体検出部による監視物体(人)の検出状態の一例を示した図である。 図20は、実施形態に係る物体検出部による監視物体(人)の検出状態の一例を示した図である。 図21は、ショベルの機能構成の他の例を示す機能ブロック図である。
以下、図面を参照して実施形態について説明する。
[建設機械管理システムの概要]
図1~図3を参照して、建設機械管理システムSYSの概要について説明する。本実施形態では、建設機械管理システムSYSの管理対象となる建設機械の一例として、ショベルを用いた例について説明するが、ショベル以外の建設機械(例えばクレーン等)について適用してもよい。
図1は、建設機械管理システムSYSの一例を示す図である。図2、図3は、建設機械管理システムSYSに含まれるショベル100の具体例を示す図である。具体的には、図2、図3は、本実施形態に係るショベル100の一例を示す側面図及び上面図である。以下、ショベル100の対応する構成要素(例えば、同じ機能を有する構成要素)には同じ符号を付して説明を行う。
図1に示すように、建設機械管理システムSYSは、ショベル100と、管理装置200を含む。
建設機械管理システムSYSに含まれるショベル100は、一台であってもよいし、複数台であってもよい。また、建設機械管理システムSYSに含まれる管理装置200は、一つであってもよいし、複数であってもよい。即ち、複数の管理装置200は、建設機械管理システムSYSに関する処理を分散して実施してよい。例えば、複数の管理装置200は、それぞれ、建設機械管理システムSYSに含まれる全てのショベル100のうちの担当する一部のショベル100との間で相互に通信を行い、一部のショベル100を対象とする処理を実行してもよい。
また、ショベル100は、管理装置200と共に、建設機械管理システムSYSに含まれ、所定の通信回線NWを通じて、管理装置200と相互に通信を行うことが可能であってもよい。これにより、ショベル100は、各種情報を管理装置200に送信(アップロード)したり、管理装置200から各種の信号(例えば、情報信号や制御信号)等を受信したりすることができる。
通信回線NWには、例えば、広域ネットワーク(WAN:Wide Area Network)が含まれる。広域ネットワークには、例えば、基地局を末端とする移動体通信網が含まれてよい。また、広域ネットワークには、例えば、ショベル100の上空の通信衛星を利用する衛星通信網が含まれてもよい。また、広域ネットワークには、例えば、インターネット網が含まれてもよい。また、通信回線NWには、例えば、管理装置200が設置される施設等のローカルネットワーク(LAN:Local Area Network)が含まれてもよい。ローカルネットワークは、無線回線であってもよいし、有線回線であってもよいし、その両方を含む回線であってよい。また、通信回線NWには、例えば、Wi-Fi(登録商標)やBluetooth(登録商標)等の所定の無線通信方式に基づく近距離通信回線が含まれてもよい。
<ショベルの概要>
図2、図3に示すように、ショベル100は、下部走行体1と、旋回機構2を介して旋回自在に下部走行体1に搭載される上部旋回体3と、各種作業を行うためのアタッチメントATと、キャビン10とを備える。以下、ショベル100(上部旋回体3)の前方は、ショベル100を上部旋回体3の旋回軸に沿って真上から平面視(上面視)で見たときに、上部旋回体3に対するアタッチメントが延び出す方向に対応する。
下部走行体1は、例えば、左右一対のクローラ1Cを含む。下部走行体1は、それぞれのクローラ1Cが左側の走行油圧モータ1ML及び右側の走行油圧モータ1MRで油圧駆動されることにより、ショベル100を走行させる。
上部旋回体3は、旋回機構2が旋回油圧モータ2Mで油圧駆動されることにより、下部走行体1に対して旋回する。
アタッチメントATは、被駆動要素としてのブーム4、アーム5、及びバケット6を含む。
ブーム4は、上部旋回体3の前部中央に俯仰可能に取り付けられ、ブーム4の先端には、アーム5が上下回動可能に取り付けられ、アーム5の先端には、バケット6が上下回動可能に取り付けられる。
バケット6は、エンドアタッチメントの一例である。バケット6は、例えば、掘削作業等に用いられる。
また、アーム5の先端には、作業内容等に応じて、バケット6の代わりに、他のエンドアタッチメントが取り付けられてもよい。他のエンドアタッチメントは、例えば、大型バケット、法面用バケット、浚渫用バケット等の他の種類のバケットであってよい。また、他のエンドアタッチメントは、攪拌機、ブレーカ、グラップル等のバケット以外の種類のエンドアタッチメントであってもよい。また、アーム5と、エンドアタッチメントとの間には、例えば、クイックカップリングやチルトローテータ等の予備アタッチメントが介装されてもよい。
また、バケット6には、クレーン作業用のフックが取り付けられてもよい。フックは、基端が、アーム5とバケット6との間を連結するバケットピンに回動可能に連結される。これにより、フックは、掘削作業等のクレーン作業(吊り作業)以外の作業が行われる場合、2本のバケットリンクの間に形成される空間に収納される。
ブーム4、アーム5、及びバケット6は、それぞれ、油圧アクチュエータとしてのブームシリンダ7、アームシリンダ8、及びバケットシリンダ9により油圧駆動される。
なお、ショベル100は、各種の油圧アクチュエータの一部又は全部が電動アクチュエータに置換されてもよい。つまり、ショベル100は、ハイブリッドショベルや電動ショベルであってもよい。
キャビン10は、オペレータが搭乗する操縦室であり、例えば、上部旋回体3の前部左側に搭載される。
なお、オペレータがショベル100に搭乗して操作を行わず、後述の如く、ショベル100が、専ら、遠隔操作や完全自動運転機能で動作する場合、キャビン10は省略されてよい。
ショベル100は、キャビン10に搭乗するオペレータの操作に応じて、アクチュエータ(例えば、油圧アクチュエータ)を動作させ、下部走行体1、上部旋回体3、及びアタッチメントAT等の被駆動要素を駆動してよい。
また、ショベル100は、所定の外部装置(例えば、管理装置200)から遠隔操作(リモート操作)が可能に構成されてもよい。ショベル100が遠隔操作される場合、キャビン10の内部は、無人状態であってもよい。以下、オペレータの操作には、キャビン10のオペレータによる操作装置26に対する操作、及び外部のオペレータによる遠隔操作の双方が含まれる前提で説明を進める。
また、ショベル100は、オペレータの操作の内容に依らず、自動でアクチュエータを動作させてもよい。これにより、ショベル100は、下部走行体1、上部旋回体3、アタッチメントAT等の被駆動要素の少なくとも一部を自動で動作させる機能、即ち、いわゆる「自動運転機能」又は「マシンコントロール(Machine Control:MC)機能」を実現することができる。
自動運転機能には、オペレータの操作に応じて、操作対象の被駆動要素(アクチュエータ)以外の被駆動要素(アクチュエータ)を自動で動作させる機能、即ち、いわゆる「半自動運機能」又は「操作支援型のMC機能」が含まれてよい。また、自動運転機能には、オペレータの操作がない前提で、複数の被駆動要素(油圧アクチュエータ)の少なくとも一部を自動で動作させる機能、即ち、いわゆる「完全自動運転機能」又は「完全自動型のMC機能」が含まれてもよい。ショベル100において、完全自動運転機能が有効な場合、キャビン10の内部は無人状態であってよい。また、半自動運転機能や完全自動運転機能等には、自動運転の対象の被駆動要素(アクチュエータ)の動作内容が予め規定されるルールに従って自動的に決定される態様が含まれてよい。また、半自動運転機能や完全自動運転機能等には、ショベル100が自律的に各種の判断を行い、その判断結果に沿って、自律的に自動運転の対象の被駆動要素(油圧アクチュエータ)の動作内容が決定される、いわゆる「自律運転機能」が含まれてもよい。
<管理装置の概要>
管理装置200(情報処理装置の一例)が、ショベル100に関する管理やショベル100に関する支援を行う。
管理装置200は、例えば、ショベル100が作業を行う作業現場の外部の管理センタ等に設置されるオンプレミスサーバやクラウドサーバであってよい。また、管理装置200は、例えば、ショベル100が作業を行う作業現場内、又は作業現場から相対的に近い場所に配置されるエッジサーバであってもよい。また、管理装置200は、ショベル100の作業現場内の管理事務所等に配置される定置型の端末装置、又は可搬型の端末装置(携帯端末)であってもよい。定置型の端末装置には、例えば、デスクトップ型のPC(Personal Computer)が含まれてよい。また、携帯型の端末装置には、例えば、スマートフォン、タブレット端末、ラップトップ型のPC等が含まれてよい。
例えば、管理装置200は、ショベル100からアップロードされる各種情報に基づき、ショベル100の稼働状態や運用状況の管理(監視)を実施してもよい。また、管理装置200は、ショベル100の遠隔操作を支援してもよい。また、ショベル100が完全自動運転によって作業を行う場合、例えば、管理装置200が、ショベル100の完全自動運転による作業の遠隔監視を支援してもよい。この場合、建設機械管理システムSYSに係る管理装置200は、完全自動運転機能に対する監視者の介入によるショベル100の操作を支援してもよい。
具体的には、管理装置200で行われるショベル100のアクチュエータに関するユーザ(オペレータ)からの入力によって、ショベル100が操作される。この場合、ショベル100は、例えば、後述の撮像装置40の撮像画像やその撮像画像に基づく加工画像(例えば、視点変換画像)等のショベル100の周辺の様子を表す画像(以下、「周辺画像」)のデータを外部装置に送信する。そして、周辺画像は、管理装置200に設けられる遠隔操作用の表示装置(以下、「遠隔操作用表示装置」)に表示される。また、ショベル100のキャビン10内の表示装置50A(図10参照)に表示される各種の情報画像(情報画面)は、同様に、管理装置200の遠隔操作用表示装置にも表示されてよい。これにより、オペレータは、例えば、遠隔操作用表示装置に表示されるショベル100の周辺の様子を表す周辺画像や各種の情報画像等の表示内容を確認しながら、ショベル100を遠隔操作することができる。そして、ショベル100は、管理装置200から受信される、遠隔操作の内容を表す遠隔操作信号に応じて、アクチュエータを動作させ、下部走行体1、上部旋回体3、及びアタッチメントAT等の被駆動要素を駆動することができる。
[ショベルのハードウェア構成]
次に、図4を参照して、ショベル100のハードウェア構成について説明する。
図4は、ショベル100のハードウェア構成の一例を示す図である。
なお、図4では、機械的動力が伝達される経路は二重線、油圧アクチュエータを駆動する作動油が流れる経路は実線、パイロット圧が伝達される経路は破線、電気信号が伝達される経路は点線でそれぞれ示される。
ショベル100は、被駆動要素の油圧駆動に関する油圧駆動系、被駆動要素の操作に関する操作系、ユーザとの情報のやり取りに関するユーザインタフェース系、外部との通信に関する通信系、及び各種制御に関する制御系等のそれぞれの構成要素を含む。
<油圧駆動系>
図4に示されるように、本実施形態に係るショベル100の油圧駆動系は、下部走行体1(左右のクローラ1C)、上部旋回体3、及びアタッチメントAT等の被駆動要素のそれぞれを油圧駆動する油圧アクチュエータHAを含む。また、本実施形態に係るショベル100の油圧駆動系は、エンジン11と、レギュレータ13と、メインポンプ14と、コントロールバルブ17とを含む。
図4に示されるように、油圧アクチュエータHAには、走行油圧モータ1ML,1MR、旋回油圧モータ2M、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9等が含まれる。
エンジン11は、ショベル100の原動機であり、油圧駆動系におけるメイン動力源である。エンジン11は、例えば、軽油を燃料とするディーゼルエンジンである。エンジン11は、例えば、上部旋回体3の後部に搭載される。エンジン11は、後述するコントローラ30による直接、又は間接的な制御下で、予め設定される目標回転数で一定回転し、メインポンプ14及びパイロットポンプ15を駆動する。
なお、本実施形態は、ショベル100の原動機をエンジン11に制限するものではなく、エンジン11に代えて他の原動機(例えば、電動機)等がショベル100に搭載されてもよいし、エンジン11に加えて他の原動機(例えば、電動機)等がショベル100に搭載されてもよい。
レギュレータ13は、コントローラ30の制御下で、メインポンプ14の吐出量を制御(調節)する。例えば、レギュレータ13は、コントローラ30からの制御指令に応じて、メインポンプ14の斜板の角度(以下、「傾転角」)を調節する。
メインポンプ14は、高圧油圧ラインを通じてコントロールバルブ17に作動油を供給する。メインポンプ14は、例えば、エンジン11と同様、上部旋回体3の後部に搭載される。メインポンプ14は、エンジン11により駆動される。メインポンプ14は、例えば、可変容量式油圧ポンプであり、コントローラ30の制御下で、レギュレータ13により斜板の傾転角が調節されることで、ピストンのストローク長が調整され、吐出流量(吐出圧)が制御される。
コントロールバルブ17は、オペレータの操作装置26に対する操作や遠隔操作の内容、又は、コントローラ30から出力される自動運転機能に関する操作指令に応じて、油圧アクチュエータHAの制御を行う油圧制御装置である。自動運転機能に対応する操作指令は、コントローラ30が生成してもよいし、自動運転機能に関する制御を行う他の制御装置(演算装置)が生成してもよい。コントロールバルブ17は、例えば、上部旋回体3の中央部に搭載される。コントロールバルブ17は、上述の如く、高圧油圧ラインを介してメインポンプ14と接続され、メインポンプ14から供給される作動油を、オペレータの操作、又は、自動運転機能に対応する操作指令に応じて、それぞれの油圧アクチュエータに選択的に供給する。具体的には、コントロールバルブ17は、メインポンプ14から油圧アクチュエータHAのそれぞれに供給される作動油の流量と流れる方向を制御する複数の制御弁(「方向切換弁」とも称する)を含む。
<操作系>
図4に示すように、本実施形態に係るショベル100の操作系は、パイロットポンプ15と、操作装置26と、油圧制御弁31と、シャトル弁32と、油圧制御弁33とを含む。
パイロットポンプ15は、パイロットライン25を介して各種油圧機器にパイロット圧を供給する。パイロットポンプ15は、例えば、エンジン11と同様、上部旋回体3の後部に搭載される。パイロットポンプ15は、例えば、固定容量式油圧ポンプであり、上述の如く、エンジン11により駆動される。
なお、パイロットポンプ15は、省略されてもよい。この場合、メインポンプ14から吐出される相対的に高い圧力の作動油が所定の減圧弁により減圧された後の相対的に低い圧力の作動油がパイロット圧として各種油圧機器に供給される。
操作装置26は、キャビン10の操縦席付近に設けられ、オペレータが各種被駆動要素の操作を行うために用いられる。換言すれば、操作装置26は、オペレータがそれぞれの被駆動要素を駆動する油圧アクチュエータHAの操作を行うために用いられる。操作装置26は、それぞれの被駆動要素(油圧アクチュエータHA)を操作するためのペダル装置やレバー装置を含む。
例えば、図4に示すように、操作装置26は、油圧パイロット式である。具体的には、操作装置26は、パイロットライン25及びそこから分岐されるパイロットライン25Aを通じてパイロットポンプ15から供給される作動油を利用し、操作内容に応じたパイロット圧を二次側のパイロットライン27Aに出力する。パイロットライン27Aは、シャトル弁32の一方の入口ポートに接続され、シャトル弁32の出口ポートに接続されるパイロットライン27を介して、コントロールバルブ17に接続される。これにより、コントロールバルブ17には、シャトル弁32を介して、操作装置26における各種被駆動要素(油圧アクチュエータ)に関する操作内容に応じたパイロット圧が入力されうる。そのため、コントロールバルブ17は、オペレータ等による操作装置26に対する操作内容に応じて、それぞれの油圧アクチュエータHAを駆動することができる。
なお、操作装置26は、電気式であってもよい。この場合、パイロットライン27A、シャトル弁32、及び油圧制御弁33は省略される。具体的には、操作装置26は、操作内容に応じた電気信号(以下、「操作信号」)を出力し、操作信号は、コントローラ30に取り込まれる。そして、コントローラ30は、操作信号の内容に応じた制御指令、つまり、操作装置26に対する操作内容に応じた制御信号を油圧制御弁31に出力する。これにより、油圧制御弁31からコントロールバルブ17に操作装置26の操作内容に応じたパイロット圧が入力され、コントロールバルブ17は、操作装置26の操作内容に応じて、それぞれの油圧アクチュエータHAを駆動することができる。また、コントロールバルブ17に内蔵される、それぞれの油圧アクチュエータを駆動する制御弁(方向切換弁)は、電磁ソレノイド式であってもよい。この場合、操作装置26から出力される操作信号がコントロールバルブ17に、即ち、電磁ソレノイド式の制御弁に直接入力されてもよい。また、ショベル100が遠隔操作される場合や自動運転機能により動作する場合、操作装置26は省略されてもよい。
油圧制御弁31は、操作装置26の操作対象の被駆動要素(油圧アクチュエータHA)ごとに設けられる。油圧制御弁31は、例えば、パイロットポンプ15とコントロールバルブ17との間のパイロットライン25Bに設けられ、その流路面積(即ち、作動油が通流可能な断面積)を変更可能に構成されてよい。これにより、油圧制御弁31は、パイロットライン25Bを通じて供給されるパイロットポンプ15の作動油を利用して、所定のパイロット圧を二次側のパイロットライン27Bに出力することができる。そのため、図4に示すように、油圧制御弁31は、パイロットライン27Bとパイロットライン27の間のシャトル弁32を通じて、間接的に、コントローラ30からの制御信号に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。また、図4に示すように、油圧制御弁31は、パイロットライン27B及びパイロットライン27を通じて、直接的に、コントローラ30からの制御信号に応じた所定のパイロット圧をコントロールバルブ17に作用させることができる。そのため、コントローラ30は、油圧制御弁31から電気式の操作装置26の操作内容に応じたパイロット圧をコントロールバルブ17に供給させ、オペレータの操作に基づくショベル100の動作を実現することができる。
また、コントローラ30は、例えば、油圧制御弁31を制御し、自動運転機能を実現してもよい。具体的には、コントローラ30は、操作装置26の操作の有無に依らず、自動運転機能に関する操作指令に対応する制御信号を油圧制御弁31に出力する。これにより、コントローラ30は、油圧制御弁31から自動運転機能に関する操作指令に対応するパイロット圧をコントロールバルブ17に供給させ、自動運転機能に基づくショベル100の動作を実現することができる。
また、コントローラ30は、例えば、油圧制御弁31を制御し、ショベル100の遠隔操作を実現してもよい。具体的には、コントローラ30は、通信装置60によって、管理装置200から受信される遠隔操作信号で指定される遠隔操作の内容に対応する制御信号を油圧制御弁31に出力する。これにより、コントローラ30は、油圧制御弁31から遠隔操作の内容に対応するパイロット圧をコントロールバルブ17に供給させ、オペレータの遠隔操作に基づくショベル100の動作を実現することができる。
シャトル弁32は、2つの入口ポートと1つの出口ポートを有し、2つの入口ポートに入力されたパイロット圧のうちの高い方のパイロット圧を有する作動油を出口ポートに出力させる。シャトル弁32は、操作装置26の操作対象の被駆動要素(油圧アクチュエータHA)ごとに設けられる。また、シャトル弁32は、被駆動要素の移動方向(例えば、ブーム4の上げ方向及び下げ方向)ごとに設けられる。シャトル弁32の2つの入口ポートのうちの一方が操作装置26(具体的には、操作装置26に含まれる上述のレバー装置やペダル装置)の二次側のパイロットライン27Aに接続され、他方が油圧制御弁31の二次側のパイロットライン27Bに接続される。シャトル弁32の出口ポートは、パイロットライン27を通じて、コントロールバルブ17の対応する制御弁のパイロットポートに接続される。対応する制御弁とは、シャトル弁32の一方の入口ポートに接続される上述のレバー装置又はペダル装置の操作対象である油圧アクチュエータを駆動する制御弁である。そのため、これらのシャトル弁32は、それぞれ、操作装置26の二次側のパイロットライン27Aのパイロット圧と油圧制御弁31の二次側のパイロットライン27Bのパイロット圧のうちの高い方を、対応する制御弁のパイロットポートに作用させることができる。つまり、コントローラ30は、操作装置26の二次側のパイロット圧よりも高いパイロット圧を油圧制御弁31から出力させることで、オペレータの操作装置26に対する操作に依らず、対応する制御弁を制御することができる。よって、コントローラ30は、オペレータの操作装置26に対する操作状態に依らず、被駆動要素(下部走行体1、上部旋回体3、アタッチメントAT)の動作を制御し、自動運転機能を実現することができる。
油圧制御弁33は、操作装置26とシャトル弁32とを接続するパイロットライン27Aに設けられる。油圧制御弁33は、例えば、その流路面積を変更可能なように構成される。油圧制御弁33は、コントローラ30から入力される制御信号に応じて動作する。これにより、コントローラ30は、オペレータにより操作装置26が操作されている場合に、操作装置26から出力されるパイロット圧を強制的に減圧させることができる。そのため、コントローラ30は、操作装置26が操作されている場合であっても、操作装置26の操作に対応する油圧アクチュエータの動作を強制的に抑制させたり停止させたりすることができる。また、コントローラ30は、例えば、操作装置26が操作されている場合であっても、操作装置26から出力されるパイロット圧を減圧させ、油圧制御弁31から出力されるパイロット圧よりも低くすることができる。そのため、コントローラ30は、油圧制御弁31及び油圧制御弁33を制御することで、例えば、操作装置26の操作内容とは無関係に、所望のパイロット圧をコントロールバルブ17内の制御弁のパイロットポートに確実に作用させることができる。よって、コントローラ30は、例えば、油圧制御弁31に加えて、油圧制御弁33を制御することで、ショベル100の自動運転機能や遠隔操作機能をより適切に実現することができる。
<ユーザインタフェース系>
図4に示すように、本実施形態に係るショベル100のユーザインタフェース系は、操作装置26と、出力装置50と、入力装置52とを含む。
出力装置50は、ショベル100のユーザ(例えば、キャビン10のオペレータやショベル100の周辺の作業車等)に向けて各種情報を出力する。
例えば、出力装置50は、視覚的な方法で各種情報を出力する照明機器や表示装置50A(図10参照)等を含む。照明機器は、例えば、警告灯等である。表示装置50Aは、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。照明機器や表示装置50Aは、例えば、キャビン10の内部に設けられ、キャビン10の内部のオペレータ等に視覚的な方法で各種情報を出力してよい。また、照明機器や表示装置50Aは、例えば、上部旋回体3の側面等に設けられ、ショベル100の周囲の作業者等に視覚的な方法で各種情報を出力してもよい。
また、例えば、出力装置50は、聴覚的な方法で各種情報を出力する音出力装置50B(図10参照)を含む。音出力装置50Bには、例えば、ブザーやスピーカ等が含まれる。音出力装置50Bは、例えば、キャビン10の内部及び外部の少なくとも一方に設けられ、キャビン10の内部のオペレータやショベル100の周囲の人(作業者等)に聴覚的な方法で各種情報を出力してよい。
また、例えば、出力装置50は、操縦席の振動等の触覚的な方法で各種情報を出力する装置を含んでもよい。
入力装置52は、ショベル100のユーザからの各種入力を受け付け、受け付けられる入力に対応する信号を、コントローラ30に出力する。入力装置52は、例えば、キャビン10の内部に設けられ、キャビン10の内部のオペレータ等からの入力を受け付ける。また、入力装置52は、例えば、上部旋回体3の側面等に設けられ、ショベル100の周辺の作業者等からの入力を受け付けてもよい。
例えば、入力装置52は、操作入力を受け付ける操作入力装置を含む。操作入力装置には、表示装置に実装されるタッチパネル、表示装置の周囲に設置されるタッチパッド、ボタンスイッチ、レバー、トグル、操作装置26(レバー装置)に設けられるノブスイッチ等が含まれてよい。
また、例えば、入力装置52は、ユーザの音声入力を受け付ける音声入力装置を含んでもよい。音声入力装置には、例えば、マイクロフォンが含まれる。
また、例えば、入力装置52は、ユーザのジェスチャ入力を受け付けるジェスチャ入力装置を含んでもよい。ジェスチャ入力装置には、例えば、ユーザが行うジェスチャの様子を撮像する撮像装置が含まれる。
また、例えば、入力装置52は、ユーザの生体入力を受け付ける生体入力装置を含んでもよい。生体入力には、例えば、ユーザの指紋、虹彩等の生体情報の入力が含まれる。
<通信系>
図4に示すように、本実施形態に係るショベル100の通信系は、通信装置60を含む。
通信装置60は、通信回線NWに接続し、ショベル100と別に設けられる装置(例えば、管理装置200)と通信を行う。ショベル100と別に設けられる装置には、ショベル100の外部にある装置の他、ショベル100のユーザによりキャビン10に持ち込まれる携帯型の端末装置が含まれてもよい。通信装置60は、例えば、4G(4th Generation)や5G(5th Generation)等の規格に準拠する移動体通信モジュールを含んでよい。また、通信装置60は、例えば、衛星通信モジュールを含んでもよい。また、通信装置60は、例えば、Wi-Fi(登録商標)通信モジュールやBluetooth(登録商標)通信モジュール等を含んでもよい。
<制御系>
図4に示すように、本実施形態に係るショベル100の制御系は、コントローラ30を含む。また、本実施形態に係るショベル100の制御系は、操作圧センサ29と、撮像装置40と、照射装置70と、ブーム角度センサS1と、アーム角度センサS2と、バケット角度センサS3と、機体姿勢センサS4と、旋回角度センサS5とを含む。
コントローラ30は、ショベル100に関する各種制御を行う。コントローラ30の機能は、任意のハードウェア、又は、任意のハードウェア及びソフトウェアの組み合わせ等により実現されてよい。例えば、図4に示すように、コントローラ30は、バスB1で接続される、補助記憶装置30A、メモリ装置30B、CPU(Central Processing Unit)30C、及びインタフェース装置30Dを含む。
補助記憶装置30Aは、不揮発性の記憶手段であり、インストールされるプログラムを格納すると共に、必要なファイルやデータ等を格納する。補助記憶装置30Aは、例えば、フラッシュメモリ等である。
メモリ装置30Bは、例えば、プログラムの起動指示があった場合に、補助記憶装置30AのプログラムをCPU30Cが読み込み可能なようにロードする。メモリ装置30Bは、例えば、SRAM(Static Random Access Memory)である。
CPU30Cは、例えば、メモリ装置30Bにロードされるプログラムを実行し、プログラムの命令に従って、コントローラ30の各種機能を実現する。
インタフェース装置30Dは、例えば、ショベル100の内部の通信回線に接続するためのインタフェースとして用いられる。インタフェース装置30Dは、接続する通信回線の種類に合わせて、複数の異なる種類のインタフェース装置を含んでよい。
コントローラ30の各種機能を実現するプログラムは、例えば、可搬型の記録媒体によって提供される。この場合、インタフェース装置30Dは、記録媒体からのデータの読み取りや記録媒体へのデータの書き込みのためのインタフェースとして機能する。記録媒体は、例えば、キャビン10の内部に設置されるコネクタに着脱可能なケーブルで接続される専用ツールである。また、記録媒体は、例えば、SDメモリカードやUSB(Universal Serial Bus)メモリ等での汎用の記録媒体であってもよい。また、プログラムは、所定の通信回線を通じて、ショベル100の外部の他のコンピュータ(例えば、管理装置200)からダウンロードされ、補助記憶装置30Aにインストールされてもよい。
なお、コントローラ30の機能の一部は、他のコントローラ(制御装置)により実現されてもよい。即ち、コントローラ30の機能は、複数のコントローラにより分散して実現される態様であってもよい。
操作圧センサ29は、油圧パイロット式の操作装置26の二次側(パイロットライン27A)のパイロット圧、即ち、操作装置26におけるそれぞれの被駆動要素(油圧アクチュエータ)の操作状態に対応するパイロット圧を検出する。操作圧センサ29による操作装置26におけるそれぞれの被駆動要素(油圧アクチュエータHA)に関する操作状態に対応するパイロット圧の検出信号は、コントローラ30に取り込まれる。
なお、操作装置26が電気式である場合、操作圧センサ29は省略される。コントローラ30は、操作装置26から取り込まれる操作信号に基づき、操作装置26を通じたそれぞれの被駆動要素の操作状態を把握することができるからである。
撮像装置40は、ショベル100の周辺を撮像し、画像を取得する。撮像装置40は、撮像結果である撮像画像データを、コントローラ30に出力する。
撮像装置40は、例えば、単眼カメラ、ステレオカメラ、デプスカメラ等である。また、撮像装置40は、撮像画像データに基づき、所定の撮像範囲(画角)内におけるショベル100の周辺の物体の位置及び外形を表す三次元データ(例えば、点群データやサーフェスデータ)を取得してもよい。
例えば、図2、図3に示すように、撮像装置40は、上部旋回体3の前方を撮像するカメラ40F、上部旋回体3の後方を撮像するカメラ40B、上部旋回体3の左方を撮像するカメラ40L、及び上部旋回体3の右方を撮像するカメラ40Rを含む。これにより、オペレータは、表示装置50Aや遠隔操作用表示装置を通じて、カメラ40B,40L,40Rの撮像画像データや、当該撮像画像データに基づき生成される加工画像データ等の周辺画像データを視認し、上部旋回体3の左方、右方、及び後方の様子を確認することができる。また、オペレータは、遠隔操作用表示装置を通じて、カメラ40Fの撮像画像や当該撮像画像に基づき生成される加工画像等の周辺画像を視認することで、バケット6を含むアタッチメントATの動作を確認しながら、ショベル100を遠隔操作することができる。以下、カメラ40F,40B,40L,40Rを包括的に、又は、個別に、「カメラ40X」と称する場合がある。
撮像装置40(カメラ40X)は、それぞれ、撮像素子41と、画像処理エンジン42とを含む。カメラ40Xは、撮像素子41の出力(電気信号)に基づき、画像処理エンジン42によって撮像画像を生成し、生成した画像(撮像画像)を出力する。画像処理エンジン42は、例えば、CPU、メモリ装置、及び補助記憶装置等を含む画像処理専用のコンピュータであり、補助記憶装置にインストールされるプログラムをCPU上で実行することにより各種の画像処理を実現する。以下、画像処理エンジン42の撮像画像を生成する機能を撮像画像生成機能と称し、撮像装置40の撮像画像は、撮像画像生成機能で生成された画像を意味する。
なお、図3の二点鎖線は、カメラ40F,40B,40L,40Rの上面視の画角(撮像範囲)を表している。
図3に示されるように、カメラ40F,40B,40L,40Rは、略180度の画角(所定の画角の一例)を有する魚眼レンズ(第1広角レンズの一例)を備え、ショベル100(建設機械の一例)の周辺を撮像する。このようなカメラ40F,40B,40L,40Rは、撮影対象となる領域が広い一方で、撮像対象となる領域のうち、魚眼レンズの光軸中心から離れるに従って、魚眼レンズによるひずみが生じる。なお、本実施形態は、カメラ40F,40B,40L,40Rに設けられる広角レンズの画角を制限するものではなく、ショベル100周辺の広域を撮像可能な程度の画角であればよく、例えば120度~270度の間の画角を有していてもよい。
また、カメラ40F,40B,40L,40Rは、上部旋回体3の上面に取り付けられている。カメラ40F,40B,40L,40Rの取り付け角度は、予め設定されており、例えば、カメラ40F,40B,40L,40Rの各々の光軸が水平方向より下方を向くように取り付けられている。
また、例えば、図4に示すように、照射装置70は、コントローラ30の制御下で、撮像装置40の撮像範囲に所定の光を照射する。所定の光は、例えば、可視光である。また、所定の光は、例えば、赤外光であってもよい。撮像装置40の撮像範囲全体を照射可能であれば、照射装置70は、一つであってもよいし、複数であってもよい。例えば、照射装置70は、カメラ40Xごとにもうけられ、カメラ40Xと近接するように上部旋回体3に設置される。
なお、照射装置70は、省略されてもよい。
ブーム角度センサS1は、所定基準(例えば、水平面やブーム4の可動角度範囲の両端の何れかの状態等)に対するブーム4の姿勢角度(以下、「ブーム角度」)に関する検出情報を取得する。ブーム角度センサS1は、例えば、ロータリエンコーダ、加速度センサ、角速度センサ、六軸センサ、IMU(Inertial Measurement Unit)等を含んでよい。また、ブーム角度センサS1は、ブームシリンダ7の伸縮位置を検出可能なシリンダセンサを含んでもよい。
アーム角度センサS2は、所定基準(例えば、ブーム4の両端の連結点間を結ぶ直線やアーム5の可動角度範囲の両端の何れかの状態等)に対するアーム5の姿勢角度(以下、「アーム角度」)に関する検出情報を取得する。アーム角度センサS2は、例えば、ロータリエンコーダ、加速度センサ、角速度センサ、六軸センサ、IMU等を含んでよい。また、アーム角度センサS2は、アームシリンダ8の伸縮位置を検出可能なシリンダセンサを含んでもよい。
バケット角度センサS3は、所定基準(例えば、アーム5の両端の連結点間を結ぶ直線やバケット6の可動角度範囲の両端の何れかの状態等)に対するバケット6の姿勢角度(以下、「バケット角度」)に関する検出情報を取得する。バケット角度センサS3は、例えば、ロータリエンコーダ、加速度センサ、角速度センサ、六軸センサ、IMU等を含んでよい。また、バケット角度センサS3は、バケットシリンダ9の伸縮位置を検出可能なシリンダセンサを含んでもよい。
機体姿勢センサS4は、下部走行体1及び上部旋回体3を含むショベル100の機体の姿勢状態に関する検出情報を取得する。機体姿勢センサS4は、例えば、上部旋回体3に搭載され、上部旋回体3の水平面に対する傾斜角度や旋回軸回りの姿勢角度(即ち、地面を基準とする上部旋回体3の向き)に関する検出情報を取得する。機体姿勢センサS4は、例えば、加速度センサ(傾斜センサ)、角速度センサ、六軸センサ、IMU等を含んでよい。
旋回角度センサS5は、下部走行体1を基準とする上部旋回体3の旋回角度(即ち、上部旋回体3の向き)に関する検出情報を取得する。旋回角度センサS5は、例えば、ポテンショメータ、ロータリエンコーダ、レゾルバ等を含む。
また、例えば、ショベル100は、自機の絶対位置を測位可能な測位装置を含んでもよい。測位装置は、例えば、GNSS(Global Navigation Satellite System)センサである。これにより、ショベル100の姿勢状態の推定精度を向上させることができる。
また、例えば、ショベル100は、撮像装置40に加えて、ショベル100の周辺の物体との距離を検出する距離センサを含んでもよい。距離センサは、例えば、LIDAR(Light Detecting and Ranging)、ミリ波レーダ、超音波センサ、赤外線センサ、距離画像センサ等を含む。これにより、コントローラ30は、例えば、撮像装置40の出力に加えて、距離センサの出力を用いて、ショベル100の周辺の物体を検出することができる。
なお、ブーム角度センサS1、アーム角度センサS2、バケット角度センサS3、機体姿勢センサS4、及び旋回角度センサS5の一部又は全部は、省略されてもよい。例えば、遠隔操作機能や自動運転機能が採用されない場合、ショベル100のアタッチメントATや機体(上部旋回体3)の姿勢状態を推定する必要がない場合もあるからである。また、例えば、撮像装置40や後述の距離センサ等により取得されるショベル100の周辺の情報からショベル100の姿勢状態を推定することが可能な場合もあるからである。具体的には、撮像装置40や後述の距離センサ等により取得されるショベル100の周辺の情報には、機体(上部旋回体3)から見た周囲の物体やアタッチメントの位置や形状等に関する情報が含まれる場合がある。この場合、コントローラ30は、要求される精度によっては、その情報からアタッチメントATや機体(上部旋回体3)の姿勢状態を推定することができる。
ショベル100は、既知の各種画像処理手法や人工知能(AI:Artificial Intelligence)等を含む機械学習ベースで生成された学習済みモデルLM(図10参照)を用いることにより、撮像装置40によって撮影された撮像画像内の物体を認識する。次に、学習済みモデルLMを生成する管理装置200について説明する。
[管理装置のハードウェア構成]
次に、図5を参照して、管理装置200のハードウェア構成について説明する。
図5は、本実施形態に係る管理装置200のハードウェア構成の一例を示す図である。
管理装置200の機能は、任意のハードウェア又は任意のハードウェア及びソフトウェアの組み合わせ等により実現される。例えば、図5に示すように、管理装置200は、バスB2で接続される、外部インタフェース201、補助記憶装置202、メモリ装置203、CPU204、通信インタフェース206、入力装置207、及び表示装置208を含む。
外部インタフェース201は、記録媒体201Aからデータの読み取りや記録媒体201Aへのデータの書き込みのためのインタフェースとして機能する。記録媒体201Aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、SDメモリカード、USBメモリ等が含まれる。これにより、管理装置200は、記録媒体201Aを通じて、処理で利用する各種データを読み込み、補助記憶装置202に格納したり、各種機能を実現するプログラムをインストールしたりすることができる。
なお、管理装置200は、通信インタフェース206を通じて、外部装置から各種データやプログラムを取得してもよい。
補助記憶装置202は、インストールされた各種プログラムを格納すると共に、各種処理に必要なファイルやデータ等を格納する。補助記憶装置202は、例えば、HDD(Hard Disc Drive)やSSD(Solid State Drive)やフラッシュメモリ等を含む。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。メモリ装置203は、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)を含む。
CPU204は、補助記憶装置202からメモリ装置203にロードされた各種プログラムを実行し、プログラムに従って管理装置200に関する各種機能を実現する。
高速演算装置205は、CPU204と連動し、相対的に高い速度で演算処理を行う。高速演算装置205は、例えば、GPU(Graphics Processing Unit)やASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等を含む。
なお、高速演算装置205は、必要な演算処理の速度に応じて、省略されてもよい。
通信インタフェース206は、外部機器と通信可能に接続するためのインタフェースとして用いられる。これにより、管理装置200は、通信インタフェース206を通じて、例えば、ショベル100等の外部機器と通信することができる。また、通信インタフェース206は、接続される機器との間の通信方式等によって、複数の種類の通信インタフェースを有してもよい。
入力装置207は、ユーザから各種入力を受け付ける。例えば、入力装置207には、オペレータが遠隔操作を行うための入力装置(遠隔操作用操作装置)が含まれる。
入力装置207は、例えば、ユーザからの機械的な操作入力を受け付ける操作入力装置を含む。操作入力装置は、例えば、ボタン、トグル、レバー等を含む。また、操作入力装置は、例えば、表示装置208に実装されるタッチパネル、表示装置208とは別に設けられるタッチパッド等を含む。
また、入力装置207は、例えば、ユーザからの音声入力を受付可能な音声入力装置を含む。音声入力装置は、例えば、ユーザの音声を集音可能なマイクロフォンを含む。
また、入力装置207は、例えば、ユーザからのジェスチャ入力を受付可能なジェスチャ入力装置を含む。ジェスチャ入力装置は、例えば、ユーザのジェスチャの様子を撮像可能なカメラを含む。
また、入力装置207は、例えば、ユーザからの生体入力を受付可能な生体入力装置を含む。生体入力装置は、例えば、ユーザの指紋や虹彩に関する情報を内包する画像データを取得可能なカメラを含む。
表示装置208は、ユーザに向けて、情報画面や操作画面を表示する。例えば、表示装置208には、上述の遠隔操作用表示装置が含まれる。表示装置208は、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ等である。
[管理装置の機能構成の一例]
次に、図6を参照して、管理装置200による、学習済みモデルを生成するための機能構成の一例について説明する。
図6は、本実施形態に係る管理装置200における機能構成の一例を示す機能ブロック図である。管理装置200のCPU204は、補助記憶装置202に格納されているプログラムを実行する。これにより、CPU204は、機能部として、画像データ取得部211と、教師データセット生成部212と、学習部213と、出力部214とを含む。画像データ取得部211、教師データセット生成部212、学習部213、及び出力部214等の機能は、例えば、補助記憶装置202にインストールされるプログラムをメモリ装置203にロードし、CPU204上で実行することにより実現される。
画像データ取得部211は、学習に用いる画像データ(以下、学習用画像データと称する)を複数取得する。取得する学習用画像データの数は、特に制限するものではなく、学習済みモデルを生成可能な数であればよい。
教師データセット生成部212は、画像データ取得部211が取得した学習用画像データから、教師データを生成する。本実施形態に係る教師データセット生成部212は、学習用画像データを、表示装置208に表示させる。オペレータは、学習用画像データにおける、人が写っている領域(位置、及び大きさ)を特定すると共に、当該領域に写っている人の画像に対応するクラスを設定する。そして、教師データセット生成部212は、学習用画像データに対して、当該人が写っている領域(位置、及び大きさ)を示したアノテーションと、当該クラスと、を対応付けて、教師データを生成する。さらに、教師データセット生成部212は、複数の教師データで構成される教師データセットを生成する。
なお、クラスは、人の画像の形状を分類している。人の画像は、カメラ40Xの魚眼レンズ(広角レンズの一例)の略180度の画角で撮像されるために、写っている人の画像の位置によってはひずんでいる場合がある。なお、具体的なクラスについては後述する。
学習部213は、教師データセット生成部212から出力された教師データセットに基づいた機械学習を行うことで、学習済みモデルLMを生成する。教師データセットは、複数の教師データで構成されている。つまり、学習部213は、複数の教師データの各々に含まれる、撮像画像データ、検出枠(位置情報の一例)、及びクラス(分類情報)を読み込んで機械学習を行い、学習済みモデルLMを生成する。生成された学習済みモデルLMは、撮像画像データを入力することで、人の画像を囲む検出枠と、当該人の画像に対応するクラスと、を出力できる。
学習済みモデルLMは、ベースの学習モデルに対して、教師あり学習が適用されることにより生成される。具体的には、学習部213は、入力としての画像データ画像と、出力としての正解(当該画像データに写っている人の画像の位置、人の画像の大きさ、及びクラス)との組み合わせによる教師データの集まり(教師データセット)に基づいて、機械学習を行うことで、学習済みモデルLMを生成する。
また、学習済みモデルLMは、既存の学習済みモデルLMに新たな教師データセットを追加学習させることにより、更新されてもよい。
学習済みモデルLMの生成に用いる機械学習としては、例えば、ディープニューラルネットワーク(DNN:Deep Neural Network)用いた機械学習であって、深層学習(ディープラーニング)を適用する。
出力部214は、学習部213により生成された学習済みモデルLMを、ショベル100のコントローラ30に出力する。学習済みモデルLMを、ショベル100に出力する手法はどのような手法でもよく、所定の通信回線NWを通じて、ショベル100のコントローラ30に送信してもよい。さらには、出力部214は、所定の記録媒体に、学習済みモデルLMを書き込んでもよい。これにより、作業者は、所定の記憶媒体を用いて、ショベル100のコントローラ30に学習済みモデルLMを登録できる。コントローラ30への学習済みモデルLMの登録は、ショベル100の出荷前に研究施設や工場で行うことが考えられるが、ショベル100の出荷後に、学習済みモデルLMを更新する場合に行ってもよい。
管理装置200は、上述した構成を備えることで、学習済みモデルLMを生成し、ショベル100に当該学習済みモデルLMを登録できる。したがって、ショベル100は、当該学習済みモデルLMを用いて、ショベル100周辺に存在する人(監視対象となる物体の一例)を検出できる。上述したように、魚眼レンズのために撮像画像でひずみを生じさせている撮像装置において、人が写っている位置にばらつきが生じている複数の教師データに基づいて機械学習した学習済みモデルLMを用いることができるので、魚眼レンズを用いた撮像装置40で撮像した撮像画像であっても、建設機械管理システムSYSは、監視物体をより精度良く検出することができる。
[学習用画像データを撮像する撮像装置の説明]
学習用の撮像装置としては、ショベル100に搭載している撮像装置40を適用するのが好ましい。しかしながら、本実施形態は、学習用の撮像装置を、撮像装置40に制限するものではない。さらに、学習用の撮像装置は、ショベル100等の建設機械に取り付ける態様に制限するものではない。例えば、学習用の撮像装置は、鉄塔や壁などの物体に取り付けられてもよい。この場合、学習用の撮像装置は、撮像装置40と同様の撮影を行うために、撮像装置40が設けられたショベル100が接地した地面を基準として、撮像装置40と略同一の高さ及び略同一の取り付け角度になるように、物体に設けられる。
また、学習用の撮像装置は、ショベル100に設けられた撮像装置40の魚眼レンズと略同一の画角を有する魚眼レンズを備えている。例えば、学習用の撮像装置は、略180度の画角(所定の画角の一例)を有している。これにより、撮像装置40で生じるひずみを考慮した機械学習が可能になる。
[学習用画像データの概要]
次に、画像データ取得部211が取得する学習用画像データについて説明する。学習用画像データは、ショベル100に備えられた撮像装置40で撮影された撮像画像データを解析するための学習データである。
学習用画像データは、上述した撮像装置40で撮像したため、光軸中心から離れるに従ってひずみが大きくなる。このため、写っている人の画像も同様に、写っている位置に応じて、当該人の画像の形状にひずみが生じている。例えば、学習用画像データにおいて右端近傍に写っている人の画像は、右側に傾きが生じたり、右側に湾曲が生じたりする。
このため、例えば、人が正面に写っている撮像画像のみを、学習用画像データとして用いた場合、人が右端の方又は左端の方に写っている場合に、人として適切に検出できない可能性がある。
そこで、本実施形態に係る学習用画像データとして、魚眼レンズによるひずみを機械学習できるように、人の画像が写っている位置にばらつきがある複数の撮像画像データを用意する。これにより、撮像装置40の画角が大きいことによって生じるひずみを機械学習できる。
[教師データの具体的な説明]
教師データには、学習用画像データと共に、学習用画像データに写っている人の画像の位置及び大きさを示した矩形形状の枠(以下、検出枠と称する)、及び人の画像の形状に応じたクラスが設定されている。例えば、オペレータが、管理装置200の入力装置207を介して、学習用画像データに対して、矩形形状の検出枠及びクラスを設定する。
クラスは、カメラ40Xの魚眼レンズの画角が大きいことによってひずんだ人の画像の形状の分類であって、例えば、"正面の人"、"右側の人"、"左側の人"などが考えられる。
図7は、本実施形態に係る教師データセット生成部212において生成された教師データの一例を示した図である。図7に示される例では、学習用画像データ701に対して、人が写っている領域702で示される検出枠の設定を受け付けている。本実施形態では、人が写っている領域702を示す枠が矩形形状の例について説明するが、どのような形状であってもよい。また、検出枠の位置を特定するための位置情報は、検出枠内のどの座標であってもよく、例えば、検出枠の四隅のうちいずれか一つ以上の位置座標であってもよいし、検出枠の中心を示す位置座標であってもよい。
図7は、領域702に写っている人の画像の形状を表すクラスとして、"正面の人"の設定を受け付けた例である。
"正面の人"とは、例えば、学習用画像データにおいて、中心近傍に写っている人であって、学習用画像データでは垂直方向にまっすぐな形状で写っている人を示している。
図8は、本実施形態に係る教師データセット生成部212において生成された教師データの一例を示した図である。図8に示される例では、学習用画像データ801に対して、人が写っている領域802で示される検出枠の設定を受け付けている。図8は、領域802に写っている人の画像の形状を表すクラスとして、"左側の人"の設定を受け付けた例である。
"左側の人"とは、例えば、学習用画像データにおいて、中心から左側に離れた位置に写っている人であって、魚眼レンズのひずみによって左側に傾いている、又は左側に湾曲した形状で写っている人を示している。
図9は、本実施形態に係る教師データセット生成部212において生成された教師データの一例を示した図である。図9に示される例では、学習用画像データ901に対して、人が写っている領域902で示される検出枠の設定を受け付けている。図9は、領域902に写っている人の画像の形状を表すクラスとして、"右側の人"の設定を受け付けた例である。
"右側の人"とは、例えば、学習用画像データにおいて、中心から右側に離れた位置に写っている人であって、魚眼レンズのひずみによって右側に傾いている、又は右側に湾曲した形状で写っている人を示している。
ところで、学習用画像データに写っている人には、全体が写っている人のみならず、体の一部が写らずに、見切れてしまう人も存在する。見切れている人も学習済みモデルLMで検出できる方が好ましい。そこで、オペレータは、見切れている人の画像を表すクラスを設定してもよい。当該クラスの例としては、"下半身"、"上半身"などがある。このように本実施形態に係るクラスには、人の全体が写っているか否かに基づいて人の画像の形状を分類した情報が含まれている。なお、本実施形態は、人の全体が写っていない場合の分類を、"下半身"、"上半身"のみに制限するものではなく、例えば、"腕のみ"や"頭を含んだ一部領域"を分類対象としてもよい。
本実施形態では、オペレータが、学習用画像データを参照した際に、学習用画像データに写っている人の画像の形状に応じて、クラスを設定する。これにより、学習用画像データに写っている人の画像には、対応するクラスが設定される。そして、教師データセット生成部212が、オペレータの設定結果に応じて、学習用画像データに写っている人の画像に対して、クラスを対応付けて設定する。
なお、本実施形態では、教師データセット生成部212が、オペレータの判断結果に応じてクラスを設定する例とするが、教師データセット生成部212が、人が写っている領域702の位置及び大きさに応じて、自動的にクラスを設定してもよい。
例えば、教師データセット生成部212は、人の画像が学習用画像データの右側1/3の領域に写っている場合に"右側の人"、学習用画像データの左側1/3の領域に写っている場合に"左側の人"、学習用画像データの中央1/3の領域に写っている場合に"正面の人"というクラスを自動的に設定してもよい。
このように、教師データセット生成部212は、学習用画像データ毎に、学習用画像データに写っている人の画像の位置及び人の画像の大きさを示した検出枠(位置情報の一例)、及び当該人の形状を表すクラスを対応付けて、教師データ(学習用画像の一例)を生成する。
教師データセットは、入力される学習用画像データとして、監視対象である物体(例えば人)が含まれる(写っている)画像と、監視対象である物体が含まれない(写っていない)画像と、の双方が採用される。
また、教師データセットには、上述したように、学習用の撮像装置(例えば、カメラ40Xと同機種のカメラ)によって撮像された、監視対象である物体(例えば人)が写っている画像が含まれている。これにより、学習済みモデルLMは、カメラ40Xの撮像画像への監視対象である物体(例えば人)の写り方を反映して、カメラ40Xの撮像画像から物体を検出可能なように機械学習される。例えば、学習済みモデルLMは、検出枠(位置情報の一例)で示された人の画像の位置に対応する、当該人の画像の形状を機械学習している。そのため、物体検出部302は、物体(例えば人)をより精度良く検出することができる。
また、教師データセットには、例えば、互いに異なる複数の種類の背景のそれぞれの中に監視物体が写っている画像が含まれていてもよい。例えば、複数の種類の背景には、土の地面、アスファルトの地面、森林、住宅、都市建造物等が含まれる。これにより、学習済みモデルLMは、背景の違いによる監視物体の見え方を反映して、入力画像から監視物体を検出可能なように機械学習される。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、異なる複数の時間帯のそれぞれで撮像された、監視物体が写っている画像が含まれていてもよい。複数の時間帯には、例えば、朝の時間帯(例えば、6時~10時)、昼の時間帯(例えば、10時~15時)、夕方の時間帯(例えば、16時~19時)、及び夜の時間帯(例えば、19時~翌6時)が含まれる。これにより、学習済みモデルLMは、時間帯の違いによる監視物体の見え方を反映して、入力画像から監視物体を検出可能なように機械学習される。そのため、学習済みモデルLMを搭載したショベル100は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、夜の時間帯に異なる複数の照明状態で撮像された、監視物体が写っている画像が含まれていてもよい。照明状態には、例えば、照明の照度の高低や照明の色等が含まれる。これにより、学習済みモデルLMは、照明状態の違いによる監視物体の見え方を反映して、入力画像から監視物体を検出可能なように機械学習される。そのため、学習済みモデルLMを搭載したショベル100は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、異なる複数の種類の天候状態で撮像された、監視物体が写っている画像が含まれていてもよい。複数の種類の天候状態には、例えば、晴れ、曇り、雨、雪等が含まれる。これにより、学習済みモデルLMは、天候の違いによる監視物体の見え方を反映して、入力画像から監視物体を検出可能なように機械学習される。そのため、学習済みモデルLMを搭載したショベル100は、監視物体をより精度良く検出することができる。
また、教師データセットには、例えば、光源と撮像範囲との位置関係が互い異なる、監視物体が写っている複数の画像が含まれていてもよい。光源は、例えば、太陽や夜間の照明である。複数の画像には、光源と撮像範囲との位置関係が順光、半順光、側光、逆光等のそれぞれに相当する画像が含まれる。また、複数の画像には、例えば、同じ順光、側光、逆光等の状態で、太陽の地面からの高さ(仰角)がそれぞれで異なる画像が含まれる。これにより、教師データセットは、光源の位置の違いによる監視物体の見え方を反映して、入力画像から監視物体を検出可能なように機械学習される。そのため、学習済みモデルLMを搭載したショベル100は、監視物体をより精度良く検出することができる。
また、教師データセットには、直立姿勢の人が写っている撮像画像だけではなく、他の姿勢の人が写っている撮像画像が含まれていてもよい。これにより、学習済みモデルLMを搭載したショベル100は、様々な姿勢の人を検出できる。
また、教師データセットには、監視対象となる人の画像として、高視認性安全服を装着している人が写っている複数の画像を用意してもよい。この場合、教師データセット生成部212は、教師データセットとして、高視認性安全服の形状、色(例えば、蛍光イエローや蛍光グリーン)、及び再帰性反射材の輝度の少なくとも一つを機械学習する。これにより、当該学習済みモデルLMを搭載したショベル100は、ショベル100の周辺に存在する高視認性安全服を装着している人の検出精度を向上させることができる。
[ショベルの機能構成の一例]
次に、図10を参照して、ショベル100の機能構成の一例について説明する。
図10は、本実施形態に係るショベル100の機能構成の一例を示す機能ブロック図である。コントローラ30は、機能部として、表示処理部301と、物体検出部302と、位置推定部303と、安全制御部304と、照射制御部305と、更新制御部306とを含む。表示処理部301、物体検出部302、位置推定部303、安全制御部304、照射制御部305、及び更新制御部306の機能は、例えば、補助記憶装置30Aにインストールされるプログラムをメモリ装置30Bにロードし、CPU30C上で実行することにより実現される。さらに、コントローラ30は、補助記憶装置30A上に、管理装置200から受信した、学習済みモデルLMが記憶されている。
表示処理部301は、撮像装置40から入力される撮像画像に基づき、キャビン10の内部の表示装置50Aに周辺画像を表示させる。
表示処理部301は、カメラ40F,40B,40L,40Rの何れか一つの撮像範囲に相当する周辺画像を表示装置50Aに表示してもよいし、カメラ40F,40B,40L,40Rのうちの何れか2以上のカメラの撮像範囲を表示装置50Aに表示してもよい。例えば、表示処理部301は、カメラ40F,40B,40L,40Rのうちの少なくともカメラ40B,40Rの撮像範囲を含む周辺画像を表示装置50Aに表示する。カメラ40B,40Rの撮像範囲に相当する上部旋回体3の後方及び右側方は、キャビン10のオペレータから見て死角になり易いからである。
物体検出部302は、補助記憶装置30Aに記憶されている学習済みモデルLMを読み出して、撮像装置40の出力(撮像画像)に基づき、ショベル100の周辺に存在する人(監視対象となる物体の一例)を検出する処理を実行する。
学習済みモデルLMは、教師用データセットに含まれる教師データの各々に写っている人の画像の位置を示した検出枠の情報(位置情報の一例)、及び魚眼レンズによる略180度の画角(所定の画角の一例)でひずんだ人の画像の形状を示したクラス(分類情報の一例)を読み込んで機械学習し、入力された撮像画像データに対して、人が写っているか否かを判断結果として、検出枠及びクラスを出力するよう機能させるものである。
本実施形態は、人の画像の位置を示した位置情報の例である、撮像画像データに写っている人の画像を矩形形状で囲った検出枠について説明する。しかしながら、本実施形態は、人の画像の位置情報を検出枠に制限するものではない。例えば、位置情報は、人の画像の位置を示した座標等であってもよい。
そして、物体検出部302は、学習済みモデルLMを用いて、撮像装置40によって撮像された撮像画像に人が写っているか否かを判定し、判定結果を出力する。物体検出部302は、判定結果として、検出枠とクラスとを出力する。
つまり、ショベル100の周辺に存在する人の画像の検出とは、撮像装置40の魚眼レンズによるひずみを考慮して、撮像画像データに写っている人の画像の位置及び形状に基づいたクラスを認識し、当該クラスで示される人の画像の位置、及び大きさ(領域)を示す検出枠を特定することを意味している。例えば、学習済みモデルLMに撮像画像データが入力された際に検出枠とクラスとが出力されたことは、人が写っていると判定されたことを意味する。換言すれば、学習済みモデルLMに撮像画像データが入力された際に検出枠とクラスとが出力されなかったことは、人が写っていなかったと判定されたことを意味する。以下、物体検出部302に入力される画像(撮像装置40から出力された撮像画像)を便宜的に「入力画像」と称する場合がある。
なお、物体検出部302が検出対象となる人は、特に制限するものではなく、例えば、ショベル100の周辺で作業する作業者や作業現場の監督者等の人が含まれてもよい。
また、物体検出部302が検出する物体を、人のみに制限するものではなく、例えば、穴、溝、土砂の山等の特定の地形、ロードコーン、柵、電柱、仮置きの資材、作業現場の仮設事務所等の定置された(即ち、自身の力では移動しない)障害物などの任意の物体が含まれてもよい。さらには、検出する物体として、例えば、他の作業機械や作業車両等の移動可能な障害物が含まれてもよい。物体検出部302による検出対象の監視物体の種類数は、1つであってもよいし、複数であってもよい。
物体検出部302による物体検出方法の詳細については、後述する。
なお、物体検出部302は、入力装置52に対するオペレータ等による所定の入力に応じて、その機能がON(有効)/OFF(無効)の間で切り替えられてもよい。また、物体検出部302の機能は、カメラ40Xに移管され、検出結果がコントローラ30に送信される態様であってもよい。また、物体検出部302の機能は、表示装置50Aに移管され、検出結果がコントローラ30に移管される態様であってもよい。この場合、カメラ40Xの撮像画像は、表示装置50Aに直接入力される。そのため、この場合、表示処理部301の機能も表示装置50Aに移管されてよい。また、物体検出部302の機能は、撮像装置40に移管されてもよい。この場合、物体検出部302の機能は、カメラ40F,40B,40L,40Rのそれぞれの撮像画像に基づき監視物体を検出する物体検出部に分割され、カメラ40F,40B,40L,40Rのそれぞれに内蔵されてもよい。
位置推定部303は、物体検出部302により撮像装置40の撮像画像の中から監視物体(例えば、クラスで分類される人)が検出された場合に、検出された監視物体が実際に存在する位置、即ち、ショベル100の周辺での監視物体の位置(以下、「実在位置」)を推定する。
具体的には、位置推定部303は、物体検出部302により特定された監視物体の撮像画像における検出位置(検出領域)に基づき、監視物体の実在位置を推定する。また、物体検出部302により複数の監視物体が検出されている場合、位置推定部303は、複数の監視物体ごとの実在位置を推定する。
例えば、カメラ40Xが単眼カメラの場合、位置推定部303は、入力画像の中の監視物体の検出領域における基準点(検出位置)を特定し、その基準点の入力画像における左右方向の位置に基づき、ショベル100(上部旋回体3)から見た方向を推定する。また、位置推定部303は、入力画像の中の監視物体の検出領域の大きさ(例えば、上下方向の大きさ)に基づき、ショベル100から監視物体までの距離(具体的には、ショベル100が位置する作業平面に沿う方向の距離)を推定する。認識された監視物体の入力画像上における大きさは、監視物体がショベル100(上部旋回体3)から離れるほど小さくなる相関関係があるからである。具体的には、監視物体には、想定される大きさの範囲(例えば、想定される人の身長の範囲)があるため、想定された大きさの範囲に含まれる当該監視物体のショベル100から見た位置と、入力画像上での大きさとの相関関係が予め規定されうる。そのため、物体検出部302は、例えば、補助記憶装置30A等に予め格納される、入力画像上の監視物体の大きさと上部旋回体3から見た距離との相関関係を表すマップや変換式等に基づき、認識された監視物体の実在位置を推定することができる。よって、位置推定部303は、ショベル100(上部旋回体3)から見た監視物体の方向、及び距離を推定することにより、認識された監視物体の位置を推定することができる。
また、例えば、カメラ40Xが単眼カメラの場合、位置推定部303は、監視物体が下部走行体1と同じ平面上に存在する前提の下、入力画像の当該平面上への射影変換等によって、その実在位置を推定してもよい。具体的には、位置推定部303は、監視物体の地面との接触点を代表する基準点(検出位置)を特定し、その基準点に対して、カメラ40Xの上部旋回体3に対する設置位置及び設置角度に応じて規定される射影変換により、監視物体の実在位置を演算してよい。この場合、入力画像を構成するある部分(例えば、ある画素)は、ショベル100(下部走行体1)と同じ平面上のある位置に1対1で対応づけられる。
また、例えば、カメラ40Xがステレオカメラの場合、2つの撮像画像ごとの監視物体の検出領域における基準位置のズレ(視差)に基づき、監視物体の実在位置を推定する。
安全制御部304は、ショベル100の機能安全に関する制御を行う。
安全制御部304は、例えば、物体検出部302によって、ショベル100の周辺の所定範囲内で監視物体が検出される場合に、安全機能を作動させる。具体的には、安全制御部304は、位置推定部303により推定される、監視物体の実在位置(推定値)がショベル100の周辺の所定範囲内である場合に、安全機能を作動させてよい。
安全機能には、例えば、キャビン10の内部、キャビン10の外部、及びショベル100の遠隔のオペレータや監視者等の少なくとも一つに対する警報等を出力し、監視物体の検出を報知する報知機能が含まれてよい。これにより、キャビン10の内部のオペレータ、ショベル100の周辺の作業者、ショベル100の遠隔操作や遠隔監視を行うオペレータや監視者等に対して、ショベル100の周辺の監視エリア内に監視物体が存在していることに関する注意を促すことができる。以下、キャビン10の内部(オペレータ等)への報知機能を「内部報知機能」、ショベル100の外部(作業者等)への報知機能を「外部報知機能」、及びショベル100の遠隔操作や遠隔監視を行うオペレータや監視者への報知機能を「遠隔報知機能」とそれぞれ称し、区別する場合がある。
また、安全機能には、例えば、操作装置26の操作、遠隔操作、又は自動運転機能に対応する操作指令に対するショベル100の動作を制限する動作制限機能が含まれてよい。これにより、ショベル100の動作を強制的に制限し、ショベル100と周辺の物体との接近や接触等の可能性を低減させることができる。動作制限機能には、操作装置26の操作、遠隔操作、又は自動運転機能に対応する操作指令に対するショベル100の動作速度を通常よりも遅くする動作減速機能が含まれてよい。また、動作制限機能には、操作装置26の操作、遠隔操作、又は自動運転機能に対応する操作指令に関わらず、ショベル100の動作を停止させ、停止状態を維持させる動作停止機能が含まれてもよい。
安全制御部304は、例えば、物体検出部302によって、ショベル100の周辺の所定範囲(以下、「報知範囲」)で監視物体が検出される場合に、報知機能を作動させる。報知範囲は、例えば、ショベル100の所定の部位からの距離Dが閾値Dth1以下の範囲である。ショベル100の所定の部位は、例えば、上部旋回体3である。また、ショベル100の所定の部位は、例えば、アタッチメントATの先端部のバケット6やフックであってもよい。閾値Dth1は、ショベル100の所定の部位から見た方向に依らず一定であってもよいし、ショベル100の所定の部位から見た方向によって変化してもよい。
安全制御部304は、例えば、音出力装置50Bを制御することにより、キャビン10の内部及び外部の少なくとも一方に対する音(即ち、聴覚的な方法)による内部報知機能や外部報知機能を作動させる。このとき、安全制御部304は、各種条件に応じて、出力される音の音高、音圧、音色、音を周期的に吹鳴させる場合の吹鳴周期、音声の内容等を異ならせてもよい。
また、安全制御部304は、例えば、視覚的な方法による内部報知機能を作動させる。具体的には、安全制御部304は、表示処理部301を通じて、キャビン10の内部の表示装置50Aを制御することにより、表示装置50Aに周辺画像と共に、監視物体が検出されていることを表す画像を表示させてよい。また、安全制御部304は、表示処理部301を通じて、キャビン10の内部の表示装置50Aに表示される周辺画像に写っている監視物体や、検出された監視物体に対応する周辺画像上の位置を強調させてもよい。より具体的には、安全制御部304は、キャビン10の内部の表示装置50Aに表示されている周辺画像上に、検出されている監視物体を囲む枠を重畳して表示させたり、検出された監視物体の実在位置に対応する周辺画像上の位置にマーカを重畳して表示させたりしてよい。これにより、表示装置50Aは、オペレータに対する視覚的な報知機能を実現することができる。また、安全制御部304は、キャビン10の内部の警告灯や照明装置等を用いて、監視物体が検出されていることをキャビン10の内部のオペレータ等に対して報知してもよい。
また、安全制御部304は、例えば、上部旋回体3のハウス部の側面等に設けられる出力装置50(例えば、前照灯等の照明装置や表示装置50A)を制御することにより、視覚的な方法による外部報知機能を作動させてもよい。また、安全制御部304は、例えば、オペレータが着座する操縦席を振動させる振動発生装置を制御することにより、触覚的な方法で内部報知機能を作動させてもよい。これにより、コントローラ30は、オペレータやショベル100の周辺の作業者及び監督者等に対して、ショベル100の周辺の相対的に近い場所に監視物体(例えば、作業者等の人)が存在することを認識させることができる。そのため、コントローラ30は、オペレータに対して、ショベル100の周辺の安全状況の確認を促したり、監視エリア内の作業者等に対して、監視エリアからの退避を促したりすることができる。
また、安全制御部304は、例えば、通信装置60を通じて、報知機能の作動を示す指令信号を管理装置200に送信することにより、遠隔報知機能を作動させてもよい。この場合、管理装置200は、通信インタフェース206によりショベル100から指令信号を受信すると、表示装置208等を通じて、視覚的な方法や聴覚的な方法による警報を出力してよい。これにより、管理装置200を通じてショベル100の遠隔操作や遠隔監視を行うオペレータや監視者は、ショベル100の周辺の報知範囲内に監視物体が進入したことを把握することができる。
なお、安全制御部304の遠隔報知機能は、管理装置200に移管されてもよい。この場合、管理装置200は、ショベル100から物体検出部302による監視物体の検出状況や位置推定部303による監視物体の実在位置の推定結果に関する情報を受信する。そして、管理装置200は、受信した情報に基づき、報知範囲内への監視物体の進入の有無を判断し、報知範囲内に監視物体が存在する場合に、外部報知機能を作動させる。
また、安全制御部304は、報知範囲内で検出されている監視物体と、上部旋回体3との位置関係に応じて、報知態様(即ち、報知の仕方)を異ならせてもよい。
例えば、安全制御部304は、物体検出部302により報知範囲内で検出された監視物体がショベル100の所定の部位に対して相対的に遠い位置に存在する場合、監視物体への注意を促す程度の相対的に緊急度が低い警報(以下、「注意レベルの警報」)を出力してよい。以下、報知範囲のうちのショベル100の所定の部位に対する距離が相対的に遠い範囲、即ち、注意レベルの警報に対応する範囲を便宜的に「注意報知範囲」と称する場合がある。一方、安全制御部304は、物体検出部302により報知範囲内で検出された監視物体がショベル100の所定の部位に対して相対的に近い位置に存在する場合、監視物体がショベル100の所定の部位に接近し危険度が高まっていることを知らせる相対的に緊急度が高い警報(以下、「警戒レベルの警報」)を出力してよい。以下、報知範囲のうちのショベル100の所定の部位に対する距離が相対的に近い範囲、即ち、警戒レベルの警報に対応する範囲を「警戒報知範囲」と称する場合がある。
この場合、安全制御部304は、注意レベルの警報と警戒レベルの警報との間で、音出力装置50Bから出力される音の音高、音圧、音色、吹鳴周期等を異ならせてよい。また、安全制御部304は、注意レベルの警報と警戒レベルの警報との間で、表示装置50Aに表示される監視物体が検出されていることを表す画像や、表示装置50Aに表示される周辺画像上の監視物体又は監視物体の位置を強調させる画像(例えば、枠やマーカ等)の色、形状、大きさ、点滅の有無、点滅周期等を異ならせてよい。これにより、コントローラ30は、音出力装置50Bから出力される報知音(警報音)や表示装置50Aに表示される報知画像の相違によって、オペレータ等に緊急度、換言すれば、監視物体のショベル100の所定の部位に対する接近度を把握させることができる。
安全制御部304は、報知機能の作動開始後、物体検出部302により検出されていた監視物体が報知範囲内で検出されなくなった場合、報知機能を停止させてよい。また、安全制御部304は、報知機能の作動開始後、入力装置52を通じて、報知機能の作動を解除する所定の入力が受け付けられた場合に、報知機能を停止させてもよい。
また、安全制御部304は、例えば、物体検出部302によりショベル100の周辺の所定範囲(以下、「動作制限範囲」)内で監視物体が検出される場合に、動作制限機能を作動させる。動作制限範囲は、例えば、上述の報知範囲と同じに設定される。また、動作制限範囲は、例えば、報知範囲よりもその外縁がショベル100の所定の部位に相対的に近くなるような範囲に設定されてもよい。これにより、安全制御部304は、例えば、監視物体が外側から報知範囲に進入すると、まず、報知機能を作動させ、その後に、監視物体が内側の動作制限範囲に進入すると、更に、動作制限機能を作動させることができる。そのため、コントローラ30は、監視物体の監視エリア内での内側への移動に合わせて、段階的に、報知機能及び動作制限機能を作動させることができる。
具体的には、安全制御部304は、ショベル100の所定の部位からの距離Dが閾値Dth2(≦Dth1)以内の動作制限範囲内で監視物体が検出されると、動作制限機能を作動させてよい。閾値Dth2は、ショベル100の所定の部位から見た方向に依らず一定であってもよいし、ショベル100の所定の部位から見た方向によって変化してもよい。
また、動作制限範囲には、操作装置26の操作、遠隔操作、自動運転機能に対応する操作指令に対するショベル100の動作速度を通常よりも遅くする動作減速範囲、及び操作装置26の操作、遠隔操作、自動運転機能に対応する操作指令に関わらず、ショベル100の動作を停止させ、停止状態を維持させる動作停止範囲の少なくとも一方が含まれる。例えば、動作制限範囲に動作減速範囲及び動作停止範囲の双方が含まれる場合、動作停止範囲は、動作制限範囲のうちのショベル100の所定の部位に近接する範囲である。そして、動作減速範囲は、動作制限範囲のうちの動作停止範囲の外側に設定される範囲である。
安全制御部304は、油圧制御弁31を制御することにより、ショベル100の動作を制限する動作制限機能を作動させる。この場合、安全制御部304は、全ての被駆動要素(即ち、対応する油圧アクチュエータ)の動作を制限してもよいし、一部の被駆動要素(油圧アクチュエータ)の動作を制限してもよい。これにより、コントローラ30は、ショベル100の周辺に監視物体が存在する場合に、ショベル100の動作を減速させたり、停止させたりすることができる。そのため、コントローラ30は、ショベル100の周辺の監視物体とショベル100や吊り荷との接触の発生を抑制することができる。また、安全制御部304は、パイロットライン25の図示しない電磁切換弁を制御し、パイロットライン25を遮断することにより、動作制限機能(動作停止機能)を作動させてもよい。
また、安全制御部304は、動作制限機能の作動開始後、物体検出部302により検出されていた監視物体が動作制限範囲内で検出されなくなった場合、動作制限機能を停止させてよい。また、安全制御部304は、動作制限機能の作動開始後、入力装置52を通じて、動作制限機能の作動を解除する所定の入力が受け付けられた場合に、動作制限機能を停止させてもよい。入力装置52に対する報知機能の作動解除のための入力の内容と、動作制限機能の作動解除のための入力の内容とは、同じであってもよいし、異なっていてもよい。
また、安全制御部304は、入力装置52に対するオペレータ等による所定の入力に応じて、その機能がON(有効)/OFF(無効)の間で切り替えられてもよい。
照射制御部305は、照射装置70に関する制御を行う。
なお、上述の如く、照射装置70が省略される場合、当然の如く、照射制御部305も省略される。
更新制御部306は、学習済みモデルLMの更新に関する制御を行う。具体的な手順については後述する。
[物体検出方法の概要]
次に、物体検出部302による物体検出方法の概要について説明する。図11は、本実施形態に係る物体検出部302における、物体検出手法の一例を示した図である。
図11に示されるように、物体検出部302は、例えば、機械学習を適用された学習済みモデルLMを用いて、カメラ40Xの撮像画像から監視物体を検出する。具体的には、物体検出部302は、学習済みモデルLMを用いて、入力画像(カメラ40Xの撮像画像又はその補正済の撮像画像)から、人(監視物体の一例が写っている領域を表す検出枠、及び人(監視物体の一例)の画像の形状を分類するクラスを出力する。
クラスとしては、例えば、上述したような"正面の人"、"右側の人"、"左側の人"、下半身"、及び"上半身"などが含まれている。
なお、検出された人の画像の形状に設定されるクラスは、1つのみでもよいし、複数でもよい。また、人の他に複数の種類の監視物体が存在する場合、単一の学習済みモデルLMが全ての種類の監視物体ごとのクラスを出力可能に、即ち、全ての種類の監視物体を検出可能に構成されてもよいし、全ての種類の監視物体のうちの一部の種類のみを検出可能な学習済みモデルLMが複数設けられてもよい。
例えば、物体検出部302は、画像に写っている監視物体の画像特徴量の傾向を機械学習済みのサポートベクターマシーン(SVM:Support Vector Machine)を用いて、入力画像から監視物体を検出する。この場合、学習済みモデルLMには、前段処理として、カメラ40Xの撮像画像から画像特徴量を抽出する処理部が含まれる。画像特徴量は、例えば、HOG(Histogram of Oriented Gradients)特徴量である。
物体検出部302は、ディープニューラルネットワーク(DNN:Deep Neural Network)用いた機械学習、即ち、深層学習(ディープラーニング)による学習済みモデルLMを用いて、入力画像から監視物体を検出する。具体的には、物体検出部302は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いた深層学習による学習済みモデルLMを用いて、入力画像から監視物体を検出してもよい。CNNは、畳み込み処理を行う畳み込み層及びプーリング処理を行うプーリング層の組み合わせを活性化関数により複数繋ぎ合わせることにより構成され、最終段の全結合層によって、特徴量(特徴マップ)に基づく判定を行う。活性化関数は、例えば、ReLU(Rectified Linear Unit)である。これにより、学習済みモデルLMは、前段処理を要せずに、入力画像をそのまま取り扱うことができる。
物体検出部302は、CNNをベースとする学習済みモデルLMを用いて、入力画像から監視物体の候補の領域を生成し、これらの候補をクラスで分類して、人(監視物体の一例)を検出する。即ち、CNNをベースとする学習済みモデルLMは、例えば、入力画像からの監視物体の検出を分類問題として取り扱い、カメラ40Xの撮像画像から監視物体の候補の領域を生成し、これらの候補をクラスに分類する態様の分類モデルであってよい。分類モデルは、例えば、R(Region-based)-CNNやその派生系(Fast R-CNN、Faster R-CNN等)である。
また、例えば、物体検出部302は、CNNをベースとする学習済みモデルLMを用いて、入力画像から、監視物体の認識及びその位置(領域)の特定を同時に実施することにより、監視物体を検出する。即ち、CNNをベースとする学習済みモデルLMは、例えば、カメラ40Xの撮像画像からの監視物体の検出を回帰問題として取り扱い、入力画像から、監視物体の認識及び位置(領域)の特定を同時に実施する態様の回帰モデルであってもよい。回帰モデルは、例えば、YOLO(You Only Look Once)やSSD(Single Shot Detector)等である。
本実施形態に係る物体検出部302は、学習済みモデルLMから出力されたクラスから導き出される位置情報が、クラスと共に出力された検出枠(学習済みモデルLMを用いて出力された位置情報の一例)に対応しているか否かを判定する。クラスから導き出される位置情報とは、当該クラスに対応する撮像画像データ上における人の画像の位置である。例えば、クラスが"右側の人"の位置情報とは、例えば、撮像画像データの中心から所定の距離以上右側の領域となる。
このため、物体検出部302は、クラス毎に、当該クラスに対応する領域を示す情報(クラスで示された人の画像の形状から導き出される位置情報の一例)を予め記憶している。例えば、クラス"正面の人"は、撮像画像データの中心から所定の距離内の領域が設定されている。クラス"右側の人"は、撮像画像データの中心から右方向に所定の距離以上離れた領域が設定されている。クラス"左側の人"は、撮像画像データの中心から左方向に所定の距離以上離れた領域が設定されている。なお、所定の距離は、実施態様に応じて定められる。
そして、物体検出部302は、学習済みモデルLMから出力されたクラスに対応する領域に、当該クラスと共に出力された検出枠が存在しているか否かを判定する。物体検出部302は、クラスに対応する領域に、検出枠が存在すると判定した場合には、適切に人が検出されたものして、検出枠及びクラスが出力される。
一方、物体検出部302は、クラスに対応する領域に、検出枠が存在しないと判定した場合には、誤検出、換言すれば人が写っていなかったと判定して、検出枠及びクラスを出力するのを抑制する。そして、物体検出部302は、誤検出と判定された撮像画像データ、検出枠、及びクラスを、補助記憶装置30Aに記憶する。当該撮像画像等は、学習済みモデルLMの再学習用に用いられる。
本実施形態では、物体検出部302が、学習済みモデルLMを用いて、人が存在していると判定した後、さらに、クラスに対応する領域に、出力された検出枠が存在するか否かに基づいた判定を行う。これにより、学習済みモデルLMによる誤検出を抑制して、人が存在するか否かの判定精度をより向上させることができる。
[物体検出方法の具体例]
次に、図12~図17を参照して、物体検出部302による監視物体の検出方法の具体例について説明する。
<第1例>
第1例のクラスは、入力画像を横方向に応じて分類したクラスであって、例えば、"正面の人"、"右側の人"、及び"左側の人"等が含まれる。さらに、第1例のクラスは、人が見切れた場合として、"下半身"、及び"下半身"等が含まれる。本例では、横方向で分類するクラスを出力することで、当該横方向の位置の違いによって生じる魚眼レンズのひずみを考慮した、人の検知を行うことができるので、当該人の検出精度を向上させることができる。
例えば、図12は、本実施形態に係る物体検出部302が撮像装置40から取得した撮像画像の一例を示した図である。図12は、撮像画像データ1201には、カメラ40Xの正面に直立姿勢の作業者W1が写った例を示している。なお、撮像画像データ1201には、ショベル100の上部旋回体3の側面が写りこんでいる。
物体検出部302は、学習済みモデルLMに、図12に示される撮像画像データ1201を入力することで、検出枠1202と、クラス"正面の人"と、を取得する。
その後、物体検出部302は、取得した検出枠1202と、クラス"正面の人"に対応付けられた領域と、が対応しているか判定する。図12に示される例では、物体検出部302は、クラス"正面の人"に対応付けられた領域(撮像画像データ1201の中心から所定の距離内)に、検出枠1202が存在しているので、対応していると判定する。
他の例としては、図13は、本実施形態に係る物体検出部302が撮像装置40から取得した撮像画像の一例を示した図である。図13は、撮像画像データ1301には、カメラ40Xの光軸中心から左側に直立姿勢の作業者W2が写った例を示している。
物体検出部302は、学習済みモデルLMに、図13に示される撮像画像データ1301を入力することで、検出枠1302と、クラス"左側の人"と、を取得する。
その後、物体検出部302は、取得した検出枠1302と、クラス"左側の人"に対応付けられた領域と、が対応しているか判定する。図13に示される例では、物体検出部302は、クラス"左側の人"に対応付けられた領域(撮像画像データ1301の中心から左方向に所定の距離より遠くの領域)に、検出枠1302が存在しているので、対応していると判定する。
他の例としては、図14は、本実施形態に係る物体検出部302が撮像装置40から取得した撮像画像の一例を示した図である。図14は、撮像画像データ1401の撮像領域の右端近傍に存在するため上半身が見切れ、下半身のみ写った作業者W3が写った例を示している。
このように、カメラ40Xの撮像画像では、左右方向の撮像範囲の両端部に位置する監視物体としての人(例えば、作業者W3)の全体(全身)うちの下部(下半身)を含む一部分のみが写っている場合がある。カメラ40Xが上部旋回体3の上面から地面に向かって斜め下向きの光軸を有し、監視物体としての作業者W(人)の上半身がカメラ40Xの三次元的な撮像範囲から外れてしまうためである。
物体検出部302は、学習済みモデルLMに、図14に示される撮像画像データ1401を入力することで、検出枠1402と、クラス"下半身"と、を取得する。
その後、物体検出部302は、取得した検出枠1402と、クラス"下半身"に対応する領域と、が対応しているか判定する。図14に示される例では、物体検出部302は、クラス"下半身"に対応付けられた領域(撮像画像データ1401の右端部又は左端部に隣接している領域)に、検出枠1402が存在しているので、対応していると判定する。
また、監視物体である人がカメラ40Xに近づいてきた場合に、上部旋回体3で下半身が隠れて、カメラ40Xの撮像画像には、監視物体の全体のうちの上部(上半身)を含む一部分のみが写っている場合がある。また、カメラ40Xと監視物体との間に障害物が存在する場合、監視物体(人)の下部(下半身)が障害物で隠れる場合を含めてもよい。
これに対して、本例では、物体検出部302は、入力画像から監視物体(人)の全体(全身)のうちの所定の一部のみを検出(認識)することにより、監視物体(人)を検出(認識)する。所定の一部は、例えば、監視物体(人)の下部(下半身)や上部(上半身)等である。これにより、物体検出部302は、入力画像に監視物体の全体のうちの所定の一部を含む一部分のみしか写っていない場合であっても、監視物体を検出することができる。そのため、物体検出部302は、監視物体をより精度良く検出することができる。
つまり、物体検出部302は、監視物体の全体が写っている画像、及び監視物体の全体のうちの所定の一部を含む一部分のみが写っている画像を含む教師データセットに基づく学習済みモデルLMを用いて、監視物体の全体、及び監視物体の所定の一部の双方を検出する。教師データセットとしては、例えば、カメラ40Xと同機種のカメラによって撮像され、監視物体(例えば人)の下部(下半身)などの一部分のみが左端部及び右端部の少なくとも一方に写っている画像が利用される。さらに、教師データセットとしては、例えば、カメラ40Xと同機種のカメラによって撮像され、監視物体(例えば人)の上部(上半身)などの一部分のみが下端部近傍に写っている画像が利用される。
また、物体検出部302は、監視物体の検出に際して、複数のクラスを出力してもよい。例えば、物体検出部302は、撮像画像データ1401の右端に隣接して、上半身が見切れている人を検出した場合に、"右側の人"と"下半身"とを組み合わせて出力してもよい。この場合、学習済みモデルLMの機械学習に用いる教師データとして、1枚の撮像画像データに対して複数のクラスを設定してもよい。
他の例としては、図15は、本実施形態に係る物体検出部302が撮像装置40から取得した撮像画像の一例を示した図である。図15は、撮像画像データ1501には、カメラ40Xの撮像領域の左端近傍に存在する物体(例えば人が写りこんだ水たまり等)W4が写った例を示している。図15に示される例では、物体W4が人として誤検出される場合について説明する。
物体検出部302は、学習済みモデルLMを用いて、図15に示される撮像画像データ1501を入力することで、検出枠1502と、クラス"右側の人"と、を取得する。これは、例えば、学習済みモデルLMが、右側に傾いている人は"右側の人"の可能性が高いと学習したため、物体W4を"右側の人"と判定している。
その後、物体検出部302は、取得した検出枠1502と、クラス"右側の人"と対応付けられた領域と、が対応しているか判定する。図15に示される例では、物体検出部302は、クラス"右側の人"と対応付けられた領域(撮像画像データ1501の中心から右方向に所定の距離より遠くの領域)に、検出枠1502が存在していないので、対応していないと判定する。物体検出部302は、当該判定結果に基づいて、誤検出であった、換言すれば、撮像画像データ1301に人が写っていないと判定する。
物体検出部302は、撮像画像データ1301を、当該撮像画像データ1301の判定結果と共に、補助記憶装置30Aに記憶する。
また、カメラ40Xには、互いに撮像範囲の一部が重複する領域が存在する。そこで、物体検出部302は、2つのカメラ40Xが撮像した撮像画像データのうち、互いに撮像範囲の一部が重複する領域について、複数の撮像画像データで監視物体を検出し、複数の撮像画像データの検出結果を比較し、比較結果を出力してもよい。例えば、物体検出部302は、2つのカメラ40Xの重複する撮像範囲の一部の領域において、一方のカメラ40Xに基づき監視物体の所定の一部を誤検出しても、他方のカメラ40Xに基づき監視物体の所定の一部を検出していない場合に、未検出と判断する。なお、互いに撮像範囲の一部が重複する2つのカメラ40Xは、例えば、カメラ40F,40R、カメラ40R,40B、カメラ40B,40L、及びカメラ40L,40Fの何れか一つの組み合わせに相当する。これにより、物体検出部302は、監視物体の全体のうちの所定の一部を検出する場合の誤検出を抑制できる。
第1例では、"右側の人"、"正面の人"、及び"左側の人"と、横方向において3個のクラスに分類する例について説明した。しかしながら、第1例は、横方向において3個のクラスに分類する手法に制限するものではなく、例えば2個、又は4個以上に分類してもよい。例えば、魚眼レンズのひずみ度合いに応じて横方向に5個のクラスに分類してもよい。
<第2例>
第1例は、クラスが、撮像画像データの横方向の位置に従って、魚眼レンズでひずんだ人の画像の形状を分類した情報の場合を示している。しかしながら、第1例は、クラスを、人の画像の形状を横方向の位置のみに従って分類する情報に制限するものではない。
そこで第2例では、クラスが、撮像画像データの横方向及び縦方向の位置に従って、魚眼レンズの略180度の画角で撮像したためにひずんだ人の画像の形状を分類した情報を含む場合について説明する。第2例のクラスは、例えば、"正面の前側の人"、"右側の前側の人"、"左側の前側の人"、"正面の後側の人"、"右側の後側の人"、及び"左側の後側の人"等が含まれる。つまりクラスに"前側"と"後側"を含めることで、検知結果として縦方向の位置を含めた。また、第2例のクラスは、人が見切れた場合として、"下半身"、及び"下半身"等も含まれる。なお、第2例では、縦方向及び横方向の位置で分類する例について説明するが、当該分類に制限するものではなく、例えば、クラスが縦向の位置のみで分類する情報であってもよい。
本実施形態に係る撮像装置40は、ショベル100の上面等に設けられている。このような位置から、魚眼レンズを有する撮像装置40が、見下ろすように、ショベル100近傍の人を撮影すると、魚眼レンズのパース効果によって、頭が大きく足が小さく写るようなひずみが生じている。一方、当該撮像装置40が人を撮影する際に、ショベル100から離れるに従って、頭が大きく足が小さく写るようなひずみは抑制される。
そこで、第2例では、管理装置200が、このような距離の違いに基づいたひずみを機械学習して、学習済みモデルLMを生成する。このために、管理装置200は、教師データセットとして、"正面の前側の人"、"右側の前側の人"、"左側の前側の人"、"正面の後側の人"、"右側の後側の人"、及び"左側の後側の人"の各々のクラスに対応する撮像データを読み込む。
例えば、図16は、本実施形態に係る物体検出部302が撮像装置40から取得した撮像画像の一例を示した図である。図16は、撮像画像データ1601には、カメラ40X近傍に直立姿勢の作業者W5が写った例を示している。作業者W5の画像の形状は、頭が大きく足が小さく写るようなひずみ(人の画像の上部(例えば頭)が人の画像の下部(足等)と比べて大きく写るようなひずみの一例)が生じている。図16に示される例では、領域F内に足をつけている人を、前側の人とし、領域R内に足をつけている人を、後側の人とする。
物体検出部302は、学習済みモデルLMに、図16に示される撮像画像データ1601を入力することで、検出枠1602と、クラス"正面の前側の人"と、を取得する。
その後、物体検出部302は、取得した検出枠1602と、クラス"正面の前側の人"と対応付けられた領域と、が対応しているか判定する。図16に示される例では、物体検出部302は、クラス"正面の前側の人"と対応付けられた領域に、検出枠1602が存在しているため、対応していると判定する。具体的には、検出枠1602が、横方向において、撮像画像データ1601の中心から所定の距離内に存在し、縦方向において、前側を示す領域F内に存在しているため、対応していると判定される。
図17は、本実施形態に係る物体検出部302が撮像装置40から取得した撮像画像の一例を示した図である。図17は、撮像画像データ1701には、カメラ40X遠方且つ正面に立姿勢の作業者W6が写った例を示している。作業者W6の画像の形状は、図16の作業者W5と比べて、頭が大きく足が小さく写るようなひずみが抑制されている。
そこで、物体検出部302は、学習済みモデルLMに、図17に示される撮像画像データ1701を入力することで、検出枠1702と、クラス"正面の後側の人"と、を取得する。
その後、物体検出部302は、取得した検出枠1702と、クラス"正面の後側の人"と対応付けられた領域と、が対応しているか判定する。図17に示される例では、物体検出部302は、クラス"正面の後側の人"と対応付けられた領域に、検出枠1702が存在しているため、対応していると判定する。具体的には、検出枠1702が、横方向において、撮像画像データ1701の中心から所定の距離内に存在し、後側を示す領域R内に足をつけて存在しているため、対応していると判定される。
さらに、物体検出部302は、高視認性安全服を着用する人(作業者)が写っている画像を多数含む教師データセットに基づく学習済みモデルLMを用いることで、高視認性安全服の形状、色、及び再帰性反射材の輝度の少なくとも一つを認識し、高視認性安全服を着用する人に対応するクラス(例えば、"正面の作業者"、"左側の作業者"、"右側の作業者")等を認識してもよい。
さらに、撮像装置40(カメラ40X)は、照射装置70から可視光が照射されている状態で、ショベル100の周辺の撮像画像を取得してよい。この場合、照射装置70は、コントローラ30(照射制御部305)の制御下で、カメラ40Xの稼働中(電源オン中)に可視光を常時照射してもよいし、カメラ40Xの撮像タイミングに同期して、可視光を照射してもよい。これにより、撮像装置40の撮像範囲に高視認性安全服を着用する人(作業者)が存在する場合、高視認性安全服の再帰性反射材や蛍光色がより明瞭にカメラ40Xの撮像画像に映る。そのため、物体検出部302は、入力画像(カメラ40Xの撮像画像)から高視認性安全服を検出(認識)し易くなり、その結果、監視物体としての人をより精度良く検出することができる。
また、本例では、撮像装置40(カメラ40X)は、照射装置70から赤外光が照射されている状態で、ショベル100の周辺の撮像画像を取得してもよい。この場合、照射装置70は、コントローラ30(照射制御部305)の制御下で、カメラ40Xの稼働中(電源オン中)に赤外光を常時照射してもよいし、カメラ40Xの撮像タイミングに同期して、赤外光を間欠的に(周期的に)照射してもよい。これにより、撮像装置40の撮像範囲に高視認性安全服を着用する人(作業者)が存在する場合、高視認性安全服の再帰性反射材の輪郭がより明瞭にカメラ40Xの撮像画像に映る。そのため、物体検出部302は、入力画像から高視認性安全服を検出(認識)し易くなり、その結果、監視物体としての人をより精度良く検出することができる。また、赤外光の場合、可視光の場合のように、人の目が直接感知することができないことから、ショベル100の周辺の人への影響を抑制することができる。
また、照射装置70は、コントローラ30の制御下で、赤外光を常時(継続して)照射する状態と、カメラ40Xの撮像タイミングに同期して赤外光を間欠的に照射する状態とを切り換えてもよい。例えば、照射制御部305は、表示装置50Aや表示装置208に表示される周辺画像に赤外光の影響があるか否かを判定する。そして、照射制御部305は、その判定結果に応じて、照射装置70からの赤外光の照射状態の切り換えを行ってよい。赤外光の影響とは、例えば、カメラ40Xが被写体(例えば、高視認性安全服)から反射された近赤外光を捉えることにより、表示装置50Aの周辺画像が赤みを帯びた状態になることを意味する。照射制御部305は、画像解析によって、赤外光の影響の有無を判定してよい。また、照射制御部305は、入力装置52や通信装置60を通じて、ユーザ(オペレータや監視者)からの所定の入力を受け付けることにより、赤外光の影響があると判定してもよい。これにより、オペレータや監視者は、表示装置50Aや表示装置208の周辺画像が赤みを帯びた状態にあると認識すると、入力装置52や入力装置207を通じて所定の入力を行うことで、その状態をコントローラ30に通知することができる。
具体的には、照射制御部305は、通常、即ち、表示装置50Aや表示装置208に表示される周辺画像に赤外光の影響がない状態で、照射装置70から赤外光を継続して照射させる。一方、照射制御部305は、表示装置50Aや表示装置208に表示される周辺画像に赤外光の影響がある状態になると、カメラ40Xの撮像タイミングに同期して赤外光を間欠的に照射させる。これにより、コントローラ30による照射装置70の制御負荷の抑制と、表示装置50A等の周辺画像への赤外光への影響の抑制とのバランスを図ることができる。
[学習済みモデルの更新手法の例]
図18は、建設機械管理システムSYSにおける学習済みモデルの更新手法を示したシーケンス図である。図18に示される例では、クラスで示された人の画像の形状から導き出される領域と、検出枠で示される位置と、が不一致と判定されたため、既に補助記憶装置30Aが記憶されている。
図18に示されるように、ショベル100の更新制御部306は、補助記憶装置30Aに記憶されている撮像画像データを、クラスと検出枠を示す情報と共に、管理装置200に送信する。つまり、物体検出部302が、学習済みモデルLMから出力された検出枠の位置が、クラスで示された人の画像の形状から導き出される領域に存在しないと判定した場合、更新制御部306が、判定対象となった撮像画像データ、当該クラス、及び、当該検出枠を、管理装置200に送信する。
管理装置200の画像データ取得部211は、ショベル100からクラスと検出枠を示す情報と共に送信された撮像画像データを取得した場合に、オペレータが、クラスと検出枠と共に撮像画像データを参照し、学習済みモデルLMの判定結果を確認する。その結果、オペレータが、学習済みモデルLMの判定結果は誤検出であって再学習を行うべきと判断した場合、オペレータが、当該撮像画像データに対して、正しい検出結果であるクラスと検出枠とを設定する。教師データセット生成部212は、当該設定結果に基づいて、教師データを生成し、教師データセットに追加する(S1802)。
そして、管理装置200の学習部213が、生成された教師データセットを読み込んで再度の機械学習を行い、学習済みモデルを更新する(S1803)。
管理装置200の出力部214が、更新された学習済みモデルを、ショベル100に送信する(S1804)。
そして、ショベル100の更新制御部306は、補助記憶装置30Aに記憶されている、学習済みモデルLMを再登録して、次回以降に人の検知に用いる学習済みモデルを更新する(S1805)。本実施形態においては、誤検出の元となった撮像画像データを教師データセットに追加した上で、再び機械学習を行う。当該機械学習による学習済みモデルLMを搭載したショベル100が人の検知を行うことで、より検出精度を向上させることができる。
上述した処理手順によって、誤検知が生じた撮像画像データに基づいて再学習が行われた学習済みモデルに更新される。
[監視物体の実在位置の推定方法の具体例]
次に、図19~図21を参照して、検出された監視物体(人)の検出方法の具体例について説明する。
図19は、実施形態に係る物体検出部302による監視物体(人)の検出状態の一例を示した図である。図19は、物体検出部302によって、撮像画像データ1901から、作業者W7としてクラス"正面の人"と、検出枠1902と、が出力された例である。
図20は、実施形態に係る物体検出部302による人の検出状態の一例を示した図である。図20は、物体検出部302によって、撮像画像データ2001から、作業者W8としてクラス"上半身"と、検出枠2002と、が出力された例である。
図19~図20の画像は、例えば、物体検出部302により監視物体(作業者W7、W8)が検出された場合に、表示装置50Aや遠隔操作用表示装置に表示されてもよい。これにより、オペレータや監視者は、ショベル100の周辺の監視物体の検出状況を、周辺画像(カメラ40Xの撮像画像)を見ながら把握することができる。
例えば、図19の状況では、物体検出部302は、入力画像に写っている作業者W7を人として検出(認識)している。そのため、検出枠1902は、作業者Wを囲むような矩形状として表される。
例えば、図20の状況では、物体検出部302は、入力画像に写っている作業者W8の上部(上半身の部分)のみを人として検出(認識)している。そのため、検出枠2002は、作業者W8の上半身を囲むような矩形状として表される。
物体検出部302は、人を検出(認識)する場合、入力画像における人の着用物に相当する一部分の領域のみを監視物体の検出範囲と判断する可能性がある。また、監視物体の背景やそのときの天候によっては、入力画像における監視物体の形状等の特徴が不鮮明となり、物体検出部302は、監視物体の全体の一部分しか監視物体として認識できない可能性がある。そのため、物体検出部302は、入力画像上で監視物体の全体のうちの上下方向の一部のみを検出(認識)する場合がある。
例えば、図20の状況で、入力画像上の検出(認識)された監視物体の大きさ(検出枠FRの上下方向の大きさ)に基づき、作業者Wの実在位置が推定されると、実際よりも上部旋回体3から遠い位置に作業者が存在すると判断される可能性がある。具体的には、図20の状況は、図19の状況と比べて、ショベル100に近い位置に作業者W8が存在するにも関わらず、図19の状況で推定される実在位置よりも上部旋回体3から離れた実在位置が推定される可能性がある。
これに対して、位置推定部303は、撮像画像データで特定された検出枠の位置座標、検出枠に対応するクラス、大きさ、及び形状に基づいて、監視物体の実在位置を推定する。検出枠の位置座標とは、検出枠で示された範囲の下端、上端、及び中心の少なくとも一つの座標を含む。検出枠の大きさ及び形状とは、検出範囲の高さ(上下方向の寸法)、幅(左右方向の寸法)、縦横比、対角線、及び面積のいずれか一つ以上に関する情報等が含まれる。検出枠に対応するクラスとは、例えば"上半身"、"下半身"、又はそれ以外か否かを示す情報が含まれる。
位置推定部303は、実在位置を推定する前に、物体検出部302によって検出されたクラスを用いて、監視物体の全体が検出されているか否かを判定する。例えば、位置推定部303は、クラスが"上半身"又は"下半身"の場合には、監視物体の全体が写っていないと認識する。
さらに、位置推定部303は、クラスと検出枠との整合性が一致しているか否かを判定してもよい。クラスが"上半身"又は"下半身"と、クラスがそれ以外の場合とでは、検出枠の縦横比が異なる。そこで、位置推定部303は、クラスと、当該クラスに対応する検出枠の縦横比と、が対応しているか否かによって、誤検出か否かを特定できる。
誤検出ではないと判定した後、位置推定部303は、撮像画像データで特定されたクラス、検出枠の位置座標、大きさ及び形状に基づいて、監視物体の実在位置を推定する。監視物体の実在位置を推定手法は、周知手法を問わず、どのような手法を用いてもよいため、説明を省略する。
このように、位置推定部303は、物体検出部302により入力画像上での監視物体の全体のうちの一部(特に、上下方向の上側の一部)のみが検出される状態を把握し、その状態を考慮して、監視物体の実在位置を推定することができる。そのため、位置推定部303は、例えば、監視物体の実在位置を実際よりも上部旋回体3から相対的に離れた位置として推定するような事態を抑制し、監視物体の実在位置をより適切に推定することができる。よって、コントローラ30(安全制御部304)は、より適切に安全機能を作動させることができ、その結果、ショベル100の安全性を向上させることができる。
[ショベルの機能構成の他の例]
次に、図21を参照して、ショベル100の機能構成の他の例について説明する。以下、上述の一例(図10)と異なる部分を中心に説明を行い、上述の一例と同じ又は対応する説明を省略する場合がある。当該他の例とは、撮像装置40内で物体の検出も行う場合である。
図21は、本実施形態に係るショベル100の機能構成の他の例を示す機能ブロック図である。
図21に示すように、コントローラ30は、上述の一例の場合と同様、表示処理部301と、物体検出部302と、位置推定部303と、安全制御部304と、照射制御部305と更新制御部306とを含む。また、コントローラ30は、上述の一例と異なり、検出判断部307を含む。
撮像装置40は、物体検出部402を含む。
物体検出部402は、物体検出部302と同様、撮像装置40の撮像画像に対して、学習済みモデルLMに基づき、監視物体を検出する。物体検出部402は、物体検出部402F,402B,402L,402Rを含む。以下、物体検出部402F,402B,402L,402Rを包括的に、又は、任意の一つを個別に「物体検出部402X」と称する場合がある。
物体検出部402Fは、カメラ40Fの撮像画像から監視物体を認識し、その監視物体が写っている検出枠(領域)、及びクラスを特定する。物体検出部402Fの機能は、任意のハードウェア又は任意のハードウェア及びソフトウェアの組み合わせ等により実現される。例えば、物体検出部402Fの機能は、例えば、カメラ40Fの画像処理エンジン42の補助記憶装置にインストールされるプログラムがメモリ装置にロードされCPU上で実行されることにより実現される。物体検出部402B,402L,402Rの機能も同様として説明を省略する。
カメラ40Fは、撮像画像生成機能で生成される撮像画像に加えて、物体検出部402Fにより特定された検出枠、及びクラスをコントローラ30に出力する。同様に、カメラ40B、40L、40Rも、撮像画像に加えて、特定された検出枠、及びクラスをコントローラ30に出力する。
物体検出部402Xは、互いに同じアルゴリズムを用いて、入力画像から監視物体を検出する。一方、物体検出部302,402Xは、物体検出部302と異なるアルゴリズムを用いて、入力画像から監視物体を検出する。これにより、例えば、物体検出部302,402Xのうちの何れか一方が監視物体を検出できない場合でも、何れか他方が監視物体を検出する可能性を高めることができる。その結果、ショベル100の周辺の監視物体を検出できない事態の発生を抑制することができる。また、例えば、物体検出部302,402Xのうちの何れか一方が存在しない監視物体を検出してしまっても、他方が監視物体を検出していないことを以て、監視物体を検出しないようにすることもできる。
例えば、物体検出部302,402Xは、何れか一方が画像処理技術及び機械学習技術のうちの前者のみを利用し、何れか他方が画像処理技術及び機械学習技術の双方、即ち、学習済みモデルLMを利用して、監視物体を検出してもよい。
また、例えば、物体検出部302,402Xは、何れか一方が学習済みモデルLMとして監視物体の画像特徴量を機械学習済みのSVMを利用し、何れか他方が深層学習による学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。また、物体検出部302,402Xは、例えば、互いに異なるネットワーク(DNN)による学習済みモデルLMを用いて、入力画像から監視物体を検出してもよい。また、例えば、物体検出部302,402Xは、互いに異なる教師データセットで機械学習された学習済みモデルLMを利用して、入力画像から監視物体を検出してもよい。
検出判断部307は、物体検出部302の検出結果、及び物体検出部402Xに基づき、監視物体を検出する。具体的には、検出判断部307は、物体検出部302の検出結果、及び物体検出部402Xの検出結果に基づき、監視物体の検出に関する最終判断を行う。
位置推定部303は、検出判断部307により監視物体が検出された場合に、検出された監視物体の実在位置を推定する。また、検出判断部307により複数の監視物体が検出されている場合、位置推定部303は、複数の監視物体ごとの実在位置を推定する。
例えば、物体検出部302,402Xの何れか一方で、監視物体が検出されている場合、位置推定部303は、その何れか一方により特定される入力画像上での検出範囲等に基づき、上述の方法を任意に適用することで、監視物体の位置を推定する。
また、例えば、物体検出部302,402Xの双方で、同じ監視物体が検出されている場合、位置推定部303は、物体検出部302,402Xの検出結果のそれぞれに対して、監視物体の実在位置を推定し、それぞれの推定結果から監視物体の実在位置を推定してもよい。例えば、物体検出部302,402Xの検出結果のそれぞれに対する監視物体の実在位置の推定結果の平均を取ることにより、検出された監視物体の実在位置を推定してもよい。
安全制御部304は、例えば、検出判断部307によって、ショベル100の周辺の所定範囲内で監視物体が検出される場合に、安全機能を作動させる。具体的には、安全制御部304は、位置推定部303により推定される、監視物体の実在位置(推定値)がショベル100の周辺の所定範囲内である場合に、安全機能を作動させてよい。
なお、物体検出部302,402の何れか一方の機能は、表示装置50Aに移管されてもよい。また、物体検出部302,402に加えて、更に、入力画像から監視物体を検出する、1以上の物体検出部がショベル100に設けられてもよい。追加される物体検出部は、表示装置50Aに設けられてもよいし、コントローラ30に設けられてもよいし、コントローラ30とは異なるコントローラに設けられてもよい。この場合、追加分を含む3以上の物体検出部は、互いに異なるアルゴリズムを用いて、入力画像から監視物体を検出してもよい。
[物体検出方法の具体例]
次に、検出判断部307による監視物体の検出方法、即ち、監視物体の検出に関する最終判断の方法について説明する。
検出判断部307は、例えば、物体検出部302及び物体検出部402Xの少なくとも一方で監視物体が検出されている場合、その監視物体がショベル100の周辺に存在すると判断し、その監視物体を検出してよい。これにより、コントローラ30は、例えば、物体検出部302,402Xのうちの何れか一方で実在する監視物体を検出されなくても、何れか他方でその監視物体が検出されれば、その監視物体を検出することができる。そのため、コントローラ30は、例えば、監視物体の検出失敗が発生し易い状況や監視物体の検出失敗を防止する必要性が高い状況で、実在する監視物体をより確実に検出し、その結果、ショベル100の安全機能の作動に伴って、安全性をより向上させることができる。
また、検出判断部307は、例えば、物体検出部302及び物体検出部402Xの双方で監視物体が検出されている場合、その監視物体がショベル100の周辺に存在すると判断し、その監視物体を検出してもよい。これにより、コントローラ30は、例えば、物体検出部302,402Xの何れか一方で実在しない監視物体が誤検出されてしまっても、何れか他方でその監視物体が検出されなければ、その監視物体を検出しないようにすることができる。そのため、コントローラ30は、例えば、監視物体の誤検出が発生し易い状況や監視物体の誤検出による作業効率の低下を防止する必要性が高い状況で、監視物体の誤検出を抑制することができる。
なお、上述の如く、ショベル100に3以上の物体検出部が設けられる場合、検出判断部307は、例えば、全ての物体検出部のうちの所定数(2以上の整数)以上の物体検出部で監視物体が検出されている場合に、その監視物体を検出してよい。所定数は、固定であってもよいし、可変されてもよい。例えば、所定数は、入力装置52や通信装置60を通じて受け付けられるユーザ(オペレータや監視者)からの所定の入力に応じて可変されてよい。
また、検出判断部307は、入力装置52や通信装置60を通じて受け付けられるユーザ(オペレータや監視者)からの所定の入力に応じて、上記の2つの方法を切り換えてもよい。
上述した実施形態に係る管理装置200は、魚眼レンズ(広角レンズの一例)を有する撮像装置で撮像された、人が写っている位置にばらつきが生じている複数の学習用画像を用いて機械学習した学習済みモデルを生成している。
そして、ショベル100は、撮像装置40が有する魚眼レンズ(広角レンズの一例)によって撮像画像データにひずみが生じている場合でも、上述した学習済みモデルを用いて、撮像装置40によって撮像された撮像画像データに人が写っているか否かを判定し、判定結果として検出枠及びクラスを出力する。このように、魚眼レンズのひずみを考慮した人の検知を行えるので、検出精度の向上を実現できる。また、このような人の検知を行うため、撮像画像データに対してひずみ補正を行わなくてよいため、処理負担の軽減及び検出速度の向上を実現できる。
以上、実施形態について詳述したが、本開示はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した実施形態では、ショベル100に搭載される撮像装置40の撮像画像に基づく監視物体の検出方法について説明したが、同様の方法は、他の作業機械に搭載される撮像装置の撮像画像に基づく監視物体の検出方法に適用されてもよい。他の作業機械は、例えば、アタッチメントATの先端にバケット6に代えてリフティングマグネットが装着されるリフマグ機、ブルドーザ、林業機械(例えば、ハーベスタ)、道路機械(例えば、アスファルトフィニッシャ)等である。
1 下部走行体
1C クローラ
1ML 走行油圧モータ
1MR 走行油圧モータ
2 旋回機構
2M 旋回油圧モータ
3 上部旋回体
4 ブーム
5 アーム
6 バケット
7 ブームシリンダ
8 アームシリンダ
9 バケットシリンダ
10 キャビン
11 エンジン
13 レギュレータ
14 メインポンプ
15 パイロットポンプ
17 コントロールバルブ
25 パイロットライン
25A パイロットライン
25B パイロットライン
26 操作装置
27 パイロットライン
27A パイロットライン
27B パイロットライン
29 操作圧センサ
30 コントローラ
30A 補助記憶装置
30B メモリ装置
30C CPU
30D インタフェース装置
31 油圧制御弁
32 シャトル弁
33 油圧制御弁
40 撮像装置
40B カメラ
40F カメラ
40L カメラ
40R カメラ
50 出力装置
50A 表示装置
50B 音出力装置
52 入力装置
60 通信装置
70 照射装置
100 ショベル
200 管理装置
201 外部インタフェース
201A 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 高速演算装置
206 通信インタフェース
207 入力装置
208 表示装置
211 画像データ取得部
212 教師データセット生成部
213 学習部
214 出力部
301 表示処理部
302 物体検出部
303 位置推定部
304 安全制御部
305 照射制御部
306 更新制御部
307 検出判断部
402,402B,402F,402L,402R 物体検出部
AT アタッチメント
HA 油圧アクチュエータ
LM 学習済みモデル
NW 通信回線
S1 ブーム角度センサ
S2 アーム角度センサ
S3 バケット角度センサ
S4 機体姿勢センサ
S5 旋回角度センサ
SYS 建設機械管理システム

Claims (11)

  1. 所定の画角を有する広角レンズによって、建設機械の周辺を撮像する撮像装置と、
    前記所定の画角で撮像したため光軸から離れるに従ってひずみが生じている学習用画像であり且つ人が写っている位置にばらつきが生じている複数の学習用画像とともに、当該学習用画像の各々に写っている人の画像の位置を示した位置情報を読み込んで機械学習し、入力された画像に対して人が写っているか否かを判断結果として出力するよう機能させるための学習済みモデルを記憶する記憶装置と、
    前記学習済みモデルを用いて、前記撮像装置によって撮像された撮像画像に人が写っているか否かを判定し、判定結果を出力する制御装置と、
    を備える建設機械。
  2. 前記学習済みモデルは、複数の前記学習用画像と、当該学習用画像毎の人の画像の前記位置情報と、写っている人の画像の位置に従って人の画像の形状を分類した分類情報と、を読み込んで機械学習し、前記入力された撮像画像に基づいて、前記撮像画像に写っている人の画像の形状に基づいた前記分類情報及び当該人の画像の位置を示した前記位置情報を出力するよう前記制御装置に機能させる、
    請求項1に記載の建設機械。
  3. 前記制御装置は、前記学習済みモデルを用いて出力された前記位置情報が、前記位置情報と共に出力された前記分類情報で示された人の画像の形状から導き出される位置情報と対応していない場合、前記撮像画像に人が写っていないと判定する、
    請求項2に記載の建設機械。
  4. 前記学習済みモデルによって前記制御装置が出力する前記位置情報とは、前記撮像画像に写っている人の画像の位置を示すために、当該人の画像を囲んだ枠情報である、
    請求項2又は3に記載の建設機械。
  5. 前記記憶装置に記憶された前記学習済みモデルの機械学習に用いた前記位置情報とは、前記学習用画像に写っている人の画像の位置を示すために、当該人の画像を囲んだ枠情報である、
    請求項1乃至4のいずれか一つに記載の建設機械。
  6. 前記学習済みモデルは、前記位置情報で示された人の画像の位置に対応する、当該人の画像の形状を機械学習している、
    請求項1乃至5のいずれか一つに記載の建設機械。
  7. 前記分類情報は、前記撮像画像に人の画像が写っている横方向の位置に応じた当該人の画像の形状の分類として、人の画像が左側に傾いている若しくは左側に湾曲した形状、及び人の画像が右側に傾いている若しくは右側に湾曲した形状のうちいずれか一つ以上を分類している、又は前記撮像画像に人の画像が写っている縦方向の位置に応じた当該人の画像の分類として、人の画像のうち上部が下部と比べて大きく写るようにひずんでいるか否かを分類している、
    請求項2乃至4のいずれか一つに記載の建設機械。
  8. 前記分類情報は、前記撮像画像に写っている人の画像に対して、当該人の全体が写っているか否かに基づいて、当該人の画像の形状を分類した情報を含んでいる、
    請求項2乃至4のいずれか一つに記載の建設機械。
  9. 前記分類情報は、当該人の画像の形状として、当該人の全体であること、当該人の上半身であること、又は当該人の下半身であることを分類している、
    請求項8に記載の建設機械。
  10. 前記記憶装置が記憶する前記学習済みモデルは、出力された前記位置情報が、前記位置情報と共に出力された前記分類情報で示された人の画像の形状から導き出される位置情報と対応していないと前記制御装置によって判定された場合に、判定対象となった前記撮像画像を読み込んで再び機械学習した前記学習済みモデルに更新される、
    請求項3に記載の建設機械。
  11. 建設機械に設けられた、所定の画角を有する広角レンズによって撮像装置が撮像した、人が写っている位置にばらつきが生じている複数の学習用画像を取得する取得部と、
    前記学習用画像の各々に写っている人の画像の位置を示す位置情報を読み込んで機械学習して、入力された画像に基づいて、当該画像に対して人が写っているか否かを判断結果として出力するよう機能させる学習済みモデルを生成する生成部と、
    を有する情報処理装置。
JP2021208532A 2021-12-22 2021-12-22 建設機械、及び情報処理装置 Pending JP2023093109A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021208532A JP2023093109A (ja) 2021-12-22 2021-12-22 建設機械、及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021208532A JP2023093109A (ja) 2021-12-22 2021-12-22 建設機械、及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2023093109A true JP2023093109A (ja) 2023-07-04

Family

ID=87000975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021208532A Pending JP2023093109A (ja) 2021-12-22 2021-12-22 建設機械、及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2023093109A (ja)

Similar Documents

Publication Publication Date Title
KR102659077B1 (ko) 쇼벨
JP7358349B2 (ja) 掘削機、情報処理装置
US20220018096A1 (en) Shovel and construction system
CN113728141B (zh) 挖土机
CN113748247B (zh) 挖土机、作业现场的安全装备确认系统
US20210270013A1 (en) Shovel, controller for shovel, and method of managing worksite
WO2020196874A1 (ja) 建設機械、支援システム
CN110453749A (zh) 一种液压挖掘机智能挖掘系统及控制方法
CN114144556A (zh) 挖土机及信息处理装置
JP2021188258A (ja) ショベル用のシステム
JP2023174887A (ja) 作業機械、情報処理装置
WO2021241716A1 (ja) ショベル用の施工支援システム
US20230008338A1 (en) Construction machine, construction machine management system, and machine learning apparatus
KR20220002938A (ko) 쇼벨
JP2023093109A (ja) 建設機械、及び情報処理装置
US20220002970A1 (en) Excavator
WO2022070872A1 (ja) 物体検出システム及び物体検出方法
JP2023063991A (ja) ショベル
JP2023063990A (ja) ショベル
JP2023063989A (ja) ショベル
JP2023063992A (ja) ショベル
JP2023063993A (ja) ショベル
JP7346061B2 (ja) ショベル
JP2023063988A (ja) ショベル
WO2021149775A1 (ja) 作業機械、情報処理装置