news 2026/5/10 3:14:28

mirror_fold.py_utils_0207curso

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mirror_fold.py_utils_0207curso

import os

import random

import time

from typing import Dict, Optional, Tuple

import numpy as np

# 后视镜折叠场景配置(请按你的4种分辨率填写)

# key: (width, height) value: (x1, y1, x2, y2) 车辆黑色区域在原图上的像素坐标

MIRROR_FOLD_CAR_BOXES: Dict[Tuple[int, int], Tuple[int, int, int, int]] = {

# (960, 1088): (x1, y1, x2, y2),

# (1280, 720): (x1, y1, x2, y2),

# (1920, 1080): (x1, y1, x2, y2),

# (1440, 1080): (x1, y1, x2, y2),

}

# 若分辨率不在上表中,可用比例兜底(0-1),None 表示不启用兜底

MIRROR_FOLD_CAR_BOX_RATIOS: Optional[Tuple[float, float, float, float]] = None

# 是否启用后视镜折叠增强

MIRROR_FOLD_ENABLE = True

MIRROR_FOLD_PROB = 1.0 # 1.0=每次都做,0.5=50%概率

# 粉色色块颜色

MIRROR_FOLD_PINK_COLOR_BGR = (255, 0, 255) # OpenCV/BGR

MIRROR_FOLD_PINK_COLOR_RGB = (255, 0, 255) # PIL/RGB

# 语义分割标签填充值(按你的数据集语义修改)

FSD_PINK_VALUE = 1 # FSD中粉色区域视为可行驶

RM_PINK_VALUE = 0 # RM中粉色区域视为背景

# Debug保存(预处理后可视化)

MIRROR_FOLD_DEBUG_SAVE = False

MIRROR_FOLD_DEBUG_DIR = "runs/mirror_fold_debug"

MIRROR_FOLD_DEBUG_MAX = 200

MIRROR_FOLD_DEBUG_EVERY = 1

MIRROR_FOLD_DEBUG_ALPHA = 0.45

_debug_counts = {"det": 0, "fsd": 0, "rm": 0}


def _clamp_box(x1: int, y1: int, x2: int, y2: int, w: int, h: int) -> Optional[Tuple[int, int, int, int]]:

x1 = int(max(0, min(x1, w)))

x2 = int(max(0, min(x2, w)))

y1 = int(max(0, min(y1, h)))

y2 = int(max(0, min(y2, h)))

if x2 <= x1 or y2 <= y1:

return None

return x1, y1, x2, y2


def get_car_box_for_shape(width: int, height: int) -> Optional[Tuple[int, int, int, int]]:

car_box = MIRROR_FOLD_CAR_BOXES.get((width, height))

if car_box is None and MIRROR_FOLD_CAR_BOX_RATIOS is not None:

x1r, y1r, x2r, y2r = MIRROR_FOLD_CAR_BOX_RATIOS

car_box = (int(x1r * width), int(y1r * height), int(x2r * width), int(y2r * height))

if car_box is None:

return None

return _clamp_box(*car_box, w=width, h=height)


def build_pink_mask(width: int, height: int, car_box: Tuple[int, int, int, int]) -> Optional[np.ndarray]:

x1, y1, x2, y2 = _clamp_box(*car_box, w=width, h=height) or (None, None, None, None)

if x1 is None:

return None

mask = np.zeros((height, width), dtype=bool)

if x1 > 0:

mask[y1:y2, :x1] = True

if x2 < width:

mask[y1:y2, x2:] = True

return mask


def should_apply_mirror_fold() -> bool:

return MIRROR_FOLD_ENABLE and random.random() < MIRROR_FOLD_PROB


def get_debug_save_path(branch: str, img_path: str, suffix: str = "jpg") -> Optional[str]:

if not MIRROR_FOLD_DEBUG_SAVE:

return None

count = _debug_counts.get(branch, 0)

if count >= MIRROR_FOLD_DEBUG_MAX:

return None

if MIRROR_FOLD_DEBUG_EVERY > 1 and (count % MIRROR_FOLD_DEBUG_EVERY) != 0:

_debug_counts[branch] = count + 1

return None

_debug_counts[branch] = count + 1

base = os.path.splitext(os.path.basename(img_path))[0]

out_dir = os.path.join(MIRROR_FOLD_DEBUG_DIR, branch)

os.makedirs(out_dir, exist_ok=True)

ts = int(time.time() * 1000)

return os.path.join(out_dir, f"{base}_{count:06d}_{ts}.{suffix}")


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 23:32:00

2026年博士论文去AIGC痕迹:10%以下达标攻略

2026年博士论文去AIGC痕迹&#xff1a;10%以下达标攻略 博士论文AI率要求最严格&#xff1a;10%以下&#xff0c;部分985高校甚至要求5%以下。 我一个博士师兄&#xff0c;论文AI率12%&#xff0c;本来以为稳了&#xff0c;结果学校要求10%以下&#xff0c;只差2个点被打回来…

作者头像 李华
网站建设 2026/5/10 12:08:49

2026年检测平台升级后去AIGC痕迹:最新应对方案

2026年检测平台升级后去AIGC痕迹&#xff1a;最新应对方案 2026年开始&#xff0c;知网、维普、万方都在升级AIGC检测算法。 之前能过的论文&#xff0c;现在重新测可能就不行了。我一个学弟的论文&#xff0c;去年12月测12%&#xff0c;今年1月重测变成32%。 先说结论&#…

作者头像 李华
网站建设 2026/5/10 12:08:50

2026年免费去AIGC痕迹工具有哪些?实测对比告诉你

2026年免费去AIGC痕迹工具有哪些&#xff1f;实测对比告诉你 白嫖心理谁都有&#xff0c;我也一样。 论文AI率55%&#xff0c;第一反应就是找免费工具。在网上搜了一圈&#xff0c;试了好几个免费的&#xff0c;结果效果都不理想。 最后还是老老实实花了几十块钱用付费工具&…

作者头像 李华
网站建设 2026/5/10 12:09:33

2026年期刊投稿去AIGC痕迹:核心期刊这样过审

2026年期刊投稿去AIGC痕迹&#xff1a;核心期刊这样过审 投核心期刊&#xff0c;现在多了一道AIGC检测关。 我一个同事辛辛苦苦写了一篇论文投C刊&#xff0c;初审就被拒了。编辑部反馈&#xff1a;AI生成内容过多。他用AI辅助写的综述部分被检测出来了。 先说结论&#xff1…

作者头像 李华
网站建设 2026/5/10 12:09:34

2026年去AIGC痕迹工具怎么选?选购指南避坑

2026年去AIGC痕迹工具怎么选&#xff1f;选购指南避坑 市面上去AIGC痕迹的工具太多了&#xff0c;免费的、收费的、贵的、便宜的&#xff0c;看得眼花缭乱。 选错了工具&#xff0c;花了钱还达不了标&#xff0c;或者术语被改得乱七八糟&#xff0c;更麻烦。 先说结论&#x…

作者头像 李华
网站建设 2026/5/1 15:54:58

2026年去AIGC痕迹达标率99%的工具:用了就能过

2026年去AIGC痕迹达标率99%的工具&#xff1a;用了就能过 最怕花了钱、花了时间&#xff0c;结果AI率还是不达标。 之前用过一个便宜工具&#xff0c;处理完从55%降到28%&#xff0c;学校要求20%以下&#xff0c;还是没过。白折腾。 后来选工具就只看一条&#xff1a;达标率…

作者头像 李华