ecomo
实习日记
2025/6/4
- 办理入职手续,录入人脸,但是暂未拿到实习合同
- 在二楼的实验室和四楼的办公层同时拥有工位
- 利用mediapipe根据五指张开程度输出0-999的数字
- 深度相机要使用intel的realsense自带的SDK获取RGBD(D:深度)
- cursor这个APP把大模型集成到VScode里,写代码简单了太多
2025/6/5
Typora 免费安装教程(支持版本:1.9.5) Typora — release channel好用,可以在我电脑上也安装一个
3道 leetcode
- 安装VMware/ubuntu(下载了三个小时多)(下载ros,vscode,anaconda
) - 复现HaMeR: Reconstructing Hands in 3D with Transformers卡在了配环境上——文件名或扩展名太长。(下了git,Visual Studio)
2025/6/6
- 2道leetcode
- 和贾博聊了一下我具体要做的事情,最好还是在实习期间能完成一个完整的项目,需要和机器人有关系,例如轨迹优化
- 发现将大模型用于机器人的例子不少,还有diffusion。但有点没有头绪,mentor说从数据集入手去看相关已有数据集可以完成什么任务,不错的想法
2025/6/9
- realsense这个深度摄像头可以好好了解一下,它配套的包还蛮多的,今天用了它的一堆滤波器
- 完善了一下手势识别,增加指尖距离的限制,滤波看到更清晰的图像
- 目前的问题在于如果mediapipe识别到有遮挡的部分位置估计的不准确,可以加入模型训练手指间位置关系,这个需要好好想一想
- 玩了3D打印机,打印了一个鲨鱼匕首
2025/6/10
- 上午看了一些具体的具身智能的数据集,还是想从Open X-Embodiment下手去看
- 下午复现了HaMeR,没想到它的代码本身就有些问题,不过调试出来了
2025/6/11
- 确定数据集——确定任务——确定评价指标——确定方法。上午主要看了一篇论文,Human-Agent Joint Learning for Efficient Robot Manipulation Skill Acquisition 这篇论文里有些东西还写错了,但是人和智能体同时控制robot的思想很有意思。我要做的部分其实也就是“学习”,让机器能够学到一些东西,不需要具体的去定义微调
- 下午在原来手势识别代码的基础上加了一个三个轴的角度,涉及一些数学知识,很久没接触了。同时明确了现在的主线任务就是实现一个遥操作,精细度的事情后面去调整
- 明天要再问一下关于我自己需要具体做一些什么
2025/6/12
- 看 X-Embodiment 的论文,其实数据集就是轨迹数据,但具体什么格式我还没有看,可以明天看看
- 了解了两个文件类型:
.step
&.stl
,其实就是画图方面很常用的文件格式。3D图像其实就是由很多个三角形拼接成,三角形越多,细节越完善,但文件越大。完成了把.stl文件渲染到视频里,同时也可以进行旋转和移动,但两套坐标还没有对上,明天来对
2025/6/13
- 今天一天都在试图把gripper的坐标系,手的坐标系和摄像头坐标系,世界坐标系对齐。但由于对open3D库知之甚少,根本不知道怎么找。到下午5点还一事无成。佘工让我学一些相关的东西。记录在这里。
- 3D数据常用类型有 Point clouds(点云,三维空间点的集合),voxel(体素,大小固定的点云)和mesh(三角图,面片的集合)。open3D 中的mesh主要有vertices(每个三角形顶点的向量)和 triangles 组成。
- 从图像坐标到世界坐标的坐标转换
- 旋转矩阵左右乘:
2025/6/16
- 早上来有点不知道做什么,佘工说这个星期可以开始做上周说的人和智能体同时控制的那个paper,上午就在看这一篇,但是主要的问题是这篇文章没有源代码,不好实现,于是去看这篇文章引用的文章。
- 看了很久发现了一篇不错的diffusion:Diffusion_Policy_Visuomotor_Policy_leanrning_via_action_diffusion.pdf,里面也用了transformer 相关的,也有源代码,感觉很不错
- 给贾博说的时候,贾博问我和普通的diffusion有什么不一样(没有),建议我先去做一些不带图片的,他说用卷积或者vit的就很慢,先尝试用一系列轨迹预测下一时刻的轨迹。明天继续调研,有时间把台式机装了
2025/6/17
- 今天一个人坐在4楼,贾博也不在,就一直在摸鱼,买了一堆东西,研究了我妈让我用的给到APP
- 下午在看diffusion model的基本流程,想尝试做一下,但是电脑性能不行就没做。看了一些基本的数学推导,在看score function是怎么来的,朗万之运动为什么用于这个流程,还蛮难的,没看完
- 明天先把电脑安了,这样至少想尝试什么可以尝试
2025/6/18
- 上午去医院咨询体检报告,遇上了不按时上班还不认真的老头,只能请一上午的假
- 下午来上班,先看了一会儿论文,然后就准备把台式机安了,还要装一个双系统,装的时候遇到了不少问题,并且boss就在旁边,他看我装了半天还来问我是不是不会装(但其实是电脑第一次启用要先登陆microsoft,登陆又要验证,验证方法有的还不行),甚至被行政的污蔑说我一直玩手机,我:?就这样吧,撤
2025/6/19
- 贾博出差,只有我一个人在工位,很爽,上午发现昨天安装失败,就在想怎么能把装失败的删了重新装,找了半天也没有找到,后来问了jerry,重新格式化USB,烧录系统,安装,才发现昨天把系统装到U盘里面了,一上午还是弄完了。装完之后要装NVIDIA驱动,主要参考Ubuntu20.04安装Nvidia显卡驱动教程,总之是先要把相关的工具例如
g++
,cmake
全都装好之后再下驱动,还换了源 - 下午在总结最近看的一些diffusion的论文,佘工也给了一篇文章让我复现。但是Ubuntu上Nvidia的驱动就安了一下午。clash, anaconda只能明天再来装了,明天要把代码下下来跑起来
2025/6/20
mamba
可以替代conda
获得更快的安装速度。hugging face
可以在
Files
下直接点击下载如果直接
git clone
Hugging Face 模型仓库,会只得到 大文件的占位符(因为模型参数用 Git LFS 管理),需要额外执行:1
2git lfs install
git clone https://huggingface.co/<仓库名>或者更简单的方法:
1
2pip install huggingface_hub
huggingface-cli download <仓库名> --local-dir <保存目录>
hydra
: 深度学习统一配置参数的库,wandb
:深度学习轻量级可视化的库一天时间,装clash, anaconda, ToDesk, 配环境,下午狠狠看论文,本来说抽一个小时写日记都没抽出来,看代码的时候时间真的过的好快,还是蛮喜欢这种收获的感觉的,虽然看论文真的很痛苦,但看完的时候是有收获的。加油
2025/6/23
- 上午真的困的要死,前一天坐火车凌晨1:55才出发,早上7点多就起来了,上午还在跑sparsh,但环境一直出问题,跑不出来,加上精神状态差差,啥也没干出来
- 下午贾博用另一篇文章解救了我,叫normalflow,这个利用gs_sdk中一个简单的MLP得到的图片的gradients/height map/contact mask三组result,来计算物体前后的转移矩阵的算法。网络很简单但效果很不错,下午也算是把它跑通了,然后我就去看对应的论文,结果贾博说直接从代码去学,让我引入一个世界坐标,明天再说
2025/6/24
- 上午假设了一个参考帧到世界坐标的转换矩阵,把它引入了算法,后续可以改成参考帧到机械臂末端的变换矩阵
- 下午佘工提了一个新的任务,就是用这个算法获取一个线型物体二维位置(例如斜率+截矩),我刚开始在想这怎么定义,后来佘工提出比如可以规定一个初始帧(reference),这样直接把物体放上去就应该有对应的方向。最后把展示的效果实现了,但位置还没算出来,同时发现这个代码里有的参数的比例不太对,明天再看吧
2025/6/25
- 上午好好研究了一下SE(3)和SO(3),发现其实基于固定坐标轴旋转顺序不一样最终位置也不一样,旋转和位移的顺序也会影响结果。但同样的初始位置和最终位置,旋转矩阵是一样的,只是有很多种不同的计算他的
- 终于把佘工说的东西实现了,能够求出斜率和截矩,但发现效果不太稳定。这个代码里面其实最后是用最小二乘法迭代找的旋转矩阵,会出现迭代不收敛的情况,就会出现错误方向。扒代码还是蛮有意思
2025/6/26
- 上午解决了一下方向判断错误的情况,其实就是忽略迭代不收敛的帧,下午把reference的图片增加到了两张,不错,还是有做事情
- 最近几天总是有领导来看机械臂夹薯片的演示,还来录视频,今天下午录了快两个小时,我感觉这东西也没啥可录的阿。后来知道原来是公司要上市,老板带着很多投资人过来看,下周还有两个投资需要搞到手,所以急着录一些demo,好耶,公司在进步!
2025/6/27
- 上午完成了两个reference到四个reference的升级,也添加了方向检测,固定了x轴的初始方向范围
- 下午也没干什么事情,偷偷整理了一下小红书收藏夹,本来想把sparsh跑通,结果最后还是没成功,好像checkpoint下错了,就这样吧。这周也算是做完了一个完整的事情
2025/6/30
- 周末的时候有点难过,因为感觉自己和这个岗位的匹配度没有很高,但今天过来之后佘工说了一下我们后面要做的事情,应该是回到运动控制,也可以用一些模型去跑了
- 今天新的机器人和vision pro 都到了,尝试玩了一下,不错
- 我今天sparsh还是没有跑出来,感觉就是电脑太新了,配套的包都没有,后面想跑featsAI的时候也出问题
2025/7/1
- 早上还早起写了半篇日记,上午在给featsAI配环境,昨天有些安装包指定版本没有就是因为python的版本装错了,配环境要先确定python版本还有自己的CUDA,GPU版本。我最后没配出来就是因为NVIDIA太新了,没有配套的pytorch包,很无奈,只能用佘工的电脑,4060就都ok.
- 下午主要研究了feats代码的主要部分以及从他的输出提取xyz方向的力,佘工的电脑要先在终端运行一个
roscore
,我还发现所有的terminal的历史记录都可以在.bash_history
中查找到,还是对linux不够了解阿。佘工的电脑也跑通了sparsh,明天主要看这个代码,学习一下结构,找一下力在哪里算出来的。
2025/7/2
- 上午培训了一些机器人的基本操作,第一次知道“标定”是什么意思,然后得空做了三道题。今天又有很多技术人员来看机器人,应该是想给它换一个我们公司的壳子
- 下午认真看了sparsh的代码,对比了一下他和featsAI的优劣,最后还是决定用sparsh做进一步的拓展,明天看看怎么根据这些力来判断滑动
- 明天打算再试着装一次pytorch,看看能不能有适合5060的版本
2025/7/3
太强了!上午把sparsh,feats的环境都配出来了!
sparsh 在
python train.py +experiment=${YOUR_EXP_NAME} paths=${YOUR_PATHS} wandb=${YOUR_CONFIG}
的基础上,在最前面添加了XFORMERS_DISABLED=1
也就是禁用xformers,其实这就是一个”eXtended Transformers”,增加运行效率的,但适配的pytorch版本与我的 NVIDIA GeForce RTX 5060, CUDA=12.8适配的pytorch版本不一样,因此果断舍弃xformers。然后再把代码中用到xformers.ops 的部分改掉,总算是彻底摆脱了xformers。到现在用命令行运行的时候说找不到seaborn,没关系,这几个需要seaborn的文件我都用不上,注释了。现在代码可以跑起来了,但是提示是在CPU而不是GPU上跑的。feats 更好配一些,让GPT帮我把requirement.txt转写为.yml,安装完之后发现torch的版本不合适直接跑不了:
1
2
3UserWarning:
NVIDIA GeForce RTX 5060 Ti with CUDA capability sm_120 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_70 sm_75 sm_80 sm_86 sm_90.于是更新torch到适配的版本:
1
2
3pip uninstall torch torchvision torchaudio
export https_proxy=http://127.0.0.1:7897 # 临时设置一个 HTTPS 代理 取消: unset https_proxy
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128最后得到: torch: 2.7.1+cu128 torchaudio: 2.7.1+cu128 torchvision: 0.22.1+cu128
之前一直没配出来的原因主要是总想着缺什么包就安就好了,没有考虑到一些包是不是非必要的,也没有考虑到包之间的依赖关系。最主要还是5060太新了,torch都没有官方的发行版,导致找合适的torch找了好久。
之前忘了提,前两天用的佘工的电脑跑的代码,发现佘工配环境什么的都会用cursor去生成.sh的文件,这样也算是有一个记录,包括如果跑代码的命令很长也最好单独记录
下午把feats集成了一下,但数据看起来不是很合理,0.0几牛的力也太小了,明天就专心看sparsh的代码了
2025/7/4
- 周五有些无心工作,尤其是知道贾博今天请假之后,感觉没人管了
- 上午认真扒代码,看了一下sparsh里面的力是如何归一化如何绘图的,下午就开始基于sparsh的力去判断滑动,目前想的是分步骤先看是不是开始滑动,再看是不是滑动中,最后再看结束滑动。但我发现其实滑动中的时候方向也没有很稳定,需要找一些其他的共性特征去定义。估计得下周了,重新选择滑动中的特征,调节参数
2025/7/7
- 感觉自己有很多事情都没有做完,无心工作,上午刷了一会儿小红书,然后开始研究到底木棍平移能不能被测出来,因为我们从有mark的gelsight皮子换成了没有mark的,这样的话图像就不会有任何差异,检测滑动就是不可能的,所以把任务先简化成了图片中能看出变化的滑动。
- 上午还来了一个新的实习生,不过和我做的东西完全不一样,不知道他是干什么的。
- 下午把大阪和京都的景点全都理出来了,还新建了一个notion,这样可以和dr一起编辑。剩下俩小时把滑动检测作了个80%左右,唯一的小问题是物体刚接触时会被检测为滑动,明天看一下怎么办。
2025/7/8
- 今天做完了两件事情,上午把滑动检测做完了,很明显物体沿y轴运动方向检测会更准一些,滑动检测也更准确,物体沿x轴的时候方向总是还是在y轴波动,感觉是模型训练集的问题,导致检测结果有偏向。对于刚接触,通过有连续的接触帧之后再判断滑动;除此之外还把每一个参数的数值和标定值都打出来作对比,更好的调参
- 下午又回到了之前的
real_time_tracking
的部分,去除了初始的reference image, 用PCA 和 cv2自带的cv2.minAreaRect(largest_contour)
轮廓的最小外接矩形来求得长边。效果蛮不错的 - 来了个刚毕业的实习生,这么早就开始实习,很有想法
2025/7/9
- 上午先研究了一下github库怎么搭建,怎么上传代码,有点意思,打算后面有机会试试。领了一个新的任务,要做和aloha机器人相关的学习和训练任务了,今天在看相关代码,开心!
- 下午来了一个东南的老师,叫朱利丰,一起去会议室聊了一个多小时,除此之外还把日本景点的官网全都拉了一边,还是做了一些事情的,明天继续看!
2025/7/10
- 上午过的好快,一直在研究aloha各个代码之间的关系,没搞明白为什么会同时依赖github的两个branch,明天可以研究一下。
- 下午把代码跑通,然后开始研究
pip install -e.
这个命令究竟是做了什么事情,然后把aloha代码进一步完善了一下。 - 明天好好看代码
2025/7/11
- 今天主要是在看aloha的代码,原来它是用了另一篇transformer的文章: End-to-End Object Detection with Transformers 。代码里面除了transformer架构之外还有CVAE,从而实现端到端。复习了self-attention,新了解了VAE,感觉和difussion有点像,但在生成模型里面又没有GAN 的效果好,还是可以认真学一下的。
- 下周就要做一个小样本分类的任务,之前没有做过,希望可以做得漂亮。
2025/7/14
- 上午不想干活,于是继续刷小红书整理日本的景点,还发现了一个klook的票比较划算,这下算是把景点全都理完了,剩余的就算还有也没时间去了。除此之外我开始整理两个城市的购物模块,不错不错,感觉快完事了。这周要开始刷题了
- 贾博中午发了个会议邀请,周四要一起开组会,这几天得看看文章什么的。下午把分类模型训练出来的,就是四棱柱和六棱柱差别太小,看看能不能换一个。明天上午就可以改好,同时深入了解一下小样本学习。
- 发现贾博也是画饼达人了,做点什么就说这个未来也可以是一个大项目,太虚了
2025/7/15
上午给ubuntu安了个音频的驱动,过了一下分类的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19pactl list modules short | grep switch #看到 module-switch-on-port-available 说明设置一次就够了
systemctl --user restart pulseaudio.service # 重新启动 PulseAudio 服务(声卡太新[Realtek ALC623],ALSA 声卡驱动 model 设置不匹配,耳机插入时内核未检测到 jack 插入事件,每次插入耳机都要运行这一句)
systemctl --user status pulseaudio.service # 确认服务状态
pactl list short sinks # 检查 sink
# 0 alsa_output.pci-0000_01_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
# 1 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
# 如果连接失败
systemctl --user stop pulseaudio.socket pulseaudio.service
rm -rf $XDG_RUNTIME_DIR/pulse
rm -rf ~/.config/pulse
rm -f ~/.pulse-cookie
systemctl --user restart pulseaudio.service
pactl set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo # 设置耳机输出为默认设备
pactl info | grep "Default Sink" # 查看默认设备
paplay /usr/share/sounds/freedesktop/stereo/complete.oga # 尝试用系统自带的测试声音下午在代码里面加入了resnet的部分,还看了书,今天效率一般,明天要好好干活,不摸鱼了
2025/7/16
- 转眼7月已经过去一半了,时间过的好快,上周主要在看日本的东西,有点无心工作,这周签证也办完了,景点也理完了,LOA也申请了。后面主要任务就是刷算法题秋招+认真实习了,好好干活!
- 今天上午理了一下resnet的相关东西,主要是看深度学习中特征维度的变化是怎么实现的,有收获。除此之外还明确了一下目前的任务,从分类变成了小样本识别,其实就是样本和每个类别比较,找到距离最近的;或者样本和每个类别求相似度,找相似度最高的。看了好几种方法,最后选择用Prototypical Networks和relation network,明天上午简单实现一下。
- 明天上午采数据,把代码跑起来,下午细致研究一下小样本学习,开会也有东西可以讲。
2025/7/17
- 上午好困,不知道为什么昨天没睡好,今天一直头疼。采了一版六个物体的数据,感觉公司做的gelsight的膜没有官方的好,太硬了,图片不清楚。
- 中午睡了一会儿好一些了,下午完善了一下两种方法,数据处理,包括一些参数的调节,但效果还是一般,明天继续尝试,难点就在于找合适的特征。贾博说其实就是找到特征以后去和reference比较,找到最相似的,也不错,更简单一些。
- 最后俩小时机器人组一起开了个会,我还是得再深入看一下normalflow的原理,听了听大家干的活,是我不会的东西。加油咯
2025/7/18
- 上午看完了最后两张的小狗钱钱,本来是想整理一下去日本买什么,结果贾博过来找我和我继续讨论小样本学习的事情,贾博的意思就是寻找图片特征是要优先使用已经训练好的大的模型,但这个模型训练的时候希望和我的小任务是一致的,那么大的模型特征有效的概率就比较高。像我现在用的resnet, 效果就一般,因为这个模型本身是用于分类的。所以我用分类的方法检测样本(特征用resnet获得)的时候准确率就还是比较高的。但是由于我样本量太小,我不能要求就每类100个样本就可以完全契合,所以还是要找合适的特征提取模型。
- 下午主要在看sparsh里面是怎么调用预训练的encoder的,找到了核心代码,其实下游任务只用了
self.hooks = [2, 5, 8, 11]
四层的特征,我先用的这个预训练是dino,这又是另一个无监督的特征提取器,下周可以先看dino的Github,把这个模型用出来,然后再尝试MAE,IJEPA,VJEPA这些。 - 中午hr把我们拉近了一个点餐群,微信点餐方便多了,还帮佘工抢到了王力宏的演唱会门票。
2025/7/21
上午偷偷看了书,想换一个hexo的主题,看了一圈还是觉得现在用的这个最合适。然后还在这里一点一点扒sparsh的代码,越看越乱,代码太多了。
下午直接从头开始重新理,快理完的时候贾博过来说让我今天一定要把这几个模型全都测完,测不完就让今天新来的一个德国的博士去做,给我一下子整急了。快速扒完代码,找到需要的文件,编写新的代码,从网站上下载模型,总算是在下班前搞了出来。明天要做的事情1. 模型数据有些不匹配的明天研究一下为什么。2.今天用的全是base的模型,明天可以用small的再check一下。3.数据集的照片更加一致
LOA过了,小树帮我买了NUS的衣服,耶耶耶
ins映射为screenshot:
1
xmodmap -e "keycode 118 = Print"
2025/7/22
上午看书+看小红书,又总结了一些新的Japan,看了一下我的目前的hexo缺失的东西,今天回去完善
下午开始疯狂看代码,过了一遍
vision_transformer.py
结构也写得太复杂了,一个函数套一个,一个类套一个。todo
重新梳理整个模型的结构(用到的类+文件)
优化结构之后仍然存在key不匹配,需要找到问题所在。
1
2WARNING:vit_extractor0722:Missing keys: ['pos_embed']
WARNING:vit_extractor0722:Unexpected keys: ['pos_embed.frequency_bands', 'blocks.0.ls1.gamma', 'blocks.0.ls2.gamma', 'blocks.1.ls1.gamma', 'blocks.1.ls2.gamma', 'blocks.2.ls1.gamma', 'blocks.2.ls2.gamma', 'blocks.3.ls1.gamma', 'blocks.3.ls2.gamma', 'blocks.4.ls1.gamma', 'blocks.4.ls2.gamma', 'blocks.5.ls1.gamma', 'blocks.5.ls2.gamma', 'blocks.6.ls1.gamma', 'blocks.6.ls2.gamma', 'blocks.7.ls1.gamma', 'blocks.7.ls2.gamma', 'blocks.8.ls1.gamma', 'blocks.8.ls2.gamma', 'blocks.9.ls1.gamma', 'blocks.9.ls2.gamma', 'blocks.10.ls1.gamma', 'blocks.10.ls2.gamma', 'blocks.11.ls1.gamma', 'blocks.11.ls2.gamma']找到small模型的调用方法,也进行尝试
数据集优化,输入是两张图片的话优化结构
最后实现实时监测
写一个最近工作的文档
2025/7/23
- 上午看书,又整理了小红书上的一些收藏,最后一个小时再次整理了模型所需要的文件的关系,真的好多啊。
- 下午把参数不匹配的问题解决了,主要还是重写模型的时候没有涵盖所有的内容(实在是太多啦)。然后补充了一版原型网络的分类,具体内容明天看。除此之外,原始checkpoint文件包含结构(pickle),用的是
torch.save(model)
保存的,因此依赖原始模块路径。我就在原路径下torch.save(model.state_dict(), "vit_encoder_clean.ckpt")
提取出来了里面的state_dict = ckpt["model"]
,这样就可以任意目录加载。因为模型的输入是6个channel,我之前以为是连续两帧的图片,今天发现是图片+背景,源代码力=里还有一些图片优化的算法,都加到我的里面。最后我开始优化我的数据集,但我改了一些图片之后效果并没有明显的好转,这个明天要研究一下。 - 梳理模型架构(有多少层,每层在干什么)
- 调用small模型
- 尝试不同分类识别算法
- 对比准确率和运行时间
- 明天要把我的代码传到github上面去,这个得学。
2025/7/24
- 上午看了书,然后继续整理日本商场相关东西,不知不觉理了一上午,打算晚上回去扒地图。
- 下午就开始完善我的模型,梳理代码结构,调用small模型,设置不同的6 channel组合,图片全都生成后就开始抓紧时间做PPT,结果还是来不及了。贾博今天给我看了一个不错的文章,关于盲文diffusion的,明天可以看看。
- 明天先对比一下数据,完善一下参数,开始放到normalflow里面。
2025/7/25
- 上午看了书,dr终于开始理日本了,等她。我也快理完了日本想买的,京都还可以再看看,大阪看得差不多
- 昨天发现dinov2还有一个[“masktoken”],今天本身也想把这一部分加进去,但稍微有点复杂,并且从我昨天测试register_token有无的情况来看并不是参数越多越好,于是放弃(下周一说不定还会试试),除此之外给代码增加了时间的计算,看看效率
- 用原形网络看每一类的距离,训练原型网络还是有点用的,但好像会把相似的不同类变得更像,这个代码下周可以研究一下
- 把分类加进了normalflow里面,结果一直只显示gel_pen,奇怪,下周来调
2025/7/28
- 上午不想干正事,于是看书,改hexo,看小红书
- 下午过了一下代码,[“masktoken”]没有必要加,dinov2效果就是最好的,就是把模型放到实时的视频里结果又很差(已经更新了一遍数据集),明天单独拎出来测试一下模型。
2025/7/29
- 找了一天的bug,但失败了。
- 本来以为实时的代码有问题,检查之后没问题;又以为模型保存有问题,检查之后没问题,但是保存checkpoint而不是单纯weight;又测试特征分布,发现新采的数据分布和训练的不一样,但test结果又是好的。
- 明天来问别人吧
2025/7/30
- 又是找了一天的bug。
- 对特征有一些发现,SVM 模型分类其实也一般。
- 贾博看了说肯定是代码有问题,看我的代码太乱了,让我学一下git,规整一下代码。
2025/7/31
- 从明天开始上班不摸鱼了,能多干一点事情就要多干。
- 江博今天说多模态其实是一个互相补充而不一定是同时使用的关系;也可以看作把attention放在哪些部分,感觉是一个很新但很正确的角度来理解多模态。
- 明天1.整改代码2.实现实时
- 今天第一次用了repo,感觉很不错
2025/8/1
- 上午一点没工作,先复盘了一下火灾事件,总结了一些要据理力争的点,然后把7月的日记写完了,上午就过完了。
- 下午把所有的代码整合到了一个项目中,但效果依然一般,可能还是特征空间的问题,下周很快就可以测出来。
2025/8/4
- 上午整理了小红书上新添加的内容,要找时间去把纸币换了,然后又看了一个小时我的代码的结构,主要在看文件导入的路径到底咋写。
- 下午好好工作,从单张图片出发,去找我的predict和realtime 里面的不同之处,发现两边提取出来的feature就不一样,bg是一样的,当我输出两边img的array的时候,我终于发现了问题:CV2是BGR,但PIL是RGB,代码不会自动统一顺序的(因为代码也看不出来)。也算是解决了,明天就是再理一遍代码的结构,然后看一下模型对gelsight外壳是否敏感,加油!
2025/8/5
- 花了一天时间重新理了一遍,现在是比较满意的架构了。
- 明天1.把不需要的文档放到drop里面2. 写一个说明文档3. 测试另一个皮子
2025/8/6
- 给现在的文件结构写了一个说明文档
- 现在最大的问题在于稳定性太差了,只能通过图片增强提升分类器性能,或者就是用分类任务微调本身的特征提取模型权重。
2025/8/7
- 贾博和佘工都不在,有点摆烂
- 找了一个LLM的课,明天听了
- 今天可视化了一下attention,有点意思,感觉自己了解的其实没有很详细,明天再来看一下
2025/8/8
- 感觉秋招开始了我也开始焦虑
- 今天重新可视化了attention,还了解了具体的计算。发现attention的部分和我们想的不太一样
- 还用原型网络MLP降维之后可视化了特征,发现还是蛮有效果的。
- 有可能还是要用原型网络,江博说了一些dino本来有的性质,自监督学的是语义特征,不是分类特征,很有道理。
2025/8/11
- 引入剪刀新类别,由于不同物体语义特征差别更加明显,分类准确率提高,但还没有保存原型网络的模型。
- 测试了两种gelsight的壳子,整体上模型对壳子没有那么敏感
- muiti-head attention 是每个头看一些维度,不是每个头都看所有维度
2025/8/12
- 贾博和佘工还没回来。
- 更好的降维视角:tsen not pca
- 去除背景后重新可视化attention:数据增强,合理, 由于分patch,条状物体attention像锯子,无法解决。
- 回归原型网络: 欧式距离和余弦相似度对比
- todo: 不同力度的数据增强
2025/8/13
- 今天上班时间完全没有摸鱼
- 今天在整理代码,余弦相似度的距离度量需要归一化,代码中有的地方就是先归一化再计算距离,而不是只在计算距离的时候归一化。除此之外也把原型网络部分的代码拉出了架构。
- 明天跑代码把PPT做完。
2025/8/14
- 下午要汇报,就做了一天的PPT,把所有代码都理干净了,舒服
- 来了新同事,是做VLA的,硕士在哈佛读的,厉害
2025/8/15
- 整理了原型网络的代码,放到实时的里面的,sparsh没有旋转不变性
- 贾博提了一种数据库增大的要求,但感觉不合理,再想想。
2025/8/18
- ubuntu识别不了耳机,于是
pulseaudio -k & pulseaudio --start
- 对于每个类别有多个特征,需要做的事情有:测试dinov2的旋转平移不变性,重新采集大量多特征样本,后续可以直接用bag of words 做匹配
- 今天白天看了一些LLM的公众号,有趣
- 贾博想做的是自动化选择特征
2025/8/19
- 给每一类采了实时的数据
2025/8/20
基本啥也没干,贾博给的任务就不合理
通过触觉识别各个物体:
- 去除公共特征:实时检测中无法避免共有特征的出现,不合理。
- 输入视频连续变化:并不是所有物体都可以在传感器上滚动,滚动对壳子产生损伤
- 输入多帧,每帧单独按压:模型获得信息变多,但特征间位置关系不明确,有可能有限帧特征序列相似
- 实例级分类 + 事后聚合(Voting/Logit Sum):每一次触摸(patch/帧)都独立做“实例级”预测,把分类器输出校准为概率 $p(y\mid x_i)$。然后把同一物体的多次触摸在推理阶段做聚合,得到最终类别。
- 原型/多原型度量学习(Prototype Bank):每个类别n内先聚类成K个原型,来新样本对比他和所有n*K个原型比较和哪个最接近,选择前1如果1和2距离差很多,前5多数投票。(推理时只用一张图片)
原来ubuntu输入法的切换是
win+空格
2025/8/27
- 今天尝试了一下多特征的数据直接用来提取特征和分类,效果意外还不错,准确率在80%左右,但原型网络和SVM依然是分不开相似的物体。
- 在实时分类方面,有的时候前两个类别概率差值很小,所以打算输出top3
2025/8/28
- 实习的倒数第二天,已经开始办理离职手续,今天把每一类图片扩充到了400张,用 prototypical 和 svm 同时进行测试,实时的效果比想象中好不少。
- 开了最后一次组会,感觉大家干的事情逐渐进入了正轨,每周开会确实可以获取很多最新的业界资讯,回家肯定就不能这样了,还有点想念了。玩了六天,收收心好好学习了,加油吧。