(57)【特許請求の範囲】
【請求項１】
解析対象データを取得する解析対象取得手段と、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定手段と、
前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する選択手段と、
前記選択手段が選択した解析モジュールを用いて前記解析対象データの解析を行う解析実行手段と、
を備えるデータ解析装置。
【請求項２】
前記選択手段は、前記解析対象データと前記解析モジュールとの組み合わせについて、解析精度が高く処理時間が短い順に採否を決定していき、１つの解析対象データに対して高々１つの解析モジュールを選択する、
請求項１に記載のデータ解析装置。
【請求項３】
前記選択手段は、画像解析に要する時間に関する所定条件を満たす範囲内で、解析精度がより高いと推定される解析モジュールを選択する、
請求項１または請求項２に記載のデータ解析装置。
【請求項４】
前記選択手段は、前記解析対象データについて何れの解析モジュールでも所定条件以上の解析精度を得られないと推定される場合、その解析対象データの解析を行わないことに決定する、
請求項１から３の何れか一項に記載のデータ解析装置。
【請求項５】
前記解析実行手段におけるリソース利用率に基づいて、前記解析対象データの解析に割り当てる時間を設定する処理時間割当手段をさらに備え、
前記選択手段は、前記処理時間割当手段が設定する時間に応じて、前記解析対象データの解析に用いる解析モジュールを選択する、
請求項１から４の何れか一項に記載のデータ解析装置。
【請求項６】
前記解析対象取得手段は、前記解析対象データとして画像データを取得し、
前記精度推定手段は、前記複数の比較対象データのうち、画像の色ヒストグラムが前記解析対象データの画像の色ヒストグラムと所定条件以上に類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する
請求項１から５の何れか一項に記載のデータ解析装置。
【請求項７】
前記解析対象取得手段は、前記解析対象データとして画像データを取得し、
前記精度推定手段は、前記複数の比較対象データのうち、前記解析対象データの画素値を基準とした場合の画素値の平均二乗誤差が所定条件以下である比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する
請求項１から６の何れか一項に記載のデータ解析装置。
【請求項８】
解析対象データを取得する解析対象取得手段と、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定手段と、
を備える精度推定装置。
【請求項９】
解析対象データを取得し、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定し、
前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択し、
選択された解析モジュールを用いて前記解析対象データの解析を行う
ことを含むデータ解析方法。
【請求項１０】
コンピュータに、
解析対象データを取得する処理と、
複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する処理と、
前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する処理と、
選択された解析モジュールを用いて前記解析対象データの解析を行う処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ解析装置、精度推定装置、データ解析方法および記憶媒体に関する。
【背景技術】
【０００２】
データ解析装置がデータ解析を行う際、例えば処理時間の調整等の目的で、データ解析の処理方法を設定する場合がある（例えば、特許文献１を参照）。特許文献１に記載の技術では、入力データの内容と、フレームレート低減または画像フィルタ無効化など解析エンジンの負荷を変動させる負荷変動処理とが関連付けられた複数の判定基準を予め設定しておく。そして、解析対象の入力データの内容の判定結果に応じて特定した負荷変動処理を行うことで、データ解析の処理方法を設定することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／１５０７８６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データ解析装置がデータ解析の処理方法を設定する場合に、データ解析装置の設定作業者が処理方の設定のための判定基準を予め設定しておく必要が無ければ、設定作業者の負担を、より低減させることができる。【０００５】
本発明は、上述の課題を解決することのできるデータ解析装置等を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、データ解析装置は、解析対象データを取得する解析対象取得部と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定部と、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する選択部と、前記選択部が選択した解析モジュールを用いて前記解析対象データの解析を行う解析実行部と、を備える。【０００７】
本発明の第２の態様によれば、精度推定装置は、解析対象データを取得する解析対象取得部と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する精度推定部と、を備える。【０００８】
本発明の第３の態様によれば、データ解析方法は、解析対象データを取得し、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定し、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択し、選択された解析モジュールを用いて前記解析対象データの解析を行うことを含む。【０００９】
本発明の第４の態様によれば、プログラムは、コンピュータに、解析対象データを取得する処理と、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、前記解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、前記複数の解析モジュールの各々での前記解析対象データの解析精度を推定する処理と、前記複数の解析モジュールの各々での前記解析対象データの解析精度の推定結果と、前記複数の解析モジュールの各々での前記解析対象データの解析時間を示す情報とに基づいて、前記解析対象データの解析に用いる解析モジュールを、前記複数の解析モジュールの中から選択する処理と、選択された解析モジュールを用いて前記解析対象データの解析を行う処理と、を実行させるためのプログラムである。
【発明の効果】
【００１０】
この発明によれば、データ解析装置がデータ解析の処理方法を設定する場合に、データ解析装置の設定作業者が処理方法設定のための判定基準を予め設定しておく必要がない。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。
【図２】第１実施形態に係る推定用データ保持部が保持する推定用データの例を示す図である。
【図３】第１実施形態に係る精度推定部が行う精度推定の例を示す図である。
【図４】第１実施形態に係る性能データ保持部が保持する速度データの例を示す図である。
【図５】第１実施形態に係るスケジューラ部による解析ソフトのスケジューリングの例を示す図である。
【図６】第１実施形態に係るスケジューラ部が解析対象画像を解析ソフトに割り当てる際の、データ解析装置１の処理手順の例を示す図である。
【図７】第２実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。
【図８】第２実施形態に係る解析実行部におけるリソース利用の第１例を示す図である。
【図９】第２実施形態に係る解析実行部におけるリソース利用の第２例を示す図である。
【図１０】第２実施形態に係る処理時間割当部が行う処理の手順の例を示す図である。
【図１１】実施形態に係るデータ解析装置の構成の例を示す図である。
【図１２】実施形態に係るデータ精度推定装置の構成の例を示す図である。
【図１３】少なくとも１つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
＜第１実施形態＞
図１は、第１実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。図１に示す構成で、データ解析装置１は、解析対象取得部１０と、推定用データ保持部２０と、精度推定部３０と、性能データ保持部４０と、スケジューラ部５０と、解析実行部７０と、解析結果出力部８０とを備える。解析実行部７０は、Ｍ個（Ｍは正整数）の解析ソフト（解析ソフトウェア）６０−１〜６０−Ｍを備える。解析ソフト６０−１〜６０−Ｍを総称して解析ソフト６０と表記する。なお、解析ソフトを処理ソフトと呼ぶ場合もある。
【００１４】
データ解析装置１は、データの解析を行う。以下では、データ解析装置１が画像データの入力を受けて画像の解析を行う場合を例に説明する。具体的には、データ解析装置１は、動画像データの入力を受けて、動画像のフレーム毎に人物の画像を検出する処理を行う。データ解析装置１が、動画像の全フレームの画像解析を行うようにしてもよいし、一定間隔のフレーム毎に画像解析を行うなど、一部のフレームの解析を行うようにしてもよい。あるいは、データ解析装置１が、一定時間毎に撮影された静止画像データを取得し、静止画像から人物の画像を検出するようにしてもよい。
【００１５】
データ解析装置１が、例えば、小売店舗、スタジアムまたはショッピングモールといった施設における防犯、マーケティングまたはオペレーション改善等に用いられていてもよい。例えば、データ解析装置１が、小売店舗に設置されて、店内に設置されたカメラが撮影する動画像から来客者の画像を検出し、さらに、来客者の年齢、性別および店内での動線を推定するようにしてもよい。
【００１６】
データ解析装置１の処理対象となる個々のデータを処理対象データと称する。また、処理対象データが示す画像を処理対象画像と称する。また、画像データが示す画像を画像データの画像とも称する。データ解析装置１が動画像データの入力を受けてフレーム毎に解析を行う場合、各フレームのデータが処理対象データの例に該当し、各フレームの画像が処理対象画像の例に該当する。
【００１７】
但し、データ解析装置１が処理対象とするデータは、画像データに限定されない。様々な種類のデータをデータ解析装置１の処理対象とすることができる。また、データ解析装置１が行う解析は、人物の画像の検出に限定されない。さらには、データ解析装置１が行う解析は、画像解析に限定されない。データ解析装置１が行う解析は、解析方法を選択可能である。データ解析装置１が行う解析を、解析精度と解析時間との間にトレードオフの関係がある解析とすることができる。ここでのトレードオフは、解析精度を高めようとすると解析時間が長くなり、解析時間を短くしようとすると解析精度が低下することである。
【００１８】
データ解析装置１は、例えばパソコン（Personal Computer；ＰＣ）またはワークステーション（Workstation）等のコンピュータを用いて構成される。データ解析装置１は、１つの装置として構成されていてもよいし、複数の装置として構成されていてもよい。例えば、データ解析装置１が、推定用データ保持部２０として機能するデータベースマシンと、推定用データ保持部２０以外の機能を実行するデータ解析装置本体との組み合わせにて構成されていてもよい。あるいは、データ解析装置１の各部のうち、解析対象取得部１０推定用データ保持部２０および精度推定部３０、あるいは、解析対象取得部１０および精度推定部３０が、精度推定装置として構成されていてもよい。
【００１９】
解析対象取得部１０は、解析対象データを取得する。以下では、解析対象取得部１０が、解析対象データとして画像データを取得する場合を例に説明する。例えば、解析対象取得部１０は、他の装置と通信を行う通信部として構成され、カメラが撮影を行って出力（送信）する動画像データを受信する。
【００２０】
解析ソフト６０の各々は解析モジュールの例に該当する。解析ソフト６０の実行によって、解析対象データの解析が行われる。特に、解析ソフト６０の各々の実行によって、例えば上述した人物の画像の検出などの画像解析が行われる。ここでいうモジュールは、所定の動作を実行する専用のハードウェア、あるいは、ソフトウェアおよびそのソフトウェアを実行するハードウェアからなるユニットなどによって構成される一つの実体である。解析ソフト６０は、解析実行部７０の一部として構成されていてもよいし、解析実行部７０とは別の構成となっていてもよい。解析実行部７０が解析ソフト６０の各々を実行可能な形態であればよい。
【００２１】
解析実行部７０は、処理速度および解析精度の異なる複数の解析ソフト６０を備えている。解析実行部７０は、スケジューラ部５０が解析対象データ毎に選択した（スケジューリングでの割当を行った）解析ソフト６０を用いて解析対象画像の解析を行う。解析実行部７０が備える解析ソフト６０の数は、２つ以上であればよい。以下では、解析実行部７０が、解析ソフトＡ〜Ｃの３つの解析ソフト６０を備える場合を例に説明する。
【００２２】
但し、解析実行部７０が備える解析モジュールは、解析モジュールそれぞれがソフトウェアとして構成されるものに限定されない。例えば、解析実行部７０が、ボード化された解析モジュールまたはチップ化された解析モジュールなど、ハードウェア化された解析モジュールを備えるようにしてもよい。あるいは、解析実行部７０が、パラメータ設定によって処理速度および解析精度を変更可能な画像解析ソフトを備えていてもよい。この場合、パラメータ設定パターン毎の画像解析ソフトが、解析モジュールの例に該当する。解析対象取得部１０が動画像を取得する場合、解析実行部７０が行う画像解析は、映像分析とも称される。
【００２３】
推定用データ保持部２０は、精度推定部３０が解析精度の推定に用いる推定用データを保持（記憶）する。図２は、推定用データ保持部２０が保持する推定用データの例を示す図である。図２の例のように、推定用データは、画像データと、その画像データの解析精度データとが紐付けられて構成されている。
【００２４】
推定用データに含まれる画像データは、解析対象データとの画像の類似度の判定に用いられる。具体的には、精度推定部３０が、推定用データに含まれる画像データの画像と解析対象画像とを比較して、類似度を算出する。推定用データに含まれる画像データを比較対象データ（比較対象データセット、比較対象データレコード）と称し、比較対象データが示す画像を比較対象画像と称する。推定用データ保持部２０は、複数の比較対象データそれぞれの推定用データを、データ解析装置１が解析対象データの解析を行う前に、予め保持している。
【００２５】
解析精度データは、紐付けられている画像データの画像を解析ソフト６０で解析した場合の解析精度を、解析ソフト６０毎に示す。図２の例では、解析精度データは、解析実行部７０が備える解析ソフトＡ〜Ｃの３つの解析ソフト６０それぞれによる比較対象画像の解析精度を示している。複数の解析ソフト６０の各々について、その解析ソフト６０で比較対象画像を解析したときの解析精度は既知である。例えば、精度推定部３０が、比較対象データ毎かつ解析ソフト６０毎に解析ソフト６０を用いて比較対象画像の解析を行い、解析結果の精度（解析精度）を算出して比較対象画像に紐付けることで、推定用データを自動生成するようにしてもよい。
【００２６】
精度推定部３０は、解析ソフト６０の各々での解析対象データの解析精度を推定する。精度推定部３０は、類似する画像を同一の解析ソフト６０に適用した場合に同程度の解析精度が得られることに基づいて、解析精度の推定を行う。具体的には、精度推定部３０は、解析対象画像に類似する比較対象画像を、推定用データ保持部２０から検索する。そして、精度推定部３０は、検索で得られた類似画像（解析対象画像に類似する比較対象画像）の解析精度から解析対象画像の解析精度を推定する。
【００２７】
さらに具体的には、精度推定部３０は、解析対象画像と比較対象画像の各々とを比較して、比較対象画像毎に解析対象画像との類似度を算出する。そして、精度推定部３０は、解析対象画像に対して基準を超えて類似する比較対象画像に紐付けられている解析精度データを、推定用データ保持部２０から読み出す。ここでいう基準は、解析対象データと比較対象データとの類似についての基準（類似画像の選択基準）である。この基準は、例えば類似度の閾値を示す定数として予め設定される。ここでいう基準を超えて類似するとは、２つの画像（解析対象画像と比較対象画像と）の類似度合いが基準を満たしていることである。精度推定部３０は、得られた解析対象データが示す比較対象画像毎かつ解析ソフト６０毎の解析精度に基づいて、解析対象データの解析精度を解析ソフト６０毎に算出する。
【００２８】
図３は、精度推定部３０が行う精度推定（解析精度推定値の算出）の例を示す図である。図３の例で、精度推定部３０は、比較対象画像毎に解析対象画像との類似度を算出し、類似度の高い順に推定用データをソートしている。すなわち、図３の一番左の列には、複数の比較対象画像が、類似度が高い順に並べられている。そして、図３では、比較対象画像ごとに、解析ソフトA〜Cによる比較対象画像の解析精度推定値が示されている。具体的には、次の手順で処理が行われる。まず、精度推定部３０は、解析対象画像と比較対象画像を比較し、類似度が高い順に比較対象画像をソートする。図３に示されるように、解析ソフトA〜Cによる比較対象画像の解析精度推定値は、解析ソフト毎に異なっている。次に、精度推定部３０は、比較対象画像の類似度が高い順に上位４つの推定用データを選択する。そして、精度推定部３０は、選択した推定用データが示す解析ソフトＡによる比較対象画像の解析精度推定値の平均値を、解析対象画像の解析精度の推定値として算出している。この場合、類似度の高い順に４つという基準が、解析対象データと比較対象データとの類似についての基準の例に該当する。図４の例では、精度推定部３０は、画像が解析対象画像に類似する順に選択した４つの推定用データを用いて、解析ソフト６０Ａによる解析対象画像の解析精度を９０％と推定している。なお、ここでは、上述の通り、精度推定部３０は、比較対象画像の類似度が高い順に上位４つの推定用データを選択した。しかしながら、精度推定部３０の選択対象は、比較対象画像の類似度が高い順に上位４つの推定用データに限られない。精度推定部３０の選択対象は、比較対象画像の類似度が高い順に上位２つまたは上位４つ以上の推定用データであってもよい。
【００２９】
但し、精度推定部３０が用いる基準はこれに限定されず、精度推定部３０が用いる基準としていろいろな基準を採用することができる。例えば、精度推定部３０が、比較対象画像の類似度が所定の閾値以上に高い推定用データを選択するようにしてもよい。この場合、類似度が所定の閾値以上に高いという基準が、前記解析対象データと比較対象データとの類似についての基準の例に該当する。精度推定部３０が画像の類似度を判定する方法についても、公知のいろいろな方法を用いることができる。すなわち、精度推定部３０が推定用データの選択に用いる類似度についても、公知のいろいろな項目の類似度を用いることができる。
【００３０】
例えば、精度推定部３０が、解析対象データと比較対象データとの画像の色ヒストグラムの類似度を算出するようにしてもよい。具体的には、精度推定部３０が、解析対象データおよび比較対象データのそれぞれについて、画像中の色をヒストグラム化し、画像間の色ヒストグラムから算出される距離を類似度として算出するようにしてもよい。
【００３１】
あるいは、精度推定部３０が、解析対象データと比較対象データとの画素値の類似度に基づいて、推定用データを選択するようにしてもよい。例えば、精度推定部３０が、解析対象データの画素値を基準とした場合の、比較対象データの画素値の平均二乗誤差（Mean Squared Error）を算出するようにしてもよい。この場合の平均二乗誤差は、２つの画像間で同じ位置のピクセル値がどの程度違うかを表す。平均二乗誤差の算出値が小さいほど、解析対象画像と比較対象画像との類似度が高い。
【００３２】
性能データ保持部４０は、解析ソフト６０の各々の性能を示すデータを保持（記憶）する。特に、性能データ保持部４０は、解析ソフト６０の各々の処理速度を示す速度データを保持する。図４は、性能データ保持部４０が保持する速度データの例を示す図である。図４では、速度データは、解析実行部７０が備える解析ソフトＡ〜Ｃの３つの解析ソフト６０それぞれの処理速度を示している。性能データ保持部４０が示す処理速度は、各画像データに共通である。すなわち、個々の解析ソフト６０は、いろいろな画像を同じ処理速度で解析する。
【００３３】
性能データ保持部４０が保持する速度データは、解析ソフト６０の各々による処理時間の長さを示すデータでもある。例えば、図４では、解析ソフト６０の処理速度の単位としてＦＰＳ（Frames Per Second、１秒当たりに処理する画像数）が用いられている。この場合、解析ソフト６０が１フレームを処理するのに要する時間は、処理速度の逆数で示される。例えば、解析ソフトＡが１フレームを処理するのに要する時間は、０．１秒（１／１０秒）である。「／」は除算を表す。
【００３４】
スケジューラ部５０は、データ解析装置１の機能のスケジューリングを行う。例えば、スケジューラ部５０は、データ解析装置１が備えるＯＳ（Operating System）を用いて構成され、データ解析装置１の機能を実現するソフトウェアの実行をスケジューリングする。特に、スケジューラ部５０は、複数の解析ソフト６０の各々での解析対象データの解析精度の推定結果と、複数の解析ソフト６０の各々での解析対象データの解析時間を示す情報とに基づいて、解析対象データの解析に用いる解析ソフト６０を選択する。動画像の複数のフレームの各々が解析対象である場合など解析対象画像が複数ある場合、スケジューラ部５０は、どの解析対象画像をどの解析ソフト６０で処理するかの割当を行う。性能データ保持部４０が保持する速度データは、スケジューラ部５０への入力となる各解析ソフト６０の処理速度を示している。
【００３５】
スケジューラ部５０は、解析対象データと解析ソフト６０との組み合わせについて、解析精度が高く処理時間が短い順に採否を決定していき、１つの解析対象データに対して高々１つの解析ソフト６０を選択する。このように、スケジューラ部５０が、解析精度が高く処理時間が短い処理を優先的に選択することで、精度の高い解析をより多く解析実行部７０に行わせることができる。
【００３６】
また、スケジューラ部５０は、画像解析に要する時間に関する所定条件を満たす範囲内で、解析精度がより高いと推定される解析ソフト６０を選択する。これにより、スケジューラ部５０は、時間の制約条件を満たし、かつ、より精度の高い解析を解析実行部７０に行わせることができる。
【００３７】
また、スケジューラ部５０は、解析対象データについて何れの解析ソフト６０でも所定条件以上の解析精度を得られないと推定される場合、その解析対象データの解析を行わないことに決定する。解析精度が所定条件に満たない場合、有効な解析結果を得られず処理が無駄になる可能性がある。これに対し、スケジューラ部５０が、所定条件以上の解析精度を得られない解析対象データの解析を行わないことに決定することで、解析実行部７０による無駄な処理の実行を抑制し、リソースを有効活用することができる。
【００３８】
図５は、スケジューラ部５０による解析ソフト６０のスケジューリングの例を示す図である。データ解析装置１は、限られた計算資源上で解析精度を最大化することを目的として、処理速度および解析精度の異なる複数の解析ソフト６０を解析対象画像に応じて使い分ける。解析ソフト６０の使い分けのために、精度推定部３０が、解析対象画像に対して各解析ソフト６０で得られる解析精度を推定する。そして、スケジューラ部５０は、精度推定部３０が推定した解析精度と、解析ソフト６０の処理速度とから、どの解析対象画像をどの解析ソフト６０に適用するかを決定する。スケジューラ部５０は、処理速度の速い解析ソフト６０でも解析精度が得られる解析対象画像については、処理速度の速い解析ソフト６０で処理するようにスケジューリングする。スケジューラ部５０は、これにより、限られた資源上で解析精度の最大化を図る。
【００３９】
図５の例では、解析ソフトＡ、Ｂ、Ｃのうち、解析ソフトＣの処理速度が最も速く、次に解析ソフトＢの処理速度が速く、解析ソフトＡの処理速度が最も遅い。これらの解析ソフトの処理速度と解析精度との間にはトレードオフがあり、また、解析対象画像によって解析精度が異なる。解析対象画像Ｐ１およびＰ２については、解析ソフトＡを用いる場合の解析精度予測値が最も高く、解析ソフトＢを用いる場合の解析精度予測値が次に高く、解析ソフトＣを用いる場合の解析精度予測値が最も低い。一方、解析対象画像Ｐ３については、解析ソフトＡ、Ｂ、Ｃの何れを用いる場合も同様の解析精度予測値となっている。そこで、スケジューラ部５０は、解析対象画像Ｐ１、Ｐ２それぞれの解析には解析ソフトＡを割り当て、解析対象画像Ｐ３の解析には解析ソフトＣを割り当てている。これにより、例えば解析対象画像Ｐ１、Ｐ２、Ｐ３いずれの解析にも解析ソフトＡを用いる場合と比較すると、同様の解析精度を維持したまま、処理時間を短縮できると期待される。
【００４０】
解析結果出力部８０は、解析実行部による解析結果を出力する。解析結果出力部８０が解析結果を出力する方法としていろいろな方法を用いることができる。例えば、解析結果出力部が液晶ディスプレイ等の表示装置を備え、解析結果を表示するようにしてもよい。あるいは、解析結果出力部８０は、他の装置と通信を行う通信部として構成され、解析結果を示すデータを他の装置へ送信するようにしてもよい。
【００４１】
次に、図６を参照してデータ解析装置１の動作について説明する。図６は、スケジューラ部５０が解析対象画像を解析ソフト６０に割り当てる際の、データ解析装置１の処理手順の例を示す図である。図６の処理で、解析対象取得部１０は、解析対象画像を待ち受ける（ステップＳ１０１）。解析対象取得部１０が一度に取得する解析対象画像の数は１つ以上であればよい。
【００４２】
解析対象取得部１０が、Ｎ個（Ｎは正整数）の解析対象画像を取得すると、精度推定部３０が、解析対象画像毎かつ解析ソフト６０毎に解析精度を推定する（ステップＳ１０２）。図３を参照して説明したように、推定用データ保持部２０は、比較対象データと、解析ソフト６０毎にその比較対象画像をその解析ソフト６０で解析した場合の精度を示す解析精度データとを、紐付けて保持している。精度推定部３０は、推定用データ保持部２０が保持する比較対象データの比較対象画像のうち、解析対象画像に類似する画像を検索する。そして、精度推定部３０は、検索で得られた類似画像の解析精度から解析対象画像の解析精度を推定する。精度推定部３０は、解析精度の推定結果を示す情報を、スケジューラ部５０へ出力する。
【００４３】
また、スケジューラ部５０は、各解析ソフト６０の処理速度を性能データ保持部４０から取得する（ステップＳ１０３）。具体的には、スケジューラ部５０は、図４を参照して説明した処理速度データを性能データ保持部４０から読み出す。
【００４４】
スケジューラ部５０は、得られた解析精度および処理速度の情報から、（画像ＩＤ（Identifier）、解析ソフトＩＤ、解析精度推定値、処理速度）の組合せを列挙し、解析精度が高く処理速度が速い順に降順にソートする（ステップＳ１０４）。画像ＩＤは、画像を識別する識別情報である。この組み合わせにおける画像ＩＤによって、解析対象画像が識別される。解析ソフトＩＤは、解析ソフト６０を識別する識別情報である。
【００４５】
例えば、スケジューラ部５０は、解析精度推定値および処理速度を引数とする評価関数を用いて、解析対象画像毎かつ解析ソフト６０毎に評価値を算出し、評価値が大きい順（すなわち、評価が高い順）にソートする。以下、ソート結果の配列（上記の組み合わせの列挙）をＳで示し、配列Ｓにおける各要素をＳ［ｉ］で示す。Ｓ［ｉ］は、（画像ＩＤ、解析ソフトＩＤ、解析精度推定値、処理速度）の組合せを示す。ｉはｉ≧０の整数であり、ｉの値が小さいほど解析精度推定値が高く処理速度が速い（評価値が大きい）。
【００４６】
ステップＳ１０５〜Ｓ１３１では、スケジューラ部５０は、ソートされた配列の上から順（解析精度が高く処理速度が速い順）に参照して、解析対象画像を解析ソフト６０に割り当てていく。具体的には、スケジューラ部５０は、変数Ｔ、ｉの値をそれぞれ０にリセットする（ステップＳ１０５）。変数Ｔは、処理速度の逆数の累計に用いられる。処理速度の逆数は、処理時間の長さを示す指標値となる。変数ｉは、配列Ｓの要素Ｓ［ｉ］を、解析精度が高く処理速度が速い順に処理するためのカウンタ変数として用いられる。
【００４７】
次に、スケジューラ部５０は、要素Ｓ［ｉ］について、処理対象画像をいずれかの解析ソフト６０に割当済みか否かを判定する（ステップＳ１０６）。割当済みであるとスケジューラ部５０により判定された場合、スケジューラ部５０は、変数ｉの値を１だけカウントアップする（ステップＳ１３１）。ステップＳ１３１の後、処理がステップＳ１０６へ戻る。
【００４８】
一方、ステップＳ１０６で、要素Ｓ［ｉ］について、まだ処理対象画像をいずれの解析ソフト６０にも割り当てていないとスケジューラ部５０により判定された場合（ステップＳ１０６：ＮＯ）、スケジューラ部５０は、要素Ｓ［ｉ］に含まれる解析精度推定値が、予め設定された閾値よりも小さいか否かを判定する（ステップＳ１１１）。解析精度推定値が閾値よりも小さいとスケジューラ部５０により判定された場合（ステップＳ１１１：ＹＥＳ）、処理がステップＳ１３１へ進む。解析精度推定値が事前に設定された閾値よりも低い場合、解析を実行しても良い結果を得られないため、この要素Ｓ［ｉ］が示す画像と解析ソフト６０との組み合わせを割当の対象（スケジューリングの対象）から除外している。
【００４９】
一方、ステップＳ１１１で、要素Ｓ［ｉ］に含まれる解析精度推定値が閾値以上であるとスケジューラ部５０により判定された場合（ステップＳ１１１：ＮＯ）、スケジューラ部５０は、要素Ｓ［ｉ］が示す組み合わせで、画像ＩＤを解析ソフトＩＤに割り当てる（ステップＳ１２１）。スケジューラ部５０は、この割当により、解析ソフトＩＤが示す解析ソフト６０が、画像ＩＤが示す解析対象画像を解析するようにスケジューリングする。次に、スケジューラ部５０は、式（１）に示す演算にて変数Ｔの値を更新する（ステップＳ１２２）。
【００５０】
【数１】
0006904481.tif 000002
【００５１】
スケジューラ部５０は、式（１）に示す演算で、変数Ｔの値に、「１／当該解析ソフト６０の処理速度」を加算する。なお、式（１）の「当該映像分析プログラムの処理速度」は、「当該処理ソフトの処理速度」および「当該解析ソフトの処理速度」を同義である。ここでいう「当該解析ソフト６０」は、ステップＳ１２１で割り当てた解析ソフト６０である。「１／当該解析ソフト６０の処理速度」は、画像プログラムが画像を解析するに要する時間の長さを示す指標値となる。例えば、図６に示す処理では、解析ソフト６０の処理速度の単位としてＦＰＳを用いている。図４を参照して説明したように、「１／当該解析ソフト６０の処理速度」は、「当該解析ソフト６０」が１つの画像（１フレーム）を解析するのに要する時間を示す。
【００５２】
次に、スケジューラ部５０は、変数Ｔの値が閾値「Ｎ／ＦＰＳｔｈ」より小さいか否かを判定する（ステップＳ１２３）。閾値「Ｎ／ＦＰＳｔｈ」は、解析実行部７０が解析対象画像を解析する時間の許容値（上限値）を示す。閾値「Ｎ／ＦＰＳｔｈ」は、ステップＳ１０１で解析対象取得部１０が取得した解析対象画像の数Ｎを、画像１つあたりの処理時間の許容値として予め設定された時間ＦＰＳｔｈで除算することで算出される。
【００５３】
変数Ｔの値が閾値「Ｎ／ＦＰＳｔｈ」より小さいとスケジューラ部５０により判定された場合（ステップＳ１２３：ＹＥＳ）、処理がステップＳ１３１へ進む。この場合、解析実行部７０による処理時間は、未だ許容上限値に達していない。そこで、スケジューラ部５０は、ステップＳ１０６からの処理を繰り返して、さらに解析対象画像を解析ソフト６０に割り当てる。一方、ステップＳ１２３で、変数Ｔの値が閾値「Ｎ／ＦＰＳｔｈ」以上であるとスケジューラ部５０により判定された場合（ステップＳ１２３：ＮＯ）、スケジューラ部５０は、割当結果を解析実行部７０に通知する（ステップＳ１４１）。この場合、解析実行部７０による処理時間が許容上限値に達している。そこで、スケジューラ部５０は、解析対象画像の解析ソフト６０への割当を終了し、割当結果を解析実行部７０に通知する。
【００５４】
この運用の場合、閾値「Ｎ／ＦＰＳｔｈ」が示す処理時間上限値が幾らかの余裕量（マージン）を有するように、時間ＦＰＳｔｈを設定しておく。あるいは、スケジューラ部５０が、ステップＳ１２３：ＹＥＳの場合にステップＳ１２１の処理を行うことで、解析実行部７０の処理時間が、許容上限値を超えない運用としてもよい。ステップＳ１４１の後、処理がステップＳ１０１へ戻る。
【００５５】
スケジューラ部５０が、解析対象画像の解析ソフト６０への割当を決定する方法は、図６に示す方法に限定されない。図６の処理では、スケジューラ部５０は、いわばヒューリスティックな方法で、画像の解析ソフト６０への割当を決定している。これに対し、画像の解析ソフト６０への割当を最適化問題に帰着させ、スケジューラ部５０が、より厳密な最適解を求めるようにしてもよい。
【００５６】
例えば、最適化問題の定式化にあたり、変数または定数を以下のように定義する。
【００５７】
Ｎ：解析対象画像集合（ステップＳ１０１で解析対象取得部１０が取得した解析対象画像の集合）。
【００５８】
Ｐ：解析ソフト集合（解析実行部７０が実行可能な解析ソフト６０の集合）。
【００５９】
Ａｎｐ：解析対象画像ｎ（ｎ∈Ｎ）を解析ソフトｐ（ｐ∈Ｐ）で処理した場合に得られるであろう解析精度の推定値。
【００６０】
Ｆｐ：解析ソフトｐの処理速度。
【００６１】
ｘｎｐ：解析対象画像ｎを解析ソフトｐで処理するか否かを決定するための制御変数。ｘｎｐ＝１は、解析対象画像ｎを解析ソフトｐで処理することを示す。ｘｎｐ＝０は、解析対象画像ｎを解析ソフトｐで処理しないことを示す。スケジューラ部５０は、解析対象画像ｎ（ｎ∈Ｎ）毎に、解析ソフト集合に含まれる解析ソフトｐのうち、高々１つ（すなわち、１つまたは０個）の解析ソフトｐについて、ｘｎｐ＝１とし、それ以外の解析ソフトｐについて、ｘｎｐ＝０とする。スケジューラ部５０が、解析対象画像の解析ソフト６０への割当を決定するための最適化問題は、式（２）のように定式化可能である。
【００６２】
【数２】
0006904481.tif 000003
【００６３】
制約条件の第３式「ｘｎｐ∈｛０，１｝,  （ｎ∈Ｎ，ｐ∈Ｐ）」は、上述した、解析対象画像ｎを解析ソフトｐで処理する場合はｘｎｐ＝１とし、解析対象画像ｎを解析ソフトｐで処理しない場合はｘｎｐ＝０とすることを示す。制約条件の第１式「Σｐ∈Ｐｘｎｐ≦１，  （ｎ∈Ｎ）」は、上述した、解析対象画像ｎ（ｎ∈Ｎ）毎に、解析ソフト集合に含まれる解析ソフトｐのうち、高々１つの解析ソフトｐについてｘｎｐ＝１とし、それ以外の解析ソフトｐについてｘｎｐ＝０とすることを示す。
【００６４】
制約条件の第２式「Σｎ∈ＮΣｐ∈ＰＦｐｘｎｐ≦Ｎ／ＦＰＳｔｈ」の左辺「Σｎ∈ＮΣｐ∈ＰＦｐｘｎｐ」は、解析実行部７０の処理時間の推定値を示す。右辺「Ｎ／ＦＰＳｔｈ」は、解析実行部７０の処理時間の許容上限値を示す。制約条件の第２式は、解析実行部７０の処理時間が許容上限値以下という条件を示す。
【００６５】
目的関数「Σｐ∈ＰΣｎ∈ＮＡｎｐｘｎｐ」は、解析実行部７０が行う解析の精度の合計値を示す。この目的関数は、解析実行部７０が行う解析の精度の評価値を算出する評価関数の例に該当する。スケジューラ部５０は、最適化演算にて、この目的関数の値を最大化する。すなわち、スケジューラ部５０は、解析実行部７０が行う解析の精度の評価が最高となるようにスケジューリングを行う。
【００６６】
以上のように、解析対象取得部１０は、解析対象データを取得する。精度推定部３０は、複数の解析ソフト６０の各々での解析精度が既知である複数の比較対象データのうち、解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、複数の解析ソフト６０の各々での解析対象データの解析精度を推定する。スケジューラ部５０は、複数の解析ソフト６０の各々での解析対象データの解析精度の推定結果と、複数の解析ソフト６０の各々での解析対象データの解析時間を示す情報とに基づいて、解析対象データの解析に用いる解析ソフト６０を選択する。解析実行部７０は、スケジューラ部５０が選択した解析ソフト６０を用いて、解析対象データの解析を行う。
【００６７】
このように、精度推定部３０が、比較対象データの解析精度に基づいて、複数の解析ソフト６０の各々での解析対象データの解析精度を推定するので、データ解析装置１の設定作業者は、処理内容調整のための判定基準を予め設定しておく必要がない。上述したように、比較対象データの解析精度を示す解析精度データについては、例えば、精度推定部３０が自動生成するようにしてもよく、データ解析装置１の設定作業者が予め生成しておく必要はない。
【００６８】
また、スケジューラ部５０は、解析対象データと解析ソフト６０との組み合わせについて、解析精度が高く処理時間が短い順に採否を決定していき、１つの解析対象データに対して高々１つの解析モジュールを選択する。このように、スケジューラ部５０が、解析精度が高く処理時間が短い処理を優先的に選択することで、精度の高い解析をより多く解析実行部７０に行わせることができる。この点で、スケジューラ部５０が、時間の制約条件を満たし、かつ、解析精度が高くなるスケジューリングを行えると期待される。
【００６９】
また、スケジューラ部５０は、画像解析に要する時間に関する所定条件を満たす範囲内で、解析精度がより高いと推定される解析ソフト６０を選択する。これにより、スケジューラ部５０は、時間の制約条件を満たし、かつ、より精度の高い解析を解析実行部７０に行わせることができる。
【００７０】
また、スケジューラ部５０は、解析対象データについて何れの解析ソフト６０でも所定条件以上の解析精度を得られないと推定される場合、その解析対象データの解析を行わないことに決定する。解析精度が所定条件に満たない場合、有効な解析結果を得られず処理が無駄になる可能性がある。これに対し、スケジューラ部５０が、所定条件以上の解析精度を得られない解析対象データの解析を行わないことに決定することで、解析実行部７０による無駄な処理の実行を抑制し、リソースを有効活用することができる。
【００７１】
また、解析対象取得部１０は、解析対象データとして画像データを取得する。精度推定部３０は、複数の比較対象データのうち、画像の色ヒストグラムが解析対象データの画像の色ヒストグラムと所定条件以上に類似する比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。これにより、精度推定部３０は、解析対象画像の色ヒストグラムを算出し、比較対象画像の色ヒストグラムと比較するという比較的簡単な処理で、解析対象画像と比較対象画像との類似度を評価することができる。
【００７２】
また、解析対象取得部１０は、解析対象データとして画像データを取得する。精度推定部３０は、複数の比較対象データのうち、解析対象データの画素値を基準とした場合の画素値の平均二乗誤差が所定条件以下である比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。これにより、精度推定部３０は、解析対象画像と比較対象画像との画素値の平均二乗誤差を算出し条件判定を行うという比較的簡単な処理で、解析対象画像と比較対象画像との類似度を評価することができる。
【００７３】
＜第２実施形態＞
図７は、第２実施形態に係るデータ解析装置の機能構成例を示す概略ブロック図である。図７に示す構成で、データ解析装置２は、図１に示す各部に加えて、処理時間割当部９０をさらに備えている。それ以外の点では、データ解析装置２（図７）は、データ解析装置１（図１）と同様である。
【００７４】
処理時間割当部９０は、解析実行部７０におけるリソース利用率に基づいて、解析対象データの解析（解析対象画像の解析）に割り当てる時間を設定する。スケジューラ部５０は、処理時間割当部９０が設定する時間に応じて、解析対象データの解析に用いる解析ソフト６０を選択する。以下では、解析実行部７０におけるリソース利用率として解析実行部７０の負荷を用いる場合を例に説明する。解析実行部７０の負荷は、例えば、解析実行部７０が利用可能なＣＰＵ（Central Processing Unit、中央処理装置）時間のうち、解析実行部７０が実際にＣＰＵを利用した時間の割合として、計算され得る。但し、処理時間割当部９０が用いるリソース利用率は、解析実行部７０の負荷に限定されず、解析実行部７０が解析対象画像の解析を行う時間を示すものであればよい。
【００７５】
処理時間割当部９０は、解析実行部７０の負荷を示す情報を取得し、その情報から目標となる処理速度を計算し、スケジューラ部５０に通知する。スケジューラ部５０は、処理時間割当部９０が通知する処理速度の目標値から、処理時間の許容値を算出することができる。例えば、図６の処理で、処理時間割当部９０が、ＦＰＳｔｈを設定し、スケジューラ部５０が、Ｎ／ＦＰＳｔｈを算出する。上述したように、ＦＰＳｔｈは、画像１つあたり（１フレームあたり）の処理時間の許容値であり、処理時間の例に該当する。Ｎ／ＦＰＳｔｈは、解析実行部７０が解析対象画像を解析する時間の許容値（上限値）を示す。例えば、その他の解析処理、または学習処理など、解析実行部７０が解析ソフト６０を用いて行う解析以外にも処理を行う場合に、スケジューラ部５０は、処理時間割当部９０からの時間指定に応じて適応的に解析ソフト６０の選択を変更する。これにより、データ解析装置２の処理全体の向上（例えば、解析精度の向上）を図ることができる。
【００７６】
図８は、解析実行部７０におけるリソース利用の第１例を示す図である。図８は、解析実行部７０が実行するソフトウェアが人検出（解析対象画像に含まれる人物の画像の検出）の解析ソフトである解析ソフトＡ〜Ｃのみである場合の例を示している。この場合、解析実行部７０は、利用可能な全てのリソースを人検出に利用することができる。そこで、スケジューラ部５０は、解析実行部７０が、比較的精度が高い解析ソフト６０を用いて、解析対象画像の解析を行うように、スケジューリングする。図８の例の場合、解析実行部７０は、スケジューラ部５０によるスケジューリングに従って、解析精度が一番良い解析ソフト６０Ｃを用いて解析対象画像を解析している。これにより、解析実行部７０は、リソースを最大限に活用することができる。
【００７７】
図９は、解析実行部７０におけるリソース利用の第２例を示す図である。図９は、解析実行部７０が実行するソフトウェアとして、人検出の解析ソフトに加えて年齢性別推定（解析対象画像から検出された人物の年齢及び性別を推定する処理）の解析ソフトが追加された場合の例を示している。解析実行部７０は、解析ソフト６０とは別の解析ソフトを用いて年齢性別推定処理を行う。
【００７８】
図９の例の場合、解析実行部７０は、利用可能なリソースで人検出と年齢性別推定との両方を実行することになる。従って、解析実行部７０が人検出に利用できるリソースは、図８の例の場合よりも少なくなる。そこで、スケジューラ部５０は、解析実行部７０が、図８の場合よりも解析精度は落ちるが処理速度の速い解析ソフト６０を用いて、解析対象画像の解析を行うように、スケジューリングする。
【００７９】
図９の例の場合、解析実行部７０は、スケジューラ部５０によるスケジューリングに従って、解析精度は比較的低いが処理速度の速い解析ソフト６０Ａを用いて解析対象画像を解析している。これにより、解析実行部７０は、人検出の解析ソフトと年齢性別推定の解析ソフトとにリソースを振り分けて、これらの解析ソフトを共に実行することができる。この点で、解析実行部７０のリソース利用率が向上する。このように、データ解析装置２では、解析実行部７０の負荷状況に応じて解析ソフト６０を選択し、解析ソフト６０の実行速度を調整することができる。
【００８０】
次に、図１０を参照して処理時間割当部９０の動作について説明する。図１０は、処理時間割当部９０が行う処理の手順の例を示す図である。解析実行部７０のリソース利用率について、前回のリソース利用率からの変化量が閾値以上増加している場合、処理時間割当部９０は処理速度を増加させる。処理時間割当部９０が処理速度を増加させることで、スケジューラ部５０は、解析実行部７０が比較的軽量な（解析精度は比較的低いが処理速度が比較的高い）解析ソフト６０を利用するようにスケジューリングを行うことになる。その結果、解析ソフト６０を用いた処理に関しては、解析実行部７０のリソース利用率が低下する。
【００８１】
一方、前回のリソース利用率からの変化量が閾値以上減少している場合は、リソースに空きが発生したことを表している。そこで、処理時間割当部９０は処理速度を減少させる。処理時間割当部９０が処理速度を増加させることで、スケジューラ部５０は、解析実行部７０が比較的解析精度の高い解析ソフト６０を利用するようにスケジューリングを行うことになり、解析実行部７０による解析の精度を高めることができる。
【００８２】
図１０の処理で、処理時間割当部９０は、解析実行部７０のリソース利用率を示す情報を取得する（ステップＳ２０１）。そして、処理時間割当部９０は、リソース利用率の前回からの変化量（絶対値）が閾値以上か否かを判定する（ステップＳ２０２）。変化量が閾値より小さいと処理時間割当部９０により判定された場合（ステップＳ２０２：ＮＯ）、処理時間割当部９０は、図１０の処理を終了する。
【００８３】
一方、ステップＳ２０２で変化量が閾値以上であると処理時間割当部９０により判定された場合（ステップＳ２０２：ＹＥＳ）、処理時間割当部９０は、リソース利用率が前回と比較して増加しているか否かを判定する（ステップＳ２１１）。リソース利用率が増加していると処理時間割当部９０により判定された場合（ステップＳ２１１：ＹＥＳ）、処理時間割当部９０は、ＦＰＳｔｈの値を増加させる（ステップＳ２２１）。
【００８４】
これにより、スケジューラ部５０が図６のステップＳ１２３で使用する閾値Ｎ／ＦＰＳｔｈの値が小さくなる。すなわち、解析ソフト６０に割り当てられる処理時間が減少する。従って、処理時間割当部９０は、解析実行部７０が他のプログラムに割り当てるリソース量を増やすことができる。例えば、図８および図９を参照して説明した例で、解析実行部７０は、人検出の解析プログラムに割り当てるリソースの量を減らして、年齢性別推定の解析プログラムに割り当てるリソースの量を増やすことができる。
【００８５】
そして、処理時間割当部９０は、設定したパラメータ値（ＦＰＳｔｈの値）をスケジューラ部５０に通知する（ステップＳ２２３）。ステップＳ２２３の後、処理時間割当部９０は、図１０の処理を終了する。
【００８６】
一方、ステップＳ２１１でリソース利用率が減少していると処理時間割当部９０により判定された場合（ステップＳ２１１：ＮＯ）、処理時間割当部９０は、ＦＰＳｔｈの値を減少させる（ステップＳ２２２）。これにより、スケジューラ部５０が図６のステップＳ１２３で使用する閾値Ｎ／ＦＰＳｔｈの値が大きくなる。すなわち、解析ソフト６０に割り当てられる処理時間が増加する。従って、解析実行部７０が、スケジューリング対象の解析ソフト６０に割り当てるリソース量を増やすことができ、より解析精度の高い解析ソフト６０を利用することができる。
【００８７】
例えば、図８および図９を参照して説明した例で、年齢性別推定の解析ソフトの使用が終了した場合、利用可能なリソースが増加する。この場合に、解析実行部７０は、人検出の解析ソフト６０に割り当てるリソースの量を増やすことができる。ステップＳ２２２の後、処理がステップＳ２２３へ進む。
【００８８】
以上のように、処理時間割当部９０は、解析実行部７０におけるリソース利用率に基づいて、解析対象データの解析に割り当てる時間を設定する。スケジューラ部５０は、処理時間割当部９０が設定する時間に応じて、解析対象データの解析に用いる解析ソフト６０を選択する。これにより、データ解析装置２は、実行する処理の増加および減少に対応して、処理全体の向上を図ることができる。
【００８９】
次に、図１１および図１２を参照して、本発明の実施形態の構成について説明する。
【００９０】
図１１は、実施形態に係るデータ解析装置の構成の例を示す図である。図１１に示すデータ解析装置１１０は、解析対象取得部１１１と、精度推定部１１２と、選択部１１３と、解析実行部１１４とを備える。かかる構成にて、解析対象取得部１１１は、解析対象データを取得する。精度推定部１１２は、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。選択部１１３は、複数の解析モジュールの各々での解析対象データの解析精度の推定結果と、複数の解析モジュールの各々での解析対象データの解析時間を示す情報とに基づいて、解析対象データの解析に用いる解析モジュールを選択する。解析実行部１１４は、選択部１１３が選択した解析モジュールを用いて前記解析対象データの解析を行う。このように、精度推定部１１２が、比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定するので、データ解析装置１１０の設定作業者は、処理内容調整のための判定基準を予め設定しておく必要がない。
【００９１】
図１２は、実施形態に係るデータ精度推定装置の構成の例を示す図である。図１２に示す精度推定装置１２０は、解析対象取得部１２１と、精度推定部１２２とを備える。かかる構成にて、解析対象取得部１２１は、解析対象データを取得する。精度推定部１２２は、複数の解析モジュールの各々での解析精度が既知である複数の比較対象データのうち、解析対象データと基準を超えて類似する比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定する。このように、精度推定部１２２が、比較対象データの解析精度に基づいて、複数の解析モジュールの各々での解析対象データの解析精度を推定するので、精度推定装置１２０の設定作業者は、処理内容調整のための判定基準を予め設定しておく必要がない。
【００９２】
図１３は、少なくとも１つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。図１３に示す構成で、コンピュータ５００は、ＣＰＵ５１０と、記憶装置５２０と、インタフェース５３０とを備える。上述のデータ解析装置１がコンピュータに実装される場合、上述した各処理部（精度推定部３０、スケジューラ部５０、解析ソフト６０および解析実行部７０）の動作は、プログラムの形式で記憶装置５２０に記憶されている。ＣＰＵ５１０は、記憶装置５２０からプログラムを読み出して実行することで、各処理部の処理を実行する。また、ＣＰＵ５１０は、プログラムに従って、上述した各記憶部（推定用データ保持部２０および性能データ保持部４０）に対応する記憶領域を記憶装置５２０に確保する。解析対象取得部１０および解析結果出力部８０の機能は、ＣＰＵ５０がプログラムに従ってインタフェース５３０を制御することで実行される。上述のデータ解析装置２がコンピュータに実装される場合、データ解析装置１の場合に加えてさらに、処理時間割当部９０が処理部に該当する。
【００９３】
上述のデータ解析装置１１０がコンピュータに実装される場合、精度推定部１１２、選択部１１３および解析実行部１１４が処理部に該当する。これら処理部の動作は、プログラムの形式で記憶装置５２０に記憶されている。ＣＰＵ５１０は、記憶装置５２０からプログラムを読み出して実行することで、各処理部の処理を実行する。また、ＣＰＵ５１０は、プログラムに従って、各処理部が利用する記憶部に対応する記憶領域を記憶装置５２０に確保する。解析対象取得部１１１の機能は、ＣＰＵ５０がプログラムに従ってインタフェース５３０を制御することで実行される。
【００９４】
上述の精度推定装置１２０がコンピュータに実装される場合、精度推定部１２２が処理部に該当する。処理部の動作は、プログラムの形式で記憶装置５２０に記憶されている。ＣＰＵ５１０は、記憶装置５２０からプログラムを読み出して実行することで、各処理部の処理を実行する。また、ＣＰＵ５１０は、プログラムに従って、処理部が利用する記憶部に対応する記憶領域を記憶装置５２０に確保する。解析対象取得部１２１の機能は、ＣＰＵ５０がプログラムに従ってインタフェース５３０を制御することで実行される。
【００９５】
なお、データ解析装置１、２、１１０、精度推定装置１２０の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Read Only Memory）、ＣＤ−ＲＯＭ（Compact Disc Read only memory）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００９６】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９７】
この出願は、２０１８年４月２６日に出願された日本出願特願２０１８−０８５７８７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９８】
１、２、１１０  データ解析装置
１０、１１１、１２１  解析対象取得部
２０  推定用データ保持部
３０、１１２、１２２  精度推定部
４０  性能データ保持部
５０  スケジューラ部
６０  解析ソフト
７０、１１４  解析実行部
８０  解析結果出力部
９０  処理時間割当部
１１３  選択部
１２０  精度推定装置
【図１】
0006904481.tif 000004
【図２】
0006904481.tif 000005
【図３】
0006904481.tif 000006
【図４】
0006904481.tif 000007
【図５】
0006904481.tif 000008
【図６】
0006904481.tif 000009
【図７】
0006904481.tif 000010
【図８】
0006904481.tif 000011
【図９】
0006904481.tif 000012
【図１０】
0006904481.tif 000013
【図１１】
0006904481.tif 000014
【図１２】
0006904481.tif 000015
【図１３】
0006904481.tif 000016