First, I want to get something out of the way. MLFlex is not flexing machine learning vision. The project was named MLFlex because the main goal of the project was to give flexibility in the training tools while having freedom in labeling tools.
- Provide ability to convert multiple annotations to PascalVOC format and back for training
- Generate code files automatically for the RoboRio and Raspberry Pi
- Possibly also handle running the training commands in the background automatically (future)
usage: supervisely2pascal.py [-h] -i INPUT_FOLDER -o OUTPUT_FOLDER [-j] [-c] [-d] [-f] [-a]
optional arguments:
-j, --join - If parameter is specified, then if multiple Supervisely projects exist in the same folder, they will be joined into a single .zip instead of individual .zip files
-c, --cleanup If parameter is specified, then the input Supervisely path will be automatically deleted after use
-d, --debug If parameter is specified, then the temporary folders will be left for examination
-f, --feedback If parameter is specified, then the feedback will be provided during the conversion process
-a, --augmentation If parameter is specified, then additional flipped and cropped versions of the images and annotations will be included in the output
required arguments:
-i INPUT, --input INPUT Input path to the folder containing the Supervisely annotations.
-o OUTPUT, --output OUTPUT Output path for the .zip file
usage: generate_code.py [-h] -t TAG_LIST [TAG_LIST ...] -i INSTANCE_LIST [INSTANCE_LIST ...] -c COLOR_SCHEME [COLOR_SCHEME ...] -n TEAM_NUMBER -m MODEL_NAME -o OUTPUT_PATH [--neural_compute_stick] [-p] [-s] [-d] [-ds]
MLFlex: A quick and easy annotation manipulation tool. Code file generator
optional arguments:
--neural_compute_stick: If we're using a compute stick accelerator
-p, --no_printed_info: Do you want the information to be not printed?
-s, --streamer: If you want to have a stream of the output (debugging only)
-d, --dashboard_confidence: If you want to have the threshold on the Smart Dashboard
-ds, --dashboard_streaming: If you want to have a labeled stream over NetworkTables
required arguments:
-t TAG_LIST [TAG_LIST ...], --tag_list TAG_LIST [TAG_LIST ...]: List of objects (name)
-i INSTANCE_LIST [INSTANCE_LIST ...], --instance_list INSTANCE_LIST [INSTANCE_LIST ...]: Maximum allowed objects of each name
-c COLOR_SCHEME [COLOR_SCHEME ...], --color_scheme COLOR_SCHEME [COLOR_SCHEME ...]: List of box colors. Begins with default color then starts with the color of the bounding boxes for the first object. In BGR format, with color intensity being from 0-255
-n TEAM_NUMBER, --team_number TEAM_NUMBER: The team number
-m MODEL_NAME, --model_name MODEL_NAME: The name of the model being used
-o OUTPUT_PATH, --output_path OUTPUT_PATH: Output path for the code files
usage: pascal2pascal.py [-h] -i INPUT_FOLDER -o OUTPUT_FOLDER [-j] [-c] [-d] [-f]
optional arguments:
-c, --cleanup: If parameter is specified, then the input folder path will be automatically deleted after use
-d, --debug: If parameter is specified, then the temporary folders will be left for examination
-f, --feedback: If parameter is specified, then the feedback will be provided during the conversion process
-p, --prepare_dataset: If parameter is specified, then the files will also be copied into a dataset for training. Requires the output argument.
required arguments:
-i INPUT, --input INPUT: Input path to the folder containing the data to be converted.
-o OUTPUT, --output OUTPUT: Output path for the converted data. All images will be copied here as well. If nothing is specified, then the .xmls in the input directory will be modifed.
usage: pascal2ndjson.py [-h] -i INPUT_FOLDER -o OUTPUT_FOLDER [-c] [-f]
optional arguments:
-c, --cleanup: If parameter is specified, then the input folder will be automatically deleted after use
-f, --feedback: If parameter is specified, then the feedback will be provided during the conversion process
required arguments:
-i INPUT, --input INPUT: Input path to the folder containing the PascalVOC annotations.
-o OUTPUT, --output OUTPUT: Output path for the .zip file
Note: If having issues installing the requirements.txt packages, download C++ from this link. Make sure that both the Windows 8 and 10 SDKs are selected.