Bid(blue), Ask(red) and Mid(green) are the market curves. The one in black is the curve I get from least square error and the one in magenta is the Levenberg-Marquardt optimization of the results. I've taken these from the Axel Vogt's implementation.
What I meant by not smooth is that some of the options with higher moneyness have lower IV than those with relatively lower moneyness. This isnt the case with liquid index options