自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

智障变智能

总结学习和工作遇见的一些问题和解决办法

  • 博客(201)
  • 资源 (29)
  • 收藏
  • 关注

原创 并查集

特点:用集合中的一个元素代表一个集合,就像帮主代替帮派,主要分为三步,初始化,查询,合并。用途:用来分离无环图,找到公共祖先等等。class AndCheckSet: def __init__(self, n=5):#初始化 self.fa = [0]*n for i in range(n): self.fa[i] = i def find(self, x):#查询 if (self.fa[x] == x)

2021-01-13 10:46:18 148

原创 AN IMAGE IS WORTH 16X16 WORDS :TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE(VIT)

最近看transformer用于CV比较热门,特意去进行了解,这里用分类的一篇文章进行讲解。NLP中的transformer和代码讲解参考我另一篇文章。论文链接:AN IMAGE IS WORTH 16X16 WORDS :TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE一.思想其实核心问题就是考虑如何把图像数据H*W*C,序列化成一个一个词那种结构,自然就想到将图片crop成一个一个patch,假设有N个patch,维度为p*p*C,reshape加c

2020-12-24 14:16:49 10173

原创 python刷题+leetcode(第二部分)

一百零一.合并二叉树思路:采用前序遍历访问二叉树,如果节点其一为none,就返回另一个1.递归法# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def mergeTrees(s

2020-12-07 10:58:20 2989

原创 Registry注册机制

前言:不管是Detectron还是mmdetection,都有用到这个register机制,特意去弄明白,记录一下。首先看Registry代码:# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reservedfrom typing import Dict, Optional, Iterable, Tuple, Iteratorfrom tabulate import tabulateclass Registr

2020-12-04 14:26:47 3289

原创 CPNDet:Corner Proposal Network for Anchor-free, Two-stage Object Detection

论文链接一.背景anchor-based方法将大量框密集分布在feature map上,在推理时,由于预设的anchor与目标差异大,召回率会偏低。而anchor-free不受anchor大小限制,在任意形状上会更加灵活,但是像CornerNet,先进行角点检测,将有效的角点枚举组合成大量候选预测框,容易带来大量的FP。FCOS需要回归关键点到边界的距离,对于长宽大的物体也比较难以预测。二.网络介绍1.网络结构Stage 1: Anchor-free Proposals.

2020-11-13 14:56:18 577

原创 距离与相似度计算

一.余弦相似度from math import *def square_rooted(x): return round(sqrt(sum([a*a for a in x])), 3)def cosine_similarity(x,y): numerator = sum(a*b for a, b in zip(x,y)) denominator = square_rooted(x)*square_rooted(y) return round(numerator/fl

2020-11-12 16:13:41 458

原创 CenterNet:Objects as Points

CenterNet论文链接一.背景1.anchor-base缺点         (1).anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.(2).anchor太过密集,其中很多是负样本,引入了不平衡.(3).anchor的计算涉及IOU增加计算复杂度.2.应用场景(1).目标检测(2).3D定位(3).人体姿态估计二.网络介绍输出分支主要由三部分组成(1)heatmap,大小为(W/4,H/4,C),输出不同类别的物体中心

2020-11-09 16:29:14 426

原创 CornerNet: Detecting Objects as Paired Keypoints

CornerNet论文链接Hourglass Network论文链接一.背景1.anchor-base缺点         (1).anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.(2).anchor太过密集,其中很多是负样本,引入了不平衡.(3).anchor的计算涉及IOU增加计算复杂度.二.网络介绍1.网络结构网络总共有两个分支,一个分支有三个输出,主要包含heatmap,embedding,offsets.2.网络推理

2020-11-06 14:08:02 296

原创 FCOS: A Simple and Strong Anchor-free Object Detector

一.anchor-base缺点         1.anchor的设置对结果影响很大,不同项目这些超参都需要根据经验来确定,难度较大.2.anchor太过密集,其中很多是负样本,引入了不平衡.3.anchor的计算涉及IOU增加计算复杂度.二.回归方式anchor-based回归方式在于回归anchor与gt框之间的偏移量,而fcos回归的是上下左右距离....

2020-11-04 11:54:04 1373

原创 水印去除(基于nosie2noise优化 代码+模型)

github链接针对noise2nosie进行改造:1.加深网络,使用空洞卷积;2.修改loss函数.class L0Loss(nn.Module): """High dynamic range loss.""" def __init__(self, eps=1e-8, nb_epochs=10): """Initializes loss with numerical stability epsilon.""" super(L0Loss,

2020-10-30 17:35:02 6908 10

原创 从attention到Transformer+CV中的self-attention

1.Position encoding其也叫做Position embedding,由于Transformer模型没有使用RNN,故Position encoding(PE)的目的就是实现文本序列的顺序(或者说位置)信息而出现的。代码实现如下:输入batch内的词位置,输出是batch内的每个词的位置embedding向量.class PositionalEncoding(nn.Module): def __init__(self, d_model, max_seq_len):

2020-10-23 17:17:32 3005 1

原创 pytorch实现常用的一些即插即用模块(长期更新)

1.可分离卷积#coding:utf-8import torch.nn as nnclass DWConv(nn.Module): def __init__(self, in_plane, out_plane): super(DWConv, self).__init__() self.depth_conv = nn.Conv2d(in_channels=in_plane, out_ch

2020-09-18 08:59:52 3505 3

原创 nginx做负载均衡,解决多机器多gpu卡服务对外暴露一个接口问题

思路:多个gpu 服务接口-->ngxin做负载均衡-->对外暴露一个。以一机两卡为例制作DockerfieFROM nginx:1.13.3COPY ./ /RUN mkdir /appCOPY /nginx.conf /etc/nginx/nginx.confnginx.conf详细#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.lo

2020-09-03 17:16:09 1483

原创 图论基础知识--最小生成树算法kruskal(克鲁斯克尔)和普里姆算法(Prim算法);最短路径算法Dijkstra(迪杰斯特拉)和Floyd(弗洛伊德)

一.基础知识 有向图 无向图二.Dijkstra算法Dijkstra算法用于解决单源最短路问题,所谓单源最短路就是指定一个起点,求出这个起点到其它所有点的最短路。示例:求M到各个顶点的最短路径先构建邻接矩阵Adjacent, 初始状态dist[1~n] = inf, dist[M]=0,顶点更新状态vst[1~n] = 0以点M为起点:dist[M] = 0 vst[M] = 0dist[W] = inf vst[W] = 0d...

2020-07-24 11:17:32 829

原创 利用dbnet分割条形码与文字(代码+模型)+知识蒸馏+tensorrt推理+利用pyzbar和zxing进行条形码解析

1.安装环境:apt-get install zbar-toolsapt-get install python-jpypepip install pyzbarpip install zxing2.代码案例#coding:utf-8import pyzbar.pyzbar as pyzbarimport timeimport shutilimport zxingimport cv2def parse_code(codeimg, reader): """ .

2020-07-08 10:25:42 3573 8

原创 收缩分割多边形(PSENet中有使用)

目的:为了解决密集文本的分割问题代码:# -*- coding=utf-8 -*-import osimport cv2import Polygon as plgimport pyclipperimport numpy as npdef dist(a, b): return np.sqrt(np.sum((a - b) ** 2))#计算周长def perimeter(bbox): peri = 0.0 for i in range(bbox.shap

2020-06-05 14:45:33 922 4

原创 生成高斯热力图(craft中有使用)+2d heatmap+3d heatmap

from math import expimport numpy as npimport cv2import osclass GaussianTransformer(object): def __init__(self, imgSize=512, region_threshold=0.4, affinity_threshold=0.2): distanceRatio = 3.34 scaledGaussian = la.

2020-06-04 10:26:21 5557 4

原创 ctpn论文阅读与代码

代码地址:1.通用的目标检测是封闭的,而文字是封闭且连续2. 构造一系列宽度相等的小文本,回归中心y坐标和高度3. 对于边界回归x坐标,在进一次修正4.整个模型就是backbone提取特征,将每个像素点的相邻3*3像素拉成行向量,利用空间信息,在进入lstm提取时序信息进行分类与回归.5.文本构建算法将每个相邻竖直文本框进行合并6.一些中间过程...

2020-05-23 17:09:06 479

原创 GIOU loss+DIOU loss+CIOU loss

1.GIOU解决没有交集的框,IOU为0,其损失函数导数为0,无法优化的问题。图1GIOU,IOU,l2范数差异a)可看出 l2值一样,IOU值是不一样的,也就是l2对于尺度不具有不变性b)可看出当框有包含关系,GIOU就退化为IOU其是找到一个最小的封闭形状C,让C可以将A和B包围在里面,然后我们计算C中没有覆盖A和B的面积占C总面积的比例S.GIOU = IOU- S可看出,GIOU<=IOU图2 GIOU 计算公式GIOU的损失函数算法:...

2020-05-19 15:41:42 1183

原创 递归理解以及时间复杂度计算

假如这里有 n 个台阶,每次你可以跨 1 个台阶或者 2 个t台阶,请问n个台阶有多少种走法?第一步走了一个台阶或第一步走了两个台阶,到下一个台阶也是类似,故这是一个递归。n个台阶就是,走了一个台阶后加剩下n-1台阶的走法,走了两个台阶后剩下n-2台阶的走法,f(n)=f(n-1)+f(n-2)终止条件:只剩一个台阶一种走法,只剩两个台阶两种走法,f(1)=1,f(2)=2...

2020-05-17 09:57:27 10033

原创 ubuntu安装python3.5+pycharm+anaconda+opencv+docker+nvidia-docker+tensorflow+pytorch+Cmake3.8

一,切换python版本为3.5装好ubuntu,python版本是2.7的我自己安装并更改打开为python3.5sudo apt-getinstallpython3.5设置优先级和默认环境:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo upda...

2020-04-16 15:42:26 4282 3

原创 目标检测矩形框与polygon数据增加--裁剪,拓展,旋转

import cv2from PIL import Imageimport torchvision.transforms.functional as FTimport randomdef find_intersection(set_1, set_2): """ Find the intersection of every box combination between ...

2020-03-15 10:11:50 1807

原创 SSD300网络结构(pytorch)+多尺度训练与测试

一.如图是预测框的相应feature map其中anchor的长宽关系,s就是上图中的scale,a就是上图中的anchor ratio二.代码主要由三部分组成1.vgg作为基础网络要注意的是作者对38*38*512进行L2正则化,并用一个可学习参数调节通道权重2.增加大目标检测网络3.输出包括预测框的偏移量输出与分类偏移量计算误检...

2020-03-15 09:21:17 7118

原创 pdf与图片互相转换

1.pdf转图片import osimport numpy as npimport cv2from PIL import ImageImage.MAX_IMAGE_PIXELS=Noneimport tempfileimport timeimport sysfrom pdf2image import convert_from_bytes# # 预处理程序# sys.pa...

2020-03-13 10:36:15 649

原创 利用xlwt写excel并进行单元格的合并

1.写入行列值import xlwt# 创建一个workbook 设置编码workbook = xlwt.Workbook(encoding='utf-8')# 创建一个worksheetworksheet = workbook.add_sheet('My Worksheet')# 写入excel# 参数对应 行, 列, 值worksheet.write(1, 0, labe...

2020-02-25 15:03:26 4629

原创 利用scipy包计算表格线的峰值,还原表格得到表格结构

import cv2import numpy as npfrom scipy.signal import find_peaks, peak_widthsdef get_lines_from_image(img_bin, axis, kernel_len_div = 20, kernel_len = None, iters = 3): """ :param img_bin...

2020-02-01 17:07:56 450

原创 pyecharts地图使用

1.首先安装包pip install pyecharts==0.5.12.安装地图包依次是全球地图、中国省级地图、中国市级地图、中国区县级地图、中国区域地图pip install echarts-countries-pypkgpip install echarts-china-provinces-pypkgpip install echarts-china-cit...

2020-01-31 13:12:55 1424

原创 正则表达式基础知识

一.只保留数字import rereco_date = '1o1-05'print('reco_date:', reco_date)reco_date = ''.join(re.findall("\d+", reco_date))print('reco_date:', reco_date)二.只保留中文m=''.join(re.findall('[\u4e00-\u9...

2020-01-09 11:59:39 496

原创 将MSRA-TD500标签转换成逆时针输出标签+labeleme json格式转四个点的txt

MSRA-TD500 :http://www.iapr-tc11.org/mediawiki/index.php/MSRA_Text_Detection_500_Database_%28MSRA-TD500%29#coding:utf-8"""fzh created on 2019/12/6将MSRA-TD500数据标签转换成按逆时针输出也即 index,difficulty ...

2019-12-06 15:56:50 685

原创 利用已有的标注文字信息制作fake数据

from PIL import Image, ImageDraw, ImageFont, ImageFilterimport randomimport globimport numpy as npimport osimport cv2from nespaper_semantics import seg_str'''1. 从文字库随机选择10个字符2. 生成图片3. 随机使用...

2019-12-06 11:49:07 1929

原创 计算polygon面积和判断顺逆时针方向的方法

一.利用shapely求polygon面积  import shapely from shapely.geometry import Polygon, MultiPoint # 多边形 # box1 = [2, 0, 4, 2, 2, 4, 0, 2, 0, 0] box1 = [2, 0, 4, 2, 2, 4, 0, 2, 2, 2] poly_box1...

2019-11-26 17:28:31 3689

原创 ubuntu安装Redis+安装mysql(配置远程登录)+安装jdk+安转nginx+安转teamviewer+安装terminator+安装sublime

一.Ubuntu 安装 Redissudo apt-get updatesudo apt-get install redis-serverredis-server 启动修改redis配置 远程访问:sudo vim /etc/redis/redis.conf注释掉本机ip: 有坑的地方#bind 127.0.0.1 service redis-server resta...

2019-11-12 10:49:16 454

原创 广度优先搜索(BFS)与深度优先搜索(DFS)

一.广度优先搜索(BFS)其是一层一层来,结果不唯一二.深度优先搜索(DFS)其是一条路走到黑,结果不唯一

2019-11-11 21:55:29 385

原创 resnet系列+mobilenet v2+pytorch代码实现

一.mobilenet v21.采用inverted residual,与resnet不一样的是通道1X1卷积先变宽->卷积提特征->1X1卷积变窄,因为经过1x1的卷积扩大通道数以后,可以提升抽取特征的能力,图1所示。2.最后不采用Relu,而使用Linear代替,因为降维后特征丢失部分,如果采用Relu还会丢失,图2所示.                图1 inver...

2019-11-06 17:12:23 2689 4

原创 python .py文件变为.so文件进行加密

1.mytest.py 需要加密的内容#coding:utf-8import datetimeclass Today(): def get_time(self): print(datetime.datetime.now()) def say(self): print("hello word!")today = Today()tod...

2019-10-17 16:41:12 1002

原创 python实现可扩容队列

#coding:utf-8"""fzh created on 2019/10/15构建一个队列"""import datetimeclass LoopQueue(object): def __init__(self, n=10): self.arr = [None] * (n+1) # 由于特意浪费了一个空间,所以arr的实际大小应该是用户传入的容量+1...

2019-10-16 17:49:38 563

原创 python连接mysql的一些基础知识+安装Navicat可视化数据库+flask_sqlalchemy写数据库

一.mysql基础知识1.connect连接数据库import pymysqldef get_conn(): conn = pymysql.connect(host='xxx.xxx.xxx.xxx', port=3306, user='root', passwd='', db='newspaper_rest') # db:表示数据库名称 return conn...

2019-10-13 16:34:39 1781

原创 yolov3 anchors用kmeans聚类出先验框+anchor宽高比分析

# -*- coding: utf-8 -*-import numpy as npimport randomimport argparseimport os# # 参数名称# parser = argparse.ArgumentParser(description='使用该脚本生成YOLO-V3的anchor boxes\n')# parser.add_argument('--i...

2019-10-09 17:57:37 6483 1

原创 python写日志

需要再加入按照日期生成日志#coding:utf-8import loggingimport logging.handlersclass Logger: logFile = '' def __init__(self, logFile): self.logFile = logFile self.logger = logging.getLo...

2019-09-30 15:19:38 249

原创 利用flask写的接口(base64, 二进制, 上传视频流)+异步+gunicorn部署Flask服务+多gpu卡部署

一.flask写的接口1.manage.py启动服务这里要注意的是用docker的话,记得端口映射#coding:utf-8import base64import ioimport loggingimport picklefrom flask import Flask, jsonify, requestfrom PIL import Imagefrom sklearn...

2019-09-17 14:48:47 3962

zxing-cpp.tar.gz

zxing c++版 进行解析条形码。 1. mkdir build` 2. `cd` to `build` 3. Unix: run `cmake -G "Unix Makefiles" ..` 4. Windows: run `cmake -G "Visual Studio 10" ..` 5. make 6. ./zxing --test-mode 1.png

2020-08-19

GAN生成手写数字

利用GAN原始模型,生成手写数字,包含数据集和代码,直接可以用。

2018-07-29

小猫数据集

吴恩达作业1和3的小猫数据集,.h5文件,本来不想设积分的,好像最低是1分将就吧。

2018-07-13

利用50层ResNet实现手势数字的识别

利用50层ResNet实现手势数字的识别,准确率可达95%。。

2018-07-23

吴恩达课程手势数据集

吴恩达课程手势数据集,跟我的博客对应的,不想花积分的化,博客找我,我发邮箱

2018-07-19

吴恩达课程happy人脸数据集

吴恩达课程happy人脸数据集,是跟博客一起走的,但可惜传不了,只能放在这儿了。

2018-07-21

猫狗大战数据集

猫狗大战数据集,训练集各有不同尺寸的小猫小狗1000张,测试集各有不同尺寸的小猫小狗500张。

2018-07-23

水果数据集

博客需要用到的水果数据集。

2019-01-27

前10个手写字母数据集

前10个手写字母数据集,一个字母大概1000张,还是小的数据集,大的数据集一个字母差不多五万张。

2018-07-26

fpga vhdl计算器

fpga 基于vhdl计算器,自己写的的代码

2014-11-20

fer2013人脸表情数据集

我博客所对应的数据集,https://blog.csdn.net/fanzonghao/article/details/86543538

2019-05-17

haar级联分类器

眼睛,脸等各种.xml级联分类器和模板匹配。。。。。。。

2018-08-03

手写数字数据集

手写数字训练集和测试集,方便使用。。。。。。。。。。

2018-08-12

kemans聚类用的数据--包含多个数据

k-means聚类所用的数据集,与我的博客是对应的。

2018-12-17

cifar-10数据集

cifar-10数据集,里面有5个data_batch和一个test_batch,共60000张。

2018-08-08

基于430写的oled驱动

基于spi用430写的oled驱动,可以显示图片和汉字

2015-08-24

font.tar.gz

26种字库,方便以后下载.

2019-10-15

Google新开课程的数据集和代码

Google新开课程的数据集和代码,有数据增强和未数据增强版。

2018-07-23

android4.0客户端实现图片的灰度化

android4.0客户端实现图片的灰度化,并显示在客户端界面。

2016-05-29

吴恩达作业1

利用最简单的逻辑回归分类识别猫,包含了训练样本的数据集,训练样本能达到90%准确度,测试样本40%,毕竟是最简单的,但能体会权值、偏置的更新

2018-04-26

基于430写的五线四项式步进电机

基于430写的五线四项式步进电机,单四拍,双四拍和八拍

2015-08-24

inception_v3权重文件

inception_v3 模型的权重文件,我博客有配套的使用,因为不太方便放,就设置了一个积分,不想花积分的给邮箱我发过去。

2018-07-26

吴恩达作业2

利用双层神经网络对随机产生的400个红点,蓝点分类,包含了训练样本的数据集,能达到96%准确度,能体会双层网络权值、偏置的更新。

2018-04-26

基于430写的风力摆控制系统

该程序基于430单片机能够实现风力摆控制系统基本功能,

2015-08-24

kemans聚类用的数据

k-means聚类所用的数据集,与我的博客是对应的。。。。。

2018-12-17

吴恩达作业3

深层神经网络的框架全部完成,包含了测试的函数,能很好体会每一步迭代正向传播和反向传播的各种值更新。

2018-04-26

font_ori.tar.gz

用作制作繁体字假数据的字库文件.

2019-12-06

视频图片打开、处理多种功能函数

能够实现图片视频的直方图均衡化、轮廓检测、视频保存,鼠标截视频图片保存本地文件等功能只需要把main函数里的函数调用即可。

2018-04-26

android4.0客户端名片识别

本程序在android4.0基础上实现了名片识别的功能,界面有打开摄像头的按钮和提示等待添加联系人信息框,拍完名片自动识别并添加联系人信息进入通讯录

2016-05-29

空空如也

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

TA关注的人

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