Hệ thống bản đồ và tầm nhìn camera đơn


17

Cách đây một thời gian, tôi đã thấy một bản demo của một 'bể đồ chơi' nhỏ với một camera duy nhất gắn trên nó. Chiếc xe tăng này đã có thể lái xe quanh sàn và phát hiện các vật thể và sau đó di chuyển / bẻ lái để tránh chúng. Điều thú vị là nó sử dụng một hệ thống camera quan sát duy nhất và theo như tôi nhớ là đã tận dụng sàn nhà bằng phẳng. và sau đó sử dụng tốc độ mà một tính năng đang di chuyển trong cảnh so với các động cơ và hướng di chuyển để đánh giá và từ đó lập bản đồ cảnh.

Bất cứ ai cũng có thể gửi cho tôi con trỏ những gì cần tìm kiếm để có thêm một số thông tin về điều này, hoặc một số gợi ý cho các cơ sở mã có thể làm điều này.

Lý do tôi hỏi là đây là một hệ thống camera duy nhất từ ​​một số năm trước (5+) và do đó (từ những gì tôi nhớ) là một tải tính toán tương đối thấp. Tôi dự định dùng thử Raspberry PI để chế tạo một chiếc xe hơi / xe tăng có bản đồ một căn phòng hoặc một bộ các phòng.


2
Chào mừng đến với người máy Ben. Vui lòng kiểm tra Làm thế nào để hỏitham quan cho một số gợi ý về cách viết câu hỏi thực tế, có thể trả lời dựa trên các vấn đề thực tế mà bạn gặp phải . Cảm ơn,
Mark booth

Câu trả lời:


4

Thật khó để nói chính xác những gì họ đã làm, nhưng các thuật ngữ bạn có thể muốn ở đây là " dòng quang " và " egomotion ". Âm thanh như có thể đã có một số tính năng phát hiện và kết hợp (một cái gì đó như SURF hoặc SIFT) hoặc phân đoạn tiền cảnh / hậu cảnh cũng được đưa vào.

OpenCV có lẽ là codebase được sử dụng rộng rãi nhất cho thị giác máy tính, chúng có rất nhiều chức năng để phân tích chuyển động . OpenCV nên chạy trên Raspberry Pi, mặc dù thuật toán của bạn có thể bị giới hạn bởi sức mạnh tính toán.


4

Dựa trên phản ứng của WildCrustcean , một khả năng khác sẽ là tầm nhìn âm thanh nổi . Mặc dù chúng ta thường nghĩ về tầm nhìn âm thanh nổi khi sử dụng hai camera, các kỹ thuật thực sự chỉ cần hình ảnh bị dịch chuyển trong không gian và một mô hình của sự dịch chuyển. Nói cách khác, tôi có thể chụp ảnh, di chuyển, sau đó chụp ảnh khác. Chừng nào tôi biết được sự biến đổi giữa hai hình ảnh này, sau đó tôi có thể sử dụng các kỹ thuật nhìn âm thanh nổi để tính khoảng cách đến một điểm trong hình ảnh.


2
Tôi nghĩ rằng kỹ thuật mà bạn đang nói đến được gọi là "Cấu trúc từ chuyển động".
Kozuch

1

Nó có thể đã được sử dụng theo dõi và lập bản đồ PTAM của Parellel . PTAM là một triển khai của vấn đề Bản đồ hóa và Bản đồ hóa Đồng thời (SLAM) sử dụng một camera duy nhất để xây dựng bản đồ 3D về thế giới và bản địa hóa bằng cách theo dõi các tính năng trực quan.

Nhóm của tôi đã từng thử nghiệm sử dụng gói PTAM trong ROS .

Chúng tôi đã chạy Ubuntu trên Intel Atom và như tôi nhớ nó không quá nhiều bộ xử lý. Mặc dù vậy, chúng tôi đã không sử dụng, chủ yếu là vì chúng tôi không thể tìm thấy đủ các tính năng trong môi trường nơi robot của chúng tôi sẽ chạy.


0

Nói chung, bạn không thể trích xuất các phép đo khoảng cách số liệu từ một hình ảnh, trừ khi bạn có thêm thông tin về thế giới. Ví dụ: nếu bạn biết thế giới là phẳng (hoặc bạn có thể phát hiện tầng, đó là một khu vực phẳng), thì bạn có thể ước tính một bản đồ.

Một homography là một phép biến đổi phóng xạ giữa các mặt phẳng (ma trận 3x3). Với hiệu chuẩn nội tại của máy ảnh, bạn có thể phân rã hình ảnh đồng nhất do mặt phẳng này tạo thành một phép quay và dịch. Bản dịch lên đến quy mô. Bạn có thể giải quyết sự mơ hồ quy mô này bằng cách biết khoảng cách từ máy ảnh đến sàn nhà (mặt phẳng).

Khi bạn có bản đồ, bạn có thể phát hiện các vật thể không có trên mặt phẳng. Homography cho phép bạn warp hình ảnh đầu tiên vào thứ hai. Các đối tượng trên mặt phẳng sẽ căn chỉnh và sẽ có một lỗi nhỏ. Các đối tượng không trên mặt phẳng sẽ không căn chỉnh. Điều này được gọi là thị sai.

Một cách để thực hiện điều này có thể là

  1. Trích xuất các tính năng từ cả hai hình ảnh.
  2. Phù hợp với các tính năng, hoặc theo dõi chúng.
  3. Ước tính homography bằng RANSAC.
  4. Phân tách homography thành một phép quay và dịch bằng cách sử dụng hiệu chuẩn.
  5. Warp hình ảnh đầu tiên vào
    thứ hai. Điểm ảnh có lỗi lớn không nằm trên sàn và có thể là
    trở ngại.

Hầu hết các khối xây dựng được triển khai trong opencv (xem http://docs.opencv.org/modules/calib3d/doc/camera_calibr_and_3d_recon cản.html ).

Chúc may mắn.

PS phân tích homography cũng sẽ cung cấp cho bạn bình thường của máy bay. Nhưng, vì bạn cho rằng đây là mặt phẳng mặt đất, chúng ta có điểm bình thường theo hướng lên. Một giải pháp chính xác hơn có thể được thực hiện trong quy trình hiệu chuẩn của bạn. Bạn có thể sử dụng một mục tiêu bàn cờ và ước tính tư thế của nó. Các tư thế sẽ có một mặt phẳng bình thường và khoảng cách đến máy ảnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.