# 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