Szybki start: tworzenie narzędzia do wykrywania obiektów za pomocą witryny internetowej usługi Custom Vision
W tym przewodniku Szybki start wyjaśniono, jak utworzyć model narzędzia do wykrywania obiektów za pomocą witryny internetowej usługi Custom Vision. Po utworzeniu modelu możesz przetestować go przy użyciu nowych obrazów i zintegrować go z własną aplikacją do rozpoznawania obrazów.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć bezpłatne konto.
- Zestaw obrazów, za pomocą których można wytrenować model detektora. Możesz użyć zestawu przykładowych obrazów w usłudze GitHub. Możesz też wybrać własne obrazy, korzystając z poniższych wskazówek.
- Obsługiwana przeglądarka internetowa.
Tworzenie zasobów usługi Custom Vision
Aby korzystać z usługi Custom Vision, należy utworzyć zasoby szkoleniowe i przewidywania usługi Custom Vision na platformie Azure. W witrynie Azure Portal użyj strony Tworzenie usługi Custom Vision , aby utworzyć zarówno zasób szkoleniowy, jak i zasób przewidywania.
Tworzenie nowego projektu
W przeglądarce internetowej przejdź do witryny internetowej usługi Custom Vision. Zaloguj się przy użyciu tego samego konta, które zostało użyte do zalogowania się w witrynie Azure Portal.
Aby utworzyć pierwszy projekt, wybierz pozycję Nowy projekt. Zostanie wyświetlone okno dialogowe Tworzenie nowego projektu .
Wprowadź nazwę i opis projektu. Następnie wybierz zasób trenowania usługi Custom Vision. Jeśli zalogowane konto jest skojarzone z kontem platformy Azure, na liście rozwijanej Zasób zostaną wyświetlone wszystkie zgodne zasoby platformy Azure.
Uwaga
Jeśli żaden zasób nie jest dostępny, upewnij się, że zalogowano się do customvision.ai przy użyciu tego samego konta, które zostało użyte do zalogowania się w witrynie Azure Portal. Upewnij się również, że wybrano ten sam katalog w witrynie internetowej usługi Custom Vision co katalog w witrynie Azure Portal, w której znajdują się zasoby usługi Custom Vision. W obu witrynach możesz wybrać katalog z menu rozwijanego konta w prawym górnym rogu ekranu.
W obszarze Typy projektów wybierz pozycję Wykrywanie obiektów.
Wybierz jedną z dostępnych domen. Każda domena optymalizuje detektor pod kątem określonych typów obrazów, zgodnie z opisem w poniższej tabeli. Jeśli chcesz, możesz później zmienić domenę.
Domain Purpose Ogólne Zoptymalizowane pod kątem szerokiego zakresu zadań wykrywania obiektów. Jeśli żadna z innych domen nie jest odpowiednia lub jeśli nie masz pewności, którą domenę wybrać, wybierz domenę Ogólne . Logo Zoptymalizowany pod kątem znajdowania logo marki na obrazach. Produkty na półkach Zoptymalizowane pod kątem wykrywania i klasyfikowania produktów na półkach. Domeny kompaktowe Zoptymalizowane pod kątem ograniczeń wykrywania obiektów w czasie rzeczywistym na urządzeniach przenośnych. Modele generowane przez domeny kompaktowe można eksportować do uruchamiania lokalnie. Na koniec wybierz pozycję Utwórz projekt.
Wybieranie obrazów szkoleniowych
Co najmniej należy użyć co najmniej 30 obrazów na tag w początkowym zestawie treningowym. Po wytrenowanym modelu należy również zebrać kilka dodatkowych obrazów.
Aby efektywnie trenować model, użyj obrazów z różnymi wizualizacjami. Wybierz obrazy, które różnią się w zależności od:
- kąt kamery
- oświetlenie
- tło
- styl wizualizacji
- osoby/pogrupowane podmioty
- size
- type
Ponadto upewnij się, że wszystkie obrazy szkoleniowe spełniają następujące kryteria:
- musi mieć format .jpg, .png, .bmp lub .gif
- rozmiar nie większy niż 6 MB (4 MB dla obrazów przewidywania)
- nie mniej niż 256 pikseli na najkrótszej krawędzi; wszystkie obrazy krótsze niż 256 pikseli są automatycznie skalowane w górę przez usługę Custom Vision
Przekazywanie i tagowanie obrazów
W tej sekcji przekażesz i ręcznie oznaczysz obrazy, aby ułatwić trenowanie narzędzia do wykrywania.
Aby dodać obrazy, wybierz pozycję Dodaj obrazy , a następnie wybierz pozycję Przeglądaj pliki lokalne. Wybierz pozycję Otwórz, aby przekazać obrazy.
Przekazane obrazy zostaną wyświetlone w sekcji Nieotagowane w interfejsie użytkownika. Następnym krokiem jest ręczne oznaczanie obiektów, które mają być rozpoznawane przez detektor. Wybierz pierwszy obraz, aby otworzyć okno dialogowe tagowania.
Zaznacz i przeciągnij prostokąt wokół obiektu na obrazie. Następnie wprowadź nową nazwę tagu z przyciskiem + lub wybierz istniejący tag z listy rozwijanej. Ważne jest, aby oznaczyć każde wystąpienie obiektów, które chcesz wykryć, ponieważ wykrywacz używa nieoznakowanych obszarów tła jako negatywnego przykładu trenowania. Po zakończeniu tagowania wybierz strzałkę po prawej stronie, aby zapisać tagi i przejść do następnego obrazu.
Aby przekazać inny zestaw obrazów, wróć do góry tej sekcji i powtórz kroki.
Trenowanie detektora
Aby wytrenować model detektora, wybierz przycisk Trenuj . Wykrywacz używa wszystkich bieżących obrazów i ich tagów do utworzenia modelu identyfikującego każdy otagowany obiekt. Ten proces może potrwać kilka minut.
Proces trenowania powinien potrwać tylko kilka minut. W tym czasie informacje o procesie trenowania są wyświetlane na karcie Wydajność .
Ocena detektora
Po zakończeniu trenowania wydajność modelu jest obliczana i wyświetlana. Usługa Custom Vision używa obrazów przesłanych do trenowania w celu obliczenia dokładności, kompletności i średniej precyzji. Precyzja i kompletność to dwa różne pomiary skuteczności detektora:
- Precyzja wskazuje ułamek zidentyfikowanych klasyfikacji, które były poprawne. Jeśli na przykład model zidentyfikował 100 obrazów jako psy, a 99 z nich było rzeczywiście psami, precyzja wynosiłaby 99%.
- Kompletność wskazuje ułamek rzeczywistych klasyfikacji, które zostały prawidłowo zidentyfikowane. Jeśli na przykład faktycznie było 100 obrazów jabłek, a model zidentyfikował 80 jako jabłka, kompletność wyniesie 80%.
- Średnia precyzja to średnia wartość średniej precyzji (AP). Ap to obszar pod krzywą precyzji/kompletności (precyzja wykreślona względem kompletności dla każdego wykonanego przewidywania).
Próg prawdopodobieństwa
Zwróć uwagę na suwak Próg prawdopodobieństwa w lewym okienku karty Wydajność . Jest to poziom pewności, że przewidywanie musi być uznane za poprawne (na potrzeby obliczania precyzji i kompletności).
W przypadku interpretowania wywołań przewidywania z progiem wysokiego prawdopodobieństwa mają tendencję do zwracania wyników z wysoką precyzją kosztem kompletności — wykryte klasyfikacje są poprawne, ale wiele z nich pozostaje niezakrytych. Próg niskiego prawdopodobieństwa jest odwrotny — większość rzeczywistych klasyfikacji jest wykrywana, ale w tym zestawie jest więcej wyników fałszywie dodatnich. Mając to na uwadze, należy ustawić próg prawdopodobieństwa zgodnie z określonymi potrzebami projektu. Później, gdy otrzymujesz wyniki przewidywania po stronie klienta, należy użyć tej samej wartości progu prawdopodobieństwa, jak w tym miejscu.
Próg nakładania
Suwak Nakładające się progi zawiera informacje o tym, jak poprawne jest przewidywanie obiektu, które należy wziąć pod uwagę podczas trenowania. Ustawia minimalne dozwolone nakładanie się między polem ograniczenia przewidywanego obiektu a rzeczywistym polem ograniczenia wprowadzonym przez użytkownika. Jeśli pola ograniczenia nie nakładają się na ten stopień, przewidywanie nie jest uznawane za poprawne.
Zarządzanie iteracjami trenowania
Za każdym razem, gdy trenujesz detektor, tworzysz nową iterację z własnymi zaktualizowanymi metrykami wydajności. Wszystkie iteracji można wyświetlić w lewym okienku karty Wydajność . W okienku po lewej stronie znajdziesz również przycisk Usuń , którego można użyć do usunięcia iteracji, jeśli jest przestarzała. Usunięcie iteracji powoduje usunięcie wszystkich obrazów, które są z nią unikatowo skojarzone.
Aby dowiedzieć się, jak programowo uzyskiwać dostęp do wytrenowanych modeli, zobacz Używanie modelu z interfejsem API przewidywania.
Następny krok
W tym przewodniku Szybki start przedstawiono sposób tworzenia i trenowania modelu detektora obiektów przy użyciu witryny internetowej usługi Custom Vision. Następnie uzyskaj więcej informacji na temat iteracyjnego procesu ulepszania modelu.
Aby zapoznać się z omówieniem, zobacz Co to jest usługa Custom Vision?