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 t
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 3TRƯỜ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.HCM
ngà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ịnh
3 Phản biện 1: TS Trần Tuấn Anh
4 Phản biện 2: PGS.TS Nguyễn Văn Sinh
5 Ủ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ó)
KỸ THUẬT MÁY TÍNH
Trang 4ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúcNHIỆM VỤ LUẬN VĂN THẠC SĨ
Ngày, tháng, năm sinh: 04/10/1999 Nơi sinh: Kiên Giang
I TÊN ĐỀ TÀI:
Trích Xuất Đặc Trưng từ Hình Ảnh Đơn Thuốc
Information Extraction from Prescription Images
II NHIỆM VỤ VÀ NỘI DUNG:
- 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, đặc biệ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 toán trích xuất thông tin từ hình ảnh đơn thuốc, các thuật toá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
III NGÀY GIAO NHIỆM VỤ : 04/09/2023
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2023
Trang 5Luận văn tốt nghiệp là quá 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 để hoàn thành luận văn và cũng
là 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ý
Trang 6Tóm tắt nội dung
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 hoà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 toá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
Trang 7In 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 will
be 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 tion from prescription images Finally, we will outline limitations and potential enhancements
informa-to improve information extraction results and suggestions
Trang 8Lời cam đoan
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ủa
TS 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 quá 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.Ngoà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 hoàn toà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 quátrình thực hiện
Tp Hồ Chí Minh, tháng 1 năm 2024
Tác giả
Trần Đức Thắng
Trang 91 Giới thiệu 1
2.1 Phân đoạn 3
2.1.1 Tập dữ liệu 3
2.1.2 Phân đoạn đối tượng quan trọng trong ảnh 3
2.1.3 U-Net 4
2.1.4 U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection [1] 5
2.2 Phát hiện 8
2.2.1 Phát hiện ký tự trong ảnh 8
2.2.2 DBNet: Real-time Scene Text Detection with Differentiable Binariza-tion [2] 10
2.2.2.1 Binarization 10
2.2.2.2 Adaptive threshold 12
2.2.3 Character Region Awareness for Text Detection [3] 14
2.3 Nhận dạng 15
2.3.1 VietOCR 17
3 Framework trích xuất thông tin từ đơn thuốc 19 3.1 Phân đoạn thông tin quan trọng trong ảnh 19
3.2 Phát hiện ký tự trong ảnh 20
3.3 Nhận diện ký tự 22
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
4 Thí nghiệm 31 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
Trang 105 Kết quả 37
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
6 Tổng kết 45 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
Tài liệu tham khảo 46 A Kiến thức nền tảng 49 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
Trang 114.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
Trang 12Danh sách hình vẽ
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 U2-Net [1] 8
2.5 Kết quả mô hình U2-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ình DBNet [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 VietOCR1với cơ chế seq2seq 16
2.15 VietOCR2với cơ chế Transformer 18
2.16 Kết quả của mô hình VietOCR3 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 toán nối các dòng tên thuốc (trái) và khi sử dụng thuật toá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) 38 5.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 hoàn chỉnh của framwork trích xuất thông tin từ đơn thuốc 42
Trang 13A.1 Caption for LOF 49
A.2 Mô hình nơ-ron thật và ảo4 50
A.3 Mô hình Convolution Neural Network5 51
A.4 Mô hình Nối tắt Residual Neural Network [5] 52
A.5 Mô hình LSTM6 53
Trang 14Chương 1
Giới thiệu
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 ngoà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 Đây
là một bài toán ta có thể giải quyết nhằm tạo ra giá trị sử dụng thực tiễn
Động lực
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, toà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 ngoà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 ngoà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ược
sĩ đọ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
Trang 15Mục tiêu
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
Tổng quan về báo cáo
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,
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
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
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ước trong 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.
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à
đề 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
cần thiết cho nghiên cứu trong đề tài
Trang 16Chương 2
Những nghiên cứu liên quan
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
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
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
2.1.1 Tập dữ liệu
Bài toá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 yê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ự đoán Ví dụ về dữ liệu được gán nhãn được miêu tả như hình 2.1
2.1.2 Phân đoạn đối tượng quan trọng trong ảnh
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ụng
mô 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 ngoà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 Ngoà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 toán
Bài toán này chính là bài toá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 toá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
Trang 17trưng được trích xuất thủ công với các giải thuật như foreground consistency [6] hay histograms
[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 toá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
trương theo nhiều tầng (Multi-level deep feature integration) [8] và trích xuất đặc trưng theo nhiều kích cỡ (Multi-scale feature extraction)[9] Phương pháp trích xuất đặc trưng theo nhiều
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 toá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 toà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
mất đi hình dáng toàn bộ của đối tượng Điển hình như mô hình SRM [12] sử dụng pyramid pooling moduleđể 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
Hay PAGRN [13] xây dựng các mô đun attention nhằm trích xuất đặc trưng toàn cục của mỗ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 U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection [1] có thể được dùng để áp dụng vào đề tài.
2.1.3 U-Net
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ý ảnh
y 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
và Thomas Brox trong một bài báo năm 2015 mang tên U-Net: Convolutional Networks for
Biomedical Image Segmentation [4] Mô hình này đã đạt được sự thành công lớn trong việc
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)
Trang 18NHỮNG NGHIÊN CỨU LIÊN QUAN
giải quyết các bài toá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
U-Net được thiết kế dựa trên kiến trúc mạng nơ-ron tích chập (Convolutional Neural
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.
Đ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
đượ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
- Kiến trúc của U-Net
• 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
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,
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ổngquát hóa của mô hình Quá 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
up-encoder Cấu trúc nối tắt (skip connections) được sử dụng để kết hợp thông tin từ
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
- Quá trình huấn luyện U-Net
• Hàm mất mát: Trong quá 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 toá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ụng
y 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à toà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 quá trình giảm chiều dữ liệu Tuy nhiên, U-Net vẫn còn một
số 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 Ngoài ra, việc huấn luyện mô hình U-Net cũngđòi hỏi tài nguyên tính toá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 toá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
2.1.4 U2-Net: Going Deeper with Nested U-Structure for Salient Object
Detection [1]
U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection [1] là một
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 U2-Net bao gồm 2 tầng kiến trúc U-Net chồng vào nhau Với
Trang 19thiế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
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
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 toán quá 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 U2-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 toá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 toá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ình
U2-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ử
dụng các kiến trúc Convolutional Neural Network (CNN) nhằm trích xuất đặc trưng Nhưng khi
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ục
bộ 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 toà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 toá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
copy and crop
input
image
tile
output segmentation map
Trang 20NHỮ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 U2-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 toà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ự toà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 đầu
ra 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 toàn cục và cục bộ tốt nhất được trích xuất ra từ mô hình U2-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]
Trang 21trê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.
Trang 22NHỮNG NGHIÊN CỨU LIÊN QUAN
các mô hình phía sau
Bài toá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 toá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
Đầu tiên, phương pháp phát hiện ký tự bằng dự đoán Regression-based text detectors dự
đoá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
chỉnh các tầng CNN Convolutional Neural Network và các khung định hướng để phát hiện ra
ký tự với nhiều hình dạng, kích cỡ khác nhau Hay như Rotation-Sensitive Regression Detector
[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
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ện
ra 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
Multi-oriented text detection with fully convolutional networks [21] đề xuất xây dựng bộ
phát hiện từng ký tự bằng cách sử dụng mô hình MSER Hay Seglink [22] dự đoá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ự đoá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 hoà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ông
bỏ 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
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
Region Awareness for Text Detection [3].
Hình 2.5: Kết quả mô hình U2-Net [1] so với các mô hình phân đoạn khác
Trang 232.2.2 DBNet: Real-time Scene Text Detection with Differentiable
Bina-rization [2]
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 hoá có thể lấy đạo hàm
(Differentiable Binarization) Kiến trúc này được giới thiệu trong bài báo nghiên cứu DBNet:
Real-time Scene Text Detection with Differentiable Binarization [2] vào năm 2019 của các
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
pháp phát hiện chữ bằng mô hình phân đoạn phân đoạn (segmentation-based) mà yê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 ảnh nà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ô
hình kiến trúc của DBNet được thể hiện trong Hình 2.6
Ngoà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
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 quá 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 Quá 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
Trang 24NHỮNG NGHIÊN CỨU LIÊN QUAN
Phương pháp Standard binarization nhận đầu vào là probabilty map P ∈ RH×W được tạo
ra 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 ∈ RH×W, trong đó pixel có giá trị 1 là vùngchứa chữ
ˆ
Bi, j = 1
1 + exp(−k(Pi, j− Ti, j)),trong đó, ˆBlà approximate binary map, T là adaptive threshold map được học từ mô hình,
k là chỉ số khuếch đại, thường được đặt là k = 50 Phương pháp này kết hợp sử dụngadaptive threshold không chỉ giúp phát hiện text so với background mà còn giúp tách cácvùng text bị ghép liền vào với nhau
Differentiable binarization (DB) cải thiện hiệu suất có thể được giải thích thông qua quá
trình lan truyền ngược (backpropagation) Xét hàm f (x) = 1+exp(−kx)1 là một à một hàm
DB, trong đó x = Pi, j− Ti, j Khi đó hàm mất mát l+ cho nhãn positive và l− cho nhãnnegative được biểu diễn như sau
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: Quá trình xử lý của mô hình DBNet [2]
Trang 25Bản đồ ngưỡng động (Adaptive threshold) được sinh ra từ bản đồ đặc trưng của mô hình
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 quátrì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]
Trang 26NHỮ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 nguyên tính toá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]
Trang 272.2.3 Character Region Awareness for Text Detection [3]
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ác
ký 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 nhau
và 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ông
bố 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]
Trang 28NHỮ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ủa
ký 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ự đoá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
Trang 29có 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
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 (Neural Network)đ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ác
mô hình này sẽ dự đoá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ô
hình trên sẽ sử dụng hướng tiếp cận CTC (Connectionist Temporal Classification) [23] để nhận
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 ngoà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ự đoán cuối cùng
Hình 2.14: VietOCR1với cơ chế seq2seq
Trang 30NHỮ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 toá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ệt
vì đượ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ữ Ngoà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
2.3.1 VietOCR
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
trong bài toán OCR (Optical Character Recognition) nhận đầu vào là một ảnh, thông thường có
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ên
sẽ đ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 toá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
cho mô hình LSTM (Long short-term memory), các đặc trưng sẽ được duỗi thẳng để phù hợp
với yê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ác
là 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ự
1 https://github.com/pbcquoc/vietocr
2 https://pbcquoc.github.io/vietocr/
3 https://pbcquoc.github.io/vietocr/
Trang 31Hình 2.15: VietOCR2với cơ chế Transformer.
Hình 2.16: Kết quả của mô hình VietOCR3
Trang 32Chương 3
Framework trích xuất thông tin từ đơn
thuốc
Chúng tôi đề xuất xây dựng một framework để thực hiện việc truy xuất thông tin quan trọng
từ đơn thuốc bao gồm 5 phần chính như hình 3.1 Framework bao gồm:
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 toá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ĩ ta
sẽ 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 nguyên tính toá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
Trang 33Mô 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à U2Net Đâ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 U2-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 U2-Net.
-Với mô hình U2-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 U2-Net [1] Với mô hình U2-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
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ô
hình U2-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ưng
bù lại là độ chính xác kém hơn so với mô hình U2-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ự
đ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ề
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ự đoá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 toá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ột
mô hình cực kỳ phù hợp để làm cơ sở giải quyết bài toán phát hiện ký tự Ngoà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 toá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 ra
sẽ 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 toà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ủa
mô hình Ngoà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