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

Một số kỹ thuật nắn chỉnh biến dạng đối tượng 3d

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 (2.9 MB, 73 trang )



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
=======   ======





PHẠM BÁ MẤY

MỘT SỐ KỸ THUẬT NẮN CHỈNH BIẾN DẠNG
ĐỐI TƯỢNG 3D



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





Hà Nội – 2014



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
=======   ======





PHẠM BÁ MẤY

MỘT SỐ KỸ THUẬT NẮN CHỈNH BIẾN DẠNG
ĐỐI TƯỢNG 3D
Ngành : Công nghệ thông tin
Chuyên ngành : Kỹ thuật phần mềm
Mã số : 60480103

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

Người hướng dẫn khoa học: PGS. TS. Đỗ Năng Toàn



Hà Nội - 2014


LỜI CAM ĐOAN
Tôi xin cam đoan kết quả trong luận văn là sản phẩm của riêng cá nhân
tôi. Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của
cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham
khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan
của mình.

Hà Nội, ngày 20/11/2014
Người cam đoan




Phạm Bá Mấy



LỜI CẢM ƠN
Để hoàn thành bài luận văn này và có kiến thức như ngày hôm nay, đầu
tiên tôi xin gửi lời cảm ơn đến Ban Giám Hiệu cùng toàn thể thầy cô khoa Công
nghệ thông tin - Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã tận
tình giảng dạy, truyền đạt kiến thức cũng như những kinh nghiệm quý báu cho
tôi cùng toàn thể các học viên cao học khóa 19 trong suốt quá trình học tập và
nghiên cứu tại trường.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến Ban Lãnh Đạo cùng toàn thể anh
chị em đồng nghiệp Viện Công nghệ thông tin - Viện Hàn lâm Khoa học và
Công nghệ Việt Nam đã cho phép và tạo mọi điều kiện ủng hộ và giúp đỡ tôi
trong suốt khóa học Thạc sĩ này.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo hướng dẫn PGS.TS. ĐỖ
NĂNG TOÀN, Viện Công nghệ thông tin - Đại học Quốc gia Hà Nội đã tận tình
hướng dẫn, quan tâm và động viên tôi trong quá trình tìm hiểu, nghiên cứu, xây
dựng và hoàn thành luận văn này.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS. NGUYỄN TRỌNG
TOÀN - nguyên Viện trưởng Viện Pháp y Quân đội đã nhiệt tình chỉ dẫn và
cung cấp những yêu cầu thực tế của bài toán “Phục dựng mặt người” mà các
bác đang nghiên cứu và giải quyết cũng như những kiến thức vô cùng quý báu
liên quan tới lĩnh vực chuyên môn Pháp y, Giải phẫu… Những kiến thức quan
trọng này đã giúp ích cho tôi rất nhiều trong quá trình cài đặt thử nghiệm.
Tôi cũng xin chân thành cảm ơn những người thân trong gia đình, bạn bè
đã động viên và tạo mọi điều kiện giúp tôi trong quá trình học tập, công tác cũng

như trong cuộc sống.
Mặc dù cố gắng hoàn thành luận văn nhưng do thời gian và khả năng còn
nhiều hạn chế nên luận văn khó tránh khỏi những sai sót nhất định, rất mong
được sự thông cảm cũng như sự chỉ dẫn, góp ý của thầy cô và bạn bè để luận
văn được hoàn thiện hơn.
Cuối cùng tôi xin gửi lời chúc sức khỏe và thành đạt tới tất cả quý thầy
cô, quý đồng nghiệp cùng gia đình và bạn bè.


1

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

3
DANH MỤC HÌNH VẼ, ĐỒ THỊ

4
PHẦN MỞ ĐẦU

6
CHƯƠNG I: KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D VÀ BÀI TOÁN NẮN CHỈNH

7
1.1. Khái quát về đối tượng 3D

7
1.1.1. Khái niệm về đối tượng 3D


7
1.1.2. các thành phần cơ bản của đối tượng 3D

9
1.1.3. Một số phương pháp xây dựng đối tượng 3D

11
1.2. Bài toán nắn chỉnh đối tượng 3D

16
1.2.1. Giới thiệu

16
1.2.2. Một số hướng tiếp cận

17
1.2.3. Ứng dụng

24
CHƯƠNG II: MỘT SỐ KỸ THUẬT NẮN CHỈNH ĐỐI TƯỢNG 3D

25
2.1. Kỹ thuật nắn chỉnh biến dạng dựa vào hệ tọa độ Barycentric

25
2.1.1. Giới thiệu

25
2.1.2. Phương pháp


27
2.1.3. Đánh giá

32
2.2. Kỹ thuật nắn chỉnh biến dạng dựa vào hàm cơ sở bán kính (RBF)

34
2.2.1. Giới thiệu

34
2.2.2. Phương pháp

36
2.2.3. Đánh giá

40
2.3. Kỹ thuật nắn chỉnh biến dạng dựa vào phương trình vi phân (PDE)

42
2.3.1. Giới thiệu

42
2.3.2. Phương pháp

43
2.3.3. Đánh giá

48

2


CHƯƠNG III: CHƯƠNG TRÌNH THỬ NGHIỆM

49
3.1. Phát biểu bài toán

49
3.2. Điểm vài nét về các phương pháp khôi phục mặt người từ hình thái xương sọ

50
3.3. Lựa chọn quy trình công nghệ

55
3.4. Thử nghiệm

58
PHẦN KẾT LUẬN

64
DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN
LUẬN VĂN

65
TÀI LIỆU THAM KHẢO

66

3

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

STT Ký hiệu Tiếng Anh Tiếng Việt
1 DICOM
Digital Imaging and
Communications in Medicine
Tiêu chuẩn để xử lý, lưu trữ, in ấn
và thu/nhận hình ảnh trong y tế
2 NURBS
Non-Uniform Rational
B-spline
B-spline hữu tỉ không đồng đều
3 PDE
Partial Differential Equation Phương trình vi phân từng phần
4 RBF
Radial Basic Funtion Hàm cơ sở bán kính
5 VR
Virtual Reality Thực tại ảo
6 VRML
Virtual Reality Modeling
Language
Ngôn ngữ mô hình hóa thực tại ảo

4

DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Đối tượng 3D

8
Hình 1.2. Cấu trúc của mô hình 3D

9

Hình 1.3. Các đối tượng nguyên thuỷ của polygon

10
Hình 1.4. Mô hình liên tục

11
Hình 1.5. Ảnh DICOM

12
Hình 1.6. Dữ liệu ảnh chưa được xác định biên

12
Hình 1.7. Dữ liệu ảnh sau khi đã xách định biên

12
Hình 1.8. Dữ liệu mô hình thô

13
Hình 1.9. Dữ liệu mô hình sau khi làm mịn

13
Hình 1.10. Vẽ phác thảo mô hình trên ảnh

14
Hình 1.11. Dựng mô hình thô

14
Hình 1.12. Kết quả dựng mô hình từ ảnh

14

Hình 1.13. Dựng mô hình 3D bằng máy Scan 3D

15
Hình 1.14. Kết quả dựng mô hình từ dữ liệu máy Scan 3D

15
Hình 1.15. Nghiên cứu của Tong-Yee Lee và Po-Hua Huang

18
Hình 1.16. Nghiên cứu của Yong Joo Kil và cộng sự

18
Hình 1.17. Nghiên cứu của Henry Schäfer và cộng sự

19
Hình 1.18. Nghiên cứu của Thomas W. Sederberg và Scott R. Parry

20
Hình 1.19. Nghiên cứu của The Duy Bui và các cộng sự

21
Hình 1.20. Nghiên cứu của Chen Cao, Qiming Hou, Kun Zhou

21
Hình 1.21. Nghiên cứu của nhóm thực hiện đề tài KC.01.17/06-10

22
Hình 1.22. Nghiên cứu của Terzopoulos và các cộng sự

23

Hình 1.23. Nghiên cứu của Gonzalez Castro G, Ugail H,Willis P and Palmer I

23
Hình 1.24. Nghiên cứu của Yun Sheng, Phil Willis

24
Hình 2.1. Ý tưởng của Mobius

25
Hình 2.2. Ý tưởng mở rộng của Mobius

26
Hình 2.1. Hệ tọa độ Barycentric

27
Hình 2.2. Phân Vùng đối tượng

29
Hình 2.3. Tạo độ Barycentric cho điểm P

29
Hình 2.4. Kết quả nắn chỉnh

30
Hình 2.5. Mô hình mặt người đầu vào

33
Hình 2.6. Biến đổi mô hình mặt với kỹ thuật hệ tọa độ arycentric

33

5

Hình 2.7. Điều khiển hoạt động của Rồng dựa vào nắn chỉnh biến dạng

34
Hình 2.8. Hàm cơ sở bán kính (RBF)

35
Hình 2.9. Đầu vào của thuật toán nắn chỉnh dựa vào RBF

38
Hình 2.10. Sự biến đổi của tập điểm điều khiển.

39
Hình 2.11. Kết quả nắn chỉnh đối tượng.

40
Hình 2.12. Mô hình mặt người đầu vào

41
Hình 2.13. Biến đổi mô hình mặt với RBF

41
Hình 2.14. Bề mặt đối tượng (b) được xây dựng bởi một hàm PDE bậc bốn từ các điều
kiện biên (a).

45
Hình 2.15. Bề mặt đối tượng (b) được xây dựng bởi một hàm PDE bậc bốn từ các điều
kiện biên và điều kiện phát sinh (a).


46
Hình 2.16. Bề mặt đối tượng (b) được xây dựng bởi một hàm PDE bậc sáu từ các điều
kiện biên (a).

46
Hình 2.17. Bề mặt đối tượng (b) được xây dựng bởi một hàm PDE bậc sáu từ các điều
kiện biên và điều kiện phát sinh (a).

47
Hình 3.1. Minh họa khôi phục mặt người từ hộp sọ 3D

49
Hình 3.2. Phương pháp lồng sọ vào bức vẽ chân dung

51
Hình 3.3. Minh họa phương pháp lồng sọ vào ảnh thật qua hệ thống gương bán mạ

51
Hình 3.4. Phương pháp giải phẫu

53
Hình 3.5. Hệ thống các vị trí đặc trưng

54
Hình 3.6. Các điểm mốc và các góc đặc trưng

55
Hình 3.7. Sơ đồ hệ thống khôi phục người từ hộp sọ

56

Hình 3.8. Sọ 3D của người cần dựng mặt

59
Hình 3.9. Dữ liệu mô mềm tại các điểm đặc trưng

59
Hình 3.10. Dữ liệu mặt mẫu

59
Hình 3.11. Dữ liệu đầu vào cho thử nghiệm thứ nhất

61
Hình 3.12. Kết quả của thử nghiệm thứ nhất chạy với Barycentric

61
Hình 3.13. Kết quả của thử nghiệm thứ nhất chạy với RBF

61
Hình 3.14. Dữ liệu đầu vào cho thử nghiệm thứ hai

62
Hình 3.15. Kết quả của thử nghiệm thứ hai chạy với Barycentric

62
Hình 3.16. Kết quả của thử nghiệm thứ hai chạy với RBF

62
6

PHẦN MỞ ĐẦU

Sự phát triển vượt bậc của các thiết bị phần cứng máy tính, cũng như các thiết
bị ngoại vi thu nhận hình ảnh của thế giới thực vào máy tính như: máy ảnh, máy scan
3D… làm cho dữ liệu về hình ảnh, mô hình 3D ngày càng phổ biến hơn. Trong thực
tế, đối tượng khi được thu nhận bởi các thiết bị điện tử hay là quang học này thường
không thể hiện được bản chất thực (nguyên thủy) của mình hay nói cách khác là bị
biến dạng đi [11,13]. Để khắc phục sự biến dạng này, người ta đã sử dụng một số kỹ
thuật nắn chỉnh hình học để thu được các đối tượng với hình dạng chính xác hơn. Hơn
thế nữa, trong một số ứng dụng như phim ảnh, người ta còn muốn tạo ra các nhân vật,
các hình ảnh không có trong thực tế mà theo tư duy thiết kế chủ quan của người làm
phim. Điển hình là họ tạo ra các thước phim miêu tả sự thay đổi của một đối tượng
theo thời gian, hoặc quá trình biến đổi từ đối tượng này đến đối tượng khác, các sự
biến hóa trong vũ trụ v.v [12,14,15]. Nhờ các kỹ thuật nắn chỉnh, biến đối hình học
mà các nhà làm phim có thể thực hiện được các mong muốn nói trên.
Xuất phát từ thực tế đó và được sự gợi ý của giáo viên hướng dẫn, tôi lựa chọn
đề tài “Một số kỹ thuật nắn chỉnh biến dạng đối tượng 3D” cho luận văn của mình.
Nội dung của đề tài là tìm hiểu một số phương pháp nắn chỉnh hình học trong
đồ họa máy tính, nhằm xử lý các sai lệch về hình dạng của đối tượng khi thu nhận vào
máy tính (ảnh số, mô hình 3D) so với hình dạng ban đầu của đối tượng, hay nhằm làm
biến đối một đối tượng này thành một đối tượng khác theo mong muốn chủ quan, trên
cơ sở kết quả tìm hiểu và nghiên cứu được tiến hành cài đặt chương trình thử nghiệm.
Cấu trúc của luận văn bao gồm:
Chương 1: Chương này sẽ trình bày khái quát về đối tượng 3D, mô hình 3D
và bài toán nắn chỉnh.
Chương 2: Chương này sẽ trình bày chi tiết về ba kỹ thuật được sử dụng
trong nắn chỉnh đối tượng 3D.
Chương 3: Chương này trình bày về việc ứng dụng kỹ thuật nắn chỉnh dựa
vào hàm cơ sở bán kính (RBF) trong bài toán “Khôi phục diện
mạo khuôn mặt người Việt trưởng thành từ hình thái xương sọ”.
Phần tiếp theo của luận văn là phần kết luận, danh mục công trình
công bố liên quan tới luận văn của tác giả. Cuối cùng là tài liệu

tham khảo.

7

CHƯƠNG I:
KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D VÀ BÀI TOÁN NẮN CHỈNH
Nắm được những kiến thức cơ bản nhất về đối tượng 3D và
những vấn đề liên quan đến bài toán nắn chỉnh như: lịch sử phát
triển, tình hình nghiên cứu, các cách tiếp cận v.v là một trong những
nội dung quan trọng trước khi chúng ta đi vào các vấn đề sâu hơn của
bài toán. Nội dung chính của chương này sẽ trình bày những kiến thức
cơ bản về đối tượng 3D (chủ yếu tôi trình bày về góc độ cấu trúc hình
học), và bài toán nắn chỉnh hình học đối tượng 3D.
1.1. KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D
Trước tiên chúng ta nhắc đến một khái niệm rât phổ biến đó là “Thế giới ảo”
(Virtual World). Thế giới ảo là một thế giới mô phỏng lại thế giới thực hoặc một thế
giới do chúng ta tưởng tượng ra trên môi trường máy tính. Nó không những cho phép
chúng ta có thể đi lại, tham quan mà còn có thể cho phép chúng ta tương tác với các sự
vật hiện tượng và chìm đắm vào không gian mô phỏng thông qua các thiết bị ngoại vi
và bộ chuyển đổi tương tác, khiến chúng ta có cảm giác như đang ở trong thế giới thực
[16,17].
Để xây dựng nên thế giới ảo, trước tiên chúng ta cần phải xây dựng nên các
không gian, các đố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 với chúng. Nói đến đối tượng 3D là chúng ta nói đến các đối tượng, có thể là
các đối tượng có thực trong thế giới thực của chúng ta như: con người, nhà cửa, cây
cối, xe cộ v.v hoặc các đối tượng do chúng ta tưởng tượng ra được đưa vào và biểu
diễn trên 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:

Một đối tượng 3D chính là đại diện trừu tượng của một đối tượng trong thế giới
thực hoặc một đối tượng do chúng ta tưởng tượng ra được xây dựng và biểu diễn trong
môi trường máy tính. Trong đó, nó bao gồm hai thành phần chính: thứ nhất là một mô
hình 3D biểu diễn hình học và màu sắc của đối tượng, thứ hai là các thuộc tính, sự
ràng buộc và các mối quan hệ giữa các thành phần của đối tượng đó.
8

Chúng ta có thể lấy một ví dụ nhỏ về đối tượng 3D là một nhân vật được mô
hình hóa và biểu diễn trên máy tính. Nhân vật 3D này sẽ bao gồm: thứ nhất là một mô
hình 3D chính là phần hình học và màu sắc để biểu diễn các đường nét, hình dáng của
nhân vật (phần tĩnh), thứ hai là các thuộc tính ràng buộc về các cơ quan, bộ phận của
nhân vật (phần động), điều này rất quan trọng khi chúng ta thực hiện các thao tác biến
đổi lên mô hình để tạo ra sự di chuyển hay thực hiện các hành động của nhân vật.
Chúng ta có thể hình dung cụ thể hơn qua hình 1.1.

Hình 1.1. Đối tượng 3D
Mô hình 3D của nhân nhân hay phần hình học (đường màu xanh thẫm) tạo nên
hình dáng của đối tượng, sự ràng buộc về cấu trúc (các khung hình xanh lá cây) và
các ràng buộc cử chỉ (màu vàng). Tất cả các yếu tố đó tạo nên đối tượng nhân vật
hoạt hình 3D.
Chú ý: Thường chúng ta nắn chỉnh đối tượng, chứ không nắn chỉnh mô hình, vì
nắn chỉnh mô hình có thể sẽ là không có ý nghĩa trong những bài toán mà đối tượng là
một đối tượng có thực và hình dạng là xác định. Đối tượng là cái hữu hình theo thời
gian: VD nắn chỉnh đối tượng người 3D thì không thể nắn chỉnh một cách tùy ý được
mà các nắn chỉnh này phải được thực hiện một cách thống nhất thỏa mãn các ràng
buộc giữa các cơ quan, bộ phận trên cơ thể, nhưng mô hình người 3D thì không có
ràng buộc do đó nếu chỉ nắn chỉnh mô hình hình học thì có thể sẽ dẫn đến việc kết quả
không còn là mô hình người nữa.
9


1.1.2. CÁC THÀNH PHẦN CƠ BẢN CỦA ĐỐI TƯỢNG 3D
Như đã nói ở trên, đối tượng 3D bao gồm hai thành phần chính, thành phần
hình học của đối tượng (mô hình 3D) và các thuộc tính ràng buộc của đối tượng đó.
Trong khuôn khổ và phạm vi nghiên cứu của luận văn này, mục này tôi chủ yếu trình
bày về phần hình học của đối tượng hay mô hình 3D của đối tượng. Một mô hình 3D
bao gồm hai thành phần chính: thứ nhất là cấu trúc hình học tạo nên hình dáng của đối
tượng (Geometry), thứ hai là chất liệu tạo nên đối tượng (Material). Chúng ta có thể
hình dung rõ hơn trong hình 1.2.
 Cấu trúc của mô hình 3D:

Hình 1.2. Cấu trúc của mô hình 3D
o Vertexts: Tập các tạo độ điểm, nó bao gồm 3 giá trị X,Y,Z mô tả về vị trí
trong không gian và nó là thành phần nhỏ nhất của một mô hình 3 chiều.
o Indexs: Tập này sẽ mô tả việc các điểm sẽ kết nối với nhau như thế nào để
tạo nên các đa giác.
o Geometrys: Là tập các đa giác (tam giác hay tứ giác) tạo nên bề mặt hình
học của đối tượng. Tập này được tạo nên từ hai tập trước đó là vertexts và
indexs.
o Textcoords: Tập này sẽ mô tả việc ánh xạ màu sắc lên bề mặt của đối
tượng.
o Texture: Là tập màu sắc dùng để ánh xạ lên bề mặt đối tượng 3 chiều. Tập
này thường là tập các ảnh 2D.
10

o Material: Là tập các thuộc tính mô tả tính chất bề mặt của đối tượng, nó
bao gồm các thông tin mô tả về tính chất của bề mặt như: độ nhạy sáng,
màu sắc, trong suốt hay không trong suốt … Có thể hiểu đây chính là các
thông tin mô tả về chất liệu của đối tượng.
Mỗi một cấu trúc đồ họa thì các thành phần này lại được tổ chức sắp xếp và lưu
trữ khác nhau, như trong VRML thì các thành phần này đượ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 dạng mô hình mà ở đó bề mặt của đối tượng bao gồm
nhiều bề mặt đa giác phẳng, có thể tạo ra đối tượng từ một bề mặt đa giác hoặc một
mạng các bề mặt đa giác. Ta có thể sử dụng bề mặt đa giác để mô hình bất kỳ hình
dáng bề mặt nào và đặc biệt hữu ích đối với những dạng đơn giản, với đối tượng thuộc
lớp động vật, người, đối tượng đòi hỏi một cái nhìn tổng quan với độ trơ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
Mô hình liên tục là các dạng dạng mô hình mà ở đó đối tượng 3 chiều được tạo
nên bằng cách áp dụng các phương trình toán học như: B-spline, Nurbs, RBF, PDE…
cho việc mô hình hóa (hình 1.4 là một ví dụ về sử dụng hàm PDE cho mô hình hóa).
11


Hình 1.4. Mô hình liên tục
Mỗi một dạng mô hình 3D lại có ưu nhược điểm rất khác nhau, và tùy vào ứng
dụng mà chúng ta lựa chọn biểu diễn đối tượng theo dạng nào. Nếu biểu diễn đối
tượng bằng cách sử dụng các mô hình đa giác rời rạc thì có ưu điểm là dễ thiết kế, đơn
giản, nhưng nhược điểm là tính toàn cục kém, khả năng kết nối giữa các mô hình khác
nhau một cách tự động là khó khăn. Mô hình liên tục, vì sử dụng các phương trình
toán học để biểu diễn nên nó có tính toàn cục cao, khả năng kết nối tốt, nhưng nhược
điểm là phức tạp.

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)
Tư tưởng của phương pháp này là: Từ các ảnh chụp cắt lớp CT [18] đối tượng
thu nhận được thông qua các thiết bị chụp cắt lớp, chúng ta tiến hành xây dựng lưới
3D bằng cách với mỗi ảnh chúng ta tiến hành xác định biên của ảnh [2]. Tiếp theo đó,
từ tập các biên lấy được (chính là tập điểm), chúng ta xây dựng mô hình 3D bằng
phương pháp đa giác hóa tập điểm thu được [3]. Cụ thể phương pháp được thực hiện
qua bốn bước như sau:
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.
12


Hình 1.5. Ảnh DICOM
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 đọc và lấy được dữ liệu ảnh từ ảnh DICOM, chúng ta sử dụng các thuật
toán xử lý ảnh, tiến hành khoang vùng biên của mô hình 3D trên ảnh đó dựa vào
màu sắc một cách tự động hoặc thủ công. Trong kỹ thuật này chúng tôi chỉ xử lý 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
13


Bước 3: Tạo lưới trên biên hiện thời
Do ảnh DICOM là tập ảnh được lưu trữ có sự sắp xếp theo chiều chụp của thiết
bị (kiểu ngăn xếp), nên chúng ta chỉ cần sắp xếp và liên kết các biên này theo đúng thứ
tự và tùy mức độ chi tiết của mô hình. Lưới 3D của mô hình được tạo nên chính bằng
sự sắp xếp và liên kết giữa các biên này, và đây là kết quả:

Hình 1.8. Dữ liệu mô hình thô
Bước 4: Che phủ và làm mịn
Sau khi có dữ liệu và lưới, chúng ta tiến hành tách lưới thành các mô hình nhỏ
và làm mịn. Kết quả thu được:


a) Mô hình lưới b) Mô hình mịn
Hình 1.9. Dữ liệu mô hình sau khi làm mịn
 Dựng mô hình từ ảnh thông thường
Từ các ảnh mô tả các góc độ khác nhau của đối tượng trong thực tế (thường là 4
ảnh, mô tả 4 mặt của đối tượng: trên, dưới, trái, phải) kết hợp với thông tin mô tả về
các đối tượng này, chúng ta có thể dựng lại mô hình 3D của chúng. Quy trình dựng mô
hình 3D từ các ảnh như sau:
14

Trước tiên, chúng ta tiến hành vẽ phác thảo các chi tiết của mô hình dựa
vào ảnh.

Hình 1.10. Vẽ phác thảo mô hình trên ảnh
Tiếp theo, từ các đường vẽ phác thảo này chúng ta sử dụng các phương pháp
dựng hình cơ bản như: Polygon hoặc Subdivision Surface [4] hay mô hình đường cong
NURBS [5].


Hình 1.11. Dựng mô hình thô
Kết quả sau khi đã làm mịn.


a) Kết quả tổng hợp mô hình thô

b) Mô hình sau khi làm mịn
Hình 1.12. Kết quả dựng mô hình từ ảnh
15

 Dựng mô hình từ dữ liệu máy Scan 3D
Một cách tiếp cận khác trong việc dựng mô hình ba chiều, đó là sử dụng máy
Scan 3D. Từ đối tượng trong thực tế chúng ta có thể mô hình hóa chúng thông qua
máy Scan 3D.

Hình 1.13. Dựng mô hình 3D bằng máy Scan 3D
Mô hình 3D chúng ta thu được từ máy Scan thường rất chi tiết, đồng nghĩa với
đó là dữ liệu sẽ rất lớn làm chậm quá trình đọc, hiển thị và tương tác. Để có thể sử
dụng một cách hiệu quả các mô hình Scan này, chúng ta phải tiến hành dựng lại mô
hình tương ứng để giảm thiểu dữ liệu cũng như làm tinh mô hình.
Có hai phương pháp chính xây dựng lại mô hình từ dữ liệu máy Scan: một là rút
gọn bề mặt biểu diễn, hai là dựng lại lưới từ mô hình gốc. Với phương pháp xây dựng
lại mô hình bằng cách rút gọn bề mặt biểu diễn, phương pháp này có ưu điểm là khá
nhanh và đơn giản, nhưng lại gặp nhược điểm là bề mặt lưới đa giác phân bố không
đều và khó khăn trong quá trình phủ chất liệu. Phương pháp dựng lại lưới từ mô hình
gốc bằng phần mềm 3D-Coat, phương pháp này khắc phục được nhược điểm của
phương pháp thứ nhất, nhưng nhược điểm của phương pháp này là độ chính xác của
mô hình. Nếu muốn tăng độ chính xác thì phải làm thủ công khá nhiều công đoạn.



a) Mô hình từ máy Scan b) Mô hình dựng lại bằng phần
mềm 3D-Coat
Hình 1.14. Kết quả dựng mô hình từ dữ liệu máy Scan 3D
16

1.2. BÀI TOÁN NẮN CHỈNH ĐỐI TƯỢNG 3D
Như đã nói ở phần mở đầu, nắn chỉnh đối tượng 3D là một trong những bài toán
quan trọng của đồ họa máy tính nói chung và đồ họa ba chiều nói riêng, đặc biệt là
trong các ứng dụng về mô phỏng trong Thực tại ảo. Dưới đây, tôi xin trình bày ngắn
gọn về bài toán này.
1.2.1. GIỚI THIỆU
Bài toán nắn chỉnh biến dạng đối tượng đã được các nhà khoa học trên toàn thế
giới quan tâm nghiên cứu từ rất lâu. Một trong những nghiên cứu đầu tiên có thể kể
đến đó là ý tưởng của các nhà cơ khí, họ muốn thực hiện các thử nghiệm cho các thiết
kế của mình. Khi họ cho các sản phẩm thiết kế như máy móc, xe hơi tương tác va
chạm với nhau, từ đó tính toán sự biến dạng của các đối tượng. Ban đầu họ thực hiện
trên các mô hình thực tế bằng cách xây dựng các mô hình thật cho các thiết kế và sau
đó cho chúng va chạm với nhau và họ xác định mức độ biến dạng trực tiếp trên đối
tượng. Họ thấy rằng cách làm này khá phức tạp và tốn kém, vì mỗi lần họ thực hiện
thử nghiệm, họ phải tạo ra các mô hình mẫu thật, sau một lần thử nghiệm họ lại phải
làm lại mô hình, rất mất thời gian và tốn kém. Họ bắt đầu nghĩ đến việc sẽ chuyển bài
toán này lên thành bài toán mô phỏng các va chạm, tương tác giữa các đối tượng trên
máy tính. Cách tiếp cận vấn đề này của họ là đầu tiên họ sẽ xây dựng các máy mọc, xe
cộ v.v bằng mô hình 3D, sau đó họ thêm các tham số cho các mô hình 3D này để có
thể tính toán được sự biến dạng sau khi tương tác với các đối tượng khác. Cách làm
này cho thấy sự tiện dụng và hiệu quả, họ có thể chỉ cần phải xây dựng các mô hình
3D này một lần trên máy tính và sau đó dùng lại. Họ có thể dễ dàng thay đổi các tham
số cho các thí nghiệm va chạm và tính toán mức độ biến dạng. Điều này cho phép họ
có thể thực hiện được nhiều tính toán, thử nghiệm hơn.
Tiếp đến là các nhà điện ảnh, bài toán của họ gặp phải cũng có độ phức tạp

không kém các nhà cơ khí, thậm chí còn phức tạp hơn. Mỗi một cảnh phim, họ phải
phá hủy đi rất nhiều công trình, đồ đạc v.v mà họ phải rất mất công mới xây dựng
lên. Tiếp nữa là trong điện ảnh, các kỹ xảo biến hình là vô cùng quan trọng, họ thường
phải mất nhiều ngày mới có thể xây dựng xong một cảnh biến hình cho một nhân vật
nào đó, rất mất thời gian và tốn kém. Công nghệ đồ họa ra đời, như một phép mầu với
điện ảnh. Họ hoàn toàn có thể xây dựng các môi trường, cảnh quay 3D trên máy tính,
thực hiện các vụ nổ, các kỹ xảo phức tạp trên máy tính và sau đó ghép vào cảnh phim.
Họ có thể dễ dàng thực hiện biến đổi từ nhân vật này thành nhân vật khác hoặc những
biến đổi trên chính nhân vật một cách dễ dàng trên máy tính. Cách tiếp cận của họ
cũng gần giống với cách nhà cơ khí, đầu tiên họ cũng thực hiện mô hình hóa 3D các
17

cảnh quay, các nhân vật giống với các nhân vật ngoài thực tế. Cách nhân vật 3D này
đóng vai trò như các diễn viên đóng thế để thực hiện các cảnh quay phức tạp như sự
biến đổi từ người thành quái thú, cảnh quay các ô tô bị méo mó sau một vụ tai nạn
v.v và còn rất nhiều ý tưởng của các nhà chuyên môn khác, cũng nghiên cứu liên
quan đến vấn đề nắn chỉnh biến dạng đối tượng. Những bài toán thực tế phải đối mặt
đã góp phần thúc đẩy các nghiên cứu về đồ họa máy tính nói chung và các nghiên cứu
về nắn chỉnh biến dạng đối tượng 3D nói riêng.
Bài toán nắn chỉnh biến dạng đối tượng 3D khi thực hiện trên máy tính cũng
gặp không ít những thách thức cả về độ phức tạp lẫn thời gian tính toán cho các quá
trình nắn chỉnh và biến đổi đối tượng 3D. Hơn thế nữa việc mô hình hóa đối tượng 3D
một cách tối ưu, làm cho mô hình vừa nhẹ lại vừa đảm bảo độ chi tiết và phù hợp với
phương pháp nắn chỉnh biến dạng cũng không phải là việc dễ dàng. Để giải quyết vấn
đề này, đã có rất nhiều cách giải quyết được đưa ra, phần tiếp theo tôi trình bày về một
số hướng tiếp cận chính để 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: pha thứ nhất là mô hình
hóa đối tượng thành đối tượng 3D, pha thứ hai là nắn chỉnh biến dạng. Thường thì pha
thứ nhất sẽ góp phần quan trọng cho kết quả và thời gian tính toán cho pha thứ hai, nếu

việc mô hình hóa tốt thì việc nắn chỉnh biến dạng sẽ chính xác hơn và tối ưu hơn. Việc
mô hình hóa đối tượng 3D có rất nhiều phương pháp khác nhau như đã trình bày trong
mục 1.1.3, mỗi một cách xây dựng đối tương 3D lại có ưu và nhược điểm khác nhau.
Dựng từ ảnh thì mô hình thường nhẹ, tối ưu về mặt hình học nhưng độ chính xác của
mô hình lại hạn chế, còn dựng mô hình bằng máy Scan 3D thì thường cho độ chính
xác và chi tiết cao nhưng mô hình lại nặng. Điều này có ảnh hưởng rất lớn tới quá trình
nắn chỉnh đối tượng, nếu mô hình nhẹ, hình học tối ưu thì việc nắn chỉnh sẽ nhanh và
ngược lại. Dựa trên các nghiên cứu về đối tượng 3D có thể đưa ra ba cách tiếp cận phổ
biến cho bài toán này gồm:
 Tiếp cận dựa vào phân vùng đối tượng
Tiếp cận này thực hiện bằng cách phân bề mặt của đối tượng 3D thành nhiều
vùng riêng biệt, hoặc cũng có thể có ràng buộc giữa các vùng với nhau, mỗi một vùng
sẽ được áp dụng thống nhất một phép nắn chỉnh. Việc phân vùng cho đối tượng cũng
là một pha rất quan trọng trong hướng tiếp cận này, phân vùng có chính xác, tối tưu thì
nắn chỉnh mới hiệu quả. Phân vùng đối tượng thường được thực hiện dựa trên hai
phương pháp chính dó là phân vùng cứng và phân vùng động. Phân vùng cứng tức là
chúng ta sẽ phân vùng đối tượng thành các vùng riêng biệt và cố định trên đối tượng,
18

phân vùng động tức là chúng ta sẽ thực hiện tính toán vùng ảnh hưởng tùy ý mỗi khi
thực hiện nắn chỉnh. Một số nghiên cứu thuộc cách tiếp cận này có thể kể đến như:
Khi nghiên cứu, giải quyết bài toán tạo sự biến đổi cho hoạt hình khuôn mặt,
năm 2003 Tong-Yee Lee và Po-Hua Huang [20] đã đề xuất một phương pháp biến đổi
mô hình khuôn mặt 3D nguồn thành khuôn mặt 3D đích dựa vào nắn chỉnh biến dạng,
phương pháp mà hai ông đưa ra là phân chia khuôn mặt thành các vùng cứng, sau đó
áp dụng các phép nắn chỉnh, biến đổi lên các vùng đó nhằm làm tăng độ chính xác và
thời gian tính toán. Chúng ta có thể hình dung một cách rõ hơn về nghiên cứu này qua
hình 1.15 dưới đây.



a) Đầu vào b) 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ộng sự đã khái niệm “3D Warp Brush” [20].
Trong nghiên cứu của mình, mỗi một lần thực hiện một biến đổi trên mô hình họ sẽ
tính toán vùng ảnh hưởng tại một điểm (giả sử là điểm con trỏ chuột) lên các vùng
xung quanh và thực hiện biến đổi vùng này theo điểm ban đầu.

Hình 1.16. Nghiên cứu của Yong Joo Kil và cộng sự
19

Một nghiên cứu khác, năm 2014 Henry Schäfer và cộng sự đã nghiên cứu về
việc nắn chỉnh đối tượng 3D bằng cách thực hiện phân vùng động và tính toán trên
GPU, kết quả nghiên cứu cho thấy phương pháp này khác hiệu quả và có tính ứng
dụng cao [22].

Hình 1.17. Nghiên cứu của Henry Schäfer và cộng sự
Nhận xét: Qua việc điểm qua các nghiên cứu, chúng ta thấy rằng phương pháp
tiếp cận này có ưu điểm với các đối tượng có sự biến đổi mang tính cục bộ cao (như
biểu cảm của khuôn mặt) và thời gian tính toán nhanh vì thực hiện trên nhiều vùng
nhỏ, nhưng vấn đề gặp phải là ở biên của các vùng và việc ghép nối các vùng lại với
nhau mà vẫn đảm bảo tính trơn của bề mặt đối tượng. Về cơ bản, 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: Lựa chọn hàm biến đổi cho các vùng (Việc lựa chọn hàm biến đổi phụ
thuộc rất nhiều vào yêu cầu biến đổi đặt ra, thông thường với những
biến đổi đơn giản người ta hay chọn các phép biển đổi afine như
phương pháp dựa vào Hệ tọa độ Barycentric. Phương pháp này sẽ
được tôi trình bày chi tiết và cụ thể trong mục 2.1 dưới đây. Còn với
những biến đổi phức tạp thường người ta hay chọn các phép biến đổi

bậc cao).
Bước 3: Tính toán dữ liệu trong vùng theo hàm biến đổi (Sau khi đã lựa chọn
phương pháp biến đổi cho từng vùng, với mỗi một kỹ thuật được lựa
chọn thì việc tính toán lại khác nhau tùy thuộc vào từng kỹ thuật).
 Tiếp cận dựa vào điểm điều khiển
Bề mặt đối tượng 3D sẽ được đặc trưng và điều khiển bởi một tập điểm (tập
điểm điều khiển), khi chúng ta biến đổi tập điểm này, thì dữ liệu của đối tượng sẽ biến
20

đổi theo. Cách tiếp cận này thường được thực hiện qua hai pha: pha thứ nhất là xác
định tập điểm điều khiển và mối quan hệ giữa chúng với toàn bộ dữ liệu của đối tượng,
pha thứ hai là nắn chỉnh. Việc nắn chỉnh được thực hiện: trước tiên chúng ta sẽ tìm
hàm biến đổi từ sự biến đổi của tập điểm điều khiển, sau đó áp dụng hàm biến đổi này
lên toàn bộ đối tượng để thu được kết quả. Đây có thể là cách tiếp cận phổ biến nhất
cho bài toán nắn chỉnh biến dạng đối tượng 3D, nên có rất nhiều các nghiên cứu liên
quan tới cách tiếp cận này.
Năm 1986 Thomas W. Sederberg, Scott R. Parry [23] đã đưa ra nghiên cứu về
việc biến đổi tự do hình học của đối tượng rắn 3D sử dụng các khối bao đối tượng.
Trong báo cáo của mình, nhóm cho rằng kỹ thuật mà họ đề xuất có thể được sử dụng
với bất kỳ hệ thống mô hình rắn, chẳng hạn như CSG hay B-rep. Nó có thể làm biến
dạng bất kỳ bề mặt nguyên thủy nào như: mặt phẳng, mặt bậc hai, các bề mặt tham số,
hoặc các bề mặt ngầm định nghĩa.
Trong khoảng hơn mười năm trở lại đây, vấn đề này cũng đang được rất nhiều
nhà khoa học quan tâm nghiên cứu nhưng ở một góc nhìn khác, họ thiên về ứng dụng
và cải tiến các phương pháp nắn chỉnh sao cho các phương pháp chính xác hơn, thời
gian tính toán nhanh hơn. Năm 2003, The Duy Bui và các cộng sự đã đưa ra việc ứng
dụng hàm cơ sở bán kính (RBF) và việc tạo ra các hoạt hình cho khuôn mặt [24].
Trong nghiên cứu này, họ đã sử dụng các điểm điều khiển để thực hiện biến đổi hoạt
hình khuôn mặt, như trong hình 1.19 thì điểm màu trắng sẽ là các điểm dùng để điều
khiển và biến đổi hoạt hình của khuôn mặt.



Hình 1.18. Nghiên cứu của Thomas W. Sederberg và Scott R. Parry
21

Cũng liên quan đến các nghiên cứu về xây dựng các hoạt hình cho khuôn mặt,
Chen Cao, Qiming Hou, Kun Zhou đã đưa ra một mô hình biểu diễn biểu cảm khuôn
mặt theo thời gian dựa vào camera vào năm 2014 [25]. Họ sử dụng một camera để thu
nhận sự biến đổi của khuôn mặt, tự động bám theo các biến đổi của khuôn mặt và sau
đó thực hiện một tính toán để ánh xạ mô hình mặt thu được lên một mô hình 3D của
một khuôn mặt khác một cách thời gian thực.
Đặc biệt trong hướng tiếp cận này ở Việt Nam cũng đã có nhiều nhà khoa học
quan tâm nghiên cứu từ nhiều năm qua. Tiêu biểu cho các công trình đó có thể kể đến
nhóm nghiên cứu thực hiên đề tài “Nghiên cứu phát triển và ứng dụng các giải pháp
công nghệ thông tin hiện đại tái tạo ảnh mặt người 3 chiều từ dữ liệu hình thái xương
sọ phục vụ điều tra hình sự và an sinh xã hội” thuộc chương trình KC.01.17/06-10, do
PGS.TS Hồ Sỹ Đàm là chủ nhiệm. Công trình là kết quả của sự hợp tác giữa Trường
ĐH Công Nghệ - ĐHQGH, Viện CNTT – Viện Hàn Lâm Khoa học và Công nghệ Việt
Nam và Viện Pháp Y quân đội [6].


Hình 1.19. Nghiên cứu của The Duy Bui và các cộng sự

Hình 1.20. Nghiên cứu của Chen Cao, Qiming Hou, Kun Zhou

×