基础环境
基础环境安装见:PaddleHub安装教程 或使用镜像:registry.cn-hangzhou.aliyuncs.com/allen135681/easyml:ubuntu18.04-nvidia_cuda10.0-base-Miniconda3-py39_4.9.2_paddlepaddle2.0.1_paddlehub2.0.4_paddlenlp2.0.0rc10 pyin paddle
额外安装:
pip list|grep "paddle\|cv"
opencv-python 4.2.0.32
paddlehub 2.0.4
paddlepaddle 2.0.1
代码
hub install solov2==1.0.0
solov2_test.py
http://nn.wenming.cn/wmcj/201511/t20151123_2140790.html 网上随意找的图片
import cv2
import paddlehub as hub
model = hub.Module(name='solov2', use_gpu=False) # 加载预训练模型
img = cv2.imread('./1.jpg') # 读取图片
output = model.predict(image=img, visualization=True, save_dir="./solov2_result") # visualization 将可视化图片保存 保存目录为 save_dir
运行结果 ./solov2_result 目录下会有个和时间戳相关的随机名字的图片文件 1615388915.220959.png:
模型把过马路的行人和等红绿灯的车的实例识别了出来。
分析
先执行预训练模型的安装:
hub install solov2==1.0.0
解压后的模型有大概180MB
执行代码:solov2_test.py
模型解释:solov2是基于'SOLOv2: Dynamic, Faster and Stronger'实现的快速实例分割的模型。该模型基于SOLOV1, 并且针对mask的检测效果和运行效率进行改进,在实例分割任务中表现优秀。相对语义分割,实例分割需要标注出图上同一物体的不同个体。
参考
https://www.paddlepaddle.org.cn/hubdetail?name=solov2&en_category=InstanceSegmentation