Przejdź do głównej zawartości

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

informacja

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:

PoleOpis
TitleWprowadź nazwę dla modelu.
Backend URLWprowadź URL dla modelu.
Description (Optional)Podaj opis modelu.
Use for interactive preannotationsWłą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.

Warning

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 modeluZadaniePre-adnotacjaTrenowanie
YOLODetkecja 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.

notatka

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.

notatka

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.

Aby uzyskać więcej informacji na temat ML Backend, możesz odwiedzić stronę z oficjalną dokumentacją.