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

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

▶ KDDI株式会社の特許一覧

特許7290600点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム
<>
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図1
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図2
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図3
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図4
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図5
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図6
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図7
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図8
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図9
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図10
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図11
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図12
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図13
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図14
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図15
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図16
  • 特許-点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-05
(45)【発行日】2023-06-13
(54)【発明の名称】点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラム
(51)【国際特許分類】
   G01B 11/26 20060101AFI20230606BHJP
   G06T 7/70 20170101ALI20230606BHJP
   G06T 7/13 20170101ALI20230606BHJP
   G06T 7/00 20170101ALI20230606BHJP
   B63C 11/00 20060101ALI20230606BHJP
   B63B 39/14 20060101ALI20230606BHJP
   G01C 3/06 20060101ALI20230606BHJP
   G01B 11/00 20060101ALI20230606BHJP
【FI】
G01B11/26 H
G06T7/70 Z
G06T7/13
G06T7/00 350B
B63C11/00 B
B63B39/14
G01C3/06 120S
G01B11/00 H
【請求項の数】 13
(21)【出願番号】P 2020076176
(22)【出願日】2020-04-22
(65)【公開番号】P2021173581
(43)【公開日】2021-11-01
【審査請求日】2022-06-22
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】恋塚 葵
【審査官】山▲崎▼ 和子
(56)【参考文献】
【文献】特開平08-169398(JP,A)
【文献】特開2018-054436(JP,A)
【文献】特開2000-030064(JP,A)
【文献】特開2011-125262(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G06T 7/00-7/90
G06V 10/00-20/90
30/418、40/16、40/20
B63B 39/14
B63C 1/00-15/00
B63G 1/00-13/02
(57)【特許請求の範囲】
【請求項1】
水中を点検する点検システムであって、
撮像部と、
前記撮像部が撮像した水中の網の画像情報を受け付ける受付部と、
前記受付部が受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出する検出部と、
前記検出部が検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出する導出部と
を備える、点検システム。
【請求項2】
前記導出部は、前記水中ロボットの前記網に対する相対角度を導出する、請求項1に記載の点検システム。
【請求項3】
前記導出部は、前記画像の左端と右端との両方に網が撮像されている場合に、前記検出部が検出した前記画像に含まれる前記網目の前記輪郭に基づいて、前記画像の中心を基準として、前記基準から前記画像の右端までの長さと、前記基準から前記画像の左端までの長さとに基づいて、前記水中ロボットの前記網に対する相対角度を導出する、請求項2に記載の点検システム。
【請求項4】
前記導出部は、前記水中ロボットの前記網に対する相対距離を導出する、請求項2又は請求項3のいずれか一項に記載の点検システム。
【請求項5】
前記導出部は、前記相対角度と前記画像の左端と右端との間の距離に基づいて、前記水中ロボットの前記網に対する相対距離を導出する、請求項2から請求項4のいずれか一項に記載の点検システム。
【請求項6】
前記導出部は、前記画像の左端と右端とのいずれか一方に網が撮像されていない場合に、前記検出部が検出した前記画像に含まれる前記網目の前記輪郭に基づいて、前記画像の中心を基準として、前記基準から前記網が撮像されている一端までの長さのうち、前記撮像部の画角を分割した角度で撮像できる長さに基づいて、前記水中ロボットの前記網に対する相対角度を導出する、請求項2に記載の点検システム。
【請求項7】
前記導出部は、前記相対角度と前記基準から前記網が撮像されている一端までの長さに基づいて、前記水中ロボットの前記網に対する相対距離を導出する、請求項6に記載の点検システム。
【請求項8】
前記画像情報に基づいて画像を複数に分割することによって得られる複数の学習用分割画像の各々を機械学習する学習部
を備え、
前記検出部は、前記学習部が機械学習することによって抽出した特徴量に基づいて画像に含まれる網目の輪郭を検出する、請求項1から請求項7のいずれか一項に記載の点検システム。
【請求項9】
水中の網を撮像した画像情報を受け付ける受付部と、
前記受付部が受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出する検出部と、
前記検出部が検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出する導出部と
を備える、姿勢検出装置。
【請求項10】
水中を点検する点検システムが実行する点検方法であって、
撮像するステップと、
前記撮像するステップで撮像した水中の網の画像情報を受け付けるステップと、
前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、
前記網目の輪郭を検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップと
を有する、点検方法。
【請求項11】
水中の網を撮像した画像情報を受け付けるステップと、
前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、
前記検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップと
を有する、コンピュータが実行する姿勢検出方法。
【請求項12】
水中を点検する点検システムのコンピュータに、
撮像するステップと、
前記撮像するステップで撮像した水中の網の画像情報を受け付けるステップと、
前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、
前記網目の輪郭を検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップと
を実行させる、コンピュータプログラム。
【請求項13】
コンピュータに
水中の網を撮像した画像情報を受け付けるステップと、
前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、
前記網目の輪郭を検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップと
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
遠隔操縦が可能な水中ドローンなどの水中ロボットが知られている。水中ドローンに関して、対象物の形状の正確な認識とともに対象物に対する正確な位置/姿勢の制御を自律的に行う技術が知られている(例えば、特許文献1参照)。
この技術は、水中動力系と、水中ロボットと、対象物を撮像する複眼カメラと、水中動力系及び複眼カメラを制御する制御手段と、を備える水中航走体制御システムである。制御手段は、複眼カメラにより撮像された画像が入力される画像入力部と、対象物の特徴情報を含むモデルが記憶されるモデル記憶部と、入力画像についてモデルとの適合度を求めるための所定の適合度関数を演算する適合度演算部と、適合度に基づいて対象物の遺伝情報を生成する遺伝アルゴリズムを実行する遺伝アルゴリズム実行部と、を有する。遺伝アルゴリズム実行部は、対象物に合致するように遺伝情報を所定時間において進化させて、対象物の位置及び姿勢を推定する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-90488号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
水中ロボットを使用して定置網などの魚網を点検することを考える。魚網の状況を把握するためには、水中ロボットに対して細かな操縦技術が必要となる。また、水中ロボットを深く潜らせると水中ロボットの位置把握が困難となる。従来の技術では、対象物が予め決まっていれば、正確な位置・姿勢の推定を自律的に行うことができる。しかし、従来の技術では、カメラの画角内に対象物が全て含まれることを前提とするため、カメラの画角内に対象物の全てを含めることが難しい魚網を点検する用途に使用することは難しい。また、従来の技術では、対象物の特徴情報を含むモデルを予め用意する必要があるため、汎用性が低く、利便性が悪い。
本発明は、このような事情を考慮してなされたものであり、その目的は、水中ロボットを使用して網を点検できる点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0005】
(1)本発明の一態様は、水中を点検する点検システムであって、撮像部と、前記撮像部が撮像した水中の網の画像情報を受け付ける受付部と、前記受付部が受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出する検出部と、前記検出部が検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出する導出部とを備える、点検システムである。
(2)本発明の一態様は、上記(1)に記載の点検システムにおいて、前記導出部は、前記水中ロボットの前記網に対する相対角度を導出する。
(3)本発明の一態様は、上記(2)に記載の点検システムにおいて、前記導出部は、前記画像の左端と右端との両方に網が撮像されている場合に、前記検出部が検出した前記画像に含まれる前記網目の前記輪郭に基づいて、前記画像の中心を基準として、前記基準から前記画像の右端までの長さと、前記基準から前記画像の左端までの長さとに基づいて、前記水中ロボットの前記網に対する相対角度を導出する。
(4)本発明の一態様は、上記(2)又は上記(3)に記載の点検システムにおいて、前記導出部は、前記水中ロボットの前記網に対する相対距離を導出する。
(5)本発明の一態様は、上記(2)から上記(4)のいずれか一項に記載の点検システムにおいて、前記導出部は、前記相対角度と前記画像の左端と右端との間の距離に基づいて、前記水中ロボットの前記網に対する相対距離を導出する。
(6)本発明の一態様は、上記(2)に記載の点検システムにおいて、前記導出部は、前記画像の左端と右端とのいずれか一方に網が撮像されていない場合に、前記検出部が検出した前記画像に含まれる前記網目の前記輪郭に基づいて、前記画像の中心を基準として、前記基準から前記網が撮像されている一端までの長さのうち、前記撮像部の画角を分割した角度で撮像できる長さに基づいて、前記水中ロボットの前記網に対する相対角度を導出する。
(7)本発明の一態様は、上記(6)に記載の点検システムにおいて、前記導出部は、前記相対角度と前記基準から前記網が撮像されている一端までの長さに基づいて、前記水中ロボットの前記網に対する相対距離を導出する。
(8)本発明の一態様は、上記(1)から上記(7)に記載の点検システムにおいて、前記画像情報に基づいて画像を複数に分割することによって得られる複数の学習用分割画像の各々を機械学習する学習部を備え、前記検出部は、前記学習部が機械学習することによって抽出した特徴量に基づいて画像に含まれる網目の輪郭を検出する。
(9)本発明の一態様は、水中の網を撮像した画像情報を受け付ける受付部と、前記受付部が受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出する検出部と、前記検出部が検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出する導出部とを備える、姿勢検出装置である。
(10)本発明の一態様は、水中を点検する点検システムが実行する点検方法であって、撮像するステップと、前記撮像するステップで撮像した水中の網の画像情報を受け付けるステップと、前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、前記網目の輪郭を検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップとを有する、点検方法である。
(11)本発明の一態様は、水中の網を撮像した画像情報を受け付けるステップと、前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、前記検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップとを有する、コンピュータが実行する姿勢検出方法である。
(12)本発明の一態様は、水中を点検する点検システムのコンピュータに、撮像するステップと、前記撮像するステップで撮像した水中の網の画像情報を受け付けるステップと、前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、前記網目の輪郭を検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップとを実行させる、コンピュータプログラムである。
(13)本発明の一態様は、コンピュータに、水中の網を撮像した画像情報を受け付けるステップと、前記受け付けるステップで受け付けた前記画像情報に基づいて、画像に含まれる網目の輪郭を検出するステップと、前記網目の輪郭を検出するステップで検出した前記画像に含まれる網目の前記輪郭に基づいて、前記網を撮像した水中ロボットの前記網に対する位置姿勢を導出するステップとを実行させる、コンピュータプログラムである。
【発明の効果】
【0006】
本発明によれば、水中ロボットを使用して網を点検できる点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラムを提供できる。
【図面の簡単な説明】
【0007】
図1】本発明の実施形態に係る点検システムの構成例を示す図である。
図2】網目部分の画像の例1を示す図である。
図3】網目部分の画像の例2を示す図である。
図4】網目部分の画像の例3を示す図である。
図5】網目部分の画像の例4を示す図である。
図6】網目部分の画像の例5を示す図である。
図7】網目部分の画像の例6を示す図である。
図8】網目輪郭の模式図である。
図9】網目部分の画像の例7を示す図である。
図10】網目部分の画像の例8を示す図である。
図11】相対角度を推定する処理の例1を示す図である。
図12】相対角度を推定する処理の例2を示す図である。
図13】網目輪郭の一例を示す図である。
図14】本実施形態に係る姿勢検出装置における相対距離を推定する処理の一例を示す図である。
図15】本実施形態に係る点検システムの動作の一例を示すシーケンスチャートである。
図16】実施形態の変形例に係る点検システムの構成例を示す図である。
図17】実施形態の変形例に係る点検システムの動作の一例を示すシーケンスチャートである。
【発明を実施するための形態】
【0008】
次に、本実施形態の点検システム、姿勢検出装置、点検方法、姿勢検出方法及びコンピュータプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0009】
(実施形態)
(点検システム)
図1は、本発明の実施形態に係る点検システムの構成例を示す図である。本実施形態に係る点検システム100は、漁場で定置網などの魚網の点検、養殖場で養殖網の点検や魚の生育状況の確認を行う。以下、魚網、養殖網を単に網と記載する。
点検システム100は、水中ロボット1と姿勢検出装置2と制御機器3とを備える。水中ロボット1は水中で作業するロボットである。水中ロボット1は撮像部を搭載し、撮像部が撮像することで得られる画像情報を制御機器3へ送信する。撮像部は、水中に設置された魚網や養殖場に設置された養殖網の少なくとも一部分を撮像する。水中ロボット1は、ケーブルを介して制御機器3と接続される。水中ロボット1は、ユーザーが制御機器3を操作することで送信される制御情報に基づいて動作する。また、水中ロボット1は、姿勢検出装置2が送信する相対角度情報と相対距離情報とに基づいて自律的に動作する。
【0010】
制御機器3は水中ロボット1が送信した画像情報を受信し、受信した画像情報を姿勢検出装置2へ送信する。姿勢検出装置2は制御機器3が送信した画像情報を受信し、受信した画像情報に基づいて網に対する水中ロボット1の相対角度と相対距離とを導出する。具体的には、姿勢検出装置2は、受信した画像情報に基づいて、画像に含まれる網の網目部分を検出する。姿勢検出装置2は、検出した網目部分に基づいて網に対する水中ロボット1の相対角度を導出する。姿勢検出装置2は、導出した相対角度と網目部分とに基づいて網に対する水中ロボット1の相対距離を導出する。姿勢検出装置2は、網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果とを制御機器3へ送信する。
制御機器3は姿勢検出装置2と有線又は無線で接続される。制御機器3はテザーケーブルなどのケーブルを介して水中ロボット1と接続される。制御機器3は姿勢検出装置2が送信した網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果とを受信する。制御機器3は、受信した網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果とを、水中ロボット1へ送信する。また、制御機器3は、ユーザーUの操作に基づいて制御情報を作成し、作成した制御情報を水中ロボット1へ送信する。水中ロボット1は、制御機器3が送信した網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果とに基づいて自律的に駆動する。また、水中ロボット1は、制御機器3が送信した制御情報に基づいて駆動する。
以下点検システム100に含まれる水中ロボット1と姿勢検出装置2と制御機器3との各々について、順次説明する。
【0011】
(水中ロボット1)
水中ロボット1の一例は水中ドローンである。水中ドローンはコンピュータ等の装置を含む潜水用のドローンによって実現される。水中ロボット1は例えば、撮像部10とセンサ11と動力系12と制御部13と通信部14とを備える。
撮像部10は、静止画、動画を撮像することによって、画像情報を生成する。本実施形態では、撮像部10が、水中ロボット1の前面に搭載されている場合について説明を続ける。撮像部10は、水中ロボット1の前面を撮像する。撮像部10は、水中ロボット1が水中に設置された網の前面に移動した場合に、その網の少なくとも一部分を撮像する。
センサ11は、深度センサと地磁気センサと水温センサとを含んで構成される。センサ11は、深度センサ、地磁気センサ、水温センサ以外のセンサを含んで構成されてもよい。センサ11は、深度を測定する。センサ11は、方位、傾き、動き、衝撃、振動、進行方向などを測定する。センサ11は、水温を測定する。
動力系12は、水中ロボット1を海上、水中で航行させる。例えば動力系12は複数のスラスタとモータとを含んで構成される。
制御部13は、水中ロボット1の移動、通信などの水中ロボット1の動作全般の制御、管理を行う。制御部13は、撮像部10に撮像させ、撮像させることによって、撮像部10が生成した画像情報を取得する。制御部13は、取得した画像情報を、通信部14から姿勢検出装置2へ送信する。制御部13は、通信部14が受信した網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果とを取得し、取得した網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果とに基づいて、動力系12を制御する。また、制御部13は、通信部14が送信した制御情報を取得し、取得した制御情報に基づいて、動力系12を制御する。
通信部14は、通信モジュールによって実現される。通信部14はケーブルCAを介して制御機器3などの外部の通信装置と通信する。通信部14は制御機器3との間で双方向の通信を行う。通信部14はケーブルCAを介して、制御機器3と接続される。ケーブルCAの一例は、テザーケーブルである。通信部14は、制御部13が出力した画像情報を取得し、取得した画像情報を姿勢検出装置2へ送信する。通信部14は、制御機器3が送信した網に対する水中ロボット1の相対角度の導出結果と網に対する水中ロボット1の相対距離の導出結果と制御情報とを受信する。
【0012】
(姿勢検出装置2)
姿勢検出装置2は、パーソナルコンピュータ、サーバ、スマートフォン、タブレットコンピュータ又は産業用コンピュータ等の装置によって実現される。姿勢検出装置2は、受付部20と網目部分検出部21と相対角度導出部22と相対距離導出部23と通信部24とを含んで構成される。
受付部20は、通信部24が受信した画像情報を受け付ける。網目部分検出部21は、受付部20が受け付けた画像情報を取得する。網目部分検出部21は、複数の画像処理手法を用いて、取得した画像情報に含まれる網目部分の輪郭を検出する。ここで、網目部分の輪郭を検出する方法の一例について説明する。
図2は、網目部分の画像の例1を示す図である。図2は、網目部分検出部21が、受付部20から取得した画像情報に基づいて取得される画像の一例を示す。
網目部分検出部21は、取得した画像情報に基づいて、画像をグレースケール変換することによって、ピクセルの標本値に光度以外の情報が含まれていない画像(以下「グレースケール画像」という)を生成する。
図3は、網目部分の画像の例2を示す図である。図3は、グレースケール画像の一例を示す。グレースケール画像は二値画像とは異なり、光が最も強い白から最も弱い黒までの間の灰色の明暗も含めて画像が表現される。
【0013】
網目部分検出部21は、グレースケール画像のエッジ検出を行うことによって、明るさが不連続に変化している箇所を特定した画像(以下「エッジ検出画像」という)を生成する。
図4は、網目部分の画像の例3を示す図である。図4は、エッジ検出画像の一例を示す。エッジ検出画像では、グレースケール画像のエッジ検出を行うことによって、網以外の部分は黒、網の境界部分は白の2値で画像が表現される。
【0014】
網目部分検出部21は、エッジ検出画像のノイズの除去と軽減とのいずれか一方又は両方を行う。ここでは、一例として、網目部分検出部21が、エッジ検出画像にモルフォロジー変換を行う場合について説明を続ける。例えば、網目部分検出部21は、エッジ変換画像に含まれる網の部分に対してモルフォロジー変換のクロージングを行うことによって、膨張の後に収縮させる処理を行った画像(以下「ノイズ軽減画像」という)を生成する。
図5は、網目部分の画像の例4を示す図である。図5は、ノイズ軽減画像の一例を示す。ノイズ軽減画像では、エッジ検出画像に含まれる網の部分にモルフォロジー変換が行われることによって、網目の境界がより鮮明となっている。
【0015】
網目部分検出部21は、ノイズ軽減画像に対し輪郭を検出した画像(以下「輪郭検出画像」という)を生成する。
図6は、網目部分の画像の例5を示す図である。図6は、輪郭検出画像の一例を示す。輪郭検出画像では、ノイズ軽減画像から輪郭が検出されることによって、網目部分に沿った輪郭が抽出されている。輪郭検出画像は、網目部分と網目部分以外の部分である背景部分とを含む。網目部分は、理想的には矩形形状の輪郭(以下「網目輪郭」という)が複数連続したものである。なお、網目輪郭には、矩形において、その一部が途切れているものも含む。以下、網目部分検出部21が検出した複数の網目輪郭を網目輪郭群という。
【0016】
ここで、水中ロボット1の位置姿勢を導出するためには、ノイズ軽減画像から閉じた網目輪郭を検出する必要がある。しかし、網目部分検出部21が検出した網目輪郭には、網目輪郭の一部が途切れているもの、ノイズの影響で誤検出されたもの、背景部分との色の差分が大きいことによって誤検出されたものが含まれている可能性がある。図6に示される輪郭検出画像には、輪郭検出画像の端の部分にみられるように、網目輪郭が途切れているものが含まれている。
そこで、網目部分検出部21は、不良の網目輪郭を排除する処理を行ってもよい。具体的には、網目部分検出部21は、検出した網目輪郭で囲まれている部分の面積を計算する。ここで、網目輪郭の一部が途切れていて面積を計算できない網目輪郭は排除する。網目部分検出部21は、複数の網目輪郭の各々について網目輪郭で囲まれている部分の面積を計算した結果から、面積が面積閾値未満となる網目輪郭を排除する。例えば、網目部分検出部21は、画質が1080pの場合に300px以下の網目輪郭を排除する。
図7は、網目部分の画像の例6を示す図である。図7は、複数の網目輪郭の各々について網目輪郭で囲まれている部分の面積を計算した結果に基づいて、面積が面積閾値未満となる不良の網目輪郭を排除することによって得られる画像(以下「網目輪郭画像」という)を示す。
【0017】
網目部分検出部21は、網目輪郭画像に平行で、互いに直交するX軸とY軸とを設定する。例えば、図7に示すように、水平方向をX軸とし、X軸に垂直な方向をY軸とする。網目部分検出部21は、網目輪郭群から、面積が面積閾値未満となる網目輪郭を排除した残りの網目輪郭について、x座標が最大の点A(Xmax)とx座標が最小の点B(Xmin)とy座標が最大の点C(Ymax)とy座標が最小の点D(Ymin)とを取得する。網目部分検出部21は、各網目輪郭について、理想的な網目輪郭の形状はひし形となることから、算出した4点(A(Xmax)、B(Xmin)、C(Ymax)、D(Ymin))を利用して、網目輪郭の各辺の傾きと長さとを導出する。
【0018】
図8は、網目輪郭の模式図である。図8は、一つの網目輪郭について、A(Xmax)とB(Xmin)とC(Ymax)とD(Ymin)とを示す。網目部分検出部21は、B(Xmin)とC(Ymax)とを結んだ線の傾きとD(Ymin)とA(Xmax)とを結んだ線の傾きとに基づいて、B(Xmin)とC(Ymax)とを結んだ線とD(Ymin)とA(Xmax)とを結んだ線との角度差(以下「第1角度差」という)を導出する。網目部分検出部21は、導出した第1角度差が第1角度閾値以上である場合には、B(Xmin)とC(Ymax)とを結んだ線とD(Ymin)とA(Xmax)とを結んだ線とを含む不良の網目輪郭を排除する。
また、網目部分検出部21は、A(Xmax)とC(Ymax)とを結んだ線の傾きとD(Ymin)とB(Xmin)とを結んだ線の傾きとに基づいて、A(Xmax)とC(Ymax)とを結んだ線とD(Ymin)とB(Xmin)とを結んだ線との角度差(以下「第2角度差」という)を導出する。網目部分検出部21は、導出した第2角度差が第2角度閾値以上である場合には、A(Xmax)とC(Ymax)とを結んだ線とD(Ymin)とB(Xmin)とを結んだ線とを含む不良の網目輪郭を排除する。ここで、第1角度差閾値と第2角度差閾値とは同じ値であってもよいし、異なる値であってもよい。
【0019】
網目部分検出部21は、複数の網目輪郭の各々について、B(Xmin)とC(Ymax)とを結んだ線の長さとC(Ymax)とA(Xmax)とを結んだ線の長さとA(Xmax)とD(Ymin)とを結んだ線の長さとD(Ymin)とB(Xmin)とを結んだ線の長さとの四辺の長さを導出する。網目部分検出部21は、導出した四辺の長さの比を導出する。網目部分検出部21は、導出した四辺の長さの比に基づいて、四辺の長さの比が長さ比閾値以上である不良の網目輪郭を排除する。
【0020】
網目部分検出部21は、四辺の長さの比が長さ比閾値以上である不良の網目輪郭を排除した残りの網目輪郭について、網目輪郭で囲まれた部分の面積を導出する。網目部分検出部21は、導出した複数の面積の中央値を抽出する。網目部分検出部21は、抽出した中央値に対して第1面積閾値より大きい面積を有する不良の網目輪郭を排除する。網目部分検出部21は、抽出した中央値に対して第2面積閾値未満の面積を有する不良の網目輪郭を排除する。
【0021】
図9は、網目部分の画像の例7を示す図である。図9は、網目輪郭画像から、網目輪郭の各辺の傾きに基づいて不良の網目輪郭を排除し、各辺の長さに基づいて不良の網目輪郭を排除し、網目輪郭の面積に基づいて不良の網目輪郭を排除することによって得られる画像(以下「排除済網目輪郭画像」という)を示す。図9によれば、網目輪郭の四辺のうち対向する辺の角度差が角度閾値以上である不良の網目輪郭と、網目輪郭の四辺の長さの比が長さ比閾値以上である不良の網目輪郭と、網目輪郭で囲まれた部分の面積の中央値に対して第1面積閾値より大きい面積を有する不良の網目輪郭と、網目輪郭で囲まれた部分の面積の中央値に対して第2面積閾値未満の面積を有する不良の網目輪郭とが、網目輪郭画像から排除されている。
【0022】
相対角度導出部22は、網目部分検出部21が作成した排除済網目輪郭画像情報を取得する。相対角度導出部22は、取得した排除済網目輪郭画像情報に基づいて、網に対する水中ロボット1の相対角度を導出する。相対角度導出部22は、網目部分検出部21が作成した排除済輪郭画像に含まれる網目輪郭群に基づいて、排除済輪郭画像のX軸方向に含まれる網目輪郭の数をカウントする。
図10は、網目部分の画像の例8を示す図である。図10は、図9に示される排除済網目輪郭画像に対して、排除済網目輪郭画像の中心点を基準として、右側に網目輪郭r1から網目輪郭r8を設定し、左側に網目輪郭l1から網目輪郭l10、網目輪郭l´10を設定したものである。
相対角度導出部22は、排除済網目輪郭画像の中心点を基準として、網目輪郭の重心のx座標が中心点よりも大きいもののうち重心が最も中心点に近い網目輪郭を網目輪郭r1とし、網目輪郭の重心のx座標が網目輪郭r1の重心よりも大きいもののうち重心が最も網目輪郭r1に近い網目輪郭を網目輪郭r2とし、網目輪郭の重心のx座標が網目輪郭r2の重心よりも大きいもののうち重心が最も網目輪郭r2に近い網目輪郭を網目輪郭r3とする。以下同様にして、網目輪郭r4から網目輪郭r8を設定する。つまり、相対角度導出部22は、網目輪郭rnのA(Xmax)よりもB(Xmin)のx座標が大きい輪郭のうち、網目輪郭rn(nは、n>0の整数)のA(Xmax)に最も近いB(Xmin)を含む網目輪郭を選択することによって、網目輪郭rn+1の網目輪郭を決定する。
【0023】
相対角度導出部22は、排除済網目輪郭画像の中心点を基準として、網目輪郭の重心のx座標が中心点よりも小さいもののうち重心が最も中心点に近い網目輪郭を網目輪郭l1とし、網目輪郭の重心のx座標が網目輪郭l1の重心よりも小さいもののうち重心が最も網目輪郭l1に近い網目輪郭を網目輪郭l2とし、網目輪郭の重心のx座標が網目輪郭l2の重心よりも小さいもののうち重心が最も網目輪郭l2に近い網目輪郭を網目輪郭l3とする。以下同様にして、網目輪郭l4から網目輪郭l10を設定する。つまり、相対角度導出部22は、網目輪郭lm(mは、m>0の整数)のB(Xmin)よりもA(Xmax)のx座標が小さい輪郭のうち、網目輪郭lmのB(Xmin)に最も近いA(Xmax)を含む網目輪郭を選択することによって、網目輪郭lm+1の網目輪郭を決定する。
相対角度導出部22は図10に示すように、網目部分検出部21が不良の網目輪郭l10を選択した場合には、選択した網目輪郭l10の代わりに選択した網目輪郭l10に隣接する網目輪郭l´10を選択する。
【0024】
図10に示される例では、排除済網目輪郭画像の中心点を基準として、左側に網目輪郭l1から網目輪郭l9と網目輪郭l´10の10個の網目輪郭が選択され、右側に網目輪郭r1から網目輪郭r8の8個の網目輪郭が選択されている。図10に示される例では、排除済網目輪郭画像の端部の網目輪郭でその一部が途切れているものはカウントされない。このため、相対角度導出部22は、カウントされない網目輪郭を補償するための補正を行ってもよい。例えば、相対角度導出部22は、網目輪郭r8のA(Xmax)のx座標と網目輪郭l´10のB(Xmin)のx座標とに基づいて、補正してもよい。具体的には、相対角度導出部22は、網目輪郭r8のA(Xmax)のx座標と網目輪郭l´10のB(Xmin)のx座標とに基づいて、網目輪郭r1から網目輪郭r8と網目輪郭l1から網目輪郭l9と網目輪郭l´10とのX方向の長さの平均値を導出する。相対角度導出部22は、導出した平均値に基づいて、カウントされていない網目輪郭のX軸方向の長さを導出する。このように構成することによって、カウントされていない網目輪郭を補償することができる。
【0025】
図11は、相対角度を推定する処理の例1を示す図である。図11は、網NEと水中ロボット1とをY軸の正の方向からY軸の負の方向を見た図である。図11において、姿勢検出装置2と制御機器3とは省略されている。水中ロボット1の網NEに対する相対角度をθ[deg]とする。また、水中ロボット1の撮像部10の画角を2α[deg]とする。撮像部10は、中央軸(レンズ軸)から左側に角度α[deg]、右側に角度α[deg]分の領域を撮影できる。
網NEにおいて、黒点は、網目輪郭に含まれるA(Xmax)又はB(Xmin)を示している。つまり、網目輪郭は、黒点によって挟まれている領域で表される。図11に示される例では、撮像部10は、X軸方向に沿って、中央軸から左側に3個の網目輪郭を捉え、中心軸から右側に6個の網目輪郭を捉えている。
相対角度導出部22は、排除済網目輪郭画像から、X軸方向に含まれる網目輪郭の数に基づいて、中央軸から左側の網目輪郭と、中央軸から右側の網目輪郭とをカウントする。ここで、撮像部10が撮像していている網目輪郭の数の増加に応じて、撮像部10が捉えている網NEのX軸方向の長さが長くなる。このため、中央軸から左側に捉えられる網目輪郭の数と中央軸から右側に捉えられる網目輪郭の数との比は、排除済網目輪郭画像の中心点を基準として、左側の面に含まれる網NEの長さと右側の面に含まれる網NEの長さとの比となる。
【0026】
図11には、排除済網目輪郭画像の中心点を基準として、左側の面に含まれる網NEの長さを四角形で囲まれた「L」、右側の面に含まれる網NEの長さを四角形で囲まれた「R」で表している。図11において、角の二等分線の定理より、排除済網目輪郭画像の中心点を基準として、撮像部10が捉えた網NEの左端までの距離(三角形で囲まれた「L」で表す)と撮像部10が捉えた網の右端までの距離(三角形で囲まれた「R」で表す)との比は、L:Rとなる。この関係と各角度の値とを用いて三角形の正弦定理を適用することによって、式(1)が成り立つ。ただし、L<R、θ<=90°-αの場合を想定している。
R/sin(90°-α+θ)=L/sin(90°-α-θ) (1)
式(1)を解くことによって、水中ロボット1の網NEに対する相対角度θは式(2)となる。
θ=arctan((R-L)/{(R+L)tanα}) (2)
相対角度導出部22は、式(2)により、水中ロボット1の網NEに対する相対角度θを導出する。
ここでは、L<R、θ<=90°-αの場合を想定した場合について示したが、L<R、θ<=90°-αについても同様の方法で、水中ロボット1の網NEに対する相対角度θを導出できるため、ここでの説明は省略する。
【0027】
水中ロボット1の網NEに対する相対角度θが大きいため(θ>90°-α)、撮像部10が網目輪郭全体を捉えられない場合には、相対角度導出部22は、以下のようにして相対角度を求めてもよい。
図12は、相対角度を推定する処理の例2を示す図である。図12は、網NEと水中ロボット1とをY軸の正の方向からY軸の負の方向を見た図である。図12において、姿勢検出装置2と制御機器3とは省略されている。
水中ロボット1の網NEに対する相対角度をθ[deg]とする。また、水中ロボット1の撮像部10の画角を2α[deg]とする。撮像部10は、中央軸(レンズ軸)から左側に角度α[deg]、右側に角度α[deg]分の領域を撮影できる。図12において、網目輪郭に含まれるA(Xmax)又はB(Xmin)を示す黒点は省略されている。
図12に示されるように、撮像部10が、中央軸(レンズ軸)から左側に角度α[deg]分の領域で網NEの一部を捉えることができている場合について説明を続ける。相対角度導出部22は、中央軸(レンズ軸)から左側の角度α[deg]をさらに二等分する。相対角度導出部22は、排除済網目輪郭画像から、X軸方向に含まれる網目輪郭の数に基づいて、中央軸から左側に角度α/2[deg]分の領域に含まれる網目輪郭の数と、中央軸から左側に角度α/2[deg]から左側に角度α/2[deg]分の領域に含まれる網目輪郭の数とをカウントする。ここで、撮像部10が撮像していている網目輪郭の数の増加に応じて、撮像部10が捉えている網NEのX軸方向の長さが長くなる。
【0028】
中央軸から左側に角度α/2[deg]分の領域に含まれる網目輪郭の数と中央軸から左側に角度α/2[deg]から左側に角度α/2[deg]分の領域に含まれる網目輪郭の数との比は、図12の撮像部10が捉えた排除済網目輪郭画像の左端までの距離(三角形で囲まれた「L」で表す)と撮像部10が捉えた排除済網目輪郭画像の中心点までの距離(三角形で囲まれた「R」で表す)との比となる。この関係と、各角度の値を用いて三角形の正弦定理として以下の式(3)が成り立つ。ただし、L<R、90°-α<θ<90°の場合を想定している。
R/sin(90°-α+θ)=L/sin(90°-θ) (3)
式(3)を解くと、水中ロボット1の網NEに対する相対角度θは以下の式(4)のように求められる。
θ=arctan((R-Lcosα)/(Lsinα)) (4)
ここでは、L<R、90°-α<θ<90°の場合を想定した場合について示したが、L>R、90°-α<θ<90°についても同様の方法で、水中ロボット1の網NEに対する相対角度θを導出できるため、ここでの説明は省略する。
【0029】
ここで、撮像部10が網目輪郭全体を捉えられているかどうかは、排除済網目輪郭画像に含まれる水平方向の網目輪郭の分布を元に判断する。例えば、以下のように決定する。相対角度導出部22は、排除済網目輪郭画像から、X軸方向に含まれる網目輪郭の数に基づいて、中央軸から左側の網目輪郭の数と、中央軸から右側の網目輪郭の数とをカウントする。中央軸から左側の網目輪郭の数のカウント結果をNとし、中央軸から右側の網目輪郭の数のカウント結果をMとする。排除済網目輪郭画像の水平方向の画素数をWとする。
網目輪郭rNのA(Xmax)のx座標から網目輪郭rNー1のA(Xmax)のx座標を引いた値をPrとしたとき、相対角度導出部22は、Wー(網目輪郭rNのA(Xmax)のx座標)<2Prの場合、中央軸から右側では網目全体を捉えられていると判定する。
同様に、網目輪郭lM-1のB(Xmin)のx座標から網目輪郭lMのB(Xmin)のx座標を引いた値をPlとしたとき、相対角度導出部22は、網目輪郭lMのB(Xmin)のx座標<2Plの場合、中央軸から左側では網目全体を捉えられていると判定する。相対角度導出部22は、左右両側で網目輪郭全体を捉えていると判定できた場合には、撮像部10が網目輪郭全体を捉えていると判断し、θ<=90°-αの場合の相対角度計算を行う。相対角度導出部22は、網目輪郭lMのXminのx座標≧2Plの場合、左側右側のいずれかで網目全体を捉えていると判断し、θ>90°-αの場合の相対角度計算を行う。
相対角度導出部22は、水中ロボット1の網NEに対する相対角度を示す情報を含む、水中ロボット1を宛先とする相対角度情報を作成する。相対角度導出部22は、作成した相対角度情報を通信部24へ出力する。
【0030】
相対距離導出部23は、相対角度導出部22が導出した網NEに対する水中ロボット1の相対角度を示す情報を取得する。相対距離導出部23は、網目部分検出部21が作成した排除済網目輪郭画像情報を取得し、取得した排除済網目輪郭画像情報に基づいて、排除済網目輪郭画像の水平方向に含まれる網目輪郭の数Nhをカウントする。相対距離導出部23は、排除済網目輪郭画像の水平方向に含まれる網目輪郭の数Nhのカウント結果と、取得した網NEに対する水中ロボット1の相対角度とに基づいて、網NEと水中ロボット1との距離を導出する。
【0031】
図13は、網目輪郭の一例を示す図である。実際の網目輪郭の寸法として、pで示されるA(Xmax)とB(Xmin)との間の長さを予め測定しておく。相対距離導出部23は、取得した排除済網目輪郭画像情報に基づいて、排除済網目輪郭画像の水平方向に含まれる網目輪郭の数Nhをカウントする。
例えば、相対距離導出部23は、排除済網目輪郭画像の左端を基準として、網目輪郭の重心のx座標が中心点よりも大きいもののうち重心が最も左端に近い網目輪郭を網目輪郭r1とし、網目輪郭の重心のx座標が網目輪郭r1の重心よりも大きいもののうち重心が最も網目輪郭r1に近い網目輪郭を網目輪郭r2とし、網目輪郭の重心のx座標が網目輪郭r2の重心よりも大きいもののうち重心が最も網目輪郭r2に近い網目輪郭を網目輪郭r3とする。以下同様にして、網目輪郭r4以降を設定する。つまり、相対距離導出部23は、網目輪郭rnのA(Xmax)よりもB(Xmin)のx座標が大きい輪郭のうち、網目輪郭rn(nは、n>0の整数)のA(Xmax)に最も近いB(Xmin)を含む網目輪郭を選択することによって、網目輪郭rn+1の網目輪郭を決定する。相対距離導出部23は、設定した網目輪郭の数をカウントする。
【0032】
また、例えば、相対距離導出部23は、排除済網目輪郭画像の右端を基準として、網目輪郭の重心のx座標が中心点よりも小さいもののうち重心が最も右端に近い網目輪郭を網目輪郭l1とし、網目輪郭の重心のx座標が網目輪郭l1の重心よりも小さいもののうち重心が最も網目輪郭l1に最も近い網目輪郭を網目輪郭l2とし、網目輪郭の重心のx座標が網目輪郭l2の重心よりも小さいもののうち重心が最も網目輪郭l2に近い網目輪郭を網目輪郭l3とする。以下同様にして、網目輪郭l4以降を設定する。つまり、相対角度導出部22は、網目輪郭lm(mは、m>0の整数)のB(Xmin)よりもA(Xmax)のx座標が小さい輪郭のうち、網目輪郭lmのB(Xmin)に最も近いA(Xmax)を含む網目輪郭を選択することによって、網目輪郭lm+1の網目輪郭を決定する。
相対距離導出部23は、不良の網目輪郭を選択した場合には、選択した網目輪郭の代わりに、選択した網目輪郭に隣接する網目輪郭を選択する。相対距離導出部23は、設定した網目輪郭の数をカウントする。相対距離導出部23は、網目輪郭のカウント結果に基づいて、網NEの水平方向の長さを導出する。網NEの水平方向の長さは、Nh×pで表される。
【0033】
図14は、本実施形態に係る姿勢検出装置における相対距離を推定する処理の一例を示す図である。図14は、網NEと水中ロボット1とをY軸の正の方向からY軸の負の方向を見た図である。図14において、姿勢検出装置2と制御機器3とは省略されている。
水中ロボット1の網NEに対する相対角度をθ[deg]とする。また、水中ロボット1の撮像部10の画角を2α[deg]とする。撮像部10は、中央軸(レンズ軸)から左側に角度α[deg]、右側に角度α[deg]分の領域を撮影できる。
網NEにおいて、黒点は、網目輪郭に含まれるA(Xmax)又はB(Xmin)を示している。つまり、網目輪郭は、黒点によって挟まれている領域で表される。図14に示される例では、撮像部10は、X軸方向に沿って、中央軸から左側に3個の網目輪郭を捉え、中心軸から右側に6個の網目輪郭を捉えている。
L<R、θ<=90°-αのとき、図14に示されるように、撮像部10から網NEまでの距離Cは正弦定理を用いて以下の式(5)と式(6)に示すように算出できる。
C/sin(90°-α-θ)=Nh×p(R/L+R)/sinα (5)
C=Nh×p(R/L+R){cos(α+θ)/sinα} (6)
L<R、90°-α<θ<90°の場合も、同様の計算によって撮像部10から網NEまでの距離Cを算出することが可能であるため、ここでの説明は省略する。
相対距離導出部23は、式(5)と式(6)とを使用して、撮像部10と網NEとの間の距離を導出する。また、撮像部10から網NEまでの垂直距離Hは、式(7)に示すように導出できる。
H=Ccosθ (7)
相対距離導出部23は、式(7)を使用して、撮像部10から網NEまでの垂直距離を導出する。
【0034】
相対距離導出部23は、撮像部10と制御機器3との間の距離を示す情報と撮像部10から網NEまでの垂直距離を示す情報とを含み、水中ロボット1を宛先とする相対距離情報を作成する。相対距離導出部23は、作成した相対距離情報を通信部24へ出力する。
通信部24は、通信モジュールによって実現される。通信部24はネットワークNWを介して外部の通信装置と通信する。通信部24は例えば、有線で通信してもよい。また、通信部24は、無線LAN、ブルートゥース(登録商標)又はLTE(登録商標)などの無線通信方式で通信してもよい。通信部24はネットワークNWを介して制御機器3と接続する。通信部24は制御機器3が送信した画像情報を受信する。通信部24は相対角度導出部22が出力した相対角度情報を送信する。通信部24は相対距離導出部23が出力した相対距離情報を送信する。
前述した水中ロボット1の制御部13と姿勢検出装置2の受付部20と網目部分検出部21と相対角度導出部22と相対距離導出部23とは、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部(図示なし)に格納されたアプリを実行することにより実現される機能部(以下、ソフトウェア機能部と称する)である。なお、制御部13と受付部20と網目部分検出部21と相対角度導出部22と相対距離導出部23との全部または一部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
【0035】
(制御機器3)
制御機器3は、パーソナルコンピュータ、サーバ、スマートフォン、タブレットコンピュータ又は産業用コンピュータ等の装置によって実現される。制御機器3は、ユーザーUの操作に基づいて制御情報を作成し、作成した制御情報を水中ロボット1へ送信する。制御機器3は、姿勢検出装置2が送信した相対角度情報を受信し、受信した相対角度情報を水中ロボット1へ送信する。制御機器3は、姿勢検出装置2が送信した相対距離情報を受信し、受信した相対距離情報を水中ロボット1へ送信する。
【0036】
(点検システムの動作)
図15は、本実施形態に係る点検システムの動作の一例を示すシーケンスチャートである。
(ステップS1-1)
水中ロボット1において、撮像部10は、水中ロボット1が水中に設置された網NEの前面に移動した場合に、その網NEの少なくとも一部分を撮像する。
(ステップS2-1)
水中ロボット1において、制御部13は、撮像部10が撮像することによって生成した画像情報を取得する。制御部13は、取得した画像情報を、通信部14へ出力する。
(ステップS3-1)
水中ロボット1において、通信部14は、制御部13が出力した画像情報を取得し、取得した画像情報を制御機器3へ送信する。
(ステップS4-1)
制御機器3は、水中ロボット1が送信した画像情報を受信し、受信した画像情報を、姿勢検出装置2へ送信する。
(ステップS5-1)
姿勢検出装置2において、通信部24は、制御機器3が送信した画像情報を受信する。受付部20は、通信部24が受信した画像情報を取得する。
【0037】
(ステップS6-1)
姿勢検出装置2において、網目部分検出部21は、受付部20へ入力された画像情報を取得する。網目部分検出部21は、取得した画像情報に基づいて、画像をグレースケール変換することによってグレースケール画像を生成する。
(ステップS7-1)
姿勢検出装置2において、網目部分検出部21は、グレースケール画像のエッジ検出を行うことによってエッジ検出画像を生成する。
(ステップS8-1)
姿勢検出装置2において、網目部分検出部21は、エッジ検出画像のノイズの除去と軽減とのいずれか一方又は両方を行うことによってノイズ軽減画像を生成する。
(ステップS9-1)
姿勢検出装置2において、網目部分検出部21は、ノイズ軽減画像に対し輪郭検出を行うことによって輪郭検出画像を取得する。
(ステップS10-1)
姿勢検出装置2において、網目部分検出部21は、網目輪郭画像から、網目輪郭の各辺の傾きに基づいて不良の網目輪郭を排除し、各辺の長さに基づいて不良の網目輪郭を排除し、網目輪郭の面積に基づいて不良の網目輪郭を排除することによって排除済網目輪郭画像を取得する。
【0038】
(ステップS11-1)
姿勢検出装置2において、相対角度導出部22は、網目部分検出部21が作成した排除済輪郭画像に含まれる網目輪郭群に基づいて、排除済輪郭画像のX軸方向に含まれる網目輪郭の数をカウントする。
(ステップS12-1)
姿勢検出装置2において、相対角度導出部22は、排除済網目輪郭画像から、X軸方向に含まれる網目輪郭の数に基づいて、中央軸から左側の網目輪郭と、中央軸から右側の網目輪郭とをカウントする。相対角度導出部22は、中央軸から左側の網目輪郭のカウント結果と、中央軸から右側の網目輪郭のカウント結果とに基づいて、水中ロボット1の網NEに対する相対角度θを導出する。
(ステップS13-1)
姿勢検出装置2において、相対角度導出部22は、水中ロボット1の網NEに対する相対角度θを示す情報を含む、水中ロボット1を宛先とする相対角度情報を作成する。
(ステップS14-1)
姿勢検出装置2において、相対角度導出部22は、作成した相対角度情報を通信部24へ出力する。通信部24は、相対角度導出部22が出力した相対角度情報を取得し、取得した相対角度情報を送信する。
(ステップS15-1)
制御機器3は、姿勢検出装置2が送信した相対角度情報を受信する。制御機器3は、受信した相対角度情報を、水中ロボット1へ送信する。
【0039】
(ステップS16-1)
姿勢検出装置2において、相対距離導出部23は、相対角度導出部22が導出した網NEに対する水中ロボット1の相対角度を示す情報を取得する。相対距離導出部23は、網目部分検出部21が作成した排除済網目輪郭画像情報を取得し、取得した排除済網目輪郭画像情報に基づいて、排除済網目輪郭画像の水平方向に含まれる網目輪郭の数Nhをカウントする。相対距離導出部23は、排除済網目輪郭画像の水平方向に含まれる網目輪郭の数Nhのカウント結果と、取得した網NEに対する水中ロボット1の相対角度とに基づいて、網NEと水中ロボット1との距離を導出する。相対距離導出部23は、撮像部10から網NEまでの垂直距離を導出する。
(ステップS17-1)
姿勢検出装置2において、相対距離導出部23は、撮像部10と制御機器3との間の距離を示す情報と撮像部10から網NEまでの垂直距離を示す情報とを含み、水中ロボット1を宛先とする相対距離情報を作成する。
(ステップS18-1)
姿勢検出装置2において、相対距離導出部23は、作成した相対距離情報を通信部24へ出力する。通信部24は、相対距離導出部23が出力した相対距離情報を取得し、取得した相対距離情報を送信する。
(ステップS19-1)
制御機器3は、姿勢検出装置2が送信した相対距離情報を受信する。制御機器3は、受信した相対距離情報を、水中ロボット1へ送信する。
(ステップS20-1)
水中ロボット1において、通信部14は制御機器3が送信した相対角度情報と相対距離情報とを受信する。
(ステップS21-1)
水中ロボット1において、制御部13は通信部14が受信した相対角度情報と相対距離情報とを取得する。制御部13は、取得した相対角度情報と相対距離情報とに基づいて、水中ロボット1を制御するための制御情報を作成する。制御部13は、作成した制御情報を動力系12へ出力する。動力系12は、制御部13が出力した制御情報に基づいて、駆動する。これによって、水中ロボット1は自律的に動作する。
【0040】
前述した実施形態では、姿勢検出装置2と制御機器3とを別々の装置として説明したが、この例に限られない。例えば、姿勢検出装置2を制御機器3に組み込んでもよいし、姿勢検出装置2を水中ロボット1に組み込んでもよい。
前述した実施形態では、網目輪郭画像から、網目輪郭の各辺の傾きに基づいて不良の網目輪郭を排除し、各辺の長さに基づいて不良の網目輪郭を排除し、網目輪郭の面積に基づいて不良の網目輪郭を排除することによって排除済網目輪郭画像を取得する場合について説明したが、この例に限られない。例えば、網目輪郭画像から、網目輪郭の各辺の傾きと、各辺の長さと、網目輪郭の面積との少なくとも一つに基づいて、不良の網目輪郭を排除することによって排除済網目輪郭画像を取得してもよい。
前述した実施形態では、姿勢検出装置2の相対距離導出部23が、排除済網目輪郭画像の右端又は左端を基準として、網目輪郭を設定する場合について説明したが、この例に限られない。例えば、相対距離導出部23が、排除済網目輪郭画像の中心を基準として、網目輪郭を設定してもよい。
【0041】
実施形態に係る点検システムによれば、点検システム100は水中を点検し、撮像部10と、撮像部10が撮像した水中の網NEの画像情報を受け付ける受付部20と、受付部20が受け付けた画像情報に基づいて、画像に含まれる網目の輪郭を検出する検出部(実施形態では、網目部分検出部21)と、検出部が検出した画像に含まれる網目の輪郭に基づいて、網NEを撮像した水中ロボット1の網NEに対する位置姿勢を導出する導出部(実施形態では、相対角度導出部22と相対距離導出部23)とを備える。
このように構成することによって、水中ロボット1が標準で搭載する撮像部10が撮像した画像から、網目の輪郭を検出できるため、検出した網目の輪郭に基づいて定置網や養殖場で用いられる網NEに対する水中ロボット1の位置姿勢を導出できる。このため、定置網や養殖場において、網NEの点検や魚の生育状況確認を水中ロボットによる自律航行で行うことができる。また、従来技術とはことなり、予めモデルを生成するステップが省略できるため、より汎用性と利便性とを向上できる。また、複眼カメラを使用することなく単眼カメラで実現できるため、普及する低価格帯の水中ドローンを使用できる。従来の位置推定技術は、音響測位を用いるものが多く、大規模で高額なものとなるため定置網漁や養殖での点検用途としては導入が難しい。本実施形態に係る点検システム100では、水中ロボット1に搭載された撮像部10が撮像した網NEの画像に基づいて、網目の特徴に着目した位置姿勢を導出できる。
【0042】
また、導出部は、水中ロボット1の網NEに対する相対角度を導出する。このように構成することによって、水中ロボット1が標準で搭載する撮像部10が撮像した画像から検出される網目の輪郭に基づいて水中ロボット1の網NEに対する相対角度を導出できる。
また、導出部は、画像の左端と右端との両方に網NEが撮像されている場合に、検出部が検出した画像に含まれる網目の輪郭に基づいて、画像の中心を基準として、基準から画像の右端までの長さと、基準から画像から右端までの長さとに基づいて、水中ロボット1の網NEに対する相対角度を導出する。このように構成することによって、画像の中心を基準として、基準から画像の右端までの長さと、基準から画像から右端までの長さとに基づいて水中ロボット1の網NEに対する相対角度を導出できる。
また、導出部は、水中ロボット1の網NEに対する相対距離を導出する。このように構成することによって、水中ロボット1が標準で搭載する撮像部10が撮像した画像から検出される網目の輪郭に基づいて水中ロボット1の網NEに対する相対距離を導出できる。
また、導出部は、相対角度と画像の左端と右端との間の距離に基づいて、水中ロボット1の網NEに対する相対距離を導出する。このように構成することによって、水中ロボット1の網NEに対する相対角度と、水中ロボット1が標準で搭載する撮像部10が撮像した画像の左端と右端との間の距離とに基づいて水中ロボット1の網NEに対する相対距離を導出できる。
【0043】
また、導出部は、画像の左端と右端とのいずれか一方に網NEが撮像されていない場合に、検出部が検出した画像に含まれる網目の輪郭に基づいて、画像の中心を基準として、基準から網NEが撮像されている一端までの長さのうち、撮像部10の画角を分割した角度で撮像できる長さに基づいて、水中ロボット1の網NEに対する相対角度を導出する。このように構成することによって、基準から網NEが撮像されている一端までの長さのうち、撮像部10の画角を分割した角度で撮像できる長さに基づいて水中ロボット1の網NEに対する相対角度を導出できる。
また、導出部は、相対角度と基準から網NEが撮像されている一端までの長さに基づいて、水中ロボット1の網NEに対する相対距離を導出する。このように構成することによって、水中ロボット1の網NEに対する相対角度と、水中ロボット1が標準で搭載する撮像部10が撮像した基準から網NEが撮像されている一端までの長さに基づいて水中ロボット1の網NEに対する相対距離を導出できる。
【0044】
(実施形態の変形例)
図16は、実施形態の変形例に係る点検システムの構成例を示す図である。実施形態の変形例に係る点検システム100aは、点検システム100と比較して姿勢検出装置2の代わりに姿勢検出装置2aを備える点で異なる。
(姿勢検出装置2a)
姿勢検出装置2aは、パーソナルコンピュータ、サーバ、スマートフォン、タブレットコンピュータ又は産業用コンピュータ等の装置によって実現される。姿勢検出装置2aは、受付部20と網目部分検出部21aと相対角度導出部22と相対距離導出部23と通信部24と学習部25とを含んで構成される。
網目部分検出部21aは、網目部分検出部21を適用できる。ただし、網目部分検出部21aは、作成した排除済網目輪郭画像情報に基づいて、排除済網目輪郭画像を分割するサイズにしたがって分割する。排除済網目輪郭画像を分割するサイズを「学習用画像分割サイズ」という。学習用画像分割サイズは、「50ピクセル×50ピクセル」や、「100ピクセル×100ピクセル」等、ピクセルで表されてもよいし、網目輪郭毎に分割してもよい。ここでは、網目輪郭毎に分割した場合について説明を続ける。例えば、網目部分検出部21aは、オープンシーヴィ(OpenCV: Open Source Computer Vision Library)等のオープンソースのコンピュータビジョン向けライブラリを使用した画像処理を行うことによって排除済網目輪郭画像を学習用画像分割サイズに分割する。以下、排除済網目輪郭画像を分割することによって得られる複数の画像の各々を「学習用分割画像」という。学習用分割画像は、排除済網目輪郭画像を網目輪郭毎に分割したものであるため、網目輪郭が含まれる。
学習部25は、網目部分検出部21aが作成した複数の学習用分割画像を取得する。学習部25は、学習用分割画像を機械学習することによって特徴量を抽出する。例えば、学習部25は、複数の学習用分割画像の各々を畳み込みニューラルネットワークなどの機械学習を行うことによって、特徴量を抽出する。学習部25は、複数の学習用分割画像を解析し、複数の学習用分割画像から有用な規則、判断基準等の特徴量を抽出する。排除済網目輪郭画像には排除されなかった網目輪郭が含まれるので、学習部25が学習用分割画像を機械学習することによって、排除されなかった網目輪郭の特徴量が抽出される。学習部25は、抽出した特徴量を表す学習データを記憶する。
網目部分検出部21aは、前述した処理を行うことによって、輪郭検出画像を生成する。網目部分検出部21aは、生成した輪郭検出画像を分割サイズに分割することによって分割画像を取得する。ここで、分割サイズは、学習用画像分割サイズと同じサイズである。ここで、網目部分検出部21aは、網目輪郭を含むように輪郭検出画像を分割サイズに分割する。網目部分検出部21aは、複数の分割画像の各々について、輪郭検出画像における位置を記憶する。網目部分検出部21aは、学習部25に記憶された学習データを取得する。そして、網目部分検出部21aは、学習データに基づいて、輪郭検出画像を分割することによって得られた複数の分割画像の良否を判定する。ここで、画像の良否は、良の場合には排除されないことであり、否の場合には排除されることである。網目部分検出部21aは、複数の分割画像のうち否と判定された分割画像に該当する輪郭検出画像における位置を特定し、特定した位置の網目輪郭を排除することによって、排除済輪郭画像を生成する。
【0045】
(点検システムの動作)
図17は、実施形態の変形例に係る点検システムの動作の一例を示すシーケンスチャートである。図17では、学習部25が、学習データを記憶した後の動作について説明する。
ステップS1-2からS9-2は、図15のステップS1-1からS9-1を適用できる。
(ステップS9-2)
姿勢検出装置2aにおいて、網目部分検出部21aは、生成した輪郭検出画像を分割サイズに分割することによって分割画像を取得する。網目部分検出部21aは、複数の分割画像の各々について、輪郭検出画像における位置を記憶する。網目部分検出部21aは、学習部25に記憶された学習データを取得する。網目部分検出部21aは、学習データに基づいて、輪郭検出画像を分割することによって得られた複数の分割画像の良否を判定する。網目部分検出部21aは、複数の分割画像のうち否と判定された分割画像に該当する輪郭検出画像における位置を特定し、特定した位置の網目輪郭を排除することによって、排除済輪郭画像を生成する。ステップS10-2からS21-2は、図15のステップS10-1からS21-1を適用できる。
前述した実施形態の変形例において、網目部分検出部21aは、学習データに基づいて、複数の分割画像の良否を判定し、否と判定された分割画像に該当する輪郭検出画像における位置の網目輪郭を排除することに加えて、網目輪郭の各辺の傾きに基づいて不良の網目輪郭を排除し、各辺の長さに基づいて不良の網目輪郭を排除し、網目輪郭の面積に基づいて不良の網目輪郭を排除してもよい。
【0046】
実施形態の変形例に係る点検システムによれば、点検システム100aは水中を点検し、撮像部10と、撮像部10が撮像した水中の網NEの画像情報を受け付ける受付部20と、受付部20が受け付けた画像情報に基づいて、画像に含まれる網目の輪郭を検出する検出部(実施形態では、網目部分検出部21a)と、検出部が検出した画像に含まれる網目の輪郭に基づいて、網NEを撮像した水中ロボット1の網NEに対する位置姿勢を導出する導出部(実施形態では、相対角度導出部22と相対距離導出部23)とを備える。
このように構成することによって、水中ロボット1が標準で搭載する撮像部10が撮像した画像から、網目の輪郭を検出できるため、検出した網目の輪郭に基づいて定置網や養殖場で用いられる網NEに対する水中ロボット1の位置姿勢を導出できる。従来の位置推定技術は、音響測位を用いるものが多く、大規模で高額なものとなるため定置網漁や養殖での点検用途としては導入が難しい。本実施形態に係る点検システム100では、水中ロボット1に搭載された撮像部10が撮像した網NEの画像に基づいて、網目の特徴に着目した位置姿勢を導出できる。
また、画像情報に基づいて画像を複数に分割することによって得られる複数の学習用分割画像の各々を機械学習する学習部25を備え、検出部は、学習部25が機械学習することによって抽出した特徴量に基づいて画像に含まれる網目の輪郭を検出する。このように構成することによって、学習部25が機械学習することによって抽出した特徴量に基づいて画像に含まれる網目の輪郭を検出でき、より精度よく網目を検出できる。つまり、機械学習による画像認識と組み合わせることで、網NEが写っている状態と網が写っていない状態とをより正確に分類できる。
【0047】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたコンピュータプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してコンピュータプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。 また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0048】
100、100a…点検システム、1…水中ロボット、2、2a…姿勢検出装置、3…制御機器、10…撮像部、11…センサ、12…動力系、13…制御部、14…通信部、20…受付部、21、21a…網目部分検出部、22…相対角度導出部、23…相対距離導出部、24…通信部、25…学習部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17