Solution bon marché pour la prise de vue avec plusieurs (> 2) caméras synchronisées (genlock ou LANC?)

10

Je fais des recherches sur les phénomènes naturels en vision par ordinateur et je recherche une méthode de prise de vue vidéo sous plusieurs angles de caméra. Il est probable que le sujet se déplace de manière très irrégulière, donc tout problème de synchronisation entre les caméras sera un problème. Imaginez une flamme ou de l'eau qui coule, c'est difficile à dire exactement mais ça va devoir être en microsecondes plutôt qu'en millisecondes. Je voudrai utiliser jusqu'à 8 caméras, idéalement contraintes par le budget plutôt que par la possibilité de les garder synchronisées.

Les appareils photo que le ministère possède sont des reflex numériques Canon, mais après de nombreuses recherches, il semble impossible de les synchroniser, en particulier avec ce niveau de précision. Par conséquent, si je peux trouver des caméras abordables qui peuvent être synchronisées facilement, nous pourrions en acheter.

Les deux options à ma disposition semblent être genlock et LANC. D'après ce que je peux dire, je ne vais pas me procurer un seul appareil photo compatible Genlock pour moins de 5000 £. Même en oubliant le signal genlock, c'est trop pour que nous puissions nous le permettre, sans parler de 8. Le truc Sony / Canon LANC semble plus faisable, mais je ne trouve aucune information fiable sur la façon de procéder pour configurer cela ou quelles caméras le prennent en charge et qui sont disponibles maintenant. Je continue de frapper des impasses en essayant de regarder cela, et cela n'aide pas que la plupart du temps tout le monde essaie de tourner en stéréo. Quelqu'un peut-il me conseiller sur la configuration dont nous aurions besoin et combien cela coûterait à peu près? Ou s'il existe une autre solution de synchronisation que quelqu'un voudrait recommander? La facilité et le coût sont les plus grands facteurs!

Merci! Et j'espère que cela ne ressemble pas à une question de recommandation d'achat. Bien que je veuille faire du shopping, j'ai vraiment juste besoin d'aide pour comprendre les techniques de synchronisation, et je vais trouver quoi acheter après ça!

Andrew Chinery
la source
Si vous êtes préoccupé par une différence de 8 millisecondes, ne pensez-vous pas que vous devez louer des caméras qui tournent en ultra slomo comme 200 fps +? Le verrouillage GEN serait probablement inclus sur ces cames.
Idéalement, j'aimerais pouvoir louer de telles choses, mais encore une fois, le coût est prohibitif. Rien au niveau du consommateur (que j'ai trouvé) n'a de genlock, même les caméras à grand fps. Et même les `` fps élevés '' sont encore loin d'être suffisamment élevés pour permettre une synchronisation de type Genlock avec juste un clap. Je trouve toujours très difficile de savoir si un appareil photo est équipé de Genlock ou non, cela semble être une chose comprise par l'industrie, que je ne connais pas du tout. Quoi qu'il en soit, merci d'avoir répondu à un tel vieux fil :).
Andrew Chinery
J'ai posé une question similaire au cas où vous seriez intéressé: video.stackexchange.com/questions/12312/…
Kozuch

Réponses:

5

Un an après avoir posté cette question, je reçois quelques commentaires et réponses supplémentaires, ce qui est vraiment génial. C'est toujours techniquement un problème, mais permettez-moi de partager ce que j'ai appris l'année dernière, au cas où quelqu'un d'autre trébucherait sur cette page avec un problème similaire.

Nous avons trouvé deux solutions peu coûteuses au problème qui, je pense, fonctionneront dans les bonnes conditions.

  1. Utilisez une lumière stroboscopique à grande vitesse. Cela ne fonctionne que si le sujet n'émet pas de lumière (malheureusement pas le cas pour moi) et peut être placé dans une pièce très sombre. Saisissez une lumière stroboscopique très rapide et très précise, puis réglez-la pour qu'elle s'éteigne à la même fréquence que les caméras, disons 50 ips / 50 Hz. Réglez ensuite la vitesse d'obturation de tous les appareils photo au 1 / 50e de seconde, c'est-à-dire que l'obturateur est toujours ouvert. Placez le sujet dans une pièce très sombre et réglez l'ouverture de sorte que la vidéo apparaisse noire sans lumière. Illuminez ensuite avec la lumière stroboscopique. Les vidéos seront naturellement synchronisées, car la seule lumière qu'elles reçoivent provient du stroboscope, et cela se produit une fois par image. La difficulté est d'obtenir un stroboscope suffisamment précis. Mais j'entends dire qu'ils sont utilisés dans des opérations de fabrication lourdes pour inspecter les lames / roues / courroies, etc., qui ne peuvent pas être désactivées. Vous n'allumez l'outil qu'avec un stroboscope qui a un contrôle analogique, et vous augmentez lentement la vitesse du stroboscope, et lorsque vous atteignez la fréquence de l'outil, il semblera ralentir et finalement s'arrêter. Vous pouvez maintenant inspecter les problèmes. Ne le touchez pas;).
  2. Utilisez le signal vsync sur la vidéo composite des caméras. Ceci est inspiré par http://samj.snappages.com/ . Ce signal est envoyé régulièrement à chaque image, et avec certains appareils électroniques, vous pouvez mesurer la différence entre le signal sur deux (ou plus) caméras différentes. Vous pouvez ensuite redémarrer l'appareil photo (ou sur certains appareils photo, prendre une photo. Plus d'informations à ce sujet plus tard ...) et le mesurer à nouveau, etc. Si vous êtes intelligent avec le timing du cycle de puissance, vous pouvez les rapprocher de plus en plus près d'un seuil. Nous n'avons pas fini par essayer cela simplement parce que nous n'avons pas fini de construire le circuit, et nous avons pensé que ce serait trop compliqué à travailler, surtout avec plus de 2 caméras.

Comme je l'ai dit, nous n'avons fini par faire ni l'un ni l'autre. Nous avons fini par présenter une offre de financement pour un système peu coûteux, un système conçu à cet effet précis, d'une entreprise comme NorPix. Ceux-ci sont synchronisés sur Ethernet et sont configurés. Je n'ai jamais été en mesure de savoir exactement comment (protocole, etc.) ils utilisent Ethernet pour se synchroniser, donc si quelqu'un veut expliquer que je serais très intéressé. La dernière fois que j'ai été mis à jour, on m'a dit que nous avions trouvé de l'argent, mais bien sûr, si vous savez quelque chose sur la bureaucratie académique, vous ne serez pas surpris de découvrir que j'attends toujours l'équipement!

Si quelqu'un a une idée magique qui permet une véritable synchronisation à peu de frais, je suis toujours ouvert aux suggestions.

Pour terminer, je mentionnerai une stratégie qui n'a pas fonctionné, dans mes tests. Et c'est celui sur ce site: http://3dfilmfactory.com/index.php?option=com_content&view=article&id=93:gen-lock-canon-5d-mark-ii-cameras-and-shoot-3d

Certes, nous avons différents matériels, des Canon 60D, et nous avons eu des déclencheurs sans fil hors marque très bon marché. Cependant, je n'ai aucune raison de penser qu'ils ont causé une différence notable dans la configuration du lien. J'ai mis en place des tests à l'aide d'un appareil à LED, comme Bokan l'a suggéré dans sa réponse, et la différence moyenne de synchronisation n'a diminué que d'environ 1 ms après avoir utilisé le déclencheur sans fil par rapport aux tests de contrôle, et parfois cela a empiré. Je n'ai fait aucune analyse statistique, mais je soupçonne que ce ne serait pas significatif par rapport au hasard. Je pense qu'il est très probable que 3D Film Factory ne filme pas du matériel dans lequel ils remarqueraient le problème de synchronisation, ou leur matériel plus cher a donné un résultat légèrement plus fiable qui n'est toujours pas mesurablement différent. Mise à l'échelle de plus de 2 caméras, je '

Cependant, en utilisant le déclencheur à distance ne réinitialiser la vidéo. Si vous utilisez le bouton «enregistrer» sur les caméras (ou une télécommande), il commence simplement à enregistrer le métrage qui est déjà en cours de traitement. En d'autres termes, si vous mesurez la synchronisation dans plusieurs tests différents sans éteindre l'appareil photo, prendre une photo ou le laisser passer en mode d'économie d'énergie, la synchronisation sera la même. Vous pouvez incorporer ce mécanisme dans le numéro d'approche (2) ci-dessus: plutôt que de mettre les caméras sous tension, il pourrait prendre des photos jusqu'à ce que les signaux vsync soient en ligne. Ce serait un appareil cool, nous n'avons jamais réussi à le construire.

Merci encore pour toutes suggestions. J'espère qu'un jour quelqu'un trouvera cela utile, et les mois que j'ai perdus à essayer de le résoudre feront gagner du temps à quelqu'un!

Andrew Chinery
la source
Ce gars semble faire un hack HW avec vsync pour synchroniser une vidéo composite: letsmakerobots.com/node/29869
Kozuch
2

J'ai fait des prises de vue DSLR à 4 caméras avec du matériel Nikon (D7000 et D3S). Pour nos photos, nous avons simplement fait un clapstick après que toutes les caméras ont roulé ET juste avant de couper, nous avions donc deux points de synchronisation. Notre tir le plus long a duré environ 18 minutes et il n'y a pas eu de dérive notable dans la synchronisation du système de poste. Bien que Genlock soit la voie PRÉFÉRÉE, j'ai trouvé que beaucoup d'équipements numériques sont ~ assez proches ~ (diable, j'ai tourné une vidéo musicale avec lecture depuis un boombox CD et une caméra à vitesse constante (non contrôlée par cristal) moteur et c'était SPOT ON.

Pour quelque chose qui dure moins d'une minute, à quoi ressemble votre projet, je suis assez confiant que vous n'aurez pas à vous soucier de la synchronisation.

Obtenez simplement un bardeau, assurez-vous que toutes les caméras peuvent le voir clairement et FONCTIONNENT, puis claquez-le. Sans couper, repositionnez votre mise au point et votre distance focale là où vous en avez besoin pour la prise de vue. Capturez la photo, puis, encore une fois sans couper, effectuez un zoom arrière où les huit caméras peuvent voir le clapstick et applaudissez. ALORS vous pouvez couper vos caméras. Synchronisez les images où le clapstick frappe dans les 8 plans, e alto.

Bonne chance!

dwwilson66
la source
2
Le problème n'est pas la dérive, mais plutôt les différences de millisecondes entre les caméras qui se produisent au démarrage. par exemple, même en supposant que je photographie les deux caméras à 60 images par seconde, cela signifie qu'il y a ~ 16 ms entre les "prises de vue" dans la vidéo. Dans le pire des cas, deux caméras pourraient avoir une sortie de 8 ms et ce serait totalement impossible à corriger en post, il est uniquement possible de déplacer une image "à gauche ou à droite" sans interpoler / simuler un fps plus élevé, et une image est un mouvement de 16 ms, donc vous passez de 8 ms derrière à 8 ms devant. Pour beaucoup de sujets, ce n'est probablement pas un problème, mais malheureusement pas de flammes vacillantes! Merci quand même.
Andrew Chinery
1

Si votre recherche implique une analyse de mouvement, vous devriez envisager de prendre des photos à un FPS élevé. Vous obtiendrez une meilleure synchronisation par défaut car l'erreur de synchronisation ne peut pas dépasser l'intervalle de temps entre deux images.

La prise de vue à haute cadence d'images en haute résolution coûte cher, mais vous pouvez échanger la résolution pour des FPS sur des appareils photo bon marché (comme des appareils de sport). La résolution est souvent moins importante que nous ne le pensons. La vision par ordinateur a une précision inférieure au pixel, si vous déplacez un objet blanc sur un fond noir, le bord sera aliasé (gris). Si votre logiciel prend en compte ces nuances de gris, il peut théoriquement obtenir une précision d'une largeur de 1/256 pixel. Mais pour que cela fonctionne, vous devez disposer de données non compressées car la compression quantifie la couleur et modifie donc les informations.

Pour une solution de synchronisation bon marché, je peux penser à ceci:

  • relier électriquement tous les boutons de démarrage
  • construire un petit appareil à led avec plusieurs leds affichant l'heure précise en binaire (une led par bit), montrer cet appareil à chaque caméra puis synchroniser manuellement les prises de vue. Type de clap avancé.

La différence de synchronisation pourrait être gérée du côté logiciel. Si vous étudiez le mouvement, vous pouvez l'analyser en 2D pour chaque caméra, puis interpoler les résultats d'une caméra pour deviner quelle était la position au moment de la prise de vue par l'autre caméra. Demandez si cela n'est pas clair pour vous.

Cette compensation logicielle est définitivement la voie à suivre. Surtout si vous devez compenser également l'effet d'obturateur roulant que la plupart des appareils photo ont. Le haut du cadre est pris légèrement avant le bas du cadre.

bokan
la source
Un taux de rafraîchissement élevé est certainement préférable, la résolution n'est pas un gros problème du tout (bien que beaucoup de caméras à faible débit de haute résolution ont également tendance à avoir une qualité d'image terrible). Mais des chercheurs précédents (dont je travaille) m'ont dit que la synchronisation des câbles est nécessaire pour leur système. Pour émuler cela juste avec un taux de rafraîchissement élevé, j'aurais besoin de plus de 1000 FPS. Je pourrais peut-être m'en tirer avec moins, mais j'ai vraiment posé la question en raison du manque de compréhension des méthodes de synchronisation matérielle. Nous avons déjà un appareil LED comme vous le suggérez. Mais merci pour la réponse!
Andrew Chinery
N'oubliez pas que prendre une photo ne consiste qu'à capturer la lumière. Vous avez besoin d'autant de lumière que possible pour obtenir un temps d'obturation plus rapide et des images nettes.
bokan
C'est vrai, et c'est pourquoi les caméras basse résolution ont également tendance à être de très mauvaise qualité à des fréquences d'images élevées. Bien que filmer un incendie signifie que vous obtenez beaucoup de lumière! Nous avons étudié la compensation logicielle, et cela crée plus de maux de tête qu'elle n'en résout dans ce cas. Je recherche la `` vérité fondamentale '', celles-ci vont être utilisées pour des reconstructions et des artefacts de mouvement vont causer d'énormes problèmes, même en ignorant le fait que cela minerait la prétention d'être à partir de données réelles. De plus, les recherches effectuées sur les flammes en particulier ont montré qu'il est presque impossible d'interpoler les images.
Andrew Chinery,
-1

Je pense que la solution est plutôt simple, maintenez un grand chronomètre devant deux caméras pendant les premières secondes; pendant l'édition peut être facilement synchronisé. J'ai utilisé ces méthodes, fonctionnant très bien.

tapas roy
la source
1
Ce n'est pas une solution. La bonne solution consiste à acquérir des caméras prenant en charge GENLOCK. GENLOCK s'assure que les volets des deux caméras sont synchronisés. Il n'y a tout simplement pas d'autre mécanisme que celui qui puisse garantir une cohérence de synchronisation basée sur toute tentative de démarrer les caméras en même temps.
Michael Tiemann
@MichaelTiemann est correct. Comme je l'ai souligné ci-dessus, le problème n'était pas d'aligner la vidéo pendant le montage, en fait, une seule décharge flash est beaucoup plus simple (car nous tournions dans l'obscurité). Le problème était de synchroniser la capture réelle des images elles-mêmes. Comme je pense que j'ai également commenté la solution que nous avons finalement utilisée était d'acheter des caméras qui avaient une bonne synchronisation (je ne sais pas si c'était GENLOCK ou autre, elles provenaient d'une société de caméras scientifiques et fonctionnaient sur Ethernet). C'était aussi tout cela il y a 5 ans! Mais j'apprécie que cette question reçoive encore occasionnellement des commentaires ...
Andrew Chinery