SlideShare a Scribd company logo
Luận văn
Đề tài: Bài toán nhận dạng
biển số xe
Đồ Án Tốt Nghiệp 1 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
MỤC LỤC
MỞ ĐẦU.................................................................................................................. 7
CHƯƠNG 1. Tổng quan về nhận dạng.................................................................... 8
1.1 - Tính chất và sự cần thiết của bài toán nhận dang.................................................8
1.1.1 Tính chất ......................................................................................................8
1.1.2 Sự cần thiết. .................................................................................................8
1.2 - Không gian biểu diễn đối tượng, không gian diễn dịch. ....................................10
1.2.1 Không gian biểu diễn đối tượng ................................................................10
1.2.2 Không gian diễn dịch.................................................................................10
1.3 - Mô hình và bản chất của quá trình nhận dạng....................................................11
1.3.1 Mô hình......................................................................................................11
1.3.2 Bản chất của quá trình nhận dạng..............................................................12
CHƯƠNG 2. Xử lý ảnh và openCV ...................................................................... 15
2.1 - Xử lý nhị phân....................................................................................................16
2.2 - Giảm nhiễu. ........................................................................................................18
2.2.1 Bộ lọc hộp thông thường (Normalized Box filter). ...................................19
2.2.2 Bộ lọc gaussian (Gaussian Filter)..............................................................20
2.2.3 Bộ lọc Median (Median Filter):.................................................................21
2.2.4 Bộ lọc song phương (Bilateral filter).........................................................22
2.2.5 Filter2D......................................................................................................23
2.3 - Biên và các phương pháp tìm biên.....................................................................24
2.3.1 Khái niệm về biên:.....................................................................................24
2.3.2 Phương pháp Gradient. ..............................................................................24
2.3.3 Toán tử la bàn. ...........................................................................................29
2.3.4 Laplace.......................................................................................................31
2.3.5 Tách sườn ảnh theo Canny. .......................................................................33
Đồ Án Tốt Nghiệp 2 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
2.4 - Biến đổi Hough ..................................................................................................35
2.5 - Một số hàm cơ bản trong thư viện OpenCV ......................................................41
2.5.1 Tải một ảnh và hiển thị ảnh. ......................................................................41
2.5.2 Chuyển ảnh màu sang ảnh xám. ................................................................42
2.5.3 Tìm đối tượng bằng findContours ............................................................43
CHƯƠNG 3. Bài toán nhận dạng biển số xe. ....................................................... 45
3.1 - Khái niệm về nhận dạng biển số xe....................................................................45
3.1.1 Khái niệm...................................................................................................45
3.1.2 Ứng dụng. ..................................................................................................47
3.1.3 Phân loại biển số xe. ..................................................................................48
3.2 - Một số hướng giải quyết bài toán nhận dạng biển số xe....................................52
3.2.1 Hướng tiếp cận phát triển vùng. ................................................................52
3.2.2 Hướng tiếp cận dò biên và biến đổi Hough...............................................53
3.2.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của đồ án).............54
3.3 - Hướng giải quyết................................................................................................54
3.4 - Phát hiện vùng chứa biển số...............................................................................56
3.4.1 Giai đoạn 1: Biến đối ảnh xám và lọc ảnh.................................................57
3.4.2 Giai đoạn 2: Tiến hành phân ngưỡng hoặc phát hiện biên. .......................57
3.4.3 Giai đoạn 3: Tìm đường bao đối đượng. ...................................................58
3.4.4 Giai đoạn 4: Tách vùng biển số. ................................................................59
3.5 - Tách riêng từng ký tự .........................................................................................60
3.5.1 Giai đoạn 1: Tiến hành phân ngưỡng. .......................................................61
3.5.2 Giai đoạn 2: Tìm vùng đối tượng. .............................................................61
3.5.3 Giai đoạn 3: Tìm và tách vùng ký tự. ........................................................61
3.6 - Nhận dạng ký tự quang học ( mạng nơron)........................................................61
3.6.1 Mô hình nơron nhân tạo.............................................................................62
3.6.2 Mạng nơron................................................................................................63
Đồ Án Tốt Nghiệp 3 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
3.6.3 Mạng Kohonen...........................................................................................66
3.6.4 Mạng nơron nhiều lớp lân truyền ngược sai số .........................................71
CHƯƠNG 4. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe. .... 74
4.1 - Kết quả hướng giải quyết “phân ngưỡng và tìm đối tượng”..............................74
4.1.1 Kết quả dùng với phương pháp tìm biên Canny kết hợp với tìm vùng đối
tượng. 75
4.1.2 Kết quả dùng với phương pháp phân ngưỡng kết hợp tìm vùng đối tượng
75
4.1.3 Kêt luận......................................................................................................76
4.2 - Hướng phát triển của bài toán nhận dạng biền số xe. ........................................82
4.2.1 Nhận xét.....................................................................................................82
4.2.2 Hướng phát triển của bài toán....................................................................82
KẾT LUẬN............................................................................................................ 84
TÀI LIỆU THAM KHẢO...................................................................................... 85
Phụ lục.................................................................................................................... 86
Đồ Án Tốt Nghiệp 4 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Danh mục các hình vẽ
Hình 1.1 Nhận dạng vân tay trên máy ATM........................................................... 9
Hình 1.2 Phiên dịch viên Jibbigo ............................................................................ 9
Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng. ....................................................... 14
Hình 2.1 Quá trình xử lý ảnh................................................................................. 15
Hình 2.2 Các bước cơ bản trong hệ thống xử lý ảnh............................................. 15
Hình 2.3 (a) ngưỡng 40,(b) ngưỡng 121 ............................................................... 16
Hình 2.4 Sử dụng bộ lọc hộp thông thường. ......................................................... 20
Hình 2.5 sử dụng bộ lọc Gaussian......................................................................... 21
Hình 2.6 sử dụng bộ lọc Median ........................................................................... 22
Hình 2.7 sử dụng bộ lọc song phương................................................................... 23
Hình 2.8 filter2D nhân thay đổi tăng dần từ trái qua phải..................................... 24
Hình 2.9 Tìm biên bằng chức năng Sobel trong OpenCV .................................... 29
Hình 2.10 Mặt nạ 8 hướng theo Kirsh................................................................... 29
Hình 2.11 Tìm biên Laplace.................................................................................. 33
Hình 2.12 Tìm biên theo Canny ............................................................................ 35
Hình 2.13 Trục tọa độ đề các đi qua 2 điểm.......................................................... 36
Hình 2.14 Trục tọa độ đề các................................................................................. 36
Hình 2.15 Hệ tọa độ cực........................................................................................ 37
Hình 2.16 Đường thẳngHough trong tọa độ cực................................................... 38
Hình 2.17 Kết hợp giữa HoughLines với HoughCircles....................................... 40
Hình 2.18 Tìm thấy hình tròn trong mẫu có hình tròn. ......................................... 41
Hình 2.19 Tải một ảnh vào cửa sổ windows ......................................................... 42
Hình 2.20 Chuyển ảnh màu sang ảnh xám............................................................ 43
Hình 2.21 sử dụng findContours tìm đối tượng .................................................... 44
Hình 3.1 Hệ thống tự động nhận dạng biển số xe. ................................................ 46
Hình 3.2 Biển số mới............................................................................................. 52
Đồ Án Tốt Nghiệp 5 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Hình 3.3 Một số loại biển số xe thông dụng ......................................................... 54
Hình 3.4 (a) ảnh đầu vào (b) ảnh xử lý xám và lọc song phương......................... 57
Hình 3.5 ảnh sau khi tiến hành phân ngượng........................................................ 58
Hình 3.6 Tìm đường bao các đối tượng ................................................................ 59
Hình 3.7 Sau khi lọc bằng dặc điểm biển số và cắt riêng vùng biển số................ 60
Hình 3.8 Các ký tự được cắt sau khi tìm thấy vùng biển số.................................. 61
Hình 3.9 Mô hình nơron nhân tạo. ........................................................................ 62
Hình 3.10 Mạng nơron truyền thẳng và nhiều lớp. ............................................... 64
Hình 3.11 Mạng nơron hồi quy. ............................................................................ 64
Hình 3.12 Học tham số có giám sát....................................................................... 66
Hình 3.13 Lưới các nơron ..................................................................................... 67
Hình 3.14 Ánh xạ mặt cầu vào lưới nơron 15x15................................................. 71
Hình 3.15 Mạng nơron 2 lớp................................................................................. 72
Hình 4.1 Biển không nhận dạng được................................................................... 77
Hình 4.2 Vùng biển số trong quá trình phân ngưỡng............................................ 80
Hình 4.3 Mức xám thấp làm vùng biển số bị mất trong quá trình phân ngưỡng .. 80
Hình 4.4 Những biển số không nhận đủ ký tự ...................................................... 82
Đồ Án Tốt Nghiệp 6 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Danh mục các bảng
Bảng Tên bảng Trang
Bảng 1 Chi tiết tìm vùng biển số sử dụng dò biên Canny và tìm
vùng đối tượng.
77
Bảng 2 Chi tiết tìm vùng biển số sử dụng hướng phân ngưỡng và
tìm vùng đối tượng.
78
Bảng 3
Tìm vùng biển số trong các khoảng ngưỡng khác nhau
tăng dần.(biển được tìm thấy ở khoảng ngưỡng trước sẽ
không phải là đối tượng xét ở các khoảng ngưỡng sau).
79
Bảng 4
Tìm vùng biển số trong các ngưởng khác nhau giảm dần.
(biển được tìm thấy ở khoảng ngưỡng trước sẽ không phải
là đối tượng xét ở các khoảng ngưỡng sau).
80
Bảng 5
Chi tiết các khoảng ngưỡng phát hiện những biển số.( các
biển tách ly thành công ở khoảng ngưỡng trước không
được tính cho khoảng ngưỡng sau).
82
Đồ Án Tốt Nghiệp 7 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
MỞ ĐẦU
Hiện nay, với sự phát triển kinh tế xã hội đã bùng nổ số lượng phương tiện giao
thông. Gây ra những khó khăn trong công tác quản lý, xử lý vi phạm giao thông mà
nguồn nhân lực con người khó có thể đảm đương được. Vì vậy vần để cần thiết là có
một hệ thông quản lý, xử lý vi phạm giao thông tự động.
Để xây dựng hệ thống quản lý giao thông tự động thì “ Bài toán nhận dạng biển
số xe” là tiền đề để xây dựng những mô hình quản lý đó. Tuy nhiên, hiện nay ở Việt
Nam nhưng hệ thống quản lý đó chưa nhiều và lĩnh vực nhận dạng còn đang phát triển.
Từ những thực tế đó, trong thời gian làm đố án tốt nghiệp em đã quyết định lựa
chọn tìm hiểu về bài toán “ nhận dạng” trong đó chú trọng vào việc nhận dạng biển số
xe. Để phục vụ cho bước đầu trong hệ thống quản lý phương tiện giao thông tại Việt
Nam. Trong điều kiện năng lực và thời gian có hạn, nên báo cáo của em không tránh
khỏi những sai sót. Em kình mong thầy cô và các bạn đóng góp những ý kiến để em có
thể chỉnh sửa và bổ sung những phần thiếu sót để em hoàn thiện đề tài của mình.
Em xin chân thành cảm ơn Thầy Vũ Anh Dũng và các bạn đã hết lòng giúp đỡ,
chỉ bảo để em có thể hoàn thành tốt đồ án tốt nghiệp này.
Trong báo cáo đồ án lần này em trình bày thành 4 chương như sau.
Chương I: Tổng quan về nhận dạng.
Chương II. Xử lý ảnh và OpenCV.
Chương III. Bài toán nhận dạng biển số.
Chương IV. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe.
Đồ Án Tốt Nghiệp 8 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
CHƯƠNG 1. Tổng quan về nhận dạng.
1.1 - Tính chất và sự cần thiết của bài toán nhận dang.
1.1.1 Tính chất
- Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô
hình nào đó và gán cho chúng vào một lớp (gán đối tượng một tên gọi) dựa theo những
quy luật và các mẫu chuẩn. Quá trình nhận dạng dựa vào những mẫu học biết trước gọi
là nhận dạng có thầy (supervised learning); trong trường hợp ngược lại gọi là học
không thầy (non supervised learning).
- Nhận dạng là một bài toán quan trọng trong ngành thị giác máy tính.
1.1.2 Sự cần thiết.
- Cùng với sự phát triển không ngừng của kinh tế xã hội và các ngành kỹ thuật
hiện nay. Đòi hỏi sự quản lý và xử lý thông tin chính xác mà nó vượt quá sức của con
người. Vì vậy chúng ta cần có máy móc hoặc động làm giảm tải hoặc thay thế công
việc nặng nhọc, đòi hỏi sự chính xác cao và nhàm chán cho con người. Việc giúp máy
móc nhận dang (thu thập , phân loại thông tin) như còn người sẽ giúp máy móc hoạt
động hiệu quả giống như con người với độ chính xác cao hơn rất nhiếu.
- Một số ứng dụng của bài toán nhận dạng.
Nhận dạng dấu vân tay: ở Việt Nam đã được sử dụng trong việc chấm công,
điểm danh và làm khóa an toàn cho các loại cửa sắt, máy tính xách tay…. Nó tạo sự
tiện dụng và rất an toàn.
Đồ Án Tốt Nghiệp 9 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Hình 1.1 Nhận dạng vân tay trên máy ATM.
Thay vì phải nhập mã pin trên máy ATM thì bạn chỉ việc đặt ngón tay trỏ của mình
lên và giao dịch sẽ bắt đầu.
Nhận dạng giọng nói: ứng dụng này được tích hợp trên nhiều sản phẩm, bạn sẽ điều
khiển các thiết bị qua giọng nói của mình thay vì phải thao tác trực tiếp bằng tay, như
trong mô hình nhà thông minh, trên điện thoại…. Ví dụ : ứng dụng Jibbigo trên điện
thoại đi động , Ứng dụng này có thể dịch được tiếng nói của người sử dụng với 8 ngôn
ngữ khác nhau như tiếng Anh, Pháp, Đức, Nhật, Hàn Quốc, Philipin, Tây Ban Nha,
Trung Quốc.
Hình 1.2 Phiên dịch viên Jibbigo
Nhận dạng biển số xe: sẽ được giới thiệu tại Chương III
Đồ Án Tốt Nghiệp 10 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
1.2 - Không gian biểu diễn đối tượng, không gian diễn dịch.
1.2.1 Không gian biểu diễn đối tượng
Các đối tượng khi quan sát hay thu nhập được thường được biểu diễn bởi tập
các đặc trưng hay đặc tính. Như trong trường hợp xử lý ảnh, ảnh sau khi được tăng
cường để nâng cao chất lượng, phân vùng và trích chọn đặc tính, .được biểu diễn bởi
các đặc trưng như biên , miền đồng nhất…. Người ta thường phân các đặc trưng này
theo các loại như: đặc trưng tô pô (tập điểm), đặc trưng hình học và đặc trưng chức
năng. Việc biểu diễn ảnh theo đặc trưng nào còn phụ thuộc vào ứng dựng tiếp theo.
Ví dụ : giả sử đối tường X (ảnh, chữ viết, dấu vân tay,…) được biểu diễn bởi n
thành phần đặc trưng: X={x1,x2….,xn}; mỗi xi biểu diễn một đặc tính. Không gian biểu
diễn đối tượng thường gọi tắt là không gian đối tượng A được định nghĩa:
A={X1,X2……,Xm}
Trong đó mỗi Xi biểu diễn một đối tượng. Không gian này có thể là vô hạn.
nhưng để tiện xem xét thì ta chỉ xét tập hữu hạn.
1.2.2 Không gian diễn dịch.
Không gian diễn dịch là tập các tên gọi của đối tượng. Kết thúc quá trình nhận
dạng ta xác định được tên gọi cho các đối tượng trong tập không gian đối tượng hay
nói là đã nhận dạng được đối tượng.
Một hình thức gọi là Ω là tập tên đối tượng:
Ω ={ w1 ,w2,….wk} với wi, i= 1,2,….k là tên các đối tượng
Quá trình nhận dạng đối tượng f là một ánh xa f: A Ω với f là tập các quy luật
để định một phần tử trong A ứng với một phần tử trong Ω. Nếu tập các quy luật và tập
tên các đối tượng là biết trước như trong nhận dạng chữ viết có ( có 26 lớp từ AZ),
Đồ Án Tốt Nghiệp 11 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
người ta gọi là nhận dạng có thầy. Trường hợp hai là nhận dạng không có thày ( trường
hợp này khó khăn hơn).
1.3 - Mô hình và bản chất của quá trình nhận dạng.
1.3.1 Mô hình.
Việc chọn lựa một quá trình nhận dạng có liên quan mật thiết đến kiểu mô tả mà
người ta sử dụng để đặc tả đối tượng. Trong nhận dạng, người ta phân chia theo hai họ
lớp:
- Họ mô tả theo tham số.
- Họ mô tả theo cấu trúc.
Cách mô tả được lựa chọn sẽ xác định mô hình của đối tượng. Như vậy, chúng
sẽ có 2 loại mô hình: mô hình theo tham số và mô hình cấu trúc.
a. Mô hình tham số.
Mô hình tham số sử dụng một vector để đặc đối tương. Mỗi phần tử củavector
mô tả một đặc tính của đối tượng. Vì dụ: như trong các đặc trưng chức năng, người ta
sử dụng các hàm cơ sở trực giao để biểu diện. Và như vậy ảnh sẽ được biểu diễn bởi
một chuổi các hàm trực giao. Giả sử C là đường bao của ảnh C(i,j) là điểm thứ i trên
đường bao, i= 1,2…,n ( đường bao gồm n điểm).
Giả sử
x0= ∑ y0= ∑
là tọa độ điểm. Như vậy, moment trung tâm bậc p,q của đường bao là :
∑
Đồ Án Tốt Nghiệp 12 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
vector tham số trong trường hợp này chính là các moment µij với i=1,2,….,p và j =
1,2,…,q. Còn trong số các đặc trưng hình học, người ta hay sử dụng chu tuyến, đường
bao, diện tích và tỉ lệ T=4πS/p2
với S là diện tích, p là chu tuyến.
Việc chọn phương pháp biểu diễn sẽ làm đơn giản cách xây dựng. Tuy nhiên, việc
lựa chọn đặc trưng nào là hoàn toàn phụ thuộc vào ứng dụng.
b. Mô hình cấu trúc.
Cách tiếp cận của mô hình này dựa vào việc mô tả đối tượng nhờ một số khái niệm
biểu thị các đối tượng cơ sở trong ngôn ngữ tự nhiên. Để mô tả đối tượng, người ta
dùng một số dạng nguyên thủy như đoạn thẳng, cung …. Chẳng hạn một hình chữ nhật
được định nghĩa gồm 4 đoạng thẳng vuông góc với nhau từng đôi một. Trong mô hình
này người ta sử dụng một bộ kí hiệu kết thúc Vt, một bộ kí hiệu không kết thúc gọi là
Vn . Ngoài ra còn dùng một tập các luật sản xuất để mô tả cách xây dựng các đối tượng
phù hợp dựa trên các đối tượng đơn giản hơn hoặc đối tượng nguyên thủy. Trong cách
tiếp cận này, ta chấp nhận một khẳng định là: cấu trúc là kết quả của việc áp dụng luật
sản xuất theo những nguyên tắc xác định bắt đầu từ một dạng gốc bắt đầu. Một cách
hình thức, ta có thể coi mô hình này tương đương một văn phạm G=(Vt,Vn,P,S) với :
-Vt là bộ kí hiệu kết thúc,
-Vn là bộ ký hiệu không kết thúc,
-P là luật sản xuất,
-S là dạng ( ký hiệu bắt đầu).
1.3.2 Bản chất của quá trình nhận dạng.
Quá trình nhận dạng gồm 3 giai đoạn chính:
- Lựa chọn mô hình biểu diễn đối tượng.
Đồ Án Tốt Nghiệp 13 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
- Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học.
- Học nhận dạng.
Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng ( mô hình
tham số) hay định tính ( mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn
học. Học là giai đoạn quan trọng. Thao tác học nhằm cải thiện, điểu chỉnh việc phân
hoạch tập đối tượng thành lớp.
Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng
vào một lớp hay nói một cách khác gán cho đối tượng một tên.
a. Học có thầy ( supervised learning)
Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học có thầy. Đặc điểm cơ bản của
kỹ thuật này là người ta có một thư viện các mẫu chuẩn. Mẫu cần nhận dạng sẽ được
đem so sánh với mẫu chuẩn để xem nó thuộc loại nào. Ví dụ như trong một ảnh viễn
thám, người ta muốn phân biệt một cách đồng lúa, một cánh rừng hay một vùng đất
hoang mà đã có miêu tả về đối tượng đó. Vấn đề chủ yếu là thiết kế một hệ thống để có
thể đối sánh đối tượng trong ảnh với mẫu chuẩn và quyết định gán cho chúng vào một
lớp. Việc đối sánh nhờ vào các thủ tục ra quyết định dựa trên một công cụ gọi là hàm
phân lớp hay hàm ra quyết định.
b. Học không có thầy( non supervised learning)
Kỹ thuật này phải tự định ra cách lớp khác nhau và xác định các tham số đặc
trưng cho từng lớp. Học không có thầy khó khăn hơn. Một mặt, do số lớp không được
biết trước, mặt khác những đặc trưng của lớp cũng không biết trước. Kỹ thuật này
nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách tốt nhất. Bắt đầu từ tập dữ
liệu, nhiều thủ tực xử lý khác nhau nhằm phân lớp và nâng cấp dần để đạt được một
phương án phân loại.
Đồ Án Tốt Nghiệp 14 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Nhin chung, một hệ thống nhận dạng có thể tóm tắt sơ đồ sau.
Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng.
Đồ Án Tốt Nghiệp 15 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
CHƯƠNG 2. Xử lý ảnh và openCV
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho
ra kết quả mong muốn. kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh
“tốt hơn” (theo ý muốn) hoặc một kết luận.
Hình 2.1 Quá trình xử lý ảnh.
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem là đặc trưng
cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không
gian và có thể xem như hàm n biến . Do đó ảnh trong xử lý ảnh có thể xem như ảnh n
chiều.
Sơ đồ tổng quát của hệ thống xử lý ảnh:
Hình 2.2 Các bước cơ bản trong hệ thống xử lý ảnh
Và ở chương này chung ta sẽ được biết OpenCV hỗ trợ gì cho những bước xử lý
ảnh. Tiếp sau em sẽ giới thiệu các bước xử lý và OpenCV hỗ trợ xử lý ảnh như thế nào
(cung cấp thư viện gì).
Đồ Án Tốt Nghiệp 16 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Tiền xử lý
Các thao tác xử lý trên ảnh để chuẩn bị cho những bước phân tích tiếp theo.
Chẳng hạn như các thao tác: chọn ngưỡng để chuyển ảnh đa cấp xám, ảnh màu về dạng
nhị phân, giảm nhiễu để loại bỏ những dữ diệu không liên quan, phân đoạn để phân
tách cách thành phần trong ảnh và cuối cùng là làm mảnh hay dò biên để đễ dàng xác
định các vùng, các đặc trưng thích hợp và đối tượng cần quan tâm.
2.2 - Xử lý nhị phân
Mức xám là giá trị có thể có của điểm ảnh.
Với những ảnh đa cấp xám các thông tin đã sẵn ở dạng nhị phân chẳng hạn như các
chuỗi văn bản hay các đối tượng ảnh, thì phương pháp nhị phân thông thường sẽ được
thực hiện trước. Mục đích của phương pháp này sẽ tự động chọn một ngưỡng cần thiết
để tách ảnh ra làm hai phần: thông tin ảnh và thông tin nền. Việc chọn ngưỡng tốt
(ngưỡng mà có thể tách ảnh thành hai phần: phần ảnh, phần nền một cách chính xác)
luôn là một quá trình khó và dễ gây ra lỗi.
(a) (b)
Hình 2.3 (a) ngưỡng 40,(b) ngưỡng 121
Kết quả này sẽ gặp khó khăn khi độ tương phản giữa nền và các giá trị điểm ảnh là
thấp (chẳng hạn như xe màu xám nền mầu trắng), nét của văn bản mỏng hoặc dữ liệu
không được chiếu sáng tốt.
Đồ Án Tốt Nghiệp 17 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
Để thực hiện việc tách ngưỡng này thì OpenCV cung cấp chức năng threshold.
threshold( src_gray, dst, threshold_value, max_BINARY_value,threshold_type );
 src_gray: hình ảnh đầu vào.
 dst: hình ảnh đầu ra.
 threshold_value: giá trị thực hiện tách ngưỡng.
 max_BINARY_value: giá trị thực hiện tách ngưỡng nhị phân.
 threshold_type: một trong 5 ngưỡng hoạt động
5 ngưỡng hoạt động OpenCV cung cấp:
a. Threshold Binary: nếu giá trị các điểm ảnh cao hơn giá trị ngưỡng thì được thiết
lập giá trị mới là giá trị cao nhất (255), thấp hơn giá trị các điểm ảnh về mức 0;
b. Threshold binaru, inverted: ngược với Threshold Binary
c. Truncate: giá trị các điểm ảnh cao hơn giá trị ngượng sẽ bị thay đổi bằng giá trị
ngưỡng, thấp hơn giữ nguyên.
Đồ Án Tốt Nghiệp 18 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
d. Threshold to Zero: giá trị các điểm ảnh cao hơn giá trị ngưỡng sẽ được giữ lại
còn các điểm ảnh có giá trị thấp hơn giá trị ngưỡng sẽ đưa về giá trị 0.
e. Threshold to Zero, inverted : Ngược lại với Threshold to Zero.
2.3 - Giảm nhiễu.
Nhiễu trong ảnh là do nhiều nguyên nhân bao gồm: sự thoái hóa theo thời gian,
quá trình sao chép. Một số kỹ thuật xử lý ảnh sẽ được áp dụng để loại bỏ nhiễu. Sau
khi được nhị phân hóa, ảnh sẽ được lọc để giảm nhiễu. Trên thực thế tồn tại nhiều
loại nhiễu, tuy nhiên người ta thường xem xét 3 loại chính: nhiễu cộng, nhiễu nhân
và nhiễu xung. Chúng xuất hiện những điểm ảnh khác biệt so với vùng xung quanh.
Bản chất của nhiễu là thường tương ứng với tần số cao và cơ sở lý thuyết của các
bộ lọc là chỉ cho những tín hiệu có tần số nào đó thông qua, do đó để lọc nhiệu
người ta thường sử dụng bộ lọc thông thấp hay trung bình. Với nhiễu cộng và nhiễu
Đồ Án Tốt Nghiệp 19 Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50TH
GVHD: Th.S Vũ Anh Dũng
nhân ta dùng các bộ lọc thông thấp, trung bình; với nhiễu xung ta dùng lọc trung vị
giả trung bị.
Trong lọc trung bình, người ta ưu tiên cho các hướng để bảo vệ biên của ảnh
khởi bị mờ khi làm trơn ảnh. Các kiệu mặt nà được sử dụng tùy theo các các trường
hợp khác nhau. Các bộ lọc trên là bộ lọc tuyến tính theo nghĩa là điểm ở tâm cửa sổ
sẽ được thay bởi tổ hợp các điểm lân cận chập với mặt nạ. Lọc thông thấp thường
dùng để làm trơn nhiễu.
Các bộ lọc phi tuyến cũng được dùng trong kỹ thuật tăng cường ảnh. Trong kỹ
thuật này người ta dùng bộ lọc trung vị, bộ lọc giả trung vị. Với bộ lọc trung vị các
điểm ảnh sẽ được thay thế bởi trung vị các điệm ảnh, bộ lọc giả trung vị thì các điểm
ảnh được thay thế bỏi trung bình cộng của giá trị “trung vi.”.
Sau đây là một số bộ lọc thường dùng.
2.3.1 Bộ lọc hộp thông thường (Normalized Box filter).
Đây là bộ lọc đơn giản nhất.
Mỗi điểm đầu ra là trung bình của các điểm láng giềng hạt nhân của mình (tất cả các
điểm xung quanh đóng góp với trọng lượng bằng nhau.


















1
...
1
1
1
1
...
.
.
.
1
...
.
.
.
1
...
1
1
1
1
...
1
1
1
1
Height
width K
K
K
OpenCv cung cấp các chức năng blur để thực hiện giảm nhiễu với bộ lọc này.
Blur(src,dst,size(i,i),point(-1,-1))
 src: ảnh nguồn
 dst: ảnh ra
 size(w,h) : xác định kích thước của hạt nhân sẽ được sử dụng ( chiều

More Related Content

Similar to timhieubaitoannhandang_1503.pdf

Lap trinh c can ban
Lap trinh c can banLap trinh c can ban
Lap trinh c can bandaihoccantho
 
Giao trinh c_can_ban
Giao trinh c_can_banGiao trinh c_can_ban
Giao trinh c_can_banzeus_91
 
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạoXây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Man_Ebook
 
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Tìm hiểu về bộ điều khiển số TMS320F28335
Tìm hiểu về bộ điều khiển số TMS320F28335Tìm hiểu về bộ điều khiển số TMS320F28335
Tìm hiểu về bộ điều khiển số TMS320F28335
Pham Hoang
 
Giao trinh ly thuyet do hoa
Giao trinh ly thuyet do hoaGiao trinh ly thuyet do hoa
Giao trinh ly thuyet do hoa
Trần Đức Anh
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
MasterCode.vn
 
Lập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương Lực
Lập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương LựcLập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương Lực
Lập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương Lực
PixwaresVitNam
 
Creative computing textbook
Creative computing textbookCreative computing textbook
Creative computing textbook
Bùi Lê Diễm Diễm
 
Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000
Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000
Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000
Dịch Vụ Viết Thuê Khóa Luận Zalo/Telegram 0917193864
 
Phan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tinPhan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tin
Huy Lee
 
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự độngĐề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Ltnc giao trinh 2017
Ltnc giao trinh 2017Ltnc giao trinh 2017
Ltnc giao trinh 2017
TaiTranQuang
 
Nghiên Cứu Văn Hóa Xe Buýt tại Tp.HCM
Nghiên Cứu Văn Hóa Xe Buýt tại Tp.HCMNghiên Cứu Văn Hóa Xe Buýt tại Tp.HCM
Nghiên Cứu Văn Hóa Xe Buýt tại Tp.HCM
University of Finance - Marketing
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
Võ Phúc
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
Võ Phúc
 
Tri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuongTri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuongQuyên Đinh
 
Co hoc
Co hocCo hoc
Co hoc
vudat11111
 

Similar to timhieubaitoannhandang_1503.pdf (20)

Lap trinh c can ban
Lap trinh c can banLap trinh c can ban
Lap trinh c can ban
 
Giao trinh c_can_ban
Giao trinh c_can_banGiao trinh c_can_ban
Giao trinh c_can_ban
 
Giao trinh c_can_ban
Giao trinh c_can_banGiao trinh c_can_ban
Giao trinh c_can_ban
 
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạoXây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
 
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
 
Tìm hiểu về bộ điều khiển số TMS320F28335
Tìm hiểu về bộ điều khiển số TMS320F28335Tìm hiểu về bộ điều khiển số TMS320F28335
Tìm hiểu về bộ điều khiển số TMS320F28335
 
Giao trinh ly thuyet do hoa
Giao trinh ly thuyet do hoaGiao trinh ly thuyet do hoa
Giao trinh ly thuyet do hoa
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Lập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương Lực
Lập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương LựcLập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương Lực
Lập trình sáng tạo với Scratch – Nguyễn Hữu Hưng & Dương Lực
 
Creative computing textbook
Creative computing textbookCreative computing textbook
Creative computing textbook
 
Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000
Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000
Luận văn: Thiết kế tối ưu cửa van cung bằng phần mềm SAP2000
 
Phan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tinPhan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tin
 
La0008
La0008La0008
La0008
 
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự độngĐề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
 
Ltnc giao trinh 2017
Ltnc giao trinh 2017Ltnc giao trinh 2017
Ltnc giao trinh 2017
 
Nghiên Cứu Văn Hóa Xe Buýt tại Tp.HCM
Nghiên Cứu Văn Hóa Xe Buýt tại Tp.HCMNghiên Cứu Văn Hóa Xe Buýt tại Tp.HCM
Nghiên Cứu Văn Hóa Xe Buýt tại Tp.HCM
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Tri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuongTri tue-nhan-tao-dinh-manh-tuong
Tri tue-nhan-tao-dinh-manh-tuong
 
Co hoc
Co hocCo hoc
Co hoc
 

timhieubaitoannhandang_1503.pdf

  • 1. Luận văn Đề tài: Bài toán nhận dạng biển số xe
  • 2. Đồ Án Tốt Nghiệp 1 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng MỤC LỤC MỞ ĐẦU.................................................................................................................. 7 CHƯƠNG 1. Tổng quan về nhận dạng.................................................................... 8 1.1 - Tính chất và sự cần thiết của bài toán nhận dang.................................................8 1.1.1 Tính chất ......................................................................................................8 1.1.2 Sự cần thiết. .................................................................................................8 1.2 - Không gian biểu diễn đối tượng, không gian diễn dịch. ....................................10 1.2.1 Không gian biểu diễn đối tượng ................................................................10 1.2.2 Không gian diễn dịch.................................................................................10 1.3 - Mô hình và bản chất của quá trình nhận dạng....................................................11 1.3.1 Mô hình......................................................................................................11 1.3.2 Bản chất của quá trình nhận dạng..............................................................12 CHƯƠNG 2. Xử lý ảnh và openCV ...................................................................... 15 2.1 - Xử lý nhị phân....................................................................................................16 2.2 - Giảm nhiễu. ........................................................................................................18 2.2.1 Bộ lọc hộp thông thường (Normalized Box filter). ...................................19 2.2.2 Bộ lọc gaussian (Gaussian Filter)..............................................................20 2.2.3 Bộ lọc Median (Median Filter):.................................................................21 2.2.4 Bộ lọc song phương (Bilateral filter).........................................................22 2.2.5 Filter2D......................................................................................................23 2.3 - Biên và các phương pháp tìm biên.....................................................................24 2.3.1 Khái niệm về biên:.....................................................................................24 2.3.2 Phương pháp Gradient. ..............................................................................24 2.3.3 Toán tử la bàn. ...........................................................................................29 2.3.4 Laplace.......................................................................................................31 2.3.5 Tách sườn ảnh theo Canny. .......................................................................33
  • 3. Đồ Án Tốt Nghiệp 2 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 2.4 - Biến đổi Hough ..................................................................................................35 2.5 - Một số hàm cơ bản trong thư viện OpenCV ......................................................41 2.5.1 Tải một ảnh và hiển thị ảnh. ......................................................................41 2.5.2 Chuyển ảnh màu sang ảnh xám. ................................................................42 2.5.3 Tìm đối tượng bằng findContours ............................................................43 CHƯƠNG 3. Bài toán nhận dạng biển số xe. ....................................................... 45 3.1 - Khái niệm về nhận dạng biển số xe....................................................................45 3.1.1 Khái niệm...................................................................................................45 3.1.2 Ứng dụng. ..................................................................................................47 3.1.3 Phân loại biển số xe. ..................................................................................48 3.2 - Một số hướng giải quyết bài toán nhận dạng biển số xe....................................52 3.2.1 Hướng tiếp cận phát triển vùng. ................................................................52 3.2.2 Hướng tiếp cận dò biên và biến đổi Hough...............................................53 3.2.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của đồ án).............54 3.3 - Hướng giải quyết................................................................................................54 3.4 - Phát hiện vùng chứa biển số...............................................................................56 3.4.1 Giai đoạn 1: Biến đối ảnh xám và lọc ảnh.................................................57 3.4.2 Giai đoạn 2: Tiến hành phân ngưỡng hoặc phát hiện biên. .......................57 3.4.3 Giai đoạn 3: Tìm đường bao đối đượng. ...................................................58 3.4.4 Giai đoạn 4: Tách vùng biển số. ................................................................59 3.5 - Tách riêng từng ký tự .........................................................................................60 3.5.1 Giai đoạn 1: Tiến hành phân ngưỡng. .......................................................61 3.5.2 Giai đoạn 2: Tìm vùng đối tượng. .............................................................61 3.5.3 Giai đoạn 3: Tìm và tách vùng ký tự. ........................................................61 3.6 - Nhận dạng ký tự quang học ( mạng nơron)........................................................61 3.6.1 Mô hình nơron nhân tạo.............................................................................62 3.6.2 Mạng nơron................................................................................................63
  • 4. Đồ Án Tốt Nghiệp 3 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 3.6.3 Mạng Kohonen...........................................................................................66 3.6.4 Mạng nơron nhiều lớp lân truyền ngược sai số .........................................71 CHƯƠNG 4. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe. .... 74 4.1 - Kết quả hướng giải quyết “phân ngưỡng và tìm đối tượng”..............................74 4.1.1 Kết quả dùng với phương pháp tìm biên Canny kết hợp với tìm vùng đối tượng. 75 4.1.2 Kết quả dùng với phương pháp phân ngưỡng kết hợp tìm vùng đối tượng 75 4.1.3 Kêt luận......................................................................................................76 4.2 - Hướng phát triển của bài toán nhận dạng biền số xe. ........................................82 4.2.1 Nhận xét.....................................................................................................82 4.2.2 Hướng phát triển của bài toán....................................................................82 KẾT LUẬN............................................................................................................ 84 TÀI LIỆU THAM KHẢO...................................................................................... 85 Phụ lục.................................................................................................................... 86
  • 5. Đồ Án Tốt Nghiệp 4 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Danh mục các hình vẽ Hình 1.1 Nhận dạng vân tay trên máy ATM........................................................... 9 Hình 1.2 Phiên dịch viên Jibbigo ............................................................................ 9 Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng. ....................................................... 14 Hình 2.1 Quá trình xử lý ảnh................................................................................. 15 Hình 2.2 Các bước cơ bản trong hệ thống xử lý ảnh............................................. 15 Hình 2.3 (a) ngưỡng 40,(b) ngưỡng 121 ............................................................... 16 Hình 2.4 Sử dụng bộ lọc hộp thông thường. ......................................................... 20 Hình 2.5 sử dụng bộ lọc Gaussian......................................................................... 21 Hình 2.6 sử dụng bộ lọc Median ........................................................................... 22 Hình 2.7 sử dụng bộ lọc song phương................................................................... 23 Hình 2.8 filter2D nhân thay đổi tăng dần từ trái qua phải..................................... 24 Hình 2.9 Tìm biên bằng chức năng Sobel trong OpenCV .................................... 29 Hình 2.10 Mặt nạ 8 hướng theo Kirsh................................................................... 29 Hình 2.11 Tìm biên Laplace.................................................................................. 33 Hình 2.12 Tìm biên theo Canny ............................................................................ 35 Hình 2.13 Trục tọa độ đề các đi qua 2 điểm.......................................................... 36 Hình 2.14 Trục tọa độ đề các................................................................................. 36 Hình 2.15 Hệ tọa độ cực........................................................................................ 37 Hình 2.16 Đường thẳngHough trong tọa độ cực................................................... 38 Hình 2.17 Kết hợp giữa HoughLines với HoughCircles....................................... 40 Hình 2.18 Tìm thấy hình tròn trong mẫu có hình tròn. ......................................... 41 Hình 2.19 Tải một ảnh vào cửa sổ windows ......................................................... 42 Hình 2.20 Chuyển ảnh màu sang ảnh xám............................................................ 43 Hình 2.21 sử dụng findContours tìm đối tượng .................................................... 44 Hình 3.1 Hệ thống tự động nhận dạng biển số xe. ................................................ 46 Hình 3.2 Biển số mới............................................................................................. 52
  • 6. Đồ Án Tốt Nghiệp 5 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 3.3 Một số loại biển số xe thông dụng ......................................................... 54 Hình 3.4 (a) ảnh đầu vào (b) ảnh xử lý xám và lọc song phương......................... 57 Hình 3.5 ảnh sau khi tiến hành phân ngượng........................................................ 58 Hình 3.6 Tìm đường bao các đối tượng ................................................................ 59 Hình 3.7 Sau khi lọc bằng dặc điểm biển số và cắt riêng vùng biển số................ 60 Hình 3.8 Các ký tự được cắt sau khi tìm thấy vùng biển số.................................. 61 Hình 3.9 Mô hình nơron nhân tạo. ........................................................................ 62 Hình 3.10 Mạng nơron truyền thẳng và nhiều lớp. ............................................... 64 Hình 3.11 Mạng nơron hồi quy. ............................................................................ 64 Hình 3.12 Học tham số có giám sát....................................................................... 66 Hình 3.13 Lưới các nơron ..................................................................................... 67 Hình 3.14 Ánh xạ mặt cầu vào lưới nơron 15x15................................................. 71 Hình 3.15 Mạng nơron 2 lớp................................................................................. 72 Hình 4.1 Biển không nhận dạng được................................................................... 77 Hình 4.2 Vùng biển số trong quá trình phân ngưỡng............................................ 80 Hình 4.3 Mức xám thấp làm vùng biển số bị mất trong quá trình phân ngưỡng .. 80 Hình 4.4 Những biển số không nhận đủ ký tự ...................................................... 82
  • 7. Đồ Án Tốt Nghiệp 6 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Danh mục các bảng Bảng Tên bảng Trang Bảng 1 Chi tiết tìm vùng biển số sử dụng dò biên Canny và tìm vùng đối tượng. 77 Bảng 2 Chi tiết tìm vùng biển số sử dụng hướng phân ngưỡng và tìm vùng đối tượng. 78 Bảng 3 Tìm vùng biển số trong các khoảng ngưỡng khác nhau tăng dần.(biển được tìm thấy ở khoảng ngưỡng trước sẽ không phải là đối tượng xét ở các khoảng ngưỡng sau). 79 Bảng 4 Tìm vùng biển số trong các ngưởng khác nhau giảm dần. (biển được tìm thấy ở khoảng ngưỡng trước sẽ không phải là đối tượng xét ở các khoảng ngưỡng sau). 80 Bảng 5 Chi tiết các khoảng ngưỡng phát hiện những biển số.( các biển tách ly thành công ở khoảng ngưỡng trước không được tính cho khoảng ngưỡng sau). 82
  • 8. Đồ Án Tốt Nghiệp 7 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng MỞ ĐẦU Hiện nay, với sự phát triển kinh tế xã hội đã bùng nổ số lượng phương tiện giao thông. Gây ra những khó khăn trong công tác quản lý, xử lý vi phạm giao thông mà nguồn nhân lực con người khó có thể đảm đương được. Vì vậy vần để cần thiết là có một hệ thông quản lý, xử lý vi phạm giao thông tự động. Để xây dựng hệ thống quản lý giao thông tự động thì “ Bài toán nhận dạng biển số xe” là tiền đề để xây dựng những mô hình quản lý đó. Tuy nhiên, hiện nay ở Việt Nam nhưng hệ thống quản lý đó chưa nhiều và lĩnh vực nhận dạng còn đang phát triển. Từ những thực tế đó, trong thời gian làm đố án tốt nghiệp em đã quyết định lựa chọn tìm hiểu về bài toán “ nhận dạng” trong đó chú trọng vào việc nhận dạng biển số xe. Để phục vụ cho bước đầu trong hệ thống quản lý phương tiện giao thông tại Việt Nam. Trong điều kiện năng lực và thời gian có hạn, nên báo cáo của em không tránh khỏi những sai sót. Em kình mong thầy cô và các bạn đóng góp những ý kiến để em có thể chỉnh sửa và bổ sung những phần thiếu sót để em hoàn thiện đề tài của mình. Em xin chân thành cảm ơn Thầy Vũ Anh Dũng và các bạn đã hết lòng giúp đỡ, chỉ bảo để em có thể hoàn thành tốt đồ án tốt nghiệp này. Trong báo cáo đồ án lần này em trình bày thành 4 chương như sau. Chương I: Tổng quan về nhận dạng. Chương II. Xử lý ảnh và OpenCV. Chương III. Bài toán nhận dạng biển số. Chương IV. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe.
  • 9. Đồ Án Tốt Nghiệp 8 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng CHƯƠNG 1. Tổng quan về nhận dạng. 1.1 - Tính chất và sự cần thiết của bài toán nhận dang. 1.1.1 Tính chất - Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô hình nào đó và gán cho chúng vào một lớp (gán đối tượng một tên gọi) dựa theo những quy luật và các mẫu chuẩn. Quá trình nhận dạng dựa vào những mẫu học biết trước gọi là nhận dạng có thầy (supervised learning); trong trường hợp ngược lại gọi là học không thầy (non supervised learning). - Nhận dạng là một bài toán quan trọng trong ngành thị giác máy tính. 1.1.2 Sự cần thiết. - Cùng với sự phát triển không ngừng của kinh tế xã hội và các ngành kỹ thuật hiện nay. Đòi hỏi sự quản lý và xử lý thông tin chính xác mà nó vượt quá sức của con người. Vì vậy chúng ta cần có máy móc hoặc động làm giảm tải hoặc thay thế công việc nặng nhọc, đòi hỏi sự chính xác cao và nhàm chán cho con người. Việc giúp máy móc nhận dang (thu thập , phân loại thông tin) như còn người sẽ giúp máy móc hoạt động hiệu quả giống như con người với độ chính xác cao hơn rất nhiếu. - Một số ứng dụng của bài toán nhận dạng. Nhận dạng dấu vân tay: ở Việt Nam đã được sử dụng trong việc chấm công, điểm danh và làm khóa an toàn cho các loại cửa sắt, máy tính xách tay…. Nó tạo sự tiện dụng và rất an toàn.
  • 10. Đồ Án Tốt Nghiệp 9 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Hình 1.1 Nhận dạng vân tay trên máy ATM. Thay vì phải nhập mã pin trên máy ATM thì bạn chỉ việc đặt ngón tay trỏ của mình lên và giao dịch sẽ bắt đầu. Nhận dạng giọng nói: ứng dụng này được tích hợp trên nhiều sản phẩm, bạn sẽ điều khiển các thiết bị qua giọng nói của mình thay vì phải thao tác trực tiếp bằng tay, như trong mô hình nhà thông minh, trên điện thoại…. Ví dụ : ứng dụng Jibbigo trên điện thoại đi động , Ứng dụng này có thể dịch được tiếng nói của người sử dụng với 8 ngôn ngữ khác nhau như tiếng Anh, Pháp, Đức, Nhật, Hàn Quốc, Philipin, Tây Ban Nha, Trung Quốc. Hình 1.2 Phiên dịch viên Jibbigo Nhận dạng biển số xe: sẽ được giới thiệu tại Chương III
  • 11. Đồ Án Tốt Nghiệp 10 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng 1.2 - Không gian biểu diễn đối tượng, không gian diễn dịch. 1.2.1 Không gian biểu diễn đối tượng Các đối tượng khi quan sát hay thu nhập được thường được biểu diễn bởi tập các đặc trưng hay đặc tính. Như trong trường hợp xử lý ảnh, ảnh sau khi được tăng cường để nâng cao chất lượng, phân vùng và trích chọn đặc tính, .được biểu diễn bởi các đặc trưng như biên , miền đồng nhất…. Người ta thường phân các đặc trưng này theo các loại như: đặc trưng tô pô (tập điểm), đặc trưng hình học và đặc trưng chức năng. Việc biểu diễn ảnh theo đặc trưng nào còn phụ thuộc vào ứng dựng tiếp theo. Ví dụ : giả sử đối tường X (ảnh, chữ viết, dấu vân tay,…) được biểu diễn bởi n thành phần đặc trưng: X={x1,x2….,xn}; mỗi xi biểu diễn một đặc tính. Không gian biểu diễn đối tượng thường gọi tắt là không gian đối tượng A được định nghĩa: A={X1,X2……,Xm} Trong đó mỗi Xi biểu diễn một đối tượng. Không gian này có thể là vô hạn. nhưng để tiện xem xét thì ta chỉ xét tập hữu hạn. 1.2.2 Không gian diễn dịch. Không gian diễn dịch là tập các tên gọi của đối tượng. Kết thúc quá trình nhận dạng ta xác định được tên gọi cho các đối tượng trong tập không gian đối tượng hay nói là đã nhận dạng được đối tượng. Một hình thức gọi là Ω là tập tên đối tượng: Ω ={ w1 ,w2,….wk} với wi, i= 1,2,….k là tên các đối tượng Quá trình nhận dạng đối tượng f là một ánh xa f: A Ω với f là tập các quy luật để định một phần tử trong A ứng với một phần tử trong Ω. Nếu tập các quy luật và tập tên các đối tượng là biết trước như trong nhận dạng chữ viết có ( có 26 lớp từ AZ),
  • 12. Đồ Án Tốt Nghiệp 11 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng người ta gọi là nhận dạng có thầy. Trường hợp hai là nhận dạng không có thày ( trường hợp này khó khăn hơn). 1.3 - Mô hình và bản chất của quá trình nhận dạng. 1.3.1 Mô hình. Việc chọn lựa một quá trình nhận dạng có liên quan mật thiết đến kiểu mô tả mà người ta sử dụng để đặc tả đối tượng. Trong nhận dạng, người ta phân chia theo hai họ lớp: - Họ mô tả theo tham số. - Họ mô tả theo cấu trúc. Cách mô tả được lựa chọn sẽ xác định mô hình của đối tượng. Như vậy, chúng sẽ có 2 loại mô hình: mô hình theo tham số và mô hình cấu trúc. a. Mô hình tham số. Mô hình tham số sử dụng một vector để đặc đối tương. Mỗi phần tử củavector mô tả một đặc tính của đối tượng. Vì dụ: như trong các đặc trưng chức năng, người ta sử dụng các hàm cơ sở trực giao để biểu diện. Và như vậy ảnh sẽ được biểu diễn bởi một chuổi các hàm trực giao. Giả sử C là đường bao của ảnh C(i,j) là điểm thứ i trên đường bao, i= 1,2…,n ( đường bao gồm n điểm). Giả sử x0= ∑ y0= ∑ là tọa độ điểm. Như vậy, moment trung tâm bậc p,q của đường bao là : ∑
  • 13. Đồ Án Tốt Nghiệp 12 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng vector tham số trong trường hợp này chính là các moment µij với i=1,2,….,p và j = 1,2,…,q. Còn trong số các đặc trưng hình học, người ta hay sử dụng chu tuyến, đường bao, diện tích và tỉ lệ T=4πS/p2 với S là diện tích, p là chu tuyến. Việc chọn phương pháp biểu diễn sẽ làm đơn giản cách xây dựng. Tuy nhiên, việc lựa chọn đặc trưng nào là hoàn toàn phụ thuộc vào ứng dụng. b. Mô hình cấu trúc. Cách tiếp cận của mô hình này dựa vào việc mô tả đối tượng nhờ một số khái niệm biểu thị các đối tượng cơ sở trong ngôn ngữ tự nhiên. Để mô tả đối tượng, người ta dùng một số dạng nguyên thủy như đoạn thẳng, cung …. Chẳng hạn một hình chữ nhật được định nghĩa gồm 4 đoạng thẳng vuông góc với nhau từng đôi một. Trong mô hình này người ta sử dụng một bộ kí hiệu kết thúc Vt, một bộ kí hiệu không kết thúc gọi là Vn . Ngoài ra còn dùng một tập các luật sản xuất để mô tả cách xây dựng các đối tượng phù hợp dựa trên các đối tượng đơn giản hơn hoặc đối tượng nguyên thủy. Trong cách tiếp cận này, ta chấp nhận một khẳng định là: cấu trúc là kết quả của việc áp dụng luật sản xuất theo những nguyên tắc xác định bắt đầu từ một dạng gốc bắt đầu. Một cách hình thức, ta có thể coi mô hình này tương đương một văn phạm G=(Vt,Vn,P,S) với : -Vt là bộ kí hiệu kết thúc, -Vn là bộ ký hiệu không kết thúc, -P là luật sản xuất, -S là dạng ( ký hiệu bắt đầu). 1.3.2 Bản chất của quá trình nhận dạng. Quá trình nhận dạng gồm 3 giai đoạn chính: - Lựa chọn mô hình biểu diễn đối tượng.
  • 14. Đồ Án Tốt Nghiệp 13 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng - Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học. - Học nhận dạng. Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng ( mô hình tham số) hay định tính ( mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn học. Học là giai đoạn quan trọng. Thao tác học nhằm cải thiện, điểu chỉnh việc phân hoạch tập đối tượng thành lớp. Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng vào một lớp hay nói một cách khác gán cho đối tượng một tên. a. Học có thầy ( supervised learning) Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học có thầy. Đặc điểm cơ bản của kỹ thuật này là người ta có một thư viện các mẫu chuẩn. Mẫu cần nhận dạng sẽ được đem so sánh với mẫu chuẩn để xem nó thuộc loại nào. Ví dụ như trong một ảnh viễn thám, người ta muốn phân biệt một cách đồng lúa, một cánh rừng hay một vùng đất hoang mà đã có miêu tả về đối tượng đó. Vấn đề chủ yếu là thiết kế một hệ thống để có thể đối sánh đối tượng trong ảnh với mẫu chuẩn và quyết định gán cho chúng vào một lớp. Việc đối sánh nhờ vào các thủ tục ra quyết định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết định. b. Học không có thầy( non supervised learning) Kỹ thuật này phải tự định ra cách lớp khác nhau và xác định các tham số đặc trưng cho từng lớp. Học không có thầy khó khăn hơn. Một mặt, do số lớp không được biết trước, mặt khác những đặc trưng của lớp cũng không biết trước. Kỹ thuật này nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách tốt nhất. Bắt đầu từ tập dữ liệu, nhiều thủ tực xử lý khác nhau nhằm phân lớp và nâng cấp dần để đạt được một phương án phân loại.
  • 15. Đồ Án Tốt Nghiệp 14 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Nhin chung, một hệ thống nhận dạng có thể tóm tắt sơ đồ sau. Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng.
  • 16. Đồ Án Tốt Nghiệp 15 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng CHƯƠNG 2. Xử lý ảnh và openCV Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn. kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” (theo ý muốn) hoặc một kết luận. Hình 2.1 Quá trình xử lý ảnh. Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và có thể xem như hàm n biến . Do đó ảnh trong xử lý ảnh có thể xem như ảnh n chiều. Sơ đồ tổng quát của hệ thống xử lý ảnh: Hình 2.2 Các bước cơ bản trong hệ thống xử lý ảnh Và ở chương này chung ta sẽ được biết OpenCV hỗ trợ gì cho những bước xử lý ảnh. Tiếp sau em sẽ giới thiệu các bước xử lý và OpenCV hỗ trợ xử lý ảnh như thế nào (cung cấp thư viện gì).
  • 17. Đồ Án Tốt Nghiệp 16 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Tiền xử lý Các thao tác xử lý trên ảnh để chuẩn bị cho những bước phân tích tiếp theo. Chẳng hạn như các thao tác: chọn ngưỡng để chuyển ảnh đa cấp xám, ảnh màu về dạng nhị phân, giảm nhiễu để loại bỏ những dữ diệu không liên quan, phân đoạn để phân tách cách thành phần trong ảnh và cuối cùng là làm mảnh hay dò biên để đễ dàng xác định các vùng, các đặc trưng thích hợp và đối tượng cần quan tâm. 2.2 - Xử lý nhị phân Mức xám là giá trị có thể có của điểm ảnh. Với những ảnh đa cấp xám các thông tin đã sẵn ở dạng nhị phân chẳng hạn như các chuỗi văn bản hay các đối tượng ảnh, thì phương pháp nhị phân thông thường sẽ được thực hiện trước. Mục đích của phương pháp này sẽ tự động chọn một ngưỡng cần thiết để tách ảnh ra làm hai phần: thông tin ảnh và thông tin nền. Việc chọn ngưỡng tốt (ngưỡng mà có thể tách ảnh thành hai phần: phần ảnh, phần nền một cách chính xác) luôn là một quá trình khó và dễ gây ra lỗi. (a) (b) Hình 2.3 (a) ngưỡng 40,(b) ngưỡng 121 Kết quả này sẽ gặp khó khăn khi độ tương phản giữa nền và các giá trị điểm ảnh là thấp (chẳng hạn như xe màu xám nền mầu trắng), nét của văn bản mỏng hoặc dữ liệu không được chiếu sáng tốt.
  • 18. Đồ Án Tốt Nghiệp 17 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng Để thực hiện việc tách ngưỡng này thì OpenCV cung cấp chức năng threshold. threshold( src_gray, dst, threshold_value, max_BINARY_value,threshold_type );  src_gray: hình ảnh đầu vào.  dst: hình ảnh đầu ra.  threshold_value: giá trị thực hiện tách ngưỡng.  max_BINARY_value: giá trị thực hiện tách ngưỡng nhị phân.  threshold_type: một trong 5 ngưỡng hoạt động 5 ngưỡng hoạt động OpenCV cung cấp: a. Threshold Binary: nếu giá trị các điểm ảnh cao hơn giá trị ngưỡng thì được thiết lập giá trị mới là giá trị cao nhất (255), thấp hơn giá trị các điểm ảnh về mức 0; b. Threshold binaru, inverted: ngược với Threshold Binary c. Truncate: giá trị các điểm ảnh cao hơn giá trị ngượng sẽ bị thay đổi bằng giá trị ngưỡng, thấp hơn giữ nguyên.
  • 19. Đồ Án Tốt Nghiệp 18 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng d. Threshold to Zero: giá trị các điểm ảnh cao hơn giá trị ngưỡng sẽ được giữ lại còn các điểm ảnh có giá trị thấp hơn giá trị ngưỡng sẽ đưa về giá trị 0. e. Threshold to Zero, inverted : Ngược lại với Threshold to Zero. 2.3 - Giảm nhiễu. Nhiễu trong ảnh là do nhiều nguyên nhân bao gồm: sự thoái hóa theo thời gian, quá trình sao chép. Một số kỹ thuật xử lý ảnh sẽ được áp dụng để loại bỏ nhiễu. Sau khi được nhị phân hóa, ảnh sẽ được lọc để giảm nhiễu. Trên thực thế tồn tại nhiều loại nhiễu, tuy nhiên người ta thường xem xét 3 loại chính: nhiễu cộng, nhiễu nhân và nhiễu xung. Chúng xuất hiện những điểm ảnh khác biệt so với vùng xung quanh. Bản chất của nhiễu là thường tương ứng với tần số cao và cơ sở lý thuyết của các bộ lọc là chỉ cho những tín hiệu có tần số nào đó thông qua, do đó để lọc nhiệu người ta thường sử dụng bộ lọc thông thấp hay trung bình. Với nhiễu cộng và nhiễu
  • 20. Đồ Án Tốt Nghiệp 19 Khoa Công Nghệ Thông Tin SV: Phạm Thế Tài – Lớp S11-50TH GVHD: Th.S Vũ Anh Dũng nhân ta dùng các bộ lọc thông thấp, trung bình; với nhiễu xung ta dùng lọc trung vị giả trung bị. Trong lọc trung bình, người ta ưu tiên cho các hướng để bảo vệ biên của ảnh khởi bị mờ khi làm trơn ảnh. Các kiệu mặt nà được sử dụng tùy theo các các trường hợp khác nhau. Các bộ lọc trên là bộ lọc tuyến tính theo nghĩa là điểm ở tâm cửa sổ sẽ được thay bởi tổ hợp các điểm lân cận chập với mặt nạ. Lọc thông thấp thường dùng để làm trơn nhiễu. Các bộ lọc phi tuyến cũng được dùng trong kỹ thuật tăng cường ảnh. Trong kỹ thuật này người ta dùng bộ lọc trung vị, bộ lọc giả trung vị. Với bộ lọc trung vị các điểm ảnh sẽ được thay thế bởi trung vị các điệm ảnh, bộ lọc giả trung vị thì các điểm ảnh được thay thế bỏi trung bình cộng của giá trị “trung vi.”. Sau đây là một số bộ lọc thường dùng. 2.3.1 Bộ lọc hộp thông thường (Normalized Box filter). Đây là bộ lọc đơn giản nhất. Mỗi điểm đầu ra là trung bình của các điểm láng giềng hạt nhân của mình (tất cả các điểm xung quanh đóng góp với trọng lượng bằng nhau.                   1 ... 1 1 1 1 ... . . . 1 ... . . . 1 ... 1 1 1 1 ... 1 1 1 1 Height width K K K OpenCv cung cấp các chức năng blur để thực hiện giảm nhiễu với bộ lọc này. Blur(src,dst,size(i,i),point(-1,-1))  src: ảnh nguồn  dst: ảnh ra  size(w,h) : xác định kích thước của hạt nhân sẽ được sử dụng ( chiều