〔第1の実施形態〕
<撮像装置の構成>
図1は、第1の実施形態の撮像装置を模式的に示す図である。
図1(a)に示す撮像装置101は、電源スイッチの操作を行うことができる操作部材(以後、電源ボタンというが、タッチパネルへのタップやフリック、スワイプなどの操作でもよい)などが設けられている。撮像を行う撮影レンズ群や撮像素子を含む筐体である鏡筒102は、撮像装置101に取り付けられ、鏡筒102を固定部103に対して回転駆動できる回転機構を設けている。チルト回転ユニット104は、鏡筒102を図1(b)に示すピッチ方向に回転できるモーター駆動機構であり、パン回転ユニット105は、鏡筒102をヨー方向に回転できるモーター駆動機構である。よって、鏡筒102は、1軸以上の方向に回転可能である。なお、図1(b)は、固定部103位置での軸定義である。角速度計106と加速度計107はともに、撮像装置101の固定部103に実装されている。そして、角速度計106や加速度計107に基づいて、撮像装置101の振動を検出し、チルト回転ユニットとパン回転ユニットを検出した揺れ角度に基づいて回転駆動する。これにより、可動部である鏡筒102の振れを補正したり、傾きを補正したりする構成となっている。
図2は、本実施形態の撮像装置の構成を示すブロック図である。
図2において、第1制御回路223は、プロセッサ(例えば、CPU、GPU、マイクロプロセッサ、MPUなど)、メモリ(例えば、DRAM、SRAMなど)からなる。これらは、各種処理を実行して撮像装置101の各ブロックを制御したり、各ブロック間でのデータ転送を制御したりする。不揮発性メモリ(EEPROM)216は、電気的に消去・記録可能なメモリであり、第1制御回路223の動作用の定数、プログラム等が記憶される。
図2において、ズームユニット201は、変倍を行うズームレンズを含む。ズーム駆動制御回路202は、ズームユニット201を駆動制御する。フォーカスユニット203は、ピント調整を行うレンズを含む。フォーカス駆動制御回路204は、フォーカスユニット203を駆動制御する。
撮像部206は、撮像素子とA/D変換器を備え、撮像素子が各レンズ群を通して入射する光を受け、その光量に応じた電荷の情報をアナログ画像データとして画像処理回路207に出力する。画像処理回路207は複数のALU(Arithmetic and Logic Unit)を搭載した演算回路であり、A/D変換により出力されたデジタル画像データに対して、歪曲補正やホワイトバランス調整や色補間処理等の画像処理を適用し、適用後のデジタル画像データを出力する。画像処理回路207から出力されたデジタル画像データは、画像記録回路208でJPEG形式等の記録用フォーマットに変換し、メモリ215や後述する映像出力回路217に送信される。
鏡筒回転駆動回路205は、チルト回転ユニット104、パン回転ユニット105を駆動して鏡筒102をチルト方向とパン方向に駆動させる。
装置揺れ検出回路209は、例えば撮像装置101の3軸方向の角速度を検出する角速度計(ジャイロセンサ)106や、装置の3軸方向の加速度を検出する加速度計(加速度センサ)107が搭載される。装置揺れ検出回路209は、検出された信号に基づいて、装置の回転角度や装置のシフト量などが演算される。
音声入力回路213は、撮像装置101に設けられたマイクから撮像装置101周辺の音声信号を取得し、アナログデジタル変換をして音声処理回路214に送信する。音声処理回路214は、入力されたデジタル音声信号の適正化処理等の音声に関する処理を行う。そして、音声処理回路214で処理された音声信号は、第1制御回路223によりメモリ215に送信される。メモリ215は、画像処理回路207、音声処理回路214により得られた画像信号及び音声信号を一時的に記憶する。
画像処理回路207及び音声処理回路214は、メモリ215に一時的に記憶された画像信号や音声信号を読み出して画像信号の符号化、音声信号の符号化などを行い、圧縮画像信号、圧縮音声信号を生成する。第1制御回路223は、これらの圧縮画像信号、圧縮音声信号を、記録再生回路220に送信する。
記録再生回路220は、記録媒体221に対して画像処理回路207及び音声処理回路214で生成された圧縮画像信号、圧縮音声信号、その他撮影に関する制御データ等を記録する。また、音声信号を圧縮符号化しない場合には、第1制御回路223は、音声処理回路214により生成された音声信号と画像処理回路207により生成された圧縮画像信号とを、記録再生回路220に送信し記録媒体221に記録させる。
記録媒体221は、撮像装置101に内蔵された記録媒体でも、取外し可能な記録媒体でもよい。記録媒体221は、撮像装置101で生成した圧縮画像信号、圧縮音声信号、音声信号などの各種データを記録することができ、不揮発性メモリ216よりも大容量な媒体が一般的に使用される。例えば、記録媒体221は、ハードディスク、光ディスク、光磁気ディスク、CD−R、DVD−R、磁気テープ、不揮発性の半導体メモリ、フラッシュメモリ、などのあらゆる方式の記録媒体を含む。
記録再生回路220は、記録媒体221に記録された圧縮画像信号、圧縮音声信号、音声信号、各種データ、プログラムを読み出す(再生する)。そして読み出した圧縮画像信号、圧縮音声信号を、第1制御回路223は画像処理回路207及び音声処理回路214に送信する。画像処理回路207及び音声処理回路214は、圧縮画像信号、圧縮音声信号を一時的にメモリ215に記憶させ、所定の手順で復号し、復号した信号を映像出力回路217、音声出力回路218に送信する。
音声入力回路213は複数のマイクが撮像装置101に搭載されており、音声処理回路214は複数のマイクが設置された平面上の音の方向を検出することができ、後述する探索や自動撮影に用いられる。さらに、音声処理回路214では、特定の音声コマンドを検出する。音声コマンドは事前に登録されたいくつかのコマンドの他、ユーザが特定音声を撮像装置に登録できる構成にしてもよい。また、音シーン認識も行う。音シーン認識では、予め大量の音声データを基に機械学習により学習させたネットワークにより音シーン判定を行う。例えば、「歓声が上がっている」、「拍手している」、「声を発している」などの特定シーンを検出するためのネットワークが音声処理回路214に設定されている。そして、特定音シーンや特定音声コマンドを検出すると、第1制御回路223や第2制御回路211に、検出トリガー信号を出力する構成になっている。
撮像装置101のメインシステム全体を制御する第1制御回路223とは別に設けられた、第2制御回路211が第1制御回路223の供給電力を制御する。
第1電源回路210と第2電源回路212は、第1制御回路223と第2制御回路211を動作させるための、電力をそれぞれ供給する。撮像装置101に設けられた電源ボタンの押下により、まず第1制御回路223と第2制御回路211の両方に電力が供給されるが、後述するように、第1制御回路223は、第1電源回路210へ自らの電力供給をOFFするように制御する。第1制御回路223が動作していない間も、第2制御回路211は動作しており、装置揺れ検出回路209や音声処理回路214からの情報が入力される。第2制御回路は各種入力情報を基にして、第1制御回路223を起動するか否かの判定処理を行い、起動判定されると第1電源回路に電力供給指示をする構成になっている。
音声出力回路218は、例えば撮影時などに撮像装置101に内蔵されたスピーカーから予め設定された音声パターンを出力する。
LED制御回路224は、例えば撮影時などに撮像装置101に設けられたLEDを予め設定された点灯点滅パターンで制御する。
映像出力回路217は、例えば映像出力端子からなり、接続された外部ディスプレイ等に映像を表示させるために画像信号を送信する。また、音声出力回路218、映像出力回路217は、結合された1つの端子、例えばHDMI(登録商標)(High−Definition Multimedia Interface)端子のような端子であってもよい。
通信回路222は、撮像装置101と外部装置との間で通信を行うもので、例えば、音声信号、画像信号、圧縮音声信号、圧縮画像信号などのデータを送信したり受信したりする。また、撮影開始や終了コマンド、パン・チルトやズーム駆動等の、撮影にかかわる制御信号を受信して、撮像装置101と相互通信可能な外部機器の指示から撮像装置101を駆動する。また、撮像装置101と外部装置との間で、後述する学習処理回路219で処理される学習にかかわる各種パラメータなどの情報を送信したり受信したりする。通信回路222は、例えば、赤外線通信モジュール、Bluetooth(登録商標)通信モジュール、無線LAN通信モジュール、WirelessUSB、GPS受信機等の無線通信モジュールである。
<外部通信機器との構成>
図3は、撮像装置101と外部装置301との無線通信システムの構成例を示す図である。撮像装置101は撮影機能を有するデジタルカメラであり、外部装置301はBluetooth通信モジュール、無線LAN通信モジュールを含むスマートデバイスである。
撮像装置101とスマートデバイス301は、例えばIEEE802.11規格シリーズに準拠した無線LANによる通信302と、例えばBluetooth Low Energy(以下、「BLE」と呼ぶ。)などの、制御局と従属局などの主従関係を有する通信303とによって通信可能である。なお、無線LAN及びBLEは通信手法の一例であり、各通信装置は、2つ以上の通信機能を有し、例えば制御局と従属局との関係の中で通信を行う一方の通信機能によって、他方の通信機能の制御を行うことが可能であれば、他の通信手法が用いられてもよい。ただし、一般性を失うことなく、無線LANなどの第1の通信は、BLEなどの第2の通信より高速な通信が可能であり、また、第2の通信は、第1の通信よりも消費電力が少ないか通信可能距離が短いかの少なくともいずれかであるものとする。
スマートデバイス301の構成を、図4を用いて説明する。
スマートデバイス301は、例えば、無線LAN用の無線LAN制御回路401、及び、BLE用のBLE制御回路402に加え、公衆無線通信用の公衆回線制御回路406を有する。また、スマートデバイス301は、パケット送受信回路403をさらに有する。無線LAN制御回路401は、無線LANのRF制御、通信処理、IEEE802.11規格シリーズに準拠した無線LANによる通信の各種制御を行うドライバや無線LANによる通信に関するプロトコル処理を行う。BLE制御回路402は、BLEのRF制御、通信処理、BLEによる通信の各種制御を行うドライバやBLEによる通信に関するプロトコル処理を行う。公衆回線制御回路406は、公衆無線通信のRF制御、通信処理、公衆無線通信の各種制御を行うドライバや公衆無線通信関連のプロトコル処理を行う。公衆無線通信は例えばIMT(International Multimedia Telecommunications)規格やLTE(Long Term Evolution)規格などに準拠したものである。パケット送受信回路403は、無線LAN並びにBLEによる通信及び公衆無線通信に関するパケットの送信と受信との少なくともいずれかを実行するための処理を行う。なお、本例では、スマートデバイス301は、通信においてパケットの送信と受信との少なくともいずれかを行うものとして説明するが、パケット交換以外に、例えば回線交換など、他の通信形式が用いられてもよい。
スマートデバイス301は、例えば、制御回路411、記憶回路404、GPS受信部405、表示装置407、操作部材408、音声入力音声処理回路409、電源回路410をさらに有する。制御回路411は、例えば、記憶回路404に記憶される制御プログラムを実行することにより、スマートデバイス301全体を制御する。記憶回路404は、例えば制御回路411が実行する制御プログラムと、通信に必要なパラメータ等の各種情報とを記憶する。後述する各種動作は、記憶回路404に記憶された制御プログラムを制御回路411が実行することにより、実現される。
電源回路410はスマートデバイス301に電力を供給する。表示装置407は、例えば、LCDやLEDのように視覚で認知可能な情報の出力、又はスピーカー等の音出力が可能な機能を有し、各種情報の表示を行う。操作部材408は、例えばユーザによるスマートデバイス301の操作を受け付けるボタン等である。なお、表示装置407及び操作部材408は、例えばタッチパネルなどの共通する部材によって構成されてもよい。
音声入力音声処理回路409は、例えばスマートデバイス301に内蔵された汎用的なマイクから、ユーザが発した音声を取得し、音声認識処理により、ユーザの操作命令を取得する構成にしてもよい。
また、スマートデバイス内の専用のアプリケーションを介して、ユーザの発音により音声コマンドを取得する。そして、無線LANによる通信302を介して、撮像装置101の音声処理回路214に特定音声コマンド認識させるための特定音声コマンドとして登録することもできる。
GPS(Global positioning system)405は、衛星から通知されるGPS信号を受信し、GPS信号を解析し、スマートデバイス301の現在位置(経度・緯度情報)を推定する。もしくは、位置推定は、WPS(Wi−Fi Positioning System)等を利用して、周囲に存在する無線ネットワークの情報に基づいて、スマートデバイス301の現在位置を推定するようにしてもよい。取得した現在のGPS位置情報が予め事前に設定されている位置範囲(所定半径の範囲以内)に位置している場合に、BLE制御回路402を介して撮像装置101へ移動情報を通知し、後述する自動撮影や自動編集のためのパラメータとして使用する。また、GPS位置情報に所定以上の位置変化があった場合に、BLE制御回路402を介して撮像装置101へ移動情報を通知し、後述する自動撮影や自動編集のためのパラメータとして使用する。
上記のように撮像装置101とスマートデバイス301は、無線LAN制御回路401、及び、BLE制御回路402を用いた通信により、撮像装置101とデータのやりとりを行う。例えば、音声信号、画像信号、圧縮音声信号、圧縮画像信号などのデータを送信したり受信したりする。また、スマートデバイスから撮像装置101の撮影などの操作指示であったり、音声コマンド登録データ送信や、GPS位置情報に基づいた所定位置検出通知や場所移動通知を行う。また、スマートデバイス内の専用のアプリケーションを介しての学習用データの送受信も行う。
<アクセサリ類の構成>
図5は、撮像装置101と通信可能である外部装置501との構成例を示す図である。撮像装置101は撮影機能を有するデジタルカメラであり、外部装置501は、例えばBluetooth通信モジュールなどにより撮像装置101と通信可能である各種センシング部を含むウエアラブルデバイスである。
ウエアラブルデバイス501において、例えばユーザの腕などに装着できるような構成なっており、所定の周期でユーザの脈拍、心拍、血流等の生体情報を検出するセンサやユーザの運動状態を検出できる加速度センサ等が搭載されている。
生体情報検出回路502は、例えば、脈拍を検出する脈拍センサ、心拍を検出する心拍センサ、血流を検出する血流センサ、導電性高分子による皮膚の接触によって電位の変化を検出したことを検知するセンサを含む。本実施形態では、生体情報検出回路502として心拍センサを用いて説明する。心拍センサは、例えばLED等を用いて皮膚に赤外光を照射し、体組織を透過した赤外光を受光センサで検出して信号処理することによりユーザの心拍を検出する。生体情報検出回路502は、検出した生体情報を信号として、後述する制御回路607へ出力する。
ユーザの運動状態を検出する揺れ検出回路503は、例えば、加速度センサやジャイロセンサを搭載しており、加速度の情報に基づきユーザが移動しているかどうかや、腕を振り回してアクションをしているかどうかなどのモーションを検出することができる。
また、ユーザによるウエアラブルデバイス501の操作を受け付ける操作部材505や、LCDやLEDのように視覚で認知可能な情報を出力する表示装置504が搭載される。
ウエアラブルデバイス501の構成を、図6を用いて説明する。
ウエアラブルデバイス501は、例えば、制御回路607、通信回路601、生体情報検出回路502、揺れ検出回路503、表示装置504、操作部材505、電源回路606、記憶回路608を有する。
制御回路607は、例えば、記憶回路608に記憶される制御プログラムを実行することにより、ウエアラブルデバイス501全体を制御する。記憶回路608は、例えば制御回路607が実行する制御プログラムと、通信に必要なパラメータ等の各種情報とを記憶する。後述する各種動作は、例えば記憶回路608に記憶された制御プログラムを制御回路607が実行することにより、実現される。
電源回路606はウエアラブルデバイス501に電力を供給する。表示装置504は、例えば、LCDやLEDのように視覚で認知可能な情報の出力、又はスピーカー等の音出力が可能な機能を有し、各種情報の表示を行う。操作部材505は、例えばユーザによるウエアラブルデバイス501の操作を受け付けるボタン等である。なお、表示装置504及び操作部材505は、例えばタッチパネルなどの共通する部材によって構成されてもよい。
また、操作部材は、例えばウエアラブルデバイス501に内蔵された汎用的なマイクから、ユーザが発した音声を取得し、音声処理によりユーザが発した音声を取得し、音声認識処理により、ユーザの操作命令を取得する構成にしてもよい。
生体情報検出回路502や揺れ検出回路503から制御回路607で処理された各種検出情報は、通信回路601により、撮像装置101へ送信される。
例えば、ユーザの心拍の変化を検出したタイミングで検出情報を撮像装置101に送信したり、歩行移動/走行移動/立ち止まりなどの移動状態の変化のタイミングで検出情報を送信したりする。また、例えば、予め設定された腕ふりのモーションを検出したタイミングで検出情報を送信したり、予め設定された距離の移動を検出したタイミングで検出情報を送信したりする。
<撮像動作のシーケンス>
図7は、本実施形態における撮像装置101の第1制御回路223が受け持つ動作の例を説明するフローチャートである。
ユーザが撮像装置101に設けられた電源ボタンを操作すると、第1電源回路210により電力供給部から、第1制御回路223及び撮像装置101の各ブロックに電力を供給させる。
また、同様に第2制御回路211においても第2電源回路212により電力供給部から、第2制御回路に電力を供給させるが、第2制御回路の動作の詳細については後述する図8のフローチャートを用いて説明する。
電力が供給されると、図7の処理がスタートする。ステップS701(以下では、「ステップ」を単に「S」と省略する)では、起動条件の読み込みが行われる。本実施形態においては、起動条件は以下である。
(1)電源ボタンが手動で押下されて電源起動
(2)外部機器(例えば301)からの外部通信(例えばBLE通信)による指示で電源起動
(3)Subプロセッサ(第2制御回路211)から、電源起動
ここで、(3)のSubプロセッサから電源起動の場合は、Subプロセッサ内で演算された起動条件が読み込まれることになるが、詳細は後述する図8で説明する。
また、ここで読み込まれた起動条件は、被写体探索や自動撮影時の1つのパラメータ要素として用いられるが、後述して説明する。起動条件読み込みが終了するとS702に進む。
S702では、各種センサの読み込みが行われる。ここで読み込まれるセンサは、装置揺れ検出回路209からのジャイロセンサや加速度センサなどの振動検出するセンサであったりする。また、チルト回転ユニット104やパン回転ユニット105の回転位置であったりする。また、音声処理回路214にて検出される音声レベルや特定音声認識の検出トリガーや音方向検出だったりする。
また、図1乃至図6には図示していないが、環境情報を検出するセンサでも情報を取得する。
例えば、所定の周期で撮像装置101の周辺の温度を検出する温度センサや、撮像装置101の周辺の気圧の変化を検出する気圧センサがある。また、撮像装置101の周辺の明るさを検出する照度センサや、撮像装置101の周辺の湿度を検出する湿度センサや、撮像装置101の周辺の紫外線量を検出するUVセンサ等を備えてもよい。検出した温度情報や気圧情報や明るさ情報や湿度情報やUV情報に加え、検出した各種情報から所定時間間隔での変化率を算出した温度変化量や気圧変化量や明るさ変化量や湿度変化量や紫外線変化量などを後述する自動撮影などの判定に使用する。
S702で各種センサ読み込みが行われるとS703に進む。
S703では、外部機器からの通信が指示されているかを検出し、通信指示があった場合、外部機器との通信を行う。
例えば、スマートデバイス301から、無線LANやBLEを介した、リモート操作であったり、音声信号、画像信号、圧縮音声信号、圧縮画像信号などのデータを送信したり受信したりする。また、スマートデバイス301からの撮像装置101の撮影などの操作指示や、音声コマンド登録データ送信や、GPS位置情報に基づいた所定位置検出通知や場所移動通知や学習用データの送受信の指示があるかどうかの読み込みを行う。
また、例えば、ウエアラブルデバイス501から、ユーザの運動情報、腕のアクション情報、心拍などの生体情報の更新がある場合、BLEを介した情報の読み込みを行う。また、上述した環境情報を検出する各種センサは、撮像装置101に搭載してもよいが、スマートデバイス301或いはウエアラブルデバイス501に搭載していてもよく、その場合、BLEを介した環境情報の読み込みも行う。S703で外部機器からの通信読み込みが行われると、S704に進む。
S704では、モード設定判定が行われる。S704で設定されるモードは、以下の内から判定され選ばれる。
(1)自動撮影モード
[モード判定条件]
後述する学習により設定された各検出情報(画像、音、時間、振動、場所、身体の変化、環境変化)や、自動撮影モードに移行してからの経過時間や、過去の撮影情報などから、自動撮影を行うべきと判定されると、自動撮影モードに設定される。
[モード内処理]
自動撮影モード処理(S710)では、各検出情報(画像、音、時間、振動、場所、体の変化、環境変化)に基づいて、パン・チルトやズームを駆動して被写体を自動探索する。そして、ユーザの好みの撮影が行えるタイミングであると判定されると、自動で撮影が行われる。
(2)学習モード
[モード判定条件]
前回学習処理を行ってからの経過時間と、学習に使用することのできる画像に対応付けられた情報や学習データの数などから、自動学習を行うべきと判定されると、自動学習モードに設定される。または、スマートデバイス301からの通信を介して学習データが設定されるように指示があった場合も本モードに設定される。
[モード内処理]
自動学習モード処理(S712)では、ユーザの好みに合わせた学習を行う。スマートデバイス301での各操作、スマートデバイス301からの学習情報通知などの情報を基にニューラルネットワークを用いて、ユーザの好みに合わせた学習が行われる。スマートデバイス301での各操作の情報としては、例えば、撮像装置からの画像取得情報、専用アプリケーションを介して手動による編集指示がされた情報、撮像装置内の画像に対してユーザが入力した判定値情報(評価結果)がある。
なお、自動撮影モード処理、学習モード処理についての詳細は、後述する。
S705ではS704でモード設定判定が低消費電力モードに設定されているかどうかを判定する。低消費電力モード判定は、後述する「自動撮影モード」と「学習モード」の何れのモードの判定条件でもない場合は、低消費電力モードになるように判定される。判定処理が行われるとS705に進む。
S705では、低消費電力モード条件であると判定されれば、S706に進む。
S706では、Subプロセッサ(第2制御回路211)へ、Subプロセッサ内で判定する起動要因に係る各種パラメータを(揺れ検出判定用パラメータ、音検出用パラメータ、時間経過検出パラメータ)を通知する。各種パラメータは後述する学習処理にて、学習されることによって値が変化する。S706の処理を終了すると、S707に進み、Mainプロセッサ(第1制御回路223)の電源をOFFして、処理を終了する。
一方、S705で低消費電力モードでないと判定されると、S709に進み、モード設定が自動撮影モードであるか否かを判定し、自動撮影モードであればS710に進み、自動撮影モード処理が行われる。処理が終了すると、S702に戻り、処理を繰り返す。S709で、自動撮影モードでないと判定されると、S711に進む。
S711では、モード設定が学習モードであるか否かを判定し、学習モードであればS712に進み、学習モード処理が行われる。処理が終了すると、S702に戻り、処理を繰り返す。S711で、学習モードでないと判定されると、S702に戻り、処理を繰り返す。
図8は、本実施形態における撮像装置101の第2制御回路211が受け持つ動作の例を説明するフローチャートである。
ユーザが撮像装置101に設けられた電源ボタンを操作すると、第1電源回路210により電力供給部から第1制御回路223へ電力が供給されるのと同様に第2制御回路211においても第2電源回路212により電力供給部から第2制御回路211に電力が供給される。電力が供給されると、Subプロセッサ(第2制御回路211)が起動され、図8の処理がスタートする。
S801では、サンプリングの周期となる所定期間が経過したか否かを判定する。例えば10msecに設定された場合、10msec周期で、S802に進む。所定期間が経過していないと判定されると、Subプロセッサは何も処理をせずにS801に戻って所定期間が経過するのをまつ。
S802では、揺れ検出値が取得される。揺れ検出値は、装置揺れ検出回路209からのジャイロセンサや加速度センサなどの振動検出するセンサからの出力値である。
S802で揺れ検出値が取得されると、S803に進み、予め設定された揺れ状態検出の処理を行う。いくつかの例を説明する。
(1)タップ検出
ユーザが撮像装置101を例えば指先などで叩いた状態(タップ状態)を、撮像装置101に取り付けられた加速度センサの出力値より検出することが可能である。3軸の加速度センサの出力を所定サンプリング周期で特定の周波数領域に設定したバンドパスフィルタ(BPF)に通すことで、タップによる加速度変化の信号領域を抽出することができる。BPF後の加速度信号を所定時間TimeA間に、所定閾値ThreshAを超えた回数が、所定回数CountAであるか否かにより、タップ検出を行う。ダブルタップの場合は、CountAは2に設定され、トリプルタップの場合は、CountAは3に設定される。
(2)揺れ状態の検出
撮像装置101の揺れ状態を、撮像装置101に取り付けられたジャイロセンサや加速度センサの出力値より検出することが可能である。ジャイロセンサや加速度センサの出力をHPFで高周波成分をカットし、LPFで低周波成分をカットした後、絶対値変換を行う。算出した絶対値が所定時間TimeB間に、所定閾値ThreshBを超えた回数が、所定回数CountB以上であるか否かにより、振動検出を行う。例えば撮像装置101を机などに置いたような揺れが小さい状態か、ウエアラブルで撮像装置101を装着し歩いているような揺れが大きい状態かを判定することが可能である。また、判定閾値や判定のカウント数の条件を複数もつことで、揺れレベルに応じた細かい揺れ状態を検出することも可能である。
S803で特定揺れ状態検出処理が行われると、S804に進み、予め設定された特定音検出処理を行う。いくつかの例を説明する。
(1)特定音声コマンド検出
特定の音声コマンドを検出する。音声コマンドは事前に登録されたいくつかのコマンドの他、ユーザが特定音声を撮像装置に登録できる。
(2)特定音シーン認識
予め大量の音声データを基に機械学習により学習させたネットワークにより音シーン判定を行う。例えば、「歓声が上がっている」、「拍手している」、「声を発している」などの特定シーンを検出する。
(3)音レベル判定
所定時間の間で、音レベルの大きさがレベル所定値を超えている時間を加算するなどの方法によって、音レベル判定による検出を行う。
(4)音方向判定
複数のマイクが設置された平面上の音の方向を検出することができ、所定の大きさの音レベルに対して、音の方向を検出する。
音声処理回路214内で上記の判定処理が行われており、事前に学習された各設定により、特定音検出がされたかをS804で判定する。
S804で特定音検出処理が行われると、S805に進む。S805では、Mainプロセッサ(第1制御回路223)はOFF状態であるか否かを判定し、MainプロセッサがOFF状態であれば、S806に進み、予め設定された時間経過検出処理を行う。MainプロセッサがONからOFFへ遷移したときからの経過時間が計測されており、経過時間がパラメータTimeC以上であれば、時間経過と判定され、TimeCより小さければ、時間経過とは判定されない。
S806で時間経過検出処理が行われると、S807に進み、低消費電力モード解除判定がされたかを判定する。低消費電力モード解除条件は以下によって判定される。
(1)特定揺れ検出の判定条件
(2)特定音検出の判定条件
(3)時間経過判定の判定条件
それぞれ、S803での特定揺れ状態検出処理により、特定揺れ検出の判定条件に入ったか否かを判定できる。また、S804での特定音検出処理により、特定音検出の判定条件に入ったか否かを判定できる。また、S806での時間経過検出処理により、時間経過検出の判定条件に入ったか否かを判定できる。したがって、何れか一つ以上の条件に入っていれば、低消費電力モード解除を行うような判定が行われる。
S807で解除条件判定されると、S808に進みMainプロセッサの電源をONし、S809で、低消費電力モード解除と判定された条件(揺れ、音、時間)をMainプロセッサに通知し、S801に戻り処理をループする。
S807で何れの解除条件にも当てはまらず、低消費電力モード解除判定でないと判定されると、S801に戻り処理をループする。
S805で、MainプロセッサがON状態であると判定されている場合、S802乃至805までで取得した情報をMainプロセッサに通知し、S801に戻り処理をループする。
本実施形態においては、MainプロセッサがON状態においても揺れ検出や特定音検出をSubプロセッサで行い、検出結果をMainプロセッサに通知する構成にしている。しかしながら、MainプロセッサがONの場合は、S802乃至805の処理を行わず、Mainプロセッサ内の処理(図7のS702)で揺れ検出や特定音検出を検出する構成にしてもよい。
上記、揺れ検出や音検出や時間経過による低消費電力モード解除方法について詳しく説明したが、環境情報により低消費電力モード解除を行ってもよい。環境情報は温度や気圧や明るさや湿度や紫外線量の絶対量や変化量が所定閾値を超えたか否かで判定することができる。
<自動撮影モード処理>
図9を用いて、自動撮影モード処理の詳細を説明する。前述したように、以下の処理は、本実施形態における撮像装置101の第1制御回路223が制御を受け持つ。
S901では、画像処理回路207に撮像部206で取り込まれた信号を画像処理させ、被写体認識用の画像を生成させる。
生成された画像からは、人物や物体認識などの被写体認識が行われる。
人物を認識する場合、被写体の顔や人体を検出する。顔検出処理では、人物の顔を判断するためのパターンが予め定められており、撮像された画像内に含まれる該パターンに一致する箇所を人物の顔画像として検出することができる。
また、被写体の顔としての確からしさを示す信頼度も同時に算出し、信頼度は、例えば画像内における顔領域の大きさや、顔パターンとの一致度等から算出される。
物体認識についても同様に、予め登録されたパターンに一致する物体を認識することができる。
また、撮像された画像内の色相や彩度等のヒストグラムを使用する方法で特徴被写体を抽出する方法などもある。この場合、撮影画角内に捉えられている被写体の画像に関し、その色相や彩度等のヒストグラムから導出される分布を複数の区間に分け、区間ごとに撮像された画像を分類する処理が実行される。
例えば、撮像された画像について複数の色成分のヒストグラムが作成され、その山型の分布範囲で区分けし、同一の区間の組み合わせに属する領域にて撮像された画像が分類され、被写体の画像領域が認識される。
認識された被写体の画像領域ごとに評価値を算出することで、当該評価値が最も高い被写体の画像領域を主被写体領域として判定することができる。
以上の方法で、撮像情報から各被写体情報を得ることができる。
S902では、像揺れ補正量の算出を行う。具体的には、まず、装置揺れ検出回路209において取得した角速度および加速度情報に基づいて撮像装置の絶対角度の算出を行う。そして、絶対角度を打ち消す角度方向にチルト回転ユニット104およびパン回転ユニット105を動かす防振角度を求め、像揺れ補正量とする。なお、ここでの像揺れ補正量算出処理は、後述する学習処理によって、演算方法を変更することができる。
S903では、撮像装置の状態判定を行う。角速度情報や加速度情報やGPS位置情報などで検出した角度や移動量などにより、現在、撮像装置がどのような振動/動き状態なのかを判定する。
例えば、車に撮像装置101を装着して撮影する場合、移動された距離によって大きく周りの風景などの被写体情報が変化する。
そのため、車などに装着して速い速度で移動している「乗り物移動状態」か否かを判定し、後に説明する自動被写体探索に使用することができる。
また、角度の変化が大きいか否かを判定し、撮像装置101が揺れ角度がほとんどない「置き撮り状態」であるのかを判定する。
「置き撮り状態」である場合は、撮像装置101自体の角度変化はないと考えてよいので、置き撮り用の被写体探索を行うことができる。
また、比較的、角度変化が大きい場合は、「手持ち状態」と判定され、手持ち用の被写体探索を行うことができる。
S904では、被写体探索処理を行う。被写体探索は、以下の処理によって構成される。
(1)エリア分割
図11を用いて、エリア分割を説明する。図11(a)のように撮像装置(原点Oが撮像装置位置とする。)位置を中心として、全周囲でエリア分割を行う。図11(a)の例においては、チルト方向、パン方向それぞれ22.5度で分割している。図11(a)のように分割すると、チルト方向の角度が0度から離れるにつれて、水平方向の円周が小さくなり、エリア領域が小さくなる。よって、図11(b)のように、チルト角度が45度以上の場合、水平方向のエリア範囲は22.5度よりも大きく設定している。図11(c)、(d)に撮影画角内でのエリア分割された例を示す。軸1101は初期化時の撮像装置101の方向であり、この方向角度を基準位置としてエリア分割が行われる。1102は、撮像されている画像の画角エリアを示しており、そのときの画像例を図11(d)に示す。画角に写し出されている画像内ではエリア分割に基づいて、図11(d)の1103〜1118のように画像分割される。
(2)エリア毎の重要度レベルの算出
前記のように分割した各エリアについて、エリア内に存在する被写体やエリアのシーン状況に応じて、探索を行う優先順位を示す重要度レベルを算出する。被写体の状況に基づいた重要度レベルは、例えば、エリア内に存在する人物の数、人物の顔の大きさ、顔向き、顔検出の確からしさ、人物の表情、人物の個人認証結果に基づいて算出する。また、シーンの状況に応じた重要度レベルは、例えば、一般物体認識結果、シーン判別結果(青空、逆光、夕景など)、エリアの方向からする音のレベルや音声認識結果、エリア内の動き検知情報等である。また、撮像装置の状態判定(S903)で、撮像装置の振動状態が検出されており、振動状態に応じても重要度レベルが変化するようにもすることができる。例えば、「置き撮り状態」と判定された場合、顔認証で登録されている中で優先度の高い被写体(例えば撮像装置のユーザである)を中心に被写体探索が行われるように、特定人物の顔認証を検出すると重要度レベルが高くなるように判定される。また、後述する自動撮影も上記顔を優先して行われることになり、撮像装置のユーザが撮像装置を身に着けて持ち歩き撮影を行っている時間が多くても、撮像装置を取り外して机の上などに置くことで、ユーザが写った画像も多く残すことができる。このときパン・チルトにより探索可能であることから、撮像装置の置き角度などを考えなくても、適当に設置するだけでユーザが写った画像やたくさんの顔が写った集合写真などを残すことができる。なお、上記条件だけでは、各エリアに変化がない限りは、最も重要度レベルが高いエリアが同じとなり、その結果探索されるエリアがずっと変わらないことになってしまう。そこで、過去の撮影情報に応じて重要度レベルを変化させる。具体的には、所定時間継続して探索エリアに指定され続けたエリアは重要度レベルを下げたり、後述するS910にて撮影を行ったエリアでは、所定時間の間重要度レベルを下げたりしてもよい。
(3)探索対象エリアの決定
前記のように各エリアの重要度レベルが算出されたら、重要度レベルが高いエリアを探索対象エリアとして決定する。そして、探索対象エリアを画角に捉えるために必要なパン・チルト探索目標角度を算出する。
S905では、パン・チルト駆動を行う。具体的には、像振れ補正量とパン・チルト探索目標角度に基づいた制御サンプリングでの駆動角度を加算することで、パン・チルト駆動量を算出し、鏡筒回転駆動回路205によって、チルト回転ユニット104、パン回転ユニット105をそれぞれ駆動制御する。
S906ではズームユニット201を制御しズーム駆動を行う。具体的には、S904で決定した探索対象被写体の状態に応じてズームを駆動させる。例えば、探索対象被写体が人物の顔であるとき、画像上の顔が小さすぎると検出可能な最小サイズを下回ることで検出ができず、見失ってしまう恐れがある。そのような場合は、望遠側にズームすることで画像上の顔のサイズが大きくなるように制御する。一方で、画像上の顔が大きすぎる場合、被写体や撮像装置自体の動きによって被写体が画角から外れやすくなってしまう。そのような場合は、広角側にズームすることで、画面上の顔のサイズが小さくなるように制御する。このようにズーム制御を行うことで、被写体を追跡するのに適した状態を保つことができる。
S904乃至S906では、パン・チルトやズーム駆動により被写体探索を行う方法を説明したが、広角なレンズを複数使用して全方位を一度に撮影する撮像システムで被写体探索を行ってもよい。全方位カメラの場合、撮像によって得られる信号すべてを入力画像として、被写体検出などの画像処理を行うと膨大な処理が必要となる。そこで、画像の一部を切り出して、切り出した画像範囲の中で被写体の探索処理を行う構成にする。上述した方法と同様にエリア毎の重要度レベルを算出し、重要度レベルに基づいて切り出し位置を変更し、後述する自動撮影の判定を行う。これにより画像処理による消費電力の低減や高速な被写体探索が可能となる。
S907では、ユーザ(手動)による撮影指示があったがどうかを判定し、撮影指示があった場合、S910に進む。この時、ユーザ(手動)による撮影指示は、シャッターボタン押下によるものや、撮像装置の筺体を指等で軽く叩く(タップ)、音声コマンド入力、外部機器からの指示などによってもよい。タップ操作による撮影指示は、ユーザが撮像装置の筺体をタップした際、装置揺れ検出回路209によって短期間に連続した高周波の加速度を検知し、撮影のトリガーとする撮影指示方法である。音声コマンド入力は、ユーザが所定の撮影を指示する合言葉(例えば「写真とって」等)を発声した場合、音声処理回路214で音声を認識し、撮影のトリガーとする撮影指示方法である。外部機器からの指示は、例えば撮像装置とBlueTooth接続したスマートフォン等から、専用のアプリケーションを介して送信されたシャッター指示信号をトリガーとする撮影指示方法である。
S907で撮影指示がなかった場合、S908に進み、自動撮影を行うかどうかの判定を行う。
(1)自動撮影を行うかどうかの判定
自動撮影を行うかどうかの判定は、機械学習の1つであるニューラルネットワークに基づく判定である。ニューラルネットワークの一例として、多層パーセプトロンによるネットワークの例を図10に示す。ニューラルネットワークは、入力値から出力値を予測することに使用されるものであり、予め入力値と、その入力に対して模範となる出力値とを学習しておくことで、新たな入力値に対して、学習した模範に倣った出力値を推定することができる。なお、学習の方法は後述する。図10の1001およびその縦に並ぶ丸は入力層のニューロンであり、1003およびその縦に並ぶ丸は中間層のニューロンであり、1004は出力層のニューロンである。1002のような矢印は各ニューロンを繋ぐ結合を示している。ニューラルネットワークに基づく判定では、入力層のニューロンに対して、現在の画角中に写る被写体や、シーンや撮像装置の状態に基づいた特徴量を入力として与え、多層パーセプトロンの順伝播則に基づく演算を経て出力層から出力された値を得る。そして、出力の値が閾値以上であれば、自動撮影を実施する判定を下す。なお、被写体の特徴は、現在のズーム倍率、現在の画角における一般物体認識結果、顔検出結果、現在画角に写る顔の数、顔の笑顔度・目瞑り度、顔角度、顔認証ID番号、被写体人物の視線角度、シーン判別結果、特定の構図の検出結果等を使用する。また、前回撮影時からの経過時間、現在時刻、GPS位置情報および前回撮影位置からの変化量、現在の音声レベル、声を発している人物、拍手、歓声が上がっているか否か等を使用してもよい。また、振動情報(加速度情報、撮像装置の状態)、環境情報(温度、気圧、照度、湿度、紫外線量)等を使用してもよい。更に、ウエアラブルデバイス501からの情報通知がある場合、通知情報(ユーザの運動情報、腕のアクション情報、心拍などの生体情報など)も特徴として使用してもよい。この特徴を所定の範囲の数値に変換し、特徴量として入力層の各ニューロンに与える。そのため、入力層の各ニューロンは上記使用する特徴量の数だけ必要となる。さらに、本実施形態では、ニューラルネットワークで学習した学習モデルを複数用意しており、状況に応じて使い分ける構成となっている。この複数の学習モデルの使い分けについては後述する。
なお、このニューラルネットワークに基づく判断は、後述する学習処理によって、各ニューロン間の結合重みを変化させることによって、出力値が変化し、判断の結果を学習結果に適応させることができる。
また、図7のS702で読み込んだMainプロセッサの起動条件によって、自動撮影される判定も変化する。例えば、タップ検出による起動や特定音声コマンドによる起動の場合は、ユーザが現在撮影してほしいための操作である可能性が非常に高い。そこで、撮影頻度が多くなるように設定されるようになる。
S909では、S908の自動撮影判定により撮影する判定が下された場合、S910に進み、下されなかった場合、撮影モード処理終了へと進む。
S910では、撮影を開始する。その際、フォーカス駆動制御回路204によるオートフォーカス制御を行う。また、不図示の絞り制御回路およびセンサゲイン制御回路、シャッター制御回路を用いて、被写体が適切な明るさになるような露出制御を行う。さらに、撮影後には画像処理回路207において、オートホワイトバランス処理、ノイズリダクション処理、ガンマ補正処理等、種々の画像処理を行い、画像を生成する。
なお、自動撮影の際に、所定の条件を満たしたとき、撮像装置が撮影対象となる人物に対し撮影を行う旨を報知処理した上で撮影する手段を取ってもよい。報知の方法は、例えば、音声出力回路218からの音声やLED制御回路224によるLED点灯光を使用してもよいし、パン・チルトを駆動することにより視覚的に被写体の視線を誘導するモーション動作をしてもよい。所定の条件は、例えば、画角内における顔の数、顔の笑顔度・目瞑り度、被写体人物の視線角度や顔角度、顔認証ID番号、個人認証登録されている人物の数等である。また、撮影時の一般物体認識結果、シーン判別結果、前回撮影時からの経過時間、撮影時刻、GPS情報に基づく現在位置が景勝地であるか否か、撮影時の音声レベル、声を発している人物の有無、拍手、歓声が上がっているか否か等である。また、振動情報(加速度情報、撮像装置の状態)、環境情報(温度、気圧、照度、湿度、紫外線量)等である。これらの条件に基づき報知撮影を行うことによって、重要性が高いシーンにおいてカメラ目線の好ましい画像を残すことができる。
また、所定の条件を複数もち、各条件に応じて音声を変更したり、LEDの点灯方法(色や点滅時間など)を変更したり、パン・チルトのモーション方法(動き方や駆動速度)を変更してもよい。
S911では、S910にて生成した画像を加工したり、動画に追加したりといった編集処理を行う。画像加工については、具体的には、人物の顔や合焦位置に基づいたトリミング処理、画像の回転処理、HDR(ハイダイナミックレンジ)効果、ボケ効果、色変換フィルタ効果などである。画像加工は、S910にて生成した画像を元に、上記の処理の組み合わせによって複数生成し、前記S910にて生成した画像とは別に保存するとしてもよい。また、動画処理については、撮影した動画または静止画を、生成済みの編集動画にスライド、ズーム、フェードの特殊効果処理をつけながら追加するといった処理をしてもよい。S911での編集についても、撮影画像の情報、或いは撮影前に検出した各種情報を学習モデルに基づく判断によって、画像加工の方法を判定することもできるし、この判定処理は、後述する学習処理によって、判定条件を変更することができる。
S912では撮影画像の学習情報生成処理を行う。ここでは、撮影時の制御パラメータや撮影画像の解析結果から、後述する学習処理に使用する学習情報を生成し、記録する。具体的には、今回の撮影画像における、撮影時のズーム倍率、撮影時の一般物体認識結果、顔検出結果、撮影画像に写る顔の数、顔の笑顔度・目瞑り度、顔角度、顔認証ID番号、被写体人物の視線角度等である。また、シーン判別結果、前回撮影時からの経過時間、撮影時刻、GPS位置情報および前回撮影位置からの変化量、撮影時の音声レベル、声を発している人物、拍手、歓声が上がっているか否か等である。また、振動情報(加速度情報、撮像装置の状態)、環境情報(温度、気圧、照度、湿度、紫外線量)、動画撮影時間、手動撮影指示によるものか否か、等である。更にユーザの画像の好みを数値化した学習モデルの出力であるスコアも演算する。
これらの情報を生成し、撮影画像ファイルへタグ情報として記録する。あるいは、不揮発性メモリ216へ書き込むか、記録媒体221内に、所謂カタログデータとして各々の撮影画像の情報をリスト化した形式で保存する、としてもよい。
S913では、S910の撮影が手動撮影であればS914に処理を進め、自動撮影であればS915に処理を進める。
S914では、S912で作成された学習用情報に基づき、複数の学習モデルの中からいずれかの学習モデルを選択する。すなわち、S914で学習モデルの切り替えが行われる場合がある。学習モデルを切り替えるとは、図10に示す入力層1001、中間層1003、出力層1004のノードの数や、各ノードが意味する特徴量、各ノードの活性化関数(不図示)、各ニューロンを繋ぐ結合1002の重み係数、中間層の層数などのパラメータを変更することである。これらのパラメータは、不揮発性メモリ216や記録媒体221から読み出したり、あるいは、通信回路222を介して外部から取得したりすることで入手する。あるいは、異なる機械学習を反映させた学習処理回路219を複数備え、これらのハードウェアを切り替えるようにしてもよい。
これ以降の自動撮影処理では、この選択された学習モデルが使われる。なぜ手動撮影のときのみに、学習モデルの選択を行うかというと、手動撮影はユーザの意思によって行われるので、ユーザの好みの被写体、好みのシーン、あるいは、好みの場所や時間間隔を反映している可能性が非常に高いためである。よって手動撮影によって得られた学習用情報に基づいて学習モデルを切り替えれば、その時のユーザの好みを反映した自動撮影が行える可能性が高くなる。
このS914における学習モデルの選択は、例えば以下の三つの方法のうちのいずれかの方法で行われる。
一つ目はシーン認識技術を利用して切り替える方法である。たとえば公知の技術で「ポートレート」、「スポーツ」、「風景」のシーン認識ができる場合、
・ポートレート用学習モデル
・スポーツ用学習モデル
・風景用学習モデル
を有する構成とする。シーンが異なれば撮りたい写真は変わることが多い。たとえばポートレートの撮影では人の肌や髪の質感まで再現したいので、被写体の動きが少ない瞬間(被写体ぶれの少ない瞬間)に撮影したい。また、スポーツの撮影では躍動感のある写真が撮りたいので被写体の動きがある瞬間に撮影したい。それぞれの学習モデルは、対象のシーンで撮影された教師データでユーザの好みを学習しており、自動撮影が行われる傾向が異なるように構成されている。
S912で生成された学習情報に含まれるシーン判別結果に応じた学習モデルを選択する。その後の自動撮影では、選択された学習モデルが利用される。これによってその時々のシーンに応じた自動撮影が行われるようになる。
なおシーン認識を行うタイミングはS912のタイミングに限定されるものではなく、撮影前後どちらでもよい。たとえばS901の画像認識処理の中で行ってもよい。なおシーン認識は上記の三つのシーンに限定されるものではない。公知の技術で認識できるシーンであればよく、たとえば夜景、マクロ、ペット、夜景ポートレート、赤ちゃん、逆光などが考えられる。
二つ目は位置情報を示すジオタグを利用して切り替える方法である。場所が変われば撮影したいものが変わることがある。一例を挙げると、
・自宅付近なら、子供の笑っているところが撮りたい
・公園付近なら、真剣な顔でスポーツしているところが撮りたい
などである。
このような場所による好みの変化に対応するため、場所に応じた学習モデルを有する構成とする。図12を用いて、これらの学習モデルの構成について説明する。図12は、手動撮影が行われた位置をジオタグからマッピング(ジオタグ取得)した地図である。黒丸は手動撮影が行われた位置を示す。これらの手動撮影で得られた画像から学習し、エリア毎の複数のニューラルネットワークを構築する。あるいは、ジオタグが付与された画像をネットワーク上から取得し、エリア毎の複数のニューラルネットワークを構築するようにしてもよい。学習方法は前述したとおりであるが、学習に使用する画像をエリアごとに分類して使用する。分類学習方法の一例を以下に示す。
S912で生成された学習情報を、ジオタグに基づいて所定のクラス数kに分類する(クラス分けする)ことを考える。分類アルゴリズムは公知のものが使用でき、たとえばk−meansやグラフカット法などを用いることができる。これにより学習情報がクラス1,2,…,kに(クラス毎に)分類できたとする。そしてこのk個のクラスの学習情報からそれぞれ学習してk個のニューラルネットワークを構築し、学習モデルを生成する。ここで各クラスにおいて中心位置(クラス内のジオタグ情報の平均値)を求めておく。図12の白四角が中心位置を示す。これらの学習タイミングは制限されず、撮影前後でもよいし、カメラが待機中の時でもよい。
そして、S914に進むと、直前の手動撮影で得られた画像のジオタグと各クラスの中心位置の距離を計算し、どのクラスに一番近いかを算出する。そして、学習モデルを、一番近いクラスの学習モデルに切り替えて、以降自動撮影ではこの学習モデルを用いる。これにより現在のエリアに即した自動撮影が行われるようになる。なお分類方法は上記の方法に限定されるものではなく、サポートベクタマシン等のアルゴリズムを使用してもよい。この場合は学習情報の分類とニューラルネットワークの切り替え判断の識別器がひとつのアルゴリズムで生成される。
三つ目は、S912で得られた学習情報を各学習モデルに通してスコアを求め、このスコアに基づいて学習モデルを選択する方法である。この方法ではシーンや場所に限らず、カメラから取得できる様々なパラメータに基づいて学習モデルを切り替えられる。また、ユーザの不変的な好みとその時々で移り変わる好みの両方に対応した自動撮影を行うことができる。適用例を挙げると、どんな状況でも自分の家族が写っている写真のほうが好ましいと思っているが(不変的な好み)、その家族がどんな構図や撮影環境のときの写真が好ましいかはその時々によって異なる(その時々の好み)というユーザに対して、両方の好みに適した自動撮影を提供することができる。
具体的な方法を図13に示す。学習モデルとして、長期学習モデルと、短期学習モデルを有する。長期学習モデルは一つであり、短期学習モデルは複数である(図13では3つ)。長期学習モデルは、幅広い期間内(取得期間)において手動撮影された画像から生成された学習情報を教師データとしている。長期学習モデルは、長期間のユーザの好みを学習しているので、様々なシーンからユーザの不変的な好みを学習しているといえる。一方、短期学習モデルは、狭い期間内において手動撮影された画像から生成された学習情報を教師データとしている。短期学習モデルは、短期間のユーザの好みを学習しているので、各シチュエーション、場所、気分、時間帯、日にち、季節などの、その時々の好みを反映しているといえる。
S913で手動撮影と判定された場合、S914において各短期学習モデルの評価を行い、そのときの評価が一番良かったものに切り替える。評価方法は以下のようなものである。
S912で取得された学習情報を各短期学習モデルに通してスコアを出し、そのスコアと、その学習情報の教師値を比較し、その差分(差異)が最も小さい短期学習モデルを選択する。手動撮影で得られた画像から生成された学習情報の教師値は、ユーザの好みのシーンを表していると推定されるため、所定の高い値を付与する。教師値との差分が小さくなるスコアを出力した学習モデルを選択することにより、そのときのお気に入り度を良く推定できた学習モデルへ切り替えることになる。よって、ユーザの好みに適した自動撮影を行うことができる。
なお、S908において、長期学習モデルと短期学習モデルを使用して自動撮影判定を行う場合には、長期学習モデルのスコアと、選択された短期学習モデルのスコアを重み付けして加える(統合する)ことにより最終的なスコアを取得し、そのスコアに基づいて自動撮影を行うか否かを判断する。図14にこの最終的なスコアの算出方法を示す。図中の長期学習モデルおよび選択された短期学習モデルは図10のような多層パーセプトロンである。それぞれの学習モデルに、入力層に対応する現在の画角中に写る被写体や、シーンやカメラの状態に基づいた特徴量を入力する。長期学習モデルのスコアをO_long、短期学習モデルのスコアをO_shortとする。これらを重みα(0≦α≦1)で加え合わせ、下記の式1で示すO_finalを最終的なスコアとする。
O_final = α×O_long +(1−α)×O_short ・・・(式1)
式1においてαを大きくすればユーザの不変的な好みを重視し、小さくすればその時々の好みを重視する自動撮影となる。αは手動撮影がなされる度に補正することもできる。特定のシチュエーションでユーザが何枚も手動撮影した場合、そこでの撮影に関心があるとみなすことができる。自動撮影もそのシチュエーションに対応した短期学習モデルの重みを大きくしたほうが、より関心に即したものとなる。そのためのαの計算方法を式2に示す。
α=α−k×err ・・・(式2)
errは、最終的なスコアとそのときの入力となる学習情報の教師値との誤差である。式2において、αが0未満にならないように、errを適宜正規化する。kは現在のシチュエーションへの追従性を示す係数である。kは大きいほどαが小さくなり、短期学習モデルが重視される傾向が強まるので追従性が上がる。逆にあまりシチュエーションを自動撮影へ反映したくない場合は、αの初期値を1に近づけ、さらにkを小さくすればよい。
長期学習モデルと短期学習モデルの差別化は、教師データである学習情報の量の上限を変えることによって実現できる。学習情報の量を長期学習モデル>短期学習モデルとすれば、長期学習モデルの方がより長い期間に取得された様々なシーンの学習情報で学習することができ、よりユーザの不変的な好みを学習することができる。また学習情報の量の上限ではなく、学習情報の取得頻度を変化させることでも実現できる。取得頻度を長期学習モデル<短期学習モデルにするとよい。たとえば手動撮影により学習情報が取得されたとしても、長期学習モデルの方はM回(Mは2以上の自然数)に1回しか学習情報を登録しないようにする。そうすると長期学習モデルの方の学習情報は上限に達しにくく、結果的に古い学習情報も残せるようになる。
また複数の短期学習モデルにも差別化が必要である。なぜなら短期学習モデルはそれぞれ異なるシチュエーション、気分に特化している必要があるからである。短期学習モデルは事前に代表的なシチュエーションで学習されたいくつかのNNを既定の短期学習モデルとして使用してもよい。また短期学習モデルはユーザの手動撮影によって取得された学習情報を利用して構築しても良い。構築方法を以下に示す。
ユーザがカメラを購入した当初は撮影画像が少なく学習情報が少ないので、所定数の学習情報が集まるまで短期学習モデルは使用せずに、長期学習モデルのみを用いて自動撮影の判定を行う。そして所定数が集まったら(所定数得られたら)、所定のクラスタ数(=作成したい短期学習モデルの数)で学習情報をクラスタリングする。クラスタリングアルゴリズムはk−meansなどの公知の方法である。クラスタリングのキーとなる特徴ベクトルは、短期学習モデルの入力層の特徴量と同じものが利用できる。クラスタリングをした結果、似ている学習情報がそれぞれ集まった複数のクラスができる。クラス間は異なる特徴を持つ。そして各クラスの学習情報群でそれぞれ学習を行い、複数の短期学習モデルを作成する。これにより異なる特徴を持つ短期学習モデルが複数できる。短期学習モデルの差別化の例として、たとえばクラスタリングの特徴ベクトルに「被写体数」が含まれ、クラス数2で作成した場合、「被写体が多い」ときの短期学習モデル1、「被写体が少ない」ときの短期学習モデル2が作成されることになる。
また各特徴量の寄与率を考慮してクラスタリングしてもよい。なぜ寄与率を考慮するかというと、各特徴量が全て等しくユーザの好みに影響するわけではないからである。ユーザの好みに大きく寄与する特徴量を重視すれば、よりユーザ視点での短期学習モデルの差別化を行うことができる。特徴量の重み付けは長期学習モデルのネットワーク構成の情報を利用する。
説明を分かりやすくするため、入力層の特徴量が三つ(i1,i2,i3)、中間層が一層の長期学習モデルの例を図15に示す。w11〜w22は、ノード間の重みである(一部不図示)。この重みが大きい方が出力(ユーザの好み)への寄与が大きいことになる。特徴量i1に対する寄与率c_i1は、i1からOまでの経路で通るノード間の重みの積和であり、式3で定義することができる。
c_i1=w11×w21+w12×w22 ・・・(式3)
同様にi2,i3の寄与率であるc_i2,c_i3も計算することができる。但し、ノード間の重みは図示していない。これらの寄与率を用いれば、学習情報のクラスタリングのキーとなる特徴ベクトルは(c_i1×i1,c_i2×i2,c_i3×i3)となる。なお、特徴ベクトルの次元(入力層のノードの数)が増えた場合や、中間層の層が増えた場合も、同様に入力層のノードから出力層までの経路のノード間の重みの積和で求めることができる。これにより、ユーザの関心のある特徴で差別化された複数の短期学習モデルを作成することができる。
なお、上記の三つの切り替え方法は、事前に所定の数の学習モデルを有している場合や、所定のタイミングで所定の数の学習モデルを一度に作成する場合について説明した。しかし、随時、学習モデルの数を増減する構成にしてもよい。たとえば特定の学習モデルへ集中して切り替わる場合は、そのユーザが特にこだわりを持つシチュエーションであると考えられる。そのため、その学習モデルの学習に使われた学習を分割し、それぞれ再学習し、複数の学習モデルに分割してもよい。これにより、より細かいシチュエーションに対応することができる。
逆に、所定の期間使われなかった学習モデルは削除してもよい。これにより学習モデルや学習情報を記憶する容量を削減することができる。また、既存の学習モデルとは特徴の異なる学習情報が所定の数取得されたとき、学習モデルを追加してもよい。たとえば、二つ目の切り替え方法で、ジオタグの各中心位置から所定の距離より離れた場所で撮影された場合はクラス数を1増やして学習情報のクラスタリングを再実行して学習モデルを再構成する。三つ目の切り替え方法では、新たな学習情報が取得され、かつ、その学習情報の各短期学習モデルからのスコアと教師値の差がすべて所定の値以上の時、短期学習モデルをひとつ追加する。追加された短期学習モデルはこれらの学習情報を用いて学習を行うようにする。
なお上記の説明では、撮影画像から生成された学習情報に基づいて学習モデルの選択や切り替えを行っている。しかし、撮影後にカメラ内の画像または外部装置301内の専用のアプリケーションを用いて、画像にユーザが入力した判定値情報を基に学習モデルを切り替えてもよい。ここで、ユーザが好みと思った画像に対して所定の高い点数(評価点)を付けた場合、この画像の学習情報を教師データとしてS914の選択処理を実行してもよい。ただし、過去の画像を基に切り替えを行うことになるため、そのときのシチュエーション、気分を反映している可能性は撮影時より下がる。そのため、どのくらい過去であるかに所定の閾値を設け、所定の閾値より過去の場合はS914を実行しないようにすることもできる。
本実施形態は複数の学習モデルを有しているので、過去に取得された学習情報に、どの学習モデルの学習に使われたかの情報(ID情報等)が付与されている。新たに取得された学習情報に対しては、S1702で切り替わった学習モデルのID情報が付与される。これにより次に学習モードが実行されるときに、前回の学習以降に取得された学習情報が対応する学習モデルの学習に使われるようになる。
S915では、その時点で選択されている学習モデルに対応する過去撮影情報の更新を行う。具体的には、S908の説明で述べたエリア毎の撮影枚数や、個人認証登録された人物毎の撮影枚数、一般物体認識で認識された被写体毎の撮影枚数、シーン判別のシーン毎の撮影枚数について、今回撮影された画像が該当する枚数のカウントを1つ増やす。
<学習モード処理>
次に、本実施形態におけるユーザの好みに合わせた学習について説明する。
本実施形態では、図10に示すようなニューラルネットワークを用い、機械学習アルゴリズムを使用して、学習処理回路219にてユーザの好みに合わせた学習を行って学習モデルを生成する。学習処理回路219は、例えば、NVIDIA社のJetson TX2を用いる。ニューラルネットワークは、入力値から出力値を予測することに使用されるものであり、予め入力値の実績値と出力値の実績値を学習しておくことで、新たな入力値に対して、出力値を推定することができる。ニューラルネットワークを用いることにより、前述の自動撮影や被写体探索に対して、ユーザの好みに合わせた学習を行う。
また、ニューラルネットワークに入力する特徴データともなる被写体登録(顔認証や一般物体認識など)を登録することも行う。
本実施形態において、学習処理により、学習される要素は以下である。
(1)自動撮影
自動撮影に対する学習について説明する。自動撮影では、ユーザの好みに合った画像の撮影を自動で行うための学習を行う。図9のフローを用いた説明で上述したように、撮影後(S912)に学習情報生成処理が行われている。後述する方法により学習させる画像を選択させ、画像に含まれる学習情報を基に、ニューラルネットワークの重みを変化させることで学習する。
(2)自動編集
自動編集に対する学習について説明する。自動編集は、図9のS911での撮影直後の編集に対して学習が行われる。撮影直後の編集について説明する。後述する方法により学習させる画像を選択させ、画像に含まれる学習情報を基に、ニューラルネットワークの重みを変化させることで学習する。撮影或いは撮影直前の情報により得られた各種検出情報をニューラルネットワークに入力し、編集方法(トリミング処理、画像の回転処理、HDR(ハイダイナミックレンジ)効果、ボケ効果、色変換フィルタ効果など)の判定を行う。
(3)被写体探索
被写体探索に対する学習について説明する。被写体探索では、ユーザの好みに合った被写体の探索を自動で行うための学習を行う。図9のフローを用いた説明で上述したように、被写体探索処理(S904)において、各エリアの重要度レベルを算出し、パン・チルト、ズームを駆動し、被写体探索を行っている。学習は撮影画像や探索中の検出情報によって学習され、ニューラルネットワークの重みを変化させることで学習する。探索動作中の各種検出情報をニューラルネットワークに入力し、重要度レベルの算出を行い、重要度レベルに基づきパン・チルトの角度を設定することで学習を反映した被写体探索を行う。また、重要度レベルに基づくパン・チルト角度の設定以外にも、例えば、パン・チルト駆動(速度、加速度、動かす頻度)の学習も行う。
(4)被写体登録
被写体登録に対する学習について説明する。被写体登録では、ユーザの好みに合った被写体の登録やランク付けを自動で行うための学習を行う。学習として、例えば、顔認証登録や一般物体認識の登録、ジェスチャーや音声認識、音によるシーン認識の登録を行う。認証登録は人と物体に対する認証登録を行い、画像取得される回数や頻度、手動撮影される回数や頻度、探索中の被写体の現れる頻度からランク設定を行う。登録された情報は、各ニューラルネットワークを用いた判定の入力として登録されることになる。
次に、学習方法について説明する。
学習方法としては、「撮像装置内の学習」と「通信機器との連携による学習」がある。
撮像装置内学習の方法について、以下説明する。
本実施形態における撮像装置内学習は、以下の方法がある。
(1)ユーザによる撮影指示時の検出情報による学習
図9のS907乃至S913で説明したとおり、本実施形態においては、撮像装置101は、手動撮影と自動撮影の2つの撮影を行うことができる。S907で手動操作による撮影指示(上記説明したとおり、3つの判定に基づいて行う。)があった場合は、S912において、撮影画像は手動で撮影された画像であるとの情報が付加される。また、S909にて自動撮影ONと判定されて撮影された場合においては、S912において、撮影画像は自動で撮影された画像であると情報が付加される。
ここで手動撮影される場合、ユーザの好みの被写体、好みのシーン、好みの場所や時間間隔を基に撮影された可能性が非常に高い。よって、手動撮影時に得られた各特徴データや撮影画像の学習情報を基とした学習が行われるようにする。
また、手動撮影時の検出情報から、撮影画像における特徴量の抽出や個人認証の登録、個人ごとの表情の登録、人の組み合わせの登録に関して学習を行う。また、被写体探索時の検出情報からは、例えば、個人登録された被写体の表情から、近くの人や物体の重要度を変更するような学習を行う。
(2)被写体探索時の検出情報による学習
被写体探索動作中において、個人認証登録されている被写体が、どんな人物、物体、シーンと同時に写っているかを判定し、同時に画角内に写っている時間比率を演算しておく。
例えば、個人認証登録被写体の人物Aが個人認証登録被写体の人物Bと同時に写っている時間比率が所定閾値よりも高い場合重要度が高いと判定できる。このため、人物Aと人物Bが画角内に入る場合は、自動撮影判定の点数が高くなるように各種検出情報を学習データとして保存して学習モード処理716で学習する。
他の例では、個人認証登録被写体の人物Aが一般物体認識により判定された被写体「猫」と同時に写っている時間比率が所定閾値よりも高い場合、重要度が高いと判定できる。このため、人物Aと「猫」が画角内に入る場合は、自動撮影判定の点数が高くなるように各種検出情報を学習データとして保存する。そして、学習モード処理716で学習する。
このように、探索中の被写体の現れる頻度が高い場合に、自動撮影判定の点数が高くなるようにすると、個人認証登録されている被写体の近くの人や物体の重要度も、高くなるように変更することができる。
また、個人認証登録被写体の人物Aの笑顔度を検出したり、表情の検出により「喜び」「驚き」などが検出されたとき、同時に写っている被写体は重要であるように学習される処理が行われる。また、表情が「怒り」「真顔」などが検出されたときの、同時に写っている被写体は重要である可能性が低いので学習することはしないなどの処理が行われる。
次に、本実施形態における外部通信機器との連携による学習を説明する。
本実施形態における外部通信機器との連携による学習には、以下の方法がある。
(3)外部通信機器で画像を取得したことによる学習
図3で説明したとおり、撮像装置101と外部機器301は、通信302、303の通信手段を有している。主に通信302によって画像の送受信が行われ、外部機器301内の専用のアプリケーションを介して、撮像装置101内の画像を外部機器301に通信取得することができる。また、撮像装置101内の保存されている画像データのサムネイル画像を外部機器301内の専用のアプリケーションを介して、閲覧可能な構成である。これにより、ユーザはサムネイル画像の中から、自分が気に入った画像を選択して、画像確認し、画像取得指示を操作することで外部機器301に画像取得できる。
このとき、ユーザが画像を選んで送信指示し取得しているので、取得された画像はユーザの好みの画像である可能性が非常に高い。よって取得された画像は、学習すべき画像であると判定し、取得された画像の学習情報を基に学習することでユーザの好みの各種学習を行うことができる。
操作例を説明する。スマートデバイスである外部機器301の専用のアプリケーションを介して、撮像装置101内の画像を閲覧している例を図18に示す。表示装置407に撮像装置内に保存されている画像データのサムネイル画像(1804乃至1809)を表示してあり、ユーザは自分が気に入った画像を選択し画像取得を行える。このとき、表示方法を変更する表示方法変更部(1801、1802、1803)が設けられている。1801を押下すると表示順序が日時優先表示モードに変更され、撮像装置101内画像の撮影日時の順番で表示装置407に画像が表示される。(例えば、1804は日時が新しく、1809が日時は古いように表示される。)1802を押下するとおすすめ画像優先表示モードに変更される。図9S912で演算した各画像に対してユーザの好みを判定したスコアに基づいて、撮像装置101内画像のスコアの高い順番で表示装置407に画像が表示される。(例えば、1804はスコアが高く、1809がスコアは低いように表示される。)1803を押下すると人物や物体被写体を指定でき、続いて特定の人物や物体被写体を指定すると特定の被写体のみを表示することもできる。
1801乃至1803は同時に設定をONすることもでき、例えばすべての設定がONされている場合、指定された被写体のみを表示し、且つ、撮影日時が新しい画像が優先され、且つ、スコアの高い画像が優先され、表示されることになる。
このように、撮影画像に対してもユーザの好みを学習しているため、撮影された大量の画像の中から簡単な確認作業でユーザの好みの画像のみを簡単に抽出することが可能である。
(4)外部通信機器を介して、画像に判定値を入力することによる学習
上記で説明したとおり、撮像装置101と外部機器301は、通信手段を有しており、撮像装置101内の保存されている画像を外部機器301内の専用のアプリケーションを介して、閲覧可能な構成である。ここで、ユーザは、各画像に対して点数付を行う構成にしてもよい。ユーザが好みと思った画像に対して高い点数(例えば5点)を付けたり、好みでないと思った画像に対して低い点数(例えば1点)を付けることができ、ユーザの操作によって、撮像装置が学習していくような構成にする。各画像の点数は、撮像装置内で学習情報と共に再学習に使用する。指定した画像情報からの特徴データを入力にした、ニューラルネットワークの出力がユーザが指定した点数に近づくように学習される。
本実施形態では、通信機器301を介して、撮影済み画像にユーザが判定値を入力する構成にしたが、撮像装置101を操作して、直接、画像に判定値を入力する構成にしてもよい。その場合、例えば、撮像装置101にタッチパネルディスプレイを設け、タッチパネルディスプレイ画面表示装置に表示されたGUIボタンをユーザが押下して、撮影済み画像を表示するモードに設定する。そして、ユーザは撮影済み画像を確認しながら、各画像に判定値を入力するなどの方法により、同様の学習を行うことができる。
(5)外部通信機器で、パラメータを変更することによる学習
上記で説明したとおり、撮像装置101と外部機器301は、通信手段を有しており、撮像装置101内に現在設定されている学習パラメータを外部機器301に通信し、外部機器301の記憶回路404に保存することができる。学習パラメータとしては、例えば、ニューラルネットワークの重みや、ニューラルネットワークに入力する被写体の選択などが考えられる。また、外部機器301内の専用のアプリケーションを介して、専用のサーバにセットされた学習パラメータを公衆回線制御回路406を介して取得して、撮像装置101内の学習パラメータに設定することもできる構成とする。これにより、ある時点でのパラメータを外部機器301に保存しておいて、撮像装置101に設定することで学習パラメータを戻すこともできるし、他のユーザが持つ学習パラメータを専用のサーバを介して取得し自身の撮像装置101に設定することもできる。
次に、学習処理シーケンスについて説明する。
図7のS704のモード設定判定にて、学習処理を行うべきか否かを判定し、学習処理を行う場合、学習モードであると判定され、S712の学習モード処理を行う。
学習モードの判定条件を説明する。学習モードに移行するか否かは、前回学習処理を行ってからの経過時間と、学習に使用できる情報の数、通信機器を介して学習処理指示があったかなどから判定される。S704のモード設定判定処理内で判定される、学習モードに移行すべきか否かの判定処理フローを図16に示す。
S704のモード設定判定処理内で学習モード判定が開始指示されると、図16の処理がスタートする。S1601では、外部機器301からの登録指示があるかどうかを判定する。ここでの登録は、上記説明した学習するための登録指示があったかどうかの判定である。例えば、<通信機器で画像取得された画像情報による学習>や、<通信機器を介して、画像に判定値を入力することによる学習>がある。S1601で、外部機器からの登録指示があった場合、S1608に進み、学習モード判定をTRUEにして、S712の処理を行うように設定する。S1601で外部機器からの登録指示がない場合、S1602に進む。S1602では外部機器からの学習指示があるかどうかを判定する。ここでの学習指示は<通信機器で、撮像装置パラメータを変更することによる学習>のように、学習パラメータをセットする指示があったかどうかの判定である。S1602で、外部機器からの学習指示があった場合、S1608に進み、学習モード判定をTRUEにして、S712の処理を行うように設定し、学習モード判定処理を終了する。なお、外部機器からの登録指示、あるいは、外部機器からの学習指示があった場合のいずれにおいても、その時点で選択される学習モデルについての学習モード判定をTRUEにするものとする。ただし、外部機器からの登録指示、あるいは、外部機器からの学習指示において、学習対象とするニューラルネットワークを指定する指示が含まれている場合には、これに限られない。S1602で外部機器からの学習指示がない場合、S1603に進む。
S1603では、その時点で選択されている学習モデルにおいて、前回学習処理(ニューラルネットワークの重みの再計算)が行われてからの経過時間TimeNを取得し、S1604に進む。S1604では、学習する新規のデータ数DN(前回学習処理が行われてからの経過時間TimeNの間で、学習するように指定された画像の数)を取得し、S1605に進む。S1605では、TimeNから閾値DTを演算する。例えば、TimeNが所定値よりも小さい場合の閾値DTaが、所定値よりも大きい場合の閾値DTbよりも大きく設定されており、時間経過によって、閾値が小さくなるように設定してある。これにより、学習データが少ない場合においても、時間経過が大きいと再度学習するようにすることで、使用時間に応じて撮像装置が学習変化し易いようにしてある。
S1605で閾値DTを演算すると、S1606に進み、学習するデータ数DNが、閾値DTよりも大きいか否かを判定する。DNが、閾値DTよりも大きい場合、S1607に進み、DNを0に設定した後、S1608に進み、学習モード判定をTRUEにして、S712の処理を行うように設定し、学習モード判定処理を終了する。
S1606でDNが、閾値DT以下の場合、S1609に進む。外部機器からの登録指示も、外部機器からの学習指示もなく、且つ学習データ数も所定値以下であるので、学習モード判定をFALSEにし、S712の処理は行わないように設定し、学習モード判定処理を終了する。
次に、学習モード処理(S712)内の処理について説明する。学習モード処理の詳細なフローを図17に示す。
図7のS711で学習モードと判定され、S712に進むと、図17の処理がスタートする。S1701では、外部機器301からの登録指示があるかどうかを判定する。S1701で、外部機器からの登録指示があった場合、S1702に進む。S1702では、各種登録処理を行う。
各種登録は、ニューラルネットワークに入力する特徴の登録であり、例えば顔認証の登録や、一般物体認識の登録や、音情報の登録や、場所情報の登録などである。
登録処理を終了すると、S1703に進み、S1702で登録された情報から、ニューラルネットワークへ入力する要素を変更する。
S1703の処理を終了すると、S1707に進む。
S1701で外部機器301からの登録指示がない場合、S1704に進み、外部機器301からの学習指示があるかどうかを判定する。外部機器からの学習指示があった場合、S1705に進み、外部機器から通信された学習パラメータを各判定器(ニューラルネットワークの重みなど)に設定し、S1707に進む。
S1704で外部機器からの学習指示がない場合、S1706で学習(ニューラルネットワークの重みの再計算)を行う。S1706の処理に入るのは、図16を用いて説明したように、学習するデータ数DNが閾値を超えて、各判定器の再学習を行える条件である。誤差逆伝搬法或いは、勾配降下法などの方法を使って再学習させ、ニューラルネットワークの重みを再計算して、各判定器のパラメータを変更する。学習パラメータが設定されると、S1707に進む。
S1707では、ファイル内の画像を再スコア付する。本実施形態においては、学習結果に基づいてファイル(記録媒体221)内に保存されているすべての撮影画像にスコアを付けておき、付けられたスコアに応じて、自動編集や自動ファイル削除を行う構成となっている。よって、再学習や外部機器からの学習パラメータのセットが行われた場合には、撮影済み画像のスコアも更新を行う必要がある。よって、S1707では、ファイル内に保存されている撮影画像に対して新たなスコアを付ける再計算が行われ、処理が終了すると学習モード処理を終了する。
なお、本実施形態においては、撮像装置101内で、学習する構成を基に説明したが、外部機器301側に学習処理をもち、学習に必要なデータを外部機器301に通信し、外部機器側でのみ学習を実行する構成でも同様の学習効果を実現可能である。その場合、上記<通信機器で、パラメータを変更することによる学習>で説明したように、外部機器側で学習したニューラルネットワークの重みなどのパラメータを撮像装置101に通信により設定することで学習を行う構成にしてもよい。
また、撮像装置101内と、外部機器301内の両方に、それぞれ学習処理をもつ構成にしてもよい。例えば撮像装置101内で学習モード処理716が行われるタイミングで外部機器301が持つ学習情報を撮像装置101に通信し、学習パラメータをマージすることで学習を行う構成にしてもよい。
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。