Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
748,8 KB
Nội dung
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Vũ Phú Cƣờng KỸ THUẬT PHOTON MAPPING TRONG SINH ẢNH VÀ ỨNG DỤNG LUẬN VĂN THẠC SỸ NGÀNH KHOA HỌC MÁY TÍNH Thái Nguyên - 2010 1 ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Vũ Phú Cƣờng KỸ THUẬT PHOTON MAPPING TRONG SINH ẢNH VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: 604801 LUẬN VĂN THẠC SỸ NGÀNH KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC TS. Nguyễn Thị Hồng Minh Thái Nguyên - 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan toàn bộ nội dung bản luận văn này là do tôi tự sƣu tầm, tra cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề tài. Nội dung luận văn này chƣa từng đƣợc công bố hay xuất bản dƣới bất kỳ hình thức nào và cũng không đƣợc sao chép từ bất kỳ một công trình nghiên cứu nào. Phần mã nguồn của chƣơng trình sử dụng một số thƣ viện chuẩn và các thuật toán và bản demo đƣợc các tác giả xuất bản công khai và miễn phí trên mạng Internet. Nếu sai tôi xin tôi xin hoàn toàn chịu trách nhiệm. Thái Nguyên, ngày 15 tháng 10 năm 2010 Ngƣời cam đoan Vũ Phú Cƣờng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2 LỜI CẢM ƠN Trong quá trình luận văn tốt nghiệp em đã gặp rất nhiều vấn đề phức tạp, khó xử lý do đề tài mà em nghiên cứu là khá mới. Nhƣng đƣợc sự giúp đỡ tận tình của các thầy, cô và các bạn luận văn của em đã hoàn thành đúng thời hạn và đạt đƣợc kết quả tốt. Lời đầu tiên em xin đƣợc trân thành cảm ơn sự giúp đỡ quí báu, sự hƣớng dẫn nhiệt tình và sự chỉ bảo tận tụy của cô TS. Nguyễn Thị Hồng Minh – Trƣờng ĐH QG Hà Nội. Các thầy cô giáo công tác tại Khoa công nghệ thông tin – ĐHTN, cùng tập thể các bạn học viên lớp cao học Khóa 7 đã luôn giúp đỡ và nhiệt tình chia sẻ với em những kinh nghiệm học tập, nghiên cứu trong suốt khoá học. . Thái Nguyên, ngày 15 tháng 10 năm 2010 Học viên Vũ Phú Cƣờng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3 MỤC LỤC LỜI CAM ĐOAN 1 LỜI CẢM ƠN 2 DANH MỤC CÁC HÌNH 5 PHẦN MỞ ĐẦU 6 Chƣơng 1 8 KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ SINH ẢNH 8 1.1 Khái quát về thực tại ảo 8 1.1.1 Thực tại ảo là gì? 8 1.1.2 Lịch sử ra đời và phát triển của thực tại ảo 9 1.1.3 Các thành phần chính trong thực tại ảo: 10 1.1.3. Ứng dụng của thực tại ảo 12 1.2. Sinh ảnh trong thực tại ảo 17 1.2.1. Sinh ảnh trong thực tại ảo 17 1.2.2. Photon mapping trong sinh ảnh 19 Chƣơng 2 21 MỘT SỐ VẤN ĐỀ TRONG SINH ẢNH BỞI PHOTON MAPPING 21 2.1. Thuật toán Photon mapping 21 2.1.1 Photon Tracing 23 2.1.2. Tối ƣu hóa bản đồ photon 26 2.3.3 Cây KD cân bằng (The balanced KD Tree) 27 2.2 Cấu trúc dữ liệu 30 2.2.1 Photon bóng 30 2.2.2 Toàn cảnh và tụ quang các photon 31 2.2.3 Cấu trúc dữ liệu không gian 31 2.3 Tính toán bức xạ từ các bản đồ Photon 32 2.3.1 Ƣớc tính bức xạ tại một bề mặt 32 2.3.2 Lọc (Filtering) 37 2.4 Sinh ảnh (Rendering) 39 2.4.1 Cơ sở khoa học 39 2.4.2 Phƣơng trình sinh ảnh (Equation Rendering) 39 2.4.3 Chiếu sáng trực tiếp 42 2.4.4 Phản chiếu và độ bóng phản xạ 44 2.4.5. Tính tụ quang (Caustics) 45 2.4.6 Phản xạ đa khuếch tán (Multiple diffuse reflections) 46 2.5.5 Lấy mẫu và thanh lọc 47 2.4.8 Tối ƣu hóa 48 Chƣơng 3 49 CHƢƠNG TRÌNH THỬ NGHIỆM 49 3.1 Bài toán 49 3.2 Công cụ thiết kế và chức năng một số hàm trong chƣơng trình 49 3.2.1 Giới thiệu về ngôn ngữ lập trình mã nguồn mở Processing 49 3.2.2 Chức năng một số hàm trong chƣơng trình 50 3.3 Thực nghiệm chƣơng trình và đánh giá kết quả 51 3.3.1 Thực nghiệm chƣơng trình 51 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4 3.3.2 Kết quả thực hiện 52 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 58 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 DANH MỤC CÁC HÌNH Hình 1.1 Mô phỏng các cơ cánh tay 7 Hình 1.2 Mô phỏng cấu trúc bộ não 8 Hình 1.3 Mô phỏng kiến trúc công trình 10 Hình 2.1 Bản đồ chiếu sáng 17 Hình 2.2: Xây dựng bản đồ photon tụ quang (a) và bản đồ photon toàn cảnh (b). 21 Hình 2.3: Phân chia không gian sử dụng cây KD 23 Hình 2.4: Đơn giản hóa 2D cây KD cho phân chia không gian trong hình 2.5 23 Hình 2.5: Tính bức xạ phản xạ (Jensen, 2001) 29 Hình 2.6: Sử dụng hình cầu (trái) và hình đĩa (bên phải) xác định vị trí các photon 30 Hình 2.7: Truy tìm một tia qua một điểm ảnh 35 Hình 2.8: Đánh giá chính xác sự chiếu sáng trực tiếp 38 Hình 2.9: Sinh ảnh phản chiếu và bóng phản xạ 39 Hình 2.10: Sinh ảnh tụ quang 41 Hình 2.11: Tính toán gián tiếp khuếch tán ánh sáng với tầm quan trọng lấy mẫu 42 Hình 3.1: Số lƣợng photon phát ra là 1000 48 Hình 3.2: Photon phát ra là 1500, nguồn sáng bên trên (a), bên phải (b) 48 Hình 3.3: Sử dụng ánh sáng trực tiếp (a), sinh ảnh bằng Photon mapping (b) 49 Hình 3.4: Sinh ảnh với 4 nguồn sáng 49 Hình 3.5: Sinh ảnh với môi trƣờng tham gia 50 Hình 3.6: Vòng kim loại tụ quang 50 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6 PHẦN MỞ ĐẦU Sự ra đời của đồ họa máy tính thực sự là cuộc cách mạng trong giao tiếp giữa ngƣời dùng và máy tính. Với lƣợng thông tin trực quan, đa dạng và phong phú đƣợc chuyển tải qua hình ảnh, các ứng dụng đồ họa máy tính đã lôi cuốn nhiều ngƣời nhờ tính thân thiện, dễ dùng, kích thích khả năng sáng tạo và tăng đáng kể hiệu suất làm việc. Đồ 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, kinh doanh, quản lí, 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. Ngày nay, hầu nhƣ không có chƣơng trình ứng dụng nào mà không sử dụng kĩ thuật đồ họa để làm tăng tính hấp dẫn của mình. Trong đồ họa máy tính, Photon mapping là thuật toán chiếu sáng trên toàn cảnh phát triển bởi Henrik Wann Jensen. Nó đƣợc sử dụng vào thực tế mô phỏng sự tƣơng tác của ánh sáng với các đối tƣợng khác nhau. Đặc biệt, nó có khả năng mô phỏng khúc xạ ánh sáng qua một chất trong suốt nhƣ thủy tinh hoặc nƣớc, phản xạ khuếch tán giữa các đối tƣợng đƣợc chiếu sáng, sự tán xạ ngầm của ánh sáng trong vật liệu mờ, và một số các tác dụng gây ra bởi hạt vật chất nhƣ khói hoặc hơi nƣớc. Nó cũng có thể đƣợc mở rộng để mô phỏng chính xác hơn của ánh sáng nhƣ sinh ảnh quang phổ. Trong tự nhiên, một tia sáng đƣợc tạo ra bởi nguồn sáng chiếu đến một bề mặt làm ngắt quãng quá trình của nó. Có thể tƣởng tƣợng tia sáng này nhƣ một dòng photon. Trong chân không hoàn hảo, tia sáng này sẽ đi thẳng. Trong hiện thực sẽ là hỗn hợp của các hiệu ứng khúc xạ, phản xạ, tán xạ. Nghiên cứu sử dụng kỹ thuật Photon mapping, trợ giúp cho việc nâng cao chất lƣợng ảnh hoặc sinh ra các hình ảnh trung gian hoặc tƣơng lai trong một hệ Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 thống biến đổi. Phục vụ cho các hoạt cảnh hoặc các ứng dụng chuyển động tƣơng tác trong xử lý ảnh và thực tại ảo, ƣớc lƣợng đƣợc các điểm bề mặt hiệu dụng, lƣu trữ đƣợc các thông tin có thể sử dụng lại của ánh sáng, giảm tải số lƣợng tính toán. Và tất cả các tia sáng tạo ra sau các quá trình ấy sẽ đƣợc mô tả lại để tạo nên các hình ảnh sống động nhƣ thật. Bố cục của luận văn bao gồm: Phần mở đầu, ba chƣơng chính, phần kết luận, tài liệu tham khảo. Cụ thể nhƣ sau Chƣơng 1. Giới thiệu khái quát về thực tại ảo và sinh ảnh, các ứng dụng của thực tại ảo. Phƣơng pháp sinh ảnh trong thực tại ảo và tổng quan về phƣơng pháp photon mapping trong sinh ảnh. Chƣơng 2. Trình bày thuật toán photon trong sinh ảnh, các cấu trúc dữ liệu cần thiết cho các bản đồ photon, trong chƣơng này có trình bày cụ thể về tính toán bức xạ từ các bản đồ photon, quá trình xây dựng phƣơng trình sinh ảnh và việc tối ƣu hóa bản đồ photon. Chƣơng 3. Mô tả bài toán sinh ảnh, giới thiệu công cụ hỗ trợ của chƣơng trình sinh ảnh, ý chức năng của các hàm trong chƣơng trình. Thực nghiệm chƣơng trình đƣa ra kết quả và đánh giá kết quả thu đƣợc. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8 Chƣơng 1 KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ SINH ẢNH Công nghệ thông tin đã và đang xuất hiện trong mọi lĩnh vực của xã hội. Tuy nhiên phần lớn các mô hình đƣợc xây dựng trên máy tính là hai chiều và con ngƣời không thể tƣơng tác với các đối tƣợng trong mô hình đó nhƣ là ở trong thế giới thực, những chƣơng trình nghiên cứu khắc phục nhƣợc điểm này đã dẫn đến việc xuất hiện một lĩnh vực mới của Công nghệ thông tin đó là thực tại ảo. 1.1 Khái quát về thực tại ảo 1.1.1 Thực tại ảo là gì? Thực tại ảo là mô phỏng của môi trƣờng không gian ba chiều trên máy tính, trong môi trƣờng mô phỏng đó con ngƣời có thể quan sát và thực hiện những thao tác mà mình mong muốn. Với tất cả những gì có trong môi trƣờng mô phỏng thông qua thiết bị đầu vào, kết quả trả lại là những thay đổi của môi trƣờng đó mà con ngƣời có thể quan sát hay cảm nhận đƣợc thông qua các thiết bị đầu ra. Theo nhƣ định nghĩa trên có thể nhận ra các thành phần của thực tại ảo là: môi trƣờng không gian ba chiều, mô hình tạo trên máy tính, sự tƣơng tác, các thiết bị vào, ra. Thực tại ảo là một thế giới thực song lại ảo, vì một phần của thế giới thực sẽ đƣợc tái tạo trên máy tính, thông qua các thiết bị đầu vào con ngƣời có thể chìm đắm trong môi trƣờng không gian ba chiều và cho phép con ngƣời có khả năng quan sát, tƣơng tác với môi trƣờng ảo đó. Những tƣơng tác đó đều đƣợc chƣơng trình xử lý và thông qua thiết bị đầu ra sẽ đem [...]... perception), toán học và phát triển phần mềm Trong trƣờng hợp đồ họa 3D, việc sinh ảnh là một quá trình chậm chạp, chẳng hạn nhƣ trong tiến trình sinh ảnh trƣớc (pre-rendering), hoặc trong việc sinh ảnh trong thời gian thực (real time rendering) Sinh ảnh trƣớc là một tiến trình đòi hỏi một khối lƣợng tính toán lớn, đặc biệt đƣợc dùng trong việc tạo phim điện ảnh, trong khi đó, sinh ảnh trong thời gian thực... thống thƣơng mại đã sử dụng Photon mapping để sinh ảnh tụ quang Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 21 Chƣơng 2 MỘT SỐ VẤN ĐỀ TRONG SINH ẢNH BỞI PHOTON MAPPING 2.1 Thuật toán Photon mapping Thuật toán lập bản đồ photon đƣợc phát minh bởi Henrik Wann Jensen Lập bản đồ photon ánh sáng từ sự tách rời hình học của cảnh và lƣu trữ dữ liệu này trong một cấu trúc riêng... cách phát ra các photon từ các nguồn ánh sáng vào cảnh và lƣu trữ chúng trong một bản đồ photon khi nó va đập phản chiếu các đối tƣợng Thứ hai, sinh ảnh, sử dụng kỹ thuật thống kê trên bản đồ photon để trích xuất thông tin về thông lƣợng đến và phản ánh bức xạ tại bất kỳ điểm nào trong cảnh Các bản đồ photon đƣợc tách riêng từ các đại diện hình học của các cảnh Đây là tính năng chính của thuật toán, làm... biệt Sinh ảnh đƣợc sử dụng trong: trò chơi video và điện tử (computer and video games), trong các chƣơng trình mô phỏng (simulators), trong điện ảnh (movies) hay trong hiệu ứng đặc biệt (special effects) trên TV, và trong hình tƣợng hóa thiết kế (design visualisation), mỗi cái áp dụng một cân bằng giữa các đặc trƣng và kỹ thuật khác nhau Hiện nay còn có nhiều sản phẩm phần mềm đa dạng dùng cho việc sinh. .. đầu bản đồ photon đƣợc sắp xếp nhƣ là một mảng phẳng đơn giản của các photon Vì lý do hiệu quả mảng này đƣợc tổ chức lại thành một cấu trúc kd-tree cân bằng trƣớc khi sinh ảnh 2.1.2 Tối ƣu hóa bản đồ photon Các photon chỉ đƣợc phát sinh trong suốt phần photon tracing trong phần sinh ảnh của bản đồ photon là một cấu trúc dữ liệu tĩnh đƣợc sử dụng để tính toán ƣớc lƣợng của dòng photon đến và bức xạ phản... đƣợc sử dụng trong các trò chơi điện tử 3D (3D video games), và phụ thuộc vào các bộ điều hợp đồ họa (graphics cards) với bộ tăng tốc phần cứng 3D (3D hardware accelerators) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 19 1.2.2 Photon mapping trong sinh ảnh Thuật toán photon mapping đƣợc phát triển 1993-1994 và các tài liệu đầu tiên về phƣơng pháp này đƣợc xuất bản vào... dựng bản đồ photon và tính toán dự toán bức xạ (điểm 1 và 3 ở trên) Sự phức tạp của thuật toán cân bằng là O(NlogN) trong đó N là số photon trong các bản đồ photon Trong thực tế, bƣớc này chỉ mất vài giây ngay cả đối với một vài triệu photon 2.2 Cấu trúc dữ liệu Phần này giới thiệu các cấu trúc dữ liệu cơ bản cho các bản đồ photon mà không đi vào chi tiết thực hiện Các thuộc tính của các loại photon cá... đến khi nó chứa N photon 2.3 Tính toán bức xạ từ các bản đồ Photon Một thành phần cơ bản của phƣơng pháp photon photon map là khả năng tính toán bức xạ ƣớc tính tại bất kỳ điểm trên bề mặt không phản chiếu trong bất kỳ hƣớng nào 2.3.1 Ƣớc tính bức xạ tại một bề mặt Phần thứ hai của thuật toán photon mapping là giai đoạn sinh ảnh Đó là trong giai đoạn này thuật toán photon mapping sử dụng Monte Carlo... toàn cảnh trong những cảnh phức tạp có chứa hàng triệu điểm ảnh, minh họa hình học, và các biện pháp phức tạp xác định đối tƣợng So với độ phát xạ phần tử hữu hạn, Photon mapping có lợi thế là không cần phải chia lƣới Các thuật toán độ phát xạ nhanh hơn trong các cảnh khuếch tán đơn giản nhƣng lại là sự phức tạp của việc tăng cảnh, bản đồ photon có xu hƣớng quy mô tốt hơn Ngoài ra phƣơng pháp Photon mapping. .. phản xạ ở nhiều điểm trong cảnh Để làm điều này thì cần phải xác định vị trí các photon gần nhất trong bản đồ photon Hình 2.2: Xây dựng bản đồ photon tụ quang (a) và bản đồ photon toàn cảnh (b) Đây là một quá trình đƣợc thực hiện rất thƣờng xuyên, và do đó nó là một ý tƣởng tốt để tối ƣu hóa các đại diện của các bản đồ photon trƣớc khi thực hiện sinh ảnh vì vậy mà việc tìm kiếm các photon gần nhất là . 1.2. Sinh ảnh trong thực tại ảo 17 1.2.1. Sinh ảnh trong thực tại ảo 17 1.2.2. Photon mapping trong sinh ảnh 19 Chƣơng 2 21 MỘT SỐ VẤN ĐỀ TRONG SINH ẢNH BỞI PHOTON MAPPING 21 2.1. Thuật. ảnh, các ứng dụng của thực tại ảo. Phƣơng pháp sinh ảnh trong thực tại ảo và tổng quan về phƣơng pháp photon mapping trong sinh ảnh. Chƣơng 2. Trình bày thuật toán photon trong sinh ảnh, các. 1.2. Sinh ảnh trong thực tại ảo 1.2.1. Sinh ảnh trong thực tại ảo Trong đồ họa máy tính, rendering gọi tắt là sinh ảnh, là một quá trình sinh tạo một hình ảnh từ một mô hình bằng cách sử dụng