2023-08-06 科研流水账60 科研流水账60 论文阅读Sensor Data Augmentation by Resampling for Contrastive Learning for Human Activity RecognitionImproving Convolutional Networks via Attention Transfer代码工作调通将聚类改进到对比学习的项目代码,并移植到我们初始的驾驶意图识别代码项目里。修改项目代码,将特征进行融合后再进行聚类。重构初始的驾驶意图识别代码,使得所有参数都可以直接全局调整。调通resampling项目代码进行实验,再将其对比学习损失计算方法修改为聚类的方式进行实验。新机器已经配置好向日葵和ssh,并可正常使用。在 UFDN 中使用 pven 的中的mask划分局部,进行实验,效果很差。在 UFDN 中使并使用空间注意力用pven中的mask计算损失进行指导,效果无明显变化。使用mask指导后,Rank-1提升,Global Results提升问题分析在调通resampling和negative项目代码时环境问题需要安装对应版本的tensorflow和tensorf... 2023-08-06 2023年08月06日 0 阅读 0 评论
2023-07-30 科研学习流水账59 科研学习流水账59 阅读了 Negative Selection by Clustering for Contrastive Learning in Human Activity Recognition代码工作实现自编码器,编码、解码特征并构建一个简单的网络模型进行训练,绘制loss下降图。在 pven 中引入完全移植 UFDN 论文里的损失函数,进行实验。修改 UFDN 代码,去掉类 transformer 特征token提取模块。进行实验。在 UFDN 中移植 pven 的数据处理模块,解析生成 mask。对移植pven数据处理方法后的UFDN代码进行实验。问题分析移植UFDN损失到pven后没有达到理想效果首先猜测可能是pven的mask 划分局部操作对损失函数按通道划分局部这个过程有负面影响,于是暂时移除mask,模仿UFDN不进行空间上的划分进行实验。实验结果更差。接着进一步猜测可能是UFDN的token提取模块比较关键,只移植其损失函数到pven上并没有效果。于是考虑,在UFDN上进行实验,去掉其 token 提取模块,进行消融实验查看结果是否和pven上一样不好。移除UFDN的toke... 2023-07-30 2023年07月30日 0 阅读 0 评论
2023-07-23 科研流水账58 科研流水账58 阅读了 Person Retrieval With Part-Based Hierarchical Graph Convolutional Network代码工作比对SimCLR模型之前保存的不同维度motorway的模型参数,使用相同的模型设置处理好的不同维度的 scondary数据的特征,保存为.mat发给高师兄。重新整理SimCLR项目代码,提高可读性。回顾UFDN代码,理解整个代码结构、流程和逻辑,参考其方法修改pven的代码进行实验。对pven按通道划分局部并结合mask,参考UFDNt调整平衡损失函数。问题分析猜测可能是损失不平衡的原因。对比 pven 和 UFDN 的各项损失,发现 pven 的 triplet loss 大过 UFDN 损失几十倍。目前已经找到造成相同损失函数损失差异大的原因。也可能是没有对局部特征进行id相关的损失函数,UFDN全局和局部都使用了focal损失。并且UFDN最终损失计算时,会取全局和局部的focal和triplet损失均值。下一步研究计划根据现有的问题分析和进一步实验的结果继续思考,以求解决问题。 2023-07-23 2023年07月23日 0 阅读 0 评论
2023-07-16 科研学习流水账57 科研学习流水账57 阅读了 ENHANCING PART FEATURES VIA CONTRASTIVE ATTENTION MODULE FOR VEHICLE RE-IDENTIFICATIONAn Effificient Multiresolution Network for Vehicle Reidentifification代码工作将修改SimCLR模型,并将处理好的不同维度特征保存为.mat发给高师兄。尝试使用纯监督模型对数据处理进行对比试验。使用该项目原数据进行实验,尝试复现其论文结果和对比检查自己代码错误。调整Batich Size进行实验。问题分析预训练处理的特征保存预训练时输入的只有训练数据而没有标签,因此没法直接对预训练模型输出的特征进行划分类别标签。于是,提前将训练数据划分为两类,分别通过预训练的模型得到输出特征,再将输出特征按类别保存到.mat文件。下步多了解重识别最新论文的热点,多思考新的关于车辆重识别可以做的方法和点。 2023-07-16 2023年07月16日 0 阅读 0 评论
2023-07-13 C++11 实现线程池🎃 C++11 实现线程池🎃 使用基本的 C++11 特性实现一个相对简单但符合良好代码规范的线程池,这个简化版本的线程池将展示基本的创建、任务分配和安全停止线程的功能。简化版线程池实现... int main() { SimpleThreadPool pool(50); for(size_t i =1; i<=50;i++){ pool.enqueue(print_task, i); } // 线程池会在对象销毁时自动清理所有线程 return 0; }接下来将创建一个 SimpleThreadPool 的类实现线程池,并使其能使用 enqueue 分配任务不同线程。#include <iostream> #include <vector> #include <thread> #include <queue> #include <mutex> #include <condition_variable> #include <functional> #includ... 2023-07-13 2023年07月13日 0 阅读 0 评论
2023-07-09 科研学习流水账56 科研学习流水账56 阅读了论文 Dual-level contrastive learning for unsupervised person re-identifification代码工作:清晰理解代码原理、结构和流程,实现驾驶数据上SimCLR模型的预训练。将SimCLR模型预训练后的模型和权重保存,加载模型和数据输出其中间层特征并保存为.mat数据留待下一个任务使用。修改原代码数据变换的方,基于原代码的linear和non-linear模型训练出微调后的结果。使用全部的数据、尝试不同数据变换函数、以及SimCLR模型不同中间层输出维度数继续进行实验。使用不同数量的有标注数据进行linear和non-linear 的微调。问题分析预训练使用数据使用全部的数据相比只使用normal 和 aggressive 的三千多个数据进行预训练效果,后者更好。下步计划继续做实验,找出最好结果的数据,并将其SimCLR中间层输出特征保存后发给高师兄。 2023-07-09 2023年07月09日 0 阅读 0 评论
2023-07-02 科研流水账55 科研流水账55 读了论文 Exploring Contrastive Learning inHuman Activity Recognition for HealthcareCamera-aware representation learning for person re-identification代码工作在本地 Conda 环境中安装 tensorflow 的相关依赖。理解使用SimCLR进行 Human Activity Recognition的论文代码主要逻辑。理解HAR和Driving Style Recognition其使用数据集中的各个部分的意义。修改HAR的代码,将其数据集替换为DSR使用的数据集,修改项目各个相关地方的代码。问题分析数据源格式不同 HAR项目使用的数据集格式为csv,其在项目中读取csv文件中的数据后转换加载为pkl文件后,在代码中调用。DSR 项目中的数据为 .mat 格式。一开始考虑转换为 csv格式后再直接使用HAR中处理数据集的代码直接调用。后面考虑到DSR中数据源有9个,HAR只有3种数据。后面直接使用python相关库读取.mat文件,直接进行数据... 2023-07-02 2023年07月02日 0 阅读 0 评论
2023-06-25 科研学习流水账54 科研学习流水账54 实现环状划分车辆局部特征,根据Hanoi Pool论文中对划分特征的处理进行了实验。根据Multiscale Global-Aware Channel Attention for Person Re-identification论文中的描述,实现ASFF融合模块并用来融合不同层之间特征。根据Graph-based High-Order Relation Discovery for Fine-grained Recognition论文,使用其图关系构建模块来对划分出的不同局部特征构建关系。在其上修改并实现了基于图关系的不同局部区域融合模块。实现在最后一阶段使用ASFF融合模块,并对融合结果使用环状划分,再进行图关系构建融合模块。ASFF 单卡训练 batchsize 64 num_instance 16ASFF 双卡训练 batchsize 64 num_instance 8问题分析ASFF多层级特征融合模块的选择融合骨干网多个阶段多个层级的模块,设计上需要考虑轻量化。ASFF模块设计比较简单,进一步修改的入手点比较多。单卡和多卡训练差异实现ASFF后,进行实验检验模块代码设计是否... 2023-06-25 2023年06月25日 0 阅读 0 评论
2023-06-19 科研流水账53 科研流水账53 看了三篇论文 Learning global and local features using graph neural networks for person re-identificationDFR-ST: Discriminative feature representation with spatio-temporal cues for vehicle re-identificationSSR-Net: A Spatial Structural Relation Network for Vehicle Re-identification设计了基于SE模块的特征聚集和背景消除网络,沿用了MsKAT中用于限制特征损失函数。在SE激活后聚集的有效特征和需要消除无效特征进行了多次不同组合的实验,比如参考MsKAT,用有效特征减去无效特征。问题分析关于foggy去雾重识别,其数据集是从 VERI-Wild 和 Vehicle 1M两个数据集中选取的雾天情况。其中VERI-Wild数据集较大,正在下载。Vehicle 1M暂时没在国内网上找到第三方下载途径,官方下载途... 2023-06-19 2023年06月19日 0 阅读 0 评论
2023-06-12 科研学习流水账52 科研学习流水账52 在全局和局部之间使用了自知识蒸馏,结果没有显著提升或下降在特征融合后和特征融合前的骨干网输出特征之间使用自知识蒸馏使BiFPN多尺度特征进行实验研究设计带权重自适应的多尺度特征融合方法,并进行了实验。实验结果自知识蒸馏相关实验使用UAFM融合模块增强后的特征指导原始骨干网络输出的特征,最终使用原始骨干网络输出的特征进行推理(Tips:这里使用了PVEN原始的超参数(batchsize=64、numinstance=4)。原PVEN性能为79.4%,rank-1为95.6%)反过来,使用原始骨干网输出特征指导最终UAFM融合的特征,也如猜想那样降低了原本性能(Tips:这里使用了我们论文GLNet的超参数(batchsize=128、numinstance=8)。只使用特征融合的GLNet性能为82.7%左右)实验表明,自知识蒸馏可以在不增加推理阶段计算量的情况下提升性能。多尺度特征利用相关实验首先使用了BiFPN加在重识别上进行实验,直接移植这种多尺度增强模块性能果然不好。接着修改并设计了新的多特征融合方法,可以将三个特征图融合在一起,在Fast-reid上提升了近两个点。问题分... 2023-06-12 2023年06月12日 0 阅读 0 评论