Markerless analysis of front crawl swimming