自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hali_Botebie的博客

一步一步来(严义雄),闻道有先后,术业有专攻,Github主页:https://hiyx.github.io, 服务器:https://gz.work.abiuni.com,Gitee:https://gitee.com/hiyanyx

  • 博客(22)
  • 收藏
  • 关注

转载 【Webcam设计】网络摄像头带宽估算

https://cloud.tencent.com/developer/article/1796169像素一个像素占多大内存 多少字节取决于需要存储一个像素的多少信息,以及是否采用了压缩技术。如果是非黑即白的二值图像,不压缩的情况下一个像素只需要1个bit。如果是256种状态的灰度图像,不压缩的情况下一个像素需要8bit(1字节,256种状态)。如果用256种状态标识屏幕上某种颜色的灰度,而屏幕采用三基色红绿蓝(RGB),不压缩的情况下一个像素需要占用24bit(3字节),这个就是常说的24位真彩

2021-06-22 14:43:48 2553

原创 【Webcam设计】 ffmpeg与x264差异

x264是一个 H.264/MPEG4 AVC 编码器,将原始数据(例如YUV420P)编码成h.264标准的原始视频流(ES流)ffmpeg使用的是开源的库libx264FFmpeg为多媒体库,里面有音频、视频的解析、解码、编码以及其他功能的大量API可以给你使用。FFmpeg可以调用x264编码,也可以通过其他编码器编码(例如nvenc英伟达显卡编码器)ffmpeg -i xx.mkv -vcodec libx264 xxx.mp4...

2021-06-22 14:36:05 319

原创 【Webcam设计】客户机与程序之间的通信cv::imencode/imdecode与 std::ifstream file与imread/imwrite方式

1. 客户端软件和程序之间的视频传输采用了cv::imencode和cv::imdecode函数实现编解码关于CV的演示用法:见:https://github.com/HiYx/OpenCV_Test/tree/master/demo/OpenCV_Test此功能演示为:https://github.com/HiYx/OpenCV_Test/blob/master/demo/OpenCV_Test/test_opencv_funset.cpp发送#include <opencv2/openc

2021-06-22 14:32:14 916 2

转载 基于LVDS的高速自同步串行传输系统的研究

本文从高速数据传输的需求出发,对高速串行LVDS(Low Voltage Differential Signaling,低压差分信号)接口电路进行研究,重点对其传输方式进行了研究分析。基于SER/DES(Serial/Deserializer,串行/解串器)设计构架下,提出了高速自同步串行传输系统的实现方法。0 引言随着信息技术的日新月异,传统的I/O接口无法满足越来越大的数据处理任务。相对于串行传输技术,采取并行传输技术,提高通道数量就能提高数据传输数率,但是会增加很多成本。而且,并行传输技术中存在

2021-06-16 11:12:03 1927

转载 【cmake开发(2)】Cmakelists 与gcc 调用so库文件,几个名词解释

引入so文件CmakeList 配置1.导入so文件将so文件拷贝到项目中,路径自己定吧,只要配置的时候不出错就行,我是这样的拷贝到jniLibs文件夹中的。jniLibs下的子文件夹表示的是cpu类型,你可以少建些,但不可以不建,so文件就放在这些文件夹下,每个cpu类型都放。(注:导入的so文件需要在库名前添加“lib”,即lib库名.so,比如我要导入库名为test的so文件,那么你得将so文件名改为libtest.so再拷贝进项目)2.配置。

2021-06-16 10:49:16 1855 2

转载 【ResNet笔记(3)】resnet的瓶颈层的子层res4b22的命名规则

英文解释:The naming rule of ResNet as follows:stage 2 and stage 5 both have 3 layers, so they are named as ‘a’, ‘b’, and ‘c’.stage 3 and stage 4 has more than 3 layers. And there are clear differences between the first layer and rest layers of those two stages

2021-06-09 15:06:18 380

转载 【Network In Network】Global Average Pooling(GAP)的由来

论文:https://arxiv.org/pdf/1312.4400.pdf参考:https://www.cnblogs.com/shine-lee/p/11655836.html《Network in Network》简称NIN,出自颜水成老师团队主要创新点NIN的网络结构仍是在AlexNet基础上修改而来,其主要创新点如下:提出了mlpconv layer:mlpconv layer中使用小的多层全连接神经网络(multilayer perceptron, MLP)“micro net

2021-06-09 15:06:02 256

转载 使用AvgPooling替换AdaptivePooling,池化padding,global average pooling 与 average pooling 的差别

其他推理框架可能不支持AdaptivePooling操作,该操作仅存于PyTorch中PyTorch官方文档可知,AdaptivePooling可通过输入大小input_size自适应控制输出大小output_size,而一般的AvgPooling/MaxPooling则是通过kernel_size、stride、padding来计算output_size,公式如下:outputsize=ceil((inputsize+2∗padding−kernelsize)/stride)+1output_s

2021-06-09 15:05:39 2628

转载 【上采样问题】将浮点运算转换成整数运算

https://www.cnblogs.com/Imageshop/archive/2011/11/12/2246808.htmlhttps://www.cnblogs.com/yssongest/p/5303151.html直接进行计算的话,由于计算的srcX和srcY 都是浮点数,后续会进行大量的乘法,而图像数据量又大,速度不会理想,解决思路是:浮点运算→→整数运算→→”<<左右移按位运算”。  放大的主要对象是u,v这些浮点数,OpenCV选择的放大倍数是2048“如何取这个合适的放

2021-06-09 15:04:35 1216

转载 pytorch自定义初始化权重

在常见的pytorch代码中,我们见到的初始化方式都是调用init类对每层所有参数进行初始化。但是,有时我们有些特殊需求,比如用某一层的权重取优化其它层,或者手动指定某些权重的初始值。核心思想就是构造和该层权重同一尺寸的矩阵去对该层权重赋值。但是,值得注意的是,pytorch中各层权重的数据类型是nn.Parameter,而不是Tensor或者Variable。import torchimport torch.nn as nnimport torch.optim as optimimport nu

2021-06-09 15:04:14 583

转载 【信号处理第十二章】转置卷积

反卷积也可以称为卷积转置或转置卷积,但其并非卷积操作的反向操作。由上边的介绍可以指导,卷积操作会将输入映射到一个更小的feature map中,那么反卷积则可以将这个小的feature map映射为一个大的feature map,但是切记,这不是卷积的反向操作,也不会得到与原始输入一样的输出,但是却保留了映射中相对位置关系的信息,我们可以将其理解为上采样。从上图中可以看出,一个3x3的输入经过一个3x3的反卷积核的处理可以得到一个7x7的feature map。那么这一操作是怎么实现的呢?这里就需要先理

2021-06-09 15:03:48 493

原创 上采样方法综述:线性插值,转置卷积,上池化

1. 上采样的定义上采样的技术是图像进行超分辨率的必要步骤,最近看到了CVPR2019有一些关于上采样的文章,所以想着把上采样的方法做一个简单的总结。看了一些文章后,发现上采样大致被总结成了三个类别:1、基于线性插值的上采样2、基于深度学习的上采样(转置卷积)3、Unpooling的方法其实第三种只是做各种简单的补零或者扩充操作,下文将不对其进行涉及。文章目录1. 上采样的定义2. 线性插值1、最近邻算法2、双线性插值算法3、双三次插值算法(bicubic)3. 深度学习1、转置卷积2、Pix

2021-06-09 15:03:29 5078

原创 【上采样问题】双线性插值的几何中心点重合与align_corners

我们默认以红色表示原图,蓝色表示 bilinear 上采样两倍后的图片。首先介绍 align_corners=False,首先观察绿色框内的像素,我们会发现它们严格遵守了 bilinear 的定义。而对于角上的四个点,其像素值保持了原图的值。边上的点则根据角点的值,进行了 bilinear 插值。所以,我们从全局来看,align_corners=False 内部和边缘处采用了比较不同的规则。align_corners=True 里,像素值位于网格上:会发现,3∗33*33∗3的图像上采两倍

2021-06-09 15:03:09 3606 1

转载 pytorch中的反卷积的output_padding参数

nn.ConvTranspose2d()在传入参数时除了常见的输入输出通道数、卷积核尺寸等,还会有一个稍微令人费解的参数:output_padding这个参数在做步长为1的反卷积时是不用在意的。然而当步长大于1了,就需要手动设置以免网络出错。1.思考卷积过程因为例如在valid模式下7×7的输入尺寸+步长为2+卷积核3×3 = 3×3输出尺寸。8×8的输入尺寸+步长为2+卷积核3×3 = 3×3输出尺寸。因为使用了 地板除(floor)这个原则实现2.反卷积过程3×3 的输入进行步长

2021-06-09 15:02:44 2516

原创 上采样卷积转置的deconvolution方法实现双线性插值,代码实现,结果不一样

参考https://cv-tricks.com/image-segmentation/transpose-convolution-in-tensorflow/https://zhuanlan.zhihu.com/p/32414293目标现在我们要将3×6的图象转变为6×12的图象,即已知upscale_factor=2。1. 计算卷积核大小bilinear = get_bilinear_filter([4,4,1,1,],2)print(bilinear)array([[ 0.0625,

2021-06-09 15:02:02 1283 1

原创 【ResNet笔记(2)】ResNet的 bottleneck 设计

弯弯的弧线“这个就是”shortcut connection“,也是论文中提到identity mapping。

2021-06-03 09:43:57 5597

转载 【深入理解Batch Normalization(2)】BN=批归一化+缩放位移=(batchNorm层+scale层)

1. BN的是做什么的。它其实做了两件事:(1)批量归一化: 输入归一化x_norm = (x-u)/std,其中u和std是个累计计算的均值和方差。(2)缩放与位移:y = alpha*x_norm+beta,对归一化后的x进行比例缩放和位移。其中的alpha和beta是通过迭代学习得到的。可以看出:批量归一化共有三个参数:均值、方差和滑动系数。由于BN的三个参数都是来自于样本的计算,不需要学习.参数可以有如下使用渠道:使用保存的均值和方差,采用滑动平均计算新的均值和方差滑动平均

2021-06-03 09:30:48 820

转载 自适应平台AUTOSAR(Adaptive Platform AUTOSAR)平台设计(6)——通信管理

参考:https://zhuanlan.zhihu.com/p/3368334531.概述通信管理负责分布式实时嵌入式环境中应用程序之间的所有通信。背后的概念是从实际机制中抽象出来,以查找和连接通信伙伴,以便应用程序软件的实现者可以专注于其应用程序的特定目的。2.面向服务的通信服务的概念是指提供给应用程序的功能超出了基本操作软件已经提供的功能。通信管理软件提供了为机器内通信以及机器间通信提供或使用此类服务的机制。服务包含以下各项的组合· Events· Methods· Fields可

2021-06-01 17:02:59 716

转载 Adaptive Platform AUTOSAR(AP)平台的四个基本概念

AP AUTOSAR:Adaptive Platform AUTOSAR什么是AP AUTOSAR?第一个概念,它是一个中间件。中间件就是将Application与硬件进行分离。当然,AP AUTOSAR也将Application与OS进行了分离,如下图所示:这里的中间件被称为Runtime For Adaptive Application(ARA),主要由两部分组成,Foundation 和 Service。OS在Foundation中,其中,AP AUTOSAR规定,OS需要使用符合POSIX

2021-06-01 16:38:17 4362 2

转载 Neural Architecture Search(NAS)强化学习寻找最优网络、NASNet、MNASNet

https://zhuanlan.zhihu.com/p/52471966https://zhuanlan.zhihu.com/p/52616166https://zhuanlan.zhihu.com/p/356625894文章目录关于NAS1. 背景介绍2. NAS详细介绍2.2 NAS-RNNNASNet1.1 NASNet 控制器1.2 NASNet的强化学习1.3 Scheduled Drop Path1.4 其它超参MNasNet1. MNasNet详解1.1 优化目标1.2 搜索空间1.3

2021-06-01 14:10:38 1616

翻译 DenseNet翻译:Densely Connected Convolutional Networks

论文地址:https://arxiv.org/pdf/1608.06993v5.pdf

2021-06-01 13:01:13 577

翻译 【ResNet笔记(1)】【ResNet翻译】Deep Residual Learning for Image Recognition

目的:更深的神经网络更难训练。我们提出了一种残差的学习框架,以简化对比以前使用的网络要深得多的网络的训练。方法:我们参考层输入明确地将层重新构造为学习残差函数,而不是学习未引用的函数。效果:我们提供的综合经验证据表明,这些残差网络更易于优化,并且可以通过深度增加而获得准确性。在ImageNet数据集上,我们评估深度最大为152层的残差网络-比VGG网络要深8倍[41],但复杂度仍然较低。这些残留网络的整体在ImageNettestset上实现3.57%的误差。

2021-06-01 09:06:34 221

翻译把STL容器放入共享内存

把STL容器放入共享内存 假设进程A在共享内存中放入了数个容器,进程B如何找到这些容器呢? 进程A先在共享内存某块确定地址上放置一个map容器,然后进程A再创建其他容器,然后给其取个名字和地址一并保存到这个map容器里。 进程B知道如何获取该保存了地址映射的map容器,然后同样再根据名字取得其他容器的地址。清单container_factory.hh是一个容器工厂类。 类Pool的方法setContainer把map容器放置在一个已知地址上,方法getContainer可以重新获取这个map。 该工厂的方法用来在共享内存中创建、获取和删除容器。

2024-06-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除