| View previous topic :: View next topic |
| Author |
Message |
techG Guest
|
Posted: Tue Jul 22, 2008 8:28 pm Post subject: real-time image segmentation |
|
|
Hi, i need to write an algorithm for image segmentation in real-time:
up to now, I have used cvPyrSegmentation with good result (10 ms for a
small image, that>s what I need), but now I have to write an algorithm
from scratch. I>ve tried to port cvPyrSegmentation but code is very
cryptic, and it seems not to exist any good reference paper. Can you
suggest me an algorithm that can suit my requests?
Thanks in advance
Giulio |
|
| |
|
Back to top |
J Guest
|
Posted: Wed Jul 23, 2008 7:55 am Post subject: Re: real-time image segmentation |
|
|
Hi Giulio
Efficient clustering and connected components algorithms often end up
looking extremely cryptic. Connected components algorithms tend to
look like run-length encoders with line equivalence tables, or
optimised clustering algorithms. I have had some success and fast
execution times developing an algorithm based on this paper, which is
somewhere in between.
"Optimising connected components labelling algorithms"
http://crd.lbl.gov/~kewu/ps/LBNL-56864.pdf
Regards
Jason |
|
| |
|
Back to top |
techG Guest
|
Posted: Wed Jul 23, 2008 9:59 am Post subject: Re: real-time image segmentation |
|
|
On Jul 23, 9:55 am, J <ja...@visionexperts.co.uk> wrote:
[quote]Hi Giulio
Efficient clustering and connected components algorithms often end up
looking extremely cryptic. Connected components algorithms tend to
look like run-length encoders with line equivalence tables, or
optimised clustering algorithms. I have had some success and fast
execution times developing an algorithm based on this paper, which is
somewhere in between.
"Optimising connected components labelling algorithms"
http://crd.lbl.gov/~kewu/ps/LBNL-56864.pdf
Regards
Jason
[/quote]
I had a look at the paper you linked, but, if I>ve understand well,
the algorithms are developed for binary images, while I need to do
segmentation on 8-bit gray-level images directly (without
thresholding), to identify homogeneous zones
--> something like this: http://spie.org/Images/Graphics/Newsroom/Imported/0016/16_fig1.jpg
PS: For binary image connected-components labelling, I implemented an
algorithm based on this paper: "A linear-time component-labeling
algorithm using contour tracing technique", i think that>s very good! |
|
| |
|
Back to top |
illywhacker Guest
|
Posted: Wed Jul 23, 2008 3:23 pm Post subject: Re: real-time image segmentation |
|
|
On Jul 23, 11:59 am, techG <giuliopul...@gmail.com> wrote:
[quote]On Jul 23, 9:55 am, J <ja...@visionexperts.co.uk> wrote:
Hi Giulio
Efficient clustering and connected components algorithms often end up
looking extremely cryptic. Connected components algorithms tend to
look like run-length encoders with line equivalence tables, or
optimised clustering algorithms. I have had some success and fast
execution times developing an algorithm based on this paper, which is
somewhere in between.
"Optimising connected components labelling algorithms"
http://crd.lbl.gov/~kewu/ps/LBNL-56864.pdf
Regards
Jason
I had a look at the paper you linked, but, if I>ve understand well,
the algorithms are developed for binary images, while I need to do
segmentation on 8-bit gray-level images directly (without
thresholding), to identify homogeneous zones
--> something like this:http://spie.org/Images/Graphics/Newsroom/Imported/0016/16_fig1.jpg
PS: For binary image connected-components labelling, I implemented an
algorithm based on this paper: "A linear-time component-labeling
algorithm using contour tracing technique", i think that>s very good!- Hide quoted text -
- Show quoted text -
[/quote]
The first thing you need to do is to identify your real goal, or,
equivalently, define the term 'homogeneous' for your application. Any
segmentation method incorporates its own definition of 'homogeneous',
but this may or may not be what you want.
illywhacker; |
|
| |
|
Back to top |
serg271 Guest
|
Posted: Thu Jul 24, 2008 12:29 pm Post subject: Re: real-time image segmentation |
|
|
On Jul 23, 12:59 pm, techG <giuliopul...@gmail.com> wrote:
[quote]On Jul 23, 9:55 am, J <ja...@visionexperts.co.uk> wrote:
Hi Giulio
Efficient clustering and connected components algorithms often end up
looking extremely cryptic. Connected components algorithms tend to
look like run-length encoders with line equivalence tables, or
optimised clustering algorithms. I have had some success and fast
execution times developing an algorithm based on this paper, which is
somewhere in between.
"Optimising connected components labelling algorithms"
http://crd.lbl.gov/~kewu/ps/LBNL-56864.pdf
Regards
Jason
I had a look at the paper you linked, but, if I>ve understand well,
the algorithms are developed for binary images, while I need to do
segmentation on 8-bit gray-level images directly (without
thresholding), to identify homogeneous zones
--> something like this:http://spie.org/Images/Graphics/Newsroom/Imported/0016/16_fig1.jpg
PS: For binary image connected-components labelling, I implemented an
algorithm based on this paper: "A linear-time component-labeling
algorithm using contour tracing technique", i think that>s very good!
[/quote]
You may want to check "local binary pattern" and more general "texture
segmentation" - google for it or citeseer. |
|
| |
|
Back to top |
techG Guest
|
Posted: Fri Jul 25, 2008 11:32 am Post subject: Re: real-time image segmentation |
|
|
[quote]The first thing you need to do is to identify your real goal, or,
equivalently, define the term 'homogeneous' for your application. Any
segmentation method incorporates its own definition of 'homogeneous',
but this may or may not be what you want.
illywhacker;
[/quote]
My goal is only to achieve near real-time performance :)
The 'homogenous' definition, for my application, is the simplest :
(abs(grayLevelDifference) < threshold).
What do you think about "split and merge method" and "single pass
split and merge method"? The first seems to be time consuming, while
I>ve not understood well the second. You can find a brief description
of the algorithms here: http://www.icaen.uiowa.edu/~dip/LECTURE/Segmentation3.html |
|
| |
|
Back to top |
illywhacker Guest
|
Posted: Tue Jul 29, 2008 2:55 pm Post subject: Re: real-time image segmentation |
|
|
On Jul 25, 1:32 pm, techG <giuliopul...@gmail.com> wrote:
[quote]The first thing you need to do is to identify your real goal, or,
equivalently, define the term 'homogeneous' for your application. Any
segmentation method incorporates its own definition of 'homogeneous',
but this may or may not be what you want.
illywhacker;
My goal is only to achieve near real-time performance :)
[/quote]
Real-time performance is easy to achieve: make everything the same
class
:).
[quote]The 'homogenous' definition, for my application, is the simplest :
(abs(grayLevelDifference) < threshold).
[/quote]
But now you have given a criterion, let>s see what you want to do.
Do you want to divide the image pixels into the minimal number of
sets,
such that abs(grayLevelDifference) < threshold for *any* pair of
pixels in
each set, regardless of proximity? Or do you want this to be true only
for
pixels that are neighbours, in a sense yet to be defined?
illywhacker; |
|
| |
|
Back to top |
illywhacker Guest
|
Posted: Tue Jul 29, 2008 3:02 pm Post subject: Re: real-time image segmentation |
|
|
On Jul 25, 1:32 pm, techG <giuliopul...@gmail.com> wrote:
[quote]The first thing you need to do is to identify your real goal, or,
equivalently, define the term 'homogeneous' for your application. Any
segmentation method incorporates its own definition of 'homogeneous',
but this may or may not be what you want.
illywhacker;
My goal is only to achieve near real-time performance :)
The 'homogenous' definition, for my application, is the simplest :
(abs(grayLevelDifference) < threshold).
[/quote]
Do you also wish your segmentation to have some smoothness properties,
e.g.
fewer more connected regions?
illywhacker; |
|
| |
|
Back to top |
Guest
|
Posted: Thu Jul 31, 2008 3:05 pm Post subject: Re: real-time image segmentation |
|
|
On Jul 22, 3:28 pm, techG <giuliopul...@gmail.com> wrote:
[quote]Hi, i need to write an algorithm for image segmentation in real-time:
up to now, I have used cvPyrSegmentation with good result (10 ms for a
small image, that>s what I need), but now I have to write an algorithm
from scratch. I>ve tried to port cvPyrSegmentation but code is very
cryptic, and it seems not to exist any good reference paper. Can you
suggest me an algorithm that can suit my requests?
[/quote]
I have some fast image-segmentation code I wrote a while back that
might be suitable. It uses a Union-Find data structure and a user-
supplied comparator function and scans the image left-to-right and top-
to-bottom. It basically runs in time proportional to the number of
pixels in the image as long as the comparator takes constant time.
The code is written in C.
http://iigs.dreamhost.com/segment/segment.tar.gz
-Lucas |
|
| |
|
Back to top |
|