Question

# The best way of separating overlapping objects?

I'd like to know if there is any way to separate these cells and retrieve their original shape?

29th Oct, 2013
Chanukya Krishna Chama
@Lambert: May be the following algorithm would work
1) Localize each cells by separating overlapping ones (as shown in figure)
2) Detect cells need repairing to restore original shape.
3) Option1: Fit an ellipse enclosing the object and extract the actual shape of this object from original image
Option2: a) Divide the object into few blocks for e.g., 4 (as shown in figure) and locate the blocks needed further repairing for e.g., blocks 2,4 as shown in fig.
b) Try to get the shape of a block by mirroring its adjacent one which has perfect shape.
Ref: http://www.ncbi.nlm.nih.gov/pubmed/23076539 (see page no.7 for idea of reflection to repair)
Option3: Detect convex and concave points of the object contour and restore original shape of the object
Ref: http://www.ncbi.nlm.nih.gov/pubmed/23053904 (see page 5 for Discrimination of Concavity and Convexity of Boundary Points Based on Chain Code Difference)
Biomedical Image Analysis book by Rangaraj M. Rangayyan available on google books
2 Recommendations

22nd Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
The replies from Changming Sun & Stephan Irgenfried deal with separating partially overlapping objects. The shape of them is NOT recovered.
I liked Changming's article, but at best it will give you following segmentation:
5 Recommendations

19th Oct, 2013
Mahmood Davoodianidaliki
University of Tehran
That's a pretty noisy image you have there!.
I think if you want to develop your own algorithm and ignoring previous studies then:
1. Edge extraction is inevitable though this much noise might pose some problems.
2. If shapes are always similar to circle, using ant algorithm as base might help by using the constrain of moving on a pseudo-circle shape.
3. If due to the noise level and transparency, a few problems occur, then you might need to devide your image into smaller parts and process them to increase contrast.
By the way, using previous studies might help you in just two cases. you're good at programming or there are some codes already developed.
3 Recommendations
20th Oct, 2013
Arturo Geigel
Independent Researcher Puerto Rico
I would try:
a) greyscale conversion
b) thresholding
c)Hough transform to detect ellipses. In this part I would check two references:
Yuen, H. K., Illingworth, J., & Kittler, J. (1989). Detecting partially occluded ellipses using the Hough transform. Image and Vision Computing, 7(1), 31-37.
and
Chia, A. Y., Rajan, D., Leung, M. K., & Rahardja, S. (2008, October). A split and merge based ellipse detector. In Image Processing, 2008. ICIP 2008. 15th IEEE International Conference on (pp. 3212-3215). IEEE.
2 Recommendations
20th Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
A lot of noise has been distorted by jpeg compression artifacts. Hopefully you have better original images. If you have, I would first try to get rid of some of that noise; maybe a de-speckle filter.
Thresholding will not work because on the left there are parts outside the cells that are darker then the right side of the cells.
The Hough transform will give you the best fitting ellipses:
- It will find more than one per cell
- It will be very noisy as well
- It will NOT give you the exact shapes
Since some boundaries can hardly be seen by the human eye (where cells overlap), and maybe three or more overlapping cells might occur in other images, I think the segmentation cannot be done using 'simple' image processing techniques.
Maybe ask to question to Machine Learning guru's?
2 Recommendations
21st Oct, 2013
Chanukya Krishna Chama
1 Recommendation
21st Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
@Chanukya,
That previous post is about counting the number of objects. Mahsa wants to recover their shapes as well, which is much harder to do, especially when one can not (or hardly) see the boundary. It will need some modeling or machine learning to accomplish that.
However, if you can do it using simple image processing techniques, post your code here please!
21st Oct, 2013
Chanukya Krishna Chama
@Lambert
Apart from counting application, the previous post has replies related to separating overlapping objects. Even i have replied there, you may check them.
Coming to application on present image, simple image processing techniques don't work here. Mean Shift Clustering could be used as initial step which provides edge preserving smoothing.
"Mean Shift: A Robust Approach Toward Feature Space Analysis". IEEE Transactions on Pattern Analysis and Machine Intelligence (IEEE) 24 (5): 603–619.
You may also check the following result attached below which is obtained using "Human guided scribble based interactive segmentation tool".
The tool has an external API that allows it to be extended with additional segmentation algorithms through the use of plugins
21st Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
The middle cell seems strange to me. I think -but cannot see clearly- the border should be something like this (red). Also note that the cells became smaller (blue arrow).
22nd Oct, 2013
Chanukya Krishna Chama
@Lambert: Once has to do post processing of the above result to get middle cell which is overlapped with other two cells. There is a lot of inter-observer variability. So an expert validated ground truth is also required to know the exact shape, size and location of cells otherwise it is difficult to design an segmentation algorithm & judge its result. For better visualisation of cell boundaries, you may see the mask and other segmentation results from following link:
1 Recommendation
22nd Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
@Chanukya: you are absolutely right about the observer variability of the ground truth. Still I am not convinced that post-processing (using 'ordinary' image processing techniques without user interaction) will give you the shape of the middle cell.
How would you do it?
I think you need to do some modeling.
Or -if a rough estimate of the shape is good enough- you might convert the detected known boundary of the troublesome cell to vertices and line segments, and extrapolate it by minimizing the curvature (angular deficit) at all the newly introduced vertices.
1 Recommendation
22nd Oct, 2013
Chanukya Krishna Chama
@Lambert You are right and a better post-processing algorithm could be with user in loop (minimal user interaction)
22nd Oct, 2013
Mahmood Davoodianidaliki
University of Tehran
About results posted by @ Chanukya Krishna Chama
Given the results, I'm not sure that modifying program to be adapted to this problem is an easy process. Especially considering features that segmentation algorithms work based on them. Actually developing an algorithm based on this kind of images is a lot easier than modifying an already developed coed. Though using previous knowledge can ease the process.
And idea mentioned by @Lambert Zijp that "I think you need to do some modeling."
It's right and somehow inevitable to do so. and given the conditions algorithm will be iterative.
initial shapes are extracted with a few parameters such as center and radius and then by moving pixels real shape must be extracted.
22nd Oct, 2013
Chanukya Krishna Chama
As from the previous post, replies from Changming Sun & Stephan Irgenfried could perfectly work for your image.
C. Zhang, C. Sun, R. Su, and T. D. Pham, Segmentation of Clustered Nuclei Based on Curvature Weighting, In Image and Vision Computing New Zealand, Dunedin, New Zealand, 26-28 November 2012, pp.49-54.
22nd Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
The replies from Changming Sun & Stephan Irgenfried deal with separating partially overlapping objects. The shape of them is NOT recovered.
I liked Changming's article, but at best it will give you following segmentation:
5 Recommendations
23rd Oct, 2013
Sandor Szenasi
Óbudai Egyetem
Maybe you would try some "ellipse fitting algorithm" instead of contour detection. There are several publications about cell nuclei separation using ellipse fitting.
Another approach can be the detection of concave/convex parts of the contour, this can help the seperation of the overlapping objects.
2 Recommendations
23rd Oct, 2013
Lambert Zijp
Netherlands Cancer Institute
@Chanukya & Sandor: could you please indicate how to recover the original SHAPE !! That is what Mahsa asks for; it is not about counting or some arbitrary separation.
1 Recommendation
28th Oct, 2013
Joachim Pimiskern
BTW, just seen on Physorg:
Seems to be either ellipse fitting or an
Active Contour Model, or a combination.
Regards,
Joachim
2 Recommendations