STSTNet icon indicating copy to clipboard operation
STSTNet copied to clipboard

data preprocessing

Open HZIH opened this issue 3 years ago • 12 comments

Hi, I am wondering how to preprocess the raw data and transform them into norm_u_v_os. Can you give me some advice or the preprocess code to this?

HZIH avatar Dec 19 '22 01:12 HZIH

对 而且他这个我看norm_u_v_os这个文件输进去的都是一张光流图片,但是这个模型是要舒输入,水平,垂直,和光应变的,作者给的呢个,不知道他给的光流图片是不是从给的呢个网址得到的, 我在网址上运行了原始数据集起始帧和顶点帧,得到了光流图但是与norm_u_v_os对应的数据集的照片的光流图不同

love-coast avatar Oct 18 '23 09:10 love-coast

对 而且他这个我看norm_u_v_os这个文件输进去的都是一张光流图片,但是这个模型是要舒输入,水平,垂直,和光应变的,作者给的呢个,不知道他给的光流图片是不是从给的呢个网址得到的, 我在网址上运行了原始数据集起始帧和顶点帧,得到了光流图但是与norm_u_v_os对应的数据集的照片的光流图不同

love-coast avatar Oct 18 '23 09:10 love-coast

你好,我想知道如何预处理原始数据并将其转换为norm_u_v_os。 您能给我一些建议或预处理代码吗?

对他还有这个我看norm_u_v_os这个文件输出进去的都是一张光流图,但是这个模型是要舒输入,水平,垂直,和光应变的,作者给的呢个,不知道他给的光流图是不是从给的呢个网址得到的,我在网址上得到了原始数据集起始帧和运行上游帧,得到了光流图但是与norm_u_v_os对应的数据集照片的光流图不同

love-coast avatar Oct 18 '23 09:10 love-coast

你好,我想知道如何预处理原始数据并将其转换为norm_u_v_os。 您能给我一些建议或预处理代码吗?

能给个qq或者微信请教一下这篇论文的数据预处理的一些问题吗?

love-coast avatar Oct 18 '23 09:10 love-coast

你好,我想知道如何预处理原始数据并将其转换为norm_u_v_os。 您能给我一些建议或预处理代码吗?

能给个qq或者微信请教一下这篇论文的数据预处理的一些问题吗?

我已经不做这个啦哈哈哈,但是我可以给你我的code

HZIH avatar Oct 20 '23 07:10 HZIH

import cv2
import numpy as np

def tvl1_ofcalc(path1, path2):
    img1 = cv2.cvtColor(cv2.imread(path1), cv2.COLOR_BGR2GRAY)
    img2 = cv2.cvtColor(cv2.imread(path2), cv2.COLOR_BGR2GRAY)

    flow = cv2.optflow.DualTVL1OpticalFlow_create()
    
    of = flow.calc(img1, img2, None)
    return of

def minmax_norm(x):
    x_flat = x.reshape(-1)
    x_max = np.max(x)
    x_min = np.min(x)
    if x_max == x_min:
        x_flat *= 0
    else:
        x_flat = (x_flat - x_min)/(x_max - x_min)
    return x_flat.reshape(x.shape)

def calc_os_flow(path1, path2):
    flow = tvl1_ofcalc(path1, path2)
    u_flow = minmax_norm(flow[:, :, 0])*255
    v_flow = minmax_norm(flow[:, :, 1])*255
    
    ux, uy = np.gradient(flow[:, :, 0])
    vx, vy = np.gradient(flow[:, :, 1])
    
    os_flow = np.sqrt(ux ** 2 + vy ** 2 + 0.25 * (uy + vx) ** 2)
    os_flow = minmax_norm(os_flow)*255
    
    return np.concatenate((os_flow.reshape(*os_flow.shape, 1), v_flow.reshape(*v_flow.shape, 1), u_flow.reshape(*u_flow.shape, 1)), axis=2)

HZIH avatar Oct 20 '23 07:10 HZIH

感谢感谢,就是我有个疑问,他的模型是要求输入,水平,光流,和光应变,但是作者给的数据集是一个一个光流图,直接就是把每一张光流图输入进去吗?然后通过代码算法提取光流图的水平 ,垂直,和光应变进行后续处理吗?

------------------ 原始邮件 ------------------ 发件人: "christy1206/STSTNet" @.>; 发送时间: 2023年10月20日(星期五) 下午3:10 @.>; @.@.>; 主题: Re: [christy1206/STSTNet] data preprocessing (Issue #8)

import cv2 import numpy as np def tvl1_ofcalc(path1, path2): img1 = cv2.cvtColor(cv2.imread(path1), cv2.COLOR_BGR2GRAY) img2 = cv2.cvtColor(cv2.imread(path2), cv2.COLOR_BGR2GRAY) flow = cv2.optflow.DualTVL1OpticalFlow_create() of = flow.calc(img1, img2, None) return of def minmax_norm(x): x_flat = x.reshape(-1) x_max = np.max(x) x_min = np.min(x) if x_max == x_min: x_flat *= 0 else: x_flat = (x_flat - x_min)/(x_max - x_min) return x_flat.reshape(x.shape) def calc_os_flow(path1, path2): flow = tvl1_ofcalc(path1, path2) u_flow = minmax_norm(flow[:, :, 0])*255 v_flow = minmax_norm(flow[:, :, 1])*255 ux, uy = np.gradient(flow[:, :, 0]) vx, vy = np.gradient(flow[:, :, 1]) os_flow = np.sqrt(ux ** 2 + vy ** 2 + 0.25 * (uy + vx) ** 2) os_flow = minmax_norm(os_flow)*255 return np.concatenate((os_flow.reshape(os_flow.shape, 1), v_flow.reshape(v_flow.shape, 1), u_flow.reshape(u_flow.shape, 1)), axis=2)
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.
>

love-coast avatar Oct 20 '23 07:10 love-coast

感谢感谢,就是我有个疑问,他的模型是要求输入,水平,光流,和光应变,但是作者给的数据集是一个一个光流图,直接就是把每一张光流图输入进去吗?然后通过代码算法提取光流图的水平 ,垂直,和光应变进行后续处理吗? ------------------ 原始邮件 ------------------ 发件人: "christy1206/STSTNet" @.>; 发送时间: 2023年10月20日(星期五) 下午3:10 @.>; @.@.>; 主题: Re: [christy1206/STSTNet] data preprocessing (Issue #8) import cv2 import numpy as np def tvl1_ofcalc(path1, path2): img1 = cv2.cvtColor(cv2.imread(path1), cv2.COLOR_BGR2GRAY) img2 = cv2.cvtColor(cv2.imread(path2), cv2.COLOR_BGR2GRAY) flow = cv2.optflow.DualTVL1OpticalFlow_create() of = flow.calc(img1, img2, None) return of def minmax_norm(x): x_flat = x.reshape(-1) x_max = np.max(x) x_min = np.min(x) if x_max == x_min: x_flat *= 0 else: x_flat = (x_flat - x_min)/(x_max - x_min) return x_flat.reshape(x.shape) def calc_os_flow(path1, path2): flow = tvl1_ofcalc(path1, path2) u_flow = minmax_norm(flow[:, :, 0])*255 v_flow = minmax_norm(flow[:, :, 1])*255 ux, uy = np.gradient(flow[:, :, 0]) vx, vy = np.gradient(flow[:, :, 1]) os_flow = np.sqrt(ux ** 2 + vy ** 2 + 0.25 * (uy + vx) ** 2) os_flow = minmax_norm(os_flow)*255 return np.concatenate((os_flow.reshape(os_flow.shape, 1), v_flow.reshape(v_flow.shape, 1), u_flow.reshape(u_flow.shape, 1)), axis=2) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.>

他的意思就是,他把光流图里面水平、垂直和光应变三个通道拼在一起,作为类似一个三通道图片输入到网络中,光流图提取是预处理,不是后处理,这个项目提供的就是预处理好的32*32的光流图

HZIH avatar Oct 20 '23 07:10 HZIH

您好,请问您解决了那个光流的问题了吗? @love-coast

HZHENJ avatar Dec 13 '23 08:12 HZHENJ

您好,我想问一下norm_u_v_os中u_train中0,1,2是分别代表水平垂直光学应变的光流图吗? u_test中0,2代表什么意思?


@shialongya 这难道不是图像的类型吗?🤔

HZHENJ avatar Dec 13 '23 09:12 HZHENJ

您好,我想问一下norm_u_v_os中u_train中0,1,2是分别代表水平垂直光学应变的光流图吗? u_test中0,2代表什么意思?

呢是数据集的标签 表示 积极 消极 其他

love-coast avatar Dec 13 '23 13:12 love-coast

您好,我想问一下norm_u_v_os中u_train中0,1,2是分别代表水平垂直光学应变的光流图吗? u_test中0,2代表什么意思?

呢是数据集的标签 表示 积极 消极 其他 谢谢明白了

shialongya avatar Dec 14 '23 03:12 shialongya