В этом уроке мы исследуем инновационное и практическое применение модели глубокого обучения IBM RESNET-50 с открытым исходным кодом, демонстрируя его способность быстро классифицировать спутниковые образы для управления стихийными бедствиями. Используя предварительную свертку нейронных сетей (CNNS), этот подход дает пользователям быстро анализировать спутниковые изображения для выявления и классификации областей, подверженных бедствию, таких как наводнения, лесные пожары или повреждение землетрясения. Используя Google Colab, мы проведем пошаговый процесс, чтобы легко настроить среду, предварительные изображения, выполнить вывод и интерпретировать результаты.
Во-первых, мы устанавливаем важные библиотеки для задач обработки изображений и визуализации на основе Pytorch.
!pip install torch torchvision matplotlib pillow
Мы импортируем необходимые библиотеки и загружаем предварительную модель IBM, поддерживаемую IBM Resnet-50 от Pytorch, подготавливая ее для задач вывода.
import torch
import torchvision.models as models
import torchvision.transforms as transforms
from PIL import Image
import requests
from io import BytesIO
import matplotlib.pyplot as plt
model = models.resnet50(pretrained=True)
model.eval()
Теперь мы определяем стандартный трубопровод предварительной обработки для изображений, изменяя их размер и обрезая их, преобразуя их в тензоры и нормализуя их в соответствии с требованиями ввода Resnet-50.
preprocess = transforms.Compose((
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(
mean=(0.485, 0.456, 0.406),
std=(0.229, 0.224, 0.225)
)
))
Здесь мы получаем спутниковое изображение из данного URL-адреса, предварительно обрабатываем его, классифицируем его, используя предварительную модель Resnet-50 и визуализируем изображение с его главным прогнозом. Он также печатает пять лучших прогнозов с связанными вероятностями.
def classify_satellite_image(url):
response = requests.get(url)
img = Image.open(BytesIO(response.content)).convert('RGB')
input_tensor = preprocess(img)
input_batch = input_tensor.unsqueeze(0)
with torch.no_grad():
output = model(input_batch)
labels_url = "https://raw.githubusercontent.com/pytorch/hub/master/imagenet_classes.txt"
labels = requests.get(labels_url).text.split("n")
probabilities = torch.nn.functional.softmax(output(0), dim=0)
top5_prob, top5_catid = torch.topk(probabilities, 5)
plt.imshow(img)
plt.axis('off')
plt.title("Top Prediction: {}".format(labels(top5_catid(0))))
plt.show()
print("Top 5 Predictions:")
for i in range(top5_prob.size(0)):
print(labels(top5_catid(i)), top5_prob(i).item())
Наконец, мы загружаем спутниковое изображение, связанное с лесным пожаром, классифицируем его, используя предварительную модель Resnet-50 и визуально отображаем его вместе с пятью лучшими прогнозами.
image_url = "https://upload.wikimedia.org/wikipedia/commons/0/05/Burnout_ops_on_Mangum_Fire_McCall_Smokejumpers.jpg"
classify_satellite_image(image_url)
В заключение мы успешно использовали модель IBM с открытым исходным кодом RESNET-50 в Google Colab для эффективной классификации спутниковых снимков, поддерживая критические задачи оценки стихийных бедствий и ответа. Имеченный подход демонстрирует практичность и доступность современных моделей машинного обучения и подчеркивает, как предварительно подготовленные CNN могут творчески применяться к реальным проблемам. С минимальной настройкой у нас теперь есть мощный инструмент в нашем распоряжении.
Вот Колаб ноутбукПолем Кроме того, не забудьте следовать за нами Twitter и присоединиться к нашему Телеграмма канал и LinkedIn GrукПолем Не забудьте присоединиться к нашему 85K+ ML SubredditПолем
ASIF Razzaq является генеральным директором Marktechpost Media Inc. как дальновидного предпринимателя и инженера, ASIF стремится использовать потенциал искусственного интеллекта для социального блага. Его последнее усилие-запуск медиа-платформы искусственного интеллекта, Marktechpost, которая выделяется благодаря глубокому освещению машинного обучения и новостей о глубоком обучении, которое является технически обоснованным и легко понятным для широкой аудитории. Платформа может похвастаться более чем 2 миллионами ежемесячных просмотров, иллюстрируя свою популярность среди зрителей.