自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hali_Botebie的博客

一步一步来(严义雄),闻道有先后,术业有专攻,Github主页:https://hiyx.github.io, 服务器:https://gz.work.abiuni.com,Gitee:https://gitee.com/hiyanyx

  • 博客(677)
  • 收藏
  • 关注

原创 按关键字搜索自己的CSDN博客

搜索自己博客的功能在谷歌输入关键词,格式如下:<要检索的关键词> site:blog.csdn.net/<博客名>马氏距离 site:blog.csdn.net/djfjkj52

2020-02-28 19:38:15 317

原创 扩散模型(Diffusion Models)

扩散模型是一种基于概率论的生成模型,源自物理学中的扩散过程理论(如墨水在水中的扩散)。在机器学习领域,扩散模型通过模拟数据从原始分布到噪声分布的“扩散”过程,并学习其逆过程来从噪声中重构高质量的数据样本。

2024-09-29 14:25:21 177

翻译 MonoDiff : Monocular 3D Object Detection and Pose Estimation with Diffusion Models

由于缺乏 3D 感知导致的不确定性很高,因此从单视图图像进行 3D 物体检测和姿势估计具有挑战性。作为一种解决方案,最近的单目 3D 检测方法利用额外的模态,例如立体图像对和 LiDAR 点云,以额外的注释成本为代价来增强图像特征。我们建议使用扩散模型来学习单目 3D 检测的有效表示,而无需额外的模态或训练数据。我们提出了 MonoDiff,这是一种采用反向扩散过程来估计 3D 边界框和方向的新颖框架。但是,考虑到边界框大小沿不同维度的变化,从标准高斯分布中采样噪声是无效的。

2024-09-29 14:22:26 6

转载 交叉编译小米路由器2(R2D)

编译清单 项目地址:https://github.com/shxxxxxxxxs/shxxxxxxxxs-libev编译环境:ubuntu小米路由器SDK:http://bigota.miwifi.com/xiaoqiang/sdk/tools/package/sdk_package.zip编译工具:make git autoconf libtool编译核心依赖:TLS pcre libsodium libev c-ares。

2024-09-27 14:21:00 53

翻译 【论文】PP-YOLOE: An evolved version of YOLO(12 Dec 2022),在之前的 PP-YOLOv2 的基础上进行了优化

我们在之前的 PP-YOLOv2 的基础上进行了优化,采用了无锚范式,更强大的骨干和颈部配备了 CSPRepResStage、ET-head 和动态标签分配算法 TAL。我们为不同的实践场景提供了 s/m/l/x 模型。

2024-09-20 11:28:00 22

原创 【Head-DETR系列(9)】End-to-End Object Detection with Transformers论文翻译,DETR的主要特点是将二部匹配损失和变压器结合(非自回归)并行译码

将目标检测看作是一个直接的集合预测问题。有效地消除了许多手工设计组件的需要,如非最大抑制程序或锚生成,明确地编码我们关于任务的先验知识。新框架的主要组成部分称为检测变压器(DEtection TRansformer)或DETR,它是一个基于集合的全局损耗,通过二分匹配强制进行独特的预测,以及一个变压器编码器-解码器架构。给定一个固定的小集合的学习对象查询,DETR推理对象和全局图像上下文的关系,直接并行输出最终的预测集。

2024-09-18 11:40:15 794

原创 【Head-DETR系列(8)】Deformable DETR: Deformable Transformers for End-to-End Object Detection

作为【Head-DETR系列】的开篇之作,接下来,我将按照 Transformer–>detr–>deforable detr–>ConditionalDetr—>DABDetr 讲解这个系列。本文致力于通过可变形操作来优化 DETR,DETR模块在处理图像特征图时的局限性,它存在收敛速度慢和特征空间分辨率有限的问题。为了缓解这些问题,我们提出了可变形的DETR,其注意力模块仅关注参考周围的一小部分关键采样点。可变形的DETR可以比DETR (尤其是在小物体上) 获得更好的性能,并且训练时间少10倍。

2024-09-18 11:39:11 398

转载 【Head-DETR系列(8)】Positional Encoding(位置编码)理解

Positional Encoding(位置编码)是Transformer模型中很重要的一个概念。与“RNN”和“LSTM”等顺序算法不同,Transformer 没有内置机制来捕获句子中单词的相对位置。这很重要,因为单词之间的距离提供了关键的上下文信息。这是位置编码介入的地方。其实位置编码不是模型架构的一部分。它实际上只是预处理的一部分。生成的位置编码向量与每个词的嵌入向量大小维度相同。经过计算,位置编码向量被添加到嵌入向量中。

2024-09-18 11:38:34 30

原创 【Head-DETR系列(7)】DETR 代码分析

在nuscens数据集上,

2024-09-18 11:36:05 922

原创 【Head-DETR系列(5)】DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

我们介绍了一种用于多相机3D目标检测的框架。现有方法一般直接从单目图像估计3D包络框,或使用深度预测网络从2D信息生成3D目标检测任务的输入,而我们的方法直接在3D空间中进行预测。我们的模型从多张相机图像中提取2D特征,然后使用一组稀疏的3D目标查询来索引这些2D特征,使用相机变换矩阵来建立3D位置和多视图像之间的联系。最后,我们的模型对每个目标查询预测一个包络框,使用一个set-to-set的损失来衡量预测结果和真值之间的差异。

2024-09-18 11:34:53 1025

翻译 【Head-DETR系列(4)】【CVPR2024】DETRs Beat YOLOs on Real-time Object Detection

YOLO 系列因其在速度和准确度之间的合理权衡而成为最受欢迎的实时物体检测框架。然而,我们观察到 YOLO 的速度和准确度受到 NMS 的负面影响。最近,基于 Transformer 的端到端检测器 (DETR) 提供了一种消除 NMS 的替代方案。然而,高计算成本限制了它们的实用性,阻碍了它们充分利用排除 NMS 的优势。在本文中,我们提出了实时检测变换器 (RT-DETR),这是我们所知的第一个解决上述困境的实时端到端物体检测器。我们借鉴先进的 DETR 分两步构建 RT-DETR:首先我们专注于在。

2024-09-18 11:31:30 35

原创 【相机方案(2)】V4L2 支持相机图像直接进入GPU内存吗?DeepStream 确实可以将图像数据高效地放入GPU内存进行处理!

V4L2(Video4Linux Two)是Linux内核中用于视频捕获和播放的API,它本身并不直接支持将相机捕获的图像数据直接拷贝到GPU内存而不经过CPU内存。V4L2主要关注于视频设备的控制、数据的捕获和播放,以及数据在内核空间和用户空间之间的传输。然而,在Linux系统中,确实存在技术路径可以使得相机捕获的图像数据尽可能快地传输到GPU内存中进行处理,但这通常涉及多个组件和技术的协同工作,而不仅仅是V4L2本身。DMA是一种允许硬件子系统直接访问主内存而无需CPU介入的技术。

2024-09-13 15:56:42 1110

原创 【jetson交叉编译(7)】问题笔记:/libpthread.a 对‘__aarch64_cas4_acq’未定义的引用

如果你正在使用静态链接库(如你提到的 libpthread.a),尝试改用动态链接库(如 libpthread.so)。动态链接库通常包含更多的运行时支持,包括这些原子操作的实现。

2024-09-10 08:43:13 143

原创 【C++学习(29)】C++中使用Boost库来注册和调用回调函数的一个例子

在C++中,使用Boost库,来和,特别是在多线程环境中。这是一些零碎的笔记,仅供参考。

2024-09-06 16:16:52 815

原创 【C++学习(28)】通俗一点讲解:std::bind 回调技术

std::bind允许你预先设置函数的某些参数,从而得到一个新的函数(或可调用对象),这个新的函数只需要你提供剩下的参数。这在回调函数和异步编程中特别有用,因为你可能希望预先决定某些参数的值,而让其他参数在稍后的某个时间点被提供。

2024-09-06 16:13:55 203

原创 【OpenWrt(5)】Linksys E8450的BL2、uboot刷写和最新的BL2补丁

背景知识:一般我们打包 initramfs 镜像,在 NAND 闪存中永久安装替换镜像。其中ARM TrustedFirmware-A(TF-A)是一款轻量级的开源固件,用于为ARMv8-A SoC平台提供安全启动和运行时环境。它由ARM公司和全球范围内的合作伙伴共同开发和维护,以支持ARMv8-A SoC平台的安全引导和操作,。在TF-A的加载流程中,BL1(通常是Boot ROM,固化在芯片内部)首先执行,完成基本的硬件初始化和跳转到BL2。

2024-09-04 14:38:29 881

原创 【OpenWrt(4)】Linksys E8450的默认供应商闪存布局(又名“非 UBI”)需要替换为UBI格式,然刷写recovery (initramfs) image,以及如何恢复原厂镜像

新的SPI-NAND驱动程序可能不再支持包含ECC错误的默认闪存布局,因为这类错误可能会干扰数据的正确读取和写入,从而影响系统的稳定性和性能。由于 SPI Flash 的布局和管理并不十分有利,使用该设备的最佳方式是更换引导加载程序并将设备的闪存布局转换为 UBI,而不是尝试与供应商固件保持兼容,由于 SPI Flash 的布局和管理并不十分有利,使用该设备的最佳方式是更换引导加载程序并将设备的闪存布局转换为 UBI,而不是尝试与供应商固件保持兼容,在这种情况下,下载设备固件的非 UBI 变体。

2024-09-04 14:38:12 1019

原创 【OpenWrt(3)】内网搭建iperf3测速服务器

网站:https://iperf.fr/iperf-download.phpWindow地址:https://github.com/ar51an/iperf3-win-builds安卓:https://gitee.com/hiyanyx/magic-i-perf。

2024-09-03 11:27:29 674

原创 【OpenWrt(2)】编译OpenWrt 的SDK,以linksys e8450 的MT7622 CPU为例

页面:https://mirror-03.infra.openwrt.org/releases/23.05.4/targets/mediatek/mt7622/如果在安装过程中,出现类似缺失部分依赖造成的安装失败,可以根据缺失的名称,尝试在编译服务器的 openwrt-sdk目录/bin 下的各文件夹中查找。编译生成的xxx ipk文件位于:openwrt-sdk目录/bin/packages/你的cpu架构/base/根据你路由器的CPU架构,到OpenWrt官网找到对应的SDK链接,下载至服务器。

2024-09-03 10:40:24 493

原创 【Pytorch】Linear 层,举例:相机参数和Instance Feaure通过Linear层生成Group Weights

这里,我们假设你想通过一些线性层(Linear Layers)利用相机参数和实例特征来生成组权重(Group Weights),这些权重可能用于后续的聚类、分组或加权聚合等操作。,它接收相机参数和实例特征作为输入,将它们拼接后通过两个线性层处理,最后通过softmax激活函数生成归一化的组权重。注意,这只是一个示例,实际应用中可能需要调整网络结构、特征处理方式和激活函数等。每个连接都有一个权重和一个偏置。这里提供一个简化的PyTorch示例,展示如何结合相机参数和实例特征,并通过线性层生成组权重。

2024-08-28 09:01:34 562

原创 【cmake开发(15)】交叉编译时如何设置CMAKE_SYSROOT和CMAKE_FIND_ROOT_PATH

在交叉编译场景中,正确设置和以确保 CMake 能够正确地找到 ARM 架构的库、头文件和其他系统文件。应该设置为你的 ARM 文件系统根目录,即。这个变量会告诉编译器和链接器在查找标准库和系统文件时使用这个目录作为根目录。用于为 CMake 的find_系列命令(如find_path等)添加额外的搜索路径前缀。如果你有一些特定的库或头文件不在 ARM 文件系统的标准位置,或者你想要在除了之外的额外目录中搜索,你可以将那些目录添加到中。

2024-08-22 11:09:09 923

原创 您想要通过Ubuntu系统的USB接口(假设该USB接口被识别为网络接口usb0)来共享网络给通过hostapd创建的WiFi热点(假设您的WiFi接口是wlan0)

您的主要任务是确保usb0能够连接到互联网,然后配置NAT以允许wlan0上的设备通过usb0访问这个连接。hostapd和dnsmasq的配置主要是用于WiFi热点和DHCP服务的,而实际的网络连接和转发则需要通过IP转发和iptables来管理。如果您的usb0实际上是一个不支持桥接的移动宽带设备,您可能需要使用如pppd(对于PPP连接)或其他特定的工具来管理它的网络连接。

2024-08-22 11:04:00 393

原创 【YOLO家族】Scaled-YOLOv4, Optimal Speed and Accuracy of Object Detection,CVPR 2021

YOLOv4在使用YOLO Loss的基础上,使用了新的backbone,并且集成了很多新的优化方法及模型策略,如Mosaic,PANet,CmBN,SAT训练,CIoU loss,Mish激活函数,label smoothing等等。可谓集SoAT之大成,也实现了很好的检测精度和速度。softplusxlog⁡1exsoftplusxlog1ex这个函数可以看作是ReLU(Rectified Linear Unit,修正线性单元)函数的平滑版本。

2024-08-22 11:01:30 977

原创 【jetson交叉编译(6)】orin ubuntu的库安装,通过apt下载deb 库,然后的解压到具体位置/opt/test/3rd

这些工具通常在大多数 Ubuntu 系统中已经安装。文件解压缩并提取其内容。你可以将提取的内容移动到。在进行解压之前,确保目标目录。完成操作后,可以删除临时目录。包中的内容解压并放置到。解压后,文件会被提取到。

2024-08-22 11:00:56 408

原创 【jetson交叉编译(5)】如何将apt安装的库复制出来?

将apt将apt安装的库复制出来安装的库复制出来,通常指的是将apt-get命令,通常指的是将apt-get命令安装的软件包及其相关文件从系统中提取出来,以便在其他系统或环境中安装的软件包及其相关文件从系统中提取出来,以便在其他系统或环境中使用。使用。

2024-08-22 11:00:19 560

原创 【jetson交叉编译(2)】jetson orin 交叉编译报错: /lib/ld-linux-aarch64.so.1: No such file or directory

按照之前博客的方案2准备了环境

2024-08-22 10:31:43 395

原创 【jetson交叉编译(1)】nvidia jetson 系列开发板交叉编译方法,CUDA依赖程序

这个时候就需要进入aarch64 ubuntu环境安装对应的库,并将安装后的头文件,库文件拷贝到/usr/aarch64-linux-gnu/lib目录下(或/usr/aarch64-linux-gnu/usr/lib,用于将后面拷贝的和原始带的库进行区分),头文件放到/usr/aarch64-linux-gnu/include/中。打包已经正常运行的xavier系统的根文件系统,制作docker镜像,可以免去一些软件的安装,直接就可以进行应用程序的编译。已经正常运行的jetson 系统上打包根文件系统。

2024-08-19 16:40:07 959

原创 【论文】CSPNet,A New Backbone that can Enhance Learning Capability of CNN,Cross Stage Partial其减少计算量并增强梯度

偶然发现,csp的yolov4 的检测性能还挺好,激发了兴趣。

2024-08-16 11:15:46 153

原创 【MQTT(4)】开发一个客户端,QT-Android安卓手机版本,Mosquitto替换成libhv库

我们采用 libhv是一个类似于libevent、libev、libuv的跨平台网络库,提供了更易用的接口和更丰富的协议。

2024-07-26 17:15:53 380

原创 【MQTT(5)】php 做一个mqtt按钮,发布触发信号

在之前博客中加了一个按钮,触发物联网设备返回数据。基于mqtt开发,如果想知道mqtt如何搭建,可以看我的博客。

2024-07-24 11:05:30 546

原创 【MQTT(2)】开发一个客户端,ubuntu版本

基本流程如下,先生成Mosquitto的库,然后qt调用库进行开发界面。

2024-07-22 14:03:30 415

原创 【MQTT(3)】开发一个客户端,QT-Android安卓手机版本

手机版本更加方便。

2024-07-18 16:31:06 1087

原创 【QT开发(19)】2023-QT 5.14.2实现Android开发,使用新版SDK,试图支持 emulator -avd 虚拟机

SDK 工具版本说明用 sdk manager 命令行版本(command line) 获取SDK。截至2023年10月,sdk有Ui界面的是过时信息,过时的sdk的虚拟机是32位的,因此无法使用,需要安装最新版本sdk tools。去android官网下载从QT的官方信息来看,用sdk manager安装 SDKlatest"To use thev4"

2024-07-18 14:08:01 998

原创 【MQTT(1)】服务端的搭建

最近需要做一个车载的远程数据采集。首先有个触发的信号,然后车端数据保存后回传到NFS服务器,因此需要做一个触发信号,于是想打了MQTT作为桥梁。MQTT 可选择的开源软件很多。在连接设备数量小于10台的情况下,选择MQTT服务器时,可以优先考虑那些轻量级、易于部署和使用的开源软件 Eclipse Mosquitto开干!!

2024-07-18 13:01:50 313

原创 大模型时代,事实性的知识可以自己去检索,个人积累的技术经验变得一无是处,创新知识的探索更加重要

这个时代,知识泛滥,但是知识也分为几种。事实性的知识可以自己去检索,个人积累的技术经验变得一无是处,创新知识的探索更加重要。这是有感然而,遇到很多技术问题,大模型做的很好;也是因为最近在写“生成式人工智能在细分领域的问题和规制”的论文,今天抽空想说一下一些理解。

2024-06-29 11:57:42 718

原创 【MLP-BEV(7)】深度的计算。针孔相机和鱼眼相机对于深度depth的采样一个是均匀采样,一个是最大深度均匀采样

这两行代码的目的是根据相机的焦距和某个比例因子来调整深度图的值。这在计算机视觉和3D重建等任务中是很常见的操作。鱼眼相机镜头对光线有折射作用,以此获得更大的可视范围,越靠近边缘区域,折射率越大,生成的图片畸变程度越大。真空相机可以对于深度depth的采样一个是均匀采样,鱼眼来说,一个是最大深度均匀采样合适。针孔相机和鱼眼相机的投影模型和畸变模型不一样,如果对鱼眼的模型不太了解可以到我的这篇博客。的Tensor,其中包含了逆相机内参矩阵的集合,每个矩阵的。的Tensor,其中包含了每个像素的深度值。

2024-06-27 17:30:55 1233 2

原创 opencv 打开图片后,cv::mat存入共享内存的代码,实现消费者与生产者模型。XSI信号量和POSIX 信号量

有名信号量其实是一个文件,它的名字由类似 " sem.[信号量名字] " 这样的字符串组成,注意看文件名前面有" sem. ", 它是一个特殊的信号量文件,在创建成功之后,系统会将其放置在 /dev/shm 路径下,不同的进程间只要约定好一个相同的信号量文件名字,就可以访问到对应的有名信号量,并且借助信号量来进行同步或者互斥操作,需要注意的是,有名信号量是一个文件,在进程退出之后它们并不会自动消失,而需要手动删除并释放资源。通常一个信号量的计数值用于对应有效的资源数, 表示剩下的可被占用的互斥资源数。

2024-06-20 19:04:35 1111

原创 opencv 打开图片后,cv::mat存入共享内存的代码,如何设置队列?

这个循环的缓冲器好像也能实现我们的需求。

2024-06-20 19:03:56 618

原创 把STL容器放入共享内存,重用STL allocator,传入模板参数Allocator,可以实现

基于共享内存的STL Allocator,shared_allocator.hh 是一个STL Allocator的实现,SharedAllocator 是一个模板类。而 Pool 类完成共享内存的分配与回收。

2024-06-20 19:03:07 768

原创 php 做一个文件下载服务器,得避免跨路径工具,安全很重要

/ 开启输出缓冲// 设置文件目录// 检查目录是否存在且可读// 获取目录下的文件列表// 遍历文件列表,排除.和..if ($file!= '..') {// 构造Nginx内部位置的URL// 输出下载链接,点击时PHP将设置X-Accel-Redirect头部} else {// 检查是否有下载请求// 获取要下载的文件名echo $file;// 验证文件名,防止目录遍历等攻击。

2024-06-20 15:38:05 541

翻译把STL容器放入共享内存

把STL容器放入共享内存 假设进程A在共享内存中放入了数个容器,进程B如何找到这些容器呢? 进程A先在共享内存某块确定地址上放置一个map容器,然后进程A再创建其他容器,然后给其取个名字和地址一并保存到这个map容器里。 进程B知道如何获取该保存了地址映射的map容器,然后同样再根据名字取得其他容器的地址。清单container_factory.hh是一个容器工厂类。 类Pool的方法setContainer把map容器放置在一个已知地址上,方法getContainer可以重新获取这个map。 该工厂的方法用来在共享内存中创建、获取和删除容器。

2024-06-20

空空如也

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

TA关注的人

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