Skip to content

Kexin-Tang/CV_CourseProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Vision Course Projects

This project is about tasks for Computer Vision Course in Electronic Information and Communication Department, Huazhong University of Science and Technology, and the teacher is Prof. Xinggang Wang.

Project navigation

name usage
Proj1 perceptron for linear classification
Proj2 one layer neural network for classification
Proj3 multi-layer neural network for mnist classification
Proj4 pytorch version for mnist or cifar10 classification
Proj5 pytorch version for single object localization
Proj6 pytorch version for sematic segmentation

Proj1 - perceptron

perceptronloss


Proj2 - neural network

dbmoon


Proj3 - mnist

file usage
function.py define the activate function such as ReLU, softmax and sigmoid
Net.py define the network structure and forward/backward process
mnist.py how to load data and label from .gz files
main.py batch learning and figure plotting

Different activate functions will contribute to different output

activate_function

Different init principle will contribute to different output

init


Proj4 - pytorch classification

file usage
MyNet.py generate a simply CNN model
ResNet.py transfer learning from Res50
VGG.py transfer learning from VGG16
Plot.py plot the final results, such as loss and acc

note: In ./pytorch/models I only store three models, because Res50 and VGG16 models are too huge to store in Github

MyNet_accMyNet_loss

Res50&VGG16_accRes50&VGG16_loss


Proj5 - pytorch single localization

file usage
Net.py VGG16 pretrained network + customize
VGG_loss_weight.py main file, use two loss funcs (cross entropy and Smooth L1)
VGGConV_xxx.py using ConV instead fc
visualization.py plot the final results
dataloader.py load data from file as ndarray and tensor
tiny_vid.tar dataset sampled from VID

The following figures are "weight=1:1", "weight=1:1e-1", "weight=1:2e-2", "ConV network"

weight=1:1weight=1:1e-1

weight=1:2e-2ConV


Proj6 - pytorch sematic segmentation

file usage
TinySeg dataset sampled from VOC 2012
backbone_8stride.py ResNet backbone structure
eval_seg.py evaluation code
train_seg.py train code
test_seg.py plot the output imgs
pspnet.py PSP module and network
sync_batchnorm syncronize batchnormal in DeepLab
DeepLab.py define the deeplab v3 network
train_seg_deeplab.py train stage for deeplab net
PSPNet

psp module

H.Zhao, J.Shi, X.Qi, X.Wang and J.Jia. Pyramid Scene Parsing Network. CVPR2017

  • mIoU is about 0.72, while the SOTA of PSPNet in VOC2012 is 0.82
output samples

cat

people

DeepLab v3

deeplab

L.Chen, G.Papandreou, F.Schroff, H.Adam. Rethinking Atrous Convolution for Semantic Image Segmentation. arXiv:1706.05587v3

  • mIoU is about 0.74

About

Computer Vision Course Projects in HUST-EIC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages