
CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC ● Số 13.2023
192
KHOA H
ỌC
NGHIÊN CỨU NHẬN DIỆN ĐỐI TƯỢNG TRONG KHÔNG GIAN 3D ỨNG DỤNG XỬ LÝ ẢNH VÀ MACHINE LEARNING
RESEARCH ON OBJECT RECOGNITION IN 3D SPACE USING IMAGE PROCESSING AND MACHINE LEARNING Nguyễn Thanh Tùng1,*, Nguyễn Minh Hiếu1, Nguyễn Xuân Hoàng2, Vũ Khắc Tuấn3, Nguyễn Anh Tú4 TÓM TẮT Nhận diện đối tượng trong không gian 3D, sử dụ
ng mô hình YOLOv8 và
thuật toán K-means để nhận diện và phân cụm đối tượng. YOLOv8 là mộ
t mô
hình nhận diện đối tượng dựa trên mạng Neural Convolutional [1, 2], dự
đoán
vị trí và loại đối tượng trên toàn bức ảnh một cách nhanh chóng. K-
means là
một thuật toán phân cụm dữ liệu thông qua việc tìm kiếm trung tâm cụ
m và
gán các điểm dữ liệu vào các cụm tương ứng [3]. Bằng cách kết hợ
p YOLOv8 và
K-means, nhóm nghiên cứu tiến hành quá trình nhận diện đối tượng trước, s
au
đó sử dụng K-means để phân cụm các đối tượng dựa trên giá trị của điểm ả
nh
mà YOLOv8 trả về. Phương pháp này giúp tăng cường khả năng phân cụ
m sau
khi nhận diện và cải thiện độ chính xác của quá trình nhận diện và phân cụ
m.
Việc kết hợp YOLOv8 và K-means đã đạt được kết quả tốt hơn so với việc sử dụ
ng
mỗi phương pháp độc lập. Phương pháp này có tiềm năng ứng dụng rộ
ng rãi
trong các lĩnh vực như an ninh, xử lý ảnh và các ứng dụng thực tế
khác liên quan
đến nhận diện và phân cụm dữ liệu. Từ khóa: YOLOv8, K-means, nhận diện đối tượng, phân cụm, mạ
ng Neural
Convolutional. ABSTRACT Recognize objects in 3D space, using the YOLOv8 model and K-
means
algorithm to identify and cluster objects. YOLOv8 is an object recognition model
based on Neural
Convolutional network [1] [2], which quickly predicts the location
and type of objects across the image. K-
means is a data clustering algorithm by
finding cluster centers and assigning data points to corresponding clusters [3]. By
combining YOLOv8 and K-
means, the research team conducts the object
recognition process first, then uses K-means to cluster objec
ts based on the pixel
value returned by YOLOv8. This method enhances the clustering ability after
identification and improves the accuracy of the identi
fication and clustering
process. Combining YOLOv8 and K-
means achieved better results than using each
method independently. This method has broad application potential in fields such
as security, image processing, and other practical
applications related to data
identification and clustering. Keywords: YOLOv8, K-
means, object recognition, clustering, Neural
Convolutional network. 1Lớp Cơ điện tử 02 - K15, Trường Cơ khí - Ô tô, Trường Đại học Công nghiệp Hà Nội2Lớp Cơ điện tử 02 - K14, Trường Cơ khí - Ô tô, Trường Đại học Công nghiệp Hà Nội3Lớp Cơ điện tử 03 - K15, Trường Cơ khí - Ô tô, Trường Đại học Công nghiệp Hà Nội4 Trường Cơ khí - Ô tô, Trường Đại học Công nghiệp Hà Nội *Email: tungcheng3004@gmail.com 1. GIỚI THIỆU Trong thời đại công nghệ thông tin hiện nay, việc nhận diện và phân cụm đối tượng đóng vai trò quan trọng trong nhiều ứng dụng thực tế như xử lý ảnh, an ninh, xe tự hành và thị giác máy tính. Để giải quyết vấn đề này, các mô hình nhận diện đối tượng trong không gian 3D đã được phát triển và nghiên cứu sâu rộng. Trong nghiên cứu này, chúng tôi tập trung vào việc sử dụng mô hình YOLOv8 và thuật toán K-means để nhận diện và phân cụm đối tượng. Mô hình YOLOv8, viết tắt của "You Only Look Once version 8", là một trong những mô hình nhận diện đối tượng nổi tiếng và hiệu quả. YOLOv8 sử dụng mạng neural convolutional để dự đoán vị trí và loại đối tượng trên toàn bức ảnh, cho phép việc nhận diện đối tượng nhanh chóng và chính xác. Tuy nhiên, chỉ nhận diện đối tượng không đủ để hiểu và phân tích dữ liệu một cách toàn diện. Để giải quyết vấn đề này, kết hợp YOLOv8 với thuật toán K-means, một phương pháp phân cụm dữ liệu phổ biến. K-means tìm kiếm trung tâm cụm và gán các điểm dữ liệu vào các cụm tương ứng, từ đó tạo ra sự phân cụm dữ liệu. Sự kết hợp của YOLOv8 và K-means mang lại nhiều lợi ích đáng kể. Việc áp dụng K-means sau khi nhận diện đối tượng giúp phân cụm các đối tượng cụ thể bên trong bounding box dựa trên chiều sâu của ảnh trả về, từ đó nâng cao khả năng hiểu và xử lý dữ liệu. Kết quả là việc nhận diện và phân cụm đối tượng được thực hiện một cách chính xác hơn và hiệu quả hơn. 2. THIẾT LẬP CÔNG THỨC TÍNH KHOẢNG CÁCH Để xây dựng công thức tính toán khoảng cách từ camera tới vật cản, ta cần xuất phát từ việc xây dụng ma trận nội tại (intrinsic matrix) và ma trận bên ngoài của máy ảnh (extrinsic matrix). Ma trận nội tại (intrinsic matrix) được tham số hóa của một camera bởi các thông số của nó có thể biểu diễn như sau [4]:
xx
yy
fSc
K0fc
001
(1)

SCIENCE - TECHNOLOGY Số 13.2023 ● Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 193
Trong đó: fx, fy: lần lượt là tiêu cự của camera theo hướng ngang và dọc. Thông thường fx, fy có cùng giá trị. cx, cy: là tâm ảnh trục quang học của camera. S: độ lệch của cảm biến. Khác với ma trận nội tại của máy ảnh, ma trận bên ngoài (extrinsic matrix) hay còn gọi là “view matrix” mô tả vị trí của máy ảnh và hướng của nó. Một ma trận bên ngoài bao gồm 2 thành phần: một ma trận xoay R và một vector dịch t:
1112131
2122232
3132333
rrrt
R|trrrt
rrrt
(2) Trong đó: R: ma trận xoay quanh trục x, y, z. T: vector dịch hay vector tịnh tiến theo trục x, y, z. Từ ma trận nội tại (intrinsic matrix) (1) và ma trận bên ngoài của máy ảnh (extrinsic matrix) ta xây dựng ma trận chiếu của máy ảnh: 4444
ux
vK0Rty
1
10101z
z
1/z1
(3) Công thức tính khoảng cách được thiết lập: yxyxxyxyyyySccf1S0fffff
xu
ycv
1z00
z1
ff
11/z
00100001
(4) 3. MÔ HÌNH NHẬN DIỆN ĐỐI TƯỢNG Trong lĩnh vực nhận diện đối tượng, kiến trúc mạng YOLO đã trải qua nhiều phiên bản khác nhau và có nhiều sự đa dạng. Tuy nhiên, dựa trên cấu trúc cơ bản, một mạng YOLO bao gồm ba phần chính: backbone, neck và head. Trong số các phiên bản hiện tại, YOLOv8 đã được công nhận là một trong những phiên bản có độ chính xác cao và tốc độ xử lý nhanh hơn hẳn so với các phiên bản trước đó. Vì vậy, chúng tôi quyết định sử dụng kiến trúc mạng YOLOv8 trong đề tài của chúng tôi, với mục tiêu phát hiện đối tượng. Để trực quan hóa kiến trúc YOLOv8, chúng tôi sử dụng hình ảnh được tạo ra bởi người dùng GitHub RangeKing. Hình ảnh này cung cấp một cái nhìn tổng quan về cấu trúc YOLOv8, với backbone, neck và head được trình bày rõ ràng. Sự sử dụng của YOLOv8 trong đề tài của chúng tôi đem lại hi vọng về khả năng đạt được kết quả chính xác và tốc độ xử lý ưu việt trong việc phát hiện đối tượng. Hình 1. Mô hình cấu trúc mạng YOLOv8 [5] YOLOv8 được cấu thành từ ba phần chính: backbone, neck và head, đóng vai trò quan trọng trong quá trình nhận diện và phân cụm đối tượng. - Backbone là phần trích xuất đặc trưng từ ảnh đầu vào, sử dụng các lớp convolutional và pooling để tạo ra các đặc trưng sâu. - Neck là phần kết nối giữa backbone và head, tăng cường và kết hợp các đặc trưng để đạt được sự đa dạng và chính xác cao hơn. - Head là phần đầu ra của mô hình, dự đoán vị trí và lớp của các đối tượng trong ảnh, sử dụng lớp convolutional và detection để tạo ra bounding box và xác suất cho mỗi lớp. Tổng hợp lại, cấu trúc của YOLOv8 bao gồm backbone để trích xuất đặc trưng, neck để kết hợp các đặc trưng và head để dự đoán vị trí và lớp của các đối tượng. Mô hình này có khả năng dự đoán nhanh và chính xác trên toàn bức ảnh và đã đạt được kết quả ấn tượng. Trong nghiên cứu này, đầu ra của cấu trúc YOLOv8 cung cấp cho bài toán phân cụm ảnh đã được cắt ra từ bounding box, nhằm tối ưu quá trình phân cụm chi tiết các đối tượng trên ảnh. 4. BÀI TOÁN PHÂN CỤM TRÊN KẾT QUẢ NHẬN DIỆN 4.1. Lọc nhiễu ảnh RGBD đầu vào thông qua bộ lọc Morphological Filter Để loại bỏ các nhiễu trên hình, nhóm sử dụng dạng biến thể Closing (đóng). Closing là sự kết hợp của Dilation (sự giãn nở) kéo theo sau Erosion (sự xói mòn) [6, 7].

CÔNG NGHỆ Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC ● Số 13.2023
194
KHOA H
ỌC
Hình 2. Bộ lọc Closing 4.2. Thuật toán phân cụm Trong bài toán phân cụm, có nhiều thuật toán được sử dụng: Thuật toán BIRCH (Balanced. Iterative Reducing and Clustering using Hierarchies), thuật toán Hierarchical và thuật toán K-means clustering (phân cụm K-means). Trong quá trình thực hiện đề tài, nhóm tập trung triển khai quá trình phân cụm bằng thuật toán K-means clustering. Trong thuật toán K-means clustering, chúng ta không biết nhãn (label) của từng điểm dữ liệu. Mục đích là làm thể nào để phân các điểm thành các cụm (cluster) khác nhau sao cho các điểm ảnh trong cụm đó có cùng 1 giá trị. 4.3. Phân cụm đối tượng Trong bài toán phân cụm, chúng tôi sử dụng dữ liệu đầu vào là ảnh RGBD từ cảm biến và đầu ra của mạng YOLOv8. Quy trình phân cụm đối tượng trên ảnh RGBD được nhóm xây dựng bao gồm các bước sau: Bước 1: Lọc nhiễu ảnh RGBD bằng cách sử dụng bộ lọc Morphological Filter. Quá trình này giúp loại bỏ các nhiễu và cải thiện chất lượng của ảnh. Bước 2: Thực hiện phân cụm đối tượng trên ảnh đã được lọc nhiễu. Bước 3: Tạo lớp phủ lên các đối tượng đã được phân cụm. Điều này giúp xác định rõ ràng và định vị chính xác các đối tượng trong ảnh. Hình 3. Quá trình phân cụm đối tượng Qua quy trình này, chúng tôi có thể thực hiện phân cụm đối tượng trên ảnh RGBD, tạo ra kết quả chính xác và đáng tin cậy. Phương pháp này có thể được áp dụng trong các lĩnh vực như xử lý ảnh, thị giác máy tính để xác định và phân tích các đối tượng trong môi trường 3D. 5. THỬ NGHIỆM VÀ ĐÁNH GIÁ 5.1. Kết quả quá trình đào tạo mạng YOLO Với tập dữ liệu 7000 ảnh về người với tỉ lệ 6300 ảnh đào tạo và 700 ảnh đánh giá, chúng tôi đã thực hiện việc đào tạo 4 cấu trúc mạng khác nhau và đưa ra kết quả đối sánh các tham số đào tạo. Hình 4. Tham số đối sánh các mạng YOLO Thông qua hình 4 cho thấy, các thông số đánh giá về độ trễ, số lượng tham số, trung bình nhắc lại… Đối với Yolov8 cho ra kết quả tối ưu nhất cho bài toán thời gian thực. 5.2. Đánh giá tham số sau khi phân cụm Như đã đề cập trong nội dung trước nhóm đã đề xuất 3 thuật toán phân cụm đó là: Birch, K-mean, Hierarchical…. Hình 5 đánh giá chúng dựa trên 3 tham số chính dựa trên ảnh RGBD làm đầu vào: Calinski-Harabasz, Davies-Bouldin và Silhouette Coefficient. Hình 5. Giá trị tham số đánh giá các thuật toán phân cụm Với bài toán tối ưu về xử lý thời gian thực của chúng tôi, K-mean cho thấy đây là một thuật toán phù hợp. 5.3. Lựa chọn số vòng lặp cho thuật toán K-Means Với bài toán cố định về số lượng cụm trong 1 ảnh, nhóm nghiên cứu sẽ đi sâu vào đánh giá sự thay đổi của 3 tham số trên trong quá trình chạy từng vòng lặp của mô hình. Hình 6. Giá trị Calinski-Harabasz index trên từng vòng lặp của thuật toán k-mean

SCIENCE - TECHNOLOGY Số 13.2023 ● Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC 195
Hình 7. Giá trị Silhouette Coefficient score trên từng vòng lặp của thuật toán k-mean Hình 8. Giá trị Davies-Bouldin index trên từng vòng lặp của thuật toán k-mean Hình 9. Thời gian xử lý với thuật toán k-mean với số lượng vòng lặp khác nhau 5.4. Thử nghiệm, đánh giá khoảng cách trả về Tiến hành đánh giá trên một và nhiều đối tượng khác nhau với khoảng cách thực không đổi 2m. Thu được kết quả thử nhiệm, đánh giá trên một đối tượng với các vị trí khác nhau trên khung hình với khoảng cách 2m. Hình 10. Giá trị khoảng cách trên một đối tượng tính theo mét (m) Sai số trung bình của phép đo trên một đối tượng với các vị trí khác nhau trên khung hình bằng ±0,044m (44mm) hay 2,2% so với giá trị khoảng cách thực. Thử nghiệm đánh giá trên nhiều đối tượng trong một khung hình: Hình 11. Giá trị khoảng cách trên hai đối tượng tính theo mét (m) Sai số trung bình của phép đo với đối tượng 1 là ±0,043m (43mm) hay 2,15%. Sai số trung bình của phép đo với đối tượng 2 là ±0,048m (48mm) hay 2,4%. Từ kết quả thực nghiệm trong nhiều trường hợp và điều kiện khác nhau, có thể thấy phép đo được xây dựng có độ chính xác tương đối cao với sai số của phép đi chỉ khoảng 2 - 2,5% trong nhiều trường, điều kiện hợp khác nhau. 6. KẾT LUẬN Tóm lại, trong nghiên cứu về nhận diện đối tượng trong không gian 3D, chúng tôi đã khám phá ứng dụng của mô hình YOLOv8 và thuật toán K-means trong việc nhận diện và phân cụm đối tượng. Kết quả cho thấy việc kết hợp hai phương pháp này cải thiện đáng kể hiệu suất của quá trình nhận diện và phân cụm. Điều này đề xuất tiềm năng sử dụng phương pháp kết hợp trong các lĩnh vực thực tế liên quan đến nhận diện và phân cụm dữ liệu. Tuy nhiên, còn nhiều cơ hội để nghiên cứu và cải tiến phương pháp này, bao gồm việc thử nghiệm các kiến trúc mạng và tăng cường dữ liệu đào tạo. Như vậy, phương pháp kết hợp YOLOv8 và K-means đóng góp vào việc phát triển công nghệ nhận diện và phân cụm đối tượng. TÀI LIỆU THAM KHẢO [1]. Aston Zhang, Zachary C. Lipton, Mu Li, Alexander J. Smola, 2023. Dive into Deep Learning. Cambridge University Press. [2]. Elgendy, Mohamed, 2020. Deep Learning for Vision Systems. New York Manning Publications Co. [3]. Nils J. Nilsson, 1998. Introduction To Machine Learning. Stanford University [4]. Kyle Simek, ksimek.github.io [Online]. Available: http://ksimek.github.io/2013/08/13/intrinsic/ [5]. RangeKing, GitHub, [Online]. Available: https://github.com/ultralytics/ultralytics/issues/189. [6]. Rafael C. Gonzalez, Richard E. Woods, 2017. Digital Image Processing 4th Edition. Pearson. [7]. Bradski, Adrian Kaehler, 2008, Learning OpenCV, the United States of America. O’Reilly Media.

