Plugins Sketchup VRAY 3DS MAX VRAY SKETCHUP

V-RAY NEXT: TRẢI NGHIỆM VỚI BỘ KHỬ NOISE NVIDIA OPTIX

Vấn đề với noise

Ray tracing, giống như nhiếp ảnh, cần rất nhiều mẫu ánh sáng để có được hình ảnh rõ ràng và trong cả hai trường hợp, noise luôn là một thách thức. Trong nhiếp ảnh, khi không có đủ ánh sáng, các mẫu sẽ thưa thớt và hình ảnh tổng thể sẽ bị noise hạt. Điều này cũng đúng với Ray tracing và CG. Nếu bạn theo dõi tia chỉ trong một thời gian ngắn, các mẫu bị giới hạn và hình ảnh sẽ bị noise. Trong cả hai trường hợp, giải pháp là cho phép nhiều mẫu hơn. Để có được nhiều mẫu hơn trong nhiếp ảnh, bạn có thể mở khẩu độ hoặc tăng thời gian phơi sáng để cho nhiều photon hơn. Trong Ray tracing, bạn có thể đợi lâu hơn để tính toán nhiều mẫu hơn hoặc thêm sức mạnh tính toán để giải quyết hình ảnh nhanh hơn.

Một điều khác có thể giúp giảm noise trong ảnh được gọi là khử noise. Giải pháp khử noise đơn giản nhất là làm mờ tất cả các pixel gần đó để lấy trung bình. Nhưng kết quả sẽ chỉ là một hình ảnh mờ tổng thể. Nếu giải pháp khử noise cũng có thể phát hiện các cạnh và đảm bảo chúng vẫn sắc nét, kết quả sẽ tốt hơn. Đối với việc khử noise để cải thiện hơn đây là một vấn đề khó giải quyết hơn.

Trong ví dụ dưới đây, chúng tôi bắt đầu với một render noise chỉ có một vài mẫu. Hình ảnh thứ hai cho thấy những gì xảy ra khi bạn áp dụng một hiệu ứng nhòe đơn giản và hình ảnh thứ ba cho thấy những gì xảy ra khi bạn phát hiện các cạnh và mờ cùng một lúc. Đối với những hình ảnh này, chúng tôi đã sử dụng bộ lọc Smart Blur của Photoshop. Về mặt kỹ thuật, bộ khử noise của Photoshop sẽ hoạt động tốt hơn nhiều so với Smart Blur, nhưng điều này giúp minh họa điểm này.

Trong V-Ray 3.x, chúng tôi đã giới thiệu giải pháp khử noise của riêng mình. Nó cho phép người dùng render hình ảnh đến một điểm nhất định và sau đó cho phép V-Ray khử noise dựa trên thông tin mà nó có. Quá trình này chạy rất tốt trên GPU. Một điều chúng tôi đề cập trong Hướng dẫn về GPU là GPU rất tuyệt vời trong các nhiệm vụ song song rất lớn. Và khử noise là một trong những nhiệm vụ đó. Với GPU, chúng tôi có được tốc độ tăng gấp 20 lần và quá trình có thể kết thúc chỉ sau vài giây.

Nhưng nó còn có thể nhanh hơn. Điều gì sẽ xảy ra nếu, thay vì giải quyết vấn đề khử noise một cách độc lập cho mỗi hình ảnh, nó có thể tham chiếu lại những giải pháp khử noise trong quá khứ để giải quyết vấn đề nhanh hơn?

Sử dụng Neural Networks để giúp khử noise

Sử dụng dữ liệu đã học được trước đó là nền tảng của learning machine. Trong V-Ray, nó có thể sử dụng dữ liệu đã học trong quá trình vượt qua bộ đệm ánh sáng để giúp giải quyết nhiều vấn đề render nhanh hơn nhiều. Ví dụ, Adaptive Sampler, Adaptive Lights và Adaptive Dome Light mới đều sử dụng khái niệm này. Nhưng điều gì sẽ xảy ra nếu V-Ray cũng có thể học hỏi từ các render khác, không chỉ là render mà nó đang hoạt động?

Ngay bây giờ, có rất nhiều tiếng vang xung quanh các chủ đề của Deep Learning và Deep Neural Networks. (Thực sự chúng giống nhau). Neural network sâu đến mức nào chỉ đơn giản là nói đến số layers mà network chứa. Ý tưởng là xây dựng một computational network học cách giải quyết các vấn đề cụ thể, từ các giải pháp được cung cấp cho vấn đề hoặc bằng cách học hỏi từ các bài kiểm tra của chính nó. Một khi mạng hiểu rõ hơn về cách giải quyết vấn đề, chẳng hạn như khử noise, nó có thể giải quyết vấn đề nhanh hơn nhiều.

Hãy tưởng tượng nếu bạn không biết rằng 5 + 5 = 10 và bạn phải đếm trên đầu ngón tay của mình mỗi lần tính, đây là một giải pháp chậm chạp. Nhưng vì bạn đã biết câu trả lời, bạn có thể bỏ qua việc đếm trên đầu ngón tay, khiến nó nhanh hơn nhiều.

Về lý thuyết, bằng cách cung cấp cho Neural network hàng ngàn noisy renders cùng với clean final versions, nó có thể học cách giải quyết vấn đề noise bằng dữ liệu hình ảnh này, sau đó áp dụng giải pháp cho các trường hợp khác.

Đó chính xác là những gì NVIDIA đã giới thiệu với bộ khử noise tăng tốc AI OptiX của họ. Họ đã xây dựng một Neural network bằng cách sử dụng hàng ngàn hình ảnh được hiển thị trong Iray và giờ đây dữ liệu đã học này có thể được áp dụng cho các hình ảnh dò ​​tia khác. Chúng tôi đã quyết định thử nghiệm làm thế nào những dữ liệu này có thể có lợi cho V-Ray.

Đó là tất cả về tốc độ

Ưu điểm của bộ khử noise OptiX của NVIDIA so với bộ khử noise của V-Ray là gì? Mặc dù bộ khử noise V-Ray rất nhanh và có thể khử noise hình ảnh trong vài giây trên GPU, nhưng giải pháp OptiX có thể khử noise render trong thời gian thực. Một hình ảnh bị khử noise sẽ không bao giờ chính xác. Theo định nghĩa, nó cung cấp cho bạn dự đoán tốt nhất cho những gì nó nghĩ rằng hình ảnh cuối cùng nên được. Đồng thời, độ chính xác có thể không phải là điều quan trọng nhất. Nếu bạn có thể có được một hình ảnh không noise có thể thực hiện được trong thời gian thực, nó có thể có tác động đến quy trình làm việc của bạn, đặc biệt là trong quá trình phát sáng và nhìn.

Cách thức khử noise NVIDIA OptiX hoạt động trong V-Ray

Có thể sử dụng dữ liệu đã học với V-Ray, mặc dù thông tin được thu thập bằng cách sử dụng render Iray. Chúng tôi thậm chí có thể tái lập lại network bằng cách sử dụng render V-Ray.

Càng nhiều thông tin thực tế, người khử noise càng biết về hình ảnh, trái ngược với suy đoán, nó càng có thể thực hiện công việc của mình tốt hơn. Ví dụ, chúng ta hãy nhìn vào phát hiện cạnh. Do các cạnh thường được phát hiện dựa trên độ tương phản cao giữa các pixel lân cận, nên hình ảnh noise có thể không có đủ thông tin để phát hiện tốt các cạnh. Khi bạn render một đường chuyền khuếch tán và đường truyền thông thường trong V-Ray, nó sẽ thu thập đủ thông tin về một cảnh để xác định vị trí của các cạnh.

Với sự kết hợp của dữ liệu đã học và các yếu tố render, bộ khử noise OptiX có thể đưa ra dự đoán rất tốt về hình ảnh cuối cùng, thậm chí chỉ với một vài mẫu. Mặc dù loại khử noise này sẽ hoạt động trên GPU hoặc CPU, nhưng lợi ích lớn nhất cho người dùng là khi tương tác nhiều trong công việc.

Một số ví dụ kết quả

Trong ví dụ này, chúng tôi đang xem xét một cảnh khá phức tạp với nhiều Global Illumination. Chúng tôi đã sử dụng cả khuếch tán và thông thường như là một phần của bộ khử noise. Chúng tôi đã chụp ảnh nhanh trong quá trình render để hiển thị cả render ban đầu và render được làm mờ.

Bạn sẽ nhận thấy rằng ở pass 1, chúng ta có được một hình ảnh gần như có thể sử dụng được với rất ít thông tin. Tuy nhiên, hình ảnh không gần với ánh sáng thực tế của hình ảnh cuối cùng. Nhưng khi chúng ta đến gần hơn với hình ảnh cuối cùng, chúng gần gũi hơn nhiều. Tuy nhiên, bạn sẽ nhận thấy rằng vẫn có sự khác biệt giữa hình ảnh cuối cùng và hình ảnh cuối cùng bị khử noise.

Trong video này, chúng ta có thể thấy sức mạnh thực sự của việc khử noise thời gian thực có thể đạt được với OptiX của NVIDIA. Nhìn vào một vài cảnh, người dùng sẽ có được một hình ảnh không bị noise sau quá trình render.

https://vimeo.com/248787095

Những hạn chế hiện tại

Có một vài hạn chế có thể được giải quyết trong tương lai.

Hình ảnh được khử noise OptiX chỉ gần đúng. Nó có thể là một dự đoán rất gần với kết quả cuối cùng, nhưng render thực tế sẽ có kết quả chính xác hơn.

Hình ảnh khử noise OptiX được kẹp. Hiện tại, hình ảnh được khử noise được kẹp ở mức 1 và bạn sẽ không có cùng phạm vi với HDRI.

OptiX khử noise làm mới sau mỗi lần vượt qua V-Ray. Render tiến bộ của V-Ray được thực hiện trong các lượt. Trong các cảnh đơn giản, passes có thể mất một phần nghìn giây và trong các cảnh phức tạp hơn, passes có thể mất vài phút. Với bộ khử noise OptiX, bạn sẽ chỉ nhìn thấy kết quả bị khử noise sau mỗi lần vượt qua.

Khử noise OptiX rất tốt trong giai đoạn đầu render khi có nhiều noise hơn. Trong các giai đoạn sau với ít noise hơn, việc khử noise OptiX có thể ít thuận lợi hơn.

OptiX có thể không lý tưởng cho hoạt hình. Đối với animation, chúng tôi khuyên bạn nên sử dụng bộ khử noise của V-Ray với khử noise cross-frame.

OptiX chỉ khử noise render vẻ đẹp, trong khi V-Ray Next sắp tới có thể khử noise các thành phần render riêng lẻ.

Khi sử dụng trình render CPU của V-Ray, bạn sẽ cần tắt bộ lọc khử răng cưa để bộ khử noise OptiX hoạt động.

Trong khi render V-Ray có thể diễn ra trên bất kỳ phần cứng nào, bộ khử noise OptiX yêu cầu GPU NVIDIA.

Phần kết luận

Nhiều người đã sử dụng V-Ray trong chế độ tương tác trong một thời gian dài. Đó là một cách tuyệt vời để cập nhật shader, ánh sáng và xem kết quả tự tiến triển. Vấn đề luôn luôn là, dựa trên bản chất của theo dõi đường dẫn lũy tiến, hình ảnh bắt đầu có thể khá nhiều noise. Với bộ khử noise OptiX mới của NVIDIA bên trong V-Ray, thời gian thực tế, bộ khử noise thông minh có thể mang đến cho người dùng cảm giác tốt hơn về những thay đổi trong một render khử noise mượt hơn.

Bộ khử noise OptiX có sẵn để mọi người dùng thử trong V-Ray Next cho bản 3dsmax Beta.

Nguồn : Dịch từ Chaosgroup bởi Darchviz

Gửi phản hồi