8 风翼冰舟

尚未进行身份认证

我要认证

Machine Learning, Algorithm

等级
TA的排名 2k+

OpenCV使用Tensorflow2-Keras模型

前言最近工作上需要在C++上快速集成Tensorflow/Keras训练好的模型,做算法验证。首先想到的就是opencv里面的dnn模块了,但是它需要的格式文件比较郁闷,是pb格式的模型,但是keras通常保存的是h5文件,查阅了很多资料,最后找到了很方便的方法。国际惯例,参考博客Frozen_Graph_TensorFlow这个地址的大佬用fashion mnist写的训练和测试,我这里用更简单的线性回归为例。训练老样子,引入相关的包,创建数据集import numpy as npimpo

2020-05-26 15:17:11

PCA、SVD、ZCA白化理论与实现

简介在UFLDL中介绍了主成分分析这一块的知识,而且当时学机器学习的时候,老师是将PCA和SVD联系起来将的,同时UFLDL也降到了使用PCA做数据白化whitening处理,这个词经常在论文里面看到。国际惯例,参考博客:UFLDL的PCA章节PRML的第12.1 PCA章节知乎深入理解PCA与SVD的关系PCA and SVD explained with numpyRelatio...

2020-04-21 01:31:21

tensorflow2安装时候的一个dll找不到的错误

电脑环境:vs2015python3.7.6,使用anaconda安装的CUDA 10.1cuDnn 7.6.5tensorflow2.1.0错误内容File "C:\Users\zb116\anaconda3\lib\imp.py", line 242, in load_module return load_dynamic(name, filename, file) ...

2020-04-12 22:47:04

tensorflow官方posenet模型解析

前言tensorflow官方有个姿态估计项目,这个输入和openpose还有点不一样,这里写个单人情况下的模型输出解析方案。国际惯例,参考博客:博客: 使用 TensorFlow.js 在浏览器端上实现实时人体姿势检测tensorflow中posnet的IOS代码解析不要下载官方overview网址下的posenet模型multi_person_mobilenet_v1_075_flo...

2020-03-15 16:04:01

3D人脸重建——PRNet网络输出的理解

前言之前有款换脸软件不是叫ZAO么,分析了一下,它的实现原理绝对是3D人脸重建,而非deepfake方法,找了一篇3D重建的论文和源码看看。这里对源码中的部分函数做了自己的理解和改写。国际惯例,参考博客:什么是uv贴图?PRNet论文PRNet代码本博客主要是对PRNet的输出进行理解。理论简介这篇博客比较系统的介绍了3D人脸重建的方法,就我个人浅显的理解,分为两个流派:1.通过算...

2020-02-06 23:13:06

换脸系列——整脸替换

前言前面介绍了仅替换五官的方法,这里介绍整张脸的方法。国际惯例,参考博客:[图形算法]Delaunay三角剖分算法维诺图(Voronoi Diagram)分析与实现Delaunay Triangulation and Voronoi Diagram using OpenCV ( C++ / Python )Face Swap using OpenCV ( C++ / Python )...

2020-02-04 23:17:42

换脸系列——眼鼻口替换

前言想着整理一下换脸相关的技术方法,免得以后忘记了,最近脑袋越来越不好使了。应该会包含三个系列: 仅换眼口鼻;换整个面部;3D换脸先看看2D换脸吧,网上已经有现成的教程了,这里拿过来整理一下,做个记录。国际惯例,参考博客:Switching Eds: Face swapping with Python, dlib, and OpenCVopencv人脸关键点检测模型这里面一般涉及到脸与...

2020-01-20 18:46:33

Openpose推断阶段原理

前言之前出过一个关于openpose配置的博客,不过那个代码虽然写的很好,而且是官方的,但是分析起来很困难,然后再opencv相关博客中找到了比较清晰的实现,这里分析一波openpose的推断过程。国际惯例,参考博客:opencv官方文档,只有单人大佬的实现,包括多人解读直接使用opencv的dnn库调用openpose的caffe模型,然后对输出进行后处理。重点是代表关节连接亲密度的...

2020-01-19 20:13:55

颜色协调模型Color Harmoniztion

前言最近做换脸,在肤色调整的那一块,看到一个有意思的文章,复现一波玩玩。不过最后一步掉链子了,有兴趣的可以一起讨论把链子补上。主要是github上大佬的那个复现代码和原文有点差异,而且代码复杂度过高,阅读费劲,这里为了清晰理解理论知识,就一步一步按照论文的每个章节走,不过有很大一部分代码都借鉴大佬了。国际惯例,参考文献:论文《Color Harmonization》opencv超像素分割...

2020-01-17 17:58:38

骨骼动画——论文与代码精读《Phase-Functioned Neural Networks for Character Control》

前言最近一直玩CV,对之前学的动捕知识都忘得差不多了,最近要好好总结一下一直以来学习的内容,不能学了忘。对2017年的SIGGRAPH论文《Phase-Functioned Neural Networks for Character Control》进行一波深入剖析吧,结合源码。额外多句嘴,这一系列的研究有:在2016年SIGGRAPH有一篇《A Deep Learning Framewo...

2020-01-15 15:53:29

Tensorflow 指令加速

一直没注意过使用Tensorflow的时候有一条warning:Warning: your cpu supports instructions that this tensorflow binary was not compiled to use: avx2 fma这玩意是可以用来加速推断的,分CPU和GPU版,业务相关部署在CPU上,实测使用CPU加速能提升3倍左右,但是编译过程有点复杂。...

2019-10-14 14:54:53

【TensorFlow-serving】初步学习模型部署

前言初步学习tensorflow serving的手写数字识别模型部署。包括简单的模型训练、保存、部署上线。因为对docker和网络不太熟悉,可能会有部分错误,但是看完博客,能跑通整个流程。此博客将详细介绍流程,但是不详细介绍每个流程的每步的含义,因为这些步骤不会随着任务的不同而发生太大改变。在后续博客中可能会精细介绍每一步的含义。国际惯例,参考博客:tensorflow官方文档:低阶API...

2019-09-03 21:13:42

【TensorFlow-windows】keras接口——利用tensorflow的方法加载数据

前言之前使用tensorflow和keras的时候,都各自有一套数据读取方法,但是遇到一个问题就是,在训练的时候,GPU的利用率忽高忽低,极大可能是由于训练过程中读取每个batch数据造成的,所以又看了tensorflow官方的加载数据方法。主要是利用了tf.data.Dataset这里面的一系列操作。国际惯例,参考博客:tensorflow官方加载数据集方法官方文档对应的代码images...

2019-08-23 22:07:11

深度学习特征归一化方法——BN、LN、IN、GN

前言最近看到Group Normalization的论文,主要提到了四个特征归一化方法:Batch Norm、Layer Norm、Instance Norm、Group Norm。此外,论文还提到了Local Response Normalization(LRN)、Weight Normalization(WN)、Batch Renormalization(BR)。国际惯例,参考博客:Gr...

2019-08-20 17:34:46

【TensorFlow-windows】TensorBoard可视化

前言紧接上一篇博客,学习tensorboard可视化训练过程。国际惯例,参考博客:MNIST机器学习入门Tensorboard 详解(上篇)Tensorboard 可视化好帮手 2tf-dev-summit-tensorboard-tutorialtensorflow官方mnist_with_summaries预备知识根据之前学的知识,创建一个卷积结构进行手写数字分类impor...

2019-08-09 22:06:36

【TensorFlow-windows】name_scope与variable_scope

前言探索一下variable_scope和name_scope相关的作用域,为下一章节tensorboard的学习做准备其实关于variable_scope与get_variable实现变量共享,在最开始的博客有介绍过:【TensorFlow-windows】学习笔记二——低级API当然还是国际惯例,参考博客:tensorflow: name_scope 和 variable_scope...

2019-08-08 21:10:19

【TensorFlow-windows】keras接口——ImageDataGenerator裁剪

前言Keras中有一个图像数据处理器ImageDataGenerator,能够很方便地进行数据增强,并且从文件中批量加载图片,避免数据集过大时,一下子加载进内存会崩掉。但是从官方文档发现,并没有一个比较重要的图像增强方式:随机裁剪,本博客就是记录一下如何在对ImageDataGenerator中生成的batch做图像裁剪国际惯例,参考博客:官方ImageDataGenerator文档Ker...

2019-06-10 11:49:07

【TensorFlow-windows】MobileNet理论概览与实现

前言轻量级神经网络中,比较重要的有MobileNet和ShuffleNet,其实还有其它的,比如SqueezeNet、Xception等。本博客为MobileNet的前两个版本的理论简介与Keras中封装好的模块的对应实现方案。国际惯例,参考博客:纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception为什么MobileNet及其变体如此之...

2019-05-20 20:31:27

RS编码-Python工具包使用

前言最近学习二维码相关知识,遇到了ReedSolomon编码,简称RS编码,中文名里德所罗门编码。遇到的问题是使用的工具包返回的编码是bytearray类型,而二维码是二进制01编码,所以本博客主要验证,如何将bytearray类型转为二进制,随机污染,再利用RS编码纠错,最后解码为传递信息。RS编码使用的工具包戳这里reedsolomon直接安装:pip install reedsolo...

2019-05-16 17:22:38

【TensorFlow-windows】部分损失函数测试

前言在TensorFlow中提供了挺多损失函数的,这里主要测试一下均方差与交叉熵相关的几个函数的计算流程。主要是测试来自于tf.nn与tf.losses的mean_square_error、sigmoid_cross_entry、softmax_cross_entry、sparse_softmax_cross_entry国际惯例,参考博客:官方文档一文搞懂交叉熵在机器学习中的使用,透彻理解...

2019-05-13 15:58:16

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享王者
    分享王者
    成功上传51个资源即可获取