Estoy buscando conectar múltiples cámaras web USB de baja resolución a una sola computadora. ¿Qué implicaciones podría tener esto en el rendimiento? ¿Cómo, por ejemplo, cuatro cámaras de 320x240 se comparan con una sola cámara de 640x480? No conozco bien la arquitectura de la interfaz USB, ¿cuáles son las advertencias de rendimiento? Por rendimiento quiero decir cómo afectaría el tiempo para leer los datos de imagen de múltiples cámaras en comparación con una sola.
usb
webcam
bandwidth
scalability
Martín
fuente
fuente
Respuestas:
Una cosa que debe tener en cuenta es que, si bien un QVGA necesita muy poco ancho de banda, muchas cámaras web baratas solo funcionan a 'velocidad máxima' (12Mbit / s) incluso si dicen que son dispositivos "USB 2.0" (solo USB 2.0 ' Los dispositivos de alta velocidad funcionan a 480Mbit / s).
No solo eso, sino que si conecta varios dispositivos de 'velocidad máxima' en un hub USB estándar de TT único (que es la mayoría de ellos), entonces los 4 tendrán que compartir esos 12Mbit / s de un solo enlace de 'velocidad máxima' .
Por eso, si desea ejecutar múltiples dispositivos de 'velocidad máxima' lo más rápido posible, asegúrese de comprar un concentrador multi-TT. El más fácil de encontrar es el Belkin Tetra-hub, pero probablemente tendrá que obtenerlos de la red, es poco probable que su tienda de informática local los almacene.
Sin embargo, un concentrador multi-TT de 4 puertos debería poder ejecutar 4 dispositivos de 'velocidad máxima' con 12Mbit / s para cada cámara.
Hubo un buen artículo en la Guía de hardware de Tom sobre multi-TT en 2003.
También tenga en cuenta que si obtiene verdaderas cámaras web USB 2.0 de alta velocidad, no tendrá este problema. 480Mbit / s deberían ser suficientes para muchas cámaras QVGA, todas transmitidas simultáneamente, si el software que viene con ellas lo admite.
Editar: si se trata de una aplicación de visión artificial, la elección de la interfaz podría guiarse por la biblioteca de imágenes que utilice. Personalmente, para aplicaciones domésticas, el USB está bien, para uso industrial siempre elegiría Firewire a través de USB. Tiene un control de ancho de banda mucho más fino y puede decidir exactamente qué cámaras obtienen qué ancho de banda definiendo sus resoluciones y tasas de cuadros. El protocolo DCAM de firewire le brinda mucha flexibilidad en la ventana de su sensor (seleccionando un subconjunto de la imagen que se transmitirá, lo que potencialmente le brinda velocidades de cuadro mucho más altas para un ancho de banda dado). Obviamente, si no necesita la flexibilidad adicional, el gasto adicional no está garantizado, pero si no tiene requisitos presupuestarios ajustados, le brinda muchas más opciones de ingeniería.
fuente
En general, las ecomomías de escala significan que una sola cámara de alta resolución afectará a su sistema con menos de 4 cámaras más pequeñas de un cuarto de la resolución. La forma más fácil de medir el rendimiento es buscar en el administrador de tareas con una o dos cámaras conectadas y observar la carga de la CPU para esa cámara. Asegúrese de que no exceda un pequeño porcentaje o de lo contrario podría comenzar a ver ralentizaciones. Le recomendaría que use cámaras idénticas para reducir la cantidad de controladores de dispositivos que necesita cargar.
Sin embargo, existen formas mucho mejores de resolver su problema que usar 4 cámaras USB (dependiendo de lo que esté tratando de hacer). Por ejemplo, puede obtener tarjetas PCI dedicadas que pueden tomar de 4 a 16 cámaras y todo el trabajo duro se realiza en hardware. Esto significa que la carga de la CPU es insignificante. La mayoría toma entradas compuestas normales, lo que hace que las cámaras sean mucho más baratas. Probablemente pueda comprar 4 cámaras más la tarjeta, por el mismo precio que un par de cámaras web decentes de eBay, incluido el software de seguridad.
fuente