资源简介
基于CNN的静态手势识别系统,完整代码实现,可以基于二值化模型和高斯肤色模型对手掌分割,不包含训练好的CNN权值文件,需要的可以看博客另外下载。
代码片段和文件信息
# -*- coding: utf-8 -*-
from keras.backend.tensorflow_backend import set_session
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense Dropout Activation Flatten
from keras.layers import Conv2D MaxPooling2D ZeroPadding2D
from keras.optimizers import SGD RMSprop adam
from keras.utils import np_utils
import time
# 可以通过下面的代码主动创建一个使用了ConfigProto的Session,再注入到Keras的后端中去
config = tf.ConfigProto()
# 避免默认将显存吃满
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config))
import numpy as np
# import matplotlib.pyplot as plt
import os
# import theano
from PIL import Image
# SKLEARN
from sklearn.utils import shuffle
from sklearn.model_selection import train_test_split
import json
import cv2
import matplotlib
# matplotlib.use(“TkAgg“)
from matplotlib import pyplot as plt
# 通过引入这个backend,就可以让Keras来处理兼容性,将后端的名字设为K
from keras import backend as K
K.set_image_dim_ordering(‘th‘) # theano
WeightFileName = [“binmask_CnnModel.hdf5“ “skin_mask_CnnModel.hdf5“]
label_dict = {‘zero‘: 0 ‘one‘: 1 ‘two‘: 2 ‘three‘: 3 ‘four‘: 4 ‘five‘: 5
‘six‘: 6 ‘seven‘: 7 ‘eight‘: 8 ‘nine‘: 9 ‘ok‘: 10}
# input image dimensions
img_rows img_cols = 200 200
# number of channels
# For grayscale use 1 value and for color images use 3 (RGB channels)
img_channels = 1
# Number of epochs to train (change it accordingly)
nb_epoch = 15 # 25
# Total number of convolutional filters to use
nb_filters = 32
# Max pooling
nb_pool = 2
# Size of convolution kernel
nb_conv = 3
## NOTE: If you change this then dont forget to change Labels accordingly
# nb_classes = 5
nb_classes = 11
# Batch_size to train
batch_size = 32
class GestureRecognize():
def getModel(self):
self.model = self.loadCNN(0)
return self.model
def __init__(self wf_index=0 parent=None):
if wf_index == 0:
self.model = self.getModel()
print(‘-----GestureRecognize----‘)
print(self.model)
else:
self.wf_index = wf_index
self.model = None
print(‘-----GestureRecognize( parameter ..)----‘)
def export_cnn_net_framework(self):
if self.model == None:
print(‘model get failed!‘)
return
# Model summary
self.model.summary()
# Model conig details
self.model.get_config()
from keras.utils import plot_model
model_net_framework_name = ‘cnn_model_‘ + time.strftime(‘%Y-%m-%d_%H-%M-%S‘
time.localtime(time.time())) + ‘.png‘
plot_model(self.model to_file=model_net_framework_name show_shapes=True)
print(‘except sucessfully!‘)
def loadCNN(self wf_index weight_name=‘binmask_CnnModel.hdf5‘):
model = Sequential()
model.add(Conv2D(nb_filters (nb_conv nb_conv)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10302 2017-12-20 13:46 Cnn_Gesture_Test\gesture_recognize.py
文件 6623 2017-12-13 11:43 Cnn_Gesture_Test\ico\fail.png
文件 50430 2017-12-20 13:56 Cnn_Gesture_Test\ico\gesture.png
文件 5940 2017-12-13 11:43 Cnn_Gesture_Test\ico\ok.png
文件 106935 2017-12-20 14:06 Cnn_Gesture_Test\ico\ti
文件 1929 2017-12-14 20:48 Cnn_Gesture_Test\imgs_test\eight_24.png
文件 1929 2017-12-14 20:48 Cnn_Gesture_Test\imgs_test\eight_25.png
文件 1929 2017-12-14 20:48 Cnn_Gesture_Test\imgs_test\eight_26.png
文件 2168 2017-12-14 20:48 Cnn_Gesture_Test\imgs_test\eight_27.png
文件 2168 2017-12-14 20:48 Cnn_Gesture_Test\imgs_test\eight_28.png
文件 2168 2017-12-14 20:48 Cnn_Gesture_Test\imgs_test\eight_29.png
文件 2696 2017-12-14 20:43 Cnn_Gesture_Test\imgs_test\five_38.png
文件 2696 2017-12-14 20:43 Cnn_Gesture_Test\imgs_test\five_39.png
文件 2696 2017-12-14 20:43 Cnn_Gesture_Test\imgs_test\five_40.png
文件 2715 2017-12-14 20:43 Cnn_Gesture_Test\imgs_test\five_41.png
文件 2131 2017-12-14 20:42 Cnn_Gesture_Test\imgs_test\four_69.png
文件 2131 2017-12-14 20:42 Cnn_Gesture_Test\imgs_test\four_70.png
文件 2017 2017-12-14 20:42 Cnn_Gesture_Test\imgs_test\four_71.png
文件 2017 2017-12-14 20:42 Cnn_Gesture_Test\imgs_test\four_72.png
文件 2017 2017-12-14 20:42 Cnn_Gesture_Test\imgs_test\four_73.png
文件 1619 2017-12-14 20:49 Cnn_Gesture_Test\imgs_test\nine_31.png
文件 1607 2017-12-14 20:49 Cnn_Gesture_Test\imgs_test\nine_32.png
文件 1607 2017-12-14 20:49 Cnn_Gesture_Test\imgs_test\nine_33.png
文件 1607 2017-12-14 20:49 Cnn_Gesture_Test\imgs_test\nine_34.png
文件 1607 2017-12-14 20:49 Cnn_Gesture_Test\imgs_test\nine_35.png
文件 2321 2017-12-14 20:17 Cnn_Gesture_Test\imgs_test\ok_74.png
文件 2307 2017-12-14 20:17 Cnn_Gesture_Test\imgs_test\ok_75.png
文件 2307 2017-12-14 20:17 Cnn_Gesture_Test\imgs_test\ok_76.png
文件 2307 2017-12-14 20:17 Cnn_Gesture_Test\imgs_test\ok_77.png
文件 2290 2017-12-14 20:17 Cnn_Gesture_Test\imgs_test\ok_78.png
............此处省略3351个文件信息
- 上一篇:okHTTP与HTTPS
- 下一篇:DIgSILENT中的风机模型
相关资源
- 一种基于LBP和CNN的人脸识别算法
- PCNN TOOLBOX
- MSCNN_dehaze.rar
- 脉冲耦合神经网络工具箱PCNN-toolbox
- 卷积神经网络的人脸识别样本采集+
- 基于深度学习的神经网络算法论文
- faster rcnn流程图
- SRCNN翻译学习并改进.zip
- 基于深度学习的图像检索系统CNN
- 超分辨率PPT
- faster_rcnn test 浮点运算量
- 论文研究-基于改进贝叶斯优化算法的
- darknet文本检测与CNN+CTCOCR文字识别项目
- 超分辨率重建SRCNN(GUI界面)
- 基于多任务卷积网络(MTCNN)和Cente
- 基于深度学习的链路预测
- Mask R-CNN.pptx
- PyTorch介绍及入门pdf
- instances_minival2014.json.zip
- ncnn.lib win x64
- Neural Networks with R Smart models using CNN
- 卷积神经网络的概述论文:分析、应
- 学习摘要:Methods for interpreting and un
- RISC-V 二值化 CNN 芯片加速器进行人员
- 复数版卷积神经网络,复数版CAFFE
- deep learning 概览+时序模型
- 基于CNN的手写数字识别
- 这是基于CNN算法的分类代码
- Opencv静态手势识别
- CNN实现的图像检索
评论
共有 条评论