Xây dựng ứng dụng phát hiện lửa bằng học sâu trên Jetson Nano (Vũ Hà Anh, ĐH CNTT)

Phát hiện lửa nhanh chóng và chính xác với AI trên Jetson Nano. Ứng dụng tiềm năng trong phòng cháy chữa cháy, giám sát an toàn. Tìm hiểu ngay!

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2021

94
3
0

Phí lưu trữ

35 Point

Tóm tắt

I. Hướng dẫn phát hiện lửa bằng AI trên Jetson Nano tổng quan

Việc ứng dụng Trí tuệ nhân tạo (AI) để phát hiện hỏa hoạn đang mở ra một kỷ nguyên mới cho các hệ thống an ninh và phòng cháy chữa cháy. Thay vì phụ thuộc vào các cảm biến truyền thống, công nghệ phát hiện lửa bằng AI trên Jetson Nano sử dụng sức mạnh của thị giác máy tính (computer vision) để phân tích hình ảnh trực tiếp, mang lại khả năng cảnh báo sớm và chính xác hơn. Hệ thống này kết hợp sức mạnh xử lý của thiết bị NVIDIA Jetson Nano, một máy tính nhúng nhỏ gọn, với các mô hình học sâu (deep learning) tiên tiến để nhận diện ngọn lửa trong thời gian thực. Bằng cách phân tích luồng video từ camera IP hoặc camera an ninh, mô hình AI có thể phân biệt ngọn lửa với các vật thể khác có màu sắc tương tự, chẳng hạn như ánh đèn, giúp giảm thiểu báo động giả. Nền tảng của giải pháp này là các thuật toán phát hiện đối tượng (object detection) hiện đại, có khả năng định vị chính xác vị trí và kích thước của đám cháy ngay khi nó vừa xuất hiện. Đây là một bước tiến vượt bậc, đặc biệt trong bối cảnh điện toán biên (edge computing), nơi dữ liệu được xử lý ngay tại nguồn thay vì gửi lên máy chủ đám mây. Điều này không chỉ giảm độ trễ mà còn đảm bảo hệ thống hoạt động ổn định ngay cả khi mất kết nối Internet. Nghiên cứu của Vũ Hà Anh (2021) tại Trường Đại học Công nghệ Thông tin đã chứng minh tính khả thi và hiệu quả của việc triển khai một ứng dụng như vậy trên thiết bị có tài nguyên hạn chế như Jetson Nano, mở đường cho các giải pháp giám sát an ninh thông minh và tiết kiệm chi phí.

1.1. Ứng dụng công nghệ thị giác máy tính và học sâu vào cảnh báo

Công nghệ thị giác máy tính đóng vai trò cốt lõi, cho phép máy tính “nhìn” và “hiểu” được nội dung hình ảnh. Khi kết hợp với học sâu, hệ thống có thể học các đặc trưng phức tạp của ngọn lửa như màu sắc, hình dạng, và sự chuyển động từ một tập dữ liệu huấn luyện (training dataset) lớn. Các mô hình như mô hình YOLO (You Only Look Once) được huấn luyện để quét qua từng khung hình video, xác định các vùng có khả năng chứa lửa và vẽ một hộp giới hạn (bounding box) xung quanh chúng. Quá trình này diễn ra liên tục, cho phép hệ thống đưa ra cảnh báo cháy sớm gần như ngay lập tức khi phát hiện dấu hiệu bất thường, cung cấp thông tin quý giá cho các hệ thống phòng cháy chữa cháy (PCCC) tự động hoặc lực lượng ứng cứu.

1.2. Vai trò của NVIDIA Jetson Nano trong điện toán biên Edge AI

NVIDIA Jetson Nano là một hệ thống nhúng (embedded system) mạnh mẽ, được thiết kế đặc biệt cho các ứng dụng AI tại biên. Với kiến trúc GPU Maxwell, nó có khả năng chạy song song nhiều mạng nơ-ron phức tạp mà không cần đến máy chủ trung tâm. Việc triển khai mô hình phát hiện lửa trực tiếp trên Jetson Nano thuộc lĩnh vực điện toán biên, mang lại nhiều lợi ích. Trước hết, nó giảm đáng kể độ trễ trong việc xử lý, vì dữ liệu hình ảnh từ camera không cần phải di chuyển qua mạng để phân tích. Thứ hai, nó tăng cường tính riêng tư và bảo mật do dữ liệu nhạy cảm được xử lý tại chỗ. Cuối cùng, nó cho phép hệ thống hoạt động độc lập, rất quan trọng cho các khu vực có kết nối mạng không ổn định.

II. Thách thức khi triển khai hệ thống cảnh báo cháy sớm PCCC

Mặc dù sở hữu nhiều ưu điểm, việc xây dựng một hệ thống cảnh báo cháy sớm dựa trên AI phải đối mặt với không ít thách thức. Các phương pháp truyền thống như cảm biến khói hay cảm biến nhiệt tuy phổ biến nhưng tồn tại nhiều hạn chế cố hữu. Chúng thường chỉ kích hoạt khi đám cháy đã phát triển đến một quy mô nhất định, làm lỡ mất “thời gian vàng” để xử lý. Hơn nữa, chúng dễ gây báo động giả do các yếu tố như khói thuốc, bụi bẩn hoặc hơi nước. Trong khi đó, hệ thống dựa trên thị giác máy tính cũng có những khó khăn riêng. Một trong những vấn đề lớn nhất là làm sao để mô hình AI phân biệt chính xác giữa lửa thật và các vật thể gây nhiễu, ví dụ như ánh sáng mặt trời phản chiếu, đèn màu cam, hoặc quần áo màu đỏ. Điều này đòi hỏi một tập dữ liệu huấn luyện cực kỳ đa dạng và chất lượng cao. Thách thức lớn thứ hai, được nhấn mạnh trong nghiên cứu của Vũ Hà Anh (2021), là tối ưu hóa mô hình học sâu để hoạt động hiệu quả trên các hệ thống nhúng có tài nguyên hạn chế như Jetson Nano phiên bản 2GB. Các mô hình phát hiện đối tượng tiêu chuẩn thường yêu cầu GPU mạnh và bộ nhớ lớn, điều mà các thiết bị điện toán biên không thể đáp ứng. Do đó, việc tìm ra sự cân bằng giữa độ chính xác và tốc độ xử lý là một bài toán quan trọng cần giải quyết để đảm bảo khả năng xử lý ảnh thời gian thực.

2.1. Hạn chế của các phương pháp giám sát an ninh truyền thống

Các hệ thống giám sát an ninh và báo cháy truyền thống thường dựa trên cảm biến vật lý (khói, nhiệt độ) hoặc sự quan sát của con người. Cảm biến MQ-135 có thể nhầm lẫn giữa khói từ đám cháy và khói bụi thông thường. Việc giám sát bằng mắt người qua camera an ninh thì không thể liên tục 24/7 và dễ bỏ sót các dấu hiệu ban đầu. Hệ thống vệ tinh, tuy hữu ích cho cháy rừng quy mô lớn, lại có độ trễ cao và không phù hợp cho việc giám sát trong nhà hoặc các khu vực nhỏ. Những hạn chế này thúc đẩy nhu cầu về một giải pháp tự động, thông minh và có khả năng phản ứng nhanh hơn.

2.2. Bài toán tài nguyên trên các hệ thống nhúng cấu hình thấp

Thiết bị NVIDIA Jetson Nano (bản 2GB) là một ví dụ điển hình cho thách thức về tài nguyên trên hệ thống nhúng. Bộ nhớ RAM hạn chế khiến việc chạy các mô hình deep learning lớn trở nên bất khả thi. Các mô hình như YOLO phiên bản đầy đủ tiêu thụ rất nhiều tài nguyên. Để giải quyết vấn đề này, các nhà phát triển phải sử dụng các phiên bản rút gọn (ví dụ YOLOv4-tiny) hoặc áp dụng các kỹ thuật tối ưu hóa chuyên sâu như lượng tử hóa (quantization) hoặc sử dụng các bộ công cụ như TensorRT. Mục tiêu là giảm kích thước mô hình và tăng tốc độ suy luận (inference speed) mà không làm suy giảm quá nhiều độ chính xác, đảm bảo hệ thống có thể hoạt động ổn định và hiệu quả.

III. Phương pháp xây dựng mô hình YOLO phát hiện lửa hiệu quả

Để xây dựng một hệ thống phát hiện lửa bằng AI trên Jetson Nano hiệu quả, việc lựa chọn và huấn luyện mô hình YOLO (You Only Look Once) đóng vai trò then chốt. YOLO là một trong những thuật toán phát hiện đối tượng hàng đầu, nổi tiếng với tốc độ xử lý vượt trội, rất phù hợp cho các ứng dụng yêu cầu xử lý ảnh thời gian thực. Nguyên lý hoạt động của YOLO là chia ảnh đầu vào thành một lưới các ô, và mỗi ô sẽ dự đoán sự tồn tại, vị trí (bounding box) và lớp (class) của vật thể. Khác với các mô hình hai giai đoạn, YOLO thực hiện tất cả các bước này trong một lần duy nhất, do đó đạt được tốc độ rất cao. Trong khuôn khổ đề tài của Vũ Hà Anh (2021), các phiên bản rút gọn như YOLOv3-tiny, YOLOv4-tiny và YOLOv5s đã được thử nghiệm để tìm ra mô hình tối ưu cho Jetson Nano. Quá trình xây dựng mô hình bắt đầu bằng việc thu thập và chuẩn bị một tập dữ liệu huấn luyện chất lượng. Dữ liệu này bao gồm hàng ngàn hình ảnh chứa ngọn lửa ở nhiều điều kiện khác nhau: trong nhà, ngoài trời, ban ngày, ban đêm, kích thước lớn, nhỏ. Mỗi hình ảnh sau đó được gán nhãn cẩn thận, tức là vẽ các hộp giới hạn chính xác xung quanh khu vực có lửa. Chất lượng của bước này ảnh hưởng trực tiếp đến độ chính xác của mô hình cuối cùng. Sau khi có dữ liệu, mô hình được huấn luyện bằng các framework học sâu phổ biến như PyTorch hoặc TensorFlow (Darknet cho các phiên bản YOLO cũ hơn).

3.1. Nguyên lý thuật toán phát hiện đối tượng YOLO YOLOv5 YOLOv8

Thuật toán phát hiện đối tượng YOLO đã trải qua nhiều phiên bản cải tiến, từ YOLOv1 đến các phiên bản mới hơn như YOLOv5YOLOv8. Các phiên bản sau này không chỉ cải thiện về độ chính xác (mAP) mà còn tối ưu về tốc độ và sự dễ dàng trong triển khai. Chúng sử dụng các kiến trúc mạng nơ-ron tích chập (CNN) phức tạp hơn để trích xuất đặc trưng hiệu quả. Mô hình sẽ học cách nhận diện các mẫu hình trực quan của lửa và dự đoán tọa độ (x, y, width, height) của hộp giới hạn cùng với một điểm tin cậy (confidence score) cho mỗi phát hiện. Các hộp có điểm tin cậy thấp hoặc trùng lặp sẽ bị loại bỏ thông qua thuật toán Non-Max Suppression (NMS).

3.2. Quy trình chuẩn bị và gán nhãn tập dữ liệu huấn luyện dataset

Chất lượng của tập dữ liệu huấn luyện là yếu tố quyết định thành công. Một bộ dữ liệu tốt cần có sự đa dạng cao để mô hình có thể tổng quát hóa tốt trong thực tế. Các hình ảnh cần bao gồm lửa từ nhiều nguồn (nến, bếp gas, đám cháy lớn), trong các môi trường ánh sáng khác nhau, và từ nhiều góc nhìn. Quan trọng không kém là các hình ảnh “âm tính” (negative samples) – những hình ảnh không có lửa nhưng chứa các vật thể dễ gây nhầm lẫn (đèn vàng, hoàng hôn). Quá trình gán nhãn được thực hiện bằng các công cụ chuyên dụng, nơi người dùng vẽ thủ công các hộp bao quanh ngọn lửa trong từng ảnh. Dữ liệu này sau đó được chia thành các tập train, validation và test để huấn luyện và đánh giá mô hình một cách khách quan.

IV. Bí quyết tối ưu model học sâu với NVIDIA TensorRT và OpenCV

Một mô hình học sâu sau khi huấn luyện thường có kích thước lớn và tốc độ suy luận chậm, không phù hợp cho các hệ thống nhúng như Jetson Nano. Đây là lúc các kỹ thuật tối ưu hóa phát huy tác dụng. Bí quyết để đạt được hiệu suất xử lý ảnh thời gian thực trên thiết bị cấu hình thấp là sử dụng bộ công cụ NVIDIA TensorRT. TensorRT là một trình tối ưu hóa và thư viện suy luận hiệu suất cao của NVIDIA, được thiết kế để tối đa hóa thông lượng và giảm thiểu độ trễ cho các ứng dụng deep learning. Quá trình tối ưu hóa với TensorRT bao gồm nhiều bước tự động. Đầu tiên, nó thực hiện hợp nhất các lớp (layer fusion), gộp nhiều lớp của mạng nơ-ron (ví dụ: Convolution, Bias, ReLU) thành một lớp duy nhất để giảm tải cho GPU. Tiếp theo, nó thực hiện lượng tử hóa (quantization), chuyển đổi các trọng số của mô hình từ kiểu dữ liệu 32-bit (FP32) sang 16-bit (FP16) hoặc 8-bit (INT8), giúp giảm đáng kể dung lượng bộ nhớ và tăng tốc độ tính toán mà ít ảnh hưởng đến độ chính xác. Nghiên cứu của Vũ Hà Anh (2021) đã chứng minh rằng việc chuyển đổi mô hình YOLOv4-tiny sang định dạng TensorRT giúp tăng tốc độ FPS (khung hình trên giây) một cách đáng kể khi chạy trên Jetson Nano, biến một mô hình vốn đã nhanh trở nên phù hợp hơn cho các ứng dụng cảnh báo cháy sớm. Cùng với TensorRT, thư viện OpenCV cũng đóng vai trò quan trọng trong việc xử lý video đầu vào từ camera IP và hiển thị kết quả đầu ra.

4.1. Giới thiệu NVIDIA TensorRT và lợi ích cho xử lý ảnh thời gian thực

TensorRT là một SDK (Software Development Kit) của NVIDIA. Nó không phải là một framework huấn luyện mà là một công cụ để triển khai mô hình sau khi huấn luyện. Lợi ích chính của nó là tối ưu hóa mạng nơ-ron cho một GPU NVIDIA cụ thể, trong trường hợp này là GPU trên Jetson Nano. Bằng cách hiệu chỉnh nhân (kernel tuning) và quản lý bộ nhớ thông minh, TensorRT có thể tăng tốc độ suy luận lên nhiều lần so với việc chạy mô hình trực tiếp trên các framework như TensorFlow hay PyTorch. Điều này là cực kỳ quan trọng cho các tác vụ xử lý ảnh thời gian thực, nơi mỗi mili giây đều có giá trị.

4.2. Các bước chuyển đổi mô hình YOLO sang định dạng TensorRT .trt

Quá trình chuyển đổi một mô hình YOLO sang TensorRT thường bao gồm các bước sau. Đầu tiên, mô hình gốc (ví dụ, có định dạng .weights của Darknet hoặc .pt của PyTorch) cần được chuyển đổi sang một định dạng trung gian được chuẩn hóa như ONNX (Open Neural Network Exchange). Sau đó, trình phân tích (parser) của TensorRT sẽ đọc file ONNX này để xây dựng mạng nơ-ron trong bộ nhớ. Cuối cùng, trình xây dựng (builder) của TensorRT sẽ áp dụng các bước tối ưu hóa đã đề cập và tạo ra một “engine” suy luận được tuần tự hóa, thường có đuôi file là .trt hoặc .engine. Engine này được tối ưu hóa riêng cho phần cứng của Jetson Nano và sẵn sàng để triển khai.

V. Kết quả thực nghiệm hệ thống giám sát an ninh camera IP

Việc triển khai thực nghiệm là bước quan trọng để đánh giá tính hiệu quả của giải pháp phát hiện lửa bằng AI trên Jetson Nano. Một hệ thống hoàn chỉnh đã được xây dựng, bao gồm ba thành phần chính: thiết bị thu nhận hình ảnh, bộ xử lý trung tâm và nền tảng quản lý cảnh báo. Thiết bị thu nhận là các camera IP hoặc camera an ninh thông thường, cung cấp luồng video trực tiếp. Bộ xử lý trung tâm chính là NVIDIA Jetson Nano, nơi mô hình học sâu đã được tối ưu hóa với TensorRT hoạt động. Nền tảng quản lý cảnh báo được xây dựng dựa trên công nghệ IoT (Internet of Things). Cụ thể, khi Jetson Nano phát hiện ra lửa, nó sẽ gửi một thông điệp cảnh báo qua giao thức MQTT đến một máy chủ quản lý. Trong nghiên cứu của Vũ Hà Anh (2021), nền tảng mã nguồn mở ThingsBoard đã được sử dụng để tạo một dashboard trực quan, cho phép người dùng giám sát trạng thái, xem hình ảnh từ camera và nhận cảnh báo tức thời qua email hoặc ứng dụng di động. Kết quả thực nghiệm cho thấy sự vượt trội rõ rệt của mô hình đã được tối ưu. So sánh giữa các phiên bản YOLO chạy trên Jetson Nano, mô hình YOLOv4-tiny sau khi chuyển đổi sang TensorRT đạt được tốc độ khung hình (FPS) cao nhất trong khi vẫn duy trì độ chính xác ở mức chấp nhận được. Điều này khẳng định rằng, ngay cả trên một hệ thống nhúng chi phí thấp, việc xây dựng một hệ thống giám sát an ninh thông minh có khả năng cảnh báo cháy sớm là hoàn toàn khả thi.

5.1. Mô hình triển khai IoT Jetson Nano camera an ninh và ThingsBoard

Kiến trúc hệ thống IoT được thiết kế theo mô hình điện toán biên. Camera an ninh kết nối với Jetson Nano. Thiết bị Jetson Nano thực hiện xử lý ảnh thời gian thực ngay tại chỗ. Khi phát hiện lửa, nó không chỉ xử lý mà còn đóng vai trò như một IoT client, xuất bản (publish) một thông điệp cảnh báo đến một MQTT broker. ThingsBoard, hoạt động như một MQTT client khác, đăng ký (subscribe) vào chủ đề (topic) cảnh báo đó. Khi nhận được thông điệp, Rule Chain trên ThingsBoard sẽ được kích hoạt để gửi thông báo đến người quản trị, tạo ra một hệ thống phản ứng tự động và liền mạch.

5.2. So sánh hiệu năng giữa mô hình gốc và phiên bản TensorRT tối ưu

Các bài kiểm tra hiệu năng là minh chứng rõ ràng nhất cho lợi ích của việc tối ưu hóa. Theo báo cáo, khi chạy mô hình YOLOv4-tiny gốc trên Jetson Nano, tốc độ có thể không đủ mượt mà cho các ứng dụng thời gian thực. Tuy nhiên, sau khi áp dụng tối ưu hóa bằng TensorRT, tốc độ FPS tăng lên đáng kể, cho phép hệ thống phân tích luồng video một cách trôi chảy. Bảng so sánh các thông số như FPS, mức sử dụng CPU/GPU và bộ nhớ RAM giữa mô hình chưa tối ưu và mô hình đã tối ưu bằng TensorRT đã cho thấy sự khác biệt rõ rệt, khẳng định TensorRT là một công cụ không thể thiếu khi triển khai các mô hình học sâu trên các thiết bị của NVIDIA.

22/09/2025

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

Đặt vấn đề Hiện nay để phát hiện lửa có rất nhiều phương pháp, ví dụ như: quan sát bằng mắt thường của con người, hệ thống vệ tinh, cảm biến không khí MQ -135, hệ thống xử lý hình ảnh,… Quan sát bằng mắt thường là một trong những phương pháp truyền thống, tuy nhiên không thiết thực khi có hỏa hoạn xảy ra. Hệ thống vệ tinh cần thời gian quét dài và không thể cung cấp hình ảnh đám cháy theo thời gian thực. Cảm biến MQ-135 mang lại sự nhầm lẫn giữa khói bụi từ môi trường bình thường và khói của đám cháy, hơn nữa việc phân biến số lượng cảm biến lớn ngoài tự nhiên không phù hợp với tính chất tiết kiệm chi phí. Từ các phương pháp này ta có thể thấy, kỹ thuật xử lý hình ảnh đem lại ưu điểm vượt trội, chỉ cần một máy quay chất lượng cao, người dùng có thể giám sát một cánh rừng vài hecta, đồng thời phương pháp này còn cung cấp chi tiết về ba yếu tố của đám cháy là màu sắc, chuyển động và kết cấu.

Trong đề tài này, nhóm đã đánh giá hiệu năng khi xây dụng mô hình Deep Learning phát hiện lửa của ba phiên bản mô hình nhận diện vật thể Yolo. Sau khi lựa chọn được mô hình có hiệu suất cao nhất, một bước tối ưu hóa nữa sẽ được thực hiện, mô hình ban đầu sẽ hoạt động dưới định dạng TensorRT- một định dạng hỗ trợ tốt cho các thiết bị của hãng Nvdia. Yolo là mô hình phát hiện vật thể nổi tiếng và khá phổ biến với khả năng xử lý hình ảnh trong thời gian thực, nhưng đối với vật thể nhỏ, nó luôn có tỷ lệ phát hiện chính xác thấp hơn. Tuy nhiên ở đề tài này, nhóm đã có khắc phục nhược điểm này bằng cách đưa hình ảnh ngọn lửa có kích thước nhỏ vào tệp huấn luyện, điều chỉnh các thông số về kích thước, độ lọc ảnh.

Ngoài ra, việc tối ưu mô hình mang đến hiệu quả đáng kể trong việc tiết kiệm tài nguyên máy tính nhúng. 2 Đối với thiết bị Jetson Nano bản 2Gb được sử dụng trong đề tài, với bộ nhớ ít cho nên việc chạy các mô hình trong một thời gian dài là bất khả thi. Việc ra đời các mô hình rút gọn, được biết với cái tên là tiny mang lại hiệu quả cao, rút ngắn thời gian đào tạo và có khả năng chạy trên các thiết bị cấu hình thấp. Các thực nghiệm trên thiết bị Jetson Nano là các mô hình YOLOv3-tiny, YOLOv4-tiny, YOLOv5s và các bản tối ưu từ YOLOv4-tiny sang phiên bản Tflite và TensorRT.

Đồng thời, để có khả năng phát triển lên quy mô lớn hơn, nhóm đã tích hợp Flask (thư viện của ngôn ngữ Python) để có thể đưa hình ảnh từ camera stream lên Web Server và quản lý qua ThingsBoard (một phần mềm mã nguồn mở giúp quản lý các thiết bị IoT).2 Mục tiêu của đề tài  Đề tài thực hiện xây dựng úng dụng nhận dạng và phát hiện lửa, giải quyết phương pháp bằng thuật toán học sâu. Ứng dụng được xây dựng dựa trên mô hình được huấn luyện từ tập dữ liệu phổ biến được cung cấp từ nhiều nguồn tin cậy. Khi camera hoạt động, sẽ nhận diện được các ngọn lửa đang cháy.  Trong đề tài này, nhóm nhóm sẽ phân tích và đánh giá các mô hình nhận diện lửa đang phổ biến hiện nay.

Từ đó, lựa chọn mô hình có hiệu suất cao và đáng tin cậy để tối ưu hóa và thực hiện trên thiết bị nhúng.3 Đối tượng nghiên cứu và kết quả mong muốn  Đối tượng nghiên cứu: Mô hình Deep Learning, thiết bị nhúng Jetson Nano và camera  Kết quả mong muốn đạt được: Giải quyết được bài toán nhận diện lửa trên các máy tính có cấu hình thấp. Tối ưu hóa mô hình một cách hoàn thiện nhất để tiết kiệm tài nguyên máy tính. Mô hình có khả năng phát hiện lửa trong thời gian thực.4 Các đề tài liên quan đến nghiến cứu  Đề tài “Fire Detection CNN” của tác giả Toby Breakon sử dụng mạng CNN hay còn được biết đến với tên gọi “mạng nơ-ron tính chập”, đây là một mô hình sử dụng bài toán Classification. Đề tài này dựa vào bản Tensorflow 1.5, với cách cài đặt và triển khai dễ dàng.

Mô hình này chỉ có thể nhân diện trong khung ảnh là có lửa hay không có lửa và không thể xác định vị trí ngọn lửa trong khung ảnh.  Nguồn: https://github.com/tobybreckon/fire-detection-cnn  Đề tài “Fire Net” của tác giả Olafenwa Moses sử dụng mô hình YOLOv3 trên nền tảng Keras, các tập tin sau khi được huấn luyện sẽ lưu dưới định dạng. Mô hình được chạy bằng các câu lệnh trong thư viên Python là ImageAI cũng do tác giả tạo ra, điều này giúp người dùng chỉ cần chạy mô hình với 6 dòng code. Nhược điểm của mô hình là mô hình không đạt được yêu cầu phát hiện vật thể trong thời gian thực, thường xảy ra độ trễ giữa khả năng phát hiện vật thể và khung hình Camera đang trình chiếu trực tiếp.

 Nguồn: https://github.com/OlafenwaMoses/FireNET 4 CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT 2.1 Các khái niệm về thị giác máy tính và máy học 2.1 Bài toán phát hiện vật thể (Object Detection) 2.1 Giới thiệu về thị giác máy tính Một trong những lĩnh vực quan trọng của Trí tuệ nhân tạo (Artificial Intelligence) là thị giác máy tính (Computer Vision). Thị giác máy tính là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy. Object Detection có lẽ là khía cạnh sâu sắc nhất của thị giác máy tính do tính chất hiệu quả có khả năng triển khai trong thực tế. Object Detection đề cập đến khả năng của hệ thống máy tính và phần mềm để định vị các đối tượng trong một hình ảnh và xác định từng đối tượng.

Object Detection đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái và các hệ thống phục vụ cho mục đích cảnh báo sớm từ xa. Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này.Việc triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ điển, giống như các thuật toán được hỗ trợ trong OpenCV - thư viện Computer Vision phổ biến nhất hiện nay. Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ để làm việc trong các điều kiện khác nhau. Việc áp dụng đột phát và nhanh chóng của deep learning vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đối tượng hiện đại và chính xác cao như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet và nhanh hơn nhưng rất chính xác như SSD và YOLO.

Sử dụng các phương pháp và thuật toán này, dựa trên deep learning và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc học sâu.2 Định nghĩa Object Detection Nhận dạng đối tượng là một thuật ngữ chung để mô tả một tập hợp các nhiệm vụ thị giác máy tính có liên quan liên quan đến việc xác định các đối tượng trong khung ảnh kỹ thuật số. Phân loại hình ảnh liên quan đến việc dự đoán lớp của một đối tượng trong một hình ảnh. Định vị vật thể đề cập đến việc xác định vị trí của một hoặc nhiều đối tượng trong một hình ảnh và vẽ bounding box xung quanh chúng. Phát hiện đối tượng kết hợp hai nhiệm vụ trên và thực hiện cho một hoặc nhiều đối tượng trong hình ảnh.

Chúng ta có thể phân biệt giữa ba nhiệm vụ thị giác máy tính cơ bản trên thông qua input và output của chúng như sau:  Phân loại hình ảnh (Image Classification): Dự đoán nhãn của một đối tượng trong một hình ảnh. o Input: Một hình ảnh với một đối tượng, chẳng hạn như một bức ảnh. o Output: Nhãn hình ảnh.  Định vị đối tượng (Object Localization): Xác định vị trí hiện diện của các đối tượng trong ảnh và cho biết vị trí của chúng bằng bounding box.

o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh. o Output: Một hoặc nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao.  Phát hiện đối tượng (Object Detection): Xác định vị trí hiện diện của các đối tượng trong bounding box và nhãn của các đối tượng nằm trong một hình ảnh. o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh.

o Output: Một hoặc nhiều bounding box và nhãn cho mỗi bounding box.1 Sơ đồ tác vụ thị giác máy tính 2.2 Khái niệm về Deep Learning và Machine Learning 2.1 Machine Learning (Máy học) Machine Learning (Máy học) là phương pháp AI tự tìm kiếm phương pháp giải quyết các bài toàn được đặt ra sau khi đã được lập trình viên huấn luyện nhằm phục vụ một số công việc cụ thể. Bài toán machine learning thường được chia làm hai loại là dự đoán (prediction) và phân loại (classification):  Dự đoán (Prediction): Phục vụ giải quyết cho các vấn đề dự đoán sự biến động của một thông số cụ thể. Ví dụ, từ tập dữ liệu chỉ số chứng khoán qua các phiên giao dịch, máy tính có thể dự đoán giá trị cổ phiếu tại phiên giao dịch tiếp theo.  Phân loại (Classification): Các bài toán phân loại được áp dụng nhiều trong lĩnh vực thị giác máy tính, dùng để lọc các loại vật thể.

Machine Learning hoạt động theo luồng như sau: 7 Hình 2.2 Luồng hoạt động của Machine Learning 1. Data collection – thu thập dữ liệu: máy tính chỉ có khả năng học tập khi được cung cấp đầy đủ các dữ liệu đầu vào ( dataset ), các dữ liệu đầu vào phải đảm bảo các yêu tố: chính xác và sát với nhu cầu giải quyết vấn đề của mô hình, không trộn lẫn với các dữ liệu sai, được gán nhãn một cách cẩn thận. Mô hình có đủ thông minh hay không phụ thuộc vào độ tin cậy của dữ liệu đầu vào. Preprocessing – tiền xử lý: bước này dùng để chuẩn hóa dữ liệu, loại bỏ các thuộc tính không cần thiết, gán nhãn dữ liệu, mã hóa một số đặc trưng, trích xuất đặc trưng, rút gọn dữ liệu nhưng vẫn đảm bảo kết quả… Bước này tốn thời gian nhất tỉ lệ thuận với số lượng dữ liệu đưa vào.

Bước 1 và 2 thường chiếm hơn 70% tổng thời gian thực hiện. Training model – huấn luyện mô hình: triển khai huấn luyện mô hình dựa trên các dữ liệu đã thu thập.

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