¿Cuáles son algunas buenas prácticas / consejos de optimización al crear software de procesamiento de imágenes o visión por computadora?

Oh wow. Gran pregunta.

OK, la optimización es, por supuesto, muy importante en CV, existen numerosas formas de optimizar.

  1. Desenrollar bucles.
  2. Reduzca la actualización de la pantalla durante los principales tiempos de cálculo.
  3. Use el lenguaje de programación correcto: más bajo al metal, mejor.
  4. Utiliza bibliotecas optimizadas.
  5. Utilice la GPU y las CPU de múltiples núcleos al máximo.
  6. Pruebe cada función individualmente para detectar cuellos de botella y elimine el cuello de botella antes de continuar con la siguiente característica.
  7. Refactorice tanto como sea posible para reducir la replicación y hacer que las funciones de aislamiento a su núcleo de vista para que la optimización sea aún más fácil.
  8. Si una función es lenta, pruébela con aplicaciones similares, ¿es más rápida? Luego debe volver a ejecutar su propia función, intente usar Ensamblado. Es más lento, entonces está bien, es solo una función lenta.
  9. Controle el uso de la memoria y el almacenamiento en caché; esto puede acelerar mucho su aplicación.
  10. Intente y no haga mucho I / O es lento.

Si no está seguro de alguna de estas técnicas de optimización, Google es su amigo.

More Interesting

¿Cuál es la mejor transmisión para ir en el presente, Mainframe o .Net?

Si alguien instala un programa en su computadora sin su conocimiento, ¿cómo puede evitar cualquier posible monitoreo remoto de sus actividades?

¿Cuáles son algunas de las aplicaciones del aprendizaje automático en análisis de publicidad en línea?

¿Se está haciendo algún trabajo para que la IA pueda animar o interpretar artísticamente información o libros?

¿Cómo se comporta la ley de Moore después de la singularidad predicha?

¿Por qué las computadoras siempre realizan la suma?

Clasificación (aprendizaje automático): ¿Cuándo debo usar un clasificador K-NN sobre un clasificador Naive Bayes?

¿Cómo es tomar CS 124 (Sistemas operativos) en Caltech?

¿Qué hace que Carnegie Mellon sea tan bueno en informática?

¿Por qué las mujeres tienen más probabilidades de estudiar HCI que otros campos de CS?

¿Cuál es una buena fuente para comprender la física de cómo funcionan las computadoras?

¿Cuáles son los pros y los contras de ir a la UC Santa Cruz para la informática? ¿Cómo pesa UCSC en comparación con otras universidades en términos de CS y empleo después de la universidad?

¿Cómo sabe un chip o computadora la duración de un segundo?

¿Por qué muchos graduados de Carnegie Mellon CS tienen un complejo de inferioridad? ¿Los hace mejores ingenieros?

Cómo pedirle a un desarrollador senior que aprenda Git correctamente, ya que siempre confirma el código directamente en la rama maestra