intTypePromotion=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

Chia sẻ: ViMessi2711 ViMessi2711 | Ngày: | Loại File: PDF | Số trang:6

0
34
lượt xem
2
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết "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" 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.

Chủ đề:
Lưu

Nội dung Text: 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 và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 189(13): 9 - 14<br /> <br /> KỸ THUẬT LOD TỰ ĐỘNG ÁP DỤNG TỐI ƯU HÓA MÔ HÌNH 3D<br /> TRONG TRƯNG BÀY BẢO TÀNG ẢO<br /> Vũ Đức Thái*, Mã Văn Thu, Lê Sơn Thái, Đỗ Thị Chi<br /> Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên<br /> <br /> TÓM TẮT<br /> 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ề<br /> 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<br /> 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<br /> 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<br /> 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<br /> 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<br /> 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<br /> 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 đã<br /> 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<br /> 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<br /> đị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<br /> 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<br /> 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<br /> 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<br /> 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.<br /> 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<br /> <br /> MỞ ĐẦU*<br /> Mô hình 3D hiện đang ngày càng phổ biến và<br /> sử dụng rộng rãi trong các ứng dụng mô<br /> phỏng, thực tại ảo. Ta thấy, với các khoảng<br /> cách khác nhau trong khi quan sát chúng ta sẽ<br /> thấy các độ chi tiết khác nhau của mô hình.<br /> Điều này có nghĩa các mô hình ở gần sẽ rất<br /> chi tiết trong khi các mô hình càng ở xa sẽ<br /> càng mờ. Để tối ưu tính toán chúng ta thường<br /> phải có sẵn các mô hình 3D với các mức độ<br /> chi tiết khác nhau. Khi biểu diễn vật ở mỗi<br /> khoảng cách nhất định chương trình sẽ gọi và<br /> sử dụng mô hình với độ chi tiết tương ứng, kỹ<br /> thuật này trong thực tại ảo gọi là LOD (Level<br /> Of Detail) [4]. Kỹ thuật này đã được F.<br /> Biljecki , H. Ledoux và J. Stoter trình bày để<br /> biểu diễn các mô hình 3D các tòa nhà năm<br /> 2016 [3], Như vậy, mỗi mô hình 3D phải thiết<br /> kế lại nhiều lần với độ chi tiết khác nhau.<br /> Điều này dẫn tới thời gian và chi phí tạo ra<br /> mô hình ra tăng và đồng nghĩa với tổng chi<br /> phí cho một hệ thống trưng bày ảo là lớn. Để<br /> giảm chi phí khi xây dựng mô hình cần áp<br /> *<br /> <br /> dụng các chiến lược tự động tối ưu mô hình<br /> dựa trên khoảng cách quan sát ngay khi<br /> chương trình đang chạy. Quá trình tối ưu này<br /> gọi là LOD tự động. Trong đó, độ chi tiết của<br /> mô hình được tự động tính toán dựa trên<br /> khoảng cách của nó tới vị trí quan sát.<br /> Có ba phương pháp chính để tạo ra mô hình<br /> 3D: Một là sử dụng các phần mềm thiết kế 3D<br /> tạo ra thư viện mô hình (do các nhà thiết tạo<br /> ra). Hai là sử dụng các lệnh trong ngôn ngữ<br /> lập trình để vẽ ra các mô hình. Ba là sử dụng<br /> các thiết bị máy quét 3D tạo mô hình từ vật<br /> thể thực. Phương pháp dùng lệnh rất vất vả<br /> tốn kém và hầu như không còn được sử dụng<br /> nữa. Phương pháp sử dụng các thiết bị phần<br /> cứng là máy quét để tạo mô hình 3D mang<br /> nhiều ưu điểm như thời gian tạo ra một mô<br /> hình ngắn, độ chính xác cao, tính ổn định, chi<br /> phí rẻ v.v.. Tuy nhiên, mô hình tạo ra từ máy<br /> quét có một nhược điểm chính là số lượng<br /> lưới lớn. Do đó, trên thực tế đa phần các<br /> chương trình mô phỏng thực tại ảo thường sử<br /> dụng các mô hình sinh ra từ phần mềm thiết<br /> kế 3D.<br /> <br /> Tel: 0985 158998, Email: vdthai@ictu.edu.vn<br /> <br /> 9<br /> <br /> Vũ Đức Thái và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Khi xây dựng ứng dụng, chúng ta cần giải<br /> pháp tiết kiệm các chi phí khi xây dựng mô<br /> hình. Ý tưởng của giải pháp chúng ta chỉ thiết<br /> kế mô hình 3D của đối tượng một lần duy<br /> nhất còn các cấp độ giảm lưới sẽ tự động tạo<br /> ra mô hình mới tương ứng.<br /> Đầu tiên, ta phải xây dựng các mô hình hiện<br /> vật 3D ở mức độ chi tiết nhất. Sau đó dựa vào<br /> khoảng cách từ mắt người tham quan ảo đến<br /> vị trí của hiện vật 3D sẽ tiến hành rút gọn bề<br /> mặt lưới của mô hình đó. Quy luật là khoảng<br /> cách càng xa thì lưới của mô hình đó càng<br /> giảm. Chúng tôi chia độ chi tiết của mô hình<br /> thành bốn mức từ LOD1 tới LOD4. Trong đó,<br /> lưới mức độ một (LOD1) ở trong khoảng cách<br /> gần nhất với mức mô tả chi tiết nhất, và lưới<br /> cấp độ bốn (LOD4) ở khoảng cách xa nhất.<br /> Quá trình chuyển từ LOD1 sang thấp hơn là<br /> quá trình rút gọn lưới của các mô hình trong<br /> cảnh của bảo tàng mà chúng tôi mong muốn<br /> [2]. Số lưới của mô hình cấp độ LOD2 bằng<br /> khoảng 50% số lưới của mô hình cấp độ<br /> LOD1, tương tự ta quy định số lưới LOD3<br /> bằng khoảng 25% số lưới LOD1, và số lưới<br /> LOD4 bằng khoảng 12,5% số lưới LOD1.<br /> Với việc giảm lưới này thì các mô hình sẽ bị<br /> biến dạng và đôi khi sẽ không còn là chính<br /> mô hình đó mà biến thành một mô hình khác<br /> và điều này không chấp nhận được. Do đó,<br /> chúng ta cần một thuật toán rút gọn lưới hợp<br /> lý sao cho khi chúng ta giảm lưới ở các cấp<br /> độ khác nhau thì việc mô hình bị biến dạng là<br /> thấp nhất. Trong các phần tiếp theo của bài<br /> báo chúng tôi trình bày kỹ thuật tối ưu lưới và<br /> kết quả sau quá trình cài đặt ứng dụng trong<br /> bài toàn trưng bày ảo.<br /> <br /> Hình 1. So sánh hình ảnh rút gọn bề mặt lưới<br /> <br /> PHƯƠNG PHÁP TỐI ƯU LƯỚI MÔ HÌNH<br /> 10<br /> <br /> 189(13): 9 - 14<br /> <br /> Tối ưu lưới mô hình 3D là rút gọn số lượng<br /> đa giác của lưới trên mô hình, giải pháp đưa<br /> ra là xóa bỏ một đỉnh và phục hồi bề mặt mô<br /> hình. Ba toán tử chính để loại bỏ điểm là:<br /> vertex removal (xóa điểm), edge collapse<br /> (gộp hai điểm trên cạnh thành một điểm), half<br /> edge collapse (gộp hai điểm thành một điểm,<br /> trong đó một điểm sẽ được giữ nguyên vị trí<br /> như ban đầu).Thứ tự xóa điểm dựa trên một<br /> số hàm ưu tiên [4][6], quy trình cho việc tối<br /> ưu hóa bề mặt lưới tam giác như sau:<br /> Repeat<br /> {<br /> Chọn đối tượng 3D;<br /> Xóa đỉnh, giảm lưới đối tượng;<br /> Kết xuất đối tượng 3D;<br /> }<br /> Until (mục tiêu tối giản được đáp ứng);<br /> Quy trình loại bỏ đỉnh và phục hồi bề mặt áp<br /> dụng theo thứ tự ưu tiên để loại bỏ điểm ra<br /> khỏi mô hình, sau khi đã xóa điểm xong thì<br /> cần thêm bước phục hồi bề mặt của đối<br /> tượng. Việc xử lý loại bỏ đỉnh dừng khi số<br /> lượng lưới thấp nhất có thể mà bề mặt mô<br /> hình vẫn đảm bảo về hình dáng [4].<br /> <br /> Hình 2. Loại bỏ và phục hồi bề mặt<br /> <br /> Một phép đo được sử dụng tính các lỗi dự<br /> kiến xảy ra khi áp dụng các toán tử. Phép đo<br /> lỗi gần đúng này được sử dụng để ưu tiên loại<br /> bỏ đỉnh, đánh giá chất lượng của các kết quả.<br /> Đại lượng Error metrics [4] là giá trị thể hiện<br /> sự khác nhau về hình dáng giữa hai mô hình<br /> trước và sau khi rút gọn lưới đa giác. Error<br /> metrics giữa hai mô hình là nhỏ, có nghĩa là<br /> hai mô hình gần giống nhau. Các độ đo khi<br /> tính toán việc giảm lưới gồm: edge length (độ<br /> dài các cạnh kết nối từ điểm đang xét đến các<br /> <br /> Vũ Đức Thái và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 189(13): 9 - 14<br /> <br /> điểm láng giềng), distance to plane (khoảng<br /> cách từ điểm tới mặt phẳng chứa láng giềng<br /> của nó), curvature (bề mặt cong của các mặt<br /> phẳng chứa điểm), volume (thể tích).<br /> <br /> Áp dụng công thức (1), chúng tôi đã thử<br /> nghiệm cho một số mô hình và thấy rõ về mặt<br /> tối ưu lưới. Tuy nhiên, lưới tối ưu còn rất<br /> nhiều lỗi khi chúng ta thực hiện rút gọn lưới<br /> như lưới xóa không đều, một số mặt khi tối<br /> ưu bị biến dạng [2]. Để khắc phục các lỗi<br /> trên, chúng tôi đưa ra một số giả thiết về<br /> trường hợp ngoại lai của các điểm cần tối ưu<br /> trên bề mặt mô hình 3D khi áp dụng theo<br /> phương pháp này và đề xuất thuật toán để giải<br /> quyết bài toán tương ứng các trường hợp.<br /> <br /> Hình 3. Rút gọn lưới theo tổng góc curvature<br /> <br /> Trường hợp thứ nhất, trong hình 4 nếu điểm<br /> v1 chúng ta có thể xóa mà không ảnh hưởng<br /> đến bề mặt đối tượng.<br /> <br /> Khi đó xấp xỉ độ cong bề mặt K tại đỉnh<br /> v0được tính theo công thức (1) [5]:<br /> K=<br /> <br /> (1)<br /> <br /> Với<br /> : là các góc tại đỉnh v0 sinh ra từ các<br /> cạnh kề nhau cùng kết nối đến đỉnh v0.<br /> Theo công thức trên, với K càng nhỏ thì đỉnh<br /> v0 càng dễ xóa bỏ. Bởi vì với một điểm bất kỳ<br /> nằm trên một mặt phẳng thì tổng các góc<br /> xung quanh nó là 2 = 3600, khi đó K =0.Thì<br /> việc xóa điểm v0 sẽ không hề ảnh hưởng đến<br /> hình dạng của mô hình. Một ngưỡng α được<br /> cho trước để thỏa mãn điều kiện loại bỏ điểm<br /> v0, thuật toán chi tiết:<br /> Khởi tạo:<br /> ∀v ∈ V: v.errormetric: = CalcErrorMetric (v);<br /> Sort_Vertexlist ();<br /> Repeat<br /> {<br /> Lấy v0;<br /> <br /> Hình 4. Góc tại đỉnh v1 so với v và v2<br /> <br /> Những điểm v2 nằm trên đường thẳng, mà<br /> đường thẳng này là giao của hai mặt phẳng<br /> vuông góc với nhau. Ta nhận thấy tổng các<br /> góc xung quanh điểm v2 là 360o và điểm v là<br /> giao của ba mặt phẳng có tổng các góc xung<br /> quanh lớn hơn 360o, nhưng nếu chúng ta xóa<br /> đỉnh v2 và đỉnh v thì mô hình thu được sau khi<br /> tối ưu sẽ bị méo mó. Khi đó công thức (1)<br /> được thay thế bằng công thức (2) [2]:<br /> <br /> if (v0.errrormetric
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2