DE102019219479A1 - System und verfahren zur zyklusdauermessung in wiederholten aktivitätssequenzen - Google Patents

System und verfahren zur zyklusdauermessung in wiederholten aktivitätssequenzen Download PDF

Info

Publication number
DE102019219479A1
DE102019219479A1 DE102019219479.6A DE102019219479A DE102019219479A1 DE 102019219479 A1 DE102019219479 A1 DE 102019219479A1 DE 102019219479 A DE102019219479 A DE 102019219479A DE 102019219479 A1 DE102019219479 A1 DE 102019219479A1
Authority
DE
Germany
Prior art keywords
cycle
frame buffer
cycles
frames
segmentation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019219479.6A
Other languages
English (en)
Inventor
Liu Ren
Lincan Zou
Cheng Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102019219479A1 publication Critical patent/DE102019219479A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)

Abstract

Unter Verwendung von Globaloptimierung wird ein Zyklus innerhalb eines Rahmenpuffers, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, detektiert. Die Detektion beinhaltet Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen der Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jeden aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist. Zyklusdauerdaten für den detektierten Zyklus werden erzeugt. Rahmen, die dem detektierten Zyklus angehören, werden aus dem Rahmenpuffer entfernt. Die Zyklusdauerdaten werden ausgegeben.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft Systeme und Verfahren zur Messung von Zyklusdauer in wiederholten Aktivitätssequenzen.
  • HINTERGRUND
  • Aspekte menschlicher Bewegung können beispielsweise einen großen Einfluss darauf haben, wie ein Werkzeug designt ist, wie ein Arbeitsplatz ausgelegt ist oder wie eine Aufgabe ausgeführt wird. Verständnis, wie sich der menschliche Körper bewegen und mit Objekten und der Umgebung zusammenspielen kann, kann zu Werkzeugen führen, die ergonomischer sind, zu Arbeitsplätzen, die effizienter zu navigieren sind, und zu Aufgaben, die intuitiver auszuführen sind. Die Bandbreite möglicher menschlicher Bewegungsabläufe und Gesten ist allerdings riesig, und einfache Aufgaben, wie etwa Anheben einer Tasse, Zeigen in eine Richtung oder Drehen einer Schraube, ergeben sich häufig aus einem komplexen Satz von biomechanischen Interaktionen. Diese Beziehung eines einfachen Ergebnisses aus komplexer Bewegung kann es extrem schwer machen, menschliche Bewegungsabläufe und Gesten auf eine bedeutsame oder praktische Weise zu quantifizieren oder zu verstehen.
  • KURZDARSTELLUNG
  • In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein System zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen eine Anzeigevorrichtung, einen Speicher, der ausgelegt ist zum Speichern einer Bewegungsanalyseanwendung und von Bewegungsaufnahmedaten, die eine Referenzaktivitätssequenz beinhalten, und einen Rahmenpuffer, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, und einen Prozessor, der betriebswirksam mit dem Speicher und der Anzeigevorrichtung verbunden ist. Der Prozessor ist dafür ausgelegt, die Bewegungsablaufanalyseanwendung auszuführen zum Detektieren eines Zyklus innerhalb des Rahmenpuffers unter Verwendung einer Globaloptimierung, beinhaltend Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jede aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, Erzeugen von Zyklusdauerdaten für den detektierten Zyklus, Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer, und Ausgeben der Zyklusdauerdaten an die Anzeigevorrichtung.
  • In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein Verfahren zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen Detektieren, unter Verwendung von Globaloptimierung, eines Zyklus innerhalb eines Rahmenpuffers, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, wobei das Detektieren beinhaltet: Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen einer Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jede aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, Erzeugen von Zyklusdauerdaten für den detektierten Zyklus; Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer; und Ausgeben der Zyklusdauerdaten an die Anzeigevorrichtung.
  • In einem oder mehreren veranschaulichenden Beispielen gibt es ein nichttransitorisches computerlesbares Medium, das Anweisungen einer Bewegungsablaufanalyseanwendung umfasst, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen zum Detektieren, unter Verwendung von Globaloptimierung, eines Zyklus innerhalb eines Rahmenpuffers, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, wobei das Detektieren beinhaltet: Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen einer Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jede aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, Erzeugen von Zyklusdauerdaten für den detektierten Zyklus; Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer; Weiterführen des Detektierens zusätzlicher Zyklen innerhalb des Rahmenpuffers unter Verwendung der Globaloptimierung bis der Rahmenpuffer über keine ausreichenden Zyklen für einen zusätzlichen Zyklus mehr verfügt; und Ausgeben der Zyklusdauerdaten.
  • Figurenliste
    • 1 veranschaulicht ein Beispielsystem zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen;
    • 2 veranschaulicht ein Beispiel für einen Zyklus einer Referenzaktivitätssequenz und eines Rahmenpuffers;
    • 3 veranschaulicht einen Beispielprozess zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen;
    • 4 veranschaulicht ein Beispieldiagramm einer Zyklussegmentationssuche innerhalb des Rahmenpuffers;
    • 5 veranschaulicht ein Beispieldiagramm einer Berechnung eines Segmentationsfehlers;
    • 6 veranschaulicht ein Beispieldiagramm einer Bestimmung von Zyklen aus den berechneten Segmentationen; und
    • 7 veranschaulicht ein Beispiel für Präparation des Rahmenpuffers zur Detektion des nächsten Zyklus.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Offenbarung werden hier beschrieben. Es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale könnten übertrieben oder minimiert sein, um Einzelheiten spezieller Komponenten zu zeigen. Die spezifischen offenbarten strukturellen und funktionalen Einzelheiten sind daher nicht als einschränkend aufzufassen, sondern lediglich als eine repräsentative Basis zum Lehren eines Fachmanns, wie die Ausführungsformen verschieden einzusetzen sind. Der Durchschnittsfachmann versteht, dass verschiedene unter Bezugnahme auf irgendeine der Figuren veranschaulichte und beschriebene Merkmale mit in einer oder mehreren anderen Figuren veranschaulichten Merkmalen kombiniert werden können, um Ausführungsformen zu produzieren, die nicht explizit veranschaulicht oder beschrieben werden. Die Kombinationen von veranschaulichten Merkmalen liefern repräsentative Ausführungsformen für typische Anwendungen. Verschiedene Kombinationen und Modifikationen der mit den Lehren dieser Offenbarung konsistenten Merkmale könnten jedoch für besondere Anwendungen oder Implementationen erwünscht sein.
  • Im industriellen Umfeld ist es wichtig, allerdings herausfordernd, eine Zyklusdauer von wiederholten physischen menschlichen Aktivitäten auf der Grundlage von Daten einer Trägheitsmesseinheit (inertial measurement unit - IMU) zu messen. Beispielsweise kann das Produktivitätsniveau der Montagelinie in einer Fabrik auf der Grundlage von genauer Messung von wiederholten Aktionen eines Bedieners verbessert werden. Allerdings ist manuelles Messen wiederholter Zyklen arbeitsintensiv. Somit ist es nötig, eine Lösung zu entwickeln, um die Zyklusdauer automatisch zu messen. Manche Systeme führen eine Echtzeitdetektion von Zyklen anhand von wiederholten Aktivitäten auf der Grundlage von vorab aufgezeichneten standardisierten Operationen aus. Allerdings sind solche Systeme am besten für wiederholte Aktivitäten mit einem hohen Standardisierungsniveau geeignet, sind aber weniger zum Messen von Zyklusdauer von wiederholten Aktivitäten mit vielen Anomalien geeignet. Das hohe Standardisierungsniveau bedeutet, dass es weniger Bewegungsablaufdifferenzen hinsichtlich Orientierung und Geschwindigkeit zwischen den Abfrageaktivitäten und dem aufgezeichneten Standardzyklus gibt.
  • Diese Offenbarung schlägt eine Lösung zum Messen einer Zyklusdauer bei wiederholten physischen menschlichen Aktivitäten unter Verwendung der Zeitreihendaten von IMUs mit verbesserter Leistungsfähigkeit vor. Im Gegensatz zu manchen Systemen, die auf eine reine Echtzeitweise arbeiten, misst der vorgeschlagene Ansatz eine Zyklusdauer von wiederholten Aktivitätssequenzen, die in einen Puffer gestreamt oder anderweitig in einem solchen gespeichert werden. Der vorgeschlagene Ansatz nutzt eine Globaloptimierung aller in dem Puffer gespeicherten Aktivitäten mit dem Ziel, den Gesamtfehler aller Zyklusdauern zu minimieren. Somit wird die Zyklusdauermessgenauigkeit dramatisch verbessert. Die Genauigkeit und die Reaktionsverzögerung sind positiv mit der Puffergröße korreliert. Für hochgradig standardisierte wiederholte Aktivitäten könnte eine relativ kleine Puffergröße noch immer die Genauigkeitserwartung erreichen. Allerdings verringert sich die Reaktionsverzögerung mit der kleineren Puffergröße. Weitere Aspekte der Offenbarung werden unten ausführlicher erörtert.
  • 1 ist ein schematisches Diagramm eines Ausführungsbeispiels eines Systems 100 zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen. Das System 100 kann eine Genauigkeit quantitativ berechnen, z. B. eine Abweichung von einem vorgeschriebenen Bewegungsablauf oder einer Geste und eine Abweichung von einer Zielzeitdauer zum Abschließen einer Bewegung. Das System 100 beinhaltet einen Prozessor 102, der mit einem Speicher 110, einer Eingabevorrichtung 116, einer Bewegungsablaufaufnahmevorrichtung 118 und einer Anzeigevorrichtung 108 wirkverbunden ist. Wie unten ausführlicher beschrieben ist, führt das System 100 während des Betriebs Folgendes durch: (i) Detektieren, unter Verwendung von Globaloptimierung, eines Zyklus innerhalb eines Rahmenpuffers, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, wobei das Detektieren beinhaltet:
    1. (a) Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen der Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, (b) Berechnen von Segmentationsfehlern für jede aus den mehreren Zyklussegmentationen und (c) Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, (ii) Erzeugen von Zyklusdauerdaten für den detektierten Zyklus; (iii) Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer; und (iv) Ausgeben der Zyklusdauerdaten.
  • In dem System 100 beinhaltet der Prozessor 102 einen oder mehrere integrierte Schaltkreise, die die Funktionalität einer zentralen Verarbeitungseinheit (CPU: Central Processing Unit) 104 und einer Grafikverarbeitungseinheit (GPU: Graphics Processing Unit) 106 implementieren. In manchen Beispielen ist der Prozessor 102 ein System-auf-einem-Chip (SoC), das die Funktionalität der CPU 104 und der GPU 106 und optional andere Komponenten einschließlich beispielsweise des Speichers 110, einer Netzwerkvorrichtung und eines Positionierungssystems in einem einzigen integrierten Bauelement integriert. In anderen Beispielen sind die CPU 104 und die GPU 106 über eine Peripherieverbindungsvorrichtung, wie etwa PCIexpress oder eine andere geeignete Peripheriedatenverbindung, miteinander verbunden. In einem Beispiel ist die CPU 104 eine kommerziell erhältliche zentrale Verarbeitungsvorrichtung, die einen Befehlssatz, wie etwa einen der Befehlssatzfamilien x86, ARM, Power oder MIPS, implementiert.
  • Die GPU 106 kann Hardware und Software zum Anzeigen von zumindest zweidimensionalen (2D) und optional dreidimensionalen (3D) Grafiken auf einer Anzeigevorrichtung 108 beinhalten. Die Anzeigevorrichtung 108 kann einen elektronischen Anzeigebildschirm, einen Projektor, Drucker oder eine beliebige andere geeignete Vorrichtung, die eine Graphikanzeige wiedergibt, beinhalten. In manchen Beispielen führt der Prozessor 102 Softwareprogramme, die Treiber und andere Softwarebefehle beinhalten, unter Verwendung der Hardwarefunktionalität in der GPU 106 aus, um eine Erzeugung und Anzeige der grafischen Darstellungen von Modellen von menschlichen Bewegungen und Visualisierungen quantitativer Berechnungen, die hier beschrieben sind, zu beschleunigen.
  • Während des Betriebs führen die CPU 104 und GPU 106 gespeicherte Programmanweisungen aus, die aus dem Speicher 110 abgerufen werden. Die gespeicherten Programmanweisungen beinhalten Software, die den Betrieb der CPU 104 und der GPU 106 steuert, um die hier beschriebenen Operationen durchzuführen.
  • Obgleich 1 den Prozessor 102 als sowohl die CPU 104 als auch die GPU 106 beinhaltend darstellt, können alternative Ausführungsformen die GPU 106 weglassen, da der Prozessor 102 beispielsweise zu einem Server gehören kann, der Ausgabevisualisierungsdaten unter Verwendung von nur einer CPU 104 erzeugt und die Ausgabevisualisierungsdaten an eine abgesetzte Client-Rechenvorrichtung überträgt, die eine GPU 106 und eine Anzeigevorrichtung 108 zum Anzeigen der Daten verwendet. Außerdem können alternative Ausführungsformen des Prozessors 102 Mikrocontroller, anwendungsspezifische integrierte Schaltkreise (ASICs: Application Specific Integrated Circuits), feldprogrammierbare Gate-Arrays (FPGA: Field Programmable Gate Arrays), digitale Signalprozessoren (DSP) oder beliebige andere geeignete digitale Logikvorrichtungen zusätzlich zu der CPU 104 und der GPU 106 oder als Ersatz für diese beinhalten.
  • In dem System 100 beinhaltet der Speicher 110 sowohl nichtflüchtige Speicher- als auch flüchtige Speichervorrichtungen. Der nichtflüchtige Speicher beinhaltet Festkörperspeicher, wie etwa NAND-Flash-Speicher, magnetische und optische Speicherungsmedien oder eine beliebige andere geeignete Datenspeicherungsvorrichtung, die Daten beibehält, wenn das System 100 deaktiviert wird oder elektrische Leistung verliert. Der flüchtige Speicher beinhaltet statischen und dynamischen Direktzugriffsspeicher (RAM), der während des Betriebs des Systems 100 Programmanweisungen und Daten speichert, die eine Bewegungsablaufanalyseanwendung 112 und Bewegungsablaufaufnahmedaten 114 beinhalten. Bei manchen Ausführungsformen verfügen die CPU 104 und die GPU 106 jeweils über Zugriff auf separate RAM-Bauelemente (z. B. eine Variante von DDR-SDRAM für die CPU 104 und eine Variante von GDDR-, HBM- oder einem anderen RAM für die GPU 106), während die CPU 104 und die GPU 106 bei anderen Ausführungsformen auf eine gemeinsam verwendete Speichervorrichtung zugreifen. Der Speicher 110 kann die Bewegungsablaufaufnahmedaten 114 und die Bewegungsablaufanalyseanwendung 112 zwecks Wartung und Abruf speichern.
  • Die Eingabevorrichtung 116 kann beliebige von verschiedenen Vorrichtungen beinhalten, die das System 100 befähigen, die Bewegungsablaufaufnahmedaten 114 und die Bewegungsablaufanalyseanwendung 112 zu empfangen. Beispiele für geeignete Eingabevorrichtungen beinhalten auch Eingaben menschlicher Schnittstellen, wie etwa Tastaturen, Mäuse, Berührungsbildschirme, Spracheingabevorrichtungen und dergleichen. In manchen Beispielen implementiert das System 100 die Eingabevorrichtung 116 als ein Netzwerkadapter oder eine Peripherieverbindungsvorrichtung, die Daten von einem anderen Computer oder einer externen Datenspeicherungsvorrichtung empfängt, was zum Empfangen von großen Bewegungsablaufaufnahmedatensätzen 114 auf eine effiziente Weise nützlich sein kann.
  • Die Bewegungsablaufanalyseanwendung 112 beinhaltet Anweisungen, die, wenn sie durch den Prozessor 102 des Systems 100 ausgeführt werden, das System 100 veranlassen, die hier beschriebenen Prozesse und Operationen durchzuführen. Diese Prozesse und Operationen beinhalten (i) Detektieren, unter Verwendung von Globaloptimierung, eines Zyklus innerhalb eines Rahmenpuffers 124, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, wobei das Detektieren beinhaltet: (a) Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer 124 zum Identifizieren von Kandidatenzyklen, die Zyklen der Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer 124 über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, (b) Berechnen von Segmentationsfehlern für jede aus den mehreren Zyklussegmentationen und (c) Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, (ii) Erzeugen von Zyklusdauerdaten 126 für den detektierten Zyklus; (iii) Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer; und (iv) Ausgeben der Zyklusdauerdaten 126.
  • Die Bewegungsablaufaufnahmedaten 114 beziehen sich auf mehrere Aufzeichnungen, die die Orte von mindestens einem verfolgten Gegenstand oder einem Teil des Gegenstands mit der Zeit repräsentieren. Die Bewegungsablaufaufnahmedaten 114 können ein oder mehrere der Folgenden beinhalten: Aufzeichnungen von Positionen eines Referenzpunkts auf einem Körperteil mit der Zeit oder in eingestellten Zeitintervallen, von mit der Zeit aufgenommenen Sensordaten, einen Videostream oder einen Videostream, der unter Verwendung einer Computervisionstechnik verarbeitet wurde, Daten, die den Betriebszustand einer Maschine mit der Zeit angeben, usw. In manchen Fällen können die Bewegungsablaufaufnahmedaten 114 Daten beinhalten, die mehr als eine kontinuierliche Bewegung repräsentieren. Beispielsweise können die Bewegungsablaufaufnahmedaten 114 eine Kombination mehrerer kombinierter Sätze von Bewegungsablaufaufnahmedaten 114 beinhalten.
  • Eine Bewegungsablaufaufnahmevorrichtung 118 ist eine Vorrichtung, die ausgelegt ist zum Erzeugen von Bewegungsablaufaufnahmedaten 114. Bewegungsablaufaufnahmevorrichtungen 118 können, als einige nicht beschränkende Beispiele, die Folgenden beinhalten: Kameras, visuelle Sensoren, Infrarotsensoren, Ultraschallsensoren, Beschleunigungsmesser, Drucksensoren oder dergleichen. Ein nicht beschränkendes Beispiel für eine Bewegungsablaufaufnahmevorrichtung 118 ist einer oder ein Paar von Digitalhandschuhen, die ein Benutzer während des Durchführens von zyklischen Bewegungen trägt. Die Digitalhandschuhe können Sensoren beinhalten, die die Bewegungen der Benutzer aufnehmen, um die Bewegungsablaufaufnahmedaten 114 zu erzeugen, die in dem Speicher 110 oder anderweitig in eine Datenspeicherungsvorrichtung gespeichert werden.
  • Eine Bewegung ist eine von einem Bediener durchgeführte Aktion. Eine Referenzbewegung bezieht sich auf eine Grundlinien- oder kanonische Version der Bewegung. Die Referenzbewegung kann als ein Standard zum Vergleich mit anderen Bewegungen verwendet werden, um Identifikation davon zu erlauben, wie dicht die anderen Bewegungen an der Referenzbewegung liegen.
  • Die Bewegungsablaufaufnahmedaten 114 können zum Zwecke des Berechnens der Genauigkeit eines menschlichen Bewegungsablaufs im Allgemeinen in eine von zwei Kategorien klassifiziert werden: eine Referenzaktivitätssequenz 120, die Daten beinhaltet, die die Referenz- oder Grundlinienbewegung repräsentieren, und eine Abfrageaktivitätssequenz 122, die Daten beinhaltet, die eine Testbewegung repräsentieren, d. h. eine Bewegung, die für Genauigkeit relativ zu der Grundlinienbewegung verglichen und quantitativ evaluiert werden soll.
  • Die Referenzaktivitätssequenz 120 kann von der Bewegungsablaufaufnahmevorrichtung 118 empfangene Bewegungsablaufaufnahmedaten 114 beinhalten. Die Daten können auch verarbeitete Bewegungsdaten beinhalten, wie etwa beispielsweise Rahmen-, Schritt-, Zyklus- und Zeitinformationen, die aus den Bewegungsrohdaten gesammelt wurden. In einem Beispiel ist die Referenzbewegung als eine Referenzaktivitätssequenz 120 repräsentiert, die eine geordnete Menge von Rahmen aufweist, die jeweils Bewegungsablaufaufnahmedaten 114 beinhalten, die einem jeweiligen Zeitintervall der Referenzbewegung entsprechen.
  • Die Abfrageaktivitätssequenz 122 kann auch von der Bewegungsablaufaufnahmevorrichtung 118 empfangene Bewegungsablaufaufnahmedaten 114 beinhalten. In manchen Beispielen beinhaltet eine Bewegung bzw. beinhalten Bewegungen in den Bewegungsablaufaufnahmedaten 114 eine Kennzeichnung oder Kennzeichnungen, die die Bewegungen entweder als Referenzbewegungen oder Testbewegungen klassifizieren. Die Bewegungsablaufanalyseanwendung 112 kann programmiert sein bzw. ist ausgelegt zum Empfangen von Anweisungen zum Klassifizieren einer Bewegung oder von Bewegungen als Referenzbewegungen oder Testbewegungen, wie etwa von einem Benutzer über die Eingabevorrichtung 116 oder von einer anderen Quelle.
  • Die Bewegungsablaufanalyseanwendung 112 kann auch dafür programmiert sein, eine empfangene Bewegung in Rahmen aufzutrennen, wodurch ein „Rahmen“ einem diskreten Zeitintervall entspricht. Mit anderen Worten beinhaltet jeder Rahmen einer Bewegung einen Teil der Bewegungsablaufaufnahmedaten 114, die einem Teil der Bewegung entsprechen, die während eines jeweiligen Intervalls des Zeitablaufs für die Bewegung auftritt. In manchen Beispielen ist die Dauer für das einem Einzelrahmen entsprechende Intervall voreingestellt. In manchen Beispielen wird die Dauer für das Intervall, das einem Einzelrahmen entspricht, auf der Grundlage einer beispielsweise von dem Benutzer über die Eingabevorrichtung 116 oder eine andere Quelle empfangenen Anweisung eingestellt. In manchen Beispielen wird die Dauer für das Intervall, das einem Einzelrahmen entspricht, mit Bezug auf ein oder mehrere Charakteristika der Bewegungsablaufaufnahmedaten 114 eingestellt. In manchen Ausführungsformen wird beispielsweise die Dauer für das Intervall, das einem Einzelrahmen entspricht, mit Bezug auf eine Dauer einer Referenzbewegung und/oder eine Gesamtbewegungswegdistanz für die Bewegung und/oder eine Anzahl von Einzelbewegungsabläufen oder Gesten innerhalb der Bewegung und/oder eine Geschwindigkeit der Bewegung usw. eingestellt. Im Allgemeinen wird dasselbe Intervall für die Dauer von Rahmen für sowohl eine Referenzbewegung als auch für zu evaluierende Testbewegungen relativ zu der Referenzbewegung verwendet.
  • Ein Rahmenpuffer 124 ist eine Datenspeicherungsvorrichtung, die ausgelegt ist zum Halten von Rahmen von einer oder mehreren Abfrageaktivitätssequenzen 122. 2 veranschaulicht ein Beispiel für einen Zyklus einer Referenzaktivitätssequenz 120 und eines Rahmenpuffers 124. Wie gezeigt ist, beinhaltet die Referenzaktivitätssequenz 120 vier Rahmen, wohingegen der Rahmenpuffer 124 wiederholte Abfrageaktivitätssequenzen 122 mit zehn Rahmen beinhaltet. Der Rahmenpuffer 124 kann alle Sequenzenrahmen enthalten, wenn das System 100 offline verwendet wird, um Daten von gesicherten Abfrageaktivitätssequenzen 122 zu verarbeiten. Der Rahmenpuffer 124 kann auch während der Laufzeit dynamisch aktualisiert werden, wenn das System 100 in einem Online-Modus verwendet wird, um Streamingdaten zu verarbeiten. Ein Rahmen beinhaltet Bewegungsablaufaufnahmedaten 114, die von anziehbaren Sensoren aufgenommen wurden, und einen Zeitstempel der aufgenommenen Daten. Falls die anziehbaren Sensoren IMU-Sensoren einer Bewegungsablaufaufnahmevorrichtung 118 (wie etwa eines Handschuhs oder intelligenter Bekleidung) sind, können die aufgenommenen Daten von einem Beschleunigungsmesser, Gyro- und/oder Magnetometersensoren empfangen werden.
  • In manchen Fällen können die Bewegungsablaufaufnahmedaten 114 als eine Datei von gespeicherten Bewegungsablaufaufnahmedaten von einer Datenspeicherungsvorrichtung empfangen werden. In solchen Fällen kann die Bewegungsablaufanalyseanwendung 112 die Bewegung oder die Bewegungen in den Bewegungsablaufaufnahmedaten 114 für weitere Verarbeitung in zu dem Rahmenpuffer 124 hinzuzufügende Rahmen auftrennen.
  • Zurück zu 1, wo die Zyklusdauerdaten 126 Informationen beinhalten können, die die Dauern der Zyklen in dem Rahmenpuffer 124 angeben. Diese Informationen können in einem Beispiel die zwischen dem ersten Rahmen und dem letzten Rahmen des Zyklus innerhalb des Rahmenpuffers 124 abgelaufene Zeit beinhalten. In einem Beispiel können die Zyklusdauerdaten 126 auf der Anzeigevorrichtung 108 angezeigt werden. Wie unten detaillierter erörtert wird, kann das System 100 dafür ausgelegt sein, eine Messung einer Zyklusdauer von Bewegungsablaufaufnahmedaten 114 in dem Rahmenpuffer 124, die wiederholte Abfrageaktivitätssequenzen 122 beschreiben, durchzuführen.
  • Die Bewegungsablaufanalyseanwendung 112 kann auch Rahmen der Testbewegung auf entsprechende Rahmen der Referenzbewegung abbilden. Die Zyklusdauerdaten 126 können beim Identifizieren der Grenzen von jedem der Zyklen von Abfrageaktivitätssequenzen 122 zum Vergleich mit der Referenzaktivitätssequenz 120 nützlich sein. In manchen Beispielen sind die Testbewegung und die Referenzbewegung synchronisiert, so dass Rahmen der Testbewegung auf Rahmen der Referenzbewegung, die zeitlich korrespondieren, abgebildet werden, und in manchen Ausführungsformen sind die Testbewegung und die Referenzbewegung hinsichtlich Gesten und Bewegungsabläufen innerhalb der Bewegung ausgerichtet, so dass Rahmen der Testbewegung auf Rahmen der Referenzbewegung, die hinsichtlich der Sequenz von in der Bewegung durchgeführten Bewegungsabläufen und/oder Gesten entsprechen, abgebildet werden. Die Bewegungsablaufanalyseanwendung 112 kann ferner eine Genauigkeit der Testbewegung oder der Testbewegungen relativ zu der Referenzbewegung berechnen.
  • 3 veranschaulicht einen Beispielprozess 300 zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen. Für jede Iteration wird ein Zyklus von dem Rahmenpuffer 124 detektiert, die Zyklusinformationen werden erzeugt und die zu dem detektierten Zyklus gehörenden Rahmen werden aus dem Rahmenpuffer 124 entfernt. Solch eine Iteration wird weitergeführt bis der Rahmenpuffer 124 über keine ausreichenden Rahmen zum Ausbilden eines zusätzlichen Zyklus mehr verfügt. Der Prozess 200 kann durch den Prozessor 102 des Systems 100 durchgeführt werden, wie unten ausführlicher erörtert wird.
  • Bei 302 empfängt der Prozessor 102 die Referenzaktivitätssequenz 120 und den die wiederholten Abfrageaktivitätssequenzen 122 enthaltenden Rahmenpuffer 124. In einem Beispiel kann die Referenzaktivitätssequenz 120 aus dem Speicher 110 abgerufen werden. Der Rahmenpuffer 124 kann die zuvor aufgezeichneten Daten von der Bewegungsablaufaufnahmevorrichtung 118 und/oder dynamische Daten, die in Echtzeit von der Bewegungsablaufaufnahmevorrichtung 118 in den Rahmenpuffer 124 gestreamt werden, beinhalten.
  • Bei Operation 304 detektiert der Prozessor 102 einen Zyklus aus dem Rahmenpuffer 124 unter Verwendung einer Globaloptimierung. 4 veranschaulicht ein Beispieldiagramm 400 einer Zyklussegmentationssuche innerhalb des Rahmenpuffers 124. Jede Detektionsiteration eines Zyklus findet einen Zyklus, der mit dem Zyklus der Referenzaktivitätssequenz 120 übereinstimmt, aus den in dem Rahmenpuffer 124 verbliebenen Daten. Mit anderen Worten ist Finden eines Zyklus in dem Rahmenpuffer 124 äquivalent zum Finden eines Zyklusendrahmens aus den in dem Rahmenpuffer 124 verbliebenen Daten. Ein Verfahren zum Finden des Zyklusendrahmens besteht darin, zuerst einen Fehlerwert für jeden Rahmen zu berechnen. In einem Beispiel kann Gleichung (1) folgendermaßen zum Berechnen des Rahmenfehlerwerts verwendet werden: e ( f i ) = d ( c s i , c r ) ;
    Figure DE102019219479A1_0001
    wobei
    • fi den Rahmen zum Index i in dem Puffer bezeichnet;
    • c s i
      Figure DE102019219479A1_0002
      den Zyklus bezeichnet, der aus Rahmen fs bis Rahmen fi im Puffer besteht;
    • cr den Referenzzyklus der Referenzaktivitätssequenz 120 bezeichnet; und
    • d ( c s i , c r )
      Figure DE102019219479A1_0003
      die Distanz zwischen zwei Zyklen bezeichnet.
  • fs ist der Startrahmen in dem Rahmenpuffer 124 zum Suchen des aktuellen Zyklus. Wenn der Prozess 300 beginnt, bezieht sich fs zunächst auf den ersten Rahmen in dem Rahmenpuffer 124. fs wird für jede Iteration aktualisiert, wie in dem Beispieldiagramm 400 veranschaulicht ist.
  • Ein Ansatz zum Berechnen der Distanz zwischen zwei Zyklen besteht darin, dynamische Zeitverzerrung (dynamic time warping - DTW) zur Abbildung zweier Zyklen anzuwenden und dann den Abbildungsfehler als die Distanz der zwei Zyklen zu identifizieren. DTW ist eine Technik zum Vergleichen von Sequenzen, die hinsichtlich Geschwindigkeit variieren können, indem eine optimale Übereinstimmung zwischen diskreten Anteilen der Sequenzen berechnet wird. DTW beinhaltet einen „Verzerrpfad“, der einer Abbildung zwischen einem Anteil von einer Sequenz und einem ähnlichen Anteil einer anderen Sequenz, die zu einem anderen Zeitpunkt oder mit einer anderen Rate auftritt, entspricht. Es sei angemerkt, dass Verwendung von DTW lediglich ein Beispiel ist und dass auch andere Ansätze zum Bestimmen einer Distanz zwischen zwei Zyklen verwendet werden können.
  • Als Reaktion auf Berechnen des Fehlerwerts von jedem Rahmen kann der Zyklusendrahmen durch Identifizieren eines lokalen Minimums des Fehlerwerts von jedem Rahmen bestimmt werden. Somit können mehrere Endrahmen gefunden werden. Um die Schlussanzahl von Endrahmen zu begrenzen, kann eine Maximalvarianz zwischen den lokalen Minima definiert werden. Der Zyklus ist gefunden, sobald der Zyklusendrahmen bestimmt ist.
  • Das Beispieldiagramm 400 veranschaulicht zwei Zyklen c 1 3
    Figure DE102019219479A1_0004
    und c 1 4
    Figure DE102019219479A1_0005
    als Ergebnis der ersten Iteration. Das bedeutet, dass in der ersten Iteration ein Kandidatenzyklus angegeben wird, der der erste bis dritte Rahmen des Rahmenpuffers 124 ist, und ein anderer Kandidatenzyklus wird angegeben, der der erste bis vierte Rahmen des Rahmenpuffers 124 ist. Das Beispieldiagramm 400 veranschaulicht ferner als ein Ergebnis einer zweiten Iteration fünf Zyklen. Angenommen, dass der Kandidatenzyklus c 1 3
    Figure DE102019219479A1_0006
    ist, so werden zwei Zyklen c 4 6
    Figure DE102019219479A1_0007
    und c 4 7
    Figure DE102019219479A1_0008
    als ein Ergebnis der zweiten Iteration gezeigt. Angenommen, dass der Kandidatenzyklus c 1 4
    Figure DE102019219479A1_0009
    ist, so werden drei Zyklen c 5 7 ,   c 5 8 ,  und  c 5 9
    Figure DE102019219479A1_0010
    als ein Ergebnis der zweiten Iteration gezeigt. Die Iteration zum Suchen nach dem nächsten Zyklus kann weitergehen bis die Anzahl von Iterationen einen vordefinierten Wert übersteigt oder bis der Rahmenpuffer 124 keine ausreichenden Rahmen zum Ausbilden eines Zyklus mehr aufweist.
  • 5 veranschaulicht ein Beispieldiagramm 500 einer Berechnung eines Segmentationsfehlers. Wie gezeigt beinhaltet die Segmentation zwei Zyklen, d. h., c 1 3  und  c 4 6 .
    Figure DE102019219479A1_0011
    In einer Implementation wird der Fehler der Segmentation als die Summe von d ( c 1 3 ,   c r )  und  d ( c 4 6 ,   c r )
    Figure DE102019219479A1_0012
    berechnet. In einer anderen Implementation wird der Fehler der Segmentation als der Maximalwert von d ( c 1 3 ,   c r )  und  d ( c 4 6 ,   c r )
    Figure DE102019219479A1_0013
    berechnet. Es sei angemerkt, dass diese lediglich Beispiele sind und andere Ansätze für die Berechnung des Segmentationsfehlers können verwendet werden.
  • 6 veranschaulicht ein Beispieldiagramm 600 einer Bestimmung von Zyklen aus allen der berechneten Segmentationen. In einem Beispiel werden die als ein Ergebnis des in 4 veranschaulichten Ansatzes erzeugten Segmentationen auf der Grundlage des Segmentationsfehlers sortiert, der gemäß dem in 5 veranschaulichten Ansatz berechnet werden kann. Der erste Zyklus der Segmentation, d. h., der eine, der den minimalen Segmentationsfehler aufweist, wird als das Ergebnis bestimmt.
  • Bei Operation 306 erzeugt der Prozessor 102 Zyklusinformationen für den detektierten Zyklus und entfernt Rahmen des detektierten Zyklus aus dem Rahmenpuffer 124. Da Rahmendaten des Rahmenpuffers 124 Zeitstempelinformationen enthalten, können Zyklusdauerdaten 126, sobald der Zyklus detektiert ist, durch Berechnen der abgelaufenen Zeit zwischen dem ersten Rahmen und dem letzten Rahmen des Zyklus bestimmt werden.
  • 7 veranschaulicht ein Beispiel für Präparation des Rahmenpuffers 124 zur Detektion des nächsten Zyklus. In einem Beispiel werden die Rahmen des detektierten Zyklus aus dem Rahmenpuffer 124 entfernt. Falls das System 100 in einem Online-System zum Verarbeiten von Streamingdaten verwendet wird, können Detektionszyklen und Aufnehmen neuer Daten gleichzeitig durchgeführt werden. In einer solchen Situation kann der Rahmenpuffer 124 während der Laufzeit dynamisch aktualisiert werden. Wie in 7 gezeigt ist, werden dem Rahmenpuffer 124 aus den Streamingdaten zwei neue Rahmen hinzugefügt. Als Reaktion darauf, dass der aktualisierte Puffer genügend Rahmen enthält, um einen Zyklus auszubilden, kann das Verarbeiten zum Detektieren eines zusätzlichen Zyklus wiederholt werden.
  • Dementsprechend bestimmt der Prozessor 102 in Operation 308, ob das System 100 in einem Online-Modus arbeitet. In einem Beispiel kann der Prozessor 102 anhand einer in den Speicher 110 gespeicherten Einstellung identifizieren, dass das System 100 in einem Online-Modus arbeitet. Zusätzlich oder alternativ kann der Prozessor 102 gemäß einer Verbindung des Prozessors 102 mit einer Quelle von Bewegungsablaufaufnahmedaten 114 identifizieren, dass das System 100 in einem Online-Modus arbeitet, wie etwa über eine Bewegungsablaufaufnahmevorrichtung 118 oder über ein Netzwerk, z. B. von einer Eingabevorrichtung 116 über ein Netzwerk von einer Bewegungsablaufaufnahmevorrichtung 118 oder einer Datenspeicherungsvorrichtung erhaltene Daten. Falls das System 100 nicht in einem Online-Modus arbeitet, geht die Steuerung zur Operation 310 weiter. Falls das System in einem Online-Modus arbeitet, geht die Steuerung zur Operation 314 weiter.
  • In Operation 310 bestimmt der Prozessor 102, ob der Rahmenpuffer 124 ausreichend Rahmen für einen Zyklus enthält. In einem Beispiel kann der Prozessor 102 verifizieren, dass der Rahmenpuffer 124 mindestens eine vordefinierte Schwellenanzahl von Rahmen enthält (z. B. mindestens einen Rahmen, mindestens eine vordefinierte Anzahl von Rahmen, mindestens die Anzahl von Rahmen einer definierten Menge von Durchschnittsrahmen, mindestens die Anzahl von Rahmen des kürzesten Zyklus, mindestens einen Prozentanteil der Länge in Rahmen der Referenzaktivitätssequenz 120 usw.). Falls der Rahmenpuffer 124 ausreichend Rahmen enthält, geht die Steuerung zur Operation 304 weiter, um einen zusätzlichen Zyklus zu detektieren. Ansonsten geht die Steuerung zur Operation 312 weiter.
  • In Operation 312 gibt der Prozessor 102 die Dauer der detektierten Zyklen aus. In einem Beispiel beinhalten die die Dauern der detektierten Zyklen angebenden Zyklusdauerdaten 126 die abgelaufene Zeit zwischen dem ersten Rahmen und dem letzten Rahmen des Zyklus. Nach Operation 312 endet der Prozess 300.
  • In Operation 314 bestimmt der Prozessor 102, ob Streaming aktiv ist. In einem Beispiel kann der Prozessor 102 identifizieren, ob die zusätzlichen Bewegungsablaufaufnahmedaten 114 empfangen wurden (z. B. von der Bewegungsablaufaufnahmevorrichtung 118, von einer Netzwerkverbindung, von einer Datenspeicherungsvorrichtung usw.). Zusätzlich oder alternativ kann der Prozessor 102 identifizieren, dass das Streaming des Systems 100 aktiv ist, gemäß einer weitergeführten Verbindung des Prozessors 102 mit einer Quelle von Bewegungsablaufaufnahmedaten 114, wie etwa einer weitergeführten Verbindung mit der Bewegungsablaufaufnahmevorrichtung 118, dem Netzwerk, der Eingabevorrichtung 116 oder der Datenspeicherungsvorrichtung. Falls Streaming aktiv ist, geht die Steuerung zur Operation 316 weiter. Ansonsten geht die Steuerung zur Operation 312 weiter.
  • In Operation 316 bestimmt der Prozessor 102, ob der Rahmenpuffer 124 ausreichend Rahmen für einen Zyklus enthält, ähnlich dem oben mit Bezug auf Operation 310 erörterten. Falls dem so ist, geht die Steuerung zur Operation 304 weiter, um einen zusätzlichen Zyklus zu detektieren. Falls nicht, geht die Steuerung zu Operation 314 weiter, um zu bestimmen, ob Streaming aktiv ist.
  • Somit liefert der beschriebene Ansatz eine skalierbare Lösung zum Messen einer Zyklusdauer in wiederholten menschlichen physischen Aktivitäten aus IMU-Daten, für wiederholte Aktivitätssequenzen mit hohem Standardisierungsniveau sowie wiederholten Aktivitätssequenzen mit anomalen Aktivitäten.
  • Als eine weitere Verbesserung kann die Größe des Rahmenpuffers 124 auf der Grundlage der Qualität der durch den Ansatz produzierten Ergebnisse angepasst werden. Falls das System 100 bei Identifikation von Ergebnissen mit dem Rahmenpuffer 124 gute Ergebnisse erzielt, dann kann die Länge des Rahmenpuffers 124 verringert werden, um die Latenz bei der Bestimmung von Zyklen zu verringern. Falls das System 100 allerdings bei Identifikation von Ergebnissen mit dem Rahmenpuffer 124 schlechte Ergebnisse erzielt, dann kann die Länge des Rahmenpuffers 124 vergrößert werden, um die Genauigkeit zu erhöhen, allerdings mit einer potentiellen Latenzzunahme. Beispielsweise kann der Prozessor 102 eine Länge in Rahmen des Rahmenpuffers 124 als Reaktion darauf, dass der Segmentationsfehler für den detektierten Zyklus über einem vordefinierten Schwellenfehlerwert liegt, vergrößern, und/oder der Prozessor 102 kann eine Länge in Rahmen des Rahmenpuffers 124 als Reaktion darauf, dass der Segmentationsfehler für den detektierten Zyklus unter einem vordefinierten Schwellenfehlerwert liegt, verringern.
  • Die hier offenbarten Prozesse, Verfahren oder Algorithmen können lieferbar sein an/implementiert werden durch eine Verarbeitungsvorrichtung, eine Steuerung oder einen Computer, welche bzw. welcher eine beliebige existierende programmierbare elektronische Steuereinheit oder dedizierte elektronische Steuereinheit beinhalten kann. Gleichermaßen können die Prozesse, Verfahren oder Algorithmen als Daten und durch eine Steuerung oder einen Computer ausführbare Anweisungen in vielen Formen gespeichert werden, unter anderem einschließlich Informationen, die auf nichtbeschreibbaren Speichermedien, wie etwa ROM-Vorrichtungen, permanent gespeichert sind, und Informationen, die auf beschreibbaren Speichermedien, wie etwa Disketten, Magnetbändern, CDs, RAM-Vorrichtungen und anderen magnetischen und optischen Medien, änderbar gespeichert sind. Die Prozesse, Verfahren oder Algorithmen können auch in einem Software-Ausführbarobjekt implementiert sein. Alternativ können die Prozesse, Verfahren oder Algorithmen in Gänze oder teilweise unter Verwendung geeigneter Hardwarekomponenten umgesetzt werden, wie etwa anwendungsspezifischer integrierter Schaltungen (ASICs), feldprogrammierbarer Gate-Arrays (FPGAs), Zustandsmaschinen, Steuerungen oder anderer Hardwarekomponenten oder -geräte oder einer Kombination von Hardware-, Software- und Firmwarekomponenten.
  • Obgleich oben beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen durch die Ansprüche eingeschlossenen Formen beschreiben. Die in der Beschreibung verwendeten Ausdrücke sind Ausdrücke der Beschreibung statt der Einschränkung, und es versteht sich, dass diverse Änderungen durchgeführt werden können, ohne vom Gedanken und Schutzumfang der Offenbarung abzuweichen. Wie zuvor beschrieben können die Merkmale von verschiedenen Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung auszubilden, die nicht explizit beschrieben oder veranschaulicht wurden. Obgleich verschiedene Ausführungsformen als Vorteile liefernd oder gegenüber anderen Ausführungsformen oder Implementationen im Stand der Technik hinsichtlich einer oder mehrerer erwünschter Charakteristika bevorzugt beschrieben worden sein können, erkennt der Durchschnittsfachmann, dass ein oder mehrere Merkmale oder Charakteristika kompromittiert werden können, um erwünschte Gesamtsystemattribute zu erzielen, was von der spezifischen Anwendung und Implementation abhängt. Diese Attribute können unter anderem Kosten, Stärke, Dauerhaftigkeit, Lebenszykluskosten, Marktfähigkeit, Erscheinungsbild, Packung, Größe, Wartbarkeit, Gewicht, Herstellbarkeit, Montagefreundlichkeit usw. beinhalten. Jegliche in dem Ausmaß als weniger wünschenswert als andere Ausführungsformen oder Implementationen im Stand der Technik hinsichtlich einer oder mehrerer Charakteristika beschriebene Ausführungsformen liegen daher nicht außerhalb des Schutzumfangs der Offenbarung und können für gewisse Anwendungen wünschenswert sein.

Claims (20)

  1. System zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen, das Folgendes umfasst: eine Anzeigevorrichtung; einen Speicher, der ausgelegt ist zum Speichern einer Bewegungsanalyseanwendung und von Bewegungsaufnahmedaten, die eine Referenzaktivitätssequenz beinhalten, und einen Rahmenpuffer, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen; und einen Prozessor, der betriebsfähig mit dem Speicher und der Anzeigevorrichtung verbunden ist und der ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Detektieren eines Zyklus innerhalb des Rahmenpuffers unter Verwendung einer Globaloptimierung, beinhaltend Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen der Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jeden aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, Erzeugen von Zyklusdauerdaten für den detektierten Zyklus, Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer, und Ausgeben der Zyklusdauerdaten an die Anzeigevorrichtung.
  2. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Weiterführen des Detektierens zusätzlicher Zyklen innerhalb des Rahmenpuffers unter Verwendung der Globaloptimierung bis der Rahmenpuffer über keine ausreichenden Zyklen für einen zusätzlichen Zyklus mehr verfügt.
  3. System nach Anspruch 1, wobei die Rahmen des Rahmenpuffers Zeitstempelinformationen beinhalten und der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Erzeugen der Zyklusdauerdaten durch Berechnen einer abgelaufenen Zeit zwischen den Zeitstempelinformationen eines ersten Rahmens des detektierten Zyklus und den Zeitstempelinformationen eines letzten Rahmens des detektierten Zyklus.
  4. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum, als Reaktion darauf, dass Streaming von Rahmendaten aktiv ist und zusätzliche Rahmen empfangen werden, Anhängen der zusätzlichen Rahmen an ein Ende des Rahmenpuffers.
  5. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum, als Reaktion darauf, dass Streaming von Rahmendaten aktiv ist und der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Warten darauf, dass zusätzliche Rahmen von dem Prozessor empfangen werden.
  6. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Berechnen des Segmentationsfehlers für jede der mehreren Zyklussegmentationen gemäß einer Summe der Segmentationsfehler der Kandidatenzyklen in der jeweiligen Zyklussegmentation.
  7. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Berechnen des Segmentationsfehlers für jede der mehreren Zyklussegmentationen gemäß einem Maximum der Segmentationsfehler der Kandidatenzyklen in der jeweiligen Zyklussegmentation.
  8. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Vergrößern einer Länge in Rahmen des Rahmenpuffers als Reaktion darauf, dass der Segmentationsfehler für den detektierten Zyklus über einem vordefinierten Schwellenfehlerwert liegt.
  9. System nach Anspruch 1, wobei der Prozessor ferner ausgelegt ist zum Ausführen der Bewegungsablaufanalyseanwendung zum Verkleinern einer Länge in Rahmen des Rahmenpuffers als Reaktion darauf, dass der Segmentationsfehler für den detektierten Zyklus unter einem vordefinierten Schwellenfehlerwert liegt.
  10. Verfahren zum Messen einer Zyklusdauer in wiederholten Aktivitätssequenzen, das Folgendes umfasst: Detektieren, unter Verwendung von Globaloptimierung, eines Zyklus innerhalb eines Rahmenpuffers, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, wobei das Detektieren beinhaltet: Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen einer Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jeden aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, Erzeugen von Zyklusdauerdaten für den detektierten Zyklus; Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer; und Ausgeben der Zyklusdauerdaten.
  11. Verfahren nach Anspruch 10, ferner umfassend Weiterführen des Detektierens zusätzlicher Zyklen innerhalb des Rahmenpuffers unter Verwendung der Globaloptimierung bis der Rahmenpuffer über keine ausreichenden Zyklen für einen zusätzlichen Zyklus mehr verfügt.
  12. Verfahren nach Anspruch 10, wobei die Rahmen des Rahmenpuffers Zeitstempelinformationen beinhalten, und ferner umfassend Erzeugen der Zyklusdauerdaten durch Berechnen einer abgelaufenen Zeit zwischen den Zeitstempelinformationen eines ersten Rahmens des detektierten Zyklus und den Zeitstempelinformationen eines letzten Rahmens des detektierten Zyklus.
  13. Verfahren nach Anspruch 10, ferner umfassend, als Reaktion darauf, dass Streaming von Rahmendaten aktiv ist und zusätzliche Rahmen empfangen werden, Anhängen der zusätzlichen Rahmen an ein Ende des Rahmenpuffers.
  14. Verfahren nach Anspruch 10, ferner umfassend, als Reaktion darauf, dass Streaming von Rahmendaten aktiv ist und der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Warten darauf, dass zusätzliche Rahmen empfangen werden.
  15. Verfahren nach Anspruch 10, ferner umfassend Berechnen des Segmentationsfehlers für jede der mehreren Zyklussegmentationen gemäß einer Summe der Segmentationsfehler der Kandidatenzyklen in der jeweiligen Zyklussegmentation.
  16. Verfahren nach Anspruch 10, ferner umfassend Berechnen des Segmentationsfehlers für jede der mehreren Zyklussegmentationen gemäß einem Maximum der Segmentationsfehler der Kandidatenzyklen in der jeweiligen Zyklussegmentation.
  17. Verfahren nach Anspruch 10, ferner umfassend Vergrößern einer Länge in Rahmen des Rahmenpuffers als Reaktion darauf, dass der Segmentationsfehler für den detektierten Zyklus über einem vordefinierten Schwellenfehlerwert liegt.
  18. Verfahren nach Anspruch 10, ferner umfassend Verkleinern einer Länge in Rahmen des Rahmenpuffers als Reaktion darauf, dass der Segmentationsfehler für den detektierten Zyklus unter einem vordefinierten Schwellenfehlerwert liegt.
  19. Nichttransitorisches computerlesbares Medium, das Anweisungen einer Bewegungsablaufanalyseanwendung umfasst, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen zum Detektieren, unter Verwendung von Globaloptimierung, eines Zyklus innerhalb eines Rahmenpuffers, der Rahmen beinhaltet, die einem oder mehreren Zyklen von Abfrageaktivitätssequenzen entsprechen, wobei das Detektieren beinhaltet: Schaffen mehrerer Zyklussegmentationen durch rekursives Iterieren durch den Rahmenpuffer zum Identifizieren von Kandidatenzyklen, die Zyklen einer Referenzaktivitätssequenz entsprechen, bis der Rahmenpuffer über keine ausreichenden Rahmen zum Schaffen zusätzlicher Zyklen mehr verfügt, Berechnen von Segmentationsfehlern für jeden aus den mehreren Zyklussegmentationen und Identifizieren des detektierten Zyklus als den einen aus den mehreren Zyklussegmentationen, der einen niedrigsten Segmentationsfehler aufweist, Erzeugen von Zyklusdauerdaten für den detektierten Zyklus; Entfernen von Rahmen, die dem detektierten Zyklus angehören, aus dem Rahmenpuffer; Weiterführen des Detektierens zusätzlicher Zyklen innerhalb des Rahmenpuffers unter Verwendung der Globaloptimierung bis der Rahmenpuffer über keine ausreichenden Zyklen für einen zusätzlichen Zyklus mehr verfügt; und Ausgeben der Zyklusdauerdaten.
  20. Medium nach Anspruch 19, ferner umfassend Anweisungen der Bewegungsablaufanalyseanwendung, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen zum als Reaktion darauf, dass Streaming von Rahmendaten aktiv ist und zusätzliche Rahmen gleichzeitig mit dem Verarbeiten des Detektierens von Zyklen unter Verwendung der Globaloptimierung empfangen werden, Anhängen der zusätzlichen Rahmen an ein Ende des Rahmenpuffers.
DE102019219479.6A 2018-12-31 2019-12-12 System und verfahren zur zyklusdauermessung in wiederholten aktivitätssequenzen Pending DE102019219479A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/236,753 US10996235B2 (en) 2018-12-31 2018-12-31 System and method for cycle duration measurement in repeated activity sequences
US16/236,753 2018-12-31

Publications (1)

Publication Number Publication Date
DE102019219479A1 true DE102019219479A1 (de) 2020-07-02

Family

ID=71079853

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019219479.6A Pending DE102019219479A1 (de) 2018-12-31 2019-12-12 System und verfahren zur zyklusdauermessung in wiederholten aktivitätssequenzen

Country Status (3)

Country Link
US (1) US10996235B2 (de)
CN (1) CN111385813B (de)
DE (1) DE102019219479A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11733259B2 (en) 2021-01-14 2023-08-22 Robert Bosch Gmbh Methods and system for cycle recognition in repeated activities by identifying stable and repeatable features
WO2023042592A1 (en) * 2021-09-14 2023-03-23 Nec Corporation Method and apparatus for determining abnormal behaviour during cycle

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3920967A (en) * 1974-02-22 1975-11-18 Trw Inc Computerized traffic control apparatus
US5210444A (en) * 1991-12-20 1993-05-11 The B. F. Goodrich Company Duty cycle meter
US20070075753A1 (en) * 2005-09-30 2007-04-05 Rachael Parker Duty cycle measurement circuit
US9135586B2 (en) * 2010-10-28 2015-09-15 Sap Se System for dynamic parallel looping of repetitive tasks during execution of process-flows in process runtime
JP2013122443A (ja) * 2011-11-11 2013-06-20 Hideo Ando 生体活動測定方法、生体活動測定装置、生体活動検出信号の転送方法および生体活動情報を利用したサービスの提供方法
CN105359533A (zh) * 2013-08-12 2016-02-24 英特尔公司 用于低功率图像压缩和显示的技术
WO2015174793A1 (ko) * 2014-05-15 2015-11-19 엘지전자(주) 무선 통신 시스템에서 블루투스 저전력 에너지 기술을 이용하여 데이터를 송수신하기 위한 방법 및 장치
US20170032248A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Activity Detection Based On Activity Models

Also Published As

Publication number Publication date
US20200209276A1 (en) 2020-07-02
CN111385813A (zh) 2020-07-07
CN111385813B (zh) 2023-10-31
US10996235B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
DE102019208700A1 (de) Werkstückmessvorrichtung, Werkstückmessverfahren und Programm
DE102013215406B4 (de) Verfahren und Vorrichtung zur Visualisierung eines Funktionsablaufs einer medizinischen Apparatur
DE102009001921A1 (de) Vorrichtung und Verfahren zur Feststellung einer Sichtlinie
DE10326943A1 (de) Autonomes Fahrzeug sowie zugehörige Verfahren und Vorrichtung zur Bewegungsbestimmung, Bewegungssteuerung und Objekterkennung
DE102013217354B4 (de) Kantenmessungs-videowerkzeug und schnittstelle mit automatischen parametersatzalternativen
WO2016169589A1 (de) Verfahren und vorrichtung zum bestimmen von dimensionellen ist-eigenschaften eines messobjekts
DE102019219485A1 (de) System und verfahren für standardisierte evaluation einer aktivitätssequenz
DE112017008101T5 (de) Autonome roboter und verfahren zum betreiben derselben
DE112016006692T5 (de) Verfahren zur Vorhersage einer Bewegung eines Objekts
EP2325725A1 (de) Verfahren zum reduzieren eines effekts auf virtuelle objekte
DE102019219479A1 (de) System und verfahren zur zyklusdauermessung in wiederholten aktivitätssequenzen
WO2016150517A1 (de) Verfahren und vorrichtung zum bestimmen von dimensionellen eigenschaften eines messobjekts
DE102016222202A1 (de) Analyseapparat und analyseverfahren
DE112016007223T5 (de) Dualmodus-Schnittstellen für erweiterte Realität für mobile Vorrichtungen
DE112019007852B4 (de) Informationsverarbeitungsvorrichtung, Werkstückerkennungsvorrichtung und Werkstückaufgreifvorrichtung
DE112018007100B4 (de) Anzeigevorrichtung, anzeigesystem und verfahren zum erzeugen einer displayanzeige
DE102020131815A1 (de) Anzeigevorrichtung und Anzeigeprogramm
DE102018002423A1 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE102012223047A1 (de) Mehrteil-Korrespondierer für mehrere Kameras
DE102019109258A1 (de) Wellenformanzeigevorrichtung
JP2756724B2 (ja) 計算機システムの状態表示方法
DE102019004668A1 (de) Offline-lehrvorrichtung, messungs-regel- bzw. -steuervorrichtung, entsprechende verfahren und computerprogrammprodukt
DE102019124809A1 (de) Bildgebungsvorrichtung und Bildgebungssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed