1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ Án tốt nghiệp hệ thống giám sát hoạt Động con người tại các cửa hàng và nơi công cộng

27 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 2,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

o Thu thập dữ liệu, gắn nhãn và huấn luyện mô hình YOLOv8 để phát hiện người.o Triển khai thuật toán line-crossing kết hợp tracking để đếm người vào/ra.. o Tích hợp module nhận diện tuổi

Trang 1

HUMAN ACTIVITY MONITORING SYSTEM IN STORES AND PUBLIC PLACES

ĐỒ ÁN TỐT NGHIỆP

HỆ THỐNG GIÁM SÁT HOẠT ĐỘNG CON NGƯỜI TẠI CÁC CỬA HÀNG VÀ

NƠI CÔNG CỘNG GVHD: TS Phạm Việt Cường

Sinh viên thực hiện

Mai Nguyễn Luân - 2111702

Trang 2

NỘI DUNG

GIỚI THIỆU ĐỀ TÀI VÀ THIẾT BỊ SỬ DỤNG 1

CÁC THUẬT TOÁN SỬ DỤNG 2

KẾT QUẢ THỰC NGHIỆM 3

Trang 3

1 THIẾT BỊ SỬ DỤNG

1 GIỚI THIỆU ĐỀ TÀI VÀ THIẾT BỊ SỬ DỤNG

Trang 4

1.1 Giới thiệu đề tài

• Việc quản lý hoạt động con người tại các cửa hàng, nơi công cộng đóng vai trò quan trọng nhằm đảm bảo an

ninh, trật tự Chính vì vậy, đồ án HỆ THỐNG GIÁM SÁT HOẠT ĐỘNG CON NGƯỜI TẠI CÁC CỬA

HÀNG VÀ NƠI CÔNG CỘNG được thực hiện.

Trang 5

o Thu thập dữ liệu, gắn nhãn và huấn luyện mô hình YOLOv8 để phát hiện người.

o Triển khai thuật toán line-crossing kết hợp tracking để đếm người vào/ra

o Tích hợp module nhận diện tuổi, giới tính (Caffe + OpenCV DNN), module nhận diện thuộc tính ngoại hình

o Thiết kế cơ sở dữ liệu SQLite lưu trữ log sự kiện và ảnh minh chứng

o Phát triển ứng dụng C# WinForms (giám sát cục bộ, điều khiển line)

o Phát triển ứng dụng Flask Web (dashboard, logs, thống kê)

o Kiểm thử hệ thống trên dữ liệu thực tế (camera 720p, video)

1.1 Giới thiệu đề tài

CÁC CÔNG VIỆC ĐÃ THỰC HIỆN TRONG ĐỒ ÁN TỐT NGHIỆP:

Trang 6

Ứng dụng chính Hội nghị video, giám sát, phân tích hành vi

trong môi trường công cộng

Camera 2D

Trang 7

Thông số của Laptop

1.2 Thiết bị phần cứng sử dụng

Thành phần Thông số kỹ thuật CPU Intel Core i7-12800H

GPU NVIDIA GeForce RTX3050

RAM 16GB DDR4

Lưu trữ 512GB SSD M.2 NVMe PCIe

Pin 76Wh

Trọng lượng Khoảng 1.6kg

Hệ điều hành Windows 11 Home

Kết nối Wi-Fi 6, Bluetooth 5.1, USB-C

Máy tính cá nhân ACER Nitro V

Trang 8

2 CÁC THUẬT TOÁN SỬ DỤNG

Trang 9

2.1 Thuật toán nhận diện người

a) Training mô hình AI nhận diện người bằng YOLOv8

• Chuẩn bị dữ liệu ảnh

• Gắn nhãn bằng Robo-flow Mỗi vật thể khi gắn nhãn bằng mộtbounding box sẽ có chuẩn mã hóa có định dạng theo thứ tự là sốthứ tự class (class_id), các cột còn lại là tọa độ của bounding box (tọa độ tâm x, y của bbox, chiều rộng, chiều cao bbox)

• Bộ dữ liệu bao gồm 32187 tấm ảnh Được chia thành 2 tập theo

tỉ lệ 80% cho tập huấn luyện (training) bao gồm 25780 tấm ảnh, 20% cho tập thẩm định (validation) bao gồm 6437 tấm ảnh

Trang 10

2.1 Thuật toán nhận diện người

a) Training mô hình AI nhận diện người bằng YOLOv8

• Tiền xử lý đưa ảnh về kích thước 640x640, đồng thời thực hiện thêm

kỹ thuật auto-orient và auto-adjust contrast để đảm bảo các hình ảnh trong tập dữ liệu đều có 1 hướng nhất quán và độ tương phản nhất định

để hiệu suất cao hơn

• Tăng cường dữ liệu thông qua việc xoay, lật ảnh, đổi màu,…

Trang 11

2.1 Thuật toán nhận diện người

a) Training mô hình AI nhận diện người bằng YOLOv8

• Huấn luyện mô hình với các tham số cơ bản

model YOLO("yolo8n.pt") Mô hình YOLOv8n phiên bản nhỏ (nano - n).

batch 16 Số lượng ảnh trong mỗi lần huấn luyện (batch size).

epochs 300 Số chu kỳ huấn luyện.

patience 15 Số epochs tối đa không cải thiện trước khi dừng sớm (early stopping) Tránh mô hình bị

overfitting khi không còn cải thiện sai số (loss).

optimizer 'AdamW' Thuật toán tối ưu hóa AdamW cải tiến từ Adam giúp điều chỉnh learning rate linh hoạt và giảm

overfitting hiệu quả hơn so với Gradient Descent truyền thống.

lr0 0.0005 Learning rate ban đầu Giá trị nhỏ giúp mô hình học ổn định, nhất là trong những epoch đầu.

dropout 0.35 Xác suất loại bỏ ngẫu nhiên một số neuron trong quá trình huấn luyện để tránh overfitting.

imgsz 640 Kích thước hình ảnh đầu vào (640x640) Giá trị tiêu chuẩn cho YOLO.

plots True Tạo biểu đồ trực quan trong quá trình huấn luyện để theo dõi hiệu suất.

val True Sử dụng tập validation trong quá trình huấn luyện để theo dõi độ chính xác và tránh overfitting.

Trang 12

2.1 Thuật toán nhận diện người

b) Đánh giá chất lượng mô hình

Sai số (loss) trên tập huấn luyện: Giảm dần theo từng epochs cho thấy rằng mô hình đang có xu hướng học tốt, cải thiện khả năng dự đoán đối tượng của mình trên tập huấn luyện.

Sai số (loss) trên tập kiểm chứng

− Với sai số trên box, class đang giảm dần cho thấy mô hình có khả năng cải thiện và hoạt động chính xác trên tập validation, một tập mà mô hình chưa từng thấy trong quá trình học.

− Tuy nhiên, ở những epochs sau, sai số có khuynh hướng giảm nhẹ và bắt đầu không có khả năng cải thiện đáng kể, ngoài ra ở dfl_loss thì sai số bắt đầu có khuynh hướng tăng Điều này, cho thấy mô hình đang có khuynh hướng bắt đầu bị học quá khớp (overftting).

Trang 13

2.2 Thuật toán đếm dựa trên đường mốc (Line Crossing Counting)

• Để xác định việc một người đã đi vào hay đi ra, hệ thống xây dựng hai đường tham chiếu (entry line và

exit line) Mỗi đường thẳng đi qua hai điểm , được biểu diễn bởi phương trình:

• Hàm kiểm tra vị trí điểm đối với đường thẳng được định nghĩa: f x y ( ) , = Ax By C + +

0

Ax By C + + =

( 1, 1)

A x y B x y( 2, 2)

• Khi quỹ đạo của một track ID cho thấy sự

thay đổi dấu của hàm f(x,y), người đó đã

vượt qua đường mốc Hướng di chuyển đượcxác định dựa trên quỹ đạo của tâm bbox theotrục tung

Trang 14

2.2 Thuật toán đếm dựa trên đường mốc (Line Crossing Counting)

• Mục tiêu: Đếm số lượng người ra/vào trong khu vực giám sát (cửa hàng, lối đi…) dựa trên

hướng di chuyển, đảm bảo mỗi người chỉ được đếm một lần

• Quy trình hoạt động

o Phát hiện người bằng YOLOv8 → lấy bounding box và track_id

o Xác định tâm bbox và lưu quỹ đạo di chuyển trong track_memory

o Ước lượng hướng di chuyển (“up” hoặc “down”) dựa trên chuỗi điểm quỹ đạo

o So sánh với 2 line đếm (Entry & Exit): Nếu đi qua line đỏ → line xanh theo chiều xuống →tăng count_in Nếu đi qua line xanh → line đỏ theo chiều lên → tăng count_out

o Cơ chế arming/trigger: ID phải đi qua lần lượt 2 line theo đúng thứ tự mới được đếm →tránh đếm sai khi người đứng lại, đổi hướng hoặc dao động gần line

Trang 15

2.3 Thuật toán nhận diện khuôn mặt, tuổi và giới tính

• Mục tiêu: Xác định khuôn mặt người trong khung hình từ camera Từ đó suy luận

giới tính và nhóm tuổi (0–2, 4–6, 8–12, 15–20, 25–32, 38–43, 48–53, 60–100

• Quy trình hoạt động

o Sử dụng mô hình SSD + MobileNet (OpenCV DNN) để phát hiện khuôn mặt

o Xuất bounding box + confidence (chỉ chọn khuôn mặt có confidence > 0.7)

o Tiền xử lý khuôn mặt (crop và resize)

o Sử dụng mô hình GenderNet nhận diện giới tính, đầu ra vector 2 chiều [Male, Female], giới tính có xác suất cao nhất được chọn làm kết quả

o Đồng thời khuôn mặt sau chuẩn hóa cũng được đưa vào mô hình AgeNet Kết

Trang 16

2.4 Thuật toán nhận diện một số đặc điểm bề ngoài

Mục tiêu: Xác định các thuộc tính ngoại hình của người trong khung hình, ví dụ: giới tính,

balo, túi xách, mũ, áo dài tay, quần dài, tóc dài, áo khoác

• Quy trình hoạt động

o Sử dụng mô hình Person Attributes Recognition (OpenVINO), kiến trúc CNN đã huấn luyện sẵn

o Đầu vào: ảnh toàn thân của người (crop từ bounding box YOLO)

o Tiền xử lý: resize ảnh về 80×160 px, chuẩn hóa theo yêu cầu của model

o Mô hình xuất vector 8 giá trị xác suất, mỗi giá trị tương ứng một thuộc tính ngoại hình

o Kết quả: trả về dict gồm các đặc điểm bề ngoài kèm theo độ tin cậy (confidence)

Trang 17

2.5 Xây dựng cơ sở dữ liệu SQLite

• Mục tiêu: Quản lý ghi nhận và lưu trữ sự kiện từ camera, gồm: ID, hướng di chuyển, thời gian, ảnh bằng

chứng, tuổi, giới tính, thuộc tính ngoại hình, độ tin cậy Đảm bảo có dữ liệu phục vụ thống kê và phân tích

o Lưu ảnh bằng chứng: theo thư mục thời gian, tên file theo ID + timestamp

o Ghi DB: chèn đầy đủ thông tin sự kiện vào SQLite

Trang 18

2.6 Xây dựng ứng dụng quan sát và điều khiển hệ thống

• Ứng dụng giám sát và điều khiển được phát triển bằng ngôn ngữ C# trên nền tảng Visual Studio 2022 Đây làthành phần trọng tâm, giữ vai trò cầu nối giữa các khối chức năng khác nhau trong hệ thống, bao gồm mô-đun

xử lý hình ảnh bằng Python (Flask kết hợp với YOLO), cơ sở dữ liệu SQLite để lưu trữ thông tin, cùng vớigiao diện người dùng đảm nhận nhiệm vụ quan sát và điều khiển trực tiếp

Điều khiển hệ thống Khởi động/Dừng hệ thống Quan sát video Hiển thị luồng video thời gian thực Điều chỉnh vạch đếm Thiết lập và hiệu chỉnh các đường đếm

(Line Setup, Red Line, Green Line) Điều chỉnh góc nghiêng Thay đổi độ dốc của vạch đếm Xác nhận thay đổi Lưu cấu hình vạch đếm sau khi điều chỉnh Điều khiển đếm Bắt đầu/Tạm dừng quá trình đếm

Hỗ trợ quan sát Hiện/ẩn hộp bao quanh đối tượng

Trang 19

1 THIẾT BỊ SỬ DỤNG

3 KẾT QUẢ THỰC NGHIỆM

Trang 20

3.1 Kết quả mô hình nhận diện người

Trang 21

3.2 Kết quả mô hình nhận diện tuổi và giới tính

• Thử nghiệm mô hình trên tập dữ liệu ảnh thu thập từ camera giám sát, mỗi đối tượng được dự đoán đồng thời vềgiới tính và độ tuổi (theo 8 dải giá trị rời rạc: 0–2, 4–6, 8–12, 15–20, 25–32, 38–43, 48–53, 60–100)

• Mô hình có khả năng dự đoán tương đối tốt đối với những đối tượng có hình ảnh rõ ràng Tuy nhiên, vẫn tồn tạisai số nhất định trong các trường hợp đặc thù như góc chụp không thuận lợi, kết quả sẽ là N/A

Trang 22

3.3 Kết quả thử nghiệm mô hình nhận diện một số đặc điểm bên ngoài

• Tiến hành thử nghiệm trên tập 100 ảnh được lựa chọn từ hệ thống camera giám sát

• Trong quá trình đánh giá, mỗi ảnh được gán nhãn tham chiếu thủ công (ground truth) bằng quan sát trực tiếp từcon người, sau đó so sánh với kết quả dự đoán của mô hình

• Mô hình đạt độ chính xác tương đối cao đối với các đặc điểm dễ nhận diện như giới tính, tóc dài, mặc quần dài,

Trang 23

3.4 Kết quả thử nghiệm toàn bộ hệ thống giám sát

a) Mô tả tình huống lắp đặt và thử nghiệm hệ thống

• Camera lắp đặt ở tầng cao hơn trong trung tâm thương mại,cho phép quan sát được toàn cảnh bao gồm lối đi chính, hànhlang và khu vực cửa hàng

• Trong quá trình triển khai và thử nghiệm, hệ thống giám sátđược xây dựng với kiến trúc kết nối như sau camera giám sát; máy tính có cài đặt ứng dụng GUI Camera để quan sát,

• Tín hiệu hình ảnh được ghi nhận từ camera có độ phân giải720p với tốc độ 30 khung hình/giây, đảm bảo dữ liệu ở mứcchất lượng đủ cao để nhận diện và phân tích hành vi

b) Thử nghiệm hệ thống

Trang 24

3.4 Kết quả thử nghiệm toàn bộ hệ thống giám sát

Giao diện trang web khi đã đăng nhập thành côngvv

b) Thử nghiệm hệ thống

Giao diện GUI Camera

Trang 25

3.4 Kết quả thử nghiệm toàn bộ hệ thống giám sát

Giao diện web khi cho phép nhận diện và đếm Giao diện ứng dụng về dữ liệu ghi nhận lại được

Trang 26

3.4 Kết quả thử nghiệm toàn bộ hệ thống giám sát

• Trang Statistics & Analysis trong hệ thống đóng vai trò tổng hợp và trực quan hóa dữ liệu từ các sự kiệnnhận diện người Giao diện được chia thành ba phần chính: bộ lọc (filter), biểu đồ thống kê, và phần đánhgiá (chart evaluation)

Trang 27

4 KẾT QUẢ THỰC NGHIỆM

CẢM ƠN QUÝ THẦY CÔ VÀ CÁC BẠN ĐÃ LẮNG NGHE

Ngày đăng: 16/10/2025, 10:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w