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

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

▶ セイコーエプソン株式会社の特許一覧

特開2024-120374画像変換装置、画像変換方法、および、プログラム
<>
  • 特開-画像変換装置、画像変換方法、および、プログラム 図1
  • 特開-画像変換装置、画像変換方法、および、プログラム 図2
  • 特開-画像変換装置、画像変換方法、および、プログラム 図3
  • 特開-画像変換装置、画像変換方法、および、プログラム 図4
  • 特開-画像変換装置、画像変換方法、および、プログラム 図5
  • 特開-画像変換装置、画像変換方法、および、プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024120374
(43)【公開日】2024-09-05
(54)【発明の名称】画像変換装置、画像変換方法、および、プログラム
(51)【国際特許分類】
   G06T 3/4046 20240101AFI20240829BHJP
   H04N 23/60 20230101ALI20240829BHJP
【FI】
G06T3/40 725
H04N23/60 500
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023027125
(22)【出願日】2023-02-24
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】山田 和美
(72)【発明者】
【氏名】渡邊 亮基
(72)【発明者】
【氏名】倉沢 光
(72)【発明者】
【氏名】金澤 佳奈
【テーマコード(参考)】
5B057
5C122
【Fターム(参考)】
5B057CA01
5B057CA08
5B057CB01
5B057CB08
5B057CC02
5B057CD05
5B057CE08
5B057DB06
5B057DB09
5B057DC40
5C122EA37
5C122FH09
5C122FH18
5C122HA46
5C122HA48
5C122HB01
(57)【要約】
【課題】変換された高解像度画像の画質を向上させる。
【解決手段】第1処理部は、第1種別の対象が含まれている第1高解像度画像と第1低解像度画像とのペアの集合を用いた機械学習により生成されている第1機械学習モデルを用いて対象領域を高解像度化することにより第1出力画像を生成する。第2処理部は、第2種別の対象が含まれている第2高解像度画像と第2高解像度画像とのペアの集合を用いた機械学習により生成されている第2機械学習モデルを用いて対象領域を高解像度化することにより第2出力画像を生成する。合成部は、入力画像に第1種別の対象が含まれている確からしさを表す第1指標値で第1出力画像に重みを付け、入力画像に第2種別の対象が含まれている確からしさを表す第2指標値で第2出力画像に重みを付け、第1出力画像と第2出力画像とを合成して出力画像を生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像変換装置であって、
画像を高解像度化処理する第1機械学習モデルと第2機械学習モデルとを記憶する記憶部であって、
前記第1機械学習モデルは、
第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の第1学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成され、
前記第2機械学習モデルは、
前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、の第2学習画像のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成されている、
記憶部と、
前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成する第1処理部と、
前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成する第2処理部と、
前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得する取得部と、
前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、出力画像を生成する合成部と、
を備える画像変換装置。
【請求項2】
請求項1に記載の画像変換装置であって、
前記取得部は、前記入力画像から生成されたN個(Nは2以上の整数)の小ブロック画像であって、それぞれ一部が他の小ブロック画像と重複し、互いの他の一部が前記他の小ブロック画像と重複しないN個の小ブロック画像のそれぞれを前記対象領域として、それぞれの前記対象領域に前記第1種別の対象が含まれている確からしさを表す前記第1指標値と、それぞれの前記対象領域に前記第2種別の対象が含まれている確からしさを表す前記第2指標値と、を取得し、
前記第1処理部は、前記第1機械学習モデルを用いて前記N個の小ブロック画像それぞれを高解像度化することにより、N個の第1小ブロック出力画像を生成し、
前記第2処理部は、前記第2機械学習モデルを用いて前記N個の小ブロック画像それぞれを高解像度化することにより、N個の第2小ブロック出力画像を生成し、
前記合成部は、
前記第1小ブロック出力画像に前記第1小ブロック出力画像についての前記第1指標値で重みを付け、前記第1小ブロック出力画像に対応する前記第2小ブロック出力画像に前記第2小ブロック出力画像についての前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、N個の小ブロック出力画像を生成し、
N個の前記小ブロック出力画像を再構成して前記出力画像を生成する、
画像変換装置。
【請求項3】
画像変換方法であって、
画像を高解像度化処理する第1機械学習モデルであって、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成された第1機械学習モデルを準備するステップと、
画像を高解像度化処理する第2機械学習モデルであって、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成された第2機械学習モデルを準備するステップと、
前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成するステップと、
前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成するステップと、
前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得するステップと、
前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、出力画像を生成するステップと、
を含む画像変換方法。
【請求項4】
コンピューターに画像を高解像度化する画像変換処理を実行させるためのプログラムであって、
前記コンピューターに、
画像を高解像度化処理する第1機械学習モデルであって、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の第1学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成された第1機械学習モデルと、
画像を高解像度化処理する第2機械学習モデルであって、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、の第2学習画像のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成された第2機械学習モデルと、
を記憶部から読み出す機能と、
前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成する機能と、
前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成する機能と、
前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得する機能と、
前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像と、を合成することにより、出力画像を生成する機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像変換装置、画像変換方法、および、プログラムに関する。
【背景技術】
【0002】
特許文献1に記載されているように、機械学習モデルを用いて画像の解像度を上げる超解像技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献1】Yulun Zhang et al., ”Image Super-Resolution Using Very Deep Residual Channel Attention Networks”,[online],2018年7月12日,<URL: https://arxiv.org/abs/1807.02758>
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像を高解像度画像へ変換するための機械学習モデルを生成する際には、推論時に入力される画像が備える特徴に幅があることを想定して、一般的に、学習時には様々な特徴を備える複数の画像を教師データとして用いる。しかしながら、このようにして生成された機械学習モデルを用いたとしても、変換された高解像度画像について必ずしも所望の画質を得られるわけではない。このため、変換された高解像度画像の画質を向上させることができる技術が求められていた。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
本開示の第1形態によれば、画像を高解像度化処理する画像変換装置が提供される。この画像変換装置は、画像を高解像度化処理する第1機械学習モデルと第2機械学習モデルとを記憶する記憶部であって、前記第1機械学習モデルは、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の第1学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成され、前記第2機械学習モデルは、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、の第2学習画像のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成されている、記憶部と、前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成する第1処理部と、前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成する第2処理部と、前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得する取得部と、前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、出力画像を生成する合成部と、を備える。
【0007】
本開示の第2形態によれば、画像を高解像度化処理する画像変換方法が提供される。この画像変換方法は、画像を高解像度化処理する第1機械学習モデルであって、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成された第1機械学習モデルを準備するステップと、画像を高解像度化処理する第2機械学習モデルであって、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成された第2機械学習モデルを準備するステップと、前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成するステップと、前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成するステップと、前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得するステップと、前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、出力画像を生成するステップと、を含む。
【0008】
本開示の第3形態によれば、画像を高解像度化する画像変換処理をコンピューターに実行させるためのプログラムが提供される。このプログラムは、前記コンピューターに、画像を高解像度化処理する第1機械学習モデルであって、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の第1学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成された第1機械学習モデルと、画像を高解像度化処理する第2機械学習モデルであって、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、の第2学習画像のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成された第2機械学習モデルと、を記憶部から読み出す機能と、前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成する機能と、前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成する機能と、前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得する機能と、前記第1出力画像に前記第1指標値で重みを掛け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像と、を合成することにより、出力画像を生成する機能と、を実現させる。
【図面の簡単な説明】
【0009】
図1】第1実施形態にかかる画像変換装置の概略構成を示すブロック図である。
図2】学習モデルを生成する処理を表したフローチャートである。
図3】学習モデルを用いた画像変換処理を表したフローチャートである。
図4】小ブロック画像についての説明図である。
図5】第2実施形態における画像変換処理を表したフローチャートである。
図6】画像の再構成についての説明図である。
【発明を実施するための形態】
【0010】
A.第1実施形態:
図1は、本実施形態にかかる画像変換装置100の概略構成を示すブロック図である。画像変換装置100は、入力された画像を指定された倍率で高解像度化処理した画像を生成する。高解像度化処理は、入力された画像から、入力された画像が有する解像度より高い解像度を有する画像を生成する処理である。解像度とは1つの画像を構成する画素の密度あるいは画素数を意味する。高解像度化処理では、画質の向上のため、例えば、補間する画素の画素値を周辺の画素の値を用いた計算によって求める。本明細書において、画像はデジタル化された画像を意味し、アナログ画像を含まない。
【0011】
画像変換装置100は、メモリー110と、インターフェイス部120と、入力装置130と、表示装置140と、プロセッサー150と、を備えるコンピューターである。メモリー110を記憶部ともよぶ。
【0012】
メモリー110は、画像変換装置100が実行する各種処理に使用される各種のプログラムおよびデータを記憶する。メモリー110には、機械学習モデルである第1学習モデル11と、第2学習モデル12と、第3学習モデル13と、を表すデータが格納されている。メモリー110には、さらに、学習データセットLSが格納されている。
【0013】
第1学習モデル11、第2学習モデル12、および、第3学習モデル13は、それぞれ学習データを用いた機械学習により生成されている。第1学習モデル11、第2学習モデル12、および、第3学習モデル13は、例えば、畳み込みニューラルネットワーク(Convolutional Neural Networks: CNN)である。第1学習モデル11を第1機械学習モデルともよぶ。第2学習モデル12を第2機械学習モデルともよぶ。第1学習モデル11~第3学習モデル13それぞれはあらかじめ設定された設定倍率で低解像度画像を高解像度画像に変換する。以下、低解像度画像とは変換後の画像の解像度より低い解像度を有する画像を意味する。第1学習モデル11~第3学習モデル13それぞれに設定された高解像度化についての倍率は同じである。設定倍率は、例えば10倍である。
【0014】
学習データセットLSは、高解像度画像と、高解像度画像から生成できる低解像度画像と、のペアの集合を含む。低解像度画像は、例えば、ダウンサンプリングによって高解像度画像の解像度を下げることにより生成される。ダウンサンプリングの方法は、例えば、ニアレストネイバー法、バイリニア法、バイキュービック法である。
【0015】
低解像度画像は学習データとして用いられる画像であり、高解像度画像は目標データとして用いられる画像である。学習データセットLSに含まれる複数の高解像度画像それぞれの解像度は同じである。学習データセットLSに含まれる複数の低解像度画像それぞれの解像度は同じである。学習データセットLSに含まれている高解像度画像と、対応する低解像度画像とは、それぞれ異なる3つの種別の対象のうちいずれかの種別の対象を撮像した静止画像である。実施形態において、第1種別は「人物」、第2種別は「自然の風景」、第3種別は「建築物」である。第1種別の対象を含む高解像度画像を第1高解像度画像ともよぶ。第1種別の対象を含む低解像度画像を第1低解像度画像ともよぶ。第1種別の対象を含む高解像度画像と低解像度画像とのペアを第1学習画像のペアともよぶ。第1学習画像のペアの集合を第1学習データセットともよぶ。第2種別の対象を含む高解像度画像を第2高解像度画像ともよぶ。第2種別の対象を含む低解像度画像を第2低解像度画像ともよぶ。第2種別の対象を含む高解像度画像と低解像度画像とのペアを第2学習画像のペアともよぶ。第2学習画像のペアの集合を第2学習データセットともよぶ。
【0016】
インターフェイス部120には、入力装置130と、表示装置140とが接続されている。入力装置130は、例えば、キーボード、マウスである。表示装置140は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。
【0017】
プロセッサー150は、メモリー110に記憶されているプログラムを実行することにより様々な機能を実現する。プロセッサー150は、メモリー110に格納されているプログラムを実行することで、学習部210と、第1処理部220と、第2処理部230と、第3処理部240と、取得部250と、合成部260として機能する。
【0018】
学習部210は、学習データを用いた機械学習により第1学習モデル11~第3学習モデル13を生成する。第1処理部220は、第1学習モデル11を用いて処理の対象となる画像に高解像度画像化の処理を実行する。第2処理部230は、第2学習モデル12を用いて処理の対象となる画像に高解像度画像化の処理を実行する。第3処理部240は、第3学習モデル13を用いて処理の対象となる画像に高解像度画像化の処理を実行する。
【0019】
取得部250は、重み係数K1と重み係数K2と重み係数K3とを取得する。重み係数K1は入力画像IM0に第1種別の対象が含まれている確からしさを表す。重み係数K2は入力画像IM0に第2種別の対象が含まれている確からしさを表す。重み係数K3は入力画像IM0に第3種別の対象が含まれている確からしさを表す。重み係数K1を第1指標値ともよぶ。重み係数K2を第2指標値ともよぶ。重み係数K3を第3指標値ともよぶ。重み係数K1~K3は合成部260による画像の合成の処理に用いられる。
【0020】
合成部260は、第1処理部220により高解像度化された画像と、第2処理部230により高解像度化された画像と、第3処理部240により高解像度化された画像と、を合成することにより1つの出力画像を生成する。
【0021】
図2は、第1学習モデル11~第3学習モデル13を生成する処理を表したフローチャートである。図2に示す処理は、学習部210として機能するプロセッサー150により実行される。例えば、ユーザーが入力装置130を介して処理の開始を指示すると、プロセッサー150は図2に示す処理を開始する。なお、図2の処理が実行される前に、メモリー110に学習データセットLSが格納されている。
【0022】
ステップS101において、プロセッサー150は学習データセットLSに含まれている画像を種別ごとに分類する。具体的には、プロセッサー150は、k-means法により学習データセットLSに含まれる複数の高解像度画像を「人物」に対応するクラスタA、「自然の風景」に対応するクラスタB、「建築物」に対応するクラスタCに分類する。クラスタの数は3である。プロセッサー150は、学習データセットLSに含まれる複数の高解像度画像と、それぞれのペアの低解像度画像と、が属するクラスタを示す情報をメモリー110に格納する。さらに、プロセッサー150は、クラスタA~Cそれぞれについて、クラスタリングの際の特徴空間における最終的なクラスタ重心を表す座標値をメモリー110に格納する。
【0023】
ステップS102において、プロセッサー150は、クラスタAに属する高解像度画像と低解像度画像とのペアを用いて機械学習を行うことにより第1学習モデル11を生成する。プロセッサー150は第1学習モデル11を表すデータをメモリー110に格納する。
【0024】
ステップS103において、プロセッサー150は、クラスタBに属する高解像度画像と低解像度画像とのペアを用いて機械学習を行うことにより第2学習モデル12を生成する。プロセッサー150は第2学習モデル12を表すデータをメモリー110に格納する。
【0025】
ステップS104において、プロセッサー150は、クラスタCに属する高解像度画像と低解像度画像とのペアを用いて機械学習を行うことにより第3学習モデル13を生成する。プロセッサー150は第3学習モデル13を表すデータをメモリー110に格納する。その後、図2に示す処理が終了される。
【0026】
生成された第1学習モデル11は、低解像度画像が入力されると、設定倍率で高解像度化した高解像度画像を生成する。クラスタAに属する低解像度画像が入力された場合と、クラスタBまたはクラスタCに属する低解像度画像が入力された場合とを比較すると、前者の場合に出力された画像の画質は、後者の場合に出力された画像の画質に比べて、高くなる傾向にある。第1学習モデル11は、クラスタAに属する高解像度画像と低解像度画像とのペアを用いた機械学習により生成されているためである。第2学習モデル12、第3学習モデル13についても同様である。
【0027】
図3は、第1学習モデル11~第3学習モデル13を用いた画像変換処理を表したフローチャートである。図3に示す処理は、第1処理部220、第2処理部230、第3処理部240、取得部250、および、合成部260として機能するプロセッサー150により実行される。例えば、ユーザーが入力装置130を介して処理の開始を指示すると、プロセッサー150は図3に示す処理を開始する。図3の処理が実行される前に、メモリー110には第1学習モデル11~第3学習モデル13を表すデータが格納されている。
【0028】
ステップS201において、プロセッサー150は、例えば、入力画面を表示装置140に表示して、入力画像を受け付ける。ユーザーは、入力装置130を用いて入力画像IM0が格納されているメモリー110における領域を示すパスを入力する。なお、図2の処理の開始前にユーザーはメモリー110の所望の領域に入力画像IM0を格納している。入力画像IM0の解像度は、学習データセットLSに含まれる低解像度画像の解像度と同じである。
【0029】
ステップS202において、プロセッサー150は第1学習モデル11を用いて入力画像IM0に高解像度化の処理を実行する。本実施形態において、入力画像IM0の全領域が、高解像度化の処理の対象領域である。以下のステップS203、S204においても同様である。高解像度化の処理により、入力画像IM0の解像度に設定倍率を乗じて得られる解像度を有する出力画像IM1が生成される。プロセッサー150は生成した出力画像IM1をメモリー110に格納する。第1学習モデル11を用いて生成された高解像度画像を第1出力画像ともよぶ。
【0030】
ステップS203において、プロセッサー150は第2学習モデル12を用いて入力画像IM0に高解像度化の処理を実行する。入力画像IM0の解像度に設定倍率を乗じて得られる解像度を有する出力画像IM2が生成される。プロセッサー150は生成した出力画像IM2をメモリー110に格納する。第2学習モデル12を用いて生成された出力画像IM2を第2出力画像ともよぶ。
【0031】
ステップS204において、プロセッサー150は第3学習モデル13を用いて入力画像IM0に高解像度化の処理を実行する。入力画像IM0の解像度に設定倍率を乗じて得られる解像度を有する出力画像IM3が生成される。プロセッサー150は生成した出力画像IM3をメモリー110に格納する。第3学習モデル13を用いて生成された出力画像IM3を第3出力画像ともよぶ。
【0032】
ステップS205において、プロセッサー150は出力画像IM1~IM3それぞれについての重み係数K1~K3を算出する。まず、プロセッサー150は、入力画像IM0がクラスタA~Cのいずれに属するかをk-means法を用いて判別する。具体的には、プロセッサー150は、入力画像IM0についての特徴空間におけるプロット点と、クラスタA~Cそれぞれのクラスタ重心とのユークリッド距離をそれぞれ求める。入力画像IM0についての特徴空間におけるプロット点とクラスタAのクラスタ重心との距離を距離D1とする。入力画像IM0についての特徴空間におけるプロット点とクラスタBのクラスタ重心との距離を距離D2とする。入力画像IM0についての特徴空間におけるプロット点とクラスタCのクラスタ重心との距離を距離D3とする。プロセッサー150は、出力画像IM1~IM3についての重み係数K1~K3を、下記式(1)~(3)を用いて算出する。
K1=(1/D1)/(1/D1+1/D2+1/D3)・・・(1)
K2=(1/D2)/(1/D1+1/D2+1/D3)・・・(2)
K3=(1/D3)/(1/D1+1/D2+1/D3)・・・(3)
【0033】
ステップS206において、プロセッサー150は、重み係数K1~K3を用いた重み付け加算により出力画像IM1~IM3を合成して、最終的な出力画像を生成する。重み付け加算とは、出力画像IM1の画素値に重み係数K1を乗じて得られた値と、出力画像IM2の対応する画素値に重み係数K2を乗じて得られた値と、出力画像IM3の対応する画素値に重み係数K3を乗じて得られた値と、を、その画素の新たな画素値とすることをいう。この処理が、出力画像IM1~IM3のすべての画素について行われる。入力画像IM0がカラー画像である場合、上記の処理がRGBそれぞれの画素値について行われる。その後、図3に示す処理が終了される。上述の説明では、第1学習モデル11を用いた高解像度化の処理(ステップS202)、第2学習モデル12を用いた高解像度化の処理(ステップS203)、第3学習モデル13を用いた高解像度化の処理(ステップS204)の順に実行される例を説明した。しかしながら、ステップS202~S204の処理は上述の順序と異なっていてもよい。
【0034】
本実施形態においては、機械学習モデルを生成する学習時には、「人物」、「自然の風景」、および、「建築物」の3つの種別の画像にそれぞれ適した3つの機械学習モデルがそれぞれ生成される。この結果、第1学習モデル11、第2学習モデル12、および、第3学習モデル13が生成される。
【0035】
機械学習モデルを利用する推論時には、第1学習モデル11、第2学習モデル12、および、第3学習モデル13それぞれを用いた高解像度化の処理により、出力画像IM1、IM2、および、IM3が生成される。さらに、出力画像IM1、IM2、および、IM3に重み係数K1、K2、K3を用いた重み付けを適用した上で、出力画像IM1~IM3を合成して、最終的な出力画像を生成する。重み付けには、入力画像IM0に第1種別の対象が含まれている確からしさを表す重み係数K1と、入力画像IM0に第2種別の対象が含まれている確からしさを表す重み係数K2と、入力画像IM0に第3種別の対象が含まれている確からしさを表す重み係数K3とが用いられる。よって、学習データとして様々な特徴を備える複数の画像を用いて生成された単一の機械学習モデルを用いて高解像度化する態様に比べて、入力画像IM0が備える特徴に応じた高解像度化の処理を行うことができる。このようにして、出力される高解像度画像の画質を向上させることができる。
【0036】
B.第2実施形態:
第2実施形態においては、入力画像IM0をあらかじめ決められた大きさのブロック単位で切り分け、ブロック単位で高解像度化処理を行う。以下、第1実施形態と異なる構成を中心に説明する。なお、第1実施形態にかかる構成と同様の構成については説明を省略する。
【0037】
図4は小ブロック画像IMbについての説明図である。本実施形態において、入力画像IM0があらかじめ決められた大きさで切り分けられ、N個(Nは2以上の整数)の小ブロック画像IMbが生成される。図4に示すように、隣接する複数の小ブロック画像IMbそれぞれは、互いに一部が重複する領域と、互いに重複しない領域とを有する。後述する再構成のときに、つなぎ目部分に不自然さが生じることを防止するためである。
【0038】
第1処理部220は、小ブロック画像IMb単位で第1学習モデル11を用いて高解像度画像化の処理を実行する。第2処理部230も、小ブロック画像IMb単位で第2学習モデル12を用いて高解像度画像化の処理を実行する。第3処理部240も、小ブロック画像IMb単位で第3学習モデル13を用いて高解像度画像化の処理を実行する。
【0039】
取得部250は、小ブロック画像IMbそれぞれについて、第1種別の対象が含まれている確からしさを表す重み係数K1と、第2種別の対象が含まれている確からしさを表す重み係数K2と、第3種別の対象が含まれている確からしさを表す重み係数K3と、を取得する。
【0040】
合成部260は、小ブロック画像IMb単位で、第1処理部220により高解像度画像化された第1画像と、第2処理部230により高解像度画像化された対応する第2画像と、第3処理部240により高解像度画像化された対応する第3画像と、を合成する。これにより、N個の小ブロック出力画像が生成される。さらに、合成部260は、N個の小ブロック出力画像を再構成して最終的な出力画像を生成する。
【0041】
図5は、本実施形態における画像変換処理を表したフローチャートである。図5に示す処理は、第1処理部220、第2処理部230、第3処理部240、取得部250、および、合成部260として機能するプロセッサー150により実行される。例えば、ユーザーが入力装置130を介して処理の開始を指示すると、プロセッサー150は図5に示す処理を開始する。図5の処理が実行される前に、メモリー110に第1学習モデル11~第3学習モデル13を表すデータが格納されている。
【0042】
ステップS301において、プロセッサー150は、例えば、入力画面を表示装置140に表示して、入力画像を受け付ける。ユーザーは、入力装置130を用いて入力画像IM0が格納されているメモリー110における領域を示すパスを入力する。なお、図5の処理の開始前にユーザーはメモリー110の所望の領域に入力画像IM0を格納している。入力画像IM0の解像度は、学習データセットLSに含まれる低解像度画像の解像度と同じである。さらに、プロセッサー150は、入力画像IM0からN個の小ブロック画像IMbを生成する。Nの値は、例えば、100である。プロセッサー150は、小ブロック画像IMbそれぞれを識別する情報と、入力画像IM0の全領域における小ブロック画像IMbの位置および範囲を示す情報とをメモリー110に格納する。
【0043】
ステップS302において、プロセッサー150は第1学習モデル11を用いてN個の小ブロック画像IMbそれぞれに高解像度化の処理を実行する。高解像度化の処理によりN個の小ブロック出力画像IMb11が生成される。小ブロック出力画像IMb11を第1小ブロック出力画像ともよぶ。N個の小ブロック出力画像IMb11それぞれは入力画像IM0の解像度に設定倍率を乗じて得られる解像度を有する。プロセッサー150はN個の小ブロック出力画像IMb11をメモリー110に格納する。
【0044】
ステップS303において、プロセッサー150は第2学習モデル12を用いてN個の小ブロック画像IMbそれぞれに高解像度化の処理を実行する。高解像度化の処理により、N個の小ブロック出力画像IMb12が生成される。小ブロック出力画像IMb12を第2小ブロック出力画像ともよぶ。N個の小ブロック出力画像IMb12それぞれは入力画像IM0の解像度に設定倍率を乗じて得られる解像度を有する。プロセッサー150はN個の小ブロック出力画像IMb12をメモリー110に格納する。
【0045】
ステップS304において、プロセッサー150は第3学習モデル13を用いてN個の小ブロック画像IMbそれぞれに高解像度化の処理を実行する。高解像度化の処理により、N個の小ブロック出力画像IMb13が生成される。N個の小ブロック出力画像IMb13それぞれは入力画像IM0の解像度に設定倍率を乗じて得られる解像度を有する。プロセッサー150はN個の小ブロック出力画像IMb13をメモリー110に格納する。ステップS304が実行された後、メモリー110にはNセットの小ブロック出力画像が保存されている。
【0046】
ステップS305において、プロセッサー150はNセットの小ブロック出力画像IMb11~IMb13それぞれについての重み係数K1~K3を算出する。まず、プロセッサー150は、小ブロック画像IMbそれぞれがクラスタA~Cのいずれに属するかをk-means法を用いて判別する。具体的には、プロセッサー150は、小ブロック出力画像IMb11~IMb13の生成の際の入力画像である小ブロック画像IMbについての特徴空間におけるプロット点と、クラスタA~Cそれぞれのクラスタ重心とのユークリッド距離を求める。小ブロック画像IMbについての特徴空間におけるプロット点と、クラスタAのクラスタ重心と、の距離を距離D1とする。小ブロック画像IMbについての特徴空間におけるプロット点と、クラスタBのクラスタ重心と、の距離を距離D2とする。小ブロック画像IMbについての特徴空間におけるプロット点と、クラスタCのクラスタ重心と、の距離を距離D3とする。第1実施形態と同様に、プロセッサー150は、距離D1~D3と式(1)~(3)とを用いて小ブロック出力画像IMb11~IMb13についての重み係数K1~K3を算出する。プロセッサー150は、上記の処理をN個の小ブロック画像IMbそれぞれについて行う。
【0047】
ステップS306において、プロセッサー150は、重み係数K1~K3を用いた重み付け加算により小ブロック出力画像IMb11~IMb13を合成する。プロセッサー150はこの処理をNセットの小ブロック出力画像について行う。この結果、N個の合成画像が生成される。
【0048】
ステップS307において、プロセッサー150はN個の合成画像を再構成して最終的な出力画像を生成する。本実施形態では、N個の合成画像を結合することにより入力画像IM0と同じサイズの画像を生成することを再構成という。前述のように、入力画像IM0から生成されたN個の小ブロック画像IMbのうち、隣接する少なくとも2つの小ブロック画像IMbそれぞれは、互いに一部が重複する領域を有する。このため、プロセッサー150は以下のようにN個の合成画像を再構成する。
【0049】
図6は、画像の再構成についての説明図である。図6には2つの小ブロック画像IMbが互いに一部が重複する領域を有しており、これら2つの小ブロック画像IMbに対応する合成画像IM51とIM52とを再構成する例を示す。互いに重複する領域内の画素P1については、画素P1から合成画像IM51の+X側の端部までのX方向における距離dx51と、画素P1から合成画像IM52の-X側の端部までのX方向における距離dx52とに応じて、最終的な画素値が決められる。画素P1の画素値Xは下記式(4)を用いて算出される。画素P1に対応する合成画像IM51の画素の画素値をv51とし、画素P1に対応する合成画像IM52における画素の画素値をv52とする。この処理が、重複する領域に含まれるすべての画素値について行われる。
X=v51×dx51/(dx51+dx52)+v52×dx52/(dx51+dx52)・・・(4)
【0050】
以上説明したように、本実施形態では、小ブロック画像単位で高解像度化の処理を行い、各小ブロック画像について個別の重み係数K1~K3を適用する。このようにして、高解像度化の処理の対象画像を小ブロック画像単位で扱わない態様に比べて、高解像度化の処理を精細なものとできる。上述の説明では、図5に示すように第1学習モデル11を用いた高解像度化の処理(ステップS302)、第2学習モデル12を用いた高解像度化の処理(ステップS303)、第3学習モデル13を用いた高解像度化の処理(ステップS304)の順に実行される例を説明した。しかしながら、ステップS302~S304の処理は上述の順序と異なっていてもよい。
【0051】
C.他の実施形態:
C1.他の実施形態1:
第2実施形態においては、入力画像IM0をあらかじめ決められた大きさのブロック単位で一律に切り分ける例を説明した。あるいは、入力画像IM0にラベリング処理を行ってもよい。ここでは、入力画像IM0がモノクロ画像であるとする。まず、入力画像IM0をあらかじめ設定された閾値を用いて二値化する。二値化された画像に含まれる連続した黒色領域にラベル番号を割り付ける。同一のラベル番号が割り付けられた領域をひとつのブロック単位として取り扱う。また、ラベル番号が付されなかった領域(背景領域)をひとつのブロック単位として取り扱う。同一のラベル番号が付された領域ごとに高解像度化の処理が実行される。さらに、ラベル番号が付されなかった領域(背景領域)に高解像度化の処理が実行される。高解像度化の処理が行われたブロック単位で重み付けがなされ、最終的な出力画像が合成されてもよい。
【0052】
また、ラベル番号が付されなかった領域(背景領域)の大きさがある程度の大きさを有している場合には、ラベル番号が付されなかった領域(背景領域)を、複数の小領域に分割し、分割した小領域それぞれをひとつのブロック単位として取り扱ってもよい。
【0053】
C2.他の実施形態2:
第1実施形態および第2実施形態においては、異なる種別の対象を含む画像を用いた機械学習によりそれぞれ生成された3つの機械学習モデルを用いる例を説明した。しかしながら、画像変換装置100は、2つの機械学習だけを用いてもよいし、あるいは、4つ以上の機械学習モデルを用いてもよい。
【0054】
また、画像変換装置100の機能を実現する手段は、ソフトウェアに限られず、その一部または全部を、専用のハードウェアによって実現してもよい。例えば、専用のハードウェアとして、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)に代表される回路を使用してもよい。
【0055】
D.他の形態:
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替え、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0056】
(1)本開示の第1形態によれば、画像を高解像度化処理する画像変換装置が提供される。この画像変換装置は、画像を高解像度化処理する第1機械学習モデルと第2機械学習モデルとを記憶する記憶部であって、前記第1機械学習モデルは、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の第1学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成され、前記第2機械学習モデルは、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、の第2学習画像のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成されている、記憶部と、前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成する第1処理部と、前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成する第2処理部と、前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得する取得部と、前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、出力画像を生成する合成部と、を備える。
上記形態によれば、学習データとして第1種別の画像を用いて生成された第1機械学習モデルにより対象領域を高解像度化した出力画像と、学習データとして第2種別の画像を用いて生成された第1機械学習モデルにより対象領域を高解像度化した出力画像と、を、対象領域にそれぞれの種別の対象が含まれている確からしさで重み付けを行って合成する。学習データとして様々な特徴を備える複数の画像を用いて生成された単一の機械学習モデルを用いて高解像度化する態様に比べて、入力画像が備える特徴に応じて高解像度化の処理を行うことができ、出力される高解像度画像の画質を向上させることができる。
【0057】
(2)上記形態において、前記取得部は、前記入力画像から生成されたN個(Nは2以上の整数)の小ブロック画像であって、それぞれ一部が他の小ブロック画像と重複し、互いの他の一部が前記他の小ブロック画像と重複しないN個の小ブロック画像のそれぞれを前記対象領域として、それぞれの前記対象領域に前記第1種別の対象が含まれている確からしさを表す前記第1指標値と、それぞれの前記対象領域に前記第2種別の対象が含まれている確からしさを表す前記第2指標値と、を取得し、前記第1処理部は、前記第1機械学習モデルを用いて前記N個の小ブロック画像それぞれを高解像度化することにより、N個の第1小ブロック出力画像を生成し、前記第2処理部は、前記第2機械学習モデルを用いて前記N個の小ブロック画像それぞれを高解像度化することにより、N個の第2小ブロック出力画像を生成し、前記合成部は、前記第1小ブロック出力画像に前記第1小ブロック出力画像についての前記第1指標値で重みを付け、前記第1小ブロック出力画像に対応する前記第2小ブロック出力画像に前記第2小ブロック出力画像についての前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、N個の小ブロック出力画像を生成し、N個の前記小ブロック出力画像を再構成して前記出力画像を生成してもよい。
上記形態によれば、小ブロック画像単位で高解像度化の処理の処理を行い、各小ブロック画像について個別の第1指標値と第2指標値とを適用することにより、入力画像を小ブロック単位で扱わない態様に比べて、高解像度化の処理を精細なものとすることができる。
【0058】
(3)本開示の第2形態によれば、画像を高解像度化処理する画像変換方法が提供される。この画像変換方法は、画像を高解像度化処理する第1機械学習モデルであって、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成された第1機械学習モデルを準備するステップと、画像を高解像度化処理する第2機械学習モデルであって、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成された第2機械学習モデルを準備するステップと、前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成するステップと、前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成するステップと、前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得するステップと、前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像とを合成することにより、出力画像を生成するステップと、を含む。
上記形態によれば、学習データとして第1種別の画像を用いて生成された第1機械学習モデルにより対象領域を高解像度化した出力画像と、学習データとして第2種別の画像を用いて生成された第1機械学習モデルにより対象領域を高解像度化した出力画像と、を、対象領域にそれぞれの種別の対象が含まれている確からしさで重み付けを行って合成する。学習データとして様々な特徴を備える複数の画像を用いて生成された単一の機械学習モデルを用いて高解像度化する態様に比べて、入力画像が備える特徴に応じて高解像度化の処理を行うことができ、出力される高解像度画像の画質を向上させることができる。
【0059】
(4)本開示の第3形態によれば、画像を高解像度化する画像変換処理をコンピューターに実行させるためのプログラムが提供される。このプログラムは、前記コンピューターに、画像を高解像度化処理する第1機械学習モデルであって、第1種別の対象が含まれている第1高解像度画像と、前記第1高解像度画像から生成できる第1低解像度画像と、の第1学習画像のペアの集合を含む第1学習データセット、を用いて機械学習を行うことにより生成された第1機械学習モデルと、画像を高解像度化処理する第2機械学習モデルであって、前記第1種別の対象とは異なる第2種別の対象が含まれている第2高解像度画像と、前記第2高解像度画像から生成できる第2低解像度画像と、の第2学習画像のペアの集合を含む第2学習データセット、を用いて機械学習を行うことにより生成された第2機械学習モデルと、を記憶部から読み出す機能と、前記第1機械学習モデルを用いて、入力画像の少なくとも一部を含む対象領域を高解像度化することにより、第1出力画像を生成する機能と、前記第2機械学習モデルを用いて前記対象領域を高解像度化することにより、第2出力画像を生成する機能と、前記対象領域に前記第1種別の対象が含まれている確からしさを表す第1指標値と、前記対象領域に前記第2種別の対象が含まれている確からしさを表す第2指標値と、をそれぞれ取得する機能と、前記第1出力画像に前記第1指標値で重みを付け、前記第2出力画像に前記第2指標値で重みを付け、前記対象領域について前記第1出力画像と前記第2出力画像と、を合成することにより、出力画像を生成する機能と、を実現させる。
上記形態によれば、学習データとして第1種別の画像を用いて生成された第1機械学習モデルにより対象領域を高解像度化した出力画像と、学習データとして第2種別の画像を用いて生成された第1機械学習モデルにより対象領域を高解像度化した出力画像と、を、対象領域にそれぞれの種別の対象が含まれている確からしさで重み付けを行って合成する。学習データとして様々な特徴を備える複数の画像を用いて生成された単一の機械学習モデルを用いて高解像度化する態様に比べて、入力画像が備える特徴に応じて高解像度化の処理を行うことができ、出力される高解像度画像の画質を向上させることができる。
【0060】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、コンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)の形態で実現することができる。
【符号の説明】
【0061】
11…第1学習モデル、12…第2学習モデル、13…第3学習モデル、100…画像変換装置、110…メモリー、120…インターフェイス部、130…入力装置、140…表示装置、150…プロセッサー、210…学習部、220…第1処理部、230…第2処理部、240…第3処理部、250…取得部、260…合成部、D1…距離、D2…距離、D3…距離、IM0…入力画像、IM1,IM2,IM3…出力画像、IM11,IM12,IM13…出力画像、IM51…合成画像、IM52…合成画像、IM53…合成画像、IMb…小ブロック画像、IMb11,IMb12,IMb13…小ブロック出力画像、K1,K2,K3…重み係数、L,M…倍率、LS…学習データセット
図1
図2
図3
図4
図5
図6