-
包含非线性吸收和散射材料的串联结构中的非线性光学传播
2021-02-24 20:46:19包含非线性吸收和散射材料的串联结构中的非线性光学传播 -
(7) Human Pose Estimation : 串联结构:Convolutional Part Heatmap Regression
2019-09-11 10:22:19Human pose estimation via Convolutional Part Heatmap Regression ECCV 2016 reading time : 2019/09/10 ...文章使用了CNN 级联结构学习人体部件关系和空间上下文信息,在眼中遮挡的情况下也能保持鲁...Human pose estimation via Convolutional Part Heatmap Regression
ECCV 2016
reading time : 2019/09/10
paper address :https://arxiv.org/pdf/1609.01743.pdf
文章使用了CNN 级联结构学习人体部件关系和空间上下文信息,在眼中遮挡的情况下也能保持鲁棒性。
结构:detection-followed-by-regression CNN cascade. 第一部分输出部件检测热力图,第二阶段在这些热力图上进行回归。
优点:可以有效的处理遮挡(因为第一阶段的部件检测的部件热力图的置信度在遮挡的地方比较低,这样可以知道后续的回归依靠上下文信息预测部件的位置)
图片的上部分是第一阶段(部件检测网络)试图输出每个身体结构使用的是per-pixel sigmoid loss,它输出N parts heatmap。
第二阶段是回归子网络(输入上部分网络的heatmap和原图像I)回归部件热力图。方法:Part detection subnetwork。使用的是per-pixel softmax loss。
Regression subnetwork。使用的是L2 loss
-
VREP-Python机械臂串联结构逆向运动学解法(Cyclic Coordinate Descent Method)
2019-09-05 15:20:45Cyclic Coordinate Descent (CCD) 是一个启发式的迭代搜索算法,它通过每一次只改变一个关节的参数来逐步减少位置误差和姿态误差,每个迭代过程包括一个从关节链结构的末端到基点的遍历过程。由于CCD 方法将多关节...转发(防止原网址丢失)https://www.cnblogs.com/2207-iHome/p/5955535.html
逆运动学问题一般采用解析法和基于Jacobian矩阵的迭代方法,前者虽然精度高而且能达到实时的效果,但是随着关节的增多,自由度随着增多,数学建模也变得很困难,甚至不可解。而后者很难达到实时的效果。
算法思想
Cyclic Coordinate Descent (CCD) 是一个启发式的迭代搜索算法,它通过每一次只改变一个关节的参数来逐步减少位置误差和姿态误差,每个迭代过程包括一个从关节链结构的末端到基点的遍历过程。由于CCD 方法将多关节的关节链问题简化为单关节问题,可以用解析法处理,因此每一步的迭代可以相当快。当求得每个关节的参数 (转角)θ后,将其代入正向运动学方程求得末端效器和每个关节的位置。从运动链的末端开始 , 逐步改变每个关节的旋转角度。先是改变最末端的关节,末端关节到末段执行器的向量为图中蓝色线段,末端关节到目标点的向量为图中红色线段。求出 2 个向量的夹角α,让末端关节下的子链绕旋转轴转α角度,则末端执行器达到一个新位置。若没有达到目标,则继续取当前关节的上一关节,改变其旋转角度,直到选到根节点。若末端还没有达到目标位置,则又从末端关节开始新一轮运动,直到位置误差足够小或者到达了给定的循环次数。
Python代码# -*- coding: utf-8 -*- import vrep # V-rep library import sys import time import math # This function will convert an angle to the equivalent rotation in the range [-pi,pi] def ConfineAngle(angle): angle = angle % (2.0 * math.pi) if( angle < -math.pi ): angle += (2.0 * math.pi) if( angle > math.pi ): angle -= (2.0 * math.pi) return angle def CalcIK(): id = linkNum - 1 while id >= 0: retcode, J_pos = vrep.simxGetObjectPosition(clientID,joint_handle[id],-1,vrep.simx_opmode_oneshot_wait) retcode, tip = vrep.simxGetObjectPosition(clientID,tip_handle, -1, vrep.simx_opmode_oneshot_wait) # Get the vector from the current bone to the end effector position. curToEndX = tip[0] - J_pos[0] curToEndY = tip[1] - J_pos[1] curToEndMag = math.sqrt( curToEndX*curToEndX + curToEndY*curToEndY ) # Get the vector from the current bone to the target position. curToTargetX = target[0] - J_pos[0]; curToTargetY = target[1] - J_pos[1]; curToTargetMag = math.sqrt(curToTargetX*curToTargetX+curToTargetY*curToTargetY) # Get rotation endTargetMag = curToEndMag*curToTargetMag if endTargetMag <= 0.0001: # prevent division by small numbers cosRotAng = 1 sinRotAng = 0 else: cosRotAng = (curToEndX*curToTargetX + curToEndY*curToTargetY) / endTargetMag sinRotAng = (curToEndX*curToTargetY - curToEndY*curToTargetX) / endTargetMag # Clamp the cosine into range when computing the angle(might be out of rangedue to floating point error) rotAng = math.acos(max(-1, min(1,cosRotAng))) if sinRotAng < 0.0: rotAng = -rotAng q[id] = q[id] + rotAng # Rotate the current link if(id == 0): vrep.simxSetJointPosition(clientID,joint_handle[id], ConfineAngle(q[id])+math.pi/2, vrep.simx_opmode_oneshot) else: vrep.simxSetJointPosition(clientID,joint_handle[id], ConfineAngle(q[id]), vrep.simx_opmode_oneshot) # Check for termination retcode, tip = vrep.simxGetObjectPosition(clientID,tip_handle, -1, vrep.simx_opmode_oneshot_wait) endToTargetX = (target[0] - tip[0]) endToTargetY = (target[1] - tip[1]) error = math.sqrt(endToTargetX*endToTargetX + endToTargetY*endToTargetY) if( error <= stol ): # We found a valid solution. return 1, error id = id - 1 return 0, error # cannot get to the target in this iteration if __name__ == "__main__": # Starts a communication thread with the server clientID = vrep.simxStart('127.0.0.1', 20001, True, True, 5000, 5) # clientID: the client ID, or -1 if the connection to the server was not possible if clientID != -1: #check if client connection successful print 'Connected to remote API server' else: print 'Connection not successful' sys.exit('Could not connect') # Exit from Python # Retrieves an object handle based on its name. errorCode,tip_handle = vrep.simxGetObjectHandle(clientID,'tip',vrep.simx_opmode_oneshot_wait) errorCode,target_handle = vrep.simxGetObjectHandle(clientID,'target',vrep.simx_opmode_oneshot_wait) errorCode,consoleHandle = vrep.simxAuxiliaryConsoleOpen(clientID,'info',4,1+4,None,None,None,None,vrep.simx_opmode_oneshot_wait) joint_handle = [-1,-1,-1] # store the joint handles for i in range(3): errorCode,joint_handle[i] = vrep.simxGetObjectHandle(clientID,'j'+str(i+1),vrep.simx_opmode_oneshot_wait) ilimit = 100 # maximum iteration stol = 1e-2 # tolerance q = [0,0,0] # initial joint value linkNum = 3 # number of links retcode, target = vrep.simxGetObjectPosition(clientID,target_handle, -1, vrep.simx_opmode_oneshot_wait) retcode, tip = vrep.simxGetObjectPosition(clientID,tip_handle, -1, vrep.simx_opmode_oneshot_wait) count = 0 isOK = 0 while ( not isOK ): isOK,err = CalcIK() vrep.simxAuxiliaryConsolePrint(clientID,consoleHandle,None,vrep.simx_opmode_oneshot_wait) count = count + 1 vrep.simxAuxiliaryConsolePrint(clientID,consoleHandle,str(count)+' iterations err:'+str(err),vrep.simx_opmode_oneshot_wait) if count > ilimit: vrep.simxAuxiliaryConsolePrint(clientID,consoleHandle,"Solution wouldn't converge\r\n",vrep.simx_opmode_oneshot_wait) break #time.sleep(0.1) # Ends the communication thread. This should be the very last remote API function called on the client side vrep.simxFinish(clientID)
-
[paper笔记]RefineDet——把两级目标检测方法的串联结构并联起来
2018-09-26 21:39:04使用两级结构简单的处理了类别不平衡的问题。 使用了两步级联对目标边界框参数进行回归。 使用两阶段特征去描述目标。 (Emmmmmm,这怎么就是优点了。) 2 相关工作 pass 3 网络结构 转移连接...Single-Shot Refinement Neural Network for Object Detection
摘要
- 单级方法高效,两级方法准确。取两者之长处,克服其缺点,提出单级方法——Refine-Net。精准度高于两级方法。
- 两个内联模块组成
- anchor校准模块——过滤掉无效的anchor,缩小分类器的搜索空间。
- 物体检测模块——粗略地调整anchor的位置和大小,为后续的回归提供更好的初始化。
- 物体检测模块以上一个模块改善后的anchor作为输入,进一步提高回归和预测的效果。
- 设计了,传输连接块(transfer connection block),把特征从第一个模块传递到第二个模块。
- 多任务loss,实现end2end
1 引言
-
两级方法框少,单级方法框多(anchor 多)。
-
单级方法精确度不好是因为,类别不平衡。什么叫做类别不平衡?
-
RON在卷积特征图中使用对象先验约束,大幅度减小了物体搜索空间。
-
Focal loss for dense object detection中使用——重新构造标准交叉熵来集中训练hard examples的一个稀疏集,并且将分配给分类良好的事例的损失降低到最小——的方法来解决这问题。
-
Single Shot Scale-invariant Face Detector中提出max-out标签机制来解决这个问题。
-
两级方法有三个优点
- 使用两级结构简单的处理了类别不平衡的问题。
- 使用了两步级联对目标边界框参数进行回归。
- 使用两阶段特征去描述目标。
(Emmmmmm,这怎么就是优点了。)
2 相关工作
pass
3 网络结构
- 转移连接块(Transfer Connection Block)。
- 连接两个ARM和ODM
- 整合大尺度上下文信息,通过把高级特征加入被传送的特征中。反卷积高级特征来扩大feature map的大小,使用元素级的求和。
- 相加之后,在经过一个卷积层以保证特征可的可识别度。
- 两部级联回归
- 单级检测方法使用基于不同尺度特征层的单步回归来预测对象的位置和大小,对小物体不准确。
- ARM先调整anchor的大小和位置,为ODM提供更好的anchor初始化位置。
- 过滤错误anchor,先把容易分类的错误anchor过滤掉。
-
串联式混合动力系统APU结构设计
2020-10-22 06:52:56本研究为一辆12m串联式混合动力城市客车开发了一套基于天然气发动机的APU,并优化了APU结构,在发动机和发电机之间增加离合器来保证APU起动的可靠平顺,最后对该APU系统进行了台架和实车试验,验证其性能。 -
Matlab串联/合并结构【含Matlab源码】
2021-02-10 19:16:39CATSTRUCT连接或合并具有不同字段名的结构 X = CATSTRUCT(S1,S2,S3,...)将结构S1,S2,S3 ...合并为一个新结构X。X包含各种 结构中存在的所有字段。例如: A.name = 'Me' ; B.income = 99999 ; X = catstruct...CATSTRUCT连接或合并具有不同字段名的结构
X = CATSTRUCT(S1,S2,S3,...)将结构S1,S2,S3 ...合并为一个新结构X。X包含各种
结构中存在的所有字段 。例如:A.name = 'Me' ;
B.income = 99999 ;
X = catstruct(A,B)
% -> X.name = 'Me' ;
% X.income = 99999 ;如果字段名在结构之间不是唯一的(即,一个以上的结构中存在一个字段名),则仅使用具有该字段的最后一个结构中的值。在这种情况下,字段按字母顺序排序。也会发出警告。
一个例子:
S1.name = 'Me' ;
S2.age = 20 ; S3.age = 30 ; S4.age = 40 ;
S5.honest = false ;
Y = catstruct(S1,S2,S3,S4,S5) % use value from S4输入可以是结构数组。所有结构应具有相同的大小。例如:
C(1).bb = 1 ; C(2).bb = 2 ;
D(1).aa = 3 ; D(2).aa = 4 ;
CD = catstruct(C,D) % CD is a 1x2 structure array with fields bb and aa最后一个输入可以是字符串“ sorted”。在这种情况下,
CATSTRUCT(S1,S2,...,'sorted')将按字母顺序对字段名称进行排序。要对结构A的字段名进行排序,可以使用CATSTRUCT(A,'sorted'),但我建议使用ORDERFIELDS。当没有要串联的内容时,结果将是一个空结构(没有字段的0x0结构数组)。
注意
要串联相似的结构数组,可以使用简单的串联:A = dir('*.mat') ; B = dir('*.m') ; C = [A ; B] ;
-
基于逆变器输出串联拓扑结构的氦氖激光器高压电源
2020-10-24 01:14:33设计了一种逆变器输出串联拓扑结构的氦氖激光器高压电源,并对电压电流双环控制策略进行了讨论。仿真和实验结果表明,该氦氖激光器高压电源满足了激光管点亮和正常工作的要求,并且能够实现自动稳流,在激光管加速... -
高频开关电源能串联吗?串联是否有风险?
2021-02-26 15:54:13不可能并联连接继电器以提供大电流,串联使用两个电容器或两个开关类管子(IGBT,三极管,MOSFET等)不用于串联结构可解决耐压不足的问题。 高频开关电源能串联吗?串联是否有风险? 这样做的原因是,如果您希望... -
电源技术中的串联式混合动力系统APU结构设计
2020-10-23 12:26:48混合动力系统根据结构可以分为串联式、并联式和混联式。串联式混合动力系统发动机与车辆完全机械解耦,其运行工况不受汽车行驶工况的影响,可始终控制在优化的工作区稳定运行,最适合负载频繁变化的城市公交车。 ... -
串联式混合动力系统APU结构设计[图]
2020-10-21 22:32:29本研究为一辆12m串联式混合动力城市客车开发了一套基于天然气发动机的APU,并优化了APU结构,在发动机和发电机之间增加离合器来保证APU起动的可靠平顺,最后对该APU系统进行了台架和实车试验,验证其性能。 -
计算机模拟与X射线小角散射实验数据相结合研究FBP21串联WW结构域的溶液构象
2020-02-12 05:24:32计算机模拟与X射线小角散射实验数据相结合研究FBP21串联WW结构域的溶液构象,彭俊辉,张志勇,包含柔性无序区域的生物大分子的结构解析在结构生物学中一直是一个极具挑战性的问题。通常多结构域蛋白结构域间的柔性对... -
Java数据结构(4)链表——单向链表的串联
2019-10-24 20:00:23Java数据结构(4)链表——单向链表的串联 关于单链表的基本实现与插入节点和删除节点等常用方法,以及单链表反转的栈实现 可查看以下两篇文章: Java数据结构(4) 链表——单向链表 LeetCode-206.反转一个单链表 单向... -
直线加速器,可以使用半圆转向串联,作弓形结构
2019-10-21 20:42:01大体上,加速器有两种,直线、圆形。...结构有点象U形、弓形。这样有什么好处?可以根据需要,不断的串联。 有人说在转向的时候,会损失能量。这没什么奇怪的,现在的圆形加速器照样损失。 ... -
大数据结构(C语言版) 知识点串联.doc
2020-01-20 12:18:25标准 文案 第一章 绪论 逻辑结构线性结构2 线性表3 栈和队列4 数组和广义表5 串和非线性6 树7 图 8 查找 9 排序 存储结构顺序存储链式存储索引存储散列存储 顺序存储和链式存储的优缺点 顺序存储优点存取方式是随机... -
激光二极管抽运四片串联Nd:YAG薄片激光器
2021-02-09 11:05:20针对四薄片串联结构,利用ABCD传输矩阵方法对谐振腔进行优化设计。采用四片Nd:YAG薄片串联,谐振腔采用双凹对称腔,实现了2.15 kW的激光输出,验证了激光二极管(LD)抽运薄片激光器的定标放大能力。 -
两个自适应光学系统串联校正的控制性能分析
2021-02-11 07:03:52分析了这种串联校正方法的控制性能和噪声传递特性,在技术复杂性增加不多的条件下,这种串联结构的整体控制效果比单一系统改善了很多.用实际61单元自适应光学系统上的实验数据进行了仿真,验证了这种方法的有效性. -
分析多级串联模拟电路的可测性设计技术
2021-01-20 03:53:450 引言 集成电路的生产成本以测试开发、测试时间以及测试设备为主。模拟电路一般只占芯片面积的10%左右,测试成本却占总测试成本的...本文从系统结构出发,针对串联结构电路提出一种可测性设计方案,增加较少的I/O口 -
针对多级串联模拟电路的可测性设计技术
2020-08-12 01:48:48针对串联结构的模拟电路提出一种可测性设计结构,该结构大大提高了电路内系统模块的可测试性,减少了需要额外引出的I/ O 数,同时不随内部模块数的增加而增加,并且可以与数字电路的边界扫描技术相兼容,通过在... -
【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构
2018-10-08 14:55:00【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构 从本篇开始,我们将带领大家解读深度学习中的网络的发展 这是深度学习模型解读第一篇,本篇我们将介绍LeNet,AlexNet,VGGNet,它们都是卷积+池化串联的基本... -
一种针对多级串联模拟电路的可测性设计技术
2020-10-23 20:16:36针对串联结构的模拟电路提出一种可测性设计结构,该结构大大提高了电路内系统模块的可测试性,减少了需要额外引出的I/O数,同时不随内部模块数的增加而增加,并且可以与数字电路的边界扫描技术相兼容,通过在... -
模拟技术中的分析多级串联模拟电路的可测性设计技术
2020-10-22 17:37:560 引言 集成电路的生产成本以测试开发、测试时间以及测试设备为主。模拟电路一般只占芯片面积的10%左右,测试成本却占总测试成本的...本文从系统结构出发,针对串联结构电路提出一种可测性设计方案,增加较少的I/O口 -
unix文件系统的索引存储结构怎么转串联存储的方式?
2013-11-19 07:55:41在UNIX的文件系统中,文件的物理存储结构是以索引方式来组织的。如果将存储结构改为串联方式,即在每个数据块的末尾加上一个指向下一个数据块的指针,则文件系统应做哪些修改? -
基于TL431的电动汽车多节串联锂电池模拟器
2021-01-14 02:21:49由于电池是串联结构,所以通常的做法是采用105个独立的直流电源,把它们首尾相联地串起来完成,方法有2个:①市电经过隔离式AC-DC得到12V直流,然后给多个隔离式DC-DC(12V转5V)供电,5V电压再经过可调稳压器 -
模拟技术中的针对多级串联模拟电路的可测性设计技术
2020-11-03 08:08:39针对串联结构的模拟电路提出一种可测性设计结构,该结构大大提高了电路内系统模块的可测试性,减少了需要额外引出的I/ O 数,同时不随内部模块数的增加而增加,并且可以与数字电路的边界扫描技术相兼容,通过在... -
[算法和数据结构入门][Day20]串联所有单词的子串
2020-04-28 16:25:00Day20:串联所有单词的子串 给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,不需要... -
最全面精辟的串联型稳压电路的基本结构与工作原理视频教程
2018-11-21 08:21:00我们从简至繁形象地讲解串联型稳压电路的基本结构与工作。稳压电路为什么需要一个采样电路呢?为什么需要一个基准电压呢?稳压能力是怎么样衡量的呢?转换效率又是怎么样计算的呢? 想学习的话,点击我吧! 转载... -
电路串联和并联图解_雷克萨斯NX300h混合动力系统组成结构图解
2021-01-07 16:49:21与车型品牌无关,对于混合动力,纯电动汽车而言,主要总成结构都是异曲同工,只要一定的时间学习,大家会发现,混合动力控制中的电力驱动部分,纯电驱动系统,远比发动机,变速器系统简单的多。和大家一起分享学习,... -
数据结构算法操作试题(C++/Python)——串联所有单词的子串
2019-03-12 22:26:24数据结构算法操作试题(C++/Python):数据结构算法操作试题(C++/Python)——目录 1. 题目 leetcode 链接:https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words/ 2. 解答 python:244ms, ...
-
mybatis的mapper类报错Error:(60,54) java: 找不到符号
-
MySQL Router 实现高可用、负载均衡、读写分离
-
CC攻击常见类型集合
-
164. 最大间距
-
use-inline-memo::atom_symbol:React挂钩,用于在组件中的任何位置内联记录值-源码
-
MySQL 性能优化(思路拓展及实操)
-
latex中的数学公式排版速度入门
-
C++函数笔记
-
c++学习-基础-类的构造函数
-
ttf_test5233.zip
-
通过PyQt5+PyQtWebEngine+pyecharts建立自己的收入支出记账软件
-
webbanhanghub:Web ban挂起字体结束-源码
-
inPixio Photo Studio 11(图片编辑软件)官方正式版V11.0.7709.20526 | 超好用的图片编辑器
-
python Flask+scrapy+人工智能 实现高性能搜索引擎
-
JVM虚拟机
-
结合强度和相干信息的多阈值SAR影像变化检测
-
gradle-5.6.4-bin.zip
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
Oracle_11g_Linux到Linux_DataGuard部署
-
DigiCert SSL证书过期了怎么办