https://medium.com/@monocosmo77/new-developments-in-the-field-of-computer-vision-and-pattern-recognition-part2-81b8ac408dac