(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-09
(45)【発行日】2022-05-17
(54)【発明の名称】コンピュータシステム、物体検知方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220510BHJP
【FI】
G06T7/00 250
(21)【出願番号】P 2020539962
(86)(22)【出願日】2018-08-30
(86)【国際出願番号】 JP2018032207
(87)【国際公開番号】W WO2020044510
(87)【国際公開日】2020-03-05
【審査請求日】2021-02-25
(73)【特許権者】
【識別番号】500521522
【氏名又は名称】株式会社オプティム
(74)【代理人】
【識別番号】100177220
【氏名又は名称】小木 智彦
(72)【発明者】
【氏名】菅谷 俊二
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2018-124962(JP,A)
【文献】特開2017-185578(JP,A)
【文献】特開2018-36770(JP,A)
【文献】特開2017-220876(JP,A)
【文献】特開2018-27581(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
撮影した画像を
撮影地点の位置情報を含む画像データとして取得する取得手段と、
前記画像から特徴量を抽出し、物体の全体を検知したか否かを判断する検知手段と、
物体の全体を検知した場合、
前記位置情報に基づいて該撮影地点から検知した前記物体までの間の距離を推測し、該距離と検知した前記物体の前記画像に示すサイズとに基づいて、検知した前記物体の大きさを推測し、前記物体の大きさと検知した前記物体の重量密度とに基づいて、検知した前記物体の重量を前記物体の画像に示すサイズから推測する推測手段と、
物体の全体を検知できなかったと判断した場合に、物体データを取得する物体データ取得手段と、
取得した物体データに基づいて、検知した物体において欠けている部分を補完する物体補完手段と、
を備えることを特徴とするコンピュータシステム。
【請求項2】
前記推測手段は、前記物体の画像に示すサイズから前記物体の大きさを推測し、推測した大きさに基づいて、検知した前記物体の重量密度を参照することで、前記物体の重量を推測する、
ことを特徴とする請求項1に記載のコンピュータシステム。
【請求項3】
前記推測手段は、推測した前記物体の実際の重量と、検知した前記物体の画像との相関関係を学習することで、前記物体の重量を推測する、
ことを特徴とする請求項1に記載のコンピュータシステム。
【請求項4】
前記推測手段は、推測した前記物体の実際の重量と、検知した物体の密度、検知した物体の名称、検知した物体の大きさ又は検知した物体までの距離との少なくとも1つの相関関係を学習することで、前記物体の重量を推測する、
ことを特徴とする請求項3に記載のコンピュータシステム。
【請求項5】
コンピュータシステムが実行する物体検知方法であって、
撮影した画像を
撮影地点の位置情報を含む画像データとして取得するステップと、
前記画像から特徴量を抽出し、物体の全体を検知したか否かを判断するステップと、
物体の全体を検知した場合、
前記位置情報に基づいて該撮影地点から検知した前記物体までの間の距離を推測し、該距離と検知した前記物体の前記画像に示すサイズとに基づいて、検知した前記物体の大きさを推測し、前記物体の大きさと検知した前記物体の重量密度とに基づいて、検知した前記物体の重量を前記物体の画像に示すサイズから推測するステップと、
物体の全体を検知できなかったと判断した場合に、物体データを取得するステップと、
取得した物体データに基づいて、検知した物体において欠けている部分を補完するステップと、
を備えることを特徴とする物体検知方法。
【請求項6】
コンピュータシステムに、
撮影した画像を
撮影地点の位置情報を含む画像データとして取得するステップ、
前記画像から特徴量を抽出し、物体の全体を検知したか否かを判断するステップ、
物体の全体を検知した場合、
前記位置情報に基づいて該撮影地点から検知した前記物体までの間の距離を推測し、該距離と検知した前記物体の前記画像に示すサイズとに基づいて、検知した前記物体の大きさを推測し、前記物体の大きさと検知した前記物体の重量密度とに基づいて、検知した前記物体の重量を前記物体の画像に示すサイズから推測するステップ、
物体の全体を検知できなかったと判断した場合に、物体データを取得するステップ、
取得した物体データに基づいて、検知した物体において欠けている部分を補完するステップ、
を実行させるためのコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の重量を推測するコンピュータシステム、物体検知方法及びプログラムに関する。
【背景技術】
【0002】
近年、物体が写り込んだ画像を、画像解析することにより、この物体の重量を推測することが行われている。
【0003】
このような物体の重量を推測する技術として、エレベータの扉を撮影し、エレベータ内に搬入された物体の重量を推測するものが開示されている(特許文献1参照)。この場合、物体の重量を推測する方法として、かごに搬入された物体の画像を、撮影装置等により撮影し、この画像を画像解析することにより、この物体の輪郭を推測している。また、この画像を所定のブロックに分割し、このブロック数と、ブロック位置のばらつきと、推測した物体の輪郭とに基づいて、重量が所定以上であるか否かを判断する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の構成では、複数の画像の其々を、複数のブロックに分割するとともに、其々の画像における各ブロックにおける動きベクトルの類似度を算出し、物体の輪郭を推測している。加えて、ブロック数とブロック位置のばらつきとに基づいて、物体の重量が所定以上であるか否かを判断するものに過ぎず、物体の重量そのものを推測するものではなく、あくまでも予め設定された重量を超過しているか否かを判断するものに過ぎなかった。そのため、物体の重量を正確に推測することが困難であった。
【0006】
本発明は、物体の重量を正確に推測することが容易なコンピュータシステム、物体検知方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では、以下のような解決手段を提供する。
【0008】
本発明は、撮影した画像を取得する取得手段と、
前記画像から特徴量を抽出し、物体の全体を検知したか否かを判断する検知手段と、
物体の全体を検知した場合、撮影地点の位置情報に基づいて該撮影地点から検知した前記物体までの間の距離を推測し、該距離と検知した前記物体の前記画像に示すサイズとに基づいて、検知した前記物体の大きさを推測し、前記物体の大きさと検知した前記物体の重量密度とに基づいて、検知した前記物体の重量を前記物体の画像に示すサイズから推測する推測手段と、
物体の全体を検知できなかったと判断した場合に、物体データを取得する物体データ取得手段と、
取得した物体データに基づいて、検知した物体において欠けている部分を補完する物体補完手段と、
を備えることを特徴とするコンピュータシステムを提供する。
【0009】
本発明によれば、コンピュータシステムは、撮影した画像を取得し、前記
画像から特徴量を抽出し、物体の全体を検知したか否かを判断し、物体の全体を検知した場合、撮影地点の位置情報に基づいて撮影地点から検知した物体までの間の距離を推測し、距離と検知した物体の画像に示すサイズとに基づいて、検知した物体の大きさを推測し、物体の大きさと検知した前記物体の重量密度とに基づいて、検知した前記物体の重量を前記物体の画像に示すサイズから推測し、物体の全体を検知できなかったと判断した場合に、物体データを取得し、取得した物体データに基づいて、検知した物体において欠けている部分を補完する。
【0010】
本発明は、コンピュータシステムのカテゴリであるが、方法及びプログラム等の他のカテゴリにおいても、そのカテゴリに応じた同様の作用・効果を発揮する。
【発明の効果】
【0011】
本発明によれば、物体の重量を正確に推測することが容易なコンピュータシステム、物体検知方法及びプログラムを提供することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、物体検知システム1の概要を示す図である。
【
図2】
図2は、物体検知システム1の全体構成図である。
【
図3】
図3は、コンピュータ10が実行する第一の物体検知処理を示すフローチャートである。
【
図4】
図4は、コンピュータ10が実行する第二の物体検知処理を示すフローチャートである。
【
図5】
図5は、コンピュータ10が実行する第三の物体検知処理を示すフローチャートである。
【
図6】
図6は、コンピュータ10が実行する学習処理を示すフローチャートである。
【
図7】
図7は、物体テーブルの一例を示す図である。
【
図12】
図12は、画像に所定領域を重畳させた状態の一例を示す図である。
【
図13】
図13は、画像に所定領域を重畳させた状態の一例を示す図である。
【
図16】
図16は、画像を補完した補完後画像の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれらに限られるものではない。
【0014】
[物体検知システム1の概要]
本発明の好適な実施形態の概要について、
図1に基づいて説明する。
図1は、本発明の好適な実施形態である物体検知システム1の概要を説明するための図である。物体検知システム1は、コンピュータ10から構成され、物体の重量を推測するコンピュータシステムである。
【0015】
なお、物体検知システム1は、コンピュータ10に加え、物体を撮影する撮影装置、推測した重量を表示する端末装置、利用者から所定の入力を受け付ける利用者端末等のその他の装置類が含まれていてもよい。
【0016】
コンピュータ10は、図示していないその他の装置類と公衆回線網等を介してデータ通信可能に接続されており、必要なデータの送受信を実行する。
【0017】
コンピュータ10は、図示していない撮影装置が物体(例えば、ショベルカー等の重機、野菜等の農作物、人)を撮影した画像を、画像データとして取得する。この画像データには、撮影地点の位置情報が含まれる。この撮影地点の位置情報は、撮影装置が、自身の現在位置を、GPS(Global Positioning System)等から取得し、この取得した自身の現在位置を撮影地点の位置情報としたものである。
【0018】
コンピュータ10は、この画像データに含まれる画像を、画像解析し、その特徴量(例えば、画素値の平均、分散、ヒストグラム等の統計的な数値や物体の形状、輪郭)を抽出する。コンピュータ10は、この抽出した特徴量に基づいて、この画像に写っている物体を検知する。
【0019】
コンピュータ10は、この検知した物体の重量を推測する。例えば、コンピュータ10は、撮影地点の位置情報に基づいて、撮影地点から物体までの間の距離を推測し、この距離と、画像における物体のサイズ(面積)とに基づいて、物体の大きさ(体積)を推測する。コンピュータ10は、この物体の大きさと、検知した物体の重量密度とに基づいて、この物体の重量を推測する。
【0020】
また、コンピュータ10は、この検知した物体の実際の重量と、取得したこの物体の画像との相関関係を学習することにより、この物体の重量を推測する。例えば、コンピュータ10は、新たに画像データを取得した際、学習の結果を加味して、この新たに取得した画像データに写り込んでいる物体の重量を推測する。このとき、コンピュータ10は、相関関係として学習するものとして、物体の密度、名称、大きさ又は物体までの距離の少なくとも一つを利用する。
【0021】
物体検知システム1が実行する処理の概要について説明する。
【0022】
はじめに、コンピュータ10は、画像データを取得する(ステップS01)。コンピュータ10は、図示していない撮影装置が撮影した画像及びこの撮影装置の位置情報(撮影地点の位置情報)を、画像データとして取得する。撮影装置は、GPS等から自身の位置情報を取得し、この位置情報を、撮影地点の位置情報として、コンピュータ10が取得する。
【0023】
コンピュータ10は、この画像データに基づいて、画像解析を実行し、この画像データにおける画像の特徴量を抽出する(ステップS02)。コンピュータ10は、画像の特徴量として、画素値の平均、分散、ヒストグラム等の統計的な数値や物体の形状、輪郭等を抽出する。
【0024】
コンピュータ10は、抽出した特徴量に基づいて、この画像に写り込んでいる物体を検知する(ステップS03)。コンピュータ10は、様々な物体の識別子(名称、型番、製品番号等)と、各物体の特徴量とを対応付けた物体テーブルを参照し、今回抽出した特徴量に該当する物体の識別子を特定し、物体を検知する。
【0025】
コンピュータ10は、この検知した物体の重量を、物体の画像に示すサイズから推測する(ステップS04)。コンピュータ10は、例えば、検知した物体の画像に示すサイズ(すなわち、この物体の画像における面積)に基づいて、この物体の重量を推測する。
【0026】
また、コンピュータ10は、この画像の撮影地点から物体までの間の距離を、3点測量等の方法により推測し、この距離と、画像に示す物体のサイズとに基づいて、その重量を推測する。このとき、コンピュータ10は、物体の識別子(名称、型番、製品番号等)と、各物体の大きさ(体積)と、各物体の重量密度とを対応付けた重量テーブルを参照し、今回検知した物体の重量を推測する。コンピュータ10は、今回検知した物体の識別子に対応付けられた大きさ及び重量密度を、重量テーブルを参照することにより特定し、この特定した大きさ及び重量密度と、推測したサイズとに基づいて、物体の重量を推測する。
【0027】
さらに、コンピュータ10は、検知した物体の実際の重量と、今回取得した画像との相関関係(物体の密度、名称、大きさ又は物体までの距離の少なくとも一つの相関関係)を学習する。コンピュータ10は、次回以降において、取得した画像に写り込んだ物体の重量を推測する際、この学習結果を加味して、物体の重量を推測する。
【0028】
以上が、物体検知システム1の概要である。
【0029】
[物体検知システム1のシステム構成]
図2に基づいて、本発明の好適な実施形態である物体検知システム1のシステム構成について説明する。
図2は、本発明の好適な実施形態である物体検知システム1のシステム構成を示す図である。
図2において、物体検知システム1は、コンピュータ10から構成され、物体の重量を推測するコンピュータシステムである。コンピュータ10は、図示していない上述した撮影装置、端末装置、利用者端末等のその他の装置類と、公衆回線網等を介して、データ通信可能に接続されている。
【0030】
コンピュータ10は、制御部として、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を備え、通信部として、その他の端末や機器と通信可能にするためのデバイス、例えば、IEEE802.11に準拠したWi―Fi(Wireless―Fidelity)対応デバイス等を備える。また、コンピュータ10は、記憶部として、ハードディスクや半導体メモリ、記憶媒体、メモリカード等によるデータのストレージ部を備える。また、コンピュータ10は、処理部として、各種処理を実行する各種デバイス等を備える。
【0031】
コンピュータ10において、制御部が所定のプログラムを読み込むことにより、通信部と協働して、画像データ取得モジュール20、通知モジュール21、物体指定データ取得モジュール22、領域指定データ取得モジュール23、物体データ取得モジュール24、実重量データ取得モジュール25を実現する。また、コンピュータ10において、制御部が所定のプログラムを読み込むことにより、記憶部と協働して、記憶モジュール30を実現する。また、コンピュータ10において、制御部が所定のプログラムを読み込むことにより、処理部と協働して、特徴量抽出モジュール40、物体検知モジュール41、距離推測モジュール42、サイズ推測モジュール43、大きさ推測モジュール44、重量推測モジュール45、物体補完モジュール46、学習モジュール47を実現する。
【0032】
[第一の物体検知処理]
図3に基づいて、物体検知システム1が実行する第一の物体検知処理について説明する。
図3は、コンピュータ10が実行する第一の物体検知処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0033】
画像データ取得モジュール20は、図示していない撮影装置が撮影した画像及びこの撮影装置の位置情報を、画像データとして取得する(ステップS10)。ステップS10において、撮影装置は、自身が撮影した画像と、GPS等から取得した自身の位置情報とを、画像データとしてコンピュータ10に送信する。この撮影装置が取得する自身の位置情報が、撮影地点の位置情報となる。画像データ取得モジュール20は、この画像データを受信することにより、撮影装置が撮影した画像及びこの画像の撮影地点の位置情報を取得する。
【0034】
特徴量抽出モジュール40は、取得した画像データに基づいて、この画像データに含まれる画像を、画像解析し、この画像の特徴量を抽出する(ステップS11)。ステップS11において、特徴量抽出モジュール40は、特徴量として、画素値の平均、分散、ヒストグラム等の統計的な数値や物体の形状、輪郭等を抽出する
【0035】
物体検知モジュール41は、抽出した特徴量に基づいて、この画像に物体が写り込んでいるか否かを判断する(ステップS12)。ステップS12において、物体検知モジュール41は、予め記憶モジュール30が記憶した様々な物体の識別子(名称、型番、製品番号等)と、物体の特徴量(一又は複数)とを対応付けた物体テーブルを参照することにより、抽出した特徴量に該当する物体がこの画像に写り込んでいるか否かを判断する。例えば、記憶モジュール30は、重機の識別子(重機名、販売メーカー別に分類された重機名、型番、製品番号等)と、この重機の特徴量とを対応付けて、物体テーブルとして記憶する。また、記憶モジュール30は、農作物の識別子(農作物名、生産者別に分類された農作物名、個々の農作物を識別可能な識別番号等)と、この農作物の特徴量とを対応付けて、物体テーブルとして記憶する。また、記憶モジュール30は、人の識別子(年齢、性別、人種、身長、体重等)と、この人の特徴量とを対応付けて、物体テーブルとして記憶する。
【0036】
物体検知モジュール41は、今回抽出した特徴量と、物体テーブルとを比較し、この特徴量に該当する物体が、物体テーブルとして記憶されているか否かを判断することにより、画像に物体が写り込んでいるか否かを判断する。
【0037】
ステップS12において、物体検知モジュール41は、画像に物体が写り込んでいないと判断した場合(ステップS12 NO)、コンピュータ10は、本処理を終了する。
【0038】
一方、ステップS12において、物体検知モジュール41は、画像に物体が写り込んでいると判断した場合(ステップS12 YES)、物体検知モジュール41は、この画像に写り込んでいる物体を検知する(ステップS13)。ステップS13において、物体検知モジュール41は、抽出した特徴量と、物体テーブルとを比較した結果、抽出した特徴量に該当する物体の識別子をこの画像に写り込んでいる物体として検知する。
【0039】
距離推測モジュール42は、画像データに含まれる撮影地点の位置情報に基づいて、撮影装置から物体までの間の距離を推測する(ステップS14)。ステップS14において、距離推測モジュール42は、例えば、三角測量により、撮影位置から物体までの距離を推測する。このとき、距離推測モジュール42は、予めこの撮影地点を通過する基線の両端の点を把握しておくことにおり、撮影地点から物体までの間の距離を推測する。
【0040】
なお、距離推測モジュール42が撮影装置から物体までの間の距離を推測する方法は、上述した例に限らず適宜変更可能である。
【0041】
サイズ推測モジュール43は、検知した物体の画像におけるサイズ(面積)を推測する(ステップS15)。ステップS15において、サイズ推測モジュール43は、例えば、検知した物体の輪郭や形状に基づいて、物体が存在する領域を、この物体のサイズとして推測する。サイズ推測モジュール43は、例えば、この領域のピクセル数の総和をサイズとして推測する。
【0042】
なお、サイズ推測モジュール43が物体のサイズを推測する方法は、上述した例に限らず、適宜変更可能である。
【0043】
大きさ推測モジュール44は、推測した撮影地点から物体までの間の距離と、推測した物体のサイズとに基づいて、この物体の大きさ(体積)を推測する(ステップS16)。ステップS16において、大きさ推測モジュール44は、画像に対する物体のサイズと、距離との比率に基づいて、この物体の大きさを推測する。
【0044】
なお、大きさ推測モジュール44が物体の大きさを推測する方法は、上述した例に限らず、適宜変更可能である。
【0045】
重量推測モジュール45は、予め記憶モジュール30が記憶した物体の識別子(名称、型番、製品番号等)と、物体の大きさと、重量密度とを対応付けた重量テーブルを参照することにより、この物体の重量を推測する(ステップS17)。ステップS17において、重量推測モジュール45は、今回検知した物体の識別子及びこの物体の大きさに基づいて、この重量テーブルを参照し、検知した物体に該当する重量密度を特定する。重量推測モジュール45は、この特定した重量密度と、推測した物体の大きさとに基づいて、この物体の重量を推測する。
【0046】
図7に基づいて、記憶モジュール30が記憶する重量テーブルについて説明する。
図7は、記憶モジュール30が記憶する重量テーブルを模式的に示した図である。
図7において、記憶モジュール30は、物体の識別子である物体の名称と、物体の大きさ(体積)と、物体の重量密度とを対応付けて、重量テーブルに登録し、この登録した重量テーブルを、記憶する。例えば、記憶モジュール30は、物体の名称であるショベルカー(小)と、物体の大きさであるV1と、物体の重量密度であるD1とを対応付けて重量テーブルとして登録する。また、同様に、記憶モジュール30は、ショベルカー(大)と、V2と、D2とを対応付けて重量テーブルとして登録する。また、同様に、記憶モジュール30は、キャベツと、V3と、D3とを対応付けて重量テーブルとして登録する。また、同様に、記憶モジュール30は、人(男性、20代)と、V4と、D4とを対応付けて重量テーブルとして登録する。これらのデータは、利用者端末からの入力や外部コンピュータ等を介して取得されるものであり、記憶モジュール30は、これらのデータを重量テーブルに登録し、この重量テーブルを記憶する。
【0047】
なお、重量テーブルとして登録される物体の識別子は、名称に限らずその他のものであってもよい。また、物体が人である場合、識別子として、年齢、性別、人種、身長、体重等を一又は複数組み合わせたものと、大きさと、重量密度とを対応付けてもよい。
【0048】
また、重量推測モジュール45は、物体の重量を推測する際、重量テーブルを参照する方法以外の方法で、物体の重量を推測してもよい。例えば、重量推測モジュール45は、物体の識別子と大きさと重量密度との関数に基づいて、物体の重量を推測してもよい。
【0049】
通知モジュール21は、推測した重量を、利用者端末等に通知する(ステップS18)。ステップS18において、通知モジュール21は、取得した画像に、推測した物体の識別子及び重量を重畳させた重量通知を生成し、この生成した重量通知を、利用者端末等に通知する。利用者端末等は、この通知を取得し、自身の表示部等に表示することにより、利用者に対して、この物体の重量を通知する。このようにして、コンピュータ10は推測した物体の重量を、利用者端末等に表示させることにより、利用者にこの物体の重量を通知する。
【0050】
以上が、第一の物体検知処理である。
【0051】
上述したコンピュータ10が実行する第一の物体検知処理について、重機、農作物及び人の其々の重量を推測する方法を、説明する。
【0052】
図8、
図9及び
図10に基づいて、コンピュータ10が物体として、重機、農作物、人の其々の重量を推測する方法について説明する。
図8、
図9及び
図10は、画像データ取得モジュール20が取得した画像データの一例を示す図である。其々の画像データには、画像に加え、其々の撮影地点の位置情報が含まれている。
図8は、重機としてショベルカーの画像である。
図9は、農作物としてキャベツの画像である。
図10は、人の画像である。
【0053】
画像データ取得モジュール20は、上述したステップS10の処理により、
図8、
図9及び
図10に示す画像データを取得する。
【0054】
特徴量抽出モジュール40は、上述したステップS11の処理により、其々の画像データに対して、特徴量を抽出する。
【0055】
物体検知モジュール41は、上述したステップS12及びS13の処理により、この画像に写り込んでいる物体を検知する。物体検知モジュール41は、
図8に示す画像から抽出した特徴量に基づいて、物体として、ショベルカー(小)100を検知する。また、物体検知モジュール41は、
図9に示す画像から抽出した特徴量に基づいて、物体として、キャベツ110を検知する。物体検知モジュール41は、
図10に示す画像から抽出した特徴量に基づいて、物体として、人(男性、20代)120を検知する。
【0056】
なお、人や農作物等の近距離に複数の物体が存在するものを検知した場合、各物体を個別に検知する。
【0057】
距離推測モジュール42は、上述したステップS14の処理により、撮影装置から物体までの間の距離を推測する。
【0058】
サイズ推測モジュール43は、上述したステップS15の処理により、物体の画像におけるサイズ(面積)を其々推測する。すなわち、サイズ推測モジュール43は、ショベルカー(小)100の画像におけるサイズを推測し、キャベツ110の画像におけるサイズを推測し、人(男性、20代)120の画像におけるサイズを推測する。
【0059】
大きさ推測モジュール44は、上述したステップS16の処理により、物体の大きさ(体積)を推測する。すなわち、大きさ推測モジュール44は、ショベルカー(小)100の大きさを推測し、キャベツ110の大きさを推測し、人(男性、20代)120の大きさを推測する。
【0060】
重量推測モジュール45は、上述したステップS17の処理により、物体の重量を推測する。重量推測モジュール45は、物体の識別子が「ショベルカー(小)」であることから、重量テーブルを参照し、この「ショベルカー(小)」に対応付けられた重量密度D1を特定する。重量推測モジュール45は、この特定した重量密度D1と、推測した大きさとに基づいて、このショベルカー(小)100の重量W1を推測する。同様に、重量推測モジュール45は、物体の識別子が「キャベツ」であることから、重量テーブルを参照し、この「キャベツ」に対応付けられた重量密度D3を特定する。重量推測モジュール45は、この特定した重量密度D3と、推測した大きさとに基づいて、このキャベツ110の重量W3を推測する。同様に、重量推測モジュール45は、物体の識別子が「人(男性、20代)」であることから、重量テーブルを参照し、この「人(男性、20代)」に対応付けられた重量密度D4を特定する。重量推測モジュール45は、この特定した重量密度D4と、推測した大きさとに基づいて、この人(男性、20代)120の重量W4を推測する。
【0061】
通知モジュール21は、上述したステップS18の処理により、推測した重量を通知する。
図11に基づいて、通知モジュール21が利用者端末等に通知する通知画面について説明する。
図11は、通知モジュール21が利用者端末等に物体の重量を通知する通知画面の一例を示す図である。上述した三つの物体のうち、ショベルカー(小)を例として説明する。通知モジュール21は、キャベツ及び人についても同様に、通知する。
【0062】
通知モジュール21は、通知画面として、取得した画像に、物体の識別子(ここでは、識別子として名称であるショベルカー(小))と、推測した重量W1とを、重畳させた画面を、通知画面として利用者端末等に表示させる。通知モジュール21は、この通知画面として、特定した物体を囲む、強調表示、色変更等の加工を行い、どの物体を特定したかを明確にする。最終的に、通知モジュール21は、通知画面として、ショベルカー(小)100を囲んだ囲み線、物体の識別子及び重量を、取得した画像に重畳させたものを、通知画面として利用者端末等に表示させる。
【0063】
通知モジュール21は、他のキャベツ110及び人120についても、同様に、キャベツ100を囲んだ囲み線、識別子及び重量を、取得した画像に重畳させたものを、通知画面として利用者端末等に表示させ、人120を囲んだ囲み線、識別子及び重量を、取得した画像に重畳させたものを、通知画面として利用者端末等に表示させる。
【0064】
以上が、第一の物体検知処理における実際の物体を例とする説明である。
【0065】
[第二の物体検知処理]
図4に基づいて、物体検知システム1が実行する第二の物体検知処理について説明する。
図4は、コンピュータ10が実行する第二の物体検知処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0066】
なお、上述した第一の物体検知処理と同様の処理については、その詳細な説明は省略する。
【0067】
はじめに、物体指定データ取得モジュール22は、検知する物体を指定する物体指定データを取得したか否かを判断する(ステップS20)。ステップS20において、物体指定データ取得モジュール22は、土や土砂(災害により発生したものや工事中の掘削物等)、水、一面の農作物等の所定の範囲に亘って存在する物体を指定するデータを、物体指定データとして取得する。このとき、利用者端末等が、検知する物体を指定する入力を受け付け、この入力を受け付けた物体を、物体指定データとしてコンピュータ10に送信する。物体指定データ取得モジュール22は、この利用者端末が送信した物体指定データを受信することにより、この物体指定データを取得する。
【0068】
なお、物体指定データ取得モジュール22が取得する物体指定データの送信元は、適宜変更可能である。また、本処理は、必ずしも実行される必要はない、この場合、コンピュータ10は、後述するステップS21以降の処理を実行すればよい。
【0069】
ステップS20において、物体指定データ取得モジュール22は、物体指定データを取得していないと判断した場合(ステップS20 NO)、本処理を終了する。なお、この場合、コンピュータ10は、上述した第一の物体検知処理を実行すればよい。
【0070】
一方、ステップS20において、物体指定データ取得モジュール22は、物体指定データを取得したと判断した場合(ステップS20 YES)、画像データ取得モジュール20は、画像データを取得する(ステップS21)。ステップS21の処理は、上述したステップS10の処理と同様である。また、このとき、撮影装置は、コンピュータ10に加え、図示していない利用者端末に画像データを送信する。利用者端末は、この画像データを受信し、後述する処理に画像データに含まれる画像を用いる。
【0071】
領域指定データ取得モジュール23は、取得した画像に対する所定領域を指定する領域指定データを取得する(ステップS22)。ステップS22において、端末装置が、画像データを受信することにより、この端末装置と、コンピュータ10とが同一の画像データを受信する。利用者端末は、この画像データに基づいた画像を自身の表示部に表示し、利用者からのタップ操作等の入力を受け付け、この画像に対する利用者からの所定領域を指定する入力を受け付ける。利用者端末は、この所定領域の画像における座標を特定する。例えば、端末装置は、この領域が矩形である場合、各頂点の座標を特定し、この矩形で囲まれた領域を所定領域として特定する。また、利用者端末は、この領域が円形である場合、中心の座標を特定し、この中心から円周までの半径を特定し、この円形で囲まれた領域を所定領域として特定する。利用者端末は、この特定した所定領域を、領域指定データとして、コンピュータ10に送信する。領域指定データ取得モジュール23は、この領域指定データを受信することにより、画像に対する所定領域を指定する領域指定データを取得する。
【0072】
特徴量抽出モジュール40は、取得した画像データに基づいて、この画像を画像解析し、この画像の特徴量を抽出する(ステップS23)。ステップS23の処理は、上述したステップS11の処理と同様である。
【0073】
物体検知モジュール41は、抽出した特徴量に基づいて、所定領域に写り込んでいる物体を検知する(ステップS24)。ステップS24において、物体検知モジュール41は、取得した領域指定データに基づいて、この所定領域に該当する領域を特定する。例えば、物体検知モジュール41は、所定領域が矩形である場合、この矩形の各頂点の座標を、領域指定データに基づいて特定し、各頂点を結んだ矩形の領域を、指定された所定領域であるものとして特定する。また、物体検知モジュール41は、所定領域が円形である場合、この円形の中心座標及び半径を、領域指定データに基づいて特定し、この円に囲まれた領域を、指定された所定領域であるものとして特定する。物体検知モジュール41は、この所定領域に囲まれた領域に写り込んでいる物体を検知する。物体検知モジュール41が物体を検知する方法は、上述したステップS12及びS13の処理と同様である。
【0074】
距離推測モジュール42は、画像データに含まれる撮影地点の位置情報に基づいて、撮影装置から物体までの間の距離を推測する(ステップS25)。ステップS25の処理は、上述したステップS14の処理と同様である。
【0075】
サイズ推測モジュール43は、検知した所定領域内に写り込んでいる物体の画像におけるサイズ(面積)を推測する(ステップS26)。ステップS26の処理は、上述したステップS15の処理と同様である。
【0076】
大きさ推測モジュール44は、推測した距離と、推測したサイズとに基づいて、この物体の大きさ(体積)を推測する(ステップS27)。ステップS27の処理は、上述したステップS16の処理と同様である。
【0077】
重量推測モジュール45は、予め記憶モジュール30が記憶した物体の識別子(名称、型番、製品番号等)と、物体の大きさと、重量密度とを対応付けた重量テーブルを参照することにより、この物体の重量を推測する(ステップS28)。ステップS28の処理は、上述したステップS17の処理と同様である。
【0078】
通知モジュール21は、推測した重量を、利用者端末に通知する(ステップS29)。ステップS29の処理は、上述したステップS18の処理と同様である。
【0079】
以上が、第二の物体検知処理である。
【0080】
上述したコンピュータ10が実行する第二の物体検知処理について、重機及び農作物の其々の重量を推測する方法を、説明する。なお、人に対しても同様の方法で重量を推測可能である。
【0081】
図12及び
図13に基づいて、コンピュータ10が物体として、重機及び農作物の其々の重量を推測する方法について説明する。
図12及び
図13は、画像データ取得モジュール20が取得した画像に対して、領域指定データ取得モジュール23が取得した領域指定データに基づいて指定された所定領域を重畳させた状態の一例を示す図である。其々の画像データには、画像に加え、其々の撮影地点の位置情報が含まれている。
図12は、土砂を含んだ画像及び指定された所定領域を画像に重畳させたものである。
図13は、農作物の画像及び指定された所定領域を画像に重畳させたものである。
【0082】
物体指定データ取得モジュール22は、上述したステップS20の処理により、物体指定データを取得する。ここで、物体指定データ取得モジュール22は、
図12においては、「土砂」を物体指定データとして取得し、
図13においては、「キャベツ」を物体指定データとして取得する。
【0083】
画像データ取得モジュール20は、上述したステップS21の処理により、画像データを取得する
【0084】
領域指定データ取得モジュール23は、上述したステップS22の処理により、領域指定データを取得する。
【0085】
特徴量抽出モジュール40は、上述したステップS23の処理により、画像の特徴量を抽出する。
【0086】
物体検知モジュール41は、上述したステップS24の処理により、上述した特徴量に基づいて、指定された所定領域に写り込んでいる物体を検知する。
図12において、物体検知モジュール41は、物体として「土砂」が指定されており、加えて、指定された所定領域200が存在することから、この所定領域200内に存在する土砂を検知する。また、同様に、
図13において、物体検知モジュール41は、物体として「キャベツ」が指定されており、加えて、指定された所定領域210が存在することから、この所定領域210内に存在するキャベツを検知する。
【0087】
距離推測モジュール42は、上述したステップS25の処理により、撮影装置から物体までの間の距離を推測する。
【0088】
サイズ推測モジュール43は、上述したステップS26の処理により、この所定領域内に写り込んでいる物体の画像におけるサイズ(面積)を推測する。サイズ推測モジュール43は、この所定領域200内に存在する土砂のサイズ及びこの所定領域210内に存在するキャベツのサイズを推測する。
【0089】
このとき、
図12に示すように、所定領域200内に他の物体が写り込んでいる場合、この他の物体に該当する箇所を対象となる物体が存在するものとして物体の画像におけるサイズを推測する。具体的には、サイズ推測モジュール43は、所定領域200に存在する重機のサイズを、土砂のサイズに加算して、この所定領域200内に存在する土砂のサイズを推測する。これは、重機等の大きな物体が対象とする物体を隠すような場合においては有効となる。
【0090】
また、
図13に示すように、所定領域210内に他の物体が写り込んでいる場合、この他の物体に該当する箇所を対象となる物体が存在しないものとして物体の画像におけるサイズを推測する。具体的には、サイズ推測モジュール43は、所定領域210に存在するキャベツのうち、一玉が完全にこの所定領域210内に含まれていないキャベツのサイズを除外し、一玉が完全にこの所定領域210内に含まれているキャベツのサイズのみに基づいて、この所定領域210内に存在するキャベツのサイズを推測する。これは、農作物等の物体の一部だけが所定領域内に存在するような場合において有効となる。
【0091】
大きさ推測モジュール44は、上述したステップS27の処理により、この物体の大きさ(体積)を推測する。すなわち、大きさ推測モジュール44は、所定領域200における土砂の大きさを推測し、所定領域210におけるキャベツの大きさを推測する。
【0092】
重量推測モジュール45は、上述したステップS28の処理により、物体の重量を推測する。重量推測モジュール45は、物体の識別子が「土砂」であることから、重量テーブルを参照し、この「土砂」に対応付けられた重量密度D5を特定する。重量推測モジュール45は、この特定した重量密度D5と推測した大きさとに基づいて、この所定領域200内に存在する「土砂」の重量W5を推測する。同様に、重量推測モジュール45は、物体の識別子が「キャベツ」であることから、重量テーブルを参照し、この「キャベツ」に対応付けられた重量密度D3を特定する。重量推測モジュール45は、この特定した重量密度D3と推測した大きさとに基づいて、所定領域210内に存在する「キャベツ」の重量W6を推測する。
【0093】
通知モジュール21は、上述したステップS29の処理により、推測した重量を通知する。
図14に基づいて、通知モジュール21が利用者端末等に通知する通知画面について説明する。
図14は、通知モジュール21が利用者端末等に所定領域内に写り込んだ物体の重量を通知する通知画面の一例を示す図である。上述した二つの物体のうち、土砂を例として説明する。通知モジュール21は、キャベツについても同様に、通知する。
【0094】
通知モジュール21は、通知画面として、取得した画像に、物体の識別子(ここでは、識別子として土砂)と、推測した重量W5kgと、所定領域200とを重畳させた画面を通知画面として利用者端末等に表示させる。
【0095】
通知モジュール21は、キャベツについても、同様に、所定領域200、物体の識別子及び重量を、取得した画面に重畳させたものを、通知画面として利用者端末に表示させる。
【0096】
なお、説明は、省略しているが、物体が人である場合についても上述した土砂やキャベツと同様の処理を実行すればよい。通知モジュール21は、この通知画面として、所定領域を強調表示、色変更等の加工を行い、画像におけるどの場所に写り込んだ物体を特定したかを明確にする。最終的に、通知モジュール21は、通知画面として、所定領域、物体の識別子及び重量を、取得した画面に重畳させたものを、通知画面として利用者端末に表示させる。
【0097】
以上が、第二の物体検知処理における実際の物体を例とする説明である。
【0098】
[第三の物体検知処理]
図5に基づいて、物体検知システム1が実行する第三の物体検知処理について説明する。
図5は、コンピュータ10が実行する第三の物体検知処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0099】
なお、上述した第一の物体検知処理又は第二の物体検知処理と同様の処理については、その詳細な説明は省略する。
【0100】
はじめに、画像データ取得モジュール20は、図示していない撮影装置が撮影した画像及びこの撮影装置の位置情報を、画像データとして取得する(ステップS30)。ステップS30の処理は、上述したステップS10の処理と同様である。
【0101】
特徴量抽出モジュール40は、取得した画像データに基づいて、この画像データに含まれる画像を、画像解析し、この画像の特徴量を抽出する(ステップS31)。ステップS31の処理は、上述したステップS11の処理と同様である。
【0102】
物体検知モジュール41は、抽出した特徴量に基づいて、この画像に物体が写り込んでいるか否かを判断する(ステップS32)。ステップS32の処理は、上述したステップS12の処理と同様である。
【0103】
ステップS32において、物体検知モジュール41は、画像に物体が写り込んでいないと判断した場合(ステップS32 NO)、コンピュータ10は、本処理を終了する。
【0104】
一方、ステップS32において、物体検知モジュール41は、画像に物体が写り込んでいると判断した場合(ステップS32 YES)、物体検知モジュール41は、この画像に写り込んでいる物体を検知する(ステップS33)。ステップS33の処理は、上述したステップS13の処理と同様である。
【0105】
物体検知モジュール41は、物体の全体を検知したか否かを判断する(ステップS34)。ステップS34において、物体検知モジュール41は、検知した物体の一部が、画像の端(例えば、画像が矩形である場合、物体の一部が各辺に接触又は物体の一部が各辺の何れかの位置にある)にあるか否かを判断する。また、物体検知モジュール41は、検知した物体の輪郭や形状の一部が途中で途切れているか否かを判断する。
【0106】
なお、物体検知モジュール41は、上述した方法以外の方法により、全体を検知したか否かを判断してもよい。
【0107】
ステップS34において、物体検知モジュール41は、物体の全体を検知したと判断した場合(ステップS34 YES)、コンピュータ10は、本処理を終了する。なお、この場合、コンピュータ10は、上述した第一の物体検知処理を実行すればよい。
【0108】
一方、ステップS34において、物体検知モジュール41は、物体の全体を検知できなかったと判断した場合(ステップS34 NO)、物体データ取得モジュール24は、外部コンピュータや記憶モジュール30が予め記憶するこの物体の識別子に該当する物体の画像やサイズや大きさ等に関するデータである物体データを取得する(ステップS35)。ステップS35において、物体データ取得モジュール24は、検知した物体の識別子を、外部コンピュータや記憶モジュール30が記憶する各種テーブル等を参照することにより、この物体の識別子に該当する物体データを取得する。
【0109】
物体補完モジュール46は、取得した物体データに基づいて、検知した物体において、欠けている部分を補完する(ステップS36)。ステップS36において、物体補完モジュール46は、取得した物体データにおける画像と、今回検知した物体の画像とを比較し、その比率を推測する。物体補完モジュール46は、推測した比率に基づいて、取得した物体データにおける画像を縮小又は拡大することにより補正する。物体補完モジュール46は、この補正後の画像と、検知した物体とを比較する。物体補完モジュール46は、この検知した物体に欠けている部分を、この補正後の画像において特定する。物体補完モジュール46は、この特定した部分を、検知した物体の画像につなげることにより、物体の全体を画像として疑似的に補正し、欠けている部分を補完する。
【0110】
距離推測モジュール42は、画像データに含まれる撮影地点の位置情報に基づいて、撮影装置から物体までの間の距離を推測する(ステップS37)。ステップS37の処理は、上述したステップS14の処理と同様である。
【0111】
サイズ推測モジュール43は、補完した物体の画像と、取得した物体データとに基づいて、この補完後の画像に写っている物体のサイズ(面積)を推測する(ステップS38)。ステップS38の処理は、上述したステップS15の処理と同様である。
【0112】
大きさ推測モジュール44は、推測した撮影地点から物体までの間の距離と、推測した物体のサイズとに基づいて、この物体の大きさ(体積)を推測する(ステップS39)。ステップS39の処理は、上述したステップS16の処理と同様である。
【0113】
重量推測モジュール45は、重量テーブルを参照することにより、この物体の重量を推測する(ステップS40)。ステップS40の処理は、上述したステップS17の処理と同様である。
【0114】
通知モジュール21は、推測した重量を、利用者端末に通知する(ステップS41)。ステップS41の処理は、上述したステップS18の処理と同様である。
【0115】
以上が、第三の物体検知処理である。
【0116】
上述したコンピュータ10が実行する第三の物体検知処理について、重機の重量を推測する方法を、説明する。なお、農作物や人に対しても同様の方法で重量を推測可能である。
【0117】
図15に基づいて、コンピュータ10が物体として重機の重量を推測する方法について説明する。
図15は、画像データ取得モジュール20が取得した画像データの一例を示す図である。画像データには、画像に加え、撮影地点の位置情報が含まれている。
図15は、重機としてショベルカーの画像である。
【0118】
画像データ取得モジュール20は、上述したステップS30の処理により、
図15に示す画像データを取得する。
【0119】
特徴量抽出モジュール40は、上述したステップS31の処理により、画像データに対して、特徴量を抽出する。
【0120】
物体検知モジュール41は、上述したステップS32及びS33の処理により、この画像に写り込んでいる物体を検知する。物体検知モジュール41は、
図15に示す画像から抽出した特徴量に基づいて、物体としてショベルカー(小)300を検知する。
【0121】
物体検知モジュール41は、上述したステップS34の処理により、検知した物体の一部が欠けていると判断し、物体データ取得モジュール24は、上述したステップS35の処理により、検知した物体に関する物体データを取得する。
【0122】
物体補完モジュール46は、上述したステップS36の処理により、検知した物体において、欠けている部分を補完する。
【0123】
図16は、物体補完モジュール46がショベルカー(小)300に欠けている部分を補完したショベルカー(小)310を示す図である。
図16において、物体補完モジュール46は、物体データに基づいて、補正部分320を補正したショベルカー(小)310を補完する。
【0124】
距離推測モジュール42は、上述したステップS37の処理により、撮影装置から物体までの間の距離を推測する。
【0125】
サイズ推測モジュール43は、上述したステップS38の処理により、補完後の物体のサイズ(面積)を推測する。すなわち、サイズ推測モジュール43は、補完後のショベルカー(小)310の画像におけるサイズを推測する。
【0126】
大きさ推測モジュール44は、上述したステップS39の処理により、物体の大きさ(体積)を推測する。すなわち、大きさ推測モジュール44は、この補完後のショベルカー(小)310の大きさを推測する。
【0127】
重量推測モジュール45は、上述したステップS40の処理により、物体の重量を推測する。重量推測モジュール45は、物体の識別子が「ショベルカー(小)」であることから、重量テーブルを参照し、この「ショベルカー(小)」に対応付けられた重量密度D1を特定する。重量推測モジュール45は、この特定した重量密度D1と、推測した大きさとに基づいて、このショベルカー(小)100の重量W7を推測する。
【0128】
通知モジュール21は、上述したステップS41の処理により、推測した重量を通知する。
図17に基づいて、通知モジュール21が利用者端末等に通知する通知画面について説明する。
図17は、通知モジュール21が利用者端末等に物体の重量を通知する通知画面の一例を示す図である。
【0129】
通知モジュール21は、通知画面として、取得した画像(補正前の画像)に、物体の識別子(ここでは、識別子として名称であるショベルカー(小))と、推測した重量とを、重畳させた画面を、通知画面として利用者端末等に表示させる。通知モジュール21は、この通知画面として、特定した物体を囲む、強調表示、色変更等の加工を行い、どの物体を特定したかを明確にする。最終的に、通知モジュール21は、通知画面として、ショベルカー(小)300を囲んだ囲み線、物体の識別子及び重量を、取得した画像に重畳させたものを、通知画面として利用者端末等に表示させる。
【0130】
なお、通知モジュール21は、他の農作物や人についても、同様の通知を通知画面として利用者端末に表示させる。
【0131】
以上が、第案の物体検知処理における実際の物体を例とする説明である。
【0132】
[学習処理]
図6に基づいて、物体検知システム1が実行する学習処理について説明する。
図6は、コンピュータ10が実行する学習処理のフローチャートを示す図である。上述した各モジュールが実行する処理について、本処理に併せて説明する。
【0133】
はじめに、実重量データ取得モジュール25は、上述した第一、第二及び第三の物体検知処理により重量を推測した物体の実際の重量である実重量を示す実重量データを取得する(ステップS50)。ステップS50において、端末装置が、実際にこの物体の重量を計測した結果を入力又はこの計測した結果を取得し、この物体の識別子、画像及び実重量に関するデータを、実重量データとしてコンピュータ10に送信する。実重量データ取得モジュール25は、この実重量データを受信することにより、推測した物体の実際の重量を取得する。
【0134】
学習モジュール47は、取得した物体の実際の重量(実重量)と、検知した物体の画像との相関関係を学習する(ステップS51)。ステップS51において、学習モジュール47は、実重量と、画像との相関関係として、この物体の密度、名称、大きさ又は物体までの距離の少なくとも一つの相関関係を学習する。
【0135】
記憶モジュール30は、学習結果を記憶する(ステップS52)。
【0136】
重量推測モジュール45は、上述したステップS17、S28、S40の処理に際して、この学習結果を加味して、物体の重量を推測する。すなわち、重量推測モジュール45は、物体の重量を推測する際、重量テーブルを参照するとともに、学習結果に基づいた相関関係による補正をすることにより、この物体の重量を推測する。
【0137】
以上が、学習処理である。
【0138】
上述した手段、機能は、コンピュータ(CPU、情報処理装置、各種端末を含む)が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、コンピュータからネットワーク経由で提供される(SaaS:ソフトウェア・アズ・ア・サービス)形態で提供される。また、プログラムは、例えば、フレキシブルディスク、CD(CD-ROMなど)、DVD(DVD-ROM、DVD-RAMなど)等のコンピュータ読取可能な記憶媒体に記憶された形態で提供される。この場合、コンピュータはその記憶媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し記憶して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記憶装置(記憶媒体)に予め記憶しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【0139】
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【0140】
1 物体検知システム、10 コンピュータ