(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-07
(45)【発行日】2022-01-12
(54)【発明の名称】システム、画像認識方法、及び計算機
(51)【国際特許分類】
G06T 7/00 20170101AFI20220104BHJP
G06T 7/246 20170101ALI20220104BHJP
【FI】
G06T7/00 350C
G06T7/246
(21)【出願番号】P 2018003548
(22)【出願日】2018-01-12
【審査請求日】2020-08-13
(73)【特許権者】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(73)【特許権者】
【識別番号】504145283
【氏名又は名称】国立大学法人 和歌山大学
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】戚 意強
(72)【発明者】
【氏名】呉 海元
(72)【発明者】
【氏名】陳 謙
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2013-37549(JP,A)
【文献】特開2011-145791(JP,A)
【文献】特開2011-18238(JP,A)
【文献】長森藤江,““あなただけの人工知能をつくる” Deep Learning画像認識システム”,画像ラボ,日本,日本工業出版株式会社,2016年12月10日,第27巻, 第12号,p.31-35
【文献】田口弘貴, 外1名,“弱識別器の適応的学習によるオンライン物体追跡”,研究報告コンピュータビジョンとイメージメディア(CVIM),日本,情報処理学会,2013年05月23日,第2013-CVIM-187巻, 第27号,p.1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06T 7/246
(57)【特許請求の範囲】
【請求項1】
画像データに含まれる追跡対象を追跡するための認識処理を実行する認識サーバ及び前記認識処理に使用される識別器の学習を行う学習サーバを備えるシステムであって、
前記認識サーバは、第1演算装置、前記第1演算装置に接続される第1記憶装置、前記第1演算装置に接続される第1インタフェースを有し、
前記学習サーバは、第2演算装置、前記第2演算装置に接続される第2記憶装置、前記第2演算装置に接続される第2インタフェースを有し
、
前記認識サーバは、
前記追跡対象が指定された初期画像データを受け付け、前記追跡対象より小さいサイズの複数のブロックに前記初期画像データを分割し、
前記初期画像データに含まれる各ブロックの特徴量を算出し、
前記追跡対象の一部を含むブロックであるか否かを示す教師信号を、前記初期画像データに含まれる各ブロックの特徴量に付与することによって
初期学習用データを生成し、
前記初期学習用データを前記学習サーバに送信し、
前記学習サーバは、
前記初期学習用データを用いた学習を行うことによって、受信した前記画像データに含まれる各ブロックを、前記追跡対象の一部を含むブロック及び前記追跡対象を含まないブロックのいずれかに分類する識別器を生成し、
前記識別器を前記認識サーバに送信し、
前記認識サーバは、
前記識別器を用いて、受信した
前記画像データに対する前記認識処理を実行し、
前記認識処理の結果を出力することを特徴とするシステム。
【請求項2】
請求項1に記載のシステムであって、
前記第1記憶装置は、前記画像データの前記追跡対象を含む領域である追跡対象領域の設定情報を格納し、
前記認識サーバは、
前記学習サーバから
前記識別器を受信した後に、新規画像データを受信した場合、前記新規画像データを前記複数のブロックに分割し、
前記新規画像データに含まれる各ブロックの特徴量を算出し、
前記追跡対象領域の設定情報に基づいて、前記認識処理の対象となる領域である検索領域を設定し、
前記新規画像データに含まれる複数のブロックの中からターゲットブロックを選択し、
前記ターゲットブロックが前記検索領域に含まれるブロックであるか否かを判定し、
前記ターゲットブロックが前記検索領域に含まれるブロックでないと判定された場合、前記ターゲットブロックを、前記追跡対象の一部を含まないブロックに分類し、
前記ターゲットブロックが前記検索領域に含まれるブロックであると判定された場合、
前記識別器に前記ターゲットブロックの特徴量を入力し、
前記識別器の出力に基づいて、前記ターゲットブロックを、前記追跡対象の一部を含むブロック及び前記追跡対象の一部を含まないブロックのいずれかに分類し、
前記追跡対象の一部を含むブロックの分布に基づいて新たな追跡対象領域を推定し、
前記新たな追跡対象領域の推定の結果に基づいて、前記追跡対象領域の設定情報を更新することを特徴とするシステム。
【請求項3】
請求項2に記載のシステムであって、
前記学習サーバは、
前記認識サーバによって生成された追加学習用データを受信した場合、前記追加学習用データを用いた学習を行うことによって
前記識別器を更新し、
更新された前記識別器を前記認識サーバに送信し、
前記認識サーバは、
前記新規画像データに含まれる複数のブロックの特徴量に、前記分類の結果に対応する前記教師信号を付与することによって前記追加学習用データを生成し、
前記追加学習用データを前記学習サーバに送信し、
更新された前記識別器を用いて、受信した
前記画像データに対する前記認識処理を実行し、
前記認識処理の結果を出力することを特徴とするシステム。
【請求項4】
複数の計算機を有するシステムが実行する画像認識方法であって、
前記システムは、画像データに含まれる追跡対象を追跡するための認識処理を実行する認識サーバ及び前記認識処理に使用される識別器の学習を行う学習サーバを含み、
前記認識サーバは、第1演算装置、前記第1演算装置に接続される第1記憶装置、前記第1演算装置に接続される第1インタフェースを有し、
前記学習サーバは、第2演算装置、前記第2演算装置に接続される第2記憶装置、前記第2演算装置に接続される第2インタフェースを有し、
前記画像認識方法は、
前記認識サーバが、前記追跡対象が指定された初期画像データを受け付け、前記追跡対象より小さいサイズの複数のブロックに前記初期画像データを分割するステップと、
前記認識サーバが、前記初期画像データに含まれる各ブロックの特徴量を算出するステップと、
前記認識サーバが、前記追跡対象の一部を含むブロックであるか否かを示す教師信号を、前記初期画像データに含まれる各ブロックの特徴量に付与することによって初期学習用データを生成するステップと、
前記認識サーバが、前記初期学習用データを前記学習サーバに送信するステップと、
前記学習サーバが、前記初期学習用データを用いた学習を行うことによって
、受信した前記画像データに含まれる各ブロックを、前記追跡対象の一部を含むブロック及び前記追跡対象を含まないブロックのいずれかに分類する識別器を生成するステップと、
前記学習サーバが、
前記識別器を前記認識サーバに送信するステップと、
前記認識サーバが、
前記識別器を用いて、受信した
前記画像データに対する前記認識処理を実行するステップと、
前記認識サーバが、前記認識処理の結果を出力するステップと、を含むことを特徴とする画像認識方法。
【請求項5】
請求項4に記載の画像認識方法であって、
前記第1記憶装置は、前記画像データの前記追跡対象を含む領域を示す追跡対象領域の設定情報を格納し、
前記画像認識方法は、
前記認識サーバが、
前記識別器を受信した後に、新規画像データを受信した場合、前記新規画像データを前記複数のブロックに分割するステップと、
前記認識サーバが、前記新規画像データに含まれる各ブロックの特徴量を算出するステップと、
前記認識サーバが、前記追跡対象領域の設定情報に基づいて、前記認識処理の対象となる領域である検索領域を設定するステップと、
前記認識サーバが、前記新規画像データに含まれる複数のブロックの中からターゲットブロックを選択するステップと、
前記認識サーバが、前記ターゲットブロックが前記検索領域に含まれるブロックであるか否かを判定するステップと、
前記認識サーバが、前記ターゲットブロックが前記検索領域に含まれるブロックでないと判定された場合、前記ターゲットブロックを、前記追跡対象を含まないブロックに分類するステップと、
前記認識サーバが、前記ターゲットブロックが前記検索領域に含まれるブロックであると判定された場合、
前記識別器に前記ターゲットブロックの特徴量を入力し、
前記識別器の出力に基づいて、前記ターゲットブロックを、前記追跡対象の一部を含むブロック及び前記追跡対象を含まないブロックのいずれかに分類するステップと、
前記認識サーバが、前記追跡対象の一部を含むブロックの分布に基づいて新たな追跡対象領域を推定するステップと、
前記認識サーバが、前記新たな追跡対象領域の推定の結果に基づいて、前記追跡対象領域の設定情報を更新するステップと、を含むことを特徴とする画像認識方法。
【請求項6】
請求項5に記載の画像認識方法であって、
前記認識サーバが、前記新規画像データに含まれる複数のブロックの特徴量に、前記分類の結果に対応する前記教師信号を付与することによって追加学習用データを生成するステップと、
前記認識サーバが、前記追加学習用データを前記学習サーバに送信するステップと、
前記学習サーバが、前記追加学習用データを受信した場合、前記追加学習用データを用いた学習を行うことによって
前記識別器を更新するステップと、
前記学習サーバが、
更新された前記識別器を前記認識サーバに送信するステップと、
前記認識サーバが、
更新された前記識別器を用いて、受信した
前記画像データに対する前記認識処理を実行するステップと、
前記認識サーバが、前記認識処理の結果を出力するステップと、を含むことを特徴とする画像認識方法。
【請求項7】
画像データに含まれる追跡対象を認識する認識処理を実行する計算機であって、
演算装置、前記演算装置に接続される記憶装置、前記演算装置に接続されるインタフェースを有し、
前記演算装置は、
前記追跡対象
を指定する情報として、前記追跡対象を含む領域である追跡対象領域が設定された初期画像データを受け付け、前記追跡対象領域の設定情報を前記記憶装置に格納し、
前記追跡対象より小さいサイズの複数のブロックに前記初期画像データを分割し、
前記初期画像データに含まれる各ブロックの特徴量を算出し、
前記追跡対象の一部を含むブロックであるか否かを示す教師信号を、前記初期画像データに含まれる各ブロックの特徴量に付与することによって初期学習用データを生成し、
前記初期学習用データを、前記認識処理に使用する識別器の学習を行う学習部に出力し、
前記学習部によって生成された
、前記画像データに含まれる各ブロックを前記追跡対象の一部を含むブロック及び前記追跡対象を含まないブロックのいずれかに分類する識別器を受信した後に、新規画像データを受信した場合、前記新規画像データを前記複数のブロックに分割し、
前記新規画像データに含まれる各ブロックの特徴量を算出し、
前記追跡対象領域の設定情報に基づいて、前記認識処理の対象となる領域である検索領域を設定し、
前記新規画像データに含まれる複数のブロックの中からターゲットブロックを選択し、
前記ターゲットブロックが前記検索領域に含まれるブロックであるか否かを判定し、
前記ターゲットブロックが前記検索領域に含まれるブロックでないと判定された場合、前記ターゲットブロックを、前記追跡対象を含まないブロックに分類し、
前記ターゲットブロックが前記検索領域に含まれるブロックであると判定された場合、前記識別器に前記ターゲットブロックの特徴量を入力し、
前記識別器の出力に基づいて、前記ターゲットブロックを、前記追跡対象の一部を含むブロック及び前記追跡対象を含まないブロックのいずれかに分類し、
前記追跡対象を含むブロックの分布に基づいて新たな追跡対象領域を推定し、
前記新たな追跡対象領域の推定の結果に基づいて、前記追跡対象領域の設定情報を更新し、
前記分類の結果を含む前記認識処理の結果を出力することを特徴とする計算機。
【請求項8】
請求項7に記載の計算機であって、
前記演算装置は、
前記新規画像データに含まれる前記複数のブロックの特徴量に、前記分類の結果に対応する前記教師信号を付与することによって追加学習用データを生成し、
前記追加学習用データを前記学習部に出力し、
前記学習部によって更新された前記識別器を用いて、受信した
前記画像データに対する前記認識処理を実行することを特徴とする計算機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像認識を行うシステム、方法、及び計算機に関する。
【背景技術】
【0002】
動画等の画像データから人物及び車両等の対象物を追跡する技術が知られている(例えば、特許文献1を参照)。
【0003】
特許文献1には、「画像を逐次取得する取得部と、画像から部分領域を抽出して当該部分領域から特徴量を抽出する抽出部と、抽出された特徴量と、対象物体を示す正事例の特徴量および対象物体の背景を示す負事例の特徴量を含む第1の認識モデルまたは正事例の特徴量を含む第2の認識モデルとに基づいて、部分領域が対象物体か否か認識する認識部と、認識の結果に基づいて、抽出された特徴量を第1の認識モデルへ追加して更新する更新部と、対象物体と認識された物体領域を出力する出力部と、を備え、認識部は、取得部により取得された前の画像について物体領域が出力されている場合、第1の認識モデルに基づいて認識し、前の画像について物体領域が出力されていない場合、第2の認識モデルに基づいて認識する。」ことが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の画像認識システムでは、追跡対象を追跡するためには、予め、追跡対象を認識するための認識モデル(識別器)を用意する必要がある。一般的に、認識モデルは、多数の学習用データを用いる事前学習を行って生成する必要があり、事前学習の完了までに時間を要する。
【0006】
本発明は、追跡対象の追跡の開始が指示された場合、事前学習を行うことなく、追跡対象の追跡を迅速に開始することができるシステム、方法、及び計算機を提供する。
【課題を解決するための手段】
【0007】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、画像データに含まれる追跡対象を追跡するための認識処理を実行する認識サーバ及び前記認識処理に使用される識別器の学習を行う学習サーバを備えるシステムであって、前記認識サーバは、第1演算装置、前記第1演算装置に接続される第1記憶装置、前記第1演算装置に接続される第1インタフェースを有し、前記学習サーバは、第2演算装置、前記第2演算装置に接続される第2記憶装置、前記第2演算装置に接続される第2インタフェースを有し、前記認識サーバは、前記追跡対象が指定された初期画像データを受け付け、前記追跡対象より小さいサイズの複数のブロックに前記初期画像データを分割し、前記初期画像データに含まれる各ブロックの特徴量を算出し、前記追跡対象の一部を含むブロックであるか否かを示す教師信号を、前記初期画像データに含まれる各ブロックの特徴量に付与することによって初期学習用データを生成し、前記初期学習用データを前記学習サーバに送信し、前記学習サーバは、前記初期学習用データを用いた学習を行うことによって、受信した前記画像データに含まれる各ブロックを、前記追跡対象の一部を含むブロック及び前記追跡対象を含まないブロックのいずれかに分類する識別器を生成し、前記識別器を前記認識サーバに送信し、前記認識サーバは、前記識別器を用いて、受信した前記画像データに対する前記認識処理を実行し、前記認識処理の結果を出力することを特徴とする。
【発明の効果】
【0008】
本発明の一形態によれば、多数の学習用データを用いる事前学習を行うことなく、追跡対象の追跡を迅速に開始できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】実施例1の計算機システムの構成例を示す図である。
【
図2】実施例1の認識サーバのハードウェア構成及びソフトウェア構成の一例を示す図である。
【
図3A】実施例1の認識モジュールが実行する初期学習の処理を説明するフローチャートである。
【
図3B】実施例1の認識モジュールが実行する、初期学習完了後の追跡対象の追跡処理を説明するフローチャートである。
【
図4】実施例1の認識サーバに入力される、追跡対象領域が設定された画像データの一例を示す図である。
【
図5】実施例1の認識サーバが生成する学習用データの一例を示す図である。
【
図6】実施例1の学習モジュールが実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明に係る実施例を添付図面を用いて説明する。各図において共通の構成については同一の参照符号が付されている。
【実施例1】
【0011】
図1は、実施例1の計算機システムの構成例を示す図である。
【0012】
計算機システムは、認識サーバ100、学習サーバ101、撮像装置105、及びデータベース106から構成される。なお、計算機システムは、撮像装置105及びデータベース106のいずれかを含む構成でもよい。
【0013】
認識サーバ100、学習サーバ101、撮像装置105、及びデータベース106は、直接又はネットワークを介して互いに接続される。本発明はネットワークの種別に限定されない。ネットワークの種別としては、LAN(Local Area Network)及びWAN(Wide Area Network)がある。また、ネットワークの接続方式は有線及び無線のいずれでもよい。
【0014】
撮像装置105は、カメラ等の装置であり、撮影された画像を画像データ150として認識サーバ100又はデータベース106に送信する。データベース106は、画像データ150を格納する。
【0015】
認識サーバ100は、認識処理を実行する認識モジュール110を有する。認識モジュール110は、撮像装置105又はデータベース106から画像データ150を取得し、取得された画像データ150の認識処理を実行する。また、認識モジュール110は、画像データ150を用いて学習用データを生成し、学習サーバ101に送信する。
【0016】
なお、本実施例の認識処理は、画像データに含まれる追跡対象を追跡するための処理である。
【0017】
学習サーバ101は、深層学習による学習を行う学習モジュール120を有する。学習モジュール120は、学習用データを用いて認識処理に使用される識別器の学習を行う。また、学習モジュール120は、学習された識別器を認識サーバ100に送信する。
【0018】
識別器は関数又は行列等のデータとして表される。本実施例では、追跡対象が指定された画像データ150が入力される時点では、当該追跡対象を認識するための識別器は学習されていない。後述するように、学習モジュール120は、追跡対象が指定された画像データ150に基づいて生成された初期学習用データを用いて識別器の学習を行う。
【0019】
以下の説明では、追跡対象が指定された画像データ150を初期画像データ150と記載する。
【0020】
なお、認識サーバ100及び学習サーバ101は、物理的に異なる計算機として表しているが、一つの計算機上で稼働する仮想計算機を用いて実現してもよい。
【0021】
図2は、実施例1の認識サーバ100のハードウェア構成及びソフトウェア構成の一例を示す図である。
【0022】
認識サーバ100は、ハードウェアとして、演算装置201、記憶装置202、ネットワークインタフェース203、及びI/Oインタフェース204を有する。各ハードウェアは、内部バス等を介して互いに接続される。
【0023】
なお、学習サーバ101のハードウェア構成は、認識サーバ100と同一であるものとする。
【0024】
演算装置201は、記憶装置202に格納されるプログラムを実行する。演算装置201がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、演算装置201が当該モジュールを実現するプログラムを実行していることを示す。
【0025】
記憶装置202は、演算装置201が実行するプログラム及びプログラムが使用する情報を格納する。また、記憶装置202は、プログラムが一時的に使用するワークエリアを含む。記憶装置202は、例えば、メモリ等が考えられる。
【0026】
実施例1の記憶装置202は、認識モジュール110を実現するプログラムを格納する。また、記憶装置202には、処理対象の画像データ150が一時的に格納される。
【0027】
ネットワークインタフェース203は、ネットワークを介して他の装置と接続するためのインタフェースである。
【0028】
I/Oインタフェース204は、図示しない入力装置及び出力装置と接続するためのインタフェースである。入力装置は、例えば、キーボード、マウス、及びタッチパネル等である。出力装置は、例えば、タッチパネル及びディスプレイ等である。
【0029】
なお、認識サーバ100が有する認識モジュール110については、一つのモジュールを機能毎に複数のモジュールに分けてもよい。
【0030】
図3A及び
図3Bは、実施例1の認識モジュール110が実行する処理を説明するフローチャートである。
図3Aは、実施例1の認識モジュールが実行する初期学習の処理を説明するフローチャートである。
図3Bは、実施例1の認識モジュールが実行する、初期学習完了後の追跡対象の追跡処理を説明するフローチャートである。
図4は、実施例1の認識サーバ100に入力される、追跡対象領域が設定された画像データ150の一例を示す図である。
図5は、実施例1の学習用データの生成過程の一例を示す図である。
【0031】
まず、認識モジュール110は、初期画像データ150の入力を受け付ける(ステップS101)。本実施例では、初期画像データ150は一つであるものとする。
【0032】
ここで、
図4を用いて追跡対象を指定する方法について説明する。ユーザは、出力装置に表示される画像データ150を参照し、追跡対象を囲む領域を設定することによって追跡対象を指定する。以下の説明では、追跡対象が存在する領域を追跡対象領域と記載する。
【0033】
認識モジュール110は、追跡対象領域によって追跡対象が指定された初期画像データ150の入力を受け付ける。このとき、認識モジュール110は、追跡対象領域の中心位置及びサイズ等を追跡対象領域の設定情報として保持する。
【0034】
以下の説明では、画像データ150の追跡対象でない部分を背景と記載し、また、追跡対象領域を除く領域を背景領域と記載する。
【0035】
なお、追跡対象の指定は、認識モジュール110が初期画像データ150を受け付けた後に行われてもよい。例えば、認識モジュール110は、初めて画像データ150を受け付けた場合、
図4に示すような画面を出力装置に表示し、追跡対象領域の設定を促す表示を行う。
【0036】
本実施例では、初期画像データ150の数は一つであるが、複数でもよい。ただし、初期画像データ150の数は従来の機械学習で用いる学習用データの数より十分少ないものとする。
【0037】
次に、認識モジュール110は初期化処理を実行する(ステップS102)。
【0038】
具体的には、認識モジュール110は、追跡対象に分類されたブロックを格納する記憶領域及び背景に分類されたブロックを格納する記憶領域を初期化する。以下の説明では、追跡対象に分類されたブロックを格納する記憶領域を第1記憶領域と記載し、背景に分類されたブロックを格納する記憶領域を第2記憶領域と記載する。
【0039】
次に、認識モジュール110は、初期画像データ150を用いて初期学習用データを生成し、学習サーバ101に送信する(ステップS103)。具体的には、認識モジュール110は、以下のような処理を実行する。
【0040】
(処理1)認識モジュール110は、
図5に示すように初期画像データ150を任意のサイズの領域に分割する。以下の説明では、一つの領域をブロックと記載する。ブロックのサイズは、画素以上かつ追跡対象より小さくなるように設定される。例えば、画像データのサイズが640×480の場合、認識モジュール110は、縦及び横をそれぞれ32分割することによって、300個のブロックを生成する。分割数は予め設定されているものとする。ただし、分割数は任意の値に変更できる。なお、ブロック内の矩形は画素を表す。
【0041】
(処理2)認識モジュール110は、各ブロックの特徴量を算出する。例えば、式(1)に示すような、ブロックに含まれる各画素のRGB値の組合せがブロックの特徴量fiとして算出される。この場合、画像データ150の特徴量Fは式(2)のように表される。
【0042】
【0043】
【0044】
ここで、iはブロックの識別番号であり、1からnまでの値を取る。なお、nは1より大きい整数とする。x及びyはブロック内の相対的な画素の位置を示す座標である。
【0045】
(処理3)認識モジュール110は、追跡対象領域に含まれるブロックに、追跡対象であることを示す教師信号を付与する。また、認識モジュール110は、背景領域に含まれるブロックに、背景であることを示す教師信号を付与する。本実施例では、ブロックの一部が追跡対象領域に含まれる場合、当該ブロックは追跡対象領域に含まれるブロックとして扱われる。以下の説明では、追跡対象であることを示す教師信号を第1教師信号と記載し、背景であることを示す教師信号を第2教師信号と記載する。
【0046】
ここで、識別番号がiのブロックに付与する教師信号tiを式(3)のように定義した場合、初期学習用データSは式(4)のように与えられる。
【0047】
【0048】
【0049】
(処理4)認識モジュール110は、式(4)に示す初期学習用データSを学習サーバ101に送信する。以上がステップS103の説明である。
【0050】
次に、認識モジュール110は、初期学習が終了したか否かを判定する(ステップS104)。
【0051】
具体的には、認識モジュール110は、学習サーバ101によって生成された識別器を受信したか否かを判定する。本実施例の識別器は、ブロックを追跡対象及び背景のいずれかに分類する。
【0052】
初期学習が終了していないと判定された場合、認識モジュール110は、初期学習が終了するまで待ち状態に移行する。
【0053】
初期学習が終了したと判定された場合、認識モジュール110は、新たな画像データ150を取得し(ステップS105)、ブロックのループ処理を開始する(ステップS106)。
【0054】
具体的には、認識モジュール110は、取得した画像データ150をブロックに分割し、各ブロックの特徴量を算出する。また、認識モジュール110は、ブロックの中からターゲットブロックを選択する。また、認識モジュール110は、追跡対象領域の設定情報に基づいて検索領域を設定する。本実施例では、検索領域の中心位置は追跡対象領域の中心位置と同一に設定され、検索領域のサイズは追跡対象領域のサイズより大きくなるように設定される。例えば、検索領域のサイズは、追跡対象領域のサイズの1.5倍に設定される。認識モジュール110は、一時的に検索領域の設定情報を保持する。
【0055】
認識モジュール110は、ターゲットブロックが検索領域に含まれるか否かを判定する(ステップS107)。
【0056】
具体的には、認識モジュール110は、画像データ150内のターゲットブロックの位置及び検索領域の設定情報に基づいて、ターゲットブロックが検索領域に含まれるか否かを判定する。
【0057】
ターゲットブロックが検索領域に含まれないと判定された場合、認識モジュール110は、ターゲットブロックを背景に分類し、ターゲットブロックを第2記憶領域に格納する(ステップS111)。その後、認識モジュール110はステップS112に進む。
【0058】
ターゲットブロックが検索領域に含まれると判定された場合、認識モジュール110は、認識処理を実行する(ステップS108)。
【0059】
具体的には、認識モジュール110は、識別器にターゲットブロックの特徴量を入力し、識別器から得られた値に基づいて、ターゲットブロックが追跡対象の一部を含むか否かを判定する。ターゲットブロックが追跡対象の一部を含む場合、ターゲットブロックは追跡対象に分類される。ターゲットブロックが追跡対象の一部を含まない場合、ターゲットブロックは背景に分類される。当該分類の結果によって画像データ中の追跡対象の追跡が可能となる。
【0060】
ターゲットブロックが背景に分類された場合、認識モジュール110は、ターゲットブロックを第2記憶領域に格納する(ステップS111)。その後、認識モジュール110はステップS112に進む。
【0061】
ターゲットブロックが追跡対象に分類された場合、認識モジュール110は、ターゲットブロックを第1記憶領域に格納する(ステップS110)。その後、認識モジュール110はステップS112に進む。
【0062】
ステップS112では、認識モジュール110は、全てのブロックに対して処理が完了したか否かを判定する(ステップS112)。
【0063】
全てのブロックに対して処理が完了していないと判定された場合、認識モジュール110は、ステップS106に戻り、新たなターゲットブロックを選択し、同様の処理を実行する。
【0064】
全てのブロックに対して処理が完了したと判定された場合、認識モジュール110は、追跡対象領域を更新する(ステップS113)。
【0065】
具体的には、認識モジュール110は、画像データ150内の追跡対象に分類されたブロックの分布に基づいて追跡対象領域を推定する。認識モジュール110は、推定結果に基づいて追跡対象領域の設定情報を更新する。
【0066】
例えば、追跡対象に分類された全てのブロックを囲む領域を追跡対象領域として推定する。また、認識モジュール110は、追跡対象に分類されたブロックの重心を算出し、重心を基準とする任意のサイズの矩形を追跡対象領域として推定する。なお、追跡対象領域の推定方法は一例であってこれに限定されない。
【0067】
次に、認識モジュール110は、追跡対象の認識結果を出力する(ステップS114)。
【0068】
例えば、認識モジュール110は、追跡対象の認識結果を表示するための表示情報を生成し、出力装置に出力する。当該表示情報には、例えば、追跡対象と判定されたブロック及び追跡対象領域等を表示するためのデータが含まれる。
【0069】
次に、認識モジュール110は、認識が行われた画像データ150を用いて追加学習用データを生成し、学習サーバ101に送信する(ステップS115)。
【0070】
具体的には、認識モジュール110は、追跡対象と判定されたブロックに第1教師信号を付与し、背景と判定されたブロックに第2教師信号を付与することによって追加学習用データを生成する。なお、追加学習用データの構造は、初期学習用データSと同一である。
【0071】
次に、認識モジュール110は、追跡対象の追跡が終了したか否かを判定する(ステップS116)。例えば、追跡の終了指示を受け付けた場合、認識モジュール110は、追跡が終了したと判定する。
【0072】
追跡対象の追跡が終了したと判定された場合、認識モジュール110は処理を終了する。
【0073】
追跡対象の追跡が終了していないと判定された場合、認識モジュール110は、ステップS105に戻り、同様の処理を実行する。認識モジュール110は、学習サーバ101によって逐次更新される識別器を用いて同様の処理を実行する。なお、ステップS105に戻る場合に、認識モジュール110は、更新された識別器を受信するまで待ち状態に移行してもよい。
【0074】
図6は、実施例1の学習モジュール120が実行する処理を説明するフローチャートである。
【0075】
学習サーバ101は、認識サーバ100から初期学習用データ又は追加学習用データを受信した場合、以下で説明する処理を開始する。以下の説明では、初期学習用データ及び追加学習用データを区別しない場合、学習用データと記載する。
【0076】
学習モジュール120は、学習用データを用いて深層学習による学習を行う(ステップS201)。当該学習によって、ブロック単位の追跡対象及び背景を学習できる。
【0077】
なお、本発明は、使用する深層学習の手法に限定されない。例えば、RBM(Restricted Boltzmann Machine)を用いることが考えられる。
【0078】
次に、学習モジュール120は、学習結果に基づいて識別器を生成又は更新し、認識サーバ100に識別器を送信する(ステップS202)。その後、学習モジュール120は処理を終了する。
【0079】
具体的には、初期学習用データを受信した場合、学習モジュール120は識別器を生成し、認識サーバ100に生成された識別器を送信する。また、追加学習用データを受信した場合、学習モジュール120は識別器を更新し、認識サーバ100に更新された識別器を送信する。
【0080】
従来の学習では、追跡対象全体を認識するための識別器(認識モデル)が生成されていた。このような識別器を生成するためには、多数の学習用データを用いた学習を行う必要がある。そのため、多数の学習用データを用意するためのコストがかかり、また、学習時間が非常に長いという問題があった。
【0081】
一方、本実施例の学習サーバ101は、一つの初期学習用データを分割したブロックの特徴量を用いて深層学習による学習を行う。すなわち、学習サーバ101は、追跡対象領域に含まれる複数のブロックを追跡対象として学習する。したがって、多数の学習用データを用意する必要がなく、また、学習時間が短い。追加学習用データを用いた学習も同様に高速に行うことができる。
【0082】
従来の認識処理では、追跡対象全体の認識が行われる。追跡対象全体が一つの特徴量として扱われるため、初めて入力された画像データのみを用いた学習で生成された識別器は認識精度が非常に低い。したがって、当該識別器を用いても迅速な追跡対象の追跡を開始できない。
【0083】
一方、本実施例の認識サーバ100は、検索領域に含まれるブロックに対して追跡対象の認識を行う。ブロックの特徴量は、追跡対象の移動及び追跡対象の形状の変化に対する変化量が小さいものと考えられる。したがって、追跡対象が指定された直後に追跡対象の認識を行わせる場合でも、一定の認識精度を保つことができる。したがって、初期学習用データを用いて生成された識別器を用いて迅速な追跡対象の追跡を開始できる。また、認識処理の対象となるブロックは、検索領域に含まれるブロックのみであるため、リアルタイムな追跡対象の追跡が可能となる。
【0084】
なお、追跡の継続中にも学習サーバ101によって識別器が更新されるため、時間の経過とともに認識精度が高くなることは明らかである。
【0085】
以上で説明したように、本実施例によれば、多数の学習用データを用いた学習を行うことなく、追跡対象の追跡を迅速に開始するシステム、画像認識方法、及び計算機を実現できる。
【0086】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0087】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0088】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0089】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0090】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0091】
100 認識サーバ
101 学習サーバ
105 撮像装置
106 データベース
110 認識モジュール
120 学習モジュール
150 画像データ
201 演算装置
202 記憶装置
203 ネットワークインタフェース
204 I/Oインタフェース