Respondo como alguien que se especializó en Visión por Computadora para la tesis de pregrado y que trabajó en el campo del aseguramiento de la calidad del software, sin conocer ningún detalle sobre su pregunta, como los algoritmos de procesamiento de imágenes que desea probar.
Como respuesta genérica:
- No existe un algoritmo de bala de plata que pueda reemplazar por completo el análisis humano y los aportes del mundo real en la planificación del enfoque de prueba. Los algoritmos no pueden conocer el conocimiento a priori del proyecto que planea probar.
- En la automatización de pruebas: es un error común pensar que la automatización de pruebas puede reemplazar completamente a los probadores humanos. La ejecución de la prueba manual debe identificarse claramente primero y debe ser altamente predecible y lo suficientemente repetitiva como para ser automatizada. En la industria de TI, el Principio de Pareto es aplicable: solo puede automatizar el 20% superior (aproximadamente) de su sistema, es decir, el marco del sistema, la parte que no cambia incluso después de correcciones y mejoras. De lo contrario, terminará creando scripts de prueba igualmente largos (casos de prueba automatizados) para cada cambio de código. Dado que los scripts de prueba también son códigos y están igualmente sujetos a errores de programación, también debe probar el código que se supone que debe probar en su nombre, que es solo una capa adicional de prueba y no siempre resuelve el problema directamente. Puede hacerlo de esta manera, pero no siempre es eficiente.
- El enfoque de prueba siempre debe depender del problema que el sistema intenta resolver y los problemas potenciales que debe manejar. Cualquiera sea el proyecto, se deben considerar todos los tipos posibles de escenarios de prueba, incluidos:
- casos falsos positivos, por ejemplo, imágenes del mundo real con objetos que el software podría detectar / reconocer pero no debería ser
- casos de falsos negativos, por ejemplo, imágenes del mundo real con objetos que el software debería detectar / reconocer pero no pudo hacerlo
Los casos de falsos positivos y falsos negativos deben considerarse en la computación para la tasa de precisión del sistema, es decir, casos exitosos / (verdadero positivo + falso positivo + falso negativo)
- ¿Qué son las pruebas de integración de arriba hacia abajo?
- ¿Qué tan importante es el GPA en Silicon Valley para los empleados experimentados?
- ¿Cuáles son las tecnologías para la computación en la nube? ¿Algún sitio web que los compare?
- ¿Qué puede hacer si no siente que técnicamente está a la par con sus colegas ingenieros?
- ¿Cómo es una hoja de ruta típica de un producto de plataforma?
Si solo está hablando del preprocesamiento de imágenes (por ejemplo, reducción de ruido, nitidez), la prueba debería ser mucho más fácil que la detección y el reconocimiento de objetos. Para probar la efectividad de la reducción de ruido o el afilado:
- Obtén una imagen de referencia
- Para reducción de ruido: ponga algo de ruido en la imagen de referencia. Para enfocar: use un algoritmo de desenfoque para desenfocar la imagen
- Use su algoritmo de reducción de ruido / nitidez
- Compare la imagen en el Paso 1 y el Paso 3
Esto no es realmente un “algoritmo”.