以下、図面を参照しながら、情報処理システム、データ蓄積装置、データ生成装置、画像処理装置、情報処理方法、データ蓄積方法、データ生成方法、画像処理方法、記録媒体及びデータベースの実施形態について説明する。以下では、情報処理システム、データ蓄積装置、データ生成装置、画像処理装置、情報処理方法、データ蓄積方法、データ生成方法、画像処理方法、記録媒体及びデータベースの実施形態が適用された情報処理システムSYSについて説明する。
(1)第1実施形態の情報処理システムSYSの構成
(1-1)情報処理システムSYSの全体構成
初めに、図1を参照しながら、第1実施形態の情報処理システムSYSの全体構成について説明する。図1は、第1実施形態の情報処理システムSYSの全体構成を示すブロック図である。
図1に示すように、情報処理システムSYSは、画像処理装置1と、データ生成装置2と、データ蓄積装置3とを備えている。画像処理装置1、データ生成装置2及びデータ蓄積装置3は、有線の通信ネットワーク及び無線の通信ネットワークの少なくとも一つを介して、互いに通信可能であってもよい。
画像処理装置1は、人物100を撮像することで生成される顔画像101を用いた画像処理を行う。具体的には、画像処理装置1は、顔画像101に基づいて、顔画像101に写り込んだ人物100の顔に発生するアクションユニットを検出する(言い換えれば、特定する)ためのアクション検出動作を行う。つまり、画像処理装置1は、顔画像101に基づいて、顔画像101に写り込んだ人物100の顔にアクションユニットが発生しているか否かを判定するためのアクション検出動作を行う。第1実施形態では、アクションユニットは、顔を構成する複数の顔パーツのうちの少なくとも一つの所定の動きを意味する。顔パーツの一例として、例えば、眉、瞼、目、頬、鼻、唇、口及びあごの少なくとも一つがあげられる。
アクションユニットは、関連する顔パーツの種類及び顔パーツの動きの種類に応じて複数種類に区別されていてもよい。この場合、画像処理装置1は、複数種類のアクションユニットのうちの少なくとも一つが発生しているか否かを判定してもよい。例えば、画像処理装置1は、眉の内側が持ち上がったという動きに相当するアクションユニット、眉の外側が持ち上がったという動きに相当するアクションユニット、眉が内側に下がったという動きに相当するアクションユニット、上瞼が上がったという動きに相当するアクションユニット、頬が持ち上がったという動きに相当するアクションユニット、瞼が緊張しているという動きに相当するアクションユニット、鼻に皺を寄せているという動きに相当するアクションユニット、上唇が持ち上がったという動きに相当するアクションユニット、薄目を開けているという動きに相当するアクションユニット、瞼を閉じているというアクションユニット及び目を細めているというアクションユニットのうちの少なくとも一つを検出してもよい。尚、画像処理装置1は、このような複数種類のアクションユニットとして、例えば、FACS(Facial Action Coding System)によって定義されている複数種類のアクションユニットを用いてもよい。但し、第1実施形態のアクションユニットが、FACSによって定義されるアクションユニットに限定されることはない。
画像処理装置1は、学習可能な演算モデル(以降、“学習モデル”と称する)を用いて、アクション検出動作を行う。学習モデルは、例えば、顔画像101が入力されると、顔画像101に写り込んでいる人物100の顔に発生しているアクションユニットに関する情報を出力する演算モデルであってもよい。但し、画像処理装置1は、学習モデルを用いる方法とは異なる方法を用いて、アクション検出動作を行ってもよい。
データ生成装置2は、画像処理装置1が用いる学習モデルを学習させるために利用可能な学習データセット220を生成するためのデータ生成動作を行う。学習モデルの学習は、例えば、学習モデルによるアクションユニットの検出精度(つまり、画像処理装置1によるアクションユニットの検出精度)を向上させるために行われる。但し、学習モデルは、データ生成装置2が生成した学習データセット220を用いることなく学習されてもよい。つまり、学習モデルの学習方法は、学習データセット220を用いた学習方法に限定されることはない。第1実施形態では、データ生成装置2は、顔データ221を複数生成することで、当該複数の顔データ221の少なくとも一部を含む学習データセット220を生成する。各顔データ221は、各顔データ221に対応する仮想的な(言い換えれば、疑似的)人物200(後述する図15等参照)の顔の特徴を表すデータである。例えば、各顔データ221は、各顔データ221に対応する仮想的な人物200の顔の特徴を、当該顔の特徴点を用いて表すデータであってもよい。更に、各顔データ221は、各顔データ221に対応する仮想的な人物200の顔に発生しているアクションユニットの種類を示す正解ラベルが付与されたデータである。
画像処理装置1の学習モデルは、学習データセット220を用いて学習される。具体的には、学習モデルを学習させるために、学習モデルには、顔データ221に含まれる特徴点が入力される。その後、学習モデルの出力と、顔データ221に付与された正解ラベルとに基づいて、学習モデルを規定するパラメータ(例えば、ニューラルネットワークの重み及びバイアスの少なくとも一つ)が学習される。画像処理装置1は、学習データセット220を用いて学習済みの学習モデルを用いて、アクション検出動作を行う。
データ蓄積装置3は、データ生成装置2が学習データセット220を生成する(つまり、複数の顔データ221を生成する)ために参照する特徴点データベース320を生成するためのデータ蓄積動作を行う。具体的には、データ蓄積装置3は、人物300(後述する図6等参照)を撮像することで生成される顔画像301に基づいて、顔画像301に写り込んだ人物300の顔の特徴点を収集する。顔画像301は、少なくとも一つの所望の種類のアクションユニットが発生している人物300を撮像することで生成されてもよい。或いは、顔画像301は、いずれの種類のアクションユニットも発生していない人物300を撮像することで生成されてもよい。いずれにせよ、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの有無及び種類は、データ蓄積装置3にとって既知の情報となる。更に、データ蓄積装置3は、収集した特徴点を、人物300の顔に発生しているアクションユニットの種類が関連付けられ且つ顔パーツ毎に分類された状態で格納する(つまり、蓄積する又は含む)特徴点データベース320を生成する。尚、特徴点データベース320のデータ構造については、後に詳述する。
(1-2)画像処理装置1の構成
続いて、図2を参照しながら、第1実施形態の画像処理装置1の構成について説明する。図2は、第1実施形態の画像処理装置1の構成を示すブロック図である。
図2に示すように、画像処理装置1は、カメラ11と、演算装置12と、記憶装置13とを備えている。更に、画像処理装置1は、入力装置14と、出力装置15とを備えていてもよい。但し、画像処理装置1は、入力装置14及び出力装置15の少なくとも一方を備えていなくてもよい。カメラ11と、演算装置12と、記憶装置13と、入力装置14と、出力装置15とは、データバス16を介して接続されていてもよい。
カメラ11は、人物100を撮像することで顔画像101を生成する。カメラ11が生成した顔画像101は、カメラ11から演算装置12に入力される。尚、画像処理装置1は、カメラ11を備えていなくてもよい。この場合、画像処理装置1の外部に配置されるカメラが、人物100を撮像することで顔画像101を生成してもよい。画像処理装置1の外部に配置されるカメラが生成した顔画像101は、入力装置14を介して、演算装置12に入力されてもよい。
演算装置12は、例えば、CPU(Central Proecssing Unit)、GPU(Graphic Processing Unit)、FPGA(Field Programmable Gate Array)、TPU(Tensor Processing Unit)、ASIC(Application Specific Integrated Circuit)及び量子プロセッサの少なくとも一つを含むプロセッサを備える。演算装置12は、単一のプロセッサを備えていてもよいし、複数のプロセッサを備えていてもよい。演算装置12は、コンピュータプログラムを読み込む。例えば、演算装置12は、記憶装置13が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置12は、コンピュータで読み取り可能であって且つ一時的でない記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。演算装置12は、受信装置として機能可能な入力装置14を介して、画像処理装置1の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置12は、読み込んだコンピュータプログラムを実行する。その結果、演算装置12内には、画像処理装置1が行うべき動作(例えば、アクション検出動作)を実行するための論理的な機能ブロックが実現される。つまり、演算装置12は、画像処理装置1が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
図2には、アクション検出動作を実行するために演算装置12内に実現される論理的な機能ブロックの一例が示されている。図2に示すように、演算装置12内には、アクション検出動作を実行するための論理的な機能ブロックとして、特徴点検出部121と、顔向き算出部122と、位置補正部123と、アクション検出部124とが実現される。尚、特徴点検出部121、顔向き算出部122、位置補正部123及びアクション検出部124の夫々の動作の詳細については後に詳述するが、以下のその概要について簡単に説明する。特徴点検出部121は、顔画像101に基づいて、顔画像101に写り込んでいる人物100の顔の特徴点を検出する。顔向き算出部122は、顔画像101に基づいて、顔画像101に写り込んでいる人物100の顔の向きを角度で示す顔角度情報を生成する。位置補正部123は、特徴点検出部121が検出した特徴点の位置に関する位置情報を生成し、顔向き算出部122が生成した顔角度情報に基づいて、生成した位置情報を補正する。アクション検出部124は、位置補正部123が補正した位置情報に基づいて、顔画像101に写り込んでいる人物100の顔にアクションユニットが発生したか否かを判定する。
記憶装置13は、所望のデータを記憶可能である。例えば、記憶装置13は、演算装置12が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置13は、演算装置12がコンピュータプログラムを実行している際に演算装置12が一時的に使用するデータを一時的に記憶してもよい。記憶装置13は、画像処理装置1が長期的に保存するデータを記憶してもよい。尚、記憶装置13は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。つまり、記憶装置13は、一時的でない記録媒体を含んでいてもよい。
入力装置14は、画像処理装置1の外部からの画像処理装置1に対する情報の入力を受け付ける装置である。例えば、入力装置14は、画像処理装置1のユーザが操作可能な操作装置(例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つ)を含んでいてもよい。例えば、入力装置14は、画像処理装置1に対して外付け可能な記録媒体にデータとして記録されている情報を読み取り可能な読取装置を含んでいてもよい。例えば、入力装置14は、画像処理装置1の外部から通信ネットワークを介して画像処理装置1にデータとして送信される情報を受信可能な受信装置を含んでいてもよい。
出力装置15は、画像処理装置1の外部に対して情報を出力する装置である。例えば、出力装置15は、画像処理装置1が行うアクション検出動作に関する情報(例えば、検出されたアクションリストに関する情報)を出力してもよい。このような出力装置15の一例として、情報を画像として出力可能な(つまり、表示可能な)ディスプレイがあげられる。出力装置15の一例として、情報を音声として出力可能なスピーカがあげられる。出力装置15の一例として、情報が印刷された文書を出力可能なプリンタがあげられる。出力装置15の一例として、通信ネットワーク又はデータバスを介して情報をデータとして送信可能な送信装置があげられる。
(1-3)データ生成装置2の構成
続いて、図3を参照しながら、第1実施形態のデータ生成装置2の構成について説明する。図3は、第1実施形態のデータ生成装置2の構成を示すブロック図である。
図3に示すように、データ生成装置2は、演算装置21と、記憶装置22とを備えている。更に、データ生成装置2は、入力装置23と、出力装置24とを備えていてもよい。但し、データ生成装置2は、入力装置23及び出力装置24の少なくとも一方を備えていなくてもよい。演算装置21と、記憶装置22と、入力装置23と、出力装置24とは、データバス25を介して接続されていてもよい。
演算装置21は、例えば、CPU、GPU及びFPGAの少なくとも一つを含む。演算装置21は、コンピュータプログラムを読み込む。例えば、演算装置21は、記憶装置22が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置21は、コンピュータで読み取り可能であって且つ一時的でない記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。演算装置21は、受信装置として機能可能な入力装置23を介して、データ生成装置2の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置21は、読み込んだコンピュータプログラムを実行する。その結果、演算装置21内には、データ生成装置2が行うべき動作(例えば、データ生成動作)を実行するための論理的な機能ブロックが実現される。つまり、演算装置21は、データ生成装置2が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
図3には、データ生成動作を実行するために演算装置21内に実現される論理的な機能ブロックの一例が示されている。図3に示すように、演算装置21内には、データ生成動作を実行するための論理的な機能ブロックとして、特徴点選択部211と、顔データ生成部212とが実現される。尚、特徴点選択部211及び顔データ生成部212の夫々の動作の詳細については後に詳述するが、以下のその概要について簡単に説明する。特徴点選択部211は、特徴点データベース320から、複数の顔パーツの夫々毎に少なくとも一つの特徴点を選択する。顔データ生成部211は、特徴点選択部211が選択した複数の顔パーツの夫々に対応する複数の特徴点を組み合わせることで、複数の特徴点によって仮想的な人物の顔の特徴を表す顔データ211を生成する。
記憶装置22は、所望のデータを記憶可能である。例えば、記憶装置22は、演算装置21が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置22は、演算装置21がコンピュータプログラムを実行している際に演算装置21が一時的に使用するデータを一時的に記憶してもよい。記憶装置22は、データ生成装置2が長期的に保存するデータを記憶してもよい。尚、記憶装置22は、RAM、ROM、ハードディスク装置、光磁気ディスク装置、SSD及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。つまり、記憶装置22は、一時的でない記録媒体を含んでいてもよい。
入力装置23は、データ生成装置2の外部からのデータ生成装置2に対する情報の入力を受け付ける装置である。例えば、入力装置23は、データ生成装置2のユーザが操作可能な操作装置(例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つ)を含んでいてもよい。例えば、入力装置23は、データ生成装置2に対して外付け可能な記録媒体にデータとして記録されている情報を読み取り可能な読取装置を含んでいてもよい。例えば、入力装置23は、データ生成装置2の外部から通信ネットワークを介してデータ生成装置2にデータとして送信される情報を受信可能な受信装置を含んでいてもよい。
出力装置24は、データ生成装置2の外部に対して情報を出力する装置である。例えば、出力装置24は、データ生成装置2が行うデータ生成動作に関する情報を出力してもよい。例えば、出力装置24は、データ生成動作によって生成された複数の顔データ221の少なくとも一部を含む学習データセット220を画像処理装置1に対して出力してもよい。このような出力装置24の一例として、通信ネットワーク又はデータバスを介して情報をデータとして送信可能な送信装置があげられる。出力装置24の一例として、情報を画像として出力可能な(つまり、表示可能な)ディスプレイがあげられる。出力装置24の一例として、情報を音声として出力可能なスピーカがあげられる。出力装置24の一例として、情報が印刷された文書を出力可能なプリンタがあげられる。
(1-4)データ蓄積装置3の構成
続いて、図4を参照しながら、第1実施形態のデータ蓄積装置3の構成について説明する。図4は、第1実施形態のデータ蓄積装置3の構成を示すブロック図である。
図4に示すように、データ蓄積成装置3は、演算装置31と、記憶装置32とを備えている。更に、データ蓄積装置3は、入力装置33と、出力装置34とを備えていてもよい。但し、データ蓄積装置3は、入力装置33及び出力装置34の少なくとも一方を備えていなくてもよい。演算装置31と、記憶装置32と、入力装置33と、出力装置34とは、データバス35を介して接続されていてもよい。
演算装置31は、例えば、CPU、GPU及びFPGAの少なくとも一つを含む。演算装置31は、コンピュータプログラムを読み込む。例えば、演算装置31は、記憶装置32が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置31は、コンピュータで読み取り可能であって且つ一時的でない記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。演算装置31は、受信装置として機能可能な入力装置33を介して、データ蓄積装置3の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置31は、読み込んだコンピュータプログラムを実行する。その結果、演算装置31内には、データ蓄積装置3が行うべき動作(例えば、データ蓄積動作)を実行するための論理的な機能ブロックが実現される。つまり、演算装置31は、データ蓄積装置3が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
図4には、データ蓄積動作を実行するために演算装置31内に実現される論理的な機能ブロックの一例が示されている。図4に示すように、演算装置31内には、データ蓄積動作を実行するための論理的な機能ブロックとして、特徴点検出部311と、状態・属性特定部312と、データベース生成部313とが実現される。尚、特徴点検出部311、状態・属性特定部312及びデータベース生成部313との夫々の動作の詳細については後に詳述するが、以下のその概要について簡単に説明する。特徴点検出部311は、顔画像301に基づいて、顔画像301に写り込んでいる人物300の顔の特徴点を検出する。尚、上述した画像処理装置1が用いる顔画像101が、顔画像301として用いられてもよい。上述した画像処理装置1が用いる顔画像101とは異なる画像が、顔画像301として用いられてもよい。このため、顔画像301に写り込んでいる人物300は、顔画像101に写り込んでいる人物100と同一であってもよいし、異なっていてもよい。状態・属性特定部312は、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの種類を特定する。データベース生成部313は、特徴点検出部311が検出した特徴点を、状態・属性特定部312が特定したアクションユニットの種類を示す情報に関連付けられ且つ顔パーツ毎に分類された状態で格納する(つまり、蓄積する又は含む)特徴点データベース320を生成する。つまり、データベース生成部313は、人物300の顔に発生しているアクションユニットの種類を示す情報が関連付けられており、且つ、複数の顔パーツの夫々の単位で分類されている特徴点を複数含む特徴点データベース320を生成する。
記憶装置32は、所望のデータを記憶可能である。例えば、記憶装置32は、演算装置31が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置32は、演算装置31がコンピュータプログラムを実行している際に演算装置31が一時的に使用するデータを一時的に記憶してもよい。記憶装置32は、データ蓄積装置3が長期的に保存するデータを記憶してもよい。尚、記憶装置32は、RAM、ROM、ハードディスク装置、光磁気ディスク装置、SSD及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。つまり、記憶装置32は、一時的でない記録媒体を含んでいてもよい。
入力装置33は、データ生成装置3の外部からのデータ蓄積装置3に対する情報の入力を受け付ける装置である。例えば、入力装置33は、データ蓄積装置3のユーザが操作可能な操作装置(例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つ)を含んでいてもよい。例えば、入力装置33は、データ蓄積装置3に対して外付け可能な記録媒体にデータとして記録されている情報を読み取り可能な読取装置を含んでいてもよい。例えば、入力装置33は、データ蓄積装置3の外部から通信ネットワークを介してデータ蓄積装置3にデータとして送信される情報を受信可能な受信装置を含んでいてもよい。
出力装置34は、データ蓄積装置3の外部に対して情報を出力する装置である。例えば、出力装置34は、データ蓄積装置3が行うデータ蓄積動作に関する情報を出力してもよい。例えば、出力装置34は、データ蓄積動作によって生成された特徴点データベース320(或いは、その少なくとも一部)をデータ生成装置2に対して出力してもよい。このような出力装置34の一例として、通信ネットワーク又はデータバスを介して情報をデータとして送信可能な送信装置があげられる。出力装置34の一例として、情報を画像として出力可能な(つまり、表示可能な)ディスプレイがあげられる。出力装置34の一例として、情報を音声として出力可能なスピーカがあげられる。出力装置34の一例として、情報が印刷された文書を出力可能なプリンタがあげられる。
(2)情報処理システムSYSの動作の流れ
続いて、情報処理システムSYSの動作について説明する。上述したように、画像処理装置1、データ生成装置2及びデータ蓄積装置3は、夫々、アクション検出動作、データ生成動作及びデータ蓄積動作を行う。このため、以下では、アクション検出動作、データ生成動作及びデータ蓄積動作について順に説明する。但し、説明の便宜上、最初にデータ蓄積動作について説明し、次にデータ生成動作について説明し、最後にアクション検出動作について説明する。
(2-1)データ蓄積動作の流れ
初めに、図5を参照しながら、データ蓄積装置3が行うデータ蓄積動作の流れについて説明する。図5は、データ蓄積装置3が行うデータ蓄積動作の流れを示すフローチャートである。
図5に示すように、演算装置31は、入力装置33を用いて、顔画像301を取得する(ステップS31)。演算装置31は、単一の顔画像301を取得してもよい。演算装置31は、複数の顔画像301を取得してもよい。演算装置31が複数の顔画像301を取得する場合には、演算装置31は、複数の顔画像301の夫々に対して、後述するステップS32からステップS36の動作を行ってもよい。
その後、特徴点検出部311は、ステップS31で取得された顔画像301に映り込んでいる人物300の顔を検出する(ステップS32)。特徴点検出部311は、画像に映り込んでいる人物の顔を検出するための既存の方法を用いて、顔画像301に映り込んでいる人物300の顔を検出してもよい。以下、顔画像301に映り込んでいる人物300の顔を検出する方法の一例について簡単に説明する。顔画像301の一例を示す平面図である図6に示すように、顔画像301には、人物300の顔のみならず、人物300の顔以外の部位及び人物300の背景が映り込んでいる可能性がある。そこで、特徴点検出部311は、顔画像301から、人物300の顔が映り込んでいる顔領域302を特定する。顔領域302は、例えば、矩形の領域であるが、その他の形状の領域であってもよい。特徴点検出部311は、顔画像301のうちの特定した顔領域302に含まれる画像部分を、新たな顔画像303として抽出してもよい。
その後、特徴点検出部311は、顔画像303(或いは、顔領域302が特定された顔画像301)に基づいて、人物300の顔の特徴点を複数検出する(ステップS33)。例えば、顔画像303上で検出される複数の特徴点の一例を示す平面図である図7に示すように、特徴点検出部311は、顔画像303に含まれる人物300の顔の特徴的な部分を、特徴点として検出する。図7に示す例では、特徴点検出部311は、人物300の顔の輪郭、目、眉毛、眉間、耳、鼻、口及びあごの少なくとも一部を、複数の特徴点として検出している。特徴点検出部311は、顔パーツ毎に単一の特徴点を検出してもよいし、顔パーツ毎に複数の特徴点を検出してもよい。例えば、特徴点検出部311は、目に関する単一の特徴点を検出してもよいし、目に関する複数の特徴点を検出してもよい。尚、図7(更には、後述する図面)では、図面の簡略化のために、人物300の髪の毛の描画を省略している。
ステップS32からステップS33までの動作に相前後して又は並行して、状態・属性特定部312は、ステップS31で取得された顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの種類を特定する(ステップS34)。具体的には、上述したように、顔画像301は、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの有無及び種類が、データ蓄積装置3にとって既知となる画像である。この場合、顔画像301には、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの有無及び種類を示すアクション情報が関連付けられていてもよい。つまり、ステップS31において、演算装置31は、顔画像301と共に、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの有無及び種類を示すアクション情報を取得してもよい。その結果、状態・属性特定部312は、アクション情報に基づいて、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの有無及び種類を特定することができる。つまり、状態・属性特定部312は、顔画像301に対してアクションユニットを検出するための画像処理を施すことなく、顔画像301に写り込んでいる人物300の顔に発生しているアクションユニットの有無及び種類を特定することができる。
尚、アクションユニットは、人物300の顔の状態を、顔パーツの動きを用いて示す情報であるとも言える。この場合、演算装置31が顔画像301と共に取得するアクション情報は、顔パーツの動きを用いて人物300の顔の状態を示す情報であるがゆえに、状態情報と称されてもよい。
ステップS32からステップS34までの動作に相前後して又は並行して、状態・属性特定部312は、顔画像301(或いは、顔画像303)に基づいて、顔画像301に写り込んでいる人物300の属性を特定する(ステップS35)。ステップS35で特定される属性は、属性の変化が、顔画像301に写り込んだ顔を構成する複数の顔パーツのうちの少なくとも一つの位置(つまり、顔画像301内での位置)の変化につながるという第1の性質を有する属性を含んでいてもよい。ステップS35で特定される属性は、属性の変化が、顔画像301に写り込んだ顔を構成する複数の顔パーツのうちの少なくとも一つの形状(つまり、顔画像301内での形状)の変化につながるという第2の性質を有する属性を含んでいてもよい。ステップS35で特定される属性は、属性の変化が、顔画像301に写り込んだ顔を構成する複数の顔パーツのうちの少なくとも一つの輪郭(つまり、顔画像301内での輪郭)の変化につながるという第3の性質を有する属性を含んでいてもよい。この場合、顔パーツの位置、形状、及び輪郭の少なくとも一つが顔の違和感に及ぼす影響が相対的に大きいことを考慮すれば、データ生成装置2(図1)あるいは演算装置21(図3)は、人物の顔として違和感の少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。
例えば、第1の方向を向いている人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置は、第1の方向とは異なる第2の方向を向いている人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置と異なる可能性がある。具体的には、顔画像301内で正面を向いている人物300の目の位置は、顔画像301内で左右方向を向いている人物300の目の位置と異なる可能性がある。同様に、第1の方向を向いている人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの形状は、第2の方向を向いている人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの形状と異なる可能性がある。具体的には、顔画像301内で正面を向いている人物300の鼻の形状は、顔画像301内で左右方向を向いている人物300の鼻の形状と異なる可能性がある。同様に、第1の方向を向いている人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの輪郭は、第2の方向を向いている人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの輪郭と異なる可能性がある。具体的には、顔画像301内で正面を向いている人物300の口の輪郭は、顔画像301内で左右方向を向いている人物300の口の輪郭と異なる可能性がある。このため、第1から第3の性質のうちの少なくとも一つを有する属性の一例として、顔の向きがあげられる。この場合、状態・属性特定部312は、顔画像301に基づいて、顔画像301に写り込んでいる人物300の顔の向きを特定してもよい。つまり、状態・属性特定部312は、顔画像301を解析することで、顔画像301に写り込んでいる人物300の顔の向きを特定してもよい。
状態・属性特定部312は、顔の向きを角度で表すパラメータ(以降、“顔向き角度θ”と称する)を特定(つまり、算出)してもよい。顔向き角度θは、顔から所定方向に向かって延びる基準軸と、顔が実際に向いている方向に沿った比較軸とがなす角度を意味していてもよい。以下、図8から図12を参照しながら、このような顔向き角度θについて説明する。尚、図8から図12では、顔向き画像301の横方向(つまり、水平方向)をX軸方向とし、顔向き画像301の縦方向(つまり、垂直方向)をY軸方向とする座標系を用いて、顔向き角度θについて説明する。
図8は、顔画像301内で正面を向いている人物300が写り込んだ顔画像301を示す平面図である。顔向き角度θは、顔画像301内で人物300が正面を向いている場合にゼロとなるパラメータであってもよい。従って、基準軸は、顔画像301内で人物300が正面を向いている場合に人物300が向いている方向に沿った軸であってもよい。典型的には、カメラが人物300を撮像することで顔画像301が生成されるため、顔画像301内で人物300が正面を向いている状態は、人物300を撮像するカメラに対して人物300が正対している状態を意味していてもよい。この場合、人物300を撮像するカメラが備える光学系(例えば、レンズ)の光軸(或いは、当該光軸に平行な軸)が、基準軸として用いられてもよい。
図9は、顔画像301内で右方を向いている人物300が写り込んだ顔画像301を示す平面図である。つまり、図9は、垂直方向(図9では、Y軸方向)に沿った軸廻りに顔を回転させた(つまり、パン方向に顔を動かした)人物300が写り込んだ顔画像301を示す平面図である。この場合、水平面(つまり、Y軸に直交する面)内での人物300の顔の向きを示す平面図である図10に示すように、基準軸と比較軸とは、水平面内において0度とは異なる角度をなすように交差する。つまり、パン方向における顔向き角度θ(より具体的には、垂直方向に沿った軸廻りの顔の回転角度)は、0度とは異なる角度となる。
図11は、顔画像301内で下方を向いている人物300が写り込んだ顔画像301を示す平面図である。つまり、図11は、水平方向(図11では、X軸方向)に沿った軸廻りに顔を回転させている(つまり、チルト方向に顔を動かした)人物300が写り込んだ顔画像301を示す平面図である。この場合、垂直面(つまり、X軸に直交する面)内での人物300の顔の向きを示す平面図である図12に示すように、基準軸と比較軸とは、垂直面内において0度とは異なる角度をなすように交差する。つまり、チルト方向における顔向き角度θ(より具体的には、水平方向に沿った軸廻りの顔の回転角度)は、0度とは異なる角度となる。
このように顔が上下左右を向く可能性があるため、状態・属性特定部312は、パン方向の顔向き角度θ(以降、“顔向き角度θ_pan”と称する)と、チルト方向の顔向き角度θ(以降、“顔向き角度θ_tilt”と称する)とを別々に特定してもよい。但し、状態・属性特定部312は、顔向き角度θ_pan及びθ_tiltのいずれか一方を特定する一方で、顔向き角度θ_pan及びθ_tiltのいずれか他方を特定しなくてもよい。状態・属性特定部312は、顔向き角度θ_pan及びθ_tiltを区別することなく、基準軸と比較軸とがなす角度を顔向き角度θとして特定してもよい。尚、以下の説明では、特段の説明がない場合は、顔向き角度θは、顔向き角度θ_pan及びθ_tiltの双方又はいずれか一方を意味していてもよい。
或いは、状態・属性特定部312は、顔画像301に写り込んでいる人物300の顔の向きに加えて又は代えて、人物300のその他の属性を特定してもよい。例えば、アスペクト比(例えば、縦横比)が第1の比となる人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置、形状及び輪郭の少なくとも一つは、アスペクト比が第1の比と異なる第2の比となる人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置、形状及び輪郭の少なくとも一つと異なる可能性がある。例えば、男性である人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置、形状及び輪郭の少なくとも一つは、女性である人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置、形状及び輪郭の少なくとも一つと異なる可能性がある。例えば、第1の種類の人種の人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置、形状及び輪郭の少なくとも一つは、第1の種類の人種とは異なる第2の種類の人種の人物300の顔を撮像することで得られる顔画像301に写り込んでいる顔パーツの位置、形状及び輪郭の少なくとも一つと異なる可能性がある。なぜならば、人種によって骨格(ひいては、顔つき)が大きく異なる可能性があるからである。このため、第1から第3の性質のうちの少なくとも一つを有する属性の他の一例として、顔のアスペクト比、性別及び人種のうちの少なくとも一つがあげられる。この場合、状態・属性特定部312は、顔画像301に基づいて、顔画像301に写り込んでいる人物300の顔のアスペクト比、顔画像301に写り込んでいる人物300の性別及び顔画像301に写り込んでいる人物300の人種のうちの少なくとも一つを特定してもよい。この場合、顔向き角度θ、顔のアスペクト比、性別及び人種の少なくとも一つが顔の違和感各パーツの位置、形状、または輪郭に及ぼす影響が相対的に大きいことを考慮すれば、データ生成装置2あるいは演算装置21は、属性として、顔向き角度θ、顔のアスペクト比、性別及び人種の少なくとも一つを用いることで、人物の顔として違和感の少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。尚、以下の説明では、説明の簡略化のため、状態・属性特定部312が顔向き角度θを属性として特定する例について説明する。
再び図5において、その後、データベース生成部313は、ステップS33で検出された特徴点と、ステップS34で特定されたアクションユニットの種類と、ステップS35で特定された顔向き角度θ(つまり、人物300の属性)とに基づいて、特徴点データベース320を生成する(ステップS36)。具体的には、データベース生成部313は、ステップS33で検出された特徴点と、ステップS34で特定されたアクションユニットの種類と、ステップS35で特定された顔向き角度θ(つまり、人物300の属性)とが関連付けられたデータレコード321を含む特徴点データベース320を生成する。
特徴点データベース320を生成するために、データベース生成部313は、ステップS33で検出された特徴点に対応する顔パーツの種類の数だけ、データレコード321を生成する。例えば、ステップS33において、目に関する特徴点と、眉に関する特徴点と、鼻に関する特徴点とが検出された場合には、データベース生成部313は、目に関する特徴点を含むデータレコード321と、眉に関する特徴点を含むデータレコード321と、鼻に関する特徴点を含むデータレコード321とを生成する。その結果、データベース生成部313は、顔向き角度θが関連付け付けられており、且つ、複数の顔パーツの夫々の単位で分類されている特徴点を含むデータレコード321を複数含む特徴点データベース320を生成する。
同じ種類の顔パーツが複数存在する場合には、データベース生成部313は、同じ種類の複数の顔パーツの特徴点をまとめて含むデータレコード321を生成してもよい。或いは、データベース生成部313は、同じ種類の複数の顔パーツの特徴点を夫々含む複数のデータレコード321を生成してもよい。例えば、顔には、右目と左目という、種類が同じ“目”となる顔パーツが含まれる。この場合、データベース生成部313は、右目に関する特徴点を含むデータレコード321と、左目に関する特徴点を含むデータレコード321とを別個に生成してもよい。或いは、データベース生成部313は、右目及び左目に関する特徴点をまとめて含むデータレコード321を生成してもよい。
特徴点データベース320のデータ構造の一例が図13に示されている。図13に示すように、特徴点データベース320は、複数のデータレコード321を含む。各データレコード321は、各データレコード321の識別番号(ID)を示すデータフィールド3210と、特徴点データフィールド3211と、属性データフィールド3212と、アクションユニットデータフィールド3213とを含む。特徴点データフィールド3211は、図5のステップS33で検出された特徴点に関する情報をデータとして格納するためのデータフィールドである。図13に示す例では、特徴点データフィールド3211には、例えば、一の顔パーツに関する特徴点の位置を示す位置情報と、一の顔パーツの種類を示すパーツ情報とがデータとして格納されている。属性データフィールド3212は、属性(この場合、顔向き角度θ)に関する情報をデータとして格納するためのデータフィールドである。図13に示す例では、属性データフィールド3212には、例えば、パン方向の顔向き角度θ_panを示す情報と、チルト方向の顔向き角度θ_tiltを示す情報とがデータとして記録されている。アクションユニットデータフィールド3213は、アクションユニットに関する情報を格納するためのデータフィールドである。図13に示す例では、アクションユニットデータフィールド3213には、例えば、第1の種類のアクションユニットAU#1が発生しているか否かを示す情報と、第2の種類のアクションユニットAU#2が発生しているか否かを示す情報と、・・・、第k(尚、kは1以上の整数)の種類のアクションユニットAU#kが発生しているか否かを示す情報とがデータとして記録されている。
各データレコード321は、属性データフィールド3212が示す向きを向いており且つアクションユニットデータフィールド3213が示す種類のアクションユニットが発生している顔から検出された、パーツ情報が示す種類の顔パーツに関する特徴点に関する情報(例えば、位置情報)を含んでいる。例えば、識別番号が#1であるデータレコード321は、顔向き角度θ_panが5度であり、顔向き角度θ_tiltが15度であり、且つ、第1の種類のアクションユニットAU#1が発生している顔から検出された、眉に関する特徴点に関する情報(例えば、位置情報)を含んでいる。
特徴点データフィールド3211に格納される特徴点の位置は、人物300の顔のサイズで正規化されていてもよい。例えば、データベース生成部320は、図5のステップS33で検出された特徴点の位置を、人物300の顔のサイズ(例えば、面積、長さ又は幅)で正規化し、正規化した位置を含むデータレコード321を生成してもよい。この場合、人物300の顔のサイズのばらつきに起因して、特徴点データベース320に格納される特徴点の位置がばらつく可能性が小さくなる。その結果、特徴点データベース320は、人物300の顔のサイズに起因したばらつき(つまり、個人差)を低減又は排除した特徴点を格納することができる。
生成した特徴点データベース320は、例えば、記憶装置32に記憶されていてもよい。記憶装置32が既に特徴点データベース320を記憶している場合には、データベース生成部313は、新たなデータレコード321を、記憶装置32が記憶している特徴点データベース320に追加してもよい。データレコード321を特徴点データベース320に追加する動作は、実質的には、特徴点データベース320を再生成する動作と等価である。
データ蓄積装置3は、上述した図5に示すデータ蓄積動作を、複数の異なる顔画像301を対象に繰り返してもよい。複数の異なる顔画像301は、複数の異なる人物300が夫々写り込んだ複数の顔画像301を含んでいてもよい。複数の異なる顔画像301は、同じ人物300が写り込んだ複数の顔画像301を含んでいてもよい。その結果、データ蓄積装置3は、複数の異なる顔画像301から収集した複数のデータレコード321を含む特徴点データベース320を生成することができる。
(2-2)データ生成動作の流れ
続いて、データ生成装置2が行うデータ生成動作の流れについて説明する。上述したように、データ生成装置2は、データ生成動作を行うことで、仮想的な人物200の顔の特徴点を示す顔データ221を生成する。具体的には、上述したように、データ生成装置2は、特徴点データベース320から、複数の顔パーツの夫々毎に少なくとも一つの特徴点を選択する。つまり、データ生成装置2は、特徴点データベース320から、複数の顔パーツに夫々対応する複数の特徴点を選択する。その後、データ生成装置2は、選択した複数の特徴点を組み合わせることで顔データ221を生成する。
第1実施形態では、データ生成装置2は、複数の顔パーツに夫々対応する複数の特徴点を選択する際に、特徴点データベース320から所望の条件を満たすデータレコード321を抽出し、特定したデータレコード321に含まれる特徴点を、顔データ221を生成するための特徴点として選択してもよい。
例えば、データ生成装置2は、所望の条件の一例として、アクションユニットに関する条件を採用してもよい。例えば、データ生成装置2は、所望種類のアクションユニットが発生していることをアクションユニットデータフィールド3213が示すデータレコード321を抽出してもよい。この場合、データ生成装置2は、所望種類のアクションユニットが発生している顔が写り込んだ顔画像301から収集された特徴点を選択することになる。つまり、データ生成装置2は、所望種類のアクションユニットが発生していることを示す情報に関連付けられた特徴点を選択することになる。
例えば、データ生成装置2は、所望の条件の他の一例として、属性(この場合、顔向き角度θ)に関する条件を採用してもよい。例えば、データ生成装置2は、属性が所望属性となっている(例えば、顔向き角度θが所望角度となっている)ことを属性データフィールド3213が示すデータレコード321を抽出してもよい。この場合、データ生成装置2は、所望属性の顔が写り込んだ顔画像301から収集された特徴点を選択することになる。つまり、データ生成装置2は、属性が所望属性となっている(例えば、顔向き角度θが所望角度となっている)ことを示す情報に関連付けられた特徴点を選択することになる。
以下、このようなデータ生成動作の流れについて、図14を参照しながら説明する。図14は、データ生成装置2が行うデータ生成動作の流れを示すフローチャートである。
図14に示すように、特徴点選択部211は、特徴点を選択する条件として、アクションユニットに関する条件を設定してもよい(ステップS21)。つまり、特徴点選択部211は、選択するべき特徴点に対応するアクションユニットの種類を、アクションユニットに関する条件として設定してもよい。この際、特徴点選択部211は、アクションユニットに関する条件を一つだけ設定してもよいし、アクションユニットに関する条件を複数設定してもよい。つまり、特徴点選択部211は、選択するべき特徴点に対応するアクションユニットの種類を一つだけ設定してもよいし、選択するべき特徴点に対応するアクションユニットの種類を複数設定してもよい。但し、特徴点選択部211は、アクションユニットに関する条件を設定しなくてもよい。つまり、データ生成装置2は、ステップS21の動作を行わなくてもよい。
ステップS21の動作に相前後又は並行して、特徴点選択部211は、特徴点を選択する条件として、アクションユニットに関する条件に加えて又は代えて、属性(この場合、顔向き角度θ)に関する条件を設定してもよい(ステップS22)。つまり、特徴点選択部211は、選択するべき特徴点に対応する顔向き角度θを、顔向き角度θに関する条件として設定してもよい。例えば、特徴点選択部211は、選択するべき特徴点に対応する顔向き角度θの値を設定してもよい。例えば、特徴点選択部211は、選択するべき特徴点に対応する顔向き角度θの範囲を設定してもよい。この際、特徴点選択部211は、顔向き角度θに関する条件を一つだけ設定してもよいし、顔向き角度θに関する条件を複数設定してもよい。つまり、特徴点選択部211は、選択するべき特徴点に対応する顔向き角度θを一つだけ設定してもよいし、選択するべき特徴点に対応する顔向き角度θを複数設定してもよい。但し、特徴点選択部211は、属性に関する条件を設定なくしてもよい。つまり、データ生成装置2は、ステップS22の動作を行わなくてもよい。
特徴点選択部211は、データ生成装置2のユーザの指示に基づいて、アクションユニットに関する条件を設定してもよい。例えば、特徴点選択部211は、アクションユニットに関する条件を設定するためのユーザの指示を、入力装置23を介して取得し、取得したユーザの指示に基づいて、アクションユニットに関する条件を設定してもよい。或いは、特徴点選択部211は、アクションユニットに関する条件をランダムに設定してもよい。上述したように画像処理装置1が複数種類のアクションユニットのうちの少なくとも一つを検出する場合には、特徴点選択部211は、画像処理装置1の検出対象となる複数種類のアクションユニットが順に、データ生成装置2が選択するべき特徴点に対応するアクションユニットとして設定されるように、アクションユニットに関する条件を設定してもよい。属性に関する条件についても同様である。
その後、特徴点選択部211は、特徴点データベース320から、複数の顔パーツの夫々毎に少なくとも一つの特徴点をランダムに選択する(ステップS23)。つまり、特徴点選択部211は、一の顔パーツの特徴点を含むデータレコード321をランダムに選択し、選択したデータレコード321に含まれる特徴点を選択する動作を、複数の顔パーツに夫々対応する複数の特徴点が選択されるまで繰り返す。例えば、特徴点選択部211は、眉の特徴点を含むデータレコード321をランダムに選択し且つ選択したデータレコード321に含まれる特徴点を選択する動作と、目の特徴点を含むデータレコード321をランダムに選択し且つ選択したデータレコード321に含まれる特徴点を選択する動作と、鼻の特徴点を含むデータレコード321をランダムに選択し且つ選択したデータレコード321に含まれる特徴点を選択する動作と、上唇の特徴点を含むデータレコード321をランダムに選択し且つ選択したデータレコード321に含まれる特徴点を選択する動作と、下唇の特徴点を含むデータレコード321をランダムに選択し且つ選択したデータレコード321に含まれる特徴点を選択する動作と、頬の特徴点を含むデータレコード321をランダムに選択し且つ選択したデータレコード321に含まれる特徴点を選択する動作とを行ってもよい。
一の顔パーツの特徴点をランダムに選択する際には、特徴点選択部211は、ステップS21で設定されたアクションユニットに関する条件及びステップS22で設定された属性に関する条件の少なくとも一方を参照する。つまり、特徴点選択部211は、ステップS21で設定されたアクションユニットに関する条件及びステップS22で設定された属性に関する条件の少なくとも一方を満たす一の顔パーツの特徴点をランダムに選択する。
具体的には、特徴点選択部211は、ステップS21で設定された種類のアクションユニットが発生していることをアクションユニットデータフィールド3213が示している一のデータレコード321をランダムに抽出し、抽出したデータレコード321に含まれる特徴点を選択してもよい。つまり、特徴点選択部211は、ステップS21で設定された種類のアクションユニットが発生している顔が写り込んだ顔画像301から収集された特徴点を選択してもよい。言い換えれば、特徴点選択部211は、ステップS21で設定された種類のアクションユニットが発生していることを示す情報に関連付けられた特徴点を選択してもよい。
特徴点選択部211は、ステップS22で設定された顔向き角度θに応じた方向を人物300が向いていることを属性データフィールド3212が示している一のデータレコード321をランダムに抽出し、抽出したデータレコード321に含まれる特徴点を選択してもよい。つまり、特徴点選択部211は、ステップS22で設定された顔向き角度θに応じた方向を向いた顔が写り込んだ顔画像301から収集された特徴点を選択してもよい。言い換えれば、特徴点選択部211は、ステップS21で設定された顔向き角度θに応じた方向を人物300が向いていることを示す情報に関連付けられた特徴点を選択してもよい。この場合、データ生成装置2あるいは演算装置21は、一の属性の顔の一の顔パーツに関する特徴点と、一の属性とは異なる他の属性の顔の他の顔パーツに関する特徴点とを組み合わせなくてもよくなる。例えば、データ生成装置2あるいは演算装置21は、正面の向いた顔の目に関する特徴点と、左右を向いた顔の鼻に関する特徴点とを組み合わせなくてもよくなる。このため、データ生成装置2あるいは演算装置21は、複数の顔パーツに夫々対応する複数の特徴点を、違和感の少ない又はない位置に、違和感の少ない又はない配置態様で配置することで、顔データ221を生成することができる。つまり、データ生成装置2あるいは演算装置21は、人物の顔として違和感の少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。
ステップS21において選択するべき特徴点に対応するアクションユニットの種類が複数設定された場合には、特徴点選択部211は、設定された複数種類のアクションユニットのうちの少なくとも一つに対応する特徴点を選択してもよい。つまり、特徴点選択部211は、設定された複数種類のアクションユニットのうちの少なくとも一つが発生している顔が写り込んだ顔画像301から収集された特徴点を選択してもよい。言い換えれば、特徴点選択部211は、設定された複数種類のアクションユニットのうちの少なくとも一つが発生していることを示す情報に関連付けられた特徴点を選択してもよい。或いは、特徴点選択部211は、設定された複数種類のアクションユニットの全てに対応する特徴点を選択してもよい。つまり、特徴点選択部211は、設定された複数種類のアクションユニットの全てが発生している顔が写り込んだ顔画像301から収集された特徴点を選択してもよい。言い換えれば、特徴点選択部211は、設定された複数種類のアクションユニットの全てが発生していることを示す情報に関連付けられた特徴点を選択してもよい。
ステップS22において選択するべき特徴点に対応する顔向き角度θが複数設定された場合には、特徴点選択部211は、設定された複数の顔向き角度θのうちの少なくとも一つに対応する特徴点を選択してもよい。つまり、特徴点選択部211は、設定された複数の顔向き角度θのうちの少なくとも一つに応じた方向を向いている顔が写り込んだ顔画像301から収集された特徴点を選択してもよい。言い換えれば、特徴点選択部211は、設定された複数の顔向き角度θのうちの少なくとも一つに応じた方向を顔が向いていることを示す情報に関連付けられた特徴点を選択してもよい。
その後、顔データ生成部212は、ステップS23で選択された複数の顔パーツに夫々対応する複数の特徴点を組み合わせることで、顔データ221を生成する(ステップS24)。具体的には、顔データ生成部212は、ステップS23で選択された一の顔パーツの特徴点が、当該特徴点の位置(つまり、データレコード321に含まれる位置情報が示す位置)に配置されるように、ステップS23で選択された複数の特徴点を組み合わせることで、顔データ221を生成する。つまり、顔データ生成部212は、ステップS23で選択された一の顔パーツの特徴点が仮想的な人物の顔の一部を構成するように、ステップS23で選択された複数の特徴点を組み合わせることで、顔データ221を生成する。その結果、顔データ221を模式的に示す平面図である図15に示すように、仮想的な人物200の顔の特徴を特徴点で表す顔データ221が生成される。
生成された顔データ221は、ステップS21で設定されたアクションユニットに関する条件(つまり、アクションユニットの種類)が正解ラベルとして付与された状態で、記憶装置22に記憶されてもよい。記憶装置22が記憶している顔データ221は、上述したように、学習用データセット220として、画像処理装置1の学習モデルを学習するために用いられてもよい。
データ生成装置2は、上述した図14に示すデータ生成動作を、複数回繰り返してもよい。その結果、データ生成装置2は、複数の顔データ221を生成することができる。ここで、顔データ221は、複数の顔画像301から収集された特徴点を組み合わせることで生成される。このため、典型的には、データ生成装置2は、顔画像301の数よりも多くの数の顔データ221を生成することができる。
(2-3)アクション検出動作の流れ
続いて、図16を参照しながら、画像処理装置1が行うアクション検出動作の流れについて説明する。図16は、画像処理装置1が行うアクション検出の流れを示すフローチャートである。
図16に示すように、演算装置12は、入力装置14を用いて、カメラ11から顔画像101を取得する(ステップS11)。演算装置12は、単一の顔画像101を取得してもよい。演算装置12は、複数の顔画像101を取得してもよい。演算装置12が複数の顔画像101を取得する場合には、演算装置12は、複数の顔画像101の夫々に対して、後述するステップS12からステップS16の動作を行ってもよい。
その後、特徴点検出部121は、ステップS11で取得された顔画像101に映り込んでいる人物100の顔を検出する(ステップS12)。尚、アクション検出動作において特徴点検出部121が人物100の顔を検出する動作は、上述したデータ蓄積動作において特徴点検出部311が人物300の顔を検出する動作(図5のステップS32)と同一であってもよい。このため、特徴点検出部121が人物100の顔を検出する動作の詳細な説明は省略する。
その後、特徴点検出部121は、顔画像101(或いは、顔画像101のうちステップS12において特定された顔領域に含まれる画像部分)に基づいて、人物100の顔の特徴点を複数検出する(ステップS13)。尚、アクション検出動作において特徴点検出部121が人物100の顔の特徴点を検出する動作は、上述したデータ蓄積動作において特徴点検出部311が人物300の顔の特徴点を検出する動作(図5のステップS33)と同一であってもよい。このため、特徴点検出部121が人物100の顔の特徴点を検出する動作の詳細な説明は省略する。
その後、位置補正部123は、ステップS13で検出された特徴点の位置に関する位置情報を生成する(ステップS14)。例えば、位置補正部123は、ステップS13で検出された複数の特徴点の間の相対的な位置関係を算出することで、当該相対的な位置関係を示す位置情報を生成してもよい。例えば、位置補正部123は、ステップS13で検出された複数の特徴点のうちの任意の二つの特徴点の間の相対的な位置関係を算出することで、当該相対的な位置関係を示す位置情報を生成してもよい。
以下の説明では、位置補正部123が、ステップS13で検出された複数の特徴点のうちの任意の二つの特徴点の間の距離(以降、“特徴点距離L”と称する)を生成する例を用いて説明を進める。この場合、ステップS13においてN個の特徴点が検出された場合には、位置補正部123は、第k(但し、kは、1以上且つN以下の整数を示す変数)番目の特徴点と第m(但し、mは、1以上且つN以下であって且つ変数kとは異なる整数を示す変数)との間の特徴点距離Lを、変数k及びmの組み合わせを変えながら算出する。つまり、位置補正部123は、複数の特徴点距離Lを算出する。
特徴点距離Lは、同じ顔画像101から検出された異なる二つの特徴点の間の距離(つまり、顔画像101内での位置を示す座標系での距離)を含んでいてもよい。或いは、複数の顔画像101が時系列データとして画像処理装置1に入力される場合には、特徴点距離Lは、異なる二つの顔画像101から夫々検出された互いに対応する二つの特徴点の間の距離を含んでいてもよい。具体的には、特徴点距離Lは、第1の時刻における人物100の顔が写り込んだ顔画像101から検出された一の特徴点と、第1の時刻とは異なる第2の時刻における人物100の顔が写り込んだ顔画像101から検出された同じ一の特徴点との間の距離(つまり、顔画像101内での位置を示す座標系での距離)を含んでいてもよい。
ステップS12からステップS14までの動作に相前後して又は並行して、顔向き算出部122は、顔画像101(或いは、顔画像101のうちステップS12において特定された顔領域に含まれる画像部分)に基づいて、顔画像101に写り込んでいる人物100の顔向き角度θを算出する(ステップS15)。尚、アクション検出動作において顔向き算出部122が人物100の顔向き角度θを検出する動作は、上述したデータ蓄積動作において状態・属性特定部312が人物300の顔向き角度θを特定する動作(図5のステップS35)と同一であってもよい。このため、顔向き算出部122が人物100の顔向き角度θを算出する動作の詳細な説明は省略する。
その後、位置補正部123は、ステップS15で算出された顔向き角度θに基づいて、ステップS14で生成された位置情報(この場合、複数の特徴点距離L)を補正する(ステップS16)。その結果、位置補正部123は、補正された位置情報を生成する(この場合、補正された複数の特徴点距離Lを算出する)。尚、以下の説明では、ステップS14で算出された(つまり、ステップS16で補正されていない)特徴点距離Lを、“特徴点距離L”と表記し、且つ、ステップS16で補正された特徴点距離Lを、“特徴点距離L’”と表記することで、両者を区別する。
ここで、顔向き角度θに基づいて特徴点距離Lを補正する理由について説明する。特徴点距離Lは、上述したように、アクションユニットを検出するために生成される。なぜならば、アクションユニットが発生した場合には、通常、顔を構成する複数の顔パーツのうちの少なくとも一つが動くがゆえに、特徴点距離L(つまり、特徴点の位置に関する位置情報)もまた変化するからである。このため、画像処理装置1は、特徴点距離Lの変化に基づいて、アクションユニットを検出することができる。一方で、特徴点距離Lは、アクションユニットの発生とは異なる要因によって変化することがある。具体的には、特徴点距離Lは、顔画像101に写り込んでいる人物100の顔の向きの変化に起因して変化することがある。この場合、画像処理装置1は、アクションユニットが発生していないにも関わらず、人物100の顔の向きの変化に起因して特徴点距離Lが変化したことを理由に、ある種類のアクションユニットが発生していると誤判定してしまう可能性がある。その結果、画像処理装置1は、アクションユニットが発生しているか否かを精度良く判定することができなくなるという技術的問題を有する。
そこで、第1実施形態では、画像処理装置1は、上述した技術的問題を解決するために、特徴点距離Lに基づいてアクションユニットを検出することに代えて、顔向き角度θに基づいて補正された特徴点距離L’に基づいてアクションユニットを検出する。このような顔向き角度θに基づいて特徴点距離Lを補正する理由を考慮すれば、位置補正部123は、人物100の顔の向きの変化に起因して生ずる特徴点距離Lの変化が、アクションユニットが発生しているか否かを判定する動作に与える影響を低減するように、顔向き角度θに基づいて特徴点距離Lを補正することが好ましい。言い換えれば、位置補正部123は、人物100の顔の向きの変動に起因して生ずる特徴点距離Lの変化が、アクションユニットの検出精度に与える影響を低減するように、顔向き角度θに基づいて特徴点距離Lを補正することが好ましい。具体的には、位置補正部123は、人物100の顔の向きの変化に起因して本来の値から変化している可能性がある特徴点距離Lと比較して、人物100の顔の向きの変化に起因した変化量が少ない又は相殺された(つまり、本来の値により近い)特徴点距離L’を算出するように、顔向き角度θに基づいて特徴点距離Lを補正してもよい。
一例として、位置補正部123は、L’=L/cosθという第1の数式を用いて、特徴点距離Lを補正してもよい。尚、第1の数式における顔向き角度θは、顔向き角度θ_pan及びθ_tiltを区別しない状況下で基準軸と比較軸とがなす角度を意味していてもよい。L’=L/cosθという第1の数式を用いて特徴点距離Lを補正する動作は、アクションユニットが発生しているか否かを判定する動作に対して人物100の顔の向きの変化に起因して生ずる特徴点距離Lの変化が与える影響を低減するように特徴点距離Lを補正する動作の一具体例に相当する。
顔向き算出部122は、顔向き角度θとして、パン方向の顔向き角度θ_panと、チルト方向の顔向き角度θ_tiltとを算出してもよいことは上述したとおりである。この場合、位置補正部123は、特徴点距離Lを、X軸方向の距離成分Lxと、Y軸方向の距離成分Lyとの距離成分に分解し、距離成分Lx及びLyの夫々を補正してもよい。その結果、位置補正部123は、特徴点距離L’のうちのX軸方向の距離成分Lx’と、特徴点距離L’のうちのY軸方向の距離成分Ly’とを算出することができる。具体的には、位置補正部123は、Lx’=Lx/cosθ_panという第2の数式及びLy’=Ly/cosθ_tiltという第3の数式を用いて、距離成分Lx及びLyを別々に補正してもよい。その結果、位置補正部123は、L’=(Lx’2+Ly’2)1/2という数式を用いて、特徴点距離L’を算出することができる。或いは、Lx’=Lx/cosθ_panという第2の数式及びLy’=Ly/cosθ_tiltという第3の数式は、L’=((Lx/cosθ_pan)2+(Ly/cosθ_tilt)2)1/2という第4の数式に統合されてもよい。つまり、位置補正部123は、第4の数式を用いて特徴点距離L(距離成分Lx及びLy)を補正することで、特徴点距離L’を算出してもよい。尚、第4の数式は、第2の数式及び第3の数式に基づく演算をまとめて行うための数式であるため、第2及び第3の数式と同様に、L’=L/cosθという第1の数式に基づく数式である(つまり、第1の数式と実質的には等価である)ことに変わりはない。
ここで、第1実施形態では、位置補正部123は、人物100の顔がどの程度正面から外れた方向を向いているかを示す数値パラメータに相当する顔向き角度θに基づいて、特徴点距離Lを補正することができる。その結果、上述した第1から第4の数式から分かるように、位置補正部123は、顔向き角度θが第1の角度となる場合の特徴点距離Lの補正量(つまり、補正前の特徴点距離Lと補正後の特徴点距離L’との差分)が、顔向き角度θが第1の角度とは異なる第2の角度となる場合に特徴点距離Lの補正量と異なるものとなるように、特徴点距離Lを補正することになる。
その後、アクション検出部124は、位置補正部123が補正した複数の特徴点距離L’(つまり、位置情報)に基づいて、顔画像101に写り込んでいる人物100の顔にアクションユニットが発生したか否かを判定する(ステップS17)。具体的には、アクション検出部124は、上述した学習モデルにステップS16で補正された複数の特徴点距離L’を入力することで、顔画像101に写り込んでいる人物100の顔にアクションユニットが発生したか否かを判定してもよい。この場合、学習モデルは、複数の特徴点距離L’に基づいて特徴量ベクトルを生成し、生成した特徴量ベクトルに基づいて、顔画像101に写り込んでいる人物100の顔にアクションユニットが発生したか否かの判定結果を出力してもよい。特徴量ベクトルは、複数の特徴点距離L’を並べたベクトルであってもよい。特徴量ベクトルは、複数の特徴点距離L’の特徴を示すベクトルであってもよい。
(3)情報処理システムSYSの技術的効果
以上説明したように、第1実施形態では、画像処理装置1は、顔画像101に写り込んだ人物100の顔にアクションユニットが発生しているか否かを判定することができる。つまり、画像処理装置1は、顔画像101に写り込んだ人物100の顔に発生するアクションユニットを検出することができる。
特に、第1実施形態では、画像処理装置1は、人物100の顔向き角度θに基づいて、特徴点距離L(つまり、人物100の顔の特徴点の位置に関する位置情報)を補正し、補正した特徴点距離Lに基づいて、アクションユニットが発生しているか否かを判定することができる。このため、顔向き角度θに基づいて特徴点距離Lが補正されない場合と比較して、アクションユニットが発生していないにも関わらず、人物100の顔の向きの変化に起因して特徴点距離Lが変化したことを理由に、ある種類のアクションユニットが発生していると画像処理装置1が誤判定してしまう可能性が低くなる。このため、画像処理装置1は、アクションユニットが発生しているか否かを精度良く判定することができる。
この際、画像処理装置1は、顔向き角度θを用いて特徴点距離Lを補正するため、人物100の顔がどの程度正面から外れた方向を向いているかを考慮して、特徴点距離Lを補正することができる。その結果、人物100の顔が正面、右方及び左方のいずれを向いているかしか考慮しない(つまり、顔向き角度θを考慮しない)比較例の画像処理装置と比較して、画像処理装置1は、アクションユニットが発生しているか否かを精度良く判定することができる。
また、画像処理装置1は、人物100の顔の向きの変化に起因して生ずる特徴点距離Lの変化が、アクションユニットが発生しているか否かを判定する動作に与える影響を低減するように、顔向き角度θに基づいて特徴点距離Lを補正することができる。このため、アクションユニットが発生していないにも関わらず、人物100の顔の向きの変化に起因して特徴点距離Lが変化したことを理由に、ある種類のアクションユニットが発生していると画像処理装置1が誤判定してしまう可能性が低くなる。このため、画像処理装置1は、アクションユニットが発生しているか否かを精度良く判定することができる。
また、画像処理装置1は、上述したL’=L/cosθという第1の数式(更には、当該第1の数式に準拠した第2から第4の数式のうちの少なくとも一つ)を用いて、特徴点距離Lを補正することができる。その結果、画像処理装置1は、人物100の顔の向きの変動に起因して生ずる特徴点距離Lの変動が、アクションユニットが発生しているか否かを判定する動作に与える影響を低減するように、特徴点距離Lを適切に補正することができる。
また、第1実施形態では、データ生成装置2は、所望種類のアクションユニットが発生している顔が写り込んだ顔画像301から収集された特徴点を、複数の顔パーツの夫々毎に選択し、複数の顔パーツに夫々対応する複数の特徴点を組み合わせることで、顔データ221を生成することができる。このため、データ生成装置2は、所望種類のアクションユニットが発生している仮想的な人物200の顔の特徴点を示す顔データ221を、適切に生成することができる。その結果、データ生成装置2は、顔画像301よりも数が多く且つ所望種類のアクションユニットが発生していることを示す正解ラベルが付与された複数の顔データ221を含む学習データセット220を適切に生成することができる。つまり、データ生成装置2は、顔画像301がそのまま学習データセット220として用いられる場合と比較して、正解ラベルが付与されたより多くの顔データ221を含む学習データセット220を適切に生成することができる。つまり、データ生成装置2は、正解ラベルが付与された顔画像に相当する顔画像301を大量に用意することが困難な状況下においても、正解ラベルが付与された顔画像に相当する顔データ221を大量に用意することができる。このため、顔画像301そのものを用いて画像処理装置1の学習モデルを学習させる場合と比較して、学習モデルの学習データの数が多くなる。その結果、顔データ221を用いて画像処理装置1の学習モデルをより適切に(例えば、検出精度がより向上するように)学習させることができる。その結果、画像処理装置1の検出精度が向上する。
また、第1実施形態では、データ生成装置2は、所望属性の顔が写り込んだ顔画像301から収集された特徴点を、複数の顔パーツの夫々毎に選択し、複数の顔パーツに夫々対応する複数の特徴点を組み合わせることで、顔データ221を生成することができる。この場合、データ生成装置2は、一の属性の顔の一の顔パーツに関する特徴点と、一の属性とは異なる他の属性の顔の他の顔パーツに関する特徴点とを組み合わせなくてもよくなる。例えば、データ生成装置2は、正面の向いた顔の目に関する特徴点と、左右を向いた顔の鼻に関する特徴点とを組み合わせなくてもよくなる。このため、データ生成装置2は、複数の顔パーツに夫々対応する複数の特徴点を、違和感の少ない又はない位置に、違和感の少ない又はない配置態様で配置することで、顔データ221を生成することができる。つまり、データ生成装置2は、人物の顔として違和感の少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。その結果、画像処理装置1の学習モデルは、現実の人物の顔に相対的に近い仮想的な人物200の顔の特徴を示す顔データ221を用いて学習される。このため、現実の人物の顔からかけ離れた仮想的な人物200の顔の特徴を示す顔データ221を用いて学習モデルが学習される場合と比較して、画像処理装置1の学習モデルをより適切に(例えば、検出精度がより向上するように)学習させることができる。その結果、画像処理装置1の検出精度が向上する。
また、上述したデータ蓄積動作において特徴点データベース320に格納される特徴点の位置が人物300の顔のサイズで正規化されている場合には、データ生成装置2は、人物300の顔のサイズに起因したばらつきを低減又は排除した特徴点を組み合わせることで、顔データ221を生成することができる。その結果、特徴点データベース320に格納される特徴点の位置が人物300の顔のサイズで正規化されていない場合と比較して、データ生成装置2は、違和感の少ない又はない位置関係を有するように配置された複数の顔パーツから構成される仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。この場合も、画像処理装置1の学習モデルは、現実の人物の顔に相対的に近い仮想的な人物200の顔の特徴を示す顔データ221を用いて学習可能となる。
第1実施形態では、属性として、属性の変化が、顔画像301に写り込んだ顔を構成する複数の顔パーツのうちの少なくとも一つの位置及び形状の少なくとも一つの変化につながるという性質を有する属性を用いることができる。この場合、顔パーツの位置及び形状の少なくとも一つが顔の違和感に及ぼす影響が相対的に大きいことを考慮すれば、データ生成装置2は、人物の顔として違和感の少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。
第1実施形態では、属性として、顔向き角度θ、顔のアスペクト比、性別及び人種の少なくとも一つを用いることができる。この場合、顔向き角度θ、顔のアスペクト比、性別及び人種の少なくとも一つが顔の各パーツの位置、形状及び輪郭の少なくとも一つに及ぼす影響が相対的に大きいことを考慮すれば、データ生成装置2は、属性として、顔向き角度θ、顔のアスペクト比、性別及び人種の少なくとも一つを用いることで、人物の顔として違和感の少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。
また、第1実施形態では、データ蓄積装置3は、データ生成装置2が顔データ221を生成するために参照可能な特徴点データベース320を生成する。このため、データ蓄積装置3は、特徴点データベース320をデータ生成装置2に提供することで、データ生成装置2に顔データ221を適切に生成させることができる。
(4)第2実施形態の情報処理システムSYSの構成
続いて、第2実施形態の情報処理システムSYSについて説明する。以降の説明では、第2実施形態の情報処理システムSYSを、“情報処理システムSYSb”と称することで、第1実施形態の情報処理システムSYSと区別する。第2実施形態の情報処理システムSYSbの構成は、上述した第1実施形態の情報処理システムSYSの構成と同一である。第2実施形態の情報処理システムSYSbは、上述した第1実施形態の情報処理システムSYSと比較して、アクション検出動作の流れが異なるという点で異なる。第2実施形態の情報処理システムSYSbのその他の特徴は、上述した第1実施形態の情報処理システムSYSのその他の特徴と同一であってもよい。このため、以下では、図17を参照しながら、第2実施形態の情報処理システムSYSbが行うアクション検出動作の流れを示すフローチャートである。
図17に示すように、第2実施形態においても、第1実施形態と同様に、演算装置12は、入力装置14を用いて、カメラ11から顔画像101を取得する(ステップS11)。その後、特徴点検出部121は、ステップS11で取得された顔画像101に映り込んでいる人物100の顔を検出する(ステップS12)。その後、特徴点検出部121は、顔画像101(或いは、顔画像101のうちステップS12において特定された顔領域に含まれる画像部分)に基づいて、人物100の顔の特徴点を複数検出する(ステップS13)。その後、位置補正部123は、ステップS13で検出された特徴点の位置に関する位置情報を生成する(ステップS14)。尚、第2実施形態においても、ステップS14において、位置補正部123が、特徴点距離Lを生成する例を用いて説明を進める。更に、顔向き算出部122は、顔画像101(或いは、顔画像101のうちステップS12において特定された顔領域に含まれる画像部分)に基づいて、顔画像101に写り込んでいる人物100の顔向き角度θを算出する(ステップS15)。
その後、位置補正部123は、ステップS14で生成された位置情報(この場合、複数の特徴点距離L)と、ステップS15で算出された顔向き角度θとに基づいて、特徴点距離Lと顔向き角度θとの関係を規定する回帰式を算出する(ステップS21)。つまり、位置補正部123は、ステップS14で生成された複数の特徴点距離Lと、ステップS15で算出された顔向き角度θとに基づいて、特徴点距離Lと顔向き角度θとの関係を規定する回帰式を推定する回帰分析を行う。尚、ステップS21では、位置補正部123は、様々な人物101が様々な顔角度θに応じた方向を向いている複数の顔画像101から算出される複数の特徴点距離Lを用いて、回帰式を算出してもよい。同様に、ステップS21では、位置補正部123は、様々な人物101が様々な顔角度θに応じた方向を向いている複数の顔画像101から算出される複数の顔角度θを用いて、回帰式を算出してもよい。
ステップS14で生成された特徴点距離LとステップS15で算出された顔向き角度θとをプロットしたグラフの一例が、図18に示されている。図18は、特徴点距離Lが縦軸によって示されており且つ顔向き角度θが横軸によって示されているグラフ上で、特徴点距離Lと顔向き角度θとの関係を示している。図18に示すように、顔向き角度θによって補正されていない特徴点距離Lは、顔向き角度θに依存して変動する可能性があることが分かる。位置補正部123は、特徴点距離Lと顔向き角度θとの関係をn(尚、nは、1以上の整数を示す変数)次方程式で表す回帰式を算出してもよい。図18に示す例では、位置補正部123は、特徴点距離Lと顔向き角度θとの関係を二次方程式で表す回帰式(L=a×θ2+b×θ+c)を算出している。
その後、位置補正部123は、ステップS21で算出された回帰式に基づいて、ステップS14で生成された位置情報(この場合、複数の特徴点距離L)を補正する(ステップS22)。例えば、補正された特徴点距離L’と顔向き角度θとをプロットしたグラフの一例である図19に示すように、位置補正部123は、顔向き角度θによって補正された特徴点距離L’が顔向き角度θに依存して変動しなくなるように、回帰式に基づいて複数の特徴点距離Lを補正してもよい。つまり、位置補正部123は、顔向き角度θと特徴点距離L’との関係を示す回帰式が、横軸(つまり、顔向き角度θに対応する座標軸)に沿った直線を示す数式になるように、回帰式に基づいて複数の特徴点距離Lを補正してもよい。例えば、図19に示すように、位置補正部123は、顔向き角度θの変動に起因した特徴点距離L’の変動量が、顔向き角度θの変動に起因した特徴点距離Lの変動量よりも少なくなるように、回帰式に基づいて複数の特徴点距離Lを補正してもよい。つまり、位置補正部123は、顔向き角度θと特徴点距離L’との関係を示す回帰式が、顔向き角度θと特徴点距離Lとの関係を示す回帰式よりも直線に近づくように、回帰式に基づいて複数の特徴点距離Lを補正してもよい。一例として、上述したように顔向き角度θと特徴点距離Lとの間の関係を規定する回帰式がL=a×θ2+b×θ+cという数式で表現される場合には、位置補正部123は、L’=L-a×θ2-b×θという第5の数式を用いて、特徴点距離Lを補正してもよい。
その後、アクション検出部124は、位置補正部123が補正した複数の特徴点距離L’(つまり、位置情報)に基づいて、顔画像101に写り込んでいる人物100の顔にアクションユニットが発生したか否かを判定する(ステップS17)。
以上説明したように、第2実施形態の情報処理システムSYSbは、L’=L/cosθという第1の数式、Lx’=Lx/cosθ_panという第2の数式、Ly’=Ly/cosθ_tiltという第3の数式及びL’=((Lx/cosθ_pan)2+(Ly/cosθ_tilt)2)1/2という第4の数式のうちの少なくとも一つに代えて、顔向き角度θと特徴点距離Lとの間の関係を規定する回帰式に基づいて、特徴点距離L(つまり、特徴点の位置に関する位置情報)を補正している。この場合であっても、顔向き角度θに基づいて特徴点距離Lが補正されない場合と比較して、アクションユニットが発生していないにも関わらず、人物100の顔の向きの変化に起因して特徴点距離Lが変化したことを理由に、ある種類のアクションユニットが発生していると画像処理装置1が誤判定してしまう可能性が低くなる。このため、画像処理装置1は、アクションユニットが発生しているか否かを精度良く判定することができる。従って、第2実施形態の情報処理システムSYSbは、上述した第1実施形態の情報処理システムSYSが享受可能な効果と同様の効果を享受することができる。
特に、情報処理システムSYSbは、回帰式という統計的手法を用いて、特徴点距離Lを補正することができる。つまり、情報処理システムSYSbは、特徴点距離Lを統計的に補正することができる。このため、情報処理システムSYSbは、特徴点距離Lを統計的に補正しない場合と比較して、特徴点距離Lをより適切に補正することができる。つjまり、情報処理システムSYSbは、画像処理装置1がアクションユニットをご検出する頻度を減らすように、特徴点距離Lを補正することができる。このため、画像処理装置1は、アクションユニットが発生しているか否かをより一層精度良く判定することができる。
尚、回帰式に基づいて特徴点距離Lを補正する場合には、位置補正部123は、顔向き角度θの変動に起因した特徴点距離Lの変動量が相対的に大きい(例えば、所定閾値よりも大きい)特徴点距離Lと、顔向き角度θの変動に起因した特徴点距離Lの変動量が相対的に小さい(例えば、所定閾値よりも小さい)特徴点距離Lとを区別してもよい。この場合、位置補正部123は、顔向き角度θの変動に起因した特徴点距離Lの変動量が相対的に大きい特徴点距離Lを、回帰式を用いて補正してもよい。一方で、位置補正部123は、顔向き角度θの変動に起因した特徴点距離Lの変動量が相対的に小さい特徴点距離Lを補正しなくてもよい。その後、アクション検出部124は、顔向き角度θの変動に起因した変動量が相対的に大きいがゆえに補正された特徴点距離L’と、顔向き角度θの変動に起因した変動量が相対的に小さいがゆえに補正されなかった特徴点距離Lとを用いて、アクションユニットが発生しているか否かを判定してもよい。この場合、画像処理装置1は、位置情報の補正に必要な処理負荷を低減しつつ、アクションユニットが発生したか否かを適切に判定することができる。というのも、顔向き角度θの変動に起因した変動量が相対的に小さい特徴点距離Lは、回帰式に基づいて補正されなかったとしても(つまり、顔向き角度θに基づいて補正されなかったとしても)真の値に近い値になっていると想定される。つまり、顔向き角度θの変動に起因した変動量が相対的に小さい特徴点距離Lは、補正された特徴点距離L’と概ね同じ値になっていると想定される。その結果、顔向き角度θの変動に起因した変動量が相対的に小さい特徴点距離Lは、補正する必要性が相対的に低いと想定される。一方で、顔向き角度θの変動に起因した変動量が相対的に大きい特徴点距離Lは、回帰式に基づいて補正されなければ、真の値から大きく乖離した値になっていると想定される。つまり、顔向き角度θの変動に起因した変動量が相対的に大きい特徴点距離Lは、補正された特徴点距離L’から大きく乖離した値になっていると想定される。このため、顔向き角度θの変動に起因した変動量が相対的に大きい特徴点距離Lは、補正する必要性が相対的に高いと想定される。このような状況を踏まえて、画像処理装置1は、顔向き角度θの変動に起因した変動量が相対的に大きい少なくとも一つの特徴点距離Lのみを選択的に補正しても、アクションユニットが発生したか否かを適切に判定することができる。
(5)変形例
続いて、情報処理システムSYSの変形例について説明する。
(5-1)データ蓄積装置3の変形例
上述した説明では、図13に示すように、データ蓄積装置3は、特徴点データフィールド3211と、属性データフィールド3212と、アクションユニットデータフィールド3213とを含むデータレコード321を含む特徴点データベース320を生成している。しかしながら、データ蓄積装置3が生成する特徴点データベース320の第1変形例(以降、“特徴点データベース320a”と表記する)を示す図20に示すように、データ蓄積装置3は、特徴点データフィールド3211とアクションユニットデータフィールド3213とを含む一方で、属性データフィールド3212を含まないデータレコード321を含む特徴点データベース320aを生成してもよい。この場合であっても、データ生成装置2は、所望種類のアクションユニットが発生している顔が写り込んだ顔画像301から収集された特徴点を、複数の顔パーツの夫々毎に選択し、複数の顔パーツに夫々対応する複数の特徴点を組み合わせることで、顔データ221を生成することができる。或いは、データ蓄積装置3が生成する特徴点データベース320の第2変形例(以降、“特徴点データベース320b”と表記する)を示す図21に示すように、データ蓄積装置3は、特徴点データフィールド3211と属性データフィールド3212とを含む一方で、アクションユニットデータフィールド3213を含まないデータレコード321を含む特徴点データベース320bを生成してもよい。この場合であっても、データ生成装置2は、所望属性の顔が写り込んだ顔画像301から収集された特徴点を、複数の顔パーツの夫々毎に選択し、複数の顔パーツに夫々対応する複数の特徴点を組み合わせることで、顔データ221を生成できる。
上述した説明では、図13に示すように、データ蓄積装置3は、顔向き角度θという単一種類の属性に関する情報が格納された属性データフィールド3212を含むデータレコード321を含む特徴点データベース320を生成している。しかしながら、データ蓄積装置3が生成する特徴点データベース320の第3変形例(以降、“特徴点データベース320c”と表記する)を示す図22に示すように、データ蓄積装置3は、複数の異なる種類の属性に関する情報が格納された属性データフィールド3212を含むデータレコード321を含む特徴点データベース320cを生成してもよい。図22に示す例では、属性データフィールド3212には、顔向き角度θに関する情報と、顔のアスペクト比に関する情報とがデータとして記録されている。この場合、データ生成装置2は、図14のステップS22において、複数種類の属性に関する複数の条件を設定してもよい。例えば、データ生成装置2が図22に示す特徴点データベース320cを用いて顔データ221を生成する場合には、データ生成装置2は、顔向き角度θに関する条件と、顔のアスペクト比に関する条件とを設定してもよい。更に、データ生成装置2は、図14のステップS23において、ステップS22で設定された複数種類の属性に関する複数の条件の全てを満たす一の顔パーツの特徴点をランダムに選択してもよい。例えば、データ生成装置2が図21に示す特徴点データベース320cを用いて顔データ221を生成する場合には、データ生成装置2は、顔向き角度θに関する条件及び顔のアスペクト比に関する条件の双方を満たす一の顔パーツの特徴点をランダムに選択してもよい。このように異なる種類の属性に関する情報と関連付けられた特徴点を含む特徴点データベース320cが用いられる場合には、単一種類の属性に関する情報と関連付けられた特徴点を含む特徴点データベース320が用いられる場合と比較して、データ生成装置2は、人物の顔として違和感のより少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。
(5-2)データ生成装置2の変形例
データ生成装置2は、複数の顔パーツに夫々対応する複数の特徴点を組み合わせることで顔データ221を生成する際に、顔パーツ毎に特徴点の配置可能範囲を設定してもよい。つまり、データ生成装置2は、一の顔パーツの特徴点を仮想的な顔を構成するように配置する際に、一の顔パーツの特徴点の配置可能範囲を設定してもよい。一の顔パーツの特徴点の配置可能範囲は、仮想的な顔を構成する仮想的な一の顔パーツの位置として違和感のない又は少ない位置を含む一方で、仮想的な顔を構成する仮想的な一の顔パーツの位置として違和感のある又は大きい位置を含まない範囲に設定されてもよい。この場合、データ生成装置2は、配置可能範囲を外れて特徴点を配置することはなくなる。その結果、データ生成装置2は、人物の顔として違和感のより少ない又はない仮想的な人物200の顔の特徴点を示す顔データ221を適切に生成することができる。
データ生成装置2は、顔データ221を生成した後に、顔データ221が示す特徴点によって表される仮想的な人物200の顔の顔らしさを示す指標(以降、“顔指標”と称する)を算出してもよい。例えば、データ生成装置2は、基準となる顔の特徴を表す特徴点と、顔データ221が示す特徴点とを比較することで、顔指標を算出してもよい。この場合、データ生成装置2は、基準となる顔の特徴を表す特徴点の位置と顔データ221が示す特徴点の位置とのずれが大きくなるほど、顔指標が小さくなるように(つまり、仮想的な人物200の顔が顔らしくない、つまり、違和感が大きいと判定されるように)、顔指標を算出してもよい。
データ生成装置2が顔指標を算出する場合には、データ生成装置2は、顔指標が所定閾値を下回った顔データ221を、廃棄してもよい。つまり、データ生成装置2は、顔指標が所定閾値を下回った顔データ221を、記憶装置22に記憶しなくてもよい。データ生成装置2は、顔指標が所定閾値を下回った顔データ221を、学習用データセット220に含めなくてもよい。その結果、画像処理装置1の学習モデルは、現実の人物の顔に近い仮想的な人物200の顔の特徴を示す顔データ221を用いて学習される。このため、現実の人物の顔からかけ離れた仮想的な人物200の顔の特徴を示す顔データ221を用いて学習モデルが学習される場合と比較して、画像処理装置1の学習モデルをより適切に学習させることができる。その結果、画像処理装置1の検出精度が向上する。
(5-3)画像処理装置1の変形例
上述した説明では、図16及び図17の夫々のステップS14において、画像処理装置1は、図16のステップS13で検出された複数の特徴点のうちの任意の二つの特徴点の間の相対的な位置関係を算出している。しかしながら、画像処理装置1は、ステップS13で検出された複数の特徴点の中から、検出したいアクションユニットに関連する少なくとも一つの特徴点を抽出し、抽出した少なくとも一つの特徴点の位置に関する位置情報を生成してもよい。言い換えれば、画像処理装置1は、ステップS13で検出された複数の特徴点の中から、検出したいアクションユニットの検出に寄与する少なくとも一つの特徴点を抽出し、抽出した少なくとも一つの特徴点の位置に関する位置情報を生成してもよい。この場合、位置情報の生成に必要な処理負荷が低減される。
同様に、上述した説明では、図16のステップS16及び図17のステップS22の夫々において、画像処理装置1は、図16のステップS14において算出された複数の特徴点距離L(つまり、位置情報)を補正している。しかしながら、画像処理装置1は、ステップS14において算出された複数の特徴点距離Lの中から、検出したいアクションユニットに関連する少なくとも一つの特徴点距離Lを抽出し、抽出した少なくとも一つの特徴点距離Lを補正してもよい。言い換えれば、画像処理装置1は、ステップS14において算出された複数の特徴点距離Lの中から、検出したいアクションユニットの検出に寄与する少なくとも一つの特徴点距離Lを抽出し、抽出した少なくとも一つの特徴点距離Lを補正してもよい。この場合、位置情報の補正に必要な処理負荷が低減される。
同様に、上述した説明では、図17のステップS21において、画像処理装置1は、図17のステップS14において算出された複数の特徴点距離L(つまり、位置情報)を用いて、回帰式を算出している。しかしながら、画像処理装置1は、ステップS14において算出された複数の特徴点距離Lの中から、検出したいアクションユニットに関連する少なくとも一つの特徴点距離Lを抽出し、抽出した少なくとも一つの特徴点距離Lを用いて、回帰式を算出してもよい。言い換えれば、画像処理装置1は、ステップS14において算出された複数の特徴点距離Lの中から、検出したいアクションユニットの検出に寄与する少なくとも一つの特徴点距離Lを抽出し、抽出した少なくとも一つの特徴点距離Lを用いて回帰式を算出してもよい。つまり、画像処理装置1は、複数種類のアクションユニットに夫々対応する複数の回帰式を算出してもよい。アクションユニットの種類によって特徴点距離Lの変化態様が異なることを考慮すれば、各アクションユニットに対応する回帰式は、複数種類の全てのアクションユニットに共通する回帰式と比較して、各アクションユニットに関連する特徴点距離Lと顔向き角度θとの関係をより高精度に示していると想定される。このため、画像処理装置1は、このような各アクションユニットに対応する回帰式を用いて、各アクションユニットに関連する特徴点距離Lを高精度に補正することができる。その結果、画像処理装置1は、各アクションユニットが発生しているか否かをより高精度に判定することができる。
同様に、上述した説明では、図16及び図17の夫々のステップS17において、画像処理装置1は、図16のステップS16において補正された複数の特徴点距離L’(つまり、位置情報)を用いて、アクションユニットを検出している。しかしながら、画像処理装置1は、ステップS16において補正された複数の特徴点距離L’の中から、検出したいアクションユニットに関連する少なくとも一つの特徴点距離L’を抽出し、抽出した少なくとも一つの特徴点距離L’を用いてアクションユニットを検出してもよい。言い換えれば、画像処理装置1は、ステップS16において補正された複数の特徴点距離L’の中から、検出したいアクションユニットの検出に寄与する少なくとも一つの特徴点距離L’を抽出し、抽出した少なくとも一つの特徴点距離L’を用いてアクションユニットを検出してもよい。この場合、アクションユニットの検出に必要な処理負荷が低減される。
上述した説明では、画像処理装置1は、顔画像101に写り込んだ人物100の顔の特徴点の位置に関する位置情報(上述した例では、特徴点距離L等)に基づいて、アクションユニットを検出している。しかしながら、画像処理装置1(アクション検出部124)は、特徴点の位置に関する位置情報に基づいて、顔画像101に写り込んだ人物100の感情を推定(つまり、特定)してもよい。或いは、画像処理装置1(アクション検出部124)は、特徴点の位置に関する位置情報に基づいて、顔画像101に写り込んだ人物100の体調を推定(つまり、特定)してもよい。尚、人物100の感情及び体調の夫々は、人物100の状態の一例である。
画像処理装置1が人物100の感情及び体調の少なくとも一方を推定する場合には、データ蓄積装置3は、図5のステップS34において、図5のステップS31で取得された顔画像301に写り込んでいる人物300の感情及び体調の少なくとも一方を特定してもよい。このため、顔画像301には、顔画像301に写り込んでいる人物300の感情及び体調の少なくとも一方を示す情報が関連付けられていてもよい。また、データ蓄積装置3は、図5のステップS36において、特徴点と、人物300の感情及び体調の少なくとも一方と、顔向き角度θとが関連付けられたデータレコード321を含む特徴点データベース320を生成してもよい。また、データ生成装置2は、図14のステップS22において、感情及び体調の少なくとも一方に関する条件を設定してもよい。また、データ生成装置2は、図14のステップS23において、ステップS21で設定された感情及び体調の少なくとも一方に関する条件を満たす一の顔パーツの特徴点をランダムに選択してもよい。その結果、顔画像101が入力されると人物100の感情及び体調の少なくとも一方の推定結果を出力可能であって且つ学習可能な演算モデルを学習させるために、正解ラベルが付与された顔画像に相当する顔画像301を大量に用意することが困難な状況下においても、正解ラベルが付与された顔画像に相当する顔データ221を大量に用意することができる。このため、顔画像301そのものを用いて画像処理装置1の学習モデルを学習させる場合と比較して、学習モデルの学習データの数が多くなる。その結果、画像処理装置1による感情及び体調の推定精度が向上する。
尚、画像処理装置1が人物100の感情及び体調の少なくとも一方を推定する場合には、画像処理装置1は、特徴点の位置に関する位置情報に基づいてアクションユニットを検出し、検出したアクションユニットの種類の組み合わせに基づいて人物100の表情(つまり、感情)を推定してもよい。
このように、画像処理装置1は、顔画像101に写り込んだ人物100の顔に発生しているアクションユニット、顔画像101に写り込んだ人物100の感情及び顔画像101に写り込んだ人物100の体調のうちの少なくとも一つを特定してもよい。この場合、情報処理システムSYSは、例えば、以下に説明する用途で用いられてもよい。例えば、情報処理システムSYSは、特定された感情及び体調の少なくとも一方に合わせた商品及びサービスの広告を人物100に対して提供してもよい。一例として、情報処理システムSYSは、人物100が疲れていることがアクション検出動作によって判明した場合には、疲れた人物100が欲する商品(例えば、栄養ドリンク)の広告を人物100に対して提供してもよい。例えば、情報処理システムSYSは、特定された感情及び体調に基づいて、人物100のQOL(Quolity of Life)を向上させるためのサービスを人物100に対して提供してもよい。一例として、情報処理システムSYSは、人物100が認知症を患う兆候があることがアクション検出動作によって判明した場合には、認知症の発症又は進行を遅らせるためのサービス(例えば、脳を活性化させるためのサービス)を人物100に対して提供してもよい。
(6)付記
上記の実施形態の一部又は全部は、以下の付記のようにも記載される。但し、上記の実施形態が以下の付記に限定されることはない。
[付記1]
データ蓄積収集装置と、データ生成装置とを備える情報処理システムであって、
前記データ蓄積装置は、
人物の顔が写り込んだ顔画像に基づいて、前記人物の前記顔の特徴点を第1特徴点として検出する検出手段と、
前記顔画像に写り込んでいる前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記顔画像に写り込んでいる前記人物の感情及び前記顔画像に写り込んでいる前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報を取得する取得手段と、
前記状態情報が関連付け付けられており、且つ、前記複数の顔パーツの夫々の単位で分類されている前記第1特徴点を複数含む特徴点データベースを生成するデータベース生成手段と
を備え、
前記データ生成装置は、
前記特徴点データベースから、前記状態が所望状態にあることを示す前記状態情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に第2特徴点として選択する選択手段と、
前記選択手段が選択した前記複数の顔パーツに夫々対応する複数の前記第2特徴点を組み合わせることで、仮想的な人物の顔の特徴を前記複数の第2特徴点を用いて表す顔データを生成する顔データ生成手段と
を備える情報処理システム。
[付記2]
前記顔画像に基づいて、前記人物の属性を特定する特定手段を更に備え、
前記データベース生成手段は、前記状態情報及び前記特定手段が特定した前記属性に関する属性情報が関連付け付けられている前記第1特徴点を複数含む前記特徴点データベースを生成する
付記1に記載の情報処理システム。
[付記3]
前記属性は、前記属性の変化が、前記顔画像に写り込んだ前記複数の顔パーツのうちの少なくとも一つの位置、形状及び輪郭の少なくとも一方の変化につながるという性質を有する属性を含む
付記2に記載の情報処理システム。
[付記4]
前記属性は、前記顔の向きを含む
付記2又は3に記載の情報処理システム。
[付記5]
前記属性は、前記顔のアスペクト比、性別及び人種のうちの少なくとも一つを含む
付記2から4のいずれか一項に記載の情報処理システム。
[付記6]
前記選択手段は、前記特徴点データベースから、前記状態が前記所望状態にあることを示す前記状態情報及び前記属性が所望属性であることを示す前記属性情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に前記第2特徴点として選択する
付記2から5のいずれか一項に記載の情報処理システム。
[付記7]
前記特定手段は、前記顔画像に基づいて、前記属性として、第1の種類の属性と、前記第1の種類の属性とは異なる第2の種類の属性とを特定し、
前記データベース生成手段は、前記状態情報及び前記特定手段が特定した前記第1及び第2の種類の属性に関する前記属性情報が関連付け付けられている第1特徴点を複数含む前記特徴点データベースを生成する
付記2から6のいずれか一項に記載の情報処理システム。
[付記8]
前記人物は、前記第1人物であり、前記顔画像は、第1顔画像であり、前記検出手段は、第1検出手段であり、
前記情報処理システムは、画像処理装置を更に備え、
前記画像処理装置は、
第2人物の顔が写り込んだ第2顔画像に基づいて、前記第2人物の前記顔の特徴点を第3特徴点として検出する第2検出手段と、
前記顔データを用いて学習された学習モデルと前記第3特徴点とに基づいて、前記第2顔画像に写り込んでいる前記第2人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記第2顔画像に写り込んでいる前記第2人物の感情及び前記第2顔画像に写り込んでいる前記第2人物の体調の少なくとも一つを特定する特定手段と
を備える
付記1から7のいずれか一項に記載の情報処理システム。
[付記9]
人物の顔が写り込んだ顔画像に基づいて、前記人物の前記顔の特徴点を第1特徴点として検出する検出手段と、
前記顔画像に写り込んでいる前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記顔画像に写り込んでいる前記人物の感情及び前記顔画像に写り込んでいる前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報を取得する取得手段と、
前記状態情報が関連付け付けられており、且つ、前記複数の顔パーツの夫々の単位で分類されている前記第1特徴点を複数含む特徴点データベースを生成するデータベース生成手段と
を備えるデータ蓄積装置。
[付記10]
(i)人物の顔の特徴点である第1特徴点を複数含み、(ii)前記複数の第1特徴点の夫々に、前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記人物の感情及び前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報が関連付けられており、且つ、(iii)前記複数の第1特徴点が、前記複数の顔パーツの夫々の単位で分類されている特徴点データベースから、前記状態が所望状態にあることを示す前記状態情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に第2特徴点として選択する選択手段と、
前記選択手段が選択した前記複数の顔パーツに夫々対応する複数の前記第2特徴点を組み合わせることで、仮想的な人物の顔の特徴を前記複数の第2特徴点を用いて表す顔データを生成する顔データ生成手段と
を備えるデータ生成装置。
[付記11]
人物の顔が写り込んだ顔画像に基づいて、前記人物の前記顔の特徴点を第1特徴点として検出することと、
前記顔画像に写り込んでいる前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記顔画像に写り込んでいる前記人物の感情及び前記顔画像に写り込んでいる前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報を取得することと、
前記状態情報が関連付け付けられており、且つ、前記複数の顔パーツの夫々の単位で分類されている前記第1特徴点を複数含む特徴点データベースを生成することと、
前記特徴点データベースから、前記状態が所望状態にあることを示す前記状態情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に第2特徴点として選択することと、
前記選択された前記複数の顔パーツに夫々対応する複数の前記第2特徴点を組み合わせることで、仮想的な人物の顔の特徴を前記複数の第2特徴点を用いて表す顔データを生成することと
を含む情報処理方法。
[付記12]
人物の顔が写り込んだ顔画像に基づいて、前記人物の前記顔の特徴点を第1特徴点として検出することと、
前記顔画像に写り込んでいる前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記顔画像に写り込んでいる前記人物の感情及び前記顔画像に写り込んでいる前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報を取得することと、
前記状態情報が関連付け付けられており、且つ、前記複数の顔パーツの夫々の単位で分類されている前記第1特徴点を複数含む特徴点データベースを生成することと
を含むデータ蓄積方法。
[付記13]
(i)人物の顔の特徴点である第1特徴点を複数含み、(ii)前記複数の第1特徴点の夫々に、前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記人物の感情及び前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報が関連付けられており、且つ、(iii)前記複数の第1特徴点が、前記複数の顔パーツの夫々の単位で分類されている特徴点データベースから、前記状態が所望状態にあることを示す前記状態情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に第2特徴点として選択することと、
前記選択手段が選択した前記複数の顔パーツに夫々対応する複数の前記第2特徴点を組み合わせることで、仮想的な人物の顔の特徴を前記複数の第2特徴点を用いて表す顔データを生成することと
を含むデータ生成方法。
[付記14]
コンピュータに情報処理方法を実行させるコンピュータプログラムが記録された記録媒体であって、
前記情報処理方法は、
人物の顔が写り込んだ顔画像に基づいて、前記人物の前記顔の特徴点を第1特徴点として検出することと、
前記顔画像に写り込んでいる前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記顔画像に写り込んでいる前記人物の感情及び前記顔画像に写り込んでいる前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報を取得することと、
前記状態情報が関連付け付けられており、且つ、前記複数の顔パーツの夫々の単位で分類されている前記第1特徴点を複数含む特徴点データベースを生成することと、
前記特徴点データベースから、前記状態が所望状態にあることを示す前記状態情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に第2特徴点として選択することと、
前記選択された前記複数の顔パーツに夫々対応する複数の前記第2特徴点を組み合わせることで、仮想的な人物の顔の特徴を前記複数の第2特徴点を用いて表す顔データを生成することと
を含む記録媒体。
[付記15]
コンピュータにデータ蓄積方法を実行させるコンピュータプログラムが記録された記録媒体であって、
前記データ蓄積方法は、
人物の顔が写り込んだ顔画像に基づいて、前記人物の前記顔の特徴点を第1特徴点として検出することと、
前記顔画像に写り込んでいる前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記顔画像に写り込んでいる前記人物の感情及び前記顔画像に写り込んでいる前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報を取得することと、
前記状態情報が関連付け付けられており、且つ、前記複数の顔パーツの夫々の単位で分類されている前記第1特徴点を複数含む特徴点データベースを生成することと
を含む記録媒体。
[付記16]
コンピュータにデータ生成方法を実行させるコンピュータプログラムが記録された記録媒体であって、
前記データ生成方法は、
(i)人物の顔の特徴点である第1特徴点を複数含み、(ii)前記複数の第1特徴点の夫々に、前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記人物の感情及び前記人物の体調の少なくとも一つを含む前記人物の状態を示す状態情報が関連付けられており、且つ、(iii)前記複数の第1特徴点が、前記複数の顔パーツの夫々の単位で分類されている特徴点データベースから、前記状態が所望状態にあることを示す前記状態情報が関連付けられた少なくとも一つの第1特徴点を、前記複数の顔パーツの夫々毎に第2特徴点として選択することと、
前記選択手段が選択した前記複数の顔パーツに夫々対応する複数の前記第2特徴点を組み合わせることで、仮想的な人物の顔の特徴を前記複数の第2特徴点を用いて表す顔データを生成することと
を含む記録媒体。
[付記17]
夫々が人物の顔の特徴点である複数の第1特徴点に関するデータを格納可能な第1データフィールドと、
前記人物の前記顔を構成する複数の顔パーツのうちの少なくとも一つの動きに関するアクションユニット、前記人物の感情及び前記人物の体調の少なくとも一つを含む人物状態を示す状態情報を格納可能な第2データフィールドと
を含み、
前記複数の第1特徴点の夫々に、前記状態情報が関連付けられており、且つ、前記複数の第1特徴点が、前記複数の顔パーツの夫々の単位で分類されている
データベース。
この開示は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う情報処理システム、データ蓄積装置、データ生成装置、画像処理装置、情報処理方法、データ蓄積方法、データ生成方法、画像処理方法、記録媒体及びデータベースもまたこの開示の技術思想に含まれる。