Mẫu có thể là bất kỳ thực thể nàocần được nhận ra, ví dụ: chữ in, chữ viết tay, vân tay, khuôn mặt, tiếng nói, hìnhdạng,… Cùng với sự phát triển của khoa học kỹ thuật, các ứng dụng của n
Trang 1HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
Trang 2BỘ GIÁO DỤC
VÀ ĐÀO TẠO
VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM
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
Trang 3Hà Nội –
202 1
2
Trang 4LỜ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
Tác giả
Phạm Văn Dương
Trang 5LỜ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 khoahọ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
Phạm Văn Dương
Trang 6MỤC LỤC
DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ
MỞ ĐẦU
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ự
1.2Sự phát triển của học máy và học sâu
1.3Kết luận chương
CHƯƠNG 2 GIỚI THIỆU VỀ MẠNG CONVOLUTION NEURAL NETWORK
2.1Giới thiệu sơ lược về CNN
2.2Convolution Layer – Tầng Tích Chập
2.3Strides – Bước nhảy
2.4Padding – Đệm
2.5Non Linearity (ReLU) – Phi tuyến tính
2.6Pooling Layer – Tầng gộp
2.7Full Connected Layer – Tầng kết nối đầy đủ .
2.8Kết luận chương .
CHƯƠNG 3 MÔ HÌNH MẠNG PIXELLINK CHO PHÁT HIỆN VĂN BẢN
3.1Cấu trúc mạng
3.2Kết nối các điểm ảnh
3.3Tối ưu
3.3.1Tính toán vùng chính xác
3.3.2Hàm mất mát
3.4Chuẩn bị dữ liệu và đào tạo
3.4.1Chuẩn bị dữ liệu
Trang 73.4.5 Quá trình đào tạo
3.4.6 Tối ưu:
3.4.7 Kết quả đạt được:
3.4.8 Hạn chế của mô hình
3.5 Kết luận chương
CHƯƠNG 4 GIỚI THIỆU VỀ CONVOLUTION RECURRENT NEURAL NETWORK
4.1 Giới thiệu bài toán và lợi thế của CRNN
4.2 Cấu trúc
4.3 Tầng trích xuất đặc trưng chuỗi
4.4 Gán nhãn trình tự
4.5 Tầng Transcription
4.6 Hàm mất mát
4.7 Tóm tắt cấu trúc mô hình
4.7.1 Cách tạo dữ liệu và đào tạo
4.7.2 Dữ liệu thật
4.7.3 Dữ liệu sinh
4.7.4 Hạn chế của mô hình
4.8 Kết luận chương
CHƯƠNG 5: CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ
5.1 Bài toán
5.2 Mô hình giải quyết bài toán
5.3 Môi trường cài đặt
5.4 Dữ liệu kiểm thử
5.5 Kết quả thực nghiệm
KẾT LUẬN
TÀI LIỆU THAM KHẢO
Trang 8DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
Trang 9DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.0.1 Quá trình nhận dạng 10
Hình 1.0.2 Mối quan hệ giưa AI, ML, DL 11
Hình 1.0.3 Các giai đoạn của AI 12
Hình 2.0.1 Mô hình CNN sử dụng cho bài toán phân loại 14
Hình 2.0.2 Nhân ma trận ảnh với bộ lọc 15
Hình 2.0.3 Ma trận và bộ lọc 15
Hình 2.0.4 Kết quả thực hiện phép nhân 15
Hình 2.0.5 Đầu ra của ma trận có bước nhảy là hai 16
Hình 2.0.6 Hoạt động của hàm ReLU 17
Hình 2.0.7 Max Pooling 17
Hình 2.0.8 Mô tả tầng kết nối đầy đủ 18
Hình 3.0.1 Mô hình mạng VGG16 20
Hình 3.0.2 Quá trình của Pixellink 21
Hình 3.0.3 Các hộp với diện tích khác nhau 23
Hình 3.0.4 Hình minh họa của quá trình xác định hộp 25
Hình 3.0.5 Dữ liệu sinh ra 27
Hình 3.0.6 Nhãn của dữ liệu sinh 28
Hình 3.0.7 Hàm mất mát của phân loại mỗi điểm ảnh 29
Hình 3.8 hàm mất mát liên kết 29
Hình 3.0.9 Hình kết quả của mô hình Pixellink 29
Hình 3.0.10 Hình miêu tả sự hạn chế 30
Hình 4.0.1 Cấu trúc mạng CRNN 32
Hình 4.0.2 Mô hình RNN 33
Hình 4.0.3 Cấu trúc mạng LSTM 34
Hình 4.0.4 Hình minh họa thông tin được truyền đi 35
Hình 4.0.5 Tầng mạng và phép nhân 35
Trang 10Hình 4.0.6 Hình minh họa cổng quên 36
Hình 4.0.7 Hình mô tả cập nhật khối 37
Hình 4.0.8 Hình mô tả quá trình cập nhật trạng thái mới 37
Hình 4.0.9 Hình mô tả qúa trình xác định đầu ra 45
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 47
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 49
Hình 5.0.1 Giao diện chương trình khi truy cập 52
Hình 5.0.2 Giao diện chương trình khi tải ảnh CMT thành công 52
Hình 5.0.3 Giao diện chương trình sau khi ra kết quả 53
Trang 11MỞ ĐẦU
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àocần được nhận ra, ví dụ: chữ in, chữ viết tay, vân tay, khuôn mặt, tiếng nói, hìnhdạng,… Cùng với sự phát triển của khoa học kỹ thuật, các ứng dụng của nhận dạngmẫu ngày càng được mở rộng, từ việc tự động hoá một số quy trình trong sản xuấtcông nghiệp cho đến dự báo thời tiết, dự báo cháy rừng hay là một phần quan trọngtrong các hệ thống máy tính thông minh…
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 đến nay, bài toánphâ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 hayFineReader của hãng ABBYY,…
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ột cá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ântích và nhận dạng bảng biểu, phiếu điều tra, mẫu điền thông tin, danh thiế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ài liệu là đặcbiệt quan trọng, bởi vì nó sẽ quyết định đến việc tách và nhận dạng chính xác cáctrường thông tin cần thiết cho từng ứng dụng cụ thể
Trên thế giới đã có nhiều sản phẩm phần mềm phân tích và nhận dạng ảnh thẻchứa thông tin cá nhân (như hộ chiếu, danh thiếp,…) và được ứng dụng trong nhiềulĩnh vực, như: làm thủ tục hải quan, các giao dịch ở các cửa hàng, khách sạ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ấy chứngminh nhân dân (CMND) Do đó, trong luận văn này, tôi xin đề xuất một phươngphá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ẫu với kỹthuật xử lý hình ảnh thông minh
Trang 12Dự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.”.
Mục đích của đề tài.
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:
ảnh mô hình học sâu
với dữ liệu giấy chứng minh thư nhân dân
Nội dung của luận văn thạc sĩ gồm các chương, mục chính :
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
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ả
Kết luận
Tài liệu tham khảo
Trang 13CHƯƠ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.1 Tổng quan về phát hiện và nhận dạng ký tự
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à ứng dụng của DL vàocác bài toán thị giác máy tính để giải các bài toán khó và đạt được một số thành côngnhất định Áp dụng OCR vào đời sống sẽ giúp con người rất nhiều trong việc tríchxuất thông tin cũng như lấy thông tin là chữ, kí tự, con số trong các bức ảnh
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ỗi cá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ông tin trên mộtbức ảnh, giảm chi phí cũng như thời gian trong quá trình nhập liệu Áp dụng đượcnhiều nơi cũng như nhu cầu khác nhau trong việc trích xuất thông tin
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ướcchuyển mình đáng kể, trong hơn thập kỉ trở lại đây, nhờ sự phát triển của máy móccũ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ếtquả ấn tượng trong các hướng nghiên cứu khác nhau
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ết quả 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ư.
Để giải quyêt bài toán tôi chia bài toán thành hai vấn đề chính là phát hiện và nhậndạng, mỗi giai đoạn áp dụng công nghệ khác nhau, nhưng đều áp dụng học sâu đểgiải quyết vấn đề
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 tượng nhưSSD [3], YOLO [4], CTPN [2],…, Trong cuộc thi ICDAR 2015 kỹ thuật học sâu sử
Trang 14dụ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ự.
Hình 1.0.1 Quá trình nhận dạngSau khi phát hiện được vùng ký tự, mình cần nhận dạng vùng ký tự đó, bàitoá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úcchuỗi trên ảnh có độ dài thay đổi khác nhau, nên sử dụng các phương pháp nhậndạng đối tượng tuyền thống rất khó để có thể thực hiện được, việc tách thành cá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ôi thấymạng CRNN cho kết quả khá tốt trong bài toán nhận dạng chuỗi, nên đã áp dụ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ạng CRNN 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ợpcủ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
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 đờisống, khi những thành tựu mà nó đạt được, có khả năng vượt qua con người trongmột số nhiệm vụ như chơi cờ
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àynay học máy như là một phần của cuộc sống, rất nhiều ứng dụng học máy đã giúp conngười giải quyết những vấn đề khó khăn và đưa con người tới cuộc sống tốt đẹp hơn
Trang 15mộ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ải thiện khảnăng học dựa vào chính nó.
Trí tuệ nhận tạo bắt đầu được định nghĩa từ những năm năm mươi của thế 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
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
Hình 1.0.2 Mối quan hệ giữa AI, ML, DLMột trong những viên gạch đầu tiên của mạng nơ-ron và học sâu là thuật toánperceptron, đây là một thuật toán học có giám sát, nó nhằm giải quyết bài 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ên cứ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
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ào backpropagation.Điều này giúp mạng nơ-ron vượt qua được hạn chế của perceptron về việc chỉ phân
Trang 16biệ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
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ũng như 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àm lồi, nênviệc tìm nghiệm toàn cục của hàm mất mát rất khó
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
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.
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ủa họcmáy từ thời sơ khai đến hiện tại:
Hình 1.0.3 Các giai đoạn của AI
Trang 17Nă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ănglừa con người rằng nó chính là con người
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ểnvào chương trình
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
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
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ọ.
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
Năm 1985 Terry Sejnowski phát minh ra NetTalk, nó học phát âm từ giống
như một đứa trẻ
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
Năm 1997 cỗ máy IBM's Deep Blue đánh bại nhà vô địch cờ vua thế giới 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
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ớimáy tính thông qua cử chỉ và hành động
Trang 18Nă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
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
Năm 2014 Fakebook đã phát triển DeepFake, nó giúp định danh, nhận ra con
1.3 Kết luận chương
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 19CHƯƠNG 2 GIỚI THIỆU VỀ MẠNG CONVOLUTION NEURAL
NETWORK 2.1 Giới thiệu sơ lược về CNN
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ũng như 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áytí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ề chobà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
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
Hình 2.0.1 Mô hình CNN sử dụng cho bài toán phân loại
Sau đây ta sẽ đi chi tiết về CNN
2.2 Convolution Layer – Tầng Tích Chập
Trang 20Ở tầng Convolution là tầng đầu tiên giúp trích xuất đặc trưng của ảnh, tầngConvolution trình bày mối quan hệ giữa các giá trị điểm ảnh bằng học các đặc trư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
Ví dụ: Về trích xuất đặc trưng của ảnh sử dụng tích chập
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 21Hình 2.0.4 Kết quả thực hiện phép nhânTí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.
Trang 2220
Trang 23Bước nhảy là số lượng của điểm ảnh được nhảy qua trên ma trận đầu vào, khibước nhảy là một thì chúng di chuyển bộ lọc một điểm ảnh sau mỗi lần, khi bướcnhả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.4 Padding – Đệ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à:
2.5 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 )
Hình 2.0.6 Hoạt động của hàm ReLU
Trang 24Hà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
2.6 Pooling Layer – Tầng gộp
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à:
Giải thích:
Pooling lấy giá trị trung bình từ feature map – biểu đồ đặc trưng
Sum Pooling lấy tổng các giá trị từ feature map – biểu đồ đặc trưng
Hình 2.0.7 Max Pooling
Trang 252.7 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 đủ
2.8 Kết luận chương.
Trong chương 2 luận văn nghiên cứu về mạng nơ ron tích chập - Convolutionneural network (CNN) Trong chương này luận văn đã tìm hiểu về cơ chế hoạt độngcủa CNN trong bài toán nhận biết cũng như phân loại hình ảnh
Trang 26CHƯƠ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ưng Pixellink gánnhãn ở mức độ cụm nên việc gán nhãn dễ dàng và mất ít thời gian hơn Trong khuônkhổ thời gian luận văn, tôi chỉ mới kịp gán nhãn và thử nghiệm theo 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à:
Pixellink sử dụng hai cơ chế đó là phân loại các điểm ảnh và tính điểm sốliên kế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.1 Cấu trúc mạng
Trang 27Để 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áytruyền thống như SIFT, SURF…, thì sự phát triển của học sâu ứng dụng của CNN
để 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 28Feature maps ở mỗi tầng CNN khác nhau sẽ được áp dụng cho quá trình
upsample 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:
11 = ( 1 , 1 ), 12 = ( 1 , 2 ), 21 = ( 2 , 1 ), 22 = ( 2 , 2) PT 4.0 Đầu tiên nội suy tuyến tính theo hướng x
Trang 2926
Trang 30Hình 3.0.2 Quá trình của Pixellink
3.2 Kế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óm với nhau bằngcách sử dụng liên kết Mỗi nhóm như vậy là một thể hiện của văn bản, từ đó áp dụnglê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.3 Tối ưu
3.3.1 Tính toán vùng chính xác