Hướng dẫn về kiến trúc U-Net và các ứng dụng
Tìm hiểu về kiến trúc U-Net, cách kiến trúc này hỗ trợ phân đoạn ảnh, các ứng dụng và tầm quan trọng của nó 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 việc phân tích dữ liệu hình ảnh. Công nghệ này đã 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 nhà máy và hỗ trợ phương tiện tự hành định hướng trên đường.
Một trong những tác vụ thị giác máy tính phổ biến nhất là phát hiện đối tượng. Tác vụ này cho phép các model định vị và nhận dạng đối tượng trong ảnh bằng BBox. Mặc dù BBox hữu ích cho nhiều ứng dụng, chúng chỉ cung cấp ước lượng sơ bộ về vị trí của đố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 có vai trò then chốt, các use case AI thị giác không chỉ phụ thuộc vào việc nhận dạng một đối tượng. Chúng thườ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 đối tượng.
Đó chính là mục tiêu của tác vụ thị giác máy tính có tên là phân đoạn. Thay vì sử dụng BBox, các model phân đoạn phát hiện đối tượng ở cấp độ pixel. Qua nhiều năm, các nhà nghiên cứu đã phát triển những model thị giác máy tính chuyên biệt cho phân đoạn.
U-Net là một trong những model như vậy. Mặc dù các model mới hơn và tiên tiến hơn đã vượt qua hiệu năng của nó, U-Net vẫn giữ một vị trí quan trọng trong lịch sử thị giác máy tính. Trong bài viết này, chúng ta sẽ tìm hiểu kỹ hơn về kiến trúc U-Net, cách thức hoạt động, các lĩnh vực đã ứng dụng nó và cách nó so sánh với những model phân đoạn hiện đại hơn hiện có.

Hình 1. Ví dụ về phân đoạn bằng model deep learning U-Net. (Nguồn)
Lịch sử của phân đoạn ảnh#
Trước khi tìm hiểu U-Net là gì, trước tiên hãy cùng tìm hiểu rõ hơn cách các model phân đoạn ảnh đã phát triển.
Ban đầu, thị giác máy tính dựa vào các kỹ thuật truyền thống như phát hiện cạnh, ngưỡng hóa hoặc phát triển vùng để tách các đối tượng trong ảnh. Những kỹ thuật này được dùng để phát hiện ranh giới đối tượng bằng các cạnh, tách vùng dựa trên cường độ pixel và nhóm các pixel tương đồng. Chúng hoạt động tốt trong những trường hợp đơn giản, nhưng thường thất bại khi ảnh có nhiễu, hình dạng chồng lấn hoặc ranh giới không rõ ràng.
Sau sự phát triển của deep learning vào 2012, các nhà nghiên cứu đã giới thiệu khái niệm mạng tích chập hoàn toàn (FCNs) vào năm 2014 cho các tác vụ như phân đoạn ngữ nghĩa. Các model này thay thế một số phần nhất định của mạng tích chập, cho phép máy tính quan sát toàn bộ ảnh cùng lúc thay vì chia ảnh thành các phần nhỏ hơn. Nhờ đó, model có thể tạo ra các bản đồ chi tiết, thể hiện rõ hơn nội dung trong ả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 FCNs, U-Net được các nhà nghiên cứu tại Đại học Freiburg giới thiệu vào năm 2015. Ban đầu, model này được thiết kế cho phân đoạn ảnh y sinh. Cụ thể, U-Net được thiết kế để hoạt động hiệu quả trong các trường hợp dữ liệu có nhãn bị hạn chế.
Trong khi đó, các phiên bản sau này như UNet++ và TransUNet đã bổ sung những cải tiến như các lớp attention và khả năng trích xuất đặc trưng tốt hơn. Các lớp attention giúp model tập trung vào những vùng quan trọng, còn khả năng trích xuất đặc trưng được cải thiện giúp nắm bắt thông tin chi tiết hơn.
U-Net là gì và các đặc trưng truyền qua model như thế nào?#
U-Net là một model deep learning được xây dựng chuyên biệt cho phân đoạn ảnh. Model nhận một ảnh làm đầu vào và tạo ra một mask phân đoạn, trong đó phân loại từng pixel theo đối tượng hoặc vùng mà pixel đó thuộc về.
Model được đặt tên theo kiến trúc hình chữ U. Kiến trúc này gồm hai phần chính: encoder nén ảnh và học các đặc trưng của ảnh, cùng decoder mở rộng ảnh trở lại kích thước ban đầu. Thiết kế này tạo ra hình chữ U đối xứng, giúp model hiểu cả cấu trúc tổng thể lẫn các chi tiết nhỏ hơn của ảnh.
Một đặc điểm quan trọng của U-Net là việc sử dụng skip connection, cho phép truyền trực tiếp thông tin từ encoder đến decoder. Nhờ đó, model có thể bảo toàn các chi tiết quan trọng có thể bị mất khi ảnh được nén.
Tổng quan về kiến trúc U-Net#
Dưới đây là khái quát về cách kiến trúc U-Net hoạt động:
- Ảnh đầu vào: U-Net bắt đầu với một ả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 ảnh.
- Giảm mẫu: Ảnh đi qua các lớp tích chập để học những đặc trưng thị giác quan trọng. Khi ảnh đi qua các lớp khác nhau, độ phân giải giảm dần và model xác định các mẫu có tính khái quát hơn.
- Lớp bottleneck: Ở trung tâm của network, các feature map đạt độ phân giải không gian nhỏ nhất trong khi vẫn nắm bắt các đặc trưng ngữ nghĩa cấp cao. Nói đơn giản, biểu diễn nén của các feature map này chính là ngữ cảnh tổng thể của đầu vào.
- Tăng mẫu: Sau đó, network tái tạo ảnh bằng cách tăng dần độ phân giải. Các phép tích chập chuyển vị giúp mở rộng feature map về gần kích thước ban đầu.
- Skip connection: Các feature map từ nhánh giảm mẫu được nối với các feature map ở nhánh tăng mẫu. Điều này giúp bảo toàn các chi tiết không gian tinh vi đồ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 mask phân đoạn theo từng pixel, có cùng kích thước với đầ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 tìm hiểu về U-Net, bạn có thể thắc mắc model này khác gì so với các model deep learning khác, 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 model có thể thực hiện các tác vụ tương tự, chúng khác nhau về cách xây dựng và cách xử lý phân đoạn.
U-Net hoạt động bằng cách xử lý ảnh ở cấp độ pixel thông qua các lớp tích chập trong cấu trúc encoder-decoder. Model thường được sử dụng cho các tác vụ yêu cầu phân đoạn chính xác, chẳng hạn như ảnh chụp y tế hoặc cảnh đường phố của xe tự hành.
Mặt khác, Vision Transformer (ViT) chia ảnh thành các patch và xử lý chúng đồng thời thông qua các cơ chế attention. Model sử dụng self-attention (một cơ chế cho phép model đánh trọng số mức độ quan trọng của các phần khác nhau trong ảnh tương quan với nhau) để nắm bắt mối quan hệ giữa các phần khác nhau của ảnh, khác với phương pháp 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 hiệu quả, nhưng rất tốt trong việc nắm bắt các mẫu phức tạp. Ngược lại, U-Net hoạt động tốt với các dataset 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.
Các ứng dụng của model U-Net#
Giờ đây, khi đã hiểu rõ hơn U-Net là gì và hoạt động như thế nào, hãy cùng khám phá cách U-Net được ứng dụng trong nhiều lĩnh vực khác nhau.
Phân đoạn xuất huyết não trong ảnh y tế#
U-Net đã trở thành một phương pháp đáng tin cậy để phân đoạn ở cấp độ pixel các ảnh y tế phức tạp, đặc biệt trong giai đoạn được nghiên cứu rộng rãi nhất. Các nhà nghiên cứu đã sử dụng model này để làm nổi bật những vùng 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 trên ảnh CT và MRI. Phương pháp này đã cải thiện đá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 model để xác định đột quỵ và xuất huyết não trong ảnh chụp y tế. Các nhà nghiên cứu có thể dùng U-Net để phân tích ảnh chụp vùng đầu và làm nổi bật những khu vực đáng lo ngại, qua đó nhanh chóng xác định các ca cần được chú ý 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à nông nghiệp, đặc biệt để phân đoạn cây trồng, cỏ dại và đất. Model giúp nông dân theo dõi sức khỏe cây trồng, ước tính sản lượng và đưa ra quyết định tốt hơn trên các trang trại quy mô 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ư hiện tượng nhòe do chuyển động trong ảnh drone, các nhà nghiên cứu đã cải tiến U-Net bằng các kỹ thuật khử nhòe ảnh. Điều này bảo đảm kết quả phân đoạn rõ ràng hơn, ngay cả khi dữ liệu được thu thập trong lúc di chuyển, chẳng hạn như trong các cuộc khảo sát trên không.

Hình 5. Tách cây trồng khỏi cỏ dại trên các cánh đồng nông nghiệp bằng U-Net. (Nguồn)
Lái xe tự hành#
Trước khi các model AI tiên tiến hơn được giới thiệu, U-Net đóng vai trò quan trọng trong việc nghiên cứu cách phân đoạn có thể cải thiện khả năng lái xe tự hành. Trong phương tiện tự hành, phân đoạn ngữ nghĩa bằng U-Net có thể phân loại từng pixel trong ảnh vào các danh mục như đường, phương tiện, người đi bộ và vạch làn đườ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ợ định hướng an toàn và ra quyết định hiệu quả.

Hình 6. Cảnh đường phố trong đó vùng có thể di chuyển được phân đoạn bằng U-Net. (Nguồn)
Ưu và nhược điểm của U-Net#
Ngay cả hiện nay, U-Net vẫn là một lựa chọn tốt cho phân đoạn ảnh trong giới nghiên cứu nhờ sự cân bằng giữa tính đơn giản, độ chính xác và khả năng thích ứng. Dưới đây là một số ưu điểm chính giúp U-Net nổi bật:
- Thích ứng với nhiều phương thức dữ liệu: U-Net đã được điều chỉnh cho nhiều loại dữ liệu khác nhau, bao gồm ảnh chụp y tế 3D, ảnh vệ tinh và cả các khung hình video.
- Suy luận nhanh khi được tối ưu hóa: Khi được tinh chỉnh phù hợp, U-Net có thể chạy hiệu quả, 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ó mặt trong các thư viện deep learning lớn và được hỗ trợ bởi một cộng đồng đông đảo gồm các developer và nhà nghiên cứu.
Mặc dù U-Net có nhiều ưu điểm, model cũng có một số hạn chế cần lưu ý. Dưới đây là những yếu tố cần cân nhắc:
- Nhạy cảm với chất lượng dữ liệu: Hiệu năng của U-Net có thể bị ảnh hưởng tiêu cực bởi dữ liệu chất lượng thấp, chẳng hạn như ảnh nhiễu hoặc độ phân giải thấp.
- Dễ overfitting với dataset nhỏ: Mặc dù U-Net hoạt động tốt với dữ liệu hạn chế, model vẫn có nguy cơ overfitting nếu không được regularization phù hợp, đặc biệt khi dataset quá nhỏ hoặc thiếu tính đa dạng.
- Tài nguyên tính toán: U-Net có thể tiêu tốn nhiều tài nguyên tính toán, đặc biệt khi làm việc với các dataset lớn, do đó cần phần cứng đáng kể để huấn luyện.
Những điểm chí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 đoạn ảnh. Model đã chứng minh rằng các model deep learning có thể mang lại kết quả chính xác với dataset nhỏ hơn, đặc biệt trong các lĩnh vực như hình ảnh y tế.
Bước độ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. Khi thị giác máy tính tiếp tục phát triển, các model phân đoạn như U-Net vẫn giữ vai trò nền tảng trong việc giúp máy móc hiểu và diễn giải dữ liệu hình ảnh 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á repository 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. Tìm hiểu cách thị giác máy tính trong 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 bán lẻ bằng cách truy cập các trang giải pháp của chúng tôi! Hãy tham gia cộng đồng đang phát triển của chúng tôi ngay hôm nay!









