
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
有时目标检测由于数据集类别不均衡,类别自身分类难易度差距,以及数据集自身标注问题的缘由,导致有的类别能很快收敛,而有的类别迟迟难以收敛,可能出现有的类别已经过拟合而有的类别仍欠拟合的现象。直接改为focal loss难例挖掘又由于标注自身的问题往往不见得有更好的效果。同时由于一般检测时对于不同类别重视程度不同,所以可手动根据类别的重要性和实际的识别效果对分类损失bceloss进行加权,调整难分类别
转换测试使用test_trans程序,更新其中的belt_camera_Rotation(外参R),belt_camera_Trans(外参T),cameraMat(内参K),使用Point3d camera2belt(Point2d point, double z_c,int encoder_count=0)函数,z_c填相机安装高度zc,encoder_count填0,point填标定板角点像
配置好sam2环境后,将下述程序放到sam2文件中即可,如果需要扩展框则使用expand_ratio参数。转换结果如下原数据集转换后数据集用sam2将yolo目标检测数据集里面的目标抠图抠出来则可用下述程序,抠出来的图为透明背景,若需要腐蚀掉有背景的边缘则用erode_pixels参数。抠图结果如下
但去了实际现场,发现由于角度限制,机械臂没法正面拍,只能侧着拍。而侧着拍时,就遇到了一个问题,那就是由于是斜着拍的,里面的拍不到,提取边缘的时候就会把螺母的半个外侧和半个内侧给提出来,如图所示,成了一个椭圆,就无法提取到准确位置来让机械臂工作。这时就考虑到螺母反光的问题,外侧反光呈白色,内侧则呈黑色,正好深度相机也能获取对应彩色图,就在原有深度图基础上,再获取对应的彩色图,简单用彩色图的灰度阈值把
数据集就按照正常的彩色图和深度图(单通道)来,train.txt和val.txt中写入自己的数据集图片(彩色图路径 深度图路径),分别放在metric_depth/dataset/splits/vkitti2和metric_depth/dataset/splits/kitti中,如图所示。我这里训练完成后图像有棋盘格状伪影,查阅相关资料是ConvTranspose2d的原因,在dpt.py中将其替

以yolov10文件中加入对比度数据增强变换为例,在ultralytics\data\augment.py里面的RandomHSV类插入对比度变换代码。再修改RandomHSV(hgain=hyp.hsv_h, sgain=hyp.hsv_s, vgain=hyp.hsv_v)这一句为。最后在default.yaml里面加入contrast: 0.5参数即可加入对比度数据增强。数据增强结果如下,可
最终把上述程序输出的相机内参,基线距离以及两张极线校正后的图作为FoundationStereo中run_demo.py程序的输入,得到输出深度图和点云结果。之后写个程序利用标定得到的双目相机参数对双目图像进行极线矫正,作为foundationstereo的输入,并输出校正后得到的相机内参和基线距离。可以看出,模型对室内场景,以及瓶子这种生活中较为常见的物体深度估计较好,对室外场景、生活中较罕见物
用官方的代码进行绝对深度微调,官方微调的是编码器这块,我这边可能是数据集小了,效果并不理想。但不微调直接用原模型跑出的相对深度图效果还是很好的,按理说模型应当是有微调出一个好的绝对深度图的潜力,所以就考虑用lora微调一下解码器这块。又由于depth-anything-v2的模型结构是编码器Dinov2提取特征,输出四个特征图,四个特征图再各经过一个1*1的project卷积层到达dpt解码器处。

调试可得报错位置在断点这一句,就是last没加载成功。last是由last=Path(check_file(opt.resume) if isinstance(opt.resume, str) else get_latest_run())得到,opt.resume就是train.py里面我们给传的参,只要传的参改成last.pt的具体位置就行。







