Week 3— Warmth of Image

Mert Surucuoglu
bbm406f17
Published in
4 min readDec 8, 2017

Title: Weather Condition Prediction from Image

Team Members: Berk GÜLAY, Samet KALKAN, Mert SÜRÜCÜOĞLU

E-mails Respectively: berkgulay.cs@gmail.com, abdulsametkalkan@gmail.com, mertsurucuogluu@gmail.com

In the previous week, we explained the project and some related works. We looked at what methods they used in the related works. And we collect our datasets. In this week, we tried to write a progress report. By working on that, we basically decided on the architecture of the project. And we are hoping to cover; rainy, sunny, cloudy, foggy, snowy weather classes.

When we were writing the report, we have discussed how we can do it. And there are many machine learning methods that can solve this kind of classification problems. In the related works that we found, they generally used Convolutional Neural Networks, Support Vector Machines and Decision Trees/Random Forests.

Since we will classify the images, we must analyze the images so we must use image processing tools and hand-crafted feature extraction methods. There are lots of image descriptors and hand-crafted tools/algorithms. But we eliminate some descriptors and we found what can be useful for us so that, we can use in our problem such as”Hog Descriptor”, ”SIFT”, ”Blob Detection”, ”Color Histograms”, ”Local Binary Patterns”, ”Gabor Filters”, “Intensity Histogram”.

To implement these algorithms there are many useful frameworks and libraries. For example, most used ones are tensorflow6, caffe7, keras8, libsvm9, scikit-learn10. While we are building convolutional part, we will use caffe framework, because it runs fast and it is easy to use. After convolutional part, libsvm can be used to implement and try support vector machines. And scikit-learn can be used to implement decision trees.

But when we get closer to finishing up the project. it was more clear to us the architecture. But by that time we had more questions, and we went to our advisor to ask our questions. And we learned that we can use haze for foggy and cloudy images, Contrast/Brightness for sunny images, Color(by using color histogram) for snowy images(we can extract the white pixels from image) and maybe for rainy images. Other than that, we have discussed organizing our dataset to make it more useful. To do this, first, we will resize the image then we will crop each image by using the same ratio rate for each image. So that, each image will have the same size. But, we also want to crop images with respect to get more sky area. To solve this problem, we need to detect the which part of the image has the sky. We thought a simple algorithm by using edge detector.

The result of putting the photo into the edge detector is that draws the edges of objects in every building, people, etc. in short, the edges of each object other than the sky, with a black background and white lines. So when we have that, we can decide which part of the image has less object and more sky(by counting the white pixel of each image segment). By the result, we can get more sky areas in each image and we can crop the object area.

After the algorithm that we applied

Progress Report Of The Project:

We didn’t start to write the code yet. Hopefully, in the next week we will be writing our code using this architecture and of course there can be changes in the architecture. We can’t wait to start the project. And we are looking forward to talk you about our project.

--

--