资源 | 深度学习中的代码资源库(一)图像处理篇

本文是集智小仙女为大家整理的代码资源库—图像处理篇,收集了大量深度学习项目图像处理领域的代码链接。包括图像识别,图像生成,看图说话等等方向的代码,所有代码均按照所属技术领域附有链接。大家同时可戳知乎中的链接索引,直接进入相应链接。知乎:https://zhuanlan.zhihu.com/p/28601032?utm_source=wechat_session&utm_medium=social


图像生成

绘画风格到图片的转换:Neural Style

https://github.com/jcjohnson/neural-style

这个项目是用 Torch 对 Leon A. Gatys, Alexander S. Ecker, 和 Matthias Bethge 等人的论文“A Neural Algorithm of Artistic Style”的一个实现。论文中提出一种算法,用卷积神经网络将一幅图像的内容与另一幅图像的风格进行组合。

图像类比转换:image-analogies

https://github.com/awentzonline/image-analogies

“神经图像类比”(neural image analogies)这个项目基本上是 A. Hertzmann et. al(2001)的论文“Image Analogies”的一个实现。在这个项目中,我们使用了 VGG16 的特征,利用 Chuan Li, Michael Wand (2016) 的论文“Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis”中描述的方法进行patch的匹配和混合。初始代码改编自 Keras 的“神经风格迁移”示例。

根据涂鸦生成图片:Neural Doodle

https://github.com/alexjc/neural-doodle

使用深度神经网络把你的二流涂鸦变成艺术一般的作品!这个项目是 Champandard(2016)的论文 “Semantic Style Transfer and Turning Two-Bit Doodles into Fine Artworks”的一个实现,基于 Chuan Li 和 Michael Wand(2016)在论文“Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis”中提出的 Neural Patches 算法。

根据涂鸦类比图片:Sketchy

https://github.com/janesjanes/sketchy

这个项目可以根据用户手绘的涂鸦,匹配出类似的图片。

根据图片生成铅笔画:Pencil

https://github.com/fumin/pencil

把一副图像变成铅笔水粉画。

手写文字模拟:rnnlib

https://github.com/szcom/rnnlib

这个项目可以做到手写文字模拟。

转换风景图片:Transient Attributes for High-Level Understanding and Editing of Outdoor Scenes

http://transattr.cs.brown.edu

这个项目可以识别和理解图片中的风景,并且可以根据用户提出的条件,定向改变原风景画中的环境(比如more night)

图片变Emojis表情:What emojis will the Emojini 3000 grant your photos?

http://engineering.curalate.com/2016/01/20/emojinet.html

将用户提供的图片转化成相关的表情图标

增加图片分辨率:srez

https://github.com/david-gpu/srez

srez(super-resolution through deep learning),即通过深度学习实现图像超分辨率。这个项目是利用深度学习将 16x16 的图像分辨率增加 4 倍,基于用来训练神经网络的数据集,所得到的图像具有鲜明的特征。

图片自动上色:Colornet

https://github.com/pavelgonchar/colornet

Colornet 是一个给灰度图像自动上色的神经网络。

生成可爱的动漫头像:AnimeGAN

https://github.com/jayleicn/animeGAN

使用PyTorch实现的GAN,可以自定义生成漂亮的动漫妹子头像,附带训练数据集哦!

骡子变斑马:CycleGAN and pix2pix in PyTorch

https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.git

图到图的翻译,著名的 CycleGAN 以及 pix2pix 的PyTorch 实现。

强大的图像生成器:DiscoGAN in PyTorch

https://github.com/carpedm20/DiscoGAN-pytorch.git

《Learning to Discover Cross-Domain Relations with Generative Adversarial Networks》的 PyTorch 实现。

使用RNN生成手写数字:DRAW implmentation

https://github.com/skaae/lasagne-draw

使用RNN生成手写体数字。

使用CNN来放大图片:waifu2x

https://github.com/nagadomi/waifu2x

使用CNN来放大图片,与普通图片放大不同的是,使用CNN“生成”放大,使低分辨率的图片在放大后也不会出现像素锯齿。

看图说话

根据图片生成一段描述:Show and Tell

https://github.com/tensorflow/models/tree/master/im2txt

这是 Oriol Vinyals et. al.(2016)的论文“Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge”的用TensorFlow实现的 image-to-text 图片说明生成模型。

根据图片讲故事:neural-storyteller

https://github.com/ryankiros/neural-storyteller

Neural-storyteller 是一个能够根据图像内容生成一个小故事的循环神经网络。这个 GitHub 库里包含了使用任意图像生成故事的代码,以及用于训练新模型的说明。

根据图片将故事2:NeuralTalk2

https://github.com/karpathy/neuraltalk2

循环神经网络(RNN)可以用于给图像取标题。NeuralTalk2 比原始版本的 NeuralTalk 更快而且性能更好。与原来的 NeuralTalk 相比,NeuralTalk2 的实现是批量的,可以使用 Torch 在 GPU上运行,并且支持 CNN 微调。这些都使得语言模型(~100x)的训练速度大大加快,但由于我们还有一个 VGGNet,因此总体上的提升没有很多。但是这仍然是个好模型,可以在 2~3 天里训练好,而且表现出的性能非常好。

识别图片中的文字:CRNN for image-based sequence recognition

https://github.com/bgshih/crnn.git

这个是 Convolutional Recurrent Neural Network (CRNN) 的 PyTorch 实现。CRNN 由一些CNN,RNN和CTC组成,常用于基于图像的序列识别任务,例如场景文本识别和OCR。

图像识别

用于物体识别的全卷积网络:PyTorch-FCN

https://github.com/wkentaro/pytorch-fcn.git

一个性能出众的物体识别全卷积神经网络,使用PyTorch实现。

引入注意力的卷积网络:Attention Transfer

https://github.com/szagoruyko/attention-transfer.git

论文 "Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer" 的PyTorch实现。

物体识别实例:Deep-Learning

https://github.com/priya-dwivedi/Deep-Learning/blob/master/Object_Detection_Tensorflow_API.ipynb

一个基于Ipython Notebook的物体识别实例,使用了Tensorflow Object Dectection API

物体识别API:Tensorflow Object Detection API

https://github.com/tensorflow/models/tree/master/object_detection

Google Tensorflow Object Dectection API 的开源代码。

推理场景结构:SfMLearner

https://github.com/tinghuiz/SfMLearner

用单张图片推理场景结构:UC Berkeley提出3D景深联合学习方法

用于分辨色情图像的open_nsfw

https://github.com/yahoo/open_nsfw

这是雅虎构建的用于检测图片是否包含不适宜工作场所(NSFW)内容的深度神经网络项目,GitHub 库中包含了网络的 Caffe 模型的代码。检测具有攻击性或成人内容的图像是研究人员进行了几十年的一个难题。随着计算机视觉技术和深度学习的发展,算法已经成熟,雅虎的这个模型能以更高的精度分辨色情图像。 由于 NSFW 界定其实是很主观的,有的人反感的东西可能其他人并不觉得如何。雅虎的这个深度神经网络只关注NSFW内容的一种类型,即色情图片,所以该模型不适用于检测素描、文字、动画、暴力图片等内容。

人脸识别:Open Face

https://github.com/cmusatyalab/openface

OpenFace 是一个使用深度神经网络,用 Python 和 Torch 实现人脸识别的项目。神经网络模型基于 Google Florian Schroff 等人的 CVPR 2015 论文“FaceNet: A Unified Embedding for Face Recognition and Clustering” ,Torch 让网络可以在 CPU 或 CUDA 上运行。

易用人脸识别:Face_recognition

https://github.com/ageitgey/face_recognition#face-recognition

这也提供了一个简单的 face_recognition 命令行工具,你可以打开命令行中任意图像文件夹,进行人脸识别!

快速人脸识别:MobileID

https://github.com/liuziwei7/mobile-id

据说是个超级快速的人脸识别程序,可以用在手机上

图像识别框架1:AlexNet & VGG Net & GoogleNet & ResNet

AlexNet

https://gist.github.com/JBed/c2fb3ce8ed299f197eff

VGG Ne

https://github.com/fchollet/keras/blob/master/keras/applications/vgg16.py

GoogleNet

https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py

ResNet

https://github.com/fchollet/keras/blob/master/keras/applications/resnet50.py

图像识别框架2:ResNeXt & RCNN & YOLO & SqueezeNet & SegNet

ResNeXt

https://github.com/titu1994/Keras-ResNeXt

RCNN (基于区域的 CNN)

https://github.com/yhenon/keras-frcnn

YOLO (You Only Look once)

https://github.com/allanzelener/YAD2K

SqueezeNet

https://github.com/rcmalli/keras-squeezenet

SegNet

https://github.com/imlab-uiip/keras-segnet

预训练的图像识别模型:functional-zoo

https://github.com/szagoruyko/functional-zoo.git

由PyTorch和Tensorflow实现的常用图像识别模型包含预训练参数。

预定义的CNN过滤器: PyScatWave

https://github.com/edouardoyallon/pyscatwave

一套预定义的filter,用于增强图像识别的效果。

计算图片中物体的相似度:Conditional Similarity Networks (CSNs)

https://github.com/andreasveit/conditional-similarity-networks.git

《Conditional Similarity Networks》的PyTorch实现,可以根据不同的条件计算图片中物体的相似度。

量子化学中的神经信息传递(・_・;Neural Message Passing for Quantum Chemistry

https://github.com/priba/nmp_qc.git

论文《Neural Message Passing for Quantum Chemistry》的PyTorch实现,讲的是量子化学里的神经信息传递!听起来碉堡了。

图像理解

Visual Question Answering in Pytorch

https://github.com/Cadene/vqa.pytorch.git

一个PyTorch实现的优秀视觉推理问答系统,是基于论文《MUTAN: Multimodal Tucker Fusion for Visual Question Answering》实现的。项目中有详细的配置使用方法说明。

Facebook看图答题:Clevr-IEP

https://github.com/facebookresearch/clevr-iep.git

Facebook Research 论文《Inferring and Executing Programs for Visual Reasoning》的PyTorch实现,讲的是一个可以基于图片进行关系推理问答的网络。

更多关于深度学习项目的代码链接,视频类、声音类、语言类、游戏类、文本类等,关注公众号我们会持续更新,敬请期待......

关注集智AI学园公众号

获取更多更有趣的AI教程

搜索微信公众号:swarmAI

学园网站:campus.swarma.org

资源 | 深度学习中的代码资源库(一)图像处理篇_第1张图片

你可能感兴趣的:(资源 | 深度学习中的代码资源库(一)图像处理篇)