uniSense: Nền tảng phân tích video trong kỷ nguyên DX

Các công việc của AI Engineer như triển khai, bóc tách khung hình, xử lý kết quả đều được đóng gói sẵn trong giải pháp uniSense, giúp dự án tiết kiệm thời gian khi chỉ cần tập trung vào việc cải thiện chất lượng mô hình.

Trong thời đại ngày nay, ta có thể dễ dàng bắt gặp camera ở bất cứ đâu, từ trong nhà ngoài phố cho đến văn phòng, nhà hàng, cửa hàng tạp hóa, ... Hệ thống camera trở thành một giải pháp phổ biến nhằm bảo đảm an ninh, kiểm soát giao thông, phát hiện các hành vi bất thường, … Tuy nhiên, liệu video camera đã được khai thác hết tiềm năng chưa? Bên cạnh các mục đích cơ bản kể trên, camera còn có thể mang lại những lợi ích nào nữa?

Với sự bùng nổ của các mô hình computer vision, nhu cầu ứng dụng các mô hình này vào những bài toán thực tế ngày càng nhiều. Một nền tảng phân tích video mang tên uniSense đã được phát triển nhằm cung cấp các phân tích chung cho nhiều lĩnh vực khác nhau. Giải pháp này thích ứng với nhiều bài toán kinh doanh như phân tích đặc điểm và hành vi của khách hàng, đánh giá kệ hàng bán lẻ, vận hành chuỗi F&B, …

Nền tảng này là một giải pháp đa năng, phục vụ nhiều mục đích, nhu cầu khác nhau, giúp mở rộng hoạt động kinh doanh của doanh nghiệp. Do đó, tính linh hoạt, cài đặt và vận hành đã được tính toán kỹ lưỡng trong giai đoạn nghiên cứu phát triển.

Kiến trúc riêng dành cho hệ thống phân tích video

Nhìn chung, một hệ thống phân tích video sẽ có các component điển hình như AI model và các tác vụ gồm phân tích, kinh doanh, duy trì, … Với hướng tiếp cận này, kiến trúc tổng thể của uniSense được thể hiện như sau:

Mỗi component có một vai trò cụ thể trong quy trình xử lý, tạo ra một hệ thống phân tích dữ liệu mạnh mẽ để phục vụ nhu cầu của doanh nghiệp. Mình sẽ giải thích một chút về các component trong kiến trúc này.

Message Broker

Message Broker bảo đảm tính độc lập giữa các nhiệm vụ. Nghĩa là mỗi nhiệm vụ chỉ cần theo một chủ đề nhất định, lấy dữ liệu JSON đã contract, xử lý dữ liệu, sau đó xuất lại kết quả cho message broker (ở định dạng contract).

Mỗi nhiệm vụ không cần biết thứ tự cụ thể của quy trình này là gì. Ví dụ: Frame Extractor có thể trích xuất hình ảnh từ video và đưa dữ liệu đến trình message broker mà không cần biết bộ xử lý nào sẽ sử dụng video sau đó.

TensorFlow Serving

TensorFlow Serving là một hệ thống phục vụ (serving system) nhằm tích hợp với Machine Learning model. TensorFlow Serving giúp cập nhật model version một cách linh hoạt và dễ dàng sử dụng model thông qua API. Để biết thêm thông tin về TensorFlow Serving, bạn có thể đọc tại đây.

Processor

Processor (bộ xử lý) là các component độc lập có những nhiệm vụ riêng biệt. So với thiết kế ứng dụng đơn lẻ, kiến trúc này cung cấp cho hệ thống khá nhiều ưu điểm.

  • Extension: Tự do thêm các tính năng mới vào hệ thống mà không ảnh hưởng đến các tính năng cũ.
  • Maintain & improve: Cập nhật là một bước bắt buộc trong dự án AI. Áp dụng kiến trúc này có thể giúp chúng ta cập nhật từng component riêng biệt, cho phép kiến trúc có thể cập nhật với công nghệ hiện đại trong tương lai.
  • Reuse: Các component được thiết kế tốt có thể tái sử dụng trong các quy trình làm việc khác mà không cần sửa đổi.

Với những lợi ích đó, nền tảng phân tích video có thể được xây dựng dễ dàng, cho phép người dùng xác định quy trình làm việc, config các dịch vụ bên ngoài và chuẩn bị sẵn sàng cho hệ thống phân tích video của riêng mình.

Triển khai nhanh chóng, mô hình triển khai linh hoạt

Các component được tạo thành Docker image để triển khai trên nhiều nền tảng khác nhau, cả trên local và Cloud.

Docker là một công nghệ container cho phép chúng ta dễ dàng tạo, triển khai và chạy các ứng dụng. Docker sử dụng container để tập hợp ứng dụng và các dependency (thư viện) thành một package. Nhờ mô hình triển khai dựa trên hình ảnh này (image-based deployment model), các ứng dụng hỗ trợ Docker có thể được chia sẻ và chạy trên nhiều môi trường. Nếu bạn quan tâm đến Docker thì có thể theo dõi tài liệu Docker Quickstart tại đây.

Với Docker, người dùng có thể update component bằng cách thay đổi target image. Ngoài ra, TensorFlow Serving có thể được update model version theo thời gian. Những khả năng này giúp nền tảng nhanh chóng thích ứng với môi trường thực, nơi AI model sẽ được update dựa theo input thực tế. Nền tảng cũng có thể theo kịp các công nghệ mới, từ đó sẽ kích hoạt các tính năng AI mới sau này.

Hơn nữa, với Docker, ta có thể chạy từng component ở bất kỳ đâu tùy thuộc vào nhu cầu của riêng mình.

Ví dụ, Docker cho phép ta triển khai trình trích xuất khung hình lưu trữ trên mỗi hệ thống local camera và các bộ xử lý trên Cloud để tập trung giám sát. Cách này có thể sử dụng các máy ảo CPU để xử lý model. Quá trình triển khai trong mỗi dự án phụ thuộc vào nhiều yếu tố. Khi sử dụng Docker ta có thể tùy chỉnh mô hình triển khai dựa trên những gì mình muốn.

uniSense giúp tiết kiệm thời gian của dự án khi chỉ cần tập trung vào việc cải thiện chất lượng mô hình, còn các công việc của AI Engineer như triển khai, bóc tách khung hình, xử lý kết quả đều được đóng gói sẵn, từ đó đảm bảo hệ thống có tính mở rộng (scalable) và hiệu năng cao (high performance).

Thích ứng với các nhu cầu kinh doanh khác nhau

Hiện tại, uniSense cung cấp một loạt các phân tích phổ biến như đếm người, phát hiện tuổi và giới tính, đọc biển số xe, … tùy vào nhu cầu kinh doanh khác nhau. Nền tảng phân tích video này là một giải pháp tiềm năng để phân tích các đặc điểm và hành vi của khách hàng, đánh giá kệ hàng, hoạt động của chuỗi F&B… Dưới đây là 4 ứng dụng của uniSense:

Phân tích đặc điểm và hành vi của khách hàng

Trong các cửa hàng bán lẻ, camera thường được lắp đặt tại các vị trí thông thường như cửa chính, quầy kệ hàng hóa để bảo đảm an ninh. Ngoài mục đích này, hệ thống camera còn có thể cung cấp thông tin về hành vi của khách hàng, giúp hoạt động kinh doanh hiệu quả hơn cũng như cải thiện các dịch vụ tốt hơn. Sau khi sử dụng dữ liệu trích xuất từ hệ thống camera, chúng ta sẽ thu được các thông tin như:

  • Có bao nhiêu khách hàng ra, vào mỗi ngày?
  • Khách hàng là nam hay nữ, trong độ tuổi nào?
  • Khách hàng đã đợi ở quầy tính tiền trong bao lâu?
  • Phân biệt khách hàng và nhân viên để kết quả chính xác hơn

Cuối cùng, kết quả báo cáo sẽ được hiển thị như dưới đây:

Hỗ trợ đánh giá kệ hàng

Trong các cửa hàng tạp hóa và sự kiện quảng bá thương hiệu, hoạt động bố trí kệ hàng là điểm mấu chốt quan trọng giúp khách hàng đưa ra quyết định mua hàng. Đây có thể được coi là một cấp độ trải nghiệm khách hàng tiếp theo của ngành bán lẻ khi triển khai AI vào hoạt động kinh doanh, đặc biệt là bài toán đánh giá kệ hàng.

Computer vision sử dụng deep neural network (mạng nơ-ron) nhằm phát hiện các object trong hình ảnh kệ hàng, sau đó phân loại chúng dựa trên danh mục, thương hiệu và mặt hàng. Tại thời điểm này, uniSense hỗ trợ nhà bán lẻ kiểm tra việc sắp xếp kệ và thu thập thông tin quan trọng để có thể xử lý vấn đề kịp thời.

Tư vấn chuỗi F&B

Nhiều chuỗi nhà hàng hiện đã bắt kịp xu hướng phân tích video cho hoạt động kinh doanh của mình. uniSense có thể tự động trích xuất các thông tin chi tiết từ video, giúp các quản lý F&B hiểu được các tình huống cụ thể với khung thời gian chính xác:

  • Tính toán có bao nhiêu khách hàng tại một bàn tại một thời điểm nhất định
  • Khách hàng phải đợi bao lâu để được phục vụ
  • Khách hàng dùng bữa trong bao lâu
  • Nhân viên cần dọn bàn trong bao lâu sau khi khách hàng rời đi

Từ dữ liệu thu thập được, chúng ta sẽ nhận kết quả như dưới đây:

Trình đọc biển số xe

Một ứng dụng phổ biến của nền tảng phân tích video là trình đọc biển số xe cho cả ô tô và xe máy. Nhận dạng biển số xe được sử dụng rộng rãi ngày nay, kết hợp với các phân tích video khác để tối đa hóa việc phòng ngừa trộm cắp, hư hại. Nền tảng cung cấp mô hình nhận dạng ký tự có thể tùy chỉnh để thích ứng với các phông chữ biển số xe khác nhau.

Tối ưu hoá quy trình kinh doanh

uniSense hỗ trợ khách hàng đẩy nhanh quá trình DX bằng khả năng triển khai dịch vụ trong thời gian ngắn, do đó người đứng đầu doanh nghiệp có thể sâu sát với hoạt động kinh doanh, cải tiến dịch vụ, giải quyết vấn đề một cách dễ dàng.

Kiến trúc của uniSense có thể tự mở rộng, bảo trì, cập nhật và tái sử dụng. Với Docker và TensorFlow Serving, uniSense có thể update component cũng như mô hình AI để hệ thống trở nên linh hoạt và rút ngắn thời gian triển khai.

Khả năng phân tích video càng đa dạng thì doanh nghiệp càng thu thập được nhiều thông tin chi tiết hơn dựa trên video được thu thập trong hệ thống.

Atekco - Home for Authentic Technical Consultants