Tải bản đầy đủ (.pdf) (67 trang)

trích xuất đặc trưng từ hình ảnh đơn thuốc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.97 MB, 67 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA</b>

<b>—————————————–</b>

<b>TRẦN ĐỨC THẮNG</b>

<b>TRÍCH XUẤT ĐẶC TRƯNG TỪ HÌNH ẢNHĐƠN THUỐC</b>

Chun ngành: Khoa học Máy TínhMã số: 8480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 1 năm 2024

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

ĐẠI HỌC QUỐC GIA TP.HCM

<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA</b>

<b>—————————————–</b>

<b>TRẦN ĐỨC THẮNG</b>

<b>TRÍCH XUẤT ĐẶC TRƯNG TỪ HÌNH ẢNHĐƠN THUỐC</b>

Chuyên ngành: Khoa học Máy TínhMã số: 8480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 1 năm 2024

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM

Cán bộ hướng dẫn khoa học: TS. Nguyễn Đức Dũng

Cán bộ chấm nhận xét 1: TS. Trần Tuấn Anh

Cán bộ chấm nhận xét 2: PGS.TS. Nguyễn Văn Sinh

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP.HCMngày 23 tháng 1 năm 2024.

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

1. Chủ tịch: TS. Lê Thành Sách.2. Thư ký: TS. Nguyễn Tiến Thịnh3. Phản biện 1: TS. Trần Tuấn Anh

4. Phản biện 2: PGS.TS. Nguyễn Văn Sinh5. Ủy viên: TS. Võ Đăng Khoa

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khiluận văn đã được sửa chữa (nếu có).

<b>KỸ THUẬT MÁY TÍNH</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

ĐẠI HỌC QUỐC GIA TP.HCM

<b>TRƯỜNG ĐẠI HỌC BÁCH KHOA</b>

<b>CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập - Tự do - Hạnh phúc</b>

<b>NHIỆM VỤ LUẬN VĂN THẠC SĨ</b>

Ngày, tháng, năm sinh: 04/10/1999Nơi sinh: Kiên Giang

<b>I. TÊN ĐỀ TÀI:</b>

Trích Xuất Đặc Trưng từ Hình Ảnh Đơn ThuốcInformation Extraction from Prescription Images

<b>II. NHIỆM VỤ VÀ NỘI DUNG:</b>

- Tìm hiểu về các mơ hình trích xuất thơng tin từ hình ảnh, các cơng trình liên quan,các phương pháp giải quyết bài toán, ưu và nhược điểm của các phương pháp, đặcbiệt là phương pháp sử dụng các mơ hình học sâu.

- Nghiên cứu và đề xuất cải thiện các mơ hình cho Bài tốn trích xuất thơng tin từhình ảnh đơn thuốc, các thuật tốn nhận diện thơng tin.

- Thực nghiệm, đánh giá kết quả của các mơ hình đề xuất trên tập dữ liệu tự gán nhãn

<b>III.NGÀY GIAO NHIỆM VỤ : 04/09/2023</b>

<b>IV.NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2023V.CÁN BỘ HƯỚNG DẪN: TS. Nguyễn Đức Dũng</b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Luận văn tốt nghiệp là q trình đúc kết, tìm tịi và phát triển từ những kiến thức của nhữngnăm tháng học đại học và cao học dưới sự dìu dắt và giúp đỡ của các thầy, cô của Khoa Khoahọc và Kỹ thuật Máy tính, các phịng thí nghiệm, các giảng viên của trường Đại học Bách KhoaThành phố Hồ Chí Minh. Đặc biệt, chúng tơi muốn bày tỏ lịng biết ơn sâu sắc đến tiến sĩNguyễn Đức Dũng, người thầy đã giúp chúng tơi có động lực để hồn thành luận văn và cũnglà người hướng dẫn tận tình trong suốt quá trình học tập và nghiên cứu. Với những kiến thứcthầy Dũng và các thầy, cô của trường Đại học Bách Khoa đã truyền dạy sẽ là hành trang quý giátrong quá trình nghiên cứu và làm việc sau này. Cuối cùng, chúng tôi xin chúc quý thầy, cô vàgia đình dồi dào sức khỏe và thành cơng trong sự nghiệp cao quý.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Tóm tắt nội dung</b>

Trong bài luận văn này, chúng tơi sẽ trình bày các cơ sở lý thuyết của khía cạnh thị giác máytính và ngôn ngữ tự nhiên áp dụng kỹ thuật học sâu. Trong đó, chúng tơi sẽ chú trọng áp dụngnền tảng lý thuyết trên để tiếp cận đến bài toán trích xuất thơng tin từ hình ảnh đơn thuốc. Từđó, tên thuốc cũng như các loại thuốc liên quan sẽ được đề xuất. Chúng tôi cũng sẽ đưa ra cáckết quả thử nghiệm và so sánh, đánh giá giữa các phương pháp đó với nhau và giữa các kết quảthí nghiệm của các bài báo khoa học đã được xuất bản.

Với các kết quả trên, chúng tôi xin đưa ra một framework hồn chỉnh và các mơ hình thựchiện từng bước để giải quyết bài toán truy xuất dữ liệu. Bao gồm các khối xử lý nhỏ là: mơ hìnhphân đoạn thơng tin quan trọng trong ảnh, mơ hình phát hiện ký tự, mơ hình nhận dạng ký tự,mơ hình phân loại tên thuốc với các ký tự khác, mô hình trích xuất đơn thuốc để tạo ra kết quảvà thuật toán đề xuất tên thuốc được lưu trong cơ sở dữ liệu có sẵn. Tiếp theo, chúng tơi sẽ sosánh giữa các phương pháp để đi đến việc chọn phương pháp tối ưu nhất để giải quyết bài tốntrích xuất thơng tin từ hình ảnh đơn thuốc. Cuối cùng, chúng tơi sẽ trình bày các hạn chế vànhững thứ có thể cải thiện để cho ra kết quả trích xuất thông tin cũng như đề xuất được tốt hơn.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

In this thesis, we will present the theoretical foundations of the computer vision and naturallanguage processing aspects applied in deep learning techniques. Specifically, we will empha-size the application of this theoretical framework to approach the problem of extracting informa-tion from single prescription images. Subsequently, both the drug names and related types willbe suggested. We will also provide experimental results, comparisons, and evaluations amongthese methods as well as against the experimental results from published scientific papers.

Based on these results, we propose a comprehensive framework and models to address thedata retrieval problem. This includes smaller processing blocks: a model segmenting importantinformation within the image, a character detection model, a character recognition model, a drugname classification model alongside other characters, a prescription extraction model generatingresults, and an algorithm proposing drug names stored in an available database. Subsequently,we will compare these methods to determine the most optimal approach for extracting informa-tion from prescription images. Finally, we will outline limitations and potential enhancementsto improve information extraction results and suggestions.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>Lời cam đoan</b>

Chúng tôi xin cam đoan đây là công trình nghiên cứu của riêng tơi dưới sự hướng dẫn củaTS. Nguyễn Đức Dũng. Nội dung nghiên cứu và các kết quả đều là trung thực và chưa từngđược công bố trước đây. Các số liệu được sử dụng cho q trình phân tích, nhận xét được chínhchúng tơi thu thập từ nhiều nguồn khác nhau và sẽ được ghi rõ trong phần tài liệu tham khảo.

Ngồi ra, chúng tơi cũng có sử dụng một số nhận xét, đánh giá và số liệu của các tác giảkhác, cơ quan tổ chức khác. Tất cả đều có trích dẫn và chú thích nguồn gốc.

Nếu phát hiện có bất kì sự gian lận nào, chúng tơi xin hồn tồn chịu trách nhiệm về nộidung đề cương luận văn tốt nghiệp của mình. Trường đại học Bách Khoa thành phố Hồ ChíMinh khơng liên quan đến những vi phạm tác quyền, bản quyền do chúng tơi gây ra trong qtrình thực hiện.

Tp. Hồ Chí Minh, tháng 1 năm 2024Tác giả

Trần Đức Thắng

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

3.4 Trích xuất tên thuốc và số lượng của đơn thuốc . . . . 23

3.4.1 Phân loại tên thuốc . . . . 24

3.4.2 Trích xuất số lượng trong đơn thuốc . . . . 24

3.4.3 Kết hợp tên thuốc và số lượng . . . . 24

3.5 Tìm kiếm tên thuốc trong cơ sở dữ liệu . . . . 26

3.6 Web Demo . . . . 29

<b>4Thí nghiệm31</b>4.1 Tập dữ liệu . . . . 31

4.1.1 Tập dữ liệu phân đoạn . . . . 31

4.1.2 Tập dữ liệu phân loại tên thuốc . . . . 31

4.1.3 Tập dữ liệu tên thuốc . . . . 32

4.1.4 Tập dữ liệu tên thuốc và số lượng trong đơn thuốc . . . . 34

4.2 Độ đo đánh giá . . . . 35

4.3 Chi tiết hiện thực . . . . 36

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>5Kết quả37</b>

5.1 Phân đoạn . . . . 37

5.2 Phân loại tên thuốc . . . . 37

5.3 Trích xuất thông tin từ đơn thuốc . . . . 39

5.4 Kết quả hoàn chỉnh của framework . . . . 40

5.5 Các kết quả chưa tốt của mơ hình . . . . 41

<b>6Tổng kết45</b>6.1 Hạn chế và cải tiến . . . . 45

6.1.1 Hạn chế . . . . 45

6.1.2 Những cải tiến tương lai . . . . 45

<b>Tài liệu tham khảo46A Kiến thức nền tảng49</b>A.1 Artificial Neural Network . . . . 49

A.2 Convolution Neural Network . . . . 50

A.3 Residual Neural Network . . . . 51

A.4 Long short-term memory . . . . 52

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

4.1 Vài mẫu dữ liệu thuốc trong cơ sở dữ liệu thuốc. . . . 33

4.2 Vài mẫu dữ liệu thuốc trong cơ sở dữ liệu thuốc. . . . 34

4.3 Nhãn của hình ảnh đơn thuốc. . . 35

5.1 Kết quả huấn luyện mơ hình phân đoạn thông tin đơn thuốc. . . 37

5.2 Kết quả huấn luyện mơ hình phân loại tên thuốc. . . . 39

5.3 Kết quả trích xuất thơng tin từ đơn thuốc . . . . 40

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>Danh sách hình vẽ</b>

2.1 Hình ảnh đơn thuốc trong tập dữ liệu (trái). Nhãn phân đoạn cho ảnh đơn thuốc

(giữa). Phần thơng tin mà mơ hình phân đoạn cần học (phải). . . . 4

2.2 Kiến trúc mơ hình U-Net [4] . . . . 6

2.3 Mơ hình cấu trúc của các block RSU [1]. . . . 7

2.4 Mô hình U<sup>2</sup>-Net [1]. . . 8

2.5 Kết quả mơ hình U<sup>2</sup>-Net [1] so với các mơ hình phân đoạn khác. . . . 9

2.6 Kiến trúc mơ hình DBNet [2] . . . . 10

2.7 Quá trình xử lý của mơ hình DBNet [2] . . . . 11

2.8 Hàm mất mát và đạo hàm khi tính Differentiable binarization trong mơ hìnhDBNet [2] . . . . 12

2.9 Trực quan hóa một vài ngưỡng sinh ra từ mơ hình DBNet [2] . . . . 13

2.10 Một số kết quả phát hiện của mơ hình DBNet [2] . . . . 13

2.11 Kiến trúc mơ hình CRAFT [3]. . . . 14

2.12 Các gán nhãn cho CRAFT [3]. . . . 15

2.13 Kết quả của CRAFT [3] so với các mơ hình khác. . . . 15

2.14 VietOCR<sup>1</sup>với cơ chế seq2seq. . . . 16

2.15 VietOCR<sup>2</sup>với cơ chế Transformer. . . . 18

2.16 Kết quả của mơ hình VietOCR<sup>3</sup>. . . . 18

3.1 Mơ hình đề xuất thực hiện trích xuất thơng tin từ hình ảnh đơn thuốc . . . . 19

3.2 Ảnh đầu vào mơ hình phân đoạn . . . . 21

3.3 Ảnh đầu ra mơ hình phân đoạn . . . . 22

3.4 Hình kết quả bản đồ nhiệt (trên) và các bao đóng (dưới) của mơ hình CRAFT[3] mặc định của mơ hình (trái) và sử dụng dilation (phải) . . . . 23

3.5 Mô hình phân loại tên thuốc . . . . 25

3.6 Kết quả của mơ hình phân loại tên thuốc . . . . 26

3.7 Kết quả của thuật toán nhận diện số lượng đơn vị . . . . 27

3.8 Khi khơng sử dụng thuật tốn nối các dịng tên thuốc (trái) và khi sử dụng thuậttoán (phải). . . . 28

3.9 Ví dụ về kết quả trả về của thơng tin đơn thuốc được trích xuất. . . . 29

3.10 Hình ảnh màn hình trang web tương tác. . . . 30

4.1 Vài ảnh trong tập dữ liệu phân đoạn. Hình ảnh thuốc (trái) và hình nhãn đượcđánh dấu để huấn luyện (phải) . . . . 32

4.2 Ví dụ về tập dữ liệu phân loại tên thuốc . . . . 33

4.3 Ví dụ về tập dữ liệu tên thuốc . . . . 34

5.1 Hình ảnh đơn thuốc đầu vào (trên) và kết quả sau khi đã phân đoạn ảnh (dưới) . 385.2 Kết quả đầu ra của mơ hình phân loại tên thuốc . . . . 39

5.3 Một bước hồn chỉnh của framwork trích xuất thông tin từ đơn thuốc . . . . 42

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

A.1 Caption for LOF . . . . 49

A.2 Mơ hình nơ-ron thật và ảo<sup>4</sup>. . . . 50

A.3 Mơ hình Convolution Neural Network<sup>5</sup> . . . . 51

A.4 Mơ hình Nối tắt Residual Neural Network [5]. . . . 52

A.5 Mơ hình LSTM<sup>6</sup> . . . . 53

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Chương 1Giới thiệu</b>

Trong những năm gần đây, sự phát triển của tất cả các lĩnh vực trên thế giới đang càng ngàycàng nhanh, nhất là về lĩnh vực công nghệ thông tin. Con người luôn muốn tìm cách để ứngdụng tối đa cơng nghệ để đáp ứng nhu cầu của con người nhằm khiến mọi thứ dễ dàng hơn. Mộttrong những sự phát triển đó chính là thương mại điện tử. Hàng hóa sẽ được đặt trên trang webcủa các công ty lớn nhưng Alibaba, Amazon và sẽ được chuyển đến tận nhà của người mua.Dịch bệnh Covid-19 mới đây càng thúc đẩy việc mua sắm trực tuyến. Vậy ngồi hàng hóa bìnhthường, ta cũng có thể mua các thứ khác như thuốc men. Nhưng người dùng đa số khơng cókiến thức về dược sẽ rất khó mua đúng thứ thuốc họ cần. Vì vậy, ta cần có một hệ thống có thểđọc, trích xuất và chọn ra đúng thuốc cho người mua mà họ khơng cần phải đến tiệm thuốc. Đâylà một bài tốn ta có thể giải quyết nhằm tạo ra giá trị sử dụng thực tiễn.

<b>Động lực</b>

Năm 2020 chứng kiến một cơn đại dịch bệnh mang tên Covid-19 ảnh hưởng đến toàn thếgiới, gây tổn hại về tính mạng và ảnh hưởng đến nhiều nền kinh tế trong nước và cả thế giới.Tính đến ngày 09/02/2023, tồn thế giới có hơn 755 triệu ca nhiễm Covid-19. Tổng số ngườichết do dịch đã lên đến hơn 6,8 triệu ca. Việt Nam nói riêng, tính đến ngày 21/12/2022, có tổngcộng 11,5 triệu bệnh nhân Covid-19 và hơn 43000 trường hợp tử vong. Các bệnh viện vào thờiđiểm cao điểm đều phải làm việc 100% cơng suất cả ngày đêm. Chính phủ đã từng bạn hànhviệc cấm đi ra ngồi và chỉ có các ngành nghề thiết yếu, shipper được phép làm việc để vậnchuyển hàng hóa. Dịch bệnh khiến cho mọi người khơng thể ra ngồi và nhu cầu thuốc tăng lênmạnh. Điều đó khiến cho việc mua thuốc trực tuyến phát triển nhanh chóng. Các đơn thuốc kểcả đơn Covid lẫn các đơn thuốc thường đều được chụp ảnh và gửi cho các tiệm thuốc lớn. Sauđó, dược sĩ sẽ xem đơn, lấy thuốc và đưa cho shipper vận chuyển đến nhà người mua. Nhưngvới số lượng đơn thuốc hàng ngày là vô cùng lớn với thời gian cao điểm đó, việc chỉ có dượcsĩ đọc đơn thuốc là rất mất thời gian, giảm doanh thu của doanh nghiệp cũng như khiến thuốcđến tay cho người mua lâu. Thấy vấn đề đó, chúng tơi đề xuất một framework có thể đọc đượcđơn thuốc, trích xuất thơng tin quan trọng: tên thuốc và số lượng của mỗi loại và xác định đượcchính thuốc đó cùng các thuốc có thể thay thế được trong cơ sở dữ liệu nhằm giúp dược sĩ tiếtkiệm thời gian một cách tối đa để có thể đem thuốc nhanh nhất đến tay người tiêu dùng.

Tuy hiện tại, chúng ta đã đến giai đoạn bình thường mới. Covid đã được xem là một bệnhkhơng cịn nguy cấp, xã hội trở về bình thường nhưng việc mua sắm trực tuyến, trong đó có cảmua thuốc đã trở thành thói quen với nhiều người. Vì thế, việc trích xuất thơng tin từ đơn thuốckhơng cịn là một phương án khẩn cấp trong tình trạng Covid nữa mà sẽ là một dự án có thể pháttriển lâu dài nhằm ứng dụng trong đời sống.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>Mục tiêu</b>

Mục tiêu của nghiên cứu này là trích xuất thơng tin từ hình ảnh đơn thuốc. Mà cụ thể hơn làtên thuốc và số lượng tương ứng của đơn thuốc đó. Sau đó, thuốc trong cơ sở dữ liệu sẽ được đềxuất ra cho người dùng. Khi một hình ảnh đơn thuốc được đưa vào framework, một danh sáchcác tên thuốc và số lương tương ứng của nó sẽ được trả về. Các tên thuốc này thường bao gồmbiệt dược hay còn gọi là tên thuốc. Tiếp đến là thành phần của thuốc và cuối cùng là hàm lượngcủa thuốc đó. Sẽ có thuốc có đầy đủ các thành phần trên hoặc chỉ có vài thứ trong tên thuốc. Mơhình phải trích xuất được thuốc đó dù cho có thiếu hay đầy đủ các thành phần. Từ các phần trêncủa một thuốc, chúng tôi sẽ tìm kiếm thuốc đó và các thuốc thay thế được trong cơ sở dữ liệucho người dùng. Mơ hình cũng phát hiện được số lượng tương ứng của từng thuốc. Số lượng nàythể hiện số thuốc được kê trong đơn và dược sĩ cần bán cho người dùng. Các đối tượng trên sẽđược kết hợp với nhau và trả về kết quả cuối cùng.

<b>Tổng quan về báo cáo</b>

<b>Phần còn lại của báo cáo được chia thành 6 phần gồm Chương 2, Chương 3, Chương 4,</b>

<b>Chương 5, Chương 6 và Phụ lục A. Trong đó, Chương 2 sẽ trình bày về việc khảo sát chi</b>

tiết các nghiên cứu liên quan đến đề tài, bao gồm các nghiên cứu về phân đoạn đối tượng, phát

<b>hiện và nhận dạng ký tự. Chương 3 trình bày về các ý tưởng đề xuất, hiện thực của các bướctrong framework. Chương 4 nêu lên các tham số, cài đặt để cho ra được kết quả các mơ hình.</b>

<b>Chương 5 mơ tả các kết quả đạt được của mơ hình chúng tơi đề xuất. Chương 6 sẽ tổng kết và</b>

<b>đề xuất kế hoạch cho giai đoạn luận văn tiếp theo. Phụ lục A sẽ nói về các kiến thức nền tảng</b>

cần thiết cho nghiên cứu trong đề tài.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Chương 2</b>

<b>Những nghiên cứu liên quan</b>

Framework trích xuất thơng tin từ hình ảnh đơn thuốc bao gồm năm phần. Đầu tiên, ta cần

<i>phân đoạn (Segmentation) ra phần chứa thơng tin hữu ích từ đơn thuốc. Tiếp theo, ta đến mơhình phát hiện ký tự (Text Detection) từ vùng chứa thơng tin hữu ích đã được trích xuất từ phầnđầu. Từ các ký tự được phát hiện, mơ hình nhận diện ký tự (Text Recognition) dùng để xác định</i>

nội dung từ vùng được trích xuất. Mơ hình trích xuất tên thuốc từ các ký tự có nhiệm vụ tách rađược thuốc và số lượng từ các ký tự mà mơ hình trước nhận dạng được. Cuối cùng, các thuốc sẽđược truy vấn trong cơ sở dữ liệu để gợi ý ra cho người dùng. Ta sẽ xem xét mơ hình phân đoạnphần chứa dữ liệu quan trọng trong ảnh.

<b>2.1.1Tập dữ liệu</b>

Bài tốn phân đoạn phần thơng tin quan trọng trong đơn thuốc là bài toán được phát triểngần đây khi thương mại điện tử phát triển nên rất khó để tìm được một tập dữ liệu đáp ứng ucầu trên. Để có thể huấn luyện được mơ hình này, chúng tơi cần phải tự gán nhãn dữ liệu từ cácđơn thuốc đã có sẵn để mơ hình học sâu có thể học được. Tập dữ liệu này bao gồm hơn 2000ảnh các đơn thuốc được đánh nhãn bằng các khung vuông bao quanh vùng chứa thông tin cầntrích xuất. Sau đó, các pixel bên trong các khu vực được gán nhãn sẽ được biến thành các vùngheatmap để mơ hình học và dự đốn. Ví dụ về dữ liệu được gán nhãn được miêu tả như hình 2.1

<b>2.1.2Phân đoạn đối tượng quan trọng trong ảnh</b>

Mơ hình phân đoạn đối tượng quan trọng trong ảnh đơn thuốc có nhiệm vụ phân đoạn raphần ta quan tâm trong ảnh để trích xuất, ở đây chính là tên thuốc được kê đơn. Việc sử dụngmơ hình phân đoạn sẽ giúp loại bỏ đi phần dư thừa như là các phông nền bên ngồi như tayngười chụp, mặt tủ, mặt kính, ... giúp giảm thiểu tối đa việc nhiễu khi đi qua các mơ hình pháthiện và nhận dạng ký tự ở các bước tiếp theo. Ngồi ra, mơ hình phân đoạn sẽ loại bỏ các phầnkhông quan tâm của đơn thuốc, giúp mơ hình phát hiện và nhận dạng có thể thực thi nhanh hơn,giảm tiêu hao tài nguyên khi tính tốn.

Bài tốn này chính là bài tốn phát hiện ra đối tượng quan trọng trong ảnh đơn thuốc, phânđoạn ra và chỉ trả về phần ảnh chứa thông tin mà ta cần để trích xuất. Đó chính là tên thuốc cótrong đơn thuốc.

Vấn về phân đoạn đối tượng quan trọng trong ảnh đã là một bài tốn có từ lâu và có cáchướng tiếp cận khác nhau. Với hai hướng tiếp cận chính là hướng tiếp cận cổ điển với các đặc

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>trưng được trích xuất thủ công với các giải thuật như foreground consistency [6] hay histograms</i>

[7]. Những giải thuật cổ điển này có độ chính xác tương đối. Với sự phát triển của trí tuệ nhântạo, các mơ hình học sâu cho phân đoạn đối tượng quan trọng được chú trọng hơn và cho ra cáckết quả có độ chính xác cao hơn rất nhiều so với phương pháp truyền thống. Với các bài tốnphân đoạn bằng học sâu, có hai yếu tố được nghiên cứu nhiều nhất đó chính là: trích xuất đặc

<i>trương theo nhiều tầng (Multi-level deep feature integration) [8] và trích xuất đặc trưng theonhiều kích cỡ (Multi-scale feature extraction)[9]. Phương pháp trích xuất đặc trưng theo nhiều</i>

tầng sử dụng cách chồng nhiều tầng mạng học sâu lại với nhau, khiến chiều sau của mơ hìnhtăng lên và khả năng học được các đặc trưng phức tạp hơn. Điều này giúp tăng độ chính xáccủa mơ hình. Các mơ hình áp dụng phương pháp trên có thể kể đến như mơ hình MDF [10].Mơ hình MDF này nhận vào ảnh đầu vàng với một độ phân giải nhất định và trả về vector đặctrưng biểu diễn sự quan trọng của từng pixel đó. Hay mơ hình Amulet [11] tạo ra phân đoạn củađối tượng quan trọng bằng cách tổng hơn đặc trưng nhiều lớp từ nhiều độ phân giải khác nhau.Các mơ hình này với sức mạnh tính tốn lớn giúp đạt được kết quả phân đoạn đối tượng tốt hơnnhiều so với các phương pháp truyền thống.

Với phương pháp trích xuất đặc trưng theo nhiều kích cỡ khác nhau, mơ hình sẽ trích xuất cảthơng tin tồn cục và cục bộ của một ảnh, giúp việc phân đoạn có sự chi tiết nhưng vẫn khơng

<i>mất đi hình dáng tồn bộ của đối tượng. Điển hình như mơ hình SRM [12] sử dụng pyramidpooling module</i>để lấy đặc trưng toàn cục và cục bộ hợp nhất để phân đoạn đối tương quan trọng.

<i>Hay PAGRN [13] xây dựng các mô đun attention nhằm trích xuất đặc trưng tồn cục của mỗi</i>

lớp mơ hình để tạo ra kết quả phân đoạn. Các mơ hình trên với sự đa dạng vùng ảnh hưởng vàcác đặc trưng phức tạp giúp tạo ra kết quả ấn tượng trong việc phân đoạn đối tượng quan trọng.Với bài toán phân đoạn phần nội dung cần trích xuất, mơ hình vừa có thể kết hợp trích xuấtbằng đặc trưng nhiều tầng và nhiều kích cỡ sẽ là một mơ hình thích hợp để cho ra kết quả tốt.Sau khi tìm kiếm và nghiên cứu, chúng tôi xin đề xuất bài U<sup>2</sup><b>-Net: Going Deeper with NestedU-Structure for Salient Object Detection [1] có thể được dùng để áp dụng vào đề tài.</b>

U-Net là một mơ hình mạng nơ-ron sâu được sử dụng rộng rãi trong lĩnh vực xử lý ảnhy tế và phát hiện bề mặt. Mơ hình này được giới thiệu bởi Olaf Ronneberger, Philipp Fischer

<b>và Thomas Brox trong một bài báo năm 2015 mang tên U-Net: Convolutional Networks for</b>

<b>Biomedical Image Segmentation [4]. Mơ hình này đã đạt được sự thành cơng lớn trong việc</b>

Hình 2.1: Hình ảnh đơn thuốc trong tập dữ liệu (trái). Nhãn phân đoạn cho ảnh đơn thuốc (giữa).Phần thơng tin mà mơ hình phân đoạn cần học (phải).

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

NHỮNG NGHIÊN CỨU LIÊN QUAN

giải quyết các bài tốn về phân đoạn hình ảnh y tế, nơi mà việc định vị đối tượng quan trọng vàphân biệt giữa các cấu trúc nhất định trong lĩnh vực y tế là vô cùng quan trọng.

<b>U-Net được thiết kế dựa trên kiến trúc mạng nơ-ron tích chập (Convolutional Neural</b>

<b>Network-CNN), một dạng phổ biến của mạng nơ-ron sâu thường được sử dụng cho xử lý ảnh.</b>

<i>Điểm đặc biệt của U-Net là cấu trúc mã hóa-giải mã (encoder-decoder), với kiến trúc mơ hình</i>

được trình bày ở Hình 2.2, trong đó encoder dùng để trích xuất đặc trưng và decoder dùng đểtái tạo hình ảnh phân đoạn. Sự kết hợp giữa hai phần này giúp mơ hình U-Net có khả năng pháthiện các đặc trưng cụ thể trong ảnh và tái tạo hình ảnh phân đoạn với độ chính xác cao.

<b>- Kiến trúc của U-Net</b>

• Encoder: Phần này của U-Net là một chuỗi các lớp tích chập theo sau bởi các lớp

<i>tổng hợp (pooling layers). Lớp tích chập giúp trích xuất đặc trưng từ ảnh đầu vào,</i>

trong khi các lớp tổng hợp giúp giảm kích thước của đầu ra và tăng khả năng tổngqt hóa của mơ hình. Q trình này được lặp lại nhiều lần để tạo ra một biểu diễngiảm chiều dữ liệu của ảnh gốc.

• Decoder: Phần này của U-Net chứa các lớp sampling và lớp tích chập. Lớp sampling giúp tăng kích thước của đầu ra từ encoder, trong khi các lớp tích chậpgiúp tạo ra hình ảnh phân đoạn với độ phân giải cao từ biểu diễn giảm chiều ở phần

<i>up-encoder. Cấu trúc nối tắt (skip connections) được sử dụng để kết hợp thông tin từ</i>

phần encoder và phần decoder, giúp tăng khả năng định vị các đặc trưng quan trọngtrong quá trình phân đoạn.

<b>- Quá trình huấn luyện U-Net</b>

• Hàm mất mát: Trong q trình huấn luyện, U-Net sử dụng hàm mất mát entropy hoặc Dice loss, phụ thuộc vào loại bài toán phân đoạn cụ thể.

cross-• Tối ưu hóa: U-Net thường được huấn luyện bằng cách sử dụng thuật tốn tối ưu hóanhư Adam hoặc RMSprop để cập nhật trọng số của mạng nơ-ron và giảm thiểu hàmmất mát.

U-Net có khả năng phân đoạn hình ảnh với độ chính xác cao, đặc biệt là trong các ứng dụngy tế nơi địi hỏi sự chính xác cao và độ tin cậy. Cấu trúc encoder-decoder và skip connectionsgiúp mơ hình học được các đặc trưng cục bộ và tồn cục của hình ảnh, đồng thời giảm thiểuhiện tượng mất mát thơng tin trong q trình giảm chiều dữ liệu. Tuy nhiên, U-Net vẫn còn mộtsố hạn chế, bao gồm đòi hỏi lượng dữ liệu lớn để huấn luyện, đặc biệt là trong các bài toán y tếnơi cần có sự chính xác cao và đa dạng dữ liệu. Ngồi ra, việc huấn luyện mơ hình U-Net cũngđịi hỏi tài ngun tính tốn lớn, đặc biệt là khi áp dụng trên các tập dữ liệu lớn và phức tạp.

Trong tổng quan, U-Net là một mơ hình mạng nơ-ron sâu mạnh mẽ và linh hoạt, đã đạt đượcnhiều thành cơng trong việc giải quyết các bài tốn phân đoạn hình ảnh y tế và khơng y tế. Sựkết hợp giữa kiến trúc encoder-decoder và các kỹ thuật tối ưu hóa đã làm cho U-Net trở thànhmột cơng cụ quan trọng trong lĩnh vực xử lý ảnh và trí tuệ nhân tạo.

<b>2.1.4U</b>

<sup>2</sup>

<b>-Net: Going Deeper with Nested U-Structure for Salient ObjectDetection [1]</b>

U<sup>2</sup><b>-Net: Going Deeper with Nested U-Structure for Salient Object Detection [1] là một</b>

bài báo được công bố vào tháng 5/2020. Bài báo xây dựng một kiến trúc mạng học sâu đơn giảnnhưng mạnh mẽ. Kiến trúc của U<sup>2</sup>-Net bao gồm 2 tầng kiến trúc U-Net chồng vào nhau. Với

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

thiết kế này, mơ hình có thể nhận được nhiều thông tin ngữ cảnh của ảnh đầu vào với nhiều kích

<i>cỡ khác nhau bằng cách sử dụng các vùng ảnh hưởng từ các tầng ReSidual U-blocks RSU do</i>

bài báo đề xuất. Độ sâu của kiến trúc được đảm bảo nhưng khơng tăng chi phí tính tốn q lớnbằng cách sử dụng các tầng pooling ở các RSU. Các tầng pooling này giúp giảm kích cở củacác đặc trưng trích xuất nhưng vẫn giữ lại đặc trưng cơ bản của ảnh. Cấu trúc này tuy đơn giảnnhưng đủ phức tạp để có thể huấn luyện mơ hình từ đầu mà khơng cần dùng các backbone cósẵn của tác vụ phân loại ảnh. U<sup>2</sup>-Net có hai kiến trúc khác nhau. Một kiến trúc đầy đủ với độchính xác cao nhưng tốc độ tính tốn chậm và một kiến trúc rút gọn có độ chính xác tuy thấphơn nhưng lại tính tốn nhanh hơn nhiều.

Đầu tiên, ta sẽ xem xét đến kiến trúc của các khối RSU, những khối cấu tạo nên mơ hìnhU<sup>2</sup>-Net này. Các thơng tin được trích xuất toàn cục và cục bộ trong một ảnh đều rất cần thiết đểcó thể phân đoạn đối tượng trong ảnh một cách chính xác. Các mơ hình học sâu cho ảnh sẽ sử

<i>dụng các kiến trúc Convolutional Neural Network (CNN) nhằm trích xuất đặc trưng. Nhưng khi</i>

sử dụng các lớp CNN chồng lại với nhau thì những tầng trên chỉ có thể trích xuất thơng tin cụcbộ từ một phần của bức ảnh. Còn các tầng sâu nhất sẽ có thơng tin tồn cục nhưng lại mất điphần cục bộ và đặc trưng đầu ra nhỏ, mất đi sự chi tiết của bức ảnh. Để giải quyết vấn đề trên,RSU được đề xuất nhằm lấy các đặc trưng với các kích cỡ khác nhau và có các đặc trưng đủphức tạp. Hình 2.3 mơ tả cấu tạo của RSU. RSU được xây dựng theo kiểu encoder-decoder. Đặctrưng đầu vào sẽ qua các lớp CNN và pooling nhằm trích xuất tiếp các đặc trưng của ảnh và mởrộng vùng ảnh hưởng từ các lớp CNN sau của RSU. Đây là encoder. Sau đó, các đặc trưng đượctrích xuất từ các tầng dưới sẽ được sử dụng làm đầu vào cho các CNN nhằm lấy các đặc trưngtoàn cục và phức tạp bổ trợ cho các CNN ở các tầng trên. Các đặc trưng này sẽ được upsamplenhằm chỉnh về đúng kích thước của các đặc trưng tầng trên nhằm dễ dàng tính tốn. Cuối cùng,RSU trả về đặc trưng có kích thước tương tự đầu vào đã được làm tốt hơn bằng các đặc trưng

<small>copy and cropinput</small>

<small>output segmentation map</small>

<small>6412864 2</small>

<small>conv 1x1</small>

Hình 2.2: Kiến trúc mơ hình U-Net [4]

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

NHỮNG NGHIÊN CỨU LIÊN QUAN

toàn cục và phức tạp nhưng vẫn giữ lại được các thông tin cục bộ được mơ hình tốt hơn.

Khi ta chồng các block RSU này lên với nhau, ta sẽ có được kiến trúc của mơ hình U<sup>2</sup>-Net.Các RSU này sẽ được chồng lên với hình dạng chữ U như chính bản thân các block RSU củachính nó. Hình 2.4 mơ tả kiến trúc của mơ hình. Mỗi block RSU sẽ được chồng lên nhau. Cácblock RSU đầu sẽ lớn hơn, có mục đích nhằm encode bức ảnh để trích xuất các đặc trưng phứctạp. Đầu ra là các đặc trưng phức tạp từ tầng RSU này sẽ được chuyền xuống cho tầng RSU nhỏhơn phía sau để trích xuất đặc trưng phức tạp hơn. Khi đến hai tầng RSU cuối, các tầng này cókích thước đặc trưng đủ nhỏ nên khi ta trích xuất nhỏ hơn nữa sẽ làm mất đi nhiều thông tin giátrị. Sau khi encode, ta sẽ decode mơ hình với các tầng RSU chồng nhau lên tiếp. Các tầng RSUđể decode này sẽ nhận đầu vào là các đặc trưng giàu thông tin từ các tầng thấp hơn, phức tạp vàmang tính tồn cục hơn kết hợp với đặc trưng từ các RSU encode cùng tầng với các thông tincục bộ hơn của tầng đó là kết hợp vào RSU decode. Dữ liệu đầu ra sẽ được dùng làm đầu vàocho các RSU ở các tầng cao hơn để hịa hợp sự tồn cục và cục bộ của từng tầng. Ngoài ra, dữliệu đầu ra cũng được xem nhưng một phân đoạn đầu ra của mơ hình. Với mỗi phân đoạn đầura của mơ hình, ta sẽ nối hết lại và qua một mạng CNN cuối cùng để cho ra phân đoạn sau cùngcủa mơ hình với các đặc trưng tồn cục và cục bộ tốt nhất được trích xuất ra từ mơ hình U<sup>2</sup>-Net.

Mơ hình cho ra kết quả tốt so với các phương pháp khác. Với việc huấn luyện và kiểm tra

Hình 2.3: Mơ hình cấu trúc của các block RSU [1].

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

trên ba tập dữ liệu là DUTS dataset [14], phương pháp cho thấy cả mơ hình đầy đủ và mơ hìnhrút gọn đề cho ra các kết quả tốt hơn đa số các phương pháp phân đoạn đối tượng trong ảnhkhác. Hình 2.5 mơ tả kết quả so sánh độ chính xác so với các mơ hình khác trong nhiệm vụ phânđoạn đối tượng quan trọng trong ảnh. Màu đỏ, xanh lá và xanh dương thể hiện độ chính xác caonhất, thứ 2 và thứ 3 so với các mơ hình khác trong cùng một cột.

<b>2.2.1Phát hiện ký tự trong ảnh</b>

Để có thể trích xuất được thơng tin trong hỉnh ảnh đơn thuốc, chúng tơi cần biết được vị trícác ký tự ở đâu trong một bức ảnh. Các ảnh đơn thuốc được thiết kế theo dạng liệt kê từng dòngvà thường có khoảng cách giữa các dịng kết hợp với căn chỉnh theo cột. Vì vậy, dữ liệu nàykhác với các đoạn văn liền mạch như trong các tác phẩm, tiểu thuyết. Nhiệm vụ của chúng tơi

<i>là có thể phát hiện được các ký tư, trả về bao đóng (bounding box) của chúng để làm đầu ra cho</i>

Hình 2.4: Mơ hình U<sup>2</sup>-Net [1].

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

NHỮNG NGHIÊN CỨU LIÊN QUAN

các mơ hình phía sau.

Bài tốn phát hiện ký tự trong ảnh là một bài toán được đặt ra từ lâu và có nhiều hướng tiếpcận khác nhau để có thể xử lý. Hướng tiếp cận đầu tiên là sử dụng phương pháp cổ điển, với cácđặc trưng trích xuất thủ cơng bằng các thuật tốn được xây dựng. Tiểu biểu như là MSER [15]hay SWT [16]. Với sự bùng nổ của học sâu, các mơ hình phát hiện ký tự hiện đại được phát triểnnhiều hơn với độ chính xác vượt trội.

<i>Đầu tiên, phương pháp phát hiện ký tự bằng dự đốn Regression-based text detectors dự</i>

đốn ra các bao đóng bằng các mơ hình phát hiện nổi tiếng. Đơn cử như Textboxes [17] tinh

<i>chỉnh các tầng CNN Convolutional Neural Network và các khung định hướng để phát hiện ra</i>

ký tự với nhiều hình dạng, kích cỡ khác nhau. Hay như Rotation-Sensitive Regression Detector

<i>[18] (RSDD) tạo ra các biến thể xoay của đặc trưng đầu ra bằng các tầng CNN được xoay. Tuy</i>

nhiên, phương pháp này giới hạn ở chỗ khó có thể phát hiện được tất cả các dạng ký tự có thểxuất hiện.

Thứ hai là phương pháp phát hiện ký tự bằng phân đoạn. Phương pháp này sử dụng các mơhình phân đoạn để tìm kiếm các vùng chứa ký tự ở cấp độ pixel. Các phương pháp này sẽ pháthiện ký tự bằng các dự đoán ra các vùng có từ. Các mơ hình như Multi-scale FCN [19] hayPixelLink [20] sử dụng phương pháp phân đoạn để phát hiện ký tự.

Cuối cùng là phương pháp phát hiện ký tự bằng từng ký tự. Phương pháp này sẽ phát hiệnra các ký tự riêng lẻ và nối cúng lại thành một từ hoặc một đoạn văn. Mơ hình trong bài báo

<b>Multi-oriented text detection with fully convolutional networks [21] đề xuất xây dựng bộ</b>

phát hiện từng ký tự bằng cách sử dụng mơ hình MSER. Hay Seglink [22] dự đốn ra các lướicủa các từ và nối chúng lại với nhau bằng một mơ hình dự đốn nối từ. Mơ hình dựa theo phươngpháp này có thể phát hiện được các ký tự với các hình thù đa dạng, có thể bị kéo dã, cong lênxuống hay bị kéo.

Các ảnh chụp đơn thuốc thường là ảnh chụp bằng điện thoại chứ không phải là các ảnh scan.Đơn thuốc cũng không phải lúc nào cũng trong tình trạng hồn hảo. Chúng có thể bị cong lên,xuống hoặc bị mờ đi 1 phần. Vì thế, để có thể phát hiện được các ký tự một cách tốt nhất, khơngbỏ sót ký tự nào thì mơ hình phát hiện bằng phương pháp phát hiện từng ký tự và nối lại với nhau

<b>là phương pháp chúng tôi đề xuất sử dụng. Bài báo mà chúng tôi nghiên cứu là bài Character</b>

<b>Region Awareness for Text Detection [3].</b>

Hình 2.5: Kết quả mơ hình U<sup>2</sup>-Net [1] so với các mơ hình phân đoạn khác.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>2.2.2DBNet: Real-time Scene Text Detection with Differentiable rization [2]</b>

Bina-DBNet là một kiến trúc mạng nơ-ron sâu được phát triển cho việc phát hiện văn bản trongthời gian thực trong các ảnh cảnh với việc sử dụng kỹ thuật nhị phân hố có thể lấy đạo hàm

<i><b>(Differentiable Binarization). Kiến trúc này được giới thiệu trong bài báo nghiên cứu DBNet:</b></i>

<b>Real-time Scene Text Detection with Differentiable Binarization [2] vào năm 2019 của các</b>

tác giả Minghui Liao, Baoguang Shi, Xiang Bai, Xinggang Wang, và Wenyu Liu.

DBNet sử dụng một mạng nơ-ron sâu có kiến trúc encoder-decoder. Trong bài báo, nhómtác giả giới thiệu DBNet với mục tiêu tối ưu thời gian trong quá trình hậu xử lý trong các phương

<i>pháp phát hiện chữ bằng mơ hình phân đoạn phân đoạn (segmentation-based) mà u cầu sửdụng ngưỡng (threshold) để thực hiện nhị phân hóa (binarization), tức là để phân biệt điểm ảnhnào là phông nền (background), điểm ảnh nào của chữ từ bản đồ xác suất (probability map). Mơ</i>

hình kiến trúc của DBNet được thể hiện trong Hình 2.6.

<i>Ngồi ra, bài báo này cịn đề xuất ngưỡng có thể học được (learnable threshold) và một nhịphân hóa (binarization function) để đảm bảo rằng mạng segmentation học được threshold một</i>

cách liên tục trong quá trình đào tạo. Việc điều chỉnh tự động threshold không chỉ cải thiện độchính xác, mà cịn đơn giản hóa q trình hậu xử lý và cải thiện hiệu suất của việc phát hiện vănbản. Q trình thực hiện của mơ hình có mơ tả trong Hình 2.7 được diễn ra như sau:

• Đầu tiên, ảnh input sẽ được đưa vào một mạng trích xuất đặc trưng dạng kim tự tháp

<b>- Standard binarization</b>

Hình 2.6: Kiến trúc mơ hình DBNet [2]

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

NHỮNG NGHIÊN CỨU LIÊN QUAN

Phương pháp Standard binarization nhận đầu vào là probabilty map P ∈ R<sup>H×W</sup> được tạora từ mạng segmentation, trong đó H,W là chiều cao và chiều rộng của map. Ta cầnchuyển probability map sang binary map B ∈ R<sup>H×W</sup>, trong đó pixel có giá trị 1 là vùngchứa chữ.

B<sub>i, j</sub> =(

1 ifP<sub>i, j</sub> > t,0 ottherwise,

với t là một giá trị threshold cố định được định nghĩa trước và (i, j) là tọa độ điểm trongmap.

<b>- Differentiable binarization</b>

Với Standard binarization, nhược điểm của phương pháp là chúng ta khó tìm ra được mộtgiá trị threshold t hợp lý. Để giải quyết vấn đề này, nhóm tác giả đề xuất phương phápDifferentiable binarization và có thể tính tốn đạo hàm, do đó tích hợp được vào quá trìnhhuấn luyện.

Differentiable binarization (DB) cải thiện hiệu suất có thể được giải thích thơng qua q

<i>trình lan truyền ngược (backpropagation). Xét hàm f (x) =</i> <sub>1+exp(−kx)</sub><sup>1</sup> là một à một hàmDB, trong đó x = P<sub>i, j</sub>− T<sub>i, j</sub>. Khi đó hàm mất mát l<sub>+</sub> cho nhãn positive và l<sub>−</sub> cho nhãnnegative được biểu diễn như sau

l<sub>+</sub>= log <sup>1</sup>1 + exp −kx<sup>,</sup>

l<sub>−</sub>= log

1 − <sup>1</sup>1 + exp(−kx)

Lấy đạo hàm của 2 hàm mất mát trên và sử dụng chain rule, ta có

Hình 2.7: Q trình xử lý của mơ hình DBNet [2]

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

∂ l<small>+</small>

∂ x = −k f (x) exp −kx,∂ l<small>−</small>

∂ x = k f (x).

Đồ thị hàm số loss và đạo hàm được mơ tả trong Hình 2.8. Nhờ có tham số k mà ta có thểtối ưu dự đốn, phân biệt được rõ ràng hơn vùng chứa chữ và phông nền.

<b>2.2.2.2Adaptive threshold</b>

<i>Bản đồ ngưỡng động (Adaptive threshold) được sinh ra từ bản đồ đặc trưng của mơ hình</i>

phân đoạn. Kết quả của Adaptive threshold và Probability map được thể hiện trong Hình 2.9.Cùng sinh ra từ bản đồ đặc trưng như bản đồ xác suất nhưng thay vì thể hiện xác suất điểm ảnhnày có phải thuộc đối tương hay khơng thì bản đồ ngưỡng động thể hiện các điểm ảnh đó cóthuộc cạnh bao quanh đối tượng đó khơng. Ở trong bài báo tác giả cũng so sánh bản đồ ngưỡngđộng được học khơng giám sát ở ảnh trái và có giám sát. Kết quả việc huấn luyện có giám sáttốt hơn hẳn so với phương pháp không giám sát.

DBNet được áp dụng rộng rãi trong các ứng dụng nhận diện văn bản thời gian thực trên ảnhcảnh. Các ứng dụng bao gồm nhận diện biển số xe, nhận diện tên các cửa hàng trong hình ảnhđường phố, và các ứng dụng ghi chú số liệu từ ảnh tài liệu. Một số kết quả của DBNet được lấytrong bài báo gốc, được trình bày ở Hình 2.10. Trong đó, mỗi kết quả sẽ có ba ảnh, theo thứ tựtừ trái sang phải từ trên xuống dưới bao gồm ảnh gốc có kết quả phát hiện chữ, ảnh trực quanhóa threshold T và ảnh trực quan hóa bản đồ xác suất P được trích xuất từ mơ hình trong qtrình suy diễn.

DBNet cung cấp khả năng phát hiện văn bản trong thời gian thực với độ chính xác cao, đồngthời giảm thiểu thời gian huấn luyện và tăng tính ổn định của quá trình huấn luyện. Tuy nhiên,

Hình 2.8: Hàm mất mát và đạo hàm khi tính Differentiable binarization trong mơ hình DBNet[2]

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

NHỮNG NGHIÊN CỨU LIÊN QUAN

việc triển khai trong mơi trường thực tế đơi khi địi hỏi tài ngun tính tốn lớn và phức tạp hơn,đặc biệt là khi yêu cầu thời gian thực và độ chính xác cao.

Hình 2.9: Trực quan hóa một vài ngưỡng sinh ra từ mơ hình DBNet [2]

Hình 2.10: Một số kết quả phát hiện của mơ hình DBNet [2]

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>2.2.3Character Region Awareness for Text Detection [3]</b>

Character Region Awareness for Text Detection [3] được công bố vào tháng 4/2019. Bài báođề xuất một mơ hình có thể phát hiện ký tự bằng cách dự đoán ra vùng chứa của từng ký tự, vàvùng khoảng cách giữa các ký tự khác nhau. Sau khi có được hai đầu ra trên, mơ hình sẽ nối cácký tự lại bằng xử lý ảnh và trả về các bao đóng bao quanh các vùng chứa ký tự.

Hình 2.11 mơ tả cấu trúc của mơ hình CRAFT [3]. Mơ hình bao gồm VGG16 làm backbonecủa mơ hình. Backbone có nhiệm vụ trích xuất ra các đặc trưng từ đơn giản đến phức tạp củaảnh. Tiếp theo, các đặc trưng này sẽ được phóng to lên và kết hợp các các đặc trưng của tầngCNN phía trên. Việc áp dụng phương pháp này giúp cho mơ hình có thể nhận biết được các đốitượng từ toàn cục đến cục bộ với các độ phức tạp của đặc trưng khác nhau. Điều này giúp mơhình có thể phát hiện ra được ký tự tốt hơn. Cuối cùng, mơ mình qua 4 tầng CNN chồng lại nhauvà trả về hai bản đồ nhiệt, đó là bản đồ nhiệt của ký tự và bản đồ nhiệt của vùng nối các ký tựlại thành một từ. Sau khi có được hai bản đồ nhiệt trên, CRAFT [3] sẽ sử dụng xử lý ảnh, nốicác ký tự có vùng nối trùng lên nhau thành một từ và trả về bao đóng chứa gọn từ đó bên tronglàm kết quả đầu ra. Các tập dữ liệu gán nhãn bao đóng sẵn từng ký tự trong ảnh thì được cơngbố rộng rãi và nhiều nhưng khơng có tập dữ liệu nào gán nhãn cả vùng nối giữa hai ký tự. Để

Hình 2.11: Kiến trúc mơ hình CRAFT [3].

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

NHỮNG NGHIÊN CỨU LIÊN QUAN

giải quyết vấn đề trên, CRAFT [3] đã tạo ra nhãn của vùng giao nhau này bằng giải thuât nhưhình 2.12. Đối với nhãn từng ký tư, CRAFT sẽ nối các đỉnh chéo của từng ký tự lại với nhau.Điểm giao của 2 đường chéo này sẽ là tâm, và CRAFT [3] sẽ tạo nên bản đồ nhiệt Gaussian vớitâm ký tự mới được tạo và nằm trong bao đóng của từng từ. Cịn đối với vùng giao nhau củaký tự, CRAFT [3] sẽ lấy tâm của phần tam giác trên và tam giác dưới được tạo bởi đường chéocủa bao đóng ký tự của 2 ký tự liên tiếp nhau. 4 điểm này sẽ được nối lại thành 1 bao đóng làCRAFT [3] sẽ tạo ra bản đồ nhiệt Gaussian của vùng giao này bằng bao đóng mới được tạo ra.Cả hai loại vùng nhiệt Gaussian này sẽ được làm nhãn để mơ hình phía trên có thể học được vàdự đốn ra kết quả.

Mơ hình cho ra kết quả tốt hơn nhiều so với các bộ phát hiện ký tự khác trên các tập dữ liệuIC13, IC15 và MSRA-TD500 cùng với FPS tương đối ổn. Hình 2.13 cho thấy kết quả recall,precision và h-mean tốt hơn nhiều so với các mơ hình khác.

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

có nhiệm vụ cắt ra các vùng hình ảnh có chứa đơn thuốc. Chúng tơi sẽ lần lượt cho các ảnh trênvào mơ hình và trả về chuỗi ký tự. Trong một hình ảnh đơn thuốc có thể chứa cả các từ tiếnganh lẫn tiếng việt. Vì thế, chúng tơi cần lựa chọn các mơ hình có thể nhận diện được nhiều loạingơn ngữ mà trong đó có thể nhận dạng được cả hai ngôn ngữ trên.

Nhận dạng ký tự trong ảnh là bài toán đã được xây dựng từ lâu. Với sự phát triển của các

<i>mơ hình học sâu và lượng dữ liệu dồi dào, các mơ hình nhận dạng ký tự sử dụng NN (NeuralNetwork)</i>đang được nghiên cứu ngày càng nhiều và cho ra độ chính xác rất cao.

Một trong các hướng tiếp cận chính là nhận dạng ký tự không quan tâm đến ngữ cảnh. Cácmô hình này sẽ dự đốn ra được ký tự từ đặc trưng hình ảnh. Các ký tự sẽ khơng ảnh hưởng gìvới nhau. Ký tự sẽ được nhận diện lần lượt và ghép lại để cho ra một kết quả nhận diện. Các mơ

<i>hình trên sẽ sử dụng hướng tiếp cận CTC (Connectionist Temporal Classification) [23] để nhận</i>

diện. Các mô hình dựa trên phương pháp này có một nhược điểm là sẽ khó nhận diện chính xácvới các ảnh đầu vào bị che, mất hay bị thiếu từ. Vì thế, một cách tiếp cận khác được phát triểnđể giải quyết vấn đề trên.

Các tiếp cận thứ 2 chính là nhận diện ký tự sử dụng ngữ cảnh. Mơ hình ngồi việc học nhậndiện ký tự trong ảnh mà còn học ngữ cảnh của câu. Điều này giúp mơ hình có thể tự dự đoán rakết quả khi dữ liệu đầu vào bị lỗi hoặc thiếu ký tự. Mơ hình theo phương pháp này thường sẽ sửdụng cơ chế attention [24] hoặc transformer [25] để tạo ra các mơ hình ngơn ngữ và sẽ được sửdụng chung với phần nhận diện ảnh để có thể cho ra kết quả dự đốn cuối cùng.

Hình 2.14: VietOCR<sup>1</sup>với cơ chế seq2seq.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

NHỮNG NGHIÊN CỨU LIÊN QUAN

Do ảnh đầu vào là đơn thuốc do người dùng chụp lên, ảnh dễ bị nhiễu, mờ hoặc mất chữ nêncách tiếp cận thứ 2 phù hợp hơn để giải bài tốn này. Một mơ hình mà chúng tơi đề xuất sử dụngchính là mơ hình VietOCR. Mơ hình trên có thể nhận dạng được các từ tiếng anh lẫn tiếng việtvì được huấn luyện trên một tập dữ liệu đa dạng và phong phú với các từ, chữ số của nhiều ngơnngữ. Ngồi ra, mơ hình cũng nhận dạng rất tốt dù ảnh đầu vào bị mờ, không rõ ràng hay mất 1vài ký tự nhờ cơ chế dự đoán các ký tự bị mất dựa trên ngữ cảnh của câu văn.

Mơ hình VietOCR được một nhà khoa học tên Quoc Pham xây dựng và công bố công khaivào 5/2020. Tác giả đã xây dựng mơ hình nhận diện ký tự với tập dữ liệu tiếng việt và tiếng anh.Hai mơ hình được sử dụng chính là cơ chế attention và transformer để huấn luyện mơ hình trên.Đầu tiêng, ảnh đầu vào của cả hai cách tiếp cận trên đều được qua một mơ hình CNN nhằm tríchxuất được các đặc trưng từ hình ảnh và sau đó sẽ sử dụng các mơ hình ngơn ngữ như Seq2Seq[26] và Transformer để nhận dạng ký tự.

Ảnh đầu vào sẽ được đưa đến bước đầu tiên là trích xuất đặc trưng. Mơ hình CNN dùng

<i>trong bài tốn OCR (Optical Character Recognition) nhận đầu vào là một ảnh, thơng thường có</i>

kích thước với chiều dài lớn hơn nhiều so với chiều rộng, do đó việc điều chỉnh tham số stridesize của tầng pooling là cực kì quan trọng. VietOCR thường chọn kích thước stride size của cáclớp pooling cuối cùng là w × h = 2 × 1 trong mơ hình OCR. Khơng thay đổi stride size phù hợpvới kích thước ảnh thì sẽ dẫn đến kết quả nhận dạng của mơ hình sẽ tệ. Sau đó, đặc trưng trênsẽ đi qua các mơ hình ngơn ngữ với cơ chế end-to-end.

Với mơ hình sử dụng seq2seq kết hợp attention, cách hoạt động của mơ hình này tương tựnhư kiến trúc của mơ hình seq2seq trong bài tốn dịch máy. Với bài toán dịch máy từ tiếng việtsang anh, chúng ta cần mã hóa một chuỗi tiếng việt thành một vector đặc trưng, cịn trong mơhình nhận dạng ký tự, thì dữ liệu đầu vào này là một ảnh. Một ảnh qua mơ hình CNN, sẽ chomột bản đồ đặc trưng có kích thước kênh x chiều cao x chiều ngang, này sẽ trở thành đầu vào

<i>cho mơ hình LSTM (Long short-term memory), các đặc trưng sẽ được duỗi thẳng để phù hợp</i>

với u cầu của mơ hình LSTM. Hình 2.14 mơ tả cấu trúc của VietOCR sử dụng seq2seq.Mơ hình VietOCR sử dụng Transformer cũng tương tự cấu trức với mơ hình trên, chỉ kháclà VietOCR thay phần seq2seq thành Transformer để làm mơ hình ngơn ngữ nhận dạng ký tự.Hình 2.15 mơ tả cấu trúc của VietOCR sử dụng Transformer.

Trên tập dữ liệu gồm 10 triệu ảnh nhận diện ký tư, VietOCR cho ra kết quả như hình 2.16.Mơ hình VietOCR khi sử dụng cơ chế Transformer có kết quả tốt hơn khơng nhiều nhưng thờigian thực thi lại lâu gấp 4 lần so với cơ chế sqe2seq. Và kết quả của hai mơ hình đều tương đốitốt và có thể được ứng dụng để giải quyết các bài toán nhận dạng ký tự.

<small>3 class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Hình 2.15: VietOCR<sup>2</sup>với cơ chế Transformer.

Hình 2.16: Kết quả của mơ hình VietOCR<sup>3</sup>.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

1. Phân đoạn ra đối tượng quan trọng trong ảnh đơn thuốc đầu vào.

2. Đối tượng được phân đoạn đó sẽ được đi qua mơ hình phát hiện ký tự để trả về các vùngchứa ký tự.

3. Mơ hình nhận diện ký tự sẽ nhận dạng các ký tự được mơ hình phát hiện trả về kết quả.

4. Các ký tự được trả về sẽ được phân loại ra các tên thuốc. Ngoài ra, số lượng cho mỗi loạithuốc sẽ được trích xuất ra và kết hợp lại với nhau.

5. Tên thuốc sẽ qua thuật tốn tìm kiếm trong cơ sở dữ liệu tên thuốc và đưa ra kết quả gợiý. Kết quả trả ra sẽ là tên thuốc trên đơn, các thuốc gợi ý trong cơ sở dữ liệu cùng với sốlượng tương ứng của thuốc đó.

Thơng tin trong đơn thuốc mà ta quan tâm trong mơ hình này chính là tên thuốc và số lượngcủa mỗi thuốc. Các thông tin cá nhân như họ tên, ngày tháng năm sinh hay bệnh viện, bác sĩ tasẽ không quan tâm đến. Nhưng trong một đơn thuốc thường có đầy đủ các thơng tin trên. Cácthông tin ta không quan tâm đến nếu để đi qua các mơ hình phát hiện, nhận dạng ký tự sẽ tốnthêm nhiều tài ngun tính tốn cũng như là gây nhiễu, giảm độ chính xác khi qua mơ hình phânloại tên thuốc. Để giảm thiểu những trường hợp trên, chúng tơi xin đề xuất sử dụng mơ hìnhphân đoạn để trích xuất ra vùng ảnh chứa thơng tin tên thuốc, và dùng kết quả này làm đầu vàocho các mơ hình sau để tăng độ chính xác và tốc độ xử lý.

Hình 3.1: Mơ hình đề xuất thực hiện trích xuất thơng tin từ hình ảnh đơn thuốc

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Mơ hình chúng tơi sử dụng để huấn luyện phân đoạn dựa trên tập dữ liệu đơn thuốc là U<sup>2</sup>Net. Đây là mơ hình có độ chính xác cao, cùng với hai loại mơ hình chính là mơ hình U<sup>2</sup>-Netđầy đủ, với độ chính xác cao nhưng thời gian thực thi lâu và một mơ hình rút gọn, có khả năngthực thi cho ra phân đoạn của đơn thuốc nhanh hơn nhưng độ chính xác lại giảm. Chúng tơiquyết định huấn luyện bằng cả hai mơ hình trên của U<sup>2</sup>-Net.

-Với mơ hình U<sup>2</sup>-Net đầy đủ, mơ hình bao gồm 7 tầng RSU chồng lên nhau. Chúng thôi sửdụng kiến trúc mặc định được mô tả trong bài báo của U<sup>2</sup>-Net [1]. Với mơ hình U<sup>2</sup>-Net rút gọn,chúng tơi cũng lựa chọn kiến trúc mặc định được công bố của bài báo trên. Sự khác biệt giữa

<i>kiến trúc của hai mơ hình trên là số đặc trưng được trích xuất ở tầng giữa bằng các filter. Mơ</i>

hình U<sup>2</sup>-Net thu nhỏ có số filter ít hơn nên có kích cỡ nhỏ hơn và tốc độ xử lý nhanh hơn. Nhưngbù lại là độ chính xác kém hơn so với mơ hình U<sup>2</sup>-Net đầy đủ.

Ảnh đầu vào đều được chỉnh xuống độ phân giải 320x320 và tăng thêm dữ liệu huấn luyệnbằng cách lật ảnh theo chiều ngang và ngẫu nhiên cắt một phần ảnh. Khi chạy thực thi, ảnh đầuvào vẫn sẽ được chỉnh xuống 320x320 và cho qua mô hình để sinh ra kết quả.

Kết quả mơ hình sẽ là các con số có giá trị từ 0 đến 1 đại diện cho từng pixel của ảnh.Ngưỡng chúng tôi chọn để đánh dấu pixel đó mang giá trị bằng 1 là 0.7. Các giá trị dưới 0.7 sẽmang giá trị là 0. Đầu ra của mơ hình phân đoạn sẽ được hợp với ảnh đầu vào để cho ra một ảnhmới. Ảnh mới là ảnh được cắt từ ảnh cũ, với hình dạng và tọa độ được lấy từ mơ hình phân đoạn.Hình 3.2 là ảnh đơn thuốc đầu vào và hình 3.3 là ảnh kết quả trả về của mơ hình phân đoạn vàlà dữ liệu đầu vào cho mơ hình phát hiện ký tự

Sau khi ta có được phân đoạn thông tin quan trọng là tên thuốc và số lượng mỗi loại thuốctrong ảnh, ta cần một thuật toán phát hiện các ký tự trong ảnh nhằm làm đầu vào cho mơ hìnhnhận dạng ký tự. Mơ hình phát hiện ký tự này có nhiệm vụ nhận vào một ảnh đầu vào và dự

<i>đoán ra các bao đóng (bounding box) bao quanh các ký tự. Các bao đóng này sẽ được trả về</i>

dưới dạng tọa độ của 4 góc. Các phần ảnh được cắt ra từ các bao đóng này có vai trị là ảnh đầuvào cho mơ hình nhận dạng ký tự được áp dụng ở bước sau.

Mơ hình phát hiệ ký tự mà chúng tơi quyết định sử dụng chính là mơ hình CRAFT [3]. Mơhình CRAFT [3] này là một mơ hình dự đốn ra bản đồ nhiệt của từng ký tự trong ảnh và bảnđồ nhiệt của sự tương quan giữa các ký tự với nhau, sau đó nối lại để tạo thành các từ trong mộtcâu và tạo ra các bao đóng. Các bản đồ nhiệt được tạo ra là các bản đồ nhiệt Gaussian. Đây làmột mơ hình phát hiện ký tự cho độ chính xác rất cao, vượt trội hơn so với các mơ hình pháthiện ký tự khác và có thời gian thực thi tương đối nhanh. Với bài tốn trích xuất thơng tin đơnthuốc, các ký tự cần được phát hiện đầy đủ nhất có thể với một tốc độ vừa phải thì đây là mộtmơ hình cực kỳ phù hợp để làm cơ sở giải quyết bài tốn phát hiện ký tự. Ngồi ra, các ảnh đầuvào đã được giảm kích cỡ xuống bằng việc cắt ra từ mơ hình phân đoạn cũng góp phần nângcao tốc độ tính tốn cũng như độ chính xác của mơ hình.

Tuy nhiên, mơ hình CRAFT [3] vẫn tồn tại một hạn chế rất lớn. Các ký tự được dự đoán rasẽ bao gồm bản đồ nhiệt của các ký tự đó cùng với bản đồ nhiệt sự liên quan với các mơ hìnhcạnh bên nên khi các ký tự chỉ đứng một mình, bản đồ nhiệt được tổng hợp lại chỉ có bản đồnhiệt của ký tự. Điều này khiến cho các ký tự đơn đứng một mình, có độ lớn tương đối nhỏ nhưsố 1 sẽ bị coi là nhiễu và bị loại bỏ ra. Nhưng các ký tự đó lại rất quan trọng vì các con số bị mơhình CRAFT [3] loại bỏ có thể là các con số chỉ số lượng của loại thuốc nào đó. Vì vậy, Chúngtơi cần phải bảo tồn bản đồ nhiệt nhưng vẫn hạn chế các giá trị nhiễu để tăng độ chính xác củamơ hình. Ngồi ra, mơ hình CRAFT [3] được thiết kế để phát hiện từng từ trong ảnh. Nếu ta lấy

</div>

×