2D shape recognition