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
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@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@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@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@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@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@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@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
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@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@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@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@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@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
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@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@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@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@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@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@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
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@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@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@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@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@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@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@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
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.
John
On Thu, Apr 18, 2013 at 9:23 AM, Antoine Villeret < antoine.villeret@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@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@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@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@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@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@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@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
concerning the multiple cameras and so on, this was just my need and why i'm not using CCV but be sure that i have nothing against CCV, it could be very useful in lots of context :-)
regarding driver, as i remember, i had issue with IIDC cameras but this was few years ago
and by "cheap" i refer to some video digitizer with several inputs that make pd crashing on ubuntu but i think this is a V4L2 bug, not a pd's one
cheers
a
-- do it yourself http://antoine.villeret.free.fr
2013/4/18 John Harrison john.harrison@alum.mit.edu
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.
John
On Thu, Apr 18, 2013 at 9:23 AM, Antoine Villeret < antoine.villeret@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@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@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@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@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@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@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@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
morphological filters affect the shape they mostly work on binary images the most common are erode, dilate, close and open algorithm with which you can make a "pepper or salt removing filter" to remove black or white isolated pixels
concerning background subtraction, if you use a fixed background (you make a snapshot at startup and subtract it to the video stream) you will have defects due to light change, some background part could be interpreted as a foreground feature adaptive background technique use a dynamic image reference, which could be made with a low-pass filter, this image is then subtracted to the video stream this makes a high-pass filter
-- do it yourself http://antoine.villeret.free.fr
2013/4/18 Ska Frenz skafrenz@gmail.com
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@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@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 04/17/2013 09:59 PM, Ska Frenz wrote:
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 :)
checkout [pix_blobtracker] for a rudimentary labelling algorithm using [pix_multiblob].
gfmasdr IOhannes