Khám phá U-Net, kiến trúc CNN mạnh mẽ cho semantic segmentation. Tìm hiểu các ứng dụng của nó trong y tế, ảnh vệ tinh và ảnh tự động.
U-Net là một kiến trúc chuyên biệt dành cho mạng nơ-ron tích chập (CNN) được thiết kế để thực hiện phân loại chính xác ở cấp độ pixel, được gọi là phân đoạn ngữ nghĩa . Không giống như các mô hình phân loại truyền thống chỉ gán một nhãn duy nhất cho toàn bộ hình ảnh, U-Net dự đoán một lớp cho mỗi pixel, tạo ra một bản đồ chi tiết phác thảo hình dạng và vị trí chính xác của các đối tượng. Ban đầu được phát triển để phân tích hình ảnh y sinh, U-Net đã trở thành một cấu trúc nền tảng trong lĩnh vực thị giác máy tính (CV) nhờ khả năng hoạt động hiệu quả với dữ liệu đào tạo hạn chế mà vẫn mang lại kết quả có độ phân giải cao.
Tên gọi "U-Net" bắt nguồn từ sơ đồ hình chữ U đối xứng của nó, được cải tiến từ thiết kế bộ mã hóa tự động tiêu chuẩn. Kiến trúc bao gồm ba phần chính phối hợp để trích xuất các đặc điểm và tái tạo hình ảnh bằng các mặt nạ phân đoạn chi tiết.
U-Net được giới thiệu trong bài báo quan trọng "U-Net: Mạng tích chập để phân đoạn hình ảnh y sinh" và kể từ đó đã được áp dụng cho nhiều ngành công nghiệp đòi hỏi khả năng định vị chính xác.
Trong chăm sóc sức khỏe, độ chính xác là yếu tố then chốt. U-Net được sử dụng rộng rãi trong phân tích hình ảnh y tế để tự động phát hiện các bất thường. Ví dụ, nó hỗ trợ quy trình làm việc của bác sĩ X quang bằng cách phân đoạn khối u trong ảnh chụp MRI hoặc đếm từng tế bào trong hình ảnh kính hiển vi, thúc đẩy những tiến bộ trong AI trong chăm sóc sức khỏe .
Kiến trúc cũng rất quan trọng để phân tích hình ảnh vệ tinh . Các mô hình U-Net có thể segment các loại hình che phủ đất—phân biệt giữa nước, rừng và khu vực đô thị—để track nạn phá rừng hoặc theo dõi sức khỏe cây trồng để có nền nông nghiệp thông minh .
Để hiểu được U-Net, cần phân biệt nó với các nhiệm vụ thị giác khác:
Trong khi việc triển khai U-Net thô thường liên quan đến việc viết mã dài dòng trong các khuôn khổ như PyTorch hoặc TensorFlow , các thư viện hiện đại đơn giản hóa quá trình này. Ultralytics hệ sinh thái cung cấp các mô hình phân đoạn được tối ưu hóa, tận dụng các nguyên tắc kiến trúc tương tự để mang lại hiệu suất thời gian thực.
Ví dụ sau đây cho thấy cách sử dụng mô hình phân đoạn YOLO11 được đào tạo trước để tạo mặt nạ cấp độ pixel:
from ultralytics import YOLO
# Load a pre-trained YOLO11 segmentation model
model = YOLO("yolo11n-seg.pt")
# Run inference on an image to detect and segment objects
results = model("path/to/image.jpg")
# Display the results with segmentation masks overlaid
results[0].show()
Quy trình làm việc hợp lý này cho phép các nhà phát triển tích hợp các khả năng phân đoạn phức tạp vào các ứng dụng để triển khai mô hình trên các thiết bị biên. Khi đào tạo các mô hình này trên các tập dữ liệu tùy chỉnh, việc sử dụng tăng cường dữ liệu được khuyến nghị mạnh mẽ để ngăn ngừa hiện tượng quá khớp , một thách thức thường gặp khi làm việc với các chú thích chính xác ở cấp độ pixel.