A.Lời nói đầu
Cùng với sự phát triển của nền kinh tế trên thế giới đó là sự phát triển của công nghệ
khoa học kĩ thuật.Trong đó,kĩ thuật xử lý ảnh và nhận dạng ảnh đã có những bước tiến bộ
không ngừng. Chúng ta có thể đã quá quen thuộc với những dòng máy ảnh được quảng
bá là có tích hợp công nghệ nhận diện hình ảnh(nhận diện khuôn mặt, nụ cười, ánh
mắt…), các dòng máy Laptop(máy tính xách tay) có tích hợp công nghệ nhận diện khuôn
mặt, hay dấu vân tay nhằm phục vụ cho cơ chế bảo mật…
Việc xử lý và nhận dạng biển số xe đóng góp vai trò to lớn và có nghĩa quan trọng trong
công tác quản lý đường bộ nói chung cũng như trong việc xây dựng hệ thống giám sát tự
động đối với các phương tiện giao thông.
Do đó,nhóm em quyết định chọn “Xây dựng hệ thống nhận dạng biển số xe” làm đề tài
đồ án của mình,với mục đích nghiên cứu trợ giúp cho công tác kiểm soát,quản lý phương
tiện giao thông một cách hiệu quả.Qua đó,nhóm em xin chân thành cảm ơn thầy Vũ Song
Tùng đã nhiệt tình giúp đỡ và hướng dẫn chúng em hoàn thành tốt đề tài này.
Trong quá trình thực hiện đồ án môn học,mặc dù có nhiều cố gắng nhưng do thời gian và
kinh nghiệm còn hạn chế khó tránh khỏi những thiếu sót.Nhóm em mong nhận được sự
góp ý từ các thầy cô để có thể bổ sung và hoàn thiện đồ án trong những bước phát triển
tiếp theo sau này.
Nhóm chúng em xin chân thành cảm ơn!
Nhóm thực hiện đề tài:Nhóm 1-KSTN-ĐTVT-K54
1
Chương 1:Tổng quan đề tài
1.1.Đặt vấn đề
Đối với hệ thống giao thông quốc gia thì vấn đề quản lý là giám sát phương tiện giao
thông là vấn đề cốt lõi nhất.Ở một nước vẫn là nền kinh tế nông nghiệp Việt Nam thì có
đến 90% phương tiện lưu thông trên đường bộ là xe máy,do vậy việc quản lý xe máy là
một điều cần thiết.Mỗi một xe máy lưu thông đều được cấp một biến số riêng biệt,do đó
chỉ cần nhận dạng được biển số xe và đối chiếu với kho dữ liệu biển số là có thể biết
được thông tin về chiếc xe đó,như chủ phương tiện,thời gian đăng kí,số lần vi phạm giao
thông,…
Như vậy,yêu cầu đặt ra là phải thiết kế một hệ thống nhận dạng biển số xe một cách
Chương 2.Cơ sở lý thuyết
Giới thiệu chương
Chương này sẽ đề cập đến cơ sở lý thuyết của các phần mềm sử dụng trong đồ án và các
thuật toán liên quan đến việc nhận dạng biển số xe.
2.1.Giới thiệu phần mềm Matlab
MATLAB – phần mềm nổi tiếng của công ty MathWorks, là ngôn ngữ lập trình cấp cao
cho mục đích tính toán kỹ thuật, chương trình tích hợp tính toán, đồ hoạ và lập trình trong
một môi trường dễ sử dụng nơi mà tất cả các vấn đề và lời giải được biểu diễn dưới dạng
ghi chú toán học.
MATLAB là một hệ thống tương tác mà tất cả các phần tử dữ liệu cơ bản là một mảng
không yêu cầu về mặt kích thước. Đây là một thuận lợi cho phép người sử dụng giải
quyết các bài toán trong kỹ thuật đặc biệt là các công thức được xây dựng từ ma trận hay
vector.
Ngoài MATLAB cơ bản với các khả năng rất phong phú, phần mềm MATLAB còn
được trang bị thêm các ToolBox – các gói chương trình (thư viện) cho các lĩnh vực ứng
dụng rất đa dạng như xử lý tín hiệu, nhận dạng hệ thống, xử lý ảnh, mạng nơ ron, logic
mờ, tài chính, tối ưu hóa, phương trình đạo hàm riêng, sinh tin học, Đây là các tập hợp
mã nguồn viết bằng chính MATLAB dựa theo các thuật toán mới, hữu hiệu mà người
dùng có thể chỉnh sửa hoặc bổ sung thêm các hàm mới.
3
2.1.2.Giới thiệu Image Processing ToolBox của Matlab
Image Processing Toolbox là tật hợp các hàm của MATLAB có nhiệm vụ thu thập và
xử lý hình ảnh số từ các thiết bị thu hình hoặc ảnh chụp có sẵn.
Image Processing ToolBox chấp nhận các file ảnh dữ liệu đầu vào định dạng như:
BMP ( Microsoft Windows Bitmap), JPG, JPEG( Joint Photographic Experts
Group),PNG,TIFF,…
MatLab coi ảnh như một ma trận hai chiều, mỗi phần tử là một phần tử hình pixel, do
đó ta có thể xử lý hình như đối với ma trận, các phần tử ma trận có thể là double (64 bit),
uint 16 (16 bit), uint 8 (8 bit). Ảnh index được biễu diễn bởi hai ma trận, một ma trận dữ
liệu ảnh X và một ma trận màu (còn gọi là bản đồ màu). Ma trận có thể là kiểu uint8,
Các hàm lọc nhiễu dùng để tăng chất lượng ảnh. Có các phương pháp lọc tuyến tính,
lọc trung vị và lọc thích nghi.
- Lọc tuyến tính: pixel ảnh biến đổi là tổ hợp tuyến tính các pixel lân cận của pixel gốc,
các hàm thường dùng là conv2 (tích chập), concn, filter2.
- Lọc trung vị: là loại lọc phi tuyến, gồm các hàm medfilt2, ordfilt2.
- Lọc thích nghi: wiener2.
2.1.2.Giới thiệu GUI của Matlab
Giao diện người dùng (graphical user interface GUI) cho phép thực hiện các lệnh trong
Matlab thông qua menu, nút nhấn tương tự như các ngôn ngữ Visual Basic Lập trình
GUI được thực hiện nhờ công cụ GUIDE (GUI Development Environnment) hoặc bằng
cách soạn một file M.
5
Cửa số GUIDE
- Create New GUI: Tạo hộp thoại GUI mới theo một trong các loại sau:
- Blank GUI (Default): Hộp thoại GUI trống không có một điều
khiển uicontrol nào cả.
- GUI with Uicontrols: Hộp thoại GUI với một vài uicontrol như
button, … Chương trình có thể chạy ngay.
- GUI with Axes and Menu: Hộp thoại GUI với một uicontrol axes
và button, các menu để hiển thị đồ thị.
- Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No.
- Open Existing GUI: mở một project có sẵn.Trong hướng dẫn này, các bạn tạo một
project mới nên sẽ chọn Blank GUI.
2.2.Một số giải pháp sử dụng xử lý biển số xe
2.2.1.Thuật toán xác định vùng chứa biển số xe
Mục đích của bước này là Từ bức ảnh chụp được trong bước thu nhận ảnh, áp dụng
các thuật toán để trích ra vùng nhỏ nhất chứa biển số xe.
6
Các phương pháp: có nhiều phương pháp khác nhau để thực hiện nhiệm vụ này
thể chọn chính xác được vùng chứa biển số.
Nhược điểm:Cần một thời gian lớn(cỡ ~ 500 – 1000ms) để thực hiện .
Phương pháp biến đổi Hough
Các bước thực hiện:
- Dò đặ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 là 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ạnh thu được từ bước trên. Ở đây sẽ chọn các đường thẳng cách đều nhau 5 pixel
để dò đường, và loại bỏ các đoạn thẳng nhỏ hơn ngưỡng, cụ thể là có ít hơn 30 pixel
thuộc 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êu
chí cụ thể là: các bộ 4 đoạn thẳng thu được sẽ qua đánh giá về kích thƣớc:
80< chiều rộng <400
63< chiều cao <350
0.63< chiều cao/ chiều rộng <0.8
Ưu điểm:Phương pháp này không phụ thuộc vào màu sắc của biển số xe
Nhược điểm: Phương pháp này 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ố.
2.2.1.Thuật toán cách ly kí tự
8
Mục đích của bước này là tách được các ảnh đơn chứa các kí tự số chuẩn bị cho bước
nhận dạng.
Cũng có nhiều phương pháp đê thực hiện bước cách ly như :tách tĩnh,lượng tử hóa
vectơ(vector quantization), lược đồ chiếu ngang và dọc (vertical and horizontal
projection), mạng noron (neural network), trí tuệ nhân tạo (AI), hình thái học
(Morphology)
Phương pháp hình thái học: mỗi 1 ký tự trên biển số sẽ là 1 đối tượng có đặc điểm
xứng 2 trục dọc và ngang…Đặc biệt khâu này được thự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 đảm bảo tính khoa học và tính chính xác
cao. Từ thực tế thực hiện, nghiên cứu đưa ra thuật toá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 từ bước tách
ký tự.
- Quan sát cây nhị phân và kiểm tra xem 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.
Qua tiến hành các bước của thuật toán trên, nghiên cứu đã sử dụng nhóm các đặc tính
để phân biệt các ký tự là chữ số và các ký tự là chữ cái. Cụ thể đối với chữ số: số điểm
cắt dọc 1/2, tục dọc, trục ngang, số lỗ tròn, vị trí lỗ tròn; đối với chữ cái: số lỗ tròn, mở
trên hay đóng trên, mở dưới hay đóng dưới, trục dọc, trục ngang, số điểm cắt dọc 1/2 và
số điểm cắt ngang 1/2.
Ưu điểm: Tốc độ xử lý cao,rút gọn thời gian xử lý.
Nhược điểm: Thuật toán khá phức tạp.
10
Sau khi cân nhắc kĩ và phụ thuộc vào khả năng của các thành viên,trong đồ án này,nhóm
đã sử dụng phương pháp thực hiện việc tách và cách ly vùng chứa kí tự biển số xe
chung,sau đó thực hiện nhận dạng kí tự theo phương pháp Hình thái học.
Chương 4.Kết quả đạt được và kinh nghiệm rút ra
4.1.Kết quả đạt được
Nhóm đã hoàn thành sản phẩm theo đúng thời hạn đã định ra.Phần mềm nhận dạng được
hầu hết(98%) biển số xe lưu thông ở trong địa bàn Hà Nội,và xuất ra đúng dãy kí tự biển
số xe.
11
Giao diện người dùng hệ thống nhận dạng biển số xe
4.2.Kinh nghiệm rút ra
- Khi viết code cho phần mềm bằng chương trình Matlab,cần chú thích rõ ràng cho mỗi
hàm sử dụng và mỗi file.
nhận dạng biển số hoạt động độc lập có thể sử dụng cho các ứng dụng cụ thể đã nêu trên.
Trong quá trình làm việc đã giúp nhóm rút ra được nhiều kinh nghiệm quý báu và giúp
các thành viên trao dồi thêm nhiều kiến thức, kỹ năng cần thiết cho học tập và làm việc
sau này.
Một lần nữa xin chân thành cảm sự đóng góp các ý kiến quý báu của thầy cô và các
bạn!.
13
Tài liệu tham khảo:
1.
plate.Lần truy cập cuối 31/5/2012.
2. Lê Dũng,“Lý thuyết xử lý và nhận dạng ảnh,mạng nơron và nhận dạng chữ viết”,
Luận văn thạc sĩ chuyên ngành điện tử viễn thông, Đại học Bách Khoa Hà
Nội,năm 2000 .
3. Nhập môn xử lý ảnh số. Ths. Lương Mạnh Bá, Pts. Nguyễn Thanh Thủy. Nxb
KHKT 2003.
4. Internet và một số tạp chí khoa học.
14