Chương 1: Giới thiệu. Chương 2: Cơ sở lý thuyết. Chương 3: Giải pháp đề xuất. Chương 4: Kết quả thực nghiệm.
Chương 5: Kết luận. GVHD: TS Nguyễn Thanh Bình -4- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin CHƯƠNG 2: CƠ SỞ LÝ THUYET 2. Tổng quan các hệ thống giám sát 2. Hệ thống giám sát truyền thống Hệ thống giám sát truyền thống được cấu thành từ ba thành phần chính là một hệ thống các camera ghi hình tại các điểm/vị trí cần theo dõi sau đó tín hiệu hình ảnh được truyền về trung tâm vận hành của một cơ quan tô chức có trách nhiệm giám sát, được lưu vào hệ thống lưu trữ đồng thời hiển thị lên các màn hình lớn tại trung tâm, nhân viên vận hành sẽ giám sát thông qua các màn hình này.
Vi trí camera 1 Trung tâm giám sát Vị trí camera 2 Bộ xử lí tin hiệu Trung tâm lưu trữ Vi trí camera 3 Hình 2.1: Sơ đô hệ thống giám sát truyền thong. Điểm mạnh của hệ thống này là hỗ trợ giám sát cùng lúc nhiều điểm/vị trí, hỗ trợ lưu trữ dit liệu trong một khoảng thời gian nhất định giúp thuận tiện dé dàng truy xuất hình ảnh trong quá khứ. Hệ thống giám sát thông minh Hệ thống giám sát thông minh là một phiên bản nâng cấp của hệ thống giám sát truyền thống với sự kết hợp của các thuật toán phát hiện đối tượng, thuật toán theo vết và một số thuật toán khác nhằm hỗ trợ tối đa cho các nhân viên làm việc tại trung tâm giám sát. Hệ thống giám sát thông minh giúp phát hiện những lỗi vi phạm tự động như hiện nay các ứng dụng giám sát tự động này có khả năng phát hiện những hành động như đánh nhau, phát hiện đám chảy,.
Trong phạm vi luận văn GVHD: TS Nguyễn Thanh Bình -5- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin này xây dựng hệ thống giám sát giao thông hỗ trợ việc đo tốc độ và đếm số lượng phương tiện giao thông tại một nút giao thông. 'Khối thuật toán xử lí Các video được lưu trữ lại tại trung tâm lưu trữ, các thuật toán phân tích tự động và tìm kiếm thông minh trên video sẽ giúp truy xuất ra những thông tin quan trọng trong quá khứ khi có trường hợp khan cấp. Hệ thống giám sát giao thông thông minh hỗ trợ đếm xe và đo tốc độ được cấu thành từ các thuật toán tích hợp với nhau gồm: thuật toán phát hiện đối tượng, thuật toán theo vết, thuật toán đo tốc độ, thuật toán đếm xe. Tổng quan về mạng tích chập (Convolutional Neural Network - CNN) Trong lĩnh vực thị giác máy tính thì mạng tích chập là một phần cực kì quan trọng, đóng vai trò là khung xương chính của toàn bộ thuật toán nhằm trích xuất ra được những đặc trưng của đối tượng.
"Mạng nơ-ron tích chập” là mạng sử dụng một phép toán được gọi là tích chập trong ít nhất một lớp của chúng, thay thế cho các phép nhân ma trận. Khi lập trình một mạng nơ-ron tích chập, đầu vào là một tensor có dạng (số lượng ảnh) x (chiều cao ảnh) x (chiều rộng ảnh) x (số kênh ảnh), thường được ký hiệu là NHWC. Sau khi di qua lớp tích chập, hình ảnh trở nên được trừu tượng hóa thành bản đồ đặc trưng, có dạng (số lượng ảnh) x (chiều cao bản đồ đặc trưng) x (chiều GVHD: TS Nguyễn Thanh Bình -6- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin rộng bản đồ đặc trưng) x (số kênh đặc trưng). Mạng CNN thường bao gồm các lớp sau: Input image Convolutions Pooling Fully Connected Hình 2.3: Tổng quan các loại lớp thường sử dụng trong CNN Ỷ Lớp tích chập sử dụng các bộ lọc thực hiện phép toán tích chập dé quét qua kich thước anh đầu vào.
Các siêu tham số bao gồm kích thước bộ lọc F và sai bước S. Kết quả đầu ra O được gọi là bản đồ đặc trưng hay bản đồ kích hoạt. Các bước tích chập có thé được tông quát hóa cho trường hợp 1D cũng như 3D. Filter Một bộ lọc có kích thước F x F áp dụng cho ma trận đầu vào có số kênh C là một ma trận F x F x C, bộ lọc này sẽ thực hiện phép tích chập lên đầu vào có kích thước IxIxC và trả về kết quả một bản đồ đặc trưng có kích thước O x O x 1.
Nếu hình ảnh đầu vào kích thước H x W x 3 >Hx W x32 thì sử dụng bộ lọc Fx Fx Cx K (với C=3, K=32). NS f Filter 1 Filter 2 Filter K Hình 2.4: Bộ loc trong kiến trúc CNN với kích thước F x F x C x K4 2. Stride Đối với hoạt động tích chập hay tổng hop (pooling), sai bước S biểu thi số lượng pixels mà cửa số di chuyên sau mỗi lần thao tác. 3 Nguồn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks 4 Nguôn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks GVHD: TS Nguyén Thanh Binh -7- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin Ss S ————* —————n* | [| aie} `.5: Sai bước trong kiến trúc CNN (sai bước là 2) > 2.
Pooling Tổng hợp là bước lay mẫu xuống được thực hiện sau lớp tích chập. Cụ thé bao gồm tổng hợp tối đa và tổng hợp trung bình. Tổng hop tối đa: quét qua bản đồ đặc trưng giống phép tích chập nhưng lay giá trị tối đa.6: Quá trình tổng hợp toi da (max pooling) © Tổng hợp trung bình: quét qua bản đồ đặc trưng giống phép tích chập nhưng lấy giá trị tối đa Hình 2.7: Quá trình tổng hợp trung bình (avg pooling) 7 5 67 Nguồn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks GVHD: TS Nguyễn Thanh Bình -8- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin 2. Fully Connected Layer Hoạt động trên một đầu vào phăng ma mỗi đầu vào được kết nối với tat cả các nơ- ron.
Các lớp kết nối đầy đủ thường được cài đặt ở cuối các kiến trúc CNN có thể sử dụng đê tôi ưu hóa các mục tiêu như đánh giá điêm sô phân lớp. conv2 feature maps conv1 feature maps 14x14x32 28x28x16 pool2 featuremaps FC1: 128 pool1 feature maps. 14x14x16 OUT: 10 : oe ‘ Hirer convolution pepe Full connection Full connection =5, F=16, s= =2, $= (k=5, F=32, s=1) =2, s= Hình 2.8: Lop kết noi day đủ trong kiến trúc CNN Š 2. Các bước tích chập trong CNN Bước 1: Bộ lọc tinh tổng các tích theo thứ tự các 6 ma trận dé tính tích Hình 2.9: Bộ lọc tính tổng các tích theo thứ tự các ô ma trận để tính tích chập 7 Bước 2 - Dịch ngang bộ lọc rồi tính tích chập cho đến khi hết hàng.
8 Nguồn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks ? Nguôn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks GVHD: TS Nguyễn Thanh Bình -9- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin Hình 2.10: Dịch ngang bộ lọc rồi tính tích chập cho đến khi hết hàng '° Bước 3 - Bộ lọc dịch xuống dưới rồi tính tích chập rồi tiếp tục như bước 2.11: Bộ lọc dịch xuống dưới rồi tính tích chập rồi tiếp tục như bước 2 !! Bước 4 - Kết quả trả về là một bản đồ đặc trưng.12: Kết quả trả về là một bản đồ đặc trưng !2 10 Nguồn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks " Nguôn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks !2 Nguôn: https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks GVHD: TS Nguyễn Thanh Bình -10- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin 2. Thuật toán phát hiện đối tượng YOLO Có rất nhiều thuật toán phát hiện đối tượng hiện nay tiêu biểu như nhóm R-CNN, Single Shot Detector (SSD), Histogram of Oriented Gradients (HOG), Spatial Pyramid Pooling (SPP-net),. YOLO cũng là một thuật toán phát hiện đối tượng tiên tiên nhât đên thời điêm hiện tại.13: Các đối tượng được phát hiện 13 YOLO (You Only Look Once) giải quyết van đề phát hiện vật thé một cách khác biệt. YOLO nhận vào toàn bộ bức ảnh, dự đoán tọa độ của vùng bao và xác suất mà đối tượng đó thuộc về nhãn nào trong bức ảnh.
Lợi thế lớn nhất khi sử dụng YOLO chính là tốc độ tuyệt vời của nó — YOLO có thé xử lý 45 khung hình/giây (FPS) va độ chính xác cao. !3 Nguồn: Internet GVHD: TS Nguyễn Thanh Bình -11- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin 50 = PP-YOLO (ours) 48 —YOLOv4 ERG b —®EfficientDet 46 amend tòi PP-YOLO [ours) “=#=YOLOv3+ASFF* 3 ~#-RFB $ 44 i RetinaNet & 42 +—RetinaNet— aPa Lm | | 8 YOLDv4 3 38 } Ị † Š YOLOv3+ASFE* 36 4 4 ‡ 4 fad RFB| 10 20 30 40 s0 60 70 80 90 100 I0 120 130 140 FPS(V100) Hình 2.14: So sánh giữa các phương pháp phát hiện đối tượng hiện nay | Do yêu cầu của hệ thông giám sát giao thông tự động hỗ trợ đếm xe và đo tốc độ rất cần độ chính xác cao đồng thời phải có tốc độ dự đoán nhanh nhằm không gây ra nhiều độ trễ cho hệ thống. Các phương pháp như Fast R-CNN, Faster R-CNN có độ chính xác rất cao nhưng tốc độ dự đoán của hai phương pháp này rất thấp nên không phù hợp với hệ thống. Cấu trúc YOLO YOLO có cấu trúc chính gồm 3 phan: e Input Layer (Lớp đầu vào).
e Darknet Layer hay còn gọi là backbone (xương sống).com/pp-yolo-beats-yolov4-object-detection/ GVHD: TS Nguyễn Thanh Bình -12- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin fully ; acy connected xB time s x C times connected ——“| q4<— —— x x | (x, y, W, h, obj score) | class probability DarkNet Architecture length: 5B+C 7x7x1024 4096 7x7x30 448x448x3 Hình 2.15: Kiến trúc của YOLO 1 2. Nguyên lý hoạt động của YOLO Đầu tiên, YOLO nhận vào một bức ảnh: 100 Hình 2.16: Ảnh đầu vào của YOLO 15 l5 Nguồn: https://www.com/blog/2018/12/practical-guide-object-detection-yolo-framewor- python/ '6 Nguôn: https://www.com/blog/2018/12/practical-guide-object-detection-yolo-framewor- python/ GVHD: TS Nguyén Thanh Binh -13- Sinh viên: Nguyễn Tiến Công Khóa luận tốt nghiệp Kỹ sư ngành Hệ thống Thông tin Sau đó bức ảnh sẽ được phân ra thành một dạng ma trận 3x3: Hình 2.17: Ảnh dau vào sau khi được chia thành ma trận ! Thao tác phân loại anh và xác định vi trí sẽ được thực hiện trên mỗi ô. YOLO sẽ dự đoán vùng bao và xác suât của nhãn mà đôi tượng đó thuộc vê. Giả sử phân bức ảnh đầu vào thành một ma trận 3x3 và có tổng cộng 3 lớp dữ liệu (người đi bộ, xe hơi, xe gắn máy) mà mô hình dùng đề phân loại đối tượng.
Đối với mỗi 6 trong ma trận được chia, vector dau ra y sẽ là một vector có 8 chiêu: Hình 2.18: Cầu trúc của vector y lŠ Trong đó: pe được định nghĩa là xác suất mà liệu có đối tượng xuất hiện trong 6 hay không. UN guon: https://www.com/blog/2018/12/practical-guide-object-detection-yolo-framewor- python/ !8 Nguôn: https://www.