- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 OTSU算法(最大类间差)
要使类间方差大,可以让m1和m2相差变大或者P1和P2相似或相等,及在图像中的像素点的数量相同。但是当背景与分割目标像素点相差太多时,使用去噪操作并不能有很好的效果。6.基于区域生长的算法。4.改善全局阈值分割。
2023-11-30 16:19:57 592
原创 神经网络——非线性激活
torch官网:torch.nn — PyTorch 1.11.0 documentation非线性变换的主要目的就是给网中加入一些非线性特征,非线性越多才能训练出符合各种特征的模型。常见的非线性激活:ReLU:官网给出的例子: >>> m = nn.ReLU() >>> input = torch.randn(2) >>> output = m(input)An implementation of CReL..
2022-05-22 16:24:57 340
原创 神经网络卷积操作
官方网址:torch.nn — PyTorch 1.11.0 documentation这里看一下CONV2D 点击CONV2D ,里面有相关的介绍,以及如何使用,在左边的torch.nn.function打开看看其中TORCH.NN.FUNCTIONAL.CONV2D的相关参数是input:输入weight:权重(卷积核)bias:偏置strid:步径(卷积核下一次计算移动的步径)padding:可以通过下面代码实现import torc...
2022-05-20 21:46:07 835
原创 神经网络——最大池化的使用
最大池化的目的在于保留原特征的同时减少神经网络训练的参数,使得训练时间减少。相当于1080p的视频变为了720p网络链接torch.nn — PyTorch 1.11.0 documentation最常用的时MAXPOOL2D最常用的是下采样,其中参数:kernel_size:设置取最大值的窗口,类似于卷积层的卷积核,如果传入参数是一个int型,则生成一个正方形,边长与参数相同;若是两个int型的元组,则生成长方形。stride:步径,与卷积层不同,默认值是kernel_size...
2022-05-20 21:41:43 922
原创 卷积层的使用
因为图像是2d的所以选择的是二维卷积常用设置的阐述torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)卷积公式in_channels(int) :输入图像的通道数out_channels(int) :卷积后产生输出的...
2022-05-20 15:29:40 128
原创 神经网络的基本框架——nn.Module的使用
torch.nn 网址torch.nn — PyTorch 1.11.0 documentation其中Containers中包含了6个模块官方提供的模板import torch.nn as nnimport torch.nn.functional as Fclass Model(nn.Module): #继承nn.mudule类 def __init__(self): super().__init__() #调用模板初始化函数 sel
2022-05-19 15:56:57 681
原创 dataloader的使用
dataloader:构建可迭代的数据装载器, 我们在训练的时候,每一个for循环,每一次iteration,就是从DataLoader中获取一个batch_size大小的数据的。dataloader官网:torch.utils.data — PyTorch 1.11.0 documentation常用的参数为:dataset: Dataset类, 决定数据从哪读取以及如何读取 bathsize: 批大小 num_works: 是否多进程读取机制 shuffle: 每个epoch是否乱
2022-05-18 15:28:02 1088
原创 Torchvision的数据集使用
在pytorch官网中可以下载许多数据集这是Torchvision的数据集Datasets — Torchvision 0.12 documentation下载CIFAR10数据集,root(存储位置):存放在./dataset文件夹中,train(是否为训练集),download(是否下载),train_set=torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)test_set=torchvis
2022-05-17 14:53:53 282
原创 常用的Transforms
call的使用测试代码class Person: def __call__(self, name): print("__cell"+"hello"+name) def hello(self,name): print("hello"+name)person =Person()person("zhangsan")person.hello("lisi")输出结果ToTensor测试代码from PIL import Ima..
2022-05-15 20:51:13 276
原创 Transforms的使用
Transforms是常用的图像预处理方法,提高泛化能力。其实是一个py文件其中包含了totensor(将数据类型转换成tensor类型),resize等工具tensor数据类型(通过Transforms.totensor去看两个问题):1、Transforms在python中该如何使用2、为什么我们需要tensor数据类型直接调用Transforms中的totensor就可以了(输入参数可以按ctrl+p查看)tensor_trans=transforms.ToTensor()
2022-05-15 15:49:53 862
原创 TensorBoard的使用
TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个Web应用程序套件。TensorBoard目前支持7种可视化,Scalars,Images,Audio,Graphs,Distributions,Histograms和Embeddings。其中可视化的主要功能如下。(1)Scalars:展示训练过程中的准确率、损失值、权重/偏置的变化情况。(2)Images:展示训练过程中记录的图像。(3)Audio:展示训练过程中记录的音频。(4)Graphs:展示模型的数据
2022-05-14 14:58:20 1448
原创 解决jupyter打开后没有显示自己新创建环境的问题
打开jupyter notebook后没有发现自己创建的虚拟环境如果你已经创建好了自己的环境,打开jupyter后想要新创建一个文件发现没有自己新创建的环境;以下操作可以帮助你打开Anaconda Prompt 命令控制行conda activate 你的环境名称进入你的环境(已激活的环境)安装ipykernel:conda install ipykernel如果不行就把conda改成pip最重要的一步是将环境写入Notebook的kernel中python -m ip
2022-05-06 16:05:47 3181
原创 目标检测算法基础知识
BBox:边缘框 一般绿色为人工标注的groud-truth,红色为预测结果xyxy:左上+右下xywh:左上+宽高Anchor:锚框人为设定不同长宽比、面积的先验框 单阶段SSD检测算法中也称Prior boxRoI:特定的感兴趣区域Region Proposal:候选区域/框RPN:Acnhor-based的两阶段提取候选框的网络IoU:评价预测框的质量,IoU越大则预测框与标注越接近(等于两个框交的面积比上两个框并的面积)mAP:衡量模型量化的指标TP是正确的预
2022-05-05 21:46:17 169
原创 YOLOv5 神经网络训练(本地训练)
在训练文件train.py中找到main的部分if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--weights', type=str, default='yolov5s.pt', help='initial weights path') parser.add_argument('--cfg', type=str, default='', help='mo.
2022-05-05 14:18:05 1806
原创 ROS 第七天 机器人感知
1、机器视觉ROS中的图像数据(二维图像)显示图像类型打开终端输入roslaunch usb_cam usb_cam-test.launch打开了摄像头 查看话题发布 rostopic list查看显示图像类型 rostopic info /usb_cam/image_raw查看消息类型中的成员变量有哪些 rosmsg show sensor_msgs/Image压缩图像工具 rqt_image_view压缩图像消息rosmsg show sens...
2022-04-24 17:59:25 597 2
原创 ROS 出现[usb_cam-2] process has died错误解决方法
当运行roslaunch robot_vision usb_cam_with_calibration.launch出现[usb_cam-2] process has died闪退的情况 那是因为你的摄像头配置文件参数不对你要使用自己的标定生成文件ost.yaml 添加到工作路径下的ros_vision文件夹中并更名为camera_calibration.yamlimage_width: 640image_height: 488camera_name: narrow_stereocamer
2022-04-23 17:07:41 4513 1
原创 ROS 第六天 机器人仿真
1、机器人URDF模型优化URDF建模存在哪些问题:模型冗长,重复内容过多;参数修改麻烦,不便于二次开发;没有参数计算的功能等。。。URDF模型的进化版本----xacro模型文件精简模型代码:创建宏定义,文件包含提供可编程接口:常量,变量,数学计算,条件语句xacro模型文件——常量定义:常量使用:数学计算:注意:所有数学运算都会转换成浮点数进行,以保证运算的精度宏定义:宏调用:文件包含:完成mbot_ba...
2022-04-21 20:57:29 867
原创 ROS 第五天 机器人
1、机器人的组成机器人是什么:自动执行工作的机器装置。机器人是如何组成的:2、机器人系统构建ARM架构开发板可参考: http://wiki.ros.org/indigo/Installation/UbuntuARM常用传感器的ROS驱动可参考:http://wiki.ros.org/Sensors机器人构建--连接摄像头打开终端 输入sudo apt-get install ros-melodic-usb-cam 安装功能包输入roslaunch...
2022-04-18 21:51:42 231
原创 ROS 第四天 ROS中的关键组件
1、Launch文件:通过XML文件实现多节点的配置和启动(可自动启动ROS Master)<launch> launch文件中的根元素采用<launch>标签定义<node>:启动节点<node pkg="package-name"type="executable-name"name="node-name"/>pkg:节点所在的功能包名称type:节点的可执行文件名称name:节点运行时的名称output:节点内部信息是否打印
2022-04-16 20:48:11 1114 1
原创 ROS 第三天 分布式通信
ROS 第三天 分布式通信ROS是一种分布式软件框架,节点指点通过松耦合的方式进行组合。如何实现分布式多机通讯(1)设置IP地址,确保底层链路的联通使用终端远程登录树莓派后输入ifconfig 获取ip地址本地打开终端也输入ifconfig查看ip地址把对方的ip地址设置到hosts文件夹里面在树莓派终端中输入 sudo vi /etc/hosts使用ping hcx-pc(本地计算机名)尝试一下是否完成了配置在本地计算机也要进行相同的操作(2)在..
2022-04-15 15:20:56 197
原创 ROS 第二天 ROS通信编程
一、话题编程话题编程流程创建发布者创建订阅者添加编译选项运行可执行程序编写例程发布话题将talker.cpp存放在str文件夹中发布者:“chatter” 发布内容:“hello world”如何实现一个发布者:1、初始化ROS节点;2、向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型3、按照一定频率循环发布消息/** * 该例程将发布chatter话题,消息类型String */ #include <sstrea
2022-04-14 21:10:28 462
原创 ROS 第一天 创建工作空间
一、创建新文件在Hom文件下创建新的文件夹”catkin_ws“在catkin_ws文件夹下创建一个“src”文件夹来放置源码在str文件里打开终端输入catkin_init_workspace创建日志回复,告诉系统这是ros的工作空间回到catkin_ws目录下,打开终端catkin_make编译工作空间会生成以下文件让系统知道功能包放在了devel文件夹下source devel/setup.zsh但是这个命令只会在当前终...
2022-04-13 11:18:15 683
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人