Visual Place Recognition via HMM Filter and Smoother
Visual Place Recognition via HMM Filter and Smoother
Abstract—Visual position recognition affects the safety and accuracy of automatic driving. To accurately identify the location, this paper studies a visual place recognition algorithm based on HMM filter and HMM smoother. Firstly, we constructed the traffic situations in Canberra city. Then the mathematical models of the HMM filter and HMM smoother were performed. Finally, the vehicle position was predicted based on the algorithms. Experiment ...
EasyMVS -- A Simple Multi-View Stereo lib
EasyMVS: A Simple Multi-View Stereo libEasyMVS is a simple SFM(Structure From Motion) and MVS(Multi-View Stereo) project, which aims to perform 3D reconstruction tasks quickly and concisely with existing algorithms for Monocular, Stereo, RGBD cameras. This project currently supports OpenCV pinhole cameras but can be easily extended to other types of cameras, such as fish-eye cameras.
overview of the EasyMVS 3D reconstruction pipeline
THIS PROJECT IS NOT FINISHED YET, CANNOT ACHIEVE DESIRED ...
Python 软件注册信息生成器
软件注册信息生成器
最近一个项目由于需要防止在多台电脑上使用,也为了防止用户无限期使用,于是简单做了一个注册器。由于用户电脑不能联网,因此就不能做联网验证,所以其实用户也很容易破解。
开源地址: 点击这里
使用说明
使用前请使用pip install pycryptodome命令按照软件包
使用DecryptModule.py模块进行解密运算,该模块运行在用户的计算机中。
使用EncryptModule.py 进行加密运算,该模块仅需运行在LICENSE管理员的计算机中。
LICENSE签发过程
首先生成加密解密用的密钥对,命令如下:
123python3 ./EncryptModule.py -k LICENSE#将得到 LICENSE-Decrypt.key 和 LICENSE-Encrypy.key 两个文件,分别用于解密和加密
第二步根据用户机器的唯一识别码,过期时间,和加密密钥产生LICENSE文件,命令如下:
1234567891011python ./EncryptModule.py -g Input Private Key File Name:LICEN ...
安装黑苹果并启用secure boot
在ASUS ROG枪神3上安装黑苹果并启用secure boot
最近瞎折腾黑苹果,其实装黑苹果现在倒是挺简单,去 ~~~gayhub~~~ github上找EFI,再去找个系统镜像,并做个启动盘,改下EFI就差不多行了。如果实在有搞不定的硬件,现在有各种渠道找人来远程做一下也挺方便。但是我发现有关secure boot的资料太少了,而且这些方法我用着都或多或少有问题,没法完全成功,因此在这里记录一下我安装的步骤,也算是提供一种不同的解决方案吧。
安装黑苹果安装过程网上资料很多,这里简单记录一些注意事项和安装工具。
注意Windows如果开启了bitlocker请一定要找到还原密钥再进行操作,不然会导致bitlocker被锁住!!!
注意安装前需要在bios中关闭secure boot
Mac硬盘刻录工具transmac,下载地址:https://www.acutesystems.com/scrtm.htm 有15天试用期,不需要破解,反正就用一下,下次要用重新安装一下就好,本人极度鄙视破解软件等盗窃知识产权的行为!
黑果小兵的博客,https://blog.daliansk ...
使用VSCode开发Cortex-M系列芯片
使用VSCode开发Cortex-M系列芯片
最近实在是受不了那些基于eclipse的IDE来开发arm了,界面太丑,而且自动补全功能不好用,于是准备使用vscode加上一系列的开源工具链来开发。其实也可以使用VisualGDB+Visual Studio来开发,但是我觉得还是太重了。
2023/08/12更新,现在ST官方推出了vscode的插件了,可以直接开发STM32了,具体内容详见文末更新章节
使用的工具
Visual Studio Code
Cmake
GNU Arm Embedded Toolchain
OpenOCD
Cmake tool(VSC的插件)
Cortex-Debug(VSC的插件)
硬件介绍这里我使用的是NXP的FRDM-KL02Z开发板,这个开发板使用板载的OpenSDA调试器来调试,自带的OpenSDA支持三种调试接口,分别是PEMicro,CMSIS-DAP,JLink。此外,它还支持将bin文件直接拖拽进虚拟出来的储存设备的方式来下载程序。使用不同的调试接口需要给OpenSDA刷入不同的固件,关于固件的详细信息可以参考NX ...
Docker for Windows 使用初探
一直以来都听说docker功能十分强大,最近闲来无事终于稍微研究了一下,确实是一个强大的工具。昨晚利用docker部署了一个webdav服务器,几分钟就弄好了,如果使用传统方法我可能甚至会搞一晚上,还容易把系统搞的一地鸡毛。利用docker可以做到开箱即用,非常方便。
docker架构Docker 包括三个基本概念:
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。
容器与镜像的关系类似于面向对象编程中的对象与类。
docker
面向对象
容器
对象
镜像
类
以下是docker for Windows的大致结构图,对用户来说 ...
基于Swerling目标模型的雷达信号检测
雷达散射截面积(RCS)是表征雷达散射雷达信号强弱的物理量,随着雷达入射角的改变而起伏变化,起伏的RCS导致雷达检测概率、链路损耗均发生改变,为了准确地表述RCS的起伏特性,人们建立了RCS分布的统计模型,最为典型的是非起伏模型和Swerling起伏模型。
设计任务和要求产生不同类型的目标模型数据,按照虚警概率要求,对不同信噪比时的检测性能进行仿真,并分析仿真结果,给出结论。设雷达为平方律检波,检波后进行10个脉冲的非相参积累然后进行信号检测。要求产生Swerling0~IV型目标信号,设噪声为高斯白噪声,要求对信噪比SNR在[-10dB:1dB:10dB]变化范围内分别进行至少$ {10}^5 $次蒙特卡洛仿真,虚警概率为$ {10}^{-6} $。根据仿真结果画出检测性能曲线(横坐标为SNR,信噪比按照1dB为步长而变化,纵坐标为检测概率Pd)。
5类Swerling模型
Swerling0型:非起伏目标,雷达截面积$ \sigma $ 是个固定值。
SwerlingI型:目标回波幅度在一次扫描内恒定,在扫描与扫描间独立,称为慢起伏目标。回波服从瑞利分布。
Swerling ...
FPGA函数发生器设计
FPGA函数发生器设计
随着现在工业和科技的不断提高,传统的三极管等分离元件式模拟信号发生器频率稳定性低、可靠性差的特点,已经不可能满足实际应用的需要,所以就必须制作频率稳定性、精确度更高的信号发生器解决这些问题。传统的信号发生器技术对科学的发展带来了很多,而且随着集成电路技术和数字信号处理的发展,直接数字频率合成技术(DDS)已开始被广泛的用于信号发生器的发生和制作当中。
基于现场可编程门阵列器件的高速、高可靠性和现场可编程等优点,本技术已开始广泛应用于数字集成电路设计、数字信号处理、通信等不同的科技领域。利用直接数字频率合成技术FPGA设计的函数信号发生器具有以下优点:
输出相位噪声低;
频率切换速度快;
可以产生任意波形;
全数字化实现,便于集成,体积小,重量轻;
灵活的接口和控制方式;
比专用芯片功耗也低
工程源码转到github
工作原理DDS(direct digital synthesizer)是在一组存储器单元中按照信号波形数据点的 输出次序存储了将要输出波形的数据,在控制电路的协调控制下,以一定的速率,周而 复始地将波形数据依次发送给 D/A 转换 ...
简易图像拼接原理初探
简易图像拼接原理初探
今天突然高产,一天写了两篇博客,可能是博客修好之后有些激动吧。废话不多说,进入正题图像拼接。
首先放一张效果图:
这张图是两张图拼接而成,看看能找到拼接缝吗
图像拼接整体思路整个图像拼接过程首先读入图像后使用fast检测算法识别图像中的特征点,然后计算特征点的向量获取到一个128位长的向量,随后通过对所有向量的逐个匹配计算出匹配的特征点并挑选出距离最短的前N个点作为最佳匹配点,以上识别过程就结束。接下来进行拼接过程,通过计算最佳匹配点可以获取到仿射变换矩阵,利用仿射变换矩阵可以计算出仿射变换后图像的顶点以及图像本身。之后将仿射变换后的图像和另一张待拼接的图像拼接起来即可,拼接后的拼接缝处理利用重叠区域加权平均的思想来处理。以下是整个图像拼接的流程图:
123456789101112131415161718st=>start: 开始in=>inputoutput: 采集图像fast=>operation: fast算法获取特征点vector=>operation: 计算特征向量match=>operation: 计算匹配点best= ...
简易语音辨识原理初探
简易语音辨识原理初探
很久没有写博客了,最近博客还因为各种原因故障了,反正现在修好了,不管了凑合用吧。最近学习了语音识别相关的一些知识,就在这里简单记录以下学习过程吧。
流程简介识别任何一个东西流程基本都是先获取这个东西的特征,之后再根据它的特征来判断这个东西的类别,语音识别也不例外。整个识别过程首先进行语音信号的采集,采集到语音信号之后获取信号的mfcc(Mel频率倒谱系数)参数,也就是语音信号的特征。随后采集到特征之后与和预先存入的语音模板进行匹配,也就是根据特征判断类别,匹配过程使用dtw(动态时间归整)算法。整个方案流程图如下:
1234567st=>start: 开始input=>inputoutput: 采集语音信号mfcc=>operation: 获取mfcc参数dtw=>operation: dtw算法进行模板匹配out=>inputoutput: 输出匹配的结果e=>end: 结束st->input->mfcc->dtw->out->e
其实核心就两部分
mfcc参数提取
dtw模板匹配
mfc ...