Một trong những điểm đặc biệt trong chu trình hiển thị ảnh phủ trên đối tượng đó là: tại bước xử lý điểm, kết quả tính toán điểm có thể được lưu vào trong bộ nhớ GPU để xử lý tiếp.[r]
(1)MỘT PHƯƠNG PHÁP HIỂN THỊ ĐẶC TRƯNG TRÊN ĐỐI TƯỢNG ẢO BA CHIỀU DỰA TRÊN CÔNG NGHỆ LẬP TRÌNH GPU
Lê Anh1*, Đặng Hồng Minh2, Phạm Văn Lai2
Tóm tắt: Trong báo này, qua khai thác ưu điểm công nghệ lập trình GPU và kỹ thuật phủ ảnh, chúng tơi đề xuất phương pháp hiệu quả, thể một số đặc trưng đối tượng ảo ba chiều Phương pháp sử dụng kỹ thuật phủ ảnh tính khả trình card đồ họa GPU Kết nghiên cứu được ứng dụng hiệu mô loại vũ khí, khí tài phục vụ huấn luyện trong quân đội
Từ khóa: Mơ phỏng; Texture; Ảnh phủ; GPU
1 ĐẶT VẤN ĐỀ
Trong thực tế, đối tượng nhận biết qua hình dạng số đặc trưng bên đối tượng Các đặc trưng phong phú, đa dạng thể qua màu sắc, hình ảnh, ký tự, ký hiệu, …, đặc trưng chứa đựng nội dung định thể đặc điểm đối tượng Tuy nhiên, đặc trưng đối tượng thay đổi liên tục theo thời gian, gây khó khăn mơ máy tính Trong mơi trường ảo ba chiều, tốn đặt phải mơ đầy đủ, xác đặc trưng đối tượng phải bảo đảm tính thời gian thực phần mềm mô
Một đối tượng nhận biết qua đặc trưng hình dạng, màu sắc, ký tự, ký hiệu, … đặc trưng chứa đựng nội dung định Ví dụ, đồng hồ có đặc trưng kim số thể thông số đo đồng hồ đó; hình radar có đặc trưng đường tròn đồng tâm ký hiệu, chúng biểu diễn đối tượng nằm vùng quét radar
Trong không gian ảo ba chiều, phương pháp thường sử dụng để mô đối tượng đặc trưng mơ hình hóa 3D đặc trưng đối tượng áp dụng phép biến hình [1], [3], [4] Ưu điểm phương pháp cài đặt đơn giản, cần tỉ mỉ bước dựng mơ hình ba chiều thành phần đặc trưng Tuy nhiên, đối tượng có nhiều thành phần đặc trưng việc xây dựng liệu mơ hình tốn nhiều thời gian hơn, đồng thời số lượng mặt lưới mô hình tăng lên, từ liệu mơ hình cần lưu trữ xử lý lớn Bên cạnh đó, phương pháp khó áp dụng số trường hợp Ví dụ, hình đa chế độ vơ tuyến thị tình chiến thuật máy bay Su30MK2 có đặc trưng nhiều hình ảnh, ký tự, ký hiệu đặc biệt…, đặc trưng thay đổi liên tục theo thời gian khó mơ phương pháp mơ hình hóa
(2)2 CƠ SỞ LÝ THUYẾT
Trong đồ họa máy tính, đối tượng dựng hình ba chiều phải trải qua hai giai đoạn Giai đoạn mơ hình hóa đối tượng, đối tượng khảo sát, chụp hình, thu thập thơng tin dựng liệu mơ hình liệu hoạt cảnh qua phần mềm 3DSMax, Blender, C4D…Giai đoạn hai phủ ảnh vật liệu lên đối tượng sử dụng kỹ thuật phủ ảnh (texture mapping) [1][2] Trong hai giai đoạn trên, khái niệm ảnh phủ vật liệu đóng vai trị quan trọng
2.1 Ảnh phủ
Khái niệm texture định nghĩa vùng nhớ nhớ hình ảnh (video memory) card đồ họa (Hình 1), sử dụng nhiều chu trình xử lý đồ họa Dữ liệu texture thuộc hai dạng: liệu load từ file ảnh, liệu chép từ đệm tính tốn (render target) card đồ họa Bộ đệm tính tốn đệm mà tính tốn điểm ảnh thực Kết tính tốn điểm ảnh nằm đệm tính tốn sau sử dụng texture Đặc điểm cho phép kết tính tốn đệm tính tốn sử dụng cho lần tính tốn
Khái niệm ảnh phủ sử dụng mơ hình hóa đối tượng gọi texture, trường hợp đặc biệt khái niệm texture Các ảnh phủ hiểu thành phần vật liệu phủ mơ hình đối tượng ảo ba chiều
Hình 1 Texture.
2.2 Vật liệu
Thực tế, đối tượng làm từ nhiều loại vật liệu khác nhau, từ vật liệu thô gỗ, đất, sỏi, đá đến vật liệu người sản xuất vải, kim loại, thủy tinh, cao su, xi măng Từ nguồn nguyên vật liệu đầu vào, đối tượng tạo hình có màu sắc màu vật liệu tạo nên chúng Sau đó, đối tượng trang trí thêm hình họa tiết Thực tế vật liệu phân thành hai loại vật liệu màu (màu vật liệu tạo hình lên đối tượng) vật liệu họa tiết (có hình họa tiết vẽ đối tượng)
(3)2.3 Chu trình hiển thị ảnh phủ đối tượng
Một đối tượng mô không gian ba chiều cần có file mơ hình ba chiều file ảnh phủ Đầu tiên, file mơ hình file ảnh phủ tải lên nhớ chương trình CPU CPU phụ trách việc sử dụng nhớ, điều khiển dòng liệu CPU GPU Các lệnh u cầu thực tính tốn GPU truyền từ CPU thông qua đệm lệnh (command buffer) Khi chương trình CPU gọi lệnh vẽ đối tượng để thực thi GPU liệu đỉnh, liệu ảnh phủ chuyển vào nhớ GPU, đồng thời chu trình xử lý đồ họa GPU bắt đầu thực
Hình 2. Chu trình hiển thị ảnh phủ đối tượng.
Trên nhớ GPU, liệu đỉnh mơ hình ba chiều đối tượng lưu đệm đỉnh đệm số đỉnh, liệu ảnh phủ đối tượng lưu texture Bộ đệm đỉnh, đệm số texture liệu đầu vào bước chu trình xử lý đồ họa GPU [6][7]
Hình 3. Các bước xử lý đồ họa GPU.
Trong chu trình xử lý đồ họa GPU, đầu vào đệm đỉnh đệm số tập hợp đỉnh nằm cấu trúc hình học mơ hình ba chiều đối tượng Tại bước xử lý đỉnh, phép xử lý đỉnh thực hiện, (ví dụ, phép biến đổi tọa độ ba chiều đỉnh) Tiếp theo, phép biến đổi hình học thực bước xử lý hình học Sau đó, bước phân mảnh, điểm ảnh hình thuộc vào hình chiếu đối tượng hình học xử lý xác định, điểm ảnh xác định xử lý bước Kế tiếp, dựa thông tin tọa độ ảnh phủ điểm, điểm cập nhật màu từ ảnh phủ texture bước xử lý điểm Cuối cùng, bước hợp nhất, giá trị màu điểm xử lý kết hợp với giá trị màu điểm ảnh lưu đệm màu (nếu có) xuất giá trị màu để hiển thị hình
3 PHƯƠNG PHÁP ĐỀ XUẤT
(4)target) sử dụng để lưu trữ đặc trưng đối tượng thơng qua ảnh phủ Sau đó, kết đệm tính tốn lưu trữ qua lần tính tốn hiển thị lên đối tượng ảo ba chiều Các bước xử lý thực card đồ họa sử dụng đoạn code shader Cách tiếp cận sử dụng đệm tính tốn nhớ GPU đồng thời khai thác khả xử lý song song GPU giảm tính tốn CPU nâng cao tốc độ hiển thị hình ảnh chương trình
3.1 Phân loại ảnh đặc trưng đối tượng
Đầu tiên, khảo sát để xây dựng mơ hình đối tượng, đặc trưng đối tượng phải xác định phân lớp rõ ràng, chúng phải biểu diễn dạng file ảnh, gọi file ảnh đặc trưng Do đó, bên cạnh liệu file mơ hình liệu đầu vào chương trình file ảnh đặc trưng
3.2 Khởi tạo đệm tính tốn
Trong bước này, đệm tính tốn khởi tạo không gian nhớ GPU, đồng thời, file ảnh đặc trưng tải lên nhớ chương trình CPU Kích thước đệm tính tốn thiết lập lũy thừa (ví dụ, 64x64, 128x128, 256x256) để tính tốn đồ họa tối ưu, đặc biệt tính toán liên quan đến texture
3.3 Vẽ ảnh đặc trưng lên đệm tính tốn
Tại bước này, chương trình CPU gọi lệnh vẽ lên đệm tính tốn liệu ảnh đặc trưng chuyển sang nhớ GPU Trên nhớ GPU, liệu ảnh đặc trưng tương ứng vùng nhớ texture (được ký hiệu Texture1, , TextureN), chúng đầu vào chương trình xử lý điểm Tại bước xử lý điểm, sử dụng đoạn code pixel shader, giá trị màu điểm ảnh cập nhật đệm tính tốn thay đệm chu trình xử lý đồ họa thơng thường Đồng thời, vào thay đổi nội dung thông tin đối tượng thời điểm, phép biến đổi ảnh texture (chứa đặc trưng) sử dụng để mô thay đổi đặc trưng đối tượng thời điểm
Hình 4. Vẽ ảnh đặc trưng lên đệm tính tốn.
Ví dụ, hai phép biến đổi ảnh thường sử dụng phép xoay phép dịch ảnh Nếu tâm phép xoay tâm ảnh phủ (tâm có tọa độ ảnh phủ [0.5, 0.5]), phép xoay ảnh biểu diễn qua phép biến đổi tọa độ ảnh phủ sau:
(1) Trong đó, [u, v] [u’, v’] tọa độ ảnh phủ điểm ảnh trước sau thực phép xoay
(5)(2)
Trong đó, du dv tương ứng khoảng dịch chuyển trục u trục v
ảnh khoảng thời gian
Sau đó, áp dụng phép hòa trộn ảnh, texture chứa đặc trưng đối tượng kết hợp với đệm tính tốn theo thứ tự xác định để biểu diễn đặc trưng đối tượng Bộ đệm tính tốn nơi lưu trữ giá trị màu texture Sau bước xử lý này, kết đệm tính tốn lưu lại nhớ GPU sử dụng cho bước xử lý
3.4 Hiển thị kết đệm tính tốn lên đối tượng
Tại bước này, chu trình hiển thị ảnh phủ đối tượng áp dụng file mơ hình đối tượng Đầu tiên, file mơ hình tải lên nhớ chương trình CPU Khi chương trình CPU gọi lệnh vẽ đối tượng, liệu đỉnh từ file mơ hình chuyển vào nhớ GPU Đồng thời, liệu đệm tính tốn chép sang texture khác gọi render target texture (RT texture), RT texture đầu vào chương trình xử lý điểm Sau đó, áp dụng chu trình hiển thị ảnh phủ đối tượng với đoạn code vertex shader pixel shader, đặc trưng đối tượng lưu trữ RT texture hiển thị mơ hình ba chiều đối tượng
Hình 5. Hiển thị kết đệm tính tốn lên đối tượng.
Kết luận, phương pháp này, quan trọng bước phân loại ảnh đặc trưng đối tượng định nội dung thơng tin thể mơ hình ba chiều đối tượng Phương pháp áp dụng để mơ nhiều loại đối tượng khác Trong phần thực nghiệm, phương pháp sử dụng để mô đối tượng sau: đồng hồ thị máy dò bom, đồng hồ chân trời điện tử máy bay Su30MK2 mơ tọa độ đối tượng hình radar
4 KẾT QUẢ THỰC NGHIỆM
(6)4.1 Mô đồng hồ thị máy dò bom Foerster Ferex 4032-API
Trên máy dò bom Foerster Ferex 4032-API, đồng hồ thị thể thay đổi từ tính cục đầu dị qua đối tượng dò Đồng hồ thị mô phương pháp đề xuất: đầu tiên, hai ảnh đặc trưng cho đồng hồ thị ảnh bảng chia ảnh kim đồng hồ học (các ô vuông màu đen trắng ảnh kim đồng hồ học vùng ảnh suốt) Bảng chia phân thành 10 độ vạch chia bên bắt đầu tính từ 0; giữ có vạch đen ngưỡng cho phép sai số; kim đồng hồ học lệch báo hiệu có thay đổi từ tính cục Sau khởi tạo đệm tính tốn, để mơ thay đổi từ tính máy dị dị qua đối tượng, phép quay thực ảnh kim đồng hồ học Tại bước kế tiếp, hai ảnh đặc trưng vẽ lên đệm tính tốn theo thứ tự ảnh bảng chia ảnh kim đồng hồ học Tại bước cuối, vertex shader pixel shader sử dụng để hiển thị kết đệm tính tốn mơ đồng hồ thị lên mặt hộp máy mơ hình ba chiều máy dị
Hình Mơ đồng hồ thị máy dò bom Foerster Ferex 4032-API: (a) Ảnh bảng chia, (b) Ảnh kim đồng hồ, (c) Đồng hồ thị
4.2 Mô đồng hồ chân trời điện tử máy bay Su30MK2
(7)Đồng hồ chân trời điện tử mô theo phương pháp đề xuất Đầu tiên, ba ảnh đặc trưng phân loại bao gồm: ảnh vạch số góc nghiêng, ảnh vạch số góc chúc, ảnh máy bay Tiếp theo, phép dịch ảnh vạch số góc chúc thực để thể góc chúc máy bay, phép xoay ảnh ký hiệu máy bay thực để thể góc nghiêng máy bay Kế tiếp, ba ảnh đặc trưng vẽ lên đệm tính tốn theo thứ tự ảnh vạch số góc nghiêng, ảnh vạch số góc chúc ảnh hình máy bay (sử dụng phép hòa trộn ảnh) Tại bước cuối, vertex shader pixel shader sử dụng để hiển thị kết mô đồng hồ chân trời điện tử lên hình đa chức (nằm góc trái khoang lái máy bay Su30MK2)
4.3 Mơ tọa độ đối tượng hình radar
Trong phần này, hình radar biểu diễn hai ảnh đặc trưng ảnh radar (gồm đường tròn đồng tâm) ảnh ký hiệu đối tượng đặc trưng cho đối tượng nằm vùng quét radar Nếu lấy vị trí radar trung tâm, tọa độ đối tượng nằm vùng quét radar cần tính toán Phép biến đổi tọa độ đối tượng nằm vùng quét radar không gian ảnh radar biểu diễn dạng ma trận sau:
(3)
Hình 8. Phép biến đổi tọa độ đối tường nằm vùng quét của radar (a) không gian ảnh radar (b)
Trong đó, O vị trí radar, P(PX, PY) tọa độ đối tượng nằm vùng
quét radar, O’ gốc tọa độ ảnh radar, P‘(P’x, P’y) tọa độ ảnh đối
tượng nằm không gian ảnh radar, W H biểu diễn vùng quét radar, w và h
biểu diễn không gian ảnh