Phạm vi đồ án này tập trung nghiên cứu phần nhận dạng biển số và ký tự trên ảnh tĩnh,với các công việc cụ thể là xây dựng thuật toán để xác định vùng chứa biển số xe trênảnh, rút trích v
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Trang 2LỜI MỞ ĐẦU
Thực tế hiện nay các bãi giữ xe mô tô 2 bánh ở nước ta đều quản lý bằng cách thứcthủ công đơn giản đó là trong bãi giữ xe có một người đọc biển số và ghi biển số vào thẻgiữ xe, sau đó sẽ bấm vào xe một phần vé xe, phần còn lại do chủ xe giữ
Ưu điểm phương pháp thủ công là đơn giản ko cần thiết bị phức tạp Tuy nhiênphương pháp này cũng tồn tại nhiều nhược điểm Thứ nhất cần nhiều người để có thểquản lý tốt toàn bộ bãi giữ xe Thứ hai là độ chính xác không được đảm bảo, do việc đọc,ghi biển số xe đều do con người thực hiện Thứ ba là vVé xe đơn giản nên kẻ gian có thểtráo vé, sửa đổi vé hoặc làm vé giả để qua mặt các nhân viên giữ xe Thứ tư là tốc độ làmviệc không cao, do thực hiện việc xe ra vào qua nhiều khâu như đọc biển số, ghi vé xe,
… Và cuối cùng là không có một bằng chứng nào để lưu trữ những thông tin khi xe ravào bãi, thời gian ra khỏi bãi
Xuất phát từ những hạn chế trên, một phương pháp đã được sử dụng để làm tăng hiệuquả trong việc quản lý giữ xe, đó là sẽ đặt camera ở vị trí cổng giữ xe, khi có xe vàocamera sẽ chụp biển số Sau khi phân tích và xử lý, chương trình máy tính sẽ lưu giữ lạibiển số xe và sẽ in phần vé cho người gửi xe
Từ phân tích trên ta thấy bài toán nhận dạng biển số xe chia thành 2 bài toán con:
• Xác định và rút trích vùng biển số xe
• Nhận dạng các ký tự trong biển số xe
Phạm vi đồ án này tập trung nghiên cứu phần nhận dạng biển số và ký tự trên ảnh tĩnh,với các công việc cụ thể là xây dựng thuật toán để xác định vùng chứa biển số xe trênảnh, rút trích vùng biển số, tách các ký tự và tiến hành nhận dạng các ký tự đơn, sau đóhiển thị lên màn hình Ngôn ngữ sử dụng C# kết hợp các thư viện của EmguCV
Nội dung bài báo cáo sẽ gói gọn trong 4 chương
• Chương 1: Tổng quan về nhận dạng biển số xe
• Chương 2: Phát hiện vùng chứa biển số xe
• Chương 3: Nhận dạng ký tự trong biển số
• Chương 4 Cài đặt thử nghiệm ứng dụng nhận dạng biển số xe
Trang 3LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy, các cô khoa Công nghệ Thông tin Trường Đại họcNha Trang đã tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức quý báu
Em xin tỏ lòng biết ơn sâu sắc đến thầy ThS Nguyễn Đình Cường, người đã tận tình giúp
đỡ và truyền đạt nhiều kinh nghiệm để đề tài có thể được thực hiện và hoàn thành
Xin chân thành cảm ơn các bạn trong khoa Công Nghệ Thông Tin, Trường ĐH NhaTrang đã giúp đỡ, động viên tôi rất nhiều trong quá trình thực hiện đề tài
Em xin chân thành cảm ơn !
Nha Trang, tháng 6 năm 2013
Sinh viênNguyễn Trọng Khiêm
Trang 4NHẬN XÉT (Của giảng viên hướng dẫn)
Trang 5
NHẬN XÉT (Của giảng viên phản biện)
Trang 6
MỤC LỤC Lời mở đầu
CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG BIỂN SỐ XE 1
1.1 Khái niệm hệ thống nhận dạng biển số xe 1
1.1.1 Khái niệm 1
1.1.2 Lịch sử và phát triển 1
1.1.3 Cách thức hoạt động của hệ thống nhận dạng biển số xe 2
1.1.4 Phân loại ứng dụng nhận dạng biển số xe 2
1.1.5 Ứng dụng thực tiễn tại Việt Nam 3
1.1.6 Phân loại biển số xe 4
1.1.6.1 Quy định về màu sắc và các ký tự trên biển số xe 4
1.1.6.2 Quy định về biển số của các tỉnh thành 5
1.2 Phương pháp nhận dạng biển số xe từ ảnh chụp của camera 5
1.2.1 Phương pháp chuyển đổi Hough 6
1.2.2 Phương pháp hình thái học 6
1.3 Phương pháp nhận dạng ký tự trong biển số xe 7
1.4 Phạm vi nghiên cứu và hướng giải quyết 8
CHƯƠNG 2: PHÁT HIỆN VÙNG CHỨA BIỂN SỐ XE 10
2.1 Cơ sở lý thuyết 16
2.1.1 Tổng quan về ảnh số 10
2.1.2 Biên và các phương pháp phát hiện biên 10
2.1.3 Nhị phân hóa ảnh 13
2.1.4 Các phép biến đổi hình thái học (Morphology) cơ bản 14
2.1.5 Các phương pháp nâng cao chất lượng ảnh 15
2.2 Thuật toán phát hiện vùng chứa biển số xe 17
2.2.1 Sơ đồ khối của thuật toán 17
2.2.2 Ảnh đầu vào 18
2.2.3 Tiền xử lý 18
2.2.4 Tìm Contours 19
2.2.5 Lọc Contour 19
Trang 72.2.5.1 Lọc theo kích thước và góc 19
2.2.5.2 Lọc theo số lượng chữ số 21
2.2.5.4 Scanning Line 22
2.2.6 Xử lý contour kết quả 24
2.3 Kết quả nhận dạng biển số 25
CHƯƠNG 3: NHẬN DẠNG KÝ TỰ TRONG BIỂN SỐ 26
3.1 Tổng quan về bài toán nhận dạng ký tự 26
3.2 Tách ký tự trong biển số xe 27
3.2.1 Phương pháp phân tích Histogram 27
3.2.2 Phương pháp tìm Contour 28
3.3 Các phương pháp rút trích đặc trưng ký tự .28
3.3.1 Các phương pháp về chia vùng 28
3.3.2 Biểu đồ chiếu Histogram 30
3.3.3 Contour profile 31
3.3.4 Wavelet Haar 31
3.3.5 Cross và Distance 31
3.3.6 Binary 32
3.4 Các mô hình nhận dạng 32
3.4.1 Một số mô hình nhận dạng ký tự 32
3.4.2 Ứng dụng mô hình mạng Neural cho nhận dạng ký tự 34
3.4.2.1 Giới thiệu về mạng Neural 34
3.4.2.2 Một số kiểu mạng Neural 37
3.4.2.3 Mạng Neural lan truyền ngược MLP 39
3.5 Thực nghiệm xây dựng mạng neural 47
CHƯƠNG 4 CÀI ĐẶT THỬ NGHIỆM ỨNG DỤNG NHẬN DẠNG BIẾN SỐ XE 51
4.1 Cài đặt 51
4.1.1 Giao diện chương trình 51
4.1.2 Một số hàm chính trong chương trình 52
4.2 Kết quả thực nghiệm 56
4.3 Kết luận 57
TÀI LIỆU THAM KHẢO 58
Trang 8DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
BẢNG 1.1 Quy định biển số cho quân đội 4
BẢNG 1.2 Quy định biển số cho các tỉnh thành 5
BẢNG 2.1 Tỉ lệ phát hiện biển số 25
BẢNG 3.1 Một số hàm truyền thông dụng 36
BẢNG 3.2 Mức lỗi và thời gian học theo số lớp ẩn 48
BẢNG 3.3 Mức lỗi và thời gian học theo tốc độ học 48
BẢNG 3.4 Tỉ lệ nhận dạng ký tự theo mức lỗi 49
BẢNG 3.5 Tỉ lệ nhận dạng ký tự theo số lượng đặc trưng 50
HÌNH 1.1 Ảnh xám và lược đồ xám của ảnh 7
HÌNH 2.1 Ảnh biên Sobel 11
HÌNH 2.2 Ảnh biên Laplace 12
HÌNH 2.3 Ảnh gốc (trái) và ảnh nhị phân Otsu (phải) 13
HÌNH 2.4 Erosion 14
HÌNH 2.5 Dilation 14
HÌNH 2.6 Closing 15
HÌNH 2.7 Opening 15
HÌNH 2.8 Bộ lọc Gaussian Blur 16
HÌNH 2.9 Bộ lọc trung bình 16
HÌNH 2.10 Lọc song phương 17
HÌNH 2.11 Sơ đồ khối thuật toán 17
HÌNH 2.12 Các Contour tìm được 19
HÌNH 2.13 Cấu trúc contour 20
HÌNH 2.14 Contour không phải biển số 20
HÌNH 2.15 Các Contour sau khi lọc 21
HÌNH 2.16 Các contour con là chữ số 21
HÌNH 2.17 Dòng quét và điểm cắt của biển số dài 22
HÌNH 2.18 Dòng quét và điểm cắt của biển số vuông 23
HÌNH 2.19 Dòng quét của vùng không phải biển số 23
HÌNH 2.20 Dạng đầu ra sau các bước lọc (các contour lồng nhau) 24
HÌNH 2.21 Kết quả phát hiện biển số 24
HÌNH 2.22 Một số ảnh biển số phát hiện sai 25
Trang 9HÌNH 3.1 Sơ đồ nhận dạng ký tự 26
HÌNH 3.2 Lược đồ chiếu ngang và chiếu dọc 27
HÌNH 3.3 Sơ đồ tách ký tự biển số 28
HÌNH 3.4 Chia vùng (Zone) 28
HÌNH 3.5 9-zone 29
HÌNH 3.6 Diagonal 30
HÌNH 3.7 Biểu đồ chiếu Histogram 30
HÌNH 3.8 Contour profile 31
HÌNH 3.9 Wavelet Haar 31
HÌNH 3.10 Crossing và Distance 31
HÌNH 3.11 Binary 32
HÌNH 3.12 Phân lớp bằng SVM 33
HÌNH 3.13 Cấu tạo một Neural 35
HÌNH 3.14 Mạng tự kết hợp 37
HÌNH 3.15 Mạng kết hợp khác kiểu 37
HÌNH 3.16 Mạng truyền thẳng 38
HÌNH 3.17 Mạng phản hồi 38
HÌNH 3.18 Mạng neural lan truyền ngược MLP 39
HÌNH 3.19 Ảnh hưởng của kích thước mẫu 46
HÌNH 3.20 Đồ thị biến thiên mức lỗi theo số lớp ẩn 48
HÌNH 3.21 Đồ thị biến thiên mức mỗi theo tốc độ học 49
HÌNH 3.22 Đồ thị tỉ lệ nhận dạng theo số lượng đặc trưng 50
HÌNH 3.23 Bộ dữ liệu ký tự để train 50
HÌNH 4.1 Giao diện chương trình 51
HÌNH 4.2 Một số biển không phát hiện được biển số 56
HÌNH 4.3 Một số biển không tách đúng ký tự 56
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG BIỂN SỐ XE1.1 Khái niệm về hệ thống nhận dạng biển số xe.
Đến năm 1996, công nghệ ALPR đã được hoàn thiện tại mỗi cổng phía tây Vươngquốc Anh để đọc tất cả các biển đăng ký xe từ Ireland Công nghệ ALPR tiếp tục đượcnghiên cứu và phát triển tại Anh Kể từ tháng ba năm 2006, hầu hết các con đường, cáctrung tâm thị trấn, cảng, trạm xăng của London đã được lắp đặt camera chạy phần mềmALPR
Trên thế giới hiện nay, bài toán nhận dạng biển số xe được nghiên cứu và phát triểnmột cách sâu rộng Nhiều tác giả với các công trình nghiên cứu được công bố với tỉ lệnhận dạng ngày càng chính xác Một số bài báo cáo nghiên cứu của các tác giả tiêu biểutrong vài năm trở lại đây như:
Chirag N Paunwala, 2010 [1] với nội dung: rút trích vùng số xe trong ảnh Ảnh đầuvào được tiền xử lý bằng cách phương pháp nâng cao chất lượng ảnh, sau đó tìm biênbằng Vertical Edge và xử lý một lần nữa bằng Opening và Closing Các vùng ứng viênsau đó được kiểm tra bằng thuật toán scan theo dòng để tìm được vùng chứa biển số xechính xác Kết quả nhận dạng 750 ảnh trong các điều kiện khác nhau cho tỉ lệ 742/750 =99.2
Choo Kar Soon, 2012 [2] với nội dung: nhận dạng biển số xe tại Malaysia, sử dụnggiải thuật Adaboots để training tập dữ liệu gồm gần 100 ảnh biển số Các ký tự đượcnhận dạng bằng phương pháp KNN Kết quả nhận dạng biển số 98% và nhận dạng ký tự95% trên ảnh tĩnh
Trang 12Tại Việt Nam, vấn đề nhận dạng cũng được quan tâm và ứng dụng thành công, có thể
kể đến công trình nghiên cứu của các sinh viên Tran Duc Duan, 2004 [3] Báo cáo nàynghiên cứu cách nhận dạng biển số xe tại Việt Nam với sự kết hợp của biến đổi Hough vàgiải thuật tìm Contour để cải thiện kết quả phát hiện Vùng các ứng viên sau đó tiếp tụcđược scan theo dòng để đếm số đối tượng bị cắt và so sánh với ngưỡng, nhằm tìm ravùng ứng viên thõa mãn Kết quả nhận dạng đạt 98-99%
Phần mềm nhận dạng biển số xe, đã được ứng dụng thực tế tại các trạm cân, trạm gửi
xe, các trụ đèn giao thông để phát hiện xe vi phạm của Biển Bạc, đạt giải thưởng saokhuê 2011
1.1.3 Cách thức hoạt động của hệ thống nhận dạng biển số xe.
Hệ thống ALPR (Automatic License Plate Recognition) gồm phần cứng và phầnmềm, trong đó phần cứng là camera thu nhận ảnh xe và phần mềm có chức năng nhậndạng biển số xe từ ảnh chụp của camera Camera thu nhận ảnh được đặt tại một vị trí cốđịnh sao cho có thể quét được hình ảnh xe một cách rõ ràng và chụp lại hình ảnh đốitượng xe có chứa biển số Ảnh này được đưa vào phần mềm nhận dạng để trích ra chínhxác biển số xe có trong ảnh, sau đó một thuật toán OCR (Optical Character Recognition)được sử dụng để lấy từng ký tự và chuyển đổi thành định dạng mà máy tính có thể phânbiệt được các chữ và số như dạng text…Cùng với sự phát triển của công nghệ, camerangày nay đã có thể chụp một cách rõ nét trong điều kiện xe chạy với tốc độ cao như ở cácđường cao tốc
Không có một hệ thống ALPR nào có thể nhận dạng chính xác 100% Điều đó phụthuộc vào nhiều yếu tố như thời tiết, độ sáng, góc của camera tới xe,…Một số yếu tố ảnhhưởng đến độ chính xác của hệ thống là:
• Độ phân giải của ảnh kém hoặc ảnh bị mờ
• Điều kiện ánh sáng yếu, bị phản chiếu hoặc che bóng
• Các đối tượng có dạng tương tự như biển số xe ở ngoại cảnh
• Sự khác nhau về cấu trúc biển số xe của mỗi nước
1.1.4 Phân loại các ứng dụng nhận dạng biển số xe.
Có nhiều cách thức khác nhau để phân loại các ứng dụng nhận dạng biển số xe Mộttrong những cách đơn giản là phân loại ứng dụng nhận dạng biển số xe thông qua mụcđích sử dụng Có thể chia ứng dụng nhận dạng biển số xe thành hai loại sau:
Trang 13Loại 1: Giới hạn vùng nhìn
Đầu vào: Ảnh thu trực tiếp từ các thiết bị ghi nhận ảnh kỹ thuật số Ảnh được ghinhận thường chỉ giới hạn trong vùng có biển số xe
Nguyên lý hoạt động: Các phương tiện giao thông phải chạy với một tốc độ đủ chậm
để máy ghi nhận hình ảnh có thể thu được ảnh vùng biển số xe
Ứng dụng: Những ứng dụng nhận dạng biển số xe loại này thường được dùng tại cáctrạm kiểm soát, các trạm thu phí, các bãi gửi xe tự động, các trạm gác cổng
Loại 2: Không giới hạn vùng nhìn
Đầu vào: Ảnh đầu vào thu được từ các thiết bị ghi hình tự động, không phụ thuộc vàogóc độ, các đối tượng xung quanh, ảnh không cần bắt buộc chỉ chụp vùng chứa biển số
xe, mà có thể ảnh tổng hợp như chứa thêm các đối tượng như người, cây đường phố ,miễn là vùng biển số xe phải đủ rõ để có thể thực hiện nhận dạng được ký tự trong vùngđó
Nguyên lý hoạt động: Do đặc tính không giới hạn vùng nhìn mà ảnh đầu vào có thểthu được từ một thiết bị ghi hình (camara, máy ảnh…) Và do đó, công việc đầu tiên là dòtìm trong ảnh, để xác định đúng vùng nào là biển số xe Sau đó, thực hiện tách vùng vànhận dạng Cuối cùng tùy thuộc vào mục đích sử dụng mà kết quả nhận dạng được truyền
đi hay lưu trữ để phục vụ nhu cầu của người dùng cuối
Ứng dụng: Vì không phụ thuộc vào hình ảnh thu được nên có thể dùng ứng dụng tạinhiều nơi như tại những nơi điều tiết giao thông, tại các vị trí nhạy cảm của giao thôngnhư ngã ba, ngã tư đường giao nhau Kiểm soát, phát hiện hành vi vi phạm an toàn giaothông
1.1.5 Ứng dụng thực tiễn tại Việt Nam
Hệ thống nhận dạng biển số xe được xây dựng nhằm mục đích giám sát, kiểm soátcác phương tiện Dưới đây chúng ta đề cập đến một số ứng dụng phổ biến đối với hệthống nhận dạng biển số xe:
• Thu phí giao thông: Lắp đặt hệ thống “Nhận dạng biển số xe” tại các trạm thu phínhằm hỗ trợ hoặc tự động hóa công tác thu phí
Trang 14• Kiểm soát xe tại các đường biên giới: Mỗi quốc gia đều có những quy định riêngvề biển số xe, để phục vụ cho công tác quản lý và phát hiện những phương tiệngiao thông (xe) vượt biên giới bất hợp pháp Việc lắp hệ thống “Nhận dạng biển sốxe” tại các trạm kiểm soát sẽ góp phần hỗ trợ công tác kiểm tra và an ninh quốcgia.
• Các trạm gác cổng: Việc lắp đặt hệ thống “Nhận dạng biển số xe” sẽ hỗ trợ hoặc tựđộng hóa công tác mở cổng cho xe vào Ngoài ra, hệ thống còn được ứng dụngvào công tác chống trộm xe, các bãi giữ xe tự động, điều tiết giao thông (chẳnghạn như Thành phố Dublin đã ứng dụng công nghệ “Nhận dạng biển số xe tựđộng” trong việc điều tiết giao thông theo dạng biển số chẵn/lẻ)
1.1.6 Phân loại biển số xe.
1.1.6.1 Quy định về màu sắc và các ký tự trên biển số.
• Biển trắng chữ đen dành cho dân sự
• Màu trắng 2 chữ, 5 số là biển dành cho người nước ngoài
• Biển đỏ chữ trắng là dành cho quân đội
Bảng 1.1 Quy định biển số cho quân đội
AT Binh đoàn 12 AD QĐ 4, Binh đoàn Cửu Long
BH Binh chủng hóa học BS Binh đoàn Trường Sơn
BT Binh chủng thông tin liên lạc BP Bộ Tư lệnh biên phòng
HB Học viện lục quân HH Học viện quân y
QH Quân chủng hải quân QK,QP QC phòng không không quân
TC Tổng cục chính trị TH Tổng cục hậu cần
TK Tổng cục CN Quốc phong TT Tổng cục kĩ thuật
TM Bộ tổng tham mưu VT Viettel
1.1.6.2 Quy định về biển số cho các tỉnh thành.
Trang 15Bảng 1.2 Quy định biển số cho các tỉnh thành
15,16 Hải phòng 49 Lâm đồng 80 Các Đơn vị TW
17 Thái bình 50-59 TP.HCM 81 Gia lai
22 Tuyên quang 63 Tiền giang 85 Ninh thuận
27 Điện biên 68 Kiên giang 92 Quảng nam
35 Ninh bình 73 Quảng bình 98 Bắc giang
Các xe mang biển A: Xe của Công An - Cảnh Sát tương ứng với các tỉnh
1.2 Phương pháp nhận dạng biển số xe từ ảnh chụp của camera.
Có nhiều phương pháp để giải quyết vấn đề này nhưng đều quy về các phương phápchính sau đây:
• Phương pháp dùng chuyển đổi Hough: dựa vào đặc trưng cạnh biên trích được, ápdụng các phương pháp xác định đường thẳng như phép biến đổi Hough để pháthiện các cặp đường thẳng gần song song ghép thành một ảnh biển số Giao điểmcủa những đoạn thẳng này chính là vùng bao chứa biển số xe
• Phương pháp hình thái học: dựa vào đặc trưng hình thái của biển số xe như màusắc, độ sáng, sự đối xứng… để xác định và trích ra ảnh biển số
• Phương pháp khớp mẫu: xem biển số là một đối tượng có khung nền riêng và sửdụng các cửa sổ dò để trích từng đối tượng đưa qua mạng noron (neural network),trí tuệ nhân tạo (artificial intelligence) chẳng hạn để phân loại có phải là vùng biển
số hay không
1.2.1 Phương pháp chuyển đổi Hough.
Trang 16Dò đặc trưng biên ngang, dọc: làm nổi bật các viền bao của tất cả các đối tượng trongảnh trong đó có viền bao biển số Phương pháp sử dụng các bộ lọc gradient để trích được
các đặc trưng cạnh biên này Nghiên cứu này sử dụng bộ lọc Sobel để tiến hành dò Dùng
chuyển đổi Hough tìm các đoạn thẳng ngang dọc trên cở sở của ảnh nhị phân biên cạnhthu được từ bước trên Tách các đoạn thẳng ngang, dọc có thể là cạnh của biển số
Trích ứng viên biển số: thành lập các hình chữ nhật là ứng viên cho biển số với tiêuchí cụ thể là các bộ 4 đoạn thẳng thu được sẽ qua đánh giá về kích thước, tỉ lệ chiều rộngtrên chiều cao so với một ngưỡng nào đó
Ưu điểm: độ chính xác cao, không phụ thuộc vào màu sắc của biển số xe
Nhược điểm: Độ phức tạp tính toán khá cao Khi ảnh có thêm nhiêu đối tượng khácthì khối lượng tính toán tăng lên rất nhiều do mục đích là phải xác định được vùng connào chứa biển số xe và phụ thuộc rất lớn vào bước trích đặc trưng biên cạnh dẫn đến làcác đoạn thẳng ứng viên thu được thường ngắn hơn nhiều so với chiều dọc cũng nhưchiều ngang của biển số
• Xác định ngưỡng xám Thực chất là không có phương pháp nào chọn cho đúngngưỡng xám để thực hiện Thay vào đó, ngưỡng xám sẽ được quét trong mộtkhoảng nào đó Thông qua lược đồ xám ta nhận thấy vùng biển số thường sẽ có độsáng tương đối lớn (từ 130-200) vì vậy ta sẽ xác định ngưỡng xám cần chọn sẽthuộc vùng này nhờ đó ta sẽ giảm được thời gian lặp tìm ngưỡng xám
6
Trang 17Hình 1.1 Ảnh xám và lược đồ xám của ảnh
• Nhị phân hoá ảnh xám đầu vào với ngưỡng xám đã xác định
• Lọc các nhiễu gây ảnh hưởng xấu tới đối tượng biển số
• Gắn nhãn cho các đối tượng trong ảnh nhị phân thu được
• Trích ra các đối tượng ứng viên biển số theo tiêu chí cụ thể của biển số xe về chiềucao, chiều rộng, tỉ lệ các cạnh, diện tích, trọng tâm, số điểm cắt…
1.3 Phương pháp nhận dạng ký tự trong biển số xe.
Phương pháp phổ biến nhất để nhận dạng ký tự là sử dụng mạng noron (hay SVM,K-NN,…), tức là huấn luyện cho máy tính để nhận dạng các ký tự Tuy nhiên do sốlượng ký tự trên biển số là không nhiều nên để đảm bảo tốc độ xử lý, chúng ta cũng cóthể sử dụng phương pháp Hình thái học để giải quyết khâu này bởi vì các ký tự đều cónhững đặc điểm hình thái đặc biệt có thể phân biệt với nhau chẳng hạn như “0” có lỗtrống ở giữa, “8” có 2 lỗ trống hay “X” đối xứng 2 trục dọc và ngang…Khâu này đượcthực hiện trên cơ sở xây dựng cây nhị phân tối ưu của các đặc điểm hình thái nên đảmbảo tính khoa học và tính chính xác cao Thuật toán cơ bản của khâu này như sau:
• Quan sát chọn ra các đặc tính phân biệt ký tự để xây dựng ma trận đặc tính
• Xây dựng cây nhị phân tối ưu từ ma trận đặc tính và tập ký tự thu được
• Quan sát cây nhị phân, kiểm tra số đặc tính như vậy đã đủ để nhận dạng chưa, thiếu (dư) thì phải bổ sung (bỏ đi) và quay lại bước đầu tiên
• Tiến hành nhận dạng các ký tự trên cơ sở cây nhị phân tối ưu tìm được
1.4 Phạm vi nghiên cứu và hướng giải quyết.
Trong đồ án này, công việc của tôi là giải quyết vấn đề phát hiện vùng chứa biển số
xe và nhận dạng ký tự trong biển số Với bài toán phát hiện vùng chứa biển số cách tiếpcận theo phương pháp hình thái học để phát hiện vùng biển số cho các biển đăng ký xecủa Việt Nam Bài toán nhận dạng ký tự sẽ sử dụng mô hình mạng Neural để tiến hànhnhận dạng
Một số đặc điểm để nhận dạng biển số xe tại Việt Nam
a) Tiêu chuẩn về kích thước (theo quy định của Bộ Giao Thông Vận Tải)
Trang 18Ở mỗi nước thường có tiêu chuẩn về kích thước nhất định Đối với nước ta, biển số
xe qui định khá đồng đều cho mỗi loại xe, tỷ lệ chiều dài, rộng cho mỗi loại xe là nhưnhau Quy định về kích thước như sau:
• Biển ô tô
- Chiều cao: 110 mm Chiều rộng: 470 mm (biển dài)
- Chiều cao: 200 mm Chiều rộng: 280 mm (biển vuông)
• Biển xe máy:
- Chiều cao: 140 mm Chiều rộng: 190 mm
Như vậy, tỉ lệ Chiều cao / Chiều rộng là:
• 0.18 < Chiều cao/Chiều rộng < 0.3 (biển số có 1 hàng)
• 0.6 < Chiều cao/Chiều rộng < 0.85 (biển số xe có 2 hàng)
Từ các đặc điểm này, ta có thể xác định được vùng nào có khả năng là biển số theoràng buộc về kích thước
b) Tiêu chuẩn về ký tự.
Theo đo đạc trên biển số thực tế, mỗi ký tự thường có tỷ lệ kích thước về chiều rộng,chiều cao tương ứng với chiều dài và rộng của biển số xe Ví dụ, chiều cao của mỗi ký tựluôn nhỏ hơn 85% chiều cao của biển số xe và luôn lớn hơn 60% chiều cao của biến xeđối với biển số xe có một hàng, với biển số xe có hai hàng thì chiều cao mỗi kí tự khôngquá 50% chiều cao của biển số xe Chiều rộng của ký tự thường không lớn hơn 20%chiều cao của mỗi ký tự Mỗi ký tự của biển số xe được xem như là một vùng liên thôngcon hay contour con (bao đóng) Do đó, chúng ta có thể đếm số contour con thỏa mãntính chất đó là ký tự Ở nước ta chỉ có số ký tự trên mỗi biển số xe nằm trong khoảng 6đến 9 ký tự
Từ những phân tích trên, có thể tóm tắt phương pháp thực hiện của tôi như sau:
Bước 1: Ảnh đầu vào là ảnh màu BGR, tiền xử lý bằng các thuật toán xử lý ảnh
Bước 2: Tìm các contour trên ảnh xe (Mỗi contour là 1 vùng bao kín, do vùng biển
số là 1 vùng bao kín nên sẽ tương ứng với một contour)
Bước 3: Lọc các contour theo các tiêu chí như kích thước, góc, tỉ lệ, số kí tự,…Bước 4: Xử lý kết quả đầu ra để lấy vùng biển số
Bước 5: Tách ký tự trên vùng biển số tìm được
Bước 6: Đưa tập ký tự đã tách vào mạng Neural để nhận dạng
Trang 19Bước 7: Hiển thị kết quả lên giao diện chương trình
Chương tiếp theo sẽ trình bày kĩ hơn về các bước thực hiện
CHƯƠNG 2: PHÁT HIỆN VÙNG CHỨA BIỂN SỐ XE
Trong chương này sẽ trình bày chi tiết phương pháp phát hiện biển số xe trong ảnh và xử
lý kết quả để hiển thị vùng biển số
2.1 Cơ sở lý thuyết
2.1.1 Tổng quan về ảnh số.
Ảnh nhị phân chỉ chứa hai giá trị 0 hoặc 1 (hoặc 0 và 255 tùy theo quy định của cấutrúc ảnh) Theo đó, giá trị 0 sẽ là giá trị ứng với những điểm đen trên ảnh và giá trị 1(hoặc 255) sẽ là giá trị ứng với những điểm trắng
Trang 20Ảnh xám: Sử dụng 8 bit để biểu diễn mức xám, giá trị của mỗi pixel nhận giá trịnguyên từ 0 - 255 Với mức 0 biểu diễn cho mức cường độ tối nhất và 255 biểu diễn chomức cường độ sáng nhất.
Ảnh màu: Cách biểu diễn cũng tương tự như với ảnh xám, chỉ khác là mỗi pixel được
tổ hợp bởi các màu riêng biệt Ví dụ hệ màu Red-Green-Blue (RGB), mỗi pixel đượctổng hợp từ 3 màu Red, Green và Blue Mỗi màu được biểu diễn bởi 8 bit và có dải từ 0 -
255 Các kênh màu thường được sử dụng: RGB, YCbCr, HSV
2.1.2 Biên và các phương pháp phát hiện biên
Biên là một vấn đề chủ yếu và quang trọng trong phân tích ảnh vì các kỹ thuật xử lýảnh chủ yếu dựa vào biên Một điểm ảnh có thể coi là điểm biên nếu có sự thay đổi độtngột và mức xám hay biên là điểm có cấp xám có giá trị khác hẳn các điểm xung quanh.Tập hợp các điểm biên tạo thành biên hay đường bao của ảnh
b) Laplace
Phương pháp đánh giá gradient ở trên làm việc khá tốt khi độ sáng thay đổi rõ nét.Khi mức xám thay đổi chậm, miền chuyển tiếp trải rộng, phương pháp hiệu quả hơn đó là
I H
1 1 1
0 0 0
1 1 1 1
0 1
1 0 1
1 0 1
2 1
Trang 21phương pháp sử dụng đạo hàm bậc 2, gọi là phương pháp Laplace Toán tử Laplace đượcđịnh nghĩa như sau:
2
2 2
2
2
dy
f dx
2 5 2
1 2 1 1
1 1
1 8 1
1 1 1 0
1
0
1 4
1
0 1
0
3 2
(
2
) , 1 ( ) , 1 ( ) ,
x f y x
f
y
f
y x f y x f y x
- Tỷ lệ lội thấp: phát hiện tốt các cạnh
) , 1 ( ) 1 , ( ) , ( 4 ) 1 , ( ) , 1 (
2f = −f x− y −f x y− + f x y −f x y+ −f x+ y
∇
Trang 22- Phân vùng tốt: Khoảng cách giữa các điểm ảnh cạnh phát hiện và pixel thực tếphải được giảm nhiễu.
- Đáp ứng tối thiểu: có cách dò cho mỗi cạnh
Giảm nhiễu: Để thực hiện việc giảm nhiễu bộ lọc Gaussian được sử dụng Một hạtnhân Gaussian có cỡ bằng 5 có thể được sử dụng dưới đây:
Tìm gradient cường độ của hình ảnh Điều này được thực hiện tương tự như Sobel
- Áp dụng một cặp mặt nạ theo hướng x và y:
- Tìm gradient và hướng được làm tròn đến một trong bốn góc có thể ( cụ thể là0,45,90 hay 135)
- Canny sử dụng hai ngưỡng cao và thấp
• Nếu một pixel cao hơn ngưỡng trên (cao), điểm ảnh chấp nhận là một cạnh
• Nếu một pixel thấp hơn ngưỡng thấp, nó sẽ bị từ chối
• Nếu ở giữa hai ngưỡng Nó sẽ được chấp nhận khi nó gần với một pixel ởtrên ngưỡng cao
2.1.3 Nhị phân hóa ảnh.
Nhị phân hóa là quá trình biến một ảnh màu hoặc ảnh xám thành ảnh nhị phân Ảnhnhị phân chỉ chứa hai giá trị 0 hoặc 1 (hoặc 0 và 255) Công thức để nhị phân ảnh là đặttất cả các giá trị của ảnh xám về 0 nếu chúng bé hơn một ngưỡng T cho trước và về 255nếu chúng lớn hơn ngưỡng T đó Vấn để ở đây là với ngưỡng T như thế nào thì cho tađược tấm ảnh nhị phân như ý muốn, nghĩa là ảnh làm nổi các vùng đối tượng và nền.Việc xác định giá trị T là rất khó vì chúng phụ thuộc vào từng điều kiện chiếu sáng khác
Trang 23nhau của môi trường Với môi trường này T nhận một giá trị, môi trường khác lại một giátrị khác Do đó, chúng ta sẽ nhị phân ảnh theo phương pháp Otsu [4] Thuật toán này sẽtính toán và đưa ra ảnh nhị phân có ngưỡng hợp lý nhất Việc biến đổi ảnh xám thành ảnhnhị phân sẽ dễ dàng xử lý các thuật toán liên quan đến pixel ảnh như đếm pixel đentrắng…
Hình 2.3 Ảnh gốc (trái) và ảnh nhị phân Otsu (phải)
2.1.4 Các phép biến đổi hình thái học (Morphology) cơ bản.
Mục đích chính của các phép biến đổi hình thái học nhưng làm giảm bớt các chi tiếtthừa trong ảnh để làm nổi rõ những mảng chính, hoặc làm trơn các cạnh biên, lấp các hố,các lỗ trống, khử lồi lõm trên đường biên,… Một số phương pháp biến đổi hình thái học
cơ bản là: Erosion, Dilation, Opening và Closing
Erosion: được sử dụng trên ảnh nhị phân để làm xói mòn hay loại bỏ bớt phần dínhliền tại ranh giới giữa các vùng Ký hiêu Pixel dưới điểm neo được thay thếbằng giá trị pixel nhỏ nhất bị chồng lên bởi mặt nạ cấu trúc
Trang 24Closing: là việc thực hiện liên tiếp phép Dilation và sau đó là Erode
Opening: là việc thực hiện liên tiếp phép Erode và Dilation, có tác dụng làm mịnđường biên của một đối tượng, loại bỏ những chỗ lồi lõm
Trang 25Hình 2.7 Opening
2.1.5 Các phương pháp nâng cao chất lượng ảnh.
Nhiễu trong ảnh là do nhiều nguyên nhân bao gồm: sự thoái hóa theo thời gian, quátrình sao chép Một số kỹ thuật xử lý ảnh sẽ được áp dụng để loại bỏ nhiễu Sau khi đượcxám hóa, ảnh sẽ được lọc để giảm nhiễu Trên thực thế tồn tại nhiều loại nhiễu, tuy nhiênngười ta thường xem xét 3 loại chính: nhiễu cộng, nhiễu nhân và nhiễu xung Chúng xuấthiện những điểm ảnh khác biệt so với vùng xung quanh, do đó để lọc nhiệu người tathường sử dụng bộ lọc thông thấp hay trung bình Với nhiễu cộng và nhiễu nhân ta dùngcác bộ lọc thông thấp, trung bình, với nhiễu xung ta dùng lọc trung vị giả trung bị Sauđây là một số bộ lọc thường dùng
a) Bộ lọc Gaussian
Gaussian Blur là cách làm mờ một ảnh bằng hàm Gaussian Nó cũng là công cụ phổbiến để thực hiện quá trình tiền xử lý (preprocessing), nó có thể giúp làm giảm nhiễu(Noise) và mức độ chi tiết (không mong muốn) của hình ảnh Một cách trực quan, đâyđược xem như là phương pháp làm mờ mịn cũng giống như hiệu ứng hình ảnh được đặtdưới một lớp màn trong suốt bị mờ Trong toán học, việc ứng dụng Gaussian Blur chomột hình cũng chính là tính tích chập (Convolution) hình đó với hàm Gaussian
Trang 26Hình 2.8 Bộ lọc Gaussian Blur
b) Lọc trung bình
Lọc trung bình là kĩ thuật lọc tuyến tính, hoạt động như một bộ lọc thông thấp Tronglọc bình, ta sử dụng một cửa sổ lọc quét qua lần lượt từng điểm ảnh của ảnh đầu vàoinput Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 củaảnh gốc “lấp” vào ma trận lọc Giá trị điểm ảnh của ảnh đầu ra là giá trị trung bình của tất
cả các điểm ảnh trong cửa sổ lọc
Hình 2.9 Lọc trung bình c) Lọc song phương (Bilateral)
Hầu hết các bộ lọc có mục tiêu chính là làm mịn hình ảnh đầu vào Tuy nhiên các bộlọc không chỉ giảm nhiễu mà còn làm mờ các cạnh Để tránh điếu này chúng ta xử dụng
bộ lọc song phương
Trang 27Hình 2.10 Lọc song phương
2.2 Thuật toán phát hiện vùng chứa biển số xe
Xuất phát từ ý tưởng mỗi vùng biển số là 1 vùng bao kín (contour), ta có thể tìm cáccontour trên ảnh có biển số và sau đó lọc ra contour thõa mãn điều kiện là biển số
2.2.1 Sơ đồ khối của thuật toán.
2.2.2 Ảnh đầu vào.
Ảnh được chụp bằng máy ảnh kỹ thuật số, định dạng JPEG Thư viện EmguCV xử lýviệc nhận ảnh, xử lý ảnh, hiển thị ảnh lên màn hình PC Một số yêu cầu đối với ảnh đầuvào như sau:
• Độ phân giải tối thiểu 640 x 480
• Chiếc xe hiển thị rõ ràng trên ảnh, có tỉ lệ tương đối dễ thấy trên ảnh
Ảnh vào
Contour co
Lọc Contours theo kích thước
Lọc Contours theo số ký tự Scanning
Trang 28• Ảnh chụp với điều kiện ánh sáng ban ngày, góc chụp không quá 40 độ.
• Vùng biển số phải có độ tương phản nhất định đối với vùng xung quanh và có thểđọc được rõ nét bằng mắt thường
2.2.3 Tiền xử lý
Ảnh vào ở hệ màu RGB được biến đổi sang ảnh xám với 256 mức xám, đồng thờiresize kích thước ảnh về 640x480 Do ảnh đầu vào được chụp ở các khung cảnh khácnhau, góc chụp khác nhau và hình dáng cũng như mức độ nhạy sáng của vùng chứa biển
số xe đa dạng, nên mỗi phương pháp tiền xử lý khác nhau sẽ ảnh hưởng đến khối xử lý
“Tìm Contours” Qua kiểm nghiệm trên tập 300 ảnh đầu vào, nếu chỉ sử dụng một cáchtiền xử lý cho ảnh thì kết quả đầu ra sau khi thực hiện khối “Tìm Contour” không đượcnhư mong đợi Vì vậy, chương trình sẽ áp dụng 3 cách tiền xử lý để cho ra 3 ảnh đã được
xử lý theo các cách khác nhau từ ảnh gốc ban đầu đưa vào
• Ảnh 1: Lọc song phương Tìm biên Laplace
• Ảnh 2: Lọc nhiễu Gaussian tìm biên Canny
• Ảnh 3: Lọc nhiễu Gaussian tìm biên Sobel Closing Opening Nhị phânOtsu Dilation Tìm biên Canny (theo phương pháp Suman K Mitra [5]).Mỗi ảnh này sau khi xử lý xong sẽ trở thành ảnh biên, ảnh biên này sẽ được đưa vàokhối “Tìm Contour” để tìm contour
2.2.4 Tìm Contours.
Contour là những vùng được tạo ra bởi
một vùng biên kín Mỗi Contour lưu trữ
như tập các điểm biên và dược xấp xỉ
thành hình dạng một đa giác có n cạnh
Mỗi vùng biển số đều là một vùng biên kín
nên nó sẽ tương ứng với một contour Khối
tìm Contour sử dụng thư viện EmguCV có
18
Trang 29tác dụng tìm tất cả các contour trong đó có
chứa contour là biển số Tập các contour
này được đưa vào các khối tiếp theo để lọc
bỏ các contour không chứa biển số
2.2.5 Lọc Contour
Các khối này có chức năng lọc các Contour được tạo ra ở bước “Tìm Contour” để tìm
ra vùng chứa biển số xe một cách chính xác nhất Các Contour trong tập Contour sẽ lầnlượt đi qua các bộ lọc để cho ra kết quả là một số tối thiểu các Contour chứa biển số xe.Các bộ lọc được cài đặt để làm việc này là:
• Biển vuông: 0.62 < Ratio < 0.88
• Biển dài: 0.18 < Ratio < 0.32
Do vị trí xe chiếm một diện tích tương đối lớn trên ảnh đầu vào nên diện tích phầnbiển số cũng sẽ có kích thước tương đối lớn Ảnh đầu vào 640x480 px nên chọn ngưỡngcho biển số như sau là đủ để nhận dạng và đọc được rõ ràng các chữ số:
• Biển vuông: 50 < H và W > 55 (đv: pixel)
• Biển dài: 25 < H và W > 80 (đv: pixel)
b) n Cấu trúc Contour trong EmguCV
-90
0α
Contour
Trang 30Hình 2.14 Contour không phải biển số
Hình 2.13 Cấu trúc contour
Với cấu trúc như trên, nếu α ≤ -45 thì chiều cao phải lớn hơn chiều rộng, ngược lại làkhông phải biển số xe Nếu α ≥ -15 thì chiều rộng phải lớn hơn chiều cao, ngược lạicũng không phải vùng biển số (xem Hình 2.14)
Hình 2.15 Các Contour sau khi lọc
0
α = -70Không phải biển số ( h < w)
Trang 31Với mỗi Contour ứng viên (Contour cha), ta sẽ đếm số lượng chữ số có trên nó bằngcách đếm số contour con (mỗi contour con tương ứng với một chữ) Để tìm được cáccontour con, ta tiến hành phân ngưỡng nhị phân cho vùng ảnh được cắt ra bởi Contourcha, sau đó dùng hàm tìm Contour Trong số rất nhiều các contour con được tìm thấy, đểxác định contour nào chứa ký tự số, contour nào không chứa ký tự thì ta có một số tiêuchí sau đây để loại bỏ:
Góc nghiêng của contour
Do hình dạng chữ số là hình chữ nhật đứng, nên vùng contour là chữ số phải códạng tương ứng Vì đặc điểm cấu trúc Contour trong EmguCV được quy định nhưphần trên đã trình bày, nên ta sẽ có phương pháp loại trừ sau:
- Contour có góc nghiêng < -45, chiều rộng phải lớn hơn chiều cao
- Contour có góc nghiêng > -45, chiều rộng phải nhỏ hơn chiều cao
Contour đè lên cạnh biển số thì loại bỏ
Hai contour nằm chồng lên nhau
Trong một vài trường hợp, sẽ xảy ra tình trạng 2 contour cùng đè lên một ký tự số,
do đó, contour nào có góc nghiêng nhỏ nhất sẽ được lấy, contour còn lại có góclớn hơn bị loại bỏ
Sau khi có được các contour con thõa tiêu chí, ta tiến hành đếm số lượng contour connày Nếu số lượng nằm trong ngưỡng từ 7-9 (tương ứng với 7-9 chữ số trên biển xe) thìContour cha có khả năng là biển số xe, nếu nằm ngoài ngưỡng thì loại bỏ
2.2.5.4 Scanning Line
Trang 32Dựa theo phương pháp của Chirag N Paunwala, 2010 [1]
Bước tiếp theo của quá trình lọc là scan mỗi vùng contour bởi các dòng quét, sau đóđếm số điểm cắt bị cắt bởi các dòng quét trên biển số
Với mỗi contour ứng viên của biển số dài, cắt qua 2 đường như Hình 2.16, đườngthứ nhất có vị trí bằng 1/3 chiều cao của contour, đường thứ 2 có chiều cao 2/3 chiều caocontour Số điểm cắt là số lần đường cắt đi qua 1 vùng gồm các pixel đen Theo Hình2.16 ta thấy đường 1 cắt số 8 thứ nhất 2 lần (2 dấu cộng) nên đối tượng số 8 sẽ có 2 điểmcắt, tương tự ta tính được đường 1 có 16 điểm cắt, đường 2 có 13 điểm cắt, tổng cộng có
29 điểm cắt cho ở 2 đường
Tương tự với biển số vuông, cắt qua 4 đường như Hình 2.18, đường 1 có 7 điểm,đường 2 có 6 điểm, đường 3 và đường 4 mỗi đường có 8 điểm Tổng số điểm cắt trênbiển số vuông là 29 điểm cắt
Với vùng không phải biển số, số điểm cắt rất ít do khi nhị phân, số vùng gồm pixelđen tách biệt là không nhiều nên ta có thể phân biệt vùng nào vùng biển số thông qua số
1/3
2/3
Hình 2.17 Dòng quét và điểm cắt của biển số dài
1/6 1/3
2/3 5/6
Hình 2.18 Dòng quét và điểm cắt của biển số vuông
Trang 33Hình 2.20 Dạng đầu ra sau các bước lọc (các contour lồng nhau).
Hình 2.19 Dòng quét và điểm cắt của vùng không phải biển số
điểm cắt Trên Hình 2.19, đường 1 có 6 điểm cắt, đường 2 có 3 điểm cắt Tổng cộng 9điểm cắt
Đối với biển số dài có tối đa 8 chữ số trên một hàng, số điểm cắt tối đa là 32 điểm cắtkhi mỗi đường cắt qua 2 lần trên mỗi chữ số, số điểm cắt tối thiểu là 16 khi cắt mỗi chữ
số 1 lần
Đối với biển số vuông, hàng thứ nhất có tối đa 4 chữ số, hàng thứ 2 có tối đa 5 chữ
số, số điểm cắt tối đa của 2 đường cho hàng thứ nhất là 16, hàng thứ hai là 30
Dựa vào thực nghiệm kiểm tra trên tập dữ liêu, ngưỡng thích hợp để xác định vùngbiển số (đã dự tính đến nhiễu) và không biển số là:
• Biển dài: 16 < số điểm cắt < 40
• Biển vuông: 16 < số điểm cắt < 50
2.2.6 Xử lý contour kết quả.
Kết quả sau các bước lọc sẽ cho ra vùng có khả năng là biển số Với một ảnh đầuvào, sẽ cho ra tương ứng 1 contour cho 1 vùng biển số xe Do phương pháp này dùng 3ảnh để xử lý tìm contour, cho nên vùng biển số xe trên ảnh này sẽ có tối đa 3 contourcùng khoanh vùng lên nó
Vùng biển số
Contour 2
79H-456.67
Contour 1 1/3
2/3
Trang 34Các contour này đều thể hiện chính xác vùng biển số nên ta sẽ chọn 1 ra contourthích hợp duy nhất cho vùng biển số này như thế nào ? Có 2 cách do tôi đề xuất như sau:
• Cách thứ 2: cách này đơn giản hơn, là tính số pixel đen trên mỗi vùng contour,vùng nào chứa ít pixel đen hơn (ít pha tạp ngoại cảnh) thì là vùng chứa biển số.Sau khi có được Contour kết quả, ta sẽ tiến hành Crop ảnh theo Contour để ra được ảnhchỉ có biển số xe
Hình 2.21 Kết quả phát hiện biển số
2.3 Kết quả phát hiện biển số.
Test chương trình trên tập 376 ảnh bất kỳ biển số xe Việt Nam (trong đó 150 ảnhbiển số vuông, 226 ảnh biển số dài), điều kiện ánh sáng có thể nhìn rõ biển số bằng mắtthường, góc chụp phần lớn là không lớn hơn 40 độ Chạy lần lượt các ảnh bằng demo,quan sát kết quả nhận dạng bằng mắt Kết quả kiểm nghiệm thu được như sau: