(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022186478
(43)【公開日】2022-12-15
(54)【発明の名称】画像処理装置および遠隔会話システム
(51)【国際特許分類】
G06T 1/00 20060101AFI20221208BHJP
G06T 7/00 20170101ALI20221208BHJP
【FI】
G06T1/00 340A
G06T7/00 660A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021094725
(22)【出願日】2021-06-04
(71)【出願人】
【識別番号】596046118
【氏名又は名称】株式会社市川ソフトラボラトリー
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100103263
【弁理士】
【氏名又は名称】川崎 康
(72)【発明者】
【氏名】市川 芳邦
(72)【発明者】
【氏名】平田 徳史
(72)【発明者】
【氏名】中田 正洋
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057AA20
5B057BA02
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CC03
5B057CD02
5B057CD03
5B057CD05
5B057CE08
5B057CE09
5B057DA08
5B057DB02
5B057DB09
5B057DC05
5B057DC36
5B057DC39
5L096AA06
5L096BA08
5L096CA02
5L096DA01
5L096EA03
5L096EA15
5L096EA16
5L096EA35
5L096FA02
5L096FA09
5L096FA25
5L096FA37
5L096FA52
5L096FA62
5L096FA66
5L096FA67
5L096GA51
5L096JA11
5L096MA03
(57)【要約】 (修正有)
【課題】複雑な処理や高性能のハードウェアを用いることなく、カメラで撮影された顔画像を違和感のない顔画像に補正する画像処理装置及び遠隔会話システムを提供する。
【解決手段】画像処理装置1は、カメラに対する顔の向きがそれぞれ異なり、それぞれの顔がカメラを注視する目を含む複数の参照画像を記憶する参照画像記憶部2と、カメラで撮影された顔を含む補正対象画像を取得する取得部3と、複数の参照画像の中から、補正対象画像との類似度が最大の参照画像を選択する選択部4と、選択された参照画像内の目領域を補正対象画像に合成する合成部5と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
カメラに対する顔の向きがそれぞれ異なり、それぞれの前記顔は前記カメラを注視する目を含む複数の参照画像を記憶する参照画像記憶部と、
前記カメラで撮影された顔を含む補正対象画像を取得する取得部と、
前記複数の参照画像の中から、前記補正対象画像との類似度が最大の参照画像を選択する選択部と、
前記選択された参照画像内の目領域を前記補正対象画像に合成する合成部と、を備える、画像処理装置。
【請求項2】
前記参照画像記憶部は、前記補正対象画像に映し込まれた顔の人物が前記カメラを注視しながら顔の向きを複数通りに変化させて前記カメラで撮影された前記複数の参照画像を記憶する、請求項1に記載の画像処理装置。
【請求項3】
前記複数の参照画像のそれぞれに含まれる顔領域および目領域を抽出する第1抽出部と、
前記複数の参照画像のそれぞれに含まれる顔領域の特徴点を抽出する第2抽出部と、を備え、
前記参照画像記憶部は、前記複数の参照画像のそれぞれと、対応する前記顔領域および前記目領域と、対応する前記特徴点とを関連づけて記憶する、請求項1又は2に記載の画像処理装置。
【請求項4】
新たに撮影された撮影画像に含まれる目領域と、前記参照画像記憶部に記憶された個々の参照画像に含まれる目領域との類似度を比較する参照画像比較部を備え、
前記参照画像記憶部は、前記参照画像比較部にて類似度が所定の閾値より大きいと判定された前記撮影画像を新たな前記参照画像として記憶する、請求項3に記載の画像処理装置。
【請求項5】
前記参照画像比較部は、撮影画像の目領域の中心位置と参照画像の目領域の中心位置との距離に基づいて前記類似度を設定する、請求項4に記載の画像処理装置。
【請求項6】
新たに撮影された撮影画像の特徴点と、前記参照画像記憶部に記憶されている個々の参照画像の特徴点との一致点数をカウントする第1カウント部を備え、
前記参照画像記憶部は、前記第1カウント部でカウントされた一致点数が所定の閾値以下と判定された前記撮影画像を新たな前記参照画像として記憶する、請求項3に記載の画像処理装置。
【請求項7】
前記参照画像記憶部に記憶された前記複数の参照画像を一つずつ選択して、前記補正対象画像との特徴点の一致点数をカウントする第2カウント部を備え、
前記選択部は、前記複数の参照画像の中で、前記第2カウント部でカウントされた一致点数が最大の参照画像を選択する、請求項1乃至6のいずれか一項に記載の画像処理装置。
【請求項8】
前記参照画像記憶部に記憶された前記複数の参照画像を一つずつ選択して、選択された参照画像の目領域を、前記補正対象画像の目領域に当てはめるためのアフィン行列を求める第1計算部と、
前記アフィン行列に基づいて、回転成分の強さを計算する第2計算部と、を備え、
前記選択部は、前記回転成分の強さが最小の参照画像を選択する、請求項1乃至6のいずれか一項に記載の画像処理装置。
【請求項9】
前記補正対象画像の目領域内の輝度情報に基づいて、まばたきを検出するまばたき検出部を備え、
前記合成部は、前記まばたき検出部にてまばたきが検出されない場合に、前記選択された参照画像内の目領域を前記補正対象画像に合成し、前記まばたき検出部にてまばたきが検出された場合には、前記選択された参照画像内の目領域による合成を中止する、請求項1乃至8のいずれか一項に記載の画像処理装置。
【請求項10】
前記補正対象画像の目領域内の画素ごとに、輝度値をカウントする輝度カウント部を備え、
前記まばたき検出部は、前記輝度値が所定の基準輝度以下のカウント数が所定値以上のときに、まばたきを検出する、請求項9に記載の画像処理装置。
【請求項11】
請求項1乃至10のいずれか一項に記載の画像処理装置と、
人物の顔を含む前記補正対象画像を撮影する前記カメラと、
前記補正対象画像を送信するとともに、通信相手から送信された画像を受信する通信装置と、
前記カメラで撮影された補正対象画像を表示可能であり、かつ前記通信装置を介して受信された前記画像を表示させる表示装置と、を備える、遠隔会話システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置および遠隔会話システムに関する。
【背景技術】
【0002】
近年、オンライン会議が世界中で広く利用されている。特に2020年の新型コロナウイルス感染拡大により、複数人でコミュニケーションをとるために、オンライン会議が重要なツールとなっている。
【0003】
オンライン会議では、PC(Personal Computer)の画面の脇に置かれたカメラで自分の顔を撮影して、その撮影画像をネットワーク経由で他の会議参加者に送信し、各会議参加者が他の会議参加者の顔画像を見ながら、コミュニケーションを取ることができる。
【0004】
ところで、他人と会話をする場合には、その他人の目を見ながら会話をするのが一般的であり、オンライン会議でも、画面に映し出された会議参加者の目を見ながら会話を行うことが多い。ところが、カメラは、画面内にはなく、画面の脇に設置されているため、会話している者同士の視線がずれたままで会話をすることになり、表示された会議参加者の画像に違和感を覚えることが多い。
【0005】
この問題を解決するために、例えばディープラーニング技術を適用して、顔画像内の目の周囲を変形するなどして、顔画像の視線方向を修正する手法が提案されている(非特許文献1~3参照)。
【0006】
しかしながら、これらの手法は、大量のニューラルネットワーク計算を高速に実行できるハードウエア(NPU:Neural network Processing UnitやGPU:Graphics Processing Unitなど)を利用しない限り、実用的な処理速度で表示できないという問題がある。
【0007】
2台以上のカメラで同時に顔を撮影して、ステレオマッチング技術を利用して視線方向を補正する案も提案されているが(非特許文献4)、カメラが2台以上必要な上にステレオマッチングのための多くの演算を必要とするため、専用のカメラや画像処理機器を必要とし、設備コストが高くなる。
【0008】
また、カメラを注視したときの目の部分の画像を合成する手法が提案されている(特許文献1、2参照)。特許文献1、2の技術は、汎用的な処理能力のPCやスマートフォンなどでも実行可能であるが、単一のカメラ視線画像のみを合成するものであり、顔の向きが変化するとカメラ目線にならないか、合成に違和感が生じるという問題がある。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2017-130046号公報
【特許文献2】特許6604924号公報
【非特許文献】
【0010】
【非特許文献1】https://support.apple.com/ja-jp/HT211808のFaceTimeの項目
【非特許文献2】https://blogs.windows.com/devices/2020/08/20/make-a-more-personal-connection-with-eye-contact-now-generally-available/
【非特許文献3】https://developer.nvidia.com/maxine?ncid=so-yout-79832
【非特許文献4】「画面中央に生成された"仮想カメラ"で、視線が合わない違和感を解消。円滑なコミュ二ケーションを可能にする革新的なWeb会議システムを発明。金沢工業大学 メディア情報学科 坂知樹助教」https://www.kanazawa-it.ac.jp/kitnews/2020/1215_saka.html)
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明者の研究によれば、予めカメラを注視した画像を取得する際の顔の位置や姿勢から顔が動いた場合、すなわち、カメラと顔との相対位置姿勢関係が変化した場合に、顔画像に違和感を生じることが解った。しかしながら、違和感を解消しようとすれば適用可能な範囲を狭めなければならず、補正の機会を減少させてしまうという問題がある。
【0012】
そこで、本開示では、複雑な処理や高性能のハードウェアを用いることなく、違和感のない顔画像を表示可能な画像処理装置および遠隔会話システムを提供するものである。
【課題を解決するための手段】
【0013】
上記の課題を解決するために、本開示によれば、カメラに対する顔の向きがそれぞれ異なり、それぞれの前記顔は前記カメラを注視する目を含む複数の参照画像を記憶する参照画像記憶部と、
前記カメラで撮影された顔を含む補正対象画像を取得する取得部と、
前記複数の参照画像の中から、前記補正対象画像との類似度が最大の参照画像を選択する選択部と、
前記選択された参照画像内の目領域を前記補正対象画像に合成する合成部と、を備える、画像処理装置が提供される。
【図面の簡単な説明】
【0014】
【
図1】3つの位置にいるユーザがカメラを正視する例を示す図。
【
図2】3つの位置にいるユーザがカメラの右方向に顔を向けてカメラを注視した例を示す図。
【
図3A】3つの位置にいるユーザが正面に顔を向けている状態で撮影した補正対象画像を取得する例を示す図。
【
図3B】顔を左側D1に向けて撮影した参照画像と、顔を正面に向けて撮影した参照画像と、顔を右側D3に向けて撮影した参照画像とを取得する例を示す図。
【
図3C】
図3Aの3つの補正対象画像と、
図3Bの3つの参照画像との特徴点の一致点数を比較した図。
【
図4】第1の実施形態による画像処理装置の概略構成を示すブロック図。
【
図5】第1の実施形態による画像処理装置の準備段階の処理動作を示すフローチャート。
【
図6】第1の実施形態による画像処理装置のリアルタイム補正段階の処理動作を示すフローチャート。
【
図7A】参照画像記憶部に記憶されている参照画像群の一例を示す図。
【
図7B】カメラで撮影されて取得部で取得されるユーザの補正対象画像の一例を示す図。
【
図7C】参照画像の目の領域を補正対象画像の目の領域に合成する例を示す図。
【
図8】第2の実施形態による画像処理装置の概略構成を示すブロック図。
【
図9】第2の実施形態による画像処理装置の準備段階の処理動作を示すフローチャート。
【
図10】
図9のステップS23の詳細な処理手順を示すフローチャート。
【
図11】第3の実施形態による画像処理装置の概略構成を示すブロック図。
【
図12】第3の実施形態による画像処理装置の準備段階の処理動作を示すフローチャート。
【
図13】
図12のステップS43の詳細な処理手順を示すフローチャート。
【
図14】第4の実施形態による画像処理装置の概略構成を示すブロック図。
【
図15】
図6のステップS13の詳細な処理動作を示す第4の実施形態のフローチャート。
【
図16】第5の実施形態による画像処理装置の概略構成を示すブロック図。
【
図17】
図6のステップS13の詳細な処理動作を示す第5の実施形態のフローチャート。
【
図18】第6の実施形態による画像処理装置の概略構成を示すブロック図。
【
図19】第6の実施形態による画像処理装置が行うリアルタイム補正段階の処理動作を示すフローチャート。
【
図20】
図19のステップS83の処理の詳細を示すフローチャート。
【
図21A】ユーザが目を開いている状態でのヒストグラム。
【
図21B】ユーザがまばたきをして目を閉じている状態でのヒストグラム。
【
図22】遠隔会話システムの概略構成を示すブロック図。
【発明を実施するための形態】
【0015】
以下、図面を参照して、画像処理装置および遠隔会話システムの実施形態について説明する。以下では、画像処理装置および遠隔会話システムの主要な構成部分を中心に説明するが、画像処理装置および遠隔会話システムには、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。
【0016】
(本開示技術の概要)
本開示技術は、例えばPCの画面の脇に設置されたカメラで撮影された顔画像の目領域を違和感が生じないようにカメラ目線に補正するものである。本開示技術では、カメラを注視しながら、顔の向きを複数通りに変化させることをユーザに行わせて複数枚の撮影を行い、複数の参照画像(ソース画像群または参照画像群とも呼ばれる)を取得する。これら参照画像群には、様々な顔の向きでのカメラ目線の眼球が写されている。本開示技術では、これら参照画像群から、補正対象画像の顔の向きと位置が近い参照画像を選択する。この選択処理は、補正対象画像と比べて、最も違和感の少ない向きの眼球を含む参照画像を選択することに他ならない。このように、補正対象画像に対して最も違和感が少なく合成できるカメラ目線の眼球を含む参照画像を迅速かつ的確に選択できることが、本開示技術の特徴である。
【0017】
本開示技術では、参照画像群から、補正対象画像に対して顔の向きと位置が近い参照画像を少ない演算量で高速に探索して選択する処理が必要である。このため、例えば、参照画像群に含まれる参照画像ごとに特徴点を抽出するとともに、補正対象画像の特徴点を抽出し、各参照画像の特徴点と補正対象画像の特徴点とを比較して、一致点検出を行う。一致点検出処理では、参照画像群の中で、補正対象画像と顔の向きと位置がより近い参照画像ほど、より多くの一致点が検出される。
【0018】
図1は、それぞれ異なる3つの位置L、C、Rにいるユーザがカメラ20を正視する例を示している。ここで、正視とは、ユーザの顔と眼球がともにカメラ20を向いていることを意味する。
図1の3つの位置のいずれにおいても、ユーザは正面方向にカメラ20を注視するため、視線方向は同じであり、各ユーザの顔画像中の目領域を合成しても違和感は生じない。
【0019】
図2はそれぞれ異なる3つの位置L’、C’、R’にいるユーザがカメラ20の右方向に顔を向けてカメラ20を注視した例を示している。ここで、注視とは、ユーザの顔の向きにかかわらず、眼球がカメラ20を向いていることを意味する。
図2の例では、3つの位置L’、C’、R’にいるユーザの顔の向きの左側にカメラ20が配置されている。
図2の場合も、ユーザの顔とカメラ20の相対位置関係は3つの位置L’、C’、R’で同じである。
【0020】
このように、補正対象画像に対応する顔とカメラ20の相対位置関係と顔の向きによって、補正対象画像に見合う最適な参照画像が変化する。補正対象画像に対応する顔から見たカメラ20の向きを、三次元空間での顔の向き判定と位置予測を行って算出し、顔から見たカメラ20の向きを算出して比較する手法も採りうる。この演算は、一般に多くの演算量と複雑な判定処理を必要とする。本開示技術では、特徴点の一致点数を手がかりに、参照画像群から補正対象画像に最も近い参照画像を選択することで、顔から見たカメラ20の位置を特定するための煩雑な演算を不要とする。
【0021】
図3Aは、位置L、C、Rにいるユーザが正面に顔を向けている状態で撮影した撮影画像を取得する例を示している。
図3Bは、顔を左側D1に向けて撮影した参照画像と、顔を正面D2に向けて撮影した参照画像と、顔を右側D3に向けて撮影した参照画像とを取得する例を示している。
【0022】
図3Cは、
図3Aの3つの撮影画像と、
図3Bの3つの参照画像との特徴点の一致点数を比較した図である。
図3Cの横軸は顔の向き、縦軸は一致点数である。
図3Aの位置Lでは向きD1の一致点数が最大になり、位置Cでは向きD2の一致点数が最大になり、位置Rでは向きD3の一致点数が最大になる。
【0023】
このように、本開示技術によれば、顔から見たカメラ位置を特定することなく、特徴点の一致点数を比較した結果に基づいて、最適な参照画像を選択することができる。すなわち、本開示技術では、顔検出処理などにより顔の向きと位置を検出する本来行われるべき処理を行わずに、単なる一致点検出処理を用いて最適な参照画像を選択する。これにより、演算処理量を大幅に削減でき、処理の迅速化が図れて、リアルタイムの画像補正処理も可能となる。以下、本開示技術を、より詳細に説明する。
【0024】
(第1の実施形態)
図4は第1の実施形態による画像処理装置1の概略構成を示すブロック図である。
図4の画像処理装置1は、例えばPCの画面に表示される顔画像の目領域を補正するために用いられる。
図4の画像処理装置1は、参照画像記憶部2と、取得部3と、選択部4と、合成部5とを備えている。
【0025】
参照画像記憶部2は、複数の参照画像からなる参照画像群を記憶する。各参照画像は、カメラ20に対する顔の向きがそれぞれ異なり、それぞれの顔はカメラ20を注視する目を含んでいる。参照画像記憶部2に記憶された複数の参照画像は、補正対象画像に最適な参照画像を選択するために用いられる。最適な参照画像を選択するには、参照画像記憶部2に数枚~100枚程度の参照画像を記憶するのが望ましい。後述するように、参照画像記憶部2に記憶される複数の参照画像は、それぞれ異なっている。参照画像記憶部2に新たな参照画像を記憶する際には、他の参照画像と顔位置や目位置が異なっているか否かの判定処理や、他の参照画像の特徴点との一致点数が所定の閾値以下であるか否かの判定処理を行う。
【0026】
参照画像記憶部2に記憶される参照画像は、ユーザがカメラ20を注視しながら顔の向きを複数通りに変化させた状態で撮影された撮影画像である。ユーザは、
図4の画像処理装置1の処理動作を開始するにあたって、自身で、カメラ20を注視しながら顔の向きを所定の範囲で動かす動作を行う必要がある。この動作は、基本的には一度だけ行えばよく、本明細書では準備段階と呼ぶ。
【0027】
取得部3は、カメラ20で撮影された顔を含む補正対象画像を取得する。カメラ20は、例えばPCの画面の脇に設置されたカメラを利用できる。補正対象画像は、ユーザの顔を撮影した顔画像を含んでいる。本明細書では、補正対象画像に含まれる顔を含む領域を顔領域と呼び、目を含む領域を目領域と呼ぶ。顔領域には目領域が含まれている。目領域は、まぶたも含む領域である。
【0028】
選択部4は、複数の参照画像の中から、補正対象画像との類似度が最大の参照画像を選択する。類似度とは、例えば、特徴点の一致点数を所定の閾値と比較することで判断される。類似度が最大とは、例えば、特徴点の一致点数が最大であることを意味する。
【0029】
合成部5は、選択部4で選択された参照画像内の目領域を補正対象画像に合成する。例えば、合成部5は、補正対象画像の目領域を、選択部4で選択された参照画像内の目領域に合わせて修正する。
【0030】
図4の画像処理装置1は、第1抽出部6と第2抽出部7の少なくとも一方を備えていてもよい。第1抽出部6は、複数の参照画像のそれぞれに含まれる顔領域と目領域を抽出する。第2抽出部7は、参照画像記憶部2に記憶された複数の参照画像に含まれる顔領域の特徴点を抽出する。
【0031】
図4の画像処理装置1は、ユーザ自身で顔の向きを動かして複数の参照画像を生成する準備段階の処理と、その後に行われるリアルタイム補正段階の処理を行う。
【0032】
図5は第1の実施形態による画像処理装置1の準備段階の処理動作を示すフローチャートである。まず、ユーザの顔をカメラ20で撮影する(ステップS1)。撮影された撮影画像は、参照画像として参照画像記憶部2に記憶される(ステップS2)。
【0033】
参照画像記憶部2に記憶された参照画像の数が、予め定めた制限数に到達したか否かを判定する(ステップS3)。まだ制限数に到達していない場合には、ユーザは顔をカメラ20に向けてカメラ20を注視したまま顔を動かして顔の向きを変更し(ステップS4)、その状態でユーザの顔をカメラ20で撮影する(ステップS1)。
【0034】
このように、ステップS1~S4の処理は、ステップS3で制限数に到達したと判定されるまで繰り返される。ステップS1~S4の処理を行っている最中には、ユーザはカメラ20を注視しながら、顔を左右に5~10度程度の範囲内で動かして、その間にカメラ20で連続して撮影を行う。カメラ20で撮影した複数の撮影画像は、参照画像群として参照画像記憶部2に記憶される。
【0035】
ステップS3で制限数に到達したと判定されると、参照画像記憶部2に記憶された参照画像群の中からいずれか一つの参照画像を読み出す(ステップS5)。そして、読み出した参照画像から顔領域と目領域を検出する(ステップS6)。ステップS6は準備段階の処理であり、実行処理時間の制約はないため、例えば、カーネギーメロン大学で開発されたOpenFaceのような公知の顔検出技術を利用して、参照画像から顔領域と目領域を検出してもよい。検出された顔領域と目領域は、参照画像と関連づけて参照画像記憶部2に記憶される。
【0036】
次に、参照画像の顔領域の特徴点を抽出する(ステップS7)。抽出された特徴点は、参照画像と関連づけて参照画像記憶部2に記憶される。
【0037】
次に、参照画像記憶部2に記憶されたすべての参照画像に対してステップS5~S7の処理を行ったか否かを判定する(ステップS8)。まだ、ステップS5~S7の処理を行っていない参照画像があれば、ステップS5~S7の処理を繰り返す。ステップS8ですべての参照画像についての処理を行ったと判定されると、
図5の処理を終了する。
【0038】
このように、
図5の準備段階の処理により、参照画像記憶部2に、ユーザがカメラ20を注視しながら顔の向きを変えて撮影した複数の参照画素からなる参照画像群が記憶される。準備段階の処理が終わると、その後の任意のタイミングで、リアルタイム補正段階の処理が行われる。準備段階で参照画像群、顔領域および目領域、特徴点に関するデータを予め生成して、参照画像記憶部2に記憶しておけば、その後の任意のタイミングで、速やかにリアルタイム補正段階の処理を実行できる。すなわち、準備段階の処理で生成された参照画像群、顔領域および目領域、特徴点に関するデータは、その後に行われるリアルタイム補正段階で繰り返し利用することができる。
【0039】
図6は第1の実施形態による画像処理装置1のリアルタイム補正段階の処理動作を示すフローチャートである。
図6のリアルタイム補正段階の処理は、
図4の取得部3、選択部4および合成部5が行う処理を示している。
【0040】
まず、カメラ20でユーザの顔を撮影して、その撮影画像である補正対象画像を取得する(ステップS11)。このステップS11の処理は、取得部3で行われる。なお、補正対象画像に映し込まれたユーザは、参照画像に映し込まれたユーザと同じである必要がある。
【0041】
次に、補正対象画像の特徴点を抽出する(ステップS12)。補正対象画像の特徴点の抽出には、種々の公知の手法を用いることができる。
【0042】
次に、ステップS12で抽出された補正対象画像の特徴点と、参照画像記憶部2に記憶された個々の参照画像の特徴点とを比較して、補正対象画像との類似度が最大の参照画像を選択する(ステップS13)。このステップS13の処理は、
図4の選択部4にて行われる。ステップS13の処理の具体的内容は後述する。
【0043】
次に、選択された参照画像の特徴点と補正対象画像の特徴点とを比較し、一致する点群の座標ペアを取得する(ステップS14)。ステップS14の処理は、補正対象画像と参照画像に含まれる目の領域を特定するために行われる。
【0044】
次に、一致する点群の座標ペアに基づいて、参照画像の目の領域を、補正対象画像の目の領域に当てはめるようにアフィン変換を行う(ステップS15)。アフィン変換とは、後述するように、例えば3×3の行列を用いて、画像の回転、拡大縮小、平行移動を行うものである。アフィン変換により、画像の台形変換なども行うことができる。
【0045】
次に、アフィン変換後の参照画像の目の領域を、補正対象画像の目の領域に合成する(ステップS16)。ここでは、補正対象画像の目の領域を、アフィン変換後の参照画像の目の領域に置換する処理などを行う。ステップS15とS16の処理は、
図4の合成部5にて行われる。
【0046】
図7A、
図7Bおよび
図7Cは、
図6のリアルタイム補正段階の処理を模式的に示す図である。
図7Aは参照画像記憶部2に記憶されている参照画像群の一例を示している。
図7Aは、カメラ20を注視した状態で顔を左(D1)に向けた参照画像と、顔を正面(D2)に向けてカメラ20を注視した参照画像と、カメラ20を注視した状態で顔を右(D3)に向けた参照画像とを示している。
【0047】
図7Bは、カメラ20で撮影されて取得部3で取得されるユーザの補正対象画像の一例を示している。補正対象画像ユーザは、必ずしもカメラ20を注視していないため、補正対象画像の視線はカメラ20を向いているとは限らない。
図7Bには、ユーザが顔を右(R)に向けた補正対象画像と、顔を正面(C)に向けた補正対象画像と、顔を左(L)に向けた補正対象画像とが図示されている。
【0048】
図7Cは、参照画像の目の領域を補正対象画像の目の領域に合成する例を示している。後述するように、ステップS13では、例えば、参照画像記憶部2に記憶された参照画像群の中から、補正対象画像の特徴点との一致点数の多い参照画像(
図7Cの例では
図7Aの右D3を向いた参照画像)を選択する。そして、選択された参照画像の目の領域を、補正対象画像の目の領域に合成する。
【0049】
ところで、参照画像記憶部2に記憶される参照画像の撮影条件と、補正対象画像の撮影条件とは、理想的には同じにするのが望ましい。撮影条件とは、カメラ20のレンズの焦点距離や露出条件などである。また、撮影するカメラ20も同一であるのが望ましい。また、カメラ20とユーザとの距離もできるだけ同じにするのが望ましい。
【0050】
このように、第1の実施形態による画像処理装置1は、準備段階の処理とリアルタイム補正段階の処理を行う。準備段階では、ユーザがカメラ20を注視しながら顔の向きを変化させて撮影された複数の参照画像を参照画像記憶部2に記憶する処理が行われる。リアルタイム補正段階では、ユーザの顔をカメラ20で撮影した補正対象画像の特徴点と、参照画像記憶部2に記憶されている個々の参照画像の特徴点とを比較して、最適な参照画像を選択する。次に、選択された参照画像の目領域を補正対象画像の目領域に合成する。これにより、カメラ20とユーザとの位置関係や、ユーザの顔の向きを予測する処理を行うことなく、ユーザがカメラ20に視線を向けたようなカメラ目線の画像をリアルタイムに表示できる。
【0051】
(第2の実施形態)
第2の実施形態は、新たな撮影画像を参照画像記憶部2に記憶するか否かを判断する手法に特徴がある。
【0052】
図8は第2の実施形態による画像処理装置1の概略構成を示すブロック図である。
図8の画像処理装置1は、
図4の構成に加えて、参照画像比較部8を備えている。参照画像比較部8は、新たに撮影された撮影画像に含まれる目領域と、参照画像記憶部2に記憶された個々の参照画像に含まれる目領域との類似度を比較する。参照画像記憶部2は、参照画像比較部8にて類似度が所定の閾値以下と判定された撮影画像を新たな参照画像として記憶する。類似度は、例えば、撮影画像の目領域の中心位置と参照画像の目領域の中心位置との距離に基づいて設定される。
【0053】
図9は第2の実施形態による画像処理装置1の準備段階の処理動作を示すフローチャートである。上述したように、準備段階では、ユーザがカメラ20を注視した状態で、ユーザの顔をカメラ20で撮影する(ステップS21)、撮影画像の顔領域と目領域を検出する(ステップS22)。このステップS22の処理は、
図8の第1抽出部6にて行われる。
【0054】
次に、ステップS21で新たに撮影された撮影画像と、参照画像記憶部2にすでに記憶されている個々の参照画像との類似性を比較する(ステップS23)。このステップS23では、ステップS22で検出された目領域を、参照画像記憶部2にすでに記憶されている個々の参照画像の目領域と比較することで、類似性を比較する。ステップS23の処理の詳細は後述する。
【0055】
次に、ステップS23の比較結果に基づいて、ステップS21で新たに撮影された撮影画像と、参照画像記憶部2にすでに記憶されている個々の参照画像との類似判定を行う(ステップS24)。類似している(類似判定結果が真)と判定されると、ステップS21で撮影された撮影画像を参照画像記憶部2に記憶せずに、再度ステップS21以降の処理を行う。ステップS23とS24の処理を設けることで、類似している参照画像が重複して参照画像記憶部2に記憶されるのを防止できる。
【0056】
ステップS24で類似していない(類似判定結果が偽)と判定されると、ステップS21で撮影された撮影画像を新たな参照画像として参照画像記憶部2に記憶するとともに、撮影画像の顔領域と目領域の情報も参照画像記憶部2に記憶する(ステップS25)。
【0057】
その後のステップS26~S30の処理は、
図5のステップS3~S5、S7およびS8の処理と同様であるため、詳細な説明を割愛する。
【0058】
図10は
図9のステップS23の詳細な処理手順を示すフローチャートである。まず、参照画像記憶部2に記憶されている参照画像群の中から、いずれか一つの参照画像を読み出す(ステップS31)。次に、
図9のステップS21で撮影された撮影画像と、ステップS31で読み出された参照画像とで、目領域を比較し、類似度を算定する(ステップS32)。そして、類似度が所定の閾値以下か否かを判定する(ステップS33)。ステップS32では、例えば、撮影画像と参照画像の目領域の中心位置同士の距離を類似度として求める。ステップS33では、類似度が閾値以下であれば、類似していると判定し、類似度が閾値より大きければ、類似していないと判定する。
【0059】
類似度が閾値より大きいと判定された場合は、撮影画像と参照画像が類似していないことを示しており、この場合は、参照画像記憶部2に記憶されているすべての参照画像との比較を行ったか否かを判定する(ステップS34)。まだ、比較を行っていない参照画像があれば、ステップS31以降の処理を繰り返す。ステップS34で、すべての参照画像との比較を行ったと判定されると、類似している参照画像はないと判断して、類似判定結果を偽として(ステップS35)、
図10の処理を終了する。
【0060】
一方、ステップS33で、類似度が閾値以下と判定されると、撮影画像と参照画像が類似していると判断して、類似判定結果を真として(ステップS36)、
図10の処理を終了する。
【0061】
図10の処理で、類似判定結果が偽の場合は、類似している参照画像が参照画像記憶部2に記憶されていないことを意味しているため、新たな撮影画像を参照画像として、撮影画像内の顔領域と目領域の情報とともに、参照画像記憶部2に記憶される(
図9のステップS25)。一方、
図10の処理で、類似判定結果が真の場合は、類似している参照画像が参照画像記憶部2に記憶されていることを意味しているため、
図9のステップS21に戻って、再度ユーザが顔の向きを変えた状態で撮影を行う。
【0062】
このように、第2の実施形態では、類似している複数の参照画像が参照画像記憶部2に重複して記憶されることを防止でき、参照画像記憶部2に記憶される参照画像の数を絞り込むことができ、参照画像記憶部2内の参照画像群との比較を迅速に行うことができる。
【0063】
(第3の実施形態)
第3の実施形態は、第2の実施形態とは異なる手法で、参照画像記憶部2に記憶する参照画像を選別するものである。
【0064】
図11は第3の実施形態による画像処理装置1の概略構成を示すブロック図である。
図11の画像処理装置1は、
図4の構成に加えて、第1カウント部9を備えている。第1カウント部9は、新たに撮影された撮影画像の特徴点と、参照画像記憶部2に記憶されている個々の参照画像の特徴点との一致点数をカウントする。参照画像記憶部2は、第1カウント部9でカウントされた一致点数が所定の閾値以下と判定された撮影画像を新たな参照画像として記憶する。撮影画像と各参照画像の特徴点同士の一致点数が閾値以下の場合は、撮影画像がどの参照画像にも類似していないと判定できることから、一致点数が閾値以下の場合の撮影画像を新たな参照画像として参照画像記憶部2に記憶する。
【0065】
図12は第3の実施形態による画像処理装置1の準備段階の処理動作を示すフローチャートである。上述したように、準備段階において、顔の向きを変えて新たに撮影するたびに(ステップS41)、撮影画像の特徴点を抽出する(ステップS42)。このステップS42の処理は、
図11の第2抽出部7にて行われる。
【0066】
次に、ステップS41で撮影された撮影画像と、参照画像記憶部2に記憶された個々の参照画像との類似性を比較する(ステップS43)。このステップS43では、後述するように、特徴点同士の一致点数が所定の閾値以下か否かにより、類似性を判定する。
【0067】
次に、ステップS43の比較結果に基づいて、ステップS41で新たに撮影された撮影画像と、参照画像記憶部2にすでに記憶されている個々の参照画像との類似判定を行う(ステップS44)。類似していると判定されると、ステップS41で撮影された撮影画像を参照画像記憶部2に記憶せずに、再度ステップS41以降の処理を行う。ステップS43とS44の処理を設けることで、類似している参照画像が重複して参照画像記憶部2に記憶されるのを防止できる。
【0068】
ステップS44で類似していないと判定されると、撮影画像を新たな参照画像として参照画像記憶部2に記憶するとともに、撮影画像の特徴点の情報も参照画像記憶部2に記憶する(ステップS45)。
【0069】
その後のステップS46~S50の処理は、
図5のステップS3~S6、およびS8の処理と同様であるため、詳細な説明を割愛する。
【0070】
図13は
図12のステップS43の詳細な処理手順を示すフローチャートである。まず、参照画像記憶部2に記憶されている参照画像群の中から、いずれか一つの参照画像の特徴点情報を読み出す(ステップS51)。次に、
図12のステップS41で撮影された撮影画像と、ステップS51で読み出された参照画像とで、特徴点同士の一致点を検出する(ステップS52)。そして、特徴点同士の一致点数が所定の閾値以上か否かを判定する(ステップS53)。
【0071】
一致点数が閾値以上と判定されると、類似判定結果は真、すなわち類似していると判定し(ステップS54)、
図13の処理を終了して、
図12のステップS41以降の処理を行う。一方、ステップS53で一致点数が閾値未満と判定されると、参照画像は類似していないことを意味している。この場合、参照画像記憶部2に記憶されているすべての参照画像との比較を行ったか否かを判定し(ステップS55)、まだ比較を行っていない参照画像があれば、ステップS51以降の処理を繰り返す。参照画像記憶部2に記憶されているすべての参照画像との比較を行った場合は、類似判定結果は偽、すなわち類似していないと判定し(ステップS56)、
図12のステップS45以降の処理を行う。
【0072】
このように、第3の実施形態では、新たな撮影画像と各参照画像とで特徴点の一致点数を検出するため、参照画像記憶部2に新たな撮影画像を記憶するか否かを迅速かつ的確に判断できる。
【0073】
(第4の実施形態)
第4の実施形態は、リアルタイム補正段階の処理動作を具体化したものである。
図14は第4の実施形態による画像処理装置1の概略構成を示すブロック図である。
図14の画像処理装置1は、
図4の構成に加えて、第2カウント部10を備えている。第2カウント部10は、参照画像記憶部2に記憶された複数の参照画像を一ずつ選択して、補正対象画像との特徴点の一致点数をカウントする。選択部4は、複数の参照画像の中で、第2カウント部10でカウントされた一致点数が最大の参照画像を選択する。
【0074】
第4の実施形態による画像処理装置1は、第1~第3の実施形態のいずれかで説明した準備段階の処理を行う。準備段階の処理内容によって、
図14のブロック構成に
図8の参照画像比較部8や、
図11の第1カウント部9が追加される場合がありうる。
【0075】
準備段階が終わった後に行われるリアルタイム補正段階では、
図6に示した処理動作を行う。
図6のステップS13の詳細内容が第4の実施形態の技術的特徴である。
【0076】
図15は
図6のステップS13の詳細な処理動作を示す第4の実施形態のフローチャートである。まず、最大一致点数を表す変数をゼロに初期設定し、最適な参照画像の種類を表す変数を参照画像無しに初期設定する(ステップS61)。
【0077】
次に、参照画像記憶部2に記憶された複数の参照画像のうち一つを読み出す(ステップS62)。次に、読み出された参照画像の特徴点と、補正対象画像の特徴点との一致点数をカウントする(ステップS63)。このカウントは、第2カウント部10にて行われる。
【0078】
次に、カウントされた一致点数が最大一致点数より大きいか否かを判定する(ステップS64)。大きいと判定されると、カウントされた一致点数を最大一致点数とするとともに、ステップS62で読み出された参照画像を最適な参照画像とする(ステップS65)。これにより、ステップS63でカウントされた一致点数が最大一致点数となり、ステップS62で読み出された参照画像が最適な参照画像となる。
【0079】
ステップS65の処理が終了した場合、またはステップS64で一致点数が最大一致点数以下と判定された場合は、参照画像記憶部2に記憶されたすべての参照画像との特徴点の一致点数の比較を行ったか否かを判定する(ステップS66)。まだ、比較を行っていない参照画像が存在すれば、ステップS62以降の処理を繰り返す。すべての参照画像との特徴点の一致点数の比較を行った場合は、その時点で最適な参照画像を選択部4は選択する(ステップS67)。
【0080】
このように、第4の実施形態では、ユーザをカメラ20で撮影した補正対象画像が取得された場合には、参照画像記憶部2に記憶された個々の参照画像との間で、特徴点同士の一致点数を比較して最適な参照画像を選択するため、迅速に最適な参照画像を選択できる。
【0081】
(第5の実施形態)
第5の実施形態は、リアルタイム補正段階の処理内容が第4の実施形態とは異なっている。
図16は第5の実施形態による画像処理装置1の概略構成を示すブロック図である。
図16の画像処理装置1は、
図4の構成に加えて、第1計算部11と第2計算部12とを備えている。
【0082】
第1計算部11は、参照画像記憶部2に記憶された複数の参照画像を一つずつ選択して、選択された参照画像の目領域を、補正対象画像の目領域に当てはめるためのアフィン行列を求める。アフィン行列は、回転、拡大縮小、平行移動などを行う行列である。
【0083】
第2計算部12は、アフィン行列に基づいて回転成分の強さを計算する。回転成分の強さによって、補正対象画像と参照画像との類似度を判定できる。より具体的には、回転成分の強さが低いほど、補正対象画像と参照画像は類似していると判定できる。
【0084】
第5の実施形態による画像処理装置1は、第1~第3の実施形態のいずれかで説明した準備段階の処理を行う。準備段階の処理内容によって、
図16のブロック構成に
図8の参照画像比較部8や、
図11の第1カウント部9が追加される場合がありうる。
【0085】
準備段階が終わった後に行われるリアルタイム補正段階では、
図6に示した処理動作を行う。
図6のステップS13の詳細内容が第5の実施形態の技術的特徴である。
【0086】
図17は
図6のステップS13の詳細な処理動作を示す第5の実施形態のフローチャートである。まず、最小誤差を表す変数を無限大に初期設定し、最適な参照画像の種類を表す変数を参照画像無しに初期設定する(ステップS71)。
【0087】
次に、参照画像記憶部2に記憶された複数の参照画像のうち一つを読み出す(ステップS72)。次に、読み出された参照画像の特徴点と、補正対象画像の特徴点とを比較し、一致する点群の座標ペアを取得する(ステップS73)。次に、一致する点群の座標ペアに基づいて、参照画像内の目領域を、補正対象画像内の目領域に当てはめるためのアフィン行列Tを求める(ステップS74)。アフィン行列Tは、例えば、以下の式(1)に示す3×3の行列で表される。
【数1】
【0088】
次に、アフィン行列Tの回転成分の強さDを、例えば以下の式(2)に基づいて計算する(ステップS75)。
D=|1-t11|+|t21|+|t12|+|1-t22| …(2)
【0089】
次に、Dが最小誤差未満か否かを判定する(ステップS76)。Dが最小誤差未満であれば、Dを最小誤差とし、ステップS72で参照画像記憶部2から読み出した参照画像を最適な参照画像とする(ステップS77)。
【0090】
ステップS77の処理が終了した場合、またはステップS76でDが最小誤差以上と判定された場合、参照画像記憶部2内のすべての参照画像との比較を行ったか否かを判定する(ステップS78)。まだ、比較を行っていない参照画像が存在すれば、ステップS72以降の処理を繰り返す。参照画像記憶部2内のすべての参照画像との比較を行った場合、その時点で最適な参照画像を選択部4は選択する(ステップS79)。
【0091】
このように、第5の実施形態では、参照画像内の目領域を、補正対象画像内の目領域に当てはめるためのアフィン行列Tの回転成分の強さによって、最適な参照画像を選択するため、迅速に最適な参照画像を選択できる。
【0092】
(第6の実施形態)
第6の実施形態は、ユーザがまばたきをした場合の取扱である。まばたきをした補正対象画像の目領域に参照画像の目領域を合成すると、まばたきをして目を閉じたにもかかわらず、目を開いた画像に補正されてしまい、違和感のある画像が得られる。そこで、第6の実施形態では、まばたきをしたことを検出すると、参照画像による合成処理を行わないようにする。
【0093】
図18は第6の実施形態による画像処理装置1の概略構成を示すブロック図である。
図18の画像処理装置1は、
図4の構成に加えて、まばたき検出部13を備えている。まばたき検出部13は、補正対象画像の目領域内の輝度情報に基づいて、まばたきを検出する。合成部5は、まばたき検出部13にてまばたきが検出されない場合には、選択された参照画像内の目領域を補正対象画像に合成し、まばたき検出部13にてまばたきが検出された場合には、選択された参照画像内の目領域による合成を中止する。
【0094】
図18の画像処理装置1は、輝度カウント部14を備えていてもよい。輝度カウント部14は補正対象画像の目領域内の画素ごとに輝度値をカウントする。まばたき検出部13は、輝度値が所定の基準輝度以下のカウント数が所定値以上のときに、まばたきを検出する。
【0095】
第6の実施形態による画像処理装置1は、第1~第3の実施形態のいずれかで説明した準備段階の処理を行う。準備段階の処理内容によって、
図18のブロック構成に
図8の参照画像比較部8や、
図11の第1カウント部9が追加される場合がありうる。
【0096】
図19は第6の実施形態による画像処理装置1が行うリアルタイム補正段階の処理動作を示すフローチャートである。
図19のステップS81~S85の処理は、
図6のステップS11~S15の処理と同様である。
【0097】
ステップS85で、参照画像の目領域をアフィン変換した後、補正対象画像の目領域に基づいて、まばたき検出処理を行う(ステップS86)。このステップS86の処理は、
図18の輝度カウント部14とまばたき検出部13にて行われるが、その処理の詳細は後述する。
【0098】
ステップS86の処理に基づいて、まばたきが検出されたか否かを判定する(ステップS87)。まばたきが検出されない場合は、
図6のステップS16と同様に、アフィン変換後の参照画像の目の領域を、補正対象画像の目の領域に合成して(ステップS88)、
図19の処理を終了する。一方、ステップS87でまばたきが検出された場合は、補正対象画像の目領域をそのままにして(ステップS89)、処理を終了する。
【0099】
図20は
図19のステップS83の処理の詳細を示すフローチャートである。まず、補正対象画像の目領域内の各画素の輝度値を取得し、輝度値別にカウントする(ステップS91)。より具体的には、目領域内の各画素について、輝度値別にカウントしたヒストグラムを生成する。
【0100】
図21Aおよび
図21Bはヒストグラムの一例を示す図である。
図21Aは、ユーザが目を開いている状態でのヒストグラムを示し、
図21Bは、ユーザがまばたきをして目を閉じている状態でのヒストグラムを示している。目を開いている場合は、眼球があるために、小さい輝度値の割合が多くなる。目を閉じている場合は、眼球が皮膚で覆われるため、小さい輝度値の割合が低くなる。
【0101】
そこで、予め定めた基準輝度を下回る輝度値のカウント数を合計する(ステップS92)。ステップS92で合計したカウント数が所定値以下か否かを判定する(ステップS93)。所定値以下であれば、まばたきが検出されなかったと判断し(ステップS94)、所定値より大きければ、まばたきが検出されたと判断する(ステップS95)。
【0102】
このように、第6の実施形態では、ユーザがまばたきをしたことを検出し、まばたきをして目を閉じた場合は参照画像による目領域の合成を行わないようにしたため、まばたきをしたにもかかわらず、まばたきのない画像に変換させるおそれがなくなり、違和感を生じさせないように補正対象画像を補正できる。
【0103】
(第7の実施形態)
上述した第1~第6の実施形態で説明した画像処理装置1は、遠隔会話システムに適用可能である。遠隔会話システムは、オンライン会議システムやテレビ電話システム、スマートフォン等を用いたコミュニケーションツールなども含む概念である。
【0104】
図22は遠隔会話システム21の概略構成を示すブロック図である。
図22の遠隔会話システム21は、第1~第6の実施形態で説明した画像処理装置1と、カメラ20と、表示装置22と、通信装置23とを備えている。
図22の遠隔会話システム21は、PC、タブレット、スマートフォン、専用端末などに組み込むことが可能である。例えば、PCに
図22の遠隔会話システム21を組み込む場合、PCのモニタと、モニタの脇に設置されたカメラ20と、PCのCPU(Central Processing Unit)やGPU(Graphic Processing Unit)と、PCの通信用チップとで、
図22と同様の構成を実現できる。CPUやGPUが画像処理装置1の処理動作を行うことができる。また、スマートフォンやタブレットも、内蔵するAP(Application Processor)やCPU、GPUで画像処理装置1の処理動作を行うことができる。
【0105】
上述した実施形態で説明した画像処理装置1の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、画像処理装置1の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0106】
また、画像処理装置1の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0107】
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【0108】
1 画像処理装置、2 参照画像記憶部、3 取得部、4 選択部、5 合成部、6 第1抽出部、7 第2抽出部、8 参照画像比較部、9 第1カウント部、10 第2カウント部、11 第1計算部、12 第2計算部、13 検出部、14 輝度カウント部、20 カメラ、21 遠隔会話システム、22 表示装置、23 通信装置