First, if the “ugly picture” is in a post that is ranking in the Top 3 or sending you a lot of traffic, live with it and move on to something else. If the photo is not in one of those situations just change the photo out and move on. Google will re-index the new photo quickly and change-out the photo in their index quickly. I’ve seen this done in less than an hour in some cases.