adding diverse semantic segmentation code