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

Nhận dạng ký tự in hoa tiếng việt

55 537 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 55
Dung lượng 1,16 MB
File đính kèm Source_code.rar (5 MB)

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

Nội dung

Nhận dạng chữ in nói chung và nhận dạng chữ in tiếng Việt nói riêng đã và đang là bài toán thu hút được nhiều sự quan tâm và nghiên cứu. Vì vậy đồ án này em xin tìm hiểu một phần trong mảng này.Bài toán nhận dạng chữ in Tiếng Việt gồm ba công đoạn chủ yếu: Phân đoạn ảnh thành các kí tự, Nhận dạng kí tự và hậu xử lý.Với bài toán nhận dạng chữ in tiếng Việt có sự khó khăn do hệ thống có dấu mũ của các kí tự, làm tăng số kí tự cần nhận dạng, cũng như khó khăn trong việc nhận dạng kí tự vì các kí tự có đặc điểm khá giống nhau, đồng thời tăng khả năng giao nhau giữa các dòng. Để giải quyết vấn đề này, trong đồ án này, tôi sử dụng phương pháp tách dòng dựa vào khoảng trắng.Đồ án gồm có 5 chương với bố cục như sau:Chương 1: Giới thiệu.Chương 2: Cơ sở lý thuyết cho phân đoạn ảnh và thuật toán nhận dạng kí tự.Chương 3: Phân đoạn ảnh cho nhận dạng kí tự.Chương 4: Bộ nhận dạng kí tựChương 5: Thực nghiệm

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan đồ án tốt nghiệp “Nhận dạng kí tự chữ in hoa Tiếng Việt”

là công trình nghiên cứu của bản thân Các số liệu, kết quả nghiên cứ nêu trong đồ

án này là trung thực và không sao chép y nguyên từ các công trình khác Tôi xin

chịu trách nhiệm về đồ án của mình

Đà Nẵng, tháng 5/2014 Người viết

Trang 2

MỤC LỤC

LỜI CAM ĐOAN 1

MỤC LỤC 2

DANH MỤC HÌNH VẼ 6

DANH MỤC BẢNG BIỂU 7

DANH MỤC TỪ VIẾT TẮT 8

Mở đầu 9

Chương 1 10

GIỚI THIỆU 10

1.1 Đặt vấn đề 10

1.2 Nội dung nghiên cứu của đồ án 12

1.3 Một số ứng dụng của nhận dạng kí tự 12

1.4 Kết luận chương 13

CHƯƠNG 2 14

CƠ SỞ LÝ THUYẾT CHO PHÂN ĐOẠN ẢNH VÀ THUẬT TOÁN NHẬN DẠNG KÍ TỰ 14

2.1 Giới thiệu chương 14

2.2 Không gian màu RGB 14

2.3 Cơ bản về xử lý ảnh 15

2.3.1 Điểm ảnh 15

2.3.2 Độ phân giải ảnh 15

2.3.3 Mức xám của ảnh 16

2.3.4 Các hàm hiển thị ảnh trong Matlab 16

Trang 3

2.4 Cơ sở lý thuyết cho phân đoạn ảnh 19

2.4.1 Nhị phân hóa 19

2.4.2 Xử lý triệt nhiễu và nâng cao chất lượng ảnh 20

2.4.3 Chuẩn hóa kích thước ảnh 21

2.5 Phương pháp nhận dạng kí tự 22

2.5.1 Đối sánh mẫu 22

2.5.2 Đánh giá, so sánh phương pháp đôi sánh mẫu với các phương pháp khác 23

2.6 Kĩ thuật PCA 24

2.6.1 Giới thiệu 24

2.6.2 Một số khái niệm toán học sử dụng trong PCA 25

2.6.3 Thuật toán PCA 27

2.7 Kết luận chương 28

CHƯƠNG 3: 29

PHÂN ĐOẠN ẢNH CHO NHẬN DẠNG VĂN BẢN 29

3.1 Giới thiệu chương 29

3.2 Tiền xử lý ảnh 29

3.3 Tách dòng 29

3.3.1 Ý tưởng 29

3.3.2 Ưu nhược điểm của phương pháp 30

3.3.3 Thuật toán 30

3.4 Tách từ 31

3.4.1 Ý tưởng 31

3.4.2 Thuật toán 32

3.5 Tách kí tự 32

Trang 4

3.5.1 Ý tưởng 33

3.5.2 Thuật toán 33

3.6 Xác định giới hạn chính xác cho từng kí tự 33

3.6.1 Xác định giới hạn trên và giới hạn dưới của kí tự 33

3.6.2 Xác định giới hạn phải và giới hạn trái của kí tự 34

3.7 Ánh xạ kí tự ảnh vào ma trận giá trị 34

3.7.1 Chuẩn hóa kích thước từng kí tự 34

3.7.2 Chuyển ma trận lưới pixel thành ma trận giá trị 35

3.8 Kết luân chương 35

Chương 4: 37

BỘ NHẬN DẠNG KÍ TỰ 37

4.1 Giới thiệu chương 37

4.2 Thuật toán PCA được sử dụng cho nhận dạng kí tự 37

4.3 Các bước để nhận dạng văn bản kí tự 39

4.4 Kết luận chương 41

Chương 5 42

THỰC NGHIỆM ĐÁNH GIÁ KẾT QUẢ CHƯƠNG TRINH NHẬN DẠNG KÍ TỰ CHỮ IN HOA TIẾNG VIỆT 42

5.1 Giới thiệu 42

5.2 Môi trường thực nghiệm 42

5.3 Thực nghiệm với bộ phân đoạn ảnh 42

5.3.1 Tách dòng 43

5.3.2 Tách từ 43

5.3.3 Tách kí tự 44

Trang 5

5.5 Thực nghiệm với chương trình nhận dạng văn bản 46

5.6 Kết luận chương 48

Kết luận và Hướng phát triển đề tài 49

Tài liệu tham khảo 50

PHỤ LỤC 51

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1 Sơ đồ khối hệ nhận dạng văn bản Tiếng Việt 11

Hình 2.1 Không gian màu RGB 15

Hình 2.2 ví dụ chuyển ảnh RGB sang ảnh đa mức xám và sau đó là ảnh nhị phân 19 Hinh 2.3 Ví dụ về nhiễu đốm 20

Hình 2.4 Ảnh sau khi áp dụng lọc trung vị 21

Hình 2.5 Kí tự A sau khi được chuẩn hóa với kích thước 15x10 21

Hình 2.6 Minh họa PCA :phép chiếu lên các trục tọa độ khác nhau có thể cho cùng cách nhìn rất khác nhau về cùng một dữ liệu 24

Hình 2.7 Minh họa PCA : tìm cá trụ tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất 25

Hình 2.8 Các bước chính thực hiện PCA 27

Hình 3.1 Mô phỏng kết quả tách dòng 31

Hình 3.2 Ví dụ cho thuật toán tách từ 32

Hình 3.3 Mô tả vị trí của các vết cắt của kí tự 33

Hình 3.4 Mô tả giới hạn trên và giới hạn dưới của kí tự 34

Hình 4.2 Các bước thực hiện nhận dạng kí tự 40

Hình 5.1 Minh họa cho quá trình tách dòng 43

Hình 5.2 Ảnh các mẫu kí tự in hoa Tiếng Việt font chữ Arial 45

Hình 5.3 Ví dụ ảnh văn bản 1 để nhận dạng 46

Hinh 5.4 Văn bản sau khi nhận dạng xong 46

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 2.1 Các hàm xử lý hình ảnh khác trong Matlab 17

Bảng 2.2 Các phương pháp nội suy 22

Bảng 5.1 Kết quả thực nghiệm tách dòng 43

Bảng 5.2 Kết quả thực nghiệm tách từ 44

Bảng 5.3 Kết quả thực nghiệm nhận dạng kí tự 47

Trang 8

DANH MỤC TỪ VIẾT TẮT

ORC: Optical Character Recognition

PCA: Principal Component Analysis

RGB: red-green-blue

PEL: Picture Element

SVM: support vector machine

Trang 9

Mở đầu

Nhận dạng chữ in nói chung và nhận dạng chữ in tiếng Việt nói riêng đã vàđang là bài toán thu hút được nhiều sự quan tâm và nghiên cứu Vì vậy đồ án này

em xin tìm hiểu một phần trong mảng này

Bài toán nhận dạng chữ in Tiếng Việt gồm ba công đoạn chủ yếu: Phân đoạnảnh thành các kí tự, Nhận dạng kí tự và hậu xử lý

Với bài toán nhận dạng chữ in tiếng Việt có sự khó khăn do hệ thống có dấu

mũ của các kí tự, làm tăng số kí tự cần nhận dạng, cũng như khó khăn trong việcnhận dạng kí tự vì các kí tự có đặc điểm khá giống nhau, đồng thời tăng khả nănggiao nhau giữa các dòng Để giải quyết vấn đề này, trong đồ án này, tôi sử dụngphương pháp tách dòng dựa vào khoảng trắng

Đồ án gồm có 5 chương với bố cục như sau:

 Chương 1: Giới thiệu

 Chương 2: Cơ sở lý thuyết cho phân đoạn ảnh và thuật toán nhận dạng kí tự

 Chương 3: Phân đoạn ảnh cho nhận dạng kí tự

 Chương 4: Bộ nhận dạng kí tự

 Chương 5: Thực nghiệm

Em xin chân thành cảm ơn cô Bùi Thị Minh Tú đã tận tình hướng dẫn, cungcấp tài liệu đồng thời động viên trong thời gian em nghiên cứu và hoàn thành đồ ánnày

Trong thời gian thực hiện đồ án, mặc dù có nhiều cố gắng nhưng đồ ánkhông thể tránh khỏi những thiếu sót Kính mong các thầy cô tận tình chỉ bảo vàgóp ý để đồ án hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 10

Chương 1

GIỚI THIỆU1.1 Đặt vấn đề

Nhận dạng kí tự quang học (ORC-Optical Character Recognition) là một bàitoán chuyển các hình ảnh của chữ viết tay hoặc đánh máy (thường được quét bằngmáy scanner) thành các văn bản tài liệu Do bài toán vẫn còn nhiều vấn đề chưa giảiquyết một cách triệt để, như vấn đề về tốc độ xử lý, độ chính xác Và vì vậy vẫnnhận được nhiều sự quan tâm nghiên cứu, đặc biệt là cho Tiếng Việt Nhận dạngvăn bản được áp dụng trong quá trình tự động hóa các công việc văn phòng nhưnhập liệu, lưu trữ văn bản, sách báo, phân loại thư tín,…, những công việc đòi hỏithời gian của con người

Hiện nay cũng có rất nhiều bài báo đề cập đến bài toán nhận dạng kí tựquang học, nhằm cải tiến các phương pháp phân đoạn ảnh, nhận dạng Song vẫnchưa giải quyết một cách triệt để những vấn đề khó khăn của bài toán thường gặpphải Đặc biệt là đối với việc nhận dạng các kí tự Tiếng Việt, gặp rất nhiều khókhăn, do tính riêng biệt của Tiếng Việt: số kí tự nhiều, các kí tự lại có dấu… Nênbài toán vẫn còn thu hút được sự quan tâm, nghiên cứu nhằm giải quyết những khókhăn đó

Một số hệ nhận dạng văn bản đã và đang được áp dụng rất nhiều vào ứngdụng như FineReader của hãng AABBYY, OmmiPage của hãng ScanSoft đượcdùng để nhận dạng các văn bản tiếng Anh… VNDOCR của Viện công nghệ thôngtin cho các văn bản tiếng Việt

Bài toán nhận dạng văn bản được thực hiện qua ba giai đoạn chính: phânđoạn ảnh, nhận dạng từ và hậu xử lý Trong đồ án này tôi xin đi sâu vào nghiên cứucông đoạn nhận dạng từ Bên cạnh đó kết hợp với phân đoạn ảnh để xây dựng thànhmột hệ thống nhận dạng văn bản hoàn thiện Bài toán mà chúng tôi đang nghiên cứuđược thực hiện qua các giai đoạn như mô tả trong hình sau

Trang 11

Hình 1.1 Sơ đồ khối hệ nhận dạng văn bản Tiếng Việt.

Đầu vào của hệ thống nhận dạng của chúng ta là một hình ảnh scan từ mộtvăn bản tiếng Việt Đầu ra là một bản đã được nhận dạng, văn bản này có thể chỉnhsửa Để xử lý được điều này hệ thống nhận dạng của chúng ta sẽ trải qua giai đoạnsau đây:

1 Phân đoạn ảnh: Giai đoạn này có nhiệm vụ loại bỏ nhiễu nhằm nâng cao chấtlượng hình ảnh đầu vào Sau đó thực hiện việc tách đoạn, tách dòng, tách từ, tách kítự

2 Bộ nhận dạng kí tự: Đầu vào của giai đoạn này là ảnh của một kí tự, đầu ra là kí

tự nhận dạng được Thông thường trong phần này sử dụng một thuật toán học máyhoặc một bộ đối sánh mẫu

3 Bộ hậu xử lý: Tổng hợp các kí tự nhận dạng được và hiển thị lên cho người dùng.Đồng thời trong phần này có nhiều nghiên cứu và hệ thống đưa nhiệm vụ điều chỉnhnhận dạng sai dùng từ điển hoặc mô hình ngôn ngữ

Văn bản sau khi scan

Văn bản được nhận dạng

Phân đoạn ảnh

Bộ nhận dạng

Bộ hậu xử lý

Trang 12

Từ sơ đồ hình 1.1 chúng ta cũng thấy rằng để xây dựng được hệ thống nhậndạng thì có hai công đoạn quan trọng nhất: Phân đoạn ảnh và Xây dựng bộ nhận

dạng kí tự Trong đồ án này tôi đi vào nghiên cứu bộ nhận dạng kí tự và một sốkhâu trong bộ phân đoạn ảnh

1.2 Nội dung nghiên cứu của đồ án

Bài toán thực hiện trong đồ án này là bài toán nhận dạng chữ in tiếng Việtứng dụng trong quá trình tự động hóa các công việc văn phòng Bài toán này gồm 3công đoạn chủ yếu Nhưng trong khoá luận này tập trung chủ yếu vào 2 công đoạnchủ yếu là phân đoạn ảnh và nhận dạng kí tự Đồng thời cũng nghiên cứu lý thuyết

cơ bản về các hệ nhận dạng đã được xây dựng và phát triển Tách dòng, tách từ,tách ký tự là ba nội dung quan trọng của quá trình phân đoạn ảnh Độ chính xác củamỗi giai đoạn có thể làm ảnh hưởng đến độ chính xác của giai đoạn khác, cũng nhưcủa toàn bộ hệ thống Chúng tôi nghiên cứu đánh giá một số phương pháp được sửdụng để thực hiện các nội dung đó, và áp dụng nó vào bài toán nhận dạng văn bảnchữ in tiếng Việt.Trong giai đoạn nhận dang kí tự, trong đồ án này tôi đề xuất sửdụng thuật toán PCA

1.3 Một số ứng dụng của nhận dạng kí tự.

Trong an ninh và bảo mật, nhận dạng kí tự quang học được áp dụng vào nhậndạng biển số xe, giúp quá trình lưu trữ cũng như xác nhận thông tin về chiếc xe

mang biển số một cách nhanh chóng Qua đó giúp quản lý các xe lưu thông trong

thành phố một cách cụ thể, hay giúp việc điều tra, phá án của cảnh sát

Trong cục quản lý hàng hải, việc giải quyết các giấy tờ hải quan xuất nhập

khẩu là cả một vấn đề đối với những người quản lý Công việc này tốn rất nhiều

thời gian Áp dụng ứng dụng nhận dạng kí tự vào, giúp việc truy nhập thông tin

xuất nhập khẩu một cách nhanh chóng, ít tốn thời gian và công sức

Nhận dạng các kí tự viết tay đang là chủ đề nóng trong giai đoạn hiện nay

Qua đó tăng thêm khả năng nhập liệu cho các hệ điều hành cũng như các phần mềmkhác Ngoài nhập bằng bàn phím, phím ảo, chuột Bây giờ nhờ vào áp dụng kĩ thuật

Trang 13

Các công việc hành chính được giải quyết nhanh chóng hơn, hiệu quả hơn

nhờ vào áp dụng kĩ thuật nhận dạng kí tự quang học Các giấy tờ cá nhân: chứng

minh nhân dân, giấy khai sinh, giấy tờ nhà đất,… sẽ được nhận dạng để thu thập

thông tin nhanh hơn, chính xác hơn

1.4 Kết luận chương.

Kĩ thuật nhận dạng kí tự quang học đã được phát triển từ khá lâu Song vẫn chưa giải quyết được triệt để các vấn đề để đạt kết quả chính xác cao nhất; nên vẫn được sự quan tâm, chú ý của các nhà khoa học cũng như các công ty

Để tìm hiểu sâu hơn về cơ sở lý thuyết và các kĩ thuật trong nhận dạng kí tự chúng ta sẽ lần lượt đi vào các chương sau:

 Chương 2: Cơ sở lý thuyết cho phân đoạn ảnh và thuật toán nhận dạng kí tự

 Chương 3: Phân đoạn ảnh cho nhận dạng kí tự

 Chương 4: Bộ nhận dạng kí tự

 Chương 5: Thực nghiệm

Trang 14

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT CHO PHÂN ĐOẠN ẢNH VÀ THUẬT TOÁN NHẬN

DẠNG KÍ TỰ 2.1 Giới thiệu chương

Trong chương này, đồ án đề cập đến các vấn đề cơ bản về ảnh và xử lý ảnh

cho bộ phân đoạn ảnh; đồng thời giới thiệu thuật toán nhận dạng cho bộ nhận dạng

kí tự Nội dung chương gồm các phần chính sau:

- Không gian màu RGB

- Cơ bản về xử lý ảnh

- Cơ sở lý thuyết cho phân đoạn ảnh

- Phương pháp nhận dạng kí tự

- Cơ sở lý thuyết của Kĩ thuật PCA

2.2 Không gian màu RGB.

Đầu vào của hệ thống nhận dạng là một ảnh RGB, do được scan hoặc chụp

từ văn bản cần nhận dạng Nhưng phân đoạn ảnh và nhận dạng kí tự thì thực hiệnhoàn toàn trên ảnh nhị phân Đồng thời kết hợp với một số phương pháp để xử lýtheo những yêu cầu công việc

Chuẩn RBG là chuẩn màu cơ bản đầu tiên và vẫn được sử dụng rộng rãi

trong dữ liêu ảnh và video Chuẩn được xây dựng dựa trên ba màu chính cơ bản là:

R (đỏ - red), B(blue – xanh da trời ), G(green – xanh lá cây ), các màu khácđược tạo nên từ ba màu cơ bản Hệ thống màu RGB được xây dựng gồm các thànhphần màu chính mà giác quan con người cảm nhận được Trong ảnh số, mỗi điểmảnh pixel trong không gian RGB thường được tạo nên từ 24 bit Mỗi R, G hoăc Bđược biểu diễn 8 bit

Ảnh RGB 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 3 chiều có kích thước m x n x 3, với m x n là kíchthước ảnh theo pixels Ma trận này định nghĩa các thành phần màu red, green, bluecho mỗi điểm ảnh, các phần tử của nó có thể thuộc kiểu uint8, uint16, hoặc double

Trang 15

Ví dụ, điểm ảnh ở vị trí (10,5) sẽ có ba thành màu được xác định bởi các giátrị (10,5,1), (10,5,2) và (10,5,3) Các file ảnh hiện nay thường sử dụng 8 bit chothành phần màu, nghĩa là mất 24bit cho mỗi điểm ảnh (khoảng 16 triệu màu).

Hình 2.1 : Không gian màu RGB

2.3 Cơ bản về xử lý ảnh [2]

2.3.1 Điểm ảnh.

Ảnh tự nhiên liên tục về không gian và độ sáng (ảnh RGB) Để xử lý bằngmáy tính (số), ảnh cần được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liêntục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mứcxám)

Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người khôngphân biệt được ranh giới giữa chúng Một một điểm như vậy gọi là điểm ảnh (PEL:Picture Element) hay gọi tắt là Pixel Trong khuôn khổ 2 chiều, mỗi pixel ứng với 1cặp tọa độ (x,y)

2.3.2 Độ phân giải ảnh.

Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên mộtảnh số được hiển thị.Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được

Trang 16

chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảngcách thích hợp tạo nên một mật độ phân bố, mật độ đó chính là phân giải và đượcphân bố theo trục x và y trong không gian 2 chiều.

2.3.3 Mức xám của ảnh.

Một điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí (x,y) của điểm ảnh và

độ xám của nó Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thườngdùng trong xử lý ảnh:

- Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị sốtại điểm đó Các thang giá trị mức xám thông thường: 16, 32, 64, 128,256

- Ảnh đen trắng: là ảnh có hai màu đen, trắng với mức xám ở các điểm ảnh

có thể khác nhau

- Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạonên thế giới màu, người ta thường dùng 3 byte để mô tả mức màu

- Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô

tả 2 mức khác nhau Nói cách khác mỗi điểm ảnh chỉ có thể là 0 hoặc 1

2.3.4 Các hàm hiển thị ảnh trong Matlab [6]

Để hiển thị ảnh, Matlab cung cấp 2 hàm cơ bản là image và imagesc Ngoài

ra, trong Image Processing Toolbox cũng có hai hàm hiển thị khác là imview vàimshow

- Hàm image(x,y,c) hiển thị hình ảnh biểu diễn bởi ma trận c kích thước mxnlên hệ trục tọa độ x,y là các véctơ xác định vị trí của các điểm c(1,1) và c(m,n)

- Hàm imagesc có chức năng tương tự hàm image, ngoại trừ việc dữ liệu ảnh

sẽ được co giãn để sử dụng toàn bộ bản đồ màu hiện hành

- Hàm imview cho phép hiển thị ảnh trên của sổ riêng nền Java, gọi là ImageViewer

- Hàm imshow cho phép hiển thị ảnh trên một Figure và tự động thiết lập giátrị các đối tượng image, axes, figure để hiển thị hình ảnh

Trang 17

Các hàm chuyển đổi loại ảnh và kiểu dữ liệu ảnh

dither Tạo ảnh nhị phân hay ảnh RGB

gray2ind Chuyển ảnh trắng đen thành ảnh indexed

grayslice Chuyển ảnh trắng đen thành ảnh indexed bằng lấy ngưỡng

im2bw Chuyển ảnh thành ảnh kiểu dữ liệu nhị phân

im2double Chuyển ảnh thành ảnh kiểu dữ liệu double

im2uint16 Chuyển ảnh thành ảnh kiểu dữ liệu uint16

im2uint8 Chuyển ảnh thành ảnh kiểu dữ liệu uint8

imapprox Xấp xỉ ảnh indexed bằng cách giảm số màu

ind2gray Chuyển ảnh indexed thành ảnh gray scale

ind2rgb Chuyển ảnh indexed thành ảnh RBG

mat2gray Tạo ảnh gray scale từ ma trận

rgb2ind Chuyển ảnh RBG thành ảnh indexed

rgb2gray Chuyển ảnh RBG thành ảnh gray scale

Các hàm truy xuất dữ liệu ảnh

imfinfo Truy xuất thông tin ảnh

imread Đọc ảnh từ file và xuất ra ma trận ảnh

imwrite Lưu ma trận ảnh thành file ảnh

Các hàm biến đổi hình học

cp2tform Định nghĩa phép biến đổi hình học từng cặp tương ứng

imcrop Trích xuất một phần ảnh

imresize Thay đổi kích thước ảnh

imrotate Thực hiện phép quay ảnh

imtranform Thực hiện phép biến đổi hình học tổng quát

maketform Định nghĩa phép biến đổi hình học tổng quát

Bảng 2.1 Các hàm xử lý hình ảnh khác trong Matlab

2.3.5 Các hàm khác được sử dụng trong đề tài [6]

 str=strcat(s1,s2,s3…): ghép các chuỗi lại với nhau, trả về chuỗi nối tiếps1s2s3…

 str=int2str(x): Chuyển đổi số kiểu integer thành chuỗi ký tự

 [m n]=size(a): Trả về giá trị là ma trận có dạng [m,n] là kích thước của matrận a

 T=reshape(X,M,N): Trả về ma trận có kích thước MxN với các phần tử làcác phần tử nằm trong ma trận X

Trang 18

 mean(X): Ma trận X có kích thước MxN, hàm trả về ma trận có kích thước1xN mỗi phần tử là trung bình từng cột trong ma trận X

 mean(X,dim): với dim là chiều lấy trung bình, nếu dim bằng 1 lấy trung bìnhtheo cột, nếu dim bằng 2 lấy trung bình theo hàng Không có tham số dim thìmặc định dim bằng 1

 E=eig(X): Trả về một vector chứa các giá trị riêng của ma trận vuông X

[V, D] = eig(X): tạo ra một ma trận đường chéo D của các giá trị riêng vàmột ma trận V có các cột tương ứng là các vector riêng, do đó: X * V = V *D

 diag(V,K): Trong đó V là một vector với các thành phần N là một ma trậnvuông kiểu N+ABS(K) với các phần tử của V trên đường chéo thứ K K = 0

là đường chéo chính, K> 0 là ở phía trên đường chéo chính và K <0 là ở phíadưới đường chéo chính

Diag(V): Giống như DIAG (V, 0) và đặt vector V trên đường chéo chính

 Sort(X): Phân loại tăng dần hay giảm

Đối với các vector, Sort(X) sắp xếp các phần tử của X thứ tự tăng dần Đối với ma trận, Sort(X) các loại mỗi cột của X thứ tự tăng dần Khi X là một mảng di động của chuỗi, Sort(X) sắp xếp các ký tự theo thứ tựbảng mã ASCII

 Min(X): Trả về vị trí của phần tử nhỏ nhất của ma trận X

 Kitu=setstr(i): chuyển số i sang chữ số tương ứng với mã ascii của nó và trả

về giá trị cho kitu

2.4 Cơ sở lý thuyết cho phân đoạn ảnh.

Phân đoạn ảnh: giai đoạn này có nhiệm vụ nhị phân hóa ảnh từ ảnh đầu vàoRGB, cũng nhân loại bỏ nhiễu nhằm nâng cao chất lượng ảnh đầu vào Sau đó thựchiện việc tách kí tự để đưa vào bộ nhận dạng kí tự

2.4.1 Nhị phân hóa.

Ảnh nhị phân là ảnh số mà trong đó giá trị mỗi điểm ảnh có thểnhận một trong hai giá trị 0 hoặc 1

Trang 19

Hình 2.2 ví dụ chuyển ảnh RGB sang ảnh đa mức xám và sau đó là ảnh nhị phân.

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

- Ảnh RGB được chuyển thành ảnh đa mức xám bằng lệnh: rgb2gray

- Ảnh đa mức xám chuyển thành ảnh nhị phân được thực hiện nhờ vào

hàm phân ngưỡng [2]:

Dest(x, y) =

Trong đó, Source(x,y) là giá trị điểm ảnh ở vị trí (x,y) của ảnh nguồn,

Dest(x,y) là giá trị điểm ảnh tương ứng ở vị trí (x,y) của ảnh đích Threshold là giá trị ngưỡng Tuy nhiên, giá trị cụ thể của ngưỡng lại phụ thuộc vào từng ảnh, vùng

ảnh đầu vào đang xét, không thể lấy cố định

Tùy vào điều kiện và mục đích chúng ta có thể sử dụng một phương pháp

xác định ngưỡng thích hợp.Trong đồ án này tôi sử dụng phương pháp chọn ngưỡng động bằng hàm graythresh(img)

2.4.2 Xử lý triệt nhiễu và nâng cao chất lượng ảnh [6]

Do ảnh hưởng của điều kiện bên ngoài, nhất là điều kiện ánh sáng, bước

phân đoạn ảnh không được thực hiện tốt, dẫn tới vẫn tồn tại các vùng nhiễu ngoài

phần thông tin chính tạo nên nhiễu Làm sai lệch trong quá trình nhận dạng

Quá trình xử lý nhiễu có nhiệm vụ lọc đi các thành phần không mong muốn

để lấy được đúng thành phần cần nhận dạng

Trang 20

Trong nhận dạng nói chung và nhận dạng chữ viết nói riêng, nhiễu thường

gặp và có nhiều ảnh hưởng đến kết quả nhận dạng là nhiễu đốm và nhiễu vạch Hiệnnay, chất lượng máy quét rất tốt vì thể nhiễu vạch đã giảm nhiều, tuy nhiên nhiễu

đốm thì vẫn thường thấy

Hìnhh 2.3 Ví dụ về nhiễu đốm

Trong đồ án này, tôi chỉ giới hạn ở việc xử lý các nhiễu đốm, việc loại bỏ cácnhiễu đốm được thực hiền bằng cách áp dụng bộ lọc trung vị (median filter hay hàmmedfilt2)

Hình 2.4 Ảnh sau khi áp dụng lọc trung vị.

2.4.3 Chuẩn hóa kích thước ảnh.

/ Chuẩn hóa kích thước ảnh là bước đưa tất cả các ảnh của các kí tự về cùngmột kích thước MxN Ví dụ 15x10 như trong đồ án sử dụng để chuẩn hóa kíchthước tất các kí tự in hoa [3] Bước này được thực hiện khi tất cả các kí tự được cắt

Trang 21

ra từ văn bản cần nhận dạng cũng như ảnh kí tự mẫu đều đã được cắt bỏ phần trắngxung quanh không chứa thông tin.

////

Hình 2.5 Kí tự A sau khi được chuẩn hóa với kích thước 15x10.

Trong matlab ta có hàm imresize để chỉ định hay chuẩn hóa ảnh ra thànhkích thước MxN mong muốn Đi kèm với hàm này thì matlab cũng hỗ trợ một sốphương pháp nội suy pixel Mặc định, hàm imresize sử dụng phương pháp nội suycác pixel gần nhất (nearest-neighbor interpolation) để tính giá trị các pixel của ảnh

ra Tuy nhiên, ta có thể chỉ định các phương pháp nội suy khác Bảng sau đây liệt kêcác phương pháp nội suy được trợ giúp theo thứ tự của độ phức tạp [6].

Giá trị tham số đi

kèm hàm imresize

‘nearest’ Nội suy các pixel gần nhất

(mặc định)

pixel ra được gán giá trị của cácpixel gần nó nhất

‘bilinear’ Nội suy song tuyến tính Giá trị của pixel ra là giá trị trung

bình theo trọng số của 2x2 pixel lâncận

‘biculic’ Nội suy song khối Giá trị của pixel ra là trung bình có

trọng số của 4x4 pixel lân cận

Bảng 2.2: Các phương pháp nội suy

Trong đồ án này tôi sử dụng phương pháp nội suy song tuyến tính Do khả

năng nội suy tương đối chính xác cũng như thời gian nội suy nhanh hơn nội suysong khối

15

Trang 22

2.5 Phương pháp nhận dạng kí tự.

Có nhiều phương pháp nhận dạng kí tự khác nhau được áp dụng rộng rãitrong các hệ thống nhận dạng kí tự Các phương pháp này có thể được tích hợptrong các hướng tiếp cận sau: đối sánh mẫu, thống kê, cấu trúc, mạng nơ ron vàSVM

Tuy nhiên do thời gian hạn chế nên trong đồ án này tôi áp dụng phương phápđối sánh mẫu

2.5.1 Đối sánh mẫu.

Kỹ thuật nhận dạng này là kĩ thuật tương đối đơn giản dựa trên cơ sở đốisánh các nguyên mẫu (prototype) với nhau đẻ nhận dạng kí tự hoặc từ Nói chung,toán tử đối sánh xác định mức độ giống nhau giữa hai vecto ( nhóm các điểm, hìnhdạng, độ cong…) trong một không gian đặc trưng Các kĩ thuật đối sánh có thểnghiên cứu theo ba hướng sau:

 Đối sánh trực tiếp: Một kí tự đầu vào là ảnh đa cấp xám hoặc ảnh nhị phânđược so sánh trực tiếp với một tập mẫu chuẩn đã được lưu trữ Việc so sánhdựa theo một độ đo về sự tương đồng nào đó (chẳng hạn như đọ đo Euclide)

để nhận dạng Mặc dù phương pháp đối sánh trực tiếp đơn giản và có một cơ

sở toán học vững chắc nhưng kết quả nhận dạng của nó cũng rất nhạy cảmvới nhiễu

 Các mẫu biến dạng và đối sánh mềm: Một phương pháp đối sánh khác là sửdụng các mẫu biến dạng, trong đó một phép biến dạng ảnh được dùng để đốisánh một ảnh chưa biết với một cơ sở dữ liệu ảnh đã biết Ý tưởng cơ bảncủa đối sánh mềm là đối sánh một cách tối ưu mẫu chưa biết với tất cả cácmẫu có thể mà các mẫu này có thể kéo giãn ra hoặc co lại Chỉ một khônggian đặc trưng được thành lập, các véc tơ chưa biết được đối sánh bằng cách

sử dụng quy hoạch động và một hàm biến dạng

 Đối sánh giảm nhẹ: Đây là một kĩ thuật đối sánh ảnh ở mức độ tượng trưng,

kĩ thuật này sử dụng hình dáng hoặc đặc trưng cơ bản của ảnh kí tự Thứnhất, các vùng đối sánh đã được nhận biết Sau đó, trên cơ sở một số vùng

Trang 23

đối sánh được đánh giá tốt, các phần tử của ảnh được so sánh với các vùngđối sánh này Công việc này đòi hỏi một kĩ thuật tìm kiếm trong một khônggian đa chiều để tìm cực đại toàn cục của một số hàm.

2.5.2 Đánh giá, so sánh phương pháp đôi sánh mẫu với các phương pháp khác.

Phương pháp đối sánh mẫu là kĩ thuật nhận dạng đơn giản dựa trên cơ sở đốisánh các nguyên mẫu với nhau để nhận dạng

Các kĩ thuật đối sánh mẫu chỉ áp dụng tốt đối với nhận dạng chữ in, còn đốivới chữ viết tay thì các kĩ thuật này tỏ ra kém hiệu quả Kết quả của nó cũng tỏ ranhạy cảm với nhiễu

Vì tính đơn giản, thời gian đáp ứng nhanh, hiệu quả cho nhận dạng kí tự inhoa Tiếng Việt Nên đồ án nhận dạng kí tự in hoa Tiếng Việt này, tôi áp dụng kĩthuật đôi sánh mẫu trực tiếp, dựa vào kĩ thuật PCA

2.6 Kĩ thuật PCA.

2.6.1 Giới thiệu.

Thuật toán PCA (Principal Component Analysis) được sử dụng rộng rãi và

áp dụng khá thành công trong lĩnh vực nhận dạng Ưu điểm của nó ở chỗ giúp

giảm số chiều của dữ liệu Thay vì giữ lại các trục tọa độ của không gian cũ, PCA

xây dựng một không gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ, nghĩa là đảm bảo độ biến thiên của dữ liệu trên mỗi chiều mới

Mục tiêu của PCA là tìm một không gian mới (với số chiều nhỏ hơn không

gian cũ) Các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi

trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể

Trang 24

Một ví dụ thuyết phục hơn được minh họa trong hình sau:

/

Hình 2.7 Minh họa PCA : tìm cá trụ tọa độ mới sao cho dữ liệu có độ biến thiên

Trang 25

Giả sử tập dữ liệu ban đầu (tập điểm màu xanh) được quan sát trong khônggian 3 chiều (trục màu đen) như hình bên trái Rõ ràng 3 trục này không biểu diễnđược tốt nhất mức độ biến thiên của dữ liệu Do đó, PCA sẽ tìm hệ trục tọa độ mới(là hệ trục màu đỏ trong hình bên trái) Sau khi tìm được không gian mới, dữ liệu

sẽ được chuyển sang không gian này để được biểu diễn như trong hình bên phải Rõràng hình bên phải chỉ cần 2 trục tọa độ nhưng biểu diễn tốt hơn độ biến thiên của

dữ liệu so với hệ trục 3 chiều ban đầu Một điểm rất tốt nữa của PCA là các trục tọa

độ trong không gian mới luôn đảm bảo trực giao đôi một với nhau, mặc dù trongkhông gian ban đầu, các trục có thể không trực giao

2.6.2 Một số khái niệm toán học sử dụng trong PCA.

Ví dụ : Với 2 tập dữ liệu [0 8 12 20] và [8 9 11 12] có trung bình mẫu bằng

nhau nhưng lại khá khác nhau Sự khác biệt ở đây chính là khoảng cách của dữ liệu

Do đó độ lệch chuẩn là đại lượng để đo khoảng cách này Ta có thể hiểu độ lệchchuẩn là khoảng cách trung bình từ trung bình mẫu đến các điểm dữ liệu

Ta có công thức :

2.6.2.2 Phương sai.

Trang 26

Phương sai là một đại lượng khác dùng để đo khoảng cách của dữ liệu Ta cócông thức :

2.6.2.4 Eigenvalue (giá trị riêng)[5]

Cho / là ma trận vuông cấp / trên trường số/ Số /được gọi là giá trị riêng (gọitắt là trị riêng – kí hiệu GTR) của ma trận A, nếu tồn tại một vectơ /sao cho: /

Khi đó vectơ / được gọi là vectơ riêng (VTR) của ma trận / ứng với giá trị

riêng /

2.6.2.5 Eigenvector ( Véc tơ riêng).[5]

Vectơ riêng (eigenvector) của một phép biến đổi tuyến tính là một vectơ

(khác 0) không thay đổi phương hướng bởi phép biến đổi đó

Ta có u gọi là véc tơ riêng của ma trận A Để tìm véc tơ riêng của ma trận

vuông A, thì ra phải tìm giá trị riêng (eigenvalue) của ma trận A bằng phương trình

sau: det(A- =0 (2.4)

Sau đó ứng với mỗi giá trị riêng vừa tìm được ta tính véc tơ riêng bằng

phương trình sau:

(A - I)ui =0 (2.5)

Trang 27

2.6.3 Thuật toán PCA.

Thuật toán PCA được thực hiện theo các bước sau :

Ngày đăng: 24/06/2016, 21:50

HÌNH ẢNH LIÊN QUAN

Hình 2.4. Ảnh sau khi áp dụng lọc trung vị. - Nhận dạng ký tự in hoa tiếng việt
Hình 2.4. Ảnh sau khi áp dụng lọc trung vị (Trang 19)
Bảng 2.2: Các phương pháp nội suy - Nhận dạng ký tự in hoa tiếng việt
Bảng 2.2 Các phương pháp nội suy (Trang 20)
Hình 2.5. Kí tự A sau khi được chuẩn hóa với kích thước 15x10. - Nhận dạng ký tự in hoa tiếng việt
Hình 2.5. Kí tự A sau khi được chuẩn hóa với kích thước 15x10 (Trang 20)
Hình 3.3. Mô tả vị trí của các vết cắt của kí tự. - Nhận dạng ký tự in hoa tiếng việt
Hình 3.3. Mô tả vị trí của các vết cắt của kí tự (Trang 31)
Hình 3.4. Mô tả giới hạn trên và giới hạn dưới của kí tự. - Nhận dạng ký tự in hoa tiếng việt
Hình 3.4. Mô tả giới hạn trên và giới hạn dưới của kí tự (Trang 32)
Hình 4.1. Các bước chính thực hiện PCA. - Nhận dạng ký tự in hoa tiếng việt
Hình 4.1. Các bước chính thực hiện PCA (Trang 34)
Hình 4.2. Các bước thực hiện nhận dạng kí tự. - Nhận dạng ký tự in hoa tiếng việt
Hình 4.2. Các bước thực hiện nhận dạng kí tự (Trang 37)
Hình 5.1. Minh họa cho quá trình tách dòng. - Nhận dạng ký tự in hoa tiếng việt
Hình 5.1. Minh họa cho quá trình tách dòng (Trang 40)
Bảng 5.3. Kết quả thực nghiệm nhận dạng kí tự. - Nhận dạng ký tự in hoa tiếng việt
Bảng 5.3. Kết quả thực nghiệm nhận dạng kí tự (Trang 44)

TỪ KHÓA LIÊN QUAN

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

w