基于mindwave脑电波进行疲劳检测算法的设计(1)
一、简介
脑波,又称之为脑电波,是人大脑发出的电波,非常的微弱,只能通过设备来检测。人的脑波在不同状态下,会不同,因此可以通过脑波来量化分析人的精神状态。
科学家讲脑电波分为四种,以下为详细解释
(1)α脑波
α脑波,是当人们放松身心、沉思时的脑波。它以每秒钟8~12周波的频率运行着。当人们在做“白日梦”或遐思时,脑波就会呈现这种模式。这种模式下的人应该是处于放松式的清醒状态中。
(2)β脑波
β脑波,是一种有意识的脑波,它以每秒钟12~25周波的频率运行着。当人们处于清醒、专心、保持警觉的状态,或者是在思考、分析、说话和积极行动时,头脑就会发出这种脑波。
(3)θ脑波
θ脑波,是人们沉于幻想或刚入眠时发出的脑波。它以每秒钟4~8周波的频率运行着。这正好属于“半梦半醒”的朦胧时段,在这种状态下,人的大脑正在处理白天接收的资讯,而许多的灵感可能就在这个时候突现。
(4)δ脑波
δ脑波,是人们沉睡无梦时发出的脑波。它以每秒钟0.3~4周波的频率运行。
该资料在网盘里 脑立方实用教程.pdf 里面有。
二、硬件介绍
包含一个类似耳机的和一个类似U盘的。其中一个是发射器,一个是接收器。

三、安装过程
1.先安装脑立方训练营软件。也就是这个

点击MindWave-Setup.exe进行安装。
2.安装完后,就插入那个类似U盘的接收器。默认会自动安装驱动。但有时也不会自动安装。
这个时候你打开计算机的设备管理器查看端口,这是会出现一个MindWave USB Adapter字样的端口适配器。如果没有出现这个字样,但出现了其他的字样,那么就表示U盘的接收器可以识别到,但是驱动不对,导致的。这个时候就要重新安装驱动,这个驱动在后面我会提供。

如果没有出现Adapter字样,那么要安装下面这个

解压后,点击setup.exe即可。
注意在安装这个驱动的时候,要先卸载一下,然后再安装。
3.安装完驱动后,再重新插入U盘的适配器。然后开启耳机开关,然后再进行匹配。关于Mindwave耳机的注意事项都有文档描述,和自带的视频解释。这个应该不难。然后打开脑立方训练营。界面大概是这样的。不同的版本会有不同。

而此时在任务栏中会有两个小图标,分别是连接状态:未连接 一个是脑瑜伽数据库连接程序。
4.随便打开脑立方里面任意一个游戏。然后进行连接测试。打开游戏,穿戴耳机。自动匹配。这个过程大概20秒。过了时间还没有就说明某个地方出错了。
检测到后并开始玩游戏,界面是这样的。

http://pan.baidu.com/s/1dD9r8a9
========================我是分割线=========================
接下来的一段时间我都会更新关于这个基于脑电波疲劳检测的博客,在看博客的你,如果有更好的检测算法,可以在评论下给出一些想法。并能给出一定的实现思路。我现在的想法是在它提供的那几个波段(上面提到的)中对强度进行判断。然后还有一个就是统计几个波段,然后计算对应的方差。(至于为什么是方差,我觉得一般一个人很累的时候,不会一直都是处于很累的状态,会突然????哎,很难描述,就是那种想睡,但又强制自己不要睡的那种感觉。想想在上早课,并且没有手机玩,但又坐在第一排。)还有就是通过里面有一个判断眨眼的函数来判断眨眼。我们可以根据眨眼的时间差来判断。不过不同的人眨眼的时间是不同的。所以还有让系统先预处理一下,保存当前这个人的眨眼时间差。现在我就想到了这些。具体怎么做还有一段时间。
===========================================================
参考资料:
http://www.cnblogs.com/b3347/archive/2013/01/23/2873750.html
http://blog.csdn.net/itcastcpp/article/category/2172845
基于mindwave脑电波进行疲劳检测算法的设计(1)的更多相关文章
- 基于mindwave脑电波进行疲劳检测算法的设计(5)
时隔两个多月了,前段时间在弄Socket,就没有弄这个了.现在好了,花了几天的时间,终于又完成了一小部分了.这一小节主要讲α,β,δ,θ等等波段之间的关系.废话不多说,直接给出这几天的成果. 上一次, ...
- 基于mindwave脑电波进行疲劳检测算法的设计(2)
上文讲到的是保证硬件的接通.接下来是用C语言在它提供的API接口进行连接. 在网盘中下载MindSet Development Tools这个开发包.这个目录下MindSet Development ...
- 基于mindwave脑电波进行疲劳检测算法的设计(4)
上一次的实验做到可以从pc端读取到MindWave传输过来的脑电波原始数据了. 我是先定义一个结构体,该结构体对应保存所有能从硬件中取到的原始数据. struct FD_DATA { int batt ...
- 基于mindwave脑电波进行疲劳检测算法的设计(3)
这一节我将讲解thinkgear.h 里面的函数和宏定义.这一些都可以在MindSet Development Tools\ThinkGear Communications Driver\docs\h ...
- 基于深度学习的目标检测算法:SSD——常见的目标检测算法
from:https://blog.csdn.net/u013989576/article/details/73439202 问题引入: 目前,常见的目标检测算法,如Faster R-CNN,存在着速 ...
- 基于Shading Model(对光照变化一定不变性)的运动目标检测算法
光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linea ...
- 基于候选区域的深度学习目标检测算法R-CNN,Fast R-CNN,Faster R-CNN
参考文献 [1]Rich feature hierarchies for accurate object detection and semantic segmentation [2]Fast R-C ...
- 【计算机视觉】基于Shading Model(对光照变化一定不变性)的运动目标检测算法
光照模型(Shading Model)在很多论文中得到了广泛的应用,如robust and illumination invariant change detection based on linea ...
- 【计算机视觉】基于样本一致性的背景减除运动目标检测算法(SACON)
SACON(SAmple CONsensus)算法是基于样本一致性的运动目标检测算法.该算法通过对每个像素进行样本一致性判断来判定像素是否为背景. 算法框架图 由上图可知,该算法主要分为四个主要部分, ...
随机推荐
- 第八章| 1. MySQL数据库|库操作|表操作
1.初识数据库 我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个 专门的处理软件,这就是mysql等数据库管理软件的 ...
- 求链表的倒数第m个元素
法一: 首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第m个,转换为正数第n-m+1个,接下去遍历一次就可以得到结果. 不过这种方法需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二 ...
- POJ 1222 熄灯问题【高斯消元】
<题目链接> 题目大意: 有一个5*6的矩阵,每一位是0或者1. 没翻转一位,它的上下左右的数字也为改变.(0变成1,1变成0).要把矩阵中所有的数都变成0.求最少翻转次数的方案,输出矩阵 ...
- codeforces-1111
https://www.cnblogs.com/31415926535x/p/10397007.html codeforces 537 div2 A 题意就是给你两个字符串,然后如果s,t的对应位上的 ...
- 多线程学习笔记九之ThreadLocal
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...
- reactNative环境搭建+打包+部分报错总结
个人搭建记录+个人收集: 多些真诚,少些坑. 排版书写过程可能不够详细,还望见谅. 详细见:http://files.cnblogs.com/files/chunlei36/reactNative%E ...
- v-on指令监听dom事件
一.无参 <div id="J_app"> <button v-on:click="eatWhat">吃啥</button> ...
- 运行程序,解读this指向---case2
片段1 var anum = 666; function funcTest1(){ var b = anum * 2; var anum = 6; var c = anum / 2; console. ...
- Codeforces.542E.Playing on Graph(二分图)
题目链接 \(Description\) 给出一个n个点m条边的无向图. 你每次需要选择两个没有边相连的点,将它们合并为一个新点,直到这张图变成了一条链. 最大化这条链的长度,或输出无解. n< ...
- Python面向对象——多态
多态的作用 调用不同的子类将会产生不同的行为. 多态是在继承上实现的. 图解多态1 图解多态2 图解多态1代码 class AudioFile: def __init__(self, filename ...