- 博客(286)
- 资源 (21)
- 收藏
- 关注
原创 dji esdk开发(4)SDK互联互通(与云端进行小数据通信)
使用自定义小数据通道需要通过上云 API 协议 ESDK 互联互通与云端通信。仅2个接口函数,一个用于注册接收云端数据函数,一个用于发送数据的函数。数据内容为字符串。(1)发送接口该接口最大可以发送256字节的数据,使用该接口进行业务数据的发送,由接口内部进行上云 API 协议格式数据的封装。例如 esdk demo中 发送字符串,云端收到的封装后的数据为json格式如下,我们实际发送字符串在 data.value 字段中。
2024-03-27 21:45:00 28
原创 dji esdk开发(3)媒体资源文件获取下载
MediaFile和PSDK中下载媒体文件列表类似,ESDK中也可以获取机场的媒体文件列表,再通过列表中的媒体文件信息进行下载媒体文件数据。媒体文件通过结构体MediaFile定义如下,各字段通过名字就知其义。/*!
2024-03-25 22:15:00 20
原创 dji esdk开发(1)Edge SDK 简介、配置demo运行
DJI 为支持开发者在机场端部署边缘计算服务及设备,提供了开发工具包 Edge SDK(即 ESDK),方便开发者利用大疆机场上如电源、通讯链路及媒体数据等资源。不同于机载PSDK,开发者使用ESDK仅需要通过局域网络连接即可机场通信,支持拉取无人机的媒体文件、订阅无人机实时码流、与上云云端通信等,其主要为满足开发如图像预处理、图像压缩、AI 目标识别、AI 缺陷识别等细分领域功能。
2024-03-21 22:15:00 74
原创 dji psdk开发(10)航线任务简介、KMZ文件的解析
航线任务到目前主要使用waypoint v2 和 waypoint v3三个版本。这里先简要介绍 Waypoint 3.0,其只需要导入一个KMZ文件即可实现和Pilot2相同的航线规划功能。之后再介绍相对复杂的waypoint v2版本 api,手动解析kml/kml文件。
2024-03-19 21:00:00 703
原创 基于openpose的引体向上的识别计数统计项目(5)CPoseClassify类设计与实现
和CPoseExtract一样, CPoseClassify设计为一个纯虚类,规定了基本的调用接口函数,便于后续扩展使用。该类主要用于判断一帧骨骼关键点数据属于引体向上动作中的状态类型。我们后期可以设计使用手动判定规则,也可以使用如SVM的分类器,还可以使用深度学习中的LSTM等方式实现。本文实现使用OpenPose的人体骨骼关键点进行手动设计CPoseClsOpenPoseManual类。比较简单,直接 给出完整代码。
2024-03-15 21:15:00 36
原创 基于openpose的引体向上的识别计数统计项目(4)CPoseExtract类设计与实现
CPoseExtract设计为一个纯虚类,规定了基本的调用接口函数,便于后续扩展使用。本文实现使用OpenPose的人体骨骼关键点提取 继承类COpenPoseExtract 来说明。比较简单,直接 给出完整代码。
2024-03-11 15:34:39 33 2
原创 opencv dnn模块 示例(25) 目标检测 object_detection 之 yolov9
YOLOv9 是 YOLOv7 研究团队推出的最新目标检测网络,它是 YOLO(You Only Look Once)系列的最新迭代。YOLOv9 在设计上旨在解决深度学习中信息瓶颈问题,并提高模型在不同任务上的准确性和参数效率。:YOLOv9 引入了可编程梯度信息(PGI)的概念,这是一种新的辅助监督框架,用于生成可靠的梯度信息,以便在训练过程中更新网络权重。PGI 通过辅助可逆分支来解决深度网络加深导致的问题,并提供完整的输入信息以计算目标函数。
2024-03-11 07:30:00 1884
原创 基于openpose的引体向上的识别计数统计项目(3)CPoseRender类设计与实现
CPoseRender 主要是为了简化openpose中的调用方式进行简化重写,只需要opencv的参数即可使用。
2024-03-08 20:15:00 333
原创 opencv dnn模块 示例(24) 目标检测 object_detection 之 yolov8-pose 和 yolov8-obb
前面博文已经已经详细介绍了yolov8网络和测试。本文继续说明使用yolov8 进行和。
2024-03-05 20:34:06 1034
原创 基于openpose的引体向上的识别计数统计项目(2)CPullupCounter类设计与实现
在前文介绍了整体项目结构。本文详细说明CPullupCounter类的设计与实现。
2024-02-29 21:15:00 41
原创 基于openpose的引体向上的识别计数统计项目(1)背景和项目介绍
引体向上作为中考体育考试中的选考科目,使用视频人工智能分析的方式,取代繁琐的人工记录具有意义,并且能够在日常的训练中起到分析、总结、建议的作用。等视频结束后,能够从PullupResult中获取测试者的有效计数,测试时间,有效测试的开始、结束帧序号(两者差值除以fps就得到测试时间),关键帧画面等。是外部调用的应用层类,初始化之后,传递连续的图像帧,内部将实时提取骨骼关键点、判断动作状态、时序判断、统计等,最后获取最终统计结果,如时间、关键画面等。, 即算一次有效动作,允许在同一个动作下出现多个状态,如。
2024-02-26 14:41:21 49
原创 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 2101
原创 TensorRt(5)动态尺寸输入的分割模型测试
这里主要说明使用TensorRT进行加载编译优化后的模型engine进行推理测试,与前面进行目标识别、目标分类的模型的网络输入是固定大小不同,导致输入维度不能直接获取需要自己手动调整的问题。
2024-01-10 22:00:00 867
原创 jetson AGC 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 1031
原创 dji uav建图导航系列()ROS中创建dji_sdk节点包(二)实现代码
外部使用实际仅一个函数, psdk部分需要开启无人机数据订阅模块、无人机控制模块、无人机控制权,ROS部分需要实现无人机起降和权限服务功能、无人机控制指令消息订阅功能、无人机位姿数据发布功能。}params;//!//!//!private://!constant。
2024-01-02 21:16:29 1133 2
原创 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 473 2
原创 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 614 1
原创 opencv dnn模块 示例(22) 目标检测 object_detection 之 yolov7
模型结构重参化和动态标签分配已经成为了目标检测领域中的主要优化方向。针对于结构重参化,作者通过分析梯度的传播路径来为网络中的不同层进行结构重参化优化,并且提出了不同规划的模型结构重参化。在动态标签分配上,因为模型有多个输出层,所以在训练时就难以为不同的分支分配更好地动态目标。所以作者提出了一个新的动态标签分配办法:coarse-to-fine,即由粗到细引导标签分配的策略。还提出了扩展和复合缩放的方式,通过这种方式可以更高效利用参数量和计算量。这样不仅可以减少大量参数,还可以提高推理速度以及检测精度。
2023-11-10 21:45:00 537
原创 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 339
原创 opencv dnn模块 示例(20) 目标检测 object_detection 之 yolor
paper:code:这里以 yolor-p6-640-640 进行测试。网络模型可以看到,输出一共有4个,实际是4个尺度上的结果,最终通过reshape和concat合并成一个输出(输出格式与yolov5一致)。
2023-10-29 21:30:00 265
原创 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 1156
原创 opencv dnn模块 示例(18) 目标检测 object_detection 之 pp-yolo、pp-yolov2和pp-yolo tiny
PP-YOLO没有像yolo4那样死抠现有的SOTA网络结构,而是着眼于合理的tricks堆叠。通过有效的计算,很好的平衡了准确率以及推理时间,而其中的实验部分也非常适合学习炼丹的小伙伴。
2023-10-13 22:23:34 783
原创 opencv dnn模块 示例(17) 目标检测 object_detection 之 yolo v5
在前文【opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4】介绍的yolo v4后的2个月,Ultralytics发布了YOLOV5 的第一个正式版本,其性能与YOLO V4不相伯仲。Yolo v5 实际和 Yolo v4 并无继承关系,都是基于yolo v3 改进而来,但因其未发表对应文章、开源协议等问题,被质疑不能算作新一代的YOLO。不过,对于我们学习和使用来说,只要能抓到老鼠,白猫或者黑猫都是好猫。从下面几个方面对比YOLO V5和V4,并简要阐述
2023-09-25 22:15:00 420
原创 opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4
yolo v1~v3 的作者Joseph Redmon于2020年初宣布停止一切CV研究,原因是自己的开源算法已经用在军事和隐私问题上,对他的道德造成了巨大的考验。他的退出是学术界对于AI道德问题一记警钟。salute…俄罗斯大神AlexAB作为YOLO系列的继任者,在Redmon宣发放弃更新Yolo后两个月,发布了YOLOv4。我们以前在windows上测试YOLO算法时,使用的就是AlexAB 的darknet开源项目版本。
2023-09-15 21:45:52 789
原创 dji uav建图导航系列()move_base
导航的关键是机器人定位和路径规划两大部分move_base:实现机器人导航中的最优路径规划amcl:实现二维地图中的机器人定位在上述两个功能包的基础上,ROS提供一系列完整的导航框机器人发布必要的传感器信息和导航的目标位置,ROS即可完成导航功能。在该框架中,move_base功能包提供导航的主要运行、交互接口。amcl功能包保障路径的准确性,对自己所处的位置进行精确定位。首先,导航功能包采集机器人的传感器信息,达到实时避障的效果。机器人通过ROS发布sensor_msgs/LaserScan或者是三
2023-09-10 21:45:00 190
原创 dji uav建图导航系列(三)模拟建图、导航
前面博文使用真实无人机和挂载的激光雷达完成建图、导航的任务。当需要验证某一个slam算法时,我们通常使用模拟环境进行测试,这里使用stageros进行模拟测试,实际就是通过模拟器,虚拟一个带有传感器(如激光雷达)的机器人。
2023-09-01 19:15:00 415
原创 dji uav建图导航系列()ROS中创建dji_sdk节点包(一)项目结构
在ROS框架下创建一个无人机的节点dji_sdk,实现必需的订阅(控制指令)、发布(无人机里程计)、服务(无人机起飞降落、控制权得很)功能,就能实现一个类似小车的底盘系统,之后就能使用ROS内置的算法建图、导航,同时也能用rviz可视化。
2023-08-25 21:45:00 909 6
原创 dji uav建图导航系列(二)导航
话题输出,否则提示没有 base_footprint到map的transform,导致无地图数据(仅底图)信息。可选参数,加载rviz参数文件进行可视化,也可以自己打开rviz界面手动配置。启动ros程序后,如果我们修改了配置文件,通常需要重新启动以加载新的配置。由于move_base里面包含的内容参数较多,这里先展开。增加一个导航点 ,可以看到有规划路径,并且有实时的。如果程序的配置文件参数支持动态配置,那么可以使用。加载, 当前内容主要指定初始位置和角度,如下。非模拟导航时,需要开启后续节点。
2023-08-12 22:17:26 297
原创 dji uav建图导航系列(一)建图
思岚激光雷达frame为base_laser_link, 无人机frame为base_footprint。增加一个静态tf发布,要注意区分A2/S1与A1的坐标系定义。移动无人机进行建图,完成后需要机载端保存地图,首先进入我们存放地图的目录。,将保存 map.pgm和map.yaml,这个也是后续导航默认加载的地图。启动无人机节点和雷达节点,也就是一个底盘节点,如下。无人机仅作为一个移动平台,建图仅依赖雷达数据。以启用使用外部输入的odom数据。思岚雷达的启动节点的实际文件。要正常建图,无人机节点。
2023-08-05 21:25:41 1045 1
原创 dji tsdk 开发(4)thermal sdk的测温应用(2)测温应用
前面相关博客介绍了dji thermal sdk 的api和简单测试,这里开始利用sdk开发一个测温的包。实际使用时,直接使用应用层接口即可。在前面,通过Dirp类持久化了一些应用程序需要的数据,例如加载照片后获取的图像分辨率,RAW分辨率,RAW数据,支持重复读取照片或RAW。本文,继续说明测试应用的实现。
2023-07-15 20:15:00 603 2
原创 配置无线网卡AP模式为wifi热点
不管是自带无线网卡、还是外接的usb无线网卡,要先配置为AP热点模式。需要看检查是否支持AP模式。例如,这里插入 rtl8811c 的双频usb无线网卡,iwconfig查看网卡信息如果插入网卡没有对应信息,可能需要安装驱动。之后,我们使用命令iw list查看 "Supported interface modes:"支持的列表中是否有AP,如有则说明支持配置为AP热点。
2023-07-14 18:30:00 1807
原创 dji tsdk 开发(3)thermal sdk的测温应用(1)dji tsdk的封装
介绍 dji tsdk封装层,实际就是实现了前一篇博客测试代码的功能,但是持久化了一些应用程序需要的数据,例如加载照片后获取的图像分辨率,RAW分辨率,RAW数据,支持重复读取照片或RAW。
2023-07-13 07:15:00 507
原创 dji tsdk 开发(2)thermal sdk的API和测试代码
介绍大疆热红外分析工具的基本使用,DJI Thermal SDK基本介绍。命令行工具的使用,温度数据的解析读取。
2023-07-10 21:30:00 517
原创 dji tsdk 开发(1)thermal sdk介绍和工具使用
大疆红外热分析工具3.0主要用于分析,处理红外照片,通过获取拍摄物体重要位置的温度信息,协助进行状态分析,可广泛应用于工业,科研,国防,民用等各行业领域。大疆红外热分析工具3.0下载链接 https://www.dji.com/cn/downloads/softwares/dji-dtat3。
2023-07-08 19:30:00 1130
原创 dji云哨aeroscope反制数据的解码、破解
云哨主机和sdk之间使用了ssl加密,这里不讨论加解密流程。云哨使用udp在局域网广播主机设备数据,使用tcp传递无人机实时数据和主机的状态数据,网络数据传输使用二进制编码。官方linux sdk中关于数据格式定义在头文件UavMonitorSdkMsg.h中,首先是输入、输出数据完整包为结构体之后根据其成员的和eimiMsgId来判断其 成员联合体该如何解析,主要解析为无人机数据、主机设备两类数据。//sec };
2023-07-01 22:00:00 1006
原创 opencv、ffmpeg使用nvidia-video-codec-sdk编解码
opencv很早就支持cuda加速,但是一般用于图像处理模块。在视频读(包含实时视频流)写上,opencv可以使用ffmpeg作为后端进行编解码,通常是cpu软编解。如果ffmpeg的编译支持gpu硬编解,那么opencv的接口就直接支持硬件编解码了。
2023-07-01 11:59:04 2953 6
原创 Payload SDK v3.4、v3.5的更新和测试(重点功能:测温、请求I帧)
在近2个月最新发布了两个版本,主要完善M30/M3的功能支持,以及支持新机型M350。
2023-06-21 18:15:00 701 5
原创 openpose 人体关键点姿态估计检测简化代码
一次,并且由于openpose内部使用cpu、gpu端的数据拷贝,系列成员函数必须运行在用一个线程中。注意inference前调用。
2023-06-16 23:30:00 210
原创 darknet yolo标注、训练详细说明
使用labelImg.exe工具对数据进行标注,默认使用voc的数据集格式,之后使用脚本转换为yolo专用的数据格式,并且生成一些训练依赖的准备数据。中的classes 列表为标注工具中的标签名,例如有4个标签 car,huoche,guache和keche,那么将之前行用#注释,修改如下图。训练需要给出所有图片的绝对地址,这里注意,标注机器可能和后期训练不在一个机器,路径会变化,后期根据实际路径进行批量修改替换。控制台会打印检测的结果,运行完成后,会生成一个 predictions.jpg 的文件,
2023-06-09 23:15:00 1220 2
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关注的人