Tiền xử lýtrước khi phân tích ảnh văn bản cần nhận dạng

Một phần của tài liệu Nhận dạng chữ viết tay hạn chế dựa trên mô hình mạng nơron kết hợp với thống kê ngữ cảnh (Trang 65)

B ước tiền x ử lý được thực hiện ở giai đoạn này n h à m làm tốt ảnh vă n bản đầu vầo. C ác chức n ă n g cơ bản trong khối này là: P h ân ngưỡng, căn chỉnh độ lệch trang văn bản, lọc nhiễu, nối nét đứt trên ảnh.

Nguyễn Thị Thanh Tân Trang - 65 - Luận văn thạc sĩ

1. Căn chỉnh độ lệch tran g văn bản

N h ư đã đề cập, việc hiệu chỉnh độ lệch trang văn bản g ồ m hai thao tác cơ bản đó là p h á t hiện góc n g h iê n g của trang văn bản và xoay lại văn bản cho th ả n g (góc nơhiêng c ủ a văn bản bằn g 0°). Để phát tính góc n g h iê n g của trang văn bản, ở đây ch ú n g tôi sử dụng thuật toán biến đổi H o ug h. Ý tư ở n g c ơ bản của p h ư ơ n g ph áp này là dựa v ào thuật toán biến dổi H ou gh, ta xác định m ộ t đ ư ờ n g thẳng dài nhất trên tranơ văn bản. Đ ư ờ n g th ẳ n g này chính là thành p h ầ n định h ư ớ n g của văn bản. T ro n g thực tế, đ ườ n g th ẳn g này th ư ờ n g k h ô n g liên tục v à ta coi đư ờ n g th ẳ n g dài nh ấ t trong văn bản là đ ư ờ n g thẳn g tập trun g n hiều điểm ảnh nhất (điểm đen). Quá trình thực hiện cụ thể n h ư sau:

T ất cả các đ ườ n g th ẳn g đi qua m ọi đ iểm (x,y) tro n g m ộ t ảnh đều có dạng:

y = mx + c, với các giá trị m v à c khác nhau. B iểu th ứ c này c ũ n g có thể viế t dưới

d ạ n g c = - m x + y , tr o n g đ ó X v à y là các h à n g số, c v à m là các b iế n .

K hi đó m ỗi điểm tro n g k h ô n g gian (x,y) sẽ tư ơ n g ứ n g với m ộ t đường th ẳ n g trong k h ôn g gian (m,c).

■ V ới bất kỳ đư ờ n g th ẳ n g nào đi qu a đ iể m (x,y) đều tư ơ n g ứng với m ộ t điểm trong k h ô ng gian (m ,c) v à tất cả các đ ư ờ n g th ẳ n g đi q u a m ộ t điểm ảnh trong k h ô n g gian (x,y) sẽ tạo nên m ột đ ư ờ n g th ẳ n g tư ơ n g ứ n g trong k h ô n g gian (m,c).

■ G iao điểm của hai đ ư ờ n g th ẳng đ ư ợ c tạo ra tro n g k h ô n g gian (m,c) sẽ tương ứn g với đư ờ n g th ẳ n g đi q u a hai điểm ảnh tro n g k h ô n g gian (x,y).

■ N ế u n điểm trong k h ô n g gian (x,y) c ù n g n ằ m trên m ộ t đư ờ ng thẳng , thì n

đư ờ n g thẳng tươ ng ứ n g trong k h ô n g gian (m ,c) sẽ cắt n h a u tại m ộ t điểm mà tư ơ n g ứ n g với đ ư ờ n g th ẳ n g đó tro n g k h ô n g gian (x,y).

T ừ đó, ta x ác định đ ư ờ n g thẳng n h ư sau:

■ Ta coi k h ô ng gian (m ,c) là m ộ t m ả n g hai chiều.

■ Tât cả các p h â n tử c ủ a m ả n g này đều đ ư ợ c khởi tạo b ằ n g 0.

Nguyễn Thị Thanh Tân Trang - 66 - Luận văn thạc sĩ

■ Đổi với m ỗi điểm ảnh den (x,y), ta thêm 1 vào phần tử (m ,c) của m ản g sao cho thoả mãn: y = mx + c .

■ Tìm các giá trị lớn trong mảng, mỗi giá trị lớn tương ứng với m ột đường thẳng.

Đ ể dễ tính toán hơn, ta chuyển p hư ơ n g trình của đường thẳng về dạng:

R = X * cos(ớ) + y * sin(<9) thay vì y = mx + c

M ỗi cặp (9, R) xác định m ột đường thẳng trong không gian (x,y). B iến 0 xác định góc n g hiên g của đ ườ n g thẳng. Với mỗi góc 0 cho trước, biến R xác định khoảng cách giữa điểm (0,0) v à đường thẳng đi qua (x,y) với góc ngh iên g 9.

T h u ậ t toán được m ô tả cụ thể hơn nh ư sau:

INPUT:

Ảnh văn bản cần nhận dạng OUTPUT:

Độ nghiêng của trang văn bản PROCESS:

B ư ớ c 1:

Tạo mảng lưu trữ, đường thẳng dài nhất trong ảnh là đường chéo:

allocate AccArray[-45..45 step 0.5, O..image_điagonal_length] B ư ớ c 2:

Duyệt tất cả các pixel trên ảnh. Với mỗi điểm ảnh (không phải điểm nền) (x,y), thực hiện các bước sau:

2.1) for 9 = -45° to 45° step 0.5;

2.2) r = x*cos(9*PI/360) + y*sin(e*PI/360); 2.3) if r > 0 then AccArray[9, round(r)]++;

B ư ớ c 3:

Tìm kiếm các giá trị lớn nhất trong mảng AccAưay (góc 9 tương ứng là góc của đường thăng chúng ta đang tìm kiếm)

B ư ớ c 4: return 9

Thuật toán 3-1: Thuật toán xác định góc nghiêng trang văn bản

Nguyễn Thị Thanh Tân Trang - 67 - Luận văn thạc sĩ

Vì mỗi ảnh được tạo thành từ các pixel, m à các pixel có toạ độ dư ơ n g nên ta có thể xem xét R với các giá trị dương. Giá trị lớn nhất của R có thể là độ dài của đường chéo. N h ư vậy, không gian giá trị R sẽ là các giá trị dư ơ n g giữa 0 v à chiều dài đườ ng chéo của ảnh. C húng ta có thể bỏ qua các giá trị âm (n h ữ n g đ ư ờ n g thẳng nằm trên điểm (0,0)) bởi vì dù sao thì chúng cũng chỉ đi qua m ột góc của ảnh.

G óc ngh iên g của văn bản thườ ng nằm tro ng khoảng từ -45° đến 45° (nếu m ột trang văn bản m à nghiêng quá 45° thì có thể coi là nằm ngang). N h ư vậy k h o ản g góc có thể chia th ành 180 phần với độ chính xác là 0.5°. D o đó, góc 9 chỉ có thể nằng trong khoảng từ -45° đến -45° với mỗi bước tăng là 0.5°.

Việc tìm k iếm các giá trị lớn nhất trong m ảng nhằm đảm bảo rằng trang ảnh chúng ta đang xét k h ô n g phải là trang trắng (ở đây chọn tối thiểu là 10 giá trị, n h ư vậy một văn bản ph ải có ít nhất là 10 dòng, tư ơ n g ứn g với ít nhất là 10 giá trị có thể có).

Với m ột d ò ng các kí tự trong ảnh, sẽ có rất nhiều đường th ẳn g có k hả n ă n g được lựa chọn. V ậy thì đườ ng thẳng nào là đường th ẳng xác định hư ớ n g của v ăn bản? C húng ta cũng k h ô n g thể nói rằng ảnh cần phải được tiền xử lý trước khi cung cấp cho thuật toán. M ộ t ý tưởng đã được đề xuất trong [10] là thay thế tất cả vùng liê n thông

( l i ê n t h ô n g b ổ n ) được tạo bởi các điểm đen bằng m ộ t điểm đã đượ c lự a chọn trước.

Có nhiều giải ph áp để lựa chọn điểm này, cách đơn giản nhất là chọn các điểm có toạ độ y là n h ỏ nhất (nếu có nhiều hơn m ộ t điểm có toạ độ y là nhỏ nhất thì lựa chọn điểm có toạ độ X là nhỏ nhất), cách lựa chọn này có nhược đ iểm là đối với các góc nghiêng lớn thì các điểm đại diện cho m ột dòng văn bản có thể sẽ k h ôn g thực sự thẳng hàng. N goài ra, có thể chọn điểm trọng tâm của vùng liê n thông (toạ độ

đ iể m tr ọ n g tâ m c ủ a vùng liên thông đ ư ợ c tín h b ằ n g tr u n g b ìn h c á c t o ạ đ ộ X v à y lớ n

nhất và nhỏ n h ấ t của các điểm tron g ảnh).

M ột vù ng liên thông tương đư ơ ng với m ộ t kí tự của văn bản. D o các đ iểm ảnh kết quả trên m ộ t d ò ng có thể kh ông được sắp thẳng hàng m ột cách tuyệt đổi trên m ột đư ờ ng thăng (do quá trình quét có thê làm biên dạng ảnh). N h ư vậy, việc tính đên

Nguyễn Thị Thanh Tân Trang - 68 - Luận vãn thạc sĩ

các điểm ảnh láng giềng xung q u an h điểm ảnh được lựa chọn trong m ộ t vùng liên th ông sẽ hiệu quà hơn.

Sau khi đã xác định được độ n g h iêng c ủ a tran g văn bản, cần phải xoay lại trang văn bản cho thẳng (góc nghiêng của trang văn bản bằng 0). T hu ật toán xoay ảnh ở đây được thực hiện đơn giản bằng cách c h u y ển từ toạ độ ảnh sang toạ độ cực, sau đó tiến hàn h x o a y ảnh đi m ột góc 0 (góc n g h iê n g của trang văn bản đã đượ c xác định, 0 đ ư ợ c tính theo đơn vị radians) x u n g qu anh tâm của ảnh. T h u ậ t toán xoay lại trang văn bản đươ c thực hiện như sau:

INPUT:

Ảnh của trang văn bản cần nhận dạng (ảnh bị nghiêng). Góc nghiêng của trang ảnh 0 (theo radian).

OUTPUT:

Ảnh đã được xoay đi một góc 9 (ảnh không bị nghiêng). PROCESS:

1) newwidth = abs((oldwidth*cos(0))) + abs((oldheight*sin(9)));

2 ) n e w h e ig h t = a b s ((-o ld w id th *s in (9 ))) + a b s ((o ld h e ig h t*c o s (9 )));

3)

for y = 0 to ncwheight for X = 0 to ne w w idth{

3.1) new_x = (x - haIfnewwidth)*cos(9) + (y-halfnewheight)*sin(0); 3.2) new_y = ( -((x - halfnewwidth)*sin(9)) + (y - halfnewheight)*cos(9)); 3.3) new_x = new_x + halfoldwidth; //xuất phát từ tâm của ảnh

3.4) new_y = new_y + halfoldheight; 3.5) if(get_pixel_value(oldImage, ny, nx)==l) s e tjp ix e l_ v a lu e (n e w lm a g e , y, X, 1) else set_pixel_value(newlmage, y, X, 0); } 4) return nevvlmage

Thuật toán 3-2: Thuật toán xoay ảnh

Nguyễn T hị Thanh Tân T ra n g - 6 9 - Luận văn thạc sĩ

Kết quả thực nghiệm của quá trình căn chỉnh độ lệch tran g văn bản đ ư ợ c thể hiện trên Hình 3.2

The statistical method oJ linear model. Each colli components. The first te

causes can be either CO]

are termed “factors” in ways assume that the fa<

a) Ả n h đầu vào bị nghiêng

The statistical method of ; linear model. Each collec components. The first ten causes can be either cont are termed “factors” in th ways assume that the fact(

b) Ả n h sau khi đ ư ợ c căn chình độ lệch

Hình 3.2: Ảnh đầu vào và đầu ra của thuật toán căn chỉnh độ lệch trang văn bản

2. L ọc nhiễu

Hai loại nhiễu th ư ờ n g gặp trong nh ận dạn g ảnh nói c h u n g v à n h ậ n d ạ n g ch ữ nói riêng là n hiễu đóm và nhiễu vạch (thể hiện trên Hình 3.3)

a) Ảnh nhiễu vạch

•* /V /

b) Anh nhiêu đôm

Hình 3.3: Kiếu nhiễu đốm và nhiễu vạch thường gặp trong nhận dạng

Đ ể k h ử nhiễu, ở đây chúng tôi đã cài đặt cả hai p h ư ơ n g pháp: p h ư ơ n g p h á p lọc tru ng vị (m e d ia n filter) kết hợp với p h ư ơ n g p h á p k h ử m iền liên th ô n g nhỏ. P h ư ơ n g ph áp lọc tru n g vị thích hợp để k h ử các n h iễ u đ ốm . T u y n h iên , với các n hiễu vệt đen

Nguvễn T hị Thanh Tân Trang - 70 - Luận văn thạc sĩ

(hoặc các nhiễu có kích thước lớn) thì các ph ư ơ n g pháp lọc này k h ô n g hiệu quả, trong trư ờ n g hợp này chúng tôi sử dụng phư ơ ng pháp k hử các v ùn g liên thông nhỏ. Ý tư ở n g chính của p hươ ng pháp này n hư sau:

■ X ác định tất cả các vùng liên thông trên ảnh.

■ V ới m ỗi v ù ng liên thông nhỏ (có kích thước < ng ư ỡ n g 0), kiểm tra xem đó có phải là nhiêu hay không (với giới hạn đâu vào của hệ thống là các văn bản chữ viết tay không dấu, m ột vùng liên thông sẽ được coi là nhiễu nếu đó kh ông phải là dấu của chừ ỉ, dấu chấm câu , dấu phẩy )? N ếu đúng, tiến hành x óa các vùng liên th ông này.

3. P h â n ngưchng: Chức năng này có nhiệm vụ chuyển ảnh đa cấp x ám (ảnh grey, ảnh m ầu) về ảnh nhị phân (ảnh đen trắng). P hư ơ ng pháp phân n g ư ỡ n g được cài đặt ở đây là phươ ng pháp sử dụng hàm phân ngưỡng:

T ro n g đó, I(x,y) là giá trị điểm ảnh tại vị trí (x,y) của ảnh nguồn, F ( x >y) là giá trị đ iể m ảnh tương ứng của ảnh đích, T là m ột ngưỡng, giá trị của ng ư ỡ n g này có thể ch ọn cố định trước hoặc tuỳ chọn theo từng v ù n g ảnh đang xét (trường hợp đơn giản nhất, chọn T = 0).

4. N ối nét đ ứ t trên ảnh: ph ư ơ n g ph áp thực hiên ở đây là sử d ụn g các phép toán hình thái dilation (làm béo) và erosion (làm gầy).

Một phần của tài liệu Nhận dạng chữ viết tay hạn chế dựa trên mô hình mạng nơron kết hợp với thống kê ngữ cảnh (Trang 65)

Tải bản đầy đủ (PDF)

(103 trang)