ĐỒ ÁN 3
XỬ LÝ ẢNH NHẬN DIỆN BIỂN
SỐ XE
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ.......................................................................................VII
CHƯƠNG 1. GIƠI THIÊU CHƯƠNG TRÌNH..............................................................1
1.1 KHÁI QUÁT CHƯƠNG TRÌNH..................................................................................1
1.2 SƠ ĐỒ QUÁ TRÌNH NHẬN DẠNG............................................................................1
CHƯƠNG 2. CÁC LOẠI ẢNH VÀ PHƯƠNG PHÁP XỬ LÝ ẢNH............................3
2.1 CÁC LOẠI ẢNH TRONG MATLAB...........................................................................3
2.1.1 Ảnh Grayscale........................................................................................................3
2.1.2 Ảnh nhị phân..........................................................................................................3
2.1.3 Ảnh RGB................................................................................................................3
2.2 CÁC PHƯƠNG PHÁP XỬ LÍ ẢNH SỐ.......................................................................4
2.2.1 Chuyển ảnh màu RGB thành ảnh mức xám...........................................................4
2.2.2 Phương pháp phân vùng ảnh.................................................................................5
2.3 CÁC PHƯƠNG PHÁP NHẬN DẠNG TRUYỀN THỐNG.........................................6
CHƯƠNG 3.CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ............................................8
3.1 KHÁI QUÁT CHƯƠNG TRÌNH..................................................................................8
3.2 TRÍCH VÙNG BIỂN SỐ...............................................................................................9
3.3 CHỈNH KÍCH THƯỚC...............................................................................................11
3.4 PHÂN ĐOẠN KÍ TỰ..................................................................................................13
3.5 CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ..............................................................15
3.5.1 Tạo các mẫu.........................................................................................................15
3.5.2 Tiến hành nhận dạng các ký tự............................................................................16
CHƯƠNG 4. KẾT QUẢ MÔ PHỎNG..........................................................................17
4.1 GIAO DIỆN CHƯƠNG TRÌNH.................................................................................17
4.2 KẾT QUẢ NHẬN DẠNG...........................................................................................18
CHƯƠNG 5. ƯU ĐIỂM VÀ NHƯỢC ĐIỂM................................................................19
5.1 ƯU ĐIỂM CHƯƠNG TRÌNH.....................................................................................19
5.2 NHƯỢC ĐIỂM CHƯƠNG TRÌNH............................................................................19
5.3 HƯỚNG PHÁT TRIỂN CHƯƠNG TRÌNH...............................................................19
TÀI LIỆU THAM KHẢO...............................................................................................20
DANH MỤC CÁC
HÌNH 1.1: SƠ ĐỒ QUÁ TRÌNH NHẬN DẠNG................................................................1
YHÌNH 2.1: HÌNH ẢNH NHỊ PHÂN.................................................................................3
YHÌNH 2.2: HÌNH ẢNH RGB............................................................................................4
YHÌNH 2.3: ẢNH MỨC XÁM...........................................................................................5
HÌNH 2.4: GÁN NHÃN ĐỐI TƯỢNG...............................................................................6
HÌNH 3.1: LƯU ĐỒ GIẢI THUẬT NHẬN DẠNG BIỂN SỐ XE....................................9
HÌNH 3.2: LƯU ĐỒ GIẢI THUẬT CẮT BIỂN SỐ XE...................................................10
HÌNH 3.3: LƯU ĐỒ GIẢI THUẬT PHÂN ĐOẠN KÝ TỰ.............................................14
HÌNH 4.1: GIAO DIỆN CHƯƠNG TRÌNH TRÊN GUIDE.............................................17
HÌNH 4.2: KẾT QUẢ NHẬN DẠNG............................................................................18Y
ĐỒ ÁN 3
Trang 1/20
CHƯƠNG 1.
GIỚI THIỆU ĐỀ TÀI
1.1 Khái quát dề tài
Xử lý và nhận dạng ảnh là một khoa học còn tương đối mới so với nhiều ngành
khoa học khác, một trong những lĩnh vực từ lâu được nhiều người quan tâm. Nó
liên quan đến nhiều ngành khoa học khác như hệ thống thông tin, lý thuyết thông
tin, lý thuyết thống kê, nhận dạng,... dùng để nhận dạng các ký tự, chữ số, mặt
người, vân tay....
Trong đề tài này,em sẽ làm phần nhận diện biển số xe để giúp cho việc quản lí các
bãi giữ xe hoặc giúp phát hiện xe bị đánh cắp,…
1.2 Sơ đồ quá trình nhận dạng
THU NHẬN
TÁCH BIỂN
CHỈNH KÍCH
ẢNH
SỐ
THƯỚC ẢNH
KẾT QUẢ
NHẬN DẠNG KÍ
PHÂN ĐOẠN
NHẬN DẠNG
TỰ
KÍ TỰ
Hình 1.1 : Sơ đồ quá trình nhận dạng
Thu nhận ảnh: ảnh được chụp từ camera được đưa vào máy tính làm cơ sở dữ
liệu.Ảnh là tín hiệu tương tự
Tách biển số: khối này có chức năng tách biển số từ ảnh chụp bằng các phương
pháp xử lí ảnh.
Chỉnh kích thước: chỉnh kích thước ảnh khi cắt biển số,sao cho phù hợp với việc
phân đoạn và nhận dạng kí tự
Phân đoạn kí tự: khối này thực hiện chức năng tách từng kí tự có trong biển số
phục vụ việc nhận dạng kí tự.Ảnh của mỗi kí tự là ảnh trắng đen
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 2/20
Nhận dạng kí tự : sau khi phân đoạn kí tự trong biển số và tạo thành chuỗi kí
tự.Chuỗi này được đưa vào khối nhận dạng để tiến hành nhận dạng kí tự trong chuỗi
Kết quả nhận dạng: sau khi nhận dạng các kí tự trong biển số xe ta sẽ xuất kết
quả nhận dạng qua khối kết quả nhận dạng
CHƯƠNG 2.
CÁC LOẠI ẢNH VÀ PHƯƠNG PHÁP XỬ LÝ ẢNH
1.3 Các loại ảnh trong matlab
1.1.1 Ảnh Grayscale
Mỗi ảnh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi phần tử
cho biết độ sáng (hay mức xám) của điểm ảnh đó.Ma trận này có thể một trong các
kiểu uint8,uint16 hoặc double.Ảnh biểu diễn theo kiểu này còn gọi là ảnh “trắng
đen”.
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 3/20
1.1.2 Ảnh nhị phân
Ảnh được biểu diễn bởi một ma trận hai chiều thuộc kiểu logical.Mỗi điểm ảnh chỉ
có thể nhận một trong hai giá trị là 0 (đen) hoặc 1 (trắng)
Hình 2.1: Hình ảnh nhị phân
1.1.3 Ảnh RGB (Red-Green-Blue)
Còn gọi là ảnh “truecolor” do tính trung thực của nó.Ảnh này được biểu diễn bởi
một ma trận ba chiều kích thước m x n x 3,với m x n là kích thước ảnh theo
pixels.Ma trận này định nghĩa các thành phần màu red,green,blue cho mỗi điểm
ảnh,các phần tử của nó có thể thuộc kiểu uint8,uint16 hoặc double.
Hình 2.2: Hình ảnh RGB
1.4 Các phương pháp xử lý ảnh số
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 4/20
1.1.4 Chuyển ảnh màu RGB thành ảnh mức xám (Gray Level)
Ảnh gốc thường là ảnh màu 24 bit màu nên khó nhận dạng ta cần phải chuyển về
ảnh xám dữ liệu 8 bit để dễ nhận dạng hơn.Để thực hiện yêu cầu trên,ta sử dụng
công thức sau đây,áp dụng cho từng điểm ảnh [x,y]:
X= 0,299*Red + 0,587*Green + 0,114*Blue
Mỗi giá trị X hay còn gọi là cường độ sáng trong ảnh đa mức xám tính được là tổng
trọng số khác nhau của mỗi thành phần màu trong hệ màu RGB(Red-Green-Blue)
Quá trình chuyển đổi mức xám tuy có làm mất đi một số thông tin nhưng cũng có
thể chấp nhận được.
Hình 2.3: Ảnh mức xám
1.1.5 Phương pháp phân vùng ảnh
Có thể hiểu phân vùng là tiến trình chia ảnh thành nhiều vùng, mỗi vùng chứa một
đối tượng hay nhóm đối tượng cùng kiểu.Ta có một số phương pháp phân vùng ảnh
như sau:
Thuật toán gán nhãn thành phần liên thông:
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 5/20
Kỹ thuật này gán cho mỗi thành phân liên thông của ảnh nhị phân một nhãn riêng
biệt. Nhãn thường là các số tự nhiên bắt đầu từ một đến tổng số các thành phần liên
thông có trong ảnh. Giải thuật quét ảnh từ trái sang phải và từ trên xuống dưới.
Ảnh được nhận về là ảnh nhị phân, trong đó có nhiều đối tượng khác nhau ta tiến
hành chọn ra đối tượng nào là đối tượng ta muốn chọn.Dựa vào thuật toán gắn nhãn
liên tiếp các đối tượng, cụ thể như sau:
Thuật toán phân vùng ảnh dựa trên kỹ thuật đánh nhãn liên tiếp.
_Mặt nạ ảnh với 4 điểm lân cận.
_Mặt nạ ảnh với 8 điểm lân cận.
_Mặt nạ với 4 điểm lân cận và 8 điểm lân cận.
Quy ước khi quét ảnh:
Nếu điểm ảnh có giá trị là 0 thì gọi là điểm ảnh nền.
Nếu điểm ảnh có giá trị là 1 thì gọi là điểm ảnh nổi.
Ta chỉ đánh nhãn các điểm ảnh nổi.
Quá trình đánh nhãn ảnh được thực hiện theo các bước sau:
Bước 1: Tiến hành quét lần lượt tất cả các điểm ảnh từ trái sang phải, từ trên xuống
dưới. Nếu gặp điểm ảnh nền thì bỏ qua, nếu gặp điểm ảnh nổi thì tiến hành đánh
nhãn. Trước khi đánh nhãn cho mỗi điểm ảnh nổi, ta cần quan tâm đến giá trị của
điểm ảnh phía trên và điểm ảnh bên trái của điểm ảnh ta đang xét. Nếu các điểm
ảnh này đã được đánh nhãn thì điểm ảnh đang xét được đánh nhãn trùng với điểm
ảnh trên hoặc điểm ảnh bên trái đó. Nếu các điểm ảnh bên trên và điểm ảnh bên trái
là các điểm ảnh nền thì ta đánh nhãn mới cho điểm ảnh đang xét.
Bước 2: Sau khi đánh nhãn tất cả các điểm ảnh nổi, ta cần nhóm các điểm ảnh ở
gần nhau nhưng lại được đánh nhãn khác nhau lại với nhau.
Bước 3: Thực hiện quét lại và đánh nhãn mới cho các nhóm điểm ảnh vừa được
nhóm lại ở trên.
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 6/20
Hình 2.4: Gán nhãn dối tượng
1.5 Các phương pháp nhận dạng truyền thống
Hệ nhận dạng kí tự ( gọi tắt là OCR - Optical Character Recognition ),nhận dạng kí
tự bằng quang học.Đây là công nghệ được áp dụng để nhận dạng ký tự trên một
định dạng file hình và chuyển nó thành định dạng file text.Nhiều hệ thống nhận
dạng đã làm việc khá tốt,nhưng xét tổng thể thì vẫn còn khoảng cách khá lớn giữa
tính năng của các hệ nhận dạng và đòi hỏi thực tế.
Có nhiều phương pháp nhận dạng, nhưng nói chung được quy về 2 kiểu: nhận dạng
theo mẫu ( template-base ) và nhận dạng theo tính chất ( feature - base).
Phương pháp nhận dạng theo mẫu là so sánh với các mẫu chữ lưu sẵn.
Nhận dạng theo tính chất thì quy ô mực thành các tính chất quy định cách
thức viết nên con chữ.
Phương pháp nhận dạng theo mẫu thuộc loại cổ điển quy mỗi ô mực thành một ma
trận điểm 10 x 10. Các con chữ có thể có kích cỡ khác nhau nhưng đều quy thành
ma trận 10 x 10 và so sánh với mẫu để chọn mẫu gần nhất. Có nhiều cách thức so
sánh, chẳng hạn thông qua số lượng điểm khác biệt. Tuy nhiên do sự khác biệt giữa
các font chữ nhiều khi còn lớn hơn sự khác biệt giữa các con chữ cùng font ( chẳng
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 7/20
hạn chữ b và chữ h - 2 chữ này trong cùng một font còn có vẻ gần nhau hơn so với
cùng chữ trong font ), vì vậy thông thường các mẫu được phân theo font. Sau khi xử
lý một vài từ, hệ thống tự động xác định các con chữ hay dùng và định font cho
thích hợp.
Nhận dạng theo tính chất, trong hệ có 100 “ hệ chuyên gia” khác nhau, thực chất là
các thuật toán nhận dạng 100 con chữ ( từ A.. Z, a.. z, số, các dấu ). Các con chữ
được nhận dạng theo các tính chất như gạch nghiêng, đứng, nghiêng, điểm uốn,
phản xạ, chiều dài và hướng các dấu gạch. Hệ chuyên gia còn xem xét hình chiếu
dọc, ngang ( cộng với các điểm đen theo hàng/cột ) để xác định thêm các tham số
khác. Kiểu nhận dạng này dựa trên tư duy quen thuộc sau: chẳng hạn chữ t gồm một
đường thẳng đứng cắt một vạch ngang, có thể có thêm các gạch chân. Nếu nhận
dạng theo mẫu phải lưu tất cả các mẫu khác nhau ( hệ ExperVision chứa tới 2100
loại chữ ). Hệ OmniPage sẽ chỉ cho máy tính cách “đọc” từng con chữ, ví dụ chữ k
gồm một vạch đứng và hai vạch chéo, còn các tham số khác chỉ là tham số phụ.
CHƯƠNG 3.
CHƯƠNG TRÌNH NHẬN DẠNG BIỂN SỐ XE
1.6 Khái quát chương trình
Mục đích của đề tài là xây dựng một chương trình đọc biển số xe tại một vị trí cố
định, ví dụ như ở lối vào của khu vực bãi đậu xe. Hệ thống xây dựng dựa vào một
máy tính PC thông thường có giao tiếp với một máy ghi hình (camera hay webcam)
nhằm đáp ứng trạng thái thực chụp lấy ảnh, hay một ảnh được chụp từ máy ảnh, để
tạo một ảnh ( ảnh gốc) được đưa vào máy tính PC. Từ những hình ảnh thu được có
chứa biển số xe thì phần mền sẽ xử lý nhận dạng và kết quả đưa ra biển số xe. Một
khi biển số xe được phát hiện (nhận dạng), các chữ số của nó được đọc và xuất ra
trên giao diện người dùng và đối chiếu lại với cơ sở dữ liệu.
Đối với xe 2 bánh ( xe gắn máy) biển số có 8 hoặc 9 kí tự và chia làm 2 hàng.Hàng
trên có 4 kí tự và hàng dưới có 4 hoặc 5 kí tự,theo qui định nhà nước hiện hành
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 8/20
Lưu đồ giải thuật chương trình nhận dạng biển số xe:
BẮT ĐẦU
THU ẢNH
TRÍCH VÙNG BIỂN
PHÂN ĐOẠN KÍ TỰ
SỐ
CHỈNH KÍCH
THƯỚC ẢNH
NHẬN DẠNG KÍ
TỰ
NHỊ PHÂN ẢNH
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 9/20
KẾT THÚC
Hình 3.1:Lưu đồ giải thuật chương trình nhận dạng biển số xe
1.7 Trích vùng biển số
Tách biển số là một bước rất quan trọng trong quá trình nhận dạng biển số xe.Khối
tách biển số xe được chia thành 2 gia đoạn chính:
Gia đoạn 1: xác định vị trí biển số xe trong ảnh
Gia đoạn 2: dùng các giả thuật để cắt biển số xe ra khỏi ảnh
Lưu đồ giải thuật trích vùng biển số xe:
CHUYỂN THÀNH
ẢNH XÁM
XÁC ĐỊNH KHOẢNG
CỘNG TRỪ
XÁC ĐỊNH VÙNG
TRẮNG Ở GIỮA ẢNH
XÁC ĐỊNH BIỂN SỐ
NHỎ
GÁN NHÃN ĐỐI
TƯỢNG
KHỞI TẠO NGƯỠNG
XÁC ĐỊNH VÙNG
BIỂN SỐ Ở GIỮA
ẢNH
XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE
SVTH: Phạm Trọng Phước
ĐỒ ÁN 3
Trang 10/20
NHỊ PHÂN ẢNH
XÁC ĐỊNH HÌNH
CHỮ NHẬT BAO
QUANH
LOẠI BỎ ĐỐI TƯỢNG
NHỎ
CẮT BIỂN SỐ XE
Hình 3.2:Lưu đồ giải thuật cắt biển số
Ảnh chụp được thường là ảnh màu, vậy ngõ ra của khối ảnh gốc sẽ là ảnh màu
(RGB).Sau đó ta sẽ chuyển thành ảnh xám sẽ giúp cho ta dễ dàng nhận dạng vùng
biển số.Ta sẽ đi xác định tâm của ảnh sau khi đã được chuyển thành ảnh xám,để ta
sẽ xác định được khoảng cộng trừ thỏa mãn theo hàng và theo cột theo tâm
ảnh.Việc xác định hai khoảng này sẽ giúp ta xác định được điều kiện để nhận biết
được biển số xe ở giữa bức hình.Sau đó chúng ta sẽ đi tìm khích thước của biển số
nhỏ nhất mà chương trình có thể nhận dạng được.Kế tiếp là chúng ta sẽ xác định
ngưỡng xám,việc xác định ngưỡng xám rất quan trọng nó quyết định đến khả năng
chọn đúng vùng biển số.Và ngưỡng xám này sẽ giúp ta chuyển từ ảnh xám về ảnh
nhị phân khi ta đặt một ngưỡng thích hợp để so sánh.Mức xám của ảnh sẽ được
dùng để so sánh với giá trị ngưỡng này.Biểu thức:
0
nếu
u
- Xem thêm -