Linux条件变量
Linux条件变量
相关函数
12345678#include <pthread.h>pthread_cond_t cond = PTHREAD_COND_INITIALIZER;int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);int pthread_cond_signal(pthread_cond_t *cond);int pthread_cond_broadcast(pthread_cond_t *cond);int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime);int pthread_cond_destroy(pthread_cond_t *cond);
具体说明
条件变量是一种同 ...
融合总结
融合总结
在3D对象检测这块有以下几种方法:
lidar-only:
基于投影的projection-based:FVNet
基于体素的voxel-based:VoxelNet --> SECOND --> PointPillars --> fast pointrcnn
基于点云的point-based:PointNet --> PointNet++ -->PointCNN --> PointRCNN
point-voxel:这种是将上述两种进行融合,通过两级神经网络来实现。在第一阶段利用体素对原始点云进行粗略定位与估计边界,第二阶段通过pointnet优化边界
3D-SSD:一种新的网络,不需要上述的两阶段融合,直接通过构建一个单阶段的无锚神经网络从候选的三维ROI中回归出物体的三维边界
image-only:
Pseudo-LiDAR
Stereo R-CNN
MULTI-SENSOR FUSION:
MV3D、AVOD:使用现成的2D特征提取器从图像和点云的多维视图(鸟瞰图BEV、正视图等)中获得特征图,再通过求和或串联操 ...
conda常用命令
conda常用命令
conda 可以安装数据、图片、Notebook 等,还可以管理 Python 包,和 Anaconda Navigator 功能类似。 conda安装包时,dependency 包也会一起自动安装。
查看版本
12conda -Vconda --version
配置
12345678910# 显示所有配置conda config --show# 显示具体配置conda config --show channels# 添加conda config --add channels XXX# 设置conda config --set show_channel_urls yes# 删除conda config --remove channels XXX
安装包
12conda install *conda install attrs=17.3
这表示安装MAJOR = 17 和 MINOR = 3 的最新 PATCH 的版本
注意:有些包默认不是安装最新的,此时会有一些依赖问题(老板本包不兼容现在的一些新的包),所以最好用指定版本
1conda install ...
lidar摄像头融合
A novel approach for fusing LIDAR and visual camera images in unstructured environment
B. Yohannan and D. A. Chandy, “A novel approach for fusing LIDAR and visual camera images in unstructured environment,” 2017 4th International Conference on Advanced Computing and Communication Systems (ICACCS), Coimbatore, India, 2017, pp. 1-5, doi: 10.1109/ICACCS.2017.8014604.
Abstract: Image fusion is the process of merging all similar information from two or more images into a single image. The aim is to ...
C++设计模式
C++设计模式
单例模式
懒汉版(Lazy Singleton):单例实例在第一次被使用时才进行初始化,这叫做延迟初始化。
C++11规定了local static在多线程条件下的初始化行为,要求编译器保证了内部静态变量的线程安全性。这样,只有当第一次访问getInstance()方法时才创建实例。这种方法也被称为Meyers’ Singleton。C++0x之后该实现是线程安全的,C++0x之前仍需加锁。
1234567891011121314class Singleton{private: Singleton() { }; ~Singleton() { }; Singleton(const Singleton&); Singleton& operator=(const Singleton&);public: static Singleton& getInstance() { static Singleton instance; return instance; } ...
乐视深度相机使用指南
乐视深度相机使用指南
本文使用的是乐视的三合一体感摄像头,型号为LeTMC-520,本质上就是Astra Pro摄像头,官方提供两种SDK:
Astra SDK:用于提供包含骨架识别的SDK包,但是有时间限制(骨架识别为30分钟非商用版本),官方有提供[API指南](Astra SDK: API (orbbec.com.cn))
OpenNI2 SDK:提供基本数据流的SDK包和相关工具
本文所使用的环境是:Astra SDK+Ubuntu20.04+VSC
一、环境搭建
从官网下载Astra SDK,这里选的是Linux版本的,之后通过如下方式(具体可以参考/samples/readme.txt以及/install下的两个脚本)进行安装:
12345678# 解压tar -xzf ../AstraSDK-v2.1.1-24f74b8b15-20200426T012828Z-Ubuntu16.04-x86_64.tar.gzmv AstraSDK-v2.1.1-24f74b8b15-20200426T012828Z-Ubuntu16.04-x86_64 AstraSDK-v2.1 ...
毫米波雷达融合相关论文
毫米波雷达融合相关论文
信息融合分类
信息融合的分类方法有多种,其中较为通用的一种方法是依据信息的抽象层次将其划分为三类,即数据层融合、特征层融合、决策层融合
数据层融合:每个传感器分别对目标进行观测,然后将各传感器的原始数据或者经过简单滤波处理的目标数据传输给融合中心;随后,融合中心对各种传感器的测量数据进行融合处理,提取目标特征,识别目标身份
原始数据损失量较小,细节信息保存较为完整,精度相对较高
数据量较大,需要较多计算资源,实时性差
仅能对同质传感器融合
特征层融合:每个传感器需要对各自的原始数据进行处理,从中提取目标特征,然后再将数据传输给融合中心;随后,融合中心依据各传感器提取的目标特征进行数据关联,并进行目标数据融合与目标身份识别
数据线明显减小,实时性提高
融合中心接收到的信号存在一定损失,融合精度会下降
决策层融合:每个传感器需要对各自的原始数据进行预处理,提取目标特征并进行身份识别,然后再将目标识别的结果传输给融合中心;融合中心只需要对识别的目标进行关联以实现数据融合
损失部分数据,使得融合中心的处理速度更快,实时性更好
鲁棒性较好
...
Linux终端代理
Linux终端代理
一般的代理协议:
socket
http
检测是否处理代理方式:
12curl ip.gscurl https://www.google.com
注意:设置代理后ping命令由于是ICMP协议,所以一般来说是ping不通外网的
设置环境变量
环境变量一般为http_proxy和https_proxy,其内容一般格式为:http://user:password@proxy.server:port/
http:协议名字,一般为http或者socks5
user:password:如果需要密码,这里就填用户名和密码,否则为空
proxy.server:代理地址
port:代理端口号
命令:
12345678# httpexport http_proxy="http://proxyAddress:port"export https_proxy="http://proxyAddress:port"# socketexport http_proxy="socks5://proxyAddress:port"e ...
Linux终端配置
Linux终端配置
Ubuntu默认的终端个人感觉有点难用的,最终换成了zsh,采用ohmyzsh+powerlevel10k
ohmyzsh
参考官方wiki安装:
1234567891011# 1.安装zshsudo apt install zsh# 2.更换默认shell为zsh(更换后需要注销后重新进入shell)chsh -s $(which zsh)# 3.检测是否为zsh,且版本需要>=5.4.2echo $SHELL$SHELL --version# 4.安装ohmyzshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # curl方式sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # wget方式sh -c "$(fetch -o - ...
PlatformIO使用中遇到的坑
PlatformIO使用中遇到的坑
首先,最重要的多翻翻官方文档中心,VSCode上的使用说明主要可以参考VSCode章节
另外一个,除了文档,遇到问题官方的论坛PlatformIO Community也是可以帮忙的,就是除了都英文之外
根据文档中心,PlatformIO大概分为以下三个部分:
PlatformIO IDE:个人理解就是下面两个东西的打包(官方目前提供两个:VSC和CLion上的插件做的IDE)
PlatformIO Core:核心文件,提供CLI(命令行接口)供用户调用,给那种没有使用IDE的人用
PlatformIO Home:由Core提供的一个前端(图形界面,一个网页,所以说VSC在某种程度上就是一个浏览器 :) )
注意:对于PlatformIO IDE来说,只要装上插件,所有东西都会自动设置完毕,不需要重新安装PlatformIO Core
本人早几年就一直在关注PlatformIO IDE(VSCode端插件),但是当时候一直不满意,就放在VSC禁用列表中吃灰,最近捡起来一看,感觉好使多了,但是仍然遇到不少坑,遂总结如下
推荐设置
Platfor ...