1 điểm bởi GN⁺ 2023-11-29 | 1 bình luận | Chia sẻ qua WhatsApp
  • MeshGPT tạo mesh tam giác dưới dạng chuỗi token, hướng tới việc sinh ra các mesh có cạnh sắc nét và phép tam giác hóa gọn gàng như các mô hình do con người tạo ra
  • Khác với kết quả iso-surfacing dày đặc, hệ thống trực tiếp tạo ra cấu trúc mesh compact hơn bằng cách lấy mẫu từ từ vựng hình học đã học
  • Bộ mã hóa-giải mã dựa trên graph convolution và vector quantization trước tiên học một từ vựng embedding chứa hình học cục bộ và topo
  • Transformer chỉ gồm decoder dự đoán chỉ mục tiếp theo dựa trên các embedding trước đó, và sau khi huấn luyện sẽ lấy mẫu chuỗi từ từ vựng để tạo mesh mới
  • Trên nhiều danh mục khác nhau, mô hình cho thấy shape coverage tăng 9% và điểm FID cải thiện 30 điểm, đồng thời cũng có thể dùng cho hoàn thiện mesh từng phần và tạo 3D asset cho cảnh

Cách MeshGPT tạo mesh

  • MeshGPT xem mesh tam giác như một chuỗi tam giác, tạo token từ từ vựng hình học đã học rồi giải mã chúng thành các mặt tam giác
  • Kết quả hướng tới các mesh clean, coherent, compact, với sharp edges và độ trung thực cao là những đặc điểm cốt lõi
  • So với các baseline hiện có, mô hình tạo ra mesh gọn hơn mà vẫn giữ được chi tiết hình học sắc nét
    • baseline có thể bỏ lỡ chi tiết, tạo mesh bị tam giác hóa quá mức, hoặc xuất ra hình dạng quá đơn giản
  • Trong các so sánh định lượng trên nhiều danh mục, mô hình cho kết quả tốt hơn các phương pháp tạo mesh mới nhất
    • shape coverage tăng 9%
    • điểm FID cải thiện 30 điểm

Pipeline huấn luyện và ứng dụng

  • Trước tiên, mô hình học một từ vựng embedding hình học cho mesh tam giác từ một tập lớn các shape
    • sử dụng mạng encoder-decoder
    • bao gồm vector quantization ở nút thắt cổ chai
    • dùng graph convolution để embedding chứa thông tin về hình học mesh cục bộ và topo
  • Từ vựng đã học được tổ chức thành chuỗi, và decoder có thể khôi phục chúng trở lại thành các tam giác
  • Transformer đảm nhiệm việc dự đoán chuỗi token của từ vựng đã học
    • nhận các embedding trước đó làm đầu vào và dự đoán chỉ mục embedding tiếp theo
    • sau khi huấn luyện xong, mô hình trực tiếp lấy mẫu chuỗi từ từ vựng để tạo mesh
  • Khi được cung cấp mesh từng phần, mô hình có thể suy luận nhiều kết quả shape completion khả dĩ
    • trong quá trình người dùng chỉnh sửa partial input mesh, hệ thống cũng có thể hiển thị các ví dụ completion
  • Mô hình cũng có thể được dùng để tạo 3D asset cho cảnh, và có ví dụ lấp đầy một căn phòng bằng các asset do MeshGPT tạo ra

Tài liệu và các công trình liên quan

1 bình luận

 
GN⁺ 2023-11-29
Ý kiến trên Hacker News
  • Tôi nghĩ một ý tưởng mang tính cách mạng thật sự trông sẽ như thế này. Bài báo có rất nhiều chi tiết, và chúng ta cũng đã biết transformer có khả năng mở rộng
    Tôi nghĩ nhiều công ty sẽ dùng ý tưởng này để huấn luyện các pipeline tạo asset 3D đa dụng. Ý tưởng “trước tiên dùng graph convolution để học một bộ từ vựng các embedding lượng tử hóa tiềm ẩn, để các embedding này nắm được thông tin hình học mesh cục bộ và topo; sau đó sắp thứ tự các embedding này và để decoder khôi phục chúng thành các tam giác nhằm tái tạo mesh một cách hiệu quả” nhìn lại thì vừa đẹp vừa hiển nhiên đến lạ
    Phần “như một cách tiếp cận thực dụng để biểu diễn mesh M cho sinh tự hồi quy, ta định nghĩa các token cần sinh là một chuỗi các tam giác” cũng thật sự rất hay

    • Hay thì hay, nhưng theo chuẩn của lĩnh vực tái dựng 3D hiện nay thì đây cũng là một hướng khá phổ biến. Tôi sẽ không gọi bài báo này là đặc biệt đột phá hay ngoại lệ
      Thứ thật sự thu hút tôi trong lĩnh vực này là https://yiconghong.me/LRM/, một mô hình tái dựng 3D lớn tạo mesh 3D từ một ảnh đơn và được huấn luyện trên hàng triệu mô hình 3D đa dạng
    • Một điểm đáng chú ý nữa ở đây là quá trình huấn luyện nhiều lắm cũng chỉ khoảng tổng cộng 7 ngày trên 4 chiếc A100. Không phải mọi công trình tối tân đều đòi hỏi cụm máy cấp datacenter
    • Có thể giải thích embedding lượng tử hóa là gì không?
    • Nói “chúng ta biết transformer có khả năng mở rộng”, nhưng tôi tự hỏi liệu có bằng chứng mạnh mẽ rằng các mô hình khác không mở rộng được, hay chỉ là chúng ta đã dành nhiều thời gian hơn cho transformer
      ResNet tích chập cũng có vẻ mở rộng được trong thị giác và ngôn ngữ: (cv) https://arxiv.org/abs/2301.00808, (cv) https://arxiv.org/abs/2110.00476, (nlp) https://github.com/HazyResearch/safari
      Perceptron đa tầng cũng có vẻ mở rộng được: (cv) https://arxiv.org/abs/2105.01601, (cv) https://arxiv.org/abs/2105.03404
      Tất nhiên cũng không có lý do mạnh mẽ để bỏ attention, nhưng tôi nghĩ gần như chẳng có ai thử ném một mô hình perceptron đa tầng hay tích chập quy mô 1 tỷ tham số vào bài toán. Attention, transformer và khả năng mở rộng của chúng đã nhận được nỗ lực khổng lồ, đến mức mỗi năm có hàng nghìn bài báo; khó thấy mức độ đó ở các kiến trúc khác
      Một trong những lý do bài The ResNet Strikes Back hay là vì nó nhắc ta đừng bị cuốn theo hype, và rằng các tiến bộ thường được kết hợp với nhau. Kể từ thời ResNet ban đầu, chúng ta đã học được nhiều kỹ thuật huấn luyện; khi áp dụng chúng cho ResNet, hiệu năng tốt hơn nhiều và khoảng cách thu hẹp đáng kể. Ít nhất là trong lĩnh vực thị giác mà tôi nghiên cứu; môi trường phải có bài để sống sót và cơ chế review chạy theo trào lưu rất dễ khiến nghiên cứu dồn về một hướng
    • Tôi tò mò điều này khác gì so với các kỹ thuật tương tự từng được áp dụng cho chuỗi DNA và RNA
  • Với tư cách là một kỹ sư machine learning có chơi Blender và làm game như sở thích một chút, tôi thấy khá ấn tượng, nhưng nếu chỉ nhìn các ví dụ đồ nội thất hạn chế thì nó vẫn chưa ở mức thực dụng
    Một modeler lành nghề có thể tạo những mesh như thế này trong chưa đầy 5 phút, và việc sinh vẫn cần được seed bằng polygon
    Bước tiếp theo có lẽ là để LLM điều khiển việc tạo seed, rồi thêm mô hình ảnh vào phần tự hồi quy của cấu trúc. Khi đó có thể chúng ta sẽ thật sự thấy asset cho game di động

    • Tôi không nghĩ kiểu phê bình quy trình AI như “một modeler lành nghề có thể tạo mesh này trong 5 phút” là hữu ích. Phần lớn mọi người không phải modeler lành nghề, cũng không quen ai như vậy, và không có tiền thuê họ
      Trong nhiều trường hợp, ngay cả khi mất nhiều thời gian hơn chuyên gia và chất lượng kém hơn, nếu lựa chọn thực tế thay thế là không có gì cả thì công cụ như thế này vẫn tốt hơn
    • Hay đấy. Vậy bạn có thể giới thiệu các modeler làm việc on-demand khi cần và tính phí theo từng 5 phút không?
      Nếu chỉ phải trả 1–2 đô la cho mỗi model và có ngay asset tùy chỉnh phù hợp để đưa vào game của tôi thì tuyệt quá
    • Chuyện này không nhắm đến các modeler lành nghề. Cũng giống như Stable Diffusion không chỉ dành cho họa sĩ chuyên nghiệp
      Điểm cốt lõi là trao công cụ cho người không chuyên, đồng thời giúp các modeler lành nghề thoát khỏi những việc như tạo 10.000 biến thể ghế cho game AAA tương lai để tập trung vào việc thú vị hơn. Họ có thể tạo ra những nhân vật độc đáo, hoặc các mô hình tương lai mới không có trong dữ liệu huấn luyện và thật sự cần trí tưởng tượng cùng chuyên môn
    • Với topo mesh như ở đây thì gần như bất kỳ quy trình chuyên nghiệp nào cũng sẽ từ chối làm asset. Một modeler lành nghề có thể tạo trong 5 phút một mô hình chất lượng cao hơn nhiều, phù hợp hơn cho texture và biến dạng; còn speed modeler thì thậm chí có thể làm tương tự trong 1 phút
      Các hệ thống procedural như Blender Geometry Nodes cũng đã có thể tạo ra vô số biến thể của những mô hình như vậy. Dù vậy, tốc độ tiến bộ vẫn đáng kinh ngạc
    • Cũng như developer lành nghề dùng LLM để bootstrap quy trình làm việc, các modeler lành nghề cũng sẽ sớm dùng những công cụ như thế này như một phần trong quy trình hằng ngày. Người dùng nhẹ có thể làm những việc trước đây họ không làm được, nhưng công cụ sẽ thật sự tỏa sáng khi được chuyên gia trong miền kiến thức đó sử dụng
      Tôi tin rằng bạn càng có nhiều kinh nghiệm với một use case cụ thể thì càng khai thác được nhiều giá trị hơn từ mô hình machine learning
      Đáng tiếc là chính những người đó thường lại là nhóm kháng cự việc áp dụng nhất, dù chưa thực sự luyện tập đến mức có thể dùng nó hữu ích. Có lẽ một phần vấn đề là họ kỳ vọng nó như cây đũa thần. Thực ra nó chỉ là một công cụ mới như PhotoShop, Blender, Microsoft Word hay PowerPoint mà thôi
      Phần lớn mọi người mở các ứng dụng đó, bấm vài cái vô nghĩa một lúc rồi sớm rời đi và không quay lại nữa. “AI” cũng vậy
  • Nghề mình chọn là sản xuất 3D/phim dạo này có cảm giác như đang ở trong chiến hào. Vừa thú vị vừa đáng sợ.

    • Cũng có thể xem đây là scaffolding tự động. Các công cụ modeling và CAD phổ thông có thể tích hợp những tính năng như thế này để giúp khởi đầu nhanh hơn.
      Một lợi thế lớn khác là khả năng tổ hợp. Nếu mô hình có thể tạo ra một cái cốc và một cái bàn, thì coi như nó cũng biết cách tạo ra cái cốc đặt trên bàn.
      Hãy tưởng tượng việc có thể tạo ra các bánh răng phức tạp và linh kiện cơ khí phù hợp với dự án chỉ trong nháy mắt, rồi đặt chúng chính xác vào vị trí và góc xoay mong muốn. Rất giống cách GitHub Copilot hoạt động.
    • Ở điểm này, tôi không thấy LLM đã tiến xa trong hoạt hình 3D hơn nhiều so với lập trình. Nó có thể nhả ra những mảnh riêng lẻ trông ổn khi nhìn tách biệt, nhưng con người vẫn phải ghép bức puzzle. Và việc ghép puzzle đó thường đồng nghĩa với việc viết lại hoặc làm lại phần lớn các mảnh.
      Trước mắt thì vẫn an toàn, nhưng phải học cách tận dụng công nghệ mới.
    • Nếu bạn biết vai trò bidding producer, bạn cũng sẽ hình dung được những khó khăn họ đang gặp. Một bên là các nhà làm phim nói “giờ nghe nói AI cũng làm được cái này rồi”, bên kia là các bidding producer cùng khách hàng của studio VFX/hoạt hình đang cuống cuồng như thể mọi thứ lại hoàn toàn mới.
    • 3D CGI ngay cả không có AI cũng đã phát triển với tốc độ khủng khiếp trong 30 năm qua. Công cụ ngày nay đã khác hẳn về chất, như điêu khắc, mô phỏng, auto-rigging, v.v.
    • Bạn nhìn nhận các use case của công nghệ này trong lĩnh vực của mình thế nào? Tôi tò mò liệu chất lượng có trông cao không.
  • Đầu vào là gì vậy? Có phải biến truy vấn văn bản như “chair” thành mesh không?
    Nhìn thì có vẻ hoàn thiện mesh mới là kiểu input/output chính, chứ không phải một tính năng phụ đơn giản.

    • Đúng, cũng khó nắm bắt thật.
      Bản thân input có vẻ là một mesh 3D. Vì vậy mô hình dường như đang làm “hoàn thiện hình dạng”. Ví dụ như nhìn vài cái chân rồi tạo ra một cái ghế. Hoặc khi hình dạng đầu vào đã hoàn chỉnh hơn, có thể là nó tạo ra các “biến thể”.
      Dù vậy, làm điểm khởi đầu thì có vẻ ổn. Có thể lấy output của một mô hình text-to-mesh khác có chất lượng thấp làm input, rồi dùng mô hình này để thu được kết quả sắc nét và nhất quán hơn.
    • Giống như prompt cho LLM chỉ xử lý ngôn ngữ bằng ngôn ngữ, với LLM này thì ta prompt bằng mesh 3D cần hoàn thiện.
    • Tôi cũng thắc mắc điều đó. Nhìn sơ đồ thì input có vẻ là một mesh ghế khác, nên thấy kém thú vị hơn một chút.
  • Có cảm giác tất cả những bài toán khó còn lại, vốn không có nhiều tiến triển lớn từ thập niên 90, đều đang chờ đến lượt được giải bằng transformer theo cách nào đó. Đúng là một thời đại đáng kinh ngạc.

  • Bước đột phá tiếp theo sẽ là UX tạo cảnh 3D bằng VR trước các mô hình kiểu này. Nếu là môi trường có dữ liệu huấn luyện, về cơ bản ta sẽ có thể tạo ra các môi trường 3D tùy ý và gần như vĩnh viễn.
    Có thể dùng diffusion model để tạo texture.
    Mark đã đúng, và thật sự đã đi quá sớm.

    • Mark?
      À, Mark đó hả? haha, hiểu rồi.
      Chẳng phải ghi công cho những người như Lecun còn hợp lý hơn sao? Chắc chắn việc Mark all-in vào metaverse không phải vì somehow dự đoán được deep learning sẽ bùng nổ. Ngay cả những người huấn luyện các mô hình ban đầu cũng không chắc nó sẽ hiệu quả đến mức nào.
  • Ngay cả nếu đây “chỉ” là tự động hoàn thiện mesh, nó vẫn cực kỳ hữu ích với 3D artist. Hiện nay có một khoảng đứt gãy giữa cách sculpt nhân vật và cách animate nhân vật. Thường cần một bước retopology rất tốn thời gian cho model.
    Nếu có retopology dựa trên transformer nhận mesh thô và xuất ra topology sạch, đó sẽ là khoản tiết kiệm thời gian rất lớn.
    Một ứng dụng khác là đưa output của Gaussian splatting hoặc diffusion model vào MeshGPT. Có thể lấy ngay asset dùng được với topology sạch từ text.

    • Tôi nghĩ thứ này sẽ được 99% dùng bởi những người cả đời chưa từng tự tay tạo mesh, hơn là cho 3D artist. Những người muốn thay thế nhu cầu thuê 3D artist, chẳng hạn các lập trình viên không muốn hoặc không thể trả tiền cho designer, kiến trúc sư chưa từng học gì ngoài CAD, hoặc các việc kiểu Fiverr.
      Có vẻ ở đây nhiều người chưa thực sự cảm nhận rằng chúng ta đang dần đi theo hướng tự động hóa chính việc tự động hóa. Và những lập trình viên có thể kiếm sống nhờ điều này sẽ chỉ là một phần rất nhỏ trong số những người hiện đang kiếm sống được.
    • Cần hiểu rằng các phương pháp kiểu này rất nhạy với dữ liệu trong/ngoài phân phối. Cứ cắm dữ liệu người dùng vào thì có lẽ sẽ không hoạt động tốt đâu.
    • Xin lỗi, nhưng việc tạo ra topology sạch cho nhân vật có lẽ sẽ còn bất khả thi trong một thời gian rất dài.
  • Tôi thích lĩnh vực này. Bài paper có cả website đẹp, ví dụ và video.
    Cảm giác mới mẻ hơn nhiều so với kiểu paper dày đặc abstract, introduction và chỉ tập trung vào kết quả.

  • Trông thật sự rất tuyệt. Có vẻ sẽ giúp ích rất nhiều cho indie game developer trong việc tạo pool asset quy mô lớn.

    • Tôi nghĩ vì công nghệ kiểu này mà phát triển game indie đã chết rồi.
      Thay vào đó, các công ty lớn sẽ tạo ra những trò chơi “tự làm game của riêng bạn”.
      Game indie hiện nay vốn đã có cảm giác khá phái sinh. Trong trung hạn, tôi nghĩ các công ty lớn dùng công nghệ này sẽ giết chết game indie.
  • Wow, nó đang thật sự tốt lên. Vẫn còn chặng đường phải đi vì các cạnh kỳ lạ, nhưng ở thời điểm này cảm giác đó không còn là vấn đề thuật toán hay quá phức tạp nữa, mà giống như các cải tiến lặp lại.
    Pipeline của tôi sẽ nhanh hơn rất nhiều nếu không phải đưa mọi mesh vào một thư viện procedural generation có vô số mesh modifier nhỏ được nối với driver. Thay vào đó, chỉ cần cho tất cả mesh vào một thư mục, huấn luyện mạng, rồi yêu cầu những thứ khác cùng phong cách. Có thể thấy rằng, trừ khi muốn can thiệp sáng tạo hơn, tôi sẽ không cần retopo hay các công việc thủ công khác.
    Dĩ nhiên trước khi đạt hoàn toàn đến mức đó thì procedural generation vẫn tốt hơn, nhưng thật sự rất hào hứng khi thấy nó đang hoàn thiện nhanh như vậy. Hy vọng đến showcase Unreal năm sau, họ sẽ nói về tính năng Asset Generator mới.

    • thư viện procedural generation nào đáng đề xuất không?