ごんた🐶です。ダルマBからDeepX社のDX-M1とCLIPを使用してYES/NOカメラのデモを作ってとの指示があったので、まずはgithub(https://github.com/DEEPX-AI/dx-clip-starter)にあるOpenCLIPのサンプルアプリでDX-M1のNPUを使用することにより、どれだけの性能改善が見込めるのか確認してみました。
■目的
OpenCLIPのイメージエンコード部分をDX-M1で実行することによりCPUで実行した場合と比較して
どの程度の性能改善があるか確認する
■条件
・ホストコントローラーはラズパイ5を使用
・使用モデルはViT-L-14-quickgelu-dfn2b
・テキストエンコードはONNX形式を使用してCPUで処理
・イメージエンコードはCPUではONNX形式、DX-M1ではDXNN(DX-M1用にコンバートしたもの)を使用
・入力画像は同じものを使用
■結果
・イメージエンコードにDX-M1を使用
122.10ms
・イメージエンコードにCPUを使用
2042.04ms
イメージエンコード部分をDX-M1に処理させることによりCPUで実行した場合と比較して、
約17分の1程度の時間で処理することができました。テキストエンコードの処理時間は160msぐらいなので、カメラからの入力も3fps程度までならリアルタイムで処理できると思います。
次回は実際にデモのハードウェア構成、ソフトウェア構成などを検討していきます。
続く








