{"id":434,"date":"2019-09-25T09:33:24","date_gmt":"2019-09-25T17:33:24","guid":{"rendered":"https:\/\/live-cometml.pantheonsite.io\/?p=434"},"modified":"2025-05-08T10:02:03","modified_gmt":"2025-05-08T10:02:03","slug":"stanford-research-series-climate-classification-using-landscape-images","status":"publish","type":"post","link":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/","title":{"rendered":"Stanford Research Series: Climate Classification Using Landscape Images"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Authors: Drake Johnson (drakej@stanford.edu), Tim Ngo (ngotm@stanford.edu), Augusto Fernandez (afyrxr@stanford.edu)<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I. Introduction:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Recently, there has been an increase in interest in the public for the ecosystem surrounding humans. Often, it is believed that a deeper understanding of the ecological context one lives in makes them more likely to advocate for environmental activism, and because of this, it is important to cultivate this increased interest. In spite of this, it is sometimes difficult to learn more about the ecosystem around a location without expert help, especially when one does not have the specific vocabulary to describe the ecosystem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One way to ameliorate this is by providing the climate classification for a specific image. Although climate is not the only variable that characterizes an ecosystem, it is a simple piece of information that provides a jumping off point to learn more about the natural world in general. Furthermore, with the rise of global warming, climate is an important aspect of the system, as different climates may change drastically in the future. Finally, climate is a practical choice for public education, as systems such as the K\u00f6ppen-Geiger climate classifications are well structured and defined.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We want to create a tool to recognize climate category based on photos. With this, one could take a picture of the nature they may be around, and immediately know what ecosystem they are actively affecting. Instead of an abstract idea, the ecosystem will then be tangible. Furthermore, this could serve as a general educational tool, allowing people to be more familiar with images of ecosystems they may stumble across. The classifier takes in an image of a natural landscape as input and outputs the climate that is most likely shown in the picture. In this work, we use several different machine learning paradigms to attempt to achieve this aim, with best performance using a ResNet Convolutional Neural Network.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">II. Related Work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most work done on climate classification thus far seems to be focused on using satellite imagery or multi-spectral data as opposed to landscape imagery of photos taken from Earth. Generally these projects employed SVMs or random forests (RFs) to perform the classification.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A project in South Africa used imagery from the RapidEye satellite to classify tree species in semi-arid areas [1]. An analysis for classifying different agricultural landscapes employed both RFs and SVMs but found no statistically significant difference between them [2]. A project that was specifically focused on urban climates evaluated SVMs, RFs and a neural network to identify urban climates from satellite imagery and in particular, accuracy of 97.4% and 95.3% was achieved on the neural network and RF respectively [3]. Additionally, another project studied different statistical methods for ecological classification and found that RFs performed better when compared to logistic regression and other common methods [4].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because most projects already out there seem to focus on using satellite imagery or advanced data to perform climate classification, we decided that it would be best to use landscape imagery taken by people on Earth as this would make the use of our project more readily accessible to a common user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We did find that a similar project used street view or user taken images and attempted to identify from where the images were taken [5]. Instead of using regression to predict latitude and longitude, the surface of the earth into cells in order to cast geolocation as a classification problem, and the probability that a given image was taken in each cell was predicted using convolutional neural networks. It was found that the model outperformed image retrieval methods more commonly used for geolocation, sometimes even achieving \u201csuperhuman\u201d accuracy [5]. The high accuracy of this project made it seem feasible for us to take on the project we chose. Furthermore because of the success that a convolutional neural network model exhibited both in this study and the urban climate study we decided to use a CNN in our project as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">III. Dataset and Features<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To acquire training and testing data we started by identifying a dataset of publicly available Flickr images that were geotagged [6]. We then built a script to filter through the images in this dataset, based on user-provided tags. In particular, we were focused mainly on nature and landscape images for this project and we tried to eliminate photos of people or urban shots. Flickr provides users with the option to tag images with keywords. This allowed us to select images with keywords relevant to landscapes, and filter out undesirable images, such as portraits and street photography. Desired tags included \u201clandscape,\u201d \u201coutdoors\u201d and \u201cnature,\u201d while undesired tags included, \u201curban,\u201d \u201cme,\u201d \u201cportrait\u201d and \u201cnyc,\u201d among others. We then downloaded the subset of images that satisfied the required filters. This gave us a total of about 320,000 images, mostly of natural landscapes, to work with. Due to the tags being user-provided, however, some images did not depict landscapes, resulting in noisy labels. Nevertheless, mapping the geolocations of our dataset show that we have representative images of climates from most of the world.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"453\" height=\"123\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-1.jpeg\" alt=\"\" class=\"wp-image-438\" srcset=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-1.jpeg 453w, https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-1-300x81.jpeg 300w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the class labels we initially used the K\u00f6ppen climate classification system but found that many of the climates were severely overshadowed by other climates with many more representative images in our dataset. As such we grouped certain K\u00f6ppen climates together and came up with our own broader classification system for the climates. The thirteen overarching classes and the K\u00f6ppen climates they represent are listed below in Table 1. Using all 320,000 images, however, ended up being too computationally demanding for our resources. Because of this, we decided to only use a sample of our initial dataset. Certain climates, such as oceanic, had many more images attributed to them, resulting in a relative class imbalance, so in downsampling, we chose to sample the same number of images from each climate, which balanced the classes. We felt this was reasonable, as although the results are not representative of our models performance on the original dataset, the model is not intended to be used on the original dataset, but rather user inputted images.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"502\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/table-1-1.png\" alt=\"\" class=\"wp-image-439\" srcset=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/table-1-1.png 441w, https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/table-1-1-264x300.png 264w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-image\"><\/div>\n\n\n\n<div><\/div>\n\n\n\n<div><\/div>\n\n\n\n<div>\n<p>The images were then labelled using their latitude and longitude metadata and K\u00f6ppen-Geiger climate classification map data [7], by finding the nearest geolocation to the image metadata in the climate map.<\/p>\n<p>We then pre-processed the images to make them a uniform size and have a more manageable number of pixels. After resizing every image to 224 by 224 pixels (with 3 color channels), the pixel values were then normalized to be standard normal.<\/p>\n<p>An analysis of our final dataset showed a reasonable spread of locations across the world, as well as across different climates. Because we manually balanced our classes, we also see even numbers of climates in our dataset. Finally, we randomly split our dataset and stratified to maintain class balances, setting 60% for training, 20% for validation, and 20% for testing.<\/p>\n<h2>IV. Methods<\/h2>\n<p>In order to establish a baseline for performance of a model on our dataset, we trained a logistic regression model and a support vector machine model. After an initial attempt to train these models on normalized pixel values, we decided to manually create features from the images first. This could reduce the dimensionality of the features, and create more tractable information. To do this, we used Histograms of Oriented Gradients (HOG). HOG was used both for its computational efficiency and its use in image classification in the literature, although not tested on landscape imagery specifically [12]. HOG works by calculating several different orders of gradients over the image, and then calculating frequencies of these gradients in grids across the image. After tuning parameters, the best performing version of this algorithm resulting in a 1,568 dimensional feature vector, which was then normalized to have mean 0 and standard deviation of 1.<\/p>\n<p>With these features, we then train a logistic regression classifier. Logistic regression models the relationship between features and the response variable, which in this case is the climate, through the logistic function, which takes the form:<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-440 size-full\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/formula-1-1.png\" alt=\"\" width=\"105\" height=\"34\"><\/figure><p><\/p>\n<p>X is the features corresponding to a given image, and \u03b8 is the parameter that our model learns during training. This outputs a vector with values for each climate, which we then get our prediction from by taking the softmax of this vector. To optimize this parameter, we perform l2 regularization by minimizing the following cost function:<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-441 aligncenter\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/formula-2-1.jpeg\" alt=\"\" width=\"226\" height=\"42\"><\/figure><div class=\"wp-block-image\"><\/div>\n<div>\n<p>where C is the regularization term.<\/p>\n<p>We found, however, that when training the model on our derived features, we achieved 100% accuracy on the training data. Upon inspection, we realized that there were more dimensions in our feature vector than there were training examples, and thus the model matrix was not full rank. To account for this, we used only the first one hundred principal components of each feature, transforming each feature using principal component analysis (PCA). PCA finds orthogonal components that describe the most variation within the data, which each vector can then be projected onto.<\/p>\n<p>We then trained an SVM model to get another baseline accuracy. SVM works by maximizing the cost function:<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-442 size-full\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/1_formula-3.jpeg\" alt=\"\" width=\"231\" height=\"41\"><\/figure><p><\/p>\n<p>subject to the constraint that<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-443 aligncenter\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/1_formula-4.png\" alt=\"\" width=\"80\" height=\"41\"><\/figure><p><\/p>\n<p>with<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-444 aligncenter\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/formula-5.png\" alt=\"\" width=\"124\" height=\"20\"><\/figure><p><\/p>\n<p>where &lt;x&nbsp;<em>(i)<\/em>, x&nbsp;<em>(j)&gt;&nbsp;<\/em>is given by some kernel function K. By doing this, the algorithm finds a hyperplane that optimally separates two classes of data, by maximizing the minimum distance between data points and the plane. However, because we have more than two classes of data, we use a one vs one paradigm, creating many different models to account for each pairing of classes.<\/p>\n<p>Finally, to tune the hyperparameters, we perform a grid search over regularization constants for linear regression and kernels for SVM, using 3 fold cross validation on the training data.<\/p>\n<p>After having our two baselines we proceeded to try and build a more robust model using a convolutional neural network. In particular, we selected the ResNet-18 architecture. This residual neural network consists of an initial convolutional layer, 8 two-layer ResNet blocks and a final fully connected layer. Furthermore, we used a transfer learning approach. A ResNet was pre-trained on the ImageNet dataset, yielding high performance classification for general images. Theoretically, this allows the hidden layers of the model to already know useful features about images already.<\/p>\n<p>We then take this model and modify the output and input layer for our specific classification task. We also normalize each image to a predefined mean and variance, both slightly above 0, given by the initial dataset [13]. Finally, we retune the model from these starting weights on our own dataset through standard back propagation, using a loss function of cross-entropy. We found convergence of loss after training for 30 epochs, using .001 for a learning rate, a mini-batch size of 64, and momentum of .9 to avoid local minima. These parameters were chosen through manual tuning to minimize validation loss, due to computational limitations to searching across a larger search space.<\/p>\n<p>Each residual block contains a shortcut connection, by way of adding the outputs before the block, x, to the outputs of the stacked layers, F(x), as shown in Figure 2. The addition of the identity is hypothesized to facilitate optimization by making it straightforward for a layer to become an identity mapping, by allowing F(x) to go to zero [8]. This effectively allows deep models to behave more like shallower models when doing so is more optimal.<\/p>\n<\/div><\/div>\n\n\n\n<figure class=\"wp-block-image size-full alignnone wp-image-445\"><img loading=\"lazy\" decoding=\"async\" width=\"180\" height=\"99\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-2.jpeg\" alt=\"\" class=\"wp-image-445\"\/><figcaption class=\"wp-element-caption\">Figure 2: Two-layer residual block diagram [8]<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">V. Experiments\/Results\/Discussion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To analyze our results, we primarily care about accuracy, given simply by the correct number of classifications over the total number of classifications. This is because false positives and false negatives are equivalent to us, and need not be weighed differently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our baselines did not perform accurately but this is to be expected. Below is a graph of the first three components from a PCA of the histogram of gradients features:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full alignnone wp-image-446\"><img loading=\"lazy\" decoding=\"async\" width=\"168\" height=\"149\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-3-1.png\" alt=\"\" class=\"wp-image-446\"\/><figcaption class=\"wp-element-caption\">Figure 3: PCA histogram of gradients<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As can be seen, these classes are not obviously separable in this dimension, although the first three components were only shown to explain 20% of the variation in our features, and may still be separable in higher dimension. Clearly climate classification is something very nuanced and hard to distinguish with the given features. Indeed in the confusion matrix for logistic regression on the test set we see poor performance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full alignnone size-medium wp-image-447\"><img loading=\"lazy\" decoding=\"async\" width=\"401\" height=\"247\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-4.jpeg\" alt=\"\" class=\"wp-image-447\" srcset=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-4.jpeg 401w, https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-4-300x185.jpeg 300w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\" \/><figcaption class=\"wp-element-caption\">Figure 4: Logistic regression confusion matrix for test set.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Our overall accuracies for the logistic regression model were 0.27 on the training set and then 0.13 and 0.1 respectively on the validation and testing sets. Seeing as we have 13 superclasses we see that the logistic regression model performed only slightly better than chance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The SVM model also performed poorly, although better than logistic regression. While during training we achieved an accuracy of 0.77, during validation and testing we achieved an accuracy of only 0.12 and 0.15 respectively. The confusion matrix for the performance of SVM on the testing set is reported below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full alignnone size-medium wp-image-448\"><img loading=\"lazy\" decoding=\"async\" width=\"390\" height=\"230\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-5.jpeg\" alt=\"\" class=\"wp-image-448\" srcset=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-5.jpeg 390w, https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-5-300x177.jpeg 300w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><figcaption class=\"wp-element-caption\">Figure 5. SVM confusion matrix for test set.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The CNN performed better than we expected. As can be seen from the confusion matrix, even when predicting incorrectly, the predicted classes were often closely related to the true class. The three tropical climates were often conflated with each other, arctic and subarctic climates were linked, and the two arid climates were linked as well.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full alignnone size-medium wp-image-449\"><img loading=\"lazy\" decoding=\"async\" width=\"430\" height=\"253\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-6.jpeg\" alt=\"\" class=\"wp-image-449\" srcset=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-6.jpeg 430w, https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/figure-6-300x177.jpeg 300w\" sizes=\"auto, (max-width: 430px) 100vw, 430px\" \/><figcaption class=\"wp-element-caption\">Figure 6. CNN confusion matrix for test set.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">To better interpret errors made by our CNN model, we mapped class activations for selected images. This allows us to visualize the implicit \u201cfocus\u201d of the CNN on different regions of an image [9].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As seen in Figure 7, when classifying the above image as a rainforest, the CNN was indeed focusing on the trees on the island, whereas the focus for subarctic was on the sea while ignoring the island. It is likely that that particular shade of blue appears often in subarctic photos and that\u2019s what led to the model finding that label as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The table below summarizes the overall performance of each model<\/p>\n\n\n\n<figure class=\"wp-block-image size-full alignnone size-medium wp-image-450\"><img loading=\"lazy\" decoding=\"async\" width=\"456\" height=\"221\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/summary.png\" alt=\"\" class=\"wp-image-450\" srcset=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/summary.png 456w, https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/summary-300x145.png 300w\" sizes=\"auto, (max-width: 456px) 100vw, 456px\" \/><figcaption class=\"wp-element-caption\"><br>Figure 7. CAM for \u201cTropical Rainforest\u201d (top) and \u201cSubartic\u201d (bottom)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">VI. Conclusions\/Future Work<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">There are numerous aspects of the project we feel we could\u2019ve improved upon given more time. To start with, we would have liked to better curate the dataset. Because we relied upon an initial set of Flickr images with user-entered labels to classify them as landscape, nature, etc. we ended up with some noise in our dataset. While we did our best to filter out these noisy images, inevitably some went through and we ended up with images of interiors or shots that are not relevant for climate classification. Ideally the database we train on should include only nature shots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We also had to tag these images with a specific label from our 13 superclasses using their GPS coordinates. Ideally we could come up with a better proxy for climate when labelling our dataset which would again serve the purpose of leading to less noise or inaccuracies within the data itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, while currently our model only takes into account the raw pixel values of the image itself. We foresee that improvements could be made by also using the season during which the photo was taken as a feature. Landscapes can look very different depending on the time of year and this is something that we saw is causing misclassifications with our model in its current state. In general, snowed on landscapes are being classified as arctic or subarctic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">VII: Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Github:&nbsp;<a href=\"https:\/\/github.com\/timmngo\/cs229-koppen\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/timmngo\/cs229-koppen<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google Drive:&nbsp;<a href=\"https:\/\/drive.google.com\/file\/d\/1ODVCH2_dG5NM\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/drive.google.com\/file\/d\/1ODVCH2_dG5NM<\/a>V012Jd1j09lq8UF9viib\/view?usp=sharing<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">VIII: Contributions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Worked on proposal, milestone, poster, and report, and collaborated on coding<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Met often to work together in-person<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Experimented with different parameters\/models and documented results<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drake Johnson (drakej@stanford.edu)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Set up notebooks for our LR, SVM, and CNN experiments<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Set up VM instance\/programming environment<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Performed principal component analysis<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tim Ngo (ngotm@stanford.edu)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Set up notebook for class activation mapping<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Worked on scripts to filter, label, and download images from the dataset<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Augusto Fern\u00e1ndez (afytxr@stanford.edu)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Contributed significantly to milestone and final report<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u25cf Worked on scripts to filter, label, and download images from the dataset<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">IX. REFERENCES<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">[1] S. Adelabu, O. Mutanga, E. E. Adam, M. A. Cho, \u201cExploiting machine learning algorithms for tree species classification in a semiarid woodland using RapidEye image,\u201d J. Appl. Rem. Sens. 7(1) 073480, Nov. 2013.&nbsp;<a href=\"https:\/\/www.spiedigitallibrary.org\/journalArticl\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.spiedigitallibrary.org\/journalArticl<\/a>&nbsp;e\/Download?fullDOI=10.1117%2F1.JRS.7.073 480<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2] D. C. Duro, S. E. Franklin, M. G. Dub\u00e9, \u201cA comparison of pixel-based and object-based image analysis with selected machine learning algorithms for the classification of agricultural landscapes using SPOT-5 HRG imagery,\u201d Remote Sensing of Environment, vol. 118, pp. 259\u2013272, ISSN 0034\u20134257, 2012,&nbsp;<a href=\"https:\/\/doi.org\/10.1016\/j.rse.2011.11.020.\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/doi.org\/10.1016\/j.rse.2011.11.020.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[3] B. Bechtel and C. Daneke, \u201cClassification of Local Climate Zones Based on Multiple EarthObservation Data,\u201d in IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 5, no. 4, pp. 1191\u20131202, Aug. 2012,&nbsp;<a href=\"https:\/\/doi.org\/10.1109\/JSTARS.2012.2189873\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/doi.org\/10.1109\/JSTARS.2012.2189873<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[4] Cutler, D. R., Edwards, T. C., Beard, K. H., Cutler, A. , Hess, K. T., Gibson, J. and Lawler, J. J., \u201cRandom Forests for Classification in Ecology,\u201d Ecology, vol. 88, pp. 2783\u20132792, 2007. doi:10.1890\/07\u20130539.1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[5] T. Weyland, I. Kostrikov, and J. Philbin, \u201cPlaNet \u2014 Photo Geolocation with Convolutional Neural Networks,\u201d arXiv:1602.05314 [cs.CV], Feb. 2016.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[6] H. Mousselly-Sergieh et al., \u201cWorld-wide scale geotagged image dataset for automatic image annotation and reverse geotagging,\u201d Proceedings of the 5th ACM Multimedia Systems Conference, pp. 47\u201352, Mar. 2014. DOI: 10.1145\/2557642.2563673.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[7] M. Kottek et al., \u201cWorld Map of the K\u00f6ppen-Geiger climate classification updated,\u201d Meterol. Z., vol. 15, pp. 259\u2013263, 2006. DOI: 10.1127\/0941\u20132948\/2006\/0130.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[8] He, K., Zhang, X., Ren, S., &amp; Sun, J., \u201cDeep residual learning for image recognition,\u201d Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770\u2013778, 2016.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[9] Zhou, B., Khosla, A., Lapedriza, A., Oliva, A., &amp; Torralba, A., \u201cLearning deep features for discriminative localization,\u201d Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 2921\u20132929, 2016.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[10] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, \u00c9. Duchesnay. \u201cScikit-learn: Machine Learning in Python\u201d, Journal of Machine Learning Research, 12, pp. 2825\u20132830, 2011.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[11] N. Inkawhich, \u201cFinetuning Torchvision Models \u2014 PyTorch Tutorials 1.1.0 documentation\u201d, Pytorch.org, 2019. [Online]. Available:&nbsp;<a href=\"https:\/\/pytorch.org\/tutorials\/beginner\/finetuning\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/pytorch.org\/tutorials\/beginner\/finetuning<\/a>&nbsp;_torchvision_models_tutorial.html. [Accessed: 12- Jun- 2019].<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[12] Navneet Dalal, Bill Triggs. Histograms of Oriented Gradients for Human Detection. International Conference on Computer Vision &amp; Pattern Recognition (CVPR \u201805), Jun 2005, San Diego, United States. pp.886\u2013893,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[13] K. He, X. Zhang, S. Ren, and J. Sun, \u201cDeep Residual Learning for Image Recog<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Authors: Drake Johnson (drakej@stanford.edu), Tim Ngo (ngotm@stanford.edu), Augusto Fernandez (afyrxr@stanford.edu) I. Introduction: Recently, there has been an increase in interest in the public for the ecosystem surrounding humans. Often, it is believed that a deeper understanding of the ecological context one lives in makes them more likely to advocate for environmental activism, and because of [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":437,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"customer_name":"","customer_description":"","customer_industry":"","customer_technologies":"","customer_logo":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[],"coauthors":[107],"class_list":["post-434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-partners-integrations"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Stanford Research Series Climate Classification Landscape<\/title>\n<meta name=\"description\" content=\"Stanford Research Series: climate classification using landscape images.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stanford Research Series: Climate Classification Using Landscape Images\" \/>\n<meta property=\"og:description\" content=\"Stanford Research Series: climate classification using landscape images.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/\" \/>\n<meta property=\"og:site_name\" content=\"Comet\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cometdotml\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-25T17:33:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-08T10:02:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"525\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gideon Mendels\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Cometml\" \/>\n<meta name=\"twitter:site\" content=\"@Cometml\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gideon Mendels\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Stanford Research Series Climate Classification Landscape","description":"Stanford Research Series: climate classification using landscape images.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/","og_locale":"en_US","og_type":"article","og_title":"Stanford Research Series: Climate Classification Using Landscape Images","og_description":"Stanford Research Series: climate classification using landscape images.","og_url":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/","og_site_name":"Comet","article_publisher":"https:\/\/www.facebook.com\/cometdotml","article_published_time":"2019-09-25T17:33:24+00:00","article_modified_time":"2025-05-08T10:02:03+00:00","og_image":[{"width":700,"height":525,"url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg","type":"image\/jpeg"}],"author":"Gideon Mendels","twitter_card":"summary_large_image","twitter_creator":"@Cometml","twitter_site":"@Cometml","twitter_misc":{"Written by":"Gideon Mendels","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#article","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/"},"author":{"name":"Matt Peternell","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/85aa446f8be987e848ea929ef524b67b"},"headline":"Stanford Research Series: Climate Classification Using Landscape Images","datePublished":"2019-09-25T17:33:24+00:00","dateModified":"2025-05-08T10:02:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/"},"wordCount":3050,"commentCount":0,"publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#primaryimage"},"thumbnailUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg","articleSection":["Partners &amp; Integrations"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/","url":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/","name":"Stanford Research Series Climate Classification Landscape","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#primaryimage"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#primaryimage"},"thumbnailUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg","datePublished":"2019-09-25T17:33:24+00:00","dateModified":"2025-05-08T10:02:03+00:00","description":"Stanford Research Series: climate classification using landscape images.","breadcrumb":{"@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#primaryimage","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg","width":700,"height":525,"caption":"Climate Classification Using Landscape Images | Comet ML"},{"@type":"BreadcrumbList","@id":"https:\/\/www.comet.com\/site\/blog\/stanford-research-series-climate-classification-using-landscape-images\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.comet.com\/site\/"},{"@type":"ListItem","position":2,"name":"Stanford Research Series: Climate Classification Using Landscape Images"}]},{"@type":"WebSite","@id":"https:\/\/www.comet.com\/site\/#website","url":"https:\/\/www.comet.com\/site\/","name":"Comet","description":"Build Better Models Faster","publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.comet.com\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.comet.com\/site\/#organization","name":"Comet ML, Inc.","alternateName":"Comet","url":"https:\/\/www.comet.com\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","width":310,"height":310,"caption":"Comet ML, Inc."},"image":{"@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/cometdotml","https:\/\/x.com\/Cometml","https:\/\/www.youtube.com\/channel\/UCmN63HKvfXSCS-UwVwmK8Hw"]},{"@type":"Person","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/85aa446f8be987e848ea929ef524b67b","name":"Matt Peternell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/image\/da003ee51bbeeccfb95147ec69139879","url":"https:\/\/secure.gravatar.com\/avatar\/36058153d701caaf237a96d5d6fb9c2d1678325c3ed0d8e88bf5e487019a2a53?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/36058153d701caaf237a96d5d6fb9c2d1678325c3ed0d8e88bf5e487019a2a53?s=96&d=mm&r=g","caption":"Matt Peternell"},"description":"We re-implemented the architecture of this model to incorporate patient and study information. By comparing our updated model to the original Github repository, we were able to quantify the benefits of classifying by patient as opposed to classifying by individual X-ray. We observed a 0.0254 increase in AUROC when evaluating the DenseNet121 on patients instead of on individual scans.","sameAs":["http:\/\/atre.net"],"url":"https:\/\/www.comet.com\/site\/blog\/author\/mpeternellatre-net\/"}]}},"jetpack_featured_media_url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/02\/climate.jpeg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/comments?post=434"}],"version-history":[{"count":3,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/434\/revisions"}],"predecessor-version":[{"id":15867,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/434\/revisions\/15867"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media\/437"}],"wp:attachment":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media?parent=434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/categories?post=434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/tags?post=434"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/coauthors?post=434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}