Skip to main content

Ātra Katastrofu Novērtēšanas Rīka Izstrāde, Izmantojot IBM Atvērtā Koda ResNet-50 Modeli

Praktisks padziļinātās mašīnmācīšanās pielietojums katastrofu pārvaldībā

Šajā pamācībā mēs apskatām inovatīvu un praktisku IBM atvērtā koda ResNet-50 padziļinātās mašīnmācīšanās modeļa pielietojumu, kas ļauj ātri klasificēt satelītattēlus katastrofu pārvaldībai. Izmantojot iepriekš apmācītas konvolūciju neironu tīkla (CNN) arhitektūras, šī pieeja ļauj lietotājiem ātri analizēt satelītattēlus, lai identificētu un kategorizētu katastrofu skartās zonas, piemēram, plūdu, meža ugunsgrēku vai zemestrīcu radītos bojājumus. Izmantojot Google Colab, mēs soli pa solim izskatīsim, kā viegli iestatīt darba vidi, pārstrādāt attēlus, veikt secināšanu un interpretēt rezultātus.

Vispirms mēs instalējam nepieciešamās bibliotēkas PyTorch balstītai attēlu apstrādei un vizualizācijai.

!pip install torch torchvision matplotlib pillow

Mēs importējam nepieciešamās bibliotēkas un ielādējam IBM atbalstīto ResNet-50 modeli no PyTorch, sagatavojot to secināšanas uzdevumiem.

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()

Tagad mēs definējam standarta attēlu pārstrādes pipeline, kas tos pārveido, izmainot izmēru, apgriežot, pārveidojot tenzoros un normalizējot, lai tie atbilstu ResNet-50 prasībām.

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] 
    ) 
])

Šeit mēs iegūstam satelītattēlu no norādītās URL adreses, pārstrādājam to, klasificējam, izmantojot ResNet-50 modeli, un vizualizējam attēlu kopā ar tā galveno prognozi. Tāpat tiek izdrukātas piecas augstākās prognozes ar to varbūtībām.

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())</code></pre></div></div>

Visbeidzot, mēs lejupielādējam satelītattēlu ar meža ugunsgrēku, klasificējam to, izmantojot ResNet-50 modeli, un vizuāli parādām to kopā ar piecām galvenajām prognozēm.

image_url = "https://upload.wikimedia.org/wikipedia/commons/0/05/Burnout_ops_on_Mangum_Fire_McCall_Smokejumpers.jpg" 
classify_satellite_image(image_url)

Noslēgumā mēs esam veiksmīgi izmantojuši IBM atvērtā koda ResNet-50 modeli Google Colab, lai efektīvi klasificētu satelītattēlus, atbalstot kritiskus katastrofu novērtēšanas un reakcijas uzdevumus. Šī pieeja parāda, kā padziļinātās mašīnmācīšanās modeļus var radoši pielietot reālām problēmām. Ar minimālu iestatīšanas piepūli mēs tagad varam izmantot šo jaudīgo rīku.


Šeit ir Colab piezīmju grāmatiņa. Neaizmirstiet arī sekot mums Twitter un pievienoties mūsu Telegram kanālam un LinkedIn grupai. Pievienojieties arī mūsu 85k+ ML SubReddit kopienai.

https://www.marktechpost.com/

Atbildēt

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *

© 2025 AI LATVIA