Code Monkey home page Code Monkey logo

andonialee / clockwise_ml_project Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.81 MB

对老年人阿兹海默症的预判可以通过钟表测试进行,及通过观察其能否画出正常的指定钟表盘,通过打分的形式判断其是否患有该病症。 该项目的目的是通过构建机器学习模型对老人所画钟表进行智能化识别并打分。在项目中我们使用的是vgg-16模型的变形,使项目在数据集较小的情况下达到了70%的准确率。 项目共两人完成,我主要负责与老人院沟通获得数据,预处理数据,并选择模型进行训练,对vgg-16的参数进行调试,和最终运行算法的代码编写 该项目为机器学习课程期末项目,最终入选模范项目,被收录到课程代表项目列表中。

Jupyter Notebook 100.00%

clockwise_ml_project's Introduction

机器学习实现阿兹海默症钟表测试智能化

项目简介

对老年人阿兹海默症的预判可以通过钟表测试进行,及通过观察其能否画出正常的指定钟表盘,通过打分的形式判断其是否患有该病症。 该项目的目的是通过构建机器学习模型对老人所画钟表进行智能化识别并打分。在项目中我们使用的是vgg-16模型的变形,使项目在数据集较小的情况下达到了70%的准确率。 项目共两人完成,我主要负责与老人院沟通获得数据,预处理数据,并选择模型进行训练,对vgg-16的参数进行调试,和最终运行算法的代码编写 该项目为机器学习课程期末项目,最终入选模范项目,被收录到课程代表项目列表中。

项目视频

https://www.youtube.com/watch?v=UdqLoqjAMY4&t=2s

项目流程

项目准备阶段

该项目为本科阶段由教授Keith Ross所教授的机器学习课程的期末项目。由于之前我参与过上海尽美长者服务中心的认知症宣传项目,知晓了可以粗略判断对象是否有阿兹海默症的钟表测试(由老人绘画钟表,根据该钟表的指针是否完全,表盘数字是否正确,圆形表盘是否封口的情况进行打分,分越低患有该疾病的几率越大),所以我建议组员期末项目针对这样一个测试设计一个机器学习的模型,实现钟表测试的人工检测转变为机器自动检测。这是项目最初目标。

获得数据阶段

为了获得数据,我与组员Lily前往了上海尽美长者服务中心本部与中心负责人进行商讨和谈判,对方表示全力支持我们项目进行,在签订数据保密协议之后,提供我们共约1300名老人的数据,其中包括他们的手绘钟表图案(jpg格式)和打分状况(excel表)。

图形数据预览

标签数据预览

预处理数据阶段

预处理数据阶段主要由我负责。尽美提供的图片和打分状况是由老人id相联系(如图片‘1.jpg’对应表格中第一排)存在图片信息缺失,重复,表格信息不完整,图片表格对应错行的情况,我才用了人工比对和制作简易python程序辅助比对的方式将数据进行纠错和完善。在处理完图片分数对应问题后,我使用了finder和photoshop对图片数据进行规范化(尺寸500*500,钟表尽量在画面**,图片色彩为完全黑白,通过增加对比度增加图像特征,对模糊图片进行筛除等)。 同时,在项目初期,我们未能决定模型最后结果输出为二进制分类(1/0:有隐患/无隐患)还是多进制分类(钟表打分分为0,1,2,3,4分,分数越低隐患越高),所以在预处理阶段我保留了两种分类方式以便后续能够轻松进行。

数据导入阶段

数据导入阶段主要由组员Lily负责,需要导入所有图片和表格并进行配对,同时分出Training/Validation/Test数据组。

模型建立和调试阶段

由于处理的是图片信息,我们优先考虑使用的是擅长处理图片信息的CNN模型。经过和助教的商讨,我们选择参考vgg-16模型的搭建方式,并修改部分参数使模型能够更好适应数据。在搭建完模型后由于模型庞大,训练时间约3小时,我们尝试使用GPU进行训练,但由于mac电脑的限制,GPU的使用未能成功,所以我们对模型进行进一步修改,缩短了卷积层,池化层的层数,使训练时间压缩到2小时左右,保证处理效率和修改效率。

vgg-16模型

自我修改后的vgg-16

vgg-16模型的结果

自我修改后的vgg-16模型结果

根据模型输出的正确率,在正确率不理想时我们将返回模型对模型参数进行适当修改,最后我们比对了使用原vgg-16模型和修改vgg-16模型后的结果,修改后的模型准确率稍胜一筹,为66.7%。

反思

我们对结果做了一下反思:

1.使用的Learning Rate(0.5)可能太高,导致学习训练不充分

2.数据集偏小,不能让模型进行充分学习,特点未能被抓住。

3.模型不够契合,应该继续尝试使用别的模型如Dense Net,Inception等。

clockwise_ml_project's People

Contributors

andonialee 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.