Learning to extract line features: beyond split and merge