Nghiên cứu phương pháp tính toán tọa độ của một điểm thuộc bề mặt vật thể sử dụng Kinect sensor.Đưa ra phương pháp xác định khoảng cách từ kinect đến trục bàn xoay bằng phần mềm để phục vụ chuyển đổi hệ tọa độ.Sử dụng thư viện mã nguồn mở PCL để xử lý, hiệu chỉnh hình thành ponit cloud vật mẫu hoàn chỉnh từ quá trình quét riêng rẽ để thành nên mô hình vật thể.Thực nghiệm kiểm chứng kết quả.
Trang 2NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Phạm Đức Hiển MSHV: 1570348
Ngày, tháng, năm sinh: 20/09/1989 Nơi sinh: Thanh Hóa
Chuyên ngành: Kỹ thuật cơ điện tử Mã số : 60520114
I TÊN ĐÈ TÀI:
THIẾT KẾ MÁY QUÉT 3D SỬ DỤNG KINECT SENSOR (AN APPROACH OF MICROSOFT KINECT FOR 3D SCANNER)
II NHIỆM VỤ VÀ NỘI DUNG:
- Nghiên cứu phương pháp tính toán tọa độ của một điểm thuộc bề mặt vật thể sử dụng Kinect sensor
- Đưa ra phương pháp xác định khoảng cách từ kinect đến trục bàn xoay bằng phần mềm để phục vụ chuyển đổi hệ tọa độ
- Sử dụng thư viện mã nguồn mở PCL để xử lý, hiệu chỉnh hình thành ponit cloud vật mẫu hoàn chỉnh
từ quá trình quét riêng rẽ để thành nên mô hình vật thể
-Thực nghiệm kiểm chứng kết quả
NGÀY GIAO NHIỆM VỤ: (Ghi theo trong QĐ giao đề tài)
III NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo ừong QĐ giao đề tài)
IV CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên):TS LÊ THANH HẢI
Trang 3Lời cảm ơn
LỜI CẢM ƠN
Đầu tiên, em xin chân thành cảm ơn thầy TS Lê Thanh Hải, người đã tận tình hướng dẫn, chỉ bảo và tạo điều kiện ừong quá trình thực hiện đề tài
Em xin cảm ơn quý thầy cô bộ môn Cơ điện tử - Khoa Cơ khí - trường Đại học Bách Khoa
Tp Hồ Chí Minh đã cung cấp, truyền thụ kiến thức và kinh nghiệm trong suốt thời gian họctập
Xin cảm ơn bạn bè, đồng nghiệp, gia đình đã luôn đồng hành và tạo điều kiện để tôi có thể hoàn thành đề tài bên cạnh công việc của mình
Học viên
Phạm Đức Hiển
Trang 4TÓM TẮT LUẬN VĂN
Công nghệ 3D đã xuất hiện từ rất sớm, hiện nay công nghệ này đã phát triển mạnh mẽ nhưmột cuộc cách mạng công nghiệp làm thay đổi khái niệm về thiết ke chế tạo Cùng với sự pháttriển của kỹ thuật thiết ke ngược là sự phát ttiển của công nghệ quét 3D
Luận vãn trình bày về phương án thiết kế máy quét 3D sử dụng Kinect sensor Các nộidung nghiên cứu của luận văn bao gồm: Tìm hiểu nguyên lý, phương pháp tính tọa độ sử dụngKinect, đưa ra phương án tìm chính xác khoảng cách từ tâm camera hồng ngoại của Kinect tớitâm bàn xoay nhằm phục vụ quá trình chuyển đổi hệ tọa độ để từ đó xây dựng lại hệ tọa độ củatoàn bộ bề mặt vật thể, tìm hiểu và ứng dụng về các giải pháp phần mềm để tối ưu hóa việc lậptrình xử lý cho máy quét sử dụng Kinect sensor
Cuối cùng luận vãn cũng chế tạo mô hình thực nghiệm để kiểm chứng kết quả nghiên cứu cũng như tạo nền tảng quá trình nghiên cứu phát triển và ứng dụng vào thực tiễn
Trang 6PHỤ LỤC
Trang 71.1 Đặt vấn đề
4.9 Cùng với sự phát triển của kỹ thuật thiết ke ngược là sự phát triển của công nghệquét 3D Máy quét 3D là một thiết bị phân tích một đối tượng thực hoặc môi trường để thu thập
dữ liệu về hình dạng, kích thước bề ngoài của vật thể Các dữ liệu được lưu trữ dưới dạng số và
có thể được sử dụng để xây dựng mô hình ba chiều kỹ thuật số Khái niệm về máy quét 3D đã
có từ giữa thế kỷ 20 Đốn những năm 1980s, vói sự phát triển mạnh của công nghệ so (digitaltechnology) và khả năng xử lý ngày càng nhanh của máy tính, công nghệ xử lý ảnh ngày càngphát triển trong đó có những nghiên cứu và ứng dụng về số hóa (digitization) và tái xây dựng(reconstruction) vật thể trên máy tính đã tạo tiền đề thúc đẩy sự phát triển mạnh mẽ của côngnghệ quét 3D
4.10 Nhiều công nghệ khác nhau có thể được sử dụng để xây dựng các thiết bị quét3D, mỗi công nghệ đi kèm vói những lợi thế, hạn chế riêng và chi phí của nó
4.11 Dữ liệu 3D thu thập được rất hữu dụng cho một loạt các ứng dụng Các thiết bịnày được sử dụng rộng rãi trong các ngành công nghiệp giải trí trong việc sản xuất các bộ phim
và các trò chơi, ứng dụng phổ biến khác của công nghệ này bao gồm thiết kế công nghiệp, chếtạo ngược, lấy mẫu, kiểm soát chất lượng và kiểm tra
4.12 Trong những năm gần đây quét 3D đã được quan tâm và nghiên cứu mạnh mẽ
Đi cùng với sự phát triển đó có nhiều phương pháp ứng dụng để thiết kế máy quét 3D: Phươngpháp tiếp xúc, phương pháp không tiếp xúc Trong phương pháp không tiếp xúc lại chia làm 2loại: Chủ động và bị động
Danh sách hình
ảnh
7
Trang 84.13 Phương pháp chủ động có ưu điểm là đơn giản, tính hiệu quả cao trong việc tạothành vật thể 3D trong thế giới thật từ camera Trong loại chủ động này có nhiều phương pháphiện thực: Dùng ánh sáng có cấu trúc từ máy chiếu kết họp 1 camera, dùng 2 camera như stereovision, mô hình chiếu vạch laser trong đó vật mẫu được chiếu bởi vạch laser màu, sau đó cácđiểm ảnh của laser, sự biến dạng của đường laser trong ảnh được đưa vào tính toán để tái cấutrúc lại bề mặt của vật thể trong không gian 3 chiều.
4.14 Có nhiều phương pháp tiếp cận đề tài: Ánh sáng có cấu trúc, time of flight, phương pháp giao thoa
- Yêu cầu calibration cho 2 camera
- Quá trình tính toán trải qua nhiều bước phức tạp
- Phụ thuộc vào không gian sáng
- Phụ thuộc vào vật liệu bề mặt vật thể
• Time-of-Flight (ToF)
4.19 Ưu điểm:
Trang 9- Chỉ cần 1 camera.
- Mô hình hình học 3D thu được theo thời gian thực
- Giảm thiểu sự phụ thuộc vào không gian sáng
- Hầu hết là không phụ thuộc vào bề mặt vật thể
4.20 Trong phương pháp này có 2 kỹ thuật
4.21 + Tính toán thời gian đi về của tia sáng
4.22
4.23
4.24 Hình 1.2: Mô tả xác định khoảng cách dựa vào thời gian [2]
4.25 Nhược điểm:
- Yêu cầu độ chính xác của thiết bị đo thòi gian cao
- Đo xung ánh sáng trở lại là không chính xác, do tán xạ ánh sáng
4.26 + Phương pháp dựa vào độ lệch pha xung nguồn sáng đi và về
Trang 104.29 Hình 1.3: Mô tả xác định khoảng cách dựa vào độ lệch pha
4.30 Nhược điểm:
- Tỉ lệ khung hình bị giới hạn bởi thời gian tích hợp
- Thời gian để xử lý thông tin thời gian lâu
1.2 Những ứng dụng của máy quét 3D
4.31 Hiện nay máy quét 3D được sử dụng trong nhiều lĩnh vực khác nhau:
- Trong cơ khí chế tạo, đo đạc, kiểm tra sản phẩm chế tạo
- Trong điện ảnh để xây dựng các mô hình 3D nhân vật, vật thể
- Trong khảo cổ, xây dựng để đo đạc thiết kế các công trình
- Trong công nghiệp sản xuất: sản xuất giày dép, khuôn mẫu
- Trong lĩnh vực y khoa dùng tái tạo mô hình bộ phận cơ thể ngưòi
4.32 Tùy vào từng lĩnh vực, đối tượng áp dụng, máy quét 3D có những yêu cầu cụ thể
về độ chính xác, phương pháp thu thập dữ liệu
4.33 1.2.1 Máy quét 3D dùng trong công nghiệp
Trang 114.34 ứng dụng đầu tiên của công nghệ scan 3D là thiết kế ngược Thiết kế ngược làquy trình thiết kế lại mẫu - mô hình vật lý cho trước thông qua số hóa bề mặt mẫu bằng thiết bị
đo tọa độ, và xây dựng mô hình thiết kế từ dữ liệu số hóa Ưu điểm của phương phápthiết kếngược là cho phép thiết kế nhanh và chính xác mẫu thiết kế có độ phức tạp hình học cao, hoặcmẫu dạng bề mặt tự do (không xác định được quy luật tạo hình)
4.35 Các máy quét 3D ừong công nghiệp được sử dụng cho mục đích là lấy dữ liệu CAD 3D của vật thể
4.36
1.2.2 Máy quét 3D dùng trong khảo cổ, xây dựng
4.37 Trong lĩnh vực khảo cổ, máy quét 3D được sử dụng để xây dựng, mô hình hóa lại cáccông trình kiến trúc, các đối tượng khảo cổ Trong lĩnh vực xây dựng, máy quét 3D dùng để mô hìnhhóa lại không gian địa hình, các công trình xây dựng
1.2.3 ứng dụng để đo sản phẩm
4.38 Scan 3D hỗ ttợ mạnh ttong kiểm tta 3D vậy nên không thể không nói đến ứng dụng đo
và kiểm tra sản phầm của công nghệ scan 3D này Sản phẩm sau khi sản xuất xong sẽ phải qua bướckiểm tra chất lượng, quy cách trước khi nhà sản xuất đưa nó ra thị trường Với sản phẩm có bề mặtphức tạp (đặc biệt là các chi tiết cơ khí, điện tử, vi mạch ) đòi hỏi độ chính xác cao, công nghệ scan3D sẽ giúp doanh nghiệp thực hiện bước này nhanh hơn và có độ tin cậy cao hơn
Trang 124.43 ứng dụng này hỗ ượ được ưên những sản phẩm khó, có hàng ngàn chi tiết cần đo kiểm
mà hệ thống CMM không thể can thiệp
1.2.4 Máy quét 3D dùng ưong y tế
4.44 Trong lĩnh vực y tế, máy quét 3D được sử dụng chủ yếu là mô hình hóa lại các bộ phận
cơ thể để từ đó có thể tái tạo lại bộ phận khiếm khuyết cho bệnh nhân
Trang 134.46 Hình 1.6: ứng dụng máy quét xây dựng mô hình hàm răng dưới4.47
- Nha khoa: Tạo niềng răng, hàm
- Mặt: Tạo các mô hình mặt nạ điều ừị các nạn nhân bỏng
- Tay: Làm găng tay tùy biến cho bệnh nhân
- Các bộ phận cơ thể khác: Làm tay, chân giả
4.48 1.3 Tình hình nghiên cứu và ứng dụng máy quét 3D ở Việt Nam
4.49 Tại Việt Nam, máy quét 3D chưa được ứng dụng rộng rãi ừong các ngành sản xuất Hiệntại tuy có một số nhà cung cấp thiết bị và dịch vụ quét 3D nhưng vẫn còn hạn chế về mặt sốlượng, giá thành cao
4.50 Hầu hết các máy quét 3D đều được nhập từ nước ngoài vói giá thành cao
4.51 Một số nhà cung cấp dịch vụ quét 3D ừên thị trường hiện nay như:
4.52 - Scantech Việt Nam (là đại diện độc quyền tại Việt Nam cho các hang Scan3D danh tiếng thế giới STEINBICHLER (GERMANY), tập đoàn Artec Group (Luxembourg-EU), LEICA (Switzerland), Shining 3D (China)
4.53 - 3D smart solutions
Danh sách hình
ảnh
13
Trang 144.54 Các doanh nghiệp này ừang bị các thiết bị quét 3D để quét mẫu 3D phục vụ chủ yếu lĩnhvực thiết ke ngược, khuôn mẫu.
4.55 Ngoài ra phòng thí nghiệm Trọng điểm Quốc gia Điều khiển số và Kỹ thuật hệ thống(DCSELAB) ĐH Bách Khoa TP.HCM vừa chế tạo thành công máy quét 3D vào năm 2014 sử dụnglazer kết hợp camera
1.4 Tính cấp thiết của đề tài
4.56 Những năm gần đây, công nghệ 3D đã có những bước tiến lớn về mức độ phổ biến Máy
in 3D, máy quét 3D không còn giới hạn trong phạm vi nghiên cứu ở phòng thí nghiệm hay nhà máy mà
nó đã trở thành sản phẩm ứng dụng rất nhiều trong cuộc sống Tuy nhiên giá thành của những sản phẩmnày vẫn còn khá cao đối với thị trường Việt Nam, hầu hết đều được nhập khẩu từ nước ngoài nên khó
có khả năng được ứng dụng rộng rãi
4.57 Ke từ khi giới thiệu vào tháng 11 năm 2010, ban đầu Kinect được biết tới như là mộtthiết bị đầu vào, là cảm biến chuyển động do hãng Microsoft sản xuất dành cho Xbox 360 và máy tínhWindows vói mục đích nâng cao trải nghiệm của ngưòi dùng Xbox 360 lên một tầm cao mới, vượt xacách chơi game truyền thống, người chơi game không cần tay cầm điều khiển, thông qua giao diệnngười dùng tự nhiên sử dụng cử chỉ và lời thoại
4.58 Nhưng theo thời gian, mọi người bắt đầu sử dụng Kinect theo những cách mà chínhMicrosoft chưa hề tưởng tượng đến Từ việc hỗ trợ ừẻ khuyết tật, giúp bác sĩ trong phòng phẫu thuậtcho tới cải thiện môi trường giáo dục, tiềm năng của Kinect đã vươn lên ngoài ứng dụng trò chơi Và
đã trở thành hiệu ứng Kinect (Kinect Effect), như Microsoft chia sẻ trên blog
4.59 Và Kinect như một cảm biến 3D giá rẻ Sự ra đời của cảm biến có thể cung cấp dữ liệuchiều sâu với một độ chính xác tốt và với một mức giá hợp lý đã cung cấp như những công cụ cần thiết
để thực hiện ý tưởng của mình và giới thiệu cách triển khai mới và cách tiếp cận những vấn đề cũ.4.60 Phương pháp quét sử dụng Kinect đã được sử dụng ừên the giới, nhiều nhà nghiên cứu
đã tìm cách cải tiến độ chính xác khi sử dụng phương pháp như A Kolb, E Barth, R Koch, and R.Larsen [3], R Lange [4],
Trang 154.61 Cùng vói sự phát triển mạnh của công nghệ 3D, phòng thí nghiệm robotics WillowGarage ở Menlo Park, California đã cho ra đời bộ thư viện nguồn mở PCL vói khả năng hỗ trợ lọc, xử
lý các point cloud, các phương pháp đăng ký, hiệu chỉnh để hình thành point cloud vật mẫu hoàn chỉnh
từ các bề mặt point cloud được quét riêng rẽ, cuối cùng hình thành bề mặt vật mẫu
4.62 Ở Việt Nam, đề tài này còn khá mói mẻ, hầu hết các máy quét 3D được nghiên cứu, thiết
kế và chế tạo sử dụng công nghệ laser kết hợp camera Vói mong muốn tiếp cận, học hỏi công nghệ 3Dcòn mới mẻ và tìm kiếm phương án khả thi để phục vụ nhu cầu ương nước vói chi phí thấp nhưng cókhả năng ứng dụng trong nhiều lĩnh vực không có yêu cầu khắt khe về độ chính xác, có khả năng phổbiến đến nhiều đối tượng để sử dụng
4.63 Đe tài được nghiên cứu thực hiện đưa ra phương án khả thi chế tạo mô hình máy quét3D sử dụng Microsoft Kinect để có thể quét vật thể và đưa ra mô hình 3D cho các ứng dụng
1.5 Mục tiêu nghiên cứu của đề tài
4.64 Đề tài được thực hiện nhằm tiếp cận, học hỏi công nghệ 3D Một bước quan ừọng ttong côngnghiệp tạo mẫu nhanh, in 3D Để từ đó xác định được phương án khả thi chế tạo máy quét 3D đơngiản, tạo nền tảng để hướng tới phát triển sản phẩm hoàn thiện
4.65 Để xây dựng mô hình 3D của vật thể Các bước cơ bản để thực hiện quá trình quét vật thể 3D[5-6],
Danh sách hình
ảnh
15
Trang 164.67 Hình 1.7: Các bươc cơ bản để quét vật thể 3D
- Thu thập dữ liệu: Giai đoạn thu thập dữ liệu bao gồm việc chụp và thu thập dữ liệu độ sâu từ tất
cả các mặt của đối và thực hiện các hoạt động cần thiết để cho công việc lưu trữ
- Lưu trữ: Giai đoạn này xác định cách dữ liệu thu được có thể được lưu trữ, truy xuất và sử dụngcho các bước tiếp theo
- Đăng ký: Giai đoạn đăng ký sẽ sắp xếp các dữ liệu trùng nhau và lưu trữ dưói dạng theo cáchình thức thiết lập để tạo thành các hình dạng đối tượng cuối cùng
- Xây dựng mô hình: Từ thông tin dữ liệu lưu trữ, thông qua quá trình tính toán, số hóa tạo lưới
để tái dựng mô hình vật thể hoàn chỉnh
4.68 về cơ bản để xây dựng mô hình 3D bằng phương pháp quét có 2 bước chính: số hóa vật thể vàtái dựng
- Số hóa: Bằng phương pháp quét 3D thu được đám mây điểm bề mặt vật thể dưói dạng tọa độ.Thực tế bước này rất phức tạp, ttải qua nhiều bước nhỏ Be mặt vật thể là tập hợp của các điểm,
từ đó phải xây dựng được phương án đưa các điểm về chung hệ tọa độ, ghép nối các điểm đểhình thành đám mây điểm bề mặt hoàn chỉnh
- Tái dựng: Tạo lưới, xây dựng lại mô hình vật thể từ đám mây điểm quét được
Trang 174.704.71 Hình 1.9: Giới hạn phạm vi thực hiện đề tài
4.72
4.73 Các mục tiêu chính của đề tài bao gồm:
4.74 - Tìm hiểu thành phần cấu tạo, đặc điểm cũng như chức năng của thiết bị Kinect
- Tìm hiểu và nghiên cứu phương pháp tọa độ point cloud theo nguyên lý tam giác lượng
- Tìm hiểu và đưa ra phương pháp xác định khoảng cách từ Kinect tới trục bàn xoay bằng phầnmềm để phục vụ cho chuyển đổi hệ tọa độ
- Sử dụng thư viện mã nguồn mở PCL (Point Cloud Library) để xử lý, hiệu chỉnh hình thànhpoint cloud vật mẫu hoàn chỉnh từ quá trình quét riêng rẽ để thành nên mô hình vật thể
4.76 - Tiến hành thi công mô hình: Thử nghiệm, đánh giá nhận xét cũng như đề xuất phương
án cải tiến
Danh sách hình
ảnh
17
Trang 181.6 Đối tượng và phạm vi nghiên cứu
4.77 Như đã đề cập, có nhiều phương pháp tiếp cận để nghiên cứu thiết kế máy quét 3D: Sửdụng 2 camera, 1 camera và 1 máy phát laser, ánh sáng được mã hóa, time of flight Máy quét 3D sửdụng Kinect sử dụng ánh sáng có cấu trúc là đối tượng nghiên cứu của đề tài Với ưu điểm: Không tiếpxúc vật mẫu, thiết kế đơn giản, tốc độ nhanh
4.78 Đe tài thực hiện nhằm mục tiêu tiếp cận học hỏi công nghệ 3D để tỉm kiếm phương ánthiết ke khả thi với chi phí thấp, có khả năng phổ biến cho nhiều đối tượng ở các lĩnh vực không đòi hỏikhắt khe về độ chính xác
4.79 Đề tài tập trung nghiên cứu thiết kế máy quét sử dụng Kinect cho những vật thể khôngquá lớn và có bề mặt không quá phức tạp Đe thu được toàn bộ dữ liệu bề mặt vật thể cần quét, vật thể
sẽ được đặt ừên một bàn xoay Bàn xoay được thiết kế xoay 360 độ với các bước xoay cố định Phương
án sử đụng động cơ stepper để điều khiển dịch chuyển bàn xoay
4.80 Cảm biến Kinect được đặt sao cho ừong vùng làm việc của nó và có thể thấy rõ bề mặtvật thể được quét Tuy nhiên để nâng cao độ chính xác của kết quả quét cũng như giới hạn không gianlàm việc Phương án đặt Kinect ừong với khoảng cách vào khoảng 1 mét so với trục bàn xoay
4.81 Với nguyên lý hoạt động của phương pháp quét Đề tài xác định mục tiêu thiết kế nhưsau:
1.7 Tóm lược nội dung luận văn
4.82 Luận vãn gồm 5 chương với cấu trúc như sau:
- Chương 1: Giới thiệu tổng quan về máy quét 3D và các nghiên cứu liên quan, phân tích các ưukhuyết điểm của các phương pháp ứng dụng quét 3D Mục tiêu và phạm vi nghiên cứu của đềtài
- Chương 2: Trình bày lý thuyết của phương pháp quét sử dụng Kinect Đưa ra ý tưởng thiết kế
mô hình
Trang 19- Chương 3: Thiết kế mô hình máy quét thử nghiệm, cấu tạo phần cứng, tổng quan phần mềm,phương pháp xác định khoảng cách từ cảm biến tới trục bàn xoay vật thể và trình bày các công
cụ, ngôn ngữ lập trình, giải thuật điều khiển
- Chương 4: Tổng hợp kết quả đạt được Đánh giá kết quả
4.83cho đề tài.Chương 5: Ket luận và đề ra hướng phát triển để tiếp tục
Danh sách hình
ảnh
19
Trang 204.84 CHƯƠNG 2: cơ SỞ LÝ THUYẾT
4.85 Trong chương này sẽ trình bày cơ sở lý thuyết hoạt động của cảm biến MicrosoftKinect, xây dựng hệ tọa độ đám mây điểm của bề mặt vật thể và sử dụng ngôn ngữ lập trình để
xử lý thông tin
4.86 2.1 Cảm biến Kinect
4.87 Kinect là một thiết bị đầu vào, là cảm biến chuyển động do hãng Microsoft sảnxuất dành cho Xbox 360 và máy tính Windows Dựa trên một webcam kiểu add-on ngoại vicho Xbox 360, nó cho phép người dùng điều khiển và tương tác với Xbox 360 mà không cầnphải dùng đến một bộ điều khiển tay cầm, thông qua một giao diện người dùng tự nhiên bằng
cử chỉ và lệnh nói
4.88 Thiết bị được giới thiệu vào tháng 11 năm 2010 như một phụ kiện của Xbox
360 Cảm biến chiều sâu (depth sensor) được sử dụng trong Kinect được phát triển bỏi ZeevZalevsky, Alexander Shpunt, Aviad Maizels và Javier Garcia năm 2005 Kinect đã chính thứcđược công bố vào ngày 01 tháng 6 năm 2009, dưới cái tên "Project Natal", (Natal là tên mộtthành phố ở Brazil, nơi sinh của 1 giám đốc dự án này)
4.89 Khả năng nhận dạng cử chỉ của Kinect dựa trên 2 đặc tính sau: Thông tin về độsâu ảnh (depth map), khả năng phát hiện và bám theo đặc tính cơ thể ngưòi (body skeletontracking) Bên cạnh phục vụ much đí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ỉ, bám theo ngưòi [7-9],
Trang 214.98 • Cấu tạo phần cứng
4.99
4.100 Hĩnh 2.2: cẩu tạo Kỉnect
4.101 • Sơ đồ khối các thành phần cơ bản của Kinect
4.102
4.103
4.104 Hình 2.3: Sơ đồ khối của Kỉnect
4.105 • Hệ thống cảm biến chiều sâu
- Bao gồm bộ phát hồng ngoại (Infrared light) và camera hồng ngoại (depth image CMOS) Kích cỡ ảnh là 640x480 pixel, tốc độ chụp 30 khung hình mỗi giây
Trang 224.106 + Phạm vi mặc định có sẵn ừong cả hai bộ cảm biến Kinect cho Windows và cáccảm biến Kinect cho Xbox 360.
4.107 + Phạm vi gần là chỉ có ừong cảm biến Kinect cho Windows
4.108
4.109 Hĩnh 2.4: Khoảng cách làm việc của Kinect
- Theo tính toán của Nicolas Burrus [10], ông đã công thức hóa được quan hệ giữa giá ttịkhoảng cách thật z (m) và giá ừị độ chênh lệch d
4.110 _z = / (2.1)4.111 (-0.0030711016xd+ 3.3309495161)
4.112 Trong đó d là số nguyên biểu diễn dưới dạng 11 bit (0-2047) Với kết quả thựcnghiệm trên thư viện OpenNI, giá ừị z biến thiên ừong khoảng 0.5 - 6.Om và bản đồ độ sâu ổnđịnh trong khoảng 0.5 - 5.0m Do đó giá trị d thực sự biến thiên ừong khoảng 434-1030 Nhưvậy trong không gian từ 0 - 0.5m phía trước, Kinect không thể đưa ra bản đồ độ sâu, đây cũng
là một nhược điểm của thiết bị Kinect
4.113 • Camera RGB-D
- Chức năng chính của camera là nhận biết 3 màu cơ bản là đỏ, xanh lá cây và xanh datrời (Red-Green-Blue) Quá trình chụp bao gồm việc chụp một ảnh màu (RGB) và thựchiện một phép đo độ sâu (D) Cảm biến hình ảnh kết hợp với cảm biến chiều sâu nằm ởgần nhau, cho phép sáp nhập bản đồ, cho ra hình ảnh 3D Thông tin ảnh RGB-D được
NDúììãlViiluứi
Trang 23lưu trữ Với kích cỡ 1280x960 pixel, tốc độ 12 khung hình/giây Với kích cỡ 640x480pixel, tốc độ chụp 30 khung hình/giây Từ đây cho thấy, khi thiết lập độ phân giải thấphơn thì tốc độ chụp và truyền hình ảnh là cao hơn Vói dữ liệu sâu thu được, nó sẽ tạo
ra một bản đồ về bộ xương ngưòi đứng ở trước cảm biến Và với bộ xương đó, nó cóthể xác định được cử chỉ, hành động của người sử dụng
• Động cơ, máy đo gia tốc, micro
- Động cơ: Nằm ở đế của cảm biến Kinect Nó có khả năng làm cho cảm biến hướng lêntrên cao và hạ xuống thấp Vói khả năng này sẽ giúp cho cảm biến có thể thu được hìnhảnh cao hơn rất nhiều so với khi không có bộ động cơ
- Máy đo gia tốc: Kinect sử dụng nó để xác định người đứng trước, đứng sau ừong khiđo
- Micro: Bao gồm 4 micro nhỏ, hoạt động như nhau ở 16 bit với tốc độ lấy mẫu là 16kHz(số mẫu/giây)
• Phần mềm hỗ ừợ
- Thư viện Libfreenect: Libfreenect là thư viện được phát triển bởi OpenKinect Cộngđồng Openkinect phát triển bởi Libfreenect thành một mã nguồn mở cho các hệ điềuhành khác nhau Windows, Linux Hiện tại Libfreenect được đóng gói cho việc sử dụngừên nhiều ngôn ngữ lập trình
- OpenNI: Thư viện OpenNI được xem là thư viện phổ biến nhất trước sự có mặt củaKinect SDK 1.0, thư viện này hỗ trợ đa ngôn ngữ trên nhiều platform khác nhau, giúpcho việc tiếp cận lập trình trên Kinect dễ dàng tương tác tự nhiên (NI: NaturalInteraction)
Chương 2: Cơ sở lý
thuyết
23
Trang 24- Thư viện Kinect SDK: Cung cấp cho nhà phát triển những bộ cảm biến có chiều sâu,camera cảm biến màu sắc và xác định nguồn âm thanh Các nhà phát triển cũng có thểtheo dõi ảnh ở dạng khung sườn của một hay hai người đang di chuyểntrong vùng hoạtđộng của Kinect, để từ đó các nhà phát triển có thể tạo ra những ứng dụng hướng theo
cử chỉ
4.114 • Nguồn cung cấp và công suất tiêu thụ
4.115 - Kinect cần nhiều điện năng để hoạt động nên cổng chia USB của Xbox-360không thể đáp ứng mà phải qua một cổng chia để chia thành 2 kết nối riêng là USB vàkết nối nguồn 12VDC được lấy từ adapter Vói kết nối USB, Kinect hoàn toàn có thểgiao tiếp với máy tính
4.116
4.117 Hình 2.5: Nguồn làm việc cho Kinect
4.118 - Công suất tiêu thụ theo thực nghiệm [11]
4.119 Power consumption (idle) 4.120 -3.3W
4.121 Power consumption
4.123
4.124 • Không gian làm việc
4.125 Vùng hoạt động của hệ thống là 43 độ dọc, 57 độ theo chiều ngang
Trang 254.127 Hĩnh 2.6: Không gian làm việc của Kinect
4.128
4.129 2.2 Mô hình máy quét
4.130 Phương pháp này sử dụng 1 cảm biến Kinect và một cơ cấu để xoay vật thể Vậtthể được quét sẽ được đặt trên bàn xoay 360 độ [12-14], Trục của bàn xoay theo phương thẳngđứng
4.131 Kinect có cạnh dưói song song với mặt bàn xoay Khoảng cách từ Kinect tới trụcbàn xoay không cần thiết phải cố định như các phương pháp sử dụng laser Khoảng cách nàychỉ cần thỏa mãn yêu cầu nằm ừong vùng hoạt động của Kinect Tuy nhiên để tối ưu hóa giá trịsai số cũng như giới hạn kích thước khu vực quét Đề tài lựa chọn khoảng cách tự trục bàn xoaytới Kinect dao động trong khoảng lm
Chương 2: Cơ sở lý
thuyết
25
Trang 264.132 Một vấn đề đặt ra tiếp theo là tính ưu điểm của máy quét sử dụng Kinect khikhông cố định khoảng cách tới trục bàn xoay tức khoảng cách này không biết trước Và đâycũng trở thành khó khăn trong quá trình xác định khoảng cách này Kinect có thể trả về kết quả
là khoảng cách, do đó để xác định khoảng cách từ Kinect tới tâm bàn xoay, sẽ chế tạo một mặtphẳng tham chiếu chứa trục bàn xoay Sau đó sẽ lập trình tính toánkhoảng cách từ Kinect tớimặt phẳng tham chiếu này chính là khoảng cách từ Kinect tới trục bàn xoay
4.133
4.134 Hình 2.7: Mô hĩnh máy quét
Trang 274.135 2.3 Nguyên lý phương pháp quét sử dụng Kinect
4.136 Một ương những đặc tính quan trọng nhất của Kinect đó là thu về giá trị độ sâuhay giá trị khoảng cách tói vật thể trong thế giới thực Sau đây sẽ nói về nguyên lý hoạt độngcủa Kinect trong việc tính toán giá trị này
4.137
4.138
4.139 Hình 2.8: cấu tạo bên trong kinect
4.140 Ban đầu, máy phát tia hồng ngoại sẽ phát ra tia hồng ngoại trong vùng hoạt độngcủa nó và tạo ra một cấu trúc các điểm sáng ừên vật thể, thông qua phản chiếu về hình ảnh,camera hồng ngoại sẽ thu thập cấu trúc này, cho kết quả là một hình ảnh vật thể với nhữngchiều sâu khác nhau [15-16], Mô hình này được chụp bằng máy ảnh hồng ngoại và có tươngquan vói một mô hình tham chiếu mẫu Các mô hình tham chiếu thu được được bằng cách chụpmột mặt phẳng ở khoảng cách xác định tói cảm biến và được lưu trữ trong bộ nhớ của cảmbiến Khi một đốm được chiếu lên một đối tượng khoảng cách của nó tới cảm biến nhỏ hơn haylớn hơn so vói mặt phang tham chiếu, thì vị trí của các đốm trong hình ảnh hồng ngoại sẽ dịchchuyển theo hướng của đường cơ sở giữa đầu phát laser và tâm máy ảnh hồng ngoại
4.141 Sự dịch chuyển được đo cho tất cả các đốm sáng bằng sự tương quan so với môhình mẫu, từ đó cho ra ảnh
Trang 284.148 Hình 2.10: Mối quan hệ về độ sâu và dịch chuyển ảnh
4.149 Hình ttên minh họa mối quan hệ giữa khoảng cách của một đối tượng điểm k tói
cảm biến và mối tương quan với một mặt phẳng tham chiếu và độ chênh lệch d [18-20],
Trang 294.150 Xây dựng hệ tọa độ có gốc tại tâm của camera hồng ngoại.
Trang 30- Và trục Y dễ dàng xác định bằng quy tắc bàn tay phải.
4.151 Giả sử rằng một đối tượng là ttên mặt phẳng tham chiếu ở khoảng cách zovà mộtđốm sáng trên đối tượng được chụp ttên mặt phẳng ảnh của máy ảnh hồng ngoại Nếu đối tượngdịch chuyển gần hơn (hoặc xa) so với cảm biến, thì vị trí của đốm trên mặt phang ảnh sẽ được
di dời theo hướng X Sự dịch chuyển này sẽ được đo trong không gian hình ảnh với chênh lệch
d tương ứng với một điểm k ừong không gian vật thể.
4.152 Dựa vào quan hệ đồng dạng ta có:
4.153 D 4.154 b zo
4.155 Và
4.156 (2.2)4.157 Trong đó:
- zk là khoảng cách (độ sâu) của điểm k trong không gian thực
- b là khoảng cách cơ sở giữa camera và máy phát hồng ngoại
- f là tiêu cự của máy ảnh hồng ngoại.
- d là độ chênh lệch trong không gian ảnh
4.158 Thay (2.2) vào (2.1) ta có:
4.159 (2.3)(2.1)
Trang 314.160 Tọa độ trong mặt phẳng XY được tính toán dựa vào hệ tọa độ ảnh và tỉ lệ tương ứng
4.161
4.162 Y k=-y(y k -y ữ -òy)
4.163 Trong đó:
4.164 x k và y k - Tọa độ trong hệ tọa độ ảnh của điểm k
4.165 X Q và Vo: Tọa độ của điểm tham chiếu
4.166 8x và 8y. Hệ số méo cần điều chỉnh của thấu kính camera
4.167 Như vậy, tọa độ của một điểm bất kỳ trên bề mặt vật thể được quan sát bởi cảmbiến có hệ tọa độ tại tâm của camera hồng ngoại được biểu diễn dưói dạng tổng quát như sau:
4.173 - Chuyển đổi hệ tọa độ từ tâm camera hồng ngoại tới tâm bàn xoay nhờ phéptịnh tiến một khoảng z
4.174 7 = [0 0 -Z] 7 '
4.3
(2.4)(2.5)(xk-xữ-ổx)
(2.7)
Trang 324.178 Hình 2.11: Quá trình chuyển đổi hệ tọa dộ'21'4.179 Khi quét vật thể với Kinect, luôn luôn có một phần bề mặt vật thể không nhìnthấy bởi Kinect Giả sử điểm p nằm ở phần bề mặt vật thể Kinect không quét được Để quétđược toàn bộ bề mặt vật thể, bàn xoay sẽ xoay và điểm p sẽ ừở thành điểm quan sát được đốivới Kinect Để có thể xây dựng lại bề mặt vật thể ta cần có tất cả các điểm có chung hệ tọa độ
Ban đầu điểm p có tọa độ P(x, y, z) Khi xoay quanh trục bàn xoay (trục y) tới vị trí mới sẽ là p'(x', y', z').
Trang 344.190 P'=Py, a P 4.191 Từ đó suy ra được được hệ tọa độ ban đầu P(x, y, z) theo phép biến đổi
4.192 P-Py^P
4.193
X
4.1944.195 c osa
4.1960
4.197 sin a4.198
-y
4.199
= 4.200 04.201
1 4.202 04.203
z
4.2044.205 sina 4.2060 4.207 cosa4.208 Bằng cách sử dụng phép biến đổi (2.12), quá ttình quét tất cả các điểm
thuộc bề mặt vật thể từ nhiều hướng khác nhau sẽ thống nhất hệ tọa độ phục vụ cho quá trình
xây dựng lại bề mặt vật thể
(2.14)
X x'.cosa-z' sin a
z x'sina + z'cosa
1)(2.12)(2.13)
Trang 354.209 CHƯƠNG 3: CHẾ TẠO MÁY QUÉT THỬ NGHIỆM
4.210 Vói nguyên lý hoạt động và mô hình đã đề cập ở các chương trước, trongchương này sẽ nêu cấu tạo và chức năng của mô hình máy quét, phương pháp chuẩn địnhcamera, phương án sử dụng, phần mềm và giải thuật xử lý
4.211 3.1 Cấu tạo phần cứng máy quét Sơ đồ khối máy quét thử nghiệm
4.212
4.2134.214 Hình 3.1: Sơ đồ khối hệ thống điều khiển
4.215 Các thành phần chính của máy quét thử nghiệm trong đề tài bao gồm:
4.216 o 1 kinect Xbox 360
4.217 o 1 máy tính cá nhân
4.218 o 1 động cơ bước + driver
4.219 o Mạch điều khiển động cơ bước Arduino Uno
4.220 Mạch điều khiển là thiết bị trung gian giữa máy tính và thiết bị, làm nhiệm vụnhận và xử lý thông tin từ máy tính sau đó cung cấp thông tin tới thiết bị
4.221 Hệ thống bao gồm khối thu hình ảnh và độ sâu ảnh từ Kinect được kết nối vớimáy tính qua cổng USB, khối điều khiển là Arduino nhận tín hiệu điều khiển từ máy tính thôngqua giao tiếp RS232, Arduino điều khiển việc xoay động cơ bước, động cơ được cấp nguồn12V từ mạch nguồn được tạo ra từ IC LM7812 Máy tính là trung tâm điều khiển và xử lýthông tin
Chương 3: Chế tạo máy quét
thử nghiệm
35
Trang 364.222 Mô hình sử dụng mạch điều khiển Arduino Uno R3 dùng để điều khiển chuyểnđộng xoay cho động cơ bước Arduino là tên gọi của bộ hardware và software mã nguồn mở rấtphổ biến sử dụng các MCU ATmega của AVR Arduino board có rất nhiều phiên bản với hiệunăng và mục đích sử dụng khác nhau như: Arduino Mega, Arduino LilyPad Trong số đó,Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tínhlinh động của nó.
4.223
4.224 Hình 3.2: Mạch điều khiển Arduino Uno
4.225 Thông số cơ bản của Arduino Uno R3
ta
<?
nunril*n
Trang 374.246 iL ỲIF;I iLirfrilr I Aiàim 1,11
Trang 384.267 Hình 3.3: Giao diện phần mềm viết code cho Arduino
Trang 394.268 Động cơ được sử dụng là động cơ bước Động cơ bước có những ưu điểm như
điều khiển vị trí, tôc độ chính xác không cần mạch phản hồi (điều khiển mạch hở) do quay theo
từng bước Tạo được mô men giữ ừong vùng tốc độ nhỏ (nhờ vào tác dụng hãm lại của từtrường rotor)
- Độ phân giải: 200 bước/ chu kỳ (1.8 độ/bước)
- Lực kéo (Holding Torque): 65N.cm
- Đường kính trục: 5mm
4.272 Driver động cơ bước TB6560
4.273 Modul điều khiển động cơ bước TB6560 là module chuyên dụng để điều khiển các loạiđộng cơ bước lưỡng cực Module có các chế độ điều khiển full bước, nửa bước và vi bước.Phương pháp điều khiển đơn giản, cho phép tùy chọn dòng ra điều khiển động cơ từ 0.3A đến3A
í ■
Chương 3: Chế tạo máy quét
thử nghiệm
39
Trang 404.276 Hình 3.5: Driver điều khiển động cơ bước
4.277 Thông số kỹ thuật
• Điện áp đầu vào: Từ 10V - 35 VDC
• Dòng tối đa đầu ra: 3.5A
4.278 • Kích thước: 70mm X 50mm X 35mm
• Sử dụng chip TB6560AHQ của Toshiba có chức năng bảo vệ quá nhiệt và quá dòng
• Sử dụng thích hợp với động cơ bước 3A, 3.5A
• Chức năng tự động giảm 1/2 dòng điện khi quá tải
4.279step, 1/16 step.Làm việc với các chế độ: Full step, half step, 1/8