Mặc dùcông việc nghiên cứu học thuật vẫn tiếp tục, một phần công việc của OCR đãchuyển sang ứng dụng trong thực tế với các kỹ thuật đã được chứng minh.Nhận dạng ký tự dùng các kỹ thuật q
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
Trang 2Hình 2.2.e Mạng nơron nhiều lớp truyền thẳng hồi quy
Hình 2.2.f Mạng nơron phản hồi với đầu ra của mỗi nơron được quay trở lại nối với đầu vào của các nơron cùng lớp được gọi là mạng Lateral
Hình 2.5 Cửa sổ trượt (Sliding Windows)
Trang 3MỤC LỤC
DANH MỤC HÌNH ẢNH 1
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DIỆN KÍ TỰ 2
1.1 Hệ thống nhận diện kí tự 2
1.1.1 Phạm vi nghiên cứu 2
1.1.2 Các hệ thống xử lý ảnh 2
1.2 Ứng dụng và thách thức 5
1.2.1 Ứng dụng 5
1.2.2 Thách thức 6
1.3 Kết luận chương 6
CHƯƠNG 2: THIẾT KẾ MÔ HÌNH MẠNG NORON NHÂN TẠO 7
2.1 Mạng nơron nhân tạo 7
2.2 Mục tiêu, yêu cầu thiết kế 11
2.3 Xây dựng mô hình mạng 12
2.3.1 Khái niệm cơ bản về CNN 12
2.3.2 Cấu trúc của mạng CNN 13
2.3.3 Thiết kế mô hình mạng tích chập nhận diện kí tự 14
2.3.4 Các bước xây dựng bài toán bằng ngôn ngữ Python 18
2.5 Ưu nhược điểm của ứng dụng 21
2.6 Kết luận chương 21
CHƯƠNG 3: KẾT QUẢ 22
TÀI LIỆU THAM KHẢO 23
Trang 4LỜI MỞ ĐẦU
Máy tính ngày càng đóng vai trò quan trọng khoa học kỹ thuật cũngnhư trong đời sống Nó đã làm được những điều kỳ diệu, giải được nhữngvấn đề tưởng chừng nan giải Liệu máy tính có khả năng suy nghĩ như conngười hay chưa? Chúng ta sẽ không trả lời câu hỏi ấy Thay vào đó, chúng ta
sẽ nêu ra những khác biệt chủ yếu giữa cách làm việc của máy tính và bộ óccon người Một máy tính, dù có mạnh đến đâu chăng nữa, đều phải làm việctheo một chương trình chính xác đã được hoạch định trước bởi các chuyêngia Bài toán càng phức tạp thì việc lập trình càng công phu Trong khi đócon người làm việc bằng cách học tập và rèn luyện, khi làm việc con người
có khả năng liên tưởng, kết nối sự việc này với sự việc khác, và quan trọnghơn hết, họ có thể sáng tạo Do có khả năng liên tưởng, con người có thể dễdàng làm nhiều điều mà việc lập trình cho máy tính đòi hỏi rất nhiều côngsức Chẳng hạn như việc nhận dạng hay trò chơi ô chữ Một em bé có thể tựhọc hỏi để nhận dạng và phân loại đồ vật chung quanh mình, biết được cái gì
là thức ăn, cái gì là đồ chơi Một người bình thường cũng có thể đoán đượcvài chữ trong một ô chữ Nhưng thật khó mà dạy cho máy tính làm đượcnhững việc ấy Từ lâu các nhà khoa học đã nhận thấy những ưu điểm của bộ
óc con người và tìm cách bắt chước để thực hiện trên những máy tính, tạocho nó có khả năng học tập, nhận dạng và phân loại.Lý thuyết tập thô đã rađời từ những nỗ lực đó Nó thực sự được chú ý và nhanh chóng trở thànhmột hướng nghiên cứu đầy triển vọng trong mục đích xây dựng các máythông minh tiến gần tới trí tuệ con người Đặc biệt là lĩnh vực nhận dạng.Báo cáo của chúng em sẽ trình bày “Ứng dụng mạng neural trong nhận dạng
kí tự” Nội dung báo cáo gồm những chương sau: 1: Tổng quan về nhậndạng kí tự 2: Xây dựng mạng neural nhận dạng kí tự 3: Chương trình thửnghiệm
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DIỆN KÍ TỰ
1.1 Hệ thống nhận diện kí tự
Nhận dạng ký tự là loại phần mềm máy tính được tạo ra để chuyển cáchình ảnh của chữ viết tay hoặc chữ đánh máy (thường được quét bằng máyscanner) thành các văn bản tài liệu OCR được hình thành từ một lĩnh vựcnghiên cứu về nhận dạng mẫu, trí tuệ nhận tạo và machine vision Mặc dùcông việc nghiên cứu học thuật vẫn tiếp tục, một phần công việc của OCR đãchuyển sang ứng dụng trong thực tế với các kỹ thuật đã được chứng minh
Nhận dạng ký tự (dùng các kỹ thuật quang học chẳng hạn như gương
và ống kính) và nhận dạng ký tự số (sử dụng máy quét và các thuật toán máytính) lúc đầu được xem xét như hai lĩnh vực khác nhau Bởi vì chỉ có rất ít cácứng dụng tồn tại với các kỹ thuật quang học thực sự, bởi vậy thuật ngữ Nhậndạng ký tự quang học được mở rộng và bao gồm luôn ý nghĩa nhận dạng ký
tự số
Đầu tiên hệ thống nhận dạng yêu cầu phải được huấn luyện với cácmẫu của các ký tự cụ thể Các hệ thống "thông minh" với độ chính xác nhậndạng cao đối với hầu hết các phông chữ hiện nay đã trở nên phổ biến Một số
hệ thống còn có khả năng tái tạo lại các định dạng của tài liệu gần giống vớibản gốc bao gồm: hình ảnh, các cột, bảng biểu, các thành phần không phải làvăn bản
Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0
có khả năng nhận dạng trực tiếp các loại tài liệu được quét qua máy quét,không cần lưu trữ dưới dạng tệp ảnh trung gian Các trang tài liệu có thể đượcquét và lưu trữ dưới dạng tệp tin nhiều trang Kết quả nhận dạng được lưu trữsang định dạng của Microsoft Word, Excel phục vụ rất tốt nhu cầu số hóa
dữ liệu
Trang 61.1.1 Phạm vi nghiên cứu
hướng Đầu vào là ảnh chụp từ các thiết bị kỹ thuật số chứa các ký tựviết tay được viết trên giấy, có thể có nhiễu vạch, nhiễu đốm, tuy nhiên khôngchứa các vật thể phức tạp khác như cây cối, xe cộ, con người vì sẽ làm ảnhhưởng đến quá trình phát hiện ký tự
Các ký tự viết tay có thể nhận diện được bao gồm 62 ký tự: 26 ký tựlatinh viết hoa (A-Z), 26 ký tự latinh viết thường (a-z), 10 ký tự số (0-9)
1.1.2 Các hệ thống xử lý ảnh
Tiền xử lý là giai đoạn đầu tiên trong xử lý ảnh số Tuỳ thuộc vào quátrình xử lý tiếp theo trong giai đoạn này sẽ thực hiện các công đoạn khác nhaunhư: nâng cấp, chỉnh mức sang, khôi phục ảnh, nắn chỉnh hình học, khử nhiễuv.v…
Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhậndạng trong quá trình xử lý ảnh Có thể nêu ra một số đặc điểm của ảnh sauđây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ,
điểm uốn v.v
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc
thực hiện lọc vùng (zonal filtering) Các bộ vùng được gọi là “mặt nạ đặc 10điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữnhật, tam giác, cung tròn v.v )
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối
tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến đượcdùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờtoán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zerocrossing) v.v
Trang 7Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đốitượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảmxuống.
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại
và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, đượcứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt
ra là: mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnhvực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể(entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho
nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vậtnào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệutiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó cóthể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân
tích phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danhnhư một thành phần của một lớp đã xác định
Hoặc phân loại không có mẫu (unsupervised classification hay
clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên mộttiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫnchưa biết hay chưa được định danh
Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giaiđoạn chủ yếu sau đây:
Thu nhận dữ liệu và tiền xử lý
Biểu diễn dữ liệu
Nhận dạng, ra quyết định
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:
Đối sánh mẫu dựa trên các đặc trưng được trích chọn
Phân loại thống kê
Trang 8 Đối sánh cấu trúc.
Phân loại dựa trên mạng nơ-ron nhân tạo
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cậnđơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phươngpháp và cách tiếp cận khác nhau Do vậy, các phương thức phân loại tổ hợphay được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọngdựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kếthợp
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảysinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà cònđặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả nhữngứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, khôngthể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phântích dữ liệu
Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cảhai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nénkhông bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồithì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trongnén ảnh:
Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tầnxuất xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóathích hợp Một ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF
Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian củacác điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của cácđiểm ảnh trong các vùng gần nhau Ví dụ cho kỹ thuật này là mã nén *.PCX
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theohướng nén không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn *.JPGchính là tiếp cận theo kỹ thuật nén này
Trang 9 Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượngảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưutrữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal
1.2 Ứng dụng và thách thức
1.2.1 Ứng dụng
- Quá trình Chuyển Đổi: Nhận dạng ký tự chủ yếu được sử dụng để chuyểnđổi hình ảnh chữ viết tay hoặc chữ in thành dạng văn bản có thể xử lý đượctrên máy tính
- Ứng Dụng Thực Tế: Số hóa sách, bản ghi lịch sử, và tài liệu giấy để thuậntiện trong việc lưu trữ và tìm kiếm
- Xử Lý Hình Ảnh: Nhận dạng ký tự làm cơ sở cho việc xử lý hình ảnh, giúpmáy tính hiểu được nội dung của hình ảnh chứa ký tự
- Nhận Diện Biển Số Xe: Ứng dụng trong việc nhận diện và ghi nhớ biển số
xe trong các hệ thống giao thông
- Thông Tin Bổ Sung: Nhận dạng ký tự có thể được tích hợp để cung cấpthông tin bổ sung về danh tính khi kết hợp với công nghệ nhận diện khuônmặt
- Ứng Dụng An Ninh: Sử dụng trong các hệ thống an ninh để nhận dạng vàđối chiếu thông tin trên các bảng thông báo, hình ảnh giấy tờ, v.v
- Tìm Kiếm Hình Ảnh: Nhận dạng ký tự hỗ trợ trong việc tìm kiếm hình ảnh,xác định nội dung cụ thể trong ảnh
- Chú Thích Hình Ảnh: Sử dụng để chú thích và đánh dấu các phần quantrọng trong hình ảnh
Trang 10- Tìm Kiếm Dựa Trên Văn Bản: Nhận dạng ký tự giúp cải thiện khả năng tìmkiếm trong hình ảnh dựa trên nội dung văn bản.
- Quảng Cáo và Tiếp Thị: Sử dụng để nhận diện và phân tích nội dung vănbản trên hình ảnh quảng cáo
Tự Động Hóa Công Việc: Nhận dạng ký tự đóng vai trò quan trọngtrong Công Nghiệp 4.0, giúp tự động hóa các quy trình sản xuất và quản lý dữliệu
1.2.2 Thách thức
Vấn đề chính với OCR là nó không hoàn hảo Nếu bạn tưởng tượng đọcvăn bản trên trang này qua máy ảnh và sau đó chuyển những hình ảnh đóthành từ ngữ, bạn sẽ hiểu tại sao OCR có thể có vấn đề Một số thách thức đốivới OCR bao gồm:
Xử Lý Ảnh Phức Tạp: Hình ảnh chứa ký tự thường đối mặt với nhiễu,ánh sáng không đồng đều, và chi tiết phức tạp, gây ảnh hưởng đến khả năngnhận dạng
Đa Dạng Ngôn Ngữ và Ký Tự: Mỗi ngôn ngữ và kiểu ký tự đều có cấutrúc và đặc điểm riêng, làm tăng khó khăn trong việc phát triển mô hìnhchung có thể nhận diện nhiều ngôn ngữ
Biến Đổi và Góc Nhìn: Khi hình ảnh chứa ký tự được chụp từ nhiềugóc độ và có biến đổi, khả năng nhận diện giảm
Khả Năng Nhận Diện Trong Điều Kiện Ánh Sáng Thấp: Đối mặt vớithách thức khi nhận diện ký tự trong điều kiện ánh sáng kém
Trang 11 Đối Mặt Với Nguồn Dữ Liệu Đa Dạng: Sự đa dạng trong nguồn dữ liệuđòi hỏi mô hình phải đủ linh hoạt để nhận diện ký tự từ nhiều nguồn khácnhau Các mô hình phức tạp đòi hỏi tài nguyên tính toán và bộ nhớ lớn, đặcbiệt là khi triển khai trên thiết bị có tài nguyên hạn chế.
Các loại và kích thước phông chữ khác nhau có thể khó xác định
1.3 Kết luận chương
Chương tổng quan này đã cung cấp cái nhìn tổng quan về tiến triểntrong lĩnh vực nhận diện ký tự một phần quan trọng của nghiên cứu tronglĩnh vực thị giác máy tính và xử lý ngôn ngữ tự nhiên Nhận diện ký tự đóngvai trò quan trọng trong nhiều ứng dụng, từ quét tài liệu và chuyển đổi vănbản thành dạng số cho đến việc nhận biết biểu hiện ký tự trong hệ thốngnhận dạng khuôn mặt Chúng ta đã thấy rằng các phương pháp truyền thống
sử dụng các kỹ thuật xử lý ảnh và trí tuệ nhân tạo cổ điển, như máy học vàcác thuật toán phân loại, đã đạt được những thành tựu đáng kể trong lĩnh vựcnày Tuy nhiên, sự phát triển nhanh chóng của deep learning, đặc biệt là môhình convolutional neural networks (CNNs) và recurrent neural networks(RNNs), đã mang lại những tiến bộ đáng kể trong hiệu suất nhận diện ký tự.Qua đây ta đã thấy được những ảnh hưởng của nhận diện ký tự, những tháchthức từ đó đưa ra những phát triển trong tương lai
Trang 12CHƯƠNG 2: THIẾT KẾ MÔ HÌNH MẠNG NORON NHÂN TẠO
2.1 Mạng nơron nhân tạo
- Mạng noron nhân tạo (Artifical Neural Networks) mô phỏng lại mạng noronsinh học là một cấu trúc khối gồm các đơn vị tính toán đơn giản được liên kếtchặt chẽ với nhau trong đó các liên kết giữa các noron quyết định chức năngcủa mạng
* Các đặc trưng cơ bản của mạng nơron
- Gồm một tập các đơn vị xử lý (các noron nhân tạo)
- Trạng thái kích hoạt hay đầu ra của đơn vị xử lý
- Liên kết giữa các đơn vị Xét tổng quát, mỗi liên kết được định nghĩa bởimột trọng số W jkcho ta biết hiệu ứng mà tín hiệu của đơn vị j có trên đơn vị k
- Một luật lan truyền quyết định cách tính tín hiệu ra của từng đơn vị từ đầuvào của nó
- Một hàm kích hoạt, hay hàm chuyển (activation function, transfer function),xác định mức độ kích hoạt khác dựa trên mức độ kích hoạt hiện tại
- Một đơn vị điều chỉnh (độ lệch) (bias, offset) của mỗi đơn vị
- Phương pháp thu thập thông tin (luật học - learning rule)
- Môi trường hệ thống có thể hoạt động
* Kiến trúc mạng nơron
Trang 13Hình 2.1: Kiến trục mạng noron
Trong đó:
x i : các đầu vào
w i : các trọng số tương ứng với các đầu vào
z: đầu ra của nơron
y=sgn(z): hàm chuyển (hàm kích hoạt)
- Lớp nơron thực hiện tiếp nhận các tín hiệu vào gọi là lớp vào (InputLayer)
- Lớp nơron thực hiện đưa tín hiệu ra gọi là lớp ra (Output Layer)
- Giữa hai lớp nơron vào và ra có một hoặc nhiều lớp nơron không liên
hệ trực tiếp với môi trường bên ngoài được gọi là các lớp ẩn (Hidden Layer).Mạng nơron truyền thẳng nhiều lớp có thể có 1 hoặc nhiều lớp nơron ẩn
- Mạng nơron được gọi là liên kết đầy đủ nếu từng đầu ra của mỗi lớpđược liên kết với đủ các nơron ở các lớp tiếp theo
Trang 14Hình 2.4 Sơ đồ cấu trúc một số mạng neural
Hình 2.4.e Mạng nơron nhiều lớp truyền thẳng hồi quy
Hình 2.4.f Mạng nơron phản hồi với đầu ra của mỗi nơron được quay trở lạinối với đầu vào của các nơron cùng lớp được gọi là mạng Lateral
- Mạng nơron một lớp và nhiều lớp được gọi là truyền thẳng(Feedforward Network) nếu đầu ra của mỗi nơron được nối với các đầu vàocủa các nơron cùng lớp đó hoặc đầu vào của các nơron của các lớp trước đó.Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào kể cả hồi tiếp nội lẫnhồi tiếp từ đầu ra trở về đầu vào