Assignment: Build a Web UI App for Computer Vision Functions
Your task is to create a user-friendly web UI application that integrates and showcases key computer vision functionalities. The application must be hosted on Hugging Face Spaces, leveraging their free CPU virtual machine.
Requirements
-
Web UI Framework:
- Use Gradio for building the user interface.
- Alternatively, you may use other frameworks such as Streamlit if preferred.
-
Core Computer Vision Functions:
- Use functions provided by scikit-image (skimage) or OpenCV, e.g.
- Image segmentation: Partitioning an image into meaningful regions.
- Edge detection and line detection: Highlighting edges or detecting straight lines in the image.
- Image inpainting: Filling in missing or corrupted parts of an image.
- or template matching, perspective transformation, …
- to build a simple Web UI App
-
Input:
- The application must accept an image as input (upload or example selection).
-
UI Features:
- Provide controls for adjusting function parameters dynamically (e.g., thresholds for edge detection, mask selection for inpainting).
- Include a curated list of example images so that the Teaching Assistant (TA) can easily test your app.
-
Performance:
- Ensure the app’s response time is reasonable: the execution time for any function should not exceed one minute.
-
Hosting:
- Deploy your application on Hugging Face Spaces using a free CPU VM.
Note: If you are unable to use Hugging Face Spaces for any reason, please contact the TA for alternative options.
Submission
Your submission should include the following:
- App URL:
- The link to your deployed web UI app on Hugging Face Spaces.
- Docker Command:
- Provide a Docker command that allows the app to be run locally (you can access the information from the Hugging Face Space page).
- Screenshot:
- Attach a clear screenshot of your application interface, showcasing its functionality.