免费个人网站制作设计深圳福田网站制作
2026/1/13 12:17:29 网站建设 项目流程
免费个人网站制作设计,深圳福田网站制作,网络营销策略分析报告,长春网站排名方案文章目录 0 前言1 实现效果2 技术原理2.1 手部检测2.1.1 基于肤色空间的手势检测方法2.1.2 基于运动的手势检测方法2.1.3 基于边缘的手势检测方法2.1.4 基于模板的手势检测方法2.1.5 基于机器学习的手势检测方法 3 手部识别3.1 SSD网络3.2 数据集3.3 最终改进的网络结构 0 前言…文章目录0 前言1 实现效果2 技术原理2.1 手部检测2.1.1 基于肤色空间的手势检测方法2.1.2 基于运动的手势检测方法2.1.3 基于边缘的手势检测方法2.1.4 基于模板的手势检测方法2.1.5 基于机器学习的手势检测方法3 手部识别3.1 SSD网络3.2 数据集3.3 最终改进的网络结构0 前言今天学长向大家介绍一个关于深度学习在图像识别领域应用的又一个课题基于深度学习的手势检测与识别算法该课题十分适合用于毕业设计哦 **选题指导, 项目分享见文末**1 实现效果废话不多说先看看学长实现的效果吧2 技术原理2.1 手部检测主流的手势分割方法主要分为静态手势分割和动态手势分割两大类方法。静态手势分割方法: 单张图片利用手和背景的差异进行分割动态手势分割方法: 利用了视频帧序列的信息来分割。2.1.1 基于肤色空间的手势检测方法肤色是手和其他背景最明显的区分特征手的颜色范围较统一并且有聚类性基于肤色的分割方法还有处理速度快对旋转、局部遮挡、姿势变换具有不变性因此利用不同的颜色空间来进行手势分割是现在最常用的方法。肤色分割的方法主要有以下几种基于参数、非参数的显式肤色聚类方法。参数模型使用高斯颜色分布非参数模型则是从训练数据中获得肤色直方图来对肤色区间进行估计。肤色聚类显式地在某个特定的颜色空间中定义了肤色的边界广义上看是一种静态的肤色滤波器如Khan根据检测到的脸部提出了一种自适应的肤色模型。肤色是一种低级的特征对计算的消耗很少感知上均匀的颜色空间如CIELABCIELUV等已经被用于进行肤色检测。正交的颜色空间如YCbCrYCgCrYIQYUV等也被用与肤色分割如Julilian等使用YCrCb颜色空间利用其中的CrCb分量来建立高斯模型进行分割。使用肤色分割的问题是误检率非常高所以需要通过颜色校正图像归一化等操作来降低外界的干扰提高分割的准确率。基于YCrCb颜色空间Cr, Cb范围筛选法手部检测实现代码如下# 肤色检测之二: YCrCb中 140Cr175 100Cb120imgcv2.imread(imname,cv2.IMREAD_COLOR)ycrcbcv2.cvtColor(img,cv2.COLOR_BGR2YCrCb)# 把图像转换到YUV色域(y,cr,cb)cv2.split(ycrcb)# 图像分割, 分别获取y, cr, br通道分量图像skin2np.zeros(cr.shape,dtypenp.uint8)# 根据源图像的大小创建一个全0的矩阵,用于保存图像数据(x,y)cr.shape# 获取源图像数据的长和宽# 遍历图像, 判断Cr和Br通道的数值, 如果在指定范围中, 则置把新图像的点设为255,否则设为0foriinrange(0,x):forjinrange(0,y):if(cr[i][j]140)and(cr[i][j]175)and(cb[i][j]100)and(cb[i][j]120):skin2[i][j]255else:skin2[i][j]0cv2.imshow(imname,img)cv2.imshow(imname Skin2 CrCb,skin2)检测效果2.1.2 基于运动的手势检测方法基于运动的手势分割方法将运动的前景和静止的背景分割开主要有背景差分法、帧间差分法、光流法等。帧间差分选取视频流中前后相邻的帧进行差分设定一定的阈值来区分前景和后景从而提取目标物体。帧差法原理简单计算方便且迅速但是当前后景颜色相同时检测目标会不完整静止目标则无法检测。背景差分需要建立背景图利用当前帧和背景图做差分从而分离出前后景。背景差分在进行目标检测中使用较多。有基于单高斯模型双高斯模型的背景差分核密度估计法等。景差分能很好的提取完整的目标但是受环境变化的影响比较大因此需要建立稳定可靠的背景模型和有效的背景更新方法。1,读取摄像头2,背景减除 fgbg1cv.createBackgroundSubtractorMOG2(detectShadowsTrue)fgbg2cv.createBackgroundSubtractorKNN(detectShadowsTrue)# fgmask fgbg1.apply(frame)fgmaskfgbg2.apply(frame)# 两种方法3,将没帧图像转化为灰度图像 在高斯去噪 最后图像二值化 graycv.cvtColor(res,cv.COLOR_BGR2GRAY)blurcv.GaussianBlur(gray,(11,11),0)ret,binarycv.threshold(blur,0,255,cv.THRESH_BINARY|cv.THRESH_OTSU)4,选取手部的 ROI 区域 绘制轮廓 gesturedst[50:600,400:700]contours,heriachycv.findContours(gesture,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)# 获取轮廓本身fori,contourinenumerate(contours):# 获取轮廓cv.drawContours(frame,contours,i,(0,0,255),-1)# 绘制轮廓print(i)2.1.3 基于边缘的手势检测方法基于边缘的手势分割方法利用边缘检测算子在图像中计算出图像的轮廓常用来进行边缘检测的一阶算子有Roberts算子Prewitt算子Sobel算子Canny算子等二阶算子则有Marr-Hildreth算子Laplacian算子等这些算子在图像中找到手的边缘。但是边缘检测对噪声比较敏感因此精确度往往不高。边缘检测代码示例importnumpyasnpfromPILimportImageimportmatplotlib.pyplotaspltimportmatplotlib.cmascmimportscipy.signalassignal# 导入sicpy的signal模块# Laplace算子suanzi1np.array([[0,1,0],[1,-4,1],[0,1,0]])# Laplace扩展算子suanzi2np.array([[1,1,1],[1,-8,1],[1,1,1]])# 打开图像并转化成灰度图像imageImage.open(pika.jpg).convert(L)image_arraynp.array(image)# 利用signal的convolve计算卷积image_suanzi1signal.convolve2d(image_array,suanzi1,modesame)image_suanzi2signal.convolve2d(image_array,suanzi2,modesame)# 将卷积结果转化成0~255image_suanzi1(image_suanzi1/float(image_suanzi1.max()))*255image_suanzi2(image_suanzi2/float(image_suanzi2.max()))*255# 为了使看清边缘检测结果将大于灰度平均值的灰度变成255(白色)image_suanzi1[image_suanzi1image_suanzi1.mean()]255image_suanzi2[image_suanzi2image_suanzi2.mean()]255# 显示图像plt.subplot(2,1,1)plt.imshow(image_array,cmapcm.gray)plt.axis(off)plt.subplot(2,2,3)plt.imshow(image_suanzi1,cmapcm.gray)plt.axis(off)plt.subplot(2,2,4)plt.imshow(image_suanzi2,cmapcm.gray)plt.axis(off)plt.show()2.1.4 基于模板的手势检测方法基于模版的手势分割方法需要建立手势模版数据库数据库记录了不同手势不同场景下的手势模版。计算某个图像块和数据库中各个手势的距离然后使用滑动窗遍历整幅图像进行相同的计算从而在图像正确的位置找到数据库中的最佳匹配。模版匹配对环境和噪声鲁棒但是数据库需要涵盖各种手型、大小、位置、角度的手势并且因为需要遍历整个图像进行相同的计算实时性较差。2.1.5 基于机器学习的手势检测方法贝叶斯网络聚类分析高斯分类器等等也被用来做基于肤色的分割。随机森林是一种集成的分类器易于训练并且准确率较高被用在分割和手势识别上。建立肤色分类的模型并且使用随机森林对像素进行分类发现随机森林得到的分割结果比上述的方法都要准确.3 手部识别毫无疑问深度学习做图像识别在准确度上拥有天然的优势对手势的识别使用深度学习卷积网络算法效果是非常优秀的。3.1 SSD网络SSD网络是2016年提出的卷积神经网络其在物体检测上取得了很好的效果。SSD网络和FCN网络一样最终的预测结果利用了不同尺度的特征图信息在不同尺度的特征图上进行检测大的特征图可以检测小物体小特征图检测大物体使用金字塔结构的特征图从而实现多尺度的检测。网络会对每个检测到物体的检测框进行打分得到框中物体所属的类别并且调整边框的比例和位置以适应对象的形状。3.2 数据集我们实验室自己采集的数据集数据集包含了48个手势视频这些视频是由谷歌眼镜拍摄的视频中以第一人称视角拍摄了室内室外的多人互动。数据集中包含4个类别的手势自己的左右手其他人的左右手。数据集中包含了高质量、像素级别标注的分割数据集和检测框标注数据集视频中手不受到任何约束包括了搭积木下棋猜谜等活动。需要数据集的同学可以联系学长获取3.3 最终改进的网络结构最后整体实现效果还是不错的 项目分享:大家可自取用于参考学习获取方式见文末!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询