Fabricate is a Vue.js and FastAPI-based application focused on managing and annotating synthetic datasets for AI development.
It streamlines the process of sorting, labeling, and manipulating images, catering to the needs of AI model training and synthetic data management.
- Sort Images: Sort synthetic images based on predefined criteria.
- Manual Labeling: Manually label images with tags or categories for easy identification.
- Move Images: Move images to specified directories or storage areas.
- Metadata Addition: Add metadata, annotations, or descriptions to images.
- Image Deletion: Capability to delete images from the dataset.
- Image Cropping and Dimension Adjustment: Tools to crop and adjust image dimensions.
- Resolution Normalization: Normalize resolution across all images for consistency.
- Multiple Storage Locations: Support for local and cloud-based storage, including blob storage.
- Dynamic Configuration: Switch between or aggregate data from various storage sources.
- Large Dataset Handling: Efficient loading and rendering of large image datasets. Implements virtual scrolling or pagination for dataset navigation.
- Efficient Navigation: Advanced search and filter options to find specific images or categories.
- Bulk Tagging: Apply labels to multiple images simultaneously.
- Export Functionality: Export tagged images and metadata in formats compatible with AI training platforms.
- Integration with AI Models: Compatibility with external AI models or adapters for automated tagging or analysis.
- Intuitive UI Design: User-friendly interface with clear instructions and visual cues.
- Responsive Design: Adapts to various screen sizes and devices.
- Accessibility and Usability: Features to accommodate diverse user needs and minimize fatigue in repetitive tasks.
- Data Protection: Secure handling and storage of images and metadata.
- OS Compatibility: Compatible with major operating systems for local server deployment.
- API Integration: Backend communication facilitated through a FastAPI server.
- Extensibility: Designed for future feature additions or integration with other tools and services.
TBD : These are approximated instructions while the permanent mounting system is being developed.
# Clone the repository
git clone https://github.com/fearnworks/fabricate
# Navigate to the project directory
cp .envtemplate .env
mkdir backend/configs/local
cp backend/configs/config.example.yaml backend/configs/local/config.yaml # Update config file with your own values
cd webui
npm install
cd ..
bash ./setup.sh
## Symbolic link
ln -s YOURDATASTOREPATH ./datastore
## Use local directory
cp ./example_data ./datastore
This project is primarily tested utilizing docker containers. Perform the prior steps and the cd to the root of the project.
docker compose up
- Navigate through the image dataset using the carousel component.
- Perform CRUD operations on images.
- Connect to the backend server for real-time data synchronization.
Update src/api/config.js to set the API endpoints and other configurations.