JP2022101507A - インテリジェントノイズ除去 - Google Patents
インテリジェントノイズ除去 Download PDFInfo
- Publication number
- JP2022101507A JP2022101507A JP2021206859A JP2021206859A JP2022101507A JP 2022101507 A JP2022101507 A JP 2022101507A JP 2021206859 A JP2021206859 A JP 2021206859A JP 2021206859 A JP2021206859 A JP 2021206859A JP 2022101507 A JP2022101507 A JP 2022101507A
- Authority
- JP
- Japan
- Prior art keywords
- image
- map
- monte carlo
- error map
- architecture
- 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
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 144
- 230000015556 catabolic process Effects 0.000 claims abstract description 22
- 238000006731 degradation reaction Methods 0.000 claims abstract description 22
- 238000010801 machine learning Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 196
- 238000009877 rendering Methods 0.000 claims description 67
- 239000000203 mixture Substances 0.000 claims description 42
- 230000009467 reduction Effects 0.000 claims description 40
- 238000012549 training Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 24
- 238000010606 normalization Methods 0.000 claims description 24
- 239000000872 buffer Substances 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 11
- 238000002156 mixing Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 abstract description 6
- 238000005070 sampling Methods 0.000 description 58
- 230000000875 corresponding effect Effects 0.000 description 50
- 230000008569 process Effects 0.000 description 44
- 238000004364 calculation method Methods 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 239000010985 leather Substances 0.000 description 6
- 238000012614 Monte-Carlo sampling Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000000342 Monte Carlo simulation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 239000004926 polymethyl methacrylate Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】レイトレーシング画像上のデノイザー生成劣化を推定する畳み込みニューラルネットワーク(CNN)アーキテクチャを学習させるための、コンピュータに実装された機械学習方法、システム、コンピュータプログラム及び記憶媒体を提供する。【解決手段】機械学習方法は、データセットを提供するステップ及び提供されたデータセットに基づいてCNNアーキテクチャを学習させるステップを含む。学習には、データセットの、デノイザーが生成した画像と、その対応ノイズ画像を入力として取得し、誤差マップを出力するステップが含まれる。【選択図】図1
Description
本発明は、コンピュータプログラム及びシステムの分野、より具体的には、レイトレーシング画像のレンダリングのための方法、システム、及びプログラムに関する。
市場には、オブジェクトの設計、エンジニアリング、製造用に、多数のシステム及びプログラムが提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、たとえば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、たとえば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関する。CAMはコンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、たとえば、製造プロセスや操作を定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムでは、技術の効率の点でグラフィカルユーザーインターフェイスが重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれ得る。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、拡張エンタープライズの概念にわたって、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。ダッソー・システムズが(CATIA、ENOVIA、DELMIAの商標のもと)提供するPLMソリューションでは、製品エンジニアリングの知識を編成するエンジニアリングハブと、製造エンジニアリングの知識を管理する製造ハブと、エンジニアリングハブ及び製造ハブへの企業の統合及び接続とを可能にする企業ハブが提供される。これらを合わせたシステムは、製品定義、製造準備、生産、及びサービスの最適化を促進するダイナミックかつ知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
こういった背景の中で、コンピュータグラフィックスの分野は、ますます有用な技術を提供する。この分野では、レイトレーシング画像を使用して視覚的な現実味が非常に高い画像が生成され、レイトレーシング画像をレンダリングする手法の重要性が高まっている。
モンテカルロレンダリングは、高品質のレイトレーシング画像をレンダリングするために使用される既知の手法である。モンテカルロレンダリングは、ランダムサンプルを使用した数値積分に基づいており、光の反射を表す、基礎となるレンダリング方程式の高次積分を計算する。サンプリングがランダムであるため、モンテカルロレンダリングは確率的な性質を持ち、したがって、結果として得られる画像にノイズが発生する。サンプル数を増やすとモンテカルロレンダリングの正確性は増し、また、サンプル数が増えると、反復的に正しい結果に収束する。「Pharr, M., Jakob, W., & Humphreys, G. (2018), Physically Based Rendering: From Theory To Implementation」では、モンテカルロレンダリングの基礎となる主要な数学的概念が詳細に調査されている。モンテカルロレンダリングは、その計算に多大な計算時間とリソースを要する処理であるため、ノイズによる分散を減らしつつも必要なサンプル数を最小限に抑えることは非常に重要なタスクである。
アルゴリズムの中には、基礎となる分布に可能な限り近いサンプリングを行い分散を減らすサンプリング戦略を利用する。これが実現可能なサンプリング戦略はいくつか存在し、たとえば、均一サンプリング、層別サンプリング、重点サンプリングなどである。これらのサンプリングは、固定スキームのサンプリング戦略として公知である。適応サンプリングは、固定スキームではなく、以前のサンプルに基づいてサンプリング密度を定義するサンプリング戦略である。基本的に、適応サンプリングにより、出力分散を最小化するためにサンプルが必要となる画像空間にサンプルを分散させることが可能になる。多くの適応サンプリング手法は、再構成プロセスを必要とする。「Zwicker, M., Jarosz, W., Lehtinen, J., Moon, B., Ramamoorthi, R., Rousselle, F., Sen, P., Soler, C., Yoon, S.-E. (2015), Recent Advances in Adaptive Sampling and Reconstruction for Monte Carlo Rendering」では、適応サンプリングに関する背景技術が詳細に調査されている。
サンプリングアルゴリズムは適切なサンプリング戦略を駆使して高品質の画像のレンダリングを可能にするが、一方で、低ノイズの画像を実現するために必要なサンプル数が計算量的に膨大になり得るという欠点を持つ。モンテカルロレンダリングのノイズ除去とは、サンプリングされたレイトレーシング画像の分散を減らすことを目的とした手法を指す。モンテカルロレンダリングのノイズ除去は、先験的及び事後的な手法として説明できる。「Zwicker, M., Jarosz, W., Lehtinen, J., Moon, B., Ramamoorthi, R., Rousselle, F., Sen, P., Soler, C., Yoon, S.-E. (2015), Recent Advances in Adaptive Sampling and Reconstruction for Monte Carlo Rendering」では、モンテカルロレンダリングのノイズ除去のための事後的な手法が詳細に調査されている。事後的な方法では、追加情報(法線バッファやアルベドバッファなど)をほとんど使わず、内部計算に関する知識も一切使わず、レンダラーの出力に作用する。重要となるのは、再構成フィルタのファミリーを使用し、フィルタ出力の誤差推定を作成することである。現在のシステムの多くは、「Rushmeier, H. E., & Ward, G. J. (1994), Energy preserving non-linear filters」に記載されている、非線形画像空間フィルターの概念や、「McCool, M. D. (1999), Anisotropic Diffusion for Monte Carlo Noise Reduction」で紹介されるような法線バッファやアルベドバッファなどの補助的特徴の使用に基づいている。
ニューラルネットワーク、特に畳み込みニューラルネットワークは、ノイズ除去システムを含むコンピュータの視覚システムに導入されている。「Li, Z., Yang, W., Peng, S., & Liu, F. (2020), A Survey of Convolutional Neural Networks: Analysis, Applications, and Prospects」、「Liu, G., Reda, F. A., Shih, K. J., Wang, T.-C., Tao, A., & Catanzaro, B. (2018), Image Inpainting for Irregular Holes Using Partial Convolutions」及び「Vincent, P., Larochelle, H., Bengio, Y., & Manzagol, P.-A. (2008), Extracting and composing robust features with denoising autoencoders」において、画像分類などのコンピュータ視覚システムや、画像合成、修復、ノイズ除去などの生成画像システムにおける畳み込みニューラルネットワークの使用例が紹介されている。「Gatys, L. A., Ecker, A. S., & Bethge, M. (2015), A Neural Algorithm of Artistic Style」では、事前にトレーニングしたVGG19畳み込みニューラルネットワークの重みを用いて、画像分類ネットワークを損失関数として使用し、ある画像から別の画像にスタイルを転送する方法が説明されている。「Zhang, R., Isola, P., Efros, A. A., Shechtman, E., & Wang, O. (2018), The Unreasonable Effectiveness of Deep Features as a Perceptual Metric」では、事前にトレーニングしたVGG19畳み込みニューラルネットワークの重みを用いて2つの画像間の知覚的類似性を評価することが記載されており、これは、事前にトレーニングされる分類ネットワークによって生成されるフィルターマップに作用するネットワークを、知覚的類似性を測定するようトレーニングすることで達成される。「Bako, S., Vogels, T., Mcwilliams, B., Meyer, M., Novak, J., Harvill, A., Sen, P., DeRose, T., Rousselle, F. (2017), Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings」では、ニューラルネットワークを使用して、隣接するピクセルから各ノイズ除去ピクセルを算出するために使用される局所重み付けカーネルを推定するデノイザーについて説明されている。「Chaitanya, C. R., Kaplanyan, A. S., Schied, C., Salvi, M., Lefohn, A., Nowrouzezahrai, D., & Aila, T. (2017), Interactive Reconstruction of Monte Carlo Image Sequences Using a Recurrent Denoising Autoencoder」では、画像シーケンスに作用し、入力からノイズ除去ピクセルを直接予測するノイズ除去について説明されている。Nvidia OptiX Denoiser又はIntel Open Image Denoiseといった市販のデノイザーのソリューションも存在し、これらは、「Chaitanya, C. R., Kaplanyan, A. S., Schied, C., Salvi, M., Lefohn, A., Nowrouzezahrai, D., & Aila, T. (2017), Interactive Reconstruction of Monte Carlo Image Sequences Using a Recurrent Denoising Autoencoder」の技術に部分的に基づいている。
ノイズ除去はノイズによる分散を低減するものの、たとえば、最終的なフレームレンダリングでのレザー構造背景では、ノイズ除去プロセスで細かいディテールが失われ、画像がぼやける可能性がある。「Kuznetsov, A., Kalantari, N. K., & Ramamoorthi, R. (2018), Deep Adaptive Sampling for Low Sample Count Rendering」では、2つのニューラルネットワークを使用して適応サンプリングとノイズ除去を組み合わせた方法について説明している。ニューラルネットワークのうちの1つはレンダラーの前で動作し、少ないサンプル数に焦点をあて、単一のサンプル画像から適応サンプリングマップを生成する。もう1つのニューラルネットワークは、適応サンプリングされたレンダリングのノイズを除去する。ただし、サンプリングに使用されるニューラルネットワークはサンプル数が少ないため、ノイズの多い領域では薄い構造を適切にはサンプリングせず、ノイズ除去後にディテールが失われる。「Hasselgren, J., Munkberg, J., Salvi, M., Patney, A., & Lefohn, A. (2020), Neural Temporal Adaptive Sampling and Denoising」は、「Kuznetsov, A., Kalantari, N. K., & Ramamoorthi, R. (2018)」の画像シーケンスに作用するシステムを時間ドメインに拡張し、以前のフレームを時間伸縮して繰り返しループを作成し、それを適応サンプルマップネットワークに入力するが、これも、ノイズ除去後のディテールの損失という同じ問題を抱えている。
サンプル数が多い状態で画像をレンダリングした場合、ノイズ除去プロセスを含めると、入力をまったくノイズ除去しない場合に比べて品質が劣化する可能性があり、したがって、小さな構造のディテールを有する、非常に集中した領域の品質劣化を回避する、体系的なノイズ除去プロセスが必要である。
図6と図7は、ノイズ除去プロセスによって品質が劣化したサンプル数の多い画像の例を示す。ノイズ除去の誤差は、従来技術の方法によって検出される。
図6左上部分では、サンプル数の多い画像のノイズ除去画像が示されている。図6右上部分では、ノイズ除去画像の参照画像が示されている。この画像は、レザーの質感を持つ家具のシーンを示す。ノイズ除去画像と参照画像を目視的に検査すると、品質が劣化している画像領域が明確に分かり、たとえば、ノイズ除去後には参照画像のレザーの質感が失われている。品質劣化は標準的なメトリックで部分的に検出できるが、数が多いサンプリングの画像では、デノイザーによって劣化した領域を体系的に区別することはできない。左下部分では、ノイズ除去画像と参照画像間の平均絶対誤差を示す標準的なメトリックが示されている。誤差マップの暗い領域は、誤差が少ないかまったくない領域に対応する。明るい領域は、誤差が大きい領域に対応する。図6左下に示される下の誤差マップは、レザーの質感のディテールが損失されたことを識別していない。図6右下部分では、ノイズ除去画像と参照画像の間の構造類似度インデックスの測定(SSIM)に基づく誤差マップを示す。SSIMでは、ノイズ除去によって劣化した領域の表示がわずかに改良されており、これら領域にわずかに高い誤差を割り当てている。ただし、SSIMも、検出メトリックとして使用するにはまだ十分ではない。実際に、SSIM誤差マップは、ぼやけたような誤差を示すため、小さな構造のディテールが歪んだ領域を明確に区別することは困難である。
図7は、ペットボトルのレンダリングを使用した同様の例を示しており、目視的な検査により、左上部分のノイズ除去画像では、参照画像と比較して、ペットボトルに刻印されている文字がぼやけていることが分かる。しかし、平均絶対誤差とSSIMでは両方とも、文字がぼやけている領域を表示できていない。
こういった背景において、レイトレーシング画像のレンダリングを改良させる必要性が依然としてある。
したがって、レイトレーシング画像上のデノイザー生成劣化を推定するように畳み込みニューラルネットワーク(CNN)アーキテクチャを学習させるための、コンピュータ実装の機械学習方法が提供される。この方法は、
-データセットを提供するステップであって、当該データセットは、
・複数の画像ペアを提供するステップであり、各ペアは参照画像とそれぞれのノイズ除去画像を有する前記ステップ、
・前記各画像ペアごとに:
・・レイトレーシング画像上のデノイザー生成劣化を推定するよう学習するCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに当該画像ペアを提供するステップ、
・・ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分を算出するステップであって、ここで、第1及び第2の正規化特徴とは事前トレーニング済みCNNアーキテクチャの同じ層の出力である、前記算出するステップ、
・・算出された差分を表す誤差マップを算出するステップ、及び、
・・それぞれのノイズ除去画像、誤差マップ及び参照画像のそれぞれのノイズ画像をデータセットに追加するステップであって、ここで、ノイズ画像とは、ノイズ除去画像が取得されたもとの画像である、前記追加するステップ、
によって取得される、前記データセットを提供するステップ、
-提供されたデータセットに基づいてCNNアーキテクチャを学習させるステップであって、当該学習には、当該データセットの、デノイザーが生成した画像と、その対応ノイズ画像を入力として受け取り、誤差マップを出力するステップが含まれる、前記学習させるステップ、
を含む。
-データセットを提供するステップであって、当該データセットは、
・複数の画像ペアを提供するステップであり、各ペアは参照画像とそれぞれのノイズ除去画像を有する前記ステップ、
・前記各画像ペアごとに:
・・レイトレーシング画像上のデノイザー生成劣化を推定するよう学習するCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに当該画像ペアを提供するステップ、
・・ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分を算出するステップであって、ここで、第1及び第2の正規化特徴とは事前トレーニング済みCNNアーキテクチャの同じ層の出力である、前記算出するステップ、
・・算出された差分を表す誤差マップを算出するステップ、及び、
・・それぞれのノイズ除去画像、誤差マップ及び参照画像のそれぞれのノイズ画像をデータセットに追加するステップであって、ここで、ノイズ画像とは、ノイズ除去画像が取得されたもとの画像である、前記追加するステップ、
によって取得される、前記データセットを提供するステップ、
-提供されたデータセットに基づいてCNNアーキテクチャを学習させるステップであって、当該学習には、当該データセットの、デノイザーが生成した画像と、その対応ノイズ画像を入力として受け取り、誤差マップを出力するステップが含まれる、前記学習させるステップ、
を含む。
本方法は、以下のうちの1つ以上を含んでもよい:
・学習するCNNアーキテクチャは、データセットのノイズ除去画像ごとに、アルベドマップと法線バッファを入力としてさらに受け取る。
・学習させるステップは教師あり学習である。
・学習するCNNアーキテクチャは、事前トレーニング済みCNNアーキテクチャと同一で同じ数の層を持ち、第1及び第2の正規化特徴を生成した事前トレーニング済みCNNアーキテクチャの層の後にある、学習するCNNアーキテクチャの層はすべて取り除かれる。
・誤差マップの算出には、以下が含まれる:
-前記算出された差分の解像度をダウンサンプリングするステップ、及び、
-前記ダウンサンプリングした差分の解像度で誤差マップを算出することで粗い誤差マップを取得するステップであって、ここで、誤差マップの各ピクセルは、算出された差分にペナルティを課す色スケールに沿った色を有する。
・事前トレーニング済みCNNアーキテクチャと学習するCNNアーキテクチャは、Visual Geometric Group(VGG)アーキテクチャである。
・Visual Geometric Group(VGG)アーキテクチャとは、VGG-19アーキテクチャであり、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴は、VGG-19アーキテクチャの第7及び/又は第9及び/又は第12層から抽出される。
・学習するCNNアーキテクチャは、データセットのノイズ除去画像ごとに、アルベドマップと法線バッファを入力としてさらに受け取る。
・学習させるステップは教師あり学習である。
・学習するCNNアーキテクチャは、事前トレーニング済みCNNアーキテクチャと同一で同じ数の層を持ち、第1及び第2の正規化特徴を生成した事前トレーニング済みCNNアーキテクチャの層の後にある、学習するCNNアーキテクチャの層はすべて取り除かれる。
・誤差マップの算出には、以下が含まれる:
-前記算出された差分の解像度をダウンサンプリングするステップ、及び、
-前記ダウンサンプリングした差分の解像度で誤差マップを算出することで粗い誤差マップを取得するステップであって、ここで、誤差マップの各ピクセルは、算出された差分にペナルティを課す色スケールに沿った色を有する。
・事前トレーニング済みCNNアーキテクチャと学習するCNNアーキテクチャは、Visual Geometric Group(VGG)アーキテクチャである。
・Visual Geometric Group(VGG)アーキテクチャとは、VGG-19アーキテクチャであり、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴は、VGG-19アーキテクチャの第7及び/又は第9及び/又は第12層から抽出される。
さらに、本方法に従って学習可能なCNNアーキテクチャが提供される。
さらに、コンピュータ実装の、CNNアーキテクチャを使用する方法が提供される。この方法は、以下のステップを含む:
-同じショットからレンダリングされた、互いに異なる第1及び第2のモンテカルロレイトレーシング画像を提供するステップ、
-第1の画像の第1のノイズ除去画像を提供するステップ、
-第1の画像と第1のノイズ除去画像をCNNアーキテクチャに適用し、誤差マップを取得するステップ、
-取得した誤差マップからブレンドマップを算出するステップであって、ここで、ブレンドマップとは、誤差マップの各領域の信号対ノイズのデシベルレベルを表す、前記算出するステップ、
-第1及び第2の画像から分散を推定するステップ、
-第1及び第2の画像間の推定分散から、ある信号対ノイズのデシベルレベルに到達するのに必要なモンテカルロサンプルの数を示すサンプルマップを算出するステップ、
-サンプルマップから特定したモンテカルロサンプルの数を使用して、前記ショットの第3のモンテカルロレイトレーシング画像をレンダリングするステップ、
-レンダリングした第3のモンテカルロレンダリングレイトレーシング画像をデノイザーへ入力し、対応ノイズ除去画像を取得するステップ、及び、
-第3のモンテカルロレンダリングレイトレーシング画像を、取得された対応ノイズ除去画像とブレンドするステップであって、ここで、ブレンドは、閾値よりも高い信号対ノイズのデシベルレベルを有するブレンドマップの各領域に対して重み付けされる。
-同じショットからレンダリングされた、互いに異なる第1及び第2のモンテカルロレイトレーシング画像を提供するステップ、
-第1の画像の第1のノイズ除去画像を提供するステップ、
-第1の画像と第1のノイズ除去画像をCNNアーキテクチャに適用し、誤差マップを取得するステップ、
-取得した誤差マップからブレンドマップを算出するステップであって、ここで、ブレンドマップとは、誤差マップの各領域の信号対ノイズのデシベルレベルを表す、前記算出するステップ、
-第1及び第2の画像から分散を推定するステップ、
-第1及び第2の画像間の推定分散から、ある信号対ノイズのデシベルレベルに到達するのに必要なモンテカルロサンプルの数を示すサンプルマップを算出するステップ、
-サンプルマップから特定したモンテカルロサンプルの数を使用して、前記ショットの第3のモンテカルロレイトレーシング画像をレンダリングするステップ、
-レンダリングした第3のモンテカルロレンダリングレイトレーシング画像をデノイザーへ入力し、対応ノイズ除去画像を取得するステップ、及び、
-第3のモンテカルロレンダリングレイトレーシング画像を、取得された対応ノイズ除去画像とブレンドするステップであって、ここで、ブレンドは、閾値よりも高い信号対ノイズのデシベルレベルを有するブレンドマップの各領域に対して重み付けされる。
本使用方法は、以下のうちの1つ以上を含んでもよい:
・取得した誤差マップからブレンドマップを算出するステップは、以下を含んでもよい:
-シグモイド関数を誤差マップに適用して誤差マップを正規化するステップ、
-正規化された誤差マップとターゲットとなる誤差マップ間のターゲット二乗平均平方根誤差から誤差マップの各領域のデシベル値を算出することにより、ブレンドマップを算出するステップ。
・提供された第1のモンテカルロレイトレーシング画像は、第1の数のモンテカルロサンプルでレンダリングされたものであり、レンダリングされた第2のモンテカルロレイトレーシング画像は、第2の数のモンテカルロサンプルでレンダリングされたものであり、ここで、モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数以上である。
・モンテカルロサンプルの第2の数は、モンテカルロサンプルの第1の数の半分である。
・提供された第1のモンテカルロレイトレーシング画像は、第1のランダムシードに従ってレンダリングされたものであり、提供された第2のモンテカルロレイトレーシング画像は、第2のランダムシードに従ってレンダリングされたものであり、ここで、モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数に等しい。
・取得した誤差マップからブレンドマップを算出するステップは、以下を含んでもよい:
-シグモイド関数を誤差マップに適用して誤差マップを正規化するステップ、
-正規化された誤差マップとターゲットとなる誤差マップ間のターゲット二乗平均平方根誤差から誤差マップの各領域のデシベル値を算出することにより、ブレンドマップを算出するステップ。
・提供された第1のモンテカルロレイトレーシング画像は、第1の数のモンテカルロサンプルでレンダリングされたものであり、レンダリングされた第2のモンテカルロレイトレーシング画像は、第2の数のモンテカルロサンプルでレンダリングされたものであり、ここで、モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数以上である。
・モンテカルロサンプルの第2の数は、モンテカルロサンプルの第1の数の半分である。
・提供された第1のモンテカルロレイトレーシング画像は、第1のランダムシードに従ってレンダリングされたものであり、提供された第2のモンテカルロレイトレーシング画像は、第2のランダムシードに従ってレンダリングされたものであり、ここで、モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数に等しい。
本方法のいずれかを実行するための命令を含むコンピュータプログラムがさらに提供される。
コンピュータプログラム及び/又はニューラルネットワークを記録したコンピュータ可読データ記憶媒体がさらに提供される。
畳み込みニューラルネットワーク(CNN)アーキテクチャを学習させるために構成される、コンピュータ実装のデータセット形成方法も提供される。CNNアーキテクチャは、画像特徴抽出器を含む。この方法は以下を含む:
-複数の画像ペアを提供するステップであって、各ペアは、参照画像とそれぞれのノイズ除去画像をそれぞれ有する、前記ステップ、
-前記各画像ペアごとに:
・形成されるデータセットが構成される対象であるCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに当該画像ペアを提供するステップ、
・ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分を算出するステップであって、ここで、第1及び第2の正規化特徴とは事前トレーニング済みCNNアーキテクチャの同じ層の出力である、前記算出するステップ、
・算出された差分を表す誤差マップを算出するステップ、及び、
・それぞれのノイズ除去画像及び誤差マップをデータセットに追加するステップ。
-複数の画像ペアを提供するステップであって、各ペアは、参照画像とそれぞれのノイズ除去画像をそれぞれ有する、前記ステップ、
-前記各画像ペアごとに:
・形成されるデータセットが構成される対象であるCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに当該画像ペアを提供するステップ、
・ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分を算出するステップであって、ここで、第1及び第2の正規化特徴とは事前トレーニング済みCNNアーキテクチャの同じ層の出力である、前記算出するステップ、
・算出された差分を表す誤差マップを算出するステップ、及び、
・それぞれのノイズ除去画像及び誤差マップをデータセットに追加するステップ。
この方法は、以下のうちの1つ以上を含んでもよい:
・誤差マップの算出には、以下が含まれる:
-前記算出された差分の解像度をダウンサンプリングするステップ、及び、
-前記ダウンサンプリングした差分の解像度で誤差マップを算出することで粗い誤差マップを取得するステップであって、ここで、誤差マップの各ピクセルは、算出された差分にペナルティを課す色スケールに沿った色を有する、
・事前トレーニング済みCNNアーキテクチャは、Visual Geometric Group(VGG)アーキテクチャである、
・Visual Geometric Group(VGG)アーキテクチャは、VGG-19アーキテクチャであり、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴は、VGG-19アーキテクチャの第7及び/又は第9及び/又は第12層から抽出される、
・追加するステップには以下が含まれる:
-データセットに、それぞれのノイズ除去画像、誤差マップ及び参照画像のそれぞれのノイズ画像を追加するステップであって、ここで、ノイズ画像とは、ノイズ除去画像が取得されたもとの画像である、
・それぞれのノイズ除去画像は、デノイザーによってノイズ除去された、参照画像より少ないサンプル数の画像をデノイザーに入力した結果である。
さらに、この方法に従って形成可能なデータセットを表すデータ構造が提供される。
・誤差マップの算出には、以下が含まれる:
-前記算出された差分の解像度をダウンサンプリングするステップ、及び、
-前記ダウンサンプリングした差分の解像度で誤差マップを算出することで粗い誤差マップを取得するステップであって、ここで、誤差マップの各ピクセルは、算出された差分にペナルティを課す色スケールに沿った色を有する、
・事前トレーニング済みCNNアーキテクチャは、Visual Geometric Group(VGG)アーキテクチャである、
・Visual Geometric Group(VGG)アーキテクチャは、VGG-19アーキテクチャであり、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴は、VGG-19アーキテクチャの第7及び/又は第9及び/又は第12層から抽出される、
・追加するステップには以下が含まれる:
-データセットに、それぞれのノイズ除去画像、誤差マップ及び参照画像のそれぞれのノイズ画像を追加するステップであって、ここで、ノイズ画像とは、ノイズ除去画像が取得されたもとの画像である、
・それぞれのノイズ除去画像は、デノイザーによってノイズ除去された、参照画像より少ないサンプル数の画像をデノイザーに入力した結果である。
さらに、この方法に従って形成可能なデータセットを表すデータ構造が提供される。
さらに、当該データ構造で表されるデータセットの使用に関するコンピュータ実装方法が提供される。この方法は、当該データセットに基づいて畳み込みニューラルネットワーク(CNN)アーキテクチャを学習させるステップを含む。
このコンピュータ実装方法は、以下のうちの1つ以上を含んでもよい:
・学習させるステップは教師あり学習である、
・学習するCNNアーキテクチャは、事前トレーニング済みCNNアーキテクチャと同一で同じ数の層を持ち、第1及び第2の正規化特徴を生成した事前トレーニング済みCNNアーキテクチャの層の後にある、学習するCNNアーキテクチャの層はすべて取り除かれる。
・学習させるステップは教師あり学習である、
・学習するCNNアーキテクチャは、事前トレーニング済みCNNアーキテクチャと同一で同じ数の層を持ち、第1及び第2の正規化特徴を生成した事前トレーニング済みCNNアーキテクチャの層の後にある、学習するCNNアーキテクチャの層はすべて取り除かれる。
本方法のいずれかを実行するための命令を含むコンピュータプログラムがさらに提供される。
当該コンピュータプログラム及び/又はデータ構造を記録したコンピュータ可読データ記憶媒体がさらに提供される。
さらに、本方法に従って形成可能なデータセットが提供される。
次に、本発明の実施形態を、限定するものではない例をもとに添付の図面を参照して説明する。
本方法のフローチャートを示す。
本方法のフローチャートを示す。
本方法のフローチャートを示す。
システムのグラフィカルユーザインタフェースの一例を示す。
システムの一例を示す。
先行技術の方法によるノイズ除去の誤差の検出を示す。
先行技術の方法によるノイズ除去の誤差の検出を示す。
CNNアーキテクチャの一例を示す。
事前トレーニング済みCNNアーキテクチャの一例を示す。
粗い誤差マップの一例を示す。
本方法に従って算出される誤差マップの例を示す。
本方法に従って算出される誤差マップの例を示す。
本方法に従って算出される誤差マップの例を示す。
学習に使用されるCNNアーキテクチャの一例を示す。
教師あり学習で学習するCNNアーキテクチャの一例を示す。
形成されるデータセットに基づいて学習したCNNアーキテクチャによって推定される誤差マップの例を示す。
形成されるデータセットに基づいて学習したCNNアーキテクチャによって推定される誤差マップの例を示す。
形成されるデータセットに基づいて学習したCNNアーキテクチャによって推定される誤差マップの例を示す。
それぞれの信号対ノイズのデシベル値を有するノイズ画像を。対応する参照画像と一緒に例として示す。
異なるターゲット信号対ノイズのデシベル値に従ってノイズ除去画像の例を示す。
異なるターゲット信号対ノイズのデシベル値に従ってノイズ除去画像の例を示す。
提供される方法は、レイトレーシング画像のレンダリングに関連している。広く公知であるように、レンダリングプロセスには通常、デノイザーを使用したノイズ除去プロセスが含まれる。「デノイザー」とは、一連の計算を表す任意のアルゴリズムであり、レイトレーシング画像を入力として受け取る前記アルゴリズムの少なくとも一部であり、ここで、レイトレーシング画像とは、任意の数のサンプル又は任意のサンプル戦略でレンダリングされるものである。デノイザーは、入力されるレイトレーシング画像に、レイトレーシング画像への信号処理の一連の計算を適用する。たとえば、デノイザーはレイトレーシング画像にフィルタを適用してもよい。信号処理の分野、特にレイトレーシング画像のノイズ除去への応用では、この一連の計算は、事後的方法の技術に従う。レイトレーシング画像に対してデノイザーが実行する特定の計算は、本発明の主題ではないので、その応用の詳細は省略される。事後的な方法及びノイズ除去の他の方法の標準的な参考文献には、「Zwicker, M., Jarosz, W., Lehtinen, J., Moon, B., Ramamoorthi, R., Rousselle, F., Sen, P., Soler, C., Yoon, S.-E, (2015), Recent Advances in Adaptive Sampling and Reconstruction for Monte Carlo Rendering」がある。それぞれのノイズ除去画像は、デノイザーの出力に対応し、参照画像と同じレンダリング方程式からサンプリングされる画像が入力されるデノイザーによる計算の適用結果に対応する。
図1のフローチャートを参照し、レイトレーシング画像上のデノイザー生成劣化を推定する畳み込みニューラルネットワークアーキテクチャを学習させるための、コンピュータ実装方法を説明する。畳み込みニューラルネットワーク(CNN)アーキテクチャとは、当該技術分野で広く知られており、広範な用途で適用されている。畳み込みニューラルネットワークの標準的な参考文献としては、「Lecun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998), Gradient-based learning applied to document recognition」がある。本学習方法は、データセットを提供するステップQ10を含む。本方法は、形成されるデータセットに基づいて、CNNアーキテクチャを学習させるステップQ20をさらに含む。学習には、データセットの、デノイザーが生成した画像と、その対応ノイズ画像を入力として取得し、誤差マップを出力するステップが含まれる。デノイザーに入力される対応ノイズ画像と比較して、デノイザーが生成した画像のディテールの損失を推定する誤差マップを出力する最先端のCNNアーキテクチャにより、学習は、任意の公知の手段によって実行できる。
劣化の推定は、デノイザーの画像がディテールを損失した(たとえば、細かい要素がぼやけている)領域を識別する誤差マップによって表してもよい。機械学習の分野で公知であるように、このような学習は、提供されるデータセットに基づいてCNNアーキテクチャを学習させることによって実行される。ここで、提供されるデータセットとは、そのような学習を実現するように構成される。機械学習の分野で公知であるように、CNNアーキテクチャによる入力(たとえば、デノイザーが生成した画像)の処理には、その入力への演算の適用が含まれ、ここで、演算とは重み値を含むデータによって定義される。したがって、ニューラルネットワークの学習には、そのような学習用に構成されるデータセットに基づいて重み値を決定するステップが含まれる。そのため、提供されるデータセットには、それぞれが各トレーニングサンプルを形成するデータ片が含まれる。トレーニングサンプルは、学習後にニューラルネットワークが使用される多様な状況を表す。本明細書で参照されるデータセットはどれも、1000、10000、100000、又は1000000個を超える数のトレーニングサンプルを含んでもよい。
本学習方法に提供されるデータセット(Q10)は、想定される推定の品質を達成するように取得される(すなわち、データセットを形成するデータ片がそのように取得される)。本学習方法に提供されるデータセット(Q10)は、後述する「データセット形成方法」に従って形成されてもよい。
提供されるデータセットの少なくとも一部又はすべては、画像ペアを提供するステップによって取得され、各ペアは、参照画像及びそれぞれのノイズ除去画像を含む。提供されるデータセットは、データセットを取得(つまり形成)するために提供される画像ペアから算出されるデータ片(つまり、トレーニングサンプル)を含む。データ片は、レイトレーシング画像上のデノイザー生成劣化を推定するよう学習するCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに当該画像ペアを提供することで、取得される。次に、システムは、事前トレーニング済みCNNアーキテクチャを使用して、提供される画像ペアに対して一連の計算を実行し、それによってデータ片を取得する。提供されるデータセットを取得するステップは、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分を算出するステップを含み、ここで、第1及び第2の正規化特徴とは事前トレーニング済みCNNアーキテクチャの同じ層の出力である。次に、誤差マップが算出される。誤差マップとは、算出された差分を表す。データ片は、それぞれのノイズ除去画像、誤差マップ及び参照画像のそれぞれのノイズ画像をデータセットに追加することによって取得され、ここで、ノイズ画像とは、ノイズ除去画像が取得されたもとの画像である。
本学習方法に提供されるデータセット(Q10)に基づいて、学習させるステップQ20は、データセットの、デノイザーが生成した画像と、その対応ノイズ画像を入力として取得するステップを含む。学習させるステップQ20は、誤差マップを出力するステップをさらに含み、この学習させるステップは、機械学習の分野で公知の任意の手段、たとえば、教師あり学習によって実行できる。
したがって、本学習方法に従って学習したCNNアーキテクチャは特に効率的であり、レイトレーシング画像上のデノイザー生成劣化を推定する精度が改良される。これは、CNNアーキテクチャが、提供されるデータセットに基づいてオフライン段階で最初に学習し、次に、さらに最適化なくオンライン段階で適用されるからである。さらに、学習用に構成される、提供されるデータセット内のデータの多様性のおかげで、CNNアーキテクチャによって出力される誤差マップは、目視的な比較や参照画像との誤差の検証を必要とせずに、デノイザー生成劣化を正確に推定する。
ここで、CNNアーキテクチャを学習させるように構成されるデータセットを形成するためのコンピュータ実装方法について説明するが、当該方法は「データセット形成方法」と呼ぶ場合もある。本学習方法及び/又はデータセット形成方法は、機械学習プロセスの一部であってもよい。機械学習プロセスは、特に、データセット形成方法と学習方法の両方を含んでもよい。本学習方法は、たとえば、本データセット形成方法によって形成されるデータセットに少なくとも部分的に基づいて実行されてもよく、例としては、本データセット形成方法の後に実行されてもよい。このような機械学習プロセスは特に効率的であり、精度が向上する。
本方法はコンピュータに実装される。つまり、方法のステップ(又は実質的にすべてのステップ)が、少なくとも1台のコンピュータ又は任意の同様のシステムによって実行されることを意味する。したがって、本方法のステップは、可能性としては完全自動で、又は半自動で、コンピュータによって実行される。例として、本方法の少なくともいくつかのステップの始動は、ユーザーとコンピュータのインタラクションを介して実行されてもよい。必要なユーザーとコンピュータのインタラクションのレベルは、予測される自動化のレベルに依存し、ユーザーの希望を実施する必要性とバランスが取られてもよい。例として、このレベルはユーザー定義及び/又は事前に定義されてもよい。
本方法をコンピュータが実施する典型的な例は、この目的に適応したシステムで本方法を実行することである。システムは、メモリ及びグラフィカルユーザーインターフェース(GUI)に結合したプロセッサを含んでもよく、メモリは、本方法を実行するための命令を含むコンピュータプログラムを記録している。メモリはデータセットを格納してもよい。メモリは、そのような格納に適応したハードウェアであり、場合により物理的に異なる部品をいくつか含む(たとえば、プログラム用に1つ、場合によりデータセット用に1つ)。
レイトレーシング画像は、CADシステムで設計された可能性のある、又は、CADシステムで作成された設計から生じ得る、1つ以上のモデル化オブジェクトを含むシーンを含んでもよい。CADシステムという用語は、CATIAといった、モデル化オブジェクトのグラフィック表現に基づいて、少なくともモデル化オブジェクトを設計するために適合されたシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは、たとえば、エッジ又は線を使用し、特定の場合には面又は表面も用いた、CADのモデル化オブジェクトを表現したものを提供し得る。線、エッジ、又は表面は、さまざまな方法で表されてもよく、非一様有理Bスプライン(NURBS)が例として挙げられる。具体的には、CADファイルには仕様が含まれており、そこからジオメトリーが生成されてもよく、これにより、表現するものの生成が可能になる。モデル化オブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに保存されてもよい。CADシステムでモデル化オブジェクトを表すファイルの一般的なサイズは、1部品ごとに1メガバイトの範囲である。また、モデル化オブジェクトは通常、数千の部品のアセンブリであり得る。
CADといった背景では、モデル化オブジェクトは通常、3Dのモデル化オブジェクトであってもよく、3Dのモデル化オブジェクトは、部品や部品のアセンブリといった製品、又は、場合によっては製品のアセンブリを表す。「3Dのモデル化オブジェクト」とは、3Dでの表現を可能にするデータによってモデル化されるオブジェクトを意味する。3Dでの表現により、すべての角度から部品を見ることが可能になる。たとえば、3Dのモデル化オブジェクトは、3Dで表現されている場合、そのいずれかの軸、又は、表示されている画面の任意の軸をもとに、処理及び回転されてもよい。これによって、特に、3Dにモデル化されていない2Dアイコンが除外される。3D表現の表示により、設計が容易になる(つまり、設計者が統計的にタスクを実行する速度が向上する)。製品の設計は製造プロセスの一部であるため、これにより産業界での製造プロセスがスピードアップする。
3Dのモデル化オブジェクトは、たとえばCADソフトウェアソリューション又はCADシステムによって現実世界で製造される製品の仮想設計が完成後、当該製品のジオメトリーを表してもよく、当該製品は、(たとえば機械的)部品又は部品のアセンブリ(部品のアセンブリは、本方法の観点から部品自体と見なされ得る、又は、本方法はアセンブリの各部品に独立して適用され得るため、部品と部品のアセンブリは同等である)、又は、より一般的には、任意の剛体のアセンブリ(たとえば、可動機構)が例として挙げられる。CADソフトウェアソリューションにより、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、及び/又は沖合の石油/ガス生産又は輸送など、制限なくさまざまな産業分野で製品を設計することが可能になる。本方法で設計される3Dのモデル化オブジェクトは、任意の機械部品であり得る産業製品であってよく、たとえば、陸上車両の部品(たとえば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車などを含む)、航空車両の部品(たとえば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器などを含む)、海上車両の部品(海軍機器、商用船、沖合機器、ヨット及び作業船、船舶機器などを含む)、一般的な機械部品(たとえば、産業用製造機械、重機用機械又は機器、設置機器、産業用機器製品、金属加工製品、タイヤ製造製品などを含む)、電気機械又は電子部品(たとえば、家電機器、セキュリティ及び/又は制御及び/又は計測製品、コンピューティング及び通信機器、半導体、医療装置及び機器などを含む)、消費財(たとえば、家具、家庭及び庭用製品、レジャー用品、ファッション製品、耐久消費財小売業者の製品、織物類小売業者の製品などを含む)、パッケージ(たとえば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品の包装などを含む)である。
図2は、システムがCADシステムであるシステムのGUIの例を示す。
GUI2100は、標準的なメニューバー2110、2120並びに下部及び側面ツールバー2140、2150を有する、典型的なCADのようなインターフェースであってよい。そのようなメニュー及びツールバーは、ユーザーが選択可能なアイコンのセットを含み、各アイコンは、当該技術分野で公知の1つ以上の動作又は機能に関連付けられる。これらアイコンの一部は、GUI2100に表示される3Dのモデル化オブジェクト2000の編集や作業に適したソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化されてもよい。各ワークベンチは、サブセットのソフトウェアツールを含む。特に、ワークベンチのうち、1つはモデル化製品2000のジオメトリー特徴を編集するのに適した編集ワークベンチである。操作中、設計者は、たとえば、オブジェクト2000の一部を事前に選択し、適切なアイコンを選択して、次に操作(たとえば、寸法、色などを変更する)を開始してもよく、又は、ジオメトリー的な制約を編集してもよい。たとえば、一般的なCAD操作は、画面に表示される3Dのモデル化オブジェクトの押し抜きや折り込みのモデリングである。GUIは、たとえば、表示される製品2000に関連するデータ2500を表示してもよい。図の例として、「フィーチャーツリー」として表示されるデータ2500とその3D表現2000は、ブレーキキャリパーとディスクを含むブレーキアセンブリに関連する。GUIは、たとえば、オブジェクトの3Dの方向付けを容易にする、編集される製品の操作のシミュレーションを始動する、又は表示される製品2000の色々な属性をレンダリングするための様々な種類のグラフィックツール2130、2070、2080をさらに表示してもよい。カーソル2060は、ユーザーがグラフィックツールとインタラクションできるようハプティックデバイスによって制御されてもよい。
図3は、システムの一例を示しており、システムは、クライアントコンピュータシステムであり、たとえば、ユーザーのワークステーションである。
本実施例のクライアントコンピュータは、内部通信BUS1000に接続される中央処理装置(CPU)1010と、同じくBUSに接続されるランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータはさらに、BUSに接続されるビデオランダムアクセスメモリ1100と関連するグラフィックプロセッシングユニット(GPU)1110を備える。ビデオRAM1100は、当該技術分野ではフレームバッファとしても知られる。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを有形に具体化するのに適した大容量記憶装置にはあらゆる形態の不揮発性メモリが含まれ、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、及びCD-ROMディスク1040が挙げられる。前述したものはいずれも、特別に設計されるASIC(特定用途向け集積回路)によって補完されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御デバイス、キーボードなどのようなハプティックデバイス1090を含んでもよい。カーソル制御デバイスは、ユーザーがディスプレイ1080上の任意の所望の位置にカーソルを選択的に配置できるよう、クライアントコンピュータで使用される。さらに、カーソル制御デバイスにより、ユーザーはさまざまなコマンドを選択し、制御信号を入力することが可能となる。カーソル制御デバイスは、システムに制御信号を入力するためのいくつかの信号生成装置を含む。通常、カーソル制御デバイスはマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的又は追加的に、クライアントコンピュータシステムは、感圧パッド、及び/又は感圧スクリーンを含んでもよい。
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、たとえば、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせに実装されてもよい。プログラムは、たとえば、プログラム可能なプロセッサによる実行のために機械可読記憶装置に有形に具体化された製品などの装置として実装されてもよい。本方法のステップは、入力データについて動作し出力を生成して本方法の機能を実行するように命令のプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、これらにデータ及び命令を送信するように、プログラム可能であるか結合されてもよい。アプリケーションプログラムは、必要に応じて高レベルの手続き型プログラミング言語又はオブジェクト指向プログラミング言語、あるいは、アセンブリ言語又は機械語で実施されてもよい。いずれの場合も、言語はコンパイル型又はインタプリタ型言語であってもよい。プログラムは、フルインストールプログラム又は更新プログラムであってもよい。いずれにせよ、システム上でのプログラムの適用は、本方法を実行するための命令をもたらす。
図1を再度参照し、レイトレーシング画像上のデノイザー生成劣化を推定する畳み込みニューラルネットワークアーキテクチャを学習させるための、学習を実行するコンピュータ実装方法(「学習方法」とも呼ぶ)を説明する。本学習方法は、データセットを提供するステップQ10を含む。
提供されるデータセットQ10は、コンピュータ実装方法に従って取得されてよい。図2のフローチャートを参照し、「データセット形成方法」とも呼ぶ、提供されるように構成されるデータセットを取得するための方法の例についてさらに説明する。提供されるデータセットは、データセット形成方法を用いて、異なる時間に、異なる場所で、異なるシステムを用いて、及び/又は、別の異なる個人又は実体によって形成されたものであってよい。
データセット形成方法は、画像ペアを提供するステップS10を含む。提供された画像ペアの画像は、レイトレーシング画像であってもよい。レイトレーシング画像は、1つ以上のオブジェクトを含むシーンを含んでもよい。レイトレーシング画像は、異なるオブジェクト又は現象を含んでもよく、たとえば、カメラモデルによってそのシーンがどのようにどこから見られるかが決定される。レイトレーシング画像は、モンテカルロ法を使用してレンダリングされる。当該技術分野で広く公知であるように、モンテカルロレンダリングは、対応するレンダリング方程式のランダムサンプルを使用した数値積分に基づいている。たとえば、レンダリング方程式は、そのシーンのオブジェクト上のある点からカメラ(実施例に含まれるカメラモデルの場合)に到達する光の量を、オブジェクトから放出される光(それ自体が光源の場合)とオブジェクトが反射する光の量の合計として記述する。ランダムサンプルは、所定の数、たとえば、正の整数nから設定してもよい。モンテカルロレンダラーは、たとえば、反復プロセスとしてn個のサンプリングステップを実行し、0<s<nである任意のステップsでサンプルが取得される。モンテカルロレンダリングの分野では公知であるように、サンプル数を増やすと、モンテカルロレンダリングはより正確になり、ステップ数が増えると、モンテカルロレンダリングは、対応するレンダリング方程式の正確な解に対応する理想的な画像に収束、つまり、モンテカルロサンプルは、対応するレンダリング方程式の根底にある分布に収束する。たとえば、sとs’を0<s<s’<nとなる2つの数値とすると、s個のモンテカルロサンプルで取得されたレイトレーシング画像は、s’個のモンテカルロサンプルで取得されたレイトレーシング画像よりもディテール度は低くなる(つまり、収束の程度が低い)。サンプルを取得する特定の方法は、本発明の主題ではなく、単に例示のために説明するだけである。たとえば、s個のモンテカルロサンプルで取得されたレイトレーシング画像では、カメラから遠く離れたオブジェクトに対応する領域でノイズが多くなるか、レザー構造やテキストなどの細かい構造を持つ画像の領域が歪む可能性がある。小さなディテール及び/又は遠方のオブジェクトは分散が大きくなるため、デノイザーは対応する領域を劣化させてしまう。たとえば、このような劣化は、画像の細かい構造のぼやけ、又は、カメラから離れたオブジェクトのディテールの損失であり得る。
各画像ペアは、参照画像とそれぞれのノイズ除去画像をそれぞれ有する。「参照画像」とは、基礎となる分布に実質的に近くサンプリングして分散を減らしたモンテカルロレンダリングレイトレーシング画像である。「実質的に近い」とは、システムが、所定の基準により、その画像の対応するレンダリング方程式の基礎となる分布が、モンテカルロサンプリングを介して得られた離散分布によって実質的に近似されると決定し得ることを意味する。そして、離散参照画像の分布の分散は実質的に小さい。「それぞれのノイズ除去画像」は、デノイザーへの入力の結果である別のモンテカルロレイトレーシング画像であり、この別の画像は、参照画像の対応するレンダリング方程式と同じレンダリング方程式からサンプリングされる。具体的には、この別の画像のサンプル数は、参照画像のサンプル数以下である。この別の画像は、参照画像のノイズの多い画像とも呼ばれる。たとえば、ノイズの多い画像は、s=512個のサンプルをサンプリングして取得されてよく、それに対応する参照画像は、s=131,072個以上のサンプルをサンプリングして取得されてもよい。
実施例では、それぞれのノイズ除去画像は、参照画像の対応するレンダリング方程式と同じレンダリング方程式からサンプリングされた別の画像をデノイザーに入力した結果であり、ここで、サンプルの数は、参照画像のサンプルの数よりも厳密に少ない。ユーザーは、参照画像よりも厳密に少なければ任意の数のサンプルを入力してもよい。したがって、形成されたデータセットは、ノイズによる分散が比較的大きい変動を示すデータ片を含む可能性があり、それによって、複数のノイズ変動値においてデノイザーによる劣化を区別することを学習するCNNアーキテクチャが提供される。この別の画像は、さらに「ノイズ画像」と呼ばれることもある。図11~13は、参照画像、対応するノイズ画像、ノイズ画像をデノイザーに入力した結果であるノイズ除去画像、及び、対応する誤差マップを含む画像のセットの例を示す。たとえば、図11は、側面のカーテンや、カメラ視点の遠端にある彫刻など、複数の要素を含むシーンのノイズ画像を示す。この具体例は大量のサンプルの例であるため、ノイズ除去によるノイズ画像の劣化を確認することが困難である。対応する誤差マップは劣化を示す。図12は、カーテンの領域を含む同じシーンのズームバージョンである。図13は、カメラ視点の遠端にある彫刻を含む同じシーンのズームバージョンである。
画像ペアが提供されると、データセット形成方法は、ノイズ除去画像のデータセットを算出する。データセット形成方法の次のステップは、提供された画像ペアのうち各画像ペアに対して実行される。データセット形成方法は、形成されたデータセットが構成される対象であるCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに当該画像ペアを提供する(S20)。「類似」とは、事前トレーニング済みCNNアーキテクチャが、形成されたデータセットに基づいて学習するCNNアーキテクチャの画像特徴抽出器を備えた共通層を少なくとも1つ含むことを意味する。共通層とは、同じ入力に対して同じ出力を提供する層を意味する。共通層は、算出するステップS30で使用される。事前トレーニング済みCNNアーキテクチャは、形成されたデータセットに基づいて学習するCNNアーキテクチャの画像特徴抽出器を備えた共通層をすべて含んでもよい。 ニューラルネットワークの分野から公知である通り、「画像特徴抽出器」は、層のセットを含み、当該セットの各層は、対応する入力画像の特徴を出力するように構成される。対応入力画像の特徴(特徴マップとしても知られる)は、ニューラルネットワーク、特に畳み込みニューラルネットワークの分野で公知であり、対応層の出力に対応する値の二次元的な配置に対応する。特徴は、その二次元的な配置の値、すなわち行列に従った画像で表してもよい。各値は、対応層によって抽出された特徴値に対応する。たとえば、層は、入力画像又は別の層の出力に畳み込み演算を適用してもよい。畳み込み演算の出力(例としては、通常、フィルタ行列を使用した畳み込み)は、特徴マップに対応する。「画像全結合分類器」とは、画像特徴抽出器によって出力された特徴マップを入力として受け取り、対応画像に関するラベルを出力するCNNアーキテクチャの層のことである。
次に、データセット形成方法では、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分を算出するステップS30を含み、ここで、第1及び第2の正規化特徴とは事前トレーニング済みCNNアーキテクチャの同じ層の出力である。差分とは、同じ層に対応する、第1の正規化特徴マップと第2の正規化特徴マップ間の数値の差分であってよい。たとえば、差分は、たとえば、特徴の行列値間のユークリッド距離、又は絶対値ノルムなどの他の距離メトリックを使用して算出してもよい。「正規化特徴」とは、特徴に対応する層の出力数値が、同じ数値の大きさに調整される(たとえば、再スケーリングされる)ことを意味する。つまり、正規化は、差分を算出する前に特徴を加減して、それによって、ノイズ除去画像と参照画像から抽出された特徴の数値に同じ重みを与え得る。図9は、事前トレーニング済みVGG-19アーキテクチャの層の出力を取得することで得られる、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴の違いの例を示す。ノイズ除去画像が、事前トレーニング済みCNNアーキテクチャに入力される。事前トレーニング済みCNNアーキテクチャの各層は、特徴を抽出する。入力画像右から7番目の層では、256個のチャネルからなる参照画像の特徴マップが出力され、ここで、x方向は入力画像の解像度の1/4、y方向は入力画像の解像度の1/4である。入力画像右から7番目の同じ層は、参照画像の第2の特徴を出力する。2つの出力は、図9の中央に緑色のセクションで表示される差分の算出前に正規化される。たとえば、第7層から出力される正規化特徴の差分は、他の層が出力する他の正規化特徴の差分をさらに含んでもよく、たとえば、x方向が入力画像の解像度の1/4、y方向が入力画像の解像度の1/4である256個のチャネルからなり、参照画像の特徴マップを出力する第9層、及び/又は、x方向が入力画像の解像度の1/8である、y方向が入力画像の解像度の1/8である512個のチャネルからなり、参照画像の特徴マップを出力する第12層が挙げられる。任意で、層の解像度が異なる場合は、平均プーリングを適用して、層の出力を同じ解像度に設定してもよい。図10は、差分を算出した後に平均プーリングを適用して得られた誤差マップ(ステップS40で算出)の例を示す。
次に、データセット形成方法は、算出された差分を表す誤差マップを算出する(S40)。誤差マップは、値、たとえば、二次元的な値を配置したものであり、各要素は、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との間の差分に対応する数値である。従来、誤差マップは、算出された差分を、第1の正規化特徴の参照画像の第2の正規化特徴に対する差分として確立してよい。したがって、誤差マップ内の各値は、ノイズ除去画像の第1の正規化特徴が参照画像の第2の正規化特徴に対して尊重していない距離を表す。したがって、誤差マップは、参照画像の各特徴に応じて、デノイザーがどの程度のディテールを保持しているかを表す尺度として解釈できる。誤差マップは画像であってよく、画像の各ピクセルは色値を有し、各色値は、同じ層の出力に対応する、第1の正規化特徴と第2の正規化特徴の値の間の算出された差分に相当する。したがって、誤差マップは、ノイズ除去画像が、第1及び第2の正規化特徴それぞれに関して、参照画像をどの程度尊重しているかを示すマップと見なすことができる。したがって、差分が小さいことに相当するより低い誤差は、ノイズ除去画像と参照との間のより良好な一致に対応し、つまり、ノイズ除去プロセス後、デノイザーが十分なディテールを保持することを示す。従来、誤差マップは非負値で構成され、大きな正値は大きな差分に対応し、小さな値は小さな非負値を有することになる。ゼロ値を持つ誤差マップの値は、ゼロ値、又は従来選択される最小値で構成される。たとえば、誤差マップのピクセルはグレースケールの値を持ち、0は誤差なし、255は最大差に対応してよい。その他の任意の色スケールを、従来通り定義してもよい。差分には制限がなくてもよいが、本方法は、閾値を超える値を常に色スケールで許可されている最大値にマップしてもよく、これは単に実施の問題である。
次に、データセット形成方法は、それぞれのノイズ除去画像と誤差マップをデータセットに追加する(S50)。このように、データセット形成方法は、ノイズ除去による誤差を推定するようCNNアーキテクチャを学習させるためのデータセットを構成し、CNNアーキテクチャはデータセットの断片をトレーニングサンプルとして取得し、誤差マップ及び対応ノイズ除去画像に基づいて学習が実行される。データセットの追加されたトレーニングサンプルは、CNNアーキテクチャ学習後の多様な状況、つまり、機械学習プロセスのオフライントレーニング段階後の対応するオンライン適用での多様な状況を表す。
例として、本方法はさらに、それぞれのノイズ除去画像、誤差マップ、及び参照画像のそれぞれのノイズ画像をデータセットに追加する(S50)。ノイズ画像は、ノイズ除去画像が取得されたもとの画像である。通常、ノイズの多い画像は、対応する参照画像よりもモンテカルロサンプル数が少ない画像であるため、ノイズが発生する。ノイズ画像は、ノイズを低減するためにデノイザーに提供され、ノイズ除去画像は、デノイザーによるノイズ除去プロセスの結果である。本方法で形成されたデータセットにより、教師あり学習(畳み込みニューラルネットワークの分野では公知)でCNNアーキテクチャは学習し、参照画像にアクセスせずに、デノイザーが出力したノイズ除去画像の誤差を推定するよう学習できる。これは、参照画像の取得が算出上膨大となり厳しいために参照画像にアクセスできない現実世界の状況では特に重要である。
例として、本方法は、教師ありトレーニングに適したデータセットをさらに形成してもよい。本方法では、データセットのデータ構造内の、正解データとして使用される少なくとも一部のデータを、教師ありトレーニングのために使用するように設定してもよい。図15を参照すると、ある関数の教師あり学習のための機械学習プロセスが示されている。図15上部では、正解データの例が示されている。モンテカルロレンダリングによって取得されたノイズ画像と機能バッファがデノイザーに入力され、ノイズ除去画像が生成される。ノイズ除去画像と参照画像が、データセット形成方法に提供される。データセット形成方法は誤差マップを出力し、この誤差マップを正解データとして設定する。この方法は、教師あり学習に必要な任意の量の正解データを生成してよい。本方法は、後で同じシステムで使用したり、別のシステムに送信したりするために、データセットをメモリに保存してもよい。同じシステム又は別のシステムで実行できるオフライン学習では、CNNアーキテクチャは、当該CNNアーキテクチャの出力を生成された正解データと比較することにより、教師ありの方法で学習できる。
例として、データセット形成方法は、データセットを表すデータ構造を形成してもよい。したがって、形成されたデータセットは、データ構造で表されてもよい。当該データ構造は、不揮発性メモリに格納される、又は、ネットワークを介してそのまま別のコンピュータシステムに送信されてもよく、それにより、その後の使用が可能になる。たとえば、データセットをEXRイメージファイルとして編成し、不揮発性メモリ(ディスクなど)にハイダイナミックレンジ(HDR)コンテンツを保存できるようにし、ここで、ディスク内のデータは、ショットごとに1つのフォルダで、コンテンツを説明する説明的後置式が含まれたファイル名が付けられる。
図1に戻ると、本方法は、提供されたデータセットに基づいて、CNNアーキテクチャを学習させるステップQ20をさらに含む。学習には、データセットの、デノイザーが生成した画像と、その対応ノイズ画像を入力として受け取り、誤差マップを出力することが含まれてもよい。デノイザーに入力された対応ノイズ画像と比較して、デノイザーが生成した画像で損失されたディテールを推定する誤差マップを出力する最先端のCNNアーキテクチャにより、学習は、任意の公知の手段によって実行できる。このように、ノイズ除去による劣化の推定を目的にCNNアーキテクチャがトレーニングサンプルから学習するように構成されるデータセットが提供されるおかげで、CNNアーキテクチャは、ノイズ除去による劣化を推定するように学習する。実際に、データセットの追加されたトレーニングサンプルはすべて、CNNアーキテクチャ学習後の多様な状況、つまり、機械学習プロセスのオフライントレーニング段階後の対応するオンライン適用の多様な状況を表しており、たとえば1つ以上のオブジェクトが含まれるシーン又は同じシーンの異なる視点を有してよい。
学習させるステップQ20は、誤差マップを出力するステップを含む。機械学習の分野においてそれ自体公知であるように、CNNアーキテクチャは、ステップQ10で提供されたデータセットのトレーニングサンプルに従って出力を改良することを学習する。したがって、ステップS10で提供されるデータセットの誤差マップにより、ノイズ除去画像のデノイザーによって劣化した領域を識別するようCNNアーキテクチャを学習させ、ここで、より高いレベルの劣化を有する領域は、実質的に高い誤差を有するピクセルマップの値のセットに対応する。実質的に高い誤差とは、ピクセルマップの値が、ある閾値を超えることを意味し、ここで、閾値とは、従来確立される閾値であってもよい。これらの領域は、カメラ視点から遠く離れた場所にある細かい構造やオブジェクトを有する場合があり、トレーニングサンプルの多様性に応じて、より適切に識別され得る。機械学習の分野からそれ自体公知であるように、提供されるデータセットは、CNNアーキテクチャの学習速度と、学習の品質、つまり、学習したCNNアーキテクチャの誤差マップを推定する精度に影響を与える。データセットは、意図される学習の質を考慮したデータの総数で形成されてよい。この数は、1,000、10,000、又は100,000個を超える要素の数であってもよい。データセット内のデータの量は、CNNアーキテクチャによって達成される精度と学習の速度の間のトレードオフに従う。たとえば、500個のデータは高速学習に対応するが、100,000個は高品質の学習を提供する。他の例としては、24時間でCNNアーキテクチャを教師あり学習の方法で学習するには、約2500個のデータが必要である。
したがって、本方法に従って学習するCNNアーキテクチャは、サンプル量によって意図される計画的な推定精度で、デノイザー生成劣化を推定する。さらに、形成されたデータセットによって提供されるさまざまなトレーニング例のおかげで、CNNアーキテクチャは、カメラ視点の遠くにあるオブジェクトを含む細かい構造のディテール又はゾーンの領域を識別する。
例として、CNNアーキテクチャを学習させるステップQ20は、データセットのノイズ除去画像ごとに、アルベドマップと法線バッファを入力としてさらに受け取ってもよい。入力チャネルの数は、最先端のデノイザーシステムが使用する入力と同じである。したがって、本方法は、細かい構造のディテールの損失を見つけることができる。実際に、当該技術分野では公知であるように、アルベド及び法線バッファは、ディテールをより良好に保存するために通常デノイザーによって使用され、したがって、学習したCNNアーキテクチャは、デノイザーが引き起こすディテールのさらなる損失を推定し得る。
例として、学習させるステップQ20は教師あり学習として実行されてよい。したがって、学習は、教師あり学習のために、正解データとして誤差マップを使用するステップをさらに含む。特に、学習は、ステップQ10で提供されたデータセットの誤差マップを正解データとして使用してもよい。学習方法は、提供されたデータセットのトレーニングサンプルの一部を正解データとして設定してもよい。あるいは、提供されたデータセットのデータ構造を、正解データとして使用されるデータを提供するように配置してもよい。ステップQ10で提供されるデータセットは、ノイズ除去画像と対応する参照画像のペアから形成されてもよいため、誤差マップは、参照と比較してディテールの損失を反映する適切な正解データである。CNNアーキテクチャは、教師あり学習で知られる任意の手段に従って学習でき、特定の学習プロセスは、実施の詳細である。レイトレーシング画像は、シーン、たとえば、室内ショット、製品のショット、又はクローズアップショットを含んでもよい。したがって、本方法に従って学習したCNNアーキテクチャは、さまざまなシーンで、ディテールが損失される問題のある領域を検出する。
例として、本学習方法に従って学習したCNNアーキテクチャは、提供されるデータセットの形成に使用される事前トレーニング済みCNNアーキテクチャと同一であり、同じ数の層を有する。事前トレーニング済みCNNアーキテクチャの第1及び第2の正規化特徴を生成した層の後に来る学習CNNアーキテクチャの層はすべて取り除かれる。CNNアーキテクチャのトレーニングには長い時間がかかる可能性があり(たとえば、24時間以上)、よって、事前トレーニング済みCNNアーキテクチャと同じ数の層でCNNアーキテクチャを学習させることで、より多くの層を含める場合に比べて算出時間を節約できる。
例として、提供されたデータセット内の誤差マップの空間解像度は、デノイザーが画像を劣化させる領域の検出が学習させるステップQ20によって改良されるように調整してもよい。たとえば、データセット形成方法の、算出された差分を表す誤差マップを算出するステップS40は、算出された差分の解像度を最初にダウンサンプリングし、次に、ダウンサンプリングされた差の解像度で誤差マップを算出するステップを含んでもよく、ここで、誤差マップの各ピクセルは、算出された差分にペナルティを課す色スケールに従った色を有する。したがって、誤差マップの空間解像度は減少し、得られる誤差マップは粗い誤差マップとなる。誤差マップは、たとえば平均プーリングを使用して、任意の既知の手段によってダウンサンプリングしてもよい。CNNアーキテクチャを学習させる(Q20)際に、CNNアーキテクチャは、提供されたデータセットの誤差マップの解像度に調整された誤差マップを出力することを学習する。したがって、提供されたデータセットに基づいて学習したCNNアーキテクチャは、誤差マップの意図された解像度に従って、ディテールが失われた領域を見つけるのにより適している。実際に、空間解像度が高いマップは、高誤差である領域と低誤差である領域間の非常に小さな空間変動を含んでよく、つまり、従来の色スケールに従って、誤差の高い色を示す誤差マップの少数のピクセルが、誤差が低い又はまったくないことを示す複数のピクセルに囲まれている場合である。画像の解像度が大きすぎる場合、CNNアーキテクチャはより正確になり得るが、誤差の非常に小さな空間変動を識別するために、より多くのサンプルを必要とする。対照的に、粗い誤差マップは粗い空間変動を示す、つまり、誤差の高いピクセルは平均化されて画像のより大きな空間領域を構成するため、CNNアーキテクチャの学習が容易になる。ダウンサンプリングは、CNNアーキテクチャの精度と学習時間との間のトレードオフが適切となるよう任意の方法で実施できる。
例として、提供されるデータセットを形成するために使用される事前トレーニング済みCNNアーキテクチャ及び本学習方法に従って学習するCNNアーキテクチャは、Visual Geometric Group(VGG)アーキテクチャなどの最先端のCNNアーキテクチャを使用してもよい。CNNアーキテクチャは、畳み込み層、プーリング層、全結合入力層、全結合出力層などを含んでよい様々な層を有する。このようなCNNアーキテクチャの構成の詳細は広く知られており、これ以上詳しくは説明しない。VGGアーキテクチャの様々な層により、対応入力画像から情報(つまり、特徴又は深い特徴)を抽出できる。
例として、Visual Geometric Group(VGG)アーキテクチャがVGG-19アーキテクチャである場合に良好な結果が得られた。VGG-19アーキテクチャは、機械学習プロセスの形成方法と学習方法で使用してもよい。
VGG19ニューラルネットワークの背景にある主なアーキテクチャは、論文「Simonyan, K., & Zisserman, A. (2015). Very Deep Convolutional Networks for Large-Scale Image Recognition」で説明されている。例としては、提供されるデータセットを形成するために事前トレーニング済みのVGG-19アーキテクチャは、画像データセットImageNetなどの一般的に利用可能なデータセットに基づいて事前にトレーニングされてもよい。図8は、畳み込みニューラルネットワークに対する改良を活用した最先端のアーキテクチャであるVGG-19アーキテクチャの主要コンポーネントを示し、VGG-19は、16個の畳み込み層(convと表記)、3個の全結合層(FCと表示)、5個の最大プーリング層(poolと表記)、及び1個のソフトマックス層(Softmaxと表記)を含む。従来、層には左から右に1から始まる番号が付けられる。VGG-19は、画像データセットImageNetに基づいて事前にトレーニングされるため、機能の取得が特に正確である。ImageNetは、WordNetの階層の名詞に従って編成された画像データセットであり、階層の各ノードは数百、数千の画像で表される。ImageNetは、ノードあたり平均500超の画像を含む。
図9、14、15でその例が提供され、それぞれ、事前トレーニング済みCNNアーキテクチャ(図9)、本学習方法に従って学習するCNNアーキテクチャ(図14)、及び機械学習プロセスの一例(図15)を示す。データセット形成方法に従ってデータセットを形成するために使用される事前トレーニング済みCNNアーキテクチャと、ノイズ除去による劣化を推定するために学習するCNNアーキテクチャは、これらの図のVGG-19アーキテクチャに基づいている。図15は、データセット形成方法によって形成されたデータセット(正解セクション)に基づく学習方法プロセス(予測セクション)を含む機械学習プロセスを示す。データセットの形成に使用される事前トレーニング済みCNNアーキテクチャと、本学習方法によって学習するCNNアーキテクチャは、どちらも同一かつ同じ層数のVGG-19アーキテクチャである。
図9は、誤差マップを取得するためのメトリックとして使用される事前トレーニング済みVGG-19アーキテクチャの図を示す。このように、誤差マップは、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴との差分から算出され、ここで、第1及び第2の正規化特徴とは事前トレーニング済みVGG-19アーキテクチャの同じ層の出力である。図9を再度参照すると、例としては、ノイズ除去画像の第1の正規化特徴と参照画像の第2の正規化特徴は、画像特徴抽出器の第7層及び/又は第9層及び/又は第12層から抽出されており、ここで、第7層及び/又は第9層及び/又は第12層は、従来通り、図9に示される左端の層から右端の層に数えられる。グレー表示された層はすべて取り除かれている。特徴は、異なる層の出力の大きさを等しくするように正規化される。たとえば、VGG-19アーキテクチャの画像特徴抽出器の層にはダウンサンプリングのステップが含まれており、第7層及び/又は第9層及び/又は第12層の空間解像度は異なる。実際に、第7層と第9層は両方とも、x方向が入力画像の解像度の1/4、y方向が入力画像の解像度の1/4である256個のチャネルからなる、参照画像の特徴マップを出力するが、第12層は、x方向が入力画像の解像度の1/8、y方向が入力画像の解像度の1/8である512個のチャネルからなる、参照画像の特徴マップを出力する。したがって、各チャネルで、誤差マップは同じ解像度に対してダウンサンプリングされて、粗い誤差マップ、たとえば、入力解像度の1/32以下の粗い誤差マップを取得してもよい。図10は、特徴を正規化し、誤差マップの算出前に平均化によってダウンサンプリングを実行して得た粗い誤差マップを示す。粗い誤差マップは、第7層及び/又は第9層及び/又は第12層の出力に同じ重みを示し、これらの層は、参照画像とノイズ除去画像の間の劣化を最もよく識別することがわかっている。誤差マップをさらにダウンサンプリングして、さらに粗い誤差マップを提供し、デノイザーによる劣化の領域をより適切に特定してもよい。
図14を参照すると、デノイザー生成劣化を推定するために学習するCNNアーキテクチャは、正規化段階を追加せずに、事前トレーニング済みVGG-19アーキテクチャと同じ層を使用し、提供されたデータセットで設定された正解データをもとに教師あり方式で学習する。この具体例としては、CNNアーキテクチャはさらにアルベドと法線バッファを入力として受け取る。これは、実施形態の一選択肢として理解されるべきである。
例として、本学習方法に従って学習するCNNアーキテクチャがVGG-19アーキテクチャであり、VGG-19アーキテクチャの第0層~第12層を有する場合に良好な結果が得られた。CNNアーキテクチャは、数千のショット(つまり、トレーニングサンプル)を含む、提供されるデータセット(たとえば、本データセット形成方法に従って形成されたデータセット)から学習でき、各ショットには、複数の構造ディテールを伴うさまざまな照明状況でのシーンのさまざまなオブジェクトが含まれる。たとえば、シーン内のオブジェクトは、細かいディテールを有する、レザー、カーペット、石細工、壁紙、粗い金属、金属の床又はプラスチックのオブジェクトを含んでもよい。各ショットは、参照画像、ノイズ除去画像、及び誤差マップを含んでもよい。データセットの誤差マップの一部は、教師あり学習で使用する正解データとして使用するために確保される。例として、VGG-19特徴抽出器は、当該技術分野で公知であるように、教師あり方法のトレーニング方法に従ってトレーニングされる。最良の結果は、VGG-19特徴抽出器が入力としてアルベド及び法線バッファをさらに含む場合に得られる。
次に、図3のフローチャートを参照して、本学習方法に従って学習するCNNアーキテクチャの使用方法について説明する。学習したアーキテクチャは、「推定器アーキテクチャ」と呼ぶ場合もある。本使用方法は、学習した推定器アーキテクチャを使用して、レイトレーシング画像を臨機応変にノイズ除去する。基本となる考えとしては、第1の数のサンプルでレイトレーシング画像をサンプリングし、分散を推定して、特定のディテールレベルに到達するために必要なサンプル数を示すサンプルマップを算出することである。サンプルマップの適用は、モンテカルロサンプリングの文脈で十分に収束していない画像の領域を示すブレンドマップに基づいて実行される。これは、ターゲットとなる信号対ノイズのデシベルレベルに従って、大幅に収束していない画像の領域を識別するブレンドマップの算出を通じて実行される。次に、サンプルマップは、ブレンドマップに対して、信号対ノイズ比が高いデシベルレベルを持つ領域のより良好なディテールを取得するために必要なサンプル数を確立する。本使用方法を、以下でさらに説明する。
この方法は、同じショットからレンダリングされた第1及び第2のモンテカルロレイトレーシング画像を提供するステップP10を含む。ショットとは、モンテカルロ法を使用してレンダリングされる、1つ以上のオブジェクトを含むシーンを含むレイトレーシング画像を意味する。第1のモンテカルロレイトレーシング画像は、第2の画像とは異なり、「異なる」とは、第1及び第2のモンテカルロレイトレーシング画像が同じショットからレンダリングされるが、異なるサンプリングプロセス、たとえば、異なる初期条件(ランダムシードなど)、異なるサンプル数、又は異なるサンプリングプロセスを使用してレンダリングされることを意味する。モンテカルロ法の分野からそれ自体公知であるように、画像のサンプリングプロセスはランダム、つまり、ショットのレンダリング方程式のサンプルは、確率的な(つまり、決定的ではない)基準に従って取得される。このように、サンプリングプロセスの実行方法が異なるため、これらの画像はノイズを表す異なる領域を有する。モンテカルロサンプルは、任意の既知のサンプリングプロセス、たとえば、ランダムシードからの均一サンプリングによって取得してもよい。本システムは、当該技術分野で公知である任意の方法によって2つの画像を取得してよい。本システムは、不揮発性メモリに保存されたショットのレンダリング方程式に基づいて、対応するショットからモンテカルロサンプリングを実行してもよい。たとえば、本システムは、第1の画像のためにモンテカルロレンダリングを実行し、同じシステム内の別のプロセスで、第2の画像のためにモンテカルロサンプリングを実行するように構成されてもよい。これは、ただの実施の選択肢として理解されるべきである。あるいは、第1及び第2の画像は、不揮発性メモリから、又は別のコンピュータシステムからたとえばネットワークを介してそのまま受信して取得してもよい。サンプリングが異なるため、第1及び第2の画像は異なる領域にノイズを示し、本方法は、第1及び第2の画像を使用して、ショットの適切な品質に到達するために必要なサンプルの数を推定するが、これに関して、本使用方法のステップでさらに説明する。
本使用方法は、第1の画像の第1のノイズ除去画像を提供するステップP20をさらに含む。当該技術分野で公知である任意の既知のノイズ除去方法を使用してよい。次に、第1の画像及び第1のノイズ除去画像は、誤差マップP30が得られるように、学習した推定器アーキテクチャに適用される。誤差マップの各ピクセルは、ノイズ除去による誤差を示す色を表してもよく、ここで、誤差とは、推定器アーキテクチャによって推定される誤差である。誤差マップは、同じ誤差の領域、すなわち、同じ(又は実質的に同じ)値を有する誤差マップ内の連続するピクセルのセットを含んでもよい。たとえば、誤差マップは、誤差マップを平均化した粗いマップであってもよく、したがって、細かいマップよりも広い領域が提供される。
本使用方法は、得られた誤差マップからブレンドマップを算出するステップP40をさらに含む。ブレンドマップは、誤差マップの各領域の信号対ノイズのデシベルレベルを表す。当該技術分野で公知であるように、ディテールの損失は、画像の信号対ノイズ比に直接関係する。ノイズ除去による大きな誤差は低い信号対ノイズ比に対応し、誤差が小さいと信号対ノイズ比が高くなる。したがって、ブレンドマップは、ノイズ除去の結果として生じる誤差マップに対応する領域のデシベルレベルを示す。たとえば、ブレンドマップは、たとえば、式:-20*log10(rmse)を使用してターゲットとなる二乗平均平方根の誤差から算出される、ピーク信号対ノイズ比のデシベル値を表してもよく、式中、rmseはターゲットとなる二乗平均平方根の誤差を表す。本システムは、ターゲットとなる二乗平均平方根の誤差を事前に定義してもよい。したがって、ブレンドマップは、正確な画像を達成するために必要な所望の信号対ノイズのデシベル値よりも低いデシベル値を有する複数の領域をブレンドマップ内に表す。したがって、システムは、ブレンドマップの信号対ノイズのデシベル値に従って重み付けブレンドを定義できる。
次に、第1及び第2の画像の分散が推定される(P50)。分散は、第1及び第2の画像から任意の手段によって推定されてよい。第1及び第2の画像は、異なるサンプリングプロセスから生成されるため、モンテカルロサンプリングのランダムな性質により、異なる領域にノイズが発生する。第1及び第2の画像においてノイズを示す領域には、ある程度の相互相関があってよく、たとえば、領域は、(確率的な意味で)独立している、又は、実質的に相関していてもよい。分散は、第1及び第2の画像の組み合わせからノイズを推定する。たとえば、分散は、(第1の画像+第2の画像)/2から生じる画像から算出されてもよい。
第1及び第2の画像から推定された分散から、本使用方法はさらにサンプルマップを算出(P60)してもよい。サンプルマップは、適切な品質を達成するために必要な信号対ノイズのデシベルレベルに到達するために必要なモンテカルロサンプルの数を示す。信号対ノイズのデシベルレベルは、ユーザー又はシステムによって設定してもよい。サンプルマップは、推定された分散とモンテカルロの収束特性を使用して算出されてよい。本システムは、モンテカルロの収束特性を利用する当該技術分野で公知の任意の手段によって、第1の画像と第2の画像との間の分散を低減するサンプル数を決定してもよい。ある信号対ノイズのデシベルレベルに到達するために必要なサンプルの数は、第1及び第2の画像をレンダリングするために実行されたサンプル数よりも多い、たとえば、実質的に多くてもよい。
次に、サンプルマップを使用して、ショットの第3のモンテカルロレイトレーシング画像をレンダリングする(P70)。第3の画像は、サンプルマップから特定したモンテカルロサンプルの数を使用してレンダリングされる。第3の画像は、ある信号対ノイズのデシベルレベルに到達するために必要なサンプル数に従ってサンプリングされる。したがって、サンプリングされた第3の画像は、第1及び第2の画像よりもディテールが詳細であり、そのディテールは特に効率的な方法で追加される。実際に、サンプリングはある信号対ノイズのデシベルレベルに到達するために必要なサンプル数に従って実行されるため、この方法は、サンプルマップが示す、信号対ノイズのデシベルレベルへの到達に必要な領域にサンプルを追加することのみに集中する。これは、他のサンプリング方法、たとえば、サンプリングが画像の領域で一様に実行され、さらに詳細を追加する必要がない場所にもサンプリングが実行され得る均一サンプリングと比較して特に効率的である。
次に、第3の画像は、デノイザーへの入力として提供され(P80)、それにより、対応ノイズ除去画像が得られる。
得られたノイズ除去画像は、第3の画像に対応し、第3の画像とブレンドされる(P90)。第3の画像は、第1の画像よりもディテールが良好であるが、ノイズ除去が必要である。ブレンドは、信号対ノイズのデシベルレベルに応じて、ノイズがさほど多くない部分を、ノイズ除去画像とブレンドするように実行される。これは、ブレンドマップに従って実行される。ブレンドでは、閾値よりも高い信号対ノイズのデシベルレベルを持つブレンドマップの各領域に重み付けされる。たとえば、この方法では、40デシベルを超えるデシベル値を持つ領域をブレンドしてよいが、その閾値を下回る場合はブレンドしなくてもよく、この場合、第1のノイズ除去画像はノイズが多すぎて許容できる結果が得られないためである。閾値は、期待される品質に応じて設定されてよく、実施の一選択肢に過ぎない。
したがって、ノイズ除去時に品質の劣化を経ない領域のみをノイズ除去するようノイズ除去プロセスが改良されるため、本使用方法は、ノイズ除去プロセスを改良し、高解像度画像又は参照画像をレンダリングする高い計算コストを伴わずにレイトレーシング画像の品質を向上させる。実際に、本使用方法は、誤差マップを介して画像内の問題のある領域を検出するため、ノイズ除去されない領域に多数のサンプルを適応的に分散することに焦点を当てる。完全に自動化されたプロセスであるため、ユーザーの介入は不要となり、時間のかかる手動検査の必要もなくなる。さらに、サンプルマップから算出されるより効率的なサンプルの分布により、レンダリングコストも削減される。
ノイズの変動性のために、学習した推定器アーキテクチャから得られた誤差マップは、大きな誤差又は制限のない誤差をも有する領域を示すことがある。例として、本使用方法は、誤差マップを正規化することによって、得られた誤差マップからブレンドマップを算出してもよい。正規化は、誤差マップにシグモイド関数を適用して実行してもよい。エンジニアリングでは広く公知であるように、シグモイド関数は、すべての実入力値に対して定義される、有界で滑らかな実関数である。シグモイド関数は、たとえば誤差マップの色スケールに対応する値から、誤差マップの各ピクセルでの誤差の値を入力として受け取る。シグモイド関数は、各点と1つの変曲点で非負の導関数を持つ。シグモイド関数の性質を利用して、制限のない誤差を次のようにマップする:変曲点以下でシグモイド関数によってマップされた値は小さい値であり、マップされた値が変曲点よりさらに下になると大幅に減少する。したがって、シグモイド関数は実質的大幅に小さなノイズを抑えられる。小さなノイズがどの程度抑えられるかは、当該技術分野で公知のように調節可能な変曲点の定義に依存する。制限のないノイズといった大きなノイズは、変曲点の上にマップされたノイズのことである。この場合、広く公知であるように、シグモイド関数は、大きな誤差を、シグモイド関数が許可する最大値までマップする滑らかな飽和関数と見なすことができる。例として、シグモイド関数は、有界区間、たとえば区間[0,1]で誤差の値を正規化するように選択してよい。例として、シグモイド関数は双曲線正接関数又はロジスティック関数である。したがって、シグモイド関数は、制限のない値を制限のある区間[0,1]にマップしてもよい。制限のない値がブレンドマップにマップされるため、ブレンドマップはそのすべての領域で明確に定義される。本方法は、正規化された誤差マップとターゲットとなる誤差マップ間のターゲット二乗平均平方根誤差から誤差マップの各領域のデシベル値を算出することにより、ブレンドマップを算出する。ブレンドの閾値は、算出されたデシベルレベルからユーザーが設定できる。たとえば、信号対ノイズのデシベルレベルが低い領域は、ノイズが多すぎるため無視される。したがって、信号対ノイズのデシベルレベルが高い領域を識別し、さらに改良できる。したがって、本使用方法は、誤差の少ない領域の改善により重点を置くことができる。
例として、第1の画像は、第1の数のモンテカルロサンプルでレンダリングされてもよく、第2の画像は、第2の数のモンテカルロサンプルでレンダリングされてもよい。「でレンダリングされる」とは、レンダリングが第1の数又は第2の数に基づくことを意味し、これは、サンプリングの実施の選択に応じて調節をさらに含んでもよい。モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数以上であってよい。たとえば、第1及び第2の数値は等しくてもよいが、確率的なサンプリングプロセスであるため、サンプルは異なるレンダリングを提供する。モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数より大きくてもよい。したがって、分散は、第1の画像がどれほどノイズが多いかを示す指標と見なすことができ、本方法は、第1の画像に関してディテールを改良する方法と見なしてもよい。
本使用方法は、第1の画像を取得するために使用されるのと同じサンプリングプロセスを使用することによって第2の画像を取得してもよい。例として、モンテカルロサンプルの第1の数が設定され、サンプリングプロセスは第1の数から開始される。次に、そのサンプリングプロセスにより、第1の数のサンプルの半分に対応する第2の画像が保存される。したがって、第2の画像は、モンテカルロサンプルの第1の数の半分である第2の数のモンテカルロサンプルでレンダリングされる。第1の画像のレンダリングは、第1の数のサンプルを用いたレンダリングに対応してもよく、又は、第1の数のサンプルを用いたレンダリングをさらに調節したレンダリングに対応してもよい。第1及び第2の画像をレンダリングするこの方法は、両者のレンダリングがシステム内の一回のランで実行されるよう最適化されるため、第1及び第2の画像を取得するサンプリングプロセスとして特に効率的なプロセスである。たとえば、システムは、第1の数をたとえば、n=128個のサンプルに設定し、サンプリングプロセスを開始してもよい。次に、サンプリングプロセスの中間ステップの実行に対応する画像、すなわち、s=64個のサンプルが第2の画像としてメモリに保存され、次に、システムはn個のサンプルに到達するまでサンプリングを続行する。次に、n個のサンプルの第1の数で得られた画像は、第2の画像に対応する64個のサンプルsを除去することによってさらに適応される。たとえば、この適応は、n=128個のサンプルに対応する画像に2を掛け、64個のサンプルsに対応する第2の画像を引いて実行してもよい。算術的な演算は、画像の行列を使用して実行される演算として理解される。結果は、サンプル数s’=n-sの画像であり、これは、第1の数のサンプルを適応させた後の第1の画像のレンダリングに対応する。結果として得られる第1の画像(適応後)は、第2の画像のサンプルsからは独立しており(s’個のサンプルに対応)、つまり、2つの画像間のノイズは、構造上相関していない。これにより、同じ数のサンプルで2つの画像を独立にレンダリングするが、サンプリングプロセスの再開は回避するのと同じ結果が得られる。したがって、この方法は、サンプリングプロセスを再開することなく第1及び第2の画像をレンダリングして、サンプリングプロセスの中間結果(すなわち、第2の画像)をさらに保存する必要がある場合にのみレンダリングを実行することを可能にし、これにより、本方法は既存のアーキテクチャレンダリングにより良好に統合される。たとえば、モンテカルロ画像の均一レンダリングは反復プロセスであり、各反復で画像の各ピクセルに1つの追加サンプルが蓄積される。これは、サンプリング時間の各ポイントで、均一サンプリングに従って、存在する画像の累積バージョンのみが存在することを意味する。したがって、同じ画像の同じプロセスから第2の画像を取得することによって、第2の画像は、第1の画像のサンプルを単純に除去することによって取得できる。第1の画像が第2の画像のサンプルを除去することによって適合される場合、第1及び第2の画像は独立しているため、分散の算出が容易になり、レンダリングの品質が向上する。
例として、提供された第1のモンテカルロレイトレーシング画像は、第1のランダムシードに従ってレンダリングされてよく、提供された第2のモンテカルロレイトレーシング画像は、第2のランダムシードに従ってレンダリングされてもよい。ランダムシードとは、サンプリングを実行するために選択された任意のサンプリング戦略を開始するための初期条件である。モンテカルロレンダリングの分野からそれ自体公知であるように、第2のランダムシードとは異なる第1のランダムシードは、同じショットの異なるサンプルを生成し、それによって同じショットの異なるレンダリングが取得される。モンテカルロサンプルの第1の数は、モンテカルロサンプルの第2の数と同じであってもよい。第1及び第2のランダムシードが異なるため、サンプリングプロセス後に第1の画像に存在するノイズが第2の画像に存在するノイズから独立していることが保証されるが、それでも必要なサンプル数は同じである。
データセットの作成例
以下で説明する例の組み合わせについては、図8~図13を参照して説明する。
以下で説明する例の組み合わせについては、図8~図13を参照して説明する。
まず、誤差マップの算出に使用されるメトリックについて説明する。このメトリックは、ImageNetをもとに事前トレーニングされたVGG19ネットワークの特徴を使用して、画像を比較する。VGG19ネットワークは、畳み込み特徴抽出器と全結合の分類器を含む。図8はVGG19アーキテクチャの層のフローチャートを示す。メトリックは、さまざまな種類のディテールを含む画像、そのそれぞれのノイズ除去画像、及び参照画像を含むデータセットの特徴を算出する。テスト実装では、VGG19アーキテクチャの第7層、第9層、及び第12層が、構造のディテールの特徴を最もよく抽出する層であることがわかった。
それぞれの特徴は、ノイズ除去画像と参照画像の間の差分の二乗を算出する前に、異なる層の出力の大きさを等しくするように正規化される。図9は、正規化特徴の差分の算出を示す。VGG-19アーキテクチャの第12層以降の層、つまり、図9でグレーで表示されている層はすべて、メトリックから破棄され、それ以上使用されない。
ネットワークにはダウンサンプリングのステップが含まれるため、異なる層の空間解像度は異なる。異なる層の空間解像度は、平均して入力解像度の1/32に変換される。平均化の出力後に、チャネルごとに平均し、粗い誤差マップが取得される。図10は、異なる層のダウンサンプリングの実施のフローチャートと、結果として得られる粗い誤差マップを示す。
図11~13は、このメトリックに従って算出された誤差マップを示す。図11は、参照画像、参照画像よりもサンプルが少ないノイズ画像、デノイザーの出力であるノイズ除去画像、及びVGG19マップの特徴の正規化された差分から算出された粗い誤差マップを示す。誤差マップは暗い領域に誤差の低い領域を表し、明るい領域は誤差の高い領域に対応する。このメトリックでは、青いカーテンのノイズ除去によって引き起こされたぼやけが識別されている。図12は、同じ画像の対応するズーム部分を示しており、カーテンの領域と、床のひび割れなど、床の細かい構造的特徴のディテールが失われていることを示す。図13は、カメラ視点から遠く離れたオブジェクト(像)のズームバージョンである。誤差マップは、そのようなオブジェクトのディテールの損失を示す。
誤差マップの推定
以下で論じる例の組み合わせは、図14~図18を参照して論じる。
以下で論じる例の組み合わせは、図14~図18を参照して論じる。
参照画像は通常、現実世界の状況には存在しないため、参照画像なしで誤差マップを生成する必要がある。畳み込みニューラルネットワークは、誤差マップを推定するようにトレーニングされる。ネットワークをトレーニングするために、上記メトリックから算出された誤差マップを有するデータセットが作成される。データセットには、さまざまな照明状況で、あらゆる種類の構造のディテール(レザー、カーペット、石細工、壁紙、粗い金属、金属の床、プラスチックの細かいディテールなど)を伴う、さまざまなオブジェクトを含む2437個のショットが含まれる。各ショットは、異なるサンプル数(1~512)でレンダリングされ、参照画像は1ピクセルあたり131072個のサンプル(レンダリングの反復)でレンダリングされたものである。前述のメトリックを使用して、正解出力を生成する。次に、ネットワークを教師ありの方法で約24時間トレーニングする。テスト実装では、トレーニングのセットアップは、データセットのトレーニングにかかる時間とトレーニングされたネットワークアーキテクチャの精度との間の適切なトレードオフをもたらす。図14にネットワークアーキテクチャを示す。ネットワークアーキテクチャは、VGG19特徴抽出器に類似しており、前述のメトリックでは、特徴抽出器の第0~12層が使用される。主な違いは入力チャネルの数であり、これは、ノイズ除去画像と、デノイザーが使用するのと同じ入力(ノイズ画像、アルベド、及び法線バッファ)がネットワークに入力されるためである。図15は、教師あり学習を示す。トレーニングされたネットワークは、入力画像に対応する誤差マップを直接出力する。図16~18は、テスト実装によって得られた推定誤差マップを示す。図16は室内シーンのショットに対応する。左の図は、サンプルが少ないノイズ画像に対応している。時計回りで2番目の画像がノイズ除去画像に対応する。比較のために、ノイズ除去画像と参照誤差マップを比較したものに対応する誤差マップも右下に示され、推定誤差マップ(予測誤差マップとも呼ばれる)は左下に示されている。図16~18は、両方の誤差マップ間の良好な一致を示す。
適応ノイズ除去システム
以下で論じる例の組み合わせは、図3及び図19~図21を参照して論じる。
以下で論じる例の組み合わせは、図3及び図19~図21を参照して論じる。
次の例は、画像を適応的にノイズ除去するための適応デノイザーに関するものである。この例としては、分散推定器に低いサンプル数を使用するが、たとえば関連領域で約50+dBを達成するのに十分な数のサンプルでサンプルマップをレンダリングする必要がある。図3を参照すると、ステップP10において、システムは、少ないサンプル数(たとえば、64SPP)でシーンを一様にレンダリングする。レンダリング中に、分散を推定するために必要な、サンプル数の半分(この場合は32)の中間画像も保存される。32及び64SPPの画像は、分散推定器に送られ(P50)、画像のノイズがどの程度かを推定する。64SPPの画像と、対応する法線及びアルベド特徴バッファがデノイザーに入力され(P20)、誤差推定ネットワークのためにノイズ除去された入力が生成される。次に、得られた誤差マップ、及びP50で出力された分散推定を使用して、適応サンプルマップと最終的なブレンドマップを算出する。二乗誤差マップにtanh関数を適用して、誤差マップの誤差を実数[0,1]の範囲に正規化する。次に、正規化された誤差マップは、ブレンドに必要なデシベルレベルを含むブレンドマップに変換される。ピーク信号対ノイズ比のデシベル値は、次の式によってターゲットの二乗平均平方根誤差(rmse)値から算出される:-20*log10(rmse)。レンダリング計算の予算によっては、これらのデシベルレベルは、十分に収束されていない領域でのブレンドを妨げるブレンド閾値を下回ってもよい。ブレンド境界を定義するためにさまざまなデシベルレベルを使用する。本実施例では、40db(0ブレンド)から50db(完全ブレンド)までの線形ブレンドを実行する。テスト実装では、複数のノイズのデシベルレベルを比較して、ブレンド閾値を定義した。図19は、参照画像に対する信号対ノイズ比のデシベル値と一緒にノイズ画像の例を示す。40db以下のノイズ画像はノイズが高く、デシベルが大きくなるとディテールが増大する。
所望のデシベルレベルに到達するために必要なサンプルを示すサンプルマップP60は、分散推定器とモンテカルロの収束特性を使用することで算出できる。次に、サンプルマップP60をレンダラーに送り、レンダラーはマップに従って適応的にレンダリングを続行する。レンダラーの出力はノイズ除去され、ノイズ除去画像は、レンダリング出力とともに、ブレンドするステップP90に提供される。ブレンドするステップP90は、ブレンドマップに従ってレンダリング出力とノイズ除去された出力をブレンドする。ノイズ除去のみに比べて、本システムでは、ほぼ同じ量の計算量で、大幅に優れた画質を実現できる。図20に示すショットでは、前述のメトリックに対して誤差が約40%減少している。図21では、約27%の減少である。
Claims (15)
- レイトレーシング画像上のデノイザー生成劣化を推定する畳み込みニューラルネットワーク(CNN)アーキテクチャを学習させるための、機械学習のコンピュータ実装方法であって、
-データセットを提供するステップであって、前記データセットは以下のステップ、
・複数の画像ペアを提供するステップであり、各ペアは参照画像とそれぞれのノイズ除去画像を有する、前記ステップ、
・前記各画像ペアごとに、
・・前記レイトレーシング画像上のデノイザー生成劣化を推定するよう学習するCNNアーキテクチャに類似した事前トレーニング済みCNNアーキテクチャに前記画像ペアを提供するステップ、
・・前記ノイズ除去画像の第1の正規化特徴と前記参照画像の第2の正規化特徴との差分を算出するステップであって、ここで、前記第1及び第2の正規化特徴とは前記事前トレーニング済みCNNアーキテクチャの同じ層の出力である、前記算出するステップ、
・・算出された差分を表す誤差マップを算出するステップ、及び、
・・前記それぞれのノイズ除去画像、前記誤差マップ及び前記参照画像のそれぞれのノイズ画像を前記データセットに追加するステップであって、ここで、ノイズ画像とは、前記ノイズ除去画像が取得されたもとの画像である、前記追加するステップ、
によって取得される、前記データセットを提供するステップ、
-提供されたデータセットに基づいて前記CNNアーキテクチャを学習させるステップであって、前記学習させるステップは、前記データセットの、前記デノイザーが生成した画像と、その対応ノイズ画像を入力として受け取り、誤差マップを出力するステップを含む、前記学習させるステップ、を含む、コンピュータ実装方法。 - 前記学習するCNNアーキテクチャが、前記データセットのノイズ除去画像ごとに、アルベドマップと法線バッファを入力としてさらに受け取る、請求項1に記載の方法。
- 前記学習させるステップが教師あり学習である、請求項1又は2に記載の方法。
- 前記学習するCNNアーキテクチャが、前記事前トレーニング済みCNNアーキテクチャと同一で同じ数の層を持ち、前記第1及び第2の正規化特徴を生成した前記事前トレーニング済みCNNアーキテクチャの層の後にある、前記学習するCNNアーキテクチャの層はすべて取り除かれる、請求項1から3のいずれか一項に記載の方法。
- 前記誤差マップを算出するステップが、
-前記算出された差分の解像度をダウンサンプリングするステップ、及び、
-前記ダウンサンプリングした差分の解像度で誤差マップを算出することで粗い誤差マップを取得するステップであって、ここで、前記誤差マップの各ピクセルは、前記算出された差分にペナルティを課す色スケールに沿った色を有する、前記取得するステップ、を含む、請求項1から4のいずれか一項に記載の方法。 - 前記事前トレーニング済みCNNアーキテクチャ及び前記学習するCNNアーキテクチャが、Visual Geometric Group(VGG)アーキテクチャである、請求項1から5のいずれか一項に記載の方法。
- 前記Visual Geometric Group(VGG)アーキテクチャがVGG-19アーキテクチャであり、前記ノイズ除去画像の第1の正規化特徴と前記参照画像の第2の正規化特徴が、前記VGG-19アーキテクチャの第7及び/又は第9及び/又は第12層から抽出される、請求項6に記載の方法。
- 請求項1から7のいずれか一項に記載の方法に従って学習可能なCNNアーキテクチャ。
- 請求項8に記載のCNNアーキテクチャを使用するコンピュータ実装方法であって、
-同じショットからレンダリングされた、互いに異なる第1及び第2のモンテカルロレイトレーシング画像を提供するステップ、
-前記第1の画像の第1のノイズ除去画像を提供するステップ、
-前記第1の画像と前記第1のノイズ除去画像を前記CNNアーキテクチャに適用し、誤差マップを取得するステップ、
-取得した前記誤差マップからブレンドマップを算出するステップであって、前記ブレンドマップが、誤差マップの各領域の信号対ノイズのデシベルレベルを表す、前記算出するステップ、
-前記第1及び第2の画像から分散を推定するステップ、
-前記第1及び第2の画像間の推定分散から、ある信号対ノイズのデシベルレベルに到達するのに必要なモンテカルロサンプルの数を示すサンプルマップを算出するステップ、
-前記サンプルマップから特定したモンテカルロサンプルの数を使用して、前記ショットの第3のモンテカルロレイトレーシング画像をレンダリングするステップ、
-レンダリングした前記第3のモンテカルロレンダリングレイトレーシング画像をデノイザーへ入力し、対応ノイズ除去画像を取得するステップ、及び、
-前記第3のモンテカルロレンダリングレイトレーシング画像を、取得された前記対応ノイズ除去画像とブレンドするステップであって、前記ブレンドが、閾値よりも高い信号対ノイズのデシベルレベルを有するブレンドマップの各領域に対して重み付けされる、前記ブレンドするステップ、を含む、前記方法。 - 前記取得した誤差マップからブレンドマップを算出するステップが、
-シグモイド関数を前記誤差マップに適用して誤差マップを正規化するステップ、
-正規化された前記誤差マップとターゲットとなる誤差マップ間のターゲット二乗平均平方根誤差から、誤差マップの各領域のデシベル値を算出することにより、前記ブレンドマップを算出するステップ、を含む、請求項9に記載の方法。 - 提供された前記第1のモンテカルロレイトレーシング画像が、第1の数のモンテカルロサンプルでレンダリングされたものであり、レンダリングされた前記第2のモンテカルロレイトレーシング画像が、第2の数のモンテカルロサンプルでレンダリングされたものであり、前記第1の数のモンテカルロサンプルは、前記第2の数のモンテカルロサンプル以上である、請求項9又は10に記載の方法。
- 前記第2の数のモンテカルロサンプルは、前記第1の数のモンテカルロサンプルの半分である、請求項11に記載の方法。
- 提供された前記第1のモンテカルロレイトレーシング画像は、第1のランダムシードに従ってレンダリングされたものであり、提供された前記第2のモンテカルロレイトレーシング画像は、第2のランダムシードに従ってレンダリングされたものであり、前記第1の数のモンテカルロサンプルは、前記第2の数のモンテカルロサンプルに等しい、請求項9から11のいずれか一項に記載の方法。
- 請求項1から7のいずれか一項に記載の方法及び/又は請求項9から13のいずれか一項に記載の方法を実行するための命令を含むコンピュータプログラム。
- 請求項14のコンピュータプログラム及び/又は請求項8に記載のニューラルネットワークを記録したコンピュータ可読データ記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20306654.3A EP4016446A1 (en) | 2020-12-21 | 2020-12-21 | Intelligent denoising |
EP20306654 | 2020-12-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022101507A true JP2022101507A (ja) | 2022-07-06 |
Family
ID=74844646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021206859A Pending JP2022101507A (ja) | 2020-12-21 | 2021-12-21 | インテリジェントノイズ除去 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12094091B2 (ja) |
EP (1) | EP4016446A1 (ja) |
JP (1) | JP2022101507A (ja) |
CN (1) | CN114648451A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102624027B1 (ko) * | 2019-10-17 | 2024-01-11 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
CN112785486A (zh) * | 2019-11-07 | 2021-05-11 | 英特尔公司 | 用于图像去噪声的自适应可变形核预测网络 |
EP4016446A1 (en) | 2020-12-21 | 2022-06-22 | Dassault Systèmes | Intelligent denoising |
US11871145B2 (en) * | 2021-04-06 | 2024-01-09 | Adobe Inc. | Optimization of adaptive convolutions for video frame interpolation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017223560A1 (en) * | 2016-06-24 | 2017-12-28 | Rensselaer Polytechnic Institute | Tomographic image reconstruction via machine learning |
WO2018053340A1 (en) * | 2016-09-15 | 2018-03-22 | Twitter, Inc. | Super resolution using a generative adversarial network |
US10572979B2 (en) * | 2017-04-06 | 2020-02-25 | Pixar | Denoising Monte Carlo renderings using machine learning with importance sampling |
US10475165B2 (en) * | 2017-04-06 | 2019-11-12 | Disney Enterprises, Inc. | Kernel-predicting convolutional neural networks for denoising |
US11589031B2 (en) | 2018-09-26 | 2023-02-21 | Google Llc | Active stereo depth prediction based on coarse matching |
CN110070510A (zh) * | 2019-04-26 | 2019-07-30 | 东北大学 | 一种基于vgg-19提取特征的cnn医学图像降噪方法 |
EP4016446A1 (en) | 2020-12-21 | 2022-06-22 | Dassault Systèmes | Intelligent denoising |
-
2020
- 2020-12-21 EP EP20306654.3A patent/EP4016446A1/en active Pending
-
2021
- 2021-12-21 CN CN202111569959.3A patent/CN114648451A/zh active Pending
- 2021-12-21 US US17/557,326 patent/US12094091B2/en active Active
- 2021-12-21 JP JP2021206859A patent/JP2022101507A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US12094091B2 (en) | 2024-09-17 |
CN114648451A (zh) | 2022-06-21 |
EP4016446A1 (en) | 2022-06-22 |
US20220198612A1 (en) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022101507A (ja) | インテリジェントノイズ除去 | |
JP6878011B2 (ja) | 3dモデル化オブジェクトの再構築 | |
Weiss et al. | Volumetric isosurface rendering with deep learning-based super-resolution | |
US9886530B2 (en) | Computing camera parameters | |
GB2541179B (en) | Denoising filter | |
JP2020115337A (ja) | ニューラルネットワークのセット | |
US8791958B2 (en) | Method, apparatus, and program for displaying an object on a computer screen | |
US11893690B2 (en) | 3D reconstruction with smooth maps | |
CN114373056A (zh) | 一种三维重建方法、装置、终端设备及存储介质 | |
GB2614385A (en) | Denoising images rendered using Monte Carlo renderings | |
Bauszat et al. | Sample‐based manifold filtering for interactive global illumination and depth of field | |
US11657195B2 (en) | Processing a 3D signal of a shape attribute over a real object | |
CN110060346B (zh) | 确定代表真实对象皮肤的小面的集合 | |
JP2022098494A (ja) | ノイズ除去画像のディテール損失の検出 | |
US11631221B2 (en) | Augmenting a video flux of a real scene | |
Fuchs et al. | Superresolution reflectance fields: Synthesizing images for intermediate light directions | |
US10922872B2 (en) | Noise reduction on G-buffers for Monte Carlo filtering | |
Macedo et al. | Revectorization‐Based Soft Shadow Mapping | |
Jung et al. | Robust statistical pixel estimation | |
US20230342507A1 (en) | 3d reconstruction from images | |
Jeong et al. | Recovering Simplified Meshes: A Backpropagation-Driven Optimization Approach with Differentiable Renderers | |
BELCOUR et al. | 5D Covari |