Jack Huang's Blog


  • 首页

  • 标签

  • 归档

  • 搜索

目标检测相关知识记录

发表于 2022-04-27 | 更新于 2022-05-30

目标检测任务是找出图像或视频中人们感兴趣的物体,并同时检测出它们的位置和大小。不同于图像分类任务,目标检测不仅要解决分类问题,还要解决定位问题,是属于Multi-Task的问题。

作为计算机视觉的基本问题之一,目标检测构成了许多其它视觉任务的基础,例如实例分割,图像标注和目标跟踪等等;从检测应用的角度看:行人检测、面部检测、文本检测、交通标注与红绿灯检测,遥感目标检测统称为目标检测的五大应用。

数据集

参考链接

  1. 综述:目标检测二十年(2001-2021),by 派派星.
  2. 2021深度学习目标检测综述,by 叶舟.
  3. 综述计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割,by ExtremeMart.
  4. 计算机视觉—–图像分类综述,by Avery123123.
  5. 红外图像数据集,by hunnzi.
  6. FLIR红外数据集踩坑总结,by FLIR红外数据集踩坑总结.
  7. 轻型网络知识点,by 飞翔的河马F.
  8. 树莓派zero图像分类与目标检测,by 孙易泽 吴锦程 詹沛 徐潇涵.
  9. (三十三)通俗易懂理解——SSD原理与实现,by 梦里寻梦.
  10. YOLO目标检测从V1到V3结构详解,by AI算法与图像处理.
  11. 目标检测|YOLO原理与实现,by 小小将.
  12. 深度学习目标检测系列:一文弄懂YOLO算法|附Python源码,by 阿里云云栖号.
  13. Stacked Hourglass Networks简析,by TwiLight.
  14. 详解Region Proposal Network,by 不认输的绿皮车.
  15. RPN(Region Proposal Network)和 Anchor 理解,by 梦星魂24.
  16. CVPR2019目标检测方法进展综述,by SIGAI.
  17. 重读 CenterNet,一个在Github有5.2K星标的目标检测算法,by 忆臻.
  18. centernet论文阅读笔记,by 雾游.
  19. 一文看尽物体检测中的各种FPN,by 小纸屑.
  20. 【深度学习】Faster-RCNN:1. 特征金字塔网络Feature Pyramid Network,by dinghye.
  21. Batch Normalization:批量归一化详解,by wxler.
  22. 详解残差网络,by 大师兄.
  23. 物体检测中的特征金字塔,by 尹国冰.

网线的相关知识

发表于 2022-04-02

最近家里电信宽带免费设计到千兆了,可是一测试,网速还是百兆,问题出在哪呢?感紧学习一下,解决这个问题。

问题原因

家里网络是电信光猫加荣耀路由pro2,通过网络测速,发现荣耀路由pro2与光猫之间网速只有百兆。刚开始以为是荣耀路由pro2与光猫之间使用五类线的原因,后面才发现不是这个原因。真正的原因是电信光猫过于老旧,其网口是百兆口。看来只能换新的拥有千兆网口的光猫了。

解决方法

换光猫步骤如下:

  • 获得老光猫的LOID和Password。
  • 新光猫恢复出厂设置后,连接新光猫。
  • 使用老光猫的LOID和Password,注册新光猫。

参考链接

  1. 为什么网线传输不超过一百米?,by 武汉格凌科技.
  2. 千兆宽带配什么网线?终于有人讲清楚了,by 上海电信.
  3. 路由器 Wi-Fi 实际测试速率达不到宣传的 Wi-Fi 最高速率,by huawei.
  4. Cat5e,超五类线到底能不能支持千兆?,by 猿某人.
  5. 老房子WiFi布网攻略 篇四:IPTV无线化——光猫更换指南,by qianseyue.

Matlab导出精美论文插图

发表于 2022-03-29 | 更新于 2023-04-08

Matlab绘图代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
x = 0:0.01:0.05;
y = 1:-0.18:0.1;
plot(x,y)

x = [0 0.2 0.5 1.2 1.8 2.5 3.3 3.8 4 5];
y = [1 -1 0 0.8 0 -0.6 0 0.2 0.15 -0.1];
xx=[0:0.01:5]; yy=spline(x,y,xx); %三次样条插值函数
plot(xx,yy)

% 显示坐标区网格线
grid on

% 设置坐标轴范围
xlim([0 0.06])
ylim([0 1])

% 设置坐标轴刻度
xticks([0 0.02 0.04 0.06])
yticks([0 0.5 1])

% 设置图框纵横比
left=200;%距屏幕左下角水平距离
bottem=200;%距屏幕左下角垂直距离
width=400;%宽度,像素数
height=200;%高度
set(gcf,'position',[left,bottem,width,height])

% 设置坐标轴名称
xlabel('t/s')
ylabel('\omega_x/(\circ)*s^{-1}')

参考链接

  1. MATLAB如何导出精美的论文插图?,by 易夕.
  2. MATLAB图文本中的希腊字母和特殊字符,by matlab.

python项目组织方法

发表于 2022-03-04

如何科学的组织是构建大型项目的基础,可是人员分工协作的前提。下面介绍Python项目的组织方法

基本概念

类

模块

包

参考链接

  1. Python 大型项目基础:包、模块、类的组织,by 小天儿.
  2. Python 软件项目文件结构组织,by Marlous.
  3. 组织好你的项目,by hitchhiker.

ProcessMonitor监控软件安装过程

发表于 2022-02-26

最近在安装Office2013的过程中,提示需要卸载已安装的Office2010,然而卸载了Office2010之后,依然提示该错误,无法安装Office2013。

分析其原因,可能是卸载Office2010不干净,在注册表中还存留Office2010的注册表信息,而当运行Office2013的Setup.exe安装程序时,刚好读到存留的Office2010注册表信息,于是Office2013的Setup.exe安装程序认为Office2010没有卸载,从而无法继续安装。

解决方法是找到并删除Office2013的Setup.exe安装程序读取的Office2010的注册表信息,该条注册表信息导致Office2013的Setup.exe无法继续。

可以使用Process Monitor监控软件解决该问题。

参考链接

  1. ProcessMonitor文件以及注册表监视器的使用,by Amrecs.
  2. 如何知道安装程序在进行安装时对你的电脑到底做了什么?,by zhaotianff.

tf.stop_gradient梯度截断作用

发表于 2022-02-24

可能会有这样的场景, 即我们可能只需要训练网络的特定部分, 然后网络的其余部分则保持未之前的状态(不进行梯度更新). tf.stop_gradient 正是为了处理这一情景的. 即在 tf.stop_gradient 中执行任何操作都不会导致在 BP 过程中梯度的更新.

参考链接

  1. 【Tensorflow】— tf.stop_gradient梯度截断作用,by 代码先锋网.

对偶问题转化

发表于 2022-02-23 | 更新于 2022-02-24

在一个优化问题中,原始问题通常会带有很多约束条件,这样直接求解原始问题往往是很困难的,于是考虑将原始问题转化为它的对偶问题,通过求解它的对偶问题来得到原始问题的解。对偶性(Duality)是凸优化问题的核心内容。

参考链接

  1. 线性规划原问题对偶问题之间的转化,一张图带你理解,by 中南自动化学院“智能控制与优化决策“至渝.
  2. 简易解说拉格朗日对偶(Lagrange duality),by 90Zeng.
  3. 拉格朗日对偶性,by Eureka.
  4. 【凸优化笔记6】-拉格朗日对偶(Lagrange duality)、KKT条件,by Lauer.
  5. 拉格朗日对偶性(Lagrance duality) 推导与简单理解,by 小鹅鹅.
  6. 拉格朗日对偶性,by 井底蛙蛙呱呱呱.
  7. 拉格朗日对偶,by Frostime.
  8. 优化方法:原问题和拉格朗日对偶问题(primal-dual),by 俎志昂.
  9. 拉格朗日对偶详解,by CodeAntenna.

最大似然估计

发表于 2022-02-22

在统计学中,最大似然估计(英语:Maximum Likelihood Estimation,简作MLE),也称极大似然估计,是用来估计一个概率模型的参数的一种方法。

$$ \begin{aligned} \ln p(x_i|\mu,\sigma) = \ln \frac{1}{\sqrt{2\pi} \sigma} \exp \left{ - \frac{(x_i-\mu)^2}{2\sigma^2} \right} \ = \left{ - \frac{(x_i-\mu)^2}{2\sigma^2} - \ln \sigma - \ln \sqrt{2\pi} \right} \end{aligned} ​$$

参考链接

  1. 最大似然估计,by wikipedia.
  2. 一文搞懂极大似然估计,by 忆臻.
  3. 高斯分布微分熵的推导,by 机器学习的小学生.
  4. 高斯分布的极大似然估计,by Yemiekai.

QT5中文乱码解决方法

发表于 2022-02-21 | 更新于 2025-07-30

问题产生

常用设置窗口标题方式:

1
2
3
4
window.setWindowTitle("中文") 

QString title = "中文"
window.setWindowTitle(title);

使用上述方式设置窗口标题将产生乱码。

原因分析

字符编码不匹配导致乱码现象。

1
2
3
4
5
6
7
8
9
10
11
12
/* 源码版本5.12 */
void QWindowsWindow::setWindowTitle(const QString &title)
{
setWindowTitle_sys(QWindowsWindow::formatWindowTitle(title));
}

/* 源码版本5.12 */
void QWindowsBaseWindow::setWindowTitle_sys(const QString &title)
{
qCDebug(lcQpaWindows) << __FUNCTION__ << this << window() << title;
SetWindowText(handle(), reinterpret_cast<const wchar_t *>(title.utf16()));
}

从源码可以看出title.utf16()最终转换为utf16字符编码。

解决方案

1
2
3
4
5
6
QString::fromUtf16(u"中文");

QString::fromLocal8Bit("中文");

// 推荐
QString str = QStringLiteral("中文文本");

参考链接

  1. QT 中文乱码解决汇总(包括QString与string、char*互转乱码),by 高祥xiang.
  2. 源码分析Qt窗口标题中文乱码的问题,by Qt君.

QT多线程及其与GUI组件的通信

发表于 2022-02-21

每个程序启动后拥有的第一个线程称为主线程,即GUI线程。QT中所有的组件类和几个相关的类只能工作在GUI线程,不能工作在次线程,次线程即工作线程,主要负责处理GUI线程卸下的工作。

每个线程都有自己的栈,因此每个线程都要自己的调用历史和本地变量。线程共享相同的地址空间。

QT线程创建方法

QThread使用方法1——重写run()函数

对于使用Qthread创建的进程而言,run()函数则是新线程的入口,run()函数退出,意味着线程的终止。

QThread使用方法2——moveToThread()

如果不想每执行一种任务就自定义一个新线程,那么可以自定义用于完成任务的类,并让它们继承自QObject。

然后使用moveToThread()将QObject对象实例移动到新线程。注意moveToThread()是QObject的公有函数。移动之后启动子线程。

多线程与GUI组件的通信

GUI系统的设计原则:所有界面组件的创建只能在GUI线程(主线程)中完成。子线程与界面组件的通信有两种方式:

  • 信号槽方式
  • 发送自定事件方式

参考链接

  1. 深入理解QT多线程编程,by 编程宝库.
  2. 零基础学 qt4 编程,by wd007.
  3. 多线程与界面组件的通信,by 程序员ITS401.
  4. QT从入门到入土(五(1))——多线程(QThread),by 唯有自己强大.
上一页1…181920…54下一页

Jack Huang

537 日志
69 标签
© 2026 Jack Huang
由 Hexo 强力驱动
|
主题 — NexT.Muse