Open Bonifatius94 opened 2 years ago
Met Maxim today and told him, that you guys contribute a lot and that you bring this project to a next level - he was happy to hear. He had 2 ideas:
Adding a voting system for a certain combo/set (like Assassins) and auto-buy it, the moment the unit appears in the shop. Here we need a little more complex OCR-pipeline. If we still wanna get rid of Tesseract, we could use - as @Bonifatius94 already mentioned - MNIST and maybe some "Fonts" generated Texts to train some easy NN. A wordlist, with possible Champions and classes will help us, finding always the correct unit, so it's fine, if the character error rate (CER) of the OCR-pipeline isn't too good. Additionally we need a Overlay, so people see the chosen combo. We discussed this to handle the time delay in the stream and giving the community the chance to play more competitive.
We should open new issue for that, but still I want to mention it here. Finding the items in the carousel and people can vote for the item, which should be picked (listing also the units will be too much of work in terms of labeling ... I guess) and the avatar is moving indipendendly to the unit with this item, without accidentally running into a Champion with a wrong Item.
Okay, the first feature will than influence this Issue here. I guess I'll need some help to implement that. So using MNIST and some easy NN to recognize numbers is not that hard. I'm just not that sure how we should handle the rest.
How i would solve the problem: Iterate over the champions in the buy section and process each image by champion names / class names. The classification should then return the champion / set which matches the image. (So just OCR pipeline using nn which is trained with texts in different fonts) Valid classes are then a combination of champion name + set for all available TFT champions (champion / class wordlist)? If this champion is in the combo or the set matches, it shall be bought. If I'm completely wrong here please correct me :D
So should all recognition (Number & texts) be handled by a single nn or how would you approach that? Any good datasets you have in mind for training the OCR?
2. We should open new issue for that, but still I want to mention it here.
Already opened the issue for you ๐
Okay, the first feature will then influence this Issue here. I guess I'll need some help to implement that. So using MNIST and some easy NN to recognize numbers is not that hard. I'm just not that sure how we should handle the rest.
I've had all kinds of AI projects at university for the last 1.5 years (last one was a self-driving car software including some traffic light detection NN, etc). I'm very confident to solve this with ease. TFT is a very constrained environment because units always look the same. The only difficulty is when a new TFT set appears because then the look of the units changes. But it's not too critical either as we would just need to train a recognition logic with new data. This is more about the data really, the training and AI part is rather easy ๐
So should all recognition (Number & texts) be handled by a single nn or how would you approach that?
Depends, but in this case I would use different NNs for each classification task. One for classifying units in the shop, one for reading texts / digits (and maybe one for detecting where specific objects are located at such that it can cut image patches and forward it to the classification networks to identify what it's showing). But more importantly, we also need some AI to play intelligently (because it's an auto-pilot), so we definitely need some kind of reinforcement learning as well (which I'm gladly very familiar to) ๐
Discussed Ideas on this: