Vertical-Beach / ai-edge-contest-5

1 stars 0 forks source link

ByteTrack ncnn版を実行 #14

Closed lp6m closed 2 years ago

lp6m commented 2 years ago

基本はREADME.md通り

pytorchからonnxへのエクスポートはdocker環境内で行なった。エクスポートされたモデルが消えてしまうので適当にマウントされてるディレクトリにコピーしてからdocker環境抜ける

ncnnのビルドはツールのビルドを有効化する。

cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON -DNCNN_BUILD_TOOLS=ON  ..
lp6m commented 2 years ago

ncnnへのエクスポート

 ./onnx2ncnn ~/Desktop/ByteTrack/bytetrack_s.onnx bytetrack_s.param bytetrack_s.bin
lp6m commented 2 years ago
$ diff bytetrack_s.param_old  bytetrack_s.param
2c2
< 235 268
---
> 226 268
4,13c4
< Split            splitncnn_input0         1 4 images images_splitncnn_0 images_splitncnn_1 images_splitncnn_2 images_splitncnn_3
< Crop             Slice_4                  1 1 images_splitncnn_3 467 -23309=1,0 -23310=1,2147483647 -23311=1,1
< Crop             Slice_9                  1 1 467 472 -23309=1,0 -23310=1,2147483647 -23311=1,2
< Crop             Slice_14                 1 1 images_splitncnn_2 477 -23309=1,0 -23310=1,2147483647 -23311=1,1
< Crop             Slice_19                 1 1 477 482 -23309=1,1 -23310=1,2147483647 -23311=1,2
< Crop             Slice_24                 1 1 images_splitncnn_1 487 -23309=1,1 -23310=1,2147483647 -23311=1,1
< Crop             Slice_29                 1 1 487 492 -23309=1,0 -23310=1,2147483647 -23311=1,2
< Crop             Slice_34                 1 1 images_splitncnn_0 497 -23309=1,1 -23310=1,2147483647 -23311=1,1
< Crop             Slice_39                 1 1 497 502 -23309=1,1 -23310=1,2147483647 -23311=1,2
< Concat           Concat_40                4 1 472 492 482 502 503 0=0
---
> YoloV5Focus      focus                    1 1 images 503
../ncnnoptimize bytetrack_s.param bytetrack_s.bin bytetrack_s_op.param bytetrack_s_op.bin 65536
lp6m commented 2 years ago

ncnn版は動いた。恐らくyoloXを使わなければncnnへの依存は剥がせると思う。別issueでやる