Biratral Grid与HDRNET论文笔记

这篇博客介绍 Google 近年来在Photography方面一篇具有代表性的论文,Deep Bilateral Learning for Real-Time Image Enhancement

HDRNET的主要特征数数据分成两路,低分辨率偏向high level语义,这一路学习到的是一系列参数(分mesh的3×4 color matrix),学习参数需要的计算资源相对于学习输出图需要的资源更少,移动端部署更加方便。高分辨率一路更偏向low-level引导,学些引导图和参数apply。

阅读更多

双目立体匹配算法mobilestereonet

通过视觉测量深度的方法目前分为如下几种,一种是双目立体匹配,该方法的好处是有一个明确的物理模型,存在视差的概念,深度信息是根据时差转换得到,另一种是单目运动,该方法也可以看成一种特殊的双目模型或者多目模型,只不过它是时间上的多目,还有一种方法是完全的单目深度估计,直接由网络端到端给出深度,单目网络在可解释性和可移植性上不如双目和单目运动,但是其效果没有比双目差太多。

随着近年来车载系统视觉方案不断完善,立体视觉问题不断收敛,学界出现了一批轻量级网络,效果还不差,这篇博客主要介绍一个轻量级双目立体匹配网络mobilestereonet,后文简称MSN。博主理解MSN主要贡献还是在与对网络模型的压缩,骨干和后面的特征提取大量使用深度可分离卷积,而论文中提及的一些网络结构,经过博主实验下来,这些并不重要(比如3d卷积用分组卷积替代,网络性能并没有明显降低),直接感受是,参数确实更少,计算也更少。

阅读更多

Pytorch模型蒸馏Distillation

网络模型在部署时会通过剪枝蒸馏等方式加快推理速度,模型蒸馏大概可以分为通道蒸馏、特征蒸馏和目标蒸馏。这里需要特别强调的是,蒸馏的student网络学习的是teacher的泛化能力,而不是过拟合训练数据。这篇博客会以pytorch代码为基础,介绍常用的模型蒸馏方法。

阅读更多

UnrealCV部署使用指南

在深度学习中,数据仿真一直是重要的topic,Unreal(虚幻引擎)是Epic主导的渲染引擎,常被用于游戏、场景设计、渲染计算,也可以被用于深度学习中的数据仿真,其中有一些比较有名的基于Unreal开发的数据仿真平台,比如CARLA(http://carla.org/)、AirSim等优秀的仿真平台被用于自动驾驶、机器人自动控制等。这篇博客也是介绍一个这样的项目UnrealCV,简单介绍下unrealcv的部署和使用。实际上UnrealCV没有CARLA和AirSim强大(主要是没有运动模型和碰撞检测),所以简单介绍仅供参考。

阅读更多

Pytorch使用2d卷积来实现3d卷积

我们在深度学习模型转换和推理过程中常常会遇到算子不被工具链支持的情况,这时我们可以通过其它算子来等价实现我们想要的算子,比如3d卷积不被工具链支持,我们可以将其拆分成2d卷积,拆分之后我们需要进行权重字典的拆分。这篇博客贴一下pytorch的实现。

阅读更多

神经网络训练量化(QAT)基本概念

QAT(Quantization Aware Training)量化感知训练是神经网络优化模型容量的重要方法,关系到模型精度和性能。pytorch对模型量化支持有三种方式:模型训练完毕后的动态量化、模型训练完毕后的静态量化、模型训练中开启量化QAT。这篇博客主要基于pytorh介绍QAT的基本概念。

阅读更多

CNN直接处理YUV图像

在ISP pipe中,最后输出的一般都是YUV图像,YUV420的数据量是RGB数据量的两倍,我们在送入CNN处理的时候处理RGB图像居多,如果CNN也可以直接输入YUV图像,那么前级需要的带宽就会减为输入RGB图的一半。

YUVMultiNet提供了一种实用的结构来处理YUV图像。这篇博客只会介绍处理YUV的这种结构,如果对MultiNet感兴趣可以移步原文:https://arxiv.org/pdf/1904.05673.pdf

阅读更多

论文速览:Optical Flow Estimation from a Single Motion-blurred Image

AAAI 2021接收论文,使用单帧模糊图像估计光流。论文地址:https://arxiv.org/pdf/2103.02996v1.pdf

论文主要有三个贡献:一是首次实现通过单帧运动模糊图像估计光流和运动,二是从视频序列中生成运动模糊图像和groundtruth来训练网络,三是将结果用于运动模糊去除和运动目标分割。

阅读更多

从RNN到Seq2Seq

循环神经网络RNN结构被广泛应用与NPL领域,在机器翻译、语音识别、文字识别等方向大放异彩。后来RNN产生了多种变种,其中Seq2Seq结构和Attention机制被证明在语义理解方面有很大的增益。博主也很久没有碰过这块内容了,简单的摘抄和拼凑,权当复习笔记了 0.0

阅读更多

目标检测算法梳理YOLO、SSD、CornerNet

大概两三年前,博主有发过一篇综述:深度学习综述(二)深度学习用于目标检测 ,那时候主要是Fast-RCNN系列到yolo和ssd系列,之后很久不务正业没有跟进了。最近又开始跟进下,摘抄些笔记,没啥有深度的东西。

梳理下目标检测算法,大致经历了如下发展: 传统机器学习方法(slide window+feature extraction) -> Region Proposal + CNN -> Anchor Based CNN -> Anchor Free CNN。本文简单介绍Anchor Base方法中最著名的YOLO和SSD,Anchor Free方法中的CornerNet。

阅读更多

图神经网络GNN的简单理解

2019年的时针开始转动,在CNN、RNN、LSTM、GAN、GNN、CAP的潮起潮落中,带来了这篇博客。放上一篇参考引用。 其实个人认为理解GNN的核心问题就是理解图怎么做傅里叶变换。CNN的核心操作时卷积,GNN也是。CNN计算二维矩阵的卷积,GNN计算图的卷积。那么我们定义好图的傅里叶变换和图的卷积就可以了,其媒介就是图的拉普拉斯矩阵。

好了,这篇博客将简要介绍图神经网络的原理,但是不会设计太多数学细节(因为博主数学很烂啦)。通过理解图神经网络的卷积操作,来理解其流程,再会配合代码来做简单解释。

阅读更多

MTCNN进行人脸特征点检测和特征点提取

级联CNN提出与2015年,在目标检测领域有着很成功的应用。好久好久好久没看过目标检测了,今天被问到这个,临时翻论文到源码,发现还是很容易理解的。只是好久好久好久没玩Caffe,发现Caffe现在丰富了太多。这篇博客介绍的MTCNN人脸检测,就是基于Caffe平台的,与级联CNN有关,清楚所有技术细节之后,决定写一篇博客记录一下。

阅读更多