TX2+TensorRT+DIGITS实现图像的识别、检测和分割---3---图像识别(二)
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)
在这个教程中,预训练模型包括:
- ped-100 (single-class pedestrian detector)
- multiped-500 (multi-class pedestrian + baggage detector)
- facenet-120 (single-class facial recognition detector)
- coco-airplane (MS COCO airplane class)
- coco-bottle (MS COCO bottle class)
- coco-chair (MS COCO chair class)
- 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---图像识别(二)相关推荐
- TX2+TensorRT+DIGITS实现图像的识别、检测和分割---1---Jetson配置
DIGITS Workflow 如果您是深度神经网络的新手,您可以查看这个教程,了解更多关于训练和推演的内容. TensorRT下载地址:https://developer.nvidia.com/nv ...
- 图像数字识别、数字分割(OCR识别,毕业设计)
基本图像处理流程 这是我在测试图像处理中使用的原始图像.它有一些眩光点,但是图像相当干净.让我们逐步完成获取此源图像的过程,并尝试将其分解为单个数字. 影像准备 在开始图像处理流程之前,我们决定先调整 ...
- 皮带跑偏识别检测 YOLO深度学习
皮带跑偏识别检测基于YOLO算法图像识别对皮带运行状态进行全天候实时监测.YOLO是一个聪明的卷积神经网络(CNN),用于实时进行目标检测.该算法将单个神经网络应用于完整的图像,然后将图像划分为多个区 ...
- 计算机视觉、图像分类、目标检测、人脸比对、人脸识别、语义分割、实例分割、图像搜索
计算机视觉.图像分类.目标检测.人脸比对.人脸识别.语义分割.实例分割.图像搜索 目录
- SAR图像飞机目标检测识别进展
目标检测与识别是高分辨合成孔径雷达(SAR)领域的热点问题.机场上飞机作为一种典型目标,其检测与识别具有一定的独特性.在检测与识别的过程中,如何将深度学习和目标电磁散射机理结合.提高网络或模型的泛化能 ...
- 基于yolov3的行人目标检测算法在图像和视频中识别检测
资源下载地址:https://download.csdn.net/download/sheziqiong/85772186 资源下载地址:https://download.csdn.net/downl ...
- Python实现条码识别:从图像中自动检测和识别条形码
Python实现条码识别:从图像中自动检测和识别条形码 在现代零售业中,条形码是一项必不可少的技术.它们提供了一种快速.准确和可靠的方法来追踪和管理库存.随着计算机视觉技术的发展,我们可以利用Pyth ...
- JavaCV进阶opencv图像检测识别:ffmpeg视频图像画面人脸检测
JavaCV免费教程目录: JavaCV入门教程(免费JavaCV教程) javacv实战专栏目录(2016年更新至今): JavaCV实战专栏文章目录(2016年更新至今) 2022年最新JavaC ...
- 端到端伪激光图像3D目标检测
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文由博主:流浪机器人 授权转载,二次转载请联系原作者 原文地址: ...
最新文章
- Json数据发布到Tomcat本地服务器
- buu [BJDCTF 2nd]rsa1
- Java(第十五章)
- 【阿里妈妈营销科学系列】开篇:C.M.O——“人群.渠道.机会”营销分析导论
- Android查看web日志,详解Android WebView监听console错误信息
- python安装常见问题_Python常见问题
- 前端中怎么把网页多个文件夹的内容整合成一个_web前端学习笔记
- 错排公式的推导及应用
- labview与威纶通触摸屏ftp通讯
- 麻省理工18年春软件构造课程阅读02“Java基础”
- xray漏扫工具学习。
- 李克秋 加盟天津大学 计算机学院,17 天津大学
- 嵌入式程序员基本知识二(转载)
- 怎么用计算机算出锁屏密码,电脑怎么设置锁屏密码
- delphi 注册列表的学习
- 学习Three.js——后期处理(EffectComposer)
- Ubuntu 搜索不到WIFI或连接不上的解决方法
- 供意图转战手机平台的掌机开发者参考的10点建议
- 中国大学排名的爬虫实战
- 关于国产手机(含山寨机)的mrp格式文件使用