本帖最后由 一代睡神的崛起 于 2024-7-26 11:36 编辑
一、选择现有轻量级unet网络模型
同样的配方,直接调用系统现有的视觉语义分割模型,目前系统准备了两个seg模型semantic_seg_citys_tf2和medical_seg_cell_tf2,因为小编在大场景下的图像分割做的稍多,因此选择semantic_seg_citys_tf2进行评测。首先进入到当前工程目录下进行程序编译:
- cd /home/root/Vitis-AI/examples/vai_library/samples/segmentation
复制代码 等待程序成功编译结束,然后进入到模型库:
- cd /usr/share/vitis_ai_library/models.b512-lr/semantic_seg_citys_tf2
- ls
复制代码 可以看到semantic_seg_citys_tf2.xmodel存在在模型库目录下,然后运行可执行程序对jpeg格式图像进行分割处理:
- ./test_jpeg_segmentation semantic_seg_citys_tf2 sample_semantic_seg_citys_tf2.png
复制代码 程序会在当前目录下产生分割之后的结果图像0_sample_semantic_seg_citys_tf2_result.jpg,我们可以download到windows操作端进行对比查看,其结果如图所示:
可以看到模型还是很好的将场景划分出来,因为受限于模型的网络复杂程度,因此在精度上有一定的衰减,不过对于一些简要的分割场景还是能够很容易进行处理的。此模型也支持对医学影像分割的场景支持,但是小编在测试下来的结果并不是非常的完美。其次就是对于unet_tf2网络模型的结构,有兴趣的同学可以去自行搜索unet语义分割的相关信息,这里也不一一赘述了,最后模型的加载都是如出一辙,在模型运行的过程中自动把要进行参数计算的数据传递到DPU上了,不需要额外的软件进行上传下载操作。
|