(57)【要約】【課題】学習機能を有する装置であっても、個々の装置ではじめから学習しなければならないという課題を解決すること。【解決手段】プログラムは、第１装置が学習により適応させた第１学習データを取得する取得ステップと、第２装置が学習により適応させる第２学習データのデータ形式に基づいて、取得した第１学習データを、第２学習データのデータ形式に適合するデータ形式の学習データに変換するデータ変換ステップとをコンピュータに実行させる。【選択図】図１
2013080428.tif 000002
【特許請求の範囲】
【請求項１】
第１装置が学習により適応させた第１学習データを取得する取得ステップと、
第２装置が学習により適応させる第２学習データのデータ形式に基づいて、前記取得した前記第１学習データを、前記第２学習データのデータ形式に適合するデータ形式の学習データに変換するデータ変換ステップと
をコンピュータに実行させるプログラム。
【請求項２】
前記第１装置および前記第２装置は、撮像装置であり、
前記第１学習データおよび前記第２学習データは、人物画像データに基づく学習により適応される、人物識別用のデータである
請求項１に記載のプログラム。
【請求項３】
前記第１学習データおよび前記第２学習データは、人物認識用のテンプレート画像のデータである
請求項２に記載のプログラム。
【請求項４】
前記データ変換ステップは、前記第１装置が学習により適応させたテンプレート画像のデータを、前記第２装置が学習により適応させるテンプレート画像の画素数と同一の画素数のテンプレート画像のデータに変換する
請求項３に記載のプログラム。
【請求項５】
前記第１学習データおよび前記第２学習データは、人物頭部の特徴点のデータである
請求項２に記載のプログラム。
【請求項６】
前記データ変換ステップは、前記取得した前記特徴点のデータを、前記第２装置が学習により適応させる特徴点の数と同一の数の特徴点のデータに変換する
請求項５に記載のプログラム。
【請求項７】
前記第１装置および前記第２装置は撮像装置であり、
前記第１学習データおよび前記第２学習データは、ユーザによる撮像指示のタイムラグに関するタイムラグデータである
請求項１から６のいずれか一項に記載のプログラム。
【請求項８】
前記データ変換ステップは、前記第１装置が学習により適応させたタイムラグデータを、前記第２装置の撮像動作のタイムラグに基づいて前記第２装置用のタイムラグデータに変換する
請求項７に記載のプログラム。
【請求項９】
前記プログラムは、前記コンピュータに、
前記第１装置が記憶している前記第１学習データを、ネットワークを介して取得し、前記データ変換ステップにおいて変換された学習データを、ネットワークを通じて外部に送信する通信ステップ
をさらに実行させる請求項１から８のいずれか一項に記載のプログラム。
【請求項１０】
前記プログラムは、前記コンピュータに、
前記第１装置が記憶している前記第１学習データを記憶媒体を介して取得し、前記データ変換ステップで変換された前記学習データを記憶媒体に記憶させる記憶制御ステップ
をさらに実行させる請求項１から８のいずれか一項に記載のプログラム。
【請求項１１】
前記プログラムは、前記第２装置として機能する前記コンピュータに、
前記データ変換ステップにおいて変換された学習データを、学習データの初期値として格納させる格納制御ステップ
をさらに実行させる請求項１から８のいずれか一項に記載のプログラム。
【請求項１２】
第１装置が学習により適応させた第１学習データを取得する取得部と、
第２装置が学習により適応させる第２学習データのデータ形式に基づいて、前記取得した前記第１学習データを、前記第２学習データのデータ形式に適合するデータ形式の学習データに変換するデータ変換部と
を備える情報変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムおよび情報変換装置に関する。
【背景技術】
【０００２】
カメラで撮像した人物の画像をテンプレートとして登録する記憶手段と、認証時に撮像した画像と、予めテンプレート画像として登録している人物の画像とのテンプレートマッチングによって、認証対象の人物が登録されているか否かを判断する認証手段とを備えている顔認証装置が知られている（例えば、下記特許文献１参照。）。
［先行技術文献］
［特許文献］
［特許文献１］特開２００８−１８６０９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
家族等の特定人物の顔画像データを用いてカメラ内で人物の顔を学習して、顔の識別処理に用いるデータを特定人物の顔に適応させることで、顔の識別率を高めることができても、その効果は個々のカメラを用いる場合に限られる。例えば新しく購入したカメラを用いる場合、顔の学習をはじめからやり直すことになってしまう。新しいカメラで十分に学習が進むまでは、顔の識別率が低いまま使用し続けなければならない。このように、学習機能を有する装置であっても、個々の装置ではじめから学習していかなければならないという課題があった。
【課題を解決するための手段】
【０００４】
本発明の一態様におけるプログラムは、第１装置が学習により適応させた第１学習データを取得する取得ステップと、第２装置が学習により適応させる第２学習データのデータ形式に基づいて、取得した第１学習データを、第２学習データのデータ形式に適合するデータ形式の学習データに変換するデータ変換ステップとをコンピュータに実行させる。
【０００５】
本発明の一態様における情報変換装置は、第１装置が学習により適応させた第１学習データを取得する取得部と、第２装置が学習により適応させる第２学習データのデータ形式に基づいて、取得した第１学習データを、第２学習データのデータ形式に適合するデータ形式の学習データに変換するデータ変換部とを備える。
【０００６】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係るシステムの概念を説明する概念図である。
【図２】カメラ１０ｂのシステム構成図である。
【図３】カメラ１０が人物の顔を学習する場合に実行する処理のフロー図である。
【図４】カメラ１０が撮像動作のタイムラグを学習する処理のフロー図である。
【図５】パーソナルコンピュータ２０による学習済みデータの処理フローを示す図である。
【図６】サーバ３０が学習済みデータを変換する処理フローを示す図である。
【図７】テンプレート画像のデータ変換を模式的に示す図である。
【図８】タイムラグ値の変換を模式的に示す図である。
【図９】カメラ１０ｂにおける学習データを設定する処理フローを示す図である。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係るシステムの概念を説明する概念図である。本システムは、撮像装置の一例としてのカメラ１０ａおよびカメラ１０ｂ、パーソナルコンピュータ２０、ネットワーク２７およびサーバ３０を備える。本システムは、カメラ１０ａが学習によって獲得した顔画像データ等の学習済みデータを、新しいカメラ１０ｂが内部で学習処理に用いるデータ形式の学習データに変換して、カメラ１０ｂに提供する。
【００１０】
例えば、カメラ１０ａは、学習データの一例としての顔識別用のテンプレート画像を学習する機能を有する。カメラ１０ａは、ユーザ１７の家族等の特定人物の顔を撮像した場合に、特定人物の顔画像のデータを用いて、特定人物に適応させたテンプレート画像のデータを生成する。カメラ１０ａは、適応させたテンプレート画像のデータを、特定人物の顔識別用のテンプレート画像のデータとして記録し直す。カメラ１０ａは、新たに撮像した画像データに対して、現在記録しているテンプレート画像のデータを用いて顔識別処理をして、特定人物の顔を検出する。このため、カメラ１０ａが使用されるほど、顔の識別率が高まる。
【００１１】
カメラ１０ｂは、ユーザ１７が新規に購入したカメラであり、カメラ１０ａと同様に、顔識別用のテンプレート画像を学習によって適応させる機能を有する。ここで、カメラ１０ｂは、カメラ１０ａとは異なるデータ形式のテンプレート画像を用いることで、カメラ１０ａよりも高い顔識別能力を持つとする。例えば、カメラ１０ｂは、より多画素のテンプレート画像のデータを学習によって生成する。しかし、カメラ１０ｂには、多くの人物の顔にマッチする汎用のテンプレート画像のデータが工場出荷時に記録されており、ユーザ１７の家族等の特定人物の顔を他の人物と区別して検出することは実質的にできない。したがって、ユーザ１７がカメラ１０ｂを使用し始めた時点では、カメラ１０ｂによる特定人物の顔の識別率は、カメラ１０ａよりも劣る。
【００１２】
本システムにおいて、カメラ１０ａは、記録しているテンプレート画像のデータを記録媒体１５に書き出す。パーソナルコンピュータ２０は、記録媒体１５から読み出したテンプレート画像のデータを、ネットワーク２７を介してサーバ３０に送信して、カメラ１０ｂ用のデータ形式に変換する旨を依頼する。情報変換装置の一例としてのサーバ３０は、ネットワーク２７を介してテンプレート画像のデータをサーバ３０から受信すると、受信したテンプレート画像のデータを、カメラ１０ｂ用のデータ形式のデータに変換する。例えば、サーバ３０は、受信したテンプレート画像のデータに対して画素数を増加させる処理を行う。具体的には、サーバ３０は、受信したテンプレート画像のデータを、カメラ１０ｂが内部で学習に用いる画素数と同一の画素数のテンプレート画像のデータに変換する。サーバ３０は、変換したテンプレート画像のデータを、ネットワーク２７を介してパーソナルコンピュータ２０に送信する。パーソナルコンピュータ２０は、ネットワーク２７を介して受信したテンプレート画像のデータを、記録媒体１５に書き出す。
【００１３】
カメラ１０ｂは、サーバ３０によって変換されたテンプレート画像のデータを記録媒体１５から読み出して、顔識別用のテンプレート画像のデータとして内部に記録する。カメラ１０ｂは、撮像して得た画像データに対して、記録しているテンプレート画像のデータを用いて顔識別処理を行う。このため、カメラ１０ｂは、ユーザ１７が使用し始めてすぐに、特定人物と他の人物とを区別することができる。本システムによれば、カメラ１０ａで学習済みのテンプレート画像のデータをカメラ１０ｂで引き続き利用することができるので、カメラ１０ｂが工場出荷時の汎用のテンプレート画像のデータから学習をし始める必要がない。このため、カメラ１０ａは、特定人物に対して高い識別率を最初から発揮することができる。
【００１４】
図２は、カメラ１０ｂのシステム構成図である。カメラ１０ｂは、主にズームレンズ２２１等が含まれる光学系を備える。被写体像は、光軸２１９に沿ってズームレンズ２２１に入射して撮像素子２３１の結像面に結像する。ズームレンズ２２１および撮像素子２３１の機能ブロックは、撮像部として機能する。
【００１５】
撮像素子２３１は、ズームレンズ２２１を透過して入射する被写体像である光学像を光電変換して被写体を撮像する素子である。撮像素子２３１としては、例えば、ＣＣＤ、ＣＭＯＳセンサを用いることができる。撮像素子２３１で光電変換された被写体像は、Ａ／Ｄ変換器２３２でアナログ信号からデジタル信号に変換される。撮像素子２３１の電荷読み出し制御およびＡ／Ｄ変換器２３２の変換制御は、メモリ制御部２３３の同期制御を受けたタイミング発生部２３４が供給するクロック信号により同期が計られる。
【００１６】
デジタル信号に変換された被写体像は、画像データとして順次処理される。Ａ／Ｄ変換器２３２によりデジタル信号に変換された画像データは、メモリ制御部２３３の制御に従い、一旦内部メモリ２３５に記憶される。内部メモリ２３５は、高速で読み書きのできるランダムアクセスメモリであり、例えばＤＲＡＭ、ＳＲＡＭなどが用いられる。内部メモリ２３５は、連写撮像、動画撮像において高速に連続して画像データが生成される場合に、画像処理の順番を待つバッファメモリとしての役割を担う。
【００１７】
また、内部メモリ２３５は、画像処理部２３７が行う画像処理、圧縮処理において、ワークメモリとしての役割も担う。特に本実施形態においては、内部メモリ２３５は、撮像画像の画像データだけでなく、テンプレート画像等の学習データを一時的に保持する役割も担う。したがって、内部メモリ２３５は、これらの役割を担うに相当する十分なメモリ容量を備える。
【００１８】
システムメモリ２３６は、電気的に消去・記録可能な不揮発性メモリであり、例えばＥＥＰＲＯＭ（登録商標）等により構成される。システムメモリ２３６は、カメラ１０ｂの動作時に必要な定数、変数、プログラム等を、カメラ１０ｂの非動作時にも失われないように記録している。カメラ１０ｂの全体を直接的または間接的に制御するシステム制御部２５０は、定数、変数、プログラム等を適宜に内部メモリ２３５に展開して、カメラ１０ｂの制御に利用する。システムメモリ２３６は、テンプレート画像等の学習データを記録する。
【００１９】
画像処理部２３７は、設定されている撮像モード、ユーザからの指示に則して、画像データを所定の画像フォーマットに変換する。例えば、静止画像データとしてＪＰＥＧファイルを生成する場合、色変換処理、ガンマ処理、ホワイトバランス処理等の画像処理を行った後に適応離散コサイン変換等を施して圧縮処理をする。
【００２０】
また、動画像データとしてＭＰＥＧファイルを生成する場合、所定の画素数に縮小されて生成された連続する静止画データとしてのフレーム画像データに対して、フレーム内符号化、フレーム間符号化を施して圧縮処理をする。画像処理部２３７によって処理された静止画像データ、動画像データは、内部メモリ２３５から記録媒体ＩＦ２４０を介して、記録媒体２０９に記録される。
【００２１】
画像処理部２３７は、記録用に処理される画像データに並行して、表示用の画像データを生成する。生成された表示用の画像データは、表示制御部２３８の制御に従って、Ｄ／Ａ変換器２３９でアナログ信号に変換され、表示部２０１に表示される。記録の有無に関わらず、逐次表示用の画像データを生成して表示部２０１に表示すれば、ライブビュー機能を実現することができる。また、システム制御部２５０は、画像の表示と共に、もしくは画像を表示することなく、カメラ１０ｂの各種設定に関する様々なメニュー項目も、表示部２０１に表示することができる。
【００２２】
本実施形態において画像処理部２３７は、テンプレート画像のデータを用いた顔の識別処理を行う。画像処理部２３７は、内部メモリ２３５に展開されたテンプレート画像のデータを用いて、被写体像の画像データから顔を検出する。画像処理部２３７は、顔を検出した場合、顔検出枠等の顔検出結果を被写体像の画像データに重畳して、表示用の画像データを生成する。顔検出結果が重畳された表示用の画像データは、表示制御部２３８の制御に従って、表示部２０１に表示される。
【００２３】
カメラ１０ｂは、ユーザ１７からの操作を受け付ける操作部材２０２を複数備えているが、システム制御部２５０は、これら操作部材２０２が操作されたことを検知して操作に応じた動作を実行する。本実施形態において、操作部材２０２は、特定人物の顔が写っている位置を指定する操作を受け付ける。また、操作部材２０２は、特定人物の顔を学習すべき旨の操作を受け付ける。システム制御部２５０は、操作部材２０２が受け付けた操作に従って、指定された位置の顔画像のデータにテンプレート画像のデータを適応させるよう、画像処理部２３７に指示する。システム制御部２５０は、画像処理部２３７が適応させたテンプレート画像のデータを、内部メモリ２３５に記憶するとともに、システムメモリ２３６に記録させる。
【００２４】
また、カメラ１０ｂはレリーズスイッチ２０７を備える。レリーズスイッチ２０７は、カメラ１０ｂの動作モードが撮像モードに設定されている場合、押下げ検知により撮像素子２３１による被写体像の取得動作を実行する。一方、カメラ１０ｂの動作モードが画像データ取得モードに設定されている場合、押下げ検知により画像データ取得モードを解除してカメラ１０ｂの動作モードを撮像モードに切り換える。
【００２５】
ズームレンズ２２１は、システム制御部２５０の統括制御のもと、ズーム制御部２４３によって制御される。ズーム制御部２４３は、ユーザの指示に応じてズームレンズ２２１を駆動して、被写体像の画角を変更する。システム制御部２５０は、ズーム制御部２４３によって検出されるズームレンズ２２１の位置を取得してカメラ１０ｂの画角情報を取得する。
【００２６】
電源制御部２４７は、バッテリ２０８と通信して残電力を検出、電力供給を監視する。また、バッテリ２０８の充電に応じて、接続されるＡＣ電源からの電力供給を制御する。記録媒体２０９は、バッテリ２０８またはＡＣ電源からの電力供給がない場合でも、記録されたデータを保持することができる。
【００２７】
ＧＰＳモジュール２４８は、ＧＰＳ衛星からの信号を受信して、カメラ１０ｂが存在している緯度、経度、高度情報を取得してカメラ１０ｂの位置を検出する。システム制御部２５０は、ＧＰＳモジュール２４８からカメラ１０ｂの位置情報を適宜検出することができる。システム制御部２５０は、被写体像の画像データに位置情報を付加して記録媒体２０９に記録する。カメラ１０ｂは、ＧＰＳモジュール２４８によって検出される位置情報に基づき、後述するタイムラグ値の学習を制御してもよい。例えば、カメラ１０ｂは、屋外用のタイムラグ値と、屋内用のタイムラグ値とをシステムメモリ２３５に記録しており、ＧＰＳモジュール２４８によって検出される位置情報が屋外の位置を示す場合に屋外用のタイムラグ値を適応させて学習し、ＧＰＳモジュール２４８によって検出される位置情報が屋内の位置を示す場合に屋内用のタイムラグ値を適応させて学習してもよい。例えば遊園地やサッカー場等の屋外では、動きの大きい被写体を撮像する場合が多い。したがって、屋外では、ベストなシャッタタイミングは、ユーザ１７がレリーズスイッチ２０７を実際に押下するのに要するタイムラグだけでなく、被写体の動きに影響されるケースが多い。例えばユーザ１７が被写体の動きを予想してレリーズスイッチ２０７を押下したとしても、被写体が予想外の動きをした場合には、予想外の動きをする前のタイミングがユーザ１７にとってベストなシャッタタイミングとなる場合がある。屋外と比較すると、屋内では動きの大きい被写体を撮像するケースは少ない。カメラ１０ｂが屋外と屋内とでタイムラグ値を別に管理することで、位置情報に応じてタイムラグ値を適切に学習することができる場合がある。
【００２８】
本図において、カメラ１０ｂのシステム構成を説明した。カメラ１０ａも本システム構成と同様のシステム構成を有するので、説明を省略する。本システム構成のカメラがカメラ１０ａとして機能する場合、システム制御部２５０は、内部メモリ２３５に記憶されているテンプレート画像のデータまたは内部メモリ２３５に展開されたテンプレート画像のデータを、記録媒体ＩＦ２４０を介して記録媒体２０９に記録する。このとき、システム制御部２５０は、カメラ１０ａの機種を識別する情報を、テンプレート画像のデータに対応づけて記録媒体２０９に記録する。これにより、図１に関連して説明したように、学習済みのテンプレート画像のデータが記録媒体１５に記録される。また、本システム構成のカメラがカメラ１０ｂとして機能する場合、システム制御部２５０は、記録媒体２０９に記録されたテンプレート画像のデータを記録媒体ＩＦ２４０を介して読み出して、読み出したテンプレート画像のデータを、学習データの初期値としてシステムメモリ２３６に記録する。これにより、図１に関連して説明したように、変換されたテンプレート画像のデータが記録媒体１５からカメラ１０ｂ内に記録される。本実施形態においてカメラ１０ａおよびカメラ１０ｂの双方に適用できる事項については、カメラ１０と総称して説明する場合がある。
【００２９】
図３は、カメラ１０が顔を学習する場合に実行する処理のフロー図である。本処理は、システム制御部２５０が学習する指示を、例えば操作部材２０２を介して受け付けた場合に、開始される。
【００３０】
ステップＳ３０２において、画像処理部２３７は、人物の顔の領域のデータを顔画像データとして切り出す。例えば、表示部２０１が画像を表示しているときに、ユーザ１７が当該画像内の顔の位置を指定したとする。画像処理部２３７は、指定された位置の近傍の画像領域から人物の顔領域を抽出して、抽出した顔領域のデータを顔画像データとして切り出す。システム制御部２５０は、画像処理部２３７が抽出した１以上の顔の位置を示す顔検出枠を表示部２０１に表示させて、学習すべき顔をユーザ１７に選択させてもよい。
【００３１】
ステップＳ３０４において、画像処理部２３７は、切り出した顔画像データのサイズを正規化する。例えば、画像処理部２３７は、切り出した顔画像データを、予め定められた画素数の顔画像データに変換する。具体的には、画像処理部２３７は、切り出した顔画像データを、内部で記録しているテンプレート画像データの画素数と同じ画素数の画像データに変換する。ステップＳ３０６において、システム制御部２５０は、ユーザ操作に基づき、学習すべき人物を特定する。例えば、システム制御部２５０は、学習すべき人物の一覧を表示部２０１に表示させて、ユーザ１７に特定の人物を選択させる。
【００３２】
ステップＳ３０８において、画像処理部２３７は、特定した人物のテンプレート画像のデータを読み出す。例えば、システム制御部２５０が、特定した人物のテンプレート画像をシステムメモリ２３６から内部メモリ２３５に展開する。そして、画像処理部２３７は、展開されたテンプレート画像のデータを内部メモリ２３５から読み出す。
【００３３】
ステップＳ３１０において、画像処理部２３７は、顔画像データに前処理を施す。例えば、画像処理部２３７は、顔の向きをテンプレート画像の人物の顔の向きに合わせる画像処理を、顔画像データに施す。具体的には、テンプレート画像のデータが正面顔の画像データである場合、画像処理部２３７は、顔画像データを正面顔の画像データに変換する。より具体的には、画像処理部２３７は、顔画像データにアフィン変換等の画像処理を施して、両目の中間点が顔の左右の中心に位置する顔画像のデータを生成する。
【００３４】
ステップＳ３１２において、画像処理部２３７は、前処理して得た顔画像データとテンプレート画像のデータとを平均化することにより、新たなテンプレート画像のデータを生成する。例えば、画像処理部２３７は、前処理後の顔画像データの輝度値とテンプレート画像のデータの輝度値とを、予め定められた重み付けで加算する。そして、ステップＳ３１４において、システム制御部２５０は、ステップＳ３１２で生成した新たなテンプレート画像のデータを用いて、内部のテンプレート画像のデータを更新する。例えば、システム制御部２５０は、ステップＳ３１２で生成した新たなテンプレート画像のデータを、ステップＳ３０６で特定した人物のテンプレート画像のデータとしてシステムメモリ２３６に記録する。
【００３５】
以上に例示した学習処理により、より多くの顔画像データを用いて学習するほど、特定の人物に適応したテンプレート画像のデータを得ることができる。このため、ユーザ１７が長く使用してきたカメラ１０ａには、例えばユーザ１７の家族等の特定の人物に対して識別力が高いテンプレート画像が蓄積される。
【００３６】
図４は、カメラ１０が撮像動作のタイムラグを学習する場合に実行する処理のフロー図である。本フローで説明するタイムラグ値は、学習データの他の例である。タイムラグ値は、レリーズスイッチ２０７の押下げを検知したタイミングと、ユーザ１７が撮像を望むタイミングとのずれを学習したデータとする。本処理は、レリーズスイッチ２０７の押下げ検知に応じて撮像した画像データが内部メモリ２３５に記憶された場合に、開始される。
【００３７】
ここで、システム制御部２５０は、レリーズスイッチ２０７の押し下げを検知する前から被写体を連写撮影させており、得られた画像データを内部メモリ２３５に記憶させる。例えば、システム制御部２５０は、レリーズスイッチ２０７が半押しされることで撮像モードに設定されると連写撮影を開始させ、予め定められた数の画像データを上限として内部メモリ２３５に記憶していく。システム制御部２５０は、連写撮影して記憶された画像データのうち最も古い画像データを、最新の画像データで随時更新していく。したがって、本処理が開始したときには、レリーズスイッチ２０７の押下げ検知に応じて撮像された画像データを含む予め定められた数の画像データが、内部メモリ２３５に記憶されている。システム制御部２５０は、これらの画像データに対応づけて、それぞれの露光動作を開始させた時刻を撮像時刻として内部メモリ２３５に記録する。露光動作を開始させた時刻は、露光動作を開始させる信号をタイミング発生部２３４が発生した時刻により定めてよい。
【００３８】
本処理が開始すると、システム制御部２５０は、内部メモリ２３５からタイムラグ値を読み出す（ステップＳ４０２）。具体的には、システム制御部２５０は、システムメモリ２３６から内部メモリ２３５に展開されたタイムラグ値を、内部メモリ２３５から読み出す。
【００３９】
ステップＳ４０４において、システム制御部２５０は、レリーズ受付時からタイムラグ値だけ前で撮像した画像データを選択する。例えば、システム制御部２５０は、内部メモリ２３５に記憶されている予め定められた数の画像データの中から、レリーズ受付時からタイムラグ値だけ前の時刻に対し最も近いタイミングで撮像した画像データを、撮像時刻に基づいて選択する。ステップＳ４０６において、システム制御部２５０は、ステップＳ４０４で選択した画像を、表示部２０１に表示させる。
【００４０】
ステップＳ４０８において、システム制御部２５０は、選択した画像データがベストなタイミングで撮像した画像データであるか否かを、ユーザ１７からの指示に基づいて判断する。例えば、システム制御部２５０は、表示部２０１に表示されている画像を記録してよいか否かを問い合わせるメニューを表示部２０１に表示させて、ユーザ１７からの指示を待つ。システム制御部２５０は、表示部２０１に表示されている画像を記録してよい旨の指示を、例えば操作部材２０２を介してユーザ１７から得た場合に、選択した画像データがベストなタイミングで撮像した画像データであると判断する。
【００４１】
ステップＳ４０８で、選択した画像データがベストなタイミングで撮像した画像データであると判断された場合、タイムラグ値を更新することなく、本フローを終了する。Ｓ４０４で選択した画像データを記録するようユーザ１７から指示を受けた場合は、現在のタイムラグ値がユーザ１７にとって適切な値であった可能性が高い。この場合は、タイムラグ値を更新する必要はない。
【００４２】
一方、ステップＳ４０８で、選択した画像データがベストなタイミングで撮像した画像データでないと判断された場合、システム制御部２５０は、連写した複数の画像データを表示部２０１に表示させて、ベストなタイミングで撮像された画像データをユーザ１７に選択させる（ステップＳ４１０）。ステップＳ４１２において、システム制御部２５０は、ユーザ１７からの入力に基づき、ユーザ１７が選択した画像データを特定する。例えば、システム制御部２５０は、操作部材２０２介して、ユーザ１７が画像データを選択する入力操作を取得して、入力操作に基づき、ユーザ１７が選択した画像データを特定する。
【００４３】
ステップＳ４１４において、システム制御部２５０は、特定した画像データの撮像時刻からレリーズ受付時までのタイムラグを算出する。ステップＳ４１６において、システム制御部２５０は、ステップＳ４１４で算出したタイムラグと現在のタイムラグ値との間で平均化することにより、新たなタイムラグ値を算出する。
【００４４】
ステップＳ４１８において、システム制御部２５０は、新たなタイムラグ値を用いて、内部のタイムラグ値を更新する。具体的には、システム制御部２５０は、新たなタイムラグ値を内部メモリ２３５に記憶するとともに、新たなタイムラグ値をシステムメモリ２３６に記録する。
【００４５】
図５は、パーソナルコンピュータ２０における学習済みデータの処理フローの一例を示す。本処理は、パーソナルコンピュータ２０が学習済みデータを変換する旨の指示をユーザ１７から受け付けた場合に開始される。ここでは、パーソナルコンピュータ２０は、記録媒体１５を介して、カメラ１０ａの学習済みデータをカメラ１０ｂに提供するものとする。また、本フローが開始する前に、カメラ１０ａが機種ＩＤおよび学習済みデータを記録媒体１５に書き込んでいるとする。
【００４６】
ステップＳ５０２において、パーソナルコンピュータ２０は、記録媒体１５から、カメラ１０ａの機種ＩＤおよび学習済みデータを読み出す。ステップＳ５０４において、パーソナルコンピュータ２０は、カメラ１０ｂの機種ＩＤを特定する。例えば、パーソナルコンピュータ２０は、機種の一覧をモニタに表示してカメラ１０ｂの機種をユーザに選択させ、ユーザによる機種の選択操作に基づいて、カメラ１０ｂの機種ＩＤを特定する。
【００４７】
ステップＳ５０６において、パーソナルコンピュータ２０は、記録媒体１５から読み出した学習済みデータ、カメラ１０ａの機種ＩＤおよびカメラ１０ｂの機種ＩＤを含む送信データを、サーバ３０に送信してデータ変換を依頼する。例えば、パーソナルコンピュータ２０は、ネットワーク２７を介してサーバ３０にデータ送信する。後述するように、サーバ３０において、カメラ１０ａの学習済みデータがカメラ１０ｂ用の学習データに変換され、カメラ１０ｂ用の初期値データとしてパーソナルコンピュータ２０に返却される。
【００４８】
パーソナルコンピュータ２０は、サーバ３０から、カメラ１０ｂ用の学習データを初期値データとしてから受信する。例えば、パーソナルコンピュータ２０は、ネットワーク２７を介して、サーバ３０から初期値データを受信する。ステップＳ５１０において、パーソナルコンピュータ２０は、受信した初期値データおよびカメラ１０ｂの機種ＩＤを、記録媒体１５に書き出す。書き出しが終了すると、本処理フローを終了する。
【００４９】
図６は、サーバ３０が学習済みデータを変換する処理フローの一例を示す。本フローは、サーバ３０がパーソナルコンピュータ２０から送信データを受信した場合に開始される。
【００５０】
ステップＳ６０２において、サーバ３０は、送信データから、カメラ１０ａの学習済みデータ、カメラ１０ａの機種ＩＤおよびカメラ１０ｂの機種ＩＤを抽出する。続いて、ステップＳ６０４において、サーバ３０は、カメラ１０ａの機種ＩＤおよびカメラ１０ｂの機種ＩＤに基づいて、学習データのデータ形式を取得する。また、サーバ３０は、抽出した学習済みデータを変換するために必要なパラメータを取得する。サーバ３０は、これらのデータ形式やパラメータを、機種ＩＤに対応づけて内部に保持している。
【００５１】
例えば、サーバ３０は、テンプレート画像のデータの画素数、タイムラグ値の表現形式を、学習データのデータ形式として取得する。タイムラグ値の表現形式としては、タイムラグの時間長さを表す時間単位（例えば秒単位、ミリ秒単位）を例示することができる。例えば、サーバ３０は、これらの学習データのデータ形式を機種ＩＤに対応づけて保持している。そしてサーバ３０は、ステップＳ６０２で抽出した機種ＩＤに対応づけて保持しているデータ形式を選択する。
【００５２】
ステップＳ６０６において、サーバ３０は、カメラ１０ａの学習済みデータを、カメラ１０ｂ用のデータ形式に変換する。学習済みデータの変換例については後述する。ステップＳ６０８において、サーバ３０は、変換した学習済みデータを、カメラ１０ｂ用の初期値データとして、カメラ１０ｂの機種ＩＤとともに送信する。この送信処理が終了すると、本処理フローは終了する。
【００５３】
図７は、学習データの一例としてのテンプレート画像を模式的に示す。テンプレート画像セット７００は、カメラ１０ａによる学習済みの複数のテンプレート画像７１０をデータとして含む。テンプレート画像７１０ａ、７１０ｂは、互いに異なる人物用のデータである。
【００５４】
サーバ３０は、テンプレート画像７１０ａに画像処理を施して、テンプレート画像７６０ａを生成する。例えば、カメラ１０ｂが、カメラ１０ａよりも画素数が多いテンプレート画像のデータを使用する場合、サーバ３０は、テンプレート画像７１０ａよりも画素数の多いテンプレート画像７６０ａを、テンプレート画像７１０ａから生成する。例えば、サーバ３０は、テンプレート画像７１０ａに補間フィルタを適用して補間演算をすることにより、画素数の多いテンプレート画像７６０ａを生成する。
【００５５】
サーバ３０は、テンプレート画像７６０ａと同様、テンプレート画像７１０ｂから、画素数を拡大したテンプレート画像７６０ｂを生成する。すなわち、サーバ３０は、複数の人物にそれぞれ対応する複数のテンプレート画像７１０のデータに対して、画素数を変換する画像処理を施すことにより、複数の人物にそれぞれ対応するカメラ１０ｂ用の複数のテンプレート画像７６０のデータを生成する。これにより、サーバ３０は、カメラ１０ｂ用の複数のテンプレート画像７６０をデータとして含むテンプレート画像セット７５０を生成する。
【００５６】
このように、サーバ３０は、カメラ１０ａが学習により適応させたテンプレート画像のデータを、カメラ１０ｂが学習により適応させるテンプレート画像のデータの画素数と同一の画素数のテンプレート画像のデータに変換する。これにより、カメラ１０ｂは、カメラ１０ａで獲得した各人物のテンプレート画像のデータを人物識別に利用することができる。このため、ユーザ１７がカメラ１０ｂを用いてはじめから学習させる手間をかけることなく、すでにカメラ１０ａで獲得した識別能力の高いテンプレート画像のデータを、最初からカメラ１０ｂに利用させることができる。
【００５７】
図８は、学習データの一例としてのタイムラグ値を用いた内部処理の一例を模式的に示す。本図において、時刻０は、カメラ１０が撮像指示を受け付けた時刻を表す。例えば、時刻０は、システム制御部２５０がレリーズスイッチ２０７の押下げを検知した時刻を表す。システム制御部２５０は、時刻０からタイムラグ値だけ前の時刻を、理想的な撮像開始タイミングとして算出する。
【００５８】
カメラ１０ａの撮像動作において、タイミング発生部２３４が露光動作を開始させる露光開始信号を発生した時刻が時刻ｔ１であるとする。時刻ｔ１からカメラ１０ａ内のシャッタ等の駆動制御系が動作を開始して、時刻ｔ２に露光動作が完了する。露光動作が完了した時刻ｔ２において、撮像素子２３１に形成された画像８００の内容が確定する。
【００５９】
上述したタイムラグ値の学習動作により、ベストなタイミングで撮像した画像であるとしてユーザ１７が画像８００を選択した場合、カメラ１０ａのシステム制御部２５０は、画像８００に対応する露光開始信号の発生時刻ｔ１を、タイムラグ値に反映させることができる。このため、システム制御部２５０は、露光開始信号を発生してから実際に露光が開始されるまでの時間差を特に考慮することなく、時刻０からタイムラグ値だけ前の時刻と、露光開始信号の時刻とに基づき、ベストなタイミングで撮像した画像データの候補を、ユーザ１７に提示することができる。例えば、時刻０からタイムラグ値だけ前の時刻に最も近い時刻に露光開始信号を発生することによって得た画像データを、ベストなタイミングで撮像した画像データの候補としてユーザ１７に提示すればよい。
【００６０】
しかし、カメラ１０ｂでは、露光開始信号を発生してから露光が実際に開始されるまでの時間差が、カメラ１０ａとは異なる場合がある。例えばカメラ１０ｂは、シャッタ等の駆動制御系の動作がカメラ１０ａに比べて高速化されているとする。この場合、高速化された分だけ時刻ｔ１よりも後の時刻ｔ１'の露光開始信号によって得た画像８１０が、画像８００と同等のタイミングで得た画像に対応することになる。したがって、カメラ１０ａよりも高速化されたカメラ１０ｂの内部動作を考慮して、カメラ１０ａ用のタイムラグ値よりも短い時刻を、カメラ１０ｂ用のタイムラグ値として適用する必要がある。
【００６１】
そこで、サーバ３０は、カメラ１０ａとカメラ１０ｂとの間のシャッタタイムラグの差に基づき、カメラ１０ａ用のタイムラグ値を、カメラ１０ｂ用のタイムラグ値に変換する。例えば、サーバ３０は、カメラ１０ａ用のタイムラグ値が２００ｍｓであり、シャッタタイムラグの差が２０ｍｓである場合、カメラ１０ｂ用のタイムラグ値として１８０ｍｓを算出する。サーバ３０は、タイムラグ値を変換するためのパラメータとして、シャッタタイムラグに関するデータを機種ＩＤに対応づけて保持しており、保持しているデータに基づきシャッタタイムラグの差を算出してよい。
【００６２】
本変換処理により、カメラ１０ｂでも、ユーザ１７のタイムラグに加えて、カメラ１０ａおよびカメラ１０ｂの内部の動作速度を考慮したタイムラグ値を提供できる。このため、ユーザ１７はカメラ１０ｂでタイムラグ値を学習しなくとも、ユーザ１７にとってベストに近いタイミングの画像データを提示できる。
【００６３】
なお、本例では、シャッタタイムラグの差をきちんとカメラ１０ｂのタイムラグ値に反映できるとした。しかし、例えばカメラ１０ｂのタイムラグ値が２５ｍｓ単位でしか設定できない場合、サーバ３０は、カメラ１０ｂのタイムラグ値として１７５ｍｓを算出してよい。カメラ１０ｂのタイムラグ値が５０ｍｓ単位でしか設定できない場合、サーバ３０は、カメラ１０ｂのタイムラグ値として２００ｍｓを算出してよい。このように、サーバ３０は、カメラ１０ｂに設定可能なタイムラグ値のうち、理想的なタイムラグ値１８０ｍｓに最も近い値を、カメラ１０ｂのタイムラグ値として算出してよい。このように、サーバ３０は、カメラ１０ａが学習により適応させたタイムラグデータを、カメラ１０ｂの撮像動作のタイムラグに基づいてカメラ１０ｂのタイムラグデータに変換する。
【００６４】
図９は、カメラ１０ｂが学習データを設定する処理フローの一例を示す。本処理は、カメラ１０ｂが初期値データを設定する旨の指示をユーザ１７から受け付けた場合に開始される。本フローが開始する前に、パーソナルコンピュータ２０が機種ＩＤおよび初期値データを記録媒体１５に書き込んでいるとする。本処理フローは、カメラ１０ｂのシステム制御部２５０が主体となって動作する。
【００６５】
ステップＳ９０２において、記録媒体１５から、初期値データおよび機種ＩＤを読み出す。ステップＳ９０４において、システム制御部２５０は、記録媒体１５から読み出した機種ＩＤおよび初期値データのデータ形式が正しいか否かを判断する。例えば、システム制御部２５０は、記録媒体１５から読み出した機種ＩＤが自身の機種ＩＤと一致するか否かを判断する。また、システム制御部２５０は、記録媒体１５から読み出した初期値データのデータ形式が、カメラ１０ｂ用の学習データのデータ形式と一致するか否かを判断する。
【００６６】
ステップＳ９０４において、自身の機種ＩＤと記録媒体１５から読み出した機種ＩＤとが一致しない場合、または、カメラ１０ｂ用の学習データのデータ形式と記録媒体１５から読み出した初期値データのデータ形式とが一致しない場合、システム制御部２５０は、学習データを移行できない旨を表示部２０１に表示させて（ステップＳ９１０）、本処理フローを終了する。
【００６７】
一方、ステップＳ９０４において、自身の機種ＩＤと記録媒体１５から読み出した機種ＩＤとが一致し、かつ、カメラ１０ｂ用の学習データのデータ形式と記録媒体１５から読み出した初期値データのデータ形式とが一致する場合、記録媒体１５から読み出した初期値データを内部メモリ２３５およびシステムメモリ２３６に書き込む（ステップＳ９０６）。本書き込み処理を完了すると、本処理フローは終了する。
【００６８】
本処理により、カメラ１０ａで獲得したテンプレート画像のデータやタイムラグ値が、カメラ１０ｂの初期値として適用される。したがって、ユーザ１７は、カメラ１０ｂではじめから学習するという労力を要することなく、ユーザ１７の家族のテンプレート画像のデータやユーザ１７に適したタイムラグ値が適用されたカメラ１０ｂを利用することが可能になる。そして、カメラ１０ｂでも使用を続けていくにつれて、図３および図４に関連して説明した処理によってテンプレート画像のデータおよびタイムラグ値が適応化されていき、カメラ１０ｂでの使用により適した学習データが速やかに構築される。
【００６９】
以上に説明したように、サーバ３０は、第１学習データを学習により適応させる第１装置の一例としてのカメラ１０ａから、カメラ１０ａが学習により適応させた第１学習データを取得して、カメラ１０ｂが学習により適応させる第２学習データのデータ形式に基づいて、当該取得した第１学習データを、第２学習データのデータ形式に適合するデータ形式の学習データに変換する。学習データとしては、人物画像データに基づく学習により適応される人物識別用のデータの一例としての人識別用のテンプレート画像のデータ、および、ユーザ１７による撮像指示のタイムラグに関するタイムラグデータの一例としてのタイムラグ値を例示して、システムの動作の一例を説明した。テンプレート画像のデータに対する変換処理としては、画素数を変換する例を例示したが、画素数の変換に替えて、または、画素数の変換に加えて、テンプレート画像のデータの階調数および色数の少なくとも一方を変換してもよい。
【００７０】
また、人物識別用のデータとしては、テンプレート画像のデータの他、人物の画像データから抽出した特徴量パラメータを例示することができる。例えば、人物識別用のデータとして、人物頭部の特徴点のデータを例示することができる。例えば、カメラ１０ａとカメラ１０ｂとで、特徴点の数または位置の少なくとも一方が異なる場合、サーバ３０は、カメラ１０ａが学習データとして適応させた特徴点の位置に基づいて、カメラ１０ｂが学習データとして適応させる特徴点のデータに変換する。例えば、カメラ１０ａが眼の中央位置だけを特徴点として用いるが、カメラ１０ｂは目の両端位置を特徴点として用いる場合、サーバ３０は、カメラ１０ａが学習した眼の中央位置のデータを、例えば標準的な目の大きさに基づいて、眼の両端位置のデータに変換する。このように、サーバ３０は、カメラ１０ａが学習により適応させた特徴点のデータを、カメラ１０ｂが学習により適応させる特徴点の数と同一の数の特徴点のデータに変換してよい。
【００７１】
以上の説明において、サーバ３０は、カメラ１０ａが記録している学習データをネットワーク２７を介して取得して、取得した学習データを変換して、変換して得た学習データを、ネットワークを通じて外部に送信するとして説明した。具体的には、サーバ３０がパーソナルコンピュータ２０との間で通信して、学習済みデータの受信と初期値データの送信をするとしたが、パーソナルコンピュータ２０を介さずに、カメラ１０との間でネットワーク２７を介して送信または受信をしてもよい。カメラ１０は、ネットワーク撮像モジュール２４１の機能によりネットワーク２７を介して送信または受信することができる。
【００７２】
また、以上の説明において、サーバ３０ａが学習済みデータを変換するとしたが、上記において説明したサーバ３０の機能は、パーソナルコンピュータ２０に実装されてもよい。例えば、パーソナルコンピュータ２０は、カメラ１０ａが記録している学習データを記録媒体１５を介して取得して、カメラ１０ｂ用の学習データに変換して、変換した学習データを記録媒体１５に記録させてもよい。また、サーバ３０の機能は、カメラ１０ｂに実装されてもよい。すなわち、カメラ１０ｂが、カメラ１０ａから学習データを取得して、カメラ１０ｂ用の学習データに変換し、変換した学習データを、カメラ１０ｂの学習データの初期値として、システムメモリ２３６等に記録してもよい。つまり、カメラ１０ａが学習により適応させた学習データをカメラ１０ｂが学習により適応させる学習データに適合するデータ形式の学習データに変換する情報変換装置としてのサーバ３０の機能は、パーソナルコンピュータ２０およびカメラ１０ｂのいずれに実装されてもよい。
【００７３】
以上の説明において、カメラ１０ａからカメラ１０ｂに学習データを移行するとして説明したが、カメラ１０ｂが学習により適応させたテンプレート画像のデータやタイムラグ値を、カメラ１０ａに移行させてもよい。また、本実施形態を分かり易く説明することを目的として、カメラ１０ｂを新規購入したカメラとした。しかし、本実施形態のシステムは、カメラ１０が新規購入したカメラであるか否かにかかわらず、学習データのデータ形式が異なるカメラ１０に対して適用することができる。
【００７４】
また、カメラ１０ａ用の学習データからカメラ１０ｂ用の学習データへの変換処理において、カメラ１０ａ用の学習データを、予め定められたデータ形式の学習データに一旦変換して、得られた予め定められたデータ形式の学習データを、カメラ１０ｂ用のデータ形式の学習データに変換してもよい。このように学習データを、予め定められた中間のデータ形式に一旦変換することで、変換処理の組み合わせを削減することができる。例えば、学習データのデータ形式が異なるＮ個のカメラの間で学習データを相互に変換する場合、学習データを直接的に変換するには、Ｎ×（Ｎ−１）個の変換処理を定める必要がある。しかし、中間のデータ形式を介して変換することで２×Ｎ個の変換処理を定めるだけで済む。中間のデータ形式として、例えば十分に多い画素数のテンプレート画像のデータ、時間精度が十分に高いタイムラグ値を例示することができる。
【００７５】
上記実施形態で説明したカメラ１０は、レンズ交換式一眼レフカメラ、コンパクトデジタルカメラ、ミラーレス一眼カメラおよびビデオカメラはもちろん、カメラ機能付きの携帯電話等として適用できる。また、上記実施形態において、本システムにおける装置の一例としてカメラ１０を例示したが、本システムを適用できる装置としては、カメラの他、家電機器、ゲーム装置、自動車等を例示することができる。本システムにおける家電機器としては、洗濯機などを例示することができる。例えば洗濯機において、洗濯物の量に応じて水量を学習する機能について本システムを適用してもよい。本システムによると、例えばユーザが洗濯機を買い換えた場合に、新しい洗濯機が水量を学習するまで水量を指定するといった煩わしさからユーザを解放することができる。
【００７６】
ところで、この発明における第１装置および第２装置は、同じハードウェアで実現された装置であってもよい。第１装置と第２装置とが同じハードウェアで実現された装置である場合でも、装置が実行するファームウェア、オペレーティングシステムまたはアプリケーション・ソフトウェアなどのソフトウェアによって、学習データのデータ形式が異なる場合がある。例えば、バージョンが異なるゲーム・ソフトウェアを実行するゲーム装置において、バージョンアップの前後でソフトウェアの内部で取り扱う学習データのデータ形式が異なる場合がある。この場合、バージョンアップ前のソフトウェアを実行するゲーム装置を第１装置とし、バージョンアップ後のソフトウェアを実行するゲーム装置を第２装置とみなすことができる。すなわち、一の装置であっても、学習データのデータ形式が異なるソフトウェアを実行させる場合、この発明における第１装置および第２装置とみなすことができる場合がある。このように、本システムにおいて、第１のソフトウェアを実行する装置を第１装置とみなし、学習データのデータ形式が第１のソフトウェアとは異なる第２のソフトウェアを実行する装置を、第２装置とみなすことができる。
【００７７】
また、上述したカメラ１０、パーソナルコンピュータ２０、サーバ３０がそれぞれ実行する処理は、コンピュータ装置によって実現することができる。コンピュータ装置は、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作することにより、当該処理を実行してよい。コンピュータ装置は、当該プログラムを記録しているコンピュータ読取可能な記録媒体を読み込むことによって、当該プログラムをロードすることができる。
【００７８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７９】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８０】
１０  カメラ、１５  記録媒体、１７  ユーザ、２０  パーソナルコンピュータ、２７  ネットワーク、３０  サーバ、２０１  表示部、２０２  操作部材、２０７  レリーズスイッチ、２０８  バッテリ、２０９  記録媒体、２１９  光軸、２２１  ズームレンズ、２３１  撮像素子、２３２  Ａ／Ｄ変換器、２３３  メモリ制御部、２３４  タイミング発生部、２３５  内部メモリ、２３６  システムメモリ、２３７  画像処理部、２３８  表示制御部、２３９  Ｄ／Ａ変換器、２４０  記録媒体ＩＦ、２４３  ズーム制御部、２４７  電源制御部、２４８  ＧＰＳモジュール、２５０  システム制御部、７００、７５０  テンプレート画像セット、７１０、７６０  テンプレート画像、８００、８１０  画像
【図１】
2013080428.tif 000003
【図２】
2013080428.tif 000004
【図３】
2013080428.tif 000005
【図４】
2013080428.tif 000006
【図５】
2013080428.tif 000007
【図６】
2013080428.tif 000008
【図７】
2013080428.tif 000009
【図８】
2013080428.tif 000010
【図９】
2013080428.tif 000011