KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D VÀ BÀI TOÁN NẮN CHỈNH
Khái quát về đối tượng 3D
Thế giới ảo (Virtual World) là một không gian mô phỏng lại thế giới thực hoặc được tạo ra từ trí tưởng tượng của con người trên môi trường máy tính Nó cho phép người dùng di chuyển, tham quan và tương tác với các đối tượng trong không gian mô phỏng, mang lại cảm giác như đang ở trong thế giới thực Để xây dựng thế giới ảo, cần tạo ra các không gian và đối tượng 3D, sau đó kết hợp với các thiết bị ngoại vi để điều khiển và tương tác Đối tượng 3D có thể là những vật thể có thật trong cuộc sống như con người, nhà cửa, cây cối, xe cộ, hoặc những hình ảnh tưởng tượng được đưa vào thế giới ảo.
1.1.1 KHÁI NIỆM VỀ ĐỐI TƯỢNG 3D
Có rất nhiều khái niệm khác nhau về đối tượng 3D, song một cách chung nhất chúng ta có thể hiểu như sau:
Đối tượng 3D là đại diện trừu tượng của một vật thể trong thế giới thực hoặc một sản phẩm tưởng tượng, được xây dựng và biểu diễn trong môi trường máy tính Nó bao gồm hai thành phần chính: mô hình 3D thể hiện hình học và màu sắc của đối tượng, cùng với các thuộc tính, ràng buộc và mối quan hệ giữa các thành phần của nó.
Một nhân vật 3D trên máy tính bao gồm hai phần chính: mô hình 3D, đại diện cho hình học và màu sắc để thể hiện đường nét và hình dáng (phần tĩnh), và các thuộc tính ràng buộc về cơ quan, bộ phận của nhân vật (phần động) Phần động rất quan trọng cho việc thực hiện các thao tác biến đổi, cho phép tạo ra sự di chuyển và hành động của nhân vật Hình 1.1 minh họa rõ hơn về điều này.
Mô hình 3D của nhân vật bao gồm hình học (đường màu xanh thẫm) để tạo hình dáng, ràng buộc cấu trúc (khung hình xanh lá cây) và ràng buộc cử chỉ (màu vàng) Tất cả các yếu tố này kết hợp lại để hình thành nên đối tượng nhân vật hoạt hình 3D hoàn chỉnh.
Khi làm việc với các đối tượng 3D, chúng ta thường nắn chỉnh đối tượng thay vì nắn chỉnh mô hình, vì nắn chỉnh mô hình có thể không có ý nghĩa khi đối tượng là thực và có hình dạng xác định Đối tượng 3D, như con người, không thể bị nắn chỉnh tùy ý; các điều chỉnh cần phải tuân thủ các ràng buộc giữa các cơ quan và bộ phận trên cơ thể Ngược lại, mô hình 3D không có những ràng buộc này, do đó, nếu chỉ nắn chỉnh mô hình hình học, kết quả có thể không còn là một mô hình người thực sự.
1.1.2 CÁC THÀNH PHẦN CƠ BẢN CỦA ĐỐI TƯỢNG 3D
Đối tượng 3D bao gồm hai thành phần chính: hình học (mô hình 3D) và các thuộc tính ràng buộc Trong nghiên cứu này, tôi sẽ tập trung vào phần hình học của đối tượng, cụ thể là cấu trúc hình học tạo nên hình dáng (Geometry) và chất liệu tạo nên đối tượng (Material) Hình 1.2 sẽ giúp hình dung rõ hơn về mô hình 3D này.
Cấu trúc của mô hình 3D:
Mô hình 3D bao gồm các thành phần chính: Vertexts, là tập hợp tọa độ điểm với ba giá trị X, Y, Z mô tả vị trí trong không gian; Indexs, mô tả cách các điểm kết nối để tạo thành đa giác; Geometrys, tập hợp các đa giác (tam giác hoặc tứ giác) tạo nên bề mặt hình học của đối tượng, được hình thành từ vertexts và indexs; Textcoords, mô tả ánh xạ màu sắc lên bề mặt đối tượng; Texture, tập hợp màu sắc thường là các hình ảnh 2D dùng để ánh xạ lên bề mặt; và Material, tập hợp các thuộc tính mô tả tính chất bề mặt như độ nhạy sáng, màu sắc, và tính trong suốt, cung cấp thông tin về chất liệu của đối tượng.
Mỗi cấu trúc đồ họa có cách tổ chức, sắp xếp và lưu trữ các thành phần khác nhau; ví dụ, trong VRML, các thành phần được tổ chức theo dạng phân cấp hình cây.
Các dạng mô hình 3D Ở đây tôi chỉ xin đề cập đến hai dạng mô hình 3D chính là mô hình đa giác (POLYGON) rời rạc và mô hình liên tục
Mô hình đa giác (POLYGON)
Mô hình đa giác là các hình thức mô hình hóa mà bề mặt của đối tượng được cấu thành từ nhiều bề mặt đa giác phẳng Chúng ta có thể tạo ra đối tượng từ một bề mặt đa giác đơn lẻ hoặc từ một mạng lưới các bề mặt này Bề mặt đa giác rất linh hoạt trong việc mô hình hóa bất kỳ hình dáng nào, đặc biệt là đối với các hình dạng đơn giản, cũng như các đối tượng thuộc lớp động vật và con người, nơi yêu cầu có cái nhìn tổng quan với độ mịn cao.
Các đối tượng nguyên thuỷ của polygon bao gồm (hình 1.3):
Hình 1.3 Các đối tượng nguyên thuỷ của polygon
Polygon sử dụng rất nhiều kỹ thuật hỗ trợ mô hình, thường dùng là phân chia bề mặt(split ), mở rộng bề mặt (extrude), làm trơn cạnh…
Mô hình liên tục là các dạng mô hình 3 chiều được tạo ra bằng cách sử dụng các phương trình toán học như B-spline, Nurbs, RBF và PDE để thực hiện quá trình mô hình hóa Ví dụ, hình 1.4 minh họa việc áp dụng hàm PDE trong mô hình hóa.
Hình 1.4 Mô hình liên tục
Mỗi loại mô hình 3D có những ưu và nhược điểm riêng, và việc lựa chọn phương pháp biểu diễn phụ thuộc vào ứng dụng cụ thể Mô hình đa giác rời rạc dễ thiết kế và đơn giản, nhưng lại có tính toàn cục kém và khó khăn trong việc kết nối tự động giữa các mô hình khác nhau Ngược lại, mô hình liên tục sử dụng các phương trình toán học, mang lại tính toàn cục cao và khả năng kết nối tốt, nhưng lại phức tạp hơn trong quá trình thiết kế.
1.1.3 MỘT SỐ PHƯƠNG PHÁP XÂY DỰNG ĐỐI TƯỢNG 3D Để xây dựng các đối tượng 3D cho thế giới ảo, trước tiên chúng ta cần xây dựng phần mô hình cho đối tượng Dưới đây tôi trình bày một số phương pháp xây dựng phần mô hình (hình học) cho đối tượng 3D [1]:
Xây dựng từ dữ liệu ảnh ba chiều (DICOM)
Phương pháp này bắt nguồn từ việc sử dụng các ảnh chụp cắt lớp CT để xây dựng lưới 3D Đầu tiên, chúng ta xác định biên của từng ảnh chụp, sau đó thu thập các biên này thành một tập điểm Cuối cùng, từ tập điểm thu được, chúng ta áp dụng phương pháp đa giác hóa để tạo ra mô hình 3D Quy trình thực hiện phương pháp này được chia thành bốn bước cụ thể.
Bước 1: Đọc ảnh DICOM và lấy dữ liệu
Tại bước này chúng ta thực hiện đọc ảnh DICOM được cung cấp bới các thiết bị chụp cắt lớp
Chúng ta đọc và lấy dữ liệu ảnh từ ảnh DICOM đầu vào, sau đó coi phần dữ liệu ảnh như một ảnh thông thường
Bước 2: Lấy biên trên ảnh hiện thời
Sau khi trích xuất dữ liệu từ ảnh DICOM, chúng tôi áp dụng các thuật toán xử lý ảnh để xác định biên của mô hình 3D trên hình ảnh, sử dụng phương pháp tự động hoặc thủ công Kỹ thuật này chủ yếu được thực hiện trên dữ liệu ảnh đen trắng.
Hình 1.6 Dữ liệu ảnh chưa được xác định biên
Hình 1.7 Dữ liệu ảnh sau khi đã xách định biên
Bước 3: Tạo lưới trên biên hiện thời
Ảnh DICOM là tập hợp các hình ảnh được lưu trữ theo chiều chụp của thiết bị, thường ở dạng ngăn xếp Để tạo ra lưới 3D cho mô hình, cần sắp xếp và liên kết các biên này theo đúng thứ tự và mức độ chi tiết mong muốn Kết quả cuối cùng là một mô hình 3D chính xác và chi tiết.
Hình 1.8 Dữ liệu mô hình thô Bước 4: Che phủ và làm mịn
Bài toán nắn chỉnh đối tượng 3D
Nắn chỉnh đối tượng 3D là một bài toán quan trọng trong đồ họa máy tính, đặc biệt trong lĩnh vực đồ họa ba chiều và ứng dụng mô phỏng trong Thực tại ảo Bài toán này đóng vai trò then chốt trong việc tạo ra trải nghiệm chân thực và sống động cho người dùng.
Bài toán nắn chỉnh biến dạng đối tượng đã thu hút sự quan tâm của các nhà khoa học trên toàn thế giới từ lâu, bắt đầu từ những nghiên cứu của các nhà cơ khí về việc thực hiện thử nghiệm cho các thiết kế như máy móc và xe hơi Họ đã tiến hành các thí nghiệm va chạm giữa các sản phẩm thiết kế để tính toán sự biến dạng, nhưng phương pháp này phức tạp và tốn kém do phải xây dựng các mô hình thực tế cho mỗi lần thử nghiệm Để khắc phục vấn đề này, họ đã chuyển sang mô phỏng va chạm trên máy tính bằng cách tạo ra các mô hình 3D cho máy móc và xe cộ, sau đó thêm các tham số để tính toán sự biến dạng Cách tiếp cận này không chỉ tiết kiệm thời gian và chi phí mà còn cho phép thực hiện nhiều thí nghiệm và tính toán hiệu quả hơn, vì các mô hình 3D có thể được sử dụng lại và dễ dàng điều chỉnh tham số cho các thí nghiệm khác nhau.
Các nhà điện ảnh đối mặt với những thách thức phức tạp không kém gì các kỹ sư cơ khí, thậm chí còn hơn Mỗi cảnh phim yêu cầu họ phá hủy nhiều công trình và đồ đạc đã được xây dựng công phu Kỹ xảo biến hình đóng vai trò quan trọng, thường tốn nhiều ngày để hoàn thành một cảnh Sự ra đời của công nghệ đồ họa đã mang đến một bước ngoặt cho điện ảnh, cho phép tạo ra môi trường và cảnh quay 3D trên máy tính, thực hiện các vụ nổ và kỹ xảo phức tạp, sau đó ghép chúng vào phim một cách dễ dàng và hiệu quả.
Nhân vật 3D có thể dễ dàng biến đổi thành nhiều hình dạng khác nhau trên máy tính, tương tự như quy trình của các nhà cơ khí khi mô hình hóa 3D các cảnh quay và nhân vật thực tế Những nhân vật này đóng vai trò như diễn viên đóng thế trong các cảnh quay phức tạp, chẳng hạn như biến đổi từ người thành quái thú hoặc mô phỏng ô tô bị biến dạng sau tai nạn Các ý tưởng từ các chuyên gia khác cũng liên quan đến việc nắn chỉnh biến dạng đối tượng Những thách thức thực tế đã thúc đẩy nghiên cứu trong lĩnh vực đồ họa máy tính, đặc biệt là trong việc nắn chỉnh biến dạng của các đối tượng 3D.
Việc nắn chỉnh biến dạng đối tượng 3D trên máy tính đối mặt với nhiều thách thức về độ phức tạp và thời gian tính toán Mô hình hóa 3D một cách tối ưu, đảm bảo sự nhẹ nhàng nhưng vẫn chi tiết và phù hợp với phương pháp nắn chỉnh, là một nhiệm vụ không dễ dàng Để giải quyết vấn đề này, nhiều phương pháp đã được đề xuất, và phần tiếp theo sẽ trình bày một số hướng tiếp cận chính nhằm giải quyết bài toán này.
1.2.2 MỘT SỐ HƯỚNG TIẾP CẬN
Nắn chỉnh biến dạng đối tượng bao gồm hai pha chính: mô hình hóa đối tượng thành 3D và nắn chỉnh biến dạng Pha mô hình hóa đóng vai trò quan trọng trong kết quả và thời gian tính toán cho pha nắn chỉnh; nếu mô hình hóa tốt, nắn chỉnh sẽ chính xác và tối ưu hơn Có nhiều phương pháp mô hình hóa 3D, mỗi phương pháp có ưu và nhược điểm riêng Dựng mô hình từ ảnh thường cho mô hình nhẹ và tối ưu về mặt hình học, nhưng độ chính xác hạn chế Ngược lại, mô hình bằng máy Scan 3D mang lại độ chính xác và chi tiết cao, nhưng nặng hơn Điều này ảnh hưởng lớn đến quá trình nắn chỉnh: mô hình nhẹ giúp nắn chỉnh nhanh hơn Dựa trên nghiên cứu về đối tượng 3D, có ba cách tiếp cận phổ biến cho bài toán này.
Tiếp cận dựa vào phân vùng đối tượng
Phương pháp tiếp cận này chia bề mặt của đối tượng 3D thành nhiều vùng riêng biệt, có thể có ràng buộc giữa các vùng, với mỗi vùng áp dụng một phép nắn chỉnh thống nhất Việc phân vùng chính xác và tối ưu là rất quan trọng để đảm bảo hiệu quả của quá trình nắn chỉnh Có hai phương pháp chính để phân vùng đối tượng: phân vùng cứng, trong đó các vùng được xác định cố định, và phân vùng động, cho phép tính toán vùng ảnh hưởng linh hoạt trong mỗi lần nắn chỉnh Một số nghiên cứu tiêu biểu trong lĩnh vực này đã được thực hiện.
Năm 2003, Tong-Yee Lee và Po-Hua Huang đã đề xuất một phương pháp biến đổi mô hình khuôn mặt 3D từ nguồn sang đích thông qua nắn chỉnh biến dạng Phương pháp này chia khuôn mặt thành các vùng cứng và áp dụng các phép nắn chỉnh lên từng vùng để tăng độ chính xác và giảm thời gian tính toán Hình 1.15 dưới đây minh họa rõ hơn về nghiên cứu này với các phần đầu vào và kết quả đầu ra.
Hình 1.15 Nghiên cứu của Tong-Yee Lee và Po-Hua Huang
Vào năm 2005, Yong Joo Kim và các cộng sự đã giới thiệu khái niệm "3D Warp Brush" Nghiên cứu của họ tập trung vào việc tính toán vùng ảnh hưởng của một biến đổi tại điểm con trỏ chuột lên các khu vực xung quanh, từ đó thực hiện biến đổi cho các vùng này dựa trên điểm ban đầu.
Hình 1.16 Nghiên cứu của Yong Joo Kil và cộng sự
Năm 2014, Henry Schọfer và cộng sự đã tiến hành một nghiên cứu về việc nắn chỉnh đối tượng 3D thông qua phân vùng động và tính toán trên GPU Kết quả cho thấy phương pháp này không chỉ hiệu quả mà còn có tính ứng dụng cao.
Hỡnh 1.17 Nghiờn cứu của Henry Schọfer và cộng sự
Phương pháp tiếp cận này có ưu điểm nổi bật trong việc xử lý các đối tượng có sự biến đổi cục bộ cao, chẳng hạn như biểu cảm khuôn mặt, đồng thời cho phép tính toán nhanh nhờ vào việc phân chia thành nhiều vùng nhỏ Tuy nhiên, một thách thức lớn là việc xử lý biên của các vùng và ghép nối chúng lại một cách mượt mà để đảm bảo tính trơn tru của bề mặt đối tượng Các bước thực hiện chính của phương pháp này bao gồm:
Bước 1: Phân vùng bề mặt hình học của đối tượng (Phân vùng được thực hiện một cách tự động hoặc thủ công, tùy thuộc vào đối tượng)
Bước 2 trong quá trình biến đổi là lựa chọn hàm biến đổi cho các vùng, điều này phụ thuộc vào yêu cầu cụ thể của biến đổi Đối với những biến đổi đơn giản, thường chọn các phép biến đổi affine, chẳng hạn như phương pháp dựa vào Hệ tọa độ Barycentric, sẽ được trình bày chi tiết trong mục 2.1 Trong khi đó, đối với các biến đổi phức tạp, người ta thường ưu tiên sử dụng các phép biến đổi bậc cao.
Bước 3: Tính toán dữ liệu trong từng vùng theo phương pháp biến đổi đã chọn Mỗi kỹ thuật biến đổi yêu cầu cách tính toán khác nhau, do đó cần lưu ý đến sự khác biệt trong quy trình cho từng phương pháp.
Tiếp cận dựa vào điểm điều khiển
Bề mặt của đối tượng 3D được xác định bởi một tập điểm điều khiển, và khi biến đổi tập điểm này, dữ liệu của đối tượng cũng thay đổi theo Quy trình này thường diễn ra qua hai giai đoạn: đầu tiên, xác định tập điểm điều khiển và mối quan hệ của chúng với dữ liệu toàn bộ đối tượng; sau đó là giai đoạn nắn chỉnh Trong giai đoạn nắn chỉnh, chúng ta tìm hàm biến đổi từ sự thay đổi của tập điểm điều khiển và áp dụng hàm này lên toàn bộ đối tượng để đạt được kết quả mong muốn Phương pháp này là một trong những cách tiếp cận phổ biến nhất trong việc nắn chỉnh biến dạng đối tượng 3D, dẫn đến nhiều nghiên cứu liên quan.
Năm 1986, Thomas W Sederberg và Scott R Parry đã nghiên cứu về biến đổi tự do hình học của đối tượng rắn 3D thông qua các khối bao đối tượng Trong báo cáo, nhóm nghiên cứu khẳng định rằng kỹ thuật họ đề xuất có thể áp dụng cho bất kỳ hệ thống mô hình rắn nào, bao gồm CSG và B-rep Kỹ thuật này có khả năng biến dạng các bề mặt nguyên thủy như mặt phẳng, mặt bậc hai, các bề mặt tham số và các bề mặt ngầm định nghĩa.