Używanie Microsoft Azure CustomVision.ai z Tulip Vision do inspekcji wizualnej
  • 26 Mar 2024
  • 4 Minuty do przeczytania
  • Współtwórcy

Używanie Microsoft Azure CustomVision.ai z Tulip Vision do inspekcji wizualnej


Article Summary

Korzystanie z Azure CustomVision.ai z Tulip Vision to łatwy sposób na wdrożenie inspekcji wizualnej na stacjach roboczych i nie tylko.

W tym artykule zademonstrujemy, jak korzystać z usługi CustomVision.ai platformy Microsoft Azure do inspekcji wizualnej z Tulip. Usługa CustomVision.ai służy do łatwego tworzenia modeli uczenia maszynowego do zadań rozpoznawania wizualnego. Za pomocą Tulip można zbierać dane do trenowania modeli uczenia maszynowego, które oferuje CustomVision.ai.

Kontrola wizualna jest ważną częścią operacji na pierwszej linii. Może być wykorzystywana do zapewnienia, że tylko wysokiej jakości produkty opuszczają linię produkcyjną, zmniejszenia liczby zwracanych części i przeróbek oraz zwiększenia rzeczywistej wydajności. Automatyczna inspekcja wizualna może zaoszczędzić na przydzielaniu pracy ręcznej do przeprowadzania kontroli wizualnej, zmniejszając ogólne koszty i zwiększając wydajność. Dzięki Tulip Vision inspekcję wizualną można szybko i łatwo dodać do dowolnej stacji roboczej, podłączając niedrogą kamerę do istniejącego komputera i tworząc aplikację Tulip do inspekcji.

Wymagania wstępne

Przykładowa konfiguracja kontroli wizualnej

Przesyłanie obrazów inspekcji do CustomVision.ai

W tabeli zbioru danych Tulip kliknij "Pobierz zbiór danych" i wybierz odpowiednie kolumny dla obrazu i adnotacji. Pobierz i rozpakuj plik .zip zestawu danych do folderu na komputerze. Powinien on zawierać kilka podfolderów dla każdej kategorii wykrywania zgodnie z adnotacjami w tabeli zbioru danych.

Utwórz nowy projekt w Customvision.ai:

Nazwij swój projekt i wybierz typ projektu "Classification" oraz "Multiclass (Single tag per image)". Classification. Type (opcje te są domyślnie zaznaczone).

Kliknij "Dodaj obrazy".

Wybierz obrazy na komputerze dla jednej z klas. Możesz wybrać wszystkie obrazy w podfolderze pobranym z rozpakowanego zestawu danych Tulip Table. Po załadowaniu obrazów do Customvision.ai możesz zastosować znacznik do wszystkich z nich jednocześnie, aby zaoszczędzić na oznaczaniu ich pojedynczo. Ponieważ wszystkie bieżące obrazy pochodzą z tej samej klasy, jest to możliwe.

W poniższym przykładzie przesyłamy wszystkie obrazy klasy "Normal" i stosujemy tag (klasę) do wszystkich naraz:

Powtórz tę samą operację przesyłania dla innych klas.

Szkolenie i publikowanie modelu do kontroli wizualnej

Po przygotowaniu danych do treningu należy przystąpić do trenowania modelu. Model "Train" w prawym górnym rogu otwiera okno dialogowe treningu.

Wybierz odpowiednio tryb szkolenia. W celu szybkiego uruchomienia próbnego, aby sprawdzić, czy wszystko działa poprawnie, użyj opcji "Quick". W przeciwnym razie, aby uzyskać najlepsze wyniki klasyfikacji, użyj opcji "Zaawansowane".

Po wytrenowaniu modelu będziesz mógł sprawdzić jego wskaźniki wydajności, a także opublikować model, aby był dostępny za pośrednictwem wywołania API.

Wybierz odpowiedni zasób do publikacji i kontynuuj.

W tym momencie opublikowany model jest gotowy do przyjmowania żądań wnioskowania z Tulip. Zwróć uwagę na adres URL publikacji, ponieważ wkrótce będziemy go używać do łączenia się z Tulip.

Using Microsoft Azure CustomVision.ai with Tulip Vision for Visual Inspection_490190230.png

Widget do tworzenia żądań wnioskowania do opublikowanego modelu

Wykonywanie żądań wnioskowania do usługi Azure CustomVision.ai można wykonać w Tulip za pomocą niestandardowego widżetu. Strona Custom Widgets znajduje się w sekcji Settings.

Utwórz nowy Custom Widget i dodaj następujące dane wejściowe:

W przypadku części kodu użyj następujących elementów:

HTML

<button class="button" type="button">Wykryj anomalie</button>.

JavaScript

Uwaga: Tutaj musisz uzyskać adres URL i klucz predykcji z opublikowanego modelu CustomVision.ai.


 const byteArray = Uint8Array.from(window.atob(image), c => c.charCodeAt(0));  

 return new Blob([byteArray], {type: 'application/octet-stream'});  

} 


async function detectAnomalies() {  

 let image = getValue("imageBase64String");  

 const url = '<<< Użyj adresu URL z CustomVision.ai>>';  

 $.ajax({  

 url: url,  

 type: 'post',  

 data: b64toblob(image),  

 cache:false,  

 processData: false,  

 headers: {  

 'Prediction-Key': '<<< Użyj klucza przewidywania >>>',  

 'Content-Type': 'application/octet-stream'  

 },  

 success: (response) => {  

 setValue("predictions", response["predictions"]);  

 },  

 error: (err) => {  

 console.log(err);  

 },  

 async: false,  

 });  

} ```


**CSS**


``` .button {  

 background-color: 


## 616161;


border: none;  

 kolor: biały;  

 padding: 15px 32px;  

 text-align: center;  

 text-decoration: none;  

 display: inline-block;  

 font-size: 16px;  

 width: 100%;  

} ```


Upewnij się, że włączyłeś zewnętrzną bibliotekę jQuery w niestandardowym widgecie.![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-10-12%20at%2011.00.35%20AM_shadow.jpg){height="" width=""}


Twój niestandardowy widget powinien wyglądać jak poniżej:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_490283461.png)


## Korzystanie z widżetu przewidywania w aplikacji Tulip


Po skonfigurowaniu widżetu można go po prostu dodać do aplikacji, w której będą uruchamiane żądania wnioskowania. Możesz skonstruować aplikację Step w następujący sposób:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_497394399.png)


Użyj zwykłego przycisku, aby wykonać migawkę z kamery inspekcji wizualnej i zapisać ją w zmiennej:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_490299484.png)


Użyj niestandardowego widżetu "Wykryj anomalie".


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_490295795.png){height="" width="350"}


Skonfiguruj widżet, aby akceptował zmienną obrazu migawki jako base64string.


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_490296728.png){height="" width="300"}


Przypisz dane wyjściowe do zmiennej, aby wyświetlić je na ekranie lub wykorzystać w inny sposób.


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_490302048.png){height="" width="350"}


Aplikacja jest teraz gotowa do uruchamiania żądań wnioskowania w celu inspekcji wizualnej.


## Uruchamianie aplikacji do inspekcji wizualnej


Gdy aplikacja będzie gotowa, uruchom ją na komputerze Player z kamerą inspekcyjną używaną do gromadzenia danych. Ważne jest, aby odtworzyć tę samą sytuację, która została użyta do zbierania danych, jak i do wnioskowania inspekcyjnego, aby wyeliminować wszelkie błędy wynikające z różnic w oświetleniu, odległości lub kącie.


Oto przykład działającej aplikacji do inspekcji wizualnej:


![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Using%20Microsoft%20Azure%20CustomVision.ai%20with%20Tulip%20Vision%20for%20Visual%20Inspection_497398652.png)


## Więcej informacji


* [Pierwsze kroki z aplikacją Vision](https://support.tulip.co/docs/getting-started-with-vision)
* [Zbieranie danych do inspekcji wizualnej](https://support.tulip.co/docs/collecting-data-for-visual-inspection-with-vision)
* [Landing AI Custom Widget](https://support.tulip.co/docs/landingai-widget)
* [Test jednostkowy lądującej sztucznej inteligencji](https://tulip.co/library/apps/landingai-unit-test/)
* [Przegląd widżetów niestandardowych](https://support.tulip.co/docs/custom-widgets-overview)

Czy ten artykuł był pomocny?