finding contours of a plant root

I have an image which has roots like this:
enter image description here

I want to crop each root individually out.
I initially thought of heavy dilation followed by erosion and contour detection of the blob, but since the roots are thin, it does not work well.

I also directly applied canny edge and contour detection like this image below. It has around 62000 contours, but I cannot use it to get the outline of each root.
after canny and contour detection on above image

I also thresholded the image using HSV followed by some median blurring. But it did not reduce much noise. Further blurring only leads to losing the root features.

enter image description here

Can anyone suggest me a better approach to tackle this problem? Will any Machine Learning based approach work better? Thanks

finding contours of a plant root