Migrare l'algoritmo di visione dell'assieme su Ascend NPU non significa copiare i file del modello originale sul dispositivo Atlas, ma completare la personalizzazione del sistema del formato del modello, degli operatori, dell'input e dell'output, dell'interfaccia runtime e dei criteri di accettazione. Il modo tipico è: correggere la linea di base del modello originale, esportare ONNX, controllare la struttura del grafico e gli operatori, utilizzare ATC per generare il modello OM per il processore di destinazione Ascend, accedere all'inferenza tramite AscendCL e quindi completare la verifica della coerenza prima e dopo l'elaborazione, i risultati del rilevamento, le prestazioni di esecuzione e la distribuzione della versione.
Il software di ispezione visiva e le applicazioni algoritmiche per gli assemblaggi di Winge Technology funzionano già su Huawei Ascend Atlas 200I DK A2. Per i progetti che utilizzano modelli di classificazione, rilevamento di oggetti o segmentazione, è possibile aggiungere collegamenti di inferenza del modello Ascend NPU in base all'accesso alla telecamera esistente, alla configurazione del ROI, alla registrazione dei risultati e alla distribuzione locale.
Quali voci devono essere corrette prima della migrazione?
Prima di iniziare la migrazione, è necessario creare un pacchetto base riproducibile che includa almeno quanto segue:
- Framework di formazione originale, struttura del modello, pesi e script di esportazione;
- Nome di input, dimensione di input, tipo di dati e requisiti di dimensione dinamica per i modelli ONNX;
- Metodi per ordinare, ridimensionare, ritagliare, normalizzare e tensore dei colori delle immagini;
- Etichette di classificazione, decodifica dei frame di riconoscimento, soglie di confidenza, NMS o regole di elaborazione post-segmentazione;
- Un set fisso di campioni OK, NG e limite e i relativi risultati attesi;
- Dispositivo Atlas target, modello di processore Ascend, sistema operativo, CANN e versione del pacchetto operatore;
- Indicatori di accettazione del progetto come accuratezza, falsi positivi, falsi positivi, consumo di tempo unico, produttività e archiviazione.
Se questi input non vengono affrontati, anche se la conversione del modello ha esito positivo, non è possibile determinare se la differenza prima e dopo la migrazione sia dovuta all'ambiente del modello, della pre-elaborazione, della post-elaborazione o del controllo delle versioni.
Passaggio 1: creare una linea di base dei risultati del modello originale
Utilizza lo stesso set di immagini di accettazione per eseguire il modello originale e archiviare i tensori di input, l'output originale, i risultati di post-elaborazione e le decisioni aziendali finali. Il progetto di rilevamento degli oggetti dovrebbe anche salvare il quadro di rilevamento, la categoria, la confidenza e i risultati NMS; Il progetto di segmentazione dovrebbe memorizzare la dimensione della maschera, la mappatura delle categorie e i risultati dei contorni.
Il ruolo della linea di base non è quello di fornire un tasso di precisione uniforme, ma piuttosto di fornire una base campione di confronto per i successivi risultati ONNX e OM. Gli indicatori del progetto dovrebbero essere determinati sulla base dei campioni dei clienti, delle definizioni dei difetti e delle condizioni del luogo di lavoro.
Passaggio 2: esporta e verifica il modello ONNX
Dopo aver esportato ONNX dal quadro formativo, è necessario verificare quanto segue:
- I nomi dei nodi di input e output sono stabili?
- Se la dimensione di input è una dimensione fissa o una dimensione dinamica;
- Se la versione dell'operatore e la struttura del grafico corrispondono all'ambiente di conversione di destinazione;
- Se includere nodi utilizzati solo durante la fase di training;
- Se i risultati dell'esecuzione ONNX e i risultati del modello originale rientrano nell'intervallo di errore concordato.
In questo passaggio, dovresti prima risolvere il problema dell'esportazione del modello stesso, quindi eseguire la conversione sul lato Ascend per evitare che le differenze nel modello di origine vengano trasferite sul lato del dispositivo.
Passaggio 3: verificare la compatibilità degli operatori e la struttura del grafico
Prima della conversione ATC, è necessario verificare gli operatori, gli attributi, i tipi di dati e i vincoli di forma utilizzati dal modello. Se sono presenti operatori o combinazioni non supportati, è possibile scegliere tra riscrittura del grafico, sostituzione equivalente dell'operatore, suddivisione e post-elaborazione oppure operatori personalizzati in base alla struttura del modello. Non dovresti utilizzare solo "esecuzione del comando di conversione completata" come criterio per il completamento della personalizzazione.
Per stack dinamici, dimensioni dinamiche dell'immagine o dimensioni dinamiche, gli ingranaggi corrispondenti devono essere configurati in base all'input effettivo della workstation. Le stazioni di assemblaggio con telecamere fisse e dimensioni di acquisizione fisse possono in genere inizialmente utilizzare forme fisse per ridurre le ramificazioni del tempo di esecuzione e facilitare l'accettazione.
Passaggio 4: utilizzare ATC per generare un modello OM
La documentazione ufficiale Ascend di Huawei afferma che ATC viene utilizzato per convertire modelli framework open source come ONNX in modelli offline OM che possono essere riconosciuti dal processore Ascend AI. Una tipica struttura di comando è la seguente:
“Bash
atc --model=modello.onnx
--framework=5
--output=atlante_modello
--input_shape="immagini:1,3,O,L"
--soc_version=<modello processore Ascend di destinazione>
I parametri effettivi devono corrispondere all'input del modello, al processore di destinazione e all'ambiente del progetto. Durante la conversione, il comando ATC SHA-256, la versione dell'ambiente, il registro di conversione, il rapporto di ispezione e il file generato devono essere salvati per tracciare e riprodurre il processo di creazione del modello OM.
Passaggio 5: connettersi al collegamento di inferenza AscendCL
Dopo la generazione del modello OM, l'applicazione lato dispositivo deve completare l'inizializzazione delle risorse, la selezione del dispositivo, il caricamento del modello, la gestione della memoria di input e output, l'esecuzione del modello, la lettura dei risultati e il rilascio delle risorse. Il percorso dati completo per un sistema di visione di assiemi è in genere:
Fotocamera industriale o file di immagine
-> Decodifica, ritaglio e controllo della qualità dell'immagine
-> Ridimensionamento, conversione del colore, normalizzazione e disposizione del tensore
-> Ragionamento del modello OM
-> Decodifica della classificazione, del quadro di rilevamento o del risultato della segmentazione
-> ROI con regole aziendali di assemblaggio
-> PASSA / FAIL / SCONOSCIUTO
-> Grafico delle prove, registro dei risultati e interfaccia della workstation
L'interfaccia di inferenza è responsabile solo del calcolo del modello e la determinazione della workstation finale gestisce anche la deduplicazione dei trigger, la qualità dell'immagine, la prova dei risultati, lo stato anomalo, l'interfaccia PLC o I/O e il tracciamento dei dati.
Passaggio 6: verificare la coerenza della pre e post-elaborazione
Le differenze comuni nei progetti di migrazione non derivano necessariamente dal modello stesso. L'ordine dei colori, il metodo di interpolazione, il coefficiente di normalizzazione, il metodo di quantizzazione, il layout del tensore, il ridimensionamento delle coordinate e i parametri NMS possono modificare l'output.
Si consiglia di effettuare confronti ai seguenti livelli:
- Livello di input: confronta i tensori immessi nel modello originale e nel modello OM. - Livello di output: confronta la forma, l'intervallo di valori e l'ordine dei nodi dell'output originale del modello. - Livello di algoritmo: confronta categorie, campi di rilevamento, maschere e confidenza; - Livello aziendale: confronta i risultati PASS, FAIL o SCONOSCIUTO di ciascun campione. - Livello di prova: confronta le posizioni dei difetti, le mappe delle annotazioni e i record dei risultati per determinare se corrispondono allo stesso pezzo.
Solo individuando le differenze livello per livello possiamo giudicare se la conversione del modello, l’elaborazione dei dati o le regole aziendali debbano essere modificate.
Passaggio 7: completa il controllo delle prestazioni e della stabilità del dispositivo
I test delle prestazioni dovrebbero essere eseguiti sui dispositivi target Atlas, sulle dimensioni formali delle immagini e sulle connessioni di elaborazione effettive, distinguendo tra:
- tempo di acquisizione o decodifica dell'immagine; - tempo di pre-elaborazione; - Tempo di inferenza per un singolo modello; - Tempo per la post-elaborazione e regole aziendali; - Tempo per scrivere le immagini delle prove e i file dei risultati; - Tempo di risposta della workstation end-to-end.
I risultati del test dovrebbero anche registrare la versione del modello, l'hash del file OM, la versione CANN, il modello del processore, la dimensione dell'input, il batch, la modalità di precisione, il numero di riscaldamenti e il numero di campioni. La precisione, la durata del ciclo di produzione e la stabilità a lungo termine sono confermate da ispezioni indipendenti di progetti specifici e condizioni operative continue.
Passaggio 8: crea una consegna della versione arrotolabile
La consegna formale dovrebbe contenere almeno quanto segue:
- Modello originale o file sorgente del modello nell'ambito concordato; - modello ONNX e istruzioni per l'esportazione; - Modello OM, comando ATC, protocollo di conversione e valore di controllo; - Codice di pre-elaborazione, inferenza, post-elaborazione e interfaccia aziendale; - Sistema operativo, CANN, pacchetto operatore ed elenco delle versioni dipendenti; - Risultati della verifica dei campioni, registrazioni delle differenze e rapporti sui test delle prestazioni; - Istruzioni per la configurazione, l'avvio del servizio, il logging, l'aggiornamento, il backup e il rollback.
Winge Technology può eseguire il lavoro di migrazione del modello insieme a fotocamere, ottica, ROI,
Quali questioni hanno maggiori probabilità di incidere sugli esiti della migrazione?
| Domanda | Sintomi comuni | Direzione di elaborazione | |---|---|---| | Le definizioni di input sono incoerenti | Spostamento generale dei risultati o livello di confidenza anomalo | Colore, dimensione, normalizzazione e layout del tensore corretti | | L'operatore o il modulo non è compatibile | La conversione ATC non riesce o la struttura di output cambia | Riscrittura dei grafici, sostituzione degli operatori, ingranaggi dinamici o operatori personalizzati | | Post-elaborazione incoerente | Il numero, la posizione o la categoria dei fotogrammi di riconoscimento sono diversi | Decodifica unificata, soglia, NMS e recupero coordinato | | La combinazione di versioni non è fissa | Lo stesso modello si comporta diversamente in ambienti diversi | Sistema fisso, CANN, pacchetto operatore e registro di costruzione OM | | Anche solo testare il modello richiede tempo | Il ritmo dal vivo continua a non soddisfare i requisiti | Collegamento completo dall'acquisizione della misurazione all'output dei risultati | | Raccolta di convalida indipendente mancante | Non è possibile determinare se la migrazione manterrà i risultati aziendali | Utilizzare campioni OK, NG e limite che non sono coinvolti nell'ottimizzazione dei parametri |
Domande frequenti
### I modelli ONNX possono funzionare direttamente sulla Ascend NPU?
In genere, è necessario utilizzare ATC per convertire il modello ONNX in un modello offline OM basato sul processore Ascend di destinazione e sull'ambiente CANN, quindi caricarlo ed eseguirlo tramite interfacce lato dispositivo come AscendCL.
### La conversione per generare file OM significa che la migrazione è completa?
Non subito. È inoltre necessario completare l'aggancio di input e output, la coerenza pre e post-elaborazione, il confronto casuale dei risultati, il test delle prestazioni lato dispositivo, la gestione delle eccezioni e la verifica della distribuzione della versione.
### È necessario convertire tutte le regole di visione tradizionali in reti neurali?
Non ce n'è bisogno. È ancora possibile mantenere le regole del ROI con posizioni fisse e confini chiari; I modelli di classificazione, rilevamento di oggetti o segmentazione vengono utilizzati per gestire cambiamenti di categoria, sfondi complessi e attività di riconoscimento semantico ed entrambi possono essere combinati nella stessa applicazione Atlas.
### È possibile utilizzare direttamente lo stesso modello OM per tutti i dispositivi Atlas?
I parametri di conversione del modello OM si riferiscono al processore target Ascend e all'ambiente software. Durante l'implementazione del progetto, il modello del processore, il CANN e la versione del pacchetto operatore dovrebbero essere confermati in base al dispositivo di destinazione e dovrebbero essere conservati i record di build corrispondenti.
### Come valutare se i risultati prima e dopo la migrazione sono coerenti?
Il campionamento fisso dovrebbe essere utilizzato per confrontare il tensore di input, l’output originale del modello, i risultati dell’algoritmo e il giudizio aziendale finale strato per strato. L'accettazione dovrebbe basarsi sull'errore, sull'accuratezza e sulle regole del posto di lavoro confermate da entrambe le parti. Non puoi semplicemente confrontare un piccolo numero di immagini dimostrative.
fonti ufficiali
- Huawei Ascend: modello ONNX passato al modello OM https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/81RC1beta1/quickstart/quickstart/quickstart_18_0010.html - Huawei Ascend: parametri della riga di comando ATC e restrizioni per l'operatore https://www.hiascend.com/document/detail/it/canncommercial/850/devaids/atctool/atlasatc_16_0039.html - Huawei Ascend: costruzione del modello AscendCL e sviluppo di applicazioni https://www.hiascend.com/document/detail/zh/canncommercial/850/appdevg/acldevg/aclcppdevg_000027.html
Atlas, Ascend, CANN, AscendCL e nomi correlati appartengono ai rispettivi titolari del copyright. Questo articolo spiega i metodi di personalizzazione per i progetti Assembly Vision forniti da Winge Technology. Ciò non significa che i titolari dei diritti interessati partecipino o sostengano il progetto specifico. Le capacità delle attrezzature e degli strumenti sono soggette ai relativi documenti di rilascio ufficiali e i risultati del progetto sono soggetti ai modelli, ai campioni, alle attrezzature e alle condizioni di accettazione effettivi.
Risorse atlante correlate
- Ispezione visiva dell'assemblaggio completamente localizzato in Cina: caso di studio del progetto Huawei Ascend Atlas
- Winge Technology ha completato la regolazione interna del dispositivo dell'ispezione visiva di montaggio su Atlas 200I DK A2
- Quali interventi tecnici sono compresi nella personalizzazione dell'ispezione visiva Atlas 200I DK A2?
- Dalla convalida del kit di sviluppo Atlas a un sistema di visione di produzione localizzato in Cina
- In che modo una piattaforma cinese edge supporta la completezza dell'assemblaggio e l'ispezione delle parti mancanti?
- Come implementare e fornire un'ispezione visiva in loco degli assemblaggi Huawei Ascend Atlas
- Elaborazione delle immagini con Huawei Ascend Atlas
In linea
Telefono
WeChat
tornare all'inizio