ソリューション特集

アセンブリ ビジョン アルゴリズムを Ascend NPU に移行するにはどのような手順が必要ですか?

アセンブリ ビジョン アルゴリズムを Ascend NPU に移行するためのエンジニアリング ワークフロー。ベースライン制御、ONNX エクスポート、モデル オペレーター互換性チェック、ATC 変換、OM 導入、AscendCL 統合、一貫性検証、バージョン配信が含まれます。

2026-08-30Winge TechnologyHuawei Ascend Atlas ビジョン検査

アセンブリ ビジョン アルゴリズムを 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 回の消費量、スループット、メモリなどのプロジェクトの受け入れ指標。

これらの入力が固定されていないと、たとえモデル変換が成功したとしても、移行前後の違いがモデルによるものなのか、前処理によるものなのか、後処理によるものなのか、それともバージョン環境によるものなのかを判断することができません。

ステップ 1: 元のモデル結果のベースラインを確立する

同じ受け入れイメージのセットを使用して元のモデルを実行し、入力テンソル、元の出力、後処理結果、および最終的なビジネス上の決定を保存します。物体検出プロジェクトでは、検出フレーム、カテゴリ、信頼度、および NMS の結果も保存する必要があります。セグメンテーション プロジェクトでは、マスク サイズ、カテゴリ マッピング、および等高線の結果を保存する必要があります。

ベースラインの役割は、統一された精度率を与えることではなく、その後の ONNX および OM の結果に対するサンプルごとの比較基準を提供することです。プロジェクトの指標は、顧客のサンプル、欠陥の定義、およびワークステーションの状態に基づいて決定する必要があります。

ステップ 2: ONNX モデルをエクスポートして検査する

トレーニング フレームワークから ONNX をエクスポートした後、以下を確認する必要があります。

  1. 入力ノード名と出力ノード名は安定していますか?
  2. 入力サイズが固定サイズであるか動的サイズであるか。
  3. 演算子のバージョンとグラフ構造がターゲットの変換環境に準拠しているかどうか。
  4. トレーニングフェーズ中にのみ使用されるノードを含めるかどうか。
  5. ONNX の実行結果と元のモデルの結果が合意された誤差範囲内にあるかどうか。

このステップでは、まずモデル自体のエクスポートの問題を解決してから、ソース モデルの差異がデバイス側に持ち込まれないように、Ascend 側の変換を入力する必要があります。

ステップ 3: 演算子の互換性とグラフ構造を確認する

ATC 変換の前に、モデルで使用される演算子、属性、データ型、形状制約を確認する必要があります。サポートされていない演算子または組み合わせがある場合は、モデル構造に基づいて、グラフの書き換え、同等の演算子の置換、分割と後処理、またはカスタマイズされた演算子を選択できます。 「変換コマンドの実行完了」だけを適応完了の基準として使用しないでください。

動的バッチ、動的画像サイズ、または動的寸法の場合、対応するギアを実際のワークステーションの入力に従って構成する必要があります。固定カメラと固定検出寸法を備えたアセンブリ ステーションは、通常、最初に固定形状を使用して、実行時の分岐を減らし、受け入れを容易にします。

ステップ 4: ATC を使用して OM モデルを生成する

Huawei の Ascend 公式ドキュメントには、ONNX などのオープンソース フレームワーク モデルを Ascend AI プロセッサで認識できる OM オフライン モデルに変換するために ATC が使用されていると記載されています。一般的なコマンド構造は次のとおりです。

「」バッシュ

atc --model=model.onnx

--framework=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、および境界サンプルを使用する |

## よくある質問

### ONNX モデルは Ascend NPU 上で直接実行できますか?

通常は、ATC を使用して、ターゲットの Ascend プロセッサと CANN 環境に基づいて ONNX モデルを OM オフライン モデルに変換し、それを AscendCL などのデバイス側インターフェイスを通じてロードして実行する必要があります。

### OM ファイルを生成するための変換は、移行が完了したことを意味しますか?

等しくありません。また、入出力のドッキング、前後処理の一貫性、サンプルごとの結果の比較、デバイス側のパフォーマンス テスト、例外処理、バージョン配信の検証を完了する必要もあります。

### 従来の視覚ルールはすべてニューラル ネットワークに変更する必要があるのでしょうか?

必要ありません。固定位置と明確な境界を持つ ROI ルールは引き続き保持できます。分類、オブジェクト検出、またはセグメンテーション モデルは、カテゴリの変更、複雑な背景、および意味認識タスクを処理するために使用され、この 2 つは同じ Atlas アプリケーションで組み合わせることができます。

### 同じ OM モデルをすべての Atlas デバイスに直接使用できますか?

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 がアセンブリ ビジョン プロジェクトに対して提供する適応方法を説明するものであり、該当する権利所有者が特定のプロジェクトに参加または推奨することを意味するものではありません。機器とツールの機能は、対応する公式バージョンのドキュメントに準拠し、プロジェクトの結果は、実際のモデル、サンプル、機器、および受け入れ条件に準拠します。
Online
Phone
13910119357
WeChat
WhatsApp
Winge Technology WhatsApp QR code Scan or click to contact us
Top