Luận văn Khôi phục không gian 3d trong nhà sử dụng cảm biến kinnect (Phần 1)

pdf 22 trang phuongnguyen 140
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Khôi phục không gian 3d trong nhà sử dụng cảm biến kinnect (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_van_khoi_phuc_khong_gian_3d_trong_nha_su_dung_cam_bien.pdf

Nội dung text: Luận văn Khôi phục không gian 3d trong nhà sử dụng cảm biến kinnect (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ KHÔI PHỤC KHÔNG GIAN 3D TRONG NHÀ SỬ DỤNG CẢM BIẾN KINNECT GVHD: ThS. NGUYỄN TẤN NHƯ SVTH: HUỲNH LUÂN ĐÔ MSSV: 10901084 S K L 0 0 4 2 2 9 Tp. Hồ Chí Minh, tháng 2/2016
  2. BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ-CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP NGÀNH SƯ PHẠM KỸ THUẬT ĐIỆN TỬ ĐỀ TÀI: KHÔI PHỤC KHÔNG GIAN 3D TRONG NHÀ SỬ DỤNG CẢM BIẾN KINNECT GVHD: ThS. Nguyễn Tấn Như SVTH : Huỳnh Luân Đô Lớp : 10901084 MSSV : 109010C Tp. Hồ Chí Minh - 2/2016
  3. PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1. Thông tin sinh viên Họ và tên: Nguyễn Hoàng Phương MSSV: 10901057 Tel: 0941838367 Email: 10901057@student.hcmute.edu.vn Họ và tên: Huỳnh Luân Đô MSSV: 10901084 Tel: 0946384642 Email: 10901084@ student.hcmute.edu.vn 2. Thông tin đề tài Tên của đề tài: Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect. Mục đích của đề tài: Khôi phục không gian 3D trong nhà từ việc ghép những đám mây điểm được thu thập từ môi trường thực tế với nhau. Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Viễn Thông, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Thời gian thực hiện: Từ ngày 10/10/2015 đến 20/01/2016 3. Các nhiệm vụ cụ thể của đề tài - Kết nối Kinect và máy vi tính. - Tiến hành chụp ảnh trong phòng mẫu để sử dụng làm dữ liệu đầu vào. - Xử lý nguồn dữ liệu ảnh bằng các chương trình có trên máy tính. - Hoàn thiện kết quả cuối cùng. 4. Lời cam đoan của sinh viên Tôi – Huỳnh Luân Đô cam đoan ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của thạc sỹ Nguyễn Tấn Như. Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình nào khác. Tp.HCM, ngày tháng năm 2016 SV thực hiện đồ án Huỳnh Luân Đô Tp.HCM, ngày tháng năm 2016 Xác nhận của Bộ Môn Giáo viên hướng dẫn (Ký ghi rõ họ tên và học hàm học vị)
  4. TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc Bộ Môn Điện Tử Công Nghiệp Tp. Hồ Chí Minh, ngày 10 tháng 10 năm 2015 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1:Huỳnh Luân Đô Lớp: 10901C MSSV: 10901084 Họ tên sinh viên 2:Nguyễn Hoàng Phương Lớp: 10901C MSSV: 10901057 Tên đề tài:Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect. Xác nhận Tuần/ngày Nội dung GVHD Tuần 1 10/10/2015 Gặp giáo viên hướng dẫn, chọn đề tài. Tuần 2 12/10/2015 Cài đặt chương trình sử dụng trong đề tài (Ubuntu 14.04, ROS Indigo) 14-16/10/2015 Tìm hiểu về ROS cấp độ 1 (filesystem, stack, package, service ) Tuần 3 21-23/10/2015 Tìm hiểu về ROS cấp độ 2 (Computation Graph, node, message, topic, Bags ) Tuần 4 27-30/10/2015 Hoàn thành thuật toán cơ bản. Tuần 5 02/11/2015 Nghiên cứu về visuazilation (cloudviewer). 03/11/2015 Nghiên cứu bộ lọc, passthrough, voxelgrid. 04/11/2015 Nghiên cứu bộ lọc extract indices, remove outdier. 05/11/2015 Nghiên cứu về thuật toán tìm mặt phẳng vector điểm. Tuần 6 09/11/2015 Cài đặt gói hỗ trợ driver cho Kinect (OpenNI), chụp ảnh vật mẫu. 10-11/11/2015 Nghiên cứu tài liệu về hình học không gian. 12/11/2015 Tìm hiểu về điểm đặc trưng (keypoint). Tuần 7 16-17/11/2015 Nghiên cứu về thuật toán tìm điểm đặc trưng NARF. 18/11/2015 Nghiên cứu về thuật toán Kd-tree. Tuần 8 23-24/11/2015 Tìm hiểu về thuật toán mô tả FPH. 25/11/2015 Tìm hiểu về thuật toán ICP.
  5. Tuần 9 04/12/2015 Tìm hiểu về ma trận dịch chuyển và tìm ra sự tương quan giữa hai đám mây điểm. Tuân 10 11/12/2015 Tiến hành chụp ảnh và xử lý ghép lọc vật mẫu, thu thập vật mẫu. 13/12/2015 Tiến hành lọc và tìm mặt phẳng vector điểm. Tuần 11 18/12/2015 Tiến hành viết luận văn (nội dung cơ sở lý thuyết). 19/12/2015 Tiến hành tìm điểm mô tả điểm đặc trưng. Tuần 12 26/12/2015 Tiến hành tìm điểm tương đồng, ma trận dịch chuyển, ghép các dữ liệu lại với nhau. Tuần 13 Viết luận văn. Tuần 14 Chỉnh sửa luận văn. Tuần 15 Hoàn thành luận văn. GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)
  6. LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi đến Thầy, ThS. Nguyễn Tấn Như lời cảm ơn chân thành và sâu sắc nhất. Nhờ có sự hướng dẫn và giúp đỡ tận tình của Thầy trong suốt thời gian qua, chúng em đã có thể thực hiện và hoàn thành Đồ Án Tốt Nghiệp. Những lời nhận xét, góp ý và hướng dẫn tận tình của Thầy đã giúp chúng em có một định hướng đúng đắn trong suốt quá trình thực hiện đề tài, giúp chúng em nhìn ra được những ưu khuyết điểm của đề tài và từng bước hoàn thiện hơn. Đồng thời, chúng em xin trân trọng cảm ơn các Thầy Cô của Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nói chung và của khoa Điện – Điện tử nói riêng đã dạy dỗ chúng em suốt quãng thời gian ngồi trên ghế giảng đường Đại học. Những lời giảng của Thầy Cô trên bục giảng đã trang bị cho chúng em những kiến thức và giúp chúng em tích lũy thêm những kinh nghiệm. Bên cạnh đó, chúng tôi xin cảm ơn sự hỗ trợ và giúp đỡ của bạn bè trong thời gian học tập tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh và trong quá trình hoàn thành luận văn tốt nghiệp này. Cuối cùng, chúng con cũng chân thành cảm ơn sự động viên và sự hỗ trợ của gia đình và cha mẹ trong suốt thời gian học tập. Đặc biệt, chúng con xin gửi lời cảm ơn trân trọng nhất đến cha mẹ, người đã sinh ra và nuôi dưỡng chúng con nên người. Sự quan tâm, lo lắng và hy sinh lớn lao của cha mẹ luôn là động lực cho chúng con cố gắng phấn đấu trên con đường học tập của mình. Một lần nữa, chúng con xin gửi đến cha mẹ sự biết ơn sâu sắc nhất. Hồ Chí Minh, ngày 20 tháng 01 năm 2016 Huỳnh Luân Đô
  7. MỤC LỤC Danh sách các bảng i Danh sách các hình ii CHƯƠNG 1. DẪN NHẬP 9 1.1 Đặt vấn đề 9 1.2 Lý do chọn đề tài 9 1.3 Nội dung nghiên cứu 10 1.4 Giới hạn đề tài 10 1.5 Bố cục 11 CHƯƠNG 2. CƠ SỞ LÍ THUYẾT 12 2.1 Kinect 12 2.1.1 Giới thiệu chung 12 2.1.2 Những thành phần chính của Kinect 13 2.1.3 Tính toán độ sâu 14 2.1.4 Một số đặc tính khác 17 2.2 Tổng quan về Robot Operating System (ROS) 19 2.3 Tổng quan về Point Cloud Library (PCL) 20 2.4 Mô tả 3D 21 2.5 Thuật toán voxel and downsampling 22 2.6 Thuật toán NARF 23 2.7 Thuật toán normal 25 2.8 Thuật toán mô tả FPH 26 2.9 Thuật toán K-d tree FLANN 28 CHƯƠNG 3. PHƯƠNG PHÁP – KẾT QUẢ THỰC HIỆN 30 3.1 Sơ đồ khối 30 3.2 Thu thập dữ liệu 31 3.3 Lọc và giảm mẫu 33 3.4 Tìm điểm đặc trưng 35
  8. 3.5Mô tả đám mây điểm 37 3.6 Tìm – kết nối điểm tương đồng 37 3.7 Dịch chuyển và xoay để ghép các đám mây điểm với nhau 38 CHƯƠNG 4. KẾT LUẬN - HƯỚNG PHÁT TRIỂN 42 4.1 Kết luận 42 4.2 Hướng phát triển 42 TÀI LIỆU THAM KHẢO 43
  9. DANH SÁCH CÁC BẢNG BẢNG TRANG Bảng 2.1 Bảng thông số so sánh tiêu chuẩn hai camera 18 Bảng 2.2. Bảng công suất adapter 18 i
  10. DANH SÁCH CÁC BẢNG HÌNH TRANG Hình 2.1. Thiết bị Kinect 12 Hình 2.2. Những thành phần chính của Kinect 13 Hình 2.3. Bên trong Kinect 14 Hình 2.4. Quá trình thu về bản đồ độ sâu ảnh 14 Hình 2.5. Mẫu hình được chiếu bởi projecter và chụp lại bằng camera hồng ngoại 15 Hình 2.6. Tính toán khoảng cách tới một điểm chiếu từ Projector 16 Hình 2.7. Kinect adapter 18 Hình 2.8. Hệ thống ROS đơn giản 19 Hình 2.9. Biểu tượng PCL 20 Hình 2.10. Tìm kiếm tính năng mô tả 3D 22 Hình 2.11.a. Trước khi lọc 23 Hình 2.11.b. Sau khi lọc 23 Hình 2.12. Biểu đồ biểu diễn lượng điểm trước và sau khi lọc 23 Hình 2.13. Ảnh trước và sau tìm điểm đặc trưng sử dụng thuật toán NARF 24 Hình 2.14. Vector normal biễu diễn hướng của mặt phẳng 25 Hình 2.15. Vector normal của một mặt phẳng 26 Hình 2.16. Các đặc tính ở góc, cạnh của cặp điểm ps và pt 27 Hình 2.17. Sơ đồ tác động của một điểm FPH 27 Hình 2.18. Ví dụ về FPH của hai điểm đại diện trong một đám mây 28 Hình 2.19. Không gian biểu diễn bằng thuật toán K-d tree FLANN 29 Hình 3.1. Kết nối Kinect với máy tính và adapter 31 Hình 3.2. Kết nối Kinect với máy tính thành công 31 Hình 3.3. Giao diện chụp ảnh bằng Kinect 32 Hình 3.4. Không gian làm việc trên nền tảng ROS 32 Hình 3.5. Hình ảnh được chụp từ Kinect 33 Hình 3.6. Bức ảnh gốc trước khi lọc và giảm mẫu với 322171 điểm 34 Hình 3.7. Ảnh sau khi lọc và giảm mẫu còn 121878 điểm 34 Hình 3.8. Ảnh sau khi lọc và giảm mẫu còn 10931 35 Hình 3.9. Keypoint trên ảnh. 36 Hình 3.10. Điểm đặc trưng của ảnh 36 Hình 3.11Mô tả những điểm đám mây bằng thuật toán FPH. 37 ii
  11. Hình 3.12. Các điểm đặc trưng ghép cặp với nhau 37 Hình 3.13. Đám mây điểm ảnh 0 và 1 38 Hình 3.14. Đám mây điểm ảnh 0 và 1 đã được giảm mẫu 39 Hình 3.15. Hai đám mây điểm 0 và 1 trong cùng một hệ tọa độ 39 Hình 3.16. Ma trận chuyển tọa độ 40 Hình 3.17. Hai đám mây điểm đang trong quá trình ghép với nhau 40 Hình 3.18. Kết quả của quá trình ghép hai ảnh 41 iii
  12. TÓM TẮT Theo dự đoán trong tương lai, robot sẽ là tâm điểm của một cuộc cách mạng lớn sau Internet. Con người sẽ có nhu cầu sở hữu một robot cá nhân như nhu cầu một máy tính như bây giờ. Với xu hướng này, cùng các ứng dụng truyền thống khác của robot trong công nghiệp, y tế, giáo dục đào tạo, giải trí và đặc biệt là trong an ninh quốc gia thì thị trường robot sẽ vô cùng to lớn. Đề tài luận văn hướng đến việc ứng dụng công nghệ xử lí ảnh 3D cho robot tự hành, tạo tiền đề cho việc xây một bản đồ không gian 3D phục vụ các lĩnh vực cần thiết trong công nghiệp cũng như trong cuộc sống. Trong thời gian nghiên cứu có giới hạn nên trong quyển đề tài này chỉ thực hiện những phần trọng tâm để đi đến kết quả sớm nhất có thể. Thứ nhất, đó là phần cơ sở lý thuyết, chỉ trình bày trọng tâm những phần cơ bản và có liên quan đến việc tạo một không gian 3D nhằm giúp cho người đọc có thể tiếp thu và hiểu nhanh nhất về những lý thuyết mà nhóm sinh viên chúng tôi đã chọn lọc lại sao khi tìm hiểu. Bao gồm: sơ lược về cấu tạo và hoạt động của cảm biến Kinect, hệ điều hành của robot - Robot Operating System (ROS), thư viện xử lý ảnh 3D Point Cloud Library (PCL), cùng các thuật toán mô tả 3D, SHOT, NARF, RIFT, FPH Thứ hai là trình bày từng bước thực hiện cụ thể trong quá trình xây dựng không gian 3D cùng với những kết quả trực quan mà nhóm đã thực hiện được. Trong phần này, chúng tôi đã định hướng cách xây dựng không gian 3D thông qua sơ đồ khối. Sau đó, là thu thập dữ liệu bằng kinect để tạo dữ liệu đầu vào cho quá trình phân tích: lọc và giảm mẫu, tìm điểm đặc trưng, mô tả đám mây điểm để tạo cơ sở nhận diện và kết nối những điểm tương đồng và cuối cùng là dịch chuyển và xoay để ghép các đám mây điểm với nhau và đây cũng là cơ sở để tạo một không gian 3D liền lạc từ những khung ảnh 3D rời rạc. Cuối cùng, là phần kết luận và những hướng có thể phát triển đề tài để có thể tự rút kết ra những gì đã thực hiện được, những gì chưa thực hiện được, những hạn chế khuyết điểm của quá trình nghiên cứu từ đó hoàn thiện đề tài và có những phát triển cao hơn nhằm phục vụ cho con người.
  13. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect Chương 1: DẪN NHẬP 1.1. ĐẶT VẤN ĐỀ Trước tiên chúng ta cần xét một số đề tài liên quan: Đề tài 1: Implementing Kinect Sensor for Building 3D Map Indoor Environment [1] Ưu điểm của đề tài là đã khôi phục được không gian của một căn phòng trong nhà, giải thích cặn kẽ từng bước thực hiện là cần làm những gì và làm như thế nào, thích hợp cho những người mới tìm hiểu về Kinect. Nhược điểm: đề tài vẫn chưa xử lý được không gian của một căn phòng phức tạp, chứa đựng nhiều vật dụng và không gian của căn phòng vẫn còn nhiều hạn chế về khoảng cách. Đề tài 2: Robot tự hành tránh vật cản sử dụng thiết bị Kinect [7] Ưu điểm: sử dụng được công dụng của Kinect đưa vào mô hình thực tiễn, có tính thực tiễn cao. Nhược điểm: còn khó khăn trong quá trình vận hành vì chưa có phương hướng cụ thể cũng như tầm nhìn cho robot tránh vật cản, còn hạn chế trong việc dò đường. Đề tài 3: Ứng dụng Kinect nhận dạng vật thể sử dụng trong nhà. Ưu điểm: nhận dạng được vật thể như cái cốc, cuốn sách, bình hoa trong một không gian xác định. Nhược điểm: chưa nhận dạng được những vật thể có kích thước lớn, mỗi lần chỉ nhận dạng được một vật thể trong rất nhiều vật thể. 1.2 LÝ DO CHỌN ĐỀ TÀI Kế thừa những gì đã có từ 3 đề tài trên và lấy nó làm tài liệu để nghiên cứu nhóm tiến hành chọn đề tài “Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect”. Mục đích của đề tài là khôi phục được hình ảnh 3D trong nhà từ các hình ảnh chụp trước đó và lấy nó làm cộng cụ để phục vụ trong cuộc sống. 9 SVTH: Huỳnh Luân Đô
  14. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect Nhóm sẽ tiến hành thiết kế và xây dựng mô hình không gian 3D trong nhà.Thiết lập mô hình kết nối giữa Kinect với máy tính. Kinect tiến hành thu thập dữ liệu từ môi trường mà cụ thể là quét toàn bộ không gian trong nhà. Sau đó thông qua việc kết nối truyền dữ liệu về máy tính tiến hành phân tích, ghép ảnh 3D từ dữ liệu thu thập được và xây dựng mô hình không gian 3D trong nhà. Hình ảnh 3D của vật được phục hồi bằng công nghệ xử lý Point Cloud. 1.3 NỘI DUNG NGHIÊN CỨU Trong quá trình nghiên cứu, nhóm lần lượt thực hiện các bước cụ thể như sau: 1- Tìm hiểu về KINECT - thiết bị cảm biến ngoại vi sử dụng Point Cloud. 2- Tìm hiểu về ROS. 3- Tìm hiểu về Point Cloud. 4- Thiết kế giao diện xây dựng mô hình không gian 3D trong nhà và lập trình xử lý. 5- Kết nối Kinect với chương trình điều khiển. 6- Lập trình và kết nối Kinect để có thể nhận dạng vật thể. 7- Điều khiển thử nghiệm Kinect quét toàn bộ không gian trong nhà. 8- Chỉnh sửa các lỗi điều khiển, các lỗi lập trình gặp phải của chương trình. 9- Viết báo cáo luận văn. 10- Báo cáo đề tài tốt nghiệp. 1.4 GIỚI HẠN CỦA ĐỀ TÀI Đề tài chỉ dừng lại ở việc xây dựng mô hình không gian 3D trong nhà nên còn hạn chế trong việc tự động hóa di chuyển KINECT để quét toàn bộ không gian trong nhà. Đề tài chỉ dừng lại ở việc khôi phục hình ảnh ở trong nhà dưới một điều kiện ánh sáng tốt và số lượng vật thể không quá nhiều. 10 SVTH: Huỳnh Luân Đô
  15. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect 1.5 BỐ CỤC Chương 1: Đặt vấn đề liên quan đến đề tài. Tìm hiểu những lý do để chọn thực hiện đề tài, những hướng đi từ cơ bản đến cụ thể mà nhóm sinh viên sẽ thực hiện trong quá trình nghiên cứu đề tài. Chương 2: Cơ sở lý thuyết. Việc nghiên cứu về cấu tạo phần cứng của Kinect cũng như nguyên lý tạo ảnh 3D của nó cũng góp phần rất lớn vào việc thu thập dữ liệu và xử lý ảnh cho đề tài. Cùng với việc tìm hiểu các thư viện hỗ trợ Kinect đồng thời nắm rõ được một số câu lệnh thường sử dụng trong thư viện giúp cho việc hoàn chỉnh chương trình trở nên dễ dàng hơn. Chương 3: Phương pháp và kết quả thực hiện. Các bước thực hiện chi tiết, cụ thể được trình bày rõ ràng về toàn bộ đề tài mà nhóm đã thực hiện trong suốt thời gian qua. Từ lí thuyết đến những kết quả mà nhóm thực hiện được đều trải qua sự tìm tòi, chắc lọc sẽ mang đến một nền tảng tương đối vững chắc cho người xem về khái niệm ban đầu 3D Map. Chương 4: Kết luận và hướng phát triển. Các kết quả đã đạt được, chưa đạt và hướng phát triển. 11 SVTH: Huỳnh Luân Đô
  16. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect Chương 2: CƠ SỞ LÍ THUYẾT 2.1 KINECT 2.1.1 Giới thiệu chung Hình 2.1. Thiết bị Kinect Kinect [3] là sản phẩm của Microsoft dựa trên công nghệ camera được phát triển bởi PrimeSense, những sản phẩm đầu tiên được bán tại Bắc Mỹ vào ngày 4 tháng 11 năm 2010. Kinect được coi như là một thiết bị ngoại vi cho Xbox 360, cho phép giao tiếp với con người thông qua các cử chỉ, đem lại những cảm giác thú vị cho người chơi game trên Xbox. Khả năng hiểu được cử chỉ con người của Kinect dựa trên hai đặc tính sau: thông tin về độ sâu (depth map), khả năng phát hiện và bám theo đặc tính cơ thể người (body skeleton tracking). Bên cạnh phục vụ cho mục đích chơi game, sản phẩm Kinect còn được dùng vào mục đích nghiên cứu xử lý ảnh 3D, phát hiện cử chỉ (gesture recognition), bám theo người (body tracking) và nhiều mục đích khác. Lý do chính cho sự thành công của sản phẩm Kinect là giá cả khá rẻ (khoảng 140$ trên 1 sản phẩm) cho thiết bị có khả năng cung cấp các thông tin 3D với chất lượng chấp nhận được. 12 SVTH: Huỳnh Luân Đô
  17. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect 2.1.2 Những thành phần chính của Kinect. Hình 2.2. Những thành phần chính của Kinect. Kinect gồm có: camera màu, cảm biến độ sâu (3D Depth Sensors), dãy đa microphone (Multi-array Mic) và động cơ điều khiển góc ngẩng (Motorized Tilt). Camera màu: như một camera thông thường, có độ phân giải 640x480 với tốc độ 30fps. Cảm biến độ sâu: độ sâu được thu về nhờ sự kết hợp của hai cảm biến: đèn chiếu hồng ngoại (IR Projector) và camera hồng ngoại (IR Camera). Dãy đa microphone: gồm 4 microphone được bố trí dọc Kinect như trên hình 2.2, được dung vào các ứng dụng điều khiển bằng giọng nói. Động cơ điều khiển góc ngẩng: là loại động cơ DC khá nhỏ, cho phép ta điều chỉnh camera lên xuống để đảm bảo camera có góc nhìn tốt nhất. Một trong những đặc tính quan trọng nhất của Kinect đó là thu về giá trị độ sâu hay giá trị khoảng cách tới vật thể trong thê giới thực. Phần tiếp theo sẽ nói về nguyên lý hoạt động của Kinect trong việc tính toán giá trị này. 13 SVTH: Huỳnh Luân Đô
  18. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect 2.1.3 Tính toán độ sâu Hình 2.3. Bên trong Kinect Cặp cảm biến camera hồng ngoại và đèn chiếu hồng ngoại sẽ phối hợp với nhau để cho ra giá trị độ sâu ảnh bằng công nghệ Light Coding của PrimeSense. Hình 2.4. Quá trình thu về bản đồ độ sâu ảnh. 14 SVTH: Huỳnh Luân Đô
  19. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect Khác với kỹ thuật Stereo Camera với việc dùng cặp camera giống nhau để xây dựng nên bản đồ độ sâu hay kỹ thuật Time-Of-Flight (TOF) định nghĩa khoảng cách bằng ước lượng thời gian di chuyển của tia sáng đi. Và trong không gian: kỹ thuật Light Coding dùng một nguồn sáng hồng ngoại chiếu liên tục kết hợp với một camera hồng ngoại để tính toán khoảng cách. Công việc tính toán này được thực hiện bên trong Kinect bằng chip PS1080 SoC của PrimeSense. Công nghệ mới này được cho là đáp ứng chính xác hơn, giá cả rẻ hơn cho việc sử dụng ở môi trường trong nhà. Đèn chiếu hồng ngoại sẽ chiếu một chùm sáng hồng ngoại, tạo nên những đóm sáng không gian ở phía trước Kinect, tập hợp đám sáng được phát ra này là cố định. Những đốm sáng này được tạo ra nhờ một nguồn sáng truyền qua lưới nhiễu xạ (diffraction gratings). Tập hợp các đốm sáng này được camera hồng ngoại chụp lại, thông qua giải thuật đặc biệt được tích hợp trong PS1080 SoC cho ra bản độ độ sâu. Bản chất của giải thuật này là các phép toán hình học dựa trên quan hệ giữa hai cảm biến camera hồng ngoại và đèn chiếu hồng ngoại mà ta sẽ đề cặp sau. Hình 2.5 cho ta thấy rõ mẫu hình tập hợp các đốm sáng từ đèn chiếu hồng ngoại và được chụp lại bởi camera hồng ngoại. Hình 2.5. Mẫu hình được chiếu bởi đèn chiếu hồng ngoại và chụp lại bằng camera hồng ngoại. 15 SVTH: Huỳnh Luân Đô
  20. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect Để hiểu kiến thức Kinect ước lượng khoảng cách tới vật thể trong môi trường như thế nào, ta quan sát Hình 2.6 trong trường hợp phân tích với một điểm đơn giản. Hình 2.6. Tính toán khoảng cách tới một điểm chiếu từ Projector. Ta giả sử đèn chiếu hồng ngoại phát đi một tia sáng dọc đường màu xanh lá, nó sẽ được chụp lại dưới dạng một đốm sáng bởi camera hồng ngoại khi chạm vào bề mặt vật thể trong không gian. Ta xét ba mặt phẳng ở ba khoảng cách khác nhau: mặt phẳng gần Kinect (close plane), mặt phẳng ở xa Kinect (distant plane) và mặt phẳng tham chiếu (reference plane) ở giữa hai mặt phẳng trên. Trong đó, mặt phẳng tham chiếu ngầm được biết trước bên trong Kinect với đầy đủ thông tin về khoảng cách. Ngoài ra, ta cũng đề cập thêm mặt phẳng ảnh (image plane) của camera hồng ngoại, là mặt phẳng hình chiếu của các điểm trong không gian thu về bởi camera hồng ngoại. Ta xét trong ba trường hợp khi tia sáng màu xanh lá chạm vào ba điểm trên ba mặt phẳng lần lượt là A, B, C; ba điểm này được chiếu lên mặt phẳng ảnh tương ứng là A’, B’, C’. Quan sát vị trí A’, B’ và C’, ta có nhận xét: điểm A càng gần Kinect (hay close plane càng gần Kinect) thì A’ càng xa B’ về phía bên phải; ngược lại, điểm C càng xa Kinect (hay distant plane càng xa Kinect) thì C’ càng xa B’ về phía bên trái. Từ đó: khi ta biết trước hướng, điểm xuất phát của tia sáng từ đèn chiếu hồng ngoại và vị trí B’ là hình chiếu của điểm B trên mặt phẳng tham chiếu lên mặt phẳng ảnh, ta hoàn toàn có thể tính toán được độ sâu ảnh hay khoảng cách tới vật thể. 16 SVTH: Huỳnh Luân Đô
  21. Đồ án tốt nghiệp - Khôi phục không gian 3D trong nhà sử dụng cảm biến Kinect Kinect làm điều tương tự với tập hợp các đốm sáng còn lại phát đi từ đèn chiếu hồng ngoại, với mặt phẳng tham chiếu biết trước. Nó tìm điểm là tâm của đốm sáng mà camera hồng ngoại chụp lại được và điểm tương đồng của đốm sáng đó trên mặt phẳng tham chiếu (ví dụ: hình 2.6 ta có A và B, C và B là các cặp điểm tương đồng). Để tìm khoảng cách chênh lệch giữa hai điểm này theo chiều ngang khi chiếu về mặt phẳng ảnh và lưu ý là giá trị chênh lệch này được tính bằng đơn vị pixel. Tập hợp của tất cả các giá trị chênh lệch từ tập hợp đốm sáng, sẽ tạo nên bản đồ độ chênh lệch (disparity map), giá trị này càng lớn thì khoảng cách hay giá trị độ sâu ảnh (depth) càng lớn. Từ đó mà ta xây dựng được bản đồ độ sâu (depth map) với giá trị tính bằng mét thực sự. Tuy nhiên, do tập hợp số lượng đốm sáng phát đi từ đèn chiếu hồng ngoại nhỏ hơn so với tổng số pixel trên mặt phẳng ảnh của camera hồng ngoại nên một phần giá trị độ sâu ảnh còn lại sẽ được nội suy. Theo tính toán của Nicolas Burrus, một trong những người mở đường cho việc tìm hiểu về Kinect qua các thí nghiệm của ông. Ông đã công thức hóa được quan hệ giữa giá trị khoảng cách thật z tính bằng mét và giá trị độ chênh lệch d: (2.1) Trong đó d là con số nguyên biểu diễn dưới dạng 11 bit, tức khoảng thay đổi từ 0÷2047. Với kết quả đo đạc thực nghiệm trên thư viện OpenNI, giá trị z biến thiên trong khoảng 0.5÷6.0 mét và bản đồ độ sâu ổn định trong khoảng 0.5÷5.0 mét. Do đó, giá trị d thực sự biến thiên trong khoảng từ 434÷1030. Như vậy, trong không gian từ 0÷0.5 mét phía trước Kinect, Kinect không thể đưa về bản đồ độ sâu, đây là một nhược điểm sẽ được khắc phục. 2.1.4 Một số đặc tính khác Một số đặc tính khác của Kinect đáng quan tâm: tiêu cự và góc mở camera (field of view), nguồn cung cấp và công suất tiêu thụ, môi trường hoạt động. Kinect là sản phẩm thương mại của Microsoft nên các thông số kỹ thuật chi tiết không được công bố. Các thông số được trình bày dưới đây là kết quả đo đạc thực nghiệm: Tiêu cự, góc mở camera hồng ngoại và camera màu: Hai camera màu và hồng ngoại được đặt cách nhau 2.5 cm nên có chút khác nhau ở khung hình thu về từ hai camera. Để đảm bảo khung hình màu có thể chứa được khung hình hồng ngoại, người ta thiết kế góc mở của camera màu lớn hơn. Điều này cũng dẫn đến tiêu cự của camera màu nhỏ hơn. 17 SVTH: Huỳnh Luân Đô
  22. S K L 0 0 2 1 5 4