MXPA04009151A - Sistema y metodo para detectar un objeto dibujado a mano en una entrada de tinta. - Google Patents

Sistema y metodo para detectar un objeto dibujado a mano en una entrada de tinta.

Info

Publication number
MXPA04009151A
MXPA04009151A MXPA04009151A MXPA04009151A MXPA04009151A MX PA04009151 A MXPA04009151 A MX PA04009151A MX PA04009151 A MXPA04009151 A MX PA04009151A MX PA04009151 A MXPA04009151 A MX PA04009151A MX PA04009151 A MXPA04009151 A MX PA04009151A
Authority
MX
Mexico
Prior art keywords
container
containers
connector
ink
carrying
Prior art date
Application number
MXPA04009151A
Other languages
English (en)
Inventor
Wang Jiang
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04009151A publication Critical patent/MXPA04009151A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

Se proporcionan un sistema y metodo para la deteccion de objetos dibujados a mano. Un detector puede detectar un dibujo como un diagrama o diagrama de flujo desde la entrada de tinta al detectar los contenedores cerrados y/o conectores no cerrados en el dibujo. Una medida eficiente con base de reticula se puede utilizar para adaptar los golpes de tinta dentro de una reticula de imagen con un tamano apropiado. Un algoritmo de llenado se puede utilizar para detectar los contenedores y los conectores. Tambien, se puede llevar a cabo una busqueda de orden de tiempo despues de una busqueda espacial para manejar el traslape de los golpes de dibujo. Por ultimo, se puede llevar a cabo la deteccion de contenido para cada contenedor detectado. Una vez que los contenedores y su contenido asociado han sido detectados en la reticula de imagen, se puede llevar a cabo la deteccion de conector. Con el uso de la presente invencion, usuario puede dibujar diagramas y diagramas de flujo libremente y sin restriccion en la entrada dibujada a mano.

Description

SISTEMA Y MÉTODO PARA DETECTAR UN OBJETO DIBUJADO A MANO EN UNA ENTRADA DE TINTA REFERENCIA CRUZADA CON SOLICITUDES RELACIONADAS La presente invención reclama la prioridad de la solicitud de patente provisional No. 60/505,866, presentada el 24 de septiembre de 2003, e incorporada en la presente en su totalidad. La presente invención está relacionada con las siguientes solicitudes de patente Estados Unidos, presentadas en forma concurrente con la misma e incorporadas aquí en su totalidad. El documento No. 4201/306517 "Sistema y Método para el reconocimiento de forma de objetos dibujados a mano"; y El documento No. 4191/306517 "Sistema y Método para detectar una lista en una entrada de tinta".
CAMPO DE LA INVENCIÓN La invención se relaciona en general, a sistemas de computadora, y más en particular a un sistema y método mejorados para detectar un objeto dibujado a mano en una entrada de tinta.
ANTECEDENTES DE LA INVENCIÓN La capacidad para detectar y reconocer la forma de objetos dibujados a mano es importante para que los usuarios puedan dibujar directamente en su computadora con el uso de una entrada de tinta o de notas de tinta. El hardware y el software actuales pueden tener la capacidad de capturar tinta que representa escritura, en una forma aceptable, pero en la actualidad no cuentan con la capacidad de detectar y representar de manera similar el significado de objetos dibujados a mano. Como resultado, en su lugar, los usuarios pueden utilizar programas de aplicación con base en menú para crear dibujos de objetos. Se pueden presentar varias formas por los programas de aplicación para que el usuario seleccione y copiar sobre una retícula de dibujo. La forma copiada puede volver a adoptar el tamaño a la escala deseada y el usuario puede continuar colocando y dando tamaño a las formas adicionales sobre la retícula de dibujo hasta que se complete el dibujo. Las investigaciones que se han enfocado en el reconocimiento de objetos escritos a mano, han dado resultados muy limitados hasta la fecha. Por ejemplo, se han utilizado algoritmos de reconocimiento de aumento que pueden reconocer formas geométricas sencillas como el círculo o un cuadro con un número específico de golpes en un orden en particular. Sin embargo, los algoritmos de aumento se basan en el orden de los golpes y/o suponen un número específico de golpes en orden para reconocer un objeto dibujado a mano particular. Tal medida no es robusta por varias razones. En primer lugar, ninguno de los algoritmos increméntales resuelve los problemas de agrupamiento para decidir el conjunto de golpes que pertenecen juntos debido a los golpes que representan una estructura o forma específica. Sin la capacidad de agrupar golpes que pertenecen a una forma, los algoritmos increméntales no pueden acomodar estructuras de múltiples golpes como las flechas. Además, los algoritmos increméntales se sustentan en el orden de los golpes y/o adoptan un número de golpes particular para una forma, los algoritmos increméntales no tienen la capacidad de resolver el problema de sobre trazo en donde se puede sobretrazar un golpe durante el dibujo de una forma. Lo que se necesita es una forma para detectar y representar la forma de objetos escritos a mano que pueden ser insensibles al orden de entrada de golpes y/o al número de golpes requeridos para generar una forma determinada. Cualquier método y sistema debe tener la capacidad de detectar formas escritas a mano de golpes múltiples y debe tener la capacidad de decidir el conjunto de golpes que representan las diferentes formas.
BREVE DESCRIPCIÓN DE LA INVENCIÓN En breve, la presente invención proporciona un sistema y método para detectar un objeto dibujado a mano en una entrada de tinta. Para este fin, se proporciona un detector que puede detectar un dibujo como un diagrama en la entrada de tinta. El detector puede incluir un detector de contenedor para encontrar golpes que pertenecen al contenedor y un detector conector para encontrar los golpes que pertenecen a un contenedor. Las formas dibujadas a mano se pueden detectar al llevar a cabo una búsqueda espacial y una búsqueda del orden de tiempos para identificar los golpes para cada contenedor.
Una modalidad puede ajustar los golpes de tinta dentro de una retícula de imagen con un tamaño adecuado y marcar las retículas que intersecan con los golpes de dibujo. Empezando con los bordes exteriores de la retícula de imagen, las retículas de molde exterior pueden llenarse hasta que alcancen a las retículas marcadas que intersecan con los golpes de dibujo. Entonces, cualquier isla de retículas de molde que aparezcan dentro de las retículas marcadas puede llenarse hasta alcanzar los bordes de la isla. Los golpes de dibujo se pueden identificar de los bordes que rodean las islas llenas. Cualquier candidato de contenedor puede revisarse para confirmar que son contenedores válidos. En una modalidad, también se puede llevar a cabo una búsqueda de orden de tiempo después de la búsqueda espacial para manejar el traslape de los golpes de dibujo. En general, los contenedores formados de una secuencia de golpes consecutivos puede encontrarse con el uso de una búsqueda de orden de tiempo al determinar la probabilidad de que la secuencia de golpes de entrada forme un contenedor. Cualquier contenedor adicional encontrado al llevar a cabo la búsqueda de orden de tiempo se puede marcar en la retícula de imagen utilizada para la búsqueda espacial, de modo que cualquier contenedor encontrado se puede incluir en la retícula de imágenes para un uso futuro durante la detección de contenedor y la detección de conector. Una vez que los contenedores y su contenido asociado han sido detectados en la retícula de imagen, se puede llevar a cabo la detección de conector. En general, una búsqueda se puede llevar a cabo en la retícula de imagen que ha sido marcada con contenedores para detectar cualquier conector entre las retículas de los golpes de dibujo no visitados. Cualquier contenedor que no esté adyacente a los golpes de dibujo no visitados puede ser inflado con retículas marcadas que rodean el borde de los contenedores, de modo que los conectores pueden estar adyacentes a los contenedores correspondientes. Entonces, las retículas de los golpes de dibujo no visitados pueden ser llenadas y las retículas llenas que alcanzan dos o más contenedores, incluyendo los contenedores inflados, pueden identificar los golpes de dibujo de un candidato de conector. Cualquier candidato de conector se puede revisar para confirmar que son conectores válidos. Con ventaja, el sistema y el método son insensibles al orden de entrada de golpes y el número de golpes que pueden formar una forma dibujada a mano. Además, el sistema y método puede ser utilizado para detectar cualquier contenedor cerrado y los conectores no cerrados en el dibujo. Una vez detectados, se pueden reconocer el tipo, ubicación, orientación y tamaño de la forma. Otras ventajas serán evidentes a partir de la siguiente descripción detallada cuando se toma junto con los dibujos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es un diagrama en bloque que en general, representa un sistema de computadora dentro del cual se puede incorporar la presente invención. La Figura 2 es un diagrama en bloque que en general, representa una arquitectura ejemplificativa de los componentes del sistema para la detección de objetos dibujados a mano en una entrada de tinta y el reconocimiento de forma de objetos dibujados a mano, de conformidad con un aspecto de la presente invención. La Figura 3 es un diagrama de flujo que en general, representa los pasos llevados a cabo para la detección de objetos dibujados a mano en una entrada de tinta y el reconocimiento de forma de objetos dibujados a mano de conformidad con un aspecto de la presente invención. La Figura 4 es una ilustración ejemplificativa, que en general, representa la relación estructural de objetos escritos a mano en entrada de tinta para usarse en la detección y reconocimiento de forma de objetos dibujados a mano, de conformidad con un aspecto de la presente invención. La Figura 5A-5C son ilustraciones ejemplificativas que en general, representan tipos de contenedores en una entrada de tinta soportados para la detección y el reconocimiento de forma de objetos dibujados a mano, de conformidad con un aspecto de la presente invención.
Las Figuras 6A-6D son ilustraciones ejemplificativas, que en general representan tipos de conectores en una entrada de tinta soportados para la detección y reconocimiento de forma de objeto dibujado a manos de conformidad con un aspecto de la presente invención. La Figura 7 es un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para la detección de contenedores y conectores en una entrada de tinta, de conformidad con un aspecto de la presente invención. La Figura 8 es un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para la detección de contenedores en una entrada de tinta, de conformidad con un aspecto de la presente invención. La Figura 9 es un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para llevar a cabo la búsqueda espacial para detectar contenedores, de conformidad con un aspecto de la presente invención. Las Figuras 10A-10C son ilustraciones ejemplificativas que en general, representan una ilustración de contenedores en una retícula de imagen durante varios pasos de la búsqueda espacial, de conformidad con un aspecto de la presente invención. Las Figuras 11A-11C son ilustraciones ejemplificativas, que en general representan una ilustración de contenedores que son candidatos para la validación en una retícula de imagen durante la búsqueda espacial, de conformidad con un aspecto de la presente invención. La Figura 12 es una ilustración ejemplif ¡cativa que en general, representa una ilustración de un área de región válida de un contenedor de candidatos, de conformidad con un aspecto de la presente invención. La Figura 13 es una ilustración ejemplificativa que en general, representa una ilustración del agrupamiento del número de golpes de un contenedor candidato, de conformidad con un aspecto de la presente invención. La Figura 14 es un diagrama de flujo que por lo general, representa una modalidad de los pasos llevados a cabo para llevar a cabo la búsqueda de orden de tiempo, de conformidad con un aspecto de la presente invención. La Figura 15 es un diagrama de flujo, que en general, representa una modalidad de los pasos llevados a cabo para la detección de un contenedor, de conformidad con un aspecto de la presente invención. La Figura 16 es una ilustración ejemplificativa, que en general, representa la detección de un contenido del contenedor, de conformidad con un aspecto de la presente invención. La Figura 17 es un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para la detección de conectores en una entrada de tinta, de conformidad con · un aspecto de la presente invención.
Las Figuras 18A-18B son ilustraciones ejemplificativas que en general, representan una ilustración de la detección de un conector en una retícula de imagen, de conformidad con un aspecto de la presente invención. Las Figuras 19A-19B son ilustraciones ejemplificativas que en general, representa una ilustración de los candidatos de conector en una retícula de imagen, de conformidad con un aspecto de la presente invención. Las Figuras 20A-20C son ilustraciones ejemplificativas que en general representan la ilustración de candidatos de conector válidos y no válidos, de conformidad con la presente invención. La Figura 21 es una ilustración ejemplif ¡cativa que por lo general representa una relación estructural de los objetos escritos a mano en una entrada de tinta después de llevar a cabo la detección de un objeto dibujado de conformidad con un aspecto de la presente invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN AMBIENTE OPERATIVO EJEMPLIFICA 77 VQ La Figura 1 ilustra un ejemplo de un ambiente 100 de un sistema de computación adecuado en donde se puede implementar la invención. El ambiente 100 del sistema de computación es solamente un ejemplo de un sistema de computación y no tiene la intención de sugerir ninguna limitación al alcance de uso o funcionalidad de la invención. Tampoco, el ambiente 100 computación se debe interpretar como dependiente o con la necesidad de un requerimiento relacionado con cualquiera o una combinación de sus componentes ilustrados en el ambiente 100 operativo ejemplificativo. La invención opera con varios ambientes o configuraciones del sistema de computación de propósitos generales o de propósitos especiales. Los ejemplos de los sistemas de computación bien conocidos y/o configuraciones de computación y que pueden ser apropiados para usarse con la invención incluyen sin limitar computadoras personales, computadoras de servidor, dispositivos portátiles o manuales, sistemas multiprocesadores, sistemas con base de multiprocesadores, transcodificadores (cajas sobrepuestas), electrónicos consumibles programables, PC en red, minicomputadoras, computadoras principales, ambientes de computación distribuida que incluyen cualquiera de los sistemas o dispositivos anteriores o sus semejantes. La invención se puede describir en el contexto general de instrucciones ejecutables por computadora, como módulos de programa, a ser ejecutados por la computadora. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y demás que llevan a cabo tareas particulares o implementan tipos de datos abstractos. La invención se puede practicar en ambientes de computación distribuida en donde las tareas se llevan a cabo por dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones.
En un ambiente de computación distribuida, los módulos de programa se pueden ubicar en un medio de almacenamiento de computación local o remoto, incluyendo dispositivos de almacenamiento de memoria. Con referencia a la Figura 1, un sistema ejemplificativo para implementar la invención incluye un dispositivo de computación de propósitos generales en forma de una computadora 110. Los componentes de la computadora 110 pueden incluir pero no se limitan a una unidad 120 de procesamiento, una memoria 130 del sistema y una barra colectora 121 del sistema que acopla los diferentes componentes del sistema incluyendo a la memoria del sistema con la unidad 120 de procesamiento. La barra colectora 121 del sistema puede ser de cualquier tipo de estructuras de barra colectora incluyendo una barra colectora de memoria o un controlador de memoria, una barra colectora periférica, y una barra colectora local que utiliza una variedad de arquitecturas de barra colectora. A manera de ejemplo, sin limitar, tales arquitecturas incluyen la barra colectora de Arquitectura de Norma Industrial (ISA), barra colectora de Arquitectura de Micro Canal (MCA), barra colectora de ISA Mejorada (EISA), barra colectora local de la Asociación de Normas electrónicas de Video (VESA), y barra colectora de Interconexión de Componentes Periféricos (PCI), también conocida como barra colectora Mezzanine. La computadora 110 típicamente incluye una variedad de medios legibles por computadora. El medio legible por computadora puede ser cualquier medio disponible que pueda tener acceso por medio de la computadora 110 e incluye medios volátiles y no volátiles, medios retirables y no retirables. A manera de ejemplo, sin limitar el medio legible por computadora puede comprender un medio de almacenamiento de computadora y un medio de comunicación. El medio de almacenamiento de la computadora incluye medios volátiles y no volátiles, medios retirables y no retirables im plementados por cualquier método o tecnología para el • almacenamiento de información como instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos. El medio de almacenamiento de la computadora incluye, pero no se limita a RAM, ROM, EEPROM, memoria flash u otra tecnología de memorias, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, cartuchos magnéticos, cintas magnéticas, almacenamiento de disco magnético, otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda utilizar para almacenar la información deseada y que pueda tener acceso mediante la computadora 110. Los medios de comunicación típicamente incorporan instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos en una señal de datos modulada como una onda portadora u otro mecanismo de transporte e incluye un medio de entrega de información. El término " señal de datos modulada" significa una señal que tiene una o más de sus características ajustadas o cambiadas de tal forma que pueda codificar la información de la señal. A manera de ejemplo, no limitante, el medio de comunicación incluye medios cableados como una red cableada o una conexión directa, y medios inalámbricos como un medio inalámbrico acústico, RF, infrarrojo, u otro medio inalámbrico. Las combinaciones de cualesquiera de los anteriores ¦ también deben estar incluidas dentro del alcance de los medios legibles por computadora. La memoria 130 del sistema incluye un medio de almacenamiento de la computadora en forma de una memoria volátil o no volátil como una memoria de solamente lectura (ROM) 131, y una memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS) que contiene las rutinas básicas que ayudan a la transferencia de información entre los elementos dentro de una computadora 110, como durante el inicio, y típicamente se almacena en una ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que tienen acceso inmediato y/o que se operan en la unidad 120 de procesamiento. A manera de ejemplo, sin limitar, la Figura 1 ilustra un sistema 134 operativo, los programas 135 de aplicación, otros módulos 136 de programa y datos 137 de programa. La computadora 110 también puede incluir otros medios de almacenamiento de computadora retirables/no retirables, volátiles/no volátiles. Solamente como ejemplo, la Figura 1 ilustra una unidad 141 de disco duro que lee y escribe sobre un medio magnético no- retirable, no-volátil, una unidad 151 de disco magnético que lee o escribe en un disco 152 magnético retirable, no volátil, y una unidad 155 de disco óptico que lee y escribe en un disco 156 óptico retirable, no volátil, como un CD-ROM u otro medio óptico. Otros medios de almacenamiento de computadora retirables/no retirables, volátiles/no volátiles que se pueden utilizar en el ambiente operativo ejemplificativo incluyen, pero no se limitan a, cartuchos de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cintas de video digital, RAM de estado sólido, ROM de estado sólido y sus semejantes. La unidad 141 de disco duro típicamente se conecta con la barra colectora 121 del sistema a través de una interfaz de memoria no retirable como la ¡nterfaz 140, y la unidad 151 de disco magnético y la unidad 155 de disco óptico se conectan típicamente, con la barra colectora 121 del sistema mediante una interfaz de memoria retirable, como la interfaz 150. Las unidades y sus medios de almacenamiento de computadora asociados, antes descritos e ilustrados en la Figura 1, proporcionan el almacenamiento de las instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad 141 de disco duro se ilustra almacenando al sistema 144 operativo, a los programas 145 de aplicación, otros módulos 146 de programa y los datos 147 del programa. Se debe observar que estos componentes pueden ser los mismos o diferentes al sistema 134 operativo, los programas 135 de aplicación, otros módulos 136 de programa, y datos 137 de programa. El sistema 144 operativo, los programas 145 de aplicación, otros módulos 146 de programa y los datos 147 de programa tienen diferentes números de referencia con el fin de ilustran son diferentes copias, como mínimo. Un usuario puede introducir comandos e información dentro de la computadora 110 a través de los dispositivos de entrada como un teclado o digitalizador 164 electrónico, un micrófono 163, un teclado 162 y un dispositivo 161 puntero, comúnmente llamado mouse, una bola seguidora o una pantalla de tacto. Otros dispositivos de entrada no mostrados en la Figura 1, pueden incluir una palanca de comandos, un cojín de juegos, un disco satelital, un escáner o otros dispositivos que incluyan un dispositivo que contenga un sensor biométrico, un sensor ambiental, un sensor de posición u otro tipo de sensor. Estos y otros dispositivos de entrada con frecuencia se conectan con la unidad 120 de procesamiento a través de una interfaz 160 de entrada del usuario que se acopla con la barra colectora del sistema, pero se pueden conectar con otra interfaz y estructuras de barra colectora, como un puerto paralelo, un puerto de juegos o una barra colectora en serie universal (USB). Un monitor 191 u otro tipo de dispositivo de despliegue también se conecta con la barra colectora 121 del sistema a través de una interfaz, como una interfaz 190 de video. El monitor 191 puede estar integrado con un panel de pantalla de tacto o su semejante, Se debe observar que el monitor y/o el panel de la pantalla de tacto pueden acoplarse físicamente con un alojamiento, en donde se incorpora el dispositivo 110 de computación, como una computadora personal tipo tablet. Además, las computadoras como el dispositivo 110 de computación puede incluir otros dispositivos periféricos de salida como bocinas 195 e impresoras 196, que se pueden conectar a través de una interfaz 194 periférica de salida o su semejante. La computadora 110 puede operar en un ambiente de redes con el uso de conexiones lógicas a una o más computadoras remotas, como una computadora 180 remota. La computadora 180 remota puede ser una computadora personal, un servidor, un enrutador, una PC en red, un dispositivo adjunto o un nodo común de red, y típicamente incluye muchos o todos los elementos descritos antes con relación a la computadora 110, aunque solamente se ha ilustrado un dispositivo de memoria 181 en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 171, y una red de área amplia (WAN) 173, pero también pueden incluir otras redes. Tales ambientes de redes son comunes en oficinas, redes de computación a nivel mundial, intranets y la Internet. Cuando se utiliza en una ambiente de red LAN, la computadora 110 se conecta con la LAN 171 a través de una interfaz o adaptador 170 de red. Cuando se utiliza en un ambiente de red WAN, la computadora 110 típicamente incluye un módem 172 u otro medio para establecer las comunicaciones sobre la WAN 173, como la Internet. El módem 172 que puede ser interno o externo, puede conectarse con la barra colectora 121 del sistema a través de una interfaz 160 de entrada del usuario, u otro mecanismo adecuado. En un ambiente de red, los módulos de programa ilustrados con relación a la computadora 110, o porciones de la misma se pueden almacenar en el dispositivo de almacenamiento de memoria remota. A manera de ejemplo y sin limitar, la Figura 1 ilustra programas 185 de aplicación remota residiendo en un dispositivo 181 de memoria. Se debe apreciar que las conexiones de red mostradas son ejemplificativas y se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras.
DETECCIÓN DE UN OBJETO DIBUJADO A MANO La presente invención está dirigida por lo general a un sistema y método para detectar un dibujo como un diagrama en entrada de tinta. Como se utiliza aquí, un objeto dibujado a mano significa cualquier forma o dibujo sin caracteres. Un usuario puede dibujar diagramas y diagrama de flujo libremente sin restricciones en la entrada de dibujo. Una forma puede tener muchos golpes y el orden de entrada de los golpes puede ser arbitrario, de modo que el sistema y método pueden aceptar cualquier tinta como entrada. Como se utiliza aquí, tinta se refiere en general, a un golpe o golpes escritos a mano. Además, los golpes pueden estar sobretrazados o traslapados. En cualquier caso, el sistema y método pueden detectar automáticamente las formas correctas. En especial, el sistema y método puede detectar una forma dibujada a mano de contenedores y conectores dibujados entre contenedores para el reconocimiento de forma. Como se utiliza aquí, el contenedor significa cualquier objeto dibujado cerrado. Como se utiliza aquí, el conector significa cualquier objeto dibujado que une los contenedores. Como se podrá entender, los diferentes diagramas de flujo, diagramas en bloque y escenarios descritos aquí son solamente ejemplificativos, y pueden haber diferentes escenarios en los cuales aplique la presente invención. Con referencia a la Figura 2 de los dibujos, se muestra un diagrama en bloque que en general, representa una arquitectura ejemplificativa de los componentes del sistema para la detección y reconocimiento de forma de objeto dibujado a mano. Las personas experimentadas en la técnica reconocerán que la funcionalidad implementada dentro de los bloques ilustrados en el diagrama puede implementarse como componentes separados, o la funcionalidad de varios o todos los bloques se puede implementar dentro de un único componente. Por ejemplo, la funcionalidad para el detector 204 de diagrama se puede incluir en un reconocedor 206 de forma. De otra forma, la funcionalidad del detector 212 del contenedor puede implementarse como un componente separado. El analizador 202 de tinta puede aceptar cualquier tinta, incluyendo tinta con un objeto dibujado. El analizador 202 de tinta puede incluir un detector 204 de diagrama acoplado en forma operativa y un reconocedor 206 de forma acoplado en forma operativa. En general, el detector 204 de diagrama y el reconocedor 206 de forma pueden ser cualquier tipo de código de programa ejecutable como un componente núcleo, un programa de aplicación, una biblioteca enlazada, un objeto y demás. El detector 204 de diagrama puede incluir un detector 212 de contenedor acoplado en forma operativa y un detector 214 de conector acoplado en forma operativa, y el reconocedor 206 de forma puede incluir un reconocedor 208 de contenedor acoplado en forma operativa y un reconocedor 210 de conector acoplado en forma operativa. El reconocedor 208 de contenedor puede incluir cualquier número de clasificadores acoplados en forma operativa como un clasificador 216 de elipse/círculo, un clasificador 218 de polígonos, un clasificador 220 de triángulos, un clasificador 222 de cuadriláteros y demás. El reconocedor 210 de conector puede incluir cualquier número de reconocedores acoplados en forma operativa como un reconocedor 224 de esqueleto, un reconocedor 226 de flechas, y demás. Cada uno de estos componentes puede ser cualquier tipo de código de programa ejecutable como un componente núcleo, un programa de aplicación, una biblioteca enlazada, un objeto u otro tipo de código de programa ejecutable. La Figura 3 presenta un diagrama de flujo que en general, representa los pasos llevados a cabo para la detección y reconocimiento de forma de objeto dibujado a manos. En el paso 302, se puede analizar la tinta, incluyendo la tinta con un objeto dibujado. Por ejemplo, en una modalidad, una página de tinta se puede aceptar como entrada y se puede analizar. En esta modalidad, el analizador de tinta, por ejemplo, puede no tener ningún conocimiento a priori de la tinta en la página. Por lo tanto, los algoritmos fundamentales, como el agrupamiento de palabras, la clasificación de escritura/dibujo y el agrupamiento de dibujo se pueden ejecutar. Con el fin de llevar a cabo el agrupamiento de palabras, los golpes se pueden agrupar en jerarquías de palabras, líneas y bloques. Para hacer esto, el proceso de agrupamiento de palabras puede incluir la característica de extracción de golpes para capturar la distancia, la disimilitud geométrica y la linealidad y otras características de golpe. El proceso de agrupamiento de palabras puede también incluir la programan dinámica para agrupar los golpes de conformidad con la información temporal. El proceso de agrupamiento de palabras puede también formar conjuntos para agrupar los golpes de conformidad con la información espacial. Las palabras, las líneas y los bloques identificados en los grupos no necesariamente corresponden a las palabras, líneas y bloques semánticos reales. De hecho, estos grupos pueden incluir golpes de estructuras escritas a mano tal como una lista. Para llevar a cabo la clasificación de escritura/dibujo, se pueden identificar varias características que pueden diferenciar la escritura del dibujo. Por ejemplo, las características de una sola palabra como su curvatura, densidad y otras características de modelos de escritura se pueden utilizar para diferenciar la escritura ' de un dibujo. En una modalidad, las características de contexto como las características de contexto espacial y temporal, se pueden utilizar para diferenciar la escritura del dibujo. Cada una de las diferentes características se puede explorar con una función difusa, y se puede determinar la clasificación entre la escritura y el dibujo de conformidad con una combinación de funciones difusa.
Después de llevar a cabo el agrupamiento de palabras y la clasificación de escritura/dibujo, los golpes de dibujo se pueden organizar bien al llevar a cabo un agrupamiento de dibujo. Para llevar a cabo el agrupamiento de dibujo, los golpes de dibujo se pueden agrupar en objetos independientes de conformidad con la relación espacial entre ellos. Una medida efectiva con base en retícula se puede utilizar para ajustar los golpes de tinta dentro de una retícula de imagen con el tamaño apropiado. La retícula de imagen puede estar etiquetada para encontrar los componentes relacionados. Cada componente relacionado puede corresponder a un objeto de dibujo. Después, se pueden aplicar reglas heurísticas para ajustar los objetos de dibujo. En el paso 304, la detección de diagrama se puede llevar a cabo para agrupar los golpes de dibujo al encontrar todos los golpes que pueden pertenecer a un objeto dibujado. De este modo, el usuario puede dibujar diagramas y diagramas de flujo libremente sin restricción en la entrada. Por ejemplo, una forma puede tener muchos golpes y el orden de entrada puede ser arbitrario. Además, los golpes se pueden volver a trazar o traslaparse. Para cualquiera de los casos, el sistema puede detectar automáticamente las formas correctas. En una modalidad, se puede utilizar una hipergrafía para representar los diagramas de flujo para que la relación entre los contenedores y los conectores se pueda representar por completo. De este modo, los conectores que se pueden enlazar con más de dos contenedores pueden quedar soportados en esta modalidad.
En una modalidad, el detector 212 de contenedor puede encontrar todos los golpes que pertenecen a un contenedor y el detector 214 de conector puede encontrar todos los golpes que pertenecen a un conector. Para hacer esto, se puede llevar a cabo una búsqueda óptima en el orden de tiempo para detectar cualquier contenedor. Una búsqueda efectiva puede llevarse a cabo para detectar contenedores y conectores. Por último, la detección de contenido se puede llevar a cabo para cada contenedor detectado. En el paso 306, se puede llevar a cabo el reconocimiento de forma para reconocer contenedores y conectores. Después de que se han agrupado todos los golpes para cada contenedor y cada conector, el motor 206 de reconocimiento de forma, en una modalidad, se puede utilizar para reconocer los contenedores cerrados y los conectores no cerrados en un dibujo como un diagrama. Cuando se reconocen, se puede proporcionar el tipo, ubicación, orientación y tamaño de la forma. Con ventaja, el orden de la entrada de golpes y el número de golpes no afecta el reconocimiento. Cuando se ha llevado a cabo el reconocimiento de forma para reconocer los contenedores cerrados y los conectores no cerrados, en el paso 308 se puede generar el dibujo. La Figura 4 presenta una ilustración ejemplificativa, que por lo general, representa la relación estructural de los objetos dibujados a mano en una entrada de tinta para usarse en la detección y reconocimiento de forma de objetos dibujados a mano. La raíz 402 puede representar la entrada de tinta, como una página de entrada de tinta, que puede incluir uno o más objetos dibujados como los objetos 404 y 406 de dibujo. Ei objeto dibujado a mano 404 puede tener un contenido asociado tal como texto, el cual puede estar representado estructuralmente por un párrafo 408 que puede estar hecho de una línea 410 que tenga una palabra 412 formada por golpes 414. Los objetos dibujados 404 y 406 pueden ser detectados y reconocidos al llevar a cabo la detección y reconocimiento de forma de los objetos dibujados a mano dentro de la entrada de tinta. Los objetos dibujado a manos pueden ser un dibujo como un diagrama que típicamente incluye contenedores y conectores. Las Figuras 5A-5C proporcionan ilustraciones ejemplificativas que en general, representan tipos de contenedores en una entrada de tinta soportada para la detección y reconocimiento de forma de objeto dibujado a manos. Los contenedores soportados que en ser detectados y reconocidos pueden ser cualquier tipo de contenedor que pueda formar un área encerrada. Los ejemplos de tales contenedores pueden ser el contenedor 502 de la Figura 5A, el contenedor 504 de la Figura 5B, y el contenedor 506 de la Figura 5C. El contenido, tal como el texto, se puede incluir dentro de un área encerrada del contenedor. Las Figuras 6A-6D proporcionan ilustraciones ejemplificativas que en general, representan tipos de conectores en una entrada de tinta soportada para la detección y reconocimiento de forma de los objetos dibujados a mano. Los conectores soportados que se pueden detectar y reconocer pueden · ser cualquier tipo de conector que une dos o más contenedores. Tal conector puede no incluir flechas como el conector 606 de la Figura 6A, puede incluir una flecha tal como el conector 612 en la Figura 6B, dos flechas como el conector 618 de la Figura 6C, o tres flechas como el conector 626 de la Figura 6D. Un conector puede incluir tantas flechas como contenedores unidos. La Figura 7 presenta un diagrama de flujo, que por lo general, ¡lustra una modalidad de los pasos llevados a cabo para la detección de diagramas con contenedores y conectores. La detección de contenedores puede llevarse a cabo en el paso 702, para cada contenedor en el objeto dibujado. Entonces, se puede llevar a cabo la detección de conector para cada conector en el objeto dibujado en el paso 704. En general, los contenedores en el objeto dibujado se pueden considerar como islas en un plano bi-dimensional con los conectores que forman puentes entre ellas. En una modalidad, los golpes del objeto dibujado se pueden colocar en una retícula de imagen y se puede utilizar un algoritmo de llenado para detectar los contenedores y los conectores. La Figura 8 presenta un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para la detección de contenedores en la entrada de tinta. En el paso 802, se puede llevar a cabo la búsqueda espacial para detectar contenedores. Con ventaja, la búsqueda espacial puede manejar la entrada arbitraria de golpes y sobre-trazar los golpes. Debido a que la búsqueda de orden de tiempo es más apropiada para manejar el traslape de golpes, en el paso 804 también se puede llevar a cabo la búsqueda de orden de tiempo para detectar los contenedores dibujados con golpes consecutivos que se traslapan. Cualquier contenedor adicional encontrado al llevar a cabo la búsqueda de orden de tiempo se puede marcar en la retícula de imagen utilizada para la búsqueda espacial, de modo que todos los contenedores encontrados se puedan incluir en la retícula de imagen para usarse más tarde durante la detección de contenido y la detección de conector. En el paso 806, la detección de contenido se puede llevar a cabo para cualquier contenedor. En este paso, se puede determinar si cualquier contenido, como una palabra reconocida, que puede pertenecer a un contenedor al calcular el área de intersección de su caja de límites de cada contenedor. La Figura 9 presenta un diagrama de flujo, que en general, representa una modalidad de los pasos llevados a cabo para llevar a cabo la búsqueda espacial para detectar contenedores. En el paso 902, se puede generar una retícula de imagen y ios golpes del objeto dibujado se pueden colocar en la retícula generada. En una modalidad, el tamaño de la retícula se puede ajustar a un valor apropiado para eliminar los huecos entre los golpes del contenedor, pero aun así dejar un área libre en los interiores de los contenedores. Para seleccionar un valor apropiado, el tamaño de retícula se puede determinar empíricamente al revisar los datos de prueba para asegurar que son posibles tantos contenedores como los que se puedan detectar. Como resultado de tal determinación, el tamaño de retícula se puede ajustar a 2.5 tiempo. Las retículas que se intersecan con el golpe de dibujo se pueden marcar en el paso 904. Con el fin de revisar cuáles retículas intersecan con los golpes de dibujo, los golpes de dibujo pueden volverse a muestrear de conformidad con un tamaño de paso uniforme y se puede revisar la posición en donde se ubican los puntos re-muestreados en la retícula de imagen. Como se ilustra en la Figura 10A, las retículas que intersecan con los golpes de dibujo de los contenedores 1004, el conector 1006 y el contenedor 1008 se marcan en la retícula 1002 de imagen. Los contenedores 1004 y 1008 se vuelven en 8 áreas vecinas conectadas en la retícula 1002 de imagen. Al empezar con los bordes exteriores de la retícula de imagen, las retículas en blanco más exteriores pueden ser llenadas en el paso 906 hasta que alcancen las retículas marcadas que intersecan con los golpes de dibujo. Como se ¡lustra en la Figura 10B, los contenedores 1004 y 1008 pueden parecer islas de retículas en blanco en la retícula 1002 de imagen. En el paso 908, las islas de retículas en blanco se pueden llenar. Para cada isla, se puede seleccionar una retícula en blanco interior como la retícula de inicio desde la cual se pueden llenar todas las retículas en blanco adyacentes hasta que alcance el borde formado por las retículas que intersecan con algunos golpes. Cuando se alcanza el borde de una isla, se registran los golpes que forman el candidato de contenedor. Por ejemplo, la Figura 10C ilustra las islas de los contenedores 1004 y 1008 como llenas. Los bordes alrededor de las islas llenas intersecan con los golpes de dibujo de los contenedores candidatos.
El paso de llenar las islas de las retículas en blanco puede dar como resultado en la identificación de contenedores candidatos que pueden no ser contenedores válidos. Por lo tanto, los contenedores candidatos pueden revisarse para confirmar que son contenedores válidos en el paso 910. Los golpes de dibujo para cada contenedor candidato puede tener golpes que estén fuera de las retículas de borde de una isla llena. Por ejemplo, la Figura 11A ilustra una retícula 1102 de imagen con un contenedor candidato 1108 que tiene golpes 1104 y 1112, que están fuera de las retículas 1106 de borde que rodean las islas 1110 llenas. Para todas las retículas que intersecan un golpe del contenedor candidato, las retículas que están adyacentes a una retícula isla llena se pueden definir como válidas y otras se pueden definir como no válidas. Cuando la proporción de retículas no válidas a las retículas válidas sea mayor que un valor empírico, tal como 0.2, el golpe correspondiente se puede definir como no válido. Tales golpes no válidos pueden retirarse. Por ejemplo, los golpes 1104 y 1112 en la Figura 11A son golpes no válidos. Después de retirar todos los golpes no válidos, el candidato contenedor es válido cuando esté cerrado (es decir, forme un área encerrada). Para determinar si el contenedor sigue cerrado, se pueden utilizar los mismos pasos usados para la detección de contenedor de la Figura 9. Esto es, la isla de retículas en blanco del candidato contenedor se pueden llenar y si existen retículas en blanco fuera de la isla, éstas se pueden alcanzar, se puede determinar que el candidato contenedor ya no está cerrado.
Un contenedor cerrado válido puede incluir otros golpes de dibujo como los golpes de dibujo internos o puede compartir los golpes de dibujo con otro candidato contenedor. En caso de que el contenedor válido incluya golpes de dibujo internos, los golpes de dibujo internos se pueden tratar en una modalidad como el contenido de ese contenedor como se ilustra en la Figura 11B. El contenedor 1116 en la retícula 1114 de imagen incluye golpes 1118 de dibujo internos, que se pueden tratar como el contenido del contenedor 1116. En un caso en donde el candidato contenedor comparta los golpes de dibujo con otro candidato contenedor, los golpes compartidos se pueden separar en una modalidad y determinarse para pertenecer a uno de los contenedores candidato. Por ejemplo, la Figura 11C ilustra los candidatos 1122 y 1124 del contenedor en la retícula 1120 de imagen, en donde parte de los bordes válidos se comparten por cada candidato contenedor. Existen dos golpes de dibujo que intersecan las retículas de la porción compartida del borde. Para cada golpe en la porción compartida del borde, los puntos del golpe de dibujo se vuelven a muestrear y se calcula la distancia promedio hasta el centro de cada contenedor candidato. El golpe de dibujo se asigna como perteneciendo a un contenedor candidato con la distancia promedio más corta hasta su centro. Cuando el contenedor candidato ya no está cerrado como resultado de perder el golpe de dibujo, se puede convertir en un contenedor candidato no válido. Sin embargo, como se ilustra en la Figura 11C, los dos golpes de dibujo que intersecan con la porción compartida del borde válido de los candidatos 1122 y 1124 de contenedor pueden cada uno ser asignado, respectivamente, como perteneciendo al candidato contenedor con la distancia promedio más corta hasta su centro. Ambos candidatos contenedores puede permanecer cerrados y aún así ser válidos ya que cada uno está asignado con uno de los dos golpes de dibujo. En una modalidad, también se puede llevar a cabo la búsqueda de orden de tiempo después de la búsqueda espacial, ya que la búsqueda de orden de tiempo es más apropiada para manejar el traslape de golpes. En general, los contenedores formados de una secuencia de golpes consecutivos se puede encontrar con el uso de la búsqueda de orden de tiempo al determinar la probabilidad de que una secuencia de golpes de entrada forme un contenedor. En esta modalidad, p(i,j) pueden representar la probabilidad de que (i, j), una secuencia de golpe de entrada desde i hasta j, pueda ser un contenedor. P(i.j) se define como: en donde vb es una proporción válida de borde, va es la proporción válida de área, s(i,j) es el número de golpes, w w2, y w3 son las ponderaciones; VB y VA son los umbrales para vb y va, respectivamente. Una proporción válida de borde se puede definir como vb- longitud válida de borde/ longitud total de borde. Un área no válida de región de un candidato contenedor se puede definir como la región que interseca algunos de los golpes de dibujo internos que no pertenecen al candidato contenedor, y el área válida de región se puede definir como el área dentro de candidato contenedor menos cualquier área de región no válida. La proporción • de área válida se puede definir como: va= área válida de región/área total. La Figura 12 presenta una ilustración ejemplificativa de un área 1204 válida de región de un contenedor 1202 candidato que incluye un área no válida de región que interseca con golpes 1206 de dibujo internos. Las personas experimentadas en la técnica podrán apreciar que las características de longitud de borde válida, la longitud total de borde, el área válida de región y el área total se pueden determinar con el uso de una retícula de imagen con el mismo proceso utilizado para identificar los bordes de los contenedores candidato durante la búsqueda espacial así como se describió con referencia a la Figura 9. Los valores empíricos se pueden utilizar para VB y VA, tal como 0.15 y 0.25, y se pueden utilizar valores empíricos de 0.4, 0.4 y 0.2 para las ponderaciones Wi, w2, w3. El número de golpes s(i,j) se puede definir como: s(i, j) = j - i + 1. La característica de un número de golpes se puede utilizar para evitar el mal programa de cualquier golpe pequeño cerca del contenedor, como se ilustra en la Figura 13. El número de . golpes utilizado para formar el contenedor 1302 puede determinarse para la región 1308 circundante y distinguirse del número de golpes encontrados en la región 1306 que forma el contenedor 1302 y parte del conector 1304. La Figura 14 presenta un diagrama de flujo, que por lo general representa una modalidad de los pasos llevados a cabo para la búsqueda de orden de tiempo. En el paso 1402, la proporción válida • de borde vb, se puede determinar. En el paso 1404, se puede determinar la proporción válida de área va. En el paso 1406, se puede determinar el número de golpes s(i,j), en el paso 1408 se pueden determinar los contenedores desde la secuencia de golpes de entrada. En una modalidad, los contenedores se pueden encontrar en la secuencia de golpes de entrada (m,n) al resolver P(m,n). Para la segmentación de la secuencia de golpes de entrada (m,n) dentro de las sub-secuencias k, ¡ i2, .../'*. P(m,n) se puede definir como: P{m i) Los golpes de entrada se pueden agrupar en contenedores correctos al calcular P(m,n). En una modalidad, se puede utilizar la programación dinámica para calcular P(m,n), en donde P(m,n) se puede expresar como un procedimiento recurrente definido como: Cualquier contenedor adicional encontrado al llevar a cabo la búsqueda de orden de tiempo se puede marcar en la retícula de imagen utilizada para la búsqueda espacial, de modo que todos los contenedores encontrados se pueden incluir en la retícula de imagen para un uso posterior durante la detección de contenido y la detección del conector. Después de llevar a cabo ia búsqueda espacial y la búsqueda de orden de tiempo, para detectar contenedores, se puede llevar a cabo la detección de contenido en la retícula de imagen para cualquier contenido, como una palabra reconocida que pueda pertenecer a un contenedor. Por ejemplo, una palabra escrita puede revisarse para verificar si pertenece a un contenedor, esto se lleva a cabo al calcular el área de intersección de su caja de límites y las retículas de borde de un contenedor. La Figura 15 presenta un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para desarrollar la detección de contenido de un contenedor. En el paso 1502, se puede determinar un rectángulo limitante mínimo y su área para cualquier texto identificado en la retícula de imagen En el paso 1504, se puede determinar el área de intersección del rectángulo limitante mínimo con cada contenedor. En el paso 1506, se puede calcular la proporción del área de intersección y el área del rectángulo limitante mínimo. El contenedor con la proporción de intersección más alta será seleccionado como el contenedor para el cual pertenece el contenido en el paso 1508. Por ejemplo, la Figura 16 ilustra el rectángulo 1606 limitante rodeando la palabra "hola" en la retícula 1602 de imagen. La palabra "hola" puede determinarse que pertenece al contenedor 1604, ya que la proporción de intersección con el contenedor 1604 es más alta que la proporción de intersección con el contenedor 1608. En una modalidad, también se puede requerir que la proporción de intersección sea más alta que el umbral empírico, como el de 0.55.
Una vez que los contenedores y su contenido asociado han sido detectados en la retícula de imagen, se puede llevar a cabo la detección del conector. La Figura 17 presenta un diagrama de flujo que en general, representa una modalidad de los pasos llevados a cabo para la detección de conectores en una entrada de tinta. Por lo general, se puede realizar una búsqueda en la retícula de imagen que ha sido marcada con los contenedores para detectar algún conector entre las retículas de los golpes de dibujo no visitados que incluyen todos los golpes sin contenedor. Debido a que algunos usuarios tienden a dibujar conectores muy pequeños, que pueden estar lejos de los contenedores, los contenedores se pueden ampliar para que los conectores queden adyacentes a los contenedores correspondientes. La Figura 18A ilustra una retícula 1802 de imagen que tienen retículas llenas entre las retículas no visitadas que intersecan con el conector 1806 y los bordes marcados de los contenedores 1804 y 1808. Para detectar al conector, los contenedores aislados que no están adyacentes a los golpes de dibujo no visitados se pueden ampliar con retículas marcadas que rodean el borde de los contenedores en el paso 1702. El proceso de ampliación se puede detener cuando se alcance una retícula no visitada u otro contenedor. De esta manera, los conectores pueden estar adyacentes a los contenedores ampliados correspondientes, según se ¡lustra en la Figura 18B. Los contenedores mostrados en la retícula 1810 de imagen de la Figura 18B tienen sus bordes rodeados con retículas marcadas para crear contenedores 1812 y 1816 ampliados. Como resultado, las retículas que intersecan con los golpes de dibujo no visitados del conector 1814 pueden ahora estar adyacentes a las retículas de los contenedores ampliados. En el paso 1704 de la Figura 17, las retículas no visitadas se pueden llenar. Una retícula no visitada se selecciona como la retícula de inicio desde la cual se pueden llenar todas las retículas no visitadas. Cuando las retículas llenas alcanzan dos o más contenedores, incluyendo los contenedores ampliados, entonces se registran los golpes de dibujo correspondientes como un candidato de conector. Como se ilustra en la retícula 1902 de imagen de la Figura 19A, las retículas llenas entre los contenedores 1904 y 1908 ampliados forman un candidato 1906 conector. En una modalidad, los bordes de los contenedores en una retícula de imagen pueden ya estar adyacentes con los golpes de dibujo no visitados que forman un conector. En este caso, las retículas no visitadas se pueden llenar sin primero ampliar los contenedores. La Figura 19B ilustra este caso en la retícula 1910 de imagen en donde las retículas llenas pueden formar un candidato 1914 conector entre los contenedores 1912 y 1916 sin ampliación. El paso de llenar las retículas no visitadas de los golpes de dibujo puede dar como resultado en la identificación de conectores candidato que pueden ser conectores no válidos. Por lo tanto, los conectores candidato se pueden revisar para confirmar que son conectores válidos en el paso 1706. Un conector candidato puede ser no válido cuando el conector candidato tiene golpes de dibujo que no conectan con el contenedor. En una modalidad para detectar que puede haber golpes de dibujo del conector candidato que no conectan con el contenedor, una ventana desplegable se puede mover junto con el conector candidato para verificar que el número de puntos de intersección de los golpes de dibujo con el borde de la ventana desplegable, no excede al número de contenedores adyacentes que el conector candidato puede unir. El tamaño de la ventana desplegable se puede ajustar para ser un tamaño empírico para evitar una intersección falsa con las variaciones locales. En una modalidad, el radio de la ventana puede ser de 4 tiempo. Por ejemplo, se supone que el conector candidato une N contenedores ( N > = 2), y es el número de puntos de intersección de los golpes de dibujo del conector candidato con el borde de la ventana desplegable, el candidato conector se puede considerar como no válido cuando > N en algún punto, mientras la ventana desplegable se mueve a lo largo del candidato conector. Por ejemplo, la Figura 20A ilustra tres posiciones de la ventana 2004 desplegable que se mueve junto con el conector 2010 candidato que une tres contenedores: el contenedor 2002, el contenedor 2006 y el contenedor 2008. En cada posición ¡lustrada, el número de puntos de intersección es menor que el número de contenedores que el conector candidato puede unir. Debido a que el número de puntos de intersección no excede al número de contenedores unidos, el candidato conector es válido. La Figura 20B, por otra parte, ilustra la detección de un candidato 2020 conector no válido, en donde el número de puntos de intersección en el borde de la ventana 2014 desplegable es mayor que el número de contenedores 2012, 2016, y 2018 unidos. Un conector candidato puede también ser no válido cuando incluye un golpe de dibujo que no une a un contenedor. Por ejemplo, la Figura 20C ilustra un golpe de dibujo del conector candidato 2030 en la ventana 2024 desplegable, que no une a ninguno de los contenedores 2022, 2026 y 2028. Como resultado, el conector 2030 candidato es un conector no válido. Una vez que se han detectado los contenedores y conectores, se puede entender la relación estructural del objeto dibujado a mano. La Figura 21 es una ilustración ejemplificativa que por lo general representa la relación estructural de los objetos escritos a mano en una entrada de tinta después de llevar a cabo la detección de un objeto dibujado. La raíz 2002 puede representar una entrada de tinta, como una página de una entrada de tinta, que puede incluir uno o más objetos dibujados como los objetos 2106 dibujados. Un objeto dibujado, como un diagrama 2104 se puede detectar y reconocer al realizar la detección y reconocimiento de forma de los objetos dibujados a mano dentro de la entrada de tinta. El diagrama 2104 se puede formar por contenedores 2108 y 2110 que están unidos por el conector 2112. El contenedor 2108 puede incluir un contenido asociado como texto que se puede representar estructuralmente por un párrafo 2114 que puede estar hecho de una línea 2116 que tiene una palabra 2118 formada por golpes 2120. Después de que todos los contenedores y conectores han sido detectados por el sistema y método descritos, los objetos dibujados a mano dentro de la entrada de tinta se pueden reconocer por completo y se pueden generar. Con el uso de la presente invención, usuario puede dibujar diagramas y diagramas de flujo libremente y sin restricciones en la entrada de escritura a mano. Una forma puede tener muchos golpes y el orden de entrada de los golpes puede ser arbitrario de modo que el sistema y método puede aceptar cualquier tinta como entrada. Además, los golpes se pueden sobre-trazar o traslaparse. Para cualquier caso, el sistema y método pueden detectar automáticamente las formas corregidas. Como se puede observar a partir de la anterior descripción detallada, la presente invención proporciona un sistema y método para la detección de objetos dibujados a mano. Con ventaja, el sistema y método son insensibles al orden de entrada de golpes y el número de golpes que puede formar una forma dibujada a mano. Además, el sistema y método propuestos son flexibles y expansibles. Como se podrá entender, la presente invención se puede utilizar para detectar cualquier contenedor cerrado y conectores no cerrados en un dibujo, incluyendo un diagrama. Una vez detectados, se puede reconocer el tipo, ubicación, orientación y tamaño de la forma. El método y sistema proporcionan ventajas y beneficios importantes, necesarios en la computación contemporánea.
Mientras que la invención es susceptible de varias modificaciones y construcciones alternativas, ciertas modalidades ilustradas de la misma se muestran en los dibujos y han sido descritas con detalle. Sin embargo, se debe entender que no se tiene la intención de limitar la invención a las formas específicas expuestas, por el contrario, la intención es abarcar todas las modificaciones, construcciones alternativas y equivalentes que caigan dentro del espíritu y alcance de la invención.

Claims (40)

REIVINDICACIONES
1. Un sistema de computadora para detectar una forma dibujada a mano, caracterizado porque comprende: un detector de diagrama para recibir una entrada de tinta; un detector de contenedor acoplado en forma operativa con el detector de diagrama para detectar un contenedor cerrado dentro de una entrada de tinta; y un detector de conector acoplado en forma operativa con el detector de diagrama para detectar un conector dentro de la entrada de tinta.
2. El sistema de conformidad con la reivindicación 1, caracterizado porque además comprende un analizador de tinta acoplado en forma operativa con el detector de diagrama para enviar ' una entrada de tinta al detector de diagrama.
3. El sistema de conformidad con la reivindicación 2, caracterizado porque además comprende un reconocedor de forma acoplado en forma operativa con el analizador de tinta para reconocer una forma dibujada a mano.
4. El sistema de conformidad con la reivindicación 3, caracterizado porque el reconocedor de forma comprende un reconocedor de contenedor acoplado en forma operativa con el reconocedor de forma.
5. El sistema de conformidad con la reivindicación 3, caracterizado porque el reconocedor de forma comprende un reconocedor de conector acoplado en forma operativa con el reconocedor de forma.
6. Un medio de computadora caracterizado porque tiene componentes ejecutables por computadora que comprenden el sistema de la reivindicación 1.
7. Un método para detectar una forma dibujada a mano, caracterizado porque comprende: recibir una entrada de tinta; llevar a cabo la detección de contenedor para cada contenedor dentro de la entrada de tinta; y llevar a cabo la detección de conector para cada conector dentro de la entrada de tinta.
8. El método de conformidad con la reivindicación 7, caracterizado porque comprende también analizar la entrada de tinta para diferenciar la escritura del dibujo dentro de una entrada de tinta.
9. El método de conformidad con la reivindicación 7, caracterizado porque comprende llevar a cabo la detección de diagrama para identificar los golpes de un diagrama dentro de la " entrada de tinta.
10. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo el reconocimiento de forma para reconocer la forma de cada contenedor y cada conector dentro de la entrada de tinta.
11 El método de conformidad con la reivindicación 10, caracterizado porque comprende generar un dibujo con cada contenedor y cada conector reconocido dentro de la entrada de tinta.
12. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende llevar a cabo una búsqueda espacial para detectar contenedores.
13. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende generar una retícula de imagen y colocar golpes desde la entrada de tinta en la retícula de imagen generada.
14. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende marcar retículas de una retícula de imagen que están intersecadas por golpes de una entrada de tinta colocada en la retícula de imagen.
15. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende llenar las retículas en blanco más externas de una retícula de imagen hasta que se alcance las retículas marcadas que intersecan con los golpes de una entrada de tinta colocada en la retícula de imagen.
16. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende llenar islas de retículas en blanco de una retícula de imagen hasta que se alcancen las retículas marcadas que intersecan con los golpes de una entrada de tinta colocada en la retícula de imagen.
17. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende verificar que los candidatos de contenedor son contenedores válidos.
18. El método de conformidad con la reivindicación 17, caracterizado porque verificar que los contenedores son válidos comprende revisar que todas las retículas de borde que intersecan con los golpes del candidato de contenedor colocado en una retícula de imagen son adyacentes a las retículas de islas llenas.
19. El método de conformidad con la reivindicación 17, caracterizado porque verificar que los candidatos de contenedor son contenedores válidos comprende retirar cualquier golpe de un candidato contenedor colocado en la retícula de imagen que no intersecan con la retícula de borde en la retícula de imagen.
20. El método de conformidad con la reivindicación 17, caracterizado porque verificar que los candidatos de contenedor son contenedores válidos comprende determinar que los candidatos de ' contenedor son contenedores cerrados.
21. El método de conformidad con la reivindicación 17, caracterizado porque verificar que los candidatos de contenedor son contenedores válidos comprende separar cualquier golpe de dibujo que es compartido entre los candidatos de contenedor.
22. El método de conformidad con la reivindicación 21, caracterizado porque separar cualquier golpe de dibujo comprende calcular la distancia promedio de los puntos de los golpes de dibujo hasta el centro de cada contenedor candidato que comparte los golpes de dibujo y asignar un golpe de dibujo como perteneciendo al candidato contenedor con la distancia promedio más corta de los puntos de golpes de dibujo hasta su centro.
23. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de contenedor comprende llevar a cabo una búsqueda de orden de tiempo para detectar contenedores.
24. El método de conformidad con la reivindicación 23, caracterizado porque llevar a cabo una búsqueda de orden de tiempo comprende calcular una proporción de borde válida definida por una longitud válida de borde dividida por la longitud total de borde, en donde el borde comprende retículas marcadas que intersecan con • golpes de una entrada de tinta colocada en una retícula de imagen.
25. El método de conformidad con la reivindicación 23, caracterizado porque llevar a cabo la búsqueda de orden de tiempo comprende calcular una proporción válida de área definida como un área de región válida dividida por el área total, en donde el área de región comprende un área dentro del borde de retículas marcadas que intersecan con los golpes de la entrada de tinta colocada en una retícula de imagen.
26. El método de conformidad con la reivindicación 23, caracterizado porque comprende llevar a cabo la búsqueda de orden de tiempo comprende determinar los contenedores a partir de los golpes de la entrada de tinta al calcular la probabilidad de que una secuencia de golpes de entrada forme un contenedor.
27. El método de conformidad con la reivindicación 26, caracterizado porque calcular la probabilidad de que una secuencia de golpes de entrada forme un contenedor comprende utilizar la programación dinámica para agrupar los golpes de entrada en segmentos, en donde cada segmento forma un contenedor.
28. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo al detección de contenedor comprende llevar a cabo la detección de contenido para detectar algún contenido que pertenezca al contenedor.
29. El método de conformidad con la reivindicación 28, caracterizado porque llevar a cabo la detección de contenido comprende determinar un rectángulo limitante mínimo que rodea al contenido y calcular su área.
30. El método de conformidad con la reivindicación 28, ' caracterizado porque llevar a cabo la detección de contenido comprende calcular la proporción del área de intersección del rectángulo limitante mínimo con cada contenedor intersecante y seleccionar al contenedor con la proporción más alta de área de intersección del rectángulo limitante mínimo con cada contenedor intersecante.
31. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de conector para cada conector dentro de la entrada de tinta comprende ampliar los contenedores cuyos bordes no estén adyacentes con una retícula que interseca golpes no visitados de la entrada de tinta colocados en la retícula de imagen.
32. El método de conformidad con la reivindicación 31, caracterizado porque ampliar los contenedores comprende marcar retículas que rodean los bordes de los contenedores hasta que se alcanza una retícula que interseca con los golpes no visitados.
33. El método de conformidad con la reivindicación 31, caracterizado porque ampliar los contenedores comprende marcar las retículas que rodean los bordes de los contenedores hasta que se alcance una retícula de borde de otro contenedor.
34. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de conector para cada conector dentro de la entrada de tinta comprende llenar retículas que intersecan con golpes no visitados de una entrada de tinta colocada en una retícula de imagen.
35. El método de conformidad con la reivindicación 7, caracterizado porque llevar a cabo la detección de conector comprende revisar que los candidatos de conector son conectores válidos.
36. El método de conformidad con la reivindicación 35, caracterizado porque revisar que- los candidatos conectores son 46 conectores válidos comprende verificar que los golpes del candidato conector se conectan con un contenedor.
37. El método de conformidad con la reivindicación 35, caracterizado porque revisar que los candidatos de conector son conectores válidos comprende verificar que el número de puntos de intersección de los golpes de un candidato conector no excede el número de contenedores adyacentes que el candidato conector puede unir.
38. El método de conformidad con la reivindicación 37, caracterizado porque verificar que el número de puntos de intersección de golpes de un candidato conector no excede al número de contenedores adyacentes que el candidato conector puede unir, comprende utilizar una ventana desplegable que se puede mover junto con el candidato conector.
39. El medio legible por computadora que tiene instrucciones ejecutables por computadora para llevar a cabo el método de la reivindicación 7.
40. Un sistema de computadora para detectar una forma dibujada a mano, caracterizado porque comprende: un medio para recibir una entrada de tinta; un medio para detectar un contenedor cerrado dentro de la entrada de tinta; y un medio para detectar un conector dentro de la entrada de tinta.
MXPA04009151A 2003-09-24 2004-09-21 Sistema y metodo para detectar un objeto dibujado a mano en una entrada de tinta. MXPA04009151A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US50586603P 2003-09-24 2003-09-24
US10/850,948 US7352902B2 (en) 2003-09-24 2004-05-20 System and method for detecting a hand-drawn object in ink input

Publications (1)

Publication Number Publication Date
MXPA04009151A true MXPA04009151A (es) 2005-06-17

Family

ID=34198319

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04009151A MXPA04009151A (es) 2003-09-24 2004-09-21 Sistema y metodo para detectar un objeto dibujado a mano en una entrada de tinta.

Country Status (10)

Country Link
US (1) US7352902B2 (es)
EP (1) EP1519302B1 (es)
JP (1) JP4723840B2 (es)
KR (1) KR101076901B1 (es)
CN (1) CN100535928C (es)
AU (1) AU2004208732B2 (es)
BR (1) BRPI0404101A (es)
CA (1) CA2481828C (es)
MX (1) MXPA04009151A (es)
RU (1) RU2373575C2 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295708B2 (en) * 2003-09-24 2007-11-13 Microsoft Corporation System and method for detecting a list in ink input
US7324691B2 (en) * 2003-09-24 2008-01-29 Microsoft Corporation System and method for shape recognition of hand-drawn objects
US7586490B2 (en) * 2004-10-20 2009-09-08 Siemens Aktiengesellschaft Systems and methods for three-dimensional sketching
AU2006252019B2 (en) * 2006-12-13 2012-06-28 Canon Kabushiki Kaisha Method and Apparatus for Dynamic Connector Analysis
US8806354B1 (en) * 2008-12-26 2014-08-12 Avaya Inc. Method and apparatus for implementing an electronic white board
KR101189003B1 (ko) 2011-03-30 2012-10-08 케이오씨엠(주) 만화콘텐츠 이미지파일을 모바일용 이미지파일로 변환하는 방법
WO2013191315A1 (ko) * 2012-06-21 2013-12-27 엘지전자 주식회사 디지털 이미지 처리 장치 및 방법
GB201212521D0 (en) * 2012-07-13 2012-08-29 Wapple Net Ltd Drawing package
JP5774558B2 (ja) * 2012-08-10 2015-09-09 株式会社東芝 手書き文書処理装置、方法及びプログラム
JP5787843B2 (ja) * 2012-08-10 2015-09-30 株式会社東芝 手書き描画装置、方法及びプログラム
US9116871B2 (en) * 2013-05-20 2015-08-25 Microsoft Technology Licensing, Llc Ink to text representation conversion
US9524440B2 (en) 2014-04-04 2016-12-20 Myscript System and method for superimposed handwriting recognition technology
US9384403B2 (en) 2014-04-04 2016-07-05 Myscript System and method for superimposed handwriting recognition technology
US9489572B2 (en) 2014-12-02 2016-11-08 Myscript System and method for recognizing geometric shapes
US10643067B2 (en) 2015-10-19 2020-05-05 Myscript System and method of handwriting recognition in diagrams
US10417491B2 (en) 2015-10-19 2019-09-17 Myscript System and method for recognition of handwritten diagram connectors
US10228775B2 (en) * 2016-01-22 2019-03-12 Microsoft Technology Licensing, Llc Cross application digital ink repository
US20180173688A1 (en) * 2016-12-15 2018-06-21 Myscript System and method for management of handwritten diagram connectors
US10402642B2 (en) * 2017-05-22 2019-09-03 Microsoft Technology Licensing, Llc Automatically converting ink strokes into graphical objects
US10817266B2 (en) * 2018-09-25 2020-10-27 Salesforce.Com, Inc. Converting a captured image to visual programming logic for an automation building tool
JP7273291B2 (ja) * 2019-03-22 2023-05-15 フリュー株式会社 ゲームプログラム、方法、および、情報処理装置
US10957080B2 (en) * 2019-04-02 2021-03-23 Adobe Inc. Automatic illustrator guides
EP3736677A1 (en) 2019-05-10 2020-11-11 MyScript A method and corresponding device for selecting and editing handwriting input elements
EP3754537A1 (en) 2019-06-20 2020-12-23 MyScript Processing text handwriting input in a free handwriting mode
EP3772015B1 (en) 2019-07-31 2023-11-08 MyScript Text line extraction
EP3796145A1 (en) 2019-09-19 2021-03-24 MyScript A method and correspond device for selecting graphical objects

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02204881A (ja) * 1989-02-02 1990-08-14 Canon Inc 図形文字分離方法
US5038382A (en) * 1989-10-13 1991-08-06 International Business Machines Corporation Multi-scale recognizer for hand drawn strokes
US5239596A (en) * 1990-06-08 1993-08-24 Xerox Corporation Labeling pixels of an image based on near neighbor attributes
JPH0554089A (ja) * 1991-08-23 1993-03-05 Mitsubishi Electric Corp 図形認識装置及び認識誤り修正装置
JPH0628477A (ja) * 1992-04-27 1994-02-04 Digital Equip Corp <Dec> パターン知覚デバイス
US5544265A (en) * 1992-05-27 1996-08-06 Apple Computer, Inc. Shape recognizer for graphical computer systems
US5517578A (en) 1993-05-20 1996-05-14 Aha! Software Corporation Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
US5537491A (en) * 1993-11-24 1996-07-16 Xerox Corporation Analyzing an image or other data to obtain a stable number of groups
DE69428675T2 (de) 1993-12-30 2002-05-08 Xerox Corp Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
JP3177138B2 (ja) * 1995-11-21 2001-06-18 日本電信電話株式会社 図面閉領域の抽出方法
US6009196A (en) * 1995-11-28 1999-12-28 Xerox Corporation Method for classifying non-running text in an image
US5864635A (en) * 1996-06-14 1999-01-26 International Business Machines Corporation Distinguishing gestures from handwriting in a pen based computer by stroke analysis
JPH11250256A (ja) * 1998-03-05 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> 図形認識処理方法及びそのプログラムを記録した記録媒体
US6563955B2 (en) * 1998-11-13 2003-05-13 Xerox Corporation Method and apparatus for analyzing image data to use multiple transforms for enhanced image data transmission
JP2003208259A (ja) * 2002-01-10 2003-07-25 Ricoh Co Ltd 座標入力表示装置
US7139004B2 (en) 2002-01-25 2006-11-21 Xerox Corporation Method and apparatus to convert bitmapped images for use in a structured text/graphics editor
US7136082B2 (en) * 2002-01-25 2006-11-14 Xerox Corporation Method and apparatus to convert digital ink images for use in a structured text/graphics editor
US20040090439A1 (en) * 2002-11-07 2004-05-13 Holger Dillner Recognition and interpretation of graphical and diagrammatic representations
US7324691B2 (en) 2003-09-24 2008-01-29 Microsoft Corporation System and method for shape recognition of hand-drawn objects
US7295708B2 (en) 2003-09-24 2007-11-13 Microsoft Corporation System and method for detecting a list in ink input

Also Published As

Publication number Publication date
US20050063594A1 (en) 2005-03-24
CA2481828C (en) 2015-01-13
EP1519302A3 (en) 2006-06-21
KR20050030102A (ko) 2005-03-29
CN1619576A (zh) 2005-05-25
JP2005100398A (ja) 2005-04-14
AU2004208732B2 (en) 2010-06-03
RU2004128383A (ru) 2006-03-10
CN100535928C (zh) 2009-09-02
AU2004208732A1 (en) 2005-04-07
EP1519302B1 (en) 2016-04-13
BRPI0404101A (pt) 2005-05-24
RU2373575C2 (ru) 2009-11-20
EP1519302A2 (en) 2005-03-30
US7352902B2 (en) 2008-04-01
CA2481828A1 (en) 2005-03-24
JP4723840B2 (ja) 2011-07-13
KR101076901B1 (ko) 2011-10-25

Similar Documents

Publication Publication Date Title
MXPA04009151A (es) Sistema y metodo para detectar un objeto dibujado a mano en una entrada de tinta.
RU2372654C2 (ru) Система и способ для распознавания формы рукописных объектов
Kovalevsky Image pattern recognition
CN1517904B (zh) 墨水划分器及关联的应用编程接口
JP6244892B2 (ja) 文書内の文字の局所的な拡大縮小、回転および表示位置に対して不変である光学的文字認識のためのワード検出
WO2018084715A1 (en) Method and system for transforming handwritten text to digital ink
EP1971957B1 (en) Methods and apparatuses for extending dynamic handwriting recognition to recognize static handwritten and machine generated text
CN109685065B (zh) 试卷内容自动分类的版面分析方法、系统
CN111507330B (zh) 习题识别方法、装置、电子设备及存储介质
MXPA04009150A (es) Metodo y aparato para detectar una lista en una entrada de tinta.
US8934716B2 (en) Method and apparatus for sequencing off-line character from natural scene
CN111488732A (zh) 一种变形关键词检测方法、系统及相关设备
US20150139547A1 (en) Feature calculation device and method and computer program product
CN107729954A (zh) 一种文字识别方法、装置、文字识别设备及存储介质
US20230008529A1 (en) Gesture stroke recognition in touch-based user interface input
CN117115824A (zh) 一种基于笔划区域分割策略的视觉文本检测方法
CN111291704A (zh) 干扰去除方法、装置、计算机设备和存储介质
JP4648084B2 (ja) 記号認識方法及び装置
Wu et al. Automation Slicing and Testing for in-App Deep Learning Models
Rodríguez et al. Automatic Interpretation of Proofreading Sketches.

Legal Events

Date Code Title Description
FG Grant or registration