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

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

▶ キヤノン株式会社の特許一覧

<>
  • 特許-画像処理装置および画像処理方法 図1
  • 特許-画像処理装置および画像処理方法 図2
  • 特許-画像処理装置および画像処理方法 図3
  • 特許-画像処理装置および画像処理方法 図4
  • 特許-画像処理装置および画像処理方法 図5
  • 特許-画像処理装置および画像処理方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-21
(45)【発行日】2024-11-29
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
   H04N 23/60 20230101AFI20241122BHJP
   H04N 23/63 20230101ALI20241122BHJP
   H04N 23/45 20230101ALI20241122BHJP
   G03B 15/00 20210101ALI20241122BHJP
【FI】
H04N23/60 500
H04N23/63 110
H04N23/45
G03B15/00 Q
【請求項の数】 13
(21)【出願番号】P 2021017739
(22)【出願日】2021-02-05
(65)【公開番号】P2022120681
(43)【公開日】2022-08-18
【審査請求日】2024-01-29
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】中川 浩一
【審査官】奥田 雄介
(56)【参考文献】
【文献】特開2010-74693(JP,A)
【文献】国際公開第2018/234925(WO,A1)
【文献】特開2009-169740(JP,A)
【文献】特開2012-43151(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
H04N 23/45
H04N 23/63
G03B 15/00
(57)【特許請求の範囲】
【請求項1】
被写体を撮像して得られた第1の画像データと、前記被写体を撮像した撮像者とその周囲を撮像して得られた第2の画像データと、前記被写体を撮像した撮像装置の外観を示す第3の画像データと、を取得する取得手段と、
前記第1の画像データ、前記第2の画像データ、および前記第3の画像データを入力データとする学習済み機械学習モデルを用いて、前記第1の画像データにおける写り込みを軽減した画像データを取得する画像処理手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記学習済み機械学習モデルを格納する記憶手段をさらに有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像処理手段は、前記学習済み機械学習モデルを外部装置からダウンロードして用いることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記画像処理手段は、前記学習済み機械学習モデルを有する外部装置に前記第1の画像データ、前記第2の画像データ、および前記第3の画像データを送信し、前記外部装置から前記写り込みを軽減した画像データを取得することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記学習済み機械学習モデルが、前記第1の画像データ、前記第2の画像データ、および前記第3の画像データを入力データ、前記第1の画像データに対応する、写り込みのない画像データを教師データとして学習を行った機械学習モデルであることを特徴とする請求項1から4のいずれか1項に記載の画像処理装置。
【請求項6】
前記第1の画像データと、前記第2の画像データとが、異なる撮像装置によって同じタイミングで撮像された画像データであることを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
【請求項7】
第1の撮像手段と、
前記第1の撮像手段とは撮像方向が異なる第2の撮像手段と、
前記第3の画像データを格納する記憶手段とをさらに有し、
前記第1の撮像手段で得られる画像データを前記第1の画像データ、前記第2の撮像手段で得られる画像データを前記第2の画像データとして用いる、
ことを特徴とする、請求項1から6のいずれか1項に記載の画像処理装置。
【請求項8】
前記画像処理手段は、前記第1の画像データに基づく動画像と、前記第2の画像データに基づく動画像とを表示装置に表示させることを特徴とする請求項1から7のいずれか1項に記載の画像処理装置。
【請求項9】
前記画像処理手段は、前記第1の画像データが表す第1の画像に、前記第2の画像データが表す第2の画像と類似した領域が含まれていると判定される場合に、前記第1の画像データに写り込みが生じていると判定することを特徴とする請求項1から8のいずれか1項に記載の画像処理装置。
【請求項10】
前記画像処理手段は、前記第1の画像データが表す第1の画像に、前記第2の画像データが表す第2の画像と類似した領域が含まれ、前記類似した領域で顔領域が検出され、前記第2の画像で顔領域が検出されていない場合に、前記第2の撮像手段で顔が撮影されるように位置を変更するよう前記画像処理装置のユーザに促す指標を表示装置に表示することを特徴とする請求項7に記載の画像処理装置。
【請求項11】
前記指標が、前記第2の画像データに基づく動画像に重畳して表示装置に表示されることを特徴とする請求項10に記載の画像処理装置。
【請求項12】
画像処理装置が実行する画像処理方法であって、
被写体を撮像して得られた第1の画像データと、前記被写体を撮像した撮像者とその周囲を撮像して得られた第2の画像データと、前記被写体を撮像した撮像装置の外観を示す第3の画像データと、を取得することと、
前記第1の画像データ、前記第2の画像データ、および前記第3の画像データを入力データとする学習済み機械学習モデルを用いて、前記第1の画像データにおける写り込みを軽減した画像データを取得することと、
を有することを特徴とする画像処理方法。
【請求項13】
コンピュータを、請求項1から11のいずれか1項に記載の画像処理装置が有する取得手段および画像処理手段として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置および画像処理方法に関し、特には撮像画像における映り込みを除去する技術に関する。
【背景技術】
【0002】
ガラス越しに撮像した画像や、光沢のある被写体を撮像した画像に、撮像者や周囲の物体が写り込んでしまうことがある。このような写り込みは、意図した被写体を見えづらくするだけでなく、個人情報の流出などの原因にもなりうる。
【0003】
非特許文献1には、ガラス越しに撮像された画像への映り込みを、遠景と近景の視差などを利用して除去する技術について説明されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Tianfan Xue, Michael Rubinstein, Ce Liu, William T. Freeman, ”A Computational Approach for Obstruction-Free Photography”, ACM Transactions on Graphics, vol. 34, no. 4 (Proc. SIGGRAPH), August 2015
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載された技術は、遠景と近景が存在するシーンを、複数の視点から撮像した画像を必要とするという制約がある。
【0006】
本発明は、撮像画像における写り込みを軽減する画像処理装置および画像処理方法において、撮像シーンや撮像方法に対する制約を軽減することを1つの目的とする。
【課題を解決するための手段】
【0007】
上述の目的は、被写体を撮像して得られた第1の画像データと、被写体を撮像した撮像者とその周囲を撮像して得られた第2の画像データと、被写体を撮像した撮像装置の外観を示す第3の画像データと、を取得する取得手段と、第1の画像データ、第2の画像データ、および第3の画像データを入力データとする学習済み機械学習モデルを用いて、第1の画像データにおける写り込みを軽減した画像データを取得する画像処理手段と、を有することを特徴とする画像処理装置によって達成される。
【発明の効果】
【0008】
本発明によれば、撮像画像における写り込みを軽減する画像処理装置および画像処理方法において、撮像シーンや撮像方法に対する制約を軽減することができる。
【図面の簡単な説明】
【0009】
図1】本発明の実施形態に係る画像処理装置の一例としてスマートフォンの構成例を示すブロック図
図2図1のスマートフォンの外観例を示す図
図3】本実施形態における学習済み機械学習モデル用いた映り込み軽減処理の概念図
図4】(a)および(c)~(f)は、本発明の実施形態に係る映り込み軽減撮像アプリケーションの表示例を示す図、(b)は被写体の外観例を示す図
図5】本発明の実施形態に係る映り込み軽減撮像アプリケーションの表示例を示す図
図6】本発明の実施形態に係るスマートフォンの写り込み軽減モードにおける動作に関するフローチャート
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
なお、以下の実施形態では、本発明を内側(撮像者側)に向いたカメラ(インカメラ)と外側(被写体側)を向いたカメラ(アウトカメラ)を備えるスマートフォンで実施する場合に関して説明する。しかし、本発明は、タブレット端末やノートパソコンのようなインカメラとアウトカメラを備える他の電子機器でも実施可能である。また、インカメラとアウトカメラは着脱可能な外部機器であってもよい。
【0012】
さらに、本発明に撮像機能は必須ではなく、被写体の撮像画像と、撮像時の撮像者の画像のデータを何らかの方法によって取得可能な任意の電子機器もしくはシステムでも実施可能である。例えば、これらの画像データを通信可能に接続された外部機器から取得可能な電子機器においても本発明を実施可能である。
【0013】
なお、被写体の撮像画像と、撮像時の撮像者の画像とは同じタイミングで撮像されることが理想的であるが、短時間(例えば1秒以内、数秒以内、など)であれば撮像タイミングが異なってもよい。ここで、同じタイミングとは、個々の画像を撮像する撮像装置に対して撮像指示が実質的に同時に出力されること、もしくは撮像の露光期間が重複していることであってよい。
【0014】
図1は、本発明に係る画像処理装置の一例としてのをスマートフォン100の構成例を、機能ブロックによって模式的に示した図である。
内部バス130は、データ信号線、制御信号線などを有し、接続された機能ブロック間でのデータや制御信号の通信を実現する。
【0015】
CPU101は主制御部であり、例えば不揮発性メモリ103に格納されるプログラム(OS、アプリケーションなど)をメモリ102にロードして実行することによって各機能ブロックの動作を制御し、スマートフォン100の様々な機能を実現する。
【0016】
メモリ102は例えばRAMであり、主記憶装置、ワークメモリ、バッファメモリ、ビデオメモリなどとして用いられる。
【0017】
不揮発性メモリ103は例えば電気的に書き換え可能なROMである。不揮発性メモリ103には、CPU101が実行するためのプログラム、各種の設定値、GUIデータなどのシステムデータと、ユーザが撮像した静止画や動画のデータ、アプリケーションなどのユーザデータとが記憶される。
【0018】
画像処理部104は、CPU101の制御により、アウトカメラ107、標準インカメラ109、広角インカメラ110による撮像で得られた画像データ、または不揮発性メモリ103に格納された画像データに対して、様々な画像処理を適用する。画像処理部104は例えば特定の機能を実現するように設計されたASICのような専用のハードウェア回路であってよい。あるいは、画像処理104は、DSPのようなプログラマブルプロセッサが不揮発性メモリ103に格納されたプログラムを実行することで特定の機能を実現する構成であってもよい。また、画像処理部104には、ディープラーニングなどの機械学習に必要な演算を高速に実行するための専用回路が含まれていてもよい。また、処理の内容によってはCPU101がプログラムを実行することによって画像処理部104の代わりに画像処理を適用してもよい。
【0019】
ここで、画像処理部104が適用する画像処理には、前処理、色補間処理、補正処理、検出処理、データ加工処理、評価値算出処理、特殊効果処理などが含まれる。
前処理には、ノイズ低減、欠陥画素補正、A/D変換、D/A変換などが含まれる。
色補間処理は、撮像時に得られない色成分の値を補間する処理であり、デモザイク処理や同時化処理とも呼ばれる。
補正処理には、ホワイトバランス調整、階調補正(ガンマ処理)、光学系の光学収差や周辺減光の影響を補正する処理、色を補正する処理などが含まれる。
検出処理には、特徴領域(たとえば顔領域や人体領域)やその動きの検出、人物の認識処理などが含まれる。
データ加工処理には、合成処理、スケーリング処理、符号化および復号処理、ヘッダ情報生成処理などが含まれる。
評価値算出処理には、自動焦点検出(AF)に用いる信号や評価値の生成、自動露出制御(AE)に用いる評価値の算出処理などが含まれる。
特殊効果処理には、ぼかしの付加、色調の変更、リライティング処理などが含まれる。なお、これらは画像処理部104が適用可能な画像処理の例示であり、画像処理部104が適用する画像処理を限定するものではない。
【0020】
ディスプレイ105は、例えばタッチ液晶ディスプレイである。ディスプレイ105はCPU101の制御により、OSやアプリケーションのGUI(Graphical User Interface)画像(アイコン、ウィンドウ、ソフトウェアキーなど)や、カメラで撮像された画像などを表示する。
【0021】
CPU101は、表示用データを生成し、メモリ102のビデオメモリ領域に格納する。ディスプレイ105は表示用データに基づいて映像信号を生成し、表示パネルに表示する。なお、映像信号を外部ディスプレイに供給してもよい。
【0022】
操作部106は、ボタン、スイッチ(ハードウェアもしくはソフトウェア)や、タッチパネルなど、ユーザが操作可能な構成の総称である。CPU101は、操作部106を監視し、操作対象や操作内容に応じた動作を実行する。なお、ディスプレイ105へのタッチ操作についてCPU101は、タッチ位置の検出および予め定められたタッチ操作(タップ、ドラッグ、ピンチ、スワイプなど)の認識を行う。外部接続されたキーボードやマウスなどの入力デバイスへの操作についてもCPU101が検出する。
【0023】
スマートフォン100は、1つのアウトカメラ107と、2つのインカメラ109および110を有している。2つのインカメラ109および110は画角の異なる単焦点レンズを有しており、インカメラ110のレンズはインカメラ109のレンズよりも画角が広い。そのため本明細書では標準インカメラ109、広角インカメラ110と呼ぶ。しかし、標準、広角は2つのインカメラの画角の関係を表すものであり、特定の画角を意図している訳ではない。
【0024】
アウトカメラ107は、例えばCCD/CMOSイメージセンサである撮像素子、撮像光学系(レンズ)、シャッタ、絞り、焦点検出回路、A/D変換器などを有するカメラユニットである。アウトカメラ107のレンズはズームレンズであっても単焦点レンズであってもよい。また、レンズはフォーカスレンズを含んでいる。アウトカメラ107は静止画および動画の撮像に対応している。撮像によって得られた画像データは画像処理部104に送信され、予め定められた形式のデータファイルに格納されて不揮発性メモリ103に記録される。アウトカメラ107は、ディスプレイ105の表示面をスマートフォン100の表面とすると、スマートフォン100の裏面に設けられる。
【0025】
発光部108は、例えば1つ以上の発光素子(例えばLED)を有する補助光源である。撮像時にフラッシュまたはビデオライトとして用いられる。発光部108は光の色を調整可能であってもよい。
【0026】
標準インカメラ109および広角インカメラ110は、単焦点レンズを有するアウトカメラ107と同様の構成を有するカメラユニットである。標準インカメラ109および広角インカメラ110は、スマートフォン100の表面に設けられる。したがって、アウトカメラ107と、2つのインカメラ109、110とは、撮像方向が180°異なる。
【0027】
通信I/F111は、有線もしくは無線により通信可能に接続された外部機器と通信するためのインタフェースである。通信I/F111は複数の通信規格をサポートすることができる。また、外部機器は通信I/F111に直接接続されてもよいし、ネットワーク112を通じて接続されてもよい。
【0028】
図2はスマートフォン100の外観例を示す図であり、図2(a)は、ディスプレイ105の表示画面が存在する面(以降、表面またはディスプレイ面という)の平面図である。また、図2(b)は、表面に平行な面(裏面)の平面図である。図2において、図1に示した構成は図1と同じ参照数字を付してある。
【0029】
本実施形態のスマートフォン100は、アウトカメラ107を用いた撮像時に、写り込み軽減モードを設定可能である。写り込み軽減モードが設定されている場合、アウトカメラ107での撮像と並行してインカメラの1つ(例えば広角インカメラ110)でも撮像を行う。そして、広角インカメラ110で撮像した撮像者の画像を用いて、アウトカメラ107撮像した被写体の画像における写り込みを軽減する。
【0030】
写り込み軽減モードは、アウトカメラ107およびインカメラ110を用いた撮像が可能なアプリケーションの画面に含まれるGUIの操作を通じてユーザが設定することができる。あるいは、特定のアプリケーションについて起動時に写り込み軽減モードがデフォルトで設定されるようになっていてもよい。また、撮像スタンバイ状態でEVF表示用に撮像される動画を画像処理部104で解析し、写り込みが検出された場合に自動的に写り込み軽減モードを設定するようにしてもよい。
【0031】
以下では一例として、写り込み軽減モードでの撮像用のアプリケーションによって写り込み軽減処理が実行されるものとして説明する。しかし、写り込み軽減処理は汎用カメラアプリケーションの1つの機能として実装されてもよいし、OSが提供する機能であってもよい。
【0032】
アウトカメラ107で撮像された画像に対する映り込み軽減処理は、一例としてニューラルネットワークによって実装した学習済み機械学習モデルを用いる。図3は、学習済みの機械学習モデル302を用いた写り込み軽減処理の概念図である。
【0033】
機械学習モデル302は、
・アウトカメラ107で被写体を撮像して得られた第1の画像データ(被写体画像)、
・広角インカメラ110で被写体を撮像した撮像者とその周囲を撮像して得られた第2の画像データ(撮像者画像)、
・被写体を撮像した撮像装置(ここではスマートフォン100)の外観を示す第3の画像データ(装置画像)、
を入力データとし、写り込みを軽減した被写体画像を出力する。なお、スマートフォン100の外観画像は、スマートフォン100の背面を撮像した画像であり、例えば不揮発性メモリ103に予め記憶しておくことができる。
【0034】
なお、機械学習モデル302は不揮発性メモリ103に記憶しておいてもよいし、スマートフォン100が通信可能な外部装置が有していてもよい。機械学習モデル302が外部装置に存在する場合、通信I/F111を通じてスマートフォン100にダウンロードして用いてもよい。また、ダウンロードする代わりに入力データ301を外部装置に送信し、機械学習モデル302の演算は外部装置が実施してもよい。機械学習モデル302の演算を外部装置が実施する場合、スマートフォン100は、演算結果(写り込みが軽減された被写体画像)を外部装置から受信する。
【0035】
ここでは、学習モデル302が不揮発性メモリ103に格納されているか、外部装置からダウンロードされるかして、スマートフォン100に存在するものとする。
【0036】
なお、機械学習モデル302の実装方法(ニューラルネットワークの構成および層数、活性化関数など)や学習方法(損失関数、最適化アルゴリズムなど)は公知の技術を用いることができる。また、本発明は機械学習モデル302の実装方法や学習方法に依存しない。したがって、ここでは、機械学習モデル302の学習方法の一例について簡単に説明するにとどめ、他の詳細については説明を省略する。
【0037】
機械学習モデル302は、教師あり学習を用いて学習することができる。具体的には、アウトカメラ107で撮像された、写り込みのある被写体画像と、広角インカメラ110で撮像された撮像者画像と、スマートフォン100の装置画像とを入力データとして用いる。また、教師データとして、入力データの被写体画像に対応する、写り込みのない、あるいは写り込みを軽減した画像を用いる。教師データは、写り込みのある被写体画像に対して画像処理を適用して生成してもよいし、写り込みのある被写体画像と同じ視点から、写り込みがないように撮像した被写体画像を用いてもよい。例えば、ガラス越しの撮像では、通常に撮像することで写り込みのある画像を取得し、スマートフォン100の周囲を遮光して撮像することにより写り込みのない画像を取得することができる。
【0038】
様々な被写体や撮像環境について入力データと学習データを用意し、機械学習モデルを学習することにより、学習済みの機械学習モデル302を得ることができる。
【0039】
ここで、広角インカメラ画像を機械学習モデルに与える理由について説明する。被写体画像に映り込むのは被写体からアウトカメラ107方向を撮像した画像の鏡像に相当する。被写体からアウトカメラ107方向を撮像した画像は、インカメラで撮像される画像と有意な類似性を有する。アウトカメラ107で撮像された被写体画像とインカメラで撮像された撮像者およびその周囲の画像の相似性に基づいて、教師データである映り込みを除去もしくは軽減した画像に出力結果が近づくように機械学習モデルの学習を収束させることができる。
【0040】
そして、標準インカメラ109よりも撮像者の周辺を広範囲に撮像できる広角インカメラ110で得られる画像の方が、標準インカメラ109で得られる画像よりも、写り込んだ画像との相似性を検出する上で有利である。
【0041】
また、スマートフォン100の外観画像を機械学習モデルに与えるのは、被写体画像には、被写体を撮像したスマートフォン100が写り込んでいる可能性が高いためである。スマートフォン100の外観画像を入力データとして用いることにより、機械学習モデルは被写体画像に映り込んでいるスマートフォン100を検出しやすくなるので、教師データに出力結果が近づくように学習を収束させる上で有利である。
【0042】
図4および図5は、映り込み軽減アプリケーションの表示例を示す図である。アプリケーションをCPU101が実行し、画像処理部104などを制御することによりこれらの表示が実施される。
【0043】
図4(a)は、アプリケーション起動時の表示状態を示している。アプリケーション画面の下部には撮像ボタン401のGUIが表示されている。また、アプリケーションが起動されると撮像スタンバイ状態となり、アプリケーション画面にはアウトカメラ107で撮像された動画像402がリアルタイムに表示される。CPU101は、アウトカメラ107による動画撮像処理、画像処理部104による表示用の動画データ生成処理、並びにディスプレイ105による動画データの表示処理とを継続して実行させる。
【0044】
ユーザは、動画像402によって撮像範囲や露出状態などを確認することができる。そして、撮像時には撮像ボタン401をタッチする。撮像ボタン401のタッチ操作が検出されると、CPU101は映り込み軽減モードでの撮像処理を実行する。
【0045】
図4(a)は、テレビが主被写体として含まれるシーンにおいて、テレビの画面にユーザとその周囲が映り込んでいる状態を示している。図4(b)は、写り込み低減処理によって写り込みが除去された画像を示している。このように映り込みを軽減することにより、主被写体の見やすい画像が得られる。また、仮に画像をインターネット上にアップロードしても、画像からユーザの個人情報が漏えいすることを抑制できる。
【0046】
また、写り込み軽減モードにおいてCPU101は、スタンバイ状態において広角インカメラ110でも動画像を撮像する。そして、画像処理部104に、インカメラ110で得られた画像とアウトカメラ107で得られた画像とから、ユーザが写り込んでいるか否かを検出させる。画像処理部104は、パターンマッチングなどの公知技術を用い、ユーザが写り込んでいるか否かを検出し、結果をCPU101に通知する。
【0047】
CPU101は、ユーザが写り込んでいることが画像処理部104から通知された場合、広角インカメラ110で得られる動画像を例えばピクチャーインピクチャー表示するように画像処理部104に指示する。画像処理部104は、指示に応答して広角インカメラ110で得られる動画像のピクチャーインピクチャー表示を開始する(図4(c))。
【0048】
さらに、画像処理部104は、ユーザに写り込みを知らせるために、アウトカメラ107で撮像されている動画像に指標を重畳させる。図4(d)には一例として、ユーザの顔が写り込んでいる領域に枠状の指標を重畳した例を示している。画像処理部104は、広角インカメラ110で撮像されている動画像で検出された顔領域と類似した領域を、アウトカメラ107で撮像されている動画像内で検出し、その周囲に枠画像を重畳表示させる。
【0049】
また、画像処理部104は、広角インカメラ110で撮像されている動画像においても、アウトカメラ107で撮像されている動画像に写り込んでいる顔と類似する領域を示す指標を表示する(図4(e))。
【0050】
これにより、広角インカメラ110で撮像される画像に映っている顔を利用することにより、アウトカメラ107で撮像される画像への顔の映り込みを軽減できる可能性が高いことをユーザに知らせることができる。
【0051】
一方、画像処理部104において、アウトカメラ107で撮影された画像に顔を含んだ映り込みがあるが、広角インカメラ110で撮像された画像には写り込んでいる人物の顔が写っていないと判定される場合がある。このような場合、画像処理部104は、ユーザに対し、ユーザの顔が広角インカメラ110で撮像されるようにすることを促す指標をディスプレイ105に表示する。
【0052】
画像処理部104は指標として、例えば図10に示すように、広角インカメラ110で撮像された画像に枠と顔を模した図形を重畳表示する。なお、写り込んでいる画像に基づいて、ユーザの顔が広角インカメラ110の撮影範囲のどの位置にどのような大きさで写ることが好ましいかを判定し、判定結果に従った位置や大きさで指標を表示してもよい。なお、指標は具体的な指示を文書で示したメッセージであってもよい。このような指標を表示することで、アウトカメラ107で撮像されている画像に顔が写り込んでいる場合の写り込み軽減がより適切に実施できる可能性を高めることができる。
【0053】
なお、このような指標を表示したにもかかわらず、広角インカメラ110に顔が写らない状態で撮像ボタン401が操作されることもある。このような場合、CPU101は画像処理部104に、顔の写り込みが軽減できないことをユーザに通知するメッセージをディスプレイ105に表示するよう指示する。図5(a)はメッセージの一例である。
【0054】
図5(a)の状態でユーザ操作、例えばディスプレイ105のタップ操作が検出されると、CPU101は、ユーザに対して撮像を継続するか否かを確認するダイアログをディスプレイ105に表示させるよう、画像処理部104に指示する。図5(b)は確認ダイアログの一例である。
【0055】
確認ダイアログは撮像を継続するか否かを指示する、「はい」ボタンおよび「いいえ」ボタンを含んでいる。CPU101は、「はい」ボタンのタッチ操作を検出すると、静止画の撮像動作を開始する。また、CPU101は、「いいえ」ボタンのタッチ操作を検出すると、確認ダイアログの消去を画像処理部104に通知する。この場合、写り込み軽減アプリケーションの表示は図4(f)の状態に戻る。
【0056】
次に、図6に示すフローチャートを用い、写り込み軽減モードでの撮像に関するCPU101の動作について説明する。ここでは、図4に示した撮像環境を想定している。
S601で、CPU101は、ユーザによる映り込み軽減撮像モードをONにする操作が検出されたかどうかを判定する。ここでは、スマートフォン100にインストールされている映り込み軽減撮像アプリケーションの起動操作を、映り込み軽減撮像モードをONにする操作とする。なお、操作の検出ではなく、現在の撮影モードの設定が写り込み軽減モードであるか否かを判定してもよい。CPU101は、ユーザによる映り込み軽減撮像モードをONにする操作が検出されたと判定されればS602を実行し、判定されなければS601を繰り返し実行する。
【0057】
S602でCPU101は、撮影スタンバイ状態の動作を開始する。CPU101は、アウトカメラ107による動画像の撮像を開始する。また、CPU101は、画像処理部104に表示用の動画像の生成と、生成した動画像の表示を指示する。これにより、ディスプレイ105に、アウトカメラ107の撮像範囲を示す動画像がディスプレイ105に継続して表示される(図4(a))。
【0058】
また、CPU101は、画像処理部104に、アウトカメラ107で撮像された動画像に対して顔検出処理を実行するように指示する。画像処理部104は、動画像のフレーム画像に対する顔検出処理を開始し、検出結果(検出された顔領域の数、大きさ、位置など)をCPU101に通知する。なお、顔検出処理を行う頻度はフレームレートや画像処理部104の性能などに応じて定めることができる。画像処理部104は、顔検出処理を継続的に実施してもよいし、CPU101から指示があるごとに1フレームに対して実行してもよい。その後、CPU101はS603を実行する。
【0059】
S603でCPU101は、インカメラの画角設定が広角になっているか否かを判定する。CPU101は、例えばメモリ102から現在のインカメラの画角設定を読み出し、広角インカメラ110を使用する設定になっているか否かを判定する。あるいは、CPU101は、標準インカメラ109と広角インカメラ110のうち、広角インカメラ110が有効であるか否かを判定してもよい。CPU101は、インカメラの画角設定が広角になっていると判定されればS605を、判定されなければS604を実行する。
【0060】
S604でCPU101は、メモリ102に保持されているインカメラの画角設定を広角に変更する。その後、CPU101はS605を実行する。
【0061】
S605でCPU101は、S602でアウトカメラ107による撮像を開始した動画像を解析する。例えば、CPU101は、画像処理部104に、アウトカメラ107で撮像された動画像に対して顔検出処理を実行するように指示する。なお、S602で顔検出処理を継続して実行するように画像処理部104に指示している場合には、S605は省略してもよい。その後、CPU101はS606を実行する。
【0062】
S606でCPU101は、アウトカメラ107で撮像された動画像に顔が映り込んでいるか否かを判定する。CPU101は例えば画像処理部104による顔検出処理の結果を取得し、顔領域が検出されていれば顔が写り込んでいると判定してS607を実行し、顔領域が検出されていなければ顔が写り込んでいないと判定してS620を実行する。
【0063】
S607でCPU101は、広角インカメラ110での動画像の撮像を開始する(S605で開始してもよい)。また、CPU101は、画像処理部104に、広角インカメラ110で撮像された動画像について、表示用の動画像の生成と、生成した動画像のピクチャーインピクチャー表示を指示する。これにより、ディスプレイ105に、アウトカメラ107の撮像範囲を示す動画像と、広角インカメラ110で撮像された動画像とがディスプレイ105に継続して表示される(図4(c))。その後、CPU101は、S608を実行する。
【0064】
S608でCPU101は、画像処理部104に対し、アウトカメラ107で撮像された動画像に、検出された顔領域を示す指標を重畳表示するように指示する。これにより、図4(d)に示したように、アウトカメラ107で撮像された動画像に、検出された顔領域を示す指標が重畳表示される。なお、顔領域を示す指標の重畳表示は、顔領域の検出を指示する際に合わせて指示してもよい。その後、CPU101は、S609を実行する。
【0065】
S609でCPU101は、広角インカメラ110で撮像された動画像に対して顔検出処理を適用するように画像処理部104に指示する。そして、CPU101は、S610を実行する。なお、S609の処理はS607の処理に含めてもよい。
【0066】
S610でCPU101は、画像処理部104から通知された顔検出処理の結果に基づいて、広角インカメラ110で撮像された動画像に顔が含まれているか否かを判定する。CPU101は、広角インカメラ110で撮像された動画像で顔が検出されていればS611を、検出されていなければS614を実行する。
【0067】
S611でCPU101は、画像処理部104に対して、アウトカメラ107で撮像された動画像で検出された顔と、広角インカメラ110で撮像された動画像で検出された顔とがどの程度一致しているかを示す一致度の算出を指示する。画像処理部104は、それぞれの動画像で検出された顔領域から、目、鼻、口等の位置、形、大きさ、顔の全体的な形、凹凸など、顔の特徴を数値化する。そして、画像処理部104は、顔の特徴に関する数値を比較して、顔の一致度を算出する。顔の一致度は、例えば、数値の差の合計であってよく、この場合には値が小さいほど顔の一致度が高くなる。画像処理部104は、算出した顔の一致度をCPU101に通知する。CPU101は、顔の一致度が通知されると、S612を実行する。
【0068】
S612でCPU101は、顔の一致度に基づいて、アウトカメラ107で撮像された動画像で検出された顔と、広角インカメラ110で撮像された動画像で検出された顔とが同一人物の顔か否かを判定する。CPU101は例えば顔の一致度が閾値未満であれば同一人物の顔であると判定してS613を実行し、閾値以上であれば他人の顔であると判定してS615を実行する。
【0069】
なお、S611およびS612の処理は、学習済みモデルを用いた推論処理によって実現されてもよい。この場合、学習済みモデルの入力データとして、アウトカメラ107で撮像された動画像で検出された顔部分の画像データと、広角インカメラ110で撮像された動画像で検出された顔部分の画像データとを用いる。そして、学習済みモデルは出力データとして一致度を出力する。また、そのような学習済みモデルは、例えばニューラルネットワークを用いた機械学習によって生成することができる。この場合、機械学習は、あらかじめアウトカメラ107で撮像した顔部分の画像データと、広角インカメラ110で撮像した顔部分の画像データとを入力データとし、所定の方法で求めた両者の一致度を教師データとする教師あり学習であってよい。
【0070】
S613でCPU101は、画像処理部104に、広角インカメラ110で撮像された動画像について、検出された顔検出を示す指標を重畳表示するように指示する。これにより、図4(e)に示したように、広角インカメラ110で撮像された動画像に、検出された顔領域を示す指標が重畳表示される。なお、顔領域を示す指標の重畳表示は、顔領域の検出を指示する際に合わせて指示してもよい。その後、CPU101は、S620を実行する。
【0071】
S614でCPU101は、ユーザの顔が広角インカメラ110で撮像されるようにユーザの位置を変えるように促す指標(顔位置ガイド)を表示するよう、画像処理部104に指示する。指示に応答して画像処理部104は、図4(f)に示したように、広角インカメラ110で撮像された動画像の中央に枠と顔を模した図形を重畳表示したり、例えば図5(a)のような形態でメッセージを重畳表示したりする。その後、CPU101は、S615を実行する。
【0072】
S615でCPU101は、ユーザによる撮像操作が行われたか否かを判定する。具体的には、CPU101は撮像ボタン401に対するタッチ操作が行われたか否かを判定する。CPU101は、撮像操作が行われたと判定されればS616を実行し、判定されなければS605を実行する。
【0073】
S616でCPU101は、画像処理部104に対して、顔の映り込みを軽減できないことを示すメッセージを重畳表示するように指示する。ここでは、画像処理部104は「被写体に撮像者が映り込んでいる可能性があります。インカメラに撮像者が認識されないため、映り込みを軽減できません。」というメッセージをディスプレイ105に表示する(図5(a))。その後、CPU101は、S617を実行する。
【0074】
S617でCPU101は、メッセージに対する確認操作、例えばディスプレイ105に対するタップ操作を検出したか否かを判定する。CPU101は、確認操作が行われたと判定されれば、画像処理部104に対して、ユーザに対して撮像を継続するか否かを確認するダイアログをディスプレイ105に表示するよう指示する。ここでは、画像処理部104は「このまま撮像を続けますか」というメッセージと、「はい」「いいえ」ボタンを含んだダイアログをディスプレイ105に表示する(図5(b))。なお、確認操作を検出する代わりに、所定時間が経過したか否かを判定してもよい。その後、CPU101は、S618を実行する。
【0075】
S618でCPU101は、撮像中止操作を検出したか否かを判定する。具体的には、CPU101は、S617で表示した確認ダイアログの「いいえ」ボタンに対する操作が検出されたか否かを判定する。CPU101は、撮像中止操作を検出したと判定されればS605を実行し、判定されなければS619を実行する。
【0076】
S619でCPU101は、撮像継続操作を検出したか否かを判定する。具体的には、CPU101は、S617で表示した確認メッセージの「はい」ボタンに対する操作が検出されたか否かを判定する。CPU101は、撮像継続操作を検出したと判定されればS621を実行し、判定されなければS618を実行する。
【0077】
S620でCPU101は、S615と同様に、ユーザによる撮像操作が行われたか否かを判定する。CPU101は、撮像操作が行われたと判定されればS621を実行し、判定されなければS605を実行する。
【0078】
S621でCPU101は、アウトカメラ107、広角インカメラ110のそれぞれで静止画の撮像を実行する。静止画の撮像に用いる絞り、シャッタースピードなどのパラメータは、アウトカメラ107で撮像された動画像に基づいて画像処理部104が生成した評価値に基づいてCPU101が決定する。また、CPU101は、光学系の自動焦点検出についても、アウトカメラ107で撮像された動画像に基づいて画像処理部104が生成した評価値に基づいて実行する。
【0079】
また、CPU101は、画像処理部104に対し、アウトカメラ107で撮像された静止画データに基づく記録用の静止画データと、広角インカメラ110で得られた静止画データに基づく、写り込み軽減モードで用いる静止画データとを生成するように指示する。画像処理部104は、これら静止画データに対し、表示用の動画像データを生成するための画像処理よりも画質を優先した画像処理を適用する。その後、CPU101は、S622を実行する。
【0080】
S622でCPU101は、S621でアウトカメラ107で撮像した静止画データに対して、映り込み軽減処理を適用するように画像処理部104に指示する。画像処理部104は、不揮発性メモリ103から学習済みの機械学習モデル302とスマートフォン100の外観画像を読み出し、内部メモリもしくはメモリ102に読み出す。その後、画像処理部104は、記録用の静止画データと、広角インカメラ110で撮像した静止画データから生成した静止画データと、スマートフォン100の外観画像とを入力データとして学習済みの機械学習モデル302に与える。画像処理部104は、学習済みの機械学習モデル302の演算を実施し、出力として得られる、映り込みを軽減した画像を不揮発性メモリ103へ保存する。
【0081】
このように、本実施形態に係る画像処理装置は、被写体の画像と、撮影者とその周囲の画像と、撮像装置の外観の画像とを入力データとして学習済み機械学習モデルに与えることにより、被写体画像における映り込みを軽減することができる。撮影者とその周囲の画像、ならびに撮像装置の外観の画像を用いることにより、視差を用いる構成とは異なり、同一シーンを複数視点で撮像する必要がなく、また遠景と近景が存在するシーン以外のシーンについても写り込みを軽減することができる。
【0082】
(その他の実施形態)
上述の実施形態では、画像処理装置が標準インカメラと広角インカメラを有する構成について説明した。しかし、インカメラは1つであってもよい。この場合、撮像された画像を電子的にクロップすることで画角を変更する構成としてもよい。
【0083】
なお、図6では説明および理解を容易にするために、主被写体には顔が含まれていないことが分かっている場合の動作について説明した。主被写体に顔が含まれているかどうか分からない場合には、例えば以下の様な動作になる。
【0084】
S602で画像処理部104は、アウトカメラ107で撮像された動画像に顔領域が含まれていれば、表示用の動画像に顔領域を示す指標を重畳表示させる(図4(d))。
【0085】
S605でCPU101は、広角インカメラ110による動画像の撮像を開始する。また、CPU101は、画像処理部104に、広角インカメラ110で撮像された動画像に対しても顔検出処理を実行するように指示する。CPU101はさらに、画像処理部104に、アウトカメラ107で撮像した動画像に写り込みが生じているか否かを検出するように指示する。
【0086】
画像処理部104は、例えば、アウトカメラ107で撮像した動画像に、広角インカメラ110で撮像した動画像と類似した領域が含まれていれば、アウトカメラ107で撮像した動画像に写り込みが生じていると判定する。また、画像処理部104は、アウトカメラ107で撮像した動画像における、広角インカメラ110で撮影した動画像と類似した領域に、広角インカメラ110で撮影した動画像で検出された顔領域が含まれていれば、撮影者が写り込んでいると判定する。そして、画像処理部104は顔検出結果、写り込みの検出有無、および撮影者の写り込みの検出有無をCPU101に通知する。
【0087】
そして、S606でCPU101は、画像処理部104から、撮影者の写り込みがあるとの通知を受けていればS607を、通知を受けていなければS620を実行する。
【0088】
S607以降は上述したように動作すればよい。ただし、S610、S611、S612の動作は、S605で画像処理部104が通知した顔検出結果や、写り込みに関する判定結果を用いる。
【0089】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0090】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0091】
101…CPU、102…メモリ、103…不揮発性メモリ、104…画像処理部、105…ディスプレイ、106…操作部、107…アウトカメラ、109…標準インカメラ、110…広角インカメラ
図1
図2
図3
図4
図5
図6