indeed Canupo only uses geometric informations at various scales (our team is working on a more generic version using any kind of attribute, including intensity, but it's not ready yet). I've already used Canupo to roughly classify rock outcrop separating gravel beds from loess material (I've a background in geology), but if you're looking at classifying layers which are relatively fine with little difference in roughness, there's one limitation with Canupo right now that is it computes neighborhood within spheres....given that you're interested in layers, it would be probably much more efficient to use a neighborhood search that would be perpendicular to the layering so that you don't polute the classifiers with geometric features computing for neighboring layers (i.e. a kind of ellipsoidal neighborhood search or even a cylinder). Not necessarily too difficult to implement, but as always, it means time to implement and test that we don't have right now.
But it's good to know that Canupo is useful for you to remove vegetation from outcrops.