Deep learning with self-supervision and uncertainty regularization to count fish in underwater images