[PD] pix_multiblob and tracking multiple objects

John Harrison john.harrison at alum.mit.edu
Thu Apr 18 16:40:59 CEST 2013

OK I guess I misunderstood that the original poster was wanting to do all
of that. I know the latest CCV supports multiple cameras for some sort of
"big picture" so it may actually do what you are asking but I don't know
the details so if you say it doesn't support all of that I'll go with your
claim. I'm sure the OpenCV solutions are great and perhaps in the future
I'll need to learn more about them as my own needs warrant.

I haven't had a problem with the drivers on my "cheap" ps3eye V4L2 webcam
FWIW. I've also done tracking at 120-125fps 320x240 with 3 said webcams and
"buggy" drivers, all running simultaneously on one machine. No problems.


On Thu, Apr 18, 2013 at 9:23 AM, Antoine Villeret <
antoine.villeret at gmail.com> wrote:

> how is it possible to use several cameras, correct perspective on each,
> make a big picture with blending and then tracking on that big picture with
> CCV ?
> this have been done with Pd and pix_opencv and works great (at least if
> you're not using a cheap V4L2 cam with buggy drivers)
> --
> do it yourself
> http://antoine.villeret.free.fr
> 2013/4/18 John Harrison <john.harrison at alum.mit.edu>
>> FWIW I had just the opposite experience with CCV. CCV has built-in
>> background adaptive subtraction, smoothing, highpass filter, gain,
>> contrast, etc. all tweakable. It also tracks blobs uniquely as the original
>> poster is wanting, which is why I thought of it for their needs. I used
>> [pix_blobtracker] before and it works OK but I found CCV to be overall a
>> more robust solution than anything I could efficiently come up with.
>> I use CCV at 60fps 640x480 w/ a ps3eye on ubuntu 10.04 64 bit and the CPU
>> load is not significant and reduced from my original Pd-only solution. My
>> CCV/Pd patch has been on exhibit 24/7 for 5 months now without issue so it
>> also seems stable. I use CCV version 1.4. I also used CCV on another
>> exhibit with a Win7 64 bit system and that ran for months as well without
>> issue. That might have been version 1.5 but I don't remember for sure. I
>> also know there's a newer version of CCV supporting multiple cameras now,
>> and I have not had experience with this.
>> Maybe I'm not understanding the flexibility you are looking for that CCV
>> is not offering you. All I can imagine is that you can't find a way to
>> change the order of the filtering. I'm not sure that's something you'll
>> find you actually need though to improve the result of the blob tracking.
>> Just my $.02.
>> -John
>> On Thu, Apr 18, 2013 at 8:42 AM, Antoine Villeret <
>> antoine.villeret at gmail.com> wrote:
>>> i tried CCV one time but i had some driver and performance issues
>>> moreover, i can't find an easy way to tune the processing chain
>>> pd is more flexible but, i agree, could be harder
>>> --
>>> do it yourself
>>> http://antoine.villeret.free.fr
>>> 2013/4/18 John Harrison <john.harrison at alum.mit.edu>
>>>> I'm not totally clear on the big picture here but it could be you might
>>>> save yourself a lot of time and effort doing your blob tracking with
>>>> Community Core Vision (CCV) then sending the blob data to Pd through OSC.
>>>> After initially doing my blob tracking in Pd only (which did work), I
>>>> switched to this CCV --> Pd approach and got better results because of all
>>>> of the built-in filtering etc. that is provided with that open-source
>>>> cross-platform software.
>>>> -John
>>>> On Thu, Apr 18, 2013 at 5:22 AM, Ska Frenz <skafrenz at gmail.com> wrote:
>>>>> Hi, thank you for the suggestions, I'll check openCv. Can you explain
>>>>> how to use "morphological filters" to clear up the noise in the image? Are
>>>>> there examples around? Also, could you please explain me better what do you
>>>>> mean with "adaptive background subtraction method"?
>>>>> Thank you for your time :)
>>>>> francesco
>>>>> 2013/4/17 Antoine Villeret <antoine.villeret at gmail.com>
>>>>>> hi,
>>>>>> the segmentation method (how you extract what is your interest from
>>>>>> the rest of the image) is very critical in video tracking
>>>>>> background subtraction is a basic way to extract blob and it works
>>>>>> only in certain conditions of light (if you want to track something
>>>>>> outdoor, you should use an adaptive background subtraction method)
>>>>>> moreover, there is no general method to do video tracking, it depends
>>>>>> on what you want to track and how it is filmed
>>>>>> so, the first thing is to have a good image, with not too much
>>>>>> lighting changes, good contrast between background and features to track
>>>>>> then you can start thinking about segmentation, and the
>>>>>> segmentation accuracy depends on the quality of the video
>>>>>> you may need to do something more than just background subtraction,
>>>>>> for example, you could apply some morphological filter to remove noise
>>>>>> after that, you can start tracking
>>>>>> you could also apply a threshold on the blob size to not track very
>>>>>> small blob
>>>>>> blob of interest are often surrounded by very small blobs due to
>>>>>> segmentation noise
>>>>>> but you can have a look at pix_opencv objects,
>>>>>> there is [pix_opencv_blobtrack] which implements a whole processing
>>>>>> chain, including foreground extractor, blob detector, blob tracker and
>>>>>> follower
>>>>>> I'm not sure it's included in pd-extended, but you can find some
>>>>>> binaries on build server
>>>>>> hope this help
>>>>>> antoine
>>>>>> --
>>>>>> do it yourself
>>>>>> http://antoine.villeret.free.fr
>>>>>> 2013/4/17 Ska Frenz <skafrenz at gmail.com>
>>>>>>>  Hi everyone, this is my first time on the pd-list so I hope I
>>>>>>> won't do anything wrong.
>>>>>>> I'm writing here to get some help about pd tracking objects
>>>>>>> (pix_blob..). I'm using the background subtraction method, to track objects
>>>>>>> and I need help to understand how I can track multiple objects with
>>>>>>> multiples different blobs. I'm trying the pix_multiblob and yes, it show 2
>>>>>>> blobs..but they track the same object. Then basically I do not understand
>>>>>>> how can I make the first blob to follow just one object for all the time
>>>>>>> that specific object is inside the webcam rectangle, and the second blob to
>>>>>>> track another separate object. I cannot find any material that clearly
>>>>>>> talks about this.I attached the patch I'm working on. I'd love to see some
>>>>>>> well-explained examples if you know where to get them.
>>>>>>> Thank you very much for your help :)
>>>>>>> Francesco
>>>>>>> _______________________________________________
>>>>>>> Pd-list at iem.at mailing list
>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>> _______________________________________________
>>>>> Pd-list at iem.at mailing list
>>>>> UNSUBSCRIBE and account-management ->
>>>>> http://lists.puredata.info/listinfo/pd-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130418/cd510ca7/attachment-0001.htm>

More information about the Pd-list mailing list