Vì vậy, Trong luận văn tốt nghiệp, tôi chọn đề tài “Áp dụng học máy trong nhận dạng biển báo giao thông” để nghiên cứu với mục đích tìm hiểu được nền tảng công nghệ, các lý thuyết cơ bả
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÙI THANH PHONG
ÁP DỤNG HỌC MÁY TRONG NHẬN DẠNG BIỂN BÁO GIAO THÔNG
Chuyên ngành : Khoa học máy tính
LUẬN VĂN THẠC SĨ KHOA HỌC
Người hướng dẫn khoa học: TS PHẠM MINH TUẤN
Đà Nẵng - Năm 2018
Trang 2LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy, cô trong khoa Công nghệ thông tin cũng như các thầy cô giảng dạy trong trường Đại học Đà Nẵng đã truyền đạt những kiến thức quý báu cho tôi trong những năm nghiên cứu và học tập tại trường
Đặc biệt, tôi xin chân thành cảm ơn thầy Phạm Minh Tuấn, khoa Công nghệ thông tin, trường Đại học Bách khoa đã tận tình hướng dẫn, động viên và giúp đỡ tôi trong suốt thời gian nghiên cứu và thực hiện đề tài Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình nghiên cứu, học tập cũng như quá trình thực hiện đề tài tốt nghiệp này
Một lần nữa xin chân thành cám ơn!
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây đúng là công trình nghiên cứu của tôi
- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của TS Phạm Minh Tuấn
- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
Tác giả
Bùi Thanh Phong
Trang 4MỤC LỤC LỜI CAM ĐOAN
MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
TÓM TẮT LUẬN VĂN
MỞ ĐẦU 1
1.Lý do chọn đề tài 1
2.Mục tiêu nghiên cứu 2
3.Đối tượng và phạm vi nghiên cứu 2
4.Phương pháp nghiên cứu 2
5.Ý nghĩa khoa học và thực tiễn 2
6 Bố cục của Luận văn 3
CHƯƠNG 1 TỔNG QUAN NGHIÊN CỨU 4
1.1.Tổng quan về xử lý ảnh 4
1.1.1 Tổng quan về xử lý ảnh 4
1.1.2 Các quá trình xử lý ảnh 5
1.1.3 Ảnh và biểu diễn ảnh 6
1.1.4 Phạm vi ứng dụng của xử lý ảnh 8
1.2.Học máy 9
1.2.1 Tổng quan học máy 9
1.2.2 Các phương pháp học máy 9
1.2.2.1 Học không giám sát 9
1.2.2.2 Học có giám sát 9
1.2.2.3 Học bán giám sát 10
1.2.2.4 Học tăng cường 10
1.2.2.5 Các ứng dụng của học máy 11
1.3.Các phương pháp nhận dạng đối tượng 11
1.3.1 Phương pháp Neural Networks (NN) 11
1.3.2 Phương pháp Support Vector Machine (SVM) 12
1.3.3 Phương pháp Linear Discriminant Analysis 12
1.3.4 Phương pháp Naive Bayes (NB) 12
Trang 51.3.5 Phương pháp Principal Component Analysis (PCA) 12
1.4 Kết chương 13
CHƯƠNG 2 MÔ HÌNH ĐỀ XUẤT TRONG PHÁT HIỆN VÀ NHẬN DẠNG BIỂN BÁO GIAO THÔNG 14
2.1.Mô tả bài toán 14
2.2.Mô hình tổng quát 14
2.3.Phương pháp đề xuất 15
2.3.1 Mô hình phát hiện Biển Báo Giao Thông 15
2.3.1.1 Mô hình phát hiện 15
2.3.1.2 Đặc trưng Haar-like 16
2.3.1.3 Integral Image 17
2.3.1.4 Thuật toán Adaboost 18
2.3.1.5 Cascade 23
2.3.2 Mô tả thuật toán nhận diện biển báo 28
2.3.3 Principal component analysis (PCA) 29
2.3.4 Khoảng cách mahalanobis 31
2.3.5 Chuyển đổi không gian vector 31
2.3.6 Các bước giảm chiều dữ liệu: 32
2.3.7 Tiến trình nhận dạng biển báo 35
2.4 Kết chương 35
CHƯƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 36
3.1.Tổ chức dữ liệu 36
3.2.Thu thập dữ liệu 36
3.3.Cài đặt và thực nghiệm chương trình 36
3.3.1 Dữ liệu đầu vào 36
3.3.2 Xử lý dữ liệu 36
3.3.2.1 Cấu trúc chương trình 37
3.3.2.2 Huấn luyện 37
3.3.2.3 Phát hiện biển báo 37
3.3.2.4 Nhận dạng biển báo 38
3.3.3 Giao diện chương trình 40
3.4.Một số hình ảnh thực hiện trên chương trình Demo 43
3.4.1 Phát hiện biển báo 43
3.4.2 Huấn luyện và kiểm tra 46
3.5.Đánh giá kết quả 50
Trang 63.5.1 Về lý thuyết 50
3.5.2 Về Cài đặt 51
3.5.3 Về thực nghiệm 51
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52
TÀI LIỆU THAM KHẢO 53 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)
Trang 7ra phương pháp tối ưu nhất để xây dựng thuật toán phát hiện và nhận dạng biển báo giao thông Chương trình có đầu vào là một file ảnh hoặc video và đầu ra là biển báo
có trong dữ liệu đầu vào Chương trình áp dụng thuật toán Viola-Jones để phát hiện
biển báo trong ảnh Sau đó sử dụng kỹ thuật phân tích thành phần chính (PCA) để xác định biển báo trong ảnh Báo cáo sẽ tập trung vào việc trình bày các thuật toán Viola-
Jones và kỹ thuật PCA
Từ khóa: biển báo giao thông, Viola-Jones, PCA
Abstract:
Traffic signs are a part of road signaling works, however, the detection and identification of traffic signs are difficult due to many other safety issues in driving The purpose of this research is to research and find the best method to build traffic detection and identification algorithm The program has an input image or video file and the output is the signage contained in the input data The program uses the Viola-Jones algorithm to detect signage in photos Then use the component analysis technique to identify the sign in the image The report will focus on presenting Viola-Jones algorithms and PCA techniques
Keyword: traffic signs, Viola-Jones, PCA
Trang 8PCA Principal Components Analysis
SVM pháp Support Vector Machine
TSVM Transductive Support Vector Machine
Trang 9DANH MỤC CÁC HÌNH VẼ
Số hiệu
hình
1.3: Quan hệ trong vùng lân cận giữa các điểm ảnh 8
2.4: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở 16
2.12: Chọn p = 1 và tăng trọng số của mẫu phân loại sai 23
2.16: Biểu đồ thống kê số phân loại yếu trong mỗi phân loại mạnh của
biển báo nguy hiểm
2.24: Chuyển vector x ban đầu có N chiều thành vector y còn K chiều 29
Trang 102.26: Vector riêng có giá trị riêng lớn nhất 32
3.9: Giao diện chương trình trong chức năng Recognize 42 3.10: Giao diện chương trình trong chức năng Camera 42 3.11: Phát hiện biển báo cấm trong hình ảnh chuẩn 43 3.12: Phát hiện biển báo nguy hiểm trong hình ảnh chuẩn 43 3.13: Phát hiện biển báo giao nhau và có vùng bị phát hiện sai 44 3.14: Phát hiện biển báo giới hạn tốc độ 40 Km/h 45 3.15: Phát hiện đúng 2 biển báo giới hạn tốc độc và biển báo đường hẹp
bên
45
3.16: Phát hiện sai và nhiều vùng bị nhận là biển báo 46
3.18: Kiểm tra và nhận dạng biển báo Cấm ô tô và xe máy 47
3.21: Huấn luyện biển báo tín hiệu đèn giao thông 48 3.22: Kiểm tra và nhận dạng biển báo tín hiệu đèn giao thông 49
3.24: Kiểm tra biển báo vòng xoay phía trước nhưng bị cho kết quả sai 50
Trang 11vụ tai nạn giao thông từ ít nghiêm trọng trở lên giảm 5,6%; số vụ va chạm giao thông giảm 8,3%); số người chế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 trong 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ụ va chạ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ất lớn và rất nhiều người đã là nạn nhân trực tiếp hoặc là hệ lụy, ảnh hưởng của tai nạn giao thông Từ tình hình thực tế giao thông tại Việt Nam, 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át hoặ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ển báo giao thông nhưng tai nạn vẫn thường xuyên xảy ra, gây không ít thiệt hại về tính mạng, tài sản của người tham gia giao thông và đặc biệ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 trong rất nhiều lĩnh vực trên toàn thế giới trong đó có Việt Nam, hầu hết các hoạt động hàng ngày của chúng ta đều liên quan đến công nghệ thô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ới việc phát triển xã hội nói chung Cho đến nay, vấn đề này đã được nhiều nghiên cứu trên thế giới quan tâm Nhưng những nghiên cứu nà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 Nam vẫn còn nhiều hạn chế và chưa đầy đủ
Vì vậy, Trong luận văn tốt nghiệp, tôi chọn đề tài “Áp dụng học máy trong nhận dạng biển báo giao thông” để nghiên cứu với mục đích tìm hiểu được nền tảng công
nghệ, các lý thuyết cơ bản trong bài toán xử lý ảnh, học máy và áp dụng vào việc nhận dạng biển báo giao thông nhằm xây dựng chương trình nhắc nhở tài xế
Trang 122 Mục tiêu nghiên cứu
Nghiên cứu, tìm hiểu các phương pháp nhận dạng, áp dụng vào nhận diện biển báo giao thông, xây dựng chương trình, cài đặt thực nghiệm chương trình phát hiện và nhận dạng biển báo giao thô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
3 Đố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
- 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ành phần chính Principal Components Analysis (PCA) để nhận dạ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
5 Ý nghĩa khoa học và thực tiễn
Với đề tài “Áp dụng học máy trong nhận dạng biển báo giao thông”, mục tiêu là
xây dựng một chương trình hỗ trợ lái xe hiệu quả và áp dụng trong thực tế, đầu vào là
Trang 13hình ảnh giao thông phía trước, đầu ra của hệ thống là thông tin cảnh báo cho tài xế về
hệ thống biển báo ở phía trước giúp tài xế tập trung và lái xe an toàn hơn
Khi đề tài được hoàn thành, sẽ là nền tảng để xây dựng phần mềm hỗ trợ đáp ứng được nhu cầu thực tế cho tài xế trong việc tham gia giao thông Hơn nữa, đề tài này có thể là một giải pháp tình thế cho lĩnh vực giao thông ở Việt Nam trước khi đi lên xây dựng một hệ thống tổng thể thống nhất, toàn diện
6 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
Chương 2: Mô Hình Đề Xuất Trong Nhận Dạng Biển Báo Giao Thông
Chương này trình bày về ý tưởng đề tài, phát biểu bài toán nhận dạng biển báo giao thông và trình bày nền tảng công nghệ, chi tiết các thuật toán hỗ trợ trong việc phát hiện và nhận dạng biển báo bao 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ực nghiệm và đánh giá kết quả Sử dụng ngôn ngữ Java, và 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 14CHƯƠ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
1.1 Tổng quan về xử lý ảnh
1.1.1 Tổng quan về xử lý ảnh
Hình 1.1: Các bước cơ bản trong quá trình xử lí ảnh
Xử lý ảnh (XLA) [1] là đối tượng nghiên cứu của lĩnh vực thị giác máy, 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 nhiều 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 đồ hoạ, 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ố bao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên
Mục đích của xử lý ảnh gồm:
+ Biến đổi ảnh làm tăng chất lượng ảnh
+ Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của ảnh
+ Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành những phần có ý nghĩa để phân biệt đối tượng này với đối tượng khác, dựa vào
đó ta có thể mô tả cấu trúc của hình ảnh ban đầu Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng ảnh của các đối tượng trên ảnh, tách cạnh,
Trang 15phân đoạn hình ảnh,…Kỹ thuật này được dùng nhiều trong y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ trong văn bản
Tiền xử lý: Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử
bóng, khử độ lệch,v.v… với mục đích làm cho chất lượng ảnh trở lên tốt hơn nữa, chuẩn bị cho các bước xử lý phức tạp hơn về sau trong quá trình XLA Quá trình này thường được thực hiện bởi các bộ lọc
Phân đoạn ảnh: phân đoạn ảnh là bước then chốt trong XLA Giai đoạn này phân
tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các vùng liên thông Tiêu chuẩn để xác định các vùng liên thông có thể là cùng màu, cùng mức xám v.v… Mục đích của phân đoạn ảnh là để có một miêu tả tổng hợp về nhiều phần
tử khác nhau cấu tạo lên ảnh thô Vì lượng thông tin chứa trong ảnh rất lớn, trong khi
đa số các ứng dụng chúng ta chỉ cần trích một vài đặc trưng nào đó, do vậy cần có một quá trình để giảm lượng thông tin khổng lồ đó Quá trình này bao gồm phân vùng ảnh
và trích chọn đặc tính chủ yếu
Tách các đặc tính: Kết quả của bước phân đoạn ảnh thường được cho dưới dạng
dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh, hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là rất cần thiết Để chuyển đổi chúng, câu hỏi đầu tiên cần phải trả lời là nên biểu diễn một vùng ảnh dưới dạng biên hay dưới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó Biểu diễn dạng biên cho một vùng phù hợp với những ứng dụng chỉ quan
Thu
nhận
ảnh
Nhận dạng
và giải thích
Tách các đặc tính
Tiền
xử lý
Phân đoạn ảnh
Trang 16tâm chủ yếu đến các đặc trưng hình dạng bên ngoài của đối tượng, ví dụ như các góc cạnh và điểm uốn trên biên chẳng hạn Biểu diễn dạng vùng lại thích hợp cho những ứng dụng khai thác các tính chất bên trong của đối tượng, ví dụ như vân ảnh hoặc cấu trúc xương của nó Sự chọn lựa cách biểu diễn thích hợp cho một vùng ảnh chỉ mới là một phần trong việc chuyển đổi dữ liệu ảnh thô sang một dạng thích hợp hơn cho các
xử lý về sau Chúng ta còn phải đưa ra một phương pháp mô tả dữ liệu đã được chuyển đổi đó sao cho những tính chất cần quan tâm đến sẽ được làm nổi bật lên, thuận tiện cho việc xử lý chúng
Nhận dạng và giải thích: Đây là bước cuối cùng trong quá trình XLA Nhận dạng
ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh Ví dụ đối với nhận dạng chữ viết, các đối tượng trong ảnh cần nhận dạng là các mẫu chữ, ta cần tách riêng các mẫu chữ đó ra và tìm cách gán đúng các ký tự của bảng chữ cái tương ứng cho các mẫu chữ thu được trong ảnh Giải thích là công đoạn gán nghĩa cho một tập các đối tượng đã được nhận biết
Không phải bất kỳ một ứng dụng XLA nào cũng bắt buộc phải tuân theo tất cả các bước xử lý đã nêu ở trên, tùy theo mục đích sử dụng dữ liệu của từng ứng dụng
XLA Ví dụ như các ứng dụng chỉnh sửa ảnh nghệ thuật chỉ dừng lại ở bước tiền xử lý
Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động, được dùng
để rút trích ra những thông tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng
ký tự quang học, nhận dạng chữ viết tay v.v…
1.1.3 Ảnh và biểu diễn ảnh
Ảnh trong thực tế là một ảnh liên tục cả về không gian và giá trị độ sáng Để có thể xử lý ảnh bằng máy tính thì cần thiết phải tiến hành số hóa ảnh Quá trình số hóa biến đổi các tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng tử hóa các thành phần giá trị mà về nguyên tắc bằng mắt thường không thể phân biệt được hai điểm liền kề nhau Các điểm như vậy được gọi là các pixel (Picture Element) hay các phần tử ảnh hoặc điểm ảnh Ở đây cần phân biệt khái niệm pixel hay đề cập đến trong các hệ thống đồ họa máy tính Để tránh nhầm lẫn
ta gọi khái niệm pixel này là pixel thiết bị Khái niệm pixel thiết bị có thể xem xét như sau: khi ta quan sát màn hình (trong chế độ đồ họa), màn hình không liên tục mà gồm
các điểm nhỏ, gọi là pixel Mỗi pixel gồm một tập tọa độ (x, y) và màu
Như vậy mỗi ảnh là tập hợp các điểm ảnh Khi được số hóa nó thường được biểu
diễn bởi mảng 2 chiều I(n,p): n là dòng và p là cột Về mặt toán học có thể xem ảnh là một hàm hai biến f(x,y) với x, y là các biến tọa độ Giá trị số ở điểm (x,y) tương ứng
Trang 17với giá trị xám hoặc độ sáng của ảnh (x là các cột còn y là các hàng) Giá trị của hàm ảnh f(x,y) được hạn chế trong phạm vi của các số nguyên dương
0 ≤ f(x,y) ≤ fmax
Với ảnh đen trắng mức xám của ảnh có thể được biểu diễn bởi một số như sau:
Trong đó SBW ( λ) là đặc tính phổ của cảm biến được sử dụng và k là hệ số tỷ lệ
xích Vì sự cảm nhận độ sáng có tầm quan trọng hàng đầu đối với ảnh đen trắng nên
S BW ( λ) được chọn giống như là hiệu suất sáng tương đối Vì f biểu diễn công suất trên
đơn vị diện tích, nên nó bao giờ cũng không âm và hữu hạn
0≤ f ≤ fmax Trong đó fmax là giá trị lớn nhất mà f đạt được Trong xử lý ảnh, f được chia
thang sao cho nó nằm trong một phạm vi thuận lợi nào đó Thông thường đối với ảnh xám, giá trị fmax là 255 (28=256) bởi vì mỗi phần tử ảnh được mã hóa bởi một byte Khi quan tâm đến ảnh màu ta có thể mô tả màu qua ba
hàm số: thành phần màu đỏ qua R(x,y), thành phần màu lục qua G(x,y) và thành phần màu lam qua B(x,y) Bộ ba giá trị R, G, và B nhận được từ:
Ở đó SR (λ), S G (λ) và S B (λ) theo thứ tự là những đặc tính phổ của các cảm biến (bộ
lọc) đỏ, lục và lam R, G, B cũng không âm và hữu hạn
Ảnh có thể được biểu diễn theo một trong hai mô hình: mô hình Vector hoặc mô hình Raster
Mô hình Vector: Ngoài mục đích tiết kiệm không gian lưu trữ, dễ dàng hiển thị
và in ấn, các ảnh biểu diễn theo mô hình vector còn có ưu điểm cho phép dễ dàng lựa chọn, sao chép, di chuyển, tìm kiếm…Theo những yêu cầu này thì kỹ thuật biểu diễn vector tỏ ra ưu việt hơn Trong mô hình này, người ta sử dụng hướng vector của các điểm ảnh lân cận để mã hóa và tái tạo lại hình ảnh ban đầu Các ảnh vector được thu
Trang 18nhận trực tiếp từ các thiết bị số hóa như Digitalize hoặc được chuyển đổi từ các ảnh Raster thông qua các chương trình vector hóa
Mô hình Raster: là mô hình biểu diễn ảnh thông dụng nhất hiện nay Ảnh được biểu diễn dưới dạng ma trận các điểm ảnh Tùy theo nhu cầu thực tế mà mỗi điểm ảnh
có thể được biểu diễn bởi một hay nhiều bit Mô hình Raster thuận lợi cho việc thu nhận, hiển thị và in ấn Các ảnh được sử dụng trong phạm vi của đề tài này cũng là các ảnh được biểu diễn theo mô hình Raster
Khi xử lý các ảnh Raster chúng ta có thể quan tâm đến mối quan hệ trong vùng lân cận của các điểm ảnh Các điểm ảnh có thể xếp hàng trên một lưới (raster) hình vuông, lưới hình lục giác hoặc theo một cách hoàn toàn ngẫu nhiên với nhau
Cách sắp xếp theo hình vuông là được quan tâm đến nhiều nhất và có hai loại: điểm 4 láng giềng (4 liền kề) hoặc 8 láng giềng (8 liền kề) Với điểm 4 láng giềng, một điểm
ảnh I(i, j) sẽ có điểm kế cận theo 2 hướng i và j; trong khi đó với điểm 8 láng giềng, điểm ảnh I(i, j) sẽ có 4 điểm kế cận theo 2 hướng i, j và 4 điểm kế cận theo hướng
kê, các câu hỏi trắc nghiệm Để thực hiện các công việc trên một cách chính xác, nhanh chóng và hiệu quả Xử lý ảnh và nhận dạng đã nghiên cứu và phát triển mạnh
mẽ bài toán nhập liệu tự động
Trang 191.2 Học máy
1.2.1 Tổng quan học máy
Học máy [6] là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể “học” Cụ 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
Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán Nhiều bài toán suy luận được xếp vào loại bài toán khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được
Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô-bốt
1.2.2 Các phương pháp học máy
1.2.2.1 Học không giám sát
Học không giám sát (Unsupervised Learning) là một phương pháp nhằm tìm ra một mô hình mà phù hợp với các tập dữ liệu quan sát Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, đầu vào là một tập dữ liệu được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó
Học không giám sát có thể được dùng kết hợp với suy diễn Bayes (Bayesian inference) để cho ra xác suất có điều kiện cho bất kì biến ngẫu nhiên nào khi biết trước các biến khác
Học không giám sát cũng hữu ích cho việc nén dữ liệu: về cơ bản, mọi giải thuật nén dữ liệu hoặc là dựa vào một phân bố xác suất trên một tập đầu vào một cách tường minh hay không tường minh
Có rất nhiều thuật toán học không giám sát được ra đời và phát triển nhằm giải quyết bài toán phân cụm phục vụ khai thác hiệu quả nguồn dữ liệu chưa gán nhãn nhiều và rất đa dạng Việc lựa chọn sử dụng thuật toán nào tuỳ thuộc vào dữ liệu và mục đích của từng bài toán
1.2.2.2 Học có giám sát
Học có giám sát (Supervised Learning) là một kĩ thuật của ngành học máy để xây dựng một hàm từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào, và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị
Trang 20liên tục, hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào Nhiệm
vụ của chương trình học có giám sát là dự đoán giá trị của các cặp đầu vào và đầu ra tương ứng Chương trình học tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách hợp lý Một số thuật toán thường được lựa chọn khi xây dựng bộ phân lớp gồm có: mạng nơron (Neural Network – Nnet), Vector trọng tâm (Centroid–base vector), tuyến tính bình phương nhỏ nhất (Linear Least Square Fit – LLSF), máy vector hỗ trợ (Support Vector Machine – SVM), hạt nhân phân tích biệt thức, K láng giềng gần nhất (K Nearest Neighbours – KNN), tiếp cận xác suất thống kê (Naive Bayes – NB), cây quyết định (Decision Tree – DT)
1.2.2.3 Học bán giám sát
Học bán giám sát là một lớp của kỹ thuật học máy, sử dụng cả dữ liệu đã gán nhãn và chưa gán nhãn để huấn luyện – điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng với lượng lớn dữ liệu chưa gán nhãn Có thể xem học bán giám sát là trung gian đứng giữa học không giám sát và có giám sát Xét qua nhiều nghiên cứu, ta có thể nhận thấy dữ liệu không gán nhãn, khi được sử dụng kết hợp với một chút dữ liệu có gán nhãn, có thể cải thiện đáng kể độ chính xác
Để gán nhãn dữ liệu cho một bài toán học máy thường đòi hỏi một chuyên viên
có kĩ năng để phân loại bằng tay các ví dụ huấn luyện Chi phí cho quy trình này khiến tập dữ liệu được gán nhãn hoàn toàn trở nên không khả thi, trong khi dữ liệu không gán nhãn thường tương đối rẻ tiền Trong tình huống đó, học bán giám sát có giá trị thực tiễn lớn lao Một số thuật toán thường được sử dụng gồm có: thuật toán Cực đại
kỳ vọng (EM – Expectation Maximization), SVM truyền dẫn (TSVM – Transductive Support Vector Machine), Self-training, Co-training và các phương pháp dựa trên đồ thị (graphbased) Việc lựa chọn thuật toán nào dựa trên một số định hướng: nếu các lớp dữ liệu có tính phân cụm cao thì nên dùng EM với mô hình hỗn hợp sinh; nếu đã
sử dụng SVM thì mở rộng thành TSVM; khi khó nâng cấp mô hình học có giám sát đã
có, thì nên dùng self-training; nếu các đặc trưng của dữ liệu phân chia tự nhiên thành hai phần riêng rẽ thì nên dùng Co-training; còn nếu hai mẫu dữ liệu có đặc trưng tương
tự nhau hướng tới một lớp thì sử dụng phương pháp dựa trên đồ thị
1.2.2.4 Học tăng cường
Học tăng cường [9] là phương pháp máy tính đưa ra quyết định hành động (action) và nhận kết quả phản hồi (response/reward) từ môi trường (environment) Sau
đó máy tính tìm cách chỉnh sửa cách ra quyết định hành động của mình
Các thuật toán học tăng cường được chia thành hai loại chính đó là: học dựa trên
mô hình (model based) và học không có mô hình (model free) Đại điện cho kiểu học
Trang 21dựa trên mô hình phải kể đến phương pháp quy hoạch động (Dynamic Programming DP), đại diện cho kiểu học không có mô hình là phương pháp Monte Carlo và phương pháp TD (Temporal Difference)
- Tìm kiếm (Search Engine)
- Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán
tự động
- Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein
- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
- Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tín dụng…
- Phân tích thị trường chứng khoán (stock market analysis)
- Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo
- Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên
hệ thần kinh/bộ não của người máy
1.3 Các phương pháp nhận dạng đối tượng
1.3.1 Phương pháp Neural Networks (NN)
Mạng noron nhân tạo (Artifical Neural Networks) mô phỏng lại mạng noron sinh học là một cấu trúc khối gồm các đơn vị tính toán đơn giản được liên kết chặt chẽ với nhau trong đó các liên kết giữa các noron quyết định chức năng của mạng
Về cơ bản mạng Neural là một mạng các phần tử (gọi là neural) kết nối với nhau thông qua các liên kết (các liên kết này được gọi là trọng số liên kết) để thực hiện một công việc cụ thể nào đó
Khả năng xử lý của mạng neural được hình thành thông qua quá trình hiệu chỉnh trọng số liên kết giữa các neural, nói cách khác là học từ tập hợp các mẫu huấn luyện
Ưu điểm: Dễ cài đặt cùng với khả năng học và tổng quát hoá rất cao, tốc độ xử lý
nhanh, linh hoạt và dễ bảo trì
Nhược điểm: Tính chậm và xác suất không cao không có quy tắc tổng quát để
xác định cấu trúc mạng và các tham số học tối ưu cho một (lớp) bài toán nhất định,
Trang 22tiêu chuẩn thu thập cơ sở dữ liệu huấn luyện còn khắt khe, đòi hỏi thời gian xử lý cao với mạng một mạng Neural lớn
1.3.2 Phương pháp Support Vector Machine (SVM)
Cho trước một tập huấn luyện, các ảnh được biểu diễn dưới dạng vector Trong không gian vector, mỗi vertor được biểu diễn bởi một điểm Phương pháp SVM sẽ tìm một siêu phẳng quyết định để phân chia không gian vector thành hai lớp Chất lượng của siêu phẳng này phụ thuộc vào khoảng cách giữa các vector, tức là phụ thuộc vào các đặc trưng của ảnh
Ưu điểm: Cho kết quả nhận dạng với độ chính xác cao, bài toán huấn luyện
SVM thực chất là bài toán trên một tập lồi, do đó SVM luôn có nghiệm toàn cục và duy nhất, đây chính là điểm khác biệt rõ nhất giữa SVM so với phương pháp mạng Neural, vì mạng Neural vốn tồn tại nhiều điểm cực trị địa phương
Nhược điểm: Hạn chế lớn nhất của SVM là tốc độ phân lớp rất chậm, tùy thuộc
vào số lượng các véc tơ hỗ trợ, giai đoạn huấn luyện SVM đòi hỏi bộ nhớ rất lớn, do đó các bài toán huấn luyện với số lượng mẫu lớn sẽ gặp trở ngại trong vấn đề lưu trữ Hiệu quả phân lớp của SVM phụ thuộc vào hai yếu tố: giải bài toán và lựa chọn hàm nhân
1.3.3 Phương pháp Linear Discriminant Analysis
Mục đích của LDA – Linear Discriminant Analysis là tìm cách phân loại các đối tượng (người, sự vật,…) vào một trong hai hay nhiều lớp đã được xác định trước dựa vào các đặt trưng (feature) dùng để mô tả đối tượng (ví dụ như các đặc trưng dùng để
mô tả đối tượng khách hàng là giới tính, tuổi, nghề nghiệp, thu nhập,…)
Ưu điểm: Dễ dàng hơn để đào tạo, phương sai thấp, hiệu quả hơn nếu mô hình là
chính xác, LDA làm việc tốt khi số mẫu là lớn
Nhược điểm: LDA gặp phải vấn đề khi tổng số mẫu huấn luyện ít hơn so với
kích thước của không gian đặc trưng
1.3.4 Phương pháp Naive Bayes (NB)
Ý tưởng cơ bản của cách tiếp cận NB là sử dụng xác suất có điều kiện
Ưu điểm: Cho độ chính xác cao khi kết hợp với các phương pháp khác
Nhược điểm: Chi phí thời gian để đếm mẫu, phải kết hợp với các phương pháp khác
1.3.5 Phương pháp Principal Component Analysis (PCA)
Principal Component Analysis [5] là một thuật toán được sử dụng để tạo ra một
ảnh mới từ ảnh ban đầu Ảnh mới này có kích thước nhỏ hơn nhiều so với ảnh ban đầu nhưng vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng
Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới (với số chiều nhỏ hơn không gian cũ) Các trục tọa độ trong không gian mới được xây dựng
Trang 23sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể
Ưu điểm: Tìm được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà
không cần phải xác định các thành phần và mối quan hệ giữa các thành phần đó, thuật toán có thể thức hiện tốt với các ảnh có độ phân giải cao, do PCA sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn, PCA có thể kết hợp với các phương pháp khác để mang lại hiệu quả nhận dạng cao hơn
Nhược điểm: PCA chỉ làm việc với dữ liệu numeric, PCA rất nhạy với nhiễu,
Không phù hợp với các mô hình phi tuyến do PCA hoàn toàn dựa trên các biến đổi tuyến tính, cài đặt thuật toán phức tạp
1.4 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ực hiện nghiên cứu trong đề tài này
Trang 242.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ãn tươ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ãn củ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ện vù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ủa biể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ích chọn đặc tính là giai đoạn cũng rất quan trọng
2.2 Mô hình tổng quát
Hình 2.1: Mô hình tổng quát
Mô hình phân loại
và nhận dạng
Thu thập dữ liệu thực tế
Hệ thống biển báo chuẩn
trong luật giao thông đường
bộ Việt Nam
Tiền xử
lý ảnh
Trích chọn đặc tính
Kết quả nhận dạng Hậu xử lý
Trang 25- Thu thập tập dữ liệu thực tế: Tập dữ liệu này sử dụng với mục đích để xây
dựng mô hình phân loại
- Hệ thống biển báo chuẩn trong luật giao thông đường bộ Việt Nam: Dữ liệu
chưa được dán nhãn
- Tiền xử lý: Áp dụng các phương pháp xử lý ảnh để phục vụ xử lý: các xử lý
biên, xử lý điểm ảnh…
- Trích chọn đặc tính: Trích chọn những đặc tính của dữ liệu sao cho khi sử
dụng Mô hình phân loại thì việc phân loại là tốt nhất
- Mô hình phân loại: Khối này chịu trách nhiệm xây dựng mô hình phân loại
hay nhận dạng theo mô hình …
- Kết quả phân loại: Trả về kết quả là nhãn của mẫu biển báo
- Hậu xử lý: Thực hiện các công việc sau khi nhận kết quả trả về từ Mô hình
phân loại như: hiển thị kết quả biển báo đã nhận dạng được hoặc trở thành dữ liệu đầu vào cho các module xử lý khác
Ta có thể áp dụng vào nhận diện biển báo giao thông bằng phương pháp tiếp cận này, có nghĩa là các hệ thống nhận dạng biển báo sẽ học các mẫu biển báo từ một tập hợp các hình ảnh mẫu Sau khi quá trình đào tạo được hoàn thành, hệ thống sẽ có các thông số để sử dụng cho quá trình phát hiện biển báo Do đó, phương pháp tiếp cận này còn được gọi là phương pháp học máy Phần này sẽ tập trung vào quá trình phát hiện và quy trình đào tạo
Trong tổng quan, phương pháp Adaboost Haar-like dựa trên sự kết hợp của bốn thành phần:
ảnh 24x24
pixel
Thuật toán Viola-jones
+1 Nếu đầu vào là biển báo
-1 Nếu đầu vào không phải
là biển báo
Trang 26- Haar-like features:
+ Các features được đặt trong các khu vực trong hình ảnh để tính giá trị của features + Bằng cách truyền các giá trị đặc trưng này cho trình phân loại, chúng ta sẽ xác định xem hình ảnh có biển báo hay không
- Integral Image:
+ Đây là công cụ tính toán các giá trị Haar-like features nhanh hơn
- Adaptive Boost (Adaboost):
+ Nó được sử dụng để kết hợp nhiều phân loại yếu thành một phân loại mạnh
để cải thiện hiệu suất của quá trình phát hiện biển báo
- Cascade of Classifiers:
+ Nó là một classifier với nhiều lớp Mỗi lớp là một phân loại mạnh
+ Cascade tăng tốc quá trình phân loại
Do đó, vấn đề xác định biển báo trong hình ảnh là vấn đề phân loại hình ảnh thành hai loại: biển báo (sign) hoặc không phải biển báo (nonsign)
2.3.1.2 Đặc trưng Haar-like
[7] Do Viola và Jones công bố, gồm 4 đặc trưng cơ bản Mỗi đặc trưng Haar–like
là sự kết hợp của hai hay ba hình chữ nhật “trắng” hay “đen” như trong hình sau:
Hình 2.3: 4 đặt trưng Haar-like cơ bản đặc trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:
Hình 2.4: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở
1 Đặc trưng cạnh (edge features):
2 Đặc trưng đường (line features):
3 Đặc trưng xung quanh tâm (center-surround features):
Trang 27Dù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ổngvùng đen(các mức xám của pixel) – Tổngvùng trắng(các mức xám của pixel) 2.3.1.3 Integral Image
Để 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,
Hình 2-5: Cách tính Integral Image của ảnh
Hình 2-6: Ví dụ cách tính nhanh các giá trị mức xám của vùng D trên ảnh
Trang 282.3.1.4 Thuật toán Adaboost
Nguyên lý cơ bản của boosting [8] là sự kết hợp các phân lớp yếu (weak classification) thành một phân lớp mạnh (strong classification) Ban đầu, chúng ta có một phân loại mạnh rỗng Điều đó có nghĩa là không có yếu tố phân loại yếu trong đó Thuật toán Adaboost có nhiều vòng tăng tốc Trong mỗi vòng, chúng ta tìm thấy một yếu tố phân loại yếu tốt nhất và thêm nó vào phân loại mạnh Trong đó, phân lớp yếu
là các bộ phân loại đơn giản chỉ cần có độ chính xác trên 50% Bằng cách này, chúng
ta nói bộ phân loại đã được “boost”
Sự cải tiến của Adaboost là chúng ta sẽ gán cho mỗi hình ảnh một trọng số Tại mỗi vòng tăng, khi một máy phân loại yếu được xây dựng, ta sẽ cập nhật trọng số của các mẫu
Bản cập nhật này được tiến hành như sau: ta sẽ tăng trọng số của các mẫu phân loại sai bởi yếu tố phân loại yếu và giảm trọng số của các mẫu được phân loại đúng Bằng cách này, trong vòng tăng tiếp theo, ta sẽ xây dựng bộ phân loại yếu theo hướng: tập trung vào các mẫu được phân loại sai bởi bộ phân loại yếu trước đó Cuối cùng, để có được phân loại mạnh mẽ, ta kết hợp phân loại yếu mà ta đã tìm thấy lại với nhau
a Phân loại yếu
Tương ứng với một tính năng, một phân loại yếu được định nghĩa như sau:
Các ngưỡng θ và p sẽ được tính sau khi đào tạo các bộ phân loại Với ngưỡng
thích hợp, kết quả của quá trình phân loại sẽ chỉ ra rằng hình ảnh trên là một biển báo Đôi khi, có một số đầu vào không phải là biển báo cho giá trị đặc trưng vượt qua ngưỡng θ và trình phân loại yếu kết luận rằng đó là một biển báo Do đó, sử dụng một phân loại yếu sẽ dẫn đến độ chính xác thấp
Trang 29Không chỉ sử dụng một tính năng Haar-like mà còn sử dụng rất nhiều tính năng Haar-like ở các vị trí và kích cỡ khác nhau trong hình ảnh để giảm sự trùng hợp ngẫu nhiên Điều này dẫn đến một khái niệm mới: phân loại mạnh
- φ là thông số bổ sung của phân loại mạnh
Nếu x là biển báo, phân loại mạnh sẽ trả về đúng và ngược lại Phân loại mạnh là sự
kết hợp của nhiều yếu tố phân loại yếu Nó có độ chính xác cao hơn nhiều lần sau đó
phân loại yếu Các thông số như αt , φ sẽ được tính trong quá trình huấn luyện Trong
phần tiếp theo, tôi sẽ mô tả làm thế nào để tạo ra một phân loại mạnh
c Tiến trình của Adaboost:
Hình 2.7: Vòng 1
Trang 30Các dấu cộng đại diện cho hình ảnh biển báo Các dấu trừ đại diện cho hình ảnh không phải là biển báo Phân loại yếu phân chia các mẫu thành hai loại: mẫu âm và mẫu dương Chúng ta có thể dễ dàng thấy rằng một số mẫu được phân loại sai Tăng trọng số của các mẫu này và tiếp tục thúc đẩy vòng tiếp theo
Hình 2.8: Vòng 2
Hình 2.9: Vòng 3
Trang 31Hình 2.10: Vòng 4
Cuối cùng, ta đã phân loại mạnh mẽ từ sự kết hợp của các phân loại yếu
Hình 2.11: Hoàn thành boosting
d Tỷ lệ phát hiện, tỷ lệ sai lệch và tổng lỗi trọng số
Giả sử rằng bộ dữ liệu thử nghiệm có n hình ảnh biển báo và m hình ảnh không phải biển báo Ta có một phân loại Trình phân loại này phân loại các mẫu trong dữ
liệu Sau khi phân loại, có d mẫu biển báo và k mẫu không phải biển báo được phân
loại chính xác
- Tỷ lệ phát hiện đúng biển báo :
Trang 32- Tỷ lệ phát hiện sai biển báo:
- Tổng sai số của phân loại là tổng trọng số của các mẫu phân loại sai
e Chi tiết thuật toán Adaboost
trong đó cho các mẫu tiêu cực và tích cực tương ứng Trong đó m
và n là số lần âm và dương
• Khởi tạo trọng số
• Chọn tỷ lệ phát hiện và tỷ lệ dương tính giả
• Khởi tạo tỷ lệ phát hiện hiện tại và tỷ lệ dương tính giả
• Trong khi
o Tìm yếu tố phân loại yếu tốt nhất có trọng số lỗi nhỏ nhất
o Cập nhật trọng số của tất cả các mẫu bị phân loại sai:
Trang 33Cuối cùng, ta có một phân loại mạnh với tỷ lệ phát hiện và tỷ lệ
f Tìm bộ phân loại yếu tốt nhất
Để tìm một phân loại yếu, chúng ta cần phải tìm thấy các tính năng phù hợp, ngưỡng và p Chúng ta có thể lặp lại tất cả các tính năng Đối với mỗi tính năng, ta tính giá trị của tính năng đó trên tập huấn luyện và sắp xếp các giá trị này theo thứ
tự tăng dần
- Giả sử các giá trị tính năng được tính trên các hình ảnh là
- Sau đó, ngưỡng có thể là một trong các giá trị sau:
-
- Giá trị p là -1 hoặc 1
Ví dụ:
Hình 2.12: Chọn p = 1 và tăng trọng số của mẫu phân loại sai
Hình 2.13: Trong bước này chúng ta chọn p = -1
2.3.1.5 Cascade
Một khi chúng ta hiểu thuật toán Adaboost, suy nghĩ đầu tiên của chúng ta là sử dụng thuật toán Adaboost để đào tạo một phân loại mạnh Tuy nhiên, phương pháp này tiêu tốn rất nhiều tài nguyên Giả sử bởi Adaboost chúng ta có một phân loại mạnh của 200 phân loại yếu Do đó, để phân loại một hình ảnh ta phải sử dụng 200 phân loại
Trang 34yếu Trong khi đó, chúng ta thấy rằng có rất ít đối tượng hình ảnh Có thể loại bỏ các ảnh không phải đối tượng bằng cách sử dụng chỉ một bộ phân loại mạnh có chứa ít hơn 200 phân loại yếu
Vấn đề được giải quyết bằng Cascade của bộ phân loại (classifier) Ta sẽ có một chuỗi các phân loại mạnh Mỗi bộ phân loại được xây dựng bởi thuật toán Adaboost Bây giờ, ta truyền hình ảnh qua chuỗi các phân loại
Hình 2.14: Mô hình hoạt động Cascade
Các phân loại sau này phức tạp hơn và đòi hỏi tính toán nhiều hơn Các hình ảnh đi qua tất cả các phân loại mới, sẽ được xác định rằng đó là biển báo
Các hình ảnh khó xác định không bị loại bỏ bởi trình phân loại trước đó Chúng
sẽ được xác định bởi trình phân loại mạnh tiếp theo
Thuật toán xây dựng tầng như sau:
Hình 2.15: Mô hình phân tầng
Trang 35Hình 2.16: Biểu đồ thống kê số phân loại yếu trong mỗi phân loại mạnh của biển báo
nguy hiểm
Hình 2.17: Biểu đồ thống kê số phân loại yếu trong mỗi phân loại mạnh của
biển báo Cấm
Trang 36Hình 2.18: Tỷ lệ false positive của mỗi strong classifier trên tập test ( biển nguy hiểm)
Hình 2.19: Tỷ lệ false positive của mỗi strong classifier trên tập test ( biển báo cấm)