(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】画像処理装置、画像処理システム、画像処理装置の制御方法
(51)【国際特許分類】
H04N 23/60 20230101AFI20240909BHJP
H04N 5/77 20060101ALI20240909BHJP
H04N 5/92 20060101ALI20240909BHJP
H04N 7/18 20060101ALI20240909BHJP
【FI】
H04N23/60 300
H04N5/77
H04N5/92 010
H04N7/18 Z
(21)【出願番号】P 2020087710
(22)【出願日】2020-05-19
【審査請求日】2023-05-11
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】庄田 良介
(72)【発明者】
【氏名】小川 誠司
【審査官】登丸 久寿
(56)【参考文献】
【文献】特開2013-211721(JP,A)
【文献】特開2009-122792(JP,A)
【文献】特開2012-028836(JP,A)
【文献】特開2014-119965(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 7/18
H04N 5/92
H04N 5/77
(57)【特許請求の範囲】
【請求項1】
撮像装置で撮像された動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を取得する取得手段と、
前記取得手段により取得した前記動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を学習
済みモデルに入力することにより得られるスコア情報に基づいて、前記動画像がライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定を行う推定手段と、
前記推定手段により得られた結果を、前記動画像に対応付けて出力する出力手段と、
を有
し、
前記学習済みモデルは、動画像と前記動画像の付帯情報を入力データとし、前記動画像がライブビューを見ながら撮影されたか否かに関する情報を教師データとして学習したモデルであることを特徴とする画像処理装置。
【請求項2】
前記付帯情報が、前記動画像が撮像された際の前記撮像装置の手ブレ情報であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記付帯情報が、前記動画像に含まれる特徴的な被写体がフレームアウトした回数であることを
特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記付帯情報が、前記撮像装置でなされた設定変更後に閾値時間内に撮影されたか否かを表す情報であることを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記付帯情報が、動画記録中に設定変更されたか否かを表す情報であることを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記推定手段は、
動画像が撮像された際の前記撮像装置の手ブレ情報、動画像に含まれる特徴的な被写体がフレームアウトした回数、撮像装置でなされた設定変更後に閾値時間内に撮影されたか否かを表す情報、及び動画記録中に設定変更されたか否かを表す情報のうちの、いずれか少なくとも2以上の項目を
前記動画像の付帯情報として前記学習
済みモデルに入力することを特徴とする請求項
1に記載の画像処理装置。
【請求項7】
前記学習
済みモデルに対して、動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を入力データとし、前記動画像が実際にライブビューを見ながら撮影されたか否かの情報を教師データとして学習を行うことにより、学習済
みモデルを生成する学習手段をさらに有し、
前記推定手段は、前記動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を前記学習済
みモデルに入力することにより得られるスコア情報に基づいて、推定を行うことを特徴とする請求項1乃至6何れか1項に記載の画像処理装置。
【請求項8】
撮像装置で撮像された動画像の付帯情報を取得する取得手段と、
前記取得手段により取得した前記動画像の付帯情報を用いて、前記動画像の付帯情報と、前記動画像がライブビューを見ながら撮影されたか否かの情報との対応関係を表すルックアップテーブルを参照し、前記動画像がライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかのかの推定を行う推定手段と、
前記推定手段により得られた結果を、前記動画像に対応付けて出力する出力手段と、
を有することを特徴とする画像処理装置。
【請求項9】
画像管理装置と画像処理装置とが互いに通信可能な画像処理システムであって、
前記画像管理装置は、
撮像装置で撮像された動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を前記画像処理装置へ送信する第1の送信手段と、
前記画像処理装置から、前記動画像がライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定結果を受信する第1の受信手段と、
前記動画像と前記動画像の前記推定結果とを記憶する記憶手段と、
を有し、
前記画像処理装置は、
前記画像管理装置から前記動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を受信する第2の受信手段と、
前記第2の受信手段により受信した前記動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を学習
済みモデルに入力することにより得られるスコア情報に基づいて、前記動画像がライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定を行う推定手段と、
前記推定手段により得られた結果を、前記動画像に対応付けて前記画像管理装置へ送信する第2の送信手段と、
を有
し、
前記学習済みモデルは、動画像と前記動画像の付帯情報を入力データとし、前記動画像がライブビューを見ながら撮影されたか否かに関する情報を教師データとして学習したモデルであることを特徴とする画像処理システム。
【請求項10】
前記画像管理装置は、クライアント端末とさらに通信可能であり、
前記画像管理装置は、前記クライアント端末からの要求に応じて、前記記憶手段により記憶される前記動画像と前記動画像の前記推定結果を送信する第3の送信手段を有し、
前記クライアント端末は、前記動画像のサムネイル画像を表示する際に、ライブビューを見ながら撮影されたと推定された前記動画像と、ライブビューを見ずに撮影されたと推定された前記動画像とを区別して表示するように制御する表示制御手段を有することを特徴とする請求項9に記載の画像処理システム。
【請求項11】
撮像装置で撮像された動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を取得する取得ステップと、
前記取得ステップにより取得した前記動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を学習
済みモデルに入力することにより得られるスコア情報に基づいて、前記動画像がライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定を行う推定ステップと、
前記推定ステップにより得られた結果を、前記動画像に対応付けて出力する出力ステップと、
を含
み、
前記学習済みモデルは、動画像と前記動画像の付帯情報を入力データとし、前記動画像がライブビューを見ながら撮影されたか否かに関する情報を教師データとして学習したモデルであることを特徴とする画像処理装置の制御方法。
【請求項12】
請求項1乃至8何れか1項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、動画投稿サイトの流行と共に、手軽さやタフさがあり、使い方によってアウトドアやスポーツ等で迫力ある映像を撮影できる、アクションカメラを使用して撮影する機会が増えている。アクションカメラには、ライビューを見ながら撮影するためのモニタがついた機種がある。使い方としては、ユーザがライブビューを見ながら画角に気を付けて撮影する使い方と、ユーザがアクションカメラを体に装着して、ライブビューを見ずに本人視点で撮影する使い方がある。また、前者の使い方で撮影した動画像か、後者の使い方で撮影した動画像かを、撮影後に区別するための方法がある。特許文献1には、記録用の動画像を撮像するための第1撮像部とは別に、撮影者を撮像するための第2撮像部を設け、第2の撮像部の画像をもとに、記録用の動画像を表示しているモニタを撮影者が見ているか否かを判定するカメラについて記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザがライブビューを見ながら撮影した動画像は、補正や加工せずに(いわゆる、撮って出し)使用されることが多い。一方で、ユーザがライブビューを見ずに撮影した動画像は、トリミングや水平補正等の編集をして使用されることが多い。そこで、ライブビューを見ずに撮影した動画像に対して編集を行うために、ファイル整理を行う際に、ライブビューを見ながら撮影した動画像と、ライブビューを見ずに撮影した動画像とを容易に区別したいという要望がある。しかしながら、ファイルの一覧画面では、動画像ファイルがサムネイル画像で表示されるため、これらを区別することが難しく、確認するためには動画像を一度再生する手順を踏まないと、区別することができない。
【0005】
上述の特許文献1に記載の方法では、撮影者を撮像するためのインカメラ等の専用のデバイスを、動画像を撮影するカメラに搭載する必要がある。そのため、消費電力が高くなり、動画像の撮影中に負荷がかかる。これにより、高画素動画やハイフレームレート動画の長時間撮影ができなくなったり、発熱が生じたりする等の問題がある。
【0006】
本発明は、撮像装置に対して専用のデバイスの搭載が不要でありながら、撮像装置で撮影された動画像が、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかを容易に区別することを目的とする。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は、撮像装置で撮像された動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を取得する取得手段と、前記取得手段により取得した前記動画像と前記動画像の付帯情報のうちの少なくともいずれか一方を学習済みモデルに入力することにより得られるスコア情報に基づいて、前記動画像がライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定を行う推定手段と、前記推定手段により得られた結果を、前記動画像に対応付けて出力する出力手段と、を有し、前記学習済みモデルは、動画像と前記動画像の付帯情報を入力データとし、前記動画像がライブビューを見ながら撮影されたか否かに関する情報を教師データとして学習したモデルであることを特徴とする。
【発明の効果】
【0008】
撮像装置に対して専用のデバイスの搭載が不要でありながら、撮像装置で撮影された動画像が、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかを容易に区別することができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係る画像処理システムの全体構成例を示す図である。
【
図2】画像処理システムのハードウェア構成例を示す図である。
【
図3】画像処理システムの機能構成例を示す図である。
【
図5】入力データ及び教師データについて説明する図である。
【
図6】推定フェーズにおける動作を説明する図である。
【
図7】学習フェーズの処理を示すフローチャートである。
【
図8】推定フェーズの処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
【0011】
まず、
図1を参照して、画像処理システムの全体構成例について説明する。この画像処理システムは、カメラ100、ネットワーク104、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107から構成される。カメラ100、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107は、ネットワーク104を介して、互いに通信可能である。
【0012】
カメラ100は、カメラ100で撮影された動画ファイル及び動画ファイルの付帯情報を画像管理サーバー105へ送信する。画像管理サーバー105は、動画ファイルの付帯情報を画像処理サーバー106へ送信する。画像処理サーバー106は、画像管理サーバー105から受信した動画ファイルの付帯情報を用いて、動画ファイルがライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかを推定する。画像処理サーバー106は、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定結果を、画像管理サーバー105へ送信する。画像管理サーバー105は、動画ファイルと共に上記の推定結果をクライアント端末107へ送信する。
【0013】
本実施形態において、画像処理サーバー106は、機械学習された学習済モデルを用いて、カメラ100で撮影された動画ファイルが、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかを推定する処理を実行する。
【0014】
なお、本実施形態において、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107は、別々の装置により構成されている。このような構成に代えて、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107のうちのすべて、又は一部が、同一の装置により構成されていてもよい。
【0015】
ネットワーク104は、インターネット、有線LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)等により実現される。
クライアント端末107は、PC(パーソナルコンピュータ)、タブレット、スマートフォン等で構成される。本実施形態において、クライアント端末107は、ユーザからの要求に応じて、ライブビューを見ながら撮影されたファイルか、ライブビューを見ずに撮影されたファイルかの推定結果を用いて、動画ファイルの一覧表示を制御する。
【0016】
続いて、
図2を参照して、カメラ100のハードウェア構成例について説明する。カメラ100は、撮像装置の一例である。
図2において、撮影レンズ103は、ズームレンズ、及びフォーカスレンズを含むレンズ群である。シャッター101は、絞り機能を備えるシャッターである。撮像部22は、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器23は、アナログ信号をデジタル信号に変換する。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換するために用いられる。バリア102は、カメラ100の、撮影レンズ103を含む撮像系を覆うカバーであり、撮像系の汚れや破損を防止する。
【0017】
画像処理部24は、A/D変換器23からの画像データ、又はメモリ制御部15からの画像データに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいて、システム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
【0018】
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、又はメモリ制御部15を介して、メモリ32に直接書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、表示部28に表示するための画像データを格納する。メモリ32は、所定枚数の静止画像や所定時間の動画像及び音声を格納するのに十分な記憶容量を備えている。
【0019】
また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器13は、メモリ32に格納されている画像表示用のデータをアナログ信号に変換して表示部28に供給する。こうして、メモリ32に書き込まれた表示用の画像データはD/A変換器13を介して表示部28により表示される。
表示部28は、カメラ100の背面に設けられており、LCD等の表示器上に、D/A変換器13からのアナログ信号に応じた表示を行う。A/D変換器23によって一度A/D変換されメモリ32に蓄積されたデジタル信号をD/A変換器13においてアナログ変換し、表示部28に逐次転送して表示することで、電子ビューファインダとして機能し、スルー画像表示(ライブビュー表示)を行える。ユーザは表示部28のライブビュー表示を見ながら撮影を行える。
【0020】
システム制御部50は、少なくとも1つのプロセッサーを有する制御部であり、カメラ100の全体を制御する。システム制御部50は、後述する不揮発性メモリ56に記録されたプログラムを実行する。また、システム制御部50はメモリ32、D/A変換器13、表示部28等を制御することにより表示制御も行う。システムメモリ52は、RAM等により構成され、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等を展開するために用いられる。システムタイマー53は、各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。不揮発性メモリ56は、電気的に消去・記録可能な記録媒体としてのメモリであり、EEPROM等により構成される。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。
【0021】
モード切替スイッチ60、シャッターボタン64、操作部70は、システム制御部50に各種の動作指示を入力するための操作手段である。モード切替スイッチ60は、システム制御部50の動作モードを静止画記録モード、動画撮影モード、再生モード等のいずれかに切り替える。静止画記録モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、絞り優先モード(Avモード)、シャッター速度優先モード(Tvモード)がある。また、撮影シーン別の撮影設定となる各種シーンモード、プログラムAEモード、カスタムモード等がある。モード切替スイッチ60で、これらのモードのいずれかに直接切り替えられる。モード切替スイッチ60で撮影モードの一覧画面に一旦切り換えた後に、表示された複数のモードのいずれかを選択し、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
【0022】
第1シャッタースイッチ61は、カメラ100に設けられたシャッターボタン64の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。システム制御部50は、第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作を開始する。
第2シャッタースイッチ62は、シャッターボタン64の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから記録媒体150に画像データを書き込むまでの一連の撮影処理の動作を開始する。
【0023】
操作部70は、複数の操作部材により構成されている。操作部70の各操作部材には、表示部28に表示される種々の機能アイコンを選択操作すること等により、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部28に表示される。ユーザは、表示部28に表示されたメニュー画面と、上下左右の4方向ボタンやSETボタン(不図示)を用いて直感的に各種設定を行うことができる。
【0024】
電源制御部80は、電池検出回路、DC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体150を含む各部へ供給する。電源部30は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。
記録媒体I/F18は、メモリカードやハードディスク等の記録媒体150とのインターフェースである。記録媒体150は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや光ディスク、磁気ディスク等から構成される。
【0025】
通信部54は、無線又は有線ケーブル等によりネットワーク104に接続し、システム制御部50の制御により、映像信号や音声信号等の送受信を行う。通信部54は撮像部22で撮像した画像(スルー画像を含む)や、記録媒体150に記録された画像(動画像を含む)を画像管理サーバー105等の外部装置へ送信可能であり、また、外部装置から画像データ等の各種データを受信することも可能である。
【0026】
姿勢検知部55は、重力方向に対するカメラ100の姿勢を検知する。姿勢検知部55で検知された姿勢に基づいて、撮像部22で撮影された画像が、カメラ100を横に構えて撮影された画像であるか、縦に構えて撮影された画像なのかを判別可能である。システム制御部50は、姿勢検知部55で検知された姿勢に応じた向き情報を撮像部22で撮像された画像の画像ファイルに付加することが可能である。またシステム制御部50は、姿勢検知部55で検知された姿勢の変化に応じた手ブレ量を撮影された画像の画像ファイルに付加することが可能である。姿勢検知部55としては、加速度センサーやジャイロセンサー等を用いることができる。
【0027】
次に、
図2を参照して、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107のハードウェア構成例について説明する。なお、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107は、単一の装置で実現してもよいし、
図1に示すように、複数の装置に各機能を分散して実現するようにしてもよい。なお、複数の装置で構成される場合は、互いに通信できるように、
図1に示すように、ネットワーク104を介して接続されていてもよく、LAN等により接続されていてもよい。
【0028】
画像管理サーバー105、画像処理サーバー106、及びクライアント端末107は、同様のハードウェア構成により実現可能である。以下、画像処理サーバー106のハードウェア構成について説明し、画像管理サーバー105及びクライアント端末107のハードウェア構成については説明を省略する。
【0029】
図2において、画像処理サーバー106は、CPU202、ROM203、RAM204、外部記憶装置205、NIC206、入力部207、表示部208、GPU209及びこれらを接続するシステムバス201を有する。
CPU(Central Processing Unit)202は、画像処理サーバー106の全体を制御する制御部である。CPU202がROM203等に記憶されているプログラムに基づき処理を実行することによって、
図3に示す各種の機能や、
図7及び
図8に示すフローチャートの処理が実現される。
ROM(Read Only Memory)203は、プログラムを記憶したり、CPU202がプログラムに基づき処理を実行する際に利用するデータ等を記憶したりする。
RAM(Random Access Memory)204は、ROM203からロードされたプログラムや、又はネットワーク104を介して供給された各種のデータを一時記憶する。
外部記憶装置205は、内蔵されたハードディスクやメモリカード、又は装置から着脱可能な光ディスク、磁気や光カード、ICカード等を含む。外部記憶装置205は、大容量のデータを記憶するために用いられる。
【0030】
NIC(Network Interface Card)206は、ネットワーク104等の回線に接続するために用いられるネットワークインターフェースである。
入力部207は、ポインティングデバイスやキーボード等のユーザインターフェースにより構成されており、ユーザの操作を受け、各種データを入力することができる。
表示部208は、ディスプレイ等の表示装置により構成されており、ネットワーク104を介して供給された各種のデータを表示する。
GPU(Graphics Processing Unit)209は、データをより多く並列処理することで効率的な演算を行うことができる制御部である。ディープラーニングのような学習モデルを用いて複数回にわたり学習を行う場合には、GPU209で処理を行うことが有効である。なお、画像処理サーバー106、及びクライアント端末107にはGPU209が不要である。
【0031】
続いて、
図3を参照して、カメラ100、画像管理サーバー105、画像処理サーバー106、及びクライアント端末107の機能構成例について説明する。
図3に示す各機能は、
図2のハードウェア構成図で示したハードウェア資源とプログラムを利用することにより実現される。
【0032】
まず、カメラ100の機能構成について説明する。
カメラ100のシステム制御部50は、不揮発性メモリ56に記録されたプログラムを実行することにより、カメラ100の各種デバイスを制御して、主として、データ送受信部301、UI表示部302、撮像処理部303、画像処理部304として機能する。
【0033】
データ送受信部301は、記録媒体150に記録された動画ファイル及び動画ファイルの付帯情報を、通信部54を用いて画像管理サーバー105へ送信する。
UI(ユーザインターフェース)表示部302は、各種の設定変更を行うためのメニュー画面等を表示部28に表示する処理を行う。
【0034】
撮像処理部303は、前述の撮影処理の動作を行い、動画撮影モードで撮像された画像データを、動画ファイルとして記録媒体150に記録する。
また、撮像処理部303は、動画記録中に操作部70を用いて撮影パラメータ等の設定変更が行われた場合には、動画記録中に設定変更があったことを、動画ファイルの付帯情報として記録媒体150に記録する。
また、撮像処理部303は、撮影待機中に上記のような設定変更が行われた場合には、システムタイマー53を用いて、設定変更されてから動画撮影が開始されるまでの時間を計測し、予め規定された閾値時間と比較する。比較の結果、計測した時間が閾値時間内の場合には、設定変更後の閾値時間内の撮影であったことを、動画ファイルの付帯情報として記録媒体150に記録する。
また、撮像処理部303は、動画記録中の手ブレの有無を、姿勢検知部55で検知された手ブレ量に基づき判定し、判定結果としての手ブレ情報を、動画ファイルの付帯情報として記録媒体150に記録する。なお、手ブレ情報は、手ブレ量そのものであってもよい。
なお、本実施形態では、カメラ100側で、動画ファイルの付帯情報としての、動画記録中の設定変更の有無、設定変更後に閾値時間内の撮影か否か、及び手ブレ情報を取得する構成であるが、これに限られない。サーバー側(画像管理サーバー105や画像処理サーバー106)で動画ファイルを解析して、動画記録中の設定変更の有無、設定変更後に閾値時間内の撮影か否か、及び手ブレ情報のすべて、又は一部を取得する構成であってもよい。
【0035】
画像処理部304は、
図2の画像処理部24を制御して、撮影した画像データに対する各種の処理や画像データの仕分け処理等を行う。
【0036】
次に、画像管理サーバー105の機能構成について説明する。
画像管理サーバー105は、カメラ100から受信した動画ファイル及び動画ファイルの付帯情報を蓄積するとともに、画像処理サーバー106から受信した推定結果を動画ファイルと紐づけて管理する。画像管理サーバー105は、画像管理装置の一例である。
画像管理サーバー105のCPU202は、画像管理サーバー105のROM203に記録されたプログラムを実行することにより、画像管理サーバー105の各種デバイスを制御して、データ記憶部351、画像データ管理部352、データ送受信部353として機能する。
【0037】
データ記憶部351は、カメラ100から受信した動画ファイル及び動画ファイルの付帯情報を、画像管理サーバー105のRAM204に一時記憶する。また、データ記憶部351は、画像処理サーバー106から受信した、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかを表す推定結果を、動画ファイルに対応付けて画像管理サーバー105の外部記憶装置205に記憶する。データ記憶部351は、記憶手段の一例である。
【0038】
画像データ管理部352は、画像管理サーバー105の外部記憶装置205に保存される動画ファイルの管理等を行う。動画ファイルには、各ファイルを識別可能なファイル名が付与されている。また、学習対象の動画ファイルには、後述する教師データがラベル付けされている。
本実施形態において、画像データ管理部352は、動画ファイルを解析し、動画ファイルに含まれる特徴的な被写体(例えば、人物、人物の顔)がロストした(フレームアウトした)回数をカウントし、カウントした回数を動画ファイルの付帯情報として記録する。なお、特徴的な被写体がロストした回数をカウントする機能は、カメラ100や画像処理サーバー106が有していてもよい。また、動画ファイルに含まれる特徴的な被写体がロストした回数に代えて、特徴的な被写体がロストした時間を動画ファイルの付帯情報として記録してもよい。
【0039】
データ送受信部353は、画像管理サーバー105のNIC206を介して、カメラ100から動画ファイル及び動画ファイルの付帯情報を受信する。また、データ送受信部353は、画像管理サーバー105のNIC206を介して、動画ファイルの付帯情報を画像管理サーバー105へ送信する。また、データ送受信部353は、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定結果を、画像管理サーバー105から受信する。また、データ送受信部353は、クライアント端末107のウェブブラウザ311からの送信要求を受け付け、送信要求に対する結果をクライアント端末107へ送信する。データ送受信部353は、第1の送信手段、第1の受信手段、及び第3の送信手段の一例である。
【0040】
続いて、画像処理サーバー106の機能構成について説明する。
画像処理サーバー106のCPU202は、画像処理サーバー106のROM203に記録されたプログラムを実行することにより、画像処理サーバー106の各種デバイスを制御して、データ記憶部361、学習部362、推定部363、データ送受信部364として機能する。画像処理サーバー106は、画像処理装置の一例である。
【0041】
データ記憶部361は、学習部362により生成された学習済モデルを、画像処理サーバー106のROM203又は外部記憶装置205に保存する。
学習部362は、SVM(サポートベクターマシン)アルゴリズム等の機械学習アルゴリズムに従った学習モデルに対して、入力データと教師データの複数の組を用いて学習を行うことで学習済モデルを生成する。入力データとしては、画像管理サーバー105に蓄積された動画ファイルの付帯情報を用いる。教師データとしては、実際にライブビューを見ながら撮影されたファイルか否かのスコア情報を用いる。これらのデータを用いて学習を行うことにより、動画ファイルの付帯情報から、ライブビューを見ながら撮影されたファイルか否かを推定する学習済モデルを生成する。なお、学習部362は、画像処理システムを稼働する前に学習済モデルを生成してもよいし、画像処理システムの稼働中に所定のタイミングで学習済モデルを生成し直してもよい。学習部362は、数万本の動画ファイルを用いて学習を行い、その後例えば数千本のテスト動画を用いて評価を行う。学習部362は、正解率が所定以上になるまで学習及び評価を繰り返し行う。学習部362は、学習手段の一例である。
【0042】
上記の機械学習アルゴリズムの具体例としては、SVMアルゴリズムの他に、最近傍法、ナイーブベイズ法、決定木等が挙げられる。また、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)も挙げられる。上記アルゴリズムのうち利用可能なものを適宜用いて本実施形態に適用することができる。
【0043】
推定部363は、動画ファイルがライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定を行う。具体的には、画像管理サーバー105から提供された動画ファイルの付帯情報を学習済モデルに入力して、出力されたスコア情報を用いて、ライブビューを見ながら撮影されたファイルか、ライブビューを見ずに撮影されたファイルかを推定する。例えば、出力されたスコア情報が所定の閾値以上であれば、入力された動画ファイルがライブビューを見ながら撮影されたと推定し、出力されたスコア情報が所定の閾値未満であれば、入力された動画ファイルがライブビューを見ずに撮影されたと推定する。推定部363は、推定手段の一例である。
【0044】
データ送受信部364は、画像処理サーバー106のNIC206を介して、学習対象又は推定対象の動画ファイルの付帯情報を、画像管理サーバー105から受信する。データ送受信部364は、取得手段や第2の受信手段の一例である。さらに、データ送受信部353は、推定対象の動画ファイルに対応付けられる推定結果を、画像管理サーバー105へ送信する。データ送受信部364は、出力手段や第2の送信手段の一例である。
【0045】
学習部362による処理には、CPU202に加えてGPU209を用いる。具体的には、学習済モデルを生成するための学習プログラムを実行する場合に、CPU202とGPU209が協働して演算を行うことで学習を行う。なお、学習部362の処理はCPU202又はGPU209のみにより演算が行われてもよい。また、推定部363も学習部362と同様にGPU209を用いてもよい。
【0046】
続いて、クライアント端末107について説明する。
クライアント端末107のCPU202は、ウェブブラウザ311を用いてクライアント端末107の表示部208の表示制御を行う。ウェブブラウザ311は、ユーザからの操作に応じて、画像管理サーバー105に対して、動画ファイルと共に、ライブビューを見ながら撮影されたファイルか否かの推定結果を要求する。ウェブブラウザ311は、画像管理サーバー105から要求に対する結果を受信すると、クライアント端末107の表示部208に
図9に示すUIを表示する。クライアント端末107のCPU202は、表示制御手段の一例である。
【0047】
続いて、
図4を参照して、画像処理サーバー106の学習部362で用いられる学習モデルについて説明する。
画像情報401は、学習モデル403に入力する入力データである。画像情報401は、動画ファイルの付帯情報である。なお、本実施形態では、動画ファイルの付帯情報を入力データとするが、入力データの収集を容易にするために、動画ファイルそのものを入力データとして学習を行ってもよい。また、動画ファイルと動画ファイルの付帯情報の双方を入力データとしてもよい。即ち、動画ファイルと動画ファイルの付帯情報のうちの少なくとも何れか一方を入力データとすればよい。
【0048】
ライブビューを見ながら撮影されたファイルかの判定スコア402が、学習モデル403から出力される出力データである。この判定スコア402は、数値0~1の確率で表されるスコア情報であり、ライブビューを見ながら撮影されたと推定されれば1に近い数値となって出力される。
【0049】
学習モデル403の学習のさせ方としては、例えば手ブレが少ない動画ファイルに対して、教師データとしてハイスコア(ライブビューを見ながら撮影された可能性が高いという評価)のタグを付けて学習させる。また、手ブレが多い動画ファイルに対して、教師データとしてロースコア(ライブビューを見ながら撮影された可能性が低いという評価)のタグを付けて学習させる。
【0050】
次に、
図5を用いて、入力データと教師データについて詳細に説明する。
まず、入力データについて説明する。
入力データ501としては、手ブレ情報、特徴的な被写体をロストした回数、設定変更後に閾値時間内の撮影か否か、及び動画記録中の設定変更の有無がある。
【0051】
手ブレ情報は、動画像が撮影された際のカメラ100の手ブレ情報であり、「あり」又は「なし」で表される。ライブビューを見ている場合には、ユーザはカメラ100がブレないように気を付けて撮影する。そのため、手ブレ情報が「あり」の場合には、ライブビューを見ずに撮影された可能性が高く、手ブレ情報が「なし」の場合には、ライブビューを見ながら撮影された可能性が高い。
また、特徴的な被写体をロストした回数は、回数が少ない程、ライブビューを見ながら撮影された可能性が高く、回数が多い程、ライブビューを見ずに撮影された可能性が高い。ライブビューを見ている場合には、ユーザは意図する被写体が画角に含まれるようにカメラ100の画角に気を付けて撮影するからである。
また、設定変更後に閾値時間内の撮影である場合には、ライブビューを見ながら撮影された可能性が高い。また、動画記録中の設定変更がある場合には、ライブビューを見ながら撮影された可能性が高い。ユーザはライブビュー表示に応じて撮像パラメータ(例えば、ホワイトバランス)の設定変更を行うことが多いからである。
本実施形態では、以上のような、手ブレ情報、特徴的な被写体をロストした回数、設定変更後に閾値時間内の撮影か否か、及び動画記録中の設定変更の有無を、入力データとして用いて学習を行う。これにより、ライブビューを見ながら撮影されたファイルか否か高精度に推定することが可能になる。
【0052】
なお、学習部362及び推定部363は、入力データとして、手ブレ情報、特徴的な被写体をロストした回数、設定変更後に閾値時間内の撮影か否か、及び動画記録中の設定変更の有無のうちのすべての項目を用いなくてもよく、何れか一つの項目を用いればよい。例えば、入力データの収集を容易にするために、入力データとして、手ブレ情報のみを用いてもよい。ただし、精度向上の観点で、手ブレ情報、特徴的な被写体をロストした回数、設定変更後に閾値時間内の撮影か否か、及び動画記録中の設定変更の有無のうちの少なくとも2以上の項目を用いることが好ましい。
【0053】
次に、教師データについて説明する。
教師データ502は、実際にライブビューを見ながら撮影されたファイルか、実際にライブビューを見ずに撮影されたかの情報である。学習対象の動画ファイルには、「見て撮影」又は「見ずに撮影」がラベル付けされている。また、「見て撮影」ではハイスコアになり、「見ずに撮影」ではロースコアになるように、スコア情報が設定されている。これらの教師データ502は、学習部362が学習モデル403の学習を行う際に用いられる。
【0054】
図6は、推定フェーズにおける画像処理システムの動作を説明する図である。
まず、S601では、カメラ100のデータ送受信部301が、推定対象の動画ファイル及び動画ファイルの付帯情報を画像管理サーバー105へ送信する。画像管理サーバー105のデータ記憶部351は、カメラ100から受信した動画ファイル及び動画ファイルの付帯情報を、RAM204に一時保持する。
次に、S602では、画像管理サーバー105のデータ送受信部353が、カメラ100から受信した動画ファイルの付帯情報を、画像処理サーバー106へ送信する。
【0055】
次に、S603では、画像処理サーバー106の推定部363が、動画ファイルの付帯情報を学習済モデルに入力してスコア情報を算出し、算出したスコア情報に基づいて、ライブビューを見ながら撮影されたファイルか否かを推定する。
次に、S604では、画像処理サーバー106のデータ送受信部364が、推定結果を画像管理サーバー105に返信する。画像管理サーバー105のデータ記憶部351が、推定結果を動画ファイルと対応付けて記憶する。
次に、S605では、画像管理サーバー105のデータ送受信部353が、クライアント端末107から動画ファイル(またはサムネイル、縮小画像)とライブビューを見ながら撮影されたファイルか否かの推定結果の送信要求を受け付ける。
そして、S606では、画像管理サーバー105のデータ送受信部353が、送信要求に対する結果をクライアント端末107へ送信する。
【0056】
以上のような動作が行われることにより、クライアント端末107は、ライブビューを見ながら撮影された動画ファイルと、ライブビューを見ずに撮影された動画ファイルとを容易に区別することが可能になる。従って、クライアント端末107は、ファイルを一覧表示する際に、ライブビューを見ながら撮影された動画ファイルのサムネイル画像と、ライブビューを見ずに撮影された動画ファイルのサムネイル画像とを区別して表示することが可能になる。
【0057】
次に、
図7のフローチャートを用いて、学習フェーズにおける処理の詳細について説明する。
図7のフローチャートに示す処理は、画像管理サーバー105及び画像処理サーバー106の電源がONにされると開始される。
図7のフローチャートに示す処理は、主として、画像処理サーバー106の学習部362により実行される。
【0058】
S701において、画像処理サーバー106のCPU202は、まず、学習フラグをOFFにリセットする。学習フラグは、学習が可能な場合はONに設定される。
S702において、画像処理サーバー106のCPU202は、画像管理サーバー105から、動画ファイルの付帯情報と、実際にライブビューを見ながら撮影されたファイルか否かの情報(教師データ)を取得する。例えば、ファイル名及びファイルパスを用いて取得する。
【0059】
S703において、画像処理サーバー106のCPU202は、S702にて取得した動画ファイルの付帯情報を学習済モデルに入力して、出力データを算出する。
S704において、画像処理サーバー106のCPU202は、S703にて算出された出力データと、S702にて取得した教師データとを比較し、比較の結果得られた両者の誤差が、所定の閾値よりも大きいか否かを判定する。画像処理サーバー106のCPU202が、誤差が所定の閾値よりも大きいと判定した場合、処理はS705へ進む。画像処理サーバー106のCPU202が、誤差が所定の閾値以下であると判定した場合、処理はS707へ進む。
【0060】
S705において、画像処理サーバー106のCPU202は、S702にて取得した動画ファイルの付帯情報を入力データとし、S702にて取得した教師データにより、学習を行う。
S706において、画像処理サーバー106のCPU202は、学習フラグをONにセットする。
S707において、画像処理サーバー106のCPU202は、S702にて取得したデータが、最終データであるか否かを判定する。画像処理サーバー106のCPU202が、最終データであると判定した場合、処理はS708へ進む。画像処理サーバー106のCPU202が、最終データではないと判定した場合、処理はS702へ戻る。
【0061】
S708において、画像処理サーバー106のCPU202は、学習フラグの状態を判定する。画像処理サーバー106のCPU202が、学習フラグがONであると判定した場合、処理はS701へ戻る。画像処理サーバー106のCPU202が、学習フラグがOFFであると判定した場合、本フローチャートの処理が終了する。
【0062】
以上のような、
図7のフローチャートの処理により、画像処理サーバー106は、学習モデルの出力データと、教師データとの誤差が小さくなるように、画像管理サーバー105に蓄積されたデータを用いて、繰り返し学習を行う。
なお、
図7では、画像管理サーバー105に蓄積されたデータを順次取得して学習を行う例を示したが、取得したデータの誤差が小さくなるまで、S704とS705の処理を繰り返し行ってもよい。
【0063】
次に、
図8のフローチャートを用いて、推定フェーズにおける処理の詳細について説明する。
図8のフローチャートに示す処理は、画像管理サーバー105及び画像処理サーバー106の電源がONにされると開始される。
図8のフローチャートに示す処理は、主として、画像処理サーバー106の推定部363により実行される。
【0064】
S801において、画像処理サーバー106のCPU202は、画像管理サーバー105から動画ファイルの付帯情報を取得する。
S802において、画像処理サーバー106のCPU202は、S801にて取得した動画ファイルの付帯情報を学習済モデルに入力して、出力データを算出する。算出した出力データに基づいて、ライブビューを見ながら撮影されたファイルか否かを推定する。画像処理サーバー106のCPU202は、推定結果を画像管理サーバー105へ送信する。その後、本フローチャートの処理が終了する。
【0065】
次に、
図9を参照して、クライアント端末107に表示されるUIについて説明する。
図9(a)は、動画像ファイルの編集に対する許可を求めるUIである。クライアント端末107のCPU202は、画像管理サーバー105から受信した推定結果に応じて、ライブビューを見ずに撮影された動画ファイルのサムネイル画像のみを一覧表示する。
図9(a)に示すUIにおいて、動画ファイルが選択されて、「YES」が押下された場合には、
図9(b)に示すUIに遷移する。
図9(b)に示すUIにおいて、手ブレ補正や、水平補正が選択された場合には、クライアント端末107のCPU202は、選択された編集処理を実行する。
【0066】
以上のような本実施形態の画像処理システムによれば、ライブビューを見ながら撮影された動画ファイルか、ライブビューを見ずに撮影された動画ファイルかを、撮影後に容易に区別することが可能になる。ライブビューを見ながら撮影された動画ファイルについては、補正や加工をせずにそのまま使用することができる。また、ライブビューを見ずに撮影した動画ファイルについては、編集や加工が必要な場合が多いが、
図9(a)に示すように、ファイルの一覧画面で、ライブビューを見ずに撮影した動画ファイルのみを表示することが可能になる。これにより、
図9(b)に示すように、ライブビューを見ずに撮影した動画ファイルのみに、編集や加工を行うことができる。即ち、ユーザはファイル整理や編集作業を迅速に行うことができる。
【0067】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0068】
上述の実施形態の、第1の変形例として、画像処理サーバー106を設けず、カメラ100内で学習や推定を行ってもよい。
【0069】
上述の実施形態の、第2の変形例として、画像処理サーバー106のCPU202が、機械学習された学習済モデルを用いて処理を行う構成に代えて、ルックアップテーブル(LUT)等のルールベースの処理を実行する構成でもよい。その場合には、画像処理サーバー106のCPU202は、動画ファイルの付帯情報とライブビューを見ながら撮影されたファイルか否かの対応関係を表すLUTを予め生成し、画像処理サーバー106のROM203等に格納する。画像処理サーバー106のCPU202が、格納されたLUTを参照して、入力された動画ファイルの付帯情報から、ライブビューを見ながら撮影されたか、ライブビューを見ずに撮影されたかの推定を行う。つまり、画像処理サーバー106のCPU202が、前述の推定部363と同様に機能する。
【0070】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1又は複数のプロセッサ又は回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータ又は分離した複数のプロセッサ又は回路のネットワークを含みうる。
【符号の説明】
【0071】
100:カメラ、104:ネットワーク、105:画像管理サーバー、106:画像処理サーバー、107:クライアント端末