KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI 12 Ứng dụng kĩ thuật học máy trong nhận dạng biển báo giao thông Thành viên LỚP GIẢNG VIÊN PAGE 4 Hà Nội, 2021 Mục lục Mục lục 1 MỞ ĐẦU 2 1 Lý do chọn đề tài,ứng dụng kĩ thuật học máy trong nhận dạng biển báo giao thông
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
**********
ĐỀ TÀI 12: Ứng dụng kĩ thuật học máy trong
nhận dạng biển báo giao thông Thành viên
LỚP:
GIẢNG VIÊN:
Hà Nội, 2021
P
Trang 2tế ước tính đến cả tỷ USD So với năm trước, số vụ tai nạn giaothông năm nay giảm 7% (Số vụ tai nạn giao thông từ ít nghiêm trọngtrở lên giảm 5,6%; số vụ va chạm giao thông giảm 8,3%); số ngườichết giảm 4,7%; số người bị thương giảm 9,6% và số người bịthương nhẹ giảm 12,6% Nhìn vào con số thống kê, bình quân 1 ngày
Trang 3trong năm 2017, trên địa bàn cả nước xảy ra 55 vụ tai nạn giao thông,gồm 27 vụ tai nạn giao thông từ ít nghiêm trọng trở lên và 28 vụ vachạm giao thông, làm 23 người chết, 47 người bị thương Qua thống
kê về lượng người chết và thiệt hại về kinh tế, ta thấy sự mất mát rấtlớn và rất nhiều người đã là nạn nhân trực tiếp hoặc là hệ lụy, ảnhhưởng của tai nạn giao thông Từ tình hình thực tế giao thông tại ViệtNam, có nhiều nguyên nhân gây ra các vụ tai nạn giao thông đường
bộ, nhưng phần lớn là do tài xế không làm chủ tốc độ, thiếu quan sáthoặc không kịp nhận ra các loại biển báo và tín hiệu giao thông.Những mối nguy hiểm này đã được cảnh báo trước bởi hệ thống biểnbáo giao thông nhưng tai nạn vẫn thường xuyên xảy ra, gây không ítthiệt hại về tính mạng, tài sản của người tham gia giao thông và đặcbiệt để lại hậu quả nặng nề cho gia đình, xã hội
Công nghệ thông tin ngày nay đã phát triển rất sôi động trongrất nhiều lĩnh vực trên toàn thế giới trong đó có Việt Nam, hầu hếtcác hoạt động hàng ngày của chúng ta đều liên quan đến công nghệ
Trang 4thông tin Trong thực tế ngày nay, ứng dụng công nghệ thông tin đãđược đưa vào các lĩnh vực kinh tế, chính trị, xã hội, quân sự…, đây
là cơ hội phát triển và đồng thời cũng là thách thức to lớn đối vớiviệc phát triển xã hội nói chung Cho đến nay, vấn đề này đã đượcnhiều nghiên cứu trên thế giới quan tâm Nhưng những nghiên cứunày chưa thực sự hiệu quả đối với giao thông đường bộ tại Việt Nam.Trong khi đó, tình hình nghiên cứu biển báo giao thông tại Việt Namvẫn còn nhiều hạn chế và chưa đầy đủ
1.Mục đích nghiên cứu
Nghiên cứu, tìm hiểu các phương pháp nhận dạng, áp dụngvào nhận diện biển báo giao thông, xây dựng chương trình, cài đặtthực nghiệm chương trình phát hiện và nhận dạng biển báo giaothông đường bộ từ hình ảnh tĩnh và video thu về, sau đó hiển thịthông tin cảnh báo dưới dạng hình ảnh hoặc âm thanh
2.Đối tượng và phạm vi nghiên cứu
Hệ thống các biển báo giao thông đường bộ ở Việt Nam gồm:
- Hệ thống biển báo nguy hiểm
Trang 5Nghiên cứu lý thuyết học máy
Xây dựng bộ dữ liệu: ở bước này, tôi tiến hành thu thập
dữ liệu bằng cách quay phim, chụp ảnh hệ thống biển báo giaothông trong thực tế
Tìm hiểu phương pháp phát hiện biển báo giao thôngdựa trên trích chọn đặc trưng Haar-like kết hợp với bộ tăng tốcAdaboost
Tìm hiểu phương pháp nhận dạng biển báo giao thôngđường bộ: Luận văn có sử dụng phương pháp phân tích thànhphần chính Principal Components Analysis (PCA) để nhậndạng biển báo giao thông
Xây dựng mô hình nhận dạng sử dụng thuật toán
Cài đặt chương trình thử nghiệm
Đánh giá tỉ lệ nhận dạng
2 Bố cục của luận văn
Phần mở đầu: Nêu lên lý do chọn đề tài, đối tượng và phạm vi
nghiên cứu và phương pháp nghiên cứu của đề tài
Phần nội dung:
Chương 1: Tổng Quan Nghiên Cứu
Chương này trình bày những lý thuyết cơ bản về xử lý ảnh,tổng quát các phương pháp phổ biến trong quá trình phát hiện vànhận dạng đối tượng, học máy
Trang 6Chương 2: Mô Hình Đề Xuất Trong Nhận Dạng Biển Báo GiaoThông
Chương này trình bày về ý tưởng đề tài, phát biểu bài toánnhận dạng biển báo giao thông và trình bày nền tảng công nghệ, chitiết các thuật toán hỗ trợ trong việc phát hiện và nhận dạng biển báobao gồm: Trích chọn đặc trưng Haar-like, bộ tăng tốc Adaboost,phân tích thành phần chính PCA
Chương 3: Thực Nghiệm Và Đánh Giá Kết Quả
Chương này mô tả chương trình cài đặt , thực hiện thựcnghiệm và đánh giá kết quả Sử dụng bộ thư viện xử lý ảnh mãnguồn mở OpenCV để xây dựng chương trình Sau đó phân tích vàđánh giá kết quả nhận dạng
Phần kết luận và hướng phát triển của đề tài
Trang 7CHƯƠNG 1 TỔNG QUAN NGHIÊN CỨU
Chương này trình bày những lý thuyết cơ bản về xử lý ảnh,
tổng quát các phương pháp phổ biến trong quá trình phát hiện và
nhận dạng đối tượng, học máy.
thể hơn, học máy là một phương pháp để tạo ra các chương trình
máy tính bằng việc phân tích các tập dữ liệu
1.2.2.Các ph ươ ng pháp h c máy ọ
1.2.1.1 Học không giám sát
T hu
Tác
h các đặc tính
Nh ận dạng và giải thích
Trang 81.2.1.2 Học có giám sát 1.2.1.3 Học bán giám sát
Trang 91.2.4 Phương pháp Linear Discriminant Analysis
1.2.5 Phương pháp Naive Bayes (NB)
1.2.6 Phương pháp Principal Component Analysis (PCA)
1.3 Kết chương
Nội dung chương I được trình bày ở trên đã nêu ra những vấn
đề cơ bản tương đối chi tiết về lý thuyết Xử lý ảnh, Học máy và nêu
ưu điểm và nhược điểm cụ thể của từng phương pháp nhận dạng đối tượng đã được nghiên cứu trước đây và có thể áp dụng được, để thựchiện nghiên cứu trong đề tài này
Trang 10CHƯƠNG 2
MÔ HÌNH ĐỀ XUẤT TRONG PHÁT HIỆN VÀ NHẬN DẠNG BIỂN BÁO GIAO THÔNG
Chương này trình bày về ý tưởng đề tài và phương pháp chính
để xây dựng chương trình Trong các phương pháp phát hiện đối tượng, tôi sẽ chọn sử dụng thuật toán Viola-Jone vì thuật toán đơn giản, hiệu quả.
2.1 Mô tả bài toán
Bài toán được mô tả qua việc xây dựng mô hình (Learning),phát hiện (detecting), nhận dạng (Recognize) như sau:
+ Xây dựng mô hình: Cho một tập dữ liệu các biển báo giao
thông (có thể là hình ảnh tĩnh hoặc có thể là video) và các nhãntương ứng với các dữ liệu đó Xây dựng một mô hình nhận dạng(Các luật hoặc mô hình xác suất) sao cho việc nhận dạng các nhãncủa mẫu biển báo là chính xác nhất
+ Phát hiện: Dữ liệu đầu vào là một hình ảnh có chứa hình
ảnh biển báo giao thông Qua dữ liệu đã học, hệ thống sẽ phát hiệnvùng ảnh chứa biển báo giao thông
+ Nhận dạng: Dữ liệu đầu vào là một mẫu biển báo được phát
hiện Thông qua mô hình đã xây dựng, hệ thống sẽ trả về nhãn củabiển báo đó Trong quá trình nhận dạng, hệ thống có thể gặp một số
khó khăn do việc nhận dạng nhầm lẫn Ví dụ: Khi góc nhìn của máy
quay khác nhau dẫn đến hình ảnh cũng khác nhau hoặc biển báo bịche lấp một phần thì kết quả nhận dạng cũng có thể sai lệch Vì vậy,ngoài việc xây dựng mô hình và nhận dạng thì tiền xử lý và tríchchọn đặc tính là giai đoạn cũng rất quan trọng
Trang 11Mô hình phân loại và nhậndạng
Hình 2.1: Mô hình tổng quát
Kết quả nhận dạngHậu xử lý
Hệ thống biển báo chuẩn trong luật giao thông
đường bộ Việt Nam
Tríchchọn đặc tínhTiền xử lý ảnh
-1 Nếu đầu vào không phải là biển báo
+1 Nếu đầu vào là biển báo
Thuật toán có bốn giai đoạn:
- Do Viola và Jones công bố, gồm 4 đặc trưng cơ bản để xác định khuôn mặt người Mỗi đặc trưng Haar–like là sự kết hợp
Trang 12của hai hay ba hình chữ nhật "trắng" hay "đen" như trong hình sau:
Hình 1: 4 đặt trưng Haar-like cơ bản
Hình 2 : Tính năng Haar trông tương tự như sống mũi được
áp dụng trên khuôn mặt
Hình 3 : Tính năng Haar trông tương tự như vùng mắt tối hơn
má trên được áp dụng trên khuôn mặt
Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng Haar-like là sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng như trong công thức sau:
f(x) = Tổng vùng đen (các mức xám của pixel) - Tổng vùng trắng (các mức xám của pixel)
Trang 13Sử dụng giá trị này, so sánh với các giá trị của các giá trị pixel thô, các đặc trưng Haar-like có thể tăng/giảm sự thay đổi in-class/out-of-class (bên trong hay bên ngoài lớp khuôn mặt người), do đó sẽ làm cho bộ phân loại dễ hơn.
Viola-jones sẽ chèn đặc trưng Haar-like lên toàn bộ bức hình của bạn
- Khu vực nào giống thì nó sẽ nhận diện ở đó là mặt của bạn Cho nên có rất nhiều khu vực trong hình nó sẽ nhận là mặt của bạn Sau đó nó sẽ dùng các ảnh ko giống để loại trừ các vùng này Cho nên trong quá trình training một bộ nhận dạng của Adaboost, số lượng ảnh sai luôn phải tuơng đối nhiều để nó loại trừ.
2 Tạo hình ảnh tích hợp
- Như vậy ta có thể thấy rằng, để tính các giá trị của đặc trưng Haar-like, ta phải tính tổng của các vùng pixel trên ảnh Nhưng để tính toán các giá trị của các đặc trưng Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chi phí tính toán khá lớn, không đáp ứng được cho các ứng dụng đòi hỏi tính run-time Do đó Viola và Jones đưa ra một khái niệm gọi là Integral Image, là một mảng 2 chiều với kích thước bằng với kích của ảnh cần tính các đặc trưng Haar-like, với mỗi phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía trên (dòng- 1) và bên trái (cột-1) của nó Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải của ảnh, việc tính toán này đơn thuần chỉ đựa trên phép cộng
số nguyên đơn giản, do đó tốc độ thực hiện rất nhanh.
Trang 14Hình 1: Cách tính Integral Image của ảnh
3 Đào tạo Adaboost
- AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm 1995 Adaboost cũng hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifiers để hình thành một strong classifier
- Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụngcác đặc trưng Haar-like theo mô hình phân tầng (cascade) như sau:
Trang 15Hình 1: : Mô hình phân tần kết hợp các bộ phân loại yếu để xác định khôn mặt
4 Bộ phân loại xếp tầng
- Từ ảnh gốc ban đầu, ta sẽ được tính Integral Image, là mảng 2 chiềuvới phần tử (x, y) sẽ được tính bằng tổng của các phần tử (x', y') với x' < x và y' < y, mục đích là để tính nhanh tổng của các giá trị mức xám của một vùng hình chữ nhật bất kỳ trên ảnh gốc Các vùng ảnh con này sẽ được đưa qua cáchàm Haar cơ bản để ước lượng đặc trưng, kết quả ước lượng sẽ được đưa qua
bộ điều chỉnh AdaBoost để loại bỏ nhanh các đặc trưng không có khả năng là đặc trưng của khuôn mặt người Chỉ có một tập nhỏ các đặc trưng mà bộ điều chỉnh AdaBoost cho là có khả năng là đặc trưng của khuôn mặt người mới được chuyển sang cho bộ quyết định kết quả (là tập các bộ phân loại yếu có cấu trúc như trong hình 5) Bộ quyết định sẽ tổng hợp kết quả là khuôn mặt người nếu kết quả của các bộ phân loại yếu trả về là khuôn mặt người
2.3.1.3.Thuật toán Adaboost
2.3.1.4.Cascade
Trang 162.3.2. Mô t thu t toán nh n di n bi n báo ả ậ ậ ệ ể
Ý tưởng chính của thuật toán nhận dạng biển báo như sau: Chúng ta xem xét hình biển báo như là một điểm trong hệ không
Trang 17gian Hình ảnh của cùng một biển báo sẽ được đặt gần nhau trongkhông gian Giả sử, chúng ta có một bộ ảnh của hai biển báo khácnhau và đại diện cho những bộ hình ảnh này trong không gian (Mỗibức ảnh được coi là một điểm).
Hình 2.22: Xem biển báo là một điểm trong không gian
Nếu có một hình đối tượng mới, chúng ta chỉ cần tính toánkhoảng cách của nó với các điểm có sẵn và chọn điểm điểm gầnnhất
Hình 2.23: Khoảng cách giữa các điểm
Bởi vì tất cả các hình ảnh là hình ảnh biển báo sẽ có kíchthước không gian tương tự nhau Việc tính toán khoảng cách với cáckích thước này sẽ gây ra lỗi và dẫn đến các kết quả không chính xác
Vì vậy chúng ta cần một phương pháp để loại bỏ các không giankhông cần thiết
Trang 182.3.3. Principal component analysis (PCA)
2.3.4 Khoảng cách mahalanobis
2.3.5 Chuyển đổi không gian vector
2.3.6 Các bước giảm chiều dữ liệu
2.3.7 Tiến trình nhận dạng biển báo
2.4 Kết chương
Nội dung chương 2 đã trình bày về ý tưởng đề tài, phát biểubài toán nhận dạng biển báo giao thông và trình bày nền tảng côngnghệ, chi tiết các thuật toán hỗ trợ trong việc phát hiện và nhận dạngbiển báo bao gồm: Trích chọn đặc trưng Haar-like, bộ tăng tốcAdaboost, phân tích thành phần chính PCA, các tiến trình huấn luyệnphát hiện và nhận dạng để áp dụng vào xây dựng chương trình nhậndạng biển báo giao thông
Trang 19CHƯƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Chương này mô tả chương trình cài đặt , thực hiện thực nghiệm và đánh giá kết quả.
Bộ ảnh huấn luyện phát hiện biển báo gồm: 5314 ảnhnhóm biển báo nguy hiểm, 4558 ảnh nhóm biển báo cấm với nhiềuloại biển báo
Bộ ảnh huấn luyện nhận dạng biển báo gồm: với mỗi loạibiển báo cần nhận dạng có số lượng tối thiểu là 10 ảnh được lưuvào từng thư mục riêng và được đặt theo tên của từng loại biển báo
Bộ ảnh mẫu là ảnh biển biển báo giao thông chuẩn của Bộ Giaothông vận tải được lưu với định dạng png và kích thước 24x24 trongthư mục Data\signs
3.2 Thu thập dữ liệu
Biển báo giao thông ở Việt Nam được chia thành 5 nhóm:Nhóm biển chỉ dẫn, nhóm biển hiệu lệnh, nhóm biển báo cấm, nhómbiển báo nguy hiểm, nhóm biển phụ
Trong ứng dụng Demo chỉ giới hạn thực hiện phát hiện vànhận dạng nhóm biển báo hiệu lệnh và nhóm biển báo cấm
Trang 21KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Sau một thời gian ngắn nghiên cứu về xử lý ảnh, học máy vàtìm hiểu được một số cơ sở lý thuyết có thể áp dụng được vào nhậndạng biển báo giao thông đường bộ Việt Nam Tuy nhiên đây là một
đề tài khó, hiện tại trong nước cũng chưa có công trình nghiên cứunào khẳng định được sự vượt trội hiệu quả, trong thời gian thực hiệnngắn nên đề tài dừng lại ở mức độ nghiên cứu, còn nhiều vấn đề cầngiải quyết
2 Hướng phát triển
- Cải tiến chất lượng bộ huấn luyện phát hiện ảnh biển báo
- Mở rộng cơ sở dữ liệu biển báo giao thông
- Mở rộng nhận dạng nhóm biển báo nghiên cứu
- Nâng cấp và hoàn thiện khả năng của hệ thống trở thành một hệthống nhận dạng và đưa ra cảnh báo tức thời cho người tham gia giaothông trong một chương trình hoàn chỉnh