Faire suivre un appareil photo

9

Je veux enregistrer quelques conférences que je donnerai le semestre prochain. J'ai une caméra vidéo et je peux changer de direction à l'aide d'un servo quelconque. Cependant, je ne sais pas comment détecter où je suis. Me porter un appareil de diffusion serait bien. Surtout, la sensibilité devrait pouvoir déterminer si je suis dans le côté gauche ou droit de la pièce, mais je n'ai pas besoin de beaucoup plus que cela.

kasterma
la source
1
Le moyen le plus simple serait d'utiliser un ordinateur et une webcam. L'ordinateur exécute le suivi de mouvement le long de l'endroit où votre tête et vos épaules contrôlent ensuite le servo. L'algorithme de suivi est aussi simple que de chercher la moyenne de la localisation des pixels avec le plus de changement .... Ou n'avez-vous pas d'ordinateur disponible?
Chris H
@Chris H, si vous avez des informations sur un programme fonctionnel aussi facilement disponible, je pense que ce serait une réponse parfaite.
Kortuk
Eh bien, je n'en connais pas spécifiquement, mais pensez à OpenCV. Vous pouvez appliquer un recadrage puis une fonction de suivi de mouvement. Le recadrage est juste pour s'assurer que vous ne ramassez pas d'autres choses en mouvement. Il devrait atteindre environ 100 lignes de code au total. Probablement plus facile à coder vous-même que de configurer et d'apprendre un autre programme, d'autant plus que vous devez ensuite vous interfacer avec un moteur.
Chris H
Quelqu'un pourrait-il me dire quelle est la bonne façon d'agir s'il y a deux réponses données qui sont également valables; choisir un seul au hasard pour être la réponse?
kasterma
@kasterma: Oui, mais si vous en implémentiez un plutôt qu'un autre, je choisirais cela. Vous pouvez toujours les voter tous les deux.
Nick T

Réponses:

9

Vous pouvez porter de simples LED IR, vous pouvez également placer un certain nombre de récepteurs IR, de simples photodiodes IR fonctionneraient, avec un angle de vision étroit.

Si vous les placez autour de la base de la caméra, puis faites lire à un microcontrôleur celui qui a le plus grand signal, vous pouvez pointer la caméra vers la source infrarouge.

Cela semble compliqué, mais il est très simple et ne nécessite pas d'ordinateur. Le matériel est facile à faire, même si vous trouverez probablement dans des environnements bruyants (lumière vive) que vous voudrez moduler votre IR pour vous éloigner du bruit à large bande que vous recevez.

Kortuk
la source
J'ai essayé cela en fait, fonctionne à moins qu'il n'y ait de grandes fenêtres.
Chris H
@Chris H, une grande fenêtre est juste un défi pour moi d'obtenir un émetteur IR plus brillant. Souvent, la modulation peut considérablement aider à résoudre le problème d'IR de fond de la lumière du soleil ou des lampes fluorescentes.
Kortuk
Cela semble être une très bonne solution, je ne sais pas ce que vous voulez dire quand vous proposez de moduler mon IR. Voulez-vous dire que je devrais pulser la LED IR à une fréquence connue, puis essayer de détecter uniquement cette fréquence avec le récepteur?
kasterma
@kasterma, oui, c'est ce que je veux dire. Vous impulsez la LED IR à 40 KHz par exemple, puis faites un filtre à 40 KHz sur les récepteurs afin d'ignorer l'IR large bande émis par le Soleil et les lumières. Vous devrez peut-être ajuster la fréquence pour éviter la fréquence que vos lampes fluorescentes émettent. vous pouvez l'essayer sans cette modulation d'abord pour voir si elle répond aux spécifications car c'est plus facile à faire.
Kortuk
J'ai vu cela avec une Nintendo Wii. Très cool. +1
tyblu
7

Ce que vous recherchez peut être lié au "suivi des blobs". C'est une technique couramment utilisée en robotique et en traitement de la vision.

Selon vos cotes de programmation, vous pouvez utiliser OpenCV (bibliothèques de vision par ordinateur open source) disponibles en C ++ et Python. D'autres langues peuvent avoir des bibliothèques qui prennent en charge le suivi des objets blob. Je crois que LabVIEW et Matlab ont également des bibliothèques pour supporter cela.

Généralement, la configuration sera un ordinateur traitant la vidéo et trouvant une goutte (vous) d'une couleur particulière. Vous pouvez ensuite utiliser les informations de la position de la goutte dans le cadre de la caméra pour déterminer où pointer la caméra. Si vous pilotez par exemple le servo sur la caméra avec un Arduino (ou tout autre microcontrôleur), vous pouvez envoyer des commandes via le port série pour mettre à jour la position souhaitée de la caméra. Lorsque le blob laisse une certaine "boîte" souhaitée au centre du cadre.

Si vous le souhaitez, vous pouvez effectuer un suivi plus intelligent en implémentant une combinaison de contrôle proportionnel, intégral et dérivé (PID, si vous effectuez une recherche sur Internet), pour essayer de rester centré dans le cadre, mais cela peut être plus que ce dont vous avez besoin pour votre application.

Edit: Un peu de recherche a donné ce résultat: Applications créatives . C'est plus ou moins la solution que j'ai expliquée.

mjcarroll
la source
4
Il est temps d'acheter des chemises "de couleur unique".
Nick T
2
Après un examen plus approfondi, je crois que la solution de Kortuk et user1498 de LED IR et de capteur serait une approche plus robuste. Cela est vrai en raison du point soulevé par Nick T, l'espace colorimétrique est déjà assez encombré, donc vous choisir serait difficile.
mjcarroll
cela ressemble à un ingénieur reculant d'un problème.
Kortuk
@Kortuk, pas nécessairement reculer. Je pense toujours que ma solution peut être la "meilleure", en ce qui concerne un système entièrement autonome (pas de capteurs externes, pas plus de matériel que ce qui est explicitement indiqué dans l'énoncé du problème). En ce qui concerne la facilité de mise en œuvre et la robustesse (les algorithmes de vision étant quelque peu capricieux), je pense que votre solution serait bien meilleure.
mjcarroll
Je savais ce que vous vouliez dire, je pense que la solution matérielle est plus autonome, mais il y a un grand compromis pour les deux.
Kortuk
3

Le port d'une ou plusieurs LED IR peut permettre à une caméra comme un contrôleur Wi-Fi de vous suivre

russ_hensel
la source
2

Cela ressemble à un travail idéal pour un Kinect et certains logiciels de traitement - il peut séparer les sujets avec les informations 3D, possède des moteurs pan-tilt et une sortie vidéo.

Martin Thompson
la source
1
Je suis d'accord que c'est peut-être le plus simple mais pas le moins cher
Matt Williamson
2

C'est pourquoi les étudiants diplômés ont été inventés. Je suis sûr que vous pourriez éventuellement le faire électroniquement, mais il devrait y avoir beaucoup de conférences avant que cela en vaille la peine par rapport à avoir quelqu'un avec un cerveau qui manipule l'appareil photo.

Olin Lathrop
la source
De plus, la bière est moins chère que l'électricité.
Optimal Cynic
0

Je suis la personne qui a posé cette question, et j'aime vraiment à la fois la réponse OpenCV et la réponse LED IR et je vais jouer avec eux deux. À ce stade, les deux ont des problèmes pour moi: ma commande à infrarouge est retardée et ma webcam ne veut pas.

Cela étant, mon œil est tombé sur un LV-Maxsonar EZ avec lequel j'ai acheté il y a peu de temps. Je n'y suis jamais vraiment arrivé, mais maintenant il semble que cela pourrait donner lieu à une solution décente ici. Je suis la seule personne qui se déplace devant la pièce, donc pas d'interférence et pas besoin d'ordinateur non plus.

Cet appareil donne des mesures de distance dans une direction spécifique. Si cette distance change, quelqu'un s'est déplacé devant lui et la caméra doit se déplacer dans la direction vers laquelle pointe le capteur.

kasterma
la source
0

Découvrez le devkit PrimeSense (les fabricants du Kinect)

Le fabricant a publié les pilotes Windows et Unix de Kinect (et DevKit) ici: http://www.openni.org/

goodguys_activate
la source
0

Le suivi des éclaboussures infrarouges (et le filtrage de la caméra, l'accord de l'insolation de la pièce) vous donne, ainsi qu'aux étudiants, une bonne chance de travailler sur le MARC qui vous aide, vous et votre contexte choisi, à se retrouver dans la zone zéro. Cela dit, je me serais probablement inspiré d'une application de webcam intégrée bien examinée sur Cnet.com (ou un autre site critique, Amazon, Acer Support ou autre) ou Camtasia et utilisé cela comme indiqué.

Thrangalucchian
la source
0

Jetez un œil au mouvement , en particulier à la fonction de suivi de mouvement .

Joe Frazier
la source
J'aimerais en savoir plus sur la motion, mais le simple fait de nous donner un lien vers un site Web ne fournit pas de réponse, il fournit la référence pour une réponse. Qu'est-ce que le mouvement, que fait-il?
Kortuk