J'ai un projet "fumeux" =C3=A0 base de cam=C3=A9ra CCD ou CMOS. Une photo, puis une autre photo puis... puis .... en flux continu. Je voudrais faire une corr=C3=A9lation num=C3=A9rique entre deux images p= our=20 trouver et situer une diff=C3=A9rence. La cadence d'images est imagin=C3=A9= vers=20
25 i/s =C3=A0 une/seconde pour situer le temps de calcul autoris=C3=A9.
Dans la mesure o=C3=B9 le projet commence =C3=A0 partir du capteur d'imag= e, j'ai=20 une certaine libert=C3=A9 de choix pour la conception. Je veux pouvoir modifier les param=C3=A8tres de r=C3=A9glage du capteur e= n=20 automatique et =C3=A0 distance en fonction des r=C3=A9sultats. Ma question : faut-il plut=C3=B4t partir vers un DSP ou vers du FPGA.
Merci et re-bonsoir,
Jules
Didn't find your answer? Ask the community — no account required.
J
Jean-Christophe
On Apr 16, 7:46 pm, jules
Av=E9 C=E9sar !
( =E9lektronii te salutant ... )
Si tu recherches ce qui a chang=E9 entre deux images successives, alors tu vas calculer une diff=E9rence ( soustraction d'une image avec la pr=E9c=E9dente ) et non pas une corr=E9lation ( qui est une int=E9grale de deux fonctions )
A vitesse =E9gale de calcul, la soustraction est rapide, la corr=E9lation l'est beaucoup moins.
J
Jean-Christophe
On Apr 16, 7:46=A0pm, jules
formatting link
:o)
J
jules
Disons que dans l'image tout va changer (un peu) et que seulement un peu =
de l'image va changer (beaucoup). Je crois savoir qu'il faut corr=E9ler des petites zones de l'image, je=20 peux imaginer de le faire en parall=E8le =E0 condition de pouvoir varier = les=20 zones. Typiquement apr=E8s avoir trouv=E9 une diff=E9rence, il faut =EAtre capab= le de=20 la suivre.
J
Jean-Christophe
On Apr 16, 8:08 pm, jules
Ok. Si tu te contentes de faire la diff=E9rence par simple soustraction, alors les zones qui changent un peu auront un delta plus faible que celles qui changent beaucoup : donc si tu appliques ensuite =E0 cette diff=E9rence un seuil de d=E9tection, cela te permettrait de trier (et donc d'isoler) les zones qui changent beaucoup.
Pour =EAtre s=FBr de bien te comprendre, je r=E9it=E8re ma question : Par "corr=E9ler", parles-tu bien de l'op=E9ration math=E9matique qui correspond =E0 l'int=E9grale du produit de deux fonctions ?
Si oui, un uP peut s'en tirer (avec un calcul en flottant, ou un calcul purement binaire sur des entiers customis=E9s) mais un DSP serait sans doute plus simple question rapidit=E9.
En principe la corr=E9lation proc=E8de par comparaison glissante entre un signal source ( ta cam=E9ra vid=E9o ) et un signal de r=E9f=E9rence ( un motif pr=E9d=E9termin=E9 ) Or, si j'ai bien compris ta probl=E9matique, dans ton cas il n'existe pas de signal de r=E9f=E9rence pr=E9d=E9termin=E9, et =E0 priori n'importe quoi peut changer dans l'image. Et ton syst=E8me doit =EAtre capable : (1) D'isoler le delta, puis (2) D'effectuer un suivi de la zone en question. Est-ce bien cela ?
Une fois que tu auras fait le choix d'un algo, s'il est correctement impl=E9ment=E9 alors il sera totalement param=E9trable, donc la r=E9solution de ce genre de contrainte sera possible.
Question rapidit=E9, si on compare la vid=E9o avec l'audio, l'audio c'est du 1D mais une image c'est du 2D donc le nombre d'=E9chantillons =E0 traiter augmente quadratiquement.
Ah, y'a du tracking =E0 faire ... ?
Recherche des trucs comme "EyesWeb", j'ai boss=E9 l=E0-dessus =E0 l'IRCAM, leur soft est open-source et tu peux exp=E9rimenter avec, puis t'inspirer de leurs algos pour ton appli :
formatting link
Ca a l'air plut=F4t int=E9r=E9ssant comme projet. Tu peux en dire plus, ou c'est confidentel ?
J
Jean-Christophe
On Apr 16, 8:08=A0pm, jules
Pour moi, un calcul de corr=E9lation s'impl=E9mente par la fonction d'intercorr=E9lation suivante : (la toute premi=E8re =E9quation en haut de page)
formatting link
Ceci vaut pour deux signaux complexes S(t) et R(t) avec dt l'=E9l=E9ment correspondant au temps, et bien s=FBr, en pratique les bornes de l'int=E9grale seront finies.
Pour une image, il faut int=E9grer suivant deux dimensions, donc une int=E9grale double avec par exemple dx et dy, et par suite le temps de calcul augmente comme le produit XY.
Ci-dessous un exemple d'utilisation pratique de l'intercorr=E9lation sur des images 2D
formatting link
Si tu recherches sur des sites universitaires tu trouveras de la doc tr=E9s s=E9rieuse sur la th=E9orie et la mise en oeuvre pour les applications pratiques. Un exemple au hasard :
formatting link
Tiens-nous au courant du d=E9veloppement de ton proto !
J
jules
Je confirme que je crois avoir compris que la m=E9thode la plus simple=20 pour "traitre" une image (quelconque) en comparaison d'une autre image=20 (quelconque++) c'est de les corr=E9ler.
C'est une pratique courante dans les radars, mais ma question va vers la =
rapidit=E9 de traitement.
Disons que le changement sera faible sur l'ensemble de l'image et fort=20 dans une zone "=E0 trouver"
Merci :), j'ai visit=E9, c'est int=E9ressant mais les fonds paraissent tr= =E8s=20 uniformes
C'est plus que confidentiel sur la finalit=E9 tr=E8s innovante qui a =E9t= =E9=20 d=E9pos=E9e, je visite juste les moyens =E0 mettre en =9Cuvre.
J
Jean-Christophe
On Apr 17, 2:36 pm, jules
La corr=E9lation sert =E0 localiser un motif CONNU : connais-tu =E0 l'avance le motif =E0 rechercher, ou veux-tu juste d=E9tecter des mouvements ?
Oui, tout =E0 fait. Dans ce cas la corr=E9lation op=E8re entre l'=E9cho et le signal =E9mis, qui bien s=FBr est d=E9ja connu.
Alors je crois qu'il te faut un DSP. A choisir en fonction du nombre de pixels de l'image et de la vitesse de traitement que tu veux atteindre.
|
formatting link
Regarde aussi les liens donn=E9s dans l'autre post.
Le fond peut =EAtre absolument quelconque, ca marche aussi bien, puisqu'ils proc=E8dent par simple soustraction entre deux images successives, la r=E9sultante est une image noire partout sauf aux endroits o=F9 il y a eu mouvement entre les deux images.
| Tu peux en dire plus, ou c'est confidentel ?
Dommage. Cela me fait penser =E0 la reconnaissance et au suivi d'un visage (d=E9ja connu) dans une foule.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.