SE537754C2 - Datoranordning för spårning av objekt i bildström - Google Patents
Datoranordning för spårning av objekt i bildström Download PDFInfo
- Publication number
- SE537754C2 SE537754C2 SE1250910A SE1250910A SE537754C2 SE 537754 C2 SE537754 C2 SE 537754C2 SE 1250910 A SE1250910 A SE 1250910A SE 1250910 A SE1250910 A SE 1250910A SE 537754 C2 SE537754 C2 SE 537754C2
- Authority
- SE
- Sweden
- Prior art keywords
- point
- computing device
- controller
- points
- movement
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/002—Specific input/output arrangements not covered by G06F3/01 - G06F3/16
- G06F3/005—Input arrangements through a video camera
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/571—Depth or shape recovery from multiple images from focus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/752—Contour matching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Closed-Circuit Television Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
SAMMANDRAG En datoranordning for sp'arning av ett objekt i en bildstrom, varvid namnda datoranordning innefattar ett minne och en styrenhet, varvid namnda styrenhet är anordnad att: motta en bildstrom innefattande kminstone en forsta och en tidigare bild av ett objekt som ska sparas, bestamma konturlinjer i kminstone namnda forsta bild, varvid namnda konturlinjer innefattar ett flertal punkter, faststalla och tilldela atminstone en deskriptor for varje punkt, filtrera ut punkter baserat pa deskriptorerna, bestamma relativa avstand mellan varje punkt i namnda forsta bud med varje punkt i namnda foregaende bild, vilka punkter inte har filtrerats bort; och bestamma en maximal forekomst for de relativa avstanden, varvid den hogsta forekomsten motsvarar en forflyttning av namnda objekt som ska sparas.
Description
DATORANORDNING FOR SPARNING AV OBJEKT I BILDSTROM TEKNISKT OMRADE Denna ansokan hanfor sig till en metod, ett datorlasbart medium och en datoranordning for sparning av ett objekt, och i synnerhet till en metod, ett datorlasbart medium och en datoranordning for reducering av en datauppsattning for en forbattrad sparning av ett objekt i ett videoflode. Denna ansokan hanfor sig ocksâ till en metod, ett datorlasbart medium och en datoranordning for sparning av ett flertal objekt.
Derma ansokan hanfor sig vidare till en metod, ett datorlasbart medium och en datoranordning air sparning av ett objekt i en dimension parallell med en betraktelsevinkel i video flodet.
BAKGRUND Utvecklare har forsokt att implementera fungerande optisk styrning i enheter sasom spelkonsoler, datorer och smartphones. De fiesta fors& har inte varit framgangsrika i att tillhandahalla ett styrsystem som är tillrackligt effektivt for att vara praktiskt for drift under alla verkliga scenarier. Nagra exempel pa Adana system ges nedan.
Den amerikanska patentansokan publicerad som US2011299737 beskriver ett optiskt igenkannande av en handrorelse och en metod darfor. I en utforingsform är en hands Mining forst igenkand enligt konsekutiva handbilder. Om handens hallning matchar en starthallning, separerar systemet de konsekutiva handbilderna till flera bildgrupper och beraknar rorelsevektorerna for dessa bildgrupper. Fordelningen av dessa rorelsevektorer jamfors med flera tredimensionella rorelsevektorhistogramjamftirelser fOr att bestamma en motsvarande rEirelse air varje bildgrupp. Till exempel kan den motsvarande rorelsen vara en rorelse at vanster, en rorelse at Niger, en rorelse uppat eller en rorelse nedat. Slutligen definieras kombinationen av dessa motsvarande rorelser som en gest och en instruktion mappad till denna gest exekveras sedan.
Den internationella patentansokan publicerad som W009128064 beskriver en metod for vaxelverkan mellan manniska och maskin med en elektronisk anordning i samband med en elektronisk skarm som innefattar att ta bilder av atminstone en hand placerad Over en inmatningsenhet, sparning av position eller Mining av handen i bilderna, och byter fran interaktionsbaserat till samverkan med en inmatningsenhet for 1 pekdonsemulering som svar pa detektering av en gest som utfors med handen och emulerar ett pekdon baserat pa sparningen nar handen inte langre utfor gesten.
Den brittiska patentansOkan publicerad som GB2474536 beskriver hur en anvandare styr en elektronisk apparat (TV, DVD-spelare, dator, mobiltelefon, kamera, STB) baserat pa datorseende. Bildsensorn fangar en sekvens av bilder av synfaltet.
Processorn mottar sekvensen av bilder; detekterar rorelse hos atminstone ett objekt i bilderna, applicerar en algoritm for igenkanning (sasom kontur detektering) pa atminstone ett rorligt objekt; bekraftar att objektet är en anvandarhand genom att kombinera information fran atminstone tva bilder av objektet, och sparar objektet for att upptacka kontrollgester for att styra enheten. Monsterigenkanning kan tillampas tillsammans med eller fore rorelsedetekteringen. I ett forsta steg kan en initialiseringsgest, sasom en vagliknande rorelse, detekteras. Vid dâliga ljusffirhallanden kan en anvandarhand identifieras framst baserat pa rorelsedetektering. Anvandargester kan styra markoren och valja och manipulera objekt (t.ex. ikoner), eller ge en emulering av en knapptryckning, t.ex. musklickkommandon. Bildsensorn kan vara en 2D kamera som en webbkamera eller en 3D-kamera, som kan integreras med eller utanfor enheten, eller en IR-kamera.
Den sparning som tillhandahalls av Adana system är helt enkelt for langsam for att vara effektiv eller kraver den specialanpassade kameror. En stor nackdel är att den kraver goda ljusforhallanden och hogupplosta bilder for att fungera som Or den olamplig fOr anvandning i dâliga ljusforhallanden. Den är ocksa olamplig for anvandning pa avstand stone an 3 meter.
En annan stor nackdel är komplexiteten hos de berakningar som är inblandade i de tidigare kanda system som kraver stora berakningsresurser. Eftersom dessa resurser är kostsamma är inte de kanda systemen lampade for implementering i enheter som smartphones, surfplattor, barbara datorer eller spelkonsoler.
Det finns saledes ett behov av ett satt for sparning av ett objekt i ett videoflOde som kan arbeta under daliga ljusforhallanden och pa avstand stone an 3 meter. Det finns ocksa ett behov av ett sift for sparning av objekt som inte kraver specialanpassad utrustning och kan anvandas i varje dataenhet. Dessutom finns det ett stort behov av ett sat for sparning av ett objekt i bildstrommen som inte kraver stora datorresurser. Samtida enheter som anvands for sparning av objekt i en riktning parallell med siktlinjen, det viii saga for spaming av objekt pa vag bort eller mot en kamera kraver alla specialiserad utrustning sasom stereo kameror eller avstandskameror. Sadan 2 specialiserad utrustning är dyr och det saledes foreligga ett behov av att ge en lag kostnad altemativ till sadan specialiserad kamera utrustning.
SAMMANFATTNING Det är en aspekt av laroma enligt foreliggande ansokan for att overvinna de problem som anges ovan genom att tillhandahalla en datoranordning for sparning av objekt i en bildstrom, namnda datoranordning innefattande ett minne och en styrenhet, van i namnda styrenhet är anordnad att: ta emot en bildstrom innefattande atminstone en forsta och en tidigare bild av ett objekt som ska sparas, bestamma konturlinjer i atminstone namnda forsta bilden, innefattande van i namnda hojdkurvor ett flertal punkter, faststalla och tilldela atminstone en deskriptor for varje punkt, filtrera ut Punkt Baserat pa deskriptorer , bestamma relativa avstanden mellan varje punkt i namnda forsta bild med varje punkt i namnda tidigare bilden, vilka punkter inte har filtrerats bort, och bestamma en maximal forekomst for de relativa avstanden, varvid den hogsta forekomsten motsvarar en forflyttning av namnda objekt att sparas.
En sadan datoranordning kraver inte stora berakningsresurser pa grund av det finurliga satt att reducera datamangden av punktema. Genom detta tillhandahalls ett sat for sparning av ett objekt som kan utnyttjas i berakningsenheter som inte har flagon speciell utrustning och som inte har stora datorresurser som kravs av de kanda systemen for att fungera effektivt.
I en utfOringsform är styrenheten vidare anordnad att filtrera bort en punkt genom att filtrera bort punkter med beskrivningar som är intetsagande. Detta gör det mojligt for sparningen att fokusera pa de punkter som är mojliga eller lata att spdra och damned minska arbetsbordan och antalet beralmingar som behOver utfOras och dar- igenom minska de datorresurser som kravs for ett effektivt genomforande.
I en utforingsform är styrenheten vidare anordnad att filtrera ut punkter genom att filtrera bort punkter som uppvisar en stor rorelse, genom att jamfOra deskriptorema for namnda forsta bild med motsvarande deskriptorer for punkter i namnda foregaende bild. Detta gör det mojligt for sparningen att bortse fran punkter som eventuellt fel- aktiga rorelser orsakade av brus och armed minska arbetsbordan och antalet berakningar som behover utforas och darigenom minska de datorresurser som kravs for ett effektivt genomforande.
I en utforingsform är styrenheten vidare anordnad att filtrera ut punkter som hor till stationara konturlinjer. Detta minskar datauppsattningen som skall bearbetas 3 genom att alla ta bort objekt som är stationara bl.a. bakgrunden och andra icke-rorliga objekt.
I en utfOringsform är styrenheten vidare anordnad att filtrera bort punkter som osannolikt är en del av objektet som ska sparas. Detta tillater sparningen att fokusera pa de punkter som faktiskt är eller formodligen är en del av objektet som ska sparas, vilket minskar datauppsattningen som skall bearbetas.
Det är ocksa en aspekt av ideerna i denna ansokan for att overvinna de problem som anges ovan genom att tillhandahafta en metod for anvandning i en datoranordning fOr spaming av ett objekt i en bildstrOm, namnda metod innefattande: mottagning av en bildstrom innefattande atminstone en forsta och en tidigare bild av ett objekt som ska sparas, bestamma konturlinjer i atminstone namnda forsta bild, innefattar van i namnda hOjdkurvor ett flertal punkter, bestamma och tilldela atminstone en deskriptor for varje punkt, filtrera bort punkter baserat pa deskriptorer, bestamma relativa avstand mellan varje punkt i namnda forsta bild med varje punkt i namnda tidigare bilden, vilka punkter inte har filtrerats bort, och bestamma en maximal forekomst for de relativa aystanden, varvid den hogsta forekomsten motsvarar en forflyttning av namnda objekt som ska sparas.
Det är ytterligare en aspekt av ideerna i denna ansokan att Overvinna de problem som anges ovan genom att tillhandahalla ett datorlasbart medium innefattande instruktioner som nar de laddas i och exekveras av en styrenhet, t.ex. en processor, exekvera en metod enligt had.
Uppfinnarna av foreliggande uppfinning har insett, efter uppfinningsrikt och insiktsfullt resonemang, att genom smart filtrering, kan den datamangd som skall behandlas reduceras till en storlek dar de berakningsresurser som krays är tillrackligt sma for att anvandas aven i barbara apparater och i daliga belysningsforhallanden.
Lardomarna hari finner anvandning i styrsystem for berakningsanordningar med anvandargranssnitt sasom smartphones, Surfplattor, datorer och spelkonsoler. Enligt en andra aspekt av laran har, är det ocksa ett syfte med laran i denna ansokan aft overvinna de problem som anges ovan genom aft tillhandahalla en datoranordning fOr sparning av ett objekt i en bildstrom, namnda datoranordning innefattande ett minne och en styrenhet, varvid namnda styrenhet är anordnad att: ta emot en datauppsattning bestaende av atminstone ett punktpar innefattande en punkt i en forsta bild och en punkt i en tidigare bild, faststalla en genomsnittlig position av varje punktpar, faststalla ett relativt aystand for varje punktpar och bestamma en lutning av en motsvarande linjär anpassning av namnda relativa avstand kontra namnda genom- 4 snittliga positioner, och bestamma en rorelse i en riktning parallell med en siktlinje baserad pa lutningen. En sadan en dataenhet kan bestamma en rorelse i en tredje dimension utan att krava anvandning av sarskilda kameror sasom djupkameror eller stereokameror.
Det är ocksâ en aspekt av ideerna i denna ansokan att overvinna de problem som anges ovan genom att tillhandahalla en metod fOr anvandning i en datoranordning for sparning av ett objekt i en bildstrom, metod namnda innefattande mottagning av en datauppsattning bestaende av kminstone ett punktpar innefattande en punkt i en forsta bild och en punkt i en tidigare bild, bestamma en genomsnittlig position for varje punktpar, bestamma ett relativt avstand for varje punkt pair och bestamma en lutning av en motsvarande linjär anpassning av namnda relativa avstand kontra namnda genomsnittliga positioner, och bestamma en rorelse i en riktning parallell med en siktlinje baserad pa lutningen.
Det är ytterligare en aspekt av ideerna i denna ansokan att overvinna de problem som anges ovan genom att tillhandahalla ett datorlasbart medium innefattande instruktioner som nar de laddas i och exekveras av en styrenhet, t.ex. en processor, exekvera en metod enligt hari.
Uppfinnarna av fOreliggande uppfinning har insett, efter uppfinningsrikt och insiktsfullt resonemang, att genom att anvanda sambandet mellan en forandring i avstandet till en fokuspunkt och avstandet till fokuspunkten är det mojligt att bestamma rOrligheten i en riktning parallell med en siktlinje utan att krava specialutrustning och kan anvandas med dataenhet som är anordnad att mottaga en videoflode, exempelvis fran en inre kamera.
Lardomarna hari finner anvandning i styrsystem for berakningsanordningar med anvandargranssnitt sasom smartphones, surfplattor, datorer och spelkonsoler.
Andra sardrag och fordelar med de beskrivna utforingsformerna kommer att framga av den foljande detaljerade beskrivningen, av de bifogade osjalvstandiga patentkraven liksom av ritningarna. Generellt ska alla termer som anvands i patentkraven tolkas i enlighet med deras vanliga betydelse inom det tekniska omradet, om inte annat uttryckligen anges annat hari.
Alla hanvisningar till "ett/en/den/det [elementet, apparaten, komponenten, organet, steget, etc]" skall tolkas oppet som hanvisningar till atminstone en instans av elementet, apparaten, komponenten, organet, steget, etc., skrida uttryckligen anges. Stegen i nagon metod beskrivs hari inte behover utforas i den exakta ordning avslojas, om inte annat uttryckligen anges.
KURT BESKRIVNING AV RITNINGARNA Uppfinningen kommer att beskrivas mer i detalj under hanvisning till de bifogade ritningarna, dar: Figurema lA och 1B är schematiska vyer av vardera en datoranordning i enlighet med laran har; Figur 2 är en schematisk vy av komponenterna i en datoranordning i enlighet med laran har; Figur 3 är en schematisk vy av ett datorlasbart minne enligt laroma har; Figur 4A visar ett bildexempel av ett objekt som ska sparas och figurerna 4B, 4C och 4D visar vardera en representation av en bearbetad version av namnda objekt enligt larorna had; Figur 5 visar en illustration av hur deskriptorer kan bestammas i enlighet med en utforingsform av laror har; Figur 6 visar en illustration av ett objekt som ska sparas med deskriptorer som har bestamts i enlighet med en utforingsform av laror had; Figur 7 visar en illustration av ett rorligt objekt som ska sparas med deskriptorer som har bestamts i enlighet med en utforingsform av laror har; Figur 8 visar ett histogram for relativa avstand har bestamts i enlighet med en utforingsform av laror har; Figur 9 visar ett histogram for relativa avstand som har bestamts i ett experiment i enlighet med ett exempel pa utforingsform av laroma har; Figur 10 visar ett flodesschema som illustrerar en allman metod i enlighet med en utforingsform av larorna had; Figur 11 visar en illustration av tva rorliga objekt som ska sparas med deskrip- torer som har bestamts i enlighet med en utforingsform av laroma har; Figur 12 visar ett histogram far relativa avstand far tva objekt som har bestamts i enlighet med en utforingsform av larorna har; Figur 13 visar en illustration av ett rorligt objekt som ska sparas i en riktning parallell med en siktlinje med deskriptorer som har bestamts i enlighet med en utforingsform av !aroma hari; Figur 14 visar en illustration av en linjar anpassning av de genomsnittliga positioner och relativa avstand som har bestamts i enlighet med en utforingsform av laroma har; 6 Figurerna 15A och 15B visar vardera en illustration av en linjdr anpassning av de genomsnittliga positioner och relativa avstand som har bestdmts i enlighet med en utforingsform av larorna had baserade pa rektanguldra koordinater; Figur 16 visar ett flodesschema som illustrerar en allman metod for sparning av ett objekt i enlighet med en utforingsform av ldroma hdri; Figur 17 visar en schematisk illustration av ett objekt som utfor en gest; Figur 18 visar en schematisk illustration av ett tillstandsdiagram eller Turingmaskin for att identifiera gester i enlighet med en utforingsform av ldrorna hari; Figur 19 visar en schematisk illustration av ett tillstandsdiagram eller Turingmaskin for att identifiera gester i enlighet med en utforingsform av ldrorna hari; Figur 20 visar en schematisk illustration av ett tillstandsdiagram eller Turingmaskin for att identifiera gester i enlighet med en utforingsform av ldrorna hari; Figur 21 visar en schematisk illustration av tva objekt som utfor en gest; Figur 22 visar en schematisk illustration av ett tillstandsdiagram eller Turingmaskin for att identifiera gester i enlighet med en utforingsform av ldrorna hari, och Figur 23 visar ett flodesschema som illustrerar en allman metod for identifiering av en gest i enlighet med en utforingsform av ldrorna had.
DETALJERAD BESKRIVNING De beskrivna utforingsformerna kommer nu att beskrivas mer fullstandigt i det foljande med hanvisning till de bifogade ritningarna, i vilka vissa utforingsformer av uppfinningen visas. Denna uppfinning kan emellertid utforas i manga olika former och bor inte tolkas som begransad till utfOringsformerna som anges had, utan dessa utfor- ingsformer tillhandahalls som exempel sa att denna beskrivning kommer att vara noggrann och klar och till fullo formedla ramen for uppfinningen for fackmannen inom tekniken Samma nummer hanvisar genomgaende till samma element.
Figur 1 visar allmant en datoranordning 100 i enlighet med en utforingsform Uri. I en utforingsform ar datoranordningen 100 anordnad for ndtverkskommunikation, antingen tradlos eller tradbunden. Exempel pa en sadan datoranordning 100 är: en dator, stationar eller bdrbar, en surfplatta, en mobilkommunikationsterminal t.ex. en mobiltelefon, en smartphone, en personlig digitalassistent och en spelkonsol. Tva utforingsformer kommer att exemplifieras och beskrivas som en smartphone i figur lA och en bdrbar dator 100 i figur 1B. 7 Med hanvisning till figur lA visas en mobil kommunikationsterminal i form av en smartphone 100 som innefattar ett hus 110, i vilken en skarm 120 är anordnad. I en utforingsform är skarmen 120 en pekskarm. I andra utforingsformer är skarmen 120 en icke-touchskarm. Vidare innefattar smartphone 100 tva tangenter 130a, 130b. I denna utforingsform finns tva tangenter 130, men ett obegransat antal tangenter är mojligt och beror pa konstruktionen av smartphonen 100. I en utfOringsform är smartphone 100 anordnad for att visa och driva en virtuell knapp 135 pa touchskarmen 120. Det bar noteras att antalet virtuella tangenter 135 är beroende av utformningen av smartphone 100 och en applikation som kors pa smartphonen 100. Smartphonen 100 är ocksa. utrustad med en kamera 160. Kameran 160 är en digital kamera som är anordnad att ta video- eller stillbilder genom att spela in bilder pa en elektronisk bildsensor (visas ej). I en utforingsform är kameran 160 en extern kamera. I en utfaringsform ersatts kameran alternativt av en Ulla som ger en bildstrom.
Med hanvisning till figur 1B visas en barbar dator 100 som innefattar en skarm 120 och ett hus 110. Huset innefattar en styrenhet eller CPU (ej visad) och en eller flera datorlasbara lagringsmedium (ej visade), sasom lagringsenheter och internminne Exempel pa lagringsenheter är diskettstationer eller harddiskar. Datoranordningen 100 innefattar vidare atminstone en dataport. Dataportar kan vara tradbundna och /eller tradlosa. Exempel pa dataportar är USB (Universal Serial Bus)-portar, Ethernet-portar eller WiFi- (enligt IEEE standard 802.11) portar. Dataportar är anordnade for att mojliggora far en datoranordning 100 att ansluta med andra datoranordningar eller en server.
Den barbara datorn 100 innefattar vidare kminstone en inmatningsenhet sasom ett tangentbord 130. Andra exempel pa inmatningsenheter är datormus, touchpads, pek- skarmar eller joysticks for att namna nagra.
Den barbara datorn 100 är vidare utrustad med en kamera 160. Kameran 160 är en digital kamera som är anordnad att ta video- eller stillbilder genom att spela in bilder pa en elektronisk bildsensor (visas ej). I en utforingsform är kameran 160 en extern kamera. I en utforingsform ersatts kameran alternativt av en Ulla som ger en bildstrom.
Figur 2 visar en schematisk vy av den allmanna strukturen hos en datoranordning enligt figur 1. Datoranordningen 100 innefattar en styrenhet 210, som är ansvarig far den overgripande driften av datoranordningen 200 och implementeras foretradesvis med nagon kommersiellt tillganglig CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") eller nagon annan elektronisk programmerbar logisk 8 enhet. Styrenheten 210 kan implementeras med hjalp av instruktioner som ger h'ardvarufunktionalitet, till exempel genom att anvanda exekverbara datorprograminstruktioner i en allmanprocessor eller en processor anordnad for ett speciellt andamal som kan lagras pa en datorlasbart lagringsmedium (disk, minne etc) 240 for utforing av en sadan processor. Styrenheten 210 är anordnad att lasa instruktioner fran minnet 2 och utfcira dessa instruktioner for att styra driften av datoranordningen 100. Minnet 240 kan implementeras med anvandning av nagon allmant kand teknik for datorlasbara minnen sasom ROM, RAM, SRAM, DRAM, CMOS, FLASH, DDR, SDRAM eller nagon annan minnesteknologi. Minnet 240 am/ands for olika andamal av styrenheten 210, ett av dem är for lagringen av programdata och programanvisningar 250 for olika programmoduler i datoranordningen 200. Programvarumodulema inkluderar ett realtids-operativsystem, drivrutiner till ett anvandargranssnitt 220, en applikationshanterare samt olika tillampningar 250. Tillampningarna är uppsattningar av instruktioner som nar de exekveras av styrenheten 210 styr driften av datoranordningen 200.
Applikationema 250 kan inkludera ett meddelandeprogram sasom e-post, en internetprogramvara, en mediespelare, samt diverse andra program 250, till exempel program for roststyming, videosamtal, dokumentlasning och/eller redigering av dokument, ett sâ kallat instant messaging program, ett kalenderprogram, en kontrollpanelsapplikation, en eller flera tv-spel, en anteckningsblocksapplikation, rostsamtalapplikationer, SMS- (short message service) applikationer, lokaliserings-tillampningar.
Datoranordningen 200 innefattar vidare ett anvandargranssnitt 220, som hos datoranordningen i flgurerna lA och 1B bestar av skarmen 120 och tangentema 130, 135.
Datoranordningen 200 innefattar vidare ett radiofrekvensgranssnitt 230, som är anordnat att tillata datoranordningen att kommunicera med andra enheter via ett radio frekvensband genom anvandning av olika radiofrekvenstekniker Exempel pa sadan teknik är IEEE 802.11, IEEE 802.11s, och Bluetooth O. Andra exempel pa radioteknik som kan implementeras i en datoranordning 100 är W-CDMA, GSM, UTRAN, LTE, och NMT for att namna nagra.
Datoranordningen 200 är vidare utrustad med en kamera 260. Kameran 260 är en digital kamera som är anordnad att ta video- eller stillbilder genom att spela in bilder pa en elektronisk bildsensor (visas ej).
Upplosningen i en digitalkamera 260 begransas ofta av bildsensom (vanligen ett CCD- eller CMOS-sensor chip) som forvandlar ljus till diskreta signaler. Sensom bestar av ett stort antal receptorer som i huvudsak raknar antalet fotoner som traffar 9 sensorn. Ju ljusare bilden är vid en given punkt pa sensom, desto stone varde lases for denna pixel. Antalet erhallna bildpunkter i bilden bestammer dess "pixel count". Till exempel skulle en 640x480 bild ha 307.200 bildpunkter, eller ca 307 kilobildpunkter, en 3872x2592 bild skulle ha 10.036.224 bildpunkter, eller cirka 10 megabildpunkter.
Kameran 260 är anordnad att ta en digital bild eller en bild. Det finns manga olika satt pa hur detta kan uppnas. Pa ett sat, som kallas single-shot, är sensorn (ej visad) hos kameran 260 exponerad for ljuset som passerar genom en kameralins (inte visad). Single-shot capture-system am/ander antingen en CCD (charge-coupled device), eller tre separata bildsensorer (en vardera for de primara additiva fargema rod, gran, och bla), som är utsatta for samma bild via en straldelare.
Kameran 260 är foretradesvis anordnad att verka som en digital videokamera. Digitala videokameror anvander vanligtvis ett av tvâ olika format for bildinsamling: interlaced och deinterlaced / progressive scan. Interlaced-kamerorna spelar in bilden i omvaxlande uppsattningar av linjer: de udda linjerna skannas, och sedan skannas de jamna linjerna, sedan skannas de udda linjerna igen, och sâ vidare. En uppsattning av udda eller jamna linjer kallas ett "falt" och en konsekutiv ihopkoppling av tva fait av motsatt paritet kallas en ram. Deinterlaced-kameror registrerar varje bildruta som distinkt, med alla linjer som rangas vid samma tidpunkt. Saledes fangar interlacedvideo—rorelsen dubbelt sâ ofta som progressiv video, for samma antal bilder per sekund.
Progressiv scan-videokameror producerar i allmanhet en nagot skarpare bild. Dock är rorelsen inte alltid lika smidig som interlaced video som anvander 50 eller 59,94 fait per sekund, sarskilt om de anvander de 24 bildrutor per sekund som är standard for film.
Den digitala videokameran 260 ger ett digitalt videoflode 265, aven hanvisat till som en digital videokamera. Digital video innefattar en serie eller strom av ortogonala digitala bitmap-bilder som visas i snabb foljd med en konstant hastighet. I samband med video kallas dessa bilder ramar. Vi mater den hastighet med vilken bildrutor visas i bildrutor per sekund (FPS). Eftersom varje bildruta är en ortogonal digital bitmap-bild innefattar den ett raster av bildpunkter. Om den har en bredd pa B bildpunkter och en hojd H bildpunkter sager vi att bildstorleken är BxH. Bildpunkter har endast en kyalitet, deras farg. Fargen pa en bildpunkt är representerad ay ett fast antal bitar. Ju fler bitar desto mer subtila variationer av Larger kan aterges. Detta kallas fargdjup (CD) i videon. Eft exempel: video kan ha en langd (T) pa 1 timme (3600sec), en bildstorlek pa 640x480 (BxH) med ett fargdjup pa 24bits och en bildfrekyens pa 25fps. Detta exempel pa video har foljande egenskaper: bildpunkter per bildruta = 6 * 480 = 307.200; bitar per ram = 307.200 * 24 = 7.372.800 = 7.37Mbits, bithastighet 10 (BR) = 7.37 * 25 = 184.25Mbits/sec, video storlek (VS ) = 184Mbits/sec * 3600sec = 662.400 Mbit = 82.800 MB = 82.8Gbytes. I en utforingsform är kameran 260 anordnad att arbeta vid en bildfrekvens pa kta bilder per sekund, eller nagot av 16, 24, 32 eller fler bilder per sekund.
Kameran 260 är operativt ansluten till styrenheten 210 for att forse den registeransvarige med videoflodet 265, dvs. den serie av bilder tagna, for vidare bearbetning, mojligen for anvandning i och/eller enligt en eller flera av applikationerna 250.
I en utforingsform är kameran 260 en extern kamera eller Ulla for en bild- strom.
Hanvisningar till "datorlasbart lagringsmedium", "dataprogramprodukt ", "patagligt forkroppsligade datorprogram" etc. eller en "styrenhet", "dator", "processor" etc. bar forstas att omfatta inte bara datorer med olika arkitektur som singel/multiprocessorarkitekturer och sekventiella (Von Neumann)/parallella arkitekturer men aven specialiserade kretsar sasom falt-grindmatriser (FPGA), applikationsspecifika kretsar (ASIC), Flash-bearbetning och andra enheter. Hanvisningar till datorprogram, instruktioner, kod etc. bar forstas att omfatta programvara for en programmerbar processor eller firmware sasom exempelvis det programmerbara innehallet i en maskinvaruenhet om instruktioner for en processor, eller konfigurationsinstallningar for en fastfunktionsenhet, grindmatrisenhet eller programmerbar logikenhet etc.
Figur 3 visar en schematisk vy av ett datorlasbart medium som beskrivits i det foregaende. Det datorlasbara mediet 30 är i denna utforingsform ett minne, t.ex. en Universal Serial Bus (USB) minne. USB-minnet 30 innefattar ett hus 33 med ett granssnitt, t.ex. en kontakt 34, och en minneskrets 32. Denna minneskrets 32 är ett flashminne, som är en icke-flyktig datalagring som kan raderas elektriskt och om- programmeras. Minneskretsen 32 är programmerad med instruktioner 31 som vid uppladdning (eventuellt via granssnittet 34) till en styrenhet, t.ex. en processor, exekverar en metod eller ett forfarande i enlighet med utforingsformerna som beskrivits ovan. USB-minnet är anordnat att anslutas till och lasas av en lasanordning, som en terminal enligt figur 1, for laddning av instruktionema i styrenheten. Det bar noteras att ett datorlasbart medum ocksa kan vara andra medier sasom cd-skivor, digitala videoskivor, harddiskar eller andra vanliga minnestekniker Instruktionerna kan aven laddas ner fran det datorlasbara mediet via ett tradlost granssnitt som ska laddas i styrenheten.
Ett forbattrat satt for sparning av ett objekt kommer att beskrivas nedan med hanvisning till de bifogade figurerna. Exemplet kommer att illustreras med fokus pa 11 bilddata, men det bar sta klart att behandlingen sker delvis eller helt i en datoranordning innefattande ett kontrollorgan sasom beskrivits ovan med hanvisning till figurerna 1 och 2 eller bringas att utfOras genom att exekvera lagrade instruktioner pa ett datorlasbart medium, sasom beskrivits med hanvisning till figur 3.
Figur 4A visar en bild av ett objekt som ska sparas, i detta exempel en hand.
Bilden är en del av en bildstrom (ej visad i figur 4, men betecknad 265 i figur 2) som tillhandahalls till en styrenhet (ej visad i figur 4, men betecknad 210 i figur 2) hos en datoranordning (ej visad i figur 4, men betecknad 200 i figur 2) av en kamera (ej visad i figur 4, men betecknad 260 i figur 2). Bildstrommen kan tillhandahaftas till styrenheten (210) fran en extern kamera eller en annan bildstromskalla, t.ex. en strommad video Over Internet.
FOr att kunna utfora en effektiv sparning av ett objekt är det viktigt att bilden innehaller tillrackligt med detaljer. Upplosningen pa kameran är saledes av vikt. For objekt langt bort fran kameran blir upplosningen viktigare och for langvaga sparning är en kamera med hogre upplOsning att foredra. For sparning pa korta avstand, är det tillrackligt med en kamera med lag upplosning. En bildupplosning pa 160X120 har visat sig vara tillrackligt for att kunna lyckas spara ett objekt med det salt som beskrivs har.
For att mojliggora noggrann och exakt sparning foredras dessutom en hog bildhastighet eftersom detta mojliggor en detaljerad spanning av ett objekt. En sadan hog bildhastighet staller hoga krav pa prestanda eftersom varje sparningsoperation maste slutforas innan nasta ram tas emot. Det hari beskrivna sattet har visat sig framgangsrikt kunna spara ett objekt med bildfrekvenser Over 30fps och sa lite som 8 fps.
En vanlig bildstorlek är Video Graphics Array (VGA)-format som har 480x640 bildpunkter, det vill saga totalt 307200 bildpunkter. En sadan datauppsattning är opraktiskt att genomfora omfattande berakningar pA och styrenheten är dad& anordnad for att minska datauppsattningen av bilden genom att bestamma konturlinjer i bilden, och darmed filtrera bort alla punkter eller bildpunkter som ligger inom ett objekt. S'adana konturlinjer kan bestammas med hjalp av kantdetektering. Kantdetektering är ett valkant verktyg for bildbehandling, och datorseende, som syftar till att identifiera punkter i en digital bild dar bildens ljusstyrka andras kraftigt eller, mer formellt, har diskontinuiteter. En popular metod som anvands for kantdetekteringen är Cannykantdetektor vilket är en kantdetekteringsoperator som anvander en etappvis algoritm for att upptacka ett brett utbud av kanterna i bilderna. 12 Styrenheten är, i detta exempel, anordnad att bestamma konturlinjer genom att anvanda Cannyoperatorn och damned generera Cannylinjer av bilden eller forsta bilden (fOrst som den som for ndrvarande behandlas). Figur 4B visar en vy av de resulterande konturlinjer CL for bilden i figur 4A. Sasom framgar har datauppattningen av bilden minskat kraftigt.
FOr att fOrbdttra prestanda vid bestamning av konturlinjer kan styrenheten konfigureras att anydnda hastighetsforbittring med Cannyoperator. Detta resulterar i en ldgre noggrannhet, men okar berdkningshastigheten. Den sdnkta noggrannheten har visat sig vara av mindre betydelse.
Det bar noteras att andra satt att detektera kanter for att generera hojdkurvor existerar och är en del av omfattningen av denna uppfinning.
FOr att ytterligare minska datauppattningen är styrenheten anordnad for att filtrera bort alla konturlinjer, som är stationdra. Konturlinjer CL (kontur) i forsta bilden jdmfors med konturlinjer i en tidigare bild i strommen for att avgora om det fmns en overlagring eller matchning av konturlinjer. Sadana matchande konturlinjer representerar stationdra objekt och filtreras bort, vilket minskar datauppattningen av bilden ytterligare. Figur 4C visar konturlinjer CL i handen efter att alla stationara konturlinjer har filtrerats bort.
For att minska datauppattningen vidare är styrenheten anordnad att filtrera bort konturlinjer som sannolikt inte kommer att vara en del av objektet som ska sparas. FOr att bestamma att en konturlinje inte är en del av ett objekt sa jamfOrs egenskaperna hos konturlinjen med formodade eller kanda egenskaper hos objektet. Till exempel, om ett rektanguldrt objekt ska sparas, filtreras alla cirkelformiga eller runda konturlinjer ut eftersom det är osannolikt att de är en del av ett rektangulart objekt. Likasa om ett rektangulart objekt ska sparas filtreras alla cirkelformiga eller bojda linjer bort.
FOr att mojliggora filtrering av vissa konturlinjer, kan styrenheten vara konfigurerad att filtrera bort en konturlinje baserat pa en grad av krokning for den konturlinjen. Krokningen kan kan stdllas in av konstruktoren beroende pa vilket objekt som skall filtreras. FOr fallet med filtrering for ett runt objekt filtreras alla konturlinjer, som har en krokning under en krokningstroskel, till exempel under 1 eller 5 eller 1 till 5 grader, bort.
FOr fallet att filtrera efter ett rektangulart sparat objekt sa filtreras alla konturlinjer som har en krokning Over en krokningstroskel, till exempel Over 1 eller eller 1 till 5 grader bort. 13 Krokningen kan bestammas baserat pa deskriptorer sasom beskrivs nedan eller genom att jamfora krokningen av tva eller flera punkter pa konturlinjen.
FOr att filtrera rektangulara objekt kan alla objekt med en konturlinje som saknar ett horn filtreras bort.
For att filtrera objekt, som inte är en del av en hand, kan styrenheten kon- figureras att bestamma att en konturlinje inte är en del av en hand genom att jamfora fargema pa bada sidor av konturlinjen. Om fargen pa ingendera sidan av konturlinjen är en hudfarg, är konturlinje inte en del av handen.
Den hudfarg som ska jamforas med kan bestammas frail de forsta bildema i videoflodet dar objektet identifieras och dess farg bestams. Detta gör det mojligt att anvanda sattet som beskrivs hari med alla hudfarger och aven for anvandning med handskar eller kanske tatueringar (henna eller annat) och smycken.
Genom att bestamma en objektfarg i de forsta bildramama vid sparning majliggars det for filtrering av konturlinjer aven for andra objekt som ska sparas.
Det bOr noteras att styrenheten kan vara anordnad att filtrera bort konturlinjer som osannolikt är en del av objektet som ska sparas baserat pa en kombination av de kriterier som anges ovan. Till exempel, är det osannolikt att en hand innehaller cirkulara konturlinjer eller konturlinjer som har skarpa horn.
For att ytterligare minska datauppsattningen är styrenheten anordnad att bestamma vilka punkter i bilden/pa konturlinjema som är av intresse och som ska sparas. FOr att identifiera de intressanta punktema är styrenheten anordnad fOr att tilldela deskriptorer till varje punkt. Deskriptorema är karaktaristiska for en punkt och kan anvandas for att identifiera den punkten.
I en utforingsform är styrenheten anordnad att tilldela tre deskriptorer till varje punkt. Figur 4D visar en forstoring av en konturlinjebild dar konturlinjer CL av spetsen av ett finger kan ses. Tre deskriptorer D1, D2 och D3 indikeras med vita pilar i figur 4D. De tre deskriptorema D1 = normalvinkel i punkten; D2 = krokningen till hoger om punkten, och D3 = krokningen till vanster om punkten.
Mojligtvis kan styrenheten konfigureras till att dessutom eller altemativt tilldela en deskriptor baserat pa fargen for punkten eller intensiteten av konturlinjen i punkten. I en utforingsform är styrenheten anordnad att endast tilldela tva. deskriptorer D1 och D2 enligt: D1 = normalvinkel i punkten och 14 D2 = krokningen i narheten av punkten.
Att tilldela farre (tva) deskriptorer snabbar upp behandlingen, men minskar noggrannheten i det att deskriptorer inte identifierar en punkt lika tydligt som nar man anvander fler deskriptorer. Den 'Rade noggrannheten mojliggor en effektiv filtrering som minskar datauppsattningen som skall bearbetas.
I en utfOringsform är styrenheten anordnad att bestamma normalvinkeln genom anvandning av en Sobeloperator. Sobeloperatorn är kand Mom bildbehandling, sarskilt inom algoritmer sasom kantdetektering. Tekniskt sett är det en diskret differentieringsoperator, som beraknar en approximation av gradienten for en bildintensitetsfunktion.
Vid varje punkt i bilden motsvarar resultatet av Sobeloperatorn antingen motsvarande gradientvektorn eller normen av denna vektor. Sobeloperator baseras pa att falta bilden med ett litet, delbart heltalsfilter i horisontell och vertikal riktning och är dad& relativt billigt i termer av berakningar. Sobeloperationen omfattar en omvandling frail rektangulara till polka koordinater. Det bor noteras att andra salt att bestamma den normala vinkeln finns och ingar i denna uppfinning. I en utforingsform hamtas normalvinkeln fran berakningarna som redan utforts nar kantdetekteringen utfors. Detta är fordelaktigt i det att det reducerar antalet berakningar som behover utforas.
Figur 5 är en illustration av hur vinklar al, a 2, a 3 kan bestammas mellan punkter pa en konturlinje CL. Vinklarna al, a2, a3 motsvarar normaler for en punkt P1 och de tva narmaste intilliggande punkterna P2 och P3 och bestams, i en utforingsform, med Sobeloperatorn. Avstandet mellan tva punkter visas som Asteget. Enligt terminologin i figur 5 kan deskriptorerna bestammas i enlighet med: D1 = al [= Sobel (P1)]; D2 = (al - a2)/Asteg [= (Sobel (P1) - (Sobel (P2))/Astegb och D3 = (al - a3)/Asteg [= (Sobel (P1) - (Sobel (P3))/Asteg].
Detta ger eft enkelt sift aft berakna eller faststalla deskriptorer och krokningar, vilket satt inte kraver komplicerade operationer, sarskilt for faststallandet av den krokning som vinkeln (ar) i normala (er) redan är bestamd for angransande punkter.
Vid anvandning av tva deskriptorer kan deskriptorema D1, D2 bestammas enligt: D1 = al [= Sobel (P1)], och D2 = (a 2 - a3)/2Asteg [= (Sobel (P2) - (Sobel (P3)) I 2Asteg].
F6r att ytterligare minska datauppsattningen är styrenheten anordnad for att filtrera bort punkter som är svara att spara. Figur 6 visar en bild av en hand dar fyra punkterna Pl, P2, P3 och P4 har markerats med en deskriptor (indikerad med en pil).
Tva punkter P3, P4 är placerade pa sidan av ett pekfinger och tva punkter Pl, P2 är placerade pa spetsen av pekfingret. Deskriptorema for de tva sidopunktema P3, P4 är mycket lika, om de bestdms enligt ovan. Detta illustreras i figur 6 genom att motsvarande deskriptorpilar har samma vinkel. Men deskriptorema for de tva punkter pa fingertoppen Pl, P2 skiljer sig bade fran varandra och aven fran deskriptorema for sidopunktema P3, P4. Detta illustreras i figur 6 av att motsvarande deskriptorpilar har olika vinklar Sadana punkter som skiljer sig fran merparten av punktema i bilden är ldttare att spara och styrenheten är anordnad for att filtrera bort alla punkter vars beskrivning inte skiljer sig fran de andra punkternas "deskriptorer.
I en utforingsform är styrenheten anordnad att filtrera ut intetsagande punkter genom att rdkna antalet andra punkter i den foregaende bilden som punkten som jamfors med har liknande eller lika deskriptorer. Om antalet jamforda punkter Overskrider ett traskelvarde kasseras eller filtreras punkten. Troskeln kan representera ett absolut varde, exempelvis 100 eller 500, eller ett relativ varde (en kvot mellan antalet jamforda punkt- er och det totala antalet punkter), till exempel 1/5, 1/10, 1/20 eller 1/40.
For att filtrera bort brus och for att ytterligare minska datauppsdttningen är styrenheten anordnad att filtrera bort punkter som har flyttats for mycket. Filtreringen uppnas genom att styrenheten jamfOr alla punkter pa en konturlinje i bilden med alla punkter pa en konturlinje i den tidigare bilden och de punktpar som visar for mycket skillnad kasseras. I en utforingsform är styrenheten anordnad for att behalla eft punktpar om forandringarna i en deskriptor D1, D2, D3 är under eller inom trOskelvdrden enligt: D1 <= Ti, exempelvis Ti = 11.25 grader; T2L <= D2 <= T2H exempelvis T2L = -50% och T2H = +100% av deskriptorvardet D2; och T3L <= D3 <= T3H exempelvis T3L = -50% och T3H = +100% av deskriptor- vardet D3, diir Ti är ett troskelviirde far tillaten foriindring fOr deskriptor D1, är T2L ett lagre troskelvarde for tillaten forandring for deskriptor D2 är T2H ett hogre troskelvarde for tillaten forandring for deskriptor D2 är T3L ett ldgre troskelvdrde for tillaten forandring deskriptor D3 och T3H är ett hogre troskelvdrde for tillaten forandring deskriptor D3.
Det bar noteras att ju mindre eller sndvare trosklarna Ti, T2H, T2L, T3H och T3L är, desto hogre är troskelvdrdet for jamforelse med de intetsdgande punktema sasom diskuterats ovan. 16 I denna utforingsform är de tva. krokningdeskriptorerna D2, D3 tillatna att variera en faktor 2. Det bor noteras att aven andra faktorer är mojliga, till exempel 3 eller 1,5.
Datauppsattningen har nu reducerats till att omfatta punkter som är av intresse.
For att bestamma horisontell och vertikal rorelse hos ett objekt som ska sparas är styrenheten anordnad att jamfora alla punkter i datauppsattningen med alla punkter i datauppsattningen for att bestamma rorelsen. I en utforingsform är styrenheten anordnad att jdmfora de bildpunktsparen som behalls i enlighet med forandringen i deskriptorer.
Figur 7 visar en illustration av hur rOrelsejamforelsen utfors. Figuren visar tvd 10 hander med vardera tva. punktema Pl, P2 for vanster hand H och P1', P2' for den hogra H'. I exemplet i figur 7 är den hogra H' handen i den aktuella bilden och den vanstra H är handen i den fOregaende bilden. I figur 7 har handen H forflyttats en viss strdcka till Niger (hand H'), som illustreras med att hdndema H, H' är ritade pa ett al/stand fran varandra. Det bor noteras att dven om figur 7 endast visar tva punkter Pl, P2 for varje hand bearbetas flera punkter i ett verkligt exempel.
Styrenheten jamfor alla punkter i datauppsattningen Pl, P2 av den foregaende bilden med alla punkter i datauppsattningen P1', P2 for den aktuella bilden genom att berdkna ett al/stand mellan varje punktpar. Ett sadant al/stand illustreras for en punkt fran en tidigare position P1 till en aktuell position P1' och avstandet betecknas Pi-Pi'.
Aystanden PI-PI 'lagras i en matris for varje avstand. Avstandet är en tvadimensionell enhet som har en X (horisontell) och en Y (vertikal) komponent och matrisen alstras sâ att varje cell motsvarar ett al/stand som ges av de motsvarande X och Y-koordinatema eller komponenter. Varje cell i matrisen okas med ett for varje upptradande av ett beraknat aystand som motsvarar denna stracka. Figur 8 visar ett endimensionellt exempel pa den situation som illustreras i figur 7 ddr varje forekomst av ett al/stand plottas for varje avstand.
Sasom kan ses finns det fyra strackor, varav tva är samma och representerar verklig rorelse. Dessa tva är avstanden mellan P1 och P1 'och P2 och P2'. De andra tva är avstanden mellan P1 och P2' och P2 och P1'. Den verkliga rorelsen bestams genom att finna den maximala forekomsten i avstandsmatrisen. I figur 8 finns den hogsta i den hogsta stolpen, som i detta exempel är stolpen for de tva aystanden P1 - P1 "och P2 - P2'.
Figur 9 visar en tvadimensionell representation av ett experiment dal- ett objekt har funnits Sasom kan ses finns det en topp centrerad kring X = -12, Y = 0. Detta 17 maximum indikerar att objektet har raft sig 12 punkter eller bildpunkter i den negativa X-riktningen.
I en utfbringsform är styrenheten anordnad for att faststalla eller berakna det relativa avstandet samtidigt som detbestams om ett punktpar uppvisar for mycket rorelse, men efter att det faststdlls att punktparet inte uppvisar alltfor mycket rorelse.
Detta minskar det antal ganger styrenheten maste behandla datauppsdttningen och ddrigenom forbdttras berakningseffektiviteten.
Genom att anvanda det sat som beskrivs ovan for att minska datauppsdttningen och sedan bestamma ett maximum for mOjliga rorelser, kan den sanna horisontella och vertikala rorelsen hos ett objekt bestammas pa ett sat som krdver endast fa berdkningsresurser.
Experiment har visat att en smartphone anpassad for att genomfora det ovanbeskrivna sattet kan spara objekt tillfredsstallande med lagupplosningskameror och under daliga ljusforhallanden (ner till 20 lux), vilket Or de hdri beskrivna metoderna lampliga fOr anvandning i mobilutrustning Asom smartphones, barbara datorer, surfplattor etc samt i stationdra apparater for anyandning i mindre an optimala miljoer sasom spelkonso ler (bdrbara samt stationdra).
De sat som beskrivs han är lampliga for sparning av ett objekt sasom en hand for att mojliggora geststyrning av en enhet. Ett exempel pa genomforande av ett sat hdri an en bldddringsapplikation ddr gesten att flytta en hand fran ena sidan till den andra indikerar en "vanda blad" operation i samma riktning som den sparade threlsen. I exemplet i figur 9, skulle motsvarande operation vara att vanda till nasta sida (forutsatt att X-riktningen är at hoger, varvid den bestdmda rorelsen är en rorelse at vanster). Det sat som beskrivs han är ocksâ lampligt fOr sparning av ett objekt som ett oga for att mojliggora blicksparning. Blicksparning kan anvandas for att samla in data som ror ldsningsbeteenden, bestdmma en aktuell punkt av intresse pa ett innehall som visas och dven for att styra en enhet med specificerade ogonrorelser (siirskilt anydndbart for att ge handikappstod). Ett exempel pa genomforande av satet had är en annonsapplikation ddr en punkt av intresse (som är en punkt da anvandaren fokuserar under en tid, som overstiger ett troskelvdrde, eller upprepade ganger) dr associerad med ett visst dmne och applikationen är anordnad att foresla och visa en annons om amnet. I exemplet i figur 9 skulle en applikation spara ett ogas rorelse at vanster (forutsatt att Xriktningen dr at Niger, varvid den bestdmda rorelsen dr en rorelse at vanster). Skulle ingen ytterligare rorelse detekteras under ett tag och det i det visade innehallet finns en 18 artikel om dykning i vanstra kolumnen, kan applikationen hamta och visa en annons for dykutrustning.
Fig 10 visar en allman metod i enlighet med laroma had. En bildstrOm tas emot 1010 i en datoranordning. For att minska den data som skall bearbetas bestammer datoranordningen konturlinjer 1020 och filtrerar bort stationara linjer 1030. Eventuellt (vilket indikeras av den streckade linjen), filtrerar datoranordningen bort punkter som är osannolika att tillhora 1035 ett objekt som ska sparas.
Datoranordningen bestammer och tilldelar deskriptorer 1040 till varje punkt. Dessa deskriptorer kan anvandas fOr att identifiera punkter. For att minska datauppsatt- ningen, som skall bearbetas, filtrerar datoranordningen bort punkter vars deskriptorer indikerar att punkten är intetsagande 1044 (svar att skilja fran andra punkter). For att ta bort falska rorelser och att minska datauppsattningen som skall bearbetas filtrerar datoranordningen 1048 ut punktpar for vilka deskriptorema indikerar att en alltfor stor rorelse har gjorts. Datoranordningen bestammer darefter det relativa avstandet mellan varje punktpar 1050 i datamangden och finner maximala fOrekomsten av ett relativt avstand 1060. Det maximala relativa avstandet motsvarar en forflyttning av objektet som ska sparas.
Figur 11 illustrerar hur ett flertal objekt kan sparas med hjalp av det had beskrivna sattet. I den schematiska exempelillustrationen i figur 11 visas objekt 01 och 02 som identifieras av vardera tre punkter P1, P2 och P3 for forsta objektet 01 och P4, P5 och P6 for andra objektet 02. Ett dataset, som motsvarar bilden, har reducerats sasom beskrivs °van med hanvisning till figurema 4 till 7.
Nar styrenheten bestammer de relativa avstanden for alla punktpar for den forsta och andra objekten 01 och 02 i figur 11 genererar den ett histogram (endimen- sionellt) som visas i figur 12, som visar ett exempelhistogram av relativa avstand for de sex punktema P1- P6 i fig 11. For tydlighetens skull har de relativa avstanden for falska rOrelser inte identifierats i figur 12. Dessutom är de relativa avstanden i figurema 11 och 12 illustrativa och korrelationen mellan avstanden i figur 11 och grafema i figur 12 är inte korrekt.
Tva troskelvarden kan identifieras i figur 12, ett for forsta objektet 01 och ett for det andra objektet 02. Fran detta kan det bestammas att 01 har flyttats en viss stracka och att 02 har flyttats en annan stracka, dar det forsta objekt 01 har flyttats langre an det andra objekt 02.
Det är saledes mojligt att spara mer an ett objekt genom laroma har. Della kraver inte ytterligare berakningar bortsett fran enkel operation for att hitta ett andra 19 maximum. Sparning av flera objekt kan med fordel anvandas for att implementera ett multi-geststyrsystem for en enhet. Det kan ocksâ anvandas for att ge flera spelare funktionalitet till ett videospel eller ett flertal operatoringangar fOr styrsystem.
For att aktivera, till exempel, ett klickande, en valhandling eller en zoom- funktion i ett gestkontrollerat operativsystem är det fordelaktigt att detektera rorelsen av ett objekt i djupled i bilden eller i en dimension parallell med en siktlinje i bildstrommen. I kanda system har djupet faststallts till exempel genom anvandning av stereo eller dubbla kameror eller med djupkameror aven kallas avstandskameror. Detta staller sarskilda krav pa den anvanda kameran vilket Okar kostnaden for datoranordningen och 10 begransar dessutom anvandbarheten av det satt pa enheter utrustade med sadana kameror eller anpassats for att hantera de utokade uppgifter som sa.dana kameror. Lardomarna hari beskriver ett satt nedan som är lampligt for anvandning med en godtycklig kamera och kan dad& med fordel anvandas i smartphones, barbara datorer, surfplattor, spelkonsoler och andra datoranordningar.
Figur 13 illustrerar schematiskt ett exempel av en fOrflyttning av punkterna P1, P2 vilket motsvarar ett objekt (ej specifikt visat). Som kan ses har punkten gatt fran ett forsta lage P1, P2 till en andra, senare position P1', P2'. Langden av rorelsen Ar1, Ar2 for varje punkt P1, an P2 proportionell mot avstandet R1, R2 fOr objektet fran en fokuspunkt F. Om avstandet R1, R2 okar, betyder det en rorelse mot kameran och om avstandet R1, R2 minskar, betyder det en rorelse bort frail kameran. Eftersom avstandet R ocksa. kan uttryckas genom: R2 = X2 + Y2, dar X och Y är de rektangulara koordinater eller komponenter for varje punkt, har forfattarna insett efter insiktsfulla resonemang att X- och Y- komponenter kan anvandas i stallet for radien R alien om origo i koordinatsystemet inte sammanfaller med fokuspunkten F. Detta forenklar berakningarna som skall utforas vasentligt.
I en utforingsform är styrenheten anordnad att bestamma en genomsnittlig position om punktparen Pl, P1' och P2, P2' tillhor en datauppsattning som har minskats enligt ovan. Detta genererar en mangd genomsnittliga positioner for punkten paren.
Eventuellt kan styrenheten konfigureras att filtrera bort de punkter som skiljer sig alltfor mycket fran en detekterad hel forflyttning som bestamts enligt det salt som beskrivs ovan. For exemplet i figur 9 ar den totala rorelsen X = -12; Y = 0.
Den genomsnittliga positionen for Plm bestams genom Plm = (P1 + P1') / 2 Styrenheten ar vidare anordnad att generera en motsvarande uppsattning av de relativa avstanden An, Ar2 for den punktparen P1 till Pl'och P2, P2' och jamfora de relativa avstanden An, Ar2 mot medelvardespositionerna Plm, P2m. Figur 14 visar ett diagram over det relativa avstandet Ar kontra avstandet R till en fokuspunkt F och figurema 15A och 15B visar motsvarande diagram for X- och Y-komponentema eller koordinatema.
Styrenheten är anordnad att bestamma en lutning av en motsvarande linje LR, LX och LY genom att utfora linjeanpassning pa data i matrisema. For diagrammet i figur 14 kan den resulterande linjen LR uttryckas som: Ar = a + bR, ddr a är skamingspunkten och b är lutningen pa linjen LR.
Lutningen b är proportionell mot rorelse i djupled i en bild och kan anvdndas fOr att spara ett objekt som rOr sig i en djupmassig riktning, awn kallad Z-riktningen. 10 En positiv lutning (b> 0) indikerar rorelse mot kameran och en negativ lutning (b <0) indikerar rorelse bort fran kameran.
Styrenheten är, i en utforingsform, anordnad att utfora en sadan linjeanpassning for att faststalla en lutning baserat pa X- och Y-komponentema for punktparen P1, P1', P2, P2'. Figurema 15A och 15B visar de resulterande linjema LX och LY for X- och Y- komponenter eller koordinater och de bestamda lutningarna for linjema LX och LY kan anvandas av styrenheten for att bestamma rorelsen i Z-riktningen. For en rorelse enbart i Z-riktningen är lutningama for X och Y-komponenter linjdra LX och LY desamma.
Fokuspunkten F kan bestammas fran linjen anpassad for X- och Y-komponent- erna. I diagrammen i figurema 15A och 15B kan koordinatema for fokuspunkten F bestdmmas som om det relativa avstandet är noll, dvs AX = 0 ger PX och AY = 0 ger PY, dar F = (PX, PY).
Fokuspunkten F kan anvandas for att identifiera ett objekt och skilja den fran andra objekt, eftersom F anger en mittpunkt for objektet. Fokuspunkten F kan salunda anvandas air att identifiera ett objekt vid spaming av ett flertal objekt som har beskrivits ovan med hanvisning till figurema 11 och 12.
Det bar noteras att genom en effektiv omvandling fran rektanguldra koordinater till poldra koordinater kan avstandet R och forandringen i avstandet Ar anvandas for att berakna lutningen och darigenom rorelsen i Z-riktningen.
Vid sparning av flera objekt i utritningen av R, kommer X- och Y-kompo- nentema visa flera trender, en trend kommer att forknippas med varje objekt, och flera linjeanpassningar utforas av styrenheten. Lutningen for varje linje motsvarar forflyttningen av det tillhorande objekt.
Fig 16 visar en allman metod for spaming av ett objekt i enlighet med ldroma Uri. En datauppsattning bestaende punktpar mottas 1610. Datauppattningen har fore-tradesvis reducerats i enlighet med ldran som beskrivs ovan, men det hari beskrivna 21 sattet for att bestamma rorelse i en z-riktning kan äv-en anvandas pa datauppsattningar genererade och dven minskade pa andra att.
De genomsnittliga positionerna for punktparenbestams 1620 samt de relativa avstanden for punktparen 1630 och en lutning bestams 1640 till exempel genom att utfora en linjeanpassning av de relativa avstanden kontra de genomsnittliga positionerna.
Rorelsen i Z-riktningen bestams 1650 baserat pa lutningen.
Sattet for spaming av ett objekt i en z-riktning i enlighet med hari är fordelaktig i det att den kraver fâ berakningsresurser. En ytterligare stor fordel är att det inte kravs en speciell kamera eller flera kameror och kan anvandas i alla datoranordningar anordnade att motta en datauppsattning for bilder eller en bild strom exempelvis fran en kamera, intern eller extern.
Genom att kombinera metoderna och satten beskrivna ovan for sparning av ett objekt i en vertikal och horisontell riktning med ldran i hur man sparar ett objekt i en riktning parallell med en siktlinje uppnas ett satt for sparning av ett objekt i tre dimensioner. En sadan kombination kan uppnas genom att kombinera metoderna enligt figur 10 och 16 sa att de funna punktparen 1610 är de punktpar som aterstar efter filtrering, till exempel efter filtreringen 1048 av punktpar som uppvisar en alltfor stor rorelse.
For att bestamma och identifiera en gest som utfors av ett sparat objekt, sasom en hand, är en styrenhet anordnad for att bestamma en rorelsevektor for det sparade objekt och jdmfora rorelsevektorn mot ett vektorbibliotek.
Figur 17 visar en schematisk illustration av en hand H som utfor en gest genom att den flyttas i tre riktningar Upp, HOger och Ned. I figur 17 är gesten representerad av tre partiella rorelser 1710 Upp, 1720 Hoger och 1730 Ned. Riktningarna for partiella rorelser 1710-1730 indikeras i figur 17 genom deras riktningar (i grader) som skrivs inom parentes for varje rOrelse. En rOrelsevektor innefattar saledes atminstone en partiell rorelse som var och en har en riktning. Rorelsevektorn for gesten i figur 17 har tre komponenter och kan anges av de partiella rorelsernas riktningar, t.ex. {90, 0, 270} riktningen identifierad med en vinkel fOr riktningen. Att beskriva en gest som en rad riktningar sparar minnesutrymme och mojliggor ocksa att en enkel och snabb jamforelse utfors for aft identifiera en gest.
Exemplet i figur 17 är i tvâ dimensioner, men det b6r noteras att konceptet som beskrivs hari med hanvisning till figurerna 17 till 23 enkelt kan utokas till tre eller ytterligare dimensioner sham kommer att diskuteras nedan. 22 Att mojliggora far felaktiga anvandarrarelser är styrenheten anordnad att faststalla att det är en viss gest om en jamforelsevinkel ligger inom ett intervall eller feltolerans av vinkeln som ska jamforas med. Vinkeln som ska jamfOras med kommer hadanefter att hanvisas till som en referens- eller bibliotekvinkel. Med andra ord är styrenheten anordnad att bestamma att det finns en matchning av en partiell rorelse om ddr p är biblioteksvinkel, a vinkeln att jamfora och (I) feltoleransen.
For att filtrera bort ofrivilliga rorelser kan styrenheten konfigureras for att, utover vinkeln rorelse, dven bestamma avstandet far rorelsen och endast om aystandet (dist) ligger over ett troskelvdrde (V1), jamfors vinkelrorelsen med biblioteksvinkel.
Med andra ord, om dist> = V1 sâ detekteras den (partiella) rorelsen och jamfors. Genom att kombinera mdtning av avstandet och feltoleransen far vinkeln är styrenheten anordnad for att detektera en gest (eller en del av en gest) genom att skilja den fran slumpmdssiga rorelser hos objektet som sparas. Kombinationen av avstandet och vinkelfeltolerans definierar en kon (med avskuren topp) inom vilken kon alla resulterande rorelser kommer att upptdckas som en rorelse i riktning mot vinkeln. Till exempel finns det vid forflyttningen enligt figur 17 tre partiella rorelser som utgor en gest far det sparade objektet H. Den forsta rorelsen representerar forflyttning fran ldget H till H' i en vinkel pa 90 grader och pa avstand distl, den andra rorelsen representerar en rorelse frail position H'till H" i en vinkel pa 0 grader och pa aystand dist2 och den tredje rorelsen representerar forflyttning fran lage H" till H " i en vinkel pa 270 grader och pa avstand dist3. Bara om alla avstand distl, dist2 och dist3 är langre an troskelvardet V1 och alla vinklar ligger inom en feltolerans kommer gesten kannas igen. Altemativt kommer en gest ocksâ att bli igenkand om summan av avstanden är over troskelvardet, dvs om distl + dist2 + dist3> = Vi.
Sparning av objekt som beskrives han, speciellt med hanvisning till figurema 4-16 kan gOras i realtid fOr att ge koordinatema till spaming av ett objekt. Detta mOjligOr en snabb identifiering av en gest som ldmpar sig for anyandning i ett realtidssystem eftersom koordinaterna tillhandahalls i realtid och identifieringen av en gest utfors utan omfattande eller resurskravande beraningar.
I en utforingsform är styrenheten anordnad att identifiera en gest genom anyandning av ett tillstandsdiagram, sasom en Turingmaskin. Figur 18 visar ett exempel pa en sadan Turingmaskin far att identifiera de exempelgester som anges i tabell 1. Turingmaskinen 1800 (som Turingmaskiner 1900, 2000, 2200 enligt fig. 19, 20 och 22) 23 genomfors och exekveras av en datoranordning, sasom beskrivs med hanvisning till figurerna 1 och2.
Styrenheten (ej visad i figur 18, men betecknad 210 i Figur 2) är anordnad att starta i ett initialt tillstand eller starttillstand som indikeras med fetstilslinjer och ett 0 i figur 18. Allteftersom en rorelse detekteras, eventuellt genom att bestamma att ett avstand av rorelsen är Over ett trOskelvarde V1, sasom har beskrivits ovan, initierar vinkeln av rorelsen en tillstandsovergang. I exemplet i figur 18 anvands endast fyra vinklar for rorelser, de fyra vinklarna är 0 grader (rorelse till hoger), 90 grader (rorelse upp), 180 grader (rOrelse till vanster) och 270 grader (kombinationer). Det bOr vara klart att aven ytterligare riktningar kan tillampas och anvands for att definiera och identifiera gester i enlighet med lardomarna av denna ansokan.
Om en registrerad rOrelse har en vinkel som avviker mindre an feltoleransen fran en vinkel som identifierar en overgang sa genomfors overgangen. Till exempel, om en rorelse till vanster detekteras (med en vinkel pa 170 grader), forutsatt att feltolerans- en är 10 grader, kommer styrenheten initiera en Overgang fran det initiala tillstandet 0 till ett annat tillstand som anges {180} i figur 18 . Tillstandet {180} motsvarar en atgard, vilket indikeras av att tillstandet ritats med heldragna linjer. Fran tabell 1 kan handlingen identifieras som en Angra-atgard.
Som i detta exempel kan gester och deras motsvarande &Order lagras i en databas eller ett register i minnet (refererade 240 i figur 2) i datoranordningen.
En sekvens av rOrelser kan upptackas och identifieras genom tillstands- overgangar i Turingmaskinen 1800 i figur 18. Till exempel: den serie rorelser som visas i figur 17 skulle resultera i tillstandet som betecknas {90, 0, 270} som enligt tabell 1 motsvarar &garden Zooma in.
Om styrenheten sparar en rOrelse i en vinkel, sager 120 grader, vilken faller utanfor feltoleranskonen for nagon av vinklarna (forutsatt en feltolerans pa 10 grader), Liter& styrenheten till det ursprungliga tillstandet 0. I en annan utforingsform (som kommer att diskuteras nedan) kommer styrenheten att aterga till foregknde stabila tillstand, ett stabilt tillstand är ett tillstand som motsvarar en atgard eller det ursprung- liga tillstandet. I exemplet i figur 17 är det tidigare stabila tillstandet det inledande tillstandet for alla andra (instabila) tillstand.
Om styrenheten inte kan spara en rOrelse med ett avstand langre an troskelvardet, eventuellt inom ett timeoutvarde Ti, och inte ha natt ett (stabilt) tillstand som motsvarar en atgard, kommer styrenheten att aterga till det ursprungliga tillstandet 0. I figur 18 är tillstand som motsvarar en atgard markerade med heldragna linjer och 24 tillstand som inte motsvarar en &Ord är markerade med streckade linjer. Ett exempel pa vardet av ett timeouttroskelvarde Ti är 0,5 sekunder. Ett annat exempel är 0,3 till 1 sekund.
I en utforingsform kan objektsparningen som beskrivits med hanvisning till figurerna 4 till 16 vara anordnade sâ att en position for ett sparat objekt endast ges om objektet har flyttats ett avstand langre an avstandstroskelvdrdet. Detta tinker en styrenhet hos datoranordningen, sasom en centralenhet (CPU), att behandla applikationsdata, medan en annan processor, sasom en grafik processor (GPU), behandlar sparningsdata.
Genom att konfigurera en styrenhet for all upptacka och identifiera en gest genom anvandning av en Turingmaskin 1800 mojliggors att identifiering av en gest kan goras snabbt, pâlitligt och i realtid utan att krava stora datorresurser. Dessutom är det saft som beskrivs hari flexibelt i det att gesterna inte behover ha ett visst format och kan ldtt anpassas genom att tillfora tillstand i Turingmaskinen 1800.
Detta sat( är dessutom ldtt att expandera till att omfatta aven andra dimen- sioner, t ex djup, rotation, avstand, rorlighet och rorelsehastighet.
Figur 19 visar ett exempel pa en Turingmaskin 1900 for identifiering av gester i fyra dimensioner, de fyra dimensionerna är tva rumsliga dimensioner, rorelsehastighet och rorelseldngd. Turingmaskinen 1900 i figur 19 är en utvidgning av en del av Turing- maskinen 1800 i figur 18. Det bar noteras att dven om Turingmaskinen 1900 i figur 19 är inriktad pa fyra dimensioner, är lardomarna som anges hdri tillampliga pa varje kombination av dimensionerna.
I exempelutforingsformen som visas i figur 19, är styrenheten anordnad att aktivera Turingmaskinen 1900 fOr att skilja mellan en snabb och en langsam rOrelse, dvs bestarnma hastigheten pa en rorelse. Om hastigheten av rorelsen bedoms vara Over en hastighetstroskel Si är rorelsen klassificerad som en snabb rorelse, och om inte klassificeras rorelsen som en langsam rorelse. Hastigheten air rorelsen kan bestiimmas genom att jarnfora aystandet av rorelsen med den tid det tar for all tillryggalagga avstandet. Detta kan bestammas under spaming av objektet eller under identifieringen av en rorelse och motsvarande gest. I figur 19 indikeras en snabb rorelse genom att vara understruken, sasom overgangen (270 ) till tillstandet {2701 som motsvarar &garden Skriv ut. Ett exempel pa ett hastighettroskelvarde är baserat pa avstandet troskeln V1 sa att Si = V1 / 1 sekund. Ett annat exempel är ett hastighettroskelvarde som är baserat pa avstandstroskeln V1 och timeouttroskelvardet Ti sa att Si = V1/T1.
Styrenheten kan ocksa och/eller dessutom konfigureras att skilja mellan en Fang och en kort rorelse. Detta kan goras genom att jamfora avstandet (t.ex. distl i figur 17) for en rorelse med ett andra troskelvdrde V2, det andra troskelvardet V2 är stone an det forsta troskelvardet Vi. Om avstandet är langre an det andra troskelvardet, klassificeras rorelsen som en lang rorelse, och om inte klassificeras rorelsen som en kort rorelse. I figur 18 indikeras en Fang rorelse genom att vara i fetstil, till exempel Overgang (270) till tillstandet {270} som motsvarar &garden Radera.
Det är salunda mojligt att tilldela olika &Order for samma riktning genom att ta hansyn till dimensioner sasom hastighet och/eller langd av rOrelsen. FOr exemplet i figur 19 och tabell 1 ger Turingmaskinen 1900 tillstanden och motsvarande &girder {270} korta, langsamma rorelser nedat motsvarar en Skicka &gird, {270} langa, langsamma rorelser neddt motsvarar en Delete atgard, { 270 korta, snabba rorelser nedat motsvarar ett tryck &Ord, och {270} langa, snabba rorelser nedat motsvarar en Delete utan bekraftelse atgdrd. Detta mojliggor att tilldela &garner med allvarliga konsekvenser till gester som är mer distinkta, som är avgorande eller bestamda i sin natur. Till exempel, det är mindre sannolikt att Ora en lang rorelse av misstag an att utfora en kort rorelse av misstag.
FOr att mojliggora flexibilitet i enlighet med olika anvandare, olika datoranordningar, olika kameror och eller olika applikationssituationer, är styrenheten anordnad att bestamma vardena av avstandstroskelvdrdet Vi och/eller V2 baserat pa en storlek pa objektet som skall sparas, ett ay-stand till objektet som ska sparas, storlek pa skarmen och bildvinkeln i kameran.
Avstandet till objektet som skall sparas kan bestammas genom fokusfunktionen i kameran eller djupledssparning sasom beskrivs med hanvisning till figurerna 13-15.
Genom att anvanda djupledssparning, kan troskelvardena 'Ras eller minskas i enlighet med objektets rorelse i en djupmassig riktning (vasentligen parallell med siktlinjen av kameran).
Till exempel, troskelvardena Vi och V2 är relaterade till storleken pa objektet som ska sparas, nagra exempel pa varden pa Vi och V2 är V1 = 3 x storlek for objekt, V2 = 6 x storlek for objekt.
Till exempel, troskelvardet Vi och V2 är relativa till kamerans bildvinkel, nagra exempel pa varden pa V1 och V2 är Vi = 20% av bildvinkeln, V2 = 50% av bildvinkeln. For en bildyinkel pa 120 grader V1 dr 24 grader och V2 = 60 grader.
Gestdetekteringen som beskrivs Ilan ar lamplig for realtidsutforande som har diskuterats ovan. For att mojliggiira snabbare utforande, är styrenheten av datoran- 26 ordningen (refererade 210 och 200 respektive i figur 2) anordnad att proaktivt utfora en atgard som motsvarar en antagen gest medan en gest detekteras.
I en situation ddr en uppatgdende rorelse har detekterats (betecknad av Over- gangen (90) i figur 18 är endast tva atgarder mojliga, namligen atgarderna Zoom in (motsvarande {90, 0, 270}) och Forminska (motsvarande {90, 180, 270}) I detta exempel avser atgarder att en bild visas. FOr att forbereda kan styrenheten hamta bilddata som behovs for att utfora zoomningen och mojligen ocksa bestamma bade en inzoomad och en utzoomad representation av bilden som visas. Genom att forbereda de dtgarder som skall vidtas, kan &garden utfOras pd mycket kortare tid, vilket resulterar i en snabbare svarstid. Om exempelvis bilddata behover laddas fran en extern harddisk, kan manga tiondelar av en sekund sparas genom att inleda laddningen av bilddata innan gesten är klar och identifierad. Som bekant upplevs en svarstid pd mer an 0,1 sekunder som stressande och trakig av manga anvandare av datoranordningar. En datoranordning anordnad att proaktivt utfora en &Ord har dad& en stor fordel i att den minskar svarstiden och är mindre stressande att anvanda.
Pa grund av berakningseffektiviteten hos moderna styrsystem, sasom centralenheter (CPU), kommer en styrenhet att vara inaktiv under manga klockcykler medans gesten utfOrts och upptdckts och eftersom mansklig rorelse är relativt langsam jamfort med processorer har forfattarna till denna ansokan insett att genom att utnyttja dessa gratis klockcykler till att proaktivt utfora en &Ord uppnas (atminstone delvis) en kortare reaktionstid for atgarden.
I detta exempel kan styrenheten bestamma en motsvarande gest dven om gesten inte har slutforts annu. Styrenheten är medveten om vilken gest som matas in redan i tillstanden {90, 180} och {90, 01 eftersom endast en overgang leder fran vardera (instabila) tillstand. Styrenheten kan saledes utfora motsvarande atgard proaktivt och om tillstandet motsvarande gesten nas kan resultatet av den proaktiva dtgarden visas eller verkstdllas. I detta exempel visas den zoomade bilden(in eller ut). Genom att astadkomma resultat i proaktivt syfte, far en anvandare tid att angra en atgard genom att avbryta gesten.
Detta sat att proaktivt utfora en atgard är sdrskilt fordelaktigt om en styrenhet utfor objektssparning och en processor utfor handelserelaterad verksamhet.
For att mojliggora en stone variation av gester har forfattarna till denna ansiikan insett att en gest kan fâ bilda en undersekvens av en annan gest.
Figur 20 visar en Turingmaskin 2000 for en styrenhet aktiverad for att skilja mellan en forsta gest och en andra gest dar en forsta gest bestar av en subsekvens av den 27 andra gesten. Den Turingmaskin 2000 är en utvidgning av en del av Turingmaskinema 1800 eller 1900 av figurema 18 eller 19.
Tillstandet refererat {0, 901 motsvarar kgdrden Vdnd sida (se tabell 1) och tillstandet refererat {0, 2701 motsvarar atgdrden Vdnd sida bakat (se tabell 1) som i Turingmaskinen 1800 i figur 18 . Denna Turingmaskin 2000 inkluderar ytterligare tva tillstand, ett tillstand betecknat {0, 90, 1801 motsvarande atgard Bldddra framat och ett tillstand betecknat {0, 270, 0} motsvarande atgarden bladdra framal Som kan ses är alla fyra tillstand stabila tillstand och tillstandet refererat {0, 901 är pa vagen mot tillstandet refererat {0, 90, 1801 dvs gesten for {0, 901 är en subgest av gesten for {0, 90, 180} och tillstandet refererat {0, 270} är pa vdgen mot tillstandet refererat {0, 270, 0) dvs gesten for {0, 2701 är en subgest av gesten for {0; 270, 0).
For att skilja mellan subgester och kompletta gester är en styrenhet anordnad for att aterga till ett foregaende stabilt tillstand om en ytterligare rorelse detekteras med en vinkel som inte motsvarar nagon annan gest. Detta mOjliggOr att avsluta en gest genom en rorelse i en odefinierad riktning. Detta majliggar ocksa att pausa gester. Altemativt och/eller dessutom, om ingen ytterligare rorelse detekteras inom ett tidstroskelvarde Ti, atergar styrenheten till ett tidigare stabilt tillstand. Det tidigare stabila tillstandet kan mojligen vara ett tillstand som for ndrvarande besoks, om ett sadant tillstand är ett stabilt tillstand.
FOr exemplet i figur 20 utfors en vand sida framat atgard om en anvandare utfor gesten hoger-upp-(ned/bort/hoger/stopp) och en bldddring framat atgdrd utfors ndr en anydndare utfor gesten hoger-upp-vdnster-(ner/bort/hoger/stopp). Analogt utfors en vand sida bakat atgard ndr en anvandare utfor gesten hOger-ner-(ned/bort/vanster/stopp) och en bladdra bakat atgdrd utfors ndr en anvandare utfor gesten hoger-ner-hoger(ned/bort/vdnster/stopp). Den bldddrande atgdrden skulle kunna definieras som en HOLD gest sa att bliiddring fortsiitter när styrenheten är i ett bliiddrande tillstand (dvs ingen ytterligare rorelse detekteras).
For att mojliggora fler objektsgester, kan styrenheten konfigureras att spara flera objekt sasom har beskrivits med hanvisning till figurema 11 till 12 och aven 13-15.
Rorelsen hos varje objekt (refererade 01 och 02 i siffror 11 och 12) kan identifieras genom ett tillstandsdiagram eller Turingmaskin som beskrivs med hdnvisning till figurema 18 och 20, ddr en instans av Turingmaskinen av varje (eller en kombination av) Turingmaskiner 1800, 1900, 2000 frail figurema 18, 19 och 20 alstras och exekveras for varje objekt. Detta mojliggiir for all flera objekt utfor gester samtidigt eller 28 samtidiga gester. De gester som identifierats for varje objekt kan kombineras till en motsvarande atgard eller sâ kan varje gest resultera i varsin atgard. Detta mojliggor samtidig anvandning eller hantering med flera samtidiga gester. Ett exempel pa en anvandning av Adana flerobjektsgester som styr en forsta applikation eller en forsta spelare i en spelapplikation med ena handen och styra en andra applikation eller en andra spelare i en spelapplikation med en annan hand varigenom multitradsprogrammering och aven multiplayer-gaming mojliggors.
Figur 22 visar en illustration av en Turingmaskin 2200 for att identifiera komplexa gester som utfors av flera objekt. Sadana gester kan anvandas for att styra en och samma applikation eller mojliggora ett rikare gestbibliotek till en utvecklare av en applikation. Figur 21 visar en schematisk illustration av tva objekt, i detta exempel tva Under H1 och H2, som utfor en komplex, flerobjektsgest. Den fOrsta handen (vanster) H1 Or en rorelse at hoger (referens (0/-) for att indikera att ett fOrsta objekt ror sig i en riktning av 0 grader) till en andra position Hi 'och den andra handen (hoger) H2 gar en riirelse nedat (refererad (-/270) fOr att indikera att det andra objektet ror sig i en riktning av 270 grader) till en andra position H2'.
Denna Turingmaskin 2200 har tre tillstand for komplexa gester beroende pa vilken hand, den fOrsta (vanstra) handen H1 eller den andra (hOgra) handen H2, som kir sig forst. Gesterna och motsvarande &Order visas i tabell 2. Exempelgester och deras motsvarande atgarder är endast for illustration och det bar vara klart att exemplen i sig inte ska anses som begransande for larorna hari. Varje overgang i Turingmaskin 2200 motsvarar en forflyttning av atminstone ett objekt.
Om den fOrsta (vanstra) handen H1 ror sig forst, kommer styrenheten att hamna i ett tillstand refererat {0/-;-/270} med motsvarande verkan att ta fram nasta sida och ta bort den (eller tidigare) sidan. Om den andra (hogra) handen H2 ror sig forst, kommer styrenheten att hamna i ett tillstand refererat {4270,0/-} med motsvarande verkan att ta bort en aktuell sida och ta fram nasta sida. Beroende pa vilken sida som raderas (foregaende eller nasta) ger dessa tva atgarder mojligen olika slutresultat. Alternativt ger ordern anvandaren en mojlighet att forhandsgranska nasta sida innan han raderar den tidigare (tillstand {0 /- ;-/ 2701).
Om den fOrsta handen HI och den andra handen H2 ror sig vasentligen samtidigt, utfors en tredje multipel atgard. I detta exempel motsvarar den samtidiga funktionen en zoomningsoperation. 29 I en utforingsform har ordningen som objekt forflyttas i ingen betydelse. Detta minskar antalet tillgängliga gester, medan det forenklar inmatningen av en korrekt gest eftersom en anvandare inte behover utfora rorelserna i exakt tidsfoljd.
Att ha flera objektgester majliggar for ett utokat gestbibliotek och ett som ocksa är mer flexibelt for en applikationsdesigners behov och onskningar for applikationen.
For att ytterligare forenkla gestinmatningen for en anvandare kan styrenheten konfigureras for att ge anvandaren feedback under gestidentifieringsfasen, genom att visa en indikator eller status (t.ex. genom smd ikoner, pilar, text eller fOrloppsindikator i ett horn, exempelvis ovre hogra hornet av skarmen) av upptackta rorelser. Indikationen uppdateras varje gang en riktning av rorelse har detekterats framgangsrikt. Detta gör det mojligt air en anvandare att forstâ gestens framsteg. Detta är sarskilt fOrdelaktigt air komplicerade gester (som innehafter manga riktningar rorelser eller kombinationer av rorelser).
Figur 23 visar en allman metod for identifiering av en gest i enlighet med ldrorna har. En datoranordning tar emot 2310 uppgifter som identifierar en rorelse for ett objekt som ska sparas, till exempel genom en vinkel for en rorelseriktning hos objektet. Vinkeln jamfOrs 2330 med en referens- eller bibliotekvinkel for ett gestbibliotek for att avgora om en gest identifieras eller inte. Om sâ är fallet, utfor datoranordningen 2340 en motsvarande &Ord.
Vinkeln jamfOrs med biblioteket genom att traversera ett tillstandsdiagram ddr vinkeln är en del av en sekvens av- vinklar och varje vinkel i sekvensen matchas 2320 mot en overgang mellan tva tillstand i tillstandsdiagrammet. Om ett tillstand uppnas som motsvarar en &Ord, utfOrs 2340 &garden.
De ldrdomar hari ger fordelen att enkla berdkningar inte kraver nagra stora datorresurser som ska genomforas effektivt. Exempelvis kraver detta sat-1 ingen skalning, rotation eller deformation som skall goras och faststallandet av krokningar är verkligen enkel och elegant. Det skt som ldrs ut hari är salunda ldmpad for anvandning i lap eller &alga ljusforhallanden vilket ocksa gOr det mycket ldmpat for barbara enheter och underhallningssystem.
Det skt som beskrivs hari är fordelaktigt eftersom det är baserat pA riktningar i stallet for absoluta positioner och är mindre kansligt for avstandet mellan objektet och kamera. Det finns heller inget behov av skalning av sparade objekt som passar ett bibliotek eller referensobjekt. Detta ar sarskilt anvandbart ndr samma gestinstallningen kan anvandas for olika enheter (sAsom men inte begransat till TV, mobiltelefoner och stationdra datorer).
Dessutom kraver gestbiblioteket endast ett minimum av data sa det är latt att forvara och snabbt att manipulera vilket endast kraver ett minimum av datorresurser.
Det hari beskrivna sattet gör det ocksa mojligt att kunna hantera forandringar i skala sa att den tolkar en forandring i omfattning som en gest i en riktning parallell med en siktlinje eller ignorerar sadana rorelser. Detta ger ett robust sift att identifiera gester.
De lardomar som ges hari ger fordelen att enkla atgarder for att jamfcira en vinkel och mojligen ett avstand som inte kraver nagra stora datorresurser kan genomforas effektivt. Exempelvis krays det ingen skalning, rotation eller deformation och faststallandet av krokningar är verkligen enkel och elegant. Det sift som jars ut hari an salunda lampat for anvandning i lAga eller dAliga ljusforhallanden vilket ocksa gör det mycket lampat for barbara enheter och underhallningssystem.
En annan fordel ligger i att ingen traning eller upplarning av sparningssystemet eller gestidentifiering kravs.
Annu en fordel ligger i att det salt som ldrs ut harian mycket loft att integrera i en befintlig enhet eftersom den indata som krays är en bildstrom som kan tillhandahallas som ett videoflode fran en kamera (intern eller extern) eller genom en annan videokalla, sasom en film eller strommat videoflode. Utdatan är koordinaterna for den relativa rorelsen som, i kombination med indatan, skapar ett enkelt granssnitt for att det sat som beskrivs hari som är ldtt att integrera i befintliga enheter i enheter som ska pro duceras.
Uppfinningen har huvudsakligen beskrivits ovan med hanvisning till nagra utforingsformer. Sasom latt kan inses av en fackman inom omradet, är andra utforingsformer an de som beskrivits ovan lika mojliga inom ramen for uppfinningen, sasom definieras av de bifogade patentkraven. 31 Gest Atgard 10,2701 Atgard 1: svang framat {0,90} Atgard2: Vaud sida bakAt {90,0,270} Atgard3: Zoom in {90.180.270} Atgard4: Forminska {180} Atgard5: Angra {270} Atgard6: Print { 270 } Atgard7: Skicka { 270 } Atgard8: Radera { 270 } Atgard9: Ta bort utan bekraftelse {0, 90, 180} Atgard 10: Bladdra baltht {0, 270, 0} Atgard 11: Bladdra framat Tabell 1: gester och motsvarande &Order Gest Atgard {0 / - ,-/ 2701 Delete Multipel atgard 1: Nasta sida + {-/270, 0 / -} sida Multipel atgard2: Radera + Nasta {0/270} Multipel atgard3: Zoom in Tabell 2: Flera objekt gester och motsvarande atgarder 32
Claims (15)
1. En datoranordning (100, 200) for spaming av ett objekt (H, H', 01, 02) i en bildstrom, namnda datoranordning (100, 200) innefattande ett minne (240) och en styrenhet (210), van i namnda styrenhet ( 210) är anordnad att: erhalla en bildstrom (265) innefattande atminstone en forsta och en foregaende bild av ett objekt (H, H ', 01, 02) som ska sparas; bestamma atminstone en konturlinje (CL) i kminstone namnda forsta bild, vani namnda konturlinje (CL) innefattar ett flertal punkter; bestamma och tilldela atminstone en deskriptor (D1, D2, D3) till varje punkt (P1, P2) , varvid kminstone en deskriptor (D2, D3) till en punkt baserat pa en krokning hos motsvarande punkt, varvid krokningen är fore ochieller efter motsvarande punkten (P1,P2); filtrera bort aiminstone en punkt baserat pa deskriptorema (D1, D2, D3); bestamma relativa avstand (P1'-Pl; P2'-P2) mellan varje punkt (P1', P2') i namnda forsta bild med varje punkt (P1, P2) i namnda tidigare bild, vilka punkter inte har filtrerats ut, och faststalla en maximal forekomst for de relativa aystanden (P1'-P1; P2'-P2), varvid den maximala forekomsten motsvarar en forflyttning av namnda objekt (H, H', 01, 02) som ska sparas.
2. Datoranordningen (100, 200) enligt krav 1, varvid namnda styrenhet (210) vidare är anordnad att filtrera bort atminstone en punkt med deskriptorer som är intetsagande, genom att: rakna antalet andra punkter i den tidigare bilden som punkten jamfors med, som har liknande eller lika deskriptorer, och om antalet jamforda punkter overskrider ett troskelvarde, filtreras punkten.
3. Datoranordningen (100, 200) enligt krav 1 eller 2, varvid namnda styrenhet (210) vidare är anordnad att filtrera ut punkter genom att filtrera bort punkter som uppvisar en falsk rorelse, genom att jamfora deskriptorema i namnda forsta bild med motsvarande deskriptorer for punkter (P1, P2) i namnda foregaende bild.
4. Datoranordningen (100, 200) enligt krav 3, varvid namnda styrenhet (210) vidare är anordnad att filtrera ut punkter som uppvisar en falsk rorelse och att bestamma de relativa avstanden (P1' -P 1; P2' -P2) samtidigt.
5. Datoranordningen (100, 200) enligt nagot av kraven 1-4, varvid namnda styrenhet (210) vidare är anordnad att filtrera ut punkter som hor till stationara konturlinjer. 33
6. Datoranordningen (100, 200) enligt nagot av kraven 1-5, varvid namnda styrenhet (210) vidare är anordnad att filtrera ut punkter som sannolikt inte är en del av objektet (H, H 01, 02) som ska sparas.
7. Datoranordningen (100, 200) enligt nagot av kraven 1-6, varvid namnda styrenhet (210) vidare är anordnad att bestamma och tilldela en deskriptor (D1) till en punkt pa grundval av en vinkel (al) hos en normal till motsvarande punkt.
8. Datoranordningen (100, 200) enligt krav 1, varvid namnda styrenhet (210) vidare är anordnad att bestamma krokningen pa grundval av en vinkel (al) av normalen till motsvarande punkt (P1), en vinkel (a2) hos normalen till efterffiljande angransande punkt (P2) och/eller en vinkel (a3) av normalen till en foregaende angransande punkt (P3) och avstandet mellan punkterna (P1, P2, P3).
9. Datoranordningen (100, 200) enligt nagot av kraven 1-8, varvid namnda styrenhet (210) vidare är anordnad att bestamma en andra maximal foreteelse for sparning av ett andra objekt (02).
10. En metod far anvandning i en datoranordning (100, 200) for sparning av ett objekt (H, H ', 01, 02) i en bildstrom, namnda metod innefattande: mottagande av en bildstrom (265) innefattande atminstone en forsta och en faregaende bild av ett objekt (H, H', 01, 02) som ska sparas; bestamning av atminstone en konturlinje (CL) i atminstone namnda ffirsta bild, varvid namnda konturlinje innefattar ett flertal punkter; bestamning och tilldelning av atminstone en deskriptor (D1, D2, D3) till varje punkt (P1, P2) , varvid atminstone en deskriptor (D2, D3) till en punkt baserat pa en krokning hos motsvarande punkt, varvid krokningen är fore och/eller efter motsvarande punkten (P1,P2); bortfiltrering av punkter baserat pa deskriptorerna (D1, D2, D3); bestamning av relativa aystand (P1'-P1; P2'-P2) mellan varje punkt (P1', P2') i namnda forsta bild till varje punkt (P1, P2) i namnda tidigare bilden, vilka punkter inte har filtrerats ut; och bestamning av en maximal ffirekomst for de relativa avstanden (P2-P P1-Pi', P2-P2', P1-P2'), varvid den maximala forekomsten motsvarar en farflyttning av namnda objekt (H, H 01 02) som ska sparas.
11. Ett datorlasbart lagringsmedium (30) kodat med instruktioner (31) som, nar laddade och exekverade pa en processor, orsakar metoden enligt krav 10 att utforas. 34
12. En datoranordning enligt nagot av kraven 1 till 9, varvid namnda datoranordning är en mobil kommunikationsterminal.
13. En datoranordning enligt nagot av kraven 1 till 9, varvid namnda datoranordning är en surfplatta eller en barbar dator.
14. En datoranordning enligt nagot av kraven 1 till 9, varvid namnda datoranordning är en spelkonsol. 100 160
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE1250910A SE537754C2 (sv) | 2012-08-03 | 2012-08-03 | Datoranordning för spårning av objekt i bildström |
| EP13825494.1A EP2880510B1 (en) | 2012-08-03 | 2013-03-14 | Improved video tracking |
| US14/419,169 US9275275B2 (en) | 2012-08-03 | 2013-03-14 | Object tracking in a video stream |
| PCT/SE2013/050240 WO2014021755A2 (en) | 2012-08-03 | 2013-03-14 | Improved video tracking |
| CN201380040202.2A CN104508680B (zh) | 2012-08-03 | 2013-03-14 | 改善之视讯追踪 |
| TW102125761A TW201407420A (zh) | 2012-08-03 | 2013-07-18 | 改善之視訊追蹤 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE1250910A SE537754C2 (sv) | 2012-08-03 | 2012-08-03 | Datoranordning för spårning av objekt i bildström |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| SE1250910A1 SE1250910A1 (sv) | 2014-02-04 |
| SE537754C2 true SE537754C2 (sv) | 2015-10-13 |
Family
ID=50028625
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SE1250910A SE537754C2 (sv) | 2012-08-03 | 2012-08-03 | Datoranordning för spårning av objekt i bildström |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9275275B2 (sv) |
| EP (1) | EP2880510B1 (sv) |
| CN (1) | CN104508680B (sv) |
| SE (1) | SE537754C2 (sv) |
| TW (1) | TW201407420A (sv) |
| WO (1) | WO2014021755A2 (sv) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE537580C2 (sv) | 2012-08-03 | 2015-06-30 | Crunchfish Ab | Förbättrad inmatning |
| US9948852B2 (en) * | 2013-03-15 | 2018-04-17 | Intuitive Surgical Operations, Inc. | Intelligent manual adjustment of an image control element |
| KR102234400B1 (ko) * | 2013-07-08 | 2021-03-31 | 삼성전자주식회사 | 컨텐츠의 순서 또는 위치를 변경하는 전자 장치 및 방법 |
| US10824888B1 (en) * | 2017-01-19 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | Imaging analysis technology to assess movements of vehicle occupants |
| TWM560035U (zh) * | 2017-11-13 | 2018-05-11 | 鄭宇傑 | 影像追蹤裝置 |
| US11029741B2 (en) * | 2018-12-28 | 2021-06-08 | Baidu Usa Llc | Deactivating a display of a smart display device based on a vision-based mechanism |
| SE542978C2 (sv) * | 2019-03-20 | 2020-09-22 | Manomotion Ab | A method and device for recognizing a gesture in real-time |
| CN111247526B (zh) * | 2020-01-02 | 2023-05-02 | 香港应用科技研究院有限公司 | 跟踪二维平面上移动的目标物体位置和方向的方法和系统 |
| US11004212B1 (en) * | 2020-01-02 | 2021-05-11 | Hong Kong Applied Science and Technology Research Institute Company Limited | Object tracking method and system using iterative template matching |
| TWI755849B (zh) * | 2020-09-08 | 2022-02-21 | 國立臺灣師範大學 | Fpga多主從硬體架構之即時物件追蹤系統 |
| IT202000026882A1 (it) | 2020-11-10 | 2022-05-10 | Tech4sport Srl | Sistema di video tracking per la pratica sportiva |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1058924B1 (en) * | 1998-01-26 | 2012-06-13 | Apple Inc. | Method and apparatus for integrating manual input |
| WO2009128064A2 (en) | 2008-04-14 | 2009-10-22 | Pointgrab Ltd. | Vision based pointing device emulation |
| US20100027845A1 (en) * | 2008-07-31 | 2010-02-04 | Samsung Electronics Co., Ltd. | System and method for motion detection based on object trajectory |
| CN101739122A (zh) * | 2008-11-24 | 2010-06-16 | 玴荣科技股份有限公司 | 手势辨识及追踪的方法 |
| US8379987B2 (en) * | 2008-12-30 | 2013-02-19 | Nokia Corporation | Method, apparatus and computer program product for providing hand segmentation for gesture analysis |
| US20110074675A1 (en) * | 2009-09-29 | 2011-03-31 | Nokia Corporation | Method and apparatus for initiating a feature based at least in part on the tracked movement |
| GB2483168B (en) | 2009-10-13 | 2013-06-12 | Pointgrab Ltd | Computer vision gesture based control of a device |
| US8396268B2 (en) * | 2010-03-31 | 2013-03-12 | Isis Innovation Limited | System and method for image sequence processing |
| US20110299737A1 (en) * | 2010-06-04 | 2011-12-08 | Acer Incorporated | Vision-based hand movement recognition system and method thereof |
| EP2428870A1 (en) * | 2010-09-13 | 2012-03-14 | Samsung Electronics Co., Ltd. | Device and method for controlling gesture for mobile device |
| US9952671B2 (en) * | 2010-10-12 | 2018-04-24 | Nokia Technologies Oy | Method and apparatus for determining motion |
-
2012
- 2012-08-03 SE SE1250910A patent/SE537754C2/sv unknown
-
2013
- 2013-03-14 WO PCT/SE2013/050240 patent/WO2014021755A2/en not_active Ceased
- 2013-03-14 CN CN201380040202.2A patent/CN104508680B/zh not_active Expired - Fee Related
- 2013-03-14 US US14/419,169 patent/US9275275B2/en not_active Expired - Fee Related
- 2013-03-14 EP EP13825494.1A patent/EP2880510B1/en active Active
- 2013-07-18 TW TW102125761A patent/TW201407420A/zh unknown
Also Published As
| Publication number | Publication date |
|---|---|
| CN104508680A (zh) | 2015-04-08 |
| WO2014021755A3 (en) | 2014-05-08 |
| US9275275B2 (en) | 2016-03-01 |
| EP2880510A2 (en) | 2015-06-10 |
| EP2880510A4 (en) | 2016-09-14 |
| US20150206002A1 (en) | 2015-07-23 |
| TW201407420A (zh) | 2014-02-16 |
| WO2014021755A2 (en) | 2014-02-06 |
| SE1250910A1 (sv) | 2014-02-04 |
| CN104508680B (zh) | 2018-08-17 |
| EP2880510B1 (en) | 2019-06-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9690388B2 (en) | Identification of a gesture | |
| SE537754C2 (sv) | Datoranordning för spårning av objekt i bildström | |
| JP7535374B2 (ja) | フィンガーチップモーションパターンのリアルタイムのジェスチャへのオンデバイス分類 | |
| CN111091590B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
| CN106663196B (zh) | 用于识别主体的方法、系统和计算机可读存储介质 | |
| TW201303788A (zh) | 圖像分割方法以及圖像分割系統 | |
| JP6221505B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
| WO2006085580A1 (ja) | ポインタ光トラッキング方法、プログラムおよびその記録媒体 | |
| WO2019059020A1 (ja) | 制御装置、制御方法、及びプログラム | |
| CN107302658A (zh) | 实现人脸清晰的对焦方法、装置和计算机设备 | |
| CN116457828A (zh) | 针对光流估计的监督学习和遮挡掩蔽 | |
| US9384400B2 (en) | Method and apparatus for identifying salient events by analyzing salient video segments identified by sensor information | |
| CN103106391A (zh) | 手势识别设备及其方法 | |
| CN110297545A (zh) | 手势控制方法、手势控制装置和系统、以及存储介质 | |
| JP6632681B2 (ja) | 制御装置、制御方法、及びプログラム | |
| CN104252629A (zh) | 目标检测与追踪方法及系统 | |
| TW201923651A (zh) | 基於影像的物件追蹤方法及其系統與電腦可讀取儲存媒體 | |
| CN110290299A (zh) | 成像方法、装置、存储介质及电子设备 | |
| CN111091513B (zh) | 图像处理方法、装置、计算机可读存储介质及电子设备 | |
| SE537755C2 (sv) | Datoranordning för spårning av objekt i djupled | |
| CN104123716A (zh) | 检测图像稳定性的方法、装置和终端 | |
| CN110334576B (zh) | 一种手部追踪方法及装置 | |
| US9898828B2 (en) | Methods and systems for determining frames and photo composition within multiple frames | |
| CN116311520B (zh) | 一种基于单目摄像头的空中手写人机交互技术 | |
| TWI576788B (zh) | 影像處理方法、非暫態電腦可讀取記錄媒體及電子裝置 |