Cấu trúc mạng

Một phần của tài liệu Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu. (Trang 27)

CHƯƠNG 3 MÔ HÌNH MẠNG PIXELLINK CHO PHÁT HIỆN VĂN BẢN

3.1 Cấu trúc mạng

Để trích xuất đặc trưng của một bức ảnh thì ngồi các phương pháp học máy truyền thống như SIFT, SURF…, thì sự phát triển của học sâu ứng dụng của CNN để trích xuất đặc trưng cho thấy mang lại hiệu quả rõ rệt.

Trong bài báo gốc của Pixellink họ đề xuất sử dụng mạng VGG16 để trích xuất đặc trưng, nhưng ở tầng kết nối đầy đủ thứ sáu, và tầng kết nối đầy đủ thứ bảy, được chuyển sang tầng Convolutation. Hàm số Softmax được sử dụng cho cả hai nhánh đó là dự đốn text/non-text và điểm số liên kết (Link Score)

Feature maps ở mỗi tầng CNN khác nhau sẽ được áp dụng cho quá trình upsample của ảnh sau khi đi qua các tầng CNN. Tất cả các tầng pooling trừ tầng thứ 5 có bước nhảy là 2, cịn tầng pooling thứ 5 có bước nhảy là 1 conv1 x 1,2(16) là tầng convoluation với kernels là 2 cho dự đốn text/non-text, 16 cho q trình dự đốn liên kết với 8 hàng xóm xung quanh.

Q trình upsample người ta dùng bilinear interpolation để nội suy các điểm khác, sau đây tơi xin trình bày khái quát về bilinear interpolation

Giả sử rằng chúng ta muốn tìm giá trị tại một điểm có tọa độ (x,y) nhưng khơng biết hàm số của nó, mà chỉ biết được giá trị của bốn điểm thuộc hàm số đó, chúng ta sẽ nội suy theo một phương sau đó nội suy theo phương cịn lại.

Giả sử đã biết trước giá trị tại 4 điểm:

�11 = (�1, 1), 12 = (�1, 2), 21 = (�2, 1), 22 = (�2, 2) PT. 4.0

Đầu tiên nội suy tuyến tính theo hướng x suy ra

�(�, �1 �(�, � ) ≈ �2 − � �2 − �1 ) ≈ �2 − � �(�1 1 �(� ) + � − �1 �2 − �1 ) + � − �1 �(�2 1 �(� ), PT. 4.1 ). PT4.2 2 �2 − �1 12 �2 − �1 22

Sau đó nội suy theo hướng y

�(, � ) ≈ �2 − � �2 − 1 �(�, �1 ) + � � − 1 �2 − �1 ·�(�, �2 ) ��. 4.3 �2 − � �2 − �1 �2 − � ( �2 − �1 �(�1 1 ) + � − �1 �2 − �1 �(�2 1 )) + � − �1 �2 − �1 �2 − � ( �2 − �1 ·�(�1 2 ) + � − �1 �2 − �1 �(�22)) 1 [� − − ] [ �(�11)�(�12) ] [�2 − �] ��. 4.5 (�2 − 1)(�2 − 1) 2

1 �(�21)�(�22) − � 1

Như vậy có thể nội suy từ 4 điểm cho trước

Hình 3.0.2 Quá trình của Pixellink3.2 Kết nối các điểm ảnh 3.2 Kết nối các điểm ảnh

Dự đoán phân loại mỗi lớp cho mỗi điểm ảnh và dự đoán liên kết giữa các điểm ảnh, hai ngưỡng riêng biệt này có thể được áp dụng tách rời nhau. Những điểm ảnh được dự đốn là văn bản, sau đó chúng được nhóm lại thành từng nhóm với nhau bằng cách sử dụng liên kết. Mỗi nhóm như vậy là một thể hiện của văn bản, từ đó áp dụng lên toàn bộ điểm ảnh khác, sẽ thu được phân khúc (Segmentation).

Trích xuất hộp giới hạn (Bounding Boxes)

Sau khi phân khúc được văn bản, văn bản được chia thành các nhóm khác nhau dựa vào ngưỡng liên kết, bước trích xuất hộp giới hạn gần như dễ xác định, có thể dùng minAreaRect trong thư viện openCV. Đây cũng là sự khác biệt chính giữa Pixellink và những phương pháp khác sử dụng hồi quy hộp giới hạn. Ở đây hội giới hạn được suy ra trực tiếp phân khúc (Segmentation)

Sử dụng bộ lọc sau khi phân khúc (Segmentation)

Do đầu vào gồm nhiều nhiễu nên dự đốn nhầm là khơng thể tránh khỏi, mà hộp giới hạn được xác định thông qua điểm số liên kết giữa các điểm ảnh, nên cần phải bỏ đi những dữ thừa, cách đơn giản có thể bỏ là dựa vào độ cao, chiều dài, hoặc diện tích của hộp giới hạn.

3.3 Tối ưu

3.3.1 Tính tốn vùng chính xác

cực, nếu tồn tại giao nhau giữa các vùng chính xác khác sẽ xem như là những điểm ảnh

được gán nhãn tiêu cực. Một điểm ảnh và một trong tám điểm kề nó, nếu chung cùng trong một hộp thì giá trị liên kết giữa chúng mang giá trị dương.

3.3.2 Hàm mất mát

Trong mỗi bài toán học sâu, định nghĩa hàm mất mát là một vấn đề rất quan trọng, nó ảnh hưởng đến kết quả của mơ hình rất nhiều, sau đây tơi xin trình bày tóm tắt về hàm mất mát của mơ hình Pixellink.

Mất mát trong quá trình đào tạo là tổng của mất mát trên điểm ảnh và mất mát trên liên kết.

= ��

pixel + �link PT4.6

Trong đó, �link chỉ tính tốn trên điểm ảnh mang giá trị tích cực, vì nhiệm vụ phân loại đóng vai trị quan trọng hơn so với liên kết giữa các điểm ảnh, thực tế thì � được chọn là 2.0

3.3.2.1 Mất mát trên điểm ảnh

Kích thước hộp có kích thước khác nhau, ở ví dụ dưới đây khu vực của “Manchester” lớn hơn tổng tổng tất cả nhưng hộp khác

Hình 3.0.3 Các hộp với diện tích khác nhau

Nếu tính tốn chi phí trên điểm ảnh mà gán tất các điểm ảnh cùng một trọng số, thì điều này khơng công bằng với các hộp nhỏ và sẽ ảnh hưởng đến hiệu suất của mơ

hình. Như vậy, để giải quyết vấn đề này thì việc gán trọng số cho mỗi điểm ảnh được áp dụng như một bài toán phân tách, đề xuất sử dụng Instance- Balanced

Cross- Entropy Loss. Sau đây tôi sẽ đi vào chi tiết của đề xuất này:

Giả sử rằng trong một bức ảnh có hộp, thì tất cả các giá trị điểm ảnh bên trong mỗi hộp được gán bằng nhau, đối với hộp thứ i có diện tích là Si thì tất cả các điểm ảnh trong hộp thứ được gán là �� = � trong đó: �� = , � = ∑ �� , �{1, … , �} PT 4.7

Dễ nhận thấy rằng những điểm ảnh nằm trong các hộp có diện tích nhỏ thì được gán với trọng số cao hơn.

Còn giá trị mỗi điểm ảnh không nằm trong hộp áp dụng Online Hard Example Mining (OHEM) [7], để đi vào chi tiết OHEM [7], r * S điểm ảnh không nằm trong hộp được chọn, bằng cách gán tất cả giá trị điểm ảnh không nằm trong hộp bằng một. Và tỉ lệ diện tích của phần ngồi hộp so với phần hộp được gán bằng

r = 3 như là một con số chung cho thực tế. Từ những giả thiết trên chúng ta sẽ thu

được một ma trận trọng số kí hiệu là W . Vậy mất mát của nhiệm vụ phân loại các điểm ảnh được định nghĩa:

1

�� �� � =

(1 + �)� �� ������� ��4.8

Trong đó �_______________ là ma trận Cross-Entropy đựa trên dự đoán text/non-text 3.3.2.2 Mất mát trên các liên kết

Phần trên đã trình bày về mất mát trên điểm ảnh, hay là mất mát do quá trình phân loại mỗi điểm ảnh. Sau đây tơi sẽ trình bày về thành phần mất mát thứ hai của Pixellink [5] đó là mất mát trên các liên kết, để phân tách được tầng nhóm điểm ảnh với nhau, cần dựa vào tính liên kết giưa các điểm ảnh đó, tương tự Pixellink cũng vậy, dựa vào liên kết giữa các hàng xóm và đưa ra quyết định nhóm các điểm ảnh

Mất mát liên kết được tách thành hai thành phần, mất mát liên kết của các điểm ảnh nằm trong hộp và các điểm ảnh nằm ngoài các hộp, được định nghĩa như sau:

�������� = � �������������� PT4.9

�������� = �������������PT4.10

Trong đó, ������� là ma trận Cross-Entropy của dự đoán liên kết, và

� ������� , �������� tương ứng là ma trận trọng số liên kết giưa các điểm ảnh trong hộp và điểm ảnh ngồi hộp, ma trận này được tính tốn từ W . Chi tiết hơn, đối với hàng xóm thứ k của điểm ảnh (i,j ) được tính như sau:

���� ���� ( , , � ) = (,(,(,(,(,(,(,(,(,(,(,(,(,(,(,) ∗ (�����(, , � ) = 1), PT 4.11 ��������(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ) = �(,,,,,,,,,,,,,,,) ∗ ((((((((((((((( ����(i,j,k) = 0)

PT.4.12 Trong đó ����� là ma trận nhãn của liên kết

Vậy mất mát của liên kết được tính như sau

�����

= ((((((((((((((( ��������

������ + ��������

����

P 4.13

Và là tổng trung bình của tất cả các điểm trên ma trận 3.4 Chuẩn bị dữ liệu và đào tạo

3.4.1 Chuẩn bị dữ liệu

Chuẩn bị dữ liệu là bước cực kì quan trọng, nó quyết đinh rất lớn đến kết qủa thu được, dữ liệu càng đa dạng và tổng qt thì mơ hình có tính tổng qt hóa cao, sẽ dự đốn tốt cho những dữ liệu tương lai. Một phần vì thời gian, cũng như dữ liệu thật là có hạn, nên q trình gán nhãn dữ liệu mất rất nhiều thời gian cũng như là bị hạn chế của dữ liệu thật, bên cạnh đó có nhưng bước tiền xử lý, áp dụng xử lý ảnh để bỏ nhiễu cũng như làm giàu dữ liệu, bằng cách xoay ảnh với các góc khác

nhau như 0, � 2 , �, 3 � 2

trích tầng vùng trên bức ảnh với các vùng có diện tích tỉ lệ từ 0.1 đến 1.

Dữ liệu để train với Pixellink được chia thành hai phần đó là dữ liệu tự gán nhãn và dữ liệu được sinh ra.

3.4.2 Dữ liệu thật:

Từ các ảnh, sử dụng công cụ là phần mềm LabelImg để xác định hộp cho các chuỗi, phần mềm này ứng với mỗi ảnh sẽ sinh ra một tệp có định dạng *.xml tương ứng, từ tệp *.xml mình chuyển về định dạng mong muốn đầu vào của mạng và lưu dưới tệp định dạng .txt

Chú ý: Nếu quá trình xác định hộp cho dữ liệu thật mà nội dung của hộp đó khơng thể xác định bằng mắt thường thì được xem là nhiễu, khi đó nội dung đó được gán nhãn là ###, để q trình đào tạo ở mạng lúc tính tốn mất mát sẽ xem nhưng hộp đó có chi phí bằng 0, sẽ khơng ảnh hưởng đến quá trình cập nhật trên các bộ tham số của mơ hình. Dưới đây là hình ảnh minh họa của quá trình xác định hộp cũng như gán nhãn cho hộp

Mỗi tệp tin có định dạng *.txt có cấu trúc như sau:

Giải thích nội dung tệp *.txt

Mỗi hàng ứng với mỗi hộp tương ứng trên hình đã được đánh nhãn hộp, tám phần tử đầu tiên từ trái sang phải lần lượt là tọa độ của các hộp tương ứng, phần tử sau cùng là nội dung của hộp đó chứa. Việc dánh nhãn nội dung ứng với tầng hộp sẽ có thể tái sử dụng cho quá trình đào tạo mạng nhận dạng.

3.4.3 Dữ liệu được sinh ra

Bởi vì sự hạn chế của dữ liệu thật, cũng như là thời gian đánh hộp dữ liệu, qua tìm hiểu thì để sinh dữ liệu có nhưng mạng nỗi tiếng như GAN, nhưng do một số hạn chế nên sử dụng các kỹ thuật trong xử lý ảnh để tạo ra dữ liệu, nó được thực hiện một cách tự động từ việc sinh nội dung và gán nhãn nội dung cho tầng hộp. Sau đây tơi trình bày tầng bước trong q trình sinh dữ liệu của mình

Cần có các phơng chữ hỗ trợ ngơn ngư mình muốn nhận dạng và phát hiện, cụ thể nếu ngơn ngư là tiếng Việt thì sử dụng các phơng hỗ trợ tiếng Việt, và các nền mình muốn sinh dữ liệu lên đó, và một bộ từ điển

Và dữ liệu thật sẽ không bao giờ là sạch, chúng sẽ chứa nhiễu, cũng như tác động bởi mơi trường bên ngồi như ánh sáng, chất lượng hình ảnh đầu vào khác nhau.

Bước 2: Áp dụng các kỹ thuật xử lý ảnh để tạo các hiệu ứng, mô phỏng các hiệu ứng

giống với dữ liệu thật.

Bước 3: Xác định vùng hộp cho các chuỗi được sinh ra và lưu dưới định dạng là tệp

.txt. Tệp này có cấu trúc nội dung giống như cấu trúc tệp .txt của dữ liệu thật. Dưới đây là mẫu của dữ liệu sinh gồm ảnh và nội dung tệp .txt tương ứng.

Hình 3.0.5 Dữ liệu sinh ra

Hình 3.0.6 Nhãn của dữ liệu sinh3.4.4 Tiền xử lý dữ liệu: 3.4.4 Tiền xử lý dữ liệu:

Do Pixellink dựa vào phân loại các điểm ảnh và sau đó phân tách tầng nhóm điểm ảnh theo các nhóm khác nhau dựa vào điểm liên kết. Nhưng thực tế dữ liệu

thường chứa nhiễu nên chúng ta cần tiền xử lý trước khi đưa vào mạng để đào tạo, một số cách được áp dụng cho tiền xử lý như sau

• Sử dụng bộ lọc Gaussian, bộ lọc median để bỏ nhiễu

• Loại nhưng hộp có diện tích bé 3.4.5 Q trình đào tạo

• Dữ liệu thật 500 mẫu, dữ liệu sinh 1000 mẫu và đào tạo trong 72h 3.4.6 Tối ưu:

• Sử dụng SGD với momentum là: 0.9 và weight decay là 0.0005

• Tốc độ học được gán bằng 0.001 cho 100 vòng lặp đầu, sau đó được gán bằng 0.01

Dưới đây cấu hình máy cho q trình đào tạo:

• Máy tính xách tay/Laptop Geforce GTX 1060, core i5, bộ nhớ RAM 8,0 GB

Hình 3.0.8 hàm mất mát liên kết 3.4.7 Kết quả đạt được:

Hình 3.0.9 Hình kết quả của mơ hình Pixellink3.4.8 Hạn chế của mơ hình 3.4.8 Hạn chế của mơ hình

Bên cạnh nhưng nét tích cực của mơ hình thì Pixellink có nhưng điểm yếu nhất định, sau đây tôi xin nêu ra nhưng điểm yếu của mơ hình mà trong thực nghiệm tơi nhận thấy được

• Ảnh đầu vào có kích thước bé nhưng để phù hợp với kích đầu vào của mạng, cần biến đổi kích thước về chuẩn. Như vậy ảnh sẽ dễ bị vỡ và kết quả không tốt.

3.5 Kết luận chương

Trong chương 3 luận văn đề cập đến thuật toán Pixellink đây là một thuật toán sử dụng học sâu, thuật toán để xác định và phát hiện văn bản. Thuật tóa Pixellink thực hiện gán nhãn ở mức độ cụm sử dụng hai cơ chế đó lf phân loại các điểm ảnh và tính số điểm ảnh liên kết giũa các điểm ảnh kề nó.

CHƯƠNG 4. GIỚI THIỆU VỀ CONVOLUTION RECURRENT NEURAL NETWORK

4.1Giới thiệu bài toán và lợi thế của CRNN

Nếu muốn máy tính nhận dạng văn bản, NN là một lựa chọn tốt hơn tất cả các cách tiếp cận khác tại thời điểm hiện tại, Sử dụng NN ở đây là bao gồm CNN để trích xuất các đặc trưng chuỗi và sử dụng RNN để thu được thông tin qua đặc trưng chuỗi đó.

Nhận dạng chuỗi ký tự trên ảnh được nghiên cứu từ lâu, mạng CRNN giải quyết vấn đề nhận dạng các ký tự trên bức ảnh, bài toán này là một trong những thách thức và rất quan trọng trong nhận dạng chuỗi các ký tự trên các hình ảnh. bài tốn này khác nhiều so với bài tốn nhận dạng đối tượng tổng quát, bài toán nhận dạng chuỗi thường yêu cầu hệ thống dự đoán một chuỗi của các nhãn, thay vì một nhãn đơn lẻ. Vậy có thể xem nhận dạng đối tượng là một phần của bài tốn nhận dạng chuỗi, một trong những thuộc tính chuỗi đó là độ dài chuỗi thay đổi khác nhau. Như từ "ok" có độ dài là 2 kí tự nhưng từ " congratulation " có độ dài lên tới mười lăm kí tự như vậy nhưng kiến trúc mạng nổi tiếng như Deep Convolution Neural Networks (DCNN) khơng thể áp dụng trực tiếp cho bài tốn này

Vì đầu vào của mạng trên có chiều của đầu vào và đầu ra cố định. Trong khi đó nhãn của chuỗi có độ dài thay đổi. Do vậy, mơ hình Recurrent neural networks (RNN) ra đời, nhằm giải quyết bài tốn có tính chất chuỗi. Một trong nhưng lợi thế của RNN đó là khơng cần biết vị trí chính xác của các phần tử của chuỗi trong ảnh trong lúc đào tạo cũng như kiểm tra. Nhưng ở bước tiền xửa lý phải chuyển ảnh đầu vào có kích thước chiều cao cố định. Như vậy sự kết hợp của DCNN [8] và RNN tạo nên cấu trúc CRNN [9], Vậy nên mạng CRNN [9] có những lợi thế hơn các cấu trúc khác đó là:

• Có thể học trực tiếp chuỗi mà khơng cần chính xác vị trí của các phần tử trong chuỗi.

• Trích xuất trực tiếp đặc trưng từ ảnh không yêu cầu xử lý thủ công cũng như

Một phần của tài liệu Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu. (Trang 27)

Tải bản đầy đủ (DOC)

(70 trang)
w