自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

对方正在输入中...

今朝有酒今朝醉,管他明天哪里睡

  • 博客(109)
  • 资源 (6)
  • 收藏
  • 关注

原创 找工作-体能修复8-编程-剑指offer-JZ3、JZ4、JZ5、JZ7、JZ8、JZ9、JZ10、JZ11、JZ12、JZ13、JZ14

说明: [0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[0,15],[0,16],[0,17],[0,18],[0,19],[0,20],[0,21],[0,22],[0,23],[0,24],[0,25],[0,26],[0,27],[0,28] 这29种,后面的[0,29],[0,30]以及[0,31]等等是无法到达的。请找出数组中任意一个重复的数字。

2022-11-07 15:55:08 13

原创 CV+Deep Learning——网络架构Pytorch复现系列——Detection(一:SSD:Single Shot MultiBox Detector 3.loss)

利用ground truth(match)与生成的anchor产生预测的offset。

2022-10-26 18:57:12 508 1

原创 CV+Deep Learning——网络架构Pytorch复现系列——Detection(一:SSD:Single Shot MultiBox Detector 2.anchor)

首先计算f_k(300/step_i),在通过f_k计算每组anchor的中心点cx,cy,计算两个aspect ratios=1时的s_k,再通过s_k计算w,h;接着计算aspect ratios!=1时的s_k,再通过s_k计算w,h。

2022-08-19 10:46:39 671 1

原创 CV+Deep Learning——网络架构Pytorch复现系列——Detection(一:SSD:Single Shot MultiBox Detector 1.网络模型,根据mmLab格式编写)

之前使用Pytorch深度学习架构复现了Classification,链接如下:CV+Deep Learning——网络架构Pytorch复现系列——classification(一:LeNet5,VGG,AlexNet,ResNet)CV+Deep Learning——网络架构Pytorch复现系列——classification(二:ResNeXt,GoogLeNet,MobileNet)......

2022-08-17 21:31:27 560 1

原创 CV+Deep Learning——网络架构Pytorch复现系列——classification(三:MobileNet,ShuffleNet)

上一话CV+Deep Learning——网络架构Pytorch复现系列——classification(二)因为没人看,我想弃坑了...引言此系列重点在于复现()中,以便初学者使用(浅入深出)!首先复现深度学习的经典分类网络模块,其中专门做目标检测的Backbone(10.,11.)但是它的主要目的是用来提取特征所以也放在这里,有:1.LeNet5(√,一)2.VGG(√,一)3.AlexNet(√,一)4.ResNet(√,一)5.ResNeXt(√,二).........

2022-08-08 16:14:52 755

原创 CV+Deep Learning——网络架构Pytorch复现系列——classification(二:ResNeXt,GoogLeNet,MobileNet)

上一话CV+DeepLearning——网络架构Pytorch复现系列——classification(一)https引言此系列重点在于复现计算机视觉()中,以便初学者使用(浅入深出)!首先复现深度学习的经典分类网络模块,其中专门做目标检测的Backbone(10.,11.)但是它的主要目的是用来提取特征所以也放在这里,有1.LeNet5(√,上一话)2.VGG(√,上一话)3.AlexNet(√,上一话)4.ResNet(√,上一话)10.VovNet11.DarkNet...............

2022-07-09 17:52:37 423

原创 3D视觉——4.手势识别(Gesture Recognition)入门——使用MediaPipe含单帧(Singel Frame)和实时视频(Real-Time Video)

上一话3D视觉——3.人体姿态估计(Pose Estimation) 算法对比 即 效果展示——MediaPipe与OpenPosehttps://blog.csdn.net/XiaoyYidiaodiao/article/details/125571632?spm=1001.2014.3001.5502这一章 讲述 使用MediaPipe的手势识别1.solutions.handsmediapipe手势模块(.solutions.hands)将手分成21个点(0-20)如下图1. ,可通过判断手势的

2022-07-04 11:33:24 1338

原创 3D视觉——3.人体姿态估计(Pose Estimation) 算法对比 即 效果展示——MediaPipe与OpenPose

运行结果MediaPipe人体姿态估计效果展示demo_video.pysrc/util.pysrc/hand.pysrc/body.py运行结果OpenPose效果展示需要安装OpenPose,请看我的另一篇博客:3D视觉——2.人体姿态估计(Pose Estimation)入门——OpenPose含安装、编译、使用(单帧、实时视频)运行结果OpenPose运行结果其实:1.MediaPipe比较成熟,并且不需要下载或者配置一些乱七八糟的东西,而Op

2022-07-02 13:09:41 2133 7

原创 3D视觉——2.人体姿态估计(Pose Estimation)入门——OpenPose含安装、编译、使用(单帧、实时视频)

本章博客就是对OpenPose工具包进行开发;我呕心沥血(笑哭),经历重重困难,想放弃了很多次(因为openpose的编译实在是太麻烦了)但是后来还是成功了,各位点个赞吧!这个真的太麻烦了。按照单帧图像和实时视频的顺序述写,其中单帧是使用的Pytorch编程只是调用OpenPose的模型;实时视频中使用Python调用OpenPose的包,所以必须得安装OpenPose,并对其进行编译,最后再使用。首先从github上,下载CMU提供的源码下来:https://github.com/CMU-Perceptu

2022-07-01 21:43:02 2729 10

原创 CV+Deep Learning——网络架构Pytorch复现系列——classification(一:LeNet5,VGG,AlexNet,ResNet)

引言此系列重点在于复现计算机视觉()中,以便初学者使用(浅入深出)!首先复现深度学习的经典分类网络模块,其中专门做目标检测的Backbone(10.,11.)但是它的主要目的是用来提取特征所以也放在这里,有2.VGG(√)5.ResNeXt10.VovNet11.DarkNet...注意a)完整代码上传至我的githubhttpshttpsb)编译环境设置为(其实不用这个编译环境,你会调bug也行!)d)使用了amp混精度使gpu加速,若不知如何使用可参考如下链接。.........

2022-06-28 17:18:42 765

原创 对在运动的刘耕宏进行抠图(含单帧与视频的分割算法应用)

使用MediaPipe代码讲解(1)对应结果代码讲解(2) 对应结果 代码讲解(3)对应结果 代码讲解(4)对应结果代码讲解(5) 对应结果代码讲解(6) 对应结果代码讲解(7) 对应结果完整代码2.视频公用代码部分处理每帧的函数1.将背景扣掉2.将前景扣掉3.替换背景实时摄像头捕捉亲测3个函数都能正常运行!实时视频运行结果1.将背景扣掉背景扣掉2.将前景扣掉前景扣掉3.替换背景背景扣掉.................

2022-06-16 11:49:17 166 5

原创 3D视觉——1.人体姿态估计(Pose Estimation)入门——使用MediaPipe含单帧(Signel Frame)与实时视频(Real-Time Video)

使用Mediapipe工具包进行开发MediaPipe是一款由Google Research 开发并开源的多媒体机器学习模型应用框架,用于处理视频、音频等时间序列数据。这个跨平台架构使用于桌面/服务器、Android、iOS和嵌入式设备等。我们使用MeidaPie下的Solutions(方案特定的模型),共有16个Solutions:1.solutions.posemediapipe姿态检测模块(.solutions.pose),将人体各个部位分成33个点(0-32)如下图1.图1.通常可以通过判断角

2022-06-14 16:12:19 3779 13

原创 计算机视觉可解释性——将特征图的某一通道转化为一张图来可视化

本实验是将某一层的特征图中的某一通道对其进行的可视化,有两种方式一种是使用opencv;另一种是使用tensorboard。运行结果使用的resnet50作为backbone的效果更好,将layer1的特征中第一层通道(256中的第1层)转化为图像 layer1. channels1.将layer1的特征中第一层通道(256中的第1层)转化为图像,将代码改为: layer1. channels2. layer1. channels3.... layer1. channels10....若

2022-06-10 21:25:00 648

原创 语义分割——评价指标

语义分割 (Semantic Segmentation):从像素水平(pixel-level)上,理解、识别图片的内容。根据语义信息对图像中的像素进行分割。评价指标像素准确率(Pixel Accuracy PA) or (global acc)类别像素准确率(Class Pixel Accuracy CPA)类别平均像素准确率(Mean Accuracy or Mean Pixel Accuracy MPA)平均交并比(Mean Intersection over Union MIoU)若想理解

2022-06-06 16:48:08 701

原创 如何利用Pytorch针对自己所设计的数据集进行的简单迁移学习

本博客的内容是讲解新手如何利用Pytorch针对自己所设计的数据集进行简单的迁移学习。以VGG16为Backbone,CIFAR10为数据集,AdamW为梯度下降策略,ReduceLROnPlateau为学习调整机制。注意:显卡是2060,电脑是拯救者;VGG16网络便对此进行了改进(img_size为)!也就是说这个小Demo自己的电脑也可以跑,不用在服务器下运行。文件结构 未进行迁移学习之前的vgg16,我们要用这个vgg16网络预训练CIFAR10数据集,之后再做迁移学习vgg16.py(对i

2022-06-04 23:43:43 348

原创 GitHub的常规使用

理论知识1. repository(仓库):版本库,一个目录里面的所有文件可以被git管理起来,且每个文件的修改,删除,添加,git都能跟踪,用来还原某一时刻最满意的代码(自己的理解)。2. commit(提交):将代码从暂存区提交到仓库(如下图右半部分:工作区(workspace)->暂存区(Index)->仓库(Repository))先使用git add .(所有文件用点,单个文件用文件名)将代码从工作区(workspace)存到暂存区(Index),在使用git commit将代

2022-05-28 00:05:42 75 1

原创 目标检测——梯度均衡机制GHM(Gradient Harmonized Mechanism)的理解

论文:Gradient Harmonized Single-stage Detector论文地址:Gradient Harmonized Single-stage Detectorhttps://arxiv.org/pdf/1811.05181.pdf注意 PPT图片为实验室论文研讨组会讲解所需,为笔者自己所做,慎用!Research Problems(问题)对于一阶段目标检测器的训练来说,最具挑战性的问题是: 简单和困难样本的急剧不平衡 与 正负样本的急剧不平衡 -> 并且这两种可以

2022-05-22 16:22:02 685

原创 如何使用Pytorch让网络模型加速训练?(autocast与GradScaler)

题外话,我为什么要写这篇博客,就是因为我穷!没钱!租的服务器一会钱就烧没了,急需要一种trick,来降低内存加速。回到正题,如果我们使用的数据集较大,且网络较深,则会造成训练较慢,此时我们要想加速训练可以使用Pytorch的AMP(autocast与Gradscaler);本文便是依据此写出的博文,对Pytorch的AMP(autocast与Gradscaler进行对比)自动混合精度对模型训练加速。注意Pytorch1.6+,已经内置torch.cuda.amp,因此便不需要加载NVIDIA的ape

2022-05-19 17:46:51 1145 2

原创 目标检测——COCO数据集的处理与评估

coco数据集是我们计算机视觉中最常用的数据集,因此我们需要知道并且熟悉其处理与评估1. coco数据集的处理代码:"""COCO Dataset Classes"""import osimport numpy as npfrom torch.utils.data import Datasetfrom pycocotools.coco import COCOfrom utils.path import COCO2017_path, COCO2014_pathfrom skimage

2022-05-14 16:41:24 1132

原创 使用python的parser.add_argument()在卷积神经网络中如何预定义参数?

在训练卷积神经网络时需要预定义很多参数,例如batch_size, backbone,dataset,dataset_root等等,这些参数多而且特别零散;如果我们最初不把这些参数定义,到时候修改是一件特别麻烦的事情,需要逐个修改;所以这个时候用到了python的add_argument()很好的规避了这些问题。首先讲,argparse是Python内置的一个用于命令项选项与参数解析的模块,argparse模块可以让人轻松编写用户友好的命令接口。程序定义它需要的参数,然后argparse将弄清如何从sy

2022-05-12 16:51:14 1578

原创 Pytorch中几种调整学习率scheduler机制(策略)的用法即其可视化

申明此篇博文是以AlexNet为网络架构(其需要输入的图像大小为227x227x3),CIFAR10为数据集,SGD为梯度下降函数举例。运行此程序时,文件的结构:/content/drive/MyDrive/coder/Simple-CV-Pytorch-master||||----AlexNet----train.py(train_adjust_learning_rate.py,train_MultiStepLR.py等等)||||----tensorboard(保存tensor

2022-05-11 01:15:01 1901

原创 目标检测——RetinaNet-Focal Loss 焦点损失函数的理解

论文 Focal Loss for Dense Object Detection论文地址:RetinaNet-Focal Losshttps://arxiv.org/pdf/1708.02002.pdf论文代码:RetinaNet-Focal Losshttps://github.com/yhenon/pytorch-retinanet简介问题:应用于对可能的目标位置进行定期密集采样的一阶段检测可能更快、更简单,但是迄今为止其准确率落后于二阶段检测器。所以,简单的一阶段检测器能达到二阶段

2022-05-04 19:31:02 1790

原创 体能修复7-编程-剑指offer-JZ35 复杂链表的复制

描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。 下图是一个含有5个结点的复杂链表。图中实线箭头表示next指针,虚线箭头表示random指针。为简单起见,指向null的指针没有画出。示例 输入:{1,2,3,4,5,3,5,#,2,#} 输出:{1,2,3,4,5,3,5,#,2,#}

2022-04-29 16:02:38 944

原创 体能修复6-编程-剑指offer-JZ22 链表中倒数最后k个结点

描述输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。结果

2022-04-28 15:53:03 464

原创 体能修复5-编程-剑指offer-JZ23 链表中环的入口结点

给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null (python None)。

2022-04-26 23:44:34 304

原创 使用opencv-python(cv2)如何将视频裁成图像?

在制作数据集时,首先将网上搜集到的视频裁成图像,可是如何去实现呢?考虑到opencv-python中有此类方法,故此篇博客由此诞生。注意,视频文件在笔者文件:D:\data\element (由于此数据集现处于研究阶段,尚未发布,且对于笔者特别重要,于是将其马赛克)产生新的数据集在笔者文件:D:\data\Video一个视频会裁成很多图片于是,生成的数据集细分为:D:\data\Video\1D:\data\Video\2D:\data\Video\3D:\data\Video\4D:\

2022-04-26 18:51:54 4616 2

原创 体能修复4-编程-剑指offer-JZ52 两个链表的第一个公共结点

描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)数据范围: n<=1000要求:空间复杂度 O(1),时间复杂度 O(n)例如,输入{1,2,3},{4,5},{6,7}时,两个无环的单向链表的结构如下图所示:可以看到它们的第一个公共结点的结点值为6,所以返回结点值为6的结点。输入描述:输入分为是3段,第一段是第一个链表的非公共部分,第二段是第二个链表的非公共部分,第

2022-03-31 13:02:10 34

原创 体能修复3-编程-剑指offer-JZ25 合并两个排序的链表

描述输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。数据范围: 0\leq n\leq 1000 ,−1000≤节点值≤1000要求:空间复杂度 O(1),时间复杂度 O(n)。如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6},转换过程如下图所示:或输入{-1,2,4},{1,3,4}时,合并后的链表为{-1,1,2,3,4,4},所以对应的输出为{-1,1,2,3,4,4},

2022-03-30 15:34:49 480

原创 体能修复2-编程-剑指offer-JZ24 反转链表

描述给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0≤n≤10000要求:空间复杂度 O(1) ,时间复杂度O(n) 。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示:示例1:输入:{1,2,3}输出:{3,2,1}示例2:输入:{}输出:{}说明:空链表则输出空 代码:# cl

2022-03-29 17:11:24 416

原创 体能修复1-编程-剑指offer-JZ6 从尾到头打印链表

知识点:链表描述:输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1:输入:{1,2,3}输出:[3,2,1]示例2:输入:{67,0,24,58}输出:[58,24,0,67]代码:# class ListNode:# def __init__(self, x):# self.val = x#

2022-03-29 12:38:03 278

原创 手把手教你北邮操作系统小学期实验六——Linux环境下嵌入式数据库mSQL的集成2

接上一章 手把手教你北邮操作系统小学期实验六——Linux环境下嵌入式数据库mSQL的集成1

2022-02-02 16:30:46 1631

原创 手把手教你北邮操作系统小学期实验六——Linux环境下嵌入式数据库mSQL的集成1

接上一章 手把手教你北邮操作系统小学期实验五——Linux环境下的Ramdisk技术及其实验2此实验是我做的。1.实验环境:硬件:Intel i5操作系统:Windows 8.1虚拟机:VMware Workstation 12.5.0软件:Red Hat Enterprise Linux 9 (Linux 内核 2.4.20-8)2.实验目的:实时嵌入式应用常常需要数据库的支持。虽然很多情况下可以用文件方式实现部分数据库功能,但是当应用程序需要执行一些比较复杂的数据操作时,文件方式就无能

2022-02-02 12:40:21 1514

原创 手把手教你北邮操作系统小学期实验五——Linux环境下的Ramdisk技术及其实验2

接上一章 手把手教你北邮操作系统小学期实验五——Linux环境下的Ramdisk技术及其实验13.6. 编写一个文件访问程序,对比将此文件分别存储于外设硬盘、ramdisk 分区时,程 序的执行速度。要求:程序反复多次读、写文件,以便对比不同方式下的访问时间差异。ramdisk读:非ramdisk读:ramdisk写:非ramdisk写:代码:读文件使用ramdisk不使用ramdisk写文件使用ramdisk不使用ramdisk源码:读操作#!/bin/sh

2022-02-02 12:09:51 1826

原创 手把手教你北邮操作系统小学期实验五——Linux环境下的Ramdisk技术及其实验1

接上一章 手把手教你北邮操作系统小学期实验四——Linux Shell小型化31. 实验目的:ramdisk 技术利用内存模拟硬盘空间,将一个内存块作为 1 个盘分区使用,可以提高访问速度。多某些特定的访问频率高的文件,将其存储于 ramdisk 上,可以提高访问性能。在嵌入式系统中,利用 ramdisk 技术,可以实现应用程序预加载,即初始化完成后立即加载,而不是等到需要使用时才从硬盘读取, 从而提高系统速度:将一些系统启动后经常使用的程序,如浏览器、Xwindows,利用ramdisk 将整个应

2022-02-02 11:40:04 85

原创 手把手教你北邮操作系统小学期实验四——Linux Shell小型化3

接上一章 手把手教你北邮操作系统小学期实验四——Linux Shell小型化2切换shell查看全部shell:cat/etc/shells切换shell chsh -s /bin/ash切换后需要登入和登出才能可以完成切换。试验命令:ls、pwd、hostname、date、pingls:pwd:hostname:date:ping:下一章 手把手教你北邮操作系统小学期实验五——Linx环境下的Ramdisk技术及其实验1...

2022-02-02 10:56:17 458

原创 手把手教你北邮操作系统小学期实验四——Linux Shell小型化2

接上一章 手把手教你北邮操作系统小学期实验四——Linux Shell小型化1配置busybox$ make defconfig : 针对大多数用户的默认配置$ make allnoconfig : 全不选$ make allyesconfig : 全选以上三个指令可以完成不同需要的配置,也可以使用make menuconfig来进行菜单配置General Configuration:Show verbose applet usage messagesRuntime SUID/SGID

2022-02-02 10:29:37 1211

原创 手把手教你北邮操作系统小学期实验四——Linux Shell小型化1

接上一章 手把手教你北邮操作系统小学期实验三——ARM/ucLinux-SkyEye的安装,配置与集成4此实验是队友做的。1. 实验目的:Shell 是一种 Linux 系统与用户的交互方式,是最基本也是最重要的一个应用程序。 很多嵌入式系统也离不开 Shell。Red Hat Linux 所用的 shell 是 BASH。BASH 功能强大, 但高达 500 多 K,如果把所需要的库以及应用程序包括起来大小会有 3M 到 4M,用在 嵌入式系统并不是很合适。体积更小的 shell 主要有 Bus

2022-02-01 22:23:28 549

原创 如何免费使用谷歌服务器 - How to use Google GPU for free

1.申请谷歌账号

2022-01-31 12:01:22 1697

原创 20.初识Pytorch使用cuda对模型进行训练和测试或使用cuda对模型进行训练再用cpu测试Use cuda to train and test or use cpu test

如果使用cuda进行训练,则需要在以下三个地方进行修改,告诉计算机使用的是cuda,并且有两种方式(待会再讲):If using cuda for training, you need to modify the following three places to tell the computer to use cuda, and there are two ways (more on this later):1.网络结构1.Network structure2.损失函数2.Loss fun

2022-01-28 23:42:28 2151

原创 19.初识Pytorch之完整的模型套路-整理后的代码 Complete model routine - compiled code

**1**.Ready modelLeNet_5.pyfrom torch import nnclass LeNet_5(nn.Module): def __init__(self): super(LeNet_5, self).__init__() self.model = nn.Sequential( # input:3@32x32 # 6@28x28 nn.Conv2d(in

2022-01-28 22:31:23 3014 4

imagenet-simple-labels.json

CAM 标签的本地下周

2021-10-19

蓝桥杯入门题2

请大家多多支持.................................................................

2018-02-01

蓝桥杯入门题1

请大家多多支持................................................................................................................................................................................................................................................................................................................

2018-02-01

Matlab2016a

Matlab 2016a 希望大家多多支持,谢谢..................................................................................................................................................................................................................

2018-02-01

JAVA数据结构与算法分析

2016-10-22

关于高德地图的开发《一苇渡江》

《一苇庐江》是基于高德地图的下的安卓开发,其中只罗例了定位、天气、周边等功能,还包括了一个能链接到百度百科的网页。

2016-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除