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

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

▶ ファナック株式会社の特許一覧 ▶ 株式会社日立製作所の特許一覧

特許7427115安心ビジョン装置、及び安心ビジョンシステム
<>
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図1
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図2
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図3
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図4
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図5
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図6
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図7
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図8A
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図8B
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図9
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図10
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図11
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図12
  • 特許-安心ビジョン装置、及び安心ビジョンシステム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-25
(45)【発行日】2024-02-02
(54)【発明の名称】安心ビジョン装置、及び安心ビジョンシステム
(51)【国際特許分類】
   B25J 19/06 20060101AFI20240126BHJP
【FI】
B25J19/06
【請求項の数】 5
(21)【出願番号】P 2022572201
(86)(22)【出願日】2021-12-14
(86)【国際出願番号】 JP2021046118
(87)【国際公開番号】W WO2022138340
(87)【国際公開日】2022-06-30
【審査請求日】2023-05-19
(31)【優先権主張番号】P 2020211721
(32)【優先日】2020-12-21
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】中田 洋平
(72)【発明者】
【氏名】本▲高▼ 丈士
【審査官】牧 初
(56)【参考文献】
【文献】特開2020-93373(JP,A)
【文献】中国特許出願公開第104476544(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
人間の2次元画像を入力し前記人間の関節点の位置の3次元座標値を示す3次元関節点データを出力する人間3次元骨格推定モデルと、
ロボットの2次元画像、及び前記ロボットの2次元画像を撮影したカメラと前記ロボットとの間の距離及び傾きを入力し、前記ロボットに含まれる複数の関節軸の角度を出力するロボット3次元骨格推定モデルと、
外部のカメラにより撮影された作業者とロボットとの2次元画像と、前記外部のカメラと前記ロボットとの間の距離及び傾きと、を入力する入力部と、
前記入力部により入力された前記2次元画像と、前記外部のカメラと前記ロボットとの間の距離及び傾きと、を前記人間3次元骨格推定モデル及び前記ロボット3次元骨格推定モデルに入力し、前記作業者の関節点の位置の3次元座標値を示す3次元関節点データと、前記ロボットに含まれる複数の関節軸の角度と、を推定する推定部と、
前記3次元関節点データと前記複数の関節軸の角度とに基づいて前記作業者の範囲を示す領域と前記ロボットの範囲を示す領域とを算出し、算出した前記作業者の領域と前記ロボットの領域との重なり具合に応じて前記ロボットに対する減速又は停止の指示を出力する接近判定部と、
を備える安心ビジョン装置。
【請求項2】
前記2次元画像は、所定のフレームレートで前記カメラにより撮影されたフレーム画像である、請求項1に記載の安心ビジョン装置。
【請求項3】
前記接近判定部が前記減速又は停止の指示を出力する場合、警告音を出力する通知部をさらに備える、請求項1又は請求項2に記載の安心ビジョン装置。
【請求項4】
前記人間3次元骨格推定モデル及び前記ロボット3次元骨格推定モデルを、前記安心ビジョン装置からネットワークを介してアクセス可能に接続されるサーバに備える、請求項1から請求項3のいずれか1項に記載の安心ビジョン装置。
【請求項5】
ロボットと、
カメラと、
請求項1から請求項4のいずれか1項に記載の安心ビジョン装置と、
を備える安心ビジョンシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、安心ビジョン装置、及び安心ビジョンシステムに関する。
【背景技術】
【0002】
ロボットの動作領域内に安全監視対象である作業者が入る可能性がある場合、作業者の周りにロボットの動作領域が設定され、ロボットが動作領域に侵入した際にロボットの安全動作制御や、緊急停止制御等を行う技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2004-243427号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術では、作業者がロボットの動作領域に侵入したことを検知するためエリアセンサ等が用いられている。しかしながら、エリアセンサはロボット近傍に設置する必要があるため、作業者やロボットの動作や移動に制限が生じてしまう。
【0005】
そこで、エリアセンサを用いることなくロボットの動作領域内に作業者が侵入した場合、ロボットを減速又は停止させることが望まれている。
【課題を解決するための手段】
【0006】
(1)本開示の安心ビジョン装置の一態様は、人間の2次元画像を入力し前記人間の関節点の位置の3次元座標値を示す3次元関節点データを出力する人間3次元骨格推定モデルと、ロボットの2次元画像、及び前記ロボットの2次元画像を撮影したカメラと前記ロボットとの間の距離及び傾きを入力し、前記ロボットに含まれる複数の関節軸の角度を出力するロボット3次元骨格推定モデルと、外部のカメラにより撮影された作業者とロボットとの2次元画像と、前記外部のカメラと前記ロボットとの間の距離及び傾きと、を入力する入力部と、前記入力部により入力された前記2次元画像と、前記外部のカメラと前記ロボットとの間の距離及び傾きと、を前記人間3次元骨格推定モデル及び前記ロボット3次元骨格推定モデルに入力し、前記作業者の関節点の位置の3次元座標値を示す3次元関節点データと、前記ロボットに含まれる複数の関節軸の角度と、を推定する推定部と、前記3次元関節点データと前記複数の関節軸の角度とに基づいて前記作業者の範囲を示す領域と前記ロボットの範囲を示す領域とを算出し、算出した前記作業者の領域と前記ロボットの領域との重なり具合に応じて前記ロボットに対する減速又は停止の指示を出力する接近判定部と、を備える。
【0007】
(2)本開示の安心ビジョンシステムの一態様は、ロボットと、カメラと、(1)の安心ビジョン装置と、を備える。
【発明の効果】
【0008】
一態様によれば、エリアセンサを用いることなくロボットの動作領域内に作業者が侵入した場合、ロボットを減速又は停止させることができる。
【図面の簡単な説明】
【0009】
図1】一実施形態に係る安心ビジョンシステムの機能的構成例を示す機能ブロック図である。
図2】ロボット3次元骨格推定モデルとしての2次元骨格推定モデルと関節角度推定モデルとの関係の一例を示す図である。
図3】推定部により推定された作業者の関節点の位置の一例を示す図である。
図4】ロボットの領域の一例を示す図である。
図5】安心ビジョン装置の判定処理について説明するフローチャートである。
図6】安心ビジョンシステムの構成の一例を示す図である。
図7】機械学習装置の機能的構成例を示す機能ブロック図である。
図8A】関節軸J4の角度が90度のフレーム画像の一例を示す図である。
図8B】関節軸J4の角度が-90度のフレーム画像の一例を示す図である。
図9】教師データの数を増やすための一例を示す図である。
図10】正規化したXY座標における関節軸の座標値の一例を示す図である。
図11】ロボットの関節軸の特徴マップの一例を示す図である。
図12】フレーム画像と2次元骨格推定モデルの出力結果との比較の一例を示す図である。
図13】関節角度推定モデルの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本開示の一実施形態について、図面を用いて説明する。
<一実施形態>
図1は、一実施形態に係る安心ビジョンシステムの機能的構成例を示す機能ブロック図である。図1に示すように、安心ビジョンシステム1は、ロボット10、安心ビジョン装置20、及びカメラ40を有する。
【0011】
ロボット10、安心ビジョン装置20、及び外部のカメラとしてのカメラ40は、無線LAN(Local Area Network)、Wi-Fi(登録商標)、及び4Gや5G等の規格に準拠した携帯電話網等の図示しないネットワークを介して相互に接続されていてもよい。この場合、ロボット10、安心ビジョン装置20、及びカメラ40は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。なお、ロボット10と安心ビジョン装置20とは、図示しない通信部を介してデータの送受信を行うとしたが、ロボット10の動作を制御するロボット制御装置(図示しない)を介してデータの送受信を行うようにしてもよい。
【0012】
<ロボット10>
ロボット10は、例えば、当業者にとって公知の産業用ロボット等であり、ロボット制御装置(図示しない)からの駆動指令に基づいて、ロボット10に含まれる図示しない複数の関節軸の各々に配置される図示しないサーボモータを駆動することにより、ロボット10の可動部材(図示しない)を駆動する。
なお、以下では、ロボット10は、6つの関節軸J1~J6を有する6軸の垂直多関節ロボットとして説明するが、6軸以外の垂直多関節ロボットでもよく、水平多関節ロボットやパラレルリンクロボット等でもよい。
【0013】
<カメラ40>
外部のカメラとしてのカメラ40は、例えば、デジタルカメラ等であり、ロボット10及び後述する安心ビジョン装置20を携帯するユーザである作業者Uを撮影できるように、ロボット10が配置された工場等の壁や柱に固定して設置される。なお、カメラ40は、スマートフォン、タブレット端末、拡張現実(AR:Augmented Reality)グラス、複合現実(MR:Mixed Reality)グラス等に搭載されたカメラでもよい。
カメラ40は、所定のフレームレート(例えば、30フレーム/秒等)でロボット10及び作業者Uを撮影し、カメラ40の光軸に対して垂直な平面に投影した2次元画像であるフレーム画像を生成する。カメラ40は、生成したフレーム画像を安心ビジョン装置20に出力する。なお、カメラ40により生成されるフレーム画像は、RGBカラー画像やグレースケール画像等の可視光画像でもよい。
なお、ロボット10のロボット座標系とカメラ40のカメラ座標系とは、予め行われたキャリブレーションにより、ワールド座標系で対応付けているものとする。
【0014】
<安心ビジョン装置20>
安心ビジョン装置20は、例えば、スマートフォン、タブレット端末、拡張現実(AR:Augmented Reality)グラス、複合現実(MR:Mixed Reality)グラス等である。
図1に示すように、安心ビジョン装置20は、制御部21、通信部22、及び記憶部23を有する。また、制御部21は、3次元物体認識部211、自己位置推定部212、入力部213、推定部214、接近判定部215、及び通知部216を有する。
【0015】
通信部22は、無線LAN(Local Area Network)、Wi-Fi(登録商標)、及び4Gや5G等の規格に準拠した携帯電話網等のネットワークとデータの送受信を行う通信制御デバイスである。通信部22は、例えば、カメラ40と直接通信してもよく、ロボット10の動作を制御するロボット制御装置(図示しない)を介してロボット10と通信してもよい。
【0016】
記憶部23は、例えば、ROM(Read Only Memory)やHDD(Hard Disk Drive)等であり、後述する制御部21が実行するシステムプログラム及び安心ビジョンアプリケーションプログラム等を格納する。また、記憶部23は、後述する人間3次元骨格推定モデル231と、後述する2次元骨格推定モデル2321及び関節角度推定モデル2322から構成されるロボット3次元骨格推定モデル232と、3次元認識モデルデータ233と、を記憶してもよい。
【0017】
<人間3次元骨格推定モデル231>
人間3次元骨格推定モデル231は、例えば、公知の3D Pose Estimationの手法(例えば、https://engineer.dena.com/posts/2019.12/cv-papers-19-3d-human-pose-estimation/)等に用いられる深層学習モデルに基づいて、Human3.6M(http://vision.imar.ro/human3.6m/description.php)等のデータセットから取得される、任意の人物の動画のフレーム画像の入力データと、当該フレーム画像において予めアノテーションされた任意の人物の関節点の位置の3次元座標値を示す3次元関節点データのラベルデータと、の訓練データを用いて、図示しない機械学習装置が教師あり学習を実行することにより生成される学習済みモデルである。
【0018】
<ロボット3次元骨格推定モデル232>
ロボット3次元骨格推定モデル232は、図2に示すように、2次元骨格推定モデル2321、及び関節角度推定モデル2322から構成される。
図2は、ロボット3次元骨格推定モデル232としての2次元骨格推定モデル2321と関節角度推定モデル2322との関係の一例を示す図である。
【0019】
図2に示すように、2次元骨格推定モデル2321は、カメラ40により撮影されたロボット10のフレーム画像を入力し、フレーム画像におけるロボット10の関節軸J1~J6の中心の位置を示すピクセル座標の2次元姿勢を出力する、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)である。
2次元骨格推定モデル2321は、例えば、公知のマーカーレス動物追跡ツール(例えば、DeepLabCut)等に用いられる深層学習モデルに基づいて、カメラ40により撮影された様々な姿勢のロボット10のフレーム画像の入力データと、各フレーム画像が撮影された時のフレーム画像における関節軸J1~J6の中心の位置を示す2次元座標(ピクセル座標)の値のラベルデータと、の訓練データを用いて、図示しない機械学習装置が教師あり学習を実行することにより生成される。
【0020】
一方、関節角度推定モデル2322は、カメラ40とロボット10との間の距離及び傾きと、2次元骨格推定モデル2321から出力され、ロボット10のベースリンクである関節軸J1を原点としてフレーム画像の幅及び高さで正規化したロボット10の関節軸J1~J6の中心の位置を示すピクセル座標の2次元姿勢と、を入力し、ロボット10の関節軸J1~J6の角度を出力する、ニューラルネットワーク等である。
関節角度推定モデル2322は、例えば、カメラ40とロボット10との間の距離及び傾き、及び正規化された関節軸J1~J6の中心の位置を示す2次元姿勢の入力データと、フレーム画像が撮影された時のロボット10の関節軸J1~J6の角度のラベルデータと、の訓練データを用いて、図示しない機械学習装置が教師あり学習を実行することにより生成される。
なお、ロボット3次元骨格推定モデル232(2次元骨格推定モデル2321及び関節角度推定モデル2322)を生成するための機械学習装置の詳細については、後述する。
【0021】
<3次元認識モデルデータ233>
3次元認識モデルデータ233は、例えば、予めロボット10の姿勢や方向を変化させ、カメラ40により撮影されたロボット10の複数のフレーム画像それぞれから抽出されたエッジ量等の特徴量を、3次元認識モデルとして格納する。また、3次元認識モデルデータ233は、各3次元認識モデルのフレーム画像が撮影された時のワールド座標系におけるロボット10のロボット座標系の原点(以下、「ロボット原点」ともいう)の3次元座標値、及びワールド座標系におけるロボット座標系のX軸、Y軸、Z軸それぞれの方向を示す情報も、3次元認識モデルに対応付けして格納するようにしてもよい。
【0022】
<制御部21>
制御部21は、CPU(Central Processing Unit)、ROM、RAM、CMOS(Complementary Metal-Oxide-Semiconductor)メモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは安心ビジョン装置20を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及び安心ビジョンアプリケーションプログラムを、バスを介して読み出し、システムプログラム及び安心ビジョンアプリケーションプログラムに従って安心ビジョン装置20全体を制御する。これにより、図1に示すように、制御部21が、3次元物体認識部211、自己位置推定部212、入力部213、推定部214、接近判定部215、及び通知部216の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。また、CMOSメモリは図示しないバッテリでバックアップされ、安心ビジョン装置20の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0023】
<3次元物体認識部211>
3次元物体認識部211は、例えば、通信部22を介して、カメラ40により撮影されたロボット10のフレーム画像を取得する。3次元物体認識部211は、例えば、公知のロボットの3次元座標認識の方法を用いて、カメラ40により撮影されたロボット10のフレーム画像からエッジ量等の特徴量を抽出する。ここで、公知の方法としては例えば、「https://linx.jp/product/mvtec/halcon/feature/3d_vision.html」を参照。
3次元物体認識部211は、抽出した特徴量と、3次元認識モデルデータ233に格納された3次元認識モデルの特徴量とのマッチングを行う。3次元物体認識部211は、マッチングの結果に基づいて、例えば、一致度が最も高い3次元認識モデルにおけるワールド座標系におけるロボット原点の3次元座標値、及びロボット座標系のX軸、Y軸、Z軸それぞれの方向を示す情報を取得する。
【0024】
<自己位置推定部212>
自己位置推定部212は、例えば、公知の自己位置推定の手法を用いて、ワールド座標系におけるカメラ40のカメラ座標系の原点の3次元座標値(以下、「カメラ40の3次元座標値」ともいう)を取得する。情報取得部301は、取得したカメラ40の3次元座標値と、取得したロボット原点の3次元座標値と、に基づいて、カメラ40とロボット10との間の距離及び傾きを算出する。
なお、ロボット10及びカメラ40は、工場において固定して配置されることから、自己位置推定部212は、安心ビジョンアプリケーションプログラムが起動された時に、ワールド座標系におけるロボット原点の3次元座標値及びカメラ40の3次元座標値、カメラ40とロボット10との間の距離及び傾きを一度だけ算出し、記憶部23に記憶するようにしてもよい。
【0025】
<入力部213>
入力部213は、カメラ40により撮影された作業者U及びロボット10のフレーム画像と、自己位置推定部212により算出されたカメラ40とロボット10との間の距離及び傾きと、を入力する。
【0026】
<推定部214>
推定部214は、入力部213により入力された作業者U及びロボット10のフレーム画像と、カメラ40とロボット10との間の距離及び傾きと、を、人間3次元骨格推定モデル231と、ロボット3次元骨格推定モデル232と、に入力する。
具体的には、推定部214は、人間3次元骨格推定モデル231の出力から、入力されたフレーム画像における作業者Uの関節点の位置の3次元座標値を示す3次元関節点データを推定する。
図3は、推定部214により推定された作業者Uの関節点の位置の一例を示す図である。
図3に示すように、推定部214により推定された作業者Uの関節点は、例えば、黒い点で示される。
【0027】
また、推定部214は、ロボット3次元骨格推定モデル232の出力から、入力されたフレーム画像におけるロボット10の関節軸J1~J6の角度を推定する。
なお、推定部214は、上述したように、2次元骨格推定モデル2321から出力される関節軸J1~J6の中心の位置のピクセル座標を正規化して、関節角度推定モデル2322に入力する。また、推定部214は、2次元骨格推定モデル2321から出力される2次元姿勢の確信度cも、0.5以上の場合に「1」に設定し、0.5未満の場合に「0」に設定するようにしてもよい。
【0028】
また、推定部214は、入力部213により入力されたフレーム画像においてロボット10により作業者Uの一部が隠れている場合、当該フレーム画像より前で、かつ作業者U及びロボット10の全体が撮影された時系列で連続する複数のフレーム画像から推定された作業者Uの3次元関節点データの時系列データを用いて、ロボット10により作業者Uの一部が隠れたフレーム画像における作業者Uの3次元関節点データを推定するようにしてもよい。
あるいは、推定部214は、入力部213により入力されたフレーム画像において作業者Uによりロボット10の一部が隠れている場合、当該フレーム画像より前で、かつ作業者U及びロボット10の全体が撮影された時系列で連続する複数のフレーム画像から推定されたロボット10の関節軸J1~J6の角度の時系列データを用いて、作業者Uによりロボット10の一部が隠れたフレーム画像におけるロボット10の関節軸J1~J6の角度を推定するようにしてもよい。
【0029】
<接近判定部215>
接近判定部215は、推定部214により推定された作業者Uの3次元関節点データと、ロボット10の関節軸J1~J6の角度と、に基づいて作業者Uの範囲を示す領域と、ロボット10の範囲を示す領域と、を算出し、算出した作業者Uの領域とロボット10の領域との重なり具合に応じてロボット10に対する減速又は停止の指示をロボット制御装置(図示しない)に出力する。
具体的には、接近判定部215は、例えば、推定部214により推定された作業者Uの3次元関節点データに基づいて作業者Uの関節点をワールド座標系の3次元空間に配置し、関節点間を直線で繋げることで作業者Uの骨格を生成する。接近判定部215は、生成した骨格の直線毎に予め設定された長さ、奥行、高さを有した直方体等の形状で肉付けすることで、作業者Uの範囲を示す領域を算出する。
また、接近判定部215は、予め定義したDH(Denavit-Hartenberg)パラメータ表を用いて、推定部214により推定された関節軸J1~J6の角度から順運動学を解き、関節軸J1~J6の中心の位置の3次元座標値を計算する。そして、接近判定部215は、算出したロボット10の関節軸J1~J6の中心の位置をワールド座標系の3次元空間に配置し、ロボット10の骨格を生成する。接近判定部215は、生成したロボット10の骨格のリンク毎に予め設定された長さ、奥行、高さを有した直方体等の形状で肉付けすることで、ロボット10の範囲を示す領域を算出する。
なお、DHパラメータ表は、例えば、ロボット10の仕様書を基に予め作成され、記憶部23に記憶される。
【0030】
図4は、ロボット10の領域の一例を示す図である。なお、図4に示すロボット10の領域は、大きさの異なる2つの領域R1と領域R2とから構成される。すなわち、領域R1における長さ、奥行、高さは、領域R2における長さ、奥行、高さより大きく設定されている。
そして、接近判定部215は、算出したワールド座標系における作業者Uの領域がロボット10の領域R1又は領域R2と重なるか否かを判定する。作業者Uの領域がロボット10の領域R1のみと重なる場合、接近判定部215は、作業者Uとロボット10とが衝突するまでに時間があると判定し、減速の指令をロボット制御装置(図示しない)に出力することで、ロボット10の動作を減速させる。
一方、作業者Uの領域がロボット10の領域R2とも重なる場合、接近判定部215は、直ちに作業者Uとロボット10とが衝突する危険があると判定し、停止の指令をロボット制御装置(図示しない)に出力することで、ロボット10の動作を停止させる。
このように、ロボット10の領域として大きさの異なる2つの領域R1、R2を設けることで、接近判定部215は、減速又は停止のいずれの指示を出力すべきかを適切に判定することができる。
【0031】
<通知部216>
通知部216は、接近判定部215が減速又は停止の指示を出力する場合、安心ビジョン装置20に含まれるスピーカ(図示しない)を介して警告音を出力する。
なお、通知部216は、警告を示すメッセージを安心ビジョン装置20に含まれるLCD(Liquid Crystal Display)等の表示装置(図示しない)に表示するようにしてもよい。
【0032】
<安心ビジョン装置20の判定処理>
次に、本実施形態に係る安心ビジョン装置20の判定処理に係る動作について説明する。
図5は、安心ビジョン装置20の判定処理について説明するフローチャートである。ここで示すフローは、安心ビジョン装置20が安心ビジョンアプリケーションプログラムを実行している間、繰り返し実行される。
【0033】
ステップS1において、3次元物体認識部211は、カメラ40により所定のフレームレートで撮影された作業者U及びロボット10のフレーム画像を取得する。
【0034】
ステップS2において、3次元物体認識部211は、ステップS1で取得されたフレーム画像と、3次元認識モデルデータ233と、に基づいて、ワールド座標系におけるロボット原点の3次元座標値、及びロボット座標系のX軸、Y軸、Z軸それぞれの方向を示す情報を取得する。
【0035】
ステップS3において、自己位置推定部212は、ステップS1で取得されたフレーム画像に基づいて、ワールド座標系におけるカメラ40の3次元座標値を取得する。
【0036】
ステップS4において、自己位置推定部212は、ステップS3で取得したカメラ40の3次元座標値と、ステップS2で取得したロボット10のロボット原点の3次元座標値と、に基づいて、カメラ40とロボット10との間の距離及び傾きと、を算出する。
【0037】
ステップS5において、入力部213は、ステップS1で取得されたフレーム画像と、ステップS4で算出されたカメラ40とロボット10との間の距離及び傾きと、を入力する。
【0038】
ステップS6において、推定部214は、ステップS5で入力されたフレーム画像を人間3次元骨格推定モデル231に入力することで、入力されたフレーム画像における作業者Uの関節点の位置の3次元座標値を示す3次元関節点データを推定する。また、推定部214は、ステップS2で入力されたフレーム画像と、カメラ40とロボット10との間の距離及び傾きと、をロボット3次元骨格推定モデル232に入力することで、入力されたフレーム画像が撮影された時のロボット10の関節軸J1~J6の角度を推定する。
【0039】
ステップS7において、接近判定部215は、ステップS6で推定された作業者Uの3次元関節点データに基づいて、作業者Uの範囲を示す領域を算出する。また、接近判定部215は、ステップS6で推定されたロボット10の関節軸J1~J6の角度に基づいて、ロボット10の領域R1、R2を算出する。
【0040】
ステップS8において、接近判定部215は、ステップS7で算出された作業者Uの領域が、ステップS7で算出されたロボット10の領域R1と重なるか否かを判定する。作業者Uの領域がロボット10の領域R1と重なる場合、処理はステップS9に進む。一方、作業者Uの領域がロボット10の領域R1と重ならない場合、安心ビジョン装置20は判定処理を終了する。
【0041】
ステップS9において、接近判定部215は、ステップS7で算出された作業者Uの領域が、ステップS7で算出されたロボット10の領域R2と重なるか否かを判定する。作業者Uの領域がロボット10の領域R2と重なる場合、処理はステップS10に進む。一方、作業者Uの領域がロボット10の領域R2と重ならない場合、処理はステップS11に進む。
【0042】
ステップS10において、接近判定部215は、停止の指令をロボット制御装置(図示しない)に出力する。
【0043】
ステップS11において、接近判定部215は、減速の指令をロボット制御装置(図示しない)に出力する。
【0044】
ステップS12において、通知部216は、安心ビジョン装置20のスピーカ(図示しない)を介して警告音を出力する。
【0045】
以上により、一実施形態に係る安心ビジョン装置20は、作業者U及びロボット10が撮影されたフレーム画像と、カメラ40とロボット10との間の距離及び傾きを、学習済みモデルとしての人間3次元骨格推定モデル231、及びロボット3次元骨格推定モデル232に入力することで、作業者Uの関節点の位置の3次元座標値を示す3次元関節点データ、及びロボット10の関節軸J1~J6の角度を推定する。安心ビジョン装置20は、推定した3次元関節点データに基づいて作業者Uの範囲を示す領域、及び関節軸J1~J6の角度に基づいてロボット10の範囲を示す領域R1、R2を算出する。安心ビジョン装置20は、作業者Uの領域がロボット10の領域R1又は領域R2と重なるか否かを判定し、減速又は停止の指示をロボット制御装置(図示しない)に出力する。
これにより、安心ビジョン装置20は、エリアセンサを用いることなくロボット10の動作領域内に作業者が侵入した場合、ロボットを減速又は停止させることができる。
【0046】
以上、安心ビジョン装置20について説明したが、ロボット3次元骨格推定モデル232を生成するための機械学習装置について説明する。
図7は、機械学習装置30の機能的構成例を示す機能ブロック図である。
機械学習装置30は、図7に示すように、情報取得部301、2次元姿勢取得部302、入力データ取得部303、ラベル取得部304、学習部305、及び記憶部306を有する。
以下の説明では、機械学習装置30は、全てのデータが同期の取れるタイミングで取得されたデータのみを教師データとして取得する。例えば、カメラ40が30フレーム/秒でフレーム画像を撮影し、ロボット10に含まれる複数の関節軸の角度を取得できる周期が100ミリ秒で、他のデータが即時に取得できる場合、機械学習装置30は、100ミリ秒等の同期の取れる所定の周期で教師データを取得する。
【0047】
<記憶部306>
記憶部306は、RAM(Random Access Memory)等であり、後述する入力データ取得部303により取得された入力データ、後述するラベル取得部304により取得されたラベルデータ、及び後述する学習部305により構築された学習済みモデル等を記憶する。また、記憶部306は、3次元認識モデルデータ3061を記憶してもよい。
なお、3次元認識モデルデータ3061は、例えば、安心ビジョン装置20の3次元認識モデルデータ233と同様であり、説明は省略する。
【0048】
<情報取得部301>
情報取得部301は、例えば、図示しない通信部を介して、カメラ40により撮影されたロボット10のフレーム画像を取得する。情報取得部301は、例えば、安心ビジョン装置20の3次元物体認識部211と同様に、取得したフレーム画像からワールド座標系におけるロボット原点の3次元座標値、及びロボット座標系のX軸、Y軸、Z軸それぞれの方向を示す情報を取得する。
また、情報取得部301は、安心ビジョン装置20の自己位置推定部212と同様に、ワールド座標系におけるカメラ40の3次元座標値を取得し、取得したカメラ40の3次元座標値と、取得したロボット原点の3次元座標値と、に基づいて、カメラ40とロボット10との間の距離及び傾きを算出するようにしてもよい。
【0049】
<2次元姿勢取得部302>
2次元姿勢取得部302は、例えば、図示しない通信部を介して上述の100ミリ秒等の同期の取れる所定の周期でロボット10にリクエストを送信し、情報取得部301により取得されたフレーム画像が撮影された時のロボット10の関節軸J1~J6の角度を取得する。
そして、2次元姿勢取得部302は、例えば、予め定義したDHパラメータ表を用いて、取得した関節軸J1~J6の角度から順運動学を解き、関節軸J1~J6の中心の位置の3次元座標値を計算し、ワールド座標系におけるロボット10の3次元姿勢を計算する。なお、DHパラメータ表は、例えば、ロボット10の仕様書を基に予め作成され、記憶部306に記憶される。
また、2次元姿勢取得部302は、例えば、公知の2次元平面への投影の方法を用いて、順運動学で計算されたロボット10の関節軸J1~J6の中心の位置をワールド座標系の3次元空間に配置し、情報取得部301により算出されたカメラ40とロボット10との間の距離及び傾きで決まるカメラ40の視点から、カメラ40とロボット10との間の距離及び傾きで決まる投影面に投影することで、関節軸J1~J6の中心の位置の2次元座標(ピクセル座標)(x,y)をロボット10の2次元姿勢として生成する。なお、iは、1~6の整数である。
【0050】
なお、図8A及び図8Bに示すように、ロボット10の姿勢や撮影方向により関節軸がフレーム画像において隠れてしまう場合がある。
図8Aは、関節軸J4の角度が90度のフレーム画像の一例を示す図である。図8Bは、関節軸J4の角度が-90度のフレーム画像の一例を示す図である。
図8Aのフレーム画像では、関節軸J6が隠れて写っていない。一方、図8Bのフレーム画像では、関節軸J6が写っている。
そこで、2次元姿勢取得部302は、ロボット10の隣接する関節軸同士を線分で繋ぐとともに、予め設定されたロボット10のリンク幅で各線分に厚みを定義する。2次元姿勢取得部302は、順運動学で算出したロボット10の3次元姿勢と、カメラ40とロボット10との間の距離及び傾きで決まるカメラ40の光軸方向と、に基づいて線分上に他の関節軸があるか否かを判定する。2次元姿勢取得部302は、他の関節軸Jiが線分に対してカメラ40側と反対の奥行方向にある、図8Aのような場合、他の関節軸Ji(図8Aの関節軸J6)の確信度cを「0」に設定する。一方、2次元姿勢取得部302は、他の関節軸Jiが線分に対してカメラ40側にある、図8Bのような場合、他の関節軸Ji(図8Bの関節軸J6)の確信度cを「1」に設定する。
すなわち、2次元姿勢取得部302は、投影した関節軸J1~J6の中心の位置の2次元座標(ピクセル座標)(x,y)に対して、フレーム画像において各関節軸J1~J6が写っているか否かを示す確信度cをロボット10の2次元姿勢に含めるようにしてもよい。
【0051】
また、機械学習装置30において教師あり学習を行うための訓練データは、多数用意されることが望ましい。
図9は、教師データの数を増やすための一例を示す図である。
図9に示すように、2次元姿勢取得部302は、例えば、教師データを増やすために、カメラ40とロボット10との間の距離及び傾きをランダムに与え、順運動学で算出されたロボット10の3次元姿勢を回転させる。2次元姿勢取得部302は、回転されたロボット10の3次元姿勢を、ランダムに与えられた距離及び傾きで決まる2次元平面に投影することによりロボット10の2次元姿勢を多数生成してもよい。
【0052】
<入力データ取得部303>
入力データ取得部303は、例えば、図示しない通信部を介して、上述の人間3次元骨格推定モデル231を生成するために、Human3.6M等のデータセットから任意の人物の動画のフレーム画像を入力データとして取得する。また、入力データ取得部303は、ロボット3次元骨格推定モデル232を生成するために、カメラ40からフレーム画像と、情報取得部301から取得した当該フレーム画像が撮影された時のカメラ40とロボット10との間の距離及び傾きと、を入力データとして取得する。入力データ取得部303は、取得した入力データを記憶部306に記憶する。
なお、入力データ取得部303は、ロボット3次元骨格推定モデル232を構成する関節角度推定モデル2322の生成にあたり、図10に示すように、2次元姿勢取得部302により生成された2次元姿勢に含まれる関節軸J1~J6の中心の位置の2次元座標(ピクセル座標)(x,y)を、ロボット10のベースリンクである関節軸J1を原点とし、フレーム画像の幅で除算して-1<X<1、及びフレーム画像の高さで除算して-1<Y<1にそれぞれ正規化したXY座標の値に変換するようにしてもよい。
【0053】
<ラベル取得部304>
ラベル取得部304は、例えば、図示しない通信部を介して、上述の人間3次元骨格推定モデル231を生成するために、上述のHuman3.6M等のデータセットから、上述の任意の人物のフレーム画像それぞれにおいて予めアノテーションされたカメラ座標系における関節点の位置の3次元座標値を示す3次元関節点データを、ラベルデータ(正解データ)として取得する。なお、ラベル取得部304は、3次元関節点データをカメラ座標系からワールド座標系に変換するようにしてもよい。
また、ラベル取得部304は、上述のロボット3次元骨格推定モデル232を生成するために、上述の100ミリ秒等の同期の取れる所定の周期でフレーム画像が撮影された時のロボット10の関節軸J1~J6の角度と、当該フレーム画像におけるロボット10の関節軸J1~J6の中心の位置を示す2次元姿勢と、を2次元姿勢取得部302からラベルデータ(正解データ)として取得する。ラベル取得部304は、取得したラベルデータを記憶部306に記憶する。
【0054】
<学習部305>
学習部305は、上述の入力データとラベルとの組を訓練データとして受け付ける。学習部305は、受け付けた訓練データを用いて、教師あり学習を行うことにより、人間3次元骨格推定モデル231と、2次元骨格推定モデル2321及び関節角度推定モデル2322から構成されるロボット3次元骨格推定モデル232と、を構築する。
そして、学習部305は、構築した3次元骨格推定モデル231と、2次元骨格推定モデル2321及び関節角度推定モデル2322から構成されるロボット3次元骨格推定モデル232と、を、安心ビジョン装置20に対して提供する。
以下、ロボット3次元骨格推定モデル232を構成する2次元骨格推定モデル2321及び関節角度推定モデル2322の構築について説明する。
【0055】
<2次元骨格推定モデル2321>
学習部305は、例えば、上述したように、公知のマーカーレス動物追跡ツール(例えば、DeepLabCut)等に用いられる深層学習モデルに基づいて、カメラ40により撮影されたロボット10のフレーム画像の入力データと、当該フレーム画像が撮影された時の関節軸J1~J6の中心の位置を示す2次元姿勢のラベルと、の訓練データを用いて教師あり学習し、カメラ40により撮影された作業者U及びロボット10のフレーム画像を入力し、撮影されたフレーム画像におけるロボット10の関節軸J1~J6の中心の位置を示すピクセル座標の2次元姿勢を出力する2次元骨格推定モデル2321を生成する。
具体的には、2次元骨格推定モデル2321は、ニューラルネットワークである、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)に基づいて構築する。
【0056】
畳み込みニューラルネットワークは、畳み込み層、プーリング層、全結合層、及び出力層を備えた構造となっている。
畳み込み層では、エッジ抽出等の特徴抽出を行うために、入力されたフレーム画像に対して所定のパラメータのフィルタをかける。このフィルタにおける所定のパラメータは、ニューラルネットワークの重みに相当しており、フォワードプロパゲーションやバックプロパゲーションを繰り返すことにより学習されていく。
プーリング層では、ロボット10の位置ズレを許容するために、畳み込み層から出力された画像をぼかす。これにより、ロボット10の位置が変動しても同一の物体であるとみなすことができる。
これら畳み込み層及びプーリング層を組み合わせることによって、フレーム画像から特徴量を抽出することができる。
【0057】
全結合層では、畳み込み層及びプーリング層を通して特徴部分が取り出された画像データを1つのノードに結合し、活性化関数によって変換した値、すなわち確信度の特徴マップを出力する。
図11は、ロボット10の関節軸J1~J6の特徴マップの一例を示す図である。
図11に示すように、各関節軸J1~J6の特徴マップでは、確信度cの値を0~1の範囲で表わされ、セルが関節軸の中心の位置に近いほど「1」に近い値が得られ、関節軸の中心の位置から離れるに従い「0」に近い値が得られる。
出力層では、全結合層からの出力を、各関節軸J1~J6の特徴マップにおいて確信度が最大値となるセルの行(row)、列(column)及び確信度(maximum)を出力する。なお、畳み込み層でフレーム画像が1/Nに畳み込まれた場合、出力層では、セルの行(row)及び列(column)をN倍して、フレーム画像における各関節軸J1~J6の中心の位置を示すピクセル座標とする(Nは1以上の整数)。
図12は、フレーム画像と2次元骨格推定モデル2321の出力結果との比較の一例を示す図である。
【0058】
<関節角度推定モデル2322>
学習部305は、例えば、カメラ40とロボット10との間の距離及び傾き、及び上述の正規化された関節軸J1~J6の中心の位置を示す2次元姿勢の入力データと、フレーム画像が撮影された時のロボット10の関節軸J1~J6の角度のラベルデータと、の訓練データを用いて教師あり学習し、関節角度推定モデル2322を生成する。
なお、学習部305は、2次元骨格推定モデル2321から出力された関節軸J1~J6の2次元姿勢を正規化したが、2次元骨格推定モデル2321から正規化された2次元姿勢が出力されるように、2次元骨格推定モデル2321を生成するにしてもよい。
【0059】
図13は、関節角度推定モデル2322の一例を示す図である。ここでは、関節角度推定モデル2322は、図13に示すように、2次元骨格推定モデル2321から出力され正規化された関節軸J1~J6の位置を示す2次元姿勢データと、カメラ40とロボット10との間の距離及び傾きと、を入力層として、関節軸J1~J6の角度を出力層とする多層ニューラルネットワークを例示する。なお、2次元姿勢は、正規化された関節軸J1~J6の中心の位置である座標(x,y)と、2次元骨格推定モデル2321から出力された確信度が0.5以上の場合に「1」に設定され、0.5未満の場合に「0」に設定された確信度cとを含む(x,y,c)である。
【0060】
また、「X軸の傾きRx」、「Y軸の傾きRy」、及び「Z軸の傾きRz」は、ワールド座標系におけるカメラ40の3次元座標値と、ワールド座標系におけるロボット10のロボット原点の3次元座標値と、に基づいて算出される、ワールド座標系におけるカメラ40とロボット10との間のX軸周りの回転角、Y軸周りの回転角、及びZ軸周りの回転角である。
【0061】
また、学習部305は、2次元骨格推定モデル2321及び関節角度推定モデル2322から構成される学習済みモデルを構築した後に、新たな訓練データを取得した場合には、2次元骨格推定モデル2321及び関節角度推定モデル2322から構成されるロボット3次元骨格推定モデル232に対してさらに教師あり学習を行うことにより、一度構築した2次元骨格推定モデル2321及び関節角度推定モデル2322から構成されるロボット3次元骨格推定モデル232を更新するようにしてもよい。
そうすることで、普段のロボット10の撮影から訓練データを自動的に得ることができるため、ロボット10の関節軸J1~J6の角度の推定精度を日常的に上げることができる。
【0062】
上述した教師あり学習は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、ロボット10のフレーム画像が撮影され、訓練データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、ロボット10のフレーム画像が撮影され、訓練データが作成されることが繰り返される間に、繰り返しに応じた複数の訓練データを収集し、収集した全ての訓練データを用いて、教師あり学習を行うという学習方法である。さらに、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度訓練データが溜まるたびに教師あり学習を行うという学習方法である。
以上、説明した機械学習装置により、安心ビジョン装置20の備えるロボット3次元骨格推定モデルを生成することができる。
【0063】
以上、一実施形態について説明したが、安心ビジョン装置20は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0064】
<変形例1>
上述の実施形態では、安心ビジョン装置20は、作業者Uについて1つの領域を算出したが、これに限定されない。例えば、安心ビジョン装置20は、作業者Uについて、ロボット10の領域R1、R2と同様に、大きさの異なる2つの領域RU1、RU2を算出してもよい。なお、領域RU1における長さ、奥行、高さは、領域RU2における長さ、奥行、高さより大きく設定されているとする。
安心ビジョン装置20は、例えば、作業者Uの領域RU1とロボット10の領域R1とが重なっている、作業者Uの領域RU2とロボット10の領域R1とが重なっている、あるいは作業者Uの領域RU1とロボット10の領域R2とが重なっている場合、ロボット10に対して減速の指示をロボット制御装置(図示しない)に出力するようにしてもよい。
また、安心ビジョン装置20は、最も小さい作業者Uの領域RU2とロボット10の領域R2とが重なっている場合、ロボット10に対して停止の指示をロボット制御装置(図示しない)に出力するようにしてもよい。
なお、作業者Uの領域及びロボット10の領域は1つ又は2つとしたが、3以上の複数の領域が設定されてもよい。
そうすることで、安心ビジョン装置20は、よりきめ細く作業者Uとロボット10との衝突を回避することができる。
【0065】
<変形例2>
また例えば、上述の実施形態では、安心ビジョン装置20は、人間3次元骨格推定モデル231、及びロボット3次元骨格推定モデル232を用いて、入力された作業者U及びロボット10のフレーム画像及びカメラ40とロボット10との間の距離及び傾きから、作業者Uの3次元関節点データ及びロボット10の関節軸J1~J6の角度を推定したが、これに限定されない。例えば、図6に示すように、サーバ50は、人間3次元骨格推定モデル231、及びロボット3次元骨格推定モデル232を記憶し、ネットワーク60を介してサーバ50に接続されたm個の安心ビジョン装置20A(1)~20A(m)と人間3次元骨格推定モデル231、及びロボット3次元骨格推定モデル232を共有してもよい(mは2以上の整数)。これにより、新たなロボット、及び安心ビジョン装置が配置されても人間3次元骨格推定モデル231、及びロボット3次元骨格推定モデル232を適用することができる。
なお、ロボット10A(1)~10A(m)の各々は、図1のロボット10に対応する。安心ビジョン装置20A(1)~20A(m)の各々は、図1の安心ビジョン装置20に対応する。
【0066】
なお、一実施形態における、安心ビジョン装置20に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0067】
安心ビジョン装置20に含まれる各構成部は、電子回路等を含むハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータにインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。また、ハードウェアで構成する場合、上記の装置に含まれる各構成部の機能の一部又は全部を、例えば、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の集積回路(IC)で構成することができる。
【0068】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0069】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0070】
以上を換言すると、本開示の安心ビジョン装置及び安心ビジョンシステムは、次のような構成を有する各種各様の実施形態を取ることができる。
【0071】
(1)本開示の安心ビジョン装置20は、人間の2次元画像を入力し人間の関節点の位置の3次元座標値を示す3次元関節点データを出力する人間3次元骨格推定モデル231と、ロボット10の2次元画像、及びロボット10の2次元画像を撮影したカメラ40とロボット10との間の距離及び傾きを入力し、ロボット10に含まれる複数の関節軸J1~J6の角度を出力するロボット3次元骨格推定モデル232と、外部のカメラ40により撮影された作業者Uとロボット10との2次元画像と、外部のカメラ40とロボット10との間の距離及び傾きと、を入力する入力部213と、入力部213により入力された2次元画像と、外部のカメラ40とロボット10との間の距離及び傾きと、を人間3次元骨格推定モデル231及びロボット3次元骨格推定モデル232に入力し、作業者Uの関節点の位置の3次元座標値を示す3次元関節点データと、ロボット10に含まれる複数の関節軸J1~J6の角度と、を推定する推定部214と、3次元関節点データと複数の関節軸J1~J6の角度とに基づいて作業者Uの範囲を示す領域とロボット10の範囲を示す領域R1、R2とを算出し、算出した作業者Uの領域とロボット10の領域との重なり具合に応じてロボット10に対する減速又は停止の指示を出力する接近判定部215と、を備える。
この安心ビジョン装置20によれば、エリアセンサを用いることなくロボットの動作領域内に作業者が侵入した場合、ロボットを減速又は停止させることができる。
【0072】
(2) (1)に記載の安心ビジョン装置20において、2次元画像は、所定のフレームレートでカメラ40により撮影されたフレーム画像であってもよい。
そうすることで、安心ビジョン装置20は、作業者U及びロボット10の動きを連続的に追跡することができる。
【0073】
(3) (1)又は(2)に記載の安心ビジョン装置20において、接近判定部215が減速又は停止の指示を出力する場合、警告音を出力する通知部216をさらに備えてもよい。
そうすることで、安心ビジョン装置20は、作業者Uに対して警告することができる。
【0074】
(4) (1)から(3)のいずれかに記載の安心ビジョン装置20において、人間3次元骨格推定モデル231及びロボット3次元骨格推定モデル232を、安心ビジョン装置20からネットワーク60を介してアクセス可能に接続されるサーバ50に備えてもよい。
そうすることで、安心ビジョン装置20は、新たなロボット、及び安心ビジョン装置が配置されても学習済みモデルを適用することができる。
【0075】
(5)本開示の安心ビジョンシステム1は、ロボット10と、カメラ40と、(1)から(4)のいずれかに記載の安心ビジョン装置20と、を備える。
この安心ビジョンシステム1は、(1)から(4)と同様の効果を奏することができる。
【符号の説明】
【0076】
1 安心ビジョンシステム
10 ロボット
20 安心ビジョン装置
21 制御部
211 3次元物体認識部
212 自己位置推定部
213 入力部
214 推定部
215 接近判定部
216 通知部
22 通信部
23 記憶部
231 人間3次元骨格推定モデル
232 ロボット3次元骨格推定モデル
2321 2次元骨格推定モデル
2322 関節角度推定モデル
30 機械学習装置
301 情報取得部
302 2次元姿勢取得部
303 入力データ取得部
304 ラベル取得部
305 学習部
306 記憶部
40 カメラ
50 サーバ
60 ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
図12
図13