While the ellipse-finding code works reasonably well, it does need to be retuned a bit.
Keep in mind that you also have no pan/tilt tracking code provided.....try writing a feed-forward servo tracking algorithm, should give you a bit of a challenge

.