Tải bản đầy đủ (.pdf) (68 trang)

Nghiên cứu và phát triển thuật toán dò tìm oto trên đường cao tốc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.48 MB, 68 trang )

CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

MỤC LỤC
DANH MỤC HÌNH VẼ

Hình 2.1: 4 đặt trưng Haar-like cơ bản
Hình 2.2: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở
Hình 2.3: Cách tính Integral Image của ảnh
Hình 2.4: Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh
Hình 2.5 : Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các
đặc trưng xoay 45o
Hình 2.6 : Boosting
Hình 2.7 : cascade of classifiers
Hình 2.8: Cascade of boosting classifiers
Hình 3.1: Sơ đồ tổng quan hệ thống phát hiện và theo vết xe oto
Hình 3.2a: Minh họa cho quá trình lấy mẫu xe (phía trước xe)
Hình 3.2b: Minh họa cho quá trình lấy mẫu xe (phía trước xe)
Hình 3.2c: Minh họa cho quá trình lấy mẫu xe (phía trước xe)
Hình 3.3a: Minh họa cho quá trình lấy mẫu xe (phía sau xe)
Hình 3.3b: Minh họa cho quá trình lấy mẫu xe (phía sau xe)
Hình 3.4a: Minh họa quá trình kiểm thử cơ sở dữ liệu “cars.xml”
Hình 3.4b: Minh họa quá trình kiểm thử cơ sở dữ liệu “cars.xml”
Hình 3.4c: Minh họa quá trình kiểm thử cơ sở dữ liệu “cars.xml”

1

4-2016



CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

Hình 3.5: Sơ đồ khối của chương trình nhận dạng xe oto
Hình 3.6: Sơ đồ khối hệ thống hoàn chỉnh tổ chức phần mềm hệ thống
Hình 3.7: Mô tả hệ thống phát hiện xe oto dùng thuật toán Haar
Hình 3.8: Mẫu camera được sử dụng trong luân văn
Hình 4.1: Kết Quả thực thi hệ thống với góc quay trực diện
Hình 4.2: Kết Quả thực thi hệ thống với góc quay trực diện
Hình 4.3: Kết quả thực thi hệ thống với góc quay lệch 30º

2

4-2016


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

DANH MỤC BẢNG BIỂU

Bảng 2.1: Thuật toán phát hiện đồng thời co giãn vùng đặc trưng đối tượng [3, trang11]
Bảng 3.1: Cấu trúc file cơ sở dữ liệu đặc trưng của đối tượng xe oto
Bảng 3.2: Mã lệnh điển hình của thuật toán phát hiện và nhận dạng xe oto
Bảng 3.3: Mã lệnh thực hiện thuật toán đếm xe oto


3


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

DANH SÁCH CÁC TỪ VIẾT TẮT

STT

Từ viết tắt

Tên đầy đủ

1

SVM

Support Vector Machine

2

HMM

Hidden Markov Model

3

SNoW


Sparse Network of Winnows

4

SAT

Summed Area Table

5

OCR

Optical Character Recognition

6

OpenCV

Open Source Computer Vision

7

IPP

Intel Intergrated Performance Primitives

8

BSI


Back-illuminated Sensor

9

SoC

System On Chip

4

4-2016


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

MỤC LỤC...................................................................................................................... 1
DANH MỤC HÌNH VẼ ................................................................................................. 1
DANH MỤC BẢNG BIỂU ............................................................................................ 3
DANH SÁCH CÁC TỪ VIẾT TẮT.............................................................................. 4
CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG DÒ TÌM OTÔ TRÊN ĐƯỜNG
CAO TỐC .................................................................................................................... 12
1.1 GIỚI THIỆU CHUNG ...................................................................................... 12
1.2 MỤC ĐÍCH NGHIÊN CỨU.............................................................................. 13
1.3 CÁC ĐỀ TÀI ĐÃ NGHIÊN CỨU VÀ HƯỚNG NGHIÊN CỨU ĐỀ NGHỊ ..... 13
1.4 TỔNG QUAN VỀ PHÁT HIỆN VÀ NHẬN DẠNG XE .................................. 14

1.4.1 Phát hiện xe................................................................................................. 14
1.4.2 Nhận dạng xe ............................................................................................. 14
1.5 LÝ DO THỰC HIỆN ĐỀ TÀI .......................................................................... 14
1.6 MỤC TIÊU ĐỀ TÀI ......................................................................................... 15
1.7 NHIỆM VỤ LUẬN VĂN ................................................................................. 15
1.7.1 Phạm vi thực hiện....................................................................................... 15
1.7.2 Dự kiến các lĩnh vực ứng dụng của đề tài ................................................... 16
CHƯƠNG II: CƠ SỞ LÝ THUYẾT VỀ PHÁT HIỆN ĐỐI TƯỢNG ...................... 17
2.1 CÁC PHƯƠNG PHÁP PHÁT HIỆN HÌNH ẢNH XE ...................................... 17
2.1.1 Phát hiện dựa trên ảnh ................................................................................. 17
2.1.2 Phát hiện dựa trên dạng hình học................................................................. 18

5


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

2.2 PHƯƠNG PHÁP ĐƯỢC SỬ DỤNG TRONG LUẬN VĂN ............................ 20
2.2.1 Các đặc trưng Haar-like .............................................................................. 20
2.2.2 Tổng quan về Adaboot ................................................................................ 23
2.2.2.1 Tiếp cận Boosting ................................................................................... 24
2.2.2.2 Adaboost ................................................................................................ 25
2.2.3

Giai đoạn huấn luyện của bộ phân loại (stage) ........................................ 29


2.2.4

Tầng của bộ phân loại (Cascade of Classifiers) ....................................... 30

2.2.5

Cascade of boosting classifiers................................................................ 33

2.2.6 Đặc tính co giãn vùng đặc trưng đối tượng ................................................. 34
2.2.6.1 Phát biểu bài toán .................................................................................... 34
1.2.6.2 Thuật toán ............................................................................................... 35
CHƯƠNG III : XÂY DỰNG HỆ THỐNG PHÁT HIỆN VÀ THEO VẾT XE OTO36
3.1 Ý TƯỞNG XÂY DỰNG VÀ HOẠT ĐỘNG CỦA HỆ THỐNG...................... 36
3.2 TIẾN HÀNH XÂY DỰNG CƠ SỞ DỮ LIỆU ẢNH XE ................................... 37
3.2.1 Xây dựng cơ sở dữ liệu ............................................................................... 37
3.2.1.1 Thu thập hình ảnh xe ................................................................................ 37
3.2.1.3 Tiến hành lấy mẫu, tạo bộ cơ sở dữ liệu huấn luyện ................................. 38
3.2.1.4 Tiến hành học huấn luyện cho máy tính ................................................... 41
3.2.2 Ghi nhận và thử mẫu cơ sở dữ liệu kết quả .................................................. 45
3.3 TIẾN HÀNH XÂY DỰNG THUẬT TOÁN ..................................................... 47
3.3.1 Thuật toán phát hiện xe ............................................................................... 47
3.3.2 Thuật toán nhận dạng kiểu xe ...................................................................... 47

6


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP


4-2016

3.3.4 Thuật toán đếm số lượng đối tượng ............................................................. 49
3.4 TIẾN HÀNH XÂY DỰNG PHẦN MỀM.......................................................... 50
3.4.1 Chuẩn bị hệ thống và các công cụ lập trình thích hợp .................................. 50
3.4.2 Tổ chức chương trình phần mềm hệ thống .................................................. 50
3.4.3 Sử dụng thuật toán Haar-like phối hợp với các mã lệnh trên Visual C++ .... 52
3.4.4 Xây dựng phần mềm ................................................................................... 53
3.5 HỆ THỐNG PHẦN CỨNG VÀ CÁC CÔNG CỤ LIÊN QUAN ....................... 54
3.5.1 Camera ........................................................................................................ 54
3.5.2 Máy tính cá nhân và các công cụ phần mềm ................................................ 55
3.6 VÀI NÉT VỀ THƯ VIỆN OPENCV ................................................................. 55
3.6.1 OpenCV là gì? ............................................................................................ 55
3.6.2 Các hàm xử lý của thư viện OpenCV .......................................................... 56
a , Các hàm xử lý dữ liệu cơ bản .......................................................................... 56
b , Các hàm về phân tích vận động và theo vết đối tượng ..................................... 57
c , Các hàm về nhận dạng đối tượng..................................................................... 57
d, Các hàm về giao diện và thu nhận video .......................................................... 57
CHƯƠNG IV : KẾT QUẢ ĐẠT ĐƯỢC VÀ ĐÁNH GIÁ ......................................... 58
4.1 KẾT QUẢ ĐẠT ĐƯỢC .................................................................................... 58
4.2 DEMO HỆ THỐNG .......................................................................................... 59
4.3 NHẬN XÉT ...................................................................................................... 61
4.3.1 Ưu điểm ...................................................................................................... 61
4.3.2 Nhược điểm ................................................................................................ 61

7


CÙ XUÂN TOẢN


LUÂN VĂN TỐT NGHIỆP

4-2016

4.3.2.1 Chủ Quan ................................................................................................. 62
4.3.2.1 Khách Quan ............................................................................................. 62
4.4 KẾT LUẬN ...................................................................................................... 64

8


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

LỜI CẢM ƠN
Trước tiên, xin cảm ơn thầy PGS.TS Nguyễn Tiến Dũng và Th.S Nguyễn Việt
Hưng vì đã gợi mở, quan tâm, giúp đỡ cho học viên trong suốt thời gian thực hiện đề
tài tốt nghiệp này.
Bên cạnh đó, học viên cũng xin gởi lời cảm ơn đến tất cả những thầy cô đã trực
tiếp giảng dạy trong suốt khóa học; những người bạn đã quan tâm, động viên và chia sẻ
kiến thức cũng như kinh nghiệm chuyên ngành trong quá trình học tập và rèn luyện
vừa qua của học viên.
Cũng xin chân thành cảm ơn sự quan tâm hỗ trợ, tạo điều kiện và hết lòng động
viên về tinh thần lẫn vật chất của các thành viên trong gia đình trong suốt thời gian
qua.
Sau cùng, học viên gởi lời chúc sức khỏe, hạnh phúc đến quý thầy cô, gia đình
và bạn bè.

Trường Đại học Bách Khoa Hà Nội
Tháng 4 năm 2016
Học Viên
Cù Xuân Toản

9


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

ABSTRACT
Now, in the age of the 21st century, thanks for the high speed development of
Science and Technology, human is inventing and processing many scientific projects
with theirs mega-structures. From the alternatives of machines and engines instead of
human in works which required a high-level of decision and concentrating, the results,
facts and effects is being trusted. These things are really huge meaning, thus increases
values of lives ‘s quality days by days.
In this thesis, issues named “Vehicles Detection and Recognition Based on
Computer Vision”, also have same ways of thinking above. This is one of the most
amazing applications and projects which is resrearched and approached by many
scientists who working in fields of “Computer Vision” and “Digital Image Processing”
cause of demands in real lives and diversified approaching methods.
This project shows some problems which related to the basic knowledge that
being built on contents within. The author used tools called “OpenCV” to apply Haarlike features that ran on Visual C++.NET environment and AdaBoost (Adaptive Boost)
algorithms to speed up the detection and recognition processing on all perspectives and
types of vehicles. Results have got a feature called “realtime effects” in detection and

recognition.This is importance for modifying traffics, controlling lanes, extracting
information of vehicles, …

10


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

TÓM TẮT LUẬN VĂN THẠC SĨ
Trong thời đại của thế kỷ 21, với sự phát triển nhảy vọt của trình độ Khoa học
kỹ thuật, con người đã tạo nên và phát triển nhiều công trình khoa học mang tính tầm
cỡ. Với sự thay thế dần của máy móc cho con người trong các nhiệm vụ mang tính
chính xác và tập trung cao thì kết quả đạt được đã hoàn toàn được tin cậy và đánh giá
cao. Điều này thực sự có ý nghĩa to lớn và góp phần tăng thêm giá trị và chất lượng
cuộc sống.
Đề tài luận văn này, nhận dạng xe trên cơ sở thị giác máy tính, cũng không nằm
ngoài ý nghĩa đó. Đây là một dạng ứng dụng thú vị mà nhiều nhà khoa học đã, đang và
sẽ không ngừng nghiên cứu vì nhu cầu thực tiễn và đa dạng phương pháp tiếp cận.
Trong đề tài này sẽ trình bày trong đó các vấn đề liên quan tới kiến thức nền
tảng xây dựng nên luận văn. Học viên đã sử dụng công cụ OpenCV ứng dụng các đặc
trưng Haar-like chạy trên nền tảng Visual C++.NET và thuật toán tăng tốc AdaBoost
nhằm nâng cao tốc độ phát hiện và nhận dạng các hình thái khác nhau của xe. Kết quả
thu được có đặc tính thời gian thực các diễn tiến của quá trình phát hiện và nhận dạng
xe.

11



CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG DÒ TÌM OTÔ
TRÊN ĐƯỜNG CAO TỐC

1.1

GIỚI THIỆU CHUNG
Thị giác là giác quan cho phép con người cũng như hầu hết các loài động vật

khác thu thập thông tin nhanh nhất, tinh tế nhất và cũng là kênh thông tin trao đổi tin
cậy giúp đưa ra những quyết định kịp thời và nhanh chóng trong hầu hết các hoạt động
trong thực tế của con người. Vì vậy, với ý nghĩa vô cùng quan trọng đó, cùng với sự
phát triển của khoa học kĩ thuật và ứng dụng của nó trong nhiều lĩnh vực đã được tiến
hành rộng rãi, nhất là trong ứng dụng liên quan tới xử lý ảnh của đối tượng cụ thể là xe
hơi trong cảnh quang giao thông, đặc biệt là trong tình trạng xe đang chuyển động.
Từ giữa thế kỷ XX đến nay, đặc biệt là từ thập niên 80, ngày càng có nhiều ứng
dụng có chức năng phát hiện vật thể, ví dụ như xe hơi, là một công việc khó trong lĩnh
vực xử lý ảnh. Chức năng này đặc biệt hữu dụng trong rất nhiều môi trường và lĩnh vực
khác nhau (bao gồm an ninh, thị giác người máy, giải trí, điều tiết giao thông, …).
Hàng loạt các cuộc nghiên cứu và thử nghiệm về vấn đề tự động nhận dạng xe hơi đã
được tiến hành mạnh mẽ, song song cùng lúc với sự phát triển mạnh mẽ của hệ thống
giao thông trên thế giới cũng như ở Việt Nam, là một ví dụ minh chứng bởi tính cụ thể,
đa dạng, phức tạp và cấp thiết.

Thông thường, các đặc tính của xử lý và phân tích ảnh chủ yếu bị ảnh hưởng bởi
đặc tính của ảnh tĩnh và ảnh động (video). Các lý do có thể đưa ra là: vị trí tương quan
giữa máy ảnh và đối tượng, xe bị che khuất một phần hoặc toàn phần; sự kết hợp của
các đặc điểm xe cộ, kích thước, màu sắc, ảnh hưởng của cảnh nền (độ sáng chói, độ
tương phản, nhiễu giống đối tượng, …) là rất khác nhau, và nó ảnh hưởng đến chất
lượng của quá trình phát hiện và nhận dạng xe. Còn ảnh hưởng về mặt chủ quan cũng

12


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

có thể kể đến như hướng quan sát ghi hình của camera, hướng ánh sáng, đặc tính kỹ
thuật của máy ảnh, camera, tốc độ hệ thống máy xử lý chủ (máy tính PC hoặc laptop)
cũng gây ra ảnh hưởng không nhỏ đến đề tài.

1.2

MỤC ĐÍCH NGHIÊN CỨU
Hệ thống nhận dạng xe dùng trong quan sát giao thông là một ứng dụng quan

trọng trong cuộc sống hiện đại hàng ngày. Với hệ thống như vậy thì một thuật toán
phát hiện và nhận dạng theo thời gian thực là cần thiết khi đầu vào của hệ thống là một
chuỗi hình ảnh video. Việc ứng dụng một thuật toán để giải quyết vấn đề phát hiện xe
là một trong những khâu quan trọng trong hệ thống quan trắc giao thông. Với đề tài
“nghiên cứu và phát triển thuật toán dò tìm oto trên đường cao tốc” sẽ phát hiện tất cả

các loại xe oto đang lưu thông trên cao tốc.

1.3

CÁC ĐỀ TÀI ĐÃ NGHIÊN CỨU VÀ HƯỚNG NGHIÊN CỨU ĐỀ
NGHỊ
Cho đến nay, có rất nhiều các đề tài nghiên cứu về hệ thống phát hiện và nhận

dạng xe mà chủ yếu là thực hiện trong các phòng thí nghiệm Khoa học máy tính của
các trường Đại học trên thế giới [1][2]. Các nghiên cứu này chủ yếu xoay quanh vấn đề
tìm hướng tiếp cận và xây dựng mô hình thuật toán phát hiện và nhận dạng xe trong
việc quan sát giao thông nói chung.
Các đề tài này, phần lớn đã nêu bật được phương pháp “Lưu lượng quang”, đây
là phương pháp điển hình cho việc quan trắc hệ thống các vật thể chuyển động có quỹ
đạo nói chung hoặc hệ thống xe tham gia giao thông nói riêng [1][2][12] . Ngoài ra,
còn có phương pháp xử lý trên pixel đặc trưng đối tượng, chủ yếu là phân tích diện tích
và chu vi đường bao điểm ảnh của đối tượng, coi đó là đặc trưng của loại xe quan sát.

13


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

Nhưng bên cạnh đó, chỉ một số ít các đề tài lại ít sử dụng phương pháp phân tích
và dò tìm đặc trưng Haar-like. Do vậy, trong luận văn này, để có thể đáp ứng tốt các
yêu cầu về độ tin cậy, ổn định trong việc quan trắc hệ thống giao thông, thì học viên đề

nghị sử dụng phương pháp Haar-like để phát hiện xe trên cơ sở thuật toán trích đặc
trưng AdaBoost

1.4

TỔNG QUAN VỀ PHÁT HIỆN VÀ NHẬN DẠNG XE

Bài toán phát hiện và nhận dạng xe hơi cụ thể gồm qua 2 bước.

1.4.1 Phát hiện xe
Phát hiện xe là thuật toán chuyên biệt xuất phát từ thuật toán phát hiện vật thể.
Khi cho một nguồn ảnh đầu vào (có thể là tín hiệu hình từ camera hoặc từ một file
video định dạng AVI), thuật toán xác định xem trong khung hình nhận được đó có xe
đang được kỳ vọng hay không. Nếu có xe thì ngay lập tức chỉ ra vị trí và phạm vi
chiếm chỗ của đối tượng xe đó có trong ảnh. Đây là bước quan trọng đầu tiên trong hầu
hết các ứng dụng phân tích vật thể nói chung và xe tham gia giao thông nói riêng (ví
dụ: nhận dạng kiểu dáng xe, định vị xe trong ảnh, bám theo xe, nhận biết vị trí và tư thế
của xe có trong ảnh,…).

1.4.2 Nhận dạng xe
Với kết quả phát hiện xe ở bước trên, từ đó so sánh với cơ sở dữ liệu đã được
xây dựng sẵn để tiến hành nhận dạng được kiểu dáng xe đó là loại xe nào (trong trường
hợp nhận dạng nhiều loại xe khác nhau). Tư thế quan sát xe từ camera, vị trí của xe so
với camera và các thông tin liên quan luôn được cập nhật tức thời bởi máy tính.

1.5

LÝ DO THỰC HIỆN ĐỀ TÀI
Nắm được ý nghĩa quan trọng của kênh thông tin thu được trong hầu hết các


tình huống dưới dạng hình ảnh. Sự phát triển mạnh mẽ và đa dạng của xã hội với nhiều

14


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

nghiên cứu và ứng dụng thuộc lĩnh vực này luôn được tiến hành và áp dụng rộng rãi
trong nhiều ngành nghề và lĩnh vực khoa học kỹ thuật khác nhau trên thế giới, đặc biệt
là phát hiện và nhận dạng xe oto.
Bài toán phát hiện và nhận dạng xe được nhiều nhóm các nhà khoa học quan
tâm và thực hiện nhưng để đáp ứng được vấn đề xử lý trong thời gian thực là một vấn
đề tương đối khó.Thực tế cho thấy các kết quả còn hạn chế, tốc độ xử lý chậm, quá
trình xử lý nhiều nhóm lệnh trên máy tính chủ khiến cho tốc độ bị trì hoãn mặc dù
không nhiều.
Vì vậy, nghiên cứu ứng dụng đề tài phát hiện và nhận dạng xe xử lý trên cơ sở
thị giác máy tính trong thời gian thực mang tính cấp thiết.

1.6

MỤC TIÊU ĐỀ TÀI
Nghiên cứu ứng dụng phát hiện nhận dạng xe trên cơ sở thị giác máy tính, đáp

ứng trong thời gian thực.

1.7


NHIỆM VỤ LUẬN VĂN
 Phân tích và tổng hợp các phương pháp nhận dạng xe.
 Xây dựng chương trình nhận dạng xe dựa trên công cụ Thị giác máy tính.

1.7.1 Phạm vi thực hiện
 Về lý thuyết: phương pháp phù hợp phát hiện và nhận dạng xe.
 Về ứng dụng: chương trình phần mềm phát hiện và nhận dạng xe.
 Các điều kiện thực hiện: camera ghi hình trực diện từ phía sau đuôi của
xe hoặc phía trước xe, cường độ ánh sáng là 300 ÷ 500 lux (độ sáng tiêu
chuẩn bình thường) hoặc ánh sáng ngoài trời ban ngày bình thường.
 Đối tượng là các loại xe với các hình dáng khác nhau (xe hơi cá nhân, xe
buýt, xe tải…). Việc nhận dạng được thực hiện từ phía sau đuôi của xe

15


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

hoặc phía trước xe. Từ đó đưa ra số lượng oto xuất hiện tại mỗi thời
điểm.

1.7.2 Dự kiến các lĩnh vực ứng dụng của đề tài
 Giám sát an ninh
 Quan sát và điều tiết giao thông


16


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

CHƯƠNG II: CƠ SỞ LÝ THUYẾT VỀ PHÁT HIỆN ĐỐI
TƯỢNG
2.1 CÁC PHƯƠNG PHÁP PHÁT HIỆN HÌNH ẢNH XE
Phát hiện hay phát hiện đối tượng chuyên biệt, ví dụ như xe oto trong cảnh
quang giao thông, liệu có xuất hiện trong ảnh thu được từ camera (hình động) hay
những tấm hình tĩnh dựa trên sự trợ giúp của máy tính từ lâu đã được con người nghiên
cứu và phát triển bởi nó đóng vai trò là cơ sở chung và là nền tảng để nghiên cứu và
ứng dụng trong các lĩnh vực và các hệ thống khác. Trong quá trình nghiên cứu và phát
triển, thì yêu cầu được đặt lên hàng đầu là yếu tố chính xác và phải thực hiện nhanh
chóng trong thời gian thực. Do vậy, việc này cần có sự phối hợp và bổ sung chặt chẽ
cho nhau của hai lĩnh vực là Xử lý ảnh (Image Processing) và Thị giác máy tính
(Computer Vision).
Có rất nhiều phương pháp và hướng tiếp cận của vấn đề phát hiện xe oto. Định
vị xe trong một cảnh quang giao thông là phương pháp đơn giản, bởi vì nó chỉ xác định
vị trí hay tọa độ của chiếc xe có trong ảnh đó mà thôi. Việc tiếp theo là nhận dạng
(vehicle recognition) là công việc phức tạp hơn. Tác vụ này sẽ so sánh một ảnh của xe
hơi trong ảnh đầu vào với tất cả các ảnh có trong cơ sở dữ liệu đã được huấn luyện
trước đó và đưa ra ảnh gần nhất.
Có hai hướng tiếp cận chính thường được sử dụng để phát hiện xe: các phương
pháp dựa trên ảnh và các phương pháp dựa trên dạng hình học. Các phương pháp có
thể được liệt kê ra như sau: [9, trang 17÷ 25]


2.1.1 Phát hiện dựa trên ảnh
Các phương pháp thuộc nhóm này dựa trên một tập hợp các hình mẫu của đối
tượng và sử dụng cửa sổ trượt để phát hiện xe. Cách làm này khác biệt so với các
phương pháp dựa trên khuôn mẫu (cần thiết phải có sẵn mô hình xe, hình thái xe). Để
17


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

trích đặc trưng từ các mẫu ví dụ, cần phải thực hiện việc cho học huấn luyện dưới dạng
thống kê hoặc các thuật toán học máy (machine learning) với đủ nhiều các mẫu ảnh có
chứa đối tượng xe và không chứa đối tượng xe.
Do sự xuất hiện của xe trong ảnh là ngẫu nhiên với nhiều góc quan sát khác
nhau nên thường phải xấp xỉ chúng để tạo nên sự phân biệt của hai đối tượng. Tùy theo
cách tiếp cận xác suất nào mà sẽ xuất hiện các phương pháp phát hiện tương ứng. Liệt
kê dưới đây là một số các phương pháp thuộc nhóm này:
 Phương pháp EigenObjects (PCA)
 Phương pháp Fisher ‘s Linear Discriminant
 Các phương pháp dựa trên Eigen-space
 Các phương pháp dựa trên mang nơ-ron nhân tạo
 Support Vector Machine – SVM
 Phương pháp Mô hình Markov ẩn (Hidden Markov Model – HMM)
 Phương pháp Sparse Network of Winnows (SNoW)
Do nhóm phương pháp này dựa trên việc huấn luyện sao cho thu được mô hình đối
tượng xe từ một tập dữ liệu tích cực (positive - ảnh có chứa hình xe hơi) và một tập dữ

liệu không tích cực (negative - ảnh không chứa hình đối tượng) nên chúng có sự tương
quan so sánh trực tiếp đến các đặc điểm hình học của một kiểu xe điển hình.
Nhược điểm của phương pháp này đòi hòi phải luôn có sẵn cơ sở dữ liệu hình xe rất
lớn. Để có thể phát hiện và nhận dạng được xe, máy tính phải luôn dò trong cơ sở dữ
liệu hình này rồi mới đưa ra kết quả.

2.1.2 Phát hiện dựa trên dạng hình học
Khác với nhóm phương pháp vừa nêu ở trên, các phương pháp thuộc nhóm này
quan tâm đến các đặc điểm cấu trúc hình học của xe.Vì vậy chúng còn được gọi là

18


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

nhóm tiếp cận dựa trên đặc trưng (feature - based). Tùy theo cách triển khai vấn đề mà
chúng được chia thành hai phân nhóm:
 Các phương pháp Bottom – Up
 Phương pháp dựa trên luồng ánh sáng (hay lưu lượng quang - optical flow)
Nhóm phương pháp Bottom – Up chủ yếu dùng các đặc điểm hình dáng bất biến
của xe đối với ngoại cảnh và nền ảnh để phát hiện ra xe. Rồi tùy vào mối liên hệ của
chúng với nhau mà thiết lập các liên kết giữa các đặc điểm bất biến này ngay trong ảnh
đầu tiên, tiếp theo sẽ dựa vào đó mà tìm chúng trên các ảnh kế tiếp.
Phương pháp của phân nhóm thứ hai, luồng ánh sáng, là phương pháp xử lý tổng
quan ánh sáng theo tuần tự các bước. Thứ nhất, thuật toán tìm đặc trưng quan trọng của
đối tượng (ví dụ như góc của xe) trong hai khung hình liên tiếp nhau. Thứ hai, dùng

thuật toán để hợp nhất tính liên quan đồng nhất giữa các đặc trưng đó (trong trường
hợp này là góc của xe). Bước cuối cùng, các luồng đặc trưng đối tượng đã được trích
xuất khỏi ảnh được tập hợp lại thành một nhóm nếu các khoảng cách Euclide của các
luồng (vị trí đối tượng và hướng chuyển động của đối tượng) là nhỏ. [1, phần 2.1]
Cụ thể, phương pháp này không chỉ sử dụng các thuật toán học (learning algorithm)
để huấn luyện tạo các bộ phân lớp (cascade) bằng các hình mẫu ví dụ tích cực (có chứa
hình ảnh xe) và các hình mẫu không tích cực (không chứa hình ảnh xe hơi) được lựa
chọn cẩn thận (đây là phương pháp dựa trên ảnh). Các hình ảnh sau khi được chọn lọc
cẩn thận sẽ được quyết định đặc trưng cho từng loại xe bởi thuật toán học hầu hết có
liên quan trực tiếp đến các đặc trưng riêng biệt trên hình ảnh xe hơi (đặc điểm các chi
tiết trên xe, gương, đầu xe, đuôi xe, dàn đèn, các gờ nổi, …). Kỹ thuật tăng tốc cải
thiện tốc độ tìm kiếm dựa trên các bộ phân loại bằng cách lấy ra các trọng số cho các
mẫu ví dụ dùng trong huấn luyện. [1, phần 2.2]

19


CÙ XUÂN TOẢN

LUÂN VĂN TỐT NGHIỆP

4-2016

2.2 PHƯƠNG PHÁP ĐƯỢC SỬ DỤNG TRONG LUẬN VĂN
Trong luận văn này, việc phát hiện xe là sự kết hợp giữa một thuật toán tăng tốc
AdaBoost (Adaptive Boost – tăng tốc thích nghi) và đặc tính đáp ứng nhanh của các
đặc trưng Haar. Đây là một phương pháp được xem như là phối hợp của cả hai phương
pháp đã nêu ở trên là : Phương pháp dựa trên ảnh và Phương pháp dựa trên dạng hình
học.
Để thực hiện chức năng phát hiện và nhận dạng xe oto, học viên đã triển khai sử

dụng thuật toán phát hiện đối tượng (dựa trên các đặc trưng Haar-like và thuật toán
tăng tốc AdaBoost) trên từng frame ảnh thu được từ nguồn tín hiệu hình ảnh (camera
hoặc file video) rồi dựa vào các thuật toán xử lý ảnh và thị giác máy tính để thi hành
các tác vụ lên các xe đã được phát hiện và nhận dạng. Sau đây là phần trình bày
phương thức hoạt động của phương pháp phát hiện xe oto bằng các đặc trưng được liệt
kê sau đây:

2.2.1 Các đặc trưng Haar-like
Viola và Jones dùng 4 đặc trưng cơ bản [14] để xác định khuôn mặt người. 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.1: 4 đặt trưng Haar-like cơ bản
Để áp dụng các đặc trưng này vào bài toán xác định mặt người, 4 đặt trưng Haarlike cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:

20


LUÂN VĂN TỐT NGHIỆP

CÙ XUÂN TOẢN

4-2016

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):


Hình 2.2: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở
Lợi ích của các đặc trưng Haar-like là nó diễn đạt được tri thức về các đối tượng
trong ảnh (bởi vì nó biểu diễn mối liên hệ giữa các bộ phận của đối tượng), điều mà
bản thân từng điểm ảnh không diễn đạt được. Để tính giá trị các đặc trưng haar-like, ta
tính 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(pixel) - Tổngvùng trắng(pixel) (2.1)
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 để tính toán nhanh cho khác feature cơ bản. Sau này,
Lienhart kế thừa gọi Integral Image là SAT – Summed Area Table và đưa ra thêm khái

21


LUÂN VĂN TỐT NGHIỆP

CÙ XUÂN TOẢN

4-2016

niệm RSAT – Rotated Summed Area Table dùng để tính toán nhanh cho các đặc trưng
xoay 1 góc 45o. 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.


P(x,y)
( , )=∑

( ,

,

)

(2.2)

Hình 2.3: Cách tính Integral Image của ảnh
Sau khi đã tính được Integral Image, việc tính tổng điểm ảnh của một vùng bất kỳ
nào đó trên ảnh thực hiện rất đơn giản theo cách sau: (Giả sử ta cần tính tổng điểm ảnh
của vùng D như trong hình 11):
D = A + B + C + D – (A+B) – (A+C) + A

(2.3)

Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như
vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm P1.
Vậy ta có thể viết lại biểu thức tính D ở trên như sau:
=( ,

)−( ,
A

)− ( ,

P1


C

B

)+ ( ,

)

(2.4)

P2

D
P3

P4

Hình 2.4: Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh
22


LUÂN VĂN TỐT NGHIỆP

CÙ XUÂN TOẢN

B
2

A

1

D

4-2016

C
3

4

RSAT(x,y)

(b)

(a)

Hình 2.5 : Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh
với các đặc trưng xoay 45o
Với các đặc trưng Haar-like xoay 45o Integral Image tại một điểm (x, y) được tính
theo công thức 2.5:
( , )= ∑

,

|

|

( ′ , ′ ) (2.5)


Tổng pixel của một vùng bất kỳ trên ảnh vẫn được tính theo cách sau:
D = A + B + C + D – (A+B) – (A+C) + A (2.6)
Như vậy tổng các điểm ảnh trong một hình chữ nhật (kể cả trường hợp xoay 45º)
bất kì đều có thể được tính nhanh dựa trên integral image tại 4 đỉnh của nó :
Sum (D ) = 4 - 2 – 3 + 1

(2.7)

2.2.2 Tổng quan về Adaboot
Học theo adaboost là một cách trong hướng tiếp cận dựa trên diện mạo, Viola và
Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người [13], dựa vào cơ
sở đó ta cũng có thể xác định được xe oto. với các đặc trưng dạng Haar wavelet-like.
Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80% trên ảnh xám.
Thuật toán học máy Adaboost được phát triển thuật toán boosting, do đó học viên
sẽ trình bầy một chút về thuật toán boosting trước khi trình bầy về adaboost.

23


CÙ XUÂN TOẢN

2.2.2.1

LUÂN VĂN TỐT NGHIỆP

4-2016

Tiếp cận Boosting


Về lịch sử, boosting bắt nguồn từ câu hỏi nổi tiếng được đưa ra bời Kearns vào
năm 1989 : “Liệu có thể tạo ra một strong classifier từ một tập các bộ phân loại
yếu?”. Năm 1990, Robert Schapire đưa ra thuật toán boosting đầu tiên, tiếp đến năm
1993 thì nó được Drucker, Schapire và Simard kiểm nghiệm trong các chương trình
nhận dạng ( OCR application ). Freund đã tiếp tục các nghiên cứu của Schaprire, và
đến năm 1995 thì ông cùng với Schapire phát triển boosting thành adaboost.
Như vậy, nguyên lý cơ bản của boosting là sự kết hợp các weak classifiers thành
một strong classifier. Trong đó, weak classifier 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”.
Để hiểu cách hoạt động của thuật toán boosting, ta xét một bài toán phân loại 2
lớp (mẫu cần nhận dạng chỉ thuộc một trong hai lớp) với D là tập huấn luyện gồm có n
mẫu. Trước tiên, chúng ta sẽ chọn ngẫu nhiên ra n1 mẫu từ tập D (n1Sau đó, chúng ta sẽ xây dựng weak classifier đầu tiên C1 từ tập D1. Tiếp theo, chúng ta
xây dựng tập D2 để huấn luyện bộ phân loại C2. D2 sẽ được xây dựng sao cho một nửa
số mẫu của nó được phân loại đúng bởi C1 và nửa còn lại bị phân loại sai bởi C1. Bằng
cách này, D2 chứa đựng những thông tin bổ sung cho C1. Bây giờ chúng ta sẽ xây
huấn luyện C2 từ D2.
Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt
bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết quả
khác nhau. Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không hiệu quả.
Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ D3.
Bây giờ chúng ta đã có một strong classifier: sự kết hợp C1, C2 và C3. Khi tiến
hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thỏa thuận của 3 bộ C1,
C2 và C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì lớp này chính là kết quả

24


CÙ XUÂN TOẢN


LUÂN VĂN TỐT NGHIỆP

4-2016

phân loại của X; ngược lại, nếu C1 và C2 phân X vào 2 lớp khác nhau, C3 sẽ quyết
định X thuộc về lớp nào

Hình 2.6 : Boosting

2.2.2.2

Adaboost

Như đã biết, AdaBoost ( Adaptive Boost ) 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 hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifier dựa trên các
đặc trưng Haar- Line để hình thành một strong classifier.
Để có thể kết hợp các bộ phân loại yếu, adaboost sử dụng một trọng số (weight)
để đánh dấu các mẫu khó nhận dạng. Trong quá trình huấn luyện, cứ mỗi weak
classifier được xây dựng, thuật toán sẽ tiến hành cập nhật lại trọng số để chuẩn bị cho
việc xây dựng weak classifier tiếp theo: tăng trọng số của các mẫu bị nhận dạng sai và
25


×