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

Luận văn thạc sĩ Kỹ thuật điện tử: Thiết kế hệ thống nhúng nhận dạng biển số xe

83 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Hệ thống bao gồm ba module chính là: module phát hiện biển số,module tách ký tự, và module nhận dạng ký tự.Trong module phát hiện biến số, sử dụng kết hợp các phương pháp: phát hiệncạnh,

Trang 1

THIẾT KE HE THONG NHUNG NHAN DANG

Trang 2

(Ghi rõ họ, tên, học ham, học vi và chữ ký)Cán bộ chấm nhận xét 1: TS Hà Hoàng Kha - ©5555

(Ghi rõ họ, tên, học ham, học vi và chữ ký)Cán bộ cham nhận xét 2: PGS TS Đặng Thành Tín -

(Ghi rõ họ, tên, học ham, học vi và chữ ký)Luận văn thạc sĩ được bảo vệ tại Truong Dai học Bách Khoa, ĐHQGTp.HCM ngày 30 tháng 12 năm 2013

Thanh phan Hội đồng đánh giá luận văn thạc sĩ gồm:(Ghi rõ họ, tên, học hàm, học vi của Hội đông cham bảo vệ luận văn thạc sĩ)1.

2.3.4.3.

TS Đỗ Hong TuanTS Vũ Phan TúTS Hà Hoàng KhaPGS TS Đặng Thành TínTS Trương Quang Vinh

(Chủ tịch)(Thư ký)(Phản biện 1)(Phản biện 2)(Ủy viên)Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyênngành sau khi luận văn đã được sửa chữa (nêu có).

CHỦ TỊCH HỘI ĐÔNG TRƯỞNG KHOA ĐIỆN-ĐIỆN TỬ

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨHọ tên học viên: LE GIA BẢO PHƯƠNG MSHV: 11140043Ngày, thang, năm sinh: 14/06/1984 Nơi sinh: Thừa Thiên HuếChuyên ngành: Kỹ Thuật Điện Tử Mã số : 60 52 70

I TÊN DE TÀI: THIẾT KE HE THONG NHUNG NHAN DẠNG BIENSO XE

Il NHIEM VU VA NOI DUNG:1 Thiết kế hệ thong nhúng nhận dang bién số 6 tô Việt Nam, loại biển số mộthàng, nên trăng chữ đen.

2 Hệ thống được nhúng trên kit BeagleBoard xM.HI NGÀY GIAO NHIỆM VỤ : 21/01/2013

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 22/11/2013V CÁN BỘ HUONG DAN: TS Trương Quang Vinh

Tp HCM, ngay tháng năm 2014

CAN BO HƯỚNG DAN CHU NHIEM BO MON DAO TAO

(Họ tên và chữ ky) (Họ tên và chữ ký)

TRƯỞNG KHOA ĐIỆN ĐIỆN TỬ

(Họ tên và chữ ký)

Trang 4

LOI CAM ON

Tôi xin bày tỏ lòng biết ơn sâu sắc đến quý thay cô trường Dai Học BáchKhoa TP Hồ Chí Minh , những người đã truyền dat cho tôi những kiến thức quý báufrong suốt khóa học cao học tại truong

Xin gửi lời cảm on chân thành nhất đến thay — Tién sĩ Trương Quang Vinh

Thay đã tận tinh hướng dan, giúp đồ và luôn tạo điều kiện thuận lợi để tôi hoàn

thành dé tài luận văn này.Tôi cũng chân thành cam ơn các ban học viên, sinh viên làm việc tại phòngLap 116/B1 đã nhiệt tình giúp đỡ tôi trong suốt quá trình thực hiện luận văn

Tôi xin gửi lời cảm ơn đến gia đình, bạn bè đã luôn động viên và ung hộ, giúptôi có thêm động lực dé hoàn thành dé tài

TP Hô Chí Minh, 4/12/2013

Học viênLê Gia Bảo Phương

HVTH: Lê Gia Bao Phương

Trang 5

-1-TOM TATBan bao cáo luận van này giới thiệu một hệ thống nhận dạng biển số xe tựđộng được thiết kế dé nhận dạng biến số ô tô Việt Nam, loại biển số 1 hàng Hệthong được xây dựng trên trình soạn thao Qt Creator, trong môi trường hệ điều hànhLinux Ubuntu 12.04, với sự hỗ trợ của thư viện OpenCV Ngoài ra, hệ thống cònđược nhúng lên board nhúng BeagleBoard xM, một sản phẩm của hãng TexasInstruments Hệ thống bao gồm ba module chính là: module phát hiện biển số,module tách ký tự, và module nhận dạng ký tự.

Trong module phát hiện biến số, sử dụng kết hợp các phương pháp: phát hiệncạnh, phép toán hình thái học, thuật toán đường bao, các điều kiện về kích thước vàđặc điểm của biển số xe Việt Nam để xác định vị trí của biển số trong ảnh Mộtphương pháp phát hiện cạnh dựa trên việc tính toán độ lệch chuẩn cũng được giớithiệu trong quá trình này.

Với module tách ký tự, phương pháp tìm đường bao đối tượng kết hợp với cácđiều kiện về kích thước của ký tự được sử dụng để tách các ký tự của biển số Ngoàira, một số bước tiền xử lý và điều chỉnh góc nghiêng cũng được áp dụng dé tănghiệu quả của quá trình.

Cuối cùng, module nhận dạng ký tự được xây dựng dựa trên phương phápSupport Vector Machine (SVM), và trích đặc trưng nhị phân để nhận dạng các kýtự chữ và số trên biển số Dựa trên đặc điểm của biến số ô tô Việt Nam, loại biển sốmột hàng, ba m6 hình huấn luyện SVM được xây dựng để nhận dạng riêng biệt chữvà số, tại các vị trí khác nhau của ký tự trên biển số

Hệ thong được kiểm tra với 350 ảnh thu thập ngoài thực té, trong cac diéu kiénkhác nhau về cường độ ánh sáng và các góc lay hình khác nhau của camera, với kếtquả đạt được là tương đối tốt (~83%)

HVTH: Lê Gia Bao Phương

Trang 6

This thesis proposed an Automatic License Plate Recognition system (ALPR)for type of l-rows license plate (LP) in Vietnam The ALPR system was designedin Linux Ubuntu 12.04 OS with Qt Creator and OpenCV library Moreover, thesystem was embedded in BeagleBoard xM, which is a Texas Instruments s product.The ALPR system consists of three modules: license plate detection, charactersegmentation and character recognition.

In the license plate detection module, many methods were applied in order tolocate exact LP region, such as: edge detection, mathematical morphology, sizeconditions and specific characteristics of Vietnam LP An egde detection approachbased on standard deviation calculation was presented in this module.

In the character segmentation module, the finding contour method and sizeconditions of the character were adopting to segment characters and numbers in LP.In addition, the pre-processing task and the rotation of image process were also usedto improve the effective of this module.

Finally, Support Vector Machine and the binary feature extraction methodwere deployed in character recognition module to recognize characters and numbersin LP Based on characteristics of the l-row LP in Vietnam, three SVM modelswere trained in order to recognize separately characters and numbers in the differentpositions in LP.

The system was evaluated in 350 images taken in various illuminationconditions and angles of camera and the result of the system is fairly good (~83%).

HVTH: Lê Gia Bao Phương

Trang 7

-HI-LOI CAM DOAN

Tôi cam đoan các kết qua dé tài thực hiện chưa từng công bồ trong bat kỳcông trình khoa học trước đây.

Người cam đoan

Lê Gia Bảo Phương

HVTH: Lê Gia Bao Phương

Trang 8

-IV-MUC LUC

LỜI CAM ƠN HT T T15 5 1111111111111 111111 TT TT TT nu iTÓM Os 0 ce iiABSTTRACCT G1191 9191515 1 11111 11v T11 111 1311111111 nung ng greg iiiLOL CAM DOAN án TT 1111101111111 11 11111111 TT T TT 1 nu iv00/909 22 VDANH MUC HINH 0122 viiDANH MUC BANG 2 ixDANH MỤC VIET TT ẮTT G-G- E111 539191 1 9E 1111 1 1E 112111 11g11 ng ng XCHƯƠNG I: TONG QUAN VE DE TÀI s5 25252 < SE ckekrkekrkrrrree -l-1.1 Giới thiệu dé tầi - cư S11 1 ST 1121 1E TT HT ng rkg -]-1.2 Tình hình nghiÊn CỨU «5G 000119 n g n ve -|-1.3 Mục tiêu và giới han dé tài -¿ ¿6 S2 2213 1 E1 121115111111 11 1111 cty -5-1.4 Bồ cục luận văn - s11 12v 1112121 1E g1 TT g1 ng ng rkg ¬CHƯƠNG II: CƠ SỞ LÝ THUY ÊTT SG + E2 EEE#ESESESE SE rered -7-

2.1 Khái quát về xử lý ảnh [12] co.cc ccscsesescscscssssesessssssssesessssssseeeseens 2.2 Khái niệm về nhận dạng bién 86 Xe + + 2252222 £2£E£E£E+EzErsrereee -9-2.2.1 Khái niệm và ứng dụng [ Í Ì - «<1 1119331111 1 ke -9-2.2.2 Đặc điểm nhận dạng biển số xe Việt Nam se csxsxsecsesed -12-2.3 Thư viện Open(CÝ c0 nọ - l3-2.3.1 Giới thiệu OpenCŸV ¿-¿-:tc 1 123 1115131111 111111 1111111111111 xe - 13-2.3.2 Một số hàm cơ bản của OpenC V ¿- 5c ccc x2tcterrrxrkrree -14-2.4 Phương pháp nhận dang SVM (Support Vector Machine) - l6-2.4.1 SVM tuyến tính - - +52 t3 x33 2111112111111 re -17-2.4.2 SVM không tuyến tính ccccccccccsescsesesscsesesscsessesssesscsssesesssseeseseaees -19-2.4.3 SVM lề mềm tuyến tinh ¿-¿- + 2252 S£+E+E£E£E+EEztererxrrreerered - 20 -2.5 Hệ thống nhúng [ 7 ] ¿-¿- - +6 SE +E+E+EE£E£E£EEEEEEEEEEEEErErkrkrrerkrrerered -21-2.5.1 Hệ điều hành Angstrom + ¿2E + E223 3+2 EEEEEEEEEEE 1E rxrkrree -21-2.5.2 Hệ thông phan cứng - ¿2 525229 SE‡E£EEE£EEEEErEererererrerered -22-CHƯƠNG III: HỆ THONG NHẬN DANG BIEN SỐ XE 555- - 25 -3.1 Sơ đồ khối và nguyên lý hoạt động ¿- + 2552222 z+e+xrerrerered - 25-3.2 Quá trình thu nhận ảnh [ Í”7] - << << 2231111131111 111553 3111111155555 - 26 -

-7-HVTH: Lê Gia Bao Phương

Trang 9

-V-3.3 Phát hiện biỂn SỐ G112 911191981 5181915111 11515111 111111 ri 3.4 Tach Ký LỰ c-c S2 e1 1 1211 111111121111 11 1111 111111011111 11 0111112011111 - 36 -3.5 Xây dựng bộ huấn luyện - + 2 2+6 E+E*EE E311 E1 1 E1 E1 rErree - 47 -3.5.1 Trích đặc trưng - - - << - c0 vn - 47 -3.5.2 Huan LWY6N ooecceecccccscsccscscscscscscscscscsscscscscsssscscscsssssssssscscssssseescscsvessees - 47 -3.6 Nhận dạng KY LỰ - - G999 - 49 -CHUONG IV: XÂY DUNG HE THONG NHUNG TREN BEAGELBOARD xM

27¬ &&== 50

-4.1 Sơ đồ hệ thong ¿-¿- S2 S121 3 1912 111 11115111111 111111111111 11 11111111 cy 50 4.2 Xây dựng hệ thống nhúng - ¿+ + 25 S2 +E+E#EE£E£EeEEEEvEerkrkrkrrererree -51-4.2.1 Xây dựng hệ điều hành nhúng - + 2+ 2 s+++£££+£+Eeze+xsrerxd -51-4.2.2 Xây dung Qt và thư viện OpenCV đối với BBxM -. - 51 -CHUONG V: KET QUA THỰC HIEN - G2 + 5E EsEsEsE+E+E£eEseseexe -58-5.1 Đánh giá độ chính xác của hệ thống hs - 58 -5.2 Kết quả dat duoc ccecccccscsccsssessssssesscsesessesesessesesecscsessscsescsscseseescsssesecseeeees -61 -CHUONG VI: KET LUẬN VA HƯỚNG PHAT TRIEN DE TÀI - 66 -6.1 IKẾt luận G111 91919191 11 11115191 91 1110101161 1111 11 ng ri - 66 -6.2 Hướng nghiên cứu và phát triỀn ¿- ¿25 2 ++E+££e+EvErerrerersred - 66 -TAI LIEU THAM KHẢO G3511 9118 8E E1 vn ve reerei - 67 -

-HVTH: Lê Gia Bao Phương

Trang 10

-VI-DANH MỤC HÌNH VEHình 1.1: Hai cửa số đồng tâm A và B quét trên ảnh [2] - 5-55: -2-Hình 1.2: Phân tách ký tự bang lược đồ chiếu ngang và doc [4] - - -3-Hình 2.1: Qua trình xử lý anh [ Í2 ] (<< < << +1 11113 1111331899555 1 511111 kke -8-Hình 2.2: Các loại biển số xe thông dụng tại Việt Nam 5-5c555¿ -12-Hình 2.3: Mô hình SVM tuyến tính [15] . - << << Sseeeessssess -|7-Hình 2.4: Anh xạ không gian tin hiệu vào không gian đặc tinh dé phân tách băngSVM tuyến tinh [ 1Ó ] - ¿c6 2522295221219 2E239E1 32121231111 211111 2111111 -19-Hình 2.5: BBXM [ IÑ] -¿-¿- +52 SE SE 1 E5 E5 111515111111 11 7111151111111 rk - 23 -Hình 2.6: Sơ đồ hệ thống BBXM [ 18.] ¿-¿- 52525255 E+E+£2££E£Ertererersrered -24-Hình 3.1: Sơ đỗ khối hệ thống nhận dạng biến số Xe . - - 2 25255552 -25-Hình 3.2: Quá trình thu nhận ảnh [17] . - 5< < << << ‡‡‡2+sssssssssseees - 27-Hình 3.3: Quá trình phát hiện bién số Xe -. + 22 2£+£+£+££E£EzEzezrrsred -28-Hình 3.4: Quá trình trượt Cửa SỐ -¿-¿- xxx SE SE E11 vn reg - 30 -Hình 3.5: Sơ đồ thuật toán bộ lọc phát hiện cạnh .- - 5S S S252 - 30 -Hinh 3.6: Két quả loc phát hiện cạnh - - - (<< << 1n 31119 - 3] -Hình 3.7: Kết quả thực hiện phép toán hình thái hoc . - 55+: - 32 -Hình 3.8: So đồ thuật toán tìm bién SỐ Xe ccecccsecescsscsecscecessecscecessevecscsceeeeeees -33-Hình 3.9: Sơ đồ khối thuật toán xác minh bién $6 Xe ¿5s + se£sesed -34-Hình 3.10: Sơ đồ thuật toán xác minh biển sỐ Xe - 66 s£+x+x+ese£sesed -35-Hình 3.11: Kết quả phát hiện và tách biển số xe trong ảnh . - - 36 -Hình 3.12: Sơ đồ khối quá trình tách Ký tự - ¿2 + + s+x+cecszxererseree - 36 -Hình 3.13: Quá trình tiền Xử lý ¿5-6-5252 E222 E2 2E EEEEerrkrrerrrrrkee - 38 -Hình 3.14: Sơ đồ thuật toán lọc nhiéue cccceccssesecescsccssccesescssssscececsecevevsceeeeees - 40 -Hình 3.15: Kết quả các bước thực hiện thuật toán tiền xử lý .- - A] -Hình 3.16: Ảnh tiền xử ly có ký tự bị mat khi biển số có đỉnh ốc lớn - 4] -Hình 3.17: Sơ đồ thuật toán điều chỉnh góc nghiêng - + + 5552: - 42 -Hình 3.18: Kết quả các bước thực hiện điều chỉnh góc nghiêng - 44 -Hình 3.19: Qua trình tách Ký tự HH ke - 44 -

HVTH: Lê Gia Bao Phương

Trang 11

VilHình 3.20: So đỗ thuật toán khối lọc tách KY tự .c.cccccecccseeesescsessessseseseeeseseees 46 Hình 3.21: Kết quả tách Ký tự ¿- ¿562252 2E E22 1212112111121 1 E111 crke -47-Hình 3.22: Quá trình nhận dạng ký tỰ -Ă G999 1 re - 49 -Hình 4.1: So đồ hệ thống nhúng trên BBxM -.- 2525525 ecrcrrerreee - 50 -Hình 4.2: Thêm chương trình Qt đối với BBxM . ¿5 555 +cscscecs2 - 56 -

-Hình 4.3: Khai báo đường dẫn trình biên dịch chéo - 2-2-2 =2 <s5s55c: -

36-Hình 4.4: Build ứng dụng với Qt dành cho BBXM -SĂĂ S222 - Hình 5.1: Nhận dạng với ảnh có anh sáng chói .- -«« «s22 - 62 -Hình 5.2: Nhận dạng với anh có cường độ ánh sáng yeu . -: - 62 -Hình 5.3: Nhận dang với anh có cuồng độ sáng khác nhau trên biển só - 63 -Hình 5.4: Nhận dạng với ảnh có biển số có ký tự bị xướt nhẹ - 63-Hình 5.5: Nhận dạng với ảnh có biển số bị ban nhẹ ¿-¿- - 2 c2 2cs552 - 64 -Hình 5.6: Nhận dạng với ảnh có biển số có đỉnh ốc lớn - - 2 25555552 - 64 -

3/-HVTH: Lê Gia Bao Phwong

Trang 12

-Vili-DANH MUC BANG

Bang 1.1: Kết quả nhận dạng ký tự sử dung mạng noron truyền thăng nhiều lớp [9]

¬—

4Bang 2.1 Các đặc tinh của BBXM [14] ccccccceseseeseesssneeeeeeeeeeeeeeeeeeeeenaes 23 Bảng 3.1: Gan nhãn trong mô hình SVM nhận dang $6 . - +: - 48-

-Bang 3.2: Gan nhãn trong mô hình SVM nhận dạng chữ «- -

Bang 3.3: Gan nhãn trong mô hình SVM nhận dang chữ và số -

Bang 3.4: Số lượng mẫu huấn luyện trong mô hình SVM nhận dạng số -

Bang 3.5: Số lượng mẫu huấn luyện trong mô hình SVM nhận dạng chữ - Bang 3.6: Số lượng mẫu huấn luyện trong mô hình SVM nhận dạng chữ và số.- 49 -

48-Bảng 5.1: Phân loại tập ảnh mẫu + 2E2E2E2E2E2E 2E 3E xe EEErrrsrrrrrred 58

-Bang 5.2: Kết quả quá trình phát hiện biển sỐ . 2- + 252252 5s+s+cszxcss2 59 Bang 5.3: Kết quả quá trình tách ký tu cecccccsccsessssesessesesessesesessesesessssesesssseeeeees - 59 -Bang 5.4: Kết quả quá trình nhận dạng ký tự . - -555s+cccccccccceceee - 59 -Bang 5.5: Kết quả đánh giá toàn bộ hệ thong c.ccccccccseseeesescscsesesseseseeeseeseee - 60 -Bang 5.6: Thời gian thực thi trung bình của hệ thống . - 55+: - 6] -

-HVTH: Lê Gia Bao Phương

Trang 13

-1X-DANH MUC VIET TAT

P

PNNs Probabilistic Neutral Networks

SSCW Sliding Concentric WindowsSVM Support Vector Machine

Trang 14

-X-CHUONG I: TONG QUAN VE DE TÀI1.1 Giới thiệu dé tài

Hiện nay, tại hầu hết các thành phố lớn cùng với sự phát triển nhanh chóng vềkinh tế - xã hội là sự gia tăng rất lớn số lượng các phương tiện giao thông Điều nàyđã gây ra những khó khăn trong công tac quản lý và xử lý vi phạm giao thông machi với nguồn nhân lực con người khó có thé đảm đương được Vì vậy cần thiếtphải có các hệ thống quản lý, giám sát giao thông một cách tự động, hiệu quả Và hệthống nhận dạng biến số phương tiện tự động là sự lựa chọn thích hợp và là giảipháp hiệu quả cho van dé này

Các hệ thống nhận dạng biến số phương tiện đã được nghiên cứu, phát triểntrong một thời gian dai và được ứng dụng nhiều trong thực tế tại các nước phát triển

trên thế giới như Mỹ, Ấn Độ, Đài Loan, Hàn Quốc Tuy nhiên, tại Việt Nam,

những hệ thông này chỉ mới được quan tâm trong thời gian gần đây.Từ những lý do thực tế đó, trong thời gian khóa học Thạc sĩ Kỹ thuật điện tử

tôi đã quyết định chọn thực hiện đề tài : “ Thiết kế hệ thống nhúng nhận dạng biển

sô xe” nhăm góp phân vào việc nghiên cứu trong lĩnh vực này tại Việt Nam.Mục tiêu khi thực hiện dé tài này là thiết kế thành công một hệ thống nhậndạng chính xác biển số của các phương tiện lưu thông tại Việt Nam Hệ thống sẽđược thiết kế trên cơ sở xây dựng các giải thuật cho 3 quá trình: (1) phát hiện biểnsố; (2) phân tách ký tự; (3) nhận dạng ký tự Cuối cùng, hệ thống sẽ nhúng trên kitARM Beagle Board với sự hỗ trợ của phần mềm thư viện OpenCV

1.2 Tình hình nghiên cứuCác hệ thống nhận dạng biến số phương tiện thường bao gồm 3 quá trìnhchính: 1) phát hiện biến số, 2) phân tách ky tự và, 3) nhận dang ký tự Đến thờiđiểm hiện nay, đã có rất nhiều phương pháp được nghiên cứu và thực hiện trongmôi quá trình nói trên bởi các nhà kỹ thuật ở nhiêu nước trên thê giới.

HVTH: Lê Gia Bao Phương

Trang 15

-|-Phat hiện biến số : đây là quá trình đầu tiên và quan trọng nhất trong một hệthống nhận dạng biển số xe vì nó ảnh hưởng trực tiếp đến hiệu suất của toàn bộ hệthống Một phương pháp trích biển số xe dựa trên sự kết hợp giữa phương pháp đặctrưng cạnh (Edges Satistics) và hình thái học (Morphology) đã được hai tác giảB.Hongliang và L.Changping giới thiệu năm 2004, đã thu được kết quả rat cao [1].Phương pháp gồm 4 quá trình: phát hiện cạnh, phân tích đặc trưng cạnh, xác định vịtrí biển số dựa trên sự phân cấp, và trích biển số dựa trên phương pháp hình tháihọc Kết quả trích vùng biển số xe đạt 99.6% trên tong s6 9825 anh duoc str dung.

Một phương pháp khác được ứng dụng dé phát hiện biến số là SlidingConcentric Windows (SCW) [2] Nội dung chính của phương pháp là sử dụng haicửa số đồng tâm có kích thước khác nhau, quét toàn bộ ảnh từ trái qua phải và từtrên xuống dưới Tại mỗi điểm pixel trung tâm của hai cửa số, các giá trị thống kê làđộ lệch chuẩn hoặc giá tri trung bình sẽ được tính toán Nếu giá tri này vượt quángưỡng được thiết lập bởi người sử dụng thì điểm pixel đó được xem là thuộc vùngbiên số xe Phương pháp này cũng thu được kết quả cao, đạt 96,5 %

Hình 1.1: Hai cửa số dong tâm A và B quét trên ảnh [2].Một phương pháp phát hiện biển số phương tiện khác nữa là sử dụng thuậttoán Support Vector Machine (SVM) kết hợp với thuật toán hình thái học [3].Phương pháp này làm tăng đáng kế độ chính xác trong việc trích biển số xe với đầuvào là các chuỗi video Điểm nổi bật của phương pháp là sử dụng thuật toán hìnhthái học để tìm các đối tượng có thể là biến số xe Tiếp đó, thuật toán SVM được

HVTH: Lê Gia Bao Phương

Trang 16

-2-ứng dung dé xác minh chính xác đối tượng nào là biển số xe, đối tượng nào khôngphải.

Ngoài ra, một số phương pháp khác cũng đã được giới thiệu trong bước nàynhư là kết hợp thuật toán Hough Transform (HT) với thuật toán Contour [4],Wavelet Transform (WT) [5], Time-delay Neural Network (TDNN) [6]

Phân tach ký tw: phương pháp đơn giản va pho biển nhất dé tách rời các kýtự là sử dụng các hình chiếu theo chiều ngang (horizontal projection ) và hình chiếu

theo chiều doc (vertical projection) [4] Tại các vi trí có các giá tri nhỏ nhất trong

hình chiếu ngang sẽ giúp ta tach được hàng trên biến số, và tại những vị trí có giá trịnhỏ nhất trong hình chiếu đứng sẽ giúp ta tách được các ký tự

Ngoài ra, một số phương pháp khác cũng được sử dụng trong bước này như làMarkov Random Field, local/adaptive thresholding

Nhận dang ký tự: phương pháp pho biến để nhận dạng ký ty là sử dung mangnoron nhân tao (Artifical Neutral Network) Nhiều công trình nghiên cứu cua cácnhà kỹ thuật sử dụng phương pháp này đã thu được kết quả cao như trình bày trong

HVTH: Lê Gia Bao Phương

Trang 17

-3-bang 1 dưới day là kêt qua cua một sô nghiên cứu sử dụng mang noron truyénthăng nhiều lớp (Multiplayer Feedfoward Neutral Network - MFNN).

MULTILAYERED FEEDFORWARD NEURAL NETWORKSFOR CHARACTER RECOGNITION DETAILSRef Topology/(performance) No of output classes[1Š] 16-20-9 (95%) 9% numbers

119,29] 24-15-36 (98.5%) 26 letters+10 numerals[80] 209-104-36 (95%) 26 letters +10 numerals[126] 15-10-8 (96%) 8 (binary ASCII code of

36 characters)[127] 08-50-35 (95%) 25 letters +10 numerals[128] 50-60-100-36 (92.5%) 26 letters +10 numerals[133,136] Not reported (81%) Not reported

Phương pháp SVM cũng được sử dung để nhận dạng ký tự Các tác giả trongbài báo [10] đã thiết kế một hệ thống nhận dạng biến số xe Hàn Quốc băng phươngpháp SVM với kết quả rất ân tượng dat 97,2 % Hệ thong bao gồm 4 bộ nhận dạngký tự dựa trên SVM để nhận dạng các ký tự hàng trên, các chữ số hàng trên, các kýtự hàng dưới, và các chữ sô hàng dưới.

Ngoài ra, còn có một số phương pháp khác như là Hidden Markov Model,Pattern/Template Matching

HVTH: Lê Gia Bảo Phương

Trang 18

-4-1.3 Mục tiêu và giới hạn đề tàiMục tiêu thực hiện dé tài là thiết kế thành công một hệ thông nhận dạng biểnsố xe ô tô lưu thông tại Việt Nam với độ chính xác cao, nhúng trên kit BeagleBoardxM.

Hệ thống nhúng nhận dạng biển số xe được thiết kế và hiện thực trong phạmvi các nội dung giới han sau:

s* Nhận dạng biển số xe dân sự có nền trắng chữ đen, loại biển số mộthàng.

lvl2* Hệ thống có thé xử lý theo thời gian thực với khoảng < 15 frames / s

lvl2® Su dụng camera có độ phân giải ảnh < 640x480 pixel.

lvl2* Không thiết kế phan cứng mà sử dung kit có sẵn BeagleBoard xM.1.4 Bồ cục luận văn

Nội dung của luận văn chia thành 6 chương:Chương I: Giới thiệu tông quan về dé tài, tình hình nghiên cứu, mục tiêu vàgiới hạn đề tài

Chương II: Phần cơ sở lý thuyết Trình bày khái quát về xử lý ảnh, một sốkhái niệm về nhận dạng biến số xe Giới thiệu thư viện OpenCV và phương phápnhận dạng SVM Cuối cùng là hệ điều hành nhúng Angstrom va kit BeagleBoardxM.

Chương IIT: Hệ thong nhận dạng biến số xe Phan này trình bày chỉ tiết và đisâu giải thích các thuật toán xây dựng hệ thống nhận dạng biến số xe

Chương IV: Xây dựng hệ thống nhúng trên BeagleBoard xM Nội dungchương này sẽ mồ tả các bước xây dựng ứng dụng trên board nhúng, các phươngpháp cũng như các công cụ được sử dụng cho việc biên dịch ứng dụng để có thểthực thi trên một hệ điều hành nhúng

HVTH: Lê Gia Bao Phương

Trang 19

-5-Chương V: Kết quả thực hiện Trình bay va đánh giá độ tin cậy của hệ thốngnhận dạng biên sô xe và các kêt quả đạt được.

Chương VI: Kết luận và hướng phát triển đề tài

HVTH: Lê Gia Bao Phương

Trang 20

-6-CHUONG II: CO SỞ LÝ THUYET2.1 Khái quát về xứ lý anh [12]

Ngày nay hau hết các lĩnh vực kỹ thuật đều chịu ảnh hưởng của lĩnh vực xử lýảnh Xử lý ảnh được ứng dụng khá rộng rãi trong các lĩnh vực khoa học như y khoa,thiên văn học, robot công nghiệp Trong đời sống hàng ngày xử lý ảnh cũng cónhững ứng dụng để hỗ trợ cho con người trong việc nhận dạng đối tượng tự độnggiúp cho việc quản lý các công việc một cách chính xác và nhanh chóng.

Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin họcứng dụng Xử lý dữ liệu băng đồ họa đề cập đến những ảnh nhân tạo, các ảnh nàyđược xem xét như là một cau trúc dữ liệu và được tạo ra bởi các chương trình Xửlý ảnh số bao gồm các phương pháp và kỹ thuật để biến đổi, để truyền tải hoặc mãhóa các ảnh tự nhiên Mục đích của xử lý ảnh gôm:

* Thứ nhât, biên đôi ảnh và làm đẹp ảnh.* Thu hai, tự động nhận dang ảnh hay đoán nhận ảnh và đánh giá các nội dungcủa ảnh.

Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người tamuốn đặc tả nó Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc tínhchủ yếu của đối tượng Có hai kiểu mô tả đối tượng

- Mô tả tham số (nhận dạng theo tham số)- Mô tả theo cau trúc (nhận dạng theo cau trúc)Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thànhnhững phan có nghĩa dé phân biệt đối tượng này với đối tượng khác Dựa vào đó tacó thé mô tả cau trúc của hình ảnh ban dau Có thé liệt kê một số phương pháp nhậndạng cơ bản như nhận dạng biên của một đối tượng trên anh, tách cạnh, phan đoạnhình ảnh Kỹ thuật này được sử dụng nhiều trong y học (xử lý tế bào, nhiễm sắcthé)

HVTH: Lê Gia Bao Phương

Trang 21

-7-Trong thực tế người ta đã áp dụng kỹ thuật nhận dạng khá thành công vớinhiều đối tượng khác nhau như: nhận dạng ảnh vân tay, nhận dạng chữ (chữ cái,chữ số, chữ có dấu) Nhận dạng chữ in hoặc đánh máy trong văn bản phục vụ choviệc tự động hoá quá trình đọc tài liệu, tăng nhanh tốc độ và chất lượng thu nhậnthông tin từ máy tính, Nhận dạng chữ viết tay (với mức độ ràng buộc khác nhau vềcách việt, kiêu chữ, )

Các quá trình của xử lý ảnh:Các quá trình của xử lý ảnh được tiên hành theo sơ đô sau:

Thu nhận |_| sé pos Phân tích

Hình 2.1: Quá trình xu lý anh [12]Trước hết là qúa trình thu nhận ảnh Ảnh có thể thu nhận qua camera Thườngảnh thu nhận qua camera là tín hiệu tương tự (loại camera ống kiểu CCIR), nhưngcũng có thể là tín hiệu số hoá (loại CCD - Charge Coupled Device)

Ảnh có thé thu nhận từ vệ tinh qua các bộ cảm ứng (sensor), hay ảnh, tranhđược quét qua scanner Tiếp theo là quá trình số hóa (Digitalizer) để biến đổi tínhiệu tương tự sang tín hiệu rời rạc (lay mẫu) va số hóa băng lượng hóa, trước khichuyền sang giai đoạn xử lý phân tích hay lưu trữ lại

Quá trình phân tích ảnh thực chất bao gom nhiéu công đoạn nhỏ Trước hết làcông việc tăng cường hình ảnh (Image Enhancement) để nâng cao chất lượng hình

HVTH: Lê Gia Bao Phương

Trang 22

-8-ảnh Do những nguyên nhân khác nhau: có thé do thiết bị thu nhận ảnh, do nguồnsáng hay do nhiễu, ảnh có thể bị suy biến Do vậy cần phải tăng cường và khôi phục(Image Restoration) lại ảnh để làm nồi bật một số đặc tính chính của anh, hay làmcho ảnh gần giống với trang thái gốc- trạng thái trước khi ảnh bị bién dạng Giaiđoạn tiếp theo là phát hiện các đặc tính như biên (Edge Detection), phân vùng ảnh(Image Segmentation), trích chọn các đặc tính (Feature Extraction),v.v

Cuối cùng, tuỳ theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phânlớp hay các quyết định khác Các giai đoạn chính của quá trình xử lý ảnh có thé môtả ở hình 2.1.

Việc xử lý ảnh số được thực hiện với nhiều phương pháp và các giải thuậtkhác nhau nhằm vào một số mục đích chinh như: bién đôi và làm đẹp ảnh (phục hồiảnh), nhận dạng, phỏng đoán đối tượng trong ảnh hoặc đánh giá nội dung ảnh

Ảnh sau khi xử lý sẽ chứa đựng các thông tin mà người dùng muốn có được(ảnh rõ hơn, phân biệt được các đối tượng có trong bức ảnh )

2.2 Khái niệm về nhận dạng biến số xe2.2.1 Khái niệm và ứng dụng [13]2.2.1.1 Khát niệm

Hệ thống nhận dạng biển số xe là hệ thống có khả năng phân tích hình ảnh vàxác định biến số trên xe, thông qua video, thiết bị ghi hình và hình ảnh Sau là xácđịnh thông tin như: chủ sở hữu,

Phân loại ứng dụng nhận dạng biển số xe:Ứng dụng nhận dạng biến số xe là ứng dụng có khả năng phân tích hình ảnhvà xác định biến số xe từ các hình ảnh chụp được từ các thiết bị thu hình Nguồnhình ảnh cho ứng dụng có rất nhiều Và phát triển, hình ảnh được trực tiếp thunhận từ camera.

Có nhiều cách thức khác nhau để phân loại các ứng dụng nhận dạng biển sốxe Một trong những cách đơn giản là phân loại ứng dụng nhận dạng biển số xe

HVTH: Lê Gia Bao Phương

Trang 23

-9-thông qua mục dich sử dụng Có thé chia ứng dụng nhận dang bién số xe thành hailoại sau:

Loại 1: Giới hạn vùng nhìn* Đầu vào: ảnh thu trực tiếp từ các thiết bị ghi nhận ảnh kỹ thuật số Ảnh

được ghi nhận thường chỉ giới hạn trong vùng có biến số xe.* Nguyên lý hoạt động: Các phương tiện giao thông phải chạy với một tốc

độ đủ chậm dé máy ghi nhận hình ảnh có thé thu được ảnh vùng biến số

Xe.

+* Ung dụng: Những ứng dung nhận dạng biến số xe loại nay thường đượcdùng tại các trạm kiểm soát các trạm thu phí, các bãi gửi xe tự động , cáctrạm gác công

Loại 2: Không giới hạn vùng nhìn.*® Đầu vào: ảnh đầu vào thu được từ thiết bị ghi hình tự động, không phụ

+

thuộc vào góc độ, các đối tượng xung quanh, ảnh không cần bắt buộc chỉchụp vùng chứa biến số xe, mà có thé là ảnh tổng hợp như chứa thêm cácđối tượng như người, cây, đường phố miễn là vùng biến số phải dt rõđể có thể nhận dạng được ký tự trong vùng đó

* Nguyên ly hoạt động: do đặc tính không giới hạn vùng nhìn mà ảnh đầu

+

vào có thé thu được từ một thiết bị ghi hình ( camera, máy ảnh) Và dođó, công việc đầu tiên là dò tìm trong ảnh, để xác định đúng vùng nao là

biển số xe Sau đó, thực hiện tách vùng và nhận dạng Cuối cùng tùy

thuộc vào mục đích sử dụng ma kết quả nhận dạng được truyền đi haylưu trữ để phục vụ nhu cầu của người dùng cuối

° Ung dung: vì không phụ thuộc vào phạm hình ảnh thu được nên có dùng

+

ứng dụng tại nhiều nơi như tại những điểm điều tiết giao thông, tại các vịtrí nhạy cảm của giao thông như ngã ba, ngã tư đường giao nhau Kiểmsoát, phát hiện những hành vi vi phạm an toàn giao thông.

HVTH: Lê Gia Bao Phương -

Trang 24

10-s* Yêu câu thiết bi:

Máy quétĐèn chiêuBộ phận thu- tách hình ảnhMáy tính

Một số thiết bị khác tùy mục đích sử dụng.2.2.1.2 Ứng dụng

Hệ thống nhận dạng biển số xe được xây dựng nhằm mục đích giám sát, kiểmsoát các phương tiện Dưới đây chúng ta dé cập đến một số ứng dụng pho biến đốivới hệ thông nhận dạng biên sô xe:

- Thu phí giao thông: Lắp đặt hệ thống Nhận dạng biển số xe tại các trạm thuphí nhằm hỗ trợ hoặc tự động hóa công tác thu phí

- Kiểm soát xe tại các đường biên giới: Mỗi quốc gia đề có những quy địnhriêng về biển số xe, dé phục vu cho công tác quản lý và phát hiện những phương

tiện giao thông vượt biên bat hop pha Viéc lap dat hé thong Nhan dang biển số xe

tại các trạm kiềm soát sẽ góp phần hỗ trợ công tác kiểm tra và an ninh quốc gia

- Các trạm gác công: Việc lắp đặt hệ thống sẽ hỗ trợ hoặc tự động hóa công

tác mở công cho xe ra vào.- Xử lý vi phạm giao thông: Khi lắp đặt hệ thống sẽ hỗ trợ việc sử lý vi phạmgiao thông đường bộ và có thể tự động báo lỗi vi phạm Hiện đang được thí điểmtrên một số tuyến đường cúa Quốc lộ 1A để xử lý lỗi chạy quá tốc độ

Ngoài ra, hệ thống còn được ứng dụng vào công tác chống trộm xe, các bãigiữ xe tự động, điều tiết giao thông

HVTH: Lê Gia Bao Phương

Trang 25

-lI-2.2.2 Đặc điểm nhận dang biến số xe Việt Nam

Bien nên do chữ trang Biên nên trăng chữ den va đỏ

Hình 2.2: Các loại biển số xe thông dụng tại Việt Nam.Tiêu chuẩn về kích thước:

O moi nước thường có tiêu chuân về kích thước nhất định Đôi với nước ta,biên sô xe qui định khá dong đêu cho môi loại xe, tỷ lệ chiêu dai, rộng cho môi loạixe là như nhau.

s* Đối với loại xe có một hang ký tự thì tỉ lệ dà/rộng là: 3.5 <W/H < 4.5s* — Đối với loại xe có hai hàng ký tự thi tỉ lệ dai/rong là: 0.8 < W/H < 1.4Tu những đặc điêm này, ta có có thê xác định được các vùng con thỏa man thikhả năng chứa bién số là rất cao

Kích thước và số lượng của ký tự trong biển số xe:Mỗi ký tự thường có tỷ lệ kích thước chiều rộng, chiều cao tương ứng vớichiều dài và rộng của biến số xe Ví dụ, chiều cao của mỗi ký tự luôn nhỏ hơn 85%chiều cao của biển số xe và luôn lớn hơn 33% chiều cao của biển xe Còn chiềurộng của ký tự không lớn hơn 20% chiều dài của biến số xe Mỗi ký tự của biến sốxe được xem như là một vùng liên thông con Do đó, chúng ta có thé đếm vùng liên

HVTH: Lê Gia Bao Phương

Trang 26

-12-thông con thỏa mãn tích chat đó là ký tự Chú ý số ký tự trên biển số xe là từ 6 đến10 ký tự Ở nước ta, số ký tự trên mỗi biển số xe năm trong khoảng 6 đến 9 ký tự.Vậy ta có thé dùng ngưỡng [6,9] để nhận dang vùng biến số xe.

2.3 Thư viện OpenCV2.3.1 Giới thiệu OpenCVOpenCV là viết tat của Open Source Computer Vision Library, là một thư việnmã nguôn mở với hàng trăm thuật toán giải thuật ứng dụng trong thị giác máy tính

Thư viện được viết bằng ngôn ngữ C và C++ có thể chạy trên các hệ điều hànhLinux, Window và Mac OS X Các phiên bản mới sau này đã được phát triển trêncác giao diện dành cho ngôn ngữ Python, Ruby, Matlab

OpenCV được thiết kế để nâng cao hiệu suất tính toán và nhắn mạnh đến hệthống thời gian thực OpenCV là một hệ thống đơn giản, dễ sử dụng giúp mọi ngườinhanh chóng xây dựng các ứng dụng trong thị giác máy tính, kế cả các hệ thốngkiểm tra trong nhà máy, hình ảnh trong lĩnh vực y học, bảo mật, rô bốt học v v Nóchứa các hàm lập trình xử lý ảnh rất đơn giản, kế cả thực thi các hàm bậc cao nhưđồ tìm khuôn mặt, theo dõi khuôn mặt, nhận dạng khuôn mặt, lọc Kalman.

Ké từ khi được giới thiệu vào thang Ï năm 1999, OpenCV đã được su dụngtrong rất nhiều ứng dụng, các sản phẩm và các nghiên cứu Ví dụ trong lĩnh vựchàng không vũ trụ, bản đồ web, sử dụng giảm nhiễu trong y học, phân tích đốitượng, an ninh, hệ thống dò tìm, theo dõi tự động và hệ thống bảo mật, quản lý hệthống sản xuất, xử lý camera, ứng dụng trong quân sự, hệ thống hàng không không

người lái, trên mặt đất, các tàu ngâm Ngoài ra, nó còn được sử dụng trong nhận

dạng âm thanh OpenCV còn là một chìa khóa quan trọng trong các rô bốt sử dụngthị giác máy như Stanford, Asimo.

Người dùng có thé dé dàng download thư viện OpenCV tạihttp://SourceForøe.net/prolecfs/opencvlibrarv.

HVTH: Lê Gia Bao Phương -

Trang 27

l3-2.3.2 Một số ham co bản của OpenCVThư viên OpenCV có đến hàng trăm hàm có thể được ứng dụng trong xử lýảnh Trong phan này chỉ trình bay tóm tắt một số hàm chính của thư viện OpenCVphiên bản 2.3 được sử dụng trong quá trình thực hiện đề tài.

- imread(): tải một file ảnh theo kiểu Mat Cú pháp:C++: Mat imread(const string & filename, int flags=1);- cvCaptureFromCam(): tai hình anh từ camera video Cú pháp:

C: CvCapture* cvCaptureFromCam(int device);- ¢cvCaptureFromFile(): mở một file video Cú pháp:

C: CvCapture* cvCaptureFromFile(const char* filename);- ¢cvQueryFrame(): truy suat khung hình từ camera hoặc file video Cu

pháp:C: Ipllmage* cvQueryFrame(CvCapture* capture);- evtColor(): chuyển đôi không gian mau của anh Cú pháp:

C++: void cvtColor(InputArray src,

OutputArray dst,int code,

int dstCn=0 );- adaptiveThreshold(): chuyển đôi ảnh xám thành ảnh nhị phân Cú pháp:

C++: void adaptiveThreshold(InputArray src,

OutputArray dst,double maxValue,int adaptiveMethod,int thresholdType,int blockSize,double C );- erode(): làm co các đối tượng trong ảnh Cú pháp:

C++: void erode(InputArray src, OutputArray dst, InputArray element);- dilate(): làm giãn các đối tượng trong ảnh Cú pháp:

HVTH: Lê Gia Bao Phương

Trang 28

-14-C++: void dilate(InputArray src, OutputArray dst, InputArray element);- findContours(): tim đường bao của đối tượng trong ảnh nhị phân Cú

pháp:C++: void findContours(InputOutputArray image,

OutputArrayOfArray contours,OutputArray hierarchy,

int mode,int method,Point offset=Point());- pboundingRect(): tinh toán hình bao chữ nhật tối thiéu cho một tập hợp

điểm cụ thể Cú pháp:C++: Rect boundingRect(InputArray Points);- evDrawContours(): vẽ đường bao bên ngoài hoặc bên trong của đối tượng

trong ảnh Cú pháp:C: void cvDrawContours(CvArr* image,

CvSeq* contour,CvScalar externalColor,CvScalar holeColor,int maxLevel,

int thickness=1,int lineType=8);- evSetImageROI(): Thiết lập một vùng quan tâm (Region Of Interest)

trong ảnh theo một hình chữ nhật cho trước Cú pháp:C: cvSetlmageROl(Iplinage* image, CvRect rect );- minAreaRect(): tìm một hình bao chữ nhật tối thiểu, có thé là một hình

chữ nhật bị xoay, của một tập hợp điểm cho trước Cú pháp:C++: RotatedRect minAreaRect(InputArray points);

- getRotationMatrix2D(): tính toán một ma tran affine cho phép xoay 2D.Cú pháp:

C++: Mat getRotationMatrix2D(Point2f center, double angle,

HVTH: Lê Gia Bao Phương -

Trang 29

l5-double scale );- warpAffine(): ứng dụng phép chuyên đổi Affine đối với một anh, thường

được sử dụng để xoay ảnh Cú pháp:C++: void warpAffine(UInputArray src,

OutputArray dst,InputArray M,Size dsize,int flags=INTER_LINEAR,int borderMode=BORDER_CONSTANTconst Scalar& borderValue=Scalar());- CvSVMParams(): khai báo các tham số huấn luyện cho mô hình SVM

Cú pháp:C++: CvSVMParams::CvSVMParams(int svm_type,

int kernel_type,double degree,double gamma,double coefo,double Cvalue,double nu,doubel p,CyvMat* class_weights,

CvTermCriteria term_crit );Chi tiết các tham số của mỗi ham xem cụ thé tại [14] hoặc tại websitehttp://docs.opencv.oreg/2.3/genindex.html.

2.4 Phuong phap nhan dang SVM (Support Vector Machine)Phương pháp SVM được Vapnik giới thiệu vào năm 1995 Day la một phươngpháp phân loại mẫu dựa trên các nền tảng toán học của lý thuyết hoc thống kê

Về cơ bản, phương pháp SVM sẽ phân tách một tập các vector mẫu tín hiệuđầu vào thành hai lớp băng một siêu mặt phăng tối ưu Một tập các vector được gọi

HVTH: Lê Gia Bao Phương -

Trang 30

16-là được phân tách tối ưu bằng một siêu mặt phăng nếu nó được phân tách không cólôi và khoảng cách giữa các vector gan nhat với siêu mặt phang là cực đại.

Ban đầu, SVM được thiết kế ứng dụng cho phân loại hai lớp, nhưng về sauđược mở rộng nghiên cứu ứng dụng cho phân loại nhiều lớp Việc sử dụng các bộphân loại SVM khác nhau là phụ thuộc vào kiểu của các mẫu tín hiệu đầu vào:SVM tuyến tính (Linear Classifier) được sử dụng cho dữ liệu phân tách tuyến tính,SVM lề mềm tuyến tinh (Linear Soft Margin Classifier) hoặc SVM không tuyếntính (NonLinear Classifier) được sử dụng cho các lớp không thé phân tách tuyếntính hoặc các lớp chồng lap Tuy nhiên, trong thực tế, trường hợp phân tách tuyếntính là rất hiếm gặp [15]

2.4.1 SVM tuyến tínhXét trường hợp các mẫu huan luyện có thể được phân tách tuyến tính thànhhai lớp bang một siêu mặt phắng H (w.x + b = 0) Mục đích của SVM là tìm các giátrị tối ưu w và b của siêu mặt phang với khoảng cách giữa HI và H2 là lớn nhất(hình 2.3).

Trang 31

|7-2.4.1.1 Giai đoạn huấn luyện SVMGiả sử có tập dữ liệu huấn luyện: x, ,x2, ,X%, Voix; ER" vài = 1, 2, ,

k.Mỗi mẫu x; có giá trị tương ứng y, , với y; € {-1,1} Mục tiêu là xác định siêu

mặt phẳng với khoảng cách tối thiểu giữa hai lớp là cực đại Lúc đó các điểm dữliệu gần với siêu mặt phăng nhất được gọi là Support Vector

Với giả sử siêu mặt phang là w.x + b = 0, dữ liệu huấn luyện có thé chia thànhhai lớp như sau:

wx; + b < —I tới y¡ = —1

cực tiểu của : [Iw||? Việc tìm cực tiểu sé là quá trình đi tìm w và b từ đó tìm ra siêu

phăng H.Kết quả của bài toán này theo [15]

Wo = Dia Vix (2.6)

bọ = Vi — WoX; (2.7)Trong đó, x; là các support vectors va a; là hệ số nhân Lagrange.2.4.1.2 Giai doan nhận dang

Sau khi tìm ra siêu mặt phăng phân tách, việc nhận dang một mau x là việc

xác định xem x thuộc lớp nào, và được xác định theo hàm quyết định:

f(x) = sign(wox + bạ) (2.8)

HVTH: Lê Gia Bao Phương

Trang 32

-18-2.4.2 SVM không tuyến tínhTrong nhiều trường hợp, dữ liệu không thể phân tách băng một hàm tuyếntính Giải pháp cho van dé này là ta ánh xạ dữ liệu vào vào trong một không gianđặc tính có chiều cao hon @(x) Khi đó, sự phận loại có thé thực hiện được bởiSVM tuyến tính.

f(x) = Xi @ KG, x) + b (2.9)

Với x là vector đầu vào dé phân loại, KQ là ham kernel Một kernel sẽ xâydựng một phép ánh xạ từ không gian đầu vào vào trong không gian đặc tính Có 4loại kernel: Linear, Polynomial, Radial Basis Function (RBF) và Signmoid [11].

Tuyến tính:

HVTH: Lê Gia Bao Phương -

Trang 33

|19-Da thúc:

K(%,*%;) = (yx¡ +; + r),y >0 (2.11)Radial basis function (RBF):

K(x;,%) = exp (-rllx — % I") > 0 (2.12)Sigmoid:

K(x;,x%;) = tanh(yx;"x +r),y > 0 (2.13)Trong đó y var là các hăng sô.

2.4.3 SVM lề mềm tuyến tínhTrong một SỐ trường hợp việc phân tách không thé được thực hiện một cáchhoàn toàn dù thực hiện phép ánh xa Corinna Cortes và Vladimir N Vapnik đã déxuât thuật toán lễ mêm dé giải quyét bai toán trong trường hợp nay Y tưởng cơ bancủa thuật toán là phân tách hai lớp của dữ liệu huân luyện với một sô sai sô tôithiêu.

Lúc này, mỗi mau x; sẽ được thêm vào một biên sai sô € Các phương trình(2.1) và (2.2) được viết lại:

wx¿+b< —1+‡, uới yị = —1Le +b> +l1_-š, tới y, = +1 (2.14)y¡(wx¡ +b) >1—š, Vx¡,í=1,2, ,K (2.15)

Hai phương pháp pho biến được đề xuất trong SVM là SVM và v-SVM SVM dựa trên giá trị khoảng cách lỗi còn v-SVM thì dựa trên phương án tối thiểusố điểm lỗi

C-Kết quả trong phương pháp C-SVM

Minimize,; = |S(wˆw) + CY! &| (2.16)

Với C là hăng số dương cho trước

HVTH: Lê Gia Bao Phương 20

Trang 34

-Kết quả trong phương pháp v-SVM

- ose 1 T Lol

Minimize; yw,» = E (w'w})— vp + T2=1 bị (2.17)Trong đó v € (0, 1] là ngưỡng giữa lỗi huan luyện và vector hỗ trợ.2.5 Hệ thống nhúng [17]

2.5.1 Hệ điều hành Angstrom

Hệ điều hành Angstrom la mot phién ban Linux cho cac thiét bi nhúng (PDAs,

Beagleboards, Mobile Phones v.v ).Ảngström được phát triển bởi một nhóm làm việc với dự án OpenEmbedded,OpenZaurus và OpenSimpad dé tao ra một phiên bản ôn định và thân thiện đối vớicác thiết bị nhúng như các thiết bị cầm tay, hộp giải mã (set top box), các thiết bịlưu trữ găn với mạng

Việc sử dụng Linux trên thiết bị nhúng đang được quan tâm Người sử dụngcác thiết bị này thường không hài lòng vì chất lượng của hệ điều hành cũng như cácphan mềm kèm theo Hoặc thường do “người hâm mộ” Linux không thích khi sửdụng hệ thống dựa trên UNIX Thuận lợi của hệ thống dựa trên UNIX là sự nỗitiếng Với những lý do đó mà các các phiên bản Linux được dùng cho các thiết bịnhúng.

Cũng như các phiên bản hiện đại, Angstrém được dựa trên các gói đầy đủ(fully package) Tuy nhiên sự tương tác với thiết bị trong khi khởi động giai đoạn

cài đặt thì khó khăn Ảngström được khởi động (bootstrap) sử dụng một “image”,

điều này can thiết để thiết lập các gói đã liên kết với filesystem image Image nàyđược cai đặt băng cách sử dụng các thiết bị cụ thé và cung cấp các chức năng

Ảngström co bản.

Do mục tiêu thực hiện tính linh động cho hệ điều hành cũng như tạo điều kiệntốt nhất cho việc quản lý hệ thống Linux, image của Ảngström chỉ cung cấp các góicốt lõi Điều này cho phép người dùng tùy biến hệ thống theo nhu cau Việc thayđổi được thực hiện dé dàng bằng cách cài thêm các phần mềm, các gói bất kỳ từ

HVTH: Lê Gia Bao Phương 2]

Trang 35

-nguồn cung cấp của Angstrom (Angstrém s feeds) Tuy nhiên để thuận tiện chongười dùng Angstrom cung cấp nhiều tùy biến image, ví dụ các image với các môitrường GUI khác nhau được cài đặt trước.

2.5.2 Hệ thống phần cứng2.5.2.1 Tổng quan về BeagleBoard xM (BBxM)Hiện nay có rât nhiêu sản phầm phân cứng phục vụ cho việc nghiên cứu, ứngdụng và phát triển các hệ thống nhúng (xem chi tiết trên [http://free-electrons.com/community/hardware/boards/]) Ở Việt Nam các sản phẩm phan cứngphục vụ khá tốt cho việc nghiên cứu các ứng dụng nhúng đến từ hãng TexasInstrument (USA) và FriendlyArm (Trung Quốc)

BeagleBoard lần đầu tiên được giới thiệu trong năm 2008 của TexasInstruments Qua một thời gian cải tiễn và phát triển hiện đã có thêm nhiều phiênbản mới trong đó có BBxM.

BeagleBoard (BB) được thiết kế dành cho Cộng đồng mã nguồn mở (OpenSource Community) BB được trang bị một tập hợp các tính năng tối thiểu cho phépngười dùng trải nghiệm sức mạnh của bộ vi xử lý và không có ý định phát triển đầyđủ nền tảng các đặc tính và giao diện được cung cấp bởi bộ vi xử lý không đượctruy nhập từ BB Với việc sử dụng bộ giao diện tiêu chuẩn, BB dé dang mo rong déthêm nhiều tinh tính năng và giao diện Tat cả các thông tin thiết kế là miễn phí va

có thé được sử dụng như là cơ sở cho một sản phẩm

2.5.2.2 Đặc tính của BBxMBBxM cung cấp một CPU ARM-Cortex A8 có thê hoạt động tối đa ở tốc độ1Ghz cùng với bộ nhớ DDRAM công suất thấp 512MB

Kích thước của BBxM khá nhỏ gọn: 3.25" x 3.25" Nó cung cấp khá đây đủcác kết nối của một máy tính mini: USB port, Audio input conector, Audio outputconnector, Svideo connector, DVI-D connector, LCD header

HVTH: Lê Gia Bao Phương

Trang 36

performanceÍ“ Super-sealer ARM®

Cortex ”-A8

* More than 2,000Dhrystone MIPS.* Up to 20 Million

polygons per sec

-graphics: `* HD video capable.

C64x« DSP core

LCD ExpansionfC, IS, SPI,MMC/SD ExpansionDVI-D

USB HostsStereo Out

10/100 Ethernet

“Supports booting from this peripheral

Hình 2.5: BBxM | IS].Bang 2.1 Các đặc tính của BBxM [14]

Feature

Processor Texas Instruments Cortex A§ 1GHz processor

POP Memory Micron 4Gb MDDR SDRAM (512MB) 200MHz

Power Regulators

> CODEC

USB OTG PHY

14-pin JTAG GPIO Pins

Dees Serpent UART 3 LEDs

PCB 3.1" x 3.0" (78.74 x 76.2mm) 6 layersmơ Power, Power Error 2-User Controllable

fadicators PMU USB Power

Mini AB USB connector

HS USB 2.0 OTG Port TPS65950 LE

SMSC LAN9S14 Ethernet HUB

USB Host Ports 4 FS/LS/HS Up to 500ma per Port if adequate

power is supplied

Ethernet 10/100 From USB HUB

net 3.5mm 3.5mm

nuts Ce aod L*R out L+R Stereo In

HVTH: Lê Gia Bao Phương 23

Trang 37

-SD/MMC Connector MicroSDUser Interface 1-User defined button Reset Button

Video DVI-D S-VideoCamera Connector Supports Leopard Imaging Module

Power Connector USB Power DC PowerOvervoltage Protection Shutdown @ Over voltage

Power (SV & 1.8V) UART

Main Expansion McBSP McSPI

Board Power

Beagieboord-xM

Biock DiagramHình 2.6: So đồ hệ thong BBxM [18.]

Chi tiết về so đồ phan cứng va các chi tiết khác có thé xem tai [18]

AVTH: Lê Gia Bảo Phương

Trang 38

-24-CHUONG III: HE THONG NHAN DANG BIEN SO XE

3.1 So đồ khối và nguyên lý hoạt độngHệ thống nhận dạng biển số xe được xây dựng trên cơ sở sử dụng ngôn ngữC++ để viết code chương trình, có kết hợp sử dụng các hàm thuật toán trong thưviện OpenCV 2.3, với trình soạn thảo là QtCreator trên hệ điều hành Linux Ubuntu

124.Hệ thống được thiết kế theo sơ đồ khối được minh họa trong hình 3.1 Trongđó, các khối cơ bản và quan trọng nhất của hệ thông là ba khối: phát hiện biển số;tách ký tự; và nhận dạng ký tự Đây cũng chính là ba bài toán quan trọng nhất cầngiải quyết trong các hệ thống nhận dạng biến số xe

Thu nhận ảnh

Phát hiện biênSỐ

Tách ký tự

Nhận dạng kýtự

Hiền thị

Hình 3.1: Sơ đồ khối hệ thông nhán dạng biển số xe

HVTH: Lê Gia Bao Phương 25

Trang 39

-Khối thu nhận anh có vai trò thu nhận ảnh để làm dữ liệu đầu vào cho khốiphát hiện biến số, ngõ ra của khối này sẽ là ảnh màu có kích thước 640x480 pixel.

Tại khối phát hiện biến số, ảnh sẽ được đưa qua một số thuật toán xử lý dé tìmvà phát hiện chính xác vị trí của biển số xe trong ảnh Ngõ ra của khối này sẽ là mộtảnh màu có kích thước băng vùng chứa biến số xe phát hiện được Anh này sẽ đượcđưa vào khối tách ký tự, đồng thời cũng được lưu lại dé hiển thị về sau

Khối tách ký tự sẽ xử lý và lọc tách từng ký tự trên biển số Các ký tự táchđược là các ảnh nhị phan, có kích thước là 30x16 pixel, và được lưu vào một vectordé đưa vào khối nhận dạng ký tự Ngoài ra, các ký tự này cũng được biểu diễn trênmột ảnh nền den dé hiển thị về sau

Nhiệm vụ của khối nhận dạng ký tự là trích đặc trưng nhị phân các ký tự táchđược từ khối tách ký tự và nhận dạng đúng chúng dựa trên các file huấn luyện theomô hình nhận dạng SVM được cung cấp bởi bộ huấn luyện Kết quả nhận dạng sẽđược lưu lại và đưa vào khối hién thị để hiến thị trên giao diện Đồng thời, khối hiểnthị cũng sẽ hiền thị trên giao diện các kết quả ảnh biến số phát hiện được va ảnh cácký tự tách được đã có trước đó.

Chi tiết về các giải thuật thực hiện các khối chức năng này sẽ được trình bàycụ thể trong các phân tiếp theo

3.2 Quá trình thu nhận ảnh [17]Ảnh đầu vào được thu nhận qua camera với lần lượt từng khung ảnh với chukỳ lẫy từng khung là 42ms (24 khung/giây)

Cac hàm được su dụng cho quá trình nay là CvCaptureFromCAM vàCvQueryFrame được thực hiện trong một timer 42ms.

Giải thuật được thực hiện như sau:+ Khởi động camera với hàm CvcaptureFromCAM+ Khởi động Timer với thời gian 42 ms

+ Lay từng khung ảnh theo timer với hàm CvQueryFrame

HVTH: Lê Gia Bao Phương 26

Trang 40

-Lưu đồ giải thuật quá trình thu nhận ảnh được thé hiện như hình 3.2

Hình 3.2: Quá trình thu nhận anh [17].3.3 Phát hiện biến số

Nhiệm vụ của bước này là phát hiện biên sô xe và tách biên sô xe từ ảnh thuđược của khôi thu nhận ảnh Quá trình thực hiện của bước này được minh họa nhưtrên hình 3.3.

HVTH: Lê Gia Bao Phương 27

Ngày đăng: 24/09/2024, 07:02

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

TÀI LIỆU LIÊN QUAN