https://github.com/towhidkashem/image-dataset-prepper
A desktop file explorer with keyboard shortcuts to quickly prep images when collecting datasets for training image classification models
https://github.com/towhidkashem/image-dataset-prepper
data-set-organizer data-wrangling electron file-explorer image-classification machine-learning-images reactjs
Last synced: 9 months ago
JSON representation
A desktop file explorer with keyboard shortcuts to quickly prep images when collecting datasets for training image classification models
- Host: GitHub
- URL: https://github.com/towhidkashem/image-dataset-prepper
- Owner: TowhidKashem
- License: mit
- Created: 2022-09-16T01:33:38.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-12-31T04:21:03.000Z (over 3 years ago)
- Last Synced: 2025-09-15T09:13:37.376Z (9 months ago)
- Topics: data-set-organizer, data-wrangling, electron, file-explorer, image-classification, machine-learning-images, reactjs
- Language: TypeScript
- Homepage:
- Size: 87.6 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Image Classification Dataset Prepper
https://user-images.githubusercontent.com/1139927/209875258-38f3774f-0d5e-4926-964c-a2f3a80ec60a.mp4
When preparing datasets for training image classification models it's a real pain to manually sift through thousands of images to weed out the inaccurate, duplicate and broken ones. This cross-platform app aims to make the process a little more tolerable by allowing you to use keyboard shortcuts to quickly cycle through all the images in a folder and delete the ones you don't want.
## Installation
First install the dependencies:
```
> yarn install or npm install
```
then build the executable:
```
> yarn package or npm run package
```
The resultant launch file can be found in the `release/build/*` folder e.g. on a mac it's `release/build/mac/ImageReviewer.app`. You can move this anywhere like to your desktop and run it as a standalone app going forward.
## Development
```
> yarn start or npm start
```
This will spin up a dev server which auto-reloads on file changes.
## Files
- Electron backend - `src/main/*`
- React frontend - `src/renderer/*`
## Usage
- → - next image
- ← - prev image
- Space - delete image
- CMD / CTRL + Z - undo delete
- a - pick image (this moves the image into a subfolder called `_picked`)
- CMD / CTRL + R - refresh the app
- click the "↻" icon on the top right of the screen to reset history (visited folders whose contents were looped through at least once appear at a lower opacity for tracking purposes)
- ♫ pop noise sounds each time a full loop completes when cycling through a directory
## Folder structure
This is a common folder structure for image classification datasets:
```
dog-breeds/
- doberman/
- a.jpg
- b.png
- german-shepherd/
- c.jpg
- d.webp
- miniature-poodle/
- e.png
- f.jpg
```
In other words you have a root folder with sub-folders for each _class_, and inside those sub-folders are the images. You can browse such a root folder using this app, same for individual folders with images.
Just make sure that the selected folder contains either **only images** or **only sub-folders**. This app isn't a full fledged file explorer and can't handle anything else at the moment.
## Roadmap
- Automate deleting duplicate images
- Automate deleting broken images
- Crop and keep only part of an image
- Convert all images to a particular format
## Credits
- [IOS Camera Icon](https://iconscout.com/icon/photos-30) by Giulio Smedile
- [Electron React Boilterplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate)
- [Chakra UI component library](https://github.com/chakra-ui/chakra-ui)