Chương 1 nêu ra vấn đề thực tế về tình trạng tai nạn lao động tại Việt Nam, đồng thời đưa ra nguyên nhân cũng như một số giải pháp nhằm giảm thiểu vấn đề này. Đưa ra mục tiêu và phương pháp xây dựng mô hình đang hướng tới độ chính xác và đáp ứng nhanh chóng khi mang ra thực nghiệm. Chương 2 sẽ trình bày toàn bộ về các cơ sở lí thuyết bao gồm khái niệm về cấu trúc hình thành mạng AI, mô hình mạng học sâu (Deep Learning), kiến trúc mạng YOLO sử dụng, đồng thời đưa ra các khái niệm về thị giác máy tính. Kế tiếp, giới thiệu về phần cứng Jetson Nano dùng cho việc nhúng 4 mô hình và cuối cùng là một số thư viện sử dụng cho việc triển khai mô hình như OpenCV và thư viện giao diện.
Chương 3 sẽ trình bày tổng quát việc thiết kế mô hình giám sát an toàn tuân thủ an toàn lao động gồm quy trình các biết thiết lập mô hình thị giác máy tính cho việc nhận diện khuôn mặt, quy trình các bước chuẩn bị tập huấn luyện cho mô hình học sâu, tìm hiểu mô hình YOLOv4-tiny cho việc huấn luyện tập dữ liệu, xây dựng giao diện cho người dùng có thể tương tác kết hợp hai mô hình trên. Cài đặt và thiết lập môi trường cho phần cứng Jetson Nano để nhúng mô hình. Chương 4 sẽ trình bày về quá trình triển khai mô hình cụ thể Chương 5 đưa ra kết quả của các mô hình triển khai trước đó về nhận diện khuôn mặt và mô hình giám sát cũng như mô hình thực tế triển khai. Chương 6 sẽ tổng kết và đưa ra một số hướng phát triển cho đề tài.
5 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ THỊ GIÁC MÁY TÍNH 2.1 Giới thiệu chung Trong quá trình phát triển công nghệ 4.0 của thế giới hiện nay, việc sản sinh ra nhiều máy móc, người máy có tác dụng thay thế những công việc của con người. Bên cạnh đó, để tăng độ thông minh của mô hình đòi hỏi việc sản sinh ra dữ liệu trực quan khổng lồ (hơn 3 tỷ hình ảnh được chia sẻ trực tuyến mỗi ngày), lĩnh vực thị giác máy tính ra đời dựa trên lĩnh vực khoa học máy tính và trí tuệ nhân tạo nhằm tạo ra các thuật toán và phương pháp xử lý hình ảnh nhằm cho máy tính có thể “nhìn thấy” và “hiểu được” hình ảnh đó như là một con người. Thị giác máy tính sẽ bao gồm việc phân tích và xử lý hình ảnh số kể cả ảnh tĩnh và ảnh động. Ứng dụng quan trọng của thị giác máy tính là trong việc xử lý ảnh y tế, phát hiện bệnh lý, hình dạng và kích thước của các tế bào mô,… Ngoài ra nó cũng được sử dụng trong các lĩnh vực khác như an ninh, ô tô tự hành, công nghiệp và thương mại.2 Xử lý hình ảnh số trong thị giác máy tính Thị giác máy tính thuộc về nhận dạng mẫu tức là để huấn luyện máy tính có thể thiểu được dữ liệu trực quan về một vật thể, một đối tượng nào đó chúng ta cần thì phải cung cấp cho nó dữ liệu để nó có thể “nhìn” và “ghi nhớ”.
Ở đây dữ liệu có thể là hàng trăm, hàng nghìn thậm chí là hàng triệu ảnh và đặc biệt nó phải được “đánh dấu” và kế tiếp đó chính là xử lý dữ liệu ảnh này sang dạng số để máy tính có thể hiểu được. Quá trình xử lý các hình ảnh số được sử dụng trong thị giác máy tính bao gồm: 6 - Tiền xử lý hình ảnh: bao gồm các bước làm sạch ảnh, cân bằng sáng tối, lọc nhiễu, cắt ảnh và cải thiện chất lượng ảnh. - Phân loại hình ảnh: tách ảnh thành các phần khác nhau, phân biệt được các đối tượng trong ảnh. - Trích xuất đặc trưng: chuyển đổi ảnh thành các vectơ đặc trưng để mô tả các đối tượng trong ảnh.
- Phận loại và nhận dạng: dựa trên các đặc trưng đã trích xuất, các đối tượng trong ảnh được phân loại và nhận dạng. - Kết quả đầu ra: kết quả của quá trình xử lý ảnh chính là thông tin về các đối tượng trong ảnh, vị trí của chúng và các thuộc tính khác. Cuối cùng, sau khi có quy trình xử lý trên chúng ta cần một số kĩ thuật và công nghệ cho quá trình xử lý ảnh. Một số công nghệ được sử dụng bao gồm mạng nơ-ron tích chập (Convolutional neural network - CNN), máy vec-tơ hỗ trợ (Support Vector Machine - SVM), mô hình phân lớp AdaBoost, mẫu nhị phân cục bộ (Local Binary Pattern - LBP), học sâu, phân đoạn hình ảnh (Image segmentation) và nhiều kỹ thuật khác.2 HỌC SÂU TRONG THỊ GIÁC MÁY TÍNH 2.1 Khái niệm về mạng Nơ-ron nhân tạo Mạng nơ-ron nhân tạo là một loại mô hình máy học được lấy cảm hứng từ hệ thống thần kinh sinh học.
Mạng nơ-ron nhân tạo được thiết kế để sử dụng cho việc giải quyết các bài toán như phân loại, dự đoán, dò tìm và phát hiện. Một mạng nơ-ron nhân tạo bao gồm nhiều nơ-ron được kết nối với nhau để tạo thành các lớp ẩn. Mỗi nơ-ron trong mạng nơ-ron nhân tạo thực hiện hai công việc chính: tính tổng trọng số đầu vào và áp dụng một hàm kích hoạt phi tuyến [1]. Mạng nơ-ron nhân tạo đã trở thành một công cụ quan trọng trong các lĩnh vực như thị giác máy tính, xử lý ngôn ngữ tự nhiên, dự báo thị trường tài chính, và nhiều lĩnh vực khác.1: Hình ảnh minh họa về mô hình mạng nơ-ron nhân tạo 2.2 Tổng quan về học sâu trong thị giác máy tính Mô hình học sâu là một trong các công nghệ được sử dụng trong lĩnh vực xử lý ảnh nhằm giải quyết các bài toán liên quan tới việc phận loại đối tượng trong ảnh, nhận diện khuôn mặt, phát hiện vật thể, đọc chữ viết tay và một số ứng dụng khác.
Mối quan hệ giữa mạng học sâu và mạng nơ-ron nhân tạo là mạng học sâu là một phương pháp học máy sử dụng mạng nơ- ron nhân tạo với nhiều lớp ẩn, thường là hàng chục hoặc hàng trăm lớp ẩn để học được các đặc trưng phức tạp của dữ liệu đầu vào [1].2: Mối tương quan giữa mạng nơ-ron nhân tạo và mạng học sâu Các mô hình học sâu có thể được huấn luyện bằng cách sử dụng các thuật toán như lan truyền ngược (backpropagation), kỹ thuật giảm trọng số (weight decay), dropout và các phương pháp tối ưu hóa như gradient descent [1]. Từ đó, mạng học sâu được xây dựng và phát triển với một vài kiến trúc như mạng nơ-ron tích chập, mạng nơ-ron truyền thẳng (FNN), mạng nơ-ron tái phát (RNN), mạng nơ-ron chuyển tiếp,… 8 2.3 Phân tích sự khác nhau giữa mạng học sâu, học máy và trí tuệ nhân tạo Học sâu, học máy và trí tuệ nhân tạo (Artifical Intelligence) là các khái niệm có mối liên quan với nhau trong lĩnh vực máy tính và học máy, tuy nhiên chúng có một số đặc điểm khác nhau nhất định, cụ thể như sau: - Học máy: Là một phương pháp giúp máy tính tự động học hỏi dữ liệu, không cần lập trình rõ ràng. Học máy sẽ tự sử dụng các thuật toán và mô hình để phân tích dữ liệu, rút ra các đặc trưng và học cách phân loại dự án đầu ra từ trên dữ liệu có sẵn. - Học sâu: Là một dạng đặc biệt của học máy, nó tiến hành phân tích, huấn luyện dữ liệu đầu vào thông qua mạng nơ-ron tích chập nhiều lớp ẩn để đưa ra dự đoán về đối tượng [1].3 sẽ mô tả sự khác nhau cơ bản giữa quá trình khiến máy tính nhận diện xem nó có phải là chiếc xe hay không Hình 2.3: Phân biệt học máy và học sâu - Trí tuệ nhân tạo: Là một khái niệm tổng quát, bao hàm cả học sâu và học máy, đề cập đến khả năng của máy tính tự thực hiện và tính toán giống con người.
9 Tóm lại cả học máy và học sâu đề có vai trò quan trọng trong việc xây dựng và phát triển của đời sống con người, xử lý được nhiều vấn đề trong nhiều lĩnh vực, đáp ứng nhanh và chính xác và dần dần suy luận giống cách con người suy luận. Trí tuệ nhân tạo ngày càng được mở rộng hơn và bao quát hơn nhờ sự phát triển của học sâu và học máy.3 KĨ THUẬT XỬ LÝ ẢNH SỐ TRONG MẠNG HỌC SÂU 2.1 Bài toán phát hiện đối tượng Bài toán phát hiện đối tượng (Object Detection) được coi là một trong những thuật toán cơ bản và quan trọng nhất trong lĩnh vực thị giác máy tính cụ thể là mạng học sâu. Bài toán này chủ yếu liên quan tới việc xác định vị trí và định danh đối tượng trong ảnh như khuôn mặt, xe cộ, người, vật thể trong sản xuất [3]. Các thuật toán phát hiện đối tượng phổ biến: - Phương pháp mô tả đặc trưng (HOG): là việc trích xuất những thông tin về hướng và phân bố của gradient (dốc) trong ảnh để lấy đặc trưng của ảnh.
- Mạng nơ-ron tích chập theo vùng (R-CNN): Được mô tả ở hình 2.4, sử dụng giải thuật chọn lọc (Selective search) để cho phép tạo ra một tập hợp các vùng tiềm năng trong ảnh, tạo cơ sở cho việc phân loại và nhận diện đối tượng.4: Chu trình phát hiện đối tượng với mạng R-CNN 10 - Faster R-CNN: phương pháp này giải quyết vấn tốc độ của mạng R- CNN cũ được thể hiện ở hình 2. Thay vì sử dụng giải thuật chọn lọc, Faster R-CNN sử dụng mô hình RPN (Region Proposal Network) cho việc tạo ra các anchor box chứa đối tượng cần nhận diện.5: Mô hình Faster R-CNN 2.2 Bài toán phân vùng hình ảnh Bài toán phân vùng hình ảnh trong các mô hình học sâu là việc tách vùng ảnh thành các nhóm và dán nhãn cho từng pixel ảnh. Tất cả các yếu tố hình ảnh hoặc pixel thuộc cùng một danh mục sẽ có chung một nhãn [4]. Một số kĩ thuật phân vùng ảnh bao gồm: - Phân vùng dựa vào ngưỡng (Threshold Based Segmentation): Dựa trên việc xác định một ngưỡng để phân tách các vùng trong ảnh thành các nhóm khác nhau, thường được dùng trong các trường hợp phân vùng có đặc trưng dễ dàng và dễ phân biệt [4].
- Phân vùng dựa trên cạnh (Edge Based Segmentation): Sử dụng thông tin về các cạnh trong ảnh để phân tách các vùng khác nhau, cho ra kết quả tốt trong việc phân vùng các vùng có viền và biên giới rõ ràng [4].3 Bài toán phân loại hình ảnh Phân loại hình ảnh hay nhận dạng hình ảnh là một trong những chức năng của thị giác máy tính, sử dụng các thuật toán đưa ra kết quả phân loại từ các nhãn đính kèm đối tượng đã được huấn luyện [4].