计算机视觉导言

本文是 鲁鹏 教授的《计算机视觉与深度学习》(2022 年)课程的一部分。

前言

计算机视觉简介

计算机视觉是研究如何使计算机能够“看”的学科。它的目标是让计算机能够处理和理解图像和视频数据。

观察人类视觉系统,可发现它存在诸多优势和弊病(此类弊病是为了适应环境而产生的,从进化的角度来说并非弊病)。

计算机视觉的两个主要研究方向是三维重建和语义信息提取(图像理解)

本课程介绍

本课程聚焦于视觉识别任务中最基础也最为重要的任务——图像分类。除此之外,还会涉及一些衍生任务,包括目标检测、图像分割、图像描述、图像生成等。

对于这些任务而言,基于卷积神经网络(CNN) 的深度学习方法是目前(21 世纪初)最为有效的解决方案。卷积神经网络始于 1998 年的 LeNet。在 2015 年,在 ImageNet 数据集上的图像分类任务上,计算机的准确率已经胜过人类。

本课程会讲解多种深度网络结构(包括全连接神经网络、卷积神经网络、循环神经网络、变分自编码网络、生成对抗网络等)。

相关课程

  • CS131: Computer Vision: Foundations and Applications
  • CS231a: Computer Vision: From 3D Reconstruction to Recognition
  • CS231n: Convolutional Neural Networks for Visual Recognition

CS131 更倾向于图像理解,CS231a 更倾向于三维重建,而 CS231n 则与本课程相关度最高。

图像分类任务

图像分类任务是根据图像中所反映的不同特征,把不同类别的图像区分开来的任务。更具体地,它需要从已知的类别标签集合中,为给定的输入图像选定一个标签。

基于现实环境,图像识别存在诸多难点:视角、光照、尺度、遮挡、形变与类内形变、背景杂波、运动模糊、类别繁多等。探讨这些难点有助于我们对此类任务进行拆解,并予以解决。

两种解决方法

基于规则的(硬编码的)解决方法;基于数据驱动的(学习的)解决方法。前者所能解决的问题极为有限,下面将主要介绍后者。

数据驱动的解决方法主要包含三个环节:数据集构建,分类器的设计与学习,分类器的决策

分类器的设计

首先需要将图像转化为模型可以理解的形式,此步骤为图像表示。可以采取像素表示的方法,也可以采取特征表示的方法(如 GIST 等全局特征表示法适用于遮挡不敏感问题,SIFT 等局部特征表示法适用于遮挡敏感问题)。后续主要研究像素表示方法,因为神经网络已经集成了特征提取的功能。

分类器的具体算法,常见的有近邻分类器、贝叶斯分类器、线性分类器、支撑向量机分类器、神经网络分类器、随机森林、Adaboost等。

分类器的学习过程,涉及到损失函数和优化算法。分类器在决策后,需要使用若干评价指标进行进行评价。相关内容将在后续进行介绍。

开始上手OhMyZsh

本文是作者在 Ubuntu 系统上配置 zsh 和 Oh My Zsh 的记录。

为什么需要

zsh 是一个功能强大的 Shell,提供了比 bash 更丰富的功能和更好的交互体验。

Oh My Zsh 是一个开源的 zsh 配置框架,允许用户便捷地安装插件和主题,从而更加高效地使用 zsh。

安装步骤

安装 zsh

在 Ubuntu 中,使用以下命令安装:

1
2
sudo apt update
sudo apt install zsh -y
Read more

LZ4压缩算法的块数据格式解析

本文是针对 LZ4 Block Format Description 的部分内容的翻译和综述,解释了 LZ4 压缩算法的块数据的格式规定。

前言

LZ4 是使用了“固定的面向字节的编码格式”的一种 LZ77 类型的压缩算法。本文介绍的是块数据(Block)的格式规定,不涉及熵编码器(Entropy Encoder)和成帧层(Framing Layer),也不涉及压缩或解压算法的具体实现。

术语

  • 序列(Sequence)是组成块的基本单位。
  • 字面量(Literal)是未经过压缩的原始数据。
  • 匹配复制(Match Copy)是将“先前出现过的字面量”的值复制到新位置的操作。
  • 标志符(Token)是序列最开头的 1 Byte。
  • 偏移量(Offset)是匹配复制操作中定位“先前出现过的字面量”的依据。
  • 匹配长度(Match Length)是匹配复制操作中需要复制的字面量的长度。
Read more

开始上手Nginx服务器

本文是作者在 Ubuntu 系统上部署 Nginx 服务器的记录。

Nginx 基础

简介

Nginx 是一个高性能的服务器应用程序,由俄罗斯工程师 Igor Sysoev 于 2004 年开发。它主要被用于搭建HTTP 服务器反向代理服务器负载均衡服务器等各类 Web 服务器。

Nginx 的主要优势在于高并发和高能效。它采用异步、非阻塞的事件驱动架构,能处理大量并发请求(10K 量级)。同时,在相同的硬件条件下,Nginx 的 CPU 和内存消耗要低于同类产品 Apache。

安装方法

安装 Nginx:

1
2
sudo apt update
sudo apt install nginx -y

确保 Nginx 已启动且已设置开机自启动:

1
2
3
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

访问 http://<服务器地址>,若能显示出默认的 Nginx 欢迎页面(Welcome to Nginx),则表示安装成功。若无法访问,请检查服务器端的防火墙配置。

Hello World

以下内容演示了如何利用 Nginx 在本地的 80 端口部署一个简易的静态网站

Read more

开始上手PostgreSQL

本文是作者在 Ubuntu 系统上部署 PostgreSQL 数据库的记录。

数据库简介

数据库(Database,DB)是用于存储、管理和检索数据的信息系统,旨在保证数据的一致性、完整性和安全性。

主流分类

数据库主要分为关系型数据(SQL)和非关系型数据库(NoSQL)。主流的数据库列表格如下:

数据库 类型 适用场景 主要特点
MySQL SQL 传统网站 最流行的 SQL 数据库
SQLite SQL 轻量级应用 文件数据库
PostgreSQL SQL 企业级应用 支持复杂查询和高扩展性
MongoDB NoSQL 实时应用,API 驱动 灵活的 JSON-like 文档存储
Redis NoSQL 实时应用,缓存 内存数据库

SQL 指的是结构化查询语言(Structured Query Language),即数据库操作所使用的语言。

核心术语

  • 数据表(Table)简称表,是数据库中用于存储数据的基本结构,由若干行和列组成。
  • 行(Row)又称记录(Record)。
  • 列(Column)又称字段(Field)。
  • 主键(Primary Key)缩写为 PK,是用于唯一标识一条记录的字段。
  • 外键(Foreign Key)缩写为 FK,是用于与其他数据表的主键建立关系的字段。
  • 索引(Index)是一类用于加快查询速度的数据结构。
  • 事务(Transaction)是一组数据库操作的集合,遵循原子性、一致性、隔离性和持久性原则(ACID 原则)。

PostgreSQL 基础

简介

PostgreSQL(简称 Postgres)是一个开源的、功能强大的、企业级的关系型数据库管理系统,以稳定性、扩展性和标准兼容性著称。

安装方法

下面详细讲解 PostgreSQL 的部署步骤。

Read more

高等数学(下)知识框架

空间解析几何

向量

概念

定义: 既有大小又有方向的量。可以用有向线段 $\vec{M_1M_2}$、带箭头字母 $\vec{a}$、粗体字母 $\mathbb{a}$ 来表示。

向量的模: 向量的大小,记作 $|\vec{M_1M_2}|$ 或 $|\vec{a}|$ 或 $|\mathbb{a}|$。

向径(矢径): 起点为原点的向量。

自由向量: 与起点无关的向量(即只考虑大小和方向的向量)。

Read more

Ubuntu系统开荒记录

本文是作者自用的 Ubuntu 操作系统(版本 24.04)服务器的一次开荒记录。

初始化

使用 SSH 接入系统

在本地计算机上使用安全终端(Secure Shell,SSH)连接到远程服务器。命令行运行:

1
ssh <用户名>@<服务器地址>

上述命令是使用用户名和普通密码进行身份认证的,运行命令后需要输入密码。

事实上,采用此身份验证方式具有一定的暴力破解风险,因此推荐采用密钥对进行身份验证(后文会提到)。

Read more

军事理论知识整理

以下是《军事理论》课程的知识要点,整理自 2023 年印次的教科书、 WYJ 的手写提纲和其他网络资料。由于时代发展,军事理论的具体课程内容可能存在时效性。

国防

国防概述

定义: 国防是国家为了防备和抵抗侵略、制止武装颠覆、保卫国家主权、统一、领土完整、安全和发展利益所进行的军事及与军事有关的政治、经济、外交、科技、文化、教育等方面的活动。它是一种历史现象,旨在防备和抵御各种外来侵略,以保障国家安全、维护国家利益、促进国家发展。

对上面的定义进行分解,可以得到如下内容:

  • 主体: 国防的主体是国家
  • 对象: 国防的对象是 “侵略” “武装颠覆和分裂” 行为。
  • 目的: 国防的目的是保卫国家主权、统一、领土完整、安全和发展利益
  • 手段: 国防的手段是军事及与军事有关的政治、经济、外交、科技、文化、教育等方面的活动。
Read more

高等数学(上)知识框架

极限

极限是无限趋近但是取不到的过程,它是一个“去心”的过程。

函数极限

函数极限的六种形式:$x\to\infty$,$x\to+\infty$,$x\to-\infty$,$x\to 0$,$x\to 0^+$,$x\to 0^-$。注意,当我们说趋近于 $\infty$ 或趋近于 $0$ 时,是包括了正负两个趋近方向的。

Read more

函数项级数

前置知识

收敛域

给定一个定义于 $I$ 上的函数项级数 $\sum_{n=1}^{\infty} u_n(x)$,将 $x_0 \in I$ 代入其中,得到一个常数项级数 $\sum_{n=1}^{\infty} u_n(x_0)$。

如果 $\sum_{n=1}^{\infty} u_n(x_0)$ 收敛,则称 $x_0$ 为对应的函数项级数的收敛点,否则称为发散点。函数项级数的所有收敛点的全体称为收敛域,所有发散点的全体称为发散域

Read more
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×