Tải bản đầy đủ (.pdf) (11 trang)

Một kỹ thuật xây dựng hệ bao tự động cho đối tượng 3D

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (915.74 KB, 11 trang )

Kỷ
K yếu Hội nghị Quốc
Q
gia lần thứ VIII về Nghiên cứ
ứu cơ bản và ứng dụng Công nghệệ thông tin (FAIR)); Hà Nội, ngày 99-10/7/2015

MỘT KỸ
Ỹ THUẬT
T XÂY DỰ
ỰNG HỆ BAO TỰ
Ự ĐỘNG CHO ĐỐ
ỐI TƯỢNG
G 3D
Nguyễn
n Đức Hoàng1, Đỗ Năng Toàn2, Nông M
Minh Ngọc3
1

ưu chính Viễn
Học viện Công nghệ Bư
n thông, 2Viện Công nghệ thhông tin , 3ĐH
H Thái Nguyên
ho


TÓM TẮT
TẮ - Báo cáo nnày đề cập đến việc xây dựng hệ bao (Boundiing volume hierrarchy - BVH) tự động cho mộ
ột đối tượng
3D.
3 Việc xây dự
ựng BVH cho đốối tượng thườngg theo mô hình từ trên xuống (top-down), từ dưới lên (bottoom-up) hoặc thê


êm vào (add
in
n); với một dạnng hộp bao cụ thhể. Kỹ thuật đề xuất xây dựng BVH dựa trên việc sử dụng nhhiều dạng hộp bbao khác nhau phù
p hợp với
th
hực tế hoạt độnng của đối tượnng. Kỹ thuật đãã được thử nghiệm và tỏ ra hiệệu quả đối với ccác mô hình đốối tượng 3D đượ
ợc xây dựng
th
heo phương phááp liên tục.
Từ khóaa - hệ bao, tự độộng, nhiều dạngg hộp bao, nhận
n dạng va chạm
m.

I. GIỚI
G
THIỆU
Hệ baoo BVH [9] đóng vai trò quuan trọng trong việc biểu diễn các vật thhể, cho phép giải quyết nhiều vấn đề
trrong lý thuyếết và ứng dụngg của nhận dạạng va chạm, dò tia. Các kỹ
ỹ thuật này chho phép giải ccác bài toán trrong nhiều
lĩĩnh vực như robotic,
r
đồ họọa máy tính, đđồ họa động, trrò chơi điện tử
ử, thực tại ảo , mô phỏng vvà biểu diễn có
ó khả năng

ương tác.
BVH hiện nay là một trong nhữngg phương pháp
p tiếp cận thàn
nh công nhất trrong các hệ thhống hiện hành [1]. Thời
gian

g tính toán cho các hệ thốống này thể hiiện độ ưu việt của BVH [2]:
N x Cp
T = Nv x Cv + Np

Hình 1. Ví dụ về một hệ
h bao sử dụng hình
h
chữ nhật lààm khối bao

T: Tổngg thời gian tínnh toán;
Nv: Số các phép thử của một cặp hhệ bao chồng lấn;
Cv: Thời gian của phhép thử cho m
một cặp các hệ bao;
Np: Số các phép thử của một cặp hhình cơ bản ch
hồng lấn;
Cp: Thhời gian của phhép thử cho m
một cặp các hìn
nh cơ bản.
Điều nàày chứng tỏ m
một hệ thống hhoạt động sẽ dựa
d trên hai yếếu tố: độ khít ccủa hệ bao soo với đối tượng
g (Nv, Np)

v độ đơn giảnn của phép thử
ử chồng lấn trêên một cặp hệ bao (Cv).
Hệ bao khối cầu (Spphere) [4] và kkhối lập phươ
ơng (AABB) [3] tạo ra phépp thử chồng lấấn đơn giản nhất.
n
Trong
khi

k đó, hệ baoo khối chữ nhậật (OBB) [2] và khối đa diện rời rạc có hướng
h
(k-DO
OP) [5] cho biểểu diễn khít nhất.
n
Trong
báo
b cáo này sẽẽ trình bày về việc ứng dụngg hai loại khối biểu diễn để tối ưu cả về m
mặt độ khít củủa hệ bao và độ đơn giản
của
c phép thử chồng
c
lấn.
Beckmaann [3] đưa raa giải thuật chho cây AABB
B, Palmer [7] và
v Hub-bard [[4] đưa ra giảii thuật cho câ
ây khối cầu
để
đ giải quyết vấn
v đề đơn giảản hóa. Trongg khi đó Gottscchalk [2] đưa ra giải thuật ccho khối OBB
B còn Klosowski [5] đưa
ra
r giải thuật cho
c khối đa ddiện k-DOP đểể giải quyết vấn
v đề về độ khít của hộp bao.Van denn Bergen [8] đưa
đ ra một
phương
p
thức đơn
đ giản để phhân tách các hhộp chữ nhật OBB

O
được biếtt đến với tên S
SAT lite. Giảii thuật này chỉỉ sử dụng 6
trrong số 15 hệ trục tọa độ soo giải thuật gốốc.
Trong báo
b cáo này, vvấn đề xây dựnng hệ bao (BV
VH) cho một đ của hệ bao

III. KỸ THU
UẬT XÂY D
DỰNG HỆ BA
AO TỰ ĐỘNG
G VỚI NHIỀ
ỀU DẠNG HỘ
ỘP BAO
Giới hạạn cho việc thự
ực hiện kỹ thuuật này như saau:


Việệc thực hiện đđược thực hiệnn trên hai vật thể
t rắn. Tính ưu
ư việt của kỹỹ thuật được th
thể hiện qua việc cho hai
vậtt thể rắn giốngg hệt nhau va cchạm với nhau
u. Thời gian tíính toán va chhạm là tiêu chíí để xem xét.



Việệc biểu diễn hhệ bao đối tư
ượng với nhiềều dạng hộp bao

b sẽ giới hạạn ở hai dạngg hộp bao thu
uộc về mỗi
phư
ương hướng tốối ưu.



Mộột hệ bao với hai dạng hộp bao được lựaa chọn, trong đó
đ mỗi nút hộộp bao thuộc hhướng khít sẽ được tăng
cườ
ờng bởi một hhộp bao hướngg đơn giản.



Phép thử với hộpp bao hướng đđơn giản sẽ đư
ược thực hiện trước
t
để loại ttrừ các đối tượợng ở xa.

A.
A Xây dựng hệ
h bao tự độn
ng
Việc xâây dựng tự độnng hệ bao có thể được coi là
l tự động xây
y dựng cấu trúúc dữ liệu hìnhh cây mô tả hệ bao [10].
Phương
P
thức chung
c

để xây ddựng một hệ bbao có thể đượ
ợc miêu tả như
ư sau: hệ bao được xây dựnng trên cơ sở một
m cây dữ
liệu các hộp baao. Trong đó ccác hộp bao làà các hình đơn
n giản được sắắp xếp khít quuanh nhau, baoo phủ đối tượn
ng cần xem
xét.
x Các hộp này
n được đề cậập đến ở phần
n II.
Một số giải thuật xâyy dựng hệ bao tự động đã đư
ược nghiên cứ
ứu:


Thhêm dần: Giải thuật được đư
ưa ra bởi Gold
dsmith [11]. Giải
G thuật đượợc thiết lập dự
ựa trên việc tín
nh toán giá
trị nhỏ nhất của cây khi thêm
m các hình cơ bản vào trong
g hệ. Khi mộtt hình cơ bảnn p được thêm
m vào trong
mộột hệ được phâân chia, giải thhuật sẽ sử dụn
ng 3 luật:

o


p có
c thể là nhánhh con của mộtt nhóm g;

o

p có
c thể kết hợp với một hình cơ bản p' nhó
óm g', g' sẽ là một
m nhánh conn của g;

o

p có
c thể được thêm vào một nnhóm g' thuộc nhóm đệ quy của g.

Hình 13. 3 Luật của thuật toán thêm vào


Nguyễn
N
Đức Hoànng, Đỗ Năng Toààn, Nông Minh Nggọc

419

Phươngg pháp này có thể được sử ddụng để tạo một
m hệ bao xấp
p xỉ tuy nhiên nó có một số hạn chế. Hệ được
đ
tạo ra

dựa
d trên yêu cầu thêm vào ccủa các nút. V
Và yêu cầu này
y là không mo
ong muốn do pphải dựa trên ccảm quan của người xây
dựng
d
hệ bao. Trong
T
một số ttrường hợp giiá trị của cây sẽ
s không tối ưu
ư và mỗi nhóm
m mới chỉ chứ
ứa hai hình cơ
ơ bản. Điều
này
n được cải thiện
t
hơn tronng thuật toán được đưa ra bởi Haber [Error! Referen
nce source n
not found.]: sử
ử dụng hai
cách
c
tiếp cận:
o

Thhêm lại thành ccông: Loại bỏ những nút kh
hông tốt và thêêm lại chúng vvào hệ bao


o

Giớ
ới hạn các nhóóm xấu: Tìm ccác nhóm không tốt và cố gắng
g
chia chúnng ra.



Chhia nhỏ: Thuậtt toán này đượ
ợc xây dựng bởi Muller [13]]. Thuật toán chia nhỏ một tập hợp các hình
h cơ bản
mộột cách đệ quyy thành hai tậpp con không trrùng phần tử. Việc này đượợc dừng lại khhi đạt đến ngưỡng. Thuật
toáán sẽ thực hiệnn như sau: Câây hệ bao đượcc xây dựng bở
ởi việc sắp xếpp các hình cơ bản theo các trục tọa độ
chíính và lấy mốc là tâm của ccác hình cơ bảản. Sau đó chứ
ức năng lựa chhọn giá trị nhỏỏ nhất của cây
y hoạt động
trênn việc xem xéét tất cả các điiểm phân chia có thể. Thuậtt toán sẽ tiếp ttục chia đến kh
khi các cây chứ
ứa toàn các
hìnnh cơ bản tại ccác lá.

Hình 14. X
Xây dựng cây bằằng cách phân chia dọc theo mộ
ột trong 3 trục ttại các điểm có giá trị nhỏ nhấtt

Giải thuuật này cũng được Gottschhalk [[2]] sử dụng cho hệ baao sử dụng hộộp bao OBB. Trong đó, việ
ệc chia nhỏ
sẽ

s tiến hành dọọc theo trục dàài nhất, sử dụnng các điểm trrung tâm.
Điểm hạn
h chế duy nhhất của giải thu
huật này là chỉ xây dựng đượ
ợc các hệ bao nhị phân. Tuyy nhiên có thể khắc phục
bằng
b
cách chiaa nhiều lần tại cùng mỗi cấpp. Độ cân bằng
g của cây phụ thuộc và chứcc năng giá trị được sử dụng
g.
• Kết hợp: Giải thuuật được xây dựng bởi Erleben [14] và có thể thấy đđược áp dụng trong OpenTissue [16].
Giải thuật này bắắt đầu với việcc xây dựng cấu
u trúc đồ thị dữ
d liệu, trong đđó mỗi nút thhuộc đồ thị liên
n quan đến
các hình cơ bản vvà các đỉnh cóó quan hệ lân cận. Một đỉn
nh trong đồ thịị nghĩa là hai nút trong hệ bao có thể
kết hợp tốt với nhhau. Các đỉnhh được xác địn
nh bằng một chức
c
năng phỏỏng đoán tronng đó phóng đại hộp bao
cơ bản
b và ghi nhhận va chạm. M
Một va chạm có nghĩa là một
m đỉnh giữa hai đồ thị nútt vừa va chạm
m cần được
thêm
m vào đồ thị.

Hình 15. Một

M đỉnh sụp đổ
ổ thành một nút


420
4

MỘT KỸ THU
UẬT XÂY DỰNG
G HỆ BAO TỰ Đ
ĐỘNG CHO ĐỐI TƯỢNG 3D

Việc nàày được lặp đii lặp lại cho đđến khi một nú
út duy nhất tồn
n tại. Sau khi một đỉnh sụpp đổ trong đồ thị,
t các nút
th
huộc hệ bao được
đ
kết hợp tthành một nhóóm mới khi mộ
ột trong hai điiều kiện sau thhỏa mãn:
o

Đồồ thị nút bao phủ lượng lớn hơn một nhán
nh cố định;

o

Cóó ít đỉnh hơn trrong một đồ thhị so với một nhánh
n

cố định
h.

B.
B Lựa chọn hộp
h bao phù h
hợp
Như đãã trình bày ở trrên, việc xây ddựng hệ bao đối
đ tượng có th
hể thông qua ccác phương phháp chính là: sử dụng hệ
bao
b cầu (Spherre); hệ bao hộộp chữ nhật (A
AABB); hệ baao hộp chữ nhậật có hướng (O
OBB) và hệ bbao đa diện có hướng rời
rạc
r (k-DOP).
Để tận dụng lợi thế ccủa hai dạng hhộp bao: AABB, Sphere - đơ
ơn giản; OBB
B, k-DOP - chíính xác, có thể
ể xây dựng
một
m cậy hệ baoo được xây dự
ựng bằng nhiềều dạng hộp bao trên mỗi nú
út. Trong đó, tại mỗi nút sẽẽ có 1 hộp bao
o dạng đơn
giản
g và 1 hộp bao
b dạng chínnh xác.
Trong tài
t liệu này sẽ lựa chọn sử ddụng hai dạng hộp bao: AAB

BB và OBB đđể xây dựng câây hệ bao cho đối tượng.
Cấu
C trúc cây cơ
c bản sẽ đượ
ợc xây dựng ddựa trên cấu trrúc cây OBB được đưa ra bbởi Gottschallk. Với mỗi nú
út trên cây
OBB
O
được xâyy dựng, cấu trrúc hai hộp baao sẽ được xây
y dựng bao gồ
ồm thêm một hộp bao AAB
BB bao các th
hành tố của
mặt
m phẳng tại nút
n đó.
Có hai phương thức để xây dựng hhộp bao AABB trong trườn
ng hợp này. Phhương thức thứ
hứ nhất sẽ tìm ra hộp bao
AABB
A
nhỏ nhhất cho đối tượ
ợng. Phương thức thứ hai sẽ
s đặt tâm củaa hộp AABB trùng với tâm
m của hộp OBB. Phương
th
hức thứ hai sẽẽ cho giải thuậật đơn giản hơ
ơn và việc tính
h toán sẽ nhanh
h hơn. Trong kkhi đó phươngg án thứ nhất sẽ cho hộp

bao
b AABB khhít hơn đối vớ
ới đối tượng. T
Theo một số thực
t
nghiệm việc
v chọn khốối hộp AABB khít sẽ cho kết
k quả của
các
c phép thử tốốt hơn.

Hình 16. Hai
H hộp bao khô
ông chồng lấn

Hình 17.
1 Hai hộp bao
o chồng lấn

Bài kiểm
m tra cho việcc phân tách núút đối với cây hệ bao hai dạạng hộp bao sẽẽ được thực hiiện như sau: Hệ
H hộp bao
AABB
A
sẽ đượ
ợc kiểm tra trư
ước, nếu chúnng cần phải ch
hia nhỏ thì hệ bao chung sẽẽ chia nhỏ. Nếếu hệ hộp bao
o AABB bị
chồng

c
lấn, khi đó hệ hộp baoo OBB sẽ đượ
ợc xem xét tiếp
p theo.


Nguyễn Đức Hoàng, Đỗ Năng Toàn, Nông Minh Ngọc

421

Những ưu điểm của phương pháp xây dựng hộp bao này gồm:


Tăng cường độ khít của hộp bao so với các phương pháp AABB đơn lẻ. Điều này đạt được do độ khít của
hộp OBB tốt hơn so với hộp AABB.



Độ phức tạp của phép thử được giảm bớt so với phương pháp sử dụng hộp OBB. Do chỉ phải thực hiện
phép thử với hệ hộp AABB trước, nếu xảy ra chồng lấn thì mới cần xét tiếp đến hệ hộp OBB nên số lượng
tính toán của phương pháp kép sẽ giảm thiểu.

C. Ưu điểm và hạn chế
Ưu điểm chính của kỹ thuật là việc không làm giảm độ chính xác của các phép thử do sử dụng hệ bao đảm bảo
chính xác (OBB) làm cơ sở và khả năng tăng tốc tính toán do sử dụng hệ bao đảm bảo tính đơn giản (AABB) để tính
toán trước, khi va chạm xảy ra tại nhánh nào thì mới khoanh vùng để tính chính xác.
Hạn chế của kỹ thuật là thời gian xây dựng hệ bao sẽ tăng lên nhiều so với phương pháp sử dụng hệ bao một
dạng hộp bao. Ngoài ra do có hai dạng hộp bao trên một vật thể nên kích thước của đối tượng được xem xét cũng sẽ
tăng lên.
D. Xây dựng thuật toán

Các bước xây dựng thuật toán có thể được mô tả như sau:


Bước 1: Xây dựng cây dữ liệu hệ bao theo phương pháp xây dựng hệ bao tự động sử dụng cho dạng hộp
bao là AABB theo giải thuật của Gottschalk.



Bước 2: Tại mỗi nút trên cây đã xây dựng tái tạo một cây mới, có cấu trúc cây giống cây cũ. Dạng hộp bao
được sử dụng sẽ được thay thế bằng OBB.



Bước 3: Giải thuật được xây dựng sẽ tính toán dựa trên cơ sở việc phát hiện va chạm xảy ra với hệ bao.

o

Nếu không xảy ra va chạm. Hệ bao cho đối tượng sẽ là hệ bao sử dụng dạng hộp bao là AABB;

o

Nếu xảy ra va chạm tại một nút nào đó thuộc hệ bao. Hệ bao cho đối tượng sẽ là hệ bao sử dụng dạng hộp
bao là OBB.
IV. THỰC NGHIỆM

Việc thực nghiệm thể hiện kết quả cho việc tính toán thời gian xử lý được áp dụng cho các dạng bề mặt khác
nhau, với các cấu hình khác nhau.
Bảng 1. Bảng so sánh thời gian xử lý (s)

Mẫu thử


0%
1%
2%
3%
4%
5%

RAPID
27.2540
14.0696
8.6457
6.2860
4.9193
4.0032

Dual
20.6053
10.1924
5.8939
4.0741
3.0381
2.3816

Mẫu thử: Sử dụng mô hình Phật di lạc làm mẫu thử. Mẫu thử bao có hệ lưới bao gồm 15.536 tam giác. Va chạm
xảy ra với hai đối tượng giống nhau sẽ có 229,824 cách cấu hình vị trí và hướng mẫu thử. Cách cấu hình vị trí và
hướng mẫu thử được đưa ra bởi Trenkel [17]. Trong đó sử dụng 6 dạng khoảng cách khác nhau: 0%, 1%, 2%, 3%, 4%
và 5% cho kích thước mẫu thử đưa vào. Mỗi khoảng cách được xác định bởi bán kính của hộp bao.
Giải thuật RAPID: Giải thuật cho phép nhận dạng va chạm trên cơ sở sử dụng hộp bao OBB, có thể được
download trên trang web: . Trên cơ sở thay đổi mã nguồn mở của giải

thuật này chúng tôi đã xây dựng giải thuật cho việc nhận dạng va chạm sử dụng hai dạng hộp bao.
Dựa trên kết quả có thể dễ dàng nhận ra, việc sử dụng giải thuật với hai dạng hộp bao sẽ tiết kiệm thời gian hơn
so với việc sử dụng giải thuật RAPID.
V. KẾT LUẬN
Xây dựng hệ bao BVH tự động cho một đối tượng 3D trong các bài toán tính toán va chạm là cách tiếp cận thể
hiện nhiều ưu điểm. Việc xây dựng BVH cho đối tượng thường theo mô hình trên xuống, dưới lên hoặc thêm vào; với
một dạng hộp bao cụ thể. Báo cáo này đề xuất một kỹ thuật xây dựng BVH dựa trên việc sử dụng nhiều dạng hộp bao
khác nhau phù hợp với thực tế hoạt động của đối tượng. Kỹ thuật đã được thử nghiệm với hai dạng hộp bao và tỏ ra
hiệu quả đối với các mô hình đối tượng 3D được xây dựng theo phương pháp liên tục.


422

MỘT KỸ THUẬT XÂY DỰNG HỆ BAO TỰ ĐỘNG CHO ĐỐI TƯỢNG 3D

VI. TÀI LIỆU THAM KHẢO
[1]. Akenine-Moller, T., Hains, E.: Real-Time Rendering. A K Peters, 2002
[2]. Gottschalk, S., Lin, M.C., Manocha, D.: OBB-Tree: a hierarchical structure for rapid interference detection. In:
ACM SIGGRAPH 1996, pp. 171–180, 1996.
[3]. Beckmann, N., Kriegel, H.-P., Schneider, R., Seeger, B.: The R -Tree: an efficient and robust access method for
points and rectangles. In: ACM SIGMOD Conf. on the Management of Data, pp. 322–331, 1990.
[4]. Hubbard, P.M.: Collision detection for interactive graphics applications. IEEE Trans. on Visualization and
Computer Graphics 1(3), 218–230, 1995.
[5]. Klosowski, J.T., Held, M., Mitchell, J.S.B., Sowizral, H., Zikan, K.: Efficient collision detection using bounding
volume hierarchies of k-DOPs. IEEE Trans. on Visualization and Computer Graphics 4(1), 21–37, 1998.
[6]. Lin, M.C., Gottschalk, S.: Collision detection between geometric models: a survey. In: Proc. IMA Conference on
the Mathematics of Surfaces, pp. 37–56, 1998.
[7]. Palmer, I., Grimsdale, R.: Collision detection for animation using sphere-trees. Computer Graphics Forum 14(2),
105–116, 1995.
[8]. Van den Bergen, G.: Efficient collision detection of complex deformable models using AABB trees. J. Graphics

Tools 2(4), 1–14, 1997.
[9]. Herman J. Haverkort, Introduction to bounding volume hierarchies. PhD Thesis Chapter 1, 2004.
[10]. Jepprey Goldsmith, John Salmon, Automatic creation of Object Hierarchy for Ray tracing. IEEE CG&A, 1987.
[11]. K. Erleben, J. Sporring, K. Henriksen, and H. Dohlmann. Physics-Based Animation . Charles River Media, 2005.
[12]. J. Goldsmith and J. Salmon. Automatic Creation of Object Hierarchies for Ray Tracing . IEEE CGA, 1987.
[13]. J. Haber, M. Staminger, and H. Seidel. Enhanced Automatic Creation of Multi- Purpose Object Hierarchies .
IEEE CGA, 2000.
[14]. G. M u ller, S. Schafer, and D. W. Fellner. Automatic Creation of Object Hierarchies for Radiosity Clustering .
Technical Report TUBS-CG-1999-06, TU Braunschweig, 1999.
[15]. K. Erleben. An Introduction to Approximating Heterogeneous Bounding Volume Hierarchies . Technical Report
DIKU-TR-02/04, DIKU, 2002.
[16]. Opentissue: Opensource Project, Physics-Based Animation and Surgery Simulation. .
[17]. Trenkel, S., Weller, R., Zachmann, G.: A Benchmarking Suite for Static Collision Detection Algorithms. In:
International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG),
2007.

MỘT KỸ THUẬT XÂY DỰNG HỆ BAO TỰ ĐỘNG CHO ĐỐI TƯỢNG 3D
Nguyen Duc Hoang, Do Nang Toan, Nong Minh Ngoc
ABSTRACT - In this paper, we describe the algorithm construct the Bounding volume hierarchy (BVH) automatically for a 3D
model. In common, the tree data constrution progress for BVH of an object could be implemented with Top-down model, Bottom-up
model or Add-in model, with only determined bounding volume. We also describe a technic to construct the tree data of BVH based
on algorithm using multiple kind of bounding volume according to the operation of objects. The algorithm was tested and showed
the effect with the continous tree data construction of 3D models.



×