Khám phá cách Neural Radiance Fields (NeRF) tổng hợp cảnh 3D từ hình ảnh 2D. Tìm hiểu cách nâng cao hiệu quả huấn luyện NeRF bằng cách sử dụng Ultralytics YOLO26 để phân đoạn chính xác.
Trường bức xạ thần kinh (Neural Radiance Fields - NeRF) đại diện cho một bước tiến đột phá trong lĩnh vực thị giác máy tính (CV) và trí tuệ nhân tạo tạo sinh , được thiết kế để tổng hợp các cảnh 3D chân thực từ một tập hợp thưa thớt các hình ảnh 2D. Không giống như các phương pháp mô hình hóa 3D truyền thống dựa trên các cấu trúc hình học rõ ràng như đa giác, lưới hoặc đám mây điểm, NeRF sử dụng mạng thần kinh (NN) để học một biểu diễn "ngầm" của một cảnh. Bằng cách ánh xạ tọa độ không gian và hướng nhìn đến các giá trị màu sắc và mật độ, NeRF có thể hiển thị các góc nhìn mới với độ chính xác vượt trội, nắm bắt chính xác các hiệu ứng hình ảnh phức tạp như phản chiếu, độ trong suốt và ánh sáng thay đổi mà thường khó tái tạo bằng phương pháp đo ảnh tiêu chuẩn.
Về bản chất, NeRF mô hình hóa một cảnh như một hàm thể tích liên tục. Hàm này thường được tham số hóa bởi một mạng học sâu (DL) kết nối đầy đủ. Quá trình bắt đầu bằng việc dò tia , trong đó các tia được chiếu từ một camera ảo xuyên qua từng pixel của mặt phẳng hình ảnh mong muốn vào không gian 3D.
Đối với các điểm được lấy mẫu dọc theo mỗi tia, mạng nơ-ron nhận đầu vào 5 chiều—bao gồm vị trí không gian 3 chiều ($x, y, z$) và hướng nhìn 2 chiều ($\theta, \phi$)—và xuất ra màu sắc phát ra và mật độ thể tích (độ mờ) tại điểm đó. Sử dụng các kỹ thuật bắt nguồn từ kết xuất thể tích , các giá trị được lấy mẫu này được tích lũy để tính toán màu sắc cuối cùng của pixel. Mạng được huấn luyện bằng cách giảm thiểu sự khác biệt giữa các pixel được kết xuất và các pixel thực tế từ dữ liệu huấn luyện ban đầu, từ đó tối ưu hóa hiệu quả trọng số của mô hình để ghi nhớ các thuộc tính hình ảnh của cảnh.
Công nghệ NeRF đã nhanh chóng chuyển đổi từ nghiên cứu học thuật sang các công cụ thực tiễn, tác động đến nhiều ngành công nghiệp bằng cách thu hẹp khoảng cách giữa nhiếp ảnh tĩnh và môi trường 3D tương tác.
Việc phân biệt NeRF với các công nghệ 3D và thị giác khác sẽ giúp hiểu rõ hơn về tiện ích cụ thể của nó.
Việc huấn luyện một mô hình NeRF chất lượng cao thường yêu cầu dữ liệu sạch. Nhiễu nền hoặc các vật thể chuyển động có thể gây ra hiện tượng "bóng mờ" trong kết quả cuối cùng. Để giảm thiểu điều này, các nhà phát triển thường sử dụng các mô hình phân đoạn đối tượng để tự động che khuất đối tượng cần quan tâm trước khi huấn luyện NeRF.
Nền tảng Ultralytics và Python API cho phép tích hợp liền mạch quá trình phân đoạn vào quy trình tiền xử lý này. Ví dụ sau đây minh họa cách sử dụng YOLO26 để tạo mặt nạ cho một tập hợp hình ảnh, chuẩn bị chúng cho quá trình tái tạo 3D.
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference to detect and segment objects
# Saving results creates masks useful for NeRF preprocessing
results = model("scene_image.jpg", save=True)
# Access the binary masks for the detected objects
masks = results[0].masks.data
print(f"Generated {len(masks)} masks for NeRF training.")
Bằng cách kết hợp độ chính xác của phân đoạn với sức mạnh tạo sinh của NeRF, các kỹ sư có thể tạo ra các quy trình mạnh mẽ để tạo dữ liệu tổng hợp , cho phép tạo ra số lượng mẫu huấn luyện không giới hạn cho các tác vụ tiếp theo.