Semi-Supervised Contrastive Learning with Orthonormal Prototypes