GIỚI THIỆU BÀI TOÁN
Giới thiệu bài toán phát hiện đối tượng
Object Detection ( Phát hiện đối tượng) là một kỹ thuật thị giác máy tính hoạt động để xác định và định vị các đối tượng trong một hình ảnh hoặc video Cụ thể, phát hiện đối tượng vẽ các hộp giới hạn xung quanh các đối tượng được phát hiện này.
Các mô hình phát hiện đối tượng thường được đào tạo để phát hiện sự hiện diện của các đối tượng cụ thể trong hình ảnh, video hoặc hoạt động thời gian thực (real time) Ngay cả trước khi có phương pháp học sâu và công nghệ xử lý hình ảnh hiện đại, việc phát hiện đối tượng vẫn được quan tâm rất nhiều.
Các đối tượng trong một hình ảnh và xác định từng đối tượng ObjectDetection đã đượ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 Có nhiều cách để nhận diện đối tượng có thể được sử dụng cũng như trong nhiều lĩnh vực thực hành Giống như mọi công nghệ khác, một loạt các ứng dụng sáng tạo và tuyệt vời của ObjectDetection sẽ đến từ các lập trình viên và các nhà phát triển phần mềm.
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 Có nhiều cách để nhận diện đối tượng có thể được sử dụng cũng như trong nhiều lĩnh vực thực hành. Ứng dụng của bài toán object detection
Với công nghệ deeplearning phát triển như hiện nay với độ chính xác cao và tốc độ nhanh, bài toán object detection được áp dụng rất nhiều lĩnh vực, đặc biệt là trong việc tích hợp vào hệ thống giám sát AI camera, một số bài toán phổ biến như: phát hiện đám cháy, giám sát và đếm người, xe, phát hiện bạo lực trong các khu công cộng, phát hiện biển báo trên các hệ thống xe ô tô…
Hình 1.1: Hệ thống giám sát lưu lượng phương tiện đi lại trên một tuyến đường đô thị
Với việc độ chính xác của object detection càng cao, thì ứng dụng càng được áp dụng nhiều, đặc biệt là trong những các lĩnh vực quan trọng, chẳng hạn như trong y tế, phát hiện bệnh nhân đột quỵ (ngã) hoặc phát hiện ra các tế bào ung thư sớm từ các hình ảnh X quang Trong quân sự cũng có thể là bước tiến tiếp theo của bài toán này với việc áp dụng vào các hệ thống máy bay không người lái, các hệ thống tấn công tự động khi phát hiện quân địch…
Thực trạng về hoả hoạn ở Việt Nam
Từ xa xưa đến nay, hoả hoạn luôn là một vấn đề nhức nhối của toàn thế giới.Theo thông cáo báo chí của cục phòng cháy chữa cháy Việt Nam, chỉ tính trong 5 năm qua, cả nước xảy ra 17055 vụ cháy làm chết 433 người, bị thương 790 người, thiệt hại tài sản ước tính trên 7 nghìn tỉ đồng Trong đó có 15484 vụ cháy nhà dân, cơ sở, phương tiện giao thông, và 1571 vụ cháy rừng Địa bàn xảy ra cháy chủ yếu ở thành thị chiếm khoảng trên 60% Cháy và thiệt hại do cháy gây ra tập trung trong khu vực dân cư, nhà dân, kết hợp với sản xuất kinh doanh (chiếm trên 40% tổng số vụ cháy) và tại các cơ sở sản xuất, kho tàng (chiếm khoảng 30% tổng số vụ cháy), trong đó đã xảy ra một số vụ cháy gây hậu quả đặc biệt nghiêm trọng về người.
Nguyên nhân chủ yếu là do sự cố về hệ thống, sự cố về thiết bị điện, chiếm khoảng 45% Các đám cháy lớn và khó kiểm soát thường xảy ra tại các môi trường hiếm khí như các khu đông dân cư có không gian chật chội, các nhà máy, xưởng có nhiều vật liệu dễ cháy nổ (theo tin thời sự, báo Giáo dục và thời đại 12/09/2022 thiếu tướng Nguyễn Văn Long, Thứ trưởng Bộ Công an báo cáo đánh giá công tác phòng cháy, chữa cháy).
Hình 1.2: Vụ cháy xưởng chăn, ga, gối, đệm tại huyện Thanh Oai, thành phố Hà Nội
Trích dẫn: Theo báo lao động, PHẠM ĐÔNG 10/09/2022
Ngoài ra thời tiết cũng là nguyên nhân khiến các vụ cháy nổ ngày một tăng nhiều, thời tiết nóng và hanh khô khiến lá cây trong rừng rất dễ bén lửa, hay do việc người dân đốt tổ ong trong môi trường hanh khô vậy khiến đám cháy khó kiểm soát. Như trong năm 2022 có một vụ cháy rừng thông lớn tại thôn 1, xã Vĩnh Thực, TP Móng Cái, Quảng Ninh, đám cháy đã khiến khoảng 6 ha rừng bị thiệt hại.
Hình 1.3: Cháy rừng tại TP Móng Cái, Quảng Ninh
Trích dẫn: Theo báo tuổi trẻ, Tiến Thắng 17/12/2022
Ngoài ra còn nhiều nguyên nhân khác dẫn đến các vụ hoả hoạn như sử dụng bếp gas không an toàn, khu vực nấu nướng gần rèm cửa dễ gây bén lửa… Hầu hết trong các vụ cháy nổ, các đám khói toả ra rất nhiều trước cả khi đám cháy lan rộng, việc phát hiện sớm đám cháy là rất quan trọng, vì vậy smoke detection là bài toán vô cùng quan trọng trong việc phát hiện các vụ cháy nổ sớm sẽ được em trình bày trong đề án này.
Các thành tựu nghiên cứu trong và ngoài nước về bài toán phát hiện khói .7
Đã có rất nhiều bài báo cũng như ứng dụng được đăng tải lên các tạp chí khoa học nổi tiếng cho ra các kết quả với hiệu suất và độ chính xác rất cao Có thể kể đến như:
Vào năm 2006 tác giả Thou-Ho Chen và Yen-Hui Yin đã có một bài báo khoa học được đăng tải lên nhiều tạp chí khoa học với nội dung “Suggested a smoke detection method based on processing” Tác giả đã dựa trên mầu sắc và tính chất lan ra khuếch tán vào không khí của khói để đưa ra kết luận mỗi pixel có hay không có sự xuất hiện của khói Tuy chỉ sử dụng thuần xử lý ảnh nhưng kết quả mang lại là khá chính xác, trong 3421 ảnh khói thử nghiệm được tải về từ nhiều nguồn trên internet thì đã có tới 3168 ảnh đã phát hiện được vùng khói.
Cũng vào khoảng thời gian đó tác giả B Ugur Toreyin và Yigithan Dedeoglu cũng có một bài bào được đăng tải lên tạp chí IEEE với nội dung “Computer vision based method for real-time fire and flame detection” Tác giả cũng sử dụng thuần xử lý ảnh, cụ thể là sử dụng motion và màu sắc kết hợp với blurring và flicker biên để phát hiện vùng lửa khói Kết quả cũng đưa ra độ chính xác lên tới 96% trên bộ thử nghiệm gồm 1860 ảnh khói lửa
Các phương pháp trên được tạo ra dựa trên tính chất của khói và xử dụng nhiều các thuật toán xử lý ảnh Các tính chất của khói rất đa dạng phụ thuộc vào nhiều yếu tố bao gồm cách hình thành, kết cấu, mầu sắc Và một nhiệm vụ rất khó để đạt được độ chính xác cao là hình ảnh khói tự nhiên Vì vậy trong những năm gần đây công nghệ deep learning phát triển giúp tăng độ chính xác khi phát hiện các vùng khói tự nhiên, dưới đây là một số bài báo nổi bật và thành tựu thu được.
Vào năm 2015, các tác giả “Bugaric, M., Jakovcevic, T., & Stipanicev” đã có
1 nghiên cứu với nội dung “D Computer Vision Based Measurement of Wildfire Smoke Dynamics Advances in Electrical and Computer Engineering” tác giả dùng mạng CNN để học về những ảnh có khói và không có khói ở đám cháy rừng, kết quả thu được là khá cao lên tới 98% cho bộ training và 97% cho dữ liệu ngoài.
Năm 2016, nhóm tác giả “Zhang, Qingjie, Jiaolong Xu, Liang Xu, and Haifeng Guo” cũng có một nghiên cứu với nội dung “Deep convolutional neural networks for forest fire detection” sử dụng mạng Alexnet cũng cho độ chính xác cũng khá cao lên tới 97% cho cả bộ data training và bộ test.
Năm 2018, tác giả “Qi-xing Zhang, Gao-hua Lin” cũng đưa ra một bài nghiên cứu với nội dung “Wildland Forest Fire Smoke Detection Based on Faster R-CNN using Synthetic Smoke Images” Tác giả sử dụng mạng Faster R-CNN để dự đoán vùng khói trong 1 bức ảnh, dữ liệu gồm 2 class là có khói và không có khói được phân loại thủ công Kết quả đưa ra lên tới 97% với bộ dữ liệu mới và 99% với bộ dữ liệu training.
Động lực và mục tiêu nghiên cứu
Với hàng loạt bài báo khoa học hiện nay về phát hiện khói lửa, độ chính xác và hiệu suất vẫn là đích đến cuối cùng của mọi giải pháp, vì cảnh báo khói lửa khi ứng dụng vào trong thực tế trong trường hợp detect nhầm thì có thể tắt cảnh báo được, nhưng sẽ là rất nguy hiểm nếu như hệ thống giám sát không phát hiện được khói lửa Ở những kết quả nghiên cứu trước đây, có rất nhiều nghiên cứu đưa ra tỉ lệ chính xác rất cao, lên tới 96 đến 98% trên tập data thử nghiệm, từ những năm từ
2002 đến năm 2015 chủ yếu những nghiên cứu về smoke detection tập trung vào xử lý ảnh thuần dựa vào mầu sắc, tính chất chuyển động của khói nên đạt được tốc độ rất tốt nhưng độ chính xác sẽ kém hơn vì rất dễ nhầm bởi những vật thể có tính chất chuyển động cũng như màu sắc giống khói Từ những năm 2016 trở lại đây, cuộc cách mạng về trí tuệ nhân tạo cụ thể là các mạng deep learning đã giúp bài toán này cải thiện được độ chính xác nhưng yêu cầu về bộ nhớ và tốc độ xử lý của phần cứng cao Dưới đây là 1 số dẫn chứng mà em thu thập được qua những nghiên cứu tốt nhất trước đây:
HƯƠNG 1 Bảng 1.1: Kết quả so sánh hiệu suất đạt được của một số nghiên cứu trước
Những nghiên cứu trước đây
Reyes [18] Đề án này Độ chính xác trên tập thử nghiệm(%)
Tốc độ đạt được(fps) 40-50 42-46 25-30 38-40
Trong bảng 1.1, hai nghiên cứu của tác giả T.X.TUNG[24] và Toreying[26] dựa trên thuần xử lý ảnh thuần mang lại tốc độ rất cao, có thể xử lý được lên tới 40 đến 45 khung hình mỗi giây nhưng cho độ chính xác chỉ đạt tới 95% trên tập thử nghiệm Còn đối với nghiên cứu của tác giả Angie K Reyes[18] sử dụng mạngCNN thì đạt tới 96-97 % độ chính xác nhưng tốc độ lại kém hơn chỉ xử lý được 25 đến 30 khung hình mỗi giây Còn với đề án này độ chính xác lên tới 96-98% và tốc độ đạt được 38-40 khung hình mỗi giây.
Chính vì vậy, đề án này sẽ đưa ra một hướng phát triển mới cho việc phát hiện vùng khói Để xử lý một loạt các vấn đề cố hữu đã được nêu trên, đề tài sẽ kết hợp cả thuật toán xử lý ảnh dựa trên tính chất của khói như cách chuyển động, màu sắc … và bước cuối cùng mới sử dụng deeplearning cụ thể là mạng VGG16 để xác minh lại rằng đó có phải chính xác là vùng khói hay không.
Mục tiêu của đề tài nhắm đến việc tạo ra 1 mô hình và 1 thuật toán với độ chính xác và hiệu suất cao để có thể tích hợp trên các hệ thống VMS hiện nay. Các kết quả cần đạt được:
Độ chính xác của thuật toán xử lý ảnh > 90%
Độ chính xác của mô hình trên tập train > 97%
Độ chính xác của mô hình trên khói mới > 95%
Xử lý mỗi frame mất 100 -> 200 ms trên các card đồ hoạ thông dụng như GTX1660Ti, RTX 2060, RTX 2070…
Về mặt lý luận: Detect được hầu hết các đám khói mà mắt thường có thể nhìn thấy được.
Kết luận chương
Như vậy, chương này đã giới thiệu về đề tài “Xây dựng ứng dụng phát hiện khói dựa trên xử lý ảnh và mô hình học sâu VGG” cũng như những vấn đề còn tồn đọng, những thành tựu đạt được cho đến nay Nội dung của chương này còn trình bày các kết quả một số nghiên cứu trước đây và những thành tựu đạt được về
“smoke detection”, so sánh các kết quả đó với nhau từ đó dẫn dắt đến nội dung của chương tiếp theo.
XÂY DỰNG ỨNG DỤNG PHÁT HIỆN KHÓI SỬ DỤNG XỬ LÝ ẢNH VÀ CÔNG NGHỆ VGG
Candidate smoke regions detection (phát hiện vùng candidate smoke dựa trên các thuật toán xử lý ảnh)
2.1.1 Thuật toán trừ nền dựa trên thuật toán running gaussian average
Phương pháp trừ nền là một phương pháp sử dụng rộng rãi để phát hiện đối tượng chuyển động từ camera tĩnh Cơ sở trong phương pháp này là phát hiện các đối tượng chuyển động từ sự khác biệt giữa khung hiện tại và khung tham chiếu, thường được gọi là "hình ảnh nền" hoặc "mô hình nền"(‘Background Image' hoặc
‘Background Model') Việc trừ nền này thường được thực hiện bằng cách phát hiện các đối tượng tiền cảnh trong khung video và phát hiện tiền cảnh là nhiệm vụ chính của toàn bộ phương pháp này.
Nhiều phương pháp khác nhau đã được đề xuất dựa trên độ phức tạp, tốc độ, yêu cầu về bộ nhớ và quan trọng nhất là độ chính xác Running Gaussian Average đang là một phương pháp đơn giản có độ chính xác tốt, tốc độ cao, yêu cầu bộ nhớ thấp Vì vậy đây chính là thuật toán mà em lựa chọn cho bài toán phát hiện khói này.
Việc xây dựng thuật toán trừ nền khói dựa trên các bước sau:
Bước 1: Xây dựng 1 background model
Phương pháp trừ nền là một phương pháp sử dụng rộng rãi để phát hiện đối tượng chuyển động từ camera tĩnh Cơ sở trong phương pháp này là phát hiện các đối tượng chuyển động từ sự khác biệt giữa khung hiện tại và khung tham chiếu, thường được gọi là "hình ảnh nền" hoặc "mô hình nền" (‘Background Image' hoặc
‘Background Model') Việc trừ nền này thường được thực hiện bằng cách phát hiện các đối tượng tiền cảnh trong khung video và phát hiện tiền cảnh là nhiệm vụ chính của toàn bộ phương pháp này.
Nhiều phương pháp khác nhau đã được đề xuất dựa trên độ phức tạp, tốc độ,yêu cầu về bộ nhớ và quan trọng nhất là độ chính xác Running Gaussian Average đang là một phương pháp đơn giản có độ chính xác tốt, tốc độ cao, yêu cầu bộ nhớ thấp Vì vậy đây chính là thuật toán mà em lựa chọn cho bài toán phát hiện khói này.
Việc xây dựng thuật toán trừ nền khói dựa trên các bước sau:
Bước 1: Xây dựng 1 background model
Nền được lập mô hình riêng cho từng kênh màu trong không gian màu (R,G,B) và một lần cho ảnh cường độ Cơ sở lý luận của phương pháp này là phù hợp với hàm mật độ xác suất Gaussian trên n giá trị cuối cùng của mỗi pixel Điều này dẫn đến hai hình ảnh giữ giá trị trung bình và độ lệch chuẩn cho mỗi kênh.
Cách tiếp cận này xây dựng hình nền trong giai đoạn khởi tạo và hơn nữa chỉ cập nhật các tham số của nó thay vì điều chỉnh pdf từ đầu ở mỗi khung thời gian mới để tăng tốc độ và độ chính xác Trong giai đoạn này, phương pháp được cung cấp một chuỗi khung hình theo thời gian được lấy từ một camera tĩnh không chứa đối tượng chuyển động.
Giá trị trung bình được ước tính cho mỗi pixel từ N frame khởi tạo là: μ= 1
Trong đó x t là giá trị pixel tại frame t Sau khi có được mức trung bình cho mỗi pixel, độ lệch chuẩn có thể được ước tính là: σ 2 = 1
Trong đó: N là số frame khởi tạo, x t là giá trị pixel tại frame t va μ là giá trị trung bình.
Em thực hiện trừ khung hiện tại khỏi khung trước đó hình ảnh trung bình ước tính, dẫn đến sự khác biệt hình ảnh cho mỗi kênh Mỗi hình ảnh khác biệt cho biết mức độ giá trị của khung hình hiện tại đã thay đổi so với hình ảnh trung bình trong kênh tương ứng Nó giả định rằng camera không cung cấp hình ảnh hoàn hảo và nhiễu phù hợp với Gaussian hàm mật độ xác suất, do đó em thực hiện một bước chuẩn hóa độ tin cậy cho mọi kênh sử dụng hai ngưỡng Các ngưỡng này là bội số của độ lệch chuẩn của nền và nó sẽ chia không gian thành 2 khoảng, chuyển động là trắng, ko chuyển động là đen.
Ngược lại, nếu giá trị chênh lệch lớn hơn ngưỡng Mσ, điều đó có nghĩa là giá trị nhiều khác hơn so với giá trị trung bình và không thể được tạo ra bởi bất kỳ thứ gì khác ngoài đối tượng đang chuyển động, thì độ tin cậy được đặt thành 100%.
Việc trừ nền trong bài toán này dựa trên công thức: frame(i)−frame(i−1)>threshold
Trong đó frame ( i) là frame ảnh trong 1 video tại thời gian i Cụ thể của việc trừ nền này là lấy tương ứng từng pixel của frame hiện tại trừ đi frame trước đó để thu được các pixel chuyển động.
Hình 2.2: Ví dụ trừ nền và refine lại ảnh thu được sau tách ngưỡng
Hình 2.2 là một ví dụ cho quy trình trừ nền được em sử dụng, sau nhiều lần thí nghiệm về khói, em chọn được ngưỡng tốt nhất để phân ngưỡng nhị phân là 25 Em tiếp tục refine lại vùng foreground để lọc bớt nhiễu sẽ được em trình bày chi tiết trong mục 2.2.2.
Bước 3: Update background Để thuật toán trừ nền hoạt động được tốt nhất, background modelling phải ngay lập tức cập nhật lại những thay đổi chuyển động đột ngột của cảnh chẳng hạn như điểm bắt đầu Vì lý do này, em giới thiệu một biến mới α, tốc độ học của mô hình Đối với pixel được phân loại là tiền cảnh, em chọn giá trị α thấp để ngăn chặn việc tích hợp của đối tượng chuyển động vào nền Đối với pixel được phân loại là nền, nên chọn giá trị α phụ thuộc vào độ ổn định, chọn thấp hơn nếu muốn nền update chậm hoặc chọn cao hơn nếu muốn update nền nhanh Việc chọn giá trị α dựa trên thử nghiệm thực tế. μ t =α x t +(1−α)μ t−1
Trong đó: μ t là giá trị trung bình tại frame thứ t α là learning rate của mô hình x t là giá trị pixel trong ảnh tại frame t μ t −1 là giá trị trung bình tại frame t −1
2.1.2 Tách vùng candidate smoke dựa trên phân ngưỡng binary và phân ngưỡng otsu
Phân ngưỡng binary là phương pháp khá thông dụng trong các bài toán xử lý ảnh Em sẽ chọn một giá trị ngưỡng cố định trong khoảng từ 0 đến 255, Giá trị ngưỡng sẽ chia tách giá trị độ xám của ảnh thành 2 miền riêng biệt Miền thứ nhất là tập hợp các điểm ảnh có giá trị nhỏ hơn giá trị ngưỡng Miền thứ hai là tập hợp các các điểm ảnh có giá trị lớn hơn hoặc bằng giá trị ngưỡng.
Hình 2.3: Ảnh xám đầu và và ảnh đầu ra sau khi sử dụng tách ngưỡng binary
Qua nhiều lần thử nghiệm trên bộ dữ liệu khói em lựa chọn được giá trị ngưỡng đầu vào tốt nhất là threshold = 25.
Phân loại khói
Xử lý ảnh tuy rất mạnh mẽ về việc tính toán, các bộ lọc, nhưng cũng rất dễ bị nhầm lẫn bởi màu sắc, các tính chất của đối tượng giống khói Vì vậy em có đặt ra một quy trình phân loại để chắc chắn các vùng candidate smoke đó có phải là khói thật hay không được gọi tên là “cascade model” nghĩa là mô hình thác nước để phân loại khói Một vùng candidate smoke sẽ được quyết định là true smoke nếu có thể vượt qua được các bước phân loại của cascade model.
Hình 2.7 dưới đây là cấu trúc của một cascade model, input của mô hình phân loại này là các vùng cadidate smoke tách ra được trong 1 video mà em đã trình bày ở phần 2 Cấu trúc này bao gồm các phần theo thứ tự :
Color classification: Phân loại dựa trên màu sắc của khói
Growing region classification : Phân loại dựa trên tính chất sự phát triển theo thời gian của khói
Size variation classification: Phân loại dựa trên sự biến đổi kích thước của khói
CNN classification: Phân loại sử dụng model deep learning VGG16
Hình 2.7: Kiến trúc cascade model phân loại khói
2.2.1 Phân loại khói dựa trên màu sắc (Color classification)
Khi quan sát bằng mắt thường, có thể dễ dàng nhận thấy khói thường sẽ có màu trắng, màu xám, xám trắng, xám tối Vì vậy qua nhiều thí nghiệm thực tế từ màu sắc của khói, em nhận dạng màu của khói dựa trên công thức:
I R , I G , I B là giá trị pixel 3 kênh R,G,B tại cùng 1 pixel trong ảnh
th c là giá trị ngưỡng lựa chọn dựa trên các thực nghiệm về màu của khói
I min , I , I max là giá trị cường độ của pixel, giá trị max, giá trị min biến thiên của màu sắc khói Ở công thức (1), (2), (3) qua nhiều lần thí nghiệm em đã đưa ra được ngưỡng thc cho độ chính xác màu của khói chính xác nhất là thc dao động trong khoảng từ 5 đến 25.
Trong công thức (4) em cũng thực nghiệm tương tự đối với càng vùng khói thì giá trị điểm ảnh thuộc vùng khói sẽ dao động trong khoảng từ 80 đến 220.
Hình 2.8: Quy trình phân loại cascade model dựa trên màu sắc
Hình 2.8 thể hiện 1 quy trình tóm tắt của cascade model dựa trên màu sắc, hình (a) là hình ảnh nhị phân foreground của vùng candidate smoke tìm được ở phần trừ nền, hình (b) là vùng candidate smoke cắt từ ảnh gốc Trong hình (c), em sẽ lấy ra vùng foreground image trên ảnh gốc và các vùng còn lại trong ảnh sẽ là vùng có giá trị pixel = 0 Cuối cùng là hình d sau khi đã sử dụng thuật toán color classification ở trên.
Có thể nhìn thấy trong hình d, số lượng pixel không phải là smoke(màu đỏ) trong khói thật là rất ít, còn số lượng pixel không phải là smoke trong non smoke(người) là rất nhiệu Vì vậy em tiếp tục thực nghiệm để tìm loại bỏ những vùng có nhiều pixel không phải là khói sử dụng công thức:
Nếu tỉ lệ số lượng pixel vùng được phân loại màu là khói/ tổng số lượng pixel vùng candidate < 1 ngưỡng thrc thì vùng candidate smoke này sẽ được phân loại không phải smoke và bị loại Qua rất nhiều lần thực nghiệm từ các data thực tế, em xác định được vùng ngưỡng ở đây = 0.7 Vì vậy qua công thức này em loại được đối tượng người trong hình 2.8.
2.2.2 Phân loại khói dựa vào sự phát triển của vùng khói (Growing region classification) Đây là một dạng phân loại ở layer thứ 2 của cascade model bằng cách dựa trên tính chất chuyển động của khói theo thời gian Cụ thể là nếu quan sát kỹ bằng mắt thường có thể thấy là khi khói bắt đầu xuất hiện, nó sẽ lan toả dần ra không khí và cần một chu kỳ thời gian cụ thể chứ không thể ngay lập tức được.
Hình 2.9: Sự phát triển theo thời gian của một vùng khói
Hình 2.9 thể hiện quá trình hình thành và phát triển thành hình của 1 vùng khói Tại thời điểm t0 vùng khói đang vừa mới hình thành và đang còn rất bé, cứ qua mỗi chu kỳ từ t0 tới t1 vùng khói lại lớn dần lên và tan ra vào không khí, dựa vào tính chất này của khói Em toán học hoá sự phát triển của một vùng khói dựa trên công thức sau:
n là là một biến dùng để đếm số lượng vùng khói phát triển theo thời gian
S t là diện tích vùng khói tại frame t
Trong 1 chuỗi frame liên tiếp, vùng khói sẽ được đếm tăng dần nếu thoã mãn điều kiện diện tích vùng khói ở frame tiếp theo lớn hơn một lượng nhất định so với frame trước đó và những pixel khói trùng nhau ở 2 frame liên tiếp không được quá bé (do trong khoảng thời gian ngắn là 1 frame liên tiếp như thế vùng khói không thể phát triển quá nhanh bay từ vị trí này sang vị trí tách biệt khác ở xa được).
Theo dõi kích thước của 1 vùng khói, nếu kích thước của vùng khói tăng dần theo thời gian thì sẽ được phân loại có thể là vùng khói để đưa layer tiếp theo của cascade model.
2.2.3 Phân loại khói dựa trên mạng học sâu VGG16
VGG16 là mạng convolutional neural network được đề xuất bởi K.Simonyan and A Zisserman, University of Oxford Model sau khi train bởi mạngVGG16 đạt độ chính xác 92.7% top-5 test trong dữ liệu ImageNet gồm 14 triệu hình ảnh thuộc 1000 lớp khác nhau Giờ áp dụng kiến thức ở trên để phân tích mạngVGG 16 Mạng VGG được ra đời vào năm 2015 Kiến trúc của mô hình này có nhiều biến thể khác nhau: 11 layers, 13 layers, 16 layers, và 19 layers, các bạn có thể xem chi tiết trong hình sau Trong bài toán nhận dạng khói, em đã sử dụng 16 layers.
VGG16 được coi là mô hình CNN nâng cao AlexNet bằng cách thay thế các bộ lọc có kích thước hạt nhân khổng lồ (11 và 5 trong hai lớp phức hợp đầu tiên) có nhiều bộ lọc kích thước hạt nhân 3×3 tuần tự Hình ảnh của các khuôn mặt được chuyển qua các lớp phức hợp với các bộ lọc có trường tiếp nhận tối thiểu: 3×3 (đây là kích thước nhỏ nhất cần thiết để thu thập khái niệm lên / xuống, trái / phải và trung tâm) Nó sử dụng các bộ lọc tích chập 1×1 trong một cấu hình có thể được xem như là chuyển đổi tuyến tính các kênh đầu vào khác nhau Tổng hợp không gian được thực hiện bằng cách sử dụng 5 lớp tổng hợp tối đa theo sau một vài lớp tích chập (mọi lớp tích chập không theo sau bằng tổng hợp tối đa) Sự sắp xếp tương tự của các lớp pooling tối đa và các lớp tích tụ được thực hiện nhất quán trong toàn bộ kiến trúc Ở phần cuối, nó có 2 lớp được kết nối đầy đủ ngay sau đó là softmax cho đầu ra 16 trong VGG16 chỉ ra rằng nó có 16 lớp với các trọng lượng liên quan Học chuyển tiếp có thể cải thiện hiệu suất học tập đáng kể.
Hình 2.10: Cấu trúc mạng VGG16
Em đưa vào hình ảnh có kích thước 244*244*3 (pixels), output là 1 layer với
1000 nút mạng, tương ứng với 1000 class trong Imagenet, sử dụng Softmax với phân phối xác suất đầu ra ứng với từng class Các lớp ẩn ở giữa bao gồm các layer cơ bản của 1 mạng CNN như: lớp Convolution, Pooling, kết nối đầy đủ và hàm kích hoạt Như đã nói ở trên, mạng nơ ron hoạt động cũng tương tự như 1 bộ trích chọn đặc trưng, với các layer ở lớp đầu dùng để bóc tách các đặc trưng mức thấp như: góc, cạnh, hình khối vật thể Các lớp cao hơn thực hiện bóc tách các đặc trưng mức cao, ứng với các đặc trưng riêng của từng đối tượng.
HƯƠNG 1 Hình 2.11: Kiến trúc mạng VGG16
Lớp convolutional: kích thước 3*3, padding=1, stride=1 Mặc định sẽ là stride=1 và padding để cho output cùng width và height với input.
Lớp max pooling layer với size 2*2
3*3 conv, 64: thì 64 là số kernel áp dụng trong layer , hay depth của output của layer.
Càng các convolutional layer sau thì kích thước dài, rộng càng giảm nhưng độ sâu càng tăng.
Sau khá nhiều lớp tích chập và lớp pooling thì dữ liệu được trải đều và cho vào lớp kết nối đầy đủ.
Cách sử dụng VGG16 trong bài toán nhận dạng khói:
Trong bài toán nhận dạng khói, em sử dụng Tensorflow để xây dựng một chương trình training model.
Thư viện được sử dụng:
HƯƠNG 1 Bảng 2.1: Thư viện sử dụng training model VGG16 cho bài toán nhận dạng khói
Chương trình 1: Thư viện sử dụng training model VGG16 import os import matplotlib.style as style from tensorflow.keras.applications import MobileNetV2, VGG16 from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping from tensorflow.keras.layers import Input, Flatten, Dense, Dropout, Permute, Reshape, GlobalAveragePooling2D from tensorflow.keras.models import Model import numpy as np from imutils import paths import matplotlib.pyplot as plt from tensorflow.keras.optimizers import SGD from tensorflow.keras.preprocessing.image import ImageDataGenerator from sklearn.utils import class_weight
Temporal analysis
Sau các bước phân loại khói ở phần 2.2, đã có thể kết luận vòng candidate smoke có phải là khói hay không trên mỗi frame ảnh Nhưng sau một loạt các frame liên tiếp như vậy, qua nhiều lần thực nghiệm thực thế em có đưa ra một phương pháp để có thể quyết định cuối cùng là có event khói trong video không bằng cách kết hợp các kết quả ở các chuỗi frame liên tục Mục đích của phương pháp này là để tối ưu tốc độ Cụ thể như sau:
Các vùng được xác định là vùng có khả năng là khói trong ảnh thu được từ bộ phân loại khói ở phần 2.2 sẽ được đánh object id, ở các frame tiếp theo nếu vẫn tồn tại vùng có khả năng là khói và vùng giao nhau giữa vùng đó so với vùng ở frame trước có số lượng pixel > 70% so với vùng ở frame trước sẽ được đánh object id giống nhau Sau đó việc kết luận cuối cùng là có phải là khói hay không trong video sẽ theo quy tắc sau:
6 frame ảnh liên tiếp có chứa vùng có khả năng là khói có cùng id thì kết luận vùng đó là vùng khói trong video.
3 frame ảnh liên tiếp có chứa vùng có cùng object id nhưng được bộ phân loại khói kết luận không phải là khói thì sẽ bị loại bỏ để tối ưu tốc độ. Ý nghĩa của quy tắc trên là để tối ưu tốc độ cho phần cứng, thay vì ảnh nào cũng đưa vùng candidate smoke vào bộ phân loại thì việc làm này sẽ loại bỏ được những vùng đã chắc chắn là khói rồi và những vùng chắc chắn không phải là khói để ở những frame tiếp theo không phải đưa vào bộ phân loại nữa.
Kết luận chương
Trong chương 2, đề án đã trình bày chi tiết về các bước xây dựng thuật toán phân loại khói, bao gồm cả các thuật toán xử lý ảnh và model phân loại VGG16,cũng như các bước để quyết định đó chính xác có phải là vùng khói hay không.Thuật toán trên được phát triển trên ngôn ngữ lập trình C++, đầu ra của thuật toán là một dạng dll lib (dynamic lib) để dễ dàng tích hợp vào các hệ thống VMS hiện nay.
Trong chương tiếp theo, đề án sẽ trình bày về quy trình thu thập dữ liệu dữ liệu cho training, thử nghiệm thuật toán trên hệ thống VMS Nx Witness, các kết quả thu được, đánh giá kết quả của mô hình và so sánh với các nghiên cứu khác.
CÀI ĐẶT VÀ THỬ NGHIỆM
Thu thập dữ liệu và thử nghiệm cho việc training model
Hình ảnh được chia thành 2 nguồn chính: Tập dữ liệu ảnh và video công khai được crawl từ internet, tệp dữ liệu private từ khách hàng Việc sử dụng 2 nguồn một lúc để đảm bảo rằng dữ liệu sẽ không bị overfit vào một hoàn cảnh, cách gán nhãn riêng nào.
Các bức ảnh chủ yếu được lấy theo dạng ảnh màu, chụp từ nhiều góc vào vùng khói, trong ảnh khói sẽ không có các đối tượng khác trong 5 class phân loại, chẳng hạn như người xe Nếu hình ảnh có cả khói và object khác sẽ được đưa vào xử lý lại để crop vùng ảnh chỉ chứa mình khói.
3.1.2 Xử lý dữ liệu thô
Vì dữ liệu được thu thập theo nhiều nguồn và chưa qua kiểm duyệt ta cần sử dụng một số kỹ thuật tiền xử lý dữ liệu Nguồn ảnh từ mạng Internet cho rất nhiều ảnh với các điều kiện khác nhau, nhưng với việc sử dụng công cụ lấy ảnh tự động nên số lượng ảnh không liên quan cũng rất nhiều Nguồn ảnh chụp thực tế có rất nhiều ảnh bị nhiễu – nhòe – mất nét Ngoài ra, một số lượng lớn ảnh bị trùng lặp do chụp ảnh theo chế độ liên tục, dẫn tới việc phải lọc bớt để tránh hiện tượng overfit khi huấn luyện mô hình.
Quy trình xử lý dữ liệu thô dựa trên các thuật toán xử lý ảnh được em trình bày ở phần 2.2 của đề án Đầu vào bao gồm 323 video khói, chạy qua lần lượt bộ video đó để cắt ra frame và thực hiện qua thuật toán để save ra vùng candidate smoke.
Từ vùng candidate smoke đó, em tiếp tục crop bằng công cụ crop ảnh của window 10 sao cho vùng khói fit với ảnh nhất, một team gồm 3 bạn sinh viên sẽ thực hiện công việc này.
Hình 3.1: Quá trình crop dữ liệu Ảnh gốc extract từ video Ảnh vùng candidate smoke Ảnh crop ra vùng khói
Hình 3.1 thể hiện ví dụ một quá trình để xử lý dữ liệu thô, bên trái là hình ảnh được trích xuất từ video có chứa khói, ở giữa là vùng candidate smoke region tìm được sau khi xử dụng các kỹ thuật xử lý ảnh trong bài toán, cuối cùng là ảnh tự crop ra vùng khói riêng, vùng có người riêng để đưa vào 2 class riêng biệt.
3.1.3 Gán nhãn dữ liệu Ảnh sau khi đã qua bước xử lý thô sẽ được gán nhãn Một đội gồm 4 người đã tham gia vào quá trình gán nhãn dữ liệu, diễn ra trong vòng 1 tháng Đầu tiên, mỗi thành viên trong đội sẽ được yêu cầu đọc kỹ hướng dẫn thu dữ liệu và hoàn thành một số ví dụ đã cho trước khi bước vào quy trình thu thập dữ liệu chính thức
Dữ liệu sẽ được phân loại gán nhãn cho 5 classes sau:
Dữ liệu được gán nhãn được đảm bảo tuân thủ theo một số quy định thống nhất Bao gồm:
Ảnh nào hoài nghi ko rõ ràng sẽ được đưa vào unknown
Các ảnh có từ 2 đối tượng trở lên sẽ được crop lại sử dụng tool cắt ảnh trên window 10 rồi phân loại tiếp
Ảnh có có độ phân giải lớn quá sẽ được resize lại với kích thước < fullhd
Ảnh có kích thước bé quá sẽ được bỏ đi (< 60*60 )
Toàn bộ quá trình gán nhãn được thực hiện cẩn thận và kỹ lưỡng, sau mỗi lượt phân loại xong, mỗi bạn lại đổi chéo data cho nhau để check lại Sau mỗi lần training model lại quay lại điều chỉnh dữ liệu sao cho độ chính xác là tối ưu nhất.
Dữ liệu sẽ được update tăng dần sau mỗi lần làm dự án từ một site đặc biệt của khách hàng.
3.1.4 Định dạng và thống kê dữ liệu
Sau khi thu thập trích xuất ảnh từ video từ 2 nguồn, xử lý dữ liệu thô, phân loại và gán nhãn dữ liệu, em có bảng thống kê số ảnh xử lý được cho từng class như sau:
Bảng 3.1: Bảng thống kê data sau xử lý để đưa vào training
Classes From public source(on internet) From private source(from customer of my company)
Dưới đây là một số demo về dữ liệu sau khi thu thập và tiền xử lý:
Một số dữ liệu ảnh về human sau xử lý:
Hình 3.2: Một số hình ảnh về human class data
Một số dữ liệu ảnh về Car:
Hình 3.3: Một số hình ảnh về car class data
Một số dữ liệu ảnh về Fire:
Hình 3.4: Một số hình ảnh về Fire class data
Một số dữ liệu ảnh về Smoke:
Hình 3.5: Một số hình ảnh về Smoke class data
Một số dữ liệu ảnh về Unknown:
Hình 3.6: Một số hình ảnh về Unknown class data
Kết quả thực nghiệm và so sánh, đánh giá thuật toán
Để thực hiện việc thực nghiệm và đánh giá độ chính xác của thuật toán, Em thực hiện thực nghiệm sử dụng visual studio 2019 và sử dụng thư viện opencv 4.5.0, NIVIDIA CUDA SDK Em chạy thực nghiệm trên máy tính window 10 với CPU Intel® Core i9-10850K @ 3.60GHz, 32GB RAM và NIVIDIA GeForce RTX
Em sử dụng 15 video, bao gồm 10 videos khói, 5 video không có khói để thực hiện đánh giá.
Hình 3.7: Kết quả phát hiện khói trên 10 videos khói và 5 videos không khói
Hình 3.7 thể hiện kết quả thực nghiệm 15 video bao gồm 10 video khói và 5 video không khói, trên cùng bên trái là video smoke01, dưới cùng bên phải là video smoke15 Khung viền màu đỏ là detect vùng khói, khung viền màu xanh là vùng đối tượng chuyển động không phải là khói.
3.2.1 Kết quả thu được so với một số nghiên cứu khác
Thực hiện so sánh kết quả của 15 video này so với một số nghiên cứu trước:
Bảng 3.2: Bảng so sánh kết quả của thuật toán với các nghiên cứu trước trên 15 videos khói
Thuật toán dựa trên thuần xử lý ảnh cụ thể là sử dụng vector motion, surface roughness và area randomness [24] khi thực hiện hiện đánh giá bị missing ở video
6, bị bắt lỗi ở video 11 và 15 Trong thuật toán này, khói được phân loại là khói thật nếu sự biến thiên của motion vecter và kích thước của vùng khói thay đổi ngẫu nhiên và nhanh chóng Tuy nhiên, trong video 6, môi trường là ở trong đường hầm, sự di chuyển không khí trong môi trường này là thấp ; trong trường hợp đó, cả hướng và kích thước của khói đều không thay đổi nhiều, vì vậy bị phân loại là object không phải là khói Thuật toán này cũng bị bắt nhầm trong video 11 và video
15, khi có 1 hoặc nhóm người di chuyển xung quanh Trong trường hợp này, hướng, kích thước, và màu sắc đều tương tự đặc điểm của khói và dẫn đến sự phát hiện sai.
Một thuật toán khác dựa trên decrease of the background edge (làm giảm biên của nền) [26] cũng gặp tình trạng không bắt được hoặc bắt lỗi nếu cạnh nền mờ Như ở trong video 6, nếu khói xuất hiện khi các cạnh biên của nền kém, năng lượng cạnh của nền sẽ tăng thay vì giảm Theo thuật toán này, mức độ ranh giới của các vật thể không khói nhìn mượt mà hơn so với vật thể có khói (nghĩa là mức chênh lệch giữa khói so với nền là lớn hơn giữa các vật thể khác so với nền), tuy nhiên, cách nhìn nhận này không phải lúc nào cũng đúng Như trong video 6 và video 15, ranh giới của khói mượt mà hơn các đối tượng không khói.
Trái ngược với các kỹ thuật khác, thuật toán em dũng cố gắng chọn ngưỡng tốt nhất để loại bỏ các object chuyển động có khả năng là khói thấp nhất Tuỳ thuộc vào hiệu suất và độ chính xác cao của bộ phân loại CNN, thuật toán của em là sự kết hợp giữa 2 điều này nên không chỉ giảm được false alarm mà còn tăng độ chính xác khi phát hiện khói Như được thể hiện trong bảng 6, thuật toán của em đã phát hiện thành công khói trên mọi video ngắn có khói và không có false alarm.
3.2.2 Hiệu suất thuật toán đạt được
Bảng 3.3: Hiệu suất của thuật toán trên 10 video khói
Với việc sử dụng phần cứng mạnh mẽ được sản xuất bởi NVIDIA, thuật toán đạt được hiệu quả và hiệu suất tính toán tốt Thời gian xử lý cho các lớp phân loại trên cùng của cascade model nhỏ hơn 1 millisencond, và thời gian xử lý của trình phần loại CNN là khoảng 8 ms cho mỗi hình ảnh cộng thêm với thời gian xử lý của các phần khác Kết quả kiểm tra hiệu suất của hệ thống được tóm tắt trong bảng 7.
Kết quả thử nghiệm cho thấy hệ thống của em có thể xử lý tổng cộng 40 frame mỗi giây và có thể phát hiện khói trong vòng 3 đến 10s; do đó, hệ thống của em hoàn toàn phù hợp với các hệ thống thời gian thực.
Tích hợp và thử nghiệm thuật toán vào hệ thống VMS
3.3.1 Kiến trúc hệ thống VMS
Hình 3.8: Kiến trúc của VMS
Hình 3.8 là kiến trúc của 1 VMS với các thành phần sau đây:
IP camera: các camera thường hoặc hồng ngoại mục đích để lấy luồng rtsm stream và theo dõi.
Video management server( máy chủ quản lý video): có nhiệm vụ phát hiện, kết nối, quản lý các thiết bị trong hệ thống và dữ liệu, quản lý người dùng
Video annalytic server: thực hiện thuật toán phân tích để phát hiện các tình huống bất thường, có thể là nhận dạng đám cháy, khuôn mặt, phát hiện chuyển động và theo dõi… Khi một sự kiện bất thường được phát hiện, nó sẽ được chuyển đến máy chủ quản lý video trước khi phát hình ảnh cho người dùng.
Central monitoring: client cho phép giám sát, tua lại, cũng như cài đặt các cấu hình cho video annalytic server xử lý.
Remote view: người dùng có thể xem camera từ xa tại nhà, trong văn phòng hoặc từ bất cứ nơi nào với một chiếc điện thoại Tính năng này cho phép người dùng xem ngay thông tin.
3.3.2 Thực hiện tích hợp phát hiện khói trên hệ thống VMS
Hình 3.9: Sơ đồ khối của hệ thống VMS
Hình 3.9 hiển thị sơ đồ khối và cách để 1 hệ thống VMS hoạt động Máy chủ quản lý video quét và kết nối tới tất cả camera để lấy được 1 luồng rtsp stream Máy chủ quản lý video cũng kiểm soát các luồng rtsp đến các máy khách từ xa hoặc máy chủ phân tích video Máy chủ phân tích video nhận luồng rtsp, giải mã các frame ảnh và phân tích liệu có smoke hay không Sau khi phân tích, kết quả sẽ được gửi về máy chủ quản lý video qua metadata Cuối cùng , rtsp stream và thông tin các kết quả smoke detection sẽ được gửi về client cũng như được lưu lại dưới database.Một hệ thống thông báo được thiết kế để thông báo tới người dùng ngay khi có 1 event khói xuất hiện
Người dùng có thể nhận một smoke alarm bằng email, tin nhắn hoặc cuộc gọi; người dùng cũng có thể xác nhận lại event khói có chính xác hay không bằng cách xem lại ảnh và video tua lại.
3.3.3 Cài đặt thử nghiệm và kết quả hiệu suất đạt được trên hệ thống VMS
Hình 3.10: Giao diện hệ thống VMS
Hình 3.10 là giao diện giám sát và theo dõi camera của hệ thống VMS, bên trái là các danh sách các camera giám sát, bên phải là event thông báo mỗi khi có khói xuất hiện, thanh bên dưới là chức năng tua hoặc xem lại, người dùng có thể config nhiều server camera, thiết lập độ nhạy cho thuật toán khói trong biểu tượng setting, ngoài ra người dùng còn có thể thiết lập cảnh báo về mail, hoặc cảnh báo về smart phone.
Hình 3.11: Hệ thống cảnh báo mỗi khi có event khói xuất hiện
Hình 3.11 thể hiện events cảnh báo khi có khói xuất hiện, qua thử nghiệm trên nhiều thiết bị thực tế, hệ thống của em đạt được độ chính xác và hiệu suất ổn định khi chạy cùng lúc với nhiều camera được thể hiện trong bảng sau:
Bảng 3.4: Kết quả chạy thử nghiệm hiệu suất smoke detection trên hệ thống VMS
9750H CPU, Ram 16gb, NVIDIA GTX 1660 Ti
Intel core i9- 10850K, Ram 32gb, NVIDIA GeForce RTX 3070
Intel core i9- 10900K, Ram 32gb, NVIDIA GeForce RTX 3080
Số channel tối đa đạt được
FPS đạt được trong 1s của mỗi channel
Bảng 3.4 cho thấy kết quả hiệu suất chạy thử nghiệm hệ thống trên 3 loạiGPU khá phổ biến hiện nay là GTX-1660Ti, RTX-3070, RTX-3080 thì kết quả cho thấy hiệu suất khá tốt khi chạy trên cả 3 loại card, đối với loại 3080 GPU hệ thống có thể đạt được chạy cùng lúc 40 channel 1 lúc mà vẫn cho thấy sự mượt mà với lượng FPS đạt được trong 1s là 30.
Kết luận chương
Trong chương 3, đề án đã trình bày cách để tích hợp thuật toán vào hệ thống VMS, các thử nghiệm, kết quả và hiệu suất đạt được trên hệ thống đó Điều đó chứng tỏ thuật toán do em và nhóm bạn nghiên cứu phát triển hội tụ đầy đủ yếu tố để phát triển trên một ứng dụng thực tế Trong chương này còn trình bày về quá trình thu thập dữ liệu cho việc đào tạo model, quy trình xử lý dữ liệu thô, gán nhán dữ liệu và cuối cùng là các kết quả thực nghiệm đạt được trên 15 video trong đó có
10 video khói và 4 video không khói Kết quả là khá ấn tượng khi so sánh với các nghiên cứu tốt gần đây Một lần nữa lại chứng minh được thuật toán vừa đạt độ chính xác tốt cũng như hiệu suất tốt khi tích hợp vào hệ thống VMS Trong chương sau, sẽ là phần đưa ra kết luận của cả đề tài và hướng phát triển cho bài toán nhận dạng khói sau này.
TỔNG KẾT
Hệ thống phát hiện khói rất quan trọng vì nó có thể cứu sống con người và ngăn chặn các mối nguy hiểm trước khi đám cháy vượt khỏi tầm kiểm soát Trước đây, các cảm biến thường được sử dụng trong những hệ thống như vậy Những cảm biến này rất nhạy cảm với các hoá chất được tạo ra trong đám cháy, cảnh báo chỉ kích hoạt khi các hoá chất này chạm tới được cảm biến và sự hiện diện của chúng được phát hiện bởi ion hoá và trắc quang Yêu cầu này làm cho các cảm biến này phụ thuộc vào khoảng cách đến khu vực cháy, cũng như vị trí của chúng Ngoài ra, các cảm biến này rất khó sử dụng ngoài trời vì chúng cần nhiều cảm biến được lắp đặt trên một khu vực rộng rãi.
Với sự phát triển ngày càng cao của hệ thống camera giám sát và nhu cầu về giám sát thông minh, AI camera là một bước tiến mạnh mẽ cho bây giờ và tương lai cho việc phát hiện khẩn cấp để giảm thiệt hại về người và tính mạng Việc phát hiện với hình ảnh sớm hơn và có thể nhận dạng từ xa thông qua mạng hơn là sử dụng các cảm biến thông thường.
Trong đề án này, các phương pháp mới được trình bày để phát hiện sớm khói bắng hệ thống camera giám sát Em phát triển các thuật toán phát hiện khói trong ảnh bằng cách phân tích các đặc điểm của vùng khói Công nghệ VGG trong học sâu cũng được phát triển để tăng độ chính xác của hệ thống.
Kết quả thử nghiệm cho thấy các thuật toán của em phát triển có kết quả tốt so với những nghiên cứu trước đây Kết quả của em cũng cho thấy rằng hệ thống của em hoàn toàn phù hợp với các ứng dụng thực tế.
Bằng cách tích hợp các thuật toán vào hệ thống VMS, em đã hoàn thành 1 ứng dụng thực tế theo dõi khói lửa cho 1 đơn vị khách hàng từ Úc Hệ thống đạt 64 kênh camera chạy cũng lúc và có thể cài đặt tại các toà nhà lớn cũng như môi trường ngoài trời Hệ thống báo khói lửa cho phép khách hàng phát hiện sớm trong trường hợp hoả hoạn, để thiệt hại do hoả hoạn gây ra sẽ được giảm thiểu, ngăn chặn.
Nhược điểm của các thuật toán của em là chỉ hoạt động trên các đám khói có màu sắc chung và thuật toán cũng không thể hoạt động với một lượng khói nhỏ. Trong công việc sắp tới, em sẽ mở rộng mô hình màu để phát hiện khói màu đen hoặc có màu lạ do ảnh hưởng từ môi trường, không gian xảy ra Em cũng đang phát triển trên các mạng CNN mới hơn rồi so sánh với nhau để lựa chọn công nghệ tốt nhất.
Hướng phát triển trong tương lai
Trong bài toán phát hiện khói, vẫn còn một số hạn chế như màu nền giống với màu khói, hoặc đối với khói trong các môi trường ánh sáng khác nhau thì màu sắc sẽ bị ảnh hưởng của màu sắc của ánh sáng Trong sắp tới, em cùng nhóm bạn nghiên cứu sẽ tiếp tục phát triển để khắc phục những hạn chế này.
Việc tích hợp thuật toán phát hiện khói sử dụng cả xử lý ảnh và CNN vào hệ thống VMS với độ chính xác và hiệu suất hoạt cao như vậy mang lại một tiềm năng phát triển cho tương lại trong lĩnh vực AI Camera hiện nay Với cùng hệ thốngVMS như vậy có thể phát triển rất nhiều các thuật toán khác nhau như phát hiện người đột quỵ , phát hiện trộm, phát hiện phương tiện giao thông, đếm xe, và tất cả những gì con người có thể nhìn và nhận biết bằng mắt thường được thì computer vision đều có thể làm được.
DANH MỤC TÀI LIỆU THAM KHẢO
[1] Anna Bosch, Andrew Zisserman, and Xavier Munoz, “Image Classification using Random Forests and Ferns”, International Conference on Computer
[2] Y Bengio, “Deep learning of representations for unsupervised and transfer learning,” UTLW'11 Proc 2011 Int Conf Unsupervised and Transfer
[3] J Chen et al., “Multi-feature fusion based fast video flame detection,”
Building and Environment, vol 54, no 5, pp 1113-1122, May 2010
[4] T Celik, "Fast and Efficient Method for Fire Detection Using Image
Processing," ETRI Journal, vol 32, no 6, pp 881-890, December 2010
[5] I Chakraborty and T Kr Paul, "A Hybrid Clustering Algorithm for Fire Detection in Video and Analysis with Color based Thresholding Method,"
ACE'10 Proceedings of the 2010 International Conference
[6] T Çelik and H Demirel, “Fire detection in video sequences using a generic color model,” Fire Safety Journal, vol 44, no 2, pp 147-158, February 2009
[7] T Celik and K.-H Ma, "Computer Vision Based Fire Detection in Color Images," 2008 IEEE Conference on Soft Computing in Industrial Applications,
[8] Csurka, G., C R Dance, L Fan, J Willamowski, and C Bray “Visual Categorization with Bags of Keypoints” Workshop on Statistical Learning in
[9] A Genovese,R D Labati, V Piuri, and F Scotti, “Wildfire smoke detection u sing computational intelligence techniques,” CIMSA, pp 1-6, Sept 2011
“Computer Vision Based Fire Alarming System”, Moratuwa Engineering
[11] Ping-He Huang, Jing-Yong Su, Jeng-Shyang Pan, “A Fire-Alarming Method Based on Video Processing”, International Conference on Intelligent
Information Hiding and Multimedia Signal Processing, 2006
[12] B C Ko et al., “Early fire detection algorithm based on irregular patterns of flames and hierarchical Bayesian Networks,” Fire Safety Journal, vol 45, no.
[13] B C Ko et al., “Fire detection based on vision sensor and support vector machines,” Fire Safety Journal, vol 44, no 3, pp 322-329, April 2009
[14] A Krizhevsky, I Sutskever, and G E Hinton, “ImageNet classification with deep convolutional neural networks”, International Conference on Neural
[15] B C Ko, J Y Kwak, and J Y Nam, “Wildfire smoke detection using temp oral–spatial features and random forest classifiers,” Opt Eng., vol 51, no 1, F eb 2012
[16] C.-Y Lee, C.-T.Lin, C.-T.Hong, and M.-T Su, “Smoke detection using spatial and temporal analysis,” Int J Innovative Comput., Inf and Contr., vol 8, no.
[17] Giuseppe Marbach, Markus Loepfe, Thomas Brupbacher, “An image processingtechnique for fire detection in video images”, Fire Safety Journal,
Vol 41, Issue 4, June 2006 13th International Conference on Automatic Fire
[18] M Oquab, L Bottou, I Laptev, and J Sivic, “Learning and transferring mi d- level image representations using convolutional neural networks,” 2014 IEE E
[19] Xiaojun Qi, Jessica Ebert, “Computer Vision Based Method for Fire Detection in Color Videos”, International Journal of Imaging and Robotics, Vol 2, No.
[20] Angie K Reyes, Juan C Caicedo, Jorge E Camargo, “Fine-tuning Deep
Convolutional Networks for Plant Recognition”, CLEF 2015
[21] C Stauffer and W E L Grimson, “Adaptive background mixture models f or real-time tracking,” IEEE Comput Soc Conf Comput Vision and Pattern R ecognition, vol 2, 1999
[22] B U Toreyin, Y Dedeoglu, and A Enis Cetin, “Contour based smoke dete ction in video using wavelets,” 14th Eur Signal Process Conf., pp 1-5, Sept.
[23] T X Tung and J.-M Kim, “An effective four-stage smoke-detection algori thm using video images for early fire-alarm systems,” Fire Safety J., vol 46, n o 5, pp 276-282, Jul 2011
[24] B U TÄoreyin, "Fire Detection Algorithms Using Multimodal Signal and
[25] Z Teng et al., “Fire detection based on hidden Markov models,” International
Journal of Control, Automation and Systems, vol 8, no 4, pp 822-830, 2010
[26] B.U Toreyin, Y Dedeogln, U Gudukbay, and A.E Cetin “Computer vision based method for real-time fire and flame detection,” Pattern Recognition
[27] W Zheng, W Xingang, A Wenchuan, and C Jianfeng, “Target-tracking ba sed early fire smoke detection in video,” ICIG ‘09, pp 172-176, Sept 2009
[28] ImageNet, “http://www.image-net.org”
[29] BAIR/BVLC CaffeNet Model, https://github.com/BVLC/caffe/tree/master/models/bvlc_reference_caffenet qua website https://app.kiemtratailieu.vn một cách trung thực và đạt kết quả mức độ tương đồng 9% toàn bộ nội dung của đề án Bản đề án kiểm tra qua website là bản cứng đã nộp để bảo vệ trước hội đồng Nếu sai tôi xin chịu các hình thức kỷ luật theo quy định hiện hành của Học Viện.
Hà Nội, ngày 30 tháng 05 năm 2023 Tác giả đề án tốt nghiệp ký và ghi rõ họ tên