Trang 1 TRƯỜNG ĐẠI HỌC QUY NHƠN NGUYỄN THỊ BÍCH HÀ NGHIÊN CỨU MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH TRONG PHÁT HIỆN VÀ THEO VẾT ĐỐI TƯỢNG DỰA VÀO CAMERA Ngành: Khoa học máy tính Mã số: 08480101 Tr
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung của đề án với đề tài: “Nghiên cứu một số kỹ thuật xử lý ảnh trong phát hiện và theo vết đối tượng dựa vào camera” này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của TS Lê Thị
Kim Nga – Trường Đại học Quy Nhơn Phần thực nghiệm chương trình đều
do tôi tự xây dựng có sự hướng dẫn của giảng viên, trong đó có sử dụng một
số thư viện chuẩn và các thuật toán được các tác giả xuất bản công khai Kết quả thực nghiệm được minh họa trong đề án là trung thực
Nội dung của đề án này chưa từng được công bố hay xuất bản dưới bất
kỳ hình thức nào Các tài liệu tham khảo được sử dụng trong đề án có nguồn gốc rõ ràng và trích dẫn chính xác, đầy đủ Nếu sai tôi xin hoàn toàn chịu trách nhiệm
Bình Định, ngày tháng 10 năm 2023
Người cam đoan
Nguyễn Thị Bích Hà
Trang 3
LỜI CẢM ƠN
Trong quá trình nghiên cứu đề án, mặc dù vẫn còn gặp rất nhiều khó khăn, nhưng tôi vẫn luôn nhận được sự quan tâm, giúp đỡ của quý thầy cô, bạn bè và người thân Đây là nguồn động lực lớn giúp tôi hoàn thành đề tài của đề án này
Tôi xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc nhất đến quý Thầy (Cô), những người đã giảng dạy nhiệt tình và giúp đỡ cho bản thân tôi đến với con đường nghiên cứu khoa học đầy đam mê, đặc biệt là TS Lê Thị Kim Nga -Trường Đại học Quy Nhơn Với tâm huyết của mình, cô chỉ bảo
tận tình chu đáo để bản thân hoàn thành tốt công việc của mình
Và cũng xin cảm ơn các cán bộ, nhân viên phòng Đào tạo Sau đại học, trường Đại học Quy Nhơn đã tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập tại trường
Cuối cùng, cho tôi được gửi lời biết ơn đến gia đình, bạn bè cùng tất cả những người thân, luôn bên cạnh động viên bản thân tôi trong suốt thời gian học tập và nghiên cứu
Kính chúc quý Thầy (Cô) và các anh chị em trong lớp cao học ngành Khoa học Máy tính khóa 24B sức khỏe, hạnh phúc và thành đạt
Xin chân thành cảm ơn!
Nguyễn Thị Bích Hà
Trang 4
MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH ẢNH
MỞ ĐẦU 1
1.1 Lý do chọn đề tài 1
1.2 Mục đích và nhiệm vụ nghiên cứu 2
1.2.1 Mục đích nghiên cứu 2
1.2.2 Nhiệm vụ nghiên cứu 2
1.3 Đối tượng và phạm vi nghiên cứu 2
1.4 Phương pháp nghiên cứu 2
1.5 Đóng góp của đề tài 2
Chương 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ THEO VẾT ĐỐI TƯỢNG TRONG CAMERA 4
1.1 Cơ sở lý thuyết của xử lý ảnh và thị giác máy 4
1.2 Bài toán phát hiện và theo vết đối tượng 5
1.3 Các cách tiếp cận trong phát hiện và theo vết đối tượng 6
1.3.1 Phát hiện đối tượng (Object Detection). 6
1.3.2 Theo vết đối tượng (Object Tracking) 7
1.3.3 Kết hợp phát hiện và theo vết đối tượng 7
1.4 Kết luận chương 1 10
Chương 2: MỘT SỐ KỸ THUẬT PHÁT HIỆN VÀ THEO VẾT ĐỐI TƯỢNG 12
2.1 Kỹ thuật dựa trên điểm đặc trưng 12
2.2 Kỹ thuật phát hiện chuyển động 13
2.2.1 So sánh hai khung hình liên tiếp 14
Trang 52.2.2 So sánh nền trung bình 15
2.3 Kỹ thuật dựa trên phân đoạn đối tượng 17
2.4 Kỹ thuật dựa trên học sâu 21
2.4.1 Cơ sở lý thuyết của học sâu 21
2.4.2 Mạng nơ-ron tích chập (CNN) 23
2.4.3 YOLO ( You Only Look Once) 30
2.4.4 Các phiên bản và cấu trúc cơ bản của YOLO 41
2.5 Kết luận chương 2 48
Chương 3: THỬ NGHIỆM 49
3.1 Phát biểu bài toán 49
3.2 Phân tích yêu cầu 50
3.3 Xây dựng chương trình và kết quả thử nghiệm 53
3.3.1 Dữ liệu huấn luyện 53
3.3.2 Môi trường cài đặt và phát triển 54
3.3.3 Các bước huấn luyện mô hình Google colad 55
3.3.4 Xây dựng chương trình thử nghiệm 58
3.3.5 Kết quả thử nghiệm 59
3.4 Nhận xét, đánh giá 61
3.5 Kết luận chương 3 61
KẾT LUẬN 63
DANH MỤC TÀI LIỆU THAM KHẢO 64
QUYẾT ĐỊNH GIAO TÊN ĐỀ TÀI ĐỀ ÁN THẠC SĨ (BẢN SAO)
Trang 6DANH MỤC CÁC BẢNG
3.1 Bảng các thông số thử nghiệm của một số mô
Trang 72.5 Hình ảnh ví dụ của các cầu thủ đang chạy 17
2.6 Chọn một vùng ảnh mẫu để phân tích màu 18
2.7 Histogram kênh Red của vùng ảnh mẫu được chọn 18
2.8 Histogram kênh Green của vùng ảnh mẫu được chọn 18
2.9 Histogram kênh Blue của vùng ảnh mẫu được chọn 19
2.10 Chọn một vùng ảnh mẫu khác để phân tích màu 19
2.11 Histogram kênh Red của vùng ảnh mẫu được chọn 20
2.12 Histogram kênh Green của vùng ảnh mẫu được chọn 20
2.13 Histogram kênh Blue của vùng ảnh mẫu được chọn 20
2.14 Mô hình mô tả một mạng nơ-ron sâu nhiều tầng 22
Trang 8Số hình Tên hình Trang
2.24
Ví dụ minh họa khi trượt cửa sổ với đối tượng quan tâm
là khuôn mặt người: vùng cửa sổ màu xanh được xác nhận là đối tượng quan tâm và được ghi nhận lại, vùng
đỏ bỏ qua
31
2.25 Tương quan vấn đề định vị đối tượng trong ảnh so với
nhận diện và phát hiện đối tượngtrong ảnh
32
2.26 Minh họa quá trình xử lý của OverFeat [9] 33
2.27 Minh họa quá trình phát hiện đối tượng dựa trên định vị
2.29 Kết quả của các đối tượng trong ảnh mẫu 34
2.30 Minh họa kết quả ước lượng mong muốn với một mắt
lưới
35
2.32 Mô hình ước lượng hai hình bao khoanh màu xanh da
trời dựa vào mắt lưới khoanh màu vàng
Trang 9Số hình Tên hình Trang
2.40 So sánh hiệu suất của YOLOv4 với các mô hình học sâu
state-of-art thời điểm đó (trong đó có YOLOv3)
46
2.42 Kết quả thử nghiệm và so sánh các phiê bản YOLOv5 47
nhãn được lưu tại thư mục images và labels 56
3.9 Câu lệnh chạy phát hiện ảnh person.jpg 57 3.10 Kết quả chạy thử nghiệm ảnh phát hiện chuyển động với
3.13 Kết quả phát hiện và theo vết người đang di chuyển trên
3.14 Kết quả phát hiện sinh viên đang thi đấu bóng chuyền 61
Trang 10MỞ ĐẦU
1.1 Lý do chọn đề tài
Phát hiện và theo vết đối tượng (objects tracking) là bài toán nghiên cứu quan trọng của xử lý ảnh và thị giác máy tính (computer vision) Kỹ thuật phát hiện và theo vết đối tượng chủ yếu dựa trên hình ảnh của các đối tượng thu được từ các camera giám sát Việc phát hiện ra các đối tượng di chuyển trong camera nhằm đoán nhận một số hành vi của đối tượng là có ý nghĩa khoa học và thực tiễn
Phát hiện và theo vết đối tượng được quan tâm nghiên cứu trong nhiều năm qua do chúng có nhiều ứng dụng trong thực tế như giám sát tự động, thực tế ảo tăng cường và phân tích hành vi, tương tác người máy v.v Đến nay bài toán này vẫn là một nhiệm vụ đầy thách thức do các yếu tố tác động như biến dạng, thay đổi ánh sáng, xoay v.v
Trong lĩnh vực giáo dục, có thể ứng dụng phát hiện và theo dõi cảm xúc, hành vi của học sinh, sinh viên trong quá trình học tập nhằm xác định mức độ đáp ứng bài học để nghiên cứu phương pháp giảng dạy phù hợp Ngoài ra, có thể xác định, kiểm tra học sinh, sinh viên có mặt trong các buổi học một cách nhanh chóng và hiệu quả
Trong lĩnh vực an ninh, có thể phát hiện và bám sát đối tượng di chuyển trong các vùng cần giám sát
Vì vậy, tôi quyết định lựa chọn đề tài nghiên cứu đề án: “Nghiên cứu một số kỹ thuật xử lý ảnh trong phát hiện và theo vết đối tượng dựa vào camera” để nghiên cứu
Trang 111.2 Mục đích và nhiệm vụ nghiên cứu
1.2.1 Mục đích nghiên cứu
Nghiên cứu các kỹ thuật phát hiện và theo vết đối tượng nhằm ứng dụng trong giám sát tự động cũng như trong bài toán tương tác người máy
1.2.2 Nhiệm vụ nghiên cứu
- Nghiên cứu tổng quan về xử lý ảnh, thị giác máy và bài toán phát hiện
và theo vết đối tượng
- Nghiên cứu một số kỹ thuật phát hiện và theo vết đối tượng
- Xây dựng ứng dụng phát hiện và theo vết đối tượng cho điều khiển
tự động
1.3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Đối tượng trên ảnh và video
- Phạm vi nghiên cứu: Đối tượng chuyển động
1.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu của đề tài được lựa chọn là lý thuyết kết hợp với thực nghiệm Nghiên cứu các phương pháp kỹ thuật hiện có cho bài toán đặt ra, phân tích lựa chọn kỹ thuật áp dụng Cài đặt thử nghiệm và đánh giá kết quả đạt được
1.5 Đóng góp của đề tài
Thực hiện đề tài “Nghiên cứu một số kỹ thuật xử lý ảnh trong phát hiện
và theo vết đối tượng dựa vào camera” sẽ góp phần hỗ trợ trong các hệ thống
giám sát thông minh và điều khiển tự động
NỘI DUNG CHÍNH
Ngoài phần mở đầu, kết thúc, tài liệu tham khảo và phụ lục, nội dung của đề án được triển khai làm 03 (ba) chương:
Trang 12Chương 1: Tổng quan về phát hiện và theo vết đối tượng trong camera
Đề án trình bày tổng quan về bài toán và các cách tiếp cận cho bài toán phát hiện và theo vết đối tượng trong camera trên cơ sở các kỹ thuật xử lý ảnh
và thị giác máy
Chương 2: Kỹ thuật phát hiện và theo vết đối tượng
Phần này đề án trình bày một số kỹ thuật phát hiện và theo vết đối tượng nhằm mục đích ứng dụng trong giám sát tự động và điều khiển thiết bị
tự động
Chương 3: Thử nghiệm
Đề án sẽ cài đặt thử nghiệm kỹ thuật điển hình lựa chọn trong chương 2
Phân tích và đánh giá kết quả thực nghiệm
Trang 13Chương 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ THEO VẾT ĐỐI
TƯỢNG TRONG CAMERA
1.1 Cơ sở lý thuyết của xử lý ảnh và thị giác máy
Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy tính, là quá trình biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của người sử dụng Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch các thông tin hình ảnh của ảnh
Cũng như xử lý dữ liệu bằng đồ họa, xử lý ảnh số là một lĩnh vực của tin học ứng dụng Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình Xử lý ảnh số dựa trên các khái niệm và thuật toán trong lĩnh vực thị giác máy tính và xử lý tín hiệu Dưới đây là những khác niệm cơ bản và cơ sở
lý thuyết liên quan đến xử lý ảnh
- Đại diện số hóa ảnh: Ảnh được biểu diễn bằng các giá trị số trên một màn hình 2 chiều Mỗi điểm ảnh trong ma trận được gọi là pixel và
có thể có các giá trị đại diện cho độ xám (ảnh đen trắng) hoặc các giá trị màu (ảnh màu)
- Xử lý và biến đổi ảnh: Các biến cho phép thay đổi ảnh như xoay, phóng to/thu nhỏ, cắt ghép, thay đổi màu sắc, làm mờ, làm nét và chỉnh sửa ảnh khác được thực hiện bằng cách áp dụng các phép toán học toán và thuật toán trên các pixel giá trị
- Lọc và biến đổi tín hiệu: Xử lý ảnh thông thường sử dụng các phép lọc
để giảm nhiễu, tăng cường độ tương phản, hoặc tìm kiếm các đặc trưng đặc biệt Các bộ lọc thông thường bao gồm bộ lọc trung bình, bộ lọc Gauss, bộ lọc trung vị và bộ lọc Laplace
Trang 14- Biểu diễn và biến đổi Fourier: Biến đổi Fourier được sử dụng để phân tích tín hiệu trong tần số Trong xử lý ảnh, biến đổi Fourier thường được áp dụng để xử lý và loại bỏ các thành phần tần số không mong muốn, chẳng hạn như nhiễu hoặc độ nét
- Nhận dạng và phân loại: Xử lý ảnh cũng liên quan đến việc nhận dạng
và phân loại các đối tượng trong ảnh Các phương pháp như phân đoạn ảnh, phát hiện đối tượng, trích xuất đặc trưng và học máy được sử dụng để thực hiện nhiệm vụ này
- Mạng nơ-ron và học sâu: Trong những năm gần đây, các mô hình mạng nơ-ron như mạng nơ-ron tích chập (CNN) đã chứng tỏ hiệu quả tốt trong xử
lý ảnh Học sâu (deep learning) là một lĩnh vực quan trọng trong xử lý ảnh, cho phép mô hình tự học các đặc trưng phức tạp từ dữ liệu và thực hiện nhiều nhiệm vụ như phân loại, phát hiện và phân đoạn ảnh
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 hình ảnh Nói chung chúng là
dữ liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tượng Thị giác máy tính là một môn học khoa học liên quan đến lý thuyết đằng sau các hệ thống nhân tạo có trích xuất các thông tin từ các hình ảnh Dữ liệu hình ảnh có thể nhiều dạng, chẳng hạn như chuỗi video, các cảnh từ đa camera, hay dữ liệu đa chiều từ máy quét y học
1.2 Bài toán phát hiện và theo vết đối tượng
Bài toán phát hiện và theo vết đối tượng (object detection and tracking) trong thị giác máy tính là quá trình tìm ra và xác định vị trí, định dạng và đối tượng của các đối tượng cụ thể trong một chuỗi hình ảnh hoặc video, sau đó theo dõi và theo vết chúng qua các khung hình
Bài toán phát hiện đối tượng liên quan đến việc tìm kiếm và xác định
Trang 15vị trí các đối tượng cụ thể trong ảnh hoặc video Các thuật toán phát hiện đối tượng thường sử dụng các mô hình học máy và học sâu để nhận biết và phân loại các đối tượng dựa trên các đặc trưng của chúng Các phương pháp phổ biến bao gồm R-CNN, Fast R-CNN, Faster R-CNN, YOLO (You Only Look Once), SSD (Single Shot MultiBox Detector), và RetinaNet Các thuật toán này xử lý từng vùng ảnh hoặc nhóm vùng ảnh để xác định
và phân loại đối tượng
Sau khi phát hiện được đối tượng trong mỗi khung hình, bài toán theo vết đối tượng nhằm xác định và theo dõi vị trí của các đối tượng này qua các khung hình tiếp theo Phương pháp theo vết đối tượng có thể dựa trên việc xác định các đặc trưng của đối tượng (như màu sắc, hình dạng, hoặc đặc trưng
di chuyển) và sử dụng các thuật toán như Kalman Filter, Particle Filter, hoặc các mô hình Deep SORT (Deep Siamese Networks for Object Tracking) để theo dõi và đánh dấu các đối tượng qua các khung hình
Tổng quát, bài toán phát hiện và theo vết đối tượng là một sự kết hợp của các thuật toán phát hiện đối tượng và thuật toán theo vết Nó có ứng dụng rộng trong nhiều lĩnh vực như giám sát an ninh, xe tự hành, theo dõi đối tượng trong video, nhận dạng gương mặt và nhiều ứng dụng khác
1.3 Các cách tiếp cận trong phát hiện và theo vết đối tượng
1.3.1 Phát hiện đối tượng (Object Detection)
+ Chuẩn bị dữ liệu huấn luyện: Thu thập và chuẩn bị dữ liệu huấn luyện gồm ảnh hoặc video có đối tượng cần phát hiện, đồng thời gán nhãn vị trí và loại đối tượng cho từng hình ảnh
+ Xây dựng mô hình: Sử dụng các mô hình học máy và học sâu để huấn luyện mô hình phát hiện đối tượng Các mô hình như R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD, RetinaNet được sử dụng phổ biến
Trang 16+ Phát hiện đối tượng: Áp dụng mô hình đã huấn luyện lên ảnh hoặc video để xác định vị trí và loại đối tượng Các kết quả phát hiện thường được đưa ra dưới dạng hình bounding boxes và các điểm đặc trưng của đối tượng
1.3.2 Theo vết đối tượng (Object Tracking)
+ Xác định đặc trưng: Xác định các đặc trưng của đối tượng cần theo vết như màu sắc, hình dạng, đặc trưng di chuyển, hoặc các đặc trưng học sâu (như các vector đặc trưng)
Khởi tạo vết: Trong khung hình đầu tiên, xác định và đánh dấu các vùng chứa đối tượng Các thuật toán như Kalman Filter hoặc Particle Filter thường được sử dụng để khởi tạo vết
+ Cập nhật và theo dõi: Trong các khung hình tiếp theo, sử dụng các thuật toán theo dõi để cập nhật và theo vết vị trí của đối tượng Các thuật toán như Kalman Filter, Particle Filter, hoặc các mô hình Deep SORT thực hiện công việc này bằng cách dự đoán và điều chỉnh vị trí vật thể theo thời gian
+ Xử lý các trường hợp đặc biệt: Xử lý các trường hợp như mất vết, đối tượng chồng chéo, thay đổi môi trường ánh sáng hoặc hình dạng của đối tượng để duy trì theo vết chính xác
1.3.3 Kết hợp phát hiện và theo vết đối tượng
+ Kết hợp bước phát hiện và theo vết: Khi thực hiện phát hiện và theo vết đối tượng trên video, thông thường sử dụng phát hiện đối tượng trong các khung hình đầu tiên và sau đó sử dụng theo vết để liên tục cập nhật vị trí của đối tượng trong các khung hình tiếp theo
+ Tối ưu và đánh giá: Để cải thiện hiệu suất và chính xác, có thể áp dụng các kỹ thuật tối ưu hóa như Non-maximum Suppression (NMS) để loại
bỏ các bounding boxes trùng lặp và đánh giá kết quả theo các độ đo như Precision, Recall, F1-score
Trang 17Ngoài ra phát hiện và theo dõi đối tượng là những nhiệm vụ quan trọng trong thị giác máy tính liên quan đến việc xác định và định vị các đối tượng trong hình ảnh hoặc video và sau đó theo dõi chuyển động của chúng trên các khung hình Nhiều cách tiếp cận khác nhau đã được phát triển trong nhiều năm để giải quyết các nhiệm vụ này, từ các kỹ thuật thị giác máy tính cổ điển đến các phương pháp dựa trên học sâu Dưới đây là một số cách tiếp cận thường được sử dụng trong phát hiện và theo dõi đối tượng
1.3.3.1 Kỹ thuật thị giác máy tính cổ điển
Haar cascades: Phương pháp này sử dụng các tính năng giống như Haar
và bộ phân loại theo tầng để phát hiện các đối tượng dựa trên các mẫu cường
1.3.3.2 Phương pháp tiếp cận dựa trên deep learning
Region-based Convolutional Neural Networks (R-CNN): R-CNN thực hiện phát hiện đối tượng bằng cách tạo các đề xuất khu vực và phân loại chúng bằng CNN
You Only Look Once (YOLO): YOLO chia hình ảnh thành lưới và dự đoán các hộp giới hạn và xác suất lớp trực tiếp từ các ô lưới
Single Shot MultiBox Detector (SSD): Tương tự như YOLO, SSD cũng dự đoán các hộp giới hạn đối tượng và xác suất lớp ở nhiều tỷ lệ
1.3.3.3 Phương pháp theo dõi
Correlation Filters: Bộ lọc tương quan sử dụng khái niệm khớp mẫu để
Trang 18theo dõi các đối tượng trên các khung, sử dụng các kỹ thuật như bộ lọc tương quan nhân hóa (KCF) và bộ lọc tương quan phân biệt (DCF)
Kalman Filters: Bộ lọc Kalman được sử dụng để ước tính trạng thái của một đối tượng và dự đoán vị trí tương lai của nó bằng cách kết hợp các mô hình chuyển động và phép đo từ các khung hình trước đó
Siamese Networks: Mạng Siamese học cách liên kết các đối tượng mục tiêu trên các khung bằng cách so sánh các nhúng tính năng được trích xuất từ mẫu mục tiêu và vùng tìm kiếm
1.3.3.4 Phương pháp lai
Deep SORT: Deep SORT kết hợp khả năng phát hiện đối tượng dựa trên học sâu với thuật toán SORT (Theo dõi trực tuyến và thời gian thực đơn giản) để đạt được cả khả năng phát hiện chính xác và khả năng theo dõi mạnh mẽ
Mask R-CNN: Mặt nạ R-CNN mở rộng R-CNN bằng cách thêm một nhánh để dự đoán mặt nạ đối tượng bên cạnh các hộp giới hạn và nhãn lớp, cho phép phân đoạn và theo dõi phiên bản
1.3.3.5 Phương pháp tiếp cận dựa trên tính năng
Speeded-Up Robust Features (SURF): SURF phát hiện và mô tả các tính năng cục bộ bằng cách sử dụng kết hợp các thuật toán bất biến tỷ lệ
và xoay
Oriented FAST and Rotated BRIEF (ORB): ORB là sự kết hợp của bộ
dò góc FAST và bộ mô tả BRIEF, được thiết kế để trở nên nhanh chóng và hiệu quả
1.3.3.6 Phương pháp tiếp cận dựa trên chuyển động
Optical Flow: Luồng quang học tính toán trường chuyển động dày đặc giữa các khung hình liên tiếp, có thể được sử dụng để ước tính chuyển động
Trang 19của các đối tượng và theo dõi chúng
Background Subtraction: Các phương pháp trừ nền phân đoạn các đối tượng chuyển động bằng cách trừ một mô hình nền tĩnh khỏi các khung đầu vào
1.3.3.7 Theo dõi đa đối tượng
Multiple Hypothesis Tracking (MHT): MHT duy trì nhiều giả thuyết về các dấu vết đối tượng và tự động chọn những giả thuyết có thể xảy ra nhất dựa trên liên kết dữ liệu
Joint Detection and Tracking (JDT): JDT đồng thời thực hiện phát hiện và theo dõi đối tượng bằng cách kết hợp cả hai tác vụ vào một khung thống nhất
Graph-based Methods: Phương pháp dựa trên đồ thị biểu diễn các đối tượng và mối quan hệ của chúng dưới dạng đồ thị và giải quyết vấn đề theo dõi bằng cách tối ưu hóa cấu trúc đồ thị
1.4 Kết luận chương 1
Qua chương này chúng ta đã biết được tổng quát về xử lý ảnh và thị giác máy tính, cũng như là các cơ sở lý thuyết dựa trên các khái niệm và thuật toán trong lĩnh vực thị giác máy tính và xử lý tín hiệu Đây là một trong những bài toán rất phổ biến trong xã hội hiện nay Bài toán phát hiện và theo vết đối tượng đã được triển khai và phát triển từ lâu cộng thêm việc mô hình deep learning ra đời nhằm tăng hiệu suất và độ chính xác của các thuật toán trên lên rất cao đưa ra kết quả đúng trong việc xử lý bài toán đó
Có rất nhiều cách tiếp cận bài toán phát hiện và theo vết đối tượng được nêu ở trên cũng như là cách các giải Tuy nhiên không phải thuật toán nào áp dụng cũng cho ra kết quả cao mà còn là tùy thuộc vào yêu cầu của bài toán, xem bài toán muốn phát hiện vật thể nào ví dụ như: người, xe, nhà, …
Trang 20Do đó việc chọn lựa cách giải cho bài toán rất quan trọng nhằm đa hóa được thuật toán đang sử dụng cũng như là cho ra một kết quả tốt nhất Phần sau em
sẽ đi vào một số kỹ thuật để phát hiện và theo vết đối tượng
Trang 21Chương 2: MỘT SỐ KỸ THUẬT PHÁT HIỆN VÀ THEO VẾT
ĐỐI TƯỢNG
2.1 Kỹ thuật dựa trên điểm đặc trưng
Kỹ thuật phát hiện dựa trên điểm đặc trưng là một phương pháp trong lĩnh vực thị giác máy tính và xử lý hình ảnh để phát hiện, nhận dạng và theo vết các đối tượng dựa trên các điểm đặc biệt hoặc điểm quan trọng trong hình ảnh Các điểm đặc trưng là những điểm đặc biệt của hình ảnh có thể được sử dụng để xác định và mô tả các đối tượng hoặc biểu đồ trong hình ảnh
Trong quá trình xử lý hình ảnh, hệ thống sẽ tìm kiếm các điểm đặc trưng trong hình ảnh Các điểm này có thể là điểm giao cắt của đường nét, điểm đỉnh của các cạnh, hay bất kỳ điểm đặc biệt nào mà có thể phân biệt hình ảnh Dưới đây sẽ là tổng quan các bước về kĩ thuật này:
+ Mô tả điểm đặc trưng: Sau khi phát hiện được các điểm đặc trưng, hệ
thống sẽ tạo ra một biểu đồ mô tả cho mỗi điểm đặc trưng Thông tin này có thể bao gồm vị trí, hướng, và các thuộc tính khác của điểm đặc trưng
+ So sánh điểm đặc trưng: Để nhận dạng và phân loại các đối tượng
trong hình ảnh, hệ thống sẽ so sánh các biểu đồ mô tả của các điểm đặc trưng Điều này có thể được thực hiện bằng cách sử dụng các thuật toán so sánh hình học hoặc các thuật toán học máy
+ Ứng dụng: Kỹ thuật dựa trên điểm đặc trưng được sử dụng rộng rãi
trong nhiều ứng dụng, bao gồm nhận dạng khuôn mặt, phát hiện và nhận dạng vật thể, hệ thống tìm kiếm hình ảnh, và hệ thống tương tác người-máy Các thuật toán phát triển dựa trên điểm đặc trưng thường đặc biệt hiệu quả trong điều kiện biến đổi ánh sáng và góc độ
+ Tính bất biến và độ bền: Một trong những ưu điểm của kỹ thuật này
là khả năng hoạt động tốt trong các tình huống biến đổi, nghĩa là các điểm đặc
Trang 22trưng có thể được tìm thấy dễ dàng trong các hình ảnh có nhiễu, biến dạng, hay biến đổi
Một trong những kỹ thuật cơ bản là: so sánh chuyển động, so sánh hai khung hình liên tiếp Tuy nhiên trong những năm gần đây, các phương pháp học máy sâu (deep learning) đã trờ thành một phần quan trọng trong xử lý hình ảnh và thay thế một phần công việc của các thuật toán dựa trên điểm đặc trưng truyền thống
2.2 Kỹ thuật phát hiện chuyển động
Ta xem xét dữ liệu thu nhận được từ các camera quan sát tại một khu vực cụ thể, thường là với các camera được lắp đặt cố định, chẳng hạn như camera quan sát đặt ở cổng vào, camera đường phố, camera đặt ở hành lang hay trong sảnh… Thường các camera này sẽ nằm trong một hệ thống về giám sát trực tuyến khu vực cần theo dõi và thực hiện các chức năng như phát hiện đột nhập tại khu vực nhạy cảm, điểm danh người vào ra hay phát hiện vi phạm giao thông Trong những hệ thống camera như vậy, mối quan tâm thường được đặt lên các đối tượng xuất hiện trong cảnh nền như con người, mặt người, xe cộ Rõ ràng sẽ có rất nhiều thời điểm những đối tượng như vậy không xuất hiện trong khung hình và ta không cần quan tâm đến những khung hình đó Ví dụ như dữ liệu camera quay trong thời gian nghỉ, lúc nửa đêm hoặc một số thời điểm khác mà không có đối tượng quan tâm như người hay
xe cộ qua lại Việc thực hiện nhiều thao tác xử lý tốn nhiều tài nguyên tính toán trên những khung hình như vậy là một việc làm vô ích
Xuất phát từ nhận xét đơn giản đó, đối với dữ liệu camera trong những bài toán như vậy, một ý tưởng là có đối tượng quan tâm thì sẽ có chuyển động, nên việc phát hiện chuyển động chính là bước tiền xử lý đơn giản để đánh giá xem trong khung hình hiện tại có khả năng có đối tượng quan tâm hay không Ta xem xét một số kỹ thuật phát hiện chuyển động : so sánh hai
Trang 23khung hình liên tiếp, so sánh nền trung bình
2.2.1 So sánh hai khung hình liên tiếp
Về mặt kỹ thuật, đây có thể nói là một trong những kỹ thuật đơn giản nhất Thực hiện bằng cách lấy khung hình hiện tại so sánh với khung hình ngay trước đó bằng cách lấy giá trị tuyệt đối của hiệu từng điểm ảnh Công thức như sau:
(2.1)
Trong đó, khung hình hiện tại là khung hình tại thời điểm t sẽ được so sánh với khung hình tại thời điểm t-1, Các giá trị độ lệch sẽ được so sánh với ngưỡng Thật để đánh giá là chuyển động
Hình 2.1: Khung hình hiện tại trừ cho khung hình tại thời điểm trước
Trang 24Hình 2.2: Các kết quả phân ngưỡng ảnh độ lệch
2.2.2 So sánh nền trung bình
Kỹ thuật này có ưu điểm hơn so với kỹ thuật so sánh hai khung hình liên tiếp do giảm được sự phụ thuộc với những thay đổi tức thời Kỹ thuật được thực hiện tương tự như kỹ thuật so sánh hai khung hình liên tiếp nhưng thay vì dùng khung hình ngay trước đó thì ta thực hiện sử dụng một khung hình nền tổng hợp Các điểm ảnh của khung hình nền tổng hợp được tính từ trung bình của n khung hình gần nhất với khung hình hiện tại Công thức như sau:
(2.2)
Trong đó, khung hình hiện tại là khung hình tại thời điểm t sẽ được so
Trang 25sánh với trung bình của n khung hình liền trước nó, Các giá trị độ lệch sẽ được so sánh với ngưỡng Th để đánh giá là chuyển động
Hình 2.3: Khung hình nền tổng hợp với n=10 và ảnh mặt nạ kết quả
Hình 2.4: Khung hình nền tổng hợp với các giá trị n khác nhau và ảnh mặt nạ kết quả
Trang 262.3 Kỹ thuật dựa trên phân đoạn đối tượng
Phân tích màu là một kỹ thuật hiệu quả để xử lý những đối tượng ảnh của đặc trưng màu ổn định ví dụ như da người, những quả bóng màu… hoặc
để xử lý những đối tượng ảnh được đặt trên một vùng nền có đặc trưng màu
ổn định, ví dụ như hình ảnh các diễn viên biểu diễn trên nền xanh trong hậu trường phim, hay hình ảnh các cầu thủ di chuyển trên sân bóng phủ cỏ màu xanh Phương pháp này dựa trên những đặc trưng màu sắc có tính phân biệt của vùng quan tâm so với những vùng khác trên ảnh
Một cách hình dung trực quan về sự phân biệt của đặc trưng màu, ta xét trên mô hình biểu diễn của histogram Ta xét một hình ảnh ví dụ của các cầu thủ đang chạy như sau:
Hình 2.5: Hình ảnh ví dụ của các cầu thủ đang chạy
Ta thực hiện phân tích một vùng ảnh :
Trang 27Hình 2.6: Chọn một vùng ảnh mẫu để phân tích màu
Ta xem xét trực tiếp histogram của vùng ảnh được chọn với 3 kênh trong hệ màu truyền thống RGB:
Hình 2.7: Histogram kênh Red của vùng ảnh mẫu được chọn
Hình 2.8: Histogram kênh Green của vùng ảnh mẫu được chọn
Trang 28Hình 2.9: Histogram kênh Blue của vùng ảnh mẫu được chọn
Dễ dàng nhận thấy do sự ổn định về đặc trưng màu, các histogram rất tập trung vào một vị trí Các vùng khác có giá trị histogram hầu như bằng 0 Như vậy bằng cách xét ngưỡng ta có thể dễ dàng đánh giá sơ bộ vùng ảnh nào
là vùng sân cỏ Ta thực hiện một phân tích tương tự với vùng ảnh khác:
Hình 2.10: Chọn một vùng ảnh mẫu khác để phân tích màu
Ta cũng xem xét trực tiếp histogram của vùng ảnh được chọn với 3 kênh trong hệ màu truyền thống RGB:
Trang 29Hình 2.11: Histogram kênh Red của vùng ảnh mẫu được chọn
Hình 2.12: Histogram kênh Green của vùng ảnh mẫu được chọn
Hình 2.13: Histogram kênh Blue của vùng ảnh mẫu được chọn
Dễ dàng nhận thấy đặc trưng màu trong vùng này kém ổn định so với vùng vừa xét, các histogram đã có sự phân tán rõ rệt trong khoảng giá trị của các điểm ảnh
Trang 302.4 Kỹ thuật dựa trên học sâu
Một trong những phương pháp phát hiện và theo vết đối tượng là dựa trên các kỹ thuật nhận dạng đối tượng Nhận dạng được các đối tượng xuất hiện trong các khung hình liên tiếp nhằm xác định và định vị chúng cũng như xác định được sự chuyển động của các đối đượng đó Học máy nói chung và học sâu là kỹ thuật có thể phân lớp đối tượng hiệu quả, đặc biệt là khi số lượng lớp đối tượng lớn đa dạng và phức tạp xuất hiện trong hệ thống quan sát Gần đây một số mô hình học sâu đã chứng tỏ được tính hiệu quả trong việc phát hiện và nhận dạng đối tượng với số lượng lớp khá lớn và điều kiện thu nhận ảnh đa dạng, không gian quan sát phức tạp Tiếp theo đề án trình bày
cơ sở lý thuyết của mô hình học sâu và kỹ thuật phát hiện và mô hình học sâu Yolo trong phát hiện và nhận dạng đối tượng
2.4.1 Cơ sở lý thuyết của học sâu
- Đằng sau sự phát triển vượt bậc và được ứng dụng thành công một cách rộng rãi hiện nay của AI là học sâu Học sâu sử dụng các mạng nơ-ron nhân tạo như một mô hình cơ bản cho AI: dựa trên mạng nơ-ron sinh học như não con người, mạng nơ-ron nhân tạo có lẽ được xem là tốt nhất như là một cách tiếp cận giải quyết các bài toán đòi hỏi chỉ định một tập linh hoạt các hàm, được xây dựng dựa trên nhiều khối tính toán được gọi là các nơ-ron Thay vì nhà phát triển phải lập trình ra các tập chuyên dụng các luồng hướng dẫn để giải quyết vấn đề, các mô hình học sâu sẽ được huấn luyện trên tập dữ liệu thực tế và từ đó học cách để tự động giải quyết các vấn đề tương tự
- Sức mạnh thật sự của các mô hình học sâu đến từ các mạng nơ-ron sâu (hình 2.14), với rất nhiều các nơ-ron thần kinh được sắp xếp song song thành các lớp tính toán tuần tự, các biểu diễn học tập hữu ích Các biểu diễn học tập này chuyển đổi dữ liệu thành các dạng ngày càng được tinh chỉnh để phục vục cho việc giải quyết một nhiệm vụ đặc thù, và được xem là dấu hiệu
Trang 31thành công của cả trí tuệ nhân tạo và sinh học
- Trong khi các mô hình học sâu hiện đại được xây dựng từ vô số các thành phần tính toán cơ bản, nguyên tắc đầu tiên trong mô tả vi mô mô tả làm thế nào một mạng nơ-ron đã được đào tạo thực hiện tính toán một chức năng
từ các thành phần cấp thấp này là hoàn toàn hiển thị Mô tả vi mô này chỉ là tập hợp các hướng dẫn để chuyển đổi một đầu vào qua nhiều lớp thành phần thành một đầu ra Điều quan trọng là trong quá trình đào tạo, các thành phần này trở nên rất cần được điều chỉnh và kiến thức về các điều chỉnh cụ thể là cần thiết để một hệ thống tạo ra đầu ra hữu ích
Hình 2.14: Mô hình mô tả một mạng nơ-ron sâu nhiều tầng
- Mô hình mạng trên thể hiện cách giá trị đầu vào được biến đổi thông qua một thứ tự các tín hiệu tức thì gồm , sau đó trở thành giá trị đầu
ra Các hình tròn màu trắng trên từng tầng đại diện cho các nút nơron, nốt màu đen ở trên cùng biểu thị giá trị đầu ra là một vector của một lượng lớn các tham số chịu trách nhiệm điều khiển hình dạng của hàm chức năng Ta xem một mạng học sâu đơn giản như một hàm tham số:
Trang 32(2.3)
- Để hàm trở nên hữu ích, chúng ta cần bằng cách nào đó điều chỉnh vector tham số không gian cao tầng θ Trong thực tế, công việc này được thực hiện theo hai bước, lần lượt là:
+ Đầu tiên, chúng ta khởi tạo một mạng bằng cách lấy mẫu ngẫu nhiên vector tham số θ từ một tính toán phân phối xác suất đơn giản:
(2.5)
(x;θ*) được gọi là hàm xấp xỉ Để tìm được các giá trị θ* sao cho chính xác nhất, ta khớp hàm f(x;θ) với tập dữ liệu đào tạo, bao gồm nhiều cặp có dạng (x,f(x)) được quan sát từ hàm mục tiêu mong muốn - nhưng chỉ quan sát một phần - f(x) Nhìn chung, việc thực các điều chỉnh thay đổi này đối với các tham số được gọi là quá trình đào tạo, và thủ tục cụ thể được sử dụng để điều chỉnh chúng được gọi là các thuật toán học tập
Mục đích của chúng ta là xác định và tìm ra hàm huấn luyện:
(2.6)
2.4.2 Mạng nơ-ron tích chập (CNN)
- Một mạng nơ-ron tích chập CNN là một mạng nơ-ron nhiều lớp bao
Trang 33gồm một hoặc nhiều lớp kết nối đầy đủ như một mạng nơ-ron nhiều lớp chuẩn Mạng CNN được giới thiệu lần đầu vào những năm 1960, với ý tưởng như nhận thức cục bộ, trọng lượng của chia sẻ, và lấy mẫu trong không gian hoặc thời gian Vào năm 2012, Krizhevsky và cộng sự đã giúp mô hình CNN được biết đến rộng rãi với cộng đồng khi ứng dụng CNN vào bài toán phân loại hình ảnh
- Sự ra đời của mạng nơ-ron tích chập là dựa trên ý tưởng cải tiến cách thức các mạng nơ-ron nhân tạo truyền thống học thông tin trong ảnh Do sử dụng các liên kết đầy đủ giữa các điểm ảnh vào node, các mạng nơ-ron nhân
tạo truyền thẳng (Feed forward Neural Network) bị hạn chế rất nhiều bởi kích
thước của ảnh, ảnh càng lớn thì số lượng liên kết càng tăng nhanh, kéo theo
sự bùng nổ khối lượng tính toán Ngoài ra, sự liên kết đầy đủ này cũng là sự
dư thừa với mỗi bức ảnh, các thông tin chủ yếu thể hiện qua sự phụ thuộc giữa các điểm ảnh với những điểm xung quanh nó mà không quan tâm nhiều đến các điểm ảnh ở cách xa nhau Mạng nơ-ron tích chập với kiến trúc thay đổi, có khả năng xây dựng liên kết chỉ sử dụng một phần cục bộ trong ảnh kết nối đến node trong lớp tiếp theo thay vì toàn bộ ảnh như trong mạng nơ-ron truyền thẳng
- Mạng nơ-ron tích chập là một phương thức rất hay được sử dụng để nhận dạng hình ảnh, phân loại ảnh, nhận diện đối tượng, nhận diện khuôn mặt,… Mạng nơ-ron tích chập thực hiện phân loại ảnh bằng các bước nhận ảnh đầu vào, xử lý và phân loại nó dưới dạng các nhãn Máy tính nhìn nhận
dữ liệu đầu vào như một mảng các điểm ảnh (pixel) dựa trên độ phân giải của ảnh Dựa vào nó máy tính nhìn nhận ảnh dưới dạng h x w x d ( h: height, w: weight, d: dimension) Ví dụ 1 ảnh 6 x 6 x 3 (hình 2.15) nghĩa là ảnh có kích thước 6 x 6 và có 3 kênh màu (RGB) còn ảnh 4 x 4 x 1 là ảnh có kích thước 4
x 4 và có một kênh màu xám (grayscale)
Trang 34kỹ thuật tính năng hoặc tiền xử lý nào Các thành phần quan trọng của CNN bao gồm lớp tích chập, lớp gộp (pooling), lớp kết nối toàn vẹn và lớp softmax
2.4.2.1 Lớp tích chập (Convolutional Layer)
- Tích chập là lớp đầu tiên để nhận dạng các đặc điểm nổi bật từ một
Trang 35bức ảnh đầu vào Tích chập nhận ra mối tương quan giữa các điểm ảnh bằng cách học các đặc trưng cảu ảnh thông qua những ô nhỏ trong dữ liệu đầu vào Quá trình này khá đơn giản bằng cách thực hiện phép toán tích chập Trong phép toán tích chập, từng ô nhỏ trong ảnh được nhân với một bộ lọc (hình 2.17)
ma trận bộ lọc 3 x 3 và ra được bản đồ đặc trưng
Hình 2.18: Ma trận đầu ra
Thực hiện tích chập một ảnh với các bộ lọc khác nhau có thể tạo ra các
Trang 36kết quả khác nhau như phát hiện các đường biên, làm mờ hay làm nét hơn các chi tiết của ví dụ một số bộ lọc phổ biến trong hình 2.19 gồm : xác nhận
(identity), phát hiện biên (edge detection), làm nét (sharpen), làm mờ (box
blur/ gaussian blur)
Hình 2.19: Một số bộ lọc phổ biến
2.4.2.2 Lớp chuyển đổi (ReLU Layer)
- Lớp ReLU sử dụng hàm kích hoạt (activation function), ở đây là hàm
max(0,x) Hàm kích hoạt ReLU có tác dụng đưa các giá trị âm về 0 Mục đích của lớp này là đưa ảnh về một ngưỡng để loại bỏ các giá trị âm không cần thiết có thể ảnh hưởng cho các bước tính toán sau này Hoạt động của lớp ReLU được biểu diễn ở hình 2.20:
Trang 37Hình 2.20: Hoạt động của lớp ReLU
- Trong đó, Max pooling (hình 2.21) là kiểu thường được sử dụng nhất
Nó nhận giá trị lớn nhất trong một khoảng nào đó được quy định
Hình 2.21: Mô hình làm việc của Max Pooling