Mục tiêu tổng quan mà nghiên cứu hướng tới là khôi phục lại biểu diễn mô hình 3D của các tấm mộc bản bị thất lạc hoặc không toàn vẹn dựa trên những thư tịch bản in đã được số hóa 2D còn
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2Công trình được hoàn thành tại: Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS LÊ THANH HÀ
Phản biện: TS Đặng Thành Trung
Phản biện: TS Đặng Đức Hạnh
Luận vắn đã được bảo vệ trước Hội đồng cấp Đại học Quốc gia chấm luận văn thạc sĩ họp tại Trường Đại học Công nghệ, Đại học Quốc gia
Hà Nội, vào hồi 08 giờ 58 ngày 21 tháng 05 năm 2022
Có thể tìm hiểu luận văn tại: Trung tâm Thông tin - Thư viện, Đại học Quốc gia Hà Nội
Trang 3MỞ ĐẦU
Mộc bản Triều Nguyễn được Unesco công nhận là di sản tư liệu thế giới từ năm 2009 Việc bảo tồn và phát huy giá trị di sản tư liệu đóng vai trò quan trọng để gìn giữ tư liệu quá khứ nhằm kết nối tới hiện tại
và tương lai
Ngày nay chúng ta đã thu thập, bảo tồn và lưu trữ được khoảng gần 35.000 tấm mộc bản Tuy nhiên tổng số lượng thực tế các tấm mộc bản triều Nguyễn theo ước lượng vào khoảng trên 50.000 tấm Thêm vào đó, có một số lượng lớn những tấm mộc bản tuy vẫn được lưu trữ, bảo tồn nhưng không còn toàn vẹn, thậm chí có những tấm mộc bản chỉ còn lại một nửa hoặc một phần ba của nguyên bản Những thư tịch liên quan về những tấm mộc bản bị mất hoặc không toàn vẹn (là bản in được in ra từ tấm mộc bản) hiện vẫn đang được bảo tồn Cùng với sự phát triển về công nghệ hiển thị, số hóa 3D và máy quét phân giải cao chúng ta đã thành công lưu trữ và hiển thị các tấm mộc bản và thư tịch của chúng trong môi trường máy vi tính Từ những tiền
đề trên, nghiên cứu này tập trung vào việc khôi phục lại số hóa của những tấm mộc bản bị thất lạc hay không toàn vẹn kể trên
Mục tiêu tổng quan mà nghiên cứu hướng tới là khôi phục lại biểu diễn (mô hình) 3D của các tấm mộc bản bị thất lạc hoặc không toàn vẹn dựa trên những thư tịch (bản in) đã được số hóa 2D còn lưu trữ lại của các tấm mộc bản trên
Có hai hướng tiếp cận cho bài toán khôi phục biểu diễn 3D của một đối tượng nói chung và của tấm mộc bản nói riêng là cách trực tiếp hoặc cách gián tiếp Cách trực tiếp chúng ta sẽ khôi phục lại
mô hình 3D từ các điểm trong không gian dữ liệu 3D (point clouds);
và cách gián tiếp là khôi phục lại đối tượng trung gian mà có thể phục dựng lại biểu diễn 3D từ chúng Cách trực tiếp khôi phục một biểu diễn 3D từ một góc nhìn (single view) 2D là khó và các nghiên cứu hiện nay cũng cho thấy sự hạn chế của phương pháp này Do vậy,
Trang 4nghiên cứu này lựa chọn cách tiếp cận gián tiếp và giới hạn lại phạm
vi của bài toán từ việc khôi phục lại bản 3D của tấm mộc bản sang khôi phục lại ảnh độ sâu (depthmap) của tấm mộc bản
Mục đích nghiên cứu
Nghiên cứu này xây dựng phương pháp xử lý dữ liệu, đề xuất mô hình, quy trình thực hiện khôi phục lại mô hình depthmap từ bản in 2D mộc bản Sau khi khôi phục lại depthmap từ bản in 2D, tiếp tục nghiên cứu cách đánh giá kết quả của mô hình đào tạo và kết luận kết quả của nghiên cứu
Phương pháp nghiên cứu
Phương pháp nghiên cứu khi thực hiện luận văn là quan sát tấm mộc bản, bản số hóa 3D và bản in 2D của chúng để hình dung ra các đối tượng, đầu vào đầu ra của bài toán Kế tiếp, tác giả phân tích các đối tượng kể trên từ nhiều mẫu đúc rút ra các đặc điểm, đặc tính và phân
bố của vật thể mà từ đó thu được các thông tin để khảo sát và tham khảo các lý thuyết liên quan, cùng với các công cụ hiện có trong lĩnh vực để có thể ánh xạ vào bài toán của luận văn Sau khi khảo sát, tham khảo tác giả tổng hợp lại kiến thức và đề xuất các quy trình trong xử
lý dữ liệu và quy trình khôi phục lại depthmap cho mộc bản và thử nghiệm chúng Cuối cùng, luận văn thực hiện đánh giá và đưa ra nhận xét cho kết quả của bài toán
Đóng góp mới của luận văn
Luận văn này đã thiết lập được quy trình xây dựng tập dữ liệu huấn luyện là tập các ký tự được trích xuất từ tấm mộc bản 3D và bản in tương ứng của chúng Thử nghiệm các mô hình học máy khác nhau và
đề xuất mô hình học máy tốt nhất áp dụng trong bài toán khôi phục depthmap từ bản in 2D mộc bản Đánh giá được kết quả của sau khi thực hiện khôi phục depthmap từ bản in 2D mộc bản
Trang 5Kết quả đạt được
Sau khi tập trung nghiên cứu đề tài, tôi đã giải quyết được các vấn đề
mà trong phần mục tiêu đã đề ra Luận văn đã trình bày một cách rõ
ràng, chi tiết từ bước chuẩn bị dữ liệu cho đến các mô hình học máy
và khôi phục lại mô hình depthmap từ bản in 2D mộc bản
Kết cấu luận văn
Ngoài phần mở đầu và phần tham khảo, luận văn này được tổ chức
thành 4 chương với các nội dung chính như sau:
- Chương 1 Đặt vấn đề
o Giới thiệu mộc bản triều Nguyễn
o Hiện trạng của mộc bản triều Nguyễn
o Khôi phục mộc bản từ bản in
- Chương 2 Kiến thức liên quan
o Công nghệ số hóa 3D mộc bản
o Tổng quan về depthmap
o Mô hình sinh depthmap từ ảnh 2D
o Độ đo Fréchet Inception Distance dùng để đánh giá
mô hình sinh depthmap từ ảnh 2D
- Chương 3 Khôi phục depthmap từ bản in 2d mộc bản
o Quy trình chuẩn bị tập dữ liệu huấn luyện
o Sinh depthmap từ bản in 2D mộc bản
- Chương 4 Thử nghiệm và đánh giá
o Bộ dữ liệu huấn luyện dùng đề khôi phục depthmap
o Thử nghiệm các mô hình khác nhau trên tập dữ liệu
con và đề xuất áp dụng mô hình tốt nhất trong toàn bộ tập dữ liệu
o Đánh giá kết quả
- Phần kết luận, tác giả tổng kết lại những công việc đã hoàn
thành, những vấn đề còn tồn tại và định hướng tương lai của
bài toán khôi phục depthmap từ bản in 2D mộc bản
Trang 6CHƯƠNG 1 KIẾN THỨC NỀN TẢNG
1.1 Tổng quan mộc bản triều Nguyễn
1.1.1 Giới thiệu mộc bản triều Nguyễn
Mộc bản triều Nguyễn là những tấm gỗ khắc chữ Hán hoặc chữ Nôm ngược dùng để in ra các sách, sử dụng phổ biến ở Việt Nam trong thời kỳ phong kiến và được lưu giữ đến ngày nay
1.1.2 Hiện trạng của mộc bản triều Nguyễn
Hiện tại, việc bảo tồn di sản mộc bản triều Nguyễn đang gặp phải nhiều vấn đề và đối mặt với nhiều thách thức Trong đó có hai vấn đề lớn và nổi bật là mộc bản bị thất lạc trong quá trình bảo quản, vận chuyển hoặc do chiến tranh; và theo thời gian, vật liệu gỗ tạo nên các mộc bản dần bị biến dạng, hư hỏng do các nguyên nhân như thời tiết, nấm mốc, mối, mọt, cháy nổ
Thực tế thống kê cho thấy, di sản mộc bản Triều Nguyễn để lại hơn 50.000 tấm nhưng hiện nay chỉ còn 34.619 tấm đang được lưu trữ và bảo tồn tại Trung tâm Lưu trữ quốc gia IV, trong đó nhiều tấm
là chỉ là một phần còn lại của mộc bản và đối mặt với hiện trạng vật
lý yếu, khó bảo tồn Có những tấm mộc bản đã bị mất hơn một nửa tấm hoặc chỉ còn lại một phần ba hay thậm chí còn lại một góc so với nguyên bản của tấm mộc bản
Từ những vấn đề nêu trên, chúng ta cần có một phương án, cách thức lưu trữ bền vững và phục hồi lại những tấm mộc bản đã bị thất lạc, hư hỏng hoặc không toàn vẹn
1.1.3 Khôi phục mộc bản từ bản in
Trang 7Số lượng mộc bản thực tế hơn 50.000 tấm nhưng hiện tại còn lưu trữ 34.619, hơn thế nữa có rất nhiều tấm không nguyên vẹn Vấn đề của bài toán là khôi phục lại các mộc bản bị thất lạc hoặc không nguyên vẹn từ những bản in còn lưu trữ lại Cụ thể, nghiên cứu phương pháp khôi phục lại mô hình 3D của mộc bản (những tấm đã được số hóa thành mô hình 3D) từ ảnh 2D bản in tương ứng của mộc bản
Phương pháp tiếp cận gián tiếp sử dụng depthmap được tác giả áp dụng trong luận văn này Giới hạn nghiên cứu của luận văn là
khôi phục depthmap từ bản in 2D mộc bản
Hình 1.4 Mô tả tổng quát xử lý khôi phục mộc bản
Hình 1.4 mô tả tổng quát xử lý khôi phục mộc bản khi khôi phục lại một tấm mộc bản đã bị thất lạc hoặc không toàn vẹn (đã mất) Trong
đó phương pháp tiếp cận mà tác giả sử dụng là khôi phục lại ở mức ký
tự của tấm mộc bản đã mất, do vậy trong luận này sẽ giới hạn khôi
phục lại tấm mộc bản ở mức ký tự depthmap
Trang 8Vật trung bình
để quét các chi tiết nhỏ tới lớn trong cùng vật quét
Trang 9STT Kĩ thuật số
hoá 3D
Vật nhỏ
Vật trung bình
Trong đồ họa máy tính 3D và thị giác máy tính, depthmap (bản đồ độ sâu) là một hình ảnh hoặc kênh hình ảnh chứa thông tin liên quan đến khoảng cách bề mặt của các đối tượng cảnh từ một điểm nhìn (view-point)
Trang 10Hình 1.8 Mô hình pix2pix
Hình 1.16 mô tả chia ảnh thành các mảnh, mảnh màu xanh dương trên hình là tương đồng giữa ảnh đầu vào và đầu ra, xác định mảnh màu xanh dương là anchor và những mảnh ngẫu nhiên khác (màu vàng) Như vậy, những dữ liệu sinh ra từ mảnh xanh dương sẽ là positive và những mảnh dữ liệu còn lại là negative Việc sử dụng các mảnh như
trên được tác giả đặt tên là “Patchwise”, toàn bộ quá trình học mâu
thuẫn dựa trên các mảnh được đặt tên là “Patchwise contrastive ing”
Trang 11learn-1.5 Độ đo Fréchet Inception Distance
Để đánh giá được một mô hình học máy có tốt hay không tốt chúng ta cần những độ đo để đánh giá chúng Trong mô hình GAN việc đánh giá này cũng là một lĩnh vực lớn và vẫn còn đang được thảo luận nghiên cứu hiện này Việc đánh giá, so sánh một bức ảnh này với một bức ảnh khác là một việc khó khăn, và phụ thuộc nhiều về cảm quan của con người Có nhiều cách và nhiều độ đo để phục vụ cho công việc đánh giá này độ đo FID thường được dùng trong các mô hình GAN để đánh giá độ chính xác của mô hình
Trang 12CHƯƠNG 2 KHÔI PHỤC DEPTHMAP TỪ BẢN IN 2D
depth-đó
Bước 2: Xây dựng bộ dữ liệu huấn luyện
Bước 3: Huấn luyện mô hình Đầu ra “Mô hình học máy”
Trang 13Bước 5, “Xử lý hậu kỳ” tấm depthmap của mộc bản Đầu ra của bước này sẽ là một tấm depthmap của mộc bản được khôi phục hoàn chỉnh
từ bản in 2D
2.1 Quy trình chuẩn bị tập dữ liệu huấn luyện
Hình 2.2 Quy trình xử lý dữ liệu huấn luyện mộc bản
Hình 2.2 mô tả chi tiết quy trình xử lý dữ liệu là đầu vào phục
vụ cho việc huấn luyện mô hình học máy Chia tập dữ liệu huấn luyện thành tập A là tập dữ liệu nguồn tức tập dữ liệu chứa các ký tự 2D và tập B là tập dữ liệu đích tức tập dữ liệu chứa các ký tự depthmap Chuẩn bị dữ liệu cho tập B
- Xử lý trích xuất ký tự chữ từ mô hình 3D của mộc bản
- Thực hiện phép chiếu theo trục z để trích xuất ra depthmap của ký tự
Chuẩn bị dữ liệu cho tập A thực hiện theo xử lý trích xuất ký
tự chữ từ ảnh 2D Đầu ra của bước này là các ảnh của từng chữ trong bản in 2D của mộc bản
Trang 14Dữ liệu chữ của tập A và tập B đặt tên và so khớp tương ứng một-một giữa chữ trong mô hình 3D và chữ trong ảnh 2D của bản in mộc bản
2.1.1 Xử lý dữ liệu thủ công
2.1.2 Xử lý dữ liệu bán tự động
Mục tiêu của việc xây dựng công cụ này là có thể xác định một lưới cắt các vùng trên ảnh của in 2D sao cho có thể phân tách được các vùng có chữ và không có chữ (vùng nền)
Quy trình xử lý
- Thực hiện đảo chiều ảnh 2D theo chiều từ trái qua phải
- Xoay ảnh dựa theo khung sách sao cho khung trên song song chiều ngang bức ảnh
- Thực hiện cắt ảnh bỏ phần viền của ảnh chỉ lấy vùng trong khung của sách
- Xử lý ảnh để xác định các đường dọc và ngang mức một của ảnh để có thể cắt bức ảnh thành các khối lớn
- Thực hiện xử lý thêm các điểm trắng trên ảnh, giảm điểm đen, làm mỏng chữ và các đường viền
- Tìm các đường dọc, ngang sao cho tổng giá trị điểm ảnh trên đường đó không vượt quá một ngưỡng thì chia ảnh thành 2 phần khác nhau theo đường dọc, ngang đó
- Với mỗi khối thu được ở mức một, tiếp tục thực hiện tìm đê qui các đường dọc và ngang (mức hai, ba, …, n) trong khối
Trang 152.1.3 Sinh ảnh depthmap từ mô hình 3D
2.1.4 Sinh thêm dữ liệu huấn luyện
Áp dụng 5 mức threshold 35%, 40%, 45%, 50% và 55% sinh thêm ảnh theo độ dày mực
Áp dụng xoay ảnh với các độ xoay 0o, 90o, 180o và 270o sinh thêm các ảnh theo các góc khác nhau
2.2 Sinh depthmap từ bản in 2D mộc bản
Hình 2.11 Quy trình khôi phục deptmap từ bản in
Hình 2.11 mô tả quy trình khôi phục depthmap từ bản in Bước “trích xuất ký tự” được xử lý tương tự như bước trích xuất ký tự
mô tả trong phần 2.1 Mỗi ký tự sau khi được trích xuất sẽ được đưa vào mô hình học máy đã học để sinh ra hình ảnh depthmap của các ký
tự tương ứng
Trang 16CHƯƠNG 3 THỬ NGHIỆM VÀ ĐÁNH GIÁBộ dữ liệu Toàn bộ tập dữ liệu: Ước lượng sẽ có khoảng 2400 chữ trên tổng 8
tấm mộc bản “Data augmentation” kích thước tập dữ liệu D = 2400 *
20 = 48000 chữ Tiếp tục chia tập dữ liệu thành bộ training (tập dữ liệu huấn luyện) 30000 chữ, bộ test (tập dữ liệu kiểm thử) 8000 và bộ validation (tập dữ liệu kiểm định) 10000 chữ Các dữ liệu chữ không phải là duy nhất, có nghĩa là có thể xuất hiện nhiều thể hiện của một chữ trong tập dữ liệu
Tập dữ liệu con: Tập dữ liệu con được trích xuất và chọn lựa từ toàn
bộ 48.000 dữ liệu thu thập được Cụ thể tập dữ liệu con lựa chọn 800
dữ liệu trong số đó và tiêu chí lựa chọn là những ký tự rõ ràng, có nhiều nét và nhiều tương đồng giữa depthmap-bản in Mục đích thiết lập ra tập dữ còn này để thử nghiệm cho nhiều mô hình khác nhau đảm bảo cùng một tập dữ liệu, giảm bớt thời gian huấn luyện, thử nghiệm
mô hình và đánh giá, so sánh được giữa các mô hình
3.2.1 Thử nghiệm CUT, Fast-Cut và pix2pix
Thực hiện thử nghiệm ba mô hình Pix2pix; Contrastive Learning for Unpaired (CUT); Fast Contrastive Learning for Unpaired (FastCUT) trên bộ dữ liệu con 800 dữ liệu Mục đích của thử nghiệm để so sánh
và chọn ra mô hình tốt nhất có thể áp dụng cho bài toán
Bảng 3.1 Tham số chạy thử nghiệm các mô hình GAN
Pix2pix CUT FastCUT Ý nghĩa
n_epochs 100 200 150 Số epochs mà mô
hình thực hiện
Trang 17learning rate cố định
= 0
learning_rate 0.0002 0.0002 0.0002 Tham số learning
rate khởi tạo
loss function LSGAN LSGAN LSGAN Hàm mất mát
Bảng 3.2 Kết quả thử nghiệm giữa các mô hình GAN
Trang 18CUT 240.2
FastCUT 342.2
3.2.2 Thử nghiệm pix2pix cho toàn bộ tập dữ liệu
Bộ tham số huấn luyện
Bảng 3.3 Bộ tham số mô hình pix2pix
1 load_size 286 Ảnh đầu vào được resize về
kích thước 286*286
2 crop_size 256
Ảnh cho vào mô hình để huấn luyện sẽ được cắt ngẫu nhiên theo kích thước 256*256
de-4 gan_mode LSGAN Sử dụng hàm mất mát lsgan
5 lambda_L1 100.0 Trọng số của L1 loss
6 lr 0.0002 Giá trị learning rate khởi tạo
Trang 19STT Tham số Giá trị Ý nghĩa
9 ndf 64 Số kênh bộ filters của
Genera-tor ở layer cuối conv
10 netD basic Discriminator sử dụng 70x70
PatchGAN
11 netG unet_256 Generator sử dụng unet_256
12 ngf 64 Số kênh bộ filters của
Discrim-inator ở layer đầu conv
13 no_dropout False Bật chế độ Dropout cho
Trang 203.3 Đánh giá
Bảng 3.6 Thống kê kết quả tất cả các mẫu kiểm thử
rate rmse
Ảnh đầu vào
Ảnh
Ảnh khác nhau
Nhận xét 2: Với những bức ảnh có độ phức tạp cao và ảnh đầu vào quá dầy mực, mô hình vẫn học được theo nét cơ bản tuy nhiên những phần nối, những chi tiết bị dầy mực sẽ bị sai
Nhận xét 3: Với những bức ảnh đầu vào bị thiếu mực, mất nét
mô hình học không chính xác, đầu ra phức tạp hơn rất nhiều
Giá trị FID = 129 Ta có thể thấy giá trị FID của toàn bộ dữ liệu đã
Trang 21216) điều đó chứng tỏ mô hình đã có sự cải thiện về độ khớp giữa ảnh thật và ảnh giả
Trang 22KẾT LUẬN VÀ KIẾN NGHỊ Kết quả đạt được
Đề tài đã đi vào tìm hiểu, xây dựng quy trình, xử lý dữ liệu và áp dụng học máy cho bài toán khôi phục mô hình depthmap cho mộc bản (chữ Nôm) Bước đầu luận văn đã cho ra được kết quả và đánh giá được kết quả
Bài toán khôi phục depthmap từ bản in 2D mộc bản là một bài toán con trong bài toán khôi phục mô hình 3D mộc bản từ bản in 2D mộc bản Từ kết quả của bài toán con này đã bước đầu cho thấy tính khả thi của bài toán lớn
Định hướng tương lai
Bài toán mà luận văn xử lý là bước đầu trong bài toán tổng thể khôi phục mô hình 3D mộc bản Phạm vi chính của luận văn là tìm được một mô hình sao cho có khả năng khôi phục lại đặc trưng 3D (depth-map) của các chữ trong mộc bản Ngoài ra, luận văn cũng chưa có đa dạng các phương pháp khác nhau để áp dụng vào bài toán Do đó, định hướng tương lai của bài toán là
- Cải tiến công cụ trích xuất ký tự chữ bán tự động bằng cách
áp dụng tập dữ liệu về chữ Hán-Nôm để nâng cao tính chính xác khi cắt các ký tự chữ
- Xử lý dữ liệu phục vụ cho quá trình huấn luyện tốt hơn
- Khôi phục lại cả những vùng không chứa chữ của mộc bản (vùng nền)
- Lắp ráp các vùng lại thành một bản depthmap hoặc 3D hoàn chỉnh
- Khôi phục 3D từ các mô hình depthmap