EVA Labeling is a wrapper to enable you to run EVA alongside Label-Studio It lets you connect to Label Studio server to do the following:
- Annotate your dataset more quickly and easily by allowing "bulk labeling" of a set of images.
- Dynamically pre-annotate data based on model inference results.
- Retrain or fine-tune a model based on recently annotated data.
bulk-prop-demo.mp4
- It first fetches <image, label> pairs from Label Studio server and loads them into the EVA database server.
- It then runs queries over the loaded data within the EVA database server (e.g., image classification query, object detection query)
- Finally, it sends the query results (i.e., the updated labels) back to the Label Studio server.
⚠️ The Label Studio server should be started with flag EXPERIMENTAL_FEATURES=1 for the "Bulk Label Propagation" feature to work!
-
Install the dependencies in a virtual environment
# Install dependencies pip install -r requirements.txt
-
Start EVA Labeling Server
Note: This command will automatically start the
EVA
server.label-studio-ml start ./evaml -eu <eva-server-url> -ep <eva-server-port> -k <apikey> -ls <label-studio-url>
-
Add the Image Clustering Interface
<View> <Image name="image" value="$image"/> <RectangleLabels name="label" toName="image"> </RectangleLabels> <TextArea name="cluster" toName="image" rows="1" editable="true" /> </View>
-
Start and Register the EVA ML Backend to Label Studio.
Following Label Studio ML documentation
-
Register your Feature Extractor model into EVA.
Refer the EVA documentation for more information. Here is an example of adding a custom model.
-
You can add your custom queries inside
./evaml/cluster_image.py
,Refer the Label Studio ML Backend documentation for more information.