first commit

This commit is contained in:
sunbiao 2023-10-24 16:03:09 +08:00
commit 395340400b
21 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,3 @@
本周工作完成了Addernet搜索在多GPU上并行的功能。具体能够根据服务器上的显卡数量选择进程数进程数量可以小于等于显卡数量。每个generation需要评估的网络被平均分配到每个进程中需要等待所有进程训练完毕后将训练结果进行汇总在FEC的缓存中更新再进行接下来的复制和变异操作。另外FEC在多进程中是互相独立的所以需要将主进程的FEC传入各个子进程子进程中如果出现了需要更新FEC的内容则将内容存入一个队列等子进程结束后在主进程中更新FEC。
注意子进程数量不能多于显卡数量否则会报错所以一般每个generation选择的个体数量一般是进程数量的整数倍。每次迭代都会记录当前最优的算法保证能随时查看训练进展。相关代码已经上传GitHub。
已经能在337新服务器上顺利运行但同时运行 10块卡会跳闸。可以同时运行5块卡。今天上午正在安装新插座等安装完再试一下。

View File

@ -0,0 +1,15 @@
6.17
1、编写图像采集程序
首先使用python编写图像采集程序准备matlab标定所需的图片。按下键盘'S'键可检测照片是否合适并保存照片。将左右两个摄像头采集到的图片分别放入chessboard_L和chessboard_R文件夹各采集了67张。
2、使用matlab进行标定
使用matlab的StereoCameraCalibrator进行双目标定删除其中误差较大的照片。将matlab计算的参数写入到程序中。包括左右相机内参、畸变系数旋转矩阵和平移矩阵。
3、立体校正与视差图
640*480像素的立体校正图校正效果较好但是视差图只有一半的图像之后换用1920*1080像素。
重新使用1080像素采集图片进行标定1920*1080像素的立体校正效果不是很好视差图显示较全能看出部分轮廓。可能是在标定时使用的图片数量较少需重新采集图片进行测试。
使用MiddleBurry双目数据进行测试视差图效果较好此数据库中图片是经过立体校正的所以认为自己拍摄的图片是立体校正没用做好。
左图为2872*1984像素右图为1920*1080像素。

View File

@ -0,0 +1,10 @@
试了下18个电影的总体流程
摄像头可以根据录制时长正常录制视频在中医药大学提供的笔记本上试了下总体18个电影的实验流程可以正常进行各个步骤。
在成教3080主机上配制好环境并解决校准的问题
下载了matlabR2020bPCIE转并口卡安插距离不够加购了一根延长线可以实现并口发送marker。
找到了之前校准报错的原因,有以下两点原因:
眼动仪的驱动中的参数没有配制好,在参数配置好后驱动软件中的校准不能正常进行,解决方法是多次卸载再安装,直到配置好驱动软件并且能在软件中校准。
在配置好驱动软件后运行程序点击校准键只出现一个注视点正常情况下共9个注视点后就报错错误提示"函数或变量`demoCalCompletionFun'无法识别"这是titta包的报错titta包在安装过程没有问题在titta包的目录中找到`demoCalCompletionFun.m'文件,将其放到要运行代码的同级目录下就可以正常校准了。
python打开摄像头有些慢正考虑换到3080上和matlab主程序在同一个主机上实验
之前python打开摄像头是在我的笔记本上运行我的笔记本内存占用比较高运行程序比较慢会影响python与matlab的CS通讯所以正在将程序都移动到3080主机运行。
四、本周四有新中特和自然辩证法的考试,周四前准备复习了一段时间。

View File

@ -0,0 +1,3 @@
本周确定了大论文的大体框架文章以基于深度学习的脑电信号分类为主要脉络在此基础上提出三个工作分别用于提升网络的分类性能和降低网络在硬件上的功耗。第一个工作是基于图卷积的脑电信号分类工作还包括一个通道选择的工作以及对结果可解释的分析研究。第一个工作用于提升脑电的分类性能。第二个工作是利用NAS在EEG数据集中搜索一个SNN网络但现在SNN网络的效果可能不是很好。现在NAS上搜到一个最优的网络如果效果没有很突出就可以引出第三部分的内容利用AdderNet替换搜索出的网络的卷积部分或者替换掉第一部分里的网络的卷积部分。最后利用仿真评估一下在硬件上是否真的降低了功耗。目前缺的工作是二三部分的工作。
本周的工作是设计了利用NAS搜索的搜索空间。采用了基于DARTS搜索框架的搜索空间和基于梯度的优化算法。基于梯度的优化算法优点是搜索时间比较短一般在几个GPU天就能搜索完成如果是基于进化算法等方法可能搜索时间会更长一些。
具体来说搜索空间是基于cell的共包括8层。第3层和第6层为reduction cell其余为normal cellnormal cell不对输入特征进行分辨率和通道的变化reduction cell对输入特征在时间维度上缩小4倍在通道维度上扩大2倍。每个cell里含4个节点候选操作设计了两种方案两种方案都包括跳跃连接3x3平均池化3x3最大池化。除此之外方案一只包括关于SNN的操作1x3卷积1x5卷积1x7卷积其中还包括相应的激活函数和批归一化激活函数都是SNN中的LIF。方案二在方案一的基础上增加了图卷积模块其中的激活函数也替换为LIF中的激活函数。优化算法使用基于梯度下降的算法利用架构参数α计算每个cell中两两节点之间所有操作的加权求和然后利用反向传播更新架构参数α和网络权重w直到网络收敛。然后选择α中相对较大的元素所对应的操作作为最后选择的操作。

View File

@ -0,0 +1,17 @@
7.1
1、眼睛截取
采用基于Haar特征的眼睛检测方法首先将左右眼在图像中截取出来此方法检测精度不是很高会出现误判情况后期可改用深度学习的方法。
2、眼睛图像预处理
使用高斯滤波、开运算、闭运算对图像进行处理,去除睫毛等噪声干扰。
3、瞳孔粗定位
使用Haar算子粗略定位瞳孔。类似于级联分类器中使用的特征特征检测器的核心思想可以用卷积来解释。为了找到可能的瞳孔区域我们将图像与给定半径的类Haar中心环绕特征进行卷积。我们对用户指定的最小值和最大值之间的一组可能半径重复此操作并在x,y和半径的3D空间上找到最强响应。假设该最强响应的位置是瞳孔区域的中心该区域的大小由相应的半径确定。
使用一个"四周亮,中心暗"的卷积核对图像进行卷积,找出最强响应,将此部分切割。
4、边缘检测和椭圆拟合
使用Canny算子进行边缘检测对边缘图像进行处理将其中远离中心的边界删除对处理后的图像进行边界寻找可得到边界瞳孔边界。
对得到的瞳孔边界进行椭圆拟合,即可得到瞳孔数据。
瞳孔直径测量
获的瞳孔信息后,根据瞳孔坐标确定瞳孔处的视差值,并根据瞳孔的长宽信息对瞳孔大小进行计算。(未进行测试)

View File

@ -0,0 +1,13 @@
修改了下MATLAB实验代码
对每个电影片段结束后的调查问卷页面做了修改一开始只能在MATLAB中显示英文后来修改成了可以显示中文的调查问卷。
采集实验
采集了4名同学完整流程实验并对实验数据分析发现了一些采集时的细节问题
Curry8软件选择电极通道时忘记设置乳突位置的M1和M2电极只是在实验中给这两个电极打导电膏导致后续分析时少了两个通道。
佩戴电极帽的方式不准确。电极帽采纳的是 10-20 系统10-20 系统有两条标准线,分别是矢状线和冠状线。矢状线是指从鼻根骨到枕骨突隆的这根线,冠状线是指两个外耳道的连线,矢状线和冠状线的交点认为是头上的正中心,也就是 CZ 电极的点,因此 CZ 点被当成校准电极帽有没有戴好的基准点。我们在佩戴电极帽的时候就要先固定CZ电极以后平铺电极帽。
实验中打导电膏的时候有的被试阻抗得好久才能降下来考虑是这个脑电帽用的比较久在成教找到了另外一个相同的脑电帽比较新测试了一下没有坏通道接下来可以用这个新电极帽实验curry8中的通道也需要重新设置。
了解其它数据集的预处理方式
参考了武泽煦和魏志刚师兄的毕业论文中对EEG数据集的预处理方式并参考了SEED情感数据集的预处理方式得出本数据集用EEGLAB预处理的流程如下
四、学习MATLAB中对EEG预处理的EEGLAB的使用方法
综合多个EEGLAB操作手册目前遇到的问题是根据marker分段问题在EEGLAB可以显示实验中标记的marker但许多实验中根据marker分段是固定时长分段具体步骤是截取某一marker前后的固定时长如下图所示。还未找到根据两个marker的位置来动态地确定之间epoch长度的方法。

View File

@ -0,0 +1,17 @@
1. 梁老师那边的工作按照昨天汇报的内容,研究了基于化学计量学的混合物定性分类算法。
对于之前版本特征峰匹配算法进行了修改,老版本算法鲁棒性很差,物质定性分类的效果很差,甚至对于定性分类很难实现,对于定量分析,误差也很大
基于此,针对定型试验做了两个改动,对于二分类问题,在判断混合物中有哪些物质的时候,加了一个判断条件,如果混合物中有和纯净物匹配的峰,而且这些峰符合相应纯净物的谱峰趋势,则得到的权重为符合上述条件峰的数量。
此外实验发现算法对于物质浓度最高的物质预测准确率很高20多次不同混合物的实验中有90%以上的预测正确率,所以,选择两步走预测另一种物质,也即是在混合物中把大浓度的物质,从原光谱里减掉,就是原来那种纯净物光谱*0.5减去预测另一种物质正确率也能达到90%左右。
由于混合物的峰值和试剂样品库中的峰值存在对应关系,因此可以使用峰值匹配算法进行混合物的分析。具体步骤如下:
构建好试剂数据库存储格式是每种物质特征峰的位置和强度采用自动多尺度峰值查找算法AMPD进行寻峰调整参数灵敏度使得算法效力最好而且计算速度也比较快。
利用AMPD提取混合物的所有峰值并遍历数据库中的每一种试剂如果试剂 a 的特征峰组全部在混合物的峰值组里面,那么很显然混合物的成分之一就是 a。
对于混合物和纯净物匹配峰,计算权重;去除主物质,再匹配另一种物质。
两次预测效果0.7的5物质和0.3的6物质混合
图1 AMPD光谱谱峰识别红线是识别的谱峰
图2 两次预测效果
今天要考虑构思一下基于OMP的谱峰分解算法的思想和王子龙讨论一下。
2. GAN与DCGAN准备下周一组会加入其他GAN网络的介绍
3. 剩下时间在按照修改意见修改论文
目前已完成的部分放到附件里

View File

@ -0,0 +1,3 @@
本周的工作主要仍是在用NAS搜索用于EEG分类的网络。
一开始的设想是加入带有SNN中LIF激活函数的卷积和图卷积一块搜索目前的问题是加入LIF激活函数后与基于梯度的结构搜索共同进行反向传播会出现关于梯度的报错。另外加入图卷积模块自动更新邻接矩阵训练一段时间以后会出现邻接矩阵的梯度为零的情况。对于第二个问题有可能是基于梯度的结构优化加上网络权重优化再加上邻接矩阵优化的三重优化问题会带来一些隐藏的梯度问题使问题变得复杂。因此对于第二个问题的解决办法是先不考虑激活函数用LIF只使用普通的激活函数利用之前提出的图卷积网络训练一个收敛的神经网络并保存其训练好的邻接矩阵。然后在搜索网络结构的过程中加载这个邻接矩阵并将其固定不更新。直到搜出一个效果较好的网络为止并保存这个网络结构。然后再从头训练搜索到的网络结构在这一步再加入对邻接矩阵的更新步骤。
通过做了一些调整超参数的实验确定了学习率为0.001网络权重优化器和结构参数优化器都为Adam。网络的搜索的layer为3每个layer包括4个节点。针对17号被试搜索能搜到一个准确率为90%左右的网络结构。另外目前正在解决第一个问题推测原因可能由于网络结构参数更新和网络权重更新需要先后进行两次反向传播可能LIF激活函数在两次反向传播时都对卷积的权重产生了改变。按理说在第一次反向传播时只更新结构参数不更新网络权重。导致报的错误是在第二次反向传播时某个卷积的权重被修改过了。

View File

@ -0,0 +1,891 @@
7.8
1、双目摄像头标定
大致分为两种类型一种是先对棋盘格进行处理获取更准确的角点坐标另一种是直接用matlab进行标定之后将标定结果作为初值使用算法对其进行优化。
1、首先对棋盘格进行处理获取亚像素级角点坐标之后再用张正友标定法进行标定
对棋盘格区域进行手动提取,
之后通过最大类间方差法对标靶图像进行处理,增强棋盘格图像中黑白区域的对比度
形态学处理:对图中棋盘格中的白色区域进行膨胀处理
边缘检测和轮廓定位:得到形态学处理后的棋盘格图像后,需要得到棋盘格各个黑色四边形的轮廓信息,采用 Canny 边缘检测算法对棋盘格的边缘信息进行提取
计算角点坐标:完成棋盘格定位后,得到图像中的所有四边形顶点的点集,计算相邻四边形的顶点的距离,将阈值内的点所在的四边形认定为相邻四边形。选取相邻四边形中最近的两个顶点,计算其连线中心点的坐标即为角点坐标
亚像素化角点坐标:亚像素化角点坐标能够将角点的坐标精确到亚像素级,进一步提高相机的标定精度。
之后使用张正友标定法进行计算相机参数。
2、先用Harris提取角点之后使用Forstner对焦点进行修正计算亚像素坐标最后剔除错误角点。
3、使用张正友标定法进行标定结果作为初值使用改进的遗传模拟退火算法进行参数的优化
4、使用张正友标定法进行标定结果作为初值使用LM算法进行参数的优化
5、使用张正友标定法进行标定结果作为初值
免疫粒子群算法来对摄像机的初始标定参数进行优化
2、立体校正
大部分都是直接使用opencv库进行极线校正标定好校正基本就没问题
1、基于 OpenCV 的 Bouguet 极线校正算法
2、
改进 神经网络的图像校正
3、立体匹配
先进性特征点提取在进行特征点匹配。常用的特征提取算法有HarrisSiftSurfORBBRISK
特征点提取
Harris 角点Harris 角点检测算法由哈里斯提出,而后被 Shi 和 Tomasi 进行了进一步扩展。Harris 角点检测依据图像在各个方向灰度的明显变化通过计算在灰度图像中像素点的梯度进行检测。Harris 角点具有光照不变性,也能够解决图像平移旋转带来的影响,但像素邻域的窗函数对尺寸变换较敏感,不具备尺度不变性。
SIFT 特征SIFT 是一种尺度不变特征变换集中表现在当图像发生旋转、缩放、亮度等改变时SIFT 特征仍具备高效的表达能力,因此 SIFT 一度成为众多学者提取图像特征的基础。
SURF 特征SURF 特征是在 SIFT 基础上进行改进,最终生成的一种加速鲁棒特征,最初由 Bay 等人提出。相比 SIFT 特征SURF 算法的实时性较好,而且针对图像特征中的光照和方向变化具有更好的鲁棒性,但是 SURF 特征在旋转和尺度不变性方面不及SIFT。
ORB 特征ORB 角点相较于 SIFT 和 SURF 速度更快,其中包含具有特征方向的二进制描述符算法,但是 ORB 特征检测精度有待提高。
BR
ISK算法的基本原理是在图像中检测关键点然后通过计算周围像素对这些关键点进行描述。它结合了FAST特征检测器和BRIEF特征描述符的思想并引入了自适应性采样策略和方向估计方法。BRISK生成的特征是一种二进制描述符可以用于关键点匹配和图像配准等任务。
1、
SIFT 算法进行特征点的提取和匹配
RANSAC 算法对匹配的特征点进行筛选
2、
首先Shi_Tomasi 算法用于实现图像特征点的提取,然后 BRISK 描述符进行特征点的描述,最后,调整余弦相似度方法作为约束条件,用于筛选符合条件的匹配点对,从而完成图像特征的粗匹配
斜率约束模型在匹配点中任意选取一对点记为X1Y1X2Y2计算其斜率若斜率超出一定范围则将此对点删除。
3、
特征点提取改进的多尺度Harris-SIFT算法
特征点匹配:基于余弦相似度算法与欧式距离的双向匹配
提高匹配精度:
基于RANSAC算法的精匹配
4、基于 CenSurE-star 特征的图像匹配算法
5、
4、坐标计算
1、进行矩阵运算求坐标耗时较长
2、运用几何信息计算坐标耗时较短

View File

@ -0,0 +1,7 @@
准备组会
准备周一晚上的组会内容,介绍基于图神经网络的脑电情绪识别,简要回顾图卷积相关理论推导和介绍脑电情绪图神经网络的经典论文"EEG Emotion Recognition Using Dynamical Graph Convolutional Neural Networks"的模型。
采集实验
本周又采集了两名被试做完整的实验中医药的同学过来采集了4名被试。和中医药那边约好从下周二开始全天采集两个实验每天轮流采集每天每个实验采集2-3个被试想申请再购买一个相同型号的脑电帽因为两个实验轮流进行清理和吹干脑电帽比较耗时。
预处理
对本周采集的被试的脑电信号进行EEGLAB的预处理分析完善了下应用独立成分分析净化脑电数据、移除伪迹的步骤学习了如何根据经典的ICA噪音成分图剔除ICA成分例如

View File

@ -0,0 +1,13 @@
1. 梁老师那边的工作按照之前汇报的内容研究了基于OMP的混合物定性分类算法。
使用了OMP算法首先对光谱进行截取插值设置为200cm-1-1600cm-1的1401个点的数据。
基于此,通过线性拟合的混合物,两种物质混合、三种物质混合和四种物质混合都可以得到很好的识别结果,而且可以得到很好的定量结果,可以直接得到每种物质的浓度。
图1 模拟混合物光谱定量检测
通过上图可以看出由1、2、5、6四种物质混合的光谱可以准确检测出来根据OMP算法拟合出来的光谱也和原始混合物光谱误差不大算法对于物质预测准确率很高。
于是,找王子龙要了一些真实测量出来的混合物。
图2 真实混合物光谱定量检测
由1、3、5三种物质甲醇、乙腈、乙醇按1-1-1比例混合的混合物定量检测误差很大原始混合光谱和拟合的光谱差距也很大但是定性检测没有问题主要的三种物质能检测出来。
对于定量检测,仍需要进一步改进。
2. 主要时间在按照修改意见修改论文

View File

@ -0,0 +1,2 @@
本周的工作解决了之前的两个问题均为代码问题。第一个问题是报错RuntimeError: One of the differentiated Tensors appears to not have been used in the graph. Set allow_unused=True if this is the desired behavior.主要原因是在图卷积代码部分设计了创建了一个偏置变量并且利用requires_grad=True将其加入了计算图中但是在实际前向传播中没有将这个参数加入到计算的过程中导致反向传播时损失对该参数求导时报如上错误。第二个报错是RuntimeError: Trying to backward through the graph a second time (or directly access saved variables after they have already been freed). Saved intermediate values of the graph are freed when you call .backward() or autograd.grad().表面上是因为两次求导变量被改变导致的。报错来源于spikingjelly包经过排查每次加入LIF激活函数后就会产生报错通过排查发现缺少了一行代码functional.reset_net(model)需要加在训练每个dataloader结束的位置。在每次SNN计算结束后都会保留之前的状态这样如果不将网络重置会影响下一个dataloader的前向和反向传播。
随后按照之前的计划进行基于梯度的搜索。搜索空间包括了图卷积和带有LIF激活函数的卷积在17号被试上的搜索结果为97%左右如果同样的搜索空间设置只是把LIF激活函数改为普通的激活函数这个结果能达到100%因为17号被试是黄金被试。在准确率上SNN无法与图卷积相提并论因此后续的工作要在硬件性能的对比上做文章因为SNN的优势是节能。接下来的工作还包括在2a数据集上跑一下以及针对每个被试搜索网络并训练将所有被试数据集合并在一起搜索一个结果。这些结果都要给出FLOPs参数。并画一张图横坐标是FLOPs纵坐标是准确率。

View File

@ -0,0 +1,125 @@
7.15
1、去除普尔钦斑
首先找到光斑中心,之后向四周扩散寻找边界,找到边界后对普尔钦斑区域进行插值
2、修改瞳孔检测算法
修改瞳孔边界检测代码,目前瞳孔边界较为稳定,眼睛检测丢帧较多
3、修改特征检测算法
原来使用的是brisk特征检测算法添加了surf特征检测算法surf计算的视差值比brisk更加稳定准确。
4、2~10mm检测结果
实际的直径我是用直尺测量的会有0.1~0.2mm的误差应该和测量的平均值差不多。surf算法测量的最大值和最小值差值大概在0.5mm左右。
直径/mm
视差计算算法
最小值
最大值
最大值与最小值差值
平均值
2.4
brisk
2.257
2.653
0.396
2.439
surf
2.271
2.660
0.389
2.465
3.2
brisk
2.985
3.763
0.778
3.366
surf
3.010
3.593
0.583
3.394
4
brisk
3.846
4.598
0.752
4.290
surf
4.159
4.566
0.407
4.330
5
brisk
4.745
5.696
0.951
5.299
surf
5.025
5.480
0.455
5.243
6
brisk
5.809
6.473
0.664
6.151
surf
5.969
6.375
0.406
6.146
7
brisk
6.703
7.592
0.889
7.144
surf
6.906
7.322
0.416
7.108
8
brisk
7.600
8.289
0.689
7.933
surf
7.778
8.210
0.432
8.005
9
brisk
8.168
9.591
1.423
8.892
surf
8.637
9.139
0.502
8.874
9.7
brisk
8.701
10.957
2.256
9.577
surf
9.521
10.038
0.517
9.734

View File

@ -0,0 +1,11 @@
一、对一名被试的EEG数据预处理
用EEGLAB工具箱对一名被试的EEG数据预处理并用代码将其分成每段1s256个采样点的数据每段数据对应一个情感标签6分类情感脑电数据。
二、用EEGNet网络训练数据
EEGNet网络的输入是(batch-size1脑电通道数每段采样点数)的数据最终实现6分类修改了一下神经网络不同层的一些参数使数据适配网络采用8折交叉验证的方式训练将数据等分为8份每次取其中7份训练剩下1份验证循环8次。最后将这8次结果的平均值作为模型的最终性能指标。实验中设置的epoch=500batch-size=20训练结果发现训练集和验证集的精度都几乎接近1检查了下应该没有数据泄露的问题考虑可能训练集和验证集的精度过高可能是以下原因
脑电数据噪声过大,对噪声特征的学习大于对情感特征的学习。
虽然没有数据泄露,但是验证集中遇到了与训练集相似的数据,这可能导致验证集的准确率很高。
训练的方式有问题本次训练的方式是将每段1s的数据对应1类标签所有段数据在shuffle之后分成进行8折交叉验证。而参考seed情绪脑电数据集该数据集不跨被试的训练方式有两种
1使用一个实验的前2/3个阶段的数据来训练模型并使用同一实验的其余1/3个阶段的数据来测试模型。
2每名被试做两次相同的实验使用同一受试者的一个实验数据对模型进行训练使用同一受试者的另一个实验数据对模型进行检验。
4. 换一名被试的数据进行实验,可能存在被试的特殊性。

View File

@ -0,0 +1,19 @@
1. 梁老师那边的工作按照之前汇报的内容研究了基于OMP的混合物定性分类算法。
使用了OMP算法首先对光谱进行截取插值设置为200cm-1-1600cm-1的1401个点的数据。
这周的工作主要是先对定性的工作进行一下收尾。构建了1399种物质的光谱字典构建之后进行实验发现遍历1399种字典后很多物质光谱的字典都有权重且都不大无法分析出主要物质。
于是进行了改进将1399种物质按照序号分组每10个一组分组遍历每一组取权重最大的物质作为备选。经过一轮遍历之后可以得到140种备选物质再对这140种再进行分组遍历找到14种最终备选物质。对这14种物质组成的字典进行最终的遍历得到各种物质的权重选出最高的五种物质作为备选。
不过,之前使用的字典是绝对拉曼强度的,这就导致一个问题:如果混合物的光谱强度很高,而字典库里的物质光谱强度很低,那么这些低强度的光谱会混到其中,占有一定的权重。
为解决这个问题,选择将各个物质的光谱进行归一化,这样不符合的物质不会因为仅仅强度低就混到最后的结果中。
最后进行实验乙腈、乙醇和甲醇的1-1-1混合溶液的光谱作为混合物光谱拟合的结果如下图1所示还有一些偏差。
图1 混合物光谱拟合结果
得到的检测结果如下:
可以看出,乙腈、甲醇、乙醇都可以很好的检测出来,不过得到的定量检测结果还有一些问题。
经过计算,乙腈的比例符合,而甲醇的比例偏低,乙醇比例偏高。
此外,定性分析的结果也常常伴随着错误的检测结果,和王子龙讨论,可能这批物质光谱相像的有很多,所以会误检测。
后续还需要进一步的改进调整。
最后因为考虑纯净物光谱可能不太好换了一套仪器的甲醇乙醇光谱可以很好的对甲醇和乙醇溶液进行分析。手上只有甲醇乙醇1-4的溶液1-4的结果可以很好的得出可以看出如果纯净物光谱的质量很高的话得到的定量分析结果也越好。
2. 按照修改意见,写回复信,并且再小改论文,已经把这版给梁老师发过去了,梁老师说可以,准备提交论文修改版。

View File

@ -0,0 +1,5 @@
最近的工作内容主要集中在写大论文上,整体大论文的章节内容安排如下:
当前正在写5.4节的内容,还需画两个结果图,预计几天之内能够完成整篇文章的初稿,随后再对细节进行一些调整修改。
针对SNAS-Bench小论文的实验目前新增的cifar-100数据集还在跑实验的过程中已经得到了大约两千多个网络的实验结果。另一个SNAS-Bench中的实验是增加搜索空间中的候选操作从原来的6个增加到9个增加了5x5卷积low、mid、high利用darts搜索方法进行搜索但是在cifar-10数据集上的最高准确率为83%左右,这可能是因为没有进行仔细调参。另外还可以用其他方法再搜索试试。
无乘法CNN网络的实验主要利用进化算法搜索了四种计算公式的无乘法卷积在cifar-10数据集上搜索了10轮准确率在80%左右效果一般可能是因为搜索的轮数太少。因为在大论文中的EEG数据集上搜索了50轮左右能达到和普通CNN网络相近的结果。后面需要再跑一些实验调整结果。目前主要精力和计算资源还是在写大论文上。

View File

@ -0,0 +1,31 @@
我要说的论文是2023年8月4日在电子与信息学报上发表的脑机接口中脑电图-近红外光谱联合分析进展研究。作者是张力新、周鸿展、王东、孟佳圆、许敏鹏、明东,来自天津大学医学工程与转化医学研究院和天津大学精密仪器与光电子工程学院。
首先看一下论文的摘要部分。简单介绍了一下脑机接口BCI引出了EEG与NIRS然后说明了EEG-NIRS 联合分析的混合BCI系统的优势最后阐述了本论文的行文逻辑与结构。
本篇论文总共分为三个部分分别是引言、信号融合层级、总结与展望。第一部分是引言我们首先来简单介绍一下EEG和FNIRS。EEG即脑电图通过放置在头皮表面的电极记录能反映出脑皮层神经微弱放电的变化情况。EEG的电位记录具有较高的时间分辨率从而使在时间细节上跟踪大脑活动过程成为可能FNIRS即近红外光谱通过外置光源和接收器监测大脑特定区域血红蛋白浓度波动的方法。在特定脑区激活时对氧的需求量增加从而在大脑中发生代偿性血流动力学反应使相应区域血红蛋白浓度等生理指标发生变化。EEG以采集电信号的方式实现NIRS以采集光信号的方式实现两者所需的信号本身及其采集方式没有物理意义上的相互干扰可以同时采集故在现有的脑机接口BCIEEG和NIRS是较常用的采集信号将EEG和NIRS联合分析可能得到更精确、更详细的大脑活动状态。目前脑电活动及其对应的血流动力学活动的时空对应关系尚不明确它们通过神经血管耦合机制相互作用各自具有独特的特征。神经血管耦合机制是大脑生理功能的实现依赖于神经活动与血流之间的相互配合尽管大脑本身仅占体重的2但脑血流量仍占心输出量的15、静止总耗氧量的20。因此脑血流量必须不断地与当前活跃的大脑区域相匹配。而NVC是负责此复杂操作的机制这种机制对于神经元兴奋所致的大脑局部血流的分配具有重要意义。接下来看一下研究意义和研究现状。本文以EEG与NIRS的信号融合层级为主线综合概括了两种信号的融合方法及其应用场景并对未来的信号融合的发展方向做出了展望。
接下来就是文章的第二部分,信号融合层级。 EEG和NIRS的联合分析与融合可以分为决策层融合、特征层融合与数据层融合。每个层级具体的处理过程如图所示。
决策层融合一般指将各模态信息各自进行处理并将得到的初步分类结果进行决策或权重分配得到目标的最终分类结果的融合。各模态信息独立处理包括预处理、特征提取与分类等也可以选定多种特征提取方法分别进行分类最后根据各模态的分类结果进行自适应的决策。在EEG-NIRS BCI中使用决策融合的方法是单模态BCI研究的自然延续。决策层融合可对BCI输出结果进行预测与校正、增加BCI的指令集、提高EEG-NIRS BCI的分类准确率等。且由于决策层融合计算算法较为简单实时性较强更适合应用于对反应时间要求较高的BCI系统中。决策层融合是根据已有的分类结果决定最终的分类结果的融合过程。一般而言各模态的分类结果的决定策略或由训练集的结果确定或在BCI的使用过程中自适应调节。现有的决定策略的选择一般为贝叶斯方法构建混淆矩阵等纯数学方法不涉及EEG和NIRS信号的内在机制或联系这也导致决策层融合的研究深度有限。但由于决策层融合的算法复杂度一般较为简单运行快速这种融合方式有一定的实际应用价值。
特征层融合是对从不同模态信息中提取的特征向量或参数进行联合有效的特征选取和融合方式能大大提高不同指令之间的可分性从而提升BCI的表现。而缺点在于不同模态信息分开提取特征时无法表征模态间的信息联系而盲目的选取和融合各模态的特征反而可能会降低系统的表现。EEG数据和NIRS数据在原理和获取机制上有很大的不同是两种不同的脑信号。当结合这两种不同类型的数据时简单的特征拼接往往会导致机器学习算法的性能较差。因此有必要在融合前对两者的特征进行归一化在融合后进行特征选择。特征层融合的深入研究不仅在于适合的特征选取与组合方式更在于挖掘更多有效的、含义丰富的特征。目前在特征层融合上EEG信号与NIRS信号所应用的特征较为单一对于2维乃至高维特征的融合是未来特征层融合的一个具有前景的研究方向。
现在的数据层融合研究可大致分为两种第1种是根据一方的数据包含的信息或特征对另一方的原始数据进行时域、空域等维度的筛选从而得到与指令更相关特征更明显的数据段第2种是将EEG和NIRS的数据以某种方式融合为单模态的数据。第1种数据层融合通常方法简单易行容易理解但研究的可深入程度有限第2种数据层融合的优点在于保留了较完整的原始数据因此可以保持各模态数据之间的数学关联。缺点一是由于不同模态数据的时间、空间信息难以对齐提高了融合后的计算复杂度不适合对实时性要求高的系统二是需要同时考虑不同类型信号的伪迹的处理增加了数据处理模型的设计难度。第1种数据融合方法着眼于提高数据质量滤除冗余信号。对于单模态信号滤除冗余信号的方法多基于统计方法。第2种数据层融合方法在近几年才出现目前仍处于纯数据驱动阶段。常规方法在于寻找这两种信号的拟合关系从而将数据类型归一化。随着深度学习的发展由于深度学习不要求多输入端的语义一致性使其应用在EEG信号与NIRS信号联合分析相关研究时无需研究两信号之间的生理联系即可进行数据层融合。长期来看随着算力的发展使用深度学习领域的方法搭建合适的神经网络是未来数据层融合的主流方向。
最后一部分是总结与展望。就目前的EEG-NIRS BCI 研究而言依托于机器学习和深度学习的发展主流数据融合层级从决策层逐渐过渡到特征层和数据层。未来的EEG-NIRS的信号融合相关研究将趋向于更新颖、更深层次的特征层与数据层融合方法。在上述介绍的EEG信号与NIRS信号融合层级中较非融合与决策层融合而言由于特征层融合与数据层融合更能挖掘EEG信号与NIRS信号的内在联系这两种方法是相对更值得研究的信号融合方法。研究特征层与数据层融合方法不仅可以在应用层面上提高BCI的性能而且能促进研究者对脑电信号与脑血氧信号理论上的相互关联的认识与理解。特征层融合与数据层融合的研究现状仍较为初步。在特征层融合研究中可选的有效特征仍较少在NIRS信号的特征选择上尤其明显在数据层融合中将EEG与NIRS融合为单模态信号的融合方式更有潜力但相关的研究多依托于深度学习框架。EEG-NIRS信号联合分析的不足不仅在于其各层次融合方法的局限也在于研究范式的局限。EEG-NIRS数据联合分析在BCI研究领域中具有重要的作用与广泛的应用前景。

Binary file not shown.

View File

@ -0,0 +1,16 @@
10.21
1、主界面修改
添加阻抗检测界面主界面为阻抗检测、EEG、Fnirs、摄像头四个功能卡。
将链接下位机按钮和设置实验名称功能也显示在主界面上。
在此界面实时显示各个电极的阻抗,阻抗达到标准后对应电极变绿。
2、EEG界面
将EEG波形的坐标轴改为自动调整每个通道的显示宽度也可调整。
在最上面一行设有,开始、暂停、开始保存、暂停保存、打开数据、采集进行时间几个选项。
在波形显示的左侧可以对波形进行一些参数设置,可以隐藏,包括滤波方法,一些频率设置、阻抗显示等功能。
右侧可以显示一些脑电信号分析的结果。
对保存的数据可以进行裁剪可以删除指定时间段的EEG信号。
3、EEG信号能量图
根据采集到的电压大小,采用不同颜色进行显示。此功能是否有用?

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
流形学习Manifold Learning是一种基于数据流形结构的无监督学习方法旨在发现和描述高维数据的低维嵌入。其核心思想是假设高维数据样本分布在一个低维流形上通过学习这个流形的结构可以更好地理解和处理数据。
主要的流形学习方法包括:
1. 主成分分析Principal Component AnalysisPCA通过线性变换将数据投影到低维子空间保留最大方差的特征分量。
2. 局部线性嵌入Locally Linear EmbeddingLLE通过局部线性重构数据并将重构误差最小化以得到数据的低维表示。
3. 等度量映射Isomap通过保持数据样本之间的测地距离不变将数据映射到一个低维空间。
4. 非线性流形嵌入t-SNE通过优化目标函数来最小化高维数据和低维嵌入之间的差异使得相似的样本更有可能被映射到相邻的位置。
5. 核主成分分析Kernel PCA将数据映射到高维特征空间并在此空间中进行主成分分析以实现非线性的降维。
6. 拉普拉斯映射Laplacian Eigenmaps LE。拉普拉斯映射是流形学习中的一种方法它通过构建图结构来揭示数据的流形性质。
这些方法在理解和发现数据的内在结构方面都有不同的优势和适用性。选择合适的方法需要考虑数据特点、降维效果和计算复杂度等因素。一般来说,流形学习方法可以用于数据可视化、特征提取、噪声降低等任务,对于高维数据分析和理解具有重要意义。
这周阅读了论文Image reconstruction by domain transform manifold learning这篇论文主要提出了一种方法Automated Transform by Manifold Approximation (AUTOMAP)即流行逼近自动变换当训练该映射时隐式学习两个域中数据的低维联合流形我们用深度神经网络实现了统一的重建框架卷积层从数据中提取高级特征并强制图像特征值稀疏化设计所有的全连接层为近似于从传感器域到图像域的流形关系的投影。通过将高维图像投影到的低维流形中AUTOMAP为用深度神经网络实现的图像重建提供了一种强大的新范式该深度神经网络学习任何获取策略的最佳重建函数。
学习了使用流形学习的思路之后,感觉流形学习不太适合应用到定量算法中,拉曼光谱本身就是一维信号,不需要进行降维操作。对于一维信号的分析,流形学习方法可能不适用。流形学习主要用于处理高维数据,并尝试恢复数据的潜在低维结构,通过学习数据的流形结构来捕捉数据之间的相对关系和局部结构。但是对于一维信号,不需要进行降维操作,因为它已经处于低维空间中。对于拉曼光谱数据,可以直接使用原始信号进行进一步的分析和处理,而不需要使用流形学习算法。
如果使用特征提取,提取拉曼光谱信号的特征,有用的拉曼光谱的特征主要有:特征峰的峰高、峰的波数和峰的半宽。这三个特征对处理光谱有着很大的作用,且没有明显的冗余信息,那么降维可能并不是必要的。降维的主要目的是在保持数据信息的同时减少特征的数量,简化数据表示和处理过程。降维可能会导致信息丢失或者损失模型性能。
而流行学习中的拉普拉斯映射Laplacian EigenmapsLE可以实现等维数据传递。在拉普拉斯映射Laplacian EigenmapsLE首先根据数据样本之间的距离或相似度构建邻接图可以是 K 近邻图或全连接图。然后,计算图拉普拉斯矩阵,它是度矩阵减去邻接矩阵的归一化形式。接下来,通过对图拉普拉斯矩阵进行特征值分解,得到特征值和对应的特征向量。选择前 k 个特征向量作为低维嵌入表示,形成最终的降维结果。由于拉普拉斯映射保留了数据之间的局部关系,它在保持数据采样的连续性和流形性质方面具有优势。它可以用于降维、聚类和可视化等任务,并且对于非线性流形结构的数据有较好的效果。
而对于现在定量的问题,即需要建立一个模型,校正不同仪器数据匹配的权重的问题,目前的数据来看不建立标准数据库也是可以的。建立一个模型类似于线性的,使用线性回归可以得到很好的结果,但是复杂度很低,不适合写论文。使用一维卷积网络复杂度更高,得到的效果也不错。
此外,还找到了两篇在拉曼光谱学习领域应用流形学习的论文,只浏览了一遍,感觉会对我的工作帮助很大。下周要认真看一看,争取应用一下。