1. A non-transitory computer readable medium containing instructions which, when executed by a computer, perform a process comprising: receiving an image which includes a vehicle identification number (VIN); making a color assumption with respect to the VIN; preprocessing the image based on the color assumption; segmenting the image to identify candidate text strings that may include the VIN; performing an optical character recognition (OCR) using an OCR engine on the candidate text strings; validating the candidate text strings; if a candidate test string is validated, outputting a confirmed VIN value based on the validated candidate test string; and if a candidate test string fails the validation, post-processing the failed candidate text string, which includes using a different OCR engine to re-recognize some or all characters in the failed candidate test string.