ES2231309T3 - Localizador de etiquetas, de multiples resoluciones. - Google Patents

Localizador de etiquetas, de multiples resoluciones.

Info

Publication number
ES2231309T3
ES2231309T3 ES00993097T ES00993097T ES2231309T3 ES 2231309 T3 ES2231309 T3 ES 2231309T3 ES 00993097 T ES00993097 T ES 00993097T ES 00993097 T ES00993097 T ES 00993097T ES 2231309 T3 ES2231309 T3 ES 2231309T3
Authority
ES
Spain
Prior art keywords
image
value
cell
values
window
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES00993097T
Other languages
English (en)
Inventor
Jianxin Wu
Gregory P. Skinger
Chai-Seng Wang (Jason)
James Recktenwalt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
United Parcel Service of America Inc
United Parcel Service Inc
Original Assignee
United Parcel Service of America Inc
United Parcel Service Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United Parcel Service of America Inc, United Parcel Service Inc filed Critical United Parcel Service of America Inc
Application granted granted Critical
Publication of ES2231309T3 publication Critical patent/ES2231309T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07CPOSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
    • B07C1/00Measures preceding sorting according to destination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/147Determination of region of interest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/18086Extraction of features or characteristics of the image by performing operations within image blocks or by using histograms
    • G06V30/18095Summing image-intensity values; Projection and histogram analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/42Document-oriented image-based pattern recognition based on the type of document
    • G06V30/424Postal images, e.g. labels or addresses on parcels or postal envelopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S209/00Classifying, separating, and assorting solids
    • Y10S209/90Sorting flat-type mail

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Navigation (AREA)

Abstract

Un procedimiento para localizar marcas discriminantes que tienen características de interés en un sustrato, que comprende las etapas de: obtener una señal de video definida por una pluralidad de pixeles que comprenden una imagen de entrada del sustrato; dividir la imagen de entrada en una pluralidad de celdas de pixeles múltiples (86); crear una imagen diezmada que corresponde a la imagen de entrada que comprende un valor característico que corresponde a cada celda de la imagen de entrada, representando cada valor característico un número escogido de los pixeles dentro de la celda correspondiente (94, 96); identificar una o mas manchas dentro de la imagen diezmada que tienen valores característicos que corresponden a las características de interés (98); crear una imagen de aparición de bordes que corresponde a la imagen de entrada que comprende un valor de borde que corresponde a cada celda de la imagen de entrada, representando cada valor de borde el número de apariciones de orientacionesde bordes predeterminadas dentro de los pixeles de la celda correspondiente (88, 90, 92); basándose en una o mas manchas en la imagen diezmada, identificar una o mas áreas posibles dentro de la imagen de entrada que tienen características de imagen diezmada y características de imagen de aparición de bordes que corresponden a las características de interés (100, 102); clasificar las áreas posibles según la probabilidad de que contengan marcas discriminantes que tengan las características de interés (104) comparando características respectivas de áreas posibles respectivas, y compilar una lista priorizada de una o mas áreas posibles que contienen con mas probabilidad marcas discriminantes que tienen las características de interés (106).

Description

Localizador de etiquetas, de múltiples resoluciones.
Campo de la invención
La presente invención trata en general del campo del procesamiento de imágenes y, más específicamente, de un localizador de etiquetas multiresolución en un sistema automatizado de clasificación de paquetes.
Antecedentes de la invención
La clasificación automatizada de paquetes se está haciendo muy popular porque reduce los costes de la mano de obra mientras que ofrece servicios de entrega de paquetes rápidos y fiables. Sin embargo, como los paquetes casi nunca tienen el mismo tamaño y forma, la clasificación automatizada de paquetes que emplea procesamiento de imágenes para identificar etiquetas de dirección se hace muy complicada y puede ser propensa a errores de lectura de etiquetas.
Para captar una imagen de una etiqueta de dirección de un paquete con suficiente calidad para que un operador humano lea y después teclee la dirección de destino, una cámara debe explorar la superficie de un paquete a resolución relativamente alta. Una imagen de alta resolución tiene como resultado grandes imágenes de paquetes y, en consecuencia, grandes requisitos de almacenamiento de datos. Un problema de la clasificación automatizada de paquetes es procesar imágenes de paquetes de alta resolución a un ritmo equivalente a la salida de la sección mecánica o sistema transportador del sistema de clasificación automatizada de paquetes.
Además de mucho tiempo de procesamiento de imágenes, otro problema en el procesamiento de imágenes de paquetes de alta resolución es localizar la etiqueta de dirección de destino. Incluso con imágenes de alta resolución, el operador humano todavía debe mirar arriba, abajo o a través de una pantalla que muestra la imagen para identificar la ubicación de la etiqueta de la dirección de destino. Estas exploraciones visuales reducen significativamente la eficacia de un sistema automático de clasificación de paquetes.
Otros sistemas de clasificación automatizada de paquetes han tratado de mejorar la eficiencia eliminando la necesidad de que un operador humano lea y teclee la dirección de destino de una etiqueta. Tales otros sistemas de clasificación automatizada de paquetes incluyen dispositivos que emplean líneas de fe y sistemas que se basan en el borde delantero de paquetes que tienen una forma conocida.
Los sistemas de clasificación automatizada de paquetes que emplean líneas de fe usan reconocimiento óptico de caracteres (OCR) para determinar la ubicación y orientación de un objeto o texto adherido a un objeto. Por ejemplo, un sistema lector OCR explora un paquete que lleva una línea de fe y localiza la línea de fe. De esta manera, una línea de fe que está colocada en una relación conocida con el bloque de dirección de destino puede ser usada por el sistema OCR para localizar la posición del bloque de dirección de destino. Igualmente, una línea de fe específica de orientación cuya orientación está colocada en una relación conocida con la orientación del texto dentro de un bloque de dirección de destino puede ser usada por un sistema OCR para determinar la orientación del texto.
Aunque los sistemas de línea de fe pueden mejorar la eficiencia, estos sistemas requieren que cada paquete que recibe emplazamiento tenga líneas de fe idénticas para que cada sistema OCR pueda reconocer una línea de fe particular. Por lo tanto, tales sistemas requieren generalmente etiquetas o paquetes preimpresos que comprenden la línea de fe y especificar un área que se pueda marcar para colocar texto. Las etiquetas preimpresas y los paquetes preimpresos son caros y algún porcentaje de clientes inevitablemente dejará de usarlos.
Para otros sistemas que no emplean líneas de fe ni etiquetas preimpresas, se utiliza el borde delantero del paquete con una forma conocida para determinar la orientación y ubicación de texto en un paquete. Sin embargo, parecido a los sistemas de línea de fe, estos sistemas no ofrecen flexibilidad en el tamaño y/o forma de paquetes. El documento DE-C-19632842 enseña un sistema de grabación de imagen para ubicación automática de dirección en grandes cartas y paquetes, incluyendo el sistema una cámara en escala de grises de alta resolución y una cámara en color de baja resolución. Además, el artículo del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) titulado "A Multi-Resolution Approach to Extract the Address Block on Flat Mail Pieces", de los autores C. Viard-Gaudin y D. Barba, publicado en 1991, págs. 2701-2704 describe un procedimiento para extraer el bloque de dirección de destino en paquetes postales basado en una estructura de datos piramidal que representa la imagen con un procedimiento multiresolución. Sin embargo, estos antecedentes no enseñan la identificación de áreas de etiquetas posibles basándose en características de imágenes diezmadas y características de imágenes de aparición de bordes adecuadas, ni estos antecedentes enseñan a clasificar las áreas posibles según la probabilidad de que las áreas que contienen marcas discriminantes tengan características de interés.
Por consiguiente, existe una necesidad en la técnica de un sistema automático de clasificación de paquetes que pueda identificar fácilmente etiquetas de dirección de destino dentro de una imagen explorada de un paquete, sin tener en cuenta el tamaño y/o forma del paquete. Existe una necesidad más en la técnica de un sistema automático de clasificación de paquetes que reduzca considerablemente la cantidad de tiempo requerido para procesar una imagen o para obtener datos de la etiqueta de dirección de destino a partir de una imagen explorada.
Resumen de la invención
La presente invención, según se define por las reivindicaciones adjuntas, es un localizador de etiquetas multiresolución que proporciona una lista de una o más áreas dentro de una imagen procesada de un paquete que pueden contener etiquetas de interés. El localizador de etiquetas multiresolución es típicamente parte de un sistema de clasificación automática de paquetes.
El sistema de clasificación automática de paquetes incluye típicamente una cámara de vídeo montada adyacente a un aparato transportador. La cámara de vídeo está enlazada operativamente a dos procesadores de vídeo, que producen al menos dos clases diferentes de señales de imagen de un paquete. Los procesadores de vídeo producen una primera imagen diezmada (de baja resolución) del paquete y una segunda imagen que corresponde a apariciones de bordes de marcas discriminantes que se espera que aparezcan en una etiqueta, como texto.
Las dos imágenes producidas por el procesador de vídeo identifican características diferentes de la imagen original de alta resolución. Por ejemplo, el hardware de imagen diezmada del procesador de vídeo puede identificar áreas en la imagen que tienen características típicas de etiquetas, mientras que el procesador de apariciones de bordes puede identificar áreas que tienen características típicas de texto.
Las dos imágenes se introducen en un microprocesador separado, que emplea un programa localizador de etiquetas multiresolución para identificar una o más áreas en el paquete que pueden contener una etiqueta de interés. El programa localizador de etiquetas multiresolución clasifica luego estas áreas y compila una lista de estas áreas posibles basándose en datos extraídos de la primera y segunda imágenes producidas por el procesador de vídeo.
Expresado de forma general, la invención, según se define por las reivindicaciones adjuntas, es un sistema localizador de etiquetas multiresolución para un sistema de clasificación automática de paquetes. El sistema localizador de etiquetas multiresolución obtiene una señal de vídeo que contiene una pluralidad de píxeles que definen una imagen de entrada de un sustrato. El sistema localizador de etiquetas multiresolución divide la imagen de entrada en una pluralidad de celdas de píxeles múltiples. En cálculos posteriores, el sistema extrae valores de características que corresponden a las imágenes preprocesadas diezmadas y de aparición de bordes.
El sistema localizador de etiquetas multiresolución crea luego la imagen diezmada (imagen de baja resolución), que corresponde a la imagen de entrada, para reducir la cantidad de datos en los cálculos posteriores. Esta imagen diezmada se genera utilizando un valor de característica común, como un único píxel, que corresponde a cada celda de píxeles múltiples de la imagen de entrada. Cada valor de característica común representa una imagen diezmada de los píxeles dentro de la celda correspondiente. Por ejemplo, si el sistema localizador multiresolución está diseñado para localizar etiquetas en un embalaje o paquete, entonces el sistema buscará grandes áreas contiguas relativamente blancas (o áreas que tienen un color diferente dependiendo del entorno de funcionamiento de la presente invención) en el embalaje o paquete, ya que las etiquetas tienen generalmente un color diferente o reflejan la luz con una intensidad diferente en relación con el embalaje o paquete. A esas regiones del paquete o embalaje que tienen una intensidad de luz superior o diferente valor de color se les asigna un valor de imagen diezmada y este dato se asigna luego a un espacio imagen para crear la imagen diezmada.
Con esta imagen diezmada, la función extracción de características implementada en el microprocesador puede extraer eficientemente parámetros de características de las áreas de etiquetas posibles. Algunos de los parámetros de características pueden incluir: dimensiones normalizadas y áreas de las posibles etiquetas, relaciones dimensionales, y las intensidades luminosas medias relativas de las áreas posibles de etiquetas potenciales derivadas de la imagen diezmada. Estos parámetros de características se convierten en los datos de entrada para la función de clasificación (también tratada más adelante).
Mientras el primer procesador de vídeo del sistema localizador multiresolución está generando la imagen diezmada, el segundo procesador de vídeo del sistema localizador de etiquetas multiresolución crea simultáneamente una imagen de aparición de bordes que corresponde a la imagen de entrada. La imagen de aparición de bordes incluye un valor de borde que corresponde a cada celda de la imagen de entrada. Cada valor de borde representa el número de apariciones de bordes dentro de los píxeles de una celda correspondiente de la imagen de entrada. Por ejemplo, si el sistema localizador multiresolución está diseñado para localizar etiquetas de dirección en un embalaje o paquete, el sistema localizador buscará transiciones entre blanco y negro muy próximas, ya que el texto en las etiquetas de dirección tiene tales características. Los códigos de barras también tienen transiciones entre blanco y negro, pero las transiciones están alineadas en una orientación uniforme. Por otra parte, las transiciones dentro de texto escrito a mano o mecanografiado en etiquetas tienden a tener una orientación aleatoria. El sistema localizador multiresolución utiliza, por lo tanto, estas características para distinguir una etiqueta de dirección que contiene texto de una etiqueta de código de barras.
Después de generar las imágenes de aparición de bordes y diezmada, el sistema localizador de etiquetas multiresolución identifica una o más áreas posibles dentro de estas imágenes que tienen características de imagen diezmada y características de aparición de bordes que corresponden a las características de interés. Esta identificación incluye además el procesamiento de las imágenes separadas. Concretamente, el programa localizador de etiquetas multiresolución clasifica después las áreas posibles según la probabilidad de que la imagen de entrada contenga marcas discriminantes que tengan las características de interés. Basándose en estas características, el módulo localizador de etiquetas multiresolución compila entonces una lista de una o más áreas posibles que contienen con más probabilidad marcas discriminantes que tienen las características de interés.
Atributos de imagen diezmada
El sistema localizador de etiquetas multiresolución crea la imagen diezmada calculando un histograma de valores de píxeles que aparece dentro de cada celda de la imagen de entrada. Por ejemplo, el valor de característica común o valor de píxel puede corresponder al color aproximado para cada píxel. El sistema localizador de etiquetas multiresolución selecciona entonces del histograma un valor de modo que corresponde al valor de píxel que aparece más frecuentemente dentro de una celda respectiva de la imagen de entrada. El sistema localizador de etiquetas multiresolución establece para la celda un valor respectivo de característica común en la imagen diezmada al valor de modo.
Para identificar una o más áreas posibles dentro de la imagen diezmada que tengan características que correspondan a las características esperadas de las marcas discriminantes, el sistema localizador de etiquetas multiresolución calcula un histograma de características comunes que corresponde a la imagen diezmada. Después, el sistema localizador de etiquetas multiresolución suaviza el histograma de características comunes tanto con un filtro de paso bajo como con un filtro de ventana móvil adaptativa.
Para separar las posibles etiquetas de un fondo del paquete, el sistema localizador de etiquetas multiresolución selecciona uno o más valores máximos del histograma de características comunes filtradas y aísla una región máxima alrededor de cada valor máximo identificando valores valle límites superior e inferior. El sistema localizador de etiquetas multiresolución crea luego una imagen segmentada asignando los píxeles dentro de cada región máxima a una imagen en blanco que corresponde a la imagen diezmada. Posteriormente, el sistema localizador de etiquetas multiresolución identifica un o más componentes separados dentro de la imagen segmentada que corresponden a las características de interés. Esto produce una imagen segmentada en la que las manchas o áreas posibles están circunscritas por una ventana o caja límite. Para cada ventana límite, el módulo localizador de etiquetas multiresolución calcula uno o más valores de características que pueden incluir características geométricas de la ventana límite y/o valores de intensidad luminosa media relativa para celdas dentro de la ventana límite. Otros valores de características pueden incluir dimensiones normalizadas de las ventanas límite, áreas normalizadas para las ventanas límite y relaciones dimensionales para las ventanas límite. Típicamente, estos valores de características son invariantes con respecto a la orientación e iluminación de la cámara. En otras palabras, estos valores de características no cambian si se modifica la orientación de la cámara o si cambia la iluminación del fondo. Después de obtenerse los valores de características, el módulo localizador de etiquetas multiresolución ensambla entonces un vector de características que incluye los valores de características de la ventana límite y los valores de características para el área dentro de la ventana
límite.
Atributos de imagen de aparición de bordes
Para crear la imagen de aparición de bordes, una función de umbral blanco/negro del primer procesador de vídeo del sistema localizador de etiquetas multiresolución codifica en binario los valores de los píxeles dentro de cada celda de la imagen de entrada. Para codificar en binario valores de píxeles dentro de una celda de la imagen de entrada, el sistema localizador de etiquetas multiresolución aplica una técnica de codificación adaptativa en binario a los valores de píxeles dentro de la celda para seleccionar un umbral para codificar en binario los valores de píxeles basándose en los valores de píxeles de fondo identificados. El sistema localizador de etiquetas multiresolución identifica entonces las transiciones en las orientaciones esperadas entre los valores de píxeles codificados en binario dentro de cada celda. El sistema localizador de etiquetas multiresolución calcula luego un valor de aparición de bordes totalizado ara cada celda basándose en transiciones dentro de la celda y establece el valor de borde para cada celda al valor de aparición de bordes totalizado para los píxeles dentro de la celda.
El sistema localizador de etiquetas multiresolución identifica estas transiciones en una celda particular comparando los valores de píxeles dentro de la celda con una pluralidad de plantillas que definen patrones de píxeles que están entre las características de interés. El sistema localizador de etiquetas multiresolución totaliza luego las transiciones en orientaciones esperadas entre los valores de píxeles codificados en binario dentro de la celda definiendo también contadores para cada orientación. Para cada plantilla, el sistema localizador de etiquetas multiresolución compara ejemplos de cada plantilla con partes contiguas no superpuestas de la celda que tienen el mismo tamaño que la plantilla, de manera que cada píxel de la celda se compara con al menos un ejemplo de la plantilla. El sistema localizador de etiquetas multiresolución identifica luego uno o más patrones de píxeles coincidentes dentro de la celda que corresponden a un patrón de píxeles definido por la plantilla. El sistema localizador de etiquetas multiresolución identifica una orientación asociada con el patrón de píxeles e incrementa uno o más contadores en respuesta a la aparición de cada patrón de píxeles coincidente.
Para calcular el valor de aparición de bordes totalizado para cada celda basándose en las transiciones y sus valores de contadores respectivos, el sistema localizador de etiquetas multiresolución aplica una fórmula de totalización que filtra los valores de contadores para incrementar el valor de aparición de bordes totalizado en respuesta a orientaciones aleatorias que indican la presencia de texto dentro de la celda. Con esta fórmula de totalización, el sistema localizador de etiquetas multiresolución evita incrementar el valor de aparición de bordes totalizado en respuesta a transiciones espaciadas uniforme o paralelamente que indican la presencia de un código de barras dentro de la celda. Esto permite que el sistema localizador de etiquetas multiresolución elimine áreas posibles dentro de la imagen de entrada que corresponden a etiquetas de códigos de barras que no contienen texto ni por lo tanto información sobre dirección de destino.
Atributos de ventana límite
El sistema localizador de etiquetas multiresolución puede calcular muchos valores de características diferentes para cada ventana límite. Un valor de características incluye una altura normalizada que representa una relación de una altura definida por la ventana límite a la altura definida por la imagen segmentada. Otro valor de características de la ventana límite incluye una anchura normalizada que representa una relación de la anchura definida por la ventana límite a la anchura definida por la imagen segmentada. Un valor de características adicional de la ventana límite incluye un área normalizada que representa la relación de un área definida por la ventana límite a un área definida por la imagen segmentada. Otro valor de características de la ventana límite incluye una relación entre dimensiones que representa una relación de la anchura definida por la ventana límite a la altura definida por la ventana límite.
Además de los valores de características de la ventana límite, el sistema localizador de etiquetas multiresolución puede calcular muchos valores de características diferentes que corresponden a la intensidad luminosa media para celdas que hay dentro la ventana límite. El sistema localizador de etiquetas multiresolución puede calcular un valor de características basándose en una intensidad de apariciones de bordes normalizada que representa una relación de la suma de valores de aparición de bordes para celdas dentro de la ventana límite a un número total de celdas dentro de la ventana límite. El sistema localizador de etiquetas multiresolución también puede calcular un valor de características basándose en una intensidad de apariciones de bordes normalizada que representa una relación de la suma de los valores totalizados de apariciones de bordes para celdas dentro de la ventana límite a un área definida por la ventana límite. Para eliminar el ruido al calcular la intensidad de apariciones de bordes normalizada (la intensidad de transición para la realización preferida), el sistema localizador de etiquetas multiresolución pone a cero los valores de transición totalizados para celdas dentro de la ventana límite por debajo de un valor umbral predefinido.
Preclasificación y clasificación de áreas posibles
Basándose en las características de aparición de bordes, el sistema localizador de etiquetas multiresolución puede preclasificar áreas posibles aplicando valores umbrales que son típicos de las características de interés. Por ejemplo, si el localizador de etiquetas multiresolución está diseñado para encontrar etiquetas de dirección de destino en un embalaje o paquete, el localizador multiresolución puede eliminar áreas posibles basándose en un tamaño del área, ya que las etiquetas tienen típicamente un tamaño mínimo y máximo. El sistema localizador de etiquetas multiresolución puede entonces eliminar una o más áreas posibles que tengan una ventana límite correspondiente que defina un área por debajo de un valor umbral mínimo predefinido. Igualmente, el sistema localizador de etiquetas multiresolución puede eliminar una o más áreas posibles que tengan una ventana límite correspondiente que defina un área por encima de un valor máximo predefinido. Además, el sistema localizador de etiquetas multiresolución puede recortar una o más áreas posibles para que correspondan a una ventana límite que tiene un tamaño predefinido centrada alrededor de un centro de masas calculado para los valores de características del área posible correspondiente.
Después de preclasificar áreas posibles, el sistema localizador de etiquetas multiresolución clasifica las áreas posibles según la probabilidad de contener marcas discriminantes que tengan las características de interés comparando vectores de características respectivos de áreas posibles respectivas. Para crear una lista que clasifique las áreas posibles, el sistema localizador de etiquetas multiresolución calcula un primer valor de decisión que corresponde a uno o más de los valores de características de la ventana límite comparando el valor de características de la ventana límite con un valor esperado del valor de características de la ventana límite. En este caso, el valor esperado del valor de características de la ventana límite está entre una de las características de interés. Por ejemplo, en un diseño de localizador de etiquetas, la ventana límite de una etiqueta efectiva puede tener un área esperada predeterminada, un perímetro esperado predeterminado, y/o una relación entre dimensiones esperada predeterminada.
Después de calcular un primer valor de decisión basándose en los valores de características de la ventana límite, el sistema localizador de etiquetas multiresolución calcula luego un segundo valor de decisión que corresponde a uno o más de los valores de características restantes (es decir, distintos de los valores de características de la ventana límite) comparando los valores de características con valores esperados de los valores de características. Los valores esperados de los valores de características también están entre las características de interés.
Después de calcular valores de decisión, el sistema localizador de etiquetas multiresolución puede listar áreas posibles en un orden priorizado definiendo un espacio de decisión que tiene una pluralidad de subespacios de decisión. El sistema localizador de etiquetas multiresolución calcula luego los espacios de decisión y asigna los vectores de características a los espacios de decisión basándose en los valores relativos de la ventana límite y los valores de características de los vectores de características.
Componentes de hardware
La presente invención puede plasmarse en un sistema de imagen de vídeo operable para recibir un flujo de datos que comprende valores de píxeles que definen una imagen de entrada y para procesar los valores de píxeles para localizar marcas discriminantes dentro de la imagen de entrada que tienen características de interés. El sistema de imagen de vídeo incluye típicamente un primer procesador de imagen de vídeo operable para dividir la imagen de entrada en una pluralidad de celdas de píxeles múltiples. El sistema de imagen de vídeo también crea una imagen diezmada que corresponde a la imagen de entrada que comprende un elemento que corresponde a cada celda de la imagen de entrada.
Cada elemento de la imagen diezmada representa una característica común, como una intensidad luminosa media, de los píxeles dentro de una celda correspondiente de la imagen de entrada. Para generar la imagen diezmada, el primer procesador de imagen de vídeo incluye una memoria intermedia operativa para recibir valores de píxeles en serie. El primer procesador de imagen de vídeo está implementado típicamente dentro de una matriz de puertas programable en campo (FPGA) conectada a la memoria intermedia y operativa para recibir un flujo de píxeles. El primer procesador de imagen de vídeo incluye además un dispositivo de memoria estática y está configurado para realizar sus operaciones a medida que los píxeles circulan a través de la FPGA.
Además del primer procesador de vídeo, el sistema de imagen de vídeo incluye típicamente un segundo procesador de vídeo operable para crear una imagen de aparición de bordes que corresponde a la imagen de entrada que comprende un elemento que corresponde a cada celda de la imagen de entrada. Cada elemento de la imagen de aparición de bordes representa el número de apariciones de un borde dentro de los píxeles de la celda correspondiente de la imagen de entrada.
Al igual que el primer procesador de vídeo, el segundo procesador de vídeo está implementado típicamente dentro de una FPGA. Para crear la imagen de aparición de bordes, el segundo procesador de imagen de vídeo incluye típicamente una memoria intermedia enlazada operativamente a una pluralidad de registradores de desplazamiento. La pluralidad de registradores de desplazamiento está enlazada operativamente a un dispositivo de memoria dinámica.
Un tercer procesador de vídeo, configurado preferiblemente como sistema de software ejecutándose en un ordenador de propósito general, identifica una o más regiones dentro de la imagen diezmada que tienen características que corresponden a las características esperadas de las marcas discriminantes. El tercer procesador de vídeo combina la imagen diezmada y la imagen de aparición de bordes y clasifica áreas posibles según la probabilidad de que estas áreas contengan marcas discriminantes que tengan las características de interés. Después de clasificar, el tercer procesador de vídeo compila una lista priorizada de una o más áreas posibles que contiene con más probabilidad marcas discriminantes que tienen las características de interés.
Para combinar los datos del primer y segundo procesadores de vídeo y para calcular la lista priorizada de áreas posibles, el tercer procesador de imagen de vídeo incluye una unidad central de procesamiento y un dispositivo de almacenamiento de memoria. El tercer procesador de imagen de vídeo es operable para identificar una o más áreas posibles dentro de la imagen de entrada que tienen características de imagen diezmada y características de imagen de aparición de bordes que corresponden a las características de interés. El tercer procesador de imagen de vídeo es operable además para clasificar las áreas posibles según la probabilidad de contener marcas discriminantes que tengan las características de interés y para compilar una lista priorizada de una o más áreas posibles que contengan con más probabilidad marcas discriminantes que tengan las características de interés.
Entorno operativo ejemplar
La presente invención proporciona un sistema operable para localizar etiquetas que tienen características de interés en un flujo móvil de paquetes o embalajes. El sistema incluye un embalaje, un transportador operable para mover el embalaje, y dispositivo de vídeo colocado adyacente al transportador y, típicamente, encima del mismo. El dispositivo de vídeo explora cada embalaje a medida que cada embalaje pasa por el dispositivo de vídeo. El procesador de vídeo, enlazado operativamente al dispositivo de vídeo, genera una imagen diezmada y una imagen de aparición de bordes del embalaje.
Para evaluar la imagen diezmada y la imagen de aparición de bordes, el sistema incluye además un microprocesador enlazado operativamente al procesador de vídeo. El microprocesador compila una lista priorizada de una o más áreas posibles que contienen con más probabilidad marcas discriminantes que tienen las características de interés.
Lo que la invención mejora frente a los sistemas anteriores de clasificación automatizada de paquetes y que logra las ventajas descritas anteriormente se hará patente a partir de la siguiente descripción detallada de las realizaciones ejemplares y los dibujos y reivindicaciones adjuntos.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques funcional de un sistema localizador de etiquetas multiresolución sobre la cinta que proporciona el entorno operativo para las realizaciones ilustrativas de la presente invención.
La Fig. 2 es un diagrama de bloques que ilustra un sustrato de interés para el sistema localizador de etiquetas multiresolución.
La Fig. 3 es un diagrama de bloques funcional que ilustra un sistema localizador de etiquetas multiresolución según una realización ejemplar de la presente invención.
La Fig. 4 es un organigrama lógico más detallado que identifica el hardware y el software para el sistema localizador de etiquetas multiresolución.
La Fig. 5 es un diagrama que ilustra una imagen diezmada del sustrato de un paquete de interés.
La Fig. 6 es un diagrama que ilustra una imagen segmentada generada a partir de la imagen diezmada.
La Fig. 7 es un diagrama que ilustra una imagen de aparición de bordes generada por uno de los procesadores de imagen de vídeo del sistema localizador de etiquetas multiresolución.
La Fig. 8 es un diagrama que ilustra las ventanas límite a partir de la imagen segmentada que se asignan a la imagen de aparición de bordes.
La Fig. 9A es un diagrama de bloques funcional del hardware para fijar el umbral de la imagen original de alta resolución generada a partir de la cámara en una imagen binaria en blanco y negro.
La Fig. 9B es un diagrama que describe la lógica de umbral de blanco y negro para el hardware de imagen binaria en blanco/negro de la Fig. 9A.
La Fig. 10 es un diagrama de bloques funcional que ilustra el hardware para producir la imagen de aparición de bordes.
La Fig. 11 es un diagrama de bloques funcional del hardware responsable de generar la imagen diezmada del sistema localizador de etiquetas multiresolución.
La Fig. 12 es un organigrama lógico que ilustra un procedimiento para identificar transiciones en orientaciones esperadas entre valores de píxeles codificados en binario dentro de la celda de una imagen de aparición de bordes.
La Fig. 13 es un organigrama lógico que ilustra un procedimiento para calcular un valor de aparición de bordes totalizado para una celda basado en las transiciones dentro de la imagen de aparición de bordes.
La Fig. 14 es un organigrama lógico que ilustra un procedimiento para crear la imagen diezmada calculando un histograma de valores de píxeles que se producen dentro de cada celda de la imagen diezmada.
La Fig. 15 es un organigrama lógico que ilustra un procedimiento para encontrar los valores máximos en cada histograma de celdas de la imagen diezmada.
La Fig. 16 es un organigrama lógico que ilustra un procedimiento para identificar una o más áreas posibles dentro de la imagen diezmada que tienen características que corresponden a las características esperadas de las marcas discriminantes en el sustrato.
La Fig. 17 es un diagrama que ilustra un histograma de la imagen diezmada.
La Fig. 18 es un gráfico que ilustra cómo los valores máximos del histograma de la imagen diezmada están determinados por puntos altos y bajos.
La Fig. 19 es un organigrama lógico que ilustra un procedimiento para identificar una o más áreas posibles dentro de la imagen de entrada que tienen características de imagen diezmada y características de imagen de aparición de bordes que corresponden a las características de interés.
La Fig. 20 es un diagrama que ilustra una ventana límite formada alrededor de cada componente conectado dentro de la imagen segmentada.
La Fig. 21 es un organigrama lógico que ilustra un procedimiento para preclasificar áreas posibles aplicando un grupo de requisitos.
La Fig. 22 es un organigrama lógico que ilustra un procedimiento para listar áreas posibles que tienen uno o más vectores de características.
Descripción detallada de realizaciones ejemplares
Debe entenderse que los programas, procesos, procedimientos, etc. descritos en este documento no están relacionados o limitados a ningún ordenador, procesador o aparato particular. Más bien, pueden usarse diversos tipos de dispositivos de cálculo para realizar las etapas del procedimiento de este documento. En particular, las realizaciones preferidas descritas en este documento se basan en una o más matrices de puertas programables en campo (FPGA) para realizar el procedimiento implementado por ordenador descrito en este documento. Sin embargo, se apreciará que podrían usarse de manera equivalente otros tipos de dispositivos de cálculo, como procesadores tradicionales von Neumann u otros tipos de sistemas de hardware dedicados, para realizar las etapas del procedimiento descrito en este documento.
Descripción del entorno operativo de las realizaciones preferidas de la presente invención
Haciendo referencia ahora a los dibujos, en los que números iguales indican elementos iguales a lo largo de las distintas figuras, la Fig. 1 es un diagrama de un sistema localizador de etiquetas multiresolución 20 que proporciona el entorno operativo para las realizaciones ilustrativas de la invención. El sistema localizador de etiquetas multiresolución 20 incluye un transportador 22 que lleva paquetes 24a-24c. Una cámara CCD 26 produce una imagen analógica de vídeo estándar del transportador 22 y la superficie de los paquetes 24a-24c a partir de la luz reflejada a medida que los paquetes 24a a 24c pasan bajo la cámara CCD 26.
La cámara CCD 26 puede ser una cámara monocroma de tipo de exploración de líneas de 4096 píxeles, como una que usa un chip CCD Thompson TH7833A. La resolución de la imagen creada por la cámara CCD 26 es aproximadamente 187 píxeles o "puntos" por pulgada (DPI) a través del transportador 22. En la práctica, pueden eliminarse todos los demás píxeles de una imagen para producir una imagen de vídeo de 93 DPI para reducir la cantidad de datos que han de ser procesados.
Un procesador de vídeo 28 convierte la imagen analógica de vídeo producida por la cámara CCD en una señal de vídeo en escala de grises de 8 bits. El procesador de vídeo 28 convierte luego esta señal de vídeo en escala de grises de 8 bits en una señal de imagen diezmada 30. El procesador de vídeo 28 también convierte la señal de vídeo en escala de grises de 8 bits en una señal de imagen de aparición de bordes 32.
El procesador de vídeo 28 transmite la señal de imagen diezmada 30 y la señal de imagen de aparición de bordes 32 a un ordenador servidor o microprocesador 34 que incluye un programa localizador de etiquetas multiresolución 36. El programa localizador de etiquetas multiresolución 36 compila una lista priorizada de una o más áreas posibles o posibles etiquetas 38 que contienen con más probabilidad etiquetas de dirección de destino.
En resumen, el procesador de vídeo 28 del sistema localizador de etiquetas multiresolución 20 convierte la señal analógica de vídeo 27 en una señal de vídeo en escala de grises de 8 bits. El procesador de vídeo 28 convierte luego esta señal de vídeo en escala de grises de 8 bits en una señal de imagen diezmada 30. Además, el procesador de vídeo 28 convierte la señal de vídeo en escala de grises de 8 bits en una señal de imagen de aparición de bordes 32. El procesador de vídeo 28 transmite luego la señal de imagen diezmada 30 y la señal de imagen de aparición de bordes 32 al ordenador servidor o microprocesador 34, donde un programa localizador de etiquetas multiresolución 36 extrae datos de la señal de imagen diezmada 30 y la señal de imagen de aparición de bordes 32 para producir la lista priorizada de posibles etiquetas 38.
La Fig. 2 ilustra una superficie del paquete 24a explorada por la cámara CCD 26, en la que el paquete es el objeto de las señales de imagen diezmada y de aparición de bordes. El paquete 24a incluye una etiqueta de dirección de destino 40 y una etiqueta de dirección de origen 42. El paquete 24a lleva un código de barras 44, que incluye normalmente un código que corresponde a la partida de envío y un código de seguimiento único asignado al embalaje por la compañía de envío de paquetes. El paquete 24a incluye además una marca de franqueo 46 y marcas extrañas 25 que son exploradas por la cámara CCD 26. Las marcas extrañas 25 son elementos fortuitos sobre un paquete que se producen típicamente durante la manipulación del embalaje. Las marcas 25 pueden ser marcas de tinta, suciedad u otros restos que pueden entrar en contacto con el embalaje y "marcarlo" durante el envío. La cámara CCD 26 produce una imagen digital de vídeo 48 que capta las etiquetas anteriormente mencionadas 40 y 42, el código de barras 44, las marcas extrañas 25 y la marca de franqueo 46.
La imagen de píxeles bidimensional 48 se divide en una pluralidad de celdas (mostradas en las Figs. 5-8). Cada celda de la imagen de píxeles bidimensional 48 incluye preferentemente 32 píxeles colineales de 32 líneas de exploración consecutivas que forman un cuadrado o rectángulo de 32 píxeles por 32 píxeles (es decir, 32 columnas y 32 filas de píxeles). Cada celda de la imagen de píxeles bidimensional 48 es un cuadrado con cada lado de aproximadamente un tercio de pulgada (0,85 centímetros). Se apreciará, por lo tanto, que 32 líneas exploradas comprenden 128 celdas que están alineadas lado a lado a través del transportador 22. Las celdas proporcionan un marco de referencia fijo dentro del cual el sistema localizador de etiquetas multiresolución identifica posibles etiquetas 38.
Resumen del sistema localizador de etiquetas multiresolución
La Fig. 3 ilustra un diagrama de bloques funcional más detallado del sistema localizador de etiquetas multiresolución 20. El procesador de vídeo 28 del sistema localizador de etiquetas multiresolución 20 incluye un circuito de imagen de aparición de bordes 50 y un circuito de imagen diezmada 52. Tanto el circuito de imagen de aparición de bordes 50 como el circuito de imagen diezmada 52 convierten la señal analógica de vídeo de 187 DPI y 8 bits/píxel en señales digitales de vídeo de 3DPI y 8 bits/píxel. Un dispositivo de almacenamiento 54, como una SRAM, almacena las señales de vídeo procesadas de 3 DPI y 8 bits/píxel recibidas del circuito de imagen de aparición de bordes 50 y del circuito de imagen diezmada 52.
El procesador de vídeo 28 que incluye los circuitos de imagen diezmada y de imagen de aparición de bordes 52 y 50 está típicamente implementado en hardware, como FPGAs que generan las imágenes de salida a medida que los datos de los píxeles circulan por el hardware. El procesador de vídeo 28 transmite la señal de imagen de aparición de bordes 32 de 3 DPI y la señal de imagen diezmada 30 de 3 DPI a un procesador de clasificación, que incluye el microprocesador 34 y el programa localizador de etiquetas multiresolución 36. El procesador de clasificación 34, 36 puede ser una estación de trabajo convencional o un ordenador personal que pueda ejecutar el programa localizador de etiquetas multiresolución.
El procesador de clasificación 34, 36 identifica una o más áreas posibles dentro de la imagen de entrada que tiene características de imagen diezmada y características de imagen de aparición de bordes. El procesador de clasificación 34, 36 clasifica las áreas posibles según la probabilidad de contener etiquetas de interés. El procesador de clasificación 34, 36 compila una lista priorizada de una o más áreas posibles dentro de la imagen de entrada del paquete 24a que contienen con más probabilidad etiquetas de dirección. El procesador de clasificación 34, 36 produce luego un número predeterminado de ubicaciones de etiquetas posibles 38.
Realizaciones alternativas de la invención
Debido a los incrementos de velocidad y tamaño de los procesadores, los expertos en la materia reconocerán que el programa localizador de etiquetas multiresolución también puede implementarse dentro de otros módulos de programas dentro de un solo procesador. Generalmente, los módulos de programas incluyen rutinas, programas, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares. Por otra parte, los expertos en la materia apreciarán que la invención puede ser practicada con otras configuraciones de sistemas de cálculo, que incluyen dispositivos portátiles, sistemas multiprocesador, electrónica de consumo programable o basada en microprocesador, miniordenadores, ordenadores centrales y similares. La invención también puede ser practicada en entornos de cálculo distribuido donde las tareas son realizadas por dispositivos de procesamiento remoto que están enlazados a través de una red de comunicaciones.
Aunque la presente invención se emplea preferentemente en un entorno de clasificación automatizada de paquetes, la invención no está limitada a esta aplicación y puede usarse en otras áreas que requieren la identificación de un primer objeto o primer conjunto de objetos presentes en un segundo objeto. Por ejemplo, la presente invención pude emplearse para localizar elementos específicos como líneas conductoras o microchips en una placa de circuito impreso. En esta aplicación, el circuito de imagen diezmada 52 podría identificar atributos de alto nivel de las líneas conductoras o microchips, mientras que el circuito de imagen de aparición de bordes 50 podría buscar diferencias discretas entre las líneas conductoras o microchips en una escala menor en relación con el circuito de imagen diezmada 52.
Parecido al ejemplo de la placa de circuito impreso, el sistema localizador multiresolución podría emplearse alternativamente para identificar marcas fluorescentes en paquetes o para identificar formas específicas en paquetes, como formas hexagonales que pueden indicar franqueo o marcas similares. Como otra alternativa, el localizador de etiquetas multiresolución podría usarse en un entorno de fabricación para localizar defectos en productos, como grietas u otros defectos detectables mediante procesamiento de imagen de vídeo. Otras aplicaciones de fabricación podrían incluir la identificación de defectos en la fabricación de telas de color u otros productos que tienen características visuales que son fácilmente detectables mediante procesamiento de imagen de vídeo. Por consiguiente, la presente invención puede emplearse en muchos entornos diferentes donde las características visuales de un objeto son fácilmente detectables mediante procesamiento de imagen de vídeo.
Resumen del sistema localizador multiresolución
La Fig. 4 es un organigrama lógico de un procedimiento implementado por ordenador para el sistema localizador de etiquetas multiresolución 20. En la etapa 86, la imagen en escala de grises generada por la cámara CCD 26 se divide entre el circuito de imagen de aparición de bordes 50 y el circuito de imagen diezmada 52. Aunque el funcionamiento de las etapas del circuito de imagen de aparición de bordes 50 y del circuito de imagen diezmada 52 se describirá por separado, se observa que los dos circuitos procesan simultáneamente la señal de imagen en escala de grises recibida de la cámara CCD 26.
En la rutina 88, el circuito de imagen de aparición de bordes 50 codifica en binario la imagen en escala de grises recibida de la cámara CCD para producir la imagen de aparición de bordes como se ilustra en la Fig. 7. Concretamente, en la rutina 88, el digitalizador 66 emplea una técnica adaptativa de fijación de umbral o un procedimiento similar para convertir la señal analógica producida por la cámara CCD 26 en una señal digital de vídeo de un bit (es decir, blanco/negro).
En la realización preferida, durante la rutina 88, el circuito de imagen de aparición de bordes 50 emplea una ventana de 4 por 4 píxeles para detectar las transiciones (apariciones de bordes) dentro de la imagen codificada en binario. Concretamente, el circuito de imagen de aparición de bordes 50 emplea un conjunto de plantillas predefinidas de 4 por 4 para detectar la orientación espacial de aparición de bordes de una ventana de 4 por 4 píxeles de la celda que está siendo analizada.
Un ejemplo de una ventana de 4 por 4 píxeles se muestra mediante la tabla siguiente:
TABLA 1 Ventana de píxeles
0 0 0 0
0 0 0 0
0 0 0 0
0 1 1 1
En la Tabla 1, los ceros (0) representan regiones vacías en un píxel de la celda de interés, mientras que los unos (1) representan la presencia de un objeto o marca en un píxel de la celda de interés. La Tabla 1 indica la presencia de una línea horizontal en tres columnas en la última fila de la tabla. A cada una de las ubicaciones de la Tabla 1 se le asigna un valor numérico basado en la Tabla 2:
TABLA 2 Tabla de asignación
1
En la Tabla 2, los números entre paréntesis definen la ubicación relativa de los píxeles de la Tabla 1. Cada ubicación de la tabla también representa una caja específica de un registro de 16 bits. El primer número entre cada paréntesis es el número de columna de la ventana de 4 por 4 píxeles, mientras que el segundo número es el número de fila de la ventana de 4 por 4 píxeles. Los números fuera de los paréntesis son los equivalentes decimales para la ubicación relativa de una caja respectiva en el registro de dieciséis bits. Sumar estos valores permite que se represente mediante un único valor decimal cualquier patrón posible con la ventana de 4 por 4.
Para la ventana de 4 por 4 píxeles de la Tabla 1, el valor patrón se calcula para que sea siete (7). Este valor patrón de siete (7) se basa en una suma de las siguientes ubicaciones en la celda de 4 por 4 de la Tabla 2: 1(0,0), 2(1,0) y 4(2,0), donde 1+2+4=7. El valor patrón de siete (7) se compara luego con una tabla de búsqueda de valores patrón/valores ponderados. Es decir, a cada patrón se le asigna un coeficiente de ponderación, que se indexan al patrón por medio de una tabla que usa el valor patrón asociado del patrón para identificar el patrón. A un valor patrón de siete (7) en una tabla de búsqueda se le ha asignado un valor ponderado de ciento dos (102).
La tabla de búsqueda de valores patrón tiene diez valores diferentes que corresponden a diferentes orientaciones o combinaciones de orientaciones que son asignadas a grupos de valores patrones. En otras palabras, se considera que todos los patrones en un grupo particular tienen la misma orientación o combinación de orientaciones, y esta orientación o combinación de orientaciones está representada por el valor patrón asignado al grupo. Concretamente, cada dígito de los cuatro dígitos inferiores del valor patrón corresponde a una orientación particular como se indica a continuación: 135º, 90º, 45º, 0º. Es decir, el bit binario "0" (el bit menos significativo) corresponde a una orientación de 0º, el bit binario "1" (segundo bit menos significativo) corresponde a una orientación de 45º, el bit binario "2" (tercer bit menos significativo) corresponde a una orientación de 90º, y el bit binario "3" (cuarto bit menos significativo) corresponde a una orientación de 135º.
Cada valor patrón depende de esta designación de orientación basada en bits para indicar qué orientación o combinación de orientaciones aparece en el grupo correspondiente de patrones. Por ejemplo, el valor patrón 65 tiene una valor binario de 00100001. Los cuatro dígitos menos significativos, 0001, indican una orientación de 0º (es decir, el bit de 135º no está establecido, el bit de 90º no está establecido, el bit de 45º no está establecido, y el bit de 0º está establecido). De esta manera, se considera que todos los patrones del grupo de patrones a los que se asigna el valor patrón de 65 presentan una orientación de 0º.
Igualmente, el valor patrón 66, que tiene un valor binario de 00100010, indica una orientación de 45º (es decir, el bit de 135º no está establecido, el bit de 90º no está establecido, el bit de 45º está establecido, y el bit de 0º no está establecido). De esta manera, se considera que todos los patrones del grupo de patrones a los que se asigna el valor patrón de 66 presentan una orientación de 45º. Y el valor patrón 108, que tiene una valor binario de 01101100, indica una combinación de orientaciones de 135º y 90º (es decir, el bit de 135º está establecido, el bit de 90º está establecido, el bit de 45º no está establecido, y el bit de 0º no está establecido). De esta manera, se considera que todos los patrones del grupo de patrones a los que se asigna el valor patrón de 108 presentan orientaciones de 135º y 90º. En la Tabla 3 se ilustra una tabla preferida de búsqueda de valores patrón. Los equivalentes binarios de los valores patrón se muestran en la Tabla 3 con los últimos cuatro dígitos mostrados en negrita para resaltar las designaciones de orientaciones basadas en bits de cada valor patrón.
TABLA 3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
En la rutina 90, el circuito de aparición de bordes 50 detecta la presencia y la orientación de los valores de los píxeles codificados en binario dentro de una celda. El término "aparición de bordes" significa que para ciertas marcas discriminantes en un sustrato u objeto, existen superficies particulares en las marcas discriminantes que, cuando están presentes con una frecuencia relativamente alta, indican la presencia de tales marcas discriminantes. Por ejemplo, las etiquetas escritas a mano tendrán un conjunto particular de características de bordes que son diferentes de un conjunto de características de bordes para una etiqueta de código de barras. Alternativamente, cuando el sistema localizador multiresolución se emplea en otros entornos, como en la fabricación de placas de circuitos impresos, el circuito de aparición de bordes 50 producirá una imagen de aparición de bordes que muestra ciertos microchips o líneas conductoras que tienen un conjunto de características de bordes con una frecuencia relativamente alta que son diferentes o únicas en relación con otros microchips o líneas conductoras y la propia placa de circuito impreso.
Como se ilustra en la Fig. 7, la imagen de aparición de bordes 58 muestra los diferentes valores de características entre las áreas de posibles etiquetas 25D, 40D, 42D, 44D y 46D. La imagen de aparición de bordes 58 muestra cómo las representaciones de las etiquetas mecanografiadas 40D, 42D difieren de la representación del código de barras 44D. Concretamente, las representaciones de etiquetas mecanografiadas 40D y 42D tienen píxeles de color orientados de manera aleatoria, mientras que la representación del código de barras 44D tiene píxeles de color orientados de manera uniforme. La rutina 90, que proporciona un procedimiento ilustrativo para identificar las diferencias anteriormente mencionadas entre áreas de posibles etiquetas, se describe con más detalle más adelante con respecto a la Fig.
12.
En la rutina 92, el circuito de imagen de aparición de bordes 50 totaliza las transiciones para cada celda de la imagen de aparición de bordes 58. Se describirán más detalles de la rutina 92 en relación con la Fig. 13.
Durante las rutinas 88-92, el sistema localizador de etiquetas multiresolución lleva a cabo simultáneamente las rutinas 94-98. En la rutina 94, el circuito de imagen diezmada 52 calcula un histograma de valores de los píxeles que se producen dentro de una celda de la imagen en escala de grises del paquete o sustrato. Se describen más detalles de la rutina 94 con respecto a la Fig. 14.
En la rutina 96, el circuito de imagen diezmada 52 selecciona, del histograma generado en la rutina 94, un valor de imagen diezmada que corresponde al valor del píxel que se produce más frecuentemente dentro de la celda. El término "imagen diezmada" para una aplicación localizadora de etiquetas de la presente invención significa una imagen que se obtiene por filtración de paso bajo y aplicando un filtro de ventana móvil adaptativa a una imagen de entrada y después por submuestreo de la imagen filtrada. El "valor de característica común" es un valor único representativo del carácter de una celda entera correspondiente. Por ejemplo, el valor de característica común de una celda puede ser el "modo" o valor del píxel que se produce más frecuentemente dentro de la celda. En este caso, el valor de característica común es el valor máximo, que se asigna a la ubicación física de la celda correspondiente en un espacio imagen. Este valor de característica común se preserva como un valor del píxel que se convierte en la base para la "imagen diezmada", imagen como la ilustrada en la Fig. 5. Es decir, el circuito de imagen diezmada 52 asigna valores de modo de celda a un espacio imagen para producir la imagen diezmada de 54, como se ilustra en la Fig. 5.
Los cambios bruscos en la imagen diezmada 54 en la Fig. 5 identifican típicamente áreas de posibles etiquetas 25A, 40A, 42A, 44A y 46A. Las áreas de posibles etiquetas anteriormente mencionadas incluyen generalmente áreas con características (valores de los píxeles) que son diferentes del fondo o superficie del paquete 24a. La imagen diezmada 54 muestra así una representación "global" o de "alto nivel" o de "baja resolución" de las principales diferencias visuales entre las áreas de interés (como etiquetas) y el fondo (una superficie de un paquete). Por ejemplo, las áreas de posibles etiquetas 25A, 40A, 42A, 44A y 46A en la Fig. 5 están representadas por pequeños cuadrados unidos, mientras que las áreas vacías restantes de la superficie del paquete no tienen ninguna representación superficial. El circuito de imagen diezmada 52 examina el artículo de interés a un nivel macroscópico comparado con el foco más estrechado del circuito de imagen de aparición de bordes 50. En la discusión del organigrama lógico de la Fig. 15 se describirán más detalles de cómo el sistema localizador de etiquetas multiresolución produce la imagen diezmada 54 en la rutina 96.
La imagen diezmada 54 y la imagen de aparición de bordes 58 son las dos señales de imagen de 3 DPI que se derivan de la señal de imagen original de 187 DPI. Después de que el circuito de imagen diezmada 52 y el circuito de imagen de aparición de bordes 50 generan sus imágenes respectivas 54 y 58, las etapas/rutinas restantes 98-106 del sistema localizador de etiquetas multiresolución 20 son realizadas preferentemente por el programa localizador de etiquetas multiresolución 36.
En la etapa 98, el programa localizador de etiquetas multiresolución 36 segmenta manchas o, en otras palabras, crea una imagen segmentada 56 como se ilustra en la Fig. 6 asignando píxeles de regiones máximas a una imagen en blanco que corresponde a la imagen diezmada 54. Para crear la imagen segmentada 56, el programa localizador de etiquetas multiresolución 36 genera un histograma de imagen diezmada derivado de la imagen diezmada 54. Además, en la etapa 98, el programa localizador de etiquetas multiresolución 36 identifica una o más componentes conectadas dentro de la imagen segmentada 56 y genera las ventanas límite 25C, 40C, 42C, 44C y 46C. Los detalles de la etapa 98 se describirán con respecto a la Fig. 18.
En la rutina 100, el programa localizador de etiquetas multiresolución 36 combina la imagen segmentada 56 y la imagen de aparición de bordes 58 para formar la imagen compuesta 60 de la Fig. 8. El programa localizador de etiquetas multiresolución 36 extrae después valores de características de la imagen compuesta 60. Más detalles de la rutina 100 se muestran en la Fig. 19.
En la rutina 102, el programa localizador de etiquetas multiresolución 36 preclasifica posibles etiquetas según criterios predefinidos de valores de características esperados de la ventana límite de áreas de posibles etiquetas. Uno de los criterios incluye la longitud y la anchura de un área de posible etiqueta, como se ilustra en la Fig. 20. Más detalles del procedimiento de preclasificación según los criterios predefinidos en la rutina 102 se describirán en relación con la Fig. 21 más adelante.
En la rutina 104, el programa localizador de etiquetas multiresolución 36 clasifica áreas de posibles etiquetas según otro conjunto de criterios predefinidos, a los que se hace referencia generalmente como valores de características que incluyen valores de características distintos de los valores de características de la ventana límite y valores de características de la ventana límite. Más detalles de la rutina 104 se describirán en relación con la Fig. 22 más adelante.
En la rutina 106, el programa localizador de etiquetas multiresolución 36 produce un número predeterminado de posibles etiquetas o compila una lista priorizada de una o más áreas posibles que contienen con más probabilidad marcas discriminantes que tienen características de interés. Por ejemplo, si se buscan etiquetas de dirección de destino escritas a mano, el programa localizador de etiquetas multiresolución 36 produciría una lista priorizada de áreas posibles que contendrían con más probabilidad etiquetas de dirección de destino escritas a mano que corresponden a los objetos de la imagen original de alta resolución producida por la cámara CCD 26.
Imágenes generadas por el localizador de etiquetas multiresolución
La Fig. 5 ilustra la imagen diezmada 54 de la superficie del paquete 24a. La imagen diezmada 54 tiene una resolución mucho más baja comparada con la imagen digital original de alta resolución 48 de la Fig. 2. En este ejemplo particular del localizador de etiquetas multiresolución, la imagen diezmada 54 incluye una pluralidad de áreas de posibles etiquetas 25A, 40A, 42A, 44A y 46A. Estas áreas de posibles etiquetas corresponden a las etiquetas de dirección 40 y 42, el código de barras 44, las marcas extrañas 25 y la marca de franqueo 46 de la Fig. 2. Los píxeles en la imagen diezmada 54 representan el modo (es decir, el valor del píxel que se produce más frecuentemente dentro de una celda correspondiente) de una región de píxeles correspondiente en la imagen de alta resolución 48 de la Fig. 2. Por lo tanto, la imagen diezmada 54 preserva cualquier transición brusca de color presente en la imagen digital original de alta resolución 48.
Después de procesar la imagen diezmada 54, el circuito de imagen diezmada 52 produce la imagen segmentada 56. La imagen segmentada incluye una pluralidad de componentes conectadas 25B, 40B, 42B, 44B y 46B. Estas componentes conectadas corresponden a las áreas de posibles etiquetas 25A, 40A, 42A, 44A y 46A de la imagen diezmada 54. La imagen segmentada 56 incluye además ventanas límite 25C, 40C, 42C, 44C y 46C. Estas ventanas límite corresponden al contorno o perímetros de las componentes conectadas 25B, 40B, 42B, 44B y 46B. El procedimiento para generar las componentes conectadas y las ventanas límite se analizará con más detalle en la descripción del funcionamiento de los aparatos preferidos en relación con los organigramas lógicos de las Figs. 12-23.
Mientras el sistema localizador de etiquetas multiresolución genera la imagen diezmada 54, el sistema también produce simultáneamente la imagen de aparición de bordes 58 según se ilustra en la Fig. 7. La imagen de aparición de bordes 58 incluye una pluralidad de segundos conjuntos de áreas de posibles etiquetas 25D, 40D, 42D, 44D y 46D. El segundo conjunto de áreas de posibles etiquetas también corresponde a las etiquetas de dirección 40 y 42, el código de barras 44, las marcas extrañas 25 y la marca de franqueo 46 de la imagen digital de vídeo original de alta resolución 48 de la Fig. 2. En esta aplicación particular del sistema localizador multiresolución, el circuito de imagen de aparición de bordes 50 crea la imagen de aparición de bordes 58 asignando colores de píxeles proporcionales a la regularidad de la distribución de orientaciones de bordes dentro de regiones de píxeles correspondientes en la imagen digital de vídeo de alta resolución 48. Es decir, un número alto de transiciones orientadas de manera aleatoria tiene como resultado un valor alto de apariciones de bordes, mientras que un número bajo de transiciones o un número alto de transiciones orientadas normalmente tiene como resultado un bajo valor de apariciones de bordes.
Cuando el localizador de etiquetas multiresolución ha terminado el procesamiento tanto para la imagen de aparición de bordes como para la segmentada, 56 y 58, el sistema crea entonces la imagen compuesta 60 de la Fig. 8 donde los datos de la imagen segmentada 56 se combinan con la imagen de aparición de bordes 58. Las ventanas límite 25C, 40C, 42C, 44C y 46C de la imagen segmentada 56 son asignadas alrededor del segundo conjunto de áreas de posibles etiquetas 25D, 40D, 42D, 44D y 46D de la imagen de aparición de bordes 58. Más concretamente, a partir de la imagen compuesta 60, el ordenador servidor o microprocesador 34 controlado por el programa localizador de etiquetas multiresolución 36 extrae valores de características de las ventanas límite y valores de características que corresponden a los valores de características para celdas dentro de cada ventana límite. El ordenador servidor o microprocesador 34, bajo la guía del programa localizador de etiquetas multiresolución 36, clasifica las áreas de posibles etiquetas 25D, 40D, 42D, 44D y 46D según los valores de características de las ventanas límite y los valores de características de las áreas de posibles etiquetas generados por el circuito de aparición de bordes 50.
Descripción de un aparato preferido
Como se describió anteriormente, las realizaciones preferidas de la presente invención proporcionan un procedimiento eficiente para determinar la ubicación de etiquetas de dirección. Sin embargo, otras aplicaciones del sistema localizador multiresolución están dentro del ámbito de la presente invención.
Para implementar el procedimiento de la presente invención, la Fig. 9A muestra un diagrama de bloques funcional que ilustra el hardware para la etapa 88 del procedimiento de codificar en binario la imagen en escala de grises, que es parte del circuito de imagen de aparición de bordes 50. El hardware 88 del circuito de imagen de aparición de bordes 50 incluye un circuito lógico de umbral de blanco/negro 62 que está enlazado operativamente a una memoria intermedia 64. La memoria intermedia 64 puede ser una memoria intermedia de tipo primero en entrar/primero en salir (FIFO) construida a partir de chips comerciales, como un chip de 8k por 18 bits modelo IDT-72255L20PF fabricado por IDT Corporation. La memoria intermedia 64 puede implementarse alternativamente mediante un controlador y un recurso de memoria RAM estática. El hardware 88 del circuito de imagen de aparición de bordes 50 fija el umbral de la imagen digital de vídeo de alta resolución 48 procedente de la cámara CCD 26 en una imagen binaria en blanco y negro.
El hardware de codificación en binario 88 usa técnicas estándar de fijación de umbral o un procedimiento similar para convertir la señal analógica producida por la cámara CCD 26 en una señal digital de vídeo en blanco y negro de un bit 67. El uso de una señal digital de vídeo en blanco y negro de un bit 67 proporciona un procesamiento más fácil de la señal de vídeo 67 por el circuito de imagen de aparición de bordes 50.
Como se ilustra en la Fig. 9B, el hardware de codificación en binario 88 funciona según la lógica expuesta en la Tabla 4 que tiene variables definidas por una ventana de 5 por 4 píxeles. El hardware de codificación en binario 88 determina un valor del píxel según los valores de sus píxeles vecinos en un campo de píxeles. En otras palabras, el hardware de codificación en binario 88 separa la información sobre la imagen de primer plano de la información sobre la imagen de fondo comparando valores de intensidad de color relativo o de intensidad de luz entre píxeles dentro de una imagen. Las variables de la Tabla 4 se definen por la ventana de píxeles mostrada en la Fig. 9B según se indica a continuación: B2 hace referencia al valor de escala de grises de la línea de exploración B; Posición 2 BWC4 hace referencia al valor de blanco/negro de la línea de exploración C en la posición 4. Las restantes variables de la Tabla 4 se definen de manera similar.
TABLA 4
100
La Tabla 5 proporciona la lógica para la eliminación de motas o ruido basada en las variables definidas por la ventana de píxeles ilustrada en la Fig. 9B.
TABLA 5
101
Después de que el hardware de codificación en binario 88 genera la señal de vídeo en blanco y negro de un bit, el hardware que corresponde a la rutina 90 de la Fig. 4 procesa la señal de vídeo en blanco y negro. La Fig. 10 ilustra el hardware para la rutina 90 del circuito de imagen de aparición de bordes 50. El hardware 90 del circuito de aparición de bordes 50 incluye el digitalizador 88, la memoria intermedia 68, los registradores de desplazamiento 70A-70D, la memoria volátil 72 y un totalizador de orientación 74. El hardware de codificación en binario o digitalizador 88, como se apuntó anteriormente, convierte la señal analógica de vídeo en escala de grises en una señal digital de vídeo de un bit 67.
El hardware de codificación en binario 88 transmite la señal digital de vídeo de un bit 67 a la memoria intermedia 68. La memoria intermedia 68 incluye líneas de datos L_{i} a L_{i-3} en las que cada línea de datos accede a un registrador de desplazamiento que incluye 4096 bits - un bit que corresponden a cada píxel de la cámara CCD 26. Por lo tanto, cada registro puede contener una representación en mapa de bits de una línea de exploración de la imagen 30 producida por un ciclo de la cámara CCD 26. Las líneas L_{i} a L_{i-3} de la memoria intermedia 68 corresponden a la altura de 32 píxeles de cada celda de 32 x 32 (no mostrada).
Como se muestra en la Fig. 10, cada línea de datos L_{i} a L_{i-3} está conectada a la siguiente línea de datos subsiguientes, de manera que cada vez que se introduce una nueva línea de exploración en la memoria intermedia 68, cada una de las líneas de exploración precedentes se desplaza hasta el registro subsiguiente. La memoria intermedia 68 puede ser una memoria intermedia convencional de tipo primero en entrar/primero en salir (FIFO) construida a partir de chips comerciales como los chips de 4k por 18 bits modelo IDT-72245LB20PF fabricados por IDT Corporation. La memoria intermedia 68 puede implementarse alternativamente mediante un controlador en un recurso de memoria RAM estática (SRAM).
Las líneas de datos L_{i} a L_{i-3} de la memoria intermedia 68 están conectadas a una pluralidad de registradores de desplazamiento 70A-70D. El registrador de desplazamiento 70A-70D proporciona información sobre los píxeles a la memoria volátil 72. La memoria volátil 72 puede ser un chip de memoria de acceso aleatorio convencional (RAM) construido a partir de chips comerciales como el modelo IDT-61298SA12Y de 64k por 4 bits fabricado por IDT Corporation. La memoria volátil 72 genera una señal de orientación de patrón 76.
La memoria volátil 72 introduce la señal de orientación de patrón 76 en el totalizador de orientación 92. El totalizador de orientación 92 genera una señal de orientación de celda 78. El funcionamiento de la memoria intermedia 68, los registradores de desplazamiento 70A-70D y la memoria volátil 72 se describen más adelante con más detalle con respecto a la Fig. 12. El funcionamiento del totalizador de orientación 74 se describe más adelante con más detalle con respecto a la Fig. 13.
Mientras el hardware de codificación en binario 88 genera la imagen de aparición de bordes 58 de la Fig. 7, el hardware 52 de la Fig. 11 genera la imagen diezmada 54. El circuito de imagen diezmada 52 incluye preferentemente una memoria intermedia 80, una matriz de puertas programable en campo 82 y una SRAM 84. La memoria intermedia 80 puede ser una memoria intermedia convencional de tipo primero en entrar/primero en salir (FIFO) construida a partir de chips comerciales como un chip modelo IDT-72245LB20PF FIFO de 4k por 18 bits fabricado por IDT Corporation. La matriz de puertas programable en campo 82 puede ser un chip FPGA convencional como el chip EPM7256SRC208-7 FPGA fabricado por Altera Corporation. El chip SRAM 84 puede ser un chip modelo IDT-71VO16SA10PH SRAM de 64k por 16 bits fabricado por la IDT Corporation.
La FIFO 80 y la FPGA 82 generan la señal de imagen diezmada 30 para el sistema localizador de etiquetas multiresolución 20. El funcionamiento del circuito de características de imagen diezmada 52 se describe con más detalle con respecto a las Figs. 14 y 15.
Descripción del funcionamiento de los aparatos preferidos en relación con los organigramas lógicos
Los organigramas lógicos descritos más adelante ilustran con más detalle la metodología del circuito de aparición de bordes 50, del circuito de imagen diezmada 52 y del programa localizador de etiquetas multiresolución 36 de la Fig. 4. El organigrama lógico de la Fig. 4 corresponde a la Fig. 1 del sistema localizador de etiquetas multiresolución 20 completo. Los organigramas lógicos de las Figs. 12 y 13 corresponden a la lógica de umbral de blanco y negro 62, FIFO 64, FIFO 68, registradores de desplazamiento 70A-70D, RAM 72 y los totalizadores de orientación 74 de las Figs. 9A, 9B y 10. Los organigramas lógicos de las Figs. 14 y 15 corresponden a la FIFO 80, FPGA 82, SRAM 84 de la Fig. 11. Los organigramas lógicos de las Figs. 18, 19, 21 y 22 corresponden al programa localizador de etiquetas multiresolución 36 como se muestra en la Fig. 1.
Los organigramas lógicos ilustran un procedimiento preferido para implementar la presente invención aunque se observa que pueden realizarse cambios y variaciones en el procedimiento ilustrado dentro del ámbito y espíritu de la presente invención. También se apreciará que los organigramas lógicos definen una asignación de tareas de programación entre los aparatos preferidos descritos anteriormente. Dentro del ámbito y espíritu de la presente invención pueden definirse igualmente muchas asignaciones diferentes de tareas de programación entre diversos chips y muchas asignaciones de tareas de programación entre diferentes configuraciones de chips FPGA.
Procesamiento de imagen de aparición de bordes
La Fig. 12 es un organigrama lógico de un procedimiento implementado por ordenador para la rutina 90 (detectar presencia y orientaciones de bordes) de la Fig. 4. La Fig. 12 también ilustra el procedimiento implementado por ordenador para la FIFO 68, registradores de desplazamiento 70-70D y RAM 72 de la Fig. 10. La Fig. 12 también corresponde a las etapas iniciales en la creación de la imagen de aparición de bordes 54 ilustrada en la Fig.
5.
La rutina 90 comienza en la etapa 200, en la que la expresión lógica "MOD Núm_píxel 32 = 0" alterna de sí a no cada múltiplo de 32, es decir, a 32, 64, 96, 128, etc. Esta operación corresponde a dividir los 4096 píxeles de una línea de exploración en líneas de exploración parciales que tienen una anchura de 32 píxeles cada una. Si la respuesta a la solicitud de información de la etapa de decisión 200 es sí, se sigue la rama "sí" hasta la etapa 202. Si la respuesta a la solicitud de información de la etapa de decisión 200 es no, se sigue la rama "no" hasta la etapa 204.
En la etapa 202, un valor totalizado de aparición de bordes T está definido por una relación matemática entre los contadores A, B y C. A cada celda de la imagen codificada en binario se le asignan los tres contadores, A, B y C. Estos contadores definen la orientación relativa de bordes dentro de una celda respectiva. En la etapa 202, el circuito de imagen de característica predominante 50 filtra información basándose en el valor totalizado de aparición de bordes T. Por ejemplo, como los contadores A, B y C para cada celda representan la orientación relativa de bordes dentro de una celda, entonces, para ciertos bordes como códigos de barras, el circuito de imagen de aparición de bordes 50 puede filtrar códigos de barras debido a la orientación común de las transiciones. Esta filtración no está limitada al entorno de las etiquetas de la realización preferida. Por ejemplo, en una aplicación de identificación de placas de circuitos impresos para la presente invención, se puede dar cuenta de las líneas conductoras o marcas (bordes) en los chips que tienen orientaciones predefinidas en la ecuación de filtración.
En la etapa 206, se ponen a cero los contadores A, B y C. En la etapa 208, el circuito de imagen de aparición de bordes 50 guarda los valores actuales del contador de celdas. En la etapa 209, el circuito de imagen de aparición de bordes 50 se mueve hasta los siguientes valores del contador de celdas.
Cuando la expresión lógica "MOD núm_píxel 32" de la etapa 200 no es igual a 0, se sigue la rama "no" hasta la etapa 204 donde la variable M se establece a falso. La variable M es un indicador usado para designar el resultado de la expresión lógica de la etapa 200.
A continuación de la operación de detectar la presencia y orientación de bordes en la Fig. 12, el número de bordes se totaliza según la rutina 92 de la Fig. 4, que se explica más a fondo mediante la Fig. 13. La Fig. 13 ilustra el procedimiento implementado por ordenador para el totalizador de orientación 74 de la Fig. 10. La rutina 92 se lleva a cabo después de comparar las celdas de la imagen codificada en binario con las plantillas de una tabla de búsqueda de 4 por 4.
La rutina 92 comienza en la etapa 300, en la que los contadores A, B y C que representan las orientaciones relativas de bordes dentro de cada celda se inicializan a cero. En la etapa 304, el totalizador 74 espera la siguiente línea de exploración. En la etapa 306, el contador de líneas de exploración NUM_línea de exploración se incrementa en una unidad. El contador de líneas de exploración para el totalizador 74 NUM_línea de exploración cuenta de 1 a 32 y después da la vuelta, que corresponde a la división de la imagen de entrada en celdas que tienen una altura de 32 píxeles.
En la etapa 308, el totalizador espera el siguiente píxel. En la etapa 310, el contador de píxeles NUM_píxel se incrementa. La etapa 310 está seguida por la etapa de decisión 312, en la que se determina si se cumple la condición MOD NUM_píxel 32.
Si la respuesta a la solicitud de información de la etapa 312 es verdadero, se sigue la rama "sí" hasta la etapa 314 en la que el totalizador 74 calcula el valor de orientación de una celda. Si la respuesta a la solicitud de información de la etapa 312 es falso, se sigue la rama "no" desde la etapa 312 a la etapa 314, en la que el totalizador 74 determina si el valor de orientación de la celda para el píxel actual es igual a cero (0) grados y no noventa (90) grados.
Si la respuesta a la solicitud de información de la etapa 314 es sí, se sigue la rama "sí" hasta la etapa 316, en el totalizador 74 se disminuye el contador A mientras que se incrementa el contador C. Si la respuesta a la solicitud de información de la etapa 314 es no, se sigue la rama "no" hasta la etapa 318.
En la etapa 318, se determina si el valor de orientación de la celda es igual a noventa (90) grados y no cero (0) grados. Si la respuesta a la etapa 318 es sí, se sigue la rama "sí" hasta la etapa 320 en la que el totalizador 74 incrementa los contadores A y C. Si la respuesta a la solicitud de información de la etapa 318 es no, se sigue la rama "no" hasta la etapa 322, en la que se determina si el valor de orientación de la celda es igual a cuarenta y cinco (45) grados y no ciento treinta y cinco (135) grados.
Si la pregunta de la etapa 322 es "sí", se sigue la rama "sí" hasta la etapa 324, en la que el totalizador 74 incrementa los dos contadores, B y C. Si la pregunta a la etapa 322 resulta no, se sigue la rama "no" hasta la etapa 326, en la que se determina si el valor de orientación de la celda es igual a ciento treinta y cinco (135) grados y no cuarenta y cinco (45) grados. Los valores de orientación de las celdas de la presente invención no están limitados a los valores enumerados en la rutina 92. Otros valores dependen de la aplicación particular para el sistema multiresolución.
Continuando con la rutina 92, si la pregunta a la etapa 326 resulta sí, se sigue la rama "sí" hasta la etapa 328, en la que se disminuye el contador B mientras que se incrementa el contador C. Si la pregunta a la etapa 326 resulta no, se sigue la rama "no" hasta la etapa 330, en la que se determina si el píxel actual es el último píxel de la línea de exploración.
Si el píxel actual no es el último píxel de la línea de esta exploración, se sigue la rama "no" desde la etapa 330 hasta la etapa 308, en la que el totalizador 74 espera el siguiente píxel. Si el píxel actual es el último píxel de la línea de exploración, se sigue la rama "sí" desde la etapa 330 hasta la etapa 304, en la que el totalizador 74 espera la siguiente línea de exploración. Después de procesar los datos según las etapas resumidas anteriormente, el sistema localizador de etiquetas multiresolución genera la imagen de aparición de bordes 58 como se ilustra en la Fig. 7.
Procesamiento de imagen diezmada
Mientras el sistema localizador de etiquetas multiresolución ejecuta las etapas de las rutinas 88-92 para procesamiento de imagen de aparición de bordes, el sistema localizador de etiquetas multiresolución ejecuta simultáneamente las etapas de las rutinas 94-98 ilustradas en las Figs. 14-16 para producir la imagen diezmada 54 de la Fig. 5. La Fig. 14 es un organigrama lógico de un procedimiento implementado por ordenador para la rutina 94 del circuito de imagen diezmada 52 de la Fig. 4.
La rutina 94 comienza en la etapa 400 de la Fig. 14, en la que las RAM A y B se establecen iguales a cero. En la etapa 402, el circuito de imagen diezmada 52 espera la siguiente línea de exploración. En la etapa 404, el contador de líneas de exploración NUM_línea de exploración se incrementa en una unidad. El contador de líneas de exploración NUM_línea de exploración cuenta de 1 a 32.
En la etapa 406 se determina si se cumple la condición MOD NUM_línea de exploración 32 igual a 0. Los expertos en la materia apreciarán que la expresión lógica "MOD NUM_línea de exploración 32 = 0" alterna de falso a verdadero cada múltiplo de 32, es decir, a 32, 64, 96, 128, etc. Esta operación divide eficazmente la imagen de entrada en celdas que tienen una altura de 32 píxeles.
Si la respuesta a la solicitud de información de la etapa 406 es sí, se sigue la rama "sí" hasta la etapa 408, en la que se determina el valor máximo de cada histograma de celdas. Si la respuesta a la solicitud de información de la etapa 406 es no, se sigue la rama "no" hasta la etapa 408, en la que el circuito de imagen diezmada 52 espera el siguiente píxel.
En la etapa 410, se incrementa el contador de píxeles NUM_píxel. En la etapa 412, se determina si el valor del contador NUM_píxel es impar. Si la pregunta a la etapa 412 resulta sí, se sigue la rama "sí" hasta la etapa 414, en la que una variable VALOR se establece a igual al contenido de la RAM B en la dirección: MOD NUM_píxel 32, valor del píxel. En la etapa 416, se incrementa la variable VALOR. En la etapa 418, se introduce la variable VALOR en la RAM B en la dirección: MOD NUM_píxel 32, valor del píxel.
Si la pregunta a la etapa 412 resulta no, se sigue la rama "no" hasta la etapa 420 en la que la variable VALOR se establece igual al contenido de la RAM A en la dirección: MOD NUM_píxel 32, valor del píxel. En la etapa 422, la variable VALOR se incrementa en una unidad. En la etapa 424, la variable VALOR se introduce en la RAM A en la dirección: MOD NUM_píxel 32, valor del píxel.
En la etapa 426, se determina si el valor del píxel actual es el valor del último píxel de la línea de exploración. Si el píxel actual no es el píxel de la línea de exploración, se sigue la rama "no" desde la etapa 426 hasta la etapa 408 en la que el circuito de imagen diezmada 52 espera el siguiente píxel. Si el píxel actual es el último píxel de la línea de exploración, se sigue la rama "sí" desde la etapa 426 hasta la etapa 402 en la que el circuito de imagen diezmada 52 espera la siguiente línea de exploración.
Después de que han sido ejecutadas las etapas ilustradas en la Fig. 14 para la rutina 94, el sistema localizador de etiquetas multiresolución continúa procesando datos según las etapas de la rutina escogida de imagen diezmada 92. La Fig. 15 ilustra un procedimiento implementado por ordenador para la rutina escogida de imagen diezmada 96 de la Fig. 4.
La etapa 500 es la primera etapa de la rutina 96. En la etapa 500 de la Fig. 15, un contador de direcciones se establece igual a cero. En la etapa 502, una variable de valor máximo y una variable de caja máxima se establecen iguales a cero. En la etapa 504, el valor de la caja se establece igual al contenido de la RAM A en la dirección [contador de direcciones] más el contenido de la RAM B en la dirección [contador de direcciones].
En la etapa de decisión 506, el circuito de imagen diezmada 52 determina si el valor de la caja es mayor que el valor máximo. Si la pregunta a la etapa 506 resulta sí, se sigue la rama "sí" hasta la etapa 508 en la que el valor máximo se establece igual al valor de la caja y el valor máximo de la caja se establece igual al contador de direcciones MOD 255.
Si la pregunta a la etapa 506 resulta no, se sigue la rama "no" hasta la etapa de decisión 510, en la que se determina si el contador de direcciones es igual a un valor máximo. Si la pregunta a la etapa de decisión 510 resulta sí, entonces se sigue la rama "sí" hasta donde continúa el procedimiento. Si la pregunta a la etapa 510 resulta no, se sigue la rama "no" hasta la etapa de decisión 512, en la que se determina si el contador de direcciones variable MOD 255 es igual a cero.
Si la pregunta a la etapa de decisión 512 resulta sí, se sigue la rama "sí" hasta la etapa 514, en la que el valor de la celda se establece igual al contador de direcciones y el valor máximo se establece igual al valor máximo de la caja. De la etapa 514, el circuito de imagen diezmada 52 va a la etapa 502.
Si la pregunta a la etapa de decisión 512 resulta no, se sigue la rama "no" hasta la etapa 516, en la que el contador de direcciones se incrementa en una unidad. De la etapa 516, el circuito de imagen diezmada 52 vuelva a la etapa 504. Después de procesar los datos según las etapas resumidas anteriormente, el sistema localizador de etiquetas multiresolución genera la imagen diezmada 54 según se ilustra en la Fig. 5.
Procesamiento de imagen segmentada
La Fig. 16 ilustra el procedimiento implementado por ordenador para la rutina 98 de la Fig. 4, que genera la imagen segmentada 56 de la Fig. 6. La rutina 98 comienza en la etapa 600 de la Fig. 16, en la que el programa localizador de etiquetas multiresolución 36 calcula un histograma de la imagen diezmada 54 de la Fig. 5.
A continuación de la etapa 600, en la etapa 602, el programa localizador de etiquetas multiresolución 36 conecta valores máximos del histograma de manera lineal por tramos para crear una curva. El programa localizador de etiquetas multiresolución lleva a cabo dos fases de filtración en la etapa 602: primero, el programa localizador de etiquetas multiresolución 36 filtra el histograma calculado en la etapa 600 utilizando un filtro de paso bajo. El filtro de paso bajo incluye la aplicación de siete (7) ventanas móviles de píxeles o envolventes para eliminar oscilaciones de baja energía y para suavizar el histograma calculado en la etapa 600. Después, el programa localizador de etiquetas multiresolución 36 aplica un filtro de ventana móvil adaptativa en la segunda etapa para procesar aún más los datos filtrados.
La Fig. 17 es un gráfico que demuestra la envolvente suavizante o filtro de paso bajo utilizado en la etapa 602 de la Fig. 16. La abscisa del gráfico para la realización preferida representa la intensidad luminosa de los píxeles para la imagen diezmada 54, mientras que la ordenada representa el número de apariciones/píxeles/histogramas para una intensidad luminosa particular. Otros parámetros de medida además de la intensidad luminosa no están fuera del ámbito de la presente invención. Por ejemplo, podría emplearse un histograma/gráfico basado en color cuando el sistema localizador multiresolución emplea formación de imágenes en color. El programa localizador de etiquetas multiresolución 36 aplica la envolvente o ventana móvil de siete (7) píxeles para eliminar oscilaciones de baja energía y para suavizar el histograma.
Después, el programa localizador de etiquetas multiresolución 36 emplea un procedimiento de filtración de ventana móvil adaptativa que incluye hacer circular la curva de izquierda a derecha. Si los histogramas oscilan para cada punto consecutivo, el valor del punto medio es igual a la media de dos puntos adyacentes. Por loa tanto, H_{i+1} = 0,5 x (h_{1} + h_{i+2}), donde H_{i} es el valor del histograma en el punto i. Este procedimiento es una media del movimiento entre dos puntos que suaviza las áreas desiguales de la curva.
Después de que el procedimiento de filtración de ventana móvil adaptativa está terminado, el programa localizador de etiquetas multiresolución 36 continúa procesando en la etapa 604. En la etapa 604, el programa localizador de etiquetas multiresolución 36 identifica valores máximos del histograma filtrado como se ilustra en la Fig. 18. En el ejemplo mostrado, los valores máximos del histograma filtrado de la Fig. 18 corresponden a los componentes conectados de la imagen diezmada 54.
Como se ilustra en la Fig. 18, el programa localizador de etiquetas multiresolución 36 busca cada valor máximo en orden desde los valores máximos más altos a los más bajos. El punto H se considera un punto bajo si para la pendiente descendente D_{1}>12 y D_{2}>10 y H_{2}>20; o D_{1}>5 y D_{2}>2 y H_{1}>20 y H_{2}>8 y V<30; o i = 255; o h_{i} = -1 (donde h_{i} es el valor del histograma en el valor i del píxel). El punto H se considera un punto bajo si para la pendiente ascendente H_{1}>12 y V<5; o H_{1}>10 y D_{1}>20 y V<10; o i = 255; o H_{1} = -1; o H_{1}>80 y D_{1}>1 y V<8; o H_{1}>5 y D_{1}>5 y V<2.
En la etapa de decisión 606, el programa localizador de etiquetas multiresolución 36 determina si el número de valores máximos para una región es mayor que 10, si la altura de la región es menos de tres (3) píxeles, o si el área es menos de treinta (30) píxeles. Estos valores para el número de valores máximos, altura y área dependen de la aplicación del sistema localizador multiresolución. En otras palabras, estos valores pueden modificarse para el tamaño específico de las características de interés. por ejemplo, si el localizador multiresolución busca un microchip de tamaño específico en una placa de circuito impreso, los valores serían modificados para el tamaño del microchip particular.
Si la pregunta de la etapa 606 resulta sí, se sigue la rama "sí" hasta la etapa 608, en la que se guardan estos datos. En la etapa 610, se borran los valores máximos y el programa localizador de etiquetas multiresolución 36 regresa a la etapa 604. Si la pregunta de la etapa 606 resulta no, se sigue la rama "no" de vuelta a la etapa 612.
En la etapa 612, el programa localizador de etiquetas multiresolución 36 crea una imagen segmentada 56 (como se ilustra en la Fig. 6) asignando píxeles dentro de cada región máxima del histograma filtrado a una imagen en blanco que corresponde a la imagen diezmada 54. La imagen segmentada mostrará típicamente áreas posibles o MANCHAS_{i-n}. En la etapa 614, el programa localizador de etiquetas multiresolución 36 emplea una función de componentes conectadas, como la que se puede obtener de SRI International, para crear componentes conectadas 25B, 40B, 42B, 44B y 46B que representan las áreas posibles. La función SRI conecta regiones dentro de la imagen segmentada 56 que tienen intensidades de píxeles similares. La función SRI genera además ventanas límite 25C, 40C, 42C, 44C y 46C que circunscriben las componentes conectadas 25B, 40B, 42B, 44B y 46B.
Procesamiento de imagen compuesta
Después de generar la imagen segmentada 56 de la Fig. 6 como resultado de la rutina 98 de la Fig. 16, el localizador de etiquetas multiresolución continúa con la rutina 100 de la Fig. 19. La rutina 100 comienza en la etapa 700, en la que el programa localizador de etiquetas multiresolución 36 combina las ventanas límite 25C, 40C, 42C, 44C y 46C de la imagen segmentada 56 con las áreas de posibles etiquetas 25D, 40D, 42D, 44D y 46D de la imagen de aparición de bordes 58. En la etapa 702, las ventanas límite 25C, 40C, 42C, 44C y 46C de la Fig. 6 se asignan a la imagen de aparición de bordes 58 de la Fig. 7 para generar la imagen compuesta 60 de la Fig. 8.
En la etapa 704, el programa localizador de etiquetas multiresolución 36 extrae valores de características basándose en características de la ventana límite. Los valores de características de la ventana límite incluyen lo siguiente: una altura normalizada que representa una relación de una altura definida por la ventana límite a una altura definida por la imagen segmentada (X_{1}/H, donde X_{1} es la altura de la ventana límite y H es la altura definida por la imagen segmentada 56); una anchura normalizada que representa una relación de anchura definida por la ventana límite a una anchura definida por la imagen segmentada (X_{2}/W, donde X_{2} es la anchura de la ventana límite y W es la anchura definida por la imagen segmentada 56); un área normalizada que representa una relación de área definida por la ventana límite a un área definida por la imagen segmentada (X_{2}*X_{1}/H*W); y una relación entre dimensiones que representa una relación de la anchura definida por la ventana límite a la altura definida por la ventana límite. Véase la Fig. 20 para una longitud X_{2} y anchura X_{1} ejemplares de una ventana límite 10.
La ventana límite 10 de la Fig. 20 ha sido asignada a una imagen segmentada 56 donde los datos de aislamiento de la región de valores máximos 12 están contenidos por la ventana límite 10. La relación entre dimensiones para la ventana límite 10 se calcula como se indica a continuación: X_{1}/X_{2} si X_{1} \geq X_{2}; si no, se usa X_{2}/X_{1}.
Como se apuntó anteriormente, el programa localizador de etiquetas multiresolución 36 extrae valores de características basándose en características de la ventana límite. Sin embargo, los valores de características pueden incluir una cualquiera de las siguientes: una intensidad de característica normalizada T que representa una relación de la suma de valores de características para celdas dentro de la ventana límite a un número total de celdas dentro de la ventana límite; y una intensidad de apariciones de bordes normalizada I que representa una relación de la suma de los valores totalizados de apariciones de bordes para celdas dentro de la ventana límite al área definida por la ventana límite.
Una vez que el programa localizador de etiquetas multiresolución 36 extrae los valores de características basándose en las características de la ventana límite, el programa 36, en la etapa 706, ensambla un vector V para cada área de posible etiqueta. El vector V está basado en una pluralidad de valores de características que incluyen unas basadas en características de la ventana límite y valores no basados en características de la ventana límite, como la intensidad luminosa. El programa 36 utiliza el vector V en la rutina de preclasificación 102 y la rutina de clasificación 104 para determinar si es probable que un área de posible etiqueta contenga una etiqueta de dirección de destino real.
Rutina de preclasificación
La Fig. 21 ilustra un procedimiento implementado por ordenador para la rutina de preclasificación 102 de la Fig. 4. La etapa 800 es la primera etapa de la rutina 102. En la etapa 800, el programa localizador de etiquetas multiresolución 36 elimina una o más manchas o áreas de posibles etiquetas que tienen una ventana límite correspondiente que define un área por debajo de un valor umbral mínimo predefinido. El área de posible etiqueta está determinada por lados que tienen una longitud X_{1} y anchura X_{2}. El programa localizador de etiquetas multiresolución 36 puede eliminar áreas posibles si tales áreas descienden por debajo de un valor como 20. Los expertos en la materia reconocerán que estos valores umbrales pueden variarse, basándose en la aplicación del sistema localizador multiresolución. Por ejemplo, el sistema localizador de etiquetas multiresolución podría diseñarse para identificar líneas conductoras específicas en una placa de circuito impreso que tienen una longitud y anchura predeterminadas. En tal caso, los valores umbrales estarían basados en la longitud y anchura de las líneas conductoras de interés.
En la etapa 802, el programa localizador de etiquetas multiresolución 36 elimina una o más manchas o áreas posibles que tienen la ventana límite correspondiente que define un área por encima de un valor umbral máximo predefinido. Por ejemplo, el programa localizador de etiquetas multiresolución 36 puede eliminar áreas de posibles etiquetas que tienen un valor mayor que 1600, ya que tales áreas más que probablemente no tienen etiquetas de dirección en vista de las dimensiones de la imagen, el espaciado de los píxeles, etc. Las etiquetas de dirección tienen típicamente áreas de ventanas límite que son de menos de 1600 (aproximadamente 40 pulgadas cuadradas (258 cm^{2}) en la imagen de 3 DPI de la realización preferida).
En la etapa 804, el programa localizador de etiquetas multiresolución 36 puede extraer áreas posibles de tamaño de etiqueta esperado o manchas que tienen un área que queda entre un valor máximo y un valor mínimo predefinidos. Por ejemplo, tal valor mínimo podría ser 20 (aproximadamente 4,5 pulgadas cuadradas (129 cm^{2})) mientras que un valor umbral máximo podría ser 1024 (aproximadamente 32 pulgadas cuadradas (206 cm^{2}).
En la etapa 806, el programa localizador de etiquetas multiresolución recorta una o más áreas posibles o manchas para hacerlas corresponder con una ventana límite que tiene un tamaño predefinido centrado alrededor de un centro de masas calculado para los valores de características de intensidad luminosa del área posible correspondiente. En la etapa 806, el programa localizador de etiquetas multiresolución 36 llama a una subrutina de centro de masas para cortar alrededor de un área posible potencial con la densidad más alta de apariciones de bordes. Para la realización preferida, la más alta aparición de bordes sería la distribución de orientaciones más igualada. El programa localizador de etiquetas multiresolución 36 prosigue hasta la casilla de salida 808, en la que la variable V_{Bi-m} representa el vector de características de una mancha o área de posible etiqueta potencial particular.
Rutina de clasificación
Después de terminar el procedimiento de preclasificación ilustrado en la Fig. 21, el programa localizador de etiquetas multiresolución 36 inicia una rutina de clasificación 104 como se ilustra en la Fig. 22. La etapa 900 es la primera etapa de la rutina 104. En la etapa 900, el programa localizador de etiquetas multiresolución 36 calcula valores absolutos de decisión o errores que corresponden a uno o más de los valores de características que pueden estar basados en las características de la ventana límite. Un valor de características de la ventana límite, como se mencionó anteriormente, puede ser una relación entre dimensiones de una ventana límite. Esta relación entre dimensiones se compara después con una relación entre dimensiones esperada o típica para una etiqueta de dirección de tamaño esperado.
Aunque los valores de características de la ventana límite están relacionados con las dimensiones de un área de posible etiqueta, otras características de los valores de características pueden estar relacionadas con los parámetros de imagen detectables por una cámara de vídeo. Por ejemplo, un valor de características puede ser la densidad normalizada de apariciones de bordes de un área posible dentro de la imagen de aparición de bordes 58. Esta densidad normalizada de aparición de bordes se compara después con una densidad esperada de aparición de bordes. Otro valor de características puede ser una intensidad luminosa normalizada. Esta intensidad luminosa normalizada de un área posible potencial se compara con una intensidad luminosa esperada de una imagen diezmada 54 de una etiqueta.
Los valores absolutos de los errores de decisión calculados en la etapa 900 pueden resumirse como se indica a continuación:
Error absoluto de decisión de la relación entre dimensiones, e_{R}
e_{R}= |X_{1}/X_{2}-R_{0}|, donde
R_{0} es la relación entre dimensiones típica o esperada. Para etiquetas de dirección, este valor ha sido determinado como 1,5. X_{1}/X_{2} es la relación entre dimensiones para una ventana límite de una mancha o área de posible etiqueta específica. (Véase la Fig. 20 para las dimensiones de longitud y anchura X_{1} y X_{2} de una ventana límite).
Error absoluto de decisión de la aparición de bordes, e_{T}
e_{T} = |T_{i}/N-T_{0}|, donde
T_{0} es la densidad esperada de apariciones de bordes. Para etiquetas de dirección, T_{0} ha sido determinado como 1,0. T_{i}/N es la densidad de apariciones de bordes para un área posible potencial.
Error absoluto de decisión de la intensidad luminosa en escala de grises, e_{I}
e_{I} = |I_{i}/N-I_{0}|, donde
I_{0} es la intensidad luminosa esperada de la imagen diezmada 54. El valor esperado de I_{0} para el entorno de la etiqueta es 255. I_{i}/N es la intensidad luminosa de una mancha o área de posible etiqueta específica.
Error absoluto de decisión de la dimensión normalizada, e_{D}
e_{D1} = máximo (|d_{1} - I_{1}|)
e_{D2} = máximo (|d_{2} - I_{2}|), donde d_{1} y d_{2} son dimensiones normalizadas de un área de posible etiqueta.
d_{1} = X_{1}/W
d_{2} = X_{2}/W, donde
X_{1} y X_{2} son las dimensiones de longitud y anchura de una ventana límite, mientras que W es la anchura de la imagen diezmada 54.
I_{1} e I_{2} son dimensiones normalizadas esperadas donde
I_{1} = 20/W e I_{2} = 22/W si d_{1} < d_{2}; o
si d_{1} > = d_{2}, entonces
I_{1} = 22/W e I_{2} = 20/W.
Después de calcular los errores absolutos de decisión de la etapa 900, entonces el programa localizador de etiquetas multiresolución 36 continúa en la etapa 902. En la etapa 902, el programa localizador de etiquetas multiresolución 36 asigna cuatro códigos de error (C_{R}, C_{T}, C_{I}, C_{D}) a cada área de posible etiqueta. Cada uno de los códigos (C_{R}, C_{T}, C_{I}, C_{D}) tiene un valor basado en cálculos que implican los valores de los errores de decisión de la etapa 900. Los expertos en la materia reconocen que estos valores de los códigos de error pueden ajustarse dependiendo del tipo de aplicación para el sistema localizador multiresolución. Lo que viene a continuación son las ecuaciones para determinar estos códigos de error:
Código de error de la relación entre dimensiones, C_{R}
1 e_{R} <= 1,5
C_{R} = 0 1,5 < e_{R}<= 2,5
-1 e_{R} > 2,5
Código de error de las apariciones de bordes, C_{T}
1 e_{T} <= 0,667
C_{T} = 0 0,667 < e_{T} <= 0,800
-1 e_{T} > 0,800
Código de error de la intensidad luminosa en escala de grises, C_{I}
1 e_{I} <= IW
C_{I} = 0 e_{I} <= I_{B}
-1 I_{B}< e_{I} < I_{W} donde
I_{B} = 0,2*intervalo dinámico e I_{W} = 0,5*intervalo dinámico
Código de error de la dimensión normalizada, C_{D}
1 e_{D1} <= 1 y e_{D2} <= 1
C_{D} = 0 en otro caso
-1 e_{D1} >= |X_{1}-24| o e_{D2}>= |X_{2}-24|
Después de calcular los Códigos de error de la etapa 902, el programa localizador de etiquetas multiresolución 36 continúa en la etapa 904. En la etapa 904, el programa localizador de etiquetas multiresolución 36 asigna un valor de clase "S" a cada área de posible etiqueta basándose en los Códigos de error C calculados en la etapa 902. El valor de clase "S" se calcula como se indica a continuación:
Valor de clase "S"
1 si C_{R} = 1 y C_{T} = 1
S = 0 si C_{R} = 0 y C_{T} = 1 y C_{D} = -1; ó
si C_{R} = 1 y C_{T} = 0 y C_{D} = -1; ó
si C_{R} = 1 y C_{T} = -1 y C_{D} = 1; ó
si C_{I} = -1 y C_{R} = 1 y C_{D} = -1
-1 en otro caso
Cuando el programa localizador de etiquetas multiresolución 36 termina de asignar un valor de clase "S" a cada área de posible etiqueta, continúa hasta la etapa 906. En la etapa 906, a cada área de posible etiqueta se le asigna un valor J de la coordenada de la tabla de error. Cada valor J de la coordenada de la tabla de error se calcula como se indica a continuación:
Valor J de la coordenada de la tabla de error
11 si C_{R} = 1 y C_{T} = 1;
0 si C_{R} = 0 y C_{T} = 1 y C_{D} = -1;
J = 1 si C_{R} = 1 y C_{T} = 0 y C_{D} = -1;
2 si C_{T} = -1 y C_{D} = 1;
3 si C_{R} = 1 y C_{D} = -1 y C_{R} = -1
-1 en otro caso
Después de asignar el valor J de la coordenada de la tabla de error a cada área de posible etiqueta, el programa localizador de etiquetas multiresolución 36 elimina áreas de posibles etiquetas que tienen un valor de clase S igual a -1. Una vez que el programa 36 realiza la eliminación de áreas de posibles etiquetas que tienen un valor de clase S igual a -1, el programa 36 continúa en la etapa 908.
En la etapa 908, el programa localizador de etiquetas multiresolución 36 calcula después errores relativos de decisión E para cada área de posible etiqueta que tiene un valor de clase S igual a 1 ó 0 según las siguientes reglas:
Regla (1)
El error relativo E para vectores de características V de áreas de posibles etiquetas que tienen un valor de clase S = 1 se clasifica como menor que el error relativo para los vectores de características V de áreas de posibles etiquetas que tienen un valor de clase S = 0;
Regla (2)
El error relativo E para un vector de características V de un área de posible etiqueta que tiene un valor de clase S = 1 se establece igual a su error absoluto de decisión de la aparición de bordes e_{T};
Regla (3)
El error relativo E para un vector de características V de un área de posible etiqueta que tiene un valor de clase S = 0 se calcula como se indica a continuación:
El programa localizador de etiquetas multiresolución 36 determina el error relativo E de áreas de posibles etiquetas que tienen un valor de clase S = 0 comparando pares de vectores de características V_{1}, V_{2} de pares respectivos de áreas de posibles etiquetas para determinar qué par de áreas de posibles etiquetas tiene un error relativo menor. El programa 36 emplea el valor J de la coordenada de la tabla de error de cada área de posible etiqueta de un par respectivo de áreas de posibles etiquetas para determinar un valor del índice de error L. Por ejemplo, el valor del índice de error L para un par de áreas de posibles etiquetas se determina empleando dos valores de coordenadas de la tabla de error (J_{1} de una primera área de posible etiqueta, y J_{2} de una segunda área de posible etiqueta) que proporcionan la ubicación apropiada del valor del índice de error presente en la Tabla 6:
TABLA 6 Índice de error
21
Después de determinar el índice de error L a partir de la Tabla 6 para un par de áreas de posibles etiquetas, el programa 36 determina después el error relativo E para cada uno de los pares de áreas de posibles etiquetas basándose en los siguientes criterios:
Si L = 1, entonces el error relativo E_{i} = error absoluto de decisión de la aparición de bordes e_{Ti}, donde E_{i} es el error relativo de un vector de características V_{i} de un área de posible etiqueta y donde i = 1, 2 - que denotan cada uno de los pares respectivos de áreas de posibles etiquetas;
Si L = 3, entonces el error relativo E_{i} = error absoluto de decisión de la intensidad luminosa en escala de grises e_{Ii};
Si L = 4, entonces el error relativo E_{i} (error absoluto de decisión de la aparición de bordes e_{Ti} + error absoluto de decisión de la relación entre dimensiones e_{R});
Si L = 5 y J_{2} = 0 y el código de error de dimensión normalizado C_{D2} = 1; o L = 5 y J_{2} = 2 y el código de error de dimensión normalizada C_{D1} \neq 1, entonces E_{2} < E_{1}; en otro caso, E_{2} > E_{1};
Si L = 6 y J_{1} = 3 y el código de error de la intensidad luminosa en escala de grises C_{I1} = 1, entonces E_{1} = 0,5*(error absoluto de decisión de la intensidad luminosa en escala de grises e_{I1} + error absoluto de decisión de la relación entre dimensiones e_{R1});
Si L = 6 y J_{2} =2 y el código de error de la intensidad luminosa en escala de grises C_{I2} =1, entonces E_{2} = 0,5*(error absoluto de decisión de la intensidad luminosa en escala de grises e_{I2} + error absoluto de decisión de la relación entre dimensiones e_{R2}); y
Si L = 8 y J_{2} = 2 y el código de error de la intensidad luminosa en escala de grises C_{I2} = 1, entonces E_{2} < E_{1}; en otro caso E_{1} > E_{2}.
Después de calcular el error relativo E para cada posible etiqueta en la etapa 908, el programa 36 continúa en la etapa 910. En la etapa 910, el programa 36 elimina áreas de posibles etiquetas superpuestas. Se considera que las áreas de posibles etiquetas están superpuestas si un área respectiva de posible etiqueta se superpone el ochenta y cinco por ciento (85%) a lo largo de cada dimensión de otra área de posible etiqueta. Para áreas de posibles etiquetas que cumplen con este criterio de superposición, el programa 36 elimina una de las dos áreas de posibles etiquetas según los siguientes criterios:
Si una de las áreas de posibles etiquetas superpuestas tiene un valor de clase asignada de S = 1 y la otra área de posible etiqueta tiene un valor de clase asignada de S = 0, el programa 36 eliminará el área posible que tiene un valor de clase S = 0. En otro caso, el programa 36 elimina el área posible que tiene un error relativo E mayor.
En la etapa 912, el programa localizador de etiquetas multiresolución 36 identifica y lista las áreas de posibles etiquetas que contienen con más probabilidad etiquetas de dirección según los siguientes criterios: si existen más de tres áreas de posibles etiquetas que tienen un valor de clase S = 1, entonces indica que las tres áreas de posibles etiquetas con error relativo E más pequeño son las áreas de posibles etiquetas que con más probabilidad contienen una etiqueta; si existen dos o tres áreas de posibles etiquetas que tienen un valor de clase S = 1, entonces indica que este grupo de áreas de posibles etiquetas son las áreas de posibles etiquetas que con más probabilidad contienen etiquetas de dirección. En otras palabras, si existen menos de tres áreas posibles con S = 1, entonces compara las posibles etiquetas por las áreas posibles de error relativo más pequeño con un valor de clase S = 0. Si no existen áreas de posibles etiquetas o si existe un área de posible etiqueta que tiene una clase S = 0, entonces indica que todas las áreas de posibles etiquetas que tienen una clase S = 1 y las posibles etiquetas con el error relativo E más pequeño que tienen una clase S = 0 como las áreas de posibles etiquetas que con más probabilidad contienen etiquetas de dirección. Si no existen áreas posibles que tengan un valor de clase S = 1 o = 0, entonces las áreas posibles no son etiquetas.
Salida de lista priorizada de áreas de posibles etiquetas
Después de que el programa 36 finaliza el procedimiento de listado y selección de la etapa 912, el programa 36 continúa en la rutina 106. En la rutina 106, el sistema localizador de etiquetas multiresolución transfiere a un dispositivo visualizador u otro dispositivo de salida (como una impresora) una lista priorizada de las áreas de posibles etiquetas que contienen con más probabilidad etiquetas de dirección. Con esta lista priorizada de las áreas de posibles etiquetas, un sistema de clasificación automatizada puede procesar embalajes de paquetes a una velocidad media de veinticinco embalajes por segundo con un índice de exactitud de aproximadamente el noventa por ciento (90%) para imágenes que tienen un intervalo dinámico bajo. Para imágenes con un intervalo dinámico alto, el sistema de clasificación de paquetes puede procesar embalajes de paquetes con una exactitud de aproximadamente el noventa y cinco por ciento (95%).
Aunque la presente invención incrementa la exactitud del procesamiento o clasificación de paquetes, otras aplicaciones o realizaciones del sistema localizador multiresolución no están fuera del ámbito de la presente invención. Otras aplicaciones o realizaciones incluyen, pero no están limitadas a lo siguiente: identificar líneas conductoras o microchips en una placa de circuito impreso; identificar marcas fluorescentes en paquetes; identificar formas específicas en paquetes, como formas hexagonales que pueden indicar marcas de franqueo o similares; localizar defectos en productos, como grietas u otros defectos detectables mediante procesamiento de imagen de vídeo; identificar defectos en la fabricación de telas de color; y otros entornos parecidos donde las características visuales de un objeto son fácilmente detectables mediante procesamiento de imagen de vídeo.
De la manera descrita anteriormente, la realización preferida del sistema localizador de etiquetas multiresolución 20 produce un número predeterminado de ubicaciones de posibles etiquetas basándose en una imagen explorada. Se apreciará que la presente invención proporciona un procedimiento y aparato mejorados para localizar marcas discriminantes que tienen características de interés en un sustrato. Muchas otras modificaciones y características adicionales resultarán evidentes en vista de la descripción precedente de las realizaciones ejemplares de la invención. Debe comprenderse, por lo tanto, que lo anteriormente mencionado trata sólo de las realizaciones ejemplares de la presente invención, y que pueden realizarse numerosos cambios en la misma sin apartarse del ámbito de la invención según se define por las siguientes reivindicaciones.

Claims (23)

1. Un procedimiento para localizar marcas discriminantes que tienen características de interés en un sustrato, que comprende las etapas de:
obtener una señal de vídeo definida por una pluralidad de píxeles que comprenden una imagen de entrada del sustrato;
dividir la imagen de entrada en una pluralidad de celdas de píxeles múltiples (86);
crear una imagen diezmada que corresponde a la imagen de entrada que comprende un valor característico que corresponde a cada celda de la imagen de entrada, representando cada valor característico un número escogido de los píxeles dentro de la celda correspondiente (94, 96);
identificar una o más manchas dentro de la imagen diezmada que tienen valores característicos que corresponden a las características de interés (98);
crear una imagen de aparición de bordes que corresponde a la imagen de entrada que comprende un valor de borde que corresponde a cada celda de la imagen de entrada, representando cada valor de borde el número de apariciones de orientaciones de bordes predeterminadas dentro de los píxeles de la celda correspondiente (88, 90, 92);
basándose en una o más manchas en la imagen diezmada, identificar una o más áreas posibles dentro de la imagen de entrada que tienen características de imagen diezmada y características de imagen de aparición de bordes que corresponden a las características de interés (100, 102);
clasificar las áreas posibles según la probabilidad de que contengan marcas discriminantes que tengan las características de interés (104) comparando características respectivas de áreas posibles respectivas, y
compilar una lista priorizada de una o más áreas posibles que contienen con más probabilidad marcas discriminantes que tienen las características de interés (106).
2. El procedimiento de la reivindicación 1, en el que la etapa de crear la imagen diezmada comprende, para cada celda, las etapas de:
calcular un histograma de valores de los píxeles que aparecen dentro de la celda (94);
seleccionar del histograma un valor de modo que corresponde al valor del píxel que aparece más frecuentemente dentro de la celda (96); y
establecer el valor característico en la imagen diezmada para la celda al valor de modo (96).
3. El procedimiento de la reivindicación 1, en el que la etapa de identificar una o más manchas dentro de la imagen diezmada que tienen valores característicos que corresponden a las características de interés de las marcas discriminantes comprende las etapas de:
calcular un histograma de valores característicos que corresponde a la imagen diezmada; y
suavizar el histograma de valores característicos con un filtro de paso bajo y un filtro de ventana móvil adaptativa,
seleccionar uno o más valores máximos del histograma de valores característicos filtrados;
aislar una región máxima alrededor de cada valor máximo identificando valores valle límites superior e inferior;
crear una imagen segmentada asignando los píxeles dentro de cada región máxima a una imagen en blanco que corresponde a la imagen diezmada; e
identificar como manchas una o más componentes conectadas dentro de la imagen segmentada.
4. El procedimiento de la reivindicación 1, en el que la etapa de crear la imagen de aparición de bordes comprende, para cada celda, las etapas de:
codificar en binario los valores de los píxeles dentro de la celda (88);
identificar transiciones en orientaciones esperadas entre los valores de los píxeles codificados en binario dentro de la celda (90);
calcular un valor de transición total para la celda basándose en las transiciones (92);
y
establecer el valor de borde para la celda al valor de transición total para los píxeles dentro de la celda (92).
5. El procedimiento de la reivindicación 4, en el que la etapa de codificar en binario los valores de los píxeles dentro de la celda comprende la etapa de aplicar una técnica adaptativa de codificación en binario a los valores de los píxeles dentro de la celda para seleccionar un umbral para codificar en binario los valores de los píxeles basándose en valores de los píxeles de fondo identificados.
6. El procedimiento de la reivindicación 4, en el que la etapa de identificar transiciones en orientaciones esperadas entre los valores de los píxeles codificados en binario dentro de la celda comprende la etapa de comparar los valores de los píxeles dentro de la celda con una pluralidad de plantillas que definen patrones de píxeles que están entre las características de interés.
7. El procedimiento de la reivindicación 6, en el que la etapa de identificar transiciones en orientaciones esperadas entre los valores de los píxeles codificados en binario dentro de la celda comprende las etapas de:
definir una pluralidad de contadores asociados con cada una de una pluralidad de orientaciones; y
para cada plantilla
comparar ejemplos de la plantilla con partes de la celda que tienen el mismo tamaño que la plantilla, de manera que cada píxel de la celda se compara con al menos un ejemplo de la plantilla;
identificar uno o más patrones de píxeles coincidentes dentro de la celda que corresponden a un patrón de píxeles definido por la plantilla;
identificar una orientación asociada con el patrón de píxeles;
e
incrementar uno o más de los contadores en respuesta a la aparición de cada patrón de píxeles coincidente.
8. El procedimiento de la reivindicación 7, en el que la etapa de calcular un valor de transición total para una celda comprende la etapa de:
aplicar una fórmula de totalización que filtra los valores de los contadores para incrementar el valor de transición total en respuesta a la presencia de texto dentro de la celda evitando a su vez incrementar el valor de transición total en respuesta a la presencia de un código de barras o de marcas extrañas dentro de la celda.
9. El procedimiento de la reivindicación 3, en el que la etapa de identificar una o más áreas posibles dentro de la imagen de entrada que tienen características de imagen diezmada y características de imagen de aparición de bordes que corresponden a las características de interés comprende además las etapas de:
calcular una ventana límite alrededor de cada componente conectada dentro de la imagen segmentada; y
para cada ventana límite
calcular uno o más valores de características de la ventana,
calcular uno o más valores de características que corresponden a las celdas dentro de la ventana límite, y
ensamblar un vector de características que incluye los valores de características de la ventana y los valores de características para celdas dentro de la ventana límite.
10. El procedimiento de la reivindicación 9, en el que los valores de características de la ventana se seleccionan del grupo que incluye:
una altura normalizada que representa una relación de una altura definida por la ventana límite a una altura definida por la imagen segmentada;
una anchura normalizada que representa una relación de una anchura definida por la ventana límite a una anchura definida por la imagen segmentada;
un área normalizada que representa una relación de un área definida por la ventana límite a un área definida por la imagen segmentada; y
una relación entre dimensiones que representa una relación de la anchura definida por la ventana límite a la altura definida por la ventana límite.
11. El procedimiento de la reivindicación 9, en el que los valores de características se seleccionan del grupo que incluye:
una intensidad de apariciones de bordes normalizada que representa una relación de una suma de valores de bordes para celdas dentro de la ventana límite a un número total de celdas dentro de la ventana límite; y
una intensidad de transición normalizada que representa una relación de una suma de valores totales de transiciones para celdas dentro de la ventana límite a un área definida por la ventana límite.
12. El procedimiento de la reivindicación 11, que además comprende la etapa de poner a cero los valores totales de transiciones para celdas dentro de la ventana límite que están por debajo de un valor umbral predefinido para eliminar ruido al calcular la intensidad de transición normalizada.
13. El procedimiento de la reivindicación 9, que además comprende la etapa de preclasificar las áreas posibles aplicando un requisito seleccionado del grupo que incluye:
eliminar una o más áreas posibles que tienen una ventana límite correspondiente que define un área por debajo de un valor umbral mínimo predefinido;
eliminar una o más áreas posibles que tienen una ventana límite correspondiente que define un área por encima de un valor umbral máximo predefinido; y
recortar una o más áreas posibles para que correspondan a una ventana límite que tiene un tamaño predefinido centrado alrededor de un centro de masas calculado para los valores de características del área posible correspondiente.
14. El procedimiento de la reivindicación 9, en el que la etapa de clasificar las áreas posibles según la probabilidad de que contengan marcas discriminantes que tienen las características de interés comprende además la etapa de listar las áreas posibles comparando sus vectores de características respectivos.
15. El procedimiento de la reivindicación 14, en el que la etapa de listar las áreas posibles comprende, para uno o más vectores de características, las etapas de:
calcular un primer valor de decisión que corresponde a uno o más de los valores de características de la ventana comparando el valor de características de la ventana con un valor esperado del valor de características de la ventana, estando el valor esperado del valor de características de la ventana entre las características de interés; y
calcular un segundo valor de decisión que corresponde a uno o más de los valores de características de la celda comparando el valor de características de la celda con un valor esperado del valor de características de la celda, estando el valor esperado del valor de características de la celda entre las características de interés.
16. El procedimiento de la reivindicación 15, en el que la etapa de listar las áreas posibles comprende las etapas de:
definir un espacio de decisión que comprende una pluralidad de subespacios de decisión;
listar los subespacios de decisión; y
asignar los vectores de características a los subespacios de decisión basándose en los valores relativos de los valores de características de la ventana y la celda de los vectores de características.
17. Un medio de almacenamiento informático que almacena instrucciones ejecutables por ordenador para realizar todas las etapas del procedimiento de la reivindicación 1.
18. Un sistema operable para localizar etiquetas que tienen características de interés en un embalaje, que comprende:
un dispositivo de vídeo (26) para explorar dicho embalaje y al menos una etiqueta dispuesta en dicho embalaje;
un procesador de vídeo (28) enlazado operativamente a dicho dispositivo de vídeo, dicho procesador de vídeo operable para (a) dividir una imagen de entrada en una pluralidad de celdas de píxeles múltiples, (b) crear una imagen diezmada que corresponde a la imagen de entrada que comprende un valor característico que corresponde a cada celda de la imagen de entrada, representando cada valor característico un número escogido de los píxeles dentro de la celda correspondiente, (c) crear una imagen de aparición de bordes que corresponde a la imagen de entrada que comprende un valor de borde que corresponde a cada celda de la imagen de entrada, representando cada valor de borde el número de apariciones de orientaciones de bordes predeterminadas dentro de los píxeles de la celda correspondiente; y
un microprocesador (34) enlazado operativamente a dicho procesador de vídeo, operable dicho microprocesador para (a) identificar una o más áreas posibles dentro de la imagen de entrada que tienen características de imagen diezmada y características de imagen de aparición de bordes que corresponden a las características de interés y (b) clasificar las áreas posibles según la probabilidad de que contengan marcas discriminantes que tienen las características de interés comparando características respectivas de áreas posibles respectivas, produciendo dicho microprocesador una lista de una o más áreas posibles que contienen con más probabilidad al menos una etiqueta que tiene las características de interés.
19. El sistema de la reivindicación 18, en el que el procesador de vídeo comprende:
un primer dispositivo de memoria intermedia (80) operativo para recibir en serie valores de los píxeles;
un dispositivo de matriz de puertas programable en campo (82) que tiene una entrada conectada eléctricamente a la primera memoria intermedia y una salida; y
un dispositivo de memoria estática (84) que tiene una entrada conectada eléctricamente a la matriz de puertas programable en campo y una salida.
20. El sistema de la reivindicación 19, en el que el primer dispositivo de memoria intermedia es un dispositivo de memoria intermedia de tipo primero en entrar/primero en salir y el dispositivo de memoria estática es un dispositivo de memoria estática de acceso aleatorio.
21. El sistema de la reivindicación 19, en el que el procesador de vídeo comprende además:
un segundo dispositivo de memoria intermedia (68);
una pluralidad de registradores de desplazamiento que tienen cada uno una entrada conectada eléctricamente a la segunda memoria de acceso intermedio y una salida (70); y
un dispositivo de memoria dinámica (72) que tiene una entrada conectada eléctricamente a las salidas de la pluralidad de registradores de desplazamiento y una salida.
22. El sistema de la reivindicación 21, en el que el segundo dispositivo de memoria intermedia es un dispositivo de memoria intermedia de tipo primero en entrar/primero en salir y el dispositivo de memoria dinámica es un dispositivo de memoria dinámica de acceso aleatorio.
23. El sistema de la reivindicación 18, en el que el microprocesador comprende una unidad central de procesamiento y un dispositivo de almacenamiento de memoria.
ES00993097T 1999-12-03 2000-11-29 Localizador de etiquetas, de multiples resoluciones. Expired - Lifetime ES2231309T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/454,090 US6728391B1 (en) 1999-12-03 1999-12-03 Multi-resolution label locator
US454090 1999-12-03

Publications (1)

Publication Number Publication Date
ES2231309T3 true ES2231309T3 (es) 2005-05-16

Family

ID=23803262

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00993097T Expired - Lifetime ES2231309T3 (es) 1999-12-03 2000-11-29 Localizador de etiquetas, de multiples resoluciones.

Country Status (10)

Country Link
US (1) US6728391B1 (es)
EP (1) EP1234273B1 (es)
JP (1) JP3910447B2 (es)
CN (1) CN100334591C (es)
AT (1) ATE279757T1 (es)
CA (1) CA2392987C (es)
DE (1) DE60014959T2 (es)
DK (1) DK1234273T3 (es)
ES (1) ES2231309T3 (es)
WO (1) WO2001046899A2 (es)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728391B1 (en) 1999-12-03 2004-04-27 United Parcel Service Of America, Inc. Multi-resolution label locator
US7672022B1 (en) * 2000-04-07 2010-03-02 Hewlett-Packard Development Company, L.P. Methods and apparatus for analyzing an image
FR2812226B1 (fr) * 2000-07-25 2002-12-13 Mannesmann Dematic Postal Automation Sa Procede de traitement d'objets postaux de grande taille dans une installation de tri
US6829369B2 (en) * 2001-05-18 2004-12-07 Lockheed Martin Corporation Coding depth file and method of postal address processing using a coding depth file
US6834807B2 (en) 2001-07-13 2004-12-28 Hand Held Products, Inc. Optical reader having a color imager
US7474781B2 (en) * 2001-09-20 2009-01-06 International Business Machines Corporation Image based bar-code reading and robotic registration apparatus for use in automated tape library systems
JP3898075B2 (ja) * 2002-03-18 2007-03-28 株式会社リコー 画像処理装置、画像処理方法及び記録媒体
US7284230B2 (en) * 2003-10-30 2007-10-16 International Business Machines Corporation System for search and analysis of systematic defects in integrated circuits
IL162878A0 (en) * 2004-07-06 2005-11-20 Hi Tech Solutions Ltd Multi-level neural network based characters identification method and system
US7249717B2 (en) * 2004-12-10 2007-07-31 Mitek Systems, Inc. System and method for check fraud detection using signature validation
US7110605B2 (en) * 2005-02-04 2006-09-19 Dts Az Research, Llc Digital intermediate (DI) processing and distribution with scalable compression in the post-production of motion pictures
US7611060B2 (en) 2005-03-11 2009-11-03 Hand Held Products, Inc. System and method to automatically focus an image reader
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
US7780089B2 (en) 2005-06-03 2010-08-24 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
US7165015B2 (en) * 2005-03-29 2007-01-16 Cryovac, Inc. Handheld device for retrieving and analyzing data from an electronic monitoring device
US7809158B2 (en) * 2005-05-02 2010-10-05 Siemens Industry, Inc. Method and apparatus for detecting doubles in a singulated stream of flat articles
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
DE602006011422D1 (es) * 2006-02-15 2010-02-11 Sony Deutschland Gmbh
US8630498B2 (en) * 2006-03-02 2014-01-14 Sharp Laboratories Of America, Inc. Methods and systems for detecting pictorial regions in digital images
US7889932B2 (en) * 2006-03-02 2011-02-15 Sharp Laboratories Of America, Inc. Methods and systems for detecting regions in digital images
US7792359B2 (en) 2006-03-02 2010-09-07 Sharp Laboratories Of America, Inc. Methods and systems for detecting regions in digital images
US7813547B1 (en) * 2006-04-05 2010-10-12 Unisys Corporation Apparatus and method for detection and analysis of imagery
US7864365B2 (en) * 2006-06-15 2011-01-04 Sharp Laboratories Of America, Inc. Methods and systems for segmenting a digital image into regions
US8437054B2 (en) * 2006-06-15 2013-05-07 Sharp Laboratories Of America, Inc. Methods and systems for identifying regions of substantially uniform color in a digital image
US20080008378A1 (en) * 2006-07-07 2008-01-10 Lockheed Martin Corporation Arbitration system for determining the orientation of an envelope from a plurality of classifiers
US7876959B2 (en) * 2006-09-06 2011-01-25 Sharp Laboratories Of America, Inc. Methods and systems for identifying text in digital images
US20080101703A1 (en) * 2006-10-30 2008-05-01 Lockheed Martin Corporation Systems and methods for recognizing shapes in an image
US8279889B2 (en) * 2007-01-04 2012-10-02 Qualcomm Incorporated Systems and methods for dimming a first packet associated with a first bit rate to a second packet associated with a second bit rate
US7775431B2 (en) * 2007-01-17 2010-08-17 Metrologic Instruments, Inc. Method of and apparatus for shipping, tracking and delivering a shipment of packages employing the capture of shipping document images and recognition-processing thereof initiated from the point of shipment pickup and completed while the shipment is being transported to its first scanning point to facilitate early customs clearance processing and shorten the delivery time of packages to point of destination
US8630491B2 (en) 2007-05-03 2014-01-14 Andrew Longacre, Jr. System and method to manipulate an image
US20080298635A1 (en) * 2007-05-29 2008-12-04 West William M Method for identifying images using fixtureless tracking and system for performing same
US9424488B2 (en) * 2007-06-14 2016-08-23 Hewlett-Packard Development Company, L.P. Applying a segmentation engine to different mappings of a digital image
US20090041344A1 (en) * 2007-08-08 2009-02-12 Richard John Campbell Methods and Systems for Determining a Background Color in a Digital Image
US8249366B2 (en) * 2008-06-16 2012-08-21 Microsoft Corporation Multi-label multi-instance learning for image classification
JP2010073047A (ja) * 2008-09-19 2010-04-02 Toshiba Corp 情報処理装置およびプログラム
TWI384427B (zh) * 2009-04-29 2013-02-01 Utechzone Co Ltd Background establishment method and device
JP5574622B2 (ja) * 2009-05-22 2014-08-20 株式会社東芝 紙葉類処理装置および紙葉類処理方法
JP2012194705A (ja) * 2011-03-15 2012-10-11 Omron Corp 画像処理装置、画像処理方法および画像処理プログラム
US8818023B2 (en) * 2011-03-25 2014-08-26 Siemens Industry, Inc. Bulk region of interest learning
US20120250985A1 (en) * 2011-03-30 2012-10-04 Jing Xiao Context Constraints for Correcting Mis-Detection of Text Contents in Scanned Images
US9122952B2 (en) * 2011-12-23 2015-09-01 Cognex Corporation Methods and apparatus for one-dimensional signal extraction
US9157855B2 (en) * 2013-09-06 2015-10-13 Canon Kabushiki Kaisha Material classification
JP6203084B2 (ja) * 2014-03-06 2017-09-27 株式会社東芝 配達物区分処理システム、および配達物区分処理方法
US9536167B2 (en) * 2014-12-10 2017-01-03 Ricoh Co., Ltd. Realogram scene analysis of images: multiples for scene analysis
US11126950B2 (en) 2015-03-18 2021-09-21 United Parcel Service Of America, Inc. Systems and methods for verifying the contents of a shipment
KR102507383B1 (ko) * 2016-11-08 2023-03-08 한국전자통신연구원 직사각형 윈도우를 이용한 스테레오 정합 방법 및 스테레오 정합 시스템
CN108121982B (zh) * 2016-11-30 2020-02-07 杭州海康机器人技术有限公司 面单图像的获取方法及装置
CN110573883B (zh) * 2017-04-13 2023-05-30 美国西门子医学诊断股份有限公司 用于在样本表征期间确定标签计数的方法和装置
DE102017217242B4 (de) * 2017-09-27 2024-03-28 Deutsche Post Ag Verfahren und System zur Kennzeichnung von Sendungseinheiten
US10803542B2 (en) * 2018-09-14 2020-10-13 Buildinglink.com LLC Physical asset recognition platform
CN109656388B (zh) * 2018-12-19 2022-07-01 湖北银琅兴科技发展有限公司 一种特殊定位光标的制作方法
CN113366935B (zh) * 2019-02-19 2022-10-14 株式会社富士 基准标记确定装置、基准标记确定方法
US10650210B1 (en) 2019-03-18 2020-05-12 Haier Us Appliance Solutions, Inc. Method for authenticating a filter cartridge for a refrigerator appliance

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3715724A (en) 1969-12-24 1973-02-06 Olivetti & Co Spa Apparatus for recognizing graphic symbols
US3885229A (en) 1972-10-28 1975-05-20 Nippon Electric Co Document scanning apparatus
JPS5295121A (en) 1976-02-06 1977-08-10 Hitachi Ltd Code plate
JPS56129981A (en) 1980-03-14 1981-10-12 Toshiba Corp Optical character reader
JPS5743279A (en) 1980-08-29 1982-03-11 Fujitsu Ltd Method for detecting position of x-y symmetrical body
DE3107521A1 (de) 1981-02-27 1982-09-16 Siemens AG, 1000 Berlin und 8000 München Verfahren zum automatischen erkennen von bild- und text- oder graphikbereichen auf druckvorlagen
US4516017A (en) 1982-01-20 1985-05-07 Nippondenso Co., Ltd. High-sensitive optical reading apparatus and method of reading optical information
JPS59179691A (ja) 1983-03-31 1984-10-12 Toshiba Ceramics Co Ltd コ−クス炉
US4782221A (en) 1985-04-01 1988-11-01 Cauzin Systems, Incorporated Printed data strip including bit-encoded information and scanner control
EP0198481B1 (en) 1985-04-17 1996-03-13 Hitachi, Ltd. Image processing apparatus
JPS61276080A (ja) 1985-05-31 1986-12-06 Toshiba Corp 上下判定装置
US4742556A (en) 1985-09-16 1988-05-03 Davis Jr Ray E Character recognition method
JPH01137385A (ja) 1987-11-25 1989-05-30 Matsushita Electric Ind Co Ltd 文字認識装置
JP2727549B2 (ja) 1988-01-29 1998-03-11 日本電気株式会社 最適画質選択装置
US5053609A (en) 1988-05-05 1991-10-01 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5124536A (en) 1988-05-05 1992-06-23 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5126542A (en) 1988-05-05 1992-06-30 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US4939354A (en) 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
JPH02100575A (ja) 1988-10-07 1990-04-12 Toshiba Corp 画像処理装置
JPH02196565A (ja) 1989-01-25 1990-08-03 Eastman Kodatsuku Japan Kk 画像二値化方式
US5073954A (en) 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
JPH087785B2 (ja) 1989-05-16 1996-01-29 松下電器産業株式会社 2値化処理装置
US5068909A (en) 1989-05-18 1991-11-26 Applied Imaging Corporation Method and apparatus for generating quantifiable video displays
DE3942932A1 (de) 1989-12-23 1991-06-27 Licentia Gmbh Verfahren zum verteilen von paketen o. ae.
FR2657982B1 (fr) 1990-02-02 1992-11-27 Cga Hbs Procede de localisation d'adresse sur des articles a trier, etiquette d'adressage et dispositif de mise en óoeuvre du procede.
JP2768786B2 (ja) 1990-02-20 1998-06-25 キヤノン株式会社 画像読み取り装置
US5241166A (en) 1990-07-02 1993-08-31 Chandler Donald G Low resolution target acquisition
DE69131394T2 (de) 1990-10-30 2000-01-20 Omniplanar Inc Maschinenlesbares Zeichen mit Mehrfachauflösung
US5223701A (en) 1990-10-30 1993-06-29 Ommiplanar Inc. System method and apparatus using multiple resolution machine readable symbols
US5153418A (en) 1990-10-30 1992-10-06 Omniplanar, Inc. Multiple resolution machine readable symbols
JPH04268989A (ja) 1991-02-25 1992-09-24 Nippon Steel Corp 文字認識方法及び装置
JPH04268987A (ja) 1991-02-25 1992-09-24 Nippon Steel Corp 文字認識装置
US5278397A (en) 1991-07-25 1994-01-11 Symbol Technologies, Inc. Multi-resolution bar code reader
US5179599A (en) 1991-06-17 1993-01-12 Hewlett-Packard Company Dynamic thresholding system for documents using structural information of the documents
WO1994020925A1 (en) 1993-03-01 1994-09-15 United Parcel Service Of America, Inc. Method and apparatus for locating a two-dimensional symbol using a double template
US5365597A (en) 1993-06-11 1994-11-15 United Parcel Service Of America, Inc. Method and apparatus for passive autoranging using relaxation
JP2933801B2 (ja) 1993-06-11 1999-08-16 富士通株式会社 文字の切り出し方法及びその装置
US5434629A (en) * 1993-12-20 1995-07-18 Focus Automation Systems Inc. Real-time line scan processor
US5499060A (en) 1994-01-04 1996-03-12 Texas Instruments Incorporated System and method for processing video data
US5495537A (en) 1994-06-01 1996-02-27 Cognex Corporation Methods and apparatus for machine vision template matching of images predominantly having generally diagonal and elongate features
US5515447A (en) 1994-06-07 1996-05-07 United Parcel Service Of America, Inc. Method and apparatus for locating an acquisition target in two-dimensional images by detecting symmetry in two different directions
WO1996024114A2 (en) 1995-01-31 1996-08-08 United Parcel Service Of America, Inc. Method and apparatus for separating foreground from background in images containing text
US5642442A (en) 1995-04-10 1997-06-24 United Parcel Services Of America, Inc. Method for locating the position and orientation of a fiduciary mark
JP3545506B2 (ja) * 1995-08-21 2004-07-21 株式会社東芝 特定色領域抽出方式および特定色領域除去方式
DE19532842C1 (de) 1995-09-05 1996-12-19 Ibm Bildaufnahmesystem
US6205499B1 (en) * 1998-12-18 2001-03-20 The United States Of America As Represented By The Secretary Of The Navy System for compressing video data using bi-orthogonal wavelet coding having a DSP for adjusting compression ratios to maintain a constant data flow rate of the compressed data
US6343139B1 (en) * 1999-03-12 2002-01-29 International Business Machines Corporation Fast location of address blocks on gray-scale images
US6728391B1 (en) 1999-12-03 2004-04-27 United Parcel Service Of America, Inc. Multi-resolution label locator

Also Published As

Publication number Publication date
JP3910447B2 (ja) 2007-04-25
WO2001046899A2 (en) 2001-06-28
CN100334591C (zh) 2007-08-29
CN1415103A (zh) 2003-04-30
ATE279757T1 (de) 2004-10-15
CA2392987C (en) 2008-04-01
CA2392987A1 (en) 2001-06-28
DE60014959T2 (de) 2005-12-01
JP2003518300A (ja) 2003-06-03
WO2001046899A3 (en) 2002-03-14
EP1234273B1 (en) 2004-10-13
DE60014959D1 (de) 2004-11-18
DK1234273T3 (da) 2005-01-31
US6728391B1 (en) 2004-04-27
EP1234273A2 (en) 2002-08-28

Similar Documents

Publication Publication Date Title
ES2231309T3 (es) Localizador de etiquetas, de multiples resoluciones.
JP2003518300A5 (es)
EP1086439B1 (en) Techniques for reading postal codes
US4896029A (en) Polygonal information encoding article, process and system
US4874936A (en) Hexagonal, information encoding article, process and system
US8326037B1 (en) Methods and apparatus for locating an object in an image
KR100899167B1 (ko) 엔코드된 정보를 가진 심벌을 판독하는 방법
US6708884B1 (en) Method and apparatus for rapid and precision detection of omnidirectional postnet barcode location
EP1416421B1 (en) Barcode detection system and corresponding method
EP1904952A2 (en) Efficient finder patterns and methods for application to 2d machine vision problems
CA2108456A1 (en) Data tag and detecting method
JP2788604B2 (ja) 2次元情報パターンを有する情報表示タグ、それを用いた画像処理方法及び画像処理装置
US7980473B2 (en) Camera based code reading
JP2009266190A (ja) シンボル情報読取装置及びシンボル情報読取方法
JPH10171916A (ja) バーコード読み取り装置
JP3591184B2 (ja) バーコード読み取り装置
JP2001014421A (ja) バーコード読み取り装置
CN116306731A (zh) 一种识别条形码的方法、装置、电子设备和存储介质
JP6434354B2 (ja) シンボル情報読取装置およびシンボル情報読取方法
US7058203B2 (en) Region of interest identification using region of adjacent pixels analysis
Karrach Location and Recognition of Data Matrix and QR Codes in Images
EP1178665A2 (en) Optical scanner and image reader including one and two dimensional symbologies at variable depth of field
JP2613211B2 (ja) 画像入力装置
CN113033234A (zh) 条码检测方法及系统
CN115374806A (zh) 一种隐形编码图形定位方法