Recently, I released a python module, icTrainer that allows users to train image classifier easily.
icTrainer has 3 functions.
Collect images
This function allows users to collect images easily. However, there are a couple of issues on this function. First one is to collect zero byte image(but zero byte file is removed after finishing download process) and The images collected by this function isn't the best one for training image classifier, so users need to select images manually. However, I think still this function is useful when people want to download iamges from the internet quickly.
$ ictrainer --mode collect --keyword dog -n 250
$ ictrainer --mode collect --keyword cat -n 250
Resize images
ImageResizer offers an image resizing function. This function is for iamges which are downloaded by ImageCollector(the first function), so need to follow the dataset/image_folder_name
structure. (This issue will be fixed soon)
$ ictrainer --mode resize --target cat --image_width 480 --image_height 320
Train image classifier
Then, the last function is to train a keras image classifier.
The output is .h5
. Users can try own classifier with test script(https://github.com/koji/icTrainer/tree/master/check_model).
This function is using fine-tuning with vgg16.
$ ictrainer --mode train --classes "cat" "dog" --mname "dogAndcat_"
I plan to add face detaction and face cropping function for training people's face classifier.
Details are here
https://github.com/koji/icTrainer
https://pypi.org/project/ictrainer/