All Projects → cwerner → Fastclass

cwerner / Fastclass

Licence: apache-2.0
Little tools to download and then weed through images, delete and classify them into groups for building deep learning image datasets (based on crawler and tkinter)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Fastclass

Boltbrowser
boltBrowser is a GUI web-based explorer and editor for boltDB
Stars: ✭ 116 (-5.69%)
Mutual labels:  gui
Cemui
A small launcher for the Cemu WiiU emulator made with Electron. Currently on hiatus, development is currently being focused on Pretendo https://github.com/PretendoNetwork/Pretendo
Stars: ✭ 118 (-4.07%)
Mutual labels:  gui
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (-2.44%)
Mutual labels:  gui
Medis
💻 Medis is a beautiful, easy-to-use Mac database management application for Redis.
Stars: ✭ 10,569 (+8492.68%)
Mutual labels:  gui
Easygui
Easy GUI for microcontrollers
Stars: ✭ 116 (-5.69%)
Mutual labels:  gui
Binding.scala
Reactive data-binding for Scala
Stars: ✭ 1,539 (+1151.22%)
Mutual labels:  gui
Yolo mark
GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2
Stars: ✭ 1,624 (+1220.33%)
Mutual labels:  labeling
React Yue
Render the views of Yue with React.
Stars: ✭ 122 (-0.81%)
Mutual labels:  gui
Liveprof Ui
An aggregator and web interface for Live Profiler
Stars: ✭ 118 (-4.07%)
Mutual labels:  gui
Labelbox
Labelbox is the fastest way to annotate data to build and ship computer vision applications.
Stars: ✭ 1,588 (+1191.06%)
Mutual labels:  labeling
Radish
Desktop client for Redis (Windows, MacOS, Linux)
Stars: ✭ 117 (-4.88%)
Mutual labels:  gui
Cpupower Gui
cpupower-gui is a graphical program that is used to change the scaling frequency limits of the cpu, similar to cpupower.
Stars: ✭ 117 (-4.88%)
Mutual labels:  gui
Fenix
A simple and visual static web server with collaboration features.
Stars: ✭ 1,559 (+1167.48%)
Mutual labels:  gui
Mylittledom
High-level DOM-like terminal interface library
Stars: ✭ 116 (-5.69%)
Mutual labels:  gui
Core
OPNsense GUI, API and systems backend
Stars: ✭ 1,827 (+1385.37%)
Mutual labels:  gui
Gong Wpf Dragdrop
The GongSolutions.WPF.DragDrop library is a drag'n'drop framework for WPF
Stars: ✭ 1,669 (+1256.91%)
Mutual labels:  gui
Iaito
This project has been moved to:
Stars: ✭ 1,516 (+1132.52%)
Mutual labels:  gui
Phoenix
wxPython's Project Phoenix. A new implementation of wxPython, better, stronger, faster than he was before.
Stars: ✭ 1,698 (+1280.49%)
Mutual labels:  gui
Jclasslib
jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.
Stars: ✭ 1,789 (+1354.47%)
Mutual labels:  gui
Hello imgui
Hello, Dear ImGui: cross-platform Gui apps for Windows / Mac / Linux / iOS / Android / Emscripten with the simplicity of a "Hello World" app
Stars: ✭ 120 (-2.44%)
Mutual labels:  gui

FastClass

Version Python Style GitHub stars

A little set of tools to batch download images and weed through, delete and classify them into groups for building deep learning image datasets.

I wrote up a small blog post on my site www.christianwerner.net.

Installation

pip install git+https://github.com/cwerner/fastclass.git#egg=fastclass

The installer will also place the executables fcc and fcd in your $PATH.

The package currently contains the follwing tools:

Download images

Use fcd to crawl search engines (Google, Bing, Baidu, Flickr) and pull all images for a defined set of queries. In addition, files are renamed, scaled and checked for duplicates.

You provide queries and terms that should be excluded when naming the category folders. There is an example (guitars.csv) provided in the repository.

Usage

Call the script from the commandline. If you omit any input parameters it will show you the help page.

Usage: fcd [OPTIONS] INFILE

Options:
  -c, --crawler [ALL|GOOGLE|BING|BAIDU|FLICKR]
                                  selection of crawler (multiple invocations
                                  supported)  [default: ALL] (Note: BAIDU and FLICKR are not included in ALL option)
  -k, --keep                      keep original results of crawlers  [default:
                                  False]
  -m, --maxnum                    maximum number of images per crawler [default: 1000]
  -s, --size INTEGER              image size for rescaling  [default: 299]
  -o, --outpath TEXT              name of output directory  [default: dataset]
  -h, --help                      Show this message and exit.

  ::: FastClass fcd :::

  ...an easy way to crawl the net for images when building a dataset for
  deep learning.

  Example: fcd -c GOOGLE -c BING -s 224 example/guitars.csv

If you specify the -k, --keep flag a second folder called outpath.raw containing the original/ unscled images will be created.

Search file format

The csv file currently requires two columns (columns are seperated by a comma (,)) and each row defines a image class you want to download (see the guitars.csv file in the example folder). The first row contains a header which will be skipped.

Column 1 contains the search terms. You can specify multiple searchterms using space between them. If you want to require a search term enclose it in quotation marks (") (you can use the normal query syntax you'd normally use in a google search - i.e. filetype:jpg). In column 2 you can specify terms that should not be included in the final class names. An example would be that you want to add guitar to your search terms to help the search but don't need that term in the final folder class names. If you do not want to specify this column you can leave it blank (i.e., end the line with a comma).

Clean image sets

Once downloaded use fcc to quickly inspect the loaded files and rate or classify them. You can also mark them for deletion.

FastClass cleaner: fcc

Usage

Call the script from the commandline. If you omit any input parameters it will show you the help page.

Usage: fcc [OPTIONS] INFOLDER [OUTFOLDER]

  FastClass fcc

Options:
  --nocopy TEXT  disable filecopy for cleaned image set  [default: False]
  -h, --help     Show this message and exit.

  ::: FastClass fcc ::: ...a fast way to cleanup/ sort your images when
  building a dataset for deep learning.

  Note: In the application use the following keys: <1>, <2>, ... <9> for
  class assignments or quality ratings <space> assigns <1> <d> to mark a
  deletion <x> to terminate the app/ write output

  Use the buttons to navigate back and forth without changing the
  classification. The current classification of an image is given in the
  title bar (X indicated a mark for deletion). The counter in the titlebar
  gives number of classified images vs the total number in the input folder.

  In the output csv file 1,2 depcit class assignments/ ratings,  -1
  indicates files marked for deletion (if not excluded with -d).

Flickr Crawler

The Flickr crawler requires an API key. FastClass looks for the key in an environment variable called FLICKR_API_KEY. Request one from the Flickr API key application page.

FLICKR_API_KEY=asdf1234asdf456 fcd -c FLICKR my_project.csv

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].