Doble: a hands-on approach with OpenCV and NumPy

What do we remember first of all when we hear about pattern recognition? Complex neural networks, powerful video cards, large datasets. All this will not be in my story - I will tell you how using OpenCV and NumPy you can solve the problem of classifying 57 symbols from the Dobble game in 1 evening using less than 500 of their images without additional augmentation. A different scale, an arbitrary angle of rotation - all this does not matter when four numbers are enough to describe a symbol.









This story took place in the spring of 2020, during a forced self-isolation. I watched videos on youtube and came across an interesting game - Dobble, or in another way SpotIt. In local stores, I could hardly find it, and in conditions of self-isolation, the option with an order also looked pretty ghostly. As a result, I found a file with images of cards on the Internet, printed it on thick photo paper and cut it out - it turned out to be a pretty neat set. My son liked the game, they began to play.





, . . - , , . ? , .





" OpenCV Deep Learning". , - , … , , - , . .





, OpenCV? , , . - . - , "", -, ? . , , , .





, OpenCV - : .





, , . IrfanView . , . .





One of the unfortunate options for automatic markup

- (MLP). "Python Machine Learning" , NumPy.





- . - , . 4 , . 45..255, 0..1 45 210. , . 440 , 1 .





, . - ( ""). , . .





, , 8 . - , . .





, . -, - OpenCV. .





Checking the operation of the neural network

- 55 (1485 ) 170 , 0. -, , . , - : (, ) . . .





, , . GitHub.








All Articles