Spaces:
Running
Running
import streamlit as st | |
from streamlit_extras.switch_page_button import switch_page | |
st.title("Backbone") | |
st.success("""[Original tweet](https://x.com/mervenoyann/status/1749841426177810502) (January 23, 2024)""", icon="βΉοΈ") | |
st.markdown(""" """) | |
st.markdown("""Many cutting-edge computer vision models consist of multiple stages: | |
β° backbone extracts the features, | |
β° neck refines the features, | |
β° head makes the detection for the task. | |
Implementing this is cumbersome, so π€ Transformers has an API for this: Backbone! | |
""") | |
st.markdown(""" """) | |
st.image("pages/Backbone/image_1.jpeg", use_column_width=True) | |
st.markdown(""" """) | |
st.markdown(""" | |
Let's see an example of such model. | |
Assuming we would like to initialize a multi-stage instance segmentation model with ResNet backbone and MaskFormer neck and a head, you can use the backbone API like following (left comments for clarity) π | |
""") | |
st.markdown(""" """) | |
st.image("pages/Backbone/image_2.jpeg", use_column_width=True) | |
st.markdown(""" """) | |
st.markdown("""One can also use a backbone just to get features from any stage. You can initialize any backbone with `AutoBackbone` class. | |
See below how to initialize a backbone and getting the feature maps at any stage π | |
""") | |
st.markdown(""" """) | |
st.image("pages/Backbone/image_3.jpeg", use_column_width=True) | |
st.markdown(""" """) | |
st.markdown(""" | |
Backbone API also supports any timm backbone of your choice! Check out a variation of timm backbones [here](https://t.co/Voiv0QCPB3). | |
""") | |
st.markdown(""" """) | |
st.image("pages/Backbone/image_4.jpeg", use_column_width=True) | |
st.markdown(""" """) | |
st.markdown(""" | |
Leaving some links π | |
π I've created a [notebook](https://t.co/PNfmBvdrtt) for you to play with it | |
π [Backbone API docs](https://t.co/Yi9F8qAigO) | |
π [AutoBackbone docs](https://t.co/PGo9oILHDw) (all written with love by me!π)""") | |
st.markdown(""" """) | |
st.markdown(""" """) | |
st.markdown(""" """) | |
col1, col2, col3 = st.columns(3) | |
with col1: | |
if st.button('Previous paper', use_container_width=True): | |
switch_page("OWLv2") | |
with col2: | |
if st.button('Home', use_container_width=True): | |
switch_page("Home") | |
with col3: | |
if st.button('Next paper', use_container_width=True): | |
switch_page("Depth Anything") |