(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-06
(45)【発行日】2024-12-16
(54)【発明の名称】情報処理装置及び方法、プログラム、記憶媒体
(51)【国際特許分類】
H04N 23/65 20230101AFI20241209BHJP
H04N 23/60 20230101ALI20241209BHJP
H04N 23/611 20230101ALI20241209BHJP
G06T 7/00 20170101ALI20241209BHJP
【FI】
H04N23/65
H04N23/60 500
H04N23/60 300
H04N23/611
G06T7/00 660A
(21)【出願番号】P 2020096335
(22)【出願日】2020-06-02
【審査請求日】2023-05-26
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】高橋 誠治
【審査官】辻本 寛司
(56)【参考文献】
【文献】特開2011-077694(JP,A)
【文献】国際公開第2009/133377(WO,A1)
【文献】国際公開第2019/223493(WO,A1)
【文献】韓国公開特許第10-2016-0035785(KR,A)
【文献】特開2006-254370(JP,A)
【文献】特開2010-130087(JP,A)
【文献】特開2016-218760(JP,A)
【文献】国際公開第2013/118491(WO,A1)
【文献】特開2013-197892(JP,A)
【文献】特開2014-022970(JP,A)
【文献】特開2013-026935(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/65
H04N 23/60
H04N 23/611
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
第1の動画像を取得する取得手段と、
前記第1の動画像から一部の画像を抽出する抽出手段と、
前記第1の動画像に含まれる被写体を認識する認識処理を行う認識手段と、
前記認識処理に要する処理負荷を抑えるべきか否かを判断する判断手段と、
前記判断手段が前記認識処理に要する処理負荷を抑えるべきと判断した場合は、前記認識手段に、前記第1の動画像から抽出された前記一部の画像を用いて前記認識処理を行わせるように制御し、前記判断手段が前記認識処理に要する処理負荷を抑えるべきでないと判断した場合は、前記認識手段に前記第1の動画像を用いて前記認識処理を行わせるように制御する制御手段と、
を備え、
前記判断手段
は、前記認識処理の結果を利用する操作を受け付けている
場合、前記認識処理に要する処理負荷を抑えるべきと判断することを特徴とする情報処理装置。
【請求項2】
前記認識処理に要する処理負荷を抑えるべき場合、前記制御手段は、前記抽出手段により前記第1の動画像から一部の画像を抽出させた後、前記認識手段に、前記第1の動画像から抽出された前記一部の画像を用いて前記認識処理を行わせるように制御し、
前記認識処理に要する処理負荷を抑えるべき場合でない場合、前記制御手段は、前記抽出手段により前記第1の動画像から一部の画像を抽出させることなく、前記認識手段に前記第1の動画像を用いて前記認識処理を行わせるように制御することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記一部の画像は、動画像または静止画像であることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記一部の画像を用いた前記認識処理に要する処理負荷は、前記第1の動画像を用いた前記認識処理に要する処理負荷よりも小さいことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記認識手段は、外部のサーバに前記認識処理に用いる画像を送信し、前記サーバから前記認識処理の結果を受信することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
前記
判断手段は、バッテリの残量が所定の値以下の場合に、前記認識処理に要する処理負荷を抑えるべき場合であると判定することを特徴とする請求項1乃至
5のいずれか1項に記載の情報処理装置。
【請求項7】
前記
判断手段は、前記情報処理装置の累積の通信量が所定の量以上の場合に、前記認識処理に要する処理負荷を抑えるべき場合であると判定することを特徴とする請求項1乃至
6のいずれか1項に記載の情報処理装置。
【請求項8】
前記一部の画像は、前記第1の動画像において、顔または動きを検出した箇所を含む画像であることを特徴とする請求項1乃至
7のいずれか1項に記載の情報処理装置。
【請求項9】
前記認識手段により得られた前記認識処理の結果を前記第1の動画像に関連付けて記憶する記憶手段をさらに備えることを特徴とする請求項1乃至
8のいずれか1項に記載の情報処理装置。
【請求項10】
前記制御手段は、前記認識手段に前記一部の画像を用いて前記認識処理を行わせた後、前記認識処理に要する処理負荷を抑えるべき場合ではなくなったと判定した場合に、前記認識手段に前記第1の動画像を用いて前記認識処理を行わせるように制御することを特徴とする請求項1乃至
9のいずれか1項に記載の情報処理装置。
【請求項11】
前記取得手段は、被写体を撮像する撮像手段であることを特徴とする請求項1乃至
10のいずれか1項に記載の情報処理装置。
【請求項12】
第1の動画像を取得する取得工程と、
前記第1の動画像から一部の画像を抽出する抽出工程と、
前記第1の動画像に含まれる被写体を認識する認識処理を行う認識工程と、
前記認識処理に要する処理負荷を抑えるべきか否かを判断する判断工程と、
前記判断工程において、前記認識処理に要する処理負荷を抑えるべきと判断した場合は、前記認識工程において、前記第1の動画像から抽出された前記一部の画像を用いて前記認識処理を行わせるように制御し、前記判断工程において、前記認識処理に要する処理負荷を抑えるべきでないと判断した場合は、前記認識工程において、前記第1の動画像を用いて前記認識処理を行わせるように制御する制御工程と、
を有し、
前記判断工程で
は、前記認識処理の結果を利用する操作を受け付けている
場合、前記認識処理に要する処理負荷を抑えるべきと判断することを特徴とする情報処理方法。
【請求項13】
コンピュータを、請求項1乃至
11のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項14】
コンピュータを、請求項1乃至
11のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像から被写体を認識する技術に関するものである。
【背景技術】
【0002】
近年、機械学習を中心としたAI技術の開発が盛んに行われている。例えば、カメラで撮影した動画や静止画に含まれる被写体の情報(例えば、人物名、物体名、性別、年齢など)を自動で認識する技術の開発が進められている。このような技術を利用し、カメラで撮影した動画にタグを付与することが考えられる。
【0003】
特許文献1には、被写体認識の対象となる画像からデータ量を低減した画像を被写体認識に用いることにより、被写体認識に要する処理負荷を低減させる手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の特許文献1に記載のシステムでは、データ量を低減した画像を被写体認識に用いるため、必ずしも信頼度の高い認識結果が得られるとは限らない。一方で、信頼度の高い認識結果を得るためには、データ量を低減していない画像を被写体認識に用いる必要があり、被写体認識に要する時間、バッテリ消費、通信量といった処理負荷が高くなる。このような被写体認識の信頼度と処理負荷の高さがトレードオフの関係にある状況において、ユーザが処理負荷を抑えることを優先したい場合と、信頼度の高い認識結果を得ることを優先したい場合がそれぞれあると考えられる。
【0006】
例えば、ユーザがカメラでタグの表示や検索の操作をしている場合、ユーザはタグ(被写体認識結果)をすぐに取得したいものと考えられる。また、カメラのバッテリ残量が少ない場合、ユーザはバッテリ残量をなるべく抑えたいものと考えられる。また、ユーザがカメラの通信量に応じて通信料金を支払う場合を想定すると、累積通信量が多い場合、ユーザは通信量をなるべく抑えたいものと考えられる。これらの場合は、ユーザは処理負荷を抑えることを優先したいものと考えられる。
【0007】
一方で、上記のいずれの条件にも合致しない場合は、ユーザはより信頼度の高い認識結果を得ることを優先したいものと考えられる。
【0008】
しかし、従来の技術では、被写体の認識の信頼度と処理負荷の関係をユーザの意図に合うように制御することはできなかった。
【0009】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、ユーザの意図に合うように、被写体の認識の信頼度と処理負荷の関係を制御することができる情報処理装置を提供することである。
【課題を解決するための手段】
【0010】
本発明に係わる情報処理装置は、第1の動画像を取得する取得手段と、前記第1の動画像から一部の画像を抽出する抽出手段と、前記第1の動画像に含まれる被写体を認識する認識処理を行う認識手段と、前記認識処理に要する処理負荷を抑えるべきか否かを判断する判断手段と、前記判断手段が前記認識処理に要する処理負荷を抑えるべきと判断した場合は、前記認識手段に、前記第1の動画像から抽出された前記一部の画像を用いて前記認識処理を行わせるように制御し、前記判断手段が前記認識処理に要する処理負荷を抑えるべきでないと判断した場合は、前記認識手段に前記第1の動画像を用いて前記認識処理を行わせるように制御する制御手段と、を備え、前記判断手段は、前記認識処理の結果を利用する操作を受け付けている場合、前記認識処理に要する処理負荷を抑えるべきと判断することを特徴とする。
【発明の効果】
【0011】
本発明によれば、ユーザの意図に合うように、被写体の認識の信頼度と処理負荷の関係を制御することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態に係わる情報処理装置とサーバ装置とからなるシステムの構成を示すブロック図。
【
図2】情報処理装置において記憶する管理情報の一例を示す概念図。
【
図3】情報処理装置およびサーバ装置の処理の概要を説明するシーケンス図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0014】
<システムの構成>
図1は、本発明の一実施形態に係わる情報処理装置とサーバ装置とからなるシステムの構成を示すブロック図である。
【0015】
図1において、情報処理装置100は、例えばデジタルカメラ、スマートフォン端末、タブレット端末、ゲーム機器などのように、撮像機能および通信機能を有する装置からなる。
【0016】
制御部101は、入力された信号や、プログラムに従って、情報処理装置100の各部を制御する制御部であり、例えばCentral Processing Unit(CPU)で実装される。なお、制御部101が情報処理装置100の全体を制御する代わりに、複数のハードウェアが処理を分担することにより、装置全体を制御してもよい。
【0017】
メモリ102は、各種データを一時的に保持するバッファメモリや、制御部101の作業領域等として使用される。不揮発性メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行されるプログラム等が格納される。
【0018】
操作部104は、情報処理装置100に対する指示をユーザから受け付けるために用いられる。操作部104は、例えば、ユーザが情報処理装置100の電源のON/OFFを指示するための電源ボタンや、通信機能のON/OFFを指示するための操作ボタンを含む。また、後述する表示部105に形成されるタッチパネルも操作部104に含まれる。
【0019】
表示部105は、対話的な操作のためのGUI(Graphical User Interface)表示を行う。なお、表示部105は必ずしも情報処理装置100が内蔵する必要はない。情報処理装置100は表示内容を制御する表示制御機能を少なくとも有していればよい。
【0020】
記憶媒体106は、各種データを記憶することができる。記憶媒体106は、情報処理装置100に着脱可能なように構成されていてもよいし、内蔵されていてもよい。すなわち、情報処理装置100は少なくとも記憶媒体106にアクセスする手段を有していればよい。
【0021】
撮像部107は、例えば、光学系と、絞り・ズーム・フォーカスなどを駆動制御する駆動制御部とを有する光学レンズユニットと、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などを備えて構成される。撮像部107は、制御部101に制御されることにより、撮像部107に含まれる光学レンズユニットで結像された被写体像を、撮像素子により電気信号に変換し、ノイズ低減処理などを行い、デジタルの画像データを出力する。
【0022】
通信部110は、他の機器との通信を実現するための通信ユニットである。通信部110は、例えば無線通信のためのアンテナと無線信号を処理するための通信コントローラとから構成され、W-CDMA(UMTS)やLTE(Long Term Evolution)等の規格に従って公衆無線通信を実現する。制御部101は、通信部110を制御し、公衆回線140を経由して、サーバ装置120と通信する。
【0023】
サーバ装置120は、例えばパーソナルコンピュータ等のように、被写体認識機能および通信機能を有する装置からなる。
【0024】
制御部121は、入力された信号や、プログラムに従って、サーバ装置120の各部を制御する制御部であり、例えばCentral Processing Unit(CPU)で実装される。なお、制御部121がサーバ装置120の全体を制御する代わりに、複数のハードウェアが処理を分担することにより、装置全体を制御してもよい。制御部121は、後述の通信部130を介して受信した動画または静止画に含まれる被写体情報(例えば、人物名、動作、感情など)を認識する認識処理機能を有する。
【0025】
メモリ122は、各種データを一時的に保持するバッファメモリや、制御部121の作業領域等として使用される。不揮発性メモリ123は、電気的に消去・記録可能な不揮発性のメモリであり、制御部121で実行されるプログラム等が格納される。
【0026】
操作部124は、サーバ装置120に対する指示をユーザから受け付けるために用いられる。操作部124は、例えば、ユーザがサーバ装置120の電源のON/OFFを指示するための電源ボタンを含む。なお、操作部124は、必ずしもサーバ装置120が内蔵する必要はない。サーバ装置120は操作内容を制御する制御機能を少なくとも有していればよい。
【0027】
表示部125は、対話的な操作のためのGUI(Graphical User Interface)の表示を行う。なお、表示部125は必ずしもサーバ装置120が内蔵する必要はない。サーバ装置120は表示内容を制御する表示制御機能を少なくとも有していればよい。
【0028】
記憶媒体126は、各種データを記憶することができる。記憶媒体126は、サーバ装置120に着脱可能なように構成されていてもよいし、内蔵されていてもよい。すなわち、サーバ装置120は少なくとも記憶媒体126にアクセスする手段を有していればよい。
【0029】
通信部130は、他の機器との通信を実現するための通信ユニットである。通信部130は、例えば通信信号を処理するための通信コントローラから構成され、IEEE802.3規格に従った有線通信を実現する。制御部121は、通信部130を制御し、公衆回線140を経由して、情報処理装置100と通信する。
【0030】
<システムの動作の概要>
次に、本実施形態におけるシステムの動作の概要について説明する。
図2は、本実施形態におけるシステムを実現するために、情報処理装置100が記憶媒体106に記憶する情報の一例を示す図である。
【0031】
管理情報200は、情報処理装置100で撮影した動画(動画像)に関する情報であり、少なくともファイル名201、顔検出タイムスタンプ202、動き検出タイムスタンプ203、タグ204、認識方法205の組み合わせで構成される。管理情報200は、撮影した動画に関連付けて記憶される。
【0032】
ファイル名201は、情報処理装置100で撮影した動画のファイル名である。顔検出タイムスタンプ202は、動画中に顔を検出した箇所を示すタイムスタンプである。動き検出タイムスタンプ203は、動画中に動きを検出した箇所を示すタイムスタンプである。タグ204は、動画に含まれる被写体に関する情報である。認識方法205は、タグ204を取得するために用いた被写体認識の方法を示す情報である。
【0033】
図3は、本実施形態のシステムにおける処理の流れを示したシーケンス図である。
図3において、情報処理装置100とサーバ装置120は、互いに通信部110および通信部130を介した接続を確立した状態であるものとする。また、
図3に示す通信処理は、いずれも各装置の通信部110および通信部130を介して行うものとする。また、
図3のステップS309~S312に示す処理は、ステップS315~317に示す処理と比べて、処理に要する負荷(時間、バッテリ消費、通信量)が小さいものとする。
【0034】
情報処理装置100の制御部101は、ステップS301において、操作部104を介して動画撮影を開始する旨の操作を受け付けると、ステップS302において、撮像部107により取得した画像データをメモリ102に記憶する。
【0035】
その後、情報処理装置100の制御部101は、ステップS302で記憶した画像データ中に顔を検出した場合は、ステップS303において、顔検出タイムスタンプをメモリ102に記憶する。また、情報処理装置100の制御部101は、ステップS302で記憶した画像データ中に動きを検出した場合は、ステップS304において、動き検出タイムスタンプをメモリ102に記憶する。
【0036】
情報処理装置100の制御部101は、ステップS305において、操作部104を介して動画撮影を終了する旨の操作を受け付けるまで、ステップS302~S304の処理を繰り返す。
【0037】
情報処理装置100の制御部101は、ステップS305において、操作部104を介して動画撮影を終了する旨の操作を受け付けると、ステップS306において、ステップS302で記憶した複数の画像データを所定の動画フォーマットに変換して記憶媒体106に保存する。
【0038】
続いて、情報処理装置100の制御部101は、ステップS307において、下記の情報を管理情報200に記憶する。
・ファイル名201:ステップS306で保存したファイル名
・顔検出タイムスタンプ202:ステップ303で記憶した顔検出タイムスタンプ
・動き検出タイムスタンプ203:ステップ304で記憶した動き検出タイムスタンプ
続いて、情報処理装置100の制御部101は、ステップS308において、操作部104を介して、ステップS306で保存した動画のタグ表示を要求する操作を受け付けると、ステップS309において、該当する動画から部分動画を抽出する。ここで情報処理装置100の制御部101は、管理情報200を参照し、該当する動画から顔検出タイムスタンプ202および動き検出タイムスタンプ203の前後数フレームを抽出した動画を生成する。
【0039】
情報処理装置100の制御部101は、ステップS309で抽出した動画の数だけステップS310~S312に示す処理を繰り返す。情報処理装置100の制御部101は、ステップS310において、サーバ装置120に対して、被写体認識要求を送信する。情報処理装置100の制御部101は、その被写体認識要求に、ステップS309で抽出した動画を含める。
【0040】
サーバ装置120の制御部121は、ステップS310での被写体認識要求を受信すると、ステップS311において、受信した動画に含まれる被写体情報(例えば、人物名、動作、感情など)を認識する。その後、サーバ装置120の制御部121は、ステップS312において、情報処理装置100に対して、被写体認識応答を送信する。サーバ装置120の制御部121は、その被写体認識応答に、ステップS311において認識された被写体認識結果を含める。
【0041】
情報処理装置100の制御部101は、被写体認識応答S312を受信すると、ステップS313において、下記の情報を管理情報200に追加記憶する。
・タグ204:ステップS312で受信した全ての被写体認識結果
・認識方法205:「部分」
続いて、情報処理装置100の制御部101は、ステップS314において、ステップ312で受信した被写体認識結果のタグを表示部105に表示する。
【0042】
このように、情報処理装置100の制御部101は、S308でのタグ表示操作を受け付けることにより、処理負荷(ここでは時間)を抑えるべきと判定し、動画から所定の部分を抽出した動画を被写体認識に用いる。これにより、ユーザが被写体認識結果を取得するまでの時間を短縮することができる。
【0043】
続いて、情報処理装置100の制御部101は、ステップS315において、操作部104を介して、動画のタグ表示を終了する操作を受け付けると、ステップS316において、サーバ装置120に対して、被写体認識要求を送信する。情報処理装置100の制御部101は、その被写体認識要求に、ステップS306で保存した動画を含める。
【0044】
サーバ装置120の制御部121は、ステップS316での被写体認識要求を受信すると、ステップS317において、受信した動画に含まれる被写体情報(例えば、人物名、動作、感情など)を認識する。その後、サーバ装置120の制御部121は、ステップS318において、情報処理装置100に対して、被写体認識応答を送信する。サーバ装置120の制御部121は、その被写体認識応答に、ステップS317の被写体認識結果を含める。
【0045】
情報処理装置100の制御部101は、ステップS318での被写体認識応答を受信すると、ステップS319において、下記の情報を管理情報200に追加記憶する。
・タグ204:ステップS318で受信した被写体認識結果
・認識方法205:「全体」
このように、情報処理装置100の制御部101は、タグ表示終了操作を受け付けることにより、処理負荷(ここでは時間)を抑えなくてもよいと判定し、動画全体を被写体認識に用いる。これにより、ユーザはより信頼度の高い被写体認識結果を得ることができる。
【0046】
<各装置の動作>
続いて、上記の動作を実現するための情報処理装置100の詳細な動作について、
図4を参照して説明する。
【0047】
図4は、本実施形態の情報処理装置100の動作を示すフローチャートである。なお、本フローチャートに示す処理は、情報処理装置100の制御部101が入力信号やプログラムに従い、情報処理装置100の各部を制御することにより実現される。また、情報処理装置100は、サーバ装置120と通信部110を介した接続を確立した状態であるものとする。
【0048】
ステップS401では、制御部101は、操作部104を介して、情報処理装置100の操作を終了する旨の操作(例えば、電源OFF操作など)を受け付けたか否かを判定する。制御部101は、受け付けたと判定した場合は、本フローチャートの処理を終了し、そうでないと判定した場合は、ステップS402に処理を進める。
【0049】
ステップS402では、制御部101は、操作部104を介して動画撮影を開始する旨の操作を受け付けたか否かを判定する。制御部101は、受け付けたと判定した場合は、ステップS403に処理を進め、そうでないと判定した場合は、ステップS411に処理を進める。
【0050】
ステップS403では、制御部101は、撮像部107により取得された画像データをメモリ102に記憶する。本ステップは、
図3のステップS302の処理に相当する。
【0051】
ステップS404では、制御部101は、ステップS403で記憶した画像データ中に顔が含まれるか否かを判定する。制御部101は、含まれると判定した場合は、ステップS405に処理を進め、そうでないと判定した場合は、ステップS406に処理を進める。
【0052】
ステップS405では、制御部101は、ステップS404で記録したタイムスタンプをメモリ102に記憶する。本ステップは、
図3のステップS303の処理に相当する。
【0053】
ステップS406では、制御部101は、ステップS403で記憶した画像データ中に動きが含まれるか否かを判定する。制御部101は、含まれると判定した場合は、ステップS407に処理を進め、そうでないと判定した場合は、ステップS408に処理を進める。
【0054】
ステップS407では、制御部101は、ステップS406で記録したタイムスタンプをメモリ102に記憶する。本ステップは、
図3のステップS304の処理に相当する。
【0055】
ステップS408では、制御部101は、操作部104を介して動画撮影を終了する旨の操作を受け付けたか否かを判定する。制御部101は、受け付けたと判定した場合は、ステップS409に処理を進め、そうでないと判定した場合は、ステップS403に処理を戻す。
【0056】
ステップS409では、制御部101は、ステップS403で記憶した複数の画像データを所定の動画フォーマットに変換して記憶媒体106に保存する。本ステップは、
図3のステップS306の処理に相当する。
【0057】
ステップS410では、制御部101は、下記の情報を管理情報200に記憶する。
・ファイル名201:ステップS409で保存したファイル名
・顔検出タイムスタンプ202:ステップ405で記憶したタイムスタンプ
・動き検出タイムスタンプ203:ステップ407で記憶したタイムスタンプ
本ステップは、
図3のステップS307の処理に相当する。
【0058】
ステップS411では、制御部101は、処理負荷を抑えるべきか否かを判定する。制御部101は、下記の条件のいずれかに合致した場合に、処理負荷を抑えるべきと判定する。
・操作部104を介してタグ204を表示または検索する操作を受け付けた場合
・バッテリ残量が所定値以下の場合
・通信部110を介した通信の累積量が所定の量以上の場合
例えば、ユーザが情報処理装置100でタグの表示や検索の操作をしている場合、ユーザはタグ(被写体認識結果)をすぐに取得したいものと考えられる。また、情報処理装置100のバッテリ残量が少ない場合、ユーザはバッテリ残量をなるべく抑えたいものと考えられる。また、ユーザが情報処理装置100の通信量に応じて通信料金を支払う場合を想定すると、累積通信量が多い場合、ユーザは通信量をなるべく抑えたいものと考えられる。一方で、上記のいずれの条件にも合致しない場合(上記の条件の場合以外)は、ユーザはより信頼度の高い被写体認識結果を取得したいものと考えられる。
【0059】
制御部101は、処理負荷を抑えるべきと判定した場合は、タグ204を未付与の動画について、ステップS412~S415の処理を繰り返す。そうでない場合、制御部101は、認識方法205が「全体」ではない動画について、ステップS416~S418の処理を繰り返す。なお、前者の処理は、後者の処理と比べて、処理に要する負荷(時間、バッテリ消費、通信量)が小さいものとする。
【0060】
ステップS412では、制御部101は、動画から部分動画を抽出する。ここで制御部101は、管理情報200を参照し、該当する動画から顔検出タイムスタンプ202および動き検出タイムスタンプ203の前後数フレームを抽出した動画を生成する。本ステップは、
図3のステップS309の処理に相当する。
【0061】
制御部101は、ステップS412で抽出した動画について、ステップS413~S414の処理を繰り返す。
【0062】
ステップS413では、制御部101は、通信部110を介して、サーバ装置120に対して、被写体認識要求を送信する。制御部101は、その被写体認識要求に、ステップS412で抽出した動画を含める。本ステップは、
図3のステップS310の処理に相当する。
【0063】
ステップS414では、制御部101は、通信部110を介して、サーバ装置120から、被写体認識応答を受信したか否かを判定する。制御部101は、受信したと判定した場合は、次のステップ(未認識の動画があればステップS413、なければステップS415)に処理を進め、そうでないと判定した場合は、再びステップS414の処理を繰り返す。
【0064】
ステップS415では、制御部101は、被写体認識対象の動画について、下記の情報を管理情報200に追加記憶する。
・タグ204:ステップS414で受信した全ての被写体認識結果
・認識方法205:「部分」
本ステップは、
図3のステップS313の処理に相当する。
【0065】
このように、情報処理装置100の制御部101は、処理負荷(時間、バッテリ消費、通信量など)を抑えるべきと判定した場合に、動画から所定の部分を抽出した動画を被写体認識に用いる。これにより、ユーザが被写体認識結果を取得するまでの時間を短縮し、バッテリ消費や通信量を抑えることができる。
【0066】
ステップS416では、制御部101は、通信部110を介して、サーバ装置120に対して、被写体認識要求を送信する。制御部101は、その被写体認識要求に、被写体認識対象の動画を含める。本ステップは、
図3のステップS316の処理に相当する。
【0067】
ステップS417では、制御部101は、通信部110を介して、サーバ装置120から、被写体認識応答を受信したか否かを判定する。制御部101は、受信したと判定した場合は、ステップS418に処理を進め、そうでないと判定した場合は、再びステップS417の処理を繰り返す。
【0068】
ステップS418では、制御部101は、被写体認識対象の動画について、下記の情報を管理情報200に追加記憶する。
・タグ204:ステップS417で受信した被写体認識結果
・認識方法205:「全体」
本ステップは、
図3のステップS319の処理に相当する。
【0069】
このように、情報処理装置100の制御部101は、処理負荷(時間、バッテリ消費、通信量など)を抑えなくてもよいと判定した場合に、動画全体を被写体認識に用いる。これにより、ユーザはより信頼度の高い被写体認識結果を得ることができる。
【0070】
サーバ装置120の動作については、情報処理装置100から被写体認識要求を受信すると、その被写体認識要求に含まれる動画に対して被写体認識を実行し、情報処理装置100に被写体認識応答を送信する、という簡易な内容であるため、図示を省略する。
【0071】
以上説明したように、本実施形態の情報処理装置は、被写体認識に要する処理負荷を抑えるべきか否かを判定して、被写体認識に動画の一部分を抽出した画像を用いるか、動画全体を用いるかを切り替える。これにより、被写体認識に要する処理負荷を抑えるべき場合には処理負荷を抑えることを優先し、そうでない場合には信頼度の高い認識結果を得ることを優先できる。
【0072】
(実施形態の変形例)
なお、上述の実施形態では、外部のサーバ装置から被写体認識結果を取得する構成を例に挙げたが、情報処理装置の内部に被写体認識機能を有する構成でもよい。すなわち、処理負荷(時間、バッテリ消費など)を抑えるべき場合には、部分抽出した動画を用いて被写体認識を実行し、そうでない場合は動画全体を用いて被写体認識を実行する構成でもよい。
【0073】
また、上述の実施形態では、処理負荷を抑える場合に部分抽出した動画を用いる構成を例に挙げたが、静止画(静止画像)を抽出する構成でもよい。
【0074】
また、上述の実施形態では、部分抽出した全ての動画について、同一のサーバ装置で被写体認識する構成を例に挙げたが、顔を検出した箇所の動画と、動きを検出した箇所の動画に対して、それぞれ別のサーバ装置で被写体認識を行う構成でもよい。例えば、サーバ装置によって被写体認識の得手不得手がある場合には、得意なサーバ装置を選択することにより、より信頼度の高い被写体認識結果を得ることができる。
【0075】
また、上述の実施形態では被写体認識のアルゴリズムについて、特に限定せずに説明したが、機械学習を用いて被写体を認識する機能を実装してもよい。このようにすることで、より精度よく被写体を認識することができる場合がある。機械学習の具体的なアルゴリズムとしては、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシンなどが挙げられる。また、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)も挙げられる。適宜、上記アルゴリズムのうち利用できるものを用いて本実施形態に適用することができる。
【0076】
例えば、ディープラーニングのような学習モデルを用いて被写体を認識する機能を実装場合、例えば人物の写った画像を入力データとし、その人物を正しく認識した場合の認識結果を教師データとして学習を行うことにより学習済みモデルをあらかじめ作成しておく。この学習モデルをサーバ装置に搭載し、部分抽出した動画を入力として学習済みモデルにより推論処理を行い、認識結果を出力として得ることができる。
【0077】
また上述のとおり、顔を検出した箇所の動画を入力する学習済みモデルと、動きを検出した箇所の動画を入力する学習済みモデルとを個別に用意してもよい。この場合、動画のうち顔を検出した箇所の動画を入力データとし、顔を検出した箇所の動画から人物を正しく認識した場合の認識結果を教師データとして学習して、学習済みモデルをあらかじめ生成しておく。同様に、動きを検出した箇所の動画を入力データとし、動きを検出した箇所の動画から人物を正しく認識した場合の認識結果を教師データとして学習して、学習済みモデルをあらかじめ生成しておく。このようにすることで、より精度よく被写体を認識することができる。
【0078】
なお、ディープラーニングのような学習モデルを実装する場合には、データをより多く並列処理する必要があるため、CPUだけでなくGPUを用いてもよい。このようにすれば、より効率的な処理が可能である。具体的には、学習モデルを含む学習プログラムを実行する場合に、CPUとGPUが協働して演算を行うことで学習を行う。なお、学習の処理はGPUのみにより演算が行われてもよい。また、同様に推論の処理もGPUを用いてもよい。
【0079】
なお、上述の説明では被写体認識機能を機械学習された学習済みモデルを用いて処理を実行したが、ルックアップテーブル(LUT)等のルールベースの処理を行ってもよい。その場合には、例えば、学習済みモデルの入力データと出力データとの関係をあらかじめLUTとして作成する。そして、この作成したLUTを装置のメモリに格納しておくとよい。被写体認識の処理を行う場合には、この格納されたLUTを参照して、出力データを取得することができる。つまりLUTは、前記学習済みモデルと同等の処理をするためのプログラムとして、CPUあるいはGPUなどと協働で動作することにより、被写体認識の処理を行う。
【0080】
また、上述の実施形態では、動画全体に対して一様にタグを付与する構成を例に挙げたが、タイムスタンプに対応させてタグを付与する構成でもよい。
【0081】
また、上述の実施形態では、動画撮影完了後に被写体認識を実行する構成を例に挙げたが、動画撮影中に被写体認識を実行する構成でもよい。すなわち、動画撮影中に顔や動きを検出した際に、該当フレームを含む数フレームの動画を生成し、被写体認識を実行する構成でもよい。
【0082】
(他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1または複数のプロセッサーまたは回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータまたは分離した複数のプロセッサーまたは回路のネットワークを含みうる。
【0083】
プロセッサーまたは回路は、中央演算処理装置(CPU)、マイクロプロセッシングユニット(MPU)、グラフィクスプロセッシングユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)を含みうる。また、プロセッサーまたは回路は、デジタルシグナルプロセッサ(DSP)、データフロープロセッサ(DFP)、またはニューラルプロセッシングユニット(NPU)を含みうる。
【0084】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0085】
100:情報処理装置、101:制御部(抽出手段)、102:メモリ、103:不揮発性メモリ、104:操作部、105:表示部、106:記憶媒体、107:撮像部、110:通信部