1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Áp dụng học máy trong nhận dạng biển báo giao thông

73 43 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 3,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

LỜ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 3

LỜ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 4

MỤ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 5

1.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 6

3.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 7

ra 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 8

PCA Principal Components Analysis

SVM pháp Support Vector Machine

TSVM Transductive Support Vector Machine

Trang 9

DANH 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 10

2.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 11

vụ 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 12

2 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 13

hì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 14

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

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 15

phâ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 16

tâ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 17

vớ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 18

nhậ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 19

1.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 20

liê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 21

dự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 22

tiê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 23

sao 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 24

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ã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 27

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ổ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 28

2.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 29

Khô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 30

Cá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 31

Hì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 33

Cuố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 34

yế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 35

Hì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 36

Hì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)

Ngày đăng: 14/07/2020, 14:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Huỳnh Hữu Hưng, Nguyễn Trọng Nguyên, Võ Đức Hoàng (2015), Giáo trình xử lý ảnh số, Thông tin và truyền thông Sách, tạp chí
Tiêu đề: Giáo trình xử lý ảnh số
Tác giả: Huỳnh Hữu Hưng, Nguyễn Trọng Nguyên, Võ Đức Hoàng
Năm: 2015
[3]. Nguyễn Duy Khánh, Lê Đình Duy, Dương Anh Đức (2011), "Phát hiện biển báo giao thông dùng đặc trưng cục bộ (local features)", Hội thảo FAIR (Fundamental And Applied IT Research) lần V, Tháng 08-2011.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Phát hiện biển báo giao thông dùng đặc trưng cục bộ (local features)
Tác giả: Nguyễn Duy Khánh, Lê Đình Duy, Dương Anh Đức
Năm: 2011
[6]. Mannila, Heikki (1996), Data mining: machine learning, statistics, and databases. Int'l Conf. Scientific and Statistical Database Management Sách, tạp chí
Tiêu đề: Data mining: machine learning, statistics, and databases
Tác giả: Mannila, Heikki
Năm: 1996
[7]. Viola and Jones (2001), “Rapid object detection using a boosted cascade of simple feature”, Computer Vision and Pattern Recognition, 2001 Sách, tạp chí
Tiêu đề: Rapid object detection using a boosted cascade of simple feature”, "Computer Vision and Pattern Recognition
Tác giả: Viola and Jones
Năm: 2001
[8]. Y. Freund and R. Schapire (1997). A decision-theroetic generalization of on-line learning and an application to boosting. Journal of Computer anf System Sciences, 1997 Sách, tạp chí
Tiêu đề: Journal of Computer anf System Sciences
Tác giả: Y. Freund and R. Schapire
Năm: 1997
[9]. Williams, Ronald J. (1987), "A class of gradient-estimating algorithms for reinforcement learning in neural networks", Proceedings of the IEEE First International Conference on Neural Networks Sách, tạp chí
Tiêu đề: A class of gradient-estimating algorithms for reinforcement learning in neural networks
Tác giả: Williams, Ronald J
Năm: 1987
[2]. Huỳnh Hữu Hưng, Nguyễn Thanh Trung (2013) , Phát Hiện Biển Báo Giao Thông Dùng Support Vector Machine Khác
[4]. De Maesschalck, R.; D. Jouan-Rimbaud, D.L. Massart (2000), The Mahalanobis distance Khác
[5]. Jolliffe, I.T. (2002), Principal Component Analysis, second edition (Springer) Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w