资源 | 深度学习中的代码资源库(一)图像处理篇
本文是集智小仙女为大家整理的代码资源库—图像处理篇,收集了大量深度学习项目图像处理领域的代码链接。包括图像识别,图像生成,看图说话等等方向的代码,所有代码均按照所属技术领域附有链接。大家同时可戳知乎中的链接索引,直接进入相应链接。
张江知乎专栏:
https://zhuanlan.zhihu.com/p/28601032?utm_source=wechat_session&utm_medium=social
(或搜索人工智能笔记专栏)
1、 图像生成
1.1 绘画风格到图片的转换:Neural Style
1.2 图像类比转换:image-analogies
1.3 根据涂鸦生成图片:Neural Doodle
1.4 匹根据涂鸦类比图片:Sketchy
1.5 根据图片生成铅笔画:Pencil
1.6 手写文字模拟:rnnlib
1.7 转换风景图片:Transient Attributes for High-Level Understanding and Editing of Outdoor Scenes
1.8 图片变Emojis表情:What emojis will the Emojini 3000 grant your photos?
1.9 增加图片分辨率:srez
1.10 图片自动上色:Colornet
1.11 生成可爱的动漫头像:AnimeGAN
1.12 骡子变斑马:CycleGAN and pix2pix in PyTorch
1.13 强大的图像生成器:DiscoGAN in PyTorch
1.14 使用RNN生成手写数字:DRAW implmentation
1.15 使用CNN来放大图片:waifu2x
2、 看图说话
2.1 根据图片生成一段描述:Show and Tell
2.2 根据图片讲故事:neural-storyteller
2.3 根据图片将故事2:NeuralTalk2
2.4 识别图片中的文字:CRNN for image-based sequence recognition
3、 图像识别
3.1 用于物体识别的全卷积网络:PyTorch-FCN
3.2 引入注意力的卷积网络:Attention Transfer
3.3 物体识别实例:Deep-Learning
3.4 物体识别API:Tensorflow Object Detection API
3.5 推理场景结构:SfMLearner
3.6 用于分辨色情图像的open_nsfw
3.7 人脸识别:Open Face
3.8 易用人脸识别:Face_recognition
3.9 快速人脸识别:MobileID
3.10 图像识别框架1:AlexNet & VGG Net & GoogleNet & ResNet
3.11 图像识别框架2:ResNeXt & RCNN & YOLO & SqueezeNet & SegNet
3.12 预训练的图像识别模型:functional-zoo
3.13 预定义的CNN过滤器: PyScatWave
3.14 计算图片中物体的相似度:Conditional Similarity Networks (CSNs)
3.15 量子化学中的神经信息传递(?_?;Neural Message Passing for Quantum Chemistry
4 、图像理解
4.1 Visual Question Answering in Pytorch
4.2 Facebook看图答题:Clevr-IEP
图像生成
绘画风格到图片的转换: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学园」,搜索「swarmAI」即可关注。
推荐阅读
集智QQ群|292641157
商务合作|zhangqian@swarma.org
投稿转载|wangting@swarma.org
◆ ◆ ◆
搜索公众号:集智俱乐部
加入“没有围墙的研究所”
让苹果砸得更猛烈些吧!