¿Cuál es el mejor algoritmo para detectar patrones o texturas en una imagen?

Ni siquiera estoy seguro de entender todos los términos y conceptos mencionados en la primera respuesta (de ” Leo Mauro “).
Sin embargo, supongo que el proceso de “aprendizaje”, por ejemplo, para entrenar una red neuronal, pero podría ser muy similar al proceso de “aprendizaje” para una persona, probablemente debería suponer, o “ya”, tener conocimiento de cómo hacerlo. algunas transformaciones de Fourier en los datos de la imagen, “integradas” en la plataforma, incluso antes de que comience el “aprendizaje”.
En el cerebro humano (¿o tal vez es el nervio óptico? O el ojo) (¿dónde se dibuja la línea?) Probablemente ocurra algo similar. Esto podría llamarse [algo así como] “asistido por hardware”, en una discusión de sistemas construidos utilizando circuitos integrados y software. Es posible que ya existan algunos “bloques estándar” VLSI que se pueden usar como una pequeña parte de un chip para hacer este tipo de cosas.
No conozco ningún detalle sobre la “licencia” necesaria [si la hay] para (permiso para) el uso de tales “bloques estándar” VLSI. (Tal vez eso es todo “cuidado” [?] Por el fabricante del chip; si es así, entonces es “un factor más” a favor de comprar [o alquilar o arrendar] hardware “COTS”, en lugar de usar un “DIY” “enfoque para desarrollar y usar chips IC.)
La frase “todavía utilizada en la producción”, vista cerca del final de la primera respuesta (de ” Leo Mauro “), podría ser una mala y una buena noticia. La única mala noticia es que él no [no tiene permitido] compartir el código que escribió; pero la buena noticia es que la “ingeniería inversa” de los productos “COTS” todavía está viva y bien, al menos con respecto a cosas como el comportamiento del código de objeto ejecutable, donde el código en sí está principalmente sujeto a derechos de autor (vs. patente) derechos. (En realidad, puede haber algún código cuyo comportamiento esté patentado … pero [si corresponde, entonces] que probablemente esté fuera del alcance de esta pregunta delmejor algoritmo para detectar patrones o texturas en una imagen “). También bueno, podría ser la hecho de que, si compra [o alquila o alquila] algunos equipos “COTS” (una plataforma de hardware / firmware, además quizás ‘también’ incluye algún software), entonces es posible que no tenga que preocuparse por algunos de los enfoques de “bricolaje” – para algunas de las “infraestructuras” de bajo nivel.
Finalmente, los investigadores que publican avances en “análisis y reconocimiento de documentos”, y computación gráfica / “procesamiento de imágenes” de barra, podrían publicar algún código fuente como FLOSS (software libre [libre] / “código abierto”), en cuyo caso no solo puede usarlo, estudiarlo y comprenderlo, y [tal vez] modificarlo (usted mismo), sino que también (a menudo) puede beneficiarse de las actualizaciones / mejoras realizadas por otros; y esos otros podrían incluir [no solo investigadores en el campo, sino también] algunos piratas informáticos que solo están contribuyendo a mejorar las cosas (de forma análoga a un joven que corrige un TYPO en Wikipedia).
Buena suerte . . .

Lo mejor suele ser imposible de definir sin suficiente información y detalles sobre los requisitos reales.

Dicho esto, la descripción de un método para detectar y cuantificar la presencia de texturas (patrones más o menos regulares) en imágenes se puede encontrar en Detección de áreas texturizadas en imágenes usando un indicador de desorganización basado en conteos de componentes @Page en hp.com . Hace algún tiempo escribí un pre-clasificador basado en estas ideas, esencialmente produciendo un “(des) mapa de organización” sobre la imagen que permitía la determinación aproximada de la “cantidad de área estampada / texturizada” en varias regiones. Luego se extrajeron las piezas más prometedoras y se utilizaron en un algoritmo de agrupamiento para clasificarlas (utilicé un algoritmo basado en PCA para extraer las características más destacadas de las piezas y las usé para agruparlas a través de KNN). Esto fue razonablemente rápido en las CPU de esa época (hace aproximadamente 7 años) y tenía la precisión y el rendimiento requeridos.

Si tuviera que usar las CPU actuales (con o sin ayuda de GPU) todavía usaría un pre-clasificador como en el documento anterior, pero usaría un Autoencoder / Sparsifier de Deep Learning en lugar del PCA para obtener el vector de características. Todavía usaría KNN en lugar de otros métodos de Aprendizaje profundo (ver Análisis de redes de una sola capa en Feature Learning no supervisado @Page en stanford.edu para una discusión interesante de por qué).

PD: lo siento. No se me permite compartir el código que escribí, ya que todavía se usa en producción.