Bối cảnh và vấn đề nghiên cứu

Sự bùng nổ của cuộc Cách mạng công nghiệp lần thứ tư đã đưa Trí tuệ nhân tạo (Artificial Intelligence - AI) trở thành công nghệ then chốt trong việc tự động hóa, tối ưu hóa hiệu suất xử lý và thay thế con người ở nhiều tác vụ đặc thù. Doanh thu của ngành AI toàn cầu đã chạm mức 156,5 tỷ USD vào năm 2020 và tiếp tục duy trì đà tăng trưởng liên tục. Để các mô hình học máy và thị giác máy tính đạt độ chính xác cao, quá trình huấn luyện và đánh giá bắt buộc phải dựa trên những tập dữ liệu lớn đã được gán nhãn chuẩn xác. Mặc dù nguồn dữ liệu thô hiện nay rất dồi dào, tỷ lệ dữ liệu được gán nhãn lại chiếm tỷ trọng rất nhỏ.

Việc tự xây dựng các bộ dữ liệu nội bộ đòi hỏi nguồn kinh phí lớn, tiêu tốn nhiều thời gian và gây lãng phí nhân lực khi nhu cầu sử dụng lao động chỉ diễn ra trong từng giai đoạn ngắn hạn. Giải pháp khả thi là áp dụng mô hình Crowdsourcing (tìm kiếm nguồn lực từ đám đông) nhằm tận dụng lực lượng lao động tự do (freelancer) qua không gian mạng Internet. Tại Việt Nam, các nền tảng crowdsourcing đã bước đầu xuất hiện nhưng chưa có hệ thống chuyên biệt nào đáp ứng hiệu quả nhu cầu gán nhãn dữ liệu hình ảnh. Đồ án "Xây dựng hệ thống crowdsourcing cho việc gán nhãn dữ liệu ảnh" được thực hiện nhằm giải quyết trực tiếp bài toán này.

Mục tiêu và các nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Nghiên cứu thực trạng thiếu hụt dữ liệu gán nhãn cho các hệ thống trí tuệ nhân tạo và nguyên lý của mô hình crowdsourcing.
  2. Phân tích yêu cầu chức năng và phi chức năng của hệ thống sàn giao dịch gán nhãn dữ liệu đám đông phục vụ đa tác nhân.
  3. Thiết kế kiến trúc tổng thể, mô hình hóa cấu trúc lớp, mô hình hóa tương tác tuần tự, thiết kế cơ sở dữ liệu quan hệ và thiết kế giao diện tương tác người dùng.
  4. Xây dựng và triển khai ứng dụng web theo kiến trúc vi dịch vụ (Microservices), tích hợp các công cụ hỗ trợ gán nhãn tương tác và các mô hình AI hỗ trợ tự động.
  5. Đo kiểm, đánh giá hiệu năng xử lý của các giao diện lập trình ứng dụng (API) trọng yếu dưới các mức tải truy cập đồng thời khác nhau.

Đối tượng nghiên cứu là hệ thống phần mềm web crowdsourcing và quy trình gán nhãn dữ liệu ảnh. Phạm vi nghiên cứu của đề tài tập trung vào 3 bài toán thị giác máy tính cốt lõi:

  • Phát hiện đối tượng (Object detection): Xác định vị trí và phạm vi của đối tượng thông qua các khung hình chữ nhật giới hạn (bounding box) theo nhãn phân loại.
  • Phan đoạn ngữ nghĩa (Semantic segmentation): Xác định ranh giới chi tiết của đối tượng bằng các đường bao đa giác (polygon/contour) khép kín.
  • Phân loại ảnh (Image classification): Nhận diện và gán nhãn tổng thể phù hợp nhất cho toàn bộ bức ảnh.

Cơ sở lý thuyết và phương pháp

Đồ án vận dụng các cơ sở lý thuyết, mô hình kiến trúc phần mềm và kỹ thuật thị giác máy tính sau:

  • Khái niệm và mô hình Crowdsourcing: Cơ chế phân chia một công việc lớn từ người yêu cầu (Requester) thành nhiều phân công nhỏ (assignments/tasks) giao cho nhiều người lao động (Worker) thực hiện độc lập, kèm theo giải pháp nhân bản (replication) để tăng độ tin cậy của dữ liệu.
  • Kiến trúc Microservices: Phân rã hệ thống thành các dịch vụ độc lập, giao tiếp thông qua giao thức HTTP/REST API, nâng cao khả năng chịu lỗi và tính linh hoạt khi mở rộng quy mô.
  • Mô hình học sâu hỗ trợ gán nhãn:
    • Mô hình YOLOv5 (You Only Look Once v5): Tích hợp để tự động nhận diện và tạo trước các khung hình chữ nhật cho bài toán Object Detection.
    • Thư viện Detectron2: Ứng dụng để tự động trích xuất và sinh đường bao quanh đối tượng phục vụ bài toán Semantic Segmentation.
  • Phương pháp phân tích và thiết kế phần mềm: Áp dụng phương pháp phân tích hướng đối tượng sử dụng ngôn ngữ mô hình hóa thống nhất (UML), bao gồm việc xây dựng 15 biểu đồ Use Case, 13 biểu đồ hoạt động (Activity Diagram), 15 biểu đồ lớp chi tiết (Class Diagram), 15 biểu đồ tuần tự (Sequence Diagram) và thiết kế lược đồ cơ sở dữ liệu quan hệ (RDBMS).
  • Phương pháp kiểm thử và đánh giá hiệu năng: Thực hiện kỹ thuật đo điểm chuẩn (benchmarking / load testing) để đo lường độ trễ (latency) và tỷ lệ đáp ứng của các REST API then chốt dưới các mức lưu lượng từ 100 đến 4.000 yêu cầu/giây (request/s).

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo mô hình kiến trúc Microservices, phân định rõ ràng 4 nhóm tác nhân tham gia vào quy trình hoạt động:

Tác nhân Vai trò và phạm vi quyền hạn trong hệ thống
Guest Người dùng vãng lai chưa xác thực, có quyền đăng ký tài khoản mới và đăng nhập vào hệ thống.
Requester Người tạo công việc gán nhãn, tải lên tập dữ liệu, cấu hình số lượng tác vụ, đặt tiền thưởng, mời worker, phê duyệt worker và nghiệm thu kết quả gán nhãn.
Worker Người lao động tìm kiếm công việc, gửi yêu cầu nhận việc, sử dụng bộ công cụ để thực hiện gán nhãn ảnh, quản lý tiến độ và nộp kết quả công việc.
Admin Quản trị viên hệ thống, chịu trách nhiệm kiểm duyệt dữ liệu, quản lý và xóa tài khoản requester/worker vi phạm, xóa các công việc không hợp lệ và xóa bình luận.

Hệ thống quản lý toàn bộ luồng nghiệp vụ thông qua 15 ca sử dụng (Use Case) chuẩn hóa:

  • Nhóm xác thực: UC01 (Đăng ký), UC02 (Đăng nhập).
  • Nhóm tương tác của Worker: UC03 (Worker tìm kiếm việc làm), UC07 (Worker quản lý thông tin cá nhân), UC11 (Worker làm việc), UC15 (Worker quản lý công việc).
  • Nhóm tương tác của Requester: UC04 (Tìm kiếm worker), UC05 (Requester tạo việc làm), UC06 (Requester quản lý thông tin cá nhân), UC08 (Requester phê duyệt yêu cầu làm việc), UC09 (Requester quản lý công việc), UC10 (Requester quản lý phân công công việc).
  • Nhóm quản trị của Admin: UC12 (Admin quản lý requester), UC13 (Admin quản lý worker), UC14 (Admin quản lý công việc).

Bộ công cụ biên tập gán nhãn trên giao diện web được thiết kế tương thích với từng loại tác vụ:

  • Công cụ chung: Phóng to (zoom in), thu nhỏ (zoom out), di chuyển khung nhìn ảnh (pan), tùy chỉnh độ sáng và độ tương phản của ảnh hiển thị.
  • Công cụ Object Detection: Vẽ khung hình chữ nhật, ẩn/hiển thị khung, xóa khung, hoàn tác (undo), tích hợp nút gọi mô hình YOLOv5 sinh khung tự động.
  • Công cụ Semantic Segmentation: Vẽ đường bao đa giác, chỉnh sửa đỉnh, xóa đường bao, gọi thư viện Detectron2 để tự động tách biên đối tượng.
  • Công cụ Image Classification: Xem ảnh trực quan và lựa chọn nhãn danh mục tương ứng từ danh sách nhãn do Requester cung cấp.

Hệ thống đặt ra và đáp ứng các tiêu chuẩn yêu cầu phi chức năng nghiêm ngặt:

  • Mã hóa mật khẩu người dùng, bảo đảm an toàn dữ liệu định danh.
  • Khả năng phục vụ đa người dùng đồng thời với độ trễ phản hồi thấp.
  • Giao diện người dùng bằng tiếng Việt, hoạt động tối thiểu trên các trình duyệt Google Chrome và Microsoft Edge.
  • Thiết kế mô-đun hóa, đảm bảo tính dễ mở rộng mà không làm gián đoạn các tính năng hiện hữu.

Nội dung chính theo từng chương

Chương 1: Đặt vấn đề

Chương này phân tích toàn cảnh thực trạng phát triển của ngành Trí tuệ nhân tạo toàn cầu và tại Việt Nam, nêu bật sự khan hiếm của dữ liệu ảnh được gán nhãn so với lượng dữ liệu thô khổng lồ. Tác giả phân tích những hạn chế về chi phí và tính thiếu linh hoạt khi doanh nghiệp tự tổ chức đội ngũ gán nhãn nội bộ, từ đó đề xuất ứng dụng mô hình crowdsourcing. Nội dung chương đồng thời làm rõ mô tả bài toán, giới hạn phạm vi nghiên cứu vào 3 dạng gán nhãn ảnh (phân loại, phát hiện đối tượng, phân đoạn ngữ nghĩa) và trình bày bố cục 5 chương của đồ án.

Chương 2: Phân tích hệ thống

Chương 2 tập trung phân tích chi tiết yêu cầu hệ thống với 4 tác nhân (Guest, Requester, Worker, Admin). Tác giả xây dựng biểu đồ ca sử dụng tổng quan và các biểu đồ phân rã ca sử dụng (Requester quản lý công việc, Tìm kiếm worker, Tìm việc làm). Toàn bộ 15 use case (UC01 đến UC15) được đặc tả chi tiết thông qua các bảng luồng sự kiện chính, luồng sự kiện thay thế, tiền điều kiện, hậu điều kiện và bảng dữ liệu đầu vào. Bên cạnh đó, chương này thiết lập 13 biểu đồ hoạt động mô tả quy trình nghiệp vụ thực tế cùng các yêu cầu phi chức năng về bảo mật, hiệu năng, khả năng mở rộng và tính tương thích trình duyệt.

Chương 3: Thiết kế hệ thống

Chương 3 trình bày các mô hình thiết kế kỹ thuật của hệ thống:

  • Mô hình hóa cấu trúc: Xây dựng 15 biểu đồ lớp chi tiết tương ứng với 15 use case và sơ đồ lớp tổng quan cho gói truy cập và xử lý dữ liệu.
  • Mô hình hóa tương tác: Thiết lập 15 biểu đồ tuần tự mô tả chi tiết thông điệp trao đổi giữa các đối tượng giao diện, điều khiển và cơ sở dữ liệu cho từng ca sử dụng.
  • Thiết kế giao diện: Xây dựng layout chi tiết cho các màn hình của Guest, Requester và Worker (màn hình đăng ký, tạo việc làm, tìm kiếm worker, không gian làm việc gán nhãn của worker, màn hình quản lý phân công).
  • Thiết kế cơ sở dữ liệu: Xây dựng mô hình dữ liệu quan hệ tổng quan và đặc tả chi tiết cấu trúc các bảng lưu trữ thông tin tài khoản, công việc, phân công (assignments), đơn vị công việc (tasks) và kết quả nhãn.

Chương 4: Triển khai hệ thống

Chương 4 mô tả quá trình hiện thực hóa hệ thống trên mô hình Microservices. Tác giả trình bày cách thức tích hợp mô hình YOLOv5 và thư viện Detectron2 vào giao diện gán nhãn để hỗ trợ worker tự động tạo khung và đường bao. Chương này công bố các kết quả giao diện thực tế của ứng dụng và trình bày kết quả đo điểm chuẩn hiệu năng (benchmarking) trên 3 API trọng yếu:

  • API Tìm kiếm worker: Đo kiểm tại các mức tải 1.000 req/s, 2.000 req/s và 2.500 req/s.
  • API Tìm kiếm công việc: Đo kiểm tại các mức tải 100 req/s, 300 req/s và 500 req/s.
  • API Lấy thông tin chi tiết phân công công việc: Đo kiểm tại các mức tải 1.000 req/s, 3.500 req/s và 4.000 req/s. Kèm theo mỗi thử nghiệm là biểu đồ phân tích quan hệ giữa lưu lượng request/s và độ trễ phản hồi của hệ thống.

Chương 5: Kết luận và hướng phát triển

Chương cuối tổng kết toàn bộ các kết quả đạt được của đồ án về mặt phân tích, thiết kế, triển khai ứng dụng web crowdsourcing và tích hợp công nghệ AI hỗ trợ. Tác giả chỉ ra các điểm còn tồn tại trong phạm vi hiện tại và vạch ra các hướng phát triển tiếp theo cho hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  1. Hoàn thiện hệ thống web crowdsourcing đa vai trò: Xây dựng đầy đủ các phân hệ chức năng cho phép Requester đăng tải dữ liệu, thiết lập thông số công việc (số lượng task, tiền thưởng, thời gian hết hạn, số lượng bản sao assignment, yêu cầu chất lượng worker); Worker tìm kiếm việc làm, thực hiện gán nhãn và nộp bài; Admin kiểm soát người dùng và nội dung công việc.
  2. Hiện thực hóa 3 chế độ gán nhãn chuyên sâu: Cung cấp đầy đủ không gian làm việc tương tác cho 3 bài toán: Object Detection (vẽ bounding box), Semantic Segmentation (vẽ polygon contour) và Image Classification (chọn danh mục).
  3. Tích hợp thành công các mô hình AI trợ lực: Kết nối thành công mô hình YOLOv5 và thư viện Detectron2 vào quy trình làm việc, giúp tự động gợi ý nhãn và vị trí đối tượng, giảm thiểu đáng kể thời gian thao tác thủ công của worker.
  4. Kiểm chứng hiệu năng qua số liệu thực nghiệm:
    • Hệ thống duy trì khả năng phục vụ tốt API Lấy thông tin chi tiết phân công công việc ở mức tải lên tới 4.000 request/s.
    • API Tìm kiếm worker vận hành ổn định tại các mốc tải 1.000, 2.000 và 2.500 request/s.
    • API Tìm kiếm công việc được đo kiểm chi tiết ở các mức 100, 300 và 500 request/s, thiết lập biểu đồ độ trễ tương ứng theo tải.

Giải pháp và cơ chế đề xuất

  • Đề xuất cơ chế phân rã công việc khoa học: Một công việc lớn được chia thành nhiều phân công (assignments), mỗi phân công gồm nhiều bức ảnh (tasks).
  • Ứng dụng kỹ thuật bản sao (replication): Cho phép một phân công được thực hiện bởi nhiều worker độc lập nhằm đối chiếu chéo kết quả, đảm bảo độ chính xác và độ tin cậy của tập dữ liệu gán nhãn.
  • Thiết lập quy trình quản lý chất lượng: Cho phép Requester lọc worker theo chỉ số chất lượng làm việc trước đó và có quyền chấp nhận hoặc từ chối từng đơn vị công việc hoàn thành.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên nội dung đồ án, các hạn chế hiện tại và định hướng phát triển gồm có:

  • Phạm vi dạng dữ liệu: Hệ thống hiện mới chỉ tập trung xử lý dữ liệu hình ảnh (Image) cho 3 bài toán thị giác máy tính, chưa mở rộng sang các dạng dữ liệu đa phương tiện khác như văn bản (Text), âm thanh (Audio) hay video.
  • Cơ chế đánh giá và tự động hóa: Cần tiếp tục nghiên cứu, tích hợp các thuật toán tổng hợp kết quả tự động (Consensus algorithms) dựa trên độ đồng thuận giữa các worker nhận bản sao, thay vì phụ thuộc hoàn toàn vào việc duyệt thủ công của requester.
  • Mở rộng tính năng: Cần hoàn thiện cơ chế thanh toán trực tuyến tự động, phân tích danh tiếng worker chuyên sâu hơn và tối ưu hóa thêm hiệu năng xử lý của các dịch vụ backend khi số lượng người dùng đồng thời tăng đột biến.

Giá trị tham khảo

Đồ án là tài liệu tham khảo có giá trị cao cho sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Khoa học máy tính và các kỹ sư phát triển hệ thống:

  • Tài liệu tham khảo phân tích và thiết kế phần mềm: Toàn bộ hệ thống 15 biểu đồ Use Case, 13 biểu đồ hoạt động, 15 biểu đồ lớp và 15 biểu đồ tuần tự được mô hình hóa theo chuẩn UML là tài liệu mẫu rõ ràng cho các đồ án tốt nghiệp công nghệ phần mềm.
  • Tham khảo kiến trúc Microservices và tích hợp AI: Cung cấp giải pháp thực tế về việc tích hợp các mô hình học sâu (YOLOv5, Detectron2) vào môi trường ứng dụng web để hỗ trợ tự động hóa thao tác người dùng.
  • Phương pháp đo kiểm hiệu năng API: Cung cấp phương pháp luận và số liệu thực tế về việc đo kiểm điểm chuẩn (benchmarking) độ trễ của các REST API dưới áp lực tải lớn.

Câu hỏi thường gặp

1. Hệ thống crowdsourcing này hỗ trợ những dạng bài toán gán nhãn dữ liệu hình ảnh nào?
Hệ thống hỗ trợ 3 bài toán thị giác máy tính chính: Phát hiện đối tượng (Object detection - vẽ bounding box), Phân đoạn ngữ nghĩa (Semantic segmentation - vẽ đường bao đa giác) và Phân loại ảnh (Image classification - chọn nhãn danh mục).

2. Các mô hình và thư viện AI nào được tích hợp trong đồ án để hỗ trợ worker gán nhãn?
Hệ thống sử dụng mô hình YOLOv5 để tự động nhận diện và sinh khung hình chữ nhật cho bài toán phát hiện đối tượng, và thư viện Detectron2 để tự động trích xuất đường bao quanh đối tượng cho bài toán phân đoạn ngữ nghĩa.

3. Làm thế nào Requester có thể kiểm soát và nâng cao độ tin cậy của dữ liệu được gán nhãn?
Requester có thể thiết lập số lượng bản sao (replication) cho mỗi phân công công việc để nhiều worker cùng thực hiện độc lập, cài đặt yêu cầu chất lượng tối thiểu đối với worker khi tạo việc làm, đồng thời trực tiếp xem xét, chấp nhận hoặc từ chối từng đơn vị kết quả công việc do worker gửi lên.

4. Hệ thống được phân chia thành những tác nhân nào và quyền hạn của Admin là gì?
Hệ thống gồm 4 tác nhân: Guest (chưa đăng nhập), Requester (người thuê), Worker (người làm) và Admin (quản trị viên). Admin có quyền tìm kiếm và xóa tài khoản requester/worker vi phạm, xóa các công việc không hợp lệ và xóa các bình luận trong hệ thống.

5. Hiệu năng của hệ thống được đánh giá qua những API nào và tại các mức tải nào?
Hệ thống được đo kiểm điểm chuẩn hiệu năng trên 3 API: API Tìm kiếm worker (đo tại 1.000, 2.000, 2.500 req/s), API Tìm kiếm công việc (đo tại 100, 300, 500 req/s) và API Lấy thông tin chi tiết phân công công việc (đo tại 1.000, 3.500, 4.000 req/s).


Kết luận

Đồ án "Xây dựng hệ thống crowdsourcing cho việc gán nhãn dữ liệu ảnh" đã giải quyết hiệu quả bài toán khan hiếm dữ liệu gán nhãn trong phát triển trí tuệ nhân tạo bằng cách kết nối nhu cầu giữa người cần dữ liệu và lực lượng lao động tự do. Tác giả đã hoàn thành việc phân tích, thiết kế toàn diện hệ thống theo chuẩn UML, triển khai kiến trúc vi dịch vụ và tích hợp các mô hình học sâu YOLOv5, Detectron2 hỗ trợ gán nhãn thông minh. Các kết quả kiểm thử tải thực tế chứng minh hệ thống có khả năng vận hành ổn định và đáp ứng tốt các yêu cầu nghiệp vụ đề ra.