Luận văn Hàm RBF và một số ứng dụng trong đồ họa máy tính

gày nay với sự phát triển mạnh mẽ của công nghệ thông tin, con người đã ứng dụng những thành tựu của nó trong rất nhiều lĩnh vực khác nhau. Máy tính đã trở thành một công cụ hỗ trợ đắc lực cho con người trong việc xử lý dữ liệu một cách nhanh chóng và chính xác. Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu các phương pháp và kỹ thuật biểu diễn và thao tác các dữ liệu số hóa của các vật thể trong thực tế. Lĩnh vực này được phát triển dựa trên nền tảng của hình học họa hình, hình học tính toán, hình học vi phân cùng nhiều kiến thức toán học của đại số và giải tích, cũng như các thành tựu của phần cứng máy tính. Thuật ngữ "đồ họa máy tính" (computer graphics) được đề xuất bởi một chuyên gia người Mỹ tên là William Fetter vào năm 1960. Khi đó ông đang nghiên cứu xây dựng mô hình buồng lái máy bay cho hãng Boeing. William Fetter đã dựa trên các hình ảnh 3 chiều của mô hình người phi công trong buồng lái để xây dựng nên mô hình buồng lái tối ưu cho máy bay Boeing. Đây là phương pháp nghiên cứu rất mới vào thời kỳ đó. 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 dạng 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. Luận văn gồm có ba chương: Chương 1: Trình bày một số kiến thức cơ bản về hàm RBF. Những tính chất của hàm RBF được áp dụng cho bài toán nội suy dữ liệu rời rạc. Đây là những kiến thức cơ sở rất quan trọng. Tìm hiểu về bài toán khôi phục và biểu diễn các đối tượng 3D. Chương 2: Nghiên cứu ứng dụng hàm RBF vào bài toán khôi phục và biểu diễn các đối tượng 3D Chương 3: Tiến hành khai thác phần mềm FASTRBF. MỤC LỤC MỞ ĐẦU 1 Chương 1: KIẾN THỨC CHUẨN BỊ 3 1.1. Hàm cơ sở bán kính (RBF) 3 1.1.1. Nội suy dữ liệu rời rạc 3 1.1.2. Ma trận và hàm xác định dương 5 1.1.3. Hàm cơ sở bán kính 6 1.1.4. Hàm xác định dương và đơn điệu hoàn toàn 6 1.1.5. Nội suy với độ chính xác đa thức và hàm xác định dương có điều 7 kiện 1.1.6. Ví dụ nội suy bằng RBF 10 1.2. Bài toán khôi phục và biểu diễn các đối tượng 3D 11 Chương 2: NGHIÊN CỨU ỨNG DỤNG HÀM RBF VÀO CÁC 14 BÀI TOÁN KHÔI PHỤC VÀ BIỂU DIỄN CÁC ĐỐI TưỢNG 3D 2.1. Các bề mặt ẩn 15 2.2. Khớp một hàm ẩn vào bề mặt 16 2.3. Nội suy hàm cơ sở bán kính 23 2.4. Các phương pháp nhanh 26 2.5. Rút gọn tâm 27 2.6. Xấp xỉ dữ liệu nhiễu bằng RBF 29 2.7. Tính toán bề mặt 30 2.8. Các kết quả 32 2.9. Kết luận 37 Chương 3: KHAI THÁC PHẦN MỀM FASTRBF 38 3.1. Phần mềm FastRBF làm gì 38 3.2. Ai có thể sử dụng phần mềm FastRBF 38 3.3. Những lợi ích của phần mềm FastRBF 38 3.4.Các ứng dụng 39 3.5. Các kết quả đạt được khi sử dụng phần mềm FastRBF 39 3.5.1. Khớp và tính toán dữ liệu 3D 39 3.5.1.1. Rút gọn tâm RBF 41 3.5.1.2. Tính toán lưới 3D 42 3.5.2. Khớp dữ liệu bề mặt 3D 43 3.5.2.1. Khớp bề mặt vào dữ liệu lưới 43 3.5.2.2. Gia công đẳng mặt 51 3.6. Kết luận 53 KẾT LUẬN 54

pdf62 trang | Chia sẻ: maiphuongtl | Lượt xem: 2123 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Hàm RBF và một số ứng dụng trong đồ họa máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
h 2 chiều. Nhƣ vậy có thể thấy rằng bài toán khôi phục và biểu diễn các đối tƣợng 3D là một bài toán có ý nghĩa rất lớn và quan trọng. 14 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chƣơng 2: NGHIÊN CỨU ỨNG DỤNG HÀM RBF VÀO BÀI TOÁN KHÔI PHỤC VÀ BIỂU DIỄN CÁC ĐỐI TƢỢNG 3D Chúng ta sử dụng hàm cơ sở bán kính đa điều hòa (RBFs) để khôi phục lại các bề mặt nhẵn, đa tạp từ tập các điểm dữ liệu tập trung và phục hồi các lƣới điểm không đầy đủ. Một bề mặt của đối tƣợng đƣợc định nghĩa hoàn toàn giống nhƣ một tập hợp số 0 của một hàm cơ sở bán kính phù hợp với dữ liệu bề mặt đã cho. Các phƣơng pháp nhanh cho việc khớp dữ liệu và tính giá trị hàm RBF cho phép chúng ta mô hình các tập hợp dữ liệu lớn, bao gồm hàng triệu các điểm bề mặt, bằng một hàm RBF đơn trƣớc một bài toán khó giải. Một thuật toán tham lam trong quá trình khớp dữ liệu làm rút gọn số lƣợng các tâm RBF yêu cầu để biểu diễn một bề mặt và các kết quả ở dạng nén đáng kể và hơn nữa là thuận lợi cho tính toán. Đặc trƣng cực tiểu hóa năng lƣợng của các hàm ghép trơn đa điều hòa dẫn đến nội suy trơn nhất. Đặc trƣng tỷ lệ điều hòa này là đủ thích hợp để khôi phục các bề mặt từ dữ liệu mẫu không đều. Các lỗ là sự khớp dữ liệu nhẵn và sự ngoại suy nhẵn các bề mặt. Chúng ta sử dụng một phép xấp xỉ không nội suy khi dữ liệu là nhiễu. Sự biểu diễn hàm thực ra mà nói là một mô hình đặc, có nghĩa là độ chênh lệch và chuẩn bề mặt có thể đƣợc phân tích rõ ràng. Sự hỗ trợ này sinh ra các lƣới đều và chúng ta thấy rằng sự biểu diễn RBF có các lợi ích cho việc rút gọn lƣới và sự áp dụng lại lƣới. 15 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 2.1: (a) Khớp một hàm RBF vào một tập hợp các điểm dữ liệu tập trung 438.000 điểm. (b) Sự phục hồi lƣới tự động sử dụng hàm RBF song điều hòa. 2.1. Các bề mặt ẩn: Bài toán khôi phục hoặc biểu diễn bề mặt có thể phát biểu nhƣ sau: Bài toán 2.1. Cho n điểm phân biệt   n iiii zyx 1 ,,  trên một bề mặt M trong không gian R3, tìm một bề mặt M’ là gần đúng hợp lý với M. Phƣơng pháp của chúng ta là mô hình bề mặt ẩn bằng một hàm ),,( zyxf . Nếu một bề mặt M gồm có tất cả các điểm ),,( zyx thỏa mãn phƣơng trình: 0),,( zyxf , (2.1) thì chúng ta nói rằng hàm f xác định không tƣờng minh bề mặt M. Mô tả các bề mặt ẩn với rất nhiều loại hàm là một kỹ thuật nổi tiếng [10]. Trong hình học kiến thiết vật thể (CSG) một mô hình ẩn đƣợc tạo thành từ các hàm sơ cấp đơn giản nhờ sự kết hợp của các phép toán Boolean (phép hợp, phép giao vv..) và các hàm trộn. Các kỹ thuật CSG thích hợp cho việc thiết kế các đối tƣợng trong CAD hơn là phục hồi các đối tƣợng từ dữ liệu mẫu. Các mặt đại số bậc thấp từng mẩu, đôi khi đƣợc xem nhƣ là các miếng vá ẩn hoặc các tập nửa đại số, cũng có thể đƣợc sử dụng để định nghĩa các bề mặt ẩn. Chúng ta mong muốn mô hình đƣợc toàn bộ đối tƣợng với một hàm đơn liên tục và khả vi. Sự mô tả hàm đơn có một số ƣu điểm thông qua các 16 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên bề mặt giới hạn từng mẩu và các miếng vá ẩn. Nó có thể tính toán ở mọi nơi để sinh ra một lƣới đặc biệt, nghĩa là sự biểu diễn một bề mặt đa tạp có thể đƣợc tính toán với cách giải mong muốn khi đƣợc yêu cầu. Hiếm khi, các bề mặt mẫu không đều có thể mô tả một cách đơn giản và bài toán tham số hóa bề mặt kết hợp với việc khớp từng mẩu các miếng vá hàm ghép trơn bậc ba là nên tránh. Carr et al. [11] sử dụng hàm cơ sở bán kính để khôi phục các bề mặt hộp xƣơng sọ bằng việc nội soi 3D CT. Dữ liệu xung quanh các lỗ lớn không đều trong hộp sọ đƣợc nội suy sử dụng hàm xác định dƣơng chặt RBF. Tấm titan đƣợc đúc trong khuôn của bề mặt thích hợp để tạo thành một hộp sọ giả. Tài liệu đó khai thác các đặc điểm nội suy và ngoại suy của hàm RBF hợp lý nhƣ các đặc tính vật lý cơ bản của hàm xác định dƣơng chặt. Tuy nhiên, phƣơng pháp chỉ giới hạn mô hình các bề mặt mà có thể biểu diễn rõ ràng nhƣ một hàm 2 biến. Trong luận văn này chúng tôi chứng minh đƣợc rằng bằng cách sử dụng các phƣơng pháp nhanh, hàm RBF có thể khớp các tập dữ liệu 3D gồm có hàng triệu điểm không có các giới hạn trên cấu trúc liên kết bề mặt – loại tập dữ liệu cơ bản của các ứng dụng công nghiệp. 2.2. Khớp một hàm ẩn vào một bề mặt Ta muốn tìm một hàm f mà xác định không tƣờng minh một bề mặt M’ và thỏa mãn phƣơng trình ,,...,1,0),,( nizyxf iii  với  n iii zyx 1 ,,(  là các điểm nằm trên bề mặt. Để tránh trƣờng hợp nghiệm tầm thƣờng mà f là 0 ở mọi nơi, các điểm ngoài bề mặt đƣợc bổ sung vào dữ liệu vào và chúng đƣa ra các giá trị khác 0. Việc này mang đến một vấn đề nội suy hữu ích hơn: Tìm hàm f nhƣ sau: 17 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên nizyxf iii ,...,1,0),,(  (các điểm trên bề mặt), Nnidzyxf iiii ,...,1,0),,(  (các điểm ngoài bề mặt). Điều này vẫn mang đến một bài toán tạo ra các điểm ngoài bề mặt  N iii zyx 1 ,,(  và giá trị di tƣơng ứng. Một sự lựa chọn hiển nhiên cho hàm f là một hàm khoảng cách điểm, với giá trị di đƣợc chọn là khoảng cách tới điểm gần nhất trên bề mặt. Các điểm bên ngoài đối tƣợng đƣợc gán các giá trị dƣơng, trong khi các điểm bên trong đƣợc gán giá trị âm. Theo Turk &O‟Brien những điểm ngoài bề mặt đƣợc sinh ra bởi phần nhô ra dọc theo các đƣờng pháp tuyến bề mặt. Các điểm ngoài bề mặt có thể đƣợc gán với mỗi mặt của bề mặt nhƣ đƣợc minh họa trong hình 2.2. Đẳng mặt f(x) = 0 f(x) > 0 f(x) < 0 18 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 2.2: Một hàm khoảng cách điểm đƣợc xây dựng từ dữ liệu bề mặt bằng việc định rõ các điểm ngoài bề mặt dọc theo các đƣờng pháp tuyến bề mặt. Những điểm này có thể đƣợc định rõ ở mỗi phía của bề mặt hoặc không ở phía nào cả. Hình 2.3. Sự khôi phục của một bàn tay từ đám điểm có và không thông qua các độ dài pháp tuyến Kinh nghiệm cho thấy rằng tốt hơn hết là bổ sung tại một điểm dữ liệu hai điểm ngoài bề mặt, mỗi điểm nằm trên một phía của bề mặt. Trong hình 2.3 các điểm bề mặt nhận đƣợc từ việc quét laser của một bàn tay đƣợc biểu thị bằng màu xanh. Các điểm ngoài bề mặt đƣợc mã hóa màu theo khoảng cách của chúng xuất phát từ điểm đƣợc liên kết trên bề mặt của chúng. Màu nóng (màu đỏ) mô tả các điểm dƣơng nằm ở bên ngoài bề mặt trong khi màu lạnh (xanh) nằm ở bên trong. Có hai bài toán cần giải Các điểm pháp tuyển ngoài bề mặt Các điểm trên bề mặt 19 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên quyết: xác định các đƣờng pháp tuyến bề mặt và định rõ khoảng cách hình chiếu thích hợp. Nếu ta có một lƣới không hoàn toàn, thì rất đơn giản để định nghĩa các điểm ngoài bề mặt từ đó các đƣờng tiếp tuyến đƣợc bao hàm bởi sự liên kết lƣới tại mỗi đỉnh. Trong trƣờng hợp điểm dữ liệu tập trung không có trật tự, các đƣờng tiếp tuyến có thể đƣợc tính toán từ một vùng lân cận của các điểm. Việc này cầu xác định cả phƣơng pháp tuyến và định rõ hƣớng của pháp tuyến. Chúng ta xấp xỉ cục bộ điểm dữ liệu tập trung với một mặt phẳng để tính toán phƣơng pháp tuyến và sử dụng tính tƣơng thích và/hoặc thông tin bổ sung nhƣ vị trí máy quét để quyết định hƣớng của pháp tuyến. Thông thƣờng, rất khó để dự đoán chắc chắn các pháp tuyến ở khắp nơi. Tuy nhiên, không giống nhƣ các phƣơng pháp khác mà cũng dựa trên việc tạo thành một hàm khoảng cách điểm, nó không quyết định để dự đoán các đƣờng pháp tuyến ở mọi nơi. Nếu phƣơng pháp tuyến hoặc hƣớng là không xác định tại một điểm đặc biệt thì chúng ta không đặt một pháp tuyến tại điểm đó. Thay vào đó, chúng ta cho phép thực tế điểm dữ liệu là một điểm 0 (nằm trên bề mặt) ràng buộc vào hàm trong vùng đó. Đƣa ra một tập hợp các pháp tuyến bề mặt, phải thận trọng khi đƣa ra các điểm ngoài bề mặt dọc theo các pháp tuyến để đảm bảo rằng chúng không cắt các phần khác của bề mặt. Điểm chiếu là đƣợc vẽ ra do đó điểm bề mặt gần nhất là điểm bề mặt sinh ra nó. Miễn là điều kiện ràng buộc này thỏa mãn, bề mặt đƣợc xây dựng lại là tƣơng đối không nhạy với khoảng cách hình chiếu. Hình 2.3(c) minh họa cho tác động của các điểm ngoài bề mặt nhô ra các khoảng không thích hợp dọc theo các đƣờng pháp tuyến. Các điểm ngoài bề mặt đã lựa chọn nằm cách một khoảng cố định tính từ bề mặt. Bề mặt kết quả, với f bằng 0 bị biến dạng trong vùng lân cận của các ngón tay ở chỗ mà các véc tơ pháp tuyến đối lập đã cắt nhau 20 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên và đã sinh ra các điểm ngoài bề mặt với giá trị khoảng cách tới bề mặt không đúng, cả về điểm và độ lớn. Trong hình 2.3(a) và (b) giá trị của các khoảng cách ngoài bề mặt và hình chiếu động đã đảm bảo rằng các điểm ngoài bề mặt sinh ra một miền khoảng cách nhất quán với dữ liệu bề mặt. Hình 2.4 là một mặt cắt qua các ngón tay của bàn tay. Hình ảnh minh họa cách hàm RBF xấp xỉ một hàm khoảng cách gần giống bề mặt của đối tƣợng. Các đẳng đƣờng tại +1, 0 và -1 ở phần trên của hình và hình dáng hàm tƣơng ứng bên dƣới, minh họa việc làm thế nào các điểm ngoài bề mặt sinh ra một hàm với một đại lƣợng chênh lệch gần bằng 1 gần bề mặt. Hình 2.4: Mặt cắt qua các ngón tay của một bàn tay đƣợc khôi phục từ tập điểm tập trung trong hình 2.3. Đẳng đƣờng tƣơng ứng với +1, 0 và -1 đƣợc hiển thị (trên đỉnh) cùng với một mặt cắt nghiêng của hàm cơ cở bán kính (bên dƣới) dọc theo đƣờng thẳng xuất hiện. 21 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 2.3. Nội suy hàm cơ sở bán kính Cho một tập các điểm bề mặt có giá trị bằng 0 và các điểm ngoài bề mặt khác 0 bây giờ chúng ta có một bài toán nội suy dữ liệu tán xạ: chúng ta muốn xấp xỉ hàm khoảng cách điểm f(x) bằng một hàm nội suy s(x). Bài toán có thể đƣợc phát biểu nhƣ sau: Bài toán 2.2. Cho một tập hợp các nút riêng biệt     N ii xX 1 R3 và một tập hợp các giá trị hàm     N ii f 1 R, tìm một hàm nội suy: R3 → R nhƣ sau: .,...,1,)( Nifxs ii  (2.2) Chú ý rằng chúng ta sử dụng ký hiệu ),,( zyxX  cho các điểm x  R3. Hàm nội suy sẽ lựa chọn từ BL(2) (R3), không gian Beppo-Levi các hàm suy rộng trên R3 với bình phƣơng đạo hàm cấp hai khả tích. Không gian này là đủ lớn để có nhiều lời giải cho bài toán 2.2 và vì vậy chúng ta có thể định nghĩa không gian affin của các phép nội suy: S = {s  BL (2) (R3) : s(xi) = fi, i = 1,…,N} (2.3) Không gian BL (2) (R3) đƣợc trang bị bởi nửa chuẩn bất biến xoay định nghĩa bởi . )( 2 )( 2 )( 2 )()()( 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 dx zy xs zx xs yx xs z xs y xs x xs s R                                                    (2.4) Nửa chuẩn này là một độ đo của năng lƣợng hoặc “độ nhẵn” của các hàm: các hàm với nửa chuẩn nhỏ là nhẵn hơn so với các hàm có nửa chuẩn lớn. Duchon [13] chứng tỏ rằng nội suy trơn nhất, nghĩa là: ,minarg* ss Ss  có dạng đơn giản 22 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên    N i ii xxxpxs 1 * ,)()(  (2.5) Với p là một đa thức tuyến tính, các hệ số i là các số thực và | . | là quy tắc Ơ cơ lít trên R3 Hàm này là một ví dụ đặc biệt của hàm RBF. Thông thƣờng, một hàm RBF có dạng: i N i i xxxpxs   1 )()(  , (2.6) với p là một đa thức bậc thấp và hàm cơ sở  là một hàm giá trị thực trong khoảng [0,  ), thƣờng không bị chặn và chứng minh không chặt. Trong tình huống này các điểm xi đƣợc xem nhƣ là các tâm của RBF. Các lựa chọn phổ biến cho hàm cơ sở  bao gồm hàm xác định dƣơng chặt )log()( 2 rrr  (cho việc khớp các hàm trơn hai biến), hàm Gauss )exp()( 2crr  (chủ yếu cho các mạng thần kinh), và hàm đa bậc hai 22)( crr  (cho nhiều ứng dụng, trong việc khớp đặc biệt với dữ liệu định vị). Với các hàm khớp dữ liệu 3 biến, lựa chọn tốt bao gồm hàm ghép trơn song điều hòa ( ,)( rr  tức là, phƣơng trình (2.5)) và tam điều hòa ( 3)( rr  ). Một lựa chọn tùy ý các hệ số i trong phƣơng trình (2.5) sẽ sinh ra một hàm s * không thuộc BL(2) (R3). Điều kiện *s BL (2) (R3) kéo theo tính trực giao hay các điều kiện bổ sung 0 1111    N i ii N i ii N i ii N i i zyx  Thông thƣờng hơn, nếu đa thức trong phƣơng trình (2.6) là bậc m thì điều kiện bổ sung đặt lên các hệ số là: 0)( 1   N i ii xq , cho tất cả các đa thức q bậc cao nhất của m. (2.7) 23 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Các điều kiện bổ sung này cùng với các điều kiện nội suy của phƣơng trình (2.2) dẫn đến một hệ tuyến tính để tìm ra các hệ số định rõ hàm RBF. Cho {p1,…,pl} là một cơ sở các đa thực bậc cao nhất là m và cho  lccc ,...,1 là các hệ số tạo lên p trong cơ sở này. Thì phƣơng trình (2.2) và (2.7) có thể viết dƣới dạng ma trận nhƣ sau:                         00 f c B c P P A T  , (2.8) với .,...,1,,...,1),( ,,...,1,),( ljNixPP NjixxA ijiJ jiiJ   Trong trƣờng hợp cụ thể của hàm ghép trơn song điều hòa trong không gian 3D, nếu giả thiết rằng phần đa thức của hàm RBF trong phƣơng trình (2.5) có dạng zcycxccxp 4321)(  , thì ,,...,1,, NjixxA jiij  P là ma trận với dòng thứ i T Niii zyx ),...,(),,,,1( 1   và .),,,( 4321 Tccccc  Giải hệ tuyến tính (2.8) xác định đƣợc  và c, và từ đó xác định s(x). Tuy nhiên, ma trận B trong phƣơng trình (2.8) có các điều kiện không đáng kể nhƣ số lƣợng các điểm dữ liệu N nhận đƣợc lớn hơn. Những điều này có nghĩa là những lỗi chính yếu nhất sẽ dễ dàng đƣa vào lời giải chuẩn nào. Thoạt nhìn, bản chất địa phƣơng cơ bản của hàm Gauss, hàm đa bình phƣơng ngƣợc ))()(( 2 1 22   crr và các hàm cơ sở tựa chặt dƣờng nhƣ dẫn đến các đặc tính mong muốn trong hàm RBF. Ví dụ ma trận B có cấu trúc đặc biệt (rải rác) có thể khai thác bởi các phƣơng pháp nổi tiếng và sự tính toán của phƣơng trình (2.6) chỉ yêu cầu phép tổng qua các tâm xung quanh 24 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên thay cho tất cả các tâm N. Tuy nhiên, các hàm cơ sở tựa không chặt là phù hợp hơn với phép ngoại suy và phép nội suy không đều, dữ liệu lấy mẫu không cùng kiểu. Thật vậy, các thử nghiệm số sử dụng hàm Gauss và các đa thức từng mẩu tựa chặt cho việc khớp các bề mặt vào các điểm tập trung đã cho thấy rằng những hàm cơ sở này sinh ra các bề mặt với nhiều thành phần lạ không mong muốn tại phần thêm vào chỗ thiếu của phép ngoại suy ngang qua các lỗ. Các thuộc tính tối giản năng lƣợng của hàm ghép trơn song điều hòa giúp chúng rất phù hợp để biểu diễn các đối tƣợng 3D. Từ đó hàm cơ sở tƣơng ứng rr )( không tựa chặt và trở lên lớn tùy ý khi r dần tới vô cực, ma trận tƣơng ứng B của phƣơng trình (2.8) không bị thƣa và trừ cấu trúc cân đối, không có cấu trúc rõ ràng nào có thể khai thác trong việc giải hệ. Lƣu trữ tam giác dƣới của ma trận B đòi hỏi khoảng trống cho 2 )1(3 NN số thực. Cách giải quyết thông qua một giải pháp đối xứng sẽ đòi hỏi )(6 2 3 NO N  chỗ lƣu trữ. Đối với một bài toán với 20.000 điểm dữ liệu đây là một yêu cầu với xấp xỉ 9106.1  bytes (1.5GB) bộ nhớ lõi là không thực tế. Hơn nữa, điều kiện không đúng của ma trận B có thể tạo ra bất kỳ kết quả nào một trong số đó lấy từ một phép tính trực tiếp không đáng tin cậy lắm. Nhƣ vậy, rõ ràng các phƣơng pháp trực tiếp không thích hợp cho các bài toán với 000,2N . Hơn nữa, một phép tính đơn trực tiếp của phƣơng trình (2.6) cần đến các phép tính O(N). Các hệ số này đã dẫn đến nhiều tác giả kết luận rằng, cho dù hàm cơ sở bán kính thƣờng là phép nội suy đƣợc lựa chọn, chúng chỉ phù hợp cho những bài toán với nhiều nhất vài ngàn điểm [14,15]. 25 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Độ chính xác điều chỉnh + các nút nội suy - - - - độ chính xác tính toán . các điểm tính toán đƣa ra khớp bằng RBF …… bề mặt đƣa ra Hình 2.5 : Hình minh họa của phƣơng pháp điều chỉnh nhanh và các giá trị tính toán Hình 2.6 : Một thuật toán tham lam lặp lại việc khớp một hàm RBF vào một tập điểm tập trung dẫn đến các tâm ít hơn trong hàm cuối cùng. Trong trƣờng hợp này 544.000 điểm tập trung đƣợc biểu diễn bởi 80.000 tâm tới một độ chính xác tƣơng đối 5x10-4 trong hình ảnh cuối cùng. 26 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Bảng 2.1 : So sánh phƣơng pháp trực tiếp và phƣơng pháp nhanh Khớp dữ liệu Phƣơng pháp trực tiếp Phƣơng pháp nhanh Đòi hỏi bộ nhớ 2 )1( NN O(N) Khối lƣợng tính toán giải hệ )( 6 2 3 NO N  O(NlogN) Tính giá trị Khối lƣợng tính toán O(N) O(1) O(NlogN) 2.4. Các phương pháp nhanh: Sự tính toán nhanh của hàm RBF đƣợc thực hiện thông qua phƣơng pháp đa cực nhanh (FMM) của Greengard & Rokhlin [27]. Phƣơng pháp FMM đƣợc thiết kế cho các khả năng tính toán nhanh (hàm RBF điều hòa) trong không gian 2 và 3 chiều. Tuy nhiên Beatson et al. [8] đã sửa lại phần lý thuyết mở rộng và tịnh tiến cho khả năng hàm RBF đa điều hòa bậc cao hơn. Chú ý rằng hàm RBF đa điều hòa bao gồm các hàm ghép trơn điều hòa của phƣơng trình (2.5). Phƣơng pháp FMM cũng có thể sử dụng với hàm ghép trơn đa điều hòa trong không gian 2 và 3 chiều. Sự mô tả đầy đủ về phƣơng pháp FMM là vƣợt qua phạm vi của luận văn này. Tuy nhiên, chúng ta đƣa ra những nét chính ngắn gọn của phƣơng pháp này. Phƣơng pháp FMM dùng thực tế đơn giản là khi quá trình tính toán đƣợc thực hiện, độ chính xác vô hạn không là yêu cầu mà cũng không là sự kỳ vọng. Đôi khi điều này là đúng, việc dùng phép xấp xỉ là đƣợc phép. Với sự tính toán một hàm RBF, phép xấp xỉ một lựa chọn là sự mở rộng phạm vi xa và gần. Với các tâm gộp lại trong một phƣơng pháp phân cấp, sự mở rộng phạm vi xa và gần đƣợc sử dụng để sinh ra một phép xấp xỉ tới 27 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên phần đó của hàm RBF nhờ các tâm trong một đám đặc biệt. Một cách sử dụng đúng đắn phép tính xấp xỉ cho các đám cách xa từ một điểm tính toán cho phép hàm RBF có thể tính toán độ chính xác định trƣớc và phép tính trực tiếp cho các đám ở gần tới một điểm tính toán cho phép hàm RBF tính toán tới bất kỳ độ chính xác biết trƣớc nào và với sự giảm đáng kể thời gian tính toán so với tính toán trực tiếp. Các phƣơng pháp tính toán nhanh này, khi sử dụng cùng với các phƣơng pháp khớp dữ liệu đặc biệt cho hàm RBF [3,7], làm giảm rất nhiều dung lƣợng lƣu trữ và chi phí tính toán cho việc sử dụng hàm RBF. Chúng giảm chi phí tính toán hàm s(x) với M điểm từ O(MN) tới O(M+NlogN) phép tính. Chi phí của việc tính toán đồng thời độ chênh lệch )(xs với hàm s(x) là xấp xỉ bằng hai lần việc tính toán riêng hàm s(x). Bảng 2.1 tóm tắt các lợi ích của các phƣơng pháp nhanh so với các phƣơng pháp trực tiếp. Hình 2.5 minh họa hai tham số đƣợc giới thiệu bởi các phƣơng pháp nhanh: độ chính xác khớp dữ liệu và độ chính xác tính toán. Độ chính xác khớp dữ liệu chỉ rõ độ lệch cho phép tối đa của giá trị khớp RBF từ giá trị đã đƣợc ghi rõ tại các nút nội suy. Nếu muốn, một độ chính xác khớp dữ liệu khác có thể đƣợc ghi rõ ở mỗi điểm dữ liệu, nhƣ đƣợc minh họa bằng các dải sai số khác nhau trong hình 2.5. Độ chính xác tính toán chỉ rõ sự chính xác với những gì mà hàm khớp dữ liệu RBF sau đó đƣợc tính toán. 2.5. Rút gọn tâm RBF Nhƣ quy ƣớc, một phép xấp xỉ sử dụng cho tất cả các điểm dữ liệu vào (của biến xi‟ trong phƣơng trình (2.2)) nhƣ các nút của phép nội suy và nhƣ là các tâm của hàm RBF. Tuy nhiên, dữ liệu vào cùng loại có thể xấp xỉ tới độ chính xác mong muốn sử dụng các tâm ít hơn đáng kể, nhƣ đƣợc 28 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên minh họa trong hình 2.7. Một thuật toán tham lam có thể vì thế mà đƣợc sử dụng để khớp lại một hàm RBF trong phạm vi độ chính xác khớp dữ liệu mong muốn. Hình 2.7: Minh họa sự rút gọn tâm. Một thuật toán tham lam đơn giản gồm những bƣớc sau : 1. Chọn một tập con từ các nút nội suy xi và khớp chỉ một hàm RBF cho những nút này. 2. Tính toán phần dƣ, )( iii xsf  , tại tất cả các nút. 3. Nếu  imax < độ chính xác khớp dữ liệu thì dừng lại. 4. Còn không thì thêm các tâm mới với i lớn. 5. Khớp lại hàm RBf và quay lên bƣớc 2. Nếu một độ chính xác khác i đƣợc ghi rõ tại mỗi điểm thì điều kiện tại bƣớc 3 có thể đƣợc thay bằng i < i . Việc rút gọn tâm không cần thiết khi sử dụng các phƣơng pháp nhanh đƣợc mô tả trong phần 2.4. Ví dụ, không có sự rút gọn nào đƣợc sử dụng khi khớp dữ liệu cho ví dụ LIDAR của hình 2.8. Tuy nhiên, rút gọn số lƣợng các tâm RBF dẫn đến các yêu cầu bộ nhớ nhỏ hơn và thời gian tính Các tâm RBF Tập con rút gọn của các tâm RBF 29 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên toán nhanh hơn, không bị mất mát độ chính xác. Hình 2.6 minh họa quá trình khớp dữ liệu với sự rút gọn tâm. Giống nhƣ nhiều tâm bổ sung vào hàm RBF, bề mặt số 0 xấp xỉ gần hơn tập hợp toàn vẹn các điểm dữ liệu. Trong trƣờng hợp này, sự quét laser của một tƣợng phật bao gồm 544.000 điểm đã đƣợc xấp xỉ bằng một hàm RBF với 80.000 tâm tới một độ chính xác tƣơng đối 1.4 x 10-4 (đạt đƣợc tại tất cả các điểm dữ liệu). Thuật toán tham lam thƣờng dẫn đến một lƣới với thời gian khớp dữ liệu nhanh hơn, thậm chí là với sự rút gọn vừa phải số lƣợng tâm. Điều này là do các khả năng khớp dữ liệu với việc giải và tính toán một hệ tƣơng tự tại mỗi lần lặp và sự thật là quá trình lặp ban đầu bao gồm việc giải các bài toán nhỏ hơn nhiều. 2.6. Xấp xỉ dữ liệu nhiễu bằng RBF: Trong phần 2.3 chúng ta tìm kiếm một phép nội suy mà tối giản một bƣớc của việc làm trơn. Tuy nhiên, nếu có nhiễu trong dữ liệu, các điều kiện nội suy của phƣơng trình (2.2) là quá chặt chẽ và chúng ta sẽ thích đánh giá hơn tập là trung vào việc tìm một hàm làm trơn, với độ trơn đƣợc đo bởi phƣơng trình (2.4). Nhƣ vậy, coi bài toán     N i ii fxs N s s 1 22 3)2( ))(( 1 )(BL min  R , (2.9) với 0 và . là đƣợc xác định trong phƣơng trình (2.4). Tham số  làm cân bằng độ mƣợt dựa vào độ chính xác tới dữ liệu. Nó có thể cho thấy rằng lời giải s* cho bài toán này cũng có dạng của phƣơng trình (2.5) nhƣng lúc này hệ số véc tơ TTT c ),( là lời giải tới                    00 8 f cP PlNA T  , (2.10) 30 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên với ma trận A và P giống nhƣ trong phƣơng trình (2.8). Tham số  có thể coi nhƣ là độ cứng của hàm RBF s(x). Hệ (2.10) cũng có thể giải quyết bằng việc sử dụng phƣơng pháp nhanh. 2.7. Tính toán bề mặt Một hàm RBF khớp một tập dữ liệu bề mặt tạo thành một mô hình vật thể của một đối tƣợng. Bề mặt của các đối tƣợng là nơi các điểm với hàm RBF bằng 0. Bề mặt này có thể hiển thị trực tiếp bằng việc sử dụng một mũi vạch tia ẩn [11] hoặc một biểu diễn trung gian rõ ràng, nhƣ là một lƣới của đa giác, có thể tách ra đƣợc. Một hệ thống tối ƣu lƣới đƣợc đƣa vào dẫn đến ít tam giác hơn với các khuôn dạng tốt hơn, tức là các tam giác mỏng và dài đƣợc ngăn ngừa. Một lƣới tiêu biểu đƣa ra từ thuật toán này đƣợc minh họa trong hình 2.10(b). Các mặt sóng của các mặt trải ra từ các điểm hạt băng qua bề mặt cho đến khi chúng gặp nhau hoặc cắt hộp giới hạn. Rõ ràng, một mặt sóng từ một hạt đơn lẻ hiện ra màu đỏ trong hình 2.10(a) lan rộng trên bề mặt bức tƣợng phật trong quá trình tạo bề mặt đồng nhất. Bề mặt kế tiếp đƣợc bắt đầu từ các điểm hạt đúng với các tâm hàm RBF. Ý đồ là nhiều tâm sẽ nằm trên bề mặt hoặc rất gần bề mặt. Trong trƣờng hợp các tâm ngoài bề mặt, độ chênh lệch RBF dùng để tìm chỗ giao 0 gần nhất. Sự hội tụ là nhanh chóng vì độ chênh lệch là hằng số xấp xỉ gần bề mặt. 31 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 2.8 : Xấp xỉ RBF của dữ liệu LIDAR. (a) 350.000 điểm tập trung, (b) Bề mặt làm trơn RBF xấp xỉ dữ liệu tập trung gốc Hình 2.9 : (a) khớp chính xác, (b) số lƣợng trung bình của việc áp dụng làm trơn (hàm RBF xấp xỉ tại các điểm dữ liệu), (c) sự làm trơn tăng lên Trong bất kỳ trƣờng hợp nào, chỉ một tập con nhỏ của các tâm là đƣợc yêu cầu để khởi đầu bề mặt, một tâm cho mỗi phần bề mặt phân biệt. Chiến lƣợc bề mặt tiếp theo ngăn ngừa các yêu cầu thông thƣờng cho một mảng 3 chiều của các điểm mẫu và vì thế giảm thiểu số lƣợng tính toán RBF. Do đó, đòi hỏi tính toán tăng lên với bình phƣơng độ chính xác, hơn là lũy thừa ba, nhƣ nó muốn nếu một số lƣợng đầy đủ là đƣợc làm mẫu. (a) (b) (c) (a) (b) (c) 32 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chi phí bộ nhớ cũng giảm thiểu bởi nó chỉ cần để giữ lại đỉnh lấy mẫu kết hợp với các mặt sóng cải tiến. Các lƣới tứ giác cũng có thể đƣợc sinh ra trong cách này. Sự nhập nhằng bề mặt có thể đƣợc giải quyết lại dễ dàng vì khả năng tính toán theo phép phân tích độ chênh lệch của hàm RBF. 2.8. Các kết quả : Bảng 2.2 xác định lƣợng thời gian khớp dữ liệu và tính toán cho các hình đƣợc đƣa ra trong luận văn này. Trong tất cả các trƣờng hợp hàm ghép trơn song điều hòa đã khớp dữ liệu. Hai điểm ngoài bề mặt đƣợc sinh ra cho mọi điểm thứ hai trong dữ liệu bề mặt gốc, do đó số lƣợng các nút nội suy tới cái mà một hàm RBF đƣợc khớp là xấp xỉ hai lần số lƣợng các điểm bề mặt. Sự rút gọn tâm đƣợc sử dụng ở khắp nơi, trừ trong mẫu LIDAR nơi mà số lƣợng các tâm hàm RBF xấp xỉ bằng số lƣợng nút nội suy. Hình 2.1(a), 2.3, 2.6, 2.12, 2.13 và 2.14 minh họa việc khớp dữ liệu các bề mặt tới các điểm tập trung trong khi hình 2.1(b) và 2.11 minh họa việc khớp với các lƣới riêng. Hình 2.8 giải thích việc xấp xỉ một hàm RBF trong tinh huống khớp một bề mặt nhẵn với dữ liệu LIDAR nhiễu. Hình 2.10 : Gia công đẳng mặt một hàm RBF. (a) Bề mặt tiếp theo từ một hạt đơn giản, (b) ví dụ của một lƣới tối ƣu. (a) (b) 33 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Bảng 2.2 : So sánh việc khớp hàm RBF và thời gian tính toán trên máy tính PIII tốc độ 550MHz Ram 512 MB Hình Số lƣợng điểm bề mặt Số lƣợng nút nội suy Số lƣợng tâm RBF RAM tối đa (MB) Thời gian khớp Thời gian chỉnh bề mặt Độ chính xác liên quan Bề mặt 14.806 29.074 3.564 29 68s 27s 7 x 10-4 Bàn tay 13.348 26.696 4.299 29 97s 32s 1 x 10 -3 Con rồng 437.645 872.487 72.461 306 2:51:09 0:04:40 8 x 10-4 Tƣợng đứa trẻ 331.135 662.269 83.293 187 3:09:06 0:06:41 4 x 10 -4 Xƣơng bàn tay 327.323 654.645 85.468 188 3:08:44 0:04:04 3 x 10 -4 Tƣợng LIDAR 345.910 518.864 518.864 390 3:08:21 0:25:39 6 x 10 -3 Con rồng trong hình 2.1(a), tƣợng phật (hình 2.6) và bộ xƣơng tay (hình 2.12) chứng minh khả năng của các phƣơng pháp nhanh để mô hình hóa các tập dữ liệu phức tạp lớn với độ chính xác cao và đặc tính nén của việc biểu diễn hàm RBF. Dữ liệu của con rồng đƣợc lấy từ một lƣới bao gồm 438.000 đỉnh và 871.000 mặt, của tƣợng phật đƣợc lấy từ 544.000 đỉnh và 1.087.000 mặt. Các đƣờng pháp tuyến đƣợc tính tại các đỉnh từ các mặt liền kề. Các phƣơng pháp trực tiếp chắc chắn sẽ không có khả năng trên các bài toán này. Ví dụ, một phƣơng pháp trực tiếp để khớp dữ liệu tƣợng phật có thể yêu cầu 4.700GB bộ nhớ chỉ để lƣu trữ ma trận hệ nội suy (2.8). Các yêu cầu bộ nhớ lõi tối đa của các phƣơng pháp nhanh mới trong bảng 2.2 là đặc biệt đáng chú ý trong khía cạnh này. 34 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 2.11 : Một hàm RBF đã tự động lấp những lỗ nhỏ và ngoại suy qua các vùng bít kín trong dữ liệu quét (bên trái), để tạo ra một mô hình kín, không rỉ nƣớc. Cấu trúc liên kết phức tạp của bức tƣợng đã đƣợc bảo tồn. Hình 2.1(b) và hình 2.11 minh họa ứng dụng việc khớp dữ liệu của hàm RBF với sụ phục hồi lƣới. Trong hình 2.1(b) một hàm RBF khớp một lƣới không hoàn toàn thu đƣợc từ một máy quét laser. Hình ảnh này chứng minh khả năng của hàm ghép trơn song điều hòa với phép nội suy nhẵn qua các lỗ không đều lớn, ví dụ dƣới cằm và ngoại suy nhẵn một bề mặt không dữ liệu. Trong hình 2.11 một hàm RBF đã đƣợc khớp vào một tập hợp dữ liệu pho tƣợng lớn. Dù quét cẩn thận, bức tƣợng vẫn chứa nhiều lỗ nhỏ và lỗ lớn tƣơng ứng với các vùng bị che khuất giữa các hinh ôm. Việc khớp hàm RBF đã tự động lấp tất cả các lỗ và sinh ra một mô hình không rỉ nƣớc của bức tƣợng không cần ngƣời dùng phải chỉ rõ bất kỳ tham số nào khác với độ chính xác khớp dữ liệu muốn có. Chú ý làm thể nào mà mảnh vỡ của dữ liệu vai bên phải bức tƣợng nhỏ đã đƣợc ngoại suy để khôi phục dữ liệu ngực bị thiếu. 35 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 2.12 : Với việc lấy mẫu đủ, các đối tƣợng phức tạp có thể biểu biễn với hàm RBF. Hình 2.13 : Sự khôi phục RBF của hành tinh Eros từ dữ liệu phạm vi phân bố không đều (trên). Ảnh và môt hình từ một hình vẽ tƣơng tự. 36 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 2.13 minh họa sự khôi phục hành tinh Eros từ dãy dữ liệu tán xạ. Đây là một ví dụ điển hình của dữ liệu phân bố không đều, thƣờng khó có thể khôi phục khi sử dụng các phƣơng pháp khác. Bảng 2.3: So sánh yêu cầu lƣu trữ của việc nội suy bằng RBF và các lƣới đƣợc suy ra Hình Lưới gốc Lưới mới Biểu diễn RBF #Đỉnh #Mặt Bộ nhớ #Đỉnh #Mặt Bộ nhớ Tâm RBF Bộ nhớ Con rồng 437.645 847.414 15.4MB 126.998 254.016 4.5MB 72.461 1.4MB Bức tƣợng 543.652 1.086.798 19.6MB 97.766 193.604 3.5MB 80.518 1.6MB Xƣơng bàn tay 327.323 654.666 11.8MB 81.829 163.698 2.9MB 85.468 1.7MB Bảng 2.3 so sánh kích thƣớc các lƣới gốc của các tập dữ liệu con rồng, tƣợng phật và xƣơng bàn tay với kích thƣớc của sự biểu diễn RBF tƣơng ứng. Các kích thƣớc lới không nén nhận đƣợc bằng việc cho 3 float (12 byte) tới mỗi đỉnh và 3 số nguyên (12 byte) tới mỗi cạnh tam giác. Kích thƣớc tệp RBF không nén tƣơng đƣơng để biểu diễn mỗi tâm với 3 float (12byte) và mỗi hệ số )( i với một số chính xác hai lần (8 byte). Có nghĩa là độ chính xác đơn giản có thể là thích hợp, mà sẽ dẫn đến nén nhiều hơn, nhƣng chúng ta vẫn chƣa xác định đƣợc tầm ảnh hƣởng của hệ số độ chính xác lên bề mặt tính toán. Bảng này chứng minh rằng độ nén đáng kể của cả tập điểm và dữ liệu lƣới mà một biểu diễn RBF cung cấp. Chúng ta cũng đã liệt kê kích thƣớc của các lƣới dẫn xuất từ việc tính toán hàm RBF với một độ chính xác có thể so sánh với dữ liệu gốc. Nó xuất hiện từ các kết quả ban đầu mà một ứng dụng có triển vọng của hàm RBF là đan lại lƣới các lƣới đã có. Khớp một hàm RBF không chỉ lấp các lỗ, nhƣng một lƣới đều hơn (và do đó chặt hơn) có thể dẫn xuất ra từ nó. 37 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 2.9. Kết luận: Các phƣơng pháp nhanh làm cho nó có thể thực hiện tính toán để biểu diễn các đối tƣợng phức tạp của cấu trúc liên kết bất kỳ bằng hàm RBF. Lớp độc lập, sự mô tả „bộ nội suy trơn nhất‟ của hàm ghép trơn đa điều hòa làm cho hàm RBF đặc biệt phù hợp cho việc khớp các bề mặt với các điểm tập trung lấy mẫu không đều và các lƣới không hoàn toàn mà chứa các lỗ lớn không đều. Bề mặt nhẵn nhất, phù hợp nhất với dữ liệu vào, đƣợc sinh ra. Các sự kiện đƣợc giải quyết, với điều kiện là chúng là mẫu thỏa đáng. Bản chất hàm số của biểu diễn bằng hàm RBF cung cấp các triển vọng mới cho các thuật toán cân chỉnh bề mặt, rút gọn lƣới, nén và các thuật toán làm nhẵn. Hàm RBF cũng có liên quan tới bài toán của việc hiển thị hóa khối dữ liệu thu đƣợc trên một lƣới tọa độ không đều, nhƣ là có thể khớp tới dữ liệu mẫu hợp lệ để xấp xỉ sự phân bố vô hƣớng nằm dƣới. Các trƣờng véc tơ có thể đƣợc mô hình dễ dàng nếu các thành phần là độc lập. Trong trƣờng hợp đó, một hàm RBF có thể khớp tới mỗi trƣờng thành phần. Điều này không yêu cầu thời gian tính toán nhiều hơn là bao nhiêu vì ma trận trong phƣơng trình (2.8) chỉ phụ thuộc vào vị trí của các nút nội suy và vì thế là thuộc mỗi thành phần hàm RBF. 38 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chƣơng 3: KHAI THÁC PHẦN MỀM FASTRBF 3.1. Phần mềm FastRBF làm gì? Phần mềm FastRBF nội suy nhẹ nhàng dữ liệu tán xạ 2D và 3D bằng các hàm cơ sở bán kính (RBFs). Không có kỹ thuật nào khác có thể mô hình dữ liệu bất quy tắc, không đều hiệu quả bằng phép nội suy RBF. Với phần mềm FastRBF của công nghệ FarField hàng triệu phép đo dữ liệu có thể đƣợc nội suy bởi một hàm đơn – một công việc trƣớc đây không thể nghĩ đƣợc trên một máy tính để bàn. Hàm khớp và độ chênh lệch của nó có thể tính toán ở mọi nơi nhƣ trên một lƣới, một mặt phẳng hoặc một bề mặt bất kỳ. Những khả năng này làm cho phần mềm FastRBF lý tƣởng cho việc hiển thị dữ liệu tán xạ, đặc biệt là dữ liệu lấy mẫu bất quy tắc, không đều và xây dựng lại các bề mặt từ dải dữ liệu. 3.2. Ai có thể sử dụng sản phẩm FastRBF? Các kỹ sƣ, ngƣời phát triển phần mềm và các nhà khoa học đối mặt với các vấn đề nội suy dữ liệu phân tán lớn. Nghiên cứu về đồ họa máy tính, nghiên cứu đảo ngƣợc, thị giác nhân tạo cần xây dựng lại các bề mặt từ dải dữ liệu. Các sinh viên và những nhà nghiên cứu làm việc với các mẫu đơn 2D và 3D không đều. Những ngƣời đã làm việc với hàm RBF cần giải quyết những hệ thống cực lớn. 3.3. Những lợi ích của phần mềm FastRBF Phần mềm FastRBF cho phép hàm cơ sở bán kính phù hợp với những hệ thống có nhiều hơn một triệu điểm dữ liệu trên phần cứng tính toán 39 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên thông thƣờng. Các hàm ghép trơn đa điều hòa mà phần mềm FastRBF sử dụng kết quả trong phép nội suy nhẵn nhất, trong sự dò ra đó chúng làm giảm đến mức tối thiểu năng lƣợng trong đạo hàm bậc 2, bậc 3 hoặc cao hơn. Những kết quả này trong các khả năng ngoại suy đặc biệt khi các độ chênh lệch lớn xuất hiện trong tập hợp dữ liệu. trong trƣờng hợp dữ liệu nhiễu, bộ khớp dải lỗi của phần mềm FastRBF khớp gần đúng dữ liệu bằng hàm ghép trơn trong các biên lỗi định vị tại mỗi điểm dữ liệu. Sự lọc thông thấp của dữ liệu tán xạ cũng có thể đƣợc hoàn thành ngay lập tức với phần mềm FastRBF mà không cần lấy mẫu lại trên một lƣới chuẩn và sử dụng các phép tính toán nhân chập có chiều sâu trong không gian hoặc trong miền Fourier. 3.4. Các ứng dụng: Phần mềm FastRBF đã đƣợc ứng dụng trong một số lĩnh vực khác nhau của khoa học và nghiên cứu các vấn đề từ tạo nguyên mẫu nhanh CAD- CAM, sự tạo ảnh y học, đồ họa máy tính và sự xử lý tín hiệu… 3.5. Các kết quả đạt được khi sử dụng phần mềm FastRBF: 3.5.1. Khớp và tính toán dữ liệu 3D: Trƣớc tiên, chúng ta tải dữ liệu điểm 3D bằng lệnh sau: data=fastrbf_load('C:\Program Files\FarField Technology\FastRBF v1.4\Matlab\tutorial\FitAndEval\data.p3d') Ta thu đƣợc kết quả nhƣ sau: data = Location: [3x5000 double] Value: [1x5000 double] Để hiển thị dữ liệu 3D đã tải ta dùng câu lệnh sau: 40 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên colormap(jet(256)) fastrbf_view(data) Sau khi dùng 2 lệnh trên ta thu đƣợc hình ảnh của dữ liệu 3D đã đƣợc tải nhƣ trong hình 3.1 Hình 3.1: Dữ liệu 3D đƣợc tải vào. Để an toàn chúng ta xử lý dữ liệu bằng hàm unique nhƣ sau: data=fastrbf_unique(data) Ta thu đƣợc kết quả: data = Location: [3x5000 double] Value: [1x5000 double] Vì phạm vi giá trị dữ liệu là 0,1 chúng ta khớp một hàm RBF với độ chính xác 0,001 sử dụng hàm fit 41 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên rbf=fastrbf_fit(data,0.001) Sau khi khớp ta đƣợc kết quả: rbf = AchievedAcc: 3.3439e-004 DefaultEvalAcc: 1.0000e-005 Centres: [3x5000 double] Coeffs: [1x5004 double] PolyBase: [0.5000 0.5001 0.5000] DataMin: [3.8337e-005 2.0880e-004 4.3258e-005] DataMax: [1.0000 0.9999 1.0000] BasicFunc: 0 BasicFuncParam: 0 BasicFuncParam2: 1 PolyDegree: 1 Rho: 0 FitType: 0 Version: 'FastRBF V 1.4.2' 3.5.1.1. Rút gọn tâm RBF: Để rút gọn tâm RBF ta sử dụng câu lệnh sau: rbf=fastrbf_fit(data,0.001,‟reduce‟,‟verbose‟) Sau khi rút gọn tâm ta thu đƣợc kết quả: rbf = AchievedAcc: 9.0459e-004 DefaultEvalAcc: 1.0000e-005 Centres: [3x843 double] Coeffs: [1x847 double] PolyBase: [0.5000 0.5001 0.5000] DataMin: [3.8337e-005 2.0880e-004 4.3258e-005] 42 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên DataMax: [1.0000 0.9999 1.0000] BasicFunc: 0 BasicFuncParam: 0 BasicFuncParam2: 1 PolyDegree: 1 Rho: 0 FitType: 1 Version: 'FastRBF V 1.4.2' Indices: [1x843 double] Rút gọn tâm có kết quả là 843 tâm so với 5000 tâm của phƣơng pháp trực tiếp. 3.5.1.2. Tính toán lƣới 3D: Bây giờ chúng ta tính toán hàm RBF 3D trên một lƣới bằng câu lệnh: g=fastrbf_grideval(rbf,‟spacing‟,0.02) Ta thu đƣợc kết quả: g = Value: [51x51x51 double] Min: [3.8337e-005 2.0880e-004 4.3258e-005] Max: [1.0000 1.0002 1.0000] Spacing: [0.0200 0.0200 0.0200] Chúng ta phải đổi trật tự mảng giá trị và các đối số bằng các lệnh sau: [gX, gY, gZ] = fastrbf_gridcoords(g); gV = permute(g.Value, [2 1 3]); slice(gY, gX, gZ, gV, .7, .7, .3); colorbar; axis tight; Sau khi thực hiện lệnh ta thu đƣợc lƣới nhƣ hình 3.2 43 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.2: Lƣới thu đƣợc sau khi đổi trật tự mảng giá trị và các đối số 3.5.2. Khớp dữ liệu bề mặt 3D: 3.5.2.1. Khớp bề mặt vào dữ liệu lƣới: Dữ liệu lƣới đƣợc tạo ra từ rất nhiều loại máy quét và thƣờng chứa các lỗ không đều, cả lỗ lớn và lỗ nhỏ. Bƣớc đầu tiên ta nhập vào tệp holey_face.obj bằng câu lệnh sau: mesh = fastrbf_import('C:\Program Files\FarField Technology\FastRBF v1.4\Matlab\tutorial\SurfaceFit\holey_face.obj') Sau khi thực hiện lệnh ta thu đƣợc kết quả: Mesh = Location: [3x3328 double] Tri: [3x6283 double] 44 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Dùng lênh: fastrbf_view(Mesh); để hiển thị đƣợc hình ảnh của bề mặt nhƣ trong hình 3.3 Hình 3.3. Hình ảnh của bề mặt đƣa vào Sau đó xác định các đƣờng pháp tuyến bằng câu lệnh sau: MeshWithNormals = fastrbf_normalsfrommesh(Mesh) Sau khi dùng lệnh trên ta thu đƣợc kết quả: MeshWithNormals = Location: [3x3328 double] Tri: [3x6283 double] Gradient: [3x3328 double] Để hiển thị bề mặt với các đƣờng pháp tuyến ta dùng lệnh: fastrbf_view(MeshWithNormals, 'fv'); Sau khi dùng lệnh trên ta thu đƣợc bề mặt với các đƣờng pháp tuyến nhƣ đƣợc mô tả trong hình 3.4 45 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.4. Bề mặt với các đƣờng pháp tuyến Trong ví dụ này, độ dài đƣờng pháp tuyến tối đa là 5mm sẽ đƣợc sử dụng. Các đƣờng pháp tuyến ngắn hơn 0,5mm sẽ đƣợc loại bỏ bằng lệnh sau: Density = fastrbf_densityfromnormals(MeshWithNormals, 0.5, 5.0) Sau khi thực hiện lệnh trên thu đƣợc kết quả: Density = Location: [3x6656 double] Value: [1x6656 double] Gradient: [3x6656 double] Để hiển thị đƣợc kết quả (Hình 3.5) sau khi loại bỏ các đƣờng pháp tuyến ngắn hơn 0,5mm ta dùng lệnh: fastrbf_view(Density); 46 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.5: Bề mặt với các đƣờng pháp tuyến có độ dài nhỏ hơn 0,5mm bị loại bỏ Trƣớc khi khớp dữ liệu dùng lệnh sau: Density = fastrbf_unique(Density) Sau khi dùng lệnh trên ta thu đƣợc: Density = Location: [3x6653 double] Value: [1x6653 double] Gradient: [3x6653 double] Để so sánh lợi ích của việc rút gọn tâm đầu tiên chúng ta khớp không có sự rút gọn tâm. Bằng câu lệnh sau: rbf = fastrbf_fit(Density, 0.5, ‟direct‟) Sau khi khớp ta có kết quả: 47 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Finished fitting RBF rbf = AchievedAcc: 0.1093 DefaultEvalAcc: 0.0050 Centres: [3x6653 double] Coeffs: [1x6657 double] PolyBase: [2.3315 -7.9726 52.4559] DataMin: [-74.7032 -121.5387 7.3864] DataMax: [79.3662 105.5934 97.5255] BasicFunc: 0 BasicFuncParam: 0 BasicFuncParam2: 1 PolyDegree: 1 Rho: 0 FitType: 0 Version: 'FastRBF V 1.4.2' Dùng lệnh: fastrbf_view(rbf); để hiển thị kết quả nhƣ trong hình 3.6: 48 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hình 3.6: Bề mặt sau khi khớp không có sự rút gọn tâm Bây giờ chúng ta sẽ khớp bề mặt với sự rút gọn tâm bằng câu lệnh sau: rbf = fastrbf_fit(Density, 0.5,‟reduce‟) Sau khi thực h iện lệnh ta thu đƣợc: rbf = AchievedAcc: 0.4614 DefaultEvalAcc: 0.0050 Centres: [3x1628 double] Coeffs: [1x1632 double] PolyBase: [2.3315 -7.9726 52.4559] DataMin: [-74.7032 -121.5387 7.3864] DataMax: [79.3662 105.5934 97.5255] 49 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên BasicFunc: 0 BasicFuncParam: 0 BasicFuncParam2: 1 PolyDegree: 1 Rho: 0 FitType: 1 Version: 'FastRBF V 1.4.2' Indices: [1x1628 double] Dùng lệnh: fastrbf_view(rbf); để hiển thị kết quả nhƣ trong hình 3.7 Hình 3.7: Khớp sau khi rút gọn tâm 50 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Trong trƣờng hợp này, khi khớp dữ liệu với việc rút gọn tâm chỉ yêu cầu 1157 tâm còn khớp dữ liệu không có việc rút gọn tâm yêu cầu 3984 tâm. Tiếp theo, chúng ta có thể tính giá trị của nó trên một lƣới 3D bằng lệnh sau: g = fastrbf_grideval(rbf, 0.1, ‟spacing‟, 3); slice(g.Value, 40, 27, 15); Sau khi tính giá trị trên lƣới 3D ta có kết quả nhƣ trong hình 3.8 Hình 3.8: Tính giá trị của bề mặt trên lƣới 3D 51 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Đẳng mặt trong lƣới 3D đƣợc hiểu là tại các điểm hàm RBF có giá trị bằng không. Một lƣới mới đƣợc sinh ra bằng câu lệnh sau: NewMesh = fastrbf_isosurf(rbf, 2) Bằng lệnh: fastrbf_view(NewMesh); ta thu đƣợc hình 3.9. Hình 3.9: Lƣới mới đƣợc sinh ra Cuối cùng, chúng ta xuất lƣới thành file newmesh.obj để cho phép nó có thể tải đƣợc vào trong các gói 3D khác bằng lệnh sau: fastrbf_export(NewMesh, ‟NewMesh.obj‟) 3.5.1.2. Gia công đẳng mặt: Chúng ta bắt đầu bằng việc tải dữ liệu quét laser từ một bàn tay và khớp một hàm RBF vào một lƣới không đầy đủ. Các điểm ngoài bề mặt đƣợc sinh ra bởi sự nhô ra trong khoảng 0,5mm và 5mm bên ngoài bề mặt bàn tay. 52 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Trƣớc hết ta đƣa dữ liệu bàn tay vào bằng câu lệnh sau: Mesh = fastrbf_import(‟Hand.obj‟); Density = fastrbf_densityfromnormals(Mesh, 0.5, 5.0); Density = fastrbf_unique(Density); rbf = fastrbf_fit(Density, 0.25,‟reduce‟); Bây giờ chúng ta muốn rút ra một lƣới đa giác. Một lƣới 1mm có thể đƣợc sinh ra bằng lệnh sau: NewMesh = fastrbf_isosurf(rbf, 1); Dùng lệnh: figure; fastrbf_view(NewMesh); để xem hình ảnh chi tiết của lƣới mới sinh ra nhƣ hình 3.10. Hình 3.10: Lƣới đa giác 1mm dƣợc sinh ra 53 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên 3.6. Kết luận: Với việc khai thác phần mềm FastRBF giúp ta hiểu vể quy trình và các bƣớc để khôi phục, biểu diễn các đối tƣợng 3D một cách rõ ràng và cụ thể. Từ đó hiểu rõ hơn về bài toán khôi phục và biểu diễn các đối tƣợng 3D, cụ thể hơn là những vấn đề bề mặt ẩn, khớp một hàm ẩn vào bề mặt… Qua một số thí dụ đã trình bày, chúng ta thấy đƣợc những lợi ích của phần mềm FastRBF trong việc khôi phục và biểu diễn các đối tƣợng 3D. Đây là một phần mềm rất hữu ích cho những đối tƣợng cần sử dụng những kết quả của nó vào công việc của mình. Qua đó, chúng ta hiểu rõ hơn về vấn đề khôi phục và biểu diễn các đối tƣợng 3D để từ đó vận dụng vào từng trƣờng hợp cụ thể trong quá trình làm việc. 54 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên KẾT LUẬN Luận văn đề cập đến hàm cơ sở bán kính, một hàm có nhiều ứng dụng khác nhau trong đó là ứng dụng trong đồ họa máy tính. Đây là một ứng dụng quan trọng trong nhiều lĩnh vực khoa học. Kết quả của luận văn gồm có: 1. Trình bày tóm lƣợc các kết quả quan trọng về ứng dụng hàm RBF vào đồ họa máy tính mà xuất phát điểm là giải quyết bài toán nội suy dữ liệu rời rạc. Từ việc nghiên cứu tính khả nghịch của ma trận nội suy dẫn đến các nghiên cứu về hàm RBF. Các phƣơng pháp xây dựng hàm RBF đảm bảo tính đặt đúng của bài toán nội suy mà nền tảng là các kiến thức về hàm xác định dƣơng, hàm xác định dƣơng chặt, hàm đơn điệu hoàn toàn (GA, IMQ …). Thông qua các hàm xác định dƣơng có điều kiện, xây dựng mô hình nội suy với độ chính xác đa thức và các hàm RBF sử dụng tƣơng ứng (TPS, MQ…). 2. Trong chƣơng 2, luận văn đã trình bày ứng dụng hàm RBF vào việc khôi phục và biểu diễn các đối tƣợng 3D. Các vấn đề: Bề mặt ẩn; Khớp một hàm ẩn vào bề mặt; Nội suy hàm cơ sở bán kính; Các phƣơng pháp nhanh; Rút gọn tâm… đã đƣợc đƣa ra để giải quyết bài toán ứng dụng hàm RBF vào việc khôi phục và biểu diễn các đối tƣợng 3D. 3. Trong chƣơng 3, luận văn đã giới thiệu sơ lƣợc về phần mềm FastRBF và đƣa ra các kết quả trên một số thí dụ cụ thể. Mặc dù đã hết sức cố gắng xong luận văn còn nhiều hạn chế và không thể tránh khỏi những sai sót. Em rất mong nhận đƣợc sự phê bình, đóng góp ý kiến của các thầy cô và bạn đọc. Cuối cùng, một lần nữa em xin chân thành cảm ơn sự giúp đỡ, chỉ bảo nhiệt tình của thầy giáo PGS.TS. Đặng Quang Á. 55 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên TÀI LIỆU THAM KHẢO [TIẾNG VIỆT] [1] Phạm Kỳ Anh (2000), Giải tích số, NXB Đại học Quốc Gia Hà Nội. [TIẾNG ANH] [1]M. D. Buhmann, Radial Basis Functions: Theory and Implementations, Cambridge University Press, Cambridge, 2003. [2] FastRBF Toolbox, MATLAB Interface, Version 1.4, 4th August 2004, FarField Technology Ltd. [3] R. K. Beatson, J. B. Cherrie, and C. T. Mouat. Fast fitting of radial basis functions: Methods based on preconditioned GMRES iteration. Advances in Computational Mathematics, 11:253–270, 1999. [4] R. K. Beatson, J. B. Cherrie, and D. L. Ragozin. Fast evaluation of radial basis functions: Methods for four-dimensional polyharmonic splines. SIAM J. Math.Anal., 32(6):1272–1310, 2001. [5] R. K. Beatson and L. Greengard. A short course on fast multipole methods. In M. Ainsworth, J. Levesley, W.A. Light, and M. Marletta, editors, Wavelets Multilevel Methods and Elliptic PDEs, pages 1–37. Oxford University Press 1997. [6] R. K. Beatson and W. A. Light. Fast evaluation of radial basis functions: Method for two-dimensional polyharmonic splines. IMA Journal of Numerical Analysis, 17:343–372, 1997. [7] R. K. Beatson, W. A. Light, and S. Billings. Fast solution of the radial basis function interpolation equations: Domain decomposition methods. SIAM J. Sci Comput., 22(5):1717–1740, 2000. [8] R. K. Beatson, A. M. Tan, and M. J. D. Powell. Fast evaluation of radial basis functions: Methods for 3-dimensional polyharmonic splines. In preparation. 56 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên [9] F. Bernardini, C. L. Bajaj, J. Chen, and D. R. Schikore. Automatic reconstruction of 3D CAD models from digital scans. Int. J. on Comp. Geom. and Appl., 9(4–5):327, Aug & Oct 1999. [10] J. Bloomenthal, editor. Introduction to Implicit Surfaces. Morgan Kaufmann, San Francisco, California, 1997. [11] J. C. Carr, W. R. Fright, and R. K. Beatson. Surface interpolation with radial basis functions for medical imaging. IEEE Trans. Medical Imaging, 16(1):96–107, February 1997. [12] E. W. Cheney and W. A. Light. A Course in Approximation Theory. Brooks Cole, Pacific Grove, 1999. [13] J. Duchon. Splines minimizing rotation-invariant semi-norms in Sobolev spaces. In W. Schempp and K. Zeller, editors, Constructive Theory of Functions of Several Variables, number 571 in Lecture Notes in Mathematics, pages 85–100, Berlin, 1977. Springer-Verlag. [14] N. Dyn, D. Levin, and S. Rippa. Numerical procedures for surface fitting ofscattered data by radial functions. SIAM J. Sci. Stat. Comput., 7(2):639– 659, 1986. [15] J. Flusser. An adaptive method for image registration. Pattern Recognition, 25(1):45–54, 1992. [16] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. Surface reconstuction from unorganized points. Computer Graphics (SIGGRAPH’92 proceedings), 26(2):71–78, July 1992. [17] W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3D surface construction algorithm. Computer Graphics, 21(4):163–169, July 1987. [18] C. A. Micchelli. Interpolation of scattered data: Distance matrices and conditionally positive definite functions. Constr. Approx., 2:11–22, 1986. 57 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên [19] V. V. Savchenko, A. A. Pasko, O. G. Okunev, and T. L. Kunii. Function representation of solids reconstructed from scattered surface points and contours. Computer Graphics Forum, 14(4):181–188, 1995. [20] G.M. Treece, R.W. Prager, and A. H. Gee. Regularised marching etrahedra: improved iso-surface extraction. Computers and Graphics, 23(4):583–598, 1999. [21] G. Turk and J. F. O‟Brien. Shape transformation using variational implicit surfaces. In SIGGRAPH’99, pages 335–342, Aug 1999. [22] G. Turk and J. F. O‟Brien. Variational implicit surfaces. Technical Report GITGVU-99-15, Georgia Institute of Technology, May 1999. [23] G. Wahba. Spline Models for Observational Data. Number 59 in CBM- SNSF Regional Conference Series in Applied Math. SIAM, 1990. [24] G. Yngve and G. Turk. Creating smooth implicit surfaces from polygonal meshes. Technical Report GIT-GVU-99-42, Georgia Institute of Technology, 1999. [25] WOLFGANG NIEM, JOCHEN WINGBERMUHLE. 1997. Automatic Reconstruction of 3D Objects Using a Mobile Monoscopic Camera. In Proceedings of the International Conference on Recent Advances in 3D Imaging and Modelling",Ottawa, Canada. [26] ANDERS HEYDEN. 1995. Geometry and Algebra of Multiple Projective Transformations. Dept of Mathematics, Lund University, Sweden. [27] L. Greengard and V. Rokhlin. A fast algorithm for particle simulations. J.Comput. Phys, 73:325–348, 1987.

Các file đính kèm theo tài liệu này:

  • pdf9LV09_CNTT_KHMTTranDucThu.pdf