<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[上善若水，为而不争]]></title><description><![CDATA[天之苍苍，其正色邪]]></description><link>https://blog.youkuaiyun.com/yz2zcx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yz2zcx]]></copyright><item><title><![CDATA[[边缘检测算法] Sobel算子及其PC端优化提速20几倍]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/114386667</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/114386667</guid><author>yz2zcx</author><pubDate>Fri, 05 Mar 2021 11:12:41 +0800</pubDate><description><![CDATA[文章目录前言一、Sobel算子二、实现与优化1.原始版本2.第一版优化3.第二版优化4.第三版优化5.第四版优化6.第五版优化

前言
&nbsp;&nbsp;&nbsp;&nbsp;Sobel是图像处理中非常常见的一种边缘检测算法，本文基于C++和OpenCV对Sobel进行了实现，并对代码进行优化。

一、Sobel算子
&nbsp;&nbsp;&nbsp;&nbsp;Sobel算子是图像处理中的一个离散微分算子，经典的Sobel算子包含了一个33的矩阵(OpenCV中的Sobel是包含其它尺寸的，本文]]></description><category></category></item><item><title><![CDATA[[tensorflow]tensorflow/core/kernels/BUILD:6589:1: no such package ‘@icu//‘:]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/100609129</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/100609129</guid><author>yz2zcx</author><pubDate>Mon, 25 Jan 2021 13:38:56 +0800</pubDate><description><![CDATA[在编译tensorflow的C++接口的时候，bazel执行的时候报了错误：




ERROR: /home/zcx/tensorflow-r1.12/tensorflow/core/kernels/BUILD:6589:1: no such package '@icu//': java.io.IOException: thread interrupted and referenced by '...]]></description><category></category></item><item><title><![CDATA[win10编译protobuf]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/109254963</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/109254963</guid><author>yz2zcx</author><pubDate>Sat, 24 Oct 2020 10:13:56 +0800</pubDate><description><![CDATA[1、从官方github下载windows的源码：
https://hub.fastgit.org/protocolbuffers/protobuf/archive/v3.4.0.zip
2、解压得到工程目录

3、打开cmake-gui，设置源码路径和cmake生成路径：

3.1 点击Configure生成配置，弹出的窗口选自己的配置的VS版本和要编译的版本(x64、win32或者跨平台)

3.2、编译好后可能会报错：

解决方法：把protobuf_BUILD_TESTS取消勾选，重新点击Config]]></description><category></category></item><item><title><![CDATA[tensorflow1.x C++接口调用keras-yolo3模型]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/109191726</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/109191726</guid><author>yz2zcx</author><pubDate>Tue, 20 Oct 2020 23:29:05 +0800</pubDate><description><![CDATA[一、废话
&nbsp;&nbsp;&nbsp;&nbsp;今天花了一个下午时间，把qqwweee/keras-yolo3的模型转到tensorflow的pb，然后通过tensorflow 1.x提供的接口，把模型输出后的后处理加到计算图中，再保存为一个新的pb模型，这样，新的pb模型输出的就是转换后的坐标(x,y,w,h)和置信度与概率.
&nbsp;&nbsp;&nbsp;&nbsp;这样做主要是我想用tensorflow的C++接口来调用pb模型，所以想把这部分后处理写到计算图里，加载运行后得到比较直接]]></description><category></category></item><item><title><![CDATA[[Pytorch].pth转.pt文件]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/100609210</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/100609210</guid><author>yz2zcx</author><pubDate>Mon, 06 Jul 2020 10:55:52 +0800</pubDate><description><![CDATA[Pytorch的模型文件一般会保存为.pth文件，但是其C++接口一般读取的是.pt文件，因此，C++在调用Pytorch训练好的模型文件的时候就需要进行一个转换，转换为.pt文件，才能够读取。



所以在转换的时候，首先就需要先将模型文件读取进来，然后利用pytorch提供的函数torch.jit.trace进行转换，这个函数的声明为：




def trace(func,
        ...]]></description><category></category></item><item><title><![CDATA[[tensorflow] Cannot uninstall wrapt]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/100838273</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/100838273</guid><author>yz2zcx</author><pubDate>Thu, 11 Jun 2020 08:36:55 +0800</pubDate><description><![CDATA[我在安装tensorflow的时候遇到这样的问题：



那就查下资料，查到的解决方案是，输入以下指令安装相应的库即可：


pip install -U --ignore-installed wrapt enum34 simplejson netaddr


...]]></description><category></category></item><item><title><![CDATA[《Recent Advances in Deep Learning for  Object Detection 》笔记]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/100609245</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/100609245</guid><author>yz2zcx</author><pubDate>Tue, 02 Jun 2020 13:22:18 +0800</pubDate><description><![CDATA[最近看了一篇目标检测的综述，之前对目标检测的认识不是很多，所以简单地记录一下笔记。这篇论文主要讲了目前的目标检测算法的一些设置、检测范式、基准等，包括了传统算法和深度学习算法，主要侧重深度学习算法部分。

一、传统方法

传统的目标检测算法主要是三个步骤：

1、候选框生成(proposal generation)：候选框生成，主要是筛选并提取出可能包含目标的区域，通常为矩形框；

2、特征向量提...]]></description><category></category></item><item><title><![CDATA[win10编译tensorflow C++接口]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/83106669</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/83106669</guid><author>yz2zcx</author><pubDate>Tue, 26 May 2020 10:09:40 +0800</pubDate><description><![CDATA[​原文地址：https://www.bearoom.xyz/2018/08/28/win10-build-tf-cc/

首先，我觉得这是一个比较DT的活，因为，tensorflow支持最好的编程语言应该是python(应该说大部分深度学习框架支持的最好的语言都是Python)，tensorflow的底层说是C/C++编写的，但是，感觉它对C/C++真的很不友好，有关Python的资料一查一大把，...]]></description><category></category></item><item><title><![CDATA[基于Keras的mnist手写数字识别]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/100399367</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/100399367</guid><author>yz2zcx</author><pubDate>Tue, 26 May 2020 09:11:51 +0800</pubDate><description><![CDATA[首先，在众多深度学习框架中，我最开始上手的框架(因为那时候先接触的caffe，配置使用都太麻烦了)是Keras，什么叫做搞什么深度学习，我不过是搭积木罢了，这句话真的太适合形容Keras了。Keras是一个高级的深度学习框架，是架设于tensorflow、Theano、CNTK三大深度学习框架之上的，可以设置切换后台为其中之一，不过目前比较多的应该是用tensorflow作为后台，tensorfl...]]></description><category></category></item><item><title><![CDATA[C++:log日志]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105939827</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105939827</guid><author>yz2zcx</author><pubDate>Tue, 05 May 2020 21:54:49 +0800</pubDate><description><![CDATA[前言
  日志一般是记录一些程序运行信息的文件，一般是用于快速定位错误所在，追踪程序运行的过程和进度、采集运行环境等作用。说白了简单粗暴点就是程序挂了，可以看到大概在哪里挂的，挂的原因可能有哪些等作用。
  最近在github上找了些C++的日志库，做了些简单的使用记录。
一、NanoLog C++ 11
  在github上找到的NanoLog有几个版本，不过我只下载了两个星星数量最高的，一个是...]]></description><category></category></item><item><title><![CDATA[YOLO v4]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105803944</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105803944</guid><author>yz2zcx</author><pubDate>Tue, 28 Apr 2020 00:42:12 +0800</pubDate><description><![CDATA[源权重文件在Google driver上：https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT，有245MB。
速度简单测试了下转keras后的速度，输入大小为416*416，GTX1060 要260ms左右，CPU I7-7700要1s左右，这速度不行，可能也跟转了keras的代码有关，darknet的还没跑，困了，...]]></description><category></category></item><item><title><![CDATA[C++:http消息]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105758850</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105758850</guid><author>yz2zcx</author><pubDate>Sat, 25 Apr 2020 22:48:00 +0800</pubDate><description><![CDATA[前言
  最近的一些开发，需要用到http服务，大致是两种，一种是我们算法端起http服务，等到后端发送消息给算法，然后算法去解析消息，得到我们要的图像数据；第二种是，我们算法端处理完图像之后，需要将结果发送给后端，那么如果是后端发送给我们的，其实可以将处理完的结果返回即可；但也有一种情况是，需要我们算法去给后端发消息的。
  所以这其中就涉及两种情形：第一种是算法起服务，第二种是算法发送http...]]></description><category></category></item><item><title><![CDATA[偏要叫[C++] Base64编码]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105742498</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105742498</guid><author>yz2zcx</author><pubDate>Fri, 24 Apr 2020 23:50:44 +0800</pubDate><description><![CDATA[前言
  Base64非常常见的用于传输8Bit字节码的编码方式之一，也就是采用64个可打印的自体来编码二进制数据进行传输的方法。在ASCII表中，0～31、127是控制字符32～126属于可打印字符，而Http协议下传输二进制数据，是需要把数据转为字符来传输的，所以实际上能用于传输的就是ASCII表中的32～126这95个字符，base64则是采用了其中的64个来编码。
  标准base64中可...]]></description><category></category></item><item><title><![CDATA[树莓派上几种人脸检测模型对比]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105467106</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105467106</guid><author>yz2zcx</author><pubDate>Sun, 12 Apr 2020 23:03:07 +0800</pubDate><description><![CDATA[前言
  人脸检测相对其他计算机视觉技术而言，可以算是比较烂大街的技术，各家都有各家的人脸检测技术，而且开源的很多人脸检测技术都有非常高的精度和速度。接下来就对github上找到的几款人脸检测模型进行对比。
  测试图像，大小2048*1150，如下：

  我的运行硬件是4G版的树莓派4B，运行的推理平台是腾讯开源的ncnn框架，运行语言是C++。本次测试的模型如下:




模型
地址



...]]></description><category></category></item><item><title><![CDATA[树莓派安装MNN]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105464881</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105464881</guid><author>yz2zcx</author><pubDate>Sun, 12 Apr 2020 09:54:46 +0800</pubDate><description><![CDATA[前言

  MNN是阿里开源的一款用于边缘端设备部署、推理深度学习模型的框架，与腾讯开源的ncnn类似哈。
  MNN在[github](https://github.com/alibaba/MNN "github")上有开源，同时官方也有提供[开发接口文档](https://www.yuque.com/mnn "开发接口文档")；而且写的比较详细。跟ncnn一样，MNN也是在手机端用的还比较多，...]]></description><category></category></item><item><title><![CDATA[树莓派安装ncnn]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105463147</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105463147</guid><author>yz2zcx</author><pubDate>Sun, 12 Apr 2020 00:22:24 +0800</pubDate><description><![CDATA[前言

  ncnn是腾讯开源的用于手机端部署深度学习模型的框架，目前也支持在树莓派上使用。ncnn提供C++的借口，支持caffe等框架的模型进行转换。
  目前ncnn已经开源，代码放[github](https://github.com/Tencent/ncnn "github")上，但是原版的代码对tensorflow支持不是很好，因此有大神搞了个支持tensorflow的ncnn，也在g...]]></description><category></category></item><item><title><![CDATA[白平衡之完美反射算法]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105328002</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105328002</guid><author>yz2zcx</author><pubDate>Sun, 05 Apr 2020 15:48:36 +0800</pubDate><description><![CDATA[一、算法背景
  白平衡是图像处理比较常见的一个概念，在采集图像的过程中，相机的感光元件或者镜头会对原始色彩造成影响，而白平衡技术通常可以用来校正这种光线和镜头对颜色影响。所以现在先记录一个白平衡算法，叫做完美反射算法，这个算法原理也不是有多复杂，但是效果还是挺好的，而且基本也不需要调节参数就有效果了。完美反射算法很多博客都有介绍，而且实际上也还是就几个公式，所以我也是简单记录重要的公式和实现代码...]]></description><category></category></item><item><title><![CDATA[白平衡之灰度世界算法]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105321078</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105321078</guid><author>yz2zcx</author><pubDate>Sun, 05 Apr 2020 00:43:19 +0800</pubDate><description><![CDATA[一、算法背景
  白平衡是图像处理比较常见的一个概念，在采集图像的过程中，相机的感光元件或者镜头会对原始色彩造成影响，而白平衡技术通常可以用来校正这种光线和镜头对颜色影响。所以现在先记录一个白平衡算法，叫做灰度世界算法，这个算法很多博客都有介绍，而且实际上就几个公式，所以我也是简单记录重要的公式和实现代码而已。
二、算法原理
  灰度世界算法（Gray World)假设认为,一幅彩色图像中，RGB...]]></description><category></category></item><item><title><![CDATA[暗通道去雾法]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105178918</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105178918</guid><author>yz2zcx</author><pubDate>Sun, 29 Mar 2020 17:39:31 +0800</pubDate><description><![CDATA[一、算法背景
  暗通道先验去雾算法是大神何恺明2009年发表在CVPR上的一篇论文，还获得了当年的CVPR最佳论文。
  根据论文的介绍，暗通道去雾算法是基于一个关键的观察：在没有雾霾的室外图像中，大多数局部区域包含一些像素，这些像素在至少一个颜色通道中具有非常低的强度(原文：It is based on a key observation - most local patches in haz...]]></description><category></category></item><item><title><![CDATA[树莓派3B+安装wordpress]]></title><link>https://blog.youkuaiyun.com/yz2zcx/article/details/105027115</link><guid>https://blog.youkuaiyun.com/yz2zcx/article/details/105027115</guid><author>yz2zcx</author><pubDate>Sun, 22 Mar 2020 13:59:55 +0800</pubDate><description><![CDATA[前言
  我的树莓派用的是3B+，内存卡64G，装了树莓派官方提供的系统。最近想重新写自己的技术博客，做一些记录和笔记，因此重新折腾起wordpress来，这里只是要做内网访问即可，只是自己在家写博客用，所以外网就访问不了，但是我要的就是自己在家记录些技术就可以了哈。系统什么的就默认是装好的，接下来按照步骤一步一步来安装。
一、安装 Apache2、MySQL、PHP
  因为不懂前端后端开发，所...]]></description><category></category></item></channel></rss>