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 mạng nơ-ron tích chập (CNN) được thiết kế để phân vùng ảnh (image segmentation) nhanh chóng và chính xác. Ban đầu được phát triển cho phân vùng ảnh y sinh, cấu trúc hình chữ U sáng tạo của nó đã biến nó thành một mô hình nền tảng trong lĩnh vực thị giác máy tính (CV). Kiến trúc này đặc biệt hiệu quả vì nó có thể được huấn luyện end-to-end trên một số lượng tương đối nhỏ hình ảnh và vẫn tạo ra các mặt nạ phân vùng có độ chính xác cao, khiến nó trở nên lý tưởng cho các lĩnh vực mà dữ liệu khan hiếm. Bạn có thể tìm hiểu thêm về các khái niệm cốt lõi của nó trong hướng dẫn về kiến trúc U-Net và các ứng dụng của nó của chúng tôi.
Kiến trúc U-Net có tên gọi từ hình chữ U đặc biệt của nó. Nó bao gồm hai đường dẫn chính: một đường dẫn co lại (bộ mã hóa) để nắm bắt ngữ cảnh và một đường dẫn mở rộng đối xứng (bộ giải mã) cho phép định vị chính xác. Thiết kế này cho phép nó kết hợp hiệu quả thông tin ngữ cảnh cấp cao với các chi tiết không gian chi tiết.
Đường co lại (Bộ mã hóa): Đây là một mạng nơ-ron tích chập điển hình. Nó bao gồm các khối lặp lại của các hoạt động tích chập và gộp nhóm. Bộ mã hóa dần dần giảm kích thước hình ảnh, giảm kích thước không gian của nó đồng thời tăng số lượng kênh đặc trưng. Quá trình này cho phép mạng học các đặc trưng phân cấp và nắm bắt bối cảnh rộng hơn của hình ảnh.
Đường mở rộng (Bộ giải mã): Công việc của bộ giải mã là lấy biểu diễn đặc trưng nén từ bộ mã hóa và tái tạo bản đồ phân đoạn độ phân giải cao. Nó thực hiện điều này thông qua một loạt các "tích chập ngược" (hoặc tích chập chuyển vị) làm tăng kích thước không gian đồng thời giảm các kênh đặc trưng.
Kết nối tắt: Đổi mới quan trọng nhất của U-Net là việc sử dụng các kết nối tắt. Các kết nối này liên kết trực tiếp các bản đồ đặc trưng từ bộ mã hóa đến các lớp tương ứng trong bộ giải mã. Điều này cho phép bộ giải mã sử dụng lại các đặc trưng độ phân giải cao từ các lớp mã hóa ban đầu, giúp nó phục hồi các chi tiết nhỏ thường bị mất trong quá trình giảm mẫu. Sự kết hợp giữa các đặc trưng nông và sâu này là chìa khóa cho khả năng định vị chính xác của U-Net. Bài báo U-Net gốc cung cấp một phân tích kỹ thuật chi tiết.
Khả năng thực hiện phân vùng chính xác với dữ liệu hạn chế của U-Net đã dẫn đến việc nó được áp dụng trong nhiều lĩnh vực ngoài trọng tâm y tế ban đầu.
Phân tích ảnh y tế: U-Net được sử dụng rộng rãi cho các tác vụ như phân đoạn khối u trong ảnh chụp não, xác định tế bào trong ảnh hiển vi và phác thảo các cơ quan để lập kế hoạch phẫu thuật. Ví dụ: trong ứng dụng AI trong chăm sóc sức khỏe, mô hình U-Net có thể được huấn luyện trên bộ dữ liệu ảnh chụp MRI để tự động phác thảo các khối u não, giúp các bác sĩ радиолог đưa ra chẩn đoán nhanh hơn và chính xác hơn. Bạn có thể khám phá các bộ dữ liệu hình ảnh y tế công khai để xem loại dữ liệu được sử dụng.
Phân tích Ảnh Vệ tinh: Trong hệ thống thông tin địa lý (GIS), các mô hình U-Net được sử dụng để phân tích ảnh vệ tinh. Một mô hình có thể được huấn luyện để xác định và phân đoạn các loại lớp phủ đất khác nhau (rừng, vùng nước, khu vực đô thị) hoặc để lập bản đồ mạng lưới đường bộ từ ảnh chụp trên không. Điều này rất quan trọng đối với quy hoạch đô thị, giám sát môi trường và các ứng dụng trong nông nghiệp thông minh. Các dự án như sáng kiến NASA Earthdata dựa vào các công nghệ như vậy.
Mặc dù mạnh mẽ, điều quan trọng là phải phân biệt U-Net với các mô hình thị giác máy tính khác.
U-Net so với YOLO để phân đoạn: Các mô hình như Ultralytics YOLO cũng thực hiện phân đoạn ảnh. Tuy nhiên, các kiến trúc như YOLO11 chủ yếu được thiết kế để có hiệu suất thời gian thực trong các tác vụ như phát hiện đối tượng và phân đoạn thể hiện. U-Net là một kiến trúc cổ điển được biết đến với độ chính xác cao trong phân đoạn ngữ nghĩa, trong đó mọi pixel đều được phân loại, nhưng nó có thể không phù hợp với tốc độ của các mô hình hiện đại, được tối ưu hóa cao. Bạn có thể so sánh hiệu suất của các mô hình khác nhau để hiểu những sự đánh đổi này.
Phân đoạn Ngữ nghĩa so với Phân đoạn Thực thể: U-Net về cơ bản là một mô hình phân đoạn ngữ nghĩa. Nó gán một nhãn lớp cho mỗi pixel (ví dụ: "ô tô", "đường", "tòa nhà"). Ngược lại, phân đoạn thực thể phân biệt giữa các thực thể khác nhau của cùng một lớp (ví dụ: "ô tô 1", "ô tô 2"). Mặc dù kiến trúc U-Net cơ bản là dành cho phân đoạn ngữ nghĩa, nhưng các nguyên tắc của nó đã được điều chỉnh thành các mô hình phức tạp hơn, như Mask R-CNN, để thực hiện phân đoạn thực thể.
U-Net vẫn là một cột mốc quan trọng trong deep learning. Thành công của nó đã chứng minh rằng các kiến trúc phức tạp có thể đạt được kết quả tuyệt vời ngay cả khi không có bộ dữ liệu khổng lồ. Khái niệm về kết nối tắt (skip connections) có ảnh hưởng lớn và hiện là một tính năng phổ biến trong nhiều kiến trúc mạng tiên tiến, bao gồm cả những kiến trúc dựa trên Transformers.
Mặc dù U-Net vẫn là một baseline mạnh mẽ, nhiều giải pháp phân vùng hiện đại được xây dựng dựa trên các ý tưởng của nó. Đối với các nhà phát triển muốn xây dựng các ứng dụng vision của riêng mình, các nền tảng như PyTorch và TensorFlow cung cấp các công cụ để triển khai U-Net và các mô hình tương tự. Để có trải nghiệm tích hợp, không cần code, bạn có thể sử dụng Ultralytics HUB để huấn luyện các mô hình phân vùng tùy chỉnh (train custom segmentation models) trên dữ liệu của riêng bạn.