# Image Recognition - pokemon
[TOC]
## Files and Folders
```
.
├── app.py
├── dataset10
│ ├── Arbok
│ ├── Dragonair
│ ├── Electrode
│ ├── Golduck
│ ├── Golem
│ ├── Haunter
│ ├── Mew
│ ├── Pidgeot
│ ├── Poliwhirl
│ └── Rattata
├── labels.txt
├── my_resnet
└── pygamee.py
```
## Motivation
- programming
- take a peek at AI
> programming - giving a set of instructions to a computer to execute
> AI - Artificial Intelligence (Machine Learning)
## Keys to archive GOAL
- basic knowledge about **programming**
- basic knowledge about **machine learning**
- how does computer deals with **images**
## Preparation
- programming language - python
- [why python?](https://github.blog/2023-03-02-why-python-keeps-growing-explained/#using-python-for-and-artificial-intelligence)
- laptop
- webcam
## General Steps
1. gather **data** (images)
2. train the **model** to recognize
3. validate model's **performance**
## Dive Into All Tasks
### gather data
- required a lots of images
- to learn to recognize these images, computer needs to see as much as possible
- take photos on our own
- use datasets that someone collected (open source)
- goods and bads
- precise
- quantity
- imbalanced
- only sample few kinds of pokemon in our task
- 15
### train the model
machine **learning** is basically math and probability, but it's hard to implement all these equations and theories on our own.
machine learning **framework** comes in very handly. choose to use [keras](https://keras.io/).
with general ideas about our task, we can build powerful AI too.
> machine learning - computer learn to remember something without being explicitly programmed to do so.
### model performance
> model validation - to ensure that our ML/AI model is performing as it should.
- accuracy
- the higher the better
- downside of accuracy?
- loss
- the lower the better
*to-do: display model performance (accuracy, loss)*
## Problem and Solving
1.
## More and Beyond