W rolnictwie istotną rolę w szacowaniu plonów odgrywa problem identyfikacji i liczenia ilości owoców na drzewach. Popularna staje się koncepcja wynajmu i dzierżawy drzewka, w której właściciel drzewa co roku przed zbiorami dzierżawi je na podstawie szacunkowych zbiorów owoców. Powszechna praktyka ręcznego liczenia owoców jest procesem czasochłonnym i pracochłonnym. To jedno z najtrudniejszych, ale najważniejszych zadań, aby uzyskać lepsze wyniki w systemie zarządzania uprawami. Takie oszacowanie ilości owoców i kwiatów pomaga rolnikom podejmować lepsze decyzje — nie tylko w sprawie cen leasingu, ale także praktyk uprawowych i zapobiegania chorobom roślin.
W tym miejscu rozwiązanie zautomatyzowanego uczenia maszynowego (ML) dla wizji komputerowej (CV) może pomóc rolnikom. Etykiety niestandardowe Amazon Rekognition to w pełni zarządzana usługa wizji komputerowej, która umożliwia programistom tworzenie niestandardowych modeli do klasyfikowania i identyfikowania obiektów na obrazach, które są specyficzne i unikalne dla Twojej firmy.
Rekognition Custom Labels nie wymaga wcześniejszej wiedzy z zakresu widzenia komputerowego. Możesz zacząć, po prostu przesyłając dziesiątki obrazów zamiast tysięcy. Jeśli obrazy są już oznaczone etykietami, możesz rozpocząć trenowanie modelu za pomocą kilku kliknięć. Jeśli nie, możesz je oznaczyć bezpośrednio w konsoli Rekognition Custom Labels lub użyć Amazon SageMaker Ground Prawda aby je oznaczyć. Rekognition Custom Labels wykorzystuje uczenie transferu do automatycznego sprawdzania danych uczących, wybierania odpowiedniej struktury modelu i algorytmu, optymalizacji hiperparametrów i uczenia modelu. Gdy jesteś zadowolony z dokładności modelu, możesz rozpocząć hostowanie wytrenowanego modelu za pomocą jednego kliknięcia.
W tym poście pokazujemy, jak zbudować kompleksowe rozwiązanie za pomocą etykiet niestandardowych Rekognition do wykrywania i liczenia owoców w celu pomiaru wydajności rolnictwa.
Omówienie rozwiązania
Tworzymy niestandardowy model do wykrywania owoców, wykonując następujące kroki:
- Oznacz zbiór danych obrazami zawierającymi owoce za pomocą Amazon SageMaker Ground Prawda.
- Utwórz projekt w Rekognition Custom Labels.
- Zaimportuj swój oznaczony etykietą zbiór danych.
- Wytrenuj model.
- Przetestuj nowy model niestandardowy przy użyciu automatycznie wygenerowanego punktu końcowego interfejsu API.
Rekognition Custom Labels umożliwia zarządzanie procesem uczenia modelu ML w konsoli Amazon Rekognition, co upraszcza całościowy proces opracowywania i wnioskowania modelu.
Wymagania wstępne
Aby utworzyć model pomiaru plonów w rolnictwie, musisz najpierw przygotować zestaw danych, na podstawie którego zostanie przeszkolony model. W tym poście nasz zbiór danych składa się z obrazów owoców. Poniższe obrazy pokazują kilka przykładów.
Nasze obrazy pozyskaliśmy z własnego ogrodu. Możesz pobrać pliki graficzne z GitHub repo.
W tym poście używamy tylko kilku zdjęć, aby pokazać przypadek użycia owoców. Możesz dalej eksperymentować z większą liczbą obrazów.
Aby przygotować zbiór danych, wykonaj następujące kroki:
- Tworzenie Usługa Amazon Simple Storage Łyżka (Amazon S3).
- W tym zasobniku utwórz dwa foldery o nazwie
raw_data
itest_data
, do przechowywania obrazów do etykietowania i testowania modelu. - Dodaj Prześlij aby przesłać obrazy do odpowiednich folderów z repozytorium GitHub.
Przesłane obrazy nie są oznaczone. Oznaczysz obrazy w następnym kroku.
Oznacz swój zbiór danych za pomocą Ground Truth
Aby wytrenować model ML, potrzebujesz obrazków z etykietami. Ground Truth zapewnia łatwy proces etykietowania obrazów. Zadanie etykietowania jest wykonywane przez ludzką siłę roboczą; w tym poście tworzysz prywatną siłę roboczą. Możesz użyć Amazon Mechanical Turk do etykietowania na dużą skalę.
Utwórz personel zajmujący się etykietowaniem
Najpierw stwórzmy naszych pracowników zajmujących się etykietowaniem. Wykonaj następujące kroki:
- Na konsoli SageMaker pod Podstawowa prawda w okienku nawigacji wybierz Etykietowanie siły roboczej.
- Na Sprawy Prywatne kartę, wybierz Utwórz prywatny zespół.
- W razie zamówieenia projektu Nazwa drużyny, wprowadź nazwę swojej siły roboczej (dla tego posta,
labeling-team
). - Dodaj Utwórz prywatny zespół.
- Dodaj Zaproś nowych pracowników.
- W Dodaj pracowników według adresu e-mail w sekcji wprowadź adresy e-mail swoich pracowników. W tym poście wpisz swój własny adres e-mail.
- Dodaj Zaproś nowych pracowników.
Utworzyłeś pracowników zajmujących się etykietowaniem, których użyjesz w następnym kroku podczas tworzenia zadania etykietowania.
Utwórz zadanie etykietowania Ground Truth
Aby dobrze wykonać zadanie związane z etykietowaniem, wykonaj następujące czynności:
- Na konsoli SageMaker pod Podstawowa prawdawybierz Etykietowanie zadań.
- Dodaj Utwórz zadanie etykietowania.
- W razie zamówieenia projektu Nazwa pracy, wchodzić
fruits-detection
. - Wybierz Chcę podać nazwę atrybutu etykiety inną niż nazwa zadania etykietowania.
- W razie zamówieenia projektu Nazwa atrybutu etykietywchodzić
Labels
. - W razie zamówieenia projektu Konfiguracja danych wejściowych, Wybierz Zautomatyzowana konfiguracja danych.
- W razie zamówieenia projektu Lokalizacja S3 dla wejściowych zestawów danych, wprowadź lokalizację obrazów S3, korzystając z utworzonego wcześniej wiadra (
s3://{your-bucket-name}/raw-data/images/
). - W razie zamówieenia projektu Lokalizacja S3 dla wyjściowych zestawów danych, Wybierz Określ nową lokalizację i wprowadź lokalizację wyjściową dla danych z adnotacjami (
s3://{your-bucket-name}/annotated-data/
). - W razie zamówieenia projektu Typ danychwybierz Obraz.
- Dodaj Kompletna konfiguracja danych.
Spowoduje to utworzenie pliku manifestu obrazu i zaktualizowanie ścieżki lokalizacji wejściowej S3. Poczekaj na komunikat „Połączenie danych wejściowych powiodło się”. - Rozszerzać Dodatkowa konfiguracja.
- Potwierdź, że Pełny zbiór danych jest wybrany.
Służy do określenia, czy chcesz dostarczyć wszystkie obrazy do zadania etykietowania, czy podzbiór obrazów na podstawie filtrów lub losowego próbkowania. - W razie zamówieenia projektu Kategoria zadaniawybierz Obraz ponieważ jest to zadanie dla adnotacji obrazu.
- Ponieważ jest to przypadek użycia wykrywania obiektów, dla Wybór zadań, Wybierz Pudełko ograniczające.
- Pozostałe opcje pozostaw jako domyślne i wybierz Następna.
- Dodaj Następna.
Teraz określasz swoich pracowników i konfigurujesz narzędzie do etykietowania. - W razie zamówieenia projektu Rodzaje pracowników, Wybierz Sprawy Prywatne.W tym poście wykorzystujesz wewnętrzną siłę roboczą do opisywania obrazów. Masz również możliwość wyboru publicznej siły roboczej kontraktowej (Amazon Mechaniczny Turk) lub partnerskiej siły roboczej (Zarządzany przez dostawcę) w zależności od przypadku użycia.
- W przypadku zespołów prywatnych wybierz zespół, który utworzyłeś wcześniej.
- Pozostałe opcje pozostaw jako domyślne i przewiń w dół do Narzędzie do etykietowania obwiedni.Konieczne jest podanie jasnych instrukcji w narzędziu do etykietowania dla zespołu zajmującego się etykietowaniem prywatnym. Te instrukcje służą jako przewodnik dla adnotatorów podczas etykietowania. Dobre instrukcje są zwięzłe, dlatego zalecamy ograniczenie instrukcji słownych lub tekstowych do dwóch zdań i skupienie się na instrukcjach wizualnych. W przypadku klasyfikacji obrazów zalecamy w ramach instrukcji podać po jednym obrazku oznaczonym w każdej z klas.
- Dodaj dwie etykiety:
fruit
ino_fruit
. - Wprowadź szczegółowe instrukcje w Pole opisu do podania instrukcje dla pracowników. Na przykład:
You need to label fruits in the provided image. Please ensure that you select label 'fruit' and draw the box around the fruit just to fit the fruit for better quality of label data. You also need to label other areas which look similar to fruit but are not fruit with label 'no_fruit'
.Możesz też opcjonalnie podać przykłady dobrych i złych obrazów etykiet. Musisz upewnić się, że te obrazy są publicznie dostępne. - Dodaj Stwórz aby utworzyć zadanie etykietowania.
Po pomyślnym utworzeniu zadania następnym krokiem jest oznaczenie obrazów wejściowych.
Rozpocznij zadanie etykietowania
Po pomyślnym utworzeniu zadania status zadania to InProgress
. Oznacza to, że praca jest tworzona, a prywatna siła robocza jest powiadamiana e-mailem o przydzielonym im zadaniu. Ponieważ przydzieliłeś zadanie sobie, powinieneś otrzymać e-mail z instrukcjami logowania się do projektu Ground Truth Labeling.
- Otwórz wiadomość e-mail i wybierz podany link.
- Wprowadź nazwę użytkownika i hasło podane w wiadomości e-mail.
Po zalogowaniu może być konieczna zmiana tymczasowego hasła podanego w wiadomości e-mail na nowe hasło. - Po zalogowaniu wybierz swoją pracę i wybierz Rozpocząć pracę.
Za pomocą dostarczonych narzędzi można powiększać, pomniejszać, przesuwać i rysować obwiednie na obrazach. - Wybierz swoją etykietę (
fruit
orno_fruit
), a następnie narysuj obwiednię na obrazie, aby ją opisać. - Kiedy skończysz, wybierz Prześlij.
Teraz masz poprawnie oznaczone obrazy, które będą używane przez model ML do szkolenia.
Stwórz swój projekt Amazon Rekognition
Aby utworzyć projekt pomiaru plonów w rolnictwie, wykonaj następujące czynności:
- Na konsoli Amazon Rekognition wybierz Niestandardowe etykiety.
- Dodaj Rozpocznij.
- W razie zamówieenia projektu Nazwa Projektu, wchodzić
fruits_yield
. - Dodaj Utwórz projekt.
Możesz również utworzyć projekt na Projekty strona. Możesz uzyskać dostęp do Projekty stronę za pomocą panelu nawigacyjnego. Następnym krokiem jest dostarczenie obrazów jako danych wejściowych.
Zaimportuj swój zbiór danych
Aby utworzyć model pomiaru plonów w rolnictwie, musisz najpierw zaimportować zestaw danych, aby nauczyć model. W tym poście nasz zbiór danych jest już oznaczony przy użyciu Ground Truth.
- W razie zamówieenia projektu Importuj obrazy, Wybierz Importuj obrazy oznaczone przez SageMaker Ground Truth.
- W razie zamówieenia projektu Lokalizacja pliku manifestu, wpisz lokalizację zasobnika S3 pliku manifestu (
s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest
). - Dodaj Utwórz zestaw danych.
Możesz zobaczyć swój zbiór danych oznaczonych etykietami.
Teraz masz swój wejściowy zestaw danych dla modelu ML, aby rozpocząć ich szkolenie.
Wytrenuj swoją modelkę
Po oznaczeniu obrazów etykietami możesz trenować model.
- Dodaj Trenuj model.
- W razie zamówieenia projektu Wybierz projekt, wybierz swój projekt
fruits_yield
. - Dodaj Model pociągu.
Poczekaj na zakończenie szkolenia. Teraz możesz rozpocząć testowanie wydajności tego wytrenowanego modelu.
Przetestuj swój model
Twój model pomiaru plonów w rolnictwie jest teraz gotowy do użycia i powinien znajdować się w Running
państwo. Aby przetestować model, wykonaj następujące czynności:
Krok 1: Uruchom model
Na stronie szczegółów modelu, na Użyj modelu kartę, wybierz Start.
Rekognition Custom Labels zapewnia również wywołania interfejsu API do uruchamiania, używania i zatrzymywania modelu.
Krok 2: Przetestuj model
Gdy model jest w Running
stan, możesz użyć przykładowego skryptu testowego analyzeImage.py
aby policzyć ilość owoców na obrazie.
- Pobierz ten skrypt z GitHub repo.
- Edytuj ten plik, aby zastąpić parametr
bucket
z nazwą Twojego wiadra imodel
z Twoim modelem rozpoznawania Amazon ARN.
Używamy parametrów photo
i min_confidence
jako dane wejściowe dla tego skryptu Pythona.
Możesz uruchomić ten skrypt lokalnie za pomocą Interfejs wiersza poleceń AWS (AWS CLI) lub za pomocą Chmura AWS. W naszym przykładzie skrypt uruchomiliśmy za pośrednictwem konsoli CloudShell. Zauważ, że CloudShell jest swobodnie korzystać.
Upewnij się, że zainstalowałeś wymagane zależności za pomocą polecenia pip3 install boto3 PILLOW
jeśli jeszcze nie jest zainstalowany.
Poniższy zrzut ekranu pokazuje dane wyjściowe, które wykryły dwa owoce na obrazie wejściowym. Dostarczyliśmy 15.jpeg jako argument ze zdjęciem i 85 jako min_confidence
wartość.
Poniższy przykład przedstawia obraz 15.jpeg z dwoma ramkami ograniczającymi.
Możesz uruchomić ten sam skrypt z innymi obrazami i eksperymentować, dalej zmieniając wynik ufności.
Krok 3: Zatrzymaj model
Po zakończeniu pamiętaj o zatrzymaniu modelu, aby uniknąć niepotrzebnych opłat. Na stronie szczegółów modelu na karcie Użyj modelu wybierz opcję Zatrzymaj.
Sprzątać
Aby uniknąć niepotrzebnych opłat, usuń zasoby używane w tym przewodniku, gdy nie są używane. Musimy usunąć projekt Amazon Rekognition i zasobnik S3.
Usuń projekt Amazon Rekognition
Aby usunąć projekt Amazon Rekognition, wykonaj następujące czynności:
- Na konsoli Amazon Rekognition wybierz Użyj etykiet niestandardowych.
- Dodaj Rozpocznij.
- W okienku nawigacji wybierz Projekty.
- Na Projekty stronę, wybierz projekt, który chcesz usunąć.
- Dodaj Usuń.
Połączenia Usuń projekt pojawi się okno dialogowe.
- Dodaj Usuń.
- Jeśli projekt nie ma powiązanych modeli:
- Wchodzę usunąć aby usunąć projekt.
- Dodaj Usuń aby usunąć projekt.
- Jeśli projekt ma powiązane modele lub zbiory danych:
- Wchodzę usunąć aby potwierdzić, że chcesz usunąć model i zestawy danych.
- Wybierz jedną Usuń powiązane modele, Usuń powiązane zbiory danychlub Usuń powiązane zbiory danych i modele, w zależności od tego, czy model zawiera zestawy danych, modele, czy oba te elementy.
Usunięcie modelu może chwilę potrwać. Pamiętaj, że konsola Amazon Rekognition nie może usuwać modeli, które są w trakcie trenowania lub działania. Spróbuj ponownie po zatrzymaniu wszystkich uruchomionych modeli, które są na liście, i poczekaj, aż modele wymienione jako uczące się zakończą. Jeśli zamkniesz okno dialogowe podczas usuwania modelu, modele są nadal usuwane. Później możesz usunąć projekt, powtarzając tę procedurę.
- Wchodzę usunąć aby potwierdzić, że chcesz usunąć projekt.
- Dodaj Usuń aby usunąć projekt.
Usuń swój zasobnik S3
Najpierw musisz opróżnić wiadro, a następnie je usunąć.
- Na Amazon S3 konsola, wybierz Wiadra.
- Wybierz wiadro, które chcesz opróżnić, a następnie wybierz pusty.
- Potwierdź, że chcesz opróżnić zasobnik, wprowadzając nazwę zasobnika w polu tekstowym, a następnie wybierz pusty.
- Dodaj Usuń.
- Potwierdź, że chcesz usunąć zasobnik, wprowadzając nazwę zasobnika w polu tekstowym, a następnie wybierz Usuń zasobnik.
Wnioski
W tym poście pokazaliśmy, jak stworzyć model wykrywania obiektów za pomocą etykiet niestandardowych Rekognition. Ta funkcja ułatwia trenowanie niestandardowego modelu, który może wykrywać klasę obiektów bez konieczności określania innych obiektów lub utraty dokładności wyników.
Aby uzyskać więcej informacji na temat używania etykiet niestandardowych, zobacz Co to są niestandardowe etykiety Amazon Rekognition?
O autorach
Dhiraj Thakura jest architektem rozwiązań w Amazon Web Services. Współpracuje z klientami i partnerami AWS, aby zapewnić wskazówki dotyczące wdrażania chmury korporacyjnej, migracji i strategii. Pasjonuje się technologią, lubi budować i eksperymentować w przestrzeni analitycznej i AI / ML.
Sameera Goela jest starszym architektem rozwiązań w Holandii, który napędza sukces klientów, budując prototypy w najnowocześniejszych inicjatywach. Przed dołączeniem do AWS Sameer ukończył Boston z tytułem magistra, ze specjalizacją w nauce o danych. Lubi budować i eksperymentować z projektami AI/ML na Raspberry Pi. Możesz go znaleźć na LinkedIn.
- AI
- ai sztuka
- generator sztuki ai
- masz robota
- Amazon Rekognition
- sztuczna inteligencja
- certyfikacja sztucznej inteligencji
- sztuczna inteligencja w bankowości
- robot sztucznej inteligencji
- roboty sztucznej inteligencji
- oprogramowanie sztucznej inteligencji
- Uczenie maszynowe AWS
- blockchain
- konferencja blockchain ai
- pomysłowość
- sztuczna inteligencja konwersacyjna
- konferencja kryptograficzna
- Dall's
- głęboka nauka
- google to
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- zefirnet