Làm thế nào để chọn máy ảnh cho một hệ thống tầm nhìn âm thanh nổi?


18

Tôi đang trong quá trình xây dựng một hệ thống thị giác âm thanh nổi được sử dụng trên UGV. Hệ thống này dành cho một robot sẽ được sử dụng trong một cuộc thi trong đó robot được truyền hình để tìm những tảng đá có màu tương đối nhỏ trên một cánh đồng lớn ngoài trời. Tôi hiểu làm thế nào để hiệu chỉnh một hệ thống như vậy và xử lý dữ liệu cho một hệ thống nhìn âm thanh nổi. Tuy nhiên tôi không biết làm thế nào để chọn máy ảnh cho một hệ thống như vậy. Các thực hành tốt nhất để chọn máy ảnh cho một hệ thống âm thanh nổi là gì?

Câu trả lời:


11

Ra khỏi đỉnh đầu tôi sẽ đi theo các tiêu chí lựa chọn sau đây

  • color / b & w - thường là b & w tốt hơn, vì thuật toán âm thanh nổi chỉ sử dụng một kênh
  • đường cơ sở - điều này thực sự phụ thuộc vào cảnh. Với đường cơ sở, bạn kiểm soát mức độ chính xác bạn nhận được với khoảng cách. Đường cơ sở rộng hơn dẫn đến các giá trị chênh lệch cao hơn và do đó ít nhiễu hơn trong ước tính khoảng cách. Đường cơ sở cao hơn cũng có nghĩa là bạn sẽ có được sự chồng chéo giảm giữa trường quan điểm của bạn. Quan trọng nhất là, đường cơ sở càng rộng thì sự phù hợp giữa hai chế độ xem càng khó. Vì vậy, chất lượng của kết quả đi xuống.
  • màn trập - luôn sử dụng màn trập toàn cầu cho mọi thứ với tầm nhìn máy tính trên robot di động
  • độ phân giải - hầu hết các thuật toán âm thanh nổi đều đắt tiền. Và bạn có thể sẽ không cần nhiều điểm 3d đó. Trong trường gần, mật độ lấy mẫu thường là đủ và trường xa lỗi của bạn từ chênh lệch thấp là vấn đề lớn hơn mật độ lấy mẫu. 640x480 là tốt trong hầu hết các trường hợp. Một số chip có tỷ lệ khung hình rộng hơn, thuận lợi cho sự chồng chéo, nhưng bạn có thể nhận được điều tương tự với việc sử dụng cửa sổ phụ của chip.
  • mục tiêu / lĩnh vực quan sát - đối với robot ngoài trời di động Tôi thích một phạm vi quan sát rộng hơn các mục tiêu hẹp. Nhiều hơn hoặc ít hơn cho các lý do tương tự như độ phân giải. Đảm bảo mục tiêu của bạn cứng nhắc và có phương tiện để cố định bất kỳ bộ phận chuyển động nào, ví dụ như tiêu cự có thể điều chỉnh. Trong hầu hết các trường hợp, độ dài tiêu cự cố định dù sao cũng tốt, vì bạn bị giới hạn bởi việc lựa chọn đường cơ sở.
  • kích hoạt - khi bạn tạo giàn âm thanh nổi của riêng mình, máy ảnh của bạn sẽ hỗ trợ kích hoạt phần cứng và lý tưởng là kích hoạt cái kia.
  • tốc độ khung hình - Theo tôi sự cân nhắc ít quan trọng nhất. Trừ khi bạn có nhiều năng lực xử lý, nếu không bạn sẽ không nhận được nhiều hơn mức 5 Hz. Vì vậy, thuật toán của bạn có nhiều khả năng là nút cổ chai, thay vì chip hoặc kết nối.
  • giao diện - Hầu hết các máy ảnh đều đi kèm với Firewire / USB2 / USB3 / Ethernet. USB2 là vô dụng vì nó tiêu tốn rất nhiều CPU. Firewire là tốt nếu bạn có một cổng, nhưng tôi nghĩ rằng nó dường như đang suy giảm sự ủng hộ của USB3 những ngày này. Chưa có nhiều kinh nghiệm với USB3. Ethernet khá đẹp vì bạn có nhiều khả năng tìm thấy các hệ thống nhúng với GigEthernet hơn USB3 vào lúc này.
  • nhà ở - càng cứng càng tốt. Hiệu chỉnh lại là một thủ tục gây phiền nhiễu.

6

Bạn nên bắt đầu bằng cách tính toán bạn cần bao nhiêu khung hình mỗi giây và độ phân giải camera bạn có thể xử lý ở tốc độ khung hình đó. Nếu không có gì khác, điều đó sẽ ngăn bạn bội chi hoặc mua một máy ảnh không phù hợp với nhu cầu của bạn.

Ngoài ra, có một loạt các tính năng làm cho sự lựa chọn trở nên khó khăn / thú vị hơn. Các máy ảnh khác nhau (đặc biệt là máy ảnh mạng như Trục) cho phép bạn thay đổi chất lượng hình ảnh hoặc chỉ định tốc độ bit tối đa cho luồng hình ảnh. Một số máy ảnh cũng cung cấp cho bạn các lựa chọn về tốc độ màn trập, cho phép bạn ưu tiên thời gian phơi sáng liên tục hoặc độ chiếu sáng trung bình không đổi trong ảnh. Một số máy ảnh nhạy hơn các máy ảnh khác (lần cuối cùng tôi làm việc với nó là vào năm 2009 và chúng tôi nhận thấy rằng Mắt PS3 đã làm rất tốt trong điều kiện ánh sáng yếu).

Có lẽ điều tốt nhất bạn có thể làm là chạy các thuật toán xử lý hình ảnh của mình trên một vài hình ảnh tĩnh mà bạn chụp bằng máy ảnh DSLR, sau đó cố gắng giảm kích thước và chất lượng khung hình để xem mọi thứ bắt đầu hỏng.


6

Một vài điều bạn nên đề phòng:

  • Về cơ bản, màn trập toàn cầu có nghĩa là tất cả các pixel được chụp cùng một lúc, trái ngược với màn trập cán nơi chúng được chụp liên tiếp theo kiểu quét đường thẳng. Vì UGV của bạn sẽ di chuyển xung quanh và thực hiện các thuật toán âm thanh nổi trên các hình ảnh bạn chụp, điều quan trọng là bạn phải tránh quang sai xảy ra khi máy ảnh di chuyển, chẳng hạn như những hình ảnh được nhìn thấy trong ảnh bên dưới (chụp từ Wikipedia ):

Di chuyển xe chụp bằng camera điện thoại CMOS trưng bày xiên Một bức ảnh trưng bày một phần phơi bày.  Điều kiện ánh sáng thay đổi giữa độ phơi sáng của phần trên và dưới của ảnh. Một cú bắn của cánh quạt

  • Đồng bộ hóa máy ảnh trong phần cứng có thể đạt được bởi một số máy ảnh, đáng chú ý là camera firewire AFAIK. Điều đó có thể cải thiện đáng kể kết quả cho âm thanh nổi khi mọi thứ đang di chuyển xung quanh.

  • Việc lắp đặt phải được thực hiện theo cách thay đổi các tham số bên ngoài (vị trí tương đối giữa các camera) cho cặp âm thanh nổi sẽ khó có thể thay đổi sau khi hiệu chỉnh. Trong giàn khoan của bạn có thể quan trọng hơn, vì UGV có thể phải đối mặt với địa hình không bằng phẳng ngoài trời và mọi thứ sẽ rung chuyển.

  • Phần cứng âm thanh nổi chuyên dụng cho phép thu được hình ảnh chênh lệch trực tiếp dưới dạng đầu ra của hệ thống thị giác âm thanh nổi, giúp giảm tải cho máy tính nhúng của bạn. Nó cũng có xu hướng nhanh hơn nhiều so với việc chạy các thuật toán rất giống nhau trong phần mềm.

Như thường lệ, bạn càng sẵn sàng trả kết quả tốt hơn. Thành thật mà nói, nếu bạn có thể mua một máy ảnh âm thanh nổi toàn diện như Bumblebee2 , đó là những gì tôi sẽ làm. Mặt khác, nếu bạn ở phía rẻ hơn, tôi chỉ đơn giản là đi với Kinect : không chắc bạn sẽ có thể có được một hệ thống vượt trội hơn nó với cùng một mức giá.


Câu hỏi là cho một hệ thống ngoài trời. Điều này có hiệu quả loại trừ Kinect. Ngoài ra, các thuật toán đi kèm với Bumblebee còn lâu mới đạt đến mức tối ưu.
Jakob

Tôi với bạn về nhận xét Kinect, nhưng các thuật toán âm thanh nổi đi kèm với Bumblebee có thể được thay thế bằng mã của riêng bạn không? Ưu điểm lớn nhất mà tôi đã chỉ ra là ở phần cứng thực tế, không phải phần mềm đi kèm với nó.
georgebrindeiro

đúng là như vậy. Bạn có thể sử dụng nó giống như hai máy ảnh bình thường, và nó có lợi thế của vỏ cứng.
Jakob

không chỉ vậy mà màn trập toàn cầu, ống kính tốt và các tính năng khác
georgebrindeiro

4

Đó là một chủ đề thú vị, và không dễ để có được ngay lần thử đầu tiên. Từ kinh nghiệm với điều này, đây là những điều quan trọng nhất.

  • Đồng bộ hóa . Máy ảnh phải được đồng bộ hóa 100%. Ví dụ: giả sử UGV đang lái xe ở mức khiêm tốn 36Km / giờ (10m / s) và ghi lại khung hình ở 30 khung hình mỗi giây. Đó là, ở mỗi khung hình, UGV sẽ bao gồm 3 m. Bây giờ, giả sử đồng bộ hóa của bạn tắt 1ms, một trong các máy ảnh sẽ tắt ~ 0,3m, điều này thật tệ [ngay trên đỉnh đầu tôi]. Vấn đề đồng bộ hóa rất khó phát hiện.

  • Nghị quyết . Trong ngữ cảnh của âm thanh nổi, chúng tôi đề cập đến độ phân giải độ sâu hoặc mức độ sâu chúng tôi có thể giải quyết khi có sự thay đổi chênh lệch. Một lời giải thích tuyệt vời có thể được tìm thấy ở đây http://pub1.wvelgarage.com/~konolige/svs/disparity.htmlm Phương trình bạn muốn xem là một hàm của độ dài tiêu cự của hình ảnh và đường cơ sở âm thanh nổi. . Điều này nói rằng công suất phân giải độ sâu tỷ lệ nghịch với đường cơ sở với độ dài tiêu cự . Đó là đường cơ sở càng dài, càng nhỏ thì càng tốt. Có nghĩa là, bạn có thể giải quyết sâu hơn. Sự thay đổi tối thiểu về chênh lệchδZBfδZδdδd1/2δdδZ=Z2BfδdδZBfδZδdđược kiểm soát một phần bởi độ phân giải hình ảnh và thuật toán được sử dụng. Đối với tính toán của bạn, bạn có thể giả định rằng ít nhất là . Tốt hơn là nên thận trọng với sự lựa chọn .δd1/2δd

  • Chồng chéo . Bạn muốn có sự chồng chéo giữa các camera để có được âm thanh nổi. Do đó, bạn cần chọn kết hợp độ dài tiêu cự của ống kính (trường nhìn) và đường cơ sở để bạn có đủ độ chồng lấp cho ứng dụng. Về cơ bản, lượng giác làm việc trên bảng, hoặc một kịch bản matlab / python nhanh chóng.

Đối với UGV, có hai cách sử dụng cho âm thanh nổi.

  1. Ước tính Điều hướng và Đặt ra Trong trường hợp này, rất có thể bạn cần một đường cơ sở lớn + tiêu cự dài. Điều này cho phép âm thanh nổi nhìn và giải quyết độ sâu tốt hơn và phạm vi dài hơn.

  2. Phát hiện và tránh chướng ngại vật Bạn có thể sẽ cần một đường cơ sở ngắn hơn và ống kính rộng hơn (tiêu cự nhỏ hơn) để bạn có thể tập trung vào những thứ rất gần bạn.

Một số UGV có thể có cả thiết lập âm thanh nổi, trường quan sát hẹp cơ sở lớn để điều hướng và một hoặc hai cái khác để tránh chướng ngại vật.

Hãy rất cẩn thận những gì bạn mua. Một số công ty cung cấp các thiết lập âm thanh nổi đã được xây dựng. Đó là những điều tuyệt vời về mặt mạnh mẽ của mọi thứ, chúng không dễ dàng hiệu chỉnh và luôn đồng bộ. Vấn đề là những cái có sẵn trên thị trường có một đường cơ sở nhỏ. Nếu bạn muốn xây dựng của riêng bạn. Tôi đoán bạn sẽ làm như vậy, hãy chắc chắn rằng máy ảnh có thể đồng bộ hóa . Firewire là tuyệt vời cho điều này, hai máy ảnh trên cùng một xe buýt sẽ đồng bộ với độ chính xác 125micros giây ra khỏi hộp! Camera USB và Gige rất khó đồng bộ hóa. Khi bạn đặt mọi thứ lại với nhau, bạn muốn chắc chắn rằng các ống kính sẽ không di chuyển chút nào, và đường cơ sở là cứng nhắc, rất cứng nhắc cho ứng dụng.

Cũng cẩn thận trong việc lựa chọn ống kính. Không phải tất cả các ống kính làm việc với tất cả các máy ảnh. Ống kính có một độ phân giải quá. Đây là một chủ đề khác, đây là một bài viết ngắn về http://www.qualitymag.com/articles/90642-qa--selecting-lenses-for-machine-vision-systems


4
Tính toán đồng bộ hóa của bạn là sai. 30 FPS ở tốc độ 10m / s cho khoảng cách 33cm (không phải 3 m) trên mỗi khung hình. Ngoài ra 1ms ở tốc độ này có nghĩa là khoảng cách 1cm (bất kể FPS). Vì vậy, đồng bộ hóa ở mức ms là một kết quả siêu thực sự cho tốc độ như vậy!
Kozuch
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.