Skip to content

walton-wang929/Image_Classification

Repository files navigation

Overview

This repo contains three methods for training and deploying a image classification task.

  • In Image_Classfication_Keras/, use keras to train a network, including training, testing codes.
  • In Image_Classfication_Mobile, use TFmobile/TFLite to train, trained network can deploy on mobile devices.
  • In Image_Classification_TensorflowSlim, use TFSlim as a base to train, focus on realize high accurate precision, run by Personal PC / server.

Usually, there are several steps for a Image_Classfication_work.

step1: data collection and argumentation

  • open source data: There are many open source dataset from the world. like ImageNet, COCO, PASVAL, google Open Images, and some kaggle public competition dataset.
  • collected by yourself data
  • data argumentation

step2: pretrained model comparison and selection

step3: training

step4: test trained model

  • calculate numeric metrics(Accuracy, Precision, Recall, F1)
  • determine classification threshold (ROC Curve, PR curve)
  • No Prediction bias

step5: deployment to mobile or cloud server

  • TF Mobile and TF lite
  • PC
  • server

Demo

I fine trained a VGG16 gender recognition model based on my own dataset[22000].

source video

KLIA Airport

reference:

  1. image-classify-server
  2. GenderClassifierCNN
  3. deep-machine-learning/Retrained-InceptionV3
  4. tensorflow-for-poets-2: TFlite
  5. tensorflow-for-poets-2: Optimize for Mobile
  6. googlecodelabs/tensorflow-for-poets-2
  7. tensorflow-for-poets
  8. TensorFlow-Slim image classification model library
  9. TensorFlow-Slim