﻿========================================
  素材归档 · 自动识别违章 使用说明
========================================


【一句话】
  无人机落地后，把 SD 卡里的照片、视频拖进电脑端
  「素材归档」，系统自动找三样东西：
  没戴安全帽、没穿反光背心、没系安全带。
  如果你在画面上圈了塔基警戒圈，未戴帽的人进了圈，
  直接定为一类违章、标记"人为危险因素"。
  结果都进「违章台账」，按现有规则定级扣分；
  配了推送，还会直接发到管理员的微信群或手机上。


========================================
  一、怎么用（三步，不用圈也能跑）
========================================

  1) 电脑端左侧点「素材归档」
  2) 把素材拖进虚线框（或点「选择文件」）
     · 支持 JPG / PNG 照片
     · 支持 MP4 / MOV 视频（按设定间隔自动抽帧）
     · 可以一次选一整个文件夹
  3) 右边选好项目，等进度跑完

  跑完会显示：处理了多少帧、检出几条违章。
  勾着「识别到违章自动写台账」时，结果已经写进
  「违章台账」了，进去就能看到，可以直接推考核。

  想让系统判"人有没有靠近铁塔"，多做一步：
  见下面第三节，圈一次警戒范围。不圈就只判安全帽。


========================================
  二、识别什么、不识别什么（重要，请先看）
========================================

  ✅ 能识别
     · 人有没有戴安全帽
     · 人有没有穿反光背心
     · 人有没有系安全带（高空作业用，见第四节）
     · 画面里有几个人
     · 人有没有进你圈的塔基警戒范围（见第三节）

  ❌ 不能识别
     · 吸烟、塔上抛物、基坑无围栏、未挂接地线
       （这些要另外训练模型，现有模型没学过）
     · 高空航拍里只有几十个像素的人（下面说）
     · "离铁塔 10 米"这种精确物理距离（原因见第三节）

  ⚠ 关于拍摄高度 —— 这条决定成败
     模型是在地面监控视角的数据上训练的。
     无人机飞到 50~120 米，画面里一个人可能只有
     二三十个像素，模型认不出来，会当成"没检出人员"。

     实测有效的范围是：
       · 低空 10~30 米，人占画面 1/20 以上 —— 基本能认
       · 30~50 米 —— 时好时坏，取决于光线和角度
       · 50 米以上 —— 基本认不到

     所以：想用这个功能，巡检时把飞行高度压到 30 米以内，
     或者专门飞一段低空补拍。高空的大范围全景更适合
     看整体进度，不适合用来抓违章。

  ⚠ 还有两个已知误判，请知悉：
     · 戴深色布帽、遮阳帽、安全帽套 —— 容易被认成"已戴"
     · 人脸特写（离镜头很近）—— 会被认成"已戴"，因为模型
       把头发当成了帽子。这个模型只适合看工地远近景，
       不适合当人脸识别用。


========================================
  三、塔基警戒圈：判"人有没有靠近铁塔"
========================================

  【先说清楚为什么不自动算 10 米】

    一张照片没有深度信息。要把"像素"换成"米"，得知道
    每个像素代表多少米，而这取决于飞行高度、镜头焦距、
    俯仰角、有没有变焦。同一个铁塔，30 米拍的圈和
    50 米拍的圈在画面上完全不一样大。

    硬算出来的数字误差能到 ±50%，比不报更危险 ——
    工程师看到"9.8 米"会信它，实际上可能是 15 米。

    所以改成这个办法：你在画面上圈一次"塔基 10 米范围"。
    圈多大，是你的现场判断，这才是真正可信的 10 米。
    程序只做一件确定的事：这个未戴帽的人，有没有踩进圈。

  【怎么圈】

    1) 「素材归档」右侧，勾上「启用塔基警戒圈」
    2) 点「圈定警戒范围」
    3) 点左上角「选一张该塔位的照片」
       · 建议用这一架次起飞后、能看见塔全貌的第一张
       · 也可以直接把照片拖进弹窗
       · 选视频也行，会自动取第一帧
    4) 在画面上沿着塔基外围依次点，点出 10 米范围的边界
       · 点错了按「撤销」，或右键退一个点
       · 至少 3 个点，一般 5~8 个点就够
       · 双击画面，或点「闭合并启用」
    5) 勾着「记住这个圈，下次沿用」，同一个塔位以后
       不用重画，打开就是上次的圈

  【判成什么】

    未戴安全帽 + 进入圈内
      → 一类违章 / 6 分 / 500 元 / 立即停工教育
      → 台账上多一个红色标签「人为危险因素」
      → 备注写：检出 N 名未佩戴安全帽人员进入塔基警戒圈

    未戴安全帽 + 在圈外
      → 二类违章 / 3 分 / 200 元 / 现场纠正并登记
      → 和没圈的时候一样

    戴了安全帽的人进圈
      → 不算违章，备注会写"其中 N 处在圈内（已合规）"

  【圈必须重画的三种情况】

    1) 换了一个塔位 —— 塔在画面里的位置完全变了
    2) 换了一个飞行高度 —— 圈的大小对不上了
    3) 飞机在移动中拍的画面 —— 视角一直在变，
       圈只在悬停那段是准的

    说白了：这个圈对"定点悬停"和"固定机位（塔吊球机、
    基坑摄像头）"最准；对一路飞一路拍的航线素材，
    只能覆盖和底图视角接近的那几帧。别的帧圈会漂，
    这时候就要靠人工在台账上复核。

  【缩略图会画出来】

    识别结果的小图上会叠加：
      · 黄色虚线 = 你圈的警戒范围
      · 红色框 = 未戴安全帽的人
      · 绿色框 = 已戴安全帽的人
    为什么报警，一眼就能看出来，不用猜。


========================================
  四、反光背心 / 安全带：模型能做什么
========================================

  【反光背心：可用，但要有心理准备】

    模型单独有一个"没穿反光背心"的类别，也认得"穿着背心"。
    实测下来，它的强项是"确认穿了"，弱项是"确认没穿"：

      · 一排人站在那儿，数出 5 个人穿了背心 —— 可信
      · 画面里确实有人没穿，它未必报得出来 —— 经常漏

    原因是公开数据里"没穿背心"的样本只有两百多张，
    "穿背心"的有一千多张。样本少的类别，模型学不牢。

    所以这条判定做成"宁可漏、不误报"：
      · 模型明确报了"没穿反光背心"，才写成违章
      · 只是"检出人但没配到背心框"的，只写进备注
        "N 人疑似未穿反光背心（需人工复核）"，不入台账
    代价是台账干净了，但漏报得人工补看。

  【安全带：能用，但只在高空、近景才可信】

    模型里带"未系安全带"这一类，判据是画面里出现
    "人身上没有安全带具"的特征。它的训练素材主要是
    高空坠落防护场景，所以：
      · 塔上作业、人占画面够大（半身以上）—— 可以参考
      · 地面人员、远景 —— 一般不触发，也不会乱报
      · 人只占几十像素 —— 安全带就是一条十几像素的带子，
        模型看不出来，一律不判

    我手上没有你们塔上作业的真实素材，这一条给不出
    实测准确率。定位是"提示级"：先用它提醒安全员去
    复核，确认无误再推考核，别直接当处罚依据。

  【什么时候这两条最准】

    · 安全员用手机在地面拍的近景（人占画面 1/5 以上）
    · 塔下仰拍，能看清人身上穿的是什么
    · 光线正常，没有逆光剪影
    · 一个人一张图，别让一堆人挤成一片

  【想更准怎么办】

    拿你们现场的照片（违章和不违章的各两三百张）重新
    训一版模型，把塔上作业、深色工装、雨衣外套这些
    场景喂进去，这一版才真正贴你们的工地。

  【判成什么】

    未穿反光背心
      → 二类违章 / 3 分 / 200 元 / 现场纠正并登记

    未系安全带
      → 一类违章 / 6 分 / 500 元 / 立即停工教育

    同一个人同时有几项（比如没戴帽又没系安全带），
    台账只写最严重的那条，其余写进备注，不重复扣分。


========================================
  五、结果怎么看
========================================

  「违章台账」里每条记录都带这些信息：

    · 类型：未戴安全帽
    · 等级/分值/罚款：按台账原有规则自动带出
      · 圈外：二类 / 3 分 / 200 元 / 现场纠正并登记
      · 圈内：一类 / 6 分 / 500 元 / 立即停工教育
    · 标签：人为危险因素（只有圈内才出现）
    · 备注：检出几处、几处进了圈、置信度
      （备注是给人复核用的，不写进考核依据）
    · 来源：uav（无人机）
    · 批次号：同一批素材共用一个号，方便回溯

  认错了怎么办：
    在违章台账里直接点删除即可，删除会同时删掉图片。
    AI 只是初筛，最终定性还是要人看一眼 —— 这是设计如此，
    不是缺陷。台账要扣钱，机器不能自己说了算。


========================================
  六、视频抽帧是怎么算的
========================================

  默认「每 2 秒 1 帧」：
    10 分钟视频 → 300 帧 → 大约 8~10 分钟跑完

  想更快：选「每 5 秒 1 帧」
  怕漏掉短暂画面：选「每 1 秒 1 帧」，时间翻倍

  单个视频最多抽 400 帧（约 13 分钟@2秒）。
  更长的视频建议先剪成几段，或者用 5 秒间隔。


========================================
  七、常见问题
========================================

  Q: 圈了，怎么还是判二类？
  A: 说明模型认定的那个人，位置在圈外。常见原因：
     圈画小了、人站在圈边、飞机视角和底图不一致。
     打开缩略图看黄圈和红框的相对位置，一眼就明白。

  Q: 每个塔位都要重画圈吗？
  A: 是。塔在画面里的位置变了，旧圈就没意义。
     同一个塔位连续作业时，勾着「记住」就不用重画。

  Q: 能不能让系统自己算 10 米？
  A: 单张照片算不出来，原因见第三节开头。
     如果一定要精确距离，得上激光测距或双光（可见光+
     深度）设备，那是另一套硬件，不是软件能补的。

  Q: 提示「浏览器无法解码」
  A: 视频是 H.265 编码（大疆部分机型默认 H.265）。
     两个办法：在相机设置里改成 H.264 再飞；
     或者用剪辑软件导出成 H.264 的 MP4。

  Q: 提示「引擎未就绪 · 未找到模型」
  A: 说明 ai\models 目录下的模型文件不见了。
     检查是不是被杀毒软件隔离了，或者压缩包没解压完整。

  Q: 识别很慢
  A: 用的是纯 CPU 推理，没有显卡加速，一张约 0.6~1 秒。
     1000 张照片大概 20~25 分钟，建议下班前挂着跑。

  Q: 会不会把照片传到网上？
  A: 不会。模型就在你自己电脑上跑，全程断网也能用，
     照片不出这台机器。圈的坐标只存在这台电脑的浏览器里。

  Q: 能加新的识别项吗
  A: 能。换一个模型文件放进 ai\models 就行，不需要改程序。
     但需要有对应的训练数据 —— 安全带、反光衣、吸烟
     这些都要拿你们现场的照片重新训练。
