Re: [PD] tracking multiblob with constant ID
i think this goes beyond the constant id aspect of it or are you arguing that nearest neighbor is not the only/wrong approach to the problem? I mean that the nearest neighbour of centroïds is not the only approach to getting constant ids. There are many possible ways of getting constant ids. I just haven't tried any yet. I completely agree with this, yet I think that there is some confusion. one thing is the result of the tracking which can give you centroids and anything else. Another is getting those tracking ids and have them be continuous. What I am getting is that you are obtaining regions of pixels based on some criterion, for each frame Yes, this is what I already do when I'm doing a multiblob detect without constant ids. Exactly and then comparing how they overlap with the previous frame? That's what I propose but haven't tried. And this is a separate process that does not necessarily follow from using centroids or anything else. are you assigning constant id to the objects with maximum overlap? I haven't done it, but this sounds like what I would do. There might be more creative things to do with those labelled pixels, but I think that the maximum-overlap thing would be something to be tried. Actually, one can already build an overlap matrix quickly, using [#join] and [#draw_polygon + 1, draw point] (the polygon thing is a misnomer in point-mode.) well, the problem with maximum overlap is that an object might have moved faster than one would expect and it can show minimum overlap or no overlap and still be a desired match. This case would make the sampling problem worse. While we might want things that have no overlap to still be matched, this would create new ids constantly... J -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On Mon, 21 Feb 2011, Jaime Oliver wrote: That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). I mean this : http://gridflow.ca/gallery/%23labelling_false_colors.png Note that, as the flood-fills are just indices in the list of regions, I had to colour them with random colours, pretending that this is an indexed-colour image. I still don't think the problem is well explained. for example, what are 1 regions? They are whatever regions have been selected. The 0 regions are the regions that aren't selected. You do this selection process using effects that turn your image into 0 and 1 colours, such as thresholding. That would usually be [# =] or other comparator, possibly after other filters. In the new version of http://gridflow.ca/help/%23labelling-help.html I am thresholding the result of red minus green minus blue, for example. Different situations have different criteria. i think this goes beyond the constant id aspect of it or are you arguing that nearest neighbor is not the only/wrong approach to the problem? I mean that the nearest neighbour of centroïds is not the only approach to getting constant ids. There are many possible ways of getting constant ids. I just haven't tried any yet. What I am getting is that you are obtaining regions of pixels based on some criterion, for each frame Yes, this is what I already do when I'm doing a multiblob detect without constant ids. and then comparing how they overlap with the previous frame? That's what I propose but haven't tried. To do this each of these groups need to be labelled? The first outlet outputs an indexed-colour picture in which each pixel is labelled with its region-number. are you assigning constant id to the objects with maximum overlap? I haven't done it, but this sounds like what I would do. There might be more creative things to do with those labelled pixels, but I think that the maximum-overlap thing would be something to be tried. Actually, one can already build an overlap matrix quickly, using [#join] and [#draw_polygon + 1, draw point] (the polygon thing is a misnomer in point-mode.) Finding the maxima in there is another business though. ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On Sun, 20 Feb 2011, Jaime Oliver wrote: Well, the object is independent of centroid or min/max or overlap. isn' it? that just depends on the particular aim of each user. matching nearest neighbors remains a useful object to have... Yes, it's useful. Now I'm talking about something else that might be useful and that you don't get in GEM. That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). I am not entirely sure what you mean by this... I mean this : http://gridflow.ca/gallery/%23labelling_false_colors.png Note that, as the flood-fills are just indices in the list of regions, I had to colour them with random colours, pretending that this is an indexed-colour image. ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
I mean this : http://gridflow.ca/gallery/%23labelling_false_colors.png this link seems to be down. J On Mon, Feb 21, 2011 at 6:32 AM, Mathieu Bouchard ma...@artengine.ca wrote: On Sun, 20 Feb 2011, Jaime Oliver wrote: Well, the object is independent of centroid or min/max or overlap. isn' it? that just depends on the particular aim of each user. matching nearest neighbors remains a useful object to have... Yes, it's useful. Now I'm talking about something else that might be useful and that you don't get in GEM. That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). I am not entirely sure what you mean by this... Note that, as the flood-fills are just indices in the list of regions, I had to colour them with random colours, pretending that this is an indexed-colour image. ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On Mon, Feb 21, 2011 at 18:25, Jaime Oliver jaime.oliv...@gmail.com wrote: I mean this : http://gridflow.ca/gallery/%23labelling_false_colors.png this link seems to be down. http://gridflow.ca/gallery/%23labelling_false_colours.png this works :) -- buZz ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On Mon, 21 Feb 2011, Jaime Oliver wrote: I mean this : http://gridflow.ca/gallery/%23labelling_false_colors.png this link seems to be down. sorry, typo : http://gridflow.ca/gallery/%23labelling_false_colours.png On Mon, Feb 21, 2011 at 6:32 AM, Mathieu Bouchard ma...@artengine.ca wrote: On Sun, 20 Feb 2011, Jaime Oliver wrote: Well, the object is independent of centroid or min/max or overlap. isn' it? that just depends on the particular aim of each user. matching nearest neighbors remains a useful object to have... Yes, it's useful. Now I'm talking about something else that might be useful and that you don't get in GEM. That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). I am not entirely sure what you mean by this... Note that, as the flood-fills are just indices in the list of regions, I had to colour them with random colours, pretending that this is an indexed-colour image. ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
Indeed the link works fine. Yes, it's useful. Now I'm talking about something else that might be useful and that you don't get in GEM. Ok. That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). I mean this : http://gridflow.ca/gallery/%23labelling_false_colors.png Note that, as the flood-fills are just indices in the list of regions, I had to colour them with random colours, pretending that this is an indexed-colour image. I still don't think the problem is well explained. for example, what are 1 regions? i think this goes beyond the constant id aspect of it or are you arguing that nearest neighbor is not the only/wrong approach to the problem? What I am getting is that you are obtaining regions of pixels based on some criterion, for each frame and then comparing how they overlap with the previous frame? To do this each of these groups need to be labelled? are you assigning constant id to the objects with maximum overlap? best, J ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
hi On Fri, Feb 18, 2011 at 11:17 AM, Dario Pedrioli dariopedri...@gmail.comwrote: if I type make the result is: No rule to create target .pd_linux etc... how about: make tracks.pd_linux best, J So I tried make tracks and the result is: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' /tmp/cchy6LXp.o: In function `tracks_weights': tracks.c:(.text+0x141): undefined reference to `post' tracks.c:(.text+0x162): undefined reference to `post' [...] collect2: ld returned 1 exit status make: *** [tracks] Errore 1 I'm not an expert in compiling, so if someone has some hints... thanks in advance. Ciao, Dario ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
Well, the object is independent of centroid or min/max or overlap. isn' it? that just depends on the particular aim of each user. matching nearest neighbors remains a useful object to have... That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). I am not entirely sure what you mean by this... best, J However, I don't know any easy way to compare two images for overlap (in number of pixels), and I have not tried this yet (nor any other form of tracking of the found regions). ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On Fri, 18 Feb 2011, Jaime Oliver wrote: We're working to get a more definite solution. This is a kind of object that i think wold be of general use for pd users. So, I imagine other people have done similar objects??? Matching nearest neighbours in general is a nice idea, but if you wanted something based on actual overlap of the detected areas, you can't do that with min/max data or centroïd data. That's why [#labelling] also outputs a version of the incoming grid in which the 1 regions have all been flood-filled with distinct integers (numbered from 2 upwards ; it can go well beyond 255 if needed). However, I don't know any easy way to compare two images for overlap (in number of pixels), and I have not tried this yet (nor any other form of tracking of the found regions). ___ | Mathieu Bouchard tél: +1.514.383.3801 Villeray, Montréal, QC___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
[PD] tracking multiblob with constant ID
Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack signature.asc Description: This is a digitally signed message part ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
Hey Jack, I use versions of this object [tracks] for my stuff: http://www.jaimeoliver.pe/archives/741 I know William is working on a new object for this same purpose and in doing so he caught a bug in mine and several opportunities for optimization. The object should be working however. Let me know if it does for you. Otherwise I'll give you my more primitive version called [best_match] We're working to get a more definite solution. This is a kind of object that i think wold be of general use for pd users. So, I imagine other people have done similar objects??? In any case, use it, but hopefully, we'll have something more stable in the near future. best, J On Fri, Feb 18, 2011 at 8:07 AM, Jack j...@rybn.org wrote: Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list signature.asc Description: This is a digitally signed message part ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list PGP.sig Description: Signierter Teil der Nachricht ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On Fri, Feb 18, 2011 at 9:42 AM, Max abonneme...@revolwear.com wrote: http://cvlab.epfl.ch/research/body/surv It looks good, but I can't find if there is a specific pd object to create continuity independent from the tracking part. This is what I think is useful. do you know if it does? J / http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
Thanx Max but i never make an external for Pd from c++. The example with ping-pong balls is what i am looking for. Jaime, your external seems to be what i need, but i am a newbie in compiling stuff. When i enter : $ make i get : make: *** No rule to make target `.pd_linux', needed by `pd_linux'. Stop. How do i fix this error ? Thanx. ++ Jack Le vendredi 18 février 2011 à 15:42 +0100, Max a écrit : http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list signature.asc Description: This is a digitally signed message part ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
have you tried: make tracks.pd_linux ? J On Fri, Feb 18, 2011 at 9:58 AM, Jack j...@rybn.org wrote: Thanx Max but i never make an external for Pd from c++. The example with ping-pong balls is what i am looking for. Jaime, your external seems to be what i need, but i am a newbie in compiling stuff. When i enter : $ make i get : make: *** No rule to make target `.pd_linux', needed by `pd_linux'. Stop. How do i fix this error ? Thanx. ++ Jack Le vendredi 18 février 2011 à 15:42 +0100, Max a écrit : http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
wait, are you in linux? J On Fri, Feb 18, 2011 at 10:04 AM, Jaime Oliver jaime.oliv...@gmail.comwrote: have you tried: make tracks.pd_linux ? J On Fri, Feb 18, 2011 at 9:58 AM, Jack j...@rybn.org wrote: Thanx Max but i never make an external for Pd from c++. The example with ping-pong balls is what i am looking for. Jaime, your external seems to be what i need, but i am a newbie in compiling stuff. When i enter : $ make i get : make: *** No rule to make target `.pd_linux', needed by `pd_linux'. Stop. How do i fix this error ? Thanx. ++ Jack Le vendredi 18 février 2011 à 15:42 +0100, Max a écrit : http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
On 02/18/2011 02:07 PM, Jack wrote: Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. there is an abstraction that comes with Gem called [pix_blobtracker] that try to label the blobs (based on a least error algorithm) it uses iemmatrix, but apart from that, no extra externals are involved. gfmadr IOhannes signature.asc Description: OpenPGP digital signature ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
Yes, i use linux. Thanx it is working now. (it was a mistake from me : i tried with track.pd_linux, omiting the s !) I try now. ++ Jack Le vendredi 18 février 2011 à 10:04 -0500, Jaime Oliver a écrit : have you tried: make tracks.pd_linux ? J On Fri, Feb 18, 2011 at 9:58 AM, Jack j...@rybn.org wrote: Thanx Max but i never make an external for Pd from c++. The example with ping-pong balls is what i am looking for. Jaime, your external seems to be what i need, but i am a newbie in compiling stuff. When i enter : $ make i get : make: *** No rule to make target `.pd_linux', needed by `pd_linux'. Stop. How do i fix this error ? Thanx. ++ Jack Le vendredi 18 février 2011 à 15:42 +0100, Max a écrit : http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) signature.asc Description: This is a digitally signed message part ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
Ah, good to know. I will give it a try. Thanx. ++ Jack Le vendredi 18 février 2011 à 16:11 +0100, IOhannes zmölnig a écrit : On 02/18/2011 02:07 PM, Jack wrote: Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. there is an abstraction that comes with Gem called [pix_blobtracker] that try to label the blobs (based on a least error algorithm) it uses iemmatrix, but apart from that, no extra externals are involved. gfmadr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list signature.asc Description: This is a digitally signed message part ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
I remember looking into pix_blobtracker but I don't remember why I didn't use it. In any case, I wrote a Pd abstraction last weekend which I called nearest-neighbor which I think might do the same thing: it looks for the shortest euclidean distances between blobs of the current frame with blobs of the last frame and reorders the blobs in the matrix accordingly. I made a test patch for tracking 8 blobs --- if pix_multiblob sees less than 8, the abstraction just copies the missing rows from the last frame --- a real kludge I know. Definitely better ways to do this...and...this code is UGLY...but it is getting the job done for my application at least... Attached is the abstraction with test patch (multiblob-test). HTH, -John 2011/2/18 Jack j...@rybn.org Ah, good to know. I will give it a try. Thanx. ++ Jack Le vendredi 18 février 2011 à 16:11 +0100, IOhannes zmölnig a écrit : On 02/18/2011 02:07 PM, Jack wrote: Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. there is an abstraction that comes with Gem called [pix_blobtracker] that try to label the blobs (based on a least error algorithm) it uses iemmatrix, but apart from that, no extra externals are involved. gfmadr IOhannes ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list #N canvas 716 37 839 1031 10; #X declare -lib iemmatrix; #X text 452 8 GEM object; #X obj 9 265 cnv 15 430 145 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 40 267 Inlets:; #X text 39 352 Outlets:; #X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577 0; #X text 18 226 Arguments:; #X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 453 20 Example:; #X obj 450 392 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 22 450 300 gemwin 0; #X obj 132 136 gemwin; #X obj 67 89 outlet; #X obj 67 10 inlet; #X msg 67 70 set destroy; #X msg 198 112 destroy; #X msg 156 71 set create; #X obj 67 41 route create; #X msg 132 112 reset \, create \, 1; #X connect 2 0 6 0; #X connect 3 0 1 0; #X connect 4 0 0 0; #X connect 5 0 1 0; #X connect 6 0 3 0; #X connect 6 0 7 0; #X connect 6 1 5 0; #X connect 6 1 4 0; #X connect 7 0 0 0; #X restore 455 431 pd gemwin; #X msg 455 412 destroy; #X text 451 391 Create window:; #X obj 451 133 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577 0; #X obj 451 43 gemhead; #X text 17 366 Outlet 1: gemlist; #X text 24 281 Inlet 1: gemlist; #X obj 449 355 pix_texture; #X obj 451 111 pix_film; #X obj 515 111 t f; #X obj 464 63 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #N canvas 0 22 450 300 open 0; #X obj 85 49 inlet; #X obj 85 237 outlet; #X obj 85 145 openpanel; #X msg 85 179 open \$1; #X msg 259 213 auto 1; #X obj 259 189 loadbang; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X restore 464 91 pd open; #X text 505 37 open a supported; #X text 506 48 movie-clip; #X text 523 74 macOS: quicktime; #X text 516 64 windos: *.AVI; #X text 523 84 linux: depends...; #X floatatom 463 150 3 0 100 2 threshold - -; #X obj 463 167 / 100; #X text 71 31 Class: pix object (analysis); #X obj 450 377 square 4; #X msg 463 188 treshold \$1; #X floatatom 553 150 3 0 100 2 blobsize - -; #X obj 553 167 / 100; #X msg 553 188 blobSize \$1; #X text 24 296 Inlet 1: treshold float: minimum luminance of a pixel to be considered part of a blob. (default=0.04); #X text 24 325 Inlet 1: blobSize float: minimum relative size of a blob. (default=0.1); #X text 50 12 Synopsis: [pix_multiblob]; #X text 30 58 Description: blob detector (for multiple blobs); #X text 16 73 [pix_multiblob] is able to detect multiple blobs within an image.; #X text 17 103 a blob is a number of adjacent(!) pixels with a luminance that is bigger than the value defined by treshold. you can set the minimum size of a blob that is needed to be detected.; #X text 17 156 the output is a matrix following the conventions of the mtx-objects from zexy/iemmatrix. each row describes one detected blob as follows: centerX(weighted) \, centerY(weighted) \, size(weighted) \, minX \, minY \, maxX \, maxY \, size; #X text 64 237 int: max number N of blobs to detect; #X text 17 381 Outlet 2: (k \, 8) matrix: describing k detected blobs (with 0=kN); #X text 20 428 for motion-tracking you will also need; #X obj 304 425 pix_movement; #X msg 543 112 auto \$1; #X obj 604 114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X
Re: [PD] tracking multiblob with constant ID
Hi Jaime and all, very interesting... I've downloaded the sources tried to compile but have problems on linux (Ubuntu 10.10 64bit): if I type make the result is: No rule to create target .pd_linux etc... So I tried make tracks and the result is: /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' /tmp/cchy6LXp.o: In function `tracks_weights': tracks.c:(.text+0x141): undefined reference to `post' tracks.c:(.text+0x162): undefined reference to `post' [...] collect2: ld returned 1 exit status make: *** [tracks] Errore 1 I'm not an expert in compiling, so if someone has some hints... thanks in advance. Ciao, Dario ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tracking multiblob with constant ID
So i tried and it seems to work fine with [pix_multiblob] ! :) No problems to report at this time. ++ Jack Le vendredi 18 février 2011 à 16:25 +0100, Jack a écrit : Yes, i use linux. Thanx it is working now. (it was a mistake from me : i tried with track.pd_linux, omiting the s !) I try now. ++ Jack Le vendredi 18 février 2011 à 10:04 -0500, Jaime Oliver a écrit : have you tried: make tracks.pd_linux ? J On Fri, Feb 18, 2011 at 9:58 AM, Jack j...@rybn.org wrote: Thanx Max but i never make an external for Pd from c++. The example with ping-pong balls is what i am looking for. Jaime, your external seems to be what i need, but i am a newbie in compiling stuff. When i enter : $ make i get : make: *** No rule to make target `.pd_linux', needed by `pd_linux'. Stop. How do i fix this error ? Thanx. ++ Jack Le vendredi 18 février 2011 à 15:42 +0100, Max a écrit : http://cvlab.epfl.ch/research/body/surv/ GPL Licensed. Am 18.02.2011 um 15:23 schrieb Jack: I have also tested with gridflow (based on multiblob.pd) and there is the same problem (no possibility to follow a same blob). ++ Jack Le vendredi 18 février 2011 à 14:07 +0100, Jack a écrit : Do you know if there is an external to track multiblob with a constant ID (the ID doesn't change in the time when two or more blobs move). For example, with [pix_multiblob], the ID of the blob is given by its position relative to the lower left corner (or i'm wrong), so it is not good for my application. Thanx. ++ Jack ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list -- Jaime E Oliver LR www.jaimeoliver.pe 858 750 0924 (cel) 858 202 1522 (home) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list signature.asc Description: This is a digitally signed message part ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list