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

Khóa luận tốt nghiệp kỹ sư ngành Hệ thống Thông tin (chuyên ngành Thương mại điện tử) với đề tài "Xây dựng hệ thống thương mại điện tử kinh doanh các giải pháp thị giác máy tính" (Building Ecommerce system to sell Computer Vision solution) được thực hiện bởi sinh viên Lê Văn Nhật và Nguyễn Hữu Trường, dưới sự hướng dẫn của ThS. Trình Trọng Tín tại Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP.HCM (2021).

Bối cảnh thực tiễn của nghiên cứu xuất phát từ hai yếu tố chính:

  1. Nguồn lực nghiên cứu trong nước: Theo số liệu từ Bộ Giáo dục và Đào tạo cho năm học 2017–2018 và 2018–2019, mỗi năm có gần nửa triệu sinh viên trúng tuyển đại học cùng hàng nghìn học viên cao học, nghiên cứu sinh. Lực lượng này tạo ra khối lượng lớn đồ án, bài báo khoa học và sáng chế công nghệ. Tuy nhiên, việc thương mại hóa và ứng dụng thực tiễn các sản phẩm trí tuệ này vào sản xuất và kinh tế còn hạn chế.
  2. Tiềm năng thị trường thị giác máy tính: Báo cáo từ Grand View Research (09/2020) chỉ ra rằng quy mô thị trường thị giác máy tính toàn cầu đạt 10,6 tỷ USD vào năm 2019 và dự báo đạt tốc độ tăng trưởng kép hàng năm (CAGR) là 7,6% giai đoạn 2020–2027. Mặc dù các tập đoàn lớn (Google, Amazon, Microsoft, IBM) và một số đơn vị trong nước (Zalo AI, FPT AI) đã triển khai các nền tảng cung cấp API AI, các doanh nghiệp vừa và nhỏ tại Việt Nam vẫn gặp khó khăn trong việc tiếp cận các gói giải pháp linh hoạt, chi phí hợp lý hoặc có thể triển khai trên hạ tầng máy chủ riêng.

Nhiệm vụ và mục tiêu nghiên cứu của đề tài bao gồm 6 nội dung cụ thể:

  1. Nghiên cứu các thuật toán thị giác máy tính hiện có tại Trường Đại học Công nghệ Thông tin và phương pháp thương mại hóa.
  2. Khảo sát các mô hình kinh doanh dịch vụ API trên thị trường quốc tế và Việt Nam.
  3. Nghiên cứu mô hình hệ thống thương mại điện tử kinh doanh sản phẩm công nghệ AI.
  4. Đóng gói các thuật toán thị giác máy tính thành API với 3 tính năng cốt lõi: Nhận diện khuôn mặt; Nhận diện và trích xuất thông tin từ hình ảnh, giấy tờ; Nhận diện và trích xuất thông tin biển số xe.
  5. Xây dựng website quản lý cho khách hàng và quản trị viên (quản lý thời gian, chi phí, gói cước, token, lịch sử giao dịch, hỗ trợ khách hàng).
  6. Thiết kế giải pháp triển khai hệ thống trên máy chủ của khách hàng (On-Premise/VPS).
  • Đối tượng nghiên cứu: Các cá nhân, tổ chức, doanh nghiệp có nhu cầu tích hợp API thị giác máy tính vào quy trình vận hành hoặc phục vụ nghiên cứu, học tập.
  • Phạm vi nghiên cứu: Khảo sát các thuật toán xử lý ảnh, xây dựng nền tảng web thương mại điện tử theo kiến trúc Microservices và kiểm thử chức năng hệ thống trong môi trường thử nghiệm.

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

Khóa luận kết hợp giữa nền tảng lý thuyết xử lý ảnh, kiến trúc phần mềm phân tán và mô hình quản trị kinh doanh số.

1. Khung lý thuyết và mô hình ứng dụng

  • Thị giác máy tính (Computer Vision): Các tác vụ cơ bản bao gồm phân lớp hình ảnh (Image Classification trên các tập dữ liệu như MNIST, ImageNet), định vị đối tượng (Object Localization), nhận diện đối tượng (Object Detection) và phân đoạn ảnh (Object Segmentation).
  • Mạng nơ-ron tích chập (CNN - Convolutional Neural Network): Cấu trúc gồm các lớp tích chập (Convolution + ReLU) trích xuất đặc trưng, lớp tổng hợp (Pooling) giảm số chiều tính toán, lớp kết nối đầy đủ (Fully Connected) và lớp phân loại Softmax. Nhóm nghiên cứu đồng thời khảo sát lớp mô hình R-CNN (R-CNN, Fast R-CNN, Faster R-CNN) do Ross Girshick phát triển để định vị và phân loại đối tượng qua bounding box.
  • Mô hình kinh doanh Canvas (Business Model Canvas): Ứng dụng để thiết lập 9 trụ cột vận hành hệ thống thương mại điện tử, bao gồm Đối tác chính (Key Partners), Hoạt động chính (Key Activities), Mục tiêu giá trị (Value Propositions), Quan hệ khách hàng (Customer Relationships), Phân khúc khách hàng (Customer Segments), Nguồn lực chính (Key Resources), Kênh phân phối (Channels), Cơ cấu chi phí (Cost Structure) và Dòng doanh thu (Revenue Streams).

2. Công nghệ nền tảng

  • Python & Thư viện AI: Sử dụng Python làm ngôn ngữ xử lý thuật toán AI với thư viện OpenCV (xử lý hình ảnh thời gian thực) và TensorFlow (Google Brain) để xây dựng dataflow graph, quản lý mô hình máy học và tối ưu tính toán.
  • NodeJS Backend: Sử dụng engine V8 Javascript, vận hành theo cơ chế I/O bất đồng bộ (Non-blocking I/O) và Event-Loop để xây dựng hệ thống RESTful API quản lý giao dịch, cấp phát token và phân phối yêu cầu với tốc độ phản hồi cao.
  • Cơ sở dữ liệu MongoDB: Cơ sở dữ liệu NoSQL hướng tài liệu (Document-oriented), lưu trữ dữ liệu dạng BSON/JSON không ràng buộc lược đồ nghiêm ngặt, hỗ trợ đánh chỉ mục tự động trên trường _id, lưu cache trên RAM và mở rộng theo chiều ngang (Auto-sharding).
Tiêu chí MySQL (RDBMS) MongoDB (NoSQL)
Ngôn ngữ phát triển C, C++ C++, C, JavaScript
Cấu trúc lưu trữ Table, Row, Column Collection, Document, Field
Lược đồ (Schema) Cố định (Strict) Động (Dynamic)
Khả năng mở rộng Mở rộng theo chiều dọc (Vertical) Mở rộng theo chiều ngang (Horizontal Sharding)
Tối ưu ứng dụng Dữ liệu quan hệ chặt chẽ, giao dịch phức tạp Dữ liệu phi cấu trúc/JSON, tốc độ truy xuất và ghi cao
  • Frontend ReactJS: Thư viện giao diện dựa trên Component, Single Page Application (SPA), Virtual DOM và quản lý luồng dữ liệu thông qua Redux.

3. Phương pháp nghiên cứu thực tế

  • Phương pháp khảo sát, phân tích so sánh: Đánh giá ưu – nhược điểm của các nền tảng thương mại quốc tế (Google Cloud Vision API, Amazon Rekognition, IBM Visual Recognition, Microsoft Azure Computer Vision) và các giải pháp trong nước (Zalo AI, FPT AI) về giới hạn dung lượng (như mức 10MB của IBM hay 15MB của Amazon S3), chính sách giá ("Pay as you go" so với gói cước) và định dạng dữ liệu hỗ trợ.
  • Phương pháp phân tích và thiết kế hệ thống: Mô hình hóa yêu cầu người dùng và doanh nghiệp bằng sơ đồ Use Case (14 ca sử dụng), phân rã luồng xử lý và thiết kế kiến trúc phân tán Microservices.
  • Phương pháp kiểm thử phần mềm: Kiểm thử hộp đen theo kịch bản tương tác của hai nhóm Actor (Người dùng và Quản trị viên).

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

Hệ thống được đặt tên là VisionX, triển khai theo kiến trúc Microservices nhằm tách biệt các khối xử lý thuật toán AI phức tạp ra khỏi hệ thống quản trị thương mại điện tử.

                    +------------------------------------------+
                    |           Client / Administrator         |
                    +------------------------------------------+
                                         |
                                         v
                    +------------------------------------------+
                    |       ReactJS Frontend Application       |
                    +------------------------------------------+
                                         |
                                (RESTful API Calls)
                                         v
                    +------------------------------------------+
                    |         NodeJS API Gateway Layer         |
                    |  - Authentication & Role Management     |
                    |  - Token Validation & Rate Limiting     |
                    |  - Billing, Invoices & Subscriptions    |
                    +------------------------------------------+
                       /                 |                  \
                      /                  v                   \
                     /          +-----------------+           \
                    v           | MongoDB Database|            v
+-----------------------+       +-----------------+   +-----------------------+
|  Python Service 01    |                             |  Python Service 02    |
| (Face Recognition API)|                             | (OCR / Plate Recog API|
+-----------------------+                             +-----------------------+

1. Kiến trúc hệ thống phân tán

  • Phân tách dịch vụ: Các module thị giác máy tính chạy bằng Python (OpenCV, TensorFlow) đóng vai trò là các Worker Microservices chuyên xử lý ảnh. Nền tảng NodeJS đóng vai trò API Gateway và quản lý nghiệp vụ, giao tiếp nội bộ và định tuyến request.
  • Cơ chế xác thực và điều phối Token: Khách hàng sau khi đăng ký gói cước sẽ được cấp mã định danh token API. Mỗi lượt gọi API của người dùng được kiểm tra tính hợp lệ, trừ dần hạn mức truy cập theo tháng và ghi nhận log hoạt động theo thời gian thực.

2. Thiết kế dữ liệu MongoDB

Cơ sở dữ liệu được tổ chức thành các collection độc lập:

  • Users: Lưu trữ thông tin cá nhân, email, mật khẩu mã hóa, vai trò (role: User/Admin).
  • Packages: Thông tin tên gói cước, đơn giá, giới hạn số lượng request API hàng tháng.
  • Tokens: Mã token kích hoạt, trạng thái hoạt động, số lượt request đã sử dụng và ngày hết hạn.
  • Invoices & Transactions: Lưu trữ mã đơn hàng, ngày khởi tạo, tổng tiền, phương thức thanh toán và trạng thái xử lý.
  • APIs: Danh sách thông tin endpoint, mô tả tham số kỹ thuật, code mẫu tích hợp (Python, cURL, JavaScript).

3. Tích hợp thanh toán và chức năng quản trị

  • Module thanh toán: Tích hợp cổng thanh toán trực tuyến VNPAY và hình thức chuyển khoản ngân hàng trực tiếp có xác nhận giao dịch.
  • Giao diện người dùng: Trang bảng điều khiển (Dashboard) thống kê lưu lượng request và chi phí theo tháng; trang đăng ký gói cước; trang tài liệu hướng dẫn và code mẫu tích hợp; trang quản lý lịch sử hóa đơn và gửi yêu cầu hỗ trợ (Ticketing/Chat).
  • Giao diện quản trị: Quản lý danh mục API, cấu hình gói cước, duyệt giao dịch thanh toán, quản lý danh sách người dùng và xuất báo cáo doanh thu theo tháng/quý/năm.

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

Chương 1: Tổng quan đề tài

Trình bày tính cấp thiết của việc thương mại hóa các nghiên cứu thị giác máy tính tại môi trường đại học dựa trên thống kê giáo dục đại học của Bộ GD&ĐT (2017–2019). Xác định rõ đối tượng khách hàng mục tiêu, phạm vi triển khai hệ thống phân phối API trên kiến trúc Microservices và mục tiêu xây dựng nền tảng VisionX kinh doanh 3 dịch vụ nhận diện cốt lõi.

Chương 2: Khảo sát hiện trạng

  • Đánh giá quy mô thị trường AI/thị giác máy tính và phân tích chi tiết các nền tảng thương mại: Google Cloud Vision API, Amazon Rekognition, IBM Visual Recognition, Azure Computer Vision, Zalo AI và FPT AI.
  • Hệ thống hóa lý thuyết về bài toán thị giác máy tính: Mạng tích chập CNN (Convolution, Pooling, Fully Connected), cấu trúc mô hình R-CNN của Ross Girshick.
  • Đánh giá nền tảng công nghệ: Ưu – nhược điểm của Python (OpenCV, TensorFlow) trong tính toán khoa học; NodeJS trong xử lý I/O thời gian thực; so sánh kiến trúc Monolithic với Microservices; so sánh hệ quản trị CSDL quan hệ MySQL với CSDL NoSQL MongoDB; so sánh thư viện ReactJS với các framework Angular và Vue.

Chương 3: Phân tích và thiết kế hệ thống

  • Xây dựng mô hình Business Model Canvas cho nền tảng kinh doanh API thị giác máy tính.
  • Phân tích yêu cầu chức năng và phi chức năng cho phía khách hàng và doanh nghiệp.
  • Mô hình hóa hệ thống qua danh mục 2 Actor (Người dùng, Quản trị viên) và 14 Use Case chính (từ UC01 đến UC14: đăng ký, đăng nhập, đặt lại mật khẩu, quản lý tài khoản, xem thống kê API, quản lý hóa đơn, đăng ký gói cước, gửi hỗ trợ, thanh toán đơn hàng, quản trị gói cước, quản trị doanh thu, quản trị người dùng, quản trị API).
  • Đặc tả chi tiết luồng hoạt động của các Use Case, thiết kế lược đồ thực thể trên MongoDB và sơ đồ kiến trúc hệ thống VisionX.

Chương 4: Phát triển ứng dụng

  • Mô tả chi tiết quá trình hiện thực hóa các màn hình chức năng của website: Bảng điều khiển lưu lượng sử dụng, giao diện thanh toán tích hợp VNPAY, trang tài liệu code mẫu hướng dẫn gọi API, giao diện quản lý người dùng, giao diện quản trị API và doanh thu.
  • Trình bày kết quả kiểm thử chức năng (Functional Testing) với hai bảng kiểm thử riêng biệt cho luồng xử lý phía người dùng (Bảng 4.17) và luồng xử lý phía quản trị viên (Bảng 4.18), xác nhận tất cả các ca kiểm thử đều đạt yêu cầu thiết kế.

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

Đánh giá mức độ hoàn thành so với mục tiêu đề ra: Nền tảng đã vận hành đầy đủ quy trình từ đăng ký, mua gói cước, sinh mã token đến xử lý API thị giác máy tính; đồng thời chỉ ra các hạn chế kỹ thuật và đề xuất lộ trình nâng cấp hệ thống.


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

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

  • Xây dựng hoàn chỉnh website thương mại điện tử phân phối giải pháp thị giác máy tính gồm hai phân hệ người dùng và quản trị viên.
  • Đóng gói và tích hợp thành công 3 nhóm API thị giác máy tính chạy trên nền tảng Python độc lập:
    • API nhận diện khuôn mặt (Face Recognition).
    • API nhận diện và trích xuất thông tin giấy tờ tùy thân (ID Card/Passport OCR).
    • API nhận diện và trích xuất thông tin biển số xe (License Plate Recognition).
  • Hiện thực hóa cơ chế quản lý gói cước theo lưu lượng truy cập (Request Quota), tự động cấp phát và giám sát token API.
  • Tích hợp thành công luồng thanh toán qua cổng VNPAY và chuyển khoản trực tiếp.
  • Kiểm thử thành công 14 kịch bản Use Case, đảm bảo luồng nghiệp vụ của người dùng và quản trị viên vận hành chính xác.

2. Đóng góp của đề tài

  • Đề xuất một mô hình kinh doanh số hoàn chỉnh (thông qua Business Model Canvas) ứng dụng riêng cho việc thương mại hóa các thuật toán AI trong môi trường trường đại học tại Việt Nam.
  • Cung cấp kiến trúc tham chiếu kết hợp giữa Microservices, NodeJS (API Gateway/Business Logic) và Python (Deep Learning Services), giải quyết bài toán tải tính toán không đồng nhất giữa nghiệp vụ web và xử lý trí tuệ nhân tạo.

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

1. Hạn chế của đề tài

  • Hệ thống chưa được kiểm thử tải với lưu lượng truy cập đồng thời lớn trên môi trường mạng diện rộng thực tế.
  • Các mô hình thị giác máy tính tích hợp mới dừng lại ở các bài toán cơ bản (nhận diện mặt, giấy tờ, biển số xe), độ chính xác phụ thuộc nhiều vào chất lượng ảnh đầu vào và tài nguyên phần cứng máy chủ.
  • Chưa có cơ chế tự động mở rộng quy mô (Auto-scaling) chuyên sâu cho các Worker Python khi xảy ra nghẽn cổ chai tính toán AI.

2. Hướng nghiên cứu và phát triển tiếp

  • Bổ sung các giải pháp AI chuyên sâu khác như nhận diện hành vi, phân tích video thời gian thực, phát hiện vật thể nâng cao.
  • Nâng cấp hạ tầng triển khai sử dụng Docker và Kubernetes để tự động điều phối, mở rộng các container microservices.
  • Mở rộng thêm các cổng thanh toán quốc tế (PayPal, Stripe) và xây dựng bộ SDK đa ngôn ngữ (Java, PHP, C#) để hỗ trợ nhà phát triển tích hợp nhanh chóng.

Giá trị tham khảo

Tài liệu khóa luận này mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Hệ thống Thông tin, Thương mại điện tử và Khoa học Máy tính: Học hỏi phương pháp ứng dụng khung Business Model Canvas vào việc thương mại hóa sản phẩm phần mềm công nghệ cao.
  • Kỹ sư phát triển phần mềm và kiến trúc sư hệ thống: Tham khảo mô hình phân tách Microservices giữa NodeJS (quản trị phân quyền, xử lý dữ liệu JSON nhanh, RESTful API) và Python (xử lý mô hình học máy TensorFlow/OpenCV).
  • Nhà phát triển muốn xây dựng nền tảng API thương mại: Tham khảo thiết kế lược đồ MongoDB cho bài toán quản lý token, hạn mức truy cập (rate limit) và luồng thanh toán tự động với VNPAY.

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

1. Nền tảng VisionX giải quyết bài toán cốt lõi nào trong thực tiễn?
VisionX giải quyết vấn đề cầu nối thương mại hóa các thuật toán thị giác máy tính được nghiên cứu trong môi trường học thuật, đóng gói thành các dịch vụ API chuẩn hóa để doanh nghiệp và cá nhân có thể thuê bao theo gói cước hoặc triển khai trực tiếp trên máy chủ riêng với chi phí hợp lý.

2. Tại sao tác giả lựa chọn kiến trúc Microservices thay vì kiến trúc Monolithic?
Vì các tác vụ xử lý thị giác máy tính đòi hỏi tính toán nặng bằng Python trong khi nghiệp vụ quản lý người dùng, gói cước và thanh toán yêu cầu phản hồi I/O nhanh qua NodeJS. Kiến trúc Microservices cho phép mỗi dịch vụ hoạt động độc lập, không phụ thuộc công nghệ, dễ dàng bảo trì và khi một dịch vụ xử lý ảnh gặp sự cố thì hệ thống thương mại điện tử vẫn hoạt động bình thường.

3. Ba giải pháp thị giác máy tính chính được đóng gói trong hệ thống là gì?
Ba giải pháp gồm: (1) Nhận diện khuôn mặt; (2) Nhận diện và trích xuất thông tin từ hình ảnh, giấy tờ (chứng minh nhân dân, căn cước, passport); (3) Nhận diện và trích xuất thông tin biển số xe.

4. MongoDB đóng vai trò gì và có ưu điểm gì trong hệ thống này?
MongoDB đóng vai trò lưu trữ toàn bộ dữ liệu người dùng, gói cước, token và hóa đơn dưới dạng Document JSON/BSON. Ưu điểm nổi bật là cấu trúc dữ liệu động, tốc độ ghi và truy vấn nhanh, tự động đánh chỉ mục trường _id, hỗ trợ cache trên RAM và dễ dàng mở rộng theo chiều ngang (sharding) mà không gặp rào cản ràng buộc khóa ngoại phức tạp như MySQL.

5. Cơ chế kiểm soát quyền sử dụng API của khách hàng hoạt động như thế nào?
Sau khi thanh toán gói cước thành công, hệ thống sinh ra một chuỗi mã token duy nhất cho người dùng. Khi người dùng gửi request đến endpoint của VisionX, hệ thống NodeJS sẽ kiểm tra tính hợp lệ của token, số lượt request còn lại trong tháng và thời hạn sử dụng trước khi chuyển tiếp dữ liệu đến worker Python để xử lý thuật toán.


Kết luận

Khóa luận tốt nghiệp của sinh viên Lê Văn Nhật và Nguyễn Hữu Trường đã giải quyết thành công bài toán đóng gói và thương mại hóa các thuật toán thị giác máy tính thành dịch vụ API thương mại điện tử. Thông qua việc kết hợp kiến trúc Microservices, hệ quản trị MongoDB cùng hai nền tảng công nghệ NodeJS và Python, hệ thống VisionX đã chứng minh tính khả thi về mặt kỹ thuật và mô hình vận hành kinh doanh số. Đây là tài liệu tham khảo có tính ứng dụng cao cho các nghiên cứu phát triển nền tảng phân phối dịch vụ trí tuệ nhân tạo tại Việt Nam.