lvtn full final

141
MỤC LỤC LIỆT KÊ CÁC HÌNH...........................................3 LIỆT KÊ CÁC BẢNG...........................................4 CHƯƠNG 1.................................................. 12 1.1 GIỚI THIỆU...........................................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.....................................15 1.5 LÝ DO THỰC HIỆN ĐỀ TÀI...............................15 1.6 MỤC TIÊU ĐỀ TÀI......................................15 1.7 NHIỆM VỤ LUẬN VĂN....................................16 1.7.1 Phạm vi thực hiện................................16 1.7.2 Dự kiến các lĩnh vực ứng dụng của đề tài.........16 CHƯƠNG 2.................................................. 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...........................18 2.1.2 Phát hiện dựa trên dạng hình học.................19 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..........................21 2.2.2 Vùng đặc trưng và Số lượng đặc trưng.............23 2.2.3 Thuật toán tăng tốc AdaBoost.....................25 2.2.4 Giai đoạn huấn luyện của bộ phân loại (stage)....31

Upload: hoaihung48

Post on 14-Jun-2015

1.666 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: LVTN Full Final

MỤC LỤC

LIỆT KÊ CÁC HÌNH..........................................................................................................3

LIỆT KÊ CÁC BẢNG.........................................................................................................4

CHƯƠNG 1.........................................................................................................................12

1.1 GIỚI THIỆU............................................................................................................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......................................................................................................15

1.5 LÝ DO THỰC HIỆN ĐỀ TÀI................................................................................15

1.6 MỤC TIÊU ĐỀ TÀI................................................................................................15

1.7 NHIỆM VỤ LUẬN VĂN.........................................................................................16

1.7.1 Phạm vi thực hiện...............................................................................................16

1.7.2 Dự kiến các lĩnh vực ứng dụng của đề tài..........................................................16

CHƯƠNG 2.........................................................................................................................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........................................................................................18

2.1.2 Phát hiện dựa trên dạng hình học.......................................................................19

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

2.2.2 Vùng đặc trưng và Số lượng đặc trưng...............................................................23

2.2.3 Thuật toán tăng tốc AdaBoost............................................................................25

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

2.2.5 Tầng phân loại (cascade)....................................................................................32

2.2.6 Đặc tính co giãn vùng đặc trưng đối tượng........................................................34

CHƯƠNG 3.........................................................................................................................36

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

Page 2: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

3.2.1 Xây dựng cơ sở dữ liệu.......................................................................................36

3.2.2 Ghi nhận và thử mẫu cơ sở dữ liệu kết quả........................................................44

3.3 TIẾN HÀNH XÂY DỰNG THUẬT TOÁN..........................................................58

3.3.1 Thuật toán phát hiện xe......................................................................................58

3.3.2 Thuật toán nhận dạng kiểu xe.............................................................................58

3.3.3 Thuật toán ước lượng khoảng cách....................................................................61

3.3.4 Thuật toán đếm số lượng đối tượng....................................................................65

3.4 TIẾN HÀNH XÂY DỰNG PHẦN MỀM..............................................................67

3.4.1 Chuẩn bị hệ thống và các công cụ lập trình thích hợp.......................................67

3.4.2 Tổ chức chương trình phần mềm hệ thống.........................................................67

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++.........69

3.4.4 Hoạt động của phần mềm...................................................................................70

3.4.5 Giao diện của chương trình phần mềm hệ thống................................................72

3.5 HỆ THỐNG PHẦN CỨNG VÀ CÁC CÔNG CỤ LIÊN QUAN.........................73

3.5.1 Camera................................................................................................................73

3.5.2 Máy tính cá nhân và các công cụ phần mềm......................................................74

CHƯƠNG 4.........................................................................................................................75

4.1 KẾT QUẢ.................................................................................................................75

4.2 NHẬN XÉT..............................................................................................................93

4.2.1 Ưu điểm..............................................................................................................93

4.2.2 Khuyết điểm.......................................................................................................93

4.3 PHÂN TÍCH KẾT QUẢ ĐẠT ĐƯỢC...................................................................98

CHƯƠNG 5.........................................................................................................................99

5.1 KẾT QUẢ ĐẠT ĐƯỢC VÀ Ý NGHĨA.................................................................99

5.1.1 Kết quả đạt được.................................................................................................99

5.1.2 Ý nghĩa.............................................................................................................100

5.2 HƯỚNG PHÁT TRIỂN........................................................................................100

TÀI LIỆU THAM KHẢO & TRÍCH DẪN

Trang 2

Page 3: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

LIỆT KÊ CÁC HÌNH

Hình 2.1a, b, c, d: Các đặc trưng cạnh, đường, bao quanh tâm, đường chéoHình 2.2 : Ảnh chia nhỏ tại tọa độ (x,y)Hình 2.3 : Tổng các giá trị pixel nằm trong vùng AHình 2.4 : Ví dụ về các tư thế của hình chữ nhật đặc trưngHình 2.5 : Lược đồ cơ bản của AdaBoostHình 2.6 : Thuật toán học AdaBoostHình 2.7 : Mô hình minh họa tác vụ phát hiện vật thể dùng chuỗi cascadeHình 2.8 : Dùng chuỗi cascade đã được huấn luyện để phát hiện cửa sổ con phù hợpHình 2.9 : Cấu trúc các chuỗi cascade song songHình 2.10 : Cấu trúc các chuỗi cascade nối tiếp, với N giai đoạn học huấn luyện

Hình 3.1 : Minh họa quá trình lấy mẫuHình 3.2 : Minh họa quá trình học huấn luyệnHình 3.3 : Minh họa quá trình kiểm thử cơ sở dữ liệu “car_back.xml”Hình 3.4 : Minh họa quá trình kiểm thử cơ sở dữ liệu “bus_vn_full_22112008.xml”Hình 3.5 : Minh họa quá trình kiểm thử cơ sở dữ liệu “truck_vn_26112008.xml”Hình 3.6 : Sơ đồ khối của quá trình nhận dạng xeHình 3.7 : Mô hình hóa thuật toán ước lượng khoảng cáchHình 3.8 : Mô hình camera quan sát trong không gian 3-DHình 3.9 : Minh họa kết quả ước lượng khoảng cáchHình 3.10 : Minh họa kết quả đếm số lượng xe có trong hìnhHình 3.11 : Sơ đồ khối tổ chức phần mềm hệ thốngHình 3.12 : Sơ đồ khối hệ thống hoàn chỉnh tổ chức phần mềm hệ thốngHình 3.13 : Mô tả hệ thống phát hiện xe dùng thuật toán HaarHình 3.14 : Giao diện chương trình nhận dạng xeHình 3.15 : Mẫu camera được sử dụng trong luận văn

Trang 3

Page 4: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

LIỆT KÊ CÁC BẢNG

Bảng 2.1 : Các dạng thuật toán học huấn luyện AdaBoostBảng 2.2 : Thuật toán phát hiện đồng thời co giãn vùng đặc trưng đối tượng

Bảng 3.1Bảng 3.1a : Mẫu xe hơi du lịch cá nhânBảng 3.1b : Mẫu xe buýtBảng 3.1c : Mẫu xe tải

Bảng 3.2 : Cấu trúc file cơ sở dữ liệu đặc trưng của đối tượng xe hơi cá nhânBảng 3.3 : Kết quả kiểm thử cơ sở dữ liệu đặc trưng xe hơi cá nhânBảng 3.4 : Kết quả kiểm thử cơ sở dữ liệu đặc trưng xe buýtBảng 3.5 : Kết quả kiểm thử cơ sở dữ liệu đặc trưng xe tảiBảng 3.6 : Tổng kết các kết quả kiểm thử cơ sở dữ liệuBảng 3.7 : Mã lệnh điển hình của thuật toán phát hiện và nhận dạng xe hơiBảng 3.8 : Mã lệnh thực hiện thuật toán ước lượng khoảng cáchBảng 3.9 : Mã lệnh thực hiện thuật toán đếm xe

Bảng 4.1 : Các kết quả xử lý nhận dạngBảng 4.1a : Kết quả xử lý nhận dạng xe buýtBảng 4.1b : Kết quả xử lý nhận dạng xe hơi cá nhânBảng 4.1c : Kết quả xử lý nhận dạng tải

Bảng 4.2 : Kết quả xử lý nhận dạng xe tổng hợpBảng 4.3 : Đánh giá độ chính xác trong nhận dạng của phần mềm luận văn

Trang 4

Page 5: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

PHẦN A

GIỚI THIỆU

Trang 5

Page 6: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Đại Học Quốc Gia Tp. Hồ Chí Minh CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập – Tự Do – Hạnh Phúc

- - - - - - - - o O o - - - - - - - -

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên : VÕ HỒNG PHONG Phái : Nam

Ngày tháng năm sinh : 22/02/1982 Nơi sinh : Khánh Hòa

Chuyên ngành : TỰ ĐỘNG HOÁ Mã số HV : 01506364

I. TÊN ĐỀ TÀI:

NHẬN DẠNG XE TRÊN CƠ SỞ THỊ GIÁC MÁY TÍNH

II. NHIỆM VỤ:

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

III. NGÀY GIAO NHIỆM VỤ: ngày 30 tháng 01 năm 2008

IV. NGÀY HOÀN THÀNH NHIỆM VỤ: ngày 30 tháng 11 năm 2008

V. CÁN BỘ HƯỚNG DẪN: TS. TRƯƠNG ĐÌNH CHÂU

Giáo Viên Hướng Dẫn Chủ Nhiệm Ngành Bộ Môn

Nội dung và đề cương Luận văn Thạc sĩ đã được Hội Đồng Chuyên Ngành thông

qua.

Ngày ….. tháng ….. năm 200…

PHÒNG ĐÀO TẠO SAU ĐẠI HỌC KHOA QUẢN LÝ NGÀNH

Trang 6

Page 7: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

LỜI CẢM ƠN

Trước tiên, xin cảm ơn thầy TS Trương Đình Châu 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 Tp. Hồ Chí Minh

Tháng 11 năm 2008

Học viên

Võ Hồng Phong

Trang 7

Page 8: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

LÝ LỊCH TRÍCH NGANG

Họ và tên : VÕ HỒNG PHONG

Phái : Nam

Ngày sinh : 22-02-1982

Nơi sinh : Tp Nha Trang – tỉnh Khánh Hòa

Hộ khẩu TT : 8/C3 Âu Cơ – phường 10 – quận Tân Bình – Tp HCM

Địa chỉ email : [email protected] hoặc [email protected]

QUÁ TRÌNH ĐÀO TẠO:

9/2000 – 4/2005 : Sinh viên khoa Điện - Điện tử, bộ môn Kỹ thuật Điện tử - hệ

chính quy - trường ĐH SPKT Tp HCM.

9/2006 đến nay : học viên cao học Khoa Điện – Điện tử, chuyên ngành Tự

động hóa - hệ chính quy – trường ĐH Bách Khoa Tp HCM.

QUÁ TRÌNH CÔNG TÁC:

2005 – 11/2006 : Quản trị mạng tại Công ty Phần mềm Sài gòn (SSP – Saigon

Software Park).

Trang 8

Page 9: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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 sci

entists 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

Haar-like 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 “real-

time effects” in detection and recognition. This is importance for modifying traffics,

controlling lanes, extracting information of vehicles, …

Trang 9

Page 10: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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.

Nội dung luận văn gồm 5 chương:

Chương 1: Giới thiệu tổng quan

Chương 2: Cơ sở lý thuyết

Chương 3: Xây dựng hệ thống

Chương 4: Kết quả - Nhận xét – Phân tích

Chương 5: Kết luận và hướng phát triển đề tài

Trang 10

Page 11: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

PHẦN B

NỘI DUNG

Trang 11

Page 12: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

CHƯƠNG 1

GIỚI THIỆU TỔNG QUAN

1.1 GIỚI THIỆU

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.

Trang 12

Page 13: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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

Tác vụ này phát hiện các loại xe trong tầm khoảng cách trung bình và tầm khoảng

cách xa (trên 20m). [9, trang 13 15] [12, trang 410 411]

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.

Trang 13

Page 14: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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.

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,…).

Trang 14

Page 15: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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. 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 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 hơi.

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.

Trang 15

Page 16: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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,

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 container). Việc nhận dạng được thực hiện từ phía sau đuôi của

xe.

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

Trang 16

Page 17: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

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 hơi 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 hơi. Đị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.

Trang 17

Page 18: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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 1725]

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

Để 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 xuấ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

Trang 18

Page 19: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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à 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

Trang 19

Page 20: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

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]

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 hơi, 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 hơi bằng các đặc trưng

được liệt kê sau đây:

Trang 20

Page 21: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

2.2.1 Các đặc trưng Haar-like

Mục đích của việc sử dụng các đặc trưng Haar-like là đảm bảo yêu cầu đáp

ứng thời gian thực. Mỗi một đặc trưng Haar-like bao gồm 2 hoặc 3 khối hình màu

trắng và đen liên kết nhau. (Hình 2.1 a, b, c, d) [1, trang 4] [4, trang 2] [9, trang 33]

Hình 2.1a: Các đặc trưng cạnh

Hình 2.1b: Các đặc trưng đường

Hình 2.1c: Các đặc trưng bao quanh tâm

Trang 21

Page 22: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Hình 2.1d: Đặc trưng đường chéo

Giá trị của đặc trưng Haar-like được xác định bởi độ chênh lệch giữa tổng các

giá trị pixel mức xám nằm trong vùng đen so với vùng trắng.

Cách dùng “ảnh chia nhỏ” (integral image) giúp tính toán nhanh chóng các

đặc trưng Haar-like.

Hình chia nhỏ ở vị trí (x,y) bằng tổng các giá trị pixel phía bên trái của tọa độ

(x,y) bao gồm:

(2.1)

Hình 2.2: Ảnh chia nhỏ tại tọa độ (x,y)

Tổng các giá trị pixel trong vùng “A”:

P1 = A1 ; P2 = A2 ; P3 = A1 + A3

Trang 22

Page 23: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

P = A + A1 + A2 + A3 ; (2.2)

A = P + P1 – P2 – P3 ;

Hình 2.3: Tổng các giá trị pixel nằm trong vùng A

Để phát hiện ra xe hơi, ảnh đầu vào được phát hiện bằng một cửa sổ con có

chứa đặc trưng Haar-like. Dựa trên từng đặc trưng Haar-like , một bộ phân loại

yếu được quy định như sau:

(2.3)

2.2.2 Vùng đặc trưng và Số lượng đặc trưng

Mục đích chính của việc sử dụng các đặc trưng thay vì các giá trị pixel ban

đầu như là một đại lượng đầu vào cho thuật toán học huấn luyện là nhằm giảm hoặc

tăng sự sai khác lẫn nhau giữa các đối tượng trong cùng một lớp phân loại, từ đó

làm cho quá trình phân loại được dễ dàng hơn. Các đặc trưng thường để mã hóa các

hiểu biết về miền quan tâm của đối tượng trong ảnh. Tính phức tạp của việc đánh

giá đặc trưng là rất quan trọng trong nhiệm vụ phát hiện đối tượng dựa trên hình

dáng bên ngoài của đối tượng đó trong chuỗi ảnh ngõ vào của hệ thống.

Trang 23

Page 24: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Các đặc trưng của các đối tượng được tính tại mỗi một vị trí và mỗi một tỉ lệ

trong một thời gian không đổi.

Giả thiết rằng, đơn vị cơ bản cho sự xuất hiện cơ bản của đối tượng xuất hiện

trong ảnh có kích thước điểm ảnh. Đồng thời cũng giả thiết rằng cách tính

nhanh cho tổng các điểm ảnh cho mỗi một hình chữ nhật bên trong cửa sổ lớn (ảnh

đầu vào) ở dạng là hình chữ nhật nằm ngang hoặc nằm nghiêng góc 45o là thông số

với ; ; ; ;

. Hai ví dụ cho hai trường hợp của hình chữ nhật được cho trong Hình 2.4.

Hình 2.4: Ví dụ về các tư thế của hình chữ nhật đặc trưng

Số lượng đặc trưng xuất phát từ mỗi mẫu là đủ lớn và khác nhau giữa mẫu này

với mẫu khác và được tính theo công thức bên dưới.

Nếu cho và thì số lượng đặc trưng đối với kích thước

trong ảnh có kích thước được tính theo công thức bên dưới: [4, phần 2.1]

Trong trường hợp hình chữ nhật đặc trưng nghiêng 45o thì công thức tính số

lượng đặc trưng:

Trang 24

Page 25: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

với

2.2.3 Thuật toán tăng tốc AdaBoost

AdaBoost (Adaptive Boost) là một thuật toán học mạnh, giúp đẩy nhanh việc

tạo ra một bộ phân loại mạnh (strong classifier) bằng cách chọn các đặc trưng tốt

trong một họ các bộ phân loại yếu (weak classifier - bộ phân loại yếu) và kết hợp

chúng lại tuyến tính bằng cách sử dụng các trọng số (Hình 2.5). Điều này thật sự

cải thiện dần độ chính xác nhờ áp dụng hiệu quả một chuỗi các bộ phân loại yếu. [9,

trang 3947]

Hình 2.5: Lược đồ cơ bản của AdaBoost

Thuật toán học này ban đầu duy trì một phân bố chuẩn (tương đồng nhau) các

trọng số lên mỗi một mẫu huấn luyện. Trong bước lặp đầu tiên, thuật toán huấn

luyện một bộ phân loại yếu bằng cách dùng một đặc trưng Haar-like đã thực hiện tốt

nhất việc phát hiện các mẫu thử huấn luyện. Trong lần lặp thứ hai, các mẫu thử

dùng cho huấn luyện nhưng bị phân loại nhầm bởi bộ phân loại yếu đầu tiên được

nhận trọng số cao hơn sao cho đặc trưng Haar-like được chọn lần này phải tập trung

khả năng tính toán cho các mẫu thử bị phân loại nhầm này. Sự lặp lại tiếp tục thực

hiện và các kết quả cuối cùng sẽ là một chuỗi cascade các kết hợp tuyến tính của

Trang 25

Page 26: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

các bộ phân loại yếu, tạo ra một bộ phân loại mạnh, giúp tạo được độ chính xác

mong muốn. Thuật toán học AdaBoost sau 3 lần lặp được minh họa trong Hình 2.6

là một ví dụ thuật toán AdaBoost sau ba lần lặp. [11]

Hình 2.6: Thuật toán học AdaBoost

Phương pháp AdaBoost có nhiều dạng khác nhau [4, phần 3] :

Tăng tốc thích nghi rời rạc (Discrete AdaBoost – DAB)

Tăng tốc thích nghi thực (Real AdaBoost – RAB)

Tăng tốc thích nghi linh hoạt (Gentle AdaBoost – GAB)

Trang 26

Page 27: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Các phương pháp trên đều được dùng cho việc tính toán độ phức tạp từ các

mẫu phân loại, nhưng khác nhau ở thuật toán học huấn luyện. (Bảng 2.1)

Bảng 2.1: Các dạng thuật toán học huấn luyện AdaBoost

Real AdaBoost

1. Ngõ vào: S = Số các bước lặp lại T

2. Khởi tạo: cho tất cả n = 1, …, N

3. Do for t =1, …, T

(a) Huấn luyện bộ phân loại bằng bộ mẫu thử đã được đánh trọng số với

giả thiết:

, ví dụ .

(b) Tính sai số huấn luyện cho bộ trọng số t của ht :

(c) Đặt:

(d) Cập nhật các trọng số:

Với Zt là hằng số chuẩn hóa, sao cho

Ngừng lệnh if khi t = 0 hoặc khi và đặt T = t – 1

4. Xuất ra:

Trang 27

Page 28: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Discrete AdaBoost (Freund & Schpire)

1. N mẫu được cho với

2. Bắt đầu với các trọng số

3. Lặp lại cho

(a) Phù hợp bộ phân loại sử dụng các trọng số của tập dữ

liệu huấn luyện

(b) Tính các thông số ,

(c) Đặt giá trị , i = 1,…,N, và

chuẩn hóa các trọng số để

4. Ngõ ra của bộ phân loại

Gentle AdaBoost

1. Cho N mẫu với

2. Bắt đầu với các trọng số

3. Lặp lại cho

(a) Phù hợp hàm đệ quy bởi trọng số bình phương tối thiểu (least-

squares) của đối với với trọng số

(b) Đặt giá trị , i = 1,…,N và chuẩn hóa các trọng

số để

4. Ngõ ra của bộ phân loại

Trang 28

Page 29: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trong ba phương pháp AdaBoost trên, học viên thực hiện luận văn đã chọn

phương pháp GAB làm phương pháp chính cho quá trình huấn luyện máy.

Bộ phân loại mạnh cuối cùng là sự kết hợp có trọng số của các bộ phân loại

yếu:

Quá trình học huấn luyện nhận dạng theo từng chuỗi cascade và các giai đoạn

stage được thể hiện như hình dưới đây, trong đó đối tượng cần được phát hiện là

đường cong đặc, kín, màu xanh da trời (được đặt tên là: Target Concept) [3]

Hình 2.7: Mô hình minh họa tác vụ phát hiện vật thể dùng chuỗi cascade

Trong thực tế, chuỗi cascade các bộ phân loại được triển khai nhằm tăng tốc

độ thực thi của thuật toán phát hiện. Trong giai đoạn đầu của quá trình huấn luyện,

ngưỡng của bộ phân loại yếu được điều chỉnh đủ thấp sao cho xấp xỉ 100% các đối

tượng đích có thể được dò ra trong khi vẫn giữ tỉ lệ nhận dạng sai mẫu không tích

cực gần bằng zero. Sự cân bằng của một ngưỡng thấp gắn liền với tỉ lệ phát hiện sai

Trang 29

Page 30: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

mẫu tích cực cao hơn. Một mẫu tích cực ngõ ra từ bộ phân lớp đầu tiên là thông số

đặt ngõ vào cho bộ phân lớp thứ hai, cũng sẽ được điều chỉnh sao cho đạt được tỉ lệ

phát hiện rất cao. Tương tự như thế, một mẫu tích cực xuất ra từ bộ phân lớp thứ hai

lại tiếp tục là thông số đặt ngõ vào cho bộ phân lớp thứ ba, …[11].

Các cửa sổ con là tích cực (phù hợp, dò đúng đối tượng) nếu được cho qua tại

từng bộ phân lớp của chuỗi cascade đã được huấn luyện. Nếu không, một ngõ ra

trên chuỗi sẽ loại bất kì cửa sổ không phù hợp ngay lập tức (Hình 2.8); [9, trang 59]

[10] ; [link 1].

Hình 2.8: Dùng chuỗi cascade đã được huấn luyện để phát hiện cửa sổ con phù hợp

Bằng cách sử dụng cấu trúc gồm các chuỗi cascade song song, tốc độ phát

hiện đối tượng sẽ được cải thiện đáng kể (Hình 2.9) [link 1] .

Trang 30

Page 31: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Hình 2.9: Cấu trúc các chuỗi cascade song song

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

Thuật toán tăng tốc thích nghi được sử dụng làm phương pháp chính để phát

hiện và phát hiện đối tượng xe trong luận văn. Thuật toán tăng tốc là mô hình học

máy hiệu quả được sử dụng nhiều trong các đề tài về nhận dạng trước đây. Mô hình

này chỉ sử dụng các bộ phân loại yếu.

Tác vụ học được dựa trên N mẫu huấn luyện với

và . và vectơ có thành tố k. Mỗi thành tố k có chức năng mã hóa một

đặc trưng có liên quan cho tác vụ học. Ngõ ra mong muốn sau khi mã hóa có hai giá

trị là -1 và 1. Trong trường hợp phát hiện đối tượng vật thể, thành tố ngõ vào là

một đặc trưng Haar-like. Các giá trị ngõ ra -1 và 1 cho biết ảnh xử lý có chứa hay là

không chứa đối tượng mong muốn.

2.2.5 Tầng phân loại (cascade)

Trang 31

Page 32: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Tầng (đợt) của bộ phân loại bao gồm các cây (tree) giá trị giảm dần sau mỗi

giai đoạn (stage) mà bộ phân loại được huấn luyện để nhận dạng hầu hết các đối

tượng vật thể mong muốn, đồng thời cũng loại bỏ các đối tượng không được huấn

luyện. Ví dụ, trong luận văn này, các bộ phân loại được huấn luyện qua ít nhất 20

giai đoạn (stage). Đến giai đoạn cuối cùng, giá trị false alarm =

và độ trùng khít (hit rate) khoảng . (Hình 2.10) [4, phần 4]

Hình 2.10: Cấu trúc các chuỗi cascade nối tiếp, với N giai đoạn học huấn luyện

Giả sử, thiết lập ban đầu với các giá trị

Stage 1:

Stage 2:

Stage 3:

Stage N:

Tại mỗi giai đoạn huấn luyện stage, bộ phân loại tạo ra thông số hit-rate h và

false-alarm rate f mới làm ngõ vào thông số đặt cho giai đoạn huấn luyện kế tiếp

sau.

Ứng với mỗi giai đoạn được huấn luyện sử dụng một trong phương pháp tăng

tốc. Bộ tăng tốc có thể học huấn luyện bởi một một phân loại mạnh dựa trên một tập

hợp các bộ phân loại yếu bằng cách dò lại trọng số các mẫu huấn luyện. Bộ phân

loại yếu được dùng cho giai đoạn đầu của quá trình huấn luyện, dùng để tập hợp và

Trang 32

Page 33: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

đúc kết các đặc trưng sơ của tập huấn luyện. Tại mỗi tầng huấn luyện, bộ phân loại

dựa theo các đại lượng đặc trưng vừa được cập nhật tại tầng kế trước (false-alarm,

hit-rate) được thêm vào nhằm tăng thêm tính chính xác trong quá trình tính toán

trọng số đặc trưng. Với việc tăng dần số giai đoạn huấn luyện và số lượng các bộ

phân loại yếu, sẽ là cần thiết để tính ra các thông số false-alarm rate ứng với mỗi

hit-rate đã tính được sẽ làm tăng tính chính xác cho tác vụ phát hiện đối tượng.

Trang 33

Page 34: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

2.2.6 Đặc tính co giãn vùng đặc trưng đối tượng

2.2.6.1 Phát biểu bài toán

Không phải lúc nào đối tượng xuất hiện trong ảnh cũng xuất hiện với vị trí tọa

độ hoặc diện tích vị trí chiếm chỗ là không đổi, mà ngược lại, các đối tượng xuất

hiện tại rất nhiều vị trí khác nhau và diện tích chiếm chỗ khác nhau. Do đó, để có

thể phát hiện ra đặc trưng đối tượng trong ảnh với các diện tích chiếm chỗ khác

nhau thì cần một thuật toán phát hiện đối tượng bám theo tính co giãn của đặc trưng

đối tượng. Một trong những ưu điểm của phương pháp đặc trưng Haar-like là dễ

dàng co giãn cửa sổ đặc trưng. Thuật toán này phát hiện đặc trưng với các ảnh chia

nhỏ chứa các các đặc trưng tìm được trong ảnh bắt đầu từ phía trên bên trái và ảnh

chia nhỏ bắt đầu được lớn dần theo hướng qua phải và hướng xuống dưới. Giải

pháp thích hợp để khoanh vùng đặc trưng ảnh là khoanh vùng bao gồm tất cả các

ảnh chia nhỏ chứa đặc trưng vừa tìm được. Khi đối tượng trong ảnh có xu hướng

tăng dần diện tích chiếm chỗ trong ảnh (ví dụ trường hợp đối tượng tiến đến gần

camera) thì lượng ảnh chia nhỏ tăng nhiều hơn để chứa các đặc trưng.

2.2.6.2 Thuật toán

Thuật toán phát hiện đối tượng, đồng thời co giãn vùng cửa sổ đặc trưng sao cho

luôn bám theo đối tượng được viết trong Bảng 2.2.

Trang 34

Page 35: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 2.2: Thuật toán phát hiện đồng thời co giãn vùng đặc trưng đối tượng [3, trang

11]

window_size = window_size0

scale = 1

objects = {}

while (window_size ≤ image_size) do

classifier_cascade = classifier_cascade0 × scale

dX = scale

dY = scale

for (0 ≤ Y ≤ image_height – window_height) do

for (0 ≤ X ≤ image_height – window_height) do

region_to_test = { 0 ≤ x ≤ X + window_width ;

0 ≤ y ≤ Y + window_width }

if (classifier_cascade(region_to_test) = 1)

then objects = objects {region_to_test}

end if

X = X + dX

end for

Y = Y + dY

end for

scale = scale × C // C: constant; = 1.1 ; 1.2

end while

Trang 35

Page 36: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

CHƯƠNG 3

XÂY DỰNG HỆ THỐNG

3.1 Ý TƯỞNG XÂY DỰNG VÀ HOẠT ĐỘNG CỦA HỆ THỐNG

Từ yêu cầu đặt ra của luận văn, học viên đề xuất và thực hiện hệ thống:

Một card thu hình nhận tín hiệu video trực tuyến từ camera (hoặc nhập một

file video) và gửi nó đến máy tính có phần mềm phát hiện và nhận dạng xe

được viết bằng ngôn ngữ lập trình thích hợp. Trong trường hợp không thể

cho hệ thống thực hiện tại thực địa cảnh quang giao thông thì có thể quay

video lại cảnh quang giao thông cho máy tính xử lý.

Sau thời gian tính toán, máy tính sẽ tiến hành phát hiện và nhận dạng xe xuất

hiện trong chuỗi hình ảnh và tiến hành khoanh vùng có chứa đặc trưng xe.

Trong quá trình nghiên cứu, học viên đã tích hợp thêm thuật toán ước lượng

khoảng cách từ camera đến xe, đếm phân loại các xe,… từ đó người khảo sát

có thể tính toán các thông số liên quan đến xe hoặc cảnh quang giao thông.

3.2 TIẾN HÀNH XÂY DỰNG CƠ SỞ DỮ LIỆU ẢNH XE

3.2.1 Xây dựng cơ sở dữ liệu

Trang 36

Page 37: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

3.2.1.1 Thu thập hình ảnh xe

Nhờ vào việc sử dụng các công cụ tìm kiếm trên internet và từ các nguồn ảnh

tin cậy có sẵn, học viên đã sử dụng để sưu tầm các mẫu xe nhằm mục đích xây dựng

cơ sở dữ liệu các phân loại xe để phục vụ cho đề tài. Các nguồn ảnh tích cực đó

được học viên sưu tầm bao gồm các nguồn dữ liệu và địa chỉ:

Google Image

Flickr của Yahoo!

Photobucket.com (trang web chia sẻ ảnh)

Nguồn ảnh chia sẻ từ các kho ảnh của các trường đại học trên thế giới (MIT,

UIUC, Carnagie Mellon,…)

Ảnh do học viên chụp từ thực địa cảnh quang giao thông (chiếm phần lớn)

Việc sưu tầm và tìm kiếm ảnh mẫu phục vụ cho công tác học huấn luyện cho

máy tính đòi hỏi tiêu tốn nhiều thời gian. Các mẫu hình ảnh xe được tìm kiếm và

sưu tầm đòi hỏi có sự đồng nhất về tư thế chụp lấy mẫu và các kiểu dáng không quá

khác biệt, cũng như hình dáng không quá giống so với các mẫu xe còn lại. Các xe

được chọn làm ảnh mẫu học huấn luyện phải có vị trí rõ ràng trong ảnh, không bị

che khuất (nếu bị che ít hơn diện tích pixel cũng tạm chấp nhận) và có tư thế đối

xứng, nghĩa là không quá nghiêng theo các hướng x, y, z (110% đối với hướng x và

y; 50% đối với hướng z).

Các ảnh không tích cực (không chứa hình đối tượng) được học viên

lấy từ nguồn dữ liệu có sẵn với các dạng hình phong cảnh thiên nhiên, hình

chân dung, động thực vật, nội thất, kiến trúc,…

Trang 37

Page 38: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

3.2.1.2 Phân loại bằng tay cơ sở dữ liệu hình

Các ảnh sau khi được thu thập, sau đó được học viên phân loại riêng biệt theo

từng hình dáng khác nhau của xe (xe hơi du lịch cá nhân, xe buýt, xe tải,…).

Với mỗi cơ sở dữ liệu được tạo thành, học viên đã sử dụng hơn 550 hình tích

cực (hình có chứa đối tượng - positive image) và 6.000 hình không tích cực (không

chứa đối tượng - negative image) dùng cho huấn luyện.

Trong luận văn, các loại xe được phân nhóm tùy theo đặc trưng về hình dáng

cấu trúc bên ngoài và chức năng sử dụng như đã nói ở trên. Các nhóm hình sau khi

phân biệt được đặt riêng rẽ nhằm tạo thuận lợi cho việc huấn luyện xe trên cơ sở các

mẫu phân loại này.

Mẫu hình huấn luyện tiêu biểu cho từng nhóm phân loại xe trình bày trong

Bảng 3.1 a, b, c :

Bảng 3.1:

Bảng 3.1a: Mẫu xe hơi du lịch cá nhân

Trang 38

Page 39: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 3.1b: Mẫu xe buýt

Bảng 3.1c: Mẫu xe tải

Các ảnh không tích cực, không chứa đối tượng (negative image) được sưu

tầm dễ dàng từ các nguồn ảnh có sẵn.

3.2.1.3 Tiến hành lấy mẫu, tạo bộ cơ sở dữ liệu huấn luyện

Trong công cụ huấn luyện OpenCV 1.0 của Intel có sẵn lệnh Objectmarker.

Lệnh này dùng để đánh dấu vùng có chứa đặc trưng của đối tượng có trong ảnh

bằng cách dùng hình chữ nhật để đánh dấu khoanh vùng chứa đặc trưng. (Hình 3.1)

Trang 39

Page 40: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Hình 3.1: Minh họa quá trình lấy mẫu

Đường bao chữ nhật màu tím đánh dấu vùng đặc trưng đối tượng cần huấn luyện

3.2.1.4 Tiến hành học huấn luyện cho máy tính

Cũng sử dụng công cụ đã nói ở trên, sử dụng lệnh Createsamples và

Haartrainning để huấn luyện tạo cơ sở dữ liệu đặc trưng và xuất cơ sở dữ liệu đó

ra dạng file .xml phục vụ trong mã lệnh chương trình phần mềm nhận dạng của luận

văn.

Hai lệnh chuẩn, điển hình được học viên thực hiện trong luận văn:

Tạo file học vector “vector.vec” dùng lệnh:

Trang 40

Page 41: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Mẫu lệnh thi hành

createsamples.exe -info positive/info.txt -vec data/vector.vec

-num 466 –maxxangle 1.1 –maxyangle 1.1 –maxzangle 0.5 -w 20 -h

20

với,

-info positive/info.txt : file chứa thông tin tọa độ của khung chữ nhật bao

đặc trưng đối tượng trong ảnh mẫu.

-vec data/vector.vec : đường dẫn chứa file vector.vec tạo ra ở trên.

-num 466 : bộ huấn luyện gồm 466 ảnh tích cực (có chứa đối tượng).

-w 20 : chiều rộng mẫu ngõ ra (tính theo pixel).

-h 20 : chiều cao mẫu ngõ ra (tính theo pixel).

Các thông số maxxangle , maxyangle , maxzangle quy định các góc xoay tối

đa theo các hướng trong không gian của đối tượng mà đảm bảo đối tượng vẫn được

phát hiện.

Tiến hành học huấn luyện cho máy tính:

Mẫu lệnh thi hành

haartraining.exe -data data/cascade -vec data/vector.vec -bg

negative/infofile.txt -npos 466 -nneg 3125 -nstages 24 -mem

1200 -mode ALL -w 20 -h 20 –nonsym –minhitrate 0.995 –

maxfalsealarm 0.5 –weighttrimming 0.95

với,

-data data/cascade : đường dẫn chứa các file thông số ngõ ra được cập

nhật(false-alarm , hit-rate) của từng tầng huấn luyện (cascade).

Trang 41

Page 42: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

-vec data/vector.vec : đường dẫn chứa file vector.vec đã tạo ra ở trên

-bg negative/infofile.txt : đường dẫn đến file chứa các ảnh không tích cực

-npos 466 : số lượng ảnh tích cực (giống khai báo ở phần trên)

-nneg 3125 : số lượng ảnh không tích cực (thông tin các file này được chứa trong

file infofile.txt)

-nstages 24 : số lượng giai đoạn (stage) huấn luyện

-mem 1200 : dung lượng bộ nhớ cần cho quá trình huấn luyện (MB). Máy tính có

bộ nhớ RAM càng nhiều thì quá trình huấn luyện xảy ra càng nhanh.

-nonsym : khai báo các đối tượng huấn luyện là không có tính đối xứng

–minhitrate 0.995 –maxfalsealarm 0.5 –weighttrimming 0.95: là các

thông số quy chuẩn về độ trùng khít (phù hợp – hit rate) tối thiểu, ngưỡng sai (false

alarm) và trọng số huấn luyện (Hình 3.2). Các giá trị trên là mặc định, hoặc có thể

thay đổi tùy theo “độ khó” của đối tượng và số lượng ảnh mẫu.

Hình 3.2: Hình minh họa quá trình học huấn luyện

Trang 42

Page 43: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Ghi chú: các lệnh trên được chạy trong môi trường hệ điều hành Windows và được

đóng gói trong các file thực thi lệnh định dạng “.bat” nhằm dễ chỉnh sửa và thao

tác.

Theo khuyến cáo của Intel [7], máy tính được dùng cho công tác huấn luyện này đòi

hỏi phải có cấu hình mạnh. Vì vậy, học viên thực hiện xây dựng cơ sở dữ liệu sử

dụng máy tính để bàn với CPU Intel Core 2 Duo E6320 2 x 1.86 GHz, RAM 2GB,

HDD 80GB. Với cấu hình máy này thì mỗi một cơ sở dữ liệu (mỗi một file .xml)

được tạo thành tiêu tốn thời gian liên tục hơn 42 tiếng đồng hồ (gần 2 ngày).

Cơ sở dữ liệu định dạng file .xml sau khi xây dựng có dạng như trong Bảng 3.2.

Bảng 3.2: Cấu trúc file cơ sở dữ liệu đặc trưng của đối tượng xe hơi cá nhân

<?xml version="1.0"?>

<opencv_storage>

<car_front_back type_id="opencv-haar-classifier">

<size>

20 20</size>

<stages>

<_>

<!-- stage 0 -->

<trees>

<_>

<!-- tree 0 -->

<_>

<!-- root node -->

<feature>

<rects>

<_>

11 11 1 8 -1.</_>

<_>

11 11 1 4 2.</_></rects>

<tilted>1</tilted></feature>

<threshold>2.1753159817308187e-003</threshold>

Trang 43

Page 44: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

<left_val>-0.7307692170143127</left_val>

<right_val>0.4051173031330109</right_val></_></_>

<_>

<!-- tree 1 -->

<_>

<!-- root node -->

<feature>

<rects>

<_>

12 7 12 1 -1.</_>

<_>

12 7 6 1 2.</_></rects>

<tilted>1</tilted></feature>

<threshold>3.6706560058519244e-004</threshold>

<left_val>-0.7052155137062073</left_val>

<right_val>0.2407480031251907</right_val></_></_>

<_>

<!-- tree 2 -->

<_>

<!-- root node -->

<feature>

3.2.2 Ghi nhận và thử mẫu cơ sở dữ liệu kết quả

Với mỗi cơ sở dữ liệu đã tạo ra, học viên tiến hành kiểm thử nhiều lần để đánh

giá độ tin cậy nhằm ngày càng nâng cao tỉ lệ phát hiện đúng đối tượng. Do đó, mỗi

một cơ sở dữ liệu có thể được xây dựng ít nhất một lần để đánh giá cơ sở dữ liệu

nào là tin cậy nhất để đưa vào hệ thống.

Trang 44

Page 45: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Quá trình thử cơ sở dữ liệu trên ảnh tĩnh nhằm đánh giá tỉ lệ phát hiện đúng

đối tượng tương ứng với đặc trưng chứa trong các file cơ sở dữ liệu “ .xml” tương

ứng.

Để kiểm thử cơ sở dữ liệu, dùng lệnh:

objectdetect.exe --cascade="tên_sơ_sở_dữ_liệu" tên_file

3.2.2.1 Đối với xe hơi cá nhân

Thử nghiệm trên 1 ảnh

Hình 3.3: Minh họa quá trình kiểm thử cơ sở dữ liệu “car_back.xml”

Kết quả cho thấy xe hơi trong ảnh đã được phát hiện đúng, xe được hình chữ nhật màu

xanh bao quanh.

Thử nghiệm trên nhiều ảnh tĩnh

Bảng 3.3: Kết quả kiểm thử cơ sở dữ liệu đặc trưng xe hơi cá nhân

Trang 45

Page 46: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 46

Page 47: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 47

Page 48: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 48

Page 49: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 49

Page 50: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Tiến hành kiểm thử tập cơ sở dữ liệu với 150 ảnh tĩnh xe hơi. Kết quả là có

142 ảnh được phát hiện đúng đối tượng xe trong ảnh, đạt tỉ lệ 95%.

Trang 50

Page 51: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

3.2.2.2 Đối với xe buýt

Thử nghiệm trên 1 ảnh

Hình 3.4: Minh họa quá trình kiểm thử cơ sở dữ liệu “bus_vn_full_22112008.xml”

Kết quả cho thấy xe buýt trong ảnh đã được phát hiện đúng

Thử nghiệm trên nhiều ảnh tĩnh

Trang 51

Page 52: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 3.4: Kết quả kiểm thử cơ sở dữ liệu đặc trưng xe buýt

Trang 52

Page 53: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 53

Page 54: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Tiến hành kiểm thử tập cơ sở dữ liệu với 180 ảnh tĩnh xe buýt. Kết quả là có

173 ảnh được phát hiện đúng đối tượng xe trong ảnh, đạt tỉ lệ 96%.

3.2.2.3 Đối với xe tải

Thử nghiệm trên 1 ảnh

Hình 3.5: Minh họa quá trình kiểm thử cơ sở dữ liệu “truck_vn_26112008.xml”

Kết quả trên được đánh giá là thành công vì đối tượng xe tải trong ảnh đã được phát hiện

đúng.

Thử nghiệm trên nhiều ảnh tĩnh

Trang 54

Page 55: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 3.5: Kết quả kiểm thử cơ sở dữ liệu đặc trưng xe tải

Trang 55

Page 56: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 56

Page 57: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 57

Page 58: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Tiến hành kiểm thử cơ sở dữ liệu truck_vn_26112008.xml với hơn 120 ảnh

tĩnh. Kết quả có 115 ảnh được phát hiện đúng, tương ứng với tỉ lệ 96%.

Bảng 3.6: Tổng kết các kết quả kiểm thử CSDL đặc trưng xe

Loại xe

Số lượng ảnh

kiểm thử

Số lượng ảnh

phát hiện đúngTỉ lệ

Xe hơi cá nhân 150 142 95%

Xe buýt 180 173 96%

Xe tải 120 115 96%

3.3 TIẾN HÀNH XÂY DỰNG THUẬT TOÁN

3.3.1 Thuật toán phát hiện xe

Nhờ vào sự hỗ trợ của công cụ OpenCV version 1.0 (áp dụng thư viện mã

nguồn mở về thị giác máy tính trên nền .NET) do Intel phát triển, tác giả sử dụng

thuật toán phát hiện đặc trưng đối tượng là Haar-like với các lệnh

“HaarClassifierCascade” và “cvHaarDetectObjects” để thực hiện chức năng

phát hiện xe, sẵn sàng cho bước tiếp theo là tiến hành nhận dạng ra kiểu dáng xe đó.

3.3.2 Thuật toán nhận dạng kiểu xe

Trong thực tế, khi con người quan sát một chiếc xe đang lưu thông trên đường,

thì ngay lập tức người đó sẽ nhận biết ngay rằng xe đó xe loại gì, có thể được liệt kê

như: xe hơi cá nhân, xe buýt, xe tải,… Đó là do qua kinh nghiệm, người đó đã chủ

động nhận biết được kiểu dáng xe đó từ các nguồn thông tin tin cậy khác nhau trong

quá khứ. Quá trình này có thể cũng được coi như là người đó đã được “huấn luyện

Trang 58

Page 59: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

trước” hình dáng đặc trưng của chiếc xe đó. Vì vậy, khi quan sát chiếc xe, lập tức

người đó sẽ biết được loại xe đó là gì.

Tuy vậy, nhưng máy tính thì không thể giống con người, nghĩa là không thể

nhận biết ngay được là có đối tượng xe với hình dáng đặc trưng cần phát hiện trong

vùng thị trường hay không. Vì vậy, để cho máy tính biết được kiểu dáng của từng

loại xe, ta cần phải cho hệ thống biết được các kiểu dáng xe đó từ trước thông qua

quá trình huấn luyện dựa trên các bộ phân loại mà học viên đã thiết lập qua các mẫu

hình đã được chọn lọc kỹ càng. Mỗi một bộ phân loại các hình ảnh mẫu đối tượng

đó, học viên đã gắn một nhãn tương ứng với tên của cơ sở dữ liệu kiểu dáng xe (xe

hơi cá nhân, xe buýt, xe tải, …).

Bộ phân loại kiểu dáng xe này có chức năng như là một cơ sở dữ liệu chứa các

đặc trưng của từng loại xe. Vì vậy, sau này khi một chiếc xe bất kỳ được phát hiện

trong khung hình hay vùng thị trường của camera, thì lập tức nó được so sánh với

hình ảnh và đặc trưng đã có trong cơ sở dữ liệu này. Nếu các đặc trưng là phù hợp

với đặc trưng có trong cơ sở dữ liệu, thì từ đó mới có thể xuất ra được dòng thông

báo tên kiểu dáng xe được nhận dạng trên từng khung chữ nhật bao đối tượng.

Chương trình nhận dạng xe được thể hiện trong Hình 3.6, thể hiện một chu kỳ

làm việc của hệ thống.

Trang 59

Page 60: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Hình 3.6: Sơ đồ khối của chương trình nhận dạng xe

Trang 60

Page 61: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Mã lệnh chương trình thực thi thuật toán nhận dạng được trình bày trong Bảng

3.7.

Bảng 3.7: Mã lệnh điển hình của thuật toán phát hiện và nhận dạng xe hơi

const char* cascade_name4 = "car_front_back.xml";

CvMemStorage* storage1 = cvCreateMemStorage(0);

cascade1 = (CvHaarClassifierCascade*)cvLoad(cascade_name4, 0, 0, 0);

CvSeq* object1 = cvHaarDetectObjects(gray7, cascade1, storage1, 1.05,

2, CV_HAAR_DO_CANNY_PRUNING, cvSize(20,16));

int i1;

for (i1 = 0; i1 < (object1 ? object1->total : 0); i1++)

{

CvRect* r1 = (CvRect*)cvGetSeqElem(object1, i1);

pt1.x = r1->x;

pt1.y = r1->y;

pt2.x = r1->x + r1->width;

pt2.y = r1->y + r1->height;

cvRectangle(display, pt1, pt2, CV_RGB(255,0,0), 2, 8, 0);

cvPutText(display, "car", cvPoint(pt1.x, pt1.y - 4), &font, ...

... CV_RGB(255, 0, 0));

}

3.3.3 Thuật toán ước lượng khoảng cách

Thuật toán này được học viên áp dụng trên từng đối tượng xe được nhận dạng,

và quá trình được diễn ra theo thời gian thực.

Trong thực tế, mắt người khi đang quan sát chiếc xe, thì người đó sẽ có thể

ước lượng được khoảng cách từ người đó đến chiếc xe dựa theo kinh nghiệm. Có

nghĩa là, mắt người bình thường khi quan sát một chiếc xe, thì dựa vào kích thước

của hình ảnh mà mắt thu nhận được sẽ ước lượng được khoảng cách từ người đó

Trang 61

Page 62: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

đến chiếc xe. Ví dụ, với cùng một loại xe, với một chiếc ở xa thì hình ảnh quan sát

được sẽ nhỏ hơn so với hình ảnh của một chiếc xe ở gần (Hình 3.7). Chính vì vậy,

việc ước lượng khoảng cách là cần thiết để có thể áp dụng vào các hệ thống quan sát

giao thông thực tế. [1, phần 3.3]

Hình 3.7: Mô hình hóa thuật toán ước lượng khoảng cách

Chính vì lý do đó, nhằm nâng cao chức năng quan sát của camera trong cảnh

quang giao thông, học viên đã tích hợp vào hệ thống thuật toán ước lượng khoảng

cách giữa camera với chiếc xe đang được phát hiện. Thuật toán này được dùng để

ước lượng khoảng cách giữa camera và đối tượng xe hơi dựa vào thông số liên quan

như: chiều dài tiêu cự của camera, thông số quy đổi từ pixel ra milimet tại mặt

phẳng tiêu cự và độ lớn thực tế điển hình của xe. [2, trang 75, phần 4.5]

Hình 3.8: Mô hình camera quan sát trong không gian 3-D [6, trang 27]

Trang 62

Page 63: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trong thực tế, ước lượng khoảng cách dựa trên cách tính của thị giác máy tính

được ứng dụng rộng rãi và có tầm quan trọng trong các hệ thống quan trắc trực

tuyến hệ thống giao thông nhằm giúp tăng thêm công cụ hỗ trợ cho hệ thống giám

sát giao thông.

Cụ thể, công thức ước lượng khoảng cách theo lý thuyết được tính theo công

thức: [6, trang 2628] [link 3, chapter 1-2]

Với,

f : là chiều dài tiêu cự của camera

Z : là chiều dài ước lượng (cần tìm) giữa camera đến đối tượng

X : là kích thước thực tế của đối tượng (đơn vị chiều dài)

x : là kích thước ảnh của đối tượng (pixel)

Trong thực tế, khoảng cách ước lượng còn cần một thông số quy đổi đơn vị

pixel ra mm trong mặt phẳng tiêu cự chor hoặc cvert . [2, trang 75]

Công thức ước lượng khoảng cách được sử dụng trong luận văn là:

(công thức được sử dụng chính)

hoặc

Do tính đồng nhất, ít biến đổi về mặt kích thước chiều ngang thực tế của mỗi

loại xe; nên trong luận văn, học viên chỉ thực hiện áp dụng công thức ước lượng

khoảng cách dựa theo chiều ngang .

Với,

Z : (mm), là chiều dài ước lượng (cần tìm) giữa camera đến đối tượng.

Trang 63

Page 64: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

chor , cvert : là tham số chuyển đổi từ pixel thành milimet, theo hướng ngang

hoặc thẳng đứng.

f : (mm), là chiều dài tiêu cự của camera.

W, H : (m), là chiều rộng ngang hoặc chiều cao thực tế điển hình của loại xe

quan sát.

w, h : (pixel) là chiều rộng ngang hoặc chiều cao trong ảnh quan sát của xe.

Trong quá trình thực hiện luận văn, học viên cũng đã tiến hành kiểm chứng

thực nghiệm lại công thức này và nhận được kết quả ước lượng khoảng cách camera

đến xe là khá chính xác, với mức độ sai số chấp nhận được.

Mã lệnh thực thi thuật toán ước lượng khoảng cách được ghi trong Bảng 3.8.

Bảng 3.8: Mã lệnh thực hiện thuật toán ước lượng khoảng cách

double Z1;

c_hor = m_chor; // m_chor nhap tu khung edit box

c_vert = m_cvert; // m_cvert nhap tu khung edit box

f = m_focal; // mm, focus length = 2m

W1 = m_car_width; // mm, typical car 's width

H1 = m_car_height;

w1 = pt2.x - pt1.x; // pixel, object 's width

Z1 = (c_hor * f * W1) / w1; // khoang cach tinh theo chieu ngang

CString dist1;

dist1.Format("%0.1f", Z1/1000);// chia 1000 doi mm->m

cvPutText(display, dist1 + "m", cvPoint(pt1.x, pt2.y + 14),&font, ...

... CV_RGB(255,0,0)); // đơn vị mét

Trang 64

Page 65: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Hình 3.9: Minh họa kết quả ước lượng khoảng cách

Chú thích: Khoảng cách của mỗi xe xuất hiện trong khung hình được ghi ngay bên dưới

khung hình chữ nhật bao đối tượng xe đó.

3.3.4 Thuật toán đếm số lượng đối tượng

Thuật toán này được học viên áp dụng cho từng khung hình quan sát cảnh

quang giao thông nhằm đếm số lượng từng loại mẫu xe đã được nhận dạng. Phương

pháp đếm này sẽ cho ra kết quả là số lượng các đối tượng tức thời có trong khung

hình nhằm đánh giá mức độ ổn định của thuật toán phát hiện đối tượng.

Mã lệnh thực thi thuật toán đếm số lượng đối tượng được ghi trong Bảng 3.9.

Trang 65

Page 66: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 3.9: Mã lệnh thực hiện thuật toán đếm xe

// mã lệnh thuật toán đếm xe theo phân loại

CString count1;

count1.Format("%d", object1->total);

cvPutText(display,count1+"cars",cvPoint(5,220),&font,CV_RGB(255,0,0));

Hình 3.10: Minh họa kết quả đếm số lượng xe có trong khung hình

Chú thích: Kết quả đếm số lượng mỗi loại xe được hiển thị trong mục “COUNTING

RESULTS”

Trang 66

Page 67: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

3.4 TIẾN HÀNH XÂY DỰNG PHẦN MỀM

3.4.1 Chuẩn bị hệ thống và các công cụ lập trình thích hợp

Môi trường xây dựng chương trình phát hiện và nhận dạng là:

Máy tính chạy trên hệ điều hành Windows XP.

Máy tính có cài bộ Visual Studio 2003 Professional Edition, có tích

hợp .NET Framework version 1.1.

Sử dụng ngôn ngữ lập trình Visual C++, Visual C#.

Cài đặt bộ ngôn ngữ thị giác máy tính OpenCV 1.0 (C++) và SharperCV

(C#).

Các lệnh trong của Thị giác máy tính được tích hợp trong chương trình chạy

trên nền .NET Framework nhờ vào các thư viện headfile dạng thư viện .lib ; dạng

headfile .h và .hpp.

3.4.2 Tổ chức chương trình phần mềm hệ thống

Hình 3.11: Sơ đồ khối tổ chức phần mềm hệ thống

Hệ thống chương trình thực hiện các tác vụ:

Xử lý chuỗi ảnh video đầu vào.

Trang 67

Page 68: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Thực thi thuật toán Haar để phát hiện xe.

Tiến hành nhận dạng kiểu dáng xe dựa theo đặc trưng đã có trong cơ sở dữ

liệu.

Thực thi các tác vụ bổ trợ khác (đếm thời gian phát hiện đối tượng, ước

lượng khoảng cách, đếm số lượng từng loại xe, …).

Hiển thị thông tin và các thông số theo thời gian thực lên màn hình và giao

diện.

Hình 3.12: Sơ đồ khối hệ thống hoàn chỉnh tổ chức phần mềm hệ thống

Hệ thống phần mềm được thực hiện dựa trên hai phần chính:

Trang 68

Page 69: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Xử lý chuỗi ảnh video nhận được và phát hiện đặc trưng đối tượng xe dựa

trên thuật toán Haar.

Trích xuất thông tin & dữ liệu của xe có trong ảnh để ước lượng các thông số

liên quan.

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++

Chương trình sử dụng công cụ OpenCV 1.0 chạy trên nền Visual C++.NET

2003 để phát hiện xe hơi trong ảnh được mô tả như trong Hình 3.13.

Hình 3.13: Mô tả hệ thống phát hiện xe dùng thuật toán Haar

Sau khi phát hiện xe, sẽ tiến hành nhận dạng và khoanh vùng đối tượng xe

được nhận dạng. Các xe được phát hiện sẽ được học viên thực hiện khoanh vùng

đối tượng trong hình chữ nhật để thuận tiện hơn trong các xử lý về sau.

3.4.4 Hoạt động của phần mềm

Trang 69

Page 70: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Các bước hoạt động của chương trình được trình bày tóm tắt như sau (xem

chương trình có ghi kèm trong đĩa CD để thêm thông tin chi tiết)

a) Thu nhận tín hiệu hình ảnh

Từ camera

capture = cvCaptureFromCAM(CV_CAP_ANY);

Từ file video

capture = cvCaptureFromFile("MVI_1324.AVI");

b) Phát hiện xe

Dùng lệnh CvHaarClassifierCascade để phát hiện xe

const char* cascade_name1 = "car_frontal_back.xml";

cascade1 = (CvHaarClassifierCascade*)cvLoad(cascade_name1,0,0,0);

CvSeq* object1 = cvHaarDetectObjects(gray4, cascade1, storage, ...

... 1.05, 2, CV_HAAR_DO_CANNY_PRUNING, cvSize(20,20));

CvRect* car = (CvRect*)cvGetSeqElem(object1, i);

Với “car_frontal_back.xml” là file cơ sở dữ liệu chứa các đặc trưng của

nhóm phân loại xe hơi cá nhân đã được huấn luyện của xe với góc nhìn ở phía đuôi

xe.

c) Dùng khung hình chữ nhật bao quanh đối tượng được phát hiện

Với mỗi dạng xe được phát hiện và nhận dạng, dùng hình chữ nhật bao bao

quanh đối tượng. Ứng với mỗi dạng xe thì có màu sắc hình chữ nhật khác nhau.

pt1.x = r1->x;

Trang 70

Page 71: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

pt1.y = r1->y;

pt2.x = r1->x + r1->width;

pt2.y = r1->y + r1->height;

cvRectangle(display, pt1, pt2, CV_RGB(255,0,0), 2, 8, 0);

d) Hiển thị dòng chữ tên nhận dạng của phân loại xe được phát hiện

Tên của phân loại xe được nhận dạng được ghi ngay trên khung hình chữ nhật

bao quanh đối tượng để giúp người thực hiện dễ dàng theo dõi.

Tác vụ này là quan trọng giúp cho người tác giả thấy được kết quả nhận dạng

xe.

// hiển thị tên nhận dạng xe

cvPutText(display, "tên_phân_loại_xe", cvPoint(pt1.x, pt1.y), &font,

... CV_RGB(255,0,0));

e) Hiển thị khoảng cách của camera tới xe

Tương tự như bước hiển thị dòng chữ tên nhận dạng, khoảng cách từ camera

đến xe và vận tốc được ghi ngay trên khung hình chữ nhật bao đối tượng.

// hiển thị khoảng cách mỗi xe tới camera, đơn vị là mét

cvPutText(display, dist + "m", cvPoint(pt1.x, pt2.y),&font, ...

... CV_RGB(255, 0, 0));

Trang 71

Page 72: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

f) Hiển thị số lượng các đối tượng xe riêng biệt

Thông tin về số lượng tức thời hiện có trong khung hình các loại xe được đếm

và hiển thị theo thời gian thực, được hiển thị tại một vị trí cố định trên cửa sổ

video.

// hiển thị số lượng từng loại xe

cvPutText(display, "obj. count = " + count, cvPoint(5,15), &font, ...

... CV_RGB(255, 0, 0));

3.4.5 Giao diện của chương trình phần mềm hệ thống

Giao diện của chương trình phát hiện, nhận dạng đối tượng xe như trong Hình 3.14.

Hình 3.14: Giao diện chương trình nhận dạng xe

Trang 72

Page 73: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Chú thích

- Mục “RECOGNITION”: thực hiện tác vụ dò tìm và nhận dạng xe.

- Mục “TASKS”: thực hiện các tác vụ đánh số thứ tự các xe cùng dạng, hiển thị thời gian

nhận dạng, thực hiện ước lượng khoảng cách, và thực hiện đếm số lượng từng loại xe xuất

hiện trong khung hình.

- Mục “COUNTING RESULTS”: hiển thị kết quả đếm xe đã nhận dạng.

- Mục “CAMERA PARAMETERS”: cho phép điều chỉnh thông số của camera hoặc thông

số của file video (.AVI).

- Mục “DIMENSIONS”: cho phép điều chỉnh độ rộng (hoặc cao) thực tế điển hình của

từng loại xe CAR, BUS, và TRUCK.

3.5 HỆ THỐNG PHẦN CỨNG VÀ CÁC CÔNG CỤ LIÊN QUAN

3.5.1 Camera

Camera sử dụng trong luận văn là camera kỹ thuật số Nikon E4300 (4 megapixel)

Hình 3.15: Mẫu camera được sử dụng trong luận văn

Camera này dùng để ghi hình cảnh quang giao thông nhằm hỗ trợ cho quá

trình thực hiện luận văn.

Ngoài ra, camera này cũng được học viên dùng để chụp ảnh tĩnh các xe dùng

làm mẫu huấn luyện.

Trang 73

Page 74: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

3.5.2 Máy tính cá nhân và các công cụ phần mềm

Máy tính sử dụng trong luận văn với mục đích làm nền tảng huấn luyện tạo

dựng cơ sở dữ liệu đặc trưng các đối tượng xe.

Đồng thời, máy tính được cài đặt OpenCV, Visual Studio .NET và nền tảng

lập trình .NET Framework.

Trang 74

Page 75: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

CHƯƠNG 4

KẾT QUẢ - NHẬN XÉT VÀ

PHÂN TÍCH

4.1 KẾT QUẢ

Về mặt ánh sáng

Trong môi trường ánh sáng ngoài trời tại thực địa cảnh quang giao thông,

bình thường với cường độ khoảng 300 400 lux, hiệu quả phát hiện xe là

khá tốt.

Về mặt không gian

Các xe khi quan sát với nhiều góc độ khác nhau theo các phương x, y, z trong

khoảng 30o vẫn phát hiện tốt. (Bảng 4.1)

Kết quả thực thi hệ thống

Bảng 4.1: Các kết quả xử lý nhận dạng

Bảng 4.1a: Kết quả xử lý nhận dạng xe buýt

Trang 75

Page 76: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 76

Page 77: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 77

Page 78: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 78

Page 79: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 79

Page 80: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 80

Page 81: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 81

Page 82: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 82

Page 83: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 83

Page 84: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 4.1b: Kết quả xử lý nhận dạng xe hơi cá nhân

Trang 84

Page 85: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 85

Page 86: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 86

Page 87: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 87

Page 88: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 88

Page 89: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 89

Page 90: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Trang 90

Page 91: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 4.1 c: Kết quả xử lý nhận dạng xe tải

Trang 91

Page 92: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Bảng 4.2: Kết quả xử lý nhận dạng xe tổng hợp

Chú thích các hình trong Bảng 4.1a, b, c và Bảng 4.2

Mỗi xe hơi cá nhân được nhận dạng sẽ được khoanh vùng bằng hình chữ nhật màu

đỏ. Tương tự cho xe buýt với khung chữ nhật màu xanh, xe tải với khung chữ nhật

màu vàng.

Các xe xuất hiện trong hình được đánh số thứ tự (0, 1, …) từ thấp đến cao phụ

thuộc vào thứ tự thời gian xuất hiện trước – sau trong khung hình.

Mỗi một xe sau khi được phát hiện sẽ được ước lượng khoảng cách từ xe đó đến

camera ghi hình. Khoảng cách được ghi bên dưới mỗi khung chữ nhật bao đối

tượng (đơn vị mét).

Tổng số lượng xe xuất hiện tức thời trong khung hình được đếm và ghi ngay lập tức

lên khung báo trên giao diện (Mục COUNTING RESULTS).

Do trong quá trình sưu tầm hình ảnh giao thông tại thực địa, ít có các tình

huống 2 hoặc 3 loại xe xuất hiện cùng lúc trong khung hình nên ảnh chụp màn hình

không thể có nhiều các tình huống đó được.

Trang 92

Page 93: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Kết quả đánh giá độ chính xác trong nhận dạng xe trong ảnh động (video)

dùng phần mềm của luận văn so với nhận định cảm quan của học viên (mắt người)

được ghi trong Bảng 4.3.

Bảng 4.3: Đánh giá độ chính xác trong nhận dạng của phần mềm luận văn

Loại xe

Số lượng xe

kiểm thử

Số lượng xe

nhận dạng đúngTỉ lệ

Xe hơi cá nhân 47 43 91.5%

Xe buýt 50 48 96%

Xe tải 7 5 71.4%

Hệ thống vẫn có thể phát hiện xe đến khi xe còn kích thước tối thiểu quy định

trong dòng mã lệnh phát hiện.

4.2 NHẬN XÉT

4.2.1 Ưu điểm

Hệ thống vẫn hoạt động tốt ở điều kiện thử nghiệm cho phép.

Trên cơ sở hệ thống đã hoàn tất, có thể phát triển, mở rộng thêm với nhiều

ứng dụng hữu ích và lý thú khác phục vụ công tác học tập, nghiên cứu sâu

hơn và ứng dụng thực tiễn.

4.2.2 Khuyết điểm

Trong quá trình thực hiện, luận văn cũng có những thiếu sót mang tính khách

quan và chủ quan:

Trang 93

Page 94: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

4.2.2.1 Chủ quan

Do khó khăn về cơ sở dữ liệu: Tư thế xe trong ảnh càng nghiêng theo các

hướng bất kỳ thì quá trình xây dựng cơ sở dữ liệu từ quá trình máy tính học

huấn luyện kết quả không tốt, khiến cho hệ thống hoạt động không ổn định.

Hệ thống hiện tại chưa đáp ứng được tính chính xác và ổn định cao trong tác

vụ phát hiện đối tượng có sự biến chuyển của môi trường ngoại cảnh, ví dụ

như có sự thay đổi về thuộc tính về màu sắc, tư thế quan sát của đối tượng,

cường độ sáng, độ phức tạp của nền ảnh.

Còn nhiều thiếu sót trong khâu chuẩn bị ảnh mẫu nhằm phục vụ tác vụ huấn

luyện.

Tuy nhiên, hệ thống không tránh khỏi lỗi phát hiện sai đối tượng do bị chói

sáng, ngược sáng, xe bị che khuất bởi các đối tượng không mong muốn khác

(xe máy, một phần của xe khác, cây cối,…). Thực tế cho thấy, hình ảnh thí

nghiệm (tập tin video) được ghi hình trong thời gian từ 7 giờ sáng đến 4 giờ

chiều cho kết quả nhận dạng tốt hơn các thời gian còn lại. Điều này được giải

thích từ độ sáng đủ hoặc ánh nắng góp phần làm rõ đối tượng hơn so với nền

ảnh và làm tăng thêm đặc trưng để nhận dạng.

4.2.2.2 Khách quan

Yếu tố khách quan bao gồm các vấn đề khó khăn trong khi xây dựng hệ thống.

Trang 94

Page 95: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

a) Các khó khăn về phương pháp

Đa số các hướng tiếp cận phát hiện vật thể, đặc biệt là xe một cách tự động

hiệu quả nhất hiện nay thường dựa vào việc tìm ra mô hình hoặc bộ phân lớp hoặc

một cơ sở dữ liệu đặc tả tốt nhất hình dáng một chiếc xe. Việc hệ thống có khả năng

hoạt động tốt trong bất kỳ tình huống, điều kiện thu nhận ảnh nào trong bất kỳ tình

huống nào với các tư thế quan sát xe khác nhau là cực kỳ khó khăn, mặc dù đối với

con người, việc này là hoàn toàn đơn giản trong đa số các trường hợp thông thường.

Từ định nghĩa cụ thể cho từng kiểu hình dáng của một chiếc xe cho đến cách

tiếp cận để phát hiện và nhận dạng được xuất phát từ nhiều đặc điểm, với các lý do

sau đây [9, trang 1315] [12, trang 410411]:

Hình dáng xe: hình dáng xe hơi có thể nói là đa dạng cũng như phức tạp đối

với người quan sát hoặc đối với thuật toán phát hiện và nhận dạng. Bên cạnh

đó sự đa dạng về màu sắc cũng là một thách thức đối với quá trình thực hiện

tác vụ phát hiện xe trong cảnh quang giao thông. Ngoài ra, xe còn có tính đa

dạng về hình dáng bên ngoài. Các xe có chức năng khác nhau thì có hình

dáng khác nhau. Ví dụ xe hơi cá nhân (4 hoặc 6 chỗ ngồi) có các đặc trưng

về nắp capô trước và sau (có thể một số dòng xe không có capô sau), xe buýt

thì có chiều cao đặc trưng và phía sau không có nắp capô cũng như là không

có gờ nổi đặc trưng giống như ở xe hơi cá nhân.

Trong một số trường hợp đặc biệt xe được thêm các chi tiết màu sơn, biển

quảng cáo gắn thêm trên xe, các xe bị biến đổi về mặt hình thức dẫn đến sự

biến dạng hoặc che lấp các đặc điểm đặc trưng của xe đều là những khó khăn

trong quá trình xử lý phát hiện.

Trang 95

Page 96: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Tư thế xe và góc độ quan sát: hệ thống có thể phát hiện ra đối tượng xe trong

cảnh quang giao thông hay không, còn phụ thuộc vào góc độ quan sát và vị

trí đặt camera quan sát xe đó. Xe được nhìn chính diện từ phía trước hoặc

phía sau là các vị trí chứa nhiều thông tin đặc trưng về xe nhất, từ đó camera

gắn với máy tính mới thu thập nhiều thông tin đặc trưng nhất về xe và được

xem là ảnh chuẩn khi huấn luyện để tạo lập cơ sở dữ liệu hoặc để áp dụng

cho tác vụ phát hiện sau này.

Các đặc điểm đặc trưng của xe hầu hết nằm ở phía trước – sau và bên hông

của chiếc xe, nơi mà các kính chắn gió, cửa sổ hông, đèn chiếu trước – sau

đều có mối tương quan tỉ lệ về kích thước, vị trí tương đối của chúng với

nhau.

Tuy nhiên, với tư thế quan sát xe nhìn nghiêng, nhìn từ trên xuống hoặc kết

hợp của các tư thế kể trên vẫn chứa được một phần thông tin đặc trưng của

đối tượng đủ để làm căn cứ cho quá trình phát hiện sau này.

Sự có mặt của đối tượng khác: các đối tượng xe cần quan sát khi xuất hiện

trong ảnh có thể bị các vật thể khác che chắn một phần hoặc toàn phần, ví dụ

như cây cối, các xe khác, con người,… làm thiếu thông tin đối tượng, kết quả

phân tích, và kết quả phát hiện xe sẽ bị ảnh hưởng ít nhiều.

Điều kiện ghi nhận ảnh: sự xuất hiện của xe trong các điều kiện chiếu sáng

khác nhau (bao gồm kiểu chiếu sáng, cường độ sáng và màu sắc của nguồn

sáng) cũng như các đặc tính của hệ thống thu thập dữ liệu ảnh (camera, máy

ảnh, hệ thống gương phản xạ, thấu kính, …) góp phần ảnh hưởng không nhỏ

đến kết quả phát hiện xe của hệ thống.

Trang 96

Page 97: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Nền ảnh và điều kiện của môi trường ghi nhận ảnh: hai vấn đề này là đáng

được qua tâm bởi sự ảnh hưởng của nó đến quá trình phát hiện là không nhỏ.

Khi nền ảnh càng chứa nhiều thành phần (bao gồm nhiều chi tiết rối rắm,

màu sắc, hình dáng phức tạp giống với đối tượng – nhưng không phải đối

tượng - , …) hoặc môi trường không đồng nhất về ánh sáng (ngược sáng, ảnh

bị bóng râm che một phần hoặc toàn phần lên đối tượng) hoặc sự biến đổi

liên tục, xuất hiện rồi biến mất quá nhanh, nhanh hơn tốc độ ghi hình của

camera, thì vấn đề phát hiện càng thêm khó khăn và phức tạp.

Những yếu tố nêu trên vẫn có giá trị với trường hợp “ảnh” thu được nhờ vào

các phương phát phát hiện khác với hướng tiếp cận khác để thu được kết quả

tin cậy. Khi đó, phụ thuộc và thuộc tính riêng của loại “nguồn sáng” này mà

người ta sẽ sử dụng thêm các phương pháp xử lý mới.

Sự biến đổi – xuất hiện liên tục và quá nhanh – nhanh hơn tốc độ ghi hình

của camera thì vấn đề phát hiện càng thêm khó khăn và phức tạp. Một số xe

đột ngột xuất hiện trong khung ảnh cũng như biết mất khỏi tầm thị trường

của camera là một trong những khó khăn khó có thể tránh khỏi trong quá

trình thực thi hệ thống. Trong trường hợp này, yêu cầu các xe quan sát phải

có thời gian xuất hiện trong tầm thị trường của camera ít nhất vài giây để

camera có thể quan sát tốt và thực hiện tác vụ phát hiện và nhận dạng.

b) Các khó khăn về tốc độ thực thi và tốc độ hệ thống

Việc lựa chọn cách giải quyết sao cho hệ thống phát hiện bám theo đối tượng

trong phạm vi thị trường của camera, điều kiện cho phép là tốt nhất là một thử thách

khi đã có nhiều cách và phương pháp tiếp cận khác nhau. Bên cạnh đó còn phải kể

đến sự trả giá cho công nghệ (hiệu quả cao nhưng bù lại tốc độ chậm và ngược lại).

Trang 97

Page 98: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

4.3 PHÂN TÍCH KẾT QUẢ ĐẠT ĐƯỢC

Với các ưu điểm và khuyết điểm vừa nêu, sau đây là một số hướng giải quyết

khả thi:

Sau một thời gian tìm hiểu, một vài cách khắc phục lia góc máy (khi ghi hình

video) có thể được khắc phục bằng cách bổ sung các tính năng: cân chỉnh

biểu đồ màu histogram (xử lý cân bằng độ sáng) để có ảnh thích hợp rồi mới

cho chương trình xử lý phát hiện đối tượng trong ảnh. Nhưng nếu bổ sung

tính năng này thì tốc độ đáp ứng của hệ thống sẽ bị giảm rõ rệt. Đó có thể gọi

là sự trả giá để đổi lại cho tính năng tốt.

Về vấn đề tốc độ hoạt động chung của hệ thống, do phụ thuộc vào nhiều yếu

tố như: tốc độ của thiết bị thu nhận (tốt nếu như tiếp nhận được nhiều hơn 15

khung hình trong một giây); tốc độ phân tích ảnh; tốc độ xử lý và ra quyết

định và tốc độ dịch chuyển của của đối tượng cần phát hiện có trong ảnh…

nên nhìn chung sẽ có nhiều vấn đề cần xem xét thêm tùy vào hướng phát

triển và ứng dụng cụ thể của hệ thống.

Tính hiệu quả của hệ thống có thể được cải thiện tốt hơn bằng cách lập trình

linh hoạt hơn và tối ưu về mã code, có tính đến các ưu tiên và xử lý tốt các

tình huống sự cố ngoài ý muốn (ngoại cảnh,…), không loại trừ xét đến các số

liệu ghi nhận và thống kê để góp phần khắc phục và hoàn thiện hệ thống.

Trang 98

Page 99: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

CHƯƠNG 5

KẾT LUẬN

5.1 KẾT QUẢ ĐẠT ĐƯỢC VÀ Ý NGHĨA

Qua quá trình nghiên cứu, thử nghiệm, và thực hiện đề tài trong thời gian cho

phép với những công cụ lập trình hỗ trợ, học viên đã hoàn thành hệ thống phát hiện

và nhận dạng đối tượng xe với các kết quả cụ thể.

5.1.1 Kết quả đạt được

Lựa chọn và thực hiện thành công phương pháp phát hiện và nhận dạng xe

với nhiều phương pháp khác nhau đã và đang được nghiên cứu phát triển -

với Visual C++ là ngôn ngữ lập trình mới, theo xu hướng phát triển phần

mềm trên nền tảng .NET Framework phiên bản 1.1 và cao hơn.

Phối hợp tương đối tốt giữa ngôn ngữ lập trình trên Visual C++ .NET của

Thị giác máy tính với lý thuyết Xử lý ảnh số.

Tiếp cận thành công các thuật toán Xử lý quang học trong việc ước lượng và

định lượng các thông số trực tuyến của tình trạng giao thông.

Trang 99

Page 100: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Là cơ hội tốt mà qua đó học viên đã có những tìm hiểu thêm về lĩnh vực xử

lý ảnh số, thị giác máy tính và cách ứng dụng vào thực tế quan sát đối tượng

xe trong cảnh quang giao thông.

5.1.2 Ý nghĩa

Mô hình hóa được ở mức cơ sở hệ thống quan trắc trực tuyến hệ thống giao

thông sử dụng camera và các công cụ lập trình tiên tiến kèm theo. Từ đó,

người thực hiện có thể dễ dàng tiếp cận được phương thức quản lý và hiệu

chỉnh tình trạng giao thông ở mức hợp lý, phù hợp hơn với ngữ cảnh giao

thông trong nước.

Hệ thống có thể được phát triển thêm ở cấp độ cao hơn với cách bố trí lệnh

code hợp lý hơn nhằm tăng tốc độ cho hệ thống, bên cạnh đó cũng phải đảm

bảo độ tin cậy và chính xác cho hệ thống, nhằm đáp ứng được nhu cầu

nghiên cứu học thuật và áp dụng nó trong thực tế.

Hệ thống hóa phương pháp phát hiện và nhận dạng đối tượng nói chung và

đối tượng xe nói riêng sẽ tạo bước phát triển mới cho phương thức quan trắc

giao thông theo hướng hiện đại. Có thể triển khai ở điều kiện giao thông

trong nước, từ đó nâng cao khả năng điều tiết giao thông như các nước có

trình độ cao hơn đã và đang thực hiện.

5.2 HƯỚNG PHÁT TRIỂN

Có những đối tượng khác nhau trong một số tình huống khác nhau mà ta có

thể chọn lựa phương pháp nhận biết sao cho phù hợp giữa hai phương pháp

nhận dạng dựa trên hình dáng của vật thể hoặc nhận biết theo màu sắc. Tuy

nhiên, có sự kết hợp phù hợp từ hai phương pháp trên dựa vào ảnh thu được

Trang 100

Page 101: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

từ camera sẽ giúp hệ thống cải thiện đáng kể khả năng phát hiện đúng đối

tượng, từ đó nâng cao độ tin cậy cho hệ thống.

Hệ thống cũng có thể phát triển theo hướng nhận dạng đối tượng (object

recognition), nghĩa là khi nhận dạng được hình dáng xe, sẽ tiếp tục “huấn

luyện” trực tuyến để tiếp tục trích xuất ra những đặc trưng chỉ có đối tượng

xe đó mới có (có thể dựa vào bảng số xe, vết lồi lõm riêng,…). Từ đó tiếp tục

quan sát và nhận dạng bám theo đối tượng xe đó. Việc nhận dạng bám theo

xe này trong môi trường giao thông “hỗn loạn” sẽ là một vấn đề thú vị có

nhiều ứng dụng.

Hệ thống cũng có thể được lập trình theo hướng tích hợp trên vi mạch sử

dụng ngôn ngữ lập trình hệ thống nhúng, hệ thống tích hợp trên vi mạch

(SoC - System on Chip),… sẽ là một ứng dụng mang tính linh hoạt hơn. Bởi

vì khi đó hệ thống không còn nhất thiết phải chạy trên nền tảng máy tính

- .NET Frameworks và các máy tính nữa. Được như vậy, thì đề tài sẽ có tính

ứng dụng linh hoạt cao hơn vào các lĩnh vực thực tế cuộc sống và các hoạt

động đảm bảo an toàn giao thông cho cả hệ thống giao thông cũng như từng

cá thể xe riêng biệt đang tham gia lưu thông trên hệ thống giao thông đó.

Theo nhận định của bản thân học viên, thì đây là một lĩnh vực hay, lý thú, có

nhiều ứng dụng thực tế và bên cạnh đó vẫn còn nhiều vấn đề cần hoàn thiện

thêm. Vì khả năng thực hiện có hạn và thời gian không nhiều cho luận văn

nên không tránh khỏi sơ sót và nhầm lẫn. Xin Quý Thầy Cô và các anh chị

học viên cũng như các bạn thông cảm. Mong rằng với những ai ham thích và

có hứng thú với hướng nghiên cứu này có thể chia sẻ với học viên để cùng

nhau tiếp tục tìm hiểu, phát triển thêm để nâng cao tính hữu dụng thực tế cho

đề tài. Đó cũng là một trong những mục tiêu chủ chốt và là lợi ích của ngành

học này.

Trang 101

Page 102: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

Lời cuối cùng kết lại nội dung quyển luận văn này, học viên xin chân thành cám ơn

đến tất cả các thầy cô, các anh và các bạn đã quan tâm theo dõi.

Trang 102

Page 103: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

PHẦN C

PHỤ LỤC

Trang 103

Page 104: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

TÀI LIỆU THAM KHẢO VÀ TRÍCH DẪN

[1] Jaesik Choi. Realtime On-Road Vehicle Detection with Optical Flows and Haar-like

feature detector. Computer Science Department ‘s paper report, 2000.

[2] Margrit Betke, Esin Haritaoglu. Real Time Multiple Vehicle Detection and Tracking

from a moving vehicle. Machine Vision and Applications, Springer, 2000.

[3] Vadim Pisarevsky. OpenCV Object Detection Theory and Practice. Intel Corporation,

Software and Solutions Group.

[4] Rainer Lienhart, Alexander Kuranov, Vadim Pisarevsky. Empirical Analysis of

Detection Cascades of Boosted Classifiers for Rapid Object Detection. MRL

Technical Report, December 2002.

[5] Yali Amit. 2D Object Detection and Recognition, Models, Algorithms, and Networks.

The MIT Press, 306 pages, 2002.

[6] Emanuele Trucco, Alessandro Verri. Introductory for Techniques for 3-D Computer

Vision. Prentice Hall, 341 pages, 2002.

[7] Florian Adolf. How to build a cascade of boosted classifiers based on Haar-like

features. 2003.

[8] Intel Corporation. OpenCV with Visual C++.NET 2003. OpenCV user guide.

[9] Julien Meynet. Fast Face Detection Using AdaBoost. 95 pages, 16th July 2003.

[10] Paul Viola, Michael Jones. Rapid Object Detection using a Boosted Cascade of

Simple Features . 2001

[11] Qing Chen. Real-time Vision-based Hand Gesture Recognition Using Haar-like

Features - Technology Conference, IMTC 2007.

[12] David A. Forsyth & Jean Ponce. Computer Vision: A Modern Approach. Prentice

Hall, 693 pages, 2003.

Trang 104

Page 105: LVTN Full Final

Võ Hồng Phong Luận văn tốt nghiệp

CÁC WEBSITE THAM KHẢO

[link 1] Intel OpenCV Group

http://www.intel.com/research/mrl/research/opencv/

[link 2] SharperCV

http://www.cs.ru.ac.za/research/groups/SharperCV/bin/SharperCV.msi

[link 3] Camera Calibration

Introduction & Chapter 1: Camera Models and Calibration

http://safari.oreilly.com/9780596516130/camera_model

Chapter 2: Calibration

http://safari.oreilly.com/9780596516130/calibration

Chapter 3: Undistortion

http://safari.oreilly.com/9780596516130/undistortion

Chapter 4: Putting Calibration All Together

http://safari.oreilly.com/9780596516130/putting_calibration_all_together

Chapter 5: Rodrigues Transform

http://safari.oreilly.com/9780596516130/rodrigues_transform

Chapter 6: Exercises

http://safari.oreilly.com/9780596516130/exercises-id010

Trang 105