EOS consists of two essential parts: a novel three-phased training procedure and a resampling technique that relies on nearest adversary class instances. The EOS training procedure is unique because it augments minority samples in CNN feature embedding space instead of pixel space. Thus, it is unlike over-sampling methods that rely on GANs[1]}, [2]}. With EOS, a CNN is first trained on imbalanced image data to learn how to extract and classify images. The loss function can either be cross-entropy or a cost-sensitive algorithm. The performance of the CNN is then enhanced by partitioning it into extraction and classification layers. The extraction layers output feature embeddings with imbalanced classes. These imbalanced FE are over-sampled using nearest adversaries. The classifier is re-trained for a limited number of epochs with real and synthetic feature data with a much lower dimension than in pixel space.
