












Preview text:
lOMoAR cPSD| 58800262
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: NHẬP MÔN KHOA HỌC DỮ LIỆU
Chủ đề: Phân loại xe máy và xe đạp Giảng viên:
Vũ Hoài Nam
Nhóm môn học: 01
Nhóm thực hiện: 03 Thành viên:
Nguyễn Trọng Hoàng - B20DCNC279
Trần Phương Nam - B20DCCN459
Lê Phúc Hoàng - B20DCCN274
Hà Nội 2023 lOMoAR cPSD| 58800262 LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn sâu sắc nhất đến Thầy Vũ Hoài Nam về sự tận tâm
và kiến thức mà Thầy đã chia sẻ trong suốt khóa học "Nhập môn khoa học dữ liệu".
Chúng em đánh giá cao cách Thầy truyền đạt kiến thức một cách sinh động và ứng
dụng thực tế, giúp chúng em hiểu rõ và ưa thích hơn trong lĩnh vực khoa học dữ
liệu. Sự hỗ trợ và sự chia sẻ kinh nghiệm của Thầy đã giúp chúng em vượt qua
những thách thức trong quá trình học tập.
Chúng em cũng muốn bày tỏ sự biết ơn đặc biệt đối với sự nhẹ nhàng và kiên nhẫn
của Thầy khi giải đáp những thắc mắc của chúng em. Nhờ vào sự hướng dẫn và
giảng dạy của Thầy, chúng em đã có được cái nhìn tổng quan và chi tiết về khoa học dữ liệu.
Chúng em rất trân trọng những giờ học với Thầy, nơi chúng em không chỉ học được
kiến thức mà còn được trải nghiệm và thực hành. Điều này giúp chúng em áp dụng
kiến thức một cách linh hoạt và hiệu quả.
Xin chúng em được bày tỏ lòng biết ơn chân thành đến Thầy Vũ Hoài Nam, người
đã đồng hành và tạo điều kiện cho sự phát triển của chúng em trong lĩnh vực học này. Mục lục
I. Giới thiệu .......................................................................................................................... 3
1. Lý do chọn đề tài ......................................................................................................... 3
2. Mục tiêu ...................................................................................................................... 3
3. Ý nghĩa ....................................................................................................................... 4
II. Xây dựng Model phân loại ............................................................................................. 4
1. Chuẩn bị dữ liệu .......................................................................................................... 4
2. Trực quan hóa dữ liệu ................................................................................................. 5
3. Tiền xử lý dữ liệu ........................................................................................................ 8
4. Model .......................................................................................................................... 9 lOMoAR cPSD| 58800262
II. Kết luận ......................................................................................................................... 12 I. Giới thiệu
1. Lý do chọn đề tài
Phân biệt xe máy và xe đạp là một bài toán phân loại ảnh trong lĩnh vực thị giác máy
tính (computer vision). Bài toán này đòi hỏi máy tính phải có khả năng nhận diện và
phân biệt hai loại phương tiện giao thông phổ biến này dựa trên các đặc trưng hình ảnh
của chúng. Đây là một bài toán không dễ dàng, vì xe máy và xe đạp có nhiều điểm
tương đồng về hình dạng, kích thước, màu sắc, và cấu tạo. Tuy nhiên, bài toán này cũng
rất quan trọng và có nhiều ứng dụng thực tế, ví dụ như:
● Giúp cải thiện an toàn giao thông. Nếu máy tính có thể phân biệt được xe máy
và xe đạp, thì nó có thể giúp các hệ thống giám sát giao thông nhận biết được
các phương tiện này trên đường và cảnh báo cho các tài xế hoặc người điều
khiển giao thông về các tình huống nguy hiểm hoặc vi phạm luật lệ.
● Giúp phát triển xe tự lái. Nếu máy tính có thể phân biệt được xe máy và xe đạp,
thì nó có thể giúp các xe tự lái nhận diện được các phương tiện này trên đường
và điều chỉnh tốc độ, hướng, và khoảng cách an toàn để tránh va chạm hoặc gây ra tai nạn.
● Giúp nâng cao trải nghiệm người dùng. Nếu máy tính có thể phân biệt được xe
máy và xe đạp, thì nó có thể giúp các ứng dụng hoặc dịch vụ liên quan đến giao
thông cung cấp các thông tin hữu ích cho người dùng, ví dụ như định vị, định
tuyến, đặt xe, thanh toán, v.v.
Do đó, chúng em quyết định chọn đề tài phân biệt xe máy và xe đạp làm đề tài cho bài
báo cáo môn khoa học dữ liệu. Phần tiếp theo, chúng em sẽ trình bày về cách thu thập,
tiền xử lý, trực quan hóa, phân tích, và khai thác dữ liệu để giải quyết bài toán này. 2. Mục tiêu
Mục tiêu của bài toán phân biệt xe máy và xe đạp là xây dựng và huấn luyện một mô
hình học sâu để nhận diện và phân loại hai loại phương tiện giao thông này dựa trên các
đặc trưng hình ảnh của chúng. Đây là một bài toán có tính thách thức cao, vì xe máy và
xe đạp có nhiều điểm tương đồng về hình dạng, kích thước, màu sắc, và cấu tạo. Để
giải quyết bài toán này, chúng em cần phải áp dụng các kiến thức và kỹ năng về thị giác lOMoAR cPSD| 58800262
máy tính, học sâu, xử lý ảnh, và khoa học dữ liệu. Bài toán này không chỉ có mục tiêu
khoa học, mà còn có mục tiêu thực tiễn, vì nó có thể ứng dụng vào nhiều lĩnh vực như
an toàn giao thông, xe tự lái, hoặc trải nghiệm người dùng. Bằng cách phân biệt được
xe máy và xe đạp, chúng em có thể giúp cải thiện chất lượng cuộc sống và bảo vệ môi trường. 3. Ý nghĩa
Phần ý nghĩa của đề tài phân biệt xe máy và xe đạp là một phần quan trọng để thể hiện
giá trị và tầm nhìn của bài toán này. Đề tài này có ý nghĩa thực tiễn cao, vì nó có thể
ứng dụng vào các lĩnh vực như: An toàn giao thông, Xe tự lái,… Nếu máy tính có thể
phân biệt được xe máy và xe đạp, thì nó có thể giúp các ứng dụng hoặc dịch vụ liên
quan đến giao thông cung cấp các thông tin hữu ích cho người dùng, ví dụ như định vị,
định tuyến, đặt xe, thanh toán, v.v. Điều này có thể nâng cao trải nghiệm người dùng,
tăng sự hài lòng và gắn kết của khách hàng, và tạo ra giá trị gia tăng cho các doanh nghiệp.
Đề tài này cũng có ý nghĩa khoa học, vì nó đòi hỏi sự sáng tạo và nghiên cứu về các kỹ
thuật và công cụ trong lĩnh vực thị giác máy tính và học sâu. Đề tài này có thể mở ra
những hướng nghiên cứu mới, khám phá những kiến thức mới, và đóng góp vào sự phát
triển của khoa học và công nghệ.
II. Xây dựng Model phân loại
1. Chuẩn bị dữ liệu
Phần chuẩn bị dữ liệu là một bước quan trọng trong quá trình phân tích và khai thác dữ
liệu. Trong bài báo cáo này, chúng em sử dụng một tập dữ liệu gồm các ảnh về các loại
xe máy và xe đạp. Để thu thập dữ liệu này, chúng em thực hiện hai bước sau:
● Bước 1: Tải extension Image Downloader để tải ảnh trên Google. Extension
image downloader là một công cụ hỗ trợ người dùng tải nhiều ảnh từ một trang
web một cách nhanh chóng và dễ dàng. Chúng em cài đặt extension này trên
trình duyệt Google Chrome của chúng em. Sau đó, chúng em tìm kiếm các ảnh
về xe máy và xe đạp trên Google Images. Chúng em chọn các ảnh có chất lượng
cao, kích thước vừa và phù hợp với chủ đề. Chúng em sử dụng extension Image lOMoAR cPSD| 58800262
Downloader để tải xuống các ảnh này về máy tính của chúng em. Tổng cộng,
chúng em thu thập được khoảng 1000 ảnh về xe máy và xe đạp.
● Bước 2: Thêm dữ liệu vào thư mục và đổi tên. Sau khi tải xuống các ảnh, chúng
em cần phải sắp xếp và đặt tên lại cho chúng. Chúng em tạo một thư mục mới
trên máy tính có tên là “data”. Trong thư mục này, chúng em tạo 2 thư mục con
là “xemay” và “xedap”. Sau đó đổi tên các ảnh theo quy tắc sau: loại xe + số thứ
tự. Ví dụ: xedap_0001, xedap_0002, …, xedap_0999, … Điều này giúp chúng
em dễ dàng nhận biết và quản lý các ảnh hơn.
Như vậy, chúng em đã hoàn thành phần chuẩn bị dữ liệu cho bài toán phân loại xe máy,
xe đạp. Phần tiếp theo, chúng em sẽ tiến hành các bước tiền xử lý, phân tích, và trực
quan hóa dữ liệu để khám phá các đặc điểm và mối quan hệ của các loại xe trong tập dữ liệu của chúng em.
2. Trực quan hóa dữ liệu
Phần trực quan hóa dữ liệu là một phần quan trọng để thể hiện và khám phá các
đặc điểm và mối quan hệ của dữ liệu. Trong bài báo cáo này, chúng em sử dụng biểu đồ
scatter plot để trực quan hóa kích thước ảnh của 2 loại xe. Biểu đồ này giúp chúng em
nhìn thấy sự phân bố và biến động của kích thước ảnh trong tập dữ liệu. Chúng em vẽ
hai biểu đồ, một biểu đồ trước khi lọc các ảnh ngoài vùng trung vị và một biểu đồ sau
khi lọc. Vùng trung vị là khu vực có chiều rộng và chiều cao gần bằng với trung vị của
kích thước ảnh. Dù đã lọc qua khi tải ảnh xuống bằng Image Downloader nhưng vẫn lOMoAR cPSD| 58800262
còn có rất nhiều ảnh không tốt. Chúng em lọc các ảnh ngoài vùng trung vị vì chúng có
thể là các ảnh bị méo mó, quá dài hoặc quá rộng, hoặc không phù hợp với chủ đề.
Biểu đồ trước khi lọc các ảnh ngoài vùng trung vị có thể trông như thế này:
Từ biểu đồ này, chúng em có thể thấy rằng:
● Kích thước ảnh của các loại xe có sự chênh lệch lớn, từ khoảng 100 pixel đến
khoảng 2000 pixel về cả chiều rộng và chiều cao.
● Có một số ảnh nằm trên đường chéo từ gốc tọa độ, tức là các ảnh vuông. Các
ảnh này là các ảnh có tỷ lệ cân đối và độ phân giải cao.
● Có một số ảnh nằm ngoài hai đường song song với đường chéo, tức là các ảnh
quá dài hoặc quá rộng. Các ảnh này có thể là các ảnh bị méo mó, quá kéo dài hoặc quá thu nhỏ.
● Có một số ảnh nằm trong hình chữ nhật màu tím, tức là các ảnh trong vùng trung
vị. Các ảnh này có thể là các ảnh có kích thước phù hợp và đại diện cho đa dạng của xe đạp và xe máy.
Biểu đồ sau khi lọc các ảnh ngoài vùng trung vị có thể trông như thế này: lOMoAR cPSD| 58800262
Từ biểu đồ này, chúng em có thể thấy rằng:
● Kích thước ảnh của các loại hoa có sự phân bố đều hơn, từ khoảng 150 pixel đến
khoảng 350 pixel về cả chiều rộng và chiều cao.
● Các ảnh vuông, quá dài hoặc quá rộng đã bị loại bỏ khỏi tập dữ liệu.
● Các ảnh trong vùng trung vị có thể phản ánh tốt hơn sự đa dạng và đặc trưng của
các loại hoa. Các ảnh này cũng có thể giúp chúng em tiến hành các bước tiền xử
lý, phân tích, và khai thác dữ liệu một cách hiệu quả hơn.
Tiếp theo, bọn em sử dụng biểu đồ scatter plot để trực quan hóa màu sắc ảnh của 2 loại
xe. Đầu tiên là chuyển ảnh về dạng numpy và tính trung bình các kênh màu của các
ảnh. Sau đó tạo một scatter plot để so sánh giá trị trung bình của mỗi kênh màu
giữa hai lớp. Mỗi điểm trên biểu đồ đại diện cho một ảnh, màu xanh dương cho xe máy, màu đỏ cho xe đạp lOMoAR cPSD| 58800262
Từ đồ thị ta thấy : xe đạp thì thiên về gam màu trắng và sáng còn xe máy thì thiên về gam màu tối.
Như vậy, chúng em đã hoàn thành phần trực quan hóa dữ liệu. Phần tiếp theo, chúng em
sẽ tiến hành các bước tiền xử lý, phân tích, và khai thác dữ liệu để khám phá các đặc
điểm và mối quan hệ của các loại xe trong tập dữ liệu.
3. Tiền xử lý dữ liệu
● Bước 1: Lọc bỏ đi những ảnh quá bé. Ở đây định nghĩa một ngưỡng kích thước
tối thiểu cho các ảnh là 64x64 pixel. Bọn em cần duyệt qua các ảnh trong bộ dữ
liệu, và xóa những ảnh có kích thước nhỏ hơn ngưỡng đã định.
● Bước 2: Sử dụng YOLOv8 để phát hiện các xe đạp và xe máy trong các ảnh. Vì
YOLOv8 có 80 class sử dụng trong các mô hình đã được huấn luyện sẵn bao
gồm cả xe máy và xe đạp nên cần chỉ cần chạy model YOLOv8 là có thể xác
định vị trí và kích thước của các xe đạp trong các ảnh. lOMoAR cPSD| 58800262
● Bước 3: Cắt ra phần ảnh chỉ chứa xe đạp và xe máy từ tọa độ của detect của
model YOLOv8. Việc này giúp xe luôn ở chính giữa ảnh và không có vật thể
không xác định xung quanh.
● Bước 4: Thay đổi kích thước các ảnh về 224x224 pixel. 4. Model
Phần model là một phần quan trọng để xây dựng và huấn luyện các mô hình học sâu để
phân loại các loại xe khác nhau. Trong bài báo cáo này, chúng em sử dụng 3 model là
VGG16, ResNet50 và ResNet101. Đây là những model được thiết kế dựa trên kiến trúc
của các mạng nơ-ron tích chập (CNN) và đã được huấn luyện sẵn trên tập dữ liệu
ImageNet ((tập dữ liệu hình ảnh về phân loại đối tượng, bao gồm 14 triệu hình ảnh
thuộc 1000 lớp khác nhau). Chúng em sử dụng kỹ thuật chuyển giao học tập (transfer
learning) để tận dụng các trọng số đã được huấn luyện của các model này và thay thế
lớp phân loại cuối cùng bằng một lớp mới phù hợp với bài toán của chúng em. Sau đó,
chúng em tiến hành huấn luyện lại các model này trên tập dữ liệu của chúng em.
VGG16 là mạng convolutional neural network được đề xuất bởi K. Simonyan and A.
Zisserman, UniversityofOxford.Model sau khi train bởi mạng VGG 16 đạt độ chính xác
92.7% trong dữ liệu ImageNet
Model này có 16 lớp, bao gồm 13 lớp tích chập và 3 lớp kết nối đầy đủ. Model này sử
dụng các bộ lọc có kích thước 3x3 và sử dụng các lớp gộp cực đại (max pooling) để
giảm kích thước của các đặc trưng. Model này đã đạt được kết quả tốt trên tập dữ liệu
ImageNet, nhưng cũng có một số nhược điểm như số lượng tham số lớn, độ phức tạp
cao và khả năng bị quá khớp. lOMoAR cPSD| 58800262
ResNet (Residual Network) là một cấu trúc mạng CNN được giới thiệu và được đề xuất
bởi nhóm nghiên cứu của Microsoft đến công chúng vào năm 2015. Resnet đã giành
được vị trí thứ 1 trong cuộc thi ILSVRC 2015 với tỉ lệ lỗi top 5 chỉ 3.57% trên tập dữ liệu imageNet
Mạng ResNet (R) là một mạng CNN được thiết kế để làm việc với hàng trăm lớp. Một
vấn đề xảy ra khi xây dựng mạng CNN với nhiều lớp chập sẽ xảy ra hiện tượng
Vanishing Gradient dẫn tới quá trình học tập không tốt. lOMoAR cPSD| 58800262
Giải pháp mà ResNet đưa ra là sử dụng kết nối "tắt" đồng nhất để xuyên qua một hay
nhiều lớp. Một khối như vậy được gọi là một khối thặng dư( Residual Block) lOMoAR cPSD| 58800262
ResNet50 và ResNet101 là hai biến thể của Resnet. Hai model này có 50 và 101 lớp,
bao gồm nhiều khối thặng dư. Mỗi khối thặng dư có một kết nối tắt (skip connection)
như trên, giúp truyền dữ liệu từ đầu vào đến đầu ra của khối mà không cần qua các lớp
tích chập. Điều này giúp giải quyết vấn đề suy giảm độ chính xác (degradation
problem) bởi mất mát đạo hàm(vanishing gradient) khi tăng số lượng lớp của mạng.
Model này đã đạt được kết quả xuất sắc trên tập dữ liệu ImageNet, và cũng có khả năng
học các đặc trưng sâu và phức tạp hơn.
Chúng em đã thử nghiệm cả 3 model trên tập dữ liệu của chúng em và đánh giá kết quả
bằng độ chính xác (accuracy) trên tập kiểm tra (test set). Kết quả cho thấy ResNet101 là
model có kết quả tốt nhất, với độ chính xác là 0.9325. ResNet50 là model có kết quả
thứ hai, với độ chính xác là 0.9007. VGG16 là model có kết quả thấp nhất, với độ chính
xác là 0.6667. Điều này cho thấy ResNet101 có khả năng học và phân loại xe đạp và xe
máy tốt hơn so với ResNet50 và VGG16. II. Kết luận
Bài toán phân loại xe máy xe đạp là một bài toán quan trọng và có nhiều ứng dụng
trong thực tế. Để giải quyết bài toán này, có thể sử dụng các mô hình học sâu, như
ResNet101, ResNet50, và VGG19. Các mô hình này đều dựa trên kiến trúc mạng nơ-
ron tích chập (CNN), và được huấn luyện trên các bộ dữ liệu lớn, như ImageNet. Các lOMoAR cPSD| 58800262
mô hình này có thể học được các đặc trưng phân biệt của các loại xe máy và xe đạp, và
phân loại chúng với độ chính xác cao.
Kết luận, bài toán phân loại xe máy xe đạp là một bài toán có nhiều thách thức và tiềm
năng. Các mô hình học sâu, như ResNet101, ResNet50, và VGG19, có thể giải quyết
bài toán này với độ chính xác cao. Tuy nhiên, các mô hình này cũng có những ưu và
nhược điểm khác nhau, và cần được lựa chọn phù hợp với bộ dữ liệu và mục tiêu của
bài toán. Theo nghiên cứu đã trình bày, ResNet101 là mô hình có hiệu năng tốt nhất
trên bài toán phân loại xe máy xe đạp, vượt trội hơn ResNet50 và VGG19.