Ćwiczenie — integrowanie usługi Azure Custom Vision
W tym module dowiesz się, jak używać usługi Azure Custom Vision. Wykonasz zestaw zdjęć śledzonego obiektu, przekażesz je do usługi Custom Vision i rozpoczniesz proces trenowania. Następnie użyjesz usługi, aby wykryć śledzony obiekt, przechwytując zdjęcia z kanału informacyjnego kamery internetowej.
Omówienie usługi Azure AI Custom Vision
Usługa Azure AI Custom Vision jest częścią rodziny usług Cognitive Services i służy do trenowania klasyfikatorów obrazów. Klasyfikator obrazu to usługa sztucznej inteligencji, która używa wytrenowanego modelu do stosowania pasujących tagów. Nasza aplikacja będzie używać tej funkcji klasyfikacji do wykrywania śledzonych obiektów.
Dowiedz się więcej o usłudze Custom Vision.
Przygotowywanie usługi Custom Vision
Przed rozpoczęciem należy utworzyć projekt usługi Custom Vision. Najszybszym sposobem utworzenia projektu usługi Custom Vision jest użycie portalu Custom Vision.
Wykonaj czynności opisane w tym samouczku Szybki start, aby skonfigurować konto i projekt. Wykonaj kroki opisane w sekcji Przekazywanie i tagowanie obrazów . Należy utworzyć jeden tag z pięcioma obrazami.
Ostrzeżenie
Aby wytrenować model, musisz mieć co najmniej dwa tagi i pięć obrazów na tag. Później dodamy więcej obrazów za pośrednictwem aplikacji. Aby jednak użyć tej aplikacji, musisz utworzyć co najmniej jeden tag z pięcioma obrazami, aby proces trenowania nie powiódł się później.
Przygotowywanie sceny
W oknie Projekt przejdź do zestawu narzędzi Assets>MRTK. Tutorials.AzureCloudServices>Prefabs>Manager folder.
Następnie przeciągnij prefab ObjectDetectionManager do hierarchii sceny.
W oknie Hierarchy (Hierarchia) znajdź i wybierz obiekt ObjectDetectionManager . Prefab ObjectDetectionManager zawiera składnik ObjectDetectionManager (script) i, jak widać w oknie Inspector (Inspektor), zależy od ustawień platformy Azure i ustawień projektu.
Pobieranie poświadczeń zasobu interfejsu API platformy Azure
Niezbędne poświadczenia dla ustawień ObjectDetectionManager (script) można pobrać z witryny Azure Portal i portalu Custom Vision.
Pobieranie poświadczeń ustawień platformy Azure
Znajdź i znajdź zasób usługi Custom Vision typu usług Cognitive Services utworzony w sekcji Przygotowywanie sceny tego samouczka. W tym miejscu wybierz pozycję Przegląd lub Klucze i punkt końcowy , aby pobrać niezbędne poświadczenia.
- Identyfikator subskrypcji zasobu platformy Azure: użyj identyfikatora subskrypcji z sekcji Przegląd .
- Nazwa grupy zasobów platformy Azure: użyj nazwy grupy zasobów z sekcji Przegląd .
W polu Nazwa grupy usługi Cognitive Service użyj nazwy zasobu usługi Custom Vision, po której następuje ciąg -Prediction.
- Punkt końcowy przewidywania bazy zasobów: użyj punktu końcowego z kluczy i punktu końcowego w zasobie Custom Vision -Prediction.
- Klucz przewidywania interfejsu API: użyj klucza 1 z kluczy i punktu końcowego w zasobie Custom Vision -Prediction .
Pobieranie poświadczeń ustawień projektu
Na pulpicie nawigacyjnym usługi Custom Vision otwórz projekt utworzony na potrzeby tego samouczka, a następnie wybierz ikonę Ustawienia (koła zębatego) w prawym górnym rogu strony, aby otworzyć stronę Ustawienia. Niezbędne poświadczenia znajdziesz w sekcji Zasoby po prawej stronie i sekcji Ogólne po lewej stronie.
- Punkt końcowy bazy zasobów: użyj punktu końcowego z sekcji Zasoby . Powinno to być zgodne z punktem końcowym w obszarze Klucze i punkt końcowy w zasobie usługi Custom Vision.
- Klucz interfejsu API: użyj klucza z sekcji Zasoby . Powinno to być zgodne z kluczem w obszarze Klucze i punkt końcowy w zasobie usługi Custom Vision.
- Identyfikator projektu: użyj identyfikatora projektu z sekcji Ogólne .
Teraz, po poprawnej konfiguracji ObjectDetectionManager (script) znajdź obiekt SceneController w hierarchii sceny i wybierz go.
Pole Menedżer wykrywania obiektów w składniku SceneController jest puste. Przeciągnij element ObjectDetectionManager z hierarchii do składnika SceneController i zapisz scenę.
Wykonywanie i przekazywanie obrazów
Uruchom scenę i wybierz pozycję Ustaw obiekt. Wprowadź nazwę dla jednego z śledzonych obiektów utworzonych w poprzedniej lekcji. Wybierz przycisk przetwarzanie obrazów w dolnej części karty obiektu.
Zostanie otwarte nowe okno. Wykonasz sześć zdjęć, aby wytrenować model do rozpoznawania obrazów. Wybierz przycisk Aparat i wykonaj funkcję AirTap, aby zobaczyć obiekt, który chcesz śledzić. Zrób to sześć razy.
Napiwek
Aby ulepszyć trenowanie modelu, spróbuj wykonać każdy obraz z różnych kątów i warunków oświetlenia.
Po uzyskaniu wystarczającej ilości obrazów wybierz przycisk Trenuj , aby rozpocząć proces trenowania modelu w chmurze. Spowoduje to przekazanie wszystkich obrazów i rozpoczęcie trenowania. Proces może potrwać kilka minut. Komunikat w menu wskazuje bieżący postęp. Po zakończeniu procesu można zatrzymać aplikację.
Napiwek
Obiekt ObjectDetectionManager (skrypt) przekazuje bezpośrednio zrobione obrazy do usługi Custom Vision. Alternatywnie interfejs API usługi Custom Vision akceptuje adresy URL obrazów. W ramach ćwiczenia można zmodyfikować obiekt ObjectDetectionManager (skrypt), aby zamiast tego przekazać obrazy do magazynu obiektów blob.
Ostrzeżenie
Jeśli trenowanie zakończy się niepowodzeniem, sprawdź pulpit nawigacyjny usługi Custom Vision i upewnij się, że masz co najmniej dwa tagi i że każdy tag ma co najmniej pięć obrazów.
Wykrywanie obiektów
Teraz możesz umieścić wytrenowany model do testu. Uruchom aplikację. W menu Głównym wybierz pozycję Wyszukaj obiekt i wprowadź nazwę śledzonego obiektu. Zostanie wyświetlona karta obiektu. Następnie wybierz przycisk Custom Vision . *ObjectDetectionManager rozpocznie przechwytywanie obrazu w tle z aparatu. Menu będzie wskazywać postęp aplikacji. Wskaż aparat do obiektu użytego do wytrenowania modelu. Wkrótce powinien wykryć obiekt.