基于天元RetinaNet (COCO预训练权重)目标检测实战“喵星人”(运行环境MegStudio)

   日期:2020-08-23     浏览:235    评论:0    
核心提示:使用model hub API加载预训练模型API读入和预处理图片数据模型推理推理预测和生成目标检测图片下载源码,MegStudio中终端运行MegEngine Models综述安装和环境配置使用预训练模型检测标注结果

目录

使用model hub API

加载预训练模型API

读入和预处理图片数据

模型推理

推理预测和生成目标检测图片

下载源码,MegStudio中终端运行

MegEngine Models

综述

安装和环境配置

使用预训练模型

检测标注结果

使用Model hub API

加载预训练模型API

from megengine import hub
model = hub.load(
    "megengine/models", # Github相对路径
    "retinanet_res50_coco_1x_800size", # 指定模型名称
    pretrained=True,
    use_cache=False,
)
model.eval() # 设置为评价验证模式

models_api = hub.import_module(
    "megengine/models",
    git_host="github.com",
)

读入和预处理图片数据

import cv2
image = cv2.imread("./workspace/cat/cat4.jpg") # 图片的相对路径
data, im_info = models_api.DetEvaluator.process_inputs(image, 800, 1333) 
# 图片裁剪为宽<=800 高<=1333

模型推理

# 将处理后的图片数据输入到模型中
model.inputs["image"].set_value(data)
model.inputs["im_info"].set_value(im_info)

# 定义静态模型推理函数
from megengine import jit
@jit.trace(symbolic=True)
def infer():
    predictions = model(model.inputs)
    return predictions

推理预测和生成目标检测图片

# 推理预测
evaluator = models_api.DetEvaluator(model)
pred_res = evaluator.predict(infer)

# 可视化目标检测结果,生成标注后的图片
res_img = models_api.DetEvaluator.vis_det(
    image, # 原始图片
    pred_res, # 推理预测结果
    is_show_label=True,
#     classes=data_mapper[cfg.test_dataset["name"]].class_names,
)
cv2.imwrite("results1.jpg", res_img)

下载源码,MegStudio中终端运行

MegEngine Models

本仓库包含了采用MegEngine实现的各种主流深度学习模型。

official目录下提供了各种经典的图像分类、目标检测、图像分割以及自然语言模型的官方实现。每个模型同时提供了模型定义、推理以及训练的代码。

官方会一直维护official下的代码,保持适配MegEngine的最新API,提供最优的模型实现。同时,提供高质量的学习文档,帮助新手学习如何在MegEngine下训练自己的模型。

综述

对于每个模型,提供了至少四个脚本文件:模型定义(model.py)、模型推理(inference.py)、模型训练(train.py)、模型测试(test.py)。

每个模型目录下都对应有一个README,介绍了模型的详细信息,并详细描述了训练和测试的流程。例如 ResNet README。

另外,official下定义的模型可以通过megengine.hub来直接加载,如上案例代码。

更多可以通过megengine.hub接口加载的模型见hubconf.py。

安装和环境配置

在开始运行本仓库下的代码之前,用户需要通过以下步骤来配置本地环境:

1.克隆仓库

git clone https://github.com/MegEngine/Models.git

2.安装依赖包

pip3 install --user -r requirements.txt

3.添加目录到python环境变量中

which python3
/home/megstudio/.miniconda/envs/xuan/bin/python3 # 我的python路径

/home/megstudio/workspace/Models # 我的Models路径

# 配置模型和python路径 export PYTHONPATH=/path/to/models:$PYTHONPATH
export PYTHONPATH="/home/megstudio/.miniconda/envs/xuan/bin/python3:/home/megstudio/workspace/Models" 
# 中间用“:”隔开
# 查看配置成功
echo $PYTHONPATH
/home/megstudio/.miniconda/envs/xuan/bin/python3:/home/megstudio/workspace/Models

使用预训练模型

python3 workspace/Models/official/vision/detection/tools/inference.py \
-f workspace/Models/official/vision/detection/configs/retinanet_res50_coco_1x_800size.py \
-w ./workspace/retinanet_res50_coco_1x_800size.pkl \
-i workspace/cat/cat1.jpg

inference.py的命令行选项如下:

  • -f, 测试的网络结构描述文件。
  • -i, 需要测试的样例图片。
  • -w, 网络结构文件所对应的训练权重, 可以从顶部的表格中下载训练好的检测器权重。

检测标注结果

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服