• Nenhum resultado encontrado

Phát Hiện Kí Tự Trong Hình Ảnh dùng SWT

N/A
N/A
Protected

Academic year: 2021

Share "Phát Hiện Kí Tự Trong Hình Ảnh dùng SWT"

Copied!
21
0
0

Texto

(1)

Trang 1

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

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

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN VIỄN THÔNG

---o0o---

BÁO CÁO

ĐỒ ÁN MÔN HỌC 2

PHÁT HIỆN KÝ TỰ BẰNG PHƯƠNG PHÁP BIẾN ĐỔI NÉT CHỮ (SWT)

SVTH

: Nguyễn Tuấn Quang

MSSV

: 41002596

GVHD

: T.S. Võ Trung Dũng

(2)

Trang 2

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

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

Độc lập – Tự do – Hạnh phúc.

---✩---

---✩---

Số: ______ /BKĐT

Khoa: Điện – Điện tử

Bộ Môn: Viễn Thông

NHIỆM VỤ ĐỒ ÁN MÔN HỌC 2

1.

HỌ VÀ TÊN : Nguyễn Tuấn Quang

MSSV: 41002596

2.

NGÀNH:

ĐIỆN TỬ - VIỄN THÔNG

LỚP : DD10DV05

Đề tài:

PHÁT HIỆN KÝ TỰ BẰNG PHƯƠNG PHÁP BIẾN ĐỔI NÉT CHỮ (SWT)

3.

Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):

...

...

...

...

4.

Ngày giao nhiệm vụ đồ án: ...

5.

Ngày hoàn thành nhiệm vụ: ...

6.

Họ và tên người hướng dẫn:

Phần hướng dẫn

...

...

...

...

Nội dung và yêu cầu Đồ án đã được thông qua Bộ Môn.

Tp.HCM, ngày…... tháng….. năm 2013

CHỦ NHIỆM BỘ MÔN

NGƯỜI HƯỚNG DẪN CHÍNH

PHẦN DÀNH CHO KHOA, BỘ MÔN:

Người duyệt (chấm sơ bộ): ...

Đơn vị: ...

Ngày bảo vệ: ...

Điểm tổng kết: ...

Nơi lưu trữ đồ án: ………...

(3)
(4)

Trang 4

PHẦN MỞ ĐẦU Lời nói đầu

Đọc ký tự trong văn bản ngày nay đã trở thành một mảng lớn trong Thị giá máy tính (CV: Computer Vision). Nhìn về lịch sử phát triển của đọc ký tự trong văn bản chúng ta có thể thấy rằng đây là mảng ứng dụng khá mới mẻ. Đọc ký tự trong văn bản đã được tạo ra nhằm giải quyết 2 vấn đề: Phục vụ sự phát triển của điện báo và tạo ra các thiết bị đọc sách cho người mù. Năm 1914, Emanuel Goldberg đã phát triển một máy tính có thể đọc các ký tự và chuyển đổi chúng thành một mã số điện báo chuẩn

(telegraph code). Cùng thời gian đó Edmund Fournier d'Albe phát triển Optophone, một máy quét cầm tay khi di chuyển trên một trang in. Thiết bị này có thể tạo ra tiếng khi “thấy” chữ cái hoặc ký tự tương ứng. Trong cuối những năm cuối thập niên 1920 Emanuel Goldberg phát triển một hệ thống được gọi là “Máy tính thống kê” để tìm kiếm số lưu trữ trong vi phim (microfilm) bằng cách sử dụng một hệ thống nhận diện mã quang học. Năm 1931 ông được cấp bằng sáng chế của Hoa Kỳ số 1,838,389 cho phát minh của mình. Bằng sáng chế đã được mua lại bởi IBM sau đó.

Ngày nay, cùng với sự phát triển vượt bậc của phần cứng máy tính và công nghệ điện toán đọc ký tự trong văn bản đã đóng góp rất nhiều ứng dụng thực tiễn trong đời sống hằng ngày. Chúng ta có thể lấy ví dụ như:

- Nhập dữ liệu cho mục đích công việc: số hóa sách, kiểm tra hay xác thực hóa đơn, tấm séc, hóa đơn, hộ chiếu…

- Xác thực biển số xe.

- Khai thác thông tin quan trọng trong những tài liệu bảo hiểm. - Lấy thông tin từ danh thiếp và lưu và danh bạ.

- Số hóa sách một cách nhanh chóng nhằm đảm bảo việc lưu trữ sách dễ dàng và thuận tiện hơn. Ta có thể kể đến dự án số hóa sách lớn như Project Gutenberg.

- Có thể tìm kiếm thông tin trong các bức ảnh KTS. Rất nhiều ứng dụng ngày nay được trang bị tính năng này như Neo Reader (trên smartphone), Google Translate…

- Chuyển đổi chữ viết tay bằng chữ in dùng trong việc nhập dữ liệu một cách tự nhiên và nhanh chóng cho những ai không thích nhập liệu bằng bàn phím.

- Áp dụng trong công nghệ hỗ trợ người bị khiếm thị.

Đọc ký tự trong văn bản đã và đang là một thách thức thu hút được rất nhiều sự chú ý từ các nhà nghiên cứu, những nhà sản xuất thiết bị điện tử và cả người dùng. Hai nhánh chính trong Đọc ký tự trong văn bản là Phát hiện ký tự và Nhận diện ký tự. Đồ án này nhằm mục đích trình bày về Phát hiện ký tự các đoạn văn bản trong một hình ảnh tự nhiên bằng cách sử dụng một phiên bản nâng cao của chuyển đổi bề rộng nét chữ (SWT: Stroke Width Transformation). Ứng dụng nhận được hình ảnh RGB để tìm kiếm chữ trong đó và trả về một hình ảnh mới nơi các đoạn văn bản phát hiện được đánh dấu. Do các tính năng của SWT, kết quả có thể phát hiện văn bản không phân biệt kích thước, hướng, phông chữ và ngôn ngữ của nó.

(5)

Trang 5

Mục lục

Các mục chính bao gồm

I. Giới thiệu sơ lược về SWT Trang 6-12

1.1. Hai nhánh chính của Đọc ký tự trong văn bản Trang 1.2. SWT

II. Giới thiệu thuật toán SWT Trang 13-16

2.1. Vấn đề và giả định 2.2. Biến đổi bề rộng nét chữ 2.3. Loại bỏ một số dòng dư 2.4. Tìm kiếm ký tự thích hợp

2.5. Nhóm các ký tự thích hợp vào một vùng chữ

III. Kết quả chạy thử nghiệm trên Matlab Trang 17-18

3.1. Giao diện 3.2. Tổng quan 3.3. Thử nghiệm IV. Ứng dụng và những mặt hạn chế Trang 19 4.1. Ứng dụng 4.2. Những hạn chế

V. Tài liệu tham khảo Trang 20

(6)

Trang 6

Phần I. Giới thiệu sơ lược về SWT

1.1. Hai nhánh chính của Đọc ký tự trong văn bản:

Đọc ký tự trong văn bản trong một khung cảnh thiên nhiên là một phần quan trọng của nhiều tác vụ thị giác máy tính (Computer Vision-CV). Ví dụ, việc thực hiện nhận dạng ký tự quang học (Optical Character Recognition-OCR) các thuật toán có thể được cải thiện bằng cách đầu tiên xác định các khu vực của văn bản trong hình ảnh. Phát hiện văn bản trong những cảnh thiên nhiên là một lĩnh vực nghiên cứu chuyên sâu và có rất nhiều cách tiếp cận để giải quyết vấn đề này. Tuy nhiên, hầu hết các chương trình phát hiện văn bản OCR hạn chế người sử dụng ngôn ngữ cụ thể, kích thước và hướng của văn bản. Hơn nữa, trong một cảnh sắc thiên nhiên, chúng ta có thể không muốn làm cho các giả định như vậy và hạn chế các kết quả phù hợp. Có một sự cân bằng hạn chế mà chúng ta áp dụng và chất lượng của kết quả. Chúng ta càng giới hạn tìm kiếm trong hình thì càng ít thông tin sai/ nhiễu (noise) mà chúng ta gặp phải.[1]

Sự khác nhau cơ bản giữa OCR (Nhận diện ký tự Quang học) và Phát hiện ký tự

OCR Phát hiện ký tự

Nhận diện chữ trong các hình ảnh có từ các bản scan, fax và chi tiết dư có ít và nhiệm vụ là “đọc” được các kí tự.

Được ứng dụng trong việc nhập dữ liệu hay lấy thông tin từ hình ảnh

Phát hiện ký tự hay vùng ký tự có trong các ảnh tự nhiên, có thể là ảnh chụp quang ảnh với rất nhiều các chi tiết dư thừa như hoa lá, bảng hiệu…Nhiệm vụ chính là “chỉ ra” vùng ký tự.

Được ứng dụng trong việc phát hiện vùng ký tự, từ đó ta sẽ dùng các thuật toán thích hợp để xử ký vùng ký tự đó

Ví dụ về OCR và Phát hiện ký tự OCR

(7)

Trang 7

Đoạn văn bản được đọc bằng OCR

(Kết quả lấy từ trang web http://www.onlineocr.net/) TD

(8)

Trang 8

Đồ án này sẽ giới thiệu về thuật toán SWT và đề cập chi tiết về thuật toán cũng như ứng dụng và hạn chế của nó.

1.2. SWT

Có rất nhiều thuật toán để phát hiện ký tự nhưng thuật toán để đề xuất mới nhất và tỏ ra hiệu quả vượt trội so với các thuật toán khác đó chính là SWT. SWT thể hiện sự vượt trội so với các thuật toán khác ở chỗ dễ hiểu và tiêu tốn ít tài nguyên phần cứng khi thực hiện.[2]

Được công bố năm 2010 bởi 3 tác giả Boris Epshtein, Eyal Ofek và Yonatan Wexler. Công trình khoa học này đã được Thuật toán này còn khá mới mẻ đối với giới xử lý ảnh.

SWT là thuật toán dựa trên phép biến đổi về bề rộng chữ. Điều này có nghĩa là ta có thể phát hiện được vùng ký tự của các các ngôn ngữ khác nhau một cách dễ dàng mà không đòi hỏi phải cho máy học trước với lượng database lớn. Ví dụ sau đây cho ta cái nhìn chi tiết hơn.[3]

Ví dụ 1:

(9)

Trang 9

Ảnh lấy từ trang www.designsngold.com

(10)

Trang 10

Từ Ví dụ 1 ta có thể thấy dù là chữ viết của ngôn ngữ nào đi nữa thì các kí tự có môtk đặc điểm chung đó là nét chữ luôn có bề rộng thay đổi nhỏ.

Ví dụ 2:

Từ ví dụ hai ta có thể thấy cùng 1 ký tự nhưng với font khác nhau sẽ cho ra hình dáng khác nhau. Nếu thực hiện việc nhận dạng ký tự này bằng cách cho máy học thì ta phải có 4 mẫu trong database nhưng nếu ta sử dụng SWT thì không cần cho học trước. Điều này có ý nghĩa rất lớn vì giúp chúng ta cho thể có một thuật toán xử lý mạnh mẽ nhưng cũng hết sức gọn nhẹ và tốn ít tài nguyên phần cứng của máy.

(11)

Trang 11

Hình ảnh trong thực tế có rất nhiều chi tiết phụ như hoa, lá, cành... nên nếu ta áp dụng luôn việc nhận diện ký tự thì kết quả ra sẽ rất tệ. Dưới đây là kết quả của việc nhận diện ký tự trực tiếp chưa qua phép biến đổi.

(12)

Trang 12 Kết quả này được lấy từ trang http://www.free-ocr.com/

E‘ .;.*?a.=@~ <1 “zfsfi '*'i">~’i~ . ‘ V % 2% “ E " 7‘q_'1- '"'-'3§i‘3KM‘-. - v' §_}:é.i‘ u gig T1: H?‘ ~_ F-:=‘.;= ~ 1 _¢,;._¢=~., - ~ - iii?‘ ‘ v”, vi 7 -, - -g‘:-<‘n'~._’ b I ,4 ‘I 7 ‘Q ‘_ 1 ___ I.“ .- _‘ V ;;__,.» _ ‘fa V .- ‘ A » "'hf»1!"'_" ."- ‘ .4 ’. 2‘;-%%_‘ ‘;.$,fi ._ . _ ‘ &"_‘;r:‘_»§_-In‘ ~ “ ik ‘K 4 . I . Cl; w V?“ /7 J‘ _ 5‘ ' I r Q»; .i*‘:l “§‘l\».‘““ . :'=..-‘ V--1" ;;.§%;*'* <‘1"X‘;'"¥,:;:g. ~ ' = , -, , ¢ ~ Pi‘ T\Y »‘ A I . 1:‘ 1:1‘ ' » ~13“ * g V - - *>- i J .,<~.»\ s -Q _ ‘w ' 5.1: ‘ , ‘ w: ‘ \,.> » . ‘OI ‘~;.;®‘_» .‘. }7$i|g!_:_: -I \ ‘ _ 3; : , 4 = ~ V . ._ _-» \1 4» /~;= ‘ 1 J I ' \\ ii" ' ";<;:~=‘ _ ‘ Q “'1', "2 -‘ _,;" "1 Q’ -;- I‘ / I 5/1’... I ’=:._T\:j4 L >-.:. >_.;_'-=2, ., ~ '>. V ~ ~ ‘g ‘is? " ' ‘. '1 ‘ A '\"_ _ A ' \ 553' " " l - \ -_ _ ¢. =:_ . _ ‘_é__.,», ’v _ pvl ‘R: 7 / A ’ in: -~’._ _~ » , 0 A ‘E;-V » 7 ~ I‘ -: .-z.,+='1_~»@-’ ' ' J . ‘\§’¢ Q“ K H *9"$__‘_\" ~‘;_\7__§= ca, _-Q ervl > 5 a .k . -.§~

(13)

Trang 13

Phần II. Thuật toán xử lý của SWT 2.1. Vấn đề và giả định

Hình ảnh đưa vào xử lý là những ảnh tự nhiên với nhiều chi tiết dư, trái với những trang được quét, fax và danh thiếp. Phần mô phỏng trong Matlab có thể nhận được bất kỳ hình ảnh của định dạng JPEG. Kích thước tiêu chuẩn của hình ảnh thử nghiệm là 800x600 (hình ảnh lớn hơn việc chạy ứng dụng sẽ lâu hơn một chút). Hình ảnh không cần quá tốt (ví dụ sẽ được đưa ra trong phần các thí nghiệm và kết quả) nhưng văn bản trong hình không quá mờ. Ngoài ra, việc nhận diện không phụ thuộc ngôn ngữ của văn bản và hướng của nó. Văn bản cong sẽ khó khăn hơn để phát hiện nhưng dù sao vẫn có thể.

Việc phát hiện văn bản trong một thực thể có thể là chữ màu sáng trên nền tối, hoặc chữ màu tối trên nền sáng. Nên chúng ta sẽ có 2 lựa chọn khi xử lý ảnh là “Nền trắng chữ đen” hay “Nền đen chữ trắng”. Kết quả sẽ hiển thị các ký tự được phát hiện nhóm lại thành một khu vực.

2.2. Biến đổi bề rộng nét chữ (SWT)

Phần này sẽ mô tả thuật toán chuyển đổi bề rộng nét chữ. Thuật toán nhận được một hình ảnh RGB và trả về một hình ảnh có cùng kích thước. Gồm có 3 bước chính: [4]

- Biến đổi bề rộng của nét chữ.

- Nhóm các điểm ảnh vào các kí tự có thể dựa trên bề rộng nét chữ. - Nhóm các kí tự đó vào vùng văn bản.

Một nét chữ trong hình ảnh là một nhóm liên tục có chiều rộng gần như không đổi. Một ví dụ của một nét chữ được thể hiện trong hình 1 (a). SWT tính toán cho mỗi điểm ảnh chiều rộng của nét mà khả năng chứa điểm ảnh là cao nhất.

Hình 1: Cách thức thực hiện của SWT

(14)

Trang 14

(b) p là pixel tại biên của nét, tìm theo hướng gradient p ta tìm được q tại biên đối xứng. (c) Mỗi pixel theo tia được gắn giá bị nhỏ nhất của nó và chúng ta tìm được bề rộng của nét.

Đầu tiên, tất cả các điểm ảnh được khởi tạo với bề dày nét ∞. Sau đó, chúng ta tính toán bản đồ cạnh (Edge map) của hình ảnh bằng cách sử dụng thuật toán phát hiện cạnh Canny. Chúng ta coi các cạnh như ranh giới nét chữ. Nếu p là một điểm ảnh cạnh, hướng gradient dp của nó vuông góc với hướng của ranh giới nét. Vì vậy, bước tiếp theo là tính toán hướng gp gradient của các điểm ảnh cạnh và chạy theo các tia r = p + n * gp (n> 0) cho đến khi chúng ta tìm thấy một điểm ảnh cạnh q. Nếu hướng gradient dq tại q là

khoảng đối diện với dp (dq = dp±π/6) thì mỗi điểm ảnh trong các tia được gán khoảng cách giữa p và q

như bề rộng nét chữ. Mỗi giá trị thành phần s của ảnh SWT đầu ra tương ứng với những pixel trong tập [p,q] nếu như nó có giá trị thấp hơn. Tuy nhiên, nếu một điểm ảnh cạnh q không tìm thấy hoặc dq là không

đối diện với dp, tia được loại bỏ. Để thích ứng với cả hai loại văn bản sáng trên nền tối và chữ màu tối trên

nền sáng chúng ta cần phải áp dụng các thuật toán hai lần: một lần với hướng tia dp và một lần với -dp.[5]

Sau khi thực bước đầu đầu tiên mô tả ở trên, điểm ảnh trong các địa điểm phức tạp có thể không giữ giá trị bề rộng nét chữ. Vì lý do đó, chúng ta sẽ vượt qua cùng mỗi tia không bị loại bỏ, trong đó mỗi điểm ảnh trong tia sẽ nhận được giá trị tối thiểu giữa giá trị hiện tại của nó và giá trị trung bình tia kế cận. (Trong các thuật toán ban đầu, các điểm ảnh được gán giá trị trung bình nhưng từ thí nghiệm trên ta nhận được kết quả tốt hơn khi ta lấy tối thiểu).

Hình 2:

Lấp đầy pixel với những giá trị SWT

(a) Pixel màu đỏ là một ví dụ về việc được lấp đầy với giá trị tối thiểu của độ dài tia ngang và dọc đi qua nó. Giá trị bề rộng tia chính xác được chứa trong nó.

(b) Pixel màu đỏ chứa giá trị tối thiểu giữa độ dài 2 tia. Đây không phải là giá trị đúng của bề rộng nét. Muốn chính xác ta cần phải thông qua bước tiếp theo (sẽ trình bày ở phần sau). Hình trên cho ta thấy rằng những trường hợp phức tạp như ở góc thì ta sẽ không lấy được bề rộng chữ đúng như miêu tả ở phía trên. Chính vì thế nên ta sẽ thông qua những tia không bị loại bỏ thêm một lần nữa, tính giá trị median SWT của m của tất cả pixel và thiết lập tất cả giá trị của những tia với giá trị SWT trên m thành m.

(15)

Trang 15

Để cải thiện kết quả, ta thêm một bước trong thuật toán, mà mục đích là để cải thiện tách kí tự. Các ký tự trong hình ảnh kết nối với nhau nhiều lần và thuật toán nhận một nhóm các kí tự như một thành phần duy nhất. Vì các tính chất của một nhóm các ký tự không nhất thiết phải phù hợp với các tính chất của một ký tự duy nhất, các thành phần này có thể bị bỏ trong các giai đoạn tiếp theo. Khi xem xét các bước của thuật toán, ta nhận thấy rằng các thuật toán SW trả về nhiều dòng rải rác kết nối các chữ cái với nhau. Sau khi loại bỏ dòng như vậy thì những kí tự này không còn được coi là một phần của các thành phần tương tự. Vì vậy, việc thêm một bước mà các thuật toán đi qua mỗi điểm ảnh, và nếu vùng lân cận của nó không chứa đủ điểm ảnh từ các thành phần của nó, điểm ảnh đó được xóa khỏi các thành phần. Kết quả từ việc thêm bước này sẽ được chứng minh trong phần sau.

2.4. Tìm kiếm ký tự thích hợp

Đầu ra của SWT là một ảnh mà mỗi giá trị pixel có chứa độ dài của nét có xác suất cao nhất mà nó thuộc về. Bước tiếp theo là nhóm các điểm ảnh vào kí tự thích hợp. Hai pixel lân cận có thể được nhóm với nhau nếu có chung giá bề rộng nét. Điều này sẽ được thực hiện bằng đầu tiên nhóm pixel với bề rộng nét tương tự và sau đó áp dụng một số quy tắc để phân biệt các kí tự thích hợp. Nhóm các hình ảnh sẽ được thực hiện bằng cách sử dụng một thuật toán kết nối các phần với nhau. Để cho phép thay đổi độ rộng suốt nét trong một kí tự chúng ta sẽ cho hai điểm ảnh được nhóm lại với nhau nếu tỷ lệ SWT của chúng ít hơn 3.0.[6]

Bây giờ chúng ta phải phát hiện các thành phần liên kết giống như kí tự thích hợp bằng cách áp dụng một tập hợp các quy tắc khá linh hoạt. Những quy định như sau:

- Phương sai của nét-chiều rộng trong một thành phần không phải là quá lớn. Điều này giúp với loại bỏ tán lá trong hình ảnh tự nhiên vì tán lá thường bị nhầm lẫn với văn bản.

- Tỉ lệ của một thành phần phải nằm trong một phạm vi nhỏ của các giá trị, để loại bỏ các thành phần dài và hẹp.

- Tỷ lệ giữa đường kính của các thành phần và chiều rộng trung bình của nét ít hơn một ngưỡng đã được học (ở đây ta cho giá trị là 0.1-10). Điều này cũng giúp loại bỏ các thành phần dài và hẹp. - Các thành phần có kích thước quá lớn hay quá nhỏ cũng sẽ bị bỏ qua. Điều này được thực hiện

bằng cách hạn chế chiều dài, chiều rộng và số điểm ảnh của các thành phần.

- Ngoài những quy định trên, việc thêm một quy tắc giúp loại bỏ nhiều nhiễu. Nó quy định rằng tỷ lệ giữa số điểm ảnh của các thành phần và số lượng điểm ảnh trong khung giới hạn của các thành phần nên trong một phạm vi giới hạn. Điều này bác bỏ các thành phần mà trải rộng trên một không gian rộng lớn nhưng có một số nhỏ điểm ảnh, và các thành phần trong đó bao gồm hầu hết các khung giới hạn của chúng.

Các ngưỡng sử dụng ban đầu chúng ta lấy từ SWT mô tả ở trên và được cập nhật một chút theo từng hình để ra kết quả có chất lượng cao nhất. Các thành phần kết nối còn lại được coi là kí tự thích hợp và sẽ được tổng hợp thành các vùng văn bản.[7]

2.5. Nhóm các ký tự thích hợp vào một vùng chữ

Vì sẽ có một vài chữ cái không được mong đợi xuất hiện trong hình ảnh nên chúng ta sẽ cố gắng để nhóm các kí tự thích hợp vào vùng văn bản. Điều này lọc ra nhiều kí tự sai-kí tự thích hợp xác định, và cải thiện độ tin cậy của kết quả thuật toán.

(16)

Trang 16

Một lần nữa, chúng ta sẽ sử dụng một tập nhỏ các quy tắc để nhóm các kí tự lại với nhau thành các vùng văn bản. Những quy định này sẽ xem xét các cặp chữ cái như sau:[8]

- Hai kí tự thích hợp nên có bề dày nét tương tự. Lý do là chúng ta sẽ hạn chế tỷ lệ giữa chiều rộng trung bình nét được ít hơn một số ngưỡng.

- Tỷ lệ giữa chiều cao của các chữ cái và giữa độ rộng của các chữ cái không được vượt quá 2,5. Điều này được quy định là do chữ được viết hoa bên cạnh chữ thường.

- Khoảng cách giữa các chữ cái không được vượt quá ba lần chiều rộng của một chữ rộng hơn. - Chữ cái của cùng một từ được dự kiến sẽ có một màu sắc tương tự, do đó chúng ta so sánh các

màu trung bình của các kí tự thích hợp cho ghép nối.

- Một lần nữa, việc thêm một quy tắc trong đó hạn chế số lượng điểm ảnh của cặp chữ cái trong khung giới hạn của cặp.

Khi quyết định ghép hai chữ cái với nhau, chúng ta có 2 lựa chọn: hoặc cả chữ không được gán ở một khu vực nào, hoặc một trong số chúng đã được nhóm lại với các chữ cái khác. Nếu cả hai đều không được gán, điều chúng ta cần làm là khai báo một khu vực mới. Nếu không, chúng ta cần phải kiểm tra thêm một kí tự gửi cho các khu vực khác là hợp lý. Qua thực hiện chúng ta nhận thấy: một sự hợp nhất là hợp lý nếu số lượng điểm ảnh của các ký tự trong khu vực và số điểm ảnh của kí tự để thêm chia cho kích thước của khung giới hạn của tất cả các chữ cái kết hợp không được thấp hơn một số ngưỡng. Điều này sẽ đảm bảo khu vực của văn bản sẽ không có kết thúc lỏng lẻo và sẽ tạo thành một "hộp" văn bản. Cách tiếp cận này có một chút khác biệt so với phương pháp tiếp cận trong các thuật toán ban đầu, trong đó tập hợp các chữ cái lại với nhau thành chuỗi.[9]

Cuối cùng, khu vực có ít hơn 3 ký tự sẽ bị loại bỏ. Biểu đồ thuật toán được thể hiện trong hình 3. Việc thực hiện đến giai đoạn tập hợp văn bản. Chúng ta có thể thấy qua sơ đồ khối sau [10]

Hình 3

Sơ đồ khối của thuật toán.

Hình ảnh Phác họa cạnh SWT Tìm kí tự thích hợp

(17)

Trang 17

Phần III. Kết quả chạy thử nghiệm trên Matlab 3.1. Giao diện

Hình 3: Giao diện của SWT detector Chọn Browse để dẫn link đến file

Chọn Dark-on-Light: khi đó là chữ đen nền trắng Chon Light-on-Dark: khi đó là chữ trắng nền đen

3.2. Tổng quan

Ứng dụng SWT Text Detector là một ứng dụng được viết ra nhằm mục đích xác định và đánh dấu một vùng trong hình ảnh mà có thể chứa chữ. Ứng dụng nhận đầu vào là ảnh RGB và nhận diện được chữ trắng trên nền đen và chữ đen trên nền trắng. Đầu ra sẽ là ảnh có cùng kích cỡ với đầu vào và ảnh sẽ là nơi mà điểm ảnh của chữ được đánh dấu. Giá trị của mỗi điểm ảnh là số ID của khu vực nó thuộc về, trong đó 0 có nghĩa là nó không thuộc về bất kỳ khu vực. Việc cố tình muốn thể hiện các chữ cái trong từng khu vực, và không chỉ là khung giới hạn của khu vực (trong các hình mẫu) là để xem hiệu quả của thuật toán tốt hơn.

(18)

Trang 18

Việc thực hiện các ứng dụng gồm các thành phần như được thảo luận trong phần trước: - Chiều rộng nét chuyển đổi: phát hiện cạnh và tính toán chiều rộng nét.

- Loại bỏ dòng lạc long khỏi bản đồ SW.

- Tìm kí tự thích hợp: tìm kiếm các thành phần kết nối và phát hiện các thành phần với các đặc điểm của một kí tự.

- Phân nhóm các chữ cái vào vùng văn bản.

3.3. Thử nghiệm

Hình 4 (a) Ảnh gốc chữ đen nền trắng

(b) Ảnh sau khi thực hiện biến đổi SWT

Hình 5 (a) Ảnh gốc chữ trắng trên nền đen.

(19)

Trang 19

Phần IV. Ứng dụng và những hạn chế 4.1. Ứng dụng

Thuật toán SWT có thể nhận dạng được vùng ký tự, điều này có ý nghĩa rất lớn cho công đoạn OCR. Nếu chúng ta nhận diện được vùng ký tự tốt thì kết quả OCR ra sẽ đạt chất lượng cao hơn. Không chỉ áp dụng cho OCR mà chúng ta có thể mở rộng ứng dụng của SWT cho việc nhận diện phụ đề và tiêu đề ở những mẫu phim quảng cáo. Khi biết được đâu là mẫu phim quảng cáo ta có thể loại bỏ được giúp người dùng không phải coi những đoạn quảng cáo mà mình không thích.

4.2. Những hạn chế

- Thuật toán này thích hợp cho những chữ có bề rộng nét khá bằng nhau, nếu như nét chữ không đồng đều như ở một số font chữ cách điệu thì việc phát hiện ký tự sẽ khó khăn hơn.

- Khi thực hiện trên ảnh có kích thước lớn sẽ làm chúng ta mất nhiều thời gian hơn. Ở những mẫu thử nghiệm trong đồ án này kích thước chuẩn là 600x800.

(20)

Trang 20

Phần V. Tài liệu tham khảo

[1] Detecting Text in Natural Scenes with Stroke Width Transform B.Epshtein, E.Ofek và Y.Wexler [2] Detecting Text in Natural Scenes with Stroke Width Transform B.Epshtein, E.Ofek và Y.Wexler [3] Detecting Text in Natural Scenes with Stroke Width Transform B.Epshtein, E.Ofek và Y.Wexler [4] Detecting Text in Natural Scenes with Stroke Width Transform B.Epshtein, E.Ofek và Y.Wexler [5] Scene Text Detection via Stroke Width Yao Li and Huchuan Lu 21st International Conference on Pattern Recognition (ICPR 2012) November 11-15, 2012. Tsukuba, Japan

[6] Scene Text Detection via Stroke Width Yao Li and Huchuan Lu 21st International Conference on Pattern Recognition (ICPR 2012) November 11-15, 2012. Tsukuba, Japan

[7] Scene Text Detection via Stroke Width Yao Li and Huchuan Lu 21st International Conference on Pattern Recognition (ICPR 2012) November 11-15, 2012. Tsukuba, Japan

[8] End-to-End Scene Text Recognition Kai Wang, Boris Babenko and Serge Belongie Department of Computer Science and Engineering University of California, San Diego

[9] End-to-End Scene Text Recognition Kai Wang, Boris Babenko and Serge Belongie Department of Computer Science and Engineering University of California, San Diego

[10] End-to-End Scene Text Recognition Kai Wang, Boris Babenko and Serge Belongie Department of Computer Science and Engineering University of California, San Diego

(21)

Trang 21

Phần VI. Lời kết

Cảm ơn sự giúp đỡ nhiệt tình của Thầy Võ Trung Dung cũng như các Thầy Cô giáo bộ môn đã giúp đỡ và cung cấp cho em những kiến thức để hoàn thành đồ án này.

Trong đồ án này không thể không kể đến người bạn nước ngoài của em là Gili Weiner đã nhiệt tình trao đổi thông qua e-mail và giúp em hiểu rõ hơn những khúc mắc về thuật toán này.

Trong quá trình làm đồ án chắc hẳn còn có sai thiếu về mặt kiến thức và diễn giải, em rất cảm ơn sự góp ý quý báu của Thầy Võ Trung Dũng và các bạn sinh viên khác.

Sau khi hoàn tất đồ án này em định hướng luận văn tốt nghiệp của mình sẽ là viết một ứng dụng có thể chụp hình và dịch các ký tự thông qua việc nhận diện và đọc ký tự.

Referências

Documentos relacionados

O setor calçadista está em expansão no Brasil, principalmente no que se refere a sua importação, o que leva as empresas a investirem em tecnologias diferenciadas para apresentar um

O objeto do presente Credenciamento é o cadastramento de Agricultores Familiares para os fins de aquisição de gêneros alimentícios da Agricultura Familiar para o

de Ciências e de Biol 04 cr Trabalho Acadêmico de Conclusão de Curso – Lic 03 cr Biologia e Fisiologia Celular 04 cr Biologia do Desenvolvimento Humano 04 cr Genética

discutimos como reflexões espaciais podem ser gestadas para além dos confins da ciência geográfica; em seguida verificamos como algumas dimensões do conceito

ATKINSON foi advogado, comerciante e escritor norte americano nascido em l862 e falecido em l932. Dedicou-se à difusão da Filosofia Iogue e do Ocultismo Oriental no ocidente,

ESCOVA PARA ASPIRAÇÃO (T) Indicado para limpar o pó de superfícies delica- das graças às macias cerdas de que é dotado, como molduras, livros, etc.

1º HOMOLOGAR o afastamento da Professora do Magistério Superior LIGIANA LOURENÇO DE SOUZA, matrícula nº 2321414, lotada no Instituto Socioambiental e dos Recursos Hídricos/ISARH,

ridade, local de trabalho, área de atuação e se esse profissional pos- suía registro ativo no CRCES; três outras variáveis foram relacionadas ao CRC, ou seja, uma sobre o PEPC,