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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C1/00—Measures preceding sorting according to destination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/147—Determination of region of interest
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
- G06V30/18086—Extraction of features or characteristics of the image by performing operations within image blocks or by using histograms
- G06V30/18095—Summing image-intensity values; Projection and histogram analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character 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/2504—Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/424—Postal images, e.g. labels or addresses on parcels or postal envelopes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S209/00—Classifying, separating, and assorting solids
- Y10S209/90—Sorting 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.
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.
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.
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.
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.
límite.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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).
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.
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.
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:
1 | e_{R} <= 1,5 | ||
C_{R} | = | 0 | 1,5 < e_{R}<= 2,5 |
-1 | e_{R} > 2,5 |
1 | e_{T} <= 0,667 | ||
C_{T} | = | 0 | 0,667 < e_{T} <= 0,800 |
-1 | e_{T} > 0,800 |
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 |
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:
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:
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:
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.
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.
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)
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)
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 |
-
1999
- 1999-12-03 US US09/454,090 patent/US6728391B1/en not_active Expired - Lifetime
-
2000
- 2000-11-29 CN CNB008178585A patent/CN100334591C/zh not_active Expired - Fee Related
- 2000-11-29 AT AT00993097T patent/ATE279757T1/de not_active IP Right Cessation
- 2000-11-29 DK DK00993097T patent/DK1234273T3/da active
- 2000-11-29 JP JP2001547342A patent/JP3910447B2/ja not_active Expired - Fee Related
- 2000-11-29 WO PCT/US2000/042360 patent/WO2001046899A2/en active IP Right Grant
- 2000-11-29 DE DE60014959T patent/DE60014959T2/de not_active Expired - Lifetime
- 2000-11-29 CA CA002392987A patent/CA2392987C/en not_active Expired - Fee Related
- 2000-11-29 ES ES00993097T patent/ES2231309T3/es not_active Expired - Lifetime
- 2000-11-29 EP EP00993097A patent/EP1234273B1/en not_active Expired - Lifetime
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) | 一种隐形编码图形定位方法 |