Open Image Denoise、オープンソースの画像ノイズ除去ライブラリ

インテルオープンイメージ

Intel Open Image Denoise は、レイ トレース レンダリング イメージ用の高品質、高性能のノイズ除去フィルターのオープン ソース ライブラリです。

最近 画像に焦点を当てたアプリケーションやライブラリはたくさんあります最もよく知られているものとしては、Photoshop、GIMP、Krita、ペイントなどが挙げられますが、最初の XNUMX つが最も完全であることは明らかです。

しかし 特定の作業ケースでは、それほど多くのリソースを使用する必要はありません これらのいずれかを実行するには、たとえば、画像のみをトリミングしたり、サイズ、外観、形式を変更したり、いくつかの小さな調整を処理したりすることができます。

これのポイントは、私が最近見つけたということです 素晴らしい図書館 それが私の注意を引いたので、 ノイズ除去に重点を置いた 画像で、そして何よりもオープンソースであり、インテルと協力して開発されていることがわかります。

画像のノイズについて話すとき、いいえ、それはサウンド/オーディオに関するものではありません (画像について話している場合は意味がありません)、デジタル ノイズは次のとおりです。

入力デバイスによって生成されるデジタル画像の明るさや色のランダムな変化は、基本的には色と一致しない「粒子」またはピクセルです。 

そして、今日説明するライブラリの要点に戻りますが、レイ トレーシング レンダリング システムで準備された画像からノイズを除去するフィルターのコレクションを開発する «Open Image Denoise» です。

オープンイメージのノイズ除去について

画像のノイズ除去を開く より大規模な oneAPI レンダリング ツールキット プロジェクトの一部として開発されています Embree レイ トレーシング ライブラリ、GLuRay フォトリアリスティック レンダリング システム、OSPRay 分散レイ トレーシング プラットフォーム、OpenSWR ソフトウェア ラスタライゼーション システムなど、科学計算用のソフトウェア視覚化ツールの開発を目的としています。

プロジェクトの目的は、 高品質、効率的、そして使いやすいノイズ除去機能を提供します これを適用すると、レイ トレーシング結果の品質を向上させることができます。 提案されたフィルターを使用すると、より短いレイ トレーシング サイクルの結果に基づいて、より高価で低速の詳細なレンダリング プロセスの結果に匹敵する最終レベルの品質を得ることができます。

Open Image Denoise は、モンテカルロ数値積分レイ トレーシング (MCRT) などのランダム ノイズをフィルターで除去します。 このようなアルゴリズムで高品質のレンダリングを実現するには、多数の光線を追跡する必要があります。 そうしないと、結果として得られる画像にランダム ノイズの形で顕著なアーティファクトが現れます。

オープンイメージノイズ除去の使用 必要な計算の数を数桁減らすことができます 各ピクセルを計算するとき。 その結果、最初はノイズの多い画像をより高速に生成できますが、その後は高速ノイズ低減アルゴリズムを使用して許容可能な品質まで下げることができます。 適切な機器があれば、提案されたツールは、オンザフライでノイズ除去を行うインタラクティブなレイ トレーシングにも使用できます。

Open Image Denoise は最近新しいバージョン 2.0 を受け取りました。このバージョンでは、次のような変更点が際立っています。

  • GPUを使用したノイズリダクション処理の高速化をサポート。 Intel Xe アーキテクチャ、AMD RDNA2、AMD RDNA3、NVIDIA Volta、NVIDIA Turing、NVIDIA Ampere、NVIDIA Ada Lovelace、および NVIDIA Hopper に基づく GPU で使用できる SYCL、CUDA、および HIP システムによる GPU オフロードのサポートを実装しました。
  • 新しいバッファ管理 API が追加されました。これにより、ストレージ タイプの選択、ホスト データのコピー、Vulkan や Direct3D 12 などのグラフィックス API からの外部バッファのインポートが可能になります。
  • 非同期実行モード (oidnExecuteFilterAsync および oidnSyncDevice 関数) のサポートが追加されました。
  • システム内に存在する物理デバイスにリクエストを送信するための API を追加しました。
  • UUID や PCI アドレスなどの物理デバイス ID に基づいて新しいデバイスを作成する oidnNewDeviceByID 関数が追加されました。
  • SYCL、CUDA、HIP による移植性のための機能が追加されました。
  • 新しいデバイス スキャン オプションを追加しました (systemMemorySupported、
  • ManagedMemorySupported、externalMemoryTypes)。
  • フィルターの品質レベルを設定するパラメーターを追加しました。

画像のノイズ除去を開く ラップトップや PC からクラスター化されたノードまで、さまざまなクラスのデバイスで使用できます。 この実装は、64 ビット Intel CPU のさまざまなクラス向けに最適化されています。 Open Image Denoise を実行するための要件とそのインストール方法を知りたい場合は、次のサイトを参照してください。 次のリンク。

コードは C++ で書かれており、Apache 2.0 ライセンスに基づいてリリースされています。