深度學習中的程式碼資源庫------影象處理篇
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
1
影象生成
繪畫風格到圖片的轉換: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“生成”放大,使低解析度的圖片在放大後也不會出現畫素鋸齒。
2
看圖說話
根據圖片生成一段描述: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。
3
影象識別
用於物體識別的全卷積網路: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實現,講的是量子化學裡的神經資訊傳遞!聽起來碉堡了。
4
影象理解
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實現,講的是一個可以基於圖片進行關係推理問答的網路。
更多關於深度學習專案的程式碼連結,視訊類、聲音類、語言類、遊戲類、文字類等,關注公眾號我們會持續更新,敬請期待......
自學容易走彎路?
快來跟張江教授學習深度學習&PyTorch吧!
集智AI學園重磅推出系列直播課
http://campus.swarma.org/gapp=120
更有強大的助教團隊
李周園
清華大學博士、荷蘭Wageningen大學WIMEK學者,遙感資料探勘方向。
胡勝
中國地質大學(武漢)碩士、攻讀博士,空間資料探勘和智慧交通方向,熟悉Python語言。
孫穎寶
荷蘭Wageningen大學遙感與地理資訊實驗室研究生,熟悉R、Python語言。
蘇尚君
前運維開發工程師、現Udacity機器學習課程助教,熟悉Python語言,GitHub使用者、有“簡書”技術專欄。
任偉
中國科學院大學博士,氣候系統與碳迴圈方向,有深度學習技術基礎,熟悉資料探勘與空間分析。
張慶逸
學生,有程式設計工作經驗,瞭解Python語言。