-
Die vorliegende Erfindung betrifft ein Verfahren zum Antreiben eines Roboters, insbesondere ein Verfahren zum Antreiben eines Roboters, bei dem der Roboter die gleiche Bewegung ausführen kann wie eine Bildinformation eines sich bewegenden Objekts, das dem Roboter oder einer Nachahmung davon entspricht, wobei das sich bewegende Objekt, das dem Roboter oder seiner Nachahmung entspricht, eine gewünschte Bewegung ausführt, so dass der Roboter sie ausführt.
-
Bei einer aus den nachfolgend benannten Dokumenten D1 und D2 bekannten Technologie zum Antreiben eines Roboters durch Nachahmen der Bewegung des Menschen, zum Beispiel, wenn ein Bediener mit einem Sensor geht, oder wenn der Bediener, der einen Datenhandschuh trägt, der mit einer Vielzahl von Sensoren versehen ist, seine Hand bewegt, wird der Roboter gemäß der Information angetrieben, die von diesen Sensoren ausgegeben wird;Dokument D1: Y. Kuniyoshi, Thesis of „A Robotic Approach to the Foundation of Communication and Symbols" in Proc. of 12th World Congress of Applied Linguistics (AILA ,99), Seite 94, herausgegeben 1999. Dokument D2: T. Inamura, Y. Nakamure, H. Ezaki und I. Toshima, Thesis of „Imitation den Primitive Symbol Acquisition of Humanoids by the Integrated Mimesis Loop" in Proc. of Intl. Conf. on Robotics and Automation (ICRA 2001), Seite 4208 bis 4213, herausgegeben 2001
-
Aus der
US 2002/0181773 A1 ist weiterhin ein Verfahren zum Antreiben eines Robotors bekannt, bei dem in einem ersten Schritt eine Bildinformation eines sich bewegenden Objekts gespeichert wird. Der Roboter besitzt zwei Beine und einen Arm und bei dem sich bewegenden Objekt handelt es sich um einen Menschen, der insofern dem Roboter entspricht. In einem weiteren Schritt wird ein Betriebsbefehl für den Roboter eingerichtet, der in Beziehung mit der Bildinformation besteht, wobei es beispielsweise um einen Betriebsbefehl zur Ausführung eines Abschiedsgeste handeln kann. Ferner werden in Schritten Betriebsbilddaten in Serie erzeugt und anschließend eine Bildinformation spezifiziert, die den Betriebsbilddaten entspricht. Schließlich wird dem Roboter der Betriebsbefehl bereitgestellt, der in Beziehung mit der spezifizierten Bildinformation steht. Bei den Betriebsbilddaten kann des sich z.B. um eine Abschiedsgeste (bye-bye“) des Menschen handeln, die den Betriebsbefehl für den Roboter auslöst, eine Abschiedsgeste auszuführen.
-
Bekannt ist auch der Einsatz von Datenhandschuhen mit einer Vielzahl vom Sensoren zum Teachen von Robotern (
US 6 236 037 B1 )
-
In vielen Fällen der oben genannten herkömmlichen Technologie gibt es jedoch kleine störende Probleme oder kleine Bewegungen, die nicht klar durch eine Ausgabe des Sensors oder deren Erkennen definiert werden können.
-
Wenn ein Roboter tatsächlich gemäß der vorliegenden Erfindung angetrieben wird, kann der Roboter die gleiche Bewegung wie die des sich bewegenden Objekts oder einer Nachahmung davon ausführen, indem ein Bild des sich bewegenden Objekts oder seiner Nachahmung erzielt wird, das dem Roboter entspricht, ohne einen Sensor zu verwenden. Erfindungsgemäß kann der Roboter daher leicht unter Verwenden von Bilddaten als Eingangsdaten angetrieben werden.
-
Die Entsprechung zwischen den Bilddaten, die in den Roboterbetriebsbilddaten enthalten sind, und jeder der Vielzahl von Bilddaten, die in dem Speichermittel für Bildentsprechungsbetriebsbefehle gespeichert sind, kann auf der Grundlage der Ähnlichkeit zwischen den zwei Bilddaten bestimmt werden. Wenn die Bilddaten, die den Betriebsbilddaten entsprechen, in diesem Fall unter der Vielzahl von Bilddaten, die in dem Speichermittel für Bildentsprechungsbetriebsbefehle gespeichert ist, spezifiziert werden, wird die Vielzahl von Bilddaten zum Abstimmen auf der Grundlage der Merkmalmenge der Betriebsbilddaten ausgewählt, und das Bild, das den Betriebsbilddaten entspricht, wird auf der Grundlage der Ähnlichkeit zwischen jeder der Vielzahl von Bildinformationen zum Abstimmen und den Betriebsbilddaten spezifiziert.
-
Der Erfindung liegt daher die Aufgabe zu Grunde, ein Verfahren zum Betreiben eines Roboters gemäß einem Betriebs zur Verfügung zu stellen, Eine Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, mit dem die zuvor aufgezeigten Schwierigkeiten überwunden werden.
-
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, durch welches der Roboter unter Gebrauch betrieblicher Bilddaten als Eingabedaten angetrieben werden kann.
-
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, bei dem der Roboter stetig mit hoher Geschwindigkeit angetrieben werden kann, auch wenn das sich bewegende Objekt oder seine Nachahmung eine komplizierte Struktur hat, oder wenn ein Teil des sich bewegenden Objekts häufig von dem sich bewegenden Objekt selbst verdeckt wird.
-
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, bei dem die eingegebenen Betriebsbilddaten und eine Vielzahl im Voraus gespeicherter Bilddaten schnell abgestimmt werden können.
-
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, durch das ein störendes Problem durch Nachahmen und Lernen durch Beobachten gelöst werden kann.
-
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, bei dem die eingegebenen Betriebsbilddaten und eine Vielzahl im Voraus gespeicherter Bilddaten schnell abgestimmt werden können.
-
Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren zum Antreiben eines Roboters bereitzustellen, durch das ein störendes Problem durch Nachahmen und Lernen durch Beobachten gelöst werden kann.
-
Die benannten Aufgaben werden erfindungsgemäß durch Ein Verfahren zum Antreiben eines Roboters gemäß einem Betriebsbefehl, umfassend:
- einen ersten Schritt zum Bereitstellen eines sich bewegenden Objekts, das dem Roboter entspricht, einer Vielzahl von Sensoren, die an dem sich bewegenden Objekt zum Erfassen dessen Bewegung vorgesehen sind, und einer Betriebsbefehlerzeugungsvorrichtung zum Erzeugen der Betriebsbefehle auf der Grundlage des Ausgangs der Vielzahl von Sensoren, und zum Speichern des Betriebsbefehls als einen vorab eingerichteten Betriebsbefehl, den die Betriebsbefehlserzeugungsvorrichtung auf der Grundlage des Ausgangs der Vielzahl von Sensoren erzeugt, während das sich bewegende Objekt eine vorausbestimmte Bewegung durchführt,
- einen zweiten Schritt zum Erzielen einer Betriebsbildinformation des sich bewegenden Objekts, wobei die Betriebsbildinformation erzielt wird, während das sich bewegende Objekt die vorbestimmte Bewegung durchführt, oder zum Erzielen von Betriebsbilddaten des sich bewegenden Objekts oder einer Nachahmung davon, wobei die Betriebsbilddaten in Zeitserien erzielt werden, während das sich bewegende Objekt oder die Nachahmung davon in einer gleichen Bewegung wie die vorbestimmte Bewegung bewegt wird,
- einen dritten Schritt zum Speichern der Betriebsbilddaten und des vorab eingerichteten Betriebsbefehls in einem Speichermittel für Bildentsprechungsbetriebsbefehle, wobei die Bilddaten dem vorab eingerichteten Betriebsbefehl zugewiesen werden,
- einen vierten Schritt zum Erzielen von Betriebsbilddaten des sich bewegenden Objekts oder seiner Nachahmung als Roboterbetriebsbilddaten, wobei die Betriebsbilddaten in Zeitserien erzielt werden, während das sich bewegende Objekt oder seine Nachahmung in einer gewünschten Bewegung bewegt wird, so dass der Roboter die gewünschte Bewegung ausführt,
- einen fünften Schritt zum Spezifizieren einer Bildinformation, die den Betriebsbilddaten entspricht, die in den Roboterbetriebsbilddaten enthalten sind, unter den Bilddaten, die in dem Speichermittel für Bildentsprechungsbetriebsbefehle gespeichert sind, und Bereitstellen des vorab eingerichteten Betriebsbefehls gemäß den spezifizierten Bilddaten als Betriebsbefehl zu dem Roboter, wobei beim Spezifizieren der Bildinformation, die den in den Roboterbetriebsbilddaten enthaltenen Betriebsbilddaten entsprechen, unter den Bilddaten, die in dem Speichermittel für Bildentsprechungsbetriebsbefehle gespeichert sind, ein Schwerpunkt des sich bewegenden Objektes oder dessen Nachahmung in den Betriebsbilddaten bestimmt wird, zudem eine Vielzahl von Bilddaten zum Abstimmen auf der Grundlage einer Merkmalsmenge ausgewählt wird, die aus einer Vielzahl unterteilter Bilder extrahiert wird, die durch Unterteilen der Betriebsbilddaten auf der Grundlage des bestimmten Schwerpunktes des sich bewegenden Objektes oder dessen Nachahmung unter den Betriebsbilddaten erzielt werden, und wobei die Bildinformation, die den in den Roboterbetriebsbilddaten enthaltenen Betriebsbilddaten entspricht, auf der Grundlage einer Ähnlichkeit zwischen den Bilddaten zum Abstimmen und den Betriebsbilddaten spezifiziert werden.
-
Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfahrens sind in den Patentansprüchen 2 bis 9 beschrieben.
-
Die Erfindung betrifft weiterhin System zum Antreiben eines Roboters gemäß einem Betriebsbefehl, umfassend:
- eine Speichervorrichtung für einen vorab eingerichteten Betriebsbefehl, die ausgebildet ist zum Speichern eines Betriebsbefehls wie einen vorab eingerichteten Betriebsbefehl, der von einer einen Betriebsbefehl erzeugenden Einrichtung auf der Grundlage eines Ausgangs einer Vielzahl an einem sich bewegenden Objekt vorgesehenen Sensoren zu erzeugen ist, wenn das sich bewegende Objekt, das dem Roboter entspricht, eine vorbestimmte Bewegung ausführt,wobei die Vielzahl Sensoren gestaltet ist zum Erfassen der Bewegung des sich bewegenden Objekts, und die Vorrichtung zum Erzeugen des Betriebsbefehls ausgebildet ist zum Erzeugen eines Betriebsbefehls auf der Grundlage des Ausgangs der Vielzahl Sensoren,
- eine Bilddatenspeichervorrichtung, die ausgebildet ist zum Erzielen von Betriebsbilddaten des sich bewegenden Objektes, wenn dieses die vorbestimmten Bewegung ausführt, oder von Betriebsbilddaten des sich bewegenden Objektes oder einer Nachahmung davon in Zeitserien, wenn das sich bewegende Objekt oder die Nachahmung davon die gleiche Bewegung wie die vorbestimmte Bewegung ausführt,
- eine Speichervorrichtung für Bildentsprechungsbetriebsbefehle, die ausgebildet ist zum Speichern der Bilddaten und der des vorab eingerichteten Betriebsbefehls, wobei die Bilddaten dem vorab eingerichteten Betriebsbefehl zugeordnet sind,
- eine Roboterbetriebsbilddatenspeichervorrichtung, die ausgebildet ist zum Erzielen von Betriebsbilddaten des sich bewegenden Objektes oder der Nachahmung davon als Roboterbetriebsdatenbilder in Zeitserien, wenn das sich bewegende Objekt oder die Nachahmung davon eine gewünschte Bewegung ausführt, damit der Roboter die gewünschte Bewegung ausführt, wobei beim Spezifizieren der Bildinformation, die den in den Roboterbetriebs-bilddaten enthaltenen Betriebsbilddaten entspricht, in den Bilddaten, die in dem Speichermittel für Bildentsprechungsbetriebsbefehle gespeichert sind, ein Schwerpunkt des sich bewegenden Objektes oder dessen Nachahmung in den Betriebsbilddaten bestimmt wird, zudem eine Vielzahl von Bilddaten zum Abstimmen auf der Grundlage einer Merkmalsmenge ausgewählt wird, die aus einer Vielzahl unterteilter Bilder extrahiert wird, die durch Unterteilen der Betriebsbilddaten auf der Grundlage des bestimmten Schwerpunktes des sich bewegenden Objektes oder dessen Nachahmung unter den Betriebsbilddaten erhalten werden, und die Bilddaten, die den in den Roboterbetriebsbilddaten enthaltenen Betriebsbilddaten entsprechen, auf der Grundlage einer Ähnlichkeit zwischen den Bilddaten zum Abstimmen und den Betriebsbilddaten spezifiziert werden.
-
Genauer gesehen werden erfindungsgemäß der erste bis fünfte Schritt zum Antreiben des Roboters wie folgt durchgeführt. Im ersten Schritt werden das sich bewegende Objekt, das dem Roboter entspricht, eine Vielzahl von Sensoren zum Erfassen der Bewegung des sich bewegenden Objekts, die an dem sich bewegenden Objekt bereitgestellt sind, und die Vorrichtung zum Erzeugen von Betriebsbefehlen auf der Grundlage der Ausgabe der Vielzahl von Sensoren verwendet. Der Betriebsbefehl, der von der Vorrichtung zum Erzeugen von Betriebsbefehlen erzeugt wird, wird als vorab eingerichteter Betriebsbefehl auf der Grundlage des Ausgangs der Vielzahl von Sensoren gespeichert, während das sich bewegende Objekt die vorausbestimmten Bewegungen ausführt. Das sich bewegende Objekt, das hier beschrieben wird, kann typisch der ganze menschliche Körper oder ein sich bewegender Teil davon sein, darunter Hände und Beine des Menschen, und kann auch ein Tier sein.
-
In dem zweiten Schritt wird die Vielzahl von Bilddaten des sich bewegenden Objekts, das die vorausbestimmte Bewegung in dem ersten Schritt ausführt, erzielt. Oder die Vielzahl von Bilddaten des sich bewegenden Objekts oder seiner Nachahmung wird in Zeitserien erzielt, während das sich bewegende Objekt oder seine Nachahmung die gleichen Bewegungen wie die vorausbestimmten Bewegungen ausführt. „Das sich bewegende Objekt“ von „das das sich bewegende Objekt oder seine Nachahmung“ kann das gleiche sich bewegende Objekt wie in Schritt 1 sein. Ein anderes sich bewegendes Objekt kann jedoch in diesem Schritt verwendet werden, wenn das andere im Wesentlichen die gleiche Form und Struktur wie das sich bewegende Objekt hat, mit anderen Worten, wenn das andere Objekt die gleichen Gelenke an den gleichen Positionen wie die des sich bewegenden Objekts hat, und wenn das andere Objekt die gleiche Bewegung durchführen kann wie das sich bewegende Objekt. „Seine Nachahmung“ in „das sich bewegende Objekt oder seine Nachahmung“ ist eine Nachahmung des sich bewegenden Objekts, die geschaffen wird, indem eine Technik zur Nachahmung verwendet wird, die den Einsatz von Computergraphik einschließt, oder im Einsatz einer Puppe des sich bewegenden Objekts oder dgl. besteht. In diesem Fall sind die erzielten Bilddaten die der Nachahmung. Wenn Computergraphik zur Nachahmung eingesetzt wird, sind die Bilddaten der Nachahmung des sich bewegenden Objekts Computergraphikbilddaten. Ein Verfahren zum Erzielen der Vielzahl von Bilddaten in Zeitserien kann beliebig ausgewählt werden, die Bilddaten können mit einer monokularen Kamera, einer binokularen und einer multiplen Kamera aufgenommen werden.
-
In dem zweiten Schritt, wenn das sich bewegenden Objekt die Hand eines Menschen ist, kann die Genauigkeit des Spezifizierens der Bilddaten in dem unten beschriebenen fünften Schritt erhöht werden, wenn die gespeicherten Bilddaten Bilddaten enthalten, die unter Berücksichtigung des individuellen Unterschieds an der menschlichen Hand geschaffen werden. Die Elemente, die für individuelle Unterschiede ausschlaggebend sind, umfassen die Krümmung von Positionen von Fingergrundgelenken von vier Fingern mit Ausnahme des Daumens, den Schub des Fingergrundgelenks des Daumens, einen Öffnungswinkel zwischen zwei benachbarten Fingern, den Unterschied von Referenzwinkeln zweier sich öffnender Finger und die Wölbung des Daumens. Wenn die Bilddaten, die Nachahmungsbilddaten durch Einsatz der Nachahmungsanlegungstechnik mit der Computergraphiktechnik angelegt werden, können die individuellen Unterschiede dieser Art leicht durch Ändern der Bilddaten, die zuvor unter Gebrauch der Elemente individueller Unterschiede geschaffen wurden, als ein Parameter erzielt werden. Mit anderen Worten können sie leicht erzielt werden, indem der Parameter geändert wird, der die Elemente der individuellen Unterschiede erzeugt, darunter die Länge von Knochen und der Bewegungswinkel der Gelenke.
-
Die in dem zweiten Schritt angelegten Bilddaten können Bilddaten mit Auflösungswechsel enthalten, die durch Ändern der Auflösung jeder der Vielzahl von Bilddaten angelegt werden. Das ist darauf zurückzuführen, dass das Merkmal des Bilds klar erscheinen kann, indem man die Auflösung der Bilddaten ändert. Wenn nur die Bilddaten erzielt werden können, kann die Auflösung der Bilddaten leicht geändert werden.
-
In dem zweiten Schritt kann die Fläche des sich bewegenden Objekts, das mit einer Vielzahl von Sensoren versehen ist, mit einer Abdeckung abgedeckt werden. Die Abdeckung bedeckt das sich bewegende Objekt mit einer Vielzahl von Sensoren. Dann kann die Vielzahl von Bilddaten des sich bewegenden Objekts gleichzeitig mit dem Ausführen des ersten Schritts erzielt werden. Wenn das sich bewegende Objekt mit der Abdeckung abgedeckt wird, kann unnötige Information auf der Oberfläche des sich bewegenden Objekts physisch entfernt werden. Daher hat die Objektabdeckung vorzugsweise eine Struktur, bei der unnötige Information so weitgehend wie möglich entfernt werden kann. Daher hat das abdeckende Objekt einen Aufbau, bei dem unnötige Information leicht entfernen werden kann. Vorzugsweise ist die Abdeckung schlicht, mit einer einzigen Farbe und ohne Muster und unnötige Vertiefungen oder Wölbungen. Mit dem abdeckenden Objekt dieser Art zum Abdecken des sich bewegenden Objekts, kann das Merkmal, das in den Bilddaten des sich bewegenden Objekts enthalten ist, insbesondere das Merkmal der Kontur des sich bewegenden Objekts mit hoher Präzision in kurzer Zeit erzielt werden.
-
Im dritten Schritt werden die in dem zweiten Schritt erzielten Bilddaten und der vorab eingerichtete Betriebsbefehl in einem Speichermittel für Bildentsprechungsbetriebsbefehle gespeichert, wobei jede alle Bildinformation, die in der Vielzahl von Bilddaten, die in dem zweiten Schritt erzielt wurde, enthalten ist, einem vorab eingerichteten Betriebsbefehl. In dem dritten Schritt können die zu speichernden Bilddaten Nachahmungsbilddaten (nicht aufgenommene Bilddaten) zwischen der einen oder vorhergehenden Bildinformation und den darauf folgenden Bildern enthalten, die in dem zweiten Schritt erzielt werden, sowie das tatsächlich aufgenommene Bild. Die Nachahmungsbilddaten werden durch Computergraphiktechnik geschaffen. In diesem Fall kann der vorab eingerichtete Betriebsbefehl, der den Nachahmungsbilddaten entspricht, geschätzt und auf der Grundlage des vorab eingerichteten Betriebsbefehls angelegt werden, der der einen oder vorhergehenden Bilddaten entspricht, und der vorab eingerichtete Betriebsbefehl, der den darauf folgenden Bilddaten entspricht, kann mit den Nachahmungsbilddaten, die entsprechend dazugehören, gespeichert werden. Anhand dieses Verfahrens können mehr entsprechende Daten, die die Bilddaten und den vorab eingerichteten Betriebsbefehl enthalten, durch Einsatz weniger tatsächlicher Bilddaten erzielt werden, was die Vorbereitung der Basisdaten, in welchen die Bilddaten und der vorab eingerichtete Betriebsbefehl zugewiesen werden, weitgehend erleichtert.
-
In dem vierten Schritt und damit der Roboter eine gewünschte Bewegung durchführt, führt das sich bewegende Objekt oder seine Nachahmung die gewünschte Bewegung durch. Die Betriebsbilddaten des sich bewegenden Objekts oder seiner Nachahmung werden in Zeitserien als die Roboterbetriebsbilddaten erzielt. In diesem Fall braucht das sich bewegende Objekt nicht mit Sensoren versehen zu sein.
-
In dem fünften Schritt werden die Bilddaten, die den Betriebsbilddaten entsprechen, die in den Roboterbetriebsbilddaten enthalten sind, in Zeitserien unter der Vielzahl von Bilddaten (Basisdaten), die in dem Speichermittel für Bilddatenentsprechungsbefehle gespeichert sind, spezifiziert. Vorzugsweise wird die Entsprechung zwischen den Betriebsbilddaten, die in den Roboterbetriebsbilddaten enthalten sind, und den Bilddaten, die in dem Speichermittel für Bilddatenentsprechungsbefehle gespeichert sind, auf der Grundlage der Ähnlichkeit zwischen zwei Bilddaten bestimmt. Das Verfahren zum Erzielen der Ähnlichkeit wird beliebig, nicht auf die spezifische Methode beschränkt ausgewählt.
-
In dem fünften Schritt wird der vorab eingerichtete Betriebsbefehl, der den spezifizierten Bilddaten entspricht, als Betriebsbefehl an den Roboter gegeben.
-
Viele störende Probleme finden sich in der Roboterhand eines humanoiden Roboters. Durch das erfindungsgemäße Verfahren kann die Roboterhand jedoch leichter als bisher angetrieben werden. In diesem Fall wird die menschliche Hand oder ihre Nachahmung als das sich bewegende Objekt verwendet. In dem ersten Schritt wird ein Datenhandschuh für eine menschliche Hand verwendet. Der Datenhandschuh hat die Struktur, bei der die Vielzahl von Sensoren an Positionen auf dem Handschuhkörper angeordnet ist. Die Positionen werden bestimmt, um eine Bewegung sich bewegender Teile der menschlichen Hand, die der Roboterhand entspricht, zu erfassen.
-
Je mehr Bilddaten für Basisdaten anfallen, oder je mehr das Datenvolumen der Datenbank des Bilds steigt, desto länger dauert es, um die Bilddaten zu spezifizieren, die den Betriebsbilddaten entsprechen, die in die gespeicherten Bilddaten eingegeben werden. Um dieses Problem zu lösen, können im dritten Schritt die folgende Vorgehensweisen angewandt werden, wenn die Bilddaten und der vorab eingerichtete Betriebsbefehl aufeinander abgestimmt und in dem Speichermittel für Bildentsprechungsbefehle gespeichert werden. Zuerst wird die Merkmalmenge für jede der Vielzahl von Bilddaten einzeln berechnet (ein Schritt des Berechnens der Merkmalmenge). Danach wird jede Merkmalmenge jeder der Vielzahl von Bilddaten durch eine Hauptbestandteilanalyse erzielt, und jeder eines Hauptbestandteilscores an jedem Hauptbestandteil der Vielzahl von Bilddaten wird berechnet. Die Anzahl der Hauptbestandteile vom ersten Hauptbestandteil zu einem k. Hauptbestandteil wird auf der Grundlage eines summierenden Beitragsverhältnisses der Hauptbestandteilanalyse bestimmt (ein Schritt des Bestimmens der Hauptbestandteile). Ferner werden k Arten von Bilddatenquellen, die jeweils den Hauptbestandteilen von dem ersten Hauptbestandteil zu dem k. Hauptbestandteil entsprechen, gespeichert. Jede der k Arten von Bilddatenquellen [Tabelle von Bildinformation (Tabelle)] wird erzielt, indem die Bilddaten gemäß dem Hauptbestandteilscore sortiert werden (Speicherschritt). Wenn zum Beispiel 15.000 Teile von Bilddaten vorbereitet werden und 10 Arten von Hauptbestandteilen bestimmt werden, werden 15.000 Teile von Bilddaten als 10 Arten von Bilddatenquelle gespeichert, die gemäß der Hauptbestandteilauswertung sortiert werden (gleichwertig mit den Bilddaten von 15.000 x 10 = 150.000 Teile). Jede der Bildinformationen, die in der Bilddatenquelle sortiert werden, wird auf jeden der vorab eingerichteten Betriebsbefehle abgestimmt und gespeichert. In diesem Fall wird der Hauptbestandteilscore der Betriebsbilddaten, die im fünften Schritt eingegeben werden, erzielt, und jede der Vielzahl von Bilddaten zum Abstimmen wird aus den k Arten von Bilddatenquellen gemäß dem Hauptbestandteilscore ausgewählt. Die Vielzahl der Betriebsbilddaten, die die verschiedenen Arten von Auflösung haben, wird durch Ändern der Auflösung der Betriebsbilddaten angelegt, und der Hauptbestandteilscore jeder der Vielzahl von Betriebsbilddaten, die verschiedene Arten von Auflösung haben, wird erzielt. Jede der Vielzahl von Bilddaten zum Abstimmen kann aus den k Arten von Bilddatenquellen gemäß dem Hauptbestandteilscore ausgewählt werden. Eine vorausbestimmte Anzahl der Vielzahl von Bilddaten zum Abstimmen wird jeweils aus den Bilddatenquellen gemäß dem Hauptbestandteilscore für jeden Hauptbestandteil ausgewählt. Mit dieser Gestaltung kann die Anzahl der abzustimmenden Bilddaten im Vergleich dazu verringert werden, wenn alle gespeicherten Bilddaten und die gespeicherten Betriebsbilddaten abgestimmt werden, so dass die Abstimmzeit vorteilhafterweise verkürzt werden kann. Die Ähnlichkeit zwischen den Betriebsbilddaten und jeder der Vielzahl von Bilddaten zum Abstimmen kann gemäß dem Hauptbestandteilscore bestimmt werden, und die Bilddaten, die den Betriebsbilddaten entsprechen, können auf der Grundlage der Ähnlichkeit spezifiziert werden. Mit dieser Gestaltung kann die Genauigkeit des Spezifizierens der Bilddaten verbessert werden, wenn die Betriebsbilddaten mit unterschiedlicher Auflösung angelegt werden und die Ähnlichkeit unter Gebrauch der Faktorladung bestimmt wird.
-
Da der erste Schritt im Voraus durchgeführt wird, kann der erste Schritt von den folgenden Schritt getrennt werden. Bei dem für eine Vorrichtung zum Antreiben des Roboters verwendeten Antriebsverfahren kann der Roboter unter Anwenden der Schritte zwei bis fünf angetrieben werden.
-
Ausführungsformen des erfindungsgemäßen Verfahrens werden nun unter Bezug auf die Zeichnungen beschrieben: In diesen sind:
- 1 eine Draufsicht einer herkömmlichen Roboterhand mit mehreren Fingern, die bei der vorliegenden Erfindung als Steuerungsobjekt einsetzbar ist.
- 2 ein Diagramm, das eine Anordnung von Stellgliedern zeigt, die in der Roboterhand in 1 angeordnet sind.
- 3 ein Diagramm, das ein Follow-up-Merkmal hinsichtlich der Sinuswelleneingabe zeigt.
- 4 ein Diagramm, das ein Follow-up-Merkmal hinsichtlich der Eingabe einer frequenzmodulierten Sinuswelle ist.
- 5 eine schematische Ansicht, die die Form einer Ausführungsform eines Datenhandschuhs, der als Fernsteuergerät verwendet wird, zeigt.
- 6 ein Diagramm, das schematisch eine Konfiguration einer Ausführungsform eines Systems zeigt, das eine Steuervorrichtung der Roboterhand mit mehreren Fingern und ein Antriebsverfahren der vorliegenden Erfindung zeigt.
- 7 ein Flussdiagramm, das einen Algorithmus von Software zeigt, die zum Ausführen eines Hauptteils eines Mittels zum Beziehungsbestimmen in 6 beim Umsetzen desselben mit einem Computer zeigt.
- 8 ein Flussdiagramm, das einen Algorithmus von Software zeigt, die zum Ausführen des ersten und dritten Schritts mit einem Computer verwendet wird.
- 9 ein Diagramm, das zum Veranschaulichen des Ausführens des ersten bis dritten Schritts dient.
- 10 ein Flussdiagramm, das einen Algorithmus von Software zeigt, die zum Ausführen des vierten und fünften Schritts mit einem Computer zeigt.
- 11 ein Diagramm, das ein Beispiel eines lokalen Musters für lokale Autokorrelationsfunktion höheren Rangs zeigt.
- 12(A) bis 12(C) Darstellungen unterschiedlicher Elemente einer menschlichen Hand in individuellen Variationen,
- 13 ein Diagramm, das Unterschiede in Bilddaten zeigt, wenn Parameter für Computergraphiksoftware geändert werden, um die Wölbung der Fingergrundgelenkposition und des Schubs des Fingergrundgelenks des Daumens zu ändern.
- 14 eine Ansicht, die drei Arten von Bilddaten zeigt, in welchen die Auflösung geändert ist.
- 15(A) und 15(B) Ansichten, die Zustände zeigen, in welche ein Bild bestehend aus 320 x 240 Pixeln senkrecht und waagerecht in 4 x 4 Bereiche des Bilds und in 8 x 8 Bereiche des Bilds unterteilt wird,
- 16 ein Beispiel einer Nachschlagetabelle, in der Bilddaten neu angeordnet sind.
- 17 ein Flussdiagramm, das eine Sequenz des Erzeugens der Bilddatendatenbank zeigt.
- 18 ein Flussdiagramm, das einen Verlauf eines Abstimmschritts zeigt.
- 19 eine schematische Ansicht, die zum Veranschaulichen einer anderen Ausführungsform des Verfahrens der vorliegenden Erfindung verwendet wird.
- 20 ein Flussdiagramm, das einen Algorithmus zum Erzeugen einer Datenbank zeigt.
- 21 ein Flussdiagramm, das einen detaillierten Algorithmus der 20 zeigt.
- 22 eine Ansicht, die Bilddaten der Konturextraktion zeigt.
- 23 ein Diagramm, das eine Beispiel lokaler Muster für eine lokale Autokorrelationsfunktion höheren Ranges zeigt, die zum Erzeugen einer Datenbank verwendet wird.
- 24 ein Diagramm, das zum Veranschaulichen des Extrahierens von Merkmalmengen verwendet wird.
- 25 ein Flussdiagramm, das einen Algorithmus zum Auswählen von Bilddaten zeigt, die Betriebsbilddaten von Bilddaten entsprechen, die in der Datenbank gespeichert sind.
- 26 ein Flussdiagramm, das den detaillierten Algorithmus der 25 zeigt.
- 27 ein Diagramm, das zum Veranschaulichen des Clusterns verwendet wird.
-
Zunächst wird die Grundlage einer Technik beschrieben, die bei der vorliegenden Erfindung zum Einsatz kommt.
Beim Abschätzen der dreidimensionalen Form der menschlichen Hand und ihrer Finger mittels einer mono- oder binokularen Kamera ergibt sich wegen der komplizierten Form der Finger und deren gegenseitige Abdeckung beim Erkennen der Form der menschlichen Hand ein störendes Problem. Es ist daher schwierig, die Form der menschlichen Hand sehr schnell und mit hoher Genauigkeit ohne periphere Geräte, z.B. Infrarotsensoren mit zugeordneter Rechnerausrüstung mit einer Vielzahl von Computern, abzuschätzen (Referenz: E. Ueda, Y. Matsumoto, M. Imai and T. Ogasawara: „Hand pose estimation using multi-viewpoint silhouette images, „Proc. 2001 IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS' 2001), Seiten 1989-1996, 2001. M. H. Jeong, Y. Kuno, N. Shimada and Y. Shirai: „Recognition of shape-changing hand gestures", IEICE Transactions Division D, E85-D, 10, Seiten 1678-1687, 2002. N. Shimada, K. Kimura, Y. Kuno and Y. Shirai: „3-D hand posture estimation by indexing monocular silhouette images", Proc. 6th Workshop on Frontier of Computer Vision, Seiten 150-155, 2000). Andererseits ist es beim Steuern des Oberarms eines humanoiden Roboters oder dergleichen bekannt, dass zumindest solche störenden Probleme auftreten, wie die Pfadauswahl, die Kombination von Gelenkwinkeln und die Kombination von Muskelspannungen und dergleichen (Y. Uno, K. Kawato and R. Suzuki; ein Dokument mit dem Titel „Formation and control of optimal trajectory in human multijoint arm movement-minimum torque-change model": Biological Cybernetics, 61, Seiten 89-101, 1989). Ein Mensch löst jedoch die erwähnten störenden Probleme und führt komplizierte und präzise absichtliche Bewegungen aus. Einfach ausgedrückt, ein Mensch erfährt die Bewegung mit dem eigenen Körper, d. h. „körperliche Realität“ (R. Pfeifer, „Dynamics, morphology, and materials in the emergence of cognition" in Advances in Artificial Intelligence, ed. W. Burgard, A. B. Cremers, and T. Christaller, Proc. KI-99, 23rd Annual German Conference on Artificial Intelligence, 1999) ist eine wichtige Lösung der störenden Probleme beim Erkennen.
-
Es ist verständlich, dass Nachahmen und Lernen durch Beobachten extrem effektiv sind oder in manchen Fällen das einzige Verfahren, das die störenden Probleme sowohl beim Erkennen als auch Steuern lösen kann. Die vorliegende Erfindung stellt daher ein Roboterhandsystem zur Verfügung, das Fingerbewegungen mit der gleichen Präzision und Verarbeitungsgeschwindigkeit wie der Mensch wiedergeben kann.
-
Nachfolgend werden auf der Grundlage des Roboterhandsystems einige Ausführungsformen des erfindungsgemäßen Verfahrens zum Antrieben eines Roboters beschrieben.
-
Zunächst wird der Mechanismus einer Roboterhand mit mehreren Fingern (Roboter)beschrieben, wie dieser bei der Erfindung verwendet wird.
1 zeigt eine Draufsicht einer Roboterhand mit mehreren Fingern
1 gemäß dem Stand der Technik, die als ein Steuerobjekt bei dem erfindungsgemäßen Verfahren dient.
2 ist ein Diagramm, das eine Anordnung von Stellgliedern
2 (Mikromotor mit Codierer) zeigt, die innerhalb der Roboterhand in
1 angeordnet ist. Zu bemerken ist, dass die Roboterhand mit mehreren Fingern in der
japanischen Patentanmeldung Nr. 2003-117873 offenbart ist. Was den Bewegungsbereich der jeweiligen Gelenke der Roboterhand mit mehreren Fingern
1 betrifft, beträgt der Grad der Abduktion/Adduktion des Daumens 120°, und der Grad des Beugen/Strecken des Daumens beträgt 60°. Beugungen und Streckungen der fünf Finger erfolgen jeweils mit dem zweiten Gelenk verriegelt; der Bewegungsbereich des zweiten Gelenks beträgt 112°; der Bewegungsbereich des ersten Gelenks beträgt 7/10 des Bereichs des zweiten Gelenks, und der Bewegungsbereich des dritten Gelenks beträgt 5/7 des zweiten Gelenks. Was die Abduktion/Adduktion unter Fingern betrifft, bewegen sich ein Zeigefinger und ein kleiner Finger gegenseitig verriegelt mit einem dritten Finger, aber ein Mittelfinger bewegt sich nicht. Ferner beträgt der Bereich der Öffnungs-/Schließbewegung des dritten Fingers 15°; der Bereich der Öffnungs-/Schließbewegung des Zeigefingers beträgt 13° und der Bereich der Öffnungs-/Schließbewegung des kleinen Fingers beträgt 31°. Aufgrund der oben beschriebenen Anordnung ist der Kontakt zwischen dem Daumen und dem kleinen Finger möglich, wobei der Bewegungsbereich der menschlichen Finger zufriedenstellend gedeckt ist.
-
Als Stellglied 2 für die jeweiligen Gelenke wird ein Gleichstrommikromotor verwendet. Für das zweite Gelenk der Finger und für Abduktion/Adduktion des Daumens und die Öffnungs-/Schließbewegung (Abduktion) zwischen den Beugen/Strecken der vier Finger (ohne Daumen), werden Stellglieder 2 jeweils in einer Handfläche bereitgestellt. Jeder Finger wird mit Befehlen gesteuert, die von einem Steuercomputer (nicht gezeigt) her kommen, und indem die Spannung geändert wird, die an die Motoren der Stellglieder 2 über eine Antriebsvorrichtung 3 angelegt wird, die mit einen D/A-Wandler und einem Treiber für kleine Servomotoren (Mikroservermotoren) ausgestattet ist. Der Motor in dem Stellglied 2 verfügt über einen inkrementalen Wellencodierer. Zusätzlich zum Erfassen der axialen Geschwindigkeit und der Drehrichtung, kann der Ausgang des Codierers für die Positionskontrolle verwendet werden. Ein Mechanismus ist enthalten, so dass Winkelinformation der jeweiligen Gelenke an den Steuercomputer (nicht gezeigt) über einen Codierer, dessen Auflösung mit Ritzeln gesteigert wird, zurückgesandt wird. Die Auflösung des Codierers selbst beträgt 16 [Impuls/Umdrehung]. Die Codierer in dem Öffnungs-/Schließabschnitt der Finger sind mit Ritzeln versehen, deren Untersetzungsverhältnis jeweils 1/400 beträgt, und ihre umgewandelte Auflösung beträgt 6400 [Impuls/Umdrehung]. Die anderen Codierer sind mit Ritzeln mit einem Untersetzungsverhältnis von 1/50 versehen, und ihre umgewandelte Auflösung beträgt 800 [Impuls/Umdrehung].
-
3 und 4 zeigen Follow-up-Ergebnisse, wenn ein Zeitserien-Winkeländerungsbefehl mit Sinuswelle oder frequenzmodulierter Welle über eine PID-Steuerung oder dergleichen eingegeben wird. 3 zeigt ein Follow-up-Merkmal in Bezug auf die Eingabe der Sinuswelle, und 4 zeigt das Follow-up-Merkmal in Bezug auf die Eingabe einer frequenzmodulierten Sinuswelle. Diese Ergebnisse zeigen, dass zufriedenstellende Follow-up-Merkmale in Bezug auf Operationen von einem langsamen Betrieb zu einem relativ schnellen Betrieb in Bezug auf die modulierte Welle erzielt werden.
-
5 ist eine Ansicht, die schematisch einen Aufbau einer Ausführungsform eines Datenhandschuhs 4 zeigt, der als Fernsteuervorrichtung verwendet wird. Der Datenhandschuh 4 hat einen Aufbau, bei dem die Sensoren in sechzehn Gelenkabschnitten des handschuhähnlichen Körpers verteilt und installiert sind. Insbesondere wird ein Datenhandschuh verwendet, der von Virtual Technologies, Ltd., hergestellt wird. Jeder der Finger, Daumen ausgenommen, ist mit den Sensoren 5 des Datenhandschuhs an MP (Mittelfingergelenk) und PIP (proximales Fingergelenk) auf jedem versehen, und der Daumen ist mit den Sensoren 5 in MP, PIP und DIP (entferntes Fingergelenk) versehen. Jeder der Finger ist mit Sensoren 5 zum Messen der Abduktion versehen, und in der Mitte der Handfläche sind Sensoren an insgesamt sechzehn Punkten bereitgestellt. Die Sensoren sind ausgelegt, um die Verzerrung zu digitalisieren und diese mit jeweils 30 bis 40 Hz auszugeben. Der Sensor 5 in der Mitte der Handfläche dient zum Messen der Verzerrung der ganzen Handfläche. Da die entsprechende humanoide Roboterhand jedoch nicht mit diesem Mechanismus versehen ist, wird der Mittensensor 5 in der Ausführungsform nicht verwendet.
-
Wenn ein Bediener/eine Bedienerin den Datenhandschuh auf seiner/ihrer Hand trägt und Daten von Bewegungen menschlicher Finger über den Datenhandschuh erzeugt, und wenn die Daten in einen Computer eingegeben werden, um sie in Steuerbefehlwerte für die Roboterhand mit mehreren Fingern umzuwandeln, kann die gleiche Bewegung wie die der Hand des Bedieners, der den Datenhandschuh trägt, mit der Roboterhand wiedergegeben werden.
-
Als ein einfaches Steuerverfahren der Roboterhand unter Gebrauch des Datenhandschuhs steht das folgende Verfahren zur Verfügung. Die Datenausgaben von dem genannten Datenhandschuh werden in eine dreidimensionale Koordinatenpositionen umgewandelt, und die Winkelinformation der Abschnitte, die den Gelenken der Roboterhand entsprechen, werden in Zeitserien herausgenommen; danach lässt man die Roboterhand die Daten ausführen, um die Bewegung auszuführen. Wenn das oben stehende Verfahren angewandt wird, wird jedoch jeder der sechzehn Werte, die von den Sensoren des Datenhandschuhs ausgegeben werden, in X-Koordinate, Y-Koordinate, Z-Koordinate, Neigungswinkel, Gierwinkel und Rollwinkel in Bezug auf jedes der Gelenke umgewandelt und daher werden einhundert Daten pro Zeiteinheit erzeugt. Angesichts der Berechnungs- und zeitlichen Effizienz sind das Extrahieren von Daten aus acht Gelenken, die zum Betreiben der Roboterhand erforderlich sind, aus den Daten und ihr Gebrauch nicht die optimale Methode.
-
Die vier Finger des Menschen mit Ausnahme des Daumens werden stark von den anderen vier Fingern beeinflusst. Für das Steuerverfahren und die Vorrichtung ist es wichtig, ihre Merkmale quantitativ auszudrücken. Bei der Ausführungsform der vorliegenden Erfindung wird daher ein multipler Regressionsausdruck als Ausdruck zum Umwandeln von Daten, die über den Datenhandschuh erzielt werden, in Steuerwerte zum Steuern der Roboterhand verwendet.
-
Um die Gelenke der Roboterhand mit einem multiplen Regressionsausdruck hinsichtlich der jeweiligen Gelenke der Roboterhand auszudrücken, das heißt die gewichtete lineare Summe jedes Ausgangs des Datenhandschuhs, ist es erforderlich, eine multiple Regressionsanalyse auszuführen, um zuerst einen teilweisen Regressionskoeffizienten zu erhalten. Um daher die Daten für eine multiple Regressionsanalyse zu erhalten, gibt der Bediener, der den Datenhandschuh trägt, die Gelenkwinkelsteuerwerte zu der Antriebsvorrichtung
3 in Übereinstimmung mit vorausbestimmten Zeitserien-Gelenkwinkelmustern ein, um die Roboterhand zu betreiben. Die Steuervorrichtung, die Befehle an die Antriebsvorrichtung
3 liefert, speichert vorab Gelenkwinkelsteuerwerte der vorausbestimmten Zeitserien-Gelenkwinkelmuster, um zu bewirken, dass die Roboterhand
1 Bewegungen ausführt, die für die multiple Regressionsanalyse effektiv sind. Der Bediener, der den Datenhandschuh trägt, führt Bewegungen, wie zum Beispiel Beugen und Strecken und Abduktion der Finger mit der Hand, die den Datenhandschuh trägt, in Übereinstimmung mit den Bewegungen der Roboterhand durch, das heißt durch Nachahmen. Bei der vorliegenden Erfindung wird der Ausgang des Datenhandschuhs
4, wie oben beschrieben gemessen, und die Zeitserien-Gelenkwinkelmuster der Roboterhand, die für die Messungen verwendet werden, werden der multiplen Regressionsanalyse unterzogen, um teilweise Regressionskoeffizienten der jeweiligen Gelenke zu erhalten. Der folgende Ausdruck ist ein multipler Regressionsausdruck, der in der Ausführungsform verwendet wird.
wobei die Objektvariable „θi“ der Steuerwert des Gelenkwinkels ist, der auf der Roboterhand
1 zu steuern ist, die erklärende Variable „X
in“ ein Ausgangswert von dem Datenhandschuh
4 ist, „a
in“ ein teilweiser Regressionskoeffizient, und „a
On“ der Rest ist. Da die Werte, die mit dem multiplen Regressionsausdruck erzielt werden, die Werte der Gelenkwinkel der jeweiligen Finger des Datenhandschuhs
4 sind, kann die Steuerung ausgeführt werden, indem die Werte als die Winkelsteuerwerte für die Roboterhand verwendet werden.
-
6 zeigt schematisch die Konfiguration bei einer Ausführungsform der Steuervorrichtung für die Roboterhand mit mehreren Fingern, die verwendet wird, um vorab eingerichtete Betriebsbefehle zu erzielen, und eine Vorrichtung zum Antreiben der Roboterhand, die das Antriebsverfahren des Roboters der vorliegenden Erfindung zeigt. Die in 6 gezeigte Steuervorrichtung, die zum Vorabeinrichten der Betriebsbefehle verwendet wird, steuert die Roboterhand mit mehreren Fingern 1, die k Gelenke hat (k ist eine positive Ganzzahl), die jeweils mit einem Stellantrieb versehen sind, und die in Übereinstimmung mit einem Gelenksteuerwinkelwert y, der den Gelenkwinkel angibt, funktioniert. Der Datenhandschuh 4 bildet eine Fernsteuervorrichtung, die auf die Hand des Bedieners gegeben wird, und n Ausgangssignale „xn“ (n ist eine positive Ganzzahl) ausgibt, die der Bewegung der Hand des Bedieners entsprechen. Die Steuervorrichtung der Roboterhand mit mehreren Fingern weist ein entsprechendes Beziehungsbestimmungsmittel 6 und ein Steuersignalerzeugungsmittel 7 auf. Das entsprechende Beziehungsbestimmungsmittel 7 kann vorab die Beziehung zwischen den Gelenkwinkelsteuerwerten „y“ und n Ausgangssignalen „xn“ und k Gelenkwinkelsteuerwerte y für k Gelenke bestimmen. Insbesondere umfasst das entsprechende Beziehungsbestimmungsmittel 6 ein Zeitserien-Gelenkwinkelmuster-Steuermittel 61, ein Abtastmittel 62, ein Führungsmittel für teilweisen Regressionskoeffizienten 63 und ein Bestimmungsmittel 64 für multiplen Regressionsausdruck 64.
-
In einem Zustand, in dem Gelenkwinkelsteuerwerte eingegeben werden und die Roboterhand mit mehreren Fingern 1 in Übereinstimmung mit den vorausbestimmten Zeitserien-Gelenkwinkelmustern, die in dem Speichermittel 61 für Zeitserien-Gelenkwinkelmuster für k Gelenke (eigentlich Stellglieder 2) gespeichert sind, betrieben wird, führt das Abtastmittel 63, wenn der Bediener den Datenhandschuh 4 bedient, indem er die Bewegung der Roboterhand mit mehreren Fingern 1 nachahmt, ein Abtasten von n Ausgangssignalen „xn“ in Zeitserien m Mal aus (m ist eine Ganzzahl größer als n). Bevor das Abtasten beginnt, gibt das Abtastmittel 62 Befehle zu dem Speichermittel 61 für Zeitserien-Gelenkwinkelmuster aus, und das Speichermittel 61 für Zeitserien-Gelenkwinkelmuster gibt vorausbestimmte Gelenkwinkelsteuerwerte an die Antriebsvorrichtung 3 aus. Zu bemerken ist, dass das Zeitserien-Gelenkwinkelmuster vorzugsweise so konfiguriert ist, dass beliebige Funktionsbefehle zu den Gelenken (Stellgliedern) der Roboterhand mit mehreren Fingern ausgegeben werden, so dass die Finger gleichförmig in einem N-dimensionalen Raum bewegt werden. Beim Empfang der Befehle betreibt die Antriebsvorrichtung 3 die Roboterhand mit mehreren Fingern 1.
-
Das Führungsmittel 63 für teilweisen Regressionskoeffizienten führt eine multiple Regressionsanalyse auf der Grundlage der Zeitserien-Gelenkwinkelmuster aus, die in dem Speichermittel 61 für Zeitserien-Gelenkwinkelmuster gespeichert sind, und m Sätze mit n Ausgangssignalen „xn“, die durch m-maliges Abtasten erzielt werden, die von dem Abtastmittel 62 ausgegeben werden, um teilweise Regressionskoeffizienten für jedes der k Gelenke zu erzielen.
-
Das Bestimmungsmittel 64 für multiplen Regressionsausdruck bestimmt k multiple Regressionsausdrücke, was die Beziehung zwischen dem Gelenkwinkelsteuerwert „y“ und n Ausgangssignalen „xn“ für jedes der k Gelenke bestimmt, indem der Regressionskoeffizient für k Gelenke verwendet wird, der von den Führungsmitteln 63 für Regressionskoeffizient bestimmt wird.
-
Das Steuersignalerzeugungsmittel 7 kann k Gelenkwinkelsteuerwerte „y“ auf der Grundlage der Beziehung erzielen, die durch das Bestimmungsmittel 64 für multiplen Regressionsausdruck in dem entsprechenden Beziehungsbestimmungsmittel 6 erzielt werden, und n Ausgangssignale „xn“, und kann Steuersignale (Betriebsbefehle), die k Gelenkwinkelsteuerwerte „y“ zu der Antriebsvorrichtung 3 zum Antreiben von k Gelenken der Roboterhand mit mehreren Fingern darstellen, ausgeben. Das Steuersignalerzeugungsmittel 7 empfängt n Ausgangssignale „xn“ als Eingang, um k Gelenkwinkelsteuerwerte „y“ zu erzielen, indem k multiple Regressionsausdrücke verwendet werden, die durch das Bestimmungsmittel 64 für multiplen Regressionsausdruck als die Beziehung erzielt werden. Diese k Gelenkwinkelsteuerwerte „y“ sind die Betriebsbefehle. Das Steuersignalerzeugungsmittel 7 gibt Betriebsbefehle in Zeitintervallen aus, die der Verarbeitungsgeschwindigkeit in Übereinstimmung mit der Bewegung des Datenhandschuhs 4 entsprechen. Zu bemerken ist, dass das Betriebsbefehlerzeugungsmittel, das Betriebsbefehle auf der Grundlage der Ausgänge einer Vielzahl von Sensoren erzeugt, wenn das sich bewegende Objekt (die Hand des Bedieners) eine vorausbestimmte Bewegung durchführt, in dem Beispiel der 6 aus einem entsprechenden Beziehungsbestimmungsmittel 6 und dem Steuersignalerzeugungsmittel 7 besteht.
-
Der multiple Regressionsausdruck, der die Beziehung zwischen dem Ausgang des Datenhandschuhs
4, bestimmt durch Bestimmungsmittel
64 für multiplen Regressionsausdruck, und den Gelenkwinkeln der Roboterhand mit mehreren Fingern
1 darstellt, wird in der folgenden Formel ausgedrückt.
-
In dem oben stehenden Ausdruck ist „HAND“ der Gelenkwert der Roboterhand mit mehreren Fingern, „a“ ist der teilweise Regressionskoeffizient, „GLOVE [n]“ ist der Ausgang des Datenhandschuhs mit Freiheitsgrad n, und „i“ ist die Anzahl der Gelenke der Roboterhand mit mehreren Fingern. Zu bemerken ist, dass beim Gebrauch des oben stehenden Ausdrucks die Zeile größer ist als die Spalte, weshalb es sich um einen überbestimmten Ausdruck handelt. Es wird daher vorgezogen, dass der teilweise Regressionskoeffizient als optimale Lösung durch Einsatz einer Einzelwertzerteilung erzielt wird.
-
7 ist ein Flussdiagramm, das einen Algorithmus der Software zeigt, die zum Ausführen eines Hauptteils des entsprechenden Beziehungsbestimmungsmittels
6 in
6 mit einem Computer verwendet wird. Zuerst werden in Schritt ST1 entsprechende Daten zwischen dem Datenhandschuh
4 und dem Zeitserien-Gelenkwinkelmuster erzielt. Daher wird eine Funktion, die die Finger gleichmäßig in dem Bewegungsbereich der Roboterhand mit mehreren Fingern
1 bewegt, zu der Roboterhand mit mehreren Fingern
1 ausgegeben, um diese anzutreiben, wobei die Finger des Bedieners die gleiche Bewegung durch Nachahmen der Bewegung der Roboterhand mit mehreren Fingern
1 ausführen. Unter der Annahme, dass ein Gelenkwinkel oder ein Gelenkwinkelsteuerwert der Roboterhand mit mehreren Fingern
1 „y“ ist, und dass n Ausgänge des Datenhandschuhs „xn“ sind, erzielt man den folgenden Ausdruck der Zeitserien-Daten von der Zeit
1 bis m.
-
Zu bemerken ist, dass im oben stehenden Ausdruck m > n ist. Ferner wird angenommen, dass „x“ Rauschen, wie zum Beispiel Systemrauschen, und Quantisierungsfehler enthält.
-
Dann werden in Schritt ST2 beim Ausdrücken in einer Vektor- und Matrixform, die entsprechenden Daten als y=[H]x ausgedrückt. In diesem Ausdruck sind „y“, „x“ und „[H]“ wie unten gezeigt ausgedrückt.
-
In Schritt ST3 startet das Schätzen der Lösung „x
-“ mit dem Verfahren der kleinsten Quadrate. Bei dem Schätzungsprozess wird der teilweise Regressionskoeffizient erzielt. Der Ausdruck, der bei dem Verfahren des kleinsten Quadrats verwendet wird, ist der folgende.
-
Dann startet ab Schritt ST4 das Berechnen von ([H]t[H]) mit dem Jacobi-Verfahren. Das heißt, dass ([H]t[H]) (=[A]) in eine ähnliche Matrix [B] mit einfacher Form unter Einsatz der orthogonalen Matrix P umgewandelt wird. Mit anderen Worten wird daher [P]-1[A] [P]=[B] berechnet.
-
Dann wird in Schritt ST5 in den Nebendiagonalelementen der Matrix [A] der maximale absolute Wert „ak1(=a1k)“ ausgewählt. Dann wird in Schritt ST6 die Einheitsmatrix [p], in der akk=a11=cosθ, ak1=-sinθ, a1k=sinθ geschaffen.
-
„θ“ wird durch die folgende Matrix erzielt.
-
Dabei ist in dem oben stehenden Ausdruck k < 1.
-
Dann wird in Schritt ST8 [P]
t[A] [P] berechnet, um ein neues [A] zu erzielen. Dann wird in Schritt ST9 ausgehend von dem Produkt der Matrix [P], der Eigenvektor V anhand des folgenden Ausdrucks erzielt.
-
In dem oben stehenden Ausdruck „[P]t (N)“ wird die Matrix [P] für die N. Umwandlung verwendet.
-
Dann wird in Schritt ST10 in jedem Nebendiagonalelement von [A], wenn die Konvergenzbedingungen < 0,0001 ist, der Prozess beendet. Anderenfalls kehrt der Prozess zu Schritt ST5 zurück. Hier ist das Nebendiagonalelement der Matrix [B] der Eigenwert.
-
Dann wird in Schritt ST11 Rauschen, das in der Lösung enthalten ist, eliminiert. In Schritt ST12 wird durch Ersetzen der Eigenwerte (λ
1, λ
2,...λ
η) durch (
1/(λ
1+υ), 1/(λ
2+υ), ... 1/(X
n+υ)) die inverse Matrix ([H]
t[H])
-1 erzielt, wobei ([H]
t[H])
-1=[U][A]
-1[U]
t. Ferner ist der Vektor „u
i“ der Eigenvektor von [H]
t[H]. Ferner ist [U] = [u
1, u
2, ... u
N]. Ferner wird [A]
-1 wie unten gezeigt ausgedrückt.
wobei υ=σ
n 2/σ
x 2. Hier kann durch Hinzufügen des Rauschelements „n
-“ zu dem Element der rechten Seite von y
=[H]x und durch Transformieren in n
-=y-[H]x, „σn
2“ berechnet werden. Ferner kann „σ
x 2“ direkt aus „y“ berechnet werden. Und in Schritt ST13 ist das Schätzen der Lösung „x“ mit dem Verfahren der kleinsten Quadrate beendet.
-
Gemäß dem Algorithmus in dem oben stehenden Flussdiagramm wird zum Erzielen des teilweisen Regressionskoeffizienten mit dem Verfahren der kleinsten Quadrate und der Einzelwertzerlegung die multiple Regressionsanalyse ausgeführt. Zu bemerken ist, dass die oben stehenden Schritte ST4 bis ST10 Schritte sind, in welchen die Einzelwertzerlegung durchgeführt wird.
-
Unter Bezugnahme auf 6 und 8-10, wird ein Beispiel der Ausführungsform, bei der die Roboterhand angetrieben von dem Verfahren der vorliegenden Erfindung beschrieben wird. In dem ersten Schritt und in Übereinstimmung mit der erfindungsgemäßen Ausführungsform speichert eine Speichervorrichtung 8 für vorab eingerichtete Betriebsbefehle die Betriebsbefehlerzeugungsmittel 6, 7 als vorab eingerichtete Betriebsbefehle auf der Grundlage der Ausgabe einer Vielzahl von Sensoren 5 auf dem Datenhandschuh 4, wenn eine vorausbestimmte Bewegung von der Hand (sich bewegendes Objekt), die den Datenhandschuh 4 trägt, ausgeführt wird. 8 zeigt einen Algorithmus der Software, die verwendet wird, wenn das Speichern mit einem Computer erfolgt.
-
In dem zweiten Schritt und wie in 9 gezeigt, führt unter Gebrauch einer mono- oder binokularen Kamera 9, die menschliche Hand H, die den Datenhandschuh 4 trägt, die gleiche Bewegung (eine vorausbestimmte Bewegung) aus, die zum Erzielen der vorab eingerichteten Betriebsbefehle durchgeführt wird. Hier werden Bilddaten der Hand H (das sich bewegende Objekt) in Zeitserien erzielt. Zu bemerken ist, dass die Bilddaten gleichzeitig mit den vorab eingerichteten Betriebsbefehlen oder später erzielt werden können. In dem Beispiel der 9 werden Bilddaten der Hand H, wenn die Hand H eine „Steinform“ macht, aufgenommen, und auf der Grundlage der Bilddaten werden unter Einsatz einer Computergraphiktechnik Nachahmungsdaten PD1 einer Nachahmung der Hand angelegt. Die Bilddaten der Hand H, wenn die Hand H eine „Papierform“ macht, werden erfasst, und auf der Grundlage der Bilddaten werden unter Einsatz einer Computergraphiktechnik Nachahmungsbilddaten PDn der Nachahmung der Hand angelegt. Bilder in dem Wechselprozess von der „Steinform“ zu der „Papierform“ können tatsächlich aufgenommen werden, aber wie in 9 gezeigt, können die Bilder in dieser Zeitspanne anhand einer Computergraphiktechnik geschaffen werden. Die so angelegten Nachahmungsbilddaten werden in einer Bilddatenspeichervorrichtung 10 gespeichert.
-
In dem dritten Schritt wird jeder der Bildwerte, die in der Vielzahl von Bilddaten enthalten sind, die in dem zweiten Schritt erzielt wurden, den vorab eingerichteten Betriebsbefehlen, die in der Speichervorrichtung 8 für vorab eingerichtete Betriebsbefehle gespeichert sind, zugeordnet oder entspricht ihnen, und wird in einem Speichermittel 11 für einem Bild entsprechenden Betriebsbefehl gespeichert. Zu bemerken ist, dass bei diesem Beispiel zusätzlich zu den tatsächlich aufgenommenen Bildern in dem Fall, in dem die Bilddaten zwischen der einen oder vorausgehenden Bildinformation PD1 in Zeitserien erzielt werden, und die folgenden Bilddaten PDn, die noch nicht aufgenommen sind, als Nachahmungsbilddaten mit einer Computergraphiktechnik geschaffen werden, das Speichermittel 11 für einem Bild entsprechenden Betriebsbefehl die vorab eingerichteten Betriebsbefehle, die den Nachahmungsbilddaten entsprechen, anlegt, indem auf der Grundlage vorab eingerichteter Betriebsbefehle, die der einen oder den vorhergehenden Bildinformationen PD1 und den vorab eingerichteten Betriebsbefehlen, die den darauffolgenden Bilddaten PDn entsprechen, geschätzt wird, und speichert diese, während sie den (nicht aufgenommenen) Nachahmungsbilddaten zugeordnet werden. Durch Anpassen der Technik wie oben beschrieben, können viele Daten, die zwischen den Bilddaten und den vorab eingerichteten Betriebsbefehlen zugeordnet werden, erzielt werden, wobei wenig tatsächliche Bilddaten aufgenommen werden. Daher können die grundlegenden Daten (Daten, die zwischen Bilddaten und vorab eingerichteten Betriebsbefehlen zugeordnet werden) sehr einfach gesammelt oder vorab eingerichtet werden.
-
Die Schritte eins bis drei werden als Vorbereitungsvorgang für das Antreiben der Roboterhand durchgeführt. Zu bemerken ist, dass zum Verwirklichen der Gelenkwinkelsteuerung mit einer Präzision von 5° pro Grad Freiheit beim Antreiben der Roboterhand etwa 100 Millionen (7 hoch 20) Bilder erforderlich sind. Bei der oben beschriebenen Technik, bei der Computergraphiktechnik verwendet wird, wird das Sammeln oder Vorabeinrichten der Basisdaten vereinfacht. Eine Computergraphik-Editionssoftware, hergestellt von Curious Labs Incorporated, kann hierfür verwendet werden. Mit dieser Software können ausgehend von den Gelenkdaten, die von dem Ausgang des Datenhandschuhs erzielt werden, ideale Finger CG-Bilder, die den zweidimensionalen Bildern der tatsächlich aufgenommenen Finger ähneln, durch Interpolation erzeugt werden. Und die vorab eingerichteten Betriebsbefehle, die den Bilddaten entsprechen, die durch Interpolation erzeugt wurden, können durch lineare Interpolation der Gelenkwinkel erzeugt werden. Zu bemerken ist, dass die Dateigröße der Finger-CG pro Bild etwa 5 kB beträgt.
-
Der vierte und der fünfte Schritt sind Schritte zum tatsächlichen Antreiben der Roboterhand. In dem vierten Schritt wird zum Bedienen der Roboterhand eine gewünschte Bewegung mit der Hand ausgeführt und gleichzeitig werden Bilddaten der Hand in Zeitserien als die Roboterbetriebsbilddaten, unter Einsatz einer Kamera 12 wie in 6, erzielt. Die Roboterbetriebsbilddaten (Betriebsbilddaten) werden in einer Speichervorrichtung 13 für Roboterbetriebsbilddaten gespeichert. In dem fünften Schritt werden Bilddaten, die den Betriebsbilddaten entsprechen, die in den Roboterbetriebsbilddaten enthalten sind, in Zeitserien ausgehend von der Vielzahl von Bilddaten spezifiziert, die in dem Speichermittel 11 für einem Bild entsprechenden Betriebsbefehl enthalten sind. Der Spezifizierungsvorgang wird in einem Gerät 14 zum Spezifizieren von Bilddaten und Betriebsbefehlerzeugen ausgeführt. In diesem Beispiel wird die Beziehung zwischen den Betriebsbilddaten, die in den Roboterbetriebsbilddaten enthalten sind, die in dem Speichermittel 11 für einem Bild entsprechenden Betriebsbefehl gespeichert sind, auf der Grundlage ihrer Ähnlichkeit bestimmt. Das Bestimmen der Ähnlichkeit erfolgt mit einem beliebigen Verfahren. In dem fünften Schritt werden der Antriebsvorrichtung 3 als Betriebsbefehle vorab eingerichtete Betriebsbefehle, die den spezifizierten Bilddaten entsprechen, gegeben, und die Roboterhand mit mehreren Fingern wird mit dem Ausgang von der Antriebsvorrichtung 3 angetrieben. Der Algorithmus der Software zum Ausführen der Hauptteile des vierten und des fünften Schritts mit einem Computer ist in 10 gezeigt.
-
Als eine Technik zum Extrahieren von Merkmalmengen beim Spezifizieren der Bilddaten in dem Gerät
14 zum Spezifizieren von Bilddaten und Betriebsbefehlerzeugen steht zum Beispiel eine Technik zum Merkmalmengenextrahieren zur Verfügung, die eine lokale Autokorrelationsfunktion höheren Ranges verwendet. Für die lokale Autokorrelationsfunktion höheren Ranges ist in einem Dokument mit dem Titel „Study on application of statistical method for flexible information processing“: Electrotechnical Laboratory Research Report, J957 1993, S. 126 bis 140 eine detailliertere Beschreibung offenbart. Zum Extrahieren von Merkmalen aus einem 2-dimensionalen Bild der Finger wurde die lokale Autokorrelationsfunktion höheren Ranges verwendet. Angenommen das objektive Bild innerhalb eines Bilds ist „f(r)“, wird die N. Autokorrelationsfunktion als der folgende Ausdruck unter Bezugnahme auf die Bewegungsrichtungen (a1, a2, ... an) definiert.
-
In dem Vorführtest war der Rang N des Autokorrelationskoeffizienten höheren Ranges 2, und die Bewegungsrichtung war auf eine lokale Zone von 3 x 3 Pixeln senkrecht und waagerecht um einen Referenzpunkt „r“ beschränkt. Dank dieser Anordnung mit Ausnahme äquivalenter Merkmale aufgrund paralleler Bewegung, war die Anzahl der Merkmale „M“ wie in 11 gezeigt, 25. Schwarze Quadrate in 11 entsprechen der Position der Pixel, die dem lokalen Muster entsprechen. Das Berechnen der jeweiligen Merkmale erfolgt durch Hinzufügen des Produkts der Werte der Pixel, die dem lokalen Muster entsprechen, zu den ganzen Pixeln.
-
Gemäß dem oben stehenden Verfahren kann die Roboterhand 1, um sie tatsächlich zu betreiben, nur durch Erzielen von Bildern der Hand, die der Roboterhand 1 entspricht, dazu veranlasst werden, die gleiche Bewegung auszuführen wie die Bewegung der Hand, während störende Probleme in einer Art des Nachahmens ohne den Einsatz von Sensoren eliminiert werden.
-
Bei der oben genannten Ausführungsform und obwohl die Bilder der menschlichen Hand tatsächlich im dritten Schritt aufgenommen wurden, versteht es sich von selbst, dass jede Bildinformation der Hand (Bildinformation einer Nachahmung der Hand) mit Computergraphiktechnik geschaffen werden kann.
-
Unten folgt eine detaillierte Beschreibung einer Verbesserungs- und Verstärkungstechnik der oben stehenden Ausführungsform.
-
[Betrachtung individueller Variation]
-
Zuerst kann bei dem oben beschriebenen zweiten Schritt durch Hinzufügen von Bilddaten, bei der individuelle Variationen, die man in der menschlichen Hand findet, berücksichtigt werden, zu der Vielzahl von Bilddaten (darunter die Bilddaten der Computergraphik) im fünften Schritt die Spezifikationspräzision erhöht werden. 12(A) bis 12(C) zeigen verschiedene Elemente individueller Variationen, die man in der menschlichen Hand findet. 12(A) zeigt ein Bild einer Hand, in dem die Hand in „Steinform“ geformt ist. Die individuelle Variation erscheint in der Wölbung der Fingergrundgelenkposition der vier Finger exklusive Daumen. Bei manchen Fingern bildet die Fingergrundgelenkposition der vier Finger eine gerade Linie, bei manchen Händen bildet sie eine gewölbte Linie. Ferner findet man beträchtliche individuelle Variation in dem Schub des Fingergrundgelenks des Daumens. Solche individuelle Variationen werden durch den Längenunterschied zwischen zwei Gliedern verursacht. 12(B) zeigt ein Bild der Hand, in dem die Hand in einer „Scherenform“ geformt ist. In diesem Zustand zeigt sich individuelle Variation in den zwei geöffneten Fingern und dem Referenzwinkel zwischen den zwei geöffneten Fingern. Ferner zeigt 12(C) ein Bild der Hand, bei dem die Hand in einer offenen „Papierform“ geformt ist. In diesem Zustand erscheint beachtliche individuelle Variation in dem geöffneten Zustand zwischen Daumen und Zeigefinger und dem Zustand des gewölbten Daumens. Beim Erzeugen von Bilddaten (Nachahmungsbilddaten) der Handform mit Computergraphiktechnik, kann man die erwähnten individuellen Variationen leicht erhalten, indem man die grundlegenden Bilddaten, die bereits erzeugt sind, als Parameter unterschiedlicher Elemente ändert. 13 ist ein Diagramm zum Veranschaulichen der Unterschiede in den Bilddaten, wenn die Wölbung der Fingergrundgelenkposition und der Schub des Fingergrundgelenks des Daumens durch Ändern der Parameter der Computergraphiksoftware geändert werden. Nur wenn die zwei unterschiedlichen Elemente geändert werden, können beachtlich unterschiedliche Nachahmungsbilddaten der individuellen Variationen erzielt werden. Es ist klar, dass beim Erzeugen der Bilddaten ein oder mehrere vorab eingerichtete Betriebsbefehle, die den Nachahmungsbilddaten entsprechen, die noch nicht angelegt sind und neu angelegt werden, geschätzt werden und auf den vorab eingerichteten Betriebsbefehlen, die einer oder vorhergehender Bildinformation und folgenden vorab eingerichteten Betriebsbefehlen, die folgenden oder sukzessiven Bilddaten entsprechen, entsprechen, angelegt werden, und die vorab eingerichteten Betriebsbefehle, die den Nachahmungsbilddaten entsprechen, können den Nachahmungsbilddaten (nicht aufgenommen) zugeordnet gespeichert werden.
-
[Ändern der Auflösung]
-
In der Vielzahl von Bilddaten, die in dem zweiten Schritt geschaffen werden, kann eine Vielzahl von Bilddaten mit unterschiedlichen Auflösungen, die mit geänderter Auflösung angelegt werden, enthalten sein. Deshalb erscheinen bestimmte Bildmerkmale deutlich, wenn die Auflösung der Bilddaten geändert wird. Wenn grundlegende Bilddaten verfügbar sind, kann die Auflösung der Bilddaten leicht auf der Grundlage der grundlegenden Bilddaten geändert werden. 14 zeigt drei Sorten von Bilddaten mit unterschiedlichen Auflösungen. Das Bild der linken Seite ist ein Originalbild, das Bild in der Mitte ist ein Bild in einem Zustand, bei dem die Auflösung durch Ändern der senkrechten und waagerechten 2 x 2 Pixel senkrecht und waagerecht in 1 Pixel verringert ist, und das Bild der rechten Seite ist ein Bild in einem Zustand, dessen Auflösung durch Ändern der senkrechten und waagerechten 4 x 4 Pixel senkrecht und waagerecht in 1 Pixel verringert ist. In dem Fall, in dem 15.000 Originalbilder zur Verfügung stehen, können zum Beispiel durch Ändern der Auflösung in zwei Schritten 45.000 Sorten von Bilddaten erzielt werden. In einem Zustand, in dem die Hand in einer „Steinform“ gebildet ist und weil die Finger einander überlappen, kann die Merkmalmenge genauer mit einer höheren Auflösung abgestimmt werden. In einem Zustand, in dem die Hand eine „Scherenform“ bildet, ist die Merkmalmenge des Bilds, das von dem Abschnitt mit den zwei hoch stehenden Fingern erzielt wird, wichtig, aber die Merkmalmenge des anderen Abschnitts kann eine falsche Bestimmung verursachen. Wenn Bilddaten mit unterschiedlichen Auflösungen daher vorab als Basisdaten vorbereitet werden, wird die Präzision des Zusammentragens verbessert.
-
[Berechnung der Merkmalmenge der jeweiligen Bilddaten]
-
Zum Spezifizieren von Bilddaten wurde der Gebrauch der Merkmalmengenextraktionstechnik mit der lokalen Autokorrelationsfunktion höheren Rangs beschrieben. Beim Stand der Technik wurden Merkmalmengen unter Bezugnahme auf das ganze Bild extrahiert. Zum Verbessern der Präzision wird jedoch vorgezogen, das Bild in mehrere Teilbilder zu unterteilen und die Merkmalmengen für die jeweiligen Teilbilder zu extrahieren. Um das zu verwirklichen, wird zuerst der Schwerpunkt der Hand in den Bilddaten geschätzt. Dazu werden die Bilddaten der Computergraphiken in ein Einfarbenbild digitalisiert und unter Bezugnahme auf das Einfarbenbild wird die Mitte in die Richtungen der X- und der Y-Achse anhand des folgenden Ausdrucks erzielt.
-
In dem oben stehenden Ausdruck sind „xg“ und „yg“ die X- und Y-Koordinaten des Schwerpunkts, „xi“ und „yi“ sind die X- und Y-Koordinaten weißer Pixel und „k“ ist eine Anzahl der weißen Pixel.
-
Nach dem Erzielen des Schwerpunkts des Bilds wie oben beschrieben, wird jedes der Bilder unter Bezugnahme auf den Schwerpunkt unterteilt. 15(A) und 15(B) zeigen einen Zustand, in dem ein Bild, das aus 320 x 240 Pixeln senkrecht und waagerecht besteht, in 4 x 4 Zonen unterteilt ist, und einen Zustand, bei dem das gleiche Bild in 8 x 8 Zonen unterteilt ist. Zu bemerken ist, dass das Bild in 16 x 16 Zonen unterteilt werden kann, wenn die Anzahl der Bildpunkte wie oben beschrieben 320 x 240 Pixel senkrecht und waagerecht beträgt.
-
Die Merkmalmenge wird an jedem der unterteilten Bilder, die wie oben beschrieben unterteilt sind, berechnet. Es wird daher das lokale Autokorrelationsmuster höheren Ranges unter Bezugnahme auf jede Bildunterteilung berechnet. In Übereinstimmung mit dem Verfahren zum Erzielen des lokalen Autokorrelationsmusters höheren Ranges, das oben beschrieben wurde, wird das lokale Autokorrelationsmuster höheren Ranges an jeder der Bildunterteilungen berechnet. Der folgende Ausdruck ist eine Formel zum Berechnen des lokalen Autokorrelationsmusters höheren Ranges.
-
In der oben stehenden Formel ist „xN“ eine lokale Korrelationsfunktion um den N. Referenzpunkt r. Daher ist „N“ 2. (a1, a2, ...an) ist die Bewegungsrichtung in der N. Autokorrelationsfunktion, und „f(r)“ ist ein Helligkeitswert an der Pixelposition „r“ des objektiven Bilds in dem Bild. Wenn das in 12 gezeigte lokale Muster verwendet wird, ist die Zahl der Muster 25, und wenn Duplikation zulässig ist, können 35 Muster verwendet werden.
-
[Reduzieren der Merkmalmenge]
-
Wenn die Merkmalmenge wie oben beschrieben berechnet wird und die Anzahl der Bilddaten zu groß ist, wird der Wert der Merkmalmengen, die zu verarbeiten sind, ebenfalls zu groß. Der Wert der Merkmalmengen, wenn Bilddaten mit drei Auflösungen wie in
14 beschrieben verwendet werden, beträgt zum Beispiel die Merkmalmenge = 3 Auflösungen x 64 Zonen (Bildunterteilungen) Mal
25 lokalen Autokorrelationsmustern höheren Ranges = 4800 (Rang). Es wird daher zum Verringern der Merkmalmenge der Einsatz der gemäß dem Stand der Technik gut bekannten Hauptbestandteilanalysetechnik vorgezogen. Zuerst muss die Faktorladung jedes Hauptbestandteils mit der Hauptbestandteilanalyse berechnet werden. Der folgende Ausdruck ist eine Formel für den Hauptbestandteilscore, der in der Hauptbestandteilanalyse verwendet wird.
-
In dem oben stehenden Ausdruck ist „Zkp“ der Hauptbestandteilscore der Information p in einem k. Hauptbestandteil, „xplmn“ ist die n. Merkmalmenge in der m. Zone des Bilds einer ersten Auflösung („1“ ist ein kleiner Buchstabe eines Alphabets „L“) der Information p, „aklmn“ ist die Faktorladung der n. Merkmalmenge der m. Zone des Bilds einer ersten Auflösung in dem k. Hauptbestandteil, „div“ ist eine Anzahl von Auflösungen (zum Beispiel 3) und „pnum“ ist eine Anzahl von Zonen der Bildunterteilung) (zum Beispiel 8 x 8 Zonen).
-
Hier kann durch Berechnen der Faktorladung aklmn und durch ihr Ersetzen in dem oben stehenden Ausdruck der Hauptbestandteilscore der Information „p“ in dem k. Hauptbestandteil erzielt werden. Als Rechenverfahren für die Faktorladung „aklmn“ stehen das Verfahren des Hauptfaktors, das Verfahren der kleinsten Quadrate, das Verfahren der maximalen Wahrscheinlichkeit und dergleichen zur Verfügung. Beim Berechnen der Faktorladung mit dem Verfahren des Hauptfaktors werden die folgenden Schritte angewandt.
-
(1) Standardisieren der Varianz von Variablen zu 1 und Berechnen der Musterkorrelationsmatrix C = (rjk).
-
(2) Ersetzen des maximalen Werts „rmax(J)“ (j!=k) in den Korrelationskoeffizienten zwischen „xj“ und den Restvariablen in das diagonale Element von „C“, um „C*“ zu schaffen.
-
(3) Lösen des Eigenwertproblems von „C*“, um die Eigenwerte λ1, λ2, ... , λp und die entsprechenden Eigenvektoren c1, c2, ..., cp zu erzielen. Die Eigenvektoren sind die Faktorladung.
-
Danach wird zum Verringern der Merkmalmenge das Beitragsverhältnis des Hauptbestandteils berechnet. Hier bedeutet der Ausdruck „Beitragsverhältnis“ einen Koeffizienten, der darstellt, wie viel die Hauptbestandteile die Originalinformation beschreiben und wird wie unten gezeigt ausgedrückt.
-
Hier ist „C
k“ das Beitragsverhältnis des k. Hauptbestandteils, und „b
klmn“ ist der Korrelationskoeffizient zwischen dem Hauptbestandteilscore „Z
kp“ und „x
plmn“ und wird durch den folgenden Ausdruck definiert.
-
„aklmn“ ist die Faktorladung der n. Merkmalmenge in der m. Zone des Bilds der ersten Auflösungen auf dem k. Hauptbestandteil, und „λk“ ist der Eigenwert der k. größeren Korrelationsmatrix.
-
Dann wird die Anzahl der Hauptbestandteile auf der Grundlage des summierten Beitragsverhältnisses bestimmt. Das oben stehende Beitragsverhältnis „C
k“ ist ein Koeffizient, der darstellt, wie viel jeder Hauptbestandteil die Originalinformation beschreibt, und der folgende Beziehungsausdruck kann erstellt werden.
-
Mit einem summierten Zielbeitragsverhältnis von etwa 95 % wird die Anzahl der Hauptbestandteile, die in der Verringerung der Merkmalmenge verwendet wird, mit dem folgenden Ausdruck bestimmt.
-
Bei dieser Ausführungsform werden die Hauptbestandteile bis zum 10. Hauptbestandteil, dessen summiertes Beitragsverhältnis in etwa 97 % beträgt, verwendet.
-
Dann werden die Daten in Übereinstimmung mit den Hauptbestandteilscores neu angeordnet. Die gesamten Daten werden neu in Übereinstimmung mit der Größe des Hauptbestandteilscores auf der Hauptbestandteilbasis von dem ersten bis zum 10. Hauptbestandteil angeordnet (sortiert). Dank dieser Einrichtung werden 10 Arten von Bilddatenquellen geschaffen. 16 zeigt die neu angeordneten Bilder. Wenn die Anzahl der Originalbilder 15.000 beträgt, werden dank dieser Neuanordnung insgesamt 15.000 x 10 = 150.000 Bilddaten gespeichert.
-
Um ähnliche Bilder effizient zu suchen, wenn ein Bild unbekannter menschlicher Finger eingegeben wird, wird vorgezogen, die Anzahl der zu suchenden Objekte unter Einschränken des Bereichs vorauszubestimmen. Insbesondere sind die Daten, die mit dem unbekannten Bild identisch sind, oder die Daten, die den nächsten Hauptbestandteilscore „Z
kp“ in den Hauptbestandteilen haben, und die Daten, die den Daten mit einer Anzahl, die dem Anteil der Hauptbestandteile entsprechen, vorausgehen/folgen, die zu suchenden Objekte. Die Anzahl der Kandidaten der Hauptbestandteile ist die folgende.
-
Hier ist „dcp“ eine Schätzungskandidatenanzahl des p. Hauptbestandteils (p = 1, 2,...10).
-
„Cc“ ist eine Summe von Schätzungskandidatenanzahlen, die vorausbestimmt ist.
-
Und der Ausdrucksteil, der „λp“ enthält, ist das Beitragsverhältnis von „p“ Bestandteil in dem 10. Hauptbestandteil.
-
Dank dem oben stehenden Ausdruck, werden die vorhergehenden/darauffolgenden Daten der Anzahl, die dem Beitragsverhältnis der Hauptbestandteile entspricht, als zu suchende Objekte bestimmt. Unter Bezugnahme auf 16 zum Beispiel, unter der Annahme, dass der Hauptbestandteilscore „Zkp“ des ersten Hauptbestandteils in den Betriebsbilddaten als das zu sammelnde Objekt ist 13 ist, werden die Bilddaten, die die Schätzungskandidatenanzahl haben, als die Bilddaten zum Sammeln extrahiert, darunter die Bilddaten deren Hauptbestandteilscore nahe 13 ist in der Mitte der Bilddaten, die die Grundlage für die Neueinrichtung in der Reihenfolge des Scores des Hauptbestandteilscores in dem ersten Hauptbestandteil sind.
-
17 zeigt die Abfolge des Anlegens der Datenbank der Bilddaten, die die oben beschriebenen Verbesserungen enthalten (entsprechend dem ersten bis dritten Schritt der Ausführungsform).
-
Unten werden die Verarbeitungsschritte zum Verarbeiten des vierten und des fünften Schritts (Sammelprozess) der vorliegenden Erfindung unter Gebrauch der Hauptbestandteilanalysetechnik unter Heranziehen der Datenbank, die wie oben angelegt werden, beschrieben. 18 zeigt das Flussdiagramm eines bestimmten Sammelschritts. Zuerst wird das Bild einer echten Hand aufgenommen. Wenn die oben beschriebene Merkmalmengereduzierungstechnik verwendet wird, und weil eine Verarbeitungsrate schneller als die Videorate erzielt werden kann, kann zum Aufnehmen eine Hochgeschwindigkeitskamera verwendet werden. Der Hintergrund wird von dem aufgenommenen Bild entfernt, um unnötige Information zu eliminieren. Ein Prozess zum Löschen (Hintergrundbild) aus dem aufgenommenen Bild (Handbild + Hintergrundbild) wird ausgeführt.
-
Danach wird die Merkmalmenge des aufgenommenen Bilds (Betriebsbilddaten) berechnet. Die Merkmalmenge kann mit der Auflösung beim Aufnehmen berechnet werden. In dem Beispiel in 18, ist die Auflösung der aufgenommenen Betriebsbilddaten geändert, und Betriebsbilddaten, die drei unterschiedliche Auflösungen haben (mehrere Sorten), werden erzielt. Einfach ausgedrückt werden dreimal Daten unter Bezugnahme auf identische Betriebsbilddaten angelegt. Und unter Bezugnahme auf die drei Arten von Betriebsbilddaten (Daten des Handbilds), in welchen die Auslösungen geändert sind, wird der Schwerpunkt des Handbilds in der gleichen Weise bestimmt wie das oben beschriebene Anlegen der Datenbank, um das Bild aufzuteilen. In diesem Fall wird das Bild ebenfalls in 16, 64 oder 246 Zonen aufgeteilt. Die Anzahl der Unterteilungen ist beliebig. Es wurde jedoch geprüft, dass auch, wenn die Anzahl der Unterteilungen zu stark gesteigert wird, die Präzision nicht zunimmt. Was die Anzahl der Unterteilungen betrifft, werden daher 16 oder 64 oder dergleichen vorgezogen.
-
Danach wird das lokale Autokorrelationsmuster höheren Ranges jedes unterteilten Bilds berechnet. Das Verfahren zum Berechnen des lokalen Autokorrelationsmusters höheren Rangs ist gleich wie das oben beschriebene Verfahren des lokalen Autokorrelationsmusters höheren Rangs, das beim Anlegen der Datenbank verwendet wird.
-
Dann wird der Hauptbestandteilscore mit der Hauptbestandteilanalyse auf der Grundlage des berechneten lokalen Autokorrelationsmusters höheren Ranges berechnet. Das Berechnen des Hauptbestandteilscores verwendet auch das gleiche Rechenverfahren wie das oben beschriebene Rechenverfahren des Hauptbestandteilscores beim Anlegen der Datenbank.
-
Dann werden die Bilddaten, die aufgenommen wurden, mit der Vielzahl von Bilddaten abgestimmt. Eine Vielzahl von Bilddaten zum Abstimmen, die Kandidaten für das Abstimmen sind, wird aus der Datenbank unter Bezugnahme auf den Hauptbestandteilscore, der durch Berechnen erzielt wurde, ausgewählt. Zu bemerken ist, dass die Anzahl der Kandidaten unter den jeweiligen Hauptbestandteilen anhand des oben stehenden Ausdrucks [Ausdruck 17] vorausbestimmt wird. Die Bilddaten, die den nächsten Hauptbestandteilscore „Zkp“ in den jeweiligen Hauptbestandteilen haben und die Bilddaten, die den Bilddaten vorausgehen und folgen werden für die Anzahl der vorausbestimmten Kandidaten ausgewählt, die der Beitragsrate der jeweiligen Hauptbestandteile der Bilddaten zum Vergleichen entsprechen. Die Bilddaten der Anzahl der zuvor bestimmten Kandidaten wird aus 10 Arten von Bilddatenquellen ausgewählt, die unter Bezugnahme auf 10 Arten von Hauptbestandteilen, die in der Datenbank gespeichert sind, angeordnet sind. Angenommen die Anzahl der vorab bestimmten Kandidaten beträgt 20 unter Bezugnahme auf jeden Hauptbestandteil, werden Bilddaten 20 × 10 = 200 aus der Datenbank ausgewählt. Es versteht sich von selbst, dass sich bestimmte Bilddaten gegenseitig überlappen.
-
Dann wird die Ähnlichkeit berechnet. Insbesondere wird zwischen einem eingegebenen Bild (Betriebsbilddaten) und einer Vielzahl von Kandidatenbilddaten (Kandidaten Computergraphik-Bandbilder) zum Abstimmen die euklidische Distanz „Er“ anhand des folgenden Ausdrucks berechnet.
-
Hier ist „fi(x)“ der Hauptbestanteilscore des i. Hauptbestandteils berechnet aus der Merkmalmenge;
„xr“ ist die Merkmalmenge eines Kandidaten „r“ erzielt mit der lokalen Autokorrelationsfunktion höheren Rangs;
„xt“ die Merkmalmenge, die mit der lokalen Autokorrelationsfunktion höheren Rangs in einem Zeitpunkt „t“ erzielt wird,
und Information „p“, die das Minimum „Er“ macht, ist das Suchbild, und
die Gelenkwinkelinformation, die in der Information „p“ enthalten ist, ist der Schätzungswinkel.
-
Wenn die Suchergebnisse der Zeit „t“ und Zeit „t-1“ innerhalb des zulässigen Bereichs des Gelenkwinkels liegen, ist die Suche für die Zeit „t“ beendet. Wenn ein Gelenkwinkel, der stark von der Zeit „t-1“ unterschiedlich ist, ausgewählt wird, wird der nächste Kandidat, der die kleinste euklidische Distanz „Er“ neben dem oben Stehenden hat, ausgewählt, und die Berechnung erfolgt um zu prüfen, ob diese innerhalb des zulässigen Bereichs liegt, indem der folgende Ausdruck verwendet wird.
-
Hier ist „Ap“ der zulässige Wert und „i“ ist eine Gelenkanzahl des Datenhandschuhs (in diesem Beispiel i=24).
-
Ferner ist „angi(t)“ die i. Gelenkwinkelinformation in dem Zeitpunkt „t“.
-
Wenn der zulässige Wert innerhalb des zulässigen Bereichs liegt, werden die Bilddaten als die Daten, die den Betriebsbilddaten entsprechen, festgelegt.
-
Unten wird eine weitere Ausführungsform des erfindungsgemäßen Verfahrens beschrieben. Anders als bei der oben beschriebenen Ausführungsform wird bei dieser Ausführungsform auf eine Hand, die einen Datenhandschuh trägt, ein Handschuh (Abdeckung) in solider oder schlichter Farbe (kein Muster: einfarbig) ferner wie in 19 gezeigt angezogen, und die oben stehenden Schritte eins und zwei werden gleichzeitig ausgeführt. In 19. zeigt die untere Figur die Hand, die den Datenhandschuh trägt, und die obere Figur zeigt die Hand, die den Datenhandschuh trägt, über welchen ein weiterer Handschuh angezogen ist. 20 ist ein Flussdiagramm, das eine Abfolge beim vorhergehenden Anlegen der Datenbank zeigt, und 21 ist eine Flussdiagram-Bildebene, die das detaillierte Flussdiagramm der 20 zeigt.
-
Zuerst wird die Hand im Zustand mit dem Handschuh mit einer Videokamera 109 aufgenommen. Bei dieser Ausführungsform wird die Datenbank unter Verwenden der Bilddaten der Hand, die mit der Hochgeschwindigkeitskamera 109 aufgenommen wurden, und Fingerwinkeldaten, die vom dem Datenhandschuh erzielt wurden, gebildet. Die Bilddaten und die Gelenkwinkeldaten werden daher als Satz erzielt. Bei dieser Ausführungsform wird die Hand mit den Fingern mit einer monochromen Hochgeschwindigkeitskamera der Firma MEGAPLUS mit einer Auflösung von 320 x 240 Pixel senkrecht und waagerecht aufgenommen, und es wird ein Zustand geschätzt, bei dem die Finger mit zufriedenstellender Größe innerhalb eines Bilds aufgenommen werden. Zum Messen der Gelenkwinkeldaten wurde der zuvor genannte Datenhandschuh der Firma Virtual Technologies verwendet. Als weiterer Handschuh wurde ein einfarbig weißer Handschuh ohne Muster verwendet. Durch Anziehen des anderen Handschuhs über den Datenhandschuh werden Bildmerkmale, die zum Datenhandschuh gehören (Formen des Sensors und der weiße Handschuh) daran gehindert, gezeigt zu werden. Anders als bei der vorhergehenden Ausführungsform, ist die Aufnahme des weißen Handschuhs in Farbe und Bild selbst anders als die der menschlichen Hand. Aber auch die Bilddaten der Hand mit dem weißen Handschuh können durch Umwandeln im Merkmalmenge als Handbilddaten der Hand wie unten beschrieben gehandhabt werden. Um beim Anlegen der Datenbank den Einfluss des Hintergrundbilds zu vermeiden, wird die Aufnahme mit einer einfarbigen ungemusterten Leinwand als Hintergrund durchgeführt. Die Hauptdatenbank wird unter Einsatz der Fingergelenkwinkeldaten, die von dem Datenhandschuh erzielt werden, und mit einer Vielzahl von kontinuierlichen Bilddaten gebildet und ist derart, dass eine Gelenkwinkelinformation und Bilddaten ein Satz werden. Um die erforderliche und ausreichende Information zu erhalten, werden erforderliche Bilddaten und Winkeldaten gleichzeitig beim ständigen Bewegen der Hand erzielt und gespeichert.
-
Bei dieser Ausführungsform erfolgt eine Bildverarbeitung, um die Bilddaten der Hauptdatenbank in Merkmalmengen zu verwandeln, die zum Schätzen des tatsächlichen Handbilds erforderlich sind. Zur Bildverarbeitung erfolgen Hintergrundlöschen, Auflösungswechsel, Kantenextraktion und Konturextraktion (Merkmalmengenextraktion).
-
Zuerst wird der Hintergrund aus den Bilddaten gelöscht. Anhand eines zuvor erzielten Hintergrundbilds wird der Unterschied zum Objektbild erzielt. Wenn der Unterschied einen Schwellenwert überschreitet, wird das Pixel des Objektbilds verwendet, anderenfalls wird auf 0 gestellt.
-
Dann wird die Auflösung des Bilds, von dem der Hintergrund entfernt wurde, geändert. Das erzielte Bild hat die Größe
302 x 240 Pixel senkrecht und waagerecht. Beim Einsatz des Bilds so wie es ist, dauert das Berechnen des Schätzungsprozesses während der verschiedenen Bildverarbeitungen zu lang. In dem Fall, in dem die Schätzung durch einen Menschen erfolgt, auch wenn die Größe eines Bilds kleiner ist als das bei dieser Ausführungsform verwendet, ist die Schätzung möglich. Bei dieser Ausführungsform wird daher die Auflösung von der Größe von 320 x 240 Pixel senkrecht und waagerecht auf eine Größe von 64 x 64 Pixel senkrecht und waagerecht geändert. 1 Der Pixelwert nach dem Auflösungswechsel wird mit dem folgenden Ausdruck bezeichnet.
-
Hier sind „gr(i, j)“ die Pixelwerte der i. Zeile und j. Spalte nach dem Auflösungswechsel. „go(i, j)“ sind die Pixelwerte in der i. Zeile und j. Spalte vor dem Auflösungswechsel. Bei diesem Ausdruck erfolgt die Berechnung mit 320 Pixeln senkrecht unter Abzielen auf passendes Seitenverhältnis, weil der Pixelwert nach dem Auflösungswechsel 64 x 64 ist. Ferner erfolgt das Berechnen für „k, 1“ aus i x 320/64 zu (i + 1) x 320/64 - 1 und „r“ ist die Anzahl von kx1.
-
Unter Einsatz der Bilder mit geänderter Auflösung, die in dem oben genannten Vorgang erzielt wurden, erfolgt die Kantenextraktion. Hier werden Merkmale, die für das Schätzen erforderlich sind, extrahiert. Insbesondere werden die geänderten Bilder mit einem Sobel-Filter gefiltert. Dann wird die Kante durch Digitalisieren der äußersten Peripherie der Bilder extrahiert.
-
Der Prozess mit dem Sobel-Filter entspricht dem folgenden Ausdruck.
-
Hier wird „fr(i, j)“ durch den folgenden Ausdruck gegeben.
-
In dem oben stehenden Ausdruck stellt „fi(i ,j)“ ein Pixel in der i. Seitlichen und der j. Senkrechten vor dem Verarbeiten dar. „fs“ ist der Endwert nach dem Verarbeiten.
-
Hier wird das Digitalisieren der äußersten Peripherie des Bilds mit einem relativ niedrigen Schwellenwert ausgeführt, um keine Unterbrechung in der Kontur aufgrund der Konturextraktion zu verursachen. Als abschließendes Bildverarbeiten erfolgt ein Scannen an dem digitalisierten Bild, das durch die Kantenextraktion erzielt wurde, um seine Kontur zu extrahieren. Das im vorhergehenden Schritt erzielte Bild wird aufgrund von Änderungen in dem Umgebungslicht nicht als Kontur verwendet. Man findet Unterschiede in dem Umgebungslicht, menschlicher Hautfarbe oder dergleichen zwischen dem Augenblick der tatsächlichen Schätzung und dem Augenblick des Anlegens der Datenbank. Wenn die Kantenextraktion ausgeführt wird, sind in dem Augenblick des Anlegens der Datenbank, weil der weiße Handschuh verwendet wird, außerdem Wert und Breite oder dergleichen der Kante anders als die der Kante im tatsächlichen Bild. Wenn daher die Bilddaten der Datenbank und die tatsächlichen Bilddaten verglichen werden (beim Schätzen), kann ein großer Unterschied zwischen den beiden Kanten entstehen. Durch Ausführen der Konturextraktion werden daher die Breite und der Wert der Kante gleichförmig gemacht. Um den Unterschied zwischen den Informationen, die aus der Datenbank erzielt werden, und den Informationen, die aus der Schätzung erzielt werden, zu verringern und den Einfluss der Umgebung zu eliminieren, wird die Konturextraktion verwendet, so dass der Fehler beim Schätzen verringert wird. 22 zeigt ein Bild nach dem Auflösungswechsel, erzielt durch Ausführen der Konturextraktion nach der Kantenextraktion.
-
Zu bemerken ist, dass bei dem Konturextraktionsalgorithmus zum Digitalisieren nur der äußersten Peripherie ein Scannen des Bilds von oben erfolgt, und ein Punkt von zuerst 127 ist der Startpunkt. Benachbarte Pixel werden gegen den Uhrzeigersinn von dem Startpunkt ausgehend gesucht, und wenn ein Punkt von 127 gefunden wird, wird die Verarbeitung verlegt zu dem Punkt von 127 und der Wert wird auf 255 geändert. Nach dem Verlegen unter Bezug auf die vorhergehende Position, wird der Suchstartpunkt in acht Muster unterteilt, und die Suche wird fortgesetzt. In einem Punkt, in dem das Verarbeiten wieder zu dem Startpunkt zurückkehrt, wird bestimmt, dass die Kontur extrahiert wurde, und die Suche wird beendet. Wie für den Rest der Punkte und da die Punkte nicht auf der Kontur sind, werden die Punkte von 127 schließlich alle auf 0 gesetzt.
-
Dann werden die Bilddaten nach der Konturextraktion in Merkmalmenge umgewandelt. Bei dieser Ausführungsform wird eine lokale Autokorrelationsfunktion höheren Ranges von Otsu et al. (
N. Otsu and T. Kurita, „A new scheme for practical, flexible and intelligent vision systems", Proc. IAPR. Workshop on Computer vision, S. 431-435, 1998), verwendet. Die lokale Autokorrelationsfunktion höheren Ranges ist gut für das Erfassen und Messen von Bildern geeignet. Unter Verwenden der lokalen Autokorrelationsfunktion höheren Ranges, die vom folgenden Ausdruck definiert wird, werden die Referenzpunkte und ihre Umgebung berechnet.
-
In dem oben stehenden Ausdruck ist „xN“ eine korrelationale Funktion in der Nähe eines Punkts „r“ in der N. Dimension. Im Allgemeinen ist der Koeffizient N beim Verarbeiten eines tatsächlichen Bilds aufgrund der Bedeutung der Faktorobjektpunkte bis zum 2. Rang oder darunter eingeschränkt. Ferner wird das Ausschließen dieses möglicherweise ausgedrückt mit äquivalenten Begriffen aufgrund paralleler Verschiebung, die Punkte sind mit 25 Arten von Merkmalmengen wie in 23 gezeigt ausgedrückt. Zu bemerken ist, dass, verglichen mit den Merkmalmengen der Nr. 6 und weil die Merkmalmengen von Nr. 1 bis Nr. 5 im Maßstab alle klein sind, die Maßstäbe untereinander gleichförmig gemacht werden müssen. Die Merkmalmengen von Nr. 1 bis Nr. 5 werden ferner multipliziert mit dem Pixel des Referenzpunkts, die Merkmalmenge der Nr. 1 wird mit dem Quadrat des Pixelwerts des Referenzpunkts multipliziert, um den Maßstab mit dem der anderen Merkmalmengen gleichförmig zu machen.
-
Bei dieser Ausführungsform und wie in 25 gezeigt, wird ein Bild in 8 x 8 senkrecht und waagerecht unterteilt. In den insgesamt 64 unterteilten Zonen, unter Bezugnahme auf jedes der Pixel als Referenzpunkt, werden die 25 Arten von Merkmalmengen unter Einsatz der lokalen Autokorrelationsfunktion höheren Rangs reduziert. Das heißt, dass vom Standpunkt des ganzen Bilds her die Merkmalmenge des ganzen Bilds unter Einsatz der Merkmalmengen von 25 Mustern x Anzahl der unterteilten Zonen erzielt werden kann.
-
Die Merkmaldaten von Bilddaten umgewandelt in Merkmalmenge und eine Winkelinformation, die von dem Datenhandschuh erzielt wird (entsprechend des vorab eingerichteten Betriebsbefehls), werden in einem Speichermittel für Bildentsprechungsbetriebsbefehle (Datenbank) als Satz gespeichert. Bei dieser Ausführungsform wird überhaupt das tatsächliche Bild mit dieser Datenbank spezifiziert.
-
Unten wird ein Verfahren zum Schätzen des Fingerwinkels von einem tatsächlichen Bild einer aufgenommenen Hand unter Einsatz einer Datenbank (Speichermittel für Bildentsprechungsbetriebsbefehle), die wie oben erzeugt wird, beschrieben. 25 ist ein Algorithmus, der eine Schätzungssequenz zeigt, und 26 ist ein detaillierter Algorithmus davon. Vor dem Ausführen der Schätzung werden zuerst Bilder (Betriebsbilddaten) einer sich bewegenden Hand mit einer Hochgeschwindigkeitskamera gleich wie beim Anlegen der Datenbank erzielt. Die gleiche Bildverarbeitung wie bei dem Anlegen der Datenbank erfolgt an den erzielten Betriebsdaten, um die Merkmalmenge zu extrahieren. Und die Merkmalmengen der Betriebsbilddaten werden mit der Merkmalmenge einer Vielzahl von Bilddaten verglichen, die in der Datenbank in dem Prozess gespeichert sind, was unten beschrieben wird, und Winkeldaten, die mit den Bilddaten, die den Betriebsbilddaten am nächsten sind, werden als der Betriebsbefehl ausgegeben, der den Betriebsbilddaten entspricht.
-
Insbesondere wurde bei dem Prozess des Abstimmens mit der Datenbank die Distanz zwischen der Merkmalmenge der Betriebsbilddaten und jedem Bild, das in der Datenbank gespeichert ist, verglichen. Das Berechnen der Distanz erfolgt unter Einsatz einfacher euklidischer Distanz. Die Enddistanz wurde mit dem folgenden Ausdruck berechnet.
-
In dem oben stehenden Ausdruck ist „x
r1“ eine Merkmalmenge „i“ mit der lokalen Autokorrelationsfunktion höheren Ranges der Klasse r, „x
ti“ ist eine Merkmalmenge „i“ in einem Zeitpunkt „t“ mit der lokalen Autokorrelationsfunktion höheren Ranges. Der Winkel der Information „r“, der „Er“ minimiert, wird als der Winkel der Betriebsbilddaten geschätzt. Da jedoch Daten mit einer ähnlichen Merkmalmenge in die mit weitgehend unterschiedlichen Winkeln geraten können, wird der Winkel durch Einsatz des im vorhergehenden Zeitpunkt (Zeit t-1) geschätzten Winkels eingeschränkt. Insbesondere wird wie für die Daten, deren Distanz knapp ist, wenn die Schätzungsfunktion „Ap“ ausgedrückt durch die den folgenden Ausdrücke einen vorausbestimmten Wert überschreitet, die Information aus den Schätzungskandidaten ausgeschlossen. Liegt die Schätzungsfunktion „Ap“ innerhalb des vorausbestimmten Werts, wird der Schätzungswinkel angenommen.
-
Hier ist „angi(t)“ die i. Winkelinformation in dem Zeitpunkt „t“. Ferner ist die Winkelinformation, die von dem Datenhandschuh erzielt wird, 24. Der vorliegende Schätzungswinkel wird anhand der oben beschriebenen Schritte erzielt.
-
Bei einer tatsächlichen Schätzung ist Echtzeitverarbeitung, wenn der Prozess der Distanzberechnung an jeder Bildinformation, die in der Datenbank gespeichert ist, ausgeführt wird, unmöglich, weil die Rechenkosten in Abhängigkeit von der Größe der Datenbank zu hoch werden. Bei dieser Ausführungsform wird daher die Anzahl der Schätzungskandidaten durch Clustern der Daten verringert, um Echtzeitverarbeiten zu verwirklichen.
-
Fig. ist eine schematische Ansicht zum Veranschaulichen des Clusterns. In 27 stellt eine Zeile einen Satz bestehend aus einer Vielzahl von Bilddaten dar. Zeilen, die dunkel schattiert sind, sind die Daten, die Gegenstand der ersten Suche sind, und Zeilen, die hell schattiert sind, sind die Daten, die Gegenstand der detaillierten Suche sind. Wenn die Daten, die in der Datenbank enthalten sind, unter Einsatz des oben beschriebenen Algorithmus, der beim Anlegen der Datenbank verwendet wird, erzeugt werden, werden Daten, die ähnlich der Form der Hand sind, in einer Anordnung von Bilddaten gesammelt. Unter Einsatz des oben Beschriebenen werden die Bilddaten, die Gegenstand der Distanzberechnung sind, reduziert. Insbesondere wird eine Vielzahl von Bilddaten als ein Satz gehandhabt. Wie bei den Bilddaten, die für die erste Distanzberechnung verwendet werden, wird jeweils ein Satz aus einer Vielzahl von Sätzen ausgewählt, und die Distanz von den ausgewählten Bilddaten wird berechnet. Daher werden die Berechnungskosten für die Distanzberechnung durch „die Anzahl der Daten, die in den jeweiligen Sätzen enthalten sind - 1“, die in jedem Satz enthalten sind, verringert, was zu weitgehender Kostenreduzierung führt. Da jedoch in diesem Schritt eine Möglichkeit besteht, dass Bilddaten mit einem ähnlichen Winkel wie der tatsächliche Winkel aus der Berechnung ausgeschlossen werden, sinkt die Präzision im Vergleich zu dem Fall, in dem das Schätzungsresultat mit jeder Bildinformation in der Originaldatenbank verglichen wird. Bei der Distanzberechnung des ersten Schritts wie für die Bilddaten, bei welchen die Distanz knapp ist, wird die Distanz zwischen jeder Bildinformation, die in einem Satz enthalten ist, der Bilddaten enthält, und Betriebsbilddaten berechnet. Durch derartiges Anpassen werden in der Nähe der jeweiligen Information die Bilddaten mit ähnlichem Winkel gesammelt, und ein besser zufrieden stellendes Schätzungsresultat kann erzielt werden. Ein Experiment zum Prüfen des Effekts des Clusterns wurde unter den folgenden Bedingungen ausgeführt: Vorbereitung von Datenbildsätzen, die jeweils zehn Bilddaten enthalten, Berechnen der Distanz im ersten Schritt zwischen einer Betriebsbildinformation und einer Bildinformation, die in den mehrfachen Sätzen enthalten sind, und dann Berechnen der Distanz und Winkelbeschränkung an allen Bilddaten, die in den oberen fünf Sätzen enthalten sind, von welchen die Distanz, die durch das oben erwähnte Verarbeiten erzielt werden, zueinander knapp ist, um den Endwinkel zu schätzen. Es hat sich gezeigt, dass zufrieden stellende Präzision mit im Wesentlichen dem gleichen Niveau wie in dem Fall, in dem der Vergleich mit jeder Bildinformation gemacht wird, erzielt werden kann.
-
Bei der oben stehenden Ausführungsform wird die lokale Autokorrelationsfunktion höheren Ranges verwendet, um die Merkmalmenge zu erzielen. Es versteht sich jedoch von selbst, dass ein anderes Verfahren zum Berechnen der Merkmalmenge verwendet werden kann. Zum Beispiel kann ein Verfahren zum Berechnen des Merkmalmengenvektors offenbart in „Display model for large scale collective image“, Hiroike Atsushi, Musya Yoshinori, (Society of Photographic Science and Technology of Japan, Band 66, 1, S. 93 bis 101, 2003) verwendet werden.
-
Industrielle Anwendbarkeit
-
Damit ein Roboter tatsächlich eine Operation bloß durch Erzielen von Bildern eines sich bewegenden Objekts, das dem Roboter entspricht, oder einer Nachahmung des sich bewegenden Objekts, ausführt, kann gemäß der vorliegenden Erfindung ein störendes Problem eliminiert werden, und der Roboter zum Ausführen von Nachahmungsbewegung der gleichen Bewegung wie das sich bewegende Objekt oder zum Nachahmen des sich bewegenden Objekts gebracht werden.