Tối ưu hoá xử lý hình ảnh với mô hình phân đoạn bất kỳ đối tượng

Giới thiệu

Transformers không chỉ được ứng dụng rộng rãi cho các trường hợp sử dụng Xử lý ngôn ngữ tự nhiên, mà còn mang lại tiềm năng lớn trong nhiều lĩnh vực khác của Trí tuệ nhân tạo như Dự đoán dữ liệu dạng chuỗi (Times Series Analysis)  hay Thị giác máy tính (CV).

Những ví dụ điển hình về các mô hình Transformers áp dụng trong thị giác máy tính bao gồm Stable Diffusion -tạo hình ảnh, Detection Transformer -nhận diện đối tượng hay gần đây nhất là SAM, mô hình tiên tiến cho phép phân đoạn hình ảnh. Một điểm đáng giá của của những mô hình này là khả năng chỉnh sửa hình ảnh chỉ bằng các lệnh văn bản đơn giản, giúp giảm thiểu đáng kể công sức và thời gian xử lý.

Các ứng dụng của loại mô hình này là vô cùng đa dạng, đặc biệt là lĩnh vực thương mại điện tử. Chẳng hạn, quy trình tốn kém và mất thời gian từ việc chụp ảnh sản phẩm đến đăng lên website bán hàng có thể được tự động hóa hoàn toàn. Thay vì phải chụp ảnh và chỉnh sửa, AI có thể đảm nhiệm phần lớn công việc này, giúp tối ưu hóa năng suất làm việc và con người chỉ cần đảm nhiệm kiểm tra kết quả cuối cùng mà AI đã thực hiện. Trong bài viết này, chúng ta sẽ cùng khám phá chi tiết về SAM, mô hình phân đoạn hình ảnh, và cách triển khai nó trong trường hợp thực tế: tiến hành thử nghiệm A/B để tìm ra loại phông nền nào có thể tối ưu hóa tỷ lệ chuyển đổi khách hàng.

Hình 1: Segment Anything Model (hình ảnh do tác giả tạo bằng DALL-E)

SAM: Mô hình phân đoạn bất kỳ đối tượng

SAM được phát triển bởi Meta, cho phép phân đoạn đối tượng trong hình ảnh thông qua các lời nhắc (prompt) dưới dạng văn bản, mặt nạ (mask), hộp giới hạn (bounding box) hoặc thậm chí chỉ là một điểm trên hình.  

Lấy cảm hứng từ những tiến bộ mới nhất trong lĩnh vực Xử lý ngôn ngữ tự nhiên, đặc biệt là từ các mô hình Ngôn ngữ lớn (LLMs) SAM hoạt động dựa trên nguyên tắc tượng tự: khi người dùng cung cấp một lệnh (prompt) không rõ ràng, mô hình vẫn có thể trả ra kết quả theo mong đợi của người dùng một cách rõ ràng và hợp lý. Với vai trò là một công cụ phân đoạn dựa trên câu lệnh (prompt), SAM có khả năng xử lý các tác vụ phân đoạn mới và ứng dụng vào nhiều trường hợp khác nhau mà không cần phải tinh chỉnh lại dữ liệu quá nhiều hoặc thậm chí không cần tinh chỉnh.

Hình 2: Kiến trúc SAM

Cấu trúc Mô hình SAM

SAM có ba thành phần chính (Hình 2)

1. Bộ mã hóa hình ảnh (Image Encoder)

Bộ mã hóa hình ảnh là một phiên bản tinh chỉnh từ mô hình  Masked AutoEncoder (MAE). MAE được đào tạo trước trên các hình ảnh được chia thành các ô vuông bằng nhau, trong đó 75% số ô bị che khuất. Sau khi xử lý hình ảnh, bộ mã hóa chỉ nhận những ô  không bị che và mã hóa chúng thành các vector đặc trưng (embedding vector). Những véc tơ này sau đó được kết hợp với các mask tokens (xác định các ô  bị thiếu cần dự đoán) và đặc trưng về vị trí (positional embeddings) trước khi được chuyển qua bộ giải mã để tái tạo lại hình ảnh ban đầu.

Hình 3: Quá trình huấn luyện mô hình MAE

Phần quan trọng nhất trong quá trình này là quyết định chọn những mảng (patches) nào sẽ bị che đi. Điều này được thực hiện bằng  phương pháp lấy mẫu ngẫu nhiên không thay thế (random sampling without replacement) kết hợp với tỷ lệ che phủ cao (75%), giúp tạo ra một đề bài phức tạp cho mô hình và không thể giải quyết chỉ bằng cách suy đoán từ các mảng lân cận có thể nhìn thấy. Vì vậy, bộ mã hóa phải học cách tạo ra các biểu diễn vector chất lượng cao của hình ảnh, nhờ đó, bộ giải mã có thể tái tạo lại hình ảnh gốc một cách chính xác.

Nhà phát triển đã tối ưu hóa bộ mã hóa hình ảnh (image encoder) để tạo ra một các đặc trưng (embedding) với độ phân giải giảm  16 lần so với  hình ảnh gốc, tạo thành kích thước 64×64 với 256 kênh.

2. Bộ mã hóa lệnh linh hoạt (Flexible Prompt Encoder)

Bộ mã hóa lời nhắc linh hoạt có bốn thành phần khác nhau, được kích hoạt tùy thuộc vào lệnh mà mô hình nhận được.

Đối với mặt nạ (masks), hình ảnh sẽ được xử lý qua một mạng nơ-ron tích chập (CNN), thu nhỏ kích thước hình hai lần bằng hệ số 4, sử dụng bộ lọc nhân (kernel) 2×2 và phép toán tích chập stride-2 với các kênh đầu ra lần lượt là 4 và 16. . Sau đó, tích chập 1×1 ánh xạ chiều kênh thành 256, sau đó được thêm từng phần tử vào đầu ra của bộ mã hóa hình ảnh. Trong trường hợp không có mặt nạ, mô hình sẽ sử dụng đặc trưng đã được đào tạo của “không có mặt nạ” (no mask) để thay thế cho đặc trưng mặt nạ.

Hình 4: Xử lý nhắc nhở mặt nạ trong kiến ​​trúc SAM
  • Điểm (Points) : Các điểm được biểu diễn thông qua đặc trưng vị trí được đào tạo nhằm xác định điểm đó thuộc đối tượng (foreground) hay thuộc nền ảnh (background).. Tọa độ của một điểm được ánh xạ vào các điểm  Fourier trước khi đưa vào Perceptron nhiều lớp, giúp cải thiện chất lượng đầu ra của hình ảnh. Như minh họa trong Hình 5, đối với các tác  vụ tái tạo hình ảnh (image regression), mô hình có thể tạo ra hình ảnh rõ nét khi sử dụng các đặc trưng Fourier.

Đối với SAM, nhà phát triển cũng áp dụng logic tương tự và tạo ra một vector 256 chiều để biểu diễn  vị trí của mỗi điểm điểm, giúp mô hình hiểu rõ hơn về vị trí của chúng trong không gian.

Hình 5: Tạo vị trí nhúng
  • Hộp (Boxes) được xử lý theo nguyên tắc tương tự như các điểm, với đặc trưng vị trí cho góc trên cùng bên trái và góc dưới cùng bên phải.. Tuy nhiên, thay vì sử dụng hai đặc trưng được đào tạo để xác định foreground hay background, mô hình sử dụng hai đặc trưng được đào tạo để xác định chính xác vị trí của góc trên cùng bên trái và góc dưới cùng bên phải của hộp.
  • Văn bản (Text)được mã hóa bằng bộ mã hóa văn bản từ CLIP, một mô hình do OpenAI phát triển. Thay vì tiếp cận theo phương pháp truyền thống với các tập hợp đối tượng cố định, CLIP được đào tạo để dự đoán bất kỳ nội dung nào có thể đi kèm hình ảnh, mang đến sự linh hoạt trong việc xử lý nhiều loại mô tả khác khác nhau. Nhờ vào cách tiếp cận này, đặc trưng văn bản được tạo bởi bộ mã hóa văn bản có thể kết hợp với đặc trưng hình ảnh để thực hiện phân loại theo phương pháp  zero-shot, dựa trên độ đo cosin giữa hai vector đặc trưng. Trong SAM, đầu ra của bộ mã hóa văn bản trong là một vector 256 chiều.
Hình 6: Bộ mã hóa văn bản và hình ảnh được đào tạo cùng nhau để tạo các phần nhúng tương tự

3. Bộ giải mã mặt nạ nhanh (Fast Mask Decoder)

Bộ giải mã mặt nạ nhanh (Fast Mask Decoder) có 2 lớp giải mã ánh xạ  đặc trưng hình ảnh và một tập hợp vector đặc trưng câu lệnh vào mặt nạ đầu ra.

Lớp giải mã nhận các mã lời nhắc làm đầu vào, sau đó xử lý chúng  qua lớp self-attention. Đầu ra sau đó được kết hợp với đặc trưng hình ảnh trong lớp cross-attention giúp cập nhật đặc trưng câu lệnh dựa trên thông tin hình ảnh. Tiếp theo, đặc trưng của câu lệnh được truyền qua Perceptron nhiều lớp, tạo ra một lớp cross-attention khác có nhiệm vụ cập nhật đặc trưng hình ảnh bằng thông tin câu lệnh. Đầu ra của lớp giải mã thứ hai, tức đặc trưng hình ảnh đã được điều chỉnh bởi các câu lệnh đầu vào,, đi qua hai lớp tích chập chuyển vị (transposed convolution) để nâng cao độ phân giải hình ảnh.

Đồng thời, đầu ra từ Perceptron nhiều lớp được kết hợp với cùng đặc trưng hình ảnh quạt lớp cross-attention mới. Điều này cung cấp đầu vào cho một Perceptron nhiều lớp có ba lớp, tạo ra một véc-tơ được kết hợp với đặc trưng hình ảnh đã được nâng cao độ phân giải bằng phép nhân từng điểm theo không gian, từ đó tạo ra mặt nạ cuối cùng.Lưu ý rằng, ở mỗi lớp attention, đặc trưng về vị trí cũng được thêm vào đặc trưng hình ảnh để cải thiện độ chính xác của quá trình.

Hình 7: Kiến trúc bộ giải mã

KẾT LUẬN 

Trong bối cảnh công nghệ đang không ngừng phát triển, các mô hình xử lý hình ảnh tiên tiến như SAM và các bộ mã hóa linh hoạt mang lại nhiều cơ hội mới cho việc tự động hóa và cải thiện quy trình làm việc. Từ việc phân đoạn hình ảnh đến tái tạo chi tiết phức tạp, cho phép doanh nghiệp tối ưu hóa quy trình, tiết kiệm thời gian và tài nguyên. Nhờ vào sự kết hợp giữa các mô hình tạo đặc trưng mạnh mẽ và kỹ thuật attention tiên tiến, các mô hình này có khả năng giải quyết nhiều bài toán phức tạp mà trước đây cần sự can thiệp thủ công.

(Nguồn: Towardsdatascience.com)
Bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu

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.