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

nội suy bởi hàm rbf và ứng dụng trong đồ họa máy tính

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 (3.21 MB, 81 trang )

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN




NGUYẾN ĐỒNG SỸ





NỘI SUY BỞI HÀM RBF VÀ ỨNG DỤNG
TRONG ĐỒ HỌA MÁY TÍNH








LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN








Thái Nguyên – 2010.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN



NGUYỄN ĐỒNG SỸ




NỘI SUY BỞI HÀM RBF VÀ ỨNG DỤNG
TRONG ĐỒ HỌA MÁY TÍNH

Chuyên ngành : KHOA HỌC MÁY TÍNH
Mã số : 60 48 01




LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN



NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS. TS. ĐẶNG QUANG Á






Thái Nguyên – 2010.





Th¸i Nguyªn - 20
1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



MỤC LỤC
MỞ ĐẦU 4
Chương 1
TỔNG QUAN VỀ NỘI SUY HÀM NHIỀU BIẾN 5
1.1. Khái niệm cơ bản về nội suy và xấp xỉ hàm số 5
1.1.1. Bài toán nội suy hàm số 5
1.1.2. Bản chất của phương pháp nội suy 7

1.2. Nội suy hàm một biến 8
1.2.1. Phát biểu bài toán 8
1.2.2. Nội suy và xấp xỉ đa thức 9
1.2.3. Nội suy bởi hàm ghép trơn 9
1.3. Nội suy và xấp xỉ hàm nhiều biến 11
1.3.1. Nội suy hàm hai biến 11
1.3.2. Nội suy hàm ba biến 12
Chương 2
NỘI SUY BỞI HÀM RBF 13
2.1. Hàm cơ sở bán kính và các tính chất 13
2.2. Nội suy dữ liệu phân tán bởi hàm RBF 13
2.2.1. Phát biểu bài toán 13
2.2.2. Một số hàm cơ sở 15
2.2.3. Thành phần đa thức RBF 16
2.2.4. Phép nội suy trơn nhất 16
2.3. Hạn chế của nội suy sử dụng RBF và giải pháp 17
2.3.1. Vấn đề dữ liệu lớn 17
2.3.2. Dữ liệu có nhiễu 17
2.3.3. Một số giải pháp khắc phục 19
2.4. Các phương pháp nhanh nội suy sử dụng RBF 21
2.4.1. Giảm tâm 21
2.4.2. Làm trơn dữ liệu nhiễu 22


2

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Chương 3

BÀI TOÁN BIỂU DIỄN VÀ KHÔI PHỤC CÁC ĐỐI TƯỢNG 3D 24
3.1. Bài toán biểu diễn và khôi phục dữ liệu phân tán 24
3.1.1. Giới thiệu 24
3.1.2. Mô tả bài toán 25
3.2. Khôi phục đối tượng 3D từ tập điểm trên bề mặt sử dụng RBF 26
3.2.1. Trùng khớp tới dữ liệu bề mặt 3D 26
3.2.1.1. Tạo dữ liệu dày đặc từ các pháp tuyến bề mặt 27
3.2.1.2. Đảm bảo khoảng cách thích hợp tới dữ liệu bề mặt 28
3.2.1.3. Hợp lệ khoảng cách chiếu và nhiễu 30
3.2.2. Chuẩn hóa bề mặt 31
3.2.2.1. Các điểm hạt giống của bề mặt chuẩn 32
3.2.2.2. Tối ưu lưới 33
3.2.2.3. Bao biên 33
Chương 4
XÂY DỰNG VÀ CÀI ĐẶT THỬ NGHIỆM NỘI SUY BỞI RBF 35
4.1. Phân tích và xây dựng chương trình 35
4.1.1. Hàm tạo lập RBF 35
4.1.2. Hàm nội suy RBF 40
4.1.3. Một số file xây dựng chương trình 42
4.2. Kết quả thử nghiệm nội suy bởi RBF 59
KẾT LUẬN 63
HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 63
TÀI LIỆU THAM KHẢO 64
PHỤ LỤC 66
1. Môi trường lập trình MATLAB 66
2. Các khả năng thực hiện của Matlab 66
3. Chế độ làm việc 67
4. Câu lệnh và biến 68
5. Hàm và tạo hàm 71
6. Các câu lệnh điều khiển của Matlab 72

7. Đồ họa 3D 75
3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


DANH MỤC CÁC HÌNH
Hình 1.1. Đồ thị biểu diễn tín hiệu trước nội suy. 6
Hình 1.2. Đồ thị biểu diễn tín hiệu sau khi nội suy. 6
Hình 1.3. Nội suy hàm y = cos(x). 8
Hình 1.4. Nội suy spline bậc 3 hàm y = sin(x) + x
2
. 10
Hình 1.5. Nội suy hàm hai chiều interp2. 11
Hình 1.6. Nội suy hàm ba chiều interp3. 12
Hình 2.1. Nội suy một chiều RBF hàm y = sin(x). 15
Hình 2.2. Dữ liệu có nhiễu với cường độ 0.5. 18
Hình 2.3. Bề mặt nội suy dữ liệu có nhiễu. 18
Hình 2.4. Độ chính xác đánh giá và độ chính xác trùng khớp. 20
Hình 2.5. Minh họa giảm tâm RBF. 21
Hình 3.1. Phục hồi dữ liệu phân tán 24
Hình 3.2. Điểm kết thúc bề mặt (off-surface). 27
Hình 3.3. Thêm vào các điểm off-surface. 28
Hình 3.4. Nội suy dữ liệu khi chưa được hợp lệ. 29
Hình 3.5. Nội suy dữ liệu khi đã hợp lệ giá trị 29
Hình 3.6. Nội suy dữ liệu sau khi hợp lệ khoảng cách. 30
Hình 3.7. Chuẩn hóa bề mặt bằng Marching Cubes. 31
Hình 3.8. Một số dạng chuẩn hóa bề mặt 32
Hình 3.9. Các kiểu tối ưu lưới. 33
Hình 3.10. Bề mặt mở không có bao biên. 34

Hình 3.11. Bề mặt đóng với biên dương. 34
Hình 3.12. Bề mặt đóng với biên âm. 34
Hình 4.1. Giao diện chương trình demo 59
Hình 4.2. Đồ thị so sánh hàm nội suy RBF và hàm interp1 59
Hình 4.3. Đồ thị biểu diễn một số dạng hàm cơ bản 60
Hình 4.4. Giao diện chức năng RBF 2D 60
Hình 4.5. Kết quả nội suy hàm z = x*exp(-x
2
-y
2
) 61
Hình 4.6. Nội suy đối tượng 3D với 2000 điểm 61
4

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Hình 4.7. Kết quả xử lý dữ liệu trong cửa sổ lệnh 62
5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


MỞ ĐẦU
Đồ họa máy tính ngày nay được ứng dụng rất rộng rãi trong nhiều lĩnh
vực khoa học, kĩ thuật, nghệ thuật điển hình như bài toán mô phỏng và chẩn
đoán hình ảnh, tái tạo hình ảnh, hỗ trợ thiết kế, đào tạo huấn luyện… Các
ứng dụng đồ họa rất đa dạng, phong phú và phát triển liên tục không ngừng.
Trong đồ họa máy tính bài toán khôi phục và biểu diễn các đối tượng
3D là một trong các bài toán cơ bản. Công cụ quan trọng để giải quyết bài

toán này là lý thuyết nội suy hàm số nhiều biến. Để nội suy hàm số từ một tập
điểm đã biết thông thường người ta sử dụng các hàm ghép trơn (spline) và
các biến thể của nó. Từ khoảng hai chục năm nay người ta đã và đang phát
triển một kỹ thuật nội suy mới có độ chính xác cao. Đó là nội suy bởi hàm cơ
sở bán kính (radial basis functions) viết tắt là RBF. Phương pháp nội suy này
đã được sử dụng trong nhiều lĩnh vực của CNTT như xử lý tín hiệu, xử lý ảnh
và lý thuyết điều khiển. Một số phần mềm về hàm RBF và các ứng dụng cũng
đã được phát triển. Vì thế, việc tìm hiểu về hàm RBF và nghiên cứu phát triển
các ứng dụng của nó trong đồ họa máy tính là một việc làm thiết thực và có ý
nghĩa khoa học cũng như thực tiễn. Đề tài luận văn thạc sĩ “Nội suy bởi hàm
RBF và ứng dụng trong đồ họa máy tính” chính là nhằm mục đích trên.
Em xin được gửi lời biết ơn sâu sắc tới Thầy giáo PGS. TS. Đặng
Quang Á, người đã tận tình chỉ bảo và tạo những điều kiện tốt nhất để em
hoàn thành luận văn này.
Em cũng xin chân thành cảm ơn các Thầy cô giáo Khoa Công nghệ
Thông tin Trường Đại học Thái Nguyên, các Thầy cô trong Viện Công nghệ
Thông tin đã trang bị kiến thức và góp ý cho em trong quá trình thực hiện đề
tài.

6

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Chương 1
TỔNG QUAN VỀ NỘI SUY HÀM NHIỀU BIẾN
1.1. Khái niệm cơ bản về nội suy và xấp xỉ hàm số
1.1.1. Bài toán nội suy hàm số
Một trong các bài toán cơ bản của giải tích số là nội suy hàm số. Bài
toán thường gặp trong các trường hợp sau:

i) Cần phục hồi hàm số f(x) đối với mọi điểm x thuộc khoảng [a, b], khi
cho trước giá trị của hàm tại một số điểm. Các giá trị này thường là các
giá trị quan sát hoặc đo đạc được.
Xét ví dụ : Cho quan hệ hàm số y = f(x), dạng hàm là chưa biết nhưng
biết sự phụ thuộc của đại lượng y vào đại lượng x bằng phép đo thực nghiệm
theo bảng :
x
x
0
x
1
x
2
x
n
y
y
0
y
1
y
2
y
n

Xác định giá trị của y với x  x
i
(i = 1, ,n) trở thành bài toán nội suy.
Dựa vào bảng trên ta phải ước lượng đại lượng y ứng với đại lượng x khi x
không có trong bảng bằng phương pháp nội suy hay phương pháp xấp xỉ [1].

Ví dụ minh họa sử dụng phép nội suy : Gia tăng tỉ lệ mẫu trong tín hiệu
biến thiên theo thời gian t (Code trong MATLAB).
t = 0:0.001:1;
x = sin(2*pi*30*t) + sin(2*pi*60*t);
y = interp(x,4);
stem(x(1:30));
title('Tin hieu ban dau');
figure
7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


stem(y(1:120));
title('Sau khi noi suy');
Kết quả như sau:
0 5 10 15 20 25 30
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Tin hieu ban dau

Hình 1.1. Đồ thị biểu diễn tín hiệu trước nội suy.
0 20 40 60 80 100 120

-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Sau khi noi suy

Hình 1.2. Đồ thị biểu diễn tín hiệu sau khi nội suy.
8

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Nội suy đa thức là việc xác định đa thức y = P(x) thỏa mãn điều kiện
nội suy P(x
k
) = y
k
với k = 0, ,n
ii) Khi hàm f(x) cho bởi công thức quá phức tạp đòi hỏi khối lượng tính
toán lớn và ta cần tính giá trị hàm f tại các điểm x thuộc [a, b] nào đó. Khi đó
người ta thường tính gần đúng f(x) tại một số điểm rồi xây dựng công thức
nội suy để tính các giá trị khác và làm tăng tốc độ tính toán.
iii) Ngoài ra nội suy hàm số còn được dùng để xây dựng các công thức
tính đạo hàm, tính tích phân số hoặc tìm nghiệm gần đúng của phương trình.
1.1.2. Bản chất của phương pháp nội suy

Bản chất của nội suy là thay hàm f(x) bằng hàm (x) sao cho :
 (x) đơn giản, dễ tính toán
 (x) = f(x) tại một số điểm đã biết
Thông thường chọn (x) có dạng đơn giản là đa thức bậc m.

)()(
0
0
1
1
1
1
xaxaxaxaxPx
m
m
m
mm




(1)

Với (x) = P
m
(x), ta có đa thức nội suy hay đa thức xấp xỉ.
Ví dụ xét đồ thị hàm y = cos(x) với x thuộc [0, 2pi]
Tiến hành nội suy đa thức trong MATLAB
function v = polyinterp(x,y,u)
n = length(x);

v = zeros(size(u));
for k = 1:n
w = ones(size(u));
for j = [1:k-1 k+1:n]
w = (u-x(j))./(x(k)-x(j)).*w;
end
v = v + w*y(k);
9

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


end
x = 0:pi/4:2*pi; y = cos(x); u = 0:pi/50:2*pi;
v = polyinterp(x,y,u);
plot(x,y,'',x,y,'-'),hold,plot(x,y,'o',u,v,'-');
hold off
Đồ thị minh họa :
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1


Hình 1.3. Nội suy hàm y = cos(x).
1.2. Nội suy hàm một biến
1.2.1. Phát biểu bài toán
Trên đoạn [a, b] cho tập các điểm nút a ≤ x
0
< x
1
< … < x
n
≤ b và tại các
điểm này cho các giá trị f(x
i
) (i = ) của hàm f(x). Cần xây dựng hàm g(x)
dễ tính và trùng với với hàm f(x) tại các điểm nút trên tức là g(x
i
) = f(x
i
)
(i= ).


10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Một số dạng hàm g(x) thường được dùng để nội suy hàm số :
- Đa thức đại số
- Hàm hữu tỉ

- Đa thức lượng giác
- Hàm spline
1.2.2. Nội suy và xấp xỉ đa thức
Biết quan hệ y = f(x) bởi một số cặp giá trị (x
0
, y
0
), (x
1
, y
1
),… (x
n
, y
n
).
Ta chọn hàm nội suy là một đa thức bậc m = n
)()(
0
0
1
1
1
1
xaxaxaxaxPx
m
m
m
mm






Từ dãy giá trị (x
i
, y
i
) ta có :
nn
m
nm
m
nm
m
m
m
m
m
m
m
m
yaxaxaxa
yaxaxaxa
yaxaxaxa










0
1
1
1
1
10
1
11
1
111
00
1
01
1
010




(2)
Xác định đa thức nội suy bằng cách tìm các hệ số a
0
, a
1
, , a
m

, tức là
giải hệ phương trình đại số tuyến tính :
;\
;;;;.
1
0
0
1
1
1
1
11
0
1
00
bAa
y
y
y
b
a
a
a
a
xxx
xxx
xxx
AbaA
n
m

m
n
m
n
m
n
mm
mm






















































1.2.3. Nội suy bởi hàm ghép trơn
Nội suy hàm số bởi đa thức là phương pháp xấp xỉ hàm số dựa vào giá
trị của hàm tại một số các điểm nút. Nếu muốn đạt độ chính xác cao cần phải
sử dụng nhiều nút nội suy, khi đó bậc của đa thức sẽ lớn. Điều này không
thuận tiện cho việc tính toán và sai số tính toán có thể tăng lên. Để khắc phục
11

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


nhược điểm trên người ta sử dụng các đa thức cấp thấp trên mỗi đoạn nhỏ và
ghép chúng lại với nhau sao cho kết quả là một hàm trơn tru. Hàm trơn trên
toàn đoạn lớn gọi là hàm ghép trơn (spline).
Ví dụ với hàm y = sin(x) + x
2
trên đoạn [0, 2], bước tăng 0.2; sử dụng
hàm nội suy spline bậc 3 trong môi trường MATLAB
xi=0:0.2:2;
yi=sin(xi)+xi.^2;
F1=inline('spline(xi,yi,x)','x','xi','yi');
plot(xi,yi,'r+-');
Kết quả :
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
3

3.5
4
4.5
5

Hình 1.4. Nội suy spline bậc 3 hàm y = sin(x) + x
2
.



12

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


1.3. Nội suy và xấp xỉ hàm nhiều biến
1.3.1. Nội suy hàm hai biến
Cho biết quan hệ z = f(x, y), nếu không biết biểu thức của hàm f(x, y)
mà chỉ biết giá trị của hàm này tại một số điểm lưới :
),1((;),1(),( njmiDyx
ji



),(
jiij
yxfz 

Để ước lượng các giá trị của z tại các điểm (x, y) không nằm trên lưới

phải sử dụng phép nội suy 2 chiều.
Ví dụ minh họa sử dụng hàm nội suy interp2 trong MATLAB
[X,Y] = meshgrid(-3:.25:3); Z = peaks(X,Y);
[XI,YI] = meshgrid(-3:.125:3);
ZI = interp2(X,Y,Z,XI,YI);
mesh(X,Y,Z), hold, mesh(XI,YI,ZI+15); hold off
axis([-3 3 -3 3 -5 20])
-3
-2
-1
0
1
2
3
-2
0
2
-5
0
5
10
15
20
noi suy 2 chieu

Hình 1.5. Nội suy hàm hai chiều interp2.
13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



1.3.2. Nội suy hàm ba biến
Dựa vào giá trị đã biết của hàm tại một số điểm trong không gian ba
chiều để tìm ra các giá trị nội suy giữa tập các điểm ba chiều đã cho. Thông
thường có 3 phương pháp nội suy cơ bản đối với dữ liệu ba chiều :
 Nearest neighbor interpolation (Nội suy láng giềng gần nhất)
 Linear interpolation (Nội suy tuyến tính)
 Cubic interpolation (Nội suy bởi hàm spline bậc 3)
[x,y,z,v] = flow(10);
[xi,yi,zi] = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);
vi = interp3(x,y,z,v,xi,yi,zi);
slice(xi,yi,zi,vi,[6 9.5],2,[-2 .2]), shading flat
title('noi suy 3 chieu')

0
2
4
6
8
10
-4
-2
0
2
4
-3
-2
-1
0
1

2
3
noi suy 3 chieu

Hình 1.6. Nội suy hàm ba chiều interp3.
14

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Chương 2
NỘI SUY BỞI HÀM RBF
2.1. Hàm cơ sở bán kính và các tính chất
Hàm cơ sở bán kính RBF được ứng dụng hiệu quả trong nhiều lĩnh vực
khác nhau, đặc biệt cho ứng dụng nội suy dữ liệu phân tán.
Hàm cơ sở bán kính (RBF) là hàm có dạng :




n
i
ii
xxxpxs
1
)()()(

(3)
Trong đó :
S là hàm cơ sở bán kính

P là đa thức bậc thấp, thường là tuyến tính hoặc dạng bậc 2

i

là các hệ số RBF


là hàm thực được gọi là hàm cơ sở

i
x
là các tâm RBF
Như vậy RBF bao gồm tổng hợp các hàm bán kính đối xứng tại các
tâm x
i
được trọng số hóa bởi các hệ số λ
i
và đa thức bậc thấp p.
2.2. Nội suy dữ liệu phân tán bởi hàm RBF
2.2.1. Phát biểu bài toán
Cho tập N điểm phân tán x
i
và các giá trị tương ứng f
i
đo được tại các
điểm đó. Bài toán đặt ra là tìm một hàm nội suy RBF có dạng s(x) thỏa mãn
s(x
i
) = f
i

với i = 1,…, n
Gọi quy trình tìm hàm nội suy s nói trên là sự trùng khớp (fitting), hàm
RBF trùng khớp được định nghĩa bởi các hệ số λ
i
của hàm cơ sở φ , các hệ số
của đa thức p trong hàm tổng s(x).
Nếu ta đặt {p
1
, , p
M
} là các đa thức cơ sở của không gian các đa thức
bậc ≤ M và c=(c
1
,…, c
M
)
T
là các hệ số theo cơ sở trên để biểu thị p(x) thì hàm
nội suy dạng s(x
i
) = f
i
có thể biểu thị bằng hệ phương trình tuyến tính :
15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



fPCAx 


Để khép kín hệ phương trình người ta bổ sung thêm điều kiện :

0

T
P

Với :











)()()(

)()()(
21
11211
nmnn
m
xpxpxp
xpxpxp
P





||)(||,
21
11211
ijij
nnnn
n
xxa
aaa
aaa
A 



















































nmn
c
c
c
f
f
f




111
,,


Do đó có thể viết hệ phương trình trên dưới dạng ma trận :


























0
0
f
c
P
PA
T

(4)
Trong đó :
A
i,j
= φ(|| x
i
- x
j

||) với i, j = 1,…,n là ma trận nội suy
P
i,j
= p
j
(x
i
) với i, j = 1,…,n và j = 1,…,m
f = (f
1
,…,f
2
)
T

Giải hệ phương trình trên ta tính được hàm nội suy s(x).



16

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


2.2.2. Một số hàm cơ sở
Một số dạng hàm cơ sở thường được sử dụng :
Hàm cơ sở
2D
3D
Biharmonic spline

(spline song điều hòa)

(r) = r
2
ln r

(r) = ln r
Triharmonic spline
(spline tam điều hòa)

(r) = r
3
ln r

(r) = r
3

Generalised Multiquadric
(Đa bình phương tổng quát)

(r) =

(r) =

Xét ví dụ nội suy RBF 1 chiều hàm y = sin(x) trên đoạn 0:10 với mốc
cách đều 1.25, ta có đồ thị biểu diễn :
x = 0:1.25:10; y = sin(x);
xi = 0:.1:10; rbfcheck(op);
op=rbfcreate(x, y); rbfcheck(op);
fi = rbfinterp(xi, op); %ham tu tao trong MATLAB

subplot(2,1,2); plot(x, y,'o', xi, fi,xi, sin(xi),'r'); title('noi suy RBF');
0 1 2 3 4 5 6 7 8 9 10
-1
-0.5
0
0.5
1
noi suy RBF

Hình 2.1. Nội suy một chiều RBF hàm y = sin(x).
17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


2.2.3. Thành phần đa thức RBF
Thành phần đa thức của một RBF phụ thuộc vào hàm cơ sở đang được
sử dụng :
Trường hợp hàm cơ sở là spline song điều hòa (biharmonic spline) thì
thành phần đa thức là đa thức tuyến tính.
Trường hợp hàm cơ sở là spline tam điều hòa (triharmonic spline) hoặc
dạng bậc hai (multiquadric) thì thành phần đa thức là đa thức bậc hai.
Giả sử trong trường hợp 2 chiều thì cơ sở của không gian các đa thức
bậc hai là : 1, x, x
2
, y, y
2
, yx. Còn trong 3 chiều thì cơ sở sẽ là : 1, x, x
2
, y, y

2
,
z, z
2
, yx, zx, zy.
2.2.4. Phép nội suy trơn nhất (Smoothest Interpolants)
Các hàm spline song điều hòa và spline tam điều hòa được biết như là
nội suy trơn nhất trong ngữ cảnh chúng làm cực tiểu hàm năng lượng nào đó
và nội suy dữ liệu. Xét ví dụ cho tập các điểm nút
 
3
1
Rx
N
i
i


và một tập các
giá trị hàm
 
Rf
N
i
i

1
, hàm s
*
(x) thỏa mãn điều kiện nội suy s

*
(x
i
) = f
i
và cực
tiểu hóa tích phân của bình phương đạo hàm cấp 2 dạng :
s
*
= arg min||s||
trong đó :
||s||
2
=
dx
zy
xs
zx
xs
yx
xs
z
xs
y
xs
x
xs
R







































































3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
)(
2
)(
2
)(
2
)()()(


là một spline song điều hòa hoặc spline bản mỏng;
||s||
2


là độ đo năng lượng của đạo hàm bậc hai của hàm s(x). Spline tam
điều hòa làm cực tiểu năng lượng tương ứng trong đạo hàm cấp ba của s(x),
các RBF này sẽ làm thay đổi độ trơn giữa các giá trị của các mốc nội suy.

18

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


2.3. Hạn chế của nội suy sử dụng RBF và giải pháp
2.3.1. Vấn đề dữ liệu lớn
Hàm nội suy RBF dạng s(x
i
) = f
i
có thể viết dưới dạng ma trận biểu thị
hệ phương trình tuyến tính :


























0
0
f
c
P
PA
T


Việc giải hệ phương trình trên bằng cách thông thường hay còn gọi là
phương pháp trực tiếp sẽ mất rất nhiều thời gian và bộ nhớ khi số điểm nội
suy N tăng nhanh và lớn hơn vài nghìn điểm. Điều này đặc biệt đúng với các
hàm cơ sở dạng spline đa điều hòa (polyharmonic spline), là các hàm có đặc

trưng cực tiểu năng lượng rất đáng chú ý, là những công cụ nội suy trơn nhất.
Hệ phương trình trên không những đòi hỏi bộ nhớ tỉ lệ với N
2
và việc tính
toán để giải nó tỉ lệ với N
3
mà sự liên quan của hệ đó với việc đánh giá hàm
s(x) qua phương trình :



n
i
ii
xxxpxs
1
)()()(


còn tỉ lệ với N. Độ phức tạp đánh giá s(x) trở nên quan trọng khi N lớn và
s(x) được đánh giá trên một lưới mịn.

2.3.2. Dữ liệu có nhiễu
Khi sử dụng công cụ nội suy trơn nhất spline song điều hòa thì RBF có
thể không hiện ra tính trơn nếu như dữ liệu có nhiễu bởi vì nó bị thêm ràng
buộc phải nội suy giá trị nhiễu này.
Hình dưới đây được minh họa trong môi trường Matlab, tạo nhiễu bằng
cách chọn một hàm với cường độ nhiễu 0.5

19


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Hình 2.2. Dữ liệu có nhiễu với cường độ 0.5.
Sau khi trùng khớp dữ liệu bằng RBF đối với dữ liệu này cho ra sự
đánh giá trên bề mặt nội suy dữ liệu nhiễu có lỗi :


Hình 2.3. Bề mặt nội suy dữ liệu có nhiễu.
20

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


2.3.3. Một số giải pháp khắc phục
FarField Technology Ltd đã nghiên cứu và đề xuất các phương pháp
nhanh để trùng khớp dữ liệu nhiễu và trơn hóa sử dụng RBF (Fast RBF).
a. Phương pháp nội suy xấp xỉ (không nội suy chính xác RBF) để làm
trơn dữ liệu nhiễu. Hai phương pháp xấp xỉ cơ bản là :
- Xấp xỉ trong phạm vi được giới hạn trơn nhất (smoothest
resticted range approximation)
- Làm trơn spline (spline smoothing)
b. Dùng thuật toán làm giảm số tâm của RBF khi số điểm nội suy khá
lớn.
Các thử nghiệm của FarField cho thấy khi nội suy dữ liệu 3D khó có
thể đạt được dấu bằng tại các mốc cần nội suy nghĩa là chỉ có thể xấp xỉ hàm
s(x
i

)  f
i
. Do đó xuất hiện khái niệm độ chính xác trùng khớp (fitting
accuracy) kí hiệu m_fit, đó là giá trị sai lệch lớn nhất giữa các giá trị RBF và
các giá trị hàm f
i
cần nội suy tại các điểm x
i
đã cho.
m_fit = Max|s(x
i
– f
i
)| với i =0,…,N
Đối với mỗi điểm x
i
đã cho, việc tính giá trị RBF s(x
i
) được gọi là việc
đánh giá RBF (evaluating the RBF) tại điểm x
i
đó. Mặt khác vì các phương
pháp nội suy là xấp xỉ nhanh cho nên một giá trị đúng RBF tại các mốc
thường là không đạt được. Vì vậy nếu gọi a
i
là giá trị xấp xỉ của một RBF s tại
mốc x
i
thì độ chính xác đánh giá (evaluation accuracy) kí hiệu m_eval, được
định nghĩa là độ lệch lớn nhất giữa giá trị đúng RBF s tại x

i
với giá trị xấp xỉ
a
i
tại đó : m_eval = max|s(x
i
– a
i
)|
Thông thường độ chính xác đánh giá m_eval nên phải cao hơn độ chính
xác trùng khớp m_fit nghĩa là ta cần đạt được m_eval < m_fit.
21

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



Hình 2.4. Độ chính xác đánh giá và độ chính xác trùng khớp[4].
Hình trên minh họa trường hợp nội suy dữ liệu 1D bởi FastRBF, dữ
liệu được chỉ ra cùng với các vạch chỉ độ chính xác trùng khớp, đường bao
trên dưới chỉ độ chính xác đánh giá.
Qua các giải pháp trên ta có thể thấy được sự đánh giá phương pháp
thông qua bảng so sánh sau :


Phương pháp
trực tiếp
Phương pháp
FastRBF
Bộ nhớ tỉ lệ

N(N+1)/2
O(N)
Tính toán tỉ lệ
N
3
/6 + O(N
2
)
O(N log N)
Tỉ lệ đánh giá hàm
O(N)
O(1) + O(N log N)




22

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


2.4. Các phương pháp nhanh nội suy sử dụng RBF
2.4.1. Giảm tâm
Theo truyền thống, để nội suy các giá trị f
i
tại tập điểm x
i
thì tất cả các
điểm x
i

sẽ được sử dụng làm tâm RBF và giải hệ phương trình biểu thị tuyến
tính để tìm ra các hệ số hàm RBF. Phương pháp đó thường được gọi là trùng
khớp trực tiếp (Direct fit). Tuy nhiên để giảm chi phí tính toán thì thuật toán
tham lam (Greedy algorithm) được đề xuất với mục đích nhằm giảm số tâm
RBF. Ý tưởng chính của thuật toán là lặp lại việc trùng khớp ở trong một độ
chính xác trùng khớp mong muốn.

Hình 2.5. Minh họa giảm tâm RBF[4].
Thuật toán mô tả như sau :
 Bước 1. Chọn tập con các nút nội suy x
i
và trùng khớp một RBF
chỉ bằng các nút này.
 Bước 2. Đánh giá độ lệch e
i
= f
i
– s(x
i
) với mọi nút
 Bước 3. Nếu max{|e
i
|} < độ chính xác trùng khớp thì dừng.
 Bước 4. Ngược lại, bổ sung thêm các tâm mới ứng với các e
i
lớn.
 Bước 5. Lặp lại việc trùng khớp và quay lại bước 2.
Nếu như độ chính xác trùng khớp m_fit được chỉ ra tại mỗi điểm thì
điều kiện ở bước 3 được thay thế bởi |e
i

|<m_fit
23

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Việc giảm tâm làm tăng tốc độ sự trùng khớp và làm giảm thời gian
đánh giá mà không làm thay đổi độ chính xác. Do vậy phương pháp này chỉ
có thể thực hiện khi việc nội suy RBF có độ chính xác giới hạn. Phương pháp
giảm tâm phù hợp nhất đối với dữ liệu mà nó có các vùng dữ liệu đáng kể là
trơn so với mật độ lấy mẫu, nghĩa là dữ liệu được lấy mẫu khắp nơi liên quan
đến mức thể hiện chi tiết và độ chính xác được đặt ra.

2.4.2. Làm trơn dữ liệu nhiễu
a. Làm trơn spline (Spline Smoothing)
Làm trơn dữ liệu có thể đạt được trong một bộ lọc RBF bằng việc sửa
đổi tiêu chuẩn làm trơn thành việc tìm kiếm cực tiểu sau :
minimize









N
i
ii

fxs
N
s
1
22
))((
1
||||

(5)
Trong đó ρ ≥ 0 và || ρ||
2
biểu thị độ bất lợi làm trơn
Tham số ρ như là mộ hằng số điều chỉnh. Khi bằng 0 thì các hằng số
điều chỉnh không thể mở rộng và RBF đi qua trực tiếp các điểm dữ liệu. Khi
khác 0 các hằng số điều chỉnh có thể dãn ra và RBF được kéo gần các điểm
dữ liệu hơn nhưng không trực tiếp đi qua chúng. RBF thỏa mãn phương trình
(5) có thể viết dưới dạng ma trận :




























0
0
f
c
P
PIA
T


(6)
Ý nghĩa thông thường của tham số độ chính xác ε theo công thức :
|s(x
i
) – f
i

| < ε với i = 1,2, ,N (7)
Tuy nhiên công thức này không phải là trường hợp làm trơn dữ liệu bởi
ρ. Nếu một độ chính xác ε được chỉ rõ cho một bộ lọc RBF khi có tham số
làm trơn ρ thì ε là lỗi lớn nhất được phép xảy ra trong phương trình (6) điều
đó thỏa mãn :

×