- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 Yolov11的空标注负样本技术在模型训练中的应用
在训练时,每个批次中可能包含正样本(有目标)和负样本(无目标)。对于负样本,损失函数计算时,定位损失和分类损失都不考虑(因为没有真实框),但是会计算置信度损失,因为模型应该预测这些区域没有目标(即置信度接近0)。空标注负样本技术就是对图像进行先标注一个类型,保存成xml文件后,然后再对标注的类型进行删除,形成一个没有目标的xml的文件,告诉系统这张图像就是一个纯背景,这对消除检测误报具有重大意义。包含正负样本的训练集和验证集训练得到模型pt,并分别对部分正负样本测试,可对正负样本的效果进行验证。
2025-12-04 07:15:33
373
原创 海康网络摄像头及工业相机的QT图像获取方法
即可一利用海康的SDK进行获取图像进行处理,也可以利用RTSP拉流的方式获取图像,利用海康的SDK开发的实时性一般高于基于FFMPEG的RTSP拉流方式。基于FFMPEG的RTSP拉流方式更通用一些,为此我们推荐采用海康的SDK进行二次开发。海康SDK 64位下载地址: https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?注意:还用要用获取的图像进行深度学习推理时,要注意利用海康的MSV软件将图像数据设置为。
2025-11-27 21:24:05
173
原创 Node.js+Vue的学习笔记
导入http模块 (用来创建web服务器的模块) const http=require('http')总之:Node.js是大前端时代的“大宝剑“,有了Node.js这个超级buff的加持,前端程序员的行业竞争力会越来越强!Vue 负责“看得见的”前端展示和交互,Node.js 负责“看不见的”后端逻辑和数据服务。2)Node.js是JavaScript的后端运行环境;1)使用“上行箭头”,可以快速定位到上一次执行的命令;1)浏览器是JavaScript的前端运行环境;
2025-11-15 22:11:22
531
原创 前端vue的开发流程
2)运行安装程序,基本按照默认选项安装即可。1.安装 Node.js 与 NPM。一、前端Vue环境配置。安装包,如下图所示。
2025-10-27 11:11:00
243
原创 手眼协调的运动物体抓取------具身智能机器人的感知-决策- 执行-监督的技术闭环
基于神经符号的具身智能机器人通过感知、决策、执行和监督四个关键环节构建起技术闭环,从而实现高效、智能的任务执行。监督模块的主要任务是实时监测感知、决策和执行三个环节的运行状态,评估系统的整体性能,并根据需要进行调整和优化。基于神经符号的决策系统结合了神经网络的深度学习能力和符号系统的逻辑推理能力,能够处理复杂的任务逻辑和动态环境变化。是三者协同的最终“成果”。这四个技术环节紧密耦合,共同构成了一个能够适应动态环境、完成复杂任务的智能机器人系统,是工业自动化、智能仓储、服务机器人等领域的核心技术。
2025-10-20 22:53:30
355
原创 Windows10下Matlab7.0的安装及其它应用
摘要:Matlab7.0在Windows10环境下出现错误,主要原因是软件版本过旧。解决方法是通过调整系统兼容性设置来解决此问题。
2025-10-13 07:40:50
230
原创 视频监控与下位计算机的通信处理
花了几千¥,购买了基于Qt环境的video_system,需要与嵌入式IPC进行通信,根据报警自动进行存储图像和视频。在头文件frmipccontrol.h中定义两个UPD套接字变量,一个负责接收端口5001,一个负责接收端口5002;1)建立UPD套接字,并根据不同的端口号来进行判断。1、基于UPD端口来判断录哪一路视频。并在构造函数中对其进行定义和初始化。对其槽函数进行定义处理。
2025-09-25 11:49:38
153
原创 瑞芯微RV1126目标识别算法Yolov8的部署应用
首先在先前的工程中将libturbojped.a放在当下的工程文件中的lib/rv1126文件夹下,并再次进行编译将rv1126重新部署在rv1126板子中,运行OK。编译报错,原来ai文件夹下只有ai.cpp和makefile两个文件,添加的文件在ai文件夹下包括的文件如下:(编译报错的处理办法,原因:包含了头文件rknn_api.h未找到头文件和库文件。修改ai文件夹下的makefile内容:(红色为自己添加的内容,用的比较软件。1)首先在inc包含头文件的地方添加头文件rknn_api.h。
2025-09-05 23:11:05
506
1
原创 海康机器人3D相机的应用
采集的点云密度较大,且需要转换为独立的点云X、Y、Z三个变量,比较费时间。如何加速是比较重要的问题。海康3D相机为基于振镜的双目结构光立体相机,型号为MV-DLS1400P,该相机的主要参数为。(1)通过OpenMP并行加速。(2)点云数据降采样。
2025-08-16 11:36:28
640
原创 OpenCV常见问题汇总
在需要独立操作数据时,务必使用深拷贝(`clone()`或`copyTo()`),以避免意外的修改。- 浅拷贝效率高,因为不复制数据,但需要注意共享数据带来的副作用。- `copyTo()`方法还可以配合掩码使用,例如:`A.copyTo(B, mask);` 其中`mask`是一个二值图像,指定要复制的区域。我对整张图像通过裁剪分别进行识别,出现识别结果与期望不同的问题,经过大量排查是OpenCV深度拷贝问题,我原来有问题的写法。仅复制矩阵头(尺寸、类型等元数据),(独立数据)的区别。
2025-08-13 22:48:36
346
原创 基于Halcon 3D的手眼标定方法
手眼标定是通过求解相机坐标系与机器人坐标系间的刚性变换矩阵,实现两者坐标转换的技术。标定过程需采集至少4组空间点坐标(建议8组以提高精度),利用Halcon函数计算变换矩阵。关键步骤包括:使用标定物获取位姿、模型匹配求解变换矩阵、应用矩阵实现坐标转换。常用函数有vector_to_hom_mat3d(计算齐次矩阵)和sample_object_model_3d(点云采样)。标定时应注意增大机器人姿态差异,数据需包含机器人基座标和对应相机点云坐标。该技术广泛应用于工业机器人抓取、装配等精确控制场景。
2025-08-05 14:27:04
1042
原创 Yolov8/Yolov11实例分割训练自有数据集
yolov8和yolov11的实例分割需将json转为yolo的txt格式的文件转换代码如下:label_format-seg.py。4)img_width和img_height,默认是640,分别指图片宽度和高度,根据实际图像尺寸修改即可。2)需要修改json_dir 的路径,它用来存放 LabelMe标注的JSON文件;注完成后,点击“Save”,保存保存标注信息,生成和图片同名的json文件;yaml文件中的path,需要根据实际数据路径进行修改,指定数据集的路径。三、数据集yaml配置文件修改。
2025-07-25 23:35:43
719
1
原创 KCF目标跟踪算法的工作原理相关知识
分析频谱是实际频谱的近似。如果采样不合适,某一频率的信号能量会扩散到相邻频率点上,出现频谱泄漏现象。常见的窗函数有矩形窗(即不加窗)、三角窗、汉宁窗、汉明窗、高斯窗等。汉宁窗(Hanning Window)是一种常用的窗函数,主要用于信号处理中的频谱分析和滤波器设计。汉宁窗是一种余弦平方窗,其形状类似于一个平滑的三角形。它在频谱分析中可以减少频谱泄漏(spectral leakage),从而提高频谱分辨率。汉宁窗的作用是通过平滑信号的两端来减少频谱泄漏,保证信号在进行傅里叶变换时具有较好的频谱分辨率。
2025-07-21 07:35:59
496
2
原创 Windows X64环境下mysql5.6.51安装指南
user表如果没有创建:create table user(username varchar(8),password varchar(8));向表里添加数据:insert into user(username,password) values('admin','1234');注意如发现mysql服务安装路径不对可通过指令sc delete MySQL进行删除后再安装;然后查看user表:select * from user;使用查看当前数据库的表:show tables;启动mysql服务:命令如下。
2025-07-12 15:35:38
678
原创 使用YOLO训练自己的数据集
本文介绍了搭建基于NVIDIA显卡CUDA的深度学习环境流程。首先确定CUDA版本需同时满足硬件支持(通过nvidia-smi查看)和PyTorch官方要求。接着安装Anaconda并配置环境变量,创建Python虚拟环境(如命名为Y11)。然后安装CUDA版PyTorch(通过官方指定命令)和Yolo框架,最后测试GPU是否可用(torch.cuda.is_available()返回True即成功)。整个过程涵盖了从CUDA版本选择到环境验证的关键步骤。
2025-06-29 10:29:21
480
原创 轴承外圈标志标记信息
大修标记有轴承大修符号,轴承大修单位代码,轴承大修年月,补充新品标记(更换内圈或外圈新品时)和轴承编号。大修符号位“O”、轴承大修单位代码如“TMB”、轴承大修年月如“1407”和补充新品标记“X”(补充新品外圈时在大修年月标记后面刻打)和轴承编号(按5位数逐月编排,外圈内径面上不刻写)。保存轴承外圈标志标记信息的原始图片可供查询和传输。把识别后的信息传输给轴承自动测量机,若人工操作轴承测量机时,在测量界面显示轴承标志信息的原始照片,操作员可以进行人工核对轴承外圈的标志标记信息。
2025-06-07 07:45:29
293
原创 QT布局综述
布局的作用应该包括,这样当窗口大小变化时,控件能自适应。比如,当用户,而不是固定不动。的能力。复杂的界面通常需要多种布局组合,比如水平布局里嵌套垂直布局,或者使用网格布局来排列复杂的控件结构。用户可能需要构建比较复杂的界面,这时候布局的嵌套就很有用了方面。使用布局而不是手动设置位置和大小,可以让代码更简洁,更易于维护。比如,如果手动设置每个控件的位置,当需要调整界面时,可能要修改很多数值,而用布局的话,调整布局结构就可以了,这样代码更容易管理。
2025-05-27 15:18:14
968
原创 PCM音频数据的编解码
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2025-05-25 22:58:50
1396
原创 Open3D入门教程
Open3D 是一个非常出色的开源库,提供了强大的工具来帮助你轻松应对各种3D数据的挑战。将3DProcess.h、3DProcess.lib、3DProcess.dll复制到VS2022工程下,包含头文件和添加库连接即可使用。注意:因为Open3D 0.19版本是基于VS2022编译的,所以其库的调用也是基于VS2022的,若低于此版本会报各种编译错误。在路径D:\Open3D下创建文件夹Open3DTest,并在此文件夹内创建main.cpp文件和CMakeLists.txt文件.
2025-05-24 08:56:29
645
原创 Qt调用Miniconda的python方法
初始化 Python 环境,并在程序中设置 PythonHome 环境变量,如何知道PythonHome环境变量需要设置哪些路径呢?在配置好pro文件编译qt工程时遇到如下图所示的错误,原因是object中定义的slots与qt的slots定义冲突,解决方法是在头文件python.h声明前先取消slots宏定义,包含python.h后再重新define,可解决这个问题。下面的代码演示了如何设置应用程序python脚本路径,导入Python模块,获取模块中定义的函数,设置函数参数及调用函数。
2025-03-22 11:47:52
1251
原创 深度学习训练方法汇总
建议保留原代码注释后续方便改回。1) ./ultralytics/cfg/models/v8/yolov8.yaml(也可是你自己修改的yaml文件)文件加 ch:1.7)(根据原题主继续补充避免val报错):修改ultralytics/models/yolo/detect/val.py文件。8)(防止predictor报错):修改ultralytics/engine/predictor.py。6) 修改 /ultralytics/engine/predictor.py文件。设置通道为单通道图像。
2025-03-17 08:10:51
492
原创 RK3588的YoloV8模型的量化优化技术
需要结合训练时的伪量化步骤,比如在TensorFlow中插入伪量化节点,然后导出模型,再使用RKNN-Toolkit2进行转换,这时候可能不需要再做量化,或者需要调整参数。1、缘由:将YOLOV8训练出的模型pt转换为onnx后再通过一定数量的样本图像进行量化,虽然可通过增加量化样本图像的方法得到一定的改善,但是增加太多的样本数量出现量化不能完成的现象(100多张),会发现识别精度也很难上去。也就是在训练过程中就考虑量化带来的影响,这样模型在训练时会模拟量化过程,让模型在量化后精度损失更小。
2025-03-02 10:52:53
2181
原创 如何在Windows环境下安装Docker
在上图中输入指令wsl --update命令。安装适用于Linux的Windows子系统。安装成功后如下图所示。接着输入指令wsl --install进行安装。选中上图中的两项点击确定。选择windows版本Docker Desktop for Windows-x86_64。,可直接在Windows上运行各种Linux工具,实用工具、应用程序和工作流。在上图中,点击“启用或关闭Windows功能”如下图所示。打开控制面板如上图所示,点击“程序和功能”,如下图所示。下载后对其进行安装,即可。
2025-03-01 19:04:51
341
原创 QT协同并行处理方法
合并的话,可能需要将各个处理后的QImage拼接成一个大的QImage,或者在UI中使用多个QLabel来分别显示每个处理后的图像。如果用户希望合并成一个图像,可能需要计算布局,比如网格排列,然后逐个绘制到大的QPixmap上,再显示在QLabel或QGraphicsView中。合并显示可能需要将多个处理后的图像排列在一个大图上,或者分多个视图显示。Qt的信号槽机制可以在这里派上用场,每个处理任务完成后发送信号,携带处理后的图像,然后在主线程的槽函数中收集这些结果,等所有结果都到达后再进行合并和显示。
2025-02-25 10:30:18
467
原创 FFMPEG编码容错处理解决办法之途径----升级库文件
在qt开发环境下接收网络数据,调用ffmpeg解码播放视频,出现闪屏现象,具体现象可以使用操作系统自带的ffplay播放器播放原始视频流可复现;而使用操作系统自带的mpv播放器播放视频则不会出现闪屏;闪屏时会报Could not find ref with POC xx错误(由于是无线通信该错误无法避免)要求能达到mpv的播放效果就行,具体实现方式不限。当只使,但生成的视频流较长;而加入 P B 帧后,会使编码时间变长,但生成的视频流长度只有纯 I 帧编码的 25%。因此,P B 帧的加入本质上是。
2025-02-22 21:26:49
1390
原创 Qt开发常见问题解决方法
找到被隔离的程序点击“恢复”探测如下界面:并选择红色方框,保证程序恢复到原来的位置,并不在被隔离,这样程序就可以正常运行了。答:是不是被杀毒软件杀了,关键它还没有任何提示。打开360安全卫士,点击如下界面红色区域。1、Qt程序在开发环境启动时出现"启动程序失败,路径或者权限错误"?点击上图的已隔离14项,弹出如下图所示。
2025-02-09 11:06:27
575
原创 Windows 10 YOLOV8 TensorRT C++如何部署?+长方形尺寸模型
可选择编译Yolov8项目,可以生成tensorRT的文件.engine,并可进行推流。在YoloV8的训练环境下,将pt模型转换为wts模型:运行gen_wts.py可生成yolov8s.wts.:首先先安装VS2019后再安装CUDA,可有效避免在VS2019环境中看不到CUDA Runtime模板。TensorRT项目中的CMakelist.txt分别配置自己的OpenCV结合tensorRT的地址。打开CMake软件,完成TensorRT项目的源码位置及生成VS2019项目的位置,如下图所示。
2025-02-08 09:32:16
627
原创 人工智能模型DeepSeek-V3和DeepSeek-R1的区别
以低成本和高通用性见长,适合广泛的应用场景;通过强化学习实现了专业领域的推理突破,适合需要深度推理和复杂逻辑分析的任务。两者的互补性体现了DeepSeek在技术路径上的多样性,既满足通用需求,又推动前沿推理能力的发展。
2025-02-05 09:34:08
15300
原创 海思ISP开发说明
合成的原则是择优选取,即对于比较亮的区域,采用短帧数据,而对于比较暗的区域,采用长帧数据。每个像素结构 中的光电二极管的尺寸、掺杂浓度、生产过程中的沾污以及MOS场效应管的参数的偏 差等都会造成像素输出信号的变化,由于这些偏差造成的噪声对于给定的单个像素它 是固定的,这种噪声就是固定模式噪声FPN(Fixed Pattern Noise)。Sharpen模块:用于增强图像的清晰度,包括调节图像边缘的锐化属性和增强图像的细节和纹理的清晰度,同时还能分别独立控制图像的带方向的边缘和无方向的细节纹理的锐化强度。
2025-02-02 22:34:51
1502
原创 基于Ubuntu交叉编译ZLMediaKit
ZLMediaKit是一款开源的流媒体服务器,支持RTSP、RTMP、HTTP、HLS、MPEG-TS等多种协议,可以实现音视频的推流、转码、录制、播放等功能。它采用C++语言编写,具有高性能、低延迟、易扩展等特点,适用于直播、视频会议、监控等场景。菜单栏的“编辑”->选择“虚拟网络编辑器”,在弹出的窗口中,点击桥接模式的VMnet0,然后在下方选择“桥接模式”,网卡下拉栏,选择你目前在用的wifi网卡就行。Release:用于构建的优化的库或可执行文件,不包含调试符号。1、设置WIFI硬件无线网卡上网。
2025-01-26 22:05:35
1119
原创 UDP 广播组播点播的区别及联系
组播地址是分类编址的IPv4地址中的D类地址,又叫多播地址,他的前四位必须是1110,所以网络地址的二进制取值范围是11100000~11101111对应的十进制为 224~~239。说明:接收端的代码,整体的思路就是创建socket->加入组播(本地地址和组播地址赋值给mreq)->:离开组播组使用setsockopt设置IP_DROP_MEMBERSHIP选项。->接收数据(注意,接收的ip和port为组播ip,port)。为用户可用的组播地址(临时组地址),全网范围内有效。
2025-01-23 07:34:14
1809
1
原创 海思Hi3516CV610 -----芯片说明
●支持CBR/VBR/ABR/AVBR/CVBR/QVBR/FIXQP/QP MAP 等多种码率控制模式。说明 根据功能不同,将Hi3516CV610分为00B/10B/20B/00S/20S型号。●IVE2.5 升级算子,支持运动侦测,周界防范跟踪,透视变换,视频诊断及多种智能分析应用。●智能编码 2.0,像素升级,存储不加量,4MP30产品一天存储 5GB。●支持MIPI/LVDS/Sub-LVDS/HiSPi多种接口。DDR:内置DDR3/3L 2133Mbps 1Gb。
2025-01-21 23:31:11
6435
1
原创 Halcon 3D基础知识及常用函数
参数说明:visualize_object_model_3d(::WindowHandle,ObjectModel3D,CamParam,PoseIn,GenParamName,GenParamValue,Title,Label,Information:PoseOut)输出为一个包含7个元素的pose,通常表示为[Tx,Ty,Tz,Rx,Ry,Rz,Order],其中Tx,Ty,Tz为平移分量,Rx,Ry,Rz为旋转分量,Order为旋转顺序。
2025-01-20 09:21:52
1158
原创 海思MPP之视频处理子系统模块VPSS
组(GROUP):VPSS对用户提供组的概念,各GROUP分时复用VPSS硬件,硬件依次处理各个组提交的任务。通道(CHANNEL): 通道分为物理通道和扩展通道两种。VPSS硬件提供多个物理通道,每个通道具有缩放、裁剪等功能。扩展通道具备裁剪、缩放功能,它通过绑定物理通道,将物理通道输出作为自己的输入,把图像裁剪、缩放成用户设置的目标分辨率输出。PIPE:VPSS组的管道,取值只能为0。FRC:帧率控制,分为组帧率控制和通道帧率控制两种。组帧率控制用于控制各GROUP对输入图像的处理,通道帧率控制用于控制
2025-01-12 08:10:41
1296
原创 海思SS928平台H265编码例程解析4---函数功能分析
函数:sample_comm_get_stream_from_one_channl(sample_comm_venc_stream_proc_info *来确定需要保存哪种类型的文件(JPEG 或 HEIF),然后做相应处理。功能:在一个通信过程中处理来自VENC(Video Encoder)的输入数据。: 可能包含物理地址相关的额外信息(在 LiteOS 环境此参数未使用)。1)功能:用于将视频编码流(VENC)的数据保存到文件中。的指针,用于存储与当前帧处理相关的信息。: 当前处理的视频编码流指针。
2024-12-14 20:50:36
513
【自动控制领域】复合系统等效正弦指标与误差系统截止频率关系研究:随动系统设计参考
2025-08-23
Windows 环境下mpv播放器64位软件开发库
2025-02-23
Qt环境下Modebus TCP Serial的客户端及服务器的源程序
2024-11-12
中国铁路总公司运输局关于印发《道岔缺口监测系统技术规范》的通知+运电信号函2015315号
2024-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅