精华内容
下载资源
问答
  • 前几天写了一篇关于如何记步的博客之后,我就在思考怎么样利用手机的传感器来计算步长呢?和记步不一样,步长是一个相对比较精确的,通过手机端那个不靠谱的加速度传感器真的有办法计算步长吗?  看了几篇利用...

           前几天写了一篇关于如何记步的博客之后,我就在思考怎么样利用手机的传感器来计算步长呢?和记步不一样,步长是一个相对比较精确的值,通过手机端那个不靠谱的加速度传感器真的有办法计算步长吗?

           看了几篇利用GPS计算步长方法,大概就是现在我们用的一些运动软件的算法了,先利用不太精确的GPS画出运动轨迹,计算出轨迹的长度,再除上运动步数,就是步长了。当然其中会运用到很多辅助算法来提高精确值,实际上在距离足够远的时候,也据说数据量足够多的时候,可以得出较为精确的步长值。

           当然这是我需要的吗?No,远远不够,如果在室内,在地下停车场呢,GPS就完全失效了,这个时候能够依赖的就只有加速度了。我又缩小了搜索范围——基于加速度的步长算法,还是找到几篇相关文章的,大致分为两种方式:

           1.对加速度求积分算出行进距离

           2.通过把加速度传感器绑在腿上,感知波形

    第二种方式对于手机根本不适用(手机不是拿在手上就是装兜里,谁没事挂腿上),直接毙掉。再看第一种,有尝试的价值,但实际尝试后也有各种各样的问题,一个关键问题就是手机传感器精度不够,实际偏差非常大,很可惜也不行。

            看起来好像在手机端做步长算法好像根本不可能,现实也的的确确是这样。我本来也打算放弃来着,不过前两天突然灵机一动,能不能利用之前写的记步算法中用的两个数据来简单预测呢?

            说做就做,算法可以说简单到离谱了,以我自己为模板来尝试,35米左右距离大约走五十步左右,实际偏差在正负五米,实际误差还是挺大,但是也比上面的方法一要精确多了。

            好了也不卖关子了,来说说是哪两个数据,如图:

    解释下坐标系,横坐标时间(单位ms),纵坐标加速度(单位m/s),加速度包含重力加速度,这个我之前的文章有写,可以看看。

            H就是一步的波峰波谷(两个波谷求个均值)差值,W就是波谷之间的距离,也就是走一步所需的时间。再来看算法:

    float steplength=0.37f+W/10000+0.29f*H/5;

    很简单的算法是不是?

           经过我个人测试,在大范围还是有一定的精准度的,但是在细节方面却千差万别。实际测试每百米上下浮动在二十米到三十米左右,这还是我个人测试的结果,依然不够精确。

           简单讲下我的思考方式,首先实际行走一段距离,用不同的步速和步长进行行走,计算W和H的值,根据数据大致可以画一张图(当然过程中也要采集步长)当然这些只是我的个人数据,不具有一般性,所有数据图我就不放了,乱糟糟的,有兴趣自己画吧。最后大致推出这样的公式,具体有能力的同学可以做个大数据分析,应该是可以推导个近似公式。

           这个方式还具有很多的改进空间,可以用一些更科学的方式(滤波、均值什么的),当我毕竟不是要用于商用,算的更精确对我来说也没什么必要,在这仅仅是提出我个人的一个计算步长的猜想,抛砖引玉。

    ————————————————————————————————————————————————————

    补充一下,最近发现上面的公式还是有些问题。发现一个问题,H越大时步长确实是越大的,但是W增大时,对于步长其实反而是有负增益的,但是又不完全是线性减少,有待研究。在这提醒下,上面的公式只是我随手凑出来的,并不太准确。

    ————————————————————————————————————————————————————————

    我发现自己路走偏了,本来想用两个不精确的数据来估计一个确定数据就非常的不靠谱,我还期望用一个固定的公式来做精准的推测。我准备学习一些经典的预测方法再做一次尝试。

    ————————————————————————————————————————————————————————

    不好意思误导大家了,在这里必须澄清一下,实际上有很多论文都谈到步长的计算方式,只不过仅仅作为论文的一部分,没有单独拿出来说而已。由于博主论文看的少,最近开始补这方面的论文才发现实际上有很多的实现方法(甚至有些接近于我的想法,说明我的方向是没错的)。所以上面的看看就行,不要全信。

    顺便说一下其中很大一部分论文在计算步长的时候用到了我上面提到的参数H,用了最小二乘法来推线性比例。实际上我也走过这条路,不过效果并不是很好,我还是坚持用H加W的算法,最近想引入卡尔曼滤波器再试试,看下效果如何。

    ————————————————————————————————————————————————————————

    上面的公式我就不改了,献给给有耐心看到底的朋友,重新给一个 个人认为还是较为不错的公式,亲测效果还是不错的(150米正常行走偏差十米以内,跑步偏差四十米以内):

    float steplength=0.37f-0.000155f*W+0.1638f*(float) Math.sqrt(H);

    主要利用了最小二乘法,还有个人的一些推测。

    ————————————————————————————————————————————————————————

    最近把计步器算法和步长估计封装成类了,有兴趣的点这里(Android计步器实现

    展开全文
  • 使用while循环使其继续,直到停止变化(直到某个tol)。在循环中放置一个计数器来计算步数。在不同大小的随机对称矩阵上尝试您的程序(提示:使用A=randn(n)然后A=A·A ')。大小和需要的步骤数之间或者大小和ew之间有...
  • CNN中感受野的计算

    2018-07-05 23:54:04
    这个感受野的大小应该怎么去算,我们首先需要知道CNN中进行卷积和池化的操作时,参数的应该怎么计算,首先举一个特别简单的例子。我们的输入图像是5*5的图像,经过一个大小为2*2,步长为1的卷积核的处理后,得到...

    感受野(receptive field),从可视化的角度来讲,就是输出featuremap 某个节点的响应对应的输入图像的区域就是感受野。
    这个感受野的大小应该怎么去算,我们首先需要知道CNN中进行卷积和池化的操作时,参数的值应该怎么去计算,首先举一个特别简单的例子。我们的输入图像是5*5的图像,经过一个大小为2*2,步长为1的卷积核的处理后,得到的图像大小变成了4*4,再经过一个2*2,步长为2的池化操作后变成了2*2的大小。
    当输入图像是n*n,卷积核大小是f*f,步长是s,填充为P,则输出图像大小nout

    nout=[n+2pfs]+1

    具体的操作可以通过下图来展示:
    这里写图片描述

    有几点需要注意的是,padding并不影响感受野,stride只影响下一层featuremap的感受野,size影响的是该层的感受野。

    了解完了怎么计算卷积和池化后,我们来看看怎么计算感受野。
    举一个例子:
    这里写图片描述

    pool3的一个输出对应pool3的输入大小为2*2
    那么我们可以得到对应的conv4的输入为4*4,因为2*2的每个角加上一个3*3的卷积核,就变成4*4,
    这里写图片描述

    展开全文
  • 梯度的衰减是有连续乘法导致的,如果在连续乘法中出现一个非常大的,最后计算出的梯度就会很大,就想当优化到断崖处是,会获得一个很大的梯度,如果以这个梯度进行更新,那么这次迭代的步长就很大,可能会一下...

    梯度的衰减是有连续乘法导致的,如果在连续乘法中出现一个非常大的值,最后计算出的梯度就会很大,就想当优化到断崖处是,会获得一个很大的梯度值,如果以这个梯度值进行更新,那么这次迭代的步长就很大,可能会一下子飞出了合理的区域。

    解决的方法是:

    梯度裁剪:

    把沿梯度下降方向的步长限制在一个范围之内,计算出来的梯度的步长的范数大于这个阈值的话,就以这个范数为基准做归一化,使这个新的的梯度的范数等于这个阈值就行了。

    梯度检查:

    梯度计算很不稳定,使用梯度检查来检查梯度计算是否出了错误。

    通过解析的梯度值与计算得到的梯度值进行对比计算相对误差,如果这个误差小于一个很小的下限值,那么就没什么问题。

     

    转载于:https://www.cnblogs.com/pacino12134/p/11110304.html

    展开全文
  • 卷积层的基本原理就是图像的二维卷积,即将一个二维卷积模板先翻转(旋转180°),再以步长stride进行滑动,滑动一次则进行一次模板内的对应相乘求和作为卷积后的。那谁是参数呢?图像本身有参数吗?怎么可能呢。那...

    我们以VGG-16为例,来探讨一下如何计算卷积层、全连接层的参数量、计算量。为了简单、直观地理解,以下讨论中我们都会忽略偏置项,实践中必须考虑偏置项。

    【卷积层的参数量】

    什么是卷积层的参数?

    卷积层的基本原理就是图像的二维卷积,即将一个二维卷积模板先翻转(旋转180°),再以步长stride进行滑动,滑动一次则进行一次模板内的对应相乘求和作为卷积后的值。

    那谁是参数呢?图像本身有参数吗?怎么可能呢。

    那答案只有一个:filter。

    如上图所示,就是一个

    equation?tex=3%5Ctimes3 的卷积核,它的参数就是9个。

    如果有多个通道呢?这简单啊,就用单通道卷积核的参数量乘以通道数呗。

    这仅仅是一个filter的参数量,卷积层有若干个filter啊?

    (重点,重点,重点)

    计算公式:参数量=(filter size * 前一层特征图的通道数 )* 当前层filter数量

    VGG-16为例,Conv1-1,输入

    equation?tex=224%5Ctimes224%5Ctimes3 ,64个

    equation?tex=3%5Ctimes3 filter,输出feature map

    equation?tex=224%5Ctimes224%5Ctimes64

    Conv1-1的参数量为

    equation?tex=3%5Ctimes3%5Ctimes3%5Ctimes64%3D1728

    Conv2-1,输入

    equation?tex=112%5Ctimes112%5Ctimes64 ,128个

    equation?tex=3%5Ctimes3 filter,输出feature map

    equation?tex=112%5Ctimes112%5Ctimes128

    Conv2-1的参数量

    equation?tex=3%5Ctimes3%5Ctimes64%5Ctimes128%3D73728

    同理,可以计算其它卷积层的参数量。感兴趣的同学可以自己动手算一下。

    【全连接层的参数量】

    上面已经说过卷积层的参数量计算方法了,那如何计算全连接层的参数量?其实和卷积层参数量的计算方法是一样的。

    VGG-16最后一次卷积得到的feature map为

    equation?tex=7%5Ctimes7%5Ctimes512 ,全连接层是将feature map展开成一维向量

    equation?tex=1%5Ctimes4096 。实际上,我们就是用4096个

    equation?tex=7%5Ctimes7%5Ctimes512 的filter去做卷积(可以理解为是一个卷积层)。

    我们就可以计算第一个FC的参数量

    equation?tex=7%5Ctimes7%5Ctimes512%5Ctimes4096%3D102760448

    1亿啊,这个数字好大的。这也是为什么说:全连接层参数冗余。全连接层参数就可占整个网络参数80%左右,好吓人的。

    【卷积层的计算量】

    一次卷积的计算量,如何计算呢?

    以VGG-16为例,Conv1-1,输入

    equation?tex=224%5Ctimes224%5Ctimes3 ,64个

    equation?tex=3%5Ctimes3 filter,输出feature map

    equation?tex=224%5Ctimes224%5Ctimes64

    feature map中的每一个像素点,都是64个

    equation?tex=3%5Ctimes3 filter 共同作用于原图计算一次得到的,所以它的计算量为

    equation?tex=3%5Ctimes3%5Ctimes64%3D576

    已经知道单个像素的计算量,那乘以feature map所有像素,就是一次卷积的计算量:

    equation?tex=224%5Ctimes224%5Ctimes64%5Ctimes3%5Ctimes3%5Ctimes64

    (重点,重点,重点)

    计算公式:计算量 = 输出的feature map * 当前层filter

    这仅仅是单个样本前向传播计算量,实际计算量还应乘以batch size。

    【全连接层的计算量】

    全连接层的计算量,如何计算呢?其实和卷积层计算量的计算方法是一样的。

    VGG-16最后一次卷积得到的feature map为

    equation?tex=7%5Ctimes7%5Ctimes512 ,全连接层是将feature map展开成一维向量

    equation?tex=1%5Ctimes4096 。则FC层的计算量为

    equation?tex=7%5Ctimes7%5Ctimes512%5Ctimes1%5Ctimes4096%3D102760448

    通过以上讨论可以发现:我们需要减少网络参数时主要针对全连接层;进行计算优化时,重点放在卷积层。

    【CNN未来的发展趋势】

    1.小--模型有效且参数少

    2.快--运行速度快

    3.准--与大模型有相当的准确率

    展开全文
  • 适合java、js都学过的-常用1、计算长度使用len()2、在字符串前加r可以忽略字符串内的转义字符3、区间范围为左闭右开,包含左边不包含右边-判断1、else if为elif2、while可以衔接else3、使用and or来联合判断-循环1...
  • ),只需使用所需的步长在两个坐标维中从最小值迭代到最大。如果手头有任意多边形形状,则需要测试生成的点中哪些与该多边形相交,并仅返回该条件适用的坐标对。计算规则网格规则网格不等于投影上的规则网格。你说...
  • 长度为6个自己的row_id,然后不停的往上加步长,虽然生活中自然数是没有上限的,但是在计算机里,我们只要定义了表示这个数的字节长度,那么它就有上限,比如在Java中,int类型的上限为2^31-1,即2147483647。...
  • //计算HOG描述子,检测窗口移动步长(8,8) // cout描述子维数:"(); //处理第一个样本时初始化特征向量矩阵和类别矩阵,因为只有知道了特征向量的维数才能初始化特征向量矩阵 if( 0 == num ) {...
  • 现给定A、B的各步跨出的格数,请计算比赛的结果。比赛结果只有4种情况:A胜,B胜,都未到达终点,A、B以相同的步数到达终点。 注意,长度为n的跑道上,格子的下标是从0开始,终点是下标为n-1的那个格子。先到达或...
  • 今天学到一个高招

    2012-01-20 06:42:19
    给出一个LoG的SIGMA怎么求相应的DoG的两个SIGMA?到GOOGLE上把两个FILTER的计算公式找到,然后解一下...你会崩溃的! 下面是我们用的MATLAB程序,计算SIGMA从0.1到2.5步长为0.1的LoG对应的DoG: tab = []; ...
  • MySQL里有很多自增的id,每个自增id都是定义了初始,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型(unsigned int)是4个字节,...
  • 参考1 参考2 参考3 只要是梯度下降法来求解优化,都会有一个学习率,也叫...lr_policy可以设置为下面这些,相应的学习率的计算为: - fixed: 保持base_lr不变. - step: 如果设置为step,则还需要设置一个ste...
  • mysql实战45 | 自增id用完怎么办?

    千次阅读 2019-06-16 09:52:27
    MySQL 里有很多自增的 id,每个自增 id 都是定义了初始,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 ...
  • 模型不收敛怎么办?...求解初始不一致的瞬态模型 做瞬态计算最常见的问题,边界条件、载荷不一致经常上来就报错,要不然就是求解器前几个时间步长算很久。 错误:找不到解。返回的解不收敛 稳态问题算了半...
  • MySQL 里有很多自增的 id,每个自增 id 都是定义了初始,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 ...
  • 一、本节概述MySQL 里有很多自增的 id,每个自增 id 都是定义了初始,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 ...
  • 深度学习初学对名词的记录

    千次阅读 2016-11-22 20:47:52
    推荐这位的博客Deep Learning(深度学习)学习笔记整理系列 ...最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标步长越小,前进越慢。 无监督学习 我们不告诉计算机怎么做,而是让它(计
  • 随便假设一副100*100的图像(很小吧),就有10000个点,对每个点假设就映射36组(ρ,θ)参数(此时角度的步长是10度了,10度,已经非常大的一个概念了),那么总共需要映射360000次,在考虑每次映射计算的时间吧。...
  • 3.2.4 如何计算Pooling层输出输出? 101 3.2.5 实例理解反向传播 102 3.3 超参数 105 3.3.1 什么是超参数? 105 3.3.2 如何寻找超参数的最优? 105 3.3.3 超参数搜索一般过程? 106 3.4 激活函数 106 3.4.1 为...
  • excel的使用

    2012-11-25 17:06:01
    如果用得到,你还可以利用EXCEL来完成行列式、矩阵的各种计算,进行简单的积分运算,利用迭代求函数值(如x^2=x^7+4,可用迭代方法求x),等等,凡是涉及计算方面的事,找EXCEL来帮忙,它一定会给你一个满意的答案...
  • MAPGIS地质制图工具

    2013-05-06 16:15:30
    地质数据采集系统采用Microsoft Access的MDB格式,自动计算绘制符合行业标准的MapGis格式地质图件。 本软件完全免费使用。在使用过程中,如果是本软件的缺陷造成你的损失,本人不承担任何责任。一旦开始使用,视为你...
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    用途计算速度的步伐和步长的产品。 StepBuzzer 步骤蜂鸣器 一步检测时震动。通常情况下,这是不重视,用于调试目的。 StepDetector步骤探测器 检测步骤,并通知所有听众 StepDisplayer 步骤显示 计数步骤提供的步骤...
  • AlexNet学习笔记

    2020-08-22 12:56:30
    2.计算卷积后图片大小:(原长+2*池化-卷积核长+步长)/步长。AlexNet中卷积核数量为96个(48*2,便于并行处理) 3.maxpooling:取区域内最大的数值 4.卷积核是怎么设定的:卷积核里面数就是所谓的权重,网络训练...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

怎么计算步长值