File size: 1,971 Bytes
39debef 3170d22 0715e8c 3170d22 0715e8c 39debef 8ed86f2 3170d22 8ed86f2 3cf084f 3170d22 8ed86f2 3170d22 cf4de60 76a2d16 0715e8c 76a2d16 cf4de60 881bd74 76a2d16 3170d22 76a2d16 96b4bfb a3cfe41 72fe07e 3170d22 a3cfe41 3170d22 54614fc 3170d22 72fe07e 3170d22 72fe07e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import streamlit as st
from PIL import Image
import random
import sahi.utils.file
import pandas as pd
IMAGE_TO_URL = {
'factory_pid.png' : 'https://d1afc1j4569hs1.cloudfront.net/factory-pid.png',
'plant_pid.png' : 'https://d1afc1j4569hs1.cloudfront.net/plant-pid.png',
'processing_pid.png' : 'https://d1afc1j4569hs1.cloudfront.net/processing-pid.png'
}
st.set_page_config(
page_title="P&ID Object Detection",
layout="wide",
initial_sidebar_state="expanded"
)
st.title('P&ID Object Detection')
st.subheader(' Identify valves and pumps with deep learning model ', divider='rainbow')
st.caption('Developed by Deep Drawings Co.')
col1, col2, col3 = st.columns([10, 10, 10])
with col2:
with st.expander('How to use it'):
st.markdown(
'''
1) Upload your P&ID or Select Test Diagrams π¬
2) Set Confidence Threshold π
3) Press to Perform Inference π
4) Visualize Model Predictions π
'''
)
st.write('##')
col1, col2, col3, col4, col5 = st.columns([5, 5, 5, 5, 5])
with col1:
st.markdown(f"##### Input File")
# set input image by upload
image_file = st.file_uploader("Upload your diagram", type=["pdf"])
# set input images from examples
def slider_func(option):
option_to_id = {
'factory_pid.png' : str(1),
'plant_pid.png' : str(2),
'processing_pid.png' : str(3),
}
return option_to_id[option]
st.write('##')
slider = st.select_slider(
'Or select from example diagrams',
options = ['factory_pid.png', 'plant_pid.png', 'processing_pid.png'],
format_func = slider_func,
value = 'processing_pid.png',
)
with col3:
# visualize input image
if image_file is not None:
image = Image.open(image_file)
else:
image = sahi.utils.cv.read_image_as_pil(IMAGE_TO_URL[slider])
st.image(image, use_column_width = True) |