Graph Convolutional Networks là gì

Home Tin Tức convolutional neural network là gì

Convolutional Neural Network là gì

Convolutional Neural Network [CNNs – Mạng nơ-ron tích chập] là 1 trong trong số những mô hình Deep Learning tiên tiến và phát triển. Nó giúp cho chúng ta xuất bản được gần như khối hệ thống lý tưởng cùng với độ đúng mực cao nhỏng hiện nay.

Bạn đang xem: Convolutional neural network là gì

Nhỏng hệ thống xử lý ảnh phệ như Facebook, Google giỏi Amazon đã đưa vào sản phẩm của chính mình hầu như tác dụng lý tưởng như dấn diện khuôn mặt người dùng, phát triển xe pháo tương đối trường đoản cú lái giỏi drone ship hàng tự động.

CNN được thực hiện các trong số bài xích toán thù nhấn dạng những object trong hình ảnh. Để khám phá tại vì sao thuật toán thù này được thực hiện thoáng rộng mang lại vấn đề nhận dạng [detection], họ hãy thuộc tìm hiểu về thuật toán thù này.

Xem thêm: Tinh Trùng Có Màu Gì Là Tốt, Tinh Trùng Màu Gì Là Bình Thường

Convolutional là gì?

Là một hành lang cửa số tđuổi [Sliding Windows] trên một ma trận như diễn đạt hình dưới:


2 lớp sau cuối của những kết nối vào mạng là 1 lớp vừa đủ liên kết [fully connected layer] . Lớp này nối rất nhiều nơron tự lớp max pooled cho tới hầu hết nơron của tầng ra.

Cách lựa chọn tmê mệt số đến CNN

Số các convolution layer: càng các những convolution layer thì performance càng được cải thiện. Sau khoảng chừng 3 hoặc 4 layer, những ảnh hưởng được bớt một phương pháp đáng kểFilter size: thường filter theo size 5×5 hoặc 3×3Pooling size: thường xuyên là 2×2 hoặc 4×4 cho ảnh đầu vào lớnCách sau cuối là thực hiện những lần bài toán train thử nghiệm để lựa chọn ra được param tốt nhất.

Tsi mê Khảo:

PREVIOUS

Convolutional neural networks là gì

NEXT

Convert to dynamic disk là gì

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

Website

Save my name, email, and website in this browser for the next time I comment.

The Mobile capture receipts Optical Character Recognition [MC-OCR] là cuộc thi về ảnh receipt [hóa đơn] có 2 task và team mình đã tham gia task thứ 2 là trích xuất các thông tin cơ bản bao gồm SELLER, SELLER_ADDRESS, TIMESTAMP, TOTAL_COST [bên bán, địa điểm, thời gian và tổng thanh toán] từ ánh các hóa đơn đã được thu thập từ trước bằng điện thoại.

Tiền xử lý [preprocessing]

Các ảnh hóa đơn do BTC cung cấp có phần background [ngoại cảnh] không nhỏ [thậm chí hơn 50%], bị nghiêng và bị quay theo rất nhiều hướng khác nhau. Do đó để bước nhận dạng text chính xác nhất cần loại bỏ ngoại cảnh và xoay phần ảnh hóa đơn còn lại về đúng hướng của nó.

Segmentation và rotation

Để segment reciept ra khỏi background bọn mình xài 1 mạng có tên là Basnet [ Boundary-aware salient object detection] . Đây là một mạng salient object detection – hiểu đơn giản nó chỉ quan tâm foreground/object và background mà không cần biết là object đó thuộc class nào [ phiên bản nâng cấp hơn Basnet của cùng tác giả là U2mathbf{U}^2U2]. Mình sử dụng luôn pretrained model của tác giả xài luôn và không tiến hành bước fine-tune nào.

Hình 1 : Kết quả từ model segmentation

Sau khi segment bọn mình tính góc nghiêng giữa trục trên-dưới cúa receipt và trục đứng của ảnh sau đó xoay phần receipt theo đúng hướng của nó.

Image orientation [ xác định hướng của receipt]

Bọn mình xài một mạng self-supervised để xác định hướng của receipt với ý tưởng như trong paper Unsupervised Representation Learning by Predicting Image Rotations của tác giả Spyros Gidaris . Mỗi receipt có thể ở 1 trong 4 hướng bị xoay khác nhau là 0, 90, 180, 270 độ như hình minh họa ở dưới.

Hình 2 : Self-supervised cho bài toán rotation image

Bọn mình sử dụng back-bone là ResNet với kết quả trên tập test là gần 96%.
[Cái này làm sau cuộc thi để tăng time inference, còn trong cuộc thi bọn mình sử dụng OCR cho tất cả các hướng và tính số từ nhiều nhất để xác định hướng]

Text detection và recognition

Cũng giống như các team khác team mình xài CRAFT cho text detection và VietOCR cho text recognition. Đã có rất nhiều bài viết về cái này mình sẽ không đi sâu vào nó nữa

Graph convolution network

Để giải quyết bài toán key information extraction [trích xuất thông tin cơ bản] có rất nhiều hướng tiếp cận như text classification hay template matching nhưng mình thấy hướng tiếp cận Graph là hay nhất. Mỗi receipt được mô hình hóa dưới dạng graph G[V,E]G[V, E]G[V,E] trong đó VVV [vertices/nodes] là tập các đỉnh tương ứng với bounding box mỗi vùng có text [textbox/text bounding box] và EEE là tập các cạnh biểu diễn cho mối quan hệ giữa các đỉnh. Bài toán này thuộc lớp Node classification có rất nhiều ý tưởng được đề xuất ra như PICK [processing keyinformation extraction from documents using improved graph learning-convolutional networks ] kết hợp giữa vision feature và text feature , điểm mình không thích ở bài này là sự kết hợp quá cứng nhắc của 2 feature này. Team mình thích các tiếp cận dựa trên text feature và vị trí box hơn nên sử dụng paper Residual Gated Graph Convnets của tác giả Xavier Bresson, một nhân vật rất nổi tiếng với nhiều paper về graph. Xavier Bresson cũng tạo ra một Benchmarking Graph Neural Networks với rất nhiều model được viết trên thư viện DGL .

Hình 3 : Graph architecture cho bài toán node classification

Định nghĩa về node feature và edge feature.

1. Node features

Node featue được tổng hợp từ tọa độ textbox và text do model của OCR nhận diện ra. Mỗi textbox là một vector L=[xi, yi∣ i∈[1,4]]L=[x_i,~y_i|~i in [1,4]]L=[xi, yi i[1,4]] trong đó [xi, yix_i,~y_ixi, yi tọa độ góc của textbox]. Text từ OCR sẽ được embedding và vào đưa vào một mạng LSTM. Sau đó thông tin về tọa độ textbox và text được kết hợp bằng cách cộng theo từng phần tử [element-wise] với nhau tạo thành node feature. Mình sử dụng embedding theo character mà không dùng những pretrained model như word2vec hay bert vì các lí do sau: a] hóa đơn có cả tiếng Việt lẫn tiếng Anh lẫn số, b] nhiều từ tiếng Việt bị nhận diện sai dấu/thanh và cuối cùng là c] không có nhiều thông tin về ngữ cảnh.

2. Edge features

Edge [cạnh] biểu diễn sự liên kết giữa mỗi cặp node trong graph.
Trước tiên chúng ta định nghĩa liên kết giữa hai nodes bất kì. Giả định rằng text trong reciept được sắp xếp theo thứ tự trái-phải trên-dưới, hai nodes được gọi là có liên kết nếu:

d[v, vj]=abs[vy−vj,y]

Chủ Đề