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

Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.

74 47 3

Đ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

Tiêu đề Nghiên Cứu Bài Toán Bóc Tách Thông Tin Trong Chứng Minh Thư Sử Dụng Học Sâu
Tác giả Phạm Văn Dương
Người hướng dẫn PGS.TS. Ngô Quốc Tạo
Trường học Học viện khoa học và công nghệ Việt Nam
Chuyên ngành Máy tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 1,94 MB

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

Nội dung

Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu.

Trang 1

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Trang 2

BỘ GIÁO DỤC VIỆN HÀN LÂM

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Phạm Văn Dương

NGHIÊN CỨU BÀI TOÁN BÓC TÁCH THÔNG TIN

TRONG CHỨNG MINH THƯ SỬ DỤNG HỌC SÂU

Chuyên ngành : Hệ thống thông tin

Mã số: 8480104

LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS NGÔ QUỐC TẠO

Hà Nội – 2021

Trang 3

LỜI CAM ĐOAN

Tôi là Phạm Văn Dương, học viên khóa 2019B, ngành Máy tính, chuyên ngành

Hệ thống thông tin Tôi xin cam đoan luận văn “Nghiên cứu bài toán bóc tách thông tin trong chứng minh thư sử dụng học sâu” là do tôi nghiên cứu, tìm

hiểu và phát triển dưới sự hướng dẫn của PGS.TS Ngô Quốc Tạo, không phải

sự sao chép từ các tài liệu, công trình nghiên cứu của người khác mà không ghi

rõ trong tài liệu tham khảo Tôi xin chịu trách nhiệm về lời cam đoan này

Hà Nội, ngày tháng năm 2021

Tác giả

Phạm Văn Dương

Trang 4

LỜI CẢM ƠN

Lời cảm ơn trân trọng đầu tiên Tôi muốn dành tới các thầy cô Học viện khoa học và công nghệ Việt Nam, Viện công nghệ thông tin, Viện Hàn lâm khoa học và công nghệ Việt Nam nói chung và các thầy cô trong bộ môn Hệ thống thông tin cũng như khoa Công nghệ thông tin nói riêng đã tận tình giảng dạy và truyền đạt nhưng kiến thức quý báu trong suốt khoá cao học vừa qua, giúp tôi cónhưng kiến thức chuyên môn nền tảng để làm cơ sở lý luận khoa học cho luận văn này

Đặc biệt Tôi xin chân thành cảm ơn thầy PGS.TS Ngô Quốc Tạo đã dìudắt và hướng dẫn tôi trong suốt quá trình làm luận văn, sự chỉ bảo và định hướngcủa thầy giúp tôi tự tin nghiên cứu nhưng vấn đề mới và giải quyết bài toán mộtcách khoa học

Tôi xin trân trọng cảm ơn Ban giám hiệu Học viện khoa học công nghệViệt Nam - Viện Hàn lâm khoa học và công nghệ Việt Nam đã tạo các điều kiệncho tôi được học tập và làm luận văn một cách thuận lợi

Tôi xin cảm ơn sự hỗ trợ của nhiệm vụ: “Hỗ trợ hoạt động nghiên cứukhoa học cho nghiên cứu viên cao cấp năm 2021” mã số: nvcc02.01/21-21 củaViện Hàn lâm Khoa học và Công nghệ Việt Nam (VAST), Hà Nội, Việt Nam

Mặc dù đã cố gắng rất nhiều, nhưng chắc chắn trong quá trình học tậpcũng như luận văn không khỏi nhưng thiết sót Tôi rất mong được sự thông cảm

và chỉ bảo tận tình của các thầy cô và các bạn

Hà Nội, ngày tháng năm 2021

Phạm Văn Dương

Trang 5

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT 7

DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ 8

MỞ ĐẦU 10

CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN, NHẬN DẠNG KÝ TỰ, SỰ PHÁT TRIỂN CỦA HỌC MÁY VÀ HỌC SÂU 12

1.1 Tổng quan về phát hiện và nhận dạng ký tự 12

1.2 Sự phát triển của học máy và học sâu 13

1.3 Kết luận chương 17

CHƯƠNG 2 GIỚI THIỆU VỀ MẠNG CONVOLUTION NEURAL NETWORK 18

2.1 Giới thiệu sơ lược về CNN 18

2.2 Convolution Layer – Tầng Tích Chập 18

2.3 Strides – Bước nhảy 20

2.4 Padding – Đệm 21

2.5 Non Linearity (ReLU) – Phi tuyến tính 21

2.6 Pooling Layer – Tầng gộp 22

2.7 Full Connected Layer – Tầng kết nối đầy đủ 23

2.8 luận Kết chương 23

CHƯƠNG 3 MÔ HÌNH MẠNG PIXELLINK CHO PHÁT HIỆN VĂN BẢN 24

3.1 Cấu trúc mạng 24

3.2 Kết nối các điểm ảnh 27

3.3 Tối ưu 27

3.3.1 Tính toán vùng chính xác 27

3.3.2 Hàm mất mát 28

3.4 Chuẩn bị dữ liệu và đào tạo 30

3.4.1 Chuẩn bị dữ liệu 30

3.4.2 Dữ liệu thật: 31

3.4.3 Dữ liệu được sinh ra 32

3.4.4 Tiền xử lý dữ liệu 33

Trang 6

3.4.5 Quá trình đào tạo 34

3.4.6 Tối ưu: 34

3.4.7 Kết quả đạt được: 35

3.4.8 Hạn chế của mô hình 35

3.5 Kết luận chương 36

3.5.1 C HƯƠNG 4 GIỚI THIỆU VỀ CONVOLUTION RECURRENT NEURAL NETWORK 37

4.1 Giới thiệu bài toán và lợi thế của CRNN 37

4.2 Cấu trúc 38

4.3 Tầng trích xuất đặc trưng chuỗi 39

4.4 Gán nhãn trình tự 39

4.5 Tầng Transcription 45

4.6 Hàm mất mát 47

4.7 Tóm tắt cấu trúc mô hình 48

4.7.1 Cách tạo dữ liệu và đào tạo 49

4.7.2 Dữ liệu thật 49

4.7.3 Dữ liệu sinh 49

4.7.4 Hạn chế của mô hình 49

4.8 Kết luận chương 50

3.5.2 CHƯƠ NG 5: CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ 51

5.1 Bài toán 51

5.2 Mô hình giải quyết bài toán 51

5.3 Môi trường cài đặt 52

5.4 Dữ liệu kiểm thử 52

5.5 Kết quả thực nghiệm 53

3.5.3 KẾT

LUẬN 55

3.5.4 TÀI LIỆU THAM KHẢO 57

Trang 7

3.5.5 DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

3.5.6

3.5.7 Từ

viết tắt

3.5.8 Từ chuẩn

3.5.9 Diễn giải

3.5.10 CNN 3.5.11 Convolutional

Neural Network

3.5.12 Mạng nơ-ron tích chập

3.5.13 RNN 3.5.14 Recurrent Neural

Nework

3.5.15 Mạng nơ-ron hồi quy

3.5.16 CRNN 3.5.17 Convolutional

Recurrent Neural Nework

3.5.18 Mạng nơ-ron hồi quy xoắn

3.5.19 LSTM 3.5.20 Long Short-term

Memory

3.5.21 Bộ nhớ ngắn hạn dài

3.5.22 AI 3.5.23 Artifical Intelligence 3.5.24 Trí tuệ nhân

tạo3.5.25 ML 3.5.26 Machine Learning 3.5.27 Học máy3.5.28 DL 3.5.29 Deep Learning 3.5.30 Học sâu3.5.31 NN 3.5.32 Neural Network 3.5.33 Mạng nơ-ron

3.5.34 OCR 3.5.35 Optical Character

Recognition

3.5.36 Nhận dạng

ký tự quang học

Trang 8

3.5.37DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ

3.5.38 Hình 1.0.1 Quá trình nhận dạng10 3.5.39 Hình 1.0.2 Mối quan hệ giưa AI, ML, DL 113.5.40 Hình 1.0.3 Các giai đoạn của AI 123.5.41 Hình 2.0.1 Mô hình CNN sử dụng cho bài toán phân loại 143.5.42 Hình 2.0.2 Nhân ma trận ảnh với bộ lọc 153.5.43 Hình 2.0.3 Ma trận và bộ lọc 153.5.44 Hình 2.0.4 Kết quả thực hiện phép nhân 153.5.45 Hình 2.0.5 Đầu ra của ma trận có bước nhảy là hai 163.5.46 Hình 2.0.6 Hoạt động của hàm ReLU 173.5.47 Hình 2.0.7 Max Pooling 173.5.48 Hình 2.0.8 Mô tả tầng kết nối đầy đủ 183.5.49 Hình 3.0.1 Mô hình mạng VGG16 203.5.50 Hình 3.0.2 Quá trình của Pixellink 213.5.51 Hình 3.0.3 Các hộp với diện tích khác nhau 233.5.52 Hình 3.0.4 Hình minh họa của quá trình xác định hộp 253.5.53 Hình 3.0.5 Dữ liệu sinh ra 273.5.54 Hình 3.0.6 Nhãn của dữ liệu sinh 283.5.55 Hình 3.0.7 Hàm mất mát của phân loại mỗi điểm ảnh 293.5.56 Hình 3.8 hàm mất mát liên kết 293.5.57 Hình 3.0.9 Hình kết quả của mô hình Pixellink 293.5.58 Hình 3.0.10 Hình miêu tả sự hạn chế30 3.5.59 Hình 4.0.1 Cấu trúc mạng CRNN 323.5.60 Hình 4.0.2 Mô hình RNN 333.5.61 Hình 4.0.3 Cấu trúc mạng LSTM 343.5.62 Hình 4.0.4 Hình minh họa thông tin được truyền đi 353.5.63 Hình 4.0.5 Tầng mạng và phép nhân35

Trang 9

3.5.64 Hình 4.0.6 Hình minh họa cổng quên36 3.5.65 Hình 4.0.7 Hình mô tả cập nhật khối37 3.5.66 Hình 4.0.8 Hình mô tả quá trình cập nhật trạng thái mới37 3.5.67 Hình 4.0.9 Hình mô tả qúa trình xác định đầu ra45 3.5.68 Hình 4.0.10 Hình mình họa chọn các giá trị có xác suất cao nhất 473.5.69 Hình 4.0.11 Hình mình họa chọn các giá trị có xác suất cao nhất 493.5.70 Hình 5.0.1 Giao diện chương trình khi truy cập 523.5.71 Hình 5.0.2 Giao diện chương trình khi tải ảnh CMT thành công 523.5.72 Hình 5.0.3 Giao diện chương trình sau khi ra kết quả 53

Trang 10

3.5.73MỞ ĐẦU

3.5.74 3.5.75 Nhận dạng mẫu là một ngành khoa học của học máy (hay trí tuệnhân tạo) nhằm phân loại dữ liệu (các mẫu) vào một số lớp Mẫu có thể là bất kỳthực thể nào cần được nhận ra, ví dụ: chữ in, chữ viết tay, vân tay, khuôn mặt, tiếngnói, hình dạng,… Cùng với sự phát triển của khoa học kỹ thuật, các ứng dụng củanhận dạng mẫu ngày càng được mở rộng, từ việc tự động hoá một số quy trình trongsản xuất công nghiệp cho đến dự báo thời tiết, dự báo cháy rừng hay là một phầnquan trọng trong các hệ thống máy tính thông minh…

3.5.76 Một trong những ứng dụng phổ biến của nhận dạng mẫu hiện nay

là phân tích và nhận dạng ảnh tài liệu (có nguồn gốc từ hệ thống nhận dạng ký tựquang học), nhằm số hoá các trang tài liệu giấy như sách, báo, tạp chí,… Cho đếnnay, bài toán phân tích và nhận dạng ảnh tài liệu đã được giải quyết gần như trọn vẹn

và cũng đã có những sản phẩm thương mại, như VnDOCR của Viện công nghệthông tin hay FineReader của hãng ABBYY,…

3.5.77 Bên cạnh lớp bài toán phân tích và nhận dạng ảnh tài liệu mộtcách tổng quát ở trên còn có lớp bài toán riêng biệt cho từng ngành, từng lĩnh vực cụthể, như: phân tích và nhận dạng bảng biểu, phiếu điều tra, mẫu điền thông tin, danhthiếp, hộ chiếu,… Đối với lớp bài toán này thì việc phân tích cấu trúc của ảnh tàiliệu là đặc biệt quan trọng, bởi vì nó sẽ quyết định đến việc tách và nhận dạng chínhxác các trường thông tin cần thiết cho từng ứng dụng cụ thể

3.5.78 Trên thế giới đã có nhiều sản phẩm phần mềm phân tích và nhậndạng ảnh thẻ chứa thông tin cá nhân (như hộ chiếu, danh thiếp,…) và được ứng dụngtrong nhiều lĩnh vực, như: làm thủ tục hải quan, các giao dịch ở các cửa hàng, kháchsạn,… Ở Việt Nam loại thẻ chứa thông tin các nhân được sử dụng nhiểu nhất là Giấychứng minh nhân dân (CMND) Do đó, trong luận văn này, tôi xin đề xuất mộtphương pháp phân tích ảnh CMND dựa trên việc phân tích và nhận dạng biểu mẫuvới kỹ thuật xử lý hình ảnh thông minh

10

Trang 11

3.5.79 Dựa trên nhu cầu thực tế trên nên tôi quyết định lựa chọn đề tài: “

Nghiên cứu bài toán bóc tách thông tin trong chứng minh thư sử dụng học sâu.”.

3.5.80 Mục đích của đề tài.

3.5.81 3.5.82 Với đề tài: “ Nghiên cứu bài toán bóc tách thông tin trong chứng minh thư sử dụng học sâu ” Luận văn tập trung các vấn đề sau:

• Tổng quan về phân tích ảnh tài liệu

• Giới thiệu một số thuật toán nhận diện ký tự bằng các phương pháp xử lýảnh mô hình học sâu

• Thực hiện cài đặt và đánh giá kết quả đạt được với phương pháp đã chọn đốivới dữ liệu giấy chứng minh thư nhân dân

• Đưa ra đánh giá và hướng phát triển trong tương lai

3.5.83 Nội dung của luận văn thạc sĩ gồm các chương, mục chính :

3.5.84 3.5.85 Chương 1 Tổng quan về phát hiện, nhận dạng ký tự, sự phát triển của học máy và học sâu

3.5.86 Chương 2 : Giới thiệu về mạng Convolution Neural

Network Chương 3 : Mô hình mạng pixellink cho phát hiện văn

bản Chương 4 : Giới thiệu về Convolution Recurrent Neural

Network Chương 5 : Cài đặt thử nghiệm và kết quả

3.5.87 Kết luận

3.5.88 3.5.89 Tài liệu tham khảo

Trang 12

3.5.90 CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN, NHẬN

DẠNG KÝ TỰ, SỰ PHÁT TRIỂN CỦA HỌC MÁY VÀ HỌC SÂU

1.1Tổng quan về phát hiện và nhận dạng ký tự

3.5.91 3.5.92 OCR là công nghệ chuyển nhận dạng chữ cái, chữ số, kí hiệu trong ảnh

số, thường được dùng với tài liệu đã scanned, nhưng một số trường hợp khác cũngđược sử dụng, như sử dụng để nhận dạng chữ trên danh thiếp, căn cước, biển sốxe Những năm gần đây, những bước tiến lớn trong lĩnh vực học sâu (DL) và ứngdụng của DL vào các bài toán thị giác máy tính để giải các bài toán khó và đạt đượcmột số thành công nhất định Áp dụng OCR vào đời sống sẽ giúp con người rất nhiềutrong việc trích xuất thông tin cũng như lấy thông tin là chữ, kí tự, con số trong cácbức ảnh

3.5.93 Bài toán bao gồm nhận dạng và phát hiện các đối tượng là kí tự, chuỗicác kí tự, giải quyết bài toán tạo ra nhiều ứng dụng khác nhau như trích xuất thôngtin trên một bức ảnh, giảm chi phí cũng như thời gian trong quá trình nhập liệu Ápdụng được nhiều nơi cũng như nhu cầu khác nhau trong việc trích xuất thông tin.3.5.94 Bài toán phát hiện và nhận dạng kí tự đã được nghiên cứu từ lâu và cónhững bước chuyển mình đáng kể, trong hơn thập kỉ trở lại đây, nhờ sự phát triểncủa máy móc cũng như dữ liệu lớn, thì các kỹ thuật học sâu phát triển rõ rệt và đạtđược nhiều kết quả ấn tượng trong các hướng nghiên cứu khác nhau

3.5.95 Việc áp dụng học sâu vào phát hiện và nhận dạng ký tự đã đạt được kếtquả khả quan, điều này hứa hẹn cho nhưng hướng nghiên cứu mới, cũng như là số

hóa tài liệu một cách nhanh chóng Trong khuôn khổ luận văn, tôi xin phép trình bày

về phương pháp áp dụng học sâu vào bài toán bóc tách thông tin trong chứng minh thư.

3.5.96 Để giải quyêt bài toán tôi chia bài toán thành hai vấn đề chính là pháthiện và nhận dạng, mỗi giai đoạn áp dụng công nghệ khác nhau, nhưng đều áp dụnghọc sâu để giải quyết vấn đề

3.5.97 Hiện nay, có rất nhiều phương pháp áp dụng cho bài toán phát hiện đối

Trang 13

tượng như SSD [3], YOLO [4], CTPN [2],…, Trong cuộc thi ICDAR 2015 kỹ thuậthọc sâu sử

Trang 14

3.5.98 dụng mô hình mạng Pixellink để phát hiện các đối tượng kí tự đứng vị trícao Phương pháp Pixellink cho kết quả tốt trên bài toán phát hiện ký tự.

3.5.99Hình 1.0.1 Quá trình nhận dạng 3.5.100

3.5.101 Sau khi phát hiện được vùng ký tự, mình cần nhận dạng vùng ký

tự đó, bài toán nhận dạng ký tự sẽ khác với nhận dạng các đối tượng thông thường.Cấu trúc chuỗi trên ảnh có độ dài thay đổi khác nhau, nên sử dụng các phương phápnhận dạng đối tượng tuyền thống rất khó để có thể thực hiện được, việc tách thànhcác kí tự riêng lẻ rồi nhận dạng sẽ trở nên cực kì khó khăn Nên qua thực nghiệm tôithấy mạng CRNN cho kết quả khá tốt trong bài toán nhận dạng chuỗi, nên đã ápdụng mô hình mạng cho luận văn này Do tính chất chuỗi nên dùng mô hình mạngCRNN có thể nhớ những thông tin trước đó Bản chất của mô hình mạng CRNN là

sự kết hợp của hai mạng CNN và RNN với nhau

1.2 Sự phát triển của học máy và học sâu

3.5.102 3.5.103 Những năm gần đây trí tuệ nhân tạo gần như đi vào mọi ngõ nghách củađời sống, khi những thành tựu mà nó đạt được, có khả năng vượt qua con ngườitrong một số nhiệm vụ như chơi cờ

3.5.104 Cách đây năm mươi năm, học máy vẫn chỉ là khoa học viễn tưởng.Nhưng ngày nay học máy như là một phần của cuộc sống, rất nhiều ứng dụng họcmáy đã giúp con người giải quyết những vấn đề khó khăn và đưa con người tới cuộcsống tốt đẹp hơn Học máy là một phần của trí tuệ nhân tạo, là cách mà các thuậttoán được áp dụng để giúp máy tính tự động học từ dữ liệu và thông tin Học máykhông phải là lập trình

Trang 15

3.5.105 một các rõ ràng các bước thực hiện mà là quá trình máy tính học và cảithiện khả năng học dựa vào chính nó.

3.5.106 Trí tuệ nhận tạo bắt đầu được định nghĩa từ những năm năm mươi củathế kỉ trước, đến mãi những năm tám mươi của thế kỉ trước thì khái niệm học máy rađời và từ năm 2010 là sự bùng nổ của học sâu

3.5.107 Dưới đây là bức ảnh thể hiện quá trình hình thành và mối quan hệ của trítuệ nhân tạo, học máy, học sâu

toán phân loại nhị phân, được khởi xướng từ Frank Rosenblatt năm 1957 trong một

nghiên cứu Nhưng thuật toán này chỉ làm việc được với dữ liệu là tuyến tính tách

biệt, thời bấy giờ Marvin Minsky và Seymour Papert đã chứng minh được rằng

thuật toán trên không thể học được các hàm số XOR, điều này khiến cho các nghiêncứu về perceptron bị gián đoạn khoảng 20 năm Giai đoạn này có thể gọi là mùađông thứ nhất của trí tuệ nhân tạo

3.5.112 Những năm 80 của thế kỉ trước, Geoffrey Hinton đã chứng minh được

rằng mạng nơ-ron với nhiều tầng ẩn có thể đào tạo một cách đơn giản dựa vàobackpropagation Điều này giúp mạng nơ-ron vượt qua được hạn chế của

Trang 16

perceptron về việc chỉ phân

Trang 17

3.5.113 biệt tuyến tính, thành công nổi bật của thuật toán là CNN, được áp dụng

cho bài toán phân loại chữ viết được khởi xưởng bởi Yann LeCun

3.5.114 Những hạn chế của máy móc, khả năng tính toán lớn bị hạn chế, cũngnhư dữ liệu gán nhãn chưa nhiều, một hạn chế nữa là hàm mất mát không là hàmlồi, nên việc tìm nghiệm toàn cục của hàm mất mát rất khó

3.5.115 Một khó khăn nữa là nếu sử dụng nhiều tầng ẩn thì khi tính đạo hàm sẽ

gặp một vấn đề, nó có một tên gọi là vanishing gradient, đó là vấn đề tích của đạo

hàm chuỗi của nhiều số gần bằng 0 thì kết quả đạo hàm sẽ gần giá trị 0 Như vậy

đến một lúc đạo hàm bằng 0 và sẽ không thể cập nhật giá trị thông qua gradient descent, những điều này khiến mạng nơ-ron đã một lần nữa rơi vào mùa đông thứ

hai

3.5.116 Mãi đến năm 2012 tại ILSVRC, thì Alex Krizhevsky, Geoffrey Hinton tham gia và đạt được kết quả top-5 Mô hình này gọi là Alexnet, trong bài báo này

có rất nhiều kỹ thuật mới được giới thiệu, trong đó có hàm ReLU và Dropout với

cách tính đạo hàm đơn giản, cải thiện tốc độ đào tạo rất nhiều Bên cạnh đó hàm

ReLU giúp giải quyết được một phần của vấn đề vanishing gradient.

3.5.117 Sau đây tôi trình bày các cột mốc đáng chú ý trong lịch sử phát triển củahọc máy từ thời sơ khai đến hiện tại:

3.5.118

3.5.119 Hình 1.0.3 Các giai đoạn của AI

Trang 18

3.5.120 Năm 1950 Alan Turing tạo ra Turing Test, nếu một máy tính vượt

qua Turing Test thì kết luận nó có trí thông minh Để vượt qua nó, máy tính phải có

khả năng lừa con người rằng nó chính là con người

3.5.121 Năm 1952 Arthur Samuel đã viết chương trình máy tính đầu tiên,

chương trình chơi cờ mục đích học các chiến lược di chuyển, và kết hợp các nước

di chuyển vào chương trình

3.5.122 Năm 1957 Frank Rosenblatt đã thiết kế mạng nơ-ron đầu tiên

cho máy tính, mạng mô phỏng xử lý thông tin như bộ não của con người

3.5.123 Năm 1967 thuật toán hàng xóm gần nhất "nearest neighbor"

được hoàn thành và sử dụng để nhận dạng những mẫu cơ bản

3.5.124 Năm 1979 sinh viên của trường đại học Stanford đã phát minh ra

"Stanford Cart", nó giúp chiếc xe có thể tránh được chướng ngại vật trong phòng

của họ

3.5.125 Năm 1981 Geral Dejong đưa ra định nghĩa Explanation Based

Learning, nó giúp máy tính phân tích dữ liệu và đưa ra các quy tắc và dựa vào các

quy tắc đó để bỏ đi những thông tin không quan trọng

3.5.126 Năm 1985 Terry Sejnowski phát minh ra NetTalk, nó học phát âm

từ giống như một đứa trẻ

3.5.127 Năm 1990 học máy chuyển đổi từ cách tiếp cận tri thức sang tiếp

cận dữ liệu, các nhà khoa học đã tạo ra các chương trình nhằm phân tích lượng dữ

liệu rất lớn và đưa ra các kết luận

3.5.128 Năm 1997 cỗ máy IBM's Deep Blue đánh bại nhà vô địch cờ vua thế giới.

3.5.129 3.5.130 Năm 2006 Geoffrey Hinton dùng "deep learning" để giải thích

thuật toán mới, thuật toán mà giúp máy tính phân biệt các đối tượng và chữ cái

trong ảnh và đoạn video

3.5.131 Năm 2010 Kinect của tập đoàn Microsoft có thể dõi hai mươi

hành động của con người với tần suất ba mươi lần trên một giây, cho phép con

người tương tác với máy tính thông qua cử chỉ và hành động

Trang 19

3.5.132 Năm 2011 Google Brain đã sử dụng mạng sâu để máy tính có thể

học và phân loại con mèo

3.5.133 Năm 2012 Google’s X Lab đã phát triển thuật toán học máy, nó

giúp máy tính có thể tự động truy cập YouTube và tìm các video chứa con mèo

3.5.134 Năm 2014 Fakebook đã phát triển DeepFake, nó giúp định danh,

nhận ra con người trong bức ảnh

3.5.135 Năm 2015 Amazon đã ra mắt nền học máy của họ để nâng cao

hiệu quả kinh doanh của chính họ

3.5.136 Từ 2015 đến nay, rất nhiều thành tựu của học máy và học sâu cókhả năng học và giải quyết các bài toán phức tạp, có những tác vụ đã vượt qua khảnăng của con người

1.3 Kết luận chương

3.5.137 3.5.138 Chương 1 tóm tắt về phát hiện và nhận dạng ký tự, quá trình hình thành và phát triển của trí tuệ nhân tạo, học máy và học sâu Các kiến thức nền tảng này sẽ là nền tảng cơ bản trong liên quan đến định hướng nghiên cứu, tìm hiểu của luận văn.

Trang 20

3.5.139 CHƯƠNG 2 GIỚI THIỆU VỀ MẠNG

CONVOLUTION NEURAL NETWORK

2.1Giới thiệu sơ lược về CNN

3.5.140 3.5.141 Mạng CNN được sử dụng rộng rãi, áp dụng rất nhiều trong trích xuấtđặc trưng của ảnh, người ta sử dụng CNN nhiều trong các bài toán nhận biết cũngnhư phân loại hình ảnh Trong bài toán phân loại hình ảnh sử dụng CNN thì đầu vào

là một ảnh số, máy tính dựa vào các giá trị điểm ảnh sau đó đưa ra kết luận loại màbức ảnh thuộc về cho bài toán phân loại, máy tính chỉ nhìn thấy bức ảnh như một

mảng của các giá trị điểm ảnh Một bức ảnh thể hiện bởi ba thông số W, H, D trong

đó W là chiều rộng của ảnh, là số lượng điểm ảnh trên một hàng của ma trận ảnh, còn H là chiều cao của ảnh, là số lượng điểm ảnh trên một cột của ma trận ảnh, D là chiều hay còn gọi là độ sâu của ảnh, ví dụ một ảnh tạo bởi 3 kênh màu RGB và có

chiều cao là 6 và chiều rộng là 6 thì được kí hiệu là 6 × 6 × 3 ví dụ đối với ảnh cókích thước dài và rộng như trên nhưng mà là ảnh một kênh màu, như ảnh xám được

kí hiệu là 6

3.5.142 × 6 × 1 Trong DL thì đầu vào đi qua một chuỗi các tầng CNN với các

bộ lọc Kết hợp với các tầng gộp (Pooling) và kết nối đầy đủ (fully connected) và ở

tầng cuối áp dụng hàm Softmax để đưa ra xác suất mà đối tượng thuộc về lớp trong

bài toán phân loại Dưới đây là luồng của mô hình bài toán phân loại sử dụng CNN

3.5.143 3.5.144 3.5.145 Hình 2.0.1 Mô hình CNN sử dụng cho bài toán phân loại

Trang 21

3.5.146 3.5.147 Sau đây ta sẽ đi chi tiết về CNN

3.5.148

2.2 Convolution Layer – Tầng Tích Chập

Trang 22

2.3 Ở tầng Convolution là tầng đầu tiên giúp trích xuất đặc trưng của ảnh,

tầng Convolution trình bày mối quan hệ giữa các giá trị điểm ảnh bằng học các đặctrưng ảnh, sử dụng các cửa sổ hình vuông trên ảnh đầu vào Để trích xuất đặc trưngảnh, sử dụng một phép tính toán học với bộ lọc và ma trận điểm ảnh đầu vào

2.4 Ví dụ: Về trích xuất đặc trưng của ảnh sử dụng tích

2.12 Ví dụ: Xem một ma trận có kích thước 5 × 5 và có giá trị các điểm ảnh là 0

hoặc 1, xét một bộ lọc có kích thước 3 × 3

2.13

2.14

2.15 Hình 2.0.3 Ma trận và bộ lọc 2.16

2.17 Sau đó thực hiện tính tích chập của ma trận 5 × 5 với ma trận bộ lọc 3 × 3 Sẽ

thu được một ma trận đầu ra gọi là 'Feature Map'

Trang 23

2.18 2.19

2.20

2.21 Hình 2.0.4 Kết quả thực hiện phép nhân

2.22

2.23 Tích chập của một ảnh với các bộ lọc khác nhau sẽ đưa ra các kết qủa khác

nhau, như phát hiện cạnh, làm mờ, làm sắc nét ảnh

2.74−1

0 2.772.780

Trang 24

0

1 1

2.89

9 [1

Trang 25

2.110 Bước nhảy là số lượng của điểm ảnh được nhảy qua trên ma trậnđầu vào, khi bước nhảy là một thì chúng di chuyển bộ lọc một điểm ảnh sau mỗilần, khi bước nhảy là hai thì bộ lọc sẽ di chuyển qua hai điểm ảnh sau mỗi lần.

Hình 2.0.5 Đầu ra của ma trận có bước nhảy là hai

2.111Padding – Đệm

Thi thoảng bộ lọc không vừa với ảnh đầu vào, chúng ta sẽ có hai tùy chọn đó là:

• Đệm thêm các giá trị 0 vào viền sao cho vừa khít

• Bỏ đi phần của bức ảnh nếu bộ lọc không khít

2.112 Non Linearity (ReLU) – Phi tuyến tính

Hàm ReLu cho hoạt động phi tuyến tính, hàm được định nghĩa:

f (x ) = max (0, x ) PT 0.1

Hình 2.0.6 Hoạt động của hàm ReLU

Trang 26

Hàm quan trọng bởi vì nếu không dùng các hàm khởi tạo, mạng chỉ là những hàmtuyến tính, sẽ không áp được hiệu quả được đối với các dữ liệu phi tuyến Là các dữliệu không thể phân tách bởi các đường thẳng hoặc mặt phẳng và siêu phẳng Một

số hàm khác thường được sử dụng là:

tanh

Sigmoid

Tầng có chức năng giảm số lượng của tham số khi mà bức ảnh đầu vào lớn, giúp bỏ

đi các thông tin dư thừa, giúp giảm chiều dữ liệu, chỉ giữ lại những thông tin quantrọng, có ba loại của tầng Pooling đó là:

• Max Pooling – Chọn giá trị lớn nhất

• Average Pooling – Chọn giá trị trung bình

Trang 27

2.114 Full Connected Layer – Tầng kết nối đầy đủ.

Theo như tên gọi của nó, chúng ta trải phẳng ma trận sang một véc tơ và đưa nó kếtnối đầy đủ với tầng tương tự trong mạng

Hình 2.0.8 Mô tả tầng kết nối đầy đủ

Trong chương 2 luận văn nghiên cứu về mạng nơ ron tích chập - Convolution neuralnetwork (CNN) Trong chương này luận văn đã tìm hiểu về cơ chế hoạt động củaCNN trong bài toán nhận biết cũng như phân loại hình ảnh

Trang 28

CHƯƠNG 3 MÔ HÌNH MẠNG PIXELLINK CHO PHÁT HIỆN VĂN BẢN

Có rất nhiều phương pháp cũng như thuật toán để xác định văn bản như SSD[3], CRAFT [1], Pixellink [5] vv

Nhưng khi thử một số phương pháp như CRAFT [1] thì cho kết quả không tốt

trên bộ trọng số có sẵn của họ, và phương pháp này sử dụng character Map nên

làm dữ liệu tốn nhiều thời gian, dữ liệu phải gán nhãn ở mức độ kí tự NhưngPixellink gán nhãn ở mức độ cụm nên việc gán nhãn dễ dàng và mất ít thời gianhơn Trong khuôn khổ thời gian luận văn, tôi chỉ mới kịp gán nhãn và thử nghiệmtheo Pixellink

Những năm gần đây, áp dụng DL vào phát hiện văn bản đã đạt được nhiềuthành công lớn, đa số các phương pháp đều sử dụng ít nhất hai phương thức đó là:

• Phân loại mỗi điểm ảnh

Pixellink sử dụng hai cơ chế đó là phân loại các điểm ảnh và tính điểm số liênkết giữa các điểm ảnh kề nó, mỗi điểm ảnh có tối đa tám điểm ảnh kề nó

Việc phát hiện văn bản qua instance Segmentation là dự đoán các điểm ảnhthuộc văn bản và kết hợp các điểm ảnh đó vào các nhóm khác nhau, mỗi nhóm nhưthế gọi là một instance

3.1Cấu trúc mạng

Trang 29

3.2 Để trích xuất đặc trưng của một bức ảnh thì ngoài các phương pháp học

máy truyền thống như SIFT, SURF…, thì sự phát triển của học sâu ứng dụng củaCNN để trích xuất đặc trưng cho thấy mang lại hiệu quả rõ rệt

Trong bài báo gốc của Pixellink họ đề xuất sử dụng mạng VGG16 để tríchxuất đặc trưng, nhưng ở tầng kết nối đầy đủ thứ sáu, và tầng kết nối đầy đủ thứ bảy,

được chuyển sang tầng Convolutation Hàm số Softmax được sử dụng cho cả hai

nhánh đó là dự đoán text/non-text và điểm số liên kết (Link Score)

Hình 3.0.1 Mô hình mạng VGG16

Trang 30

Feature maps ở mỗi tầng CNN khác nhau sẽ được áp dụng cho quá trìnhupsample của ảnh sau khi đi qua các tầng CNN Tất cả các tầng pooling trừ tầng thứ

5 có bước nhảy là 2, còn tầng pooling thứ 5 có bước nhảy là 1 conv1 x 1,2(16) là

tầng convoluation với kernels là 2 cho dự đoán text/non-text, 16 cho quá trình dựđoán liên kết với 8 hàng xóm xung quanh

Quá trình upsample người ta dùng bilinear interpolation để nội suy các điểm khác, sau đây tôi xin trình bày khái quát về bilinear interpolation

Giả sử rằng chúng ta muốn tìm giá trị tại một điểm có tọa độ (x,y) nhưng

không biết hàm số của nó, mà chỉ biết được giá trị của bốn điểm thuộc hàm số đó,chúng ta sẽ nội suy theo một phương sau đó nội suy theo phương còn lại

Giả sử đã biết trước giá trị tại 4 điểm:

�,

Trang 31

�2 −

�1

· �

�(

1 2

2

1 �(�21)�(�22) − � 1

Như vậy có thể nội suy từ 4 điểm cho trước

Hình ảnh dưới đây mô tả quá trình phát hiện văn bản của pixellink

Trang 32

Hình 3.0.2 Quá trình của Pixellink

3.3Kết nối các điểm ảnh

Dự đoán phân loại mỗi lớp cho mỗi điểm ảnh và dự đoán liên kết giữa cácđiểm ảnh, hai ngưỡng riêng biệt này có thể được áp dụng tách rời nhau Nhữngđiểm ảnh được dự đoán là văn bản, sau đó chúng được nhóm lại thành từng nhómvới nhau bằng cách sử dụng liên kết Mỗi nhóm như vậy là một thể hiện của vănbản, từ đó áp dụng lên toàn bộ điểm ảnh khác, sẽ thu được phân khúc(Segmentation)

Trích xuất hộp giới hạn (Bounding Boxes)

Sau khi phân khúc được văn bản, văn bản được chia thành các nhóm khácnhau dựa vào ngưỡng liên kết, bước trích xuất hộp giới hạn gần như dễ xác định, có

thể dùng minAreaRect trong thư viện openCV Đây cũng là sự khác biệt chính giữa

Pixellink và những phương pháp khác sử dụng hồi quy hộp giới hạn Ở đây hội giớihạn được suy ra trực tiếp phân khúc (Segmentation)

Sử dụng bộ lọc sau khi phân khúc (Segmentation)

Do đầu vào gồm nhiều nhiễu nên dự đoán nhầm là không thể tránh khỏi, màhộp giới hạn được xác định thông qua điểm số liên kết giữa các điểm ảnh, nên cầnphải bỏ đi những dữ thừa, cách đơn giản có thể bỏ là dựa vào độ cao, chiều dài,hoặc diện tích của hộp giới hạn

3.4Tối ưu

3.4.1 Tính toán vùng chính xác

Dựa vào TextBlock [6] nhưng giá trị các điểm ảnh được đánh nhãn là tích

Trang 33

cực, nếu tồn tại giao nhau giữa các vùng chính xác khác sẽ xem như là nhữngđiểm ảnh

Trang 34

được gán nhãn tiêu cực Một điểm ảnh và một trong tám điểm kề nó, nếu chung cùngtrong một hộp thì giá trị liên kết giữa chúng mang giá trị dương.

3.4.2 Hàm mất mát

Trong mỗi bài toán học sâu, định nghĩa hàm mất mát là một vấn đề rất quantrọng, nó ảnh hưởng đến kết quả của mô hình rất nhiều, sau đây tôi xin trình bàytóm tắt về hàm mất mát của mô hình Pixellink

Mất mát trong quá trình đào tạo là tổng của mất mát trên điểm ảnh và mấtmát trên liên kết

= ��

pixel + �link PT4.6

Trong đó, �link chỉ tính toán trên điểm ảnh mang giá trị tích cực, vì nhiệm

vụ phân loại đóng vai trò quan trọng hơn so với liên kết giữa các điểm ảnh, thực tếthì � được chọn là 2.0

3.3.2.1 Mất mát trên điểm ảnh

Kích thước hộp có kích thước khác nhau, ở ví dụ dưới đây khu vực của

“Manchester” lớn hơn tổng tổng tất cả nhưng hộp khác

Hình 3.0.3 Các hộp với diện tích khác nhauNếu tính toán chi phí trên điểm ảnh mà gán tất các điểm ảnh cùng một trọng số, thì điều này không công bằng với các hộp nhỏ và sẽ ảnh hưởng đến hiệu suất của mô

Trang 35

hình Như vậy, để giải quyết vấn đề này thì việc gán trọng số cho mỗi điểm ảnh

được áp dụng như một bài toán phân tách, đề xuất sử dụng Instance- Balanced Cross- Entropy Loss Sau đây tôi sẽ đi vào chi tiết của đề xuất này:

Giả sử rằng trong một bức ảnh có hộp, thì tất cả các giá trị điểm ảnh bên

trong mỗi hộp được gán bằng nhau, đối với hộp thứ i có diện tích là Si thì tất cả các

Còn giá trị mỗi điểm ảnh không nằm trong hộp áp dụng Online Hard

Example Mining (OHEM) [7], để đi vào chi tiết OHEM [7], r * S điểm ảnh không

nằm trong hộp được chọn, bằng cách gán tất cả giá trị điểm ảnh không nằm tronghộp bằng một Và tỉ lệ diện tích của phần ngoài hộp so với phần hộp được gán bằng

r = 3 như là một con số chung cho thực tế Từ những giả thiết trên chúng ta sẽ thu được một ma trận trọng số kí hiệu là W Vậy mất mát của nhiệm vụ phân loại các

điểm ảnh được định nghĩa:

1

�� ��� � =

(1 + �)� �� ������� ��4.8Trong đó � _ là ma trận Cross-Entropy đựa trên dự đoán text/non-text 3.3.2.2 Mất mát trên các liên kết

Phần trên đã trình bày về mất mát trên điểm ảnh, hay là mất mát do quá trìnhphân loại mỗi điểm ảnh Sau đây tôi sẽ trình bày về thành phần mất mát thứ hai củaPixellink [5] đó là mất mát trên các liên kết, để phân tách được tầng nhóm điểm ảnhvới nhau, cần dựa vào tính liên kết giưa các điểm ảnh đó, tương tự Pixellink cũngvậy, dựa vào liên kết giữa các hàng xóm và đưa ra quyết định nhóm các điểm ảnh

Trang 36

cùng một hộp.

Trang 37

Mất mát liên kết được tách thành hai thành phần, mất mát liên kết của các điểm ảnh nằm trong hộp và các điểm ảnh nằm ngoài các hộp, được định nghĩa như sau:

� ������� , �������� tương ứng là ma trận trọng số liên kết giưa các điểm ảnh trong hộp

và điểm ảnh ngoài hộp, ma trận này được tính toán từ W Chi tiết hơn, đối với hàng xóm thứ k của điểm ảnh (i,j ) được tính như sau:

���� ���� ( , , � ) = (,) ∗ (�����(, , � ) = 1), PT 4.11

��������(,,,, ) = �(,,,,,,,,,,,,,,,) ∗ ((((((((((((((( ����(i,j,k) = 0)PT.4.12 Trong đó ����� là ma trận nhãn của liên kết

Vậy mất mát của liên kết được tính như sau

Và là tổng trung bình của tất cả các điểm trên ma trận

3.5Chuẩn bị dữ liệu và đào tạo

để bỏ nhiễu cũng như làm giàu dữ liệu, bằng cách xoay ảnh với các góc khác

��

Ngày đăng: 06/02/2022, 07:07

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[10] Machine Learning in Python, https://scikit-learn.org/stable/+ Link
[11] Satya Mallick. Support Vector Machines (SVM) https://www.learnopencv.com/support-vector-machines-svm [12] Kushashwa Ravi Shrimali. SVM using Scikit-Learn in Python Link
[1] Youngmin Baek, Bado Lee, Dongyoon Han, Sangdoo Yun, Hwalsuk Lee . Character Region Awareness for Text Detection. 2019 Khác
[2] Zhi Tian, Weilin Huang, Tong He, Pan He, Yu Qiao . Detecting Text in Natural Image with Connectionist Text Proposal Network. 2016 Khác
[3] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg. SSD: Single Shot MultiBox Detector. 2015 Khác
[4] Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi. You Only Look Once: Unified, Real-Time Object Detection. 2015 Khác
[5] Dan Deng, Haifeng Liu, Xuelong Li, Deng Cai. PixelLink: Detecting Scene Text via Instance Segmentation. 2018 Khác
[6] Chengquan, Zhang. Multi-oriented Text Detection with Fully Convolutional Networks. 2016 Khác
[7] Abhinav Shrivastava, Abhinav Gupta, Ross Girshick. Raining Region- based Object Detectors with Online Hard Example Mining. 2016 Khác
[8] Benteng Ma, Yong Xia. Autonomous Deep Learning: A Genetic DCNN Designer for Image Classification. 2018 Khác
[9] Baoguang Shi, Xiang Bai, Cong Yao. An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition. 2015 Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w