• 大小: 5.89MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-11
  • 语言: 其他
  • 标签: CNN  

资源简介

基于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\title.png

     文件       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个文件信息

评论

共有 条评论