0
Tải bản đầy đủ (.doc) (78 trang)

2.2.Huấn luyện mạng:

Một phần của tài liệu VIẾT CHƯƠNG TRÌNH C TRÊN VISUAL STUDIO 2008 NHẬN DẠNG BIỂN SỐ XE (Trang 55 -62 )

4.Nhận dạng ký tự đơn trên biển số bằng mạng Neural nhân tạo (4):

2.2.Huấn luyện mạng:

Hình 3.18: Chuẩn hóa ký tự về 20 x 10

4. Nhận dạng ký tự đơn trên biển số bằng mạng Neural nhân tạo (4):

2.1. Mô hình mạng:

Mô hình mạng Neural nhân tạo được sử dụng để huấn luyện ở đây là mạng tiến đa mức lan truyền ngược sai số ( Back – Propagation Neural Network) với 3 lớp: một lớp vào, một lớp ẩn và một lớp ra.

Ký tự được tách ra từ bảng số, chuẩn hóa kích thước thành 20 x 10, sau đó ta sẽ chuyển nó thành mảng 1 chiều 200 x 1, tương ứng với 200 pixel với các giá trị 0 hoặc 1. Vậy mạng Neural được thiết kế với 200 nút ở lớp vào ( tương ứng 200 pixel) 100 nút ở lớp ẩn, 10 nút ở lớp ra đối với mạng nhận dạng số và 21 nút đối với mạng nhận dạng chữ. − Hàm kích hoạt:

1

1

2

+

=

x

e

y

α (Bipolar) Chọn α = 0.05

− Qui tắc hiệu chỉnh trọng số: áp dụng phương pháp giảm Gradiant với qui tắc học thích nghi.

Chọn k=5, φ=0.5, τ=0.7

2.2. Huấn luyện mạng:

Quá trình huấn luyện mạng là quá trình xác định trọng số của mạng để xấp xỉ một hàm đích cho trước.

Đầu tiên mạng sẽ được huấn luyện với các ảnh mẫu chuẩn với sai số khoảng 10-7. Sau đó, mạng tiếp tục được huấn luyện với các ảnh mẫu có nhiễu với sai số lớn hơn ( khoảng 10-5) để trọng số mới không ảnh hưởng nhiều đến việc nhận dạng các

ảnh mẫu chuẩn. Sau khi đã huấn luyện mạng với các ảnh nhiễu này, ta cần phải huấn luyện lại mạng với ảnh chuẩn ban đầu để đảm bảo chất lượng của mạng. Nếu thu thập được nhiều mẫu ký tự để huấn luyện cho mạng thì khả năng nhận dạng sẽ tăng. Tuy nhiên nếu đưa các mẫu có chất lượng quá thấp thì mạng sẽ không nhận dạng được. Khi đó cần thông báo cho hậu xử lý hay đánh dấu để người sử dụng khắc phục.

Hình 3.20: Huấn luyện số.

5. Xây dựng hệ thống:

Xây dựng Class clsImagePlate:

Properties:

• IMAGE: chứa hình ảnh chụp được từ camera.

• PLATE: chứa hình ảnh biển số trích ra từ IMAGE thông qua method Get_Plate().

Methods:

• Get_Plate(): trích biển số trong hình IMAGE và lưu vào property PLATE.

Xây dựng Class clsLicensePlate:

Properties:

• PLATE: chứa hình biển số lấy được từ property PLATE của clsImagePlate.

• IMAGEARR: chứa mảng các ký tự của biển số PLATE thông qua method Split().

Methods:

• Split(): tách các ký tự đơn trong biển số từ PLATE và lưu vào IMAGEARR.

Xây dựng Class clsNetwork:

Properties:

• IMAGEARR: chứa mảng các ký tự lấy từ property IMAGEARR của class clsLicensePlate.

• LICENSETEXT: chứa các ký tự ASCII tương ứng với các ảnh ký tự có trong property IMAGEARR thông qua method recognition

Methods:

• LoadNetworkNum(): mở file huấn luyện mạng ký tự số đã được huấn luyện trong mạng Neural.

• LoadNetworkChar(): mở file huấn luyện mạng ký tự chữ đã được huấn luyện trong mạng Neural.

• recognition(): dùng để nhận dạng các ký tự mảng IMAGEARR thành các giá trị ký tự chữ ASCII và lưu vào property LICENSETEXT.

Giao diện chương trình:

Hình 3.21: Giao diện chương trình nhận dạng xe mô tô hai bánh

Vùng chứa ảnh chụp từ camera Camera Vùng chứa các ký tự cắt ra từ biển số Biển số ở dạng mã ASCII (đã nhận dạng) Ngày chụp Giờ chụp

Khi có xe qua cổng bộ cảm biến phát hiện chuyển động và gửi yêu cầu về chương trình và bắt đầu chụp ảnh.

Khi chụp ảnh thì chương trình sẽ xử lý ảnh và nhận dạng biển số xe mô tô và lưu vào cơ sở dữ liệu các thông tin như: chữ số trên biển số xe, ngày chụp, giờ chụp biển số.

CHƯƠNG 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ

Một phần của tài liệu VIẾT CHƯƠNG TRÌNH C TRÊN VISUAL STUDIO 2008 NHẬN DẠNG BIỂN SỐ XE (Trang 55 -62 )

×