Tải bản đầy đủ (.pdf) (65 trang)

Ứng dụng trích xuất thông tin trong mẫu đơn nhập học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4 MB, 65 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI: ỨNG DỤNG TRÍCH X́T THƠNG TIN
TRONG MẪU ĐƠN NHẬP HỌC

Giảng viên hướng dẫn: Th.S Hồ Đắc Quán
Sinh viên thực hiện:
Trương Minh Phụng 17022931
Nguyễn Đăng Quang 17095931

TP. Hồ Chí Minh, Tháng 06/2021


BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
----------

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI: ỨNG DỤNG TRÍCH X́T THƠNG TIN
TRONG MẪU ĐƠN NHẬP HỌC

Giảng viên hướng dẫn: Th.S Hồ Đắc Quán
Sinh viên thực hiện:
Trương Minh Phụng 17022931


Nguyễn Đăng Quang 17095931

TP. Hồ Chí Minh, Tháng 06/2021


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

LỜI CAM ĐOAN
Em xin cam đoan việc nghiên cứu đề tài được thực hiện cùng với giáo viên hướng
dẫn luận án và chưa được sử dụng để báo cáo cho bất kì đồ án hay môn học nào.
Em xin cam đoan mọi sự giúp đỡ đã được cảm ơn, các thông tin trích dẫn luận văn
đã được ghi chú đầy đủ và bảo đảm rõ nguồn gốc không xâm phạm quyền tác giả.

TP.HCM, ngày 17, tháng 06, năm 2021

I

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

LỜI CẢM ƠN
Trong quá trình thực hiện luận văn tốt nghiệp này nhóm chúng em được giáo viên
hướng dẫn tận tình chỉ bảo, quan tâm dẫn dắt từng bước thực hiện, bên cạnh đó chúng
em xin cảm ơn sâu sắc đến tất cả những cá nhân, tập thể đã tạo điều kiện giúp đỡ trong
suốt quá trình thực hiện khóa luận tốt nghiệp này.
Đầu tiên chúng em xin cảm ơn ban giám hiệu trường Đại học Cơng Nghiệp Thành

Phố Hồ Chí Minh, phịng đào tạo khoa Cơng nghệ thơng tin cùng những thầy cô là người
cung cấp những kiến thức, kỹ năng trong suốt quá trình học tập và rèn luyện.
Đặc biệt nhóm chúng em xin trân trọng cảm ơn giảng viên Th.S Hồ Đắc Quán,
người đã trực tiếp chỉ bảo, tận tình hướng dẫn, cung cấp cho chúng em thật nhiều kiến
thức từ cơ bản đến nâng cao, hướng dẫn khoa học cũng như những lời động viên, quan
tâm, giúp đỡ từng bước nghiên cứu trong suốt quá trình thực hiện luận văn này.
Và cuối cùng nhóm em xin gửi lời cảm ơn chân thành đến tất cả mọi người đã giúp
đỡ đồng hành cùng tơi trong suốt q trình thực hiện luận văn.
Do giới hạn kiến thức và khả năng của bản thân còn nhiều thiếu sót và hạn chế,
nhóm em kính mong nhận được những sự sự chỉ dẫn và đóng góp của các thầy cô giáo
để khóa luận của nhóm em được hoàn thiện hơn.
Xin trân trọng cảm ơn!
TP.HCM, ngày 17, tháng 06, năm 2021

II

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
TP. Hồ Chí Minh, ngày 17, tháng 06, năm 2021
GIÁO VIÊN HƯỚNG DẪN

III

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
TP. Hồ Chí Minh, ngày 17, tháng 06, năm 2021
GIÁO VIÊN PHẢN BIỆN

IV

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

MỤC LỤC


LỜI CẢM ƠN ............................................................................................................ II
NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN .............................. III
NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN................................. IV
MỤC LỤC .................................................................................................................. V
DANH MỤC HÌNH ẢNH ....................................................................................... VII
DANH MỤC CÁC BẢNG ........................................................................................ IX
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ................................................. X
LỜI MỞ ĐẦU ........................................................................................................... XI
CHƯƠNG 1. TỔNG QUAN ........................................................................................ 1
1.1. Mục tiêu đề tài ................................................................................................... 1
1.2. Phương pháp thực hiện đề tài ............................................................................. 2
CHƯƠNG 2. Cơ sở lý thuyết ....................................................................................... 3
2.1. Computer vision (thị giác máy tính)................................................................... 3
2.1.1. Khái niệm .................................................................................................... 3
2.2. Object detection ................................................................................................. 3
2.2.1. Khái niệm về mạng backbone ...................................................................... 4
2.2.2. Khái niệm về object detection...................................................................... 4
2.2.3. Two-stage detector (nhận dạng hai giai đoạn) .............................................. 4
2.2.4. One-stage detector (nhận dạng một giai đoạn) ............................................. 7
2.2.5. So sánh về two-stage detector và one-stage detector .................................... 7
2.3. Optical Character Recognition (OCR) ............................................................... 8
2.3.1. Định nghĩa ................................................................................................... 8
2.3.2. Ưu nhược điểm OCR ................................................................................... 8
2.4. YOLO ............................................................................................................... 8
2.4.1. Khái niệm mạng YOLO............................................................................... 8
2.4.2. Bounding box .............................................................................................. 9
2.4.3. Anchor box................................................................................................ 10
2.4.4. IoU – Intersection over Union ................................................................... 11
2.4.5. YOLO: You Only Look One ..................................................................... 13

2.5. CRNN ............................................................................................................. 16
2.5.1. Convolutional recurrent neural network (CRNN) là gì............................... 16
V

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

2.5.2. Các đặc điểm nổi bật của CRNN ............................................................... 17
2.5.3. Kiến trúc của mạng CRNN ........................................................................ 18
2.5.4. CTC (Connection Temporal Classification) loss ........................................ 18
CHƯƠNG 3. Thực nghiệm và đánh giá ..................................................................... 20
3.1. Giới thiệu......................................................................................................... 20
3.2. Một số thư viện và framework quan trọng ....................................................... 22
3.2.1. Pytorch ...................................................................................................... 22
3.2.2. Keras ......................................................................................................... 23
3.2.3. Numpy ...................................................................................................... 23
3.3. Thông tin về bộ dữ liệu được sử dụng .............................................................. 24
3.3.1. Thông tin tổng quan về bộ dữ liệu ............................................................. 24
3.3.2. Bộ dữ liệu huấn luyện mơ hình object detection với YOLO v5 .................. 26
3.3.3. Bộ dữ liệu huấn luyện mơ hình OCR với CRNN ....................................... 27
3.4. Nhận diện vùng chứa thông tin trong ảnh bằng YOLO v5 ............................... 33
3.5. OCR với CRNN............................................................................................... 36
3.5.1. Kiến trúc của mô hình CRNN .................................................................... 36
3.5.2. Kết quả huấn luyện mơ hình CRNN .......................................................... 38
3.6. Demo chương trình .......................................................................................... 39
3.6.1. Giao diện chính của chương trình .............................................................. 39

3.6.2. Giới thiệu sơ lược về các chức năng của ứng dụng .................................... 39
3.6.3. Thực thi chương trình ................................................................................ 40
3.6.4. Đánh giá kết quả thực hiện chương trình ................................................... 42
CHƯƠNG 4. Kết luận và hướng phát triển ................................................................ 47
4.1. Kết luận ........................................................................................................... 47
4.2. Hạn chế ........................................................................................................... 47
4.3. Hướng phát triển .............................................................................................. 49
TÀI LIỆU THAM KHẢO.......................................................................................... 50

VI

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

DANH MỤC HÌNH ẢNH
Hình 1. 1. Ảnh giới thiệu ............................................................................................. 1
Hình 2. 1 Computer vision ........................................................................................... 3
Hình 2. 2. Kiến trúc cơ bản của two-stage detector ...................................................... 4
Hình 2. 3. Kiến trúc cơ bản của one-stage detector ...................................................... 7
Hình 2. 4. Minh họa bounding box trong object detection ............................................ 9
Hình 2. 5. Bounding box với 2 điểm (x1, x2) nằm trên cùng bên trái và (x2, y2) nằm ở
góc dưới bên phải ...................................................................................................... 10
Hình 2. 6. (x1, y1) nằm ở tâm của bounding box và x2 là chiều rộng, y2 là chiều cao.
.................................................................................................................................. 10
Hình 2. 7. Minh họa ground-true bounding box và predicted bounding box ............... 11
Hình 2. 8. Cơng thức tính IoU.................................................................................... 12

Hình 2. 9. Tính IoU với các bounding box khác nhau ................................................ 13
Hình 2. 10. Workflow của mơ hình YOLO ................................................................ 14
Hình 2. 11. Kiến trúc mạng YOLO ............................................................................ 15
Hình 2. 12. Convolutional recurrent neural network (CRNN) .................................... 17
Hình 2. 13. Kiến trúc chung của mạng CRNN. .......................................................... 18
Hình 3. 1. Mẫu đơn nhập nhập học của trường Đại học Cơng nghiệp TP. HCM ........ 20
Hình 3. 2. Các thơng tin cần trích xuất trong mẫu đơn nhập học ................................ 21
Hình 3. 3. Quy trình thực hiện trích xuất thơng tin trong mẫu đơn ............................. 21
Hình 3. 4. Pytorch ...................................................................................................... 22
Hình 3. 5. Keras ......................................................................................................... 23
Hình 3. 6. Numpy ...................................................................................................... 23
Hình 3. 7. Mẫu đơn 1 ................................................................................................. 24
Hình 3. 8. Mẫu đơn 2 ................................................................................................. 25
Hình 3. 9. Mẫu đơn 3 ................................................................................................. 25
Hình 3. 10. Minh họa gán nhãn YOLO với LabelImg ................................................ 26
Hình 3. 11. Ảnh gốc ban đầu...................................................................................... 27
Hình 3. 12. Ảnh sau cắt và file text chứa nội dung của vùng ảnh tương ứng............... 27
Hình 3. 13. Mẫu họ tên được phát sinh ngẫu nhiên .................................................... 28
Hình 3. 14. Dữ liệu họ tên được lưu lại sau bước phát sinh ngẫu nhiên gồm một file
ảnh có đuôi .PNG và một file txt ................................................................................ 29
Hình 3. 15. Mẫu CMND được phát sinh ngẫu nhiên gồm 9 số và 12 số. .................... 30
Hình 3. 16. Mẫu số điện thoại được phát sinh ngẫu nhiên gồm 10 số. ........................ 31
Hình 3. 17. Mẫu tên ngành được phát sinh ngẫu nhiên. .............................................. 32
Hình 3. 18. Cấu trúc thư mục để huấn luyện mơ hình YOLO v5 ................................ 33
Hình 3. 19. Cấu trúc bên trong thư mục train và test .................................................. 33
Hình 3. 20. Kết quả mẫu một với YOLO v5.............................................................. 34
Hình 3. 21. Kết quả mẫu 2 với YOLO v5................................................................... 35
Hình 3. 22. Kết quả mẫu 3 với YOLO v5................................................................... 35
Hình 3. 23. Kết quả huấn luyện mơ hình CRNN ........................................................ 38
Hình 3. 24. Giao diện chính của chương trình. ........................................................... 39

Hình 3. 25. Tải ảnh từ máy tính lên ứng dụng ............................................................ 40
VII

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tớt nghiệp chun ngành Khoa Học Máy Tính

Hình 3. 26. Kết quả sau khi qua mơ hình YOLO ........................................................ 41
Hình 3. 27. Kết quả sau khi qua mơ hình CRNN ........................................................ 41
Hình 3. 28. Hình đầy đủ thơng tin 1. .......................................................................... 42
Hình 3. 29. Hình đầy đủ thơng tin 2. .......................................................................... 42
Hình 3. 30. Hình đẩy đủ thơng tin 3. .......................................................................... 43
Hình 3. 31. Hình đầy đủ thơng tin 4. .......................................................................... 43
Hình 3. 32. Mẫu đơn bị che thơng tin 1. ..................................................................... 45
Hình 3. 33. Mẫu đơn bị che thơng tin 2. ..................................................................... 45
Hình 3. 34. Mẫu đơn bị che thơng tin 3. ..................................................................... 46
Hình 3. 35. Mẫu đơn bị che thông tin 4. ..................................................................... 46

VIII

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính


DANH MỤC CÁC BẢNG
Bảng 3. 1. Nội dung bên trong file data.yalm ............................................................. 33
Bảng 3. 2. Kiến trúc mơ hình CRNN ......................................................................... 37
Bảng 3. 3. Bảng kết quả của các hình đẩy đủ thông tin .............................................. 44

IX

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

Viết tắt

Tiếng anh

AI

Artificial Intelligence

RNN

Recurrent Neural Network

CNN


Convolutional Neural Network

CRNN

Convolutional Recurrent Neural Network

DL

Deep Learning

ML

Machine Learning

OCR

Optical Character Recognition

IOU

Intersection Over Union

YOLO

You Only Look One

CTC

Connectionist Temporal Classification


X

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

LỜI MỞ ĐẦU
Lịch sử loài người đã trải qua ba cuộc cách mạng công nghiệp, các cuộc cách mạng
này đánh dấu từng mốc phát triển của nhân loại. Trong cuộc cách mạng công nghiệp lần
thứ nhất (1760-1840), động cơ chạy bằng hơi nước và sức nước đã ra đời, thay thế các
công việc địi hỏi nhiều sức lao động thủ cơng. Cách mạng công nghiệp lần thứ hai bắt
đầu vào khoảng thập niên 1860, năng lượng điện đã ra đời thay thế các máy móc chạy
bằng hơi nước. Đến cách mạng công nghiệp lần thứ ba, công nghệ thông tin đã ra đời
đánh dấu mốc phát triển vượt bậc của con người, giúp cải tiến tính tốn đáng kể, năng
suất lao động của con người đã tăng lên rất nhiều.
Trong những năm gần đây thuật ngữ AI – Artificial Intelligence ( tức trí tuệ nhân
tạo) đã nhen nhóm xuất hiện, báo hiệu cho kỷ nguyên 4.0, nơi mà máy móc có trí thông
minh, có thể hiểu và giao tiếp với con người; nhờ có sự bùng nổ về dữ liệu lớn (Big
data), các thuật toán học máy (machine learning), học sâu (deep learning) được cải tiến
liên tục và phần cứng máy tính theo kịp với sự phát triển của công nghệ thông tin, máy
móc có thể học được nhiều và trở nên thông minh vượt trội hơn, có thể thay thế con
người trong một số ngành nghề. Đặc biệt với sự tham gia vào việc phát triển mạng 5G
(viết tắt của 5th Generation) của các ông lớn trong ngành viễn thông ở Việt Nam như
Viettel, MobiFone và VinaFone, máy móc sẽ tương tác với con người trong thời gian
thực và lượng dữ liệu lớn sẽ được tạo liên tục, vai trò của AI trong đời sống con người
ngày càng được củng cố hơn nữa.
Có rất nhiều ứng AI xuất hiện và đã có những đóng góp to vào đời sống con người

trong đa dạng lĩnh vực đời sống hằng ngày của chúng ta. Trong lĩnh vực y tế, AI có thể
thay thế con người trong việc chuẩn đoán các bệnh ung thư da, ung thư phổi. Trong lĩnh
vực giáo dục, các giáo viên robot có thể thay thế vai trò của giáo viên trong giảng dạy.
Các bài toán ứng dụng AI trong đời sống xuất hiện ngày một nhiều, trong đó có
bài tốn về trích xuất thơng tin trên các mẫu đơn đăng ký, hóa đơn bán hàng, … vì đây
là một bài toán khá mới mẻ và có nhiều thách thử để giải quyết và ứng dụng vào trong
đời sống hằng ngày. Chính vì lý do này, nhóm em quyết định nghiên cứu và phát triển
ứng dụng giúp tự động trích xuất thông tin trong mẫu đăng ký, cụ thể là mẫu đơn đăng
ký nhập học. Ứng dụng này có thể giúp tự động nhận diện và lấy ra được các thông tin
XI

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

quan trọng có trên các mẫu mẫu đơn đăng ký nhập học như họ tên sinh viên, ngành học
đăng ký, số chứng minh nhân dân, số điện thoại.
Bài toán áp dụng các kiến thức trong lĩnh vực AI, cụ thể là object detection (nhận
dạng vật thể) và optical character recognition (nhận dạng ký tự quang học) giúp nhận
diện ký tự trong một vùng ảnh.

XII

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A



Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

CHƯƠNG 1. TỞNG QUAN
1.1. Mục tiêu đề tài
Mỡi năm, sau khi có kết quả trúng tuyển đại học, có rất nhiều bạn học sinh từ các
tỉnh thành trên cả nước đổ về đăng ký thủ tục nhập học tại trường Đại học Công nghiệp
TP.HCM. Các bạn sẽ làm thủ tục đăng ký nhập học trong đó bao gồm việc điền thông
tin vào phiếu đăng ký nhập học, sau khi đăng ký xong các bạn sẽ nộp lại các phiếu đã
điền và nhiệm vụ của các phòng ban tuyển sinh là phải nhập thông tin của các bạn vào
hệ thống lưu trữ trên máy tính của trường để quản lý. Nhiệm vụ tưởng chừng như đơn
giản nhưng tốn rất nhiều thời gian, nhân lực để hoàn thành bởi phải giải quyết một số
lượng lớn lên đến hàng nghìn mẫu đơn.
Trong quá trình xử lý rất nhiều mẫu đơn sẽ xuất hiện những sai sót như việc nhập
sai những thông tin quan trọng của sinh viên như số chứng minh của sinh viên, họ tên,
số điện thoại, …
Bài toán đặt ra, làm thế nào để máy tính có thể tự động nhập các thơng tin của sinh
viên với số lượng lớn mà thời gian giải quyết, nhân lực là ít nhất với kết quả chính xác
nhất.

Hình 1. 1. Ảnh giới thiệu
1

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tớt nghiệp chun ngành Khoa Học Máy Tính


Hình trên mô tả thông tin của một bản tự khai khi đăng ký nhập học. Nhiệm vụ
được đặt ra là nhập các thơng được ghi trong mẫu vào máy tính để quản tính.
Ta muốn lấy thơng tin họ tên sinh viên, tên ngành đăng ký học, số CMND, số điện
thoại để nhập vào hệ thống máy tính.Với con người thì nhiệm vụ này rất đơn giản, nhìn
vào mẫu đơn ta có thể xác định được đâu là vị trí thơng tin cần lấy trên mẫu đơn và trong
vị trí đã được xác định đó có những từ gì.
Nhưng đó là với con người, liệu có thể viết được một chương trình máy tính có thể
tự động nhận đầu vào là hình ảnh mẫu đơn nhập học và tự động trích xuất các thông tin
có trong đó.
Mục tiêu nghiên cứu của đề tài sẽ đưa ra cách để thực hiện điều đó.
1.2. Phương pháp thực hiện đề tài
Đề tài sẽ tập trung vào các nội dung chính sau:
➢ Kiến thức nền tảng về AI, ML, DL, thị giác máy tính
➢ Kiến thức nền tảng về object detection (nhận dạng vật thể) và optical character
recognition (nhận dạng ký tự quang học)
➢ Kiến thức nền tảng về mơ hình YOLO, cụ thể đề tài sử dụng mơ hình YOLOv5
➢ Kiến thức nền tảng về CRNN

2

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Computer vision (thị giác máy tính)
2.1.1. Khái niệm

Computer vision (thị giác máy tính) thường được viết tắt là CV là một lĩnh vực
trong artificial intelligence và machine learning (trí tuệ nhân tạo và học máy) nhằm giúp
máy tính có được khả năng nhìn và hiểu giống như con người
Ở một mức độ trừu tượng hơn, mục tiêu của thị giác máy tính là sử dụng những
hình ảnh đã học được và đưa những suy luận trên những tấm ảnh chưa nhìn thấy
Thị giác máy tính sử dụng các phương pháp, các thuật toán có trong artificial
intelligence và machine learning (trí tuệ nhân tạo và học máy)

Hình 2. 1 Computer vision
2.2. Object detection
Object detection (phát hiện đối tượng) đã và đang thu hút được nhiều sự chú ý
trong những năm gần đây được ứng dụng rộng rãi vào các lĩnh vực đời sống hằng ngày
của chúng ta. Cùng với những phát triển sự đột phá trong công nghệ máy tính cũng như
3

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

sự ra đời của các thuật toán mạnh mẽ, object detection ngày càng được phát triển và ứng
dụng sâu rộng vào trong cuộc sống. Hầu hết mơ hình object detection sử dụng các mạng
deep learning (học sâu) như một backbone (xương sống) để trích xuất các đặc trưng có
trong ảnh, làm đầu vào cho các q trình xử lý phía sau.
2.2.1. Khái niệm về mạng backbone
Mạng backbone được xem như một bộ feature extractor (bộ trích xuất đặc trưng)
cho các nhiệm vụ sử dụng object detection. Mạng backbone nhận các tấm ảnh làm đầu
vào, đầu ra là tấm ảnh được trích xuất các đặc trưng quan trọng tương ứng với ảnh đầu

vào.
Việc chọn mạng backbone sử dụng cho các nhiệm vụ object detection có ý nghĩa
rất quan trọng. Mạng backbone tốt thì các đặc trưng được trích xuất trong ảnh ra sẽ tốt,
các bước xử lý ở phía sau sẽ chính xác từ đó tồn bộ mơ hình sẽ hoạt động với độ chính
xác cao.
2.2.2. Khái niệm về object detection
Object detection là một lĩnh vực cơng nghệ máy tính áp dụng thị giác máy tính và
xử lý ảnh để nhận dạng các đối tượng có trong ảnh (như con người, xe hơi hoặc máy
bay) và các video.
Object detection bao gồm hai loại: two-stage detector (nhận dạng hai giai đoạn) và
one-stage detetor (nhận dạng một giai đoạn)
2.2.3. Two-stage detector (nhận dạng hai giai đoạn)

Hình 2. 2. Kiến trúc cơ bản của two-stage detector
4

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

Cách hoạt động
Bước 1: Backbone
Bức ảnh đầu vào sẽ đi qua một mạng deep learning (backbone), ở bước này mơ
hình sẽ qua các layer convolution và layer pooling có nhiệm vụ trích xuất và chỉ giữ lại
những đặc trưng quan trọng như các cạnh của vật thể trong ảnh. Ảnh nhận được cịn gọi
là feature map. Các layer đầu tiên sẽ trích xuất những thơng tin về hình dạng, các cạnh
của vật thể có trong ảnh. Càng về các layer sau, mức độ trừu tượng được tăng lên, mạng

sẽ giữ lại các đặc trưng phức tạp và quan trọng hơn. Đầu ra sau khi qua backbone là một
tấm ảnh có kích thước nhỏ hơn ảnh gốc với các đặc trưng quan trọng nhất được giữ lại.
Mục đích: ảnh sau khi qua backbone có kích thước nhỏ hơn kích thước ban đầu
đồng nghĩa với việc số lượng các pixel (điểm ảnh) trong ảnh sẽ nhỏ hơn từ đó chi phí
tính tốn và thời gian thực thi trong các giai đoạn sau sẽ giảm đi so với thao táo trực tiếp
trên ảnh gốc.
Bước 2: Proposal generation
Sau khi ảnh qua backbone, tiếp theo mơ hình sẽ phát sinh một tập các vùng ROI
(region of interest) bằng cách sử dụng thuật toán selective search hoặc sử dụng mạng
RPN (regional proposal network). Các vùng đề xuất được phát sinh trên trên ảnh này sẽ
được sử dụng cho bước tiếp theo và các thuật toán nhận dạng sẽ được áp dụng trên
những vùng đề xuất tìm được
Tùy theo thuật toán nhận dạng đối tượng được chọn mà thuật toán được sử dụng
để chọn các vùng ROI sẽ khác nhau.
Trong R-CNN, thuật toán selective search sẽ được chọn để phát sinh ra các vùng
đề xuất trong ảnh. Với một tấm ảnh, thuật toán selective search có thể phát sinh ra 2000
vùng đề xuất
Trong Faster R-CNN thuật toán selective search sẽ được thay bằng mạng học sâu
RPN (region proposal network). Mạng RPN sẽ tự động đưa ra dự đoán về các vùng được
chọn với đa dạng các kích thước và tỉ lệ khác nhau.
Bước 3: Rol Pooling

5

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính


Sau khi có các vùng được đề xuất, các vùng này sẽ đi qua feature map (nhận được
ở bước 1). Ở bước này sẽ lấy ra các vùng tương ứng với các vùng chứa pixel trên feature
map.
Sau đó các một bộ phân loại sẽ thực hiện phân loại trên các vùng được đề xuất và
trả về vị trí, nhóm mà vật thể thuộc về.
Các mơ hình thuật tốn tiêu biểu trong two-stage detector có thể kể đến: R-CNN,
Fast R-CNN, Fater R-CNN

6

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

2.2.4. One-stage detector (nhận dạng một giai đoạn)
Không giống với two-stage detector, one-stage detector bỏ qua bước proposal
generation để phát sinh các vùng được đề xuất. Thay vào đó trực tiếp dự đốn ra vùng
có thể chứa đối tượng trong ảnh.

Hình 2. 3. Kiến trúc cơ bản của one-stage detector
2.2.5. So sánh về two-stage detector và one-stage detector
Tiêu chí đánh

One-stage detector

Two-stage detector


giá
Thời gian thực Bỏ qua bước proposal generation Thực hiện bước proposal
hiện

nên thời gian thực thi rất nhanh

generation để tạo ra các vùng
có thể chứa vật thể nên thời
gian thực gian thực thi sẽ lâu
hơn

Độ chính xác

Độ chính xác sẽ khơng cao

Độ chính xác cao

Bảng 2. 1. So sánh two-stage detector và one-stage detector

7

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

2.3. Optical Character Recognition (OCR)

2.3.1. Định nghĩa
OCR là viết tắt của từ Optical Character Recognition. OCR là một công nghệ được
sử dụng rộng rãi để nhận diện và chuyển đổi các đoạn văn bản có trong hình ảnh thành
ch̃i các văn bản mà con người có thể đọc và lưu trữ được.
2.3.2. Ưu nhược điểm OCR
Trước khi công nghệ OCR ra đời, việc nhập thủ cơng dữ liệu từ các hình ảnh rất
khó khăn. Các khó khăn có thể kể đến như việc phải gõ lại một đoạn văn bản với bộ dài
hàng trăm trang từ các tập tài liệu, các cuốn sách dày cộp, … Việc này tốn rất nhiều thời
gian, cơng sức, độ chính xác khơng được đảm bảo. Cơng nghệ OCR ra đời đã khắc phục
được những khó khăn kể trên, các ứng dụng có thể kể đến như:
➢ Trợ giúp người mắc bệnh mù chữ.
➢ Tìm kiếm và thực hành dữ liệu.
➢ Cập nhật dữ liệu nhanh chóng.
Tuy nhiên bên cạnh những ưu nhược điểm nói trên, OCR vẫn cịn tồn tại một số
nhược điểm như:
➢ Độ chính xác chưa có khả năng 100% như con người chỉ vào khoảng 80 – 90%
áp dụng cho các hình ảnh rõ nét.
➢ Đối với các hình ảnh có màu nền và màu chữ tương đồng thì OCR rất khó khăn
trong việc nhận dạng.
➢ Dữ liệu để cho các mơ hình OCR là rất lớn để đạt được độ chính xác cao.
➢ Với các ngơn ngữ ngày càng phịng phú và đa dạng, thì OCR khơng thể đáp
ứng hồn tồn với nhu cầu hiện nay.
2.4. YOLO
2.4.1. Khái niệm mạng YOLO
YOLO là viết tắt của từ “You look only once” nghĩa là chỉ cần một lần là có thể
phát hiện ra vật thể có trong ảnh.
YOLO là thuật toán thuộc one-stage detector, như đã đề cập ở trên thì thuật tốn
thuộc one-stage detector sẽ có đạt được tốc độ thực thi gần như real time.
8


Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

YOLO là thuật tốn object detection nên mục tiêu khơng chỉ là dự đốn được vị
trí của vật thể mà nó cịn xác định được nhãn của vật thể thuộc về.
YOLO có thể xác định được nhiều vật thể ở trong bức ảnh và nhãn của chúng.
Trước khi đi vào tìm hiểu cơ chế hoạt động của thuật toán YOLO, có một số kiến
thức cần phải nắm bắt.
2.4.2. Bounding box
Trong object detection chúng ta thường sử dụng bounding box để chỉ ra vị trí của
vật thể trong ảnh. Có thể hiểu bounding box là một hình chữ nhật bao quanh vật thể
được xác định

Hình 2. 4. Minh họa bounding box trong object detection
Bounding box là một hình hộp chữ nhật được xác định bởi 4 điểm (x1,y1,x2,y2)
và thường được biểu diễn dưới hai dạng.
Bounding box với 2 điểm (x1, x2) nằm trên cùng bên trái và (x2, y2) nằm ở góc
dưới bên phải

9

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A



Khóa tớt nghiệp chun ngành Khoa Học Máy Tính

Hình 2. 5. Bounding box với 2 điểm (x1, x2) nằm trên cùng bên trái và (x2, y2)
nằm ở góc dưới bên phải
Và một dạng bounding box thường được sử dụng với (x1, y1) nằm ở tâm của
bounding box và x2 là chiều rộng, y2 là chiều cao.

Hình 2. 6. (x1, y1) nằm ở tâm của bounding box và x2 là chiều rộng, y2 là chiều
cao.
2.4.3. Anchor box

10

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính

Trong các mơ hình hiện đại (state of the art) như YOLO. Người ta chia ảnh thành
các ơ vng (cell) có kích thước SxS, trong mỗi ô vuông có k anchor box được được
định nghĩa trước. Các anchor box này sẽ được sử dụng để dự đoán các bounding box.
2.4.4. IoU – Intersection over Union
Ở trên chúng ta đã sử dụng IoU để so sánh anchor box với ground true. Vậy chính
xác Iou là gì và cách hoạt động ra sao?
2.4.4.1. IoU là gì
IoU – Intersection over Union là một thước đo đánh giá được sử dụng trong object
detection trên một bộ dữ liệu cụ thể. Bất kì thuật tốn nào cho đầu ra là là bounding box
đều có thể sử dụng IoU làm thước đo đánh giá.

Hình bên dưới minh họa ví vụ về ground-true bounding box và predicted bounding
box

Hình 2. 7. Minh họa ground-true bounding box và predicted bounding box

11

Trương Minh Phụng – Nguyễn Đăng Quang

Lớp DHKHMT13A


×