Giter Club home page Giter Club logo

kitchen20's Introduction

PROJET-3A-IMTA

Repository for the 3A Project - Reconnaissance de l'activité de vie quotidienne humaine à domicile à l'aide du son - IMT Atlantique - 2021/2022

Authors:

  • Mateo BENTURA
  • Ezequiel CENTOFANTI
  • Kevin MICHALEWICZ
  • Oumaima TOUIL

Environement

In order to be able to execute the following steps, you will need to create a Python Environement. This can be done by:

pip install -r requirements.txt

Directory Structure


├── README.md                                   # This file
├── requirements.txt                            # Required packages
├── PythonAudioClassification.ipynb             # Classification implementation notebook, to train and test
├── AudioClassifier.py                          # Module to store defined functions and classes
├── test_audios.py                              # Simple testing script to classify a single audio file
├── .gitignore                                  
|
├── LL_AudioDB                                  # Sound database
|   ├── audio                                   # All audio files
|   ├── custom-audios                           # Our recorded audio files
│   ├──  metadata                                
|   │     ├── kitchen20b.csv                    # List of audio tracks 
|   │     └── kitchen20.csv                     # DB format
|   ├── add_audios.py                           # Script to add new audios to DB
|   └── categories.txt                          # List of categories used by 'add-audios.py'
|
├── Old-k20-model                               # First implementation of k20 model (unused)   |
└── checkpoints                                 # Trained model checkpoints

Utilization guide

Python notebook

To train the model or bulk test audios we can use the notebook PythonAudioClassification.ipynb, whose use is straight-forward and requires simply running each command, with the option of loading the pre-trained model.

Test audios

If you want to simply test one audio file, a testing script called test_audios.py is available. To used this, simply type the following command

python test_audios.py input_audio.wav

An exemplary output would be the following:

Testing audio 'input_audio.wav'
Predicted label is 'trash'

Add audios to database

This implementations uses a simple database, consisting of a directory and a .csv metadata file. In order to update this database and include new audio files, we provide a Python script called add_audios.py. This takes the .wav files from an input folder (they must indicate the label in the name) and places them in an ouput folder, updating the metadata file as well.

To call this script we use the following command in the corresponding directory:

python add_audios.py

This uses the default input and output directory names custom-audios and audios, we can use custom ones with the command:

python add_audios.py input-folder output-folder

The script prints the advancements and asks for a confirmation of this update.

kitchen20's People

Contributors

marc-moreaux avatar kevinmicha avatar centofantieze avatar mateobentura avatar oumaimatouil avatar

Watchers

James Cloos avatar

Forkers

science-code

kitchen20's Issues

Make confusion matrix

  • Add code to the notebook to display the confusion matrix
  • (if possible) trace our recorded audios to check their performance

Python code to add files to .csv

Once thing we need to make our work easier is a python script that creates new entries on kitchen20.csv for a given file in the [https://github.com/kevinmicha/kitchen20/tree/master/audio](audio folder).

Audio recordings and testing

  • Record new audios not present in current model
  • Add classes to classification model
  • Test performance of audios

Clean git files structure

  • Remove unnecessary files
  • Move old model files to k20-old-model folder
  • Put add-audios.py and necessary files in a separated folder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.