Nghiên Cứu Ứng Dụng Mạng Nơ Ron Trong Việc Cảnh Báo Tài Xế Buồn Ngủ Khi Đang Lái Xe

Tài liệu nghiên cứu Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về .

Trường đại học

Đại học Đà Nẵng

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2023

59
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Ngôn ngữ lập trình Python

1.2. Tổng quan về học sâu

1.3. Lý thuyết về mạng nơ ron trí tuệ nhân tạo

1.4. Lý thuyết về OpenCV

1.5. Sử dụng OpenCV trong bài toán phát hiện mặt người và mắt

1.6. Lý thuyết về thư viện MediaPine

1.7. Framework Pytorch

2. CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. Ý tưởng thực hiện đề tài

2.2. Tổng quan hệ thống

2.3. Sơ đồ lớp

3. CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH

3.1. Triển khai cài đặt môi trường

3.2. Thu thập dữ liệu

3.3. Kỹ thuật tiền xử lý dữ liệu

3.4. Tăng cường dữ liệu

3.5. Mô hình phân loại trình trạng mắt nhắm, mở

3.6. Kết quả đạt được và đánh giá

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về nghiên cứu ứng dụng mạng nơ ron trong cảnh báo tài xế buồn ngủ

Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi lái xe đang trở thành một chủ đề nóng trong lĩnh vực công nghệ. Với sự gia tăng số vụ tai nạn giao thông do tài xế buồn ngủ, việc phát triển hệ thống cảnh báo hiệu quả là rất cần thiết. Hệ thống này không chỉ giúp bảo vệ tính mạng của tài xế mà còn giảm thiểu thiệt hại cho xã hội.

1.1. Tình hình tai nạn giao thông do buồn ngủ

Theo thống kê, khoảng 70% vụ tai nạn xảy ra vào ban đêm, khi tài xế dễ bị buồn ngủ. Việc nhận diện tình trạng buồn ngủ kịp thời có thể cứu sống nhiều người.

1.2. Vai trò của công nghệ trong việc cảnh báo

Công nghệ hiện đại như hệ thống cảnh báo sử dụng mạng nơ ron có thể phát hiện tình trạng buồn ngủ của tài xế thông qua camera và các thuật toán học sâu.

II. Vấn đề và thách thức trong việc cảnh báo tài xế buồn ngủ

Mặc dù công nghệ đã phát triển, nhưng vẫn còn nhiều thách thức trong việc phát triển hệ thống cảnh báo tài xế buồn ngủ. Các vấn đề như độ chính xác của nhận diện và khả năng hoạt động trong điều kiện ánh sáng khác nhau cần được giải quyết.

2.1. Độ chính xác của hệ thống cảnh báo

Độ chính xác trong việc nhận diện tình trạng buồn ngủ là rất quan trọng. Hệ thống cần phải phân tích chính xác trạng thái của mắt và khuôn mặt để đưa ra cảnh báo kịp thời.

2.2. Điều kiện môi trường ảnh hưởng đến hệ thống

Hệ thống cần hoạt động hiệu quả trong nhiều điều kiện ánh sáng khác nhau. Việc phát hiện buồn ngủ trong điều kiện ánh sáng yếu hoặc khi tài xế đeo kính râm là một thách thức lớn.

III. Phương pháp nghiên cứu và phát triển hệ thống cảnh báo

Để phát triển hệ thống cảnh báo tài xế buồn ngủ, nhiều phương pháp đã được áp dụng. Sử dụng mạng nơ ron và các thuật toán học sâu là một trong những phương pháp chính.

3.1. Sử dụng mạng nơ ron trong nhận diện

Mạng nơ ron nhân tạo (ANN) được sử dụng để nhận diện trạng thái mắt và khuôn mặt. Điều này giúp hệ thống đưa ra cảnh báo chính xác hơn.

3.2. Kết hợp công nghệ OpenCV và Mediapipe

Sử dụng thư viện OpenCV và Mediapipe giúp cải thiện khả năng nhận diện khuôn mặt và mắt, từ đó nâng cao hiệu quả của hệ thống cảnh báo.

IV. Ứng dụng thực tiễn của hệ thống cảnh báo buồn ngủ

Hệ thống cảnh báo buồn ngủ có thể được áp dụng trong nhiều lĩnh vực, từ xe hơi cá nhân đến xe tải vận chuyển. Việc áp dụng công nghệ này không chỉ giúp bảo vệ tài xế mà còn giảm thiểu tai nạn giao thông.

4.1. Ứng dụng trong xe hơi cá nhân

Hệ thống cảnh báo có thể được tích hợp vào xe hơi cá nhân, giúp tài xế nhận diện tình trạng buồn ngủ và đưa ra cảnh báo kịp thời.

4.2. Ứng dụng trong xe tải vận chuyển

Đối với xe tải vận chuyển, việc cảnh báo buồn ngủ là rất quan trọng để đảm bảo an toàn cho hàng hóa và người tham gia giao thông.

V. Kết luận và tương lai của nghiên cứu ứng dụng mạng nơ ron

Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ là một bước tiến quan trọng trong việc giảm thiểu tai nạn giao thông. Tương lai của công nghệ này hứa hẹn sẽ mang lại nhiều cải tiến và ứng dụng mới.

5.1. Hướng phát triển công nghệ cảnh báo

Công nghệ cảnh báo sẽ tiếp tục được phát triển với nhiều tính năng mới, giúp nâng cao độ chính xác và hiệu quả trong việc nhận diện tình trạng buồn ngủ.

5.2. Tích hợp với các hệ thống giao thông thông minh

Hệ thống cảnh báo có thể được tích hợp vào các hệ thống giao thông thông minh, góp phần xây dựng đô thị thông minh và an toàn hơn.

10/07/2025
Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe

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

Chương 1 CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ lập trình Python Ngôn ngữ Python được tạo ra bởi Guido van Rossum vào năm 1990, Python được phát triển trong một dự án mã nguồn mở bởi tổ chức phi lợi nhuận Python Software Foundation đứng ra quản lý. Là ngôn ngữ bậc cao, có hình thức và cấu trúc rõ ràng, thư viện được hỗ trợ phong phú và đa dạng nên khá thân thiện với người mới học và tìm hiểu lập trình. Vì vậy, từ năm 2016 Python đã là một trong những ngôn ngữ phổ biến trên thế giới, không những được sử dụng trên máy tính, Python còn có thể tận dụng để tạo ra các ứng dụng chạy trên nền tảng di động như IOS và Android.

Python có thể hoạt động được hầu hết trên các hệ điều hành phổ biến hiện nay như: Windows, Linux, MacOS, iOS, Android.1: Bảng xếp hạng sự phổ biến của các ngôn ngữ lập trình hiện nay (Nguồn: http://pypl.io) Dưới đây là một số đặc điểm và lợi ích của Python: [4] - Dễ học và đọc: Python có cú pháp đơn giản và dễ hiểu, giúp người mới học lập trình nhanh chóng tiếp cận và hiểu được mã nguồn. Cú pháp rõ ràng và sử dụng các từ khóa có ý nghĩa giúp mã Python dễ đọc và dễ bảo trì. SVTH: Trần Thị Phương Nhi 4 Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe - Ngôn ngữ đa mục đích: Python được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau, bao gồm phát triển web, trí tuệ nhân tạo, phân tích dữ liệu, hệ thống nhúng, game và nhiều lĩnh vực khác. Điều này cho phép bạn áp dụng Python cho nhiều loại dự án và sử dụng lại mã nguồn.

- Thư viện phong phú: Python đi kèm với một số thư viện và framework phổ biến như NumPy, pandas, TensorFlow, Django, Flask và nhiều thư viện khác. Nhờ vào các thư viện này, bạn có thể xây dựng các ứng dụng mạnh mẽ và hiệu quả trong thời gian ngắn. - Hỗ trợ đa nền tảng: Python có sẵn cho nhiều hệ điều hành như Windows, macOS và Linux. Bạn có thể viết và chạy mã Python trên nhiều nền tảng khác nhau mà không cần phải thay đổi mã nguồn.

- Cộng đồng phát triển mạnh mẽ: Python có một cộng đồng phát triển lớn và nhiều nguồn tài nguyên hữu ích như tài liệu, diễn đàn và các dự án mã nguồn mở. Bạn có thể tìm thấy hỗ trợ và giải đáp các câu hỏi của mình từ cộng đồng Python. - Hỗ trợ cho lập trình hướng đối tượng: Python hỗ trợ lập trình hướng đối tượng, cho phép bạn xây dựng và tổ chức mã nguồn một cách có cấu trúc và linh hoạt. Lập trình hướng đối tượng giúp tăng tính module và tái sử dụng mã nguồn.

Python là một ngôn ngữ lập trình đa dụng và mạnh mẽ, được sử dụng trong nhiều lĩnh vực và có cộng đồng phát triển đông đảo.2: Ngôn ngữ lập trình Python SVTH: Trần Thị Phương Nhi 5 Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe 1. Tổng quan về học sâu Những năm gần đây trong lĩnh vực nghiên cứu về trí tuệ nhân tạo (AI), học máy (Machine Learning - ML) đã đạt được những thành công đáng kể. Nó cho phép máy tính tiến gần hơn đến việc kết hợp hiệu suất của con người trong các lĩnh vực như: nhận dạng khuôn mặt, nhận dạng giọng nói và nhận dạng ngôn ngữ.3: Tổng quan về Trí tuệ nhân tạo Machine Learning là một lĩnh vực của AI mà trong đó máy tính được lập trình để tự động học hỏi từ dữ liệu mà không cần được lập trình cụ thể cho từng tác vụ. Thay vì việc lập trình, máy tính sẽ dựa trên các thuật toán học máy để tự động tìm ra các kết quả dự đoán chính xác từ dữ liệu đầu vào và điều chỉnh chúng theo thời gian với mục đích tối ưu hóa đầu ra.

Các ứng dụng của học máy rất phong phú và đa dạng, từ phân loại hình ảnh và giọng nói, dự đoán thị trường chứng khoán, xử lý ngôn ngữ tự nhiên và nhiều ứng dụng khác. Deep Learning (DL) là một lĩnh vực của AI tập trung vào việc xây dựng các mô hình máy học dựa trên các kiến trúc mạng nơ ron nhân tạo được thiết kế theo cấu trúc phân tầng sâu (deep), giúp cho máy tính xử lý và học được các dữ liệu phức tạp như hình ảnh, âm thanh, văn bản và video. Các mô hình học sâu ngày nay thường được sử dụng trong các ứng dụng như nhận dạng hình ảnh, nhận diện giọng nói, xử lý ngôn ngữ tự nhiên, trích xuất thông tin và dự đoán cũng như trong nhiều lĩnh vực khoa học khác. [6] Ví dụ: Một ví dụ về học máy đơn giản là dự đoán doanh số bán kem dựa trên nhiệt độ ngoài trời.

Tuy nhiên, khi áp dụng vào nhiều vấn đề thực tế, các mô hình SVTH: Trần Thị Phương Nhi 6 Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe đơn giản như vậy không còn phù hợp. Ví dụ như nhận dạng số viết tay, với sự đa dạng lớn về kích thước và hình dạng của mỗi chữ số, đòi hỏi máy tính phải có khả năng xử lý các tính năng phức tạp và tương tác lớn hơn giữa chúng. Vì vậy, học sâu với các mạng lưới thần kinh mạnh mẽ và linh hoạt trở nên cần thiết để giải quyết các vấn đề này. Mạng lưới thần kinh trong học sâu là một loạt các mô hình toán học có cấu trúc và được lấy cảm hứng từ bộ não con người.

Mỗi nơ ron trong mạng lưới được thể hiện bằng một hàm toán học, sẽ xử lý thông tin đầu vào và chuyển đổi nó thành một dạng dễ dàng hơn để điều chỉnh trước khi xuất ra đầu ra. Ta có thể hình dung các nơ ron trong mạng lưới thần kinh được sắp xếp theo từng lớp, giống như hình dưới đây.4: Mô phỏng mạng lưới thần kinh trong học sâu 1. Lý thuyết về mạng nơ ron trí tuệ nhân tạo 1. Mạng nơ ron nhân tạo Một trong những phương pháp phổ biến và chính trong học sâu là sử dụng Mạng nơ-ron nhân tạo (ANN).

Mô hình này được lấy cảm hứng từ cấu trúc não người, cơ quan phức tạp nhất trong cơ thể con người, gồm hơn 90 tỷ tế bào thần kinh. Các tế bào này được kết nối với nhau bằng các sợi thần kinh gọi là “sợi trục” và “đuôi gai”, giúp truyền thông tin giữa các tế bào. [7] ANN được phát minh lần đầu tiên vào năm 1958 bởi nhà tâm lý học Frank Rosenblatt. Mô hình này gồm nhiều nút tương tự như các nơ ron được kết nối chặt chẽ và tổ chức thành các lớp ẩn khác nhau.

Dữ liệu được đưa vào qua lớp đầu vào SVTH: Trần Thị Phương Nhi 7 Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe và đi qua các lớp ẩn tuần tự trước khi cho ra kết quả cuối cùng ở lớp đầu ra, ví dụ như xác định một hình ảnh có chứa đối tượng gì đó, chẳng hạn như “Mèo”. Một nơ ron đơn lẻ (được gọi là perceptron trong ANN) được biểu diễn như sau: Hình 1.5: Mô phỏng nơron trong mạng Perceptron đa tầng là một dạng ANN đơn giản nhất, bao gồm một lớp đầu vào duy nhất, một hoặc nhiều lớp ẩn và một lớp đầu ra. Mỗi lớp chứa một tập hợp perceptron. Lớp đầu vào là một hoặc nhiều chức năng của dữ liệu đầu vào.

Mỗi lớp ẩn có một hoặc nhiều nơ-ron và xử lý một số khía cạnh của tính năng trước khi gửi thông tin được xử lý đến lớp ẩn tiếp theo. Quá trình lớp đầu ra nhận dữ liệu từ lớp ẩn cuối cùng và đưa ra kết quả.6: Mô phỏng mạng nơron nhân tạo nhiều lớp SVTH: Trần Thị Phương Nhi 8 Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe 1. Mạng nơ ron tích chập Mạng Nơ-ron Tích Chập (Convolutional Neural Network - CNN) là một trong những mô hình ANN phổ biến nhất và cũng là một trong những mô hình của DL. Nó sử dụng tập hợp các thuật toán ma trận để tạo ra mô hình dữ liệu trừu tượng ở mức cao bằng cách sử dụng nhiều lớp xử lý cấu trúc phức tạp.

Cấu trúc của CNN bao gồm: - Một tập hợp các lớp tích chập (convolution) được xếp chồng lên nhau và sử dụng các hàm phi tuyến tính (nonlinear activation) như ReLU và tanh để kích hoạt các trọng số trong các node. Mỗi lớp sau khi qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. - Lớp tiếp theo của CNN là kết quả của việc tích chập từ lớp trước đó, điều này cho phép tạo ra các kết nối cục bộ. Mỗi neuron ở lớp kế tiếp được tạo ra từ kết quả của filter được áp dụng lên một vùng ảnh cục bộ của neuron trước đó.

- Mỗi lớp trong CNN sử dụng hàng trăm đến hàng nghìn filter khác nhau và kết hợp kết quả của chúng lại. Ngoài ra, một số lớp khác như pooling/subsampling layer được sử dụng để chắt lọc các thông tin hữu ích từ ảnh và loại bỏ càng nhiều nhiễu càng tốt.7: Mô phỏng về mạng nơron tích chập Trong kiến trúc mạng CNN, có hai khía cạnh quan trọng cần được chú ý là tính bất biến (Location Invariance) và tính kết hợp (Compositionality). Khi chúng ta xử lý cùng một đối tượng nhưng ở các góc độ khác (translation, rotation, scaling), sẽ ảnh hưởng đáng kể đến độ chính xác của thuật toán. Để giải quyết vấn đề này, SVTH: Trần Thị Phương Nhi 9 Nghiên cứu ứng dụng mạng nơ ron trong việc cảnh báo tài xế buồn ngủ khi đang lái xe ta sử dụng lớp pooling để đạt được tính bất biến với các phép biến đổi và lớp convolution để kết hợp thông tin từ các tầng thấp đến cao và trừu tượng hơn.

Nhờ sự đồng nhất và tuyệt vời của kiến trúc này, mạng nơ-ron tích chập là một mô hình với độ chính xác rất cao. Cách hoạt động này tương tự như cách con người nhận biết các vật thể trong tự nhiên. Một số mạng nơ ron nổi tiếng 1. Mạng AlexNet AlexNet là một mạng CNN đã giành chiến thắng trong cuộc thi ImageNet LSVRC-2012 vào năm 2012 với tỷ lệ lỗi thấp hơn một khoảng lớn so với các đối thủ khác (15,3% so với 26,2%).8: Hình minh hoạ mạng AlexNet AlexNet gồm 5 lớp convolution và 3 lớp Fully connected.Các lớp convolution (hay còn gọi là các filter) trích xuất thông tin hữu ích từ các hình ảnh.

Một lớp convolution thường bao gồm nhiều kernel có cùng kích thước.

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

Tài liệu "Nghiên Cứu Ứng Dụng Mạng Nơ Ron Để Cảnh Báo Tài Xế Buồn Ngủ Khi Lái Xe" trình bày một nghiên cứu quan trọng về việc sử dụng công nghệ mạng nơ ron để phát hiện tình trạng buồn ngủ của tài xế, từ đó đưa ra cảnh báo kịp thời nhằm nâng cao an toàn giao thông. Nghiên cứu này không chỉ giúp giảm thiểu tai nạn do buồn ngủ mà còn mở ra hướng đi mới cho việc ứng dụng trí tuệ nhân tạo trong lĩnh vực giao thông vận tải.

Để hiểu rõ hơn về các ứng dụng công nghệ trong giao thông, bạn có thể tham khảo tài liệu Hcmute nghiên cứu và ứng dụng kĩ thuật deep learning vào xe tự hành, nơi trình bày các kỹ thuật học sâu trong việc phát triển xe tự hành. Ngoài ra, tài liệu Luận văn thạc sĩ nhận dạng phương tiện giao thông sử dụng kỹ thuật học sâu cũng sẽ cung cấp cho bạn cái nhìn sâu sắc về việc nhận diện phương tiện giao thông bằng công nghệ hiện đại. Cuối cùng, bạn có thể tìm hiểu thêm về Khóa luận tốt nghiệp khoa học máy tính xây dựng mô hình phát hiện tai nạn xe hơi, một nghiên cứu liên quan đến việc phát hiện tai nạn, giúp bạn mở rộng kiến thức về an toàn giao thông.

Mỗi tài liệu này đều là cơ hội để bạn khám phá sâu hơn về các ứng dụng công nghệ trong lĩnh vực giao thông, từ đó nâng cao hiểu biết và nhận thức về an toàn khi tham gia giao thông.