Những nỗ lực nghiên cứu về thị giác máy tính 3D và AI đã cùng nhau vươn lên như hai tòa nhà chọc trời. Nhưng chuyến đi giữa những tòa tháp ghê gớm này có liên quan đến việc leo lên xuống hàng chục cầu thang.
Để vượt qua sự phân chia đó, NVIDIA vừa cho phát hành bộ thư viện Kaolin, giúp chuyển các mô hình 3D vào thế giới của các mạng thần kinh chỉ trong một vài bước.
Được triển khai như một thư viện PyTorch, Kaolin có thể cắt giảm công việc chuẩn bị mô hình 3D để deep learning từ 300 dòng mã xuống chỉ còn 5 dòng.
Các bộ dữ liệu 3D phức tạp có thể được tải vào các machine learning framework bất kể chúng được biểu diễn hay sẽ được hiển thị như thế nào.
Một công cụ như thế này có thể mang lại lợi ích cho các nhà nghiên cứu trong các lĩnh vực đa dạng như robot, xe tự lái, hình ảnh y tế và thực tế ảo.
Sự quan tâm đến các mô hình 3D đang bùng nổ và Kaolin có thể tạo ra một tác động đáng kể. Các kho lưu trữ trực tuyến đã chứa nhiều bộ dữ liệu 3D, một phần nhờ vào khoảng 30 triệu máy ảnh chiều sâu chụp ảnh 3D hiện đang được sử dụng trên toàn thế giới từ phòng thí nghiệm đến phòng khách.
Cho đến nay, các nhà nghiên cứu đã thiếu một tiện ích tốt để làm cho những mô hình đó sẵn sàng để sử dụng với các công cụ deep learning, và chúng cũng đang phát triển với tốc độ nhanh chóng. Thay vào đó, họ buộc phải dành thời gian đáng kể để viết từ đầu những gì đáng lẽ nên là những bộ code dạng “boilerplate” có sẵn.
Giao diện để tăng tốc nghiên cứu
Về cốt lõi, Kaolin bao gồm một bộ chức năng hình học hiệu quả cho phép thao tác nội dung 3D. Nó có thể gói vào các bộ dữ liệu 3D kéo căng PyTorch được triển khai dưới dạng các lưới đa giác , các đám mây điểm, các hàm khoảng cách đã ký hoặc các lưới voxel.
Với bộ dữ liệu 3D của họ đã sẵn sàng để deep learning, các nhà nghiên cứu có thể chọn mô hình mạng thần kinh từ bộ sưu tập được quản lý mà Kaolin cung cấp. Giao diện cung cấp một kho mô hình phong phú, cả đường cơ sở và trạng thái hiện đại, để phân loại, phân đoạn, tái tạo 3D, siêu phân giải và hơn thế nữa.
Một số ví dụ về các ứng dụng trong thế giới thực là:
Phân loại để xác định các mục trong cảnh 3D thường là bước đầu tiên của các quy trình phức tạp hơn được minh họa bên dưới.
Phân đoạn phần 3D để tự động xác định các phần khác nhau của mô hình 3D, giúp dễ dàng tạo một ký tự cho hoạt hình hoặc tùy chỉnh mô hình để tạo các biến thể của một đối tượng.
Image to 3D xây dựng mô hình 3D từ hình ảnh của một sản phẩm được công nhận bởi mạng lưới thần kinh được đào tạo. Đến lượt, mô hình 3D có thể được sử dụng để tìm kiếm cơ sở dữ liệu mô hình 3D cho phù hợp hoàn hảo nhất từ danh mục nhà cung cấp chẳng hạn.
Ngoài mã nguồn, chúng tôi sẽ phát hành các mô hình được đào tạo trước cho các tác vụ này trên các benchmark phổ biến. Chúng tôi hy vọng họ phục vụ như là cơ sở cho nghiên cứu trong tương lai, giảm bớt công việc so sánh các mô hình.
Phương pháp mô đun của Kaolin giúp người dùng dễ dàng kết xuất đồ họa khác biệt, một kỹ thuật mới nóng bỏng trong deep learning 3D. Thay vì viết toàn bộ trình kết xuất từ đầu, người dùng chỉ cần sửa đổi các thành phần của nguồn cung cấp giao diện.
Đưa AI lên sân khấu với 3D
Chúng tôi thực hiện rất nhiều nghiên cứu liên quan đến 3D tại NVIDIA. Đôi khi chúng tôi dành nhiều ngày để tìm hiểu về mã nguồn mở mà những người khác đã viết để tìm ra thứ tốt nhất và kéo tất cả vào một thư viện để sử dụng nội bộ.
Sau khi viết mã soạn sẵn cho một vài dự án của chúng tôi, một trong những thực tập sinh của chúng tôi đề nghị chúng tôi tạo ra một cái gì đó toàn diện hơn cho PyTorch. Các nhà nghiên cứu đã có những tiện ích như vậy cho hình ảnh 2D trong một thời gian. Một cho 3D có thể cho phép một cộng đồng rộng lớn hơn.
Chúng tôi đặt tên Kaolin theo Kaolinite, một dạng plasticine thường được sử dụng để điêu khắc các mô hình 3D sau đó được số hóa. Chúng tôi hy vọng nó sẽ giúp nhiều nhà nghiên cứu 3D hiện tại và mới xây dựng những điều tuyệt vời bằng AI.
Các nhà nghiên cứu có thể tải xuống thư viện ngày hôm nay trên GitHub.
Nguồn NVidia