去年谷歌发布了TensorFlow目标检测API[7],从那以后陆续添加了很多新特性,比如Neural Architecture Search[1]的模型学习,支持实例分割[8],在谷歌的超大数据集Open Images上训练的新模型等。
从此有很多有趣的应用被开发出来,比如在纽约街头寻找傻瓜(finding scofflaws on the streets of NYC[2]),诊断坦桑尼亚木薯植物的疾病(diagnosing diseases on cassava plants in Tanzania[3])。
谷歌这次的更新又带来了哪些新特性呢?
1.支持通过Cloud TPU加速目标检测的训练;
2.通过加速推理,并使用TensorFlow Lite轻松将模型导出到移动设备,改进移动端部署流程;
3.添加几个新的模型架构:
3.1 RetinaNet (Lin et al., 2017);
3.2 以MobileNet为特征提取骨干网的RetinaNet;
3.3 Pooling Pyramid Network(PPN)[4]-一种新的基于SSD的网络架构,它可以使模型以仅付出极小的精度损失的代价降低3倍的参数规模;
并发布了以上网络架构在COCO数据集上的已经训练好的模型!!!
Cloud TPUs的训练加速,对待调参侠要更好一点!
通常优化超参数和重新训练目标检测模型是极其耗时的,因此在实验中快速周转时间至关重要。以上发布的模型属于SSD类架构,这些架构针对Cloud TPUs的训练进行了优化。例如,训练基于ResNet-50的RetinaNet模型,可以在3.5小时内在COCO数据集上实现35%的mAP。
模型量化和TensorFlow lite的推理加速,因为知道你的痛!
为了更好地支持移动和嵌入式设备的低延迟需求,谷歌提供的模型现在与TensorFlow Lite原生兼容,TensorFlow Lite支持低延迟和小的二进制模型文件的终端侧机器学习推理。作为其中的一部分,已经实现了:(1)模型量化和(2)面向目标检测特定的TensorFlow Lite原生支持。模型量化遵循Jacob(2018)[5]的论文和Krishnamoorthi(2018)[6]的白皮书中提出的策略,使得运行速度更快,模型更小。
谷歌同时撰文介绍了如何使用Cloud TPUs在30分钟内训练和部署实时目标检测模型,访问www.52cv.net,或者点击阅读全文即可查看。
[1]https://ai.googleblog.com/2017/11/automl-for-large-scale-image.html
[2]https://www.nytimes.com/2018/03/15/nyregion/bike-lane-blocked-new-york.html
[3]https://www.youtube.com/watch?v=NlpS-DhayQA
[4]https://arxiv.org/abs/1807.03284
[5]http://openaccess.thecvf.com/content_cvpr_2018/html/Jacob_Quantization_and_Training_CVPR_2018_paper.html
[6]https://arxiv.org/abs/1806.08342
[7]https://github.com/tensorflow/models/blob/master/research/object_detection/
[8]https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/instance_segmentation.md
更多精彩推荐: