GithubHelp home page GithubHelp logo

zjese / sleeping-posture-detection Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 2.86 MB

Innovation and Entrepreneurship Training Program for college students in 2019, ZengJin

License: MIT License

Jupyter Notebook 98.68% Python 1.32%
deep-neural-networks densenet121 heatmap-visualization image-recognition inceptionresnet kinect-v2 resnet-50 tensorflow vgg16 python

sleeping-posture-detection's Introduction

Sleeping-posture-detection

Innovation and Entrepreneurship Training Program for college students in 2019, ZengJin

项目情况

这是我们团队于2019年立项的大学生创新创业训练计划项目,2021年6月通过结项
关于2021年度大学生创新创业训练计划项目校内结题验收结果的公示

项目内容简介

对睡姿的长期自动监测是医疗、健康领域中的一项关键技术,在疾病的防治中,睡眠姿势信息也占有十分重要的地位。这套检测系统基于计算机视觉,运用python语言,基于tensorflow及keras框架,实现使用kinect摄像头获取照片,以及对左卧、右卧、正躺、左蜷缩、右蜷缩等共计15种睡眠姿势的分类与检测,模型的识别准确率达到90%以上。通过该项目的实操锻炼,能熟练掌握运用tensorflow及keras解决目标检测、分类、识别问题,并深入理解深度神经网络的构造及原理。

团队成员

曾进 老志辉 许绵渠

数据库说明

该数据库由普通数据集、深度图数据集、红外图像数据集以及骨骼图数据集共4个数据集组成,为了方便在研究中对比不同数据集的训练效果,要求四个数据集之间的区别仅为图像种类,而拍摄角度,受试者的动作等则应该保持一致。因此,我们在构建数据库时,对参与样本采集者某一时刻做出的同一个动作,我们的采集方案是:同时采集该动作的普通图、深度图、红外图以及骨骼图。比如,数据集中记录正躺姿势的文件夹,其中标号为1的图像,为方便表述,记为正躺1号,则4个数据集中的正躺1号均对应受试者同一时刻的同一动作,区别仅在于图像种类。

注意:由于数据库图像涉及到团队成员隐私及肖像权问题,此页面仅给出数据库概况,同时给出建立数据库的代码实现,若您有兴趣进行同类研究,可参考该过程建立自己的数据集。

样本类型

数据集大小

普通数据集

深度图数据集

红外图像数据集

骨骼图数据集

训练

在训练中,我们主要使用了VGG,ResNet,DenseNet,InceptionResNet四个系列的模型,用以对比网络深度分别为20,50,120,570时对模型训练的影响,为简化使用,在代码中,我们仅给出基于迁移学习的VGG16模型代码实现
我们推荐您使用api接口来 tensorflow.keras.applications 切换不同的模型

from tensorflow.keras.applications import VGG16

baseModel = VGG16(weights="imagenet", include_top=False,
                  input_tensor=Input(shape=(260, 260, 3)))

损失函数及优化器

loss

optimizer

categorical_crossentropy

Adam

SGD

Ftrl

Nadam


推荐使用该接口 tensorflow.keras.optimizers 切换不同的优化器

INIT_LR = 1e-3
EPOCHS = 25
opt = Adam(lr=INIT_LR, decay=INIT_LR / EPOCHS)

测试

在实验中,80%的数据用于训练,20%的数据用于测试,这里建议您使用sklearn的api接口train_test_split对数据集进行划分

from sklearn.model_selection import train_test_split

(trainX, testX, trainY, testY) = train_test_split(data, labels,
                                                  test_size=0.20, stratify=labels, random_state=42)

经过整理,给出两个主要实验结果:1.样本质量对模型的影响;2.网络深度对模型的影响。

样本质量对模型的影响

网络深度对模型的影响

分类特征可视化

选取红外图像样本,并将分类依据可视化标注于图上。

sleeping-posture-detection's People

Contributors

zjese avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.