You are on page 1of 2

Các bài toán

- Phát hiện hành vi đánh nhau/bạo lực


- Phát hiện hành vi trộm cắp hàng hóa
- Phát hiện hành vi biểu tình
- Phát hiện đối tượng xâm nhập vào khu vực cấm, trèo tường/vượt rào
- Phát hiện đám đông tụ tập
- Phát hiện chuyển động ban đêm
- Phát hiện đám cháy

- Phát hiện hành vi lái xe sử dụng điện thoại


- Phát hiện hành vi lái xe không thắt dây an toàn
- Phát hiện hành vi lái xe không đeo khẩu trang

- Phát hiện học sinh có/không có mặt trong khung hình


- Phát hiện hành vi học sinh sử dụng điện thoại
- Phát hiện hành vi học sinh buồn ngủ, ngủ gật

Đầu việc
Chuyển đổi luồng/logic sang C/C++:
Yêu cầu: Chuyển đổi + tối ưu hóa luồng hoạt động/logic thực thi cho các bài toán từ ngôn ngữ
Python sang C/C++:
+ Đọc hiểu code Python
+ Đọc hiểu thuật toán và các tham số liên quan
+ Đề xuất và thống nhất thiết kế chương trình (pipeline, threading, external lib,..) với dev
team ngay sau khi hiểu thuật toán và luồng hoạt động.
+ Nắm chắc C/C++, các cơ chế song song hóa và chia sẻ tài nguyên (multithreading, shared
memory, ..)
+ Kiến thức xử lí ảnh, OpenCV
+ Kiến thức ML/DL : TensorRT

Đầu ra nghiệm thu:


+ Toàn bộ source code
+ Demo hoàn chỉnh
+ Documentation: các lưu ý quan trọng về tốc độ, kết quả thử nghiệm (hữu ích cho người
maintain sau này)
+ Seminar công nghệ

Yêu cầu nghiệm thu:


+ Độ chính xác không thay đổi hoặc thay đổi không đáng kể so với pipeline gốc
+ Thiết kế chương trình (multithreading, multiprocessing, parallelism) hợp lí và đúng với
thống nhất từ trước
+ Tốc độ được cải tiến so với phiên bản Python
+ Tài nguyên (CPU, Memory) tiêu tốn cải tiến so với phiên bản Python
+ Đảm bảo coding convention, clean code

Chuyển đổi mô hình sang nền tảng TensorRT


Yêu cầu: Chuyển đổi các mô hình ML/DL ở các framework thông dụng (Pytorch, Tensorflow,
Mxnet,..) sang nền tảng TensorRT
+ Thông thạo TensorRT và các nền tảng chuyển đổi liên quan (ONNX, ..)
+ Áp dụng được các kĩ thuật optimization trên TensorRT và các nền tảng liên quan. Ví dụ:
dynamic batch size, implicit/explicit batch size, dynamic shape, multi-profiles, multi-streams,
pruning, quantization, fusion,..
+ Có khả năng đọc hiểu thuật toán/paper/implementation để viết custom layers, custom
plugins trên nền tảng TensorRT
+ Có kiến thức tracing/profiling/debuging (ví dụ, sử dụng NVIDIA Nsight™) và
report/visualize kết quả phân tích.

Đầu ra nghiệm thu:


+ Toàn bộ source code
+ Đóng gói thành script tự động, ví dụ: input là mô hình Pytorch, output là mô hình TRT
+ Document chi tiết về cách thức chuyển đổi, optimization schemes đã áp dụng.
+ Seminar công nghệ

Yêu cầu nghiệm thu:


+ Độ chính xác mô hình nhận được không thay đổi hoặc giảm không đáng kể so với mô hình
ban đầu
+ Tốc độ được cải thiện x% so với mô hình ban đầu
+ Tài nguyên (CPU, Memory) tiêu tốn không thay đổi hoặc ít hơn so với phiên bản ban đầu.
+ Document rõ ràng

Ước lượng khối lượng công việc:


C/C++:
+ Chuyển đổi thuật toán Multiple Object Tracking (MOT) sang C/C++: DeepSORT,
ByteTrack
+ Chuyển đổi code từ ngôn ngữ Python sang C/C++ cho 13 bài toán đã nêu. Trong đó yêu
cầu ghép nối tới công nghệ khác (ví dụ, web server) để đóng gói dưới dạng API cho từng bài toán.

TensorRT:
Chuyển đổi 8-12 mô hình. Danh sách các dạng mô hình chuyển đổi (có thể):
+ 3D CNN (C3D): X3D, I3D, MoviNet, SlowFast
+ Transformer-based architecture: Vision Transformer, Video Transformer
+ Detection models: YOLOv5, YOLOR
+ Instance Segmentation: YOLACT
+ CNN backbones: Resnet, MobileNet, EffecientNet, DLA, FPN, ..
+ Các mô hình chứa custom layers

You might also like