• Không có kết quả nào được tìm thấy

Trong nội dung bài báo, chúng tôi trình bày một kỹ thuật tối ưu lưới cho mô hình 3D

N/A
N/A
Protected

Academic year: 2022

Chia sẻ "Trong nội dung bài báo, chúng tôi trình bày một kỹ thuật tối ưu lưới cho mô hình 3D"

Copied!
6
0
0

Loading.... (view fulltext now)

Văn bản

(1)

KỸ THUẬT LOD TỰ ĐỘNG ÁP DỤNG TỐI ƯU HÓA MÔ HÌNH 3D TRONG TRƯNG BÀY BẢO TÀNG ẢO

Vũ Đức Thái*, Mã Văn Thu, Lê Sơn Thái, Đỗ Thị Chi Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên

TÓM TẮT

Thực tại ảo và thực tại ảo tăng cường đang là công nghệ được áp dụng nhiều trong các bài toán về mô phỏng thế giới thực. Một trong những ứng dụng là mô hình hóa trình diễn các hiện vật từ thực tiễn thậm chí khôi phục từ tư liệu khảo cứu để đưa vào trưng bày trong bảo tàng ảo. Vấn đề chính khi ứng dụng xây dựng bảo tàng ảo là các mô hình 3D cần được thể hiện tỉ mỉ, chi tiết đảm bảo giống với vật khi quan sát trong không gian thế giới thực. Ta biết, mỗi hình ảnh 3D cần rất nhiều hình 2D với các hướng nhìn, góc và vị trí quan sát. Điều này có nghĩa là khi có nhiều hiện vật cần mô phỏng thì sẽ cần dung lượng lớn để lưu trữ và máy tính cần thực hiện nhiều các phép tính toán trong quá trình biểu diễn hình ảnh với mỗi hiện vật ảo. Để giải quyết vấn đề này, chúng tôi đã nghiên cứu sử dụng kỹ thuật LOD tự động để cài đặt ứng dụng trong phần mềm trưng bày ảo tại Bảo tảng Văn hóa các dân tộc Việt Nam tại thành phố Thái Nguyên. LOD là kỹ thuật hỗ trợ xác định độ chi tiết về hình ảnh của đối tượng ba chiều phụ thuộc vào khoảng cách từ vị trí của vật tới vị trí người quan sát. Qua đó giảm bớt khối lượng cần tính toán của máy tính trong một đơn vị thời gian, giúp tăng số lượng và chất lượng hiện vật được trưng bày. Trong nội dung bài báo, chúng tôi trình bày một kỹ thuật tối ưu lưới cho mô hình 3D. Kỹ thuật này được áp dụng trong thời gian thực từ đó tạo ra kỹ thuật LOD tự động áp dụng cho bài toán trong trưng bày bảo tàng ảo.

Từ khóa: tối ưu hóa lưới, tối ưu hóa tam giác, tối ưu bề mặt lưới mô hình, lod tự động MỞ ĐẦU*

Mô hình 3D hiện đang ngày càng phổ biến và sử dụng rộng rãi trong các ứng dụng mô phỏng, thực tại ảo. Ta thấy, với các khoảng cách khác nhau trong khi quan sát chúng ta sẽ thấy các độ chi tiết khác nhau của mô hình.

Điều này có nghĩa các mô hình ở gần sẽ rất chi tiết trong khi các mô hình càng ở xa sẽ càng mờ. Để tối ưu tính toán chúng ta thường phải có sẵn các mô hình 3D với các mức độ chi tiết khác nhau. Khi biểu diễn vật ở mỗi khoảng cách nhất định chương trình sẽ gọi và sử dụng mô hình với độ chi tiết tương ứng, kỹ thuật này trong thực tại ảo gọi là LOD (Level Of Detail) [4]. Kỹ thuật này đã được F.

Biljecki , H. Ledoux và J. Stoter trình bày để biểu diễn các mô hình 3D các tòa nhà năm 2016 [3], Như vậy, mỗi mô hình 3D phải thiết kế lại nhiều lần với độ chi tiết khác nhau.

Điều này dẫn tới thời gian và chi phí tạo ra mô hình ra tăng và đồng nghĩa với tổng chi phí cho một hệ thống trưng bày ảo là lớn. Để giảm chi phí khi xây dựng mô hình cần áp

*Tel: 0985 158998, Email: vdthai@ictu.edu.vn

dụng các chiến lược tự động tối ưu mô hình dựa trên khoảng cách quan sát ngay khi chương trình đang chạy. Quá trình tối ưu này gọi là LOD tự động. Trong đó, độ chi tiết của mô hình được tự động tính toán dựa trên khoảng cách của nó tới vị trí quan sát.

Có ba phương pháp chính để tạo ra mô hình 3D: Một là sử dụng các phần mềm thiết kế 3D tạo ra thư viện mô hình (do các nhà thiết tạo ra). Hai là sử dụng các lệnh trong ngôn ngữ lập trình để vẽ ra các mô hình. Ba là sử dụng các thiết bị máy quét 3D tạo mô hình từ vật thể thực. Phương pháp dùng lệnh rất vất vả tốn kém và hầu như không còn được sử dụng nữa. Phương pháp sử dụng các thiết bị phần cứng là máy quét để tạo mô hình 3D mang nhiều ưu điểm như thời gian tạo ra một mô hình ngắn, độ chính xác cao, tính ổn định, chi phí rẻ v.v.. Tuy nhiên, mô hình tạo ra từ máy quét có một nhược điểm chính là số lượng lưới lớn. Do đó, trên thực tế đa phần các chương trình mô phỏng thực tại ảo thường sử dụng các mô hình sinh ra từ phần mềm thiết kế 3D.

(2)

Khi xây dựng ứng dụng, chúng ta cần giải pháp tiết kiệm các chi phí khi xây dựng mô hình. Ý tưởng của giải pháp chúng ta chỉ thiết kế mô hình 3D của đối tượng một lần duy nhất còn các cấp độ giảm lưới sẽ tự động tạo ra mô hình mới tương ứng.

Đầu tiên, ta phải xây dựng các mô hình hiện vật 3D ở mức độ chi tiết nhất. Sau đó dựa vào khoảng cách từ mắt người tham quan ảo đến vị trí của hiện vật 3D sẽ tiến hành rút gọn bề mặt lưới của mô hình đó. Quy luật là khoảng cách càng xa thì lưới của mô hình đó càng giảm. Chúng tôi chia độ chi tiết của mô hình thành bốn mức từ LOD1 tới LOD4. Trong đó, lưới mức độ một (LOD1) ở trong khoảng cách gần nhất với mức mô tả chi tiết nhất, và lưới cấp độ bốn (LOD4) ở khoảng cách xa nhất.

Quá trình chuyển từ LOD1 sang thấp hơn là quá trình rút gọn lưới của các mô hình trong cảnh của bảo tàng mà chúng tôi mong muốn [2]. Số lưới của mô hình cấp độ LOD2 bằng khoảng 50% số lưới của mô hình cấp độ LOD1, tương tự ta quy định số lưới LOD3 bằng khoảng 25% số lưới LOD1, và số lưới LOD4 bằng khoảng 12,5% số lưới LOD1.

Với việc giảm lưới này thì các mô hình sẽ bị biến dạng và đôi khi sẽ không còn là chính mô hình đó mà biến thành một mô hình khác và điều này không chấp nhận được. Do đó, chúng ta cần một thuật toán rút gọn lưới hợp lý sao cho khi chúng ta giảm lưới ở các cấp độ khác nhau thì việc mô hình bị biến dạng là thấp nhất. Trong các phần tiếp theo của bài báo chúng tôi trình bày kỹ thuật tối ưu lưới và kết quả sau quá trình cài đặt ứng dụng trong bài toàn trưng bày ảo.

Hình 1. So sánh hình ảnh rút gọn bề mặt lưới PHƯƠNG PHÁP TỐI ƯU LƯỚI MÔ HÌNH

Tối ưu lưới mô hình 3D là rút gọn số lượng đa giác của lưới trên mô hình, giải pháp đưa ra là xóa bỏ một đỉnh và phục hồi bề mặt mô hình. Ba toán tử chính để loại bỏ điểm là:

vertex removal (xóa điểm), edge collapse (gộp hai điểm trên cạnh thành một điểm), half edge collapse (gộp hai điểm thành một điểm, trong đó một điểm sẽ được giữ nguyên vị trí như ban đầu).Thứ tự xóa điểm dựa trên một số hàm ưu tiên [4][6], quy trình cho việc tối ưu hóa bề mặt lưới tam giác như sau:

Repeat {

Chọn đối tượng 3D;

Xóa đỉnh, giảm lưới đối tượng;

Kết xuất đối tượng 3D;

}

Until (mục tiêu tối giản được đáp ứng);

Quy trình loại bỏ đỉnh và phục hồi bề mặt áp dụng theo thứ tự ưu tiên để loại bỏ điểm ra khỏi mô hình, sau khi đã xóa điểm xong thì cần thêm bước phục hồi bề mặt của đối tượng. Việc xử lý loại bỏ đỉnh dừng khi số lượng lưới thấp nhất có thể mà bề mặt mô hình vẫn đảm bảo về hình dáng [4].

Hình 2. Loại bỏ và phục hồi bề mặt

Một phép đo được sử dụng tính các lỗi dự kiến xảy ra khi áp dụng các toán tử. Phép đo lỗi gần đúng này được sử dụng để ưu tiên loại bỏ đỉnh, đánh giá chất lượng của các kết quả.

Đại lượng Error metrics [4] là giá trị thể hiện sự khác nhau về hình dáng giữa hai mô hình trước và sau khi rút gọn lưới đa giác. Error metrics giữa hai mô hình là nhỏ, có nghĩa là hai mô hình gần giống nhau. Các độ đo khi tính toán việc giảm lưới gồm: edge length (độ dài các cạnh kết nối từ điểm đang xét đến các

(3)

điểm láng giềng), distance to plane (khoảng cách từ điểm tới mặt phẳng chứa láng giềng của nó), curvature (bề mặt cong của các mặt phẳng chứa điểm), volume (thể tích).

Hình 3. Rút gọn lưới theo tổng góc curvature Khi đó xấp xỉ độ cong bề mặt K tại đỉnh v0được tính theo công thức (1) [5]:

K= (1) Với : là các góc tại đỉnh v0 sinh ra từ các cạnh kề nhau cùng kết nối đến đỉnh v0. Theo công thức trên, với K càng nhỏ thì đỉnh v0 càng dễ xóa bỏ. Bởi vì với một điểm bất kỳ nằm trên một mặt phẳng thì tổng các góc xung quanh nó là 2 = 3600, khi đó K =0.Thì việc xóa điểm v0 sẽ không hề ảnh hưởng đến hình dạng của mô hình. Một ngưỡng α được cho trước để thỏa mãn điều kiện loại bỏ điểm v0, thuật toán chi tiết:

Khởi tạo:

∀v ∈ V: v.errormetric: = CalcErrorMetric (v);

Sort_Vertexlist ();

Repeat {

Lấy v0;

if (v0.errrormetric <α) {

Loại bỏ (v0);

Lưới tam giác (Nghb (v0));

Cập nhật (v0):

}

else break;

}

Until (mục tiêu cần giảm là đạt);

Áp dụng công thức (1), chúng tôi đã thử nghiệm cho một số mô hình và thấy rõ về mặt tối ưu lưới. Tuy nhiên, lưới tối ưu còn rất nhiều lỗi khi chúng ta thực hiện rút gọn lưới như lưới xóa không đều, một số mặt khi tối ưu bị biến dạng [2]. Để khắc phục các lỗi trên, chúng tôi đưa ra một số giả thiết về trường hợp ngoại lai của các điểm cần tối ưu trên bề mặt mô hình 3D khi áp dụng theo phương pháp này và đề xuất thuật toán để giải quyết bài toán tương ứng các trường hợp.

Trường hợp thứ nhất, trong hình 4 nếu điểm v1 chúng ta có thể xóa mà không ảnh hưởng đến bề mặt đối tượng.

Hình 4. Góc tại đỉnh v1 so với v và v2

Những điểm v2 nằm trên đường thẳng, mà đường thẳng này là giao của hai mặt phẳng vuông góc với nhau. Ta nhận thấy tổng các góc xung quanh điểm v2 là 360o và điểm v là giao của ba mặt phẳng có tổng các góc xung quanh lớn hơn 360o, nhưng nếu chúng ta xóa đỉnh v2 và đỉnh v thì mô hình thu được sau khi tối ưu sẽ bị méo mó. Khi đó công thức (1) được thay thế bằng công thức (2) [2]:

= |2.π – | (2) Do đó, đỉnh v tại vị trí này sẽ được phân biệt với đỉnh v1 là véc tơ pháp tuyến của hai mặt phẳng chứa hai tam giác kề nhau có chung đỉnh v không được lớn hơn một giá trị λ cho phép.

Chúng xác định các cạnh i+1là cạnh nối giữa v và vi+1, góc giữa hai cạnh kề nhau liên tiếp θi,i+1 = ﻠ ( i, i+1). Tam giác giữa i, i+1 được đặt tên ti =Δ(v, vi, vi+1), véc tơ pháp tuyến

(4)

tương ứng là i+1 = . Trên cạnh i+1

góc giữa hai véc tơ pháp tuyến của hai tam giác ti và tam giác liền kề ti+1 là βi+1 = ﻠ ( i+1,

i+2).

Trường hợp thứ hai, tại một điểm v đang xét mà góc quanh điểm khi áp dụng công thức:

= |2π – | nhỏ hơn một ngưỡng α cho phép và góc giữa hai véc tơ pháp tuyến của hai tam giác kề nhau nhỏ hơn một giá trị λ cho trước. Tuy nhiên, số đường kết nối đến điểm v là rất nhiều hay bậc của đỉnh v là cao.

Trong trường hợp này, chúng tôi sẽ giữ lại đỉnh v có số lượng cạnh kết nối đến nó là nhiều hơn số lượng m cho phép.

Hình 5. Đỉnh v với nhiều cạnh kết nối Một tập tam giác lưới M bao gồm một tập các đỉnh V = {vi} ⊂ IR3, được kết nối bởi một tập các cạnh E = {ej = (vj1, vj2)} và một bộ tam giác T = {tk= Δ(vk1, vk2, vk3)}. Với v ∈ V là một đỉnh của một tam giác lưới M và để v1, ..., vn là các đỉnh lân cận của v.

Thuật toán đề xuất chi tiết [1],[2]:

∀v ∈ V: v.errormetric: = CalcErrorMetric (v);

CalcErrorMetric (v) = |2π – |;

Sort_Vertexlist ();

Repeat:

{

Lấy v0 (một đỉnh trong lưới tam giác);

if ((v0.errrormetric <α)

and ( ﻠ ( i-1, i) < δ) and ( i ; i<m))

{

Tìm láng giềng của (v0);

Loại bỏ (v0);

Lưới tam giác (Nghb (v0));

Cập nhật (v0):

} Else break;

}

Until Đạt mục tiêu cần giảm

Saukhi đưa ra thuật toán rút gọn bề mặt lưới mô hình, chúng tôi tiếp tục phân tích các mô hình thực tế để áp dụng cho việc mô phỏng các hiện vật. Do việc trưng bày trong bảo tàng là đa dạng và khoảng cách giữa các đối tượng là khá gần. Thế nên chúng tôi lựa chọn để đưa ra các thông số vị trí nhìn [3], khoảng cách và các mức Lod được đưa vào sao cho phù hợp trong bảng 1.

KẾT QUẢ THỰC NGHIỆM

Các mô hình thực nghiệm là các mô hình hiện vật bảo tàng dưới dạng 3D, có số lượng lưới bề mặt lớn được xây dựng trên phần mềm 3D ở cấp độ LOD1. Các mô hình này chúng tôi tổng hợp thành một khu lúa nước của dân tộc Kinh để trưng bày theo mô hình bảo tàng Các Dân Tộc Việt Nam thực tế. Chúng tôi sử dụng phương pháp tổng góc của mặt quanh một đỉnh kết hợp với các ràng buộc khi phát hiện một số trường hợp ngoại lai của điểm trên bề mặt lưới khi áp dụng công thức tổng góc để xóa điểm. Mô hình mới sinh ra có số lượng lưới bề mặt giảm đáng kể mà vẫn giữ được nguyên mẫu về hình dáng kể cả các mô hình ở cấp độ LOD4. Kết quả này cũng là một phần của kết quả thu được trong các nghiên cứu trước khi chúng tôi đã thử nghiệm với hầu hết các mô hình 3D khác [1][2].

Ban đầu khu trưng bày các mô hình đã được xây dựng ở mức LOD1, là mức độ chi tiết các hiện vật để cho người tham quan có thể quan sát và tương tác với mô hình.

(5)

Bảng 1. Bảng phân tích phân loại độ phức tạp của mô hình

LOD4 LOD3 LOD2 LOD1

Mô tả Mô hình trong khoảng không gian rộng lớn, khu nhà trưng bày

Mô hình hiện vật trong khoảng phòng lớn, căn nhà

Mô hình hiện vật trong khoảng phòng nhỏ

Mô hình trong khoảng nhìn có thể tương tác hiện vật được Độ chính xác

mô hình Thấp Trung bình Cao Rất cao

Độ chính xác của vị trí và

chiều cao

Trên 10 mét 5 đến 10 mét 2 đến 5 mét 0 đến 2 mét

Tổng quát Mô hình

Các mô hình mang độ chính xác thấp. Một số mô hình thiếu các chi tiết

Các mô hình có độ chính xác vừa phải, có thể chấp nhận được

Các mô hình mang độ chính xác tương đối

Các mô hình mang độ chính xác cao và khá chi tiết các góc cạnh Ràng buộc

yêu cầu trong công

thức (2)

v0.errror < 4α and ( ﻠ ( i-1, i) < δ

and i ; i<m

v0.errror < 2α and ( ﻠ ( i-1, i) <δ and i ; i<m

v0.errror <α and ( ﻠ ( i-1,

i)< δ and i ; i<m

0

Hình 6. Mô hình được xây dựng từ đầu LOD1 Rút gọn bề mặt lưới với số lượng lưới còn lại là khoảng 50% số lượng lưới đa giác chúng tôi đã nhận được các mô hình ở cấp độ LOD2.

Hình 7. Hình ảnh mô hình ở cấp độ LOD2 Rút gọn bề mặt lưới với số lượng lưới còn lại là khoảng 25% số lượng lưới đa giác chúng tôi được các mô hình ở cấp độ LOD3.

Rút gọn bề mặt lưới với số lượng lưới còn lại là khoảng 12,5% số lượng lưới đa giác chúng tôi được các mô hình ở cấp độ LOD4.

Với tham số rút gọn lưới là khoảng 12,5%thì sự khác biệt giữa mô hình LOD1 và LOD4 là

khá cao. Tuy nhiên, về hình dáng của mô hình chúng ta hoàn toàn có thể chấp nhận được.

Hình 8. Hình ảnh mô hình ở cấp độ LOD3

Hình 9. Hình ảnh mô hình ở cấp độ LOD4 KẾT LUẬN

Trong nghiên cứu này, chúng tôi áp dụng phương pháp tính tổng góc của một điểm trên bề mặt để giải quyết việc rút gọn lưới bề mặt mô hình. Kết quả thực nghiệm cho thấy ba mức độ phức tạp của mô hình đã giảm lưới từ mô hình gốc có hình dạng thay đổi thấp so với mô hình ban đầu. Từ đó, là nền tảng cho kỹ thuật LOD tự động áp dụng trong chương trình mô phỏng bảo tàng cũng như các chương

(6)

trình ứng dụng thực tại ảo khác chạy với chế độ thời gian thực. Nhóm tác giả hi vọng báo cáo này sẽ đóng góp một phần cho những phát triển của ngành công nghệ thực tại ảo nói riêng và công nghệ thông tin nói chung.

LỜI CÁM ƠN

Nghiên cứu này được hỗ trợ bởi đề tài khoa học và công nghệ cấp Bộ (Mã số: B2017- TNA-56).

TÀI LIỆU THAM KHẢO

1. Mã Văn Thu, Đỗ Năng Toàn, Lê Sơn Thái, Đỗ Hồng Quân(2017), “Một kỹ thuật tối ưu hóa mô hình 3D trong thực tại ảo”, hội thảo Fair 10 tại Đà Nẵng.

2. Mã Văn Thu (2016),“Mô hình 3D và tối ưu hóa mô hình trong thực tại ảo”, Luận văn thạc sỹ, Đại học QGHN.

3. F. Biljecki, H. Ledoux, J. Stoter (2016),

“Generation of multi – lod 3D city models in cityGML with the procedural modeling engine random3Dcity”,on Gottingen Vol. IV-4/W1, pp.

51-59.

4. David Luebke, Martin Reddy, Jonathan D.

Cohen, Amitabh Varshney, Benjamin Watson, Robert Huebner (2002),“Level of detail for 3D graphics”, Elsevier.

5. Nira Dyn, Kai Hormann, Sun-Jeong Kim, and David Levin (2000), “Optimizing 3D Triangulations Using Discrete Curvature Analysis”. Farinhansford. P:578

6. Kobbelt, L.Discrete ”The Mathematics of Surfaces” VII,T.Goodman and R. Martin (eds.), Clarendon Press, Oxford, 1997, PP: 101–131.

ABSTRACT

LOD AUTOMATION TECHNOLOGY APPLICATION FOR OPTIMIZE 3D MODELS IN THE MUSEUM VIRTUAL EXHIBIT

Vu Duc Thai*, Ma Van Thu, Le Son Thai, Do Thi Chi University of Information and Communication Technology - TNU

Virtual reality and augmented reality technology is applied more and more widely in simulating reality world problem. This technology allows modeling of artifacts from the actual and exhibited in the virtual museum. The big problem here is the number of models in the museum is much, and three-dimensional models need to be designed in much the same as actual models. This means that a large amount of artifacts need to be simulated, it also require large amounts of storage space and the computer needs to perform many calculations during the image processing with each virtual artifact. In order to solve this problem, we propose to use automatic LOD techniques in the problems of virtual exhibit. LOD is a technique that determines the image detail of a three- dimensional object depending on the distance from its location to the observer position. This reduces the amount of computing needed in a unit of time to increase the amount and quality of exhibits. In the article, we present some of the optimization techniques of modeling three- dimensional grid. This technique is applied in real time from which the automatically LOD technique is applied to the problem in the virtual museum exhibit.

Key words: optimize mesh, optimizing triangle, optimize grid surface model, auto lod

Ngày nhận bài: 22/8/2018; Ngày hoàn thiện: 06/9/2018; Ngày duyệt đăng: 30/11/2018

*Tel: 0985 158998, Email: vdthai@ictu.edu.vn

en Vol. IV-4/W1, pp.

Tài liệu tham khảo

Tài liệu liên quan

Since most of the students believe the Basic English course is easier than the ESP course (Financial English course), it is highly necessary to find effective

Kỹ thuật ngược là quá trình xây dựng mô hình hình học CAD từ các dữ liệu đo được thực hiện bởi kỹ thuật quét tiếp xúc hoặc không tiếp xúc trên một mô hình vật lý

Nhận thức được lợi ích của bảo hiểm nhân thọ cũng như thị trường tiềm năng này, tôi đã quyết định “Nghiên cứu các yếu tố ảnh hưởng đến quyết định sử dụng sản

Hành vi của người tiêu dùng là toàn bộ hành động mà người tiêu dùng bộc lộ ra trong quá trình điều tra, mua sắm, sử dụng, đánh giá hàng hóa và dịch vụ nhằm thỏa mãn

Đầu tiên, sự sẵn sàng về công nghệ (bao gồm: sự lạc quan, sự đổi mới, sự khó chịu, sự bất an) được giả định là tiền đề của cả sự hữu ích cảm nhận và sự dễ sử dụng

Ý tưởng chính của bài này dùng giải thuậ t tối ưu hóa rừng cây với các biến rời rạc kết hợp giải thuật Min-Max và tìm kiếm cục bộ để giải bài toán lập lịch lưới tính

Mặc dù phẫu thuật thay van ĐMC là chỉ định tuyệt đối cho những bệnh nhân hẹp chủ khít có triệu chứng, khoảng một phần ba số bệnh nhân không thể tiến hành cuộc mổ do

Trường hợp vị trí đổ vào ống gan trái của các ống này lệch trái so với mặt phẳng giữa PTV có thể gây tổn thương cho đường mật gan phải khi thực hiện thủ thuật