(本開示に至る経緯)
本発明者は、画像データから、車、人物などの認識対象物を高精度に認識する認識器を生成するために必要となる学習データを効率良く生成する技術を検討している。学習データとしては、上述のようなアノテーションデータが設定された画像データが用いられる。このような学習データを人手によって生成する場合、作業者は、ディスプレイに表示された画像から、車、人物などの認識対象物を見つけ出して、マウスなどの入力装置を操作して、その物体が写っている領域を示す領域情報を設定する操作を行うと共に、その物体のクラスを示すクラスラベルを設定する操作を行う。ディープラーニングをはじめとする認識器の機械学習には10万~100万単位の学習データが必要と言われている。したがって、このような大量の学習データを人手によって生成するのは容易ではない。
しかし、近年、クラウドソーシングサービスの普及によって、国内はもとより海外からも大量の人手を確保することが可能になってきており、このような人手による学習データの生成を低コストで行うことが可能になりつつある。
さらに、認識器により画像データを認識させた認識結果に基づいて設定した事前アノテーションデータが設定済みの画像データをディスプレイに表示させ、事前アノテーションデータを修正する作業を作業者に行わせることによって学習データを生成する半自動アノテーションという手法も検討されている。
したがって、半自動アノテーションの手法をクラウドソーシングサービスと組み合わせれば、学習データの生成をさらに低コストで行うことが期待される。
そこで、本発明者は、半自動アノテーションによる学習データを生成する手法について具体的に検討した。すると、半自動アノテーションに用いられる認識器の認識精度が低い場合、事前アノテーションデータの修正作業に時間が掛かり、作業者がはじめからからアノテーションデータを設定した方が却って作業時間が短くなることが判明した。したがって、半自動アノテーションは学習データを生成するうえで必ずしも最適な解決策ではないとの知見が得られた。
本開示は、このような知見に基づいてなされたものであり、アノテーション作業に費やされる作業コストを削減する技術を提供することを目的とする。
本開示の一態様は、作業者が画像データにアノテーションデータを設定する作業をコンピュータが支援するアノテーション支援方法であって、第1画像データに対して前記アノテーションデータを設定する第1作業を前記作業者に行わせたときの第1作業時間を計測してメモリに記録し、所定の認識器により前記第1画像データを認識させた認識結果に基づいて設定した事前アノテーションデータに対して、前記事前アノテーションデータを修正する第2作業を前記作業者に行わせたときの第2作業時間を計測して前記メモリに記録し、前記メモリに記録された前記第1作業時間と前記第2作業時間とに基づいて前記第1作業と前記第2作業との速さを比較し、前記第1作業が前記第2作業よりも速い場合、前記事前アノテーションデータが設定されていない第2画像データに対する前記アノテーションデータの設定を前記作業者に要求し、前記第2作業が前記第1作業よりも速い場合、前記認識器により前記第2画像データを認識させた認識結果に基づいて設定した前記事前アノテーションデータの修正を前記作業者に要求する。
本構成は、事前アノテーションデータが設定されていない第1画像データに対してアノテーションデータを設定する第1作業を作業者が行ったときの実際の作業時間である第1作業時間と、認識器により第1画像データを認識させた認識結果に基づいて設定した事前アノテーションデータを修正する第2作業を作業者が行ったときの実際の作業時間である第2作業時間とが計測される。そして、計測された第1作業時間と第2作業時間とに基づいて第1作業と第2作業との速さが比較され、第1作業の方が速いと判定された場合、作業者には事前アノテーションデータが設定されていない第2画像データに対してアノテーションデータの設定が要求される。一方、第2作業の方が速いと判定された場合、作業者には第2画像データに対して設定された事前アノテーションデータの修正が要求される。
このように、本態様では、所定の認識器の認識結果を利用せずに、作業者がはじめからアノテーションデータを設定する作業を行った方が作業が速くなる場合は、作業者は事前アノテーションデータが設定されていない画像データに対してアノテーションデータを設定するアノテーション作業を行うことになる。一方、画像データの認識結果に基づいて設定された事前アノテーションデータを修正する作業を行った方が作業が速くなる場合は、作業者は事前アノテーションデータを修正するアノテーション作業を行うことになる。その結果、本態様は、アノテーション作業に費やされる作業時間及び人件費などの作業コストを削減できる。
上記態様において、前記事前アノテーションデータは、前記認識器が認識結果とともに出力する認識結果の信頼度の値が第1閾値以上の場合に設定され、前記第2作業時間の計測では、複数の第1閾値を設定し、前記複数の第1閾値ごとに前記第2作業時間を計測して前記メモリに記録し、さらに、前記複数の第1閾値ごとに計測された前記第2作業時間に基づいて、前記第1閾値の最適値を決定し、前記速さの比較では、前記第1閾値の最適値に対応する前記第2作業時間と前記第1作業時間とに基づいて前記速さを比較し、前記事前アノテーションデータの修正の要求では、前記事前アノテーションデータは、前記第1閾値の最適値を用いて設定されてもよい。
本構成によれば、認識対象物に対して事前アノテーションデータを設定するか否かの判定に用いられ、認識結果の信頼度との比較に用いられる第1閾値を変更させながら、第2作業時間の計測が行われ、計測された第2作業時間に基づいて第1閾値の最適値が決定される。したがって、本構成は、第2作業を効率良く行うことが可能な第1閾値の最適値を決定することができる。
そして、第1閾値の最適値を採用して事前アノテーションデータを設定した場合の第2作業時間と第1作業時間とに基づいて、第1作業と第2作業との速さが比較され、第1作業が速ければ、作業者には事前アノテーションデータが設定されていない第2画像データに対するアノテーションデータの設定が要求され、第2作業が速ければ、作業者には第2画像データに対して設定された事前アノテーションデータの修正が要求される。したがって、本構成は、信頼度に関する第1閾値を考慮に入れて、第1作業と第2作業とのうち、より作業効率の高い作業を決定し、決定した作業を作業者に行わせることができるため、アノテーション作業に対する作業コストをより確実に削減できる。
上記態様において、前記事前アノテーションデータは、前記第1画像データ又は前記第2画像データの画像座標系において認識対象物に対応する領域情報を含み、前記事前アノテーションデータは、前記領域情報が示す領域のサイズが第2閾値情報に含まれる下限閾値と上限閾値との範囲内である場合に設定され、前記第2作業時間の計測では、複数の第2閾値情報を設定し、前記複数の第2閾値情報ごとに前記第2作業時間を計測して前記メモリに記録し、前記メモリに記録された前記複数の第2閾値情報ごとに計測された前記第2作業時間に基づいて、前記第2閾値情報の最適値を決定し、前記速さの比較では、前記第2閾値情報の最適値に対する前記第2作業時間と前記第1作業時間とに基づいて前記速さを比較し、前記事前アノテーションデータの修正の要求では、前記事前アノテーションデータは、前記第2閾値情報の最適値を用いて設定されてもよい。
本構成によれば、認識対象物に対して事前アノテーションデータを構成する領域情報を設定するか否かの判定に用いられる第2閾値情報を変更させながら、第2作業時間の計測が行われ、計測された第2作業時間に基づいて第2閾値情報の最適値が決定される。したがって、本構成は、第2作業を効率良く行うことが可能な第2閾値情報の最適値を決定することができる。
そして、第2閾値情報の最適値を採用して事前アノテーションデータが設定された場合の第2作業時間と第1作業時間とに基づいて、第1作業と第2作業との速さが比較され、第1作業が速ければ、事前アノテーションデータが設定されていない第2画像データに対するアノテーションデータの設定が要求され、第2作業が速ければ、作業者には第2画像データに対して設定された事前アノテーションデータの修正が要求される。したがって、本構成は、第1作業と第2作業とのうち、より作業効率の高い作業を決定し、決定した作業を作業者に行わせることができるため、アノテーション作業に対する作業コストをより確実に削減できる。
上記態様において、前記第1閾値は、前記認識器が認識対象とする複数のクラスごとに最適値が設定されてもよい。
本構成によれば、第1閾値は、認識器が認識対象とする複数のクラスごとに最適値が設定される。したがって、本構成は、複数のクラスごとの第1閾値の最適値を考慮に入れて第1作業と第2作業とのうち、より作業効率の高い作業を決定し、決定した作業を作業者に行わせることができるため、アノテーション作業に対する作業コストをより確実に削減できる。
上記態様において、前記第1作業時間の計測では、撮像シーン及び画質の少なくとも一方を示す画像属性情報ごとに前記第1作業時間を計測して前記メモリに記録し、前記第2作業時間の計測では、前記画像属性情報ごとに前記第2作業時間を計測して前記メモリに記録し、さらに、作業対象画像データの前記画像属性情報を特定し、前記速さの比較では、特定した前記画像属性情報と、前記メモリに記録された前記画像属性情報ごとの前記第1作業時間と、前記メモリに記録された前記画像属性情報ごとの前記第2作業時間とに基づいて、前記作業対象画像データに対して前記第1作業と前記第2作業との速さを比較し、前記第1作業が前記第2作業よりも速い場合、前記事前アノテーションデータが設定されていない前記作業対象画像データに対する前記アノテーションデータの設定を前記作業者に要求し、前記第2作業が前記第1作業よりも速い場合、前記認識器により前記作業対象画像データを認識させた認識結果に基づいて設定した前記事前アノテーションデータの修正を前記作業者に要求してもよい。
本構成によれば、撮像シーン及び画質の少なくとも一方を含む画像属性情報ごとに第1作業時間と第2作業時間とが計測され、計測結果に基づいて、画像属性情報ごとに第1作業と第2作業との速さが比較される。そして、第1作業の方が速い画像属性情報を持つ作業対象画像データについては作業者に事前アノテーションデータが設定されていない第2画像データに対してアノテーションデータを設定する作業を行わせることができ、第2作業の方が速い画像属性情報を持つ作業対象画像データについては作業者に、第2画像データに対して設定された事前アノテーションデータを修正する作業を行わせることができる。そのため、本構成は、画像属性情報を考慮に入れて第1作業と第2作業とのうち、より作業効率の高い作業を決定し、決定した作業を作業者に行わせることができるため、アノテーション作業に対する作業コストをより確実に削減できる。
上記構成において、さらに、前記事前アノテーションデータが設定されていない第2画像データに対する前記アノテーションデータの設定の作業結果を取得し、さらに、前記第2画像データに設定された前記事前アノテーションデータの修正の作業結果を取得してもよい。
本構成によれば、事前アノテーションデータが設定されていない第2画像データに対するアノテーションデータの設定の作業結果と、第2画像データに設定された事前アノテーションデータの修正に対する作業結果とが取得されるため、認識器の学習データを容易に取得できる。
本開示は、このようなアノテーション支援方法に含まれる特徴的な各構成をコンピュータに実行させるアノテーション支援プログラム、或いはこのアノテーション支援プログラムによって動作するアノテーション支援システムとして実現することもできる。また、このようなコンピュータプログラムを、CD-ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態1)
図1は、本開示の実施の形態1に係るアノテーションシステムの全体構成の一例を示すブロック図である。アノテーションシステムは、作業者が画像データにアノテーションデータを設定するアノテーション作業を支援するシステムである。アノテーション作業は、学習対象となる認識器を機械学習する際に用いられる学習データを生成するために作業者によって行われる作業である。作業者はディスプレイに提示された画像から予め定められたクラスの認識対象物を見つけ出し、その認識対象物が写っている領域を示す領域情報を設定すると共に、その物体のクラスを示すクラスラベルを入力することで画像データにアノテーションデータを設定する。
認識対象物は、例えば、人物、普通乗用車、トラック、自転車、及びバイクなどである。クラスは、認識対象物の種別である。クラスラベルは、クラスの名称を示すテキストデータである。
作業者は、管理者から業務委託され、管理者から提供される画像データに対してアノテーションデータを設定する作業を行う人物である。管理者は、例えばアノテーション作業を管理する人物である。
アノテーションシステムは、サーバ100(アノテーション支援装置の一例)、作業者端末200、及び管理者端末300を含む。サーバ100及び作業者端末200はネットワーク400を介して相互に通信可能に接続されている。サーバ100及び管理者端末300はネットワーク400を介して相互に通信可能に接続されている。ネットワーク400は、例えば、インターネットなどの広域ネットワークである。
サーバ100は、例えば1以上のコンピュータで構成されるクラウドサーバである。サーバ100は、管理者端末300から提供される画像データを作業者端末200に表示させ、作業者にアノテーション作業を行わせ、アノテーションデータを取得する。サーバ100の詳細は図2を用いて後述する。
作業者端末200は、作業者が所持するコンピュータである。図1では、2つの作業者端末200が図示されているが、これは一例であり、作業者端末200は1つであってもよいし3つ以上であってもよい。
作業者端末200は、操作部201、表示部202、制御部203、及び通信部204を含む。操作部201は、例えばキーボード及びマウスなどの操作装置である。表示部202は、例えば液晶パネルなどの表示装置である。制御部203は、例えばCPUなどの電気回路である。制御部203は、アノテーション作業の対象となる画像データを表示部202に順次表示させる。制御部203は、表示部202に表示された画像に対して作業者が操作部201を操作して設定したアノテーションデータを取得する。通信部204は、作業者端末200をネットワーク400に接続させる通信回路である。通信部204は、制御部203が取得したアノテーションデータをサーバ100に送信する。通信部204は、サーバ100から送信された作業対象の画像データを受信する。
管理者端末300は、管理者が所持するコンピュータである。管理者端末300は、操作部301、プロセッサ302、通信部303、及びメモリ304を含む。
操作部301は、例えば、キーボード及びマウスなどの操作装置であり、管理者からの操作を受け付ける。プロセッサ302は、例えば、CPUなどの電気回路であり、管理者端末300の全体制御を司る。通信部303は、例えば、管理者端末300をネットワーク400に接続させる通信回路である。通信部303は、プロセッサ302の制御の下、例えば、画像データベース352に記憶された画像データ、認識器データベース355に記憶された認識器の構成データをサーバ100に送信する。通信部303は、サーバ100から送信された、作業履歴、分析データ、及びアノテーションデータを受信する。
プロセッサ302は、通信部303が受信した作業履歴を作業履歴データベース351に記憶させ、通信部303が受信したアノテーションデータをアノテーションデータベース353に記憶させ、通信部303が受信した分析データを分析データベース354に記憶させる。
メモリ304は、例えばハードディスクドライブ及びソリッドステートドライブなどの不揮発性の記憶装置であり、作業履歴データベース351、画像データベース352、アノテーションデータベース353、分析データベース354、及び認識器データベース355を含む。
作業履歴データベース351は、作業者によるアノテーション作業に対する作業履歴を記憶するデータベースである。作業履歴は、後述する測定フェーズにおいて作業者が行ったアノテーション作業に対する履歴である。作業履歴はサーバ100によって管理されており、管理者端末300は、サーバ100から送信された作業履歴を作業履歴データベース351に記憶させる。
画像データベース352は、アノテーション作業の対象となる画像データを記憶するデータベースである。画像データベース352に記憶される画像データは、予め管理者によって準備された画像データである。画像データは、例えば学習対象となる認識器が物体を認識するシーンが撮像された画像データである。学習対象となる認識器が自動運転車両に搭載される場合、画像データは、例えば自動運転車両の操縦席から撮像された交通シーンを示す画像データとなる。
管理者端末300は、画像データベース352に記憶された画像データをサーバ100に送信し、サーバ100に画像データを記憶させる。サーバ100は、管理者端末300から送信された画像データを作業者端末200に送信して作業者に提示して、作業者にアノテーション作業を行わせる。
アノテーションデータベース353は、作業者が画像データに設定したアノテーションデータを記憶するデータベースである。アノテーションデータは、サーバ100によって管理され、アノテーションデータベース353は、サーバ100から送信されたアノテーションデータを記憶する。
分析データベース354は、サーバ100がアノテーション作業に対する作業履歴を分析することで生成した分析データを記憶するデータベースである。
認識器データベース355は、事前アノテーションデータを生成するために使用される認識器の構成データを記憶するデータベースである。認識器は、例えば、ディープニューラルネットワーク、サポートベクターマシーンなどの種々の識別モデルによって構成されている。認識器は画像データを画像認識することで、認識結果を出力する。認識結果には、クラスラベル(人、車、バイクなど)を示すクラス情報と、領域情報と、認識結果に対する信頼度とが含まれる。事前アノテーションデータは、認識器による認識結果に基づいてアノテーション設定器が画像データに設定したアノテーションデータである。なお、アノテーション作業に用いられる認識器は学習対象となる認識器と同じ認識器であってもよいし、別の認識器であってもよい。認識器データベース355は、アノテーション作業に用いられることが予定される1以上の認識器の構成データを記憶する。
図2は、サーバ100の構成の一例を示すブロック図である。サーバ100は、プロセッサ110、メモリ120、及び通信部130を含む。プロセッサ110は、例えば、CPUなどの電気回路である。
プロセッサ110は、第1計測部111、第2計測部112、分析データ生成部113、比較部114、提示部115、及び作業結果取得部116を含む。
第1計測部111は、第1画像データに対してアノテーションデータを設定する第1作業を作業者に行わせたときの作業時間である第1作業時間を計測する。第1計測部111は、例えば、画像データベース121から任意に1枚の画像データを読み出すことで、第1画像データを取得すればよい。
第1計測部111は、例えば、作業者端末200において、1枚の第1画像データが表示されてからアノテーションデータが設定されるまでの時間を第1作業時間として計測し、計測結果から作業履歴を生成し、作業履歴データベース122に記憶する。作業者端末200は、1枚の第1画像データが表示部202に表示されたことを検知すると検知信号をサーバ100に送信する。また、作業者端末200は、1枚の第1画像データに対してアノテーションデータが設定されると、アノテーションデータをサーバ100に送信する。したがって、第1計測部111は、第1画像データに対する検知信号を通信部130が受信してから、通信部130がアノテーションデータを受信するまでの時間を計測するというように、1枚の第1画像データごとに第1作業時間を計測すればよい。そして、第1計測部111は、計測した第1作業時間を、作業種別と、第1画像データの識別子と、作業日時と、アノテーション作業を行った作業者の識別子と、アノテーション作業で用いられる認識器(以下、対象認識器と記述する)の識別子と対応付けて作業履歴を生成し、作業履歴データベース122に記憶すればよい。作業種別は、第1作業と後述の第2作業とを識別する情報である。
第1計測部111は、第1画像データを作業対象となる作業者端末200に送信するために通信部130に入力する。
第2計測部112は、認識器により第1画像データを認識させた認識結果に基づいて設定した事前アノテーションデータに対して、事前アノテーションデータを修正する第2作業を作業者に行わせたときの第2作業時間を計測し、計測結果から作業履歴を生成し、作業履歴データベース122に記憶する。
第2計測部112は、例えば、第1計測部111が画像データベース121から第1画像データとして取得した画像データと同じ画像データに対して事前アノテーションデータを設定してもよい。或いは、第2計測部112は、例えば、第1計測部111が画像データベース121から第1画像データとして取得した画像データとは別の画像データを第1画像データとして事前アノテーションデータを設定してもよい。
第2計測部112が第2作業時間を計測する方法は、例えば、上述した第1計測部111が第1作業時間を計測する方法と同じ方法が用いられる。第2計測部112は、計測した第2作業時間を、作業種別と、第1画像データの識別子と、作業日時と、作業者の識別子と、対象認識器の識別子と対応付けて作業履歴を生成し、作業履歴データベース122に記憶すればよい。第2計測部112は、認識器データベース124に記憶された認識器のうち、対象認識器を用いて第1画像データを生成すればよい。
第2計測部112は、第1画像データと、第1画像データに対する事前アノテーションデータとを作業対象の作業者端末200に送信するために通信部130に入力する。
第2計測部112は、画像データベース121から取得した第1画像データを認識器に入力して、認識結果を取得する。そして、第2計測部112は、取得した認識結果をアノテーション設定器に入力する。アノテーション設定器は入力された認識結果に基づいて事前アノテーションデータを生成し、第2計測部112に渡す。このようにして、第2計測部112は、第1画像データに対する事前アノテーションデータを生成する。事前アノテーションデータには、認識対象物に設定されたクラスラベルを示すラベル情報と、認識対象物が写っている領域を示す領域情報と、対象認識器の識別子などが含まれる。なお、認識器及びアノテーション設定器は、第2計測部112が備えていてもよいし、プロセッサ110内の別の構成要素が備えていてもよいし、外部サーバが備えていてもよい。領域情報は、認識対象物が写っている領域を示す枠の座標データである。枠が認識対象物に外接する四角形であるとすると、領域情報は例えば枠の左上の頂点の座標データと右下の頂点の座標データなどである。
以下、事前アノテーションデータが設定されていない第1画像データを画像データX1と称し、事前アノテーションデータが設定された第1画像データを画像データX2と称する。
分析データ生成部113は、作業履歴データベース122に記憶された第1作業時間と第2作業時間とに基づいて分析データを生成する。例えば、分析データ生成部113は、作業履歴データベース122に記憶された作業履歴から、第1作業時間の代表値と第2作業時間の代表値とを算出する。そして、分析データ生成部113は、第1作業時間の代表値と第2作業時間の代表値とを含む分析データを生成する。分析データ生成部113は、生成した分析データを、対象認識器の識別子と対応付けて分析データベース123に記憶する。代表値は、例えば平均値及び中央値などである。
比較部114は、対象認識器について第1作業と第2作業との速さを比較する。比較部114は、例えば、分析データベース123から対象認識器に対応する分析データを取得する。そして、比較部114は、分析データに含まれる第1作業時間の代表値が第2作業時間の代表値よりも短い場合、第1作業が第2作業よりも速いと判定する。一方、比較部114は、取得した分析データに含まれる第2作業時間の代表値が第1作業時間の代表値よりも短い場合、第2作業が第1作業よりも速いと判定する。
提示部115は、比較部114により第1作業が第2作業よりも速いと判定された場合、事前アノテーションデータが設定されていない第2画像データに対するアノテーションデータの設定を作業者に要求する。一方、提示部115は、比較部114により第2作業が第1作業よりも速いと判定された場合、認識器により第2画像データを認識させた認識結果に基づいて設定した事前アノテーションデータの修正を作業者に要求する。以下、事前アノテーションデータが設定されていない第2画像データを画像データX3と称し、事前アノテーションデータが設定された第2画像データを画像データX4と称する。
提示部115は、第1計測部111が計測に用いた画像データX1及び第2計測部112が計測に用いた画像データX2とは異なる画像データを画像データX3として画像データベース121から取得してもよい。さらに、提示部115は、画像データX3と同じ画像データに対して事前アノテーションデータが設定された画像データを画像データX4としてもよい。或いは、提示部115は、画像データX3とは別の画像データに対して事前アノテーションデータが設定された画像データを画像データX4としてもよい。
提示部115は、画像データX3と、画像データX4と、画像データX4に対する事前アノテーションデータとを作業対象となる作業者端末200に送信するために、通信部130に入力する。
作業結果取得部116は、作業者が作業者端末200を操作して画像データX3,X4に設定したアノテーションデータを通信部130を介して取得し、アノテーションデータベース125に記憶する。アノテーションデータベース125に記憶されるアノテーションデータには、アノテーションデータが設定された画像データX3,X4の識別子と、認識対象物に対する領域情報と、認識対象物に設定されたクラスラベルを示すラベル情報などが含まれる。
メモリ120は、例えばハードディスクドライブ及びソリッドステートドライブなどの不揮発性の記憶装置である。メモリ120は、画像データベース121、作業履歴データベース122、分析データベース123、認識器データベース124、及びアノテーションデータベース125を含む。
画像データベース121は、アノテーション作業に用いられる画像データを記憶するデータベースである。画像データベース121は、画像データと画像データの識別子とを対応付けて記憶する。
作業履歴データベース122は、第1計測部111により生成された作業履歴及び第2計測部112により生成された作業履歴を記憶するデータベースである。作業履歴は、上述のように、第1作業時間又は第2作業時間と、作業種別と、画像データX1又は画像データX2の識別子と、作業日時と、作業者の識別子と、対象認識器の識別子などが対応付けられたデータである。
分析データベース123は、分析データ生成部113が生成した分析データを記憶するデータベースである。分析データベース123は、分析データと、対象認識器の識別子とが対応付けられたデータベースである。
認識器データベース124は、対象認識器の構成データを記憶する。対象認識器がディープニューラルネットワークで構成される場合、対象認識器の構成データは、例えば、入力層を構成する複数のノードを示すデータと、複数の隠れ層を構成する複数のノードを示すデータと、出力層を構成する複数のノードを示すデータと、各ノードを結合するリンクの重み値などが含まれる。
アノテーションデータベース125は、作業結果取得部116が取得したアノテーションデータを記憶するデータベースである。
通信部130は、例えば、サーバ100をネットワーク400に接続するための通信回路である。通信部130は、プロセッサ110から入力された画像データX1~X4を作業対象となる作業者端末200に送信する。通信部130は、作業者端末200から、画像データが作業者端末200に表示されたことを知らせる検知信号と、作業者により設定されたアノテーションデータとを受信する。通信部130は、管理者端末300から、作業対象の画像データを受信し、画像データベース121に記憶させる。通信部130は、管理者端末300から、対象認識器の構成データを受信し、認識器データベース124に記憶させる。通信部130は、管理者端末300から対象認識器を指定するための指示情報を受信する。通信部130は、作業履歴データベース122に記憶された作業履歴と、分析データベース123に記憶された分析データと、アノテーションデータベース353に記憶されたアノテーションデータとを管理者端末300に送信する。
本実施の形態では、サーバ100は、まず、計測フェーズを実行し、次に、作業フェーズを実行する。計測フェーズは、画像データX1及び画像データX2に対するアノテーション作業を実際に作業者に行わせることで、第1作業時間と第2作業時間とを計測する。
作業フェーズは、計測フェーズによる計測結果に基づいて、第1作業が第2作業よりも速いと判定した場合は第1作業により作業者にアノテーション作業を行わせ、計測フェーズによる計測結果に基づいて、第2作業が第1作業よりも速いと判定した場合は、第2作業により作業者にアノテーション作業を行わせる。
計測フェーズでは、例えば、10枚から100枚程度の画像データX1に対して、複数の作業者にアノテーション作業を行わせて作業者ごと及び画像データX1ごとに第1作業時間が計測される。さらに、計測フェーズでは、例えば、画像データX1と同じ枚数の画像データX2に対して、複数の作業者にアノテーション作業を行わせて作業者ごと及び画像データX2ごとに第2作業時間が計測される。ここで、計測フェーズでは、複数の作業者のそれぞれに対して、同一の画像データX1及び画像データX2が提示されてもよいし、異なる画像データX1及び画像データX2が提示されてもよい。
作業フェーズでは、画像データベース121に記憶された数10万~数100万の画像データを複数の作業者に分担させてアノテーション作業を行わせ、アノテーションデータが取得される。なお、作業フェーズでは、計測フェーズで使用された画像データを含む画像データに対してアノテーション作業が行われても良いし、計測フェーズで使用された画像データ以外の画像データに対してアノテーション作業が行われても良い。
以下、実施の形態1におけるサーバ100の処理の詳細について説明する。図3は、実施の形態1において、サーバ100が作業者にアノテーション作業を行わせる場合の処理の一例を示すフローチャートである。図4は、図3の続きのフローチャートである。
ステップS101では、通信部130は、ある作業者端末200から作業開始要求を受信する。作業開始要求は、作業者がアノテーション作業の開始の意思表示を示すデータである。作業開始要求は、作業者が作業者端末200に対してアノテーション作業を開始する操作を入力した場合に、作業者端末200からサーバ100に送信される。以下、作業開始要求を送信した作業者端末200を第1作業者端末と記述する。
ステップS102では、比較部114は、分析データベース123において、対象認識器に対応する分析データを取得する。
ステップS103では、比較部114は、分析データベース123に対象認識器の分析データが記憶されており、分析データが取得できた場合(ステップS103でYES)、処理をステップS104に進める。一方、比較部114は、分析データベース123に対象認識器の分析データが記憶されておらず、分析データが取得できなかった場合(ステップS103でNO)、処理をステップS114に進める。
分析データベース123において、対象認識器に対する分析データが記憶されているということは、対象認識器についての計測フェーズが終了していることを意味する。したがって、図3のフローにおいて、S103でYES以降の処理は作業フェーズの処理となり、S103でNO以降の処理は計測フェーズの処理となる。
ステップS104では、比較部114は、分析データを参照し、第1作業と第2作業との速さを比較する。図6は、実施の形態1における分析データのデータ構成の一例を示す図である。図6に示すように分析データは、第1作業時間と第2作業時間とを含む。この第1作業時間と第2作業時間とは、計測フェーズにおいて算出された第1作業時間の代表値と第2作業時間の代表値とを示している。また、分析データには、対象認識器の識別子が対応付けられている。
比較部114は、分析データに含まれる第1作業時間が第2作業時間より短い場合、第1作業が第2作業より速いと判定し(ステップS104でNO)、処理をステップS110に進める。一方、比較部114は、分析データに含まれる第2作業時間が第1作業時間より短い場合、第2作業が第1作業より速いと判定し(ステップS104でYES)、処理をステップS105に進める。
ステップS105では、提示部115は、作業対象となる1枚の画像データを画像データX4として画像データベース121から取得し、画像データX4に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで、画像データX4に対する事前アノテーションデータを生成する。
ステップS106では、提示部115は、通信部130を介して第1作業者端末に、画像データX4と、画像データX4に対する事前アノテーションデータとを送信する。これにより、第1作業者端末は、表示部202に、事前アノテーションデータに基づいて、領域及びクラスラベルが重畳された画像データX4を表示する。作業者は、画像データX4に対して事前アノテーションデータを修正する第2作業を行う。当該画像データX4に対する第2作業が終了すると第1作業者端末は第2作業によって修正されたアノテーションデータをサーバ100に送信する。
ステップS107では、通信部130は、修正されたアノテーションデータを受信する。
ステップS108では、作業結果取得部116は、ステップS107で受信したアノテーションデータをアノテーションデータベース125に記憶する。
ステップS109では、作業結果取得部116は、通信部130が第1作業者端末から作業終了要求を受信したか否かを判定する。作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS109でYES)、処理を終了する。一方、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(ステップS109でNO)、処理をステップS105に戻す。これにより、ステップS105以降の処理が実行され、次の画像データX4が第1作業者端末に送信されることになる。作業終了要求は、第1作業者端末の作業者がアノテーション作業の終了の意思表示を示すデータである。
以上により、作業開始要求が送信されてから作業終了要求が送信されるまでの期間、第1作業者端末に順次画像データX4と画像データX4に対する事前アノテーションデータとが送信され、作業者は、順次送信された画像データX4に対して第2作業を行うことになる。
ステップS110では、提示部115は、作業対象となる1枚の画像データを画像データX3として画像データベース121から取得し、第1作業者端末に通信部130を介して送信する。画像データX3は事前アノテーションデータが設定されていない画像データである。これにより、第1作業者端末は、表示部202に画像データX3を表示する。作業者は、事前アノテーションデータが設定されていない画像データX3に対してアノテーションデータをはじめから設定する第1作業を行う。当該画像データX3に対する第1作業が終了すると第1作業者端末は第1作業によって設定されたアノテーションデータをサーバ100に送信する。
ステップS111では、通信部130は、アノテーションデータを受信する。ステップS112の処理はステップS108と同じである。ステップS113では、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(ステップS113でNO)、処理をステップS110に戻す。一方、作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS113でYES)、処理を終了する。
以上により、作業開始要求が送信されてから作業終了要求が送信されるまでの期間、第1作業者端末に順次画像データX3が送信され、作業者は、順次送信された画像データX3に対して第1作業を行うことになる。
ステップS114では、第1計測部111は、画像データベース121から1枚の画像データを画像データX1として取得する。
ステップS115では、第2計測部112は、画像データベース121から1枚の画像データを画像データX2として取得し、画像データX2に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで、画像データX2に対する事前アノテーションデータを生成する。
ステップS116では、通信部130は、画像データX1と、画像データX2と、画像データX2に対する事前アノテーションデータとを第1作業者端末に送信する。これにより、第1作業者端末は、表示部202に画像データX1及び画像データX2を順次表示する。なお、第1作業者端末は、画像データX1及び画像データX2が表示されたとき、表示タイミングを知らせる検知信号をサーバ100に送信する。作業者は、事前アノテーションデータが設定されていない画像データX1に対してアノテーションデータをはじめから設定する第1作業を行う。さらに、作業者は、事前アノテーションデータが設定された画像データX2に対して事前アノテーションデータを修正する第2作業を行う。画像データX1に対する第1作業が終了すると第1作業者端末は第1作業によって設定されたアノテーションデータをサーバ100に送信する。また、画像データX2に対する第2作業が終了すると第1作業者端末は第2作業によって修正されたアノテーションデータをサーバ100に送信する。
ステップS117では、作業結果取得部116は、画像データX1及び画像データX2のそれぞれに対するアノテーションデータを第1作業者端末から受信し、アノテーションデータベース125に記憶する。
S118では、第1計測部111は、第1計測時間を計測して作業履歴を生成し、作業履歴データベース122に記憶すると共に、第2計測部112は、第2計測時間を計測して作業履歴を生成し、作業履歴データベース122に記憶する。この場合、第1計測部111は、画像データX1について第1作業者端末での表示を知らせる検知信号を受信してからアノテーションデータを受信するまでの時間を第1作業時間として計測すればよい。第2計測部112も、第1計測部111と同様にして第2作業時間を計測すればよい。
ステップS119では、作業結果取得部116は、通信部130が第1作業者端末から作業終了要求を受信したか否かを判定する。作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS119でYES)、処理を終了する。
一方、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(S119でNO)、処理をステップS114に戻す。これにより、ステップS114以降の処理が実行され、次の画像データX1と、画像データX2と、画像データX2に対する事前アノテーションデータとが第1作業者端末に送信されることになる。
以上により、計測フェーズでは、画像データX1と、画像データX2と、画像データX2に対する事前アノテーションデータとが第1作業者端末に順次送信され、第1作業時間及び第2作業時間が順次計測され、計測結果を含む作業履歴が作業履歴データベース122に記憶されることになる。
なお、図4のステップS116では、画像データX1と、画像データX2及び画像データX2に対する事前アノテーションデータとが同時に送信されているが、本開示はこれに限定されず、サーバ100は、画像データX1に対するアノテーションデータを受信した後に画像データX2と画像データX2に対する事前アノテーションデータとを送信してもよい。
次に、分析データの生成について説明する。図5は、実施の形態1においてサーバ100が分析データを生成する処理の一例を示す図である。サーバ100は、対象認識器について、作業履歴データベース122に記憶された第1計測時間及び第2計測時間が一定数に到達した場合に、図5に示すフローを実行する。
ステップS201では、分析データ生成部113は、対象認識器に対応する作業履歴を作業履歴データベース122から取得する。
ステップS202では、分析データ生成部113は、ステップS201で取得した作業履歴に記憶された第1作業時間から第1作業時間の代表値を算出する。ステップS203では、分析データ生成部113は、ステップS201で取得した作業履歴に記憶された第2作業時間から第2作業時間の代表値を算出する。
ステップS204では、分析データ生成部113は、ステップS202で算出した第1作業時間の代表値と、第2作業時間の代表値と、対象認識器の識別子とを対応付けることで分析データを生成する。
ステップS205では、分析データ生成部113は、ステップS205で生成した分析データを分析データベース123に記憶する。これにより、図6に示すような分析データが分析データベース123に記憶される。
次に、アノテーション作業の具体例について説明する。図7は、アノテーション作業を行う場合に、作業者端末200に表示される作業画面の一例を示す図である。作業画面は、作業対象となる画像データの画像欄R1と、クラスラベル入力欄R2とを含む。クラスラベル入力欄R2は、認識対象物のクラスラベルを入力する欄である。作業者は、操作部201を操作して、認識対象物に外接する枠を画像欄R1に設定する。ここでは、横断歩道を左側から右側に向けて歩行する歩行者に対して枠W1が設定されている。さらに、横断歩道を右側から左側に向けて歩行する歩行者に対して枠W2が設定されている。さらに、道路を走行する車に対して枠W3が設定されている。
ここでは、認識対象物のクラスとして、「歩行者」、「自転車+搭乗者」、「車」、「トラック」、「バイク+搭乗者」が予め定められている。そのため、クラスラベル入力欄R2には、これらを選択するためのGUI部品が表示されている。例えば、作業者は歩行者に対して枠W1を設定した場合、操作部201を操作して、クラスラベル入力欄R2から歩行者を選択する。すると、図8に示すように、歩行者の枠W1の上部に歩行者と記載されたクラスラベルが表示される。作業者はこのような作業を繰り返し、画像データにアノテーションデータを設定する。
図8は、事前アノテーションデータの設定結果を示す図である。図8において、左図は高精度の認識器による認識結果に基づいて設定された事前アノテーションデータの設定結果を示し、右図は低精度の認識器による認識結果に基づいて設定された事前アノテーションデータの設定結果を示している。
図8の左図に示すように、認識器が高精度である場合、歩行者を正確に取り囲む枠W1が設定されている。さらに、歩行者に対しては歩行者のクラスラベルが設定され、車に対しては車のクラスラベルが設定され、正確なクラスラベル付けが行われていることが分かる。この場合、作業者がこの画像データに対して第2作業を行った場合、作業者の負荷は小さくなる。
一方、図8の右図に示すように、認識器が低精度である場合、木が歩行者と認識される誤検出、枠W1が歩行者の全体を正確に取り囲んでいない枠ずれ、車に対してトラックのクラスラベル付けが行われるラベル誤り、及び右端の歩行者が検出されていない検出漏れなどが発生する。この場合、作業者がこの画像データに対して第2作業を行った場合、作業者の負荷は大きくなる。そして、認識器が高精度であるか否かは、実際に認識器に画像データを認識させなければ分からない。
そこで、本実施の形態では、事前アノテーションデータが設定された画像データと事前アノテーションデータが設定されていない画像データとのそれぞれに対する作業時間を実際に計測する。そして、作業フェーズにおいては、計測結果から第1作業及び第2作業のいずれが速いかを判定し、速い方の作業を作業者に課すことにした。
図9は、第1作業時間と第2作業時間との計測結果の一例を示す図である。図9において、上段は第1作業時間の計測結果を示し、下段は第2作業時間の計測結果を示している。
図9の上段の左図は、事前アノテーションデータが設定されていない画像データである画像データX1を示している。図9の上段の右図は、図9の上段の左図に対して作業者が第1作業を行った場合の作業結果を示している。図9の上段の例では、第1作業時間として1分が計測されている。
図9の下段の左図は、事前アノテーションデータが設定された画像データである画像データX2を示している。図9の下段の右図は、図9の下段の左図に対して作業者が第2作業を行った場合の作業結果を示している。図9の下段の例では、第2作業時間として2分が計測されている。
したがって、図9のケースでは、第1作業時間の方が第2作業時間よりも短いため、第1作業を行った方が第2作業を行うよりも作業コストが低いことが分かる。そこで、本実施の形態では、対象認識器に対する計測結果が全体的に図9に示すような傾向を示す場合、作業フェーズでは作業者に第1作業を課す。
図10は、第1作業時間と第2作業時間との計測結果の一例を示す図である。図10において、上段は第1作業時間の計測結果を示し、下段は第2作業時間の計測結果を示している。
図10の上段の左図は、事前アノテーションデータが設定されていない画像データX1を示している。図10の上段の右図は、図10の上段の左図に対して作業者が第1作業を行った場合の作業結果を示している。図10の上段の例では、第1作業時間として1分が計測されている。
図10の下段の左図は、事前アノテーションデータが設定された画像データである画像データX2を示している。図10の下段の右図は、図10の下段の左図に対して作業者が第2作業を行った場合の作業結果を示している。図10の下段の例では、第2作業時間として30秒が計測されている。
したがって、図10のケースでは、第2作業時間の方が第1作業時間よりも短いため、第2作業を行った方が第1作業を行うよりも作業コストが低くなる。そこで、本実施の形態では、対象認識器に対する計測結果が全体的に図10に示すような傾向を示す場合、作業フェーズでは作業者に第2作業を課す。
このように、本実施の形態では、特定の認識器について、作業者がはじめからアノテーションデータを設定する作業を行った方がアノテーションデータを設定する作業が速くなる場合は、作業者は事前アノテーションデータが設定されていない画像データに対してアノテーション作業を行うことになる。一方、事前アノテーションデータが設定された画像データに対して作業者が事前アノテーションデータを修正する作業を行った方がアノテーション作業が速くなる場合は、作業者は事前アノテーションデータが設定された画像データに対してアノテーション作業を行うことになる。その結果、本態様は、アノテーション作業に費やされる作業時間及び人件費などの作業コストを削減できる。
(実施の形態2)
実施の形態2は、対象認識器が画像データに対して事前アノテーションデータを設定するか否かの判別に用いる信頼度に対する第1閾値の最適値を決定するものである。なお、本実施の形態において実施の形態1と同一の構成要素については同一の符号を付し、説明を省略する。また、本実施の形態2おいて、アノテーションシステムの全体構成は図1と同じであり、サーバ100の構成は図2と同じであるため、図1及び図2を用いて説明する。このことは後述する実施の形態についても同じである。
事前アノテーションデータは、認識器が認識結果とともに出力する認識結果の信頼度の値が第1閾値以上の場合、その認識対象物に設定される。
図2を参照する。本実施の形態において、第2計測部112は、複数の第1閾値を設定し、複数の第1閾値ごとに第2作業時間を計測し、計測結果に基づいて作業履歴を生成し、作業履歴データベース122に記憶する。
本実施の形態において、分析データ生成部113は、複数の第1閾値ごとに計測された第2作業時間を作業履歴データベース122から取得し、複数の第1閾値のそれぞれに対する第2作業時間の代表値を算出して分析データを生成し、分析データベース123に記憶する。そして、分析データ生成部113は、生成した分析データにおいて、第2作業時間が最短の第1閾値を第1閾値の最適値として決定する。
本実施の形態において、比較部114は、分析データベース123から分析データを取得し、分析データに含まれる、第1作業時間と、第1閾値の最適値に対応する第2作業時間とを比較し、第1作業と第2作業との速さを比較する。
本実施の形態において、提示部115は、第2作業の方が第1作業よりも速いと判定された場合、第1閾値の最適値を用いた画像データX4の画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX4に対する事前アノテーションデータを生成する。そして、提示部115は、画像データX4と、画像データX4に対する事前アノテーションデータとを、通信部130を介して作業者端末200に送信する。
図11は、実施の形態2において、サーバ100が作業者にアノテーション作業を行わせる場合の処理の一例を示すフローチャートである。図12は、図11の続きのフローチャートである。
ステップS301,S302の処理は、図3のステップS101,S102と同じである。但し、ステップS302では、図14に示す分析データが取得される。図14は、実施の形態2における分析データの一例を示す図である。
図14に示す分析データには、第1作業時間と複数の第1閾値ごとの第2作業時間とが含まれている。本実施の形態の計測フェーズでは、第1閾値を変化させて、複数の第1閾値ごとに複数の第2作業時間が計測される。そして、計測結果から複数の第1閾値ごとに第2作業時間の代表値が算出されて分析データが生成される。そのため、図14に示す分析データでは、第2作業時間は複数の第1閾値ごとの第2作業時間の代表値を示している。ここでは、第1閾値TH1_1,TH1_2,・・・,TH1_nというように、分析データは、n(nは2以上の整数)個の第1閾値TH1のそれぞれに対する第2作業時間を含んでいる。
さらに、計測フェーズでは、第1閾値ごとに算出された第2作業時間の代表値のうち最短の第2作業時間の代表値に対応する第1閾値が第1閾値の最適値として決定される。図14の例では、矢印で示す第1閾値TH1_2が第1閾値の最適値として決定されている。
一方、第1作業時間の計測において対象認識器は用いられていない。そのため、図14に示す分析データでは、第1作業時間は、第1閾値TH1ごとに算出されていない。
また、図14に示す分析データには、第1作業時間と第2作業時間とのそれぞれに対して、対象認識器の識別子が対応付けられている。
ステップS303の処理は、図3のステップS103と同じである。ステップS304では、比較部114は、分析データを参照し、第1作業と第2作業との速さを比較する。図14の例では、第1閾値TH1_2が最適値であるため、第1閾値TH1_2の第2作業時間と、第1作業時間とが比較される。そして、第2作業時間が第1作業時間よりも短ければ、第2作業が第1作業よりも速いと判定され(ステップS304でYES)、処理はステップS305に進む。一方、第1作業時間が第1閾値TH1_2の第2作業時間よりも短ければ、第1作業が第2作業よりも速いと判定され(ステップS304でNO)、処理はステップS311に進む。
ステップS305では、比較部114は、分析データから第1閾値の最適値を取得する。図14の例では、第1閾値TH1_2が最適値として取得される。
ステップS306では、提示部115は、作業対象となる1枚の画像データを画像データX4として画像データベース121から取得し、画像データX4に対して第1閾値の最適値を用いた画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX4に対する事前アノテーションデータを生成する。
ステップS307~ステップS310の処理は、図3のステップS106~ステップS109と同じである。ステップS311~ステップS314の処理は、図3のステップS110~S113と同じである。
ステップS315では、第2計測部112は、第1閾値を設定する。この場合、第1閾値は、予め定められた数値範囲内で所定のステップ幅で増大又は減少するように順次設定される。
ステップS316の処理は図4のステップS114と同じである。ステップS317では、第2計測部112は、画像データベース121から1枚の画像データを画像データX2として取得し、ステップS315で設定した第1閾値の最適値を用いた画像データX2に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX2に対する事前アノテーションデータを生成する。
ステップS318~ステップS320の処理は、ステップS116~ステップS118の処理と同じである。
ステップS321では、第2計測部112は、第1閾値の変更の有無を判定する。ここで、第2計測部112は、ステップS315で設定した第1閾値に対して所定数の第1作業時間及び第2作業時間の計測結果が得られた場合、第1閾値を変更すると判定し(ステップS321でYES)、処理をステップS322に進める。一方、第2計測部112は、所定数の第1作業時間及び第2作業時間の計測結果が得られていない場合、第1閾値を変更しないと判定し(ステップS321でNO)、処理をステップS316に戻す。これにより、ステップS315において設定された1の第1閾値に対して所定数の第1作業時間及び第2作業時間の計測結果が得られるまで、ステップS316~ステップS321の処理が繰り返される。
ステップS322では、作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS322でYES)、処理を終了する。一方、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(ステップS322でNO)、処理をステップS315に戻す。これにより、ステップS315において次の第1閾値が設定され、ステップS316以降の処理が実行される。
以上により、計測フェーズでは、画像データX1と、画像データX2と、画像データX2に対する事前アノテーションデータとが第1作業者端末に順次送信され、複数の第1閾値の各々に対して所定数の第1作業時間及び第2作業時間が順次計測され、計測結果を含む作業履歴が作業履歴データベース122に記憶されることになる。
図13は、実施の形態2においてサーバ100が分析データを生成する処理の一例を示す図である。ステップS401、ステップS402の処理は図5のステップS201、ステップS202と同じである。
ステップS403では、分析データ生成部113は、ステップS401で取得した作業履歴を複数の第1閾値ごとに分類し、複数の第1閾値ごとに第2作業時間の代表値を算出する。
ステップS404では、分析データ生成部113は、第1作業時間の代表値と、複数の第1閾値ごとに算出された第2作業時間の代表値とを含む分析データを生成する。これにより、図14に示す分析データが生成される。
ステップS405では、分析データ生成部113は、ステップS404で生成した分析データにおいて、複数の第1閾値のうち、第1閾値の最適値を決定する。図14の例では、第1閾値TH1_2に対応する第2作業時間が最短であったため、第1閾値TH1_2が第1閾値の最適値として決定されている。
ステップS406では、分析データ生成部113は、ステップS404で生成した分析データを、ステップS405で決定した第1閾値の最適値を示す情報と、対象認識器の識別子と対応付けて分析データベース123に記憶する。
このように、本実施の形態によれば、認識対象物に対して事前アノテーションデータを設定するか否かの判定に用いられ、認識結果の信頼度との比較に用いられる第1閾値を変更させながら、第2作業時間の計測が行われ、計測された第2作業時間に基づいて第1閾値の最適値が決定される。したがって、本構成は、第2作業を効率良く行うことが可能な第1閾値の最適値を決定することができる。
(実施の形態3)
実施の形態3は、領域情報が示す領域のサイズに関する第2閾値情報の最適値を決定するものである。
対象認識器は、画像データから認識対象物を認識した場合、認識した認識対象物に対して設定する領域情報が示す領域のサイズが、第2閾値情報に含まれる下限閾値と上限閾値との範囲内であれば、領域情報を設定する。画像データ上に現れた物体のサイズが過度に小さくなる或いは過度に大きくなると対象認識器の認識精度は低下する。したがって、領域のサイズに閾値を設けることで、対象認識器が認識対象物を誤検出することへの抑制が図られている。
尚、領域のサイズとは、領域の縦幅、横幅、及び面積の少なくとも1つを示してもよい。また、対象認識器が出力する領域情報が示す領域が矩形でない場合、領域のサイズは、領域の外接矩形の縦幅、横幅、及び面積の少なくとも1つの情報が採用されてもよい。
図2を参照する。本実施の形態において、第2計測部112は、複数の第2閾値情報を設定し、複数の第2閾値情報ごとに第2作業時間を計測し、計測結果に基づいて作業履歴を生成し、作業履歴データベース122に記憶する。
本実施の形態において、分析データ生成部113は、複数の第2閾値情報ごとに計測された第2作業時間を作業履歴データベース122から取得し、複数の第2閾値情報のそれぞれに対する第2作業時間の代表値を算出して分析データを生成し、分析データベース123に記憶する。そして、分析データ生成部113は、生成した分析データにおいて、第2作業時間が最短の第2閾値情報を第2閾値情報の最適値として決定する。
本実施の形態において、比較部114は、分析データベース123から分析データを取得し、分析データに含まれる、第1作業時間と、第2閾値情報の最適値に対応する第2作業時間とを比較し、第1作業と第2作業との速さを比較する。
本実施の形態において、提示部115は、第2作業の方が第1作業よりも速いと判定された場合、第2閾値情報の最適値を用いた画像データX4の画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX4に対する事前アノテーションデータを生成する。そして、提示部115は、画像データX4と、画像データX4に対する事前アノテーションデータとを通信部130を介して作業者端末200に送信する。
図15は、実施の形態3において、サーバ100が作業者にアノテーション作業を行わせる場合の処理の一例を示すフローチャートである。図16は、図15に続くフローチャートである。ステップS501,S502の処理は、図3のステップS101,S102と同じである。但し、ステップS502では、図18に示す分析データが取得される。図18は、実施の形態3における分析データの一例を示す図である。
図18に示す分析データには、第1作業時間と複数の第2閾値情報ごとの第2作業時間とが含まれている。本実施の形態の計測フェーズでは、第2閾値情報を変化させて、複数の第2閾値情報ごとに複数の第2作業時間が計測される。そして、計測結果から複数の第2閾値情報ごとに第2作業時間の代表値が算出されて分析データが生成される。そのため、図18に示す分析データでは、第2作業時間は、複数の第2閾値情報ごとの第2作業時間の代表値を示している。ここでは、第2閾値情報TH2_1,TH2_2,・・・,TH2_nというように、分析データは、n(nは2以上の整数)個の第2閾値情報TH2のそれぞれに対する第2作業時間を含んでいる。
さらに、計測フェーズでは、第2閾値情報ごとに算出された第2作業時間の代表値のうち、最短の第2作業時間の代表値に対応する第2閾値情報が第2閾値情報の最適値として決定される。図18の例では、矢印で示す第2閾値情報TH2_2が第2閾値情報の最適値として決定されている。
一方、第1作業時間の計測において対象認識器は用いられていない。そのため、図18に示す分析データでは、第1作業時間は、第2閾値情報TH2ごとに算出されていない。
また、図18に示す分析データには、第1作業時間と第2作業時間とのそれぞれに対して、対象認識器の識別子が対応付けられている。
ステップS503の処理は、図3のステップS103と同じである。ステップS504では、比較部114は、分析データを参照し、第1作業と第2作業との速さを比較する。図18の例では、第2閾値情報TH2_2が最適値であるため、第2閾値情報TH2_2の第2作業時間と、第1作業時間とが比較される。そして、第2閾値情報TH2_2の第2作業時間が第1作業時間よりも短ければ、第2作業が第1作業よりも速いと判定され(ステップS504でYES)、処理はステップS505に進む。一方、第1作業時間が第2閾値情報TH2_2の第2作業時間よりも短ければ、第1作業が第2作業よりも速いと判定され(ステップS504でNO)、処理はステップS511に進む。
ステップS505では、比較部114は、分析データから第2閾値情報の最適値を取得する。図18の例では、第2閾値情報TH2_2が最適値として取得される。
ステップS506では、提示部115は、作業対象となる1枚の画像データを画像データX4として画像データベース121から取得し、画像データX4に対して第2閾値情報の最適値を用いた画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX4に対する事前アノテーションデータを生成する。この場合、第2閾値情報の下限閾値より領域のサイズが小さい領域情報又は第2閾値情報の上限閾値より領域のサイズが大きい領域情報は設定されない。
ステップS507~ステップS510の処理は、図3のステップS106~ステップS109と同じである。ステップS511~ステップS514の処理は、図3のステップS110~ステップS113と同じである。
ステップS515では、第2計測部112は、第2閾値情報を設定する。この場合、第2閾値情報は、上限閾値及び下限閾値のそれぞれが予め定められた数値範囲内で所定のステップ幅で増大又は減少するように順次設定される。例えば、第2計測部112は、上限閾値を予め定められた上限閾値の数値範囲内のある値に固定した状態で、下限閾値を予め定められた下限閾値の数値範囲内で所定のステップ幅で増大又は減少させる。そして、下限閾値の数値範囲内の全ての設定が終了すると、次に、第2計測部112は、上限閾値を所定のステップ幅で増大又は減少させてある値に固定した状態で、下限閾値を予め定められた下限閾値の数値範囲内で所定のステップ幅で増大又は減少させるという処理を繰り返すことで第2閾値情報を設定すればよい。或いは、第2計測部112は、上限閾値及び下限閾値の一方を固定値として、上限閾値及び下限閾値の他方のみを予め定められた数値範囲内で所定のステップ幅で増大又は減少させて第2閾値情報を設定してもよい。
ステップS516の処理は図4のステップS114と同じである。ステップS517では、第2計測部112は、画像データベース121から1枚の画像データを画像データX2として取得し、ステップS515で設定した第2閾値情報の最適値を用いた画像データX2に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX2に対する事前アノテーションデータを生成する。
ステップS518~ステップS520の処理は、図4のステップS116~ステップS118の処理と同じである。
ステップS521では、第2計測部112は、第2閾値情報の変更の有無を判定する。ここで、第2計測部112は、ステップS515で設定した第2閾値情報に対して所定数の第1作業時間及び第2作業時間の計測結果が得られた場合、第2閾値情報を変更すると判定し(ステップS521でYES)、処理をステップS522に進める。一方、第2計測部112は、所定数の第1作業時間及び第2作業時間の計測結果が得られていない場合、第2閾値情報を変更しないと判定し(ステップS521でNO)、処理をステップS516に戻す。これにより、ステップS515において設定された1の第2閾値情報に対して所定数の第1作業時間及び第2作業時間の計測結果が得られるまで、ステップS516~ステップS521の処理が繰り返される。
ステップS522では、作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS522でYES)、処理を終了する。一方、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(ステップS522でNO)、処理をステップS515に戻す。これにより、ステップS515において次の第2閾値情報が設定され、ステップS516以降の処理が実行される。
以上により、計測フェーズでは、画像データX1及び画像データX2が第1作業者端末に順次送信され、複数の第2閾値情報の各々に対して所定数の第1作業時間及び第2作業時間が順次計測され、計測結果を含む作業履歴が作業履歴データベース122に記憶されることになる。
図17は、実施の形態3においてサーバ100が分析データを生成する処理の一例を示す図である。ステップS601、ステップS602の処理は図5のステップS201、ステップS202と同じである。
ステップS603では、分析データ生成部113は、ステップS601で取得した作業履歴を複数の第2閾値情報ごとに分類し、複数の第2閾値情報ごとに第2作業時間の代表値を算出する。
ステップS604では、分析データ生成部113は、第1作業時間の代表値と、複数の第2閾値情報ごとに算出された第2作業時間の代表値とを含む分析データを生成する。これにより、図18に示す分析データが生成される。
ステップS605では、分析データ生成部113は、ステップS604で生成した分析データにおいて、複数の第2閾値情報のうち、第2閾値情報の最適値を決定する。図18の例では、第2閾値情報TH2_2に対応する第2作業時間が最短であったため、第2閾値情報TH2_2が第2閾値情報の最適値として決定されている。
ステップS606では、分析データ生成部113は、ステップS604で生成した分析データを、ステップS605で決定した第2閾値情報の最適値を示す情報と、アノテーション作業に用いられる対象認識器の識別子と対応付けて分析データベース123に記憶する。
以上のように、本実施の形態では、領域情報が示す領域のサイズに関する第2閾値情報の最適値が決定され、決定された第2閾値情報の最適値を用いて事前アノテーションデータが設定された場合の第2作業時間と第1作業時間とに基づいて、第1作業と第2作業との速さが比較されている。したがって、本実施の形態は、第1作業と第2作業とのうち、より作業効率の高い作業を決定し、決定した作業を作業者に行わせることができるため、アノテーション作業に対する作業コストをより確実に削減できる。
(実施の形態4)
実施の形態4は、実施の形態2で説明した第1閾値の最適値を認識対象物のクラスごとに決定するものである。以下、本実施の形態において、信頼度に関する閾値を第3閾値と記述する。
図2を参照する。本実施の形態において、第2計測部112は、複数のクラスのそれぞれについて複数の第3閾値を設定し、複数のクラスのそれぞれについて、複数の第3閾値ごとに複数の第2作業時間を計測し、計測結果に基づいて作業履歴を生成し、作業履歴データベース122に記憶する。
本実施の形態において、分析データ生成部113は、複数のクラスのそれぞれについて複数の第3閾値ごとに計測された複数の第2作業時間を作業履歴データベース122から取得し、複数のクラスのそれぞれについて複数の第3閾値ごとに第2作業時間の代表値を算出して分析データを生成し、分析データベース123に記憶する。そして、分析データ生成部113は、生成した分析データにおいて、複数のクラスのそれぞれについて第2作業時間が最短となる第3閾値を第3閾値の最適値として決定する。
本実施の形態において、比較部114は、分析データベース123から分析データを取得し、分析データに含まれる、第1作業時間と、複数のクラスごとの第2作業時間とを比較し、第1作業と第2作業との速さを比較する。
本実施の形態において、提示部115は、第2作業が第1作業よりも速いと判定された場合、複数のクラスごとの第3閾値の最適値をそれぞれ用いた画像データX4に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで、画像データX4に対する事前アノテーションデータを生成する。そして、提示部115は、画像データX4と、画像データX4に対する事前アノテーションデータとを通信部130を介して作業者端末200に送信する。
図19は、実施の形態4において、サーバ100が作業者にアノテーション作業を行わせる場合の処理の一例を示すフローチャートである。図20は、図19に続くフローチャートである。ステップS701,S702の処理は、図3のステップS101,S102と同じである。但し、ステップS702では、図22に示す分析データが取得される。図22は、実施の形態4における分析データの一例を示す図である。
図22に示す分析データには、第1作業時間と、複数のクラスのそれぞれについて、複数の第3閾値ごとの第2作業時間とが含まれている。本実施の形態の計測フェーズでは、複数のクラスのそれぞれについて、第3閾値を変化させて、複数のクラスのそれぞれについて、複数の第3閾値ごとに複数の第2作業時間が計測される。そして、計測結果から、複数のクラスのそれぞれについて、複数の第3閾値ごとに第2作業時間の代表値が算出されて分析データが生成される。そのため、図22に示す分析データでは、複数のクラスのそれぞれにおける第2作業時間は、複数の第3閾値ごとの第2作業時間の代表値を示している。ここでは、クラスY1の認識対象物について、第3閾値TH3_1,TH3_2,・・・,TH3_n、クラスY2の認識対象物について、第3閾値TH3_1,TH3_2,・・・,TH3_nというように、分析データは、複数のクラスのそれぞれについて、n(nは2以上の整数)個の第3閾値TH3のそれぞれに対する第2作業時間を含んでいる。
さらに、計測フェーズでは、複数のクラスのそれぞれについて、第3閾値ごとに算出された第2作業時間の代表値のうち、最短の第2作業時間の代表値に対応する第3閾値が第3閾値の最適値として決定される。図22の例では、クラスY1の認識対象物について矢印で示す第3閾値TH3_2が第3閾値の最適値として決定され、クラスY2の認識対象物について矢印で示す第3閾値TH3_1が第3閾値の最適値として決定されている。
一方、第1作業時間の計測においては対象認識器は用いられていない。そのため、図22に示す分析データでは、第1作業時間は、第3閾値TH3ごとに算出されていない。
また、図22に示す分析データには、第1作業時間と第2作業時間とのそれぞれに対して、対象認識器の識別子が対応付けられている。
ステップS703の処理は、図3のステップS103と同じである。ステップS704では、比較部114は、分析データを参照し、第1作業と第2作業との速さを比較する。
図22の例では、クラスY1は、第3閾値TH3_2が最適値であり、クラスY2は、第3閾値TH3_1が最適値であるため、クラスY1の第3閾値TH3_2の第2作業時間と、クラスY2の第2作業時間との平均時間が算出される。そして、第2作業時間の平均時間と第1作業時間とが比較される。そして、第2作業時間の平均時間が第1作業時間よりも短ければ、第2作業が第1作業よりも速いと判定され(ステップS704でYES)、処理はステップS705に進む。一方、第1作業時間が第2作業時間の平均時間よりも短ければ、第1作業が第2作業よりも速いと判定され(ステップS704でNO)、処理はステップS711に進む。
ステップS705では、比較部114は、分析データから複数のクラスのそれぞれについての第3閾値の最適値を取得する。図22の例では、クラスY1については第3閾値TH3_2が最適値として取得され、クラスY2については第3閾値TH3_1が最適値として取得される。
ステップS706では、提示部115は、作業対象となる1枚の画像データを画像データX4として画像データベース121から取得し、ステップS705で取得したクラスごとの第3閾値の最適値をそれぞれ用いた画像データX4に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX4に対する事前アノテーションデータを生成する。この場合、クラスY1については信頼度の値が第3閾値TH3_2以上であれば、事前アノテーションデータが設定され、クラスY2については信頼度の値が第3閾値TH3_1以上であれば、事前アノテーションデータが設定される。
ステップS707~ステップS710の処理は、図3のステップS106~ステップS109と同じである。ステップS711~ステップS714の処理は、図3のステップS110~ステップS113と同じである。
ステップS715では、第2計測部112は、対象クラスを設定する。この場合、対象クラスは予め定められた複数のクラスうち、1つのクラスが所定の順序で設定される。
ステップS716では、第2計測部112は、第3閾値を設定する。この場合、第3閾値は、予め定められた数値範囲内で所定のステップ幅で増大又は減少するように順次設定される。
ステップS717の処理は図4のステップS114と同じである。ステップS718では、第2計測部112は、画像データベース121から1枚の画像データを画像データX2として取得し、ステップS716で設定した第3閾値の最適値を用いた画像データX2に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで画像データX2に対する事前アノテーションデータを生成する。
ステップS719~ステップS721の処理は、図4のステップS116~ステップS118の処理と同じである。
ステップS722では、第2計測部112は、第3閾値の変更の有無を判定する。ここで、第2計測部112は、ステップS716で設定した第3閾値に対して所定の第1数の作業時間及び第2作業時間の計測結果が得られた場合、第3閾値を変更すると判定し(ステップS722でYES)、処理をステップS723に進める。一方、第2計測部112は、所定の第1数の第1作業時間及び第2作業時間の計測結果が得られていない場合、第3閾値を変更しないと判定し(ステップS722でNO)、処理をステップS717に戻す。これにより、ステップS716において設定された1の第3閾値に対して所定の第1数の第1作業時間及び第2作業時間の計測結果が得られるまで、ステップS717~ステップS722の処理が繰り返される。
ステップS723では、第2計測部112は、対象クラスの変更の有無を判定する。ここで、第2計測部112は、ステップS715で設定した対象クラスに対して所定の第2数(>第1数)の第1作業時間及び第2作業時間の計測結果が得られた場合、対象クラスを変更すると判定し(ステップS723でYES)、処理をステップS724に進める。一方、第2計測部112は、所定の第2数の第1作業時間及び第2作業時間の計測結果が得られていない場合、対象クラスを変更しないと判定し(ステップS723でNO)、処理をステップS716に戻す。これにより、ステップS715において設定された対象クラスに対して所定の第2数の第1作業時間及び第2作業時間の計測結果が得られるまで、ステップS716~ステップS723の処理が繰り返される。
ステップS724では、作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS724でYES)、処理を終了する。一方、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(ステップS724でNO)、処理をステップS715に戻す。これにより、ステップS715において次の対象クラスが設定され、ステップS716以降の処理が実行される。
以上により、計測フェーズでは、画像データX1と、画像データX2と、画像データX2に対する事前アノテーションデータとが第1作業者端末に順次送信され、複数のクラスのそれぞれについて、複数の第3閾値のそれぞれに対する所定の第1数の第1作業時間及び第2作業時間が順次計測され、計測結果を含む作業履歴が作業履歴データベース122に記憶されることになる。
図21は、実施の形態4においてサーバ100が分析データを生成する処理の一例を示す図である。ステップS801、ステップS802の処理は図5のステップS201、ステップS202と同じである。
ステップS803では、分析データ生成部113は、ステップS801で取得した作業履歴を、複数のクラスのそれぞれについて複数の第3閾値ごとに分類し、複数のクラス及び複数の第3閾値ごとに第2作業時間の代表値を算出する。
ステップS804では、分析データ生成部113は、第1作業時間の代表値と、複数のクラスのそれぞれについて複数の第3閾値ごとに算出された第2作業時間の代表値とを含む分析データを生成する。これにより、図22に示す分析データが生成される。
ステップS805では、分析データ生成部113は、ステップS804で生成した分析データにおいて、複数のクラスのそれぞれについて、第3閾値の最適値を決定する。図22の例では、クラスY1については第3閾値TH3_2に対応する第2作業時間が最短であり、クラスY2については第3閾値TH3_1の第2作業時間が最短であったため、クラスY1については、第3閾値TH3_2が第3閾値の最適値として決定され、クラスY2については、第3閾値TH3_1が第3閾値の最適値として決定されている。
ステップS806では、分析データ生成部113は、ステップS804で生成した分析データを、ステップS805で決定した複数のクラスごとの第3閾値の最適値を示す情報と、対象認識器の識別子と対応付けて分析データベース123に記憶する。
このように、本実施の形態によれば、複数のクラスのそれぞれについて第3閾値の最適値が決定されるため、第2作業を効率良く行うことが可能な第3閾値の最適値を決定することができる。
(実施の形態5)
実施の形態5は、複数の撮像シーン(画像属性情報の一例)ごとに第1作業と第2作業との速さを比較するものである。図2を参照する。本実施の形態において、第1計測部111は、複数の撮像シーンごとに複数の第1作業時間を計測し、計測結果に基づいて作業履歴を生成し、作業履歴データベース122に記憶する。撮像シーンは、画像データが撮像されたときの周囲の状況を示すデータである。例えば、撮像シーンは、晴れ、雨、曇り、及び雪などの天候を示すデータであってもよいし、夜間、日中などの時間帯を示すデータであってもよいし、天候及び時間帯が組み合わされたデータであってもよい。
本実施の形態において、第2計測部112は、複数の撮像シーンごとに複数の第2作業時間を計測し、計測結果に基づいて作業履歴を生成し、作業履歴データベース122に記憶する。
本実施の形態において、分析データ生成部113は、複数の撮像シーンごとに計測された複数の第1作業時間を作業履歴データベース122から取得し、複数の撮像シーンごとに第1作業時間の代表値を算出する。また、分析データ生成部113は、複数の撮像シーンごとに計測された複数の第2作業時間を作業履歴データベース122から取得し、複数の撮像シーンごとに第2作業時間の代表値を算出する。そして、分析データ生成部113は、複数の撮像シーンごとに算出した第1作業時間の代表値と複数の撮像シーンごとに算出した第2作業時間の代表値とを含む分析データを生成し、分析データベース123に記憶する。
本実施の形態において、比較部114は、提示部115が画像データベース121から取得した作業対象となる1枚の画像データである作業対象画像データの撮像シーンを特定する。画像データベース121に記憶された画像データは撮像シーンを特定するためのメタ情報が含まれている。そこで、比較部114は、メタ情報に基づいて撮像シーンを特定すればよい。メタ情報は、撮像シーンそのものを示す情報であってもよいし、撮像場所及び撮像時刻を示す情報であってもよい。メタ情報が撮像場所及び撮像日時を示す情報である場合、比較部114は、メタ情報が示す撮像場所及び撮像日時に対応する天候を天気情報サーバから取得し、取得した天候に基づいて撮像シーンを特定すればよい。
さらに、比較部114は、分析データベース123に記憶された分析データから、作業対象画像データの撮像シーンに対応する第1作業時間及び第2作業時間を取得し、第1作業時間が第2作業時間より短ければ、第1作業が第2作業より速いと判定する。一方、比較部114は、作業対象画像データの撮像シーンに対応する第2作業時間が第1作業時間より短ければ、第2作業が第1作業より速いと判定する。
本実施の形態において、提示部115は、第2作業の方が第1作業よりも速いと判定された場合、作業対象画像データを画像データX4とし、画像データX4に対する事前アノテーションデータを生成する。そして、提示部115は、画像データX4と、画像データX4に対する事前アノテーションデータとを、通信部130を介して作業者端末200に送信する。一方、提示部115は、第1作業の方が第2作業よりも速いと判定された場合、事前アノテーションデータが設定されていない作業対象画像データを画像データX3として、通信部130を介して作業者端末200に送信する。
図23は、実施の形態5において、サーバ100が作業者にアノテーション作業を行わせる場合の処理の一例を示すフローチャートである。図24は、図23に続くフローチャートである。ステップS901,S902の処理は、図3のステップS101,S102と同じである。但し、ステップS902では、図26に示す分析データが取得される。図26は、実施の形態5における分析データの一例を示す図である。
図26に示す分析データには、複数の撮像シーンのそれぞれに対する第1作業時間と第2作業時間とが含まれている。ここでは、撮像シーンZ1,Z2、・・・,Znというように分析データは、n個の撮像シーンに対する第1作業時間及び第2作業時間を含んでいる。
計測フェーズでは、複数の撮像シーンのそれぞれについて、複数の第1作業時間が計測され、計測結果から第1作業時間の代表値が算出される。また、複数の撮像シーンのそれぞれについて、複数の第2作業時間が計測され、計測結果から第2作業時間の代表値が算出される。そのため、図26に示す分析データにおいて、第1作業時間は撮像シーンごとに算出された第1作業時間の代表値を示し、第2作業時間は撮像シーンごとに算出された第2作業時間の代表値を示している。また、図26に示す分析データには、対象認識器の識別子が対応付けられている。
ステップS903の処理は、図3のステップS103と同じである。ステップS904では、比較部114は、作業対象画像データの撮像シーンを特定する。
ステップS905では、比較部114は、分析データを参照し、ステップS904で特定した撮像シーンに対応する第1作業時間と第2作業時間とを比較することで、第1作業と第2作業との速さを比較する。図26の例において、撮像シーンZ1が特定されたとすると撮像シーンZ1に対する第1作業時間と第2作業時間とが比較される。そして、第2作業時間が第1作業時間よりも短ければ、第2作業が第1作業よりも速いと判定され(ステップS905でYES)、処理はステップS907に進む。一方、第1作業時間が第2作業時間よりも短ければ、第1作業が第2作業よりも速いと判定され(ステップS905でNO)、処理はステップS912に進む。
ステップS907~ステップS911の処理は、図4のステップS105~ステップS109と同じである。ステップS912~ステップS915の処理は、図4のステップS110~ステップS113と同じである。
ステップS916では、第1計測部111は、対象撮像シーンを設定する。この場合、対象クラスは予め定められた複数の撮像シーンうち、1つの撮像シーンが所定の順序で設定される。
ステップS917では、第1計測部111は、画像データベース121から対象撮像シーンの1枚の画像データを画像データX1として取得する。
ステップS918では、第2計測部112は、画像データベース121から対象撮像シーンの1枚の画像データを画像データX2として取得し、画像データX2に対する画像認識を対象認識器に実行させ、認識結果をアノテーション設定器に入力することで、画像データX2に対する事前アノテーションデータを生成する。
ステップS919~ステップS921の処理は、図4のステップS116~ステップS118と同じである。
ステップS922では、作業結果取得部116は対象撮像シーンの変更の有無を判定する。この場合、作業結果取得部116は、対象撮像シーンについて所定数の第1作業時間及び第2作業時間が計測できた場合、対象撮像シーンを変更すると判定し(ステップS922でYES)、処理をステップS923に進める。一方、作業結果取得部116は、対象撮像シーンについて所定数の第1作業結果及び第2作業結果が計測できていない場合、対象撮像シーンを変更しないと判定し(ステップS922でNO)、処理をステップS917に戻す。
ステップS923では、作業結果取得部116は、通信部130が第1作業者端末から作業終了要求を受信したか否かを判定する。作業結果取得部116は、通信部130が作業終了要求を受信したと判定した場合(ステップS923でYES)、処理を終了する。
一方、作業結果取得部116は、通信部130が作業終了要求を受信していないと判定した場合(S923でNO)、処理をステップS916に戻す。これにより、次の対象撮像シーンが決定され、ステップS917以降の処理が実行されることになる。
以上により、計測フェーズでは、画像データX1と、画像データX2と、画像データX2に対する事前アノテーションデータとが第1作業者端末に順次送信され、複数の撮像シーンのそれぞれについて、所定数の第1作業時間及び第2作業時間が順次計測され、計測結果を含む作業履歴が作業履歴データベース122に記憶されることになる。
図25は、実施の形態5においてサーバ100が分析データを生成する処理の一例を示す図である。ステップS1001の処理は図5のステップS201と同じである。
ステップS1002において、分析データ生成部113は、ステップS1001で取得した作業履歴を、撮像シーンごとに分類し、第1作業時間の代表値を算出する。
ステップS1003において、分析データ生成部113は、ステップS1001で取得した作業履歴を、撮像シーンごとに分類し、第2作業時間の代表値を算出する。
ステップS1004では、分析データ生成部113は、第1作業時間の代表値と、第2作業時間の代表値とを含む分析データを生成する。これにより、図26に示す分析データが生成される。
ステップS1005では、分析データ生成部113は、ステップS1004で生成した分析データを、対象認識器の識別子と対応付けて分析データベース123に記憶する。
以上説明したように、本実施の形態は、撮像シーンを考慮に入れて第1作業と第2作業とのうち、より作業効率の高い作業を決定し、決定した作業を作業者に行わせることができるため、アノテーション作業に対する作業コストをより確実に削減できる。
なお、実施の形態5では、撮像シーンが画像属性情報として採用されたが、本開示はこれに限定されず、撮像シーンに代えて又は加えて画質が画像属性情報として採用されてもよい。画質は、例えば、魚眼カメラ及び通常カメラなど画像データを撮像したカメラの種別を示す情報、画像データの解像度、及び画像データのサイズなどである。
(変形例)
(1)実施の形態1~5は任意に組み合わせ可能である。例えば、実施の形態3では、事前アノテーションデータは、画像認識により認識された認識対象物に対して領域のサイズが第2閾値情報の下限閾値及び上限閾値範囲内の場合に設定されている。この場合の「画像認識により認識された」とは、例えば、認識結果の信頼度の値が閾値以上であることを指す。そして、この場合の「信頼度の閾値」としては、実施の形態2で説明した第1閾値が採用されてもよいし、実施の形態4で説明した第3閾値が採用されてもよい。
(2)実施の形態2~実施の形態4と実施の形態5とは組み合わせ可能である。例えば、実施の形態2と実施の形態5とを組み合わせる場合、図14に示す分析データにおいて、分析データ生成部113は、第1作業時間を撮像シーンごとに算出し、第1閾値TH1ごとの第2作業時間を撮像シーンごとに算出しておけばよい。また、実施の形態3と実施の形態5とを組み合わせる場合、図18に示す分析データにおいて、分析データ生成部113は、第1作業時間を撮像シーンごとに算出し、第2閾値情報TH2ごとの第2作業時間を撮像シーンごとに算出しておけばよい。さらに、実施の形態4と実施の形態5とを組み合わせる場合、図22に示す分析データにおいて、分析データ生成部113は、第2作業時間を撮像シーンごとに算出し、複数のクラス及び複数の第3閾値TH3ごとの第2作業時間を撮像シーンごとに算出しておけばよい。