2 Các nghiên c˘u liên quan
3.26 Ki∏n trúc DewarpNet Trích [7]
DewarpNet bao gÁm hai m§ng phân o§n ng˙ nghæa cho hai nhiªm vˆ riêng biªt. M§ng SN - Shape Network s˚dˆng ki∏n trúc U-net. M§ng SN có nhiªm vˆ ˜Óc tính tÂa Î 3D cıa cıa b∑m∞t v´n b£n t¯hình£nh 2D. M§ng TMN - Texture Mapping Network s˚dˆng ki∏n trúc DenseNet. M§ng này nh™n tÂa Î3D t¯m§ng SN và tính ra tÂa Î2D cıa các i∫m£nh trên b∑ m∞t v´n b£n phØng.
Ph˜Ïng pháp làm phØng b∑m∞t b£ng s˚dˆng ˜Ìng vi∑n
Sau khi s˚dˆng các mô hình hÂc sâu ∫phát hiªn b£ng, chúng ta thu ˜Òc vùng phát hiªn cıa t¯ng b£ng trên£nh v´n b£n. T¯ng b£ng trong£nh s≥ ˜Òc tách riêng và làm phØng theo ph˜Ïng pháp nh˜trong hình 3.27.
Hình 3.27: Làm phØng b£ng nhÌ ˜Ìng vi∑n. Trích [7].
Ph˜Ïng pháp trên d¸a trên viªc các b£ng ∑u có d§ng hình ch˙nh™t thØng ˘ng n∏u n¨m trên mÎt m∞t phØng. Sau khi tìm ˜Òc ˜Ìng vi∑n, các i∫m trên ˜Ìng vi∑n có góc t§o vÓi 2 i∫m lân t™n xßp xø 90 Î. N∏u thu™t toán tìm ˜Òc 4 i∫m, b£ng s≥ ˜Òc c´n chønh d¸a vào thu™t toán WarpAffine cıa th˜viªn OpenCV ∫
tr l§i thành d§ng hình ch˙ nh™t thØng ˘ng. N∏u tìm ˜Òc nhi∑u hÏn 4 i∫m, các i∫m s≥ ˜Òc tính toán các i∫m giao nhau và lo§i b‰ bÓt i∫m th¯a. N∏u sau phân tích ˜Ìng vi∑n mà không tìm ˜Òc úng 4 góc. Thu™t toán minAreaRect cıa OpenCV s≥ ˜Òc s˚dˆng ∫ tìm hình ch˙nh™t sát nhßt có th∫ vÓi b£ng. Sau ó, bËn i∫m cıa hình ch˙nh™t này s≥ ˜Òc s˚dˆng ∫ làm phØng l§i b£ng b¨ng thu™t toán WarpAffine.
3.3 Ph˜Ïng pháp nh™n d§ng cßu trúc b£ng
VÓi bài toán nh™n d§ng cßu trúc b£ng, tôi s≥ s˚dˆng h˜Óng ti∏p c™n phát hiªn các ô trong b£ng t˜Ïng t¸ mô hình CascadeTabNet [19]. Theo nh™n ‡nh cıa tôi, sau khi phát hiªn toàn bÎ các ô trong b£ng, viªc nh™n d§ng cách hàng và cÎt cıa b£ng có th∫ gi£i quy∏t b¨ng các ph˜Ïng pháp h™u x˚ l˛ b¨ng logic. ∫ phát hiªn các ô trong b£ng, tôi s≥hußn luyªn các mô hình hÂc sâu ∫phát hiªn ô trong hình
£nh b£ng ã ˜Òc x˚ l˛ thông qua hai b˜Óc phát hiªn b£ng và làm phØng £nh b‡
bi∏n d§ng. Khi này, b£ng ã ˜Òc tách kh‰i £nh v´n b£n và ˜Òc làm b¨ng nh˜
Hình 3.28: Hình£nh b£ng ã ˜Òc x˚l˛.
V∑ d˙liªu hußn luyªn mô hình hÂc sâu ∫ phát hiªn ô trong b£ng, tôi s˚ dˆng d˙liªu nh™n d§ng cßu trúc b£ng cıa bÎd˙liªu TableBank. D˙liªu£nh b£ng trong bÎ TableBank ˜Òc minh hÂa trong hình 3.29.
Hình 3.29: Hình£nh b£ng trong bÎTableBank.
D˙liªu £nh b£ng trong bÎd˙liªu TableBank là£nh c≠t t¯ £nh v´n b£n chuy∫n
‡nh d§ng. ∫ t´ng c˜Ìng d˙ liªu nh¨m hußn luyªn các mô hình cho £nh b£ng trong ph˜Ïng pháp cıa tôi, tôi áp dˆng ph˜Ïng pháp t§o bóng cho £nh (trình bày trong ph¶n t§o d˙ liªu t´ng c˜Ìng t¸ Îng cho £nh v´n b£n) cho £nh b£ng t¯ bÎ
TableBank. Ngoài ra, trong lúc hußn luyªn, tôi có s˚ dˆng mÎt sË ph˜Ïng pháp t´ng c˜Ìng bi∏n Íi màu s≠c ng®u nhiên cho các i∫m £nh. MÎt khó kh´n khác trong trong quá trình x˚l˛ d˙liªu là viªc TableBank s˚dˆng ‡nh d§ng g≠n nhãn d˙liªu cho t¯ng ô theo HTML. Coi hình£nh t¯ng b£ng là mÎt ph¶n t˚b£ng trong mã HTML, h s˚ dˆng các nhãn ô và cÎt trong HTML ∫ ánh dßu v‡trí ô trong t¯ng cÎt nh˜hình 3.30.
Hình 3.30:Énh b£ng và ‡nh d§ng nhãn trong TableBank.
‡nh d§ng v‡ trí này s≥ không th∫ s˚ dˆng trong hußn luyªn hÂc sâu và c¶n chuy∫n Íi sang tÂa Î 2 chi∑u. Tôi ã áp dˆng k∏t qu£ chuy∫n ‡nh d§ng nhãn d˙
liªu cho 42k £nh trong bÎ TableBank t¯nghiên c˘u cıa [26]. Sau khi x˚l˛, nhãn cıa các ô trong b£ng ˜Òc ánh nhãn b¨ng 4 i∫m tÂa Î 2 chi∑u và ˜Òc minh hÂa trong hình 3.31 .
Hình 3.31: Minh hÂa ánh nhãn t¯ng ô trong b£ng. Trích [26].
V∑ ki∏n trúc hÂc sâu s˚ dˆng, tôi s≥ s˚ dˆng các ki∏n trúc phân o§n cá th∫
(t˜Ïng t¸ vÓi nhiªm vˆ phát hiªn b£ng). ây h˜Óng ti∏p c™n ˜Òc s˚ dˆng trong nghiên c˘u [26] và tôi s≥so sánh k∏t qu£hai ph˜Ïng pháp trên bÎd˙liªu£nh b£ng c≠t t¯ £nh chˆp v´n b£n.
3.4 Ph˜Ïng pháp ánh giá
3.4.1 Ph˜Ïng pháp ánh giá Î chính xác cıa ph˜Ïng pháp phát hiªn và ph˜Ïng pháp nh™n d§ng cßu trúc b£ng
D¸a theo các nghiên c˘u và cuÎc thi liên quan, tôi s≥th¸c hiªn ánh giá k∏t qu£
cıa hai ph˜Ïng pháp phát hiªn và nh™n d§ng cßu trúc b£ng d¸a trên các chøsË Î
chính xác (Precision), Î hÁi t˜ng (Recall) và i∫m F1 (F1-scores). Các chø sË
này s≥ ˜Òc tính d¸a trên các ng˜Ông IoU (Intersec over Union) t˜Ïng˘ng.
Gi£s˚vÓi nhiªm vˆphát hiªn b£ng, ¶u tiên, tôi s≥ tính chøsËIoU ∫ ánh giá
Îchính xác cıa v‡trí b£ng phát hiªn ˜Òc và v‡trí ˜Òc gán nhãn. Cách tính IoU
˜Òc th∫hiªn trong hình 3.32. IoU có kho£ng giá tr‡thuÎc[0,1]. IoU càng lÓn thì k∏t qu£d¸ oán càng chính xác.
Hình 3.32: Cách tính chøsË IoU.
Hình 3.33: MÎt sË ví dˆtính IoU.
Sau khi tính IoU cho các k∏t qu£ d¸ oán, tôi s≥ ∞t mÎt giá tr‡ng˜Ông ∫ xác
‡nh m˘c Î IoU cho phép cıa mÎt k∏t d¸ oán qu£ úng. Gi£ s˚ tôi chÂn m˘c 0.5, theo nh˜ hình 3.33, k∏t qu£ cıa trong hình bên trái (IoU = 0.4034) s≥ ˜Òc coi là d¸ oán sai và hai hình còn l§i s≥ ˜Òc coi là mÎt d¸ oán úng. D¸a vào
ng˜Ông IoU, tôi s≥tính toán các chøsË ánh giá sau:
Precision= T PT P+FP
Recall = T PT P+FN
F1= Precision2PrecisionRecall+Recall
Trong ó:
• TP: SË l˜Òng b£ng d¸ oán chính xác (IoU > ng˜Ông IoU).
• FP: SË l˜Òng b£ng d¸ oán không chính xác.
• FN: SË l˜Òng b£ng ˜Òc gán nhãn nh˜ng không ˜Òc d¸ oán.
Ph˜Ïng pháp ánh giá t˜Ïng t¸cÙng ˜Òc áp dˆng cho nhiªm vˆ phát hiªn các ô trong b£ng. Thông th˜Ìng, nhi∑u ng˜Ông IoU khác nhau s≥ ˜Òc chÂn ∫ ánh giá k∏t qu£ d¸a theo yêu c¶u cıa nhiªm vˆ. Ví dˆ vÓi nhiªm vˆ phát hiªn b£ng, ng˜Ông IoU c¶n cao hÏn ∫th∫ hiªn v‡trí b£ng tìm ˜Òc ph£i chính xác hÏn. Còn vÓi nhiªm vˆ phát hiªn các ô, ng˜Ông IoU có th∫thßp hÏn do nhiªm vˆ này s≥ ˜u tiên phát hiªn ¶y ı các ô.
3.4.2 Ph˜Ïng pháp ánh giá Î chính xác cıa ph˜Ïng pháp làm phØng £nh v´n b£n
∫ ánh Î chính xác cıa các ph˜Ïng pháp làm phØng £nh v´n b£n b‡ bi∏n d§ng, chø sË MS-SSIM - Multi-Scale Structural Similarity ˜Òc s˚ dˆng ∫ so sánh£nh sau khi làm phØng và£nh phØng gËc (chuy∫n ‡nh d§ng ho∞c £nh scan). MS-SSIM ˜Òc tính theo các b˜Óc sau
• B˜Óc 1: Cho là t™p hÒp các giá tr‡ i∫m£nh cıa 2£nh c¶n so sánhx={xi|i=
1,2, ...,N}và y={yi|i=1,2, ...,N}.
• B˜Óc 2: ∞tC1 = (K1L)2,C2 = (K2L)2 vÓi L là giá tr‡ tËi a cıa i∫m £nh,
K1<<1và K2<<1.
• B˜Óc 3: ∞t MS-SSIM = 0. L∞p k l¶n (k sË t¸ nhiên cho tr˜Óc) và th¸c hiªn các b˜Óc sau:
– Trung bình cıax vày (µx, µy):◊Óc tính sáng ph£n cıa x vày.
– Ph˜Ïng sai cıa x vày (s2
x,s2
y):◊Óc tính Ît˜Ïng ph£n cıa xvà y.
– Hiªp ph˜Ïng sai cıa x và y (sxy): Th∫ hiªn Î t˜Ïng Áng trong thay Íi cıax vày.
– MS SSIM=MS SSIM+(µ(22µxµy+C1)(2sxy+C2)
x+µy2+C1)(sx2+sy2+C2).
– Gi£m kích th˜Óc£nh i 1 n˚a.
• B˜Óc 4: MS-SSIM = MS SSIMk .
Theo ó, MS-SSIM s≥ có giá tr‡ thuÎc kho£ng [0,1]. MS-SSIM càng lÓn thì 2
£nh càng giËng nhau và b¨ng 1 khi hai £nh là mÎt. MÎt sË ví dˆ tính MS-SSIM trong hình 3.34.
Hình 3.34: MÎt sË ví dˆtính MS-SSIM.
3.5 Các framework và th˜ viªn s˚ dˆng
Trong quá trình nghiên c˘u, tôi ã s˚dˆng các framework và th˜viªn mã nguÁn m phÍ bi∏n sau:
• Pytorch: ây là mÎt trong nh˙ng framework tËt nhßt cho viªc hußn luyªn và s˚ dˆng các mô hình hÂc sâu trên ngôn ng˙ python. ◊u i∫m cıa Pytorch là kh£ n´ng linh ho§t trong code và debug, ˜Òc h™u thu®n bi Facebook, kh£
n´ng hÈ trÒ Á th‡ Îng và có ¶y ı các API t¯b™c thßp ∏n b™c cao. i∫m y∏u cıa Pytorch là ch˜a hÈ trÒcác ph˜Ïng th˘c hÈ trÒ dπ dàng cho viªc tri∫n khai ho∞c tích hÒp. ˜Òc phát hành t¯ n´m 2016, ∏n nay, Pytorch ã tr
thành framework phÍ bi∏n nhßt cho các nghiên c˘u v∑ hÂc sâu trong nghiên c˘u.
• OpenCV: Th˜viªn mã nguÁn m không th∫ thi∏u cho các nghiên c˘u v∑ x˚
l˛ £nh. OpenCV hÈ trÒcác thu™t toán x˚l˛ £nh ch§y trong thÌi gian th¸c, hÂc máy và tính toán GPU.
• OpenMMLab: Các bÎ công cˆ mã nguÁn m hÈ trÒ hußn luyªn các mô hình hÂc sâu d¸a trên Pytorch ˜Òc phát hành bi OpenMMLab. OpenMMLab hÈ
trÒhußn luyªn và ánh giá các mô hình hÂc sâu theo các cßu hình tham sËcho tr˜Óc. i∑u này s≥ rút ng≠n thÌi gian chønh s˚a cßu hình cıa các m§ng hÂc sâu. Ngoài ra, OpenMMLab cÙng cung cßp nhi∑u phiên b£n ti∑n hußn luyªn, các bÎ siêu tham sË tËt nhßt cho nhi∑u ki∏n trúc hÂc sâu trong lænh v¸c x˚l˛
Ch˜Ïng 4
Th¸c nghiªm
Ch˜Ïng này s≥ trình bày k∏t qu£ §t ˜Òc cıa quá trình nghiên c˘u. Ch˜Ïng bao gÁm 4 ph¶n. Trong ph¶n mÎt, tôi s≥trình bày k∏t qu£t§o xây d¸ng bÎ d˙liªu
∫ hußn luyªn và ánh giá. Ph¶n hai s≥ trình bày k∏t qu£ khi hußn luyªn mô hình hÂc sâu cho nhiªm vˆ phát hiªn b£ng trên£nh chˆp v´n b£n. Ph¶n ba s≥trình bày k∏t qu£ làm phØng b£ng trong£nh v´n b£n. Và cuËi cùng, ph¶n bËn s≥ báo cáo k∏t qu£hußn luyªn mô hình hÂc sâu cho nhiªm vˆnh™n d§ng cßu trúc b£ng thông qua phát hiªn ô trong b£ng.
4.1 BÎ d˙ liªu
4.1.1 D˙ liªu cho nhiªm vˆ phát hiªn b£ng
Sau khi áp dˆng ph˜Ïng pháp t§o d˙liªu ˜Òc trình bày trong ch˜Ïng ph˜Ïng pháp ∑ xußt, tôi ã thu ˜Òc mÎt bÎ d˙ liªu mô ph‰ng £nh v´n b£n chˆp t¯ các thi∏t b‡ ghi hình và nhãn cıa chúng cho nhiªm vˆ phát hiªn b£ng. Chi ti∏t bÎ d˙
liªu ˜Òc th∫hiªn trong hình 4.1.
B£ng 4.1: BÎ d˙liªu t´ng c˜Ìng cho nhiªm vˆphát hiªn b£ng. BÎ d˙liªu SËl˜Òng£nh NguÁn gËc
Hußn luyªn 20000 10000£nh Word và 10000£nh Latex trong bÎ hußn luyªn cıa TableBank
Xác nh™n 2000 1000 £nh Word và 1000 £nh Latex trong bÎ ki∫m tra cıa TableBank
Hình 4.1: MÎt sË m®u d˙liªu ã t§o.
V∑ bÎ d˙ liªu ki∫m tra, tôi ã chˆp và gán nhãn thı công mÎt bÎ d˙ liªu 100
£nh (ch˘a 120 b£ng) chˆp v´n b£n th¸c t∏. MÎt sË £nh trong bÎ d˙ liªu này ˜Òc minh hÂa trong hình 4.2.
Hình 4.2: MÎt sËm®u£nh chˆp v´n b£n và nhãn cıa b£ng.
4.1.2 D˙ liªu cho nhiªm vˆ nh™n d§ng cßu trúc b£ng
∫ t§o bÎd˙liªu cho nhiªm vˆ nh™n d§ng cßu trúc b£ng, tôi s˚dˆng£nh b£ng t¯ t™p d˙liªu TableBank và nhãn t¯ nghiên c˘u [26]. Sau ó, tôi áp dˆng ph˜Ïng pháp thêm bóng cho t™p d˙liªu trên và thu ˜Òc bÎ d˙liªu nh˜trong b£ng 4.2 .
B£ng 4.2: BÎ d˙liªu t´ng c˜Ìng cho nhiªm vˆ nh™n d§ng cßu trúc b£ng.BÎ d˙liªu SË l˜Òng£nh BÎ d˙liªu SË l˜Òng£nh
Hußn luyªn 37,825 Xác nh™n 4,203
V∑bÎd˙liªu ki∫m tra, tôi ã gán nhãn thı công bÎd˙liªu gÁm 100£nh (t˜Ïng
˘ng vÓi 100 b£ng) b£ng c≠t t¯ £nh chˆp v´n b£n th¸c t∏. MÎt sË £nh trong bÎ d˙
liªu này ˜Òc minh hÂa trong hình 4.3.
Hình 4.3: MÎt sË m®u£nh b£ng và nhãn cıa các ô trong b£ng.
4.2 K∏t qu£ hußn luyªn mô hình hÂc sâu phát hiªn b£ng trên £nh v´n b£n
Tôi th¸c hiªn hußn luyªn các mô hình trên máy tính có cßu hình Intel i9 - 10850K, RTX 3080 10GB và Ram 16GB. Các m§ng ˜Òc hußn luyªn d¸a trên bÎ
công cˆ OpenMMLab. Thông sË hußn luyªn cıa các m§ng ˜Òc th∫ hiªn trong b£ng 4.3.
B£ng 4.3: Thông sË hußn luyªn cıa các mô hình.
Tên ki∏n trúc M§ng cÏ b£n Pre-trained D˙liªu hußn luyªn Cascade Mask R-CNN Hrnet2v_32w Coco D˙liªu t´ng c˜Ìng Cascade Mask R-CNN Swin-T Coco D˙liªu t´ng c˜Ìng Cascade Mask R-CNN Swin-S Coco D˙liªu t´ng c˜Ìng DeepLabv3+ ResNet50 Ade20k D˙liªu t´ng c˜Ìng UperNet Swin-T Ade20k D˙liªu t´ng c˜Ìng UperNet Swin-S Ade20k D˙liªu t´ng c˜Ìng
¶u tiên, tôi ánh giá m§ng qua chø sË trung bình cıa IoU thông qua hai m˘c
Îlà i∫m£nh và hÎp giÓi h§n. IoU i∫m £nh là viªc so sánh k∏t qu£m∞t n§phân o§n d¸ oán ra và m∞t n§ phân o§n gán nhãn. IoU hÎp giÓi h§n là k∏t qu£ so sánh khi tìm mÎt hÎp giÓi h§n (hình ch˙nh™t) bao quanh khu v¸c phân o§n cıa các b£ng và so sánh vÓi hÎp giÓi h§n trên khu v¸c phân o§n gán nhãn. K∏t qu£
ánh giá ˜Òc th∫ hiªn trong các b£ng 4.4 và 4.5. M§ng CascadeTabNet ˜Òc tôi th¸c hiªn ánh giá trên t™p d˙ liªu ki∫m tra do tôi xây d¸ng nh¨m so sánh hiªu qu£ cıa bÎ d˙liªu t´ng c˜Ìng.
B £ ng 4.5: K ∏ tq u £ hu ß n luy ª n m § ng phát hi ª n b £ ng theo Precision, R ecall và F1.
Do giÓi h§n v∑ph¶n c˘ng, tôi không th∫ chÂn các phiên b£n lÓn hÏn cıa Swin Trasformer là Swin-B và Swin-L ∫th˚nghiªm. Nhìn chung, các m§ng ∑u có th∫
x˚l˛khá tËt các b£ng nhìn rõ ràng và phát hiªn chính xác ph¶n c§nh cıa b£ng b‡
bi∏n d§ng.
Hình 4.4: MÎt sË tr˜Ìng hÒp phát hiªn b£ng tËt.
Bên nhánh phân o§n ng˙ nghæa, ki∏n trúc UperNet + Swin-S cÙng ã xßp xø
th™m chí là v˜Òt hÏn ki∏n trúc DeepLabv3+ ResNet50. Bên nhánh phân o§n cá th∫, mÎt ki∏n trúc khác s˚ dˆng Swin-S làm m§ng cÏ b£n là Cascade RCNN + Swin-S cÙng §t Î chính xác v˜Òt trÎi hÏn so vÓi các ki∏n trúc còn l§i. i∑u này ch˘ng minh s¸ hiªu qu£ cıa ki∏n trúc Transformer trong các nhiªm vˆ v∑ x˚ l˛
hình £nh. MÎt i∫m áng chú ˛ khác là dù m§ng UperNet + Swin-S cho k∏t qu£
v˜Òt trÎi v∑IoU i∫m£nh nh˜ng k∏t qu£IoU hÎp giÓi h§n thßp. i∑u này do m§ng ã oán tËt ph¶n trong cıa b£ng nh˜ng ph¶n vi∑n b£ng l§i không quáÍn ‡nh d®n
∏n ph¶n hÎp giÓi h§n b‡ m rÎng so vÓi hÎp giÓi h§n th™t s¸ cıa b£ng. Ngoài ra, các m§ng phân o§n các th∫ cho các giá tr‡ Precision thßp hÏn do chúng d¸
oán th¯a b£ng (các b£ng úng v®n ˜Òc phát hiªn chính xác). Hình 4.5 mô t£các tr˜Ìng hÒp nh˜v™y.
Hình 4.5: Các tr˜Ìng hÒp phát hiªn th¯a b£ng cıa các m§ng phân o§n cá th∫. Các tr˜Ìng hÒp này có th∫ ˜Òc kh≠c phˆc trong th¸c th∏ b¨ng logic nên k∏t qu£ phát hiªn cıa các m§ng phân o§n cá th∫ v®n xem khá Ín ‡nh. Tuy nhiên, các m§ng phân o§n ng˙ nghæa l§i có mÎt h§n ch∏ khó kh≠c phˆc hÏn. ó là các b£ng g¶n nhau s≥dπb‡phát hiªn thành mÎt b£ng và k∏t qu£d¸ oán có th∫ không
Ín ‡nh. Gi£ s˚mÎt tr˜Ìng hÒp b£ng khá rõ nét nh˜ng k∏t qu£ m∞t n§ phân o§n l§i b‡mßt trên mÎt ph¶n b£ng. i∑u này có th∫ gây£nh h˜ng ∏n ph¶n thu™t toán làm phØng b£ng.
Hình 4.6: Các tr˜Ìng hÒp phát hiªn không Ín ‡nh và dính b£ng cıa các m§ng phân o§n ng˙nghæa.
Ngoài ra, mÎt i∫m h§n ch∏ chung cıa các mô hình là k∏t qu£ phát hiªn các b£ng không có ˜Ìng vi∑n không quá chính xác. Dù có th∫phát hiªn t˜Ïng Ëi v‡
trí cıa b£ng nh˜ng ph¶n c§nh vi∑n cıa b£ng không ˜Òc phát hiªn chính xác.
Hình 4.7: Các b£ng không có ˜Ìng vi∑n ch˜a ˜Òc phát hiªn chính xác.
4.3 K∏t qu£ làm phØng b£ng trong £nh v´n b£n
Nh˜ ã trình bày trong ph¶n ph˜Ïng pháp ∑ xußt, tôi ti∏p c™n bài toán làm phØng b£ng thu ˜Òc theo 2 h˜Óng. H˜Óng th˘nhßt là phát hiªn b£ng tr˜Óc và sau ó tách riêng t¯ng ph¶n b£ng ra và th¸c hiªn làm phØng b¨ng thu™t toán. H˜Óng