计算机系统应用教程网站

网站首页 > 技术文章 正文

人工智能-轻量级检测网络-Pelee介绍与试跑运行

btikc 2024-09-03 11:20:54 技术文章 20 ℃ 0 评论

以深度学习为基础的人工智能发展迅速,越来越多的检测、识别模型出现,但这些都只能运行在服务器端,使用中只能通过前端获取图像视频数据,通过网络传输数据信息到服务器,服务器处理完毕再返回结果到前端展示。而在真实场景我们对实时性要求更高,因此需要tflite格式的更加轻量级模型。

今天介绍一下pelee网络,然后教大家如何在本地运行。

论文地址:论文:Pelee: A Real-Time Object Detection System on Mobile Devices

这里介绍了个实现,一个是基于caff-ssd,一个是TensorFlow实现。

Github:https://github.com/Robert-JunWang/Pelee 基于caffe-ssd实现

https://github.com/nnUyi/PeleeNet tensorflow实现

论文是发表在2019年1月18号的32nd Conference on Neural Information Processing Systems (NeurIPS 2018)会议上的。

如下为网络主要结构:网络输入大小为244x244x3,经过5个stage,每个stage进行多次dense block块。和mobilenetv2相识,分为不同步骤。

实验结果:pascal voc上的结果如下


?

如下是参数量大小

?

如上两图看出,其参数量和现有的ssd、mobilenet相比都有所下降,降低了模型大小,其map达到70.9.

COCO上的实验结果:


?

从coco的实验看,其表现效果较好,比ssd-mobilenet网络要好,本作者目前在使用TensorFlow object detect api中的ssd-mobilenetv2网络做移动端目标检测,发现其pb文件大小17.8m,单张图片目标检测前向传播时间约为0.32s好像。也在尝试pelee网络,目前在进行训练。

现在怕不急待的想实验一下该网络,然后在深究其详细设计。

本人试跑了其TensorFlow实现。

1、下载代码:git clone git@github.com:nnUyi/PeleeNet.git

2、由于本人使用python3,因此将其主目录下的cache.py, cifar10.py, dataset.py用python3文件下的文件替换。如果是python2则不用替换。

3、文件主目录下新建data目录,data目录新建cifar10目录。https://www.cs.toronto.edu/~kriz/cifar.html网站下载训练需要的数据集,记得下载CIFAR-10 python version,163M,并将其解压到cifar10目录。

然后执行:

python main.py --batchsize=128 \
 --is_training=True \
 --is_testing=False \ 
 --dataset=cifar10 \
 --input_height=32 \
 --input_width=32 \
 --input_channel=3 \
 --num_class=10

即可训练,如下图:


本人在训练过程为了演示将batchsize走了修改,后续等模型训练完给大家将如何预测并训练自己的数据。

喜欢的朋友可以关注或者留言哦,随时回复,希望带大家一起学习人工智能,走向人生巅峰。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表