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")