williamfzc / stagesepx

detect stages in video automatically
MIT License
432 stars 125 forks source link

cutter.cut与CropHook没有很好配合工作 #154

Closed mmjdm closed 3 years ago

mmjdm commented 3 years ago

1、我只想分析下面这一部分

image2021-2-2_14-29-43

2、CropHook内部逻辑是除目标范围,其他数据都改成0 3、cutter.cut是按照「block」进行切割图片分别计算ssim等三个值,下面是具体日志 image

问题:如果我的目前范围非常小,那么就没法准确判断变化程度,以block=2为例,如下面的情况,338和339应该变化程度很大,但计算ssim最小也是0.99(右下部分),其他三个部分(左上、左下、右上)都是1(因为都是0)

image

image2021-2-2_14-30-50

改动:CropHook的返回改成,仅返回目标范围的信息(仅是一个方案,我本地还在调试,现在这么改后续流程有报错,还没弄好):frame.data[height_range[0]:height_range[1], width_range[0]:width_range[1]]

williamfzc commented 3 years ago

原来的 crophook 跟 ignorehook的原生设计是不希望影响原来图的大小,以避免后续在训练阶段之类的发生不必要的问题。

改动:CropHook的返回改成,仅返回目标范围的信息

这个方案可以达到你想要的效果吗?

mmjdm commented 3 years ago

修改后可以准确计算了 image

目前有个问题:计算「scores = self._model.decision_function(pic_object)[0]」时,我猜应该是由于图片尺寸不同现在报错了,需要处理,我也正在解决,思路是:「pick_and_save」返回的目录内的图片应该也是跟裁剪后的尺寸一样的

mmjdm commented 3 years ago

「pick_and_save」已经加了保存同样尺寸图片的功能,还在调试

image

mmjdm commented 3 years ago

修改后可以准确计算了 image

目前有个问题:计算「scores = self._model.decision_function(pic_object)[0]」时,我猜应该是由于图片尺寸不同现在报错了,需要处理,我也正在解决,思路是:「pick_and_save」返回的目录内的图片应该也是跟裁剪后的尺寸一样的

image

mmjdm commented 3 years ago

原来的 crophook 跟 ignorehook的原生设计是不希望影响原来图的大小,以避免后续在训练阶段之类的发生不必要的问题。

改动:CropHook的返回改成,仅返回目标范围的信息

这个方案可以达到你想要的效果吗?

可以的,可以看下我新加的一些信息

williamfzc commented 3 years ago

理论上这样可以的话,跟block提高的效果基本是一样的; 原功能里将block调整到 3 4 或以上 可以吗

mmjdm commented 3 years ago

理论上这样可以的话,跟block提高的效果基本是一样的; 原功能里将block调整到 3 4 或以上 可以吗

确实是一个办法,临时有事,我晚点试试,效果应该不会太好,毕竟不能准确的分割到「仅包含剪裁的范围」,如果「threshold=0.99」,干扰会比较大

williamfzc commented 3 years ago

Closed Due to Inactivity.