https://github.com/thomasduvinage/ml_trash_selector
Machine learning waste sorter
https://github.com/thomasduvinage/ml_trash_selector
machine-learning python teachablemachine trash
Last synced: 8 months ago
JSON representation
Machine learning waste sorter
- Host: GitHub
- URL: https://github.com/thomasduvinage/ml_trash_selector
- Owner: ThomasDuvinage
- Created: 2021-01-23T21:32:55.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-23T21:42:05.000Z (over 5 years ago)
- Last Synced: 2024-01-28T17:39:39.376Z (over 2 years ago)
- Topics: machine-learning, python, teachablemachine, trash
- Language: Python
- Homepage:
- Size: 3.64 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# ML Trash Selector
The goal of this project is to throw waste into the right trash.
To do so you need to connect a webcam to your computer and and arduino uno with 3 servomotors connected.

The model has been created with TeachableMachine : https://teachablemachine.withgoogle.com
IMPORTANT : The code can only be run with Python 3.8.1
## Run script
* Create virtual env : https://docs.python.org/3/library/venv.html
Activate virtual environment
* Window
In the PowerShell enter :
```
myenv\Scripts\activate.bat
```
* Unix/MacOS
```shell
source myenv/bin/activate
```
Then, you can run the script by entering the following command :
```shell
(myenv) computerName:ML_trash_selector$ python3 main.py
```
### Install libraries
Libraries have to be installed in the virtual env.
The following command permits to install all the libraries needed to run the code :
```
activate venv (see above)
pip install numpy
pip install pillow
pip install opencv-python
pip install tensorflow
pip install serial
run main script
```
## Update Model
If you want to update the model you have to create new classes in TeachableMachine and then train the model and export the model using TensorFlow and Keras.
Then you have to replace keras_model.h5 with the downloaded one.
## Arduino connection
If you've got error concerning serial communication, check the port com defined in main.py line 13.
```python
arduino = serial.Serial(port="/dev/tty.usbmodem143101", baudrate=9600) # create usb link
```
On window it might by on port COM.
Do not hesitate to add issues if you've got any errors.