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

Đồ án một phương pháp rút trích thông tin hóa đơn tiếng việt

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 (2.98 MB, 65 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

TRẦN LÊ BẢO CHÂU - 18520256
ĐOÀN THỊ THANH HIẾU - 18520734

BÁO CÁO ĐỒ ÁN 2

MỘT PHƯƠNG PHÁP RÚT TRÍCH THƠNG TIN HĨA
ĐƠN TIẾNG VIỆT
A Information Extraction Method For Vietnamese Receipts

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2021


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

TRẦN LÊ BẢO CHÂU - 18520256
ĐOÀN THỊ THANH HIẾU - 18520734

BÁO CÁO ĐỒ ÁN 2

MỘT PHƯƠNG PHÁP RÚT TRÍCH THƠNG TIN
HĨA ĐƠN TIẾNG VIỆT


A Information Extraction Method For Vietnamese Receipts

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
NGUYỄN TẤN TRẦN MINH KHANG

TP. HỒ CHÍ MINH, 2021


NHẬN XÉT CỦA GIẢNG VIÊN
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................

....................................................................................................................................
....................................................................................................................................
....................................................................................................................................


LỜI CẢM ƠN
Lời cảm ơn đầu tiên, chúng tôi xin dành đến thầy TS.Nguyễn Tấn Trần Minh
Khang – giảng viên hướng dẫn của chúng tôi trong môn Đồ án 2 này. Cảm ơn thầy
đã luôn quan tâm, nhắc nhở và tận tình hướng dẫn chúng tơi trong suốt q trình thực
hiện đồ án. Cảm ơn thầy vì sự nhiệt huyết bất tận trong quá trình hướng dẫn, sự nhiệt
huyết ấy đã cổ vũ và trở thành động lực giúp chúng tôi thực hiện tốt đồ án.
Lời cảm ơn thứ hai, chúng tôi xin được dành cho thầy ThS.Võ Duy Nguyên,
người đã luôn theo sát giúp đỡ và hỗ trợ hết mình cho chúng tơi trong q trình thực
hiện đồ án.
Lời cảm ơn cuối cùng, chúng tôi xin dành cho các anh chị, các bạn, các em
trong nhóm nghiên cứu đã luôn đồng hành, giúp đỡ và cổ vũ cho chúng tơi trong suốt
q trình thực hiện đồ án.
Trong q trình thực hiện đồ án khó tránh khỏi những sai sót, hạn chế, chúng
tôi rất mong nhận được sự nhận xét, góp ý của q thầy cơ và các bạn để chúng tơi
có thể tiến xa hơn trong con đường học thuật.
Xin chân thành cảm ơn.
Sinh viên thực hiện
Trần Lê Bảo Châu

Đồn Thị Thanh Hiếu

TP.Hồ Chí Minh, ngày 24 tháng 12 năm 2021


MỤC LỤC

TÓM TẮT ...................................................................................................................1
Chương 1.

TỔNG QUAN .....................................................................................2

1.1. Giới thiệu chung ............................................................................................2
1.2. Động lực nghiên cứu .....................................................................................2
1.2.1

Tính khoa học .........................................................................................2

1.2.2

Tính ứng dụng .........................................................................................2

1.3. Phát biểu bài toán ..........................................................................................3
1.4. Phạm vi bài tốn ............................................................................................4
1.5. Thách thức bài tốn .......................................................................................4
1.6. Đóng góp của đồ án .......................................................................................5
1.7. Cấu trúc đồ án ................................................................................................5
Chương 2.

CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN .........6

2.1. Một số cơ sở lý thuyết ...................................................................................6
2.1.1

Neural Network.......................................................................................6

2.1.2


Convolutional Neural Network ...............................................................6

2.1.2.1. Convolutional Layer ........................................................................6
2.1.2.2. Pooling Layer...................................................................................7
2.1.2.3. Fully Connected Layer ....................................................................8
2.1.3

Fully Convolutional Network .................................................................8

2.2. Các cơng trình nghiên cứu liên quan .............................................................9
2.2.1

Object detection ......................................................................................9

2.2.1.1. Faster R-CNN ..................................................................................9
2.2.1.2. YOLOv3 ........................................................................................14


2.2.1.3. YOLOF ..........................................................................................25
2.2.2

OCR ......................................................................................................31

2.2.2.1. Transformer ...................................................................................31
2.2.2.2. TransformerOCR ...........................................................................38
2.3. Bộ dữ liệu cuộc thi Mobile-Captured Image Document Recognition for
Vietnamese Receipts (RIVF2021 MC-OCR) .......................................................39
2.3.1


Tổng quan .............................................................................................39

2.3.2

Minh họa ...............................................................................................40

Chương 3.

THỰC NGHIỆM VÀ ĐÁNH GIÁ ...................................................41

3.1. Mô tả thực nghiệm .......................................................................................41
3.2. Phương pháp đánh giá .................................................................................43
3.2.1

Bước nhận dạng và phân loại thông tin ................................................43

3.2.1.1. Confusion matrix ...........................................................................43
3.2.1.2. Precison and Recall........................................................................43
3.2.1.3. Intersection ove Union (IoU) .........................................................44
3.2.1.4. Average Precision (AP) .................................................................44
3.2.1.5. Mean Average Precision (mAP) ....................................................45
3.2.2

Bước ánh xạ thông tin ra dạng text .......................................................45

3.2.2.1. Khoảng cách Levenshtein ..............................................................45
3.2.2.2. Độ đo CER .....................................................................................46
3.3. Quy trình thực nghiệm và đánh giá .............................................................47
3.3.1


Dữ liệu ..................................................................................................47

3.3.2

Cài đặt môi trường ................................................................................47

3.3.3

Tiến hành thực nghiệm .........................................................................48


3.3.3.1. Huấn luyên model ..........................................................................48
3.3.3.2. Nhận diện và rút trích thông tin: ....................................................48
3.3.4

Kết quả ..................................................................................................49

3.3.4.1. Kết quả thực nghiệm ......................................................................49
3.3.4.2. Đánh giá kết quả ............................................................................50
Chương 4.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................51

4.1. Kết luận ........................................................................................................51
4.1.1

Kết quả đạt được ...................................................................................51

4.1.2


Hạn chế .................................................................................................51

4.2. Hướng phát triển ..........................................................................................51
TÀI LIỆU THAM KHẢO .........................................................................................52


DANH MỤC HÌNH
Hình 1-1. Một số ví dụ về những thách thức của bài tốn. .........................................4
Hình 2-1. Ảnh mơ tả hướng di chuyển của kernel (k = 3) trên ảnh màu. ...................7
Hình 2-2. Biến thể Pooling Layer. ..............................................................................8
Hình 2-3. Mốc thời gian cho sự ra đời các phương phát hiện đối tượng (1990 –
2019)[6] .......................................................................................................................9
Hình 2-4. Kiến trúc R-CNN. .....................................................................................10
Hình 2-5. Kiến trúc Fast R-CNN. .............................................................................11
Hình 2-6. Kiến trúc Faster R-CNN ...........................................................................12
Hình 2-7. Kiến trúc Region Proposal Network (RPN) .............................................12
Hình 2-8. IoU (Intersection over Union). .................................................................13
Hình 2-9. Minh họa các bước của YOLOv1 (Ảnh từ bài báo). ................................14
Hình 2-10. Minh họa kiến trúc mạng của YOLOv1 (Ảnh từ bài báo). .....................15
Hình 2-11. Minh họa ý nghĩa đầu ra sau 2 lớp fully connected của YOLOv1. ........15
Hình 2-12. Hình minh họa ý nghĩ tọa độ x, y, width, height của bounding box. .....16
Hình 2-13. Hình minh họa thuật tốn đầu vào – đầu ra của thuật tốn NMS. ..........17
Hình 2-14. Hình minh họa loss function của YOLOv1 ............................................18
Hình 2-15. Kiến trúc mạng YOLOv2 .......................................................................20
Hình 2-16. Cách thức hoạt động của Reorg layer. ....................................................21
Hình 2-17. Minh họa đầu ra của YOLOv2 với mỗi ơ lưới dự đốn 3 bounding box.
...................................................................................................................................21
Hình 2-18. Ảnh minh họa kiến trúc mạng YOLOv3. ...............................................23
Hình 2-19. Bảng minh họa kết quả của YOLOv3 (thời gian và độ chính xác) so với
một số phương pháp khác. ........................................................................................24

Hình 2-20. Ảnh minh họa kiến trúc của FPN. ..........................................................26
Hình 2-21. Các loại encoder và kết quả thí nghiệm tương ứng (ảnh cắt từ bài báo
[14]). ..........................................................................................................................26
Hình 2-22. Ảnh minh họa một convolution thông thường (bên trái) và một dilated
convolution (bên phải). .............................................................................................28


Hình 2-23. Ảnh minh họa kiến trúc mạng YOLOF (Ảnh cắt từ bài báo[14]). .........29
Hình 2-24. Bảng so sánh kết quả giữa YOLOF và RetinaNet (Ảnh cắt từ bài báo).31
Hình 2-25. Kiến trúc mạng Transformer (Ảnh từ bài báo)[9] ..................................32
Hình 2-26. Trực quan hóa giá trị vector Positional Encoding của 20 từ với kích thước
512 (kích thước sử dụng trong bài báo). ...................................................................33
Hình 2-27. Ảnh minh họa bước cuối quá trình xử lý đầu vào của model .................34
Hình 2-28. Kiến trúc lớp Encoder .............................................................................34
Hình 2-29. Kiến trúc lớp self-attention. ....................................................................35
Hình 2-30. Kiến trúc lớp Add & Normalize. ............................................................36
Hình 2-31. Kiến trúc lớp decoder..............................................................................37
Hình 2-32. Minh họa thay đổi của lớp decoder so với lớp encoder. .........................38
Hình 2-33. Quy trình xử lý đầu ra của model Transformer ......................................38
Hình 2-34. Kiến trúc CNN kết hợp với Transformer (Ảnh từ github của model) ....39
Hình 3-1. Quy trình thực nghiệm. .............................................................................41
Hình 3-2. Ảnh minh họa bước nhận dạng và phân loại thơng tin. ............................42
Hình 3-3. Ảnh minh họa bước ánh xạ thông tin ra dạng text....................................42
Hình 3-4. Confusion Matrix ......................................................................................43
Hình 3-5. Đồ thị mối quan hệ của precision, recall (Precision-Recall curve) ..........44
Hình 3-6. Ảnh minh họa 3 phép biến đổi thêm, sửa, xóa. ........................................46
Hình 3-7. Ảnh format file csv dùng để submit cho cuộc thi RIVF2021 MC-OCR. .49
Hình 3-8. Ảnh kết quả từ cuộc thi MC-OCR. ...........................................................50



DANH MỤC BẢNG
Bảng 1-1. Tổng quan về đầu vào – đầu ra của bài tốn. .............................................3
Bảng 2-1. Ví dụ đơn giản từ bộ dữ liệu ....................................................................40
Bảng 3-1. Bảng kết quả thực nghiệm 3 phương pháp Faster R-CNN, YOLOv3 và
YOLOF khi submit kết quả lên cuộc thi MC-OCR. .................................................49


DANH MỤC TỪ VIẾT TẮT
AP

Average Precision

ID

Identification (Mã số định danh)

mAP

Mean Average Precision

RLE

Run Length Encoding


TĨM TẮT
Rút trích thơng tin hóa đơn là một trong những bài toán liên quan đến đọc hiểu
tài liệu dạng ảnh (Document Image Understanding) và cần tận dụng cả các kỹ thuật
liên quan đến xử lý ảnh và xử lý ngôn ngữ tự nhiên để giải quyết. Đây đang là một
trong những bài toán nhận được nhiều sự quan tâm trên tồn thế giới.

Trong đồ án này, chúng tơi thực hiện tìm hiểu các phương pháp rút trích thơng
tin hóa đơn tiếng Việt trên bộ dữ liệu của cuộc thi MC-OCR Challenge MobileCaptured Image Document Recognition for Vietnamese Receipts (RIVF 2021).

1


Chương 1.

TỔNG QUAN

Trong chương này, chúng tôi giới thiệu chung về đồ án, động lực nghiên cứu, xác
định bài toán và phạm vi tương ứng, từ đó nêu lên các đóng góp chính của đồ án.
Phần tóm tắt từng chương trong đồ án được trình bày ở cuối chương này.
1.1. Giới thiệu chung
Trong thời đại số hóa hiện nay, mọi tác vụ đều hướng đến sự chính xác, nhanh
chóng và tiện lợi, không chỉ đối với những tác vụ phức tạp, mà còn với những tác vụ
tưởng chừng đơn giản như rút trích thơng tin trong hóa đơn.
Bài tốn rút trích thơng tin hóa đơn được đặt ra nhằm mục đích đẩy mạnh tự
động hóa các tác vụ trong văn phịng thơng qua việc lưu trữ tự động các thơng tin
quan trọng từ các hóa đơn. Thách thức của bài tốn này là phải đạt được độ chính xác
gần như tuyệt đối bởi lẽ một sai sót nhỏ cũng có thể dẫn đến những sai lầm nghiêm
trọng.
1.2. Động lực nghiên cứu
1.2.1 Tính khoa học
Bài tốn rút trích thơng tin đang nhận được sự quan tâm của giới nghiên cứu
khoa học, bằng chứng là nhiều cuộc thi đã được tổ chức như: Robust Reading
Challenge on Scanned Receipts OCR and Information Extraction (ICDAR 2019)[1],
MC-OCR Challenge Mobile-Captured Image Document Recognition for Vietnamese
Receipts (RIVF 2021), ... đưa ra nhiều bộ dữ liệu đa dạng như: Scanned receipts OCR
and information extraction (SROIE), … dẫn tới hàng loạt giải pháp như PICK[3],

LayoutLM[4], AIESI[5], … nhằm nâng cao tính chính xác, cũng như sự nhanh chóng
và tiện lợi trong bài tốn rút trích thơng tin hố đơn.
1.2.2 Tính ứng dụng
Bài tốn rút trích thơng tin từ hóa đơn sẽ được áp dụng vào các tác vụ liên
quan tới các lĩnh vực kinh tế, tài chính, kế tốn nói riêng và các tác vụ trong văn

2


phịng nói chung, nhằm tự động rút trích thơng tin quan trọng từ các hóa đơn, từ đó
giảm thiểu cơng việc, mang lại hiệu quả cao trong công việc cho các nhân viên kế
tốn, tài chính. Ngồi ra, đây cũng là tiền đề để phát triển những bài toán nhận dạng
thơng tin có cấu trúc khác.
1.3. Phát biểu bài tốn
Đồ án trình bày phương pháp cho bài tốn rút trích thơng tin hóa đơn với đầu
vào là ảnh chụp của một hóa đơn và đầu ra là các thơng tin trong hóa đơn đó, trong
đồ án này chúng tơi trích xuất các thông tin tên cửa hàng, địa chỉ cửa hàng, thời gian
bán và tổng tiền:
Đầu vào

Đầu ra

SASAWA SUSHI|||132/26 Nguyễn Tri
Phương TP VT|||Ngày: 24/10/2020|||Tổng
tiền: 333,000

Bảng 1-1. Tổng quan về đầu vào – đầu ra của bài toán.

3



1.4. Phạm vi bài toán
Trong phạm vi đồ án này, chúng tơi tập trung tìm hiểu và thực nghiệm các
phương

pháp

đã

được

cơng

bố

(Faster

R-CNN,

YOLOv3,

YOLOF,

TransformerOCR) cho việc rút trích thơng tin hóa đơn trên bộ dữ liệu RIVF2021 MCOCR.
1.5. Thách thức bài toán
Về dữ liệu, các vấn đề về môi trường như chất lượng giấy, chất lượng máy in,
mực in, chất lượng ánh sáng và chất lượng ảnh, … dẫn đến ảnh không rõ chữ, khó
đọc. Hóa đơn có nếp gấp, bị uốn cong, có nhiều góc độ chụp, ..., dẫn đến các dịng
chữ trên hóa đơn khơng thẳng, bị biến dạng, … dẫn đến khó nhận dạng, địi hỏi cần
có kỹ thuật tiền xử lý ảnh và trích đặc trưng phù hợp. Ngồi ra các bộ dữ liệu hiện có

vẫn cịn nhỏ, đặc biệt là dữ liệu về các hóa đơn tiếng Việt, cần tăng cường dữ liệu để
có thể cho ra phương pháp mang lại kết quả tốt. Ngoài những yếu tố trên, sự đa dạng
về bố cục (vị trí của các thơng tin cần trích xuất), đa dạng cách thể hiện (các từ ngữ
được sử dụng), đa dạng kiểu chữ, sự biến dạng của một số hoặc tất cả ký tự trong tên
cửa hàng, … cũng là thách thức khơng hề nhỏ.

Hình 1-1. Một số ví dụ về những thách thức của bài toán.

4


Về phương pháp, hiện nay có rất nhiều cơng bố sử dụng các mạng dựa trên
kiến trúc mạng CNN, Attention hoặc các mạng được tùy chỉnh, tính chính xác trên
mỗi mạng là khác nhau và cần phải nghiên cứu, tùy chỉnh để đạt được kết quả cao
nhất. Điều này đòi hỏi cần nghiên cứu sâu và kỹ để tìm ra phương pháp mang lại kết
quả cao nhất.
1.6. Đóng góp của đồ án
− Tìm hiểu tổng quan về phương pháp Faster R-CNN và các kỹ thuật Deep
Learning cho bài toán rút trích thơng tin hóa đơn tiếng Việt.
− Tìm hiểu dữ liệu hiện có để ứng dụng vào bài tốn và thực hiện tăng cường dữ
liệu.
1.7. Cấu trúc đồ án
Đồ án này được trình bày trong 4 chương, nội dung chính được tóm tắt như dưới
đây:
− Chương 1: Giới thiệu chung về đồ án, động lực nghiên cứu, xác định
bài toán và phạm vi tương ứng, từ đó nêu lên các đóng góp chính của
khóa luận.
− Chương 2: Trình bày các cơ sở lý thuyết, nghiên cứu liên quan, xu
hướng nghiên cứu mới đối với bài tốn rút trích thơng tin được đề cập
trong đồ án.

− Chương 3: Trình bày kết quả thực nghiệm và đánh giá ưu điểm, hạn
chế của phương pháp được chọn để khảo sát.
− Chương 4: Nêu kết quả đạt được, kết luận, định hướng nghiên cứu trong
tương lai.

5


Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN
2.1. Một số cơ sở lý thuyết
2.1.1 Neural Network
Neural Network dùng để rút trích đặc trưng model chung của bộ dữ liệu đầu
vào, dựa vào đó các nhà nghiên cứu có thể sử dụng để phân tích thơng tin, phát triển
các giải pháp giải quyết vấn đề khác nhau. Kiến trúc của Neural Network là tổ hợp
nhiều lớp, được chia thành 3 nhóm chính: lớp đầu vào (input layer), các lớp ẩn (hidden
layers) và lớp đầu ra (output) layer. Mỗi lớp có một hay nhiều điểm nút (node), tại
đây diễn ra tác vụ chính của lớp. Các node của hai lớp liền kề được nối với nhau
thông qua các liên kết sao cho dữ liệu đầu ra của lớp này là đầu vào của lớp kia, dữ
liệu sẽ được tiếp tục xử lý để thu được kết quả mong muốn ở lớp cuối cùng.
2.1.2 Convolutional Neural Network
Mạn rơ-ron tích chập (CNN) hoạt động theo nguyên lý phản hồi và lan truyền
ngược để học được bộ trọng số và bias tốt nhất cho tiến trình huấn luyện model. Điểm
nổi bật của CNN là áp dụng phép tính convolution vào layer trong Neural Network
để giảm số lượng tham số đầu vào trong khi vẫn đảm bảo quá trình học và độ chính
xác cao cho model.
Trong kiến trúc CNN cơ bản được thiết lập bởi một số lớp được định nghĩa để
thực hiện các mục đích khác nhau như: Fully Connected Layer, Convolutional Layer,
Pooling Layer, Max Pooling Layer…
2.1.2.1.


Convolutional Layer

Convolutional layer là lớp đầu tiên để trích xuất các đặc trưng từ hình ảnh đầu
vào, thực hiện phép tính tích chập trên dữ liệu và sau đó lan truyền thơng tin cho lớp
tiếp theo mà nó liên kết.
Ở Convolutional Layer, có ba siêu tham số ảnh hưởng đến kích thước của
output cần được cài đặt trước khi quá trình huấn luyện bắt đầu:

6


− Số lượng của Filter/Kernel: ảnh hưởng đến sộ sâu (depth) của đầu ra.
− Stride: Biểu thị số bước nhảy mà bộ lọc dịch chuyển, dùng để giảm kích
thước đầu ra.
− Zero-padding: Dùng để duy trì kích thước dữ liệu tương thích với các bộ
lọc được sử dụng trong kiến trúc mạng bằng cách thêm giá trị 0 vào viền
ảnh của dữ liệu đầu vào. Có ba loại padding: Valid padding, Same paddin
và Full padding.

Hình 2-1. Ảnh mơ tả hướng di chuyển của kernel (k = 3) trên ảnh màu.
2.1.2.2.

Pooling Layer

Pooling Layer thường được dùng giữa các Convolutional Layer để giảm kích
thước dữ liệu nhưng vẫn giữ được các thuộc tính quan trọng. Kích thước của dữ liệu
giảm giúp việc giảm tính tốn trong model.
Khi dùng Pooling Layer với size = (2 × 2), stride = 2 padding = 0 thì output
with và height của dữ liệu sẽ giảm đi một nửa, depth thì được giữ nguyên.


7


Hình 2-2. Biến thể Pooling Layer.
Có nhiều biến thể của Pooling Layer, phổ biến là Max Pooling, Average
Pooling (Hình2.2) …
2.1.2.3.

Fully Connected Layer

Fully Connected Layer thường được cấu tạo ở các lớp cuối cùng của kiến trúc CNN
để tổng hợp đầu ra và đưa ra output của model, có thể dùng để phân loại các lớp đối
tượng khi kết hợp các activation function như softmax hoặc sigmoid.
2.1.3 Fully Convolutional Network
Mạng tích chập đầy đủ (Fully Convolutional Network) là kiến trúc mạng linh
động cho phép dữ liệu đầu vào có kích thước tùy ý và đầu ra có kích thước tương
ứng. Mạng tích chập đầy đủ kế thừa từ các kiến trúc mạng phân lớp hiện nay như:
VGGNet, AlexNet, GoogleLeNet, ResNet… dùng để giải quyết các vấn đề phức tạp.
Mạng này có khả năng tinh chỉnh ba thơng số h × w × d, trong đó h là chiều cao,
w là chiều rộng và d là chiều sâu của tất cả các lớp mạng.

8


2.2. Các cơng trình nghiên cứu liên quan
2.2.1 Object detection
2.2.1.1.

Faster R-CNN


Hình 2-3. Mốc thời gian cho sự ra đời các phương phát hiện đối tượng (1990 –
2019)[6]
(a) R-CNN
Ra đời với ý tưởng khá đơn giản: Dùng thuật toán Selective Search để lấy ra
khoảng 2000 Bounding-box trong input mà có khả năng chứa đối tượng. Sau đó, với
mỗi Bounding-box ta xác định xem nó là đối tượng nào.
(i) Selective search algorithm
Input là 1 ảnh màu. Output là khoảng 2000 Bounding-box trong input mà có
khả năng chứa đối tượng.
(ii) Phân loại region proposal
Sau khi thực hiện Selective search, các region proposal được resize lại về cùng
kích thước và thực hiện transfer learning với feature extractor, sau đó các extracted
feature được cho vào thuật toán SVM để phân loại ảnh.

9


Hình 2-4. Kiến trúc R-CNN.
(iii) Nhược điểm
Với mỗi ảnh cần phải phân loại class cho khoảng 2 000 region proposal nên
mất khá nhiều thời gian.
(b) Fast R-CNN
Tương tự R-CNN thì Fast R-CNN vẫn dùng Selective search để lấy ra các
region proposal. Tuy nhiên là nó khơng tách 2 000 region proposal ra khỏi ảnh và
thực hiện bài toán image classification cho mỗi ảnh. Fast R-CNN cho cả bức ảnh vào
ConvNet (một vài convolutional layer + max pooling layer) để tạo ra convolutional
feature map.
Vì kích thước của các region proposal khác nhau nên khi Flatten sẽ ra các
vector có kích thước khác nhau nên không thể áp dụng neural network được. Và
feature map không thể resize được, nên để chuyển các region proposal trong feature

map về cùng kích thước thì Region of Interest (RoI) pooling ra đời.

10


Hình 2-5. Kiến trúc Fast R-CNN.
(i) Nhược điểm
Thời gian tính region proposal vẫn còn tiêu tốn nhiều thời gian.
(c) Faster R-CNN
Để khắc phục hạn chế về thời gian tính region proposal của R-CNN và Fast
R-CNN, Faster R-CNN ra đời gồm 3 phần:
− Convolutional layers
− Region Proposal Network (RPN)
− Fast R-CNN
Đầu tiên ảnh được đưa qua Convolutional layers để lấy feature map. Sau đó
feature map được dùng cho Region Proposal Network để lấy được các region
proposal. Sau khi lấy được vị trí region proposal thì thực hiện tương tự Fast R-CNN.

11


Hình 2-6. Kiến trúc Faster R-CNN
(i) Region Proposal Network (RPN)
Là một mạng con dựa trên một cửa sổ trượt có kích thước 𝑛 × 𝑛 trượt trên
convolutional feature map. Với mỗi vị trí của cửa sổ, một số vùng đề xuất được tạo
ra, và các vùng đề xuất này sẽ được lọc dựa trên “objectness score”.
Input: feature map
Output: region proposals.

Hình 2-7. Kiến trúc Region Proposal Network (RPN)

(ii) Anchor
Vì region proposals là hình chữ nhật và có thể ra ngồi bức ảnh nên cần kĩ
thuật để biểu diễn region propsal => Anchor ra đời.

12


Tại mỗi vị trí cửa sổ trượt, đồng thời dự đốn nhiều vùng đề xuất, trong đó số
vùng đề xuất tối đa có thể có tại mỗi vị trí của cửa sổ là ký hiệu là 𝑘. Với 𝑘 =
scale × aspect ratio.
Tại thời điểm train, tất cả các anchor vượt q biên sẽ bị bỏ qua để khơng bị
tính vào loss.
(iii) Objectness score (IoU)
Các anchor sẽ được gán là positive hoặc negative dựa vào diện tích overlap
với ground truth box theo luật như sau:

Hình 2-8. IoU (Intersection over Union).
− Các anchor được phân loại là positive nếu:
+ Là anchor có IoU (Intersection over Union) lớn nhất đối với một
ground-truth box.
+ Là anchor có tỉ lệ IoU đối với ground-truth bất kỳ lớn hơn 0.7
− Các anchor được phân loại là negative nếu có IoU bé hơn 0.3 đối với
ground-truth box.
− Các anchor không thuộc 2 loại trên sẽ được loại bỏ.

13


2.2.1.2.


YOLOv3

(a) YOLOv1
(i) Tổng quan
Khác với Faster R-CNN là một phương pháp two-stage detector (việc xác định
vị trí đối tượng và phân loại đối tượng được thực hiện ở 2 giai đoạn khác nhau), You
Only Look Once (YOLO), hay về sau được gọi là YOLOv1 để phân biệt với các
phiên bản khác, là một phương pháp one-stage detector (việc xác định vị trí đối tượng
và phân loại đối tượng được thực hiện cùng lúc). YOLOv1 được ra đời vào năm 2016
bởi Joseph Redmon và các cộng sự qua bài báo You Only Look Once: Unified, RealTime Object Detection[11]. Phương pháp này đã nhanh chóng trở nên phổ biến bởi
khả năng dự đốn real-time với độ chính xác cao.
(ii) Ý tưởng

Hình 2-9. Minh họa các bước của YOLOv1 (Ảnh từ bài báo).
Ý tưởng của phương pháp này là chia bức ảnh thành 𝑆 × 𝑆 ơ lưới, với mỗi ơ
này, model sẽ dự đốn 𝐵 bounding box cùng với xác suất ơ chứa đối tượng thuộc 𝐶
class.

14


×