- 博客(304)
- 资源 (21)
- 收藏
- 关注
原创 树莓派64位系统使用 硬件编码器
32位系统直接使用apt安装的ffmpeg库,天然支持 h264_omx 硬件编码加速。但是在64位系统使用失败。我们在 Debian12 64bi系统上进行测试。
2025-03-19 04:31:28
443
原创 libpcap捕捉过滤wifi beacon包解析国标飞行器drone id报文
正常wifi beacon包中,首先固定长度24字节的帧头;之后是Beacon数据,常规长度最多为212字节;最后是4字节FCS校验码。头部定义如下截图Beacon中的 Management主题部分根据 tag id 分别做解析。
2025-03-12 23:30:00
876
1
原创 使用腾讯ncnn加速推理yolo v9对比opencv dnn
前面博客绍了 yolov9 详细使用方式,重参数化、导出端到端模型,使用 torch、opencv、tensorrt 以及 paddle 的测试。由于存在移动端推理部署的需求,需要进行加速处理,本文在 yolov9 的基础上,使用腾讯的NCNN库进行推理测试。
2025-03-08 22:45:00
693
原创 linux上将sh脚本文件打包成二进制程序文件
shc的命令格式为shc创建命令行上使用-f指定的脚本的剥离二进制可执行版本。如果未使用[-o outfile]选项定义outfile,则默认情况下会附加.x扩展名,并且通常会比原始ascii代码大一点。生成的C源代码保存在扩展名为.x.c的文件中或使用适当选项指定的文件中。如果您使用-e选项提供到期日期,编译后的二进制文件将拒绝在指定日期之后运行。将显示消息请联系您的提供商。可以使用-m选项更改此消息。可以编译任何类型的外壳脚本,但需要提供有效的 -i、-x 和 -l 选项。
2025-03-06 21:15:00
1062
原创 在实体机和wsl2中安装docker、使用GPU
正常使用docker和gpu,直接命令行安装dcoker和,nvidia-container-toolkit。区别在于,后者在于安装驱动已经cuda加速时存在系统上的差异。
2025-02-12 23:00:00
456
原创 NRF52840 USB Dongle 进行蓝牙抓包
官方的工具,之后使用 bluetooth Low Energy 即可查看抓包数据。本节主要说明,使用wireshark进行抓包数据的显示,使用python代码实现抓包数据展示。
2025-01-24 20:45:00
1867
原创 opencv sdk for java中提示无stiching模块接口的问题
安卓项目中有新的需求,在 jni 中增加 stiching_detail.cpp 中全景拼接的实现。但是在编译时,出现大量报错,如下截图所示实际上,其他opencv的接口函数 例如 core dnn等都能正常使用,直觉上初步。
2024-12-21 01:04:23
483
原创 httplib-cpp的几个使用点
首先给出构造函数, Get、POST的几个接口。我们关注通用的接口函数(支持http、https), 需要将一个请求地址拆分为和path两个部分。也就是需要达到一下分割效果实现代码和测试代码如下。
2024-12-11 09:53:07
302
原创 ubuntu 22.04网线连接无ip、网络设置无有线网界面(netplan修复)
目前遇到过树莓派和其他设备安装 ubuntu22.04, 使用有线网络一段时间(可能有其他软件安装导致)造成有线网络未启动无ip分配的问题。
2024-10-24 00:00:00
1900
原创 opencv dnn模块 示例(27) 目标检测 object_detection 之 yolov11
YOLO11是Ultralytics实时目标探测器系列中最新的迭代版本,重新定义尖端的精度、速度和效率。在以往具有令人印象深刻进步的yolo版本基础上,YOLO11对架构和训练方法进行了重大改进,使其成为各种计算机视觉任务的多功能选择。
2024-10-17 21:45:00
1990
原创 dji psdk开发中各种机型的连接和配置说明(增加E-Prot接口不使用usb配置的方式)
本文介绍不同机型使用osdk/psdk开发的连接方式整理,以及使用的注意事项。另外,目前主流机型均使用e-port 进行psdk开发,对于初学者配置usb slave稍微有些麻烦,且需要硬件支持,因此使用网络连接的方式来降低开发难度。
2024-08-05 21:45:00
2636
2
原创 常规情况与opencv图像中,计算直线与矩形框的交点
这里直线与矩形框的交点,我们考虑并非线段(若直线延长后与矩形框有交点,如果用两个点描述直线必须要求延长后与矩形框有交点),而是延长后的线段作为实际直线。在下图中我们绘制斜率分别为正、负的情况,且与矩形不相交的示意图,大概有8种情况下,矩形框的4个顶点均在某条直线的一侧。通常我们计算的逻辑,会考虑直线在画面中的多种情况,例如 垂直、水平,以及实际与画面无交集的无效直线等。首先计算直线与线段所在直线交点,若交点的在线段坐标的范围内,那么认为是有交点。在下图中绘制了所有相交的情况,可以看到 在(2)基础上,
2024-07-05 22:20:55
1446
原创 TensorRt(6)yolov3.weight转换、onnx_graphsurgeon和c++ api实现添加NMS
前面博文介绍了 使用opencv dnn模块加载yolo weights格式模型的详细说明。又在博文说明了如何将onnx编译为tensorrt格式并使用的方式,但是存在后处理繁琐的问题。本文将继续说明tensorrt加载yolov3模型进行推理,并且增加efficient nms trt模块。
2024-06-25 21:30:00
997
原创 openpose标定中棋盘格检测错误的解决方案
整个流程上,个人理解实际仅在内参标定且棋盘格内角点尺寸宽高相同时,不存在大于90°旋转时有效,算是弥补opencv棋盘格检测不稳定的优化。例如实际使用棋盘格内角点尺寸为7x6,下图画面中棋盘格起点为右下角角点,终点为左上角,但openpose的结果最终会有出现右上角为起点、左下角为终点的错误结果。通常指定尺寸的两个纬度的值不能相同,例如当指定内角定尺寸为8x8时,如果棋盘格在画面中出现旋转,那么棋盘格的起点位置会出现变化,从而导致结果错误。对本文最早的采集数据,重新执行标定程序,结果正常,如下图。
2024-06-08 23:21:27
539
原创 opencv dnn模块 示例(26) 目标检测 object_detection 之 yolov10
从源码测试中,可以看出清华大学研究团队最新提出的 YOLOv10 是在yolov8 上发展来的。摘要如下:在过去的几年里,由于其在计算成本和检测性能之间的有效平衡,YOLOS已经成为实时目标检测领域的主导范例。研究人员已经探索了YOLOS的架构设计、优化目标、数据增强策略等,并取得了显著进展。然而,对用于后处理的非最大抑制(NMS)的依赖妨碍了YOLOS的端到端部署,并且影响了推理延迟。此外,YOLOS中各部件的设计缺乏全面和彻底的检查,导致明显的计算冗余,限制了模型的性能。
2024-06-03 11:02:27
1306
6
原创 树莓派4B、树莓派5使用 Debian 12(bookworm) 的配置
最新的系统Debian 12(bookworm)目前的一些配置发生了一些改变,同时树莓派5的硬件也做了一部分调整。这里均以系统 Debian 12 对不同的配置做简单记录。树莓派4B使用旧系统的配置见专栏。新系统中的配置文件config.txt和移动到了中.
2024-05-01 11:41:56
4019
原创 dji esdk开发(4)SDK互联互通(与云端进行小数据通信)
使用自定义小数据通道需要通过上云 API 协议 ESDK 互联互通与云端通信。仅2个接口函数,一个用于注册接收云端数据函数,一个用于发送数据的函数。数据内容为字符串。(1)发送接口该接口最大可以发送256字节的数据,使用该接口进行业务数据的发送,由接口内部进行上云 API 协议格式数据的封装。例如 esdk demo中 发送字符串,云端收到的封装后的数据为json格式如下,我们实际发送字符串在 data.value 字段中。
2024-03-27 21:45:00
576
原创 dji esdk开发(3)媒体资源文件获取下载
MediaFile和PSDK中下载媒体文件列表类似,ESDK中也可以获取机场的媒体文件列表,再通过列表中的媒体文件信息进行下载媒体文件数据。媒体文件通过结构体MediaFile定义如下,各字段通过名字就知其义。/*!
2024-03-25 22:15:00
297
原创 dji esdk开发(1)Edge SDK 简介、配置demo运行
DJI 为支持开发者在机场端部署边缘计算服务及设备,提供了开发工具包 Edge SDK(即 ESDK),方便开发者利用大疆机场上如电源、通讯链路及媒体数据等资源。不同于机载PSDK,开发者使用ESDK仅需要通过局域网络连接即可机场通信,支持拉取无人机的媒体文件、订阅无人机实时码流、与上云云端通信等,其主要为满足开发如图像预处理、图像压缩、AI 目标识别、AI 缺陷识别等细分领域功能。
2024-03-21 22:15:00
1023
原创 dji psdk开发(10)运动规划(航线任务、KMZ文件的解析,兴趣点环绕)
航线任务到目前主要使用waypoint v2 和 waypoint v3三个版本。这里先简要介绍 Waypoint 3.0,其只需要导入一个KMZ文件即可实现和Pilot2相同的航线规划功能。之后再介绍相对复杂的waypoint v2版本 api,手动解析kml/kml文件。
2024-03-19 21:00:00
2579
原创 基于openpose的引体向上的识别计数统计项目(5)CPoseClassify类设计与实现
和CPoseExtract一样, CPoseClassify设计为一个纯虚类,规定了基本的调用接口函数,便于后续扩展使用。该类主要用于判断一帧骨骼关键点数据属于引体向上动作中的状态类型。我们后期可以设计使用手动判定规则,也可以使用如SVM的分类器,还可以使用深度学习中的LSTM等方式实现。本文实现使用OpenPose的人体骨骼关键点进行手动设计CPoseClsOpenPoseManual类。比较简单,直接 给出完整代码。
2024-03-15 21:15:00
170
原创 基于openpose的引体向上的识别计数统计项目(4)CPoseExtract类设计与实现
CPoseExtract设计为一个纯虚类,规定了基本的调用接口函数,便于后续扩展使用。本文实现使用OpenPose的人体骨骼关键点提取 继承类COpenPoseExtract 来说明。比较简单,直接 给出完整代码。
2024-03-11 15:34:39
140
2
原创 opencv dnn模块 示例(25) 目标检测 object_detection 之 yolov9
YOLOv9 是 YOLOv7 研究团队推出的最新目标检测网络,它是 YOLO(You Only Look Once)系列的最新迭代。YOLOv9 在设计上旨在解决深度学习中信息瓶颈问题,并提高模型在不同任务上的准确性和参数效率。:YOLOv9 引入了可编程梯度信息(PGI)的概念,这是一种新的辅助监督框架,用于生成可靠的梯度信息,以便在训练过程中更新网络权重。PGI 通过辅助可逆分支来解决深度网络加深导致的问题,并提供完整的输入信息以计算目标函数。
2024-03-11 07:30:00
2671
原创 基于openpose的引体向上的识别计数统计项目(3)CPoseRender类设计与实现
CPoseRender 主要是为了简化openpose中的调用方式进行简化重写,只需要opencv的参数即可使用。
2024-03-08 20:15:00
444
原创 opencv dnn模块 示例(24) 目标检测 object_detection 之 yolov8-pose 和 yolov8-obb
前面博文已经已经详细介绍了yolov8网络和测试。本文继续说明使用yolov8 进行和。
2024-03-05 20:34:06
1832
原创 基于openpose的引体向上的识别计数统计项目(2)CPullupCounter类设计与实现
在前文介绍了整体项目结构。本文详细说明CPullupCounter类的设计与实现。
2024-02-29 21:15:00
190
原创 基于openpose的引体向上的识别计数统计项目(1)背景和项目介绍
引体向上作为中考体育考试中的选考科目,使用视频人工智能分析的方式,取代繁琐的人工记录具有意义,并且能够在日常的训练中起到分析、总结、建议的作用。等视频结束后,能够从PullupResult中获取测试者的有效计数,测试时间,有效测试的开始、结束帧序号(两者差值除以fps就得到测试时间),关键帧画面等。是外部调用的应用层类,初始化之后,传递连续的图像帧,内部将实时提取骨骼关键点、判断动作状态、时序判断、统计等,最后获取最终统计结果,如时间、关键画面等。, 即算一次有效动作,允许在同一个动作下出现多个状态,如。
2024-02-26 14:41:21
236
原创 opencv拉流出现missing picture in access unit with size 4错误解决
我们使用opencv作为拉流客户端,获取画面后进行图像处理并推流(使用ffmpeg库)。opencv解码同样使用ffmpeg库。注意代码中注释的地方cap.open() 和 cap.read(frame),后面会用到。导致后续获取frame为空,认为流断开触发重新进行拉流的操作,导致后续视频处理、推流业务有短暂停顿,客户端播放会出现响应的短暂黑屏问题。
2024-01-12 21:30:00
4786
3
原创 TensorRt(5)动态尺寸输入的分割模型测试
这里主要说明使用TensorRT进行加载编译优化后的模型engine进行推理测试,与前面进行目标识别、目标分类的模型的网络输入是固定大小不同,导致输入维度不能直接获取需要自己手动调整的问题。
2024-01-10 22:00:00
1426
原创 jetson AGX orin 配置pytorch和cuda使用、yolov8 TensorRt测试
安装 sudo apt-get install libjpeg-dev zlib1g-dev 之后,删除所有缓存和编译零时文件,再重新编译安装即可。由于gpu推理通常需要预热,拷贝图像(bus.jpg)到文件夹重复多张(以10张为例)即可,重新运行,基本推理耗时。默认安装在系统环境中,若在虚拟环境中,可以创建软连接到虚拟环境中。导出默认的fp32模型,耗时11分钟,40qps,加载测试如下。,执行耗时32分钟(模型文件大小缩小一半),95qps,,如下。若均不报错,且能正常输出说明安装成功,如下图。
2024-01-06 21:45:00
3135
2
原创 dji uav建图导航系列()ROS中创建dji_sdk节点包(二)实现代码
外部使用实际仅一个函数, psdk部分需要开启无人机数据订阅模块、无人机控制模块、无人机控制权,ROS部分需要实现无人机起降和权限服务功能、无人机控制指令消息订阅功能、无人机位姿数据发布功能。}params;//!//!//!private://!constant。
2024-01-02 21:16:29
1527
14
原创 dji psdk开发(9)第三方自定义 HMS 功能
该文件定义了获取HSM信息的回调功能接口说明。单条HMS的错误信息包括一个错误ID,错误的Index和一个错误的等级,在订阅HMS信息后,这些错误信息将会打包发送给PSDK。PSDK根据这些错误信息的数据解析成字符串,并从终端打印出来。PSDK 中自带的HMS数据库,位于;hms.json;最新PSDK中附带可以查询文件。当有HMS错误发生时,就能在回调函数中获取到具体的HMS信息。在回调中处理结果时,通过中的hmsInfoNum数量遍历hmsInfo数组,通过对应错误码。
2023-11-28 11:45:27
923
3
原创 opencv dnn模块 示例(23) 目标检测 object_detection 之 yolov8
YOLOv3之前的所有YOLO对象检测模型都是用C语言编写的,并使用了Darknet框架,Ultralytics发布了第一个使用PyTorch框架实现的YOLO (YOLOv3);YOLOv3之后,Ultralytics发布了YOLOv5,在2023年1月,Ultralytics发布了YOLOv8,包含五个模型,用于检测、分割和分类。YOLOv8 Nano是其中最快和最小的,而YOLOv8 Extra Large (YOLOv8x)是其中最准确但最慢的,具体模型见后续的图。
2023-11-17 21:30:00
5463
1
原创 opencv dnn模块 示例(22) 目标检测 object_detection 之 yolov7
模型结构重参化和动态标签分配已经成为了目标检测领域中的主要优化方向。针对于结构重参化,作者通过分析梯度的传播路径来为网络中的不同层进行结构重参化优化,并且提出了不同规划的模型结构重参化。在动态标签分配上,因为模型有多个输出层,所以在训练时就难以为不同的分支分配更好地动态目标。所以作者提出了一个新的动态标签分配办法:coarse-to-fine,即由粗到细引导标签分配的策略。还提出了扩展和复合缩放的方式,通过这种方式可以更高效利用参数量和计算量。这样不仅可以减少大量参数,还可以提高推理速度以及检测精度。
2023-11-10 21:45:00
809
2
原创 opencv dnn模块 示例(21) 目标检测 object_detection 之 yolov6
2023年初,美团视觉智能部发布了 YOLOv6 3.0 版本,再一次将目标检测的综合性能推向新高。本次更新除了对 YOLOv6-N/S/M/L 模型进行全系列升级之外,还推出了大分辨率 P6 模型。其中,YOLOv6-L6 检测精度和速度超越 YOLOv7-E6E,取得当前实时目标检测榜单 SOTA。yolov6 第一版发布于 2022年6月,截止到目前已经更新到4.0版本。图1 YOLOv6 各尺寸模型与其他 YOLO 系列框架的性能对比图。
2023-11-03 20:45:00
530
原创 opencv dnn模块 示例(20) 目标检测 object_detection 之 yolor
paper:code:这里以 yolor-p6-640-640 进行测试。网络模型可以看到,输出一共有4个,实际是4个尺度上的结果,最终通过reshape和concat合并成一个输出(输出格式与yolov5一致)。
2023-10-29 21:30:00
360
原创 opencv dnn模块 示例(19) 目标检测 object_detection 之 yolox
YOLOX是旷视科技在2021年发表,对标YOLO v5。YOLOX中引入了当年的黑科技主要有三点,decoupled head、anchor-free以及advanced label assigning strategy(SimOTA)。YOLOX的性能如何呢,可以参考原论文图一如下图所示。YOLOX比当年的YOLO v5略好一点,并且利用YOLOX获得当年的Streaming Perception Challenge第一名。
2023-10-23 21:15:00
1326
民用微轻小型无人驾驶航空器运行识别最低性能要求 ( 试行)
2024-07-29
ThermalSdkTest.rar
2023-07-11
darkent yolo自定义数据标注训练全流程说明示例
2023-06-08
jni测试封装aar图像处理demo
2023-02-27
DJI+Assistant+2+(Enterprise+Series)+V2.1.3.exe
2023-02-07
ParserStream解析网络视频流 GDR, vs项目
2022-02-11
FaceDetector人脸检测、识别 DNN模型 demo
2022-01-10
socket网络编程sample代码.rar
2021-09-01
ffmpeg-arm-hf.rar
2021-04-19
windows版本fasterRcnn编译好的python代码部分-GPU
2018-01-04
windows版本fasterRcnn编译好的python代码部分
2017-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人