1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống nhận dạng biển số xe

14 1,3K 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 135,62 KB

Nội dung

Xây dựng hệ thống nhận dạng biển số xe

Trang 1

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

Trang 2

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 nhanh chóng và chính xác nhất

1.2.Mục tiêu đề tài

Nhóm chỉ đặt ra mục tiêu là thiết kế hệ thống nhận dang biển số tĩnh ( phương tiện giao thông sẽ dừng lại ở một vị trí cố định như bãi gửi xe,bãi đỗ xe…) từ dữ liệu đưa vào là ảnh chụp từ camera giám sát.Sau đó,hệ thống sẽ xuất ra dãy chữ và số trên biển để lưu hoặc đối chiếu với kho dữ liệu.Để giải quyết vấn đề này,đồ án phải giải quyết 3 bài toán riêng rẽ:cắt và cách ly các kí tự,nhận dạng các kí tự và xuất ra dãy chữ,số.Sau khi hoàn thành bài toán cơ bản,nhóm sẽ nghiên cứu và phát triển thêm việc nhận dạng biển số xe động(xe đang lưu thông trên đường)

1.3.Tông quan báo cáo

Trong báo cáo nhóm sẽ trình bày chi tiết về:

 Cơ sở lý thuyết thực hiện đồ án

 Nêu ra các giải pháp và lựa chọn

 Thiết kế hệ thống

 Kết quả đạt được,kinh nghiệm rút ra

 Hạn chế còn tồn tại và hướng phát triển

1.4.Mô tả công việc

Công việc của toàn nhóm được phân chia rõ ràng,mỗi người thực hiện một công việc cụ thể, sau đó nhóm trưởng tổng hợp kết quả công việc của mỗi thành viên.Sau đó mọi

Trang 3

người trong nhóm sẽ nhóm họp lại để bổ sung, góp ý cho nhau Các công việc cụ thể của các thành viên như sau:

 Nguyễn Khắc Thái :trưởng nhóm,có nhiệm vụ phân chia công việc,tập hợp và chỉnh sửa lại code từng phần,và thiết kế giao diện người dùng GUI

 Nguyễn Đức Nam : Thực hiện công việc cắt ảnh kí tự

 Nguyễn Thị Thu Thúy:Thực hiện công việc viết báo cáo,nghiên cứu thêm phần cắt ảnh kí tự

 Đào Xuân Thùy : Thực hiện công việc nhận dạng kí tự

 Nguyễn Văn Tùng:Thực hiện việc lọc nhiễu,và bổ sung nhận dạng kí tự

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

Trang 4

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, uint16, double Ma trận màu là một ma trận kích thước m x 3 gồm các thành phần thuộc kiểu double có giá trị trong khoảng [0 1] Mỗi hàng của ma trận xác định thành phần red, green, blue của một màu trong tổng m màu được sử dụng trong ảnh Gía trị của một phần

tử trong ma trận dữ liệu ảnh cho biết màu của điểm ảnh đó nằm ở hàng nào trong ma trận Đôi khi ảnh bị mờ, không nét, bị nhiễu cần phải xử lý hoặc cần phải tách một chi tiết nào đó ra khỏi ảnh Sau đây là một số hàm xử lý ảnh cho phép thực hiện các công việc này một cách dễ dàng Chú ý là các hàm này chỉ thực hiện độc lập, còn muốn thực hiện thời gian thực cần phải dùng các ngôn ngữ lập trình như VB, Delphi, ta cũng có thể biến đổi các hàm xử lý ảnh m ra hàm c để giảm bớt thời gian lập trình, còn có một cách để xử

lý thời gian thực là lập trình xử lý trong MATLAB, sau đó dùng Toolbox Com Builder biến chương trình thành COM Object rồi ghép vào các ngôn ngữ lập trình.

Một số hàm xử lý ảnh :

Đọc, ghi và hiển thị ảnh:

- Imread: đọc ảnh

- Imwrite: ghi ảnh

- Imshow: hiển thị ảnh

- Imview: ảnh cho phép hiển thị ảnh trên các cửa sổ riêng

Trang 5

Đổi màu và loại ảnh:

rgb2gray: đổi ảnh màu RGB ra ảnh cường độ xám

gray2ind: đổi ảnh trắng đen (gray scale) thành ảnh indexed.

im2bw: đổi sang ảnh nhị phân.

Xử lý hình học:

- Imcrop(A), imcrop(A.rec): xén ảnh A theo hình chữ nhật định bởi con chuột hay bởi

thông số kèm theo trong hàm

- Imresize (A, m, mothod): thay đổi kích thước ảnh A theo tỉ lệ m và theo phương pháp

nội suy method

- Imrotate (A, angle, method): quay ảnh A một góc angle và dùng phương pháp nội suy

method

Lọc nhiễu:

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

Trang 6

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

Trang 7

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 nhưng tất cả đều có thể qui về 3 phương pháp chí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, áp dụng các phương pháp xác định đường thẳng nhờ phép biến đổi Hough để phát hiện các cặp đường thẳng gần song song ghép thành một ảnh biển số

- 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àu sắ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 đó 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

Phương pháp hình thái học

Nội dung của phương pháp: Dựa vào đặc trưng quan trọng là biển số xe máy có độ sáng (tức mức xám khi chuyển bức ảnh về dạng xám) là tương đối khác so với các vùng khác trong bức ảnh, cũng như sự phân bố mức xám là khá đồng đều trên biển số và vì vậy khi được nhị phân hoá, vùng biển số là một đối tượng có đặc thù hình thái, có thể phân

biệt được với các vùng khác Nhờ vậy các bước thực hiện ở đây là:

- Xác định ngưỡng xám Thực chất là không có phương pháp nào chọn cho đúng

ngưỡng xám để thực hiện Thay vào đó, ngỡng xám sẽ được quét trong một khoả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 lược đồ xám lớn nhất trong khoảng này và 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

- 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 (salt and pepper noise) 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 còn lại 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ều cao, chiều rộng, tỉ lệ các cạnh, diện tích, trọng tâm …Cụ thể nghiên cứu đã chọn:

Trang 8

7000 pixel ≤ diện tích ≤ 150000 pixel

0,68 ≤ chiều cao/chiều rộng ≤ 0,8

Ưu điểm: Phương pháp này có ưu điểm khá đơn giản,và dựa vào đặc điểm biển số sẽ có

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ự

Trang 9

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

hình thái học cụ thể như là chiều cao, chiều rộng, tỉ lệ 2 chiều…biến đổi tương đối ít (nếu ảnh biển số được đưa về cùng một kích cỡ) mà dựa vào đó ta có thể tách ra được cụ thể

từng ký tự một.Từ đó ta có các bước thực hiện thuật toán tách kí tự từ ảnh xám biển số

sau đây:

- Đưa ảnh xám biển số về cùng độ phân giải 160x210 sau đó thực hiện xóa biên ảnh biển số

- Xác định ngưỡng xám để nhị phân bức ảnh biển số Khâu này rất quan trọng quyết định tính chính xác của việc nhận dạng kí tự Nghiên cứu đã chọn ngưỡng xám theo các bước

sau:

 Nâng cao tính tương phản của ảnh biển số bằng thuật toán cân bằng hóa lược đồ xám (histogram equalization)

 Dùng thuật toán Otsu để xác định ngƣỡng xám của bức ảnh mới này, đây là ngưỡng xám cần tìm

- Lọc nhiễu để loại bỏ bớt các đối tượng và gán nhãn cho các đối tượng còn lại

- Tách ra các ký tự thông qua đặc tính về hình thái học, cụ thể là:

8 pixel ≤ chiều rộng ≤ 45 pixel

45 pixel ≤ chiều cao ≤ 85 pixel

Ưu điểm: - Không phụ thuộc vào độ nghiêng của biển số

- Không phụ thuộc vào nhiễu

Trang 10

- Biển số có thể không làm sạch được nhưng vẫn nhận dạng chính xác

Nhược điểm: - Phụ thuộc vào độ chính xác của ảnh nhị phân có lấy hết được ảnh ký

tự từ ảnh xám

2.2.2.Thuật toán nhận dạng kí tự

Mục đích: đưa ra được kí tự chữ hoặc số từ file ảnh đơn cắt ở trên.

Phương pháp phổ biến nhất để nhận dạng ký tự là sử dụng mạng noron,tức là huấn luyện cho máy tính để nhận dạng các ký tự

Phương pháp Hình thái học :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ư “O” có lỗ trống ở giữa, “8 có 2 lỗ trống hay “X” đối 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.

Ngày đăng: 21/07/2015, 15:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w