All Projects → Jackie-Chou → Mc Cnn Python

Jackie-Chou / Mc Cnn Python

Licence: mit
a python implementation of MC-CNN

Programming Languages

python
139335 projects - #7 most used programming language
python27
39 projects

Projects that are alternatives of or similar to Mc Cnn Python

Dcnv2
Deformable Convolutional Networks v2 with Pytorch
Stars: ✭ 868 (+2184.21%)
Mutual labels:  cnn
Rnn Theano
使用Theano实现的一些RNN代码,包括最基本的RNN,LSTM,以及部分Attention模型,如论文MLSTM等
Stars: ✭ 31 (-18.42%)
Mutual labels:  cnn
Dl Colab Notebooks
Try out deep learning models online on Google Colab
Stars: ✭ 969 (+2450%)
Mutual labels:  cnn
Servenet
Service Classification based on Service Description
Stars: ✭ 21 (-44.74%)
Mutual labels:  cnn
Kaggle Web Traffic Time Series Forecasting
Solution to Kaggle - Web Traffic Time Series Forecasting
Stars: ✭ 29 (-23.68%)
Mutual labels:  cnn
Facerecognition
OpenCV 3 & Keras implementation of face recognition for specific people.
Stars: ✭ 32 (-15.79%)
Mutual labels:  cnn
Flownet2
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
Stars: ✭ 938 (+2368.42%)
Mutual labels:  cnn
Twitter Sentiment Analysis
Sentiment analysis on tweets using Naive Bayes, SVM, CNN, LSTM, etc.
Stars: ✭ 978 (+2473.68%)
Mutual labels:  cnn
Qa Rankit
QA - Answer Selection (Rank candidate answers for a given question)
Stars: ✭ 30 (-21.05%)
Mutual labels:  cnn
Deepmodels
TensorFlow Implementation of state-of-the-art models since 2012
Stars: ✭ 33 (-13.16%)
Mutual labels:  cnn
Mxnet Ir
Image Retrieval Experiment Using Triplet Loss
Stars: ✭ 27 (-28.95%)
Mutual labels:  cnn
Cnn Question Classification Keras
Chinese Question Classifier (Keras Implementation) on BQuLD
Stars: ✭ 28 (-26.32%)
Mutual labels:  cnn
Action Recognition Using 3d Resnet
Use 3D ResNet to extract features of UCF101 and HMDB51 and then classify them.
Stars: ✭ 32 (-15.79%)
Mutual labels:  cnn
Neural Image Captioning
Implementation of Neural Image Captioning model using Keras with Theano backend
Stars: ✭ 12 (-68.42%)
Mutual labels:  cnn
Neural Networks
All about Neural Networks!
Stars: ✭ 34 (-10.53%)
Mutual labels:  cnn
Attention Ocr
A Tensorflow model for text recognition (CNN + seq2seq with visual attention) available as a Python package and compatible with Google Cloud ML Engine.
Stars: ✭ 844 (+2121.05%)
Mutual labels:  cnn
Smsop
Code for Statistically-motivated Second-order Pooling, ECCV2018
Stars: ✭ 32 (-15.79%)
Mutual labels:  cnn
Ijjs
a lightweight js runtime for IOT(一个面向物联网的JS运行时)
Stars: ✭ 38 (+0%)
Mutual labels:  cnn
Covidaid
COVID-19 Detection Using Chest X-Ray
Stars: ✭ 35 (-7.89%)
Mutual labels:  cnn
Gaze Estimation
A deep learning based gaze estimation framework implemented with PyTorch
Stars: ✭ 33 (-13.16%)
Mutual labels:  cnn

MC-CNN python implementation

simple implementation of MC-CNN origined from the paper[1] in python

environment requirements

  1. python 2.7
  2. tensorflow >= 1.4
  3. numpy >= 1.14.0
  4. cv2 >= 3.3.0
  5. tqdm >= 4.24.0

file description

  • model.py: MC-CNN model class. Only the fast architecture in [1] is implemented but I suppose it's not hard to build the accurate one.
  • datagenerator.py: training data generator class. This is used to generate data for model training.
  • train.py: training of MC-CNN.
  • util.py: some helper functions such as parsing calibration file.
  • process_functional.py: processing functions used in stereo matching such as cross-based cost aggregation.
  • match.py: main program of stereo matching. Call relevant procedures from process_functional.py by order and save the final results as Middlebury stereo dataset(version 3) required.

usage

  1. train the MC-CNN model. This is pretty quick on my Nvidia 1080Ti GPU for 2000 epochs. for details type

python train.py -h

  1. use trained model and do stereo matching. This is time-consuming. for details type

python match.py -h

NOTE

  • this code should only serve as a demo
  • the running time of the whole program could be very long. Python is obviously slow for such computationally intensive program, thus in their original paper [1] the authors used torch & cuda mainly. I keep all the processing procedures mentioned in the paper, but feel free to skip some of them like semiglobal matching if you want--just comment out relevant snippets in match.py.
  • I haved tested the code on Middlebury stereo dataset(version 3) using the half resolution data. It's supposed the code can be used seamlessly on any other dataset with some details taken care of, especially about data format.
  • All the hyperparameters are set to the suggested value from the origin paper [1] and I do not do further finetuning.
  • In my implementation, some processing details may be a little bit different from what the paper describes and I suppose it would not harm the performance too much. You can find those differences from the comments.
  • The final result on Middlebury dataset, I have to admit, is not that impressive. This may be due to lack of further hyperparemeter finetuning or some unnoticed bugs. If you find any bug during using, please report it in an issue and I will try to fix it ASAP.

License

MIT license.

Reference

[1] Jure Zbontar, Yann LeCuny. Stereo Matching by Training a Convolutional Neural Network to Compare Image Patches

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].