File size: 1,515 Bytes
4a3d4e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5901ece
 
 
4a3d4e5
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import numpy as np

with st.sidebar:
    st.image("logo/logo_small_EQUES.png")
    st.button("カメラと接続")

    from PIL import Image
    import io 
    uploaded_file = st.file_uploader('画像をアップロード')

    if uploaded_file is not None:
        image = Image.open(uploaded_file)
        img_array = np.array(image)
        st.image(
            image, caption='upload images',
            use_column_width=True
        )

    option = st.selectbox(
        "テスト画像の使用",
        ("テスト画像1", "テスト画像2", "テスト画像3"),
        index=None,
        placeholder="テスト画像を選択してください。",
    )
   
if st.button("不審者を検知"):
    if option != None:
        image = Image.open(f"img/sample/{option}.JPG")
    assert image != None,"画像をアップロードしてください。"
    from run import inference
    with st.spinner("Operation in progress. Please wait."):
        output, (labels, scores, indices) = inference(image)
    st.image("img/detected.png")
    
    st.title("解析結果")

    for a,b in zip(labels, scores):
        prob = float(b) * 100
        st.write(a)
        st.write(f"AIの確信度: {prob} %")

    if len(indices) != 0:
        st.warning('不審者が検知された可能性があります', icon="⚠️")
    else:
        st.info('不審者は検知されませんでした', icon="ℹ️")

    
    st.title("解析結果詳細")
    st.write(output)