How do I segment an image containing 4 animals lying close to each other into separate blobs?

2 views (last 30 days)
I am working on a project where I need to segment an image containing various pigs lying very close to each other. I need to get each pig to become a separate object on the image (so that i can do some statistics on individual pigs). I have read about the watershed transform but it gives me very bad results. I was hoping that someone might tell me how to approach this issue using any technique (I'm not very experienced with MATLAB). I would be be very grateful for any kind of help. I have attached the grayscale, rgb and binary images for details.

Answers (2)

Image Analyst
Image Analyst on 11 Jun 2018
Look into deep learning. Sorry, but it's not going to be some simple 50 line program.
  6 Comments
chris oj
chris oj on 26 Jun 2018
Edited: chris oj on 26 Jun 2018
Is there a way to use watershed segmentation to separate the area I circled in the above binary image? Please help me out with the code if there is. Thank you.

Sign in to comment.


Image Analyst
Image Analyst on 9 Jul 2018
Edited: Image Analyst on 9 Jul 2018
You might try this link
Detecting Mammals in UAV Images: Best Practices to address a substantially Imbalanced Dataset with Deep Learning
Knowledge over the number of animals in large wildlife reserves is a vital necessity for park rangers in their efforts to protect endangered species. Manual animal censuses are dangerous and expensive, hence Unmanned Aerial Vehicles (UAVs) with consumer level digital cameras are becoming a popular alternative tool to estimate livestock. Several works have been proposed that semi-automatically process UAV images to detect animals, of which some employ Convolutional Neural Networks (CNNs), a recent family of deep learning algorithms that proved very effective in object detection in large datasets from computer vision. However, the majority of works related to wildlife focuses only on small datasets (typically subsets of UAV campaigns), which might be detrimental when presented with the sheer scale of real study areas for large mammal census. Methods may yield thousands of false alarms in such cases. In this paper, we study how to scale CNNs to large wildlife census tasks and present a number of recommendations to train a CNN on a large UAV dataset. We further introduce novel evaluation protocols that are tailored to censuses and model suitability for subsequent human verification of detections. Using our recommendations, we are able to train a CNN reducing the number of false positives by an order of magnitude compared to previous state-of-the-art. Setting the requirements at 90% recall, our CNN allows to reduce the amount of data required for manual verification by three times, thus making it possible for rangers to screen all the data acquired efficiently and to detect almost all animals in the reserve automatically.

Categories

Find more on Image Data Workflows in Help Center and File Exchange

Products


Release

R2014a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!