- 博客(20)
- 收藏
- 关注
原创 图像二分类,多分类和多标签分类的区别和注意事项
图像二分类,多分类和多标签分类的区别和注意事项1. 二分类分类任务是两个类别,每个样本属于两个类别中的一个,标签为0或者1,比如猫狗二分类输出层:只有一个单元,采用sigmoid函数(将输出转换为0-1之间的概率分布)损失函数:2分类交叉熵损失标签:每个样本的标签是一个标量,0或者12. 多分类分类任务有n个类别,每个样本属于n个类别中的一个,且每个样本有且只有一个标签,比如新闻题材分类:政治、经济、文化等输出层:进行n分类时,设置输出层的单元数为n,采用softmax函数损失函数:多分类
2020-12-04 16:48:37
4520
原创 为什么使用卷积?
1. 使用卷积的原因:(1) 减少参数数量,提高计算速度。(2) 可以用更小的训练集来训练网络,从而预防过拟合。2. 卷积可以减少参数的原因:(1) 参数共享: 观察发现,特征检测如垂直边缘检测如果适用于图片的某个区域,那么它也可能适用于图片的其他区域。(2) 稀疏连接: 在每一层,每一个输出值仅依赖小数目的输入。3. 参考网页https://blog.youkuaiyun.com/Solo95/article/details/85018567https://www.cnbl
2020-09-19 16:01:48
2830
原创 卷积神经网络中用1*1卷积核的作用
1. 降维和升维比如:**降维**: 一张500*500且厚度depth为100 的图片在20个filter上做1*1的卷积,那么结果的大小为500*500*20。**升维**: 一张500 * 500且厚度depth为100 的图片在200个filter上做1*1的卷积,那么结果的大小为500*500*200。2. 加入非线性卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励( non-linear activation ),提升网络的表达能力。3. 参考网页http
2020-09-19 15:18:59
507
原创 YOLO系列算法原理介绍
1. Yolo介绍:1.1 YOLO:You Only Look Once,是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时系统。Joseph Redmon和Ali Farhadi等,2015年首次提出。在2017年的CVPR上,Joseph Redmon和Ali Farhadi又提出了YOLO2,后又再次提出了YoloV3。1.2 特点:1. One-stage2. 同时预测多个bbox和类别3. 端到端的目标检测和识别4. 速度更快:----实现回
2020-09-05 21:38:03
5907
原创 Python argparse模块详解
1. argparse介绍argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。2. 使用步骤import argparse # 导入模板parser = argparse.ArgumentParser() # 创建parserparser.add_argument() # 添加参数args = parser.parse_args() # 参数解析3.
2020-08-30 21:24:08
2570
原创 Python中基类,类,函数的相关知识
1. 基类的作用我先定义一个人作为基类,然后给他加上姓名、年龄、性别的属性。然后我再定义农民、工人两个类分别继承人,这样他们就有独自的属性、方法,同时也有作为人的“姓名”、“年龄”、“性别”,实现了代码的复用等等一大堆好处。2. 类的定义我们通过类定义数据类型的属性 ( 变量 ) 和方法 ( 函数 ) , 也就是说, 类将属性和方法打包在一起了。如下图所示:3. 类与对象的关系对象是类的具体实体, 一般称为 “类的实例” 。我们把对象比作一个”饼干”, 类就是制造饼干的”模具”;代码使用类来
2020-08-30 20:37:47
666
原创 Python实现NMS(非极大值抑制)通用模板
import numpy as np def py_cpu_nms(dets, thresh): """Pure Python NMS baseline.""" #dets:N*M,N是bbox的个数,M的前4位是对应的(x1,y1,x2,y2),第5位是对应的分数 #thresh:0.3,0.5.... x1 = dets[:, 0] y1 = dets[:, 1] x2 = dets[:, 2] y2 = dets[:, 3] scor
2020-08-30 16:48:06
224
原创 深入理解目标检测中的 Recalls, Precisions, AP, mAP
混淆矩阵:混淆矩阵(confusion matrix),是分类任务中非常重要的评测指标。如下图所示:真值和预测值的概念Actual value:也叫ground truth,真实的值,即感兴趣的目标在图片上的真实坐标。predicted value:即模型预测出来的坐标。TP、FP、FN、TN的概念TP(TruePositive): 正确预测出正类别的数量FP(FalsePositive):错误预测出正类别的数量FN(FalseNegative): 错误预测出负类别的数量TN..
2020-08-29 16:20:10
752
原创 2D: 传统目标检测算法综述
一. 目标检测的发展历程2001年,V-J检测器诞生,主要用于人脸的检测;2006年,HOG + SVM的方法出现,主要用于行人的检测;2008年,rgb大神(记住这个人,后面的R-CNN系列检测算法也是出自他之手)研究出了著名的DPM算法,在深度学习方法成熟之前的很长一段时间里,就是这个算法一直在目标检测中发挥作用;以上算法是属于传统目标检测的算法,都是基于图像处理和计算机视觉的!--------------------------------------------------------
2020-08-23 20:42:41
11029
2
原创 Python实现keep_ratio批量缩放图片和label尺寸
import osimport cv2from PIL import Image#image和label原路径和缩放后的保存路径label_path="/home/yangguide/Downloads/training/label_2"new_label_path="/home/yangguide/Downloads/training/label"image_path="/home/yangguide/Downloads/training/image_2"new_image_path="/
2020-08-20 18:04:26
1046
原创 Python实现批量更改图像尺寸统一大小
import osfrom PIL import Imageimport globdef convertjpg(jpgfile,outdir,width=200,height=500): img=Image.open(jpgfile) new_img=img.resize((width,height),Image.BILINEAR) new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))for jpgf
2020-08-20 16:38:12
3280
1
原创 python实现为.txt文件每行添加数据
import osimport numpy as np#.txt文件的路径path = '/home/yangguide/Videos/0.txt'#open(path)打开.txt文件with open(path) as f1: cNames = f1.readlines() #.readlines()读取.txt文件的每行 for i in range(0,len(cNames)): cNames[i] = cNames[i].strip()+' 1'+'
2020-08-20 15:59:00
4291
原创 python实现opencv拍照录像功能
# coding:utf-8import sysimport cv2import numpy as np# 选取摄像头,0为笔记本内置的摄像头,1,2···为外接的摄像头cap = cv2.VideoCapture(0)# cap.set(3,1080)# cap.set(4,720)# 为保存视频做准备fourcc = cv2.VideoWriter_fourcc(*"DIVX")# 第三个参数则是镜头快慢的,20为正常,小于二十为慢镜头out = cv2.VideoWriter(
2020-08-19 17:56:32
933
原创 python使用renames函数批量修改文件名
示例:批量去掉点云.bin格式的后缀’.bin’import osfor filename in os.listdir('/home/yangguide/Documents/lidar_3dssd/data/velodyne/'): #‘logo/’是文件夹路径,你也可以替换其他 newname = filename.replace('.bin', '') #把jpg替换成png os.rename('/home/yangguide/Documents/lidar_3dssd/da
2020-08-17 16:47:23
397
原创 python实现将点云的.bin格式文件转化为.txt格式
示例import numpy as npdef load_pc_kitti(pc_path, index): print(index) scan = np.fromfile(pc_path, dtype=np.float32) scan = scan.reshape((-1, 4)) points = scan[:, :] # get xyz f = open('/home/yangguide/Documents/lidar_3dssd/data/velod
2020-08-17 16:38:20
2468
原创 Python读取指定路径所有.png (.txt等) 文件,将文件名写入.txt
# -- coding: utf-8 --# 生成trainval.txt文件import os def file_name(file_dir): L=[] for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.png': # L.append(os
2020-08-17 15:34:29
1707
1
原创 固定参数和可变参数的区别
1.定义函数时,参数可以有两种:一种是在参数表中写明参数名key的参数,固定了顺序和数量的固定参数:def func(key1, key2, key3, …)def func(key1, key2=value, …)一种是定义时还不知道会有多少参数传入的可变参数:def func(*args): #不带key的多个参数def func(**kwargs): #key=value形式的多个参数示例:固定参数:def func_test(key1, key2, key3=23):
2020-08-16 21:50:17
1995
原创 python实现函数定义与调用
示例:给出列表:list = [12, 23, 45, 77, 98]定义一个累加函数,求列表list的和用Python编程定义并调用函数def sum_list(my_list): sum = 0 for i in my_list: sum += i return summy_list = [12, 23, 45, 77, 98]my_sum = sum_list(my_list)print("sum of my_list: %d" % my_su
2020-08-16 10:44:10
272
原创 Python实现路径拼接os.path.join()
题目:用python编程实现根目录、文件夹和子文件夹的多路径拼接示例:根目录:/home/yangguide/Music/panda_bus根目录下的文件夹:testing根目录下的文件夹的子文件夹:image_2import osroot_dir = "/home/yangguide/Music/panda_bus"img_path = os.path.join(root_dir, 'testing', 'image_2')print(img_path)for image in os.
2020-08-15 20:51:44
1326
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人