(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170312
(43)【公開日】2024-12-06
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20241129BHJP
【FI】
G06T7/00 350B
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024084230
(22)【出願日】2024-05-23
(31)【優先権主張番号】18/202,364
(32)【優先日】2023-05-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】田篭 照博
(72)【発明者】
【氏名】柿本 健司
(72)【発明者】
【氏名】芳賀 夢久
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA04
5L096DA02
5L096FA16
5L096FA59
5L096GA51
5L096HA11
5L096JA16
5L096KA04
(57)【要約】
【課題】汎用的な仕組みで機械学習モデルの誤検出を発見可能な技術を実現する。
【解決手段】情報処理装置は、画像内の物体を検出する第1の機械学習モデルを用いて、画像内の領域のうち物体が検出された領域を示す第1の検出結果を出力する。また、情報処理装置は、物体の検出に関する所定の特性が第1の機械学習モデルと異なる第2の機械学習モデルを用いて、画像内の領域のうち物体が検出された領域を示す第2の検出結果を出力する。更に、情報処理装置は、第1の検出結果と第2検出結果との相違が所定条件を満たす場合に、第1の機械学習モデルによる物体の検出について誤検出の存在を通知する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像内の物体を検出する情報処理装置であって、
1つ以上のプロセッサと、
1つ以上の命令を格納するメモリと、を備え、前記1つ以上の命令は、前記1つ以上のプロセッサによって実行されると、前記情報処理装置に、
画像内の物体を検出する第1の機械学習モデルを用いて、前記画像内の領域のうち物体が検出された領域を示す第1の検出結果を出力することと、
物体の検出に関する所定の特性が前記第1の機械学習モデルと異なる第2の機械学習モデルを用いて、前記画像内の領域のうち物体が検出された領域を示す第2の検出結果を出力することと、
前記第1の検出結果と前記第2の検出結果との相違が所定条件を満たす場合に、前記第1の機械学習モデルによる物体の検出について誤検出の存在を通知することと、をさせる情報処理装置。
【請求項2】
第2の機械学習モデルは、物体の検出に関する所定の特性が前記第1の機械学習モデルよりもロバストである、請求項1に記載の情報処理装置。
【請求項3】
前記通知することは、前記第1の検出結果において物体が検出されていない領域に、前記第2の検出結果において所定の大きさ以上の領域の物体が検出されている場合に、前記所定条件を満たすと判定することを含む、請求項2に記載の情報処理装置。
【請求項4】
前記1つ以上の命令は、前記情報処理装置に、更に、
連続する複数のフレームの画像を取得することをさせ、
前記第1の機械学習モデルは、前記複数のフレームの画像のうち、毎秒第1の数の画像に対して前記第1の検出結果を出力し、
前記第2の機械学習モデルは、前記複数のフレームの画像のうち、毎秒第2の数であって前記第1の数より少ない数の画像に対して前記第2の検出結果を出力する、請求項1に記載の情報処理装置。
【請求項5】
前記1つ以上の命令は、前記情報処理装置に、更に、
物体の検出に関する第2の所定の特性が前記第1の機械学習モデルよりもロバストである第3の機械学習モデルを用いて、前記画像内の領域のうち物体が検出された領域を示す第3の検出結果を出力することをさせ、
前記通知することは、前記第1の検出結果において物体が検出されていない領域に、前記第2の検出結果及び前記第3の検出結果の少なくともいずれかにおいて、前記所定の大きさ以上の領域の物体が検出されている場合に、前記第1の機械学習モデルによる物体の検出について誤検出の存在を通知することを含む、請求項3に記載の情報処理装置。
【請求項6】
前記通知することは、誤検出に係る物体に関する情報を通知することを含む、請求項5に記載の情報処理装置。
【請求項7】
前記第2の機械学習モデルは、前記第1の機械学習モデルよりも、特定の種別の物体をロバストに検出可能な特性を有する、請求項1に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像内の物体を検出する情報処理装置に関する。
【背景技術】
【0002】
近年、ディープラーニング等の機械学習によって学習させたモデル(機械学習モデル)を用いて画像内の物体を検出する技術が知られている。機械学習モデルによる物体の検出精度は実用的である場合もあるが、画像を撮影する際の状況(例えば気候など)や画像に意図的な加工が加えられた場合などでは、誤検出が生じる場合がある。
【0003】
特許文献1では、監視カメラで撮影された画像内の人らしい領域を機械学習モデルを用いて検出した場合に、虫が飛行する領域を人らしい領域として機械学習モデルが誤検出しているかを白飛びの有無により判定する技術を提案している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
機械学習モデルによる誤検出は画像を撮影する際の状況変化などの様々な要因によって生じ得る。特許文献1では、虫の飛行による機械学習モデルの誤検出を発見するための技術を提案しているが、個々の誤検出の要因に応じて実装を組み込む場合、誤検出の要因が増加するに従って実装がより複雑化する課題がある。
【0006】
本発明は、上記課題に鑑みてなされ、その目的は、汎用的な仕組みで機械学習モデルの誤検出を発見可能な技術を実現することである。
【課題を解決するための手段】
【0007】
この課題を解決するため、例えば本発明の情報処理装置は、
画像内の物体を検出する情報処理装置であって、
1つ以上のプロセッサと、
1つ以上の命令を格納するメモリと、を備え、前記1つ以上の命令は、前記1つ以上のプロセッサによって実行されると、前記情報処理装置に、
画像内の物体を検出する第1の機械学習モデルを用いて、前記画像内の領域のうち物体が検出された領域を示す第1の検出結果を出力することと、
物体の検出に関する所定の特性が前記第1の機械学習モデルと異なる第2の機械学習モデルを用いて、前記画像内の領域のうち物体が検出された領域を示す第2の検出結果を出力することと、
前記第1の検出結果と前記第2の検出結果との相違が所定条件を満たす場合に、前記第1の機械学習モデルによる物体の検出について誤検出の存在を通知することと、をさせる。
【発明の効果】
【0008】
本発明によれば、汎用的な仕組みで機械学習モデルの誤検出を発見可能になる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態に係る情報処理システムの概要を説明する図
【
図2】本実施形態に係る情報処理装置のハードウェア構成例を示すブロック図
【
図3】本実施形態に係る情報処理装置の機能構成例を示すブロック図
【
図4】本実施形態において、検出モデルによる誤検出が存在すると判定される場合を説明する図
【
図5】本実施形態において、検出モデルによる誤検出が存在しないと判定される場合を説明する図
【
図6】本実施形態に係る誤検出判定処理を動画に適用する場合について説明する図
【
図7】本実施形態に係る(複数の検証用モデルを用いた)誤検出判定処理を動画に適用する場合について説明する図
【
図8】本実施形態に係る誤検出を通知するための一連の動作について説明するフローチャート
【
図9】本実施形態に係る誤検出の通知情報のデータ構成の一例を示す図
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴は任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0011】
<情報処理システムの概要>
図1を参照して、本実施形態に係る情報処理システムの一例について説明する。情報処理システム10は、例えば、情報処理装置100と、撮影画像を送信して物体検出結果を受信する通信装置104とを含む。撮影画像を送信する装置と物体検出結果を受信する装置とは別々の装置であってもよく、例えば、撮影画像を送信する画像送信装置(例えば監視カメラ102-1)と、物体検出結果を受信する結果受信装置(ユーザ端末102-2)のように、別々に構成されてもよい。また、情報処理システム10には、サービス業者用端末106が含まれてもよい。情報処理装置100は、通信装置104(或いは画像送信装置や結果受信装置)及びサービス業者用端末106と、ネットワークを通じて互いに通信可能である。なお、本実施形態では、情報処理装置100と、撮影画像を送信して物体検出結果を受信する通信装置104とを含む構成としたが、ユーザの装置上に情報処理装置100を動作させる構成であってもよい。
【0012】
情報処理装置100は、例えば、物体検出を含む所定のサービスの実施として、機械学習モデルを用いて撮影画像内の物体を検出し、その物体検出結果を送信する。なお、以下の実施形態では、物体を検出するために実行される機械学習モデルを検出モデルという。検出モデルは、物体検出機能を含んだモデルであれば様々なモデルであってよい。本実施形態では、物体は、例えば人、動物、植物、乗物、建築物、日用品、食料品などを含んでよい。従って、検出モデルは、例えば、画像内の人を検出するモデル、画像内の動物を検出するモデル、画像内の特定の物品(例えば乗物或いは日用品など)を検出するモデル、或いはこれらの複数の種別の対象を検出するモデルなどを含み得る。また、検出モデルは、特定の特徴を有する物体(例えば特定の動作をしている人、特定の物品を身に着けている人、或いは特定の性別の人など)を検出するモデルであってもよい。物体検出結果は、検出された物体を示す情報(例えば検出された物体の領域を示す枠、物体の名称を示す色又はテキスト、或いは検出時の当該物体に対するスコアなどの数値)を含んでよい。
【0013】
所定のサービスは、例えば、撮影された静止画或いは動画から、人、動物、植物、乗物、建築物、日用品、食料品などの少なくともいずれかを検出してアノテーションを付与したり、検出した対象に関連する情報を提供したり、ナビゲーションを提供したりするサービスを含んでよい。また、監視カメラなどの固定された装置から送信される静止画或いは動画から上記の物体を検出することにより、静止画或いは動画を分析するための情報を提供するサービスを含んでもよい。サービスの実施態様に応じて、情報処理装置100は、画像送信装置(例えば監視カメラ102-1)から撮影された画像を取得し、物体検出結果を、結果受信装置(例えば監視カメラの画像を監視するために設置されるユーザ端末102-2)に送信してもよい。
【0014】
また、情報処理装置100は、検出モデルを用いた画像内の物体の検出に加えて、後述する誤検出判定処理を実行する。誤検出判定処理は、物体検出モデルによる物体の検出結果に誤検出が存在するかを判定し、誤検出が存在する場合には当該誤検出の存在を通知する処理である。情報処理装置100は、誤検出判定処理において、例えば、物体の検出に関する所定の特性が物体検出モデルよりもロバストである機械学習モデル(単に検証用モデルともいう)を用いる。例えば、検証用モデルは、例えば人、乗物或いは特定の特徴などの1つ以上の特性について、検出モデルよりもロバストに検出することができる。このため、検証用モデルで物体が検出された一方で、当該物体は検出モデルでは検出されていない場合には、(画像内の何等かの影響により)検出モデルの検出結果に誤検出が存在することが考えられる。また、検証用モデルとして、敵対的サンプルによる攻撃を含んだ画像内の物体検出をロバストに行うことができるモデルを用いることができる。検出モデルが敵対的サンプルを含んだ画像に対して対象の物体を検出することができなかった一方で、検証用モデルが対象の物体(或いはその一部)を検出することができた場合、検出モデルによる検出結果に誤検出が存在すると判定することができる。このように、本実施形態では、誤検出の要因に応じた個別的な実装を追加する代わりに、汎用的な仕組みで機械学習モデルの誤検出を発見可能になる。
【0015】
情報処理装置100は、誤検出判定処理によって誤検出が存在すると判定した場合、誤検出の通知を行う。誤検出の通知は、
図1に示す例では、例えばサービス業者用端末106に送信される。例えば、サービス業者用端末106は、サービス業者が管理する端末であり、例えばサービス業者は、監視カメラ102-1で撮影された画像内の物体を検出する物体検出サービスを提供する。サービス業者用端末106は、検出モデルに関し、例えば検出モデルのハイパーパラメータの設定、検出モデルの学習、デプロイ、検出モデルの動作状況の確認などを行うことができる。情報処理装置100が誤検出の通知をサービス業者用端末106に送信することにより、サービス業者は、使用している検出モデルにおける誤検出の存在を把握することが可能になる。サービス業者は、誤検出の内容に応じて、必要な学習データを準備して検出モデルを再学習させたり、必要な特性が優れた別の機械学習モデルに置き換えたりすることができる。なお、本実施形態では、情報処理装置100が誤検出の通知をサービス業者用端末106に送信する場合を例に説明しているが、サービスの内容に応じて、情報処理装置100が、誤検出の通知をユーザ端末102-2或いは通信装置104に送信するようにしてもよい。
【0016】
情報処理装置100は、例えばサーバ装置である。情報処理装置100は、例えば、クラウドサービスのプラットフォームを実現するサーバ装置であってよく、上述の物体検出処理及び誤検出判定処理は、クラウドサービスのプラットフォーム上で実現されてもよい。しかし、情報処理装置100は、ネットワーク上に配置されるエッジノードであってもよいし、P2Pネットワークを構成するノードであってもよい。或いは、情報処理装置100は、クラウドサービスのプラットフォーム上で構成される仮想マシンであってもよい。
【0017】
また、本実施形態では、検出モデルを用いた物体の検出処理と検証用モデルを用いた誤検出判定処理とが、サーバ装置である情報処理装置100上で実行される場合を例に説明する。しかし、本実施形態は、当該処理がクラウドサービスのプラットフォームを実現する複数のサーバ装置によって実行される場合にも適用可能である。また、本実施形態は、物体の検出処理及び誤検出判定処理が、
図1に示す通信装置104において実行される場合や、監視カメラ102-1又はユーザ端末102-2において実行される場合にも適用可能である。
【0018】
通信装置104は、例えばタブレット機器やスマートフォンであるがパーソナルコンピュータなどであってもよい。また、サービス業者用端末106は、例えばパーソナルコンピュータであるが、タブレット機器やスマートフォンであってもよい。
【0019】
<情報処理装置のハードウェア構成例>
図2を参照して、情報処理装置100のハードウェア構成例について説明する。情報処理装置100は、メモリ202と、プロセッサ204と、通信インタフェース206と、ストレージ208と、入力インタフェース210と、電源212とを含む。これらの要素はそれぞれバス214に接続され、バス214を介して互いに通信する。
【0020】
メモリ202は、例えばDRAMなどの揮発性の記憶媒体であって、データやプログラムを一次的に記憶する。また、ストレージ208は、データやプログラムを永続的に記憶する不揮発性の記憶媒体である。記憶されるプログラムは、プロセッサで実行可能な1つ以上の命令を含む。ストレージ208は、例えば半導体メモリやハードディスクであってよい。ストレージ208は、ニューラルネットワークを学習させるための学習データ、学習済みのニューラルネットワークをテストするためのテストデータ、監視カメラ102-1又は通信装置104から受信した撮影画像、後述する誤検出の通知データなどの各種データを格納することができる。
【0021】
プロセッサ204は、例えば、中央演算装置(CPU)などの演算回路を含む。プロセッサ204は1つ以上のプロセッサで構成されてよい。プロセッサ204は、更に、機械学習などの統計処理をより高速に実行するための演算回路(例えばGPU)や専用ハードウェアを更に含んでよいし、内部にメモリを含んでもよい。プロセッサ204は、ストレージ208に記憶されているプログラムをメモリ202に展開、実行することにより、情報処理装置100の各種機能を実現する。
【0022】
通信インタフェース206は、情報処理装置100の外部装置との間でデータを送受信するためのインタフェースである。通信インタフェース206は、各種標準に準拠した通信方式で通信可能な通信回路を含んでよい。通信インタフェース206はネットワークに接続され、ネットワークを介して
図1に示した通信装置104等とデータをやりとりする。入力インタフェース210は、例えば情報処理装置100の管理者からの入力を受け付けるためのデバイスであるが、無くてもよい。
【0023】
電源212は、情報処理装置100の各部が動作するための電力を提供するための回路又はモジュールである。電源212は、バッテリを備えるように構成されてもよい。
【0024】
<情報処理装置の機能構成例>
次に、
図3を参照して、情報処理装置100の機能構成例について説明する。
図3に示す機能構成例は、例えば、プロセッサ204がストレージ208に記憶されたプログラムをメモリ202に展開、実行することにより実現され得る。なお、本実施形態で説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明したものがソフトウェアで実現されてもよく、その逆であってもよい。
【0025】
データ取得部310は、例えば、外部の装置から撮影画像を取得する。撮影画像は、動画を構成する複数のフレームに含まれてもよい。例えば、データ取得部310は、監視カメラ102-1又は通信装置104から、連続する複数のフレームの画像で構成される動画を取得してもよい。また、データ取得部310は、通信装置104等から受信されて一時的に或いは永続的にストレージ208に格納された撮影画像を取得してもよい。更に、情報処理装置100の外部のストレージに格納されている撮影画像を取得してもよい。
【0026】
検出モデル処理部312は、検出モデル実行部314と検出結果出力部316とを含み、これらの機能構成によって物体検出処理を実行する。
【0027】
検出モデル実行部314は、データ取得部310によって取得された画像(撮影画像)を入力して学習済みの検出モデルを実行し、撮影画像内の物体を検出する。上述したように、検出モデルは、物体検出機能を含んだモデルであれば様々なモデルであってよい。例えば、検出モデルとして、複数の種別の対象を検出可能な検出モデルを用いることができる。検出モデル実行部314は、検出モデルとして、例えばYOLOやFasterR-CNNと呼ばれる公知のモデルを用いることができる。検出モデルは、例えば、検出された物体の領域を示す枠と、検出した物体の名称を示す色又はテキストと、検出時の確率を示す数値と出力する。
【0028】
検出結果出力部316は、検出モデルによって検出された物体についての情報(すなわち物体検出結果)を出力する。検出結果出力部316は、検出モデル実行部314からの出力を用いて、物体の領域を示す枠を撮影画像に重畳し、物体検出結果を生成する。検出結果出力部316は、生成した物体検出結果を、例えば通信装置104或いはユーザ端末102-2に送信することができる。
【0029】
検証用モデル処理部318は、検証設定部320、検証用モデル実行部322、誤検出判定部324、及び通知部326を含み、検証用モデル処理部318は、これらの機能構成によって誤検出判定処理を実行する。
【0030】
検証設定部320は、例えばサービス業者用端末106からの指示情報に従って、誤検出判定処理に用いる検証用モデルを設定する。指示情報は、検証用モデルの指定や使用態様に関する情報を含む。指示情報は、例えば、検証に用いる検証用モデルの識別情報、バージョン情報、実行頻度の情報などが含まれる。検証用モデルの識別情報は、例えば、モデルデータ330に格納される学習済みモデルを識別する情報である。複数の識別情報を指定して、複数の検証用モデルを指定可能にしてもよい。
【0031】
検証設定部320は、例えば、検証用モデルの識別情報により、(検出モデルよりも)特定の物体をロバストに検出可能な、当該特定の物体の検出に特化した検証用モデルを設定する。複数の種別の物体を検出可能な検出モデルが用いられる場合、複数の検証用モデルの識別情報を指定してもよい。この場合、(検証用モデルよりも)人をロバストに検出可能なモデルと、乗物をロバストに検出可能なモデルとを指定することができる。或いは、複数の種別の物体を検出可能な1つの検出モデルが用いられる場合、検証設定部320は、検証用モデルの識別情報により、検出モデルと同様の複数の種別の物体を検出可能であるが、各物体をよりロバストに検出可能な1つの検証用モデルを設定することができる。このように、本実施形態では、物体検出処理に用いる検出モデルに応じて、所望の検証用モデルを設定することができる。すなわち、様々な要因によって発生し得る機械学習モデルの誤検出をより汎用的な仕組みで発見可能になる。
【0032】
指示情報におけるバージョン情報は、検証用モデルのバージョンを示し、例えば、追加した学習データによって再学習を実施した後の検証用モデルを指定することができる。
【0033】
指示情報における実行頻度は、例えば、動画における連続する複数のフレームのうち、いくつのフレームに対して検証用モデルを実行するかを指定する。検証用モデルは、検出モデルよりも物体をロバストに検出することができる一方で、検出モデルよりも実行速度が低速である場合がある。このため、連続する複数のフレームに対して検出モデルを実行する場合、検証用モデルをより少ない頻度で実行するように設定することができる。例えば、検出モデルは、複数のフレームの画像のうち、毎秒第1の数の画像に対して検出結果を出力し、検証用モデルは、当該複数のフレームの画像のうち、毎秒第2の数(第1の数より少ない数)の画像に対して検出結果を出力する。実行頻度は、例えば、検出モデルの実行数と検証用モデルの実行数の比で表されてもよい。このように、情報処理装置100では、情報処理装置100の処理負荷を低下させたり、情報処理装置100の動作を高速化させることができる。また、より高速に動作する検出モデルを用いて高速な検出サービスを実現することができると同時に、検出モデルによる誤検出を検出することができる。
【0034】
検証用モデル実行部322は、検証設定部320による設定に従い、データ取得部310によって取得された画像(撮影画像)を入力して上述の検証用モデルを実行する。検証用モデルは、例えば、検出された物体の領域を示す枠を出力する。但し、本実施形態は、物体の領域を示す枠に限定されず、物体の領域の形状を表す情報など他の形態であってもよい。検証用モデルは、当該枠に対応する、検出された物体の名称を示す情報を出力してもよい。
【0035】
誤検出判定部324は、検出モデルによる検出結果と検証用モデルによる検出結果とに基づいて、検出モデルによる検出結果に誤検出が存在するか否かを判定する。誤検出判定部324は、例えば、検出モデルによる検出結果と検証用モデルによる検出結果との相違が一定条件を満たす程度に大きい場合、検出モデルによる検出結果に誤検出が存在すると判定する。
【0036】
ここで、
図4を参照して、検出モデルによる誤検出が存在すると判定される場合について説明する。撮影画像400は、データ取得部310により取得された撮影画像である。撮影画像400は、検出モデル402と検証用モデル404のそれぞれに入力される。検出モデル402と検証用モデル404は、それぞれ撮影画像400内の物体を検出する。この例では、検証用モデル404は、検出モデル402よりも人をロバストに検出するモデルである。
【0037】
検出結果406は、検出モデル402によって検出された物体の例を模式的に示している。枠408及び410は、それぞれ検出モデル402によって検出された物体の領域を示す。検出結果406は、理解を容易にするために枠408及び410を撮影画像400に重畳している。この例では、検出モデル402は、枠408の領域に含まれる人と、枠410の領域に含まれる自転車とを検出している。検出領域420は、検出モデル402によって検出された物体の領域422及び424のみを取り出した様子を模式的に示している。
【0038】
一方、検出結果412は、検証用モデル404によって検出された物体の例を模式的に示している。枠414及び416は、それぞれ検証用モデル404によって検出された物体の領域を示す。検出結果412は、理解を容易にするために枠414及び416を撮影画像400に重畳している。この例では、検証用モデル404は、枠414の領域に含まれる人と、枠416の領域に含まれる人とを検出している。マップ画像426は、検証用モデル404によって検出された物体の領域428及び430に数値「1」を割り当て、他の領域に数値「0」を割り当てた2値画像である。
【0039】
誤検出判定部324は、マップ画像426と検出領域420の差分を抽出する。例えば、マップ画像426の物体の領域と、物体の領域422及び424との間で差分がある領域(重複しない領域)に「1」を割り当てた差分マップ画像432を生成する。差分マップ画像432では、検出モデル402で検出された物体の領域と、検証用モデル404で検出された物体の領域との差分によって、ひと固まりの領域(差分領域434)が発生している。誤検出判定部324は、例えば、差分領域434が所定の閾値以上の大きさであると判定した場合、検出モデル402の検出結果に誤検出が存在すると判定する。本実施形態では差分マップを生成して誤検出存在を判定する手法を用いたが、それ以外にも、対象画像の物体検出個数のみを比較する手法、対象画像の物体検出個数とそれぞれの座標位置(例えば、各物体の重心座標)を比較する手法、対象画像の物体検出個数とそれぞれの座標位置及び面積を比較する手法なども使用可能である。
【0040】
次に、
図5を参照して、検出モデルによる誤検出が存在しないと判定される場合について説明する。撮影画像500は、データ取得部310により取得された撮影画像であり、
図4に示した撮影画像400と同じである。撮影画像500は、検出モデル502と検証用モデル504のそれぞれに入力される。検出モデル502と検証用モデル504は、それぞれ撮影画像500内の物体を検出する。例えば、検出モデル502は画像内の人を検出するモデルであるが、検証用モデル504は、検出モデル502よりも人をロバストに検出するモデルである。
【0041】
検出結果506は、検出モデル502によって検出された物体の例を模式的に示している。枠508及び510は、それぞれ検出モデル502によって検出された物体の領域を示す。検出結果506は、理解を容易にするために枠508及び510を撮影画像500に重畳している。この例では、検出モデル502は、枠508の領域に含まれる人と、枠510の領域に含まれる人とを検出している。検出領域520は、検出モデル502によって検出された物体の領域522及び524のみを取り出した様子を模式的に示している。
【0042】
一方、検出結果512は、検証用モデル504によって検出された物体の例を模式的に示している。枠514及び516は、それぞれ検証用モデル504によって検出された物体の領域を示す。検出結果512は、理解を容易にするために枠514及び516を撮影画像500に重畳している。この例では、検証用モデル504は、枠514の領域に含まれる人と、枠516の領域に含まれる人とを検出している。マップ画像526は、検証用モデル504によって検出された物体の領域528及び530に数値「1」を割り当て、他の領域に数値「0」を割り当てた2値画像である。
【0043】
誤検出判定部324は、マップ画像526と検出領域520の差分を抽出する。例えば、マップ画像526の物体の領域と、物体の領域522及び524との間で差分がある領域(重複しない領域)に「1」を割り当てた差分マップ画像532を生成する。差分マップ画像532では、検出モデル502で検出された物体の領域と、検証用モデル504で検出された物体の領域との差分が発生していない。このため、誤検出判定部324は、例えば、所定の閾値以上の大きさの差分領域が存在しないことにより、検出モデル502の検出結果に誤検出が存在しないと判定する。すなわち、検出モデルの検出結果において物体が検出されていない領域に、検証用モデルの検出結果において所定の大きさ以上の領域の物体が検出されている場合に、誤検出が存在すると判定される。
【0044】
なお、上記の誤検出判定部324による判定は、複数の検証用モデルを用いる場合にも適用可能である。例えば、誤検出判定部324は、検出モデルよりも人をロバストに検出する第1の検証用モデルと、検出モデルよりも車両をロバストに検出する第2の検証用モデルとのそれぞれからのマップ画像526を合成(「1」の領域のOR)したマップ画像を生成する。そして、当該合成したマップ画像と物体の領域422,522等との間で差分マップ画像を生成する。すなわち、検出モデルの検出結果において物体が検出されていない領域に、第1の検証用モデルの検出結果及び第2の検証用モデルの検出結果の少なくともいずれかにおいて、所定の大きさ以上の領域の物体が検出されている場合に、誤検出が存在すると判定することができる。このようにすれば、容易な仕組みで、複数の特性に関連する誤検出を判定することが可能になる。すなわち、個々の誤検出の要因に対する複雑な実装が導入され難くなり、情報処理装置における動作が単純化され、動作が安定化し易くなる。なお、第1の検証用モデルと第2の検証用モデルとを組み合わせて用いる方法としては、前記以外として、第1の検証用モデルの検出結果に基づいて第2の検証用モデルも併せて用いる構成であってもよく、例えば、第1の検証用モデルの検出結果である各物体の検出信頼度が所定閾値以下又は未満の場合には、第2の検証用モデルでも物体検出を行い、前記の通り、それぞれの検出結果を合成する。
【0045】
再び
図3を参照して説明する。通知部326は、誤検出判定部324によって誤検出が存在すると判定された場合、誤検出の通知を外部装置(例えばサービス業者用端末106)に送信する。通知部326は、誤検出が発生する都度、誤検出の通知を送信してもよい。或いは、通知部326は、例えば、誤検出の通知に関する情報を記録した通知情報を作成し、予め定められた時間間隔で、生成した通知情報を外部装置に送信してもよい。
【0046】
通知情報は、例えば、
図9を示すデータ構造900とすることができる。データ構造900は、例えば、フレーム番号、誤検出の内容、検出モデルの識別情報、検証用モデルの識別情報、及び動画の識別情報により構成することができる。
【0047】
フレーム番号は、動画において誤検出が存在すると判定されたフレームの番号である。このフレームは、データ構造900の「動画の識別情報」で識別される動画のフレーム番号である。誤検出の内容は、例えば、どのような特性に関して誤検出が存在したかを示す情報である。通知部326は、誤検出が生じた際の検証用モデルの検出結果に基づいて、特性を記述してもよい。例えば、通知部326は、誤検出が存在すると判定された領域(差分領域434)に対応する、検証用モデルの検出結果(枠416に係る物体の名称、ここでは人)を用いて、誤検出の内容を「人の検出もれ」としてもよい。検出モデルの識別情報と、検証用モデルの識別情報とは、それぞれ誤検出が存在すると判定した際に用いられたモデルの識別情報である。
【0048】
サービス業者用端末106が、通知部326によって生成された通知情報を受信することにより、サービス業者は、動作させている検出モデルにどのような誤検出が生じたのか、どのような画像において誤検出が発生したのか、を容易に把握することができる。このため、サービス業者は、通知情報を閲覧することにより、検出モデルを再度学習させる際に用いる学習データを特定して補充したり、検出モデルの置き換えを行ったりして、検出モデルを用いたサービスの品質を容易に向上させることができる。
【0049】
モデルデータ330は、検出モデル及び検証用モデルのデータを記憶するデータベースである。モデルデータ330は、各モデルのハイパーパラメータや学習済みパラメータなどの情報を含む。
【0050】
検証設定データ332は、上述した検証設定部320によって設定される上述の各種情報、例えば検証に用いる検証用モデルの識別情報、検証用モデルのバージョン情報、検証用モデルを実行する実行頻度の情報などが記憶される。
【0051】
<情報処理装置において誤検出を通知するための一連の動作>
次に、情報処理装置100において誤検出を通知するための一連の動作について、
図8を参照して説明する。本処理は、プロセッサ204がストレージ208に記録されるコンピュータプログラムを実行することにより実現される。なお、以下の説明では、検出モデルの実行と検証用モデルの実行とを同じ頻度で(すなわち全フレームに対して)実行する場合を例に説明しているが、上述のように、検証用モデルの実行頻度は、検出モデルの実行頻度より少なくてよい。すなわち、
図6に示すように、動画における各フレーム(フレーム610等)について、検出モデル600を実行するのに対して、検証用モデル602をより少ない頻度で(すなわちフレーム610、614、616に対して)実行してもよい。
【0052】
S801において、データ取得部310が、ストレージ208又は外部装置から画像(撮影画像)を取得する。S802において、検出モデル処理部312により物体検出処理を実行する。例えば、検出モデル実行部314は、取得した画像に対して検出モデルを実行し、画像内の物体を検出する。
【0053】
次に、検証用モデル処理部318により誤検出判定処理を実行する。具体的に、S803において、検証用モデル実行部322は、取得した画像に対して検証用モデルを実行し、画像内の物体を検出する。そして、S804において、誤検出判定部324は、検証用モデルで検出された物体の領域を示すマップ画像(例えばマップ画像426)を生成する。S805において、誤検出判定部324は、マップ画像内の物体の領域から検出モデルで検出された領域を除外する(すなわち
図4で説明した差分抽出を行って差分マップ画像432を生成する)。誤検出判定部324は、S806において、残ったマップ画像内の領域(差分領域434)の固まりの面積を算出し、S806において、当該面積が閾値以上であるかを判定する。誤検出判定部324は、面積が閾値以上であると判定した場合には処理をS808に進め、そうでない場合には処理をS801に戻す。
【0054】
S808において、通知部326は、例えば、誤検出に関する通知情報を生成し、リアルタイムに或いは所定のタイミングで誤検出の存在を外部装置に通知する。S809において、検出モデル処理部312は、動画に係る全ての画像を処理したかを判定し、全ての画像を処理したと判定した場合には本処理を終了し、そうでない場合には処理をS801に戻す。
【0055】
上述した動作は、更に、複数の検証用モデルを用いる場合にも適用可能である。例えば、
図7に示すように、複数の検証用モデルのうちの第1の検証用モデル702と、第2の検証用モデル704とを交互に動作させてもよい。例えば、第1の検証用モデル702をフレーム610と616に対して実行し、第2の検証用モデル704をフレーム614に実行する。このとき、第1の検証用モデル702と、第2の検証用モデル704とを合わせた実行頻度は、検出モデル600の実行頻度より低い。
【0056】
以上説明したように、本実施形態では、検出モデル実行部314が、画像内の物体を検出する検出モデルを用いて、画像内の領域のうち物体が検出された領域を示す第1の検出結果を出力するようにした。そして、検証用モデル実行部322が、物体の検出に関する特性が検出モデルと異なる検証用モデルを用いて、画像内の領域のうち物体が検出された領域を示す第2の検出結果を出力するようにした。更に、誤検出判定部324が、両方の検出結果における相違が所定条件を満たすように大きいかを判定し、相違が条件を満たす程度に大きい場合に、検出モデルによる物体の検出について誤検出が存在すると判定するようにした。更に、検出モデルによる誤検出が存在する場合、通知部326は、例えばサービス業者用端末106に通知情報を送信する。このようにすることで、本実施形態では、誤検出の要因に応じた追加的な実装を必要とすること無く、汎用的な仕組みで機械学習モデルの誤検出を発見可能になる。
【0057】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【符号の説明】
【0058】
100…情報処理装置、102-1…監視カメラ、102-2…ユーザ端末、104…通信装置、106…サービス業者用端末