![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
图像识别
文章平均质量分 73
cv 方向的体会
weixin_40293999
前几年web后端,后来AI深度学习,会一些运维。 AI聚焦于CV领域,熟悉nlp
展开
-
【深度学习】-WASB-调试说明
代码仓库:/Desktop/code/python_project/WASB-SBDT-main/篮球数据集xx_xx_11.xml只保留最后一个11.xml。这里的东西被我改了,要以仓库为准。并把11下直接放置11。原创 2024-07-06 19:58:15 · 179 阅读 · 0 评论 -
【深度学习】Yolov8使用心得
兜兜转转,原本以为和yolov没啥关系了,但是新公司又回到了yolov侧。yolov8 可以用pip的方式安装,以package的三方软件包形式,隐藏了很多细节。当然你也可以从git上把全套代码down下来。原创 2024-04-27 19:33:47 · 588 阅读 · 1 评论 -
【图像处理】opencv 动态在右上角写自定义的字,自定义断行
简单的使用:主要参数:图片数据,写入字符,基准坐标,字体,字体比例,颜色,粗细等cv2.getTextSize得到文本尺寸参数:text,官方文档:参考:https://blog.csdn.net/Dontla/article/details/103139195对cv2.getTextSize的返回值的详细介绍,返回格式如下(width,height),bottom简单使用:主要使用参数:字符,字体,字符比例,粗细对cv2.getTextSize的返回值的详细介绍。原创 2024-04-06 12:39:01 · 201 阅读 · 0 评论 -
【深度学习】基于深度学习的linux服务器,需要搭建哪些服务,一步步搭建深度学习的环境,cuda,pytorch,opencv,ftp服务, nfs服务 docker等等
来来回回的安装服务器,是时间写个pipline了date 查看时间日期函数是对的运维帮忙装了显卡驱动 nvidia-smi -l 是ok的yum命令有但是源还是centos7自带的ping命令和curl命令有,能ping通外网,telnet,wget,tree,netstat,htop,git都没有。原创 2022-12-06 10:21:14 · 1115 阅读 · 0 评论 -
【深度学习】yolov5以及yolov8的微调后的模型精度对比
做了一个烟火识别,用了2W张图片,标注包括:fire,smoke。在coco80类的模型上进行ft, 借此机会进行比较一下。原创 2023-07-21 17:17:53 · 3838 阅读 · 2 评论 -
【图像处理】Python判断一张图像是否亮度过低
然后使用plt.hist函数绘制灰度图像的直方图,并通过plt.xlabel和plt.ylabel设置横轴和纵轴的标签。is_dark函数的作用是判断输入图像的平均亮度是否低于设定的阈值。调用is_dark函数判断图像光线是否过暗,如果返回True,说明图像光线过暗,输出"图片光线过暗";这是我清理图片数据用的,实际用的时候把平均数值返回并给到图片前缀,图片按名称排序后方便我清洗那些太暗的图片。这段代码是一个用于判断图像亮度是否过暗的函数is_dark,并对输入的图像进行可视化直方图展示。原创 2023-07-13 10:14:31 · 1186 阅读 · 0 评论 -
【深度学习】1. yolov5 推理速度和batchsize的增长关系,推理并行处理多张图片,显存如何手动释放
yolov5的detect.py 是默认batchsize=1的,而直接修改batchsize为更大的值,会使detect.py 不工作.因此本篇文章想解决两个问题:1.设置多大的bz合适2.如何修改detect.py 使其满足自定义的bz。原创 2023-07-05 10:47:25 · 6028 阅读 · 12 评论 -
【深度学习】ByteTrack 完成计数和行人行人重识别的追踪
经典算法:ByteTrack 算法原理以及多类别跟踪作者:Yifu Zhang 等发表时间:2021Paper 原文:ByteTrack: Multi-Object Tracking by Associating Every Detection Box开源代码:ByteTrack提出问题:直接丢弃到低置信度的检测框所带来的的问题。低置信度检测盒有时表明物体的存在,例如被遮挡的物体。过滤掉这些物体会导致MOT的不可逆误差,并带来不可忽略的缺失检测和碎片化轨迹。原创 2023-06-27 19:26:01 · 1815 阅读 · 2 评论 -
【嵌入式模型转换】2. 算能盒子SE5 芯片板子BM1684 sophon-pipeline
【嵌入式模型转换】1. 算能盒子SE5 芯片板子BM1684本篇文章的目的是要走通一个pipeline。这一段是算能git的介绍:起初看这个是云里雾里的,因为文档太多,后来和算能的工作人员沟通后,要把主要精力放到,这个git仓库的pipeline上。用的是 pipeline的V0.3.4 版本正愁还得确认依赖版本呢,人家的包都给装好了。真是幸福啊~原创 2023-06-26 09:01:12 · 825 阅读 · 5 评论 -
【深度学习】RepVGG解析和学习体会,结构重参数化的后的速度比较,代码实现
论文名称:RepVGG: Making VGG-style ConvNets Great Again论文下载地址:https://arxiv.org/abs/2101.03697官方源码(Pytorch实现):https://github.com/DingXiaoH/RepVGG大神的讲解:bilibili视频讲解:https://www.bilibili.com/video/BV15f4y1o7QR。原创 2023-06-22 19:44:40 · 646 阅读 · 0 评论 -
视频基础知识——编码时,帧率、码率、分辨率之间的联系
前提是,这种录制的效果,是自己可以接受的。是指视频文件在单位时间内使用的数据流量,也叫码率,经过视频压缩后每秒产生的数据量,而压缩是去掉图像的空间冗余和视频的时间冗余,是视频编码中画面质量控制中最重要的部分。720,则bit_rate需要设置大一些,比如设置成800 000, 此时画面才会清晰,如果依然设置成400000,则画面非常模糊,像打马赛克一样。码流越大,说明单位时间内取样率越大,数据流的精度就越高,处理出来的文件就越接近原始文件,画面质量越好,画质越清晰,要求播放设备的解码能力也越高。原创 2023-06-19 09:54:17 · 1223 阅读 · 0 评论 -
视频监控系统基础名词解析:帧率、码率、分辨率、三码流技术
帧率:是每秒显示图像的数量,每一帧就是一副静止的画面,在摄像头参数经常会看到这个概念,比如一个摄像头帧率参数25fps,其实表示的就是1秒钟显示25个画面。每秒钟的帧数越多,fps指就是越高,所显示的视频动作画面就会越流畅,码流就会需要越大,比如普通的视频监控画面的帧率一般就是25fps,普通场景下,这个视频画面以及非常流畅,而对于高速上的抓拍摄像头,25fps的帧率往往不够,对快速过来的车辆抓拍往往会形成视频画面拖尾的现象,这就需要配置高帧率摄像头,比如常用的有120fps的高帧率工业摄像头;原创 2023-06-19 09:18:27 · 1926 阅读 · 0 评论 -
【深度学习】MixUp数据增强方法
写一点数据增强吧MixUp数据增强方法在最近的几个Yolo算法中得到了广泛的应用,特别在YoloX中,s/m/l/x四个型号的网络都使用了MixUp数据增强。nano和tiny由于模型的拟合能力一般没有使用MixUp,但也说明了MixUp具有强大的数据增强能力。MixUp的思路较为简单,主要是将两张图像按比例进行混合,如图所示:图片混合完成后,原来两幅图片的真实框此时也位于一幅图像上。原创 2023-06-18 22:26:11 · 2764 阅读 · 1 评论 -
【嵌入式模型转换】1. 算能盒子SE5 芯片板子BM1684
官网文档指引:https://doc.sophgo.com/sdk-docs/v23.03.01/docs_latest_release/docs/SophonSDK_doc/zh/html/common_test/disclaimer.html写的很好,真的很好,就是太太太太多多多多了。。。。原创 2023-06-15 17:37:22 · 3414 阅读 · 0 评论 -
【深度学习】跌倒识别 Yolov5(带数据集和源码)从0到1,内含很多数据处理的坑点和技巧,收获满满
又要到做跌倒识别了。主流方案有两种:1.基于关键点的识别,然后做业务判断,判断跌倒,用openpose可以做到。但这种适合背景比较干净的,类似抖音尬舞的输出;2.基于目标监测的,有人躺下就标注为跌倒第二种方案,适合在工地,或者工厂上班的情况,因为很容易有人围观,聚集起来,方案1就容易误报,因为它为了保障速度,使用的是自下而上的方式。很容易将不同人的关键点张冠李戴,造成误报。因此我们使用方案2。原创 2023-06-06 12:21:01 · 4666 阅读 · 8 评论 -
[开发板]001瑞芯微3588s开发记录--装一个仿真环境
我是一个开发板的新手,刚买了一个瑞芯微3588s的板子,目标是要学习嵌入式的开发,也就是说把深度学习的框架,跑到板子上。万丈高楼平地起步。先把仿真环境搭建起来。仿真环境可以跑在ubuntu的机器上,但仿真环境只能运行python代码,而真是的3588s的板子是既能跑c/c++代码又能跑python代码。原创 2023-06-05 23:21:43 · 763 阅读 · 0 评论 -
【手势识别】一个很好的手势识别模型 Yolov5,可对标旷视的作品,很好用 《含数据集+源码》
项目需求,需要做一个手势识别的项目,目标对标旷视数据集在这里,我自己已经购买了, 12W+张图片,12G+,代标注。这个项目做好了,可以对标旷视的算法: https://console.faceplusplus.com.cn/documents/10065685step1:初始化数据集整理好的数据集,12W+ 19种手势, train:val=9:1names:0:one1:two_up3:three4:three25:four6:fist7:palm8:ok。原创 2023-06-02 17:25:06 · 234 阅读 · 0 评论 -
【深度学习】yolov7 pytorch模型转onnx,转ncnn模型和mnn模型使用细节
yolov7 pytorch模型转onnx,转ncnn模型和mnn模型使用细节,记录一下git仓库:前后处理是硬功夫,加油!!!原创 2023-05-31 23:02:10 · 3464 阅读 · 2 评论 -
【深度学习】Yolov8追踪从0到1, 这要是做计数啥的,简单的一批,一套工程化的代码
用了将近2年的yolov5了,之前主要做目标检测后面,还做了yolov5的分割任务和模型转换,现在又有了新任务了。是时间玩玩新模型了。最好的方式是看文档:https://docs.ultralytics.com/可以看到和以前相比,yolov已经由一个目标监测的模型,变成了一个综合魔板,可以做包括物体检查、跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。原创 2023-05-17 15:05:03 · 2339 阅读 · 7 评论 -
【多任务学习】Multi-task Learning 手把手编码带数据集, 一文吃透多任务学习
我们之前讲过的模型通常聚焦单个任务,比如预测图片的类别等,在训练的时候,我们会关注某一个特定指标的优化.但是有时候,我们需要知道一个图片,从它身上知道新闻的类型(政治/体育/娱乐)和是男性的新闻还是女性的.我们关注某一个特定指标的优化,可能忽略了对有关注的指标的有用信息.具体来说就是训练相关任务所带来的额外信息,通过在多个相关任务中共享表示,我们可以使得模型在我们原本任务上获得更好的泛化能力.这种方法就叫做多任务学习.原创 2023-05-08 00:42:31 · 3772 阅读 · 3 评论 -
【机器学习】sklearn的集成学习用于图像分类从0到1,注意点和坑点
深度学习崛起后,好像机器学习就没落了,但在固定场景下,还是很好用的。下面就是展厅项目的识别任务。老规矩,集成学习的基础知识点少讲,或者不讲,因为这种文章已经很多了。主要是基于场景的业务问题解决。对于光的影响,转成灰度图是否有影响–这是一个大的话题?待续。另外,用Haar提取特征的时候,权重文件会恐怖的达到12G,而且训练的时候内存会爆掉,这个问题耽误我小半天时间,原因未知。后来改成lbp的方式就很小的,速度也很快。原创 2023-05-06 11:54:30 · 1242 阅读 · 0 评论 -
【语义分割】unet结构和代码实现
Unet是2015年诞生的模型,它几乎是当segmentation项目中应用最广的模型。Unet已经成为大多做医疗影像语义分割任务的最基础的网络结构。也启发了大量研究者去思考U型语义分割网络。即使在自然影像理解方面,也有越来越多的语义分割和目标检测模型开始关注和使用U型结构Unet能从更少的训练图像中进行学习。当它在少于 40 张图的生物医学数据集上训练时,IOU 值仍能达到 92%。语义分割训练的过程很慢,因为对每一个像素分类的原因。earily stop 是必须使用的。原创 2023-03-19 11:10:27 · 8707 阅读 · 28 评论 -
【语义分割】LinkNet从0到1和代码实现
已经有了U-net了,为什么需要linkNet?unet见这个文章【语义分割】unet结构和代码实现:https://blog.csdn.net/weixin_40293999/article/details/129648032它引入了resNet,主打一个RealTime,实时系统,用于自动驾驶等需要快速返回结果的领域。unet适合医疗诊断等不那么实时的地方。它也借鉴了自编码器的结构。原创 2023-05-04 23:36:43 · 1953 阅读 · 0 评论 -
【深度学习】--图像处理中的注意力机制
注意力机制是一个非常有效的trick,注意力机制的实现方式有许多。可以在知网上搜索一下yolov下的目标监测的硕士论文,没有一篇不提到注意力机制的迭代修改的,所以很有必要学一下.最后给出了一个例子。注意力机制的本质:就是寻址过程!几种典型的注意力机制:左侧是hard-attention,很极端只觉得某一步时最重要的。要么时0,要么是1, 太专一右侧是soft-attention,对整个encode的结果都觉分配了权重。原创 2023-02-14 00:23:58 · 6761 阅读 · 0 评论 -
StrongSORT(deepsort强化版)学习体会
少废话,先做备忘录deepsort:几篇不错的文章。并且附上我对其中一个deepsort 单摄像头计数的解析原创 2022-11-11 18:52:06 · 1500 阅读 · 0 评论 -
【计算机组成】-原码补码相互转换关系
计算机组成-原码补码相互转换关系原创 2023-02-04 09:57:57 · 100 阅读 · 0 评论 -
【深度学习】本地vscode链接 远程服务器下的docker
本文要解决本地vscode链接远程服务器下的docker环境中的代码。场景,本地vscode链接远程服务器已经实现了,教程也很多,其好处是给了远程代码一个用vscode编辑的机会,而且还可以用远程服务器的python环境解析!但再进一步,本地vscode处理远程服务器docker下的项目是没有做到的. 本文就是尝试解决这个问题,然后再docker下完成yolov5 C++的运行,这个东西卡了我一个多月了。原创 2023-02-02 18:17:04 · 641 阅读 · 0 评论 -
【深度学习】知识蒸馏原理以及实践从0到1
有没有什么方法可以在不扩展硬件的情况下利用这些强大但庞大的模型来训练最先进的模型?目前,有三种方法可以压缩神经网络,同时保持预测性能:权值裁剪、量化、知识蒸馏知识蒸馏的本质:用一个神经网络训练另一个神经网络这篇文章将要解决如下几个问题:1.为什么需要知识蒸馏?2.如何做知识蒸馏背后原理是什么?3.实践案例4.注意事项在深度学习的背景下,为了达到更好的预测效果,高性能的神经网络往往层数纵深,参数密集,难以部署在资源受限的设备上。原创 2023-01-30 10:48:54 · 3506 阅读 · 4 评论 -
【深度学习】数据集预处理
先开个坑,朋友们可以在这里蹲续集!3.imagenet的数据…4.迭代的badcase数据。1.各大引擎爬取回来的数据。2.同事们帮我标注的数据。原创 2023-01-19 17:12:23 · 615 阅读 · 0 评论 -
【深度学习】训练集图片去重
几个数据集拼起来,不可避免的会遇到数据集重复的问题,以前就用过这个库,后来丢了,现在记录一下。git仓库: https://github.com/idealo/imagededup.git。原创 2023-01-19 15:43:35 · 920 阅读 · 0 评论 -
【Python】Padas DataFrame和列表List相互转换
【代码】【Python】Padas DataFrame和列表List相互转换。原创 2023-01-12 00:09:06 · 349 阅读 · 1 评论 -
实战YOLO V5推演(TensorRT版本 C++)
python不好用么,为什么还要转C++;yolov5的export.py 已经实现在python端的模型转化了啊?不需要c++的可以看这个《【深度学习】目标检测 yolov5模型量化安装教程以及转ONXX,torchscript,engine和速度比较一栏表》C++的学习曲线那么陡峭,性能在服务器端不如go,所以为什么不是go?原创 2022-12-07 16:10:45 · 5796 阅读 · 3 评论 -
【深度学习】训练中的一个错误
pythontrain.py--datajm_fire.yaml--weightsweights/gpu/yolov5m6.pt--img640--epochs500--workers1--batch-size16Traceback(mostrecentcalllast)File"train.py",line667,inmain(opt)File"train.py",line562,inmaintrain(opt.hyp,opt,device,callbacks)F。原创 2022-07-25 07:38:50 · 646 阅读 · 0 评论