(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022171236
(43)【公開日】2022-11-11
(54)【発明の名称】物品監視装置、物品監視方法、及び物品監視プログラム
(51)【国際特許分類】
G06T 7/246 20170101AFI20221104BHJP
【FI】
G06T7/246
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021077775
(22)【出願日】2021-04-30
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】牛嶋 悟
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096BA08
5L096DA02
5L096FA52
5L096FA59
5L096GA51
5L096HA05
(57)【要約】
【課題】画像データの撮影範囲内に対象物品が存在しないと誤判定することを抑制する。
【解決手段】時間的に連続したタイミングで撮影された画像データを取得する取得部と、第1物品と第2物品を前記画像データから検出する検出部と、第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する判定部と、を有する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
時間的に連続したタイミングで撮影された画像データを取得する取得部と、
第1物品と第2物品を前記画像データから検出する検出部と、
第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する判定部と、
を有する物品監視装置。
【請求項2】
前記判定部は、前記第1画像データ内の前記第1物品の映っている大きさが、前記第2画像データ内の前記第1物品の映っている大きさ以上であるとき、前記第2カウンタをカウントダウンする
請求項1記載の物品監視装置。
【請求項3】
前記判定部は、第1画像データ内の前記第1物品と前記第2物品が重なっていないとき、前記第1カウンタをカウントダウンする
請求項2記載の物品監視装置。
【請求項4】
前記判定部は、第1画像データ内の前記第1物品と前記第2物品が重なっていないとき、前記第1カウンタをクリアする
請求項2記載の物品監視装置。
【請求項5】
前記判定部は、第1画像データ内の前記第1物品と前記第2物品が重なっていないとき、前記第2カウンタをクリアする
請求項4記載の物品監視装置。
【請求項6】
前記第2物品は人物の手であり、
前記検出部は、検出した前記第1物品にバウンディングボックスを設定し、
前記判定部は、前記手の指先が前記バウンディングボックス内に位置する場合、前記第1物品と前記第2物品が重なっていると判定する
請求項1記載の物品監視装置。
【請求項7】
前記判定部は、前記第1画像データの前記バウンディングボックスの面積が、前記第2画像データの前記バウンディングボックスの面積より小さいとき、前記第1画像データ内の前記第1物品の映っている大きさが、前記第2画像データ内の前記第1物品の映っている大きさより小さいと判定する
請求項6記載の物品監視装置。
【請求項8】
前記判定部は、前記第1物品が前記画像データ内に検出できないとき、さらに、前記第2物品も前記画像データ内に検出できない場合、前記第1物品が前記画像データの撮影された範囲内に存在しないと判定する
請求項1記載の物品監視装置。
【請求項9】
時間的に連続したタイミングで撮影された画像データを取得し、
第1物品と第2物品を前記画像データから検出し、
第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する
物品監視方法。
【請求項10】
時間的に連続したタイミングで撮影された画像データを取得する取得工程と、
第1物品と第2物品を前記画像データから検出する検出工程と、
第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する判定工程とを、
物品監視装置が有するコンピュータに実行させる物品監視プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物品監視装置、物品監視方法、及び物品監視プログラムに関する。
【背景技術】
【0002】
近年、人物や道具などの物品を撮影し、撮影した画像から対象となる物品を検出する画像処理技術を用いたシステムが注目されている。このようなシステムは、例えば、工場に設置され、作業者及び作業者が使用する工具を撮影し、正しい工具を使用しているか否かの安全性の確認や、作業時間の監視などに使用される。
【0003】
物品を監視する技術については、以下の特許文献に記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016-115179号公報
【特許文献2】特開2005-250708号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、例えば、作業者が工具(監視の対象となる物品:対象物品)を手に持って使用していると、工具を握っている姿勢や、画像を撮影する角度によっては、画像データから工具が検出できない場合がある。
【0006】
また、例えば、対象物品が他の物体に隠れることで、画像データから対象物品が検出できない場合がある。
【0007】
画像データから対象物品が検出できない場合、実際には画像データの撮影範囲内に対象物品が存在しても、対象物品が撮影範囲内に存在しないと誤判定されることがある。
【0008】
そこで、一開示は、画像データの撮影範囲内に対象物品が存在しないと誤判定することを抑制する物品監視装置、物品監視方法、及び物品監視プログラムを提供する。
【課題を解決するための手段】
【0009】
時間的に連続したタイミングで撮影された画像データを取得する取得部と、第1物品と第2物品を前記画像データから検出する検出部と、第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する判定部と、を有する。
【発明の効果】
【0010】
一開示は、画像データの撮影範囲内に対象物品が存在しないと誤判定することを抑制することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、物品監視システム10の構成例を示す図である。
【
図2】
図2は、画像処理装置100の構成例を表す図である。
【
図3】
図3は、対象物品を映す画像の例を示す図である。
【
図4】
図4は、物品監視処理S100の処理フローチャートの例を示す図である。
【
図5】
図5は、フレーム毎物品判定処理S200の処理フローチャートの例を示す図である。
【
図6】
図6は、物品存在判定処理S300の処理フローチャートの例を示す図である。
【
図7】
図7は、対象物品が映る画像の例を示す図である。
【
図8】
図8は、第2の実施の形態における、フレーム毎物品判定処理S200の処理フローチャートの例を示す図である。
【
図9】
図9は、人物がフォークリフトに乗り込む画像の例を示す図である。
【発明を実施するための形態】
【0012】
[第1の実施の形態]
第1の実施の形態について説明する。
【0013】
<物品監視システム10の構成例>
図1は、物品監視システム10の構成例を示す図である。物品監視システム10は、画像処理装置(物品監視装置)100及びカメラ200を有する。物品監視システム10は、監視対象である対象物品300を監視し、画像データから対象物品300が検出できないとき、対象物品300が撮影範囲R1内に存在するか否かを判定するシステムである。
【0014】
カメラ200は、撮影範囲R1を撮影し、画像データを生成する。撮影範囲R1には、例えば、対象物品(例えば工具)300、及び対象物品300を隠す可能性がある非対象物品(例えば手)400が存在する。カメラ200は、撮影した画像データを画像処理装置100に引き渡す。なお、カメラ200が撮影する画像データは、動画であってもよいし、時間的に連続した静止画であってもよい。
【0015】
画像処理装置100は、カメラ200から撮影した映像データを解析し、映像データに映る対象物品300や非対象物品400を検出する。また、画像処理装置100は、検出した対象物品300及び非対象物品400を監視する。そして、画像処理装置100は、対象物品300が画像データから検出できなくなったとき、対象物品300が撮影範囲R1内に存在するか否かを判定する。
【0016】
<画像処理装置100の構成例>
図2は、画像処理装置100の構成例を表す図である。画像処理装置100は、CPU(Central Processing Unit)110、ストレージ120、メモリ130、通信回路140、及びアクセラレータ150を有する。
【0017】
ストレージ120は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ120は、物品監視プログラム121及び画像処理プログラム122を記憶する。
【0018】
メモリ130は、ストレージ120に記憶されているプログラムをロードする領域である。また、メモリ130は、プログラムがデータを記憶する領域としても使用されてもよい。
【0019】
CPU110は、ストレージ120に記憶されているプログラムを、メモリ130にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0020】
通信回路140は、カメラ200と通信を行う回路である。通信回路140は、例えば、NIC(Network Interface Card)である。また、通信回路140は、例えば、ブルートゥース(登録商標)の接続アダプタである。通信回路140における通信手段は、無線及び有線のいずれであってもよい。また、通信回路140は、ネットワーク(インターネット、ローカルネットワーク)を介して、カメラ200と通信を行ってもよい。
【0021】
アクセラレータ150は、例えば、CPU110の命令に従い特定の処理を行う、GPU(Graphics Processing Unit)やFPGA(Field Programmable Gate Array)である。アクセラレータ150は、例えば、ハードウェアアクセラレータであり、画像処理や演算処理などを行う。
【0022】
CPU110は、物品監視プログラム121を実行することで、取得部、検出部、及び判定部を構築し、物品監視処理を行う。物品監視処理は、画像データをカメラ200から取得し、画像データから監視対象の対象物品を検出し、対象物品を監視する処理である。画像処理装置100は、物品監視処理において、対象物品が画像データから検出できないとき、対象物品が撮影範囲内に存在するか否かを判定する。
【0023】
CPU110は、物品監視プログラム121の有するフレーム毎物品判定モジュール1211を実行することで、検出部及び判定部を構築し、フレーム毎物品判定処理を行う。フレーム毎物品判定処理は、画像データの1フレームに対して実行される処理であり、対象物品が撮影範囲内に存在するか否かの物品存在判定に使用するカウンタの値の操作、対象物品の検出、及び物品存在判定を行う。フレームは、例えば、動画データの1フレームであってもよいし、あるタイミングに撮影された静止画であってもよい。
【0024】
CPU110は、物品監視プログラム121の有する物品存在判定モジュール1212を実行することで、判定部を構築し、物品存在判定処理を行う。物品存在判定処理は、例えばフレーム毎物品判定処理において、対象物品を検出できないときに実行される処理であり、画像データの撮影範囲内に対象物品が存在するか否かを判定する処理である。
【0025】
また、CPU110は、画像処理プログラム122を実行することで、検出部を構築し、画像処理を行う。画像処理は、画像データから特定の物品(人物や手足などを含む)を検出する処理である。画像処理は、例えば、対象物品や非対象物品の検出に用いられる。また、画像処理は、例えば、AI(Artificial Intelligence)を用いて実行される。AIは、工具などの対象物品の画像や、手などの非対象物品の画像を用いて学習させたものが使用される。
【0026】
<物品監視処理S100>
物品監視処理S100について説明する。
図3は、対象物品を映す画像の例を示す図である。
図3は、
図3(A)、(B)、(C)の順に、古い時間に撮影された画像である。
図3において、対象物品はミニカーとする。
【0027】
図3(A)では、対象物品D1が映っている。
図3(A)では、手H1が映っているものの、対象物品D1とは接していない(重なっていない)ため、対象物品D1は全体像が映っている。
【0028】
図3(B)では、手H1が対象物品D1を把握することで、対象物品D1の一部が手H1に隠れており、対処物品D1の一部が映っていない。
【0029】
図3(C)では、手H1が対象物品D1をさらに深く把握することで、対象物品D1のほぼ全体が手H1に隠れており、対象物品D1がほとんど映っていない。
【0030】
図3(A)~(C)に示すように、例えば、非対象物品である手が、対象物品であるミニカーを把握することで、画像データに映る対象物品は、徐々に小さくなっていき、把握の仕方によっては、ほとんどなくなってしまう。
図3(C)において、対象物品D1は画像には映っていないが、撮影範囲内には存在しており、手H1に把握されることで隠れている状態である。
【0031】
画像処理装置100は、撮影範囲内で対象物品が隠されているときの特徴である、映っている対象物品の大きさ(面積)が時間経過に応じて小さくなること、及び対象物品と対象物品を隠す非対象物品とが一定時間接している(接しているように見える、画像上重なっている)ことなどを利用し、物品監視処理S100を実行する。
【0032】
図4は、物品監視処理S100の処理フローチャートの例を示す図である。画像処理装置100は、画像の取得を開始する(S100-1)。画像処理装置100は、例えば、動画データや静止画データを定期的にカメラ200から取得することで、画像を取得する。取得する画像データは、例えば、時間的に連続したタイミングで撮影された画像であれば、動画であっても、静止画であってもよい。
【0033】
画像処理装置100は、対象物品を画像から探索する(S100-2)。画像処理装置100は、処理S100-2において、例えば、対象物品を検出し、対象物品のバウンディングボックスを設定する。バウンディングボックスは、対象物品を含む矩形の領域である。画像処理装置100は、このバウンディングボックスの領域を、対象物品の領域とみなし、以降の処理を行う。
【0034】
そして、画像処理装置100は、キーポイントを画像から探索する(S100-3)。キーポイントは、非対象物品の特定のポイントや領域である。キーポイントは、対象物品と非対象物品が重なっている(接触している)ことを判定するときに用いる。画像処理装置100は、キーポイントが対象物品のバウンディングボックスと重複する場合、非対象物品と対象物品が接している(実際に接している場合だけではなく、画像上重なっている場合も含む)と判定する。
【0035】
画像処理装置100は、対象物品とキーポイントを検出したか否かを判定する(S100-4)。画像処理装置100は、対象物品とキーポイントを検出しない場合(S100-4のNo)、次の画像を取得し(S100-5)、再度処理S100-2、S100-3を行う。画像処理装置100は、初期状態から、対象物品を検出し、さらに対象物品を隠す可能性のある非対象物品のキーポイントを検出することで、対象物品の監視を開始することができる。また、次の画像とは、次のタイミングで撮影された画像を示し、動画のフレームであってもよいし、静止画であってもよい。
【0036】
画像処理装置100は、対象物品とキーポイントを検出した場合(S100-4のYes)、カウンタ1,2をクリアする(S100-6)。カウンタ1,2は、フレーム毎物品判定処理S200で使用するカウンタである。画像処理装置100は、フレーム毎物品判定処理を行う(S200)。フレーム毎物品判定処理S200については、後述する。
【0037】
カウンタ1は、例えば、非対象物品が対象物品を隠している、あるいは隠し続けている度合いを示す。非対象物品が人物の手である場合、カウンタ1は、手が対象物品を把持し続けている度合いを示す。また、非対象物品が乗り物などの人物より大きい物体である場合、カウンタ1は、対象物品が非対象物品の中や後ろに隠れ続けている度合いを示す。
【0038】
カウンタ2は、対象物品が小さくなり続けている度合いを示す。非対象物品が人物の手である場合、カウンタ2は、手が対象物品を把持し、対象物品の覆い隠している(握り込んでいる)続けている度合いを示す。また、非対象物品が乗り物などの人物より大きい物体である場合、カウンタ2は、対象物品が非対象物品の中や後ろに隠れている度合いを示す。
【0039】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品が撮影範囲内に存在しないと判定された場合(S100-7のYes)、次の画像を取得し、再度処理S100-2、S100-3を実行する。
【0040】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品が撮影範囲内に存在すると判定された場合(S100-7のNo)、対象物品の監視を継続し、次の画像を取得し(S1008)、再度フレーム毎物品判定処理S200を実行する。
【0041】
<フレーム毎物品判定処理S200>
図5は、フレーム毎物品判定処理S200の処理フローチャートの例を示す図である。画像処理装置100は、対象物品を探索する(S200-1)。そして、画像処理装置100は、キーポイントを探索する(S200-2)。なお、処理S200-1、S200-2は、物品監視処理S100の処理S100-2、S100-3と同様の処理である。
【0042】
画像処理装置100は、対象物品を検出したか否かを判定する(S200-3)。画像処理装置100は、対象物品を検出しない場合(S200-3のNo)、物品存在判定処理S300を行い、処理を終了する。物品存在判定処理S300については、後述する。
【0043】
一方、画像処理装置100は、対象物品を検出した場合(S200-3のYes)、キーポイントが対象物品のバウンディングボックス(BBOX)内に位置するか否かを判定する(S200-4)。
【0044】
画像処理装置100は、キーポイントが対象物品のバウンディングボックス内に位置する場合(S200-4のYes)、カウンタ1をインクリメントする(S200-6)。一方、キーポイントが対象物品のバウンディングボックス内に位置しない場合(S200-4のNo)、カウンタ1をデクリメントする(S200-5)。
【0045】
カウンタ1は、非対象物品と対象物品が接している時間や度合いを計測するカウンタであり、数値が大きいほど、長い時間、あるいは高い頻度で対象物品と非対象物品が接していることを示す。
【0046】
画像処理装置100は、対象物品のバウンディングボックスの面積が、前回取得していた画像における対象物品のバウンディングボックスの面積より小さいか否かを判定する(S200-7)。
【0047】
画像処理装置100は、対象物品のバウンディングボックスの面積が、前回取得していた画像における対象物品のバウンディングボックスの面積より小さい場合(S200-7のYes)、カウンタ2をインクリメントする(S200-9)。一方、画像処理装置100は、対象物品のバウンディングボックスの面積が、前回取得していた画像における対象物品のバウンディングボックスの面積より小さくない場合(S200-7のNo)、カウンタ2をデクリメントする(S200-8)。
【0048】
カウンタ2は、対象物品(又は対象物品のバウンディングボックス)の面積の縮小度合いを示すカウンタであり、数値が大きいほど、全体的に(長期的に、移動平均において)対象物品の面積が縮小傾向であることを示す。
【0049】
画像処理装置100は、対象物品が撮影範囲内に存在すると判定し(S200-1)、処理を終了する。対象物品が撮影範囲内に存在すると判定する理由は、面積の大小に関わらず、対象物品を画像から検出できているためである。
【0050】
<物品存在判定処理S300>
図6は、物品存在判定処理S300の処理フローチャートの例を示す図である。画像処理装置100は、カウンタ1が第1閾値以上、かつカウンタ2が第2閾値以上か否かを確認する(S300-1)。
【0051】
第1閾値及び第2閾値は、例えば、過去の統計データから設定される。第1閾値は、例えば、非対象物品が手である場合、手が対象物品を把握していると想定できる時間に対応した値である。第2閾値は、例えば、非対象物品が手であり、対象物品がミニカーである場合、手がミニカーを掴み始めてから、手でミニカーを覆いつくすまでに時間に対応した値である。
【0052】
画像処理装置100は、カウンタ1が第1閾値以上、かつカウンタ2が第2閾値以上でない場合(S300-1のNo)、対象物品は撮影範囲内に存在しないと判定し(S300-4)、処理を終了する。
【0053】
一方、画像処理装置100は、カウンタ1が第1閾値以上、かつカウンタ2が第2閾値以上である場合(S300-1のYes)、キーポイントを検出できたか否かを判定する(S300-2)。
【0054】
画像処理装置100は、キーポイントが検出できていない場合(S300-2のNo)、対象物品は撮影範囲内に存在しないと判定し(S300-4)、処理を終了する。対象物品は撮影範囲内に存在しないと判定する理由は、キーポイントが存在しないため、非対象物品に対象物品が隠れていることはないとみなすことができるためである。
【0055】
一方、画像処理装置100は、キーポイントが検出できている場合(S300-2のYes)、対象物品は撮影範囲内に存在すると判定し(S300-3)、処理を終了する。対象物品は撮影範囲内に存在すると判定する理由は、非対象物品に対象物品が隠れているとみなすことができるためである。
【0056】
<物品監視処理の具体例>
次に、画像を用いて物品監視処理S100の具体例を示す。
図7は、対象物品が映る画像の例を示す図である。
図7は、
図7(A)~
図7(E)の順に、古い時間に撮影された画像である。
図7において、バウンディングボックスB1は、対象物品であるミニカーのバウンディングボックスを示す。また、
図7において、キーポイントKp1及びKp2は、それぞれ非対象物品の手の指先であり、親指の指先をキーポイントKp1、人差し指の指先をキーポイントKp2とする。なお、前提条件として、画像処理装置100は、
図7(A)の画像を取得するまで、キーポイントと対象物品の両方を検出することができていないものとする。
【0057】
<1.
図7(A)における判定>
画像処理装置100は、物品監視処理S100において、
図7(A)の画像を取得し(
図4のS100-5)、ミニカーを検出し(
図4のS100-2)、バウンディングボックスB1を設定する。また、画像処理装置100は、手を検出し、キーポイントKp1及びKp2を検出する(
図4のS100-3)。
【0058】
画像処理装置100は、キーポイントと対象物品の両方を検出したため(
図4のS100-3のYes)、カウンタ1,2をクリアし(
図4のS100-6)、フレーム毎物品判定処理S200を実行する。
【0059】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品とキーポイントを探索する(
図5のS200-1、S200-2)。なお、同一の画像において、対象物品とキーポイントを探索する処理を行っている場合、当該探索は省略してもよい。
【0060】
画像処理装置100は、対象物品を検出しているため(
図5のS200-3のYes)、キーポイントが対象物品のバウンディングボックス内に位置するか否かを確認する(
図5のS200-4)。画像処理装置100は、複数のキーポイントが存在する場合、例えば、少なくとも1つのキーポイントが対象物品のバウンディングボックス内に位置することで、キーポイントが対象物品のバウンディングボックス内に位置すると判定する。
【0061】
画像処理装置100は、キーポイントKp1及びKp2の両方がバウンディングボックスB1に接していないので(
図5のS200-4のNo)、カウンタ1をデクリメントする(
図5のS200-5)。なお、カウンタ1は、例えば、最小値が0であり、マイナスの値とならないものとする。
図7(A)の取得時点において、カウンタ1は0であるため(
図4の処理S100-6による)、デクリメントされても0のままとなる。
【0062】
次に画像処理装置100は、対象物品のバウンディボックスが前回画像のバウンディングボックスより小さいか否かを判定する(
図5のS200-7)。前回画像(図示しない)には、対象物品が映っていない、あるいは映っていたとしても、何にも隠されていないため、
図7(A)と同等の大きさである。そのため、画像処理装置100は、前回画像のバウンディングボックスより小さくはないと判定し(
図5のS200-7のNo)、カウンタ2をデクリメントする(
図5のS200-8)。なお、カウンタ2は、例えば、最小値が0であり、マイナスの値とならないものとする。
図7(A)の取得時点において、カウンタ2は0であるため(
図4の処理S100-6による)、デクリメントされても0のままとなる。
【0063】
そして、画像処理装置100は、
図7(A)の状態においては、対象物品は撮影範囲内に存在すると判定し(
図5のS200-10)、処理を終了する。なお、このタイミングにおいて、カウンタ1及びカウンタ2は、0である。
【0064】
<2.
図7(B)における判定>
画像処理装置100は、対象物品が撮影範囲内に存在すると判定されたため(
図4のS100-7のYes)、次の画像である
図7(B)を取得し(
図4のS100-8)、フレーム毎物品判定処理S200を実行する。
【0065】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品とキーポイントを探索する(
図5のS200-1、S200-2)。画像処理装置100は、バウンディングボックスB1とキーポイントKp1及びKp2を検出する。
【0066】
画像処理装置100は、対象物品を検出しているため(
図5のS200-3のYes)、キーポイントが対象物品のバウンディングボックス内に位置するか否かを確認する(
図5のS200-4)。
【0067】
画像処理装置100は、キーポイントKp1及びKp2の両方がバウンディングボックスB1に接しているため(
図5のS200-4のYes)、カウンタ1をインクリメントする(
図5のS200-6)。
図7(B)の取得時点においてカウンタ1は0であるため、カウンタ1は、1となる。画像処理装置100は、
図7(B)の例のようにキーポイントが手(又は指先)である場合、キーポイントがバウンディングボックス内に位置することで、手が対象物品を把持しているものとみなし、カウンタ1をインクリメントする。
【0068】
次に画像処理装置100は、対象物品のバウンディボックスが前回画像のバウンディングボックスより小さいか否かを判定する(
図5のS200-7)。画像処理装置100は、前回画像である
図7(A)のバウンディングボックスB1が、
図7(B)のバウンディングボックスB1より大きいため、バウンディングボックスB1が小さくなっていると判定し(
図5のS200-7のYes)、カウンタ2をインクリメントする(
図5のS200-9)。
図7(B)の取得時点においてカウンタ2は0であるため、カウンタ2は、1となる。
【0069】
そして、画像処理装置100は、
図7(B)の状態においては、対象物品は撮影範囲内に存在すると判定し(
図5のS200-10)、処理を終了する。なお、このタイミングにおいて、カウンタ1及びカウンタ2は、ともに1である。
【0070】
<3.
図7(C)及び(D)における判定>
画像処理装置100は、
図7(C)及び
図7(D)において、
図7(B)と同様の処理及び判定を行い。カウンタ1及びカウンタ2の値は、
図7(C)においては2となり、
図7(D)においては3となる。
【0071】
<4.
図7(E)における判定>
画像処理装置100は、対象物品が撮影範囲内に存在すると判定されたため(
図4のS100-7のYes)、次の画像である
図7(E)を取得し(
図4のS100-8)、フレーム毎物品判定処理S200を実行する。
【0072】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品とキーポイントを探索する(
図5のS200-1、S200-2)。画像処理装置100は、対象物品 を検出できないため(
図5のS200-3のNo)、物品存在判定処理S300を実行する。
【0073】
画像処理装置100は、物品存在判定処理S300において、カウンタ1が第1閾値以上、かつカウンタ2が第2閾値以上であるか否かを確認する(
図6のS300-1)。第1閾値及び第2閾値は、例えば、3であるとする。
【0074】
画像処理装置100は、カウンタ1が3であり第1閾値の3以上、かつカウンタ2が3であり第2閾値の3以上であるため(
図6のS300-1のYes)、キーポイントが検出できたか否かを確認する(
図6のS300-2)。
【0075】
画像処理装置100は、キーポイントKp1及びKp2を検出できているため(
図6のS300-2のYes)、対象物品であるミニカーは、非対象物品である手の中に隠れているとみなし、対象物品は撮影範囲内に存在すると判定し(
図6のS300-3)、処理を終了する。
【0076】
これにより、第1の実施の形態において、画像処理装置100は、画像データから対象物品を検出できない場合でも、対象物品が他の物品に隠れており、撮影範囲内に存在すると判定することができる。
【0077】
[第2の実施の形態]
第2の実施の形態について説明する。第2の実施の形態は、カウンタ1、2のカウント方法が異なる。
【0078】
図8は、第2の実施の形態における、フレーム毎物品判定処理S200の処理フローチャートの例を示す図である。処理S200-1~処理S200-3は、
図5の処理S200-1~処理S200-3と同様である。
【0079】
画像処理装置100は、対象物品を検出した場合(S200-3のYes)、キーポイントが対象物品のバウンディングボックス内に位置するか否かを判定する(S200-4)。
【0080】
画像処理装置100は、キーポイントが対象物品のバウンディングボックス内に位置する場合(S200-4のYes)、カウンタ1をインクリメントする(S200-6)。
【0081】
一方、画像処理装置100は、キーポイントが対象物品のバウンディングボックス内に位置しない場合(S200-4のNo)、カウンタ1をクリアし(S200-5)、カウンタ2をクリアする(S200-6)。
【0082】
ここで、カウンタ1、2を共にクリアする理由は、キーポイントが対象物品のバウンディングボックス内に位置しないことを、非対象物品が対象物品から離れた(例えば、手をミニカーから離した)とみなし、再び対象物品を掴む前の状態(例えば、
図7(A)の画像の状態)から監視を再開するためである。
【0083】
また、画像処理装置100は、キーポイントが対象物品のバウンディングボックス内に位置しない場合(S200-4のNo)、対象物品のバウンディングボックスの大きさの判定(処理S200-8)を行わない。この理由は、キーポイントと対象物品が接していないため、面積は小さくなっていない(大きくなっている可能性が高い)とみなすことができるためである。
【0084】
以降、キーポイントが対象物品のバウンディングボックス内に位置する場合(S200-4のNo)の以降の処理S200-7~処理S200-11の処理は、
図5の処理S200-6~処理S200-10と同様である。
【0085】
[第3の実施の形態]
第3の実施の形態について説明する。第1、第2の実施の形態は、対象物品がミニカーなどの手に持つことが可能な物品であり、非対象物品が手などの対象物品を把握することができる物品である場合を例として説明した。
【0086】
第3の実施の形態では、対象物品が人であり、非対象物品が乗り物(例えばフォークリフト)などの人より大きな物品である場合でも、物体監視処理が適用可能であることを説明する。
【0087】
図9は、人物がフォークリフトに乗り込む画像の例を示す図である。
図9は、
図9(A)から
図9(D)の順に、古い時間に撮影された画像である。
【0088】
<1.
図9(A)における判定>
画像処理装置100は、物品監視処理S100において、
図9(A)の画像を取得し(
図4のS100-5)、人物を検出し(
図4のS100-2)、バウンディングボックスB11を設定する。また、画像処理装置100は、フォークリフトを検出し、キーポイントKp11を検出する(
図4のS100-3)。なお、キーポイントKp11は、フォークリフト全体の領域を示すものとする。
【0089】
画像処理装置100は、キーポイントと対象物品の両方を検出したため(
図4のS100-3のYes)、カウンタ1,2をクリアし(
図4のS100-6)、フレーム毎物品判定処理S200を実行する。
【0090】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品とキーポイントを探索する(
図5のS200-1、S200-2)。なお、同一の画像において、対象物品とキーポイントを探索する処理を行っている場合、当該探索は省略してもよい。
【0091】
画像処理装置100は、対象物品を検出しているため(
図5のS200-3のYes)、キーポイントが対象物品のバウンディングボックス内に位置するか否かを確認する(
図5のS200-4)。
【0092】
画像処理装置100は、キーポイントKp11がバウンディングボックスB11に接していないので(
図5のS200-4のNo)、カウンタ1をデクリメントする(
図5のS200-5)。
図9(A)の取得時点において、カウンタ1は0であるため(
図4の処理S100-6による)、デクリメントされても0のままとなる。
【0093】
次に画像処理装置100は、対象物品のバウンディボックスが前回画像のバウンディングボックスより小さいか否かを判定する(
図5のS200-7)。前回画像(図示しない)には、対象物品が映っていない、あるいは映っていたとしても、何にも隠されていないため、
図9(A)と同等の大きさである。そのため、画像処理装置100は、前回画像のバウンディングボックスより小さくはないと判定し(
図5のS200-7のNo)、カウンタ2をデクリメントする(
図5のS200-8)。
図9(A)の取得時点において、カウンタ2は0であるため(
図4の処理S100-6による)、デクリメントされても0のままとなる。
【0094】
そして、画像処理装置100は、
図9(A)の状態においては、対象物品は撮影範囲内に存在すると判定し(
図5のS200-10)、処理を終了する。なお、このタイミングにおいて、カウンタ1及びカウンタ2は、0である。
【0095】
<2.
図9(B)における判定>
画像処理装置100は、対象物品が撮影範囲内に存在すると判定されたため(
図4のS100-7のYes)、次の画像である
図9(B)を取得し(
図4のS100-8)、フレーム毎物品判定処理S200を実行する。
【0096】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品とキーポイントを探索する(
図5のS200-1、S200-2)。画像処理装置100は、バウンディングボックスB11とキーポイントKp11を検出する。
【0097】
画像処理装置100は、対象物品を検出しているため(
図5のS200-3のYes)、キーポイントが対象物品のバウンディングボックス内に位置するか否かを確認する(
図5のS200-4)。
【0098】
画像処理装置100は、キーポイントKp11がバウンディングボックスB11に接しているため(
図5のS200-4のYes)、カウンタ1をインクリメントする(
図5のS200-6)。
図9(B)の取得時点においてカウンタ1は0であるため、カウンタ1は、1となる。
【0099】
次に画像処理装置100は、対象物品のバウンディボックスが前回画像のバウンディングボックスより小さいか否かを判定する(
図5のS200-7)。画像処理装置100は、前回画像である
図9(A)のバウンディングボックスB11が、
図9(B)のバウンディングボックスB11より大きいため、バウンディングボックスB11が小さくなっていると判定し(
図5のS200-7のYes)、カウンタ2をインクリメントする(
図5のS200-9)。
図9(B)の取得時点においてカウンタ2は0であるため、カウンタ2は、1となる。
【0100】
そして、画像処理装置100は、
図9(B)の状態においては、対象物品は撮影範囲内に存在すると判定し(
図5のS200-10)、処理を終了する。なお、このタイミングにおいて、カウンタ1及びカウンタ2は、ともに1である。
【0101】
<3.
図9(C)における判定>
画像処理装置100は、
図9(C)において、
図9(B)と同様の処理及び判定を行う。カウンタ1及びカウンタ2の値は、
図9(C)において、ともに2となる。
【0102】
<4.
図9(D)における判定>
画像処理装置100は、対象物品が撮影範囲内に存在すると判定されたため(
図4のS100-7のYes)、次の画像である
図9(D)を取得し(
図4のS100-8)、フレーム毎物品判定処理S200を実行する。
【0103】
画像処理装置100は、フレーム毎物品判定処理S200において、対象物品とキーポイントを探索する(
図5のS200-1、S200-2)。画像処理装置100は、対象物品 を検出できないため(
図5のS200-3のNo)、物品存在判定処理S300を実行する。
【0104】
画像処理装置100は、物品存在判定処理S300において、カウンタ1が第1閾値以上、かつカウンタ2が第2閾値以上であるか否かを確認する(
図6のS300-1)。第1閾値及び第2閾値は、例えば、2であるとする。
【0105】
画像処理装置100は、カウンタ1が2であり第1閾値の2以上、かつカウンタ2が2であり第2閾値の2以上であるため(
図6のS300-1のYes)、キーポイントが検出できたか否かを確認する(
図6のS300-2)。
【0106】
画像処理装置100は、キーポイントKp11を検出できているため(
図6のS300-2のYes)、対象物品である人物は、非対象物品であるフォークリフトの中に隠れている(乗り込んでいる)とみなし、対象物品は撮影範囲内に存在すると判定し(
図6のS300-3)、処理を終了する。
【0107】
これにより、第3の実施の形態において、画像処理装置100は、画像データから対象物品(人物)を検出できない場合でも、対象物品が他の物品(フォークリフト)に隠れており、撮影範囲内に存在すると判定することができる。
【0108】
以上、まとめると、付記のようになる。
【0109】
(付記1)
時間的に連続したタイミングで撮影された画像データを取得する取得部と、
第1物品と第2物品を前記画像データから検出する検出部と、
第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する判定部と、
を有する物品監視装置。
【0110】
(付記2)
前記判定部は、前記第1画像データ内の前記第1物品の映っている大きさが、前記第2画像データ内の前記第1物品の映っている大きさ以上であるとき、前記第2カウンタをカウントダウンする
付記1記載の物品監視装置。
【0111】
(付記3)
前記判定部は、第1画像データ内の前記第1物品と前記第2物品が重なっていないとき、前記第1カウンタをカウントダウンする
付記2記載の物品監視装置。
【0112】
(付記4)
前記判定部は、第1画像データ内の前記第1物品と前記第2物品が重なっていないとき、前記第1カウンタをクリアする
付記2記載の物品監視装置。
【0113】
(付記5)
前記判定部は、第1画像データ内の前記第1物品と前記第2物品が重なっていないとき、前記第2カウンタをクリアする
付記4記載の物品監視装置。
【0114】
(付記6)
前記第2物品は、前記第1物品の一部又は全部を隠すことで、前記第1物品の一部又は全部を前記画像データに映らなくする
付記1記載の物品監視装置。
【0115】
(付記7)
前記第2物品は人物の手であり、
前記検出部は、検出した前記第1物品にバウンディングボックスを設定し、
前記判定部は、前記手の指先が前記バウンディングボックス内に位置する場合、前記第1物品と前記第2物品が重なっていると判定する
付記1記載の物品監視装置。
【0116】
(付記8)
前記判定部は、前記第1画像データの前記バウンディングボックスの面積が、前記第2画像データの前記バウンディングボックスの面積より小さいとき、前記第1画像データ内の前記第1物品の映っている大きさが、前記第2画像データ内の前記第1物品の映っている大きさより小さいと判定する
付記7記載の物品監視装置。
【0117】
(付記9)
前記判定部は、前記第1物品が前記画像データ内に検出できないとき、さらに、前記第2物品も前記画像データ内に検出できない場合、前記第1物品が前記画像データの撮影された範囲内に存在しないと判定する
付記1記載の物品監視装置。
【0118】
(付記10)
前記判定部は、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが前記第1閾値より小さい、又は前記第2カウンタが前記第2閾値より小さい場合、前記第1物品が前記画像データの撮影された範囲内に存在しないと判定する
付記1記載の物品監視装置。
【0119】
(付記11)
時間的に連続したタイミングで撮影された画像データを取得し、
第1物品と第2物品を前記画像データから検出し、
第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する
物品監視方法。
【0120】
(付記12)
時間的に連続したタイミングで撮影された画像データを取得する取得工程と、
第1物品と第2物品を前記画像データから検出する検出工程と、
第1画像データ内の前記第1物品と前記第2物品が重なっているとき、第1カウンタをカウントアップし、前記第1画像データ内の前記第1物品の映っている大きさが、前記第1画像データより前に撮影された第2画像データ内の前記第1物品の映っている大きさより小さいとき、第2カウンタをカウントアップし、前記第1物品が前記画像データ内に検出できないとき、前記第1カウンタが第1閾値以上、かつ前記第2カウンタが第2閾値以上である場合、前記第1物品が前記画像データの撮影された範囲内に存在すると判定する判定工程とを、
物品監視装置が有するコンピュータに実行させる物品監視プログラム。
【符号の説明】
【0121】
10 :物品監視システム
100 :画像処理装置
110 :CPU
120 :ストレージ
121 :物品監視プログラム
122 :画像処理プログラム
1211 :フレーム毎物品判定モジュール
1212 :物品存在判定モジュール
130 :メモリ
140 :通信回路
150 :アクセラレータ
200 :カメラ
300 :対象物品
400 :非対象物品