(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-12
(45)【発行日】2024-03-21
(54)【発明の名称】情報処理装置及びその制御方法、撮像装置システム、プログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240313BHJP
G06N 20/00 20190101ALI20240313BHJP
【FI】
H04N23/60
G06N20/00
(21)【出願番号】P 2019200225
(22)【出願日】2019-11-01
【審査請求日】2022-10-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】田邉 章弘
【審査官】淀川 滉也
(56)【参考文献】
【文献】国際公開第2018/142765(WO,A1)
【文献】国際公開第2018/122895(WO,A1)
【文献】特許第6573297(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
撮像装置と接続し、前記撮像装置から前記撮像装置に現在設定されているAFの対象となる被写体に関する情報を取得する取得手段と、
複数の学習済みモデルを送信可能な外部機器と接続し、複数の学習済みモデルのリスト情報を受信する受信手段と、
前記複数の学習済みモデルのリスト情報を提示する提示手段と、
前記提示手段に提示された前記複数の学習済みモデルからユーザにより選択された学習済みモデルを選択する選択手段と、
前記選択手段により選択された学習済みモデルの送信要求を前記外部機器に送信する送信手段と、
前記外部機器から送信された、前記選択された学習済みモデルを受信して前記撮像装置に転送する転送手段と、を備え、
前記提示手段は、前記撮像装置に現在設定されているAFの対象となる被写体に対応する学習済みモデルを前記リストの上位に表示することを特徴とする情報処理装置。
【請求項2】
前記複数の学習済みモデルのそれぞれが前記撮像装置で処理が可能な学習済みモデルであるか否かを判断する判断手段をさらに備えることを特徴とする請求項
1に記載の情報処理装置。
【請求項3】
前記判断手段は、前記撮像装置から、前記複数の学習済みモデルのそれぞれが前記撮像装置で処理が可能な学習済みモデルであるか否かの情報を取得することを特徴とする請求項
2に記載の情報処理装置。
【請求項4】
前記判断手段は、前記外部機器から、前記複数の学習済みモデルのそれぞれが前記撮像装置で処理が可能な学習済みモデルであるか否かの情報を取得することを特徴とする請求項
2に記載の情報処理装置。
【請求項5】
前記提示手段は、前記複数の学習済みモデルのうち、前記判断手段により、前記撮像装置で処理が可能と判断された学習済みモデルと、処理が可能でないと判断された学習済みモデルの提示を異ならせることを特徴とする請求項
2に記載の情報処理装置。
【請求項6】
複数の学習済みモデルを送信可能な外部機器と、
撮像装置と、
前記撮像装置と接続し、前記撮像装置から前記撮像装置に現在設定されているAFの対象となる被写体に関する情報を取得する取得手段と、前記外部機器と接続し、複数の学習済みモデルのリスト情報を受信する受信手段と、
前記複数の学習済みモデルのリスト情報を提示する提示手段と、前記提示手段に提示された前記複数の学習済みモデルからユーザにより選択された学習済みモデルを選択する選択手段と、前記選択手段により選択された学習済みモデルの送信要求を前記外部機器に送信する送信手段と
、前記外部機器から送信された、前記選択された学習済みモデルを受信して前記撮像装置に転送する転送手段とを有する情報処理装置と、
を備え、
前記提示手段は、前記撮像装置に現在設定されているAFの対象となる被写体に対応する学習済みモデルを前記リストの上位に表示することを特徴とする撮像装置システム。
【請求項7】
撮像装置と接続し、前記撮像装置から前記撮像装置に現在設定されているAFの対象となる被写体に関する情報を取得する取得工程と、
複数の学習済みモデルを送信可能な外部機器と接続し、複数の学習済みモデルのリスト情報を受信する受信工程と、
前記複数の学習済みモデルのリスト情報を提示する提示工程と、
前記提示工程で提示された前記複数の学習済みモデルからユーザにより選択された学習済みモデルを選択する選択工程と、
前記選択工程において選択された学習済みモデルの送信要求を前記外部機器に送信する送信工程と、
前記外部機器から送信された、前記選択された学習済みモデルを受信して前記撮像装置に転送する転送工程と、を有し、
前記提示工程では、前記撮像装置に現在設定されているAFの対象となる被写体に対応する学習済みモデルを前記リストの上位に表示することを特徴とする情報処理装置の制御方法。
【請求項8】
コンピュータを、請求項
1乃至
5のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、撮像装置システムに関する。
【背景技術】
【0002】
撮像時において、ニューラルネットワーク等に代表される機械学習手法により被写体を識別する撮像装置が知られている。このような撮像装置は、予めユーザに指定された特定の被写体に対応した学習済みモデルを利用して、特定の被写体に対して処理を行うものである。
【0003】
現在被写体の種類は、人、車、電車などの数種類であるが、今後被写体の種類は益々増えていくと予想される。更に、従来はAF(オートフォーカス処理)の被写体判別の用途に用いられてきたが、AE(自動露出)、AWB(オートホワイトバランス)、画像処理、ノイズ除去等のように、撮像装置での処理に対して利用範囲が広がっていくと考えられる。
【0004】
この場合、複数の学習済みモデルが必要となるが、全ての学習済みモデルを撮像装置に保持することは、多くの記録容量を必要とするため、実際上困難である。そのため、撮像装置に保持可能な学習済みモデルを適宜入れ替える必要がある。
【0005】
特許文献1には、クライアント端末から要求された所望の画像の高解像度画像の設定パラメータに応じて画質を制御した高解像度画像を生成し、クライアント端末に配信する画画像配信システムが開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1では、クライアント端末の要求に応じて高解像度画像を生成して送信する方法は開示されているが、ニューラルネットワークにおける学習済みモデルのやり取りに関しては開示されていない。
【0008】
本発明は上述した課題に鑑みてなされたものであり、その目的は、撮影において被写体の判別などに用いられる学習済みモデルを、適切に撮像装置に提供できるようにすることである。
【課題を解決するための手段】
【0009】
本発明に係わる情報処理装置は、撮像装置と接続し、前記撮像装置から前記撮像装置に現在設定されているAFの対象となる被写体に関する情報を取得する取得手段と、複数の学習済みモデルを送信可能な外部機器と接続し、複数の学習済みモデルのリスト情報を受信する受信手段と、前記複数の学習済みモデルのリスト情報を提示する提示手段と、前記提示手段に提示された前記複数の学習済みモデルからユーザにより選択された学習済みモデルを選択する選択手段と、前記選択手段により選択された学習済みモデルの送信要求を前記外部機器に送信する送信手段と、前記外部機器から送信された、前記選択された学習済みモデルを受信して前記撮像装置に転送する転送手段と、を備え、前記提示手段は、前記撮像装置に現在設定されているAFの対象となる被写体に対応する学習済みモデルを前記リストの上位に表示することを特徴とする。
【発明の効果】
【0010】
本発明によれば、撮影において被写体の判別などに用いられる学習済みモデルを、適切に撮像装置に提供することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態におけるシステム構成図である。
【
図2】第1の実施形態における撮像装置のブロック図である。
【
図3】第1の実施形態におけるニューラルネットワーク処理部の概略構成図である。
【
図4】第1の実施形態における通信装置のブロック図である。
【
図5】第1の実施形態における撮像装置と通信装置の処理シーケンス図である。
【
図6】第1の実施形態における撮像装置の処理を示すフローチャートである。
【
図7】第1の実施形態における通信装置の処理を示すフローチャートである。
【
図8】第1の実施形態における撮像装置のメニュー選択と撮影時の画面の一例を示す図である。
【
図9】第2の実施形態におけるシステム構成図である。
【
図10】第2の実施形態における情報処理装置のブロック図である。
【
図11】第2の実施形態における撮像装置と通信装置と情報処理装置の処理シーケンス図である。
【
図12】第2の実施形態における撮像装置の処理を示すフローチャートである。
【
図13】第2の実施形態における情報処理装置の処理を示すフローチャートである。
【
図14】第2の実施形態における通信装置の処理を示すフローチャートである。
【
図15】第2の実施形態における情報処理装置のメニュー選択画面の一例を示す図である。
【
図16】第3の実施形態における学習モデルの一例を示す図である。
【
図17】第3の実施形態における撮像装置のメニュー選択画面の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
(第1の実施形態)
<システム構成>
図1は、第1の実施形態における撮像装置システムの構成を示した図である。撮像装置システムは、撮像装置100と、複数の学習済みモデルを送信可能な通信装置200が無線あるいは有線による通信ネットワークにより接続されて構成されている。撮像装置100は、学習済みモデルを用いて、検出処理、分類処理、領域分類処理、画像回復処理、フォーカス処理、露出処理、ホワイトバランス処理のいずれかの処理を行う。
【0014】
<撮像装置100の構成>
図2は、撮像装置100の構成を示すブロック図である。
図2において、撮像装置100は、CPU101と、メモリ102と、不揮発性メモリ103と、操作部104と、ニューラルネットワーク処理部105と、撮像部112と、画像処理部113と、符号化処理部114と、表示制御部115と、表示部116とを有する。更に、撮像装置100は、通信制御部117と、通信部118と、記録媒体制御部119と、内部バス130とを有している。
【0015】
撮像装置100は、撮影レンズ111を用いて被写体の光学像を撮像部112の画素アレイに結像させるが、撮影レンズ111は、撮像装置100のボディ(筐体、本体)から、着脱不能であってもよいし、着脱可能であってもよい。また、撮像装置100は、記録媒体制御部119を介して画像データの書き込み及び読み出しを記録媒体120に対して行う。記録媒体120は、撮像装置100に着脱可能であってもよいし、着脱不能であってもよい。
【0016】
CPU101は、不揮発性メモリ103に記憶されているコンピュータプログラムを実行することによって、内部バス130を介して撮像装置100の各部(各機能ブロック)の動作を制御する。
【0017】
メモリ102は、書き換え可能な揮発性メモリである。メモリ102は、撮像装置100の各部の動作を制御するためのコンピュータプログラム、撮像装置100の各部の動作に関するパラメータ等の情報、通信制御部117によって受信される情報等を一時的に記録する。また、メモリ102は、撮像部112によって取得された画像、画像処理部113、符号化処理部114等によって処理された画像及び情報を一時的に記録する。メモリ102は、これらを一時的に記録するために十分な記憶容量を備えている。
【0018】
更に、メモリ102はニューラルネットワーク処理部105で使用する、ニューラルネットワーク構成の処理内容を記述したコンピュータプログラムと、重み係数やバイアス値(バイアス情報)等の学習済み係数パラメータを格納する。なお、重み係数とはニューラルネットワークにおいてノード間の接続の強さを示すための値であり、バイアスは重み係数と入力データの積算値に対してオフセットを与えるための値である。
【0019】
不揮発性メモリ103は、電気的に消去及び記録が可能なメモリであり、例えばEEPROM、ハードディスク等が用いられる。不揮発性メモリ103は、撮像装置100の各部の動作を制御するコンピュータプログラム及び撮像装置100の各部の動作に関するパラメータ等の情報を記憶する。このコンピュータプログラムにより、撮像装置100によって行われる各種動作が実現される。なお、不揮発性メモリ103に、上述したニューラルネットワーク処理部105で使用する、ニューラルネットワークの処理内容を記述したコンピュータプログラムと、重み係数やバイアス値等の学習済み係数パラメータを格納してもよい。
【0020】
操作部104は、撮像装置100を操作するためのユーザインターフェースを提供する。操作部104は、電源ボタン、メニューボタン、撮影用のレリーズボタン、動画録画ボタン、キャンセルボタン等の各種ボタンを含んでおり、各種ボタンはスイッチ、タッチパネル等により構成される。CPU101は、操作部104を介して入力されたユーザの指示に従って撮像装置100を制御する。なお、ここでは、操作部104を介して入力される操作に基づいてCPU101が撮像装置100を制御する場合を例に説明したが、これに限定されるものではない。例えば、不図示のリモートコントローラ、不図示の携帯端末等から通信部118を介して入力される要求に基づいて、CPU101が撮像装置100を制御してもよい。ニューラルネットワーク処理部105については
図3を用いて後述する。
【0021】
撮影レンズ(レンズユニット)111は、ズームレンズ、フォーカスレンズ等を含む不図示のレンズ群、不図示のレンズ制御部、不図示の絞り等によって構成される。撮影レンズ111は、画角を変更するズーム手段として機能し得る。レンズ制御部は、CPU101から送信される制御信号により、焦点の調整及び絞り値(F値)の制御を行う。
【0022】
撮像部112は、動画像を構成する複数の画像を順次取得する取得手段として機能し得る。撮像部112としては、例えば、例えばCCD(電荷結合素子)、CMOS(相補型金属酸化膜半導体)素子等からなるエリアイメージセンサが用いられる。撮像部112は、被写体の光学像を電気信号に変換する不図示の光電変換部が行列状、すなわち、2次元的に配列された不図示の画素アレイを有している。この画素アレイには、被写体の光学像が撮影レンズ111によって結像される。撮像部112は、撮像した画像を画像処理部113又はメモリ102に出力する。なお、撮像部112は、静止画像を取得することも可能である。
【0023】
画像処理部113は、撮像部112から出力される画像データ、又は、メモリ102から読み出された画像データに対し、所定の画像処理を行う。この画像処理の例としては、ダイナミックレンジ変換処理、補間処理、縮小処理(リサイズ処理)、色変換処理等が挙げられる。また、画像処理部113は、撮像部112によって取得された画像データを用いて、露光制御、焦点検出制御等のための所定の演算処理を行う。画像処理部113による演算処理によって得られた演算結果に基づいて、露光制御、焦点検出制御等がCPU101によって行われる。具体的には、AE処理、AWB処理、AF処理等がCPU101によって行われる。また、AE処理、AWB処理、AF処理の一部を、ニューラルネットワーク処理部105を用いて行ってもよい。
【0024】
符号化処理部114は、画像データに対してフレーム内予測符号化(画面内予測符号化)、フレーム間予測符号化(画面間予測符号化)等を行うことによって、画像データのサイズを圧縮する。符号化処理部114は、例えば、半導体素子等により構成された符号化装置である。符号化処理部114は、撮像装置100の外部に設けられた符号化装置であってもよい。また、符号化処理部114の処理の一部を、ニューラルネットワーク処理部105を用いて行ってもよい。
【0025】
表示制御部115は、表示部116を制御する。表示部116は、不図示の表示画面を備える。表示制御部115は、表示部116の表示画面に表示可能な画像を生成し、その画像、すなわち、画像信号を表示部116に出力する。また、表示制御部115は表示部116に画像データを出力するだけでなく、通信制御部117を介して外部機器に画像データを出力することも可能である。表示部116は、表示制御部115から送られてくる画像信号に基づいて、表示画面に画像を表示する。表示部116は、表示画面にメニュー等の設定画面を表示する機能であるOSD(On Screen Display)機能を備えている。表示制御部115は、画像信号にOSD画像を重畳して表示部116に画像信号を出力し得る。表示部116は、液晶ディスプレイ、有機ELディスプレイ等により構成されており、表示制御部115から送られてきた画像信号を表示する。表示部116は、例えばタッチパネルであってもよい。表示部116がタッチパネルである場合、表示部116は、操作部104としても機能し得る。
【0026】
通信制御部117は、CPU101に制御される。通信制御部117は、IEEE802.11等のような無線通信規格に適合する変調信号を生成して、その変調信号を通信部118に出力し、外部の機器からの変調信号を、通信部118を介して受信する構成である。また、通信制御部117は映像信号の制御信号を送受信することが可能である。例えば、HDMI(登録商標)(High Definition Multimedia Interface)やSDI(Serial Digital Interface)などの通信規格に準拠した映像信号を送るために通信部118を制御してもよい。
【0027】
通信部118は映像信号と制御信号を物理的な電気信号に変換して外部機器と送受信する。なお、ここでは、通信部118によって映像信号と制御信号が通信される場合を例に説明したが、通信部118によって行われる通信はこれらに限定されるものではない。
【0028】
記録媒体制御部119は、記録媒体120を制御する。記録媒体制御部119は、CPU101からの要求に基づいて、記録媒体120を制御するための制御信号を記録媒体120に出力する。記録媒体120としては、例えば不揮発性メモリや磁気ディスク等が用いられる。記録媒体120は、上述したように、着脱可能であってもよいし、着脱不能であってもよい。記録媒体120は、符号化された画像データ等を記録する。記録媒体120のファイルシステムに適合した形式で画像データ等がファイルとして保存される。
【0029】
なお、各々の機能ブロック101~105、112~115、117、119は、内部バス130を介して互いにアクセス可能に接続されている。
【0030】
<ニューラルネットワーク処理部105の構成>
図3は、ニューラルネットワーク処理部105の構成を示した図である。ニューラルネットワーク処理部105は予め学習済みの係数パラメータを用いてニューラルネットワークの処理を実行する。なお、ニューラルネットワークの処理とは、例えばCNN(Convolutional Neural Network)と全結合層で構成されるものなどであるが、これに限定されるものではない。また上述の係数パラメータは、全結合層では各層のノード間を結ぶエッジ毎に持つ重みやバイアス、CNNではカーネルの重みやバイアスに相当する。
【0031】
図3に示すように、ニューラルネットワーク処理部105はニューラルコア140の中に、CPU141、積和演算回路142、DMA143、内部メモリ144が含まれて構成されている。
【0032】
CPU141は、内部バス130を介して、メモリ102または不揮発性メモリ103あるいは内部メモリ144に格納されている、ニューラルネットワークの処理内容を記述したコンピュータプログラムを実行する。またCPU141は積和演算回路142およびDMA143の制御も行う。
【0033】
積和演算回路142は、ニューラルネットワークにおける積和演算を行う回路である。積和演算回路142は、複数の積和演算回路を複数有し、処理を並列に実行することが可能である。
【0034】
DMA143は、CPU141を介さずにデータ転送を行うように特化した回路であり、内部バス130を介してメモリ102または不揮発性メモリ103と内部メモリ144間のデータ転送を行う。また、DMA143は積和演算回路142と内部メモリ144間のデータ転送も行う。DMA143が転送するデータは、ニューラルネットワークの処理内容を記述したコンピュータプログラムや、学習済み係数パラメータ、積和演算回路142で算出した中間データ等である。
【0035】
内部メモリ144は、ニューラルネットワークの処理内容を記述したコンピュータプログラム、学習済み係数パラメータ、積和演算回路142で算出した中間データ等を格納する。また、内部メモリ144は複数のバンクを有していてもよく、動的にバンクを切り替えてもよい。
【0036】
<通信装置200の構成>
図4は、本発明の第1の実施形態における、通信装置200の構成を示すブロック図である。
【0037】
図4において、CPU201は、通信装置200を構成するすべての処理ブロックの制御を行う。メモリ202は、主にCPU201のワークエリアや、データの一時バッファ領域として使用されるメモリである。表示部203は、液晶パネル、または有機ELパネル等で構成され、CPU201の指示に基づいて、操作画面等の表示を行う。内部バス204は、通信装置200内の各処理ブロックを相互に接続するためのバスである。
【0038】
操作部205は、キーボード、マウス、ボタン、タッチパネル、またはリモコン等によって構成され、ユーザの操作指示を受け付ける。操作部205から入力された操作情報は、CPU201に送信され、CPU201は操作情報に基づいて各処理ブロックの制御を実行する。
【0039】
記録部206は記録媒体を備え、CPU201の指示に基づいて記録媒体に様々なデータを格納したり読み出したりする処理ブロックである。記録媒体は、例えばEEPROM、内蔵フラッシュメモリ、内蔵ハードディスク、或いは着脱可能なメモリカード等で構成される。記録部206には、ニューラルネットワークにおける学習用データである入力データと教師データを保存しておく。
【0040】
通信部207は、無線LAN及び有線LANの通信を行うためのハードウェア等を備えている。無線LANにおいては、例えばIEEE802.11n/a/g/b方式の処理ブロックである。通信部207は、外部のアクセスポイントと無線LANで接続し、アクセスポイント経由で他の無線通信機器と通信を行う。また、通信部207は有線LANにおいてEthernetケーブルにより外部ルータ、またはスイッチングハブを介して通信を行う。通信部207は、撮像装置100を含む、外部の機器と通信を行い、画像や制御データ、学習用データ、学習済みモデル等の情報のやり取りを行う。
【0041】
ニューラルネットワーク処理部208は、記録部206に保存された学習用データと、予め作成されたニューラルネットワークのモデルを用いて、ニューラルネットワークの学習処理を行う。ニューラルネットワーク処理部208は、操作部205を介したユーザからの指示、または通信部207から受信して記録部206に記録された画像データの受信に伴い学習処理を行う。ニューラルネットワーク処理部208はGPU(Graphic Processing Unit)や、DSP(Digital Signal Processor)で構成される。なお、ニューラルネットワークの学習処理は、ニューラルネットワーク処理部208を設けず、CPU201で行ってもよい。
【0042】
<第1の実施形態の処理シーケンス>
図5を用いて、本実施形態における撮像装置100と通信装置200の処理シーケンスについて説明する。
【0043】
ステップS501において、撮像装置100は、通信装置200に対して学習済みモデルのリスト情報の取得要求(送信要求)を送信する。なお、CPU101は、学習済みモデルのリスト情報を取得する要求の際に、撮像装置100を識別するための情報(ID)や、モデル識別番号、シリアル番号などの情報を付加して送信する。
【0044】
ステップS502において、通信装置200は、撮像装置100からの学習済みモデルのリスト情報を取得する要求を受信し、学習済みモデルのリスト情報を返信する。なお、本ステップにおいては、学習済みモデルのリスト情報を、撮像装置100が処理可能な学習済みモデルのみで構成された学習済みモデルのリスト情報を送信してもよいし、通信装置200が保持する全ての学習済みモデルのリスト情報を送信してもよい。なお、学習済みモデルは、予め別の機器によって学習されたものであってもよく、通信装置200のニューラルネットワーク処理部208により学習させたものであってもよい。
【0045】
ステップS503において、撮像装置100はステップS502で取得した学習済みモデルのリスト情報から必要な学習済みモデルを選択して、通信装置200に対して学習済みモデルの取得要求を送信する。
【0046】
ステップS504において、通信装置200は、撮像装置100からの学習済みモデルの取得要求を受信し、要求された学習済みモデルを返信する。
【0047】
ステップS505において、通信装置200は、ステップS504において送信した学習済みモデルに関連した情報として、学習済みモデルのメニュー表示に必要な文字や画像情報等を送信する。
【0048】
<撮像装置100の処理フロー>
図6を用いて、本実施形態における撮像装置100の処理の流れについて説明する。この動作は、撮像装置100の電源がオンの状態において、不揮発性メモリ103に格納されているコンピュータプログラムがメモリ102に展開され、CPU101がメモリ102のコンピュータプログラムを読み出して実行することにより実現される。
【0049】
ステップS601において、CPU101は、学習済みモデルを切り替えるメニュー画面の表示要求があるか否かを判断する。CPU101は、操作部104を介したユーザからの表示要求があった場合(ステップS601のYES)、表示制御部115を制御して表示部116にメニュー画面を表示し、本処理をステップS601からステップS602に進める。CPU101は、操作部104を介したユーザからの表示要求が無い場合(ステップS601のNO)、本処理を継続する。なお、メニュー画面の一例は
図8を用いて後述する。
【0050】
ステップS602において、CPU101は、通信制御部117を制御し、通信部118を介して通信することで、通信装置200との接続を確立する。CPU101は、通信制御部117を制御し、通信部118を介して、学習済みモデルのリスト情報の要求を行う。CPU101は、本処理をステップS603に進める。
【0051】
ステップS603において、CPU101は、通信部118を介して通信装置200から送られてくる学習済みモデルのリスト情報を受信し、メモリ102に取得したリスト情報を保持する。なお、学習済みモデルのリスト情報には、撮像装置100に関する、学習済みモデルの用途と適用可能な被写体の情報、学習済みモデルのリスト情報に存在するデータサイズの情報、処理性能の要件情報等が含まれるものとする。CPU101は、本処理を終えた後ステップS604に処理を進める。
【0052】
なお、以降説明する、ステップS604からステップS608の処理は、通信装置200から送られてくる段階で、撮像装置100で処理可能な学習済みモデルのリスト情報である場合は省略することが可能である。また、撮像装置100で処理可能な学習済みモデルのリスト情報であることを、ステップS603の学習済みモデルのリスト情報を受信する際に取得してもよい。
【0053】
ステップS604からステップS607において、学習済みモデルのリスト情報の中の学習済みモデルの1つ1つに対して処理を行うものとする。
【0054】
ステップS604において、CPU101は、ステップS603で受信した学習済みモデルの用途と適用可能な被写体の情報から、撮像装置100で処理可能な学習済みモデルであるか否かを判断する。ここでいう処理可能な学習済みモデルとは、デジタルカメラ100がその学習済みモデルの用途に対応していることを言う。例えばデジタルカメラ100が動物の被写体を自動的にフォーカスする機能に対応している場合、動物の被写体を検知するための学習済みモデルは処理可能な学習済みモデルと判断される。CPU101は、処理可能な学習済みモデルであると判断した場合(ステップS604のYES)、本処理をステップS604からステップS605に進める。CPU101は、処理可能な学習済みモデルで無いと判断した場合(ステップS604のNO)、本処理をステップS604からステップS608に進める。
【0055】
ステップS605において、CPU101は、ステップS603で受信したデータサイズの情報から、1つの学習済みモデルあたりにつきメモリ102に確保された空き容量に収まる(記録可能な)データサイズであるかを判断する。CPU101は、空き容量に収まるデータサイズであると判断した場合(ステップS605のYES)、本処理をステップS605からステップS606へ進める。CPU101は、空き容量に収まるデータサイズでは無いと判断した場合(ステップS605のNO)、本処理をステップS605からステップS608へ進める。
【0056】
ステップS606において、CPU101は、ステップS603で受信した処理性能の要件情報から、撮像装置100で決められた所定の単位時間当たりに実行可能な学習済みモデルであるか否かを判断する。処理性能の要件情報とは、例えば積和演算回路の処理能力を示すTOPS(Tera Operation Per Sec)値や、処理サイクル数等で規定してもよい。また、ここで判断するために用いる「所定の単位時間」は、学習済みモデルの用途に応じて異なる値であってもよい。例えば、撮像時に被写体に焦点を合わせるために用いる場合は、リアルタイム性が求められるため、相対的に短い単位時間を基準に判断する。一方、撮影した後の画像の群から所定の被写体が写る画像を検索するために用いる場合は、撮像時に比べてリアルタイム性が求められる度合いが低い。そのため、この場合は相対的に長い単位時間を基準に判断する。CPU101は、所定の単位時間当たりに実行可能な学習済みモデルであると判断した場合(ステップS606のYES)、本処理をステップS606からステップS607に進める。CPU101は、所定の単位時間当たりに実行可能な学習済みモデルで無いと判断した場合(ステップS606のNO)、本処理をステップS606からステップS608に進める。
【0057】
ステップS607において、CPU101は、ステップS604からステップS606において確認した学習済みモデルは、メニュー画面に表示可能な学習済みモデルであると判断し、メニュー表示する学習済みモデルリストとして、メモリ102に記録する。CPU101は本処理をステップS607からステップS608へ進める。
【0058】
ステップS608において、CPU101は、ステップS603で受信した学習済みモデルのリスト情報に記載されている、全ての学習済みモデルに対してステップS604からステップS607の処理を行ったか否かを判断する。CPU101は、リスト情報に記載の全学習済みモデルに対して処理を行ったと判断した場合(ステップS608のYES)、本処理をステップS608からステップS609へ進める。CPU101は、リスト情報に記載の全学習済みモデルに対して処理を行っていないと判断した場合(ステップS608のNO)、本処理をステップS608からステップS604に戻す。
【0059】
ステップS609において、CPU101は、メモリ102に記録したメニュー表示する学習済みモデルリストを、表示制御部115を制御し表示部116に表示する。CPU101は、本処理をステップS609からステップS610に進める。
【0060】
ステップS610において、CPU101は、操作部104からのユーザ操作による学習済みモデルの選択を受け、CPU101は本処理をステップS610からステップS611に進める。
【0061】
ステップS611において、CPU101は、ステップS610でユーザに選択された学習済みモデルを、通信制御部117を制御し通信部118を介して、通信装置200から取得する取得要求を送信する。CPU101は、本処理をステップS611からステップS612に進める。
【0062】
ステップS612において、CPU101は、通信部118を介して学習済みモデルと学習済みモデルの関連情報を受信し、メモリ102に保存する。CPU101は、本処理をステップS612からステップS613に進める。
【0063】
ステップS613において、CPU101は、学習済みモデルの関連情報を用いて表示画面を構成し、表示制御部115を制御して表示部116に学習済みモデルが切り替わったことを表示し、本フローチャートにおける処理をステップS613で終了させる。
【0064】
なお、上記の説明では、ステップS607において、ステップS604からステップS606の条件を満たした学習モデルのみをモデルリストとしてメモリ102に記憶し、ステップS609でメニュー画面に表示するようにしている。しかし、ステップS607において、全てのモデルリストをメモリ102に記憶し、ステップS609において、ステップS604からステップS606の条件を満たさない学習モデルを実行不可能な学習モデルとして、実行可能な学習モデルとは表示を変更して表示するようにしてもよい。
【0065】
<通信装置200の処理フロー>
図7を用いて、本実施形態における通信装置200の処理の流れについて説明する。この動作は、通信装置200の電源がオンの状態において、記録部206に格納されているコンピュータプログラムがメモリ202に展開され、CPU201がメモリ202のコンピュータプログラムを読み出して実行することにより実現される。
【0066】
ステップS701において、CPU201は、通信部207を介して撮像装置100からの学習済みモデルのリスト情報取得要求を受信する。なお、撮像装置100からの学習済みモデルのリスト情報取得要求には、撮像装置100を識別するための情報(ID)や、モデル識別番号、シリアル番号などの撮像機器情報を含むものとする。CPU201は、本処理をステップS701からステップS702へ進める。
【0067】
ステップS702において、CPU201は、記録部206に記録されている学習済みモデルのリスト情報を、通信部207を介して送信する。なお、CPU201はステップS701において取得した撮像装置100の識別情報等から、撮像装置100で処理可能な学習済みモデルのみをリスト情報として送信してもよい。撮像装置100で処理可能な学習済みモデルのみをリスト情報として送信する場合は、処理可能なリスト情報のみであることを撮像装置100に通知する。CPU201は、本処理をステップS702からステップS703へ進める。
【0068】
ステップS703において、CPU201は、通信部207を介して撮像装置100からの学習済みモデル取得要求を受信する。CPU201は、本処理をステップS703からステップS704に進める。
【0069】
ステップS704において、CPU201は、ステップS703において撮像装置100から指定された学習済みモデルと、学習済みモデルに関連する情報を、記録部206から読み出し、通信部207を介して撮像装置100へ送信する。CPU201は、本処理をステップS704で終える。
【0070】
<撮像装置100の画面の一例>
図8を用いて、本実施形態における撮像装置100のメニュー選択と撮影時の画面の一例について説明する。
【0071】
図8(a)は撮像装置100の機械学習機能を用いたAFの被写体を選択する画面の一例を示したものである。なお、AF以外における選択も同様のメニュー構成であってもよい。また、各被写体は各学習済みモデルに対応しているものとする。
【0072】
メニュー表示801は、メニュー画面においてどのような機能を設定する画面であるのかを示す。
【0073】
被写体設定状態802は、AFで選択可能な被写体の現在の設定状態を示す。被写体設定状態802には、被写体の優先順位を示す番号と、被写体が表示される。撮像装置100は優先順位に従って被写体を検出する。なお、被写体設定状態802に表示される番号に関しては優先順位ではなく、被写体を格納する場所を識別する番号であってもよい。
【0074】
変更先被写体の選択枠803は、ユーザによって選択された変更先の被写体を示す。選択可能リスト804は選択可能な被写体リストを表示したものである。スライドバー805は画面に表示しきれない被写体をスライドして表示するためのスライドバーである。選択不可マーク806は、対応している被写体として表示しているが、撮像装置100が設定条件等の何らかの理由で選択できない場合に表示するマークを示す。
【0075】
変更元被写体の選択枠807は、ユーザによって選択された変更元の被写体を示す。実行ボタン808は、変更元被写体選択枠807で選択した被写体の設定を、変更先被写体選択枠803で選択した箇所に反映するための実行ボタンである。
【0076】
図8(b)は、
図8(a)で設定した被写体の中から、撮影時に使用する被写体を選択するメニュー画面の一例を示したものである。
【0077】
被写体選択表示812は、撮像装置100で登録されている被写体の中で、撮影時に使用する被写体を選択するための表示を示す。
【0078】
撮影時の被写体選択枠813は、撮影時に使用する被写体を選択するための選択枠を示す。実行ボタン814は、撮影時の被写体選択枠813を設定するためのボタンである。キャンセルボタン815は、本メニュー画面からメイン画面に戻るためのボタンである。
【0079】
図8(c)は撮像装置100の撮影時における撮影画面の一例を示したものである。
【0080】
AF枠821は、被写体のどこにフォーカスが当たっているのかを示すものである。被写体選択表示822は、
図8(b)で選択した被写体の設定値や、不図示のAEの選択メニューで選択した設定値を表示したものである。なお、AF、AEに限らず、学習済みモデルを使用した機能の状態を表示するものである。
【0081】
以上説明したように、第1の実施形態の処理を行うことにより、通信装置200から学習済みモデルを撮像装置100が取得することにより、複数の学習済みモデルを変更することが可能となる。
【0082】
(第2の実施形態)
本発明における第2の実施形態について、撮像装置100、通信装置200、情報処理装置300を例に添付の図面を参照して以下に詳細に説明するが、本発明は、以下の実施形態に限定されるものではない。
【0083】
第1の実施形態においては、撮像装置100と通信装置200で構成されるシステムについて説明した。本実施形態においては、撮像装置100と通信装置200に、スマートフォンやPCなどの情報処理装置300を加えた構成のシステムについて説明する。なお、本実施形態における撮像装置100のブロック構成、通信装置200のブロック構成は第1の実施形態と同様である。
【0084】
<第2の実施形態のシステム構成>
図9を用いて本実施形態でのシステム構成について説明する。
図9に示すように、撮像装置100、通信装置200、情報処理装置300が相互に無線あるいは有線による通信ネットワークにより接続される。なお、撮像装置100と通信装置200は情報処理装置300を介して通信を行ってもよい。
【0085】
<情報処理装置300のブロック構成>
図10は、第2の実施形態における、情報処理装置300の構成を示すブロック図である。情報処理装置300は、CPU301、メモリ302、撮像部303、表示部304、操作部305、記録部306、通信部307を備える。
【0086】
CPU301は、情報処理装置300を構成するすべての処理ブロックの制御を行う。プログラムは後述する記録部306に格納される。
【0087】
メモリ302は、主にCPU301のワークエリアや、データの一時バッファ領域として使用される。OS(Operation System)やアプリケーション等のプログラムは、メモリ302上に展開され、CPU301により実行される。
【0088】
撮像部303は、光学レンズ、CMOSセンサ、デジタル画像処理部等を備える。そして、光学レンズを介して入力される光をCMOSセンサで光電変換し、CMOSセンサからのアナログ信号をデジタルデータに変換して撮影画像を取得する。撮像部303によって取得された撮影画像は、メモリ302に一時的に格納され、CPU301の制御に基づいて処理される。例えば、記録部306による記録媒体への記録や、通信部307による外部機器への送信などが行われる。また撮像部303は、レンズ制御部も備えており、CPU301からの指令に基づいて、ズーム、フォーカス、絞り調整等の制御を行う。
【0089】
表示部304は、液晶パネル、または有機ELパネル等で構成され、CPU301の指示に基づいて、操作画面や、撮影画像等の表示を行う。
【0090】
操作部305は、キーボード、マウス、ボタン、十字キー、タッチパネル、またはリモコン等によって構成され、ユーザの操作指示を受け付ける。操作部305から入力された操作情報は、CPU301に送信され、CPU301は操作情報に基づいて各処理ブロックの制御を実行する。
【0091】
記録部306は大容量の記録媒体によって構成され、CPU301の指示に基づいて様々なデータを格納したり読み出したりする処理ブロックである。記録媒体は、例えば内蔵フラッシュメモリ、内蔵ハードディスク、或いは着脱可能なメモリカード等で構成される。
【0092】
通信部307は、アンテナ、無線LAN、有線LAN等の通信を行うための処理ハードウェア等を備え、例えばIEEE802.11n/a/g/b方式の通信を行う処理ブロックである。通信部107は、外部のアクセスポイントと無線LANで接続し、アクセスポイント経由で他の無線通信機器と通信を行う。
【0093】
内部バス308は、情報処理装置300内の各処理ブロックを相互に接続する。
【0094】
<第2の実施形態における処理シーケンス>
図11は、本実施形態における撮像装置100と通信装置200と情報処理装置300の処理シーケンスを示す図である。
【0095】
ステップS1101において、情報処理装置300は、撮像装置100に対して撮像装置100を識別するための情報(ID)や、モデル識別番号、シリアル番号などの撮像機器情報の取得要求を行う。また、撮像機器情報には、学習済みモデルの用途と適用可能な被写体の情報、メモリ102に確保された空き容量、処理性能の要件情報が含まれるものとする。
【0096】
ステップS1102において、撮像装置100は、撮像機器情報を情報処理装置300に対して送信する。
【0097】
ステップS1103において、情報処理装置300は、通信装置200に対して学習済みモデルのリスト情報の取得要求を送信する。
【0098】
ステップS1104において、情報処理装置300は、通信装置200に対してステップS1102で取得した撮像機器情報を送信する。
【0099】
ステップS1105において、通信装置200は、情報処理装置300からの学習済みモデルのリスト情報を取得する要求を受信し、学習済みモデルのリスト情報を返信する。なお、本ステップにおいては、学習済みモデルのリスト情報として、撮像装置100が処理可能な学習済みモデルのみで構成された学習済みモデルのリスト情報を送信してもよいし、通信装置200が保持する全ての学習済みモデルのリスト情報を送信してもよい。
【0100】
ステップS1106において、情報処理装置300はステップS1105で取得した学習済みモデルのリスト情報から必要な学習済みモデルを選択して、通信装置200に対して学習済みモデルの取得要求を送信する。
【0101】
ステップS1107において、通信装置200は、情報処理装置300からの学習済みモデルの取得要求を受信し、要求された学習済みモデルを返信する。
【0102】
ステップS1108において、通信装置200は、ステップS1107において送信した学習済みモデルに関連した情報として、学習済みモデルのメニュー表示に必要な文字や画像情報等を送信する。
【0103】
ステップS1109において、情報処理装置300は、撮像装置100に対して、ステップS1107で取得した学習済みモデルを送信する。
【0104】
ステップS1110において、情報処理装置300は、撮像装置100に対して、ステップS1108で取得した学習済みモデルに関連した情報を送信する。
【0105】
<撮像装置100の処理フロー>
図12は、本実施形態における撮像装置100の処理を示すフローチャートである。この動作は、撮像装置100の電源がオンの状態において、不揮発性メモリ103に格納されているコンピュータプログラムがメモリ102に展開され、CPU101がメモリ102のコンピュータプログラムを読み出して実行することにより実現される。
【0106】
ステップS1201において、CPU101は、通信制御部117を制御し、通信部118を介して通信することで、情報処理装置300との接続を確立する。なお、通信装置200と直接通信する場合には、通信装置200との接続も行う。CPU101は、通信部118を介して情報処理装置300からの撮像機器情報の取得要求を受信し、本処理をステップS1201からステップS1202に進める。
【0107】
ステップS1202において、CPU101は、メモリ102に格納されている撮像機器情報を、通信制御部117を制御し通信部118を介して情報処理装置300に送信する。CPU101は本処理をステップS1202からステップS1203へ進める。
【0108】
ステップS1203において、CPU101は、通信部118を介して情報処理装置300から送られてくる学習済みモデルを受信し、メモリ102に取得した学習モデルと、学習モデルに関連した情報を格納する。CPU101は、本処理をステップS1203からステップS1204に進める。
【0109】
ステップS1204において、CPU101は、学習済みモデルの関連情報を用いて表示画面を構成し、表示制御部115を制御して表示部116に学習済みモデルが切り替わったことを表示し、本フローチャートにおける処理をステップS1204で終了させる。
【0110】
なお、
図12において、CPU101は情報処理装置300から学習モデルを取得する流れで説明したが、情報処理装置300からは、通信装置200へのアクセス先を取得して、通信装置200から直接学習モデルと学習モデルに関連する情報を取得してもよい。
【0111】
<情報処理装置300の処理フロー>
図13は、本実施形態における情報処理装置300の処理を示すフローチャートである。この動作は、情報処理装置300の電源がオンの状態において、記録部306に格納されているコンピュータプログラムがメモリ302に展開され、CPU301がメモリ302のコンピュータプログラムを読み出して実行することにより実現される。
【0112】
ステップS1301において、CPU301は、撮像装置100との接続を確立したのち、撮像装置100に対して通信部307を介して撮像機器情報の取得要求を送信する。CPU301は、本処理をステップS1302に進める。
【0113】
ステップS1302において、CPU301は、撮像装置100から通信部307を介して撮像機器情報を取得する。CPU301は、本処理をステップS1303に進める。
【0114】
ステップS1303において、CPU301は、通信装置200との接続を確立したのち、通信装置200に対して学習済みモデルのリスト情報の要求を行う。なお、CPU301は、学習済みモデルのリスト情報の要求に加えて、ステップS1302で取得した撮像機器情報を通信装置200に送信するものとする。CPU301は、本処理をステップS1304に進める。
【0115】
ステップS1304において、CPU301は、通信部307を介して通信装置200から送られてくる学習済みモデルのリスト情報を受信し、メモリ302に取得したリスト情報を保持する。なお、学習済みモデルのリスト情報には、撮像装置100に関する、学習済みモデルの用途と適用可能な被写体の情報、学習済みモデルのリスト情報に存在するデータサイズの情報、処理性能の要件情報が含まれるものとする。CPU101は、本処理を終えた後ステップS1305に処理を進める。
【0116】
なお、以降説明する、ステップS1304からステップS1309の処理は、通信装置200から送られてくる段階で、撮像装置100で処理可能な学習済みモデルのリスト情報である場合は省略することが可能である。また、撮像装置100で処理可能な学習済みモデルのリスト情報であることを、学習済みモデルのリスト情報を受信する際に取得してもよい。ステップS1305からステップS1308において、学習済みモデルのリスト情報の中の学習済みモデルの1つ1つに対して処理を行うものとする。
【0117】
ステップS1305において、CPU301は、ステップS1302で撮像装置100から受信した撮像装置の情報と、ステップS1304で通信装置200から受信した学習済みモデルの用途と適用可能な被写体の情報とから、撮像装置100で処理可能な学習済みモデルであるか否かを判断する。CPU301は、処理可能な学習済みモデルであると判断した場合(ステップS1305のYES)、本処理をステップS1305からステップS1306に進める。CPU301は、処理可能な学習済みモデルで無いと判断した場合(ステップS1305のNO)、本処理をステップS1305からステップS1309に進める。
【0118】
ステップS1306において、CPU301は、ステップS1302で取得したメモリ102の空き容量と、ステップS1304で受信した学習済みモデルのデータサイズとから、メモリ102の空き容量に収まるデータサイズであるかを判断する。CPU101は、空き容量に収まるデータサイズであると判断した場合(ステップS1306のYES)、本処理をステップS1306からステップS1307へ進める。CPU301は、空き容量に収まるデータサイズでは無いと判断した場合(ステップS1306のNO)、本処理をステップS1306からステップS1309へ進める。
【0119】
ステップS1307において、CPU301は、ステップS1302で撮像装置100から受信した撮像装置の情報と、ステップS1304で通信装置200から受信した処理性能の要件情報とから、撮像装置100で決められた所定の単位時間当たりに実行可能な学習済みモデルであるか否かを判断する。処理性能の要件情報とは、第1の実施形態のステップS606で説明したものと同様である。CPU301は、所定の単位時間当たりに実行可能な学習済みモデルであると判断した場合(ステップS1307のYES)、本処理をステップS1307からステップS1308に進める。CPU301は、所定の単位時間当たりに実行可能な学習済みモデルで無いと判断した場合(ステップS1307のNO)、本処理をステップS1307からステップS1309に進める。
【0120】
ステップS1308において、CPU301は、ステップS1305からステップS1307において確認した学習済みモデルは、ユーザに提示可能な学習済みモデルであると判断し、ユーザに提示する学習済みモデルリストとして、メモリ302に記録する。CPU301は本処理をステップS1308からステップS1309へ進める。
【0121】
ステップS1309において、CPU301は、ステップS1304で受信した学習済みモデルのリスト情報に記載されている、全ての学習済みモデルに対してステップS1305からステップS1308の処理を行ったか否かを判断する。CPU301は、リスト情報に記載の全学習済みモデルに対して処理を行ったと判断した場合(ステップS1309のYES)、本処理をステップS1309からステップS1310へ進める。CPU301は、リスト情報に記載の全学習済みモデルに対して処理を行っていないと判断した場合(ステップS1309のNO)、本処理をステップS1309からステップS1305に戻す。
【0122】
ステップS1310において、CPU301は、メモリ302に記録したユーザに提示する学習済みモデルリストを、表示部304に表示する。CPU301は、本処理をステップS1310からステップS1311に進める。なお、表示部304に表示する表示方法の一例は
図15を用いて後述する。
【0123】
ステップS1311において、CPU301は、操作部305からのユーザ操作による学習済みモデルの選択を受け、本処理をステップS1311からステップS1312に進める。
【0124】
ステップS1312において、CPU301は、ステップS1311でユーザに選択された学習済みモデルについて、通信部307を介して、通信装置200に対して取得要求を送信する。CPU301は、本処理をステップS1312からステップS1313に進める。
【0125】
ステップS1313において、CPU301は、通信部307を介して学習済みモデルと学習済みモデルの関連情報を受信し、メモリ302に保存する。CPU301は、本処理をステップS1313からステップS1314に進める。
【0126】
ステップS1314において、CPU301は、通信部307を介して学習済みモデルと学習済みモデルの関連情報を撮像装置100に対して送信する。CPU301は、本処理をステップS1314で終了する。なお、CPU301は、学習済みモデルの関連情報として、
図15で後述する、優先番号1505で選択された被写体に対応した学習済みモデルの優先順位に関する情報を送信する。
【0127】
なお、
図13において、CPU301は通信装置200から学習モデルを取得して撮像装置100に対して転送する流れで説明したが、情報処理装置300からは、通信装置200へのアクセス先を撮像装置100に通知しても良い。
【0128】
<通信装置200の処理フロー>
図14は、本実施形態における通信装置200の処理を示すフローチャートである。この動作は、通信装置200の電源がオンの状態において、記録部206に格納されているコンピュータプログラムがメモリ202に展開され、CPU201がメモリ202のコンピュータプログラムを読み出して実行することにより実現される。
【0129】
ステップS1401において、CPU201は、通信部207を介して情報処理装置300からの学習済みモデルのリスト情報取得要求を受信する。なお、情報処理装置300からの学習済みモデルのリスト情報取得要求には、撮像装置100を識別するための情報(ID)や、モデル識別番号、シリアル番号などの撮像機器情報を含むものとする。CPU201は、本処理をステップS1401からステップS1402へ進める。
【0130】
ステップS1402において、CPU201は、記録部206に記録されている学習済みモデルのリスト情報を、通信部207を介して情報処理装置300に送信する。なお、CPU201はステップS1401において取得した撮像装置100の識別情報等から、撮像装置100で処理可能な学習済みモデルのみをリスト情報として送信してもよい。撮像装置100で処理可能な学習済みモデルのみをリスト情報として送信する場合は、処理可能なリスト情報のみであることを情報処理装置300に通知する。CPU201は、本処理をステップS1402からステップS1403へ進める。
【0131】
ステップS1403において、CPU201は、通信部207を介して情報処理装置300からの学習済みモデル取得要求を受信する。CPU201は、本処理をステップS1403からステップS1404に進める。
【0132】
ステップS1404において、CPU201は、ステップS1403において情報処理装置300から指定された学習済みモデルと、学習済みモデルに関連する情報を、記録部206から読み出し、通信部207を介して情報処理装置300へ送信する。CPU201は、本処理をステップS1404で終える。
【0133】
本実施形態において情報処理装置300のアプリケーションで動作する、学習済みモデルを使って処理を行う被写体の選択画面の一例を
図15に示す。画面はアプリケーションの画面とし、情報処理装置300の表示部304に表示されるものとする。
【0134】
アプリケーションタイトル1501は、アプリケーションを識別するための表示である。被写体設定状態1502は、撮像装置100がAFで選択可能な被写体の現在の設定状態を示す。なお、被写体設定状態1502における数字は、撮像装置100に設定されている被写体の優先番号を示す。変更先被写体の選択枠1503は、ユーザによって選択された変更先の被写体を示す。
【0135】
選択可能リスト1504は選択可能な被写体をリスト表示したものである。選択可能リストは、既に撮像装置100で保持されている被写体を優先して上位に表示する。優先番号1505は選択可能リスト1504の中で、撮像装置100に設定する被写体の優先番号を示したものである。変更先被写体の選択枠1503と、変更元被写体の選択枠1507を選択することで優先番号1505の表示が変更される。
【0136】
選択不可マーク1506は、対応している被写体として表示しているが、撮像装置100が設定条件等の何らかの理由で選択できない場合に表示するマークを示す。変更元被写体の選択枠1507は、ユーザによって選択された変更元の被写体を示す。実行ボタン1508は、変更元被写体選択枠1507で選択した被写体の設定を、変更先被写体選択枠1503で選択した箇所に反映するための実行ボタンである。
【0137】
機能選択ボタン1509は、AF、AE、AWB、ノイズリダクション(NR)などの機能の中から、学習済みモデルを使用する機能を切り替えるためのボタンである。機種名1510には、撮像装置100の機種名などの識別情報を表示する。アイコン1511には、撮像装置100を判別することが可能なアイコンを表示する。
【0138】
以上説明したように、本実施形態の処理を行うことにより、情報処理装置300を介して、通信装置200からの学習済みモデルを撮像装置100が取得することで、複数の学習済みモデルを変更することが可能となる。
【0139】
(第3の実施形態)
本発明における第3の実施形態を、撮像装置100、通信装置200、情報処理装置300を例に添付の図面を参照して以下に詳細に説明するが、本発明は、以下の実施形態に限定されるものではない。
【0140】
第1の実施形態および第2の実施形態においては、学習済みモデルは、一つの被写体に対して有効な構成であった。本実施形態においては、1つの学習モデルが、複数の被写体に有効な場合について説明する。
【0141】
なお、撮像装置100、通信装置200、情報処理装置300のシステム構成は、第2の実施形態で構成されるシステムと同様とし、各ブロック構成及び、処理フローについても第2の実施形態と同様とする。
【0142】
図16を用いて、本実施形態における学習モデルの提示方法の一例について説明する。
【0143】
図15で上述した情報処理装置300のアプリケーションの画面上の選択可能リスト1504に、複数被写体対応学習済みモデル1601を含めてリストとして表示する。ユーザは複数被写体対応学習済みモデル1601を含む、選択可能リスト1504の中から所望の被写体を選択して撮像装置100に被写体を登録する。なお、犬+猫の場合は、犬を優先し、猫+犬の場合は猫を優先する。同様に、大人+子供であれば大人を優先し、子供+大人であれば子供を優先し、電車+車も同様である。
【0144】
なお、情報処理装置300のアプリケーションの画面上の選択可能リスト1504を例に説明したが、撮像装置100のメニュー画面で行ってもよい。
【0145】
図17に、本実施形態における撮像装置のメニュー選択画面の一例を示す。
図17では、
図16で上述したように複数の被写体を含む学習モデルが選択された場合に、撮影時に使用する被写体を選択するメニュー画面の一例を示している。
【0146】
撮影時の被写体選択枠1701は、撮影時に使用する被写体を選択するための選択枠を示す。被写体第1優先1702は、複数の被写体の中で最優先となる被写体を提示したものである。被写体第2優先1703は、複数の被写体の中で2番目に優先となる被写体を提示したものである。AFの処理においては第1優先となる被写体を見つけられない場合には、第2優先となる被写体を検出する処理を行う。
【0147】
被写体切り替え有効ボタン1704は、複数の被写体に対応した学習モデルであっても、第1優先となる被写体のみを検出する処理を行う場合に設定する設定ボタンである。被写体切り替え有効ボタン1704が有効になっていない場合は、被写体第1優先1702の被写体のみを検出する処理を行う。
【0148】
実行ボタン1705は、ユーザにより設定された状態を確定するためのボタンである。キャンセルボタン1706は、本メニュー画面からメイン画面に戻るためのボタンである。
【0149】
なお、本実施形態においては、複数被写体対応学習済みモデルとして、1601に示すように学習済みモデル単位で、ユーザに提示する形とした。しかし、
図16の1602に示すように複数被写体対応の学習済みモデルであっても、被写体単位でユーザに提示して選択できるようにしても良い。
【0150】
また、本実施形態において、複数の被写体として2つの被写体までしか説明しなかったが、3つ以上の被写体であってもよい。
【0151】
以上説明したように、本実施形態の処理を行うことにより、複数の被写体に対応した学習済みモデルであっても、撮像装置100が学習済みモデルを取得することで、複数の学習済みモデルを変更することが可能となる。
【0152】
(変形実施形態)
以上、本発明の実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、要旨を逸脱しない範囲での様々な形態も本発明に含まれる。
【0153】
本発明が適用され得る対象は、上述の実施形態で説明した撮像装置100等に限定されるものではない。例えば、撮像装置100を複数の装置から構成されるシステムとした場合であっても上述の実施形態と同様の機能を実現することが可能である。更に、撮像装置100の処理の一部をネットワーク上の外部装置により実施して実現することが可能である。
【0154】
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
【0155】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0156】
100:撮像装置、101:CPU、102:メモリ、103:不揮発性メモリ、104:操作部、105:ニューラルネットワーク処理部、200:通信装置、201:CPU、202:メモリ、203:不揮発性メモリ、205:操作部、206:記録部、207:通信部、208:ニューラルネットワーク処理部、300:情報処理装置、301:CPU、302:メモリ、304:表示部、305:操作部、306:記録部、307:通信部