Let \(\mathcal {D}\) be a dataset of smooth 3D surfaces, partitioned into disjoint classes \( CL _j\) , \(j= 1, \ldots , k\) . We show how optimized diffeomorphic registration applied to large numbers of pairs \((S, S')\) , \(S, S' \in \mathcal {D}\) can provide descriptive feature vectors to implement automatic classification on \(\mathcal {D}\) and generate classifiers invariant by rigid motions in \(\mathbb {R}^3\) . To enhance the accuracy of shape classification, we enrich the smallest classes \( CL _j\) by diffeomorphic interpolation of smooth surfaces between pairs \(S, S' \in CL _j\) . We also implement small random perturbations of surfaces \(S\in CL _j\) by random flows of smooth diffeomorphisms \(F_t:\mathbb {R}^3 \rightarrow \mathbb {R}^3\) . Finally, we test our classification methods on a cardiology database of discretized mitral valve surfaces.