Weather Image Recognition
Erbo Shan
This project includes four .py files
All four .py files are used for training the data set.
- WebCam.py: make predictions without relabling and normalization
- WebCamNormalized.py: make predictions with normalization
- Relable.py: relabl and normalize
- predict.py: takes images to predict the weather and time by using greyscale method and colourful image method.
python3 predict.py katkam-20170203150000.jpg
If you are interested in using Tensorflow in this project:
-
Download retrained_graph.pb
-
Download tf_files.zip and uncompress it
-
Open terminal
-
Get testing script
curl -L https://goo.gl/3lTKZs > label_image.py
-
This following command is used for testing:
python label_image.py tf_files/Cloudy/Cloudy329.jpg
-
Something like this will shown below:
mostlycloudy (score = 0.34056)
clear (score = 0.14641)
mainly clear (score = 0.14396)
cloudy (score = 0.12643)
rain showers (score = 0.08014)
drizzle (score = 0.06460)
moderate rain (score = 0.03207)
rain (score = 0.03091)
fog (score = 0.01696)
rain fog (score = 0.01162)
snow (score = 0.00633)
- We have already changed the name of image by its label (weather)[if there is no related weather from CSV file, we just ignore them], and classified them into different labeled (weather)folders.
eg. if we can find a specific weather for katkam-20160605080000.jpg (Let's say it is Rain).
The name of this images will be modified to Rainxx.jpg
- If you want to rename each image. The function below will help (uncommend it in WebCam.py )
👍 # renaming(FileName, Classifier)
If you want to retrain with your own data set
-
Tensorflow is required but Docker is more strongly recommended
-
Work under the same directory as the tf_files
-
Download traing script with this following command
curl -O https://raw.githubusercontent.com/tensorflow/tensorflow/r1.1/tensorflow/examples/image_retraining/retrain.py
- Start image retraining with this command and a retrained_graph.pb file will be generated
python retrain.py \
--bottleneck_dir=bottlenecks \
--how_many_training_steps=500 \
--model_dir=inception \
--summaries_dir=training_summaries/basic \
--output_graph=retrained_graph.pb \
--output_labels=retrained_labels.txt \
--image_dir=tf_files
Stuffs you may want to use for this(References):
- Tensorflow for trainning data
- Dcoker for training data on container
- References