Buenas días.
Mi nombre es Claudio Carreño, Ingeniero Civil Electrónico, especializado en instrumentación y procesamiento digital de señales. Tengo más de 3 años de experiencia en visión artificial, control automático, instrumentación y diseño de sistemas embebidos.
Respecto a tu requerimiento, lo puedo clasificar en 2 posibles escenarios:
1.- Si es que las marcas fueran de tipo texto solamente, el proyecto consistiría en una plataforma de comparación dinámica, en donde se le permitiría al usuario importar un archivo con las marcas de los clientes y otro archivo con las marcas a verificar. La comparación permitiría reglas de entrada del tipo: igual a, contiene, no contiene, termina en, es similar, es mayúscula y muchas otras. En función de los criterios de comparación, el sistema arrojaría un porcentaje de similitud entre la marca evaluada y cada una de las registradas, indicando mediante un archivo tipo reporte, las más similares, las menos similares y otros estados de interés.
El sistema se desarrollaría en Java como nucleo central, interfaz gráfica Swing.
2.- En caso de que las marcas sean del tipo imágenes, el sistema consistiría en una plataforma de procesamiento digital de imágenes.
El procedimiento de comparar imágenes supone, del mismo modo que el caso anterior, criterios de evaluación como lo son: detección de bordes, binarización, transformada de hough, fourier, análisis de histogramas, segmentación, color, correlación cruzada, redes neuronales, entre otros.
Definidos los criterios de comparación, el sistema podría arrojar todo tipo de diferencia o similitud mediante un indicador porcentual entre la imagen sometida a comparación y la colección de datos de respaldo.
Dependiendo de los criterios necesarios y de la características de la marca tipo imagen, el sistema consideraría reconocimiento de patrones, previo entrenamiento y ajuste del modelo (marcas registradas).
El sistema propuesto sería prototipado y validado en Matlab o Scilab, para luego exportar a Java si es que fuera necesario.
Para llevar a cabo el proyecto, he dividido en 3 secciones generales: levantamiento de requerimiento, diseño prototipo, diseño funcional.
La primera etapa consiste en determinar específicamente lo requerido, diseñar un lógica de funcionamiento y definir las tecnologías a utilizar. Esta etapa es fundamental y define el camino del desarrollo.
La siguiente etapa, de prototipado, tiene como fin validar el funcionamiento, definir los criterios de tolarancia, diseñar los algoritmos, someter a ensayo los algoritmos, entre otros.
Por último, el diseño final consiste en exportar lo diseñado en un entorno de prueba a un entorno adaptado al usuario, con una interfaz gráfica adecuada y en un lenguaje adecuado a los requerimientos. Corresponderá a la versión "utilizable" para el usuario.
Es preciso disponer de imágenes referenciales, criterios de comparación necesarios y tiempos estimados.
Aun habiendo estimado los tiempos y costos, éstos pueden variar en función de los requerimientos del cliente.