Chủ Nhật, 2 tháng 12, 2012

Kinect và ứng dụng trong mobile robot (Phần 1)


1.Giới thiệu cơ bản về Kinect






Kinect 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 chí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 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.

1.1  cấu trúc phần cứng.

Bên trong Kinect bao gồm 1 camera RGB, cảm biến độ sâu , một dãy các microphone và 1 động cơ điều khiển góc nâng.

1.1.1       Camera RGB

Là một camera có 3 kênh dữ liệu có độ phân giải 1280x960. Camera này có khả năng chụp lại ảnh ảnh mầu.

1.1.2       Cảm biến độ sâu

Độ sâu thu về nhờ sự kết hợp của 2 bộ phận là bộ phát hồng ngoại IR và camera hồng ngoại đọc các tín hiệu phản hồi về từ đó tính toán ra bản đồ độ sâu.

1.1.3       DãyMicrophone

Dãy Micro bao gồm 4 micro được bố trí dọc theo thân Kinect có khả năng thu lại âm thanh đồng thời xác định hướng của âm thanh. Dãy Microphone này được dùng trong các ứng dụng điều khiển bằng giọng nói.
Ngoài ra Kinect còn có 1 cảm biến đo gia tốc để xác định hướng và 1 động cơ dùng để điều khiển góc ngẩng camera.
Trong số những cảm biến kể trên của Kinect, cảm biến độ sâu có khả năng ứng  dụng cao trong đề tài robot tránh mục tiêu.

1.2  Nguyên lý các cảm biến độ sâu.

Cặp cảm biến IR camera và IR projector sẽ phối hợp với nhau để tạo ra giá trị độ sâu bằng công nghệ Light Coding của PrimeSense.

Kĩ thuật Light Coding dùng 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 khoảng cách. Việc tính toán này được thực hiện bằng chip PS1080 Soc của PrimeSen.
Projector 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 IR camera 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 IR camera và Projector.

 1.3  Các dữ liệu đo được từ cảm biến.


Các cảm biến của Kinect được điều khiển đồng thời thu thập và xử lý dữ liệu thông qua chip PS1080 có tần số 12MHz, sau đó được lưu trữ vào bộ nhớ Flash. Các dữ liệu này có thể truyền vào máy tính thông qua cổng USB 2.0.

Các tín hiệu thu thập bao gồm dữ liệu về độ sâu, màu sắc và âm thanh trong đó tín hiệu về độ sâu là dữ liệu quan trọng có nhiều dụng.
Sở dĩ dữ liệu về chiều độ sâu có tầm quan trọng như vậy bởi nó giúp việc nhận dạng các vật thể đơn giản hơn nhiều so với xử lý ảnh thông thường.  Các thuật toán xử lý ảnh thông thường dựa vào sự tương đồng về mầu sắc, tuy nhiên, có thể những vật có mầu sắc tương tự nhau nhưng không cùng một vật thể  hoặc các phần của cùng một đối tượng nhưng có mầu khác nhau,do vậy gây khó khăn trong quá trình nhận dạng. Trong khi đó, với thông tin về độ sâu,  các vật thể được phân biệt với nhau thông qua vị trí. Những điểm có khoảng cách gần nhau có xu hướng cùng một đối tượng mà không phân biệt mầu sắc.  Chỉ khi độ sâu giảm đột ngột như ở cạnh và ở một số phần nhỏ của đối tượng thì khi đó, hình ảnh trên bản đồ độ sâu mới có sự thay đổi.
Một ưu điểm nữa của bản đồ độ sau đó là dữ liệu có thể được nén cao hơn so với  ảnh mầu thông thường do đó thích hợp trong việc truyền dẫn nhanh tín hiệu.
Các thuật toán nhận dạng đối với ảnh độ sâu đơn giản hơn và thậm chí có thể tái tạo lại vật thể 3D.
Từ những phân tích trên ta có thể thấy được những ưu điểm của bản đồ độ sâu và nó rất thích hợp để ứng dụng trong các đề tài về robot tự hành.

1 nhận xét: