図1は、本実施形態における情報処理装置の一例を示す図である。情報処理装置1は、取得部2、出力部3を含む。情報処理装置1の一例として、後述するサーバ15が挙げられる。
取得部2は、互いに撮影時の年齢情報が対応する、第1被写体の画像である第1画像と、第2被写体の1又は複数の画像とを取得する。ここで、本実施形態において「年齢」及び「年齢情報」には、年齢(何歳)、月齢(何歳何ヶ月)、日齢(何日)が含まれる。また、「年齢情報が対応する」、「年齢が対応する」、及び「対応する年齢」とは、比較する被写体同士の年齢が同じ場合、及び年齢差が所定値以下の場合も含む。また、「年齢を対応させる」とは、比較する画像に写っている被写体の撮影当時の年齢が同じ画像を比較可能に配置したり、同期させたり、年齢差が所定値以下の画像同士を比較可能に配置することを含む。なお、本実施形態では、「年齢情報が対応する」の一例として、比較する被写体同士の年齢が同じ場合について説明する。取得部2の一例として、後述する画像取得部34が挙げられる。
出力部3は、第1画像の画像情報と第1画像に付与されている情報のうち少なくともいずれかに基づいて、第1画像と、第2被写体の1又は複数の画像のうち第1画像に対応する第2画像とを比較可能に出力する。出力部3の一例として、後述する出力部38が挙げられる。
このように構成することにより、対応する年齢の時の被写体同士を、より比較しやすくすることができる。
出力部3は、第2被写体の1又は複数の画像のうち、第1画像の画像情報に基づく構図に対応する画像を、第2画像として出力することができる。このように構成することにより、被写体間で構図が対応する画像を出力することで、被写体の比較がしやすくなる。
出力部3は、第2被写体の1又は複数の画像のうち、第1画像に付与されている場所情報に対応する画像を、第2画像として出力することができる。このように構成することにより、写真に撮影場所の情報を関連付けておき、被写体間で撮影場所が対応する画像を比較することができる。
出力部3は、第2被写体の1又は複数の画像のうち、第1画像に付与されているテキスト情報に対応する画像を、第2画像として出力することができる。このように構成することにより、写真に対して付与されたテキスト(例えば「初めてハイハイした日」、「初めて歩いた日」等)が対応する写真を比較することができる。
出力部3は、第2被写体の1又は複数の画像のうち、第1画像に撮像されている被写体の組み合わせに対応する画像を、第2画像として出力することができる。このように構成することにより、被写体の組み合わせ(両親と本人等)が同じ写真を比較することができる。
出力部3は、第1被写体の複数の第1画像と、複数の第1画像にそれぞれ対応する第2被写体の第2画像とをそれぞれ比較可能に表示する複数の対応フレーム画像を含む動画を出力する。
このように構成することにより、年齢が対応する画像を含む動画を作成することができる。これにより、年齢が対応する被写体を複数時点で比較することができる。
取得部3は、互いに撮影時の年齢情報が対応する、第1被写体の複数の画像と、第2被写体の複数の画像とを取得する。第1被写体の複数の画像は、複数の第1画像と、第2被写体の複数の画像の中に対応する画像がない1以上の第3画像と、を含む。第2被写体の複数の画像は、複数の第2画像と、第1被写体の複数の画像の中に対応する画像がない1以上の第4画像とを含む。動画は、複数の対応フレーム画像と、いずれかの第3画像と第4画像を比較可能に表示する1以上の非対応フレーム画像とを含む。
このように構成することにより、年齢が対応する被写体の画像について互いに対応するものは同じフレームで確認できるようにした上で、対応する画像の数より多くの数のフレームを含む動画を作成することができる。
非対応フレーム画像の数は、第3画像と第4画像のうち、枚数の少ない方に基づいて設定されてもよい。このように構成することにより、動画において被写体が出現する数を等しくすることができる。
非対応フレーム画像の数は、動画の所定フレーム数から、対応フレーム数の数を引いたフレーム数としてもよい。このように構成することにより、所定長さの動画を生成するにあたり、できるだけ対応している画像の数を多くすることができる。
図2は、本実施形態における画像収集管理システムのネットワーク構成の一例を示す図である。画像収集管理システム11は、1以上のユーザ端末12、サーバ15、及び通信ネットワーク16を含む。1以上のユーザ端末12、及びサーバ15は、通信ネットワーク16を介して、相互に通信可能に接続されている。
ユーザ端末12は、例えばユーザが携帯するスマートフォン、タブレット端末、携帯電話等の通信ネットワーク16に接続可能な通信機能を有する携帯電子端末装置である。ユーザ端末12は、操作表示部13、音が入力されるマイクロフォン、音を出力するスピーカ、及びカメラ等を有する。操作表示部13は、画面14への入力操作が可能であるとともに、画面14に画像を表示するデバイスであり、例えばタッチパネルディスプレイである。
また、ユーザ端末12は、被写体を静止画及び動画で撮影するための撮像装置を有する。撮像装置は、ユーザ端末12に内蔵されていてもよいし、外付けタイプのものであってもよい。なお、ユーザ端末12は、いわゆるパーソナルコンピュータであってもよいし、インターネット等の通信網に接続可能なカメラであってもよい。撮像装置で撮像された写真や動画は、ユーザ端末12内の記憶装置に格納されてもよいし、着脱式記憶媒体等に記憶されてもよい。
ユーザ端末12は、インターネット上のアプリケーションプログラムのダウンロードサイトから所定のアプリケーションプログラムをダウンロードしてインストールすることができる。これにより、ユーザは、ユーザ端末12の操作表示部13に入力操作を行うことにより、そのアプリケーションプログラムを操作することができる。本実施形態では、一例として、子供及び家族の写真や動画をクラウドサーバ等で共有し、整理することが可能な専用のアプリケーションソフトウエア(以下「専用アプリケーションソフトウエア」という。)がユーザ端末12にインストールされるものとする。
ユーザは、この専用アプリケーションソフトウエアをユーザ端末12上で起動させることによって、ユーザ端末12をサーバ15へアクセスさせることができる。ユーザ端末12がサーバ15にアクセスする場合には、例えば、予め登録されているログインユーザIDの入力が求められてもよい。
ユーザ端末12にインストールされた専用アプリケーションソフトウエアが起動すると、ユーザ端末12の画面14には、後述するグラフィカルユーザインターフェース(GUI)画面が表示される。GUI画面には、子供や家族の写真や動画をサーバ15に登録したり、登録した写真や動画を閲覧するための画面が表示される。
ユーザは、ユーザ端末12にインストールされた専用アプリケーションソフトウエアを起動させ、GUI画面を操作して、サーバ15にアクセスすることができる。そして、ユーザは、GUI画面を操作して、ユーザ端末12に保持されている写真や動画をサーバ15にアップロードすることができる。
サーバ15は、ユーザ端末12にインストールされた専用アプリケーションプログラムをアプリケーションプログラムインターフェース(API)として、写真や動画に関する管理を行う情報処理装置である。サーバ15は、専用アプリケーションプログラムからの要求に応じて、アップロードされた写真や動画を収集し、家族や一定の範囲内のユーザに収集した写真や動画の閲覧をする等を可能にする。以下では、写真(静止画)及び動画を総称して、画像をいう。
サーバ15は、1台以上の物理的な情報処理装置により構成されるサーバシステムであってもよいし、1台以上の仮想サーバ装置により構成される仮想サーバシステムであってもよい。
図3は、本実施形態における画像収集管理システム11の機能ブロックの一例を示す図である。以下では、ユーザ端末12、サーバ15のそれぞれが有する機能について説明する。
ユーザ端末12は、操作表示部13、通信部21、制御部22、撮像部23、及び記憶部24を含む。通信部21は、通信ネットワーク16に接続された機器との通信を可能にするインターフェースである。ここでは、通信部21は、通信ネットワーク16を介して、サーバ15と通信を行う。
操作表示部13は、ユーザの入力操作により入力が可能であると共に、表示も可能なタッチパネルディスプレイである。なお、本実施形態では、一例として、タッチパネルディスプレイを用いるが、これに限定されず、入力部と表示部とがそれぞれ独立していてもよい。
制御部22は、ユーザ端末12全体の動作を制御する。制御部22は、記憶部24に格納されている専用アプリケーションプログラム25のユーザインターフェース(UI)データ26に基づいて、画面14の表示状態を制御する。撮像部23は、CCD(Charge Coupled Device)等の撮像装置である。
記憶部24は、インストールされた専用アプリケーションプログラム25、UIデータ26、画像(写真データ、動画データ)27、各種データ等を格納する。ここで、データにはステータス情報や文字データだけでなく、グラフィカルデータも含む。画像27は、撮像日時、Global Positioning System(GPS)による位置情報のメタデータを含む。
サーバ15は、通信部31、制御部32、記憶部41を含む。通信部31は、通信ネットワーク16に接続された機器との通信を可能にするインターフェースである。通信部31は、通信ネットワーク16を介して、ユーザ端末12と通信を行う。
制御部32は、サーバ15全体の動作を制御する。それと共に、制御部32は、ユーザ端末12からの要求に応じて処理を実行し、実行結果をユーザ端末12に返す等の制御を行う。制御部32は、本実施形態に係るアプリケーションプログラムを実行することにより、被写体情報登録部33、画像取得部34、画像解析部35、クラスタリング部36、タグ付与部37、出力部38として機能する。
被写体情報登録部33は、ユーザ端末12からの登録要求に応じて、ユーザの家族(子供、夫婦、祖父母等)のうち、子供に関する情報(被写体情報)を受け付ける。被写体情報登録部33は、ユーザ端末12から受け付けた被写体情報を記憶部41に登録する。ここで、被写体情報が記憶部41(具体的には後述する被写体情報管理DB43)に登録された被写体を、「登録済被写体」と称する。また、後述するように、画像中に撮像された人物のうち、被写体情報管理DB43に被写体情報が登録されていない人物(登録済被写体以外の被写体)を、「未登録被写体」と称する。また、単に「被写体」と称する場合は、登録前の被写体である場合、登録済被写体及び未登録被写体を含む場合、または単に画像中の人物を示す場合がある。
画像取得部34は、ユーザ端末12からのアップロード要求に応じて、ユーザ端末12から送信されたユーザの家族に関する画像(写真データ及び動画を含む。)を取得する。
画像解析部35は、取得された画像を解析し、画像内の被写体の顔を検出したり、検出された被写体の姿勢を推定したり、検出された被写体の年齢を推定したり、画像内において検出された被写体の人数を検出したり、顔画像から特徴ベクトルを算出したり等する。画像解析部35は、解析処理後、解析結果を記憶部41に格納する。また、画像解析部35は、解析が終わった画像を、記憶部41に格納する。
クラスタリング部36は、クラスタリング条件と、画像の解析結果とを用いて、記憶部41に格納されている画像(顔画像)について、クラスタ解析(クラスタリング)を行う。クラスタリングでは、データの集合を部分集合(クラスタ)に分けて、それぞれの部分集合に含まれる顔画像の特徴ベクトルが共通または類似になるようにする。ここで、本実施形態では、クラスタリングを行う画像は、単独で写っている画像を用いるがこれに限定されず、複数人が写っている画像をクラスタリングするようにしてもよい。この場合、その画像に写っている人物それぞれの顔画像を抽出し、抽出した顔画像それぞれについてクラスタリングを行うようにしてもよい。
タグ付与部37は、クラスタリングの結果、撮像枚数(出現頻度)の多い顔画像を含む画像と、被写体情報とを関係付けることができる。または、タグ付与部37は、年齢推定結果に基づいて、クラスタリングにより分類された顔画像を含む画像と、被写体情報とを関係付けてもよい。
それから、タグ付与部37は、被写体情報と関係付けられた画像に、顔タグとして「子供タグ」を付与する。
また、タグ付与部37は、複数人の人物が写っている画像について、それらの人物のすべてが、登録済被写体である場合(すなわち、写真に写っている人物がすべて子供である場合)、その画像に顔タグとして「兄弟タグ(または姉妹タグ)」を付与する。
また、タグ付与部37は、複数人の人物が写っている画像に登録済被写体以外の人物(未登録被写体)が含まれている場合(すなわち、写真に写っている人物に大人が含まれている場合)、その画像に顔タグとして「家族タグ」を付与する。
出力部38は、ユーザ端末12の画面操作に応じて、顔タグが付与された画像を、顔タグに応じて被写体毎、兄弟・姉妹毎、または家族毎に、ユーザ端末12の画面14に表示させる。なお、出力部38は、ユーザ端末12の画面操作に応じて、タグが付与された画像を、プリンタやディスプレイ装置、他の記憶媒体等に出力してもよいし、通信ネットワーク16を介して外部の装置に送信してもよい。
また、出力部38は、ユーザ端末12の画面操作に応じて、所定の顔タグ(例えば、子供タグ)が付与されている画像同士について、対応する年齢の時であって、かつ対応する画像同士を比較可能に画面14に出力することができる。
ここで、「対応する画像同士」とは、対応する構図や対応する場所で撮影されている画像同士や、対応する情報や対応する属性情報等が付与された画像同士をいう。「対応する画像」とは、一方の被写体の画像と「対応する画像同士」の関係にある他の被写体の画像をいう。
「対応する構図」とは、比較する被写体同士の画像間において同じような構図や類似の構図であることを示し、例えば、比較する画像についての構図特徴ベクトル(これについては後述する)が所定値の範囲内に収まるものをいう。
「対応する場所」とは、比較する被写体同士の画像間において撮影された場所が同じ場所(位置)であることを示し、例えば、比較する画像それぞれに付与されたGPSによる位置情報が所定の誤差の範囲内に収まるものをいう。
「対応する情報」とは、例えば、比較する画像それぞれに付与されるテキスト情報の内容が同じような内容であったり、類似している内容であることをいい、例えば、所定の用語を使用していたり、文章の一致率が所定値以上であるものをいう。
「対応する属性情報」とは、比較する被写体の画像に付与されている属性情報がそれぞれ、同種の属性情報、及び異種の属性情報を含む。同種の属性情報とは、比較する被写体の画像に付与されている情報がいずれも、例えば、体重に関する情報を示す。また、異種の属性情報とは、比較する被写体の画像のうち、一方の被写体の画像に付与されている情報が、例えば体重に関する情報であり、他方の被写体の画像に付与されている情報が例えば身長に関する情報あることを示す。
また、出力部38は、比較する被写体間の画像のうち、対応する画像同士を合成してフレーム画像を生成し、対応しない画像同士については所定の条件の下でそれらを合成する。出力部38は、それを繰り返して、複数のフレーム画像を生成し、動画を生成することができる。
なお、出力部38は、ユーザ端末12の画面操作に応じて、対応する年齢の時であって、かつ対応する構図や対応する場所で撮影されている画像同士や対応する情報が付与されている画像同士を比較可能に、プリンタやディスプレイ装置、他の記憶媒体等に出力してもよいし、通信ネットワーク16を介して外部の装置に送信してもよい。
記憶部51は、画像格納領域42を有する。画像格納領域42は、ユーザがアップデートした画像、画像解析部35による解析が完了した画像、またはそれらの画像から生成されたサムネイル画像等を格納する。
また、記憶部51は、被写体情報管理データベース43、画像解析結果管理データベース44、クラスタリング条件管理データベース45、コレクション画面管理データベース46、顔タグマスター情報管理データベース47、被写体別顔タグ管理データベース48、顔タグ別詳細画面管理データベース49を格納する。なお、以下では、データベースを「DB」と称する。
被写体情報管理DB43は、被写体毎に顔タグを付与するために、対象となる被写体(すなわち「登録被写体」を示す。この例では、ユーザの家族における子供)に関する情報を管理するデータベースである。画像解析結果管理DB44は、画像解析部35により解析された結果を格納するデータベースである。クラスタリング条件管理DB45は、クラスタリング部36がクラスタリングを行う場合の条件(クラスタリング条件)を格納するデータベースである。顔タグマスター情報管理DB46は、顔タグのマスター情報を管理するデータベースである。コレクション画面管理DB47は、ユーザ端末12の画面14において表示されるコレクション画面の内容を管理するデータベースである。被写体別顔タグ管理DB48は、被写体(登録済被写体だけでなく、未登録被写体を含んだ複数人の被写体を含む。)と、それに対応する顔タグとを管理するデータベースである。顔タグ別詳細情報管理DB49は、選択された顔タグが付与された画像を表示する詳細画面(顔タグ別詳細画面)を管理するデータベースである。
図4は、本実施形態におけるサーバ15により管理されるデータベースのデータ構造例を示す図である。以下では、被写体情報管理DB43の各レコードを被写体情報と称する場合がある。画像解析結果管理DB44の各レコードを画像解析結果情報と称する場合がある。クラスタリング条件管理DB45の各レコードをクラスタリング条件情報と称する場合がある。顔タグマスター情報管理DB46の各レコードを顔タグマスター情報と称する場合がある。コレクション画面管理DB47の各レコードをコレクション画面情報と称する場合がある。被写体別顔タグ管理DB48の各レコードを被写体別顔タグ情報と称する場合がある。顔タグ別詳細情報管理DB49の各レコードを顔タグ別詳細情報と称する場合がある。
被写体情報管理DB43は、「家族ID」、「被写体ID」、「被写体名」、「生年月日」のデータ項目を含む。項目「家族ID」には、ユーザの家族を特定する情報(家族ID)が格納される。項目「被写体ID」には、被写体の人物を識別する識別情報(被写体ID)が格納される。項目「被写体名」には、被写体IDに対応する人物の名前(被写体名)が格納される。項目「生年月日」には、その被写体の生年月日が登録される。
画像解析結果管理DB44は、「画像ID」、「撮像日時」、「撮像場所」、「顔検出結果」、「被写体人数」、「姿勢推定結果」、「年齢推定結果」、「特徴ベクトル」のデータ項目を含む。項目「画像ID」には、画像を特定する情報(画像ID)が格納される。項目「撮像日時」には、画像が撮像された日時が格納される。項目「撮像場所」には、画像が撮像された場所(位置)が格納される。項目「顔検出結果」には、顔検出処理により検出された顔に関する情報が格納される。項目「被写体人数」には、検出された顔の数が格納される。項目「姿勢推定結果」には、その画像において、検出された顔の人物の姿勢に関する情報が格納される。項目「年齢推定結果」には、その画像において、検出された顔から推定される年齢が格納される。項目「顔特徴ベクトル」には、その顔の特徴を表す特徴ベクトル(特徴量)が格納される。項目「構図特徴ベクトル」には、その画像の構図の特徴を表す特徴ベクトル(特徴量)が格納される。
クラスタリング条件管理DB45は、「家族ID」、「期間」のデータ項目を含む。項目「家族ID」には、ユーザの家族を特定する情報(家族ID)が格納される。項目「期間」には、クラスタリングを行う周期や期間(〇年〇月〇日から×年×月×日まで)、期日、日時等が格納される。
顔タグマスター情報管理DB46は、「顔タグID」、「顔タグ種別」のデータ項目を含む。項目「顔タグID」には、子ども別に画像を閲覧することができるためのタグ(顔タグ)の種別を特定する情報(顔タグID)が格納される。項目「顔タグ種別」には、顔タグの種別が格納される。この例では、顔タグ種別として、「子供」、「家族」、「兄弟・姉妹」が格納されている。
コレクション画面管理DB47は、「家族ID」、「顔タグID」(または「顔タグID+枝番」)のデータ項目を含む。項目「家族ID」には、家族を特定する情報(家族ID)が格納される。項目「顔タグID」には、クラスタリングで分類されて被写体情報と関係付けられた人物の顔タグIDが格納される。なお、同一の家族IDについて、同種の顔タグIDが存在する場合には、その顔タグIDに、枝番として、関係付けられた被写体情報の被写体IDが付与されて格納される。
被写体別顔タグ管理DB48は、「家族ID」、「顔タグID」、「枝番(被写体ID)」、「顔タグ表記」、「プロフィール画像ID」のデータ項目を含む。項目「家族ID」には、家族を特定する情報(家族ID)が格納される。項目「顔タグID」には、クラスタリングで分類されて被写体情報と関係付けられた人物の顔タグIDが格納される。「枝番(被写体ID)」には、同一の家族IDについて、同種の顔タグIDが存在する場合には、その顔タグIDの枝番として、関係付けられた被写体情報の被写体IDが格納される。「顔タグ表記」には、画面14上で具体的に表示する顔の表記内容として、関係付けられた被写体情報の被写体IDに対応する被写体名が格納される。「プロフィール画像ID」には、画面14上で表示するプロフィール画像として、クラスタリングされた画像から選択された画像のサムネイル画像を特定する識別情報(プロフィール画像ID)が格納される。
顔タグ別詳細情報管理DB49は、「家族ID」、「顔タグID」、「枝番」、「年月」、「年齢」、「成長メモ」、「体重」、「身長」、「画像ID」のデータ項目を含む。項目「家族ID」には、家族を特定する情報(家族ID)が格納される。項目「顔タグID」には、クラスタリングで分類されて被写体情報と関係付けられた人物の顔タグIDが格納される。「枝番」には、同一の家族IDについて、同種の顔タグIDが存在する場合には、その顔タグIDの枝番として、関係付けられた被写体情報の被写体IDが格納される。項目「年月」には、画像が撮像された年月が格納される。項目「年齢」には、画像が撮像された年月日から、被写体情報管理DB43に登録されたその被写体IDに対応する生年月日を差し引いた年齢が格納される。項目「成長メモ」には、ユーザが任意で入力したコメントが格納される。項目「体重」には、ユーザが任意で入力した被写体(登録済被写体だけでなく、未登録被写体を含む複数の被写体であってもよい。)の体重が格納される。項目「身長」には、ユーザが任意で入力した被写体(登録済被写体だけでなく、未登録被写体を含む複数の被写体であってもよい。)の身長が格納される。項目「画像ID」には、その年月において撮像されたその顔タグIDに対応する画像の画像IDが格納される。
図5は、本実施形態における顔タグの一例について説明する図である。顔タグは、子ども別に写真や動画を閲覧可能にするためのタグであり、子供が写っている画像またはこれに関係づけられた被写体情報に付与される。なお、子どもだけじゃなく、家族や兄弟・姉妹という単位で画像を閲覧することもできる。
顔タグの種類の一例として、「子供」、「家族」、「兄弟・姉妹」がある。ある人物が1人だけで写っている画像について子供タグが付与されている場合、ユーザ端末12の画面14では、その人物(登録済被写体)の名前が表示される。たとえば、「あき」という名前の子供が写っている画像の場合、子供タグが付与され、画面14上では「あき」と表示される。子供タグは、被写体情報管理DB43に登録されている登録済被写体(子供)の数だけ付与される。
また、子供のみが2人以上写っている画像には、兄弟・姉妹タグが付与される。兄弟・姉妹タグが付与された画像は、画面14上では「子供たち」と表示される。たとえば、「あき」という名前の子供と「はる」という名前の子供が写っている画像の場合、兄弟・姉妹タグが付与され、画面14上では「子供たち」と表示される。なお、兄弟・姉妹がいない場合には、このタグは付与されない。被写体情報管理DB43において、同一家族IDで、複数の被写体情報が登録されている場合には、その登録済被写体は、兄弟または姉妹と判定される。
また、1人以上の子供と、1人以上の大人が一緒に写っている画像には、家族タグが付与される。家族タグが付与された画像は、画面14上では「みんな」と表示される。たとえば、「あき」という名前の子供とママが写っている画像の場合、家族タグが付与され、画面14上では「みんな」と表示される。なお、この例では、大人のみの画像は画面14上には表示しない。
図6は、本実施形態におけるコレクション画面例を示す図である。ユーザ端末12において、ユーザが専用アプリケーションプログラム25を起動させると、コレクション画面51が表示する。コレクション画面51は、ユーザによってアップロードされてサーバ15に収集・管理されている画像を一元的に閲覧することができる。
コレクション画面51は、人物毎のアイコン52、成長タイムラインアイコン54、動画表示欄55、お気に入り欄56を含む。人物毎のアイコン52には、顔タグ単位で人物のプロフィール画像及びそれに対応する顔タグの表記53(図5参照)が表示される。被写体情報管理DB43に登録されている登録済被写体(子供)の数だけプロフィール画像を表示させる。プロフィール画像は、顔タグが付与されている画像のうちいずれかの画像から生成されるサムネイル画像である。なお、顔タグの表記53をタップすると、対応するプロフィール画像52を変更することができる。
「あき」という名前の子供が写っている画像の場合、子供タグが付与され、コレクション画面51上では「あき」と表示されている。「はる」という名前の子供が写っている画像の場合、子供タグが付与され、コレクション画面51上では「はる」と表示されている。
「はる」という名前の子供と大人(例えば、パパとママ)が写っている画像の場合、家族タグが付与され、コレクション画面51のアイコン52には、「みんな」と表示されている。
「あき」という名前の子供と「はる」という名前の子供が写っている画像の場合、兄弟・姉妹タグが付与され、コレクション画面51のアイコン52では「子供たち」と表示される。
動画表示欄55は、サーバ15にアップロードされている動画が表示されており、その動画をタップすると再生される。お気に入り欄56には、ユーザのお気に入りの写真や動画を登録することができる。なお、コレクション画面51は、画面14内に収まらずに表示されていない内容を見るために、画面の中を上下または左右に少しずつ移動させて、隠れている部分を表示させる(スクロール)させることが可能になっている。
ここで、いずれかの人物のアイコン52をタップすると、その顔タグが付与された画像を閲覧できる詳細画面(顔タグ別詳細画面)に遷移する。例えば、「あき」のアイコン52をタップすると、図7の画面に遷移する。
図7は、本実施形態における顔タグ別詳細画面の一例を示す図である。顔タグ別詳細画面61は、コレクション画面51のアイコン52に対応する人物の画像を閲覧・管理する詳細画面である。
顔タグ別詳細画面61は、プロフィール画像62、顔タグに対応する表記欄63、月齢(生後〇〇日)表示欄64、時系列表示欄65、時系列対応画像表示欄66、成長メモ入力欄67、体重・身長入力欄68を含む。
プロフィール画像62及び顔タグに対応する表記欄63は、コレクション画面51のアイコン52及び表記53に表示されていたものと同様である。月齢(生後〇〇日)表示欄64は、現時点でのその登録済被写体の月齢(生後〇〇日)が表示される。時系列表示欄65には、1ヶ月毎の月齢及び年月が表示されている。時系列対応画像表示欄66には、時系列表示欄65に対応する期間の画像が表示される。成長メモ入力欄67には、その時系列時点での子供の成長に関するコメントを入力して記録できる。体重・身長入力欄68には、その時系列時点での子供の体重および身長を入力して記録できる。
なお、顔タグ別詳細画面61をスクロールすると、年齢順に、時系列表示欄65、時系列対応画像表示欄66、成長メモ入力欄67、体重・身長入力欄68が表示される。
図8は、本実施形態における成長タイムライン画面の一例を示す図である。成長タイムライン画面71は、子供タグが付与された登録済被写体の画像72を、年齢及び画像の内容に応じて、比較可能な状態で表示させる。
成長タイムライン画面71は、縦方向には子供タグが付与された登録済被写体の画像72が実際の年齢順に表示される。横方向は、生まれてからの年齢を示す時間軸73が表示され、登録済被写体の画像72が年齢順に表示される。
また、登録済被写体間の画像に関して、登録済被写体が対応する年齢のときで、かつ、対応する構図(ここで、構図には姿勢を含む。)及び/または対応する場所で撮像された画像は、比較可能なように対応する位置に並べて表示される。
図8の左側の成長タイムライン画面71の例では、縦方向に登録済被写体が「はる」、「あき」、「なつ」の順で表示されている。それぞれの登録済被写体の画像について、0ヶ月のときの画像であって登録済被写体が寝ているときの画像が同列に表示されている。それぞれの登録済被写体の画像について、10ヶ月のときの画像であって登録済被写体がハイハイしているときの画像が同列に表示されている。
図8の左側の成長タイムライン画面71上で指を左方向にスワイプ(スライド)させる動作を行うと、成長タイムライン画面71は、図8の中央の状態になる。すなわち、1列分タイムラインが進んで、登録済被写体それぞれが2歳のときの画像であって入園式が行われる幼稚園の前で撮像されている画像が同列に表示されている。なお、「なつ」は、まだ月齢10ヶ月なので、10ヶ月時より未来の画像は存在しない。
さらに、図8の中央の成長タイムライン画面71上で指を左方向にスワイプ(スライド)させる動作を行うと、成長タイムライン画面71は、図8の右側の状態になる。すなわち、1列分タイムラインが進んで、登録済被写体が2歳10ヶ月ときの画像であって星空を楽しんでいる様子が撮像されている画像が表示されている。なお、「あき」は、まだ年齢2歳なので、2歳時より未来の画像は存在しない。さらに、図8の右側の成長タイムライン画面71上で指を左方向にスワイプ(スライド)させる動作を行うと、成長タイムライン画面71は、「はる」のその後の画像を閲覧することができる。
なお、図8の右側の成長タイムライン画面71上で指を左方向にスワイプ(スライド)させる動作を行うと、成長タイムライン画面71は、図8の中央の状態になる。さらに、図8の中央の成長タイムライン画面71上で指を左方向にスワイプ(スライド)させる動作を行うと、成長タイムライン画面71は、図8の左側の状態になる。
このように、図8の成長タイムライン画面71では、子供タグが付与された登録済被写体を同じ時間軸73上に表示し、さらに、例えば、同じような構図や場所、状況で撮影された画像が対応するように同列に表示される。
また、成長タイムライン画面71に表示される各画像には、複数の被写体が写っていてもよい。この場合、対応する画像は、その複数の被写体の組み合わせに対応する画像であってもよい。例えば、登録済被写体「はる」について、はるとパパとママの3人で写っている画像がある場合、登録済被写体「あき」についてそれに対応する画像は、あきとパパとママの3人で写っている画像である。
図9は、本実施形態における成長タイムライン画面の他の例を示す図である。図9の成長タイムライン画面71は、図8の成長タイムライン画面71中の画像に、コメントを付与したものである。このコメントは、例えば、図7の顔タグ別詳細画面61の成長メモ入力欄67や体重・身長入力欄68等で入力されたテキスト情報である。
図9では、子供タグが付与された登録済被写体を同じ時間軸73上に表示し、さらに、同じようなコメントが付されている画像同士が対応するように同列に表示される。
なお、図8及び図9の例では、時間軸73が横方向、登録済被写体が縦方向に並ぶように、表示されたがこれに限定されない。例えば、時間軸73が縦方向、登録済被写体が横方向に並ぶように、表示されるようにしてもよい。
図10は、本実施形態における画像収集管理システムの被写体情報登録フェーズ及び画像収集フェーズのシーケンス図である。被写体情報登録フェーズでは、ユーザは、ユーザ端末12において、専用アプリケーションプログラム25を起動させて、所定の画面を表示させ、被写体(例えば、自身の子供)の名前(被写体名)及び生年月日を入力する。このとき、例えば子供が複数いる場合には子供の数だけ入力を繰り返す。入力が完了したら、登録ボタンを押下する。
すると、ユーザ端末12は、被写体情報(家族ID、被写体名及び生年月日を含む。)をサーバ15に送信する(S1)。サーバ15は、被写体情報毎に、被写体IDを付与し、被写体情報管理DB43に登録する。
次に、画像収集フェーズでは、ユーザは、ユーザ端末12に格納されている画像を、専用アプリケーションプログラム25の所定の画面を介して、サーバ15にアップロードする(S2)。
サーバ15は、ユーザ端末12からアップロードされた画像を解析し(S3)、クラスタリング処理を行って、特定の被写体別、複数の被写体等の画像を分類する(S4)。サーバ15は、撮影頻度や顔画像から推定された年齢に基づいて、分類した画像と、被写体情報とを関係付けると共に、顔タグを付与する(S5)。
図11は、本実施形態(実施例1)における画像収集管理システムの画像閲覧フェーズのシーケンス図である。画像閲覧フェーズでは、ユーザは、専用アプリケーションプログラム25を起動させて、コレクション画面の表示を試みる。すると、ユーザ端末12は、コレクション画面表示要求(家族IDを含む。)をサーバ15に送信する(S6)。
サーバ15は、コレクション画面表示要求を取得すると、コレクション画面51を表示させるための処理(コレクション画面表示処理)を行う(S7)。ここでは、サーバ15は、コレクション画面51のコンテンツ情報として、コレクション画面管理DB47から家族IDに対応するコレクション画面情報を取得し、被写体別顔タグ管理DBから家族IDに対応する被写体別顔タグ情報を取得する。サーバ15は、コレクション画面情報、被写体別顔タグ情報をユーザ端末12に送信する(S8)。
ユーザ端末12は、サーバ15からコレクション画面情報、被写体別顔タグ情報を取得すると、取得したコレクション画面情報、被写体別顔タグ情報を用いてコレクション画面51を表示させる。
それから、ユーザは、コレクション画面51から「(成長)タイムライン」のアイコン54をタップする。すると、ユーザ端末12は、そのタップしたアイコン54に対応する成長タイムライン画像71を閲覧するための成長タイムライン画面閲覧要求(家族ID)をサーバ15に送信する(S9)。
サーバ15は、成長タイムライン画面閲覧要求を取得すると、成長タイムライン画面71を表示させる処理(成長タイムライン画面表示処理)を行う(S10)。ここでは、サーバ15は、成長タイムライン画面のコンテンツ情報として、顔タグ別詳細情報管理DB49から、家族IDに対応する顔タグ別詳細情報を取得する。サーバ15は、顔タグ別詳細情報に含まれる画像IDに対応する画像を、登録済被写体別に、年月日順に並べ、さらに、登録済被写体間の画像同士で、対応する年齢のときの画像で、かつ、構図等、共通する内容があれば、比較可能なように並べて配置して、成長タイムライン画面情報を生成する。サーバ15は、生成した成長タイムライン画面情報をユーザ端末12に送信する(S11)。
ユーザ端末12は、成長タイムライン画面情報を取得すると、取得した成長タイムライン画面情報を用いて成長タイムライン画面71(図8参照)を表示する。
図12は、本実施形態(実施例2)における画像収集管理システムの画像閲覧フェーズのシーケンス図である。図11は、コレクション画面51から成長タイムライン画面71に遷移するパターンを示すシーケンス図である。それに対して、図12は、コレクション画面51から顔タグ別詳細画面61に遷移して画像にコメントを付けた後に、再度コレクション画面に戻り、その後、成長タイムライン画面71に遷移するパターンを示すシーケンス図である。
ユーザは、専用アプリケーションプログラム25を起動させて、コレクション画面の表示を試みる。すると、ユーザ端末12は、コレクション画面表示要求(家族IDを含む。)をサーバ15に送信する(S6)。
サーバ15は、コレクション画面表示要求を取得すると、コレクション画面51を表示させるための処理(コレクション画面表示処理)を行う(S7)。ここでは、サーバ15は、コレクション画面51のコンテンツ情報として、コレクション画面管理DB47から家族IDに対応するコレクション画面情報を取得し、被写体別顔タグ管理DBから家族IDに対応する被写体別顔タグ情報を取得する。サーバ15は、コレクション画面情報、被写体別顔タグ情報をユーザ端末12に送信する(S8)。
ユーザ端末12は、サーバ15からコレクション画面情報、被写体別顔タグ情報を取得すると、取得したコレクション画面情報、被写体別顔タグ情報を用いてコレクション画面51を表示させる。
それから、ユーザは、コレクション画面51において、いずれかの人物のアイコン52を選択し、タップする。すると、ユーザ端末12は、そのタップしたアイコン52に対応する顔タグ別詳細画面61を閲覧するための顔タグ別詳細画面閲覧要求(家族ID、顔タグID、被写体ID)をサーバ15に送信する(S8-1)。
サーバ15は、顔タグ別詳細画面閲覧要求を取得すると、顔タグ別詳細画面61を表示させる処理(顔タグ別詳細画面表示処理)を行う(S8-2)。ここでは、サーバ15は、顔タグ別詳細画面のコンテンツ情報として、顔タグ別詳細情報管理DB49から、家族ID、顔タグID、及び被写体IDに対応する顔タグ別詳細情報を取得する。サーバ15は、取得した顔タグ別詳細情報をユーザ端末12に送信する(S8-3)。
ユーザ端末12は、顔タグ別詳細情報を取得すると、取得した顔タグ別詳細情報を用いて顔タグ別詳細画面61を表示する。
ユーザは、顔タグ別詳細画面61において、対象の画像に対応する成長メモ入力欄67、体重・身長入力欄68にそれぞれ成長メモまたは体重・身長を入力し、登録する。すると、ユーザ端末12は、家族ID、顔タグID、枝番、画像IDと共に、入力された成長メモ及び/または体重・身長を含む顔タグ別詳細画面更新要求をサーバ15に送信する(S8-4)。
サーバ15は、顔タグ別詳細画面更新要求を取得すると、取得した顔タグ別詳細画面更新要求に基づいて、成長メモ及び/または体重・身長を顔タグ別詳細情報管理DB49に登録する(S8-5)。
ユーザは、顔タグ別詳細画面61において、前画面へ戻るための操作を行う。すると、ユーザ端末12は、前画面へ戻る要求をサーバ15に送信する(S8-6)。サーバ15は、前画面へ戻る要求を取得すると、そのコレクション画面51を再表示させる指示をユーザ端末12に送信する(S8-7)。
ユーザ端末12は、前回取得したコレクション画面情報、被写体別顔タグ情報を用いてコレクション画面51を再表示させる。
それから、ユーザは、コレクション画面51から「(成長)タイムライン」のアイコン54をタップする。すると、ユーザ端末12は、そのタップしたアイコン54に対応する成長タイムライン画像71を閲覧するための成長タイムライン画面閲覧要求(家族ID)をサーバ15に送信する(S9)。
サーバ15は、成長タイムライン画面閲覧要求を取得すると、成長タイムライン画面71を表示させる処理(成長タイムライン画面表示処理)を行う(S10a)。ここでは、サーバ15は、成長タイムライン画面のコンテンツ情報として、顔タグ別詳細情報管理DB49から、家族IDに対応する顔タグ別詳細情報を取得する。サーバ15は、顔タグ別詳細情報に含まれる画像IDに対応する画像を、登録済被写体別に、年月日順に並べ、さらに、登録済被写体間の画像同士で、付与されている情報(撮影場所、成長メモ、身長・体重等)に共通する内容や類似の内容等がある画像を、比較可能なように並べて配置して、成長タイムライン画面情報を生成する。サーバ15は、生成した成長タイムライン画面情報をユーザ端末12に送信する(S11)。
ユーザ端末12は、成長タイムライン画面情報を取得すると、取得した成長タイムライン画面情報を用いて成長タイムライン画面71を表示する。
図13は、本実施形態における画像解析処理(S3)のフローチャートである。制御部32は、本実施形態に係るプログラムを読み込むことにより、画像取得部34、画像解析部35として機能する。
画像取得部34は、ユーザ端末12よりアップロードされた画像を取得する(S21)。画像解析部35は、顔検出アルゴリズムを用いて、取得された画像から顔を検出し、顔検出結果を画像解析結果管理DB44に格納する(S22)。
画像解析部35は、取得された画像から検出した顔の個数から、画像中の人物の数を計測し、その人数を画像解析結果管理DB44に格納する(S23)。画像解析部35は、姿勢推定アルゴリズムを用いて、取得された画像から、検出した顔に対する人物の姿勢を推定し、姿勢推定結果を画像解析結果管理DB44に格納する(S24)。人物の姿勢の推定では、例えば顔がどっちを向いているか、どのようなポーズをとっているのかを推定する。
画像解析部35は、年齢推定アルゴリズムを用いて、取得された画像から、検出した顔に対する人物の年齢を推定し、年齢推定結果を画像解析結果管理DB44に格納する(S25)。
画像解析部35は、顔検出結果、姿勢推定結果、及び姿勢推定結果から顔画像の特徴ベクトル(以下、「顔特徴ベクトル」という)を算出し、その算出された特徴ベクトルを画像解析結果管理DB44に格納する(S26)。
画像解析部35は、画像の構図から構図の特徴ベクトル(以下、「構図特徴ベクトル」という。)を算出し、その算出された特徴ベクトルを画像解析結果管理DB44に格納する(S27)。画像解析部35は、解析済みの画像を画像格納領域42に格納する(S27)。
図14A及び図14Bは、本実施形態におけるクラスタリング処理(S4)及びタグ付与処理(S5)のフローチャートである。制御部32は、本実施形態に係るプログラムを読み込むことにより、クラスタリング部36、タグ付与部37として機能する。
クラスタリング部36は、クラスタリング条件に基づいて、クラスタリング対象の家族・期間を決定する(S31)。ここでは、クラスタリング部36は、クラスタリング条件管理DB45から、家族IDに対応するクラスタリング条件情報を取得し、期間(クラスタリングの対象となる期間)を決定する。
クラスタリング部36は、画像に付与されている撮像日時情報に基づいて、画像格納領域42から決定した期間に含まれる画像を読み出す(S32)。クラスタリング部36は、画像解析結果管理DB44の被写体人数を参照して、読み出した画像から単独で写っている画像(顔画像)を抽出する(S33)。
クラスタリング部36は、画像解析結果管理DB44から、読み出した画像の画像IDに対応する顔特徴ベクトルを取得し、取得した顔特徴ベクトルに基づいて、顔画像に対してクラスタリングを行い、人物毎に分類する(S34)。
タグ付与部37は、人物の出現頻度(または年齢情報)に基づいて、顔画像と被写体情報とを関係付けると共に、そのクラスタの全画像に子供タグを付与する(S35)。ここでは、タグ付与部37は、被写体情報管理DB43から、家族IDに対応する被写体情報を取得する。
例えば、被写体情報管理DB43から取得された被写体情報が1つの場合(すなわち子供が1人である場合)、タグ付与部37は、人物毎に分類されたクラスタのうち、撮像枚数が最も多いクラスタの人物が被写体情報と特定して、家族ID、画像IDと、被写体情報の被写体IDと、顔タグID(「子供タグ」を示すID)を関係付けて、被写体別顔タグ管理DB48に登録する。
例えば、被写体情報管理DB43から取得された被写体情報が複数の場合(すなわち兄弟・姉妹がいる場合)、タグ付与部37は、人物毎に分類されたクラスタの人物の年齢を推定し、その年齢と被写体情報の生年月日に基づいてその推定した顔画像の画像IDと、被写体情報の被写体IDと、顔タグID(「子供タグ」を示すID)、家族IDとを関係付けて、被写体別顔タグ管理DB48に登録する。
タグ付与部37は、子供タグが付与されたその人物の画像のうちいずれかを用いてその人物のプロフィール画像を生成し、表記用タグを設定する(S36)。ここでは、タグ付与部37は、被写体情報と関係付けられた顔画像のいずれかからプロフィール画像及びそのプロフィール画像を特定するプロフィール画像IDを生成し、被写体別顔タグ管理DBに格納する。また、タグ付与部37は、被写体情報管理DB43から家族ID、被写体IDに対応する被写体名を取得する。
タグ付与部37は、被写体別顔タグ管理DB48において家族ID、顔タグID,及び枝番(被写体ID)に対応する被写体別顔タグ情報の項目「顔タグ表記」に、取得した被写体名を登録する。タグ付与部37は、S35及びS36を、人物毎に分類されたクラスタの数だけ繰り返す。
タグ付与部37は、画像解析結果管理DB44の項目「被写体人数」を参照して、読み出した画像から、複数人で写っている未処理の1枚の画像を取得する(S37)。タグ付与部37は、画像解析結果管理DB44の特徴ベクトルを用いて、その画像中の人物がすべて登録済被写体であるかを判定する(S38)。
その画像中の人物がすべて登録済被写体である場合(S38でYES)、タグ付与部37は、その画像に兄弟・姉妹タグを付与する(S39)。ここでは、タグ付与部37は、家族ID、画像IDと、顔タグID(「兄弟・姉妹タグ」を特定するID)を関係付けて、被写体別顔タグ管理DB48に登録する。
その画像中の人物がすべて登録済被写体でない場合、すなわち画像中に未登録被写体が1人以上存在する場合(S38でNO)、タグ付与部37は、その画像に家族タグを付与する(S40)。ここでは、タグ付与部37は、家族ID、画像IDと、顔タグID(「家族タグ」を特定するID)を関係付けて、被写体別顔タグ管理DB48に登録する。なお、未登録被写体の人物の頻出度(その人物の撮像枚数の多さ)が一定以上の場合に、その画像に家族タグを付与してもよい。
タグ付与部37は、複数人で写っている画像の枚数だけS37~S40の処理を繰り返す。
それから、タグ付与部37は、兄弟・姉妹タグが付与された画像のうち、いずれかを用いて兄弟・姉妹タグ用プロフィール画像を生成する。タグ付与部37は、表記用タグを設定する(S41)。ここでは、タグ付与部37は、兄弟・姉妹タグが付与された画像のいずれかからプロフィール画像及びそのプロフィール画像を特定するプロフィール画像IDを生成し、被写体別顔タグ管理DBに格納する。さらに、タグ付与部37は、兄弟・姉妹タグとして項目「顔タグ表記」に「子供たち」を格納する。
タグ付与部37は、家族タグが付与された画像のうち、いずれかを用いて家族タグ用プロフィール画像を生成する。タグ付与部37は、表記用タグを設定する(S42)。ここでは、タグ付与部37は、家族タグが付与された画像のいずれかからプロフィール画像及びそのプロフィール画像を特定するプロフィール画像IDを生成し、被写体別顔タグ管理DBに格納する。さらに、タグ付与部37は、家族タグとして項目「顔タグ表記」に「みんな」を格納する。
図15は、本実施形態におけるコレクション画面表示処理(S7)のフローチャートである。制御部32は、本実施形態に係るプログラムを読み込むことにより、出力部38として機能する。
出力部38は、ユーザ端末12からコレクション画面表示要求(家族IDを含む。)を取得する(S51)。すると、出力部38は、コレクション画面管理DB47から家族IDに対応するコレクション画面情報を取得する(S52)。
出力部38は、取得したコレクション画面情報に含まれる顔タグID及び顔タグID+枝番をすべて取得する(S53)。出力部38は、被写体別顔タグ管理DB48から、家族ID及び、顔タグIDまたは顔タグID+枝番に対応する「顔タグ表記」及び「プロフィール画像ID」を取得する(S54)。
出力部38は、画像格納領域42から、取得したプロフィール画像IDに対応するプロフィール画像を取得する(S55)。出力部38は、コレクション画面情報、及び顔タグ表記とプロフィール画像とをユーザ端末12へ送信する(S56)。
ユーザ端末12は、コレクション画面情報、及び顔タグ表記とプロフィール画像を取得すると、コレクション画面51のアイコン52及びその表記53については、顔タグ表記とプロフィール画像をそのペア単位で表示する。
図16は、本実施形態における顔タグ別詳細画面表示処理(S8-2)及び顔タグ別詳細画面更新処理(S8-5)のフローチャートである。ユーザは、コレクション画面51のアイコン52のいずれか(但し、アイコン「成長タイムライン」54を除く。)を選択する。すると、ユーザ端末12は、顔タグ別詳細画面閲覧要求をサーバ15に送信する。
出力部38は、ユーザ端末12から顔タグ別詳細画面閲覧要求を受信した場合、顔タグ別詳細画面閲覧要求(家族ID、及び顔タグID,枝番(被写体ID)を含む。)を取得する(S61)。
出力部38は、顔タグ別詳細情報管理DB49から、家族ID,顔タグID,枝番(被写体ID)に対応する顔タグ別詳細情報を取得する(S62)。出力部38は、顔タグ別詳細情報に含まれる画像IDに対応する画像を取得する(S63)。
出力部38は、取得した画像を撮像日時で時系列にソートする(S64)。出力部38は、取得した顔タグ別詳細情報、及びソートした画像をユーザ端末12へ送信する(S65)。
ユーザ端末12は、顔タグ別詳細情報、及びソートした画像を取得すると、顔タグ別詳細画面61のプロフィール画像62、顔タグに対応する表記欄63には、遷移前のコレクション画面51のアイコン52でタップしたプロフィール画像及び顔タグ表記が表示される。
さらに、顔タグ別詳細情報に基づいて、月齢(生後〇〇日)表示欄64、時系列表示欄65、時系列対応画像表示欄66、成長メモ入力欄67、体重・身長入力欄68が表示される。また、画像も時系列対応画像表示欄66に応じて時系列に表示される。
ユーザは、顔タグ別詳細画面61の成長メモ入力欄67に任意にコメントを入力したり、体重・身長入力欄68に任意に体重・身長を入力し、保存ボタン(不図示)をタップする。すると、ユーザ端末12は、家族ID、顔タグID、枝番、画像IDと共に、入力された成長メモ及び/または体重・身長を含む顔タグ別詳細画面更新要求をサーバ15に送信する。
サーバ15は、顔タグ別詳細画面更新要求を取得すると、取得した顔タグ別詳細画面更新要求に基づいて、成長メモ及び/または体重・身長を顔タグ別詳細情報管理DB49に登録する(S67)。
図17は、本実施形態における成長タイムライン画面表示処理(S10またはS10a)のフローチャートである。制御部32は、本実施形態に係るプログラムを読み込むことにより、出力部38として機能する。
出力部38は、ユーザ端末12から成長タイムライン画面表示要求(家族IDを含む。)を取得する(S71)。すると、出力部38は、顔タグ別詳細情報管理DB49から、取得した家族ID及び「子供タグ」に対応する登録済被写体それぞれの顔タグ別詳細情報を取得する(S72)。
出力部38は、取得した顔タグ別詳細情報に対応する登録済被写体のうち、いずれかの登録済被写体を「基準被写体」として、その登録済被写体に対応する画像IDを取得する。出力部38は、画像格納領域42からその画像IDに対応する画像を読み出し、読み出した画像を年齢毎に並べる(S73)。
出力部38は、基準被写体以外の他の登録済被写体を「比較被写体」として、取得した顔タグ別詳細情報のうちいずれかの比較被写体の顔タグ別詳細情報の画像IDを取得する。出力部38は、画像格納領域42からその画像IDに対応する画像を読み出す(S74)。
出力部38は、画像解析結果管理DB44を用いて、年齢毎に、基準被写体の画像と比較被写体の画像の内容(例えば、画像の構図、被写体の姿勢等)や画像に付与されている内容(例えば、撮像場所、テキスト情報)とを比較する(S75)。
S10の場合、出力部38は、例えば、画像解析結果管理DB44に基づいて、年齢毎に、構図特徴ベクトルを用いて基準被写体の画像と比較被写体の画像の構図が類似しているかを判定してもよい。構図が類似しているとは、例えば、基準被写体の画像の構図特徴ベクトルと比較被写体の画像の構図特徴ベクトルとの差分が所定範囲に収まっていることをいう。出力部38は、基準被写体の画像と比較被写体の画像とが類似していると判定した場合、2つの画像は対応する画像と判定する。
また、S10の場合、出力部38は、例えば、画像解析結果管理DB44に基づいて、年齢毎に、姿勢推定結果を用いて基準被写体の画像中のポーズと比較被写体の画像のポーズが類似しているかを判定してもよい。
なお、S10aの場合、出力部38は、例えば、顔タグ別詳細情報管理DBを用いて、年齢毎に、基準被写体の画像に付与されている情報と比較被写体の画像に付与されている情報が類似しているかを判定してもよい。ここで、画像に付与されている情報とは、撮像場所(GPSの位置座標)であったり、テキスト情報であったり、対応する属性情報に関する情報であってよい。対応する属性情報は、同種の属性情報及び異種の属性情報を含む。同種の属性情報とは、例えば、比較する被写体の画像に付与されている情報がいずれも、体重に関する情報を示す。また、異種の属性情報とは、例えば、比較する被写体の画像のうち、一方の被写体の画像に付与されている情報が、体重に関する情報であり、他方の被写体の画像に付与されている情報が身長に関する情報あることを示す。
例えば、出力部38は、画像に付与されている撮像場所情報(画像解析結果管理DB44の撮影場所情報でもよい。)に基づいて、年齢毎に、撮影場所が同じかどうかを判定してもよい。撮影場所が同じかどうかは、例えば、GPSの位置座標が所定の範囲内に収まっていることをいう。出力部38は、基準被写体の画像と比較被写体の画像とが類似していると判定した場合、2つの画像は対応する画像と判定する。
例えば、出力部38は、顔タグ別詳細情報管理DB49の項目「成長メモ」を用いて、年齢毎に、基準被写体の画像に付与されているテキスト情報と比較被写体の画像に付与されているテキスト情報が類似しているかを判定してもよい。テキスト情報が類似しているとは、例えば、テキスト内に含まれるキーワードが同じであったり、テキスト内の文章の一致率が所定値以上であったりすることである。出力部38は、基準被写体の画像と比較被写体の画像とに付与されているテキスト情報が類似していると判定した場合、2つの画像は対応する画像と判定する。
また、例えば、出力部38は、顔タグ別詳細情報管理DBの項目「体重」または「身長」を用いて、年齢毎に、基準被写体の画像と比較被写体の画像とに「体重」または「身長」が付与されているかを判定してもよい。出力部38は、基準被写体の画像と比較被写体の画像とに「体重」または「身長」が付与されている場合、2つの画像は対応する画像と判定する。
出力部38は、比較の結果、対応する画像同士を並べて配置する(S76)。なお、出力部38は、対応しない画像は、そのまま配置する。
出力部38は、S74~S76の処理を、比較被写体の数だけ繰り返す。
出力部38は、ユーザ端末12の画面14に対して、登録済被写体の画像を、登録済被写体毎に、対応する年齢の時間軸に出力し、かつ、登録済被写体間で対応する画像を、年齢時間軸とは垂直方向の軸方向に並べて出力する(S77)。
また、図8または図9の成長タイムライン画像71で示した、それぞれ年齢を対応させて時系列に配置されている各登録済被写体の画像をそれぞれ用いて、動画を作成してもよい。例えば、成長タイムライン画像71において、所定のコマンド(不図示)を選択することにより、動画作成モードに移行してもよい。これについて、図18を用いて説明する。
図18は、本実施形態における動画生成について説明するための図である。本実施形態では、被写体Aの画像と被写体Bの画像のそれぞれに写っているときの被写体の年齢が対応し、かつ、その画像の内容や付与されている情報が対応する場合に、その対応する画像同士を合成し、1つの画像(フレーム画像。この場合、特に、「対応フレーム画像」または「対応フレーム」という。)を生成する。
ただし、対応する画像がない場合には、非対応画像同士を合成して、1つの画像(フレーム画像。この場合、特に「非対応フレーム画像」または「非対応フレーム」という。)を生成する。
例えば、年齢を対応させて時系列に配置された状態において、画像A1と画像B1が対応しており、画像A2と画像B2が対応しており、画像A5と画像B6が対応している。この場合、出力部38は、画像A1と画像B1を横並びに合成した画像C1をフレーム画像として生成する。また、出力部38は、画像A2と画像B2を横並びに合成した画像C2をフレーム画像として生成する。出力部38は、画像A5と画像B6を横並びに合成した画像C5をフレーム画像として生成する。
一方で、年齢を対応させて時系列に配置された状態で、被写体Aの画像には画像B3,B4,B5に対応する画像は含まれておらず、被写体Bの画像には画像A3,A4に対応する画像は含まれていない。これらの画像A3,A4,B3,B4,B5は、上述した非対応画像である。
出力部38は、非対応画像については、比較する被写体画像同士のうち、数の少ない被写体の画像の方に合わせて、非対応フレーム画像の数を設定する。すなわち、出力部38は、被写体Aの非対応画像A3,A4(2枚)と、被写体Bの非対応画像B3,B4,B5(3枚)とのうち、数の少ない被写体Aの非対応画像の方に、数を合わせて合成することにより、非対応フレーム画像を生成する。
具体的には、出力部38は、被写体Aの非対応画像A3,A4(2枚)を合成用画像として設定する。また、出力部38は、被写体Bの非対応画像B3,B4,B5から、いずれか2つ(例えば、画像B3,B4)を選択し、合成用画像として設定する。それから、出力部38は、画像A3と画像B3を横並びに合成した画像C3をフレーム画像(非対応フレーム画像)として生成する。また、出力部38は、画像A4と画像B4を横並びに合成した画像C4をフレーム画像(非対応フレーム画像)として生成する。
そして、出力部38は、合成により得られた画像C1,C2,C3,C4,C5のフレーム画像を含む動画を生成する。動画の再生速度は、例えば、フレーム画像数に応じて設定してもよいし、任意に設定できるようにしてもよい。
また、非対応フレーム画像の数は、動画の所定フレーム数から、対応フレーム数の数を引いたフレーム数としてもよい。このように構成することにより、所定長さの動画を生成することはできる。このとき、できるだけ対応している画像を選択するのが好ましい。
なお、対応する画像だけを用いて動画(対応フレームのみからなる動画)を作成してもよい。例えば、出力部38は、非対応フレーム画像を含まない、対応フレーム画像C1,C2,C5のみの動画を生成してもよい。
また、合成は、比較する画像同士を横並びに合成することに限定されず、例えば、縦に並べて合成してもよいし、表示領域を直角三角形状にした場合には直角三角形の斜辺部分を合成するようにしてもよい。
また、図18の例では、2人の被写体間の対応する2つの画像同士を合成したが、3人以上の被写体間において対応する3以上の画像同士を合成してもよい。例えば、4人の被写体間において、対応する4つの画像を横2行×縦2列に並べて合成するようにしてもよい。また、合成された場合の各被写体の表示領域は均等でなくてもよく、いずれかの被写体の表示領域を広くしてもよいし、狭くしてもよい。すなわち、合成後の各被写体の表示領域のレイアウトは、特に限定されるものではない。
また、合成後の各フレーム画像中の各被写体の表示領域またはそのサイズは、固定にしていてもよいし、編集方法によっては演出の1つとして各被写体の表示領域またはサイズを変更してもよい。
また、出力部38は、上記のように生成した動画を、例えば、成長タイムライン画面71上で再生可能に表示してもよいし、コレクション画面51の動画表示欄55で再生可能に表示してもよい。
図19は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ101は、ユーザ端末12、サーバ15として機能する。コンピュータ101は、CPU102、ROM103、RAM104、記憶装置105、入力I/F106、出力I/F107、通信I/F108、読取装置109、バス110によって構成されている。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス110には、CPU102、ROM103、RAM104、記憶装置105、入力I/F106、出力I/F107、通信I/F108、及び必要に応じて読取装置109が接続されている。
コンピュータ101がサーバ15の場合、CPU102は、記憶装置105から本実施形態に係るプログラムを読み出し、被写体情報登録部33、画像取得部34、画像解析部35、クラスタリング部36、タグ付与部37、出力部38として機能する。ROM103は、読み出し専用のメモリを示す。RAM104は、一時的に記憶するメモリである。
記憶装置105は、大容量の情報を記憶する装置である。記憶装置105としては、ハードディスク、ソリッドステートドライブ(SSD)、フラッシュメモリカードなど様々な形式の記憶装置を使用することができる。記憶装置105には、本発明の実施形態に係るプログラムや、記憶部41に格納されている各種データが記憶されている。
入力I/F106は、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルディスプレイ、情報読取装置等の入力装置と接続することが可能である。また、出力I/F107は、ディスプレイ、タッチパネル、プロジェクタ、プリンタ、スピーカ等の出力装置と接続することが可能である。
通信I/F108は、通信ネットワークと接続して他の装置と通信するためのポート等のインターフェースである。通信ネットワークは、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、専用線、有線、無線等の通信網であってよい。読取装置109は、可搬型記録媒体を読み出す装置である。
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワークおよび通信I/F108を介して、例えば記憶装置105に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置105にセットされて、CPU102によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD-ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置109によって読み取られる。
また、当該プログラムは、スタンドアローン型のコンピュータにインストールされてもよいし、クラウドコンピュータによりインストールされて機能のみをユーザに提供してもよい。また、本実施形態では、ユーザ端末12にサーバ15と通信可能なアプリケーションプログラムをインストールして、本実施形態における画像収集管理システム11の制御を行ったが、これに限定されない。例えば、ユーザ端末12にインストールされたWebブラウザを用いて、サーバ15にアクセスし、サーバ15側で運用されている本実施形態に係るシステムを使用してもよい。
本実施形態によれば、対応する年齢の時に写された被写体間の画像同士を、より比較しやすいように配置して出力することができる。たとえば、対応する年齢の時に写された被写体間の画像同士であって、かつ、構図や、撮影場所、付与されている情報等が対応している画像を並べて配置して出力することができる。これにより、例えば、兄弟・姉妹間で対応する年齢のときの写真を見比べて鑑賞するとき、より比較しやすくなる。また、本実施形態によれば、そのような対応する画像から動画を制作することもできる。
また、上述した実施形態では、対象の被写体の画像を予め登録することなく、所定の被写体の名前及び生年月日を登録しておき、収集した画像を分類して顔タグを付与した画像を用いたが、これに限定されない。例えば、予め対象の被写体の画像を登録しておいて、パターンマッチングにより被写体毎に分類された画像を、本実施形態に用いてもよいし、予め被写体毎に登録された画像を用いてもよい。
また、顔タグについては、上記実施形態では、サーバ15側で設定したが、これに限定されず、例えばユーザが各画像に設定するようにしてもよい。また、比較したい2以上の被写体を選択できるようにしてもよい。例えば、成長タイムライン画面71に遷移する前に、比較したい2以上の被写体を選択して所定のボタンをタップすると、その選択した2以上の被写体についての成長タイムライン画面71が表示されるようにしてもよい。
また、成長タイムライン画面71に表示される各被写体の画像は、各被写体の動画を構成するフレーム画像の一部(静止画像)を抽出したものであってもよい。
以上、実施形態、変形例に基づき本態様について説明してきたが、上記した態様の実施の形態は、本態様の理解を容易にするためのものであり、本態様を限定するものではない。本態様は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本態様にはその等価物が含まれる。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することができる。
上記実施形態に加え、さらに、以下を付記する。
(付記1)
互いに撮影時の年齢情報が対応する、第1被写体の画像である第1画像と、第2被写体の1又は複数の画像とを取得する取得部と、
前記第1画像の画像情報と前記第1画像に付与されている情報のうち少なくともいずれかに基づいて、前記第1画像と、前記第2被写体の1又は複数の画像のうち前記第1画像に対応する第2画像とを比較可能に出力する出力部と、
を備える情報処理装置。
このように構成することにより、対応する年齢の時の被写体同士を、より比較しやすくすることができる。
(付記2)
前記出力部は、前記第2被写体の1又は複数の画像のうち、前記第1画像の画像情報に基づく構図に対応する画像を、前記第2画像として出力する
付記1に記載の情報処理装置。
このように構成することにより、被写体間で構図が対応する画像を出力することで、被写体の比較がしやすくなる。
(付記3)
前記出力部は、前記第2被写体の1又は複数の画像のうち、前記第1画像に付与されている場所情報に対応する画像を、前記第2画像として出力する
付記1に記載の情報処理装置。
このように構成することにより、写真に撮影場所の情報を関連付けておき、被写体間で撮影場所が対応する画像を比較することができる。
(付記4)
前記出力部は、前記第2被写体の1又は複数の画像のうち、前記第1画像に付与されているテキスト情報に対応する画像を、前記第2画像として出力する
付記1に記載の情報処理装置。
このように構成することにより、写真に対して付与されたテキスト(例えば「初めてハイハイした日」、「初めて歩いた日」等)が対応する写真を比較することができる。
(付記5)
前記出力部は、前記第2被写体の1又は複数の画像のうち、前記第1画像に撮像されている被写体の組み合わせに対応する画像を、前記第2画像として出力する
付記1に記載の情報処理装置。
このように構成することにより、被写体の組み合わせ(両親と本人等)が同じ写真を比較することができる。
(付記6)
前記出力部は、前記第1被写体の複数の第1画像と、前記複数の第1画像にそれぞれ対応する前記第2被写体の第2画像とをそれぞれ比較可能に表示する複数の対応フレーム画像を含む動画を出力する
付記1~5のうちいずれか1項に記載の情報処理装置。
このように構成することにより、年齢が対応する画像を含む動画を作成することができる。これにより、年齢が対応する被写体を複数時点で比較することができる。
(付記7)
前記取得部は、互いに撮影時の年齢情報が対応する、前記第1被写体の複数の画像と、前記第2被写体の複数の画像とを取得し、
前記第1被写体の複数の画像は、前記複数の第1画像と、前記第2被写体の複数の画像の中に対応する画像がない1以上の第3画像と、を含み、
前記第2被写体の複数の画像は、前記複数の第2画像と、前記第1被写体の複数の画像の中に対応する画像がない1以上の第4画像と、を含み、
前記動画は、前記複数の対応フレーム画像と、いずれかの前記第3画像と前記第4画像を比較可能に表示する1以上の非対応フレーム画像とを含む
付記6に記載の情報処理装置。
このように構成することにより、年齢が対応する被写体の画像について互いに対応するものは同じフレームで確認できるようにした上で、対応する画像の数より多くの数のフレームを含む動画を作成することができる。
(付記8)
前記非対応フレーム画像の数は、前記第3画像と前記第4画像のうち、枚数の少ない方に基づいて設定される
付記7に記載の情報処理装置。
このように構成することにより、動画において被写体が出現する数を等しくすることができる。
(付記9)
前記非対応フレーム画像の数は、前記動画の所定フレーム数から、前記対応フレーム数の数を引いたフレーム数とする
付記7に記載の情報処理装置。
このように構成することにより、所定長さの動画を生成するにあたり、できるだけ対応している画像の数を多くすることができる。
(付記10)
コンピュータに、
互いに撮影時の年齢情報が対応する、第1被写体の画像である第1画像と、第2被写体の1又は複数の画像とを取得する取得処理と、
前記第1画像の画像情報と前記第1画像に付与されている情報のうち少なくともいずれかに基づいて、前記第1画像と、前記第2被写体の1又は複数の画像のうち前記第1画像に対応する第2画像とを比較可能に出力する出力処理と、
を実行させる画像出力プログラム。
このように構成することにより、対応する年齢の時の被写体同士を、より比較しやすくすることができる。
(付記11)
コンピュータが、
互いに撮影時の年齢情報が対応する、第1被写体の画像である第1画像と、第2被写体の1又は複数の画像とを取得し、
前記第1画像の画像情報と前記第1画像に付与されている情報のうち少なくともいずれかに基づいて、前記第1画像と、前記第2被写体の1又は複数の画像のうち前記第1画像に対応する第2画像とを比較可能に出力する、
画像出力方法。
このように構成することにより、対応する年齢の時の被写体同士を、より比較しやすくすることができる。