dùng camera để chụp ảnh khi có xe qua cổng, trích biển số, và nhận dạng biển số... Mô hình tổng quát hệ thống nhận dạng trực tuyến xe mô tô hai bánh 1 Thu nhận ảnh 2 Trích ảnh chứa biể
Trang 1NHẬN DẠNG TRỰC TUYẾN
XE MÔ TÔ HAI BÁNH
Nguyễn Thị Hồng Minh
Giảng viên hướng dẫn : TS Trương Đình Châu
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2Mục tiêu luận văn
số bằng tia hồng ngoại
(dùng camera) để chụp ảnh khi có xe qua cổng, trích biển số, và nhận dạng biển số
chương trình
Trang 3Cơ sở lý thuyết
(xem chương 2 của nội dung luận văn)
Trang 4Mô hình tổng quát hệ thống nhận dạng trực tuyến xe mô tô hai bánh
(1) Thu nhận ảnh
(2) Trích ảnh chứa biển số
(3) Tách ký tự trong biển
số
(4) Nhận dạng ảnh ký tự
(5)
Xử lý kết quả biển số Chụp ảnh xe
Cảm ứng phát hiện xe
Trang 5Thu nhận ảnh
trình thực hiện tại máy tính Camera được điều khiển chụp ảnh gián tiếp thông qua bộ cảm ứng phát hiện chuyển động, truyền tín hiệu yêu cầu
chụp và lưu giữ tạm các ảnh chụp
có độ phân giải là 640x480 (theo cấu hình thiết
bị camera) chứa một phần xe và ảnh biển số
lý các dạng biển số lưu thông do cơ quan cảnh sát giao thông qui định
Trang 6Bảng mô tả thông tin ảnh biển số xe mô tô
dòng chữ
số: 0,…9
21 ký tự chữ {A …Z} \ {I, J, O, Q, W}
Trang 7Thuật toán trích biển số (Fast Fourier Transform)
Input= ảnh thu được từ camera
Output= ảnh biển số trích được
Function fft ( image)
{
i=0; flag=0;
for (i=0; i<image.Height;i++)
P=trung bình biên độ phổ của hàng pixel thứ i;
If (flag=1) height=height+1;
else if (height>=h) bottom=i;
Tách ảnh mới với đỉnh là top và đáy là bottom= RowImage
i=0; flag=0;
for (i=0; i<image.Width;i++)
P=trung bình biên độ phổ của cột pixel thứ i;
If (flag=1)width=width+1;
else if (width>=w) right=i;
Biển số xe= ảnh mới với cạnh trái là left và cạnh phải là right
}
Trang 8Trích biển số
Phân tích phổ ngang
Trang 9Trích biển số (tt)
Phân tích phổ dọc và trích biển số
Trang 10Tiền xử lý ảnh
Dùng thư viện xử lý ảnh: AForge (Andrew Kirillov)
Khởi tạo lại kích thước chuẩn cho ảnh:
IFilter filt = new ResizeBilinear(512, 256);
img = filt.Apply(img);
Chuyển ảnh sang ảnh mức xám:
IFilter way_filt= new GrayscaleY();
img = way_filt.Apply(img);
Phân ngưỡng ảnh:
way_filt = new Threshold(200);
img = way_filt.Apply(img);
Đảo màu ảnh:
way_filt = new Invert();
img = way_filt.Apply(img);
Trang 11Tiền xử lý ảnh (tt)
Bộ lọc Median:
way_filt = new Median();
img = way_filt.Apply(img);
Bộ lọc BlobsFiltering:
BlobsFiltering filter = new BlobsFiltering();
filter.MinHeight = 30;
filter.MinWidth = 15;
filter.MaxHeight = 100;
filter.ApplyInPlace(process_image);
Bộ lọc BlobsCounter:
BlobCounter blobs = new BlobCounter(imgArr[i]);
Blob[] words = blobs.GetObjects(imgArr[i]);
foreach (Blob word in words)
imgArr[i] = word.Image;
Trang 12Tách ký tự (phân tích Histogram)
Input: ảnh biển số trích được từ thuật toán trích biển số và đã qua tiền xử lý
Output: mảng các ký tự trên biển số
Function define_line ( image, thres)
{
for (i=0; i<image.Height;i++)
{
If (flag=1) height=height+1;
else
if (height>=h)
}
Tách ảnh mới với đỉnh là top và đáy là bottom= RowImage
}
Trang 13Tách ký tự (tt) (phân tích Histogram)
Function define_pos ( image, thres)
{
i=0; c=0;flag=0;
for (i=0; i<image.Width;i++)
{
P=trung bình mức xám của cột pixel thứ i;
{left[c]=i;flag=1;}
if (width>=w)
{right[c]=i;c++;}
}
Tách ảnh ký tự ‘c’ mới với cạnh trái là left[c] và cạnh phải là right[c]
}
Trang 14Tách ký tự (tt) (phân tích Histogram)
Trang 15Chuẩn hóa ký tự
Trong luận văn này ta chọn kích thước chuẩn
là 20 x 10 Ảnh ký tự là ảnh nhị phân với pixel
trắng có giá trị tương ứng là 1, pixel đen có giá trị tương ứng là 0 Đây là dữ liệu để đưa vào
mạng Neural huấn luyện
ký tự được chuẩn hóa (20 x 10)
Trang 16Nhận dạng ký tự bằng mạng Neural
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
Lớp ngõ vào: 200 ( tương ứng 20 x 10 pixel)
Lớp ẩn: 100
Lớp ngõ ra:
10: mạng nhận dạng số
21: mạng nhận dạng chữ
Hàm kích hoạt: = 0.05
Qui tắc hiệu chỉnh trọng số: áp dụng phương pháp giảm
1 1
x
e
Trang 17Kết luận
Các mặt đã đạt được
Thu nhận được kết quả nhận dạng biển số
thông qua cảm ứng phát hiện chuyển động
Ứng dụng được thuật toán phân tích phổ tần
số để trích biển số xe mô tô và phân tích biểu
đồ mức xám trong việc tách ký tự
Sử dụng mạng Neural để nhận dạng ký tự
trên biển số
Xây dựng các kết quả nghiên cứu trên nền
Visual Studio Dot Net (CSharp)
Ứng dụng được thư viện AForge trong xử lý ảnh và thu nhận tín hiệu video
Trang 18Kết luận (tt)
Các mặt còn hạn chế
Chưa xử lý được các trường hợp ảnh quá tối hoặc quá sáng hoặc ảnh có chất lượng xấu
Chương trình chưa mang tính tổng quát cao như nhận dạng các biển số chưa đa dạng, ví
dụ như các biển số xe có nền xanh chữ trắng (nhà nước) hay nền đỏ chữ trắng ( quân đội)
Khả năng nhận dạng tương đối, chưa xử lý
được các trường hợp chụp ảnh quá xa hay
quá gần so với khoảng cách qui định chụp
ảnh
Trang 19Kết luận (tt)
Hướng phát triển
Xây dựng ứng dụng tổng quát hơn cũng như xử lý
với một số trường hợp biển số đặc biệt như: nền
xanh chữ trắng, hay nền đỏ chữ trắng,…
Khắc phục khả năng trích bảng số với khoảng cách linh động hơn, xử lý ảnh và nhận dạng tốt hơn đối với bảng số xấu
Tăng tốc độ xử lý
Xây dựng ứng dụng để quản lý trong các cơ quan
chính phủ hay các điểm giữ xe mô tô hai bánh
Trang 20Chân thành cảm ơn các Thầy Cô và các Bạn