Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

U-Net

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.

Kiến trúc hình chữ U

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.

  • Đường dẫn thu gọn (Bộ mã hóa): Phía bên trái của chữ "U" hoạt động như một xương sống CNN thông thường. Nó áp dụng các phép toán tích chập và gộp lặp lại để giảm dần kích thước không gian của ảnh. Quá trình này, được gọi là giảm mẫu (downsampling ), làm tăng số lượng bản đồ đặc trưng ở mỗi lớp, cho phép mô hình học được ngữ cảnh phức tạp, cấp cao về "những gì" có trong ảnh.
  • Đường dẫn Mở rộng (Bộ giải mã): Phía bên phải của kiến trúc phản chiếu bộ mã hóa nhưng thực hiện thao tác ngược lại. Nó sử dụng các lớp tích chập lên để tăng độ phân giải của các đặc trưng trở về kích thước đầu vào ban đầu. Bước lấy mẫu này rất quan trọng để truyền ngữ cảnh đến các lớp có độ phân giải cao hơn, giúp mạng hiểu được "vị trí" của các đối tượng.
  • Kết nối Bỏ qua: Điểm đột phá của U-Net là việc sử dụng kết nối bỏ qua . Các kết nối này nối các bản đồ đặc trưng độ phân giải cao từ đường dẫn thu hẹp trực tiếp đến các lớp tương ứng trong đường dẫn mở rộng. Cơ chế này bảo toàn thông tin không gian chi tiết thường bị mất trong quá trình hạ mẫu, cho phép tạo ra các ranh giới sắc nét và chính xác.

Các Ứng dụng Thực 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.

Phân tích ảnh y tế

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 .

Giám sát không gian địa lý và vệ tinh

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 .

Phân biệt với các thuật ngữ liên quan

Để hiểu được U-Net, cần phân biệt nó với các nhiệm vụ thị giác khác:

  • U-Net so với Phát hiện đối tượng: Trong khi các mô hình phát hiện đối tượng định vị đối tượng bằng cách sử dụng hộp giới hạn hình chữ nhật, U-Net tạo ra mặt nạ hoàn hảo đến từng pixel để theo dõi đường viền chính xác của đối tượng.
  • U-Net so với Phân đoạn Thực thể: U-Net tiêu chuẩn thực hiện phân đoạn ngữ nghĩa, coi tất cả các đối tượng cùng lớp (ví dụ: tất cả xe hơi) là một vùng duy nhất. Ngược lại, phân đoạn thực thể phân biệt các đối tượng riêng lẻ cùng lớp. Các kiến trúc hiện đại như YOLO11 đã phát triển để xử lý cả nhiệm vụ phát hiện và phân đoạn với hiệu suất cao.

Phân khúc hiện đại với Ultralytics

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.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay