Image Processing In Video Games

One of my main interests is trying out image processing tasks in different environments. In this scenario I looked into applying image processing techniques to drive a car autonomously in racing games. One game which I enjoy because of the number of diverse environments is GRID Autosport.

To perform this task I used python to capture the game window and then implement different image processing techniques on select regions of interest. To drive the car I used a virtual keyboard to send velocity and steering commands depending on the minimap in the game. One of the main issues of using the minimap is the transparency in GRID Autosport. I also used a canny edge detector to see if I could identify the available driving region in a scene. The resulting image looked like this:

To save in image processing requirements I focused only on the lower section of the image where the driving area is available.

Interesting features to consider:

  • Intensity of shadows also become present as features when using the Canny Edge Detector.
  • The hood of the car also has shadows present which make color thresholding difficult.
  • Need to implement machine learning to convert the tachometer image of the car into an actual velocity value which can be fed back into a velocity controller.

This project is still a work in progress while I play around with computer vision techniques with in game images. Stay tuned!

Leave a comment