Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
1,07 MB
Nội dung
TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ Tập 48, số 2, 2010 Tr 123-133 MỘT THUẬT TOÁN RÚT GỌN BỀ MẶT BIỂU DIỄN MƠ HÌNH 3D ĐỖ NĂNG TỒN, NGUYỄN VĂN HN GIỚI THIỆU Xây dựng mơ hình khâu quan trọng hệ thống thực ảo Mơ hình xây dựng khơng phải đảm bảo chất lượng mà phải đảm bảo yêu cầu giảm thiểu không gian nhớ, rút ngắn thời gian tính tốn, nhằm phục vụ cho u cầu điều khiển sau Điều này, đặc biệt quan trọng sử dụng thiết bị thu nhận máy qt 3D, mơ hình thu thường có kết "nặng" [4, 15] Để giảm thiểu không gian nhớ mơ hình, cách tiếp cận giảm thiểu số bề mặt biểu diễn mô hình Các thuật tốn "giảm thiểu bề mặt" biểu diễn vật thể không gian ba chiều không nhiều đa số ứng dụng thực ảo Trong thực tế, lúc cần biểu diễn vật thể không gian ba chiều với chất lượng thật Hơn nữa, mức độ chất lượng hình ảnh vật thể hiển thị thay đổi theo cách nhìn (view) Ví dụ, quan sát cận cảnh vật thể, cần số lượng mặt nhiều để việc mơ hình hố đạt đến chất lượng thật [8] Tuy nhiên, khoảng cách tăng lên, vật thể nhỏ mắt người quan sát số lượng mặt biểu diễn giảm mà đảm bảo cho người quan sát hình dung vật thể Kĩ thuật hiển thị tích hợp vào nhiều hệ thống đồ họa chiều thực ảo với tên gọi LOD (Level Of Detail) [12, 14] Để thực kĩ thuật hiển thị LOD người ta phải sinh mơ hình mức độ chi tiết khác kĩ thuật sử dụng mơ hình phù hợp tình hiển thị khác Việc sinh mơ hình thường dựa kĩ thuật rút gọn bề mặt trường hợp mô hình biểu diễn bề mặt có phương trình tham số, chúng sinh tham số phù hợp [1, 2] Hình minh họa cho điều Hình Minh họa việc giảm thiểu bề mặt theo mức khác 123 Như vậy, ứng dụng đồ hoạ ba chiều nảy sinh vấn đề nghiên cứu lớp thuật toán nhằm giảm bớt số mặt đa diện biểu diễn vật thể cho giữ lại cách tương đối hình dạng ban đầu vật thể Tùy theo cách phân loại, tiêu chí phân loại kể tới là: - Dựa ứng dụng: Một số thuật toán giới hạn đối tượng vật thể mình, số dạng định tuỳ theo ứng dụng Ví dụ: có loạt thuật tốn nhằm giảm thiểu mặt địa hình dùng ứng dụng GIS hay tốn mơ địa hình Một số khác dành cho ứng dụng tổng quát nên ràng buộc vào liệu đầu vào - Dựa ràng buộc ban đầu: Có thuật tốn trọng tới việc giữ lại hình dạng vật thể (TPA) Tuy nhiên, có thuật toán chấp nhận mát bớt phần thơng tin để đạt tốc độ xử lý cao - Dựa phương pháp đánh giá sai số: Một điều quan trọng thuật toán “giảm thiểu bề mặt” cách thức đánh giá sai số vật thể tạo so với vật thể ban đầu, qua xác định phương án giảm thiểu tốt, phương án Bài báo đề cập kĩ thuật rút gọn số lượng bề mặt biểu diễn mơ hình theo cách tiếp cận dựa ứng dụng, thuật toán áp dụng cho mơ hình có bề mặt gần tương đối “bằng phẳng”, sở mở rộng thuật toán rút gọn số lượng điểm biểu diễn Angles [13,19] khơng gian 2D Phần cịn lại báo thể sau: Phần trình bày số thuật tốn rút gọn số lượng bề mặt biểu diễn mơ hình 3D phát triển Phần đề cập thuật toán rút gọn số lượng bề mặt biểu diễn mơ hình 3D dựa sở thuật toán Angles Tiếp theo thử nghiệm cuối kết luận kĩ thuật đề xuất MỘT SỐ NGHIÊN CỨU LIÊN QUAN Trong vài năm gần đây, toán rút gọn số lượng bề mặt biểu diễn mơ hình theo cách tiếp cận dựa ứng dụng nhận nhiều quan tâm nghiên cứu vấn đề đặt mà thực tế thường xuyên có yêu cầu cụ thể Tùy thuộc vào ứng dụng cụ thể với yêu cầu cụ thể mà người ta thực việc rút gọn mơ hình dựa vào đặc trưng khác mơ hình Với ứng dụng mà mơ hình gồm có bề mặt rời rạc gần có tồn cặp (vi, vj) khơng phải cạnh người ta áp dụng giải thuật bó đỉnh giải thuật NEC (Non-Edge Contraction) [5, 9] a) Mơ hình gốc b) Mơ hình rút gọn Hình Minh hoạ giải thuật bó đỉnh NEC Với giải thuật bó đỉnh cho phép thực bó đỉnh gần thành đỉnh đơn (hình 2b), với giải thuật cho kết tồi không hỗ trợ điều khiển mơ hình xấp xỉ 124 Với ứng dụng mà mơ hình gồm có bề mặt cong, lồi lõm, có đỉnh khơng quan trọng người ta áp dụng giải thuật chọn đỉnh xóa bỏ đỉnh đi, xóa bỏ bề mặt gần kề Nhưng giải thuật không phù hợp cho mơ hình đa tạp [5, 9] a) Mơ hình gốc b) Mơ hình rút gọn Hình Minh hoạ giải thuật xoá đỉnh lập lại lưới tam giác Với ứng dụng mà mơ hình gồm có bề mặt mà có cạnh vi, vj với ||vi-vj|| < t (t ngưỡng) người ta áp dụng giải thuật chụm cạnh EC (Edge Contraction), xoá bỏ bề mặt có cạnh chụm [5, 6, 7, 9] a) Mơ hình gốc b) Mơ hình rút gọn Hình Minh hoạ giải thuật chụm cạnh (v1; v2) huỷ bỏ mặt có chung cạnh a) Mơ hình gốc c) Hủy bỏ tam giác láng giềng b) Gán trọng số bề mặt cục d) Lập lưới lại lưới tam giác Hình Minh hoạ giải thuật cắt bỏ hình học 125 Với ứng dụng mà mơ hình gồm có vùng bề mặt có độ cong cao độ cong thấp người ta áp dụng giải thuật cắt bỏ hình học cách gán trọng số cho bề mặt mơ hình gốc theo độ cong cục [17] Với ứng dụng mà mơ hình gồm có bề mặt cong cao so với đối tượng chứa điểm gián đoạn (khơng liên tục) có cạnh nhọn (có độ cong, đường cong đột ngột) người ta áp dụng giải thuật Re-Tiling Ví dụ: Rút gọn bề mặt thỏ, lơng thỏ tốt, khơng tốt cho mơ hình ngơi nhà (kết tồi) Với kĩ thuật yêu cầu người dùng số đỉnh mơ hình đầu [19] a) Mơ hình gốc với điểm ngẫu nhiên c) Lập lưới tam giác điểm b) Phân bố điểm d) Hủy bỏ đỉnh mơ hình gốc Hình Minh hoạ giải thuật Re-Tiling Với ứng dụng mà xây dựng mô hình từ hình khối MC (Marching Cubes) người ta áp dụng giải thuật DTM (Decimation of Triangle Meshes) Giải thuật thực lựa chọn đỉnh mà thỏa mãn điều kiện sai số khoảng cách, xóa bỏ đỉnh này, sau thực lặp lặp lưới tam giác [18] Ngồi ứng dụng với mơ hình có bề mặt với đặc trưng trên, cịn có ứng dụng với mơ hình với đặc trưng khác mà cần phải rút gọn số lượng bề mặt xuống mức tối thiểu cho chất lượng đảm bảo, chẳng hạn ứng dụng mà mơ hình gồm có bề mặt gần tương đối phẳng Mục trình bày kĩ thuật rút gọn số lượng bề mặt biểu diễn mơ hình 3D dựa ứng dụng, với mơ hình có bề mặt gần tương đối phẳng nhờ việc tính tốn góc véctơ pháp tuyến bề mặt kề nhau, sở mở rộng thuật toán Angles không gian 2D 126 a) Chọn đỉnh mơ hình gốc b) Hủy bỏ tam giác đỉnh chọn c) Lập lưới lại lưới tam giác Hình Minh hoạ giải thuật DTM THUẬT TOÁN RÚT GỌN SỐ LƯỢNG BỀ MẶT BIỂU DIỄN MƠ HÌNH 3D 3.1 Thuật tốn gốc Angles[13, 16] khơng gian 2D Thuật toán thực việc rút gọn số lượng điểm biểu diễn cho đường cong 2D Thuật toán bắt đầu việc xác định điểm đường cong coi điểm chốt (P1) Điểm thứ ba (P3) coi điểm động Điểm điểm chốt điểm động (P2) điểm trung gian Ban đầu góc điểm trung gian tạo cạnh nối điểm trung gian điểm chốt điểm động tính tốn kiểm tra Nếu giá trị tính lớn ngưỡng θ cho trước điểm trung gian bỏ đi, tiến trình tiếp tục với điểm chốt điểm chốt cũ, điểm trung gian điểm động cũ điểm động điểm sau điểm động cũ Trong trường hợp ngược lại, góc tính nhỏ ngưỡng θ cho trước điểm trung gian giữ lại, tiến trình tiếp tục với điểm chốt điểm trung gian, điểm trung gian điểm động cũ điểm động điểm sau điểm động cũ Tiến trình lặp hết đường cong (hình minh họa thuật toán Angles) P3 P2 αk αi P4 P5 P1 Hình Đơn giản hóa đường cong với thuật toán Angles 3.2 Thuật toán loại bỏ điểm góc Angles 127 Bước 1: Xác định điểm đường cong coi điểm chốt (P1) Điểm thứ ba (P3) coi điểm động Điểm điểm chốt điểm động (P2) điểm trung gian Bước 2: Tính góc điểm trung gian tạo cạnh nối điểm trung gian với điểm chốt điểm động Bước 3: Kiểm tra góc tìm lớn ngưỡng θ cho trước điểm trung gian bỏ Trong trường hợp ngược lại điểm chốt chuyển đến điểm trung gian Bước 4: Chu trình lặp lại hết đường cong với điểm trung gian chuyển đến điểm động điểm sau điểm động định làm điểm động 3.3 Thuật toán rút gọn số lượng mặt biểu diễn mở rộng HS Thuật toán thực việc mở rộng thuật tốn Angles sang chiều với việc thay tính góc tạo cạnh đỉnh tính góc tạo véctơ pháp tuyến mặt có đỉnh Xuất phát từ việc che phủ đối tượng hình dung sau: Coi ảnh che phủ miếng cao su, sau đóng đinh điểm ảnh vị trí tương ứng lưới Ảnh bị căng che phủ toàn đối tượng Tại điểm chốt mà véctơ pháp tuyến mặt có chứa điểm lệch góc nhỏ ngưỡng θ cho trước điểm bỏ đi, đa giác tạo điểm đỉnh có cạnh nối điểm bỏ chia lưới lại theo thuật toán chia lưới tam giác (hình 9) ni nj φ a) Bề mặt thành phần véctơ pháp tuyến tương ứng b) Loại bỏ đỉnh v1 c) Chia lại lưới Hình Véctơ pháp tuyến bề mặt chung đỉnh loại bỏ đỉnh Do biểu diễn bề mặt đa giác thành tam giác thành phần, nên khơng làm tính tổng qt ta giả thiết đối tượng bề mặt lưới không gian ba chiều M bao gồm mặt tam giác biểu thị cặp danh sách (V, F) đó: V = (vl,v2,v3, ,vr): danh sách gồm dãy thứ tự đỉnh, đỉnh véctơ cột vi = [xi, yi, zi]T; (i = 1, 2, 3) không gian R3 F = (f1, f2, f3, , fn): danh sách dãy có thứ tự mặt tam giác, tam giác fi ba đỉnh (vi,vk,vl) Khi véctơ pháp tuyến bề mặt tam giác fi, tính tích có hướng hai véctơ a = (a1, a2, a3) b = (b1, b2, b3) nằm bề mặt: 128 a ni = aΛb = b2 a3 a3 , b3 b3 a2 = (a2b3 − a3b2 , a3b1 − a1b3 , a1b2 − a2b1 ) b2 a1 a1 , b1 b1 (*) Góc ϕ hai pháp tuyến ni n j bề mặt tam giác fi, fj xác định công thức: cos ϕ = ni n j = ni n j a1a2 + b1b2 + c1c2 a + b12 + c12 a22 + b22 + c22 (**) Do đó, việc rút gọn số lượng bề mặt biểu diễn thực lặp thông qua bước 3.4 Thuật toán rút gọn bề mặt biểu diễn HS Bước 1: Khởi tạo - Lựa chọn ngưỡng θ; - Tính véctơ pháp tuyến ni bề mặt tam giác fi ∈ F, i = 1, ,n Bước 2: Với đỉnh vi ∈ V tính góc tạo cặp véctơ pháp tuyến bề mặt tam giác chứa đỉnh vi Bước 3: Nếu góc tính bước nhỏ ngưỡng θ cho trước, tức bề mặt tương đối phẳng đỉnh vi, điểm đỉnh vi bỏ đi, thuật toán chuyển qua bước Trong trường hợp ngược lại đỉnh giữ lại, thuật toán quay lại bước Bước : Chia đa giác tạo điểm đỉnh có cạnh nối điểm bỏ thành lưới tam giác cập nhật lại danh sách F 3.5 Độ phức tạp thuật toán HS Để đánh giá hiệu thuật toán HS, chúng tơi dựa vào độ phức tạp thuật tốn Giả sử có mơ hình tam giác M với v đỉnh x bề mặt, n véctơ pháp tuyến tạo từ x bề mặt có chung đỉnh v Tại bước (1): Vì (*) có độ phức tạp tính tốn O(1), vịng lặp tính tính n Vì có i vịng lặp cần tính ni , có n véctơ pháp tuyến (tương ứng n bề mặt) có độ phức tạp O(n) Tại bước (2)-(3), ta có véctơ pháp tuyến tạo thành góc cần tính Nếu đỉnh v có x mặt phẳng chứa ( x véctơ pháp tuyến ) ta có: C2x = x! = (n-1)(n-2) ⇒ O(n2) 2!( x − 2)! Tại bước (4): Để chia thành lưới điểm thuật toán chia cần phải duyệt điểm bỏ Giả sử độ phức tạp thuật toán chia O(log n) Cập nhật lại danh sách cần thực tối thiểu n phép tính, độ phức tạp O(n) Vậy độ phức tạp thuật toán HS là: Max(O(n), O(n2), O(n), O(log n)) = O(n2) 129 3.6 Thử nghiệm Chúng cài đặt thuật toán đề xuất rút gọn số lượng bề mặt biểu diễn xây dựng mơ hình có bề mặt tương đối phẳng Khi bề mặt đối tượng "bằng phẳng" có nhiều bề mặt tạo nên lưới đối tượng có điểm đỉnh có véctơ pháp tuyến "song song" với đó, góc tạo chúng nhỏ Do vậy, số điểm đỉnh bỏ nhiều dẫn đến số lượng bề mặt lưới rút bỏ nhiều Hình 10 minh họa cho việc rút gọn số lượng bề mặt biểu diễn thuật tốn HS Hình 10.a, 10.b mơ hình tổng thể phần khu đô thị Nghĩa Tân Số lượng bề mặt ban đầu hệ thống 80.000.000 bề mặt Với số lượng bề mặt lớn này, việc load điều khiển mơ hình khó khăn Với ngưỡng góc véctơ pháp tuyến ≤ 5o, chúng tơi rút gọn xuống cịn 54.000.000 bề mặt Nhờ chương trình trình diễn cơng trình kiến trúc VREpistypeRender [11] điều khiển linh hoạt cơng trình kiến trúc a) Mơ hình tổng thể khu đô thị Nghĩa Tân b) Một phần khu thị Hình 10 Mơ hình khu thị Nghĩa Tân, Cầu Giấy, Hà Nội Hình 11 minh họa cho việc rút gọn số lượng bề mặt biểu diễn thuật tốn HS Hình 11.a mơ hình tổng thể hội trường với số lượng bề mặt 73.400 bề mặt Áp dụng thuật tốn HS với ngưỡng góc véctơ pháp tuyến ≤ 5o, rút gọn xuống số lượng bề mặt khác (kết hình 11.c, 11.e), cịn thuật tốn EC [10, 18] thực rút gọn cách chụm cạnh (kết hình 11.b, 11.d) So sánh kết rút gọn HS với kết rút gọn EC thấy HS cho kết mơ hình có chất lượng tốt với bề mặt mịn hơn, cịn EC cho kết mơ hình tồi với bề mặt thơ 130 a) Mơ hình gốc với 73.400 bề mặt b) Mơ hình rút gọn cịn 45.000 bề mặt EC c) Mơ hình rút gọn 45.000 bề mặt HS d) Mơ hình rút gọn cịn 10.000 bề mặt EC e) Mơ hình rút gọn cịn 10.000 bề mặt HS Hình 11 Mơ hình cơng trình kiến trúc với mức độ rút gọn khác thuật toán EC thuật toán đề xuất HS 131 KẾT LUẬN Hai khâu quan trọng việc xây dựng hệ thống thực ảo (virtual reality system) xây dựng mơ hình (modelling) điều khiển mơ hình (rendering) Trong xây dựng mơ hình, ngồi vấn đề chất lượng cịn địi hỏi u cầu tính đơn giản nhằm giảm thiểu không gian lưu trữ, phục vụ cho trình điều khiển sau Bài báo đề xuất kĩ thuật rút gọn số lượng bề mặt biểu diễn mơ hình 3D nhằm giảm thiểu khơng gian lưu trữ Kĩ thuật đề xuất thực nhờ việc tính tốn góc véctơ pháp tuyến bề mặt kề nhau, sở mở rộng thuật tốn Angles khơng gian 2D Qua thực nghiệm kĩ thuật đề xuất tỏ phù hợp với bề mặt gần tương đối phẳng Lời cảm ơn Các tác giải xin chân thành cảm ơn hỗ trợ đề tài KC.01.17/06-10 "Nghiên cứu phát triển ứng dụng giải pháp công nghệ thông tin đại tái tạo ảnh mặt người chiều từ liệu hình thái xương sọ phục vụ điều tra hình an sinh xã hội" TÀI LIỆU THAM KHẢO Đỗ Năng Toàn, Nguyễn Văn Huân - A hair material simulation approach in Virtual reality and application, Proceedings of The 7th Asian Control Conference, Hong Kong, China, 2009, pp 541-546 http://ieee.org Đỗ Năng Toàn, Nguyễn Văn Huân - Morphing and Repairing a 3D Scalp Geometry in Building Hair Models and Simulation, Proceedings of 2nd International Congress on Image and Signal Processing, Tianjin, China, 2009, pp.705-710 http://ieee.org Eric Landreneau and Scott Schaefer - Simplification of Articulated Meshes, Journal compilation of The Eurographics Association and Blackwell Publishing Ltd Eurographics 28 (2009) Hoppe, S Krömker - Adaptive Meshing And Detail-Reduction Of 3d-Point Clouds From Laser Scans, Proceedings of the ISPRS Workshop '3D-ARCH, 2009 Mridulika - Surface Model Simplification Method Based On Quadric Error Metrics, Guru Gobind Singh Indraprastha University, Delhi 06, Proceedings of 2nd National Conference on Challenges & Opportunities in Information Technology (COIT-2008), RIMT-IET, Mandi Gobindgarh, March 29, 2008 Frédéric Payan, Stefanie Hahmann and Georges-Pierre Bonneau - Deforming surface simplification based on dynamic geometry sampling, Proceedings of International Conference on Shape Modeling and Applications, SMI'07, Lyon – France, 2007 Zhang S., Wu E - Deforming surface simplification based on feature preservation, In ICEC, 2007, pp 139-149 Connie Phong - An Introduction to 3D Geometry Compression and Surface Simplification, CSC/Math 870, 2007 Jia-xin CHEN, Hai-he HU - One Mesh Model Simplification Method Based on Shape Transform of Triangles, IEEE Computer Society, 2006 http://ieeexplore.ieee.org/iel5/4089190/4089191/04089302.pdf 10 S Siltanen, T Lokki, and L Savioja - Geometry Reduction In Room Acoustics Modeling, Proceedings of the Institute of Acoustics, Vol 28, Pt.2, 2006 132 11 Đỗ Năng Toàn - Ứng dụng công nghệ thực ảo bảo tàng di sản, đề tài cấp Viện Khoa học Cơng nghệ Việt Nam, 2004-2006, 2006 12 Rưttger S Terrain LOD Implementations-libMini, 2004 ttp://www.vterrain.org/LOD/ Implementations/.[capture on 26/03/04] 13 Đỗ Năng Tồn, Ngơ Quốc Tạo - Đơn giản hố đường cong có hiệu chỉnh q trình véctơ hố, chun san Các cơng trình nghiên cứu triển khai Cơng nghệ thơng tin viễn thơng, Tạp chí Bưu viễn thông (7) (2002) 75-81 14 Zhao, Youbing, Ji Zhou, Jiaoying Shi, and Zhigeng Pan - A Fast Algorithm for Large Scale Terrain Walkthrough, CAD/Graphics, 2001 15 Levoy M., Pulli K., Curless B., Rusinkiewicz S., Koller D., Pereira L - The digital michelangelo project: 3d scanning of large statues In SIGGRAPH ’00: Proceedings of the 27th annual conference on Computer graphics and interactive techniques, New York, NY, USA, 2000, pp 131-144 16 Mapscan, http://www.un.org/Depts/unsd/softproj/software/mapscan.htm http://www.ons.dz/unfpa/software/mapscan.htm; http://www.aig.asn.au/utilities.htm 17 Hamann Bernd - A Data Reduction Scheme for Triangulated Surfaces, Computer Aided Geometric Design 11 (2) (1994) 197-214 18 Schroeder, William J., Jonathan A Zarge, and William E Lorensen - Decimation of Triangle Meshes, Computer Graphics, SIGGRAPH ‘92 Proceedings 26 (2) (1992) 65-70 19 Turk Greg - Re-Tiling Polygonal Surfaces, Computer Graphics, SIGGRAPH ’92 Proceedings 26 (2) (1992) 55-64 SUMMARY AN ALGORITHM TO REDUCE FACES IN 3D MODELS This paper deals with a technique to reduce faces in 3D models based on Angles algorithm in 2D, by calculating angle between two normal faces, that have the same edge The given technique seems be effective for approximately flat surfaces Địa chỉ: Nhận ngày 12 tháng năm 2008 Đỗ Năng Tồn, Viện Cơng nghệ thông tin, VAST Nguyễn Văn Huân, Khoa Công nghệ thông tin, Trường Đại học Thái Nguyên 133