
FORXAI Experience Kit Advance試作機の紹介
三寒四温のこの頃、皆様いかがお過ごしでしょうか。
そろそろデイキャンプ日和な日も増えmy new gearを言いたくなってきましたね。
今回はFORXAI new gearとして、記事 Raspberry Pi Camera v2 on KV260 で紹介させていただいた、AMD Xilinx K26 SOM の新たなキャリア基板の試作を行いましたので、皆様にご紹介させていただきます。
免責事項、著作権・商標権について
当ブログは、掲載内容によって生じた損害に対する一切の責任を負いません。
画像は試作品となりますので、実際の提供物とは異なる場合があります。
各コンテンツでは、できる限り正確な情報提供を心がけておりますが、正確性や安全性を保証するものではありません。
また、リンク先の他サイトで提供される情報・サービスについても、責任を負いかねますのでご了承ください。
詳細につきましては、次のページをご確認ください。
目次[非表示]
- 1.はじめに
- 2.開発の流れ
- 3.試作機の完成
- 4.Yolov7-tiny動かしてみた
- 5.おわりに
- 6.関連リンク
- 6.1.FORXAI Experience Kit
- 6.2.NNgen
- 6.3.お問い合わせ窓口
- 6.4.免責事項、著作権、商標権
はじめに
弊チームではFORXAI Imaging AI技術を容易に体験してもらい、その先の共創・ソリューション検討に繋げるため、 Forxai Experience Kit (通称FEK) という、画像AI IoTデバイスの開発と貸出を行っております。
画像のFORXAI Experience Kit Basic(以下FEK-B)はAvnet社のUltra96v2開発キットを利用しています。 ですが、Ultra96v2は下記の問題があり次世代機の開発が必要になりました。
- あくまでも開発キットであり製品品質保証がないため製品出荷が難しい
- 現在(2023年3月時点)、使用している基板が入手困難となっている
そして、自分たちのブランドのデバイスは自分たちで作りたい、商用利用可能で低遅延ISP含めRTLレベルの成果物を応用可能かつ 多様なインプットデバイスを接続可能な“基盤”としても使えるデバイスがあったら嬉しいという モチベーションから、FORXAI Experience Kit Advance(以下FEK-A)を開発することにしました。
開発の流れ
私自身FPGAを搭載した基板の開発は初めてだったのですが、 せっかくのチャレンジなので自身が欲しい機能を詰め込んだデバイスの開発を以下の流れで進めていきました。
- 要求仕様検討
協力会社探し
FEK-Aの仕様決定
基板完成
FEKアプリ移植
ファームウェア立ち上げ
評価検証
まず第一歩として開発するデバイスにどんな機能が欲しいかを検討しました。 お題目としてはカメラ付属で、FPGAに実装したAIアクセラレータによりローカル環境での 物体検出や骨格検出を行うことが出来る小型のデバイスになります。 また最近では以前FORXAI Blogでも紹介させていただいた、 Hailo-8のような AIに特化したASICのチップをM.2 PCIe接続で使うことが出来るデバイスも増えてきています。 こういったASICを利用するとFPGA上に実装したAIアクセラレータでは実現が難しいほどの推論速度の要求が厳しい アプリケーションにも対応することが出来るようになるため、 M.2 PCIe gen3 x4のインターフェースを持たせることにしました。 また小型化のためにRJ45接続のEthernet用のインターフェスは廃し、 こちらもM.2モジュールを使ってwifi+bluetooth接続のデバイスとすることにしました。 M.2接続のセルラーモジュールを接続することも検討できます。 そして電源はUSB Type-C PowerDelivery給電付のドッキングステーションが充実してきていることもあり、 USB PD給電 兼 Display Port出力、USB Hub対応の欲張り構成にすることにしました。
要求仕様検討
こうして以下のような要求仕様で開発を進めていくことにしました。 ※欲張り構成なのでもちろん立ち上げの際に自分を大いに苦しめました、、、
- お題目:画像IoT向けFPGA搭載デバイス
- 要件
- 小さくしたい
USB PD 給電
USB-C ドッキングステーション経由でDP出力
GTH経由M.2スロット
GTR経由M.2スロット
mipi csi2入力
JTAG/UART
協力会社探し
そこから大まかなモジュール構成図と外形図を作成し、 回路設計と基板製造を手伝っていただける協力会社様を見つけ詳細を煮詰めていきました。 モジュール構成図はお見せできないのですが、外形図は以下になります。
試作機の完成
そうして写真のものが出来上がってきました。
FEK-A(試作機)の仕様
構成 |
AMD Xilinx K26 + キャリアカード |
ストレージ |
microSD カード |
M.2拡張 |
E key (PCIe gen2.0 x1、USB2.0) |
M.2拡張 |
M key (PCIe gen3.0 x4) |
MIPI CSI-2 4 lane |
22pin 0.5mm pitch |
USB Type-C |
Power Delivery、 USB3.0/2.0、DP Alt Mode |
Micro USB Type-B |
UART |
Debug Port |
JTAG |
Pmod |
6x2 pin |
電源 |
上記USB type-C PDでの給電 |
外形 |
K26に合わせ、77.00mm x 60.00mm |
以下は仮組した時の写真になります。
Yolov7-tiny動かしてみた
せっかくなので試作機にOSSとして公開されている物体検出モデルであるYolov7-tinyのアクセラレータを実装して動かしてみました。 実装には東京大学の高前田伸也准教授と共同研究開発を行っている、NNgen というAI用の高位合成コンパイラを活用しています。写真のようにUSB PD給電とDisplayPort Alt mode出力で Debian11が立ち上がっていることを確認できます。そしてUSB3.0のWebカメラの入力に対して物体検出を行うことができました。
おわりに
いかがでしたか?今回ご紹介させていただいた基板は試作機なのでエラッタは残っておりますが、 要求仕様を一通り満たした状態まで立ち上げることができました。 AMD Xilinx K26はSOMというDDRメモリが実装済みのモジュールなので、 高速な信号周りの配線は比較的カンタンになっているとは言え、 SoCのどのPinがSOMの端子まで出てきているのか、 特に電源、リセット周りやPMUという電源管理用のコプロセッサのIOや Power GOOD信号のソースを何から取っているかなど、 SoCの基板を起こすよりややこしくなる部分がありました。 AIの推論を動かしてみた感想としては、 DDRメモリがUltra96v2よりも容量が大きく帯域も広いため、 プロセスの実行速度が早くなることを実感できました。 物体検出では単純な画像のローディングや物体検出後のNMS処理など、 アクセラレータには実装しづらいCPUの処理速度に依存する部分でも性能向上を得られ、 置き換えのメリットがありそうです。 また、この試作機はFORXAIの活用を検討いただける共創パートナー様や 共同研究開発を行っている大学・高専の皆様への貸出の検討を進めておりますので、 ご興味がありましたら、ぜひお問い合わせ窓口にご連絡いただけますと幸いです。
関連リンク
FORXAI Experience Kit
NNgen
お問い合わせ窓口
免責事項、著作権、商標権
コニカミノルタは画像IoTプラットフォームFORXAIを通じて、お客様やパートナー様との共創を加速させ、技術・ソリューションの提供により人間社会の進化に貢献してまいります。