以下に図面を参照して、本発明にかかるデータ収集方法、データ収集プログラムおよび情報処理装置の実施の形態を詳細に説明する。
(実施の形態1)
まず、実施の形態1にかかるデータ収集システム100のシステム構成について説明する。ここでは、データ収集システム100を、エッジコンピューティングによる分散処理システムに適用した場合を例に挙げて説明する。
図1は、実施の形態1にかかるデータ収集システム100のシステム構成例を示す説明図である。図1において、データ収集システム100は、情報処理装置101と、管理者端末102と、エッジ装置E1〜En(n:1以上の自然数)と、を含む。データ収集システム100において、情報処理装置101、管理者端末102およびエッジ装置E1〜Enは、有線または無線のネットワーク110を介して相互に通信可能に接続される。ネットワーク110は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ここで、情報処理装置101は、シンク位置管理DB(Database)120および移動特性テーブル130を有し、画像認識モデルの学習に用いるデータを収集するコンピュータである。例えば、情報処理装置101は、クラウドコンピューティングのサーバである。
画像認識は、画像処理の技術を用いて画像を認識することである。画像認識の一方式としては、画像内の対象物が何であるかを判定するクラス分類方式がある。画像認識モデルは、画像に写る対象物を認識するための情報である。画像認識モデルは、モデル学習器(例えば、後述の図2に示すモデル学習器ML)において様々な画像データをもとに学習することで作成される。
情報処理装置101により収集される画像認識モデルの学習に用いるデータは、例えば、学習に用いる画像データそのものであってもよく、また、学習に用いる画像データの格納場所などを示す情報であってもよい。なお、シンク位置管理DB120および移動特性テーブル130の記憶内容については、図5および図6を用いて後述する。
管理者端末102は、データ収集システム100の管理者が使用するコンピュータである。例えば、管理者端末102は、PC(パーソナル・コンピュータ)やタブレット端末などである。
エッジ装置E1〜Enは、それぞれ異なる地点に設置され、各種処理を行うコンピュータである。エッジ装置E1〜Enは、エッジコンピューティングにおけるエッジサーバであり、情報処理装置101(クラウド)に比べて、ユーザに近い位置に配置される。例えば、エッジ装置Eiは、サーバ、PC、アクセスポイント、スマートフォンなどである。
以下の説明では、エッジ装置E1〜Enのうちの任意のエッジ装置を「エッジ装置Ei」と表記する場合がある(i=1,2,…,n)。
エッジ装置Eiは、カメラCiにより撮影された画像の画像データを受け付ける。カメラCiは、静止画または動画を撮影する撮影装置である。カメラCiは、例えば、店舗、住宅、駅、工場、道路、歩道など様々な場所に設置される。エッジ装置EiとカメラCiは、近距離無線通信または有線通信により直接接続されていてもよく、また、不図示のゲートウェイ装置を介して接続されていてもよい。エッジ装置Eiには、2台以上のカメラCiが接続されていてもよい。
具体的には、例えば、エッジ装置Eiは、カメラCiの画像データを受け付けると、画像認識アプリケーションにより当該画像データに対する画像認識処理を実行する。画像認識アプリケーション(以下、「画像アプリ」と称する)は、画像内の認識対象を判別するアプリケーションである。
(データ収集システム100の動作例)
つぎに、データ収集システム100の動作例について説明する。ここでは、広域分散データ管理方式を利用する場合を想定する。広域分散データ管理方式は、生データ(画像データ)を発生源付近のエッジ装置Eiで管理した上で、データの検索に必要なメタ情報(属性/位置情報)をクラウドで管理する方式である。
図2は、データ収集システム100の動作例を示す説明図である。図2において、クラウドCLは、クラウドコンピューティングを実現するサーバ群である。クラウドCLは、情報処理装置101と、モデル学習器MLと、ディレクトリDRと、を含む。モデル学習器MLは、画像認識モデルの学習を行うソフトウェアである。
ディレクトリDRは、画像属性管理DB220を有し、画像データのメタ情報(属性/位置情報)を管理する機能部である。画像属性管理DB220の記憶内容については、図8を用いて後述する。モデル学習器MLおよびディレクトリDRは、情報処理装置101により実現されてもよく、また、情報処理装置101に接続された他のコンピュータにより実現されてもよい。
エッジ装置Eiは、シンクSiと、画像認識アプリAiとを含む。シンクSiは、画像DB210を有し、カメラCiにより撮影された画像の画像データを管理する機能部である。画像DB210の記憶内容については、図7を用いて後述する。画像認識アプリAiは、画像認識モデルを用いて、画像内の認識対象を判別する。なお、エッジ装置Eiには、複数のシンクSiが含まれていてもよい。
データ収集システム100では、認識に失敗した画像について画像認識モデルの再学習を行うために、認識に失敗した認識対象物が写っている画像の情報を収集する。例えば、生データ(画像データ)には「猫」が写っているものの、画像認識アプリAiで「犬」と判定してしまった場合、「猫」が写っている画像データを収集し、それらを入力として画像認識モデルの再学習を行う。
一方で、実際に画像にどのようなものが写っているかは目視により確認することになる。ところが、認識に失敗した認識対象物が写っている画像の情報を収集するにあたり、データ収集システム100の管理者が、各シンクSiに保存されている全ての画像を一つ一つ目視により確認するとなると、多くの時間や手間がかかる。
したがって、何かを基準にして画像を間引くことで、管理者が目視により確認する画像の数を減らすことが望まれる。例えば、認識結果の確度を用いて画像を間引くことが考えられる。確度は、認識結果の確からしさを示す度合いである。より具体的には、例えば、認識に失敗した認識対象物が写っていると認識された画像のうち、確度が一定値以上の画像のみを抽出することが考えられる。
しかしながら、画像の認識結果は、誤認識が発生した画像認識モデルでの結果である。このため、確度を用いて間引いた後の画像に、学習したい認識対象物(認識に失敗した認識対象物)が写っていない画像が多く含まれるおそれがある。学習したい認識対象物が写っていない画像が含まれる割合は、現在の画像認識モデルでの誤認識率が高いほど多くなる。
例えば、「猫」の認識率が60%の場合に、認識結果が「猫」である画像を全て取得したとすると、その中の約4割は、猫が写っていない画像となる。また、画像認識モデルの誤認識率が高いと、実際は、確度が低い画像の中にも、学習したい認識対象物が写っている画像が多く存在する可能性もある。
これでは、認識に失敗した認識対象物の画像を十分に収集できず、ひいては、画像認識モデルの再学習を行うことができないという問題を引き起こすおそれがある。そこで、本実施の形態では、画像認識モデルの学習に適したデータを効率よく収集するデータ収集方法について説明する。
以下、画像認識処理で認識に失敗した認識対象物が写っている画像の情報を収集する場合のデータ収集システム100の動作例について説明する。
(2−1)カメラCiは、画像を撮影し、撮影した画像の画像データをシンクSiに出力する。カメラCiの撮影タイミングは、任意に設定可能である。例えば、カメラCiは、数秒程度の一定時間ごとに、画像を撮影することにしてもよい。
(2−2)シンクSiは、カメラCiから画像データを受け付けると、当該画像データを画像DB210に登録するとともに、ディレクトリDRの画像属性管理DB220に画像のメタ情報を登録する。メタ情報は、画像の属性情報と、画像の管理元であるシンクSiの位置情報とを含む。
属性情報は、画像ID、登録日時、認識結果および確度を含む。ただし、この時点では、属性情報には、認識結果および確度は含まれていない。位置情報は、シンクIDおよびアドレスを含む。メタ情報(属性情報、位置情報)についての詳細な説明は、図8を用いて後述する。
(2−3)画像認識アプリAiは、シンクSiから処理対象の画像データを取得する。処理対象の画像データは、例えば、登録日時をキーとして検索されてもよい。ただし、上記(2−2)において、シンクSiが画像データを受け付けると、その都度、画像認識アプリAiが当該画像データを取得することにしてもよい。
(2−4)画像認識アプリAiは、画像認識モデルを用いて、取得した画像データに対して画像認識処理を実行する。画像認識処理の結果には、認識結果と確度とが含まれる。認識結果は、画像に含まれると認識した認識対象物を示す。確度は、認識結果の確からしさを示す度合いである。ここでは、確度は、0〜1の値によって表され、1が最も高く、0が最も低い。
(2−5)画像認識アプリAiは、画像の属性情報として認識結果および確度をディレクトリDRに登録する。
(2−6)管理者端末102は、ディレクトリDRにアクセスして、カメラCiにより撮影された画像をランダムに抽出する。なお、画像をランダムに抽出(無作為抽出)する方法としては、既存のいかなる方法を用いることにしてもよい。具体的には、例えば、管理者端末102は、後述の図8に示す画像属性管理DB220内の画像属性管理情報をランダムに抽出することにしてもよい。
(2−7)管理者端末102は、ランダムに抽出した画像の画像データをシンクSiから取得し、取得した画像データを認識結果とともに表示する。この結果、管理者の目視により、画像認識アプリAiの認識結果が正しいか否かの判定が行われる。
(2−8)管理者端末102は、データ収集システム100の管理者の操作入力により、画像認識アプリAiの認識結果が正しいか否かの判定結果を受け付ける。また、管理者端末102は、画像認識アプリAiの認識結果が正しくないことを示す判定結果を受け付けた場合、さらに、画像に写る正しい認識対象物の指定を受け付ける。
(2−9)管理者端末102は、画像認識アプリAiの認識結果が正しくないことを示す判定結果を受け付けた場合、情報処理装置101に学習用画像検索指示を送信する。学習用画像検索指示には、例えば、正判定画像の画像ID、登録日時、認識対象種別が含まれる。正判定画像は、データ収集システム100の管理者により、画像認識アプリAiの認識結果が正しくないと判定され、かつ、正しい認識対象物が指定された画像である。
認識対象種別は、指定された正しい認識対象物の種別を示す。また、学習用画像検索指示には、正判定画像の管理元であるシンクSiの位置情報(シンクID、アドレス)が含まれていてもよい。なお、正判定画像の管理元であるシンクSiの位置情報は、例えば、ランダムに抽出された画像属性管理情報から特定することができる。
(2−10)情報処理装置101は、管理者端末102から学習用画像検索指示を受け付けると、画像認識モデルの学習に用いる画像を検索する検索条件を調整する。検索条件は、例えば、指定された認識対象物を含む画像を検索する際の確度の閾値である。
具体的には、例えば、情報処理装置101は、受け付けた学習用画像検索指示に基づいて、指定された認識対象物を含む画像を特定する。そして、情報処理装置101は、特定した画像が撮影された地点および時刻と、認識対象物の移動速度情報とに基づいて、指定された認識対象物を含む画像を検索する際の検索条件を調整する。
認識対象物の移動速度情報は、認識対象物が移動する速度を特定する情報であり、例えば、認識対象物の移動速度そのものを示す。また、認識対象物の移動速度情報は、例えば、「レベル1:速い、レベル2:普通、レベル3:遅い」のように、認識対象物が移動する速度のレベルを示すものであってもよい。
ここで、図3を用いて、検索条件の調整例について説明する。
図3は、検索条件の調整例を示す説明図である。ここでは、画像認識モデルの学習に用いる画像を検索する検索条件として、認識結果が指定された認識対象物と同一であり、かつ、認識結果の確度が閾値Aよりも大きい画像を検索するという条件を想定する。指定された認識対象物は、画像認識処理で認識に失敗した認識対象物である。
ここで、画像の認識結果が正しいということは、その画像が撮影された時刻および地点に認識対象物が存在するということである。また、認識対象物は、例えば、ヒト(人)、車や電車などの乗り物、猫や鳥などの生物、または、それらによって運ばれるモノである。したがって、認識対象物の移動速度から、認識対象物の移動可能範囲を限定することができる。
換言すれば、ある地点である時刻に撮影された認識対象物が、当該時刻から所定時間内に、他の地点で存在する確率を推定することができる。この際、認識対象物の速度が速いほど、ある地点から離れた場所でも存在する確率は高くなるといえる。例えば、ある地点のある時刻の画像に「猫」が写っていれば、その時刻の前後10秒間に、その地点から100m圏内に「猫」が存在する可能性は高いと推定できる。
認識対象物が存在する確率が高い地点ほど、その地点についての検索条件となる確度の閾値Aを下げても、認識対象物が写った画像を検索することができる可能性が高いといえる。また、認識対象物が存在する確率は、認識対象物が撮影された地点からの物理的な距離が長くなるほど低くなる傾向がある。
そこで、情報処理装置101は、地点間の距離および認識対象物の移動速度情報に基づいて、各地点で撮影された認識対象物を含む画像の存在確率を算出する。存在確率は、例えば、認識対象物が移動する速度に依存する正規分布関数を用いて求めることができる。そして、情報処理装置101は、各地点について算出した存在確率に基づいて、各地点の確度の閾値Aが小さくなるように調整する。
より詳細に説明すると、例えば、情報処理装置101は、算出した存在確率が高いほど、予め設定された閾値θよりも低くなるように、各地点の閾値Aを調整する。閾値θは、確度が閾値θ以下の画像を間引くための下限閾値であり、例えば、データ収集システム100の管理者により設定される。
これにより、指定された認識対象物を含む画像が撮影された特定の地点からの物理的な距離が短い地点ほど、管理者が設定した閾値θよりも低くなるように、各地点の閾値Aを調整することができる。図3の例では、シンクS1に対応するカメラC1で、指定された認識対象物「ヒト」を含む画像が撮影された場合を想定する。
この場合、シンクS1からの物理的な距離が長くなるほど、認識対象物「ヒト」を含む画像の存在確率は低くなる。したがって、グラフ300に示すように、シンクS1からの物理的な距離が短いシンクほど、管理者が設定した閾値θよりも低くなるように、各シンクS1〜S5に対応する閾値Aが調整される。
図2の説明に戻り、(2−11)情報処理装置101は、ディレクトリDRの画像属性管理DB220を参照して、調整した検索条件を用いて、認識結果が指定された認識対象物と同一の画像を検索する。画像属性管理DB220は、地点に対応付けて、地点で撮影された画像の認識結果、確度および時刻を記憶する記憶部の一例である。地点は、例えば、シンクSiに対応する。
(2−12)情報処理装置101は、検索した検索結果を示す情報を出力する。具体的には、例えば、情報処理装置101は、指定された認識対象物と対応付けて、検索した画像の画像IDと、検索した画像の画像データを格納するシンクSiの位置情報とを、管理者端末102に出力することにしてもよい。
(2−13)管理者端末102は、検索された検索結果を示す情報を受け付けると、検索された画像の画像データをシンクSiから取得する。
(2−14)管理者端末102は、取得した画像データを表示し、画像認識モデルの学習に用いる画像の選択を受け付ける。ここで選択される画像は、管理者により指定された認識対象物の特徴を学習させるための画像であり、指定された認識対象物が実際に写った画像である。
(2−15)管理者端末102は、選択された画像の画像データをモデル学習器MLに入力することにより、指定された認識対象物についての画像認識モデルの再学習を指示する。
(2−16)モデル学習器MLは、入力された画像データをもとに、指定された認識対象物についての画像認識モデルの再学習を行う。
(2−17)モデル学習器MLは、再学習した画像認識モデルを各シンクSiの画像認識アプリAiに送信する。この結果、各シンクSiの画像認識アプリAiにおいて画像認識モデルが更新される。
このようにして、データ収集システム100によれば、ある地点で存在が確認された認識対象物が移動する速度を考慮して、各地点で撮影された画像の中から認識対象物を含む画像を検索することができる。これにより、画像認識処理で認識に失敗した対象物を含む画像を効率よく収集して、画像認識モデルの再学習を効率的に行うことができる。
(情報処理装置101のハードウェア構成例)
図4は、情報処理装置101のハードウェア構成例を示すブロック図である。図4において、情報処理装置101は、CPU(Central Processing Unit)401と、メモリ402と、I/F(Interface)403と、ディスクドライブ404と、ディスク405と、を有する。また、各構成部は、バス400によってそれぞれ接続される。
ここで、CPU401は、情報処理装置101の全体の制御を司る。CPU401は、複数のコアを有していてもよい。メモリ402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
I/F403は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して外部のコンピュータ(例えば、図1に示した管理者端末102、エッジ装置E1〜En)に接続される。そして、I/F403は、ネットワーク110と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。I/F403には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ404は、CPU401の制御に従ってディスク405に対するデータのリード/ライトを制御する。ディスク405は、ディスクドライブ404の制御で書き込まれたデータを記憶する。ディスク405としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、管理者端末102およびエッジ装置E1〜Enについても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、管理者端末102は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
(シンク位置管理DB120の記憶内容)
つぎに、情報処理装置101が有するシンク位置管理DB120の記憶内容について説明する。シンク位置管理DB120は、例えば、図4に示したメモリ402、ディスク405などの記憶装置により実現される。
図5は、シンク位置管理DB120の記憶内容の一例を示す説明図である。図5において、シンク位置管理DB120は、シンクIDおよび物理的位置のフィールドを有し、各フィールドに情報を設定することで、シンク位置情報(例えば、シンク位置情報500−1)をレコードとして記憶する。
ここで、シンクIDは、シンクSiを一意に識別する識別子である。物理的位置は、シンクSiの位置、すなわち、エッジ装置Eiが設置された地点の緯度、経度を示す。シンクSiの位置は、例えば、GPS(Global Positioning System)により取得することができる。
例えば、シンク位置情報500−1は、シンクS1の物理的位置(+35°35′3″、+139°38′24″)を示す。
(移動特性テーブル130の記憶内容)
つぎに、情報処理装置101が有する移動特性テーブル130の記憶内容について説明する。移動特性テーブル130は、例えば、図4に示したメモリ402、ディスク405などの記憶装置により実現される。
図6は、移動特性テーブル130の記憶内容の一例を示す説明図である。図6において、移動特性テーブル130は、認識対象種別および移動速度のフィールドを有し、各フィールドに情報を設定することで、移動特性情報(例えば、移動特性情報600−1,600−2)をレコードとして記憶する。
ここで、認識対象種別は、認識対象物の種別である。移動速度は、認識対象種別で区別される認識対象物が移動する速度である(単位:km/h)。移動速度としては、例えば、認識対象物の典型的な速度が設定される。例えば、移動特性情報600−1は、認識対象種別「ヒト」の移動速度「6[km/h]」を示す。
なお、画像認識処理において、ヒト(男)やヒト(女)、ヒト(子供)やヒト(大人)などを区別して認識する場合がある。この場合、例えば、認識対象種別「ヒト」について、性別(男、女)や年齢区分(子供、大人)などによって異なる移動速度を設定することにしてもよい。
(画像DB210の記憶内容)
つぎに、図2に示したシンクSiが有する画像DB210の記憶内容について説明する。画像DB210は、例えば、エッジ装置Eiのメモリ、ディスクなどの記憶装置により実現される。
図7は、画像DB210の記憶内容の一例を示す説明図である。図7において、画像DB210は、画像ID、登録日時および画像データのフィールドを有し、各フィールドに情報を設定することで、画像管理情報(例えば、画像管理情報700−1)をレコードとして記憶する。
ここで、画像IDは、カメラCiによって撮影された画像を一意に識別する識別子である。登録日時は、画像DB210に画像データが登録された日時を示す。登録日時は、カメラCiによって画像が撮影された日時に相当する。画像データは、カメラCiによって撮影された画像の画像データである。
例えば、画像管理情報700−1は、画像ID「Image−11」の画像の登録日時「2017/9/26 14:58:00」および画像データ「01010111・・・」を示す。
(画像属性管理DB220の記憶内容)
つぎに、図2に示したディレクトリDRが有する画像属性管理DB220の記憶内容について説明する。画像属性管理DB220は、例えば、クラウドCLに含まれるコンピュータ(例えば、情報処理装置101)のメモリ、ディスクなどの記憶装置により実現される。
図8は、画像属性管理DB220の記憶内容の一例を示す説明図である。図8において、画像属性管理DB220は、属性情報、シンク位置およびタイムスタンプのフィールドを有する。属性情報フィールドは、画像ID、登録日時、認識結果および確度のサブフィールドを有する。シンク位置フィールドは、シンクIDおよびアドレスのサブフィールドを有する。各フィールドに情報を設定することで、画像属性管理情報(例えば、画像属性管理情報800−1)がレコードとして記憶される。
ここで、属性情報は、カメラCiによって撮影された画像の属性情報である。具体的には、画像IDは、カメラCiによって撮影された画像を一意に識別する識別子である。登録日時は、カメラCiによって画像が撮影された日時を示す。認識結果は、画像認識アプリAiの画像認識処理により認識された画像の認識結果を示す。確度は、認識結果の確からしさを示す度合いである。確度は、0〜1の値によって表され、1が最も高い。
また、シンク位置は、カメラCiによって撮影された画像の管理元であるシンクSiの位置情報である。具体的には、シンクIDは、シンクSiを一意に識別する識別子である。アドレスは、シンクSiのアドレスを示す。アドレスとしては、例えば、シンクSiのIP(Internet Protocol)アドレスが設定される。また、タイムスタンプは、画像属性管理DB220に画像属性管理情報(認識結果および確度を含む)が登録された日時である。
例えば、画像属性管理情報800−1は、画像ID「Image−11」の画像の登録日時「2017/9/26 14:58:00」、認識結果「ヒト」および確度「0.7」を示す。また、画像属性管理情報800−1は、画像ID「Image−11」の画像管理元であるシンクS1のアドレス「xx.xx.xx.xx」およびタイムスタンプ「2017/9/26 15:12:00」を示す。
(情報処理装置101の機能的構成例)
図9は、情報処理装置101の機能的構成例を示すブロック図である。図9において、情報処理装置101は、受付部901と、特定部902と、調整部903と、検索部904と、出力部905と、を含む。受付部901〜出力部905は制御部となる機能であり、具体的には、例えば、図4に示したメモリ402、ディスク405などの記憶装置に記憶されたプログラムをCPU401に実行させることにより、または、I/F403により、その機能を実現する。各機能部の処理結果は、例えば、メモリ402、ディスク405などの記憶装置に記憶される。
受付部901は、認識対象物の指定を受け付ける。指定される認識対象物は、例えば、画像認識アプリAiによる画像認識モデルを用いた画像認識処理で認識に失敗した対象物である。認識対象物の指定は、例えば、管理者端末102において、データ収集システム100の管理者の操作入力により行われる。
具体的には、例えば、受付部901は、管理者端末102から学習用画像検索指示を受信することにより、学習用画像検索指示から特定される認識対象物の指定を受け付ける。学習用画像検索指示には、例えば、正判定画像の画像ID、登録日時、指定された認識対象物を示す情報が含まれる。
正判定画像は、データ収集システム100の管理者により、画像認識アプリAiの認識結果が正しくないと判定され、かつ、正しい認識対象物が指定された画像である。また、学習用画像検索指示には、例えば、正判定画像が撮影された地点に対応するシンクの位置情報(シンクID、アドレス)が含まれていてもよい。
特定部902は、指定された認識対象物を含む画像を特定する。また、特定部902は、特定した画像が撮影された地点および時刻を特定する。具体的には、例えば、特定部902は、受信された学習用画像検索指示に含まれる画像IDから特定される正判定画像を、指定された認識対象物を含む画像として特定する。
また、例えば、特定部902は、受信された学習用画像検索指示に含まれる登録日時を、特定した正判定画像が撮影された時刻として特定する。また、例えば、特定部902は、受信された学習用画像検索指示に含まれる位置情報(シンクID、アドレス)から特定されるシンクを、特定した正判定画像が撮影された地点として特定する。
なお、特定部902は、受信された学習用画像検索指示に含まれる画像IDをキーとして、ディレクトリDRの画像属性管理DB220を参照することで、正判定画像が撮影された地点(シンクSi)および時刻(登録日時)を特定することにしてもよい。
以下の説明では、指定された認識対象物を「認識対象物RO」と表記する場合がある。また、認識対象物ROを含む画像(正判定画像)が撮影された地点に対応するシンクを、「正判定画像の管理元シンクSx」、または、単に「管理元シンクSx」と表記する場合がある(x=1,2,…,n)。
調整部903は、特定された画像が撮影された地点と、認識対象物ROの移動速度情報とに基づいて、複数の地点のいずれかの地点で撮影された認識対象物ROを含む画像を検索する際の検索条件を調整する。ここで、複数の地点は、例えば、図1に示したカメラC1〜Cnが設置された場所である。すなわち、複数の地点のいずれかの地点は、シンクSiに対応する。また、検索条件は、例えば、確度の閾値Aである。
具体的には、例えば、まず、調整部903は、正判定画像の管理元シンクSxとシンクSiとの距離、および、認識対象物ROの移動速度情報に基づいて、存在確率Piを算出する。ここで、存在確率Piは、シンクSiのカメラCiで撮影された認識対象物ROを含む画像が存在する確率である。すなわち、存在確率Piは、認識対象物ROを含む画像がシンクSiに登録されている確率を示す。
より詳細に説明すると、例えば、調整部903は、図5に示したシンク位置管理DB120を参照して、管理元シンクSxの物理的位置とシンクSiの物理的位置とを特定する。つぎに、調整部903は、特定した管理元シンクSxの物理的位置とシンクSiの物理的位置とから、管理元シンクSxとシンクSiとの距離を算出する。また、調整部903は、図6に示した移動特性テーブル130を参照して、認識対象物ROに対応する移動速度を特定する。そして、調整部903は、下記式(1)を用いて、存在確率Piを算出する。
ただし、dは、管理元シンクSxとシンクSiとの距離である。σは、「v×t」である。vは、認識対象物ROの移動速度(単位:km/h)である。tは、正判定画像が撮影された時刻との時間差を示す定数である。例えば、tは、正判定画像が撮影された時刻の前後どれくらいの時間内に撮影された画像を検索するのかによって任意に設定可能である。tの値は、予め設定されていてもよく、また、学習用画像検索指示に含まれていてもよい。
つぎに、調整部903は、算出した存在確率Piに基づいて、確度の閾値Aiを算出する。ここで、確度の閾値Aiは、シンクSiで撮影された認識対象物ROを含む画像を検索する際の確度の閾値Aである。より詳細に説明すると、例えば、調整部903は、下記式(2)を用いて、確度の閾値Aiを算出する。ただし、θは、確度が閾値θ以下の画像を間引くために予め設定された下限閾値であり、閾値Aiの初期値に相当する。θの値は、予め設定されていてもよく、また、学習用画像検索指示に含まれていてもよい。
Ai=A(d,v,t)=θ×(1−Pi)・・・(2)
なお、確度の閾値Aiの算出例については、図12を用いて後述する。また、算出された確度の閾値Aiは、例えば、図10に示すような検索条件テーブル1000に記憶される。検索条件テーブル1000は、例えば、メモリ402、ディスク405などの記憶装置により実現される。ここで、検索条件テーブル1000の記憶内容について説明する。
図10は、検索条件テーブル1000の記憶内容の一例を示す説明図である。図10において、検索条件テーブル1000は、シンクID、認証対象種別、確度閾値および登録日時のフィールドを有し、各フィールドに情報を設定することで、検索条件情報(例えば、検索条件情報1000−1)をレコードとして記憶する。
ここで、シンクIDは、シンクSiを一意に識別する識別子である。認証対象種別は、認証対象物ROの種別である。確度閾値は、シンクSiで撮影された認識対象物ROを含む画像を検索する際の確度の閾値Aである。登録日時は、正判定画像がシンクSi(画像DB210)に登録された日時である。登録日時は、正判定画像が撮影された日時に相当する。
例えば、検索条件情報1000−1は、シンクS4で撮影された認識対象物「ヒト」を含む画像を検索する際の確度の閾値A4「0.54」および登録日時「2017/9/26 15:12:00」を示す。
図9の説明に戻り、検索部904は、複数の地点のいずれかの地点についての調整後の検索条件(確度の閾値A)と、特定された画像(正判定画像)が撮影された時刻とに基づいて、記憶部910を参照して、当該地点で撮影された、認識結果が認識対象物ROと同一の画像を検索する。
ここで、記憶部910は、複数の地点それぞれに対応付けて、各地点で撮影された画像の認識結果、確度および時刻を記憶する。記憶部910は、例えば、ディレクトリDRが有する画像属性管理DB220である。記憶部910は、情報処理装置101が有していてもよく、また、情報処理装置101がアクセス可能な他のコンピュータが有していてもよい。
具体的には、例えば、検索部904は、特定された正判定画像が撮影された時刻に基づいて、画像属性管理DB220を参照して、シンクSiに登録された画像のうち、認識結果が認識対象物ROと同一であり、かつ、調整後の閾値Aiよりも確度が大きい画像を検索する。
より詳細に説明すると、例えば、検索部904は、検索条件テーブル1000を参照して、シンクS1に対応する確度閾値「A1=0.54」、認識対象種別「ヒト」および登録日時「2017/9/26 15:12:00」を特定する。
つぎに、検索部904は、特定した登録日時に応じた検索対象期間を設定する。検索対象期間としては、例えば、登録日時の前後t時間の期間が設定される。tは、上記式(1)に含まれる定数である。例えば、tを「1時間」とする。検索対象期間は、「2017/9/26 14:12:00〜16:12:00」となる。ただし、検索部904は、定数tとは異なる時間を用いて検索対象期間を設定することにしてもよい。
そして、検索部904は、画像属性管理DB220を参照して、シンクS1に登録された画像のうち、設定した検索対象期間内に撮影され、かつ、認識結果が認識対象物ROと同一であり、かつ、調整後の閾値A1「0.54」よりも確度が大きい画像を検索する。すなわち、検索部904は、画像属性管理DB220を参照して、登録日時が検索対象期間「2017/9/26 14:12:00〜16:12:00」に含まれ、かつ、認識結果が「ヒト」であり、かつ、確度が「0.54」よりも大きい画像を検索する。
検索された検索結果は、例えば、図11に示すような学習用画像位置リスト1100に記憶される。学習用画像位置リスト1100は、例えば、メモリ402、ディスク405などの記憶装置により実現される。ここで、学習用画像位置リスト1100の具体例について説明する。
図11は、学習用画像位置リスト1100の具体例を示す説明図である。図11において、学習用画像位置リスト1100は、認識対象種別と管理元シンクIDと画像IDとを対応付けてあらわす。認識対象種別は、認識対象物ROの種別を示す。管理元シンクIDは、検索部904によって検索された画像が登録されたシンクSiのシンクIDを示す。画像IDは、検索部904によって検索された画像の画像IDを示す。
図11の例では、学習用画像位置リスト1100には、各シンクSiについて、認証対象物「ヒト」を含むものとして検索された画像の画像IDが示されている。
図9の説明に戻り、出力部905は、検索された結果を示す情報を出力する。出力部905の出力形式としては、例えば、メモリ402、ディスク405などの記憶装置への記憶、I/F403による他のコンピュータへの送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
具体的には、例えば、出力部905は、認識対象物ROと対応付けて、検索された画像の画像データが登録されたエッジ装置EiあるいはシンクSiを特定する情報を出力する。より詳細に説明すると、例えば、出力部905は、図11に示したような学習用画像位置リスト1100を管理者端末102に送信することにしてもよい。
これにより、データ収集システム100の管理者は、学習用画像位置リスト1100を参照して、画像認識モデルの学習に用いる画像データを収集することができる。
なお、上述した説明では、存在確率Aiを認識対象物の移動速度から求めることにしたが、これに限らない。例えば、情報処理装置101は、各シンクSi周辺の地理的要因を考慮して、各シンクSiの存在確率Aiを求めることにしてもよい。
一例として、正判定画像の管理元シンクであるシンクS1とシンクS2との間に立ち入り禁止エリアが存在する場合を想定する。この場合、情報処理装置101は、例えば、シンクS2の存在確率A1を、上記式(1)を用いて得られる確率よりも低い値(例えば、0)としてもよい。また、立ち入り禁止エリアが、車のみ立ち入り禁止のエリアの場合がある。この場合、情報処理装置101は、認識対象種別「車」の認識対象物ROについて、例えば、シンクS2の存在確率A1を、上記式(1)を用いて得られる確率よりも低い値(例えば、0)としてもよい。
また、上述した説明では、画像認識モデルの学習に用いるデータを収集する場合について説明したが、これに限らない。例えば、データ収集システム100は、音声認識モデルの学習に用いるデータを収集することにしてもよい。音声認識処理の対象となるデータは、例えば、各地に設置されるマイクロフォンに受音された音声の音声データとなる。
(確度の閾値Aiの算出例)
つぎに、図12を用いて、確度の閾値Aiの算出例について説明する。
図12は、シンク間の物理的な位置関係を示す説明図である。図12において、シンクS1〜S4のシンク間の物理的な位置関係が示されている。ここで、シンクS1は、正判定画像1201の管理元シンクである。正判定画像1201は、認識対象物「ヒト」が写った画像である。
ここでは、シンクS1,S2間の距離を3[km]とし、シンクS2,S3間の距離を3[km]とし、シンクS3,S4間の距離を3[km]する。また、下限閾値θを「0.8」とする。上記式(1)に含まれる定数tを「1[h]」とする。認識対象物「ヒト」の移動速度は、6[km/h]である。
以下、シンクS4の確度の閾値A4を算出する場合を例に挙げて説明する。シンクS1,S4間の距離は、9[km]である。この場合、上記式(1)に含まれるdは、「d=9[km]」となる。また、σ(v,t)は、「σ(v,t)=6[km/h]×1[h]=6[km]」となる。
このため、シンクS4の存在確率P4は、上記式(1)から、「P4=0.32」となる。そして、シンクS4の確度の閾値A4は、上記式(2)から、「A4=θ(1−P4)=0.8(1−0.32)≒0.54」となる。閾値A4「0.54」は、正判定画像1201が撮影された時刻の前後1時間以内に、シンクS4に対応するカメラC4により撮影された認識対象物「ヒト」を含む画像1202が存在する確率が54%であることを示す。
(データ収集システム100の各種処理手順)
つぎに、データ収集システム100の各種処理手順について説明する。まず、エッジ装置Eiの画像認識結果登録処理手順について説明する。
(エッジ装置Eiの画像認識結果登録処理手順)
図13は、エッジ装置Eiの画像認識結果登録処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、エッジ装置Eiは、シンクSiにより、カメラCiにより撮影された画像の画像データを受け付けたか否かを判断する(ステップS1301)。
ここで、エッジ装置Eiは、シンクSiにより、画像データを受け付けるのを待つ(ステップS1301:No)。そして、エッジ装置Eiは、シンクSiにより、画像データを受け付けた場合(ステップS1301:Yes)、受け付けた画像データの画像管理情報を画像DB210に登録する(ステップS1302)。
つぎに、エッジ装置Eiは、シンクSiにより、ディレクトリDRの画像属性管理DB220に画像のメタ情報(属性情報、位置情報)を登録する(ステップS1303)。そして、エッジ装置Eiは、画像認識アプリAiにより、シンクSiが受け付けた画像データに対する画像認識処理を実行する(ステップS1304)。
つぎに、エッジ装置Eiは、画像認識アプリAiにより、画像の属性情報として認識結果および確度をディレクトリDRの画像属性管理DB220に登録して(ステップS1305)、本フローチャートによる一連の処理を終了する。
これにより、カメラCiにより撮影された画像の画像データを受け付けるたびに、画像DB210に画像データを登録するとともに、画像のメタ情報(属性情報、位置情報)をディレクトリDRの画像属性管理DB220に登録することができる。
(情報処理装置101のデータ収集処理手順)
つぎに、図14を用いて、情報処理装置101のデータ収集処理手順について説明する。
図14は、情報処理装置101のデータ収集処理手順の一例を示すフローチャートである。図14のフローチャートにおいて、まず、情報処理装置101は、管理者端末102から学習用画像検索指示を受け付けたか否かを判断する(ステップS1401)。ここで、情報処理装置101は、学習用画像検索指示を受け付けるのを待つ(ステップS1401:No)。
そして、情報処理装置101は、学習用画像検索指示を受け付けた場合に(ステップS1401:Yes)、学習用画像検索指示から特定される認識対象物ROの指定を受け付ける(ステップS1402)。つぎに、情報処理装置101は、学習用画像検索指示に含まれる画像IDから、認識対象物ROを含む正判定画像を特定する(ステップS1403)。
そして、情報処理装置101は、特定した正判定画像が登録された管理元シンクSxおよび登録日時を特定する(ステップS1404)。つぎに、情報処理装置101は、シンク位置管理DB120を参照して、特定した管理元シンクSxの物理的位置を取得する(ステップS1405)。つぎに、情報処理装置101は、移動特性テーブル130を参照して、認識対象物ROの移動速度を特定する(ステップS1406)。
そして、情報処理装置101は、特定した管理元シンクSxの物理的位置と認識対象物ROの移動速度とに基づいて、各シンクSiに登録された認識対象物ROを含む画像を検索する検索条件(確度の閾値Ai)を調整する検索条件調整処理を実行する(ステップS1407)。なお、検索条件調整処理の具体的な処理手順については、図15を用いて後述する。
つぎに、情報処理装置101は、調整後の検索条件に基づいて、各シンクSiに登録された認識対象物ROを含む画像を検索する画像検索処理を実行する(ステップS1408)。なお、画像検索処理の具体的な処理手順については、図16を用いて後述する。
そして、情報処理装置101は、検索した検索結果に基づいて、管理者端末102に学習用画像位置リスト1100を送信して(ステップS1409)、本フローチャートによる一連の処理を終了する。これにより、画像認識モデルの学習に有用な画像の情報をデータ収集システム100の管理者に提供することができる。
つぎに、図15を用いて、図14に示したステップS1407の検索条件調整処理の具体的な処理手順について説明する。
図15は、検索条件調整処理の具体的処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、情報処理装置101は、シンク位置管理DB120から選択されていない未選択のシンクIDを選択する(ステップS1501)。
そして、情報処理装置101は、シンク位置管理DB120を参照して、選択したシンクIDのシンクSiの物理的位置を取得する(ステップS1502)。つぎに、情報処理装置101は、取得した管理元シンクSxの物理的位置とシンクSiの物理的位置とに基づいて、管理元シンクSxとシンクSiとの距離を算出する(ステップS1503)。
そして、情報処理装置101は、上記式(1)を用いて、算出した管理元シンクSxとシンクSiとの距離、および、特定した認識対象物ROの移動速度に基づいて、シンクSiの存在確率Piを算出する(ステップS1504)。なお、上記式(1)に含まれる定数tの値は、予め設定されていてもよく、また、学習用画像検索指示に含まれていてもよい。
つぎに、情報処理装置101は、算出した存在確率Piに基づいて、確度の閾値Aiの補正値を算出する(ステップS1505)。補正値は、例えば、上記式(2)に含まれる(1−Pi)である。そして、情報処理装置101は、上記式(2)を用いて、算出した補正値に基づいて、確度の閾値Aiを調整する(ステップS1506)。なお、上記式(2)に含まれる下限閾値θの値は、予め設定されていてもよく、また、学習用画像検索指示に含まれていてもよい。
つぎに、情報処理装置101は、調整後の確度の閾値Aiを、選択したシンクIDと対応付けて検索条件テーブル1000に登録する(ステップS1507)。検索条件テーブル1000には、認識対象種別および正判定画像の登録日時もあわせて登録される。そして、情報処理装置101は、シンク位置管理DB120から選択されていない未選択のシンクIDがあるか否かを判断する(ステップS1508)。
ここで、未選択のシンクIDがある場合(ステップS1508:Yes)、情報処理装置101は、ステップS1501に戻る。一方、未選択のシンクIDがない場合(ステップS1508:No)、情報処理装置101は、検索条件調整処理を呼び出したステップに戻る。
これにより、認識対象物ROの移動速度から推定した認識対象物ROを含む画像がシンクSiに登録されている存在確率Piに応じて、検索条件となる確度の閾値Aiを調整することができる。
つぎに、図16を用いて、図14に示したステップS1408の画像検索処理の具体的な処理手順について説明する。
図16は、画像検索処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、情報処理装置101は、シンク位置管理DB120から選択されていない未選択のシンクIDを選択する(ステップS1601)。
そして、情報処理装置101は、検索条件テーブル1000を参照して、選択したシンクIDのシンクSiの確度閾値、認識対象種別および登録日時を特定する(ステップS1602)。つぎに、情報処理装置101は、特定した登録日時に応じた検索対象期間を設定する(ステップS1603)。
そして、情報処理装置101は、ディレクトリDRの画像属性管理DB220を参照して、シンクSiに登録された認識対象物ROを含む画像のうち、設定した検索対象期間内に撮影され、かつ、特定した確度閾値よりも確度が大きい画像を検索する(ステップS1604)。
つぎに、情報処理装置101は、検索した検索結果(管理元シンクID/画像ID)を学習用画像位置リスト1100に登録する(ステップS1605)。そして、情報処理装置101は、シンク位置管理DB120から選択されていない未選択のシンクIDがあるか否かを判断する(ステップS1606)。
ここで、未選択のシンクIDがある場合(ステップS1606:Yes)、情報処理装置101は、ステップS1601に戻る。一方、未選択のシンクIDがない場合(ステップS1606:No)、情報処理装置101は、画像検索処理を呼び出したステップに戻る。
これにより、各シンクSiに登録された画像のうち、認識に失敗した認識対象物(認識対象物RO)が写っている可能性が高い画像を検索することができる。
(管理者端末102の学習用画像判定処理手順)
つぎに、図17を用いて、管理者端末102の学習用画像判定処理手順について説明する。管理者端末102の学習用画像判定処理は、例えば、定期的または所定のタイミングで実行される。
図17および図18は、管理者端末102の学習用画像判定処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、管理者端末102は、ディレクトリDRの画像属性管理DB220から、画像属性管理情報をランダムに抽出する(ステップS1701)。
つぎに、管理者端末102は、抽出した画像属性管理情報のシンク位置から特定されるシンクSiの画像DB210から、抽出した画像属性管理情報の属性情報に含まれる画像IDに対応する画像管理情報を取得する(ステップS1702)。そして、管理者端末102は、取得した画像管理情報に含まれる画像データ、および、抽出した画像属性管理情報の属性情報に含まれる認識結果を表示する(ステップS1703)。
つぎに、管理者端末102は、管理者の操作入力により、表示した認識結果が正しいことを示す判定結果を受け付けたか否かを判断する(ステップS1704)。ここで、認識結果が正しいことを示す判定結果を受け付けた場合(ステップS1704:Yes)、管理者端末102は、本フローチャートによる一連の処理を終了する。
一方、認識結果が正しくないことを示す判定結果を受け付けた場合(ステップS1704:No)、管理者端末102は、画像に写る正しい認識対象物の指定を受け付けたか否かを判断する(ステップS1705)。ここで、管理者端末102は、正しい認識対象物の指定を受け付けるのを待つ(ステップS1705:No)。
そして、管理者端末102は、正しい認識対象物の指定を受け付けた場合(ステップS1705:Yes)、情報処理装置101に学習用画像検索指示を送信して(ステップS1706)、図18に示すステップS1801に移行する。学習用画像検索指示には、例えば、正判定画像の画像ID、登録日時、認識対象種別が含まれる。
図18のフローチャートにおいて、まず、管理者端末102は、情報処理装置101から学習用画像位置リスト1100を受信したか否かを判断する(ステップS1801)。ここで、管理者端末102は、学習用画像位置リスト1100を受信するのを待つ(ステップS1801:No)。
そして、管理者端末102は、学習用画像位置リスト1100を受信した場合(ステップS1801:Yes)、学習用画像位置リスト1100から選択されていない未選択の管理元シンクIDを選択する(ステップS1802)。つぎに、管理者端末102は、学習用画像位置リスト1100内の選択された管理元シンクIDに対応する画像IDのうち選択されていない未選択の画像IDを選択する(ステップS1803)。
そして、管理者端末102は、選択した管理元シンクIDのシンクSiの画像DB210から、選択した画像IDに対応する画像管理情報を取得する(ステップS1804)。なお、各シンクSiのアドレスは、管理者端末102に予め記憶されていてもよく、また、ディレクトリDRの画像属性管理DB220にアクセスして特定してもよい。
つぎに、管理者端末102は、学習用画像位置リスト1100内の選択された管理元シンクIDに対応する画像IDのうち選択されていない未選択の画像IDがあるか否かを判断する(ステップS1805)。ここで、未選択の画像IDがある場合(ステップS1805:Yes)、管理者端末102は、ステップS1803に戻る。
一方、未選択の画像IDがない場合(ステップS1805:No)、学習用画像位置リスト1100から選択されていない未選択の管理元シンクIDがあるか否かを判断する(ステップS1806)。ここで、未選択の管理元シンクIDがある場合(ステップS1806:Yes)、管理者端末102は、ステップS1802に戻る。
一方、未選択の管理元シンクIDがない場合(ステップS1806:No)、管理者端末102は、ステップS1804において取得した画像管理情報の画像データを選択可能に表示する(ステップS1807)。つぎに、管理者端末102は、管理者の操作入力により、画像認識モデルの学習に用いる画像を選択する(ステップS1808)。
そして、管理者端末102は、選択した画像の画像データをモデル学習器MLに入力することにより、認識対象物ROについての画像認識モデルの再学習を指示して(ステップS1809)、本フローチャートによる一連の処理を終了する。
これにより、認識に失敗した認識対象物(認識対象物RO)が写っている画像をピックアップして画像認識モデルの再学習を行うことができる。
以上説明したように、実施の形態1にかかる情報処理装置101によれば、指定された認識対象物ROを含む正判定画像を特定し、正判定画像が撮影された地点および時刻と認識対象物ROの移動速度情報とに基づいて、地点に対応付けて、地点で撮影された画像の認識結果、確度および時刻を記憶する記憶部910(例えば、画像属性管理DB220)を参照して、認識対象物ROを含む画像を検索することができる。
これにより、ある地点で存在が確認された認識対象物ROが移動する速度を考慮して、各地点で撮影された画像の中から認識対象物ROを含む画像を検索することができ、認識に失敗した対象物を含む画像を効率よく収集することが可能となる。
また、情報処理装置101によれば、正判定画像が撮影された地点と認識対象物ROの移動速度情報とに基づいて、複数の地点のいずれかの地点で撮影された認識対象物ROを含む画像を検索する際の確度の閾値Aを調整することができる。そして、情報処理装置101によれば、正判定画像が撮影された時刻に基づいて、記憶部910を参照して、当該いずれかの地点で撮影された画像のうち、認識結果が認識対象物ROと同一であり、かつ、調整後の閾値Aよりも確度が大きい画像を検索することができる。
これにより、ある地点で存在が確認された認識対象物ROが移動する速度を考慮して、各地点(シンクSi)について認識対象物ROを含む画像を検索する際の確度の閾値Aを調整することができる。このため、全地点で一律に同じ確度の閾値(例えば、下限閾値θ)を用いて画像を検索する場合に比べて、認識に失敗した対象物を含む画像を精度よく収集することができる。
また、情報処理装置101によれば、正判定画像が撮影された地点と複数の地点のいずれかの地点との距離、および、認識対象物ROの移動速度情報に基づいて、当該いずれかの地点で撮影された認識対象物ROを含む画像の存在確率Pを算出することができる。そして、情報処理装置101によれば、算出した存在確率Pに基づいて、当該いずれかの地点の確度の閾値Aが小さくなるように調整することができる。
これにより、ある地点で存在が確認された認識対象物ROが各地点で存在する確率を、認識対象物ROが移動する速度と地点間の距離から推定し、推定した確率に応じて各地点についての確度の閾値Aを調整することができる。例えば、推定した確率が高いほど管理者により設定された下限閾値θよりも低くなるように、各地点の閾値Aを調整することができる。
また、情報処理装置101によれば、複数の地点のいずれかの地点で撮影された画像のうち、正判定画像が撮影された時刻に応じた期間内に撮影され、かつ、認識結果が認識対象物ROと同一であり、かつ、調整後の閾値Aよりも確度が大きい画像を検索することができる。
これにより、例えば、ある地点で認識対象物ROの存在が確認された時刻の前後数時間の期間を検索対象期間として、各地点で撮影された画像の中から認識対象物ROを含む画像を検索することができる。
また、情報処理装置101によれば、検索した結果を示す情報を出力することができる。具体的には、例えば、情報処理装置101は、認識対象物ROと対応付けて、検索した画像の画像データが登録されたシンクSi(あるいは、エッジ装置Ei)を特定する情報(例えば、学習用画像位置リスト1100)を、管理者端末102に送信することができる。
これにより、データ収集システム100の管理者は、画像認識処理で認識に失敗した認識対象物(認識対象物RO)が写っている画像のデータを効率よく収集して、画像認識モデルの再学習を行うことが可能となる。
これらのことから、実施の形態1にかかる情報処理装置101およびデータ収集システム100によれば、広域環境下での画像認識システムにおけるモデル学習データの収集効率化を図ることができる。
(実施の形態2)
つぎに、実施の形態2にかかるデータ収集システム1900について説明する。なお、実施の形態1で説明した箇所と同様の箇所については、図示および説明を省略する。
実施の形態1では、クラウドCL内のディレクトリDRが全シンクに登録される画像のメタ情報(属性/位置情報)を一元管理する場合について説明した。しかしながら、システムが大規模化すると、クラウドCL内のディレクトリDRで、画像のメタ情報(属性/位置情報)を一元管理することが難しくなる。
そこで、実施の形態2では、クラウドCLと末端のエッジ装置との間に複数の中間エッジを設け、複数の中間エッジで画像のメタ情報(属性/位置情報)を分散して管理する場合について説明する。まず、実施の形態2にかかるデータ収集システム1900のシステム構成例について説明する。
図19は、実施の形態2にかかるデータ収集システム1900のシステム構成例を示す説明図である。図19において、データ収集システム1900は、クラウドCLと、複数の情報処理装置101と、管理者端末102と、複数のエッジ装置群E1〜Enと、を含む。クラウドCLは、学習用画像位置検索マスタ1901と、モデル学習器MLと、ディレクトリDRと、を含む。
複数の情報処理装置101は、画像属性管理DB220を有し、それぞれ中間エッジとして機能する。例えば、各情報処理装置101は、地域ごとに設けられ、自配下の地域内で発生した画像のメタ情報(属性/位置情報)を管理する。地域は、例えば、関東地方、近畿地方、中国地方などである。
すなわち、実施の形態2では、各情報処理装置101が、実施の形態1で説明したディレクトリDRのような役割も担う。なお、画像属性管理DB220の記憶内容については、図8に示したものと同様のため説明を省略する。
ディレクトリDRは、インデックス位置テーブル1910を有し、管理者端末102からの要求に応じて、複数の情報処理装置101それぞれのアドレスを含むインデックス位置リストを送信する。ここで、インデックス位置テーブル1910の記憶内容について説明する。
図20は、インデックス位置テーブル1910の記憶内容の一例を示す説明図である。図20において、インデックス位置テーブル1910は、インデックスノードIDおよびアドレスのフィールドを有し、各フィールドに情報を設定することで、インデックス位置情報(例えば、インデックス位置情報2000−1)をレコードとして記憶する。
ここで、インデックスノードIDは、中間エッジとなる情報処理装置101を一意に識別する識別子である。アドレスは、情報処理装置101のアドレスを示す。アドレスとしては、例えば、情報処理装置101のIPアドレスが設定される。すなわち、実施の形態2では、ディレクトDRにおいて、末端のエッジ装置のシンクの位置情報は保持しない。
管理者端末102に送信されるインデックス位置リストには、例えば、インデックス位置テーブル1910内のインデックス位置情報が含まれる。これにより、管理者端末102は、インデックス位置リストを参照して、各情報処理装置101にアクセスすることが可能となり、各種画像(例えば、正判定画像、学習用画像)を検索したり、画像の管理元シンクを特定したりすることができる。
なお、インデックス位置リストには、複数の情報処理装置101のうち、管理者端末102から指定された条件(例えば、地域、画像の登録日時など)に合致する一部の情報処理装置101のインデックス位置情報のみを含めるようにしてもよい。条件としては、例えば、地域や、画像の登録日時などを指定することができる。この場合、インデックス位置テーブル1910には、各情報処理装置101が管理する地域や、各情報処理装置101が管理している画像が撮影された期間を特定する情報が記憶される。
学習用画像位置検索マスタ1901は、管理者端末102から学習用画像検索指示を受け付ける。また、学習用画像位置検索マスタ1901は、管理者端末102から学習用画像検索指示を受け付けると、各情報処理装置101に学習用画像検索指示を転送する。この結果、各情報処理装置101において、実施の形態1で説明したデータ収集処理と同様の処理がそれぞれ実行される。ただし、各情報処理装置101において作成される学習用画像位置リスト1100は、例えば、学習用画像位置検索マスタ1901を介して、管理者端末102に転送される。
以上説明したように、実施の形態2にかかるデータ収集システム1900によれば、複数の情報処理装置101で画像のメタ情報(属性/位置情報)を分散して管理することができる。これにより、各種画像の検索や学習用画像の画像データの収集にかかる負荷を複数の中間エッジ(情報処理装置101)で分散することができ、システムの大規模化に対応することが可能となる。
なお、本実施の形態で説明したデータ収集方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ収集プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本データ収集プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)画像認識モデルの学習に用いるデータを収集するデータ収集方法であって、
指定された認識対象物を含む画像を特定し、
特定した前記画像が撮影された地点および時刻と前記認識対象物の移動速度情報とに基づいて、地点に対応付けて、前記地点で撮影された画像の認識結果、確度および時刻を記憶する記憶部を参照して、認識結果が前記認識対象物と同一の画像を検索する、
処理をコンピュータが実行することを特徴とするデータ収集方法。
(付記2)前記コンピュータが、
特定した前記画像が撮影された地点と前記認識対象物の移動速度情報とに基づいて、複数の地点のいずれかの地点で撮影された前記認識対象物を含む画像を検索する際の確度の閾値を調整し、
特定した前記画像が撮影された時刻に基づいて、前記記憶部を参照して、前記いずれかの地点で撮影された画像のうち、認識結果が前記認識対象物と同一であり、かつ、調整後の前記閾値よりも確度が大きい画像を検索する、
処理を実行することを特徴とする付記1に記載のデータ収集方法。
(付記3)前記調整する処理は、
特定した前記画像が撮影された地点と前記いずれかの地点との距離、および、前記認識対象物の移動速度情報に基づいて、前記いずれかの地点で撮影された前記認識対象物を含む画像の存在確率を算出し、
算出した前記存在確率に基づいて、前記閾値が小さくなるように調整する、
ことを特徴とする付記2に記載のデータ収集方法。
(付記4)前記検索する処理は、
前記記憶部を参照して、前記いずれかの地点で撮影された画像のうち、特定した前記画像が撮影された時刻に応じた期間内に撮影され、かつ、認識結果が前記認識対象物と同一であり、かつ、調整後の前記閾値よりも確度が大きい画像を検索する、ことを特徴とする付記2または3に記載のデータ収集方法。
(付記5)前記コンピュータが、
検索した結果を示す情報を出力する、処理を実行することを特徴とする付記1〜4のいずれか一つに記載のデータ収集方法。
(付記6)前記出力する処理は、
前記認識対象物と対応付けて、検索した前記画像の画像データが登録された装置を特定する情報を出力する、処理を実行することを特徴とする付記5に記載のデータ収集方法。
(付記7)画像認識モデルの学習に用いるデータを収集するデータ収集プログラムであって、
指定された認識対象物を含む画像を特定し、
特定した前記画像が撮影された地点および時刻と前記認識対象物の移動速度情報とに基づいて、地点に対応付けて、前記地点で撮影された画像の認識結果、確度および時刻を記憶する記憶部を参照して、認識結果が前記認識対象物と同一の画像を検索する、
処理をコンピュータに実行させることを特徴とするデータ収集プログラム。
(付記8)画像認識モデルの学習に用いるデータを収集する情報処理装置であって、
指定された認識対象物を含む画像を特定し、
特定した前記画像が撮影された地点および時刻と前記認識対象物の移動速度情報とに基づいて、地点に対応付けて、前記地点で撮影された画像の認識結果、確度および時刻を記憶する記憶部を参照して、認識結果が前記認識対象物と同一の画像を検索する、
制御部を有することを特徴とする情報処理装置。