有多种类型的深度学习网络可用,包括识别、检测/定位和语义分割。我们在本教程中强调的第一个深度学习能力是图像识别(Image Recognition),它使用在大型数据集上训练过的分类网络来识别场景和对象。
imageNet 对象接受输入图像并输出每个类别的概率。在 1000 个对象的 ImageNet ILSVRC 数据集上进行了训练后,GoogleNet 和 ResNet-18 模型在构建步骤中自动下载。请参阅下面的其他分类模型,也可以下载和使用。
网络 | CLI参数 | NetworkType enum |
AlexNet | alexnet | ALEXNET |
GoogleNet | googlenet | GOOGLENET |
GoogleNet-12 | googlenet-12 | GOOGLENET_12 |
ResNet-18 | resnet-18 | RESNET_18 |
ResNet-50 | resnet-50 | RESNET_50 |
ResNet-101 | resnet-101 | RESNET_101 |
ResNet-152 | resnet-152 | RESNET_152 |
VGG-16 | vgg-16 | VGG-16 |
VGG-19 | vgg-19 | VGG-19 |
Inception-v4 | inception-v4 | INCEPTION_V4 |
注:要稍后再次运行 Model Downloader 工具,可以使用以下命令
$ cd jetson-inference/build
$ ./download-models.sh
一、安装Visual Studio Code
Visual Studio Code是Linux下面一款优秀的开源IDE开发环境。
使用以下命令行安装curl
sudo apt-get install curl
使用以下命令行下载Visual Studio Code安装包到本地目录
curl -L https://github.com/toolboc/vscode/releases/download/1.32.3/code-oss_1.32.3-arm64.deb -o code-oss_1.32.3-arm64.deb
使用以下命令行安装Visual Studio Code
sudo dpkg -i code-oss_1.32.3-arm64.deb
安装完后程序启动界面如下:

安装Python插件(Extension –> 查找Python)

选择Python编译器版本为3.x



二、使用OpenCV开启ImageNet
在Visual Studio Code里面新建.py文件,导入以下库
import jetson.inferenceimport jetson.utilsimport cv2import numpy as np
import time
设置摄像头窗口的尺寸:
width=1280
height=720
cam=jetson.utils.gstCamera(width,height,'/dev/video0')
其中dev/vidoe0为摄像头的标识符,可在命令行窗口下采用ls /dev查看。
设置图像识别网络为googlenet
net=jetson.inference.imageNet('googlenet')
设置显示字体:
font=cv2.FONT_HERSHEY_SIMPLEX
主循环:
while True:
frame,width,height=cam.CaptureRGBA(zeroCopy=1)
classID,confidnece=net.Classify(frame,width,height)
item=net.GetClassDesc(classID)
frame=jetson.utils.cudaToNumpy(frame,width,height,4)
frame=cv2.cvtColor(frame,cv2.COLOR_RGBA2BGR).astype(np.uint8)
cv2.putText(frame,item,(0,30),font,1,(0,0,255),2)
cv2.imshow('recCam',frame) cv2.moveWindow('recCam',0,0)
按”q”键退出循环:
if cv2.waitKey(1)==ord('q'):
break
关闭摄像头和窗口:
cam.release()
cv2.destroyAllWindows()
右键单击“在终端运行Python文件”,googleNet识别出了摄像头捕捉到的矿泉水瓶。
