Một số khái niệm và giả thiết ban đầu của thuật toán QEM (Quardric

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình 3d và một số kỹ thuật mô hình hóa 3d trong mô phỏng (Trang 43 - 52)

Error Metric)

2.2.2.1. Qui ước về cách biểu diễn vật thể

Một vật thể được mô hình hóa trong không gian ba chiều thông thường được biểu diễn bởi các bề mặt đa giác là tam giác, điều này không làm giảm tính tổng quát bởi vì, một đa giác bất kỳ đều có thể chia được thành các tam giác nhỏ hơn, nói cách khác, một đa giác luôn là 1 tập của nhiều tam giác.

Với qui ước này, từ đây, khi chúng ta đề cập đến một mặt đa giác đơn lẻ nào đó trong mô hình biểu diễn thì hiểu rằng đó là mặt tam giác.

Khái niệm vật thể trong không gian ba chiều ở đây do yếu tố cần phải thể hiện được lên màn hình đồ họa máy tính nên mục tiêu biểu diễn vật thể chính là việc biểu diễn các bề mặt của vật thể này; như vậy, chúng ta cùng qui ước rằng khi nói đến một vật thể cũng đồng nghĩa là nói đến một mặt của đa diện biểu diễn chúng.

Trong một số trường hợp đặc biệt, trong mô hình biểu diễn có thể có các đỉnh hoặc cạnh không thuộc một tam giác nào cả, có một số thuật giải đã

được phát triển để xử lý và loại bỏ những yếu tố như vậy, thuật toán mà ta sẽ trình bày sau đây coi như vật thể đầu vào chỉ gồm những tam giác.

Với các giả thiết nêu trên, trong thuật toán QEM chúng ta định nghĩa:

một đa diện trong không gian ba chiều bao gồm các mặt tam giác còn được biểu thị bằng một cặp danh sách M = (V,F) trong đó:

V = (vl,v2,v3, .. ,vr) : là danh sách gồm một dãy thứ tự các đỉnh, mỗi một đỉnh là một vectơ cột vl = [xl, yl, zl]T trong không gian R3 .

F = (f1, f2, f3, .. , fn ) : là danh sách dãy có thứ tự các mặt tam giác, mỗi một tam giác fi = (i,k,l) là một bộ ba đỉnh có thứ tự (vi,vk ,vl).

2.2.2.2. Các yêu cầu về giữ nguyên hình dạng hình học của vật thể (topology preservation)

Xét về mặt hình dạng hình học, có hai quan niệm trong việc thiết kế các thuật toán giảm thiểu đa diện.

Quan niệm thứ nhất chú trọng tới việc giữ nguyên hình dạng hình học của vật thể ( topology preservation ), hai phần rời nhau của vật thể sẽ không được chập làm một trong quá trình biến đổi cho dù mức độ giảm thíểu rất nhiều.

Quan niệm thứ hai, cho phép có sự vi phạm này, nếu hai phần của vật thể gần nhau. Ở một mức độ nào đó, chúng có thể chập vào nhau trong quá trình thực hiện biến đổi.

Thuật giải QEM thuộc loại thứ hai. Để minh hoạ chúng ta xem xét ví dụ ở hình 2.6. sau:

a) Vật thể ban đầu b) Giảm thiểu đa diện theo quan niệm thứ nhất

c) Giảm thiểu đa diện theo quan niệm thứ hai

Hình 2.6. Vật thể gồm nhiều khối hộp đặt sát nhau được giảm thiểu theo 2 cách

Ta có 1 vật thể gồm nhiều khối lập phương nhỏ nằm kề sát nhau, nếu theo quan niệm thứ nhất, kết quả của quá trình biến đổi không cho phép các khối nhỏ chập vào nhau, kết quả là các khối lập phương nhỏ sẽ bị suy giảm một cách độc lập, chúng sẽ nhỏ đi và tách xa nhau ra như hình vẽ.

Nếu theo quan niệm thứ hai, chỉ sau vài bước lặp, các khối lập phương sẽ chập vào nhau thành một khối hộp duy nhất và chúng ta có một kết quả tốt hơn nhiều. Tuy nhiên, quan niệm thứ nhất cũng thật cần thiết trong một số ứng dụng nhất định đòi hỏi sự chính xác cao.

Với quan niệm đó, thuật toán QEM cho phép chập các các phần tách rời của vật thể với nhau nếu thoả mãn một số điều kiện nào đó, và đó chính là lý do một cặp đỉnh bị loại bỏ có thể không phải là cạnh của đa diện biểu diễn.

Sau khi số hóa hiện vật 3D việc quan trọng là phải đơn giản hóa bề mặt, bởi vì dữ liệu đầu ra của máy quét có lượng đỉnh rất lớn, và hầu hết máy móc đọc một mô hình rất khó khăn. Vì vậy cần phải đơn giản hóa bề mặt nhằm giảm thiểu dung lượng của mô hình phục vụ cho các ứng dụng thực tại ảo đòi hỏi thời gian thực.

Như trên hình ta có thể thấy, dữ liệu raw scan data là dữ liệu quét, sau khi giảm thiểu tối đa ra dữ liệu low resolution tuy nhiên dữ liệu này giảm thiểu không dùng được. Dữ liệu High resolution là dữ liệu có thể dùng được cho các ứng dụng game hoặc trong phim ảnh.

Có rất nhiều phương pháp đơn giản hóa bề mặt. Có thể chúng ta dùng phương pháp thủ công, các thủ thuật trong các phần mềm chuyên dụng để đơn giản hóa. Tuy nhiên dù phương pháp nào cũng cần dựa trên cơ sở toán học. Các phương pháp này em đã trình bày chi tiết ở trong luận văn.

2.2.2.3. Phương pháp dánh giá độ xấp xỉ

Như đã trình bày, mục tiêu của những thuật toán giảm thiểu đa diện là biến đổi những vật thể ban đầu thành những vật thể đơn giản hơn nhưng vẫn giữ được hình dạng tương tự như ban đầu.

Để đánh giá được độ tương tự này chúng ta cần phải có một đại lượng đo. Giả sử vật thể ban đầu là M và vật thể được biến đổi là M’ ta cần phải có một hàm đo là một ánh xạ :

E : M x M  R trong đó E(M,M’) chỉ ra mức độ tương tự giữa M và M’, giá trị này càng nhỏ thì ta nói M’ càng giống M.

Đại lượng này phải hoàn toàn dựa trên sự khác biệt về hình ảnh của hai vật thể và độc lập với các ứng dụng sử dụng nó. Có 2 hướng nghiên cứu đã được phát triển.

- Hướng thứ nhất dựa trên sự khác biệt về hình ảnh 2 chiều (image-based metric) được kết xuất ra của hai vật thể, nó dựa trên sự khác biệt trung bình giữa các điểm ảnh của hai ảnh hai chiều.

- Hướng nghiên cứu thứ hai dựa vào sự tính toán trên mô hình hình học của hai vật thể (shap-based metric); hướng này phổ biến hơn. Chúng ta có thể nhận thấy hầu hết các thuật toán đều tính toán sự khác biệt giữa các mô hình dựa trên các đặc điểm hình học của chúng.

Chúng ta sẽ điểm qua các nét chính của hai phương pháp dưới đây.  Dựa vào ảnh kết xuất ra

Những hệ thống kết xuất hình ảnh (rendering system) là những hệ thống tính toán cho ta những hình ảnh 2 chiều cuối cùng của vật thể dựa trên các mô hình hình học của vật thể đó, đây là một trong những ứng dụng chính của đồ hoạ ba chiều bởi vì sau tất cả các quá trình thiết kế, mô hình hoá vật thể, tô màu v.v.. cuối cùng chúng ta vẫn cần có các hình ảnh để quan sát những gì đã thiết kế. Nếu coi những hình ảnh 2 chiều đó là đối tượng chính để đánh giá chất lượng của các mô hình thì việc đánh giá độ xấp xỉ cũng có thể dựa trên sự đánh giá hai ảnh 2 chiều đó. Đây là ý tưởng chính của hướng nghiên cứu này.

Giả sử hình ảnh của vật thể M dưới góc quan sát ξ được biểu thị bằng một ảnh hai chiều I1ξ mà hệ thống kết xuất ra, chúng ta coi hai vật thể Ml, M2 là giống nhau nếu dưới cùng một góc quan sát thì hai ảnh I1ξ, I2ξ giống hệt nhau. Nếu giả thiết I1ξ , I2ξ là hai ma trận m xm mà mỗi phần tử của ma trận là giá trị màu (R,G,B) của điểm ảnh, khi đó ta có thể định nghĩa sự khác biệt giữa chúng là:     2 2 2 2 1 1 , 1 , u v I I I u v m I u v    

trong đó : ||I1(u,v)-I2(u,v)|| là độ dài hiệu của hai vectơ RGB: I1(u,v) và I2 (u,v).

Thực chất có nhiều giải thuật so sánh và tính khoảng cách giữa hai ảnh rất tinh vi và phức tạp, tuy nhiên chúng ta có thể thấy cách này đơn giản và khá phù hợp với các thuật toán giảm thiểu đa diện mà chúng ta sẽ nghiên cứu ở đây. Nếu M2 là một xấp xỉ tốt của M1 thì giá trị phải rất nhỏ và để xác định được chính xác sự khác biệt giữa hai mô hình M1, M2 thì ta phảỉ kết hợp nhiều góc nhìn ξ .

Hướng tiếp cận này có một vài ưu điểm nhỏ. Khi chúng ta biết trước được số lượng hữu hạn các góc nhìn ξ sẽ sử dụng, ta có thể biết trước được

các phần thừa, bị che khuất trong cả quá trình, như vậy có thể loại bỏ ra khỏi mô hình vật thể và không cần tính toán các phần này. Chẳng hạn khi mô hình hoá một chiếc máy bay, nếu chỉ quan sát từ bên ngoài thì chúng ta có thể loại bỏ tất cả các chi tiết phức tạp bên trong máy bay ra khỏi quá trình tính toán.

Tuy nhiên, có nhiều nhược điểm xuất hiện khi đi theo cách nghiên cứu này. Trước hết là có rất ít ứng dụng cho phép chúng ta biết trước được số lượng các góc nhìn ξ, nhất là trong các ứng đụng tương tác với người sử dụng. Hơn nữa hệ thống còn phải đợi quá trình kết xuất ra hình ảnh kết thúc rồi mới tiến hành so sánh được, điều này làm chậm đáng kể thời gian thực hiện.

Dựa vào độ xấp xỉ hình học

Đây là một phương pháp phổ biến nhiều hơn, được sử dụng trong các thuật toán giảm thiểu đa diện, nó tiến hành tính toán độ xấp xỉ đựa trên mô hình hình học của hai vật thể.

Bài toán này đã được nghiên cứu từ lâu trong toán học, chúng ta sẽ trình bày qua ở đây để làm cơ sở cho các tính toán trên các mô hình hình học về sau.

Giả sử ta có hàm số thực f(t) và một hàm xấp xỉ của nó là g(t) trong một khoảng đóng [a, b] nào đó. Ta định nghĩa L∞ đo bởi giá trị khác nhau lớn nhất giữa hai hàm trong đoạn [a,b]

|| f - g|| ∞ = max| f(t) - g(t)|

Trong khi đó L2 đo bởi giá trị khác biệt trung bình giữa hai hàm trong đoạn [a,b] 2 2 ( ( ) ( )) . b a fg   f tg t dt

Độ đo L∞ được xem như chặt hơn, nó đảm bảo được sự chính xác giữa hai hàm và đặc biệt được dùng trong các ứng dụng có đòi hỏi về các giá trị biên, tuy nhiên dễ bị nhầm trong những trường hợp có nhiễu. Trong khi đó L2 bớt chặt hơn vì nó sử dụng giá trị sai số trung bình, nó cho kết quả tốt nếu nhìn trên toàn cục của đoạn [a,b], tuy nhiên nếu có sự sai khác cục bộ thì nó không phát hiện được.

Có thể tính toán độ xấp xỉ (về khoảng cách) giữa hai mặt hình học dựa trên các ý tưởng về hàm xấp xỉ ở trên. Chúng ta có định nghĩa sau :

Gọi p(M) là tập các điểm của mặt M, khi đó khoảng cách từ một điểm v tới mặt M được định nghĩa là giá trị nhỏ nhất từ v tới các điểm thuộc p(M):

(M) min w

v

dv

wp M( )

Khi đó ta có một định nghĩa về khoảng cách giữa hai mặt rất giống với

L∞ là:

Một định nghĩa về độ đo khác tương tự như L2 là: Emax = max( max dv (M2), max dv (M1)

1 wp M( ) wp M( 2) 1 2 2 2 2 1 1 2 ( ) (M ) 1 ( ( ) ( ) dv) w w avg v v p m p Ed M dvd M   

Trong thực tế số lượng điểm trong một mặt là vô hạn nên thực tế không thể tính toán được hai đại lượng theo công thức trên. Tuy nhiên, dường như là các mặt trong không gian cũng được mô hình hoá thông qua một số điểm đặc trưng nào đó, ví dụ các đỉnh của một mặt được mô hình hoá bởi các tam giác. Khi đó hai công thức trên trở thành :

Va 1 2 1 2 max 2 1 ( ) ( ) 2 2 2 1 1 2 max(max (X ), max ( ) 1 E ( ( ) ( ) v p X v p X avg v v v X v X E dv dv X d M d M k k          

trong đó X1 và X2 là tập các điểm đặc trưng

2.2.2.4. Ý tưởng và các bước của thuật toán QEM

Ý tưởng

Từ các khái niệm, giả thiết ban đầu và để ý đến phương pháp loại bỏ, đánh giá độ xấp xỉ hình học, bài toán đặt ra là làm thế nào để có thể mô hình hóa biểu diễn vật thể với số lượng bề mặt tam giác là tối thiểu bằng cách loại bỏ các cặp đỉnh và mặt đã được gán một giá trị biểu diễn (được xác định bằng một qui luật nào đó ví dụ như hàm giá …) có giá trị nhỏ hơn một giá trị tối thiểu cho trước. Chúng ta có thể hình dung giải pháp của thuật toán theo các bước sau đây:

Các bước cơ bản của thuật toán

Thuật toán QEM gồm có các bước cơ bản như sau:

Bước 1 . Lập ra 1 tập các cặp đỉnh sẽ bị xem xét & loại bỏ theo 1 điều kiện yêu cầu cụ thể định trước.

Bước 2. Gán cho mỗi cặp một giá trị được coi là giá của nó khi loại bỏ.

Bước 3. Đặt tất cả các cặp vào một cấu trúc heap với cặp có giá bé nhất ở trên cùng.

Bước 4. Thực hiện vòng lặp sao cho đạt được độ đơn giản cần thiết: - Loại bỏ cặp (vi ,vj ) có giá nhỏ nhất khỏi cấu trúc heap.

- Thay thế cặp đỉnh vừa loại bỏ (vi , vj ) bằng một đỉnh v duy nhất. - Cập nhật tất cả các giá của các cặp liên quan.

Điểm cần chú ý là khi giá phải loại bỏ càng lớn thì phép loại bỏ này có chất lượng càng kém. Chúng ta sẽ lần lượt phân tích từng bước của thuật toán ở các phần

Kiểm tra tính toàn vẹn

Chúng ta phân tích thêm về một số yếu tố có thể ảnh hưởng đến chất lượng của đầu ra mà thuật toán QEM đã xem xét và giải quyết bằng cách gia tăng thêm trọng số để vòng lặp không lựa chọn phải các phương án kém đó. Yếu tố thứ nhất là trên bề mặt các vật thể có các chi tiết đặc biệt dễ gây tác động đến người xem ví dụ như các nếp nhăn, nếu trong quá trình thực hiện mà loại bỏ các chi tiết đó thì trong nhiều trường hợp sẽ không chấp nhận được. Về mặt hình học, các chi tiết đó nằm ở các vùng có độ cong biến đổi lớn, có một số nghiên cứu đã chỉ ra rằng, trong việc đánh giá sai số bằng hàm bậc hai như QEM thì các vùng như vậy sẽ ít bị động chạm đến, do vậy, bản thân thuật toán đã loại bỏ được những yếu tố này.

Yếu tố thứ hai cần xem xét là có một số trường hợp sau khi loại bỏ cặp đỉnh và thay vào đó là một cặp đỉnh mới thì hình dạng cuối cùng sẽ bị thay đổi đột ngột.Chúng ta xem hình vẽ dưới đây:

Hình 2.8. Sau khi loại bỏ một cặp thì xuất hiện 1 mặt bị ngược

Về mặt hình học, những mặt bị thay thế có vectơ pháp tuyến gần như ngược với mặt ban đầu. Giải pháp phổ biến và dễ hình dung nhất là phải kiểm

tra vectơ pháp tuyến so với ban đầu, nếu góc tạo bởi hai vectơ này lớn hơn một ngưỡng nào đó thì biến đổi đó coi là kém và sẽ được gán trọng số rất lớn. Thuật toán QEM sử dụng một phương án khác. Chúng ta xem hình vẽ 2.9 dưới đây:

Hình 2.9. Giải pháp của QEM

Mỗi một đỉnh vi có một tập các cạnh đối diện trên các tam giác tương ứng và không chứa vj, lập một tập các mặt phẳng đi qua các cạnh đó và vuông góc với chính mặt tam giác chứa các cạnh đó, để tránh cho vị trí v mới không tạo ra hiện tượng lật ngược mặt như đã trình bày thì vi v phải cùng phía với tất cả các mặt phẳng vừa tạo ra. Làm một phép kiểm tra tương tự đối với v

vj. Nếu một trong hai phép kiểm tra bị vi phạm thì phép loại bỏ hai cặp đỉnh này sẽ bị gán một trọng số lớn.

Một phần của tài liệu (LUẬN văn THẠC sĩ) mô hình 3d và một số kỹ thuật mô hình hóa 3d trong mô phỏng (Trang 43 - 52)