Đồ án: Hệ thống phát hiện xâm nhập qua Telegram bằng học sâu (ĐH SPKT)

Tìm hiểu cách xây dựng hệ thống phát hiện xâm nhập bằng AI, gửi cảnh báo an ninh tự động, nhanh chóng và chính xác qua ứng dụng Telegram.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2023

58
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP

MỤC LỤC

1. PHẦN 1: MỞ ĐẦU

1.1. TRÌNH BÀY TÍNH CẤP THIẾT CỦA ĐỀ TÀI

1.2. MỤC ĐÍCH CỦA ĐỀ TÀI

1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

2. PHẦN 2: NỘI DUNG

1. CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG

1.1. PHÂN TÍCH HIỆN TRẠNG

1.2. PHÂN TÍCH YÊU CẦU:

2. CHƯƠNG 2: TỔNG QUAN VỀ YOLO

2.1. GIỚI THIỆU VỀ NEURAL NETWORK[1]

2.2. GIỚI THIỆU VỀ YOLO

2.3. LỊCH SỬ PHÁT TRIỂN

2.4. KIẾN TRÚC YOLO

2.5. THUẬT TOÁN YOLO

2.6. OUTPUT CỦA YOLO[3]

2.7. THUẬT TOÁN NON-MAXIMUM SUPPRESSION(NMS)[8]

2.8. DỰ BÁO TRÊN NHIỀU FEATURE MAP[4]

2.9. HÀM LOSS FUNCTION[4]

2.10. ỨNG DỤNG CỦA YOLO

3. CHƯƠNG 3: HUẤN LUYỆN YOLOv4

3.1. TẬP DỮ LIỆU

3.2. CẤU HÌNH ĐỂ HUẤN LUYỆN

3.3. SỬ DỤNG GOOGLE COLABORATORY ĐỂ HUẤN LUYỆN[10]

4. CHƯƠNG 4: XÂY DỰNG HỆ THỐNG

4.1. THIẾT KẾ HỆ THỐNG

4.2. TẠO RA BOTCHAT TELEGRAM[11]

4.3. XÂY DỰNG HỆ THỐNG YOLODETECT

4.4. TRIỂN KHAI HỆ THỐNG VÀ KẾT QUẢ

3. PHẦN 3: KẾT LUẬN

3.1. KẾT QUẢ ĐẠT ĐƯỢC

3.2. NHƯỢC ĐIỂM

3.3. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

DANH MỤC TÀI LIỆU THAM KHẢO

DANH MỤC HÌNH ẢNH

Tóm tắt

I. Khám phá hệ thống phát hiện xâm nhập bằng AI Telegram

Hệ thống phát hiện xâm nhập bằng AI và Telegram là một giải pháp an ninh tiên tiến, kết hợp sức mạnh của trí tuệ nhân tạo (AI) và khả năng cảnh báo tức thời của ứng dụng nhắn tin Telegram. Công nghệ này giải quyết bài toán an ninh giám sát một cách tự động và hiệu quả. Thay vì phụ thuộc vào sự quan sát của con người, hệ thống sử dụng các thuật toán học máy (machine learning) để phân tích dữ liệu hình ảnh từ camera. Mục tiêu chính là xây dựng một hệ thống an ninh thông minh có khả năng tự động nhận diện người đi vào khu vực được xác định là nguy hiểm hoặc bị cấm. Khi phát hiện một đối tượng, hệ thống sẽ ngay lập tức gửi cảnh báo đột nhập thời gian thực đến người quản lý thông qua tin nhắn Telegram. Giải pháp này đặc biệt hữu ích tại các công trường xây dựng, bệnh viện, hoặc khu vực tư nhân cần bảo mật cao. Đề tài nghiên cứu "Xây dựng hệ thống phát hiện xâm nhập và thông báo cho người sử dụng qua tin nhắn telegram bằng học sâu" của tác giả Đặng Ngọc Sơn (2023) đã chứng minh tính khả thi và hiệu quả của việc tích hợp AI và IoT trong lĩnh vực an ninh. Hệ thống không chỉ nhận diện mà còn gửi kèm hình ảnh của đối tượng, giúp người dùng xác minh tình hình một cách nhanh chóng và chính xác. Đây là một bước tiến vượt bậc so với các hệ thống camera giám sát truyền thống, vốn chỉ có chức năng ghi hình thụ động.

1.1. Tầm quan trọng của giám sát bằng trí tuệ nhân tạo

Giám sát bằng trí tuệ nhân tạo đang định hình lại ngành công nghiệp an ninh. Công nghệ này sử dụng thị giác máy tính và các mô hình học sâu để phân tích video trong thời gian thực, vượt qua giới hạn của con người. Các hệ thống AI có thể hoạt động 24/7 mà không mệt mỏi, đảm bảo không bỏ sót bất kỳ sự kiện đáng ngờ nào. Khả năng nhận diện đối tượngphát hiện chuyển động một cách thông minh giúp giảm thiểu báo động giả, một vấn đề cố hữu của các cảm biến chuyển động truyền thống. AI có thể phân biệt giữa người, động vật, và các vật thể khác, chỉ kích hoạt cảnh báo khi phát hiện đúng đối tượng mục tiêu. Hơn nữa, việc áp dụng các mô hình như YOLO (You Only Look Once) cho phép xử lý ảnh thời gian thực với tốc độ cao, điều kiện tiên quyết cho các ứng dụng an ninh cần phản ứng tức thì. Việc này không chỉ tăng cường an ninh mà còn tối ưu hóa nguồn nhân lực, giải phóng con người khỏi công việc giám sát đơn điệu và tốn kém.

1.2. Lợi ích của việc gửi thông báo qua Telegram tức thì

Telegram được chọn làm kênh thông báo chính nhờ tính ổn định, bảo mật cao và API mạnh mẽ. Việc sử dụng Telegram Bot API cho phép các nhà phát triển dễ dàng tạo ra các bot tự động có khả năng gửi tin nhắn, hình ảnh, và video. Trong một hệ thống phát hiện xâm nhập, khả năng nhận cảnh báo qua điện thoại ngay lập tức là yếu tố sống còn. Khi một đối tượng được AI xác định là mối đe dọa, hệ thống sẽ tự động chụp lại khoảnh khắc đó và gửi thông báo qua Telegram đến người dùng. Thông báo này không chỉ là một dòng văn bản đơn thuần mà còn đi kèm hình ảnh bằng chứng, giúp người nhận nhanh chóng đánh giá mức độ nghiêm trọng của tình hình. Theo nghiên cứu, việc tích hợp này giúp "thông báo kịp thời đến mạng xã hội telegram của người dùng tránh các rủi ro không cần thiết". Điều này biến chiếc điện thoại thông minh thành một trung tâm giám sát an ninh di động, cho phép người dùng hành động kịp thời dù ở bất cứ đâu.

II. Thách thức của các hệ thống an ninh giám sát truyền thống

Các hệ thống an ninh truyền thống, dù đã có nhiều cải tiến, vẫn tồn tại những hạn chế cố hữu, đặc biệt khi đối mặt với các mối đe dọa tinh vi. Vấn đề lớn nhất là sự phụ thuộc quá nhiều vào nguồn nhân lực. Việc theo dõi liên tục nhiều màn hình camera là một công việc mệt mỏi và dễ gây ra sai sót. Con người khó có thể duy trì sự tập trung cao độ trong thời gian dài, dẫn đến nguy cơ bỏ lỡ các sự kiện xâm nhập quan trọng. Theo phân tích hiện trạng trong tài liệu gốc, một trong những hạn chế lớn là "Tiêu tốn nhiều vào nguồn nhân lực để phát hiện". Hơn nữa, các hệ thống cũ thường thiếu khả năng phân tích thông minh. Chúng chỉ ghi lại hình ảnh một cách thụ động, việc trích xuất thông tin hay điều tra sự cố đòi hỏi phải xem lại hàng giờ, thậm chí hàng ngày video. Các cảm biến phát hiện chuyển động cơ bản thường gây ra nhiều báo động giả do không phân biệt được người, vật nuôi hay sự thay đổi của môi trường như cành cây lay động. Điều này làm giảm độ tin cậy của hệ thống và gây phiền toái cho người sử dụng. Việc thiếu khả năng cảnh báo đột nhập thời gian thực một cách hiệu quả và tự động cũng là một điểm yếu, làm chậm trễ thời gian phản ứng trước các tình huống khẩn cấp.

2.1. Hạn chế về chi phí và nguồn lực con người

Chi phí vận hành là một rào cản lớn đối với các hệ thống giám sát truyền thống. Để đảm bảo an ninh 24/7, các tổ chức phải thuê nhiều nhân viên an ninh làm việc theo ca. Chi phí lương, đào tạo và phúc lợi cho đội ngũ này chiếm một phần đáng kể trong ngân sách. Ngoài ra, việc xây dựng một phòng giám sát trung tâm với đầy đủ trang thiết bị cũng rất tốn kém. Những hệ thống này không phát huy hết công dụng của camera, biến chúng thành công cụ ghi hình đơn thuần thay vì một phần của một hệ thống an ninh thông minh chủ động. Sự mệt mỏi và yếu tố cảm tính của con người cũng ảnh hưởng đến hiệu quả giám sát, tạo ra những lỗ hổng an ninh tiềm tàng mà kẻ xấu có thể lợi dụng.

2.2. Tỷ lệ báo động giả cao và khả năng phân tích kém

Một trong những nhược điểm lớn nhất của công nghệ giám sát cũ là tỷ lệ báo động giả cao. Các cảm biến hồng ngoại thụ động (PIR) hay các thuật toán phát hiện chuyển động dựa trên pixel rất nhạy cảm với những thay đổi không liên quan, từ một con mèo chạy qua sân đến ánh đèn xe rọi vào. Mỗi báo động giả đều đòi hỏi sự chú ý và xác minh từ con người, gây lãng phí thời gian và làm giảm sự cảnh giác đối với các mối đe dọa thực sự. Thêm vào đó, khả năng phân tích sau sự kiện của các hệ thống này rất hạn chế. Khi cần tìm kiếm một đối tượng hay một sự việc cụ thể, nhân viên an ninh phải tua lại video một cách thủ công, một quy trình tốn thời gian và không hiệu quả. Việc thiếu các công cụ phân tích tự động như nhận diện khuôn mặt hay theo dõi đối tượng khiến việc điều tra trở nên vô cùng khó khăn.

III. Phương pháp nhận diện đối tượng xâm nhập bằng mô hình YOLO

Để xây dựng một hệ thống an ninh giám sát tự động hiệu quả, việc lựa chọn thuật toán nhận diện đối tượng là yếu tố then chốt. Nghiên cứu đã lựa chọn mô hình YOLO (You Only Look Once), cụ thể là phiên bản YOLOv4, vì tốc độ và độ chính xác vượt trội. YOLO được xem là thuật toán nhanh nhất, có khả năng xử lý video trong thời gian thực. Đúng như tên gọi, YOLO chỉ cần "nhìn" qua ảnh một lần để phát hiện tất cả các đối tượng. Cơ chế hoạt động của YOLO dựa trên một mạng nơ-ron tích chập (CNN) duy nhất. Mạng này chia ảnh đầu vào thành một lưới các ô (grid cells). Mỗi ô có nhiệm vụ dự đoán các hộp giới hạn (bounding box) và xác suất lớp cho các đối tượng có tâm nằm trong ô đó. Kiến trúc của YOLOv4 sử dụng Darknet-53 làm mạng trích xuất đặc trưng, cho phép học các biểu diễn tổng quát hóa của vật thể. Điều này giúp mô hình hoạt động tốt ngay cả với các đầu vào bất thường. Tác giả Đặng Ngọc Sơn nhấn mạnh rằng "Base network của YOLO có tốc độ là 45 fps", giúp hệ thống có thể xử lý streaming video với độ trễ cực thấp, một yêu cầu bắt buộc cho việc cảnh báo đột nhập thời gian thực.

3.1. Kiến trúc và cơ chế hoạt động của thuật toán YOLOv4

Mô hình YOLOv4 có kiến trúc phức tạp nhưng hiệu quả, bao gồm ba phần chính: Backbone (xương sống), Neck (cổ), và Head (đầu). Backbone, thường là mạng Darknet-53, chịu trách nhiệm trích xuất các đặc trưng từ ảnh đầu vào. Phần Neck, với các cơ chế như SPP (Spatial Pyramid Pooling) và PANet (Path Aggregation Network), có nhiệm vụ tổng hợp các đặc trưng từ nhiều lớp khác nhau để tăng cường thông tin ngữ cảnh. Cuối cùng, phần Head thực hiện việc dự đoán vị trí (bounding box) và phân loại đối tượng. Một điểm cải tiến quan trọng là YOLOv4 dự báo trên nhiều feature map ở các tỷ lệ khác nhau. Điều này cho phép mô hình phát hiện được cả những vật thể có kích thước nhỏ và lớn trong cùng một khung hình, cải thiện đáng kể độ chính xác so với các phiên bản trước. Quá trình này được hỗ trợ bởi thuật toán Non-Maximum Suppression (NMS) để loại bỏ các hộp giới hạn trùng lặp, chỉ giữ lại dự đoán tốt nhất cho mỗi đối tượng.

3.2. Quá trình huấn luyện mô hình với bộ dữ liệu tùy chỉnh

Để mô hình có thể nhận diện chính xác đối tượng là con người, quá trình huấn luyện đóng vai trò quyết định. Nghiên cứu đã sử dụng bộ dữ liệu CrowdHuman Dataset, bao gồm hàng chục nghìn hình ảnh về con người trong nhiều bối cảnh khác nhau. Môi trường huấn luyện được thiết lập trên Google Colaboratory, một nền tảng cung cấp GPU miễn phí, rất phù hợp cho các tác vụ học máy (machine learning) đòi hỏi năng lực tính toán cao. Quá trình huấn luyện bao gồm việc cấu hình các tệp, chuẩn bị dữ liệu, và chạy thuật toán trên Darknet framework. Tác giả đã sử dụng một tệp trọng số được huấn luyện trước (pre-trained weights) của YOLOv4 để tăng tốc độ hội tụ và cải thiện hiệu suất. Sau 4000 vòng lặp, mô hình đã đạt được kết quả ấn tượng với "mAP lên đến 78% và avg loss = 24". Các chỉ số này cho thấy mô hình đã học được cách nhận diện đối tượng con người với độ chính xác cao, sẵn sàng để tích hợp vào hệ thống giám sát thực tế.

IV. Hướng dẫn xây dựng hệ thống cảnh báo đột nhập thời gian thực

Việc xây dựng một hệ thống phát hiện xâm nhập bằng AI hoàn chỉnh bao gồm nhiều bước, từ thu nhận hình ảnh đến gửi cảnh báo. Dựa trên mô hình đã huấn luyện, hệ thống được triển khai bằng ngôn ngữ Python với sự hỗ trợ của các thư viện mạnh mẽ. Quy trình tổng thể có thể được mô tả qua một pipeline 6 bước. Đầu tiên, hệ thống sử dụng thư viện OpenCV Python để đọc dữ liệu video trực tiếp từ camera. Tiếp theo, giao diện cho phép người dùng vẽ và định nghĩa một hoặc nhiều "vùng nguy hiểm" trên khung hình. Đây là khu vực mà hệ thống sẽ giám sát chặt chẽ. Bước thứ ba, mô hình camera AI chống trộm YOLOv4 được nạp để xử lý từng khung hình, thực hiện việc nhận diện đối tượng. Nếu một đối tượng (trong trường hợp này là người) được phát hiện, hệ thống sẽ xác định tọa độ tâm (centroid) của hộp giới hạn bao quanh đối tượng đó. Bước quan trọng nhất là kiểm tra xem tọa độ tâm này có nằm trong vùng nguy hiểm đã được định nghĩa hay không. Nếu có, hệ thống sẽ kích hoạt cơ chế cảnh báo, bao gồm hiển thị thông báo trên màn hình và đồng thời gửi thông báo qua Telegram đến người dùng. Quy trình này tạo ra một vòng lặp giám sát liên tục và tự động.

4.1. Tích hợp camera và OpenCV để xử lý ảnh thời gian thực

Thư viện OpenCV Python là công cụ không thể thiếu trong các dự án thị giác máy tính. Nó cung cấp các hàm để kết nối và lấy luồng video từ hầu hết các loại camera, từ webcam đơn giản đến các hệ thống camera IP phức tạp. Trong hệ thống này, OpenCV được dùng để mở camera và đọc từng khung hình (frame) theo thời gian thực. Mỗi khung hình sau đó được tiền xử lý, ví dụ như thay đổi kích thước thành 416x416 pixel để phù hợp với đầu vào của mô hình YOLO. Ngoài ra, OpenCV còn được sử dụng để vẽ các yếu tố đồ họa lên video đầu ra, chẳng hạn như vẽ các hộp giới hạn quanh đối tượng bị phát hiện, hiển thị nhãn "person", và đặc biệt là vẽ đa giác đại diện cho "vùng nguy hiểm" do người dùng định nghĩa. Sự kết hợp giữa khả năng xử lý video tốc độ cao của OpenCV và năng lực phân tích của AI tạo nên một hệ thống xử lý ảnh thời gian thực mạnh mẽ.

4.2. Cách tạo Telegram Bot và gửi cảnh báo tự động

Để tích hợp cảnh báo, bước đầu tiên là tạo một bot trên Telegram bằng cách tương tác với 'BotFather' - một bot chính thức của Telegram. Sau khi đặt tên và nhận được token API, bot đã sẵn sàng để được điều khiển bằng mã lệnh. Trong mã nguồn Python, thư viện telegram được sử dụng để tương tác với Telegram Bot API. Một hàm chuyên dụng được viết để gửi cảnh báo. Khi hệ thống phát hiện xâm nhập, hàm này sẽ được gọi. Nó sẽ chụp lại khung hình hiện tại có đối tượng vi phạm, lưu thành một tệp ảnh tạm thời. Sau đó, bot sẽ gửi bức ảnh này kèm theo một dòng chú thích, ví dụ: "Có xâm nhập, nguy hiểm!", đến một chat_id cụ thể của người dùng. Hệ thống được lập trình để gửi cảnh báo lặp lại sau mỗi vài giây nếu đối tượng vẫn còn trong vùng nguy hiểm. Điều này đảm bảo người dùng nhận được thông báo liên tục cho đến khi mối đe dọa được xử lý.

V. Ứng dụng thực tiễn và kết quả của hệ thống an ninh AI

Hệ thống phát hiện xâm nhập bằng AI và Telegram sau khi được xây dựng đã chứng tỏ hiệu quả cao trong các thử nghiệm thực tế. Đây là một giải pháp nhà thông minh DIY mạnh mẽ, cho phép người dùng tự triển khai một lớp an ninh cao cấp với chi phí hợp lý. Giao diện của hệ thống được thiết kế trực quan, hiển thị luồng video trực tiếp từ camera. Người dùng có thể dễ dàng sử dụng chuột để vẽ một đa giác bất kỳ trên màn hình, xác định chính xác khu vực cần bảo vệ. Khi một người di chuyển vào khu vực này, hệ thống phản ứng ngay lập tức. Một dòng chữ cảnh báo "warning!!!" màu đỏ sẽ xuất hiện ở góc màn hình, đồng thời, một tin nhắn kèm hình ảnh được gửi đến tài khoản Telegram của người quản lý. Kết quả từ nghiên cứu cho thấy, với mô hình YOLOv4 được huấn luyện kỹ lưỡng, hệ thống đạt độ chính xác cao trong việc nhận diện đối tượng, giảm thiểu tối đa các báo động sai. Hình ảnh thực tế từ hệ thống cho thấy các hộp giới hạn bao quanh đối tượng rất chính xác, và tâm đối tượng được xác định đúng, làm cơ sở cho việc kích hoạt cảnh báo một cách đáng tin cậy. Đây là một minh chứng rõ ràng cho tiềm năng của việc tích hợp AI và IoT trong đời sống.

5.1. Triển khai trên các thiết bị như Raspberry Pi ESP32 CAM

Mặc dù nghiên cứu ban đầu được thực hiện trên máy tính, kiến trúc của hệ thống hoàn toàn có thể được tối ưu và triển khai trên các thiết bị nhúng nhỏ gọn. Các dự án Raspberry Pi security camera là một ví dụ điển hình. Raspberry Pi, với sức mạnh xử lý đủ để chạy các phiên bản nhẹ của mô hình YOLO (như YOLOv4-tiny), có thể trở thành bộ não trung tâm cho một camera an ninh độc lập. Tương tự, một dự án ESP32-CAM project có thể được sử dụng như một node camera phụ, thực hiện các tác vụ phát hiện chuyển động cơ bản và gửi hình ảnh về một máy chủ trung tâm (như Raspberry Pi) để phân tích bằng AI. Việc triển khai trên các thiết bị này giúp tạo ra một mạng lưới an ninh giám sát tự động linh hoạt, tiết kiệm năng lượng và chi phí, phù hợp cho việc bảo vệ nhà riêng, văn phòng nhỏ, hoặc các khu vực biệt lập.

5.2. Đánh giá hiệu quả Độ chính xác và tốc độ phản hồi

Hiệu quả của hệ thống được đánh giá dựa trên hai tiêu chí chính: độ chính xác phát hiện và tốc độ phản hồi. Về độ chính xác, mô hình YOLOv4 được huấn luyện đã đạt mAP 78%, một con số rất tốt cho bài toán phát hiện người trong môi trường thực tế phức tạp. Điều này đảm bảo hệ thống có khả năng nhận diện đúng đối tượng và ít bị nhầm lẫn. Về tốc độ phản hồi, hệ thống có khả năng xử lý video với tốc độ khoảng 45 khung hình/giây (FPS) trên một GPU phù hợp. Tốc độ này đảm bảo rằng không có độ trễ đáng kể giữa thời điểm sự kiện xảy ra và thời điểm hệ thống phát hiện ra nó. Quá trình gửi cảnh báo qua điện thoại qua Telegram cũng diễn ra gần như tức thì, chỉ mất khoảng 1-2 giây sau khi phát hiện. Tốc độ phản hồi nhanh chóng này là yếu tố cực kỳ quan trọng, cho phép người dùng có thể can thiệp kịp thời trước khi có thiệt hại xảy ra.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

21/09/2025
Đồ án tốt nghiệp xây dựng hệ thống phát hiện xâm nhập và thông báo cho người sử dụng qua tin nhắn telegram bằng học sâu

Trích đoạn nội dung tài liệu

CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG 1.1 PHÂN TÍCH HIỆN TRẠNG Trước khi tiến hành việc thực hiện đề tài, em thực hiện đã khảo sát các cách để giảm thiểu tình trạng đối tượng xâm nhập vào vùng không an toàn ở những bệnh viện và ở những công trình trong và ngoài nước. Nhìn chung các cách ở những nước đang phát triển hầu như sử dụng bằng con người, ngoài ra ở một số nước chưa có cách để khắc phục. Một số nước phát triển sẽ có camera ở các công trình và bệnh viện, một số ít trong đó đã có hệ thống phát hiện đối tượng. Qua quá trình tìm hiểu và khảo sát đối với các hệ thống phát hiện đối tượng nhóm có nhận xét sau: Ưu điểm: • Có thể phát hiện kịp thời và ngăn cản đối tượng khi xuất hiện ở các vùng nguy hiểm.

Hạn chế: • Tiêu tốn nhiều vào nguồn nhân lực để phát hiện. • Không phát huy hết công dụng của những camera. Dựa trên khảo sát và phân tích như trên, em đã đề ra những điều mà cần tiếp thu học hỏi cũng như cải tiến áp dụng vào việc xây hệ thống của mình: • Cần tạo ra một hệ thống phát hiện và thông báo kịp thời. • Hệ thống sẽ thay đổi vị trí nguy hiểm do người sử dụng chỉ định.

• Hệ thống sẽ thông báo liên tục đến telegram người sử dụng đến khi đối tượng ra khỏi vùng nguy hiểm.2 PHÂN TÍCH YÊU CẦU: Dựa trên kết quả của phân tích hiện trạng thực tế hiện nay của lĩnh vực, nhóm đã xác định được các yêu cầu chức năng nghiệp vụ cần được xây dựng để đảm bảo tiêu chuẩn chất lượng và tạo nên những điểm mới trước khi tiến hành xây dựng đề tài: 3 Tính toán: • Tính toán vị trí của đối tượng tiếp xúc với vùng nguy hiểm. Kết quả: • Đưa ra thông báo kịp thời đến người dùng. 4 CHƯƠNG 2: TỔNG QUAN VỀ YOLO 2. GIỚI THIỆU VỀ NEURAL NETWORK[1] Trước tiên muốn hiểu về YOLO và cách thức hoạt động của YOLO chúng ta cần hiểu về mạng Neural Network là gì.

Neural Network hay còn được gọi là Mạng nơ-ron nhân tạo. Đây là chuỗi những thuật toán được đưa ra dựa vào việc bắt chước cách thức hoạt động từ não bộ con người nhằm tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu. Nói cách khác, đây được xem là hệ thống các tế bào thần kinh nhân tạo. Hình 1: Hình ảnh mô phỏng mạng nơ-ron nhân tạo.

Kiến trúc mạng Neutal Network Mạng Neural Network là sự kết hợp của những tầng perceptron (perceptron đa tầng) và thường bao gồm 3 kiểu tầng: • Tầng vào (tầng input layer): Nằm bên trái cùng, thể hiện cho đầu vào của mạng. • Tầng ẩn (tầng hidden layer): Nằm giữa, thể hiện quá trình suy luận logic của mạng. 5 • Tầng ra (tầng output layer): Nằm bên phải cùng, thể hiện đầu ra của mạng. Hình 2: Kiến trúc mạng nơ-ron nhân tạo.

Mỗi nút mạng trong mạng Neural Network là một sigmoid nơ-ron nhưng chúng lại có hàm kích hoạt khác nhau. Tùy vào bài toán hoặc cách giải quyết mà có thể số lượng nút mạng ở mỗi tầng sẽ không giống nhau. Những nơ-ron ở tầng thường liên kết đôi với nhau, việc này giúp tạo thành mạng có kết nối đầy đủ nhất. Khi đó từ tầng và số nơ-ron, người ta có thể tính toán được kích cỡ của mạng.

Thuộc tính của mạng Neural Network Cũng như con người, mạng Neural Network có thể giải quyết vấn đề và áp dụng kỹ năng đó vào các tập dữ liệu lớn nên mạng Neural Networkk thường có những thuộc tính mạnh mẽ có thể kể đến như: • Học tập thích ứng: Dựa trên kiến thức có được từ trước, mạng nơ-ron sẽ mô hình hóa các mối quan hệ phức tạp và phi tuyến tính từ đó xây dựng thêm. 6 • Tự tổ chức: Mạng nơ-ron có khả năng phân cụm và phân loại lượng dữ liệu khổng lồ. • Hoạt động theo thời gian thực: Mạng có thể cung cấp những câu trả lời của con người theo thời gian thực. • Dự đoán • Khả năng chịu lỗi: Mạng nơ-ron có thể tự điền vào chỗ trống khi các phần quan trọng của mạng bị mất hoặc thiếu.

Phân loại Neural Network Vì những mục đích khác nhau mà mạng Neural Network được phân thành nhiều loại khác nhau. Những mạng được sử dụng phổ biến hiện nay có thể kể đến như: • The Perceptron: Là mạng được xem là đơn giản và lâu đời nhất. Đây được xem là nền tảng của những mạng nơ-ron khác. • Multilayer Perceptron (MPL): Đây thực ra là một dạng Perceptron nhưng phức tạp hơn • Convolutional Neural Network (CNN): Là mạng nơ-ron tích chập có kiến trúc và cách sử dụng như MPL.

Thường được dùng để nhận dạng hình ảnh hoặc thị giác máy tính. • Recurrent Neural Network (RNN): Là mạng nơ-ron hồi quy. Thường được dùng để tìm pattern liên tục của dữ liệu và dự đoán stock data. GIỚI THIỆU VỀ YOLO[3] YOLO (You Only Look Once) là một mô hình phát hiện các đối tượng bằng cách sử dụng các tính năng được học bởi một mạng Neural Network của tác giả Joseph Redmon.

Được xem là thuật toán nhanh nhất, đúng như tên gọi, YOLO chỉ cần lướt qua bức ảnh một lần là có thể phát hiện đối tượng. Đó được xem là ưu điểm của YOLO nhưng ngược lại, về độ chính xác có thể YOLO không phải là thuật toán tốt nhất hiện nay. YOLO còn có thể phát hiện được nhiều vật thể khác nhau trong cùng bức ảnh. 7 Hình 3: Logo của YOLO.

Mô hình thống nhất của YOLO có một vài ưu điểm so với các phương pháp phát hiện vật thể truyền thống như sau: • Thứ nhất, YOLO có tốc độ xử lý cực kì nhanh. Vì YOLO coi phát hiện vật thể là một bài toán hồi quy nên ta không cần dùng đến một cơ chế pipeline phức tạp. Ta chỉ đơn giản chạy Neural Network trên một bức ảnh mới tại test time để dự đoán detections. Base network của YOLO có tốc độ là 45 fps.

Điều này giúp ta có thể xử lý streaming video trong thời gian thực (real-time) với độ trễ nhỏ hơn 25 milliseconds. YOLO đạt được độ chính xác mAP hơn gấp đôi so với các hệ thống real-time khác. • Thứ hai, YOLO lập luận một cách toàn cục về bức ảnh khi đưa ra dự đoán. Không giống như các phương pháp cửa sổ trượt hay đề xuất vùng được nhắc đến ở trên, YOLO nhìn vào toàn bộ bức ảnh trong thời gian training và test, vì thế nên nó ngầm hiểu thông tin về ngữ cảnh về các classes cũng như là ngoại hình của chúng.

Vì thế background errors của YOLO nhỏ hơn đáng kể so với các phương pháp khác, ví dụ như Fast R-CNN. 8 • Thứ ba, cũng là điểm mới mẻ nhất: YOLO có khả năng học được các biểu diễn có tính tổng quát hóa của vật thể. Khi huấn luyện YOLO với những bức ảnh thực và thử bằng những tấm ảnh vẽ (art-work), YOLO có kết quả vượt trội so với các phương pháp detection hàng đầu khác như DPM hay R-CNN. Vì YOLO có tính tổng quát hóa rất cao nên nó ít khi thất bại khi được đưa vào các lĩnh vực mới hay sử dụng các input bất thường.

Hình 4: Kết quá dự đoán của YOLO trên các bức ảnh vẽ. LỊCH SỬ PHÁT TRIỂN[3] YOLO đã trải qua 7 phiên bản (Từ năm 2015-2022) phiên bản mới nhất bao gồm: • YOLOv1 • YOLOv2 • YOLOv3 • YOLOv4 • YOLOv5 • YOLOv6 • YOLOv7 Tác giả Joseph Redmon đã dừng việc nghiên cứu sau khi ra mắt phiên bản YOLOv3 vì lo ngại về việc công nghệ này bị sử dụng sai mục đích. Từ phiên bản YOLOv4 về sau thuộc về những tác giả khác như Alexey Bochkovskiy (YOLOv4), Glenn Jocher (YOLOv5),… Hiện nay YOLOv7 là phiên bản mới nhất. 9 Ngoài ra ở những bản về sau YOLO còn được chia nhỏ ra các bản để phù hợp với từng ứng dụng riêng biệt như phục vụ cho đầu vào có độ phân giải lớn, tốc độ khung hình hiển thị trên mỗi giây cao (FPS), xác định riêng cho từng nhóm đối tượng khác nhau cho từng trường hợp khác nhau, … Từ phiên bản YOLOv1 đến bản YOLOv4 tác giả đã thiết kế nghiêng về tinh chỉnh các thông số còn ở các bản YOLOv5, YOLOv6, YOLOv7 tác giả đã thiết kế sẵn các thông số giúp người dung không đặt nặng vấn đề tinh chỉnh.

Nhưng ở những phiên bản YOLOv5, YOLOv6, YOLOv7 lại gây tranh cãi với người dùng khi có nhiều bài viết nói rằng khi sử dụng ba phiên bản trên các GPU có hiệu năng thấp sẽ dễ gặp tình trạng lỗi treo máy. Và YOLOv4 được cho là ổn định nhất. Chính vì vậy em đã chọn YOLOv4 cho hệ thống của mình. KIẾN TRÚC YOLO[4] Kiến trúc của YOLO bao gồm: • Base network: Có nhiệm vụ trích xuất đặc trưng (Darknet Architecture).

• Extra Layers: Có tác dụng phát hiện vật thể trên feature map của base network. YOLO hoạt động theo cơ chế detect vật thể trên từng vùng ảnh. Ảnh được chia thành S x S ô, ô hay còn gọi là cell. Thực ra là chia trong tưởng tượng, không phải cắt ảnh ra hay thực hiện bất kì bước image-processing nào.

Bản chất của việc chia ảnh là việc chia output, target thành dạng matrix AA kích thước S x S. Nếu trong ảnh, tâm của vật thể nằm trong cell thứ (i,j) thì output tương ứng nó sẽ nằm trong A[i,j]A[i,j]. Với input shape khác nhau, kiến trúc YOLO cũng có thể tùy biến thành các phiên bản khác nhau cho phù hợp. Hình 5: Kiến trúc của YOLO.

10 YOLOv4 sử dụng các Convolutional Layers hay còn gọi là lớp tích chập khiến nó trở thành một Fully Convolutional Network (FCN). Từ YOLOv3 tác giả đã áp dụng mạng darknet-53 (mạng Feature Extractor). Theo sau đó là một activation Leaky Relu và một batch normalization. Tác giả sử dụng mẹo để giảm số lượng tham số cho mô hình bằng cách down sample bằng các filter với kích thước là 2.

Hình 6: Các layer trong mạng Darknet-53. 11 Hiện tại, YOLO hỗ trợ 2 kích thước đầu vào chính là 416x416 và 608x608. Ở mỗi đầu vào sẽ có các layers riêng biệt để phù hợp với shape của input. • Kích thước đầu vào sẽ quy định kích thước của feature map.

• Với input 416x416 các kích thước của feature map lần lượt là 13x13, 26x26, 52x52. • Với input 608x608 các kích thước của feature map lần lượt là 19x19, 38x38, 72x72. THUẬT TOÁN YOLO [5] 2. Residual blocks Residual blocks là hình ảnh đầu vào được chia thành lưới có kích thước là SxS và các ô bằng nhau.

Nhiệm vụ của mỗi ô là phát hiện các vật thể xuất hiện bên trong chúng. Hình 7: Residual block được thể hiện trên một bức ảnh.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ