Quá trình render (kết xuất) các điểm dữ liệu đầu vào, phân vùng các điểm thành cấu trúc cây Octree lưu trữkết quảthành các filetrên hệthống, với mỗi file là một nút:
1- Ban đầu Octree chỉcó một nút duy nhất là nút gốc và nút này cũng đóng vai trò là nút lá.
2- Các điểm được thêm vào, từng điểm một vào nút gốc.
3- Các nút bên trong giữmột điểm nếu không có điểm nào khác nằm trong khoảng cách tối thiểu thì truyền xuống cho các nút con.
4- Giá trịkhoảng cách sẽgiảm đi một nửa ởmỗi cấp độ. 5- Các nút lá ban đầu giữnguyên tất cảcác điểm.
6- Nếu quá trình thêm vào đạt đến ngưỡng điểmnhất định, thì một nút lá con được tạo sẽchứa các điểm đã được lưu trữ. Các điểm có khoảng cách tối thiểu thì vẫn nằm ởnút lá gốc, và các điểm khác truyền xuống nút con mới tạo.
7- Dữliệu thường xuyên được đẩy vào Poisson-Disk theo chu kỳ, Ví dụ: với mỗi lần 1000 điểm được xửlý sẽđẩy vào một lần.
8- Nếu một nút chưa đủ sốđiểm để đẩy vào đĩa Poisson-Disk từlần truyền dữ liệu trước thì dữ liệu của nút đó sẽ bị xóa khỏi bộ nhớ trong lần truyềndữ liệu tiếp theo.
9- Nếu một điểm sắp được thêm vào nút đã bị xóa bộ nhớ từ lần truyền dữ liệu trước thì dữliệu sẽ được đọc ngược lại từđĩa vào bộnhớ.
Bước 3 và 4 tạo cácmẫu con có độphân giải thấp ở các nút thấp và cao hơn ở các nút cao hơn, các nút ởcấp độthấp chứacác điểm có khoảng cách lớn và khoảng cách này giảm một nữa ởcác nút có cấp độtiếp theo và tăng dần độphân giải.
Bước 5 và 6 cho phép hệ thống phân cấp Octree được mở rộng, hệ thống ban đầu nông và sẽ tăng dần theo chiều sâu khi các điểm mới được thêm vào. Các điểm bên trong các nút trên sẽ có khoảng cách nhất định và tại các nút lá cuối cùng sẽ lưu trữ các điểm còn lại.
Bước 7 cho phép người dùng xem ngay được trạng trái chuyển đổi góc nhìn trong Potree mà không cần phải chờ quá trình hoàn tất vì trình duyệt có xu hướng lưu bộ nhớcache.
Bước 8 và bước 9 đảm bảo luôn sửdụng bộnhớlưutrữ ởmức thấp vì luôn xóadữliệu lâu không được sửdụng, bước này hoạt động hiệu quảcao khi các điểm tương đối gần nhau và rơi vào cùng một nút Octree giúp tăng khảnăng một nút ở mức cao được xử lý hoàn toàn trong một chu kỳ đẩy dữ liệu vào đĩa Poisson. Scheiblauer [6-7] và Leimer [14] chỉra rằng thời gian xửlý sẽđược giảm bớt nếu các point cloudđược xắp
sếp trước và trường hợp tốt nhất là tập dữ liệu có thứ tự Morton khi các điểm rơi vào một nút được lưu trữ cạnh nhau và các nút được xử lý hoàn toàn cùng một thời điểm và giải phóng bộnhớ.
Cloud Compare 1.4.
Cloud Compare [8] là một chương trình xử lý point cloud, các lưới tam giác và các hình ảnh đã được hiệu chỉnh, tác giả là tiến sĩ Daniel Girardeau-Montaut trong dự án hợp tác giữa Telecom ParisTechvà bộ phận R&D củaEDF. CloudCompare cung cấp những công cụ cơ bản để chỉnh sửa các point cloudvà lưới tam giác với các thuật toán chuyên dụng như smoothing, gradient evaluation cùng với hệ thống kết xuất mầu sắc giúp người dùng dễ dàng trực quan hóa các đối tượng 3D đơn sắc.
Cloud Compare hỗ trợ các chuẩn đầu vào và đầu ra như: BIN, ASCII, PLY, OBJ, VTK, STL, E57, LAS/LAZ, FBX,….và cấu trúc Octree lưu trữ các mẫu con được sử dụng trong Cloud Compare, một octree tương ứng với phân vùng đệ quy của một thể tích không gian hình khối hộp. từ một hộp ban đầu các ô bát phân được hình thành bằng cách chia các hình lập phương thành tám hình lập phương con tương đương.
Cấu trúc octree trong Cloud Compare không giống cấu trúc cây, nó có dạng danh sách các giá trị, mỗi giá trị tương ứng với một point cloud và mã hóa vị trí tuyệt đối của một điểm tương ứng với cấp độ phân vùng octree, hai điểm trong cùng một ô trong từng phân vùng sẽ có cùng một đoạn mã liên kết gốc. Mã được tạo bằng cách ghép các bộ 3 số từ 0 đến 7 tương ứng với vị trí của ô cho mỗi cấp độ phân nhỏ, ô ở mức đầu tiên của phân vùng là các điểm quan trọng và các mức sâu hơn sẽ ít quan trọng hơn , các mã được sắp xếp để cho phép tìm kiếm nhị phân nhanh hơn (hình 3.2 mô tả quá trình mã hóa được gán cho các phân vùng).
Độ sâu tối đa của Octree trong Cloud Compare là 10 với mã hóa 32bit với mã hóa 64 bit độ sâu cho phép là 21 nhưng tăng dung lượng tệp tin mã hóa lên 50%, Cloud Comparehiển thị ba kiểu dữ liệu trực quan là: wire, points, plain cubes được minh họa trong hình 3.3 hình 3.4 và 3.5. Chế độ wire biểu diễn trực quan dữ liệu 3D dưới định dạng lưới tam giác, chế độ point biểu diễn trực quan dữ liệu 3D dưới dạng đám mây điểm và chế độ plain cubes biểu diễn dữ liệu 3D dưới dạng hình khối của phân vùng Octree.
Hình 3. 2.Chế độ wire biểu diễn trực quan dữ liệu 3D dưới định dạng lưới tam giác.
Hình 3. 4. Chế độ plain cubes biểu diễn trực quan dữ liệu 3D dưới định dạng phân vùng Octree.
Kết luận 1.5.
Trong chương này tác giả trình bày tổng quan về các công nghệ hiển thị 3D trên nền Web và Desktop cùng một số các phương pháp render points clouds, đồng thời cũng giới thiệu về công nghệ Potree là một dự án mã nguồn mở được nghiên cứu và phát triển bởi cộng đồng quốc tế từ năm 2016 cho đến nay bởi tác giả Markus Schütz. Potree đã được nhiều dự án nghiên cứu về đồ họa máy tính, các công ty chuyên về khảo sát địa chất tài trợ và áp dụng trong các chương trình hiển thị 3D của họ với những ưu điểm về cải tiến trong phân vùng phân cấp không gian dữ liệu, cách lấy mẫu con, và các tính năng giúp người dùng đo đạc, phân tích trực tiếp trên dữ liệu point cloudgốc.
CHƯƠNG 2.
HỆ THỐNG WEB BIỂU DIỄN DỮ LIỆU MỘC BẢN 3D
Từ những thách thức khó khăn và yêu cầu đặt ra khi số hóa các di sản văn hóa nói chung và số hóa Mộc bảnnói riêng, tác giả dựa vào những nguyên tắc và tiêu chí đã để ra để xây dựng hệ thống web biểu diễn dữ liệu Mộc bản 3D đáp ứng yêu cầu vể chất lượng hiển thị Mộc bản số hóa của những nhà bảo tồn văn hóa về tính thẩm mỹ, mức độ chi tiết của các nét chữ, nét đục chạm và đặc biệt là các thông tin không chủ ý như các dấu vết ở nền chân chữ mang dấu ấn riêng biệt của các phường khắc, các nghệ nhân khắc ngày xưa.
Dữ liệu số hóa Mộc bảnsau khi chuyển đổi định dạng để đưa lênhệ thốngWeb dung lượng đã giảm bằng một nửadung lượng ban đầu mà vẫn đảm bảo được mức độ hiển thị chi tiết, điều này giúp cho việc truyền tải dữ liệu trên môi trường internet trở nênnhanh chóng vàthuận lợi hơn.
Bên cạnh đó hệ thống Web cũng đảm bảo được yêu cầu về vấn đề bản quyền, an ninh an toàn dữ liệu khi toàn bộ dữ liệu gốc của Mộc bảnsố hóa được đặt trên máy chủ chỉ hiển thị trên trình duyệt web của người xem chứ không thể tải về và chạy được trên các phần mềm hiển thị dữ liệu 3D.
Tổng quan về hệ thống 2.1.
Trong chương hai đã miêu tả tổng quan về các công nghệ hiển thị 3D, phương pháp render point cloud và các phương pháp lấy mẫu đồng thời cũng đã tóm lược được phương pháp tiếp cận để xây dựng một hệ thống web biểu diễn dữ liệu 3D. Tác giả dựa trên công nghệ Potree và bổ sung thêm một số tham số và phương pháp cải thiện chất lượng hiển thị phù hợpMộc bản 3D biểu diễntrên nền Web cụ thể như sau:
- Chuyển đổi định dạng dữ liệu gốc của Mộc bản 3D từ định dạng lưới tam giác sang định dạng point cloud sao cho phù hợp với từng kích thước, tính chất đặc điểm, dung lượng tệp tin và số lượng lưới tam giác của từng Mộc bản3D.
- Sử dụng bộ lọc chiếu sáng để nâng cao cảm nhận chiều sâu cho Mộc bản 3D trong chương trình Cloud Compare.
- Chuyển đổi định dạng point cloud sang định dạng Metadata để biểu diễn trên nền Web.
- Cài đặt chương trình, thiết kế giao diện của trang Web, đưa dữ liệu lên trang Web.
- Cải thiện số lượng mẫu lân cận và xác định hệ số tối ưu trong phương pháp Eye- Dome-Linghting để nâng cao chất lượng tạo bóng cho Mộc bản 3D.
- Phủ mầu cho Mộc bản 3D để đem đến cho người xem và tương tác với Mộc bản 3D trên nền web có cảm giác gần giống với chất liệu gỗ so với tấm Mộc bảnthực tế bên ngoài.
Sơ đồ tổng quan các bước xây dựng hệ thống Web biểu diễn dữ liệu Mộc bản 3D được miêu tả trong hình 3.1
Hình 3. 5.Sơ đồ tổng quan cài đặt hệ thống Web biểu diễn dữ liệu Mộc bản3D.
Chuyển đổi định dạng tệp dữ liệu Mộc bản 3D 2.2.
Quá trình chuyển đổi định dạng tệp dữ liệu Mộc bản 3D, tác giả sử dụng dữ liệu của phòng thí nghiệm Tương tác Người - Máy, Khoa CNTT, Trường ĐHCN, ĐHQG HN. Đơn vịđã kết hợp với Trung tâm Lưu trữ quốc gia IV tiến hành khảo sát về hình thái, tính chất vật lý và tình trạng của 628 tấm Mộc bản và sau đó lựa chọn thử nghiệm, số hóa 10 tấm Mộc bảnmang tính đại diện nhất.Thông tin vềdữliệu Mộc bản được miêu tảtrong bảng 3.1.
Các tệp tin Mộc bản3D được quét và lưu trữ dưới định dạng lưới tam giác, để biểu diễn và tương tác trên trình duyệt web cần phải chuyển đổi sang định dạng point cloud, các tấm Mộc bảnvới các kích thước và dung lượng khác nhau, vấn đề chuyển đổi định dạng thành bao nhiêu point cloudcho phù hợp với việc biểu diễn và tương tác trên nền web đã được chúng tôi nghiên cứu và tốiưu được thể hiện trong bảng 3.2:
STT Mã Mộc bản
Kích thước
(dài x rộng x dày - cm) Point cloud
Dung lượng (byte) 1 08360 30,27 x 22,4 x 2,3 31.387.211 1.569.360.634 2 08465 33 x 21,5 x 3,1 25.826.956 1.291.347.884 3 24539 42 x 21 x 3,5 36.767.356 1.838.367.884 4 25476 29,7 x 16,9 x 2 18.320.404 916.020.284 5 25900 30,5 x 20 x 1,8 26.329.628 1.316.481.484 6 26774 45 x 21,3 x 4 37.149.266 1.857.463.384 7 29141 47 x 20 x 2 38.652.396 1.932.619.884 8 24387 37,7 x 21 x 2,6 32.642.667 1.632.133.434 9 28867 54 x 42,5 x 5 106.373.440 5.318.672.084 10 28013 47,5 x 26,5 x 4,5 60.920.927 3.046.046.434
Bảng 3. 1.Bảng tổng hợp thông tin mô hình Mộc bản3D.
STT Mã Mộc bản Triangle Mesh Dung lượng Point cloud lượng Dung
1 08360 31.387.211 1.569.360.634 31.387.211 817.438 2 08465 25.826.956 1.291.347.884 25.826.956 685.604 3 24539 36.767.356 1.838.367.884 36.767.356 975.592 4 25476 18.320.404 916.020.284 18.320.404 474.656 5 25900 26.329.628 1.316.481.484 26.329.628 685.531 6 26774 37.149.266 1.857.463.384 37.149.266 975.577 7 29141 38.652.396 1.932.619.884 38.652.396 1.001.997
STT Mã Mộc bản Triangle Mesh Dung lượng Point cloud lượng Dung
8 24387 32.642.667 1.632.133.434 32.642.667 843.741 9 28867 106.373.440 5.318.672.084 106.373.440 2.636.905 10 28013 60.920.927 3.046.046.434 60.920.927 1.582.152
Bảng 3. 2. Bảng tổng hợp kích thước Triangle Mesh, Point cloudvà dung lượng tệp tin tương ứng.
Dễ dàng nhận thấy số lượng point cloud và số lượng lưới tam giác là tương đương nhau và cho ra kết quả dung lượng tệp tin khác nhau, với tệp tin có số lượng point cloud bằng vớisố lượng lưới tam giác nhưng dung lượng chỉbằng một phần hai đồng thời cho thấy chất lượng hiển thị tương đương so với tập tin gốc sử dụng định dạng lưới tam giác, điều này được tác giả khảo sát đánh giá chất lượng hiển thị trong chương 4và nhận thấy là tối ưu cho kết quả hiển thị Mộc bản trên nền Web.
Tạo bóng cho Mộc bản 3D 2.3.
Hướng ánh sáng đóng vai trò quan trọng giúp cho chúng ta nhận thức về hình dáng và chiều sâu của vật thể, tệp dữ liệu thô point cloud của Mộc bản 3D không mang thuộc tính chiếu sángcho nênkhi biểu diễn Mộc bản 3D người xemsẽ khó cảm nhận được các đường cạnh, các nét đục chạm và đường nét của các ký tự Hán nôm, tác giả đã sử dụng bộ lọc tạo bóng và kết hợp với kỹ thuật nâng cao chất lượng tạo bóng để tạo hiệu ứng chiếu sáng cho các bề mặt của Mộc bản 3D, giúp cho các Mộc bản 3D chưa được tô vật liệu trở nên dễ xem hơn. Nếu không có hiệu ứng ánh sáng chiếu vào thì rất khó cảm nhận được hình khối và nét chữ trong khối Mộc bản.
2.3.1. Tạo bóng cho Mộc bản3D trong Cloud Compare
Cloud Compare sử dụng phương pháp Eye-Dome-Lingting[8] cho công cụ tạo bóng vật thể 3D, Eye-Dome-Lighting(EDL) được Christian Boucheny đề xuất lần đầu tiên vào năm 2009 và ngày càng trở nên phổ biến hơn trong những năm gần đây do sức mạnh ngày càng tăng của GPU, EDL là phương pháp tạo các bề mặt được chiếu sáng và làm nổi bật các đường cạnh, thể hiện tốt hơn độsâu của các nét đục chạm trên Mộc bản, EDL không yêu cầu bất cứ thông tin hình học nào trước khi render. Hình 3.6 cho thấy EDL giúp các nét đục chạm trên Mộc bảnđược thể hiện rõ hơn, và các bước thực hiện EDL được thể hiện trong hình 3.7.
Hình 3. 6.So sánhMộc bảnáp dụngbộ lọcEDL trong Cloud Compare.
Hình 3. 7.Mô tả tổng quan về quy trình Eye-Dome-Lighting.