Search
Close this search box.

Analyzing Satellite Imagery with Computer Vision

cover-satellite imagery

Build, deploy, operate computer vision at scale

  • One platform for all use cases
  • Connect all your cameras
  • Flexible for your needs
Contents

Today, satellite imagery is widely used for remote sensing. Satellites like Sentinel, IKONOS, MODIS, Landsat, QuickBird, GeoEye, and WorldView-1-2 provide high-resolution images. Global services such as Google Earth, Google Maps, and Microsoft Bing Maps offer these satellite images for public access.

Satellite imagery has applications in the creation of maps, geographic information systems (GIS), land cover classification, navigation, agriculture, crisis management, and more. Moreover, engineers analyze satellite imagery using computer vision models for tasks such as object detection and classification.

About us: We empower teams to rapidly build, deploy, and scale computer vision applications with Viso Suite, our comprehensive platform. Trusted across industries, Viso Suite streamlines data processing, AI model training, and edge-based video analytics. To get started with Viso Suite, book a demo with our team of experts.

Viso Suite
Viso Suite: the only end-to-end computer vision platform

AI Techniques for Satellite Imagery

The merge of computer vision satellite technology facilitates multiple applications – from field monitoring and urban planning to disaster response and real-time geospatial intelligence. We will elaborate on computer vision techniques like Convolutional Neural Networks (CNNs). They enable pattern recognition and feature extraction from satellite visual data.

Data Preprocessing

Although the satellite data is already prepared and ready for analysis, there are a few more processing steps – before using the data in a deep learning model. Providing missing data is a common problem when working with satellite data. Climate conditions including clouds, rain, shadows, etc. might cause data to be missing or incorrect.

Additionally, it is possible to collect data from multiple orbital trajectories, so that satellite data covers large geographical areas. Further complications may arise from the multi-modal data collected. To adjust the time steps, it is necessary to interpolate the images between two sequences.

Preprocessing steps for satellite imagery
Preprocessing steps for satellite imagery  – Source

In order to do augmentation of multi-modal data, CV engineers apply spatial interpolation. Stable diffusion techniques also work well most of the time. While closest neighbor or bilinear interpolation is good for spatial interpolation, for temporal interpolation you’ll need linear or cubic spline interpolation.

Data Labeling

The enormous diversity of objects and landscapes visible from orbit requires enormous volumes of labeled data. CV models need labeled data to process the satellite imagery. It is not feasible to manually label enough satellite photos and train algorithms to comprehend visual data. To create labeled datasets, data labeling technologies are essential.

Domain specialists can quickly classify spatial elements in satellite photos with the help of user-friendly interfaces by modern data labeling technologies. This involves tracing the contours of land parcels, creating bounding boxes around things like buildings, and using semantic segmentation to assign labels to segments.

Viso Suite offers a built-in image annotation environment based on CVAT. The whole platform is cloud-based and provides integrated image and video annotation tools.

computer vision image annotation cvat in Viso Suite
Image annotation tool by Viso Suite

After applying the data labeling techniques, supervised computer vision models are trained using satellite imagery datasets. Performance measures from the training offer input to improve the labeling procedure for the best possible model development.

Model Training

Miller et al. (2023) utilized Satellite Image Time Series (SITS) with about 50 satellite datasets, gathered in the period 2017-2023. They annotated one dataset for an extrinsic regression task and used 31 datasets for classification tasks. Sentinel-2 is the most used data source since it provides 13 satellite imagery datasets and supplies all the data for 14 of them.

Common sources include Landsat-8 and Sentinel-1, which provide 13 and 6 datasets, respectively. The datasets have temporal resolutions ranging from daily to monthly and spatial resolutions ranging from 3 to 60 meters.

Example images with labels from the AID dataset
Example images with labels from the AID dataset – Source

Researchers implemented CV models in multiple use cases: land use and land cover classification, semantic segmentation, object detection in satellite imagery, etc. Their models support both multi-class and multi-label classification. The multi-class models assign a single label per image, whereas the multi-label models assign multiple labels, which is closer to reality.

Caron et al., 2019, utilized unsupervised deep learning with large amounts of unlabeled images to learn robust features. They applied clustering in combination with deep neural networks to provide pseudo-labels for a convolutional neural network.

Deep Learning and CNN for Satellite Image Recognition

Sequential and multi-dimensional data processing are both appropriate use cases for CNNs. The process of learning derives features from the input that includes contextual information. The convolutional layer is followed by an activation layer and, optionally, a pooling layer. Then, the training phase produces the filter weights.

CNN framework for model training over satellite imagery
CNN framework for model training over satellite imagery  – Source

Dimitrovski et al. (2002) applied unsupervised deep learning to learn general features from a large set of unlabeled satellite images. Moreover, they applied fine-tuning using datasets with a limited number of labeled images for a given task.

In addition, they initialized and created the model with configuration. Researchers utilized the ResNet50 architecture that they invoked from a toolbox. Their configuration parameters were the number of epochs, the number of classes, the learning rate, the directory path to save the model parameters, the results, the threshold to obtain the predictions, and the various metrics.

Code Example and Deployment

By setting the pre-trained parameter to true researchers chose the pre-trained variant of ResNet50 over the ImageNet dataset. Then, they fine-tuned using the UC multi-label dataset.

Also, they trained their model with the data. They applied the train and evaluate model function. The function accepts the training dataset created using the code from the listing below.

# Loading trained model and predicting image
model.load_model(’ucmerced/experiments’)
image = image_loader(’images/predict’)
plt.imshow(image)
y_true, y_pred, y_prob=model.predict_image(image)
# Creating a model and Model training
epochs = 50
model_directory = "/ucmerced/experiments/"
model_config = {"num_classes":17,
"learning_rate":0.0001 ,"pretrained":True,"threshold":0.5}
model = ResNet50MultiLabel (model_config)
model.prepare()
model. train_and_evaluate_model(
train_dataset =train_dataset, epochs=epochs,
model_directory =model_directory,
val_dataset =test_dataset, run_id=’1’,)

Code example – model training for satellite image recognition – Source

To test the model, they predicted several images from an external source and observed how the model performs. They loaded the images using the utility function image loader from the toolbox, loaded the model parameters from a file, and called the predict function. The predict function returned the predicted labels and the probability for each label.

AI Challenges with Satellite Imagery

There are multiple challenges when dealing with satellite imagery:

  • Large amount of data: Satellite image datasets are huge, requiring high processing and storage capabilities.
  • Data protection (privacy): Higher resolution photos could be banned or unavailable depending on the region because of privacy or national security policies.
  • Variable image quality: A number of variables, including air disturbances, sensor noise, and the satellite’s distance from the Earth, can lead to inconsistent image quality. Variations in image resolution might also be a cause for concern.
  • Lack of labeled data: Every image, or section of an image, should be labeled with its accurate meaning for supervised learning. This is a manual procedure requiring special skills, especially for aerial images.
  • Periodic changes: Changes in lighting, weather, seasonal vegetation, and human activity can all affect how the same site appears in satellite photos taken at different periods. This poses a significant difficulty for temporal consistency.
  • Scale variations: Depending on the altitude of the satellite and the angle of the camera, objects of interest can appear at different scales. A building could take up a few pixels in one picture and a large portion of another. Additionally, it is difficult to identify small objects.
Results for pre-trained models on the SAT6 dataset
Results for pre-trained models on the SAT6 dataset – Source
  • Geometric distortions: occur when taking satellite photos at different angles and a considerable height. Radiometric distortions are evident in case of changes in the sensor view angle, sun angle, and atmospheric conditions.
  • Multiple bands: Satellite images, unlike conventional photos, frequently contain more than simply red, green, and blue spectral bands. Although this extra data can improve the performance of the models, it also complicates the development of new models.

Applications and Use Cases in Different Industries

Below, we highlight several high-value applications of CV for high-resolution satellite image analysis and processing.

Agriculture

Monitoring crop progress is a task that usually requires a lot of time and effort. With satellite imagery, it is possible to remotely monitor and track crop progress and health in fields expanding hundreds of hectares on time. Moreover, images can be taken using satellite data import.

Farmers use these images to analyze the water needs on the farm, the (poor) spread of nutrients, and to plan aerial treatments for yield growth. Companies can get comprehensive field analysis for insurance purposes, and smooth farm management with accurate results from crop insights.

Transport and Traffic

By analyzing satellite imagery – businesses can automatically detect road congestion, accidents, as well as road damage. This allows companies to guide their fleet and road authorities to conduct road maintenance.

Instance segmentation in the context of traffic management.
Instance segmentation in the context of traffic management.

In addition to inspection, satellite imagery helps automatically detect and classify different road entities, such as pedestrians and vehicles (cars, trucks, bicycles). Moreover, offline analyses can provide reports and visuals that are required by the government authorities.

Infrastructure and Cadaster

Computer vision empowers satellite imagery in mapping and cartography purposes (e.g. locating streets, buildings, bridges, industrial objects, etc.). It helps the local authorities to decide where to locate public institutions, such as schools, hospitals, kindergartens, etc.

Geodesy engineers utilize photogrammetry techniques to generate very accurate measurements and 3D models of any landscape from satellite data. Also, the land administration can map property borders by having satellite images.

Disaster Response

Government authorities use computer vision satellite photography to rapidly analyze disaster-affected areas, which helps prioritize response and determine the amount of damage. It is quite useful to spot changes in pre- and post-disaster photos.

The model can detect any changes or anomalies from image to image. E.g., if the shape’s outlook varies, or there are variations in size, area, etc. Thus, when something changes (e.g. fire, or flood) in the area – it can trigger an alarm.

Forest Management

Analyzing the forest condition is a complex task. Analysis of satellite imagery with computer vision can help classify and quantify different plant species, perform plant counting, and evaluate their health state.

image of forest taken using satellite
Satellite image of forest – Source

The drone and satellite imagery combined with machine learning algorithms, can estimate and assess the animal and plant population across a large area. Also, it provides an accurate estimate of the forest composition in terms of tree species, biomass, dimensions of the trees, etc.

Future Trends

The extraction of geospatial intelligence from aerial photography fosters a step forward with the introduction of computer vision into the satellite imagery domain. Thanks to sophisticated algorithms trained on enormously labeled datasets, AI for satellite data analysis is very efficient.

Computer vision is a powerful tool that utilizes satellite imagery to map features, evaluate damage, and derive insights in many applications, despite certain limitations. It needs interdisciplinary cooperation between CV engineers, geospatial professionals, and subject matter experts to utilize computer vision on satellite imagery.

Frequently Asked Questions

Q1: What is the most useful satellite imagery dataset?

Answer: The most useful imagery dataset is Satellite Image Time Series (SITS) with about 50 satellite datasets, gathered in the period 2017-2023.

Q2: What is the most useful convolutional neural network that researchers utilize for computer vision models over satellite imagery?

Answer: The most useful convolutional neural network for computer vision models over satellite imagery is ResNet50.

Q3: What are the main machine learning challenges with satellite imagery?

Answer: The main challenges of machine learning over satellite imagery include: a large volume of data, lack of labeled data, periodic terrain changes (due to weather), privacy and confidentiality of the mapped terrain, etc.

Q4: What are the most promising computer vision applications over satellite imagery?

Answer: The most promising CV applications over satellite imagery include: agriculture, transport and traffic, infrastructure and cadaster, forest management, disaster response, etc.