G果
南农博士,马喽求顺利毕业。
展开
-
vm 虚拟机无法调用摄像头(亲测有效)
ubuntu18虚拟机连接usb摄像头连接失败,驱动错误解决办法主要解决方法:打开设备管理器,在vm连接摄像头的时候,对【通用串行总线控制器】进行【扫描检测硬件改动(A)】,即可发现多了一个【】且保持不变,即可以解决报错。原创 2024-08-22 16:19:44 · 1207 阅读 · 0 评论 -
调用 百度API 进行中文语音识别
的路径即可,返回的值是对应的中文字符串。格式,采样率为16000。领取资源后继续创建应用。原创 2024-03-10 23:52:17 · 1034 阅读 · 0 评论 -
调用 科大讯飞机器翻译API 进行中英文翻译(超详细教程)
调用科大讯飞机器翻译API进行中英文翻译原创 2024-02-27 13:30:00 · 1722 阅读 · 0 评论 -
pyrender复现pytorch3d渲染结果
三维结果的可视化是很重要的一个工作,目前的三维渲染库,opendr(早期论文)、pyrender、pytorch3d。在我当前的任务上是要在本地电脑window上制作一个3D标注软件,仅有Cpu,我需要一个相对实时的效果,pytorch3d渲染256x256的图像需要3-5s,pyrender的渲染速度cpu上比pytorch3d快近100倍只需要0.01-0.03s。原创 2024-01-18 14:27:59 · 1655 阅读 · 0 评论 -
小白看CLIP代码解析
把类别cls嵌入句子‘a photo of a {cls}’,并进行字符编码,默认编码长度为77,不足的填充为0,这里通常是5个单词,例如 [a, photo, of, a, apple],但是要加上起始位[sot]和结束位[eot],就是长度为7的Tensor,例如[a, photo, of, a, ‘aquarium_fish’]>>[a, photo, of, a, ‘aquarium’, ‘_’, ‘fish’],这种类别是两个单词和下划线组成的,编码为长度为9的Tensor。原创 2023-11-13 23:42:31 · 1071 阅读 · 0 评论 -
【简单的图像信息展示应用程序】PYQt5
这段代码的作用是创建一个简单的图像信息展示应用程序,用户可以点击按钮查看特定文件夹中图像的文件名、大小,并通过查看按钮查看图像。请注意,文件夹路径需要根据实际情况进行修改。原创 2023-06-18 21:44:54 · 673 阅读 · 1 评论 -
通过shell脚本执行python程序并进行多次命令行传参
因为该开源工程代码只能指定到.jpg .png等视频帧的当前目录,而我们需要提取光流的视频帧在多级目录下,需要进行目录的遍历,所以写了该shell脚本方便多个目录下视频帧的光流提取。该shell代码包含了读取当前目录所有文件判断文件名称是否为数字和判断路径是否存在三个功能。原创 2023-06-04 17:01:26 · 1605 阅读 · 0 评论 -
6D三维旋转的浅析
这篇文章分析比较了旋转矩阵,欧拉角,四元数等常见三维旋转表示对神经网络训练的影响,并提出了一种适合深度学习的三维旋转表示方法。原创 2023-02-04 22:55:58 · 2787 阅读 · 0 评论 -
超好用!win10安装Eiseg标注软件及使用(CPU版本)
众所周知,标注分割掩膜的软件一般使用labelme,但是一个一个点太麻烦了,工作量太大,,之前,我的思路就是先标少量的数据然后训练个初始模型,再用初始模型对剩下的图像预测掩膜,然后再转到labelme修改使用。ppt的抠图和ps的抠图也可以实现类似的功能,但是没有eiseg软件集成且方便。飞桨推出EIseg👌👌👌。原创 2022-12-31 19:02:18 · 1722 阅读 · 5 评论 -
将一个json中的同名标签分开保存
标注使用的软件是labelme,当一张图有多个同名的polygon标注和point标注,这个代码的作用是把它们分开成独立的标注文件,方便后续使用。下面【原图和标注】是原始的标注结果,再下面的【单个目标裁剪保存】是分开后的结果。提示:这里会用到函数,作用是判断标注的point是否在ploygon的内部,这里默认标注的点都在多边形的内部。该函数需要下载shapely函数库。原创 2022-12-30 02:00:39 · 267 阅读 · 0 评论 -
cv2 库和 plt 库在原图上画圆点和连线
【代码】cv2 库和 plt 库在原图上画圆点和连线。原创 2022-12-24 23:58:52 · 567 阅读 · 0 评论 -
计算采样点与前景边缘的最短距离(scipy.spatial.cKDTree)
在前景内的采样点用大圆表示,在背景的采样点用小圆表示。的最短距离,所以点都集中在mask的边缘。设置(64个点的坐标点)原创 2022-12-20 02:07:26 · 450 阅读 · 0 评论 -
What is Neural Rendering? 百度翻译
那么,什么是神经渲染?在运行时,物体的材质和网格被用作着色程序的输入,该程序在给定的光照条件和特定的相机角度下计算物体的外观(幻灯片2)。这种渲染管道可以创造出惊人的结果:你看过的每一部电影中的每一个CGI效果,你玩过的每一款游戏都使用了这种“经典计算机图形”管道的某种形式。该管道的主要难点在于显式定义每个对象和每个材质需要大量的工作,渲染真实或复杂的场景需要大量的计算。有了神经渲染,渲染图像所需的计算也不再与场景的复杂性(物体、灯光和材料的数量)有关,而是与神经网络的大小(执行向前传递所需的时间)有关。翻译 2022-11-27 01:01:20 · 382 阅读 · 0 评论 -
Centernet 生成高斯热图
最近学校阳了,宿舍给封了,宿舍网络不好远程跑不了实验,随缘写一下对CenterNet源码的一个解读,之前写论文的那段时间留下来的工作,respect!这个文章主要是对CenterNet中生成高斯核的部分代码进行解析,具体原理不会细讲,但是本文增加了一个很方便理解的可视化的代码,可以自己拿来跑就行,自己debug应该也可以理解作者的意思,希望对读者有帮助。可视化代码下载链接:https://download.csdn.net/download/weixin_42899627/87157112。原创 2022-11-25 20:34:53 · 3209 阅读 · 2 评论 -
基于自注意力机制与无锚点的仔猪姿态识别(农业工程学报)
该文结合 Transformer 网络与无锚点目标检测头,提出了一种新的仔猪姿态识别模型 TransFree( Transformer + Anchor-Free)。该模型使用 Swin Transformer 作为基础网络,提取仔猪图像的局部和全局特征,然后经过一个特征增强模块( Feature Enhancement Module, FEM)进行多尺度特征融合并得到高分辨率的特征图,最后将融合后的特征图输入 Anchor-Free 检测头进行仔猪的定位和姿态识别。原创 2022-10-28 15:54:07 · 834 阅读 · 2 评论 -
Ubuntu Rtx3090 Cuda11.7 安装 pytorch3d
pytorch ubuntu pytorch3d 安装原创 2022-08-28 23:20:03 · 1658 阅读 · 1 评论 -
CUB_200鸟类数据集关键点可视化
CUB_200鸟类数据集可视化原创 2022-07-23 20:27:34 · 818 阅读 · 0 评论 -
读 wav 音频画 mel 频谱图(python)
通过wav音频文件,画出mel频谱图原创 2022-07-14 09:00:00 · 2102 阅读 · 0 评论 -
xml2json(PASCAL VOC 转 COCO)
xml 文件(多个)由 labelimg 软件标注目标生成(一张图上的标注信息)json文件(1个)coco数据集格式(多张图的标注信息)import osimport globimport jsonimport shutilimport numpy as npimport xml.etree.ElementTree as ETimport timefrom tqdm import tqdm START_BOUNDING_BOX_ID = 1 def get(root, nam原创 2022-05-16 09:48:35 · 1142 阅读 · 0 评论 -
YOLOX训练自己的数据集(COCO格式)
yolox+coco原创 2022-04-06 10:00:00 · 3101 阅读 · 0 评论 -
bbox的各种格式转换(detectron2函数库)
参考网址:classdetectron2.structures.BoxMode(value)原创 2022-02-15 17:10:49 · 4639 阅读 · 1 评论 -
yolov5 结果 results.txt 可视化
写在前面的话虽然也有yolov5官方代码也有相关的可视化代码,但是本文是基于 results.txt 的可视化,有一点的参考意义results.txt 的可视化import matplotlib.pyplot as pltimport numpy as npcolumn=['epoch','train_GIOU_loss','train_obj_loss','train_cls_loss','total','target','img_size','precision','recall','MAP原创 2021-12-12 01:59:01 · 9342 阅读 · 39 评论 -
论文里面 Param
下图来自 ECA-Net (CVPR2020, paper)GitHub链接:https://github.com/BangguWu/ECANet我原本一看到看到 Params 的 M 结尾就想到是存储单位,参考文章:CNN模型的计算量、参数、显存占用原创 2021-12-12 01:39:50 · 3585 阅读 · 0 评论 -
统计标注的各类目标数量(xml标注格式)
注意:本文代码建议把图片和标注文件分开放图片存在 images 文件夹下(这里用不到)标注文件存在 annotations 文件夹下这里还用到 tqdm 库来显示进度条,不需要可以注释掉import xml.etree.ElementTree as ET #导入xml模块import pickleimport osimport globfrom os import listdir, getcwdfrom os.path import joinfrom tqdm import tqdm#原创 2021-11-03 23:25:27 · 806 阅读 · 1 评论 -
Swin Transformer 的理解
原创 2021-10-10 22:45:02 · 258 阅读 · 7 评论 -
修改COCO评价指标 maxDets=[10,15,20]
默认的COCO评价指标 maxDets=[1,10,100]该指标的意思是分别保留测试集的每张图上置信度排名第1、前10、前100个预测框,根据这些预测框和真实框进行比对,来计算AP、AR等值(有点复杂,具体自行百度)在coco这种公共数据集上,需要一个统一的评价标准【用人家的数据集肯定要用人家定的评价标准】,因此可以看到许多改进算法类的论文在coco数据集上的效果都是用AP、AP50这些表示我需要的 maxDets=[10,15,20]但我用的是自己数据集,只是数据格式是coco的格式,评价标准还原创 2021-10-10 22:24:56 · 5926 阅读 · 6 评论 -
detectron2 画混淆矩阵、PR曲线、置信度曲线
写在前面的话正如该文标题所说:detectron2 画混淆矩阵、PR曲线、置信度曲线detection2 是没有这些功能函数的,画图的代码参考自yolov5的源码:ultralytics|yolov5讲个题外话,现如今的yolov5都能pip install yolov5当做库函数使用了,是真的不错!还有要讲的是,这部分代码不容易看懂,但是思路还算是清晰的,我已经移植成功过很多次了,肯定是可以跑通的,不要代码拿来就跑,一报错就说代码不行,基本的看代码的能力还是要有的。该代码仅供学习交流使用,如果原创 2021-10-01 17:15:37 · 4607 阅读 · 14 评论 -
detectron2 在训练过程中输出 validation loss(验证集的损失)
写在前面的话该问题在 GitHub的 detectron2 的 issues 上被提出,有人解决了(如下图所示)提示一下,去 GitHub 上的 issues 搜索问题,尽量找【closed】标签的,这些基本都是有解决方法的问题。这里只做个记录,仅供学习使用参考GitHub链接:How do I compute validation loss during training?这个实现的很巧妙,直接把训练集的替换成验证集,用原本的训练集的计算loss的方法做计算添加的包from detect原创 2021-09-02 15:40:23 · 4069 阅读 · 0 评论 -
detectron2 在训练过程中保存(根据maxAP50)model_best.pth 权重
写在前面的话该问题在 GitHub的 detectron2 的 issues 上被提出,有人解决了(如下图所示)提示一下,去 GitHub 上的 issues 搜索问题,尽量找【closed】标签的,这些基本都是有解决方法的问题。这里只做个记录,仅供学习使用参考GitHub链接:Feature: a hook to automatically save the best model during training添加的包from detectron2.engine import HookBas原创 2021-09-03 01:20:27 · 2767 阅读 · 11 评论 -
训练 detectron2 遇到的 bug : 训练过程中无法评估测试集
写在前面的话最近在使用 detectron2 训练网络的时候,我想在训练的过程中能看到模型对测试集的检测效果,我在yaml配置文件设置的是5000次迭代输出一次对测试集的评估结果,设置代码如下:cfg.TEST.EVAL_PERIOD = 5000 #打印输出但是当我训练到第5000个迭代的时候却没有如我设想的出现测试集的评估结果,显示的是一个 warning ,报错如下:No evaluator found. Use DefaultTrainer.test(evaluators=), or im原创 2021-08-20 22:30:06 · 2997 阅读 · 4 评论 -
detectron2 中 demo 可视化添加置信度阈值
写在前面的话我最近在使用detectron2深度学习库进行实验,在跑检测框的可视化的时候,发现框很多很乱,而且很多置信度很低的检测框也画了出来,这看起来很难受,于是我就想着设定一个置信度阈值(score_threshold)来进行检测框筛选,使得可视化更直观,更加灵活.初始的demo增加置信度阈值后的demodemo.py 完整代码from detectron2.utils.visualizer import ColorModefrom detectron2.data import Meta原创 2021-08-19 23:00:54 · 2161 阅读 · 2 评论 -
使用detectron2 出现 RuntimeError: object has no attribute nms 报错记录
代码环境:python = 3.6torch = 1.6.0torchvision = 0.7.0cuda = 9.2detectron2 = 0.4安装torch和torchvision命令(来自pytorch官网V1.6.0)conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=9.2 -c pytorch安装detectron2命令对应torch1.6.0版本(来自detectron2官网的installation教原创 2021-07-12 16:04:03 · 2041 阅读 · 0 评论 -
json文件转xml文件
json文件格式这是yolov4模型跑出来的检测结果result.json下面是截取的一张图的检测结果{ "frame_id":1, #图片的序号 "filename":"/media/wuzhou/Gap/rgb-piglet/test/00000000.jpg", #图片的路径 "objects": [ #该图中所有的目标:目标类别、目标名称、归一化的框的坐标(xywh格式)、置信度 {"class_id":0, "name":"pp", "relative_coordinates":原创 2021-07-01 01:09:07 · 1918 阅读 · 2 评论 -
MS-AGCN论文邻接矩阵及对应人体结点连接可视化
MS-AGCN论文篇名:Skeleton-Based Action Recognition with Multi-Stream Adaptive Graph Convolutional Networks论文链接:https://ieeexplore.ieee.org/abstract/document/9219176开源代码链接:https://github.com/lshiwjx/2s-AGCN论文中对邻接矩阵的说明邻接矩阵被分为3个subset,一个是自身点的集合,一个向心点的集合,一个是离心原创 2021-06-20 17:38:04 · 1130 阅读 · 0 评论 -
画 mask( json文件由 labelme 标注 )
一、准备工作1. image_and_json文件夹:里面存放图片和 json 文件(labelme4.5.6标注)注意:图像和json标注文件要放在同一个文件夹里面,labelme的版本是4.5.62. Visualization文件夹:保存添加 mask 后的图片(代码自动生成,不需要新建)3. labels.txt:写入类别信息(labelme标注时给物体的类别名称)提示:这里的__ignore__ 和 __background__是固定的,01、02、03是用labelme标注时给的物原创 2021-05-28 16:43:47 · 1624 阅读 · 0 评论 -
Swin Transformer 类可视化(grad CAM)
完整代码from pytorch_grad_cam import GradCAM, ScoreCAM, GradCAMPlusPlus, AblationCAM, XGradCAM, EigenCAMfrom pytorch_grad_cam.utils.image import show_cam_on_imagefrom torchvision.models import resnet50import globfrom demo import parse_optionfrom models i原创 2021-05-05 17:29:03 · 5686 阅读 · 3 评论 -
制作 ImageNet 验证集的标签 val_map.txt(1000类)
适配 swin transformer 工程最终输出的 val_map.txtILSVRC2012_img_val 文件夹里面都是图像label_map.txt (通过“n01440764"找到其对应的索引,也就是其类别(1000类)的索引)需要的参数val_dir 图像单独保存路径(验证集有6.2G,官网注册去下载,需要机构邮箱,邮箱名称末尾不能是.com)官网链接: https://imagenet.stanford.edu/challenges/LSVRC/2012/index.ph原创 2021-04-30 09:47:02 · 4115 阅读 · 4 评论 -
CUB200-2011数据集 mask 分割可视化
Caltech-UCSD Birds 200(简称CUB200)Caltech-UCSD Birds-200-2011 数据集(简称CUB200-2011)CUB200类别数:200图片数量:6033(训练数据集有5994张图像,测试集有5794张图像)CUB200-2011(本文使用)类别数:200图片数量:11,788(训练数据集有5994张图像,测试集有5794张图像)完整代码import cv2from PIL import Imageimport numpy as np原创 2021-04-18 21:52:37 · 2806 阅读 · 4 评论 -
nms 算法演示(附代码)
NMS_DEMO 动图演示'''一共9个框,前4列是坐标(xyxy格式),最后一列是置信度'''boxes=np.array([ [100,100,210,210,0.72],#0 [280,290,420,420,0.8],#1 [220,220,320,330,0.92],#2 [105,90,220,210,0.71],#3 [230,240,325,330,0.81],#4原创 2021-04-05 14:46:51 · 773 阅读 · 2 评论 -
图片转视频(opencv + python)
import numpy as npimport cv2import glob def imgs2video(out_dir,video_name,fps,img_w,img_h): fourcc = cv2.VideoWriter_fourcc(*'MJPG') out = cv2.VideoWriter(out_dir+video_name, fourcc, fps, (img_w,img_h),True) return outdef main(): im.原创 2021-04-02 09:28:01 · 592 阅读 · 4 评论