You are on page 1of 101

MỤC LỤC

MỤC LỤC............................................................................................................1

DANH MỤC HÌNH VẼ...............................................................................................5


DANH MỤC BẢNG BIỂU.........................................................................................7
DANH MỤC CÁC TỪ VIẾT TẮT............................................................................8
LỜI CẢM ƠN.............................................................................................................9
LỜI MỞ ĐẦU..........................................................................................................10
CHƯƠNG I: GIỚI THIỆU VỀ ĐỀ TÀI.................................................................11
1.1 Lý do chon đề tài:............................................................................................................... 11
1.2 Lịch sử nghiên cứu:........................................................................................................... 11
1.3 Mục đích nghiên cứu, đối tượng và phạm vi nghiên cứu của đồ án:..............12
1.3.1 Mục đích nghiên cứu:............................................................................................... 12
1.3.2 Đối tượng nghiên cứu:............................................................................................. 12
1.3.3 Phạm vi nghiên cứu:................................................................................................. 12
CHƯƠNG II: TỔNG QUAN VỀ HỆ THỐNG XỬ LÝ ẢNH...............................14
2.1 Tổng quan về xử lý ảnh:................................................................................................. 14
2.1.1 Một số khái niệm và các vấn đề cơ bản trong xử lý ảnh.............................15
2.1.1.1 Một số khái niệm cơ bản:................................................................................... 15
2.1.1.2 Biểu diễn ảnh:.................................................................................................... 17
2.1.1.5 Phân tích ảnh:...................................................................................................... 18
2.2 Thu nhận ảnh:.................................................................................................................... 19
2.2.1 Các thiết bị thu nhận ảnh:...................................................................................... 19
2.2.1.1 Lý thuyết về camera:......................................................................................... 19
2.2.1.2 Bộ cảm biến ảnh:.............................................................................................. 20
2.2.2 Hệ tọa độ màu:........................................................................................................... 22
2.2.2.1 Khái niệm:............................................................................................................ 22
2.2.2.2 Biến đổi hệ tọa độ màu:.................................................................................. 23
2.2.3 Lấy mẫu và lượng tử hóa:....................................................................................... 23
2.2.3.1 Giới thiệu:............................................................................................................. 23
2.2.3.2 Lấy Mẫu:................................................................................................................ 23
2.2.3.3 Lượng tử hóa:...................................................................................................... 25
2.2.4 Một số phương pháp biểu diễn ảnh:.................................................................26

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 1
2.2.4.1 Biểu diễn mã loạt dài:...................................................................................... 26
2.2.4.2 Biểu diễn mã xích:............................................................................................. 27
2.2.4.3 Biểu diễn mã tứ phân:...................................................................................... 27
2.2.5 Các định dạng ảnh cơ bản:..................................................................................... 28
2.2.5.1 Khái niệm chung:................................................................................................ 28
2.2.5.2 Quy trình đọc một tệp ảnh:............................................................................ 28
2.2.6 Khái niệm ảnh đen trắng và ảnh màu:..............................................................29
2.2.6.1 Ảnh đen trắng:.................................................................................................... 30
2.2.6.2 Ảnh màu:............................................................................................................... 30
2.3 Các phương pháp phát hiện ảnh:................................................................................ 31
2.3.1 Giới thiệu biên và kỹ thuật phát hiện biên.......................................................31
2.3.1.1 Một số khái niệm:.................................................................................................. 31
2.3.1.2 Phân loại các kỹ thuật phát hiện biên:.....................................................32
2.3.2 Phương pháp phát hiện biên cục bộ:.................................................................33
2.3.2.1 Phương pháp Gradient:.................................................................................... 33
2.3.2.2 Kỹ thuật Laplace:................................................................................................ 34
2.3.2.3 Một số phương pháp khác:............................................................................. 34
2.4 Phân vùng ảnh:.................................................................................................................. 34
2.4.1 Giới thiệu:.................................................................................................................... 34
2.4.2 Phân vùng ảnh theo ngưỡng biên độ:................................................................35
2.4.3 Phân vùng ảnh theo miền đồng nhất:................................................................36
2.4.3.1 Phương pháp tách cây tứ phân:.....................................................................36
2.4.3.2 Phương pháp cục bộ:........................................................................................ 38
2.4.3.3 Phương pháp tổng hợp:................................................................................... 39
2.4.3.1 Phương pháp cấu trúc:..................................................................................... 39
2.4.4.2 Tiếp cận theo tính kết cấu:............................................................................40
2.5 Nhận dạng ảnh:................................................................................................................. 40
2.5.1 Giới thiệu:.................................................................................................................... 40
2.5.2 Khái niệm nhận dạng:............................................................................................. 41
2.5.3 Mô hình và bản chất của quá trình nhận dạng:..............................................41
2.5.3.1 Mô hình:................................................................................................................. 41
2.5.3.2 Bản chất của quá trình nhận dạng:.............................................................42
2.5.4 Nhận dạng theo cấu trúc:....................................................................................... 44
2.5.4.1 Biểu diễn định tính:.......................................................................................... 44

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 2
2.5.4.2 Phương pháp nhận dạng theo cấu trúc:....................................................46
2.5.5 Nhận dạng dựa theo mạng Nơron:......................................................................46
2.5.5.1 Giới thiệu mạng nơron:....................................................................................... 46
2.5.5.2 Nơron sinh học và Nơron Nhân tạo:............................................................48
2.5.5.2.2 Cấu trúc nơron nhân tạo:......................................................................... 50
CHƯƠNG III: TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG BIỂN SỐ XE
MÁY........................................................................................................................... 52
3.1 Khái quát chung về hệ thống nhận dạng biển số xe máy:.................................52
3.2 Chụp hình bằng camera:................................................................................................. 53
3.3. Tách biển số:...................................................................................................................... 55
3.3.1 Tổng quan về tách biển số:.................................................................................... 55
3.3.2 Tìm vùng màu trắng:................................................................................................ 57
3.3.3 Xác định vùng chứa biển số:.................................................................................. 58
3.3.4 Cắt vùng chứa biển số:............................................................................................ 59
3.3.5 Tìm góc nghiêng và xoay:......................................................................................... 60
3.3.5.1 Biến đổi Radon:.................................................................................................. 60
3.3.5.1.1 Tổng quan về biến đổi Radon:..............................................................60
3.3.5.1.2 Các bước thực hiện:................................................................................... 61
3.3.5.2 Tìm góc nghiêng và xoay:.................................................................................62
3.3.6 Cắt biển số chính xác:.............................................................................................. 64
3.4 Phân đoạn ký tự:............................................................................................................... 64
3.4.1 Tổng quan về phân đoạn ký tự:...........................................................................64
3.4.2 Nhị phân biển số xe:................................................................................................. 65
3.4.3 Chuẩn hóa biển số:................................................................................................... 65
3.4.4 Phân đoạn ký tự:........................................................................................................ 66
3.4.4.2 Chương trình phân vùng từng ký tự:...........................................................68
3.5 Nhận dạng ký tự:............................................................................................................... 69
3.5.1 Tổng quát nhận dạng ký tự:..................................................................................69
3.5.2 Lựa chọn phương pháp:.......................................................................................... 69
3.5.2.1 Phương pháp nhận dạng cổ điển:...............................................................69
3.5.2.2 Phương pháp ứng dụng mạng Nơron:........................................................70
3.5.3 Giới thiệu về mạng Nơron ( neural networks):..............................................70
3.5.3.1 Khái niệm về mạng Nơron:............................................................................70
3.5.3.2 Mô hình của một mạng nơron nhân tạo:...................................................70

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 3
3.5.3.3 Thiết kế 1 mạng Nơron:.................................................................................. 71
3.5.3.3.1 Thu thập dữ liệu:........................................................................................ 71
3.5.3.3.2 Các bước thực hiện:................................................................................... 71
3.5.3.4 Cơ sở ký thuyết và giải thuật cho huấn luyện mạng lan truyền
ngược: 71
3.5.3.4.1 Cấu trúc mạng lan tryền ngược:...........................................................71
3.5.3.4.2 Huấn luyện mạng lan truyền ngược:..................................................74
3.5.4 Ứng dụng mạng lan truyền ngược vào nhận dạng ký tự :..........................75
3.5.4.1 Thiết kế mạng lan truyền ngược:................................................................76
3.5.4.2 Quá trình nhận dạng:........................................................................................ 76
3.5.4.3 Phương pháp tăng khả năng tổng quát của mạng:................................77
3.5.4.4 Huấn luyện mạng lan truyền ngược:.........................................................78
CHƯƠNG IV: KẾT QUẢ MÔ PHỎNG CHẠY BẰNG PHẦN MỀM................80
MATLAB VÀ CODE CỦA CHƯƠNG TRÌNH.......................................................80
4.1 Kết quả mô phỏng chạy bằng phần mềm matlab:...............................................80
4.1.1 Giao diện giới thiệu của chương trình:.................................................................80
4.1.2 Giao diện chính của chương trình:......................................................................80
4.1.3 Hướng dẫn sử dụng chương trình:.....................................................................81
4.1.3.1 Test bằng ảnh trong thư viện:.......................................................................81
4.1.3.1 Test ảnh bằng camera:.....................................................................................83
4.2 Code chương trình:........................................................................................................... 84
4.2.1 Code hiển thị giao diện của chương trình:.......................................................84
4.2.2 Code chương trình chính:........................................................................................ 84
4.2.2.1 Chương trình test bằng camera:...................................................................84
4.2.2.2 Chương trình test bằng ảnh trong thư viện:............................................91
KẾT LUẬN...............................................................................................................94
TÀI LIỆU THAM KHẢO.........................................................................................95

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 4
DANH MỤC HÌNH VẼ

Hình 2.1: Sơ đồ tổng quát một hệ thống xử lý ảnh..............................................14


Hình 2.1.1.1a: Hình ảnh thể hiện một điểm ảnh..................................................15
Hình 2.1.1.1b: ảnh màu RGB..........................................................................................16
Hình 2.1.1.1c:: Hình ảnh được chuyển sang mức xám........................................16
Hình 2.1.1.1d: Ảnh được nhị phân..............................................................................17
Hình 2.1.1.1e:: Lượt đồ mức xám của ảnh xám tương ứng...............................17
Hình 2.2.1.1: Hình ảnh CCD camera............................................................................19
Hình 2.2.1.2b: Hình ảnh màn hình video..................................................................21
Hình 2.2.1.2c: Hình ảnh máy tính................................................................................21
Hình 2.22.1: Hệ tọa độ RGB...........................................................................................22
Hình 2.2.3.2c: Các dạng mẫu điểm ảnh....................................................................25
Hình 2.2.3.3: Khuông lượng tử theo L mức xám.....................................................26
Hình 2.2.4.2: Hướng các điểm biên và mã tương ứng
A11070110764545432...................................................................................................27
Hình 2.2.6: Biểu diễn mức xám của ảnh số............................................................29
Hình 2.3.1.1: Đường biên của ảnh..............................................................................31
Hình 2.3.1.2: Các bước xử lý và phân tích ảnh........................................................32
Hình 3.2.1: Tính đạo hàm theo Gradient...................................................................33
Hình 2.4.2: Lược đồ rắn lượn và cách chọn ngưỡng...........................................36
Hình 2.4.3.2: Khái niệm 4 liên thông và 8 liên thông............................................38
Hình 2.5.3.1b: Mô hình cấu trúc của đối tượng nhà.............................................42
Hình 2.5.3.2b: Sơ đồ tổng quát một hệ thống nhận dạng.................................43
Hình 2.5.5.2.2a: Mô hình nơron nhân tạo.................................................................50
Hình 3.1: Sơ đồ quá trình nhận dạng biển số xe máy.........................................52
Hình 3.2.1: Hình ảnh chụp từ camera........................................................................53
Hình 3.2.2: Số điểm ảnh (pixel)...................................................................................54
Hình 3.3.1a: Sơ đồ tổng quát của khối tách biển số............................................55
Hình 3.3.1b: Sơ đồ chi tiết của khối tách biển số.................................................56
Hình 3.3.2a: Ảnh tối và ảnh sáng................................................................................57
Hình 3.3.2b: Ảnh sau khi nhị phân..............................................................................57
Hình 3.3.3a: Hình dạng biển số khi bị nghiêng......................................................58
Hình 3.3.3b: Biển số sau khi nhị phân.......................................................................59
Hình 3.3.4a: Hình thể hiện vùng ảnh cần tách ra với biên an toàn................59
Hình 3.3.4b: Ảnh chụp ban đầu...................................................................................59
Hình 3.3.4c: Ảnh sau khi cắt thô..................................................................................60
Hình 3.3.5.1.1a: Phương pháp biến đổi Radon......................................................60
SVTH: Hồ Xuân Hiền
Lớp: KT ĐT-TT K37A Page 5
Hình 3.3.5.1.1b: Hình chiếu đơn giản theo góc θ..................................................61
Hình 3.3.5.1.1c: Phương pháp biến đổi Radon dưới dạng hình học.............61
Hình 3.3.5.1.2a: Biến đổi ảnh về ảnh nhị phân.....................................................61
Hình 3.3.5.1.2b: Thực hiện biến đổi Radon trên ảnh biên................................62
Hình 3.3.5.2a: Ảnh được tách biên biên nhị phân.................................................62
Hình 3.3.5.2b: Ảnh biển số sau khi xoay về phương thẳng đứng...................63
Hình 3.3.5.2c: Giải thuật tìm góc nghiêng biển số................................................63
Hình 3.3.6: Biển số sau khi cắt hoàn chỉnh.............................................................64
Hình 3.4.1: Sơ đồ khối phân đoạn ký tự...................................................................64
Hình 3.4.2: Ảnh sau khi được nhị phân.....................................................................65
Hình 3.4.3a: Ảnh biển số sau khi được chuẩn hóa...............................................65
Hình 3.4.3b: Thuật giải chuẩn hóa biển số.............................................................65
Hình 3.4.4a: Tổng số các bít theo 1 hàng của biển số.........................................66
Hình 3.4.4b: Hình thể hiện thông số Min_area.......................................................67
Hình 3.4.4c: Hình thể hiện thông số Digit_width...................................................67
Hình 3.4.4d: Các ký tự được cắt khỏi biển số........................................................67
Hình 3.4.4e: Giải thuật phân vùng ký tự...................................................................68
Hình 3.5.3.1: Mô tả toán học tổng quát của mạng Nơron..................................70
Hình 3.5.3.2a: Nơron 1 ngõ vào....................................................................................71
Hình 3.5.3.2b: Nơron nhiều ngõ vào...........................................................................71
Hình 3.5.3.4.1a: Cấu tạo 1 nơron................................................................................72
Hình 3.5.3.4.1b: Hàm truyền logsig............................................................................72
Hình 3.5.3.4.1c: Hàm truyền tansig............................................................................72
Hình 3.5.3.4.1d: Hàm truyền purelin (tuyến tính)................................................73
Hình 3.5.3.4.1e: Cấu trúc mạng 1 lớp........................................................................73
Hình 3.5.3.4.1f: Cấu trúc mạng 2 lớp.........................................................................74
Hình 3.5.4.1: Cấu trúc mạng dùng để nhận dạng ký tự số................................76
Hình 3.5.4.2: Hình minh họa hoạt động của mạng trong nhận dạng............77
Hình 3.5.4.3a: Trường hợp quá khớp........................................................................77
Hình 3.5.4.3b: Hàm xấp xỉ khi mạng ngừng học sớm..........................................78
Hình 3.5.4.4: Hàm lỗi khi ngừng học sớm để huấn luyện mạng....................79
Hình 4.1.1: Giao diện giới thiệu của chương trình chạy bằng matlab ..........80
Hình 4.1.2: Giao diện chính của chương trình chạy bằng matlab..................80
Hình 4.1.3: Hướng dẫn bật giao diện chính............................................................81
Hình 4.1.3.1a: Hướng dẫn chọn ảnh trong thư viện...........................................81
Hình 4.1.3.1b: Chọn một ảnh trong thư viện.........................................................82
Hình 4.1.3.1c: Kết quả nhận dạng..............................................................................82
Hình 4.1.3.1d: Kết quả khi xuất ra file Excel...........................................................82
Hình 4.1.3.2a: Chọn camera...........................................................................................83
Hình 4.1.3.2b: Chọn mở camera...................................................................................83
Hình 4.1.3.2c: Chọn chạy để nhận dạng biển số..................................................84
SVTH: Hồ Xuân Hiền
Lớp: KT ĐT-TT K37A Page 6
Hình 1.3.2d: Kết quả xuất ra Excel.............................................................................84

DANH MỤC BẢNG BIỂU

Bảng 2.5.4.1a: Các từ vựng cơ bản trong ngôn ngữ PLD......................................45


Bảng 2.5.4.1b. Các phép toán bằng ngôn ngữ PLD.................................................46
Bảng 2.5.5.2.1: So sánh khả năng làm việc của bộ não và máy tính......................50
Bảng 2.5.5.2.2b: Các hàm truyền H(s) thường dùng...............................................51

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 7
DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt Viết đầy đủ Ý nghĩa


VGA Video Graphics Array Card màn hình hay còn có
thể gọi là card đồ họa
SXGA Super Extended Graphics Array Độ phân giải màn hình
RGB Red-Green-Blue Đỏ- xanh lục- xanh lam
CCD Charge Coupled Device Linh kiện tích điện kép
VCR Videocassette recorder Thiết bị ghi hình
SVGA Super Video Graphics Array Độ phân giải màn hình
NTSC National Television System Committee Ủy ban quốc gia về các hệ
thống truyền hình
CMY Cyan- Magenta- Yellow Xanh- hồng- vàng
IMG Imagine Định dạng ảnh
BMP Bitmap Định dạng tập tin hình
ảnh
GIF Graphics Interchange Format Định dạng Trao đổi Hình
ảnh
JPEG Joint Photographic Experts Group Nén hình ảnh

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 8
LỜI CẢM ƠN

Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng
góp ý kiến và chỉ bảo nhiệt tình của thầy cô và bạn bè.

Em xin gửi lời cảm ơn chân thành đến thầy Th.s Nguyễn Tường Thành, giảng
viên bộ môn kỹ thuật điện tử truyền thông khoa Kỹ thuật và công nghệ trường Đại học
Quy Nhơn, người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình em làm đồ
án.

Em cũng xin chân thành cảm ơn các thầy cô trong trường Đại học Quy Nhơn nói
chung và Khoa kỹ thuật và công nghệ nói riêng đã dạy dỗ cho em kiến thức về các
môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết
vững vàng và tạo điều kiện cho em hoàn thành đồ án tốt nghiệp này.

Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện,
quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành đồ án tốt
nghiệp.
Em xin chân thành cảm ơn!!

Sinh viên thực hiện

Hồ Xuân Hiền

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 9
LỜI MỞ ĐẦU

Xử lý và nhận dạng ảnh là một lĩnh vực từ lâu được nhiều người quan tâm.
Nó đã được ứng dụng vào nhiều lĩnh vực như:
- Trong y học, cải thiện ảnh X- quang và nhận dạng đường biên mạch máu
từ ảnh chụp bằng tia X , ứng dụng vào các xét nghi ệm lâm sang nh ư phát hi ện và
nhận dạng u não, nội soi cắt lớp…
- Trong thiên văn học, hệ thống chụp hình gắn trên tàu vũ trụ hạn ch ế v ề
kích thước và trọng lượng, do đó chất lượng hình ảnh nhận được bị giảm chất
lượng như bị mờ, méo hình học và nhiễu nền. Các hình ảnh đó được xử lý b ằng
máy tính.
- Trong các lĩnh vực công nghiệp, người máy ngày càng đóng vai trò quan
trọng. Chúng thực hiện các công việc nguy hiểm, đòi hỏi có tốc độ và đ ộ chính
xác cao vượt quá khả năng con người. Người máy sẽ trở nên tinh vi h ơn và th ị
giác máy tính đóng vai trò quan trọng hơn. Người ta sẽ không chỉ đòi hỏi người
máy phát hiện và nhận dạng các bộ phận công nghiệp mà còn phải “hi ểu ” được
những gì chúng “ thấy ” và đưa ra hành động phù hợp. Xử lý ảnh sẽ tác đ ộng đến
thị giác của máy tính.
- Ngoài ra, xử lý và nhận dạng còn được ứng dụng trong lĩnh vực khác ít
được nói đến hơn. Công an giao thông thường hay chụp ảnh trong môi tr ường
không thuận lợi, ảnh thường bị nhòe nên cần được xử lý và nhận dạng đ ể có th ể
nhìn thấy biển số xe.
Trong đồ án tốt nghiệp này em xin trình bày một đề tài là Nhận dạng, phân
loại, xử lý ảnh biển số xe bằng phần mềm.
Em xin chân thành cảm ơn Th.s Nguyễn Tường Thành đã tận tình hướng
dẫn em trong suốt thời gian làm đồ án và quý thầy cô khoa Kỹ thuật và công
nghệ trường Đại học Quy Nhơn đã truyền dạy những kiến thức quý báu trong
chương trình đào tạo đại học chính quy và giúp đỡ kinh nghiệm cho đồ án hoàn
thành được thuận lợi.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 10
CHƯƠNG I: GIỚI THIỆU VỀ ĐỀ TÀI

1.1 Lý do chon đề tài:


Lĩnh vực xử lí ảnh số, bao gồm xử lí, phân tích và nhận bi ết tự động b ằng
máy tính, đã và đang có sự phát triển mạnh mẽ trong cả lý thuyết và các ứng
dụng thực tế. Xử lí ảnh được ứng dụng trong nhiều lĩnh vực quan trọng như:
viễn thông, truyền thông, chụp ảnh y tế, sinh học, khoa học vật li ệu, rô-b ốt, s ản
xuất, các hệ thống cảm biến thông minh, tự động diều khiển, đồ hoạ, in ấn…Sự
phát triển mạnh này có thể được thấy rõ qua số lượng các bài báo, báo cáo khoa
học về xử lí ảnh hàng năm cũng như qua số lượng các đầu sách viết về xử lí ảnh
số.
Như chúng ta đã biết, ngày nay xe máy là phương tiện giao thông chính và
số lượng ngày càng tăng. Vì vậy vấn đề quản lý giao thông, bảo đảm an ninh, thu
phí giao thông…đòi hỏi và cần thiết có sự hỗ trợ của khoa học kỹ thuật. M ột
trong những sự hỗ trợ đầy hiệu quả đó là làm sao giúp những người quản lý
nhận dạng biển số xe được dễ dàng, nhanh chóng và thuận lợi nhất.
Nhận dạng biển số xe trở thành một ứng dụng hữu ích, được đưa vào trong
những lĩnh vực như: quản lí giao thông, kiểm tra an ninh, thu phí giao thông,
trạm gác cổng, quản lý các bãi giữ xe một cách tự động…Nó không ch ỉ giúp
những người quản lý có khả năng bao quát được tất cả khách hàng, đối tượng
theo dõi của mình mà còn giúp tiết kiệm thời gian làm việc đáng kể. Ngoài ra với
phương pháp này sẽ giúp giảm được nhiều người trông giữ xe để phân công họ
vào việc khác.
Từ những lý do trên em quyết định lựa chọn đề tài Nhận dạng, phân loại, xử
lý ảnh biển số xe bằng phần mềm.
1.2 Lịch sử nghiên cứu:
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng
ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo
được truyền qua cáp từ Luân đôn đến New York từ những năm 1920. Vấn đề nâng cao
chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 11
cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải
thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá
trình xử lý ảnh số thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao
chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi
đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất
lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp tri thức nhân
tạo như mạng nơron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công
cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan.
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự
nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy
chụp ảnh). Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống
kiểu CCIR). Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng
được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận
lợi cho xử lý tiếp theo. (Máy ảnh số hiện nay là một thí dụ gần gũi). Mặt khác,
ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét
ảnh.
1.3 Mục đích nghiên cứu, đối tượng và phạm vi nghiên cứu của đồ án:
1.3.1 Mục đích nghiên cứu:
Hệ thống nhận dạng biển số xe là một ứng dụng dựa trên kỹ thuật xử lí
ảnh số. Mục đích của nhận dạng biển số xe là thực hiện các bước xử lí để từ m ột
ảnh đầu vào, máy tính có thể nhận ra chính xác biển số xe trên ảnh. Nhận dạng
biển số xe trở thành một ứng dụng hữu ích, được đưa vào trong những lĩnh vực
như: quản lí giao thông, kiểm tra an ninh, thu phí giao thông, trạm gác cổng,
quản lý các bãi giữ xe một cách tự động.
1.3.2 Đối tượng nghiên cứu:
Đây là một trong những ứng dụng xử lí ảnh nhận được nhiều sự quan tâm
nghiên cứu về cả hai mặt lý thuyết và thực hiện chương trình. Đề tài của em bao
gồm các quá trình xử lí: phân vùng biển số, tách các ký tự, nhận biết các kí tự,
phần mềm quản lý cơ sở dữ liệu biển số xe máy. Mục đích của phần mềm qu ản
lý cơ sở dữ liệu biển số xe máy là thu nhận chuỗi bi ển s ố sau khi đã được nh ận
dạng, lưu vào cơ sở dữ liệu để người dùng dễ dàng quản lý và theo dõi thông qua

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 12
các báo cáo chi tiết các lượt xe vào - ra. Mục đích của phần mềm quản lý cơ sở dữ
liệu là theo dõi số lượt vào - ra, tính tiền lưu bãi.
1.3.3 Phạm vi nghiên cứu:
Chủ yếu dựa vào các tài liệu và chạy mô phỏng nhận dạng biển số xe máy
trên máy tính bằng phần mềm matlab, chưa có mô hình thực tế.
Việc có nhiều biển số xe với định dạng và độ sáng khác nhau gây khó khăn
cho việc nhận dạng. Do quá trình nhận dạng dựa vào phương pháp xử lý ảnh và
trích xuất biển số từ ảnh chụp nên độ sáng khác nhau làm tăng độ phức tạp
trong quá trình nhận dạng.
Do thời gian thực hiện đề tài không cho phép nên người th ực hi ện gi ới h ạn
các biển số và điều kiện như sau:
 Biển số có chữ đen, nền trắng, có 2 hàng, số ký tự là 9.
 Biển số phải còn nguyên vẹn, không bị tróc sơn hay rỉ sét, không b ị che
khuất.
 Góc nghiêng của biển số không quá 45˚ so với phương ngang.
 Hình chụp biển số không bị mờ, ký tự biển số còn phân biệt, nhận dạng
được bằng trực quan.
 Không bị nhiễu bởi ánh sáng làm ảnh chụp bị chói .

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 13
CHƯƠNG II: TỔNG QUAN VỀ HỆ THỐNG XỬ LÝ ẢNH

2.1 Tổng quan về xử lý ảnh:


Ngày nay kỹ thuật xử lí ảnh đã được ứng dụng rộng rãi ở rất nhiều lĩnh vực,
trong sản xuất cũng như trong đời sống. Ví dụ các hệ thống xử lí ảnh v ệ tinh đ ể
phân tích không gian vũ trụ, hệ thống thăm dò địa ch ất, h ệ th ống phân tích t ế
bào sinh học và gần gũi nhất với chúng ta là các ph ần m ềm hi ển th ị và x ử lí ảnh
chuyên dụng như Photoshop, ACD See…
Một hệ thống xử lý ảnh là hệ thống thực hiện các chức năng thu nhận ảnh
đầu vào, thực hiện phép xử lý để tạo ảnh hoặc kết quả phân tích, nhận dạng ở
đầu ra đáp ứng các yêu cầu và các ứng dụng cụ thể.
Trong phạm vi đồ án, Em xin giới hạn trong việc giới thiệu một hệ thống xử
lý ảnh ứng dụng nhận dạng và ra quyết định trên thực tế.

Thu nhận Phân tích Nhận dạng


Camera ảnh
ảnh ảnh

Lưu trữ

Hình 2.1: Sơ đồ tổng quát một hệ thống xử lý ảnh

Sơ đồ khối tổng quát của hệ thống này được thể hiện trong hình 2.1, trong đó
gồm ba khối chức năng cơ bản:
 Khối thu nhận ảnh: thực hiện chức năng thu nhận ảnh và thực hiện quá
trình số hóa (lưu giữ theo định dạng yêu cầu).
 Khối phân tích ảnh: trước hết hệ thống tiến hành bước tiền xử lý ảnh với
mục đích tăng cường, cải thiện chất lượng ảnh, làm nổi các đặc trưng cơ bản
của ảnh hay làm cho ảnh gần giống nhất với trạng thái gốc. Sau đó, là quá trình
phân tích ảnh và trích chọn đặc trưng của ảnh ví dụ như biên, đi ểm gấp khúc,
điểm kết thúc, điểm chữ thập…

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 14
 Khối nhận dạng: dựa vào các đặc trưng đã thu nhận từ quá trình phân tích
ảnh trước đó thực hiện quá trình nhận dạng, đưa ra các quy ết định ứng v ới các
ứng dụng cụ thể.
2.1.1 Một số khái niệm và các vấn đề cơ bản trong xử lý ảnh
2.1.1.1 Một số khái niệm cơ bản:
a) Phần tử ảnh (Pixel – Picture Element):
Ảnh trong thực tế là một ảnh liên tục về không gian và giá trị độ sáng. Đ ể
có thể xử lý ảnh bằng máy tính cần thiết phải số hóa ảnh. Trong quá trình s ố
hóa, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình
lấy mẫu (rời rạc hóa về không gian) và lượng hóa thành phần giá tr ị. Trong quá
trình này người ta sử dụng khái niệm Pixel để biểu diễn các phần tử của bức
ảnh. Ở đây, cũng cần phân biệt khái niệm pixel hay đề cập đến trong các hệ
thống đồ họa máy tính. Để tránh nhầm lẫn ta tạm thời gọi khái niệm pixel này là
pixel thiết bị.
Khái niệm pixel thiết bị có thể xem xét như sau: khi ta quan sát màn hình
(trong chế độ đồ họa), màn hình không liên tục mà gồm nhiều đi ểm nh ỏ, g ọi là
pixel. Mỗi pixel bao gồm một cặp tọa độ x, y và màu. Cặp tọa đ ộ x, y t ạo nên đ ộ
phân giải (resolution). Như màn hình máy tính có nhiều độ phân gi ải khác nhau,
hiện tại phổ biến là màn hình VGA có độ phân giải 640x480 hay XSGA độ phân
giải 1024x768.

Hình 2.1.1.1a: Hình ảnh thể hiện một điểm ảnh

b) Ảnh màu (Color Image):

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 15
Ảnh màu chứa thông tin màu cho mỗi phần tử ảnh. Thông thường giá trị
màu này dựa trên các không gian màu (color space) trong đó không gian màu
thườngđược dùng là RGB tương ứng với ba kênh màu đỏ (Red) – xanh lá cây
(Green) – xanh da trời (Blue). Tùy thuộc vào số bit, được sử dụng để lưư trữ màu
ta có số lượng màu khác nhau, ví dụ 8 bit, 16 bit, 24 bit (True Color). N ếu ta s ử
dụng nhỏ hơn 24 bit để lưu trữ màu thì ta phải có 1 bảng Palette màu, nó tương
tự như một bảng Lookup Table cho phép ánh xạ giữa một vị trí trong bảng với
một tổ hợp của không gian màu RGB. Ví dụ như sử dụng 8 bit tương ứng với 256
màu thì ta phải có bảng ánh xạ 256 màu đó tương ứng với 256 tổ hợp Red –
Green – Blue.

Hình 2.1.1.1b: ảnh màu RGB

c) Mức xám của ảnh:


Mức xám (Gray level) là kết quả sự mã hóa tương ứng m ột cường độ sáng
của mỗi điểm ảnh với một giá trị số - kết quả của quá trình lượng tử hóa. Ảnh
đa mức xám là ảnh có sự chuyển dần mức xám từ trắng sang đen. Thực tế, một
giá trị mức xám chính là sự tổ hợp của ba giá trị RGB (Red- Green – Blue). Thông
thường mỗi điểm ảnh trong bức ảnh đa xám thường được mã hóa 8 bit, tương
ứng với 256 mức xám.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 16
Hình 2.1.1.1c:: Hình ảnh được chuyển sang mức xám

d) Ảnh nhị phân:


Ảnh nhị phân chỉ có 2 mức đen trắng phân biệt tức là dùng 1 bit mô tả 21
mức khác nhau. Nói cách khác: mỗi đi ểm ảnh của ảnh nhị phân ch ỉ có th ể là 0
hoặc 1.

Hình 2.1.1.1d: Ảnh được nhị phân

e) Lược đồ mức xám:


Lược đồ này (Hình 2.1.1.1e) đơn giản cho ta biết tần suất xuất hiện của
mỗi điểm ảnh ( pixel ) trong một bức ảnh ứng với mức xám tương ứng. Ví dụ,
một ảnh đa mức xám sử dụng 8 bit, có 256 mức xám từ o tới 255. L ược đồ mức
xám sẽ có trục hoành chạy từ 0 tới 255 và trục tung chính là tổng số điểm ảnh có
mức xám tương ứng. Biểu đồ này tuy đơn giản nhưng có nhiều ứng dụng trong

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 17
các bài toán giãn độ tương phản và phân ngưỡng ảnh ( biến từ ảnh mức xám
sang ảnh nhị phân).

Hình 2.1.1.1e:: Lượt đồ mức xám của ảnh xám tương ứng

2.1.1.2 Biểu diễn ảnh:


Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh
là pixel. Nhìn chung có thể xem một hàm hai biến chứa thông tin như bi ểu diễn
một ảnh. Các mô hình biểu diễn ảnh cho ta một mô tả logic hay định lượng các
tính chất của hàm này. Trong biểu diễn ảnh cần chú ý tới đặc tính trung thực của
ảnh hoặc các tiêu chuẩn “thông minh” để đo chất lượng của ảnh hoặc tính hi ệu
quả của các kỹ thuật xử lý.
Một số mô hình thường được dùng để biểu diễn ảnh như: mô hình toán
học, mô hình thống kê,v.v.... Trong mô hình toán học, ảnh hai chi ều bi ểu di ễn nh ờ
các hàm hai biến trực giao gọi là hàm cơ sở. Với mô hình th ống kê, m ột ảnh được
coi như một phần tử của một tập hợp đặc trưng bởi các đại l ượng như: kỳ v ọng
toán học, hiệp biến, phương sai và mômen.
2.1.1.3 Tăng cường ảnh - Khôi phục ảnh:
Tăng cường ảnh là bước quan trọng, tạo tiền đề cho xử lý ảnh. Nó gồm m ột
loạt các kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu…
Khôi phục ảnh nhằm loại bỏ các suy giảm trong ảnh.
2.1.1.4 Biến đổi ảnh:
Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều (độ phức tạp tính
toán cao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán lâu. Các ph ương
pháp khoa học kinh điển áp dụng cho xử lý ảnh hầu hết khó khả thi. Người ta s ử
dụng các phép toán tương đương hoặc biến đổi sang mi ền x ử lý khác đ ể d ễ tính

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 18
toán. Sau khi xử lý dễ dàng hơn được thực hiện, dùng bi ến đổi ngược đ ể đưa v ề
miền xác định ban đầu, các biến đổi thường gặp trong xử lý ảnh gồm:
 Biến đổi Fourier, Cosin, Sin
 Biến đổi (mô tả) ảnh bằng tích chập, tích Kronecker
 Các biến đổi khác như KL (Karhumen Loeve), Hadamard
2.1.1.5 Phân tích ảnh:
Phân tích ảnh liên quan đến việc xác định các độ đo đ ịnh l ượng c ủa ảnh đ ể
đưa ra một mô tả đầy đủ về ảnh. Một số kỹ thuật hay dùng là dò biên, dán nhãn
vùng liên thông, phân vùng ảnh…
2.1.1.6 Nhận dạng ảnh:
Nhận dạng là quá trình liên quan đến các mô tả đối tượng mà ng ười ta
muốn đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc
tính chủ yếu của đối tượng. Có hai kiểu mô tả đối tượng:
 Mô tả tham số (Nhận dạng theo tham số)
 Mô tả theo cấu trúc (Nhận dạng theo cấu trúc)
Trên thực tế, người ta đã áp dụng kỹ thuật này để nhận dạng khá thành
công nhiều đối tượng khác nhau như: nhận dạng vân tay, nhân dạng chữ (ch ữ
cái, chữ sỗ có dấu…).
2.2 Thu nhận ảnh:
2.2.1 Các thiết bị thu nhận ảnh:
Hai thành phần cho công đoạn này là linh kiện nhạy với phổ năng lượng
điện từ trường, loại thứ nhất tạo tín hiệu điện ở đầu ra tỷ lệ với mức năng
lượng mà bộ cảm biến (đại diện là camera); loại thứ hai là bộ số hoá.

2.2.1.1 Lý thuyết về camera:

Hình 2.2.1.1: Hình ảnh CCD camera

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 19
Tổng quát có hai kiểu camera: ki ểu camera dùng đèn chân không và ki ểu
camera chỉ dùng bán dẫn. Đặc biệt là trong lĩnh vực này, camera bán d ẫn th ường
hay được dùng hơn camera đèn chân không. Camera bán dẫn cũng được g ọi là
CCD camera do dùng các thanh ghi dịch đặc bi ệt gọi là thi ết b ị g ộp (Charge-
Coupled Devices- CCDs). Các CCD này chuy ển các tín hi ệu ảnh sang từ b ộ c ảm
nhận ánh sáng bổ trợ ở phía trước camera thành các tín hiệu đi ện mà sau đó
được mã hóa thành tín hiệu TV. Loại camera chất l ượng cao cho tín hi ệu ít nhi ễu
và có độ nhậy cao với ánh sáng. Khi chọn camera cần chú ý đ ến các th ấu kính t ừ
18 đến 108 mm.
Sau đây là danh sách các nhà sản xuất:
- Pulnix America Inc, 770 Lucerne Drive, Sunnyvale, CA 84086. Tel. 408-773-
1550; fax 408-737-2966.
- Sony Corp. of America, Component Products Co., 10833 Valley View St.,
Cypress, CA 90630. Fax 714-737-4285.
- Parasonic, industrial camera division: 201-329-6674.
- JVC Professional: 1-800-JVC-5825.

2.2.1.2 Bộ cảm biến ảnh:


Máy chụp ảnh, camera có thể ghi lại hình ảnh (phim trong máy ch ụp,
vidicon trong camera truyền hình). Có nhiều loại máy cảm bi ến (Sensor) làm
việc với ánh sáng nhìn thấy và hồng ngoại như: Micro Densitometers, Image
Dissector, Camera Divicon, linh kiện quang điện bằng bán dẫn. Các loại c ảm bi ến
bằng chụp ảnh phải số hoá là phim âm bản hoặc chụp ảnh. Camera divicon và
linh kiện bán dẫn quang điện có thể cho ảnh ghi trên băng từ có th ể s ố hoá.
Trong Micro Densitometer phim và ảnh chụp được gắn trên mặt phẳng hoặc
cuốn quang trống. Việc quét ảnh thông qua tia sáng (ví dụ tia Laser) trên ảnh
đồng thời dịch chuyển mặt phim hoặc quang tr ống tương đối theo tia sáng.
Trường hợp dùng phim, tia sáng đi qua phim.
Bây giờ chúng ta đề cập đến tất cả các khối trong hệ thống:
a) Thiết bị nhận ảnh:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 20
Chức năng của thiết bị này là số hóa một băng tần s ố cơ bản của t ớn hi ệu
truyền hình cung cấp từ một camera, hoặc từ một đầu máy VCR. Ảnh s ố sau đó
được lưu trữ trong bộ đệm chính. Bộ đệm này có khả năng được địa ch ỉ hóa
(nhờ một PC) đến từng điểm bằng phần mềm. Thông thường thi ết b ị này có
nhiều chương trình con điều khiển để có thể lập trình được thông qua ngôn ngữ
C. Khi mua một thiết cần chú ý cácc điểm sau:
 Thiết bị có khả năng số hóa ảnh ít nhất 8 bit (256 mức x ỏm) và ảnh thu
được phải có kích thước ít nhất là 512×512 điểm hoặc hơn.
 Thiết bị phải chứa một bộ đệm ảnh để lưu trữ một hoặc nhiều ảnh có độ
phân giải 512×512 điểm ảnh.
 Thiết bị phải được kèm một bộ đầy đủ thư viện các chương trình con có
khả năng giao diện với các chương trình C viết bằng Turbo C hoặc Microsoft C.
 Sổ tay hướng dẫn sử dụng phải được kèm theo, gồm cả dạng chứa trên đĩa
và khi in.
 Một số thiết bị cho phép tuỳ chọn sử dụng cả hai chế độ văn bản và đồ hoạ
trên cùng một màn hình hoặc hai màn hình riêng bi ệt. M ặc dù chi ti ết này là
không cần thiết, nhưng nó sẽ rất có giá trị trong trường hợp bị giới hạn về không
gian lắp đặt hoặc khả năng tài chính.

b)Màn hình video:

Hình 2.2.1.2b: Hình ảnh màn hình video

Một số nhà sản xuất (như Sony) sản xuất các loại màn hình đen tr ắng ch ất
lượng cao. Nên sử dụng loại màn hình chất lượng cao, vì màn hình ch ất l ượng

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 21
thấp có thể làm bạn nhầm lẫn kết quả. Một màn hình 9 inch là đủ cho yêu c ầu
làm việc. Để hiển thị ảnh màu, nên dùng một màn hình đa hệ.
c) Máy tính:

Hình 2.2.1.2c: Hình ảnh máy tính

Cần có một máy tính P entium 4 hoặc cấu hình cao hơn. Để chắc chắn, các
máy này phải có sẵn các khe cắm cho phần xử lý ảnh. Các ch ương trình thi ết k ế
và lọc ảnh có thể chạy trên bất kỳ hệ thống nào. Các chương trình con hi ển th ị
ảnh dựng vỉ mạch VGA và có sẵn trên đĩa kèm theo. Các chương trình con hi ển
thị ảnh cũng hỗ trợ cho hầu hết các vỉ mạch SVGA.
Kết quả nhận dạng được lưu dưới dạng chuỗi các ký tự (character string)
được đưa vào chương trình quản lý cơ sở dữ liệu bi ển số xe máy. Tại đây cán b ộ
trông xe sẽ tiến hành các thao tác nghiệp vụ như: in vé xe, thu ti ền, lưu vào c ơ s ở
dữ liệu. Tuỳ
thuộc vào kết quả xử lý của chương trình quản lý hệ thống Barrier sẽ được ti ến
hành đóng mở tương ứng.
2.2.2 Hệ tọa độ màu:
2.2.2.1 Khái niệm:
Tổ chức quốc tế về chuẩn hóa màu CIE (Commission Internationale
d’Eclairage) đưa ra một số chuẩn để biểu diễn màu. Các hệ này có các chu ẩn
riêng. Hệ chuẩn màu CIE-RGB dùng 3 màu cơ bản R, G, B và ký hi ệu đ ể phân bi ệt
với các chuẩn khác. Như đã nêu trên, một màu là tổ h ợp của các màu c ơ b ản theo
một tỷ lệ nào đó. Như vậy, mỗi pixel ảnh màu ký hiệu , được viết:
=(T: ký hiệu chuyển vị)

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 22
Người ta dùng hệ tọa độ ba màu R-G-B (tương ứng với hệ tọa độ x-y-z) đ ể
biểu diễn màu như sau:

X
Hình 2.22.1: Hệ tọa độ RGB

Trong cách biểu diễn này ta có công thức:


đỏ + lục + lơ =1
Công thức này gọi là công thức Maxwell. Trong hình trên, tam giác t ạo b ởi ba
đường đứt đoạn gọi là tam giác Maxwell. Màu trắng trong h ệ tọa đ ộ này đ ược
tính bởi:
=(++ ) = 1

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 23
2.2.2.2 Biến đổi hệ tọa độ màu:
Hệ tọa độ màu do CIE đề xuất có tác dụng như một hệ quy chiếu và không
biểu diễn hết các màu. Trên thực tế, phụ thuộc vào các ứng dụng khác nhau
người ta đưa ra các hệ biểu diễn màu khác nhau. Thí dụ:
 Hệ NTSC: dùng 3 màu R, G, B áp dụng cho màn hình màu, ký hi ệu .
 Hệ CMY (Cyan Magenta Yellow): thường dùng cho in ảnh màu.
 Hệ YIQ: cho truyền hình màu.
Việc chuyển đổi giữa các không gian biểu diễn màu được thực hi ện theo
nguyên tắc sau: Nếu gọi X là không gian biểu diễn các màu ban đầu; X’ không
gian biểu diễn màu mới A là ma trận biểu diễn phép biến đổi. Ta có quan hệ sau:
X’ = A.X
2.2.3 Lấy mẫu và lượng tử hóa:
2.2.3.1 Giới thiệu:
Một ảnh g(x, y) ghi được từ Camera là ảnh liên tục tạo nên mặt phẳng hai
chiều. Ảnh cần chuyển sang dạng thích hợp để xử lí bằng máy tính. Phương
pháp biến đổi một ảnh (hay một hàm) liên tục trong không gian cũng như theo
giá trị thành dạng số rời rạc được gọi là số hoá ảnh. Vi ệc biến đổi này có thể
gồm hai bước:
Bước 1: Đo giá trị trên các khoảng không gian gọi là lấy mẫu
Bước 2: Ánh xạ cường độ (hoặc giá trị) đo được thành một số hữu hạn các
mức rời rạc gọi là lượng tử hoá.
2.2.3.2 Lấy Mẫu:
Lấy mẫu là một quá trình, qua đó ảnh được tạo nên trên một vùng có tính
liên tục được chuyển thành các giá trị rời rạc theo tọa độ nguyên. Quá trình này
gồm 2 lựa chọn:
- Một là: khoảng lấy mẫu.
- Hai là: cách thể hiện dạng mẫu.
Lựa chọn thứ nhất được đảm bảo nhờ lý thuyết lấy mẫu của Shannon. Lựa chọn
thứ hai liên quan đến độ đo (Metric) được dùng trong miền rời rạc.
a) Khoảng lấy mẫu (Sampling Interval):

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 24
Ảnh lấy mẫu có thể được mô tả như việc lựa chọn một tập các vị trí l ấy
mẫu trong không gian hai chiều liên tục. Đầu tiên mô tả qua quá trình l ấy mẫu
một chiều với việc sử dụng hàm delta:

Tiếp theo chúng ta định nghĩa hàm răng lược với các khoảng Δx như sau:

với r là số nguyên, Δx : khoảng lấy mẫu


Như vậy, hàm răng lược là chuỗi các xung răng lược từ (-∞ đ ến +∞). Gi ả s ử hàm
một chiều g(x) được mô tả (gần đúng) bằng g(r Δx ) tức là:
g(x)≈g(rΔx)
Khi đó tín hiệu lấy mẫu được mô hình hoá:

Trong thực tế, r không thể tính được trong khoảng vô hạn (từ − ∞ đến +∞)
mà là một số lượng NΔx mẫu lớn cụ thể. Như vậy, để đơn giản có thể nói hàm
liên tục g(x) có thể biểu diễn trên một miền với độ dài NΔx mẫu thành chuỗi
như sau:

Điều kiện khôi phục ảnh lấy mẫu về ảnh thật được phát biểu từ định lý lẫy
mẫu của Shannon.
b) Định lý lấy mẫu Shannon:
Giả sử g(x) là một hàm giới hạn giải (Band Limited Function) và bi ến đổi
Fourier của nó là G=0 đối với các giá trị > . Khi đó g(x) có thể được khôi phục lại
từ các mẫu được tạo tại các khoảng Δx đều đặn. Tức là
Δx

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 25
Định lý lẫy mẫu của Shannon có thể mở rộng cho không gian hai chi ều.
Hàm răng lược hai chiều khi đó được xác định:

Hàm lấy mẫu hai chiều thu được:

Và Δx, Δy được chọn thoả mãn các điều kiện tương ứng theo định lý lấy mẫu của
Shannon khi đó sẽ:
Δx ; Δy
c) Các dạng lấy mẫu (Tesselation):
Dạng lẫy mẫu (Tesselation) điểm ảnh là cách bài trí các đi ểm m ẫu trong
không gian hai chiều. Một số dạng mẫu điểm ảnh được cho là dạng chữ nhật,
tam giác, lục giác. Mỗi một mẫu, ngoài việc thể hiện hình dáng còn cho biết đặc
điểm liên thông của chúng. Ví dụ, mẫu chữ nhật có liên thông 4 hoặc 8 (nói về
các mẫu liền kề); mẫu lục giác có liên thông 6; mẫu tam giác có liên thông 3 hoặc
6.

a) Mẫu điểm ảnh chữ nhật b) Mẫu điểm ảnh tam giác c) Mẫu
điểm ảnh luc giác
Hình 2.2.3.2c: Các dạng mẫu điểm ảnh

Trong trường hợp này ta chỉ xét các mẫu điểm ảnh hình chữ nhật, đặc bi ệt
là dạng hình vuông. Nhiều trường hợp ứng dụng có dùng đến các các mẫu tam
giác hoặc lục giác.
2.2.3.3 Lượng tử hóa:
Lượng tử hoá là một quá trình lượng hoá tín hiệu thật dùng chung cho các
loại xử lý tín hiệu trên cơ sở máy tính. Vấn đề này đã được nghiên cứu kỹ l ưỡng

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 26
và có nhiều lời giải lý thuyết dưới nhiều giả định của các nhà nghiên cứu như
Panter và Dite (1951), Max (1960), Panter (1965).
Các giá trị lấy mẫu Z là một tập các số thực từ giá trị Zmin đến lớn nhất
Zmax. Mỗi một số trong các giá trị mẫu Z cần phải biến đổi thành một tập hữu
hạn số bit để máy tính lưu trữ hoặc xử lý.
Định nghĩa: Lượng tử hoá là ánh xạ từ các số thực mô tả giá trị lấy mẫu thành
một giải hữu hạn các số thực. Nói cách khác, đó là quá trình số hoá biên đ ộ.
Zmin Zmax

Hình 2.2.3.3: Khuông lượng tử theo L mức xám

Giả sử Z là một giá trị lấy mẫu (số thực) tại vị trí nào đó của mặt phẳng
ảnh, và ZminZ’Zmax và giả sử chúng ta muốn lượng hoá giá trị đó thành một
trong các mức rời rạc: , ,… tương ứng với Zmin đến Zmax (Hình 2.2.3.3). Khi đó,
quá trình lượng hoá có thể thực hiện bằng cách chia toàn bộ miền vào (Zmax –
Zmin) thành L khoảng, mỗi khoảng là Δl và khoảng thứ i được đặt tại điểm giữa
các khoảng liền kề . Họ các giá trị z được thực hiện và mô tả bằng theo quá trình
trên đây, khi đó sai số của quá trình lấy mẫu có thể được xác định theo :

= – Z.

2.2.4 Một số phương pháp biểu diễn ảnh:


Sau bước số hóa, ảnh sẽ được lưu trữ hay chuyển sang giai đoạn phân tích.
Trước khi đề cập đến vấn đề lưu trữ ảnh, cần xem xét ảnh sẽ được biểu diễn ra
sao trong bộ nhớ máy tính. Dưới đây giới thiệu một số phương pháp biểu diễn
thường dùng chi tiết và tường minh hơn:
- Biểu diễn mã loạt dài (Run-length Code)
- Biểu diễn mã xích (Chain Code)
- Biểu diễn mã tứ phân (Quad Tree Code)
2.2.4.1 Biểu diễn mã loạt dài:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 27
Phương pháp này hay dùng để biểu diễn cho vùng ảnh hay ảnh nhị phân.
Một vùng ảnh R có thể biểu diễn đơn giản nhờ một ma trận nhị phân:

Với các biểu diễn trên, một vùng ảnh hay ảnh nhị phân được xem như
chuỗi 0 hay 1 đan xen. Các chuỗi này được gọi là mạch (run). Theo ph ương pháp
này, mỗi mạch sẽ được biểu diễn bởi địa chỉ bắt đầu của mạch và chiều dài
mạch theo dạng {<hàng,cột>, chiều dài}.
2.2.4.2 Biểu diễn mã xích:
Mã xích thường được dùng để biểu diễn biên của ảnh. Thay vì l ưu tr ữ toàn
bộ ảnh, người ta lưu trữ dãy các điểm ảnh như A, B…M. Theo phương pháp này, 8
hướng của vectơ nối 2 điểm biên liên tục được mã hóa. Khi đó ảnh được biểu
diễn qua điểm ảnh bắt đầu A cùng với chuỗi các từ mã. Điều này được minh họa
trong hình dưới đây:

Hình 2.2.4.2: Hướng các điểm biên và mã tương ứng


A11070110764545432.

2.2.4.3 Biểu diễn mã tứ phân:


Theo phương pháp mã tứ phân, một vùng ảnh coi như bao kín một hình ch ữ
nhật. Vùng này được chia làm 4 vùng con (Quadrant). Nếu một vùng con gồm
toàn điểm đen (1) hay toàn điểm trắng (0) thì không cần chia tiếp. Trong trường
hợp ngược lại, vùng con gồm cả điểm đen và trắng gọi là vùng không đồng nhất,
ta tiếp tục chia thành 4 vùng con tiếp và ki ểm tra tính đồng nhất của các vùng
con đó. Quá trình chia dừng lại khi mỗi vùng con ch ỉ chứa thu ần nh ất đi ểm đen
hoặc điểm trắng. Quá trình đó tạo thành một cây chia theo b ốn ph ần g ọi là cây

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 28
tứ phân. Như vậy, cây biểu diễn ảnh gồm một chuỗi các ký hiệu b (black), w
(white) và g (grey) kèm theo ký hiệu mã hóa 4 vùng con.
Biểu diễn theo phương pháp này ưu việt hơn so với các ph ương pháp trên,
nhất là so với mã loạt dài.Tuy nhiên, để tính toán s ố đo các hình nh ư chu vi, mô
men là tương đối khó khăn.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 29
2.2.5 Các định dạng ảnh cơ bản:
2.2.5.1 Khái niệm chung:
Ảnh thu được sau quá trình số hóa thường được lưu lại cho các quá trình x ử
lý tiếp theo hay truyền đi. Trong quá trình phát triển của kỹ thuật xử lý ảnh, tồn
tại nhiều định dạng ảnh khác nhau từ ảnh đen trắng (với định dạng IMG), ảnh
đa cấp xám cho đến ảnh màu: (BMP, GIF, JPEG…). Tuy các định dạng này khác
nhau, song chúng đều tuân theo một cấu trúc chung nhất. Nhìn chung, một tệp
ảnh bất kỳ thường bao gồm 3 phần:
- Mào đầu tệp (Header)
- Dữ liệu nén (Data Compression)
- Bảng màu (Palette Color)
a) Mào đầu tệp:
Mào đầu tệp là phần chứa các thông tin về kiểu ảnh, kích thước, độ phân
giải, số bit dùng cho 1 pixel, cách mã hóa, vị trí bảng màu…
b) Dữ liệu nén:
Số liệu ảnh được mã hóa bởi kiểu mã hóa chỉ ra trong phần Header.
c) Bảng màu:
Bảng màu không nhất thiết phải có ví dụ khi ảnh là đen trắng. N ếu có,
bảng màu cho biết số màu dùng trong ảnh và bảng màu được sử dụng để hiện
thị màu của ảnh. Một số các định dạng khác, cấu hình, đặc trưng của từng địn h
dạng và các tham số.
2.2.5.2 Quy trình đọc một tệp ảnh:
Trong quá trình xử lý ảnh, đầu tiên phải tiến hành đọc tệp ảnh và chuy ển
vào bộ nhớ của máy tính dưới dạng ma trận số liệu ảnh. Khi lưu trữ dưới dạng
tệp, ảnh là một khối gồm một số các byte. Để đọc đúng tệp ảnh ta cần hiểu ý
nghĩa các phần trong cấu trúc của tệp ảnh như đã nêu trên. Trước tiên, ta cần
đọc phần mào đầu (Header) để lấy các thông tin chung và thông tin đi ều khiển.
Việc đọc này sẽ dừng ngay khi ta không gặp đ ược chữ ký (Chữ ký ở đây thường
được hiểu là một mã chỉ ra định dạng ảnh và đời (version) của nó) mong muốn.
Dựa vào thông tin điều khiển, ta xác định được vị trí bảng màu và đọc nó
vào bộ nhớ. Cuối cùng, ta đọc phần dữ liệu nén. Sau khi đọc xong các khối dữ

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 30
liệu ảnh vào bộ nhớ ta tiến hành nén dữ liệu ảnh. Căn cứ vào phương pháp nén
chỉ ra trong phần Header ta giải mã được ảnh. Cuối cùng là khâu hi ện ảnh. Dựa
vào số liệu ảnh đã giải nén, vị trí và kích thước ảnh, cùng s ự tr ợ giúp c ủa b ảng
màu ảnh được hiện lên trên màn hình.
2.2.6 Khái niệm ảnh đen trắng và ảnh màu:
Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc tín hiệu s ố. Trong
biểu diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một
ma trận hai chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường
độ của ảnh tại vị trí đó.

Pixel or
PEL

Độ sáng trung bình trong


mỗi hình chữ nhật = giá trị
một điểm ảnh.

Hình 2.2.6: Biểu diễn mức xám của ảnh số.

Trong Hình 2.2.6, một lưới chia ô vuông tưởng tượng được đặt lên ảnh. Độ
lớn mỗi ô vuông của lưới xác định kích thước của một điểm ảnh. Mức xám của
một điểm được tính bằng cường độ sáng trung bình tại mỗi ô vuông này. Mắt
lưới càng nhỏ thì chất lượng ảnh càng cao. Trong kỹ thuật truyền hình tiên tiến,
(mục đích là cung cấp cho người xem), hình ảnh cần chất lượng cao với độ phân
giải gấp hai lần so với các chuẩn hiện nay.
Trong kỹ thuật tương tự, một bức ảnh thường được biểu diễn dưới dạng
các dòng nằm ngang kế tiếp nhau. Mỗi dòng là một tín hi ệu tương tự mang theo
các thông tin về cường độ sáng dọc theo một đường nằm ngang trong ảnh gốc.
Ảnh trên một chiếc TV được hiện lên qua các dòng quét này. Mặc dù thuật ngữ
"tương tự" được dùng để mô tả cho các ảnh quét liên tiếp nhưng thực tế ảnh chỉ

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 31
tương tự dọc theo hướng nằm ngang. Nó là rời rạc khi xét theo h ướng d ọc và
chính vì vậy mà tín hiệu ảnh là tín hiệu lai nửa tương tự, nửa số.
Một máy truyền hình được thiết kế để thu tín hi ệu truy ền hình mã hoá
theo tiêu chuẩn NTSC của Mỹ có khả năng hiển thị xấp xỉ 525 dòng. Công nghệ
truyền hình tiến bộ nỗ lực để cung cấp cho chúng ta số lượng các dòng gấp hai
lần, cho độ phân giải tốt hơn là TV màn ảnh rộng. Một TV có màn ảnh lớn hơn
28 inch được coi là một TV có màn ảnh rộng.
Một điều cần chú ý là TV có khả năng hiện một s ố dòng như nhau cho dù
nó là 5 inch hay là 50 inch. Màn ảnh lớn nhất của loại TV dòng quét xen kẽ mà
mắt người có khả năng phân biệt được từ khoảng cách thông thường vào
khoảng 3 mét.
2.2.6.1 Ảnh đen trắng:
Ảnh đen trắng chỉ bao gồm 2 màu: màu đen và màu tr ắng. Ng ười ta phân
mức đen trắng đó thành L mức. Nếu sử dụng số bit B=8 bít để mã hóa mức đen
trắng (hay mức xám) thì L được xác định :
L= (trong ví dụ này ta có B=8 bit nên L=256 mức)
Nếu L bằng 2, B=1, nghĩa là chỉ có 2 mức: mức 0 và mức 1, còn gọi là ảnh nhị
phân. Mức 1 ứng với màu sáng, còn mức 0 ứng với màu tối. Nếu L l ớn h ơn 2 ta có
ảnh đa cấp xám. Nói cách khác, với ảnh nhị phân mỗi điểm ảnh được mã hóa
trên 1 bit, còn với ảnh 256 mức, mỗi điểm ảnh được mã hóa trên 8 bit. Như vậy,
với ảnh đen trắng: nếu dùng 8 bit (1 byte) để bi ểu di ễn mức xám, số các mức
xám có thể biểu diễn được là 256. Mỗi mức xám được bi ểu di ễn dưới dạng là
một số nguyên nằm trong khoảng từ 0 đến 255, với mức 0 bi ểu diễn cho m ức
cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng nhất. Ảnh nhị phân
khá đơn giản, các phần tử ảnh có thể coi như các phần tử logic. Ứng dụng chính
của nó được dùng theo tính logic để phân biệt đối tượng ảnh với n ền hay đ ể
phân biệt điểm biên với điểm khác.
2.2.6.2 Ảnh màu:
Ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản: đỏ (R),
lục (G), lơ (B) và thường thu nhận trên các dải băng tần khác nhau. Với ảnh màu,
cách biểu diễn cũng tương tự như với ảnh đen trắng, chỉ khác là các s ố tại mỗi

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 32
phần tử của ma trận biểu diễn cho ba màu riêng rẽ gồm: đỏ (red), lục (green) và
lam (blue). Để biểu diễn cho một đi ểm ảnh màu cần 24 bit. 24 bit này được chia
thành ba khoảng 8 bit. Mỗi màu cũng phân thành L cấp màu khác nhau (thường
L=256). Mỗi khoảng này biểu diễn cho cường độ sáng của một trong các màu
chính.
Do đó, để lưu trữ ảnh màu người ta có thể lưu trữ từng màu riêng bi ệt, mỗi
màu lưu trữ như một ảnh đa cấp xám. Do đó, không gian nhớ dành cho m ột ảnh
màu lớn gấp 3 lần một ảnh đa cấp xám cùng kích cỡ.
2.3 Các phương pháp phát hiện ảnh:
2.3.1 Giới thiệu biên và kỹ thuật phát hiện biên.
2.3.1.1 Một số khái niệm:
Điểm Biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh
hoặc đột ngột về mức xám (hoặc màu). Ví dụ trong ảnh nhị phân, đi ểm đen gọi
là điểm biên nếu lân cận nó có ít nhất một điểm trắng.
Đường biên (đường bao: boundary): tập hợp các điểm biên liên tiếp tạo
thành một đường biên hay đường bao.
Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên: đường biên là một loại
đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh. Thứ hai, người ta s ử
dụng biên làm phân cách các vùng xám (màu) cách bi ệt. Ngược l ại, ng ười ta cũng
sử dụng các vùng ảnh để tìm đường phân cách.
Tầm quan trọng của biên: để thấy rõ tầm quan trọng của biên, xét ví dụ
sau: khi người họa sỹ muốn vẽ một danh nhân, họa sỹ chỉ cần vẽ vài đường n ứt
tốc họa mà không cần vẽ một cách đầy đủ.
Mô hình biểu diễn đường biên, theo toán học: điểm ảnh có sự biến đổi mức
xám u(x) một cách đột ngột theo hình dưới:

a) Đường biên lý tưởng b) Đường biên bậc thang c) Đường biên


thực
SVTH: Hồ Xuân Hiền
Lớp: KT ĐT-TT K37A Page 33
Hình 2.3.1.1: Đường biên của ảnh

Các khái niệm và định nghĩa tóm tắt trên là cơ sở giúp ta hi ểu và dùng đ ể
hiểu cách xây dựng, thiết kế các kỹ thuật phát hiện biên ảnh.
Chú ý: Phát hiện biên là một phần trong phân tích ảnh, sau khi đã l ọc ảnh
(hay tiền xử lý ảnh). Các bước của phân tích ảnh có thể mô tả theo sơ đồ dưới
đây. Việc dò và tìm biên ảnh là một trong các đặc trưng thuộc khối trích chọn
đặc trưng.

Hình 2.3.1.2: Các bước xử lý và phân tích ảnh

2.3.1.2 Phân loại các kỹ thuật phát hiện biên:


Từ định nghĩa toán học của biên người ta sử dụng hai phương pháp phát
hiện biên như sau (phương pháp chính)
a) Phương pháp phát hiện biên trực tiếp : phương pháp này chủ yếu dựa
vào sự biến thiên độ sáng của điểm ảnh để làm nổi biên bằng kỹ thuật đạo hàm.
 Nếu lấy đạo hàm bậc nhất của ảnh: ta có phương pháp Gradient
 Nếu lấy đạo hàm bậc hai của ảnh: ta có phương pháp Laplace.
Hai phương pháp này được gọi chung là phương pháp dò biên cục bộ.
Ngoài ra, người ta còn sử dụng phương pháp “đi theo đường b iên” dựa vào
công cụ toán học là nguyên lý quy hoạch động và đ ược gọi là phương pháp dò
biên tổng thể. Phương pháp dò biên trực tiếp có hiệu quả và ít bị tác động của
nhiễu.
b) Phương pháp phát hiện biên gián tiếp : Nếu bằng cách nào đấy, chúng ta
thu được các vùng ảnh khác nhau thì đường phân cách giữa các vùng đó chính là
biên. Nói cách khác, việc xác định đường biên của ảnh được thực hiện từ ảnh đã

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 34
được phân vùng. Phương pháp dò biên gián tiếp khó cài đặt nhưng áp dụng tốt
khi sự biến thiên độ sáng nhỏ.
Chú ý: Kỹ thuật dò biên và phân vùng ảnh là hai bài toán đối ngẫu của nhau.
2.3.1.3 Quy trình phát hiện biên:
Bước 1: Do ảnh ghi được thường có nhiễu, bước một là phải lọc nhiễu .
Bước 2: Làm nổi biên sử dụng các toán tử phát hiện biên.
Bước 3: Định vị biên. Chú ý rằng kỹ thuật nổi biên gây tác d ụng ph ụ là gây
nhiễu làm một số biên giả xuất hiện do vậy cần loại bỏ biên giả.
Bước 4: Liên kết và trích chọn biên.

2.3.2 Phương pháp phát hiện biên cục bộ:


2.3.2.1 Phương pháp Gradient:
Định nghĩa: Gradient là một vec tơ ƒ(x, y) có các thành ph ần bi ểu th ị t ốc đ ộ thay
đổi mức xám của điểm ảnh (theo hai hướng x, y trong bối cảnh x ử lý ảnh hai
chiều) tức:

Trong đó dx, dy là khoảng cách giữa 2 điểm kế cận theo h ướng x, y tương
ứng (thực tế chọn dx= dy=1). Đây là phương pháp dựa theo đạo hàm riêng bậc
nhất theo hướng x, y.
Gradient trong tọa độ góc (r,θ), với r là véc tơ, θ: góc

f(.) đạt cực đại khi = 0


tức là:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 35
Hình 3.2.1: Tính đạo hàm theo Gradient

Theo định nghĩa về Gradient, nếu áp dụng nó vào xử lý ảnh, vi ệc tín h toán
sẽ rất phức tạp. Để đơn giản mà không mất tính chất của phương pháp
Gradient, người ta sử dụng kỹ thuật Gradient dùng cặp mặt nạ H1, H2 trực giao
(theo 2 hướng vuông góc). Nếu định nghĩa g1, g2 là Gradient theo hai hướng x, y
tướng ứng thì biên độ g(m,n) tại điểm (m,n) được tính:
g(m,n) = =

Để giảm độ phức tạp tính toán, được tính gần đúng như sau:

Một số toán tử Gradient tiêu biểu như toán tử Robert, Sobel,Prewitt, đẳng
hướng (Isometric), 4-lân cận.
2.3.2.2 Kỹ thuật Laplace:
Để khắc phục hạn chế và nhược điểm của phương pháp Gradient, trong đó
sử
dụng đạo hàm riêng bậc nhất người ta nghĩ đến việc sử dụng đạo hàm riêng bậc
hai
hay toán tử Laplace. Phương pháp dò biên theo toán tử Laplace hi ệu qu ả h ơn
phương pháp toán tử Gradient trong trường hợp mức xám bi ến đổi ch ậm, mi ền
chuyển đổi mức xám có độ trải rộng.
Toán tử Laplace được đĩnh nghĩa như sau:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 36
Kỹ thuật theo toán tử Laplace tạo đường biên mảnh (có đ ộ r ộng 1 pixel).
Nhược điểm của kỹ thuật này rất nhạy với nhiễu, do vậy đường biên thu được
thường kém ổn định.
2.3.2.3 Một số phương pháp khác:
Ngoài các phương pháp trên, người ta cũng áp dụng một s ố phương pháp
khác cải tiến như:
 Tiếp cận theo mô hình mặt
 Tiếp cận tối ưu hóa.
Cách tiếp cận theo mô hình mặt dựa vào việc thực hi ện xấp x ỉ đa th ức trên
ảnh gốc hay ảnh đã thực hiện phép lọc Laplace.
Cách tiếp cận tối ưu nhằm xác định một hàm (một bộ lọc), làm giảm
phương sai hoặc giảm một số điểm cực trị cục bộ.
2.4 Phân vùng ảnh:
2.4.1 Giới thiệu:
Phân vùng ảnh là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân
tích ảnh thành những thành phần có cùng tính chất nào đó dựa theo biên hay các
vùng liên thông. Tiêu chuẩn để xác định các vùng liên thông có thể là cùng mức
xám, cùng màu hay cùng độ nhám... Trước hết cần làm rõ khái niệm "vùng ảnh"
(Segment) và đặc điểm vật lý của vùng.
Vùng ảnh là một chi tiết, một thực thể trông toàn cảnh. Nó là m ột tập h ợp
các điểm có cùng hoặc gần cùng một tính chất nào đó : mức xám, mức màu, đ ộ
nhám… Vùng ảnh là một trong hai thuộc tính của ảnh. Nói đến vùng ảnh là nói
đến tính chất bề mặt. Đường bao quanh một vùng ảnh (Boundary) là biên ảnh.
Các điểm trong một vùng ảnh có độ biến thiên giá trị mức xám tương đối đồng
đều hay tính kết cấu tương đồng.
Dựa vào đặc tính vật lý của ảnh, người ta có nhi ều kỹ thu ật phân vùng:
phân vùng dựa theo miền liên thông gọi là phân vùng dựa theo mi ền đ ồng nh ất
hay miền kề; phân vùng dựa vào biên gọi là phân vùng biên. Ngoài ra còn có các
kỹ thuật phân vùng khác dựa vào biên độ, phân vùng dựa theo kết cấu.
2.4.2 Phân vùng ảnh theo ngưỡng biên độ:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 37
Các đặc tính đơn giản, cần thiết nhất của ảnh là biên độ và các tính ch ất
vật lý như : độ tương phản, độ truyền sáng, màu sắc hoặc đáp ứng phổ.
Như vậy, có thể dùng ngưỡng biên độ để phân vùng khi biên độ đủ l ớn đặc
trưng cho ảnh. Thí dụ, biên độ trong bộ cảm biến ảnh hồng ngoại có thể phản
ánh vùng có nhiệt độ thấp hay vùng có nhiệt độ cao. Kỹ thuật phân ngưỡng theo
biên độ rất có lợi đối với ảnh nhị phân như văn bản in, đồ họa, ảnh màu hay ảnh
X-quang.
Việc chọn ngưỡng rất quan trọng. Nó bao gồm các bước :
 Xem xét lược đồ xám của ảnh để xác định các đỉnh và các khe. Nếu ảnh có
dạng rắn lượn (nhiều đỉnh và khe), các khe có thể dùng để chọn ngưỡng.
 Chọn ngưỡng t sao cho một phần xác định trước η của toàn bộ s ố mẫu là
thấp hơn t.
 Điều chỉnh ngưỡng dựa trên lược đồ xám của các đi ểm lân cận.
 Chọn ngưỡng theo lược đồ xám của những điểm th ỏa mãn tiêu chu ẩn
chọn.Thí dụ, với ảnh có độ tương phản thấp, lược đồ của những đi ểm có biên
độ Laplace g(m,n) lớn hơn giá trị t định trước (sao cho từ 5% đ ến 10% s ố đi ểm
ảnh với Gradient lớn nhất sẽ coi như biên) sẽ cho phép xác đ ịnh các đ ặc tính ảnh
lưỡng cực tốt hơn ảnh gốc.
 Khi có mô hình phân lớp xác suất, việc xác định ngưỡng d ựa vào tiêu chu ẩn
xác
suất nhằm cực tiểu xác suất sai số hoặc dựa vào m ột s ố tính ch ất khác c ủa lu ật
Bayes.
 Để hiểu rõ hơn nguyên tắc phân vùng dựa vào ngưỡng biên độ, xét thí dụ
sau:

Hình 2.4.2: Lược đồ rắn lượn và cách chọn ngưỡng

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 38
Giả sử ảnh có lược đồ xám như hình 2.4.2, chọn các ngưỡng như hình trên
với:
=,…,=. Ta có 5 ngưỡng và phân ảnh thành 4 vùng, ký hiệu là vùng thứ k của ảnh,
k=1,2,3,4. Cách phân vùng theo nguyên tắc :
P(m,n) ∈ nếu -1 ≤ P(m,n) < , k=1,2,3,4.
Khi phân vùng xong, nếu ảnh rõ nét thì việc phân vùng coi như k ết thúc.
Nếu không, cần điều chỉnh ngưỡng.
2.4.3 Phân vùng ảnh theo miền đồng nhất:
Kỹ thuật phân vùng ảnh thành các miền đồng nhất dựa vào các tính ch ất
quan trọng nào đó của miền ảnh. Việc lựa chọn các tính chất của mi ền sẽ xác
định tiêu chuẩn phân vùng. Tính đồng nhất của một miền ảnh là điểm chủ yếu
xác định tính hiệu quả của việc phân vùng. Các tiêu chuẩn hay được dùng là sự
thuần nhất về mức xám, màu sắc đối với ảnh màu, kết cấu s ợi và chuyển động.
Các phương pháp phân vùng ảnh theo miền đồng nhất thường áp dụng là :
 Phương pháp tách cây tứ phân
 Phương pháp cục bộ
 Phương pháp tổng hợp
2.4.3.1 Phương pháp tách cây tứ phân:
Về nguyên tắc, phương pháp này kiểm tra tính đúng đắn của tiêu chuẩn đ ề
ra một cách tổng thể trên miền lớn của ảnh. Nếu tiêu chuẩn được th ỏa mãn,
việc phân đoạn coi như kết thúc.Trong trường hợp ngược lại, chia mi ền đang xét
thành 4 miền nhỏ hơn. Với mỗi miền nhỏ, áp dụng một cách đệ quy phương
pháp trên cho đến khi tất cả các miền đều thỏa mãn điều kiện.
Phương pháp này có thể mô tả bằng thuật toán sau :
Procedure PhanDoan(Mien)
Begin
If miền đang xét không thỏa Then
Begin
Chia miền đang xét thành 4 miền : Z1, Z2, Z3, Z4
For i=1 to 4 do PhanDoan (Zi)
End

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 39
Else exit
End
Tiêu chuẩn xét miền đồng nhất ở đây có thể dựa vào mức xám. Ngoài ra, có
thể dựa vào độ lệch chuẩn hay độ chênh giữa giá trị mức xám l ớn nhất và giá tr ị
mức xám nhỏ nhất. Giả sử Max và Min là giá trị mức xám lớn nhất và nhỏ nhất
trong miền đang xét. Nếu :
|Max – Min| < T (ngưỡng)
ta coi miền đang xét là đồng nhất. Trường hợp ngược lại, miền đang xét không là
miền đồng nhất và sẽ được chia làm 4 phần.
Thuật toán kiểm tra tiêu chuẩn dựa vào độ chênh lệch max, min được vi ết :
Function Examin_Criteria(I, N1, M1, N2, M2, T)
/* Giả thiết ảnh có tối đa 255 mức xám.
(N1, M1), (N2, M2) là tọa độ điểm đầu và điểm cuối của miền; T là
ngưỡng. */
Begin
Max=0 ; Min=255
For i = N1 to N2 do
If I[i,j] < Min
Then Min=I[i,j] ;
If I[i,j]<Max
Then Max=I[i,j] ;
If ABS(Max–Min)<T
Then Examin_Criteria=0
Else Examin_Criteria=1 ;
End.
Nếu hàm trả về giá trị 0, có nghĩa vùng đang xét là đồng nhất, nếu không thì
không đồng nhất. Trong giải thuật trên, khi miền là đồng nhất cần tính l ại giá tr ị
trung bình và cập nhật lại ảnh đầu ra. Giá trị trung bình được tính bởi :
Tổng giá trị mức xám / tổng số điểm ảnh trong vùng

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 40
Thuật toán này tạo nên một cây mà mỗi nút cha có 4 nút con ở m ọi m ức tr ừ
mức ngoài cùng. Vì thế, cây này có tên là cây tứ phân. Cây cho ta hình ảnh rõ nét
về cấu trúc phân cấp của các vùng tương ứng với tiêu chuẩn.
Một vùng thỏa mãn điều kiện sẽ tạo nên một nút lá; nếu không nó sẽ tạo
nên một nút trong và có 4 nút con tương ứng. Tiếp tục như vậy cho đến khi phân
chia xong để đạt các vùng đồng nhất.
2.4.3.2 Phương pháp cục bộ:
Ý tưởng của phương pháp là xét ảnh từ các miền nhỏ nhất rồi nối chúng l ại
nếu thỏa mãn tiêu chuẩn để được một miền đồng nhất lớn hơn. Tiếp tục với các
miền thu được cho đến khi không thể nối thêm được nữa. Số miền còn lại cho ta
kết quả phân đoạn. Như vậy, miền nhỏ nhất của bước xuất phát là điểm ảnh.
Phương pháp này hoàn toàn ngược với phương pháp tách. Song đi ều quan
trọng ở đây là nguyên lý nối 2 vùng. Việc nối 2 vùng được thực hiện theo nguyên
tắc sau :
 Hai vùng phải đáp ứng tiêu chuẩn, thí dụ như cùng màu hay cùng mức xám.
 Hai vùng phải kế cận nhau.
Khái niệm kế cận: trong xử lý ảnh, người ta dùng khái niệm liên thông đ ể
xác định tính chất kế cận. Có hai khái niệm về liên thông là 4 liên thông và 8 liên
thông. Với 4 liên thông một điểm ảnh I(x,y) sẽ có 4 kế cận theo 2 hướng x và y ;
trong khi đó với 8 liên thông, điểm I(x,y) sẽ có 4 liên thông theo 2 hướng x, y và 4
liên thông khác theo hướng chéo 45 độ.

4 liên thông 8 liên thông


Hình 2.4.3.2: Khái niệm 4 liên thông và 8 liên thông

Dựa theo nguyên lý của phương pháp nối, ta có 2 thuật toán :

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 41
- Thuật toán tô màu (Blob Coloring) : sử dụng khái niệm 4 liên thông, dùng
một
cửa sổ di chuyển trên ảnh để so sánh với tiêu chuẩn nối.
- Thuật toán đệ quy cực bộ: sử dụng phương pháp tìm kiếm trong một cây đ ể
làm
tăng kích thước vùng.
2.4.3.3 Phương pháp tổng hợp:
Hai phương pháp nối (hợp) và tách đều có nhược điểm. Phương pháp tách
sẽ tạo nên một cấu trúc phân cấp và thiết lập mối quan hệ giữa các vùng. Tuy
nhiên, nó thực hiện việc chia quá chi tiết. Phương pháp hợp cho phép làm giảm
số miền liên thông xuống tối thiểu, nhưng cấu trúc hàng ngang dàn trải, không
cho ta thấy rõ mối liên hệ giữa các miền.
Vì nhược điểm này, người ta nghĩ đến phối hợp cả 2 phương pháp. Trước
tiên, dùng phương pháp tách để tạo nên cây tứ phân, phân đoạn theo h ướng từ
gốc đến lá. Tiếp theo, tiến hành duyệt cây theo chiều ngược lại và hợp các vùng
có cùng tiêu chuẩn. Với phương pháp này ta thu được một cấu trúc ảnh với các
miền liên thông có kích thước tối đa.
Giải thuật tách hợp gồm một số bước chính sau:
- Kiểm tra tiêu chuẩn đồng nhất:
Nếu không thỏa mãn tiêu chuẩn đồng nhất và số đi ểm trong m ột vùng
nhiều hơn 1, tách vùng ảnh làm 4 miền (trên, dưới, phải, trái) bằng cách đệ quy.
Nếu kết quả tách xong và không tách được nữa chuyển sang bước 2.
Nếu tiêu chuẩn đồng nhất thỏa mãn thì tiến hành hợp vùng và cập nhật l ại
giá trị trung bình của vùng cho vùng này.
- Hợp vùng:
Kiểm tra 4 lân cận như đã nêu trên. Có thể có nhiều vùng th ỏa mãn. Khi đó,
chọn vùng tối ưu nhất rồi tiến hành hợp.
2.4.4 Phân vùng ảnh theo kết cấu bề mặt:
2.4.3.1 Phương pháp cấu trúc:
Kết cấu sợi có cấu trúc thuần nhất là những texels xác định, mà sự xu ất
hiện lặp đi lặp lại tuân theo một luật tất định hay ngẫu nhiên nào đấy. Một texel

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 42
về thực tế là một nhóm các điểm ảnh có cùng một số tính chất bất biến lặp trên
ảnh. Một texel cũng có định nghĩa theo mức xám, theo bề mặt hay tính đồng nhất
đối với một số các tính chất như kích thước, hướng, lược đồ bậc hai (ma trận
tương tranh).
Với các texel được phân bố ngẫu nhiên, tính kết cấu sợi tương ứng của nó
được coi là yếu (Weak) ngược với qui luật phân bố tất định gọi là khỏe (Strong).
Khi tính kết cấu sợi là yếu, luật phân bố có thể đo bởi:
- Mậ t độ gờ
- Các loạt dài của các texel liên thông tối đa
- Mật độ cực trị tương đối; số pixel trên một đơn vị diện tích có mức xám cực
trị địa phương so với các lân cận.
Ngoài hai cách tiếp cận trên, người ta còn dùng cách ti ếp cận khác b ằng
cách lấy tổ hợp 2 cách trên và gọi là kỹ thuật mosaic. Mô hình này biểu diễn các
quá trình học ngẫu nhiên, thí dụ như khảm ngẫu nhiên hay đều của một mặt
phẳng vào các đường cong lồi sẽ làm nổi lên tính kết cấu tế bào.
2.4.4.2 Tiếp cận theo tính kết cấu:
Khi đối tượng xuất hiện trên một nền có tính kết cấu cao, việc phân đo ạn
dựa vào tính kết cấu trở nên quan trọng. Nguyên nhân là kết cấu s ợi thường
chứa mật độ cao các gờ (edge) làm cho phân đoạn theo biên kém hiệu quả, trừ
phi ta loại tính kết cấu. Việc phân đoạn dựa vào mi ền đồng nhất cũng có thể áp
dụng cho các đặc trưng kết cấu và có thể dùng để phân đoạn các mi ền có tính
kết cấu.
Nhìn chung, việc phân loại và phân vùng dựa vào kết cấu là một v ấn đ ề
phức tạp. Ở đây, tài liệu chỉ mang tính chất giới thiệu. Có th ể gi ải quy ết vấn đề
này trong thực tế nếu ta biết trước các loại kết cấu (dựa vào quy luật hay các
phân bố của nó).
2.5 Nhận dạng ảnh:
2.5.1 Giới thiệu:
Nhận dạng ảnh là giai đoạn cuối của các hệ th ống xử lý ảnh. Nhận d ạng
ảnh dựa trên lý thuyết nhận dạng (Pattern Recognition) đã được đề cập trong

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 43
nhiều sách về nhận dạng. Trong lý thuyết về nhận dạng nói chung và nhận dạng
ảnh nói riêng có ba cách tiếp cận khác nhau:
- Nhận dạng dựa vào phân hoạch không gian.
- Nhận dạng dựa vào cấu trúc.
- Nhận dạng dựa vào kỹ thuật mạng nơron.
Hai cách tiếp cận đầu là cách tiếp cận kinh điển. Các đối tượng ảnh quan
sát và thu nhận được phải trải qua giai đoạn tiền xử lý nhằm tăng cường chất
lượng, làm nổi các chi tiết, tiếp theo là trích chọn và biểu diễn các đặc trưng,
cuối cùng mới là giai đoạn nhận dạng. Cách tiếp cận thứ ba hoàn toàn khác. Nó
dựa vào cơ chế đoán nhận, lưu trữ và phân biệt đối tượng mô phỏng theo hoạt
động của hệ thần kinh con người.
Do cơ chế đặc biệt, các đối tượng thu nhận bởi thị giác người không cần
qua giai đoạn cải thiện mà chuyển ngay sang giai đoạn tổng h ợp, đ ối sánh v ới
các mẫu đã lưu trữ để nhận dạng. Đây là cách ti ếp cận đầy h ứa h ẹn đ ược trình
bày cụ thể trong các phần dưới đây.
2.5.2 Khái niệm nhận dạng:
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 chúng một tên (gán cho đối tượng một tên gọi, tức là m ột
dạng) dựa theo những quy luật và 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 hay học có thầy (supervised
learning), trong những trường hợp ngược lại gọi là học không có thầy. Chúng ta
sẽ lần lượt giới thiệu các khái niệm này.
2.5.3 Mô hình và bản chất của quá trình nhận dạng:
2.5.3.1 Mô hình:
Trong nhận dạng người ta chia thành hai họ lớn:
- 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 ta sẽ có hai loại mô hình: mô hình tham số và mô hình cấu trúc.
a) Mô hình tham số:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 44
Sử dụng một vectơ để đặc tả đối tượng. Mỗi phần tử của vectơ mô tả một
đặc tính của đối tượng. Thí 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.
Việc lựa 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. Thí dụ,
trong nhận dạng chữ, các tham số là các dấu hiệu:
- Số điểm chạc ba, chạc tư.
- Số điểm chu trình.
- Số điểm ngoặt.
- Số điểm kết thúc.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 45
b) Mô hình cấu trúc:
Cách tiếp cận trong 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ạn 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 , một bộ kí
hiệu không kết thúc gọi là . Ngoài ra có 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 (tập ). Trong cách tiếp cận này, ta chấp nh ận kh ẳng đ ịnh
là: cấu trúc một dạng 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 ban đầ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=(V, , P, S) với:
- là bộ ký hiệu kết thúc
- 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)
Thí dụ, đối tượng nhà gồm mái và tường, mái là một tam giác g ồm 3 c ạnh là
3 đoạn thẳng, tường là một hình chữ nhật gồm 4 cạnh vuông góc v ới nhau từng
đôi một sẽ được mô tả thông qua cấu trúc mô tả dựa vào văn phạm sinh như chỉ
trong hình dưới đây:
Nhà
(1) (2)
(3) Mái Tường

(6) (4)
(5
)
Đoạn 1 Đoạn 2 Đoạn 3 Đoạn 3 Đoạn 4 Đoạn 5
Đoạn 6
Hình 2.5.3.1b: Mô hình cấu trúc của đối tượng nhà

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

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 46
- Chọn mô hình biểu diễn đối tượng.
- Chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn.
- Học trong nhận dạng.
Trong việc lựa chọn để biểu diễn đối tượng, đối tượng có thể được xác
định theo cách định lượng (mô hình tham số) hay định tính (mô hình cấu trúc).
Khi đối tượng đã được xác định, quá trình nhận dạng chuyển sang giai đoạn thứ
hai-giai đoạn học (Learning). Học là giai đoạn cung cấp tri thức cho hệ thống.
Mục đích học nhằm cải thiện, điều chỉnh việc phân loại tập đ ối tượng thành các
lớp. Nhận dạng 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ấ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 (unsupervised learning):
Kỹ thuật này phải tự định ra các 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 đương nhiên là gặp 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 được 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.
Nhìn chung, dù là mô hình nào và kỹ thuật nhận d ạng ra sao, m ột h ệ th ống
nhận dạng có thể tóm tắt theo sơ đồ sau:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 47
Hình 2.5.3.2b: Sơ đồ tổng quát một hệ thống nhận dạng

c) Các loại nhận dạng:


Nhận dạng mẫu, các đặc trưng là các thu ộc tính riêng rẽ mà ta có th ể xác
định và đo đạc được khi quan sát một hiện tượng nào đó. Việc l ựa ch ọn các đ ặc
trưng tách biệt và độc lập là điểm mấu chốt của bất kì gi ải thu ật nhận d ạng
mẫu nào, quyết định tới sự thành công hay thất bại của hệ th ống. Trong các lĩnh
vực khác nhau của nhận dạng mẫu thì có các đặc trưng khác nhau, một khi các
đặc trưng này đã được xác định, chúng có th ể được phân loại bằng m ột tập các
giải thuật nhỏ hơn. Những tập này bao gồm việc phân loại theo kỹ thuật hàng
xóm gần nhau (near neighborhood classification) dựa trên đa chi ều, mạng nơron
(neural networks) hay các kĩ thuật thống kê, mà chủ yếu là dựa vào xác suất
Bayes (Bayesian probabilities).
Nhận dạng kí tự, các đặc trưng có thể bao g ồm các thông tin (profile) theo
chiều ngang và theo chiều dọc, số lượng các lỗ trống bên trong, xác đ ịnh s ố nét
(stroke detection ) và nhiều yếu tố khác.
Nhận dạng giọng nói, các đặc trưng để nhận dạng âm vị (phoneme ) có thể
bao gồm tỉ lệ tiếng ồn (noise ratio ), chiều dài âm (sound), cường đ ộ tương quan
(relative power ), lọc ra các trùng khớp ( filter matche ),…
Trong mọi trường hợp này, và nhiều trường hợp khác, việc trích rút đặc
trưng mà có thể đo đạc được bằng máy tính là cả một nghê thuật, với ngoại l ệ là
một số kỹ thuật mạng nơron và di truyền có thể tự động trực cảm (nh ận bi ết )
được các “đặc tính”, và lựa chọn bằng tay các đặc tính để tạo thành cơ sở cho
mọi giải thuật phân loại.
2.5.4 Nhận dạng theo cấu trúc:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 48
2.5.4.1 Biểu diễn định tính:

Ngoài cách biễn diễn theo định lượng, tồn tại nhiều ki ểu đối tượng mang
tính định tính. Trong cách bi ểu diễn này, người ta quan tâm đ ến các dạng và mối
quan hệ giữa chúng. Giả thiết rằng mỗi đối tượng được biểu di ễn b ởi một dãy
ký tự. Các đặc tính biểu diễn bởi cùng một số ký tự. Phương pháp nhận dạng đây
là nhận dạng lôgíc, dựa và hàm phân biệt là hàm Bool. Cách nh ận d ạng là nhận
dạng các từ có cùng độ dài.
Giả sử hàm phân biệt cho mọi ký hiệu là (x), (x),... tương ứng v ới các ký
hiệu a, b,… Để dễ dàng hình dung, ta giả sử có từ "abc" được bi ểu di ễn b ởi m ột
dãy ký
tự X = {x1, x2, x3, x4}. Tính các hàm tương ứng với 4 ký tự và có:
(x1) + (x2) + (x3) + (x4)
Các phép cộng ở đây chỉ phép toán OR. Trên cơ s ở tính giá tr ị cực đ ại c ủa
hàm phân biệt, ta quyết định X có thuộc lớp các từ "abc" hay không. Trong cách
tiếp cận này, đối tượng tương đương với một câu hay một mệnh đề.
Thủ tục phân loại và nhận dạng ở đây gồm hai giai đoạn chính:
 Giai đoạn 1: xác định các quy tắc xây dựng, tương đương với việc nghiên
cứu một văn phạm trong một ngôn ngữ chính thống.
 Giai đoạn 2: khi đã có văn phạm là xem xét tập các dạng có được sinh ra từ
các dạng đó không Nếu nó thuộc tập đó coi như ta đã phân loại xong.
Tuy nhiên, ở phương pháp này, văn phạm là một vấn đề lớn khá phức tạp
và khó có thể tìm được loại phù hợp một cách hoàn hảo với mọi đối tượng. Vì
vậy, trong nhận dạng dự theo cấu trúc, ta chỉ sử dụng được một phần rất nhỏ.
Như trên đã nói, mô hình cấu trúc tương đương một văn phạm G: G = {Vn, Vt,P, S}.
Có rất nhiều kiểu văn phạm khác nhau từ chính tắc, phi ng ữ cảnh,... Một văn
phạm sẽ được sử dụng trong nhận dạng bởi một ngôn ngữ hình thức, trong đó có
một ngôn ngữ điển hình cho nhận dạng cấu trúc là PLD (Picture Language
Description)
Trong ngôn ngữ này, các từ vựng là các vạch có hướng. Có 4 từ vựng cơ bản:
a B C d

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 49
Bảng 2.5.4.1a: Các từ vựng cơ bản trong ngôn ngữ PLD

Các từ vựng trên các quan hệ được định nghĩa như sau:

Phép cộng a+b

Phép trừ a–b

Phép nhân axb

Tích chập a*b

Bảng 2.5.4.1b. Các phép toán bằng ngôn ngữ PLD

Văn phạm sinh ra các mô tả trong ngôn ngữ được định nghĩa bởi:
GA = {Vn, VT, P, S}
Với Vn = {A, B, C, D, E} và VT = {a, b, c, d}. S là ký hiệu bắt đầu và P là tập lu ật
sản xuất. Ngôn ngữ này thường dùng nhận dạng các mạch điện.
2.5.4.2 Phương pháp nhận dạng theo cấu trúc:
Các đối tượng cần nhận dạng theo phương pháp này được biểu di ễn b ởi
một câu trong ngôn ngữ L(G). Khi đó thao tác phân l ớp chính là xem xét m ột đ ối
tượng có thuộc văn phạm L(G) không . Nói cách khác nó có được sinh ra bởi các
luật của văn phạm G hay không.
Như vậy sự phân lớp là theo cách tiếp cận cấu trúc đòi hỏi phải xác định:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 50
 Xác định tập V1 chung cho tất cả mọi đối tượng
 Xác định các quy tắc P để sản sinh ra một câu và chúng khác nhau đối với
mỗi lớp.
 Ra quyết định: xác định một đối tượng X được biểu diễn bởi một câu . Nếu
nhận biết bởi L() thì ta nói rằng X là một đối tượng thuộc loại .
Nói cách khác, việc ra quyết định phân lớp là dựa vào phân tích cú bi ểu
diễn lớp . Pháp của văn phạm. Cũng như trong phân tích cú pháp ngôn ng ữ, có
phân tích trên xuống, dưới lên, việc nhận dạng theo cấu trúc cũng có th ể th ực
hiện theo cách tương tự.
2.5.5 Nhận dạng dựa theo mạng Nơron:
2.5.5.1 Giới thiệu mạng nơron:
Nghiên cứu về nơron thần kinh từ lâu đã trở thành đề tài được nhiều nhà
khoa học quan tâm. Nhưng kỷ nguyên của mạng nơron chính thức được bắt đầu
với báo cáo khoa học của Mc Culloch và Pitts năm 1943 miêu tả một phép tính
logic của mạng nơron. Báo cáo này được công chúng đón nhận cho đến năm
1949 học thuyết về mạng nơron chính thức của Mc. Culloch và Pitts được mô tả
chủ yếu trong bài giảng thứ hai trong bốn bài giảng mà Von Neumann đã phát
biểu tại trường đại học Illinois. Sự phát triển tiếp theo của quá trình nghiên c ứu
mạng nơron được đánh dấu vào năm 1949 với việc xuất bản cuốn sách “ The
Organization of Behavior: A neuropsychological Theory” của Donald Olding Hebb.
Đến năm 1952, cuốn sách của Ashby “Design for a Brain” đã mô tả những điều
kiện cần và đủ đối với một hệ thống hoạt động giống như bộ não “đó là phải
học để còn tồn tại trong môi trường luôn thay đổi và nhận được những cái nó
cần”. Tiếp đó, năm 1954, Minsky đã viết luận án tiến sĩ mang tên “Theory of
Neural-analog Reinforcement Systems and Application to Brain-Model Problem” tại
trường Đại học Princeton, sau đó là bài báo của ông “Steps Toward Artificial
Interligence” năm 1961 về việc học củng cố trong mạng nơron hiện nay. Một chủ
đề khác được đánh giá cao là phát kiến về bộ nhớ liên kết của Taylor vào năm
1956, mở đầu một loạt các kết quả phát tri ển to l ớn về sau. Các k ết qu ả có th ể
kể đến là sự ra đời của mạng Perceptron được Frank Rosenblatt công b ố vào
năm 1957 và được coi là “mạng nơron truyền thẳng đơn giản nhất”. Tiếp đó năm

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 51
1960, mạng nơron khác được Bernard Widrow và Marcian Hoff giới thiệu là
ADALINE (ADAptive LINear Element). Với mạng ADALINE lần đầu tiên kiểu hội
tụ các mạch con chứa trọng số trước node tổng được sử dụng để phân lớp các
mẫu. Năm 1969, Minsky và Papert xuất bản cuốn “Perceptron, An Introduction to
Computational Geometry” chỉ ra những giới hạn trong mạng Perceptron một lớp
đơn và đề nghị khắc phục trong mạng Perceptron nhiều lớp. Những năm 1970
nổi bật với các sự kiện: các mạng liên kết của Kohonen và Anderson (1972),
Cognitron – mạng tự tổ chức nhiều lớp đầu tiên do Kunihiko Fukushima người
Nhật giới thiệu năm 1975. Thời kì phát triển vượt bậc của quá trình nghiên cứu
mạng nơron là những năm 80 với sự ra đời của một loạt các m ạng n ơron có giá
trị: mạng Hopfied của John Hopfield (1982), SOM (Self-Organization Map) c ủa
Kohonen, máy Boltzmann của Ackley, Hinton và Sejnowski. Tiếp theo là s ự ra đ ời
của mạng Back- Propagation năm 1986 do D. Rumelhart, G. Hilton và R. Williams
giới thiệu, sau đó là mạng ART (Adaptive Resonance Networks) vào năm 1987
của Gail Carpenter và Stephen Grossberg tại đại học Boston. Trong những năm
1990 việc ứng dụng các mô hình mạng nơron vào phục vụ các lĩnh vực trong
cuộc sống được phát triển mạnh mẽ.
2.5.5.2 Nơron sinh học và Nơron Nhân tạo:
Mạng nơron nhân tạo được thiết kế dựa trên mô hình mạng nơron thần
kinh với các phần tử nơron nhân tạo của nó là sự mô phỏng nơron sinh học.
Trong phần này chúng ta tìm hiểu cấu tạo của nơron sinh học và n ơron nhân t ạo
để thấy được sự tương quan giữa chúng.
2.5.5.2.1 Cấu trúc Nơron sinh học:
Nơron sinh vật có nhiều dạng khác nhau như dạng hình tháp, d ạng t ổ ong,
dạng rễ cây. Tuy khác nhau về hình dạng, chúng có cấu trúc và nguyên lý ho ạt
động chung. Một tế bào nơron gồm bốn phần cơ bản:
Các nhánh và rễ: Các nhánh và rễ là các bộ phận nhận thông tin, các đầu
nhạy hoặc các đầu ra của các nơron khác bám vào rễ hoặc nhánh của m ột
nơron. Khi các đầu vào từ ngoài này có sự chênh lệch về nồng độ K+ , Na+ hay Cl-
so với nồng độ bên trong của nó thì xẩy ra hiện tượng thấm từ ngoài vào trong
thông qua một cơ chế màng thấm đặc biệt. Hiện tượng thẩm th ấu nh ư v ậy tạo

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 52
nên một cơ chế truyền đạt thông tin với hàng ngàn hàng v ạn l ối vào trên m ột
nơron sinh vật, ứng với hàng nghìn hàng vạn liên kết khác nhau. Mức độ thẩm
thấu được đặc trưng bởi cơ chế màng tượng trưng bằng một tỷ lệ. Tỷ lệ đó
được gọi là tỷ trọng hay đơn giản gọi là trọng (Weight).
Thân thần kinh (Soma): Thân thần kinh chứa các nhân và cơ quan tổng h ợp
protein. Các ion vào được tổng hợp và biến đổi. Khi nồng độ các ion đạt đến một
giá trị nhất định, xảy ra quá trình phát xung (hay kích thích). Xung đó được phát
ở các đầu ra của nơron. Dây dẫn đầu ra xung được gọi là dây thần kinh.
Dây thần kinh (Axon): Dây thần kinh là đầu ra. Đó là phương tiện truyền
dẫn tín hiệu. Dây thần kinh được cấu tạo gồm các đốt và có th ể dài từ micro mét
đến vài mét tuỳ từng kết cấu cụ thể. Đầu ra này có thể truyền tín hiệu đến các
nơron khác.
Khớp thần kinh là bộ phận tiếp xúc của đầu ra nơron với rễ, nhánh của các
nơron khác. Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hi ệu khi có s ự
chênh lệch về nồng độ ion giữa bên trong và bên ngoài. Nếu độ lệch về nồng độ
càng lớn thì việc truyền các ion càng nhi ều và ngược lại. Mức độ thẩm thấu của
các ion có thể coi là một đại lượng thay đổi tuỳ thuộc vào nồng độ như một giá
trị đo thay đổi được gọi là trọng.
Trong não người có khoảng 15 tỷ nơron, mỗi nơron được nối với nhi ều
nơron khác bằng những khớp thần kinh (synapses), một nơron có th ể có đến
hơn nghìn synapses, và số synapses tổng cộng lại được ước lượng khoảng 1
triệu tỷ. Tín hiệu được truyền qua thân nơron tới các synapses, và tuỳ theo trạng
thái của chúng mà một hay nhiều nơron khác sẽ được kích thích đ ể tiếp tục
truyền tín hiệu. Đó là mức thấp nhất, nhưng từ đó tổ chức lên các t ầng trên nh ư
thế nào, có thể có được một bản đồ chi tiết của một bộ não tới từng n ơron
không?
Mạng nơron sinh vật tổ chức thành từng lớp (layer). Ta có:
 Mạng một lớp: là tập hợp các phần tử nơron có đầu vào và đ ầu ra trên m ỗi
một phần tử. Nếu mạng nối đầu ra của các phần tử này với đầu vào của ph ần tử
kia gọi là mạng tự liên kết (autoassociative).
 Mạng hai lớp: gồm một lớp đầu vào và một lớp đầu ra riêng biệt.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 53
 Mạng nhiều lớp: gồm một lớp đầu vào và một lớp đầu ra riêng bi ệt. Các l ớp
nằm giữa lớp đầu vào và lớp đầu ra gọi là lớp ẩn (hidden layers).
 Mạng truyền thẳng: là mạng hai hay nhiều lớp mà quá trình truy ền tín
hiệu từ đầu ra lớp này đến đầu vào lớp kia theo một hướng.
 Mạng truyền ngược: là mạng mà trong đó một hoặc nhiều đầu ra của các
phần tử lớp sau truyền ngược tới đầu vào của lớp trước.
 Mạng tự tổ chức: là mạng có khả năng sử dụng những kinh nghi ệm của quá
khứ để thích ứng với những biến đổi của môi trường (không dự báo trước). Loại
mạng này thuộc nhóm hệ học, thích nghi không cần có tín hiệu chỉ đạo từ bên
ngoài.
Bảng sau đây đưa ra những con số cụ thể để có th ể so sánh những ưu vi ệt
của bộ não con người so với một máy tính cá nhân mức trung bình hiện nay.
Máy tính Bộ não người
Đơn vị tính toán Bộ xử lý trung tâm với 105 Mạng 1011 nơron
mạch logic
Bộ nhớ 109 bit RAM 1011 nơron
Bộ nhớ ngoài Trên 1010 bit bộ nhớ ngoài Với 1014 khớp nối thần
kinh
Thời gian xử lý 10-8 giây 10-3 giây
Thông lượng 109 bit/giây 1014 bit/giây
Cập nhật thông tin 105 bit/giây 1014 nơron/giây
Bảng 2.5.5.2.1: So sánh khả năng làm việc của bộ não và máy tính

Những nghiên cứu trên đây là cơ sở mở đường cho con người nghiên cứu
phương pháp mô phỏng lại mạng nơron sinh vật, đó chính là mạng n ơron nhân
tạo.
2.5.5.2.2 Cấu trúc nơron nhân tạo:
Trên cơ sở cấu trúc của nơron sinh học tổng quát người ta đề xu ất mô hình
nơron nhân tạo gồm 3 phần chính:
 Bộ tổng liên kết đầu vào
 Bộ động học tuyến tính

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 54
 Bộ phi tuyến
a) Bộ tổng liên kết đầu vào:
Là bộ tổng hợp các liên kết tại đầu vào của một phần tử n ơron , mô tả như
sau:

Hình 2.5.5.2.2a: Mô hình nơron nhân tạo

Trong đó:
V(t): Tổng tất cả các đầu vào mô tả toàn bộ thế năng tác đ ộng ở thân
nơron.
Các đầu vào ngoài; với k là chỉ số chạy, k=1,2…m.
m: Số lượng đầu vào mô tả tín hiệu vào từ các đầu nhạy thần kinh
: Trọng liên kết ngoài giữa các đầu vào k tới nơron hiện tại.
y(t): Tín hiệu đầu ra nơron.
θ: Ngưỡng (là hằng số), xác định ngưỡng kích thích hay ức chế.
b) Bộ động học tuyến tính:
Đầu vào của phần động học tuyến tính là v(t), đầu ra của nó là u(t) gọi là
đầu ra tương tự. Hàm truyền tương ứng của phần động học tuyến tính có th ể
mô tả dưới dạng:
H(s) =
Các hàm H(s) thường dùng được liệt kê trong bảng dưới đây:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 55
Bảng 2.5.5.2.2b: Các hàm truyền H(s) thường dùng

c) Bộ phi tuyến:
Phần này sử dụng hàm quan hệ phi tuyến f(.) cho đầu ra y, để chặn tính
hiệu ở đầu ra. Các hàm đầu ra thông thường là các hàm có gi ới h ạn ng ưỡng phù
hợp với đặc điểm đầu ra của nơron sinh học. Hàm dạng này thường được g ọi là
hàm kích hoạt (activation) thể hiện đặc điểm kích hoạt hay ức chế của một
nơron.
Ngoài ra còn một số hàm khác cũng được sử dụng như dạng hàm Gauss,
hàm logarit, hàm mũ, hàm arctg.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 56
CHƯƠNG III: TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG BIỂN SỐ XE
MÁY

3.1 Khái quát chung về hệ thống nhận dạng biển số xe máy:


Cũng như mọi hệ thống khác, hệ thống nhận dạng biển số xe máy này yêu
cầu có phần cứng và phần mềm. Phần cứng có phần chính là WebCam để thu
nhận hình ảnh và phần mềm sẽ phân tích hình ảnh đó để lấy ra các ký tự trên
biển số xe.
Quá trình thu nhận biển số xe được thực hiện theo sơ đồ sau:

Hình 3.1: Sơ đồ quá trình nhận dạng biển số xe máy

 Tách biển số: Khối này có chức năng tách biển số từ ảnh chụp bằng các
phương pháp xử lý ảnh. Kết quả của khối là ảnh màu RBG (Red Green Blue)
được cắt ra từ ảnh chụp. Đây là một công việc rất khó khăn vì ta không bi ết
được vị trí chính xác của biển số. Ngoài ra, còn phụ thuộc vào độ sáng của ảnh
chụp.
 Phân đoạn ký tự: Sau khi tách biển số, chúng ta bắt đầu phân đoạn ký tự.
Khối này thực hiện tách từng kí tự có trong bi ển số, tạo thành tập ảnh riêng bi ệt
các ký tự phục vụ việc nhận dạng ký tự. Ảnh của mỗi ký tự là ảnh trắng đen.
 Nhận dạng ký tự: Sau khi phân đoạn, tách được các ký tự trong biển số và tạo
thành một chuỗi ký tự. Chuỗi này đưa vào khối nhận dạng dạng đ ể ti ến hành
nhận dạng từng ký tự trong chuỗi

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 57
3.2 Chụp hình bằng camera:

Hình 3.2.1: Hình ảnh chụp từ camera

Đây là khâu quan trọng nhất của hệ thống bởi vì nếu ảnh chụp bị mờ hay
nhiễu thì khi đưa vào nhận dạng sẽ không được. Để chụp ảnh thì ta có th ể s ử
dụng camera hoặc WebCam. Khi lựa chọn thiết bị thì ta cần quan tâm tới các
thông số quyết định tới chất lượng ảnh như:
a) Độ phân giải (resolution):
Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên
một ảnh số được hiển thị. Theo định nghĩa, khoảng cách giữa các đi ểm ảnh ph ải
được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh. Vi ệc l ựa ch ọn
khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là đ ộ phân gi ải và
được phân bố theo trục x và y trong không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là
một lưới điểm theo chiều ngang màn hình: 320 đi ểm chiều d ọc x 200 điểm ảnh
(320x200). Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA
17” độ phân giải 320x200. Lý do: cùng một mật độ (độ phân giải) nhưng diện
tích màn hình rộng hơn thì độ mịn (liên tục của các đi ểm) kém h ơn.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 58
Độ phân giải càng lớn thì chất lượng hình ảnh càng nét. Thường thì trong
các ứng dụng không cần thiết phải quan sát thật rõ nét thì độ phân gi ải 420 TV
Lines là hoàn toàn có thể chấp nhận được.

b)Số điểm ảnh ( CCD Total Pixels ):


Thông số này nói lên chất lượng hình ảnh, s ố đi ểm ảnh càng lớn thì chất
lưọng hình ảnh càng tốt, tuy nhiên, chất lượng hình ảnh càng tốt thì cũng đồng
nghĩa với dung lưọng ảnh càng lớn, và sẽ tốn bộ nhớ lưu trữ cũng như ảnh
hưỏng đến tốc độ đường truyền.

Hình 3.2.2: Số điểm ảnh (pixel)

c) Điều kiện hoạt động của thiết bị:


Cường độ ánh sáng nhỏ nhất ( Minimum Illumination ) :Thường được tính
bằng Lux. Thông số này nói lên rằng, WebCam(Camera) ch ỉ có th ể ho ạt đ ộng ở
cường độ ánh sáng lớn hơn cường độ ánh sáng nhỏ nhất. Trong điều kiện quá
tối, nếu không phải là Camera có chức năng hồng ngoại thì sẽ không ho ạt đ ộng
được.
 Ánh nắng mặt trời: 4000 lux, có mây: 1000lux
 Ánh sáng đèn tuýp: 500 lux, có mây: 300lux
 Ánh sáng đèn tuýp đỏ 500 lux, trắng (300 lux) trắng sáng 1lux
 Đêm không trăng: 0.0001 Lux

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 59
Chú ý: loại Camera quan sát có chức năng Auto Iris (Tự động hiệu chỉnh ánh
sáng). Đặc điểm của Camera loại này là chỉ với 1 nguồn sáng nhỏ, nó có thể tự
động khuyếch đại nguồn sáng đó lên để có thể quan sát được.
Nguồn cung cấp ( Power Supply ): Hiện nay đa số các WebCam đều sử dụng
nguồn máy tính(Laptop),Camera quan sát đ ều dùng loại nguồn 12VDC, chỉ một
số ít các Camera dùng nguồn khác. Tuy nhiên, bạn không phải lo lắng đ ến vấn đề
nguồn 12VDC, vì phần lớn các công ty bán camera quan sát đ ều bán bộ chuyển
đổi nguồn, do đó bạn có thể sử dụng trực tiếp nguồn 220VAC.
Dải nhiệt độ hoạt động (Operatinon Temperature): Phần lớn các Camera
quan sát đều cho phép hoạt động trong dải nhiệt độ -100C ~ 500C, nếu Camera
của bạn được sử dụng trong những điều kiện khắc nghiệt như trong công
nghiệp, khu vực có nhiệt độ cao thì bạn nên sử dụng các loại Camera quan sát
chuyên dụng trong công nghiệp.
Độ ẩm cho phép (Operational Humidity): Thông thường, độ ẩm cho phép là
90% RH (độ ảm tương đối).
3.3. Tách biển số:
3.3.1 Tổng quan về tách biển số:
Tách biển số là một bước rất quan trọng trong quá trình nhận dạng bi ển s ố
xe. Khối tách biển số xe được chia làm 2 giai đoạn chính:
 Giai đoạn 1: định vị trí của biển số trong ảnh chụp từ webcam.
 Giai đoạn 2: dùng các giải thuật để cắt bi ển số xe ra khỏi ảnh chụp và
xoay biển số xe về phương ngang.

Ảnh RGB được Cắt và xoay biển


Định vị trí của Ảnh RGB chỉ
chụp từ số xe về phương
biển số xe máy chứa biển số
webcam ngang

Hình 3.3.1a: Sơ đồ tổng quát của khối tách biển số


Việc định vị biển số xe dựa vào các tính chất của biển s ố như: hình dạng,
màu sắc của biển số so với nền. Biển số xe có hình ch ữ nh ật v ới kích th ước
chiều dài và rộng không thay đổi. Từ đó chúng ta có th ể tìm các vùng có hình t ứ
giác trong hình, tính tỉ lệ giữa hai chiều của hình so với khoảng giá tr ị cho tr ước
SVTH: Hồ Xuân Hiền
Lớp: KT ĐT-TT K37A Page 60
để xem thử vùng đó có chứa biển số hay không. Ngoài ra, định vị bi ển s ố còn dựa
trên màu sắc của biển số. Hầu hết các biển số xe Việt Nam đều nền trắng, chữ
đen. Kết hợp hai tính chất trên, chúng ta xác định được vùng chứa biển số.
Sau khi định vị biển số xe, chúng ta tiến hành cắt bi ển s ố xe. Bi ển s ố xe
được cắt theo 2 bước. Bước đầu tiên là cắt vùng rộng hơn vùng chứa bi ển s ố.
Sau đó tìm góc nghiêng của biển số và thực hiện xoay biển s ố về phương th ẳng
đứng. Bước hai là cắt biển số ra khỏi vùng trên. Thực hiện việc cắt bi ển s ố qua
hai bước như trên làm tăng độ chính xác, biển số được cắt nguyên vẹn, không
cắt phạm chữ, trừ trường hợp ảnh bị chói, độ tương phản không đều hoặc bị
che khuất thì kết quả của việc tách bi ển số mới không chính xác.
Phần tách biển số sử dụng rất nhiều giải thuật và phương pháp xử lý đối
với ảnh số như sơ đồ sau đây:
Ảnh RGB

 Biến đổi ảnh RGB ảnh trắng đen.


Tìm vùng màu  Đánh số các vùng màu trắng.
trắng  Tìm các vùng có diện tích phù hợp.

 Dò các cạnh của biển số.


Xác định vùng
 Tính tỉ lệ của chiều cao trên chiều ngang .
chứa biển số  Chọn vùng có tỉ lệ thích hợp.

 Cắt vùng lớn hơn biển số trong ảnh RGB.


Cắt vùng chứa
 Biến đổi sang ảnh xám.
biển số
 Xử lý tăng độ tương phản.

Tìm góc  Biến đổi ảnh xám sang đen trắng .


nghiêng và  Dùng biến đổi Randon tìm góc nghiêng.
xoay  Xoay ảnh tuyến tính.

 Phân tích giản đồ ngang dọc.


Cắt chính xác
 Xác định tọa độ cắt ngang, dọc.
biển số
 Cắt chính xác biển số.
SVTH: Hồ Xuân Hiền
Lớp: KT ĐT-TT K37A Page 61
Ảnh RGB chỉ chứa biển
số

Hình 3.3.1b: Sơ đồ chi tiết của khối tách biển số

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 62
3.3.2 Tìm vùng màu trắng:
Vì biển số màu trắng nên người thực hiện sẽ nhị phân hóa ảnh bằng cách
gắn giá trị cho các pixel trắng là 1, còn ngược lại là 0. Đầu tiên, chúng ta sẽ biến
đổi ảnh gốc thành ảnh xám (có mức sáng từ 0 đến 255), sau đó nhị phân hóa với
một ngưỡng thích hợp. Nếu ảnh được chụp vào ban đêm hay ban ngày nhưng ít
ánh sáng thì mức ngưỡng sẽ là 120. Còn ban ngày, nhiều ánh sáng là 190. Vấn đề
ở đây là làm sao chúng ta nhận biết được đó là ảnh sáng hay ảnh tối? Người thực
hiện đã dựa vào lược đồ mức xám ( histogram – tần số xuất hiện của mức xám )
của ảnh. Nếu tần số xuất hiện các pixel có giá trị <64 thì đó là ảnh tối, ngược lại
là ảnh sáng.
Ví dụ cho hai ảnh gốc có biển số như sau:

Hình 3.3.2a: Ảnh tối và ảnh sáng

Ảnh sau khi nhị phân hóa sẽ như sau:

Hình 3.3.2b: Ảnh sau khi nhị phân

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 63
3.3.3 Xác định vùng chứa biển số:
Ảnh nhận được sau khi nhị phân hóa sẽ có nhiều vùng màu trắng, và bi ển
số sẽ nằm trong vùng màu trắng thỏa điều kiện:
 0.75 < chiều cao / chiều ngang < 0.91
 16000 ≤ S_pixel_trắng ≤ 61000
 ≤ S_pixel_trắng / S_biển số ≤ 0.7
Với:
Chiều cao là H
Chiều ngang là W
Diện tích vùng trắng là S_pixel_trắng
Diện tích biển số là S_biển số
Tỉ số 2 kích thước của biển số là 0.75 nhưng khi bị nghiêng thì là 0.91

Hình 3.3.3a: Hình dạng biển số khi bị nghiêng

Sau điều kiện thứ nhất, sẽ có những vùng trắng không ch ứa bi ển s ố nh ưng
có tỉ số giữa chiều cao và chiều ngang phù hợp thì vẫn được chọn. Ta sẽ lo ại b ỏ
những vùng này bằng điều kiện thứ hai – diện tích vùng trắng. Vì khoảng cách
từ webcam tới xe cố định (ta lấy trước khoảng cách chụp ) nên s ố lượng pixel
trắng chứa trong biển số cố định.
Đối với điều kiện thứ ba, nếu biển số nằm ngay ngắn thì tỉ số là 0.7 còn
nếu biển số bị nghiêng, sẽ xuất hiện pixel đen nên tỉ số này giảm còn 0.38.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 64
Hình 3.3.3b: Biển số sau khi nhị phân

3.3.4 Cắt vùng chứa biển số:


Sau khi xác định được vùng nào chứa biển số, ta ti ến hành c ắt bi ển s ố trên
ảnh màu RBG. Do sự tương đồng của ảnh nhị phân và ảnh màu RBG nên toạ độ
một pixel trên ảnh nhị phân tương ứng tọa độ trên ảnh màu RBG. Do đó khi xác
định được tọa độ trên ảnh nhị phân, ta dùng tọa độ này để cắt trên ảnh màu
RBG.
Khi ta cắt biển số ra khỏi ảnh mà biển số bị nghiêng thì ta ti ến hành c ắt
theo hình chữ nhật lớn hơn hình chữ nhật lớn thực sự một lượng biên an toàn để
tránh việc mất thông tin biển số.

Hình 3.3.4a: Hình thể hiện vùng ảnh cần tách ra với biên an toàn

Trong chương trình, chọn vùng biên an toàn là 30 pixel.


Trong bước này, ta không cắt biển số ra khỏi ảnh ngay mà chỉ cắt vùng chứa
biển số. Việc cắt này có thể xem như là cắt thô.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 65
Hình 3.3.4b: Ảnh chụp ban đầu

Hình 3.3.4c: Ảnh sau khi cắt thô

3.3.5 Tìm góc nghiêng và xoay:


3.3.5.1 Biến đổi Radon:
3.3.5.1.1 Tổng quan về biến đổi Radon:
Biến đổi Radon dùng để biến đổi các ảnh trong không gian 2 chi ều v ới các
đường thẳng thành miền Radon, trong đó mỗi đường thẳng trong ảnh sẽ cho 1
điểm trong miền Radon.
Công thức toán học của biến đổi Radon:
R(
Phương trình trên biểu diễn việc lấy tích phân dọc theo đường thẳng s trên
ảnh, trong đó ρ là khoảng cách của đường thẳng so với gốc tọa đô O, và θ là góc
lệch so với phương ngang.

Hình 3.3.5.1.1a: Phương pháp biến đổi Radon

Trong xử lý ảnh số, biến đổi Radon tính toán hình chiếu của ma trận ảnh
dọc theo một hướng xác định. Hình chiếu của 1 hàm s ố 2 chi ều là f(x,y) l à tập
hợp các tích phân đường. Hàm Radon tính toán tích phân đường dọc theo các tia
song song theo các phương khác nhau ( bằng cách xoay hệ trục tọa độ xung

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 66
quanh O theo các giá trị θ khác nhau ), chiều rộng của các tia là 1 pixel. Hình dưới
đây biểu diễn 1 hình chiếu đơn giản theo 1 giá trị của góc θ .

Hình 3.3.5.1.1b: Hình chiếu đơn giản theo góc θ

Công thức tổng quát trên có thể viết lại như sau:

Với: =
Hình sau sẽ biễu diễn phương pháp biến đổi Radon dưới dạng hình học:

Hình 3.3.5.1.1c: Phương pháp biến đổi Radon dưới dạng hình học

3.3.5.1.2 Các bước thực hiện:


a) Biến đổi ảnh về ảnh nhị phân:

Hình 3.3.5.1.2a: Biến đổi ảnh về ảnh nhị phân

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 67
b) Thực hiện biến đổi Radon trên ảnh biên với θ = 0:180
Giá trị R của biến đổi Radon được biểu diễn như sau:

Hình 3.3.5.1.2b: Thực hiện biến đổi Radon trên ảnh biên

c) Tìm giá trị lớn nhất của R trong biến đổi Radon.
Vị trí các giá trị lớn nhất này tương ứng với các giá tr ị của đường thẳng
trong ảnh ban đầu.
3.3.5.2 Tìm góc nghiêng và xoay:
Biển số được chụp với nhiều góc nghiêng khác nhau, do đó ta ph ải tìm góc
nghiêng và xoay về phương thẳng. Đây là việc rất quan trọng, vì nếu không quay
về phương thẳng thì khi cắt biển số sẽ bị phạm vào biển số. Chúng ta xác đ ịnh
góc nghiêng bằng phương pháp biến đổi Radon.
Trước khi biến đổi Radon, ảnh chứa biển số được biến đổi thành ảnh được
tách biên nhị phân.

Hình 3.3.5.2a: Ảnh được tách biên biên nhị phân

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 68
Sau đó, ta tiến hành biến đổi Radon để tìm góc xoay. Thực hiện bi ến đổi
Radon với góc θ chạy trong khoảng ( 0: 180), ta sẽ được một ma trận với các
điểm R(θ) với từng góc θ và tọa độ pixel tương ứng.
Sau khi biến đổi Radon, chúng ta xác định được góc Rmax, ứng v ới Rmax thì
ta có được θ max và góc lệch là ( 90 - θ max ). Sau đó ta sử dụng hàm Rotate
trong MATLAB để xoay ảnh với góc lệch tìm được.

Hình 3.3.5.2b: Ảnh biển số sau khi xoay về phương thẳng đứng.

Và đây là giải thuật của bước này:

BEGIN

Biển số đầu vào

Chuyển đổi thành ảnh đa mức xám

Lấy biên ảnh

Thực hiện biến đổi Radon

Góc của biển số so với phương ngang

END

Hình 3.3.5.2c: Giải thuật tìm góc nghiêng biển số.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 69
3.3.6 Cắt biển số chính xác:
Sau khi xoay biển số về phương thẳng đứng ta thực hiện việc cắt bi ển s ố.
Đây là một việc rất quan trọng, kết quả của nó quyết định tới kết quả của hệ
thống nhận dạng biển số.
Ta thực hiện lại việc chọn vùng biển số:

Hình 3.3.6: Biển số sau khi cắt hoàn chỉnh

Sau khi cắt được biển số ta tiến hành phân đoạn ký tự .


3.4 Phân đoạn ký tự:
3.4.1 Tổng quan về phân đoạn ký tự:
Kết quả của khối tách biển số là một ảnh màu RBG có chứa bi ển s ố xe. Đ ể
nhận dạng các ký tự trong biển số, ta tiến hành phân đoạn ký tự trong bi ển s ố.
Phân đoạn ký tự là việc cắt các ký tự trong biển số xe .
Sau khi nhận kết quả của khối tách bi ển số, kh ối phân đo ạn ký t ự b ắt đ ầu
tiến hành tách từng ký tự trong biển số. Trước khi phân đoạn ký tự, ảnh của
biển số được chuyển thành ảnh nhị phân. Ảnh nhị phân được chuẩn hóa về kích
chuẩn, sau đó tiến hành cắt các ký tự. Kết quả của quá trình phân đoạn là một
ma trận chứa các ảnh đen trắng của ký tự.

Ảnh RGB của Nhị Phân Biển Chuẩn hóa biển


biển số số xe số xe

Ma trận chứa ảnh


Phân đoạn ký tự
của từng ký tự

Hình 3.4.1: Sơ đồ khối phân đoạn ký tự

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 70
3.4.2 Nhị phân biển số xe:
Đây là bước quan trọng để nhận dạng bi ển số xe. Bước này sẽ tìm mức
ngưỡng tối ưu, sau đó tiến hành nhị phân hóa ảnh với ngưỡng vừa tìm được
( nhằm làm tăng độ tương phản của ký tự với nền biển số ).

Hình 3.4.2: Ảnh sau khi được nhị phân.

3.4.3 Chuẩn hóa biển số:


Biển số được chuẩn hóa, sau đó được lấy bù:

Hình 3.4.3a: Ảnh biển số sau khi được chuẩn hóa

BEGIN

Ảnh nhị phân của biển số

Lấy bù

Định dạng kích cỡ

END

Hình 3.4.3b: Thuật giải chuẩn hóa biển số

3.4.4 Phân đoạn ký tự:

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 71
Ma trận nhị phân của biển số chính là ngõ vào của chương trình phân vùng
ký tự. Trước khi phân vùng ký tự, ta chia ma trận ảnh bi ển số thành từng hàng và
lần lượt đưa từng hàng vào chương trình phân vùng. Tuy nhiên, ở đây, ta chỉ tiến
hành nhận dạng ký tự của hàng 2 nên ta chỉ ngỏ vào của chương trình phân vùng
ký tự là ma trận của hàng 2.
Để phân chia thành nhiều ma trận ký tự từ ma trận bi ển s ố, ta dựa vào tổng
số pixel mức 1 ( mức 1 là màu trắng- màu của ký tự, mức 0 là màu đen – màu c ủa
nền). Với ma trận của hàng 2 sau khi đã chia đôi, gi ữa 2 ký tự có rất ít pixel có
mức 1 (trong trường hợp lý tưởng, thì sẽ là 0 ). Như vậy khi c ộng giá tr ị các pixel
theo từng cột, như hình sau, ta thấy giá trị tại các vùng giữa 2 ký tự rất thấp
( đây cũng là tổng số pixel mức 1). Từ đó, giải thuật phân vùng sẽ những vùng
này dựa vào giá trị của nó nhỏ hơn những vùng lân cận và sẽ phân chia thành
từng vùng. Ở đây, ta sẽ tìm 4 phân vùng tương ứng với 4 ký tự.

Hình 3.4.4a: Tổng số các bít theo 1 hàng của biển số

Chương trình có lựa chọn 2 thông số: Min_area và digit_width.


Min_area là diện tích cho phép nhỏ nhất của 1 ký tự, là tích của giá tr ị c ột
lớn
nhất với độ rộng của phân vùng đó.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 72
Hình 3.4.4b: Hình thể hiện thông số Min_area

Digit_width là độ rộng tối đa cho phép của 1 phân vùng ký tự.

Hình 3.4.4c: Hình thể hiện thông số Digit_width

Sau khi phân vùng được các ký tự ta tiến hành cắt các ký tự ra khỏi bi ển s ố.

Hình 3.4.4d: Các ký tự được cắt khỏi biển số

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 73
Dưới đây là sơ đồ thuật giải khi phân vùng 9 ký tự trên biển số xe:

BEGIN

Biển số
x

Chương trình chia đôi biển số


(Phân vùng ảnh)

Chuyển đổi thành ma trận ảnh

Chương trình phân vùng từng kí


tự

Kí tự 2 Kí tự 9
Kí tự 1 ............

END

Hình 3.4.4e: Giải thuật phân vùng ký tự

3.4.4.1 Chương trình chia đôi biển số:


Đây là chương trình đơn giản, biển số sau khi được chuẩn hóa về kích
thước
[50 150] thì kích thước từng hàng sau khi chia đôi là [25 150].
3.4.4.2 Chương trình phân vùng từng ký tự:

Chương trình con này thực hiện việc tìm vùng ranh gi ới gi ữa 2 ký t ự, t ương
ứng giữa 2 vùng ranh giới liên tiếp sẽ là vùng ký tự, ch ương trình sẽ tr ả v ề v ị trí
của vùng ký tự. Tuy nhiên, chương trình cũng có thể trả về số vùng ký tự lớn hơn

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 74
9 do ảnh hưởng của môi trường. Trường hợp này ta vẫn có thể tối ưu chuơng
trình để tăng độ chính xác.
Với kết quả trả về nhỏ hơn 9, ta sẽ xóa các pixel tại các vùng ranh giới ( gắn
các giá trị đó bằng 0 ). Điều này làm cho việc thực hi ện chương trình chính xác
hơn.
Với kết quả trả về lớn hơn 9 ( nghĩa là có 1 hay nhiều vùng không chứa ký
tự ), ta sẽ lấy 9 vùng có diện tích lớn nhất ( vì thông thường, các vùng không có
ký tự nhỏ hơn các vùng có ký tự ).
3.5 Nhận dạng ký tự:
3.5.1 Tổng quát nhận dạng ký tự:

Sau khi thực hiện phân vùng ta sẽ được 9 ma trận tương ứng với 9 ký tự
trên 2 hàng biển số. Lần lượt từng ma trận ký tự sẽ được đưa vào chương trình
nhận dạng. Kết quả cuối cùng sẽ là 9 ký tự số và chữ, chương trình sẽ hiển thị ký
tự này dưới dạng text.
Thực chất, quá trình nhận dạng là quá trình đ ổi ma tr ận đi ểm ảnh c ủa các
ký tự thành mã ASCII tương ứng với ký tự đó. Để làm được điều này người ta
đem so sánh ma trận của ký tự với tất cả các ma trận trong tập mẫu, ma trận
mẫu nào có khả năng giống nhiều nhất thì có chính là ký tự cần tìm.
Trong lĩnh vực nhân dạng, có 2 phương pháp để nhận dạng là phương pháp
cổ điển và phương pháp sử dụng mạng Nơron.
3.5.2 Lựa chọn phương pháp:
3.5.2.1 Phương pháp nhận dạng cổ điển:
a) Giới thiệu phương pháp:
Phương pháp này sẽ có 1 tập ma trận ký tự mẫu. Phương pháp này khá đ ơn
giản: ma trận ký tự cần nhận dạng khá giống với ma trận ký tự đó trong t ập
mẫu. Ví dụ, ta nhận dạng các số từ 0 đến 9 thì trong tập mẫu, ta sẽ tạo ra các ma
trận ký tự từ 0 đến 9. Giả sử ma trận cần nhận dạng là s ố 1 thì ma tr ận này nhìn
bằng mắt thấy cũng khá giống sao với ma trận số 1 trong tập mẫu.
b) Ưu nhược điểm của phương pháp:
Phương pháp này tuy đơn giản nhưng hiệu quả trong trường hợp tập ảnh
nhận dạng rõ nét, ít bị nhiễu. Nếu ảnh bị nhiễu thì ma trận đầu vào thay đ ổi, lúc

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 75
này tập mẫu sẽ không còn chính xác. Trong 1 vài trường hợp bi ển số ban đầu b ị
nghiêng hoặc lệch, khi ta xoay và chuẩn hóa kích thước thì các ký tự bị nhiễu và
khi so sánh với tập mẫu cũng không còn chính xác.

3.5.2.2 Phương pháp ứng dụng mạng Nơron:


Cũng như phương pháp cổ điển, ta nhận dạng các ký tự nhờ vào v ị trí và
hàng của ký tự đó trên biển số, nhưng ở đây ta sử dụng nhi ều tập mẫu đ ể so
sánh qua đó làm tăng độ chính xác khi nhận dạng. Hơn nữa trong MATLAB, có
TOOLBOX hỗ trợ về phần Nơron làm cho việc nhận dạng trở nên dễ dàng hơn.
 Vì lý do trên mà khi tiến hành nhận dạng ký tự, em đã chọn phương pháp
nhận dạng dùng mạng Nơron.
3.5.3 Giới thiệu về mạng Nơron ( neural networks):
3.5.3.1 Khái niệm về mạng Nơron:
Mạng nơron (Neural networks) phát tri ển từ các nghiên cứu v ề trí tu ệ nhân
tạo, dựa trên việc mô phỏng cấp thấp hệ thống Nơron sinh học – cố gắng bắt
chước khả năng học và chấp nhận sai của bộ não có cấu trúc thấp.

Đích

Ngõ Vào Mạng Nơron với các Ngõ Ra


trọng số và ngõ vào So sánh KẾT QUẢ
tương ứng

Điều chỉnh trọng số

Hình 3.5.3.1: Mô tả toán học tổng quát của mạng Nơron

Tín hiệu ngõ vào sau khi qua mạng nơron sẽ được tính toán và ngõ ra của
mạng sẽ được so sánh với tín hiệu đích mong muốn. Mạng sẽ tiếp tục cập nhật
và điều chỉnh trọng số và ngưỡng cho đến khi thỏa mãn ngõ ra yêu cầu và xu ất
ra kết quả mong muốn.
3.5.3.2 Mô hình của một mạng nơron nhân tạo:
Nơron nhân tạo có 1 số ngõ vào ( từ các dữ li ệu gốc và từ ngõ ra c ủa các
nơron khác). Mỗi kết nối đến ngõ vào đều có 1 cường độ ( hay tr ọng s ố ). Ngõ
vào của nơron có thể vô hướng hay hữu hướng. Mỗi nơron có 1 giá trị ngưỡng.
SVTH: Hồ Xuân Hiền
Lớp: KT ĐT-TT K37A Page 76
Tín hiệu được truyền qua hàm kích hoạt ( hay là hàm truy ền) t ạo giá tr ị ngõ ra
của nơron.

Ngõ vào Σ f Ngõ ra

Ngưỡng

Hình 3.5.3.2a: Nơron 1 ngõ vào

Ngõ vào Ngõ ra


Σ f
Ngưỡng

Hình 3.5.3.2b: Nơron nhiều ngõ vào

3.5.3.3 Thiết kế 1 mạng Nơron:


3.5.3.3.1 Thu thập dữ liệu:
Trước hết ta cần xác định được tập dữ liệu – là tập bao g ồm một số trường
hợp, mỗi tập hợp chứa giá trị của ngõ vào và ngõ ra khác nhau. Sau đó xác định
những biến nào sẽ được sử dụng, bao nhiêu trường hợp cần thu thập. Việc lựa
chọn các biến được sử dung thường do trực giác quyết định và th ường phụ
thuộc vào công việc chuyên môn và lĩnh vực mà nó được ứng dụng.
3.5.3.3.2 Các bước thực hiện:
Chọn cấu hình ban đầu (thường là 1 lớp ẩn có s ố nơron ẩn bằng nửa tổng
số nơron ngõ vào và ngõ ra).
Thực hiện lặp đi lặp lại số thí nghiệm của mỗi cấu hình, giữ lại mạng tốt
nhất (thường dựa vào sai số).
Trong mỗi lần thí nghiệm nếu xảy ra việc học chưa đủ ( k ết quả thí
nghiệm không đạt được xác suất như yêu cầu ) thì thử tăng số nơron trong lớp

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 77
ẩn. Nếu xảy ra việc học quá mức ( sai số ban đầu tăng lên ) thì hãy b ỏ b ớt 1 vài
nơron ẩn ( có thể bỏ lớp ẩn).
3.5.3.4 Cơ sở ký thuyết và giải thuật cho huấn luyện mạng lan truyền
ngược:
3.5.3.4.1 Cấu trúc mạng lan tryền ngược:
 Các loại nơron: (tansig, logsig, purelin)
Một loại nơron có R ngõ vào thể hiện như sau:

Hình 3.5.3.4.1a: Cấu tạo 1 nơron

Mỗi ngõ vào tương ứng với 1 trọng số w. Tổng của giá trị ngưỡng b với tích
của các ngõ vào và các trọng số sẽ là ngõ vào của hàm truyền f ( f(Wp+b) ). N ơron
dùng nhiều hàm truyền khác nhau để tính toán ngõ ra. M ạng nhi ều l ớp th ường
dùng
hàm truyền log-signoid (logsig).

Hình 3.5.3.4.1b: Hàm truyền logsig

Hàm logsig tính toán giá trị ngõ ra nằm trong khoảng 0 và 1 trong khi giá tr ị
ngõ vào từ -∞ đến +∞.
Tiếp đến là hàm truyền tan-signiod ( tansig)

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 78
Hình 3.5.3.4.1c: Hàm truyền tansig

Hiếm khi hàm truyền tuyến tính (purelin) được sử dụng trong mạng lan
truyền ngược ( thường chỉ sử dụng phổ biến trong mạng tuyến tính).

Hình 3.5.3.4.1d: Hàm truyền purelin (tuyến tính)

 Cấu trúc các lớp trog mạng lan truyền ngược:


Mạng 1 lớp với S nơron logsig có R ngõ vào được thể hiện như hình bên
trái,còn bên phải là sơ đồ khối các lớp

S: Số nơron trong 1 lớp

R: Số ngõ vào

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 79
Hình 3.5.3.4.1e: Cấu trúc mạng 1 lớp

Mạng lan truyền ngược với các nơron có hàm truyền đạt phi tuyến cho
phép nơron học được những mối liên quan tuyến tính và phi tuyến giữa ngõ vào
và ngõ ra.
Nếu giới hạn ngõ ra là 0 và 1 thì nên dùng hàm truyền logsig
Mô hình mạng 2 lớp như sau:

Hình 3.5.3.4.1f: Cấu trúc mạng 2 lớp

3.5.3.4.2 Huấn luyện mạng lan truyền ngược:


Mạng lan truyền ngược được huấn luyện để xấp xỉ 1 hàm phi tuyến , một
mô hình liên kết hay phân lớp. Trong suốt quá trình huấn luyện, các trọng s ố và
giá trị ngưỡng sẽ được điều chỉnh 1 cách hợp lý để làm tối thi ểu giá trị hàm l ỗi
của mạng.
Hàm lỗi mặc định trong mạng lan truyền ngược là trung bình phương lỗi
(mean square error hay mse ) – lỗi trung bình phương gi ữa ngõ ra thực t ế và ngõ
ra được tính toán. Sau đây là 1 vài thuật toán huấn luyện mạng lan truy ền ngược.
Tất cả các thuật toán đều dùng độ dốc (gradient) của hàm lỗi để điều chỉnh các
trọng số sao cho tối thiểu được giá trị hàm lỗi. Độ dốc được tính toán dựa vào kỹ
thuật lan truyền ngược.
 Độ dốc Gradient:
Trong thuật toán lan truyền ngược, vector gradient của mặt phẳng sai s ố sẽ
được tính toán. Vector này chỉ ra đường dốc nhất và vị trí hiện tại, vì thế nếu ta
di chuyển theo nó 1 khoảng ngắn ta có thể đạt giá trị nhỏ nhất.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 80
Tuy nhiên khó khăn ở đây là quyết định độ lớp của từng bước di chuy ển.
Bước lớn có thể hội tụ nhanh hơn nhưng có thể vượt quá điểm cần đến hay ra
khỏi vùng có cực tiểu ( nếu mặt phẳng sai số bị lệch tâm). Ngược lại bước nhỏ
có thể đi đến đúng hướng nhưng phải thực hiện lặp lại nhiều lần.
 Quy tắc thích nghi:
Phương pháp thực ra rất đơn giản. Mỗi phương pháp có 1 hệ s ố h ọc e khác
nhau. Khi cập nhật trọng số, nếu hướng lỗi hiện hành cùng bước với hướng
trước cho e lớn, còn ngược hướng cho e nhỏ.
Hướng lỗi được xác định là dấu của , là đạo hàm riêng của hàm l ỗi theo
trọng số ở bước m. Nếu dương, lỗi giảm khi trọng số giảm, nếu âm, lỗi giảm
khi trong số tăng.
+ (1-
Nếu ta cho f là trung bình trọng số của các đạo hàm hi ện tại và quá kh ứ, θ
là trọng số của các hàm quá khứ , (1-θ ) là tr ọng số của các hàm hi ện t ại. N ếu f
dương thì đây là lỗi “ giảm khi trọng số giảm ” và ngược lại cũng như đối với đạo
hàm.
Dựa vào f và ta có thể đo chính xác cả hướng của lỗi đang gi ảm l ẫn hướng
của lỗi vừa mới giảm. Nếu chúng cùng dấu, việc gi ảm l ỗi xảy ra theo h ướng cũ,
chúng khác dấu, ngược hướng với hướng cũ.
 Giảm độ dốc liên hợp:
Đây là thuật toán định hướng đường, bằng cách lấy ra 1 hướng nh ạy đ ể di
chuyển theo chiều ngang đa chiều, rồi chi ếu đường thẳng theo h ướng đó đ ể xác
định điểm nhỏ nhất và lặp lại. Hướng nhạy là hướng có độ dốc l ớn nhất . Ý
tưởng ở đây là khi thuật toán đã được cực tiểu hóa dọc theo 1 hướng cụ thể hóa
nào đó, thì đạo hàm bậc 2 dọc theo hướng đó phải giữ ở zero. Các hướng liên
hợp được giữ đạo hàm bậc 2 này với giả thiết mặt phẳng này là parabol. Nếu
điều kiện này được giữ, hàm sẽ đủ đạt được giá trị cực tiểu.
 Levenberg – Marquardt:
Là kỹ thuật mô phỏng vùng tin cậy: thay vì theo 1 đ ịnh h ướng c ố đ ịnh, ta
giả sử mặt phẳng có hình dạng đơn giản sao cho cực ti ểu có thể định v ị tr ực
tiếp, nếu giả thiết đúng. Thử mô hình và xem xét mức độ tốt của điểm được

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 81
chọn. Mô hình được giả sử rằng mặt phẳng có hình dạng tốt sẽ đúng nếu gần
đạt được cực tiểu. Ngoài điểm đó giả thiết có thể bị vi phạm, và mô hình có th ể
chọn những điểm sai để di chuyển. Mô hình chỉ có thể được tin cậy trong 1 vùng
của điểm hiện tại và kích thước của vùng này thì chưa biết. Do đó, chọn các
điểm mới để kiểm tra với điểm được chọn. Nếu điểm mới tốt, di chuyển đến
điểm đó và tăng cường vai trò của mô hình trong vi ệc l ựa chọn điểm mới, còn
nếu xấu, không di chuyển và tăng cường vai trò của bước dốc gradient trong việc
lựa chọn điểm mới.
3.5.4 Ứng dụng mạng lan truyền ngược vào nhận dạng ký tự :
Mạng lan truyền ngược được ứng dụng rộng rãi trong các vấn đề thực tế
liên quan đến mạng nơron. Việc thiết kế đơn giản cũng nhưng giải thuật huấn
luyện hội tụ nhanh đã thể hiện mạng lan truyền ngược là 1 công cụ rất mạnh và
phổ biến, đặc biệt trong vấn đề nhận dạng ký tự có cùng font, do đó vi ệc ứng
dụng nó cho 1 kết quả khả quan.
3.5.4.1 Thiết kế mạng lan truyền ngược:
Các ký tự số sau khi được phân vùng sẽ được định chuẩn với kích thước
20×10. Sau đó ma trận ảnh của ký tự sẽ chuyển đổi thành ma trận một cột và tr ở
thành ngõ vào của mạng nơron. Như vậy, ta dùng vị trí của giá trị lớn nhất của
nơron ngõ ra, từ đó có thể biết được giá trị của ký tự số đó. Tập mẫu huấn luyện
càng nhiều thì độ chính xác càng lớn.
Mạng nuôi tuyến lan truyền ngược gồm 2 lớp nơron trong đó:
 Lớp vào : 200 ngõ vào ( tương ứng với ma trận ký tự 20×10 sau khi chuy ển
thành ma trận cột ).
 Lớp ẩn: 20 nơron
 Lớp ngõ ra : 10 nơron ( tương ứng để nhận dạng 10 ký tự số từ 0 đến 9)
Dùng hàm truyền logsig có nơron lớp ẩn và lớp ngõ ra.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 82
Hình 3.5.4.1: Cấu trúc mạng dùng để nhận dạng ký tự số.

3.5.4.2 Quá trình nhận dạng:


Mạng sau khi được huấn luyện đưa vào sử dụng sẽ thực hi ện nh ận d ạng
đối với các ma trận ký tự số. Ví dụ, ma trận đầu vào lúc này là ma tr ận s ố 6. Nh ư
vậy, nếu mạng huấn luyện được kết quả tốt thì kết quả lan truyền ma trận này
trong mạng là neural tương ứng với vị trí số 6 ( trong hình này là nơron thứ 6) sẽ
có giá trị lớn nhất.

Hình 3.5.4.2: Hình minh họa hoạt động của mạng trong nhận dạng

3.5.4.3 Phương pháp tăng khả năng tổng quát của mạng:
Một trong những vấn đề xuất hiện trong việc huấn luyện mạng n ơron
được gọi là quá khớp. Lỗi trong tập huấn luyện có giá trị rất nh ỏ nh ưng khi đưa
dữ liệu mới vào mạng thì lỗi lại quá lớn. Nghĩa là mạng có khả năng nh ớ những
tập huấn luyện rất tốt nhưng chưa có khả năng tổng quát đối với dữ liệu mới.
Hình sau thể hiện đáp ứng của mạng n ơron được huấn luyện để xấp xỉ 1 hàm
sin. Mạng như vậy sẽ quá khớp với dữ liệu và không có khả năng tổng quát .

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 83
Hình 3.5.4.3a: Trường hợp quá khớp

Có rất nhiều phương pháp để giải quyết vấn đề này, trong đó phương pháp
ngừng học sớm được xem là phương pháp hiệu quả nhất.
Phương pháp ngừng học sớm:
Phương pháp này dùng 3 tập mẫu, một tập dùng để huấn luyện, m ột tập
dùng để kiểm tra và một tập dùng để thử lại. Trong quá trình h ọc tập m ẫu hu ấn
luyện thì lỗi của tập mẫu kiểm tra cũng được giám sát. Trong quá trình h ọc t ập
thì lỗi của tập huấn luyện và kiểm tra đều giảm nhưng đến một lúc nào đó thì
lỗi của tập huấn luyện bắt đầu tăng lên, lúc này xảy ra việc mạng nơron bắt đầu
quá khớp với tập huấn luyện. Chính vì vậy ta cho dừng quá trình huấn luy ện, thì
tại thời điểm này, ta có mạng nơron có khả năng tổng quát nhất, lúc này l ỗi c ủa
tập thử lại ( không có trong tập huấn luyện và tập ki ểm tra) là l ỗi c ủa m ột d ữ
liệu mới.

Hình 3.5.4.3b: Hàm xấp xỉ khi mạng ngừng học sớm.

3.5.4.4 Huấn luyện mạng lan truyền ngược:


Việc huấn luyện có ý nghĩa quyết định đến độ chính xác cũng như s ự thành
công của chương trình. Kích thước của tập mẫu, số n ơron của lớp ẩn, khả năng

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 84
tổng quát hóa để tránh trường hợp quá khớp của mạng cũng cần được cân nhắc
và tính toán kỹ lưỡng để tăng độ chính xác của quá trình nh ận dạng ký tự. Để
tăng khả năng tổng quát của n ơron, ta sẽ có 3 tập mẫu: một tập để huấn luyện,
một tập để kiểm tra, một tập để thử lại. Trong quá trình h ọc, khi hàm l ỗi c ủa
tập kiểm tra bắt đầu tăng thì cho dừng học, th ời đi ểm này, n ơron có khả năng
tổng quát, và lỗi của tập mẫu thử lại cũng chính là lỗi của 1 đối tượng bất kì nào
đưa vào mạng.
Số lượng mẫu của các tập mẫu như sau:
 Tập mẫu huấn luyện gồm 30 mẫu cho mỗi ký tự số từ 0 đến 9.
 Tập mẫu dùng để kiểm tra gồm 5 mẫu cho mỗi ký tự.
 Tập mẫu dùng để thử lại gồm 5 mẫu cho mỗi ký tự.

Hình 3.5.4.4: Hàm lỗi khi ngừng học sớm để huấn luyện mạng.

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 85
CHƯƠNG IV: KẾT QUẢ MÔ PHỎNG CHẠY BẰNG PHẦN MỀM
MATLAB VÀ CODE CỦA CHƯƠNG TRÌNH

4.1 Kết quả mô phỏng chạy bằng phần mềm matlab:


4.1.1 Giao diện giới thiệu của chương trình:

Hình 4.1.1: Giao diện giới thiệu của chương trình chạy bằng matlab

4.1.2Giao diện chính của chương trình:

Hình 4.1.2: Giao diện chính của chương trình chạy bằng matlab

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 86
4.1.3 Hướng dẫn sử dụng chương trình:
 Nhấn vào “Main” để bật giao diện chính của chương trình

Hình 4.1.3: Hướng dẫn bật giao diện chính

4.1.3.1 Test bằng ảnh trong thư viện:

 Chọn “ Ảnh trong thư viện”

Hình 4.1.3.1a: Hướng dẫn chọn ảnh trong thư viện

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 87
 Chọn một ảnh trong thư viện Nhấn “Open”
Hệ thống sẽ tự động nhận dạng và xuất ra kết quả dạng text.

Hình 4.1.3.1b: Chọn một ảnh trong thư viện

 Kết quả nhận được:

Hình 4.1.3.1c: Kết quả nhận dạng

 Kết quả khi xuất ra file Excel:

Hình 4.1.3.1d: Kết quả khi xuất ra file Excel

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 88
4.1.3.1 Test ảnh bằng camera:

 Chọn camera “1”

Hình 4.1.3.2a: Chọn camera

 Chọn “Mở camera”

Hình 4.1.3.2b: Chọn mở camera

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 89
 Chọn “Chạy” để nhận dạng biển số

Hình 4.1.3.2c: Chọn chạy để nhận dạng biển số

 Kết quả khi xuất ra file Excel:

Hình 1.3.2d: Kết quả xuất ra Excel

4.2 Code chương trình:


4.2.1 Code hiển thị giao diện của chương trình:

function axes2_CreateFcn(hObject, eventdata, handles)


% hObject handle to axes2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
imshow('logoa.jpg');
function axes3_CreateFcn(hObject, eventdata, handles)
% hObject handle to axes3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
imshow('logokhoa.jpg');
% Hint: place code in OpeningFcn to populate axes3
4.2.2 Code chương trình chính:
4.2.2.1 Chương trình test bằng camera:
Chương trình khi nhấn chọn camera

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 90
% --- Executes on button press in get_camera.
function get_camera_Callback(hObject, eventdata, handles)
% hObject handle to get_camera (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of get_camera
global vid
if get(hObject,'value')
if ~isempty(vid)&& strcmp('on',get(vid,'Running'))
set(handles.run_button,'enable','on');
set(handles.off_line_,'enable','off');
set(handles.analysic_button,'enable','off');
set(handles.radiobutton1,'value',0);
else
errordlg('Camera chua san sang, chon lai camera!');
set(hObject,'value',0);
end
else
set(handles.run_button,'enable','off');
set(handles.off_line_,'enable','on');
set(handles.analysic_button,'enable','on')
end

Chương trình chụp ảnh từ camera


% --- Executes on button press in pushbutton40.
function pushbutton40_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton40 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
stop(handles.timer1);
global ID;
global vid;
global data
vid=videoinput('winvideo',ID,'YUY2_640x480','returnedcolorspace','rgb');
vid.TriggerRepeat = Inf;
triggerconfig(vid, 'manual');
set(vid,'Framespertrigger',1);
start(vid);
set(handles.run_button,'enable','on');
start(handles.timer1);
data.check=1;

Chương trình nhận dạng khi test bằng camera


% --- Executes on button press in run_button.
function run_button_Callback(hObject, eventdata, handles)
% hObject handle to run_button (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global data;
global vid
stop(handles.timer1);
trigger(vid);
data.rgb=getdata(vid);

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 91
try
xu_ly(hObject,eventdata,handles);
catch e
errordlg(e.message);
start(handles.timer1);
end
start(handles.timer1);

Chương trình xuất kết quả ra Excel


% --- Executes on button press in pushbutton39.
function pushbutton39_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton39 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global data;
set(hObject,'Enable','off');
pause(0.25);
xlswrite('data.xls',data.TD);
winopen('data.xls');
set(hObject,'Enable','off');

Lưu kết quả trong Excel


% --- Executes on button press in save_button.
function save_button_Callback(hObject, eventdata, handles)
% hObject handle to save_button (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
s=get(handles.name_edit,'string');
s=sprintf('%s.xls',s);
xlswrite(s,handles.result);
set(handles.open_button,'enable','on');

Chương trình cắt biển số xe máy:


% --- Executes on button press in recognize_button.
function recognize_button_Callback(hObject, eventdata, handles)
% hObject handle to recognize_button (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
X='';
for i=1:length(handles.digits1)
x=my_num_recog(handles.digits1{i},handles.numbers,handles.chars,1);
X=cat(2,X,x);
end
Y='';
for i=1:length(handles.digits2)
y=my_num_recog(handles.digits2{i},handles.numbers,handles.chars,2);
Y=cat(2,Y,y);
end
s=sprintf('%s - %s',X,Y);
handles.count=handles.count+1;
handles.result{handles.count,1}=s;
set(handles.result_text,'string',s);
set(handles.save_button,'enable','on');

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 92
guidata(hObject,handles);

Chương trình tách biển số:


function [im1,im2]=tach1( rgb )
%TACH1 Summary of this function goes here
% Detailed explanation goes here
g=rgb2gray(rgb);
g=imadjust(g);
% g1=255-g;
g1=imadjust(g,[0 1],[1 0],2);
g1=imadjust(g1);
g1=imclearborder(g1,8);
g1=imadjust(g1);
bw=edge(g1,'canny');
bw=imdilate(bw,[0 1 0; 1 1 1; 0 1 0]);
bw=imfill(bw,'holes');
bw=imopen(bw,strel('disk',2));
stat=regionprops(bw,'Area','Image','BoundingBox','Centroid');
count=0;
for i=1:length(stat)
a=stat(i).Area; % Dien tich cac doi tuong
b=stat(i).Image;% anh crop cua cac doi tuong
d=stat(i).BoundingBox(1:2);% Khung bao cua cac doi tuong
[r,c]=size(b);% Lay kich thuoc
if r>c && c>0.2*r&& c<0.55*r
count=count+1;
t(count,1)=a;% luu lai dien tich
t(count,2)=i;% luu lai vi tri
t(count,3)=round(r*c);% lay kich thuoc anh
t(count,4:5)=[d(2),d(1)];% Lay Vi Tri ?i?m ??u
end
end
n=length(t);
t=sortrows(t,1);% Xep theo dien tich tang dan
count=0;
if n>=9 % truong hop phat hien nhieu hon 9 doi tuong
ts=t(end-8:end,:);% lay 9 doi tuong co dien tich lon nhat
su=sum(ts(:,3))/9;
for i=1:9
if ts(i,3)>0.2*su;
count=count+1;
ts1(count,:)=ts(i,:);
end
end
else
ts1=t;
end
ts1=sortrows(ts1,4);
t1=ts1(1:4,:);
t1=sortrows(t1,5);
t2=ts1(5:end,:);
t2=sortrows(t2,5);
n1=size(t1,1);
im1=cell(1,n1);

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 93
n2=size(t2,1);
im2=cell(1,n2);
for i=1:n1
a=(stat(t1(i,2)).BoundingBox);
b=imcrop(rgb,a);
b=rgb2gray(b);
b=imadjust(b);
b=imadjust(b,[0 1],[1 0],2);
b=im2bw(b);
b=my_BwTrim(b);
b=imopen(b,strel('disk',1));
im1{i}=b;
end

for i=1:n2
a=(stat(t2(i,2)).BoundingBox);
b=imcrop(rgb,a);
b=rgb2gray(b);
b=imadjust(b);
b=imadjust(b,[0 1],[1 0],2);
b=im2bw(b);
b=my_BwTrim(b);
b=imopen(b,strel('disk',1));
im2{i}=b;
end
end

Chương trình biến đổi ảnh vào thành ảnh nhị phân
function y = inputanh(rgb)
%INPUTANH Summary of this function goes here
% Detailed explanation goes here
gray=rgb2gray(rgb); % chuyen anh mau thanh anh xam
gray=imadjust(gray);% can bang cuong do sang
[row,col]=size(gray);% Lay kich thuoc anh
cp=[round(row/2),round(col/2)];% toa do diem tam
de=round(0.01*row);% khoang cong tru
cm1=cp(1)-de:cp(1)+de;% khoang thoa man theo hang
cm2=cp(2)-de:cp(2)+de;% khoang thoa man theo cot
doituongnho=round(0.02*row*col);% so diem anh doi tuong nho
biensonho=[round(0.08*row),round(0.08*19*row/14)];% bien so duoc cho la nho
thresh=0; % khoi tao nguong
check=0; % khoi tao kiem tra
while check==0
thresh=thresh+0.01;
if thresh==1
msgbox('Khong phat hien duoc bien so');
break;
else
bw=im2bw(gray,thresh);
bw=bwareaopen(bw,doituongnho);
bw=imfill(bw,'holes');
bw=imclearborder(bw,4);
bw=imopen(bw,strel('rectangle',biensonho));
[L,n]=bwlabel(bw);

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 94
% close all;imshow(bw);
if n>0
for i=1:n
[row1,col1]=find(bw==i);
a=sum(ismember(cm1,row1));
b=sum(ismember(cm2,col1));
stat=regionprops((L==i),'BoundingBox');%xac dinh hinh chu nhat
bao quanh
try
mat=stat.BoundingBox;
if a>0&&b>0&&mat(4)<mat(3)
check=1;
% bw=(L==i);
break;
else
check=0;
end
catch e
msgbox(e.message);
end
end
end
end
end
%img la anh nhi phan cua bang so
if thresh<1
rgbcrop=imcrop(rgb,mat);
y=rgbcrop;
else
y=rgb;
end
end

Chương trình điều chỉnh góc xoay của biển số:


function y= angle(rgb )
%ANGLE Summary of this function goes here
% Detailed explanation goes here
gray=rgb2gray(rgb);
BW=edge(gray,'canny');
BW=imclose(BW,strel('line',10,90));
[H,theta,rho] = hough(BW);
P = houghpeaks(H,1,'threshold',ceil(0.3*max(H(:))));
lines = houghlines(BW,theta,rho,P,'FillGap',5,'MinLength',7);
% figure, imshow(rgb), hold on
max_len = 0;
p=0;
for k = 1:length(lines)
% xy = [lines(k).point1; lines(k).point2];
% plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');

% Plot beginnings and ends of lines


% plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
% plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
len = norm(lines(k).point1 - lines(k).point2);

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 95
if ( len > max_len)
max_len = len;
p=k;
end
end
A=lines(p).point1;
B=lines(p).point2;
goc=atan2(B(2)-A(2),B(1)-A(1));
goc=rad2deg(goc);
if goc <80
y=imrotate(rgb,goc,'crop');
end

end

Chuỗi ký tự số và chữ cái của biển số:


function y= ind2char( ind )
%IND2CHAR Summary of this function goes here
% Detailed explanation goes here
y='NaN';
switch ind
case 1
y='0';
case 2
y='1';
case 3
y='2';
case 4
y='3';
case 5
y='4';
case 6
y='5';
case 7
y='6';
case 8
y='7';
case 9
y='8';
case 10
y='9';
case 11
y='A';
case 12
y='B';
case 13
y='C';
case 14
y='D';
case 15
y='F';
case 16
y='G';
case 17

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 96
y='H';
case 18
y='K';
case 19
y='L';
case 20
y='M';
case 21
y='N';
case 22
y='P';
case 23
y='S';
case 24
y='T';
case 25
y='U';
case 26
y='V';
case 27
y='X';
case 28
y='Y';
case 29
y='Z';
end
end

4.2.2.2 Chương trình test bằng ảnh trong thư viện:


% --- Executes on button press in off_line_.
function off_line__Callback(hObject, eventdata, handles)
% hObject handle to off_line_ (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

global data
if strcmp('on',get(handles.timer1,'Running'))
stop(handles.timer1);
data.check=1;
end
set(hObject,'Enable','off');
pause(0.25);
for i=1:8
set(gcf,'CurrentAxes',handles.tren{i});
imshow(ones(90,40));
set(gcf,'CurrentAxes',handles.duoi{i});
imshow(ones(90,40));
end
set(gcf,'CurrentAxes',handles.axes2);
imshow(ones(90,40))
oldFolder=cd;
if exist('a.mat','file')
load a.mat

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 97
[fName, dirName] = uigetfile({'*.bmp;*.tif;*.jpg;*.tiff;*.png'},'Chon
Anh',dirName);
else
[fName, dirName] = uigetfile('*.bmp;*.tif;*.jpg;*.tiff;*.png');
end
if dirName~=0
save('a.mat','dirName');
end
if fName
cd(dirName);
data.rgb=imread(fName);
cd(oldFolder);
set(gcf,'CurrentAxes',handles.axes1);
imshow(data.rgb);
end
%% Xu Ly
try
xu_ly(hObject,eventdata,handles);
catch e
errordlg(e.message);
end
set(hObject,'enable','on');
if data.check==1
start(handles.timer1);
end
guidata(hObject,handles);

%%
function xu_ly(hObject,eventdata,handles)
load data.mat;
global data
for i=1:5
set(gcf,'CurrentAxes',handles.tren{i});
imshow(ones(90,40));
set(gcf,'CurrentAxes',handles.duoi{i});
imshow(ones(90,40));
end
set(gcf,'CurrentAxes',handles.axes2);
imshow(imread('wait.jpg'));
pause(0.15);
pause(0.15);
[r,aaa]=size(data.rgb);
if r>640
data.rgb=imresize(data.rgb,[680 NaN]);
end
y=inputanh(data.rgb);
y=angle(y);
set(gcf,'CurrentAxes',handles.axes2);
imshow(y);
[im1, im2]=tach1(y);
5 n1=length(im1);
if n1>0
S1='';
for i=1:n1

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 98
set(gcf,'CurrentAxes',handles.tren{i});
im1{i}=imresize(im1{i},[90,40]);
switch i
case 1
x=my_num_recog(im1{i},numbers);
S1=cat(2,S1,x);
case 2
x=my_num_recog(im1{i},numbers);
S1=cat(2,S1,x);
case 3
x=my_num_recog(im1{i},chars);
S1=cat(2,S1,x);
case 4
x=my_num_recog(im1{i},numbers);
S1=cat(2,S1,x);
end
imshow(im1{i});
end
end
n2=length(im2);
if n2>0
S2='';
for i=1:n2
set(gcf,'CurrentAxes',handles.duoi{i});
im2{i}=imresize(im2{i},[90,40]);
x=my_num_recog(im2{i},numbers);
S2=cat(2,S2,x);
imshow(im2{i});
end

end
set(handles.result_text,'string',sprintf('%s-%s',S1,S2));
data.count=data.count+1;
a=clock;
s1=sprintf('%d - %d - %d',a(3),a(2),a(1));
s2=sprintf('%d:%d:%d',a(4),a(5),round(a(6)));
data.TD{data.count,1}=num2str(data.count-1);
data.TD{data.count,2}=s1;
data.TD{data.count,3}=s2;
data.TD{data.count,4}=sprintf('%s-%s',S1,S2);
set(handles.uitable1,'Data',data.TD);
pause(0.25);
5.2.1

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 99
KẾT LUẬN

Độ chính xác của chương trình nhận dạng bi ển s ố xe ph ụ thu ộc vào ánh
sáng
môi trường. Tuy nhiên yếu tố này ta có thể điều chỉnh được. Do thời gian làm đề
tài đồ án tốt nghiệp có giới hạn nên việc làm đồ án nhận dạng biển số xe này
còn nhiều sai sót mong thầy cô thông cảm.
Chương trình được viết bằng MATLAB đã giải quyết được bài toán nhận
dạng ký tự thông qua lý thuyết về xử lý ảnh, qua đó cũng giải quyết được yêu
cầu của đề tài đồ án đề ra.
Để giải quyết các khó khăn của đề tài, người thực hiện xin đề xuất 1 s ố ý
kiến
sau đây:
 Sử dụng camera chuyên dụng.
 Thiết lập môi trường ổn định xung quanh để làm tăng độ chính xác của
ảnh chụp ( xác định 1 vị trí cố định để chụp ảnh).
Qua đề tài này một lần nữa em xin chân thành cảm ơn thầy Th.s Nguyễn
Tường Thành đã tận tình hướng dẫn và chỉ bảo em trong suốt khoảng thời gian
qua để em có thể hoàn thành tốt đề tài đồ án tốt nghi ệp c ủa mình. Bản thân em
cũng đã có rất nhiều cố gắng để tìm hiểu các n ội dung nghiên c ứu. Tuy nhiên,
việc nghiên cứu đề tài này cũng phức tạp và do th ời gian có h ạn nên vi ệc nghiên
cứu cặn kẽ tất cả các khía cạnh của đề tài là rất khó khăn. Do vậy chắc chắn đồ
án này sẽ không tránh khỏi những thiếu sót. Rất mong sự đóng góp ý ki ến c ủa
các thầy cô giáo cùng các bạn để đồ án của em được hoàn thi ện hơn.
Em xin chân thành cảm ơn!
Sinh viên thực hiện đề tài
Hồ Xuân Hiền

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 100
TÀI LIỆU THAM KHẢO

[1] PGS.TS Nguyễn Quang Hoan (2006), Giáo trình xử lý ảnh, Học viện công nghệ
bưu chính viễn thông, Xuất Bản Hà Nội.
[2] Lương Mạnh Bá, Nguyễn Thanh Thủy (2000), Nhập môn xử lý ảnh số, Đại
Học Bách Khoa Hà Nội, Giáo dục.
[3] Thầy Nguyễn Thanh Hải, Giáo trình Xử lý ảnh (tiếng Anh) , Đại học Sư phạm
kỹ thuật thành phố Hồ Chí Minh.

[4] IPLab Project, <http://codeproject.com>, Xem 3/12/2018


[5] < http://vi.wikipedia.org/wiki>, Xem 25/10/2018
[6] <http://vimach.net/threads/matlab-trong-xu-ly-anh-7-ham-co-ban-cho-xu-
ly-anh.180/ >, Xem lần cuối 10/12/2018
[7] <https://vutienit.com/xu-ly-anh-matlab-tong-quan-ve-anh-so/>, Xem
14/11/2018

SVTH: Hồ Xuân Hiền


Lớp: KT ĐT-TT K37A Page 101

You might also like