(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】情報処理装置、制御方法およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231218BHJP
G06N 20/00 20190101ALI20231218BHJP
【FI】
G06T7/00 350C
G06N20/00
(21)【出願番号】P 2019152119
(22)【出願日】2019-08-22
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100125254
【氏名又は名称】別役 重尚
(72)【発明者】
【氏名】川村 勇太
【審査官】大塚 俊範
(56)【参考文献】
【文献】特開平10-294875(JP,A)
【文献】特開2002-342739(JP,A)
【文献】特開平05-266227(JP,A)
【文献】国際公開第2018/142764(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 -7/90
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
第1の画像データを取得する取得手段と、
前記情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて、前記第1の画像データ
に対して前記第2の画像データの特性に合わせた補正を
行う補正手段と、
補正前の前記第1の画像データを入力として前記第1の学習モデルを用いて解析を行う第1の解析手段と、
補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析された解析結果を、補正前の前記第1の画像データに適用した画像データを教師データとして、前記第1の学習モデルを更新する更新手段と、
を備え
、
前記第2の学習モデルは前記第2の画像データを用いて他の情報処理装置で学習済みの学習モデルであることを特徴とする情報処理装置。
【請求項2】
前記第2の学習モデルは前記他の情報処理装置から取得されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記補正後の前記第1の画像データを
前記他の情報処理装置に送信する送信手段と、
前記補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析された解析結果を前記他の情報処理装置から受信する受信手段と、を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記補正手段は、第2の学習モデルの学習に用いられる第2の画像データの特性情報を、前記他の情報処理装置から取得することを特徴とする請求項
3に記載の情報処理装置。
【請求項5】
補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析を行う第2の解析手段を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項6】
情報処理装置であって、
第1の画像データを取得する取得手段と、
前記第1の画像データを他の情報処理装置に送信する送信手段と、
前記情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて
前記第2の画像データの特性に合わせた補正
が行われた前記第1の画像データを入力として、前記第2の学習モデルを用いて解析された解析結果を前記他の情報処理装置から受信する受信手段と、
補正前の前記第1の画像データを入力として、前記第1の学習モデルを用いて解析を行う
第1の解析手段と、
前記解析結果を補正前の前記第1の画像データに適用した画像データを教師データとして、前記第1の学習モデルを更新する更新手段と、
を備え
、
前記第2の学習モデルは前記第2の画像データを用いて前記他の情報処理装置で学習済みの学習モデルであることを特徴とする情報処理装置。
【請求項7】
前記送信手段は、前記第1の画像データの特性情報を前記他の情報処理装置に送信することを特徴とする請求項
6に記載の情報処理装置。
【請求項8】
前記第2の画像データの情報量は、前記第1の画像データの情報量より少ないことを特徴とする請求項1乃至
7のうち何れか1項に記載の情報処理装置。
【請求項9】
前記第2の画像データは、前記第1の画像データに含まれる色情報および距離データの少なくともいずれかを削除したものであることを特徴とする請求項
8に記載の情報処理装置。
【請求項10】
前記第1の解析手段は、前記更新手段によって更新された前記第1の学習モデルを用いて、画像データの解析を行うことを特徴とする請求項1乃至
9のうち何れか1項に記載の情報処理装置。
【請求項11】
前記補正前の前記第1の画像データを入力として前記第1の学習モデルを用いて解析された解析結果と、前記補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析された解析結果に基づいて、前記第1の画像データの解析結果を決定する決定手段を有することを特徴とする請求項
10に記載の情報処理装置。
【請求項12】
前記決定手段は、前記第1の学習モデルの学習回数が所定の回数を超えるまで、前記第2の学習モデルを用いて解析された解析結果を選択することを特徴とする請求項
11に記載の情報処理装置。
【請求項13】
前記決定手段は、前記第1の学習モデルの学習回数が前記所定の回数を超え、かつ、前記第1の学習モデルを用いて解析した解析結果と前記第2の学習モデルを用いて解析した解析結果との一致率が所定の閾値を超えたときに、前記第1の学習モデルを用いて解析された解析結果を選択することを特徴とする請求項
12に記載の情報処理装置。
【請求項14】
前記決定手段は、前記第1の学習モデルの学習回数が前記所定の回数を超えたときに、前記第1の学習モデルを用いて解析された解析結果を選択することを特徴とする請求項
12に記載の情報処理装置。
【請求項15】
前記更新手段は、前記決定手段が前記第1の学習モデルを用いて解析された解析結果を選択した後は、前記第2の学習モデルによる被写体の検出結果を教師データとした前記第1の学習モデルの更新を終了することを特徴とする請求項
13または
14に記載の情報処理装置。
【請求項16】
前記第1の画像データを生成する撮像手段を備えることを特徴とする請求項1乃至15のうち何れか1項に記載の情報処理装置。
【請求項17】
情報処理装置であって、
第1の画像データを取得する取得手段と、
他の情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて、前記第1の画像データ
に対して前記第2の画像データの特性に合わせた補正を
行う補正手段と、
補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析を行う
第2の解析手段と、
前記第2の学習モデルを用いて解析された解析結果を、前記他の情報処理装置に送信する送信手段と、
を備え
、
前記第2の学習モデルは前記第2の画像データを用いて前記他の情報処理装置で学習済みの学習モデルであることを特徴とする情報処理装置。
【請求項18】
前記取得手段は、前記第1の画像データの特性情報を前記他の情報処理装置から取得することを特徴とする請求項17に記載の情報処理装置。
【請求項19】
情報処理装置の制御方法であって、
第1の画像データを取得する工程と、
前記情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて、前記第1の画像データ
に対して前記第2の画像データの特性に合わせた補正を
行う工程と、
補正前の前記第1の画像データを入力として前記第1の学習モデルを用いて解析を行う工程と、
補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析された解析結果を補正前の前記第1の画像データに適用した画像データを教師データとして、前記第1の学習モデルを更新する工程と、
を備え
、
前記第2の学習モデルは前記第2の画像データを用いて他の情報処理装置で学習済みの学習モデルであることを特徴とする情報処理装置の制御方法。
【請求項20】
情報処理装置の制御方法であって、
第1の画像データを取得する工程と、
前記第1の画像データを他の情報処理装置に送信する工程と、
前記情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて
前記第2の画像データの特性に合わせた補正
が行われた前記第1の画像データを入力として、前記第2の学習モデルを用いて解析された解析結果を前記他の情報処理装置から受信する工程と、
補正前の前記第1の画像データを入力として、前記第1の学習モデルを用いて解析を行う工程と、
前記解析結果を補正前の前記第1の画像データに適用した画像データを教師データとして、前記第1の学習モデルを更新する工程と、
を備え
、
前記第2の学習モデルは前記第2の画像データを用いて前記他の情報処理装置で学習済みの学習モデルであることを特徴とする情報処理装置の制御方法。
【請求項21】
情報処理装置の制御方法であって、
他の情報処理装置から第1の画像データを取得する工程と、
前記他の情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて、前記第1の画像データ
に対して前記第2の画像データの特性に合わせた補正を
行う工程と、
補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析を行う工程と、
前記第2の学習モデルを用いて解析された解析結果を、前記他の情報処理装置に送信する工程と、
を備え
、
前記第2の学習モデルは前記第2の画像データを用いて前記他の情報処理装置で学習済みの学習モデルであることを特徴とする情報処理装置の制御方法。
【請求項22】
請求項1乃至18のうち何れか1項に記載の情報処理装置の各手段をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、制御方法およびプログラムに関する。
【背景技術】
【0002】
近年のデジタルカメラ等の撮像装置は、機械学習により学習された学習モデルを用いて、撮影した画像を解析する機能を有している。例えば、撮像装置は、学習された学習モデルを用いて、撮影した画像から被写体を検出する機能を有している。関連する技術として、特許文献1の物体検出装置が提案されている。該物体検出装置は、検出窓領域画像に検出対象物が存在しているか否かを予め学習した情報に基づいて判定する固定識別器を有している。また、該物体検出装置は、検出窓領域画像から算出した情報を辞書データに追加し、辞書データに基づいて検出対象物が存在しているか否かを判定する学習識別器を有している。
【0003】
また、関連する技術として、特許文献2の情報処理装置が提案されている。該情報処理装置は、十分な量の目標タスクの正常データと、十分な量の元タスクの正常データと、に基づいて、元タスクの学習データの特徴量を、目標タスクの学習データの特徴量に変換する変換パラメータを求める。そして、該情報処理装置は、求めた変換パラメータに基づいて、元タスクの学習データを変換する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2010-170201号公報
【文献】特開2017-224156号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、撮像装置が、学習モデルを用いて被写体を検出する場合、ユーザによる撮像装置の使用に応じて、学習モデルは、ユーザの好みに応じて調整される。ここで、ユーザが、撮像装置の機種を変更した場合、従前に使用していた撮像装置で生成された画像の特性と新たな撮像装置で生成された画像の特性とが異なることがある。撮像装置間で画像の特性が異なると、従前に使用していた撮像装置で学習された学習モデルを、そのまま新たな撮像装置に利用することができないことがある。この場合、新たな撮像装置の学習モデルに対して、最初から学習をさせなければならないという問題がある。この点、特許文献1の物体検出装置や特許文献2の情報処理装置は、上述した問題を解消するものではない。
【0006】
本発明は、画像の特性が変更された際の学習モデルの学習を効率的に行うことを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の情報処理装置は、第1の画像データを取得する取得手段と、前記情報処理装置に記憶される第1の学習モデルとは異なる第2の学習モデルの学習に用いられた第2の画像データの特性に応じて、前記第1の画像データに対して前記第2の画像データの特性に合わせた補正を行う補正手段と、補正前の前記第1の画像データを入力として前記第1の学習モデルを用いて解析を行う第1の解析手段と、補正後の前記第1の画像データを入力として前記第2の学習モデルを用いて解析された解析結果を、補正前の前記第1の画像データに適用した画像データを教師データとして、前記第1の学習モデルを更新する更新手段と、を備え、前記第2の学習モデルは前記第2の画像データを用いて他の情報処理装置で学習済みの学習モデルであることを特徴とする。
【発明の効果】
【0008】
本発明によれば、画像の特性が変更された際の学習モデルの学習を効率的に行うことを目的とする。
【図面の簡単な説明】
【0009】
【
図1】撮像装置の機能構成例を示すブロック図である。
【
図2】主被写体検出部の機能構成例を示すブロック図である。
【
図4】特徴検出処理および特徴統合処理の詳細について示す図である。
【
図5】本実施形態の全体の処理の流れを示すフローチャートである。
【
図6】主被写体検出の処理の流れを示すフローチャートである。
【
図7】再学習回数と一致率との関係の一例を示すグラフである。
【
図8】主被写体検出の処理の他の例の流れを示すフローチャートである。
【
図9】第1の変形例のシステムの全体構成を示す図である。
【
図10】第2の変形例のシステムの全体構成を示す図である。
【
図11】第3の変形例のシステムの全体構成を示す図である。
【
図12】第4の変形例のシステムの全体構成を示す図である。
【
図13】第5の変形例のシステムの全体構成を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の各実施の形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
【0011】
図1は、本実施形態における情報処理装置としての撮像装置100の機能構成例を示すブロック図である。撮像装置100は、静止画および動画を撮影し、記録することができる。撮像装置100内の各部は、バス160を介して相互に通信可能に接続されている。撮像装置100の動作は、CPU151がプログラムを実行して各機能ブロックを制御することにより実現される。本実施形態の撮像装置100は、画像を解析し、解析結果から特定の被写体領域を推定する主被写体検出部161を有する。主被写体検出部161は、撮像対象の被写体の位置やサイズ等を検出する被写体検出機能を有する。主被写体検出部161の詳細については後述する。
【0012】
撮影レンズ101(レンズユニット)は、固定1群レンズ102、ズームレンズ111、絞り103、固定3群レンズ121、フォーカスレンズ131、ズームモータ112、絞りモータ104およびフォーカスモータ132を有する。固定1群レンズ102、ズームレンズ111、絞り103、固定3群レンズ121およびフォーカスレンズ131は撮影光学系を構成する。各レンズ102、111、121および131は、複数枚のレンズにより構成されてもよい。また、撮影レンズ101は着脱可能な交換レンズとして構成されてもよい。
【0013】
絞り制御部105は、絞り103を駆動する絞りモータ104の動作を制御し、絞り103の開口径を変更する。ズーム制御部113は、ズームレンズ111を駆動するズームモータ112の動作を制御し、撮影レンズ101の焦点距離(画角)を変更する。フォーカス制御部133は、撮像部としての撮像素子141から得られる一対の焦点検出用信号(A像およびB像)の位相差に基づいて撮影レンズ101のデフォーカス量およびデフォーカス方向を算出する。そして、フォーカス制御部133は、デフォーカス量およびデフォーカス方向をフォーカスモータ132の駆動量および駆動方向に変換する。フォーカス制御部133は、変換された駆動量および駆動方向に基づいてフォーカスモータ132の動作を制御する。フォーカス制御部133は、フォーカスレンズ131を駆動することにより、撮影レンズ101の焦点状態を制御する。以上のように、フォーカス制御部133は、位相差検出方式の自動焦点検出(AF)を実施する。AFの方式は、上記の例には限定されない。例えば、フォーカス制御部133は、撮像素子141から得られる画像信号から算出されたコントラスト評価値に基づいて、コントラスト検出方式のAFを実行してもよい。
【0014】
撮影レンズ101によって撮像素子141の結像面に形成される被写体像は、撮像素子141に配置された複数の画素のそれぞれが有する光電変換素子により電気信号(画像信号)に変換される。本実施形態では、撮像素子141に、水平方向にm、垂直方向にn(nおよびmは2以上の整数)の画素が行列状に配置されており、各画素には2つの光電変換素子(光電変換領域)が設けられている。撮像素子141からの信号読み出しは、CPU151からの指示に従って撮像制御部143が制御する。
【0015】
撮像素子141から読み出された画像信号は撮像信号処理部142に供給される。撮像信号処理部142は、ノイズ低減処理やA/D変換処理、自動利得制御処理等の信号処理を画像信号に適用する。各信号処理が適用された画像信号は、撮像制御部143に出力される。撮像制御部143は、撮像信号処理部142が出力した画像信号をRAM(ランダム・アクセス・メモリ)154に蓄積する。
【0016】
画像処理部152は、RAM154に蓄積された画像データに対して予め定められた画像処理を適用する。画像処理部152が適用する画像処理には、ホワイトバランス調整処理や色補間(デモザイク)処理、ガンマ補正処理といった所謂現像処理が適用され得る。また、画像処理部152が適用する画像処理には、信号形式変換処理やスケーリング処理等も適用され得る。適用可能な画像処理は、上記の例には限定されない。また、画像処理部152は、自動露出制御(AE)に用いるための、被写体輝度に関する情報等を生成することができる。特定の被写体領域に関する情報は、主被写体検出部161より供給され、例えばホワイトバランス調整処理に利用可能である。なお、コントラスト検出方式のAFを行う場合、画像処理部152が、AF評価値を生成してもよい。画像処理部152は、処理した画像データをRAM154に記憶する。
【0017】
RAM154に記憶された画像データは、記録媒体157に記録することが可能である。この場合、CPU151は、画像処理データに対して、例えば、所定のヘッダを追加する。これにより、記録形式に応じたデータファイルが生成される。この際、CPU151は、必要に応じて、圧縮解凍部153に画像データを符号化して情報量を圧縮させる制御を行う。CPU151は、生成したデータファイルを、メモリカード等の記録媒体157に記録する。記録媒体157は、メモリカード以外であってもよい。
【0018】
また、RAM154に記憶された画像データは、表示部としてのモニタディスプレイ150に表示することができる。この場合、CPU151は、モニタディスプレイ150における表示サイズに適合するように画像データを画像処理部152でスケーリングする。そして、CPU151は、RAM154のうちビデオメモリとして用いる領域(VRAM領域)に画像データを書き込む。モニタディスプレイ150は、RAM154のVRAM領域から表示用の画像データを読み出し、例えばLCDや有機ELディスプレイ等の表示装置(モニタディスプレイ150)に表示する。
【0019】
本実施形態の撮像装置100は、動画撮影時(撮影スタンバイ状態や動画記録中)に、撮影された動画をモニタディスプレイ150に即時表示することにより、モニタディスプレイ150を電子ビューファインダー(EVF)として機能させることができる。モニタディスプレイ150をEVFとして機能させる際に表示する動画像およびそのフレーム画像を、ライブビュー画像またはスルー画像と称する。また、撮像装置100は、静止画撮影を行った場合、撮影結果をユーザが確認できるように、直前に撮影した静止画を一定時間、モニタディスプレイ150に表示する。これらの表示動作についても、CPU151の制御によって実現される。
【0020】
操作部156は、ユーザが撮像装置100に指示を入力するためのスイッチやボタン、キー、タッチパネル等により構成される。操作部156が受け付けた操作に関する情報は、バス160を通じてCPU151が検知する。CPU151は検知した情報に応じた動作を実現するために各部を制御する。
【0021】
CPU151は、例えば、プログラマブルプロセッサを1つ以上有する。例えば、フラッシュメモリ155に記憶されたプログラムがRAM154に読み込まれ、CPU151がRAM154に読み込まれたプログラムを実行する。これにより、実施形態の各種制御が実現される。また、CPU151は、被写体輝度の情報に基づいて露出条件(シャッタースピードや蓄積時間、絞り値、感度等)を自動的に決定するAE処理を実行する。被写体輝度の情報は、例えば画像処理部152から取得することができる。CPU151は、例えば人物の顔等、特定被写体の領域を基準として露出条件を決定してもよい。
【0022】
CPU151は、動画撮影時には絞りを固定とし、電子シャッタスピード(蓄積時間)とゲインの大きさで露出を制御する。CPU151は決定した蓄積時間とゲインの大きさとを撮像制御部143に通知する。撮像制御部143は通知された露出条件に従った撮影が行われるように撮像素子141の動作を制御する。
【0023】
主被写体検出部161が検出した検出結果は、例えば焦点検出領域の自動設定に用いることができる。この結果、特定の被写体領域に対する追尾AF機能を実現できる。また、焦点検出領域の輝度情報に基づいてAE処理を行うことができ、焦点検出領域の画素値に基づいて画像処理(例えば、ガンマ補正処理やホワイトバランス調整処理等)を行うこともできる。CPU151は、現在の被写体領域の位置を表す指標(例えば領域を囲む矩形枠)を表示画像に重畳表示させてもよい。
【0024】
バッテリ159は、電源管理部158により管理され、撮像装置100の全体に電源を供給する。フラッシュメモリ155は、CPU151が実行するプログラムやプログラムの実行に必要な設定値、GUIデータ、ユーザ設定値等を記憶する。例えば、操作部156に対して電源OFF状態から電源ON状態への移行を指示する操作がされると、フラッシュメモリ155に格納されたプログラムがRAM154の一部に読み込まれ、CPU151がプログラムを実行する。
【0025】
次に、主被写体検出部161について説明する。
図2は、主被写体検出部161の機能構成例を示すブロック図である。主被写体検出部161は、第1の被写体検出部201と入力データ変換部202と第2の被写体検出部203と主被写体決定部204と評価部205とを含む。本実施形態では、第1の被写体検出部201および第2の被写体検出部203は、CNN(Convolutinal Neural Networks)による特徴抽出処理を行うことで、被写体検出を行う。CNNは、学習モデルに対応する。第1の被写体検出部201および第2の被写体検出部203は、任意の機械学習手法により学習された学習モデルを用いて、被写体検出を行ってもよい。
【0026】
第1の被写体検出部201には、画像処理部152から信号が順次供給される。そして、第1の被写体検出部201は、各画像に含まれる撮像対象の被写体を検出する。第1の被写体検出部201は、第1の学習モデルを用いて、被写体検出を行う。本実施形態では、第1の学習モデルはCNNにより構築される。第1の学習モデルは、順次、学習が行われていくことにより、CNNの結合パラメータの調整がされていく。入力データ変換部202には、画像処理部152から信号が順次供給される。入力データ変換部202は、撮像装置100の撮像により得られる画像データ(第1の画像データ)を第2の被写体検出部203による処理に適したデータ形式に変換する。第2の被写体検出部203は、第2の学習モデルを用いて、変換後の各画像に含まれる撮像対象の被写体検出を行う。CPU151は、撮像装置100とは異なる他の撮像装置で学習済のCNN(第2の学習モデル)を取得する。CPU151は、取得した学習済みのCNNを第2の被写体検出部203に移植する。例えば、所定のユーザが、従前に使用していた撮像装置が他の撮像装置であり、該ユーザが、新たに使用する撮像装置が撮像装置100である。撮像装置100のCP151は、他の撮像装置で学習済みの学習済のCNNを、記録媒体157や不図示の通信部からインターネットを介して、取得してもよい。
【0027】
他の撮像装置で学習済のCNNは、画像処理部152から出力される第1の画像データとは特性が異なる第2の画像データを用いて学習されたものである可能性がある。そこで、本実施形態では、入力データ変換部202は、他の撮像装置が撮影した第2の画像データの特性に応じて、撮像装置100が撮影した第1の画像データを変換する。これにより、第1の画像データに対して、第2の画像データの特性に合わせた補正が行われる。例えば、画像処理部152が出力する第1の画像データが、RGBの24ビット色のカラー画像であるとする。一方、他の撮像装置が撮影した第2の画像データが、IRセンサによるグレースケールの8ビットのモノクロ画像であるとする。つまり、第2の画像データの情報量は、第1の画像データの情報量より少なく、第2の画像データは第1の画像データより画質が低い。ここで、第1の画像データの特性および第2の画像データの特性は、データ自身の特性(例えば、ビット数)だけでなく、撮像装置の光学的な特性も含んでもよい。
【0028】
他の撮像装置で学習済みのCNNは、画像処理部152から出力される第1の画像データとは特性が異なる第2の画像データを用いて学習されている。この場合、入力データ変換部202は、画像処理部152が出力する24ビット色のカラー画像(第1の画像データ)を、グレースケールの8ビットのモノクロ画像に変換する。つまり、入力データ変換部202は、画像処理部152が出力する画像データから色情報を削除する。
【0029】
また、他の撮像装置で学習済のCNNは、画像データのみを用いて学習されたCNNであるのに対して、画像処理部152が出力した第1の画像データには、距離データが付加されていたとする。この場合、入力データ変換部202は、距離データを削除して、画像データだけを第2の被写体検出部203へ入力する。入力データ変換部202が行う画像データの変換は、上述した例には限定されない。
【0030】
主被写体決定部204は、第1の被写体検出部201が検出した被写体または第2の被写体検出部203が検出した被写体を、主被写体として決定する。主被写体の情報は、画像内における被写体領域や信頼性等の情報を有し、CPU151等の各種ブロックで利用される。評価部205は、第2の被写体検出部203により検出された被写体の検出結果を補正前の第1の画像データに当て嵌めた画像データを教師データとして生成し、第1の被写体検出部201が検出した被写体の検出結果を評価する。つまり、教師データは、第2の被写体検出部203により検出された被写体の検出結果(解析結果)を補正前の第1の画像データに適用した画像データになる。教師データは、被写体の検出結果の正解度を示す。また、評価部205は、評価結果に基づいて、第1の被写体検出部201のCNNの再学習(学習)を実施する。これにより、第1の被写体検出部201のCNNは、更新される。
【0031】
次に、
図3および
図4を用いて、上述したCNNについて説明する。以下、ネオコグニトロンに基づくCNNについて説明する。ネオコグニトロンによる学習では、中間層の学習に「add-if-silent」という手法が用いられているものが多いが、本実施形態では、逆誤差伝搬法が適用される。本実施形態に適用されるCNNは、
図3および
図4の例には限定されない。
【0032】
図3は、入力された2次元画像データおよび位置マップから被写体を検出するCNNの基本的な構成を示す。処理の流れは、入力画像から矢印の方向に向かった処理が進む。CNNは、特徴検出層(S層)と特徴統合層(C層)と呼ばれる2つの層を1のセットとし、2つの層のセットが階層的に構成されている。CNNでは、S層において前段階層で検出された特徴をもとに次の特徴を検出する。また、S層において検出した特徴をC層で統合し、その階層における検出結果として次の階層に出力する構成になっている。S層は特徴検出細胞面からなり、特徴検出細胞面ごとに異なる特徴を検出する。また、C層は特徴統合細胞面からなり、前段の特徴検出細胞面での検出結果をプーリングする。以下では、特に区別する必要がない場合、特徴検出細胞面および特徴統合細胞面を総称して特徴面と称する。本実施形態では、最終段階層である出力層ではC層は用いずS層のみで構成している。
【0033】
図4は、特徴検出処理および特徴統合処理の詳細について示す図である。特徴検出処理は、特徴検出細胞面で行われる。特徴統合処理は、特徴統合細胞面で行われる。特徴検出細胞面は、複数の特徴検出ニューロンにより構成される。特徴検出ニューロンは、前段階層のC層に所定の構造で結合している。また、特徴統合細胞面は、複数の特徴統合ニューロンにより構成され、特徴統合ニューロンは同階層のS層に所定の構造で結合している。
図4に示したL階層目S層のM番目細胞面内において、位置(1)の特徴検出ニューロンの出力値を(2)と表記する。各変数は、以下のように表される。
【0034】
【0035】
また、L階層目C層のM番目細胞面内において、位置(1)の特徴統合ニューロンの出力値を(3)と表記する。この場合、それぞれのニューロンの結合係数を(4)、(5)とすると、各出力値は以下の「数式2」および「数式3」のように表すことができる。
【0036】
【0037】
【0038】
数式2のf活性化関数であり、ロジスティック関数や双曲正接関数等のシグモイド関数であり、例えばtanh関数で実現され得る。上記(6)は、L階層目S層のM番目細胞面における、位置(1)の特徴検出ニューロンの内部状態である。数式3は、活性化関数を用いず単純な線形和の式である。数式3のように活性化関数を用いない場合は、ニューロンの内部状態(7)と出力値(3)とは等しい。また、数式2のうちの上記(8)、数式3のうちの上記(9)をそれぞれ特徴検出ニューロン、特徴統合ニューロンの結合先出力値と称する。
【0039】
数式2および数式3における「ξ、ζ、u、v、n」について説明する。位置(1)は入力画像における位置座標に対応しており、例えば、出力値(2)が高い出力値である場合は、入力画像の画素位置(1)に、L階層目S層M番目細胞面において検出する特徴が存在する可能性が高いことを意味する。また、nは、数式1において、L-1階層目C層n番目細胞面を意味しており、統合先特徴番号と称する。基本的に、L-1階層目C層に存在する全ての細胞面についての積和演算が行われる。「(u、v)」は、結合係数の相対位置座標であり、検出する特徴のサイズに応じて有限の範囲「(u、v)」において積和演算が行われる。このような有限な「(u、v)」の範囲を受容野と称する。以下、受容野の大きさを、受容野サイズと称し、受容野サイズは、結合している範囲の横画素数×縦画素数で表される。
【0040】
また、数式2において、L=1つまり一番初めのS層では、(8)は、入力画像(10)または、入力位置マップ(11)となる。ニューロンや画素の分布は離散的であり、結合先特徴番号も離散的なので、「ξ、ζ、u、v、n」は連続な変数ではなく、離散的な値をとる。ここでは、「ξ、ζ」は非負整数、「n」は自然数、「u、v」は整数とし、何れも有限な範囲となる。
【0041】
数式1の(4)は、所定の特徴を検出するための結合係数であり、該結合係数が適切な値に調整されることで、所定の特徴を検出することが可能になる。この結合係数の調整が学習(機械学習)であり、CNNの構築においては、各種のテストパターンを用いて、適切な出力値が得られるように、結合係数(2)が繰り返し修正される。これにより、結合係数の調整が行われる。
【0042】
数式2のうちの上記(5)は、2次元のガウシアン関数を用いており、以下の「数式4」のように表すことができる。
【0043】
【0044】
「(u、v)」は有限の範囲であるため、特徴検出ニューロンの説明と同様に、有限の範囲を受容野と称し、受容野の範囲の大きさを受容野サイズと称する。受容野サイズは、L階層目S層のM番目特徴のサイズに応じた値に設定されればよい。数式3の「σ」は特徴サイズ因子であり、受容野サイズに応じた定数に設定されればよい。例えば、受容野の最も外側の値がほぼ0とみなせるような値になるように設定されることが好ましい。
【0045】
上述のような演算を各階層で行うことで、最終階層のS層において、被写体検出を行う。これにより、本実施形態におけるCNNを用いた被写体検出が行われる。上述した例では、画像データを入力として、CNNを用いた被写体検出を行う例について説明した。CNNを用いた被写体検出としては、加速度センサの情報や奥行情報等のような情報が画像に追加されてもよい。
【0046】
次に、
図5のフローチャートを参照して、本実施形態の全体の処理の流れについて説明する。撮像素子141からの信号に基づいて、入力画像(第1の画像データ)が取得される(S501)。撮像制御部143は、取得された第1の画像データを、主被写体検出部161に出力する。主被写体検出部161は、第1の画像データに対して被写体検出処理を行う(S502)。そして、CPU151は、S502において、主被写体検出部161が主被写体を検出したかを判定する(S503)。S503でYesと判定された場合、CPU151は、入力された第1の画像データとともに、S502で検出された主被写体の検出結果をモニタディスプレイ150に表示させる。このとき、第1の画像データに主被写体の検出結果が重畳されてもよい。CPU151は、S504で表示した第1の画像データと主被写体の検出結果とを1組のデータセットとしてRAM154にバッファリングする(S505)。このとき、CPU151は、第1の画像データと主被写体の検出結果と表示時刻とを1組のデータセットとしてRAM154にバッファリングしてもよい。
【0047】
S503でNoと判定された場合、CPU151は、モニタディスプレイ150に、入力された第1の画像データを表示し、主被写体の検出結果は表示させない。S505の後、またはS506の後、CPU151は操作部156からの終了指示があるかを判定する(S507)。S508でNoと判定された場合、フローは、S501に戻る。S508でYesと判定された場合、処理は終了する。
【0048】
次に、S502の主被写体検出の処理の流れについて、
図6のフローチャートを参照して、説明する。第1の被写体検出部201は、S501で取得された第1の画像データから、CNNにより構築される第1の学習モデルを用いて、被写体の検出を行う(S601)。そして、主被写体検出部161は、制御フラグがONになっているかを判定する(S602)。制御フラグは、第2の被写体検出部203が検出した被写体の検出結果を使用するか否かを判定するために用いられるフラグである。制御フラグについては、後述する。第2の被写体検出部203が検出した被写体の検出結果が使用される場合、制御フラグはONにされる。一方、第2の被写体検出部203が検出した被写体の検出結果が使用されない場合、制御フラグはOFFにされる。
【0049】
入力データ変換部202は、S501で取得した第1の画像データを第2の被写体検出部203への入力に適した形式に変換する(S603)。このとき、入力データ変換部202は、他の撮像装置と撮像装置100との特性差を補正するように、画像データを変換する。このため、例えば、入力データ変換部202は、変換に必要なフィルタや計算式、調整パラメータ等を保持していてもよい。また、該変換に必要なフィルタや計算式、調整パラメータ等は、インターネットから撮像装置100にダウンロードされ、RAM154に記憶されていてもよい。この場合、入力データ変換部202は、RAM154に記憶されている情報を取得する。
【0050】
第2の被写体検出部203は、他の撮像装置で学習された第2の学習モデル(CNNにより構築される学習モデル)を用いて、画像データから被写体検出を行う(S604)。そして、主被写体決定部204は、S601で検出した被写体とS604で検出した被写体とのうち何れかの被写体を主被写体として決定する(S605)。本実施形態では、主被写体決定部204は、再学習回数と一致率とに基づいて、主被写体を決定する。
【0051】
図7は、再学習回数と一致率との関係の一例を示すグラフである。再学習回数は、第1の学習モデルの学習回数を示す。一致率は、S601で検出された被写体とS604で検出された被写体とが一致した回数を、再学習回数で除算することにより得ることができる。ここで、再学習回数が少ない場合、S601で検出された被写体とS604で検出された被写体とが一致したとしても、一致率の信頼性は低い。そこで、主被写体決定部204は、再学習回数が所定回数(第1の回数)を超えるまで、第2の被写体検出部203が検出した被写体を、主被写体として決定する。
【0052】
また、主被写体決定部204は、再学習回数が第1の回数を超えたとしても、一致率が所定の閾値を超えるまでは、第2の被写体検出部203が検出した被写体を、主被写体として選択する。再学習回数が第1の回数を超えたとしても、一致率が低い場合、第1の被写体検出部201が検出した被写体の検出結果の信頼性は低いと考えられるためである。主被写体決定部204は、再学習回数が第1の回数を超え、かつ、一致率が所定の閾値を超えたときに、第1の被写体検出部201が検出した被写体を、主被写体として選択する。あるいは、一致率に依らず、再学習回数が第1の回数より多い第2の回数を超えるまでは、第2の被写体検出部203が検出した被写体を、第2の回数を超えてからは、第1の被写体検出部201が検出した被写体を、主被写体として選択してもよい。第1の回数、第2の回数および所定の閾値は、任意の値に設定されてよい。
【0053】
また、主被写体決定部204は、再学習回数が第1の回数を超え、かつ、一致率が所定の閾値を超えた場合、あるいは、単に再学習回数が第2の回数を超えた場合、上述した制御フラグをOFFにする。これにより、第2の被写体検出部203による被写体の検出結果を教師データとした第1の学習モデルの再学習(更新)は終了する。そして、主被写体決定部204は、第1の被写体検出部201による被写体の検出結果を主被写体として決定する。つまり、第1の被写体検出部201による被写体の検出結果が使用されるようになる。これは、第1の学習モデルの学習が進み、第1の被写体検出部201による被写体の検出結果の信頼性が高くなったためである。
【0054】
ここで、制御フラグをOFFにする条件が満たされた場合、第1の被写体検出部201の第1の学習モデルの再学習(更新)が終了したことを示す情報が、モニタディスプレイ150に表示されてもよい。例えば、「旧機種の学習モデルを用いた学習は終了しました」といったメッセージがモニタディスプレイ150に表示されてもよい。これにより、ユーザは、新しい撮像装置100の第1の学習モデルの学習が終了したことを認識することができる。また、このとき、モニタディスプレイ150に、第2の学習モデルの削除を促す表示がされてもよい。第1の学習モデルの再学習が終了した場合、第2の学習モデルは必要ではなくなる。第2の学習モデルが撮像装置100から削除されることにより、撮像装置100が記憶する情報量を低減させることができる。あるいは、第1の被写体検出部201と第2の被写体検出部203を併用し続け、両方の検出結果に含まれるもののみを主被写体として決定してもよいし、少なくとも一方の検出結果に含まれるもの全てを主被写体として決定してもよい。
【0055】
図6に示されるように、S605の後、評価部205は、S601で検出された被写体の検出結果の評価を行い、評価結果を用いて第1の被写体検出部201の第1の学習モデルの再学習を実施する(S606)。S602でYesと判定された場合、第2の被写体検出部203による被写体の検出結果を補正前の第1の画像データに当て嵌めた画像データを教師データとして、第1の被写体検出部201の第1の学習モデルの再学習が実施される。S602でNoと判定された場合、ユーザ操作に基づく第1の学習モデルの再学習が行われる。例えば、ユーザが操作部156等を用いて、被写体を指定した操作や撮影指示等を教師データとして、第1の被写体検出部201の第1の学習モデルの再学習が実施される。
【0056】
次に、S606における第1の学習モデル(CNNにより構築される学習モデル)の再学習について説明する。第1の学習モデルの再学習では、結合係数(4)の調整が行われる。上述したように、第1の被写体検出部201には、第1の画像データとして、RGBの24ビット色のカラー画像が入力される。また、第2の被写体検出部203の被写体の検出結果を第1の画像データに当て嵌めた画像データが、教師データとして用いられる。そして、誤差逆伝搬法により、第1の画像データが第1の学習モデルに入力されたときの出力と第2の被写体検出部203の被写体の検出結果との誤差が最小となるように、結合係数(4)の調整が行われる。
【0057】
以上により、2次元画像から主被写体検出するためのCNN(第1の学習モデル)が構築される。第1の被写体検出部201のCNNの学習が十分に行われた場合、第1の被写体検出部201は、学習により構築した結合係数(4)を用いて演算を行う。そして、第1の被写体検出部201は、最終層の特徴検出細胞面上のニューロン出力が、一定値以上の領域に主被写体が存在すると判定する。
【0058】
第2の学習モデルは、他の撮像装置で学習済みである。本実施形態では、補正前の第1の画像データにおける第2の被写体検出部203が検出した被写体の検出結果を教師データとして、第1の被写体検出部201の第1の学習モデルの再学習が実施される。第1の被写体検出部201のCNNの再学習が行われる際、撮像装置100が撮影したRGBの24ビット色のカラー画像が用いられる。これにより、グレースケールの画像では検出されない特徴(色相や彩度等)を反映した学習が行われる。
【0059】
従って、本実施形態では、撮像装置100は、撮影した第1の画像データを、他の撮像装置で学習された第2の学習モデルを生成する際に用いられた第2の画像データの特性に合わせるように補正する。そして、補正された第1の画像データを入力として第2の被写体検出部203による被写体検出が行われる。さらに、補正前の第1の画像データの中での第2の被写体検出部203の被写体の検出結果を教師データとして、第1の被写体検出部201の第1の学習モデルの再学習が行われる。つまり、撮像装置100は、該再学習を行うことで、自己学習を行う。これにより、ユーザが従前に使用していた他の撮像装置で学習された第2の学習モデルを有効活用することができ、新しい撮像装置100は、ユーザの好みに応じた被写体検出の学習を効率的に行うことができる。
【0060】
ここで、
図8のフローチャートに示されるように、
図6のS602は省略されてもよい。S601、S603~S606の処理は、
図6と同様であるため、説明を省略する。この場合、主被写体決定部204は、常に第1の被写体検出部201の第1の学習モデルによる被写体の検出結果と、第2の被写体検出部203の第2の学習モデルによる被写体の検出結果とのうち何れかを主被写体として決定する。評価部205は、主被写体として決定された方の被写体の検出結果を教師データとして、上述した再学習を行う(S801)。
【0061】
<他の実施形態>
上述した実施形態では、撮像装置100は、画像データを入力として、第1の学習モデルまたは第2の学習モデルを用いて、被写体の検出結果を出力する例について説明した。ここで、第1の学習モデルおよび第2の学習モデルを用いた画像データの解析は、被写体検出には限定されない。つまり、撮像装置100は、画像データを入力として、第1の学習モデルまたは第2の学習モデルを用いて、任意の画像解析を行ってよい。例えば、撮像装置100は、画像データを入力として、第1の学習モデルまたは第2の学習モデルを用いて、撮影モードを推定してもよい。この場合、第1の学習モデルおよび第2の学習モデルは、撮影モードを推定するための学習モデルとして用いられる。
【0062】
次に、各種の変形例について説明する。以下の各変形例は、実施形態の処理を、複数の装置が連携して行う例である。
図9は、第1の変形例のシステム300の全体構成を示す図である。システム300では、撮像装置301とサーバ302とが通信を行う。撮像装置301は、第1の学習モデルを用いて、撮影した画像を解析する機能を有している。また、撮像装置301は、サーバ302と通信する機能を有している。撮像装置301としては、スマートフォンや携帯型端末等の情報処理装置(他の情報処理装置)であってもよい。サーバ302は、例えば、エッジコンピュータやクラウドサーバ等の情報処理装置である。サーバ302は、CPU311、RAM312、記憶装置313および通信部314を有する。記憶装置313には、CPU311が実行する所定のプログラムが記憶されており、該プログラムは、RAM312に展開される。CPU311は、RAM312に展開されたプログラムを実行することで、上述した各機能を実行する。以下の各変形例におけるCPU、RAM、記憶装置および通信部は、第1の変形例と同様である。
【0063】
撮像装置301は、撮影した画像(第1の画像データを含む)を、サーバ302に送信する。サーバ302の通信部314は、第1の画像データを取得する。上述した実施形態と同様、CPU311は、取得した第1の画像データの特性が、第2の画像データの特性と合うように変換する。これにより、第1の画像データが補正される。記憶装置313には、第1の学習モデルおよび第2の学習モデルが記憶されている。CPU311は、補正後の第1の画像データを入力として、第2の学習モデルを用いて、画像の解析を行う。また、CPU311は、補正前の第1の画像データを入力として、第1の学習モデルを用いて、画像の解析を行う。画像解析が被写体検出である場合、上述した実施形態の第1の被写体検出部201および第2の被写体検出部203の機能がCPU311により実行される。そして、CPU311は、画像の解析結果を第1の画像データに適用した画像データを教師データとして、第1の学習モデルの再学習を行う。これにより、第1の学習モデルのパラメータが更新される。
【0064】
サーバ302の通信部314は、更新された第1の学習モデルのパラメータを撮像装置301に送信する。撮像装置301には、第1の学習モデルが記憶されており、上記更新された第1の学習モデルのパラメータにより、第1の学習モデルを更新することができる。撮像装置301は、新たに撮影した画像を入力として、更新された第1の学習モデルを用いて、画像の解析を行う。第1の学習モデルによる被写体の検出結果の信頼性が低いうちは、サーバ302から撮像装置301に、第2の学習モデルによる被写体の検出結果を送信し、撮像装置301は第2の学習モデルによる被写体の検出結果を採用するようにしてもよい。上述した実施形態では、撮像装置100が、各種の処理を行っていたが、第1の変形例では、主にサーバ302が、上記各種の処理を行う。第1の変形例でも、上述した実施形態と同様の効果を得ることができる。
【0065】
次に、第2の変形例について説明する。
図10は、第2の変形例のシステム320の全体構成を示す図である。システム320は、第1のスマートフォン321および第2のスマートフォン322を有して構成される。第1のスマートフォン321は、情報処理装置に対応し、第2のスマートフォン322は、他の情報処理装置に対応する。第1のスマートフォン321は、CPU331、RAM332、記憶装置333および通信部334を有する。第2のスマートフォン322は、CPU341、RAM342、記憶装置333および通信部334を有する。
【0066】
第2の変形例の第1のスマートフォン321は、撮像機能を有しているものとする。ただし、第1のスマートフォン321は、撮像機能を有していなくてもよい。第1のスマートフォン321が撮像機能を有していない場合、第1のスマートフォン321は、撮像装置が撮影した第1の画像データを取得する。そして、第1のスマートフォン321のCPU311は、取得した第1の画像データの特性が、第2の画像データの特性と合うように変換する。これにより、第1の画像データが補正される。このため、例えば、RAM332や記憶装置333は、予め第2の画像データの特性を示す特性情報を記憶しているものとする。第2の画像データの特性を示す特性情報は、予め第1のスマートフォン321と第2のスマートフォン322との間で、通信により、共有されてもよい。
【0067】
第1のスマートフォン321の通信部334は、補正後の第1の画像データを、第2のスマートフォン322に送信する。第2のスマートフォン322の通信部344は、補正後の第1の画像データを受信する。第2のスマートフォン322の記憶装置343には、第2の学習モデルが記憶されている。第2のスマートフォン322のCPU341は、補正後の第1の画像データを入力として、第2の学習モデルを用いて、画像の解析を行う。そして、第2のスマートフォン322の通信部344は、画像の解析結果を第1のスマートフォン321に送信する。
【0068】
第1のスマートフォン321の通信部334は、解析結果を受信する。第1のスマートフォン321の記憶装置333には、第1の学習モデルが記憶されている。第1のスマートフォン321のCPU331は、補正前の第1の画像データを入力として、第1の学習モデルを用いて、画像の解析を行う。そして、CPU311は、第2のスマートフォン322から受信した画像の解析結果を第1の画像データに適用した画像データを教師データとして、第1の学習モデルの再学習を行う。これにより、第1の学習モデルのパラメータが更新される。第1のスマートフォン321は、新たに撮影した画像を入力として、更新された第1の学習モデルを用いて、画像の解析を行う。以上により、第2の変形例でも、上述した実施形態と同様の効果を得ることができる。
【0069】
次に、第3の変形例について説明する。
図11は、第3の変形例のシステム350の全体構成を示す図である。システム350は、第1のスマートフォン351および第2のスマートフォン352を有して構成される。第1のスマートフォン351は、情報処理装置または他の情報処理装置に対応し、第2のスマートフォン322は、情報処理装置または他の情報処理装置に対応する。情報処理装置および他の情報処理装置は、任意のデバイスであってよい。第1のスマートフォン351は、CPU361、RAM362、記憶装置363および通信部364を有する。第2のスマートフォン352は、CPU371、RAM372、記憶装置373および通信部374を有する。
【0070】
第1のスマートフォン351は、撮像機能を有しているものとする。ただし、第1のスマートフォン321は、撮像機能を有していなくてもよい。第1のスマートフォン351は、撮像装置が撮影した第1の画像データを取得する。そして、第1のスマートフォン351の通信部364は、第1の画像データを第2のスマートフォン352に送信する。これにより、第2のスマートフォン352は、補正前の第1の画像データを取得する。第2のスマートフォン352の記憶装置373は、予め第2の画像データの特性を示す特性情報を記憶しているものとする。また、第1のスマートフォン351と第2のスマートフォン352との間で、通信により、上記特性情報が共有されていてもよい。
【0071】
第2のスマートフォン352のCPU371は、第2の画像データの特性情報に基づいて、第1の画像データの特性が、第2の画像データの特性と合うように変換する。これにより、第1の画像データが補正される。第2のスマートフォン352の記憶装置373には、第2の学習モデルが記憶されている。CPU371は、補正後の第1の画像データを入力として、第2の学習モデルを用いて、画像の解析を行う。通信部374は、画像の解析結果を第1のスマートフォン351に送信する。第1のスマートフォン351の通信部364は、解析結果を受信する。第1のスマートフォン351の記憶装置363には、第1の学習モデルが記憶されている。第1のスマートフォン351のCPU361は、補正前の第1の画像データを入力として、第1の学習モデルを用いて、画像の解析を行う。
【0072】
第1のスマートフォン351は、上述したように、第2のスマートフォン352から画像の解析結果を受信している。第1のスマートフォン351のCPU361は、第2のスマートフォン352から受信した画像の解析結果を第1の画像データに適用した画像データを教師データとして、第1の学習モデルの再学習を行う。これにより、第1の学習モデルのパラメータが更新される。第1のスマートフォン351は、新たに撮影した画像を入力として、更新された第1の学習モデルを用いて、画像の解析を行う。以上により、第3の変形例でも、上述した実施形態と同様の効果を得ることができる。
【0073】
次に、第4の変形例について説明する。
図12は、第4の変形例のシステム400の全体構成を示す図である。システム400は、撮像装置401、スマートフォン402、第1のサーバ403および第2のサーバ404を有する。第1のサーバ403は、情報処理装置に対応する。スマートフォン402は、端末装置に対応する。第2のサーバ404は、他の情報処理装置に対応する。スマートフォン402は、CPU411、RAM412、記憶装置413および通信部414を有する。第1のサーバ403は、CPU421、RAM422、記憶装置423および通信部424を有する。第2のサーバ404は、CPU431、RAM432、記憶装置433および通信部434を有する。
【0074】
撮像装置401は、画像(第1の画像データを含む)を撮影し、撮影した画像をスマートフォン402に送信する。撮像装置401がスマートフォン402に送信する画像は、第1の画像データ以外の画像であってもよい。スマートフォン402は、撮像装置401から第1の画像データを取得する。スマートフォン402が撮影機能を有している場合、撮像装置401は不要である。スマートフォン402の通信部414は、第1の画像データを、第1のサーバ403に送信する。第1のサーバ403の通信部424は、第1の画像データを受信する。
【0075】
第2のサーバ404の記憶装置433は、第2の画像データの特性を示す特性情報を記憶している。第1のサーバ403のCPU421は、通信部424を制御して、第2のサーバ404の記憶装置433から、第2の画像データの特性情報を取得する。第1のサーバ403のCPU421は、第2の画像データの特性情報に基づいて、上記受信した第1の画像データの特性が、第2の画像データと合うように変換する。これにより、第1の画像データが補正される。第1のサーバ403の通信部424は、補正後の第1の画像データを、第2のサーバ404に送信する。第2のサーバ404の記憶装置433には、第2の学習モデルが記憶されている。第2のサーバ404のCPU431は、補正後の第1の画像データを入力として、第2の学習モデルを用いて、画像の解析を行う。第2のサーバ404の通信部434は、画像の解析結果を第1のサーバ403に送信する。
【0076】
第1のサーバ403の通信部424は、画像の解析結果を受信する。第1のサーバ403の記憶装置423には、第1の学習モデルが記憶されている。第1のサーバ403のCPU411は、補正前の第1の画像データを入力として、第1の学習モデルを用いて、画像の解析を行う。また、第1のサーバ403は、画像の解析結果を受信している。第1のサーバ403のCPU421は、第2のサーバ404から受信した画像の解析結果を第1の画像データに適用した画像データを教師データとして、第1の学習モデルの更新を行う。これにより、第1の学習モデルのパラメータが更新される。第1のサーバ403の通信部424は、更新された第1の学習モデルのパラメータを、スマートフォン402に送信する。
【0077】
スマートフォン402の記憶装置413には、第1の学習モデルが記憶されている。スマートフォン402のCPU411は、上記更新された第1の学習モデルのパラメータを、スマートフォン402の第1の学習モデルに適用する。これにより、スマートフォン402は、新たに撮影した画像を入力として、更新された第1の学習モデルを用いて、画像の解析を行うことができる。以上により、第4の変形例でも、上述した実施形態と同様の効果を得ることができる。
【0078】
次に、第5の変形例について説明する。
図13は、第5の変形例のシステム450の全体構成を示す図である。システム450は、撮像装置451、スマートフォン452、第1のサーバ453および第2のサーバ454を有する。第1のサーバ453は、情報処理装置または他の情報処理装置に対応する。スマートフォン452は、端末装置に対応する。第2のサーバ454は、情報処理装置または他の情報処理装置に対応する。
【0079】
撮像装置451は、画像(第1の画像データを含む)を撮影し、撮影した画像をスマートフォン452に送信する。スマートフォン452が撮像機能を有する場合、スマートフォン452は、第1の画像データを撮影により取得してもよい。スマートフォン452の通信部464は、第1の画像データを、第1のサーバ453に送信する。第1のサーバ453の通信部474は、第1の画像データを受信する。第1のサーバ453の通信部474は、第1の画像データ、および該第1の画像データの特性情報を第2のサーバ454に送信する。このとき、例えば、第1のサーバ453の記憶装置473に、第1の画像データの特性情報が記憶されていてもよい。第2のサーバ454の通信部484は、第1の画像データ、および該第1の画像データの特性情報を受信する。
【0080】
第2のサーバ454のCPU481は、第1の画像データの特性情報に基づいて、第1の画像データの特性が、第2の画像データと合うように変換する。これにより、第1の画像データが補正される。第2のサーバ454のCPU481は、補正後の第1の画像データを入力として、第2の学習モデルを用いて、画像の解析を行う。そして、第2のサーバ454の通信部484は、画像の解析結果を第1のサーバ453に送信する。
【0081】
第1のサーバ453の通信部474は、画像の解析結果を受信する。第1のサーバ453の記憶装置473には、第1の学習モデルが記憶されている。第1のサーバ453のCPU471は、第2のサーバ454から受信した画像の解析結果を第1の画像データに適用した画像データを教師データとして、第1の学習モデルの更新を行う。これにより、第1の学習モデルのパラメータが更新される。第1のサーバ453の通信部474は、更新された第1の学習モデルのパラメータを、スマートフォン452に送信する。スマートフォン452の記憶装置463には、第1の学習モデルが記憶されている。スマートフォン402のCPU461は、上記更新された第1の学習モデルのパラメータを、スマートフォン452の第1の学習モデルに適用する。これにより、スマートフォン452は、新たに撮影した画像を入力として、更新された第1の学習モデルを用いて、画像の解析を行うことができる。以上により、第5の変形例でも、上述した実施形態と同様の効果を得ることができる。
【0082】
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の1以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0083】
100 撮像装置
150 モニタディスプレイ
151 CPU
152 画像処理部
161 主被写体検出部
201 第1の被写体検出部
202 入力データ変換部
203 第2の被写体検出部
204 主被写体決定部
205 評価部