<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[人唯优的博客]]></title><description><![CDATA[人唯优，才可爱]]></description><link>https://blog.csdn.net/weixin_36714575</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; weixin_36714575]]></copyright><item><title><![CDATA[直播流AI应用开发工程技巧(一) 视频帧传输推理优化]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/129833061</link><guid>https://blog.csdn.net/weixin_36714575/article/details/129833061</guid><author>weixin_36714575</author><pubDate>Wed, 29 Mar 2023 21:13:27 +0800</pubDate><description><![CDATA[最近在做直播流上面的AI应用，所以这个系列主要是记录一些在直播流项目中的工程经验。比如如何基于Flask快速进行视频帧的传输推理，如何用ffmpeg-python里面快速搭建起视音频直播流推理环境，保证音视频时序对齐，如何尽可能多线程的方式加速应用等等。这篇我们一起讨论下第一个主题，如何使用python flask来做一个直播流上面的推理引擎。应用场景比如说视频的逐帧审核、逐帧打标等等，当然对于抽帧的逻辑也是同样适用的。在直播应用中使用AI推理，我个人经验是整体的编解码和AI推理的性能都很重要。]]></description><category></category></item><item><title><![CDATA[TensorRT8 meets Python(三) Onnx+TensorRT推理(案例基于yolov5 6.0)]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/129813578</link><guid>https://blog.csdn.net/weixin_36714575/article/details/129813578</guid><author>weixin_36714575</author><pubDate>Tue, 28 Mar 2023 21:30:56 +0800</pubDate><description><![CDATA[在前面两篇我们介绍了TensorRT的环境部署以及TensorRT的功能性介绍。在使用tensorRT的时候，最常见的方式就是各种训练框架都基于Onnx来做中间转换，通过Onnx来生成TensorRT engine,进而享受到TensorRT的推理速度。所以本文就以常见的检测模型yolov5 6.0 来进行TensorRT模型的部署。整体测试都是基于TensorRT python backend，在开始之间请大家思考如下问题？1.推理时所选的BatchSize 和 Fps的关系是怎样的？]]></description><category></category></item><item><title><![CDATA[TensorRT8 meets Python(二) TensorRT快速入门介绍]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/129779404</link><guid>https://blog.csdn.net/weixin_36714575/article/details/129779404</guid><author>weixin_36714575</author><pubDate>Sun, 26 Mar 2023 18:00:42 +0800</pubDate><description><![CDATA[本系列教程是重点关注如何在Python环境中转换、使用TensorRT做深度模型的推理。在上篇中，我们介绍了TensorRT在python和ubuntu环境中的部署。重点就是解决好显卡驱动、cuda、cudnn和tensorRT之间的版本对应关系。在本篇中，我们快速介绍TensorRT的入门知识，为后续的TensorRT模型部署打下基础。笔者建议还是过一遍Nvidia TensorRT官方教程，如果实在懒或者英语困难的同学，也可以看下我为大家划好的原文重点和解释。]]></description><category></category></item><item><title><![CDATA[TensorRT8 meets Python(一)解决TensorRT8部署+升级的坑]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/129751726</link><guid>https://blog.csdn.net/weixin_36714575/article/details/129751726</guid><author>weixin_36714575</author><pubDate>Fri, 24 Mar 2023 16:21:23 +0800</pubDate><description><![CDATA[最近打算为希望在python项目中使用TensorRT模型推理的同学出一套博客。一方面python调用tensort的方式已成熟且简单灵活，另一方面可以与python强大的数据处理功能向结合。在这个过程中，又希望使用到trtexec命令行工具进行模型转换，所以需要在python环境和linux环境下都部署同版本的tensorrt。在这个过程中发现了很多坑，且网上教程很乱，因此记录下来提供给大家]]></description><category></category></item><item><title><![CDATA[Yolo5-face：简单实用的人脸检测框架（汇总篇）]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/126213951</link><guid>https://blog.csdn.net/weixin_36714575/article/details/126213951</guid><author>weixin_36714575</author><pubDate>Sun, 07 Aug 2022 17:24:06 +0800</pubDate><description><![CDATA[Yolov5-face框架精讲]]></description><category></category></item><item><title><![CDATA[计算机视觉知识点整理（上） 基础篇（持续更新）]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115698613</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115698613</guid><author>weixin_36714575</author><pubDate>Wed, 14 Apr 2021 14:55:45 +0800</pubDate><description><![CDATA[前言

最近在面试，每天会被考到很多知识点，这些知识点有些我已经看了十几遍，还是会反应慢或者记不住。回想我在学习过程中，也是学了忘忘了学，没有重复个几十遍根本难以形成永久记忆。这次我复习和整理面试知识点的时候决定把CNN里面的关键创新点、容易疏忽的点都记录下来，方便快速查找回顾，于是就有了这篇像词典一样的永久更新的文章。

一.基础知识

1.1 BatchNorm/LayerNorm/InstanceNorm/GroupNorm

基础知识点
			记忆点
			备注
		Batch Norm
			达到]]></description><category></category></item><item><title><![CDATA[计算机视觉知识点整理（下）轻量化篇（持续更新）]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115698788</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115698788</guid><author>weixin_36714575</author><pubDate>Wed, 14 Apr 2021 14:54:54 +0800</pubDate><description><![CDATA[前言

最近在面试，每天会被考到很多知识点，这些知识点有些我已经看了十几遍，还是会反应慢或者记不住。回想我在学习过程中，也是学了忘忘了学，没有重复个几十遍根本难以形成永久记忆。这次我复习和整理面试知识点的时候决定把CNN里面的关键创新点、容易疏忽的点都记录下来，方便快速查找回顾，于是就有了这篇像词典一样的永久更新的文章。

一、轻量化

1.1 轻量化网络

网络名称
			记忆点
			备注
		MobileNetV1
			深度可分离卷积替换传统卷积
			计算量和参数量下降为原来的1/Dk^2（Dk为]]></description><category></category></item><item><title><![CDATA[小思考和小创新：自创一种小目标的分割和损失加权方法]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115609811</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115609811</guid><author>weixin_36714575</author><pubDate>Sun, 11 Apr 2021 23:51:25 +0800</pubDate><description><![CDATA[一.基本思路

最近在整理小目标的检测和分割的方法的时候，想到了基于目标面积加权的一种思路，现在记录下，后面有机会验证下，基本思路如下：

1.找到mask里所有的目标轮廓
	2.计算所有poly的面积
	3.自适应阈值比例判断哪些是小物体
	4.重新填充这些小物体
	5.拿到新的mask后映射为权重图
	6.根据权重图对CE进行小目标加权


二.源代码


import cv2
import numpy as np
import random
import torch
import matplotli.]]></description><category></category></item><item><title><![CDATA[When YoloV5 Meets Raccoon：手把手用Yolov5(v4.0)制作一个小浣熊捕捉apk]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115338297</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115338297</guid><author>weixin_36714575</author><pubDate>Wed, 31 Mar 2021 14:31:50 +0800</pubDate><description><![CDATA[一.前言
最近博主在梳理yolov5的源码，这块相信很快就能和大家见面了。与此同时我也觉得这个系列应该也配上一点实战的内容。尤其是目前端到端的实战篇真的是太少了，大部分都是讲训练的过程，但是yolov5更多的是要用到端上，比如安卓手机或者ios手机。
本篇教程就是完成这样一件事，从数据集开始完整的阐述训练+部署的详细过程，相信大家只要跟着走一遍，就能对完整的项目流程有更为清晰的认识。同时为了阅读的生动有趣，我这里打算做一个小浣熊识别的App，放到安卓手机上去识别小浣熊的照片。
二.环境、数据准备
环境：

]]></description><category></category></item><item><title><![CDATA[Faster-RCNN深度剖析+源码debug级讲解系列（三）训练]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115110506</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115110506</guid><author>weixin_36714575</author><pubDate>Tue, 23 Mar 2021 18:38:04 +0800</pubDate><description><![CDATA[前言
在之前的文章里，我们重点debug了RPN网络对于ROI的生成，详细阐述了第一次坐标调整的细节实现；以及Classifier网络对于最终结果的作用，详细阐述了第二次坐标调整的细节。这就是two-stage目标检测算法的核心。但是在RPN和Classifier之间，大家也发现了每个batch的默认的样本个数从600*B变为了128*B（B表示batchsize）。在这个过程中是怎样进行抽样的？又是怎么保证正负样本的比例的？loss是如何计算的？这些问题我们将共同在文本中结合debug去一行行的推敲。
在]]></description><category></category></item><item><title><![CDATA[Faster-RCNN深度剖析+源码debug级讲解系列（二）Classifier对ROI进行回归]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115097251</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115097251</guid><author>weixin_36714575</author><pubDate>Tue, 23 Mar 2021 00:02:25 +0800</pubDate><description><![CDATA[前言
在上一篇中我们详细的debug了Faster-RCNN的RPN网络，以及如何依据RPN对anchor进行第一次的坐标偏移。值得注意的是整个过程都是在图像的原始比例上进行的，而不是在stride层面。RPN网络的输出参数是直接调整原始anchor坐标的。
在这篇文章中我们会继续debug网络的分类部分，即模型是如何基于ROI的输出结果进行分类和回归的。当然，没有看过上一篇的小伙伴可以先看下上篇，传送门如下：
Faster-RCNN深度剖析+源码debug级讲解系列（一）RPN网络和Bbox回归
源码de]]></description><category></category></item><item><title><![CDATA[Faster-RCNN深度剖析+源码debug级讲解系列（一）RPN网络和Bbox回归]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/115058813</link><guid>https://blog.csdn.net/weixin_36714575/article/details/115058813</guid><author>weixin_36714575</author><pubDate>Mon, 22 Mar 2021 19:17:29 +0800</pubDate><description><![CDATA[前言
因为Faster-RCNN是一个非常经典的two-stage网络了，所以本来是没打算做这期内容的，但是博主觉得一方面这个网络通过各种改造仍然具备在很多竞赛中拿到top成绩的能力，另一方面这个网络的细节很多，可能非常容易被忽视。所以博主打算带大家一起剖析下Faster-RCNN的源码。当然非常基础的部分比如backbone网络构建这些，我就省略了，只重点去看一下RPN网络和分类网络两次调整BoundingBox的细节，ROI Pooling和NMS的细节等容易被忽略的地方。这个系列的第一期我们先一起来看]]></description><category></category></item><item><title><![CDATA[yolov5深度剖析+源码debug级讲解系列（三）yolov5 head源码解析]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/114238645</link><guid>https://blog.csdn.net/weixin_36714575/article/details/114238645</guid><author>weixin_36714575</author><pubDate>Sun, 07 Mar 2021 17:07:39 +0800</pubDate><description><![CDATA[前言
在上次的文章中我们解析了backbone网络的构建源码，在这篇中我们针对model.py剩余的部分进行debug解析。如果没看过之前文章的小伙伴，推荐先查看这个系列的第一篇和第二篇。下面贴上传送门：
1.yolov5源码解析第一篇 架构设计和debug准备
2.yolov5源码解析第二篇 backbone源码解析
今天我们继续对model.py里的Detect类进行解析，这部分对应yolov5的检查头部分。
detect类在model.py里，这部分代码如下：
class Detect(nn.Modu]]></description><category></category></item><item><title><![CDATA[计算机视觉知识点整理（中） 模型篇（持续更新）]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/114284660</link><guid>https://blog.csdn.net/weixin_36714575/article/details/114284660</guid><author>weixin_36714575</author><pubDate>Thu, 04 Mar 2021 11:38:54 +0800</pubDate><description><![CDATA[前言

我在学习过程中，经常反复记忆各种网络的创新点是什么。这次我复习的时候决定把里面的关键创新点、容易疏忽的点都记录下来，方便快速查找回顾。

记忆表



网络名称
			记忆点
			备注
		MobileNetV1
			深度可分离卷积替换传统卷积
			计算量和参数量下降为原来的1/Dk^2（Dk为卷积核kernel size，一般为3，所以计算量约为1/9）
		深度卷积的激活函数是Relu6
			
		下采样是通过3x3的深度卷积
			stride=2
		MobileNetV2
			.]]></description><category></category></item><item><title><![CDATA[2020年AI竞赛获奖方案复盘系列(三) 目标检测竞赛trick-kaggle小麦检测1st&2nd Place solution]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/114143104</link><guid>https://blog.csdn.net/weixin_36714575/article/details/114143104</guid><author>weixin_36714575</author><pubDate>Mon, 01 Mar 2021 14:45:30 +0800</pubDate><description><![CDATA[前言
这是2020年博主参加的第一个竞赛，kaggle上面的小麦检测。这场比赛是对小麦头进行目标识别，kaggle大赛官方说是意义重大，可以更好的评估粮食产量，为全人类做贡献，简直是厉害了。这个比赛结束后我就一直没有复盘，现在趁着做竞赛复盘系列把这些从我指间漏掉的知识一颗颗的重新收起来。

这个比赛的中后期被yolov5霸榜了，但是后来被kaggle官方禁用了。按照惯例大家先一起深吸一口欧气，我们就开始本次复盘。
首先是竞赛的传送门，请大家阅读本文前先去熟悉下赛题：
kaggle小麦竞赛传送门

现在开始复]]></description><category></category></item><item><title><![CDATA[yolov5深度剖析+源码debug级讲解系列（二）backbone构建]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/114211796</link><guid>https://blog.csdn.net/weixin_36714575/article/details/114211796</guid><author>weixin_36714575</author><pubDate>Sun, 28 Feb 2021 17:54:41 +0800</pubDate><description><![CDATA[前言
上一篇中我们简单回顾了yolov5的架构和搭建了开发环境。需要回顾的小伙伴可以点击下面传送门，基于第一篇的理解我们再进行源码解读就会有事半功倍的效果。

yolov5架构剖析和环境搭建传送门
这篇中我们开始解析yolov5的源码，类似yolov3我们同样从模型的构建开始。这部分核心的代码在yolo.py文件中。我采用的yolo代码版本是官方4.0版本（2021年1月发布的最新版本），这个版本的很多细节都和之前的略有区别了。代码传送门见下面链接。
代码传送门
另外大家可以在官网看到yolov5的技术演进]]></description><category></category></item><item><title><![CDATA[yolov5深度剖析+源码debug级讲解系列（一） yolov5的架构和源码debug准备]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/114116862</link><guid>https://blog.csdn.net/weixin_36714575/article/details/114116862</guid><author>weixin_36714575</author><pubDate>Fri, 26 Feb 2021 17:09:47 +0800</pubDate><description><![CDATA[前言
前段时间分析了yolov3的源码，这次想带着小伙伴一起把yolov5完全掌握。博主还是保持着一贯的风格，依旧采用debug级别的源码剖析。目的就是让大家可以通过一个系列的文章就把yolov5的架构、设计理念和每一行源码都弄懂。只要小伙伴可以花时间把这个系列读完，就会对yolov5的理解有所提升。
去年参加了kaggle的小麦检测比赛，yolov5在比赛的中段开始呈现霸榜趋势，超越了efficientdet。虽然最后yolov5因为权限等某些问题被kaggle官方禁用了，但是仍然体现出了其强大的能力。值]]></description><category></category></item><item><title><![CDATA[2020年AI竞赛获奖方案复盘系列(二) 遥感语义分割竞赛trick-2020华为云人工智能大赛]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/114011609</link><guid>https://blog.csdn.net/weixin_36714575/article/details/114011609</guid><author>weixin_36714575</author><pubDate>Wed, 24 Feb 2021 20:14:38 +0800</pubDate><description><![CDATA[前言
这是去年博主参加的一个语义分割竞赛，最终取得了top3%(14/377)。这是博主第一次参加遥感图像语义分割竞赛，借着这次机会博主开始了语义分割的学习旅程，比起最终名次，博主更在意的是在这个过程中能学到什么。在上次复盘了违法广告目标检测竞赛之后，博主充分意识到了复盘的重要性，因此迫不及待地对这次遥感分割竞赛进行复盘。
没看过之前违法广告的目标检测竞赛复盘的朋友可以也关注下检测赛，因为是2020年的竞赛里面很多的model和trick都是最新的，也涉及很多cvpr2020的论文。下面是传送门：
违法广告]]></description><category></category></item><item><title><![CDATA[2020年AI竞赛获奖方案复盘系列(一)  目标检测竞赛trick-华录杯违法广告检测比赛]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/113971782</link><guid>https://blog.csdn.net/weixin_36714575/article/details/113971782</guid><author>weixin_36714575</author><pubDate>Tue, 23 Feb 2021 17:51:49 +0800</pubDate><description><![CDATA[前言
博主去年参加了一系列比赛，取得了还可以的成绩，拿了几个国内比赛的top10，也拿到了kaggle的银牌。博主的梦想是有一天能够成就kaggle GM，成为一流的Data Scientist。有个遗憾的事是参加完这些比赛以后并没有好好的分析、学习其中出现的各种优秀的思路和技巧。博主并不想错过这种吸前排"欧气"的机会，所以打算写一个系列，记录我们能从这种竞赛前排选手的作品中，学到哪些内容。毕竟学到了就是自己的了。
博主只记录和学习很新的trick和模型，这些竞赛也都是20年的，所以很多trick和meth]]></description><category></category></item><item><title><![CDATA[超详细的yolov3深度剖析+源码debug级讲解（二）]]></title><link>https://blog.csdn.net/weixin_36714575/article/details/113870584</link><guid>https://blog.csdn.net/weixin_36714575/article/details/113870584</guid><author>weixin_36714575</author><pubDate>Sat, 20 Feb 2021 14:32:55 +0800</pubDate><description><![CDATA[前言
此篇文章是接上一篇内容的，上一篇的传送门：
yolov3深度剖析+源码debug级讲解（一）
在上一篇中，我们详细debug了yolov3源码models.py文件，并重点介绍了模型创建的部分。models.py里面除了Darknet类之外，还有一个重要的类YOLOLayer，它涉及了anchor的操作、GT和Pred值的放缩、iou的计算以及loss的重要内容。基本上搞懂了这个类，那么yolov3的代码核心就明白了50%以上，对于yolov3这个项目来讲，这也是最难懂的一部分代码。
希望大家再接再厉]]></description><category></category></item></channel></rss>