Nvidia Jetson nano 研究系列之五-初探jetson inference

1、jetson inference介绍

https://github.com/dusty-nv/jetson-inference
Guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.

image.png

使用TensorRT和Jetson相关的深度学习库;
https://developer.nvidia.com/embedded/twodaystoademo
相关教程

image.png

2、下载编译jetson inference

2.1先clone到Jetson Nano上;

git clone https://github.com/dusty-nv/jetson-inference
cd jetson-inference
git submodule update --init

执行如下:

root@jetson-desktop:/home# git clone https://github.com/dusty-nv/jetson-inference
Cloning into 'jetson-inference'...
remote: Enumerating objects: 3710, done.
remote: Total 3710 (delta 0), reused 0 (delta 0), pack-reused 3710
Receiving objects: 100% (3710/3710), 60.26 MiB | 37.00 KiB/s, done.
Resolving deltas: 100% (2650/2650), done.
root@jetson-desktop:/home# 
root@jetson-desktop:/home# cd jetson-inference
root@jetson-desktop:/home/jetson-inference# 
root@jetson-desktop:/home/jetson-inference# git submodule update --init
Submodule 'utils' (https://github.com/dusty-nv/jetson-utils) registered for path 'utils'
Cloning into '/home/jetson-inference/utils'...
Submodule path 'utils': checked out '2fb2b9dfd8323f99c22d3e2755b88345abd2f3a8'
root@jetson-desktop:/home/jetson-inference# git submodule update --init

2.2准备环境

(需要下载比较多的在线文件,时间较长,有困难,有解决方法)

sudo apt-get install cmake
mkdir build    #创建build文件夹
cd build       #进入build
cmake ../      #运行cmake,它会自动执行上一级目录下面的 CMakePrebuild.sh

make
sudo make install

出现caffe模型等下载不下来的话,

--2019-05-02 15:54:48--  (try: 4)  https://nvidia.app.box.com/public/static/5j264j7mky11q8emy4q14w3r8hl5v6zh.caffemodel
Connecting to nvidia.app.box.com (nvidia.app.box.com)|243.185.187.39|:443... failed: Connection timed out.
Retrying.
--2019-05-02 15:57:02--  (try: 5)  https://nvidia.app.box.com/public/static/5j264j7mky11q8emy4q14w3r8hl5v6zh.caffemodel
Connecting to nvidia.app.box.com (nvidia.app.box.com)|243.185.187.39|:443... 

相关脚本文件如下:
/home/jetson-inference/CMakePreBuild.sh

#!/usr/bin/env bash
# this script is automatically run from CMakeLists.txt

BUILD_ROOT=$PWD
TORCH_PREFIX=$PWD/torch

echo "[Pre-build]  dependency installer script running..."
echo "[Pre-build]  build root directory:   $BUILD_ROOT"
echo " "


# break on errors
#set -e


# install packages
sudo apt-get update
sudo apt-get install -y libqt4-dev qt4-dev-tools libglew-dev glew-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libglib2.0-dev
sudo apt-get install -y libopencv-calib3d-dev libopencv-dev 
# libgstreamer0.10-0-dev libgstreamer-plugins-base0.10-dev libxml2-dev
sudo apt-get update


# libgstreamer-plugins-base1.0-dev

#sudo rm /usr/lib/aarch64-linux-gnu/libGL.so
#sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libGL.so /usr/lib/aarch64-linux-gnu/libGL.so


# uncomment to download Alexnet (220MB)
#wget http://dl.caffe.berkeleyvision.org/bvlc_alexnet.caffemodel
wget --no-check-certificate 'https://nvidia.box.com/shared/static/5j264j7mky11q8emy4q14w3r8hl5v6zh.caffemodel' -O bvlc_alexnet.caffemodel
mv bvlc_alexnet.caffemodel ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/c84wp3axbtv4e2gybn40jprdquav9azm.prototxt' -O alexnet.prototxt
mv alexnet.prototxt ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/o0w0sl3obqxj21u09c0cwzw4khymz7hh.prototxt' -O alexnet_noprob.prototxt
mv alexnet_noprob.prototxt ../data/networks

# GoogleNet (bvlc site was behaving slowly, so enabled mirror on nvidia.box.com instead)
#wget http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel
wget --no-check-certificate 'https://nvidia.box.com/shared/static/at8b1105ww1c5h7p30j5ko8qfnxrs0eg.caffemodel' -O bvlc_googlenet.caffemodel
mv bvlc_googlenet.caffemodel ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/5z3l76p8ap4n0o6rk7lyasdog9f14gc7.prototxt' -O googlenet.prototxt
mv googlenet.prototxt ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/ue8qrqtglu36andbvobvaaj8egxjaoli.prototxt' -O googlenet_noprob.prototxt
mv googlenet_noprob.prototxt ../data/networks

# GoogleNet, ILSVR12 subset
wget --no-check-certificate 'https://nvidia.box.com/shared/static/zb8i3zcg39sdjjxfty7o5935hpbd64y4.gz' -O GoogleNet-ILSVRC12-subset.tar
tar -xzvf GoogleNet-ILSVRC12-subset.tar -C ../data/networks


# DetectNet's  (uncomment to download)
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/xe6wo1o8qiqykfx8umuu0ki9idp0f92p.prototxt' -O detectnet.prototxt
#mv detectnet.prototxt ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/0wbxo6lmxfamm1dk90l8uewmmbpbcffb.gz' -O ped-100.tar.gz
tar -xzvf ped-100.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/r3bq08qh7zb0ap2lf4ysjujdx64j8ofw.gz' -O multiped-500.tar.gz
tar -xzvf multiped-500.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/wjitc00ef8j6shjilffibm6r2xxcpigz.gz' -O facenet-120.tar.gz
tar -xzvf facenet-120.tar.gz -C ../data/networks


# COCO (DetectNet)

wget --no-check-certificate 'https://nvidia.box.com/shared/static/xi71hlsht5b0y66loeg73rxfa73q561s.gz' -O DetectNet-COCO-Airplane.tar.gz
tar -xzvf DetectNet-COCO-Airplane.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/8bhm91o9yldpf97dcz5d0welgmjy7ucw.gz' -O DetectNet-COCO-Bottle.tar.gz
tar -xzvf DetectNet-COCO-Bottle.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/fq0m0en5mmssiizhs9nxw3xtwgnoltf2.gz' -O DetectNet-COCO-Chair.tar.gz
tar -xzvf DetectNet-COCO-Chair.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/3qdg3z5qvl8iwjlds6bw7bwi2laloytu.gz' -O DetectNet-COCO-Dog.tar.gz
tar -xzvf DetectNet-COCO-Dog.tar.gz -C ../data/networks


# Segmentation Nets (uncomment to download)
wget --no-check-certificate 'https://nvidia.box.com/shared/static/xj20b6qopfwkkpqm12ffiuaekk6bs8op.gz' -O FCN-Alexnet-Pascal-VOC.tar.gz
tar -xzvf FCN-Alexnet-Pascal-VOC.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/u5ey2ws0nbtzyqyftkuqazx1honw6wry.gz' -O FCN-Alexnet-SYNTHIA-CVPR16.tar.gz
#tar -xzvf FCN-Alexnet-SYNTHIA-CVPR16.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/ydgmqgdhbvul6q9avoc9flxr3fdoa8pw.gz' -O FCN-Alexnet-SYNTHIA-Summer-HD.tar.gz
#tar -xzvf FCN-Alexnet-SYNTHIA-Summer-HD.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/vbk5ofu1x2hwp9luanbg4o0vrfub3a7j.gz' -O FCN-Alexnet-SYNTHIA-Summer-SD.tar.gz
#tar -xzvf FCN-Alexnet-SYNTHIA-Summer-SD.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/mh121fvmveemujut7d8c9cbmglq18vz3.gz' -O FCN-Alexnet-Cityscapes-HD.tar.gz
tar -xzvf FCN-Alexnet-Cityscapes-HD.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/pa5d338t9ntca5chfbymnur53aykhall.gz' -O FCN-Alexnet-Cityscapes-SD.tar.gz
#tar -xzvf FCN-Alexnet-Cityscapes-SD.tar.gz -C ../data/networks

wget --no-check-certificate 'https://nvidia.box.com/shared/static/y1mzlwkmytzwg2m7akt7tcbsd33f9opz.gz' -O FCN-Alexnet-Aerial-FPV-720p.tar.gz
tar -xzvf FCN-Alexnet-Aerial-FPV-720p.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/4z5lmlja13blj3mdn6vesrft57p30446.gz' -O FCN-Alexnet-Aerial-FPV-4ch-720p.tar.gz
#tar -xzvf FCN-Alexnet-Aerial-FPV-4ch-720p.tar.gz -C ../data/networks


# Deep Homography
wget --no-check-certificate 'https://nvidia.box.com/shared/static/nlqbsdnt76y0nmkwdzxkg4zbvhk4bidh.gz' -O Deep-Homography-COCO.tar.gz
tar -xzvf Deep-Homography-COCO.tar.gz -C ../data/networks

# Super Resolution
wget --no-check-certificate 'https://nvidia.box.com/shared/static/a99l8ttk21p3tubjbyhfn4gh37o45rn8.gz' -O Super-Resolution-BSD500.tar.gz
tar -xzvf Super-Resolution-BSD500.tar.gz -C ../data/networks

echo "[Pre-build]  Finished CMakePreBuild script"


通过科学下载所有wget要获取的文件上传到板子的build目录,然后修改脚本。

#!/usr/bin/env bash
# this script is automatically run from CMakeLists.txt

BUILD_ROOT=$PWD
TORCH_PREFIX=$PWD/torch

echo "[Pre-build]  dependency installer script running..."
echo "[Pre-build]  build root directory:   $BUILD_ROOT"
echo " "


# break on errors
#set -e


# install packages
sudo apt-get update
sudo apt-get install -y libqt4-dev qt4-dev-tools libglew-dev glew-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libglib2.0-dev
sudo apt-get install -y libopencv-calib3d-dev libopencv-dev 
# libgstreamer0.10-0-dev libgstreamer-plugins-base0.10-dev libxml2-dev
sudo apt-get update


# libgstreamer-plugins-base1.0-dev

#sudo rm /usr/lib/aarch64-linux-gnu/libGL.so
#sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libGL.so /usr/lib/aarch64-linux-gnu/libGL.so


# uncomment to download Alexnet (220MB)
#wget http://dl.caffe.berkeleyvision.org/bvlc_alexnet.caffemodel
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/5j264j7mky11q8emy4q14w3r8hl5v6zh.caffemodel' -O bvlc_alexnet.caffemodel
mv bvlc_alexnet.caffemodel ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/c84wp3axbtv4e2gybn40jprdquav9azm.prototxt' -O alexnet.prototxt
mv alexnet.prototxt ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/o0w0sl3obqxj21u09c0cwzw4khymz7hh.prototxt' -O alexnet_noprob.prototxt
mv alexnet_noprob.prototxt ../data/networks

# GoogleNet (bvlc site was behaving slowly, so enabled mirror on nvidia.box.com instead)
#wget http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/at8b1105ww1c5h7p30j5ko8qfnxrs0eg.caffemodel' -O bvlc_googlenet.caffemodel
mv bvlc_googlenet.caffemodel ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/5z3l76p8ap4n0o6rk7lyasdog9f14gc7.prototxt' -O googlenet.prototxt
mv googlenet.prototxt ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/ue8qrqtglu36andbvobvaaj8egxjaoli.prototxt' -O googlenet_noprob.prototxt
mv googlenet_noprob.prototxt ../data/networks

# GoogleNet, ILSVR12 subset
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/zb8i3zcg39sdjjxfty7o5935hpbd64y4.gz' -O GoogleNet-ILSVRC12-subset.tar
tar -xzvf GoogleNet-ILSVRC12-subset.tar -C ../data/networks


# DetectNet's  (uncomment to download)
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/xe6wo1o8qiqykfx8umuu0ki9idp0f92p.prototxt' -O detectnet.prototxt
#mv detectnet.prototxt ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/0wbxo6lmxfamm1dk90l8uewmmbpbcffb.gz' -O ped-100.tar.gz
tar -xzvf ped-100.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/r3bq08qh7zb0ap2lf4ysjujdx64j8ofw.gz' -O multiped-500.tar.gz
tar -xzvf multiped-500.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/wjitc00ef8j6shjilffibm6r2xxcpigz.gz' -O facenet-120.tar.gz
tar -xzvf facenet-120.tar.gz -C ../data/networks


# COCO (DetectNet)

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/xi71hlsht5b0y66loeg73rxfa73q561s.gz' -O DetectNet-COCO-Airplane.tar.gz
tar -xzvf DetectNet-COCO-Airplane.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/8bhm91o9yldpf97dcz5d0welgmjy7ucw.gz' -O DetectNet-COCO-Bottle.tar.gz
tar -xzvf DetectNet-COCO-Bottle.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/fq0m0en5mmssiizhs9nxw3xtwgnoltf2.gz' -O DetectNet-COCO-Chair.tar.gz
tar -xzvf DetectNet-COCO-Chair.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/3qdg3z5qvl8iwjlds6bw7bwi2laloytu.gz' -O DetectNet-COCO-Dog.tar.gz
tar -xzvf DetectNet-COCO-Dog.tar.gz -C ../data/networks


# Segmentation Nets (uncomment to download)
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/xj20b6qopfwkkpqm12ffiuaekk6bs8op.gz' -O FCN-Alexnet-Pascal-VOC.tar.gz
tar -xzvf FCN-Alexnet-Pascal-VOC.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/u5ey2ws0nbtzyqyftkuqazx1honw6wry.gz' -O FCN-Alexnet-SYNTHIA-CVPR16.tar.gz
#tar -xzvf FCN-Alexnet-SYNTHIA-CVPR16.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/ydgmqgdhbvul6q9avoc9flxr3fdoa8pw.gz' -O FCN-Alexnet-SYNTHIA-Summer-HD.tar.gz
#tar -xzvf FCN-Alexnet-SYNTHIA-Summer-HD.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/vbk5ofu1x2hwp9luanbg4o0vrfub3a7j.gz' -O FCN-Alexnet-SYNTHIA-Summer-SD.tar.gz
#tar -xzvf FCN-Alexnet-SYNTHIA-Summer-SD.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/mh121fvmveemujut7d8c9cbmglq18vz3.gz' -O FCN-Alexnet-Cityscapes-HD.tar.gz
tar -xzvf FCN-Alexnet-Cityscapes-HD.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/pa5d338t9ntca5chfbymnur53aykhall.gz' -O FCN-Alexnet-Cityscapes-SD.tar.gz
#tar -xzvf FCN-Alexnet-Cityscapes-SD.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/y1mzlwkmytzwg2m7akt7tcbsd33f9opz.gz' -O FCN-Alexnet-Aerial-FPV-720p.tar.gz
tar -xzvf FCN-Alexnet-Aerial-FPV-720p.tar.gz -C ../data/networks

#wget --no-check-certificate 'https://nvidia.box.com/shared/static/4z5lmlja13blj3mdn6vesrft57p30446.gz' -O FCN-Alexnet-Aerial-FPV-4ch-720p.tar.gz
#tar -xzvf FCN-Alexnet-Aerial-FPV-4ch-720p.tar.gz -C ../data/networks


# Deep Homography
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/nlqbsdnt76y0nmkwdzxkg4zbvhk4bidh.gz' -O Deep-Homography-COCO.tar.gz
tar -xzvf Deep-Homography-COCO.tar.gz -C ../data/networks

# Super Resolution
#wget --no-check-certificate 'https://nvidia.box.com/shared/static/a99l8ttk21p3tubjbyhfn4gh37o45rn8.gz' -O Super-Resolution-BSD500.tar.gz
tar -xzvf Super-Resolution-BSD500.tar.gz -C ../data/networks

echo "[Pre-build]  Finished CMakePreBuild script"

执行结果

-- Copying /home/jetson-inference/utils/threads/Process.h
-- Copying /home/jetson-inference/utils/threads/Thread.h
-- Copying /home/jetson-inference/utils/data/fontmapA.png
-- Copying /home/jetson-inference/utils/data/fontmapB.png
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jetson-inference/build

2.3执行make

警告不用管;

root@jetson-desktop:/home/jetson-inference/build# make
[  1%] Building NVCC (Device) object utils/CMakeFiles/jetson-utils.dir/cuda/jetson-utils_generated_cudaYUV-YV12.cu.o
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
:0:7: warning: ISO C++11 requires whitespace after the macro name
[  2%] Building NVCC (Device) object utils/CMakeFiles/jetson-utils.dir/cuda/jetson-utils_generated_cudaFont.cu.o

.................

[ 97%] Linking CXX executable ../aarch64/bin/homography-camera
[ 97%] Built target homography-camera
Scanning dependencies of target superres-console
[ 98%] Building CXX object superres-console/CMakeFiles/superres-console.dir/superres-console.cpp.o
[100%] Linking CXX executable ../aarch64/bin/superres-console
[100%] Built target superres-console

2.4安装

root@jetson-desktop:/home/jetson-inference/build# sudo make install
 
Note:  this project uses git submodules in the source tree.
       if you haven't already, run the following command from
       the project's root directory:
 
           git submodule update --init


-- CUDA version: 10.0
-- CUDA 10 detected, enabling SM_72
-- system arch:  aarch64
-- output path:  /home/jetson-inference/build/aarch64
-- Copying /home/jetson-inference/detectNet.h
-- Copying /home/jetson-inference/homographyNet.h


安装成功;

image.png

3、测试效果

首次加载时间较长;

root@jetson-desktop:/home/jetson-inference/build# cd aarch64/bin
root@jetson-desktop:/home/jetson-inference/build/aarch64/bin# 
root@jetson-desktop:/home/jetson-inference/build/aarch64/bin# ./imagenet-console orange_0.jpg output_0.jpg
imagenet-console
  args (3):  0 [./imagenet-console]  1 [orange_0.jpg]  2 [output_0.jpg]  


imageNet -- loading classification network model from:
         -- prototxt     networks/googlenet.prototxt
         -- model        networks/bvlc_googlenet.caffemodel
         -- class_labels networks/ilsvrc12_synset_words.txt
         -- input_blob   'data'
         -- output_blob  'prob'
         -- batch_size   2

[TRT]  TensorRT version 5.0.6
[TRT]  detected model format - caffe  (extension '.caffemodel')
[TRT]  desired precision specified for GPU: FASTEST
[TRT]  requested fasted precision for device GPU without providing valid calibrator, disabling INT8
[TRT]  native precisions detected for GPU:  FP32, FP16
[TRT]  selecting fastest native precision for GPU:  FP16
[TRT]  attempting to open engine cache file networks/bvlc_googlenet.caffemodel.2.1.GPU.FP16.engine
[TRT]  cache file not found, profiling network model on device GPU
[TRT]  device GPU, loading networks/googlenet.prototxt networks/bvlc_googlenet.caffemodel
[TRT]  retrieved Output tensor "prob":  1000x1x1
[TRT]  retrieved Input tensor "data":  3x224x224
[TRT]  device GPU, configuring CUDA engine
[TRT]  device GPU, building FP16:  ON
[TRT]  device GPU, building INT8:  OFF
[TRT]  device GPU, building CUDA engine (this may take a few minutes the first time a network is loaded)


.....................
[TRT]  layer inception_5b/1x1 copy - 0.016771 ms
[TRT]  layer pool5/7x7_s1 - 0.054792 ms
[TRT]  layer loss3/classifier input reformatter 0 - 0.008437 ms
[TRT]  layer loss3/classifier - 0.291875 ms
[TRT]  layer prob input reformatter 0 - 0.013594 ms
[TRT]  layer prob - 0.023177 ms
[TRT]  layer network time - 66.813286 ms
class 0950 - 0.978584  (orange)
class 0951 - 0.021285  (lemon)
imagenet-console:  'orange_0.jpg' -> 97.85841% class #950 (orange)
loaded image  fontmapA.png  (256 x 512)  2097152 bytes
[cuda]  cudaAllocMapped 2097152 bytes, CPU 0x1048a0000 GPU 0x1048a0000
[cuda]  cudaAllocMapped 8192 bytes, CPU 0x100f62000 GPU 0x100f62000
imagenet-console:  attempting to save output image to 'output_0.jpg'
imagenet-console:  completed saving 'output_0.jpg'

shutting down...

橙子:


image.png

香蕉;


image.png

测试人脸

./detectnet-console peds-001.jpg output.jpg facenet

监测中3张人脸及坐标;

detectnet-console:  finished processing network  (1556803484335)
3 bounding boxes detected
detected obj 0  class #0 (face)  confidence=0.842345
bounding box 0  (555.400024, 149.041412)  (661.000061, 232.537506)  w=105.600037  h=83.496094
detected obj 1  class #0 (face)  confidence=0.799129
bounding box 1  (1166.433350, 129.300003)  (1291.600098, 226.293762)  w=125.166748  h=96.993759
detected obj 2  class #0 (face)  confidence=0.756537
bounding box 2  (811.800049, 213.665634)  (912.600037, 302.812500)  w=100.799988  h=89.146866
detectnet-console:  writing 1920x1080 image to 'output.jpg'
detectnet-console:  successfully wrote 1920x1080 image to 'output.jpg'

image.png

你可能感兴趣的:(Nvidia Jetson nano 研究系列之五-初探jetson inference)