GPU端到端目标检测YOLOV3全过程(上)

Basic Parameters:

    • Video: mp4, webM, avi
    • Picture: jpg, png, gif, bmp
    • Text: doc, html, txt, pdf, excel
    • Video File Size:  not more than 10GB
    • batch=16, subdivisions=1
    • Resolution: 416 * 416, 320 * 320.
    • Frame: 45f/s with 320 * 320. At 320 × 320 YOLOv3 runs in 22 ms at 28.2 mAP, as accurate as SSD but three times faster.
    • AI Framework:TensorFlow, Pytorch, Mxnet, Caffe
    • Programming Lanuage:  Python/C/C++/Java
    • Accept:  application/json, text/plain, */*
    • Accept-Language:  en-US, en;
    • Files Input Parameters of Test Model : *.model,*.weight
    • Files Input Parameters of Train Model : Filename, Path, Resolution,…
    • Files Output Parameters of Train Model : *.model,*.weight
    • Files Output Parameters of Test Model : Class Number,Class Name,mAP value
    • Hardware: VGA, DVI, HDMI, DP, SDI, BNC, WIFI, Bluetooth, USB, CAN, Socket, PCIE, SD Card, Serial Port, Clock Time, SPI, Uart, I2C/I2S, GPIO, Touch Ctrl, LCD, LED, EMMC, SATA, Audio ADC
    • Dependency Library: v4l2(Video for linux2),ffmpeg,VLC media player,opencv,
    • CUDA,cudann,Tensorflow,Pytorch,Mxnet,Caffe,Ubuntu,
    • darknet,udp/tcp,H264、AAC,rtmp、rtp/rtcp,ffmpeg、x264、
    • WebRTC、GStreamer,NEON、OpenCL、OpenGL ES,
    • MongoDB/MySQL/Redis,
    • dataset:coco,kitti,VOC
    • lanuage:python/c/c++
    • 图像分类经典网络模型
    • LeNet-5
    • AlexNet
    • VGG-16/VGG-19
    • GoogLeNet
    • Inception v3/v4
    • ResNet
    • preResNet
    • ResNeXt
    • SENet

目标检测网络模型:

R-CNN(Region-CNN)

SPP Net

Fast R-CNN

Faster R-CNN

R-FCN

YOLO

SSD

FPN

RetinaNet

 
 

目标检测常用数据集

Pascal VOC http://host.robots.ox.ac.uk/pascal/VOC/

MS COCO http://cocodataset.org/#home

KITIhttp://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=2d

ImageNethttp://www.image-net.org/

Berkeley发布BDD100K bdd-data.berkeley.edu/#download-section

语义分割(semantic segmentation)

Mask R-CNN

FCN

SegNet

Unet

DeepLab

RefineNet

PSPNet

GCN

DeepLabV3 ASPP

GAN

目标检测常用数据集

Pascal VOC http://host.robots.ox.ac.uk/pascal/VOC/

MS COCO http://cocodataset.org/#home

KITIhttp://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=2d

Cityscapeshttps://www.cityscapes-dataset.com/dataset-overview/#features

ImageNethttp://www.image-net.org/

Berkeley发布BDD100K:
bdd-data.berkeley.edu/#download-section

NYUDv2https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html

SUN-RGBDhttp://rgbd.cs.princeton.edu/

ADE20K_MIThttp://groups.csail.mit.edu/vision/datasets/ADE20K/

名称

优点

缺点

FCN

可以接受任意大小的图像输入;避免了采用像素块带来的重复存储和计算的问题

得到的结果不太精确,对图像的细节不敏感,没有考虑像素与像素之间的关系,缺乏空间一致性

SegNet

使用去池化对特征图进行上采样,在分割中保持细节的完整性;去掉全连接层,拥有较少的参数

当对低分辨率的特征图进行去池化时,会忽略邻近像素的信息

Deconvnet

对分割的细节处理要强于 FCN,位于低层的filter 能捕获目标的形状信息,位于高层的 filter能够捕获特定类别的细节信息,分割效果更好

对细节的处理难度较大

U-net

简单地将编码器的特征图拼接至每个阶段解码器的上采样特征图,形成了一个梯形结构;采用跳跃连接架构,允许解码器学习在编码器池化中丢失的相关性

在卷积过程中没有加pad,导致在每一次卷积后,特征长度就会减少两个像素,导致网络最后的输出与输入大小不一样

DeepLab

使用了空洞卷积;全连接条件随机场

得到的预测结果只有原始输入的 1/8 大小

RefineNet

带有解码器模块的编码器-解码器结构;所有组件遵循残差连接的设计方式

带有解码器模块的编码器-解码器结构;所有组件遵循残差连接的设计方式

PSPNet

提出金字塔模块来聚合背景信息;使用了附加损失

采用四种不同的金字塔池化模块,对细节的处理要求较高

GCN

提出了带有大维度卷积核的编码器-解码器结构

计算复杂,具有较多的结构参数

DeepLabV3 ASPP

采用了Multigrid;在原有的网络基础上增加了几个 block;提出了ASPP,加入了   BN

不能捕捉图像大范围信息,图像层的特征整合只存在于 ASPP中

GAN

提出将分割网络作为判别器,GAN   扩展训练数据,提升训练效果;将判别器改造为 FCN,从将判别每一个样本的真假变为每一个像素的真假

没有比较与全监督+半监督精调模型的实验结果,只体现了在本文中所提创新点起到了一定的作用,但并没有体现有效的程度

人脸识别

网络模型:

dlib

mtcnn

DeepFace

OpenFace

DeepID

Facenet

VGGFace

Face Recognition Compare

模型

速度

维度

准确度 (LFW数据)

准确度(YTF视频)

DeepFace

0.18s+0.05s(对齐)

4096

97.35%

92.5%

DeepID

35ms(GPU)

160

99.15%

FaceNet(NN3) 

无,但是NNS2移动端是30ms

512

99.65%

95.12%

  • Video Codec
  • H264/H265/H266
  • Ffmpeg/Gstream/OpenMax

流媒体(Streaming Media)技术是指将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现在网络上实时传输影音以供观赏的一种技术。

流媒体实际指的是一种新的媒体传送方式,有声音流、视频流、文本流、图像流、动画流等,而非一种新的媒体。

流媒体文件格式是支持采用流式传输及播放的媒体格式。常用格式有:RA:实时声音;RM:实时视频或音频的实时媒体;RT:实时文本;RP:实时图像;SMII.:同步的多重数据类型综合设计文件;SWF:real flash和shockwavc
flash动面文件;RPM: HTMI。文件的插件;RAM:流媒体的源文件,是包含RA、RM、SMIIJ文件地址(URL地址)的文本文件;CSF:一种类似媒体容器的文件格式,可以将非常多的媒体格式包含在其中,而不仅仅限于音、视频。quicktime,mov,asf,wmv,wma,avi,mpeg,mpg,dat,mts; aam多媒体教学课件格式,可将authorware生成的文件压缩为aam和aas流式文件播放。

 

FFMPEG

GStreamer

OpenMax

History

2009

2002

2006 Khronos & NVidia

OS

Windows, Linux, MacOS

Linux, Windows, Android, iOS

Android (Cross-platform)

Who?

Youtube, chrome, facebook, Baidu

Table later

Khronos

SW layer

APP(player, tool) & Framework

App, Framework & plugin

Framework & Library

Overall arch

~ Well packaged API with details hidden

~  Simple and clear API
flow

~ Pipeline-module driven

~ plug-in based

~ Layer based API

Advantage

~ Quick development, easier start

~ Less modularized, hard to extend for IVA E2E solution

~ Strong support @ Media Stream player

~ highly expandable to support IVA

~ Deepstream as Gstreamer plugin

~ User defined Stream Type

~ mobile platform

~ CTS

Others

~ Integrated core into Gstreamer plug-in & with OpenMax

~ C/C++ based

~ Advanced developers, larger code size

~ C based

~ C based

CMOS图像传感器内部结构及工作原理

1. CMOS sensor内部结构

2. CMOS sensor整个平面构造图(floorplan)

光电二极管具有正向导通反向截止的特殊,反向的特性还有个电容的特性,当在二极管上加反向偏置电压时,就会给电容充电,当电容充满电荷之后,光子的射入会导致内部激发出新的电子
空穴对,与原来充电形成的电子空穴对进行配对放电,形成光电流I_ph,光电流I_ph给右侧的电容充电变成一个电压输出,

3.光子(Photon)与量子效率(quantum efficiency)

自然界中有不同频率的光线,如果我们简单来说分成RGB三种频率的光线,由于RGB的频率不同,所载有的能量也是不同的,以蓝光子为例,所载有的能量为4.41E-19焦耳,单个光子的能量E=hc/普朗克常量,那么一束光子的能量就等于所有光子能量的总和Total_Power=sum_of(all photons)。量子效率QE定义为,在一个camera sensor里面,经过color filter透射过来的光子转变成电荷的的效率,如果透射过来三个光子,产生出来一个电子空穴对,那么这个效率就是1/3.

4.与量子效率QE有关的几个重要概念

QE是衡量某个颜色通道某个频率/波长的光子转换成电子的效率

在不同的波长上QE是不一样的。

camera sensor可以感受近红外的波段,这个不符合人眼视觉的感受的,需要用IR cut把近红外的波段去除掉,否则红色通道感光就会过强,这样出来的图像就会偏红。

像素不能够被一个颜色的光激发的现在叫crosstalk,理想情况crosstalk为0。

sensitivity感光度:同样的光子能够激发出的电荷

sensitivity=QE*pixel_size 
  QE越高激发出来的电荷越多,pixel_size越大激发出来的电荷越多

5.感光过程

6.读取过程

7.动态范围

TX2作为TX1的改进版,资源配置相当强劲。 

1. 模组配置 

 256 core NVIDIA Pascal GPU. 

 ARMv8 (64-bit) Multi-Processor CPU Complex. 

 Advanced HD Video Encoder. 

 Advanced HD Video Decoder. 

 Display Controller Subsystem. 

 128-bit Memory Controller. 

 8GB LPDDR4 and 32 GB eMMC memory 

 1.4Gpix/s Advanced image signal processing 

 Audio Processing Engine. 

2. 对外接口

  1. 载板配置 

    TX1和TX2封装尺寸大致相同,接插件也兼容,有些引脚TX1没有引出,但是TX2引出了,不同之处可以参考官方文档《JetsonTX1_TX2_Developer_Kit_Carrier_Board_Specification》对比。

TX1与TX2开发板载板其实是完全一致的,经过实际验证,模组可以互换。 

载板配置如下:

3. Pascal GPU

一.
视频采集接口

常用视频采集接口根据是否支持EDID分成两类,支持EDID的接口DVI、VGA、HDMI、DP接口,不支持EDID协议的SDI、YPbPr、BNC。

支持EDID的接口:

VGA(Video Graphics Array):

VGA传递的是模拟信号,计算机显卡产生的是数字信号,显示器使用的也是数字信号,VGA视频接口需要进行数模转换、模数转换,信号转换过程中会有损失。

DVI(Digital Visual Interface)数字视频接口:

DVI传输的是数字信号,没有模数/数模转换的信号损失,但是只传输视频不传输音频。

HDMI(High Definition
Multimedia Interface)高清晰度多媒体接口:

HDMI传输的也是数字信号,但是它是视音频同时传输。

DP(Displayport)显示接口:

Displayport兼容HDMI、DVI、VGA标准,而HDMI只对DVI兼容。Displayport标准完全开放,而HDMI标准则需要授权。运用场景方面,Displayport标准主要运用于PC领域,而HDMI标准则更广泛的运用到消费类电子产品上。DP与HDMI在性能上没有多大区别。如果你使用3840x2160分辨率,HDMI由于带宽不足,最大只能传送30帧,DP就没有问题。

不支持EDID的接口:

SDI(Serial Digital Interface)数字分量串行接口:

串行接口是把数据字的各个比特以及相应的数据通过单一通道顺序传送的接口。由于串行数字信号的数据率很高,在传送前必须经过处理。

YPbPr色差分量接口:

YPbPr也是模拟信号,它和RGB是线性的转换关系,Pb信号是蓝色和亮度的差的某个倍数,Pr信号是红色和亮度的差的某个倍数还有个区别就是,水平垂直同步信号,是加载在Y信号,也就是绿线上面的,所以一般它只需要三根线。

BNC(Bayonet Nut Connector)卡扣配合型接口:

BNC接头由R、G、B三原色信号以及行同步、场同步五个独立信号接头组成,BNC接头可以让视频信号相互间干扰减少,可达到最佳信号响应效果。

GPU端到端目标检测YOLOV3全过程(上)的更多相关文章

  1. GPU端到端目标检测YOLOV3全过程(下)

    GPU端到端目标检测YOLOV3全过程(下) Ubuntu18.04系统下最新版GPU环境配置 安装显卡驱动 安装Cuda 10.0 安装cuDNN 1.安装显卡驱动 (1)这里采用的是PPA源的安装 ...

  2. GPU端到端目标检测YOLOV3全过程(中)

    GPU端到端目标检测YOLOV3全过程(中)   计算机视觉初级部分知识体系                       总结了一下自己在计算机视觉初级部分的知识框架,整理如下.  个人所学并不全面( ...

  3. Yolo:实时目标检测实战(上)

    Yolo:实时目标检测实战(上) YOLO:Real-Time Object Detection 你只看一次(YOLO)是一个最先进的实时物体检测系统.在帕斯卡泰坦X上,它以每秒30帧的速度处理图像, ...

  4. 小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期

    上期给大家展示了用VisDrone数据集训练pytorch版YOLOV3模型的效果,介绍了什么是目标检测.目标检测目前比较流行的检测算法和效果比较以及YOLO的进化史,这期我们来讲解YOLO最原始V1 ...

  5. 目标检测算法之R-CNN和SPPNet原理

    一.R-CNN的原理 R-CNN的全称是Region-CNN,它可以说是第一个将深度学习应用到目标检测上的算法.后面将要学习的Fast R-CNN.Faster R-CNN全部都是建立在R-CNN基础 ...

  6. 目标检测,主要问题发展,非极大值抑制中阈值也作为参数去学习更满足end2end,最近发展趋势和主要研究思路方向

    目标检测,主要问题发展,非极大值抑制中阈值也作为参数去学习更满足end2end,最近发展趋势和主要研究思路方向 待办 目标检测问题时间线 特征金字塔加滑窗 对象框推荐 回归算法回归对象框 多尺度检测 ...

  7. pytorch实现yolov3(5) 实现端到端的目标检测

    torch实现yolov3(1) torch实现yolov3(2) torch实现yolov3(3) torch实现yolov3(4) 前面4篇已经实现了network的forward,并且将netw ...

  8. 目标检测算法之YOLOv3

    参考地址:https://blog.csdn.net/leviopku/article/details/82660381 YOLO v3结构图 DBL:卷积+BN+leaky relu,是v3的最小组 ...

  9. GPU上创建目标检测Pipeline管道

    GPU上创建目标检测Pipeline管道 Creating an Object Detection Pipeline for GPUs 今年3月早些时候,展示了retinanet示例,这是一个开源示例 ...

随机推荐

  1. 针对中国政府机构的准APT攻击样本Power Shell的ShellCode分析

    本文链接网址:http://blog.csdn.net/qq1084283172/article/details/45690529 一.事件回放 网络管理员在服务器上通过网络监控软件检测到,有程序在不 ...

  2. 路由器逆向分析------在QEMU MIPS虚拟机上运行MIPS程序(ssh方式)

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/69652258 在QEMU MIPS虚拟机上运行MIPS程序--SSH方式 有关在u ...

  3. Python脚本破解图形验证码(tesserocr和pytesseract)

    在学习之前,我们先了解OCR.tesseract.tesserocr.pytesseract和opencv这几个跟图片处理有关的库. OCR(Optical Character Recognition ...

  4. Linux下部署Django项目

    目录 安装python3.X环境 安装部署开启django 由于Linux系统默认自带的是2.X环境,所以我们需要去安装3.X环境的python. 安装python3.X环境 1.使用下面的命令下载P ...

  5. 19.Vuex详细使用说明-一篇文章涵盖所有知识点

    vuex官网: https://vuex.vuejs.org/zh/ 一. 前言 不管是Vue,还是 React,都需要管理状态(state),比如组件之间都有共享状态的需要. 什么是共享状态? 比如 ...

  6. 修改Maven项目默认JDK版本

    问题: 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2.每次右键项目名-maven->update project 时候,项目jdk版本变了,变回 ...

  7. Redis 集群伸缩原理

    Redis 节点分别维护自己负责的槽和对应的数据.伸缩原理:Redis 槽和对应数据在不同节点之间移动 环境:CentOS7 搭建 Redis 集群 一.集群扩容 1. 手动扩容 (1) 准备节点 9 ...

  8. Java 给Word添加数字签名

    本文以Java程序代码为例,介绍如何给Word文档添加数字签名. 程序运行环境 IntedliJ IDEA JDK 1.8.0 Jar包:spire.doc.jar 4.5.1 Word文档:.doc ...

  9. Java_常用类API之一

    Math类 Math类中包含一些对数据进行数学运算的方法,而该类中的方法全都是静态的.像这样的类称之为工具类. 1 public static int abs(int a) 2 对一个数据求绝对值 3 ...

  10. memcache 和 redis 的区别

    1)Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcache相比一个最大的区别.2)Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,而Memcache只是简单的K/V ...