-
Thông tin
-
Hỏi đáp
Báo cáo bài tập lớn môn Nhập môn Khoa học dữ liệu đề tài "Phân loại xe máy và xe đạp"
Báo cáo bài tập lớn môn Nhập môn Khoa học dữ liệu đề tài "Phân loại xe máy và xe đạp" của Học viện Công nghệ Bưu chính Viễn thông với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!
Môn: Nhập môn Khoa học dữ liệu
Trường: Học viện Công Nghệ Bưu Chính Viễn Thông
Thông tin:
Tác giả:
Preview text:
lOMoARcPSD| 10435767
HỌCVIỆNCÔNGNGHỆBƯUCHÍNHVIỄNTHÔNG
KHOACÔNGNGHỆTHÔNGTIN BÁOCÁOBÀITẬPLỚN
MÔNHỌC:NHẬPMÔNKHOAHỌCDỮLIỆU
Chủề:Phânloạixemáyvàxeạp lOMoARcPSD| 10435767 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
II. Kết luận ......................................................................................................................... 12 lOMoARcPSD| 10435767 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
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. lOMoARcPSD| 10435767 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
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 lOMoARcPSD| 10435767
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 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: lOMoARcPSD| 10435767
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: lOMoARcPSD| 10435767
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 lOMoARcPSD| 10435767
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.
● 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. lOMoARcPSD| 10435767
● 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.
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 lOMoARcPSD| 10435767
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. lOMoARcPSD| 10435767
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) lOMoARcPSD| 10435767
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
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. lOMoAR cPSD| 10435767
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.