SE1350784A1 - Förbättrad videospårning - Google Patents

Förbättrad videospårning

Info

Publication number
SE1350784A1
SE1350784A1 SE1350784A SE1350784A SE1350784A1 SE 1350784 A1 SE1350784 A1 SE 1350784A1 SE 1350784 A SE1350784 A SE 1350784A SE 1350784 A SE1350784 A SE 1350784A SE 1350784 A1 SE1350784 A1 SE 1350784A1
Authority
SE
Sweden
Prior art keywords
point
computing device
movement
controller
tracking
Prior art date
Application number
SE1350784A
Other languages
English (en)
Other versions
SE537755C2 (sv
Inventor
Fredrik Ponten
Original Assignee
Crunchfish Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Crunchfish Ab filed Critical Crunchfish Ab
Priority to SE1350784A priority Critical patent/SE537755C2/sv
Publication of SE1350784A1 publication Critical patent/SE1350784A1/sv
Publication of SE537755C2 publication Critical patent/SE537755C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/571Depth or shape recovery from multiple images from focus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

2014-01-14 Ansokningsnummer: 13507843 Sam mandrag En datoranordning for sparning av ett objekt i en bildstrom, varvid namnda datoranordning innefattar ett mimic och en styrenhet, varvid namnda styrenhet är anordnad aft motta en datamangd innefattande atminstone ett punktpar (P1;P1', P2;P2') innefattande en punkt (P1', P2') i en fOrsta bud och en punkt (P1, P2) i en foregaende bild, aft bestamma en medelposition (P1m, P2m) for varje punktpar (P1;P 1 P2;P2'), aft bestamma ett relativt avstand (Ar1, Ar2) fcir varje punktpar (P1;P 1 ' , P2;P2') och aft bestamma en lutning pa en motsvarande linjaranpassning (LX, LY, LR) av sagda relativa avstand (An, Ar2) gentemot sagda medelpositioner (P1 m, P2m), och aft bestamma en rorelse i en riktning parallell med siktningen pa lutningen.

Description

1 FORBATTRAD VIDEOSPARNING 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 Mr en forbattrad sparning av ett objekt i ett videoflOde. Denna ansokan hanfor sig ocksa till en metod, ett datorlasbart medium och en datoranordning fOr sparning av ett flertal objekt.
Denna ansokan hanfor sig vidare till en metod, ett datorlasbart medium och en datoranordning fir sparning av ett objekt i en dimension parallell med en betraktelsevinkel i videoflodet.
BAKGRUND Utvecklare har forsokt att implementera fungerande optisk styrning i enheter sasom spelkonsoler, datorer och smartphones. De fiesta forsok har inte varit framgangsrika i att tillhandahalla ett styrsystem som är tillrackligt effektivt Mr att vara praktiskt for drift under alla verkliga scenarier. Nagra exempel pa sadana 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 hallning first 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 rorelsevektorhistogramjamforelser for att bestamma en motsvarande rorelse for vane 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 hallning av handen i bilderna, och byter fran interaktionsbaserat till samverkan med en inmatningsenhet for 2 pekdonsemulering som svar pa detektering av en gest som utfors med handen och emulerar ett pekdon baserat pa sparningen ndr 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 rangar en sekvens av bilder av synfdltet.
Processom mottar sekvensen av bilder; detekterar rorelse hos atminstone ett objekt i bilderna, applicerar en algoritm for igenkanning (sasom kontur detektering) pa atrninstone 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 fbrsta steg kan en initialiseringsgest, sasom en vagliknande rorelse, detekteras. Vid daliga ljusforhallanden 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 utanfiir enheten, eller en IR-kamera.
Den spaming 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 haver goda ljusforhallanden och hogupplosta bilder for att fungera som Or den olamplig for anvandning i daliga ljusforhallanden. Den är ocksa oldmplig for anvandning pa avstand stone an 3 meter.
En arman stor nackdel är komplexiteten hos de beraningar 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 salt for sparning av ett objekt i ett videoflode som kan arbeta under daliga ljusforhallanden och pa avstand storre an 3 meter. Det finns ocksa ett behov av ett sat for sparning av objekt som inte kraver specialanpassad utrustning och kan anvandas i varje dataenhet. Dessutom firms 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 sparning av objekt pa vag bort eller mot en kamera kraver alla specialiserad utrustning sasom stereo kameror eller avstandskameror. Sadan 3 specialiserad utrustning är dyr och det saledes fcireligga ett behov av aft ge en lag kostnad altemativ till sadan specialiserad kamera utrustning.
SAMMANFATTNING Det är en aspekt av laroma enligt foreliggande ansolcan for aft 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 aft: 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 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 liar filtrerats bort, och bestamma en maximal forekomst for de relativa avstanden, varvid den hogsta forekomsten motsvarar en fOrflyttning av namnda objekt aft sparas.
En sadan datoranordning kraver inte stora berakningsresurser pa grund av det finurliga satt aft reducera datamangden av punktema. Genom detta tillhandahalls ett sat for sparning av ett objekt som kan utnyttjas i berakningsenheter som inte har nagon speciell utrustning och som inte liar stora datorresurser som kravs av de kanda systemen for aft fungera effektivt.
I en utforingsform är styrenheten vidare anordnad aft filtrera bort en punkt genom aft filtrera bort punkter med beskrivningar som är intetsagande. Detta gör det mojligt for sparningen aft fokusera pa de punkter som är mojliga eller Mita aft spara och darmed minska arbetsbordan och antalet berakningar som behover utforas och dar- igenom minska de datorresurser som lcravs for ett effektivt genomfOrande.
I en utfOringsform är styrenheten vidare anordnad aft filtrera ut punkter genom aft filtrera bort punkter som uppvisar en stor rorelse, genom att jamfdra deskriptorema for ndmnda fOrsta bild med motsvarande deskriptorer for punkter i namnda fOregaende bild. Detta gor det mojligt for sparningen aft bortse fran punkter som eventuellt fel- aktiga rorelser orsakade av brus och darmed minska arbetsbordan och antalet berakningar som behover utforas och darigenom minska de datorresurser som kravs for ett effektivt genomforande.
I en utforingsform ar styrenheten vidare anordnad aft filtrera ut punkter som hor till stationara konturlinjer. Detta minskar datauppsattningen som skall bearbetas 4 genom aft alla ta bort objekt som ar stationdra bl.a. bakgrunden och andra icke-rorliga objekt.
I en utforingsform är styrenheten vidare anordnad aft filtrera bort punkter som osannolikt är en del av objektet som ska sparas. Detta tillater sparningen aft fokusera pa de punkter som faktiskt dr eller formodligen är en del av objektet som ska sparas, vilket minskar datauppsattningen som skall bearbetas.
Det är ocksa en aspekt av ideerna i derma ansokan fiir aft overvinna de problem som anges ovan genom aft tillhandahalla en metod for anvandning i en datoranordning for sparning av ett objekt i en bildstrom, namnda metod innefattande: mottagning av en bildstrom innefattande atminstone en forsta och en tidigare bild av eft 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, bestdmma relativa avstand mellan varje punkt i ndmnda 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 som ska sparas.
Det är ytterligare en aspekt av ideerna i denna ansiikan aft overvinna de problem som anges ovan genom aft tillhandahalla ett datorlasbart medium innefattande instruktioner som ndr de laddas i och exekveras av en styrenhet, t.ex. en processor, exekvera en metod enligt har.
Uppfinnama av foreliggande uppfinning har insett, efter uppfinningsrikt och insiktsfullt resonemang, aft genom smart filtrering, kan den datamangd som skall behandlas reduceras till en storlek ddr de berakningsresurser som hays är tillrdckligt sma for aft anvandas dven i barbara apparater och i daliga belysningsforhallanden.
Lardomarna hari finner anvandning i styrsystem for beraningsanordningar med anvandargranssnitt sasom smartphones, Surfplattor, datorer och spelkonsoler.
Enligt en andra aspekt av ldran har, an det ocksa ett objekt av Wan i denna ansokan aft overvinna de problem som anges ovan genom aft tillhandahalla en datoranordning for spanning av ett objekt i en bildstrom, ndmnda datoranordning innefattande ett minne och en styrenhet, varvid namnda styrenhet är anordnad aft: ta emot en datauppsdttning bestaende av atminstone ett punktpar innefattande en punkt i en forsta Mid och en punkt i en tidigare bild, faststalla en genomsnittlig position av varje punktpar, faststdlla ett relativt avstand for varje punktpar och bestamma en lutning av en motsvarande linjdr anslutning av narrifida relativa avstand kontra namnda genom- 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 ocksa 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 atminstone ett punktpar innefattande en punkt i en forsta bild och en punkt i en tidigare bild, bestamma en genomsnittlig position few varje punktpar, bestamma ett relativt avstand for vane 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.
Uppfinnama 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 fokuspunIcten ä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 firmer 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 Mom det tekniska omradet, om inte annat uttryckligen anges annat hari.
Alla hanvisningar till "ettien/den/det [elementet, apparaten, komponenten, organet, steget, etc]" skall tolkas oppet som hanvisningar till atminstone en instans av elementet, apparaten, komponenten, organet, steget, etc., savida uttryckligen anges. Stegen i nagon metod beskrivs hari inte behover utforas i den exakta ordning avslOjas, om inte annat uttryckligen anges. 6 KURT BESKRIVNING AV RITNINGARNA Uppfinningen kommer att beskrivas mer i detalj under hanvisning till de bifogade ritningarna, ddr: Figurerna lA och 1B är schematiska vyer av vardera en datoranordning i enlighet med laran har; Figur 2 dr en schematisk vy av komponenterna i en datoranordning i enlighet med laran har; Figur 3 är en schematisk vy av ett datorldsbart minne enligt larorna 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 har; 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 har; 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 20 utforingsform av laror har; Figur 9 visar ett histogram for relativa avstand som har bestamts i ett experiment i enlighet med ett exempel pd utforingsform av 'aroma har; Figur 10 visar ett flodesschema som illustrerar en allman metod i enlighet med en utforingsform av larorna har; Figur 11 visar en illustration av tva rorliga objekt som ska sparas med deskrip- tor—er som har bestamts i enlighet med en utforingsform av larorna har; Figur 12 visar ett histogram fOr relativa avstand for tvd objekt som har bestamts i enlighet med en utforingsform av larorna har; Figur 13 visar en illustration av ett rorligt objekt som ska spdras i en riktning parallell med en siktlinje med deskriptorer som har bestamts i enlighet med en utfOringsform av larorna har; 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 larorna har; 7 Figurema 15A och 15B visar vardera en illustration av en lin* anpassning av de genomsnittliga positioner och relativa avstand som har bestamts i enlighet med en utforingsform av 'aroma hari 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 laroma hari; 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 aft identifiera gester i enlighet med en utforingsform av larorna hari; Figur 19 visar en schematisk illustration av ett tillstandsdiagram eller Turingmaskin for aft identifiera gester i enlighet med en utforingsform av laroma hari; Figur 20 visar en schematisk illustration av ett tillstandsdiagram eller Turingmaskin fir aft 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 aft identifiera gester i enlighet med en utforingsform av laroma hari, och Figur 23 visar ett flodesschema som illustrerar en allman metod fir identifiering av en gest i enlighet med en utforingsform av ldrorna hari.
DETALJERAD BESKRIVNING De beskrivna utforingsformerna kommer nu aft beskrivas mer fullstandigt i det fiiljande med hanvisning till de bifogade ritningama, i vilka vissa utforingsformer av uppfinningen visas. Denna uppfinning kan emellertid utfciras i manga olika former och bor inte tolkas som begransad till utfOringsformema som anges hari, utan dessa utfiir- ingsformer tillhandahalls som exempel sá aft derma beskrivning kommer att vara noggrann och klar och till fullo firmedla ramen for uppfinningen fir fackmannen inom tekniken. Samma nummer harivisar genomgaende till samma element.
Figur 1 visar allmant en datoranordning 100 i enlighet med en utforingsform hari. I en utforingsform är datoranordningen 100 anordnad for natverkskommunikation, antingen tradlos eller tradbunden. Exempel pa en sadan datoranordning 100 är: en dator, stationar eller barbar, en surfplatta, en mobilkommunikationsterminal t.ex. en mobiltelefon, en smartphone, en personlig digitalassistent och en spelkonsol. Tva utfiringsformer kommer aft exemplifieras och beskrivas som en smartphone i figur lA och en barbar dator 100 i figur 1B. 8 Med hanvisning till figur lA visas en mobil kommunikationstenninal 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 ar smartphone 100 anordnad fOr att visa och driva en virtuell knapp 135 pa touchskarmen 120. Det bör noteras aft antalet virtuella tangenter 135 är beroende av utformningen av smartphone 100 och en applikation som lairs pa smartphonen 100. Smartphonen 100 är ocksa utrustad med en kamera 160. Kameran 160 är en digital kamera som är anordnad aft ta video- eller stillbilder genom aft 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.
Med harivisning 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 intemminne Exempel pa lagringsenheter är diskettstationer eller harddiskar. Datoranordningen 100 innefattar vidare atminstone en dataport. Dataportar kan vara tradbundna och Idler tradlosa. Exempel pa dataportar är USB (Universal Serial Bus)-portar, Ethernet-portar eller WiFi- (enligt IEEE standard 802.11) portar. Dataportar är anordnade for aft mojliggora fOr en datoranordning 100 aft ansluta med andra datoranordningar eller en server.
Den barbara datom 100 innefattar vidare atminstone en inmatningsenhet sasom ett tangentbord 130. Andra exempel pa inmatningsenheter är datormus, touchpads, pek- skarmar eller joysticks fOr aft namna nagra.
Den barbara datom 100 är vidare utrustad med en kamera 160. Kameran 160 är en digital kamera som är anordnad aft ta video- eller stillbilder genom aft spela in bilder pa en elektronisk bildsensor (visas ej). I en utforingsform är kameran 160 en extern kamera. I en utforingsform ersdtts kameran alternativt av en Ulla som ger en bildstrom.
Figur 2 visar en schematisk vy av den allmdrma strukturen hos en datoranordning enligt figur 1. Datoranordningen 100 innefattar en styrenhet 210, som är ansvarig for den overgripande driften av datoranordningen 200 och implementeras foretradesvis med flagon kommersiellt tillganglig CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") eller flagon annan elektronisk programmerbar logisk 9 enhet. Styrenheten 210 kan implementeras med hj alp av instruktioner som ger hardvarufunktionalitet, till exempel genom aft 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 aft ldsa instruktioner fran minnet 240 och utfora dessa instruktioner for aft styra driften av datoranordningen 100. Minnet 240 kan implementeras med anvandning av flagon allmant kdnd teknik for datorldsbara minnen sasom ROM, RAM, SRAM, DRAM, CMOS, FLASH, DDR, SDRAM eller flagon arman mirmesteknologi. Minnet 240 anvands fOr olika andamal av styrenheten 210, ett av dem är for lagringen av programdata och programanvisningar 250 Rol- olika progranunoduler i datoranordningen 200. Programvarumodulema inkluderar ett realtids-operativsystem, drivrutiner till ett anvandargranssnitt 220, en applikationshanterare samt olika tillampningar 250. Tillampflingarna är uppsdttningar 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 sa kallat instant messaging program, ett kalenderprogram, en kontrollpanelsapplikation, en eller flera tv-spel, en anteckningsblocksapplikation, rOstsamtalapplikationer, SMS- (short message service) applikationer, lokaliseringstillampningar.
Datoranordningen 200 innefattar vidare ett anvandargranssnitt 220, som hos datoranordningen i figurema 1A och 1B bestar av skarmen 120 och tangentema 130, 135.
Datoranordningen 200 innefattar vidare ett radiofrekvensgranssnitt 230, som är anordnat aft tillata datoranordningen aft 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 ®. Andra exempel pa radioteknik som kan implementeras i en datoranordning 100 är W-CDMA, GSM, UTRAN, LIE, och NMT for aft namna nagra.
Datoranordningen 200 är vidare utrustad med en kamera 260. Kameran 260 är en digital kamera som är anordnad aft 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 10 sensorn. Ju ljusare bilden är vid en given punkt pa sensorn, desto storre 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 dr anordnad att ta en digital bild eller en bild. Det firms manga olika satt pa hur detta kan uppnas. Pa ett salt, 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 anvander antingen en CCD (charge-coupled device), eller tre separata bildsensorer (en vardera for de primara additiva fargerna rod, gron, och bla), som är utsatta Rir samma bild via en straldelare.
Kameran 260 är fOretradesvis anordnad att verka som en digital videokamera. Digitala videokameror anvander vanligtvis ett av tva 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 jdrima 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 falt av motsatt paritet kallas en ram. Deinterlaced-kameror registrerar varje bildruta som distinkt, med alla linjer som fangas vid samma tidpunkt. Saledes fangar interlacedvideo—rorelsen dubbelt sa 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 eller 59,94 falt 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 harwisat 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 vane 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 ar BxH. Bildpunkter har endast en kvalitet, deras farg. Fargen pa en bildpunkt är representerad av ett fast antal bitar. Ju fler bitar desto mer subtila variationer av farger kan aterges. Detta kallas fargdjup (CD) i videon. Ett exempel: video kan ha en langd (T) pa 1 timme (3600sec), en bildstorlek pa 640x480 (BxH) med ett fargdjup pa 24bits och en bildfrekvens 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 11 (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 atta bilder per sekund, eller nagot av 16, 24, 32 eller fler bilder per sekund.
Kameran 260 dr operativt ansluten till styrenheten 210 Rir 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 dr kameran 260 en extern kamera eller Ulla for en bild- strom.
Hanvisningar till "datorldsbart lagringsmedium", "dataprogramprodukt ", "patagligt fOrkroppsligade datorprogram" etc. eller en "styrenhet", "dator", "processor" etc. bor fOrstas att omfatta inte bara datorer med olika arkitektur som singel/multiprocessorarkitekturer och sekventiella (Von Neumann)/parallella arkitekturer men awn specialiserade kretsar sasom fdlt-grindmatriser (FPGA), applikationsspecifika kretsar (ASIC), Flash-bearbetning och andra enheter. Hanvisningar till datorprogram, instruktioner, kod etc. bor 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 datorldsbart medium som beslcrivits i det foregaende. Det datorldsbara mediet 30 dr i denna utforingsform ett minne, t.ex. en Universal Serial Bus (USB) minne. USB-minnet 30 irmefattar 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 omprogrammeras. Minneskretsen 32 är prograrnmerad 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 instruktionerna i styrenheten. Det bor noteras att ett datorldsbart medum ocksa kan vara andra medier sasom cd-skivor, digitala videoskivor, harddiskar eller andra vanliga mirmestekniker. Instrulctionerna kan awn laddas ner fran det datorldsbara mediet via ett tradlOst granssnitt som ska laddas i styrenheten.
Ett forbattrat satt fOr spa'rning av ett objekt kommer att beskrivas nedan med hanvisning till de bifogade figurerna. Exemplet kornmer aft illustreras med fokus pa 12 bilddata, men det bOr sta klart aft behandlingen sker delvis eller helt i en datoranordning innefattande ett kontrollorgan sasom beskrivits ovan med hanvisning till figurema 1 och 2 eller bringas aft utforas genom aft 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 dr 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 tillhandahallas till styrenheten (210) fran en extern kamera eller en annan bildstromskalla, t.ex. en strommad video Over Internet.
For aft kunna utfora en effektiv sparning av ett objekt dr det viktigt aft bilden innehaller tillrackligt med detaljer. Upplosningen pa kameran är saledes av vikt. For objekt langt bort fran kameran blir upplosningen viktigare och for langvdga sparning är en kamera med hogre upplosning aft foredra. For sparning pa korta avstand, är det med en kamera med lag upplosning. En bildupplosning pa 160X120 har visat sig vara tillrackligt for aft kunna lyckas spara ett objekt med det sat som beskrivs har.
For aft 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 ndsta ram tas emot. Det hari beskrivna sattet har visat sig framgangsrikt kunna spara ett objekt med bildfrekvenser Over 30fps och sá 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 aft genomfora omfattande berdkningar pa och styrenheten är darfor anordnad for aft minska datauppsattningen av bilden genom aft bestdmma konturlinjer i bilden, och armed filtrera bort alla punkter eller bildpunkter som ligger inom ett objekt. Sadana konturlinjer kan bestammas med hjdlp av kantdetektering. Kantdetektering är ett valkant verktyg for bildbehandling, och datorseende, som syftar till aft identifiera punkter i en digital bild där bildens ljusstyrka andras kraftigt eller, mer formellt, har diskontinuiteter. En popular metod som anvands for kantdetekteringen är Cannykantdetektor vilket an en kantdetekteringsoperator som anvander en etappvis algoritm for aft upptacka ett brett utbud av kanterna i bilderna. 13 Styrenheten är, i detta exempel, anordnad att bestamma konturlinjer genom att anvanda Cannyoperatoren och darmed generera Cannylinjer av bilden eller forsta bilden (forst som den som for narvarande behandlas). Figur 4B visar en vy av de resulterande konturlinjer CL for bilden i figur 4A. Sasom framgar har datauppsattningen av bilden minskat kraftigt.
For art fOrbattra prestanda vid bestamning av konturlinjer kan styrenheten konfigureras art anvanda hastighetsforbattring med Cannyoperator. Della resulterar i en lagre noggrannhet, men okar berdkningshastigheten. Den sfinkta noggrannheten har visat sig vara av mindre betydelse.
Det bor noteras all andra salt att detektera kanter for art generera hojdkurvor existerar och är en del av omfattningen av derma uppfinning.
For all ytterligare minska datauppsdttningen ir styrenheten anordnad for att filtrera bort alla konturlinjer, som är stationdra. Konturlinjer CL (kontur) i forsta bilden jamfors med konturlinjer i en tidigare bild i strommen for art avgora om det finns en overlagring eller matchning av konturlinjer. Sadana matchande konturlinjer represen- terar stationdra objekt och filtreras bort, vilket minskar datauppsattningen av bilden ytterligare. Figur 4C visar konturlinjer CL i handen efter att alla stationdra konturlinjer har filtrerats bort.
For att minska datauppsattningen vidare är styrenheten anordnad att filtrera bort konturlinjer som sarmolikt inte kommer att vara en del av objektet som ska sparas. For att bestamma att en konturlinje inte är en del av ett objekt sá jamfors egenskaperna hos konturlinj en 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 dr en del av ett rektanguldrt objekt. Likasa om ett rektanguldrt objekt ska sparas filtreras alla cirkelformiga eller bojda linjer bort.
For art 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 stallas 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 5 eller 1 till 5 grader bort. 14 Krokningen kan bestammas baserat pa deskriptorer sasom beskrivs nedan eller genom att jamfora krokningen av tva eller flera punkter pa konturlinjen.
For att filtrera rektanguldra objekt kan alla objekt med en konturlinje som saknar ett horn filtreras bort.
For att filtrera objekt, som inte dr en del av en hand, kan styrenheten kon- figureras att bestamma att en konturlinje inte är en del av en hand genom att jamfora fargerna pa bada sidor av konturlinjen. Om fargen pa ingendera sidan av konturlinjen dr en hudfarg, är konturlinje inte en del av handen.
Den hudfarg som ska jamforas med kan bestammas fran de forsta bilderna i 10 videoflodet dar objektet identifieras och dess farg bestams. Detta Or det mojligt att anvanda sattet som beskrivs hari med alla hudfarger och awn for anvandning med handskar eller kanske tatueringar (henna eller annat) och smycken.
Genom att bestamma en objektfarg i de forsta bildramarna vid sparning mojliggors det Rir filtrering av konturlinjer awn 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, an det osannolikt att en hand innehaller cirkulara konturlinjer eller konturlinjer som har skarpa horn.
For att ytterligare minska datauppsattningen an styrenheten anordnad att bestdmma vilka punkter i bilden/pa konturlinjerna som an av intresse och som ska sparas. For att identifiera de intressanta punkterna är styrenheten anordnad for att tilldela deskriptorer till varje punkt. Deskriptorerna är karaktdristiska 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 ddr konturlinjer CL av spetsen av eft finger kan ses. Tre deskriptorer Dl, D2 och D3 indikeras med vita pilar i figur 4D. De tre deskriptorerna är: Dl = normalvinkel i punkten; D2 = krokningen till h6ger om punkten, och D3 = krokningen till vanster om punkten.
Mojfigtvis kan styrenheten konfigureras till att dessutom eller alternativt tilldela en deskriptor baserat pa fargen fOr punkten eller intensiteten av konturlinj en i punkten. I en utforingsform är styrenheten anordnad att endast tilldela tva deskriptorer DI och D2 enligt: Dl = normalvinkel i punkten och D2 = krokningen i narheten av punkten.
Att tilldela fdrre (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 okade 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. Sobeloperatoren är kand inom 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 Sobeloperatoren 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 ar darfOr relativt billigt i termer av berakningar. Sobeloperationen omfattar en omvandling fran rektangulara till polka koordinater. Det bor noteras att andra sat att bestamma den normala vinkeln finns och ingar i denna uppfinning. I en utforingsforrn 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 Sobeloperatoren. Avstandet mellan tva punkter visas som Asteget. Enligt terminologin i figur 5 kan deskriptorerna bestammas i enlighet med: D1 = al r= Sobel (P1)1; D2 = (al - a2)/Asteg r= (Sobel (P1) - (Sobel (P2))/Asteg], och D3 = (al - a3)/Asteg [= (Sobel (P1) - (Sobel (P3))/Asteg].
Detta ger eft enkelt satt att berakna eller faststalla deskriptorer och krokningar, vilket satt inte haver komplicerade operationer, sarskilt fOr faststallandet av den krolcning som vinkeln (ar) i normala (er) redan är bestamd for angransande punkter.
Vid anvandning av tva deskriptorer kan deskriptorerna D1, D2 bestammas enligt: D1 = al [= Sobel (P1)], och D2 = (a 2 - a3)/2Asteg [= (Sobel (P2) - (Sobel (P3)) / 2Asteg].
For 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 pi). 16 Tva punkter P3, P4 är placerade pa sidan av ett pekfinger och tva punkter Pl, P2 är placerade pa spetsen av pekfingret. Deskriptorerna for de tva sidopunkterna P3, P4 är mycket lika, om de bestams enligt ovan. Detta illustreras i figur 6 genom att motsvarande deskriptorpilar har samma vinkel. Men deskriptorerna for de tva punkter pa fingertoppen Pl, P2 skiljer sig bade fran varandra och dven fran deskriptorerna fiir sidopunkterna P3, P4. Detta illustreras i figur 6 av att motsvarande deskriptorpilar har olika vinklar. Sadana punkter som skiljer sig fran merparten av punkterna 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 ar styrenheten anordnad att filtrera ut intetsagande punkter genom att ram antalet andra punkter i den fciregaende bilden som punkten som jamfors med har liknande eller lika deskriptorer. Om antalet janforda punkter overskrider ett troskelvdrde 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 datauppsattningen är styrenheten anordnad att filtrera bort punkter som har flyttats fOr mycket. Filtreringen uppnas genom att styrenheten jainfor 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 ett punktpar om fordndringarna i en deskriptor D1, D2, D3 dr under eller inom troskelvarden 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, ddr Ti är ett trOskelvarde for tillaten forandring for deskriptor D1, är T2L ett lagre troskelvarde for tillaten fOrandring for deskriptor D2 är T2H ett hOgre troskelvdrde for tillaten fordndring for deskriptor D2 är T3L ett lagre troskelvdrde for tillaten fitirdndring deskriptor D3 och T3H ar ett hogre troskelvdrde for tillaten fordndring deskriptor D3.
Det bor noteras att ju mindre eller snavare trosklarna Ti, T2H, T2L, T3H och T3L är, desto hogre är troskelvdrdet for jamforelse med de intetsagande punkterna sasom diskuterats ovan. 17 I denna utforingsform är de tva krokningdeskriptorema D2, D3 tillatna aft variera en faktor 2. Del bor noteras aft aven andra faktorer ir mOjliga, till exempel 3 eller 1,5.
Datauppsattningen har nu reducerats till alt omfatta punkter som är av intresse.
For aft bestamma horisontell och vertikal rorelse hos ett objekt som ska sparas är styrenheten anordnad alt jamfora alla punkter i datauppsattningen med alla punkter i datauppsattningen for att bestamma rorelsen. I en utforingsform är styrenheten anordnad alt jamfdra de bildpunktsparen som behalls i enlighet med forandringen i deskriptorer.
Figur 7 visar en illustration av hur rorelsejamfOrelsen utfOrs. Figuren visar tva bander med vardera tva punktema P1, P2 RV vanster hand H och P1', P2' for den hogra H'. I exemplet i figur 7 ar 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 stracka till hOger (hand H'), som illustreras med alt handema H, H' är ritade pa ett avstand fran varandra. Det bor noteras alt aven 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 PI, P2 av den foregaende bilden med alla punkter i datauppsattningen P1', P2' for den aktuella bilden genom alt berakna ett avstand mellan varje punktpar. Ett sadant avstand illustreras for en punkt fran en tidigare position P1 till en aktuell position P1' och avstandet beteclums P I-P1'.
Avstanden 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 sa alt varje cell motsvarar ett avstand som ges av de motsvarande X och Y-koordinatema eller komponenter. Varje cell i matrisen okas med ett for varje upptradande av ett berfiknat avstand som motsvarar denna stracka. Figur 8 visar ett endimensionellt exempel pa den situation som illustreras i figur 7 dar varje forekomst av ett avstand 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 an avsffinden mellan P1 och P2' och P2 och P1'. Den verkliga rorelsen bestams genom alt finna den maximala forekomsten i avstandsmatrisen. I figur 8 finns den hogsta i den hOgsta stolpen, som i delta exempel är stolpen fiir de tva avstanden P1 - P1 "och P2 - P2".
Figur 9 visar en tvadimensionell representation av ett experiment dar ett objekt har funnits. Sasom kan ses finns del en topp centrerad Laing X = -12, Y = 0. Delta 18 maximum indikerar att objektet har rort sig 12 punkter eller bildpunkter i den negativa X-riktningen.
I en utforingsform är styrenheten anordnad for att faststalla eller berakna det relativa avstandet samtidigt som det bestams om ett punktpar uppvisar for mycket rorelse, men efter att det faststalls att punktparet inte uppvisar alltfor mycket rorelse.
Detta minskar det antal ganger styrenheten maste behandla datauppsattningen och darigenom forbattras berakningseffektiviteten.
Genom att anvanda det salt som beskrivs ovan fbr att minska datauppsattningen och sedan bestamma ett maximum for mojliga rorelser, kan den sanna horisontella och vertikala rorelsen hos ett objekt bestammas pa ett salt som kraver endast ra berakningsresurser.
Experiment har visat att en smartphone anpassad fcir att genomfOra det ovanbeskrivna sattet kan spara objekt tillfredsstallande med lagupplosningskameror och under daliga ljusfcirhallanden (ner till 20 lux), vilket Or de hari beskrivna metoderna lampliga for anvandning i mobilutrustning sasom smartphones, barbara datorer, surfplattor etc samt i stationara apparater for anvandning i mindre an optimala miljoer sasom spelkonsoler (barbara samt stationara).
De satt som beskrivs han an lampliga for sparning av ett objekt sasom en hand fbr aft mojliggora geststyrning av en enhet. Eft exempel pa genomforande av ett satt hari är en bladdringsapplikation clar gesten att flytta en hand fran ena sidan till den andra indikerar en "vanda blad" operation i samma riktning som den sparade rorelsen. I exemplet i figur 9, skulle motsvarande operation vara att vdnda till nasta sida (forutsatt att X-riktningen an at Lifter, varvid den bestamda rorelsen an en rorelse at vanster). Det salt som beskrivs han är ocksa lampligt for sparning av ett objekt som ett 25 oga for att mojliggora blicksparning. Blicksparning kan anvandas fOr att samla in data som ror lasningsbeteenden, bestamma en aktuell punkt av intresse pa ett innehall som visas och awn fiir att styra en enhet med specificerade ogonrorelser (sarskilt anvandbart for att ge handikappstOd). Eft exempel pa genomforande av sattet hari är en annonsapplikation ddr en punkt av intresse (som är en punkt dar anvandaren fokuserar under en tid, som overstiger ett triiskelvarde, eller upprepade ganger) an associerad med ett visst dmne och applikationen ar anordnad aft fOresla och visa en annons am amnet. I exemplet i figur 9 skulle en applikation spara ett ogas rorelse at vanster (fOrutsatt att Xriktningen an at hoger, varvid den bestamda rorelsen är en rorelse at vanster). Skulle ingen ytterligare rorelse detekteras under eft tag och det i det visade innehallet finns en 19 artikel om dykning i vanstra kolumnen, kan applikationen hamta och visa en annons for dykutrustning.
Fig 10 visar en allman metod i enlighet med larorna har. En bildstriim 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 fcir aft identifiera punkter. For att minska datauppsatt10 ningen, som skall bearbetas, filtrerar datoranordningen bort punkter vars deskriptorer indikerar att punkten är intetsagande 1044 (svar att skilja frail andra punkter). For att ta bort falska rtirelser och att minska datauppsattningen som skall bearbetas filtrerar datoranordningen 1048 ut punktpar for vilka deskriptorerna indikerar art en ale& stor rorelse har gjorts. Datoranordningen bestammer darefter det relativa avstandet mellan varje punktpar 1050 i datamangden och firmer 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 hari 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. Eft dataset, som motsvarar bilden, har reducerats sasom beskrivs ovan med hanvisning till figurerna 4 till 7.
Nar styrenheten bestammer de relativa avstanden for alla punktpar few 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 punkterna P1- P6 i fig 11. For tydlighetens skull har de relativa avstanden for falska rOrelser inte identifierats i figur 12. Dessutom dr de relativa avstanden i figurerna 11 och 12 illustrativa och korrelationen mellan avstanden i figur 11 och graferna 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, där det forsta objekt 01 har flyttats langre an det andra objekt 02.
Det är saledes mojligt art spara mer an ett objekt genom larorna hart. Detta kraver inte ytterligare berakningar bortsett fran enkel operation for att hitta ett andra maximum. Sparning av flera objekt kan med fdrdel anvandas for all implementera ett multi-geststyrsystem for en enhet. Det kan ocksa anvandas for all ge flera spelare funktionalitet till ett videospel eller ett flertal operatoringangar for styrsystem.
For all aktivera, till exempel, ett klickande, en valhandling eller en zoom- funktion i ett gestkontrollerat operativsystem är det fordelaktigt all detektera rorelsen av ett objekt i djupled i bilden eller i en dimension parallell med en siktlinje i bildstrommen. I kart& 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 datoranord—ningen 10 och begransar dessutom anvandbarheten av det satt pa enheter utrustade med sadana kameror eller anpassats fOr aft hantera de utokade uppgifter som Adana kameror. Lardomama hari beskriver ett salt nedan som är lampligt for anvandning med en godtycklig kamera och kan darfor med Rirdel anvandas i smartphones, barbara datorer, surfplattor, spelkonsoler och andra datoranordningar.
Figur 13 illustrerar schematiskt ett exempel av en forflyttning av punktema Pl, P2 vilket motsvarar ett objekt (ej specifikt visat). Som kan ses har punkten gall frail ett fOrsta lage Pl, P2 till en andra, senare position P1 ", P2". Langden av rorelsen An, Ar2 fOr varje punkt Pl, är 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 fran kameran. Eftersom avstandet R ocksa kan uttryckas genom: R2 = X2 + Y2 , dal- X och Y dr de rektangulara koordinater eller komponenter fOr varje punkt, har forfattarna insett efter insiktsfulla resonemang aft X- och Y- komponenter kan anvandas i stallet for radien R aven om origo i koordinatsystemet inte sammanfaller med fokuspunkten F. Delta fOrenklar berakningarna som skall utforas vasentligt.
I en utforingsform an styrenheten anordnad aft bestamma en genomsnittlig position om punktparen P1, P1' och P2, P2' tillhor en datauppsattning som har minskats enligt ovan. Delta genererar en mangd genomsnittliga positioner for punkten paren.
Eventuellt kan styrenheten konfigureras aft filtrera bort de punkter som skiljer sig alltfOr mycket fran en detekterad hel fOrflyttning som bestamts enligt det sat som beskrivs ovan. For exemplet i figur 9 ar den totala rdrelsen X = -12; Y = 0.
Den genomsnittliga positionen few Plm bestams genom Plm = (P1 + P1') / 2 Styrenheten är vidare anordnad aft 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 P I m, P2m. Figur 14 visar ett 21 diagram over det relativa avstandet Ar kontra avstandet R till en fokuspunkt F och figurerna 15A och 15B visar motsvarande diagram for X- och Y-komponenterna eller koordinatema.
Styrenheten ir anordnad aft bestamma en lutning av en motsvarande linje LR, LX och LY genom aft utfOra linjeanpassning pd data i matriserna. For diagrammet i figur 14 kan den resulterande linjen LR uttryckas som: Ar = a + bR, ddr a är storningspunkten och b är lutningen pa linjen LR.
Lutningen b är proportionell mot rOrelse i djupled i en bild och kan anvandas for att spara ett objekt som ror sig i en djupmassig riktning, awn kallad Z-riktningen.
En positiv lutning (b> 0) indikerar rOrelse mot kameran och en negativ lutning (b <=) indikerar rOrelse bort fran kameran.
Styrenheten är, i en utforingsform, anordnad aft utfora en sadan linjeanpassning fOr aft faststalla en lutning baserat pd X- och Y-komponenterna for punktparen P1, P1', P2, P2'. Figurerna 15A och 15B visar de resulterande linjerna LX och LY for X- och Y- komponenter eller koordinater och de bestamda lutningarna for linjerna LX och LY kan anvandas av styrenheten for aft bestamma rorelsen i Z-riktningen. For en rOrelse enbart i Z-riktningen är lutningarna for X och Y-komponenter linjara LX och LY desamma.
Fokuspunkten F kan bestammas fran linjen anpassad fOr X- och Y-komponent- erna. I diagrammen i figurerna 15A och 15B kan koordinaterna for fokuspunkten F bestammas som om det relativa avstandet är noll, dvs. AX = 0 ger PX och AY = 0 ger PY, ddr F = (PX, PY).
Fokuspunkten F kan anvandas for aft identifiera ett objekt och skilja den fran andra objekt, eftersom F anger en mittpunkt fOr objektet. Fokuspunkten F kan salunda anvandas fOr aft identifiera ett objekt vid sparning av ett flertal objekt som har beskrivits ovan med hanvisning till figurerna 11 och 12.
Det btir noteras all genom en effektiv omvandling fran rektangulara koordinater till polka koordinater kan avstandet R och forandringen i avstandet Ar anvandas for aft berdkna lutningen och ddrigenom rorelsen i Z-riktningen.
Vid spdming av flera objekt i utritningen av R, kommer X- och Y-kompo- nenterna visa flera trender, en trend kommer all 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 sparning av ett objekt i enlighet med ldrorna har. En datauppsattning bestdende punktpar mottas 1610. Datauppsattningen har fore-tradesvis reducerats i enlighet med ldran som beskrivs ovan, men det hari beskrivna 22 sattet for aft bestamma rorelse i en z-riktning kan awn anvandas pa datauppsattningar genererade och dven minskade pa andra satt.
De genomsnittliga positionerna for punktparen bestams 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 position- erna.
Rorelsen i Z-riktningen bestams 1650 baserat pa lutningen.
Sattet fOr sparning av ett objekt i en z-riktning i enlighet med han ir fordelaktig i det att den haver fa 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 sat for sparning av ett objekt i tre dimen- sioner. En sadan kombination kan uppnas genom att kombinera metoderna enligt figur 10 och 16 sá att de funna punktparen 16ä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 ffir att bestamma en rorelsevektor for det sparade objekt och jamfora 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 vane rorelse. En rorelsevektor innefattar saledes atminstone en partiell riirelse 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. Aft beskriva en gest som en rad riktningar sparar minnesutrymme och mOjliggiir ocksa aft en enkel och snabb jamforelse utfors ffir att identifiera en gest.
Exemplet i figur 17 är i tva dimensioner, men det bor noteras att konceptet som beskrivs han med hanvisning till figurerna 17 till 23 enkelt kan utokas till tre eller ytterligare dimensioner sasom kommer aft diskuteras nedan. 23 Art mojliggora for felaktiga anvandarrorelser är styrenheten anordnad aft faststalla art 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 aft hanvisas till som en referens- eller bibliotekvinkel. Med andra ord är styrenheten anordnad aft bestamma aft det finns en matchning av en partial rorelse om ddr [3 är biblioteksvinkel, a vinkeln att Aurora och (1) feltoleransen.
For aft filtrera bort ofrivilliga rorelser kan styrenheten konfigureras for aft, utover vinkeln rOrelse, aven bestamrna avstandet for rorelsen och endast om avstandet (dist) ligger Over ett troskelvarde (V1), jamfdrs vinkelrorelsen med biblioteksvinkel.
Med andra ord, om dist> = V1 sa detekteras den (partiella) rorelsen och jamfors.
Genom aft kombinera matning av avstandet och feltoleransen for vinkeln är styrenheten anordnad for aft detektera en gest (eller en del av en gest) genom aft skilja den fran slumpmassiga rorelser hos objektet som sparas. Kombinationen av avstandet och vinkelfeltolerans definierar en kon (med avskuren topp) inom vilken kon alla resulterande rorelser kommer aft upptackas som en rorelse i riktning mot vinkeln.
Till exempel finns det vid forflyttningen enligt figur 17 tre partiella rorelser som utgor en gest for det sparade objektet H. Den forsta rOrelsen representerar forflyttning fran laget H till H' i en vinkel pa 90 grader och pa avstand distl, den andra rorelsen representerar en rorelse fran position H'till H" i en vinkel pa 0 grader och pa avstand 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 troskelvdrdet V1 och alla vinklar ligger inom en feltolerans kommer gesten kannas igen. Alternativt kommer en gest ocksa att bli igenkand om surnman av avstanden är over troskelvardet, dvs. om distl + dist2 + dist3> = Vi.
Sparning av objekt som beskrives hari, speciellt med hanvisning till figurerna 4-16 kan &as i realtid for art ge koordinaterna till sparning av ett objekt. Detta mojligOr en snabb identifiering av en gest som lampar sig for anvandning i ett realtidssystem eftersom koordinaterna tillhandahalls i realtid och identifieringen av en gest utfors utan omfattande eller resurskravande beralcningar.
I en utforingsform är styrenheten anordnad aft identifiera en gest genom anvandning av ett tillstandsdiagram, sasom en Turingmaskin. Figur 18 visar ett exempel pa en sadan Turingmaskin fcir aft identifiera de exempelgester som anges i tabell 1. Turingmaskinen 1800 (som Turingmaskiner 1900, 2000, 2200 enligt fig. 19, 20 och 22) 24 genomfors och exekveras av en datoranordning, sasom beskrivs med hanvisning till figurema 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 troskelvdrde V1, sasom har beskrivits ovan, initierar vinkeln av rorelsen en tillstandsovergang. I exemplet i figur 18 anvdnds endast fyra vinklar for rOrelser, de fyra vinklama är 0 grader (rorelse till hoger), 90 grader (rorelse upp), 180 grader (rorelse till vdrister) och 270 grader (kombinationer). Det bor vara klart att dven ytterligare riktningar kan tilldmpas 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 sá genomfors overgangen. Till exempel, om en rorelse till vanster detekteras (med en vinkel pa 170 grader), fdrutsatt 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 aft tillstandet ritats med heldragna linjer. Fran tabell 1 kan handlingen identifieras som en Angra-atgdrd.
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 atgarden Zooma in.
Om styrenheten sparar en rOrelse i en vinkel, sager 120 grader, vilken faller utanfor feltoleranskonen fir flagon av vinklama (forutsatt en feltolerans pa 10 grader), Ater& styrenheten till det ursprungliga tillstandet 0. I en annan utforingsform (som kommer att diskuteras nedan) kommer styrenheten att aterga till fdregaende stabila tillstand, ett stabilt tillstand är ett tillstand som motsvarar en &Ord 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 tillstand som inte motsvarar en &Ord är markerade med streckade linjer. Ett exempel pa vdrdet av ett timeouttroskelvdrde Ti dr 0,5 sekunder. Ett annat exempel är 0,3 till 1 sekund.
I en utfiiringsform kan objektsparningen som beskrivits med hanvisning till figurerna 4 till 16 vara anordnade sa att en position fOr ett sparat objekt endast ges om objektet har flyttats ett avstand langre an avstandstroskelvardet. Detta tillater en styrenhet hos datoranordningen, sasom en centralenhet (CPU), all 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, palitligt och i realtid utan all krava stora datorresurser. Dessutom är det sat som beskrivs hari flexibelt i det all gesterna inte behover ha ett visst format och kan latt anpassas genom all tillfora tillstand i Turingmaskinen 1800.
Della sail dr dessutom latt all expandera till all 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 rorelselangd. Turingmaskinen 1900 i figur 19 är en utvidgning av en del av Turing- maskinen 1800 i figur 18. Det bor noteras all awn 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 all aktivera Turingmaskinen 1900 for all skilja mellan en snabb och en langsam rorelse, dvs. bestamma 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 for rorelsen kan bestammas genom att jamfora avstandet av rorelsen med den tid det tar for all tillryggaldgga avstandet. Della kan bestammas under sparning av objektet eller under identifieringen av en rorelse och motsvarande gest. 1 figur 19 indikeras en snabb rorelse genom all vara understruken, sasom Overgangen (270 ) till tillstandet {270} som motsvarar algal-den Skriv ut. Ett exempel pa ett hastighettroskelvdrde är baserat pa avstandet troskeln V1 sã all Si = V1 / 1 sekund. Ett annat exempel är ett hastighettroskelvarde som är baserat pa avstandstroskeln V1 och timeouttroskelvardet Ti sa. all Si = Vial. 26 Styrenheten kan ocksa och/eller dessutom konfigureras att skilja mellan en lang 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 troskelvdrdet V2 är stone in 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 lang rorelse genom att vara i fetstil, till exempel overgang (270) till tillstandet {270} som motsvarar atgarden Radera.
Det är salunda mojligt att tilldela olika atgarder 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 atgarder {270} korta, langsamma rorelser nedat motsvarar en Skicka atgard, {270} langa, langsainma rorelser nedat motsvarar en Delete atgard, { 270 } korta, snabba rorelser nedat motsvarar ett tryck atgard, och {270} langa, snabba rorelser nedat motsvarar en Delete utan bekraftelse &Ord. Detta mojliggor att tilldela atgarder 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 avstandstroskelvardet V1 och/eller V2 baserat pa en storlek pa objektet som skall sparas, ett avstand 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 figurema 13-15.
Genom att anvanda djupledssparning, kan troskelvardena okas eller minskas i enlighet med objektets rorelse i en djupmassig riktning (vdsentligen parallell med siktlinjen av kameran).
Till exempel, trOskelvardena V1 och V2 är relaterade till storleken pa objektet som ska sparas, nagra exempel pa varden pa V1 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 VI och V2 är V1 = 20% av bildvinkeln, V2 = 50% av bildvinkeln. For en bildvinkel pa 120 grader V1 är 24 grader och V2 = 60 grader.
Gestdetekteringen som beskrivs han är ldmplig fjr realtidsutforande som bar diskuterats ovan. For att mojliggOra snabbare utforande, är styrenheten av datoran- 27 ordningen (refererade 210 och 200 respektive i figur 2) anordnad att proaktivt utfcira en atgard som motsvarar en antagen gest medan en gest detekteras.
I en situation dar en uppatgaende rorelse har detekterats (betecknad av over- gangen (90) i figur 18 är endast tva atgarder mojliga, narnligen atgarderna Zoom in (motsvarande {90, 0, 270}) och Forminska (motsvarande {90, 180, 2701) I detta exempel avser atgarder all en bild visas. For att fOrbereda kan styrenheten hamta bilddata som behovs fir all utfora zoomningen och mojligen ocksa bestamma bade en inzoomad och en utzoomad representation av bilden som visas. Genom aft forbereda de atgarder som skall vidtas, kan atgarden utforas pa mycket kortare tid, vilket resulterar i en snabbare svarstid. Urn exempelvis bilddata behover laddas fran en extern harddisk, kan manga tiondelar av en sekund sparas genom all inleda laddningen av bilddata innan gesten är klar och identifierad. Som bekant upplevs en svarstid pa mer an 0,1 sekunder som stressande och trakig av manga anvandare av datoranordningar. En datoranordning anordnad all proaktivt utfora en atgard har darfor en stor fordel i att den minskar svarstiden och är mindre stressande all anvanda.
Pa grund av berakningseffektiviteten hos moderna styrsystem, sasom centralenheter (CPU), kommer en styrenhet att vara inaktiv under manga klockcykler medans gesten utforts och upptackts och eftersom mansklig rorelse är relativt langsam jamfcirt med processorer har forfattarna till denna ansokan insett all genom att utnyttja dessa gratis klockcykler till att proaktivt utfbra en atgard uppnas (atminstone delvis) en kortare reaktionstid for atgarden.
I detta exempel kan styrenheten bestamma en motsvarande gest aven om gesten inte har slutforts annu. Styrenheten är medveten om vilken gest som matas in redan i tillstanden {90, 180} och {90, 0} 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 atgarden visas eller verkstallas. 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 aft avbryta gesten.
Data salt att proaktivt utfora en &Ord är sdrskilt fordelaktigt om en styrenhet utfor objektssparning och en processor utfor handelserelaterad verksamhet.
FOr all mojliggora en storre variation av gester har Rirfattama till denna ansokan insett att en gest kan fa 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 28 andra gesten. Den Turingmaskin 2000 är en utvidgning av en del av Turingmaskinema 1800 eller 1900 av figurema 18 eller 19.
Tillstandet refererat {0, 90} motsvarar atgarden Vand sida (se tabell 1) och tillstAndet refererat {0, 270} motsvarar &garden Vand sida halal (se tabell 1) som i Turingmaskinen 1800 i figur 18 . Denna Turingmaskin 2000 inkluderar ytterligare tva tillstand, ett tillsta'nd betecknat {0, 90, 180} motsvarande atgard Bladdra framat och ett tillstand betecknat {0, 270, 0} motsvarande atgarden bladdra framat Som kan ses är alla fyra tillstand stabila tillstand och tillstandet refererat {0, 90} al* pa vagen mot tillstandet refererat {0, 90, 180} dvs. gesten for {0, 90} är en subgest av gesten for {0, 90, 180} och tillstandet refererat {0, 270} är pa vagen mot tillstandet refererat {0, 270, 0} dvs. gesten for {0, 270} är en subgest av gesten for {0; 270, 01.
For aft skilja mellan subgester och kompletta gester är en styrenhet anordnad for alt aterga till ett foregaende stabilt tillstAnd om en ytterligare rorelse detekteras med 15 en vinkel som inte motsvarar flagon annan gest. Delia mojliggtor aft avsluta en gest genom en rorelse i en odefinierad riktning. Delia mojliggor ocksa aft 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 narvarande 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 bladdring framat atgard utfors nar en anvandare utfor gesten hoger-upp-vanster-(ner/bort/hoger/stopp). Analogt utfors en vand sida bakat &Ord ndr en anvandare utfiir gesten hoger-ner-(ned/bort/vanster/stopp) och en bladdra bakat atgard utfOrs nar en anvandare utfor gesten hOger-ner-hoger(ned/bort/vanster/stopp). Den bladdrande atgarden skulle kunna definieras som en HOLD gest sa aft bladdring fortsatter nar styrenheten är i ett bldddrande tillstand (dvs. ingen ytterligare rOrelse detekteras).
For aft mojliggora fler objektsgester, kan styrenheten konfigureras aft spara flera objekt sasom har beskrivits med hanvisning till figurema 11 till 12 och dven 13-15.
Rorelsen hos varje objekt (refererade 01 och 02 i siffror 11 och 12) kan identifieras genom ett tillstandsdiagram eller Turingmaskin som beslcrivs med hanvisning till figurema 18 och 20, dar en instans av Turingmaskinen av varje (eller en kombination av) Turingmaskiner 1800, 1900, 2000 fran figurema 18, 19 och 20 alstras och exekveras fiir varje objekt. Delta mojliggor for aft flera objekt utfor gester samtidigt eller 29 samtidiga gester. De gester som identifierats for varje objekt kan kombineras till en motsvarande atgard eller sá kan varje gest resultera i varsin atgard. Dena mOjliggor samtidig anvandning eller hantering med flera samtidiga gester. Ett exempel pa en anvandning av sadana 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 awn 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 hander 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 Or en rorelse 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 ror sig forst. Gestema och motsvarande atgarder visas i tabell 2. Exempelgester och deras motsvarande dtgarder är endast for illustration och det bor vara klart att exemplen i sig inte ska anses som begransande for laroma hari. Varje overgang i Turingmaskin 2200 motsvarar en forflyttning av atminstone ett objekt.
Om den forsta (vanstra) handen H1 rar 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 rot- sig forst, kommer styrenheten att hamna i ett tillstand refererat {-/270,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. Altemativt ger ordem anvandaren en mojlighet att forhandsgranska nasta sida innan han raderar den tidigare (tillstand {0 /- ;-/ 270}).
Om den forsta handen H1 och den andra handen H2 ror sig vasentligen samtidigt, utfors en tredje multipel atgard. I detta exempel motsvarar den samtidiga funktionen en zoomningsoperation.
I en utfOringsform har ordningen som objekt forflyttas i ingen betydelse. Detta minskar antalet tillgangliga gester, medan det fiirenklar inmatningen av en korrekt gest eftersom en anvandare inte behover utfora rorelserna i exakt tidsfoljd.
Att ha flera objektgester mojliggor for ett utokat gestbibliotek och ett som ocksâ är mer flexibelt for en applikationsdesigners behov och onskningar for applikationen.
For aft ytterligare fOrenkla gestinmatningen for en anvandare kan styrenheten konfigureras fir aft ge anvandaren feedback under gestidentifieringsfasen, genom aft visa en indikator eller status (t.ex. genom sma ikoner, pilar, text eller forloppsindikator i ett horn, exempelvis Ovre hOgra hOrnet av skarmen) av upptackta rorelser. Indikationen uppdateras vaije gang en riktning av rorelse har detekterats framgangsrikt. Detta Or det mojligt for en anvandare aft forsta gestens framsteg. Detta är sarskilt fordelaktigt for komplicerade gester (som innehaller manga riktningar rorelser eller kombinationer av rorelser).
Figur 23 visar en allman metod fir identifiering av en gest i enlighet med laronm har. En datoranordning tar emot 2310 uppgifter som identifierar en riirelse for ett objekt som ska sparas, till exempel genom en vinkel for en rorelseriktning hos objektet. Vinkeln jamfors 2330 med en referens- eller bibliotekvinkel fiir ett gestbibliotek for aft avgora om en gest identifieras eller inte. Om sá är fallet, utfor dator- anordningen 2340 en motsvarande atgard.
Vinkeln jamfors med biblioteket genom aft traversera ett tillstandsdiagram dar vinkeln ar 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 atgard, utfors 2340 atgarden.
De lardomar hari ger fordelen aft enkla berakningar inte haver nagra stora datorresurser som ska genomforas effektivt. Exempelvis kraver detta satt ingen skalning, rotation eller deformation som skall goras och faststallandet av krokningar är verkligen enkel och elegant. Det sat som lars ut hari är salunda lampad for anvandning i laga eller daliga ljusfOrhallanden vilket ocksa Or det mycket lampat for barbara enheter och underhallningssystem.
Det sail som beskrivs hari ar fordelaktigt eftersom det an baserat pa riktningar i stallet flir absoluta positioner och är mindre kansligt for avstandet mellan objektet och kamera. Det firms heller inget behov av skalning av sparade objekt som passar ett bibliotek eller referensobjekt. Detta ar sarskilt anvandbart nth- samma gestinstallningen 31 kan anvandas for olika enheter (sasom men inte begransat till TV, mobiltelefoner och stationdra datorer).
Dessutom haver gestbiblioteket endast ett minimum av data sá det är Mt att forvara och snabbt att manipulera vilket endast haver ett minimum av datorresurser.
Det hari beskrivna sattet gor det ocksa mojligt att kunna hantera forandringar i skala sâ 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 sat att identifiera gester.
De lardomar som ges hari ger fordelen att enkla dtgarder for att jamfora en vinkel och mojligen ett avstand som inte kraver nagra stora datorresurser kan genom10 foras effektivt. Exempelvis hays det ingen skalning, rotation eller deformation och faststallandet av krOkningar dr verkligen enkel och elegant. Det salt som Mrs ut hariär sdlunda ldmpat for anvandning i laga eller ddliga ljusfOrhallanden vilket ocksa gor det mycket ldmpat for barbara enheter och underhallningssystem.
En annan fordel ligger i att ingen traning eller uppldrning av sparningssystemet eller gestidentifiering lcravs.
Arm en fordel ligger i att det salt som ldrs ut hari an mycket 1511 att integrera i en befintlig enhet eftersom den indata som kravs ä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 koordinatema for den relativa rorelsen som, i kombination med indatan, skapar ett enkelt granssnitt fZir att det salt som beskrivs hari som an Ian att integrera i befintliga enheter i enheter som ska produceras.
Uppfinningen bar huvudsakligen beskrivits ovan med hanvisning till nagra utforingsformer. Sasom ldtt 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. 32 Gest Atgard {0,270} Atgard 1: svang framat {0,90} Atgard2: Vand 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 bakat {0, 270, 0} Atgard 11: Bladdra framat Tabell 1: gester och motsvarande atgarder Gest Atgard {0 / - ,-/ 270} Delete Multipel atgard 1: Nasta sida + {4270, 0 / -} sida Multipel atgard2: Radera + Nasta {0/270} Multipel atgard3: Zoom in Tabell 2: Flera objekt gester och motsvarande atgarder

Claims (9)

33 KRAV
1. En datoranordning (100, 200) fOr sparning av ett objekt (H, H', 01, 02) i en bildstrOm, namnda datoranordning (100, 200) innefattande ett minne och en styrenhet (210), varvid namnda styrenhet (210) är anordnad alt: motta en datauppsattning innefattande atminstone ett punktpar (P1; P1', P2; P2') innefattande en punkt (P1', P2') i en forsta bild och en punkt (P1, P2) i en foregaende bild; faststalla en medelvardesposition, P2.) i varje punktpar (P1;P1', P2; P2'); faststalla ett relativt avstand (An, Ar2) for varje punktpar (Pl; P1', P2; P2') och bestamma en lutning (b) av en motsvarande linjar anpassning (LX, LY, LR) av namnda relativa avstand (An, A r2) kontra namnda medelvardespositioner, P2.), och bestanuna en rerelse i en riktning parallell med en siktlinje baserad pa lutningen (b).
2. Datoranordningen (100, 200) enligt krav 1, varvid namnda styrenhet (210) vidare är anordnad aft bestamma namnda medelposition, P2.), namnda relativa avstand (An, Ar2) och namnda lutning (b) baserat pa rektangulara koordinater.
3. Datoranordningen (100, 200) enligt krav 1 eller 2, varvid namnda styrenhet (210) vidare är anordnad fOr aft bestamma en fokuspunkt (F) baserat pa namnda linjara anpassning (LX, LY, LR), varvid namnda fokuspunkt identifierar en mittposition for ett objekt (H, H', 01, 02).
4. Datoranordningen (100, 200) enligt krav 3, varvid namnda styrenhet (210) vidare är anordnad aft bestamma fokuspunkten (F) fOr sparning av ett forsta objekt (01) och aft bestamma en andra fokuspunkt (F) fOr sparning av ett andra objekt (02).
5. En metod fOr anvandning i en datoranordning (100, 200) for sparning av ett objekt (H, H', 01, 02) i en bildstriim, namnda metod innefattande: mottagning av en datauppsattning innefattande atminstone ett punktpar (P1, P1', P2, P2') innefattande en punkt (P1', P2') i en forsta bild och en punkt (P1, P2) i en foregaende bild; bestanming av en medelposition (P1 m , P2.) i varje punktpar (PI, PI', P2, P2'); 34 bestamning av eft relativt avstand (Ar1, Ar2) for varje punktpar (P1, P1', P2, P2 ') och bestamning av en lutning av en motsvarande linjar anpassning (LX, LY, LR) av namnda relativa avstand (An, Ar2) kontra namnda medelpositioner (Plm , P2rn ), och bestamning av en rOrelse i en riktning parallell med en siktlinje baserat pa lutningen.
6. Ett datorlasbart lagringsmedium (30) kodat med instruktioner (31) som, nar laddade och exekverade pa en processor, orsakar metoden enligt krav 5 att utforas.
7. En datoranordning enligt nagot av 'craven 1 till 4, varvid namnda datoranord- fling är en mobil kommunikationsterminal.
8. En datoranordning enligt nagot av kraven 1 till 4, varvid namnda datoranordning är en suifplatta eller en barbar dator.
9. En datoranordning enligt nagot av kraven 1 till 4, varvid namnda datoranordning är en spelkonsol. 100 160 130a
SE1350784A 2012-08-03 2012-08-03 Datoranordning för spårning av objekt i djupled SE537755C2 (sv)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SE1350784A SE537755C2 (sv) 2012-08-03 2012-08-03 Datoranordning för spårning av objekt i djupled

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE1350784A SE537755C2 (sv) 2012-08-03 2012-08-03 Datoranordning för spårning av objekt i djupled

Publications (2)

Publication Number Publication Date
SE1350784A1 true SE1350784A1 (sv) 2014-02-04
SE537755C2 SE537755C2 (sv) 2015-10-13

Family

ID=50159941

Family Applications (1)

Application Number Title Priority Date Filing Date
SE1350784A SE537755C2 (sv) 2012-08-03 2012-08-03 Datoranordning för spårning av objekt i djupled

Country Status (1)

Country Link
SE (1) SE537755C2 (sv)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357589A (zh) * 2015-09-18 2016-02-24 成都视达科信息技术有限公司 Stb按键控制的处理系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357589A (zh) * 2015-09-18 2016-02-24 成都视达科信息技术有限公司 Stb按键控制的处理系统及方法
CN105357589B (zh) * 2015-09-18 2019-01-22 成都视达科信息技术有限公司 Stb按键控制的处理系统及方法

Also Published As

Publication number Publication date
SE537755C2 (sv) 2015-10-13

Similar Documents

Publication Publication Date Title
US9690388B2 (en) Identification of a gesture
SE1250910A1 (sv) Förbättrad videospårning
JP2020119510A (ja) フィンガーチップモーションパターンのリアルタイムのジェスチャへのオンデバイス分類
CN106663196B (zh) 用于识别主体的方法、系统和计算机可读存储介质
JP6221505B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
TW201303788A (zh) 圖像分割方法以及圖像分割系統
JP2015187884A (ja) カメラとマーク出力とによるポインティング装置
WO2019059020A1 (ja) 制御装置、制御方法、及びプログラム
US20160321833A1 (en) Method and apparatus for generating moving photograph based on moving effect
JP2016136683A (ja) 撮像装置及びその制御方法
JP6632681B2 (ja) 制御装置、制御方法、及びプログラム
TWI514327B (zh) 目標偵測與追蹤方法及系統
CA2806149C (en) Method and system for gesture-based human-machine interaction and computer-readable medium thereof
WO2024022301A1 (zh) 视角路径获取方法、装置、电子设备及介质
SE1350784A1 (sv) Förbättrad videospårning
CN104123716A (zh) 检测图像稳定性的方法、装置和终端
Du et al. Video retargeting based on spatiotemporal saliency model
CN113469017A (zh) 一种图像处理方法、装置及电子设备
TW201248547A (en) Method of simulating short depth of field and digital camera using the same
Low et al. Superevents: Towards native semantic segmentation for event-based cameras
US20170208288A1 (en) Image processing device, method for controlling image processing device, and computer-readable storage medium storing program
TWI576788B (zh) 影像處理方法、非暫態電腦可讀取記錄媒體及電子裝置
JP2024021205A (ja) 画像処理プログラム
CN116457828A (zh) 针对光流估计的监督学习和遮挡掩蔽