自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 slam第四讲

一、解决的问题如前所述,相机的位姿由6个自由度来表示,转换成数学描述就是由旋转矩阵和变换矩阵R,t{R,t}R,t描述,在SLAM中位姿是未知的,我们需要解决形如“什么样的相机位姿最符合当前观测数据”,即一种典型的方式是把它构建成一个优化问题,求解最优的R,t{R,t}R,t,使得误差最小化,即对位姿进行估计和优化。这里之所以引入李群和李代数是因为旋转矩阵自身是带有约束的(正交且行列式为1),它们作为优化变量时会引入额外的约束,使优化变得困难,通过李群和李代数间的转换关系,我们可以把位姿估计变成无约束优化

2022-03-26 16:23:43 281

原创 OCR方法总结

一、two-stage方法1.1 pipeline 检测 + 识别two-stage的方法把检测任务和识别任务独立开,先通过检测任务框出字符块,再通过识别任务识别字符是什么a. 检测CTPN(水平方向)1. 将文本检测任务转化为一连串小尺度文本框的检测2. 引入RNN提升文本检测的效果3. Side-refinement(边界优化),提升文本框边界预测精准度YOLOV3(水平方向)1. 多尺度预测(引入FPN)2. 更好的基础分类网络(darknet-53,类似于ResNet引入残差结

2021-11-11 15:32:36 2702

原创 优秀文章总结

三维点云配准 – ICP 算法原理及推导Reference:https://zhuanlan.zhihu.com/p/104735380YOLO:YOLOv1,YOLOv2,YOLOv3,TinyYOLO,YOLOv4,YOLOv5详解Reference:https://zhuanlan.zhihu.com/p/136382095loss总结Reference:https://zhuanlan.zhihu.com/p/75495999Transformer系列Reference:https:/

2021-05-28 15:18:35 207

原创 Hard Mining方法总结

一、相关概念对于分类来说:正样本:正确分类出的类别对应的样本负样本:不是正样本的所有样本难分正样本(hard positives):错分成负样本的正样本,也可以是训练过程中损失最高的正样本难分负样本(hard negatives):错分成正样本的负样本,也可以是训练过程中损失最高的负样本易分正样本(easy positive):容易正确分类的正样本,该类的概率最高。也可以是训练过程中损失最低的正样本易分负样本(easy negatives):容易正确分类的负样本,该类的概率最高。也可以是训练

2021-05-27 18:09:22 923

原创 FOTS字符检测+识别代码配置

论文:FOTS: Fast Oriented Text Spotting with a Unified Networkcode: https://github.com/jiangxiluning/FOTS.PyTorch一. 版本依赖:python = 3.6.13pytorch = 0.4.0(1.0.0)gcc = 7.3.0二. 配置过程:创建虚拟conda环境python=3.6git clone 代码库conda 安装pytorch=0.4.0编译build.sh文件编

2021-05-25 16:54:50 592 2

原创 Node-waf not found

原链接遇到的问题npm 安装[email protected]的包时报错,提示如下:原因分析node 版本大于0.8以上时node-waf命令就被丢弃了替换为node-gyp解决办法stackflow并未给出完整的解决方法,这里参考了stackflow的思路去解决,具体为:修改对应包的源码再安装下载discount包源码gitclone https://github.com/tj/node-discount.git修改里面packge.json的内容:“node-waf configu

2021-04-25 20:23:56 1828 1

原创 ubuntu18.04安装编译PCL库

执行以下命令等待编译完成即可sudo apt install libpcl-devmkdir buildcd buildcmake ..makesudo make install

2021-03-29 16:33:49 201

原创 Cross Modal Focal Loss for RGBD Face Anti-Spoofing(基于跨模型聚焦损失的RGBD人脸反欺诈)

paper地址简要     自动检测表现攻击的方法对于确保人脸识别技术的可靠使用来说至关重要。现有的大多数文献中的攻击检测(PAD)方法对于未见过的攻击检测泛化性能很差。近年来,为了提高PAD系统的鲁棒性,人们提出了多通道方法。通常,用于多通道方法的数据量是有限的,这限制了这些方法的有效性。在本文中,我们提出了一个新的PAD框架,该框架使用RGB和深度通道和一个新的损失函数进行结合。新的架构使用了两种模式的互补信息,同时减少了过度拟合的影响。本质上说,一个跨模态的焦点损失函数被提出,该函数作为通道置信度

2021-03-18 21:49:20 2003 3

原创 三维重建方法简述

三维重建方法总结在三维重建的发展路线中,SFM方法是其中经典的方法,进一步的随着硬件设备的发展当前的主流重建方法主要是基于RGBD相机的重建,因此这里我们主要对基于单目重建的SFM方法和基于RGBD的重建方法进行阐述一. SFM(struction from Motion)方法Structure From Motion(SFM) 方法解决的是从多幅二维图像序列中估计三维结构,由于图像之间可能是无序的,而且图像数据量大,数据源广而丰富,针对以上特点,出现了三种SFM策略:增量式、层级式和全局式。增

2021-03-16 19:14:31 8015 1

原创 slam第3讲三维空间刚体运动

学习目标三维空间的刚体运动描述方式:旋转矩阵、变换矩阵、四元数、欧拉角Eigen库的矩阵、几何模块的使用方法旋转矩阵三维空间点的描述假设在一个线性空间中,找到了空间中的一组基(e1,e2,e3)(e_1,e_2,e_3)(e1​,e2​,e3​),那么任意向量a⃗\vec{a}a在这组基下就有一个坐标a=[e1e2e3][a1a2a3]=a1e1+a2e2+a3e3 a=\left[\begin{matrix}e_1&e_2&e_3\end{matrix}\right]\

2021-03-07 15:34:13 170

原创 MNN学习

MNN简介MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测MNN应用流程训练在开源框架上基于训练数据训练自己的模型,如TensorFlow、Pytorch等转换将其他训练框架模型转换为MNN模型。MNN当前支持Tensorflow(Lite)、Caffe和ONNX的模型转换。支持的算子推理端侧加载MNN模型进行推理。端侧运行库的编译支持平台:ios、Android、Linux/macOS/Ubuntu 、Windows;同时提供有API接口文档应用实例

2021-02-28 15:47:59 1773

原创 slam1~2初识SLAM

slam解决的问题SLAM是Simultaneous Localization and Maping,即“同时定位与地图构建”。具体指的是搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。一些基础知识有线性方程 Ax=bAx=bAx=b, 若已知A,bA,bA,b,需要求解xxx,该如何求解?这对AAA和bbb有那些要求?当r(A)<r(Ab)r(A)<r(Ab)r(A)<r(Ab)时,方程组无解;当r(A)=r(Ab)=nr(

2021-02-24 16:41:04 163

原创 RGB-D重建之surfelwarp配置总结

官方配置文档:surfelwarp代码库配置参考博客:https://blog.csdn.net/qq_42968061/article/details/112232125注:需要说明的是参考的博客原作者已经写的非常详细,但其中有两步:安装显卡驱动和CUDA的过程可以简化,简化后的配置门槛更低一些,当初爬过按官网配置CUDA的坑,算是比较痛苦的,再次感谢原作者分享~实现的配置:Ubuntu18.04+cuda9.1+cilantro我的硬件:小米笔记本电脑Pro15.6,显卡:GeForce MX2

2021-02-01 15:44:14 1135 16

原创 人脸对比的loss

感谢我的同事@徐桦所作的工作一、主要类型1.1 pairwise系列早期的人脸识别的loss主要是以contrastive loss 和tripletloss为主,但随着数据集的增大,需要复杂的数据对构造策略,否则搜索空间是O(N2{O(N^2}O(N2)和O(N3){O(N^3)}O(N3),效果明显不如softmax系列1.2 Softmax系列softmax with lossLs=−1m∑i=1mlogeWyiTfi+byi∑j=1neWjTfi+bjL_s=-\frac{1}{m}

2021-01-27 20:18:07 405

原创 人脸识别之活体检测

感谢@文礼@柳叶刀@光流 我的同事们所做的工作一、任务目标判断捕捉到的人脸是真实人脸,还是伪造的人脸攻击二、应用场景金融支付、门禁、打卡机等应用场景三、难点攻击源分布过于广泛不同攻击源之间差距不明显使用场景限制检测方法当前开放样本数据不足四、解决方案目前主流的活体解决防范分为配合式和非配合式:配合式活体需要用户根据提示做出相应的动作从而完成判别非配合式活体在用户无感的情况下直接进行活体检测,具有更好的用户体验本文主要针对的是非配合式活体所尝试的解决方法四、定义问题4.

2021-01-25 21:21:08 5410

原创 电商问答场景的图像检索方案

一、业务目标当买家发送一张商品图片时候期望通过算法找到图片所关联的店铺商品url,从而获取包含的属性,进入下一步的处理二、框架流程三、具体步骤3.1 数据库D哈希去重#用D哈希对数据库去重class DHash(object): @staticmethod def calculate_hash(image): """ 计算图片的dHash值 :param image: PIL.Image :return: dHa

2021-01-12 17:32:27 331

原创 人脸实战之关键点检测

这篇应用是我的同事做的一些工作,感谢@张翼翔一、人脸关键点检测的目标人脸关键点检测目标就是自动定位人脸关键区域,之后对人脸进行对齐校正,本质属于人脸识别前的预处理过程二、人脸关键点检测的应用美颜/美妆换脸表情识别三、落地方案3.1 referencePFLD:A Practical Facial Landmark Detector3.2 关键点面临的挑战遮挡,姿态分辨率,亮度表情变化精度与模型大小数据不平衡PFLD是一个多任务的模型同时解决了角度检测和关键点定位,在

2021-01-08 11:46:19 2405 2

原创 人脸实战之遮挡检测

人脸遮挡检测本质上属于人脸质量评价的范畴,在实际应用中为了达到更高的识别率通常需要人脸质量评价做图像质量判断一、二分类问题将遮挡问题定义为二分类问题,即遮挡图像和非遮挡图像,难点在于定义遮挡图像的定义边界。但通常二分类问题会比多分类问题简单;我在torch下训练的基于mobilenetV2的二分类遮挡,在MAFA遮挡数据集上的表现准确率能达到99.8%,测试图片约1700张。二、多分类问题2.1、五官遮挡检测将遮挡问题定义为多分类问题,如五官遮挡检测,同样难点在于遮挡边界,以及遮挡数据。可参考ht

2021-01-07 17:04:43 4809 10

原创 人脸实战之角度检测篇

一、角度的定义三维欧拉角,准确来说应该叫头部姿态,主要分为三个方向:roll、yaw、pitch平面角:主要指Roll方向角二、相关算法2.1 roll方向角的角度回归算法,可参考PCN是一个分阶段任务由粗到精的过程,reference:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1804.06039.pdf作者没有放出训练代码,需要自己实现2.2 欧拉角角度检测一般分为with keypoint和without keypo

2021-01-07 16:32:03 4256

原创 人脸实战之人脸检测篇

一、目标检测目标检测通常分为两大类:通用目标检测,核心是N(目标)+1(背景)分类问题,模型较大,速度较慢,一般达不到CPU real-time特定类别目标检测:人脸检测、行人检测、车辆检测,一般为2分类问题,模型较小,基本要求就是CPU real-time二、人脸检测任务2.1 Face Detection人脸检测的任务就是给定一幅图像,找出图像中的所有人脸位置,通常用一个矩形框来表示,输入为一幅图像img,输出是若干个包含人脸的矩形框位置(x,y,w,h)。人脸检测属于目标检测领域,属于特定类

2021-01-07 15:31:34 2292

原创 pytorch模型定点化记录

定点化的意义深度学习模型往端侧迁移时通常受限于芯片的计算能力,PC端训练的模型是浮点型,而芯片端是整型计算,此时就需要做模型定点化定点化流程第一步:模型转ONNX第二步:ONNX打包量化第三步:PC和芯片端对齐具体如下:1. 模型转ONNX通常芯片厂商会有对应的文档指引,主要关注:支持的最大flops,支持的算子,layer类型,量化的API。1.1 支持的最大flops根据芯片所支持的flops选择合适的移动端模型,如Mobilenet,shuffleNetv2等。flops即加乘运算

2021-01-07 12:35:34 1035

原创 pytorch 模型转onnx提示错误:only one element tensors can be converted to Python scalars

pytorch 模型转onnx提示错误:only one element tensors can be converted to Python scalars版本:pytorch1.1.0原因:pytorch版本bug解决方法:升级版本参考链接:github issue 地址

2020-11-11 16:27:52 280

原创 C++编译:unrecognized command line option ‘-std=c++14’ 错误解决

1、解决的环境版本依赖linux版本:centoscmake版本:3.3.2gcc版本:5.2.0g++版本:5.2.02、具体步骤第一步:升级gcc版本为 5.2.0shell命令//查看当前gcc版本gcc --versiong++ --version//下载对应版本cd /usr/lacal/srcwget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2tar -jxvf gcc-5.2.0.tar.bz2/

2020-09-08 15:09:37 18295 2

原创 vscode通过ssh连接linux以及linux机之间的通信

本篇主要介绍VScode如何通过ssh远程连接服务器第一步:在vscode应用商店安装Remote-ssh插件,如下图(界面上我的已经安装好了)第二步:选择vscode的config文件,如下第三步:配置config文件第四步:ssh连接,输入账号密码登录即可如何免密登录呢:可以通过windows机生成公钥文件,通过公钥文件免密登录。这里介绍下两台机器通过公钥通信的原理:有A,B两天机器,如果A机器要连接B机器,需要A机器生成公钥文件id_rsa.pub,并将公钥

2020-09-04 11:57:42 2177 1

原创 虹软人脸开放平台C++SDK+windows10配置总结

SDK版本:配置环境:win10 64位 +visual studio2015(2019也可)PS:前期尝试用VScode配置没配置成功,由于SDK有UI界面展示,需要MFC库支持,在用VScode配置时一直卡在MFC库上面,查阅微软官方论坛好像说VScode一般用来编辑code,不太支持开发,总之没尝试成功,建议小伙伴直接用visual studio 避免怕坑;同时官方建议版本为visual studio2013+,这里我只尝试了2015和2019都可以第一步:注册虹软视觉平台,下载所需的

2020-09-01 13:08:26 1648 9

原创 关于resnet网络输入图片尺寸任意大小的问题

最近在做图像分类时查阅了一些相关资料发现输入的图片大小并非是固定大小224*224,因此很疑惑,查阅了一些资料发现了以下解答:版本框架:pytorch,模型加载来自torchvision对应链接为:https://discuss.pytorch.org/t/how-can-torchvison-models-deal-with-image-whose-size-is-not-224-224/51077希望对疑惑的小伙伴有所帮助...

2020-08-17 14:47:39 14167

原创 vlfeat0.9.21提取sift特征为空

系统:window10问题:调用sift.process_image片段时保存sift特征文件大小为0字节#提取文件夹#提取文件夹下图像的sift特征for i in range(nbr_images): print(imlist[i], featlist[i]) sift.process_image(imlist[i], featlist[i])原因分析:vlfeat0.9.21版本太高导致部分电脑提取特征为空解决办法:更换版本为vlfeat0.9.20版本,部分电

2020-07-28 16:30:55 762 3

原创 二维数组中的查找

问:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数字不含有该数字,则返回false。1     2      8     92     4      9

2017-08-18 10:21:12 255

原创 sizeof的用法

问:定义一个空的类型,里面没有任何成员变量和成员函数。对该类型求sizeof,得到的结果是多少?答:答案是1问:为什么不是0?答:空类型的实例中不包含任何信息,本来求sizeof应该是0,但是当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。至于占用多少内存,由编译器决定。Visual Studio中每个空类型的实例占用1字节的空间。问:如果在该类型

2017-08-18 08:59:58 256

转载 k-近邻(KNN)算法

一.K-近邻算法(KNN)概述最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象的同时与多个训练对象匹配,导致一个训练对象被分配到了多个类的问题,基于这些问题呢,就产生了KNN。KNN是通过测量不同特征值之间的距离进行分类。它的思

2017-08-17 08:45:20 495

转载 Bag of words模型简介

Bag of words 模型是信息检索领域常用的文档表示方法。在信息检索中,BOW模型假定对于一个文档,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现。也就是说,文档中任意一个位置出现的任何单词,都不受该文档语意影响而独立选择的。例如有如下两个文档:1:Bob likes to play basketball,Ji

2017-08-16 15:10:51 429

原创 图像处理中距离度量方法总结

1.Euclidean DistanceEuclidean Distance(欧氏距离)是一种常用的度量方式,是点和点之间坐标的均方根。通常情况下人们所说到的距离,指的就是欧式距离,它的定义如下:2.Manhattan DistanceManhattan Distance(曼哈顿距离)也称为街区距离,表示对点与点之间在不同维度上的绝对距离的叠加,它的定义如下:3.C

2017-08-16 11:03:24 19015 3

原创 K均值算法

K均值属于比较简单的聚类问题,所谓的聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D分成K个子集,要求每个子集内部的元素之间的相异度尽可能的小,而不同子集的元素相异度尽可能的大。其中每一个子集叫做一个簇。传统K均值的计算过程:1.从D中随机取K个元素,作为K个簇的各自的中心。2.计算剩下的元素到各个中心点的相异度(一般按照欧式距离的远近),将这些元素归

2017-08-16 09:20:54 1794

原创 C++ const面试题和相关的解释

问题:如果函数需要传入一个指针,面试官可能会问是否需要为该指针加上const,把const加在指针不同位置有什么区别;如果写的函数需要传入的参数是一个复杂类型的实例,面试官可能会问传入值参数或者引用参数有什么区别,什么时候需要为传入的引用参数加上const?(1)const是用来声明一个常量的,当你不想让一个值改变时就用const。当const修饰指针时:     int b=100;

2017-08-15 20:02:32 2868

原创 人工智能简介

这里给大家推荐一个博客,希望帮助AI初学者多人工智能有一个轮廓性得了解,博客地址:http://yuzhouwan.com/posts/42737/#%e6%89%8b%e5%86%99%e6%95%b0%e5%ad%97%e8%af%86%e5%88%ab

2017-08-13 10:46:06 324

原创 在阿里云服务器Ubuntu14.04 64位上安装matlab2014a

本人所用的方法属于命令行安装一.下载安装包1.首先下载matlab2014a for linux安装包。由于百度网盘经常失效这里推荐卜居老师的云盘链接(可以到这里下载(http://yunpan.taobao.com/s/ZFLGQjNABU,提取码:dxBxMJ))有兴趣的可以访问其博客地址:http://blog.csdn.net/kkk584520/article/details/4

2017-04-14 12:41:26 4514

空空如也

空空如也

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

TA关注的人

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