Testing Classification Model in DIGITS

TensorRT下载地址:https://developer.nvidia.com/nvidia-tensorrt-download
TesnsoRT介绍文档:https://devblogs.nvidia.com/tensorrt-3-faster-tensorflow-inference/
TensorRT开发者指南:http://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html
TensorRT样例代码:http://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#samples

在训练了30个epochs之后,您将看到下面的界面:

这时,我们可以尝试利用我们的模型测试一下。在刚才训练好的模型的页面下面,有一个Test a single image,在Image Path中,输入您要测试的路径(在我们的例子里面,我输入的是/ilsvrc12/n02127052/n02127052_1203.jpg)。

点击Classify One 按钮,然后你就会看到下面这样的结果:

利用我们训练的GoogleNet-12的模型识别这张图片是一只猫,原来1000类的分类中,它是一只猞猁。这样就说明我们训练的模型是ok的,因为猞猁在12类的GoogleNet中被分到了猫的类别中。

Downloading Model Snapshot to Jetson

现在,我们确定了我们训练的模型可以正常工作了,接下来我们要把它下载并解压到Jetson中。通过你TX1/TX2上面的浏览器,访问DIGITS服务器,选择GoogleNet-ILSVRC12-subset 模型,点击下载模型。

如果你的Jetson和DIGITS服务器没法直接访问,你可以把模型下载到本地,然后通过SCP和USB来将模型拷贝到Jetson中。

然后解压:

tar -xzvf 20170524-140310-8c0b_epoch_30.0.tar.gz

接下来我们会加载我们训练好的模型到TensorRT,并且在Jetson上运行。

Loading Custom Models on Jetson

imagenet-console 和 imagenet-camera程序可以通过扩展命令行参数来加载模型。我们可以设置$NET 变量到你的模型地址:

$ NET=networks/GoogleNet-ILSVRC12-subset$ ./imagenet-console bird_0.jpg output_0.jpg \
--prototxt=$NET/deploy.prototxt \
--model=$NET/snapshot_iter_184080.caffemodel \
--labels=$NET/labels.txt \
--input_blob=data \
--output_blob=softmax

在以前,识别类别和置信值将会水印到输出图片上。下面展示了1000类的GoogleNet和12类的GoogleNet的识别结果:

上面的命令同样适合于imagenet-camera.

Locating Object Coordinates using DetectNet

之前的图像识别的例子,输出的是整张图片的类别概率。第二种我们教程中重点讲述的深度学习的能力是目标检测,找到目标在画面中的位置(画出每一个目标的框框)。这个是利用detectNet或者目标检测/定位网络。

detectNet的输入是一个二维图片,输出是一个检测目标的列表。要训练一个目标检测的模型,首先要预训练一个识别模型,除了图像数据集之外,还要有一个带边界框标识的训练数据集(ImageSet with bounding box labels)

在这个教程中,预训练模型包括:

  1. ped-100 (single-class pedestrian detector)
  2. multiped-500 (multi-class pedestrian + baggage detector)
  3. facenet-120 (single-class facial recognition detector)
  4. coco-airplane (MS COCO airplane class)
  5. coco-bottle (MS COCO bottle class)
  6. coco-chair (MS COCO chair class)
  7. coco-dog (MS COCO dog class)

就像之前的例子一样,这里我业提供了单张图片和基于视频流的检测的命令行程序。

Detection Data Formatting in DIGITS

目标检测的离子的数据集包括KITTI, MS-COCO等等。用KITTI数据集可以查看这里

不管数据是什么样,DIGITS会用KITTI的数据格式来获取目标检测的框架标签。这些都是有文本文件组成,包括帧号对应的图像文件名,就想下下面这样:

dog 0 0 0 528.63 315.22 569.09 354.18 0 0 0 0 0 0 0
sheep 0 0 0 235.28 300.59 270.52 346.55 0 0 0 0 0 0 0

您可以在这里查看DIGITS用到的文件结构和KITTI标签的格式

Downloading the Detection Dataset

我们可以查看这里来了解利用MS-COCO数据库来训练和部署检测日常物体的网络模型。参见coco2kitti.py脚本将ms-coco对象类转换为Kitti格式。如果变成DIGITS的文件格式,他们就可以在DIGITS里面直接引用。对于样例中,数据格式已经处理过了,已经将数据转化成DIGITS/KITTI的格式。

在您的DIGITS服务器对上,打开一个终端,利用下面的命令,下载解压sample MS-COCO classes 数据:

$ wget --no-check-certificate https://nvidia.box.com/shared/static/tdrvaw3fd2cwst2zu2jsi0u43vzk8ecu.gz -O coco.tar.gzHTTP request sent, awaiting response... 200 OK
Length: 5140413391 (4.5G) [application/octet-stream]
Saving to: ‘coco.tar.gz’coco 100%[======================================>]   4.5G  3.33MB/s    in 28m 22s 2017-04-17 10:41:19 (2.5 MB/s) - ‘coco.tar.gz’ saved [5140413391/5140413391]$ tar -xzvf coco.tar.gz 

这些DIGITS上的数据包括了飞机,瓶子,椅子和狗的类别。 coco2kitti.py可以用来转换其他类别。

Importing the Detection Dataset into DIGITS

通过浏览器访问你的DIGITS服务器,选择在New Dataset中选择Object Detection。

在接下来的表单中,按照下面的内容修改您的参数:

• Training image folder: coco/train/images/dog
• Training label folder: coco/train/labels/dog
• Validation image folder: coco/val/images/dog
• Validation label folder: coco/val/labels/dog
• Pad image (Width x Height): 640 x 640
• Custom classes: dontcare, dog
• Group Name: MS-COCO
• Dataset Name: coco-dog

在最下面,给您的数据库起一个名字,然后点击Create按钮。接下来,我们将创建一个新的检测模型,并且开始训练。

TX2+TensorRT+DIGITS实现图像的识别、检测和分割---3---图像识别(二)相关推荐

  1. TX2+TensorRT+DIGITS实现图像的识别、检测和分割---1---Jetson配置

    DIGITS Workflow 如果您是深度神经网络的新手,您可以查看这个教程,了解更多关于训练和推演的内容. TensorRT下载地址:https://developer.nvidia.com/nv ...

  2. 图像数字识别、数字分割(OCR识别,毕业设计)

    基本图像处理流程 这是我在测试图像处理中使用的原始图像.它有一些眩光点,但是图像相当干净.让我们逐步完成获取此源图像的过程,并尝试将其分解为单个数字. 影像准备 在开始图像处理流程之前,我们决定先调整 ...

  3. 皮带跑偏识别检测 YOLO深度学习

    皮带跑偏识别检测基于YOLO算法图像识别对皮带运行状态进行全天候实时监测.YOLO是一个聪明的卷积神经网络(CNN),用于实时进行目标检测.该算法将单个神经网络应用于完整的图像,然后将图像划分为多个区 ...

  4. 计算机视觉、图像分类、目标检测、人脸比对、人脸识别、语义分割、实例分割、图像搜索

    计算机视觉.图像分类.目标检测.人脸比对.人脸识别.语义分割.实例分割.图像搜索 目录

  5. SAR图像飞机目标检测识别进展

    目标检测与识别是高分辨合成孔径雷达(SAR)领域的热点问题.机场上飞机作为一种典型目标,其检测与识别具有一定的独特性.在检测与识别的过程中,如何将深度学习和目标电磁散射机理结合.提高网络或模型的泛化能 ...

  6. 基于yolov3的行人目标检测算法在图像和视频中识别检测

    资源下载地址:https://download.csdn.net/download/sheziqiong/85772186 资源下载地址:https://download.csdn.net/downl ...

  7. Python实现条码识别:从图像中自动检测和识别条形码

    Python实现条码识别:从图像中自动检测和识别条形码 在现代零售业中,条形码是一项必不可少的技术.它们提供了一种快速.准确和可靠的方法来追踪和管理库存.随着计算机视觉技术的发展,我们可以利用Pyth ...

  8. JavaCV进阶opencv图像检测识别:ffmpeg视频图像画面人脸检测

    JavaCV免费教程目录: JavaCV入门教程(免费JavaCV教程) javacv实战专栏目录(2016年更新至今): JavaCV实战专栏文章目录(2016年更新至今) 2022年最新JavaC ...

  9. 端到端伪激光图像3D目标检测

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文由博主:流浪机器人 授权转载,二次转载请联系原作者 原文地址: ...

最新文章

  1. Json数据发布到Tomcat本地服务器
  2. buu [BJDCTF 2nd]rsa1
  3. Java(第十五章)
  4. 【阿里妈妈营销科学系列】开篇:C.M.O——“人群.渠道.机会”营销分析导论
  5. Android查看web日志,详解Android WebView监听console错误信息
  6. python安装常见问题_Python常见问题
  7. 前端中怎么把网页多个文件夹的内容整合成一个_web前端学习笔记
  8. 错排公式的推导及应用
  9. labview与威纶通触摸屏ftp通讯
  10. 麻省理工18年春软件构造课程阅读02“Java基础”
  11. xray漏扫工具学习。
  12. 李克秋 加盟天津大学 计算机学院,17 天津大学
  13. 嵌入式程序员基本知识二(转载)
  14. 怎么用计算机算出锁屏密码,电脑怎么设置锁屏密码
  15. delphi 注册列表的学习
  16. 学习Three.js——后期处理(EffectComposer)
  17. Ubuntu 搜索不到WIFI或连接不上的解决方法
  18. 供意图转战手机平台的掌机开发者参考的10点建议
  19. 中国大学排名的爬虫实战
  20. 关于国产手机(含山寨机)的mrp格式文件使用

热门文章

  1. 关于MySQL的完全卸载和重装
  2. SpleeterGUI 歌曲人声伴奏分离软件
  3. 为什么计算机关机慢,为什么电脑关机速度很慢_加快电脑关机速度的具体办法...
  4. html audio 进度,html5audio获取时间
  5. Havok物理引擎-刚体介绍
  6. Linux系统编程学习之《编程前的准备》
  7. python计算信息熵_Python计算信息熵实例
  8. YARN三种调度方式
  9. Centos 7 DNS服务器配置
  10. 【Kevin Learn 小程序】-->List