Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024

Hướng dẫn về kiến trúc U-Net và các ứng dụng của nó

Abirami Vina

5 phút đọc

15 tháng 7, 2025

Tìm hiểu về kiến trúc U-Net, cách nó hỗ trợ phân vùng ảnh, các ứng dụng của nó và tại sao nó lại quan trọng trong sự phát triển của thị giác máy tính.

Thị giác máy tính là một nhánh của trí tuệ nhân tạo (AI) tập trung vào phân tích dữ liệu trực quan. Nó đã mở đường cho nhiều hệ thống tiên tiến, chẳng hạn như tự động hóa quy trình kiểm tra sản phẩm trong các nhà máy và giúp xe tự hành điều hướng trên đường. 

Một trong những nhiệm vụ thị giác máy tính nổi tiếng nhất là phát hiện đối tượng. Nhiệm vụ này cho phép các mô hình định vị và xác định các đối tượng trong một hình ảnh bằng cách sử dụng hộp giới hạn. Mặc dù hộp giới hạn rất hữu ích cho nhiều ứng dụng khác nhau, nhưng chúng chỉ cung cấp ước tính sơ bộ về vị trí của một đối tượng.

Tuy nhiên, trong các lĩnh vực như chăm sóc sức khỏe, nơi độ chính xác là rất quan trọng, các trường hợp sử dụng Vision AI phụ thuộc vào nhiều yếu tố hơn là chỉ xác định một đối tượng. Thông thường, chúng cũng yêu cầu thông tin liên quan đến hình dạng và vị trí chính xác của các đối tượng.

Đó chính xác là những gì mà nhiệm vụ thị giác máy tính, phân đoạn (segmentation), được thiết kế để thực hiện. Thay vì sử dụng hộp giới hạn (bounding box), các mô hình phân đoạn phát hiện các đối tượng ở cấp độ pixel. Trong những năm qua, các nhà nghiên cứu đã phát triển các mô hình thị giác máy tính chuyên dụng cho phân đoạn.

Một mô hình như vậy là U-Net. Mặc dù các mô hình mới hơn, tiên tiến hơn đã vượt qua hiệu suất của nó, U-Net vẫn giữ một vị trí quan trọng trong lịch sử của thị giác máy tính. Trong bài viết này, chúng ta sẽ xem xét kỹ hơn về kiến trúc U-Net, cách nó hoạt động, nơi nó đã được sử dụng và cách nó so sánh với các mô hình phân đoạn hiện đại hơn có sẵn ngày nay.

Hình 1. Một ví dụ về phân vùng (segmentation) sử dụng mô hình học sâu U-Net. (Nguồn)

Lịch sử của phân đoạn hình ảnh

Trước khi đi sâu vào U-Net là gì, hãy cùng tìm hiểu rõ hơn về sự phát triển của các mô hình phân vùng ảnh (image segmentation).

Ban đầu, thị giác máy tính dựa trên các kỹ thuật truyền thống như dò cạnh, phân ngưỡng hoặc phát triển vùng để phân tách các đối tượng trong ảnh. Các kỹ thuật này được sử dụng để phát hiện ranh giới đối tượng bằng cách sử dụng các cạnh, phân tách các vùng theo cường độ pixel và nhóm các pixel tương tự. Chúng hoạt động tốt đối với các trường hợp đơn giản nhưng thường thất bại khi hình ảnh có nhiễu, hình dạng chồng chéo hoặc ranh giới không rõ ràng.

Sau sự trỗi dậy của deep learning vào năm 2012, các nhà nghiên cứu đã giới thiệu khái niệm về mạng lưới tích chập hoàn toàn (FCN) vào năm 2014 cho các tác vụ như phân vùng ngữ nghĩa (semantic segmentation). Các mô hình này đã thay thế một số phần nhất định của mạng tích chập (convolutional network) để cho phép máy tính xem toàn bộ hình ảnh cùng một lúc, thay vì chia nhỏ nó thành các phần nhỏ hơn. Điều này giúp mô hình tạo ra các bản đồ chi tiết thể hiện rõ hơn những gì có trong một hình ảnh.

Hình 2. Sự phát triển của các thuật toán phân đoạn dựa trên deep learning. (Nguồn)

Dựa trên FCN, U-Net được giới thiệu bởi các nhà nghiên cứu tại Đại học Freiburg vào năm 2015. Ban đầu nó được thiết kế để phân đoạn ảnh y sinh. Đặc biệt, U-Net được thiết kế để hoạt động tốt trong các tình huống mà dữ liệu được gắn nhãn bị hạn chế. 

Trong khi đó, các phiên bản sau này như UNet++ và TransUNet đã bổ sung các nâng cấp như lớp attention và trích xuất đặc trưng tốt hơn. Các lớp attention giúp mô hình tập trung vào các vùng quan trọng, trong khi trích xuất đặc trưng nâng cao thu thập thông tin chi tiết hơn.

U-Net là gì và các đặc trưng (features) truyền qua mô hình như thế nào?

U-Net là một mô hình deep learning được xây dựng đặc biệt cho phân vùng ảnh (image segmentation). Nó nhận một hình ảnh làm đầu vào và tạo ra một mặt nạ phân vùng (segmentation mask) để phân loại từng pixel theo đối tượng hoặc vùng mà nó thuộc về.

Mô hình này được đặt tên theo kiến trúc hình chữ U của nó. Nó bao gồm hai phần chính: một bộ mã hóa nén hình ảnh và học các đặc trưng của nó, và một bộ giải mã mở rộng nó trở lại kích thước ban đầu. Thiết kế này tạo ra một hình chữ U đối xứng, giúp mô hình hiểu cả cấu trúc tổng thể của hình ảnh và các chi tiết nhỏ hơn của nó.

Một tính năng quan trọng của U-Net là việc sử dụng các kết nối tắt (skip connections), cho phép thông tin từ bộ mã hóa được truyền trực tiếp đến bộ giải mã. Điều này có nghĩa là mô hình có thể bảo toàn các chi tiết quan trọng có thể bị mất khi hình ảnh bị nén. 

Tổng quan về kiến trúc của U-Net

Đây là cái nhìn sơ lược về cách kiến trúc của U-Net hoạt động:

  • Hình ảnh đầu vào: U-Net bắt đầu với một hình ảnh 2D, chẳng hạn như ảnh chụp y tế hoặc ảnh vệ tinh. Mục tiêu là gán nhãn lớp cho mọi pixel trong hình ảnh.

  • Downsampling (Giảm mẫu): Hình ảnh đi qua các lớp tích chập để học các đặc trưng thị giác quan trọng. Khi hình ảnh di chuyển qua các lớp khác nhau, độ phân giải của nó giảm xuống và mô hình xác định các mẫu rộng hơn.

  • Lớp thắt nút cổ chai (Bottleneck layer): Ở trung tâm của mạng, các bản đồ đặc trưng đạt đến độ phân giải không gian nhỏ nhất đồng thời nắm bắt các đặc trưng ngữ nghĩa cấp cao. Nói một cách đơn giản, biểu diễn nén của các bản đồ đặc trưng này là ngữ cảnh tổng thể của đầu vào.

  • Lấy mẫu lên: Sau đó, mạng tái tạo lại hình ảnh bằng cách tăng dần độ phân giải. Các tích chập chuyển vị giúp mở rộng các bản đồ đặc trưng trở lại kích thước ban đầu.

  • Kết nối tắt: Các bản đồ đặc trưng từ đường dẫn giảm mẫu được nối với các bản đồ trong đường dẫn tăng mẫu. Điều này giúp bảo toàn các chi tiết không gian chi tiết đồng thời tích hợp thông tin ngữ cảnh cấp cao.
  • Đầu ra là bản đồ phân đoạn: Đầu ra cuối cùng là mặt nạ phân đoạn theo từng pixel khớp với kích thước đầu vào. Mỗi pixel được phân loại vào một danh mục như đối tượng, nền hoặc vùng quan tâm.
Hình 3. Sơ đồ kiến trúc U-Net. (Nguồn)

Tìm hiểu sự khác biệt giữa ViT và U-Net

Khi bạn tìm hiểu về U-Net, bạn có thể tự hỏi nó khác với các mô hình deep learning khác như thế nào, chẳng hạn như Vision Transformer (ViT), vốn cũng có thể thực hiện các tác vụ phân đoạn. Mặc dù cả hai mô hình đều có thể thực hiện các tác vụ tương tự, nhưng chúng khác nhau về cách chúng được xây dựng và cách chúng xử lý phân đoạn.

U-Net hoạt động bằng cách xử lý hình ảnh ở cấp độ pixel thông qua các lớp tích chập trong cấu trúc bộ mã hóa-giải mã. Nó thường được sử dụng cho các tác vụ đòi hỏi phân vùng chính xác, như quét y tế hoặc cảnh xe tự lái. 

Mặt khác, Vision Transformer (ViT) chia hình ảnh thành các vùng (patch) và xử lý chúng đồng thời thông qua cơ chế attention. Nó sử dụng self-attention (một cơ chế cho phép mô hình đánh giá tầm quan trọng của các phần khác nhau của hình ảnh so với nhau) để nắm bắt cách các phần khác nhau của hình ảnh liên quan đến nhau, không giống như cách tiếp cận tích chập của U-Net.

Một điểm khác biệt quan trọng khác là ViT thường cần nhiều dữ liệu hơn để hoạt động tốt, nhưng nó rất giỏi trong việc chọn ra các mẫu phức tạp. Mặt khác, U-Net hoạt động tốt với các tập dữ liệu nhỏ hơn, huấn luyện nhanh hơn và thường yêu cầu ít thời gian huấn luyện hơn.

Ứng dụng của mô hình U-Net

Bây giờ chúng ta đã hiểu rõ hơn về U-Net là gì và cách nó hoạt động, hãy cùng khám phá cách U-Net đã được áp dụng trong các lĩnh vực khác nhau.

Phân đoạn xuất huyết não trong chẩn đoán hình ảnh y tế

U-Net đã trở thành một phương pháp đáng tin cậy để phân đoạn hình ảnh y tế phức tạp ở cấp độ pixel, đặc biệt là trong thời kỳ đỉnh cao của nó trong nghiên cứu. Nó đã được các nhà nghiên cứu sử dụng để làm nổi bật các khu vực quan trọng trong ảnh chụp y tế, chẳng hạn như khối u và dấu hiệu chảy máu bên trong trong ảnh CT và MRI. Cách tiếp cận này đã nâng cao đáng kể độ chính xác của chẩn đoán và hợp lý hóa việc phân tích dữ liệu y tế phức tạp trong môi trường nghiên cứu.

Một ví dụ về tác động của U-Net trong nghiên cứu chăm sóc sức khỏe là việc sử dụng nó để xác định đột quỵ và xuất huyết não trong các bản quét y tế. Các nhà nghiên cứu có thể sử dụng U-Net để phân tích các bản quét đầu và làm nổi bật các khu vực đáng lo ngại, cho phép xác định nhanh hơn các trường hợp cần được chăm sóc ngay lập tức.

Hình 4. Phân đoạn tổn thương do đột quỵ xuất huyết bằng 3D U-Net. (Nguồn)

Phân đoạn cây trồng trong nông nghiệp

Một lĩnh vực khác mà các nhà nghiên cứu đã sử dụng U-Net là trong nông nghiệp, đặc biệt là để phân đoạn cây trồng, cỏ dại và đất. Nó giúp nông dân theo dõi sức khỏe cây trồng, ước tính năng suất và đưa ra quyết định tốt hơn trên các trang trại lớn. Ví dụ: U-Net có thể tách cây trồng khỏi cỏ dại, giúp việc sử dụng thuốc diệt cỏ hiệu quả hơn và giảm lãng phí.

Để giải quyết các thách thức như mờ chuyển động trong ảnh chụp từ máy bay không người lái, các nhà nghiên cứu đã cải tiến U-Net bằng các kỹ thuật khử mờ ảnh. Điều này đảm bảo phân đoạn rõ ràng hơn, ngay cả khi dữ liệu được thu thập trong khi di chuyển, chẳng hạn như trong các cuộc khảo sát trên không.

Hình 5. Phân tách cây trồng khỏi cỏ dại trong các cánh đồng nông nghiệp bằng U-Net. (Nguồn)

Lái xe tự động

Trước khi các mô hình AI tiên tiến hơn được giới thiệu, U-Net đóng một vai trò quan trọng trong việc khám phá cách phân đoạn có thể tăng cường khả năng lái xe tự động. Trong xe tự hành, phân đoạn ngữ nghĩa của U-Net có thể được sử dụng để phân loại từng pixel trong hình ảnh thành các danh mục như đường, xe cộ, người đi bộ và vạch kẻ đường. Điều này cung cấp cho xe một cái nhìn rõ ràng về môi trường xung quanh, hỗ trợ điều hướng an toàn và ra quyết định hiệu quả.

Hình 6. Một cảnh đường phố nơi khu vực có thể lái xe được phân đoạn bằng U-Net. (Nguồn)

Ưu và nhược điểm của U-Net

Ngay cả ngày nay, U-Net vẫn là một lựa chọn tốt cho phân đoạn hình ảnh trong giới nghiên cứu do sự cân bằng giữa tính đơn giản, độ chính xác và khả năng thích ứng của nó. Dưới đây là một số ưu điểm chính khiến nó nổi bật:

  • Có thể điều chỉnh cho các phương thức khác nhau: U-Net đã được điều chỉnh cho các loại dữ liệu khác nhau, bao gồm quét y tế 3D, hình ảnh vệ tinh và thậm chí cả khung hình video.

  • Suy luận nhanh khi được tối ưu hóa: Khi được điều chỉnh đúng cách, U-Net có thể chạy hiệu quả, khiến nó phù hợp với các ứng dụng thời gian thực hoặc gần thời gian thực.

  • Mã nguồn mở và cộng đồng: U-Net có sẵn trên các thư viện học sâu chính và được hỗ trợ bởi một cộng đồng lớn các nhà phát triển và nhà nghiên cứu.

Mặc dù U-Net có nhiều điểm mạnh, nhưng cũng có một vài hạn chế cần lưu ý. Dưới đây là một số yếu tố cần xem xét: 

  • Dễ bị ảnh hưởng bởi chất lượng dữ liệu: Hiệu suất của U-Net có thể bị ảnh hưởng tiêu cực bởi dữ liệu chất lượng kém, chẳng hạn như hình ảnh nhiễu hoặc độ phân giải thấp.

  • Dễ bị Overfitting (Quá khớp) với các tập dữ liệu nhỏ: Mặc dù U-Net hoạt động tốt với dữ liệu hạn chế, nhưng nó vẫn có nguy cơ bị Overfitting nếu không được điều chỉnh (regularized) đúng cách, đặc biệt khi tập dữ liệu quá nhỏ hoặc thiếu tính đa dạng.

  • Tài nguyên tính toán: U-Net có thể tốn kém về mặt tính toán, đặc biệt khi làm việc với các tập dữ liệu lớn, đòi hỏi các tài nguyên phần cứng đáng kể để huấn luyện.

Những điều cần nhớ

U-Net là một cột mốc quan trọng trong quá trình phát triển của phân vùng ảnh (image segmentation). Nó chứng minh rằng các mô hình deep learning có thể mang lại kết quả chính xác khi sử dụng các bộ dữ liệu nhỏ hơn, đặc biệt trong các lĩnh vực như hình ảnh y tế. 

Đột phá này đã mở đường cho các ứng dụng tiên tiến hơn trong nhiều lĩnh vực khác nhau. Khi thị giác máy tính tiếp tục phát triển, các mô hình phân đoạn như U-Net vẫn là nền tảng trong việc cho phép máy móc hiểu và diễn giải dữ liệu trực quan với độ chính xác cao.

Bạn muốn xây dựng các dự án thị giác máy tính của riêng mình? Hãy khám phá kho lưu trữ GitHub của chúng tôi để tìm hiểu sâu hơn về AI và xem các tùy chọn cấp phép của chúng tôi. Tìm hiểu cách thị giác máy tính trong lĩnh vực chăm sóc sức khỏe đang cải thiện hiệu quả và khám phá tác động của AI trong lĩnh vực bán lẻ bằng cách truy cập các trang giải pháp của chúng tôi! Tham gia cộng đồng đang phát triển của chúng tôi ngay bây giờ!

Hãy cùng nhau xây dựng tương lai
của AI!

Bắt đầu hành trình của bạn với tương lai của học máy

Bắt đầu miễn phí
Đã sao chép liên kết vào clipboard