faultdetection3 / src /streamlit_app.py
Sanjayraju30's picture
Update src/streamlit_app.py
0d71e7b verified
raw
history blame
801 Bytes
import os
import streamlit as st
import torch
import numpy as np
from streamlit_webrtc import webrtc_streamer, VideoTransformerBase
# Set a writable cache directory for PyTorch
torch_cache_dir = os.path.join(os.getcwd(), 'torch_cache')
os.makedirs(torch_cache_dir, exist_ok=True)
os.environ['TORCH_HOME'] = torch_cache_dir
# Load the YOLOv5 model
model = torch.hub.load('ultralytics/yolov5', 'custom', path='model/best.pt', force_reload=True)
st.title("Utility Pole Fault Detection")
class VideoTransformer(VideoTransformerBase):
def transform(self, frame):
img = frame.to_ndarray(format="bgr24")
results = model(img)
annotated_frame = np.squeeze(results.render())
return annotated_frame
webrtc_streamer(key="live", video_transformer_factory=VideoTransformer)