1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng tách Đối tượng từ ảnh

71 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng ứng dụng tách đối tượng từ ảnh
Tác giả Nguyễn Minh Trí
Người hướng dẫn TS. Lê Hồng Hải
Trường học Đại Học Quốc Gia Hà Nội - Trường Đại Học Công Nghệ
Chuyên ngành Hệ thống thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 71
Dung lượng 21,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1 GIỚI THIỆU TỔNG QUAN (13)
    • 1.1 Đặt vấn đề (13)
    • 1.2 Lý do chọn đề tài (14)
    • 1.3 Mục tiêu nghiên cứu (15)
      • 1.3.1 Mục tiêu chính (15)
      • 1.3.2 Mục tiêu phụ (16)
    • 1.4 Bố cục khóa luận (16)
  • Chương 2 MÔ HÌNH SAM - SEGMENT ANYTHING MODEL (17)
    • 2.1 Tổng quan (17)
      • 2.1.1 Giới thiệu mô hình SAM (17)
      • 2.1.2 Hoạt động của mô hình SAM (18)
    • 2.2 Kiến trúc mô hình (20)
    • 2.3 Tập dữ liệu (21)
      • 2.3.1 Data engine (21)
      • 2.3.2 Tập dữ liệu (0)
    • 2.4 Thực nghiệm (23)
      • 2.4.1 Các bước thực hiện (23)
      • 2.4.2 Kết quả (24)
      • 2.4.3 Nhận định (28)
  • Chương 3 ỨNG DỤNG TÁCH ĐỐI TƯỢNG TỪ ẢNH (29)
    • 3.1 Tổng quan ứng dụng (29)
      • 3.1.1 Công nghệ và ngôn ngữ lập trình (29)
      • 3.1.2 Thư viện và công cụ hỗ trợ (30)
    • 3.2 Kiến trúc ứng dụng (32)
      • 3.2.1 Các thành phần (32)
      • 3.2.2 Luồng hoạt động (37)
    • 3.3 Mô tả chức năng (39)
      • 3.3.1 Tải ảnh lên ứng dụng (39)
      • 3.3.2 Xử lý ảnh và tạo masks (39)
      • 3.3.3 Chỉnh sửa đối tượng (0)
      • 3.3.4 Tải ảnh về máy (40)
      • 3.3.5 Thao tác Hộp chứa ảnh (40)
    • 3.4 Giao diện người dùng (41)
      • 3.4.1 Trang chủ (41)
      • 3.4.2 Tải ảnh lên ứng dụng (41)
      • 3.4.3 Gửi ảnh lên server (42)
      • 3.4.4 Sau khi hoàn tất xử lý (0)
      • 3.4.5 Chọn và tách đối tượng trong ảnh (43)
      • 3.4.6 Chỉnh sửa đối tượng được tách (0)
    • 3.5 Đánh giá ứng dụng (44)
      • 3.5.1 Ứng dụng đối chiếu và nhận mask để tách đối tượng (44)
      • 3.5.2 Chỉnh sửa đối tượng (52)
      • 3.5.3 Đánh giá và nhận định (64)
    • 4.1 Tóm tắt kết quả đạt được (66)
    • 4.2 Hướng phát triển (67)
      • 4.2.1 Áp dụng Matte để Tăng chất lượng tách các Chi tiết nhỏ của đối tượng (67)
      • 4.2.2 Cải tiến Ứng dụng để Tách đối tượng đúng ý người dùng hơn (68)
      • 4.2.3 Tích hợp ứng dụng với một số mô hình xử lý ảnh khác để cho ra sản phẩm hoàn thiện với đa dạng tính năng hơn (68)
    • 4.3 Tổng kết (69)
  • TÀI LIỆU THAM KHẢO (71)

Nội dung

TÓM TẮTTrong khóa luận “Xây dựng ứng dụng tách đối tượng từ ảnh”, em đã đi qua một số bài báo và nghiên cứu tổng quan về lĩnh vực xử lý ảnh, các mô hình học máy hỗtrợ phân vùng ảnh.. Chư

GIỚI THIỆU TỔNG QUAN

Đặt vấn đề

Trong thời đại công nghệ số, tách đối tượng từ hình ảnh trở thành lĩnh vực nghiên cứu quan trọng với nhiều ứng dụng thực tiễn trong y tế, giải trí và công nghiệp Việc phân tích hình ảnh y khoa, tạo hiệu ứng phim ảnh, và ứng dụng trong thực tế ảo và tăng cường đang được chú trọng Mặc dù các phương pháp truyền thống như Haar Cascade và HOG nhanh chóng, nhưng độ chính xác của chúng còn hạn chế, đặc biệt khi xử lý các đối tượng phức tạp hoặc trong điều kiện ánh sáng không thuận lợi.

Sự phát triển của các mô hình học sâu như R-CNN, YOLO và Mask R-CNN đã nâng cao đáng kể độ chính xác và hiệu quả trong nhận diện đối tượng R-CNN cải thiện khả năng phát hiện bằng cách sử dụng các vùng đề xuất và mạng CNN, nhưng vẫn tốn thời gian tính toán Trong khi đó, YOLO cho phép nhận diện đối tượng trong thời gian thực bằng cách chia hình ảnh thành lưới và dự đoán hộp giới hạn cùng lớp của đối tượng chỉ trong một lần nhìn Mask R-CNN, phiên bản mở rộng của R-CNN, không chỉ phát hiện và phân loại đối tượng mà còn tạo mặt nạ phân đoạn cho từng đối tượng, giúp phân tách rõ ràng các đối tượng trong hình ảnh.

Các mô hình học sâu đã thể hiện hiệu quả vượt trội trong việc tách người ra khỏi hình ảnh, ứng dụng này có thể được sử dụng trong nhiều lĩnh vực khác nhau Một trong những ứng dụng phổ biến là công nghệ nền xanh, cho phép thay đổi nền video hoặc hình ảnh Ngoài ra, việc tách người cũng rất hữu ích trong các ứng dụng thực tế ảo tăng cường (AR), giúp tích hợp người dùng vào các bối cảnh đa dạng.

Với sự phát triển mạnh mẽ của các mô hình học sâu, nhu cầu tách biệt nhiều loại đối tượng từ hình ảnh ngày càng gia tăng Khóa luận này hướng tới việc xây dựng một ứng dụng web sử dụng mô hình SAM (Segment Anything Model) để thực hiện nhiệm vụ này SAM, một trong những mô hình tiên tiến nhất hiện nay, áp dụng công nghệ học sâu nhằm nhận diện và phân tách các đối tượng trong hình ảnh với độ chính xác cao và tốc độ xử lý nhanh Việc tích hợp SAM vào ứng dụng tách đối tượng từ hình ảnh hứa hẹn mang lại hiệu quả cao trong việc xử lý hình ảnh.

Nghiên cứu này nhằm phát

Lý do chọn đề tài

Sử dụng trí tuệ nhân tạo trong xử lý phân vùng và nhận diện ảnh đang ngày càng phát triển và được ứng dụng rộng rãi trong nhiều lĩnh vực Qua quá trình học tập và tìm hiểu, tôi nhận thấy xu hướng này không chỉ mang lại hiệu quả cao mà còn mở ra nhiều cơ hội mới cho ngành công nghệ.

Trong thời đại số hóa hiện nay, hình ảnh và video đóng vai trò quan trọng trong cuộc sống hàng ngày Việc trích xuất thông tin từ hình ảnh, đặc biệt là tách đối tượng, có nhiều ứng dụng thiết thực trong các lĩnh vực như y tế, an ninh, giao thông và thương mại điện tử Các hệ thống nhận diện và phân loại đối tượng từ hình ảnh ngày càng trở nên phổ biến, từ việc phát hiện khối u trong ảnh y tế, nhận dạng khuôn mặt trong hệ thống an ninh, cho đến phân tích và quản lý hình ảnh sản phẩm trong thương mại điện tử.

Ứng dụng tách đối tượng từ ảnh có tiềm năng to lớn trong nhiều lĩnh vực, bao gồm y tế, an ninh, giao thông và thương mại điện tử Trong y tế, công nghệ này hỗ trợ bác sĩ chẩn đoán và điều trị bệnh qua việc tự động phát hiện và phân tích các cấu trúc giải phẫu trong ảnh MRI, CT và X-quang Đối với an ninh, nó giúp phát hiện và theo dõi các đối tượng trong hệ thống giám sát, nâng cao hiệu quả an ninh và quản lý an toàn công cộng Trong lĩnh vực giao thông, ứng dụng này cho phép nhận dạng và theo dõi phương tiện, phát hiện vi phạm giao thông và quản lý lưu lượng hiệu quả Cuối cùng, trong thương mại điện tử, nó tự động nhận diện và phân loại sản phẩm từ hình ảnh, tối ưu hóa quản lý kho hàng và nâng cao trải nghiệm mua sắm trực tuyến.

Khả năng mở rộng và ứng dụng của công nghệ tách đối tượng từ ảnh không chỉ giới hạn trong một lĩnh vực mà còn có thể áp dụng rộng rãi trong nhiều ngành công nghiệp khác nhau Việc tách và nhận diện đối tượng chính xác từ hình ảnh mang lại những giải pháp đột phá, từ phát triển hệ thống tự động hóa đến cải thiện dịch vụ hiện có.

Hình 1.1.Ứng dụng phân vùng ảnh trong Y học

Mục tiêu nghiên cứu

Mục tiêu chính của đề tài là phát triển một ứng dụng tách đối tượng tự động từ ảnh, với khả năng nhận dạng và phân tách chính xác các đối tượng trong hình ảnh một cách nhanh chóng Ứng dụng này sẽ hỗ trợ nhiều lĩnh vực như y tế, an ninh, giao thông và thương mại điện tử Để nâng cao trải nghiệm người dùng, dự án sẽ tập trung vào việc xây dựng giao diện thân thiện và tích hợp các mô hình xử lý ảnh hiệu quả.

 Phát triển một ứng dụng có khả năng tách đối tượng từ hình ảnh một cách hiệu quả và chính xác.

 Tìm hiểu và nghiên cứu về lĩnh vực xử lý ảnh: các khái niệm cơ bản, lý thuyết liên quan và các kỹ thuật phân vùng ảnh.

 Khảo sát và đánh giá các mô hình phân vùng ảnh tốt nhất hiện tại.

Vận dụng kiến thức và các phương pháp nghiên cứu đã học vào việc phát triển ứng dụng thực tiễn giúp kiểm chứng hiệu quả và khả năng ứng dụng của chúng.

Bố cục khóa luận

Khóa luận gồm 4 chương với nội dung tóm tắt như sau:

 Chương 1 Giới thiệu tổng quan: Nêu hiện trạng thực tế, lý do chọn đề tài nghiên cứu và mục tiêu nghiên cứu.

 Chương 2 Mô hình SAM (Segment Anything Model): Giới thiệu về mô hình

Segment Anything Model và thực nghiệm So sánh khả năng phân vùng ảnh với các mô hình khác.

 Chương 3 Thiết kế và triển khai ứng dụng tách đối tượng từ ảnh: Giới thiệu công cụ “Tách đối tượng từ ảnh”.

Chương 4 Kết luận: Tổng kết những kết quả đạt được từ mô hình SAM và đề xuất các hướng nghiên cứu, phát triển tiếp theo nhằm khai thác tối đa những điểm mạnh của mô hình này.

MÔ HÌNH SAM - SEGMENT ANYTHING MODEL

Tổng quan

2.1.1 Giới thiệu mô hình SAM

Mô hình phân vùng ảnh SAM (Segment Anything Model) do Meta phát triển, cung cấp hai phương pháp phân vùng khác nhau Phương pháp đầu tiên là phân vùng tương tác, cho phép người dùng hướng dẫn và tinh chỉnh quá trình phân vùng dựa trên đầu vào của họ Phương pháp này rất hữu ích cho các hình ảnh phức tạp, nơi mà các thuật toán tự động có thể gặp khó khăn trong việc xác định ranh giới đối tượng một cách chính xác Tuy nhiên, điểm cần lưu ý là phương pháp này không hoàn toàn tự động, vì nó yêu cầu sự can thiệp của người dùng.

Phương pháp phân vùng tự động cho phép chia một hình ảnh thành nhiều vùng mà không cần can thiệp của con người, sử dụng các thuật toán tính toán Mặc dù phương pháp này có khả năng phân vùng các lớp đối tượng đã được định nghĩa trước, nhưng nhược điểm lớn là cần gán nhãn thủ công cho hàng chục nghìn ví dụ trong quá trình huấn luyện Cả hai phương pháp hiện tại vẫn chưa cung cấp một giải pháp hoàn toàn tự động và chung cho việc phân vùng.

SAM là một mô hình tổng quát hóa hai lớp phương pháp phân vùng, cho phép thực hiện cả phân vùng tương tác và tự động Người dùng có thể thiết kế lời nhắc cho mô hình, mở rộng khả năng thực hiện nhiều nhiệm vụ phân vùng Đặc biệt, SAM có khả năng tổng quát hóa, giúp nó hoạt động hiệu quả với các loại đối tượng và hình ảnh mới, vượt ra ngoài những gì đã được quan sát trong quá trình huấn luyện.

Hình 2.2.Ví dụ về khả năng phân vùng của SAM

2.1.2 Hoạt động của mô hình SAM

SAM (Segment Anything Model) là một mô hình tiên tiến cho phân vùng hình ảnh, được huấn luyện trước và có khả năng tổng quát hóa tương tự như các mô hình ngôn ngữ như ChatGPT Mô hình này sử dụng các kỹ thuật định hình lời nhắc và yêu cầu một tập dữ liệu hình ảnh lớn với chú thích đầy đủ, điều này đòi hỏi nhiều công sức thủ công để xây dựng.

Nhiệm vụ phân vùng có thể được định hình thông qua việc sử dụng prompt, giúp mô hình hướng dẫn cách phân vùng đối tượng trong ảnh Các prompt này có thể bao gồm thông tin văn bản như hướng dẫn và mô tả, cũng như thông tin không gian như điểm ảnh, hộp giới hạn và mặt nạ Lệnh nhập này sẽ hỗ trợ mô hình tạo ra một mặt nạ phân vùng hợp lệ.

Mô hình này tích hợp cả ảnh và lệnh nhập làm đầu vào, khác với các mô hình truyền thống Nó yêu cầu khả năng hỗ trợ các lời nhắc linh hoạt, tính toán mặt nạ nhanh chóng trong thời gian thực và nhận biết sự mơ hồ Để đạt được điều này, mô hình được thiết kế đơn giản với ba phần: bộ mã hóa ảnh mạnh mẽ chuyển đổi ảnh thành embedding, bộ mã hóa lời nhắc mã hóa các lời nhắc, và bộ giải mã mặt nạ dự đoán các mặt nạ phân vùng.

Tập dữ liệu lớn và đa dạng là yếu tố quan trọng để mô hình đạt được độ tổng quát hóa cao Tuy nhiên, việc có được mặt nạ phân vùng lớn và chất lượng cao từ internet là rất khó khăn và tốn thời gian Để giải quyết vấn đề này, một 'công cụ dữ liệu' đã được phát triển nhằm tự động gán nhãn cho hình ảnh Nhờ vào công cụ này, tập dữ liệu SA-1B đã được tạo ra, bao gồm 11 triệu hình ảnh và hơn 1 tỷ mặt nạ, phục vụ cho việc huấn luyện mô hình.

Hình 2.3.Ba thành phần kết nối với nhau được sử dụng trong phát triển mô hình

Kiến trúc mô hình

SAM xử lý hình ảnh thông qua ba thành phần chính: Bộ mã hóa ảnh, bộ mã hóa lệnh,

Hình 2.4.Các thành phần xử lý của SAM

An image encoder utilizes a pre-trained Vision Transformer with a masked auto-encoder technique to convert images into embeddings.

The prompt encoder is designed to encode points and bounding boxes using positional encodings and text encoding through CLIP For mask prompts, it employs convolution operations and combines them with image embeddings.

Bộ giải mã mask là một thành phần nhẹ, có chức năng ánh xạ embedding hình ảnh, embedding đề xuất và một token đầu ra thành một mask Thiết kế này áp dụng biến thể của khối giải mã Transformer, sử dụng attention tự động và cross-attention hai chiều để cập nhật tất cả các embedding Sau đó, embedding hình ảnh được tăng tỷ lệ và một MLP ánh xạ đầu ra thành bộ phân loại tuyến tính, nhằm tính toán điểm tin cậy cho mặt nạ Kết quả là nó trả về nhiều đầu ra cho một đề xuất duy nhất, giúp giải quyết sự mơ hồ trong quá trình phân tích.

Tập dữ liệu

Công cụ dữ liệu được sử dụng để tạo tập dữ liệu và huấn luyện SAM, bao gồm 3 giai đoạn:

SAM được huấn luyện bằng cách sử dụng tập dữ liệu công khai, trong đó các chuyên gia gán nhãn mặt nạ thông qua công cụ chỉnh sửa của SAM Quá trình này được thực hiện lặp lại sáu lần, tạo ra tổng cộng 4,3 triệu mặt nạ cho 120 nghìn hình ảnh.

Bán tự động là phương pháp mà các chuyên gia gán nhãn các đối tượng mà SAM không nhận diện được, nhằm tăng cường tính đa dạng cho dữ liệu Quá trình này được thực hiện lặp lại năm lần, thu thập tổng cộng 10,2 triệu mặt nạ cho 300 nghìn hình ảnh.

Hệ thống hoàn toàn tự động sử dụng lưới điểm 32x32 để dự đoán mặt nạ, với mô-đun IoU chọn lọc các mặt nạ đáng tin cậy và duy nhất Hình ảnh được chia thành các phần nhỏ nhằm nâng cao chất lượng mặt nạ Tổng cộng, 11 triệu hình ảnh đã được xử lý, mang lại 1,1 tỷ mặt nạ chất lượng cao.

Hình 2.5.Ảnh mô tả bộ dữ liệu overlaid mask.

Bộ dữ liệu SA-1B chứa 11 triệu hình ảnh đa dạng với độ phân giải cao và 1,1 tỷ mặt nạ phân vùng chất lượng cao, được thu thập bằng công cụ dữ liệu Mặc dù độ phân giải trung bình của các hình ảnh là 3300x4950, chúng đã được giảm kích thước xuống còn 1500 pixel cho chiều ngắn để tiết kiệm dung lượng lưu trữ Tuy nhiên, ngay cả sau khi giảm kích thước, các hình ảnh vẫn duy trì độ phân giải cao hơn nhiều so với nhiều bộ dữ liệu hiện có.

Bộ dữ liệu chứa hơn 1,1 tỷ mặt nạ tự động tạo ra, trong đó 500 hình ảnh với khoảng 50.000 mặt nạ đã được lấy mẫu ngẫu nhiên để đánh giá chất lượng Một nhóm chuyên gia gán nhãn đã cải thiện chất lượng của các mặt nạ trong các hình ảnh này bằng cách sử dụng mô hình và công cụ chỉnh sửa Kết quả cho thấy 94% các cặp mặt nạ dự đoán tự động có IoU lớn hơn 90%, xác nhận rằng chất lượng mặt nạ là cao và mô hình có thể được huấn luyện chỉ bằng mặt nạ tự động.

So với các bộ dữ liệu phân vùng hình ảnh khác, SA-1B vượt trội với số lượng hình ảnh nhiều hơn 11 lần và số lượng mặt nạ nhiều hơn 400 lần so với Open Images, bộ dữ liệu lớn nhất hiện tại Đặc biệt, 80% hình ảnh trong SA-1B có hơn 100 mặt nạ, trong khi các bộ dữ liệu khác chỉ đạt khoảng 30% Sự phong phú về mặt nạ nhỏ trong SA-1B cũng không gây ngạc nhiên, do số lượng mặt nạ tổng thể lớn hơn.

Thực nghiệm

Để đánh giá hiệu quả của chất lượng phân vùng ảnh của SAM, tôi đã sử dụng mô hình YOLOv8 để so sánh độ đa dạng và số lượng nhận diện đối tượng trong ảnh Cả hai mô hình đều thực hiện tiến trình “Phân vùng đối tượng” (Instance Segmentation), vì vậy tôi đã tiến hành thử nghiệm với một mẫu ảnh và so sánh kết quả từ SAM và YOLOv8 Các mẫu ảnh thử được lựa chọn đa dạng, bao gồm chân dung, phong cảnh và tranh vẽ, nhằm đánh giá một cách trực quan nhất.

Hai mô hình được thực hiện bằng Notebook, triển khai trên ứng dụng Google Colab yêu cầu cấu hình:

Để đảm bảo hiệu suất tối ưu trong việc xử lý các tác vụ phân vùng đối tượng, yêu cầu phần cứng tối thiểu là GPU với bộ nhớ tối thiểu 8GB, chẳng hạn như NVIDIA GTX.

Card đồ họa 1080 Ti giúp tăng tốc độ xử lý, đặc biệt khi làm việc với các mô hình deep learning lớn và phức tạp Một CPU đa nhân mạnh mẽ sẽ hỗ trợ xử lý các tác vụ không thể thực hiện trên GPU, từ đó giảm thiểu thời gian chờ Ngoài ra, RAM tối thiểu 16GB là cần thiết để đảm bảo đủ bộ nhớ cho việc tải và xử lý các mô hình.

Để đảm bảo hiệu suất tối ưu khi sử dụng phần mềm, yêu cầu hệ thống bao gồm Python phiên bản 3.8 trở lên, giúp bạn truy cập các thư viện và tính năng mới nhất Nếu bạn sử dụng GPU NVIDIA, cần cài đặt CUDA phiên bản 11.1 hoặc cao hơn để tận dụng sức mạnh của GPU cho việc tăng tốc độ tính toán, lưu ý rằng phiên bản CUDA phải tương thích với PyTorch Ngoài ra, bạn cần cài đặt các thư viện cần thiết như PyTorch, OpenCV và các thư viện đặc thù cho từng mô hình như SAM và YOLOv8.

- Tiến hành cài đặt: thực hiển các lệnh sau để tải về các gói cần thiết o pip install ultralytics o pip install segment-anything o pip install opencv-python-headless

Chuẩn bị dữ liệu bao gồm 6 hình ảnh định dạng JPG/PNG/JPEG với các nội dung đa dạng: ảnh hỗn hợp, ảnh chân dung, ảnh phương tiện, tranh vẽ, cảnh thiên nhiên và bảng chữ Nôm.

Hình 2.6.Ảnh mô tả bộ dữ liệu overlaid mask.

Kết quả phân vùng với YOLOv8 (hình bên trái), SAM (hình bên phải), như sau:

Hình 2.7.Kết quả phân vùng ảnh hỗn hợp.

YOLOv8 có khả năng phân vùng các đối tượng gần gũi và phổ biến trong những bức ảnh chứa nhiều chi tiết hỗn hợp như con người, động vật và xe cộ, trong khi SAM lại cung cấp khả năng phân vùng chi tiết và toàn diện hơn.

Hình 2.8.Kết quả phân vùng ảnh chân dung.

Với ảnh chân dung, SAM cho ra các mask về các bộ phận trên khuôn mặt, YOLOv8 nhận diện và cho ra mask duy nhất của người trong ảnh

Hình 2.9.Kết quả phân vùng ảnh phương tiện

Cả SAM và YOLOv8 đều phân vùng hiệu quả với ảnh phương tiện giao thông đường phố

Hình 2.10.Kết quả phân vùng tranh vẽ

Tuy nhiên, với ảnh test là tranh vẽ, YOLOv8 không thể phân vùng các đối tượng trong ảnh

Hình 2.11.Kết quả phân vùng bảng chữ Nôm.

YOLO v8 hiện tại chưa có khả năng nhận diện bộ chữ cái và không thể tạo mask cho các ký tự trong hình ảnh Điều này làm hạn chế khả năng áp dụng của YOLO v8 trong các bài toán cần nhận diện và phân tách các ký tự riêng lẻ từ ảnh.

Hình 2.12.Kết quả phân vùng cảnh thiên nhiên

SAM thể hiện khả năng phân vùng mạnh mẽ với độ chính xác cao cho nhiều loại đối tượng từ các hình ảnh đa dạng Mô hình này có khả năng phân vùng tốt trong nhiều bối cảnh, từ đơn giản đến phức tạp Ngược lại, YOLOv8 có thể gặp khó khăn trong các tình huống phức tạp hoặc khi xử lý các đối tượng chưa được huấn luyện Do đó, để tách đối tượng từ ảnh một cách chi tiết mà không cần huấn luyện trước, SAM là lựa chọn tối ưu giúp tiết kiệm thời gian và tài nguyên máy.

ỨNG DỤNG TÁCH ĐỐI TƯỢNG TỪ ẢNH

Tổng quan ứng dụng

Ứng dụng tách đối tượng từ ảnh là công cụ tiên tiến trong xử lý hình ảnh, giúp tự động phân vùng và nhận diện các đối tượng một cách chi tiết và chính xác Với mô hình SAM (Segment Anything Model), ứng dụng này không cần dữ liệu huấn luyện đặc thù, cho phép người dùng nhanh chóng phân tích và tách riêng các đối tượng từ nhiều loại hình ảnh và bối cảnh khác nhau Điều này tối ưu hóa thời gian, tài nguyên và nâng cao hiệu quả trong các lĩnh vực như y tế, giám sát an ninh, và phân tích dữ liệu.

3.1.1 Công nghệ và ngôn ngữ lập trình

Python là ngôn ngữ lập trình chủ yếu được sử dụng cho phần backend của ứng dụng nhờ vào tính linh hoạt và dễ đọc Hệ sinh thái phong phú của Python với các thư viện hỗ trợ xử lý ảnh và học máy như TensorFlow, PyTorch và OpenCV khiến nó trở thành lựa chọn hàng đầu cho các nhà phát triển.

Flask là một microframework lý tưởng cho backend, giúp xây dựng API RESTful nhanh chóng và dễ dàng Với sự đơn giản, nhẹ nhàng và khả năng mở rộng linh hoạt, Flask phù hợp cho các dự án từ nhỏ đến trung bình Nó hỗ trợ kết nối cơ sở dữ liệu, xử lý yêu cầu HTTP và quản lý phiên làm việc của người dùng một cách hiệu quả.

ReactJS là một thư viện JavaScript phổ biến cho phát triển frontend, giúp tạo ra các giao diện người dùng động và phản hồi nhanh Với khả năng xây dựng các thành phần UI có thể tái sử dụng, ReactJS không chỉ giảm thiểu mã nguồn mà còn nâng cao hiệu suất của ứng dụng.

JavaScript là ngôn ngữ lập trình chủ yếu cho phần frontend, cho phép tạo ra các tương tác động trên trang web thông qua việc xử lý sự kiện, thao tác DOM và gọi API Kết hợp với ReactJS, JavaScript giúp xây dựng các ứng dụng web hiệu quả và mạnh mẽ.

Sự kết hợp giữa Python, Flask, ReactJS, HTML/CSS và JavaScript giúp ứng dụng hoạt động hiệu quả và mượt mà, đáp ứng tốt nhu cầu người dùng Python và Flask cung cấp khả năng xử lý dữ liệu mạnh mẽ ở backend, trong khi ReactJS, HTML/CSS và JavaScript tạo ra trải nghiệm người dùng hiện đại và thân thiện ở frontend.

3.1.2 Thư viện và công cụ hỗ trợ

React là một thư viện JavaScript mã nguồn mở được Facebook phát triển, giúp xây dựng giao diện người dùng tương tác một cách hiệu quả Với kiến trúc dựa trên component, React cho phép tạo ra các thành phần UI có thể tái sử dụng và dễ dàng quản lý.

Axios là một thư viện JavaScript mạnh mẽ giúp thực hiện các yêu cầu HTTP từ frontend đến backend, hỗ trợ gửi và nhận dữ liệu JSON Đối tượng response trong Axios chứa các thông tin phản hồi từ server, bao gồm dữ liệu, mã trạng thái, tiêu đề và cấu hình của yêu cầu ban đầu Bên cạnh đó, Axios cũng cung cấp các cơ chế xử lý lỗi hiệu quả khi yêu cầu không thành công, cho phép người dùng quản lý các lỗi cụ thể dựa trên mã trạng thái HTTP hoặc lỗi mạng.

React là lựa chọn hàng đầu cho ứng dụng tách đối tượng từ ảnh nhờ vào khả năng xử lý nhanh chóng các thay đổi giao diện theo thời gian thực, khả năng tích hợp tốt với các thư viện khác, cùng với môi trường phát triển mạnh mẽ và linh hoạt cho các ứng dụng web phức tạp.

Flask là framework chính để xây dựng API và xử lý yêu cầu từ client, cung cấp nền tảng nhẹ và linh hoạt cho các ứng dụng web mạnh mẽ mà không cần cấu hình phức tạp Với Flask, việc tạo route, xử lý yêu cầu HTTP và quản lý phiên làm việc của người dùng trở nên đơn giản và hiệu quả.

Werkzeug là một công cụ quan trọng đi kèm với Flask, giúp xử lý tệp tin và bảo mật các tệp tin tải lên Nó cung cấp các tiện ích như quản lý yêu cầu HTTP, xử lý tệp tin tải lên an toàn và các công cụ bảo mật khác, đảm bảo tính toàn vẹn cho ứng dụng.

Flask-CORS là một thư viện mở rộng cho Flask, cho phép xử lý các yêu cầu CORS (Cross-Origin Resource Sharing) Việc này rất cần thiết khi frontend và backend của ứng dụng hoạt động trên các miền khác nhau Flask-CORS giúp đảm bảo rằng ứng dụng có khả năng nhận và xử lý các yêu cầu từ nhiều nguồn gốc khác nhau mà không gặp phải vấn đề về bảo mật.

Pillow là một thư viện mạnh mẽ trong Python, cho phép người dùng đọc, ghi và thao tác với các tệp tin hình ảnh Thư viện này hỗ trợ nhiều định dạng ảnh khác nhau và cung cấp các công cụ hữu ích để thay đổi kích thước, cắt xén và xử lý các hiệu ứng hình ảnh một cách dễ dàng.

Pandas là một thư viện phân tích dữ liệu mạnh mẽ, lý tưởng cho việc xử lý các tệp CSV và quản lý dữ liệu Thư viện này cho phép người dùng đọc, viết và thao tác với dữ liệu một cách hiệu quả, giúp xử lý và phân tích các tập dữ liệu lớn một cách dễ dàng và nhanh chóng.

Diffusers là thư viện của Hugging Face, được thiết kế để chạy mô hình Stable Diffusion Inpainting, hỗ trợ xử lý và nâng cao hình ảnh Thư viện này cung cấp các công cụ và mô hình tiên tiến, giúp tạo ra hình ảnh chất lượng cao từ các đoạn văn bản mô tả.

Kiến trúc ứng dụng

- Upload Image (Tải lên hình ảnh): o Chức năng: Cho phép người dùng tải lên hình ảnh.

 Cung cấp nút tải lên hoặc khu vực kéo và thả.

 Gửi tệp hình ảnh đã chọn đến API backend để xử lý.

- Display Image (Hiển thị hình ảnh): o Chức năng: Hiển thị hình ảnh đã tải lên cho người dùng. o Triển khai:

 Truy xuất hình ảnh từ backend sau khi tải lên.

 Hiển thị hình ảnh trên màn hình.

- Mask Selection (Chọn mặt nạ): o Chức năng: Cho phép người dùng chọn các mặt nạ phân vùng từ hình ảnh. o Triển khai:

 Hiển thị các mặt nạ có sẵn cho hình ảnh đã tải lên.

 Cho phép người dùng chọn mặt nạ muốn áp dụng.

- Enhance Image (Nâng cao hình ảnh): o Chức năng: Cho phép người dùng nhập prompt và sử dụng mô hình học sâu để nâng cao hình ảnh. o Triển khai:

 Cung cấp trường nhập văn bản cho prompt.

 Gửi prompt và các khu vực đã chọn đến backend để xử lý.

 Hiển thị hình ảnh nâng cao sau khi xử lý xong.

- Download and View (Tải xuống và xem): o Chức năng: Cho phép người dùng tải về hoặc xem hình ảnh đã được xử lý. o Triển khai:

 Cung cấp nút tải xuống cho hình ảnh đã xử lý.

 Cho phép xem trực tiếp hình ảnh đã nâng cao trên trình duyệt.

3.2.1.2 Back-end o Chức năng: Xử lý việc tải lên và lưu trữ hình ảnh từ người dùng. o Triển khai:

 Chấp nhận tệp hình ảnh thông qua một điểm cuối API.

 Xác thực loại và kích thước tệp.

 Lưu hình ảnh vào một vị trí lưu trữ được chỉ định

 Trả về một mã định danh duy nhất cho hình ảnh đã tải lên.

- Mask Generation (Tạo mặt nạ): o Chức năng: Chạy script để tạo các mặt nạ phân vùng từ hình ảnh đã tải lên. o Triển khai:

 Kích hoạt script tạo mặt nạ ngay sau khi hình ảnh được tải lên thành công.

 Xử lý hình ảnh để xác định các vùng khác nhau.

 Lưu các mặt nạ đã tạo dưới dạng có thể dễ dàng truy xuất và sử dụng sau này.

- Apply Mask (Áp dụng mặt nạ): o Chức năng: Áp dụng mặt nạ đã tạo lên hình ảnh gốc để tạo ra hình ảnh phân vùng. o Triển khai:

 Truy xuất hình ảnh gốc và mặt nạ tương ứng.

 Kết hợp chúng để tạo ra hình ảnh đã phân vùng.

 Lưu hình ảnh kết quả để tiếp tục xử lý hoặc tải xuống.

Stable Diffusion Inpainting là một công cụ chỉnh sửa ảnh mạnh mẽ, cho phép người dùng nâng cao hình ảnh bằng cách sử dụng mô hình học sâu để tô vẽ lại các phần của hình ảnh theo yêu cầu Chức năng này giúp cải thiện chất lượng hình ảnh, mang lại kết quả ấn tượng và đáp ứng nhu cầu sáng tạo của người dùng.

 Tải mô hình Stable Diffusion.

 Áp dụng mô hình vào các khu vực được chỉ định bởi người dùng.

 Tạo ra phiên bản nâng cao của hình ảnh.

 Lưu hình ảnh đã nâng cao để xem hoặc tải xuống.

- API Endpoints (Các điểm cuối API): o Chức năng: Cung cấp các API cho frontend để tương tác với các chức năng của backend. o Triển khai:

 Tạo các điểm cuối cho việc tải lên hình ảnh, tạo mặt nạ, áp dụng mặt nạ, và nâng cao hình ảnh

 Đảm bảo mỗi điểm cuối xử lý các yêu cầu một cách phù hợp và trả về dữ liệu cần thiết.

Kiến trúc ứng dụng được thiết kế chi tiết, với sự phối hợp nhịp nhàng giữa các thành phần front-end và back-end, đảm bảo quá trình xử lý hình ảnh diễn ra suôn sẻ Front-end chú trọng vào việc tạo ra giao diện người dùng thân thiện, cho phép người dùng dễ dàng tải lên, hiển thị, chọn masks, nâng cao và tải xuống hình ảnh.

Back-end đóng vai trò quan trọng trong việc xử lý các yêu cầu từ front-end, bao gồm lưu trữ hình ảnh, tạo và áp dụng mặt nạ, cũng như cải thiện hình ảnh thông qua các mô hình học sâu.

Kiến trúc ứng dụng không chỉ mang lại hiệu suất và tính ổn định mà còn tạo điều kiện cho người dùng thể hiện sự sáng tạo và tùy chỉnh Người dùng có thể thực hiện các thao tác từ chỉnh sửa hình ảnh đơn giản đến những tác vụ phức tạp như tạo và áp dụng mặt nạ phân vùng, cũng như nâng cao hình ảnh thông qua mô hình học sâu.

Hình 3.13.Luồng hoạt động của việc tải ảnh lên

3.2.2.2 Tách đối tượng từ ảnh

Hình 3.14.Luồng hoạt động của việc tách đối tượng từ ảnh

3.2.2.3 Tải ảnh đối tượng được tách

Hình 3.15.Luồng hoạt động của tải ảnh đối tượng bị tách

Hình 3.16.Luồng hoạt động của chỉnh sửa đối tượng

3.2.2.5 Tải ảnh mới sau chỉnh sửa

Hình 3.17.Luồng hoạt động của tải ảnh mới sau chỉnh sửa

Mô tả chức năng

3.3.1 Tải ảnh lên ứng dụng

3.3.1.1 Người dùng ấn hoặc kéo thả ảnh vào vùng chọn

 Chức năng: Nhập ảnh vào ứng dụng.

Người dùng có thể dễ dàng chọn file ảnh từ máy tính bằng cách nhấn nút hoặc thực hiện thao tác kéo và thả ảnh trực tiếp vào khu vực được chỉ định trên giao diện ứng dụng.

 Thành phần xử lý: Frontend - Upload image

3.3.1.2 Người dùng nhấn nút “Upload to Server”

 Chức năng: Tải lên và xử lý ảnh trên máy chủ.

Ảnh được tải lên máy chủ để xử lý và tạo ra các mặt nạ, sau đó URL của ảnh đã được xử lý sẽ được trả về và hiển thị trên ứng dụng.

 Thành phần xử lý: Frontend - Handle upload, Backend - Upload file

3.3.2 Xử lý ảnh và tạo masks

3.3.2.1 Người dùng click vào các phần khác nhau của ảnh

 Chức năng: Chọn và áp dụng mask

Người dùng có thể chọn mask bằng cách nhấp vào các khu vực khác nhau trên ảnh Mask đã chọn sẽ được hiển thị bằng một hộp bao quanh, và hình ảnh sẽ được cắt dựa trên mask này.

 Thành phần xử lý: Frontend - Handle mouse click, Draw bounding box,Backend - Fetch metadata, Apply mask

 Chức năng: Cải tiến hình ảnh bằng mô hình Stable Diffusion.

Người dùng có thể nhập một đoạn văn bản để cải tiến hình ảnh đã cắt Hình ảnh sau khi được xử lý sẽ được hiển thị ngay trên giao diện ứng dụng, mang lại trải nghiệm trực quan và tiện lợi.

 Thành phần xử lý: Frontend - Handle Stable Diffusion, Backend - Stable diffusion

3.3.4.1 Người dùng nhấn nút Download để tải xuống hình ảnh

 Chức năng: Tải xuống hình ảnh đã cắt hoặc đã cải tiến.

 Mô tả: Người dùng có thể tải xuống hình ảnh đã cắt hoặc đã cải tiến về máy tính của mình.

 Thành phần xử lý: Frontend - Handle download.

3.3.5 Thao tác Hộp chứa ảnh

3.3.5.1 Người dùng kéo và thả hộp chứa đối tượng tách và ảnh đã chỉnh sửa

 Chức năng: Di chuyển hộp chứa hình ảnh trên giao diện.

Người dùng có thể dễ dàng kéo và thả các hộp chứa hình ảnh phân vùng, giúp cải thiện khả năng di chuyển chúng đến vị trí mong muốn trên giao diện.

 Thành phần xử lý: Frontend - Handle dragging.

3.3.5.2 Nội dung hộp chứa ảnh

 Chứa các thành phần: đối tượng được tách, ảnh sau khi chỉnh sửa.

 Cung cấp các nút bấm Download (tải ảnh), View(xem ảnh) và Enhance (nâng cấp ảnh).

Cung cấp form nhập lệnh để nhập lệnh mô tả chỉnh sửa ảnh

Giao diện người dùng được mô tả trực quan hơn ở phần giao diện người dùng sau đây

Giao diện người dùng

3.4.2 Tải ảnh lên ứng dụng

Hình 3.19.Ảnh được tải lên

Hình 3.20.Màn hình chờ xử lý ảnh

Hình 3.21.Ảnh được xử lý thành công

3.4.5 Chọn và tách đối tượng trong ảnh

Hình 3.22.Thao tác chọn và tách ảnh

Hình 3.23.Thao tác chỉnh sửa ảnh

Đánh giá ứng dụng

3.5.1 Ứng dụng đối chiếu và nhận mask để tách đối tượng Để đánh giá hiệu quả của ứng dụng khi áp dụng mô hình SAM vào tách đối tượng từ ảnh, em thực hiện thử nghiệm trên một tập hợp đa dạng các mẫu ảnh và kiểm tra chất lượng của quá trình tách đối tượng Đồng thời, các đối tượng được tách ra từ ảnh sẽ được phân tích và đánh giá dựa trên các tiêu chí cụ thể như độ chính xác, độ rõ nét của ranh giới đối tượng, và khả năng tách biệt các đối tượng trong những bối cảnh phức tạp.

Các mẫu ảnh được lựa chọn kỹ lưỡng, đảm bảo sự đa dạng về độ phức tạp của đối tượng và nền, từ hình ảnh đơn giản với nền đồng nhất đến những hình ảnh chi tiết với nền phức tạp Mục tiêu là đánh giá khả năng thích ứng của ứng dụng trong việc tính toán và tham chiếu tọa độ đến dữ liệu mask metadata đã được mô hình sinh ra.

- Sau khi nhận click chọn từ người dùng, tọa độ x,y sẽ được xử lý tính toán.

- Chọn ra vùng hộp với diện tích nhỏ nhất chứa mask nhỏ nhất tại vùng lớn được chọn.

- Sau khi chọn được mask phù hợp từ metadata, đối tượng được xử lý để tách.

Kết quả thu được sẽ giúp đánh giá ưu điểm và hạn chế của ứng dụng, đồng thời thể hiện hiệu quả hoạt động với mô hình Ưu điểm bao gồm độ chính xác cao trong việc tách các đối tượng phức tạp, khả năng xử lý nhanh chóng và tính linh hoạt trong áp dụng cho nhiều loại hình ảnh khác nhau Tuy nhiên, hạn chế có thể là độ phức tạp và thao tác chọn vùng ảnh chưa tối ưu Từ những đánh giá này, hy vọng cung cấp thông tin quan trọng để định hướng phát triển và cải thiện ứng dụng, tối ưu hóa thao tác của người dùng nhằm đạt được kết quả mong muốn.

Sau đây là mô phỏng giao diện người dùng với các hộp được sinh sau khi click chọn vùng đối tượng muốn tách và kết quả tương ứng:

Hình 3.25.Ảnh người – được tách

Ứng dụng này hiệu quả trong việc tách biệt con người và các thành phần nhỏ hơn, đảm bảo độ chính xác và độ tin cậy trong nhiều tình huống khác nhau Dưới đây là hình ảnh về phong cảnh thiên nhiên.

3.5.1.2 Ảnh phong cảnh thiên nhiên

Hình 3.26.Ảnh phong cảnh - ảnh gốc

Hình 3.27.Ảnh phong cảnh – được tách

Các chi tiết thiên nhiên, từ lớn đến nhỏ, được tách biệt với chất lượng cao, chứng minh khả năng linh hoạt của ứng dụng trong xử lý hình ảnh Những hình ảnh phức tạp về cây cối, hoa lá, động vật và các yếu tố tự nhiên khác được nhận diện và phân tách rõ ràng Điều này không chỉ khẳng định độ tin cậy của mô hình mà còn mở ra cơ hội ứng dụng trong các lĩnh vực như nông nghiệp thông minh, nghiên cứu sinh thái và bảo tồn tài nguyên thiên nhiên.

Hình 3.28.Ảnh hoạt hình - ảnh gốc

Ứng dụng nhận diện mask đã đạt được khả năng tách 80% chi tiết đối tượng trong ảnh hoạt hình, cho thấy sức mạnh xử lý ấn tượng của mô hình với hình ảnh phức tạp Mặc dù ảnh hoạt hình có đặc điểm nổi bật như màu sắc đậm và đường viền rõ ràng, ứng dụng vẫn mang lại kết quả ấn tượng Điều này không chỉ chứng minh sự linh hoạt và độ chính xác của mô hình mà còn mở ra nhiều cơ hội trong các lĩnh vực như hoạt hình, thiết kế đồ họa và sản xuất nội dung số.

Hình 3.19.Ảnh chụp Y học – được tách

Xử lý ảnh trong Y học là một yếu tố quan trọng, giúp tách biệt các chi tiết cần thiết để cải thiện chẩn đoán và điều trị Việc phân tích chính xác các vùng quan trọng trong hình ảnh y khoa như mô, tế bào và cơ quan nội tạng hỗ trợ bác sĩ phát hiện sớm bệnh lý, đưa ra chẩn đoán chính xác và theo dõi tiến triển bệnh Điều này đặc biệt quan trọng trong ung thư học, nơi phát hiện sớm khối u và theo dõi sự phát triển của chúng có thể quyết định sự sống còn của bệnh nhân Hơn nữa, trong phẫu thuật chính xác, việc xác định rõ ràng các cấu trúc giải phẫu giúp bác sĩ thực hiện thao tác chính xác hơn, giảm thiểu rủi ro và nâng cao hiệu quả điều trị.

3.5.1.5 Ảnh có chất lượng phân giải thấp

Hình 3.20.Ảnh với độ phân giải thấp - ảnh gốc

Hình ảnh có độ phân giải thấp tạo ra rào cản cho việc phân vùng và tách đối tượng, nhưng ứng dụng vẫn có khả năng nhận diện các chi tiết rõ ràng Điều này góp phần nâng cao hiệu quả làm việc với những bức ảnh chất lượng kém.

Sau khi tách đối tượng, Stable Diffusion model sẽ chạy nhiệm vụ Inpainting, dựa trên mask của đối tượng để tạo ra ảnh mới.

Stable Diffusion là mô hình học sâu tiên tiến, chuyên tạo và chỉnh sửa hình ảnh với độ chính xác và chất lượng cao Nó thuộc nhóm các mô hình Diffusion, sử dụng quá trình khuếch tán để học cách sinh ra dữ liệu Các mô hình này bắt đầu từ phân bố nhiễu ngẫu nhiên và dần dần khử nhiễu để tạo ra các mẫu hình ảnh thực tế.

Công nghệ Stable Diffusion được xây dựng trên nền tảng mô hình máy học và mạng nơ-ron sâu, đặc biệt trong lĩnh vực xử lý ngôn ngữ tự nhiên và thị giác máy tính Nó có khả năng mô phỏng và tái tạo các cấu trúc phức tạp trong hình ảnh, từ chi tiết nhỏ nhất đến tổng thể, mang lại những bức ảnh chân thực và sống động.

Các khả năng nổi bật của Stable Diffusion bao gồm:

Mô hình tạo hình ảnh từ văn bản có khả năng chuyển đổi các mô tả thành hình ảnh tương ứng Chẳng hạn, với câu mô tả "một chú mèo ngồi trên ghế sofa", Stable Diffusion có thể tạo ra một hình ảnh hoàn chỉnh phản ánh chính xác nội dung mô tả đó.

Công nghệ chỉnh sửa và biến đổi hình ảnh cho phép người dùng thay đổi các yếu tố cụ thể trong bức ảnh, như biến đổi hình ảnh của một đối tượng hoặc điều chỉnh bối cảnh, trong khi vẫn đảm bảo tính tự nhiên và sự nhất quán của hình ảnh.

Mô hình có khả năng tạo ra nhiều biến thể khác nhau của một hình ảnh, dựa trên các biến đổi ngẫu nhiên hoặc yêu cầu cụ thể từ người dùng Điều này không chỉ giúp tăng cường sự đa dạng mà còn khuyến khích sự sáng tạo trong thiết kế.

Inpainting, hay phục hồi ảnh, là một kỹ thuật quan trọng trong xử lý hình ảnh, giúp tái tạo các phần bị thiếu hoặc hỏng dựa trên ngữ cảnh xung quanh Công nghệ này được ứng dụng rộng rãi, từ phục hồi ảnh lịch sử, loại bỏ đối tượng không mong muốn, đến tạo hiệu ứng đặc biệt trong ngành giải trí Inpainting yêu cầu khả năng tái tạo chi tiết chính xác và đảm bảo sự hòa hợp tổng thể của hình ảnh.

Để xác định vùng cần chỉnh sửa trong hình ảnh, có hai phương pháp chính Đầu tiên, phát hiện tự động sử dụng các thuật toán phân tích cấu trúc, màu sắc và đặc trưng khác để nhận diện các khu vực bị thiếu hoặc hỏng Thứ hai, người dùng có thể chỉ định thủ công các vùng cần chỉnh sửa bằng cách sử dụng các công cụ vẽ hoặc chọn trực tiếp trên hình ảnh.

Tóm tắt kết quả đạt được

Trong quá trình nghiên cứu về phân vùng ảnh và mô hình Segment Anything Model (SAM), tôi đã đạt được những kết quả quan trọng và giá trị Tôi đã nắm vững các khái niệm cơ bản và kỹ thuật tiên tiến trong phân vùng ảnh, bao gồm việc chia nhỏ hình ảnh thành các vùng có ý nghĩa và ứng dụng của chúng trong nhiều lĩnh vực như y tế, an ninh và thị giác máy tính Nghiên cứu sâu về mô hình SAM đã mang lại cho tôi một cách tiếp cận mới mẻ và hiệu quả trong phân vùng ảnh, cho phép xác định và phân chia các đối tượng trong ảnh một cách tự động và chính xác, từ đó nâng cao độ chính xác và hiệu suất trong các ứng dụng thực tế.

Trong quá trình nghiên cứu, tôi đã phát triển thành công một ứng dụng tách đối tượng từ ảnh, cho phép người dùng tải lên hình ảnh và áp dụng các mặt nạ để tách biệt các đối tượng Ứng dụng sử dụng mô hình Stable Diffusion để cải thiện chất lượng hình ảnh, mang lại trải nghiệm người dùng tốt hơn với các thao tác kéo thả và chỉ báo trực quan Kết quả từ mô hình SAM giúp phân vùng và xử lý ảnh hiệu quả, tạo ra hình ảnh phân vùng chất lượng cao Ứng dụng này không chỉ có tiềm năng trong y tế, an ninh và thị giác máy tính mà còn khẳng định tính linh hoạt và thuận tiện cho người dùng Hơn nữa, việc kết hợp mô hình SAM với các kỹ thuật học sâu khác có thể mở rộng khả năng tự động nhận diện và phân loại đối tượng trong ảnh, cho thấy tiềm năng phát triển và mở rộng ứng dụng trong tương lai.

Hướng phát triển

Mặc dù đã có nhiều tiến bộ đáng kể, ứng dụng tách đối tượng từ ảnh vẫn đối mặt với những thách thức cần khắc phục Trong tương lai, có thể phát triển và cải tiến ứng dụng theo nhiều hướng khác nhau nhằm nâng cao hiệu quả và chất lượng Dưới đây là ba hướng phát triển chính.

4.2.1 Áp dụng Matte để Tăng chất lượng tách các Chi tiết nhỏ của đối tượng

- Mục tiêu: Tăng cường chất lượng của các chi tiết nhỏ, đặc biệt là các mép và viền của đối tượng được tách ra khỏi ảnh nền.

Kỹ thuật matte là phương pháp xử lý ảnh nâng cao, giúp tạo ra các mặt nạ có độ chính xác cao hơn bằng cách tách biệt đối tượng khỏi nền Phương pháp này sử dụng các thuật toán phân tích hình ảnh để xác định chính xác vùng biên của đối tượng, giữ lại các chi tiết nhỏ như tóc và lông thú Nhờ vào các công cụ như alpha blending, blue screen, và green screen, kỹ thuật matte cho phép loại bỏ nền mà không làm mất đi các chi tiết quan trọng, mang lại kết quả tối ưu trong đồ họa máy tính và làm phim.

Kỹ thuật matte mang lại nhiều lợi ích, bao gồm việc cải thiện đáng kể chất lượng hình ảnh đầu ra, giúp sản phẩm cuối cùng trở nên sắc nét và chính xác hơn, đặc biệt khi làm việc với hình ảnh có nhiều chi tiết nhỏ Kỹ thuật này giảm thiểu các lỗi phổ biến khi tách nền, như viền trắng (halo effect) và các vùng bị cắt xén không chính xác Điều này cực kỳ quan trọng trong các lĩnh vực yêu cầu độ chính xác cao như thiết kế đồ họa, sản xuất phim và video, cũng như trong các ứng dụng y tế.

Hình 4.30.Matte giúp xử lý các chi tiết nhỏ

4.2.2 Cải tiến Ứng dụng để Tách đối tượng đúng ý người dùng hơn

- Mục tiêu: Nâng cao khả năng tách đối tượng chính xác theo mong muốn của người dùng.

Phương pháp này tích hợp các thuật toán học sâu tiên tiến nhằm cải thiện khả năng hiểu và dự đoán chính xác khu vực mà người dùng muốn tách Đồng thời, nó cũng áp dụng các giao diện tương tác người dùng thân thiện hơn, như công cụ vẽ trực tiếp lên ảnh, để giúp người dùng dễ dàng chỉ định vùng cần tách.

Người dùng sẽ trải nghiệm tương tác trực quan hơn với ứng dụng, giúp đạt được kết quả tách đối tượng nhanh chóng và chính xác, đồng thời giảm thiểu sự phụ thuộc vào các thao tác phức tạp.

4.2.3 Tích hợp ứng dụng với một số mô hình xử lý ảnh khác để cho ra sản phẩm hoàn thiện với đa dạng tính năng hơn

- Mục tiêu: Tạo ra một ứng dụng xử lý ảnh toàn diện với nhiều tính năng hữu ích hơn.

Phương pháp tích hợp các mô hình xử lý ảnh bao gồm Super Resolution để nâng cao độ phân giải của ảnh sau khi tách, Image Inpainting nhằm hoàn thiện các phần bị thiếu trong ảnh, và Colorization để tô màu cho ảnh đen trắng hoặc cải thiện màu sắc cho ảnh hiện tại.

Người dùng sẽ sở hữu một công cụ mạnh mẽ và toàn diện để xử lý ảnh, giúp tách đối tượng, cải thiện chi tiết, và tăng cường màu sắc cũng như chất lượng tổng thể Điều này không chỉ nâng cao trải nghiệm người dùng mà còn mở rộng khả năng ứng dụng của công cụ trong nhiều lĩnh vực như đồ họa, thiết kế và nghiên cứu khoa học.

Tổng kết

Kết luận lại, những nỗ lực của em trong việc tìm hiểu và xây dựng ứng dụng

Tách đối tượng từ ảnh không chỉ cung cấp cái nhìn sâu sắc về xử lý ảnh và mô hình hỗ trợ phân vùng hình ảnh, mà còn giúp tôi tích lũy kiến thức và kinh nghiệm trong việc phát triển ứng dụng Với sự phát triển mạnh mẽ của công nghệ thông tin và nhu cầu ngày càng tăng về ứng dụng trí tuệ nhân tạo trong xử lý ảnh, tôi nhận thấy rằng việc nghiên cứu và phát triển các ứng dụng liên quan đến xử lý ảnh là cần thiết và có tiềm năng lớn trong tương lai.

Quá trình này đã giúp em nâng cao khả năng phân tích và giải quyết vấn đề, đồng thời áp dụng công nghệ tiên tiến vào thực tiễn Em cũng nhận thức rõ hơn về tầm quan trọng của việc tối ưu hóa thuật toán và cải thiện hiệu suất các mô hình xử lý ảnh để đáp ứng nhu cầu ngày càng cao của người dùng.

Trong tương lai, tôi hy vọng phát triển kỹ năng và đóng góp vào nghiên cứu ứng dụng xử lý ảnh, từ đó thúc đẩy ngành công nghệ thông tin và nâng cao chất lượng cuộc sống Với nền tảng kiến thức và niềm đam mê, tôi tin rằng mình sẽ đạt được nhiều thành tựu trong lĩnh vực này Tôi xin gửi lời cảm ơn sâu sắc đến tất cả những người đã hỗ trợ, đặc biệt là thầy Lê Hồng Hải, người đã tạo điều kiện cho tôi tiếp cận lĩnh vực mới và giúp đỡ tôi trong suốt quá trình thực hiện luận văn.

Em xin chân thành cảm ơn!

Ngày đăng: 15/02/2025, 22:19

HÌNH ẢNH LIÊN QUAN

Hình  1.1.Ứng dụng phân vùng ảnh trong Y học - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 1.1.Ứng dụng phân vùng ảnh trong Y học (Trang 15)
Hình  2.2.Ví dụ về khả năng phân vùng của SAM - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.2.Ví dụ về khả năng phân vùng của SAM (Trang 18)
Hình  2.3.Ba thành phần kết nối với nhau được sử dụng trong phát triển mô hình - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.3.Ba thành phần kết nối với nhau được sử dụng trong phát triển mô hình (Trang 19)
Hình  2.5.Ảnh mô tả bộ dữ liệu overlaid mask. - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.5.Ảnh mô tả bộ dữ liệu overlaid mask (Trang 22)
Hình  2.7.Kết quả phân vùng ảnh hỗn hợp. - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.7.Kết quả phân vùng ảnh hỗn hợp (Trang 25)
Hình  2.8.Kết quả phân vùng ảnh chân dung. - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.8.Kết quả phân vùng ảnh chân dung (Trang 25)
Hình  2.9.Kết quả phân vùng ảnh phương tiện - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.9.Kết quả phân vùng ảnh phương tiện (Trang 26)
Hình  2.12.Kết quả phân vùng cảnh thiên nhiên - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 2.12.Kết quả phân vùng cảnh thiên nhiên (Trang 27)
Hình  3.19.Ảnh được tải lên - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 3.19.Ảnh được tải lên (Trang 42)
Hình  3.22.Thao tác chọn và tách ảnh - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 3.22.Thao tác chọn và tách ảnh (Trang 43)
Hình  3.23.Thao tác chỉnh sửa ảnh - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 3.23.Thao tác chỉnh sửa ảnh (Trang 44)
Hình  3.26.Ảnh phong cảnh - ảnh gốc - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 3.26.Ảnh phong cảnh - ảnh gốc (Trang 47)
Hình  3.28.Ảnh hoạt hình - ảnh gốc - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 3.28.Ảnh hoạt hình - ảnh gốc (Trang 48)
Hình  3.20.Ảnh với độ phân giải thấp - ảnh gốc - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 3.20.Ảnh với độ phân giải thấp - ảnh gốc (Trang 51)
Hình  4.30.Matte giúp xử lý các chi tiết nhỏ - Xây dựng ứng dụng tách Đối tượng từ ảnh
nh 4.30.Matte giúp xử lý các chi tiết nhỏ (Trang 68)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w