File size: 1,637 Bytes
38d30c3
fb6287f
 
38d30c3
 
 
 
fb6287f
6445ea5
 
 
fb6287f
 
38d30c3
 
 
fb6287f
6445ea5
 
 
 
 
 
 
 
 
 
38d30c3
 
6445ea5
 
fb6287f
 
6445ea5
 
 
 
fb6287f
 
 
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
import streamlit as st

# Top down page rendering 
st.set_page_config(page_title='Hockey Breeds v2 - Objects', layout="wide",
                   page_icon=":frame_with_picture:")

st.title('Hockey Breeds v2 - Objects')
intro = '''The first version of Hockey Breeds was fun and educational, but not useful for analyzing hockey videos.  The second version is to a proof of concept
with the ability to recognize individual "objects" within an image, which paves the way to ultimately tracking those objects through game play.'''

st.markdown(intro)

st.subheader('Object Detection Technical Details')

desc = '''Hockey Breed detector v2 uses a state of the art (circa 2023) computer vision approach.

I used the same training images as the first version of the Hockey Breeds model, but change the ML algorithm to use YOLO object detection (YOLO v8).
The output will be a set of hockey objects (defined by "bounding boxes") with labels for any hockey image uploaded.

**Object List**:
1. net
1. stick
1. puck
1. skater
1. goalie
1. referee
'''

st.markdown(desc)

st.subheader("Sample")
st.image('src/images/samples/v2/v2-sample1-090124.png',
         caption='Sample image with hockey objects detected')

st.subheader("Validation Results")

st.markdown('''Validation of the model\'s performance was done using 15 images not included in the training set.  The model had many issues; it did poorly with detecting *pucks* and *sticks* vs backgrounds and even goalies and skaters.  It did very well on detecting referees.''')
st.image("src/images/artifacts/confusion_matrix_v2.png",
         caption="Confusion Matrix for Hockey Breeds v2", )