自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (9)
  • 收藏
  • 关注

原创 Auto-Encoder理解

是一种无监督学习模型,可以理解为令最常见的3层的神经网络的“输入->中间层->输出”中的输出等于输入,而目的是得到训练后的中间层。中间层的节点数少于出入层与输出层,这样,如果输出层能够很好的拟合出输入,那么中间层就相当于实现了数据的降维。如果自编码器都是在正常品数据中训练得到的,那么它很可能对于异常数据无法进行拟合,即模型输出与输入存在很大的差异,这种方法可以用于进行异常检测。结合了自身的一些理解,更加具体的信息及代码请阅读该文章。本文主要来源于知乎文章。

2024-02-05 09:40:30 382

原创 BGAD文章复现笔记-1

论文Explicit Boundary Guided Semi-Push-Pull Contrastive Learning for Supervised Anomaly Detection的复现笔记

2024-01-29 15:38:46 435

原创 learn2learn环境配置(2023年12月)

learn2learn是元学习方向的一个非常实用的库,但其发布时间较早,与最新版本的pytorch可能存在一些兼容性问题,在2023年12月这个时间进行安装时会遇到一些问题,以下是我遇到的问题及解决的方法。3. 经过检查,torch在安装时自动安装了最新版本的torchvision,但torch与torchvision是有版本对应关系的,1.8.2的torch必须对应0.9.2的torchvision。最终经过测试,以下安装可以顺利运行示例。

2023-12-01 09:13:00 569

原创 元学习示例:maml_miniimagenet无法下载数据的解决办法

从上边的代码中可以发现,learn2learn一共提供了三种下载地址,但实际上我们国内所能访问的只有最后一种zenodo,至少在我的电脑上google drive和drop box都是无法连接的。而learn2learn下载部分的代码其实没有使用zemodo这个地址,只是使用了前两种,导致运行程序时不会自动的下载数据。在learn2learn库中,有一个示例:maml_miniimagenet.py。将下载好的文件放到home/data路径下,那么再次运行程序的时候就不需要下载了,就可以开心的进行训练了!

2023-11-30 15:37:12 498

原创 虚拟机中使用Realsense

关键是设置USB3.0

2022-12-22 09:37:19 567 1

原创 1. Prism项目创建

创建Prism项目,并初步了解Prism项目的结构

2022-04-06 16:08:49 943 1

原创 C#如何实现汇报后台线程进度

熟悉C#程序开发的朋友们都知道,当我们在UI线程里进行一些运行时间较长的操作时,程序会因为UI线程繁忙而陷入假死状态。此时,正确的做法是将这些复杂的任务放入到后台线程中去执行。 比如,下面的代码实现了将一个长时间运算后的结果显示到UI中的一个按钮的Text属性中去。 private async void button1_Click(object sender, EventArgs e) { int i= await GetV();...

2022-01-10 21:53:06 422

原创 使用异步函数实现后台线程更新UI

当我们的UI程序在运行一些长时间的运算时,或者需要进行一定时间的等待时,如果我们直接把运算或者等待的代码放在UI线程里执行,就会导致UI卡住,此时任何的操作都不会得到响应,用户的体验很不好。这时,我们往往都会选择把这些复杂的运算放到后台线程去处理。 但如果后台线程运行完毕,我们需要在UI线程获取运算结果,或者显示一个运行完毕的状态,就往往需要在后台线程中操作UI控件。一般来说,从其他非UI线程去操作控件的行为是不允许的,如果我们强制关闭掉线程检测虽然可以实现跨线程去操作UI...

2021-11-30 13:53:44 265

原创 C#使用SQLServer2016

最近在项目中需要用到SQLServer2016,在这里记录一下使用的方法,也希望能帮到同样在sqlserver入门阶段的朋友们。因为我之前一直在使用的都是SQLite,这里也对SQLServer和SQLite做一些对比。 1. 安装SQLServer2016 安装就按照这篇博客来进行就OK了。SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能 必须安装的功能组件 必选的功能组件 轻便精简安装选项) - 亟待! - 博...

2021-11-19 14:00:48 637

原创 C#实现windows设备管理器的“卸载设备”和“扫描检测硬件改动”,解决Realsense无法连接的问题。

在我近期的一个项目中,我使用了C#调用Realsense去实现了一些三维的测量功能。但Realsense的连接稳定性好像有一些问题。我遇到了以下几种:1.设备会断连,软件中重新初始化一次设备对象就可以继续使用;2. 设备断联后重新初始化能够初始化成功,但无法采集到图像,此种情况我通过自动重启软件解决掉了3. 最麻烦的问题,有时候设备断联后无法再次连接了,不管是使用我自己的软件或者是RealsenseViewer,都无法再次连接到这台...

2021-11-11 11:43:03 2312 1

原创 C#实现ModbusTCP从站

很久以前,写过一篇C#做Modbus从站的博客C#工控机作为Modbus从站的方法_gaooolianggg的专栏-CSDN博客_c# modbus 从站,当时用的是NModbus,整体使用略微有些繁琐。最近在做项目时,使用了一个更方便的方法,这里分享出来。 这里使用的是EasyModbus。在Nuget程序管理中直接下载安装即可。如果你需要使用从站,只需要非常简单的几行代码ModbusServer modbusServer = new ModbusServer();...

2021-11-05 15:19:58 3007 5

原创 pycharm进入断点后自动退出

pycharm遇到进入断点后立刻自动停止运行程序,并报错:QObject::moveToThread: Current thread (0x55b7191fd7a0) is not the object's thread (0x55b71d8eeb60). Cannot move to target thread (0x55b7191fd7a0)这时,降低下opencv的版本就可以了pip install opencv-python==4.1.2.30...

2021-09-30 23:27:54 584

原创 使用PaddleDetection时预测类型错误的解决办法

使用PaddleDetection时,有时会出现预测结果的类别ID正确,但是类别string错误的情况。这是因为在配置文件中的datasets部分中,testDatasets的Dir没有写成绝对路径的原因。

2021-09-27 15:40:30 193 1

原创 使用C#部署PaddleX的图像分类任务报错

按照PaddleX/examples/C#_deploy at develop · PaddlePaddle/PaddleX · GitHub中的步骤,使用CMake去生成VS的sln。 打开sln,此时需要选择release模式,因为我在实际使用中发现Debug模式会编译报错,找不到yamlcpp-mt.lib,虽然这时,我们在链接器设置中将其修改为yamlcpp-mtd.lib即可通过编译,但生成的dll在调用时会报错。这里我也没找到解决的办法。 其他的就按照文档操作即可。...

2021-09-10 15:25:07 315

原创 修改onnx的输入,使其支持批量预测

在上一篇文章中C#使用onnxruntime进行预测,我展示了如何使用C#去读取一个resnet50的onnx模型,并且进行图像分类的预测。但我们把这个模型应用到实际项目中时,可能还存在这样一个问题:有时我们需要把多个图像同时送入模型,但此时该模型只能输出第一个图像的结果,而对其他的图像视而不见。这是因为该模型的输入batch是1,每次只能进行一张图像的识别。这里,我们就需要修改模型的输入,使其能够满足多个图像同时识别的需求。 修改输入的代码如下,resnet50-v2-7...

2021-07-21 10:53:14 4083 2

原创 C#使用OnnxRuntime进行Resnet50分类(支持GPU)

在深度学习部署环节中,基于C#的部署资料很少。本文展示了如何使用C#来部署一个基于Resnet50的图像分类任务。 本文的代码来自OnnxRuntime自带的示例。这里我已经把代码和深度学习模型文件整理好了,可以直接下载:代码及深度学习模型onnx文件下载连接 首先,我们需要配置GPU运行环境(如果使用CPU可以省略这一步骤): 1. 安装Nvidia显卡驱动、CUDA、cudnn。并且CUDA和Cudnn的版本最好满足对应关系,否则...

2021-07-19 15:40:19 4392

原创 openCV如何绘制最小外接矩形的方向

在openCV中,使用最小外接矩形来定位目标是一个很常用的功能。有时,我们需要把矩形的中心和方向展示出来,这时,可以使用cv2.arrowedLine()来实现这一目标。具体实现方法如下: 首先,我们需要使用cv2.minAreaRect来获取最小外接矩形的参数,例如rect = cv2.minAreaRect(contours[max_index]) 获取到的rect结果为((中心点坐标),(宽度,高度),角度)。得到的结果中的宽度和高度并不是按照...

2021-07-13 20:59:17 1239

原创 open3d绘制箭头

在使用open3d的过程中,我需要将提取到的目标用箭头表示出来。箭头的起始点代表目标的位置,箭头的方向代表目标表面的法向量。但open3d中并没有直接可以调用的api。 在open3d的示例中,可以找到通过mesh生成坐标轴的代码,所以,我们对这个代码稍加修改,对坐标轴的mesh进行平移、旋转、缩放,就可以得到任意位置的箭头了。这里的代码是我在网络上搜索到的,但原始代码存在一些bug,箭头的尺度有一些问题,修复了问题的代码如下:import numpy as npi...

2021-07-11 20:30:27 1597 1

原创 RealSense在C#调用中,深度图与坐标的关系

因为项目需要用C#的界面采集图像,之后实时根据深度学习进行处理。而在深度学习这部分中用的是Python语言,所以在两者集成的过程中遇到了一些问题

2021-06-28 16:13:55 673 2

原创 ONNXRuntime与PyTorch运行时间对比

在网上看到一些对比ONNXRuntime与PyTorch运行效率的文章,很多人运行的结果展示出ONNX可以提升几倍的运行效率,那么究竟有没有这么神奇呢,我来试一试。 系统:Ubuntu18.04 CPU: Intel8750H 显卡:2070 模型选择最常用的ResNet50import torchimport torchvision.models as models# importmodel = m...

2021-06-25 14:59:45 6780 9

原创 使用C#与Halcon采集Realsense深度图并获取目标点的三维数据

在机器视觉应用中,RealSense可以作为一款低成本3D传感器起到不错的效果,如精度要求不高的3D测量,有无检测等。而机器视觉行业常用Halcon

2021-06-17 22:09:45 2017 4

原创 winform自定义控件无法显示在工具箱中以及显示但使用时出错的解决办法

最近在使用winform时,遇到这样一个情况,我自定义的控件不能够添加到工具箱中,当我在工具箱中使用“选择项”浏览我的dll文件后,会显示错误。解决方法在网上很多,一般是“工具-》选项-》windows窗体设计器-》自动填充工具箱”,这样,你的自定义控件就可以显示在工具箱上了。但这时我又遇到了另外一个问题,我的控件在添加时会出错,当我鼠标点击工具栏中的控件时就会提示控件无效,并自动删除。解决方法是,把控件的生成属性选择成AnyCPU。因为我的用户控件中的一个第三方控件只支持x64,所以这里我就需

2021-02-24 09:07:02 4908 1

原创 realsense-sr305在windows上无法连接的问题

在使用RealSense SR305开发时,遇到了一个奇怪的问题。网上搜索的方法都没解决,后来自己碰巧解决了,在这里记录一下,也希望帮助到遇到同样问题的人。 我的问题是这样的情况:我原本能够很好的连接realsense,但有一次我在连接时直接把笔记本屏幕合上了,之后就再也无法连接了,而且换了其他的RealSense都这样,都无法连接。 在设备管理器里,能够查看到RealSense,而且显示驱动正常。我试过更新新版的SDK,都没有效果。最后,我在设备管理器中...

2020-08-21 21:58:58 599

原创 C#工控机作为Modbus从站的方法

工作需要实现HMI作为Modbus主站,工控机作为modbus从站。在网上找了一些资料,但多数都是使用工控机作为主站的方案,于是自己根据一些网上的说明,再加上一些摸索,实现了工控机作为从站的方法,在这里给大家分享一下。 首先,工控机作为从站的话,是没有办法去读写主站的,也就是说,工控机端只能读取HMI写进来的数据,或者把数据写如到存储区,等待HMI来读取。这里使用...

2020-02-10 14:15:16 4626 1

原创 Halcon中全局变量和多线程

HDev中,点击算子窗口的左下角,会弹出并行选项。选中后,会在算子或者自定义函数的前面添加一个修饰符这样 这个函数就会在新的线程中执行了,ThreadID是该线程的ID号,之后如果需要对该线程做操作,都需要通过这个ID号,因此一定要注意保留。通常情况下,函数中的变量都是局部变量,虽然可能和主函数中同名,但并不是同一个变量,互相没有关系。如果需要创建一个全局变量,能够

2016-06-24 13:26:54 5028

ConsoleApp16.zip

ConsoleApp16.zip

2021-11-11

onnx修改输入尺寸.zip

修改onnx模型的输入尺寸,使其能够同时处理多个图像

2021-07-21

Microsoft.ML.OnnxRuntime.ResNet50v2Sample.7z

Microsoft.ML.OnnxRuntime.ResNet50v2Sample.7z

2021-07-19

RealsenseDevice.rar

基于C#和Halcon来连接、采集RealSense的代码。

2021-06-17

NModbus-develop-test.rar

实现了工控机做Modbus从站,可以读写存储,并响应主站的读写。测试项目为myTest,其他项目为NModbus开源sample

2020-02-10

Modbus调试工具最新.rar

modbus调试工具全套,包括modbus poll,modbus slave 和 虚拟串口vspd9.0,

2020-02-10

TensorFlow官方原版文档1.4版getStarted

TensorFlow官网被墙,这是官网上下载的1.4版本的get started文档。格式为HTML文件

2017-11-14

动态规划实现立体匹配

动态规划原理实现立体匹配,分为行方向和列方向两次动态规划。没有用到opencv,采用c++自己实现的。

2013-11-09

数字图像模式识别技术及工程实践-源代码

Visual C++数字图像模式识别技术及工程实践的随书源代码。

2012-10-05

空空如也

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

TA关注的人

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