JP2021056678A - 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム - Google Patents

画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム Download PDF

Info

Publication number
JP2021056678A
JP2021056678A JP2019178047A JP2019178047A JP2021056678A JP 2021056678 A JP2021056678 A JP 2021056678A JP 2019178047 A JP2019178047 A JP 2019178047A JP 2019178047 A JP2019178047 A JP 2019178047A JP 2021056678 A JP2021056678 A JP 2021056678A
Authority
JP
Japan
Prior art keywords
image
shape
image processing
defocus
blur
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019178047A
Other languages
English (en)
Other versions
JP7455542B2 (ja
JP2021056678A5 (ja
Inventor
小林 正和
Masakazu Kobayashi
正和 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019178047A priority Critical patent/JP7455542B2/ja
Priority to US17/028,104 priority patent/US11508038B2/en
Priority to CN202011022610.3A priority patent/CN112581382A/zh
Publication of JP2021056678A publication Critical patent/JP2021056678A/ja
Publication of JP2021056678A5 publication Critical patent/JP2021056678A5/ja
Application granted granted Critical
Publication of JP7455542B2 publication Critical patent/JP7455542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

【課題】機械学習モデルの学習負荷と保持データ量の増大を抑制しつつ、撮像画像のデフォーカスぼけを種々の形状に整形することが可能な画像処理方法を提供する。【解決手段】撮像画像のデフォーカスぼけの形状を整形した推定画像を生成する画像処理方法であって、撮像画像と、推定画像のデフォーカスぼけの形状を指定する形状指定情報と、を含む入力データを取得する第1の工程と、入力データに基づいて推定画像を生成する第2の工程とを有する。【選択図】図1

Description

本発明は、撮像された画像に対して、デフォーカスによるぼけを整形し、良好なぼけ味の画像を得る画像処理方法に関する。
特許文献1には、光学系の瞳を複数に分割して、各分割瞳から被写体空間を観察した複数の視差画像を撮像し、複数の視差画像を合成する際の重みを調整することで、デフォーカスによるぼけ(デフォーカスぼけ)の形状を整形する方法が開示されている。
特開2016−220016号公報
しかしながら、特許文献1に開示された方法は、各分割瞳の重みを調整して複数の視差画像を合成するため、光学系の瞳よりも大きい瞳に対応するデフォーカスぼけを再現することができない。すなわち、この方法では、ヴィネッティングによるデフォーカスぼけの欠けを埋めることができない。また、複数の視差画像の合成の重みが不均一になると、ノイズが増大する。また、二線ぼけ等は構造が細かいため、それらの影響を軽減するには、光学系の瞳を細かく分割する必要がある。この場合、各視差画像における空間解像度の低下、又はノイズの増大が生じる。
ところで、デフォーカスぼけは、CNN(Convolutional Neural Network)などの機械学習モデルを用いて整形することができる。このとき、ユーザが好むデフォーカスぼけの形状には個人差があるため、正解画像として様々な形状のデフォーカスぼけを学習する必要がある。しかし、1枚の訓練画像に対応する正解画像が複数種類混在する学習データを、1つの機械学習モデルにおけるウエイトのみで学習することは難しい。この場合、学習済みCNNに撮像画像を入力しても、正解画像とした様々なデフォーカスぼけ形状の平均が、推定画像として出力される。これは、CNNは複数の正解画像を平均的に学習するためである。このため、正解画像とするデフォーカスぼけの形状ごとに異なるウエイトを学習する必要があるが、学習負荷と保持データ量が増大する。
そこで本発明の目的は、機械学習モデルの学習負荷と保持データ量の増大を抑制しつつ、撮像画像のデフォーカスぼけを種々の形状に整形することが可能な画像処理方法などを提供することである。
本発明の一側面としての画像処理方法は、撮像画像のデフォーカスぼけの形状を整形した推定画像を生成する画像処理方法であって、前記撮像画像と、前記推定画像のデフォーカスぼけの形状を指定する形状指定情報とを含む入力データを取得する第1の工程と、前記入力データに基づいて前記推定画像を生成する第2の工程とを有する。
本発明の他の側面としてのプログラムは、前記画像処理方法をコンピュータに実行させる。
本発明の他の側面としての画像処理装置は、撮像画像のデフォーカスぼけの形状を整形した推定画像を生成する画像処理装置であって、前記撮像画像と、前記推定画像のデフォーカスぼけの形状を指定する形状指定情報とを含む入力データを取得する取得手段と、前記入力データに基づいて前記推定画像を生成する生成手段とを有する。
本発明の他の側面としての学習モデルの製造方法は、同一の被写体が存在し、異なる形状のデフォーカスぼけを有する訓練画像と正解画像を取得する工程と、前記正解画像のデフォーカスぼけの形状を指定する形状指定情報を取得する工程と、前記訓練画像と前記正解画像と前記形状指定情報とに基づいて、機械学習モデルを学習する工程とを有する。
本発明の他の側面としての画像処理装置は、同一の被写体が存在し、異なる形状のデフォーカスぼけを有する訓練画像と正解画像を取得する第1の取得手段と、前記正解画像のデフォーカスぼけの形状を指定する形状指定情報を取得する第2の取得手段と、前記訓練画像と前記正解画像と前記形状指定情報に基づいて、機械学習モデルを学習する学習手段とを有する。
本発明の他の側面としての画像処理システムは、互いに通信可能な第1の装置と第2の装置を有する画像処理システムであって、前記第1の装置は、撮像画像に対する処理の実行に関する要求を前記第2の装置へ送信する送信手段を有し、前記第2の装置は、前記要求を受信する受信手段と、前記撮像画像と、推定画像のデフォーカスぼけの形状を指定する形状指定情報とを含む入力データを取得する取得手段と、前記要求に応じて、前記入力データに基づいて前記撮像画像のデフォーカスぼけの形状を整形した前記推定画像を生成する生成手段とを有する。
本発明の他の目的及び特徴は、以下の実施例において説明される。
本発明によれば、機械学習モデルの学習負荷と保持データ量の増大を抑制しつつ、撮像画像のデフォーカスぼけを種々の形状に整形することが可能な画像処理方法などを提供することができる。
実施例1における機械学習モデルの構成を示す図である。 実施例1における画像処理システムのブロック図である。 実施例1における画像処理システムの外観図である。 実施例1乃至4における学習データの生成方法に関するフローチャートである。 実施例1、3、4におけるウエイトの学習に関するフローチャートである。 実施例1における推定画像の生成に関するフローチャートである。 実施例1における撮像画像の編集に関するフローチャートである。 実施例1におけるユーザインタフェースを示す図である。 実施例2における機械学習モデルの構成を示す図である。 実施例2における画像処理システムのブロック図である。 実施例2における画像処理システムの外観図である。 実施例2におけるウエイトの学習に関するフローチャートである。 実施例2における推定画像の生成に関するフローチャートである。 実施例2におけるユーザインタフェースを示す図である。 実施例3における機械学習モデルの構成を示す図である。 実施例3における画像処理システムのブロック図である。 実施例3における画像処理システムの外観図である。 実施例3における推定画像の生成に関するフローチャートである。 実施例3におけるユーザインタフェースを示す図である。 実施例4における機械学習モデルの構成を示す図である。 実施例4における画像処理システムのブロック図である。 実施例4における画像処理システムの外観図である。 実施例4における推定画像の生成に関するフローチャートである。 実施例4におけるユーザインタフェースを示す図である。 各実施例におけるデフォーカス距離での点像強度分布を示す図である。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
本実施例の具体的な説明を行う前に、本発明の要旨を説明する。本発明は、撮像された画像のデフォーカスぼけを、機械学習モデルを用いて整形する。機械学習モデルは例えば、ニューラルネットワーク、遺伝的プログラミング、ベイジアンネットワークなどを含む。ニューラルネットワークは、CNN、GAN(Generative Adversarial Network)、RNN(Recurrent Neural Network)などを含む。デフォーカスぼけの整形とは、周波数成分の復元を伴わない、デフォーカスぼけの形状の整形を指す。例えば、二線ぼけからガウスぼけや玉ぼけへの整形などが含まれる。各種デフォーカスぼけ形状の詳細については後述する。整形の対象とする他のデフォーカスぼけには、例えば、ヴィネッティングによって欠けたデフォーカスぼけ、カタディオプトリックレンズなどの瞳遮蔽によるリング状のデフォーカスぼけなどが挙げられる。なお本発明において、整形の対象とするデフォーカスぼけの形状は限定されるものではなく、整形後のデフォーカスぼけの形状も限定されるものではない。
続いて、スマートフォン等で行われるデフォーカスぼけ付加との差異について説明する。広角レンズかつ小さいセンサーサイズを有するスマートフォンはぼけにくい。このため、デフォーカスぼけを付加して、所望のデフォーカスぼけを作り出している。一方、本発明におけるデフォーカスぼけの整形は、既にデフォーカスぼけしている被写体を、所望のデフォーカスぼけに整形する。すなわち、既に作用しているデフォーカスぼけと所望のデフォーカスぼけの差分を満たすデフォーカスぼけを作用させる必要があり、より高度な処理が必要となる。
機械学習モデルに入力される入力データは、撮像画像と、整形後のデフォーカスぼけの形状を指定する情報(形状指定情報)を含む。形状とは、デフォーカスぼけの種類と大きさを指す。機械学習モデルの学習において、訓練画像と共に形状指定情報を入力することで、機械学習モデルは1枚の訓練画像に対して、異なるデフォーカスぼけ形状を有する複数の正解画像を区別して学習できる。すなわち、正解画像に様々な形状のデフォーカスぼけが含まれていても、それらのデフォーカスぼけの平均的な形状に整形するようなウエイトでなく、デフォーカスぼけの形状ごとに異なる整形を行うウエイトを学習する。このため、様々な形状のデフォーカスぼけを含む学習データを高精度に一括で学習できる。その結果、学習負荷と保持データ量を抑制しつつ、ユーザの好みに合わせた種々の形状のデフォーカスぼけに整形することができる。
なお以下では、機械学習モデルのウエイトを学習する段階のことを学習フェーズとし、学習済みのウエイトを用いた機械学習モデルでデフォーカスぼけの整形を行う段階のことを推定フェーズという。
まず、図2および図3を参照して、本発明の実施例1における画像処理システムについて説明する。図2は、画像処理システム100のブロック図である。図3は、画像処理システム100の外観図である。
画像処理システム100は、学習装置101、撮像装置102、画像推定装置103、表示装置104、記録媒体105、出力装置106、および、ネットワーク107を有する。学習装置101は、記憶部101a、取得部101b、生成部101c、および、更新部101dを有し、デフォーカスぼけ整形に用いる機械学習モデルのウエイトを学習する(学習モデルを製造する)。なお、ウエイトの学習、およびウエイトを用いたデフォーカスぼけ整形処理に関する詳細については、後述する。
撮像装置102は、光学系102aと撮像素子102bを有し、被写体空間を撮像して撮像画像を取得する。光学系102aは、被写体空間から入射した光を集光し、光学像(被写体像)を形成する。撮像素子102bは、前記光学像を光電変換することによって、撮像画像を取得する。撮像素子102bは、例えばCCD(Charge Coupled Device)センサや、CMOS(Complementary Metal−Oxide Semiconductor)センサなどである。
画像推定装置(画像処理装置)103は、記憶部103a、取得部(取得手段)103b、ぼけ整形部(生成手段)103c、および、生成部103dを有する。画像推定装置103は、撮像装置102で撮像された撮像画像(またはその少なくとも一部)に対して、デフォーカスぼけを整形した推定画像を生成する。デフォーカスぼけ整形には、学習装置101で学習済みのウエイトを用いた機械学習モデルを使用する。学習装置101と画像推定装置103はネットワーク107によって接続されており、画像推定装置103はデフォーカスぼけ整形時または事前に、学習済みのウエイトの情報を学習装置101から読み出す。推定画像は、表示装置104、記録媒体105、または、出力装置106の少なくとも一つに出力される。
表示装置104は、例えば液晶ディスプレイやプロジェクタなどである。ユーザは表示装置104を介して、処理途中の画像を確認しながら編集作業などを行うことができる。なお、編集作業時のユーザインタフェースの詳細については、後述する。記録媒体105は、例えば半導体メモリ、ハードディスク、ネットワーク上のサーバ等であり、推定画像を保存する。出力装置106は、プリンタなどである。
次に、図4を参照して、学習装置101で実行される学習データの生成に関して説明する。図4は、学習データの生成方法に関するフローチャートである。図4の各ステップは、主に、学習装置101の各部により実行される。なお本実施例では、機械学習モデルとしてCNNを使用するが、他のモデルについても同様に適用可能である。
まずステップS101において、取得部101bは、原画像を取得する。原画像は、1枚でも複数枚でもよい。原画像は、実写画像やCG(Computer Graphics)画像などである。以降のステップで、原画像にデフォーカスぼけを作用させて、訓練画像と正解画像を作り出す。このため、様々な被写体に対して正しくデフォーカスぼけの形状変換が行えるように、原画像は、様々な強度と方向を有するエッジや、テクスチャ、グラデーション、平坦部などを有する画像であることが望ましい。
好ましくは、原画像は、撮像素子102bの輝度飽和値よりも高い信号値を有しているとよい。これは、実際の被写体においても、特定の露出条件で撮像装置102により撮像を行った際、輝度飽和値に収まらない被写体が存在するためである。正解画像と訓練画像は、デフォーカスぼけを作用させた後、撮像素子102bの輝度飽和値によってクリップすることで、実際の輝度飽和値に収まらない被写体を再現できる。
続いてステップS102において、生成部(第2の取得手段)101cは、形状指定情報(すなわち、正解画像のデフォーカスぼけの形状を指定する形状指定情報)を生成(取得)し、記憶部101aに保存する。形状指定情報は、整形後のデフォーカスぼけの大きさ、または種類を指定する。種類とは、PSF(Point Spread Function)の強度分布の違いによる、ガウスぼけ、玉ぼけ、二線ぼけ等の違いを指す。
ここで、図25を参照して、二線ぼけ、玉ぼけ、ガウスぼけについて説明する。図25(A)は、二線ぼけの点像強度分布(PSF)を示す図である。図25(A)において、横軸は空間座標(位置)、縦軸は強度を示す。この点は、後述の図25(B)、(C)に関しても同様である。図25(A)に示されるように、二線ぼけは、ピークが分離したPSFを有する。デフォーカス距離におけるPSFが図25(A)のような形状を有する場合、本来は1本の線である被写体が、デフォーカスした際に2重にぼけているように見える。図25(B)は、玉ぼけのPSFを示す図である。玉ぼけは、強度がフラットなPSFを有する。図25(C)は、ガウスぼけのPSFを示す図である。ガウスぼけは、ガウス分布のPSFを有する。また、大きさとは、PSFが強度を持つ範囲を指す。
大きさの指定は、仮想的に光学系102aのF値(絞り値)を変更することに相当する。F値を変えると、光学系102aの瞳の大きさが変わるため、デフォーカスぼけの大きさが変わる。デフォーカスぼけを整形する画像処理によって、撮像画像から光学系102aが物理的には取れないF値に変更することも可能である。種類の指定は、仮想的に光学系102aを異なるレンズ構成へ変更することに相当する。二線ぼけ、玉ぼけ、ガウスぼけなどのデフォーカスぼけの種類は、光学系102aのレンズ構成によって決まる瞳関数に依存している。すなわち、整形後のデフォーカスぼけの大きさ、または種類の指定は、仮想のレンズパラメータを指定することに相当する。さらに詳述すると、F値の指定は、瞳関数の広がりを変化させることに相当する。また、二線ぼけ、玉ぼけなどの種類の指定は、瞳関数の振幅または位相を変化させることに相当する。
形状指定情報は、スカラーまたはマップのいずれでもよいが、本実施例ではマップである。形状指定情報がスカラーの場合、画像の領域ごとにデフォーカスぼけの形状を指定することができない。一方、形状指定情報がマップの場合、画像の領域ごとに指定することができる。このため、形状指定情報はマップの方が望ましい。形状指定情報がマップの場合、少なくとも1チャンネル以上であり、デフォーカスぼけの種類と大きさを数値で示し、数値は正規化されている。例えば、ぼけの種類を1チャンネルのマップで指定する場合は、0をガウスぼけとし、1を玉ぼけとすればよい。一方、複数チャンネルのマップで指定する場合、1チャンネル目でガウスぼけにしたい領域を1とし、2チャンネル目では玉ぼけにしたい領域を1とすればよい。また、ぼけの大きさを1チャンネルのマップで指定する場合は、0をF1.0相当の大きさとし、1をF2.0相当の大きさとすればよい。一方、複数チャンネルのマップで指定する場合、1チャンネル目でF2.0相当の大きさにしたい領域を1とし、2チャンネル目ではF1.0相当の大きさにしたい領域を1とすればよい。
形状指定情報には平滑化フィルタ等を作用させることが望ましい。これにより、異なる形状を指定している境界部を高精度に整形することができる。また、形状指定情報は、様々なデフォーカスぼけの形状を指定するものを複数生成する。本実施例において、様々なデフォーカスぼけの形状とは、ユーザインタフェースを示す図8中のデフォーカスぼけ形状指定タブ104aで選択可能な形状である。
続いて、図4のステップS103において、生成部101cは、訓練画像を生成し、記憶部101aに保存する。訓練画像は、整形の対象とするデフォーカスぼけを原画像に作用させて撮像シミュレーションを行った画像である。あらゆる撮像画像に対応するためには、様々なデフォーカス量に対応するデフォーカスぼけを作用させることが好ましい。デフォーカスぼけの作用は、原画像に対してPSFを畳み込むか、または原画像の周波数特性とOTF(Optical Transfer Function)の積をとることで実行できる。また、フォーカス面では、デフォーカスぼけ整形の前後で画像は変化しないことが望ましいので、デフォーカスぼけを作用させない訓練画像と正解画像も生成する。
続いてステップS104において、生成部101cは、1枚の訓練画像対して、複数の形状指定情報それぞれに対応した複数の正解画像を生成し、記憶部101aに保存する。正解画像は、原画像に整形後のデフォーカスぼけを作用させて撮像シミュレーションを行った画像である。整形後のデフォーカスぼけの形状は、形状指定情報に対応した、大きさや種類を変えた様々なパターンを用意する。例えば、F2.0相当の玉ぼけ、F1.0相当のガウスぼけなどである。正解画像と訓練画像は、未現像のRAW画像でも現像後の画像でもよい。また、訓練画像、正解画像、形状指定情報の生成する順序は入れ替えてもよい。
なお、学習データの生成には、光学系102aと撮像素子102bによる実写画像を使用してもよい。例えば、光学系102aを用いて、訓練画像を得る。正解画像は、光学系102aとはデフォーカスぼけ形状の異なる別の結像光学系を用いて、訓練画像と同一の被写体を撮像することで得られる。すなわち、訓練画像と正解画像は、同一の被写体が存在し、異なる形状のデフォーカスぼけを有すればよい。この場合、形状指定情報は、光学系102aとはデフォーカスぼけ形状の異なる別の結像光学系ごとに複数生成し、それぞれ異なる数値を有する。また、上記2つの方法で生成した訓練画像と正解画像から、既定の画素数の部分領域を抽出して学習に用いてもよい。形状指定情報についても、訓練画像と正解画像と同じタイミングで、既定の画素数の部分領域を抽出する。或いは、訓練画像と正解画像から既定の画素数の部分領域を抽出した後に、それに合わせて生成してもよい。
次に、図5を参照して、ウエイトの学習(学習フェーズ)について説明する。図5は、ウエイトの学習(学習モデルの製造方法)に関するフローチャートである。図5の各ステップは、主に、学習装置101の各部により実行される。
まずステップS111において、取得部101bは、記憶部101aから1組以上の正解画像と訓練入力データを取得する。訓練入力データは、CNNの学習フェーズにおける入力データである。訓練入力データは、訓練画像と形状指定情報を含む。複数の正解画像のうち、形状指定情報と対応するデフォーカスぼけを有する正解画像を選択して取得する。
続いてステップS112において、生成部101cは、訓練入力データをCNNへ入力し、出力画像を生成する。ここで、図1を参照して、本実施例における出力画像の生成に関して説明する。図1は、機械学習モデルの構成を示す図である。訓練入力データは、訓練画像201と形状指定情報202を含む。訓練画像201は、グレースケールでも、複数のチャンネル成分を有していてもよい。
本実施例において、CNN(畳み込みニューラルネットワーク)206は、1層以上の畳み込み層またはフルコネクション層を有する。学習の初回において、CNN206のウエイト(フィルタの各要素とバイアスの値)は、乱数によって生成する。連結層(concatenation layer)205は、訓練画像201と形状指定情報202をチャンネル方向に規定の順番で連結する。なお、訓練画像201と形状指定情報202の間に他のデータを連結しても構わない。CNN206は、訓練画像201と形状指定情報202を連結した訓練入力データ203を入力とし、出力画像204を生成する。ステップS111で、複数組の訓練入力データを取得している場合、それぞれに対して出力画像204を生成する。同一の訓練画像201に対しても、出力画像204は形状指定情報202によって異なる。訓練画像201または形状指定情報202をネットワークに入力する位置に制限はない。また、形状指定情報202をサブネットワークで特徴マップに変換してから入力してもよい。例えば、形状指定情報202をサブネットワークで特徴マップに変換し、CNN206の中間層から入力してもよい。なお、形状指定情報がスカラーの場合、スカラーをサブネットワークで特徴マップに変換してから、図1の形状指定情報202と同様に処理を行う。
続いて、図5のステップS113において、更新部101dは、出力画像と正解画像の誤差から、CNNのウエイトを更新する。本実施例では、出力画像と正解画像における信号値の差のユークリッドノルムをロス関数とする。ただし、ロス関数はこれに限定されるものではない。ステップS111にて複数組の訓練入力データと正解画像を取得している場合、各組に対してロス関数の値を算出する。算出されたロス関数の値から、誤差逆伝播法(Backpropagation)などによってウエイトの更新を行う。
続いてステップS114において、更新部101dは、ウエイトの学習が完了したかを判定する。完了は、学習(ウエイトの更新)の反復回数が規定の回数に達したかや、更新時のウエイトの変化量が規定値より小さいかなどによって、判定することができる。未完と判定された場合はステップS111へ戻り、1組以上の新たな訓練入力データと正解画像を取得する。完了と判定された場合は学習を終了し、ウエイトの情報を記憶部101aに保存する。
次に、画像推定装置103で実行される撮像画像のデフォーカスぼけ整形(推定フェーズ)とユーザインタフェースに関して説明する。本実施例では、ユーザが撮像画像内のデフォーカスぼけを整形する領域である、置換領域を決定する。そして、生成部103dが置換領域を推定画像で置換することで、ユーザの指定した任意の領域のデフォーカスぼけを整形した画像を生成することができる。図8に示されるように、表示装置104は、デフォーカスぼけ形状指定タブ104a、ブラシ104b、撮像画像104cを表示する。ユーザは、表示装置104の表示を確認しながら、デフォーカスぼけの整形を行うことができる。
まず、図6を参照して、推定画像の生成について説明する。図6は、推定画像の生成に関するフローチャートである。図6の各ステップは、主に、画像推定装置103の各部により実行される。
まずステップS201において、取得部103bは、撮像画像とウエイトの情報を取得する。取得する撮像画像は、撮像画像全体の一部分でもよい。ウエイトの情報は、予め記憶部101aから読み出され、記憶部103aに記憶されている。
続いてステップS202において、取得部103bは、撮像画像のデフォーカスマップを取得する。デフォーカスマップは、撮像画像において被写体に作用したデフォーカスぼけの情報を示すマップであり、被写体のデフォーカス量を数値で示す。デフォーカスマップは、視差画像の撮像やDFD(Depth from Defocus)などを利用することで取得できる。デフォーカスマップの役割は主に2つある。1つは、各被写体のデフォーカス量が異なることを利用して、撮像画像に混在する被写体の領域を抽出し、置換領域の決定に用いることである。もう1つは、機械学習モデルに入力し、ピント位置の被写体とデフォーカスぼけを高精度に区別した整形を可能にすることである。本実施例では、前者の、撮像画像に混在する被写体の領域を抽出するために利用する。なお、後者の詳細については後述する。
続いてステップS203において、生成部103dは、デフォーカスぼけの形状指定タブ104aで選択できる形状に対応した、形状指定情報を生成する。本実施例では、ユーザが置換領域を指定するため、形状指定情報は、空間的に分布を持たず、マップ内全て同じ値でよい。
続いてステップS204において、ぼけ整形部103cは、入力データをCNNに入力し、推定画像を生成する。入力データは、撮像画像と、推定画像のデフォーカスぼけの形状を指定する形状指定情報とを含む。推定画像は、撮像画像のデフォーカスぼけが整形された画像であり、その形状は形状指定情報で決定される。学習時と同様に、図1に示されるCNN206を用いて推定画像を生成する。CNN206においては、取得された学習済みのウエイトが使用される。図8中のデフォーカスぼけ形状指定タブ104aで選択できるデフォーカスぼけに対応した複数の形状指定情報に対して、それぞれ推定画像を生成する。ここで、デフォーカスぼけの大きさ、または種類を指定する第1の形状指定情報と第1の形状指定情報とは異なるデフォーカスぼけの大きさ、または種類を指定する第2の形状指定情報に対して、CNNは同一のウエイトを用いる。生成された複数の推定画像は、記憶部103aに保存される。
次に、図7および図8を参照して、ユーザによる撮像画像の編集について説明する。図7は、撮像画像の編集に関するフローチャートである。図7の各ステップは、主に、画像推定装置103の各部により実行される。
まずステップS211において、取得部103bは、図8に示される形状指定タブ104aを用いてユーザが指定した、整形後のデフォーカスの形状を指定する情報を取得する。
続いてステップS212において、取得部103bは、ユーザがブラシ104bを用いて選択した、撮像画像104cの領域情報(置換領域)を取得する。この領域は、ユーザが1画素ずつ決定するか、ユーザがブラシ104bで大まかに選択した領域から、撮像画像の信号値の分布またはデフォーカスマップに基づいて決定する。撮像画像の信号値の分布またはデフォーカスマップに基づくことで、整形の対象とする被写体領域を抽出することができる。撮像画像の信号値の分布に基づくとは、撮像画像の画素値が不連続に変化している箇所を特定し、被写体の領域を抽出することである。
続いてステップS213において、生成部103dは、ユーザが選択した置換領域を、指定されたデフォーカスぼけの形状をした推定画像で置換する。このように本実施例では、撮像画像に対する置換領域に関する情報を取得し、撮像画像の置換領域を推定画像で置換する。これにより、置換領域が選択されるたびに推定画像を生成するよりも、推定画像を生成する回数が減り、短時間でユーザが好むデフォーカスぼけへの整形が可能になる。推定画像は、記憶部103aに保存したものを使用する。
以上の構成により、学習負荷と保持データ量を抑制しつつ、デフォーカスぼけの形状を整形することができる。ただし、ユーザが形状指定タブ104aとブラシ104bとで選択したデフォーカスぼけの形状と置換領域から形状指定情報のマップを生成し、ステップS204を実行する構成としてもよい。形状指定情報が空間的に異なる分布を有する場合に関しては、実施例2以降で詳述する。
次に、本実施例の効果を高める好ましい条件に関して説明する。入力データはさらに、輝度飽和マップを含むことが望ましい。輝度飽和マップは、画像の輝度飽和画素領域を示し、画像と同じサイズである。学習フェーズでは、訓練画像から輝度飽和マップを生成する。推定フェーズでは、撮像画像から輝度飽和マップを生成する。輝度飽和部には、輝度飽和による被写体の構造とは異なる偽エッジが存在するため、機械学習モデルはこれを、高周波成分を有するデフォーカスぼけやピント位置など、エッジを有するものと区別することが難しい。輝度飽和マップにより、輝度飽和部と高周波成分を有するデフォーカスぼけ、ピント位置を機械学習モデルが区別できるようになり、高精度な整形が可能になる。なお、高周波成分を有するデフォーカスぼけは、二線ぼけなど鋭いピークを持ったPSFが作用した際に発生しやすい。
入力データはさらに、デフォーカスマップを含むことが望ましい。デフォーカスマップは、撮像画像における被写体に作用したデフォーカスぼけの情報を示すマップである。学習フェーズでは、訓練画像に作用させたデフォーカスぼけに対応するデフォーカス量を数値に換算する。例えば、フォーカス面を0とし、撮像装置から離れる方向を負、近づく方向を正とすればよい。推定フェーズでは、視差画像の撮像やDFD(Depth from Defocus)などを利用して撮像画像のデフォーカスマップを取得する。このときのデフォーカスマップの数値は、学習フェーズでの数値と対応させる。デフォーカスマップにより、ピント位置の被写体とデフォーカスぼけを高精度に区別した整形が可能になる。デフォーカスマップが無い場合は、ピント位置の被写体と高周波成分を有するデフォーカスぼけが区別できず、ピント位置の被写体がぼけてしまう。
入力データはさらに、ステートマップを含むことが望ましい。ステートマップは、撮像時の光学系102aの状態を(Z,F,D)で表した情報である。(Z,F,D)において、Zはズーム、Fは絞り、Dはフォーカス距離に対応する。
入力データはさらに、位置マップを含むことが望ましい。位置マップは、画像の各画素に対する像面座標を示すマップである。位置マップは、極座標系(像高とアジムスに対応)でもよい。
デフォーカスぼけはレンズステートおよび像高・アジムスによって変化する。CNNは学習データに含まれる全てのデフォーカスぼけを平均的に整形するように学習されるため、異なる形状のデフォーカスぼけ各々に対する整形の精度は低下する。そこで、ステートマップと位置マップを機械学習モデルに入力することで、撮像画像に作用しているPSFを機械学習モデルが特定することができる。これによって、学習フェーズでは、機械学習モデルは、学習の訓練画像に様々な形状のデフォーカスぼけが含まれていても、それらのデフォーカスぼけを平均的に整形するようなウエイトでなく、デフォーカスぼけの形状ごとに異なる整形を行うウエイトを学習する。これにより、推定フェーズでは、各デフォーカスぼけに対して高精度な整形が可能となる。このため、整形の精度低下を抑制して、様々な形状のデフォーカスぼけを整形可能な学習データを一括で学習することができる。
次に、図10および図11を参照して、本発明の実施例2における画像処理システムに関して説明する。図10は、本実施例における画像処理システム300のブロック図である。図11は、画像処理システム300の外観図である。
画像処理システム300は、学習装置301、撮像装置302、画像推定装置303、および、ネットワーク304、305を有する。学習装置301は、記憶部301a、取得部301b、生成部301c、および、更新部301dを有し、デフォーカスぼけ整形に用いる機械学習モデルのウエイトを学習する。なお、ウエイトの学習、およびウエイトを用いたデフォーカスぼけ整形に関する詳細については後述する。
撮像装置302は、光学系302a、撮像素子302b、取得部302c、記録媒体302d、表示部302e、および、システムコントローラ302fを有する。光学系302aは、被写体空間から入射した光を集光し、光学像(被写体像)を形成する。撮像素子302bは、光学像を光電変換によって電気信号へ変換し、撮像画像を生成する。
画像推定装置(画像処理装置)303は、記憶部303a、ぼけ整形部(生成手段)303b、取得部(取得手段)303c、および、生成部303dを有する。画像推定装置303は、撮像装置302で撮像された撮像画像(またはその少なくとも一部)に対して、デフォーカスぼけを整形した推定画像を生成する。推定画像の生成には、学習装置301で学習された学習済みのウエイトの情報が用いられる。ウエイトの情報は、記憶部303aに記憶されている。取得部302cは推定画像を取得し、記録媒体302dは推定画像を保存する。システムコントローラ302fは、撮像装置302の一連の動作を制御する。
次に、図12を参照して、学習装置301で行うウエイトの学習(学習フェーズ)に関して説明する。図12は、ウエイトの学習(学習モデルの製造方法)に関するフローチャートである。図12の各ステップは、主に、学習装置301の各部により実行される。本実施例では、機械学習モデルとしてGANを使用するが、他のモデルについても同様に適用可能である。GANとは、画像を生成する生成器と、生成された画像を識別する識別器で構成される、敵対的生成ネットワークである。なお本実施例において、実施例1と同様の箇所の説明は省略する。
まずステップS301において、取得部301bは、1組以上の正解画像と訓練入力データを記憶部301aから取得する。正解画像と訓練画像の生成は、実施例1と同様である。ここで、図9を参照して、本実施例における訓練入力データの生成に関して説明する。図9は、機械学習モデルとしてのGANの構成を示す図である。連結層406は、訓練画像401と形状指定情報402をチャンネル方向に既定の順序で連結し、訓練入力データ403を生成する。
続いて、図10のステップS302において、生成部301cは、訓練入力データ403を生成器407に入力して、出力画像404を生成する。生成器407は、例えばCNNである。続いてステップS303において、更新部301dは、出力画像404と正解画像405の誤差から、生成器407のウエイトを更新する。ロス関数には、各画素における差分のユークリッドノルムを使用する。続いてステップS304において、更新部301dは、第1の学習が完了したか否かを判定する。第1の学習が完了していない場合、ステップS301へ戻る。一方、第1の学習が完了した場合、ステップS305へ進み、第2の学習を実行する。
続いてステップS305において、取得部301bは、ステップS301と同様に、1組以上の正解画像405と訓練入力データ403を記憶部301aから取得する。続いてステップS306において、生成部301cは、ステップS302と同様に、訓練入力データ403を生成器407に入力して、出力画像404を生成する。
ステップS307において、更新部301dは、出力画像404と正解画像405から識別器408のウエイトを更新する。識別器408は、入力された画像が生成器407によって生成されたフェイク画像か、正解画像405であるリアル画像かを識別する。出力画像404または正解画像405を識別器408に入力し、識別ラベル(フェイクかリアルか)を生成する。識別ラベルと正解ラベル(出力画像404はフェイク、正解画像405がリアル)の誤差に基づいて、識別器408のウエイトを更新する。ロス関数にはsigmoid cross entropyを使用するが、その他のロス関数を用いてもよい。
続いてステップS308において、更新部301dは、出力画像404と正解画像405から生成器407のウエイトを更新する。ロス関数は、ステップS303のユークリッドノルムと、以下の2項の重み付き和とする。1項目はContent Lossと呼ばれる、出力画像404と正解画像405を特徴マップに変換し、その要素毎の差分のユークリッドノルムをとった項である。特徴マップでの差分をロス関数に加えることで、出力画像404のより抽象的な性質を正解画像405へ近づけることができる。2項目はAdversarial Lossと呼ばれる、出力画像404を識別器408へ入力して得られた識別ラベルのsigmoid cross entropyである。識別器408が、リアルと識別するように学習することで、より主観的に正解画像405らしく見える出力画像404が得られるようになる。
続いてステップS309において、更新部301dは、第2の学習が完了したか否かを判定する。ステップS304と同様に、第2の学習が完了していない場合、ステップS305へ戻る。一方、第2の学習が完了した場合、学習済みの生成器407のウエイトの情報を記憶部301aに記憶する。
次に、図13および図14を参照して、画像推定装置303で実行されるデフォーカスぼけ整形(推定フェーズ)とユーザインタフェースに関して説明する。図13は、本実施例における推定画像の生成に関するフローチャートである。図14は、本実施例におけるユーザインタフェースを示す図である。本実施例では、ユーザはしきい値を指定して撮像画像の領域を分割し、分割した領域ごとにデフォーカスぼけの形状を指定することでデフォーカスぼけを整形することができる。
図14に示されるように、表示部302eは、撮像画像302e−1、輝度値ヒストグラム302e−2、領域分割画像302e−3、および、デフォーカスぼけ形状指定タブ302e−4を表示する。本実施例における撮像画像302e−1は、ピント位置に人物を有し、背景の高輝度被写体とその他被写体がデフォーカスぼけしている。
まず、図13のステップS401において、取得部303cは、撮像画像(またはその少なくとも一部)を取得する。続いてステップS402において、取得部303cは、ユーザが撮像画像302e−1のヒストグラム302e−2を見て指定したしきい値を取得する。続いてステップS403において、生成部303dは、取得したしきい値に基づき、領域分割画像302e−3を生成する。例えば、0から255までの輝度値を持つ撮像画像に対して、250から255を領域A、0から250を領域Bとする。これにより、背景の高輝度被写体とその他被写体を分割することができる。画像内一律にデフォーカスぼけ整形する場合は、領域分割はしなくてもよい。
続いてステップS404において、取得部303cは、ユーザがデフォーカスぼけの形状指定タブ302e−4で指定した、整形後のデフォーカスぼけの形状を取得する。形状は、ステップS403で分割した領域ごとに指定する。指定する情報は大きさ、種類である。大きさは、F1.0またはF2.0のように指定する。種類は、ガウスぼけまたは玉ぼけのように各種デフォーカスぼけ形状を指定する。例えば、領域AをF1.0の玉ぼけ、領域BをF2.0のガウスぼけと指定する。
続いてステップS405において、生成部303dは、取得した領域分割情報と整形後のデフォーカスぼけの形状を指定する情報に基づき、形状指定情報を生成する。続いてステップS406において、取得部303cは、入力データと学習済みのウエイトの情報を取得する。入力データは、撮像画像と形状指定情報を含む。ウエイトの情報は、予め記憶部301aから読み出され、記憶部303aに記憶されている。
続いてステップS407において、ぼけ整形部303bは、入力データをCNNに入力し、推定画像を生成する。ステップS404において、領域AをF1.0の玉ぼけ、領域BをF2.0のガウスぼけと指定した場合、撮像画像302e−1のデフォーカスぼけを、指定した形状に整形した推定画像を生成することができる。
以上の構成により、学習負荷と保持データ量を抑制しつつ、デフォーカスぼけの形状を様々な形状に整形することができる。
次に、図16および図17を参照して、本発明の実施例3における画像処理システムに関して説明する。図16は、本実施例における画像処理システム500のブロック図である。図17は、画像処理システム500の外観図である。
画像処理システム500は、学習装置501、撮像装置502、レンズ装置503、制御装置(第1の装置)504、画像推定装置(第2の装置)505、および、ネットワーク506、507を有する。制御装置504と画像推定装置505は、ネットワーク506を介して互いに通信可能である。学習装置501と画像推定装置505は、ネットワーク507を介して互いに通信可能である。学習装置501および画像推定装置505はそれぞれ、例えばサーバである。制御装置504は、ユーザ端末(スマートフォン、タブレットなど)である。学習装置501は、記憶部501a、取得部501b、生成部501c、および、更新部501dを有し、撮像装置502を用いて撮像された撮像画像のデフォーカスぼけを整形する機械学習モデルのウエイトを学習する。なお、学習に関する詳細については、後述する。
撮像装置502は撮像素子502aを有し、撮像素子502aがレンズ装置503の形成した光学像を光電変換して撮像画像を取得する。レンズ装置503は撮像装置502に対して着脱可能であり、レンズ装置503と撮像装置502は互いに複数種類と組み合わることができる。制御装置504は、通信部504a、表示部504b、記憶部504c、および、取得部504dを有し、有線または無線で接続された撮像装置502から取得した撮像画像に対して、実行する処理をユーザの操作に従って制御する。または、撮像装置502で撮像した撮像画像を予め記憶部504cに記憶しておき、記憶した撮像画像を読み出してもよい。
画像推定装置505は、通信部505a、取得部(取得手段)505b、記憶部505c、および、整形部(生成手段)505dを有する。画像推定装置505は、ネットワーク506を介して接続された制御装置504の要求に応じて、撮像画像のデフォーカスぼけ整形処理を実行する。画像推定装置505は、ネットワーク507を介して接続された学習装置501から、学習済みのウエイトの情報をデフォーカスぼけ整形時または予め取得し、撮像画像のデフォーカスぼけ整形に用いる。デフォーカスぼけ整形後の推定画像は、再び制御装置504へ伝送されて、記憶部504cに記憶され、表示部504bに表示される。
次に、学習装置501で行うウエイトの学習(学習フェーズ)に関して説明する。本実施例における形状指定情報の入力方法は、実施例1と異なる。なお、ウエイトの学習に関するフローチャートの各ステップは、図5と同様である。
図15を参照して、形状指定情報の入力方法を説明する。図15は、本実施例における機械学習モデルの構成を示す図である。訓練入力データは、訓練画像601と形状指定情報602である。訓練画像601と形状指定情報602をそれぞれ、サブネットワーク607、608を用いて特徴マップ603、604へ変換する。連結層609は、特徴マップ603と特徴マップ604をチャンネル方向に既定の順序で連結する。CNN610は、連結した特徴マップ603と特徴マップ604を入力とし、出力画像605を生成する。
次に、図18および図19を参照して、本実施例における制御装置504と画像推定装置505で実行される撮像画像のデフォーカスぼけ整形(推定フェーズ)とユーザインタフェースに関して説明する。図18は、本実施例における推定画像の生成に関するフローチャートである。図18の各ステップは、主に、画像推定装置505の各部により実行される。図19は、本実施例におけるユーザインタフェースを示す図である。
本実施例では、ユーザは事前に設定したモードを選択することで、撮像画像のデフォーカスぼけを整形することができる。図19に示されるように、表示部504bは、モード選択タブ504b−1および撮像画像504b−2を表示する。本実施例における撮像画像504b−2は、ピント位置に3名の人物を有し、背景がデフォーカスぼけしている。
まず、図18のステップS501において、取得部504dは、ユーザがモード選択タブ504b−1で選択した情報を取得する。例えば、(1)全てガウスぼけ(F値1.0)、(2)全て玉ぼけ(F値2.0)、(3)輝度飽和部は玉ぼけ、その他はガウスぼけ(F値1.0)の3つを選択可能なモードとして事前に設定しておく。モードの選択は、形状指定情報の選択に相当する。その他のモードとして、デフォーカスマップのデフォーカス量に応じて領域分割し、デフォーカス量が大きい領域ほどF値を下げるような設定をしてもよい。これにより、距離感を強調した画像を作成することができる。
続いてステップS502において、通信部(送信手段)504aは、画像推定装置505へ、撮像画像、デフォーカスマップ、選択されたモードの情報、および、推定画像を生成する要求(撮像画像に対する処理の実行に関する要求)を送信する。デフォーカスマップは、実施例1に記載した方法で生成することができる。
続いてステップS503において、通信部505aは、送信された撮像画像、デフォーカスマップ、モードの情報、および、処理の要求を受信し、取得する。続いてステップS504において、取得部505bは、学習済みのウエイトの情報を記憶部505cから取得する。ウエイトの情報は、予め記憶部501aから読み出され、記憶部505cに記憶されている。続いてステップS505において、取得部505bは、撮像画像から輝度飽和マップを取得する。
続いてステップS506において、整形部505dは、選択されたモードの情報から形状指定情報を生成する。形状指定情報の生成には、輝度飽和マップまたはデフォーカスマップを利用することが望ましい。輝度飽和マップまたはデフォーカスマップに基づいた場合は、被写体領域を抽出することができ、形状指定情報は空間的に分布を有する。しかし、輝度飽和マップまたはデフォーカスマップのみで被写体領域を抽出すると、被写体領域に欠損が発生する可能性がある。例えば、街灯などの光源領域を輝度飽和マップで抽出しようとすると、光源の輝度ムラや作用しているデフォーカスぼけの分布により、一部が輝度飽和していない場合がある。その際は、オープニング処理を用いることで、領域の欠損を埋めることができる。このため、被写体領域の抽出には、オープニング処理を用いることが望ましい。
続いてステップS507において、整形部505dは、入力データをCNNに入力し、撮像画像のデフォーカスぼけを整形した推定画像を生成する。入力データは、撮像画像と形状指定情報を含む。ステップS501において、(1)全てガウスぼけ(F値1.0)を選択した場合、撮像画像504b−2のデフォーカスぼけを、F1.0のガウスぼけに整形した推定画像を生成することができる。続いてステップS508において、通信部505aは、推定画像を制御装置504へ送信する。
続いてステップS509において、通信部504aは、送信された推定画像を取得し、記憶部504cへ保存する。または、ステップS502において、撮像画像と事前に設定した選択可能なモードの推定画像を全て生成する要求を送信し、以降のステップで生成された複数の推定画像を記憶部505cに保存してもよい。ユーザによってモードが選択された場合、該当する推定画像を制御装置504へ送信する。
以上の構成により、学習負荷と保持データ量を抑制しつつ、デフォーカスぼけの形状を様々な形状に整形することができる。
次に、図21および図22を参照して、本発明の実施例4における画像処理システムに関して説明する。図21は、画像処理システム700のブロック図である。図22は、画像処理システム700の外観図である。
画像処理システム700は、学習装置701、撮像装置702、レンズ装置703、制御装置(第1の装置)704、画像推定装置(第2の装置)705、および、ネットワーク706、707を有する。学習装置701は、記憶部701a、取得部701b、生成部701c、および、更新部701dを有する。撮像装置702は、撮像素子702aを有する。制御装置704は、通信部704a、表示部704b、記憶部704c、および、取得部704dを有する。画像推定装置705は、通信部705a、取得部(取得手段)705b、記憶部705c、および、整形部(生成手段)705dを有する。なお、画像処理システム700における各装置の構成および動作は実施例3の画像処理システム500と同様のため、それらの説明を省略する。本実施例では、ユーザ端末としてパーソナルコンピュータを使用する。
次に、学習装置701で行うウエイトの学習(学習フェーズ)に関して説明する。本実施例は、形状指定情報の入力方法の点で、実施例1と異なる。その他のステップは同様である。
図20を参照して、形状指定情報の入力方法を説明する。図20は、本実施例における機械学習モデルの構成を示す図である。訓練入力データは、訓練画像801と形状指定情報802である。本実施例において、形状指定情報802は、サブネットワーク806を用いて特徴マップ803に変換する。連結層807は、訓練画像801と特徴マップ803をチャンネル方向に既定の順序で連結する。CNN808は、連結した訓練画像801と特徴マップ803を入力とし、出力画像804を生成する。
次に、図23および図24を参照して、制御装置704と画像推定装置705で実行される撮像画像のデフォーカスぼけ整形(推定フェーズ)とユーザインタフェースに関して説明する。図23は、本実施例における推定画像の生成に関するフローチャートである。図23の各ステップは、主に、画像推定装置705の各部により実行される。図24は、本実施例におけるユーザインタフェースを示す図である。
本実施例では、ユーザはカーソル等で撮像画像を領域分割し、分割した領域ごとにデフォーカスぼけ形状を指定することでデフォーカスぼけを整形することができる。図24に示されるように、表示部704bは、撮像画像704b−1、領域分割画像704b−2、および、デフォーカスぼけ形状指定タブ704b−3を表示する。本実施例における撮像画像704b−1は、ピント位置に人物を有し、背景の高輝度被写体とその他被写体がデフォーカスぼけしている。
まず、図23のステップS601において、取得部704dは、ユーザが指定した領域分割に関する情報を取得して、撮像画像の領域分割を行う。ユーザは、表示部704bを見ながら撮像画像の領域分割に関する情報を指定する。例えば、領域Aを抽出したい場合、ユーザは領域Aの周囲をカーソル等で大まかに選択する。続いて、大まかに選択された領域から、輝度飽和マップまたはデフォーカスマップを利用して、領域Aを取得する。取得(抽出)しようとする領域が輝度飽和部である場合、輝度飽和マップを用いる。また、取得しようとする領域が特定の被写体の領域である場合、デフォーカスマップを用いる。また、輝度飽和した領域を取得する場合、デフォーカスマップでは輝度飽和部以外の領域が含まれる可能性があるため、輝度飽和マップを用いる。ユーザがカーソル等で領域を高精度に指定することは難しいため、このようなマップを用いる。
続いてステップS602において、取得部704dは、ユーザが指定した整形後のデフォーカスぼけの形状に関する情報を取得する。これは、ユーザがぼけ形状指定タブ704b−3を用いて、分割した領域ごとに指定する。例えば、領域AはF1.4の玉ぼけ、領域BはF2.8のガウスぼけと指定する。続いてステップS603において、通信部(送信手段)704aは、画像推定装置705へ撮像画像、推定画像を生成する要求(撮像画像に対する処理の実行に関する要求)、領域分割に関する情報、整形後のデフォーカスぼけの形状に関する情報を送信する。
続いてステップS604において、通信部705aは、送られてきた撮像画像、処理の要求、領域分割に関する情報、整形後のデフォーカスぼけの形状に関する情報を受信し、取得する。続いてステップS605において、取得部(取得手段)705bは、学習済みのウエイトの情報を記憶部705cから取得する。ウエイトの情報は、予め記憶部701aから読み出され、記憶部705cに記憶されている。続いてステップS606において、整形部(生成手段)705dは、領域分割に関する情報、整形後のデフォーカスぼけの形状に関する情報に基づき形状指定情報を生成する。続いてステップS607において、整形部705dは、入力データをCNNに入力し、デフォーカスぼけが整形された推定画像を生成する。ステップS602にて、領域AはF1.4の玉ぼけ、領域BはF2.8のガウスぼけと指定した場合、撮像画像704b−1のデフォーカスぼけを、指定した形状に整形した推定画像を生成することができる。
続いてステップS608において、通信部705aは、推定画像を制御装置704へ送信する。そしてステップS609において、通信部704aは、送信されてきた推定画像を取得し、記憶部704cへ保存する。
以上の構成により、学習負荷と保持データ量を抑制しつつ、デフォーカスぼけの形状を様々な形状に整形することができる。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施例によれば、機械学習モデルの学習負荷と保持データ量の増大を抑制しつつ、撮像画像のデフォーカスぼけを種々の形状に(ユーザの好みに合わせて)整形することが可能な画像処理方法を提供することができる。また各実施例によれば、同様の効果を得るためのプログラム、画像処理装置、画像処理システム、および、学習済みモデルの製造方法を提供することができる。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されたものではなく、その要旨の範囲内で様々な変形、及び変更が可能である。
103 画像推定装置(画像処理装置)
103b 取得部(取得手段)
103c ぼけ整形部(生成手段)

Claims (18)

  1. 撮像画像のデフォーカスぼけの形状を整形した推定画像を生成する画像処理方法であって、
    前記撮像画像と、前記推定画像のデフォーカスぼけの形状を指定する形状指定情報と、を含む入力データを取得する第1の工程と、
    前記入力データに基づいて前記推定画像を生成する第2の工程と、を有することを特徴とする画像処理方法。
  2. 前記形状指定情報は、前記デフォーカスぼけの大きさ、または種類を指定する情報を含むことを特徴とする請求項1に記載の画像処理方法。
  3. 前記大きさおよび種類は、仮想のレンズパラメータに相当することを特徴とする請求項2に記載の画像処理方法。
  4. 前記形状指定情報は、前記撮像画像の信号値に基づいて決定されることを特徴とする請求項1乃至3のいずれか一項に記載の画像処理方法。
  5. 前記形状指定情報は、前記撮像画像の信号値の分布に基づいて決定されることを特徴とする請求項4に記載の画像処理方法。
  6. 前記形状指定情報は、前記撮像画像のデフォーカスマップに基づいて決定されることを特徴とする請求項1乃至5のいずれか一項に記載の画像処理方法。
  7. 前記形状指定情報は、空間的に分布を持つことを特徴とする請求項1乃至6のいずれか一項に記載の画像処理方法。
  8. 前記形状指定情報は、少なくとも1チャンネル以上のマップであり、デフォーカスぼけの大きさ、または種類を数値で示し、前記数値は正規化されていることを特徴とする請求項1乃至7のいずれか一項に記載の画像処理方法。
  9. 前記撮像画像に対する置換領域に関する情報を取得し、前記撮像画像の前記置換領域を前記推定画像で置換する第3の工程を更に有することを特徴とする請求項1乃至8のいずれか一項に記載の画像処理方法。
  10. 前記置換領域は、前記撮像画像の信号値またはデフォーカスマップに基づいて決定されることを特徴とする請求項9に記載の画像処理方法。
  11. 前記入力データは、更に、前記撮像画像のデフォーカスマップまたは輝度飽和マップを含むことを特徴とする請求項1乃至10のいずれか一項に記載の画像処理方法。
  12. 前記第2の工程において、前記入力データを予め学習された機械学習モデルに入力し、前記推定画像を生成することを特徴とする請求項1乃至11のいずれか一項に記載の画像処理方法。
  13. 前記機械学習モデルは、デフォーカスぼけの大きさ、または種類を指定する第1の形状指定情報と、前記第1の形状指定情報とは異なる前記デフォーカスぼけの大きさ、または種類を指定する第2の形状指定情報と、に対して、同一のウエイトを用いることを特徴とする請求項12に記載の画像処理方法。
  14. 請求項1乃至13のいずれか一項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
  15. 撮像画像のデフォーカスぼけの形状を整形した推定画像を生成する画像処理装置であって、
    前記撮像画像と、前記推定画像のデフォーカスぼけの形状を指定する形状指定情報と、を含む入力データを取得する取得手段と、
    前記入力データに基づいて前記推定画像を生成する生成手段と、を有することを特徴とする画像処理装置。
  16. 同一の被写体が存在し、異なる形状のデフォーカスぼけを有する訓練画像と正解画像を取得する工程と、
    前記正解画像のデフォーカスぼけの形状を指定する形状指定情報を取得する工程と、
    前記訓練画像と前記正解画像と前記形状指定情報とに基づいて、機械学習モデルを学習する工程と、を有する学習モデルの製造方法。
  17. 同一の被写体が存在し、異なる形状のデフォーカスぼけを有する訓練画像と正解画像を取得する第1の取得手段と、
    前記正解画像のデフォーカスぼけの形状を指定する形状指定情報を取得する第2の取得手段と、
    前記訓練画像と前記正解画像と前記形状指定情報に基づいて、機械学習モデルを学習する学習手段と、を有することを特徴とする画像処理装置。
  18. 互いに通信可能な第1の装置と第2の装置を有する画像処理システムであって、
    前記第1の装置は、撮像画像に対する処理の実行に関する要求を前記第2の装置へ送信する送信手段を有し、
    前記第2の装置は、
    前記要求を受信する受信手段と、
    前記撮像画像と、推定画像のデフォーカスぼけの形状を指定する形状指定情報と、を含む入力データを取得する取得手段と、
    前記要求に応じて、前記入力データに基づいて前記撮像画像のデフォーカスぼけの形状を整形した前記推定画像を生成する生成手段と、を有することを特徴とする画像処理システム。
JP2019178047A 2019-09-27 2019-09-27 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム Active JP7455542B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019178047A JP7455542B2 (ja) 2019-09-27 2019-09-27 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム
US17/028,104 US11508038B2 (en) 2019-09-27 2020-09-22 Image processing method, storage medium, image processing apparatus, learned model manufacturing method, and image processing system
CN202011022610.3A CN112581382A (zh) 2019-09-27 2020-09-25 图像处理方法、装置及系统、存储介质和学习模型制造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019178047A JP7455542B2 (ja) 2019-09-27 2019-09-27 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム

Publications (3)

Publication Number Publication Date
JP2021056678A true JP2021056678A (ja) 2021-04-08
JP2021056678A5 JP2021056678A5 (ja) 2022-10-03
JP7455542B2 JP7455542B2 (ja) 2024-03-26

Family

ID=75119616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019178047A Active JP7455542B2 (ja) 2019-09-27 2019-09-27 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム

Country Status (3)

Country Link
US (1) US11508038B2 (ja)
JP (1) JP7455542B2 (ja)
CN (1) CN112581382A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7205013B1 (ja) * 2021-07-19 2023-01-16 浜松ホトニクス株式会社 特徴量出力モデル生成システム、特徴量出力モデル生成方法、特徴量出力モデル生成プログラム及び特徴量出力モデル
WO2023002678A1 (ja) * 2021-07-19 2023-01-26 浜松ホトニクス株式会社 特徴量出力モデル生成システム、特徴量出力モデル生成方法、特徴量出力モデル生成プログラム及び特徴量出力モデル

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893482B2 (en) * 2019-11-14 2024-02-06 Microsoft Technology Licensing, Llc Image restoration for through-display imaging
US11227151B2 (en) * 2020-03-05 2022-01-18 King Fahd University Of Petroleum And Minerals Methods and systems for computerized recognition of hand gestures
US11750938B2 (en) * 2021-02-18 2023-09-05 Canon Kabushiki Kaisha Image pickup apparatus that can assist user, control method therefor, and storage medium storing control program therefor
CN114330574A (zh) * 2021-12-31 2022-04-12 广东泰迪智能科技股份有限公司 一种面向模式识别的模糊标注方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123805A (ja) * 2012-12-20 2014-07-03 Canon Inc 画像処理装置、撮像装置、画像処理プログラムおよび画像処理方法
WO2018037521A1 (ja) * 2016-08-25 2018-03-01 キヤノン株式会社 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、記憶媒体
JP2019067388A (ja) * 2017-09-29 2019-04-25 インターデジタル シーイー パテント ホールディングス ライトフィールド画像を操作するためのユーザインターフェイス

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207549A (ja) 1999-01-11 2000-07-28 Olympus Optical Co Ltd 画像処理装置
US9143687B2 (en) * 2012-03-14 2015-09-22 University Of Dayton Method of analyzing motion blur using double discrete wavelet transform
US9779491B2 (en) * 2014-08-15 2017-10-03 Nikon Corporation Algorithm and device for image processing
JP2015109681A (ja) * 2015-01-09 2015-06-11 キヤノン株式会社 画像処理方法、画像処理装置、画像処理プログラムおよび撮像装置
JP2016220016A (ja) 2015-05-20 2016-12-22 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、プログラム
JP2017010092A (ja) * 2015-06-17 2017-01-12 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体
JP2017010095A (ja) * 2015-06-17 2017-01-12 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、画像処理プログラム、および、記憶媒体
CN108810319B (zh) * 2017-04-26 2020-10-23 富士通株式会社 图像处理装置和图像处理方法
CN109727201A (zh) * 2017-10-30 2019-05-07 富士通株式会社 信息处理设备、图像处理方法以及存储介质
US10740876B1 (en) * 2018-01-23 2020-08-11 Facebook Technologies, Llc Systems and methods for generating defocus blur effects
CN108629743B (zh) * 2018-04-04 2022-03-25 腾讯科技(深圳)有限公司 图像的处理方法、装置、存储介质和电子装置
CN109087256A (zh) * 2018-07-19 2018-12-25 北京飞搜科技有限公司 一种基于深度学习的图像去模糊方法及系统
US11195257B2 (en) * 2018-08-24 2021-12-07 Canon Kabushiki Kaisha Image processing method, image processing apparatus, imaging apparatus, lens apparatus, storage medium, and image processing system
JP6573185B1 (ja) 2018-12-07 2019-09-11 株式会社鈴康 情報処理システム、情報処理方法及びプログラム
JP7258604B2 (ja) * 2019-03-05 2023-04-17 キヤノン株式会社 画像処理方法、画像処理装置、プログラム、および学習済みモデルの製造方法
CN109977847B (zh) 2019-03-22 2021-07-16 北京市商汤科技开发有限公司 图像生成方法及装置、电子设备和存储介质
JP7016835B2 (ja) * 2019-06-06 2022-02-07 キヤノン株式会社 画像処理方法、画像処理装置、画像処理システム、学習済みウエイトの製造方法、および、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123805A (ja) * 2012-12-20 2014-07-03 Canon Inc 画像処理装置、撮像装置、画像処理プログラムおよび画像処理方法
WO2018037521A1 (ja) * 2016-08-25 2018-03-01 キヤノン株式会社 画像処理方法、画像処理装置、撮像装置、画像処理プログラム、記憶媒体
JP2019067388A (ja) * 2017-09-29 2019-04-25 インターデジタル シーイー パテント ホールディングス ライトフィールド画像を操作するためのユーザインターフェイス

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIJUN WANG, ET AL.: "DeepLens: Shallow Depth Of Field From A Single Image", ARXIV, JPN7023003058, 18 October 2018 (2018-10-18), US, pages 245 - 1, ISSN: 0005128309 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7205013B1 (ja) * 2021-07-19 2023-01-16 浜松ホトニクス株式会社 特徴量出力モデル生成システム、特徴量出力モデル生成方法、特徴量出力モデル生成プログラム及び特徴量出力モデル
WO2023002678A1 (ja) * 2021-07-19 2023-01-26 浜松ホトニクス株式会社 特徴量出力モデル生成システム、特徴量出力モデル生成方法、特徴量出力モデル生成プログラム及び特徴量出力モデル

Also Published As

Publication number Publication date
JP7455542B2 (ja) 2024-03-26
US11508038B2 (en) 2022-11-22
US20210097650A1 (en) 2021-04-01
CN112581382A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
JP7455542B2 (ja) 画像処理方法、プログラム、画像処理装置、学習済みモデルの製造方法、および、画像処理システム
JP7016835B2 (ja) 画像処理方法、画像処理装置、画像処理システム、学習済みウエイトの製造方法、および、プログラム
KR102574141B1 (ko) 이미지 디스플레이 방법 및 디바이스
JP7362284B2 (ja) 画像処理方法、画像処理装置、プログラム、画像処理システム、および、学習済みモデルの製造方法
US10706512B2 (en) Preserving color in image brightness adjustment for exposure fusion
JP2020144489A (ja) 画像処理方法、画像処理装置、プログラム、学習済みモデルの製造方法、および、画像処理システム
RU2596062C1 (ru) Способ коррекции изображения глаз с использованием машинного обучения и способ машинного обучения
US20200412982A1 (en) Laminated image pickup device, image pickup apparatus, image pickup method, and recording medium recorded with image pickup program
JP2020036310A (ja) 画像処理方法、画像処理装置、撮像装置、レンズ装置、プログラム、記憶媒体、および、画像処理システム
TWI805282B (zh) 使用焦點資訊深度估計的方法和裝置
CN113658091A (zh) 一种图像评价方法、存储介质及终端设备
JP7403995B2 (ja) 情報処理装置、制御方法およびプログラム
JP2012003455A (ja) 画像処理装置、撮像装置および画像処理プログラム
KR20200111104A (ko) 인공지능에 기반하여 영상을 분석하는 카메라 및 그것의 동작 방법
JP2022046219A (ja) 画像処理方法、画像処理装置、画像処理プログラム、学習方法、学習装置、学習プログラム
JP2017103756A (ja) 画像データ処理装置及び方法
JP7309520B2 (ja) 画像処理方法、画像処理装置、撮像装置、プログラム、記憶媒体、画像処理システム、および、学習済みモデルの製造方法
JP2021174070A (ja) 画像処理方法、学習済みモデルの製造方法、プログラム、および、画像処理装置
CN115699073A (zh) 神经网络支持的相机图像或视频处理流水线
TWI590192B (zh) 適應性高動態範圍影像合成演算法
JP2023069527A (ja) 画像処理装置および画像処理方法
JP7225316B2 (ja) 画像処理方法、画像処理装置、画像処理システム、およびプログラム
JP7451443B2 (ja) 画像処理方法および装置、機械学習モデルの訓練方法および装置、並びにプログラム
JP2022121775A (ja) 画像処理方法、プログラム、画像処理装置、および学習済みモデルの製造方法
JP2023104667A (ja) 画像処理方法、画像処理装置、画像処理システム、およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240313

R151 Written notification of patent or utility model registration

Ref document number: 7455542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151