Chương 1: Trình bày tổng quan về đề tài của luận văn. - Chương 2: Trình bày chi tiết về bài toán, cơ sở lý thuyết quan trọng và một số nghiên cứu liên quan đến đề tài của luận văn. - Chương 3: Mô tả chi tiết về phương pháp hỗ trợ kiểm tra hồ sơ sinh viên dựa trên rút trích văn bản. - Chương 4: Cài đặt hệ thống, thử nghiệm và đánh giá bộ dữ liệu của Trường Đại học Công nghệ Đồng Nai.
- Chương 5: Kết luận. Cơ Sở Lý Thuyết Và Các Công Trình Nghiên Cứu Liên Quan 2.1 Giới thiệu Trong chương này, học viên sẽ giới thiệu về cơ sở lý thuyết các phương pháp được sử dụng trong luận văn. Đầu tiên, học viên sẽ giới thiệu các bước trong việc phát hiện và nhận dạng đối tượng. Sau đó, học viên sẽ đi tìm hiểu tổng quan, chi tiết về các công trình nghiên cứu trước đây cũng như phân tích các công trình nghiên cứu liên quan.
Nội dung chương sẽ được chia thành hai phần: Phần đầu nói về một số cơ sở lý thuyết về phát hiện và nhận dạng đối tượng. Phần thứ hai sẽ trình bày tổng quan các công trình nghiên cứu liên quan, từ đó tạo tiền đề cho việc xây dựng mô hình rút trích thông tin từ văn bản.2 Một số cơ sở lý thuyết 2. Nhận dạng đối tượng Ngày nay các bài toán về nhận dạng đã và đang được ứng dụng rất nhiều trong thực tế, thường được tập trung vào một số kiểu như: Nhận dạng đối tượng, nhận dạng âm thanh, nhận dạng văn bản. Một bài toán nhận dạng thông thường sẽ trải qua các bước sau [1]: Dữ liệu (ảnh, video) Tiền xử lý Huấn luyện Hậu xử lý Kết quả Hình 2.
Sơ đồ tổng quát của một hệ thống nhận dạng. 6 Tiền xử lý: Dữ liệu hình ảnh, video đầu vào thường là các tệp thu nhận từ máy quét, camera, các thiết bị ghi hình hay thiết bị thu hình khác. Hình ảnh có thể bị nhiễu (mất góc, nghiêng lệch, tối hoặc quá sáng…), nguyên nhân do điều kiện thu hạn chế. Để là tăng độ chính xác của lớp nhận dạng, chúng ta cần phải có quá trình tiền xử lý.
Quá trình này có thể bao gồm các chức năng: Nhị phân hóa ảnh, lọc nhiễu, xoay ảnh. Huấn luyện/Nhận dạng: Đây là giai đoạn quan trọng nhất, việc phân lớp, lựa chọn mô hình, thuật toán, sẽ quyết định đến tốc độ xử lý, độ chính xác của hệ thống. Hậu xử lý: Là giai đoạn nhằm tái hiện, ghép nối các dữ liệu đã huấn luyện thành các thông tin cụ thể để cho ra kết quả. Bên cạnh đó, việc phát hiện ra các lỗi nhận dạng sai, sẽ đóng vai trò vào việc điều chỉnh các ràng buộc, trọng số nhằm nâng cao chất lượng nhận dạng.
Phát hiện và nhận dạng ký tự Nhận dạng ký tự quang học (Optical Character Recognition - OCR) [2] là công nghệ nhận dạng chữ cái, chữ số, ký hiệu trên một file ảnh chụp hoặc pdf, sau đó trích xuất các trường thông tin trên hình ảnh và lưu trữ dưới dạng text nhằm số hóa tài liệu, cụ thể là các thông tin, dữ liệu trên ảnh chụp đó thành văn bản. Nhận dạng ký tự quang học (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áy tí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ận dạ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ố. Bài toán phát hiện và nhận dạng ký tự đã được nghiên cứu từ lâu, năm 1951 M.
Sheppard đã phát minh ra robot GISMO có thể đọc các ký hiệu âm nhạc cũng như các từ trên một trang in, vào những năm 1970 công ty Kurzweil Computer Products Inc của Mỹ đã cho ra đời hệ thống phông chữ Omni đầu tiên trên thế giới. Công nghệ OCR có khả năng nhận dạng phông chữ này. 7 Ngay lập tức, công nghệ OCR đã được tích hợp với công nghệ tổng hợp giọng nói (giọng máy), giúp máy có khả năng đọc hiểu văn bản. Ngoài sự đa dạng trong cách thức nhận dạng, OCR còn đa dạng về cách dùng, có thể được chia thành hai cách [3], dùng online và dùng offline như sau: - Nhận dạng offline: nhận dạng các văn bản in ra giấy hoặc các bản viết tay và nó đòi hỏi quá trình scan trên mặt giấy hoặc mặt vật liệu có chữ.
Cách này thường đòi hỏi con người phải thực hiện một số thao tác như phân loại, lưu trữ và chỉnh sửa văn bản trước khi scan. - Nhận dạng online: thường chỉ được dùng cho nhận dạng chữ viết tay được lưu trữ ở dạng kỹ thuật số, chúng ta thường dùng một loại bút đặc biệt (nhưng do sự thành công của các nghiên cứu gần đây mà giờ đã có các thiết bị khác thay thế). Việc nhận dạng online nhằm giúp con người giao tiếp với máy tính tốt hơn bằng cách viết tay thay vì gõ phím. 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, sau khi phát hiện được vùng ký tự, cần nhận dạng vùng ký tự đó.
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áp nhậ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ành các ký tự riêng lẻ rồi nhận dạng sẽ trở nên khó khăn. Có nhiều thuật toán khác nhau có thể được sử dụng để phân đoạn văn bản như EAST [4], Faster R- CNN [5], SSD [6], Yolo [7]. Nhờ sự phát triển của máy móc cũng như dữ liệu lớn, các kỹ thuật học sâu (Deep Learing) 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. Với những bước tiến lớn trong lĩnh vực học sâu và ứng dụng của học sâu vào các bài toán thị giác máy tính, độ chính xác của việc rút trích văn bản và tốc độ xử lý ngày càng đạt được những thành công nhất định.
Áp dụng OCR vào đời sống sẽ giúp rất nhiều trong việc trích xuất thông tin trong các bức ảnh. Mạng Nơ-ron tích chập (Convolutional Neural Network – CNN) Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. Trong mô hình mạng truyền ngược (feedforward neural network) truyền thống thì mỗi nơ-ron của tầng trước sẽ là đầu vào (input node) cho tất cả các nơ-ron của tầng tiếp theo.
Mô hình này gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine layer). Còn trong mô hình CNNs thì ngược lại. Các layer liên kết được với nhau thông qua cơ chế convolution. Layer tiếp theo là kết quả convolution từ layer trước đó, nhờ vậy mà ta có được các kết nối cục bộ.
Như vậy mỗi neuron ở layer kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron trước đó. Mỗi một layer được sử dụng các filter khác nhau thông thường có hàng trăm hàng nghìn filter như vậy và kết hợp kết quả của chúng lại. Ngoài ra có một số layer khác như pooling/subsampling layer dùng để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu). Trong quá trình huấn luyện, mạng CNN tự động học các giá trị qua các layer filter dựa vào cách thức thực hiện.
Ví dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra thông số tối ưu cho các filter tương ứng, theo thứ tự raw pixel > edges > shapes > facial > high-level features. Layer cuối cùng được dùng để phân lớp ảnh. Kiến trúc CNN cơ bản.org/wiki/Convolutional_neural_network 9 Các mô hình phát hiện đối tượng sử dụng mạng nơ ron tích chập CNN dựa trên quy trình sau: - Tìm các vùng trong ảnh có thể chứa một đối tượng. Những khu vực này được gọi là khu vực đề xuất.
- Trích xuất các đặc trưng CNN từ các khu vực đề xuất. - Phân loại các đối tượng bằng cách sử dụng các đặc trưng được trích xuất. Thông thường một CNN thường bao gồm các bước sau: Convolution, Max Pooling, Flattening và Fully Connection. - Convolution: Bao gồm các bộ lọc (filter) là một ma trận vuông có kích thước nhỏ cho trượt qua toàn bộ ma trận các pixel của ảnh đầu vào.
Các bộ lọc này có các thông số như Depth (chiều sâu của bộ lọc), Stride (khoảng cách giữa mỗi lần trượt) và Padding (kích thước viền cho ảnh đầu vào). Khi trượt, ta tính tích chập của ma trận này và ma trận các pixel của vùng ảnh đang xét tới (cách tính như Hình 2. Mô tả cách tính tích chập của các bộ lọc). Sau khi tính trên toàn bộ ảnh ta sẽ được bản đồ đặc trưng (feature map).
Ở đây các filter chính là thông số cần học của mô hình. Sau bước convolution này có thêm một hàm kích hoạt, ở đây là ReLU (Rectified linear unit) 10 Hình 2. Mô tả cách tính tích chập của các bộ lọc 2 - Max Pooling: Mục đích chính của Max Pooling là cho CNN khả năng detect được các đối tượng với mọi biến dạng của hình ảnh. - Flattening: Bước này sẽ chuyển ma trận 2 chiều từ các bước trước hành ma trận một chiều - Fully Connection: Bước này sẽ kết nối các input từ bước Flattening và các lớp ẩn của mô hình và sẽ có các nút output tương ứng với các đối tượng.
chúng ta trải phẳng ma trận sang một véc tơ và đưa nó kết nối đầy đủ với tầng tương tự trong mạng.io/convolutional-networks/ 11 2.3 Một số công trình nghiên cứu liên quan Một số mô hình phát hiện đối tượng 2. R-CNN, Fast R-CNN và Faster R-CNN Có ba biến thể của R-CNN. Mỗi biến thể cố gắng tối ưu hóa, tăng tốc hoặc nâng cao kết quả của một hoặc nhiều quá trình này. Phương pháp R-CNN [8]: Được đề xuất từ năm 2013, R-CNN trước tiên tạo các khu vực đề xuất bằng thuật toán tìm kiếm chọn lọc như Edge Box.
Các khu vực đề xuất được cắt ra khỏi hình ảnh và thay đổi kích thước. Sau đó, CNN phân loại các vùng bị cắt và thay đổi kích thước. Cuối cùng, các hộp giới hạn khu vực đề xuất được tinh chỉnh bằng máy vectơ hỗ trợ (SVM) được đào tạo sử dụng các đặc trưng CNN.