OpenCV学习笔记
背景提取
当观察场景的是一个固定的相机,背景几乎保持不变。在这种情况下,感兴趣的元素是在场景中运动的物体。我们将这些运动的物体称为前景,为了提取出这些前景物体,我们需要对背景建模,然后将当前帧的模型与背景模型进行比较,以检测前景物体。
运动前景对象的有效检测对于对象跟踪、目标分类、行为理解等后期处理至关重要。区分前景对象,关键的一个问题是:确定一个非常合适的背景。背景从象素的角度来理解,每一个象素就是有可能是前景点,也有可能是背景点,那么我们就要防止背景中误进入原属于前景点的对象,目前有几种常用的方法,但分别有利弊。
具体请参考OpenCV视频篇——背景/前景提取。
固定背景提取法
根据视频序列动态建立背景
均值法、中值法、滑动均值滤波、单高斯
帧间差分法
背景就是上一帧图像。每一帧与上一帧进行差分运算。
优点:速度较快,稳定性较好。
缺点:可能出现物体的“空洞现象”,空洞是由于某一大型运动物体,它的两帧之间存在象素十分接近的重合部分,所以导致这部分被差分剪去了。
混合高斯法
参考连接
- OpenCV-Python图像乘法运算cv2.multiply函数详解及像素值溢出归一化处理,by LaoYuanPython.
- OpenCV各版本差异与演化,从1.x到4.0,by 日拱一卒.
- 主成分分析(PCA)原理详解.
- 图像与滤波,by 阮一峰.
- OpenCV—python 视频分析背景提取与前景提取,by SongpingWang.
- OpenCV视频篇——背景/前景提取,by WaitFoF.
- 40. 如何消除摄影中的运动模糊?,by Wang Hawk.
- 基于opencv对高空拍摄视频消抖处理_js君-程序员ITS401,by its401.
- 马尔科夫随机场(MRF)在深度学习图像处理中的应用-图像分割、纹理迁移,by OLDPAN.
- 图像去噪(噪声)的主要算法,by 工程之家.
- opencv2中的背景/前景分离(类BackgroundSubtractor),by 阳光下的Smiles.
- 混合高斯背景建模原理及实现,by taotao1233.
- 【OpenCV学习系列】之Background Subtraction,by AutoSleep.
- OpenCV —数据持久化: FileStorage类的数据存取操作与示例,by iracer.
- OpenCV中InputArray和OutputArray使用方法,by Curnane.
- 图像处理之灰色图转化为RGB图像,by llh_1178.
- 几何中心,by wikipedia.
- C++ vector 删除符合条件的元素,by 旭东.
双目测距笔记
双目测距实际操作分4个步骤:相机标定——双目校正——双目匹配——计算深度信息。
参考链接
- 一篇文章认识《双目立体视觉》,by 一颗小树x.
- 双目视觉测距原理,数学推导及三维重建资源,by Naruto_Q.
nginx静态资源服务器配置方法
为提供静态资源web服务,安装好nginx后,进入nginx安装目录的conf目录下,修改nginx.conf文件,配置如下:
1 | server { |
参考链接
- nginx静态资源服务器简单配置,by wllllllllllllllll.
树莓派设备上编译tensorflow源代码
对 TensorFlow Raspbian package 进行交叉编译 (cross-compiling)。 交叉编译使用的平台与部署平台不同。 相较于在 Raspberry Pi 使用有限的 RAM 和相对较慢的处理器,我们更加建议在 Linux ,macOS 或 Windows 等功能更强大的主机上构建TensorFlow。
宿主机 (host) 设置
安装 Docker
为了简化依赖关系管理,构建脚本使用 Docker 来创建虚拟 Linux 开发环境进行编译。通过执行以下操作来验证您的 Docker 是否安装成功: docker run –rm hello-world。
具体安装过程请参考如何在 Ubuntu 20.04 上安装和使用 Docker。
Docker使用方法
以 koa-demos 项目为例,介绍怎么写 Dockerfile 文件,实现让用户在 Docker 容器里面运行 Koa 框架。
1 | git clone https://github.com/ruanyf/koa-demos.git |
编写 Dockerfile 文件
首先,在项目的根目录下,新建一个文本文件.dockerignore,写入下面的内容。
1 | .git |
上面代码表示,这三个路径要排除,不要打包进入 image 文件。如果你没有路径要排除,这个文件可以不新建。
然后,在项目的根目录下,新建一个文本文件 Dockerfile,写入下面的内容。
1 | FROM node:8.4 |
创建 image 文件
有了 Dockerfile 文件以后,就可以使用docker image build命令创建 image 文件了。
1 | $ docker image build -t koa-demo . |
如果运行成功,就可以看到新生成的 image 文件koa-demo了。
1 | docker image ls |
生成容器
docker container run命令会从 image 文件生成容器。
1 | $ docker container run -p 8000:3000 -it koa-demo /bin/bash |
下载 Tensorflow 源代码
使用 Git 克隆 TensorFlow:
1 | git clone https://github.com/tensorflow/tensorflow.git |
默认为 master 分支。您还可以签出要构建的 release 分支:
1 | git checkout branch_name # r1.9, r1.10, etc. |
交叉编译源代码
交叉编译 TensorFlow 源代码,从而构建一个基于 ARM 指令的 Python pip 包。构建脚本启动 Docker 容器以进行编译。
生成tensorflow构建环境的Docker映像
使用如下命令获得所需Docker映像:
1 | git clone https://github.com/lhelontra/tensorflow-on-arm.git |
启动容器
使用如下命令:
1 | docker run -it -v /tmp/tensorflow_pkg/:/tmp/tensorflow_pkg/ --env TF_PYTHON_VERSION=3.8 tf-arm ./build_tensorflow.sh configs/<conf-name> # rpi.conf, rk3399.conf ... |
交叉编译tensorflow
使用如下命令交叉编译tensorflow:
1 | # Docker容器内设置全局代理 |
参考链接
- 在树莓派设备上编译 tensorflow 源代码 ,by tensorflow.
- Docker 入门教程,by 阮一峰.
- 如何在 Ubuntu 20.04 上安装和使用 Docker,by 雪梦科技.
- Ubuntu 20.04系统下更改apt源为阿里源,by 一缕诗风.
- docker:containerd.io docker-ce-cli docker-ce 的区别,by 非正经研究生.
- [Why does “drm:vmw_host_log [vmwgfx]] ERROR Failed to send host log message” show up and what can I do to fix it?](https://unix.stackexchange.com/questions/502540/why-does-drmvmw-host-log-vmwgfx-error-failed-to-send-host-log-message-sh),by stackexchange.
- 交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别,by 左手牛奶,右手面包.
- 基于源代码为树莓派设备构建 TensorFlow,by Spoony.
- Docker — 从入门到实践,by yeasy.
- 史上讲解最好的 Docker 教程,从入门到精通(建议收藏的教程),by 周辰晨.
- Docker篇之镜像打标签tag,by 听说唐僧不吃肉.
- Docker容器内设置全局代理,by Liao.
- Bazel入门:编译C++项目,by Elaine_Bao.
树莓派中配置tensorflow运行环境
本文记录在树莓派3B+上配置tensorflow运行环境的过程。
准备工作
- 16G的microsd卡
- 读卡器
- 系统映像,如果使用官方的镜像烧录工具,就不需要准备
烧录系统
请参考树莓派操作系统镜像烧录方法指南。
或者使用官方的系统映像烧录工具Raspberry Pi Imager, 烧录最新的树莓派操作系统。**注意,烧录前配置使用ssh密码登录,并配置连接好wifi。**建议不要使用最新的树莓派操作系统,而是选择legacy,debian10。
启动系统后使用如下命令连接系统:
1 | # ssh登录系统 |
配置系统
tensorflow环境配置
1 | python3 -m venv tf2_api_env |
下载TensorFlow Models
TensorFlow Model Garden。TensorFlow 模型花园是一个存储库,为 TensorFlow 用户提供了许多不同的最先进 (SOTA) 模型和建模解决方案的实现。我们旨在展示建模的最佳实践,以便 TensorFlow 用户可以充分利用 TensorFlow 进行研究和产品开发。
1 | git clone https://github.com/tensorflow/models |
安装TensorFlow Models中的Object Detection 模块
配置目标检测API目录,以便python能找到object detect api。使用pth文件,将object detect模块的路径添加到python模块的搜索路径中。在python安装目录的Lib\site-packages下创建tensorflow.pth文件,在其中添加Object Detection API文件路径:
1 | # 创建tensorflow.pth文件,输入如下内容 |
安装Protobuf,生成python语言的消息协议
安装Protobuf的过程具体参考TensorFlow2.x目标检测API安装配置步骤详细教程 Object Detection API with TensorFlow2.x 。
1 | cd models/research/ |
修改源
可选。请参考修改树莓派3B+的软件源-Raspbian(stretch)。
配置dhcp
可选。使用命令sudo leafpad /etc/dhcpcd.conf,修改dhcp配置文件,配置使用静态ip。
1 | interface wlan0 |
扩充分区
可选。请参考解决树莓派磁盘没有占满整个sd卡的方法。
上网配置
可选。
1 | sudo apt-get install proxychains |
安装pyenv
可选,重点是安装python3.7。在linux操作系统中:
1 | wget https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer |
使用命令leafpad .bashrc打开.bashrc文件,在其末尾输入如下内容:
1 | export PYENV_ROOT="$HOME/.pyenv" |
安装python 3.7.3:
1 | sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ |
使用含tensorflow环境的Docker映像
可选。使用如下命令在树莓派上安装docker:
1 | curl -fsSL https://get.docker.com -o get-docker.sh |
使用如下命令下载含tensorflow环境的docker映像:
1 | docker pull armswdev/tensorflow-arm-neoverse:r22.05-tf-2.8.0-eigen |
使用如下命令启动docker容器:
1 | # 注意-v等所有选项必须在image之前 |
具体使用过程请参考TensorFlow Serving with Docker 。
模型测试
传输模型
配置环境
可选。
1 | # 创建虚拟环境 |
测试模型
1 | # 进入虚拟环境 |
参考链接
- Installing Latest Tensor flow and Keras on RASPBERRY PI,by Abhishek c.
- Unable to uninstall programs using sudo pip,by askubuntu.
- Installing TensorFlow 2.3.0 for Raspberry Pi3+/4 (Debian Buster),by Cawin Chan.
- 树莓派开启wifi热点,by zsssj.
- 修改树莓派3B+的软件源-Raspbian(stretch),by codeantenna.
- 磁盘分区——主分区、扩展分区、逻辑分区,by ITCHN.
- 解决树莓派磁盘没有占满整个sd卡的方法,by ourkix.
- centos下python环境搭建,by bigtiger1648.
- Linux/树莓派raspbian 32/64查看,by Yew1168.
- ModuleNotFoundError: No module named ‘cv2’ (安装cv2),by weixin_39450145.
- TensorFlow Serving with Docker ,by tensorflow.
- Docker的volumes踩坑,by lyer.
树莓派连接访问方法
给树莓派3B安装好系统后,接下来就是访问树莓派了。主要有三种方法:
鼠标键盘显示器法
USB转串口连接法
请参考树莓派学习之USB转串口
无线网络连接法
如果存在树莓派连接好wifi后无法上网的问题,请参考树莓派 3B+/4B 连接“手机热点“或“WiFi“ 后无法上网(必解)
有线网络直连法
请参考树莓派使用网线直连电脑的方法。
参考文献
- 树莓派使用网线直连电脑的方法,by 晒月亮的孩子.
- 树莓派3B无显示屏安装系统及远程登录,by 晒月亮的孩子.
- 树莓派学习之USB转串口,by jackhuang.
- Raspberry Pi (树莓派) 更换源 - stretch 版本,by 佩奇er.
- 树莓派安装pyenv,by 穆琪的博客.
- 树莓派上的上网,by 子实.
- 树莓派 3B+/4B 连接“手机热点“或“WiFi“ 后无法上网(必解),by wjd956574941.
TensorFlow对象检测API测试
最近想研究一下红外图像的对象检测算法,于是先拿TensorFlow对象检测API学习一下。
准备工作
准备工作主要有:
pyenv安装python 3.9.6。
1 | pyenv install 3.9.6 |
创建虚拟环境
在windows系统中,使用如下命令:
1 | # 使用venv |
在Linux系统中,使用如下命令:
1 | # 使用pyenv |
安装ipython,方便测试
1 | # 进入虚拟环境 |
安装tensorflow
安装非GPU版本tensorflow
1 | # 如果没有独立GPU |
安装GPU版本tensorflow
如果机器上有nvidia的显卡,则安装tensorflow的gpu版本,具体步骤如下:
第一步,安装tensorflow-gpu。
1 | # 如果有独立GPU |
第二步,安装CUDA与cuDNN。
安装CUDA11.2。CUDA的版本由tensorflow-gpu的版本确定。具体请参考在 Windows 环境中从源代码构建。本步骤在有nvidia独立显卡的前提下执行。
安装CUDNN v8.1文件。CUDNN的版本由tensorflow-gpu的版本确定。具体请参考在 Windows 环境中从源代码构建。本步骤在有nvidia独立显卡的前提下执行。
第三步,测试tensorflow能否识别使用nvidia gpu。
1 | import tensorflow as tf |
tensorflow环境测试
1 | # tensorflow环境测试 |
安装TensorFlow Models
下载TensorFlow Models
TensorFlow Model Garden。TensorFlow 模型花园是一个存储库,为 TensorFlow 用户提供了许多不同的最先进 (SOTA) 模型和建模解决方案的实现。我们旨在展示建模的最佳实践,以便 TensorFlow 用户可以充分利用 TensorFlow 进行研究和产品开发。
1 | git clone https://github.com/tensorflow/models |
安装TensorFlow Models中的Object Detection 模块
存在两种安装TensorFlow Models中的Object Detection 模块的方法,如下所示:
- 配置目标检测API目录,以便python能找到object detect api。使用pth文件,将object detect模块的路径添加到python模块的搜索路径中。在python安装目录的Lib\site-packages下创建tensorflow.pth文件,在其中添加Object Detection API文件路径:
1 | # 创建tensorflow.pth文件,输入如下内容 |
- 安装目标检测API。两种方法二选一即可。
1 | # From within TensorFlow/models/research/ |
安装Protobuf,生成python语言的消息协议
安装Protobuf的过程具体参考TensorFlow2.x目标检测API安装配置步骤详细教程 Object Detection API with TensorFlow2.x 。
1 | cd models/research/ |
测试tf object detect api,并安装缺失模块。
1 | # 测试tf object detect api |
开源数据集
数据集是进行深度学习的前提和基础。
Oxford-IIIT 宠物数据集
我们创建了一个包含 37 个类别的宠物数据集,每个类别大约有 200 张图像。这些图像在比例、姿势和照明方面有很大的变化。所有图像都有相关的品种、头部 ROI 和像素级三元图分割的地面实况注释。
具体下载地址请参考Oxford-IIIT 宠物数据集。
COCO数据集
MS COCO的全称是Microsoft Common Objects in Context,起源于微软于2014年出资标注的Microsoft COCO数据集,与ImageNet竞赛一样,被视为是计算机视觉领域最受关注和最权威的比赛之一。
COCO数据集是一个大型的、丰富的物体检测,分割和字幕数据集。这个数据集以scene understanding为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation进行位置的标定。图像包括91类目标,328,000影像和2,500,000个label。目前为止有语义分割的最大数据集,提供的类别有80 类,有超过33 万张图片,其中20 万张有标注,整个数据集中个体的数目超过150 万个。
COCO数据集使用
请参考COCO数据集使用。
COCOAPI
完整的COCO数据集有十几个G大小,我们没有必要全部下载下来,只需要下载自己感兴趣的类别图像即可。这时就需要使用COCOAPI。
COCO API 协助加载、解析和可视化 COCO 中的注释。API 支持多种注释格式(请参见数据格式页面)。
- 下载cocoapi
1 | git clone https://github.com/cocodataset/cocoapi.git |
- pythonapi安装
进入COCOAPI的PythonAPI文件夹,输入如下命令:
1 | python setup.py build_ext install |
安装错误解决方法请参考错误:cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”。
模型训练
准备数据集
注解数据集
安装LabelImg工具
LabelImg 是一个图形图像标注工具。它是用 Python 编写的,并使用 Qt 作为其图形界面。
注释以 PASCAL VOC 格式保存为 XML 文件,这是ImageNet使用的格式。此外,它还支持 YOLO 和 CreateML 格式。
可以从LabelImg的官方存储库labelImg中下载最新的LabelImg工具。
使用K折交叉验证分区数据集
可使用python脚本,请参考partition_dataset.py。
创建标签映射
TensorFlow 需要一个标签映射,即将每个使用的标签映射到一个整数值。此标签图用于训练和检测过程。
下面我们展示一个示例标签映射(例如label_map.pbtxt),假设我们的数据集包含 2 个标签,dogs并且cats:
1 | item { |
标签地图文件有扩展.pbtxt名,应该放在training_demo/annotations文件夹内。
创建TensorFlow Records文件
TFRecord 是Google官方推荐的一种数据格式,是Google专门为TensorFlow设计的一种数据格式。通过将训练数据或测试数据打包成TFRecord文件,就可以配合TF中相关的DataLoader / Transformer等API实现数据的加载和处理,便于高效地训练和评估模型。
实际上,TFRecord是一种二进制文件,其能更好的利用内存,其内部包含了多个tf.train.Example, 而Example是protocol buffer(protobuf) 数据标准的实现,在一个Example消息体中包含了一系列的tf.train.feature属性,而 每一个feature 是一个key-value的键值对,其中,key 是string类型,而value 的取值有三种:
- bytes_list: 可以存储string 和byte两种数据类型。
- float_list: 可以存储float(float32)与double(float64) 两种数据类型 。
- int64_list: 可以存储:bool, enum, int32, uint32, int64, uint64 。
重用预训练模型
下载预训练模型
从此处TensorFlow 2 Detection Model Zoo选择预训练模型下载。此处下载SSD ResNet50 V1 FPN 640x640 模型。
重新配置训练管线
修改模型文件夹下的pipeline.config文件,用于训练自己的模型。以SSD ResNet50 V1 FPN 640x640模型的pipeline.config文件为例,具体些修改内容如下:
1 | model { |
训练新模型
准备训练模型
将TensorFlow/models/research/object_detection/model_main_tf2.py文件粘贴到training_demo文件夹。该文件是训练和评估新模型的入口文件。
训练模型
使用如下命令开始训练新模型:
1 | cd J:\tensorflow\workspace\training_demo |
*注意:此处参数–model_dir是模型输出目录,除了存在pipeline.config外,应该是空的。**否则将发生错误Pretrained Models number of classes doesnt match own dataset number of classes : Cannot assign to variable。
评估模型
使用如下命令评估训练好的模型:
1 | cd J:\tensorflow\workspace\training_demo |
监控训练作业进度
使用如下命令监控模型训练进度:
1 | cd J:\tensorflow\workspace\training_demo |
上面的命令将启动一个新的 TensorBoard 服务器,它(默认)监听你机器的 6006 端口。完成此操作后,转到您的浏览器并http://localhost:6006/在地址栏中输入,然后您应该会看到一个仪表板(如果您的模型刚刚开始训练,可能会显示较少)。
导出训练模型
训练工作完成后,使用如下步骤导出模型:
(1)复制TensorFlow/models/research/object_detection/exporter_main_v2.py脚本并将其直接粘贴到您的training_demo文件夹中。
(2)运行如下命令:
1 | cd J:\tensorflow\workspace\training_demo |
评价指标
对于一个目标检测模型的好坏,总的来说可以从以下三个方面来评估:
- 分类的精度如何。一般可以用准确度(Accuracy),精度(Precision),召回率(Recall Rate), PR 曲线,AP,mAP等
- 定位的精度如何。比如 IoU
- 运行的速度如何。比如 fps,一秒处理几张图。
具体内容请参考目标检测模型的评价指标(Acc, Precision, Recall, AP, mAP, RoI)。
参考文献
- TensorFlow Object Detection API,by tensorflow.
- TensorFlow2.x GPU版安装与CUDA版本选择指南,by Color_Space.
- 在 Windows 环境中从源代码构建,by tensorflow.
- COCO2014/2017数据集,by THE@JOKER.
- TensorFlow2.x目标检测API测试代码使用演示,by Color Space.
- TensorFlow2.x目标检测API安装配置步骤详细教程 Object Detection API with TensorFlow2.x ,by Color_Space.
- python安装第三方包的安装路径,dist-packages和site-packages区别,by 陈 超.
- 用 .pth 文件附加 Python 模块搜索路径,by 隔叶黄莺.
- Google Protobuf简明教程,by geekpy.
- Tensorflow-GPU: How to Install Tensorflow with NVIDIA CUDA,cuDNN and GPU support on Windows,by Ilekura Idowu.
- Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略,by 一个处女座的程序猿.
- COCO数据集的标注格式,by Gemfield.
- COCO数据集标注详解,by 2044914130.
- RLE格式分割标注文件表示,by AIHGF.
- TensorFlow 2 Object Detection API tutorial,by github.
- TFRecord 简介,by xmfbit.
- Using regular expression flags in Python,by John Lekberg.
- 错误:cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”,by 点亮~黑夜.
- COCO数据集使用,by Meumax-GDUT.
- 目标检测数据集PASCAL VOC简介,by arleyzhang.
- Building a Toy Detector with Tensorflow Object Detection API,by Priya Dwivedi.
- 【Tensorflow】tf.app.run()与命令行参数解析,by TwT520Ly.
- 关于TFRecords和tf.Example的使用,by Zessay.
- Pandas教程 | 超好用的Groupby用法详解,by 易执.
- Pandas组合操作,by lysh1987.
- TensorFlow 数据输入格式之 TFRecord,by 逑识.
- 使用 Tensorflow Object Detection API 训练自己的模型,by 菁菁者莪.
- tensorflow出现显存不足的提示,by 楠仔码头.
- 使用COCOAPI操作COCO数据集 遇到的问题 TypeError: ‘numpy.float64’ object cannot be interpreted,by TheOldManAndTheSea.
- Pretrained Models number of classes doesnt match own dataset number of classes : Cannot assign to variable,by tensorflow.
- Some Python objects were not bound to checkpointed values,by stackoverflow.
- 目标检测模型的评价指标(Acc, Precision, Recall, AP, mAP, RoI),by kuweicai.
- tensorflow2转tflite提示OP不支持的解决方案,by nudt_qxx.
- ModuleNotFoundError: No module named ‘gin’,by stackoverflow.
目标检测相关知识记录
目标检测任务是找出图像或视频中人们感兴趣的物体,并同时检测出它们的位置和大小。不同于图像分类任务,目标检测不仅要解决分类问题,还要解决定位问题,是属于Multi-Task的问题。
作为计算机视觉的基本问题之一,目标检测构成了许多其它视觉任务的基础,例如实例分割,图像标注和目标跟踪等等;从检测应用的角度看:行人检测、面部检测、文本检测、交通标注与红绿灯检测,遥感目标检测统称为目标检测的五大应用。
数据集
参考链接
- 综述:目标检测二十年(2001-2021),by 派派星.
- 2021深度学习目标检测综述,by 叶舟.
- 综述计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割,by ExtremeMart.
- 计算机视觉—–图像分类综述,by Avery123123.
- 红外图像数据集,by hunnzi.
- FLIR红外数据集踩坑总结,by FLIR红外数据集踩坑总结.
- 轻型网络知识点,by 飞翔的河马F.
- 树莓派zero图像分类与目标检测,by 孙易泽 吴锦程 詹沛 徐潇涵.
- (三十三)通俗易懂理解——SSD原理与实现,by 梦里寻梦.
- YOLO目标检测从V1到V3结构详解,by AI算法与图像处理.
- 目标检测|YOLO原理与实现,by 小小将.
- 深度学习目标检测系列:一文弄懂YOLO算法|附Python源码,by 阿里云云栖号.
- Stacked Hourglass Networks简析,by TwiLight.
- 详解Region Proposal Network,by 不认输的绿皮车.
- RPN(Region Proposal Network)和 Anchor 理解,by 梦星魂24.
- CVPR2019目标检测方法进展综述,by SIGAI.
- 重读 CenterNet,一个在Github有5.2K星标的目标检测算法,by 忆臻.
- centernet论文阅读笔记,by 雾游.
- 一文看尽物体检测中的各种FPN,by 小纸屑.
- 【深度学习】Faster-RCNN:1. 特征金字塔网络Feature Pyramid Network,by dinghye.
- Batch Normalization:批量归一化详解,by wxler.
- 详解残差网络,by 大师兄.
- 物体检测中的特征金字塔,by 尹国冰.
网线的相关知识
最近家里电信宽带免费设计到千兆了,可是一测试,网速还是百兆,问题出在哪呢?感紧学习一下,解决这个问题。
问题原因
家里网络是电信光猫加荣耀路由pro2,通过网络测速,发现荣耀路由pro2与光猫之间网速只有百兆。刚开始以为是荣耀路由pro2与光猫之间使用五类线的原因,后面才发现不是这个原因。真正的原因是电信光猫过于老旧,其网口是百兆口。看来只能换新的拥有千兆网口的光猫了。
解决方法
换光猫步骤如下:
- 获得老光猫的LOID和Password。
- 新光猫恢复出厂设置后,连接新光猫。
- 使用老光猫的LOID和Password,注册新光猫。
参考链接
- 为什么网线传输不超过一百米?,by 武汉格凌科技.
- 千兆宽带配什么网线?终于有人讲清楚了,by 上海电信.
- 路由器 Wi-Fi 实际测试速率达不到宣传的 Wi-Fi 最高速率,by huawei.
- Cat5e,超五类线到底能不能支持千兆?,by 猿某人.
- 老房子WiFi布网攻略 篇四:IPTV无线化——光猫更换指南,by qianseyue.