Mở đầu. * Chương 2: Cơ sở lý thuyết. » Chương 3: Phương pháp thực hiện. « Chương 4: Thực nghiệm, đánh giá và thảo luận.
* Chương 5: Kết luận và hướng phát triển. CƠ SỞ LÝ THUYET Trong chương này, chúng tôi sẽ đề cập đến cơ sở lý thuyết cần thiết để hiểu sâu hơn về van dé được nghiên cứu trong khóa luận. Chúng tôi sẽ trình bày các khái niệm, lý thuyết, kiến trúc và thông số, tạo nền tảng cho việc phát triển phần thực nghiệm và phân tích kết quả sau này.1 Thị giác máy tính Thị giác máy tính Computer Vision (CV) là công nghệ trong đó máy tính có khả năng tự động nhận biết và mô tả hình ảnh một cách chính xác. Hiện nay, có rất nhiều nguồn dữ liệu hình ảnh mà máy tính có thể đọc được như thoại thông minh, camera giao thông, camera giám sát.
Do đó, ứng dụng thị giác máy tính sử dụng trí tuệ nhân tạo Artifial Intelligence (AI) và may hoc Machine Learning (ML) được áp dụng ngày càng phổ biến. Chi với những dữ liệu hình ảnh này, một số lượng lớn các ứng dụng liên quan đến thị giác máy tính có thể được triển khai như xác minh danh tinh, phân tích cảm xúc, theo dõi mật độ giao thông, dự báo thời tiết, .2_ Nhận dạng khuôn mặt Nhận dạng khuôn mặt (Facial Recognition) là một ứng dụng thị giác máy tính, gồm quá trình xác định hoặc xác nhận danh tính của một người qua khuôn mặt của họ. Công nghệ này hoạt động bằng cách xác định và đo lường các đặc điểm khuôn mặt trong hình ảnh. Nó có khả nắng xác định khuôn mặt người trong hình ảnh hoặc video, kiểm tra xem khuôn mặt xuất hiện trong hai hình ảnh có phải là cùng một người không hoặc tìm kiếm một khuôn mặt trong một bộ sưu tập lớn các hình ảnh hiện có.
Các hệ thống bảo mật sinh trắc học sử dụng công nghệ nhận dạng khuôn mặt để xác định cá nhân độc nhất cho quá trình đăng nhập, cũng như tăng cường cho hoạt động xác thực người dùng. Quá trình nhận dạng khuôn mặt trải qua 3 bước chính như sau: phát hiện khuôn mặt (Face Detection), trích xuất đặc trưng (Feature Extraction) và phân loại (Classifica- tion). Phát hiện khuôn mặt bang You Only Look Once s« Phát hiện đối tượng: © Phát hiện đối tượng hay phát hiện vật thể (Object Detection), là một ứng dụng thị giác máy tính giúp nhận diện và xác định vị trí các đối tượng thuộc các lớp được xác định trước trong các hình ảnh đầu vào. © Với sự phát triển của học sâu (Deep Learning), việc phát hiện đối tượng đã đạt được những kết quả hứa hẹn.
Nhiều thuật toán và mô hình đã được phát triển cho phát hiện đối tượng như: R-CNN, Faster R-CNN, YOLO và SSD. Các thuật toán và mô hình này đang được sử dụng trong các ứng dụng khác nhau, như xe tự lái, hệ thống giám sát và theo dõi đối tượng. Hai đối tượng điển hình để phân loại trong object detection: chó và mèo. © Các thông số đánh giá (metrics) hiệu suất chính của mô hình phát hiện đối tượng: - Intersection over Union (IoU): IoU IoU là tỷ lệ giữa phần giao và phan hợp của vùng dự đoán và vùng đối tượng thật.
Trong đó: + Area of Overlap là diện tích vùng giao nhau giữa hộp giới hạn (bound- ing box) phát hiện bởi mô hình và hộp giới hạn thực tế (đã dán nhãn trước đó). + Area of Union là diện tích toàn bộ phần hợp của hộp giới hạn phát hiện bởi mô hình và hộp giới hạn thực tế. CƠ SỞ LÝ THUYET IOU = area of overlap _ [| area of union [7] Hình 2. Minh họa chỉ số IOU.
Dé xác định dự đoán là đúng hay là sai, chúng ta dựa vào một ngưỡng (threshold) cho trước (có thể là 0.), nếu IoU lớn hơn hoặc bằng ngưỡng thì đó là kết luận dự đoán đúng, ngược lại là dự đoán sai. Định nghĩa True/false positive/negative: + True Positive (TP): dự đoán đúng, khi IoU lớn hơn hoặc bằng ngưỡng. + False Positive (FP): dư đoán sai, IoU bé hơn ngưỡng. + False Negative (FN): không thé dự đoán, khi mô hình không cho ra được hộp giới nhưng theo thực tế phải có hộp giới hạn.
-Average Precision (AP): Đối với bài toán Object Detection, hai chỉ số precision va recall được định nghĩa như sau: + Precision: thể hiện độ chính xác của dự đoán. (%) + Recall: thể hiện độ tốt của khả năng cho ra các dự đoán đúng. (%) Công thức tinh precision: TP TP NASON TP +FP all detections (2. Công thức tinh recall: Precision = TP+FN TP TẾ all ground truth (2.2) Theo mỗi mức IoU threshold chạy trong một khoảng, ta tính toán ra được giá tri Precision va Recall tại các mức đó và vẽ ra được Precision Recall lãi CHƯƠNG 2.
CƠ SỞ LÝ THUYET Curve, ví dụ như với 11 mức: 11 Point Interpolated Precision-Recall Curve ° ° ° ° 0 Of 02 03 04 05 06 07 08 09 1 Recall Hinh 2. Minh hoa Precision Recall Curve. AP chính là vùng diện tích màu vàng nằm dưới đường cong Precision Recall. + AP lớn nếu vùng này lớn, suy ra đường cong có xu hướng gần góc trên bên phải và có nghĩa là tại các threshold khác nhau thì Precision và Recall đều khá cao.
Từ đó suy ra model tốt. + AP nhỏ thì cả Precision và Recall đều khá thấp và model không tốt. -Mean Average Precision (mAP): mỗi class trong bài toán sẽ có một giá trị AP, mAP là trung bình cộng giá trị AP của các class khác nhau. Ví dụ với một bài toán phát hiện vật thể với 30 lớp đối tượng: s Phát hiện khuôn mặt: Phát hiện khuôn mặt (Face Detection) là ứng dụng thị giác máy tính liên quan đến việc tự động nhận dạng và xác định vị trí các khuôn mặt trong hình ảnh hoặc video.
Đây là một công nghệ quan trọng đứng sau nhiều ứng dụng như nhận dạng khuôn mặt, theo dõi khuôn mặt và phân tích khuôn mặt. Khuôn mặt là một dạng đối tượng có thể áp dụng vào lĩnh vực Object Detec- tion. Qua đó, ta có thể sử dụng những mô hình object detection và huấn luyện nó với dữ liệu khuôn mặt. Mô hình sử dụng: YOLOv5 © Region-Based CNN: Mang nơ-ron tích chập dựa trên vùng R-CNN là một thuật toán phát hiện đối tượng sử dụng CNN để phát hiện các đối tượng trong hình ảnh.
CƠ SỞ LÝ THUYET sofa 0. emote nightstand tvmonitor pottedplant chair wastecontainer person eee | diningtable š bow! windowblind bottle backpack door countertop - vase pictureframe book sink bookcase pillow cabinetry heater coffeetable .6 08 10 Average Precision Hình 2. Minh họa mAP của một bài toán phát hiện đối tượng. tưởng cơ bản đằng sau R-CNN gồm: trước tiên tạo ra tập hợp các vùng ứng cử trong hình ảnh hoặc video, sau đó sử dụng một CNN để phân loại mỗi vùng, xác định liệu nó có chứa một đối tượng nào đó hay không.
Các vùng được phân loại là chứa đối tượng sau đó được xử lý tiếp để làm rõ vị trí của đối tượng và phân loại nó vào một lớp cụ thể. Quá trình này được biết đến với tên gọi: phát hiện đối tượng hai giai đoạn (Two-stage Object Detection). A Typical Convolutional Neural Network (CN? am nl <es es> Convolution Pooling Convolution Pooling Input Image Featured Pooled ‘a Featured Pooled Flatten maps Featured maps maps Featured maps _ layer > — Feature Maps Fully connected layer Feature Extraction | Ô Classification | | Probabilistic | distribution Hình 2. Cấu trúc mang CNN trong ứng dung phân loại đối tượng hình anh.
Các biến thể của R-CNN như Fast R-CNN, Faster R-CNN, và Mask R- CNN được đề xuất để cải thiện tốc độ và độ chính xác của quá trình phát hiện đối tượng. CƠ SỞ LÝ THUYET R-CNN: Regions with CNN features ¬ worped region PA aeroplane? no (een ae 3 Sap ¬ ‘> person? yes CNNSg, tv monitor? no 1 2 3 4 Input Extract Region Compute CNN Classify image proposals (~2K) features Regions Hình 2. Cấu trúc của R-CNN. Mặc dù R-CNN có thể giải quyết nhiệm vụ phát hiện đối tượng với độ chính xác tương đối tốt, nó vẫn tồn tại một số điểm yếu như: hạn chế về yếu t6 tổng quát và bối cảnh, chi phi tính toán cao, qua đó không tối ưu cho việc phát hiện đối tượng thời gian thực trên các thiết bị có công suất thấp.
© Bộ phát hiện đối tượng đơn giai đoạn: Phát hiện đôi tượng đơn giai đoạn (Single-shot Object Detection) là một loại thuật toán phát hiện đối tượng có khả năng phát hiện các đối tượng trong hình ảnh hoặc video trong một lần duyệt mà không cần sử dụng nhiều giai đoạn và vùng ứng cử. Các bộ phát hiện đối tượng đơn giai đoạn như YOLO và SSD, sử dụng một mạng CNN duy nhất để trực tiếp dự đoán các lớp (classes) và hộp giới hạn của các đối tượng trong một hình ảnh hoặc video. Những mô hình này được huấn luyện end-to-end bằng cách sử dụng một bộ dữ liệu lớn của các hình ảnh được gan nhãn (labeled) và các hộp giới hạn (bounding boxes) của đối tượng tương ứng. Phát hiện đối tượng đơn giai đoạn được coi là nhanh hơn và hiệu quả hơn so với các phương pháp phát hiện đối tượng hai giai đoạn, vì nó tối giản số giai đoạn và có thể chạy trong thời gian thực trên các thiết bị có công suất thấp.
Tuy nhiên, mức độ chính xác sẽ tương đương phương pháp phát hiện đối tượng hai giai đoạn. © You Only Look Once (YOLO): YOLO là một thuật toán phát hiện đối tượng thời gian thực (Real-time 14 CHƯƠNG 2. CƠ SỞ LÝ THUYET SNuopn-Mraexsim 74. S9FPS Object Detection algorithm) được phát triển bởi Joseph Redmon va Ali Farhadi vào năm 2015.
Đây là bộ phát hiện đối tượng đơn giai đoạn sử dung mạng CNN để dự đoán các hộp giới han và xác suất lớp của các đối tượng trong các hình ảnh đầu vào. YOLO ban đầu được triển khai bằng framework Darknet. c9Detpla8isonr: H Ei YOLO ⁄ », |ổB34mAP +*| §| 45FPS E 2 2 Hình 2. Cấu trúc tổng quát của YOLO.
Thuật toán YOLO chia hình ảnh đầu vào thành một mạng lưới các ô, và đối với mỗi ô, nó dự đoán xác suất hiện diện của một đối tượng và tọa độ hộp giới hạn của đối tượng. Nó cũng đồng thời dự đoán lớp của đối tượng đó. Khác với acR-CNN và các biến thể của nó, YOLO xử lý toàn bộ hình ảnh qua một lần duyệt, nhờ đó quá trình dự đoán trở nên nhanh và hiệu quả hơn. YOLO luôn tục được phát triển qua các phiên bản khác nhau, gồm: YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5, YOLOv6, YOLOv7, YOLOv§ và mới nhất là YOLOv9.
Mỗi phiên bản đã được xây dựng trên cơ sở của phiên bản trước đó với các tính năng được cải thiện như độ chính xác tăng cường, xử lý nhanh hơn và xử lý tốt hơn các đối tượng nhỏ.