Label Studio
Najbardziej elastyczna platforma do anotowania danych w zadaniach wizji komputerowej, umożliwiająca przygotowywanie danych treningowych.
Uruchamianie
Data Label Studio może pomóc w anotowaniu danych przy użyciu AI - w takim przypadku można wykorzystać GPU. Aby uzyskać informacje o automatycznej anotacji i usprawnieniu procesu treningu, sprawdź sekcję Backend ML.
Warto również utworzyć i zamontować wolumen dla danych oraz bazy danych PostgreSQL, aby zabezpieczyć swoją pracę.
Utwórz wolumeny
Wolumen dla danych
$ cgc volume create label-studio-data -s 5
Wolumen dla bazy danych
$ cgc volume create label-studio-db -s 1
Utwórz bazę danych
$ cgc db create --name label-studio-db -c 1 -m 2 -v label-studio-db postgresql
Uruchom Label Studio
Użyj cgc db list -d
jeśli nie skopiowałeś <APP_TOKEN_DB>
podczas tworzenia bazy danych.
$ cgc compute create --name label-studio01 -c 8 -m 24 -v label-studio-data label-studio -d postgre_host=label-studio-db -d postgre_password=<APP_TOKEN_DB>
Po utworzeniu aplikacji możesz zalogować się do interfejsu webowego na podstawie informacji podanych w outpucie.
URL i app_token
można znaleźć używając polecenia cgc compute list -d
.
Nazwa logowania administratora to admin@localhost
Użycie Label Studio
Użycie jest naprawdę proste. Jeśli wiesz, co jest potrzebne do oznaczenia Twoich danych, eksploracja nie powinna zająć więcej niż 10 minut bez żadnej dokumentacji. Jeśli potrzebujesz pomocy, odwiedź oficjalną dokumentację
Jak używać ML Backend w Label Studio
ML backend to narzędzie, które łączy modele uczenia maszynowego z procesem anotacji danych. Używa istniejących modeli do automatycznego wstępnego oznaczania danych, co przyspiesza pracę, dostarczając początkowe etykiety do przeglądu i ewentualnej poprawy.
Jak podłączyć model do swojego projektu w Label Studio
Po utworzeniu projektu otwórz jego ustawienia (Settings
) w prawym górnym rogu i wybierz opcję Model
.
Kliknij przycisk Connect Model
i wypełnij następujące pola:
Click Add Model
and complete the following fields:
Pole | Opis |
---|---|
Title | Wprowadź nazwę dla modelu. |
Backend URL | Wprowadź URL dla modelu. |
Description (Optional) | Podaj opis modelu. |
Use for interactive preannotations | Włącz tę opcję, aby umożliwić modelowi wspieranie procesu oznaczania poprzez dostarczanie predykcji lub sugestii w czasie rzeczywistym, gdy anotatorzy pracują nad zadaniami. Więcej informacji znajdziesz w sekcji Interactive pre-annotations. |
Pre-adnotacje/predykcje
Uzyskiwanie predykcji z modelu
Po podłączeniu modelu do Label Studio możesz zobaczyć predykcje modelu w interfejsie adnotacji, jeśli model jest wstępnie wytrenowany lub zaraz po zakończeniu trenowania.
W przypadku dużego zbioru danych HTTP request do pobrania predykcji może zostać przerwane z powodu przekroczenia limitu czasu (timeout).
Dostępne modele
Następujące modele są obsługiwane przez ML Backend.
- Kolumna Pre-adnotacja wskazuje, czy model może być używany do wstępnego oznaczania w Label Studio: możesz zobaczyć wstępnie oznaczone dane podczas otwierania strony adnotacji lub po uruchomieniu predykcji dla danych.
- Kolumna Trenowanie wskazuje, czy model może być używany do trenowania w Label Studio.
Nazwa modelu | Zadanie | Pre-adnotacja | Trenowanie |
---|---|---|---|
YOLO | Detkecja elementów na obrazie. | ✅ | ❌ |
Segment Anything (SAML) | Segmentacja obrazu. | ✅ | ❌ |
Skonfiguruj model w swoim projekcie
Instrukcję ładowania własnego modelu do ML Backend możesz znaleźć tutaj.
Podczas tworzenia projektu w Label Studio zacznij od wyboru szablonu etykietowania w kroku Labelling Setup
.
Dla modeli detekcji wybierz szablon "Object Detection with Bounding Boxes".
Po wybraniu szablonu dodaj nazwy etykiet w trybie Visual
.
Następnie przejdź do trybu Code
i dodaj atrybut model_path
do używanego taga (np. w tym przypadku to RectangleLabels
).
To połączy Twój własny model z procesem automatycznego etykietowania.
Jeśli Twój model znajduje się bezpośrednio w katalogu głównym wolumenu (np. <volume_name>/<your-model>.pt
), możesz po prostu podać nazwę pliku modelu w model_path
, w ten sposób: model_path="<your-model>.pt"
.
Jednakże, jeśli model jest przechowywany w podkatalogu wolumenu, musisz podać pełną ścieżkę do pliku modelu (np. model_path="<subdirectory_name>/<your-model>.pt"
).
Możesz także podać model_score_threshold
, aby odfiltrować predykcje na podstawie ich wyników pewności (domyślnie: model_score_threshold="0.5").
Po wykonaniu tych kroków Twoja konfiguracja powinna wyglądać następująco:
<View>
<Image name="image" value="$image"/>
<RectangleLabels
name="label" toName="image"
model_path="my_custom_model.pt"
model_score_threshold="0.6">
<Label value="Cat"/>
<Label value="Dog"/>
</RectangleLabels>
</View>
Jeśli już utworzyłeś projekt i chcesz podłączyć własny model, przejdź do Settings
projektu i wybierz Labelling Interface
.
Tutaj możesz skonfigurować swój model, korzystając z powyższych kroków.
Podczas etykietowania obrazu upewnij się, że włączyłeś przycisk Auto-annotation
znajdujący się na dole okna, aby otrzymywać automatyczne adnotacje z modelu. Dodatkowo, możesz włączyć Auto-accept Suggestions
, aby usprawnić proces etykietowania.
- Jeśli włączysz
Auto-accept Suggestions
, regiony adnotacji pojawią się automatycznie i zostaną natychmiast utworzone bez dalszych działań. - Jeśli nie włączysz
Auto-accept Suggestions
, sugerowane regiony nadal się pojawią, ale będziesz mieć możliwość ich ręcznego zaakceptowania lub odrzucenia.
Możesz eksperymentować z tymi opcjami i pamiętaj, że możesz je zmieniać w dowolnym momencie, aby dostosować je do potrzeb swojego projektu.