4 điểm bởi GN⁺ 2025-06-02 | 1 bình luận | Chia sẻ qua WhatsApp
  • RenderFormer là một pipeline kết xuất thần kinh tạo ảnh trực tiếp từ các cảnh lưới tam giác, với điểm cốt lõi là có thể xử lý cả chiếu sáng toàn cục mà không cần huấn luyện theo từng cảnh
  • Thay vì coi kết xuất là một quy trình mô phỏng vật lý, phương pháp này định nghĩa nó như một phép biến đổi sequence-to-sequence biến các token tam giác và đặc tính phản xạ thành các token mảng điểm ảnh nhỏ
  • Pipeline được chia thành giai đoạn độc lập với góc nhìn và giai đoạn phụ thuộc góc nhìn, cả hai đều được huấn luyện bằng kiến trúc Transformer với mức ràng buộc tiên nghiệm tối thiểu
  • Giai đoạn độc lập với góc nhìn mô hình hóa truyền ánh sáng giữa các tam giác, còn giai đoạn phụ thuộc góc nhìn chuyển các token bó tia thành giá trị điểm ảnh
  • Các ví dụ công khai bao gồm ánh sáng, vật liệu, độ phức tạp hình học, hoạt ảnh và mô phỏng vật lý, đồng thời kết xuất không dùng rasterization hay ray tracing

Cấu trúc kết xuất của RenderFormer

  • RenderFormer là một pipeline kết xuất thần kinh trực tiếp tạo ảnh từ biểu diễn cảnh dựa trên tam giác
  • Hệ thống bao gồm đầy đủ hiệu ứng chiếu sáng toàn cục nhưng không yêu cầu huấn luyện hay tinh chỉnh theo từng cảnh
  • Quá trình kết xuất được xây dựng dưới dạng phép biến đổi sequence-to-sequence
    • Đầu vào là chuỗi token tam giác có kèm đặc tính phản xạ
    • Đầu ra là chuỗi token biểu diễn các mảng điểm ảnh nhỏ
  • Pipeline hai giai đoạn tách riêng phần tính toán truyền ánh sáng không phụ thuộc góc nhìn và phần sinh điểm ảnh thực tế
    • Giai đoạn độc lập với góc nhìn: mô hình hóa truyền ánh sáng giữa các tam giác
    • Giai đoạn phụ thuộc góc nhìn: chuyển các token bó tia thành giá trị điểm ảnh, với chuỗi tam giác từ giai đoạn độc lập góc nhìn đóng vai trò dẫn hướng
  • Cả hai giai đoạn đều dựa trên kiến trúc Transformer và được huấn luyện với rất ít ràng buộc tiên nghiệm
  • Quá trình kết xuất không sử dụng rasterization hay ray tracing

Kết quả công khai và tài liệu tham khảo

  • Thư viện kết xuất cho thấy nhiều điều kiện chiếu sáng, vật liệu và độ phức tạp hình học khác nhau mà không cần huấn luyện hay tinh chỉnh theo từng cảnh
    • Cornell Box, Stanford Bunny in Cornell Box, Lucy Statue, Utah Teapot
    • Composed Scene, Constant Width Bodies, Crystals, Fox in the Wild
    • Horse and Heart, RenderFormer Logo, Interior Room, Shader Ball, Tree, Veach MIS
  • Có cung cấp reference images để so sánh chi tiết
  • Tài liệu video bổ sung gồm uncompressed videosreference videos
  • Cảnh teaser

  • Hoạt ảnh và mô phỏng

    • Các ví dụ kết xuất hoạt ảnh bao gồm Cascade Cube Animation, Animated Crab, Gyroscope Motion, Animated Character, Marching Cubes Animation, Robot Animation
    • Các ví dụ mô phỏng dựa trên vật lý bao gồm Bowling Ball Physics Simulation, Rotating Box Dynamics, Constant Width Body Simulation
    • Bài báo sẽ được đăng trong ACM SIGGRAPH 2025 Conference Papers, và tiêu đề trong mục BibTeX là “RenderFormer: Transformer-based Neural Rendering of Triangle Meshes with Global Illumination”

1 bình luận

 
GN⁺ 2025-06-02
Các ý kiến trên Hacker News
  • Điều ấn tượng nhất ở đây có thể là tốc độ: với cùng một cảnh, RenderFormer mất 0,0760 giây, còn Blender Cycles mất 3,97 giây (12,05 giây ở thiết lập cao hơn), trong khi vẫn giữ chỉ số tương đồng cấu trúc 0,9526 (0–1, 1 là ảnh giống hệt). Xem bảng 2 và 1 trong bài báo
    Như vậy, một mô hình Transformer chạy ngay trên thiết bị có thể cung cấp cho nhà thiết kế 3D bản xem trước render tức thì với chất lượng tốt hơn trên web hoặc ứng dụng native
    Các phép đo trên được thực hiện bằng phiên bản mô hình PyTorch chưa tối ưu trên A100. GPU của người dùng phổ thông yếu hơn nhiều, nhưng với GPU dành cho nhà thiết kế 3D thì có thể vẫn đủ để thấy mức tăng tốc khá lớn so với render truyền thống. Nếu là hệ thống dựa trên web, cũng có thể kết nối tới A100 ở backend và stream hình ảnh về trình duyệt
    Hạn chế là khi độ phức tạp của cảnh tăng lên, chẳng hạn với bóng đổ có hình dạng phức tạp (các loại hạt hoặc tóc có lẽ cũng vậy), kết quả không hoàn toàn chính xác. Vì thế render cuối cùng nhiều khả năng vẫn sẽ dùng phương pháp truyền thống để tránh các artifact thị giác khó chịu thường thấy trong nhiều ảnh/video do AI tạo ra hiện nay. Tuy nhiên, nếu chất lượng đủ “ổn” và lợi ích về tốc độ lớn, các studio hoạt hình lớn cần render bản preview dài như phim truyện để duyệt nhạc, câu chuyện, v.v. có thể có lý do để áp dụng

    • Tôi không nghĩ các tác giả cố tình đánh lừa, nhưng trên GPU ở mức đó, Blender Cycles có thể render mọi cảnh trong bài báo này nhanh hơn rất nhiều so với 4 giây mỗi khung hình
      Các cảnh chỉ ở mức demo kỹ thuật rất khiêm tốn với độ phức tạp thấp, và có vẻ Blender được cấu hình lặp 4.000 lần trên mỗi pixel, điều này nghe không hợp lý. Blender chỉ sau vài trăm cycle đã khá gần với đầu ra rồi, và trong 3.800 cycle còn lại có thể chỉ đốt cycle GPU mà không cải thiện gì đáng kể
      Có vẻ họ đã vô tình tính cả bước khởi tạo của Blender vào tổng thời gian render, trong khi không tính khởi tạo Transformer. Tôi muốn xem thời gian render khung hình thứ hai trên mỗi hệ thống, và tôi đoán Blender sẽ có hiệu năng tốt hơn nhiều. Bản thân kết quả của bài báo thì thú vị, nhưng có nhiều sắc thái trong cách thiết lập và đo Blender
    • Với các cảnh được trình diễn, 76ms cũng gần như là cả một cõi vĩnh hằng. Dĩ nhiên về sau sẽ nhanh hơn nhiều, nhưng để nói là tốt hơn render truyền thống thì vẫn còn một chặng đường dài
    • Việc so sánh thời gian với render tham chiếu trông khá thiếu trung thực
      Trong ray tracing, sai số giảm tỷ lệ với căn bậc hai của số mẫu. Ảnh tham chiếu dùng để so sánh chất lượng thường dùng số mẫu rất cao, nhưng số mẫu của renderer offline thực tế thấp hơn bài báo này 1–2 bậc độ lớn
      Trong các bài báo đồ họa, việc đưa ảnh tham chiếu với số mẫu rất cao để so sánh chất lượng là phổ biến, nhưng không ai so sánh cả thời gian với chính ảnh tham chiếu đó. Nếu kết quả là xấp xỉ, so với các thuật toán render xấp xỉ khác mới là công bằng. Các path tracer thời gian thực và denoiser hiện đại có thể render những cảnh phức tạp hơn nhiều trong dưới 16ms ngay cả trên GPU tiêu dùng
      Điểm mấu chốt là “những cảnh phức tạp hơn nhiều”. Dùng Transformer sẽ scale bậc hai theo cả số tam giác lẫn số pixel đầu ra. Tôi không theo sát nghiên cứu machine learning mới nhất nên có thể giờ đã cải thiện, nhưng có vẻ khó đánh bại được scaling lý thuyết của path tracer điển hình là O(log n_triangles) và O(n_pixels). Scaling thực tế theo số pixel gần như dưới tuyến tính nhờ tính nhất quán cao giữa các pixel lân cận
    • Có đoạn nói rằng “độ phức tạp thời gian chạy của tầng attention tăng bậc hai theo số token, và ở đây số tam giác tương ứng với số token. Vì vậy tổng số tam giác của cảnh được giới hạn ở 4.096
    • Việc RenderFormer mất 0,0760 giây và Blender Cycles mất 3,97 giây trên cùng một cảnh nghe khá đáng kinh ngạc
      Tôi chỉ lướt nhanh nên không tìm thấy chi tiết họ thiết lập thế nào. Tôi tò mò không biết Cycles trên A100 dùng CPU hay dùng kernel CUDA. Ngoài ra, nếu render một khung hình đơn lẻ thì một phần không nhỏ trong 3,97 giây có thể đã dành cho việc khởi động renderer. Nếu render một chuỗi, thời gian mỗi khung hình sẽ giảm
      Vấn đề scaling độ phức tạp theo từng tam giác mà bình luận cùng nhánh nói đến cũng là điểm đau
  • Deep learning cũng đang được dùng rất thành công cho khử nhiễu ảnh render chiếu sáng toàn cục [1]
    Trong cách tiếp cận này, thuật toán ray tracing truyền thống nhanh chóng tính toán phần chiếu sáng toàn cục thô của cảnh, rồi mạng nơ-ron khử nhiễu đầu ra
    [1] https://www.openimagedenoise.org

    • Ảnh đầu ra demo trông mượt một cách kỳ lạ như AI upscaling. Nó cho cảm giác giống hiện tượng khi cố phóng to ảnh vượt quá lượng dữ liệu đầu vào: giữ được cạnh nhưng mất texture
      Sửa: khử nhiễu trông tốt hơn ở mức phóng đại 100% so với 125% DPI, và cũng dễ nhận ra cây dương xỉ phía dưới hơn
  • Với bài báo đồ họa, luôn phải nghĩ đến những gì không được thấy
    Ở đây gần như không có polygon, độ phân giải thấp, không có texture, không có motion blur, không có depth of field, và animation có vài artifact
    Đây là nghiên cứu thú vị, nhưng nếu đặt đúng góc nhìn thì họ đang dùng GPU hiện đại để tạo ra những hình ảnh giống thứ từng được tạo ra 30 năm trước với lượng tính toán chỉ bằng 1/1.000.000

  • Tôi thấy lạ là trong các ví dụ không có cái nào cho thấy phía sau camera
    Không rõ đây là hạn chế của cách tiếp cận hay chỉ là thiếu sót khi làm ví dụ, nhưng khi nói về phản xạ và chiếu sáng thì phía sau camera khá quan trọng

  • Hỏi vì tôi không rõ: các cảnh này được render dựa trên cách mà cảnh được dự đoán sẽ được render phải không? Nếu vậy thì tôi không hiểu vì sao nên dùng cách này thay vì một phương pháp trực tiếp hơn. Vì tôi không nghĩ nó sẽ nhanh hơn phương pháp trực tiếp

    • Có lẽ vì đây là nghiên cứu hay ho (Cool Research™). Chi phí tăng bậc hai theo số tam giác nên không thực dụng. Vì vậy họ chỉ dùng 4096 tam giác cho mỗi cảnh
    • Có lẽ có những lợi ích thú vị khó đoán trước
      Ví dụ nếu cảnh là một khối trọng số đầu vào, thì khi thêm nhiễu vào đó sẽ trông như thế nào? Liệu có thể thu được đầu ra thú vị không thể có bằng cách thông thường không?
      Nội suy giữa hai biểu diễn cảnh khác nhau thì có thú vị không? Những câu hỏi kiểu vậy có thể đặt ra
    • Theo một bình luận khác, cách này nhanh hơn. Trong phương pháp trực tiếp, chiếu sáng toàn cục có thể rất chậm
  • Chà, vậy là vòng lặp với GPU đã khép kín. Từ render sang tính toán, rồi lại quay về render

  • Trông cũng ổn nhưng bị nhòe. Giá mà có so sánh thời gian render giữa renderer nơ-ron và renderer cổ điển thì tốt

  • Trong các hoạt ảnh, đặc biệt là Animated Crab và Robot Animation, có khá nhiều artifact nghệ thuật AI dễ thấy, xoáy một cách thiếu tự nhiên quanh mô hình khi vật thể và camera chuyển động

    • Bài báo có một số thảo luận liên quan đến thời gian. Họ so sánh với Blender Cycles (path tracing), và ít nhất trong các cảnh có dưới 4.000 tam giác, cách tiếp cận bằng mạng nơ-ron nhanh hơn nhiều. Tuy nhiên, có vẻ khả năng mở rộng sẽ không tốt lắm. Họ đề cập rằng thời gian chạy attention tăng theo bậc hai so với số lượng tam giác
      https://renderformer.github.io/pdfs/renderformer-paper.pdf
      Tôi tò mò liệu việc dùng cách tiếp cận mạng nơ-ron chỉ cho chiếu sáng gián tiếp với hình học đã được đơn giản hóa có thực tế không. Kiểu như dùng rasterizer thông thường rồi gắn thêm chiếu sáng toàn cục lên trên
  • Tôi có một người bạn từng làm với trình kết xuất dựa trên vật lý trong ngành điện ảnh và cũng làm nghiên cứu liên quan. Tôi luôn thích nghe các câu chuyện và giải thích về cách mọi việc được xử lý trong ngành này
    Tôi tò mò hiện nay những công ty nào tuyển kiểu nhân tài như vậy. Các công ty AI có đang tuyển kỹ sư rendering để tạo môi trường huấn luyện không?
    Nếu có nơi nào muốn tuyển một kỹ sư rendering giàu kinh nghiệm trong nghiên cứu và công nghiệp, tôi có thể kết nối. Bạn tôi không dùng mạng xã hội nhưng đang tìm hiểu cơ hội

    • Hãy liên hệ với tôi qua tên người dùng của tôi trên Gmail
  • Nghiên cứu rất tuyệt. Tôi thật sự thích những trường hợp áp dụng Transformer vào các lĩnh vực không phải văn bản như thế này
    Có vẻ nó sẽ hoạt động tốt ở những lĩnh vực mà đầu vào có tính tuần tự và các token đầu vào đó có liên quan với nhau. Mong chờ thêm nhiều nghiên cứu trong mảng này
    Trong các lĩnh vực không phải văn bản, có lĩnh vực thú vị nào đặc biệt phù hợp với Transformer không?

  • Ý tưởng huấn luyện Transformer để biến một tập hợp tam giác mô tả cảnh thành một mảng pixel 2D, sao cho kết quả trông như các pixel do trình kết xuất chiếu sáng toàn cục xuất ra cho cùng cảnh đó, thật xuất sắc và thú vị
    Nhìn vào nghiên cứu trong 5 năm qua thì việc điều này hoạt động không còn quá gây sốc, nhưng nó vẫn cho cảm giác là một kết quả khá sâu sắc. Kiến trúc Transformer thật sự rất đa năng
    Dù sao thì nó cực nhanh, gần với đầu ra render của Blender, và trông như một mô hình khoảng 1 tỷ tham số. Không rõ là fp16 hay fp32, nhưng tệp 2GB thì cũng chẳng có gì để phàn nàn. Tôi cũng muốn xem demo các cảnh “thực tế” hơn, nhưng nếu muốn thì có thể tải về và tự chạy trên Mac