CHƯƠNG 3. Nâng cao chất lượng quá trình số hóa bề mặt 3D
3.3 Nâng cao chất lượng tiền xử lý đám mây điểm
3.3.2 Lựa chọn thuật toán đăng ký đám mây điểm
Máy ảnh ToF nói chung và Kinect nói riêng chỉ lưu trữ được duy nhất một giá trị độ sâu cho một góc nhìn. Trong thực tế, các sản phẩm cơ khí có hình
1.16 1.18 1.2
0.1 1.22 1.24 1.26
0.05 0.05
0 0
-0.05 -0.05
-0.1
(a) Trước khi thực hiện
1.16 1.18 1.2
0.1 1.22 1.24 1.26
0.05 0.05
0 0
-0.05 -0.05
-0.1
(b) Sau khi thực hiện
Hình 3.18: So sánh đám mây điểm trong quá trình loại bỏ điểm ngoại lai dạng rất phong phú và một góc nhìn của Kinect không thể thu nhận đủ thông tin hình học của bề mặt sản phẩm cơ khí muốn quét. Do đó, cần phải tạo ra các chuyển động tương đối giữa Kinect v2 và đối tượng quét, di chuyển Kinect v2 xung quanh đối tượng quét hoặc xoay đối tượng quét trên bàn xoay đặt trước mặt Kinect v2, qua đó cho phép chụp được toàn bộ bề mặt của đối tượng cần quét. Để tái tạo được toàn bộ bề mặt, các đám mây điểm theo từng góc nhần phải được kết hợp với nhau. Mỗi đám mây điểm ở góc nhìn này sẽ được biến đổi tọa độ tương đối với đám mây điểm ở góc nhìn khác. Khi phép biến đổi hệ tọa độ tương đối giữa hai đám mây điểm được xác định, các đám mây điểm có thể được đồng chỉnh với nhau. Về mặt toán học, phép biến đổi hệ tọa độ tương đối sẽ được xác định khi biết các dịch chuyển tương đối của máy ảnh Kinect v2 và đối tượng quét. Tuy nhiên, công việc tưởng chừng đơn giản này lại gặp rất nhiều khó khăn, đòi hỏi nhiều trang thiết bị cũng như thời gian, nên các phép biến đổi hệ tọa độ tương đối thường được xác định bằng phương pháp gần đúng mà không cần quan tâm tới các dịch chuyển tương đối giữa thiết bị và đối tượng.
Quá trình tìm kiếm phép biến đổi hệ tọa độ tương đối phù hợp được gọi là đăng ký đám mây điểm. Lặp lại quá trình này cho tất cả các góc nhìn cho phép đồng chỉnh tất cả các đám mây điểm và do đó tái tạo lại toàn bộ bề mặt đối tượng.
Có nhiều thuật toán để đăng ký đám mây điểm. Tùy thuộc vào lĩnh vực ứng dụng, phương pháp tính toán chuyển động, chiến lược đăng ký đám mây điểm ứng với các thuật toán được thay đổi cho phù hợp. Trong đó, thuật toán được sử dụng phổ biết nhất là ICP, thuật toán này thực hiện đăng ký đám mây điểm bằng cách tìm giá trị nhỏ nhất khoảng cách giữa các điểm tương ứng, được gọi là điểm gần nhất. Dưới đây, thuật toán ICP sẽ được mô tả chi tiết.
Nhiệm vụ của thuật toán đăng ký đám mây điểm là tìm ra phép biến đổi hệ trục tọa độ tương đối H sẽ được áp dụng để dịch chuyển hai đám mây điểm càng gần nhau càng tốt. Thông thường đám mây điểm áp dụng phép biến đổi hệ trục tọa độ được gọi là đám mây điểm dữ liệu và đám mây điểm còn lại được gọi là đám mây điểm mô hình. Để tiện tính toán, gọi đám mây điểm dữ liệu là
P = (pi|i= 1,ã ã ã, N) và đỏm mõy điểm mụ hỡnh là M = (mi|i= 1,ã ã ã, N). Mục tiêu sau đó có thể được mô tả một cách toán học là tối thiểu hóa đại lượng e trong không gian metric, trong đó
e=f(M, HP). (3.5)
Trong không gian metric, cho trước điểm tương ứng giữa pi và mi, đại lượng e có thể được định nghĩa là
e= 1 N
XN i=1
kmi−Hpik2 (3.6)
Giả sử trong quá trình thực hiện chuyển dịch tương đối giữa Kinect v2 và đối tượng quét, hình dạng của đối tượng quét không thay đổi, khi đó phép biến đổi hệ trục tọa độ tương đối H chỉ bao gồm phép biến đổi quay được đại diện bởi ma trận quay R và phép biến đổi tịnh tiến được đại diện bởi ma trận tịnh tiến T. Phương trình 3.6 được biến đổi thành
e= 1 N
XN i=1
kmi−Rpi−Tk2 (3.7)
Phương trình 3.7 cần ước tính 6 tham số, ma trận quay có 3 tham số, ma trận tịnh tiến có 3 tham số, sao cho đại lượng e nhận giá trị nhỏ nhất. Theo lý thuyết toán học, cần biết ít nhất ba cặp điểm tương đồng để tính toán các tham số trên. Có hai phương pháp để xác định các cặp điểm tương đồng, thứ nhất là phương pháp tự động và thứ hai là phương pháp thủ công. Đối với phương pháp tự động, thuật toán ICP được đề xuất bởi Besl và McKay trong tài liệu [62] giải quyết vấn đề này bằng cách sử dụng các điểm gần nhất trước khi thực hiện phép biến đổi hệ tọa độ tương đối làm giá trị ban đầu, tiếp đến sẽ tìm các tham số trong hai ma trận R và T và cuối cùng áp dụng phép biến đổi hệ tọa độ tương đối vừa tìm được cho đám mây điểm dữ liệu. Quá trình được lặp đi lặp lại cho đến khi hội tụ, sử dụng đám mây điểm dữ liệu đã chuyển đổi ở mỗi bước làm đầu vào để tính các điểm gần nhất tiếp theo. Đây được gọi là thuật toán ICP theo không gian Point-to-Point. Quy trình thực hiện thuật toán ICP bao gồm các bước dưới đây
1. Nhập các đám mây điểm dữ liệu P và mô hình M;
2. Khởi tạo quá trình lặp bằng cách thiết lập Pk = P, R = I, T = (0,0,0) và k = 0. Nếu có một vài ước tính sơ bộ cho ma trận quay R và ma trận tịnh tiến T thì sử dụng chúng để khởi tạo. Các bước 3 đến 6 của quy trình này được lặp lại cho đến khi hội tụ trong dung sai τ cho trước.
3. Tính điểm gần nhất Yk cho Pk trong M;
4. Tìm các ma trận quay Rk và tịnh tiến Tk tối ưu cho phép biến đổi hệ trục tọa độ tương đối giữa P0 và Yk;
5. Áp dụng phép biến đổi hệ trục tọa độ tương đối vừa tìm được cho điểm thứ k+ 1 theo công thức Pk+1 =RkPk +Tk.
6. Tìm sai số ek của Yk và M. Dừng quá trình lặp nếu độ lệch sai số nằm dưới ngưỡng cho trước, cụ thể ek−ek+1 < τ.
Mặc dù thuật toán ICP mô tả ở trên được thể hiện để hội tụ, trên thực tế kết quả thực hiện rất nhạy cảm với nhiễu có trong các phép đo điểm và cả các vùng trống dữ liệu đám mây điểm. Cùng thời gian với Besl và McKay công bố nghiên cứu của mình, Chen và Medioni đã giới thiệu một thuật toán ICP khác của riêng họ [63]. Họ đã sử dụng khoảng cách từ điểm đến mặt phẳng tiếp tuyến trong đám mây điểm khác để phù hợp điểm và tối thiểu hóa mục tiêu, minh họa như hình 3.19. Nói chung quy trình thực hiện tương tự như đã mô tả ở trên đối với thuật toán ICP của Besl và McKay, với đại lượng e trong không gian metric được cực tiểu hóa theo định nghĩa sau
e= XN
i=1
[(mi−Rpi−T)ã~ni]2 (3.8) trong đó ~ni là pháp tuyến tiếp xúc ước lượng của điểm mô hình thứ i. Để tìm các điểm tương đồng ở mỗi lần lặp, khoảng cách đến các mặt phẳng tiếp tuyến trong đám mây điểm mô hình phải được tối thiểu hóa. Nghiệm dạng đóng của thuật toán ICP này đã được trình bày trong [68].
Dựa trên kết quả nghiên cứu của các công bố trên, quá trình đăng ký đám mây điểm trên phần mềm Matlab được xây dựng thành câu lệnh pcregrigid.
Chất lượng quá trình đăng ký đám mây điểm ngoài việc phụ thuộc vào dữ liệu nhiễu và điểm ngoại lai còn phụ thuộc vào các điều kiện ban đầu của thuật toán ICP. Chính vì vậy, lựa chọn thuật toán ICP và điều kiện ban đầu của nó nhằm
PSfrag replacements
nguồn nguồnĐiểm
Điểm
đích
đích Mặt phẳng
tiếp tuyến
Bề mặt
Bề mặt
Véc tơ pháp tuyến
Hình 3.19: Thuật toán ICP theo không gian Point-to-Plane (nguồn: [68])
tăng chất lượng quá trình số hóa của quá trình tái tạo hình học bề mặt các sản phẩm cơ khí sử dụng Kinect v2 sẽ được khảo sát.
Để thực nghiệm đánh giá thuật toán ICP và các điều kiện ban đầu của nó, dữ liệu đám mây điểm tại vị trí khảo sát số 5 và 8 ở trong mục 2.4 trong chương 2 được tiếp tục sử dụng. Cụ thể, tất cả các điều kiện ban đầu của thuật toán ICP được giữ giá trị mặc định, chỉ thay đổi không gian Metric, đồng thời thiết lập ma trận quay và tịnh tiến ban đầu lần lượt là R =I, T = (0,−120,0). Đầu tiên kết quả đám mây điểm sau đăng ký theo các không gian Point-to-Point và Point-to-Plane được minh họa trong hình 3.20.
-60 -40 -20 0 20 40 60
-140 -120 -100 -80 -60 -40
(a) Không gian Point-to-Point
-60 -40 -20 0 20 40 60
-140 -120 -100 -80 -60 -40
(b) Không gian Point-to-Plane Hình 3.20: Đám mây điểm khi lựa chọn thuật toán ICP
Với không gian Point-to-Plane, đám mây điểm tại vị trí khảo sát số 5 sau khi đăng ký sẽ được kết nối với đám mây điểm tại vị trí khảo sát số 8 và được biểu diễn trong hình 3.20b, sai số bình phương trung bình gốc biểu thị khoảng cách Euclide giữa hai đám mây điểm có giá trị là5,11mm, giá trị trung bình của tọa độ z của các điểm trong đám mây điểm là 1251mm ứng với độ lệch chuẩn là 2,36mm. Các ma trận quay và ma trận tịnh tiến ước tính là
R=
0,0,99890442 −0,0,99750449 −0,−0,01130555 0,0137 0,0549 0,9984
và T =
−20,8091 −195,8887 4,5633 Tương tự, không gian Point-to-Point, đám mây điểm tại vị trí khảo sát số 5 sau khi đăng ký sẽ được kết nối với đám mây điểm tại vị trí khảo sát số 8 và được biểu diễn trong hình 3.20a, sai số bình phương trung bình gốc biểu thị khoảng cách Euclide giữa hai đám mây điểm có giá trị là 4,71mm, giá trị trung bình của tọa độ z của các điểm trong đám mây điểm là 1250,7mm ứng với độ lệch chuẩn là 2,03mm. Các ma trận quay và ma trận tịnh tiến ước tính là
R=
0,0,99990019 −0,0,996500032 −0,−0,01570838 0,0159 0,0838 0,9964
vàT =
−22,6176 −238,6814 9,2637 Như vậy, khi đăng ký các đám mây điểm thu nhận từ Kinect v2, thuật toán ICP theo không gian Point-to-Point cho kết quả chính xác hơn thuật toán theo không gian Point-to-Plane.
Một thí nghiệm tiếp theo, khảo sát sự ảnh hưởng của số lượng điểm trong hai đám mây điểm được đăng ký đến chất lượng của quá trình đăng ký đám mây điểm. Tiếp tục sử dụng dữ liệu đám mây điểm tại vị trí khảo sát số 5 và 8 ở trong mục 2.4 trong chương 2, hai quá trình đăng ký đám mây điểm được thực hiện bởi thuật toán ICP theo không gian Point-to-Point; thứ nhất, chọn đám mây điểm tại vị trí khảo sát số 5 (số lượng điểm ít hơn: 647 điểm) làm đám mây điểm mô hình, đám mây điểm tại vị trí khảo sát số 8 làm đám mây điểm dữ liệu; thứ hai ngược lại chọn đám mây điểm tại vị trí khảo sát số 8 (số lượng điểm nhiều hơn: 860 điểm) làm đám mây điểm mô hình, đám mây điểm tại vị trí khảo sát số 5 làm đám mây điểm dữ liệu. Các điều kiện ban đầu khác của thuật toán ICP sử dụng các giá trị mặc định. Kết quả thí nghiệm được mô tả trong hình 3.21.
-60 -40 -20 0 20 40 60
-140 -120 -100 -80 -60 -40
(a) Số lượng điểm nhiều hơn
-60 -40 -20 0 20 40 60
-20 0 20 40 60 80 100
(b) Số lượng điểm ít hơn Hình 3.21: Đám mây điểm kết quả khi chọn đám mây điểm tham chiếu Khi lựa chọn đám mây điểm mô hình có số lượng điểm nhiều hơn, đám mây điểm thu được sau khi đăng ký được minh họa trong hình 3.21a, sai số bình phương trung bình gốc biểu thị khoảng cách Euclide giữa hai đám mây điểm có giá trị là 4,89mm, giá trị trung bình của tọa độ z của các điểm trong đám mây điểm là 1250,7mm ứng với độ lệch chuẩn là 1,99mm. Các ma trận quay và ma trận tịnh tiến ước tính là
R=
0,0,99850435 −0,0,99710455 −0,−0,03070617 0,0335 0,0602 0,9976
và T =
−53,4592 −202,0469 5,6375 Khi lựa chọn đám mây điểm mô hình có số lượng điểm ít hơn, đám mây điểm thu được sau khi đăng ký được minh họa trong hình 3.21b, sai số bình phương trung bình gốc biểu thị khoảng cách Euclide giữa hai đám mây điểm có giá trị là 9,4mm, giá trị trung bình của tọa độ z của các điểm trong đám mây điểm là 1251mm ứng với độ lệch chuẩn là 2,04mm. Các ma trận quay và ma trận tịnh tiến ước tính là
R=
−0,0,96472620 0,0,26079643 0,0,03670386
−0,0253 −0,0468 0,9986
và T =
26,6316 168,6469 6,0138 Như vậy khi đăng ký đám mây điểm, lựa chọn đám mây điểm mô hình là đám mây điểm có số lượng điểm nhiều hơn sẽ cho kết quả chính xác hơn đám mây điểm có số lượng ít hơn.