JP2022130034A - 画像処理装置、画像処理方法 - Google Patents
画像処理装置、画像処理方法 Download PDFInfo
- Publication number
- JP2022130034A JP2022130034A JP2021028978A JP2021028978A JP2022130034A JP 2022130034 A JP2022130034 A JP 2022130034A JP 2021028978 A JP2021028978 A JP 2021028978A JP 2021028978 A JP2021028978 A JP 2021028978A JP 2022130034 A JP2022130034 A JP 2022130034A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- image processing
- block
- inference result
- image
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims description 92
- 238000003672 processing method Methods 0.000 title claims 5
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000002156 mixing Methods 0.000 claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 10
- 230000007423 decrease Effects 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 description 31
- 230000015654 memory Effects 0.000 description 19
- 239000000203 mixture Substances 0.000 description 19
- 238000003384 imaging method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Color Television Image Signal Generators (AREA)
Abstract
【課題】 入力画像におけるそれぞれの画素ブロックに対するデモザイクの推論結果を結合する際に行われる画素値のブレンドのための計算コストを低減させるための技術を提供すること。【解決手段】 画素ブロックに対するデモザイクの推論で行うパディングによる誤差が該画素ブロックの端部から侵食する領域をパディング領域とする。隣り合う画素ブロックのうち一方の画素ブロックの推論結果ブロックの該パディング領域に対応する第1対応領域と、他方の画素ブロックの推論結果ブロックの該パディング領域に対応する第2対応領域と、が重複する重複領域に対して画素値のブレンドを行う。【選択図】 図4
Description
本発明は、モザイク画像に対するデモザイクの推論技術に関するものである。
デジタルカメラなどのデジタル撮像装置に利用される撮像素子には、例えばRGB配列からなるカラーフィルタが装着され、各画素に特定の波長光を入射する構成となっている。具体的には、例えばベイヤ(Bayer)配列を持つカラーフィルタが多く利用されている。ベイヤ配列の撮像画像は、各画素にRGBいずれかの色に対応する画素値のみが設定されたいわゆるモザイク画像となる。デジタル撮像装置の現像処理部は、このモザイク画像に対して残り二色の画素値を補間するデモザイク処理などの様々な信号処理を施して、カラー画像を生成して出力する。デモザイク処理の従来手法として、まばらのRGB各色の画素値に対して線形フィルタを適用して周囲の同一色の画素値の線形補間を実行して各画素に対応するRGB各色を算出して設定する手法がある。この手法は補間精度が低いため、これまでに数多くの非線形補間手法が提案されてきた。しかしながら、何れの手法においても、それぞれが苦手とする画像領域においては、偽色やアーティファクトが発生するという課題があった。
そこで近年、深層学習技術を応用したデータ駆動型の補間手法が提案されている。非特許文献1は、CNNベースのデモザイクネットワークを学習させる手法を開示している。この手法では、まず、大量のRGB形式の教師画像を取得し、これを用いてCNNを学習させる。学習が完了すると、モザイク画像(入力画像)をCNNに入力してRGB画像に変換する推論(入力データに対する回帰のタスク)を行う。
Deep Joint Demosaicking and Denoising, Siggraph Asia 2016.
上記の手法では、GPUのメモリ量の制約上、一度にGPUに入力できる画像のサイズは限られている。従って、入力画像のサイズが大きいときは、該入力画像を複数の画素ブロックに分割し、分割した画素ブロックごとにGPUに入力して推論を行う、といった対策が求められる。そして、各推論結果が得られた後、それらを結合して、最終的な出力画像を再構成する。
この時に、画素ブロック同士の結合境界を滑らかにするため、分割時には画素ブロック端部が互いにオーバーラップするように分割しておき、結合時にはオーバーラップ領域同士をブレンド等により混ぜる、等の処理が考えられる。しかし、ブレンドすべき領域が大きいため、計算コストも大きくなるという課題が存在する。
本発明では、入力画像におけるそれぞれの画素ブロックに対するデモザイクの推論結果を結合する際に行われる画素値のブレンドのための計算コストを低減させるための技術を提供する。
本発明の一様態は、入力画像を、隣り合う画素ブロックが互いに重複するように複数の画素ブロックに分割する分割手段と、前記複数の画素ブロックのそれぞれについて、該画素ブロックに対するデモザイクの推論結果である推論結果ブロックを取得する取得手段と、前記取得手段が取得したそれぞれの推論結果ブロックを、隣り合う画素ブロックの推論結果ブロックが互いに重複するように結合させた結合画像を生成する生成手段とを備え、前記生成手段は、画素ブロックに対するデモザイクの推論で行うパディングによる誤差が該画素ブロックの端部から侵食する領域をパディング領域とし、隣り合う画素ブロックのうち一方の画素ブロックの推論結果ブロックにおいて該パディング領域に対応する第1対応領域と、他方の画素ブロックの推論結果ブロックにおいて該パディング領域に対応する第2対応領域と、が重複する重複領域に対して画素値のブレンドを行うことを特徴とする。
本発明の構成によれば、入力画像におけるそれぞれの画素ブロックに対するデモザイクの推論結果を結合する際に行われる画素値のブレンドのための計算コストを低減させることができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
本実施形態では、図2に示す如く、入力画像201を分割して複数の画素ブロック202を生成する。入力画像201は、各画素にRGBいずれかの色に対応する画素値のみが設定されたいわゆるモザイク画像であり、例えば、周知のRAW画像である。そして、該複数の画素ブロック202のそれぞれに対してデモザイクの推論を行うことで複数の「RGB形式の推論結果ブロック203」を生成する。そして、それぞれの推論結果ブロック203を結合して、入力画像201と同サイズの結合画像204を生成するが、該結合の際には、「画素値のブレンド」を行う領域を定め、該定められた領域のみに対して「画素値のブレンド」を行う。
本実施形態では、図2に示す如く、入力画像201を分割して複数の画素ブロック202を生成する。入力画像201は、各画素にRGBいずれかの色に対応する画素値のみが設定されたいわゆるモザイク画像であり、例えば、周知のRAW画像である。そして、該複数の画素ブロック202のそれぞれに対してデモザイクの推論を行うことで複数の「RGB形式の推論結果ブロック203」を生成する。そして、それぞれの推論結果ブロック203を結合して、入力画像201と同サイズの結合画像204を生成するが、該結合の際には、「画素値のブレンド」を行う領域を定め、該定められた領域のみに対して「画素値のブレンド」を行う。
(画像処理装置の構成について)
まず、本実施形態に係る画像処理装置100のハードウェア構成例について、図1のブロック図を用いて説明する。本実施形態に係る画像処理装置100には、PC(パーソナルコンピュータ)、タブレット端末装置、スマートフォンなどのコンピュータ装置が適用可能である。
まず、本実施形態に係る画像処理装置100のハードウェア構成例について、図1のブロック図を用いて説明する。本実施形態に係る画像処理装置100には、PC(パーソナルコンピュータ)、タブレット端末装置、スマートフォンなどのコンピュータ装置が適用可能である。
CPU101は、RAM102やROM103に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU101は、画像処理装置100全体の動作制御を行うと共に、画像処理装置100が行うものとして説明する各処理を実行もしくは制御する。
RAM102は、ROM103,二次記憶装置104、外部記憶装置108などからロードされたコンピュータプログラムやデータを格納するためのエリア、撮像装置111から出力された入力画像(RAW画像)などの情報を格納するためのエリア、を有する。さらにRAM102は、CPU101やGPU110が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM102は、各種のエリアを適宜提供することができる。
ROM103には、画像処理装置100の設定データ、画像処理装置100の起動に係るコンピュータプログラムやデータ、画像処理装置100の基本動作に係るコンピュータプログラムやデータ、などが格納されている。
二次記憶装置104は、ハードディスクドライブなどの不揮発性メモリである。二次記憶装置104には、OS(オペレーティングシステム)、画像処理装置100が行うものとして説明する各種の処理をCPU101やGPU110に実行もしくは制御させるためのコンピュータプログラムやデータ、などが保存されている。二次記憶装置104に保存されているコンピュータプログラムやデータは、CPU101による制御に従って適宜RAM102にロードされ、CPU101やGPU110による処理対象となる。なお、二次記憶装置104には、ハードディスクドライブの他に、光ディスクドライブやフラッシュメモリなど、様々な記憶デバイスを用いることが可能である。
GPU110は、RAM102にロードされたコンピュータプログラムやデータに基づいて動作することで、CPU101から受け取ったデータに対して各種の演算処理を行い、該演算の結果をCPU101に通知する。
撮像装置111は、ベイヤ(Bayer)配列などの配列を有するカラーフィルタが装着された撮像素子を有し、該撮像素子から出力されるRAW画像をシステムバス107に対して出力する。
入力インターフェース105は、USBやIEEE1394等のシリアルバスインターフェースである。画像処理装置100は、入力インターフェース105を介して外部からデータや命令等を取得する。
出力インターフェース106は、入力インターフェース105と同様にUSBやIEEE1394等のシリアルバスインターフェースである。なお、出力インターフェース106は、DVIやHDMI(登録商標)等の映像出力端子であってもよい。画像処理装置100は、出力インターフェース106を介して外部に対してデータ等を出力する。
CPU101、RAM102、ROM103、二次記憶装置104、GPU110、撮像装置111、入力インターフェース105、出力インターフェース106、は何れもシステムバス107に接続されている。
操作部112は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで、各種の指示を入力インターフェース105を介してCPU101に対して入力することができる。
外部記憶装置108は、ハードディスクドライブ、メモリカード、CFカード、SDカード、USBメモリなどの、画像処理装置100に接続/装着されるメモリ装置である。外部記憶装置108から読み出されたコンピュータプログラムやデータは、入力インターフェース105を介して画像処理装置100に入力されて、RAM102や二次記憶装置104に格納される。また、外部記憶装置108に保存するコンピュータプログラムやデータは、出力インターフェース106を介して外部記憶装置108に書き込まれる。
表示装置109は、液晶画面やタッチパネル画面を有し、CPU101やGPU110による処理結果を画像や文字などで表示する。また表示装置109は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
なお、図1に示した構成は、以下に説明する各処理を実現可能な装置の構成の一例であり、以下に説明する各処理を実現可能な構成は、図1に示した構成にかぎらない。例えば、図1では、撮像装置111は画像処理装置100に内蔵されたデバイスとして該画像処理装置100に組み込まれていた。しかし、これに限るものではなく、たとえば、このような撮像装置111を画像処理装置100の外部装置として入力インターフェース105に接続するようにしても良い。
本実施形態では、画像処理装置100は画像処理アプリケーションを実行することで、次のように動作する。つまり画像処理装置100は、撮像装置111から出力された入力画像(RAW画像)を分割して複数の画素ブロックを生成し、該複数の画素ブロックのそれぞれに対してデモザイクの推論を行うことで複数の「RGB形式の推論結果ブロック203」を生成する。そして画像処理装置100は、それぞれの推論結果ブロック203を結合して「入力画像201と同サイズの結合画像204」を生成するが、該結合の際には、「画素値のブレンド」を行う領域を定め、該定められた領域のみに対して「画素値のブレンド」を行う。
(CNNについて)
本実施形態では、画素ブロックに対するデモザイクの推論を畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いて行う。ここで、非特許文献1をはじめ、深層学習技術を応用した画像処理技術全般で用いられているCNNについて説明する。
本実施形態では、画素ブロックに対するデモザイクの推論を畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いて行う。ここで、非特許文献1をはじめ、深層学習技術を応用した画像処理技術全般で用いられているCNNについて説明する。
CNNとは、学習(trainingまたはlearning)により生成したフィルタを画像に対して畳み込んだ(convolution)後に非線形演算を行うことを繰り返す、学習型の画像処理技術である。フィルタは、局所受容野(Local Receptive Field:LRF)とも呼ばれる。画像に対してフィルタを畳み込んだ後に非線形演算して得られる画像は、特徴マップ(feature map)と呼ばれる。また、学習は入力画像と出力画像のペアからなる学習データ(training imagesまたはdata sets)を用いて行われる。簡単には、入力画像から対応する出力画像へ高精度に変換可能なフィルタの値を、学習データから生成することが学習である。この詳細については後述する。
画像がRGBカラーチャネルを有する場合や、特徴マップが複数枚の画像から構成されている場合、畳み込みに用いるフィルタも、それに応じて複数のチャネルを有する。すなわち、畳み込みフィルタは、縦横サイズと枚数の他に、チャネル数を加えた、4次元配列で表現される。画像(または特徴マップ)にフィルタを畳み込んだ後に非線形演算を行う処理は、層(layer)という単位で表現される。例えば、n層目の特徴マップやn層目のフィルタなどと呼ばれる。また、例えばフィルタの畳み込みと非線形演算を3回繰り返すようなCNNは、3層のネットワーク構造を有するという。この処理は、以下の式(1)のように定式化することができる。
式(1)において、Wnはn層目のフィルタ、bnはn層目のバイアス、Gは非線形演算子、Xnはn層目の特徴マップ、*は畳み込み演算子である。なお、右肩の(l)はl番目のフィルタまたは特徴マップであることを表している。フィルタおよびバイアスは、後述する学習により生成され、まとめてネットワークパラメータとも呼ばれる。非線形演算には、例えばシグモイド関数(sigmoid function)やReLU(Rectified Linear Unit)が用いられる。ReLUは、以下の式(2)で与えられる。
すなわち、入力したベクトルXの要素のうち負のものはゼロ、正のものはそのままとする非線形な処理である。次に、CNNの学習について説明する。CNNの学習は、入力学習画像(生徒画像)と対応する出力学習画像(教師画像)の組からなる学習データに対して、一般に以下の式(3)で表される目的関数を最小化することで行われる。
ここで、Lは正解とその推定との誤差を測る損失関数(loss function)である。また、Yiはi番目の出力学習画像、Xiはi番目の入力学習画像である。また、FはCNNの各層で行う式(1)を、まとめて表した関数である。また、θはネットワークパラメータ(フィルタおよびバイアス)である。また、
はL2ノルムであり、簡単にはベクトルZの要素の2乗和の平方根である。また、nは学習に用いる学習データの全枚数である。しかし、一般に学習データの全枚数は多いため、確率的勾配降下法(Stochastic Gradient Descent:SGD)では、学習画像の一部をランダムに選び学習に用いている。これにより、多くの学習データを用いた学習における、計算負荷が低減できる。 また、目的関数の最小化(=最適化)法として、モーメンタム(momentum)法やAdaGrad法、AdaDelta法、Adam法など、様々な方法が知られている。 Adam法は、以下の式(4)で与えられる。
式(4)において、θitは反復t回目におけるi番目のネットワークパラメータ、gはθitに関する損失関数Lの勾配である。また、m、vはモーメントベクトル、αは基本学習率(base learning rate)、β1、β2はハイパーパラメータ、εは小さい定数である。なお、学習における最適化法の選択指針は存在しないため、基本的に何を用いても良いが、方法ごとの収束性には違いがあるため、学習時間の違いが生じることが知られている。
CNNを用いたネットワークとしては、画像認識分野のResNetや超解像分野におけるその応用RED-Netが有名である。いずれもCNNを多層にして、フィルタの畳み込みを何度も行うことで、処理の高精度化を図っている。例えば、ResNetは畳み込み層をショートカットする経路を設けたネットワーク構造を特徴とし、これにより152層もの多層ネットワークを実現し、人間の認識率に迫る高精度な認識を実現している。なお、多層CNNにより処理が高精度化する理由は、簡単には非線形演算を何度も繰り返すことで、入出力間の非線形な関係を表現できるためである。
本実施形態に係るCNNは、画素ブロックが入力されると、該画素ブロックに対するデモザイクの推論結果(推論結果ブロック)を出力するよう学習された学習済みのCNNである。
(画像処理装置の機能構成例)
画像処理装置100の機能構成例を図4のブロック図に示す。入力画像に対するデモザイクの推論結果である結合画像を生成するために画像処理装置100が行う処理について、図5のフローチャートに従って説明する。
画像処理装置100の機能構成例を図4のブロック図に示す。入力画像に対するデモザイクの推論結果である結合画像を生成するために画像処理装置100が行う処理について、図5のフローチャートに従って説明する。
以下では、図4に示した各機能部を処理の主体として説明するが、実際には、該機能部の機能をCPU101やGPU110に実行させるためのコンピュータプログラムを該CPU101や該GPU110が実行することで、該機能部の機能が実現される。なお、図4に示した機能部のうち1以上をハードウェアで実装しても良い。
ステップS501では、入力画像取得部401は、デモザイク処理を行う対象となる入力画像を取得する。入力画像の取得方法は特定の取得方法に限らない。
例えば、入力画像取得部401は撮像装置111を制御し、該制御によって該撮像装置111が撮像したRAW画像を入力画像として取得しても良い。また例えば、入力画像取得部401は、二次記憶装置104に保存されているRAW画像を入力画像として取得しても良いし、外部記憶装置108に保存されているRAW画像を入力インターフェース105を介して入力画像として取得しても良い。また、画像処理装置100がネットワーク(インターネットやLAN等の有線/無線ネットワーク)に接続されている場合には、入力画像取得部401は、該ネットワークを介して外部装置からRAW画像を入力画像として取得しても良い。
また、ここでは、RAW画像は、カラーフィルタ配列としてベイヤ配列を採用した撮像装置により撮像されたRAW画像であるものとするが、カラーフィルタ配列はベイヤ配列に限らず、X-Transなどの他のカラーフィルタ配列を用いても構わない。
ステップS502では、推論環境取得部402は、画像に対するデモザイクの推論を行うのに必要な情報である推論環境情報を取得する。推論環境情報は、「推論に用いるモデル」と「推論に用いるGPU110のメモリ量」の2つを含む。
「推論に用いるモデル」とは、「CNNのネットワークパラメータ」と「CNNのネットワークアーキテクチャ」の組である。「CNNのネットワークパラメータ」とは、CNNを規定するパラメータであり、重み係数、バイアス値などのパラメータを含む。また、「CNNのネットワークアーキテクチャ」とは、どのような層がどのような順番で繋がってCNNが構成されているか等、CNNの構造を示す情報である。
「推論に用いるGPU110のメモリ量」とは、RAM102、二次記憶装置104、外部記憶装置108、GPU110が有する内部メモリ、などのメモリにおいてGPU110が利用可能なメモリ量である。
なお、推論環境情報の取得方法は、特定の取得方法に限らない。例えば、推論環境取得部402は、二次記憶装置104に保存されている類論環境情報を取得するようにしても良いし、外部記憶装置108に保存されている推論環境情報を入力インターフェース105を介して取得するようにしても良い。また、例えば、推論環境取得部402は、ユーザが操作部112を操作して入力した推論環境情報を取得するようにしても良い。また、画像処理装置100がネットワーク(インターネットやLAN等の有線/無線ネットワーク)に接続されている場合には、推論環境取得部402は、該ネットワークを介して外部装置から推論環境情報を取得しても良い。
ステップS503では、幅算出部403は、画素ブロックに対するデモザイクの推論で行うパディングによる誤差が該画素ブロックの端部から侵食する領域(パディング領域)の幅(該パディングの影響が該画素ブロックの端部から侵食する幅(パディング幅))を、上記の推論環境情報に含まれている「CNNのネットワークアーキテクチャ」に基づいて求める。
CNNは、畳み込みフィルタの積み重ねで構成されており、各畳み込みフィルタは特徴マップに対して畳み込み演算を適用する。その例を図11に示す。簡単のため、畳み込みフィルタのサイズは3x3とする。
図11(a)では、特徴マップ(画像)1101内のある3x3の領域1102に対して、畳み込みフィルタを適用する場面を表している。領域1102内に表示している値は特徴の値(入力値)であり、3x3の畳み込みフィルタにおいて該入力値に対応するフィルタ係数を該入力値に乗算し、それぞれの乗算結果の総和がフィルタリング結果として得られる。
この畳み込みフィルタを特徴マップ1101の右上隅の画素に適用する場面を図11(b)に示す。この場合、畳み込みフィルタを適用する領域1102は特徴マップ1101の外側(入力値が存在しない部分)を含む。そのため、このような領域1102に対して畳み込みフィルタを適用する場合、一般的には該外側の画素には適当な値を補填(パディング)してから、該領域1102に対して畳み込みフィルタを適用する。代表的なパディング方法としては、欠損値(入力値が存在しない部分の値)を0で補填するゼロパディングが用いられる。パディングされた領域に対して畳み込みフィルタを適用するが、そのフィルタリング結果は、入力値に0が混入することによって本来とは異なる値となる。同様の現象が特徴マップの外周(端部)の画素全てで発生し、フィルタリング結果(出力値)に誤差が重畳される。
そうして出力された特徴マップに、次の層の畳み込みフィルタを適用する際は、図11(c)のように、誤差の乗ったフィルタリング結果(「*」を記した矩形)が畳み込みの入力値として利用される。従って、画像端から距離「2」(画像端から画像の中心方向に向かって2画素分の距離)の画素に対するフィルタリング結果にも誤差が重畳される。これを繰り返すと、畳み込み層1層ごとに、画像端から誤差が1画素ずつ侵食する。例えば3×3の畳み込み層50層からなるCNNの場合、推論結果の画像において画像端から50画素以内の領域は、パディングによる誤差が発生することになる。パディングによる誤差が侵食する領域の幅をパディング幅と呼ぶ(この例ではパディング幅=50)。例えば、パディング領域が画像上端に沿って位置している場合、該画像の上端から該画像の中心に向かう方向における該パディング領域内の画素数が「該パディング領域のパディング幅」となる。
パディング幅はネットワークアーキテクチャごとに固有の値となっており、幅算出部403はこれを計算する。例として、非特許文献1のネットワークのパディング幅の算出法を示す。
非特許文献1のネットワークアーキテクチャは、図3に示す通りである。まず、画素ブロック202を3チャネル(Rチャネル、Gチャネル、Bチャネル)の欠損画像306に変換する。欠損画像のRチャネルには、生徒画像のR成分の画素のみが入っており、他の画素の画素値は欠損値(0)に設定されている。欠損画像のGチャネルには、生徒画像のG成分の画素のみが入っており、他の画素の画素値は欠損値(0)に設定されている。欠損画像のBチャネルには、生徒画像のB成分の画素のみが入っており、他の画素の画素値は欠損値(0)に設定されている。なお、bilinear補間等の手法により、欠損値を補間しても構わない。次に、サブサンプリング層301においてRGBのチャネルごとに、欠損画像306の空間解像度を2分の1に落とす。次に、畳み込み層302を経た後、アップサンプリング層303において特徴マップのサイズを2倍に拡大し、画素ブロック202と同じ解像度にする。得られた特徴マップを、結合層304において画素ブロック202自身とチャネル方向に結合した後、畳み込み層305を経て、それぞれのチャネルに対応する推論結果ブロック203が出力される。
3×3の畳み込みフィルタを、特徴マップが2分の1の空間解像度である区間で適用した場合、パディングによる誤差は、入力ブロックのスケールで1層につき2画素ずつ侵食する。また、畳み込みフィルタが5x5など大きいサイズであった場合には、侵食する画素数も大きくなる。CNN内でi番目の層のフィルタサイズがliで、その位置での特徴マップの解像度が入力ブロックのki分の1であった場合、そのCNNのパディング幅pは以下のように計算される。
なお、画素ブロックに対するパディングの影響が該画素ブロックの端部から侵食する幅を「パディング幅」として求めることができるのであれば、パディング幅を求める方法は上記の方法に限らない。
ステップS504では分割部404は、ステップS503で求めたパディング幅pとステップS502で取得した推論環境情報とに基づき、ステップS501で取得した入力画像を、隣り合う画素ブロックが互いに重複するように複数の画素ブロックに分割する。このような分割を行うためには、画素ブロックのサイズと、画素ブロック同士のオーバーラップ幅と、を定める必要がある。
画素ブロックのサイズについては、分割部404は、推論環境情報に含まれている「推論に用いるGPU110のメモリ量」を参照し、分割後の全ての画素ブロックがGPU110が使用するメモリに収まる範囲で最大のサイズ(メモリオーバーフローとならない最大のサイズ)に設定する。
オーバーラップ幅については、分割部404は、図8に示す如く、ステップS503で求めたパディング幅pに基づいて設定する。図8の例では、画素ブロック801において端部からパディング幅802(p画素)以内の領域がパディング領域803である。一方、図8の例では、パディングによる影響を受けない領域(画素ブロック801においてパディング領域803を除く残りの領域)が非パディング領域804である。非パディング領域は、常にパディングの誤差の影響を受けないため、推論結果がブロック分割方法に依存しないことが保証されている。この性質を利用し、分割部404は、図9(a)に示す如く、画素ブロック901における非パディング領域911と、該画素ブロック901と隣り合う画素ブロック902における非パディング領域912と、が隣接するようにオーバーラップ幅を設定する。すなわち、分割部404は、オーバーラップ幅(重複幅)=2pと設定する。前述のように、非パディング領域の推論結果はブロック分割方法に依存しないため、非パディング領域同士の継ぎ目は推論結果が滑らかとなる。
このような設定で入力画像を複数の画素ブロックに分割した結果を図10に示す。図10では、入力画像201を6つの画素ブロックに分割しており、隣り合う画素ブロックにおいてそれぞれの非パディング領域同士は隣接している。なお、ブロック分割方法は上記の方法には限定されない。例えば、図9(b)のように、非パディング領域911および非パディング領域912が一定距離(一定画素数)だけ離間するようにオーバーラップ幅を設定しても良い。
ステップS505では、算出部405は、ステップS503で求めたパディング幅pを用いて、画素値のブレンドを行う領域(ブレンド領域)の位置情報を取得する。以下では、それぞれの画素ブロックについて、該画素ブロックと同サイズの「該画素ブロックに対するデモザイクの推論結果を示す推論結果ブロック」を生成する。そして、それぞれの推論結果ブロックを、隣り合う推論結果ブロックをオーバーラップ幅=2pで重複させながら、対応する画素ブロックの並び順に従って並べて結合することで「入力画像と同サイズの結合画像」を生成する。このような結合画像において、非パディング領域に対応する領域については、画素値のブレンドは不要である(非ブレンド領域)。一方、このような結合画像において、「隣り合う画素ブロックにおいて一方の画素ブロックのパディング領域と他方の画素ブロックのパディング領域とが重複する重複領域に対応する対応領域」はブレンド領域である。よって、該一方の画素ブロックの推論結果ブロックの画素値と該他方の画素ブロックの推論結果ブロックの画素値とを用いた「画素値のブレンド」を行って該ブレンド領域の画素値を決定する。
よって、ステップS505では、算出部405は、隣り合う画素ブロックにおいて、一方の画素ブロックにおけるパディング領域(該一方の画素ブロックの端部からパディング幅pで規定される領域)と、他方の画素ブロックのパディング領域(該他方の画素ブロックの端部からパディング幅pで規定される領域)と、が重複する重複領域をブレンド領域とし、該ブレンド領域の位置情報を特定する。「ブレンド領域の位置情報」は、例えば、該ブレンド領域の四隅の画像座標であっても良いし、該ブレンド領域において対向するそれぞれの隅の画像座標であっても良いし、該ブレンド領域の中心における画像座標と該ブレンド領域の縦横サイズとを含むセットであっても良い。
ステップS506では、推論部406は、推論環境情報に含まれている「推論に用いるモデル」によって規定されるCNNに対し、ステップS504における分割で得られたそれぞれの画素ブロックを入力ブロックとして入力する。そして推論部406は、画素ブロックが入力されたCNNの出力を、「該画素ブロックに対するデモザイクの推論結果である推論結果ブロック」として取得する。一例として、上記の図3を用いて説明した方法で推論結果ブロックを求める。
ステップS507では、マップ算出部407は、結合画像におけるブレンド領域(結合画像において、上記の「ブレンド領域の位置情報」で特定される領域)で重複するそれぞれの推論結果ブロックの画素値のブレンドに用いるアルファ値のマップ(アルファマップ)を求める。アルファマップを求める方法の一例を、図12を用いて説明する。
一例としては、ブレンド領域1001で重複する推論結果ブロックのうち左側の推論結果ブロックのブレンド領域1001内のアルファ値が左端から右端に向けて下降するようなスロープ状のアルファマップ1201を算出する。このアルファマップ1201は、左側の推論結果ブロックのブレンド領域1001内の横方向の各位置におけるアルファ値を表している。より白い部分ほどアルファ値が高く、より暗い部分ほどアルファ値が低いことを表している。
グラフ1202における横軸は、左側の推論結果ブロックのブレンド領域1001内の横方向の位置を示しており、縦軸は該位置におけるアルファ値を示しており、左端から右端にかけて線形にアルファ値が減少していることを表している。なお、アルファ値の減少は線形でなくても良く、また単調減少でなくても良い。なお、減少する方向は左端から右端に限らず、右端から左端であっても良い。つまり、アルファマップは、アルファマップ(ブレンド領域)の一端から他端に向けてアルファ値が減少するように構成されている。
また、アルファ値を、その画素の推論誤差に基づいて定めても良い。例えば、画素ブロック中の位置(x、y)におけるR画素の画素値q、該画素ブロックの推論結果ブロック中(推論結果ブロック内)の位置(x、y)におけるR画素の画素値q’、を用いて、位置(x、y)における画素での推論誤差ε(画素値の差分)=|q-q’|を求める。そして、該求めた推論誤差に基づき、位置(x,y)におけるアルファ値α(x,y)を以下のように求める。
式(6)では、推論誤差εが大きくなるほどその画素の信用度を低く設定(=ブレンド時にその画素の値が優先される度合いを小さくする、つまりアルファ値を小さく設定)しており、推論誤差の逆数をアルファ値とすることでこの設定を実現している。また、アルファ値を[0,1]の区間に収めるため、正規化を行っている。なお、式(6)ではq、q’の差分の絶対値の逆数をアルファ値として算出したが、別の式を用いてアルファ値を求めても構わない。つまり、画素ブロックにおける画素の画素値と、該画素ブロックの推論結果ブロックにおける該画素の画素値と、の差分に基づいて、該画素に対応するアルファ値を求める方法であって、該差分が大きいほどアルファ値が小さくなるような計算によってアルファ値を求める方法であれば、どのような方法であっても良い。
ここで、位置(x,y)の画素がRチャネルの画素であるという前提で式(6)を示したが、Gチャネルの画素またはBチャネルの画素である場合にも同様にこの式を適用する。これにより、アルファマップ1203が得られ、グラフ1204のようにアルファ値はブレンド領域における左端から右端へかけて単調減少ではなくなる。
なお、アルファマップの決定方法として、所与のスロープ状のマップを採用する方法や、その画素の推論誤差に基づいて算出する方法を示したが、それ以外の方法を用いても構わない。また、複数の方法で求めたアルファマップを重み付け加算などにより合成して最終的なアルファマップを求める方法を用いても良い。
ステップS508では、結合部408は、それぞれの推論結果ブロックを、隣り合う推論結果ブロックをオーバーラップ幅=2pで重複させながら、対応する画素ブロックの並び順に従って並べて結合する(図10と同様の構成になるように結合する)ことで「入力画像と同サイズの結合画像」を生成する。
その際、結合部408は、結合画像において「ブレンド領域の位置情報」で規定されるブレンド領域の画素値は、上記のアルファマップを用いて、該ブレンド領域で重複しているそれぞれの推論結果ブロックの画素値のブレンドを行うことで決定する(求める)。より詳しくは、結合部408は、結合画像における画素位置(x,y)の画素値を、以下の条件に基づいて決定する。
結合部408は、結合画像における画素位置(x,y)が、単一の推論結果ブロックに含まれる画素位置である場合には、該単一の推論結果ブロックの画素位置(x、y)における画素値を、結合画像における画素位置(x,y)の画素値とする。例えば、結合画像における画素位置(x,y)が図10の画素位置1002に対応する場合、該画素位置1002について求めた推論結果ブロックの画素値を、結合画像における画素位置(x,y)に設定する。
結合部408は、結合画像における画素位置(x,y)が、一方の推論結果ブロックにおいて非パディング領域に対応する対応領域Aと、他方の推論結果ブロックにおいてパディング領域に対応する対応領域Bと、が重複している重複領域内の画素位置である場合には、該対応領域A内の該画素位置(x、y)における画素値を、結合画像における画素位置(x、y)の画素値とする。例えば、結合画像における画素位置(x、y)が、図10の画素位置1003に対応する場合、該画素位置1003における非パディング領域の画素値を、結合画像における画素位置(x,y)に設定する。
結合部408は、結合画像における画素位置(x,y)が、一方の推論結果ブロックにおいてパディング領域に対応する対応領域Cと、他方の推論結果ブロックにおいてパディング領域に対応する対応領域Dと、が互いに重複している重複領域内の画素位置である場合には、該対応領域C内の該画素位置(x,y)の画素値q1と、該対応領域D内の該画素位置(x,y)の画素値q2と、を該画素位置(x,y)に対応するアルファ値に応じてブレンドしたブレンド結果である画素値q*を、結合画像における画素位置(x,y)の画素値に設定する。このブレンドの一例を、以下の式(7)に示す。
そして結合部408は、このようにして生成した結合画像を「入力画像に対する最終的なデモザイク結果」として出力する。なお、結合画像の出力先は特定の出力先に限らない。例えば、結合部408は、結合画像を二次記憶装置104に保存しても良いし、結合画像を入力インターフェース105を介して外部記憶装置108に保存しても良いし、結合画像を出力インターフェース106を介して表示装置109に表示させても良い。また、画像処理装置100が上記のネットワークに接続されている場合には、結合部408は、結合画像を該ネットワークを介して外部装置に対して送信しても良い。
上記のステップS501~S508の処理は、デモザイクの推論を行うべき全ての入力画像について行われ、全ての入力画像についてデモザイクの推論を行った場合には、図5のフローチャートに従った処理は終了する。
このように、本実施形態によれば、入力画像を複数の画素ブロックに分割し、画素ブロックごとに推論結果ブロックを生成して結合することで結合画像を生成する場合に、パディング領域が重複する領域のみについて画素値のブレンドを行う。これにより、入力画像のデモザイク結果を取得するための計算コストを低減させることができる。
[第2の実施形態]
本実施形態を含む以下の各実施形態や変形例では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、推論に使用するGPUが予め決まっており、かつ入力画像のサイズも一定であるという条件下で、複数の入力画像を順次デモザイクする例について説明する。
本実施形態を含む以下の各実施形態や変形例では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。本実施形態では、推論に使用するGPUが予め決まっており、かつ入力画像のサイズも一定であるという条件下で、複数の入力画像を順次デモザイクする例について説明する。
本実施形態に係るシステムの機能構成例を図6のブロック図に示す。図6に示す如く、本実施形態に係るシステムは、算出部601と、画像処理装置690と、を有し、算出部601と画像処理装置690との間は、LANやインターネットなどのネットワークを介して接続されている。この接続は有線であっても無線であってもよく、その接続形態は特定の接続形態に限らない。
本実施形態では、算出部601も画像処理装置690も図1に示したハードウェア構成を有するコンピュータ装置であるものとして説明する。しかし、これに限らず、算出部601および画像処理装置690は図1に示したハードウェア構成以外のハードウェア構成を採用しても良い。また、算出部601および画像処理装置690はそれぞれ異なるハードウェア構成を採用しても良い。
本実施形態に係るシステムの動作(入力画像に対するデモザイクの結果を取得するための動作)について、図7のフローチャートに従って説明する。ステップS701における処理は算出部601にて行われる処理である。
ステップS701では、算出部601は、システム情報を取得する。システム情報は、前述の推論環境情報、パディング幅p、ブレンド領域の位置情報の3つを含み、これらはGPU110のメモリ量と入力画像のサイズが定まっていれば不変である。そこで本実施形態では、推論のための前処理として、一括でシステム情報のみを算出して取得しておく。さらに算出部601は、入力画像のサイズを取得し、該入力画像のサイズを画像処理装置690に対して送信する。画像処理装置690に対して送信されたシステム情報および入力画像のサイズは、画像処理装置690における保持部602に格納される。以下では、入力画像のサイズはシステム情報に含められて保持部602に格納されているものとして説明する。
そして、ステップS501~S508の処理が画像処理装置690において上記の如く行われる。ここで、使用するGPU110のメモリ量や入力画像のサイズ等が変更された場合には、処理はステップS701に進み、再度、システム情報や入力画像のサイズの収集を行う。一方、使用するGPU110のメモリ容や入力画像のサイズ等が変更されていない場合、デモザイクの推論を行うべき入力画像が残っている場合には、処理はステップS501に進み、残っていない場合には、図7のフローチャートに従った処理は終了する。
なお、GPU110のメモリ量と入力画像のサイズが事前に一意に定まっていない場合にも、本実施形態を適用可能である。その場合には、算出部601は、GPU110のメモリ量と入力画像のサイズの組み合わせを複数列挙し、様々なケースについてシステム情報を算出して保持部602に登録する。そして画像処理装置690は、入力画像を処理する時点でのGPU110のメモリ量と入力画像のサイズを参照して、対応するシステム情報を保持部602から読み出して使用する。
また、GPU110のメモリ量および入力画像のサイズのいずれかが固定されていなくても構わない。その場合、算出部601は、システム情報のうち、固定されている情報から算出可能な情報のみを出力する。保持部602は、システム情報のうち、残りの情報を随時算出して出力する。
このように、本実施形態によれば、状況が変わらない限りは固定されている情報については再計算することなく使用するので、不要な情報の再計算を省き、入力画像毎のデモザイクに係る計算コストをより低減させることができる。
[第3の実施形態]
本実施形態では、ステップS507で生成するアルファマップに関し、ブレンド領域の端部におけるアルファ値の不連続性を低減する例について説明する。図13(a)は、ブレンド領域1001の周囲を拡大した図である。ブレンド領域1001は、左ブロック1301と右ブロック1302と隣接している。これらの領域について、ある高さy=y0においてスライスした直線1300上のアルファ値を示したグラフが図13(b)である。ブレンド領域1001におけるアルファ値はアルファマップ1303のようになっており、アルファ値が1に近づくほどブレンド時に左ブロック1301が優先され、アルファ値が0に近づくほど右ブロック1302が優先されることを表している。
本実施形態では、ステップS507で生成するアルファマップに関し、ブレンド領域の端部におけるアルファ値の不連続性を低減する例について説明する。図13(a)は、ブレンド領域1001の周囲を拡大した図である。ブレンド領域1001は、左ブロック1301と右ブロック1302と隣接している。これらの領域について、ある高さy=y0においてスライスした直線1300上のアルファ値を示したグラフが図13(b)である。ブレンド領域1001におけるアルファ値はアルファマップ1303のようになっており、アルファ値が1に近づくほどブレンド時に左ブロック1301が優先され、アルファ値が0に近づくほど右ブロック1302が優先されることを表している。
ここで、左領域1304ではブレンドは行われず、左ブロック1301の推論結果のみが使用される。これは、この左領域1304においてアルファ値がα=1に設定されていると表現できる。同様に、右領域1305においてはα=0であると言える。このような場合、ブレンド領域1001の左端部1306や右端部1307において、アルファ値が急激かつ不連続的に変化しうる。これにより、結合画像中に不自然なエッジが発生し、アーティファクトとして人間の目に知覚されうる。
これに対処するため、ブレンド領域の端部において、アルファ値が連続的に繋がるよう処理を行う。ブレンド領域を0≦x≦xmax(xは入力画像/結合画像における水平方向の画素位置)の範囲とした場合、ブレンド領域において端部から幅Δの領域に対してアルファ値の補正を行う。これにより、アルファマップ1303であるα(x,y)に基づいて、補正後のアルファマップ1308であるα’(x,y)を、以下のように計算する。
ブレンド領域の左端部に対しては式(8a)の補正を適用し、右端部に対しては式(8b)の補正を適用する。何れの式においても、アルファマップにおける端部のアルファ値を用いて、該端部を含む部分領域のアルファ値を補正する。これにより、図13(c)のように、ブレンド領域1001の端部でアルファ値が急激に変化せず、連続的に繋がるようなアルファマップ1308となる。なお、この補正を行うための式は上記の式に限らず、他の補正方法も適用可能である。
<変形例>
図4や図6に示した構成は適宜変形/変更が可能である。例えば、1つの機能部を機能別に複数の機能部に分割しても良いし、2つ以上の機能部を1つの機能部に統合しても良い。また、図4に示した構成は、2以上の装置によって構成しても良いし、図6に示した構成は、3以上の装置によって構成しても良い。その場合、各装置は回路や有線若しくは無線のネットワークを介して接続され、互いにデータ通信を行って協調動作を行うことで、上記の各実施形態で説明した処理を実現する。
図4や図6に示した構成は適宜変形/変更が可能である。例えば、1つの機能部を機能別に複数の機能部に分割しても良いし、2つ以上の機能部を1つの機能部に統合しても良い。また、図4に示した構成は、2以上の装置によって構成しても良いし、図6に示した構成は、3以上の装置によって構成しても良い。その場合、各装置は回路や有線若しくは無線のネットワークを介して接続され、互いにデータ通信を行って協調動作を行うことで、上記の各実施形態で説明した処理を実現する。
また、上記の各実施形態や変形例で使用した数値、処理タイミング、処理順、処理の主体、データ(情報)の構成/送信先/送信元/格納場所などは、具体的な説明を行うために一例として挙げたもので、このような一例に限定することを意図したものではない。
また、以上説明した各実施形態や変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
401:入力画像取得部 402:推論環境取得部 403:幅算出部 404:分割部 405:算出部 406:推論部 407:マップ算出部 408:統合部
Claims (20)
- 入力画像を、隣り合う画素ブロックが互いに重複するように複数の画素ブロックに分割する分割手段と、
前記複数の画素ブロックのそれぞれについて、該画素ブロックに対するデモザイクの推論結果である推論結果ブロックを取得する取得手段と、
前記取得手段が取得したそれぞれの推論結果ブロックを、隣り合う画素ブロックの推論結果ブロックが互いに重複するように結合させた結合画像を生成する生成手段と
を備え、
前記生成手段は、
画素ブロックに対するデモザイクの推論で行うパディングによる誤差が該画素ブロックの端部から侵食する領域をパディング領域とし、隣り合う画素ブロックのうち一方の画素ブロックの推論結果ブロックにおいて該パディング領域に対応する第1対応領域と、他方の画素ブロックの推論結果ブロックにおいて該パディング領域に対応する第2対応領域と、が重複する重複領域に対して画素値のブレンドを行う
ことを特徴とする画像処理装置。 - 前記分割手段は、隣り合う画素ブロックが前記パディング領域の幅に応じた重複幅で互いに重複するように前記入力画像を複数の画素ブロックに分割することを特徴とする請求項1に記載の画像処理装置。
- 前記分割手段は、隣り合う画素ブロックの非パディング領域が隣接するように、前記入力画像を複数の画素ブロックに分割することを特徴とする請求項1または2に記載の画像処理装置。
- 前記分割手段は、隣り合う画素ブロックにおけるそれぞれの非パディング領域が一定距離だけ離間するように、前記入力画像を複数の画素ブロックに分割することを特徴とする請求項1または2に記載の画像処理装置。
- さらに、
前記推論を行うモデルの構造を示す情報に基づいて前記幅を求める手段を備えることを特徴とする請求項2に記載の画像処理装置。 - 前記取得手段は、前記推論を行うモデルに前記複数の画素ブロックのそれぞれを入力することで該モデルから出力される、該画素ブロックの推論結果ブロックを取得することを特徴とする請求項1ないし5の何れか1項に記載の画像処理装置。
- 前記生成手段は、前記第1対応領域における画素値と、前記第2対応領域における画素値と、をブレンドして前記重複領域の画素値を求めることを特徴とする請求項1ないし6の何れか1項に記載の画像処理装置。
- 前記生成手段は、前記重複領域の各位置におけるアルファ値を表すアルファマップを用いて前記ブレンドを行うことを特徴とする請求項7に記載の画像処理装置。
- 前記アルファマップでは、前記重複領域における一端から他端にかけてアルファ値が減少していることを表していることを特徴とする請求項8に記載の画像処理装置。
- 前記生成手段は、前記画素ブロックにおける画素の画素値と、該画素ブロックの推論結果ブロックにおける該画素の画素値と、の差分に基づいて、該画素に対応するアルファ値を求めることを特徴とする請求項8または9に記載の画像処理装置。
- 前記生成手段は、前記差分が大きいほど前記アルファ値が小さくなるような計算によって、前記アルファ値を求めることを特徴とする請求項10に記載の画像処理装置。
- 前記生成手段は、前記差分の逆数を前記アルファ値として求めることを特徴とする請求項11に記載の画像処理装置。
- さらに、
前記アルファマップにおける端部のアルファ値を用いて、該端部を含む部分領域のアルファ値を補正することを特徴とする請求項8ないし12の何れか1項に記載の画像処理装置。 - 前記生成手段は、隣り合う画素ブロックのうち一方の画素ブロックの推論結果ブロックにおいてパディング領域に対応する対応領域と、他方の画素ブロックの推論結果ブロックにおいて非パディング領域に対応する対応領域と、が重複する領域の画素値には、該他方の画素ブロックの推論結果ブロックにおいて非パディング領域に対応する対応領域の画素値を設定することを特徴とする請求項1ないし13の何れか1項に記載の画像処理装置。
- 前記生成手段は、単一の推論結果ブロックに含まれる領域の画素値には、該単一の推論結果ブロックにおける画素値を設定することを特徴とする請求項1ないし14の何れか1項に記載の画像処理装置。
- 前記入力画像はRAW画像であることを特徴とする請求項1ないし15の何れか1項に記載の画像処理装置。
- 入力画像を、隣り合う画素ブロックが互いに重複するように複数の画素ブロックに分割する分割手段と、
前記複数の画素ブロックのそれぞれについて、該画素ブロックに対するデモザイクの推論結果である推論結果ブロックを取得する取得手段と、
前記取得手段が取得したそれぞれの推論結果ブロックを、隣り合う画素ブロックの推論結果ブロックが互いに重複するように結合させた結合画像を生成する生成手段と
を備え、
前記生成手段は、
前記推論結果ブロックに応じて、前記結合の対象としない領域を前記推論結果ブロック内で決定し、対象とされた領域を用いて前記結合を行う
ことを特徴とする画像処理装置。 - 画像処理装置が行う画像処理方法であって、
前記画像処理装置の分割手段が、入力画像を、隣り合う画素ブロックが互いに重複するように複数の画素ブロックに分割する分割工程と、
前記画像処理装置の取得手段が、前記複数の画素ブロックのそれぞれについて、該画素ブロックに対するデモザイクの推論結果である推論結果ブロックを取得する取得工程と、
前記画像処理装置の生成手段が、前記取得工程で取得したそれぞれの推論結果ブロックを、隣り合う画素ブロックの推論結果ブロックが互いに重複するように結合させた結合画像を生成する生成工程と
を備え、
前記生成工程では、
画素ブロックに対するデモザイクの推論で行うパディングによる誤差が該画素ブロックの端部から侵食する領域をパディング領域とし、隣り合う画素ブロックのうち一方の画素ブロックの推論結果ブロックにおいて該パディング領域に対応する第1対応領域と、他方の画素ブロックの推論結果ブロックにおいて該パディング領域に対応する第2対応領域と、が重複する重複領域に対して画素値のブレンドを行う
ことを特徴とする画像処理方法。 - 画像処理装置が行う画像処理方法であって、
前記画像処理装置の分割手段が、入力画像を、隣り合う画素ブロックが互いに重複するように複数の画素ブロックに分割する分割工程と、
前記画像処理装置の取得手段が、前記複数の画素ブロックのそれぞれについて、該画素ブロックに対するデモザイクの推論結果である推論結果ブロックを取得する取得工程と、
前記画像処理装置の生成手段が、前記取得工程で取得したそれぞれの推論結果ブロックを、隣り合う画素ブロックの推論結果ブロックが互いに重複するように結合させた結合画像を生成する生成工程と
を備え、
前記生成工程では、
前記推論結果ブロックに応じて、前記結合の対象としない領域を前記推論結果ブロック内で決定し、対象とされた領域を用いて前記結合を行う
ことを特徴とする画像処理方法。 - コンピュータを、請求項1ないし17の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021028978A JP2022130034A (ja) | 2021-02-25 | 2021-02-25 | 画像処理装置、画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021028978A JP2022130034A (ja) | 2021-02-25 | 2021-02-25 | 画像処理装置、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022130034A true JP2022130034A (ja) | 2022-09-06 |
Family
ID=83151026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021028978A Pending JP2022130034A (ja) | 2021-02-25 | 2021-02-25 | 画像処理装置、画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022130034A (ja) |
-
2021
- 2021-02-25 JP JP2021028978A patent/JP2022130034A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4295340B2 (ja) | 二次元画像の拡大およびピンチング | |
US20150077573A1 (en) | Projection system, image processing device, and projection method | |
JP3650578B2 (ja) | 画像の歪みを補正するためのニューラル・ネットワークを用いたパノラマ画像ナビゲーションシステム | |
JP5544277B2 (ja) | 画像補正装置、補正画像生成方法、補正テーブル生成装置、補正テーブル生成方法、補正テーブル生成プログラムおよび補正画像生成プログラム | |
JP5080678B2 (ja) | 二次元画像の透視変換 | |
US8094213B2 (en) | Image processing apparatus, image processing method, and program in which an original image is modified with respect to a desired reference point set on a screen | |
JP7508265B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US7986859B2 (en) | Converting bayer pattern RGB images to full resolution RGB images via intermediate hue, saturation and intensity (HSI) conversion | |
JP5709131B2 (ja) | 画像処理システム | |
US20150116545A1 (en) | Super-resolution in processing images such as from multi-layer sensors | |
WO2021106853A1 (ja) | 画像処理装置、画像処理方法、学習装置、学習方法、撮像装置、及びプログラム | |
CN104134189B (zh) | 一种图像放大的方法及装置 | |
US20080118175A1 (en) | Creating A Variable Motion Blur Effect | |
JP2023003763A (ja) | 学習装置、画像処理装置、学習処理方法、及びプログラム | |
JP7398938B2 (ja) | 情報処理装置およびその学習方法 | |
JP5975496B2 (ja) | デジタル画像リサンプリング装置、方法、及びプログラム | |
JP2022130034A (ja) | 画像処理装置、画像処理方法 | |
JP2022150562A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2023003764A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2022137916A (ja) | 画像処理装置、画像形成システム、画像処理方法及びプログラム | |
JP2006238188A (ja) | 補間フィルタおよび映像信号処理装置 | |
JP7140491B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP4334496B2 (ja) | 画素信号処理装置、及び画素信号処理方法 | |
WO2021053735A1 (ja) | アップスケーリング装置、アップスケーリング方法、及び、アップスケーリングプログラム | |
EP4303806A1 (en) | Image processing method, image processing apparatus, learning apparatus, manufacturing method of learned model, program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240214 |