Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for determining a velocity model for a geological region. In one aspect, a method comprises: obtaining a current velocity model for the geological region; obtaining pre-stack and post-stack seismic data characterizing the geological region; and for each of a plurality of iterations: identifying a plurality of reflection events from the post-stack seismic data and the current velocity model; determining a respective observed travel time for each of the plurality of reflection events, comprising, for each reflection event, determining the respective observed travel time for the reflection event based at least in part on kinematic features derived from a respective seismic trace included in the pre-stack seismic data; and updating the current velocity model based at least in part on the observed travel times of the plurality of reflection events.