| Algorithm 1 Proposed HCHS-Net Framework |
| Input: Raw images Xraw, Labels Yraw, Metadata Mraw Output: Predicted Labels Ŷ, Evaluation Metrics 1: PRE-PROCESSING: 2: for each image x ∈ Xraw do 3: Apply Gaussian filtering using Equation (2): x’ = x * G(σ = 1.0) 4: Resize using Equation (3): x224 = Resize (x’, 224 × 224) 5: end for 6: DATA AUGMENTATION (see Table 4): 7: for each class c with count < 2500 do 8: Apply transformations T using Equation (4) 9: Generate augmented samples until count = 2500 10: end for 11: FEATURE EXTRACTION: 12: for each preprocessed image x224 do 13: Extract Color features using Equations (6)–(8): Fcolor ∈ ℝ96 14: Extract Texture features using Equations (10) and (11): Ftexture ∈ ℝ13 15: Extract Shape features using Equations (12)–(14): Fshape ∈ ℝ7 16: Fuse visual features using Equation (15): Fvisual = [Fcolor || Ftexture || Fshape] 17: end for 18: METADATA INTEGRATION: 19: for each metadata vector m ∈ Mraw do 20: Normalize using Equation (16): mnorm = ZScore(m) 21: Form Fmeta ∈ ℝ12 (see Table 7) 22: end for 23: FEATURE FUSION using Equation (17): 24: FHCHS = [Fvisual || Fmeta] ∈ ℝ128 25: ENSEMBLE CLASSIFICATION (see Table 8): 26: Train CatBoost, XGBoost, LightGBM using Equations (18) and (19) 27: PREDICTION using Equations (20) and (21): 28: Pensemble = (PCat + PXGB + PLGB)/3 29: Ŷ = argmax (Pensemble) 30: return Ŷ, Evaluation Metrics (see Table 9) |