Bảng sau thấy mối liên hệ giữa số bit trên một pixel với số màu mà pixel có thể thể hiện: Bits/pixel Số màu pixel thể hiện Hình sau cho thấy các giá trị màu của một ảnh Bitmap mà 1 pixel
Trang 1MỤC LỤC
LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined.
MỤC LỤC 1
LỜI NÓI ĐẦU 5
CHƯƠNG 1 TỔNG QUAN VỀ XỬ LÝ ẢNH 6
1.1 MỘT SỐ ĐỊNH NGHĨA CƠ BẢN 6
1.1.1 Xử lý ảnh 6
1.1.2 Ảnh số 6
1.1.3 Điểm ảnh 6
1.1.4 Mức xám 7
1.1.5 Kỹ thuật xử lý ảnh 7
1.1.6 Hệ thống xử lý ảnh trên máy tính 7
1.1.7 Thị giác máy 8
1.2 THU NHẬN ẢNH VÀ THÔNG TIN VỀ ẢNH 8
1.2.1 Thu nhận ảnh 8
1.2.2 Thông tin về ảnh 10
1.3 CẤU TRÚC TẬP TIN ẢNH BITMAP 11
1.4 MÔ HÌNH MÀU 13
1.4.1 Các mô hình màu 13
1.4.2 Chuyển đổi các mô hình màu 19
1.5 CÁC GIAI ĐOẠN TRONG XỬ LÝ ẢNH 19
Trang 21.5.1 Thu nhận ảnh 20
1.5.2 Tiền xử lý 20
1.5.3 Trích chọn dấu hiệu 20
1.5.4 Nhận dạng 20
1.6 CÁC MỨC ĐỘ CỦA HỆ THỐNG XỬ LÝ ẢNH 21
1.7 ỨNG DỤNG CỦA XỬ LÝ ẢNH 21
CHƯƠNG 2 NHẬN DẠNG ẢNH 23
2.1 TỔNG QUAN VỀ NHẬN DẠNG ẢNH 23
2.1.1 Mô hình nhận dạng ảnh 23
2.1.2 Bản chất nhận dạng ảnh 25
2.2 MỘT SỐ CÁCH TIẾP CẬN TRONG NHẬN DẠNG ẢNH 26
2.2.1 Nhận dạng dựa vào phân hoạch không gian 27
2.2.2 Nhận dạng dựa vào cấu trúc 29
2.2.3 Nhận dạng dựa vào kỹ thuật mạng nơ ron 31
CHƯƠNG 3 NHẬN DẠNG KÍ TỰ VÀ BÀI TOÁN CHẤM ĐIỂM THI TRẮC NGHIỆM 37
3.1 LÝ THUYẾT CHUNG VỀ NHẬN DẠNG KÍ TỰ 37
3.1.1 Sơ đồ tổng quát của một hệ nhận dạng chữ 37
3.1.2 Giai đoạn xử lý sơ bộ 38
3.1.3 Giai đoạn tách chữ 42
3.1.4 Một số thuật toán nhận dạng chữ 42
3.1.5 Phục hồi văn bản 49
3.2 MỘT SỐ KĨ THUẬT CỤ THỂ TRONG NHẬN DẠNG KÍ TỰ 49
Trang 33.2.1 Kỹ thuật nhận dạng dòng văn bản 49
3.2.2 Kỹ thuật xác định từng kí tự trong một dòng 50
3.2.3 Nhận dạng 53
3.2.4 Học 54
3.2.5 Phục hồi văn bản 54
3.3 NHẬN DẠNG CHỮ VIẾT TAY 55
3.3.1 Đặt vấn đề 55
3.3.2 Phân tích bài toán 55
3.3.3 Một ý tưởng đơn giản cho bài toán nhận dạng chữ viết tay 56
3.4 ỨNG DỤNG TRONG CÔNG TÁC CHẤM ĐIỂM THI TRẮC NGHIỆM 56
3.4.1 Đặt vấn đề 56
3.4.2 Phân tích bài toán 57
3.4.3 Cách giải quyết bài toán 57
3.5 GIỚI THIỆU CHƯƠNG TRÌNH NHẬN DẠNG KÍ TỰ VÀ ỨNG DỤNG TRONG CÔNG TÁC CHẤM ĐIỂM THI TRẮC NGHIỆM 58
3.5.1 Chương trình nhận dạng kí tự 59
3.5.2 Chương trình chấm điểm thi trắc nghiệm 61
3.5.3 Chương trình nhận dạng chữ viết tay 62
3.5.4 Chương trình soạn thảo văn bản 62
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC 64
Mã nguồn một số module chính 64
Trang 4 Xác định dòng 65
Xác định biên kí tự 66
Nhận dạng 67
Học 68
Một số hàm trong nhận dạng chữ viết tay 69
Một số hàm cơ bản phuc vụ hàm nhận dạng chữ viết tay 70
Nội dung đĩa CD đi kèm 73
Tài liệu báo cáo đề tài 73
Chương trình cài đặt 73
Hướng dẫn sử dụng 73
NHẬN XÉT 74
Trang 5LỜI NÓI ĐẦU
Hiện nay, trên thế giới nhu cầu chuyển đổi qua lại giữa các loại dữ liệu là rất lớn Để đáp ứng nhu cầu này cũng đã có rất nhiều phần mềm được tạo ra và phần nào đã giải quyết được những nhu cầu đó Tuy nhiên những phần mềm chuyển đổi giữa kí tự có trong một tập tin ảnh sang một tập tin văn bản thì chưa nhiều về số lượng cũng như còn hạn chế về chất lượng và giá cả
Không nằm ngoại lệ, ở Việt Nam hiện nay, các phần mềm nhận dạng kí tự không nhiều do sự khó khăn trong công tác nhận dạng cũng như xử lý nhiễu Việc nhận dạng kí tự tiếng Việt lại càng phức tạp hơn do số lượng kí tự nhiều, tỷ
lệ nhiễu rất cao Không những vậy giá thành còn chưa thực sự phù hợp với phần
đông người dùng Đề tài “Nhận dạng ký tự và ứng dụng chấm điểm thi trắc nghiệm” sẽ là một đề tài có ý nghĩa xã hội cao do nó cung cấp cho mọi người
một ứng dụng miễn phí để giải quyết vấn đề nhận dạng kí tự tiếng Việt
Viêc áp dụng thuật toán nhận dạng còn có thể được ứng dụng trong việc chấm điểm thi trắc nghiệm tự động, với tốc độ cao, độ chính xác đảm bảo, đặc biệt tạo tính nghiêm minh khách quan
Trang 6Ảnh được xem như là một tập hợp các điểm ảnh Khi được số hoá nó thường được biểu diễn là ma trận hai chiều a[i][j] mà mỗi phần tử có một giá trị
nguyên hoặc là một véc tơ cấu trúc màu
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng
Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh Trong quá trình số hoá, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hoá về không gian) và lượng tử hoá thành phần giá trị mà
về nguyên tắc bằng mắt thường không phân biệt được hai điểm kề nhau Trong quá trình này người ta sử dụng khái niệm điểm ảnh được gọi từ picture element
1.1.3 Điểm ảnh
Điểm ảnh hay còn gọi là pixel (picture element, pels, image elements)
được xem như là dấu hiệu hay cường độ sáng tại một toạ độ trong không gian của
Trang 7Khái niệm điểm không có kích thước
Đầu vào: là ảnh hoặc không là ảnh
Đầu ra: là một ảnh trên máy tính
Trang 8Xử lý ảnh:
Đầu vào: là ảnh
Đầu ra: là ảnh “tốt hơn” (theo nghĩa của người sử dụng)
hoặc một đặc điểm hoặc một dãy đặc điểm
Trong đồ hoạ máy tính, đối tượng xử lý là 2 hoặc 3 chiều Còn xử lý ảnh không chỉ làm việc với dữ liệu 2 chiều hay 3 chiều có khi nhiều hơn
A4: ADF (Automatic Document Feeder), Duplex
A3: Fujitshu, Vííonhape cầm tay
Nhìn chung các hệ thống thu nhận ảnh thực hiện hai quá trình:
+ Cảm biến: biến đổi năng lượng quang học thành năng lượng điện
+ Tổng hợp năng lượng điện thành năng lượng ảnh
Trong quá trình số hoá, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu và lượng tử hoá thành phần giá trị
Trang 9Cảm nhận màu
Phần nhạy cảm với ảnh: võng mạc
Retina bao gồm hai loại tế bào: rods (dạng hình que) và cones (dạng hình nón)
Cone nhạy với màu sắc
Các tế bào que cho một hình ảnh chung về trường chiếu sáng, nó không nhạy với màu sắc mà nhạy với ánh sáng có mức thấp
Biểu diễn màu
Ánh sáng màu là tổ hợp của ánh sáng đơn sắc Mắt người chỉ có thể cảm nhận được vài chục màu Song lại có thể phân biệt tới hàng ngàn màu:
Brightness: sắc màu, còn gọi là độ chói
Hue: sắc lượng hay còn là sắc thái màu
Saturation: độ bão hoà
Với nguồn sáng đơn sắc, độ hue tương ứng với bước sóng [380nm,
780 nm]
Hình 1.1 Mắt người
Trang 111.3 CẤU TRÚC TẬP TIN ẢNH BITMAP
Ảnh Bitmap là một trong rất nhiều định dạng chuẩn thường gặp, có phần
mở rộng là *.BMP, được Microsoft Corporation đưa ra lần đầu tiên trong phiên bản Windows 3.0 trở lên Mỗi ảnh Bitmap đều gồm 3 phần chính là:
Trang 12Ví dụ như nếu mỗi pixel được thể hiện bởi 4 bits, thì khi đó số lượng màu
mà pixel có thể xác định là 16 màu Bảng sau thấy mối liên hệ giữa số bit trên một pixel với số màu mà pixel có thể thể hiện:
Bits/pixel Số màu pixel thể hiện
Hình sau cho thấy các giá trị màu của một ảnh Bitmap mà 1 pixel được thể hiện bởi 24 bit (mỗi màu RGB được xác định bởi 8 bits):
Hình 1.2 Bảng màu của ảnh Bitmap 24 bit/pixel Trên thực tế thường gặp nhất là loại ảnh bitmap với 24 bits/pixel, do định dạng của ảnh nhị phân không được nén nên nó không thích hợp cho việc truyền tải trên môi trường mạng Một khái niệm khác liên quan đến định dạng file Bitmap không thể không nhắc đến là “Bitmap độc lập với thiết bị” hay còn gọi là
Trang 13để các giá trị điểm ảnh có thể tương ứng những giá trị màu R G B, điều đó cũng
mô tả màu sắc được tạo ra từ sự phát sáng Vì vậy DIB có thể thể hiện được màu sắc thích hợp trên bất kì thiết bị nào, DIB bao gồm những thông tin về màu sắc
và kích thước như sau:
+ Khuôn dạng màu sắc của thiết bị mà trên đó ảnh được tạo ra
+ Độ phân giải của thiết bị tạo ra ảnh
+ Bảng màu cho thiết bị tạo ra ảnh
+ Một mảng những bit ánh xạ bộ màu Red, Green, Blue tới những pixel
sử dụng để giảm bớt kích thước của ảnh bitmap Cũng cấu trúc RGBQuad lại xác định những màu xuất hiện trên các pixel đó Có hai sự khác biệt của DIB đó là:
+ DIB từ dưới lên, tức là dòng ảnh đầu tiên sẽ là ở dưới cùng bắt đầu từ bên trái
+ DIB từ trên xuống, dòng ảnh đầu tiên ở trên cùng bên trái
1.4 MÔ HÌNH MÀU
1.4.1 Các mô hình màu
Ánh sáng mà con người nhận biết (hay màu khác nhau) là dải tần hẹp trong quang phổ điện từ
Trang 14
Hình 1.3 Quang phổ
Xét cấu tạo của mắt và việc nhìn thì tất cả các màu đều là liên kết của 3 màu sơ cấp: đỏ (R), lục(B), lam(G) Bước sóng của 3 màu cơ bản là: B = 435,8 nm; G = 546,1 nm; R = 700nm
a) RGB
Mô hình màu RGB được biểu diễn bởi lập phương với các trục R, G, B Gốc biểu diễn màu đen
Tọa độ (1, 1, 1) biểu diễn màu trắng
Tọa độ trên các cạnh trục biểu diễn các màu cơ sở
Các cạnh còn lại biểu diễn màu bù cho mỗi màu cơ sở
Trang 15
Hình 1.4 Mô hình màu RGB
Đường chéo từ (0, 0, 0) đến (1, 1, 1) là biểu diễn màu xám
Cho 2 điểm ảnh P1 (r1, g1, b1), P2 (r2, g2, b2) khoảng cách Ơcơlit giữa 2 màu
= (r1r2)2(g1g2)2(b1b2)2Khoảng cách Hamono labus
=(x-y)TA(x-y)
A là ma trận xác định dương xTAx >0 Biểu đồ RGB thuộc mô hình cộng:
Phát sinh màu mới bằng cách cộng cường độ màu cơ sở Gán giá trị từ 0 đến 1 cho R, G, B
Red (1,0,0)
Blue (0,0,1)
yellow (1,1,0)
Trang 16Red = 4, Green = 2, Blue = 1, Magenta = R + B = 5, Yellow = R + G = 6, Cyan = G + B = 3, Black = 0, White = 7
Hình 1.6 Mô hình CMYK(trừ tính) C) HSV H (Hue) bước sóng gốc của ánh sáng
S (Saturation) thước đo độ tinh khiết ánh sáng gốc
Biểu diễn tỷ lệ tinh khiết của màu sẽ chọn với độ tinh khiết cực đại
Trang 17Mô hình HSV suy diễn từ mô hình RGB
Hãy quan sát hình hộp RGB theo đường chéo từ White đến Black (gốc) ta
0
360 0
V S
Mô hình HSV trực giác hơn mô hình RGB
+ Bắt đầu từ Hue (H cho trước và V=1, S=1)
+ Thay đổi S: Bổ sung hay bớt trắng
+ Thay đổi V: Bổ sung hay bớt đen
+ Cho đến khi có màu mong muốn
Trang 18
Hình 1.7 Mô hình HSV Mắt người có thể phân biệt 128 Hues, 130 tints và cực đại 30 shades (Yellow):
Black
White
Tints (add white)
Shades (add black)
Pure Hue
Trang 191.4.2 Chuyển đổi các mô hình màu
RGB chuyển đổi sang HSV, CMY, HIS và ngược lại
Y B
M G
C R
K M M
K C C
1.5 CÁC GIAI ĐOẠN TRONG XỬ LÝ ẢNH
Để có thể hình dung cấu hình một hệ thống xử lý ảnh chuyên dụng hay một hệ thống xử lý ảnh dùng trong nghiên cứu, đào tạo, trước hết chúng ta sẽ xem xét các bước cần thiết trong xử lý ảnh
Đầu tiên là quá 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ưng cũng có thể là tín hiệu số hoá (loại CCD - Charge Coupled Device)
Trang 201.5.1 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ự cũng có thể là tín hiệu số hoá), từ vệ tinh qua các bộ cảm ứng (sensor) hay ảnh, tranh được quét trên scanner
Sau đó ảnh được số hoá để biến đổi tín hiệu tương tự sang tín hiệu rời rạc (lấy mẫu) và số hoá bằng lượng hoá
1.5.2 Tiền xử lý
Làm tốt các ảnh để nâng cao chất lượng ảnh (xoá nhiễu, tăng cấp sáng, làm trơn các biên, lọc, tăng độ tương phản…)
Do những nguyên nhân khác nhau: có thể do chất lượng thiết bị thu nhận,
do nguồn sá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 lại ảnh để làm nổi bật một số đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với trạng thái gốc - trạng thái trước khi ảnh bị biến dạng
(Photoshop dừng ở giai đoạn này)
Trang 211.6 CÁC MỨC ĐỘ CỦA HỆ THỐNG XỬ LÝ ẢNH
-Mức độ thấp: chỉ biết sử dụng các kỹ thuật xử lý ảnh đơn giản, thuần tuý,
không có tri thức
-Trung bình: có một chút về tri thức (trí tuệ nhân tạo)
-Cao: thu nhận ảnh, xử lý, nhận dạng, phân tích ảnh, ra quyết định
1.7 ỨNG DỤNG CỦA XỬ LÝ ẢNH
Văn phòng: hệ thống nhận dạng chữ, nhận dạng tiếng Anh, tiếng Việt
Image→Table + Text + Image : nhận dạng được cả chữ, ảnh, bảng Image→f orm
Nhận dạng chữ OCR (Optical charater Recognition),
Nhận dạng nhãn OMR (Optical Mark Recognition)
So sánh mầu của sản phẩm mẫu với sản phẩm mới
Kiểm tra độ tròn của chai, lọ
Nhận dạng công nghiệp, y học, thương mại, điều tra khoáng sản
Địa lý: véc tơ hoá bản đồ
Các phần mềm chuyển đổi ảnh Raster sang ảnh vector
Dự báo thời tiết, cháy rừng, lũ lụt, sâu bệnh, khoáng sản
Thiên văn học, vật lý, sinh học
Trang 22 An ninh
Nhận dạng vân tay,Water Marking
Nhận dạng khuôn mặt người, nhận dạng tội phạm
Dấu thông tin trong ảnh
Chống bạo lực: dùng camera để phát hiện ra sự an toàn ở nơi công cộng
Trang 23CHƯƠNG 2 NHẬN DẠNG ẢNH
2.1 TỔNG QUAN VỀ NHẬN DẠNG ẢNH
Nhận dạng ảnh là quá trình liên quan đến mô tả các đối tượng mà người ta muố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ính chủ yếu của đối tượng
2.1.1 Mô hình nhận dạng ảnh
Nhìn chung, dù là mô hình nào và kỹ thuật nhận dạng ra sao, một hệ thống nhận dạng có thể tóm tắt theo sơ đồ sau:
Trích chọn đặc tính Phân lớp trả lời Đánh
biểu diễn đối tượng ra quyết định giá
Quá trình tiền xử lý Khối nhận dạng
Hình 2.1 Sơ đồ tổng quát một hệ nhận dạng
Việc chọn lựa một quá trình nhận dạng có liên quan mật thiết đến kiểu mô
tả mà người ta sử dụng để đặc tả đối tượng Trong nhận dạng, người ta phân chia làm 2 họ lớn:
- Họ mô tả theo tham số
- Họ mô tả theo cấu trúc
Cách mô tả được lựa chọn sẽ xác định mô hình của đối tượng Như vậy, với hai họ mô tả trên chúng ta sẽ có hai loại mô hình: mô hình theo tham số và
mô hình cấu trúc
2.1.1.1 Mô hình theo tham số
Sử dụng một véctơ để đặc tả đối tượng Mỗi phần tử của véctơ mô tả một đặc tính của đối tượng Thí dụ như trong các đặc trưng chức năng, người ta sử
Trang 24dụng các hàm cơ sở trực giao để biểu diễn Và như vậy ảnh sẽ được biểu diễn bởi một chuỗi các hàm trực giao
2.1.1.2 Mô hình theo cấu trúc
Cách tiếp cận của mô hình này dựa vào việc mô tả đối tượng nhờ một số khái niệm biểu thị các đối tượng cơ sở trong ngôn ngữ tự nhiên Để mô tả đối tượng, người ta dùng một số dạng nguyên thuỷ như đoạn thẳng, cung, vv… Chẳng hạn một hình chữ nhật được định nghĩa gồm bốn đoạn thẳng vuông góc với nhau từng đôi một
Trong mô hình này người ta sử dụng một bộ kí hiệu kết thúc Vt, một bộ kí hiệu không kết thúc gọi là Vn Ngoài ra có dùng một tập các luật sản xuất để mô
tả cách xây dựng các đối tượng phù hợp dựa trên các đối tượng đơn giản hơn hoặc đối tượng nguyên thuỷ (tập Vt)
Trong cách tiếp cận này, ta chấp nhận một khẳng đinh là: cấu trúc một dạng là kết quả của việc áp dụng luật sản xuất theo theo những nguyên tắc xác định bắt đầu từ một dạng gốc bắt đầu Một cách hình thức, ta có thể coi mô hình này tương đương một văn phạm G = (Vt, Vn, P, S) với:
- Vt là bộ ký hiệu kết thúc,
- Vn là bộ ký hiệu không kết thúc,
- P là luật sản xuất,
- S là dạng (ký hiệu bắt đầu)
Thí dụ, đối tượng nhà gồm mái và tường, mái là một tam giác gồm 3 cạnh
là 3 đoạn thẳng, tường là một hình chữ nhật gồm 4 cạnh vuông góc với nhau từng đôi một sẽ được mô tả thông qua cấu trúc mô tả dựa vào văn phạm sinh như chỉ
ra trong hình dưới đây
Trang 25Quá trình nhận dạng gồm ba giai đoạn chính:
- Lựa chọn mô hình biểu diễn đối tượng
- Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học
- Học, nhận dạng
Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng (mô hình tham số) hay định tính (mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn học Học là giai đoạn rất quan trọng Thao tác học nhằm cải thiện, điều chỉnh việc phân hoạch tập đối tượng thành các lớp
Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng vào một lớp hay nói một cách khác gán cho đối tượng một tên Cho đến nay, công tác nhận dạng ảnh vẫn được thực hiện thông qua hai kỹ thuật chính đó là: học có thầy và học không có thầy
2.1.2.1 Học có thầy
Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học có thầy Đặc điểm
cơ bản của kỹ thuật này là người ta có một thư viện các mẫu chuẩn Mẫu cần nhận dạng sẽ được đem sánh với mẫu chuẩn để xem nó thuộc loại nào
Thí dụ như trong một ảnh viễn thám, người ta muốn phân biệt một cánh đồng lúa, một cánh rừng hay một vùng đất hoang mà đã có các miêu tả về các đối tượng đó Vấn đề chủ yếu là thiết kế một hệ thống để có thể đối sánh đối tượng trong ảnh với mẫu chuẩn và quyết định gán cho chúng vào một lớp Việc đối
Trang 26sánh nhờ vào các thủ tục ra quyết định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết định
Kỹ thuật này nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách tốt nhất Bắt đầu từ tập dữ liệu, nhiều thủ tục xử lý khác nhau nhằm phân lớp và nâng cấp dần để đạt được một phương án phân loại
2.2 MỘT SỐ CÁCH TIẾP CẬN TRONG NHẬN DẠNG ẢNH
Trong lý thuyết nhận dạng nói chung và nhận dạng ảnh nói riêng có ba cách tiếp cận khác nhau:
- Nhận dạng dựa vào phân hoạch không gian
- Nhận dạng dựa vào cấu trúc
- Nhận dạng dựa vào kỹ thuật mạng nơ ron
Hai cách tiếp cận đầu là các kỹ thuật kinh điển Các đối tượng ảnh quan sát và thu nhận được phải trải qua giai đoạn tiền xử lý nhằm tăng cường chất lượng, làm nổi các chi tiết, tiếp theo là trích chọn và biểu diễn các đặc trưng, và cuối cùng mới qua giai đoạn nhận dạng
Cách tiếp cận thứ ba hoàn toàn khác Nó dựa vào cơ chế đoán nhận, lưu trữ và phân biệt đối tượng mô phỏng theo hoạt động của hệ thần kinh con người
Do cơ chế đặc biệt, các đối tượng thu nhận bởi thị giác người không cần qua giai đoạn cải thiện mà chuyển ngay sang giai đoạn tổng hợp, đối sánh với các mẫu đã lưu trữ để nhận dạng Đây là cách tiếp cận có nhiều hứa hẹn
Các cách tiếp cận trên sẽ trình bày chi tiết trong các phần dưới đây
Trang 272.2.1 Nhận dạng dựa vào phân hoạch không gian
Trong kỹ thuật này, các đối tượng nhận dạng là các đối tượng định lượng Mỗi đối tượng được biểu diễn bởi một véctơ nhiều chiều
Để hiểu được chi tiết từng thuật toán trước tiên chúng ta tìm hiểu thêm một vài cơ sở lý thuyết liên quan
2.2.1.1 Phân hoạch không gian
Giả sử không gian đối tượng X được định nghĩa :
X = {Xi, i=1, 2, ,m}, Xi là một véctơ
Nói P là một phân hoạch của không gian X thành các lớp Ci, Ci X nếu:
Ci Cj = Ø với i j và Ci = X
Nói chung, đây là trường hợp lý tưởng: tập X tách được hoàn toàn Trong thực tế, thường gặp không gian biểu diễn tách được từng phần Như vậy phân loại là dựa vào việc xây dựng một ánh xạ
f: X → P
Công cụ xây dựng ánh xạ này là các hàm phân biệt (Descriminant functions)
2.2.1.2 Hàm phân lớp hay hàm ra quyết định
Để phân đối tượng vào các lớp, ta phải xác định số lớp và ranh giới giữa các lớp đó Hàm phân lớp hay hàm phân biệt là một công cụ rất quan trọng Gọi {gi} là lớp các hàm phân lớp Lớp hàm này được định nghĩa như sau:
nếu i k, gk(X) > gi(X) thì ta quyết định X lớp k
Như vậy để phân biệt k lớp, ta cần k-1 hàm phân biệt Hàm phân biệt g của một lớp nào đó thường dùng là hàm tuyến tính, có nghĩa là:
Trang 28Các hàm phân biệt thường được xây dựng dựa trên khái niệm khoảng cách hay dựa vào xác suất có điều kiện
Lẽ tự nhiên, khoảng cách là một công cụ rất tốt để xác định xem đối tượng
có gần nhau hay không Nếu khoảng cách nhỏ hơn một ngưỡng nào đấy ta coi hai đối tượng là giống nhau và gộp chúng vào một lớp Ngược lại, nếu khoảng cách lớn hơn ngưỡng, có nghĩa là chúng khác nhau và ta tách thành hai lớp Trong một số trường hợp, người ta dựa vào xác suất có điều kiện để phân lớp cho đối tượng Lý thuyết xác suất có điều kiện được Bayes nghiên cứu khá
kỹ và chúng ta có thể áp dụng lý thuyết này để phân biệt đối tượng
Gọi : P(X/Ci) là xác suất để có X biết rằng có xuất hiện lớp Ci
P(Ci /X) là xác suất có điều kiện để X thuộc lớp Ci
với X là đối tượng nhận dạng, Ci là các lớp đối tượng
Quá trình học cho phép ta xác định P(X/Ci) và nhờ công thức Bayes về sác xuất có điều kiện áp dụng trong điều kiện nhiều biến, chúng ta sẽ tính được P(Ci/X) theo công thức:
P(Ci /X) =
Nếu P(Ci /X) > P(Ck /X) với i # k thì X Ci
Tuỳ theo các phương pháp nhận dạng khác nhau, hàm phân biệt sẽ có các dạng khác nhau
2.2.1.3 Nhận dạng thống kê
Nếu các đối tượng nhận dạng tuân theo luật phân bố Gauss, mà hàm mật
độ sác xuất cho bởi:
1 (x-m)2f(x) = exp(- ) 2 2
)(
)()/(
1 ( / ) ( )
)()/(
X P
C P C X P n
C P C X
i i
i i
Trang 29Người ta có dùng phương pháp ra quyết định dựa vào lý thuyết Bayes Lý thuyết Bayes thuộc loại lý thuyết thống kê nên phương pháp nhận dạng dựa trên
lý thuyết Bayes có tên là phương pháp thống kê
Quy tắc Bayes
- Cho không gian đối tượng X = {Xl, l=1, 2, , L},
với Xl= {x1, x2, , xp}
- Cho không gian diễn dịch = { C1, C2, , Cr}, r là số lớp
Quy tắc Bayes phát biểu như sau:
: X → sao cho X Ck nếu P(Ck /X) > P(Cl /X) l <> k, l = 1, 2, ,r Trường hợp lý tưởng là nhận dạng luôn đúng, có nghĩa là không có sai số Thực tế, luôn tồn tại sai số trong quá trình nhận dạng Vấn đề ở đây là xây dựng quy tắc nhận dạng với sai số là nhỏ nhất
2.2.2 Nhận dạng dựa vào cấu trúc
2.2.2.1 Biểu diễn định tính
Ngoài cách biễn diễn theo định lượng như đã mô tả ở trên, tồn tại nhiều kiểu đối tượng mang tính định tính.Trong cách biểu diễn này, người ta quan tâm đến các dạng và mối quan hệ giữa chúng Giả thiết rằng mỗi đối tượng được biểu diễn bởi một dãy ký tự Các đặc tính biểu diễn bởi cùng một số ký tự Phương pháp nhận dạng ở đây là nhận dạng lôgíc, dựa và hàm phân biệt là hàm Boolean Cách nhận dạng là nhận dạng các từ có cùng độ dài
Giả sử hàm phân biệt cho mọi ký hiệu là ga(x), gb(x), tương ứng với các
ký hiệu a, b, Để dễ dàng hình dung, ta giả sử có từ "abc" được biểu diễn bởi một dãy ký tự X = {x1, x2, x3, x4} Tính các hàm tương ứng với 4 ký tự và có: ga(x1) + gb(x2) + gc(x3) + gc(x4)
Các phép cộng ở đây chỉ phép toán OR Trên cơ sở tính giá trị cực đại của hàm phân biệt, ta quyết định X có thuộc lớp các từ abc hay không Trong cách tiếp cận này, đối tượng tương đương với câu
Trang 302.2.2.2 Phương pháp ra quyết định dựa vào cấu trúc
Một số khái niệm
Thủ tục phân loại và nhận dạng ở đây gồm 2 giai đoạn:
Giai đoạn đầu là giai đoạn xác định các quy tắc xây dựng, tương đương với việc nghiên cứu một văn phạm trong một ngôn ngữ chính thống Giai đoạn tiếp theo khi đã có văn phạm là xem xét tập các dạng có được sinh ra từ các dạng đó không? Nếu nó thuộc tập đó coi như ta đã phân loại xong Tuy nhiên, văn phạm là một vấn đề lớn Trong nhận dạng cấu trúc,
ta mới chỉ sử dụng được một phần rất nhỏ mà thôi
Như trên đã nói, mô hình cấu trúc tương đương một văn phạm G
G = {Vn, Vt, P, S} Có rất nhiều kiểu văn phạm khác nhau từ chính tắc, phi ngữ cảnh, Trong giới hạn của đồ án này chúng ta chỉ xét một ngôn ngữ có thể được áp dụng trong nhận dạng cấu trúc: đó là ngôn ngữ PLD (Picture Language Description)
Trang 31Văn phạm sinh ra các mô tả trong ngôn ngữ được định nghĩa bởi:
GA = {Vn, VT, P, S}
với Vn = {A, B, C, D, E} và VT = {a, b, c, d}
S là ký hiệu bắt đầu và P là tập luật sản xuất
Ngôn ngữ này thường dùng nhận dạng các mạch điện
Phương pháp nhận dạng
Các đối tượng cần nhận dạng theo phương pháp này được biểu diễn bởi một câu trong ngôn ngữ L(G) Khi đó thao tác phân lớp chính là xem xét một đối tượng có thuộc văn phạm L(G) không? Nói cách khác nó có được sinh ra bởi các luật của văn phạmG không? Như vậy sự phân lớp là theo cách tiếp cận cấu trúc đòi hỏi phải xác định:
- Tập Vt chung cho mọi đối tượng
- Các quy tắc sinh P để sản sinh ra một câu và chúng khác nhau đối với mỗi lớp
- Quá trình học với các câu biểu diễn các đối tượng mẫu l nhằm xác định văn phạmG
- Quá trình ra quyết định: xác định một đối tượng X được biểu diễn bởi một câu lx Nếu lx nhận biết bởi ngôn ngữ L(Gx) thì ta nói rằng X Ck
Nói cách khác, việc ra quyết định phân lớp là dựa vào phân tích cú pháp của văn phạm Gk biểu diễn lớp Ck Cũng như trong phân tích cú pháp ngôn ngữ, có phân tích trên xuống, dưới lên, việc nhận dạng theo cấu trúc cũng có thể thực hiện theo cách tương tự
Việc nhận dạng dựa theo cấu trúc là một ý tưởng và dẫu sao cũng cần được nghiên cứu thêm
2.2.3 Nhận dạng dựa vào kỹ thuật mạng nơ ron
Trước tiên, cần xem xét một số khái niệm cơ bản về bộ não cũng như cơ chế hoạt động của mạng nơ ron sinh học
Trang 322.2.3.1 Bộ não và nơ ron sinh học
Các nhà nghiên cứu sinh học về bộ não cho ta thấy rằng các nơ ron (tế bào thần kinh) là đơn vị cơ sở đảm nhiệm những chức năng xử lý nhất định trong hệ thần kinh, bao gồm não, tuỷ sống và các dây thần kinh Mỗi nơ ron có phần thân với nhân bên trong (gọi là soma), một đầu thần kinh ra (gọi là sợi trục axon) và một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) Các dây thần kinh vào tạo thành một lưới dày đặc xung quanh thân tế bào, chiếm diện tích khoảng 0,25 mm2, còn dây thần kinh ra tạo thành trục dài có thể từ 1 cm cho đến hàng mét Đường kính của nhân tế bào thường chỉ là 10-4m Trục dây thần kinh ra cũng có thể phân nhánh theo dạng cây để nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào các nơ ron khác thông qua các khớp nối (gọi là synapse) Thông thường, mỗi nơ ron có thể gồm vài chục cho tới hàng trăm ngàn khớp nối
để nối với các nơ ron khác Người ta ước lượng rằng lưới các dây thần kinh ra cùng với các khớp nối bao phủ diện tích khoảng 90% bề mặt nơ ron
Các tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các nơ ron là tín hiệu điện và được thực hiện thông qua các quá trình phản ứng và giải phóng các chất hữu cơ Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào Khi điện thế này đạt tới một ngưỡng nào đó, sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra Xung này được truyền theo trục, tới các nhánh rẽ khi chạm tới các khớp nối với các nơ ron khác sẽ giải phóng các chất truyền điện Người ta chia làm hai loại khớp nối: khớp nối kích thích (excitatory) hoặc khớp nối ức chế (inhibitory) Phát hiện quan trọng nhất trong ngành nghiên cứu về bộ não là các liên kết khớp thần kinh khá mềm dẻo, có thể biến động và chỉnh đổi theo thời gian tuỳ thuộc vào các dạng kích thích Hơn nữa, các nơ ron có thể sản sinh các liên kết mới với các nơ ron khác và đôi khi, lưới các nơ ron có thể di trú từ vùng này sang vùng khác trong bộ não Các nhà khoa học cho rằng đây chính là cơ sở quan trọng để giải thích cơ chế học của bộ não con người
Phần lớn các quá trình xử lý thông tin đều xảy ra trên vỏ não Toàn bộ vỏ
Trang 33khoảng 0,5 mm, độ cao 4 mm Mỗi đơn vị cơ sở này chứa khoảng 2000 nơ ron Người ta chỉ ra rằng mỗi vùng não có những chức năng nhất định Điều rất đáng ngạc nhiên chính là các nơ ron rất đơn giản trong cơ chế làm việc, nhưng mạng các nơ ron liên kết với nhau lại có khả năng tính toán, suy nghĩ, ghi nhớ và điều khiển Có thể điểm qua những chức năng cơ bản của bộ não như sau:
Bộ nhớ được tổ chức theo các bó thông tin và truy nhập theo nội dung (Có thể truy xuất thông tin dựa theo giá trị các thuộc tính của đối tượng)
Bộ não có khả năng tổng quát hoá, có thể truy xuất các tri thức hay các mối liên kết chung của các đối tượng tương ứng với một khái niệm chung nào đó
Bộ não có khả năng dung thứ lỗi theo nghĩa có thể điều chỉnh hoặc tiếp tục thực hiện ngay khi có những sai lệch do thông tin bị thiếu hoặc không chính xác Ngoài ra, bộ não còn có thể phát hiện và phục hồi các thông tin bị mất dựa trên
sự tương tự giữa các đối tượng
Bộ não có khả năng xuống cấp và thay thế dần dần Khi có những trục trặc tại các vùng não (do bệnh, chấn thương) hoặc bắt gặp những thông tin hoàn toàn mới lạ, bộ não vẫn có thể tiếp tục làm việc
1010 bit bộ nhớ ngoài với 10
14 khớp nối thần kinh Thời gian xử
5
14nơron/giây
So sánh khả năng làm việc của bộ não và máy tính
Dễ dàng thấy rằng bộ não con người có thể lưu giữ nhiều thông tin hơn các máy tính hiện đại Tuy rằng điều này không phải đúng mãi mãi, bởi lẽ bộ não tiến hóa chậm, trong khi đó nhờ những tiến bộ trong công nghệ vi điện tử, bộ nhớ máy tính được nâng cấp rất nhanh Hơn nữa, sự hơn kém về bộ nhớ trở nên hoàn
Trang 34toàn thứ yếu so với sự khác biệt về tốc độ tính toán và khả năng xử lý song song Các bộ vi xử lý có thể tính 108 lệnh trong một giây, trong khi đó mạng nơ ron xử
lý chậm hơn, cần khoảng vài mili giây để kích hoạt Tuy nhiên, bộ não có thể kích hoạt hầu như cùng một lúc tại rất nhiều nơ ron và khớp nối, trong khi đó ngay cả máy tính hiện đại cũng chỉ có một số hạn chế các bộ vi xử lý song song Nếu chạy một mạng nơ ron nhân tạo trên máy tính, phải tốn hàng trăm lệnh máy
để kiểm tra một nơ ron có được kích hoạt hay không (tiêu phí khoảng 10-8 x 102giây/nơ ron) Do đó, dầu bộ vi xử lý có thể tính toán nhanh hơn hàng triệu lần so với các nơ ron bộ não, nhưng xét tổng thể bộ não lại tính toán nhanh hơn hàng tỷ lần
Cách tiếp cận mạng nơ ron nhân tạo có ý nghĩa thực tiễn rất lớn cho phép tạo ra các thiết bị có thể kết hợp khả năng song song cao của bộ não với tốc độ tính toán cao của máy tính Tuy vậy, cần phải có một khoảng thời gian dài nữa để các mạng nơ ron nhân tạo có thể mô phỏng được các hành vi sáng tạo của bộ não con người Chẳng hạn, bộ não có thể thực hiện một nhiệm vụ khá phức tạp như nhận ra khuôn mặt người quen sau không quá 1 giây, trong khi đó một máy tính tuần tự phải thực hiện hàng tỷ phép tính (khoảng 10 giây) để thực hiện cùng thao tác đó, nhưng với chất lượng kém hơn nhiều, đặc biệt trong trường hợp thông tin không chính xác, không đầy đủ
Hình 2.3 Cấu tạo nơ ron sinh học
Khớp nối Nhân
Trang 352.2.3.1 Mô hình mạng nơ ron nhân tạo
Mạng nơ ron nhân tạo (Artificial Neural Network) gọi tắt là MNR bao gồm các nút (đơn vị xử lý, nơ ron) được nối với nhau bởi các liên kết nơ ron Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho đặc tính kích hoạt/ ức chế giữa các nơ ron Có thể xem các trọng số là phương tiện để lưu giữ thông tin dài hạn trong mạng nơ ron và nhiệm vụ của quá trình huấn luyện (học) mạng là cập nhật các trọng số khi có thêm các thông tin về các mẫu học, hay nói một cách khác, các trọng số được điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn phù hợp môi trường đang xem xét
Trong mạng, một số nơ ron được nối với môi trường bên ngoài như các đầu ra, đầu vào
Hình 2.4 Mô hình nơ ron nhân tạo Mỗi nơ ron được nối với các nơ ron khác và nhận được các tín hiệu sj từ chúng với các trọng số wj Tổng các thông tin vào có trọng số là:
Net = wj sj
Người ta gọi đây là thành phần tuyến tính của nơ ron Hàm kích hoạt g (còn gọi là hàm chuyển) đóng vai trò biến đổi từ Net sang tín hiệu đầu ra out out = g ( Net )
Đây là thành phần phi tuyến của nơ ron Có 3 dạng hàm kích hoạt thường được dùng trong thực tế:
Hàm dạng bước step(x) = 1 nếu x 0 hoặc step(x) = 1 nếu x
0 nếu x< 0 0 nếu x<
Hàm dấu sign(x) = 1 nếu x 0 hoặc sign(x) = 1 nếu x
Hàm kích hoạt
Net = g out
Hàm vào Đầu ra
Các liên kết
vào
Các liên kết ra s
wj
Trang 36Trường hợp xét ngưỡng , ta dùng biểu diễn véctơ mới S'=( s1, ,sn, ), W'=( w1, , wn,-1)
Khả năng biểu diễn của nơ ron
Bộ vi xử lý máy tính dựa trên tích hợp các mạch logic cơ sở Có thể thấy rằng các nơ ron hoàn toàn mô phỏng khả năng tính toán của các mạch cơ sở AND, OR, NOT
1 )
e x
Sigmoid
Trang 37CHƯƠNG 3 NHẬN DẠNG KÍ TỰ VÀ BÀI TOÁN CHẤM ĐIỂM
Trên thế giới hiện nay có nhiều chương trình nhận dạng chữ viết (chữ in
và viết tay) bằng các thứ tiếng Anh, Nga, vv… như các hệ OMNIPAGE, WRITE, WORD-SCAN, Ở Việt nam cũng có một số hệ như WORC của công
READ-ty 3C , VIET-IN của công READ-ty SEATIC, VNDOCR của Viện Công nghệ thông tin, Image Scan của Trung Tâm Tự động hoá thiết kế
Dù là thiết kế để nhận dạng chữ nào, các hệ thống nhận dạng cũng hoạt động dựa trên một cơ chế tương tự như trình bày dưới đây
3.1.1 Sơ đồ tổng quát của một hệ nhận dạng chữ
Về cơ chế, một hệ thống nhận dạng chữ thường gồm các khối chính, phù hợp với các giai đoạn xử lý sau: