Dịch vị Phạm Hồng Vinh và Đàm Minh Tiến

Tổng quan

Kiến trúc truyền thống của một mạng CNN Mạng neural tích chập (Convolutional neural networks), còn được biết đến với thương hiệu CNNs, là một trong dạng mạng neural được cấu thành bởi những tầng sau:

Tầng tích chập với tầng pooling rất có thể được hiệu chỉnh theo những siêu thông số (hyperparameters) được diễn đạt ở số đông phần tiếp theo.Bạn đang xem: giải mã hình hình ảnh bằng mô hình mạng nơ-ron sâu (Image decoding using deep neural network models)

Các đẳng cấp tầng

Tầng tích chập (CONV) Tầng tích chập (CONV) sử dụng những bộ thanh lọc để thực hiện phép tích chập khi gửi chúng trải qua đầu vào $I$ theo các chiều của nó. Các siêu tham số của những bộ thanh lọc này bao hàm kích thước bộ lọc $F$ với độ trượt (stride) $S$. Tác dụng đầu ra $O$ được gọi là feature maps hay activation map.

Bạn đang xem: Giải mã hình ảnh bằng mô hình mạng tích chập (Image decoding using convolutional neural network models)

Lưu ý: bước tích chập cũng hoàn toàn có thể được bao gồm hóa cả cùng với trường vừa lòng một chiều (1D) và ba chiều (3D).

Pooling (POOL) Tầng pooling (POOL) là 1 trong những phép downsampling, hay được thực hiện sau tầng tích chập, góp tăng tính không bao giờ thay đổi không gian. Nắm thể, max pooling cùng average pooling là các dạng pooling đặc biệt, mà tương xứng là trong các số đó giá trị lớn số 1 và cực hiếm trung bình được rước ra.

Kiểu Max pooling Average pooling
Chức năng Từng phép pooling lựa chọn giá trị lớn số 1 trong quanh vùng mà nó đang được áp dụng Từng phép pooling tính trung bình những giá trị trong khoanh vùng mà nó đang rất được áp dụng
Minh họa
Nhận xét • Bảo toàn các đặc trưng vẫn phát hiện• Được sử dụng liên tục • Giảm kích cỡ feature map• Được áp dụng trong mạng Le
Net

Fully Connected (FC) Tầng kết nối không thiếu (FC) nhận nguồn vào là các dữ liệu đã được làm phẳng, mà mỗi đầu vào đó được liên kết đến tất cả neuron. Trong mô hình mạng CNNs, các tầng kết nối không thiếu thốn thường được kiếm tìm thấy ngơi nghỉ cuối mạng và được dùng để tối ưu hóa phương châm của mạng ví dụ như độ chính xác của lớp.

Các siêu tham số của bộ lọc

Tầng tích chập chứa các bộ lọc cơ mà rất đặc biệt quan trọng cho ta khi biết ý nghĩa sâu sắc đằng sau các siêu tham số của chúng.

Các chiều của một cỗ lọc Một bộ lọc kích cỡ $F imes F$ vận dụng lên đầu vào chứa $C$ kênh (channels) thì có kích cỡ tổng kể là $F imes F imes C$ tiến hành phép tích chập bên trên đầu vào form size $I imes I imes C$ và tạo ra một feature maps (hay còn được gọi là activation map) có form size $O imes O imes 1$.

lưu ý: Việc vận dụng $K$ bộ lọc có kích cỡ $F imes F$ đã tạo ra một feature map có form size $O imes O imes K$.

Stride Đối với phép tích chập hoặc phép pooling, độ trượt $S$ cam kết hiệu số pixel mà hành lang cửa số sẽ dịch rời sau mỗi lần triển khai phép tính.

Zero-padding Zero-padding là tên gọi của quá trình thêm $P$ số ko vào những biên của đầu vào. Giá trị này rất có thể được lựa chọn thủ công bằng tay hoặc một cách tự động hóa bằng 1 trong những ba những phương thức mô tả bên dưới:

Phương pháp Valid Same Full
Giá trị $P = 0$ $P_ extstart = BigllfloorfracS lceilfracIS ceil - I + F - S2Bigr floor$$P_ extend = BigllceilfracS lceilfracIS ceil - I + F - S2Bigr ceil$ $P_ extstartin!>$$P_ extend = F-1$
Minh họa Padding valid Padding same Padding full
Mục đích • Không áp dụng padding• quăng quật phép tích chập cuối nếu số chiều ko khớp • thực hiện padding để gia công cho feature maps có form size $BigllceilfracISBigr ceil$• size đầu ra thuận lợi về mặt toán học• nói một cách khác là "half" padding • Padding tối đa làm thế nào để cho các phép tích chập có thể được thực hiện tại các rìa của đầu vào• cỗ lọc "thấy" được đầu vào từ trên đầu đến cuối

Điều chỉnh khôn cùng tham số

Tính tương xứng của thông số trong tầng tích chập bằng cách ký hiệu $I$ là độ dài size đầu vào, $F$ là độ dài của cục lọc, $P$ là số lượng zero padding, $S$ là độ trượt, ta có thể tính được độ lâu năm $O$ của feature bản đồ theo một chiều bởi công thức:

Lưu ý: Trong một vài trường hợp, $P_ extstart = P_ extend riangleq P$, ta rất có thể thay vắt $P_ extstart + P_ extend$ bằng $2P trong phương pháp trên.

Hiểu về độ phức tạp của mô hình Để review độ phức hợp của một mô hình, phương pháp hữu hiệu là xác minh số tham số mà mô hình đó đã có. Trong một tầng của mạng neural tích chập, nó sẽ được giám sát như sau:

CONV POOL FC
Minh họa
Kích thước đầu vào $I imes I imes C$ $I imes I imes C$ $N_ extin$
Kích thước đầu ra $O imes O imes K$ $O imes O imes C$ $N_ extout$
Số lượng tham số $(F imes F imes C + 1) cdot K$ $0$ $(N_ extin + 1 ) imes N_ extout$
Lưu ý • Một tham số bias với mỗi bộ lọc • Trong phần nhiều trường hợp, $S • Một lựa chọn phổ cập cho $K$ là $2C$ • Phép pooling được vận dụng lên từng kênh (channel-wise) • Trong đa phần trường hợp, $S = F$ • Đầu vào được thiết kế phẳng • từng neuron có một thông số bias • Số neuron trong một tầng FC phụ thuộc vào buộc ràng kết cấu

Trường thụ cảm trường thụ cảm (receptive field) trên tầng $k$ là vùng được ký hiệu $R_k imes R_k$ của đầu vào mà những px của activation map thứ $k$ có thể "nhìn thấy". Bằng cách gọi $F_j$ là kích thước bộ lọc của tầng $j$ cùng $S_i$ là quý hiếm độ trượt của tầng i với để thuận tiện, ta mang định $S_0 = 1$, trường thụ cảm của tầng $k$ được đo lường và thống kê bằng công thức:

Trong ví dụ mặt dưới, ta có $F_1 = F_2 = 3$ với $S_1 = S_2 = 1$, buộc phải cho ra được $R_2 = 1 + 2cdot 1 + 2cdot 1 = 5$.

Các hàm kích hoạt hay gặp

Rectified Linear Unit Tầng rectified linear unit (Re
LU) là 1 trong những hàm kích hoạt $g$ được sử dụng trên toàn bộ các thành phần. Mục tiêu của nó là tăng tính phi đường tính cho mạng. Những biến hóa thể khác của Re
LU được tổng phù hợp ở bảng dưới:

Re
LU
Leaky Re
LU
ELU
$g(z)=max(0,z)$ $g(z)=max(epsilon z,z)$ với $epsilonll1$ $g(z)=max(alpha(e^z-1),z)$ cùng với $alphall1$
Re</td Leaky Re</td> <td><img alt=ELU class=img-responsive src=teaching/cs-230/illustrations/elu.png?d195c8a479724512b56ff0da101361a6 style=
• Độ phức tạp phi con đường tính có thể thông dịch được về khía cạnh sinh học • Gán vụ việc Re
LU bị tiêu diệt cho đa số giá trị âm
• Khả vi tại gần như nơi

Softmax bước softmax có thể được coi là một hàm logistic tổng thể lấy đầu vào là 1 trong những vector chứa các giá trị $xinmathbbR^n$ và đến ra là một trong vector bao gồm các tỷ lệ $pinmathbbR^n$ thông sang 1 hàm softmax ở cuối loài kiến trúc. Nó được định nghĩa như sau:

Phát hiện vật dụng thể (object detection)

Các kiểu mô hình Có 3 hình dáng thuật toán nhấn diện đồ thể chính, chính vì vậy mà bản chất của vật dụng được dự đoán sẽ không giống nhau. Chúng được biểu đạt ở bảng dưới:

Phân loại hình ảnh Phân một số loại cùng cùng với khoanh vùng Phát hiện
• Phân loại một tấm ảnh • Dự đoán xác suất của một trang bị thể • Phát hiện tại một trang bị thể trong hình ảnh • Dự đoán tỷ lệ của trang bị thể và xác định nó • vạc hiện những vật thể trong cùng một tấm ảnh • Dự đoán phần trăm của những vật thể và xác định chúng
CNN cổ điển YOLO dễ dàng hóa, R-CNN YOLO, R-CNN

Phát hiện tại Trong toàn cảnh phát hiện nay (detection) đồ vật thể, những cách thức khác nhau được vận dụng tùy ở trong vào liệu họ chỉ muốn định vị vật thể giỏi phát hiện được gần như hình dạng phức hợp hơn trong tấm ảnh. Hai cách thức chính được tổng thích hợp ở bảng dưới:

Phát hiện hộp số lượng giới hạn (bounding box) Phát hiện landmark
• Phát hiện phần trong ảnh mà bao gồm sự mở ra của đồ thể • vạc hiện những thiết kế và điểm sáng của một đối tượng người tiêu dùng (vd: mắt) • các hạt
Hộp có tọa độ trung trọng điểm $(b_x,b_y)$, độ cao $b_h$ và chiều rộng $b_w$ Các điểm đối sánh $(l_1x,l_1y),$ $...,$ $(l_nx,l_ny)$

Intersection over Union tỉ lệ vùng giao trên vùng hợp, còn được nghe biết là $ extrmIo
U$, là một trong những hàm định lượng địa điểm $B_p$ của hộp giới hạn dự đoán được định vị đúng thế nào so với vỏ hộp giới hạn thực tế $B_a$. Nó được định nghĩa:

Lưu ý: ta luôn có $ extrmIo
Uin$. Để thuận tiện, một hộp giới hạn $B_p$ được biết khá tốt nếu $ extrmIo
U(B_p,B_a)geqslant0.5$.

Anchor boxes vỏ hộp mỏ neo là một kỹ thuật được dùng để tham gia đoán đều hộp số lượng giới hạn nằm chồng lên nhau. Vào thực nghiệm, mạng được phép dự đoán nhiều hơn thế nữa một hộp và một lúc, trong những số đó mỗi dự đoán được giới hạn theo một tập những tính chất hình học mang lại trước. Ví dụ, dự kiến đầu tiên có công dụng là một hộp hình chữ nhật có làm ra cho trước, trong những khi dự đoán đồ vật hai sẽ là 1 hộp hình chữ nhật nữa cùng với hình kiểu dáng học khác.

Non-max suppression chuyên môn non-max suppression hướng tới việc đào thải những hộp số lượng giới hạn bị trùng chồng lên nhau của cùng một đối tượng bằng phương pháp chọn chiếc hộp bao gồm tính đặc thù nhất. Sau khi loại trừ tất cả những hộp có phần trăm dự đoán bé dại hơn 0.6, đa số bước tiếp theo được tái diễn khi vẫn tồn tại tồn tại phần đa hộp khác.

Với một lớp cho trước • bước 1: Chọn loại hộp có tỷ lệ dự đoán to nhất. • bước 2: loại trừ những hộp có $ extrmIo
Ugeqslant0.5$ với hộp sẽ chọn.

YOLO You Only Look Once (YOLO) là 1 thuật toán phân phát hiện đồ vật thể tiến hành những cách sau:

• cách 1: phân chia tấm hình ảnh đầu vào thành một lưới $G imes G$. • bước 2: Với mỗi lưới, chạy một mạng CNN dự đoán $y$ tất cả dạng sau:

^TinmathbbR^G imes G imes k imes(5+p)}>

với $p_c$ là xác suất dự đoán được một vật thể, $b_x,b_y,b_h,b_w$ là đầy đủ thuộc tính của hộp số lượng giới hạn được dự đoán, $c_1,...,c_p$ là màn trình diễn one-hot của bài toán lớp nào trong $p$ các lớp được dự đoán, cùng $k$ là số lượng các vỏ hộp mỏ neo. • bước 3: Chạy thuật toán non-max suppression để loại bỏ bất kỳ hộp giới hạn có chức năng bị trùng lặp.

Lưu ý: lúc $p_c=0$, thì mạng ko phát hiện bất kỳ vật thể nào. Vào trường thích hợp đó, các dự đoán tương quan $b_x, ..., c_p$ sẽ ảnh hưởng lờ đi.

R-CNN Region with Convolutional Neural Networks (R-CNN) là 1 trong những thuật toán phát hiện đồ gia dụng thể mà thứ nhất phân chia hình ảnh thành những vùng nhằm tìm những hộp giới hạn có công dụng liên quan cao rồi chạy một thuật toán phát hiện để tìm hồ hết thứ có công dụng cao là trang bị thể một trong những hộp giới hạn đó.

Lưu ý: tuy vậy thuật toán nơi bắt đầu có giá thành tính toán cao với chậm, những kiến trúc mới đã tất cả thể được cho phép thuật toán này chạy cấp tốc hơn, như thể Fast R-CNN và Faster R-CNN.

Xác nhận khuôn mặt với nhận diện khuôn mặt

Các kiểu quy mô Hai kiểu quy mô chính được tổng hợp trong bảng dưới:

Xác nhấn khuôn mặt Nhận diện khuôn mặt
• gồm đúng tín đồ không? • Tra cứu một-một • Đây tất cả phải là 1 trong trong K bạn trong cơ sở dữ liệu không? • Tra cứu vớt một với tất cả

One Shot Learning One Shot Learning là một trong những thuật toán xác minh khuôn mặt thực hiện một tập huấn luyện hạn chế nhằm học một hàm similarity nhằm mục tiêu ước lượng sự khác biệt giữa hai tấm hình. Hàm này được áp dụng cho nhị tấm ảnh thường được ký kết hiệu $d( extrmimage 1, extrmimage 2)$.

Siamese Network Siamese Networks nhắm đến việc học cách mã hóa tấm hình ảnh để rồi định lượng sự không giống nhau giữa hai tấm ảnh. Với một tấm hình ảnh đầu vào $x^(i)$, cổng output được mã hóa thường được ký kết hiệu là $f(x^(i))$.

Triplet loss Triplet loss $ell$ là 1 hàm mất đuối được giám sát dựa trên màn trình diễn nhúng của bộ ba hình hình ảnh $A$ (mỏ neo), $P$ (dương tính) với $N$(âm tính). Ảnh mỏ neo và ảnh dương tính các thuộc một lớp, trong những lúc đó ảnh âm tính thuộc về một tờ khác. Bằng những gọi $alphainmathbbR^+$ là tham số margin, hàm mất mát này được khái niệm như sau:

Neural style transfer

Ý tưởng phương châm của neural style transfer là tạo thành một ảnh $G$ dựa trên một nội dung $C$ và một phong cách $S$.

Tầng kích hoạt trong một tầng $l$ mang lại trước, tầng kích hoạt được ký hiệu $a^$ cùng có những chiều là $n_H imes n_w imes n_c$

Hàm mất mát ngôn từ Hàm mất mát nội dung $J_ extrmcontent(C,G)$ được áp dụng để khẳng định nội dung của hình ảnh được sản xuất $G$ biệt lập với văn bản gốc trong hình ảnh $C$. Nó được định nghĩa như bên dưới đây:

Ma trận phong thái Ma trận phong thái $G^$ của một tầng mang lại trước $l$ là 1 trong ma trận Gram mà mỗi nhân tố $G_kk"^$ của ma trận khẳng định sự đối sánh tương quan giữa kênh $k$ và kênh $k"$. Nó được tư tưởng theo tầng kích hoạt $a^$ như sau:

Lưu ý: ma trận phong thái cho hình ảnh phong phương pháp và ảnh được tạo được ký hiệu tương xứng là $G^(S)$ cùng $G^(G)$.

Hàm mất mát phong thái Hàm mất mát phong thái $J_ extrmstyle(S,G)$ được sử dụng để khẳng định sự biệt lập về phong thái giữa ảnh được tạo $G$ và hình ảnh phong bí quyết $S$. Nó được định nghĩa như sau:

}(S,G)=frac1(2n_Hn_wn_c)^2||G^(S)-G^(G)||_F^2=frac1(2n_Hn_wn_c)^2sum_k,k"=1^n_cBig(G_kk"^(S)-G_kk"^(G)Big)^2}>

Hàm mất mát tổng quát Hàm mất mát tổng thể được định nghĩa là sự phối hợp của hàm mất mát văn bản và hàm mất non phong cách, độ đặc trưng của chúng được khẳng định bởi nhị tham số $alpha,eta$, như dưới đây:

Lưu ý: quý hiếm của $alpha$ càng béo dẫn tới việc quy mô sẽ vồ cập hơn mang đến nội dung, trong những khi đó, quý hiếm của $eta$ càng phệ sẽ khiến nó ân cần hơn cho phong cách.

Những kiến trúc sử dụng computational tricks

Generative Adversarial Network Generative adversarial networks, hay còn được gọi là GAN, là sự kết hợp giữa mô hình khởi chế tác và mô hình phân biệt, khi mà quy mô khởi tạo nỗ lực tạo ra hình hình ảnh đầu ra chân thực nhất, kế tiếp được gửi vô mô hình phân biệt, mà kim chỉ nam của nó là rõ ràng giữa ảnh được tạo nên và ảnh thật.

Lưu ý: có tương đối nhiều loại GAN không giống nhau bao gồm từ văn phiên bản thành ảnh, sinh nhạc với tổ hợp.

Res
Net kiến trúc Residual Network (hay nói một cách khác là Res
Net) sử dụng những khối residual (residual blocks) với một lượng lớn các tầng để sút lỗi huấn luyện. Phần đông khối residual tất cả những đặc thù sau đây:

Inception Network phong cách xây dựng này thực hiện những inception module và nhắm tới việc thử các tầng tích chập khác nhau để tăng hiệu suất trải qua sự đa dạng và phong phú của các feature. Thay thể, phong cách xây dựng này áp dụng thủ thuật tầng tích chập $1 imes1$ để hạn chế gánh nặng nề tính toán.

Tổng quan về Document Understanding và ứng dụng
Giới thiệu và việc Table Recognition
Các phương pháp SOTA hiện tại cho Table Recognition
Các nhược điểm, giảm bớt của các cách thức hiện tại
Giới thiệu pipeline và phương pháp cho việc Table Recognition
Kết quả thu được
Đánh giá với cải thiện
Kết luận

Kết quả thu được với bài toán tái cấu tạo lại tin tức từ bảng biểu, từ trên xuống dưới:

Ảnh đầu vàoColumn 1Column 2
*
*
*
Ảnh table đã được trao diện đúng đắn các cell của bảngColumn 1Column 2
*
*
*
Chuyển dạng bảng đã nhận được diện được vào tệp tin excel, kèm theo các nội dung tương ứng với từng cellColumn 1Column 2Column 3
*
*
*
Tổng quan tiền về Document Understanding cùng ứng dụng

Mình sẽ đề cập kĩ hơn về những baseline models mình thực hiện bên dưới.

Document Understanding là 1 trong topic research khôn cùng rộng, bao gồm nhiều câu hỏi con bên trong, là quá trình sử dụng AI hay các công nỗ lực RPA (Robot Process Automation) để tự động hóa quá trình phân loại, tìm kiếm kiếm, nhận dạng với trích rút thông tin từ 1 loại văn bạn dạng (document) bất kỳ nào đó. Chuyển động được trên những loại văn bản có kết cấu như: giấy CMND, giấy khai sinh,... Hay các loại văn bản phi cấu trúc, phức tạp hơn như: hóa đơn, bảng biểu,...

1 số các topic trong Document Understanding như:

Key information extraction: xác định, phân các loại và trích rút các trường thông tin trong nhiều loại văn bản, lấy một ví dụ trích rút thông tin địa chỉ, tổng chi phí trong hóa đơnDocument Layout Analysis: xác định vị trí và thể nhiều loại của từng vùng đối tượng người dùng trên ảnh, ví dụ khẳng định các vùng: text, paragraph, title, table, imageOptical Character Recognition: thừa nhận dạng kí tự quang quẻ học, là bài toán thông dụng nhất, xác xác định trí và nhận diện text vào ảnhVisual Document Question Answering: trả lời câu hỏi dựa trên input đầu vào là ảnh và câu truy vấnTable Recognition & Understanding: tái cấu trúc bố cục và trích rút tin tức từ bảng biểuMulti-model Document Understanding: sử dụng đa dạng mẫu mã và phối hợp các loại thông tin từ ảnh, text, layout, position cho các bài toán xử trí văn bản nhất định......

Các chúng ta có thể tham khảo thêm tại các nguồn tài liệu sau:

Sơ lược về table recognition

Định nghĩa bài toán: là vấn đề phát hiện, dấn dạng, trích rút thông tin và lưu giữ đúng mực bố viên và hình hài của bảng biểu, từ đó hoàn toàn có thể lưu trữ các thông tin dạng bảng biểu dưới những format rất có thể chỉnh sửa được như Docx, Excel,... Là việc có tính áp dụng cao trong bài toán số hóa văn bản, chỉnh sửa, tra cứu kiếm cùng truy vấn các tài liệu. Vào thời gian cách đây không lâu mới nhận ra sự quan lại tâm nhiều hơn từ xã hội nghiên cứu, những SOTA model và solution được chào làng hơn.

Các vấn đề con nổi bật về dữ liệu bảng (table):

Table Detection (TD): xác xác định trí bảng vào ảnhTable Structure Recognition (TSR): nhấn diện, tái kết cấu và lưu giữ giữ tin tức vị trí kha khá (relative position) của những cell (ô cất nội dung) vào bảngTable Recognition (TR): tựa như như TSR, nhưng bao hàm cả việc đọc thông tin, nhận dạng kí tự trên bảng cùng ánh xạ đúng chuẩn vào từng cell trong bảngTable Understanding (TU): là việc khó nhất, khá đặc thù, liên quan đến câu hỏi trích rút thông tin từ bảng biểu, rất có thể dựa trên các thông tin đầu vào như ảnh bảng + câu truy tìm vấn (table question answering),....

Trong bài blog này, mình sẽ có được đề cập cho tới 3 vấn đề đầu, việc thứ 4 về Table Understanding sẽ không còn nói trên đây.

Để có thể thực hiện những bài toán về TSR với TR, họ cùng tư tưởng 1 số đối tượng người tiêu dùng cơ phiên bản trong bảng biểu trước, bao gồm:

Table: bảngRow, Column: hàng, cột của bảngGrids: đối kháng vị nhỏ tuổi nhất trình diễn tọa độ vào bảng, chỉ ở trong 1 hàng với 1 cột duy nhất địnhCells: lớn hơn Grid, 1 cell có thể bao gồm nhiều Grid con (gọi là span-cell), xuất xắc chỉ có 1 Grid con thì là single-cell. Chứa thông tin vị trí và nội dung text bên trong cell đóSingle-cells: là cell, 1 cell ứng với cùng một gridSpanning-cells: là cell, 1 cell ứng với nhiều grid, tức sản phẩm / cột được trải dài / rộng, che phủ lên những hàng / cột bé khácColumn Header cell: là các cell ở trong phần header của bảng, phần title đến nội dung bên dướiProjected Row Header: chưa hẳn header, tuy nhiên là các dòng được kéo dài, có công dụng như chỉ mục chia những phần nội dungRelative Position: địa chỉ tương đối của các cell / grid trong bảng, biểu diễn bởi index 0,1,2,3,... Nơi bắt đầu tọa độ trên top-left, có 4 thông số (start_row, end_row, start_column, end_column)Absolute Position: vị trí đúng đắn của từng cell / grid trong bảng, quý giá trong đoạn <0, image_width/image_height>, cội tọa độ tại top-left, tất cả 4 thông số (xywh) hoặc (xyxy)

Để dễ hiểu hơn, hãy cùng quan sát hình minh họa mặt dưới:

Input image12 Grids9 Cells (2 span-cells)
*
*

Mình lâm thời gọi các đường đỏ là các đường phân bóc tách hàng / cột. Dễ thấy, nếu phân phân thành các grid thì bảng này bao gồm 4x3=12 ô grid nhỏ. Còn trường hợp hợp các grid của thuộc 1 span-cell thì bao gồm 9 cells (2 span-cells và 7 single-cells). Cùng với cách phân loại grid như vậy, ta có 1 table 4 hàng, 3 cột; những đường phân tách hàng gồm index là 0,1,2,3,4 (đường kẻ đỏ ngang và 2 biên bên trên dưới), các đường phân tách cột bao gồm index là 0,1,2,3 (đường kẻ đỏ dọc cùng 2 biên trái phải). Từ đó, ta sản xuất được những relative position của từng cell bao hàm 4 thông số kỹ thuật (start_row, end_row, start_col, end_col).

Ví dụ: cell Australia tất cả relative position là (1, 3, 0, 1), cell Precipitation 2001-2005 bao gồm relative position là (0, 1, 0, 3), cell Queensland có tọa độ (2, 3, 1, 2), tương tự như với những cell khác,... Còn absolute position là vị trí thiết yếu xác, lấy ví dụ (100, 100, 150, 120),...

Các phần về Column Header Cell với Projected Row Header Cell, các chúng ta cũng có thể nhìn ảnh minh họa dưới (trong paper Table
Transformer)

Ngoài ra, để ship hàng cho 2 bài bác toán quan trọng TSR cùng TR, phần bảng cũng được phân tạo thành các một số loại bảng không giống nhau:

Full-border table: là dạng bảng có những đường thẳng ngăn cách (border) ví dụ giữa từng cell của bảngBorderless table: bảng chỉ có một số ít mặt đường thẳng phân cách, hay là thân phần header cùng nội dung mặt dướiNo Border table: bảng trọn vẹn không tất cả đường phân cách, tuy nhiên thường là những dạng bảng 1-1 giản, không đựng spanning-cells

Hay ví dụ như cách phân nhiều loại trong tập dữ liệu TNCR, bảng được phân thành 5 loại:

full-lined: dạng full-border, không tồn tại spanning-cells

*

merged_cells: dạng full-border, có tối thiểu 1 spanning-cells

*

partial_lined: bảng chỉ có 1 vài mặt đường line phân cách, không cất spanning-cells

*

partial_lined_merged_cells: tương tự như như partial_lined, nhưng bao gồm spanning-cells

*

nolines: trái lại với full_lined khi trọn vẹn không đựng đường line phân cách, hoàn toàn có thể có spanning-cells

*

1 số tập tài liệu về TD, TSR với TR điển hình

Dataset
TDTSRTRNumber of sample
TSR Format
Table
Bank
✔️✔️417K (TD), 144k (TSR)Table Detection, Table2HTML
Pub
Tab
Net
✔️✔️568KTable2HTML
Fin
Tab
Net
✔️✔️113KTable2HTML
Sci
TSR
✔️✔️15KText bounding box, Relative cell position, Cell Adjacency Relation
TIES_2.0✔️✔️UnboundedSynthetic data, table-type classification, Table Structure to lớn HTML
Tab
Lex
✔️✔️1M+Structure information code, nội dung information code (similar khổng lồ Table2HTML)
Pub
Table
✔️✔️✔️948KStructure recognition, functional analysis, text nội dung & bbox location
...
Các phương thức hiện tại đến Table Recognition
Phần này mình sẽ đánh giá 1 số các phương pháp về TSR cùng TR nổi bật

Deep
De
SRT

*

Sử dụng 1 mạng Object Detection (Fast-RCNN) để dìm diện hàng và cột của table. Phương thức đơn giản. Sau thời điểm đã bao gồm hàng/cột thì thừa nhận diện cell, phụ thuộc tọa độ để tái cấu trúc bảng. Mặc dù nhiên, nhược điểm dễ thấy nhất là không xử trí được dạng bảng có spanning-cells

Table
Net

*

Sử dụng 1 model segment để phát hiện tại cả table và cột trong cùng 1 mạng. Nhược điểm cũng tương tự với phương pháp trên là không cách xử lý được cùng với spanning-cells

Graph
TSR

Là paper bản thân tiếp xúc với thử nghiệm trước tiên khi làm việc TSR này. Bên cạnh phần model, vào paper cũng publish thêm tập tài liệu Sci
TSR cùng với 12k train và 3k test, hầu hết là những scientific table vào paper.

*

Phần modeling có phong cách thiết kế theo dạng đồ gia dụng thị (graph) và quy mô hóa với Graph Neural Network (GNN). Các bạn có thể tham khảo bài xích blog sau của mình để gọi hơn về GNN:

Với GNN, các node trong mạng được trình diễn là những bounding-box của chữ (text), ví như hình thì những chữ như: Method, D1, D2, P, R, F1,... Sẽ ứng với từng node (đỉnh) trong graph. Các cạnh của thiết bị thị đó là các mặt đường nối các đỉnh. Paper mô hình hóa việc TSR dưới dạng 1 bài xích Edge-classification (phân loại cạnh của trang bị thị), tức với các đỉnh và cạnh đã có, ta sẽ xác minh xem những cạnh vừa tạo sẽ thuộc 1 trong những 3 label: 0 / 1 / 2 (0 là không tồn tại liên hệ, 1 ứng với mặt đường xanh lá trên tức tất cả mối tương tác ngang, 2 ứng với con đường đỏ tức bao gồm mối tương tác dọc)

Mối contact ngang (đường xanh lá) tức 2 cell gần cạnh ứng với cạnh chính là thuộc cùng 1 mẫu hoặc span-cell và các cell bé của nó. Ví như cell Method là 1 trong những row-span cell, sẽ có 2 đường nối cho tới 2 cell ở bên cạnh khác là D1 cùng P. Tương tự đối với mối contact dọc (đường đỏ)

Bằng việc xác định các mối tương tác giữa từng cell (0 / 1 / 2) như vậy, ta có thể xác định được các span-cell và tiến hành tái cấu trúc bảng như hình biểu hiện trên. Với một row-span cell Method gồm 2 dòng nhỏ và 2 column-span D1, D2 cùng với 3 cột nhỏ (P, R, F1).

Tuy nhiên, phương pháp này cũng xuất hiện những tinh giảm nhất định, mình đang đề cập kĩ hơn ở chỗ Section lớn bên dưới.

Reference:

Table2HTML

Về phần model, Table-MASTER được dựa trên mã sản phẩm MASTER, là 1 mã sản phẩm OCR (nhận dạng ký kết tự) cần sử dụng transformer. Tuy nhiên, trường hợp chỉ output ra những thẻ HTML string thì chỉ nhận ra được phần cấu tạo của bảng thôi (không tất cả nội dung), không nhận ra được tọa độ những cell thì không tồn tại căn cứ để mapping phần nội dung vào từng cell tương ứng! bởi vì đó, vào phần mã sản phẩm của Table-MASTER được thiết kế thêm 1 nhánh nhỏ dại Transformer-layer nữa bỏ phần Bounding-box Regression, tương tự như các model Object Detection, để xác định tọa độ bounding box của các cell (single-cell hoặc span-cell). Từ đó, tối ưu đồng thời cả hai nhánh output đầu ra của model

*

Model này sử dụng tập dữ liệu Pub
Tab
Net, bao gồm mã HTML chứa thông tin layout của bảng. Sau khoản thời gian đã thực hiện pre-process, vào paper định nghĩa 39 classes như hình dưới. Những rowspan tốt colspan chủ yếu là bộc lộ các những span-row, span-column với số row/column nhỏ tương ứng.

*

Hình mô tả với cổng đầu ra bounding-box regression ứng cùng với từng cell. 1 Cell đựng nhiều dòng, bài toán có thêm branch Bounding-box Regression nhằm kết phù hợp với model text-line detection từ bỏ PSENet, giúp khẳng định 1 cell vẫn chứa những text-line nào. Sau đó, có 1 model Multilines text recognition để nhận dạng chữ. Việc xác định đó thì vào paper khuyến cáo 3 rule-based nhằm mapping là: center-point, Io
U, Distance Rule. Cụ thể về những rule các bạn có thể đọc thêm trong paper

*

1 tool không giống cũng implement theo hướng Table2HTML là Paddle
Structure từ bỏ Paddle
OCR. Mặc dù nhiên, phần model có thiết kế bé dại gọn lại với CNN-Seq2Seq-Attention, hiện tại support thêm các feature khác ví như Layout Analysis, export khổng lồ editable format (Excel).

Reference:

Deep Split-Merge

Đây là paper cùng với phần modeling mình thấy khá độc đáo và chia nhỏ dại từng cách để tái kết cấu mô hình. Về sau, phần model mình desgin cũng xem thêm dựa bên trên paper này và paper Split-Embed-Merge bên dưới. Đây là phương thức được 1 nhóm trong ICDAR2021 áp dụng và giành địa điểm top7 thông thường cuộc. Cùng với Split-Merge, model bao hàm 2 model con là Split cùng Merge. Split-model có công dụng dự đoán toàn bộ các đường phân tách hàng / cột tất cả trong bảng, sinh sản thành những grid (như một số ít phần định nghĩa đối tượng người tiêu dùng bảng tôi đã đề cập ở trong phần Sơ lược bên trên), kế tiếp Merge-model dùng để tham gia đoán xem các grid ngay sát nhau nào bắt buộc được đúng theo thành 1 span-cell lớn. Ví như hình minh họa mặt dưới, 3 grid ngang trên cùng cạnh bên nhau phù hợp thành 1 column-span cell (cell Precipitation 2001-2005), 2 grid dọc trực tiếp nhau hòa hợp thành 1 row-span cell (cell Australia).

*

Với Split-model, hiểu đơn giản và dễ dàng là mã sản phẩm output ra 2 vector với độ nhiều năm lần lượt là W, H, cũng chính là kích thước ảnh crop-table, trong khúc <0, 1>. Lúc đó, mỗi số bên trên vector sẽ bộc lộ khả năng gồm phải là 1 đường phân tách bóc hay không, ví dụ với vector (0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0), thì sẽ sở hữu được 2 vùng phân tách bóc với độ rộng lần lượt là 3 và 2 pixel, chính là số các vùng chỉ chứa số 1 cùng số số 1 của từng vùng. 1 cách modeling việc khá lạ mắt và model thiết kế xong cũng vô cùng gọn nhẹ, không tới 1M params. Lấy ví dụ như minh họa ảnh mask được tạo thành từ ground-truth vector label của Split-model:

*

Về cách thức tạo ground-truth label đến Split-model như hình trên, mình sẽ diễn đạt kĩ hơn ở chỗ Pipeline bên dưới!

Như vậy, sau khi đã khẳng định các vùng phân tách, ta rất có thể nhận biết được những grid trên table (4 mặt hàng x 3 cột = 12 grids cùng với table trên). Cùng với Merge-model để xác minh span-cell thì khá khác 1 chút, model output ra 2 ma trận (1 cho xác định column-span cell, 1 mang lại row-span cell), giá trị trong đoạn <0, 1>, với giá trị 1 biểu thị rằng 2 grid gần nhau rất cần phải merge để chế tạo thành 1 span-cell mới

*

Ví dụ với grid 4x3 (M x N) đang có, ta sẽ có 2 ma trận ground-truth 2 chiều là gt_D đến row-span cell cùng với size: (M - 1) x N = (3 x 3) với gt_R cho column-span cell cùng với size: M x (N - 1) = 4 x 2. Các bạn nhìn 2 ma trận gt cùng với số 1 bộc lộ rằng một phần các mặt đường ngang/dọc màu đỏ cần xóa đi để chế tạo ra thành 1 span-cell, lấy ví dụ như với gt_D đó là phần đường red color cắt ngang qua chữ Australia! Cuối cùng, khi tất cả được những thông tin về tọa độ đúng mực của những grid và khẳng định được những span-cell, ta trả toàn hoàn toàn có thể thực hiện tại tái cấu trúc chính xác thông tin bảng!

Reference:

Split-Embed-Merge

Paper này cũng mới được publish sát đây, đạt top 3 ICDAR2021 Competition, top 1 leaderboard cùng với dạng bảng phức tạp (complex), liên quan không hề ít đến paper Deep Split-Merge mặt trên. Cũng với biện pháp tiếp cận chia để trị, paper chia model thành 3 model nhỏ dại hơn, theo lần lượt là Split, Embed, Merge

*

Split-model thì với tác dụng tương từ bỏ như mặt trên, dùng để làm xác định các vùng phân tách hàng / cột. Mặc dù nhiên, thay vày tiếp cận theo hướng output 2 vector, paper tiếp cận theo hướng segmentation, output là 2 ảnh mask tương xứng cho hàng cùng cột phân tách.

*

Embed-model với grid đã xác định từ Split-model, áp dụng Roi-Align nhằm extract feature từng vùng grid của ảnh, điện thoại tư vấn là Vision Module. Đồng thời, Embed thực hiện thêm Text-Module với BERT có tác dụng feature extraction nhằm trích rút thêm text feature. Sau đó, 2 phần module được kết hợp với nhau để triển khai input cho mã sản phẩm thứ 3 là Merge, với đưa định rằng bài toán dùng cả vision-feature cùng text-feature sẽ giúp model đạt độ chính xác cao hơn khi tái cấu tạo bảng. Với thực nghiệm trong paper cũng cho thấy thêm điều đó!

Merge-model với ý tưởng cũng giống như như Deep-Split-Merge. Tuy nhiên, phần modeling, paper sử dụng 1 GRU model với Attention, tại từng timestep tất cả output là một trong những merged-map Mx
N dimension (Mx
N là kích thước grid tự Split-model), biểu hiện rằng tại timestep này, những grid nào rất cần được merge với nhau, thể hiện là 1, trái lại là 0. Tự đó, triển khai tái cấu trúc bảng tương tự như Deep-Split-Merge.

*

Reference:

LGPMA

1 cách thức từ Hik
Vision, 1 cty chuyên về camera AI, Io
T cùng là cách thức đạt top1 leaderboard của ICDAR 2021 - Table Recognition. Bên cạnh ra, team Hik
Vion cũng giành luôn top 1 tại task A về Document Layout Analysis. Phần reviews cho TSR của ICDAR2021 thì dùng metric là TEDs, vì đánh ngân sách chi tiêu phần cấu trúc và dìm diện nội dung bên phía trong bảng

*

Top1-Davar-Lab-OCR là team từ bỏ Hik
Vision, Top2-VCGroup là nhóm sử dụng cách thức Table
MASTER (Table2HTML), Top3-XM sử dụng mã sản phẩm Split-Embed-Merge, đạt top1 trên dạng bảng complex. Top7-Paoding
AI là nhóm sử dụng cách thức đời đầu Deep-Split-Merge.

*

Phương pháp được xây dựng dựa vào Mask-RCNN, 1 model instance-segmentation, với đầu ra bao gồm cả bounding-box và mask segment. Model bao hàm 4 module chính: Aligned Bounding-box Detection, LPMA (local pyramid mask alignment), GPMA (global pyramid mask alignment) cùng Aligned Bounding-box Refinement.

Align Bounding-box Detection sử dụng các feature trích rút từ Roi-Align, gồm 2 nhánh đầu ra output là bbox-classification với bbox-regression, tựa như như trong model của Mask-RCNN, dùng để làm nhận biết những non-empty cells. Mặc dù nhiên, phần dấn diện cell này cũng không dễ để xác minh các cell, bởi dễ bị nhầm lẫn với những cell trống (empty-cells) khác. Vị đó, paper lời khuyên các module sau nhằm alignment và refinement các proposed-cell đó.

LPMA bao gồm 2 nhánh con, 1 đến binary segmentation dùng làm nhận biết những text region (vùng chứa chữ), 1 nhánh khác đến pyramid mask regression task để dìm diện 2 pyramid-mask của từng vùng text. Phần mask regression này thì trong paper có xem thêm từ 1 model text-detect là pyramid mask text detector, với việc dùng những soft-label segmentation, như bài toán tạo 2 mask với gradient giảm dần trường đoản cú vùng trung trung ương của text, xác định cho tất cả vertical mask và horizontal mask. Hình minh họa bên dưới:

*

GPMA cũng là một trong module segmentation, cùng với 2 module nhỏ tuổi hơn là Global segmentation cùng Global pyramid mask regression. Phần Global segmentation thì dễ dàng là 1 binary segmentation module để nhận thấy aligned-cells, bao hàm cả non-empty cells với empty-cells (khác với phần Align Bounding-box detection chỉ nhận diện non-empty cells). Phần Global pyramid mask regression dùng để nhận diện tất cả các non-empty cells trên chỉ cách 2 đầu ra là horizontal pyramid mask cùng vertical pyramid mask, cũng triển khai tạo soft-label segmentation như LPMA bên trên.

Phần loss function của LGPMA hơi "cồng kềnh", bao gồm nhiều thành phần:

*

Các loss RPN, CLS, BOX, MASK thì giống như như model Mask-RCNN thông thường. LPMA-loss với GPMA-loss là pyramid label regression loss, buổi tối ưu với pixel-wise L1 loss. SEG-loss là loss mang đến global binary segment của GPMA, thực hiện Dice-loss. Các hệ số lambda_1, lambda_2, lambda là các trọng số, trong phần thực nghiệm đầy đủ set = 1.

Module cuối là Aligned Bounding-box Refinement dùng làm tinh chỉnh lại phần dấn diện cell, bằng phương pháp voting các vùng segment được tạo ra bởi các local-mask cùng global-mask của các module trước đó. Sau đó, phần post-process cũng bao gồm 3 module bé là: Cell matching dùng làm nhận biết các cell cùng hàng, cùng cột; Empty Cell Search dùng để xác định các empty-cells cùng Empty Cell Merging dùng để làm merge những empty-cell ngay gần nhau.

*

1 hình ảnh kết trái với việc cho biết thêm tác dụng của module refinement khi điều khiển lại bbox location của từng cell cho chính xác!

Có thể thấy mô hình này có thiết kế khá phức hợp và với nhiều module bé bên trong, trích rút cả local và global feature rồi từ kia voting để refinement lại cấu trúc của bảng.

Reference:

TGRNet

1 cách thức khác cũng modeling TSR dưới dạng Graph Neural Network. Cạnh bên đó, paper cũng publish 1 tập dữ liệu kha khá lớn, theo format train của TGRNet, call là Table
Graph350K:

*

Paper quy mô hóa việc với 2 module chính: Cell spatial location với Cell logical location prediction. Phần module Cell spatical location có chức năng xác xác định trí các cell của table, hay cell bounding-box. Cùng với backbone Resnet50-FPN, phối hợp cùng với 1 module Split-aggregation Module ngay sau để segment 3 đối tượng người sử dụng chính: background, cell với boundary (vùng phân chia). Sau đó, để giám sát và đo lường vị trí những cell, paper dựa trên những vùng connected-component sẽ segment được để xác định các bounding-box của từng cell.

Reference:

Table-Transformer

Về phần quy mô của Pub
Table áp dụng 1 mã sản phẩm object detection theo hình thức query-based là DETR nhằm xác định vị trí các đối tượng. Trong paper, người sáng tác dùng tập data này cho 3 task: Table Detection, Table Structure Recognition cùng Table Functional Analysis, hình ảnh mô tả như mặt dưới:

Table Detection là bài toán phát hiện tại bảng, vào paper thì tiếp cận theo hướng nhận thấy và xác minh 2 class: bảng thẳng cùng bảng bị xoay. Table Structure Recognition là vấn đề tái kết cấu lại bảng, được định nghĩa bằng việc xác định các: dòng, cột cùng span-cell (ảnh giữa); tự đó có thể tái cấu trúc lại bảng chính xác dựa bên trên việc xác minh phần giao nhau giữa những bbox của từng class. Table Functional Analysis là việc khẳng định phần Column Header (có thể đọc là tiêu đề của bảng) với projected-row-header cell (là những cell được kéo dài, như đề mục chia tách từng phần của bảng vậy). Có để ý rằng, ground-truth bounding-box của từng đối tượng người dùng trong dataset này là dilated-bounding-box, tức những bbox phần đa được mở rộng đến điểm chính giữa của vùng phân bóc tách giữa những cell, không có vùng white hay khoảng cách giữa chúng.

Trong paper gây ra 2 model: 1 mã sản phẩm Table Detection với 2 class (bảng thẳng, bảng bị chuyển phiên ngược chiều kim đồng hồ), 1 mã sản phẩm Detection khác gộp cả hai task TSR với TFA. Phần data của Pub
Table thì không hẳn là dạng bảng đã crop như Pub
Tab
Net, vào phần mã sản phẩm thứ 2 cũng có mang thêm class là table, tức bài toán phát hiện ra cùng lúc 6 đối tượng, bao gồm: Table, Table Row, Table Column, Table Spanning Cells, Table Column Header, Projected Row Header Cell. Rồi sau đó, thực hiện công việc xử lý post-process quan trọng để thu được phần cấu tạo bảng tương ứng. Các bạn cũng có thể crop lại hình ảnh cho sát dựa trên class table, rồi tựa như train model TSR cùng với 5 class còn lại.

Tại repo chủ yếu của paper bắt đầu chỉ cung ứng file weight (20 epochs) mang lại Table Detection model. Dưới đây là phần metric evaluation cùng với m
AP mang đến 2 task, không hề nhỏ và quá trội hoàn toàn so cùng với baseline là Faster-RCNN!

*

Reference:Các nhược điểm, tinh giảm của các phương thức hiện tại

Bên trên thì tôi cũng đã giới thiệu tương đối các các phương thức về Table Structure Recognition. Mình đã và đang thử nghiệm 1 vài cách thức trong số đó như: Graph
TSR, Split-Merge, Table2HTML, LGPMA, Table-Transformer và nhận thấy 1 vài yếu điểm và tiêu giảm như sau:

Đầu tiên là về dữ liệu. Format dữ liệu của một số phương pháp không hề dễ dàng tạo, ví như dạng convert table quý phái HTML với phương pháp Table
MASTER, việc tối ưu mã sản phẩm cho ánh xạ (n-1) đã khó khăn (vì nhiều bảng hoàn toàn có thể có tầm thường 1 format HTML) thì việc tạo thêm dữ liệu để finetune hoặc cách để tạo semi-label cũng rất là khó cùng không khả thi.Cách modeling bài toán quá đơn giản, chỉ giải quyết được với những dạng bảng 1-1 giản, không có span-cell như 2 phương thức Deep
De
SRT với Table
Net
Cách modeling câu hỏi còn hạn chế, khó sẵn sàng dữ liệu và những giả định về tài liệu đầu vào là không thực tế như với phương pháp tiếp cận của Graph
TSR.Model nặng trĩu cồng kềnh, inference time thọ như với phương thức Table
MASTER mình gồm thử nghiệm thì với bí quyết decoding là autogressive transformer khiến inference time hết sức chậm. Vớ nhiên, gồm thể tùy chỉnh cấu hình lại model cho 1-1 giản, lấy một ví dụ như model của Paddle
Structure (chỉ dùng CNN-Seq2Seq-Attention), mặc dù vẫn chạm mặt hạn chế khủng về phần dữ liệu, xử trí post-processing và năng lực mở rộng để cải tiến sau này!Khó có 1 mô hình nào hoàn toàn có thể xử lý xuất sắc với nhiều một số loại bảng nhiều chủng loại (fullborder, borderless,...) . Những paper hay thử nghiệm bên trên tập 500K Pub
Tab
Net, có khoảng gần 1 nửa table là bao gồm span-cell, phần nhiều table là dạng borderless nên lúc predict trên hình ảnh fullborder-table thông thường trong thực tế lại kém đúng đắn hơn.Khó tổng quan liêu khi test trên những bộ data thực tế. Ví dụ, trước mình gồm đi crawl những file PDF trên những trang web nước ta và thu được một bộ tài liệu bảng scan của Việt Nam, đa phần là fullborder-table. Mặc dù khi vận dụng thử các phương thức top1 (LGPMA), top2(Table2HTML, Table
MASTER) leaderboard trên cỗ test Pub
Tab
Net, tại ICDAR2021 Table Recognition, xuất xắc các phương pháp khác như Table-Transformer, Split-Merge,... Thì các phương thức đều dự đoán sai hết sức nhiều, tổng quan kém trên dữ liệu thực tế. Giỏi khi mình chạy thử trên những dữ liệu bảng borderless-table thực tiễn khác như bảng report tài chính, bảng điểm,... Thì cũng dìm diện không nên / thiếu hụt cell nhiều.

Xem thêm: Top 5 Xu Hướng Công Nghệ Lập Trình Hot Nhất 2021, Lập Trình Viên Công Nghệ Thông Tin Là Gì

Từ đó, bản thân mới xây cất pipeline hiện tại gồm nhiều mã sản phẩm để nỗ lực vẫn gia hạn được độ chính xác và đạt độ tổng quan tốt trên dữ liệu thực tế. Phần pipeline như sau:

*

Về từng phần mô hình sẽ được mình nói kĩ hơn bên dưới
Giới thiệu pipeline cho bài toán Table Recognition

Các phần mã sản phẩm và phương pháp được thực hiện:

Table Detection
Image Alignment
Table-Type image classification
Table Line segmentation
Table Row / Column space segmentation
Table Row / Column span segmentation
Text Detection
Text Recognition
Table Reconstruction
Export khổng lồ editable format (Docx, Excel)

Table Detection

Phần mã sản phẩm này cũng khá dễ dàng thực hiện, vì các bộ dataset về Table Detection khá nhiều, có thể kể tới một số bộ dữ liệu như:Dataset
Samples
Number of classes
Formathave TSR format
Note
Table
Bank
417K1ImageYesTSR theo phía image-based
Fin
Tab
Net
113K1ImageYesTSR theo phía image-based
Pub
Lay
Net
113K5Image, PDFNoFigure (image), table, text, title, list
Pub
Table
~1M6ImageNoTable, Spanning-cells, Table-Row, Table-Column, Projected-Row-Header, Column Header
IIIT-AR-13K13K5ImageNoFigure, table, image, logo, signature
TNCR9.5K1ImageNo
...

Về việc chọn dataset cho bài toán Table Detection, ưu tiên chọn các tập dataset với lượng sample lớn, nhiều chủng loại với nhiều nhiều loại bảng. Bên cạnh đó, việc annotate thêm data cho mã sản phẩm này cũng không khó, theo format của câu hỏi Object Detection và tùy một số