AI Player Recognition


The goal is to recognize hockey players by his uniform number (and then control the camera to follow him).
Great accuracy has been achieved in third quarter of 2017, thanks to our Chinese contractor, Zhao.

We went through two iterations, both involve OpenCV and TensorFlow.
Iteration 1
Number Bipmap Capture: OpenCV
Number Recognition: TensorFlow/Keras, CNN, MNIST dataset
Problems:
-As the uniform number is usually two digits, CNN/MNIST only takes single digit bitmap as input.
Separating the digits is challenging.
-OpenCV captures all number without considering the context/background.
However, only numbers on uniform should be captured.
In order to conquer these two problems, we moved to iteration 2.
Iteration 2
Number Bipmap Capture: Tensorflow Object Detection Api(June 2017) replaces foreground detection.
By this technology, only numbers on a human are captured, regardless he’s moving or not.
Number Recognition:
SVHN replaces MNIST so that we can send a bitmap of “12” instead of sending two bitmaps for 1 and 2.
References:
https://github.com/tensorflow/models/tree/master/research/object_detection
http://ufldl.stanford.edu/housenumbers

Advertisements

Why use HLS?


I researched most video streaming protocols when we architectured in 2015
RTP, RTMP, WebRTC, DASH, HDS, MSS, HLS
HLS is the only one that meets our needs, which are:
– Easy to play on all deivce types: PC, Android, iOS, Web based and native
– Easy on client side: Open source video players
– Easy CDN integration: HLS is more like static content
The downside is the delay and the lack of accurate seeking.

Get the job done with limited budget


As expected, we outsource to India and China.
I look for people who did the same work before to create a win-win situation.
A half year work for a typical employee only takes our contractor a month, because it is a matter of customization instead of creation.
The challenge for us is to precisely describe what we want, and find people.
CSTO has a good pool of talents even though the site itself could be better.
Seeking live HLS stream on Android troubled us and we solved it in a week on CSTO.
(Thanks to ZhangLong, our Android contractor)

Engineering as co-founder


Five years later, I am going back to my business blog.
I co-founded MaxxSports in 2015, and joined full-time in May 2017.
This blog will serve as preparation of our future formal technical documentation, while our streaming/recording/AI system evolves.
The live streaming and DVR have been released to users.
One of our new projects is to let the cameras follow the players in a hockey game.
OpenCV and TensorFlow is heavily involved.

Blog01.jpg