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

Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam

52 9 0

Đ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 52
Dung lượng 3,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cùng với sự phát triển khoa học kỹ thuật và nhu cầu đi lại ngày càng tăng số lượng phương tiện giao thông trên đường ngày càng xuất hiện nhiều. Với số lượng phương tiện giao thông lớn và không ngừng gia tăng như vậy đã làm nảy sinh nhiều vấn đề trong việc kiểm soát cũng như quản lý các phương tiện. Để giải quyết vấn đề này, nhu cầu đặt ra là áp dụng các hệ thống tự động để kiểm soát và quản lý hiệu quả hơn. Một trong những hệ thống như vậy là hệ thống tự động nhận dạng biển số xe, đây là một hệ thống có khả năng thu nhận hình ảnh cũng như là “đọc” và “hiểu” các biển số xe một cách tự động. Một hệ thống như vậy có thể được sử dụng trong rất nhiều các ứng dụng, chẳng hạn như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu lượng giao thông hay trong các ứng dụng về an ninh như tìm kiếm xe mất cắp… Như mọi hệ thống tự động khác, hệ thống như vậy cũng sẽ yêu cầu có cả phần cứng và phần mềm. Phần cứng có phần chính là một camera có tác dụng thu nhận hình ảnh còn phần mềm sẽ có tác dụng xử lý hình ảnh đó. Với sự phát triển của kỹ thuật điện tử, các camera sẽ dễ dàng thu nhận được các hình ảnh, do vậy vấn đề quan trọng nhất mang tính quyết định hiệu quả của hệ thống xử lý ảnh là phần mềm xử lý ảnh. Yêu cầu của bài toán là áp dụng các thuật toán thích hợp tìm vùng chứa biển số, trích vùng biển số, cách li các ký tự trên biển số, từ đó máy tính sẽ xử lý và nhận dạng

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN VẬT LÝ KỸ THUẬT

-o0o -

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

ĐỀ TÀI: XÂY DỰNG PHẦN MỀM NHẬN DIỆN BIỂN SỐ XE

Ô TÔ Ở VIỆT NAM

Sinh viên thực hiện : NGUYỄN VĂN ĐỊNH

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên: Nguyễn Văn Định Lớp: Vật lý kỹ thuật - K58

Tên đề tài: “Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam”

Tính chất của đề tài:

I NỘI DUNG NHẬN XÉT: 1 Tiến trình thực hiện khóa luận:

2 Nội dung của khóa luận:

- Cơ sở lý thuyết:

- Các số liệu, tài liệu thực tế

- Phương pháp và mức độ giải quyết vấn đề:

3 Hình thức của khóa luận:

- Hình thức trình bày:

- Kết cấu của khóa luận :

4 Những nhận xét khác:

………

………

………

………

II ĐÁNH GIÁ VÀ CHO ĐIỂM - Tiến trình làm khóa luận : / 20

- Nội dung khóa luận : / 60

- Hình thức khóa luận : / 20

Tổng cộng ……/100 (Điểm : ………)

Ngày……tháng……năm 2018

GIÁO VIÊN HƯỚNG DẪN

(Ký và ghi rõ họ tên)

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên sinh viên: Nguyễn Văn Định Lớp: Vật lý kỹ thuật - K58

Tên đề tài: “Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam”

I.NỘI DUNG NHẬN XÉT

1.Nội dung của khóa luận:

2.Hình thức của khóa luận: …………

………

3.Những nhận xét khác: ………

II.ĐÁNH GIÁ VÀ CHO ĐIỂM - Nội dung khóa luận: / 80

- Hình thức khóa luận: / 20

Tổng cộng / 100 ( Điểm : )

Ngày……tháng……năm 2018

CÁN BỘ PHẢN BIỆN

(Ký và ghi rõ họ tên)

Trang 4

LỜI CẢM ƠN

Trước hết tôi xin chân thành cảm ơn các thầy cô giáo trong trường ĐH Bách khoa Hà Nội nói chung, các thầy cô trong Viện Vật lý kỹ thuật nói riêng đã dạy cho tôi kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp tôi có được cơ

sở lý thuyết vững vàng và tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập

Đặc biệt tôi xin gửi lời cảm ơn sâu sắc nhất tới TS.Nguyễn Hoàng Thoan, người đã không quản vất vả hướng dẫn tôi cả về tư duy khoa học cũng như đã chỉ đạo tận tình, giúp đỡ đưa ra những ý kiến quý giá trong suốt thời gian làm việc và cả trong việc sửa chữa bản thảo này một cách chi tiết nhất để tôi hoàn thành đồ án tốt nghiệp này

Cuối cùng, tôi xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên tôi trong suốt quá trình học tập tại trường Đại học Bách khoa Hà Nội

Nhờ đồ án này mà tôi bổ sung thêm nhiều kiến thức quý giá, nhiều kinh nghiệm thực tế Tuy nhiên, do kiến thức còn hạn hẹp, kinh nghiệm chưa nhiều nên chắc chắn

sẽ không tránh khỏi thiếu sót Rất mong nhận được sự đóng góp của quý thầy cô cũng như độc giả để cho đồ án được hoàn chỉnh hơn

Xin chân thành cảm ơn

Hà Nội, tháng 1, năm 2019

Sinh viên thực hiện Nguyễn Văn Định

Trang 5

1

MỤC LỤC

Danh mục hình ảnh 3

MỞ ĐẦU 5

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 6

1.1 Biển số xe ô tô ở Việt Nam 6

1.2 Tổng quan chương trình nhận diện biển số xe 7

1.2.1 Cấu trúc cơ bản của chương trình nhận diện biển số xe 7

1.2.2 Các bước xử lý dữ liệu 8

1.3 Đặc trưng LBP 9

1.3.1 Lý thuyết về LBP 9

1.3.2 Ví dụ về trích rút đặc trưng LBP trên ảnh số 15

1.4 Xác định biển số nhờ giải thuật Cascade of Classifiers trong OpenCV 17

1.5 Tesseract OCR 18

1.5.1 Sơ lược về Tesseract 18

1.5.2 Cấu trúc của Tesseract 19

1.6 Các phần mềm sử dụng trong đề tài 20

1.6.1 Visual Studio 2015 20

1.6.2 EmguCV 20

1.6.3 Aforge NET 21

CHƯƠNG 2 XÂY DỰNG GIẢI THUẬT NHẬN DIỆN BIỂN SỐ 23

2.1 Nhận diện vùng chứa biển số xe 23

2.1.1 Thu thập dữ liệu huấn luyện 23

2.1.2 Tag ảnh 23

2.1.3 Cắt ảnh 24

2.1.4 Tập huấn nhận diện vùng biển số 25

2.2 Nhận diện vùng chứa ký tự 30

2.3 Nhận diện ký tự 32

2.5 Xây dựng giao diện phần mềm 32

Trang 6

2

2.5.1 Tầm quan trọng 32

2.5.2 Xây dựng giao diện 34

CHƯƠNG 3 KẾT QUẢ VÀ THẢO LUẬN 35

3.1 Nhận diện vùng biển số 35

3.2 Nhận diện vùng chứa ký tự và nhận diện ký tự 37

3.3 Xây dựng phần mềm nhận diện biển số 40

3.3.1 Xây dựng giao diện 40

3.3.2 Hướng dẫn sử dụng chương trình 41

KẾT LUẬN 45

Kết luận 45

Kiến nghị 46

Tài liệu tham khảo 47

Trang 7

3

Danh mục hình ảnh

Hình 1 Kích thước biển xe ô tô ở Việt Nam 6

Hình 2 Cấu trúc cơ bản của chương trình nhận diện biển số xe 7

Hình 3 Các bước xử lý dữ liệu 8

Hình 4 Ví dụ về LBP và độ tương phản cục bộ C 10

Hình 5 Tập hợp các điểm xung quanh Ptt 10

Hình 6 Đặc trưng LBP cơ bản 12

Hình 7 Một số biến thể của LBP- LBP đồng dạng 12

Hình 8 Bảng thống kê các mẫu của LBP đồng dạng 13

Hình 9 Minh họa các trường hợp của LBP khi quay với góc 15 độ 14

Hình 10 Ví dụ về quá trình tính toán đặc trưng 17

Hình 11 Cấu trức của Tesseract 19

Hình 12 Hình ảnh sau khi tag 24

Hình 13 Quá trình crop ảnh 25

Hình 14 Ảnh sau khi crop 25

Hình 15 Tập ảnh dương chưa biển số 26

Hình 16 Tập ảnh ấm không chứa biển số 26

Hình 17 Minh họa các tham số x, y, w, h 27

Hình 18 Minh họa bên trong file negative.txt 28

Hình 19 Quá trình huấn luyện định vị biển số 30

Hình 20 Nhị phân hóa ảnh biển số 31

Hình 21 Khoanh vùng ký tự 32

Hình 22 Phần mềm kiểm tra nhận diện vùng biển số 35

Hình 23 Nhận diện với biển hai dòng 36

Hình 24 Nhận diện với biển một dòng 36

Hình 25 Nhận diện không thành công 37

Hình 26 Chương trình demo đọc biển số 38

Hình 27 Đọc biển hai dòng 39

Hình 28 Đọc biển một dòng 39

Hình 29 Đọc không thành công 40

Hình 30 Giao diện chương trình 41

Hình 31 Ví dụ hướng dẫn 42

Hình 32 Kết quả sau khi ấn "Nhận dạng + Ghi thẻ" 42

Hình 33 Ví dụ nhận diện sai 43

Hình 34 CHức năng sửa lỗi 44

Trang 8

4 Hình 35 Sửa lỗi khi nhận diện sai 45

Trang 9

5

MỞ ĐẦU

Cùng với sự phát triển khoa học kỹ thuật và nhu cầu đi lại ngày càng tăng số lượng phương tiện giao thông trên đường ngày càng xuất hiện nhiều Với số lượng phương tiện giao thông lớn và không ngừng gia tăng như vậy đã làm nảy sinh nhiều vấn đề trong việc kiểm soát cũng như quản lý các phương tiện Để giải quyết vấn đề này, nhu cầu đặt ra là áp dụng các hệ thống tự động để kiểm soát và quản lý hiệu quả hơn Một trong những hệ thống như vậy là hệ thống tự động nhận dạng biển số xe, đây

là một hệ thống có khả năng thu nhận hình ảnh cũng như là “đọc” và “hiểu” các biển

số xe một cách tự động

Một hệ thống như vậy có thể được sử dụng trong rất nhiều các ứng dụng, chẳng hạn như: trạm cân và rửa xe tự động hoàn toàn, bãi giữ xe tự động, kiểm soát lưu lượng giao thông hay trong các ứng dụng về an ninh như tìm kiếm xe mất cắp…

Như mọi hệ thống tự động khác, hệ thống như vậy cũng sẽ yêu cầu có cả phần cứng và phần mềm Phần cứng có phần chính là một camera có tác dụng thu nhận hình ảnh còn phần mềm sẽ có tác dụng xử lý hình ảnh đó Với sự phát triển của kỹ thuật điện tử, các camera sẽ dễ dàng thu nhận được các hình ảnh, do vậy vấn đề quan trọng nhất mang tính quyết định hiệu quả của hệ thống xử lý ảnh là phần mềm xử lý ảnh

Yêu cầu của bài toán là áp dụng các thuật toán thích hợp tìm vùng chứa biển số, trích vùng biển số, cách li các ký tự trên biển số, từ đó máy tính sẽ xử lý và nhận dạng

Từ những lý do trên, dưới sự hướng dẫn của TS.Nguyễn Hoàng Thoan, em quyết định lựa chọn đề tài “Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam”

Trang 10

6

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Biển số xe ô tô ở Việt Nam

Ở mỗi quốc gia khác nhau, kích thước biển số khác nhau, căn cứ vào các kích thước đó để ta tính tỉ lệ xác định vùng chứa biển Ở Việt Nam, cần để ý đến một số quy định như sau:

- Ký hiệu, kích thước của chữ và số trên biển số đăng ký các loại xe thực hiện theo quy định tại Phụ lục số 02, 03 và 04 ban hành kèm theo Thông tư 36/2010/TT-BCA

- Biển số ô tô có 2 biển, 1 biển gắn phía trước và 1 biển gắn phía sau xe phù hợp với

vị trí nơi thiết kế lắp biển số của xe; Biển số có 2 loại, kích thước như sau: Loại biển

số dài có chiều cao 110 mm, chiều dài 470 mm; loại biển số ngắn có chiều cao 200

Trang 11

7

- Khoảng cách giữa các chữ và số: 10 mm Riêng khoảng cách giữa các số với số 1

là 20 mm

Vị trí ký hiệu trên biển số cụ thể như sau:

- Đối với biển số dài: Cảnh sát hiệu dập phía trên của gạch ngang, cách mép trên biển số 5 mm

- Đối với biển số ngắn: Cảnh sát hiệu được dập ở vị trí giữa số ký hiệu địa phương

đăng ký, cách mép trái biển số 5 mm

1.2 Tổng quan chương trình nhận diện biển số xe

1.2.1 Cấu trúc cơ bản của chương trình nhận diện biển số xe

Chương trình nhận diện biển số xe là chương trình thị giác máy tính Chương trình thị giác máy tính là phần mềm máy tính dùng để xử lý ảnh số với mục đích phân tích dữ liệu trong ảnh như:

- Đọc biển số xe máy, xe hơi trong ảnh

- Tìm kiếm và đếm vật thể xuất hiện trong ảnh

- Tracking đối tượng từ hình ảnh trong camera

- Nhận diện khuôn mặt

Cấu trúc của chương trình nhận diện biển số xe được biểu diễn trong hình

Hình 2 Cấu trúc cơ bản của chương trình nhận diện biển số xe

Dữ liệu đầu vào (input) là ảnh số được lấy từ camera, sau quá trình xử lý dữ liệu sẽ cho ta dữ liệu đầu ra (output), ở đây sẽ là biển số xe

Trong chương trình, phần cốt lõi, phần quan trọng nhất là phần xử lý dữ liệu Phần này gồm ba bước: nhận diện vùng chưa biển số, nhận diện vùng chứa ký tự rồi cách li

ký tự, nhận diện ký tự sau khi đã được tách

Trang 12

8

1.2.2 Các bước xử lý dữ liệu

Hình 3 Các bước xử lý dữ liệu

Nhận diện vùng chứa biển số: có rất nhiều phương pháp để nhận diện được

biển số như khớp mẫu đơn giản, hình thái học, dùng mạng nơ-ron, SVM, thuật toán LBP…

 Phương pháp so khớp mẫu thì các mẫu của biển số xe được nhận dạng trước

Từ một ảnh đưa vào, tính các giá trị tương quan so với mẫu chuẩn Thông qua các giá trị tương quan này mà quyết định có hay không có tồn tại biển số xe trong ảnh Ưu điểm: Phương pháp đơn giản, dễ cài đặt Nhược điểm: Không hiệu quả khi tỷ lệ, tư thế và hình dáng thay đổi

 Phương pháp hình thái học dựa vào đặc trưng là biển số xe có độ sáng là tương đối khác so với các vùng khác, cũng như sự phân bố mức xám là khá đồng đều

Vì vậy khi được nhị phân hóa, vùng biển số có đặc thù hình thái, có thể phân biệt được với các vùng khác Ưu điểm: Phương pháp đơn giản Nhược điểm: Thời gian xử lý lớn

Trang 13

 Phương pháp sử dụng máy học SVM lên trên các “ứng viên” được xem như là các vùng có kết cấu rời rạc Ưu điểm: Thực hiện tương đối nhanh Nhược điểm: Nhận dạng chưa chính xác

Phương pháp sử dụng đặc trưng LBP ( Local Binary Pattern ), ưu điểm: Thuật

toán trích rút đặc trưng LBP cài đặt đơn giản, thời gian tính toán giá trị đặc trưng nhanh vì nó làm việc với giá trị nguyên, độ chính xác khá cao

Với các ưu điểm của LBP, trong đồ án em sử dụng LBP để nhận diện vùng chứa biển số

Nhận diện vùng chứa ký tự: ta tiến hành cắt riêng từng vùng hình chữ nhật nhỏ là

kí tự trong hình chữ nhật lớn chứa biển số Để làm được việc này ta có thể sử dụng phép chiếu histogram, SVM hoặc dùng contour Trong đồ, án em sử dụng contour, sau khi cắt được ảnh biển số, ta sẽ xử lý ảnh rồi tìm các contour bao lấy ký tự, sau đó ta cắt

riêng các ký tự thành các hình chữ nhật nhỏ

Nhận diện ký tự: Sau khi cắt riêng từng kí tự ta chuyển qua bước nhận diện kí tự

Có rất nhiều phương pháp nhận diện kí tự như khớp mẫu đơn giản, SVM hoặc dùng Tesseract OCR Trong đồ án, em sử dụng thư viện Tesseract OCR để nhận diện các ký

Trang 14

10

Kể từ khi được đưa ra, theo định nghĩa là bất biến với những thay đổi đơn điệu trong ảnh đen trắng Để cải tiến phương pháp, bổ sung thêm phương pháp tương phản trực giao địa phương Hình dưới minh họa cách tính độ tương phản trực giao (C) là ký hiệu cấp độ xám trung bình của các điểm ảnh lớn hơn hoặc bằng ngưỡng với các điểm ảnh thấp hơn ngưỡng Phân phối hai chiều của mã LBP và độ tương phản cục bộ được lấy làm đặc trưng gọi là LBP/C

Hình 5 Tập hợp các điểm xung quanh P tt

Không mất thông tin, có thể trừ gp đi một lượng là gc

T = t(gc,g0 – gc ,…,gp – gc)

Trang 15

11

Giả sử sự sai số giữa gp và gc là độc lập với gc, ta có thể nhân tử hóa gc như sau:

T = t(gc)t(g0- gc,…,gp-1- gc) t(gc) biểu thị xu hướng độ sáng tối của cả bức ảnh nên không liên quan đến kết cấu của ảnh cục bộ do đó có thể bỏ qua

T~t((g0 – gc),…,(gp-1 – gc)) Mặc dù tính bất biến ngược với độ thay đổi tỷ lệ xám của điểm ảnh, sự khác biệt ảnh hưởng bởi tỷ lệ Để thu được đặc điểm bất biến với bất kỳ một sự thay đổi nào của ảnh đen trắng (gray scale) chỉ quan tâm đến dấu của độ lệch:

Với P pixel thì có 2p giá trị LBPP,R trong khoảng [0,2p-1 ] nhưng để đơn giản ta

có thể chọn một số giá trị trong 2p giá trị ký hiệu là: 2

Trang 16

Dựa trên định nghĩa này, bảng ánh xạ cho bán kính làm việc P -neighbours sẽ

có P(P-1) + 3 nhãn Có nghĩa là có 59 nhãn trong trường hợp làm việc với

Trang 17

8-13

neighbour Hình vẽ sau đây thể hiện 59 nhãn (mẫu) và minh họa về histogram của đặc trưng LBP đồng dạng

Hình 8 Bảng thống kê các mẫu của LBP đồng dạng

Nguyên lý phân lớp không tham biến:

Trong phân lớp, sự khác biệt giữa mẫu và mô hình phân phối LBP được đánh giả bởi kiểm tra thống kê không tham biến Phương pháp tiếp cận này có ưu điểm là không cần phải có những giả thiết về phân phối của các đặc trưng Thông thường, những kiểm tra thống kê được chọn cho mục đích là nguyên lý crossentropy được giới thiệu bởi Kullback (1968) Sau đó, Sokal và Rohlf (1969) gọi cách đo này là thống kê

Với S, M kí hiệu phân phối mẫu và mô hình mong muốn Sb và Mb là xác suất

để b thuộc vào phân phối mẫu hoặc mô hình B là số phần tử trong phân phối Thống

kê G sử dụng trong phân lớp có thể viết lại như sau:

1( , ) B blog b

b

Trang 18

14

Kiến trúc mô hình có thể xem như xử lý ngẫu nhiên có đặc tính có thể xác định bởi phân phối LBP Trong một phân lớp đơn giản , mỗi lớp được biểu diễn bởi một mô hình phân phối đơn giản Mi Tương tự , một kiến trúc mẫu không xác định có thể miêu

tả bởi phân phối S L là một giả ma trận đo khả năng mẫu S có thể thuộc lớp i

Lớp C của một mẫu không xác định có thể được xác định bởi luật “hàng xóm gần nhất”: C = argmini L(S, Mi)

Bên cạnh đó, một thống kê log- likelihood có thể xem như đơn vị đo sự khác biệt và có thể sử dụng để liên kết nhiều bộ phân lớp giống như bộ phân lớp k-NN hoặc self-oganizing map (SOM) Log-likelihood đúng trong một số trường hợp nhưng không ổn định khi mà cỡ mẫu nhỏ.Trong trường hợp này Chi-square- distance thường cho kết quả tốt hơn:

Hình 9 Minh họa các trường hợp của LBP khi quay với góc 15 độ

LBP đồng dạng có khả năng bất biến với phép quay Kết hợp của mẫu LBP đồng dạng và LBP bất biến với phép quay có thể tạo nên một dạng biến thể khác của LBP (uniform rotation – invariant LBP) Dựa trên định nghĩa này, bảng ánh xạ cho bán kính làm việc P-neighbors sẽ có P + 2 nhãn (label) Có nghĩa là có 10 nhãn trong trường hợp làm việc với 8-neighbour

Trang 19

15

Để không bị ảnh hưởng bởi sự quay, mỗi giá trị LBP cần quay ngược lại về vị trí ban đầu, cách tốt nhất là tạo ra tất cả các trường hợp quay của một mẫu, sự quay có thể định nghĩa như sau:

, min{ ( , , ) 0,1, , 1}

ri

Trong đó ri là viết tắt của rotation invariant (quay bất biến), ROR(x,i) dịch

vòng tròn số nhị phân P - bit (x) i lần theo chiều kim đồng hồ

Độ tương phản và kết cấu mẫu:

Kết cấu có thể được coi là một hiện tượng hai chiều được đặc trưng bởi hai đặc tính trực giao: cấu trúc không gian (mô hình) và độ tương phản (độ mạnh của mô hình) Quay bất biến tương phản địa phương có thể được đo trong một hình tròn đối xứng xung quanh giống như LBP:

Trang 20

16

Trang 21

17

Hình 10 Ví dụ về quá trình tính toán đặc trưng

1.4 Xác định biển số nhờ giải thuật Cascade of Classifiers trong OpenCV

Cascade of Classifiers - nghĩa là “Phân lớp theo tầng” Dựa trên những đặc trưng LBP của đối tượng mà thuật toán tiến hành rút trích ra các đặc trưng của đối tượng Do đối tượng nhận dạng có nhiều hình dạng khác nhau nên phải phân tầng nhận dạng Thuật toán Cascade of Classifiers tiến hành phân ra thành các giai đoạn (gọi là stage), các vùng hình chữ nhật nghi ngờ phải đạt ngưỡng đúng (threshold) của tất cả các giai đoạn được xác định là chứa đối tượng Trong một giai đoạn có nhiều cây

Trang 22

-Giai đoạn 1: ngưỡng 10%

Đặc trưng 1 có ngưỡng 11%: qua giai đoạn tiếp theo Đặc trưng 2 có ngưỡng 9%: lớp âm

-Giai đoạn 2: ngưỡng 15%

Đặc trưng 1 có ngưỡng 16%: qua giai đoạn tiếp theo Đặc trưng 2 có ngưỡng 14%: lớp âm

… -Giai đoạn n: ngưỡng xx%

Đặc trưng 1 có ngưỡng >xx%: lớp dương Đặc trưng 2 có ngưỡng <xx%: lớp âm

Số lượng giai đoạn và ngưỡng quyết định bởi dữ liệu học và các tham số khác

do người dùng chỉ định Để có thể nhận dạng thuật toán tiến hành lấy mẫu từ 2 tập dữ liệu: tập ảnh dương bao gồm ảnh chứa đối tượng và tập ảnh âm không chứa đối tượng Tiến hành học dựa trên các ảnh này Dữ liệu học càng nhiều thì nhận diện càng chính xác, bao gồm cả ảnh dương và ảnh âm, bù lại thì thời gian huấn luyện lâu hơn

Nếu vùng nghi ngờ được xác định đúng là đối tượng thì thuật toán trả về những khung hình chữ nhật Ngược lại thuật toán sẽ không xác định được đối tượng và trả về false

1.5 Tesseract OCR

1.5.1 Sơ lược về Tesseract

Tesseract bộ công cụ nhận diện ký tự quang học (Optical Character Recognition – OCR) thương mại, được phát triển bởi hãng HP giữa những năm 1985 và 1995 Nó được biết như là một phần mềm thêm vào cho dòng sản phẩm máy quét của HP Trong giai đoạn này, nó vẫn còn rất sơ khai và chỉ được dùng để cải thiện chất lượng của các bản in Nó được phát triển cho đến năm 1994 thì ngưng Sau khi cải thiện độ chính xác, nó được HP đưa vào cuộc kiểm tra thường niên về độ chính xác của các công cụ

Trang 23

19

OCR và nó đã thể hiện được sự vượt trội của mình Sau đó, được mở mã nguồn vào năm 2005 và phát triển tại Google

1.5.2 Cấu trúc của Tesseract

Hình 11 Cấu trức của Tesseract

Tạo ngưỡng thích nghi giúp loại bỏ các yếu tố nền của hình ảnh (ví dụ: ánh sáng, bóng, …) và giúp phân tích các pixel thành ảnh nhị phân

Nhận dạng được tiến hành qua một quá trình với hai lần nhận dạng Lần thứ nhất, nhận ra lần lượt từng từ Mỗi từ có nghĩa là đạt yêu cầu, được thông qua và được lưu vào dữ liệu Lần thứ hai, khi phân loại thích ứng, công cụ sẽ nhận dạng lại các từ không được nhận dạng tốt ở lần trước đó

Xác định dòng và từ nhằm mục đích làm giảm sự mất thông tin khi nhận dạng ảnh nghiêng Tesseract nhận biết dòng văn bản nhờ vào các dòng cơ sở Nhận dạng từ là quá trình phân tích một từ và phụ thuộc vào từ được chia ra thành các ký tự

Trang 24

20

1.6 Các phần mềm sử dụng trong đề tài

1.6.1 Visual Studio 2015

Là IDE rất nổi tiếng của Microsoft hỗ trợ nhiều ngôn ngữ lập trình, nổi tiếng nhất

là C# và C/C++ Visual Studio hỗ trợ rất nhiều tính năng hữu ích cho lập trình viên trong việc viết code, debug và hoàn thiện sản phẩm

Visual Studio có nhiều phiên bản khác nhau theo năm, hiện tại em chọn Visual Studio 2015 Community vì đây là phiên bản miễn phí nhưng đủ các tính năng cần thiết Phiên bản này cũng khá nhẹ, dễ cài đặt và sử dụng

Trong đề tài này project C# là project chính

Visual Studio 2015 chạy tốt trên hệ điều hành Windows 7, Windows 10 Tuy nhiên nhà sản xuất khuyến khích nên sử dụng Windows 10 để đạt tính tương thích tốt nhất

Trang chủ: https://www.visualstudio.com/

1.6.2 EmguCV

OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực

OpenCV được phát hành theo giấy phép BSD, do đó nó hoàn toàn miễn phí cho cả học thuật và thương mại Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các ứng dụng thời gian thực Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi Được sử dụng trên khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt

Trang 25

21

quá 6 triệu lần Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác

mỏ, bản đồ trên web hoặc công nghệ robot

Tuy nhiên Opencv không hỗ trợ C#, do đó em dùng EmguCV EmguCV là

hàm OpenCV được gọi từ các ngôn ngữ tương thích NET như C #, VB, VC ++,

Bản thân Opencv cũng có thể lấy hình ảnh từ camera, tuy nhiên Aforge cho biết có bao nhiêu camera đang sử dụng để người dùng lựa chọn camera phù hợp Còn Opencv chỉ lấy hình ảnh từ camera được chỉ định, nghĩa là người dùng phải biết rõ ID của camera cần sử dụng trong trường hợp PC có nhiều camera

Do đó em sử dụng Aforge để người dùng dễ dàng chọn lựa và thay đổi camera nhanh chóng, tiện lợi nhất

Trang 26

22

Thư viện Aforge hỗ trợ ngôn ngữ C#, chạy tốt trên NET framework 3.5 trở lên, hệ điều hành từ Windows 7 trở lên

Trang chủ: http://www.aforgenet.com/

Ngày đăng: 04/12/2021, 00:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] ThS. Nguyễn Quế Hương, Nhận diện biển số xe sử dụng đặc trưng LBP, 2015 [2] Nguyễn Văn Long, Ứng dụng xử lý ảnh trong thực tế với thư viện OpenCVC/C++ Sách, tạp chí
Tiêu đề: Nhận diện biển số xe sử dụng đặc trưng LBP", 2015 [2] Nguyễn Văn Long, "Ứng dụng xử lý ảnh trong thực tế với thư viện OpenCV
[3] Võ Hùng Vĩ, Luận văn tốt nghiệp Đại học: Xây dựng hệ thống hỗ trợ giữ xe thông minh, 2014 Sách, tạp chí
Tiêu đề: Luận văn tốt nghiệp Đại học: Xây dựng hệ thống hỗ trợ giữ xe thông minh
[5] P. Coscia, F. Castaldo, F. Palmieri, A. Alahi, S. Savarese, and L. Ballan, Image and Vision Computing, vol. in press, 2018 Sách, tạp chí
Tiêu đề: Image and Vision Computing
[4] Bùi Văn Thoảng, Luận văn thạc sĩ công nghệ thông tin: Nhận dạng và trích biển số xe Khác
[8] http: //www.emgu.com/wiki/index.php/Documentation, truy cập lần cuối ngày 25/12/2018 Khác
[9] http: //docs.opencv.org/index.html, truy cập lần cuối ngày 25/12/2018 Khác

HÌNH ẢNH LIÊN QUAN

Hình 3. Các bước xử lý dữ liệu - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 3. Các bước xử lý dữ liệu (Trang 12)
Hình 4. Ví dụ về LBP và độ tương phản cục bộ C - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 4. Ví dụ về LBP và độ tương phản cục bộ C (Trang 14)
Hình 5. Tập hợp các điểm xung quanh P tt - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 5. Tập hợp các điểm xung quanh P tt (Trang 14)
Hình 7. Một số biến thể của LBP- LBP đồng dạng - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 7. Một số biến thể của LBP- LBP đồng dạng (Trang 16)
Hình 6. Đặc trưng LBP cơ bản - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 6. Đặc trưng LBP cơ bản (Trang 16)
Hình 8. Bảng thống kê các mẫu của LBP đồng dạng  Nguyên lý phân lớp không tham biến: - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 8. Bảng thống kê các mẫu của LBP đồng dạng Nguyên lý phân lớp không tham biến: (Trang 17)
Hình 10. Ví dụ về quá trình tính toán đặc trưng - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 10. Ví dụ về quá trình tính toán đặc trưng (Trang 21)
Hình 11. Cấu trức của Tesseract - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 11. Cấu trức của Tesseract (Trang 23)
Hình 12. Hình ảnh sau khi tag  2.1.3  Cắt ảnh - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 12. Hình ảnh sau khi tag 2.1.3 Cắt ảnh (Trang 28)
Hình 14. Ảnh sau khi crop - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 14. Ảnh sau khi crop (Trang 29)
Hình 15. Tập ảnh dương chưa biển số - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 15. Tập ảnh dương chưa biển số (Trang 30)
Hình 16. Tập ảnh ấm không chứa biển số  Lưu ý: - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 16. Tập ảnh ấm không chứa biển số Lưu ý: (Trang 30)
Hình 17. Minh họa các tham số x, y, w, h - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 17. Minh họa các tham số x, y, w, h (Trang 31)
Hình 19. Quá trình huấn luyện định vị biển số - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 19. Quá trình huấn luyện định vị biển số (Trang 34)
Hình 20. Nhị phân hóa ảnh biển số - Xây dựng phần mềm nhận diện biển số xe ô tô ở Việt Nam
Hình 20. Nhị phân hóa ảnh biển số (Trang 35)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w