比如:
['A','A','A''A','A','C','A','A','A','A','C','A','C','C','C','C','C','C','C']
这个列表里面的第一个C是错误的数据,我称之为“噪点”。
需要找出第一个和第二个C并修改成A,同时不影响后半部分的C。不知道有没有好的办法?
使用face-recognition做视频人脸识别,有时很少的几帧会识别错误,A 识别成了 C ,但是一个片段绝大部分还是能正确识别的。目前需要修正这些识别错误的人脸,根据前后几帧做出推断。
上面这个例子,恰巧同一块区域先出现了 A ,镜头切换后 C 的脸也在同一块区域。
|  |      1Kirscheis      2022-07-09 07:41:44 +08:00 via Android  1 现成的算法不好改的话,对 confidence 做 bilateral filter 试试 以及连续跟踪目标是研究得挺成熟的专门的算法,叫做 object tracking 或者 target tracking ,你可以找找,我记得有些算法有直接套 yolo 的实现,可以网上下载代码先试试 | 
|  |      2tramm      2022-07-09 08:16:11 +08:00  1 卡尔曼滤波算法? | 
|  |      3shinyy      2022-07-09 08:22:40 +08:00 via iPhone  1 3*1 的邻域 中间值修正为邻域里数量多的值就可以了 | 
|  |      4codehz      2022-07-09 08:42:57 +08:00 via iPhone  1 听起来可以滑动窗口,窗口大小为 4 ,然后发现中间两个至少一个与周围不同的,就修复,方式为复制左侧活着右侧的值覆盖 (所以 A A A B C C C 这种情况怎么处理) | 
|      5AyaseEri      2022-07-09 12:27:05 +08:00  1 理论上,这应该是椒盐噪声,中值滤波能一定程度上解决问题 | 
|  |      6LeeReamond      2022-07-09 12:32:06 +08:00  1 图像学上解决这种问题一般用以下流程,比如 canny 边缘检测 1.卷积,你这个时间序列的话可能跑核=3 的一维卷积 2.滞后边界跟踪,经过 1 以后,仅有左右两边都是 C 的 C 点,才会是 C 点,可以认为这是个强 C 点,而卷积后改值了的 C 点就是弱 C 点,如果弱 C 点与强 C 点连接则将其调整为强 C 点 | 
|  |      7documentzhangx66      2022-07-09 14:38:14 +08:00  1 简单的平滑算法就可以检测甚至过滤掉这些噪点。 | 
|      8nightwitch      2022-07-10 03:12:46 +08:00 via Android  1 这个是做连续检测常见的问题,常规的思路就是做利用之前的识别结果在时序上做移动平均。 可以找点 object tracking 的代码看看 |