Using airborne view, they can be identified as:
Using Airborne LiDAR and after conversion to canopy height model:
I have been studying these three separate but related problem for trees for a while now. After years of researchers in the community trying to solve these problems completely, it is still not completely solved. It is actually an extremely difficult task. One biggest challenge is the high variations of intra-class and small variations of inter-class.
Given a common pipeline is Detection -> Segmentation -> Classification, errors always propagate from one process to the next one. This approach suffer from this inherit architecture problem. However, the benefit is that they can be trained by three separate sets of datasets diversifying features of representation. Ideally, training of each problems will then require perfectly annotated dateset which is very rare.