Skip to content

teddy8193/project_pokereader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PokeReader

Created by Alex C, Emilia S, Estelle G, Yuri S at Le Wagon Tokyo during the 2-week project.

Summary

PokeReader is a web app allowing a user to get the price and rarity of a Pokemon card from a picture that they would have taken or uploaded.

PokeReader_app

Technologies used

Libraries:

  • Data Manipulation and Analysis: Pandas
  • Visualization: Matplotlib, Seaborn
  • CNN: Tensorflow
  • OCR: Pytesseract, Pyocr
  • Computer Vision: OpenCV, Pillow
  • Deployment: FastAPI, Uvicorn, Docker, GCP Cloud Run
  • Web Application: Streamlit

Techniques and Models:

  • Edge Detection
  • Convolutional Neural Network (CNN)
  • Optical Character Recognition (OCR)

Development Environment:

  • Jupyter Notebook - used for interactive model development and experimentation
  • Visual Studio Code - used for packaging the model and further development, including front-end

Workflow

We have use the Pokemon TCG API to retrieve the price and rarity of a given Pokemon card. To access this information, we need to provide to the API the set ID and the card number of the Pokemon card we are interested in.

Each Pokemon card has a set ID and a card number located either at the bottom left, bottom right or middle right part of the card. This location is consistent for all the cards within each set. In our project, we have focused on the Pokemon sets with the ID located at the bottom left or right of the card.

Normalizing with Edge Detection

Import card

normalizing with edge detection

Set ID retrieval with CNN

Here is a list of the sets we have used:

set ID set name location number of cards
dp1 Diamond & Pearl right 130
dp2 Mysterious Treasures right 124
dv1 Dragon Vault right 21
g1 Generations right 83
sm4 Crimson Invasion left 124
sv2 Paldea Evolved left 279
sv3 Obsidian Flames left 230
sv3pt5 151 left 207
sv4 Paradox Rift left 266
swsh6 Chilling Reign left 233
swsh9 Brilliant Stars left 186
swsh10 Astral Radiance left 216
swsh12pt5 Crown Zenith left 160
swsh45 Shining Fates left 73
xy1 XY right 146
xy2 Flashfire right 109
xy3 Furious Fists right 113
xy4 Phantom Forces right 122
xy6 Roaring Skies right 110
xy7 Ancient Origins right 100

create dataset of bottom corners

data augmenation

set id detection with CNN

Text detection with OCR

text detection through OCR

Retrieve price and rarity from API

From set id and card number -> API

Limitations

This project serves as a proof of concept, showcasing the effectiveness of Edge Detection, Convolutional Neural Networks (CNN), and Optical Character Recognition (OCR) techniques in identifying Pokemon cards from images. However, there are several limitations to acknowledge:

  • Picture limitation: The picture taken by the used needs to have a white background as that is how the edge detection model was trained.
  • Limited Set Data: While there exist around 100 sets of Pokemon cards, our model is trained on a subset of 20 sets.
  • Limited Language Support: The current model is trained solely on English cards.

About

testing reorganizing project directory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.9%
  • Other 0.1%