External Validation of a Three-Backbone Heterogeneous CNN Ensemble for Six-Class Skin Lesion Classification: A Cross-Dataset Study

This paper addresses a gap in automated skin-lesion classification: models are almost universally evaluated in-domain, on a held-out split of the dataset they were trained on, and a survey of eleven recent studies finds essentially none that apply external cross-validation on images from an independent acquisition site. We therefore adopt a strict protocol — trained only on HAM10000, tested only on the external Derm7pt dermoscopic dataset over the six lesion classes common to both, with no target-domain fine-tuning and every design choice fixed a priori — and show that a widely cited InceptionV3+DenseNet121 weighted-fusion design reported at 92.27% on a held-out split of its own training set operates at 70.89 ± 0.66% under this regime, demonstrating that published headline accuracies carry little information about behaviour at a new site. Within this protocol we propose a three-backbone heterogeneous ensemble that adds an architecturally distinct, frozen-base ConvNeXt-Large probability stream to that fusion, and show it improves every macro metric on the identical 963-image external test set across three seeds (accuracy 73.38 ± 2.25%, macro-F1 56.71 ± 3.05%, macro-AUC 90.38 ± 0.90%; +2.49, +4.41 and +3.10 respectively), with the clearest benefit on basal cell carcinoma — a malignancy with only 42 external test images, precisely the low-support regime in which a single backbone is least reliable — while no individual stream matches the fusion, indicating that the three backbones make complementary rather than redundant errors. The significance is thus both methodological and architectural: it places a widely used fusion design on an honest external footing and shows that architectural heterogeneity, rather than added depth or attention, is what survives the transfer; we report the result with its bounds stated explicitly, since the comparison is at the configuration level (the three-backbone run also changes augmentation and batch size) over three seeds on a single external dataset.