- 博客(107)
- 收藏
- 关注
原创 main.c_0312_lyp
/ /* TIDL中内存实际是CHW排布,但是以WHC记录,所以查找内存时首先定位正确的通道,再进行WH的偏移 */// printf("端到端车位解码耗时: %d us \n", (int)cur_time);// /* 输出概率 = 存在目标概率 * 类别置信概率 */// printf("检测到%d车位 \n",(int)num);// /* 初始时将指针定位到第一个有效内存位置 */
2026-03-12 16:36:45
245
原创 main.c_raw_0311_lyp
/ /* TIDL中内存实际是CHW排布,但是以WHC记录,所以查找内存时首先定位正确的通道,再进行WH的偏移 */// printf("端到端车位解码耗时: %d us \n", (int)cur_time);// /* 输出概率 = 存在目标概率 * 类别置信概率 */// printf("检测到%d车位 \n",(int)num);// /* 初始时将指针定位到第一个有效内存位置 */
2026-03-11 16:17:17
242
原创 train2_mirrorfold.py——raw0226
state_dict = ckpt['model'].float().state_dict() # to FP32 ckpt里model键对应的值才是模型,训练结束后保存的是float16(中间保存的float32),模型的state_dict是参数,包括可训练参数和register_buffer保存的buffer parameter(Detect的anchor和gird等)
2026-02-26 15:21:37
525
原创 segment0225cursor
如果keep_size=True,则在crop或者pad后再缩放成原来的大小。mask = ImageOps.expand(mask, border=(0, 0, padw, padh), fill=127) # mask不填充0而是填255:类别0不是训练类别,后续会被填-1(但bdd100k数据格式是trainid,为了兼容填255)-1, -1, 0, 1, -1, -1, # Cityscapes标注是id(Bdd100k标注是trian_id不需要转换,仅需把255换成-1忽略)
2026-02-26 07:47:53
601
原创 build_fsd_luyan_from_rm——注释
import osSEP = " " # txt中图片路径和标签路径使用三个空格分隔@dataclass"""一行样本记录。image_path: txt左侧图片路径mask_path: txt右侧标签路径source_txt: 样本来源txt文件line_no: 行号(便于定位异常)"""# 统一路径分隔符,去掉重复斜杠;可选大小写不敏感# fullpath: 用完整路径匹配;basename: 用文件名匹配return n。
2026-02-25 23:05:37
463
原创 build_fsd_luyan_from_rm.py-cursor0225
import osSEP = " " # txt中图片路径和标签路径使用三个空格分隔@dataclassreturn ncontinue= 2:if parent:return idx):hit_rm = 0# 默认保留原始maskif cands:rm = cands[0] # 多命中时取第一个(按rm txt读取顺序)try:continuecontinue。
2026-02-25 23:02:20
454
原创 cursor日志0225
你这段手改里有一个关键错误:mask_np[pink_mask] = FSD_PINK_VALUE 在 RM 分支里不对,应该是 RM_PINK_VALUE。
2026-02-25 22:51:13
491
原创 yolov5s_custom_seg_big.yaml 0225
[17, 20, 23], 1, Detect, [nc, anchors]], # Detect(P3, P4, P5) 必须在最后一层, 原代码很多默认了Detect是最后, 并没有全改。#[[4, 19], 1, SegMaskLab, [n_segcls, 3, 256, False]], # 语义分割头通道配置256,[]内n为3。#[[16, 19, 22], 1, SegMaskPSP, [n_segcls, 3, 256, False]], # 语义分割头通道配置256。
2026-02-25 17:21:20
575
原创 cursor日志0224
我运行了你的最新代码,三个分支保存下来的debug图片在@三个分支debug图片 下面,这是我在公司运行的代码后对着公司电脑的屏幕拍照后截图获得的,所以你不用太在意图片大小,关注图片内容即可。我发现存在下列问题:1. @det-psd分支.jpg psd分支的输出上可以看导,检测框延伸到了粉红色mask区,理论上粉红色区域是不包含任务物体和车位的,这样是否会影响训练?2. @fsd分支.jpg fsd分支的可视化结果里为什么mask变成灰色的而不是粉红色?
2026-02-24 21:29:57
617
原创 SegmentationDataset.py_0224_cursor
如果keep_size=True,则在crop或者pad后再缩放成原来的大小。mask = ImageOps.expand(mask, border=(0, 0, padw, padh), fill=127) # mask不填充0而是填255:类别0不是训练类别,后续会被填-1(但bdd100k数据格式是trainid,为了兼容填255)-1, -1, 0, 1, -1, -1, # Cityscapes标注是id(Bdd100k标注是trian_id不需要转换,仅需把255换成-1忽略)
2026-02-24 21:23:16
475
原创 dataset.py_0224_cursor
self.mosaic = self.augment and not self.rect # load 4 images at a time into a mosaic (only during training) 开rect就不可mosaic。# labels[:, 5:13] = (x1,y1,x2,y2,x3,y3,x4,y4) 角点,<0 视为无效。# #左右镜像的时候,左眼、右眼, 左嘴角、右嘴角无法区分, 应该交换位置,便于网络学习。
2026-02-24 21:22:08
524
原创 mirror_fold.py_0224_cursor
MIRROR_FOLD_APPLY_TO_VAL = True # 验证阶段也应用同样增强。MIRROR_FOLD_PROB = 1.0 # 1.0=每次都做,0.5=50%概率。# 若分辨率不在上表中,可用比例兜底(0-1),None 表示不启用兜底。FSD_PINK_VALUE = 1 # FSD中粉色区域视为可行驶。# 当既没有分辨率配置,也无法从图像中推断车辆区域时的兜底框(比例)RM_PINK_VALUE = 0 # RM中粉色区域视为背景。# Debug保存(预处理后可视化)
2026-02-24 21:21:36
582
原创 detect_video.py-0224
{255,0,255},{0,255,255},{127,0,0},{0,127,0},{0,0,127}, // 5人行横道预告标志线,6减速带,7指示直行,8坡道导流线,9轮挡,# uint8_t color[14][3]={{0,0,0},{255,0,0},{0,255,0},{0,0,255},{255,255,0}, // 0背景,1车道线,2停车位线,3禁止停车,4斑马线。// 10车位角点,11停止线,12立柱,13路沿。
2026-02-24 16:29:16
603
原创 train2_mirrorfold.py——0224
state_dict = ckpt['model'].float().state_dict() # to FP32 ckpt里model键对应的值才是模型,训练结束后保存的是float16(中间保存的float32),模型的state_dict是参数,包括可训练参数和register_buffer保存的buffer parameter(Detect的anchor和gird等)
2026-02-24 16:27:49
587
原创 mult_yolov5_post_copy.c_0222cursor
* TIDL中内存实际是CHW排布,但是以WHC记录,所以查找内存时首先定位正确的通道,再进行WH的偏移 *//* 如果该目标框与已经accept的目标框iou过大,则确定为冗余目标框 *//* 输出概率 = 存在目标概率 * 类别置信概率 *//* 遍历查找类别内存,找到最大的置信度进行赋值 *//* 如果该目标框与所有accept目标框的iou都较小,则接受该目标框 *//* 找到正确conf内存通道位置,并做hw偏移 *//*计算车位属性的值*//* 第一个目标是可信的 */
2026-02-22 20:18:32
596
原创 main.c_0222cursor
/ printf("输出张量[%d] - ioBufDesc维度: outWidth=%d, outHeight=%d, outNumChannels=%d\n",// printf("输出张量[%d] - tensor维度: num_dims=%zu, sizes=[%zu, %zu, %zu, %zu]\n",zh_idx < 5;// printf("=== 开始处理YOLOv5检测头 ===\n");// printf("=== 结束维度信息输出 ===\n\n");
2026-02-22 20:17:57
793
原创 0211下位机输出
端到端车位解码耗时: 1075 us。端到端车位解码耗时: 1470 us。端到端车位解码耗时: 1327 us。端到端车位解码耗时: 1547 us。端到端车位解码耗时: 1278 us。端到端车位解码耗时: 410 us。端到端车位解码耗时: 913 us。端到端车位解码耗时: 944 us。端到端车位解码耗时: 515 us。端到端车位解码耗时: 582 us。端到端车位解码耗时: 867 us。端到端车位解码耗时: 494 us。完成图像张数: 10。完成图像张数: 11。
2026-02-11 14:07:14
401
原创 main.c_cursor0210
/ printf("输出张量[%d] - ioBufDesc维度: outWidth=%d, outHeight=%d, outNumChannels=%d\n",// printf("输出张量[%d] - tensor维度: num_dims=%zu, sizes=[%zu, %zu, %zu, %zu]\n",zh_idx < 5;// printf("=== 开始处理YOLOv5检测头 ===\n");// printf("=== 结束维度信息输出 ===\n\n");
2026-02-10 20:26:35
350
原创 mult_yolov5_post_copy.c_cursor0210
* TIDL中内存实际是CHW排布,但是以WHC记录,所以查找内存时首先定位正确的通道,再进行WH的偏移 *//* 如果该目标框与已经accept的目标框iou过大,则确定为冗余目标框 *//* 输出概率 = 存在目标概率 * 类别置信概率 *//* 遍历查找类别内存,找到最大的置信度进行赋值 *//* 如果该目标框与所有accept目标框的iou都较小,则接受该目标框 *//* 找到正确conf内存通道位置,并做hw偏移 *//*计算车位属性的值*//* 第一个目标是可信的 */
2026-02-10 19:21:39
381
原创 PSD 车位可视化异常总结
下面是截至目前为止的完整排查进度总结,并对“下位机 PSD 车位可视化异常”的根因作出阶段性分析,便于对外汇报与后续推进。
2026-02-10 19:20:40
394
原创 0210下位机输出
端到端车位解码耗时: 1116 us。端到端车位解码耗时: 1077 us。端到端车位解码耗时: 7991 us。端到端车位解码耗时: 3371 us。端到端车位解码耗时: 6311 us。端到端车位解码耗时: 959 us。端到端车位解码耗时: 872 us。端到端车位解码耗时: 554 us。端到端车位解码耗时: 489 us。端到端车位解码耗时: 624 us。完成图像张数: 10。
2026-02-10 16:50:53
348
原创 SegmentationDataset.py_0209cursor
如果keep_size=True,则在crop或者pad后再缩放成原来的大小。mask = ImageOps.expand(mask, border=(0, 0, padw, padh), fill=127) # mask不填充0而是填255:类别0不是训练类别,后续会被填-1(但bdd100k数据格式是trainid,为了兼容填255)-1, -1, 0, 1, -1, -1, # Cityscapes标注是id(Bdd100k标注是trian_id不需要转换,仅需把255换成-1忽略)
2026-02-09 23:07:59
532
原创 datasets.py_0209_cursor
self.mosaic = self.augment and not self.rect # load 4 images at a time into a mosaic (only during training) 开rect就不可mosaic。self.mosaic = self.augment and not self.rect # load 4 images at a time into a mosaic (only during training) 开rect就不可mosaic。
2026-02-09 23:07:19
609
原创 utils/mirror_fold.py_cursor0209
key: (width, height) value: (x1, y1, x2, y2) 车辆黑色区域在原图上的像素坐标。MIRROR_FOLD_APPLY_TO_VAL = True # 验证阶段也应用同样增强。MIRROR_FOLD_PROB = 1.0 # 1.0=每次都做,0.5=50%概率。FSD_PINK_VALUE = 1 # FSD中粉色区域视为可行驶。RM_PINK_VALUE = 0 # RM中粉色区域视为背景。# 后视镜折叠场景配置(请按你的4种分辨率填写)
2026-02-09 23:06:39
274
原创 cursor日志
下面给你一个针对后视镜折叠场景的可落地方案,目标是在缺少标注的前提下优先提升 FSD 分支效果,并尽量不破坏 PSD/RM 的现有性能。方案分为数据、训练、评估与落地四个部分,尽量贴合你现在的工程结构(train2.py 多任务训练)。
2026-02-07 16:26:45
528
原创 SegmentationDataset.py_cursor0207
如果keep_size=True,则在crop或者pad后再缩放成原来的大小。mask = ImageOps.expand(mask, border=(0, 0, padw, padh), fill=127) # mask不填充0而是填255:类别0不是训练类别,后续会被填-1(但bdd100k数据格式是trainid,为了兼容填255)-1, -1, 0, 1, -1, -1, # Cityscapes标注是id(Bdd100k标注是trian_id不需要转换,仅需把255换成-1忽略)
2026-02-07 16:23:15
373
原创 datasets.py_0207cursor
self.mosaic = self.augment and not self.rect # load 4 images at a time into a mosaic (only during training) 开rect就不可mosaic。self.mosaic = self.augment and not self.rect # load 4 images at a time into a mosaic (only during training) 开rect就不可mosaic。
2026-02-07 16:22:05
328
原创 mirror_fold.py_utils_0207curso
key: (width, height) value: (x1, y1, x2, y2) 车辆黑色区域在原图上的像素坐标。MIRROR_FOLD_PROB = 1.0 # 1.0=每次都做,0.5=50%概率。# 若分辨率不在上表中,可用比例兜底(0-1),None 表示不启用兜底。FSD_PINK_VALUE = 1 # FSD中粉色区域视为可行驶。RM_PINK_VALUE = 0 # RM中粉色区域视为背景。# 后视镜折叠场景配置(请按你的4种分辨率填写)# 是否启用后视镜折叠增强。
2026-02-07 16:21:29
310
原创 mult_yolov5_post_copy.c_cursor_0206
* TIDL中内存实际是CHW排布,但是以WHC记录,所以查找内存时首先定位正确的通道,再进行WH的偏移 *//* 如果该目标框与已经accept的目标框iou过大,则确定为冗余目标框 *//* 输出概率 = 存在目标概率 * 类别置信概率 *//* 遍历查找类别内存,找到最大的置信度进行赋值 *//* 如果该目标框与所有accept目标框的iou都较小,则接受该目标框 *//* 找到正确conf内存通道位置,并做hw偏移 *//*计算车位属性的值*//* 第一个目标是可信的 */
2026-02-06 22:16:58
319
原创 SegmentationDataset.py_0206
如果keep_size=True,则在crop或者pad后再缩放成原来的大小。mask = ImageOps.expand(mask, border=(0, 0, padw, padh), fill=127) # mask不填充0而是填255:类别0不是训练类别,后续会被填-1(但bdd100k数据格式是trainid,为了兼容填255)-1, -1, 0, 1, -1, -1, # Cityscapes标注是id(Bdd100k标注是trian_id不需要转换,仅需把255换成-1忽略)
2026-02-06 17:00:15
330
原创 train2.py_0206
state_dict = ckpt['model'].float().state_dict() # to FP32 ckpt里model键对应的值才是模型,训练结束后保存的是float16(中间保存的float32),模型的state_dict是参数,包括可训练参数和register_buffer保存的buffer parameter(Detect的anchor和gird等)
2026-02-06 16:58:09
272
原创 下位机输出0206
端到端车位解码耗时: 1091 us。端到端车位解码耗时: 1203 us。端到端车位解码耗时: 727 us。端到端车位解码耗时: 451 us。端到端车位解码耗时: 780 us。端到端车位解码耗时: 408 us。端到端车位解码耗时: 432 us。端到端车位解码耗时: 496 us。端到端车位解码耗时: 562 us。端到端车位解码耗时: 997 us。完成图像张数: 10。
2026-02-06 11:30:06
605
原创 mult_yolov5_post_copy.c_cursor_0205
* 第一个目标是可信的 *//* 用于循环待验证序列 */int iter;/* 用于循环可信序列 */++iter) {/* 如果是同一个类别才进行IoU判断 *//* 如果该目标框与已经accept的目标框iou过大,则确定为冗余目标框 */break;/* 如果该目标框与所有accept目标框的iou都较小,则接受该目标框 */right--;left++;for (i = 0;++i) {
2026-02-05 20:51:35
669
原创 0205下位机输出
端到端车位解码耗时: 1093 us。端到端车位解码耗时: 292 us。端到端车位解码耗时: 541 us。端到端车位解码耗时: 725 us。端到端车位解码耗时: 563 us。端到端车位解码耗时: 314 us。端到端车位解码耗时: 893 us。端到端车位解码耗时: 392 us。端到端车位解码耗时: 644 us。端到端车位解码耗时: 910 us。完成图像张数: 10。
2026-02-05 14:52:48
545
原创 average_weights.py
python average_weights.py --dir "E:\同致电子\动态分辨率\runs\train\exp\weights" --output "E:\同致电子\动态分辨率\avg.pt"如果你希望只平均指定的几个 epoch(不是目录中全部),告诉我你想按什么规则筛选(文件名、epoch 号列表、正则),我可以加筛选参数。为了使的平均后的模型效果最好,--use-ema和--strict-keys要开启吗。最稳妥的组合(同结构同数据):--use-ema --strict-keys。
2026-02-03 21:13:46
631
原创 main.c_cursor_0202
/ printf("输出张量[%d] - ioBufDesc维度: outWidth=%d, outHeight=%d, outNumChannels=%d\n",// printf("输出张量[%d] - tensor维度: num_dims=%zu, sizes=[%zu, %zu, %zu, %zu]\n",zh_idx < 5;// printf("=== 开始处理YOLOv5检测头 ===\n");// printf("=== 结束维度信息输出 ===\n\n");
2026-02-02 20:28:25
593
原创 draw_tensor2psd_v4.py
cv2.FONT_HERSHEY_PLAIN, 1.5, (0, 255, 0),2) #是否VIP车位。cv2.FONT_HERSHEY_PLAIN, 1.5, (0, 255, 0),2) #是否残疾人车位。cv2.FONT_HERSHEY_PLAIN, 1.5, (0, 255, 0),2) #是否阶梯形车位。cv2.FONT_HERSHEY_PLAIN, 1.5, (0, 255, 0),2) #是否女性车位。# 模型输入尺寸(W, H),用于把模型坐标缩放回原图。
2026-02-02 17:25:31
303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅