Trong lĩnh vực thị giác máy tính, phân vùng các đối tượng trên ảnh (image segmentation), còn được gọi là phân vùng ảnh ngữ nghĩa ảnh, là một quá trình chia một bức ảnh số thành nhiều phần (tập hợp các điểm ảnh) khác nhau, tức là phân chia ảnh thành các vùng với ngữ nghĩa khác nhau. Các vùng ngữ nghĩa đó được gán nhãn và dự đoán các đối tượng ở mức độ điểm ảnh. Mục tiêu của phân vùng ảnh ngữ nghĩa ảnh là để đơn giản hóa và hoặc thay đổi biểu diễn của một tấm ảnh để nó có ý nghĩa hơn về một mặt cụ thể nào đó và dễ dàng để phân tích hơn. Những năm gần đây, phân vùng ảnh dựa trên các kỹ thuật học sâu đã nhận được sự quan tâm rộng rãi vì cho kết quả vượt trội so với các phương pháp phân vùng ảnh cổ điển.
- Kiến trúc chung mô hình học sâu phân vùng ảnh
Các mô hình học sâu có thể học các mẫu trực quan đầu vào để dự đoán các lớp đối tượng trên các pixel tạo nên ảnh bằng các kiến trúc cơ bản bao gồm hai thành phần chính là bộ mã hóa (encoder), bộ giải mã (decoder). Hình 1.8 dưới đây minh họa một mạng học sâu cho phân vùng ảnh. Trong đó bộ mã hóa dùng để trích rút bản đồ đặc trưng (feature map) của ảnh, làm giảm chiều dữ liệu bằng việc sử dụng các lớp convolutions và các lớp poolings, bộ giải mã dùng để phục hồi lại kích thước ban đầu của ảnh.
Hình 1.8. Kiến trúc mô hình học sâu phân vùng ảnh [74]
Bộ mã hóa thường là một mạng CNN phân loại ảnh nhưng bỏ đi những lớp kết nối đầy đủ (layer fully connected) cuối cùng. Chúng ta có thể sử dụng những mạng pretrained như VGG16, MobileNet, Resnet, ... làm bộ mã hóa, còn bộ giải mã thì tùy vào các kiến trúc mô hình mà ta có thể xây dựng khác nhau. Các bộ mã hóa có khả năng tự động học các đặc trưng cấp cao thông qua quá trình downsampling từ lớp này sang lớp khác, làm giảm chiều dữ liệu. Kích thước ảnh được khôi quá trình upsampling bằng phép giải tích chập (deconvolution) của bộ giải mã.
Một số kiến trúc mạng học sâu cho phân vùng đối tượng trên ảnh nổi tiếng có thể kể ra là Mask R-CNN [26], FCN (Fully Convolutional Networks) [43], UNet [59] , DeepLab [15], SegNet [6]. Trong số các kiến trúc này thì UNet là một trong những kiến trúc được sử dụng rộng rãi để giải quyết bài toán phân vùng ngữ nghĩa trên ảnh y tế. Đây cũng là kiến trúc mạng mà luận án đã lựa chọn để giải quyết bài toán phân vùng polyp trên ảnh nội soi đại tràng. Phần dưới đây sẽ trình bày chi tiết về kiến trúc mạng này.
- Kiến trúc mạng UNet
UNet là một kiến trúc được phát triển bởi Olaf Ronneberger và các cộng sự [59] nhằm phân vùng các cấu trúc nơ ron thần kinh trong não người trên ảnh chụp bằng kính hiển vi điện tử. Unet đã và đang được sử dụng rộng rãi cho bài toán phân vùng ảnh y tế. Hình 1.9 dưới đây mô tả kiến trúc ban đầu của mạng Unet
Hình 1.9. Kiến trúc mạng UNet [59]
Mạng UNet gồm hai nhánh đối xứng nhau. Nhánh thứ nhất phía bên trái, gọi là bộ mã hóa, nhánh thứ hai phía bên phải, được gọi là bộ giải mã. Ngoài ra, UNet có các kết nối giữa bộ mã hóa và bộ giải mã
Bộ mã hóa (Encoder): Làm nhiệm vụ trích lọc đặc trưng để tìm ra bối
cảnh của ảnh. Bộ mã hóa là một mạng nơ-ron tích chập sâu để trích lọc các đặc trưng của ảnh đầu vào. Qua bộ mã hóa kích thước dài và rộng của các đầu vào ở mỗi lớp giảm dần, như trong vẽ ta thấy từ kích thước đầu vào là 572x572 chỉ còn là 32x32 ở lớp cuối cùng, đồng thời độ sâu cũng tăng dần từ 3 lên 512.
Bộ giải mã (Decoder): Gồm các lớp đối xứng tương ứng với các lớp của
bộ mã hóa. Quá trình Upsampling được áp dụng để kích thước đầu ra tăng dần qua mỗi lớp và sau cùng ta thu được một ảnh mask đánh dấu nhãn dự báo của từng điểm ảnh.
Kết nối giữa bộ mã hóa và giải mã (Skip conncection): Đặc trưng riêng
trong cấu trúc của UNet đó là áp dụng kết nối tắt giữa các lớp đối xứng ở hai nhánh bên trái và bên phải. Với các kết nối này mô hình có thể tránh được việc đạo hàm bị triệt tiêu (vanishing gradient) cũng như mang được các thông tin đặc trưng về không gian cần thiết từ các lớp ở bộ mã hóa sang bộ giải mã.