Come posso rilevare un evento tattile in un sistema di blob-tracking computer-vision?

2

Dire che ho un sistema di visione artificiale in grado di tracciare più blob colorati. Inoltre, supponiamo che io voglia che i BLOB rappresentino "dita" in un sistema multitouch. Ora, ho molti esempi che posso guardare per vedere come fare gesti multitouch. Tuttavia, non riesco a trovare una chiara spiegazione di come un evento "touch" sia definito in primo luogo. Nel migliore dei casi, il sistema può rilevare la dimensione del blob e posso dire qualcosa di simile a "blobSize > minSize = touch". Nella peggiore delle ipotesi. Posso solo rilevare la posizione. Aspetto che il blob resti fermo per un po 'di tempo o cosa?

    
posta jamesson 27.01.2017 - 03:12
fonte

1 risposta

1

Un evento tattile, equivalente a un clic del mouse, sarebbe un blob che è apparso e poi è scomparso con un minimo movimento tra ciò che è accaduto su o abbastanza vicino su un elemento cliccabile.

Dovrai avere delle tolleranze per:

  • Minimo e amp; dimensione massima del BLOB
  • Durata minima e massima, > il massimo diventa un clic e tieni premuto
  • Quanto movimento è consentito prima che diventi un evento di trascinamento
  • Quanto vicino all'area cliccabile che devi avere.

È possibile che quando si utilizza un sistema di visione artificiale che sta tracciando oggetti per rappresentare punte di dita , cioè alcuni bersagli di tracciamento, essi possono essere tracciati dal bordo del campo visivo che è, ovviamente, diverso dal touch tracking, in cui puoi sollevare il dito per terminare il tocco.

Per questo tipo di sistema dovrai implementare un sistema stateful dove c'è una dimensione della soglia per il target, o anche una dimensione delta, che rappresenta la distanza dalla telecamera al bersaglio come una distanza fissa dalla telecamera come una superficie invisibile o come un movimento verso di esso, quindi un movimento che non cambia la dimensione del bersaglio di più di una soglia dato costituirebbe un trascinamento e uno che lo ha ridotto di più sarebbe un evento di pulsante su.

In alternativa, potrebbe anche utilizzare un meccanismo, simile ai sistemi di localizzazione degli occhi, in cui una pausa su un'area attiva dello schermo viene considerata come un pulsante in basso e una pausa più lunga come una modifica al pulsante trattenuto, quindi una pausa a una caduta target perché il rilascio del pulsante.

In entrambi i casi, raccomando vivamente di implementare una modalità di addestramento utente in cui l'utente e il sistema si adattano l'un l'altro adattando le soglie per le dimensioni obiettivo o la durata della pausa che costituisce un clic e tieni premuto. Ricorda che le persone hanno diverse dimensioni di dita, velocità di movimento, abitudini, ecc. Ed è sempre meglio che il sistema apprenda dall'utente anziché viceversa. Ricorda anche che la maggior parte delle persone non può mai tenere le dita assolutamente immobili per un certo periodo di tempo, quindi dovrai consentire una soglia per la quantità di movimento che non conta.

    
risposta data 27.01.2017 - 08:29
fonte

Leggi altre domande sui tag