| import streamlit as st | |
| def make_inpainting_explanation(): | |
| with st.expander("Explanation inpainting", expanded=False): | |
| st.write("In the inpainting mode, you can draw regions on the input image that you want to regenerate. " | |
| "This can be useful to remove unwanted objects from the image or to improve the consistency of the image." | |
| ) | |
| st.image("content/inpainting_sidebar.png", caption="Image before inpainting, note the ornaments on the wall", width=500) | |
| st.write("You can find drawing options in the sidebar. There are two modes: freedraw and polygon. Freedraw allows the user to draw with a pencil of a certain width. " | |
| "Polygon allows the user to draw a polygon by clicking on the image to add a point. The polygon is closed by right clicking.") | |
| st.write("### Example inpainting") | |
| st.write("In the example below, the ornaments on the wall are removed. The inpainting is done by drawing a mask on the image.") | |
| st.image("content/inpainting_before.jpg", caption="Image before inpainting, note the ornaments on the wall") | |
| st.image("content/inpainting_after.png", caption="Image before inpainting, note the ornaments on the wall") | |
| def make_regeneration_explanation(): | |
| with st.expander("Explanation object regeneration"): | |
| st.write("In this object regeneration mode, the model calculates which objects occur in the image. " | |
| "The user can then select which objects can be regenerated by the controlnet model by adding them in the multiselect box. " | |
| "All the object classes that are not selected will remain the same as in the original image." | |
| ) | |
| st.write("### Example object regeneration") | |
| st.write("In the example below, the room consists of various objects such as wall, ceiling, floor, lamp, bed, ... " | |
| "In the multiselect box, all the objects except for 'lamp', 'bed and 'table' are selected to be regenerated. " | |
| ) | |
| st.image("content/regen_example.png", caption="Room where all concepts except for 'bed', 'lamp', 'table' are regenerated") | |
| def make_segmentation_explanation(): | |
| pass | |