Image Captioning – Chú thích dữ liệu hình ảnh bằng công nghệ học sâu 

Image captioning

Image Captioning (chú thích ảnh/thêm mô tả cho ảnh) là một ứng dụng thú vị và phát triển nhanh chóng của công nghệ học sâu trong những năm gần đây. Dựa trên một hình ảnh làm dữ liệu đầu vào, chú thích ảnh tạo ra văn bản ngắn gọn mô tả nội dung của bức ảnh đó. Kỹ thuật này càng trở nên đặc biệt hơn, khi nó kết hợp cả Computer Vision (thị giác máy tính) và NLP (Xử lý ngôn ngữ tự nhiên).

Chú thích ảnh hoạt động như thế nào?

Nói rộng ra, chú thích ảnh sử dụng ba thành phần chính, bao gồm: 

Bộ mã hóa đặc trưng của ảnh (Image Feature Encoder)

Thao tác này lấy ảnh nguồn làm đầu vào và biểu diễn dưới dạng mã hóa các đặc điểm thiết yếu của bức ảnh đó.

Nguồn ảnh: Towards Data Science

Tại đây, kiến trúc CNN và phương pháp transfer learning (học chuyển giao) thường được sử dụng phổ biến. Có thể kể đến một số mô hình được đào tạo từ trước, phục vụ việc phân loại ảnh như VGGNet, ResNet và Inception.

“Xương sống” của mô hình này là các khối CNN, từng bước trích xuất các đặc điểm khác nhau từ ảnh và tạo ra một tóm tắt nhỏ gọn để nắm bắt các yếu tố quan trọng nhất trong bức ảnh.

Ví dụ. Nó bắt đầu bằng cách trích xuất các dạng hình học đơn giản như đường cong và bán nguyệt trong các lớp ban đầu, tiến dần đến các cấu trúc cấp cao hơn như mũi, mắt và bàn tay, và cuối cùng xác định các yếu tố như khuôn mặt và bánh xe.

Nguồn ảnh: Towards Data Science

Trong mô hình Phân loại hình ảnh, bản tóm tắt đặc trưng (còn được gọi là feature map) sau đó được đưa đến Trình phân loại, nhằm dự đoán đầu ra cuối cùng của lớp (ví dụ: mèo hoặc ô tô) của đối tượng chính trong hình ảnh.

Khi áp dụng mô hình này cho chú thích ảnh, ta quan tâm đến việc biểu diễn bản tóm tắt đặc trưng của ảnh và không cần dự đoán phân loại. Vì vậy, các nhà phát triển thường giữ lại “xương sống” (khối CNN) và loại bỏ các lớp phân loại.

Bộ giải mã trình tự (Sequence Decoder)

Thao tác này lấy biểu diễn được mã hóa của ảnh và xuất ra một chuỗi các mã tokens mô tả bức ảnh đó.

Thông thường, đây là mô hình Recurrent Network bao gồm các lớp LSTM (Long-short term memory) được cung cấp bởi một lớp nhúng (Embedding).

Nguồn ảnh: Towards Data Science

Đầu vào của mô hình là vectơ mã hóa hình ảnh cùng mã token duy nhất: ‘Start’. Từ đây, mô hình ‘giải mã’ vector hình ảnh đầu vào và xuất ra một chuỗi các mã tokens.

Quy trình này xảy ra theo dạng vòng lặp, mã token được xuất ra sau đó được đưa trở lại mạng làm đầu vào cho lần lặp tiếp theo. Cuối cùng, mô hình trả ra mã token ‘End’ hoàn thành chuỗi.

Trình tạo câu (Sentence Generator)

Dựa vào chuỗi token trước đó, trình tạo câu sẽ xuất ra phụ đề mô tả bức ảnh theo ngôn ngữ yêu cầu.

Nó bao gồm một lớp Linear theo sau là một Softmax. Điều này dẫn đến xác suất cho mọi vựng tồn tại trong ngôn ngữ đích và cho mỗi vị trí trong chuỗi.

Xác suất này là khả năng một từ xuất hiện ở một vị trí trong câu. Sau đó, ta có thể sử dụng Greedy Search để tạo ra câu cuối cùng bằng cách chọn từ có xác suất cao nhất ở mỗi vị trí.

Nguồn ảnh: Towards Data Science

Câu sau đó được xuất ra dưới dạng chú thích dự đoán.

Hầu hết tất cả các kiến trúc Image Captioning đều sử dụng ba thành phần nêu trên. Tuy nhiên, qua nhiều năm, khuôn khổ này cũng trải qua nhiều biến chuyển và bước phát triển nhất định.

Các kiến trúc của chú thích ảnh

Kiến trúc: Encoder-Decoder

Kiến trúc học sâu phổ biến nhất cho Image Captioning đôi khi được gọi là “Inject”, kết nối trực tiếp Bộ mã hóa đặc trưng của ảnh với Bộ giải mã trình tự, tiếp theo là Bộ tạo câu, như đã mô tả ở trên.

Nguồn ảnh: Towards Data Science

Kiến trúc: Multi-Modal

Kiến trúc Inject là kiến trúc ban đầu cho Image Captioning và vẫn rất phổ biến. Tuy nhiên, một giải pháp thay thế được gọi là kiến trúc “Multi-Modal” đã được tìm thấy để tạo ra kết quả tốt hơn.

Thay vì kết nối Bộ mã hóa hình ảnh làm đầu vào của Bộ giải mã trình tự, hai thành phần này hoạt động độc lập với nhau. Nói cách khác, ta không kết hợp hai dạng thức: hình ảnh với văn bản. Mạng CNN chỉ xử lý hình ảnh và mạng LSTM chỉ hoạt động trên chuỗi token được tạo ra.

Nguồn ảnh: Towards Data Science

Đầu ra của hai mạng này sau đó được kết hợp với nhau bằng một lớp Đa phương thức (có thể là một lớp Linear và Softmax). Nó thực hiện công việc diễn giải cả hai kết quả đầu ra và sau đó, Trình tạo câu sẽ dự đoán chú thích cuối cùng.

Một ưu điểm khác của cách tiếp cận này là nó cho phép ta sử dụng transfer learning không chỉ cho Bộ mã hóa hình ảnh mà còn cho Bộ giải mã trình tự. Chúng ta có thể sử dụng mô hình ngôn ngữ được đào tạo trước cho Bộ giải mã trình tự.

Kiến trúc: Object Detection backbone 

Trước đó, ta đã nói về việc sử dụng “xương sống” từ mô hình Phân loại hình ảnh đào tạo trước cho Bộ mã hóa. Loại mô hình này giúp xác định một lớp duy nhất cho toàn bộ bức  ảnh.

Tuy nhiên, trong hầu hết các bức ảnh, bạn có thể có nhiều đối tượng quan tâm. Thay vì sử dụng Phân loại hình ảnh, tại sao không sử dụng mô hình Phát hiện đối tượng được đào tạo trước để trích xuất các đặc trưng từ ảnh?

Nguồn ảnh: Towards Data Science

Mô hình Phát hiện Đối tượng tạo ra các hộp giới hạn xung quanh tất cả các đối tượng nổi bật trong ảnh. Nó không chỉ dán nhãn nhiều đối tượng mà còn xác định vị trí tương đối của chúng trong ảnh. Do đó, nó có thể cung cấp hình ảnh được mã hóa phong phú hơn, và đây là đầu vào để Bộ giải mã trình tự sử dụng để đưa vào chú thích của tất cả các đối tượng.

Kiến trúc: Encoder-Decoder với Attention

Trong vài năm qua, việc sử dụng mô hình Attention với NLP đã thu hút được nhiều sự chú ý. Nó cho thấy khả năng cải thiện đáng kể hiệu suất của các ứng dụng NLP. Khi mô hình tạo ra từng từ của đầu ra, Attention giúp mô hình tập trung vào các từ trong chuỗi đầu vào có liên quan nhất đến từ đầu ra đó.

Do đó, không có gì ngạc nhiên khi thấy rằng Attention cũng đã được áp dụng cho Chú thích ảnh.

Khi Bộ giải mã trình tự tạo ra từng từ trong chú thích, Attention được sử dụng để giúp nó tập trung vào phần hình ảnh có liên quan nhất đến từ mà nó đang tạo.

Nguồn ảnh: Towards Data Science

Mô-đun Attention lấy vectơ hình ảnh được mã hóa cùng với mã token đầu ra hiện tại từ LSTM. Nó tạo ra Attention Score có trọng số. Khi điểm đó được kết hợp với hình ảnh, nó sẽ tăng trọng số của các pixel mà LSTM nên tập trung vào trong khi dự đoán mã token tiếp theo.

Kiến trúc: Encoder-Decoder với Transformers

Khi nói về Attention, một gã khổng lồ khác chắc chắn là Transformer. Nó xoay quanh cốt lõi của Attention và không sử dụng Recurrent Network vốn là trụ cột chính của NLP trong nhiều năm. Kiến trúc rất giống với Encoder-Decoder, song Transformer thay thế cho LSTM.

Nguồn ảnh: Towards Data Science

Một số biến thể khác nhau của kiến trúc Transformer đã được đề xuất để giải quyết bài toán Chú thích ảnh. Một cách tiếp cận mới đang cố gắng mã hóa không chỉ các đối tượng riêng lẻ trong ảnh mà còn cả các mối quan hệ không gian của chúng. Ví dụ: việc biết một đối tượng nằm dưới, phía sau hay bên cạnh một đối tượng khác sẽ cung cấp một ngữ cảnh hữu ích trong việc tạo mô tả hay chú thích.

Kiến trúc: Dense Captioning

Một biến thể khác của phương pháp tiếp cận hướng Phát hiện Đối tượng được gọi là Dense Captioning. Ý tưởng gốc rễ đằng sau kiến trúc này là: một bức ảnh thường tập hợp phong phú các đối tượng và chúng hoạt động ở các vị trí khác nhau trong bức ảnh.

Do đó, nó có thể đại diện không chỉ một chú thích đơn lẻ mà nhiều chú thích cho các vùng khác nhau của hình ảnh. Mô hình này giúp ghi lại tất cả các chi tiết trong hình ảnh.

Nguồn ảnh: Towards Data Science

Chỉ số Bleu Score

Trong quá trình đào tạo, sau khi chú thích được tạo, làm sao để quyết định xem chú thích đó tốt như thế nào? Một chỉ số phổ biến để đánh giá các mô hình Chú thích ảnh là Bleu score. Bleu score cũng được dùng nhiều cho các ứng dụng NLP khác như dịch thuật và các mô hình ngôn ngữ.

Đây là một chỉ số đơn giản, đo lường số lượng các từ liên tiếp khớp giữa chú thích được dự đoán và chú thích đúng. Nó so sánh n-gam độ dài khác nhau từ 1 đến 4 để thực hiện điều này.

Ví dụ. Chú thích dự đoán: “Một con chó đứng trên bãi cỏ xanh”. Chú thích đúng là: “Con chó đang đứng trên bãi cỏ”

Bleu score cho 1 gam = Các từ được dự đoán chính xác / Tổng số từ được dự đoán

Có ba từ được dự đoán cũng xuất hiện trong chú thích đúng nghĩa là. “Dog”, “on” và “grass”, trong tổng số sáu từ được dự đoán.

Điểm Bleu cho 1 gam (tức là các từ đơn) = 3/6 = 0,5

Bài viết liên quan

    Cảm ơn bạn đã quan tâm và ủng hộ.

    File hiện tại không thể tải xuống
    Vui lòng liên hệ hỗ trợ.

    VinOCR eKYC

    Chọn ảnh từ máy của bạn

    Chọn ảnh demo dưới đây hoặc tải ảnh lên từ máy của bạn

    Tải lên ảnh CMND/CCCD/Hộ chiếu,...

    your image
    Chọn ảnh khác
    Tiến hành xử lý

    Thông tin đã được xử lý

    Mức độ tin cậy: 0%

    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -

    Xác thực thông tin thẻ CMND/CCCD

    Vui lòng sử dụng giấy tờ thật. Hãy đảm bảo ảnh chụp không bị mờ hoặc bóng, thông tin hiển thị rõ ràng, dễ đọc.

    your image
    Chọn ảnh khác

    Ảnh mặt trước CMND/CCCD

    your image
    Chọn ảnh khác

    Ảnh mặt sau CMND/CCCD

    your image
    Chọn ảnh khác

    Ảnh chân dung

    This site is registered on wpml.org as a development site.