IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グローリー株式会社の特許一覧

特開2022-145997画像処理装置、画像処理方法および学習モデル生産方法
<>
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図1
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図2
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図3
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図4
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図5
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図6
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図7
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図8
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図9
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図10
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図11
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図12
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図13
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図14
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図15
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図16
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図17
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図18
  • 特開-画像処理装置、画像処理方法および学習モデル生産方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022145997
(43)【公開日】2022-10-05
(54)【発明の名称】画像処理装置、画像処理方法および学習モデル生産方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220928BHJP
   G06T 7/20 20170101ALI20220928BHJP
【FI】
G06T7/00 350B
G06T7/20 300Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021046762
(22)【出願日】2021-03-22
(71)【出願人】
【識別番号】000001432
【氏名又は名称】グローリー株式会社
(74)【代理人】
【識別番号】100117673
【弁理士】
【氏名又は名称】中島 了
(72)【発明者】
【氏名】善本 秀法
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA04
5L096EA13
5L096EA14
5L096EA39
5L096FA06
5L096FA09
5L096FA25
5L096FA69
5L096GA30
5L096GA55
5L096HA11
5L096KA04
(57)【要約】
【課題】動画像内における動作の実行期間を特定せずとも、人物の動作の内容を認識することが可能な技術を提供する。
【解決手段】画像処理装置30は、被写体人物を撮影した動画像330を入力し当該被写体人物の動作に関する情報を出力する学習モデルを生成する。画像処理装置30は、人物を撮影した動画像330であって当該人物の特定部位(口唇等)の非動作区間(非発話区間等)Bを含む動画像330を入力とし且つ当該特定部位の動作(発話動作等)に関する情報350(発話単語等)を出力とする複数の教師データを用いて、学習モデルの機械学習を実行する。また、画像処理装置30は、当該学習モデルに基づき、被写体人物の動作を特定する。
【選択図】図17
【特許請求の範囲】
【請求項1】
被写体人物を撮影した動画像を入力し前記被写体人物の動作に関する情報を出力する学習モデルを生成する画像処理装置であって、
人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて、前記学習モデルの機械学習を実行する制御部、
を備えることを特徴とする画像処理装置。
【請求項2】
教師データとして用いられる前記動画像は、前記特定部位の動作が指定期間以内で実行された動作区間を含むことを特徴とする、請求項1に記載の画像処理装置。
【請求項3】
教師データとして用いられる前記動画像は、前記特定部位に関する指定動作を指定期間内に完了すべき旨の動作指示に応じた人物の動作を撮影した動画像であることを特徴とする、請求項1または請求項2に記載の画像処理装置。
【請求項4】
人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて機械学習された学習モデルに基づき、被写体人物の動作を特定する制御部、
を備え、
前記制御部は、前記被写体人物の動作を撮影した動画像であって前記被写体人物の前記特定部位の非動作区間を含む動画像を前記学習モデルに対して入力することに応じて前記学習モデルから出力された前記特定部位の動作に関する情報に基づき、前記被写体人物の動作を特定することを特徴とする画像処理装置。
【請求項5】
前記被写体人物を撮影した前記動画像は、前記特定部位に関する指定動作を指定期間内で実行すべき旨の実行指示に応じた前記被写体人物の動作を撮影した動画像であることを特徴とする、請求項4に記載の画像処理装置。
【請求項6】
前記被写体人物は、認証処理の対象人物であり、
前記制御部は、前記被写体人物を撮影した前記動画像を前記学習モデルに入力して得られる出力に基づき前記被写体人物が前記指定動作を実行したと判定されることを条件として、前記被写体人物を前記認証処理に関する真正な人物であると判定することを特徴とする、請求項5に記載の画像処理装置。
【請求項7】
前記特定部位は、口唇を含み、
前記特定部位の前記動作は、発話動作であることを特徴とする、請求項1から請求項6のいずれかに記載の画像処理装置。
【請求項8】
前記特定部位の前記動作は、一の単語の発話動作であり、
前記特定部位の前記動作に関する情報は、発話された単語を示す情報であることを特徴とする、請求項7に記載の画像処理装置。
【請求項9】
被写体人物を撮影した動画像を入力し前記被写体人物の動作に関する情報を出力する学習モデルを生産する学習モデル生産方法であって、
a)人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて、前記学習モデルの機械学習を実行するステップ、
を備えることを特徴とする学習モデル生産方法。
【請求項10】
a)人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて機械学習された学習モデルに基づき、被写体人物の動作を特定するステップ、
を備え、
前記ステップa)においては、前記被写体人物の動作を撮影した動画像であって前記被写体人物の前記特定部位の非動作区間を含む動画像を前記学習モデルに対して入力することに応じて前記学習モデルから出力された前記特定部位の動作に関する情報に基づき、前記被写体人物の動作が特定されることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を処理して動作を認識する画像処理技術、およびそれに関連する技術に関する。
【背景技術】
【0002】
画像を処理して動作(動作内容)を認識(識別)する技術が存在する。たとえば、特許文献1の技術においては、人物の口唇画像(主に静止画像)を用いた画像認識処理によって人物認証が実行される際に、結果的に、当該人物の発話内容(発話文字列)が認識されている。
【0003】
特許文献1の技術においては、複数のユーザ(個人)に関して、「あ」、「い」、「う」、「え」、「お」の各文字の発声に対応する顔画像テンプレートがそれぞれ予め登録されている。認証時には、認証対象者の情報(氏名およびID番号等)が認証サーバに送信され、当該情報(氏名およびID番号等)に対応するユーザが特定される。つぎに、ランダムな文字列(たとえば、「あ」「え」「い」「う」)が生成され、当該文字列の発声がユーザに要求され、当該ユーザによる当該文字列の発声時の様子が撮影される。認証サーバ(認証装置)は、当該文字列の発声時における撮影画像(当該ユーザの顔画像)を端末から取得する。そして、認証サーバは、当該ユーザの予め登録された文字ごとの顔画像テンプレート(特定の個人の発話パターン画像)の特徴量と、認証時(発声時)の撮影画像から抽出された顔画像の特徴量とを照合する。認証サーバは、その照合結果に基づき、当該撮影画像内の人物が真正ユーザであるか否かを認証する。詳細には、指定された文字列を本人が発話している、と判定されると、当該人物は真正ユーザであると判定される。謂わば、ランダムな文字列に対応する複数の顔画像特徴の組み合わせが、毎回可変な認証キーとして利用され、人物の認証処理が実行される。このような処理によって、結果的に、人物の発話内容(発話文字列)も認識されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000-306090号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術においては、各文字(「あ」、「え」等)の発声中の顔画像(静止画像)を用いるため、当該各文字を発声している期間を特定することを要する。たとえば、人物の動画像(撮影画像)の中から各文字の発声中の顔画像を抽出する場合、当該動画像内における各文字の発声期間(各文字の発話動作の実行区間(動作区間))を特定することが求められる。
【0006】
しかしながら、動画像内における各文字の発声期間(各文字の発話動作の実行区間)を特定することは必ずしも容易ではない。
【0007】
そこで、本発明は、動画像内における動作の実行期間を特定せずとも、人物の動作の内容を認識することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【0008】
上記課題を解決すべく、本発明に係る画像処理装置は、被写体人物を撮影した動画像を入力し前記被写体人物の動作に関する情報を出力する学習モデルを生成する画像処理装置である。当該画像処理装置は、人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて、前記学習モデルの機械学習を実行する制御部、を備えることを特徴とする。
【0009】
教師データとして用いられる前記動画像は、前記特定部位の動作が指定期間以内で実行された動作区間を含んでもよい。
【0010】
教師データとして用いられる前記動画像は、前記特定部位に関する指定動作を指定期間内に完了すべき旨の動作指示に応じた人物の動作を撮影した動画像であってもよい。
【0011】
上記課題を解決すべく、本発明に係る画像処理装置は、人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて機械学習された学習モデルに基づき、被写体人物の動作を特定する制御部、を備え、前記制御部は、前記被写体人物の動作を撮影した動画像であって前記被写体人物の前記特定部位の非動作区間を含む動画像を前記学習モデルに対して入力することに応じて前記学習モデルから出力された前記特定部位の動作に関する情報に基づき、前記被写体人物の動作を特定することを特徴とする。
【0012】
前記被写体人物を撮影した前記動画像は、前記特定部位に関する指定動作を指定期間内で実行すべき旨の実行指示に応じた前記被写体人物の動作を撮影した動画像であってもよい。
【0013】
前記被写体人物は、認証処理の対象人物であり、前記制御部は、前記被写体人物を撮影した前記動画像を前記学習モデルに入力して得られる出力に基づき前記被写体人物が前記指定動作を実行したと判定されることを条件として、前記被写体人物を前記認証処理に関する真正な人物であると判定してもよい。
【0014】
前記特定部位は、口唇を含み、前記特定部位の前記動作は、発話動作であってもよい。
【0015】
前記特定部位の前記動作は、一の単語の発話動作であり、前記特定部位の前記動作に関する情報は、発話された単語を示す情報であってもよい。
【0016】
上記課題を解決すべく、本発明に係る画像処理方法は、被写体人物を撮影した動画像を入力し前記被写体人物の動作に関する情報を出力する学習モデルを生産する学習モデル生産方法であって、a)人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて、前記学習モデルの機械学習を実行するステップ、を備えることを特徴とする。
【0017】
上記課題を解決すべく、本発明に係る画像処理方法は、a)人物を撮影した動画像であって前記人物の特定部位の非動作区間を含む動画像を入力とし且つ前記特定部位の動作に関する情報を出力とする複数の教師データを用いて機械学習された学習モデルに基づき、被写体人物の動作を特定するステップ、を備え、前記ステップa)においては、前記被写体人物の動作を撮影した動画像であって前記被写体人物の前記特定部位の非動作区間を含む動画像を前記学習モデルに対して入力することに応じて前記学習モデルから出力された前記特定部位の動作に関する情報に基づき、前記被写体人物の動作が特定されることを特徴とする。
【発明の効果】
【0018】
本発明によれば、動画像内における動作の実行期間を特定せずとも、人物の動作の内容を認識することが可能である。
【図面の簡単な説明】
【0019】
図1】画像処理システムを示す概略図である。
図2】画像処理装置の機能ブロックを示す図である。
図3】端末装置の機能ブロックを示す図である。
図4】学習モデルの学習段階の処理を示す概念図である。
図5】学習モデルの推論段階の処理を示す概念図である。
図6】学習段階の処理を示すフローチャートである。
図7】推論段階の処理を示すフローチャートである。
図8】学習モデルの推論結果を利用した認証処理を示すフローチャートである。
図9】学習モデルへの入力用動画像が生成される様子を示す概念図である。
図10】顔画像内の複数の特徴点を示す図である。
図11】各数字に関する発話期間および非発話区間等を示す図である。
図12】端末装置における表示画面を示す図である。
図13】端末装置における表示画面(最初の数字の発話用画面)を示す図である。
図14】2番目の数字の発話用画面を示す図である。
図15】3番目の数字の発話用画面を示す図である。
図16】4番目の数字の発話用画面を示す図である。
図17】判定結果等を含む表示画面を示す図である。
図18】元の動画像データを示す図である。
図19】評価結果を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態を図面に基づいて説明する。
【0021】
<1.システム概要>
図1は、画像処理システム1を示す概略図である。図1に示されるように、画像処理システム1は、画像処理装置30と複数の端末装置70とを備えている(図2および図3も参照)。画像処理装置30は、複数の端末装置70によって取得された画像に対する画像処理等を実行する装置である。なお、図2は画像処理装置30の機能ブロックを示す図であり、図3は端末装置70の機能ブロックを示す図である。
【0022】
画像処理装置30と各端末装置70とはネットワーク(LAN(Local Area Network)およびインターネット等を含む)108を介して互いに通信可能である。画像処理装置30はサーバ装置(クラウドサーバ等)として構築されており、端末装置70はクライアント装置として構築されている。すなわち、画像処理システム1は、クライアントサーバシステムとして構築されている。ネットワーク108に対する接続態様は、有線接続であってもよく、或いは無線接続であってもよい。たとえば、画像処理装置30はネットワーク108に対して有線接続され、各端末装置70はネットワーク108に対して無線接続される。あるいは、全ての装置10,70がネットワーク108に対して無線接続されてもよい。
【0023】
なお、画像処理装置30および画像処理システム1は、後述するように撮影画像内の人物の動作に関する情報(動作の特徴等)を検出する装置であることから、動作検出装置および動作検出システムなどとも称される。
【0024】
画像処理装置30は、学習モデル410(図2参照)を備えている。機械学習によって学習された後の学習モデル410は、学習済みモデル420とも称される。具体的には、学習モデル410(学習器)の学習パラメータが所定の機械学習手法を用いて調整され、学習済みの学習モデル410(学習済みモデル420)が生成される(図2参照)。
【0025】
学習モデル410としては、たとえば、複数の層で構成されるニューラルネットワークモデルが用いられる。そして、ディープラーニング等の所定の機械学習手法によって、当該ニューラルネットワークモデルにおける複数の層(入力層、(1又は複数の)中間層、出力層)の層間における重み付け係数(学習パラメータ)等が調整される。
【0026】
この実施形態では、端末装置70によって撮影された動画像310(図1参照)が端末装置70から画像処理装置30に送信される。そして、動画像310に対する所定の処理が画像処理装置30によって施されることによって動画像330(学習モデル410への入力用動画像)が生成され、当該動画像330が学習モデル410に入力される。
【0027】
画像処理装置30は、機械学習における学習段階の処理を実行する。なお、図4は、当該学習段階の処理を示す概念図である。
【0028】
学習モデル410は、複数の教師データを用いて機械学習される。当該複数の教師データのそれぞれは、人物を撮影した動画像330(330aとも称する)であって人物の特定部位の非動作区間B(後述)を含む動画像330(330a)を入力とし且つ当該特定部位の動作に関する情報350(350a)を出力とする教師データである。換言すれば、学習モデル410は、人物の特定部位の動作の特徴(当該動作の分類情報等)を学習するモデルである。
【0029】
ここでは、人物の口唇部分を含む撮影画像(動画像330)が入力情報として利用され、当該口唇部分の動作(発話動作)に関する情報350が出力情報として利用される態様について説明する。ここでは主に、特定部位の動作として、人間の口唇による発話動作(詳細には、一の単語の発話動作)が例示されるとともに、情報350として、発話内容(発話された単語)を示す情報が例示される。
【0030】
画像処理装置30における学習段階の処理が実行されることによって、学習モデル410の機械学習が実行される。
【0031】
具体的には、学習モデル410は、被写体人物(対象人物)を撮影した動画像330(330bとも称する)が入力されると当該被写体人物の特定部位(口唇等)の動作(発話動作等)に関する情報350(350b)を出力するように学習される。情報350としては、動作の分類に関する情報等(たとえば、発話動作にて発話された単語)が例示される。このような機械学習により、学習モデル410の学習済みモデル(学習済みモデル420)が生成される。
【0032】
また、画像処理装置30は、機械学習における推論段階の処理を実行する(図5参照)。画像処理装置30は、学習済みモデル420を利用して、被写体人物の動作に関する情報350を推定する。具体的には、被写体人物(動作の判定対象人物)の撮影画像(動画像)330bが学習済みモデル420に入力されると、当該被写体人物の特定部位(口唇等)の動作(発話動作等)に関する情報(動作の分類に関する情報等)350(350b)が学習済みモデル420から出力される。すなわち、画像処理装置30は、学習済みモデル420から出力された情報350bを取得する。なお、図5は、当該推論段階の処理を示す概念図である。
【0033】
この実施形態では、端末装置70によって撮影された動画像310(図1参照)が端末装置70から画像処理装置30に送信される。そして、動画像310に対する所定の処理が画像処理装置30によって施されることによって動画像330(学習モデル410への入力用動画像)が生成され、当該動画像330(330a,330b)が学習モデル410に入力される。なお、動画像330aは学習段階にて教師データ(入力データ)として利用され、動画像330bは推論段階における入力データとして利用される。
【0034】
<2.画像処理装置30>
図2に示されるように、画像処理装置30は、コントローラ31(制御部とも称される)と記憶部32と通信部34と操作部35とを備える。
【0035】
コントローラ31は、画像処理装置30に内蔵され、画像処理装置30の動作を制御する制御装置である。
【0036】
コントローラ31は、1又は複数のハードウェアプロセッサ(例えば、CPU(Central Processing Unit)およびGPU(Graphics Processing Unit))等を備えるコンピュータシステムとして構成される。コントローラ31は、CPU等において、記憶部(ROMおよび/またはハードディスクなどの不揮発性記憶部)32内に格納されている所定のソフトウエアプログラム(以下、単にプログラムとも称する)を実行することによって、各種の処理を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されて画像処理装置30にインストールされるようにしてもよい。あるいは、当該プログラムは、通信ネットワーク等を経由してダウンロードされて画像処理装置30にインストールされるようにしてもよい。
【0037】
コントローラ31は、機械学習の学習段階に関する処理を実行する。具体的には、コントローラ31は、まず、複数の教師データの取得処理を実行する。次に、コントローラ31は、当該複数の教師データに基づく機械学習処理を実行する。詳細には、コントローラ31は、当該複数の教師データに基づいて、学習器(学習モデル410)に関する学習パラメータを最適化する処理を実行し、学習済みモデル420を生成する。
【0038】
また、コントローラ31は、機械学習の推論段階に関する処理を実行する。具体的には、コントローラ31は、学習パラメータが調整された学習モデル410(学習済みモデル420)を用いて、被写体人物の動画像330等に基づき、当該被写体人物の特定部位の動作に関する情報350(350a)を検出する。
【0039】
また、コントローラ31は、顔画像(静止画像)に基づく顔認証処理を実行する。当該顔認証処理においては、学習済みモデル420を用いた検出処理(人物の動画像に基づく動作検出処理(動作認識処理))が利用される。
【0040】
記憶部32は、ハードディスクドライブ(HDD)および/またはソリッドステートドライブ(SSD)等の記憶装置で構成される。記憶部32は、学習モデル410(学習モデルに関する学習パラメータおよびプログラムを含む)(ひいては学習済みモデル420)等を記憶する。また、記憶部32は、画像処理装置30による認証処理に用いられる登録データベース450をも記憶する。登録データベース450には、登録ユーザに関する各種の情報(ユーザID、氏名、顔画像情報等)が予め登録される。
【0041】
通信部34は、ネットワークを介したネットワーク通信を行うことが可能である。このネットワーク通信では、たとえば、TCP/IP(Transmission Control Protocol / Internet Protocol)等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、画像処理装置30は、所望の相手先(たとえば、端末装置70)との間で各種のデータを授受することが可能である。
【0042】
操作部35は、画像処理装置30に対する操作入力を受け付ける操作入力部35aと、各種情報の表示出力を行う表示部35bとを備えている。操作入力部35aとしてはマウスおよびキーボード等が用いられ、表示部35bとしてはディスプレイ(液晶ディスプレイ等)が用いられる。また、操作入力部35aの一部としても機能し且つ表示部35bの一部としても機能するタッチパネルが設けられてもよい。
【0043】
なお、この画像処理装置30は、学習モデル410に関する学習段階の処理(学習モデル410の生成処理)をも実行するので、学習モデル生成装置などとも称される。
【0044】
<3.端末装置70>
各端末装置70は、画像処理装置30との間でのネットワーク通信が可能な情報入出力端末装置(情報処理装置)である。各端末装置70は、スマートフォン、タブレット型端末、あるいはパーソナルコンピュータ(固定式(据置型)あるいは携帯式の何れでもよい)などとして構成される。図1では、スマートフォンとして構築された端末装置70が例示されている。
【0045】
端末装置70は、画像処理装置30との間で各種の情報を授受する。端末装置70は、端末装置70の近傍に存在する人物を撮影した撮影画像(画像データ)310を生成し、当該撮影画像310を画像処理装置30に送信する。また、端末装置70は、画像処理装置30からの情報を受信して当該情報をその表示部75b(タッチパネル75c等)(図1および図3参照)に表示する。
【0046】
図3は、端末装置70の概略構成を示す機能ブロック図である。
【0047】
端末装置70は、図3の機能ブロック図に示すように、コントローラ71、記憶部72、通信部74、操作部75、および撮像部76等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【0048】
コントローラ(制御部)71は、端末装置70を制御する制御装置である。
【0049】
コントローラ71は、コントローラ31と同様のハードウエア構成を有している。また、コントローラ71は、CPU等において、記憶部(ROMおよび/またはハードディスクなどの不揮発性記憶部)72内に格納されている所定のソフトウエアプログラムを実行することによって、各種の処理を実現する。なお、当該プログラム(詳細にはプログラムモジュール群)は、USBメモリなどの可搬性の記録媒体に記録され、当該記録媒体から読み出されて端末装置70にインストールされるようにしてもよい。あるいは、当該プログラムは、通信ネットワーク等を経由してダウンロードされて端末装置70にインストールされるようにしてもよい。
【0050】
コントローラ71は、当該プログラムを実行し、次のような各種の処理を実行する。
【0051】
具体的には、コントローラ71は、学習モデル410の学習段階において、学習用の教師データに用いる動画像300(310等)、具体的には、人物の特定部位を含む撮影画像(ここでは口唇を含む顔画像)の撮影処理等を実行する。
【0052】
また、コントローラ71は、学習モデル410(詳細には学習済みモデル420)を用いた推論段階において、被写体人物(発話動作の検知対象人物)の特定部位を含む撮影画像(ここでは口唇を含む顔画像(動画像))の撮影処理等を実行する。また、コントローラ71は、被写体人物に関する撮影画像310を画像処理装置30に送信する。画像処理装置30は、撮影画像310(詳細には、撮影画像310を調整した撮影画像330)を学習済みモデル420に入力し、被写体人物の動作に関する情報350b(発話内容)を学習済みモデル420からの出力結果として得る。そして、画像処理装置30は、当該情報350b(発話内容)等を端末装置70に送信する。端末装置70(コントローラ71)は、画像処理装置30から受信された情報350b(発話内容)等を、表示部75bに表示する。
【0053】
記憶部72は、記憶部32と同様のハードウエア構成を有している。
【0054】
通信部74は、通信部34と同様のハードウエア構成を有している。通信部74によるネットワーク通信を利用することによって、端末装置70は、所望の相手先(たとえば、画像処理装置30)との間で各種のデータを授受することが可能である。
【0055】
操作部75は、端末装置70に対する操作入力を受け付ける操作入力部75aと、各種情報の表示出力を行う表示部75bとを備えている。操作入力部75aとしてはマウス、キーボード等が用いられ、表示部75bとしてはディスプレイ(液晶ディスプレイ等)が用いられる。また、操作入力部75aの一部としても機能し且つ表示部75bの一部としても機能するタッチパネル75cが設けられてもよい。
【0056】
撮像部76は、カメラ76c(図1参照)(レンズおよび撮像素子(CCD等)を含む)を備えて構成される。撮像部76は、カメラ76cによる撮影画像310(詳細には、動画像データ)を生成することが可能である。具体的には、カメラ76cは、可視光画像(カラー画像等)を撮像するRGB画像センサ等を有しており、カラー動画像を撮影することが可能である。
【0057】
<4.処理概要>
この実施形態では、撮影画像内の被写体人物の動作(発話動作)に関する検出処理(学習済みモデル420を用いた発話単語検出処理)が当該被写体人物の認証処理に利用される態様について、主に例示する。なお、認証処理は、主に画像処理装置30によって実行される。
【0058】
ここでは認証処理として顔認証処理が実行される。ただし、顔認証処理における顔写真(静止画像)等を利用した「なりすまし」を防止するため、被写体人物(認証対象人物)が指示通りの動作を行うことができるか否かもが判定される。具体的には、認証用の装置(端末装置70および/または画像処理装置30)からの動作指示に応じた動作(指定された単語の発話動作)が実際に行われているか否かが、学習済みモデル420を用いてさらに判定される。換言すれば、認証対象人物に関する顔認証処理によって認証対象人物が特定人物であることが認証されることのみならず、発話指示に応じた認証対象人物の発話内容が発話指示の指示内容に一致することをも条件として、認証対象人物が真正の特定人物であると判定される。
【0059】
詳細には、顔認証処理の後、単語の発話指示がユーザ(被写体人物(認証対象人物))に付与される。ここでは、当該発話指示は、1桁の各数字を示す10個の単語(「ぜろ」、「いち」、「に」、「さん」、「よん」、「ご」、「ろく」、「なな」、「はち」、「きゅう」)の中から(認証用装置によって)選択(指定)された一の単語を発話すべき旨の指示である。当該発話指示は、端末装置70(および/または画像処理装置30)からユーザに付与される。
【0060】
ユーザは、当該発話指示に応答して、当該発話指示で指定された単語(たとえば、「3(さん)」)を発話する。端末装置70は、認証対象人物(認証処理の対象人物)の撮影画像(動画像)310を撮影し、当該動画像310を画像処理装置30に送信する。画像処理装置30は、動画像310(詳細には、動画像310を加工(調整)した動画像330)を学習済みモデル420に入力し、被写体人物(認証対象人物)の動作に関する情報350b(発話内容)を学習済みモデル420からの出力結果として得る。なお、学習済みモデル420は、機械学習によって予め生成されている。
【0061】
そして、画像処理装置30は、当該情報350b(発話内容)を端末装置70に送信する。さらに、端末装置70は、画像処理装置30から受信された情報350b(発話内容)を、表示部75bに表示する。
【0062】
また、画像処理装置30は、当該情報350b(発話内容)と発話指示内容とを照合した照合結果(すなわち、指示された通りの内容が発話されているか否か)を端末装置70に送信する。さらに、端末装置70は、当該照合結果を表示部75bに表示する。
【0063】
さらに、画像処理装置30は、当該照合結果に基づく認証処理を実行する。具体的には、認証対象人物に関する顔認証処理によって特定人物であることが認証されることのみならず、発話指示に応じた認証対象人物の発話内容が発話指示の指示内容に一致することをも条件として、認証対象人物が真正の特定人物であると判定される。
【0064】
このような認証処理に利用される動作検出処理(被写体人物の動作に関する検出処理)は、学習済みモデル420に基づいて実行される。
【0065】
以下では、学習済みモデル420の生成処理(換言すれば、学習モデル410の学習段階の処理)について先ず説明し、次に、学習済みの学習モデル410(学習済みモデル420)を用いた推論段階の処理等について説明する。
【0066】
<5.学習段階の処理>
まず、学習段階の処理について説明する。
【0067】
図6は、学習段階の処理を示すフローチャートである。図6に示される処理は、主に画像処理装置30のコントローラ31によって実行される。ただし、図6の処理の一部(ステップS11等)は、端末装置70と協働することによって実行される。
【0068】
また、図6は、学習済みモデルの生成方法を示す図でもある。本願において、学習済みモデル420を生成することは、学習済みモデル420を生産(製造)することを意味するとともに、「学習済みモデルの生成方法」は「学習済みモデルの生産方法」を意味する。
【0069】
図6の学習段階の処理は、教師データの準備段階の処理(ステップS11,S12)、および当該教師データを利用した学習モデル410の機械学習処理(ステップS13,S14)に大別される。
【0070】
ステップS11では、コントローラ31は、人物(撮影対象者)の動画像310を端末装置70から受信して取得するとともに、動画像310に基づく動画像330を生成する。
【0071】
まず、端末装置70の処理について説明する。
【0072】
端末装置70の表示部75bにおいて、図12に示すような画面110が表示される。画面110は、画像表示領域111と、複数の数字表示欄112と、複数の読み仮名表示欄113と、発話指示に関する説明欄114と、スタートボタン115とを有している。
【0073】
画像表示領域111は、端末装置70にて撮影された動画像310をリアルタイムで表示する領域である。
【0074】
複数(ここでは4つ)の数字表示欄112は、複数(4つ)の数字のそれぞれを(1つずつ)表示する欄である。また、各数字表示欄112の下側には、各数字表示欄112に対応する各読み仮名表示欄113が設けられている。各読み仮名表示欄113には、対応する(直上の)数字表示欄112に表示された数字の読み仮名が表示される。
【0075】
説明欄114は、発話指示に関する説明文章が表示される欄である。説明欄114には、「上欄にて合計4個の数字が左から順に表示されます。1つの数字が表示されるごとに、その数字を1.5秒以内に、明瞭に発声してください。」との文章が表示されている。
【0076】
ユーザは、説明欄114の説明文章を読んだ後に、スタートボタン115を押下して入力処理を開始する。
【0077】
スタートボタン115の押下に応じて、端末装置70は、10個の数字(0,1~9)の中からランダムに選択した複数(ここでは4つ)の数字を所定時間間隔で(たとえば3秒おきに)(あるいはランダムな時間間隔で)順次に表示していく。詳細には、左端の数字表示欄112に最初の数字(たとえば「2」)が表示され、左端から2番目の数字表示欄112に2番目の数字(たとえば「4」)が表示される。さらに、左端から3番目の数字表示欄112に3番目の数字(たとえば「6」)が表示され、右端(左端ら4番目)の数字表示欄112に4番目の数字(たとえば「7」)が表示される。
【0078】
ユーザーは、各発話指示に応じて、指示された数字(単語)を発話(発声)する。具体的には、ユーザは、最初の数字の表示開始(発話指示)に応じて当該最初の数字を発話する。次に、ユーザは、2番目の数字の表示開始(発話指示)に応じて当該2番目の数字を発話する。その後、ユーザは、同様に、3番目の数字の表示開始(発話指示)に応じて当該3番目の数字を発話し、4番目の数字の表示開始(発話指示)に応じて当該4番目の数字を発話する。このように、ユーザは、人物の特定部位に関する指定動作(口唇を用いた数字の発話動作)を指定期間D1(ここでは1.5秒)内に完了すべき旨の各動作指示に応じて、当該各指定動作(各数字の発話動作)を実行する。
【0079】
図11は、4つの数字のうちの1つの数字に関する発話区間(期間)Fと、当該発話区間Fの前後の非発話区間B(B1,B3)とを示す図である。
【0080】
たとえば、時点T1に発話指示が付与されると、ユーザは、当該発話指示に応答して、時点T3から発話を開始する。一般に、人間は、外部刺激を受け取って反応するまでに約100ms(ミリ秒)を要し、認識して行動を開始できるまでに約300ms(ミリ秒)を要する。したがって、時点T3は、時点T1から数百ms(ミリ秒)後の時点であることが多い。
【0081】
特に短時間内(ここでは1.5秒以内)に発話すべき旨の発話指示が付与されているので、ユーザは、なるべく短い期間で発話を完了するとともに、なるべく早期に発話を開始する。
【0082】
この結果、ユーザは、発話指示時点T1の後の時点T3近傍から発話を開始し、時点T5(たとえば、時点T1から1.2秒が経過した時点)付近までに発話を終了する。その後、1.5秒の経過時点T9に至るまで(T5~T9)は、発話がなされない(すなわち、時点T5から時点T9までは非発話区間である)。
【0083】
このように、(指示に対する)人間の反応時間に対応する長さを有する非発話区間B1(時点T1~T3)と、指示に応じた発話区間F(時点T3~T5)と、発話終了から指定期間終了までの残りの非発話区間B3(時点T5~T9)とがこの順序で発生する。
【0084】
端末装置70は、このようなユーザの発話動作を撮影して動画像310を生成する。詳細には、時点T1から時点T9までの期間に亘る人間の口唇の動作(発話動作)等を撮影した動画像310が撮像部76等によって生成される。
【0085】
そして、端末装置70は、動画像310を画像処理装置30に送信する。具体的には、各数字に関する合計4つの動画像310が順次に送信される。
【0086】
画像処理装置30は、端末装置70から送信されてきた各動画像310を受信して取得する。
【0087】
また、画像処理装置30は、図9に示されるように、人間の顔全体を撮影した動画像310から口唇付近の領域を抽出した動画像(領域調整後の動画像)320を生成する。また、当該動画像320に対する調整処理等によって学習モデル410への入力用の動画像330が生成される。すなわち、動画像310に対する各種の調整処理によって動画像330が生成される。
【0088】
具体的には、まず、コントローラ31は、動画像310の各フレーム画像において、図10に示すような複数の特徴点を抽出する画像処理を実行する。図10は、顔画像内の複数(ここでは68個)の特徴点を示す図である。図10では、顔の輪郭線(顎(あご)等)に関する17個の特徴点P1~P17、眉毛に関する10個の特徴点P18~P27、鼻に関する9個の特徴点P28~P36、目に関する12個の特徴点P37~P48、および唇(口唇)に関する20個の特徴点P49~P68が示されている。特に、唇に関しては、上唇および下唇の輪郭上の幾つかの点が特徴点として抽出される。
【0089】
また、これらの抽出された特徴点P1~P68に基づき、各フレーム画像が顔を正面から見た画像となるように各フレーム画像に対してアフィン変換(謂わば、3次元位置に基づく2次元位置の正規化処理)が行われる。なお、当該アフィン変換によれば、真正面を向いていない顔画像(斜め方向を向いた顔画像等)が、正面を向いた顔画像(詳細には口唇画像)に変換される。
【0090】
そして、当該アフィン変換後の動画像310(310a)の各フレーム画像において、口唇付近の特徴点(唇(口唇)に関する20個の特徴点P49~P68)を含む所定領域の画像(口唇周辺を含む所定領域の画像)が口唇画像として抽出される。当該口唇画像は、口唇周辺の特徴点(顔特徴点)を含む画像である、とも表現される。このようにして抽出された各フレーム画像(アフィン変換後且つ領域抽出後の画像)の集合体が動画像320(320a)として生成される(図9参照)。
【0091】
さらに、動画像320が所定サイズ(たとえば、128画素×64画素)にリサイズされるとともに、各画素の画素値(0~255)が255で除した値(0~1)に変換されて標準化される。このような標準化処理が動画像320に対して施されることによって、動画像330(330a)が生成される。
【0092】
この実施形態では、4つの数字(単語)の発話動作に関する4つの動画像310に基づき、当該4つの数字の発話動作に関する4つの動画像330が順次に取得される。具体的には、最初の数字の発話指示に応じた発話動作に関する1つ目の動画像330と2番目の数字の発話指示に応じた発話動作に関する2つ目の動画像330とが順次に取得される。さらに、3番目の数字の発話指示に応じた発話動作に関する3つ目の動画像330と4番目の数字の発話指示に応じた発話動作に関する4つ目の動画像330とが順次に取得される。
【0093】
各動画像330(330a)は、人物の特定部位に関する指定動作(口唇を用いた発話動作)を指定期間D1内に完了すべき旨の動作指示に応じた人物の動作(発話動作)を撮影した動画像である、とも表現される。また、各動画像330aは、特定部位の動作が指定期間D1(たとえば1.5秒)以内で実行された動作区間を含む。なお、動画像310(310a)等も同様である。
【0094】
各動画像330は、発話するまでの非発話区間B1と、1つの単語(数字)を発話する発話区間Fと、当該発話区間Fの後の非発話区間B3(次の発話までの非発話区間等)とをこの順序で備える。
【0095】
各動画像330は、指定期間D1の長さ(時点T1~T9までの長さ)(たとえば、1.5秒)を有する。ただし、これに限定されず、動画像330は、たとえば指定期間D1に余裕長(0.5秒)を付加した所定長(2秒)を有していてもよい。また、複数の動画像330の時間長に若干の誤差が存在する場合(特に所定長よりも短い場合)等においては、不足している時間に対応するフレーム画像が、ゼロパディング画像(黒画像)で補われてもよい。
【0096】
次のステップS12(図6)では、各動画像330(330a)を用いて教師データが生成される。
【0097】
具体的には、各動画像330における人物の特定部位(口唇部分)の動作の分類に関する情報(発話単語)が特定される。具体的には、ステップS11にて画面110(特に数字表示欄112(および読み仮名表示欄113))で指定されていた各数字が、発話動作に関する情報(発話単語を示す情報)350として特定される。そして、各動画像330に対して、対応する各数字(各発話指示にて指定された数字)がラベル(正解データ)として付与される。なお、ステップS11にて各数字表示欄112で指定された各数字は、対応する各動画像310とともにステップS11にて端末装置70から画像処理装置30に送信されているものとする。
【0098】
たとえば、画面110内の左端の数字表示欄112および読み仮名表示欄113にて指定された「2(に)」に応じた発話動作を撮影した動画像330に対しては、当該指定された数字「2」が、発話動作に関する情報350(正解データ)として付与される。また、画面110内の左から2番目の数字表示欄112および読み仮名表示欄113にて指定された「4(よん)」に応じた発話動作を撮影した動画像330に対しては、当該指定された数字「4」が、発話動作に関する情報350として付与される。
【0099】
このようにして、各動画像330と指定された発話単語(数字)を示す情報350(正解データ)とが対応づけられ、教師データが生成される。換言すれば、人物を撮影した動画像330(330a)であって当該人物の口唇の非動作区間(非発話区間)B(B1,B3)を含む動画像を入力とし且つ口唇の動作に関する情報350(350a)を出力とする教師データが生成される。ここでは、4つの動画像330に関してその発話内容がそれぞれ対応づけられた4つの教師データが生成される。
【0100】
また、図6では図示を省略しているが、ステップS11,S12の処理は繰り返し実行される。これにより、複数(多数)の教師データが生成(取得)される。
【0101】
なお、この実施形態では、画面110を用いて教師データが4個ずつ生成されているが、これに限定されない。たとえば、比較的少数ずつ(たとえば1個ずつ)教師データが生成されてもよく、比較的多数ずつ(たとえば10個ずつ)教師データが生成されてもよい。
【0102】
また、同一人物の異なる発話内容に関する複数の教師データは、一の端末装置70を用いて取得されてもよく、複数の端末装置70を用いて取得されてもよい。また、複数の人物に関する複数の教師データは、複数の端末装置70を用いて取得されてもよく、あるいは一の端末装置70を用いて取得されてもよい。
【0103】
次のステップS13においては、コントローラ31は、複数の教師データを用いて、動画像(口唇画像)と動作内容との関係を機械学習し、学習モデル410(学習済みモデル420)を得る。
【0104】
学習モデル410は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)200を用いて構築される。学習モデル410は、複数の層(階層)が階層的に接続される階層構造を有している。具体的には、学習モデル410は、入力層、中間層(畳み込み層およびプーリング層等)ならびに出力層等を備えている。
【0105】
学習モデル410としては、たとえば、ResNet(詳細には、ResNet34-3D)などの各種の畳み込みニューラルネットワークが用いられる。ResNet(Residual Network)(残差ネットワーク)は、層間で残差を足し合わせることを含む畳み込みニューラルネットワークである。ResNetは、畳み込み層と活性化関数とスキップコネクション(ショートカットコネクション)との組合せ等で構成される複数の残差ブロック等を備えて構成される。また、ResNet34-3Dは、ResNet34の畳み込み層およびプーリング層等におけるフィルタの次元を2次元から3次元(画像内の2次元のみならず時間軸をも含めた3次元)に拡張した畳み込みニューラルネットワークである。
【0106】
このステップS13では、人物を撮影した動画像330aを入力とし且つ当該特定部位の動作に関する情報を出力とする複数の教師データを用いて、学習モデル410の機械学習が実行される。ここでは、動画像330aの映像のみが用いられる(動画像330aの音声は用いられない)。
【0107】
当該機械学習において、3次元フィルタ(時間軸方向に拡張されたフィルタ)等を備えた上述の畳み込みニューラルネットワークを用いることによって、時間軸方向の情報をも含む動作(動き)を解析することが可能である。なお、学習モデル410に用いられるニューラルネットワークは、ResNet34-3D(ResNetを時間軸方向に拡張したもの)に限定されない。たとえば、LSTM(Long short-term memory)などのRNN(Recurrent neural network)(再帰型ニューラルネットワーク)等を時間軸方向に拡張した他のニューラルネットワークが、学習モデル410に用いられてもよい。
【0108】
そして、複数の教師データを用いて学習モデル410がステップS13にて機械学習されることによって、学習済みモデル420が生成される(ステップS14)。
【0109】
また、この学習済みモデル420を用いることによれば、次述するように、判定対象人物の動画像330bを入力すると、当該判定対象人物の発話動作に関する情報350(発話単語内容)が出力される。端的に言えば、動画像330bに基づき、情報350(人物の発話内容等)が特定される。そして、当該情報350に基づき、判定対象人物の動作(発話動作の内容(発話単語))を特定することが可能である。
【0110】
ここにおいて、ステップS13では、人物を撮影した動画像330aを入力とし且つ当該特定部位の動作に関する情報を出力とする複数の教師データを用いて、学習モデル410の機械学習が実行される。これにより、動画像330に基づき人物の動作の内容を認識可能な学習モデル410(学習済みモデル420)を生成することが可能である。
【0111】
特に、動画像330aは、当該人物の特定部位の非動作区間Bを含む動画像である。機械学習での動画像330aの利用に際して動画像330aから非動作区間Bが排除されることを要しない。したがって、動画像内における動作の実行期間Fを特定せずとも、人物の動作の内容を認識可能な学習モデル(学習済みモデル)を生成することが可能である。ひいては、動画像内における動作の実行期間を特定せずとも、人物の動作の内容(発話単語等)を認識することが可能である。換言すれば、この実施形態に係る技術では、機械学習を用いること等によって、動画像内における動作の実行期間を特定せずとも、人物の動作の内容を認識することが可能である。
【0112】
また、教師データとして用いられる各動画像330aは、人物の特定部位(「口唇」)に関する指定動作(特定の単語の発話動作)を指定期間D1内に完了すべき旨の動作指示に応じた人物の動作(発話動作)を撮影した動画像である。
【0113】
このような動画像330aにおける発話動作は、概ね、当該動作指示に応じて指定期間D1以内で実行される。すなわち、指定動作の実行区間(発話区間)Fは、指定期間D1以内で実行される。換言すれば、このような各動画像330aは、特定部位の動作(口唇による発話動作)が指定期間D1以内で実行された動作区間(発話区間)Fを含む。これによれば、発話区間Fの長さが期間D1よりも増大することを防止することが可能であり、指定期間D1が指定されない場合に比べて発話区間Fの長さを均一化すること(揃えること)が可能である。
【0114】
また、発話動作が動作指示に応じて指定期間D1以内で実行される(完了する)ことによれば、発話区間Fの開始時点が指定期間D1の終了時点T9よりも後ろにずれること(時点T1から5秒後に発話区間Fが開始されること等)が防止される。端的に言えば、動画像内における動作区間Fの位置を揃えることが可能である。
【0115】
このように、動作区間Fの長さ、および動画像内における動作区間Fの位置を揃えることが可能である。ひいては、学習モデル410による学習精度を向上させること、換言すれば、学習モデル410による推定精度(被写体人物の動作の特定精度)を向上させることが可能である。
【0116】
特に、当該動作指示においては、一の単語の発話動作を行うべき旨が指示されている。当該動作指示に従って単語単位での発話が行われることによれば、複数の単語の組み合わせが発話される場合に比べて、発話区間Fの長さを一層均一化すること(揃えること)が可能である。ひいては、学習モデル410による学習精度を向上させること、換言すれば、学習モデル410による推定精度(被写体人物の動作の特定精度)を向上させることが可能である。
【0117】
また特に、指定期間D1としては、指定動作の所要時間(たとえば0.3秒~1秒)とほぼ同様の時間(詳細には、当該所要時間に若干の余裕時間を加えた期間)(たとえば、1.5秒)が指定されることが好ましい。すなわち、指定期間D1としては微少期間(1.5秒~3秒程度)が指定されることが好ましい。これによれば、指定期間D1が比較的長い場合(5秒以上等である場合)に比べて、発話区間Fの長さのばらつきを更に抑制し更なる均一化を図ることが可能である。たとえば、発話区間の長さが比較的広い範囲(6秒間等)に亘ってばらつくことが防止され、発話区間Fの長さが1秒前後に均一化される。また、各動画像330a内における発話区間Fの位置を揃えることが可能である。詳細には、各動画像330a内における発話区間Fの開始時点を、互いにほぼ同じ時期(動画像の開始時点T1から所定期間(反応等に要する時間)が経過した時点T3の近傍)に揃えることが可能である。より詳細には、発話区間F(たとえば約0.8秒)は、その直前の非動作区間B1(たとえば約0.3秒)とその直後の非動作区間B3(たとえば約0.4秒)との間に挟まれた位置、端的に言えば、動画像330b内の中央付近の位置に存在する。
【0118】
このように、上述のような動画像取得手法によれば、発話区間(動作区間)Fの長さが均一化されるとともに発話区間Fの出現位置(動画像内での出現位置)が均一化される。これによれば、発話区間Fの開始時点および発話区間Fの区間長が概ね揃った複数の教師データを容易に生成することが可能である。換言すれば、学習用の教師データの生成にあたり、発話区間Fの開始時点等を特定する処理を行うことを要しない。すなわち、動画像内における動作の実行期間(動作区間F)を特定せずとも、人物の動作の内容を認識可能な学習モデルを生成することが可能である。ひいては、動画像内における動作の実行期間を特定せずとも、人物の動作の内容を認識することが可能である。
【0119】
<6.学習済みモデル420の推論段階の処理等>
つぎに、学習済みモデル420を利用した推論段階の処理、およびその推論結果を利用した認証処理について説明する。
【0120】
図8は、学習済みモデル420の推論結果を利用した認証処理を示すフローチャートである。図8に示される処理は、主に画像処理装置30のコントローラ31によって実行される。ただし、図8の処理の一部は、端末装置70と協働することによって実行される。
【0121】
まず、ステップS51において、ログイン対象人物の顔画像に基づく認証処理(顔認証処理)が実行される。具体的には、端末装置70の撮像部76を用いて当該対象人物の顔画像(静止画像)が撮影され、当該顔画像が端末装置70から画像処理装置30へと送信される。そして、画像処理装置30は、当該顔画像に基づく顔認証処理を実行する(ステップS51)。顔認証処理では、登録データベース450(図2参照)に登録された正規情報(正規の顔画像情報等)との照合処理等が実行される。ただし、顔認証処理のみでは、写真等を用いた「なりすまし」が行われる可能性がある。そこで、この実施形態では、次のステップS52にて、なりすまし防止用の確認処理が実行される。
【0122】
具体的には、ステップS52では、認証用の装置からの動作指示に応じた動作(指定された単語の発話動作)が実際に行われているか否かが、学習済みモデル420を用いてさらに判定される。
【0123】
ステップS52では、図7に示す処理(ステップS31~S33)が実行される。図7は、学習済みモデル420を用いた推論段階の処理を示すフローチャートである。図7に示される処理は、コントローラ31等によって実行される。学習済みモデル420を用いた推論段階の処理によって、指定された単語の発話動作が実際に行われているか否かが判定される。
【0124】
まず、ステップS31において、認証対象人物(被写体人物)の動画像(口唇画像)が取得される。ステップS31においては、ステップS11(図6参照)と同様にして、動画像310,320,330(詳細には310b,320b,330b)が取得される。動画像310の取得処理等には、端末装置70が利用される。
【0125】
具体的には、まず、認証対象人物は、端末装置70の表示部75bに表示されている説明欄114の説明文章を読んだ後に、スタートボタン115を押下して入力処理を開始する。
【0126】
スタートボタン115の押下に応じて、端末装置70は、10個の数字(0,1~9)の中からランダムに選択した複数(ここでは4つ)の数字を所定時間間隔で(たとえば3秒おきに)(あるいはランダムな時間間隔で)順次に表示していく。そして、認証対象人物は、発話指示に応じて(発話指示に応答して)、指示された数字を発話(発声)する。端末装置70は、発話指示に応じたユーザの発話動作に関する動画像310(310b)を撮影し、当該動画像310(310b)を画像処理装置30に送信する。画像処理装置30は、受信した動画像310bに基づき、動画像320(320b)および動画像330(330b)を生成する。
【0127】
詳細には、まず、左端の数字表示欄112に最初の数字(たとえば「5」)が表示される(図13参照)。認証対象人物は、最初の数字の表示(発話指示)に応じて当該最初の数字を発話する。端末装置70は、当該ユーザの顔画像に関する動画像310(310b)を撮影し、当該動画像310(310b)を画像処理装置30に送信する。画像処理装置30は、受信した動画像310bに基づき、動画像320(320b)および動画像330(330b)を生成する。これにより、最初の数字(たとえば「5」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が取得される。
【0128】
次に、左端から2番目の数字表示欄112に2番目の数字(たとえば「3」)が表示される(図14参照)。認証対象人物は、2番目の数字の表示(発話指示)に応じて当該2番目の数字を発話する。端末装置70は、当該ユーザの顔画像に関する動画像310(310b)を撮影し、当該動画像310(310b)を画像処理装置30に送信する。画像処理装置30は、受信した動画像310bに基づき、動画像320(320b)および動画像330(330b)を生成する。これにより、2番目の数字(たとえば「3」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が取得される。
【0129】
また、左端から3番目の数字表示欄112に3番目の数字(たとえば「9」)が表示される(図15参照)。認証対象人物は、3番目の数字の表示(発話指示)に応じて当該3番目の数字を発話する。端末装置70は、当該ユーザの顔画像に関する動画像310(310b)を撮影し、当該動画像310(310b)を画像処理装置30に送信する。画像処理装置30は、受信した動画像310bに基づき、動画像320(320b)および動画像330(330b)を生成する。これにより、3番目の数字(たとえば「9」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が取得される。
【0130】
さらに、右端(左端ら4番目)の数字表示欄112に4番目の数字(たとえば「8」)が表示される(図16参照)。認証対象人物は、4番目の数字の表示(発話指示)に応じて当該4番目の数字を発話する。端末装置70は、当該ユーザの顔画像に関する動画像310(310b)を撮影し、当該動画像310(310b)を画像処理装置30に送信する。画像処理装置30は、受信した動画像310bに基づき、動画像320(320b)および動画像330(330b)を生成する。これにより、4番目の数字(たとえば「8」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が取得される。
【0131】
このようにして、画像処理装置30は、動画像330(330b)を取得する。動画像330bには、特定部位に関する指定動作を指定期間D1内で実行すべき旨の実行指示に応じた被写体人物の動作が撮影されている。また、動画像330bは、当該被写体人物の特定部位の非動作区間B(図11参照)を含む動画像である。動画像330bに関して、非動作区間Bを排除する処理(非動作区間Bの特定処理を含む排除処理)は行われていない。
【0132】
また、端末装置70は、端末装置70によってランダムに選択された4つの数字(「5」、「3」、「9」、「8」)をも、画像処理装置30に送信する。換言すれば、端末装置70は、各発話指示で指定された単語(発話指示内容)をも画像処理装置30に送信する。なお、ここでは、端末装置70が各発話指示での発話語(単語)を決定しているが、これに限定されない。たとえば、画像処理装置30が各発話指示での発話語(単語)を決定して端末装置70に送信してもよい。
【0133】
次に、ステップS32において、画像処理装置30は、被写体人物の動画像330(330b)を学習モデル410(学習済みモデル420)に入力して、当該学習モデル410による動作推定結果を取得する。すなわち、画像処理装置30は、被写体人物の動作に関する情報350b(発話内容)を学習済みモデル420からの出力結果として得る。そして、学習モデル410(学習済みモデル420)から出力された特定部位の動作に関する情報350bがそのまま被写体人物の動作(各単語の発話動作)の認識結果(発話語の認識結果)として特定(認識)される。
【0134】
具体的には、まず、最初の数字(たとえば「5」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が学習済みモデル420に入力され、当該学習済みモデル420からの出力情報350bが得られる。当該出力情報350bとして、最初の指示に関する発話語の認識結果(たとえば「5」)が得られる。
【0135】
次に、2番目の数字(たとえば「3」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が学習済みモデル420に入力され、当該学習済みモデル420からの出力情報350b(発話単語の認識結果(たとえば「3」))が得られる。
【0136】
また、3番目の数字(たとえば「9」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が学習済みモデル420に入力され、当該学習済みモデル420からの出力情報350b(発話単語の認識結果(たとえば「9」))が得られる。
【0137】
さらに、4番目の数字(たとえば「8」)の表示(発話指示)に応じた発話動作を含む動画像330b(撮影画像)が学習済みモデル420に入力され、当該学習済みモデル420からの出力情報350b(発話単語の認識結果(たとえば「8」))が得られる。
【0138】
そして、ステップS33では、ステップS32における推論結果に基づく追加認証処理が実行される。
【0139】
具体的には、各発話指示で指定された単語と実際の発話語に関する認識結果(発話動作の認識内容)とが一致するかが、4つの発話指示に関してそれぞれ判定される。
【0140】
詳細には、最初の発話指示で指定された単語(たとえば「5」)と、当該最初の指示に関する発話語の認識結果(たとえば「5」)とが一致しているか否かが判定される。次に、2番目の発話指示で指定された単語(たとえば「3」)と、当該2番目の指示に関する発話語の認識結果(たとえば「3」)とが一致しているか否かが判定される。また、3番目の発話指示で指定された単語(たとえば「9」)と、当該3番目の指示に関する発話語の認識結果(たとえば「9」)とが一致しているか否かが判定される。さらに、4番目の発話指示で指定された単語(たとえば「8」)と、当該4番目の指示に関する発話語の認識結果(たとえば「8」)とが一致しているか否かが判定される。
【0141】
そして、各発話指示で指定された単語と当該各発話指示に応じた発話語の認識結果とが4つの発話指示のいずれに関しても一致している場合にのみ、動作指示に応じた動作(指定された単語の発話動作)が実際に行われている旨が判定される。換言すれば、認証対象人物に関する顔認証処理によって特定人物であることが認証されることのみならず、発話指示に応じた認証対象人物の発話内容が発話指示の指示内容に一致することをも条件として、認証対象人物が真正の特定人物であると判定される。
【0142】
また、画像処理装置30は、当該情報350b(認識された発話単語)を端末装置70に送信し、端末装置70は、画像処理装置30から受信された当該情報350bを、表示部75bの各認識語表示欄116に表示する(図17参照)。図17においては、左端の認識語表示欄116には、最初の発話指示に応じた発話動作に関する認識結果(発話内容)「5」が表示されている。また、残りの3つの認識語表示欄116には、2番目から4番目までの各発話指示に応じた発話動作に関する各認識結果(「3」、「9」、「8」)が表示されている。
【0143】
さらに、画像処理装置30は、当該情報350b(発話内容)と発話指示内容とを照合した照合結果(すなわち、指示された通りの内容(4つの単語)が発話されているか否か)を端末装置70に送信する。そして、端末装置70は、当該照合結果を表示部75bの結果表示欄117に表示する(図17参照)。図17では、当該照合結果が良好である(4つの単語が実際に発話されたと認識されたことを示す判定結果「GOOD」)が結果表示欄117に表示されている。
【0144】
ステップS52では、上述のような確認動作が行われる。
【0145】
次のステップS53では、認証対象人物に関する顔認証処理によって特定人物であることがステップS51にて認証されることのみならず、各発話指示に応じた認証対象人物の発話内容が当該各発話指示の指示内容に一致する旨がステップS52にて判定されることをも条件として、認証対象人物が真正の特定人物であると判定される。換言すれば、認証対象人物(被写体人物)が指定動作を実行したと判定されることを条件として、認証対象人物が真正の特定人物であると判定される。これにより、顔認証処理における写真等による「なりすまし」が防止される。
【0146】
以上のような処理によれば、動画像330bを学習モデル410(学習済みモデル420)に対して入力することに応じて当該学習モデル410から出力された特定部位の動作に関する情報350bに基づき、被写体人物の動作が特定(認識)され得る。特に、動画像330bは、被写体人物の特定部位の非動作区間Bを含む動画像である。学習済みモデル420への入力対象である動画像330bから、非動作区間Bを排除することを要しない。したがって、動画像内における動作の実行期間を特定せずとも、人物の動作の内容を認識することが可能である。
【0147】
また、動画像330b(被写体人物を撮影した動画像)は、特定部位に関する指定動作を指定期間内で実行すべき旨の実行指示に応じた被写体人物の動作を撮影した動画像である。したがって、動作区間Fの長さ、および動画像内における動作区間Fの位置を揃えることが可能である。詳細には、推論対象の動画像330b内における発話区間Fの長さを、他の動画像330b内における発話区間Fの長さ、および/または、学習用の動画像330a内における発話区間の長さと同様の長さに揃えることが可能である。また、推論対象の動画像330b内における発話区間Fの開始時点を、他の動画像330b内における発話区間Fの開始時点、および/または、学習用の動画像330a内における時期と同様の時期(動画像の開始時点T1から所定期間(反応等に要する時間)が経過した時点T3の近傍期間)に揃えることが可能である。ひいては、被写体人物の動作の特定精度(推定精度)を向上させることが可能である。
【0148】
また、被写体人物(認証対象人物)を撮影した動画像330bを学習モデル410(学習済みモデル420)に入力して得られる出力に基づき当該被写体人物が指定動作を実行したと判定されることを条件として、被写体人物が認証処理に関する真正な人物であると判定される。したがって、なりすまし防止等に有用である。
【0149】
また、発話動作という高度な生体動作が人間の特定部位の動作として利用されているので、人間の実在性を適切に判定することが可能である。特に、ここでの発話動作は、指定単語を認識した上で、当該指定単語を発話する動作(指定単語の認識等を伴う動作)であり、人間の実在性を非常に適切に判定することが可能である。
【0150】
なお、上述のステップS52では、学習済みモデル420からの出力結果として、単一の推定結果(発話された単語である確率が最も高い一の数字のみ(端的に言えば、最上位の推定結果))が出力されているが、これに限定されない。たとえば、学習済みモデル420からの出力結果(動作の認識結果)として、上位3つの推定結果を示す数字(最高順位の確率に対応する数字と、次順位の確率に対応する数字と、その次の順位の確率に対応する数字との3つの数字)が出力されてもよい。そして、これら上位3つの数字の中に発話指示内容の数字(発話すべき旨が指示された単語)が含まれている場合に、発話指示に応じた認証対象人物の発話内容が発話指示の指示内容に一致する(認証対象人物が指定動作を実行した)と判定されてもよい。
【0151】
また、上述のステップS52では、まずステップS31において4つの数字(単語)に関する発話動作の撮影画像(4つの動画像)が取得され、次にステップS32において4つの数字に関する発話内容の推定処理が実行(4つの推定結果が取得)されているが、これに限定されない。たとえば、動画像の取得処理と当該動画像に基づく推定処理とが数字(単語)ごとに実行されてもよい。詳細には、まず1番目の発話指示に基づく動画像が取得されるとともに当該動画像に基づく推定処理が実行され、次に2番目の発話指示に基づく動画像が取得されるとともに当該動画像に基づく推定処理が実行されてもよい。さらに、3番目の発話指示に基づく動画像の取得処理および当該動画像に基づく推定処理が実行され、4番目の発話指示に基づく動画像の取得処理および当該動画像に基づく推定処理が実行されてもよい。また、或る動画像(たとえば、1番目の発話指示に基づく動画像)に基づく推定処理と次の動画像(たとえば、2番目の発話指示に基づく動画像)の取得処理とは並列的に実行されてもよい。
【0152】
<7.学習モデル410に関する検証>
つぎに、学習モデル410に関する検証例について説明する。
【0153】
この検証例では、テストデータ(学習用データおよび評価用データ)として、上述の手法によるデータ(動画像330)自体ではなく、それに類似するデータを用いた。この検証例では、後述するように動画像における発話区間Fと非発話区間Bとが予め特定されている(動画像における発話区間Fの開始時点が結果的に特定されている)点等において、上記実施形態の手法とは異なる手法が採用されている。端的に言えば、この検証例では、上述の動画像330が擬似的に(人為的に)生成されている。それ故、この検証例は、厳密な検証例であるとは言えない。ただし、この検証例によれば大まかな傾向を把握することが可能である。
【0154】
この検証例(実験例)では、具体的には、学習用データとして、或る動画像データ(300人、1動画当たり10数字発話、計319350数字分)を用いた。また、評価用データとして、別の動画像データ(10人、1動画あたり3~5文字発話、計1795数字分)を用いた。これらのデータは、上記実施形態の手法(図12等参照)によって収集されたデータではなく、複数の数字を1つずつ略一定の無音区間を挟みつつ発話した(間欠的に発話した)人物の顔の動画像データである。なお、これらのデータのうち、学習あるいは評価に適さないと判断されるデータを省いて利用した。
【0155】
より詳細には、各動画像データにおいては、発話区間Fと非発話区間Bとが予め特定されている。そして、次のような手法によって、各動画像データから、単語ごと(数字ごと)の動画像330が抽出される。なお、各動画像データは、30fps(フレーム/秒)のフレームレートを有している。
【0156】
具体的には、「45フレームモデル」(長さ1.5秒の動画像)の動画像330について説明する。この45フレームモデルでは、各顔画像データを構成する多数のフレーム画像(単にフレームとも称する)のうち、特定数字の発話区間Fの複数のフレームがまず抽出される。そして、45フレームから当該複数のフレーム(抽出されたフレーム)のフレーム数を差し引いた残りのフレーム数のフレームを、当該複数のフレームの前後のフレームから半分ずつ抽出する。これにより、前後の非動作区間B(B1,B3)に挟まれた発話区間Fを有する動画像(その中央付近の位置に発話区間Fが存在する動画像)が(人為的に)生成される。
【0157】
図18は、元の(抽出前の)動画像データを示す図である。図18の各行には、開始フレーム番号、終了フレーム番号、状態種別(発話/非発話等)がこの順序で記載されている。状態種別としては、各フレーム区間(開始フレーム番号から終了フレーム番号までの区間)で実際に発話された数字(「7」など)、あるいは非発話を示す「pause」が示されている。
【0158】
当該動画像データにおいては、たとえば、第0フレームから第33フレームまでは非発話区間B(「pause」)であり、第34フレームから第48フレームまでは数字「9」の発話区間Fである。また、第49フレームから第66フレームまでは非発話区間B(「pause」)である。さらに、第67フレームから第84フレームまでは数字「8」の発話区間Fであり、第85フレームから第101フレームまでは非発話区間B(「pause」)である。
【0159】
このような元の動画像データから、数字「8」に関する動画像330を抽出する場合について説明する。この場合、まず、数字「8」の発話区間Fである第67フレームから第84フレームまでの区間の合計18フレームが抽出される。また、合計45フレームから18フレームを差し引いた残りの27フレームのうち略半数ずつ(13フレームおよび14フレーム)が、数字「8」の当該発話区間Fの前後からそれぞれ抽出される。具体的には、第54フレームから第66フレームの合計13フレームが非発話区間B1(図11参照)のフレーム画像として抽出され、第85フレームから第98フレームの合計14フレームが非発話区間B3のフレーム画像として抽出される。そして、これらの第54フレームから第98フレームまでの合計45フレームが、数字「8」に関する動画像330として抽出される。
【0160】
このようにして、他の数字に関する動画像等も含めて、学習用および評価用の動画像330が抽出(生成)される。
【0161】
そして、学習用の複数の動画像330aを教師データとして用いて学習モデル410が機械学習されて学習済みモデル420が生成される。また、当該学習済みモデル420に対して評価用の各動画像330bが入力され、当該学習済みモデル420からの出力結果が得られる。さらに、得られた出力結果と実際の発話数字とが比較されて評価される。
【0162】
図19は、このような評価結果を示す図である。当該45フレームモデルの「Top-1認識率」は、94.47%であり、当該45フレームモデルの「Top-3認識率」は、99.85%である。このように良好な認識結果が得られている。また、認識時間(認識に要した処理時間)は、約0.05秒(CPUとして、Core-i7-7820HQ 2.90GHzを使用した場合)であり、認識処理は非常に高速である。
【0163】
ここで、「Top-1認識率」は、学習済みモデル420からの最上位(上位1つ)の推定結果として実際の発話数字が正しく認識された割合を示している。また、「Top-3認識率」は、学習済みモデル420からの上位3つの推定結果のいずれかとして実際の発話数字(正解)が正しく認識された割合(当該上位3つの推定結果に正解が含まれるように認識された割合)を示している。
【0164】
図19においては、他の1つのフレームモデル(110フレームモデル)に関する評価結果も示されている。
【0165】
「110フレームモデル」(長さ約3.7秒の動画像)の動画像330について説明する。この110フレームモデルでは、各顔画像データを構成する多数のフレームのうち、特定数字の発話区間Fの複数のフレームと、その前後の非発話区間B(直前の「pause」区間および直後の「pause」区間)とが抽出される。なお、110フレームに満たない残りのフレーム(後ろ側のフレーム)は、ゼロパディングされる(黒画像で埋められる)。これにより、前後の非動作区間B(B1,B3)に挟まれた発話区間Fを有する動画像(その中央付近の位置に発話区間Fが存在する動画像)が(人為的に)生成される。
【0166】
このような元の動画像データから、数字「8」に関する動画像330を110フレームモデルとして抽出する場合について説明する(図18参照)。この場合、まず、数字「8」の発話区間F(第67フレームから第84フレームまでの区間)の合計18フレームが抽出される。さらに、発話区間Fの直前の非発話区間B(第49フレームから第66フレームまでの区間)の合計18フレームと、発話区間Fの直後の非発話区間B(第85フレームから第101フレームまでの区間)の合計17フレームとがさらに抽出される。すなわち、第49フレームから第101フレームまでの合計53(=18+18+17)フレームが抽出される。また、これら53フレームの後の残りのフレーム(全110フレームのうち残りの57(=110-53)フレーム)は、ゼロパディング処理によって埋められる。
【0167】
他の数字に関する動画像に関しても同様に生成されることによって、学習用および評価用の複数の動画像330が生成される。
【0168】
図19においては、110フレームモデルに関する評価結果も示されている。当該110フレームモデルの「Top-1認識率」は、94.19%であり、当該110フレームモデルの「Top-3認識率」は、99.75%である。このように良好な認識結果が得られている。また、認識時間(認識に要した処理時間)は、約0.5秒(CPUとして、Core-i7-7820HQ 2.90GHzを使用した場合)であり、認識処理は十分に高速である。
【0169】
<8.その他>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【0170】
たとえば、上記実施形態等においては、人物(人間)の特定部位の動作として、人物の口唇部分の発話動作を例示したが、これに限定されない。具体的には、人物(人間)の特定部位の動作は、顔を特定の向きに向ける動作(左を向く、右を向く、上を向く、下を向く等)であってもよい。あるいは、当該特定部位の動作は、眼球(瞳孔)を特定方向に移動させる動作(左右に動かす、上下に動かす等)であってもよく、両眼のうちの少なくとも一方の眼(特定の眼)の瞬き動作(右目ウインク、左目ウインク、両目ウインク等)であってもよい。あるいは、当該特定部位の動作は、頭(首)を特定方向(右回り、左回り等)に回転させる動作であってもよい。あるいは、当該特定部位の動作は、両手のうちの少なくとも一方の手(特定の手)を高く挙げる動作(右手を挙げる、左手を挙げる、両手を挙げる)であってもよい。あるいは、当該特定部位の動作は、両手のうちの少なくとも一方の手(特定の手)を特定方向に振る動作(右手を上下に振る、左手を上下に振る、両手を上下に振る、右手を左右に振る、左手を左右に振る、両手を左右に振る)等であってもよい。
【0171】
また、上記実施形態等においては、各動画像330(310)は、特定部位に関する指定動作を指定期間D1内に完了すべき旨の動作指示に応じた人物の動作を撮影した動画像であるが、これに限定されない。たとえば、当該動作指示においては、指定期間D1が指定(明示)されていなくてもよい。より具体的には、当該動作指示は、なるべく短い時間で指定動作(一の単語の発話動作)を実行すべき旨の指示、および/または、なるべく早く反応して当該指定動作を実行すべき旨の指示等であってもよい。
【0172】
また、各動画像330(310)は、必ずしも時点T1~T9の撮影画像でなくてもよい。
【0173】
たとえば、当該各動画像330は、動作開始指示付与(発話開始指示付与等)に関する特定時点からの撮影画像等であってもよい。詳細には、当該各動画像330は、時点T1(動作開始指示付与時点)の近傍の特定時点からの撮影画像等であってもよい。より詳細には、当該各動画像330は、時点T1から撮影開始されなくてもよく、時点T2等から撮影開始されてもよい。
【0174】
また、当該各動画像330は、動作完了期限(発話終了期限等)に関する特定時点までの撮影画像等であってもよい。詳細には、当該各動画像330は、時点T9(動作完了期限到来時点)の近傍の特定時点までの撮影画像等であってもよい。より詳細には、各動画像330(310)は、時点T9で撮影終了されなくてもよく、たとえば、時点T9から更に所定の余裕期間が経過した時点T10までの期間をも含んでもよい。
【0175】
また、上記実施形態等においては、画像処理装置30が学習処理と推論処理との双方を実行しているが、これに限定されず、学習処理と推論処理とが別々の装置(30a,30b)によって実現されてもよい。この場合、推論処理を実行する装置30bは、たとえば、学習処理を実行した装置30aによって生成された学習済みモデル420に関する情報(学習済みの学習パラメータ等)を当該装置30aから取得し、当該学習済みモデル420を利用すればよい。
【0176】
また、上記実施形態等においては、端末装置70によって人物の動作が撮影されているが、これに限定されない。たとえば、画像処理装置30が人物の動作等を撮影して撮影画像310を取得してもよい。この場合等において、画面110は、画像処理装置30の表示部35bに表示されてもよい。換言すれば、1つの装置(画像処理装置30等)にて双方の装置の処理が実行されてもよい。
【符号の説明】
【0177】
1 画像処理システム
30 画像処理装置
70 端末装置
75c タッチパネル
76c カメラ
110 画面
111 画像表示領域
112 数字表示欄
113 読み仮名表示欄
114 説明欄
115 スタートボタン
116 認識語表示欄
117 結果表示欄
300,310,320,330,330a,330b 動画像
410 学習モデル
420 学習済みモデル
B,B1,B3 非発話区間(非動作区間)
F 発話区間(動作区間)
P1~P68 特徴点
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19