Semantic segmentation

CNN và Phân đoạn Ngữ nghĩa (Semantic Segmentation) trong Thị giác Máy tính

Giới thiệu

Phân đoạn ngữ nghĩa (Semantic Segmentation) là một trong những nhiệm vụ quan trọng và đầy thách thức trong lĩnh vực thị giác máy tính. Khác với bài toán phân loại ảnh (chỉ gán một nhãn cho toàn bộ ảnh) hay phát hiện đối tượng (xác định vị trí đối tượng bằng hộp giới hạn), phân đoạn ngữ nghĩa tiến xa hơn bằng cách phân loại từng điểm ảnh (pixel) trong hình ảnh thành một danh mục cụ thể. Độ chính xác ở cấp độ pixel này làm cho phân đoạn ngữ nghĩa trở nên thiết yếu cho các ứng dụng cần hiểu chi tiết về cảnh quan.

Phân đoạn Ngữ nghĩa là gì?

Phân đoạn ngữ nghĩa là quá trình gán nhãn lớp cho từng pixel trong một hình ảnh. Ví dụ, trong một cảnh đường phố, các pixel có thể được phân loại thành đường, người đi bộ, xe hơi, tòa nhà, cây, bầu trời hoặc các danh mục liên quan khác. Kết quả đầu ra thường là một "mặt nạ" (mask) có cùng kích thước với hình ảnh đầu vào, trong đó mỗi giá trị pixel đại diện cho một lớp.

Khác với phân đoạn thể hiện (instance segmentation) - phân biệt giữa các thể hiện cá nhân của đối tượng, phân đoạn ngữ nghĩa chỉ quan tâm đến lớp của từng pixel, không quan tâm liệu hai pixel có thuộc cùng một đối tượng vật lý hay không.

Kiến trúc CNN trong Phân đoạn Ngữ nghĩa

Mạng Tích chập Hoàn toàn (Fully Convolutional Networks - FCN)

FCN là một bước đột phá quan trọng trong phân đoạn ngữ nghĩa. Phương pháp này chuyển đổi các mạng phân loại (như VGG, ResNet) thành mô hình phân đoạn bằng cách thay thế các lớp kết nối đầy đủ (fully connected layers) bằng các lớp tích chập (convolutional layers). Điều này cho phép mạng tạo ra các bản đồ không gian thay vì chỉ đưa ra điểm số phân loại.

Các FCN sử dụng:

  • Tích chập tiêu chuẩn để trích xuất đặc trưng

  • Tích chập chuyển đổi (transposed convolution) để tăng kích thước đặc trưng

  • Skip connections để kết hợp thông tin ngữ nghĩa và không gian

Kiến trúc Encoder-Decoder

Các kiến trúc này có hai phần:

  • Encoder (Bộ mã hóa): Nắm bắt ngữ cảnh và thông tin ngữ nghĩa bằng cách giảm dần kích thước không gian

  • Decoder (Bộ giải mã): Khôi phục chi tiết không gian thông qua upsampling và kết hợp với thông tin ngữ nghĩa

Các ví dụ phổ biến bao gồm:

U-Net

U-Net là một kiến trúc encoder-decoder đặc biệt hiệu quả, được phát triển ban đầu cho phân đoạn ảnh y tế. Đặc điểm nổi bật:

  • Có kết nối trực tiếp (skip connections) giữa các lớp encoder và decoder tương ứng

  • Giúp bảo toàn thông tin không gian chi tiết

  • Cho phép truyền thông tin trực tiếp từ đặc trưng độ phân giải cao sang quá trình upsampling

  • Hình dạng chữ U đặc trưng, với đường đi xuống (encoder) và đường đi lên (decoder)

SegNet

SegNet sử dụng:

  • Chỉ số pooling từ encoder để hướng dẫn quá trình upsampling của decoder

  • Lưu vị trí pixel chính xác từ các hoạt động max-pooling

  • Sử dụng các vị trí này trong quá trình unpooling để khôi phục ranh giới đối tượng chính xác hơn

DeepLab

DeepLab là một họ các mô hình phân đoạn ngữ nghĩa tiên tiến với một số cải tiến quan trọng:

Tích chập Đục lỗ (Atrous/Dilated Convolution)

  • Mở rộng phạm vi tiếp nhận (receptive field) mà không tăng số lượng tham số

  • Cho phép mạng nắm bắt ngữ cảnh rộng hơn

  • Tạo ra các bản đồ đặc trưng chi tiết hơn bằng cách kiểm soát tốc độ downsampling

Atrous Spatial Pyramid Pooling (ASPP)

  • Áp dụng tích chập đục lỗ với các tốc độ dãn nở khác nhau

  • Nắm bắt đối tượng và ngữ cảnh ở nhiều quy mô

  • Kết hợp thông tin đa quy mô để cải thiện hiệu suất phân đoạn

DeepLabv3+

  • Kết hợp ASPP với cấu trúc encoder-decoder đơn giản

  • Cải thiện việc phân đoạn ranh giới đối tượng

  • Đạt kết quả tiên tiến trên nhiều tập dữ liệu phân đoạn ngữ nghĩa

Các Phương pháp Cải tiến

Mô-đun Chú ý (Attention Modules)

Cơ chế chú ý giúp mô hình tập trung vào các vùng quan trọng của hình ảnh:

  • Chú ý không gian (Spatial Attention): Nhấn mạnh các vị trí quan trọng

  • Chú ý kênh (Channel Attention): Đặt trọng số cho các đặc trưng có ý nghĩa

  • Self-Attention: Mô hình hóa các phụ thuộc dài hạn giữa các pixel

Học sâu đa nhiệm (Multi-task Learning)

Huấn luyện mạng cùng lúc cho nhiều nhiệm vụ liên quan:

  • Phân đoạn ngữ nghĩa

  • Ước tính độ sâu

  • Phát hiện cạnh

  • Phân loại cảnh

Cách tiếp cận này giúp mô hình học được các biểu diễn chung có lợi cho nhiều nhiệm vụ.

Các Thách thức trong Phân đoạn Ngữ nghĩa

Độ chính xác ranh giới

Một trong những thách thức lớn nhất là phân đoạn chính xác các ranh giới đối tượng. Các mô hình thường tạo ra ranh giới mờ hoặc không chính xác, đặc biệt là đối với các đối tượng nhỏ hoặc mỏng.

Các Đối tượng Đa quy mô

Các đối tượng trong hình ảnh thực tế xuất hiện ở các kích thước khác nhau. Mô hình cần có khả năng phân đoạn cả các đối tượng lớn (như tòa nhà) và các đối tượng nhỏ (như biển báo giao thông).

Hiệu quả tính toán

Phân đoạn ngữ nghĩa đòi hỏi tính toán mạnh mẽ, đặc biệt là đối với ứng dụng thời gian thực như xe tự lái. Cân bằng độ chính xác và hiệu quả là một thách thức không ngừng.

Các Ứng dụng Chính

Phân đoạn ngữ nghĩa kích hoạt nhiều ứng dụng trong thế giới thực:

Xe tự hành

Giúp xe hiểu môi trường xung quanh bằng cách xác định khu vực có thể lái xe, người đi bộ, các phương tiện khác và chướng ngại vật. Phân đoạn ngữ nghĩa là thành phần quan trọng trong hệ thống cảm nhận của xe tự hành.

Phân tích hình ảnh y tế

Hỗ trợ phát hiện và phác thảo các cơ quan, khối u hoặc các cấu trúc khác trong các bản quét y tế như MRI, CT và siêu âm. U-Net đã trở thành tiêu chuẩn cho nhiều ứng dụng phân đoạn y tế.

Hình ảnh vệ tinh và hàng không

Xác định mục đích sử dụng đất, tòa nhà, đường xá, thảm thực vật và vùng nước cho quy hoạch đô thị, nông nghiệp và ứng phó với thảm họa. Phân đoạn ngữ nghĩa cho phép tạo bản đồ tự động các khu vực rộng lớn.

Thực tế tăng cường (AR)

Cho phép tương tác chính xác giữa các yếu tố ảo và thế giới thực bằng cách hiểu hình học của cảnh và ranh giới đối tượng. Điều này tạo điều kiện cho các hiệu ứng đặt đồ vật ảo một cách chính xác.

Nhiếp ảnh tính toán

Cung cấp năng lượng cho chế độ chân dung, thay thế nền và các công cụ chỉnh sửa hình ảnh đòi hỏi ranh giới đối tượng chính xác. Phân đoạn ngữ nghĩa cũng là nền tảng cho nhiều bộ lọc và hiệu ứng trên các ứng dụng truyền thông xã hội.

Kết luận

CNN đã cách mạng hóa lĩnh vực phân đoạn ngữ nghĩa, biến nó từ một nhiệm vụ khó khăn thành một công nghệ thực tế có thể triển khai trong nhiều ứng dụng thực tế. Từ các mạng FCN ban đầu đến các kiến trúc tiên tiến như U-Net, SegNet và DeepLab, mỗi tiến bộ đều đẩy ranh giới về độ chính xác và hiệu quả.

Với sự phát triển không ngừng của phân đoạn ngữ nghĩa, chúng ta có thể mong đợi các ứng dụng thú vị và đột phá hơn nữa trong lĩnh vực thị giác máy tính, từ chăm sóc sức khỏe chính xác đến tương tác người-máy mượt mà.

Last updated