Trong đó, chúng tôi sử dụng những model hiệnđại nhất dé nhận diện vùng chứa Date, sau đó kết qua được xử lý và đưa vào OCR dénhận diện ngày tháng năm, kết hợp với kết quả của mô hình sử
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC - KỸ THUẬT THÔNG TIN
NGUYEN LÊ THANH - 19522238
ĐINH THỊ DIEM SUONG - 19522145
KHÓA LUẬN TÓT NGHIỆP
HE THONG KIEM TRA LOI IN BAO BI SAN PHAM
DUA TREN KY TU QUANG HOC
OPTICAL CHARACTER RECOGNITION BASED SYSTEM FOR
CHECKING PACKAGING PRINT ERRORS
CU NHAN NGANH NGANH CONG NGHE THONG TIN
GIANG VIEN HUONG DAN
TS DO TRONG HOP
TP HO CHi MINH, 2023
Trang 2LỜI CẢM ƠN
Bồn năm đại học là khoảng thời gian nói dài cũng không quá dài mà nói ngắn
cũng không quá ngắn nhưng cũng đủ dé chúng tôi đạt được những thành tựu nhất
định: đó là kiến thức, là kĩ năng chuyên môn, là thái độ để làm hành trang bước vào
cuộc sống mới Đề đạt được những thành tựu như ngày hôm nay, không chỉ nhờ vào
sự cố gang nô lực của bản than, sự đồng hành động viên ủng hộ của bố mẹ, bạn bè
mà còn nhờ vào những kiên thức mới mẻ, những bài học bô ích của thây cô.
Chúng tôi xin gửi gắm vào đây những lời cảm ơn chân thành và sâu sắc đếntoàn thể quý Thầy Cô trường Đại học Công nghệ Thông tin - ĐHQG TPHCM đãgiảng dạy tận tình, mang đến cho chúng tôi một môi trường học tập năng động vànhiệt huyết của tuôi trẻ Đặc biệt gửi lời cảm ơn đến Thay TS Đỗ Trọng Hợp — ngườihướng dẫn cho chúng tôi trong suốt quá trình thực hiện và hoàn thiện khóa luận này.Rất biết ơn sự hỗ trợ và đồng hành của Thay đã giúp chúng tôi vượt qua những tháchthức và phát triển không chỉ trong lĩnh vực nghiên cứu mà còn cả trong quá trình tự
phát triển và hoàn thiện bản thân.
Dù đã cố gắng để hoàn thiện Khóa luận Tốt nghiệp này, song chắc chắn sẽkhông thể tránh khỏi những thiếu sót Chúng tôi rất mong nhận được những ý kiến
nhận xét, góp ý quý báo của quý Thầy Cô
Cuối cùng, chúng tôi xin gửi lời chúc tốt đẹp nhất đến quý Thầy Cô trongKhoa Khoa học — Kỹ thuật Thông tin, hy vọng rằng quý Thầy Cô sẽ luôn khỏe mạnh
và tiếp tục trên con đường truyền đạt kiến thức với niềm tin và đam mê
TP Hồ Chí Minh, tháng 06 năm 2023
Sinh viên thực hiện
Nguyễn Lê Thanh Dinh Thị Diễm Sương
Trang 32.2 Hướng tiẾp cận - + St E2 1EE1E21121121122171111121111 11.21 11Exxe 4
2.3 Các công trình liÊn Quañ - - << 111119119911 19 11 9v ng ng ng 6
2.4 Khó khăn và thách thỨC - ¿22 +5 S4 123k n TH TH HH ng nh nh 7
2.5 Hướng nghiên CUu oe cee cccessessecseesecnecescescesesseeaecsecsecsesesseseeseeseseesesaeeaeeaes 7
2.5.1 Phát hiện vùng chứa ngày thang năm (Date Detection) 7
2.5.2 Phát hiện lỗi từ kết quả OCR 2-2: ¿+ e+cx+rxtzxczrsrserxrres 8
2.5.3 Phát hiện vi trí lỗi trên bề mặt bang Deep Learning (Defect
Bo ivuil 00 8
Chuong 3 CO SỞ LÝ THUYẾÊT - -©E+EE+EE£EE£EEEEEEEEEEeEEEEEerkrrkrree 10
3.1 Convolutional Neural Network (CNN) che 10
BLL VGGÌNG( LH HH HH ng HH Hết 10 3.1.2 — R@SÌNG( HH HH Hệ 10
“P.9 — 11 3.1.4 — Faster R-CNN HH HH nghiệt 12
3.2 Yolo (You Only Look ÕInC€) 5 5 199301991 9 11993 1g ưu 13
3.3 Framework PaddlePaddÌe «+ + 111v vn ng giết 14
3.3.1 Paddle ÏDetecftiO - - - - << << kk 1111111111111 S SE SE 55555111 1 ki 14
Trang 43.3.2 PaddleOCR - Ăn HH HH TH TH ngàng ng như 15 3.4 CRAFT (Character Region Awareness for Text Detection) - 17 3.5 Thur vidn VietOCR ce ecececceeeeseeseeeeeeeceeeececeeseeseeaeesecaecsecaeeseeeeeeeeeaeeaeeaeeas 18
“0.1 18
3.7 Segmentation+Decision Net (end-to-end|) - - «+ s-sssssssssessseresee 19
Chương 4 THỰC NGHIỆM (5-5252 222v St +t+tSxexexerrkrrrrrrkrrrrersee 21
4.2 Môi trường và ngôn ngữ Cal at ec ecececesceeeceeeeseeeseeeseeseeeteesseeseeeaees 28
4.3 Mô hình tiẾp Canc eccececececcscsssesssessssssueescssecssessuessscssecsusesscssecsuecsueeseesseeseeess 29
4.3.1 Yolov8 + (Craft + VietOCR) + UNEt cece ceeeeseeseeneeneseeeeeeeeeeaes 30
4.3.2 Yolov§ + PaddleOCR + ƯNet - re 31
4.3.3 PaddleDet + PaddleOCR + Mixed SegDeecNet 3l
A.A, Tham số huấn luyỆn 2-2 £++E+SE+EE+EEE2EESEEEEEEEEEEEEEEEEEEEEEEEEEEEErrrrrer 32
Chương 5 ĐÁNH GIÁ VÀ KET QUẢ -2-©52+£+E+£E+E+rsrkerxrex 33
5.1 DO do dank gia sa › ồễ^ễồễ 33
5.1.1 Mean Average Precision (mAIP) - - c cv ve, 33 5.1.2 AUC (Area Under the ROC Curve) cccccceeesscceesseceeeteeeeeseeeeeaees 33 5.1.3 IOU (Intersection Over nIOn) - -c cv rrerereeerrree 34
5.1.4 TFÍ-SCOT QQQQQQ SĐT S995 10 11K ve 34
Trang 5"0 34
5.3 H6 thong Kiem naad 39Chuong 6 KẾT LUAN wicececcecceccccsscssssscsscssessessesscssssucsvcsssesscssesussussnssessesseesessease 42
6.1 Két 8085:1801) aãa 426.2 Những van đề gặp phải :- + 2s E2 EEEE1211211211211111 1111111 42
Chương7 HUONG PHÁT TRIẾN - 2c 52+S2+EE+EE+EEtzEzrxerxerkerex 42
Trang 6DANH MỤC HÌNH
Hình 2.1 Một số hình anh vi dụ lỗi in sản phẩm 2-2 ¿5£ S2 x+£++£z£zEzez 3Hình 2.2 Dinh dạng ngày hết hạn được sử dụng trong ExpDate - - 4Hình 2.3 Kiến trúc tổng thé của khung đề xuất Hình A cĩ hình ảnh đầu vào bị in
lỗi, hình B là ảnh đầu vào khơng bị lỗi - 2 2 2£ x+2E£+E+£EEtEEtrEezreerxerxeee 5
Hình 3.1 Sơ đồ kiến trúc VGG16 và VGG109 - cccvccrrrrrkrrrrrrrirrrrrrrieg 10Hình 3.2 Sơ đồ cau trúc mang ResÌNet -2- 2 2+Sk+EE+2E2EE2EEeEEeEEErrkerkerkerex 11
Hình 3.3 Sơ đồ cấu trúc mang R-CNN o.cceccscssccscssessessessessessessesssssesuescsessessesseesesneaes 12Hình 3.4 Kiến trúc mới Faster R-CNN c: c5sccccttitrrttrrrtrirrrrrirrrrrrrrre 13Hình 3.5 Cấu trúc của YoU secsssssssssseeesssesesssecesnnecessnecessneeessneeessnneeesnnesennneeessnesees 13
Hình 3.6 Trang github của PaddlePaddÌe - - <6 + + E + EE+seeEsseeseeeeseeere 14 Hình 3.7 Các mạng được dao tạo trong Paddle Detection - -‹++-«+<<+ 15
Hình 3.8 Pipe line của PP OCR - G11 1236210 E93 9v ng ng ng trên 16
Hình 3.9 Sơ đồ minh họa kiến trúc Mang Craft 007 17
Hình 3.10 Kiến trúc TransformerOCR trong VietOCR ¿- 2-5 s scs+£s2ss2 18Hình 3.11 Kiến trúc mạng Unet - 2 2 %+E2E£+EE+EE£EEE£EE+EEvEEerEerrkerxerkerex 19Hình 3.12 Kiến trúc 2 mạng con kết hợp trong SecDeelNet -z5 20
Hình 4.1 Một số ảnh trong bộ dữ liệu ExpDate Nĩ chứa nhiều challenge về hình
anh date như định dạng phơng chữ, ngày tháng khác nhau, nhiều ngày, 21
Hình 4.2 Một số hình anh trong bộ dữ liệu Date-Defect - «<< << <<+<<ss2 22
Hình 4.3 Dinh dạng label trong file fXẮ - + 13231191 re 23
Hình 4.4 Ví dụ biểu diễn các tọa độ x, y, w, h trong YOÌO <<<«c<sx<xx 23Hình 4.5 Cấu trúc thư mục dé training Yolov§ -¿ -¿-+¿©++cxz+zxrzrxerxesree 24
Hình 4.6 Quy ước các định dạng PaddleDet hỗ trợ - 5-5 5+ z+x+sz+xzss 24
Hình 4.7 Định dạng trong mỗi file annotation và cấu trúc thư mục sử dụng dé dao
tao Paddle IDetectIOI: - - - << 5 2 211111111223111 1199311111110 111g vn 25
Hình 4.8 Dinh dang thư mục train, test Của CTẠẨ - c5 33c *+*sksseeeeseersere 25
Hình 4.9 Dinh dạng trong 1 file label, cĩ tọa độ của 4 điểm, ở vị trí cuối mỗi dịng
là glá tri tFASCTIDfIOH G< xxx TH ng TH TH Hà HH Hư Hưng hờ 26
Trang 7Hình 4.10 Ví dụ từng dòng trong file annotations «se csecsseesesrske 26
Hình 4.11 Ví dụ về trường hợp nhận diện được kí tự nhưng sai giá trỊ 27
Hình 4.12 Dinh dạng thư mục train, test của net - 555cc S<x*+scs+eseereee 27
Hình 4.13 Dinh dang thư mực train, test của SeglDecÌNet -c sex 28 Hình 4.14 Quy trình huấn luyện chung của các mô hình .2 2- ¿5552 29
Hình 4.15 Luéng huấn luyện của mô hình cho hệ thống kiểm tra lỗi in han sử dụngtrén bao bi san Pham TƯNờợ 29Hình 5.1 Ví du cấu trúc 1 folder trong bộ dữ liệu ExpDate - « «<+5+ 34
Hình 5.2 Hệ thống hién thị khi kiểm tra bằng webcam (bị lỗi in — dính mực) 40
Hình 5.3 Hệ thống hiển thị khi kiểm tra bằng webcam (không bị lỗi in) 40
Trang 8DANH MỤC BANG
Bảng 2.2 Thách thức các mẫu ví dụ date trong nhận dạng ngày tháng năm (A.C
Seker 1 0 N0 1/2/2207 7087 5
Bảng 2.3 Các lớp và các mẫu tương ứng được sử dụng trong đào tạo +? J8!
IA), E1 HZ có nghĩa la “expiration date”, “until”, “from” và
“manufactured” trong tiếng HN sccccccsccsssessesssesssesssesssssesssessssssssssesssecsssssesssesssesseees 8
Bang 4.2 Các tham số được tinh chỉnh trong quá trình huấn lUYỆN ««sS+ 32Bảng 5.1 Kết quả đánh giá mô hình Yolovồ 2-55c©522ce+cecctectesrsreerxerree 35
Bảng 5.2 Kết quả đánh giá mô hình PaddlelÔet - 5-52 2+5e+te+te£tecerersscez 35Bảng 5.3 Kết quả đánh giá mô hình Craƒ 5-5 Ss+SE+E++E+Et£EeEEerkererssrsee 36Bang 5.4 Kết quả đánh giá mô hình PP-OCRv3_ đet -5: 55c ©52+5s+cs+cxecsez 36Bang 5.5 Kết quả đánh giá mô hình Unet ccccccccccesscssssssessesssessessessessesssessessessesseeseeses 37
Bảng 5.6 Kết quả đánh giá mô hình SeglQeciNet - 2-2 ©52©c2+ce+£te£te+E+resrxersez 37
Trang 9DANH MỤC TỪ VIET TAT
STT Tên viết tắt Tên day du
1 AP Average Precision
2 CNN Convolutional Neural Network
3 DMY Day Month Year
4 FCN Fully convolutional network
5 ILSVRC ImageNet Large Scale Visual Recognition
Challenge
6 IoU Intersection over Union
7 mAP Mean Average Precision
8 MSER Maximally Stable Extremal Regions
9 OCR Optical Character Recognition
10 OCV Optical Character Verification
11 PP-OCR PaddleOCR
12 PR Precision-Recall
13 RPN Region proposal network
14 SOTA State-of-the-Art
Trang 10TÓM TẮT KHÓA LUẬN
Thực phẩm, đồ uống và thuốc là các yếu tố quan trọng trong cuộc sống hàng ngày.Thông tin liên quan đến các sản phẩm này thường được cung cấp trên bao bì, baogồm thông tin về hạn sử dụng và thành phan Tuy nhiên, đôi khi thông tin này có thé
bị bỏ qua hoặc khó hiểu, và trong một số trường hợp, lỗi in hạn sử dụng không bị
phát hiện và sản phẩm được đưa đến tay người tiêu dùng Điều này làm cho việc nhận
diện và phát hiện lỗi in ngày hết hạn trở nên càng quan trọng hơn và dé người tiêudùng có thé yên tâm sử dung các sản phẩm Đây là một nhiệm vụ day thách thức vitùy từng công ty sản xuất sẽ có những yêu cầu in ấn đặc thù riêng, ví dụ như về các
loại phông chữ khác nhau, định dạng ngày tháng đa dạng, sự làm mờ hoặc nhiễu của
nên bao bì, và các lỗi do in ân.
Trong khóa luận này, chúng tôi xây dựng hệ thống kiểm tra ký tự in lỗi trên bao bìsản phẩm dựa vào ký tự quang học Trong đó, chúng tôi sử dụng những model hiệnđại nhất dé nhận diện vùng chứa Date, sau đó kết qua được xử lý và đưa vào OCR dénhận diện ngày tháng năm, kết hợp với kết quả của mô hình sử dụng Deep learning
dé nhận diện lôi in sai (vi trí bi lôi).
Trang 11Chương 1 MỞ DAU
1.1 Lý do chọn đề tài
Có nhiều loại thông tin được in trên bao bì các loại thực phẩm bán lẻ, bao gồm như
tên sản phẩm, danh sách các thành phan, han sử dụng, số lô, Việc in ấn, nhận diện
và kiểm tra hạn sử dụng là đặc biệt quan trọng trong việc đảm bảo phân phối sảnpham còn hạn ra thị trường và dé tránh những rủi ro do sản phẩm hết hạn anh hưởng
đên sức khỏe của khách hàng.
1.2 Mục đích
Mục dich của hệ thống kiểm tra lỗi in sản phẩm trên bao bì dựa trên kí tự quang học
là dé cải thiện sản xuất và hạn chế mức thiệt hại đối với người dùng và công ty sản
xuất nếu như thực phẩm đóng gói hết hạn được đưa ra ngoai thị trường Vì trường
hợp hộp mực và đầu in của máy in thường bị nghẽn mà không được phát hiện thì việc
in thiếu hay in sai chỉ một chút thông tin về hạn sử dụng sản phẩm lại có thé làm cho
cả một lô hàng ảnh hưởng và bị gửi trả lại.
1.3 Đối tượng và phạm vi nghiên cứu
Hiện nay, ở Việt Nam cũng có nhiều công ty nghiên cứu giải quyết vấn đề trên, điểnhình là Cognex và VSTECH Tuy nhiên, hầu hết các công ty đều tích hợp vào một hệthống dây chuyền dé đưa ra thị trường (bao gồm có băng chuyền, camera nhận diện,
cảm ứng, phần mềm quản ly, ), vì vậy, sản phẩm có giá thành rất cao Những công
ty in ấn bao bì thực pham họ muốn một phần mềm có thé tự động nhận diện, kiểm tralỗi in ấn và hạn sử dụng sau khi in với giá thành rẻ, không bao gồm máy móc (băngchuyền, camera, ) Dé đáp ứng với nhu cầu của doanh nghiệp hiện nay, chúng tôi
đã bắt đầu nghiên cứu và giải quyết bài toán “Kiểm tra ký tự quang học được in
trên bề mặt sản phẩm hoặc bao bì thực phẩm”
Trang 12Chương 2 TONG QUAN
2.1 Giới thiệu bài toán
Phương pháp hoc sâu đã trở nên phổ biến hơn trong các ứng dụng công nghiệp và
mang lại nhiều lợi ích đa dạng Trong số đó, việc sử dụng nhận dạng ký tự quang họcdựa trên học sâu (OCR) đã trở thành một trong những phương pháp phổ biến nhất
Có nhiều ứng dụng đã được phát triển cho các nhiệm vụ nhận dạng cụ thể, bao gồm
nhận dạng văn bản trong cảnh (Baek và cộng sự, 2019 [1]; Nguyen Nguyen và cộng
sự, 2021) [2], văn bản viết tay (Bhunia và cộng sự, 2019) [3], thông tin thuốc
(Godbole và cộng sự, 2020) [4] và nhiều nhiệm vụ khác Một trong những nhiệm vụquan trọng khác là nhận biết ngày hết hạn trong các ứng dụng công nghiệp
Ở Việt Nam cũng có nhiều công ty nghiên cứu giải quyết van dé trên, điển hình làCognex (Deep learning đọc mã OCR trên túi nhựa) và VSTECH (phần mềm MVS-
OCV phát hiện lỗi in DATE).
Tuy nhiên, trong dây chuyền sản xuất, máy in đôi khi cũng gặp sự cố khiến cho phần
in những thông tin quan trọng như hạn sử dụng bi lỗi (in nhòe mực, bị dính mực ).
Và việc kiểm tra hạn sử dụng sau khi in ấn theo cách thủ công sẽ vô cùng tốn thờigian và công sức Điều này dễ dẫn đến việc kiểm tra bị thiếu sót, do đó cần có một hệthống tự động nhận diện, kiểm tra lỗi in ấn và hạn sử dụng sau khi in lên sản phẩm
thực phẩm
Hình 2.1 Một số hình anh ví dụ lỗi in sản pham
Trang 132.2 Hướng tiếp cận
Hướng tiép cận mới nhat ở thời điêm hiện tại, chúng tôi dựa vào bài báo của A.C.
Seker and S.C An (2022) [5] để xây dựng pIpeline cho framework của mình
Trong bài toán này, chúng tôi đề xuất một framework tổng quát dé phát hiện, hiểu và
kiểm tra lỗi in của hạn sử dụng trên bao bì sản phẩm Đề hiểu ý nghĩa của hạn sử
dụng thì phải qua 3 bước: mạng phát hiện Date, nhận diện kết quả của bước phíatrước và một hàm dé nhận diện ngày tháng năm sau bước thứ 2 (nhận diện được 13định dạng phổ biến của hạn sử dụng — hình 2.2) Bởi vì miền giá trị của ngày và nămgần nhau, chính vì thế ở trường hợp 7 (YYMMDD - hình 2.2), chúng tôi sẽ quy ước
hệ thống của chúng tôi nhận dang là DDMMYY Nó có thé nhận dạng ngay cả khihình anh đầu vào có các trường hợp khó khăn được hiển thị trong Bảng 2.2 Các mạng(nhận diện) trong framework được chạy theo dạng tuần tự
#No Date Format Sample #No Date Format Sample
1 DDMMYY 29 10 2023 8 MMDD 10 29
2 DDMMMYY 29OCT 23 0 MMYYYY 10 2023
3 DDMMYYYY 29 10 2023 10 MMMYYYY OCT 2023
4 DDMMMYYYY 23OCT2023 11 MMMDDYY OCT 2923
5 YYYYMM 2023 10 12 MMMDDYYYY OCT 29 2023
6 YYYYMMDD 2023 10 29 13 YYYYMMMDD 2023OCT 29
-Hình 2.2 Dinh dạng ngày hết hạn được sử dụng trong ExpDate!
Đầu ra của mạng phát hiện Date được dùng đề tạo đầu vào của framework OCR Kết
qua của mạng phát hiện lỗi in kết hợp với kết quả của mạng nhận diện ngày tháng
năm cho ra kết quả cuối cùng là sản phâm đó có bị in lỗi hay không và ngày tháng
năm của sản phâm đó như thê nào.
Kiến trúc tổng thé hệ thống kiểm tra ngày tháng năm trên bao bi sản phẩm
1 https://felizang.github.io/expdate/
Trang 14Tọa độ lỗi in
(nếu có)
Hình 2.3 Kiến trúc tổng thê của khung đề xuất Hình A có hình ảnh đầu vào bị in
lỗi, hình B là ảnh đầu vào không bị lỗi.
Bảng 2.1 Thách thức các mẫu ví dụ date trong nhận dạng ngày tháng năm (A.C
2022/12 21
BÚ 12.21
5 Blurring 12 No
" understanding
6 Fading 2021.0⁄¿.3 13 Multiple date
7 Dark 2021.08:10 14 Input with
background centerd expiration
date
Trang 15Hệ thống đi theo thứ tự sau: Với một hình ảnh đầu vào được đưa đồng thời qua
mạng phát hiện Date và framework phát hiện lỗi in (phát hiện vi trí bi in lỗi) Mạng
phát hiện Date sẽ phát hiện các vùng chứa ngày tháng năm theo chiều ngang và trích
xuất các vùng của chúng từ toàn bộ hình ảnh đầu vào Sau đó, vùng chứa Date được
cắt ra từ hình ảnh đầu vào và được đưa qua OCR dé nhận dạng được từng cụm sỐ (Ởđây là 3 cụm tương ứng với ngày tháng năm) Kết quả từ OCR được đưa vào hàm dé
xử lý nhận dạng ngày tháng năm từ 13 định dạng phổ biến của hạn sử dụng (hình2.2) Cuối cùng kết hợp với kết quả phát hiện lỗi in dé cho đầu ra cuối cùng OK (nhận
dạng được ngày tháng năm và không có lỗi in), NG (không nhận dang được ngày hoặc tháng hoặc năm hoặc nhận dạng sai và có lỗi in).
2.3 Các công trình liên quan
Các nghiên cứu gần đây đã chỉ ra rằng mạng lưới thần kinh có thê được sử dụng đểnhận biết ngày hết hạn với hiệu suất tốt Các phương pháp nhận dạng ngày hết hạnkhác nhau bao gồm sử dụng FCN (Gong và cộng sự) [6], MSER và phát hiện cạnh
Canny dé phân biệt các ký tự với nền trước khi sử dụng OCR dé nhận dạng các ký tự
ngày hết hạn Ngoài ra, các tác giả đã sử dụng phân tích kết nối thành phần và tiền
xử lý trích xuất cạnh trước quá trình OCR hoặc sử dụng Mask R-CNN dé phan doan
va trich xuat vung chai.
Một số phương pháp mới như của Khan (2021) [7] sử dụng mạng CNN dé nhận dạngcác chữ số ngày hết hạn mà không cần xử lý hình ảnh Florea và Rebedea (2020) [8]
đề xuất một giải pháp sử dụng mạng phát hiện văn bản và CRNN để giải mã các vănban đã phát hiện Gong et al (2021) [9] tập trung vào việc nhận dạng ngày hết hạn
trực tiếp từ hình ảnh bang cách triển khai mô hình CRNN Ashino và Takeuchi (2020)
[10] sử dụng DNN dé nhận dạng các chữ SỐ ngày hết hạn
Tuy nhiên, hầu hết các phương pháp nhận dạng ngày hết hạn chỉ tập trung vào một
số định dạng ngày hết hạn nhất định và sử dụng hình ảnh đầu vào với ngày hết hạnnằm xung quanh trung tâm Ngoai ra, các phương pháp này thường chỉ nhận dạngchữ số và không truyền tải nhiều thông tin ý nghĩa khác về ngày hết hạn
Trang 162.4 Khó khăn và thách thức
Độ tương phản và chiếu sáng: Bởi vì thức ăn đóng hộp khi chụp bằng camera điện
thoại sẽ bị ảnh hưởng bởi độ sáng của môi trường rất nhiều (ví dụ: ảnh sáng gây chói,ánh sáng không đủ, ) Về màu sắc của nền lon kết hợp với màu chữ in đa dạng, một
số trường hợp sẽ khó có thé nhận diện (nền màu xám trắng + chữ in nét mảnh; nền
có sự lòi lõm + chữ in nhỏ; ).
Đa dạng về vật liệu và mẫu mã sản phẩm: Bao bì sản phẩm có thé được làm từ các
vật liệu khác nhau như giây, nhựa, kim loại, và có thê có nhiêu mẫu mã và kiểu dáng
bề mặt khác nhau Điều nay đặt ra thách thức rằng hệ thống kiểm tra lỗi in có thé phat hiện lỗi trên các bê mặt loại bao bì khác nhau.
Đa dạng phông chữ và kích thước in ấn: Mỗi công ty sản xuất sẽ có quy định vàphông chữ riêng, vi thé gây khó khăn trong việc nhận dang ký được in trên bao bi sảnphẩm Ngoài ra ngày hết hạn có thê được in với khoảng cách không đồng đều giữamỗi ký tự ngay cả trong một thành phan Vi dụ, có thé có một khoảng trống rộngtrong thành phần giữa các số trong năm (xem Bảng 2.2, mục 10) Những trường hợpnày gây khó khăn cho việc xác định các thành phần ngày, tháng và năm của ngày hết
hạn.
2.5 Hướng nghiên cứu
2.5.1 Phát hiện vùng chứa ngày tháng năm (Date Detection)
Trong bài báo cua A.C Seker and S.C An (2022) [5], các tác giả sử dụng FCOS
(Tian và cộng sự, 2019) [11] đã được điều chỉnh, ban đầu nó được phát triển dé pháthiện đối tượng Chính vì thế chúng tôi tìm hiểu, sử dụng các model và framework
SOTA hiện nay (Yolov8 [12] va Paddle Detection), sau đó chúng tôi định nghĩa 4
lớp: date, due, prod, code để train model nhận diện 4 lớp đó, và kết quả cuối cùng
chúng tôi chỉ lấy lớp date
Trang 17Bảng 2.2 Các lớp và các mẫu tương ứng được sử dung trong đào tạo FE /8!
TAL, #E, HZ có nghĩa là “expiration date”, “until”, “from” và
“manufactured” trong tiéng Han
Lớp (Class) Vi dụ
Date 30/06/2023
Production mark Prod, SE}, AJA
Code mark custom codes? hoặc serial codes*
2.5.2 Phat hiện lỗi từ kết qua OCR
Đối với model OCR, giống như hướng phat hiện ngày, chúng tôi cũng tìm hiểu, sử
dụng các model và framework SOTA hiện nay, tuy nhiên chúng tôi cũng ưu tiên các
model dé dang cài đặt, dé sử dụng và không chiếm quá nhiều dữ liệu Chúng tôi xây
dựng 2 pipeline:
e Model Craft (Detection) + model VietOCR (Recognition)
e Framework PaddleOCR (end-to-end model)
Kết quả sau khi xử lý OCR, mỗi một hình anh date, chúng tôi sẽ có 3 bounding box
(tương ứng ngày tháng năm) hoặc 2 bounding box (ngày tháng hoặc năm tháng) Sau
đó chúng tôi sẽ kiểm tra kết quả của model text recognition với dữ liệu ngày thángnăm ban đầu tương ứng theo từng ảnh (file chứa thông tin các ngày tháng năm của
từng sản phẩm) Nếu như kết quả thu được không giống với dữ liệu trong file, thì
sản phẩm đó bị lỗi in Tuy nhiên, kết quả ngược lại, nếu như giống với dit liệu trong
file thì chúng ta phải xét thêm kết quả của model phát hiện lỗi in sản phẩm
2.5.3 Phát hiện vi trí lỗi trên bề mặt bang Deep Learning (Defect
Trang 18chọn mô hình Unet đề giải quyết bài toán của mình bởi vì Unet có khả năng xử lý cáchình ảnh có kích thước khác nhau và đưa ra kết quả chính xác Nó cũng có khả năngphát hiện các khuyết tật với kích thước nhỏ và chỉ tiết, giúp cho quá trình kiểm trachất lượng sản phẩm trở nên hiệu quả hơn.
Bên cạnh đó, chúng tôi cũng tìm hiểu và sử dụng mô hình SegDecNet (một trongnhững mô hình hiện đại nhất) đã được đề xuất trong bài báo của Jakob Bozic, DomenTabernik and Danijel Skocaj (2021) Với kha năng giám sát yếu ở các nhãn cấp độhình ảnh, đồng thời sử dụng tính năng giám sát đầy đủ ở các nhãn cấp độ pixel đây
là một trong những mô hình tốt nhất hiện nay trong
Chính vì thế chúng tôi tìm hiểu, sử dung model SOTA hiện nay (SegDecNet*) vamạng Net cho bộ dữ liệu của chúng tôi dé triển khai model phát hiện vi trí lỗi in
trên sản phâm của chúng tôi.
4 Top 1 trong paperwithcode Defect Detection | Papers With Code
Trang 19Chương 3 CƠ SỞ LÝ THUYET
3.1 Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN hoặc ConvNet) được tạm dịch là: Mang no-ron
tích chập, là một mô hình học sâu phổ biến và tiên tiến nhất hiện nay Hau hết các hệthống nhận diện và xử lý hình ảnh hiện nay đều sử dụng mạng nơ-ron tích chập vì tốc
độ xử lý nhanh và độ chính xác cao.
3.1.1 VGG Net
Mạng VGG là một kiến trúc mạng nơ-ron phô biến được đề xuất bởi Karen Simonyan
va Andrew Zisserman từ đại hoc Oxford Nó cùn dựa trên CNN và đã được áp dụng
cho ImageNet Challenge Mạng VGG đạt độ chính xác trong bài kiểm tra top 5 là92.7% trên tập dữ liệu ImageNet Những cải tiến lớn của mạng VGG khi so sánh với
AlexNet đó là việc sử dụng các filter có kích thước kernel lớn (kích thước 11 và 5
trong lớp chập đầu tiên à thứ hai tương ứng) với nhiều filter có kích thước kernel
| I Gat F"IỊ i] Ỉ [ li mm Eat Bae]
zi Ề ae a See Hy: mm 2 3 m Se mim mm
§Ị | By ee] lẽ II š È | ÿ
b äB-1%
Hình 3.1 So đồ kiến trúc VGG16 và VGG19
3.1.2 ResNet
Mạng ResNet là kiến trúc đã giành chiến thắng trong cuộc thi ILSVC 2015 [14]
được phat trién bởi Kaiming He va cộng sự Day là mạng CNN sâu với 152 lớp Môhình này còn thống trị trong các bài toán detection, localization, segmentation của
cả hai cuộc thih ILSVRC va COCO Challenge.
10
Trang 20fall Soy || Ẫ a SERl'||08 oe ag a? ag ° ° ° Slat] s8ạ s8§e |! By 8à sả Wq9sSlil|aA agg
3 ä 8 z ag ag ag ra hả ø S5e S58 S5eZee bard Zee NSE] S85 NSE HL |Avsi|| ans ane 2h BOR BHR
2 3= > 2s ie 3 s2s\y ZS S25 let) #zšg|lt sẽ 222 SES 222 SS
ề 22 2§È 22 2S 3E MH ECE ee cee eee 5c Gace 2š >*£§£ >»£§£
§ 555 5858 §85 § 35 888 §88 5858 555 §55 §8§ 885 s85 Slš 696 s56 ø5ö| |868| |858 68] |8°o38 828) (898 698) |8°8 S56
i x%x x9 s%S cc cc eee x%x sx%x s%x s%x eee x%sx
ik fae xôế xế 258 258 258 sae 264 sae eG eae eae
a Pa a a acf§l0] blocks cfgl1] blocks cfgl21 blocks díạl3] blocks
Hình 3.2 Sơ đồ cấu trúc mạng ResNet
3.1.3 R-CNN
Mạng R-CNN (Region-based Convolutional Neural Network) là một mô hình mang
hoc sau duoc str dung cho viéc phat hién đối tượng trong ảnh [15] Mạng R-CNN là
một phiên bản cải tiến của phương pháp phát hiện đối tượng trước đây, gọi là
Selective Search.
Mô hình R-CNN hoạt động bằng cách chia anh đầu vào thành các vùng dé xuất(region proposals) tiềm năng chứa đối tượng Các vùng đề xuất được tạo ra bằng các
phương pháp như Selective Search hoặc EdgeBoxes Sau đó, mạng R-CNN trích xuất
và rừng đặc trưng (feature extraction) từ mỗi vùng dé xuất bằng cách sử dụng một
mạng tích chap (CNN) Các đặc trưng này được đưa vào một bộ phân loại (classifier)
để xác định xem vùng đó chứa đối tượng gì và một bộ hồi quy (regressor) dé dự đoán
vị trí chính xác của đối tượng trong vùng đó
Tuy nhiên R-CNN gặp nhiều hạn chế:
e Vì với mỗi ảnh ta cần phân loại các class cho 2000 region proposal nên thời
gian train rất lâu
e Không thé áp dung cho real-time vì mỗi ảnh trong testset mat tới 47s dé xử lý.Chính vì thế nên mạng Faster R-CNN đã ra đời dé cải thiện 2 hạn chế trên
11
Trang 21R-CNN: Regions with CNN features
1 Input 2 Extract region 3 Compute 4 Classify
image proposals (~2k) CNN features regions
Hình 3.3 Sơ đồ cấu trúc mạng R-CNN
3.1.4 Faster R-CNN
Faster R-CNN là mô hình tốt nhất của họ nhà R-CNN, được công bố đầu tiên vàonăm 2015 [13] Mang Faster R-CNN giúp tăng tốc độ phát hiện đối tượng bằng cáchđưa vào một mô-đun phát hiện đề xuất (region proposal network - RPN) tích hợptrong mạng dé tự động tạo ra các vùng đề xuất
Mạng Faster R-CNN bao gồm hai thành phần chính: mạng trích xuất tính năng vàmô-đun RPN Mạng trích xuất tính năng (thường là một mang CNN như VGG16
hoặc ResNet) được sử dụng để trích xuất đặc trưng từ ảnh đầu vào Đối với mỗi vùngtrong đặc trưng trên, mô-đun RPN sẽ tạo ra các đề xuất đối tượng và đưa vào mạng
phát hiện chính đề phân loại và định vị các đối tượng trong các vùng đó
Mô-đun RPN là một mạng tích chập đầy đủ được đào tạo dé đưa ra các đề xuất đối
tượng (bounding box proposals) Nó dự đoán xem mỗi vùng trong đặc trưng có chứa
đối tượng hay không, và nếu có, thì nó cũng dự đoán hộp giới hạn (bounding box)xấp xỉ vị trí của đối tượng trong vùng đó Các đề xuất đối tượng này sau đó được sử
dụng bởi mạng phát hiện chính dé phan loai va dinh vi đối tượng.
12
Trang 22Hình 3.4 Kiến trúc mới Faster R-CNN
3.2 Yolo (You Only Look Once)
Yolo là một mô hình mang CNN (Convolutional Neural Network) được sử dung cho
việc phát hiện, nhận dang va phân loại đối tượng trong ảnh [12] Mô hình Yolo được
xây dựng bằng cách kết hợp các lớp tích chập (convolutional layers) và lớp kết nốiđầy đủ (fully-connected layers) Các lớp tích chập được sử dụng để trích xuất các đặctrưng từ anh, trong khi các lớp kết nối đầy đủ được sử dung dé dự đoán xác suất va
tọa độ của các đối tượng trong ảnh Mô hình Yolo có khả năng phát hiện và định vịđối tượng một cách nhanh chóng và chính xác
Trang 23kăng SẼ ication, @, Nour ? @ Python @C++ dupyter Not
e Wstk Yas e frase Y @G0 @she
Ä PaddieDetection Publ © PaddleSpeech Publi Most used topics
Hinh 3.6 Trang github cua PaddlePaddle
PaddlePaddle là nền tảng học sâu R&D độc lập đầu tiên ở Trung Quốc, đã chính thức
trở thanh mã nguồn mở cho các cộng đồng chuyên nghiệp từ năm 2016 Đây là một
nền tảng công nghiệp với các công nghệ tiên tiến và các tính năng phong phú bao
gồm các khung học sâu, thư viện mô hình cơ bản, bộ công cụ phát triển từ đầu đếncuối Nó đã được áp dụng rộng rãi trong nhiều lĩnh vực bao gồm sản xuất, nôngnghiệp, dịch vụ doanh nghiệp, v.v trong khi phục vụ hơn 5,35 triệu nhà phát triển,
200.000 công ty và tạo ra 670.000 mô hình.
3.3.1 Paddle Detection
Là bộ công cụ phát hiện đối tượng dựa trên PaddlePaddle Nó hỗ trợ phát hiện đối
tượng, phân đoạn, theo dõi nhiều đối tượng và phát hiện keypoint nhiều người theo
thời gian thực.
14
Trang 24BlazeFace- FPN
CenterNet-CSP-PAN Custom- PAN
Hình 3.7 Các mang được dao tạo trong Paddle Detection
3.3.2 PaddleOCR
PP-OCR là một hệ thông OCR siêu nhẹ tự phat triển, được tinh chỉnh và tối ưu hóadựa trên các thuật toán học thuật được triển khai lại, xem xét sự cân bang giữa độ
chính xác và tôc độ.
PP-OCR là một hệ thong OCR hai giai đoạn, trong đó thuật toán phát hiện văn bản
là DB và thuật toán nhận dạng văn bản là CRNN Ngoài ra, một bộ phân loại hướng
văn bản được thêm vào giữa các mô-đun phát hiện và nhận dạng đê xử lý văn bản
theo các hướng khác nhau.
15
Trang 25[EET-SHETLT [EESHT—-YW-T-T0I]
PP ee v2- + FPGM Pruner + PACT Quantization + PACT Quantization
Hình 3.8 Pipe line của PP OCR
- M6 hình SAST (text detection):
o Duoc dé xuất trong bai báo của các tác gia Wang va các cộng sự [16]
Mô hình phát hiện văn bản chụp một lần dựa trên học đa tác vụ cho văn
bản cảnh có hình dạng tùy ý (văn bản cảnh đa hướng, đa ngôn ngữ, hình
dạng cong), hiệu quả cho một sỐ ứng dụng thời gian thực
o_ Không tốn quá nhiều chỉ phí tính toán
o Đạt precision (91.39%), recall (83.77%) và hmean (87.42%) cao nhat
(trong bộ dữ liệu ICDAR2015) so với tat cả các cấu trúc text detection
trong framework PaddleOCR.
- M6 hình VisionLAN (text recognition):
o Mang mô hình hóa ngôn ngữ hình anh (Visual Language Modeling
Network) được dé xuất trong bài báo của các tác giả Yuxin Wang và
các cộng sự [17] Mang này xem thông tin hình ảnh và ngôn ngữ dưới
dạng kết hợp bằng cách kết thúc trực tiếp mô hình hình ảnh với khả
năng ngôn ngữ.
o VisionLAN cải thiện tốc độ lên đến 39%
16
Trang 263.4 CRAFT (Character Region Awareness for Text Detection)
Mô hình CRAFT (Character Region Awareness for Text detection) là một mô hình
mang neural sử dung dé nhận dang và phát hiện vùng chữ trong anh Mô hình CRAFTđược đề xuất bởi Baek et al vào năm 2019 [18] và đã đạt được kết quả an tượng trong
việc xu lý văn ban trong anh.
CRAFT sử dụng mang neural học sâu dé thực hiện hai nhiệm vụ chính: phát hiện và
định vị các vùng chữ trong ảnh Mô hình này không chỉ nhận dạng các từ và câu, mà
còn phát hiện được cả vi trí và hình dạng của từng ký tự trong văn bản.
Mô hình CRAFT đã chứng minh khả năng nhận dạng và phát hiện vùng chữ rất hiệu
quả trên các tập dữ liệu phức tạp và đa dạng Nó đã được ứng dụng trong nhiều ứng
dụng như OCR (Optical Character Recognition), quét tài liệu va xử lý ảnh văn bản.
Image PA aor Region score
Trang 273.5 Thư viện VietOCR
Thư viện VietOCR được cai đặt mô hình Transformer OCR nhận dạng chữ viết tay,chữ đánh máy cho Tiếng Việt Kiến trúc mô hình là sự kết hợp tuyệt vời giữa mô hìnhCNN và Transformer (là mô hình nền tảng của BERT) Mô hình TransformerOCR
có rât nhiêu ưu điêm so với kiên trúc của mô hình CRNN.
Thư viện cung cấp cả 2 kiến trúc AtentionOCR và TransformerOCR Tuy kiến trúcTransformerOCR hoạt động kha tốt trong NLP, nhưng độ chính xác không có sự cảithiện đáng ké so với AttentionOCR mà thời gian dự đoán lại chậm hon khá nhiều
NGUYEN ĐỨC TUẦN <eos>
Add &Nom \ Add & Norm i
Feedtorward - - Muli-Head Attention
skip connection | sip enbeca
‘Add & Norm Add & Norm
| “
Multi-Head Attention Masked Multi-Head Attention
Positional Encoding | Positional Encoding
Embedding
| H
Freature map <sos> NGUYEN ĐỨC
Hình 3.10 Kiến trúc TransformerOCR trong VietOCR
3.6 Mạng Unet
Mạng U-Net là một kiến trúc mạng nơ-ron sử dụng trong lĩnh vực xử lý ảnh và thịgiác máy tính Nó được đặt tên theo hình dáng của nó, với các phần gấp lại
18