Detección de color específica, ¿es posible de una manera económica, sin usar el reconocimiento de cámara / imagen?

7

Aunque entiendo que la detección de color con la cámara y el procesador con suficiente potencia que ejecuta la lógica del histograma de la imagen (u otros algoritmos similares) puede determinar la presencia de ciertos colores de manera bastante confiable.

Sin embargo, ¿existen otros mecanismos, significativamente más rentables para determinar la presencia / ausencia de cierto color (o sombras cercanas), a corta distancia, utilizando sensores más simples / más baratos y menores requisitos computacionales?

Supongo que cosas como los sensores de pH u otros sensores químicos podrían usar tales métodos. En mi caso, la aplicación es tal que necesito detectar la presencia / ausencia de un color específico (un tono de azul claro), en un área pequeña, a corta distancia.

Editado: Por "rango cercano" me refiero a algo entre 1-5cms, aunque este no es un requisito muy estricto. Estaba pensando en "cerrar" relativamente, es decir, no hay irradiación directa de la fuente de luz al sensor, una especie de doble barril, de modo que solo la luz reflejada llega al sensor. Por lo tanto, la proximidad es una función de la colocación física del sensor, y estoy abierto a sugerencias (incluyendo enfoques completamente alternativos / ortogonales).

    
pregunta icarus74

4 respuestas

7

Dado que los LED utilizados como fotodiodos son más sensibles al color que emiten durante el funcionamiento normal, se puede hacer un sensor de color básico utilizando el LED en sentido inverso y un indicador de función:

Elcircuitoanteriorvinode esta página . También se puede hacer al revés: se encuentra disponible aquí una visión mucho más detallada de la detección de color mediante LEDs y sensores de luz. - esta página detalla usando un sensor de luz normal y LED de diferentes colores.

No pude encontrar la nota de la aplicación mencionada en los comentarios, pero esta página parece ser un tratamiento bastante completo para El tema de los amplificadores de transimpedancia. Puede modificar el sesgo en el LED para cambiar el tiempo de respuesta / sensibilidad.

    
respondido por el Oli Glaser
5

Si desea detectar un muy color específico, necesitará un filtro de banda estrecha como este filtro de ancho de banda de 11nm por Edmund Optics. Los productos de EO son cosas de laboratorio de alta precisión, y también lo es el precio: 300 dólares.

Si puede conformarse con menos, sugeriría utilizar un filtro fotográfico hazlo también Use un fototransistor con una amplia sensibilidad espectral, especialmente en el rango de 400 nm, y compare la lectura con y sin filtro azul. Si el color del objeto es azul, habrá menos diferencia en la lectura que en un objeto rojo, por ejemplo. También tendrás que tener en cuenta un desplazamiento, ya que el filtro no pasará el 100% de la luz, incluso si es azul.

Por ejemplo, si el filtro se atenúa en 3 dB (los fotógrafos hablan de f-stops), una lectura azul sin filtro de 1 V se convertirá en 0.7 V con el filtro. Si el color es rojo, una lectura de 1 V sin filtro probablemente proporcionará 0,4 V aproximadamente con el filtro.

Puede convertir la corriente del fotodiodo a un voltaje con una resistencia en serie, o con un amplificador de transimpedancia opamp:

Tenga en cuenta que el ánodo del diodo debe estar conectado a un voltaje más negativo que la entrada no inversora. Encuentro un sorprendente número de circuitos en la red donde el ánodo está conectado a tierra. Pero entonces, debido a que el diodo crea una caída de voltaje, el opamp no puede regular la salida para que las entradas sean iguales y la salida se sature.

    
respondido por el stevenvh
4

Un enfoque muy simple para determinar el color de una superficie es usar un fotodiodo o fotorreservador y un número (3, por ejemplo, como en RGB) de LED de diferentes colores para iluminar la superficie.

Luego, de forma multiplexada en el tiempo, cada uno de los LED se enciende solo en secuencia para iluminar la superficie, y se mide la intensidad de la luz reflejada para cada uno de ellos.

Ejemplo: si utiliza tres LED, uno rojo, uno verde y uno azul, esto producirá tres valores de intensidad de reflexión, uno para cada componente de color, que juntos, después de la posible normalización, darán una aproximación numérica del color de la superficie en algún tipo de espacio RGB (que depende de las distribuciones de longitud de onda específicas de los LED, por supuesto).

(Usaré la configuración de ejemplo de tres colores RGB en lo siguiente para simplificar, pero se puede usar cualquier número de 1 a n de fuentes de luz de colores diferentes; mientras más colores diferentes se usen, más exacto será el color de la superficie). determinado.)

El principio es el mismo que en el chip de una cámara: las intensidades de los componentes rojo, azul y verde de la luz entrante se miden independientemente y la combinación de las tres intensidades determina el color. En la cámara, hay un fotodetector para cada uno de esos tres colores básicos para que las tres intensidades se puedan medir al mismo tiempo. Lo que hace esto complicado es que se necesitan tres sensores diferentes o tres filtros diferentes.

Por lo tanto, la propuesta funciona al revés: en lugar de filtrar la luz después se refleja desde la superficie, también se puede 'filtrar' la luz antes que golpea la superficie; Básicamente, para tu percepción no importa si te pones tus gafas de sol de color azul o si usas una fuente de luz azul y no gafas de sol en su lugar.

La intensidad de la luz reflejada medida para cada componente de color (o LED) producirá un valor (normalizado) en el rango de [0.0, ..., 1.0], donde 0.0 significa que no la luz se refleja y 1.0 significa que se refleja una cantidad máxima de luz. Dependiendo del color de la superficie, las intensidades serán diferentes para los diferentes colores de luz (longitudes de onda).

En todos los casos, recibirá tres valores de intensidad, cada uno de los cuales determina la intensidad de una determinada parte del espectro de color. Por lo tanto, cada medición completa produce un triplete (r, g, b) que determina el color medido. Como en los gráficos de computadora, el triplete (0,0,0) representa oscuridad completa, negro; (1,1,1) es el blanco más brillante, y cualquier combinación (r, g, b) donde r == g == b representa un tono de gris. Todas las demás combinaciones posibles identifican un punto distintivo en el espacio RGB, definiendo el color medido. (0.5,0,0) es un rojo medio, por ejemplo, y (0.9,0.9,0) es un amarillo relativamente brillante, etc.

Nota:

  1. El fotodetector debe, por supuesto, ser sensible a todos los (3) colores claros utilizados.
  2. El fotodetector puede necesitar algún tiempo para estabilizarse después de cambiar los LED antes de poder obtener lecturas precisas; los fotoresistores, por ejemplo, suelen ser relativamente lentos. Se pueden necesitar decenas a cientos de milisegundos para una precisión aceptable, minutos para los valores más exactos.
  3. Una vez que se configura el hardware, se puede calibrar fácilmente a los colores de la superficie de interés simplemente midiendo una muestra de cada uno. De esta manera, no es necesario hacer ningún esfuerzo para determinar las distribuciones de longitud de onda exactas o el brillo relativo de los LED, o la sensibilidad relativa del sensor para esas longitudes de onda.
  4. Puede ser necesaria la normalización de los valores medidos antes del uso real. Por ejemplo, para compensar la luz parásita del exterior, se puede tomar una medida más con todos los LED apagados y el resultado se restará de los valores medidos cuando el LED esté encendido. En general, el valor absoluto medido para cada componente de color es menos significativo que la diferencia relativa entre ellos.

Algunas páginas aleatorias con 'práctica' sobre el tema:

enlace

enlace

enlace

    
respondido por el JimmyB
3

Hay un número importante de IC que harán este trabajo con varios grados de capacidad. Romperé el rango en 3 partes, pero hay límites absolutos y rápidos.

(1) En el extremo inferior hay circuitos integrados con un único sensor de diodo por color, filtros RGB y salida de 3 canales.
 Un ejemplo (que no está disponible en Digikey) es Avago ADJD-S311 CR999

(2) Por encima de eso hay pequeños arreglos de fotodiodos con filtros RGB y quizás también células sin filtro. Ejemplo a continuación.

(3) En el extremo superior están los CI de cámara a todo color a precios bastante razonables. Ejemplo a continuación.

Simple y barato: salida analógica de onda cuadrada en canales de luminancia R G B.
 Por aproximadamente $ 3.50 en stock en 1 / s en Digikey: 24 o 64 fotodiodos organizados en 4 grupos intercalados: 25% cada uno de R, G, B y amp; Borrar filtros.
 El precio es para el IC más grande. Hoja de datos aquí

  • El color programable TCS3200 y TCS3210 Convertidores de luz a frecuencia que combinan configurable Fotodiodos de silicio y una corriente a frecuencia. convertidor en un solo CMOS monolítico circuito integrado.
    La salida es una onda cuadrada (50% ciclo de trabajo) con frecuencia directamente proporcional a intensidad de luz (irradiancia).
    La frecuencia de salida de escala completa se puede escalar en uno de los tres valores predeterminados a través de dos pines de entrada de control. Digital Las entradas y la salida digital permiten la interfaz directa a un microcontrolador u otro circuito lógico. Habilitar salida (OE) coloca la salida en el estado de alta impedancia para compartir unidades múltiples de una línea de entrada del microcontrolador.
    En el TCS3200, el convertidor de luz a frecuencia lee una serie de fotodiodos de 8 × 8. Dieciséis fotodiodos tienen filtros azules, 16 fotodiodos tienen filtros verdes, 16 fotodiodos tienen filtros rojos y 16 fotodiodos son claros sin filtros.
    En el TCS3210, el convertidor de luz a frecuencia lee una serie de fotodiodos de 4 × 6. Seis fotodiodos tienen azul. filtros, 6 fotodiodos tienen filtros verdes, 6 fotodiodos tienen filtros rojos y 6 fotodiodos son claros sin filtros.
    Los cuatro tipos (colores) de fotodiodos están interdigitados para minimizar el efecto de la no uniformidad del incidente. irradiancia Todos los fotodiodos del mismo color están conectados en paralelo. Los pines S2 y S3 se utilizan para seleccionar cuáles Grupo de fotodiodos (rojo, verde, azul, claro) están activos. Los fotodiodos tienen un tamaño de 110 μm × 110 μm y están en Centros de 134 μm.

Un poco más querido. Mas complejo. Mucho más capaz.
 Por $ 18 en acciones en Digikey, puede obtener un sensor completo de "cámara de color" RGB de 5 Mp: 2592 x 1944 x 14 fps o VGA a 53 fps. Esto debería satisfacer su necesidad [tm].
Hoja de datos aquí

  • El Aptina® MT9P031 es un píxel activo de 1 / 2.5 pulgadas CMOS Sensor de imagen digital con un píxel de imagen activo. Arreglo de 2592H x 1944V. Incorpora sofisticada. Funciones de la cámara en el chip, como ventanas, columnas y modo de salto de fila, y modo de instantánea. Es programable a través de una simple interfaz serial de dos cables.
respondido por el Russell McMahon

Lea otras preguntas en las etiquetas