어셈블리 비전 알고리즘을 Ascend NPU로 마이그레이션한다는 것은 원본 모델 파일을 Atlas 장치에 복사하는 것이 아니라 모델 형식, 연산자, 입력 및 출력, 런타임 인터페이스 및 승인 기준의 시스템 적응을 완료하는 것을 의미합니다. 일반적인 경로는 원본 모델 기준 수정, ONNX 내보내기, 그래프 구조 및 연산자 확인, ATC를 사용하여 대상 Ascend 프로세서에 대한 OM 모델 생성, AscendCL을 통해 추론에 액세스한 다음 전처리 및 후처리 일관성, 탐지 결과, 실행 성능 및 버전 전달 검증을 완료하는 것입니다.
Winge Technology의 조립 육안 검사 소프트웨어 및 알고리즘 애플리케이션은 이미 Huawei Ascend Atlas 200I DK A2에서 실행되고 있습니다. 분류, 객체 감지 또는 분할 모델을 사용하는 프로젝트의 경우 기존 카메라 액세스, ROI 구성, 결과 기록 및 로컬 배포를 기반으로 Ascend NPU 모델 추론 링크를 추가할 수 있습니다.
마이그레이션하기 전에 어떤 입력을 수정해야 합니까?
마이그레이션을 시작하기 전에 최소한 다음을 포함하는 재현 가능한 기본 패키지를 구성해야 합니다.
- 독창적인 훈련 프레임워크, 모델 구조, 가중치 및 내보내기 스크립트
- ONNX 모델에 대한 입력 이름, 입력 크기, 데이터 유형 및 동적 차원 요구 사항
- 이미지 색상 순서, 스케일링, 자르기, 정규화 및 텐서 배열 방법;
- 분류 라벨, 탐지 프레임 디코딩, 신뢰도 임계값, NMS 또는 분할 후 처리 규칙
- OK, NG 및 경계 샘플의 고정 세트와 예상 결과
- 대상 Atlas 장치, Ascend 프로세서 모델, 운영 체제, CANN 및 운영자 패키지 버전
- 정확성, 탐지 누락, 허위 경보, 단일 시간 소비, 처리량 및 메모리와 같은 프로젝트 승인 지표.
이러한 입력이 고정되어 있지 않으면 모델 변환에 성공하더라도 마이그레이션 전과 후의 차이가 모델 환경, 전처리 환경, 후처리 환경 또는 버전 환경에 따른 것인지 판단할 수 없습니다.
1단계: 원래 모델 결과의 기준선 설정
동일한 수용 이미지 세트를 사용하여 원본 모델을 실행하고 입력 텐서, 원본 출력, 사후 처리 결과 및 최종 비즈니스 결정을 저장합니다. 객체 감지 프로젝트는 감지 프레임, 카테고리, 신뢰도 및 NMS 결과도 저장해야 합니다. 분할 프로젝트는 마스크 크기, 범주 매핑 및 윤곽선 결과를 저장해야 합니다.
기준선의 역할은 통일된 정확도를 제공하는 것이 아니라 후속 ONNX 및 OM 결과에 대한 샘플별 비교 기반을 제공하는 것입니다. 프로젝트 지표는 고객 샘플, 결함 정의 및 워크스테이션 조건을 기반으로 결정되어야 합니다.
2단계: ONNX 모델 내보내기 및 검사
학습 프레임워크에서 ONNX를 내보낸 후 다음을 확인해야 합니다.
- 입력 및 출력 노드 이름이 안정적입니까?
- 입력 크기가 고정 크기인지 동적 크기인지 여부.
- 연산자 버전 및 그래프 구조가 대상 변환 환경에 적합한지 여부
- 훈련 단계에서만 사용되는 노드를 포함할지 여부
- ONNX 실행 결과와 원래 모델 결과가 합의된 오류 범위 내에 있는지 여부.
이 단계에서는 먼저 모델 자체의 내보내기 문제를 해결한 다음 소스 모델 차이가 기기 측으로 가져오는 것을 방지하기 위해 Ascend 측 변환을 시작해야 합니다.
3단계: 연산자 호환성 및 그래프 구조 확인
ATC 변환 전에 모델에서 사용하는 연산자, 속성, 데이터 유형 및 모양 제약 조건을 확인해야 합니다. 지원되지 않는 연산자나 조합이 있는 경우 그래프 재작성, 등가 연산자 대체, 분할 및 후처리 또는 모델 구조에 따른 사용자 정의 연산자를 선택할 수 있습니다. 단순히 "변환 명령 실행 완료"를 적응 완료 기준으로 사용해서는 안 됩니다.
동적 배치, 동적 이미지 크기 또는 동적 치수의 경우 실제 워크스테이션 입력에 따라 해당 기어를 구성해야 합니다. 고정된 카메라와 고정된 감지 치수를 갖춘 조립 스테이션은 일반적으로 런타임 분기를 줄이고 수용을 용이하게 하기 위해 먼저 고정된 모양을 사용할 수 있습니다.
4단계: ATC를 사용하여 OM 모델 생성
Huawei의 Ascend 공식 문서에는 ATC가 ONNX와 같은 오픈 소스 프레임워크 모델을 Ascend AI 프로세서에서 인식할 수 있는 OM 오프라인 모델로 변환하는 데 사용된다고 나와 있습니다. 일반적인 명령 구조는 다음과 같습니다.
``배쉬
atc --model=model.onnx
--프레임워크=5
--output=model_atlas
--input_shape="이미지:1,3,H,W"
--soc_version=<대상 Ascend 프로세서 모델>
실제 매개변수는 모델 입력, 대상 프로세서 및 프로젝트 환경과 일치해야 합니다. 변환 중에는 ATC 명령의 SHA-256, 환경 버전, 변환 로그, 검사 보고서 및 생성된 파일을 저장하여 OM 모델 구축 프로세스를 추적하고 재현해야 합니다.
## 5단계: AscendCL 추론 링크에 연결
OM 모델이 생성된 후에는 리소스 초기화, 디바이스 선택, 모델 로딩, 입출력 메모리 관리, 모델 실행, 결과 읽기 및 리소스 해제가 디바이스 측 애플리케이션에서 완료되어야 합니다. 어셈블리 비전 시스템의 전체 데이터 경로는 일반적으로 다음과 같습니다.
산업용 카메라 또는 이미지 파일
-> 디코딩, 자르기 및 이미지 품질 확인
-> 크기 조정, 색상 변환, 정규화 및 텐서 배열
-> OM 모델 추론
-> 분류, 검출 프레임 또는 분할 결과 디코딩
-> 어셈블리 비즈니스 규칙이 있는 ROI
-> PASS / FAIL / UNKNOWN
-> 증거 도표, 결과 기록 및 워크스테이션 인터페이스
추론 인터페이스는 모델 계산만 담당하며 최종 워크스테이션 결정은 트리거 중복 제거, 화질, 결과 증거, 비정상 상태, PLC 또는 I/O 인터페이스 및 데이터 추적도 처리합니다.
## 6단계: 전처리와 후처리의 일관성 확인
마이그레이션 프로젝트의 일반적인 차이점이 반드시 모델 자체에서 나오는 것은 아닙니다. 색상 순서, 보간 방법, 정규화 계수, 양자화 방법, 텐서 레이아웃, 좌표 스케일링 및 NMS 매개변수에 따라 출력이 변경될 수 있습니다.
다음 수준에 따라 비교하는 것이 좋습니다.
- 입력 레이어: 원본 모델과 OM 모델에 입력되는 텐서를 비교합니다.
- 출력 레이어: 모델의 원래 출력의 모양, 값 범위 및 노드 순서를 비교합니다.
- 알고리즘 레이어: 카테고리, 탐지 상자, 마스크 및 신뢰도를 비교합니다.
- 비즈니스 계층: 각 샘플의 PASS, FAIL 또는 UNKNOWN 결과를 비교합니다.
- 증거 레이어: 결함 위치, 주석 맵 및 결과 기록을 비교하여 동일한 공작물에 해당하는지 확인합니다.
계층별로 차이점을 찾아내야만 모델 변환, 데이터 처리 또는 비즈니스 규칙을 조정해야 하는지 여부를 판단할 수 있습니다.
## 7단계: 기기 성능 및 안정성 검증 완료
성능 테스트는 대상 Atlas 장치, 공식 이미지 크기 및 실제 처리 링크에서 수행되어야 하며 다음을 구별해야 합니다.
- 이미지 획득 또는 디코딩 시간
- 전처리 시간;
- 단일 모델 추론 시간
- 사후 처리 및 비즈니스 규칙 시간
- 증거 이미지 및 결과 파일 작성 시간;
- 엔드투엔드 워크스테이션 응답 시간.
테스트 결과에는 모델 버전, OM 파일 해시, CANN 버전, 프로세서 모델, 입력 크기, 배치, 정밀 모드, 워밍업 수 및 샘플 수도 기록되어야 합니다. 정확성, 생산 주기 시간 및 장기적인 안정성은 특정 프로젝트 및 지속적인 운영 조건에 대한 독립적인 검사를 통해 확인됩니다.
## 8단계: 롤러블 버전 전달 구성
정식 전달에는 최소한 다음이 포함되어야 합니다.
- 합의된 범위 내의 원본 모델 또는 모델 소스 파일
- ONNX 모델 및 내보내기 지침
- OM 모델, ATC 명령, 변환 로그 및 확인 값;
- 전처리, 추론, 후처리 및 비즈니스 인터페이스 코드
- 운영 체제, CANN, 운영자 패키지 및 종속 버전 목록
- 샘플 검증 결과, 차이 기록 및 성능 테스트 보고서
- 구성, 서비스 시작, 로깅, 업그레이드, 백업 및 롤백 지침.
Winge Technology는 카메라, 광학 장치, ROI, I/O, 인터페이스, 결과 추적성 및 로컬 배포와 함께 모델 마이그레이션 작업을 구현할 수 있으므로 모델 추론을 격리된 모델 시연이 아닌 전체 어셈블리 검사 시스템의 일부로 만듭니다.
## 마이그레이션 결과에 영향을 미칠 가능성이 가장 높은 문제는 무엇입니까?
| 질문 | 일반적인 증상 | 가공방향 |
|---|---|---|
| 입력 정의가 일관되지 않습니다. | 결과의 전반적인 변화 또는 비정상적인 신뢰 수준 | 고정된 색상, 크기, 정규화 및 텐서 레이아웃 |
| 연산자 또는 모양이 호환되지 않습니다. | ATC 변환 실패 또는 출력 구조 변경 | 그래프 재작성, 연산자 교체, 동적 기어 또는 맞춤형 연산자 |
| 일관성 없는 후처리 | 감지 프레임의 수, 위치 또는 범주가 다릅니다. | 통합 디코딩, 임계값 지정, NMS 및 좌표 복원 |
| 버전 조합이 고정되지 않았습니다. | 동일한 모델이 다양한 환경에서 다르게 작동함 | 고정 시스템, CANN, 운영자 패키지 및 OM 구축 기록 |
| 모델을 테스트하는 데에만 시간이 걸립니다 | 라이브 비트가 여전히 요구 사항을 충족하지 않습니다. | 측정 획득부터 결과 출력까지 완벽한 연결 |
| 독립적인 검증 수집이 부족함 | 마이그레이션으로 비즈니스 결과가 유지되는지 확인할 수 없습니다. | 매개변수 튜닝에 관여하지 않는 OK, NG 및 경계 샘플을 사용합니다. |
## FAQ
### ONNX 모델을 Ascend NPU에서 직접 실행할 수 있나요?
일반적으로 ATC를 사용하여 ONNX 모델을 대상 Ascend 프로세서 및 CANN 환경을 기반으로 OM 오프라인 모델로 변환한 다음 AscendCL과 같은 장치 측 인터페이스를 통해 로드하고 실행해야 합니다.
### OM 파일을 생성하기 위한 변환은 마이그레이션이 완료되었음을 의미합니까?
같지 않습니다. 또한 입력 및 출력 도킹, 전처리 및 후처리 일관성, 샘플별 결과 비교, 장치 측 성능 테스트, 예외 처리 및 버전 전달 확인을 완료하는 것도 필요합니다.
### 모든 전통적인 비전 규칙을 신경망으로 변경해야 합니까?
필요하지 않습니다. 고정된 위치와 명확한 경계가 있는 ROI 규칙은 계속 유지될 수 있습니다. 분류, 객체 감지 또는 분할 모델은 카테고리 변경, 복잡한 배경 및 의미 인식 작업을 처리하는 데 사용되며, 이 두 모델은 동일한 Atlas 애플리케이션에서 결합될 수 있습니다.
### 모든 Atlas 장치에 동일한 OM 모델을 직접 사용할 수 있습니까?
OM 모델 변환 매개변수는 대상 Ascend 프로세서 및 소프트웨어 환경과 관련됩니다. 프로젝트를 구현할 때 대상 장치에 따라 프로세서 모델, CANN 및 운영자 패키지 버전을 확인하고 해당 빌드 기록을 유지해야 합니다.
### 마이그레이션 전과 후의 결과가 일치하는지 어떻게 판단하나요?
고정된 샘플을 사용하여 입력 텐서, 모델 원본 출력, 알고리즘 결과 및 최종 비즈니스 판단을 계층별로 비교해야 하며 수락은 양측이 확인한 오류, 정확성 및 워크스테이션 규칙을 기반으로 해야 합니다. 소수의 데모 사진만을 비교할 수는 없습니다.
## 공식 출처
- Huawei Ascend: ONNX 모델을 OM 모델로 변환
https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/81RC1beta1/quickstart/quickstart/quickstart_18_0010.html
- Huawei Ascend: ATC 명령줄 매개변수 및 운영자 제약
https://www.hiascend.com/document/detail/en/canncommercial/850/devaids/atctool/atlasatc_16_0039.html
- Huawei Ascend: AscendCL 모델 구축 및 애플리케이션 개발
https://www.hiascend.com/document/detail/zh/canncommercial/850/appdevg/acldevg/aclcppdevg_000027.html
Atlas, Ascend, CANN, AscendCL 및 관련 이름은 해당 권리 보유자에게 속합니다. 이 글은 어셈블리 비전 프로젝트를 위해 Winge Technology에서 제공하는 각색 방법을 설명하며, 관련 권리 보유자가 특정 프로젝트에 참여하거나 보증한다는 의미는 아닙니다. 장비 및 도구 기능은 해당 공식 버전 문서에 따르며 프로젝트 결과는 실제 모델, 샘플, 장비 및 승인 조건에 따릅니다.
Atlas 비전 검사 관련 자료
- 완전 중국 현지화 어셈블리 비전 검사: Huawei Ascend Atlas 프로젝트 사례 연구
- Winge Technology는 Atlas 200I DK A2에서 어셈블리 비전 검사의 온디바이스 적용을 완료했습니다.
- Atlas 200I DK A2 비전 검사 적응에는 어떤 엔지니어링 작업이 포함됩니까?
- Atlas 개발자 키트 검증부터 중국 현지화 생산 비전 시스템까지
- 중국 엣지 플랫폼은 조립 완성도와 누락 부품 검사를 어떻게 지원하나요?
- Huawei Ascend Atlas 어셈블리 비전 검사를 로컬로 배포하고 제공하는 방법
- Huawei Ascend Atlas 비전 검사
Online
Phone
WeChat
Top