
Overview
Retinal diseases are among the leading causes of visual impairment worldwide, and their diagnosis becomes increasingly challenging because patients often present with multiple pathological conditions simultaneously. This study addresses the problem of multi-label retinal disease classification by proposing a class-wise ensemble learning method based on a weighted averaging algorithm. The proposed approach was evaluated using the ODIR dataset, which contains retinal fundus images from 3,500 patients categorized into eight disease labels with a highly imbalanced class distribution. The research workflow consisted of data preprocessing, including oversampling, image enhancement, and data augmentation, followed by fine-tuning two baseline deep learning models, EfficientNetB6 and DenseNet169. The core contribution of this study lies in assigning independent contribution weights to each model for every disease label according to its validation performance, and integrating these weights through a weighted averaging scheme during prediction. Model performance was evaluated using AUC, precision, recall, and F1-score at both the per-label and global levels. Experimental results demonstrate that the proposed class-wise ensemble achieved the best overall performance, with a micro-AUC of 0.89 and a macro-AUC of 0.85, outperforming both individual models and conventional ensemble methods without class-specific weighting. These findings indicate that the proposed method effectively improves multi-label retinal disease classification, particularly for minority disease labels with highly imbalanced distributions. To facilitate the development and evaluation of the proposed method, a prototype web-based application was developed using the Flask framework. The system enables users to upload retinal fundus images through a file uploader on the main interface, where a preview of the selected image is displayed automatically. Users can further configure prediction parameters, including the classification threshold and the model to be used, through dropdown menus. Once the image and model configuration have been selected, the prediction process is initiated by pressing the prediction button. Before inference, each uploaded fundus image undergoes an image enhancement preprocessing pipeline consisting of auto-cropping, Contrast Limited Adaptive Histogram Equalization (CLAHE), and resizing. The preprocessed image is then fed into the best-performing classification model to extract visual features and predict the presence of retinal disease labels. After the prediction process is completed, the web application presents the preprocessed image alongside the classification results, including the predicted probability for each disease label and the final positive labels detected in the retinal image.

