¿Cómo puedo decidir si puedo usar una Raspberry Pi para mi aplicación?

1

¿Cómo calculo si algún hardware específico puede ejecutar mi código con una velocidad determinada?

Es un software de reconocimiento de imágenes, y una versión simplificada del algoritmo es:

  1. Agarra un marco (en RGB, 640x480).
  2. Recortarlo a un ROI dado (Región de interés). En mi caso, esta sería una ventana de 60x60, por lo que todo el siguiente procesamiento no tiene que pasar por todos los píxeles, solo los que están dentro del ROI.
  3. Cree una imagen binaria (cada píxel tiene un valor '1' o '0'), yendo a través de cada píxel y aplicando una regla simple (que involucre solo las intensidades del color de ese píxel específico) para decidir si esa posición tendrá un valor '1' o un valor '0'. Esto es en realidad solo un umbral de color, aquí hay un ejemplo de la entrada y salida de este paso. En el ejemplo, la regla es "¿el color del píxel es naranja?".
  4. Calcule el centro geométrico de la imagen binaria creada en el último paso. Esto se hace simplemente:

    scan the image for valued-1 pixels;
    save the coordinates of those pixels in two vectors, one named 'ind_x' and another 'ind_y';
    GCx = mean(indices_x);
    Gcy = mean(indices_y);
    
  5. Imprima Gcx y Gcy a través de la comunicación en serie.

Intento averiguar si una Raspberry Pi podría procesar este código 120 veces por segundo (o más) específicamente, a qué velocidad se podría hacer esto en él).

Creo que la respuesta a esta pregunta también podría beneficiar a electronics.stackexchange, ya que podría resumirse para responder a la pregunta más general: dada una descripción aproximada de un algoritmo (lo suficientemente claro como para poder estimar la complejidad del código). ) ¿Cómo puedo predecir si un hardware específico puede procesarlo con una restricción de tiempo dada?

Si se necesitan más detalles, dígalo en los comentarios.

    
pregunta JLagana

1 respuesta

1

Está bien, esto es más una opinión que una respuesta típica de tipo de flujo de pila, pero aquí va.

Intenté usar una Raspberry Pi para el procesamiento de imágenes para mi proyecto de capstone. Quizás solo eran las bibliotecas, o tener un montón de cosas en USB, pero estaba extremadamente insatisfecho con su rendimiento. Tuvo dificultades para transmitir imágenes VGA a una velocidad de fotogramas apreciable, y mucho menos para hacer cualquier tipo de procesamiento de imágenes con ellas y luego transmitirlas.

Quiero decir, hay muchas variables (especialmente la optimización e implementación de código wrt), y no puedo hablar de forma objetiva y cuantitativa, pero obtienes el rendimiento que esperas de una computadora por la que solo pagarías $ 30. Yo sugeriría echar un vistazo a Odroid X2, que tiene mucho más hardware, aunque yo no lo he usado.

Usted podría comprar uno y probarlo y ver si cumple con sus demandas; Estarías fuera solo $ 30 si no fuera así. Pero en base a mi propia experiencia personal con esta cosa, realmente dudo que pueda hacer lo que quiera a 120x por segundo.

    
respondido por el BB ON

Lea otras preguntas en las etiquetas