Реализация кода быстрого инструмента оценки стихийных бедствий с использованием модели IBM с открытым исходным кодом RESNET-50

В этом уроке мы исследуем инновационное и практическое применение модели глубокого обучения 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 миллионами ежемесячных просмотров, иллюстрируя свою популярность среди зрителей.

Source link

Scroll to Top