1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

NHẬN DIỆN BIỂN số XE DÙNG MATLAB ( có code )

27 3K 52

Đ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 27
Dung lượng 0,92 MB

Nội dung

có sơ đồ nguyên lý, sơ đồ khối, sơ đồ thuật toán và code và hướng dẫn chi tiết về KỸ THUẬT NHẬN DIỆN BIỂN số XE DÙNG MATLAB ...................................................................................................................................................................................

Trang 1

NHẬN DẠNG BIỂN SỐ XE

DANH MỤC CÁC HÌNH VẼ

Hình 1: Ảnh thực tế biển số xe máy 2

Trang 2

Hình 4: Sơ đồ nhị phân hóa ảnh 8

Hình 4.1: Ảnh gốc sau khi nhị phân 7

Hình 5: Ảnh số 8

Hình 6: Quy trình tách biển số 9

Ảnh 6.1: Ảnh biển số sau khi tách 9

Hình 7.1: Ảnh các kí tự sau khi tách 10

Hình 8: Cấu trúc một lớp neural 11

Hình 9.Đồ thị A nhiễu và gốc 12

Hình 10: Đồ thị biểu diễn 2 kí tự ở trên 12

Hình 11: Lưu đồ giải thuật của board 13

Hình 12: ARDUINO MEGA 2560 14

Hình 13: Cảm biến D80NK 14

Hình 14: Giao diện GUI chương trình 15

Hình 15: Giao diện hoạt động 16

Trang 5

CHƯƠNG 1 GIỚI THIỆU 2

1.1 GIỚI THIỆU HỆ THỐNG 2

1.1.1 Khái quát sơ lược 2

1.1.2 Khả năng làm việc 2

1.2 XÂY DỰNG SƠ ĐỒ KHỐI VÀ LÊN Ý TƯỞNG HỆ THỐNG 2

CHƯƠNG 2 XÂY DỰNG PHƯƠNG PHÁP NHẬN DẠNG BIỂN SỐ VÀ XÁC ĐỊNH PHẦN MỀM THIẾT KẾ 5

2.1 KHÁI QUÁT ĐỐI TƯỢNG CẦN NHẬN DẠNG 5

Trang 6

TÀI LIỆU THAM KHẢO 19

PHỤ LỤC A 20

Trang 7

CHƯƠNG 1 GIỚI THIỆU

1.1 Giới thiệu hệ thống

1.1.1 Khái quát sơ lược

Hệ thống nhận dạng biển số xe gắn máy ứng dụng giữ xe được xây dựng trên phầnmềm MATLAB dựa trên thuật toán nhận dạng mạng neural cho độ chính xác cao vàkhả năng mở rộng phạm vi nhận dạng Bộ thiết bị gồm camera (webcam) gắn ngoàithu nhận hình ảnh cần xử lý và một board mạch tích hợp cảm biến tự động phát hiệnvật cản (có thể là xe máy)

1.1.2 Khả năng làm việc

Phát hiện vật cản và tự động xử lý có phải là xe máy hay không?

 Khi tính năng này được bật thì board mạch tự động được kích hoạt

dò tìm khi có vật cản thì sẽ cảnh báo lên PC để lệnh ghi lại hìnhảnh từ camera qua phần mềm trên MATLAB nhận dạng có tồn tạibiển số xe máy trong ảnh vừa chụp hay không nếu có thì lưu lại sốliệu và gửi tín hiệu về để board lệnh cho động cơ servo mở Từ đó

xe máy có thể di chuyển vào bãi đậu (đối với bãi xe thông minh)hoặc tiếp tục di chuyên trên đường ( đối với trạm kiểm soát giaothông)

Chụp xe máy và xử lý theo yêu cầu người dùng

 Từ các phím chức năng trên giao diện phần mềm ta chọn ảnh hoặcchụp ảnh từ camera rồi hệ thống tự xử lý và cho ra kết quả

 Kết quả mà người dùng thu thập được là ảnh gốc được dặt tên là

Trang 8

ĐỒ ÁN 3 Trang 1/21

VD: 62G1_18519.jpg

Hình 1: Ảnh thực tế biển số xe máy

Tăng khoảng cách nhận dạng và độ khó của ảnh chụp bằng mạng neural

 Trong một số trường hợp phức tạp hơn, ảnh chụp được ảnh biển số

xe bị nhỏ nhòe, lệch so với phương ngang thì việc nhận dạng thu

Nhận dạng biến số xe

Trang 9

được kết quả chính xác là vấn đề nan giải Tuy nhiên với thuậttoán neural network bằng cách “train” nhiều mẫu khác nhau sẽ thuđược kết quả mong đợi ở lần nhận dạng sau.

1.2 Xây dựng sơ đồ khối và lên ý tưởng hệ thống

Hình 2: Sơ đồ khối hệ thống

MATLAB:

 Nhiệm vụ giao tiếp chính với người dùng và các thiết bị ngoại vi

 Tiếp nhận xử lý ảnh cần nhận dạng lưu kết quả phục vụ cho mục đíchcủa người dùng

 Thuật toán và phương thức nhận dạng sẽ được trình bày cụ thể ởChương 3

CAMERA:

CAMERA

SERVO

MATLAB(PC/

LAPTOP)

MATLAB(PC/

LAPTOP)

ARDUINO MEGA

ARDUINO MEGA

CẢM BIẾN VẬT CẢN

CẢM BIẾN VẬT CẢN

Trang 10

ĐỒ ÁN 3 Trang 1/21

 Có thể sử dụng webcam ngắn ngoài hoặc webcam của laptop để chụphình ảnh xe máy cần nhận dạng

 Giữa PC và camera giao tiếp qua cổng USB 2.0

ARDUINO MEGA:

 Để xây dựng một mạch tự động phát hiện vật cản có thể là xe máy thìcần một vi điều khiển thì ARDUINO là lựa chọn phù hợp và đơn giảnnhất bởi sử dụng ngôn ngữ C với trình biên dịch Arduino IDE giaodiện dễ sử dụng, dễ dàng giao tiếp với các module và máy tính

 Có nhiều board ARDUINO khác nhau và đều có thể phục vụ cho hệthống này ở đây tác giả chọn ARDUINO MEGA 2560

 Nhiệm vụ phát hiện vật cản gửi tín hiệu về vi điều khiển xử lý

 Khoảng cách nhận dạng tối thiểu phải đạt 30 cm

Nhận dạng biến số xe

Trang 11

CHƯƠNG 2 XÂY DỰNG PHƯƠNG PHÁP NHẬN DẠNG BIỂN SỐ

VÀ XÁC ĐỊNH PHẦN MỀM THIẾT KẾ

2.1 Khái quát đối tượng cần nhận dạng

Xử lý ảnh là quá trình biến đổi ảnh đầu vào nhằm mục đích cải thiện chấtlượng ảnh, lọc đối tượng theo yêu cầu hoặc nhận dạng … sử dụng các công

cụ hỗ trợ trên máy tính vì lý do xử lý ảnh yêu cầu khá cao về tốc độ xử lý vàkhả năng lưu trữ của phần cứng Ngôn ngữ lập trình phục vụ xử lý ảnh đadạng C++,C#, Python, Java Công cụ hỗ trợ có thể dùng Visual Studio,MATLAB, LABVIEW… trên các nền tảng Windows, Linux, IOS, Android.Phổ biến ở quy mô thí nghiệm ý tưởn thì dùng một trong những công cụ sau:

 Visual Stuido có ưu điểm nhẹ chạy trên nền tảng window tươngthích mạnh mẽ với phần cứng máy tính, tốc độ xử lý nhanh Tuy

nhiên thì thêm bộ thư viện OPENCV (Open Source Computer Vision) đây là bộ thư viện tập hợp hơn 4.000 câu lệnh phục vụ xử

lý ảnh chuyên nghiệp

 MATLAB ưu điểm hỗ trợ mạnh mẽ, dễ tiếp cận có tích hợp sẵncông cụ Image Acquisition Tool và các hàm xử lý ảnh, NeuralNetwork Toolbox hỗ trợ các dự án liên quan mạng neural Tuynhiên tốc độ xử lý của MATLAB thấp không khả thi thực tế chỉphù hợp môi trường mô phỏng thí nghiệm

Nhận dạng được hiểu là toàn thể những đặc điểm hình thức bề ngoài của mộtđối tượng được miêu tả trong quá trình theo dõi thỏa yêu cầu nào đó củangười dùng đặt ra Nhận dạng biển số xe gắn máy trong ảnh là xác định trongảnh có biển số xe gắn máy hay không và nếu có thì đó là gì biển số baonhiêu Dựa trên thuộc tính của biển số xe gắn máy đã được học mà não bộcon người cho phép ta thực thi việc xác định một biển số xe trong ảnh mộtcách dễ dàng

Trang 12

ĐỒ ÁN 3 Trang 2/21

Thuộc tính biển số xe gắn máy phổ thông ở Việt Nam:

 Hình dạng: hình chữ nhật

 Kích thước: chiều rộng 190mm, chiều cao 140mm

 Màu sắc: chữ đen làm nổi xếp thành 2 hàng, nền trắng, viền đen

 Quy định kí tự: Ở phạm vi đề tài chỉ xét 2 nhóm biển số phổ thông

Nhận dạng ký tự quang học (tiếng Anh: Optical Character Recognition, viết tắt

là OCR) là biến đổi kí tự thu được ở bước tách kí tự (image) thành dạng văn bản(text) phù hợp với ngữ nghĩa trong ảnh bước này ảnh hưởng quyết định kết quảnhận dạng Có nhiều phương pháp nhận dạng khác nhau giới hạn đề tài áp dụng haiphương pháp là so mẫu và mạng neural

Nhận dạng biến số xe

hóa ảnh

Tách biển số

Tách kí

tự ra khỏi biển số

Nhận dạng kí tự

Trang 13

CHƯƠNG 3 PHÂN TÍCH CHI TIẾT HỆ THỐNG

3.1 Nhị phân ảnh

Hình 4: Sơ đồ nhị phân hóa ảnh

Hình 4.1: Ảnh gốc sau khi nhị phân

Ảnh số (Digital image): đây là đối tượng mà máy tính xử lý Ảnh số chỉ làmột ma trận 2 chiều và việc xử lý chúng chỉ là những thao tác trên ma trậnnày sao cho ra kết quả hợp lý Ví dụ một bức ảnh số có độ phân giải 640x480nghĩa là chiều ngang có 640 điểm ảnh (pixel), chiều dọc có 480 điểm ảnh, vàmỗi điểm ảnh được biểu diễn bằng một con số

Input

ảnh RGB

Resize Ảnh

Ảnh xám

Ngưỡng độ

ẢnhNhị phân

Trang 14

ĐỒ ÁN 3 Trang 4/21

 Ảnh xám (gray image): giá trị mỗi điểm ảnh nằm trong giải giá trị từ

0 đến 255, nghĩa là cần 8 bits hay 1 byte để biểu diễn mỗi điểm ảnhnày

 Ảnh nhị phân (binary image): giá trị mỗi điểm ảnh là 0 hoặc 1, nghĩa

là trắng hoặc đen

Resize ảnh đặt lại kích thước ảnh ở đây là 640x480

Ngưỡng độ dùng để chỉ một giá trị mà người ta dựa vào để phân hoạch mộttập hợp thành các miền phân biệt Ở đây dùng ngưỡng độ để làm chuẩn phânchia mức nhị phân ảnh

Nhận dạng biến số xe

Trang 15

3.2 Tách biển số

Tách biển số dựa trên đặc tính của biển số là hình chữ nhật có tỷ lệ 14/19 nền trắngchữ đen Nếu tạo biên đóng khung các đối tượng và dựa vào đó thì có thể suy rađược những hình ảnh có khả năng là biển số

Các bước thực hiện từ ảnh RGB đi nhị phân ảnh sau đó tìm các vùng trắng tìmđường bao của các vùng trắng xem xét kích thước phù hợp tỷ lệ biển số thì cắt ảnh

đó ra khỏi ảnh gốc Bước này có thể bỏ qua do kết quả ta chỉ quan tâm đến kí tựtrong biển số là gì nhưng sẽ hữu ích đối với các dự án theo dõi rượt đuổi hoặc nhậndạng tốc độ phương tiện

Trang 16

ĐỒ ÁN 3 Trang 6/21

3.3 Tách kí tự

Chương trình sẽ tách kí tự độc lập ra khỏi ảnh theo hình chữ nhật Dựa trên tỷ lệkích thước chữ của biến số mà giữ lại các kí tự là kí tự biển số Chính vì có thể bỏqua bước tách biển số mà kết quả vẫn như ý muốn

Quá trình tách kí tự được thực hiện như sau:

đã tách từ ảnh gốc

3.4 Nhận dạng kí tự

3.4.1 Phương pháp so mẫu

Giới thiệu: Mẫu là tập hợp các ảnh ở định dạng bmp ma trận kí tự gồm chữ

số và chữ cái đối với biển số xe thì không có kí tự O và W Sau khi có đượcảnh ở bước tách kí tự thì đem so sánh với mẫu, mẫu phù hợp nhất sẽ đượcchọn

Ưu điểm: đơn giản tuy có giới hạn tập mẫu nhưng việc nhận dạng đối với hệthống không có nhu cầu mở rộng đối tượng ví dụ chỉ nhận dạng xe biển số xeoto hoặc chỉ xe máy

Nhận dạng biến số xe

Ảnh nhị

phân

Lấy bù ảnh

Khung chữ nhật

Trang 17

Nhược điểm: Giới hạn số lượng mẫu không thể mở rộng phạm vi nhận dạng.Ảnh gốc bị nhoè, lệch, nghiêng thì khả năng nhận dạng giảm rõ rệch.

3.4.2 Phương pháp mạng neural (neural network)

Giới thiệu: Cũng dựa vào sự so sánh với tập mẫu tuy nhiên với mạng neural

sẽ có thể dạy “train” nhiều mẫu khác nhau từ đó cải thiện độ chính xác củaviệc nhận dạng Cộng cụ là Neural Network Toolbox trên MATLAB Cơ sở

lý luận dựa trên mô phỏng cấp độ hệ thống Neural sinh học chấp nhận sai và

ưu tiên chọn cái đúng nhất Ngõ vào sẽ được tính toán trong mạng neural vàngõ ra sẽ đối chiếu với tín hiệu mong muốn và cập nhật điều chỉnh để thỏayêu cầu

Ưu điểm : độ chính xác cao có khả năng mở rộng tập nhận dạng, xử lý đượchình ảnh bị nhòe, mờ thiếu nét

Cấu trúc:

Mỗi ngõ vào pn có một trọng số W ,tổng ngưỡng b với tích trọng số ngõ vào

là hàm truyền f trong một lớp mạng Có nhiều loại hàm truyền khác nhaunhư logsig, tagsig,purelin

Hình 8: Cấu trúc một lớp neural [4]

Trang 18

ĐỒ ÁN 3 Trang 8/21

Trang 19

Hình 11: Lưu đồ giải thuật của board

Trong đó VC là biến của cảm biến hồng ngoại

PC là giá trị đọc từ cổng COM

Trên MATLAB thì khi nhận được giá trị cổng COM là “1” thì gửi lại cho COM “1”

để vi xử lý chờ, tiếp đó máy tính chụp ảnh và xử lý nhận dạng đến khi hoàn thànhgửi giá trị cho COM là “2” kết thúc một lượt kiểm tra

begin

Trang 20

ĐỒ ÁN 3 Trang 10/21

Trang 21

CHƯƠNG 4 THIẾT KẾ GIAO DIỆN VÀ HƯỚNG DẪN SỬ DỤNG

4.1 Giao diện

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

 axPreview phần hiển thị chính của chương trình dùng để trực tiếp từ camera,hiển thị hình ảnh

 axBackground là thay đổi hình nền của chương trình

 Notification là bảng thông báo bao gồm hiển thị thông tin tác giả và tiến trìnhthực hiện của hệ thống

 RESULT là phần hiển thị kết quả nhận dạng

 4 nút nhấn Auto, Run, Capture, View thực hiện chức năng tương đương ngữnghĩa của chúng

Trang 22

ĐỒ ÁN 3 Trang 12/21

4.2 Hướng dẫn sử dụng

 Để bắt đầu thì ấn Start đồng thời cửa sổ chọn ảnh nền cho phần mềm bắt đầu

Và mặt định chương trình sẽ chọn Camera số 2 ( đối với laptop thì tươngđương webcam gắn ngoài) Nếu chọn đúng thì nút nhất Start chuyển sangRunning

Hình 15: Giao diện hoạt động

 Nếu muốn chọn lại camera thì ấn nút nhất camera sẽ chuyển đổi

 Trong hộp thoại chọn COM thì ấn chọn COM sau khi đã kết nối với phầncứng board mạch Ấn conect nếu thành công thì nút nhấn sẽ chuyển sangdisconect

 Info: hiển thị thông tin tác giả

 Exit: thoát chương trình

 Auto: bật chế độ tự động

 Run: chạy chế độ siêu tốc bỏ qua tách biển số

 Capture : chụp ảnh bằng tay clik và đợi 3s rồi giữ nguyên camera để chụp

 View : hiển thị ảnh đã lưu

Nhận dạng biến số xe

Trang 23

CHƯƠNG 5 KIỂM TRA CHẠY THỬ VÀ KẾT LUẬN

5.2 Ý nghĩa thực tế và hạn chế của đề tài

Đề tài có thể áp dụng thực tế vào các hệ thống giữ xe thông minh tự động ANPR,tiết kiệm được công lao động Thời gian xử lý trung bình của hệ thống là 10s nêntiết kiệm thời gian gửi nhận xe nếu được áp dụng

Hệ thống có sự kết hợp nhiều môn học khác nhau và phần cứng lẫn phần mềm là cơ

sở rèn luyện lại nguồn kiến thức đã học ở trường

Tuy nhiên như đã nói ở phần giới thiệu hệ thống có tốc độ xử lý chưa cao, yêu cầucấu hình máy tính mạnh Trường hợp một số biển số bị méo dạng hoặc đã bị chóisáng thì không nhận dạng được

Trang 24

ĐỒ ÁN 3 Trang 14/21

5.3 Hướng phát triển của đề tài

Đây là mở đầu cho cơ sở thị giác máy áp dụng vào các công việc nhận dạng pháttriển robot thông minh, xe tự động lái…

Nếu được tiếp tục thông qua tôi sẽ phát triển lên thành MẮT THẦN hệ thống giámsát tốc độ xe, phát hiện xe lấn tuyến vi phạm Kết hợp với hệ thống mạng LAN để

từ đó nhà quản lý có thể xử lý mềm người tham gia giao thông không đúng luật

Về phần cứng sẽ xem xét việc sử dụng máy tính nhúng nhầm giảm kích thước hệthống

Về phần mềm sử dụng ngôn ngữ C++ kết hợp bộ thư viện mã nguồn mở OPENCV

để tăng tốc độ xử lý

Nhận dạng biến số xe

Trang 25

TÀI LIỆU THAM KHẢO

Trang 26

ĐỒ ÁN 3 Trang 16/21

Ngày đăng: 11/03/2017, 21:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w