What algorithms are used for segmentation and classification of non solid regions in an image? In the process of segmentation, pixels are assigned to regions based on features that distinguishes them from the rest of the image. Value Similarity and Spatial Proximity, for example, are two important principles that assume that points in the same region will have pixels that are spatially close and have similar values.

In lots of situations this is true, but what about regions composed of pixels that are not similar in value? Consider the image below. The same "logical" region is composed of different elements that together represent something meaningful. In the same region there are trees with different sizes and shapes, with shadow over some of them etc. There are different things, with pixels that differ a lot in value, but I still need to group them together in the same region. From the image you can see that I don't care so much with differences in color. In this case texture is the most important attribute. What algorithms are used to do the segmentation and classification in problems like that?

I'm already looking for some algorithms and techniques that focus on texture, but some opinions from the experts will help me a lot. I think I need some orientation. Thanks!
If you have enough data, you can train a segmentation net example for a specific group of data (i.e. trees). Single DNN with multiple output branches can easily segment &amp; classify the data that you are searching for.