前言:在之前的学习过程中,FlowNet2.0网络模型的代码配置到win10环境中进行调用,训练遇到了各种各样的问题。到目前为止,已经能够实现对FlowNet网络的训练,修改以及目标物视频中的光流识别。

win10系统下训练调用自己的FlowNet网络模型

  • 环境搭建-硬件软件搭配
    • 硬件环境
    • 系统环境搭建
    • python 模块版本
  • 训练代码解释
    • ***Train and validation*** 训练模型
    • ***Inference*** 调用训练好的模型提取光流信息
    • 重点:调用自己训练的模型并提取视频中的光流数据
  • 测试

环境搭建-硬件软件搭配

硬件环境

本机配置:显卡NVIDIA GeForce GTX 1050 Ti 内存 16.00 GB ( 2400 MHz) CPU (英特尔)Intel® Core™ i7-7700HQ CPU @ 2.80GHz(2801 MHz)

系统环境搭建

重点 显卡驱动版本、CUDA版本和Pytorch要对应,这部分可以在网上搜一下《老黄的工程师在这个地方根本没有说明,而且GItHub上光流网络的项目的Readme也一直没有更新,完全靠大家摸索了》,教程很多,在此不详述了。下面是我的设备参数:

python 模块版本

训练代码解释

Train and validation 训练模型

python main.py --batch_size 8 --model FlowNet2C --optimizer=Adam --optimizer_lr=1e-4 --loss=MultiScale --loss_norm=L1    --loss_numScales=5 --loss_startScale=4 --optimizer_lr=1e-4 --crop_size 384 512    --training_dataset FlyingChairs --training_dataset_root  /FlyingChairs/FlyingChairs_release/data/      --validation_dataset FlyingChairs --validation_dataset_root  /FlyingChairs/FlyingChairs_release/data/

Inference 调用训练好的模型提取光流信息

python main.py --inference --model FlowNet2 --save_flow --inference_dataset FlyingChairs --inference_dataset_root /FlyingChairs/FlyingChairs_release/data/ --resume FlowNet2_checkpoint.pth.tar

注意数据路径引用,其它没有什么大问题

重点:调用自己训练的模型并提取视频中的光流数据

from models import FlowNet2  # the path is depended on where you create this module
from utils.flow_utils import flow2img
import matplotlib.pyplot as plt
cap = cv2.VideoCapture('video')
#获取第一帧
ret, frame1 = cap.read()
prvs = frame1
i = 0 #控制实现的张数
count = 0
save_path = 'save_path'
while(1):ret, frame2 = cap.read()prvs_t = prvscrop_size = (512,256)prvs_t = cv2.resize(prvs_t,crop_size)cv2.imwrite("save_path" + str(count) + ".jpg",prvs_t)next = frame2count += 1pim1 = cv2.resize(prvs, crop_size, interpolation = cv2.INTER_CUBIC)pim2 = cv2.resize(next, crop_size, interpolation = cv2.INTER_CUBIC)# obtain the necessary args for construct the flownet frameworkparser = argparse.ArgumentParser()parser.add_argument('--fp16', action='store_true', help='Run model in pseudo-fp16 mode (fp16 storage fp32 math).')parser.add_argument("--rgb_max", type=float, default=255.)  args = parser.parse_args()# initial a Netnet = FlowNet2(args).cuda()# load the state_dictdict = torch.load("model_save_path")net.load_state_dict(dict["state_dict"])images = [pim1, pim2]images = np.array(images).transpose(3, 0, 1, 2)im = torch.from_numpy(images.astype(np.float32)).unsqueeze(0).cuda()start = time.time()result = net(im).squeeze()      end = time.time()print(end-start)data = result.data.cpu().numpy().transpose(1, 2, 0)result1 = np.array(data).reshape(-1,2)print(result1)img = flow2img(data)cv2.imwrite(save_path + str(i)+'.png',img)i = i+1prvs = next

测试

利用自己视频提取的光流信息

FlowNet2.0 win10系统疑难问题解决相关推荐

  1. 服务器禁用怎么修复,WIN10系统疑难解答服务被禁用怎么恢复?

    方法/步骤1打开Windows10系统的控制面板,双击疑难解答,出现提示:出于安全考虑,某些设置由组策略控制win10 疑难解答.右键点击系统桌面左下角的"开始",在打开的右键菜单 ...

  2. ubuntu安装时无法检测到win10系统的问题解决方法

    笔者也是初学者,因为研究生入学需要用ubuntu,下面是安装ubuntu时遇到的两个问题及其解决方法. 在制作启动U盘时,注意要先更改引导类型选择选项,默认选项为镜像文件,这样创建之后是无法在UEFI ...

  3. Win10系统磁盘问题----- 分区、c盘空间清理、扩展卷、恢复分区解决办法合集

    Win10系统磁盘问题解决办法合集 找到系统的磁盘管理处 方法1 方法2 分区 删除恢复分区 diskpart 扩展卷(并区/C盘并区) 规则 查看那些盘相邻 步骤 清零C盘空间 良好的习惯 清零系统 ...

  4. 重装也无法修复此计算机,win10系统重装|Win10“重置此电脑”时出现问题解决教程...

    在win10系统中,"重置此电脑"功能相当于重装系统,可以将系统恢复到初始的状态,解决电脑使用过程中出现的系统异常或操作卡顿等问题.那么,这个近乎重装系统的功能如果出现问题,那么将 ...

  5. 在win10系统中安装Visual C++ 6.0的具体方法

    转自: https://blog.csdn.net/qq_39235641/article/details/79102694 很多学C语言的同学很熟悉VC++6.0,但是在win10系统下,VC++6 ...

  6. matlab7.0编辑运行,手把手解答win10系统运行matlab7.0时提示Runtime error的操作方案

    许多win10系统用户在工作中经常会遇到win10系统运行matlab7.0时提示Runtime Error的情况,比如近日有用户到本站反映说win10系统运行matlab7.0时提示Runtime ...

  7. win10系统更新补丁时进度条一直卡在0%不动的解决方案

    win10系统更新补丁时进度条一直卡在0%不动的解决方案 参考文章: (1)win10系统更新补丁时进度条一直卡在0%不动的解决方案 (2)https://www.cnblogs.com/zfswff ...

  8. 【Win10系统右下角网络图标消失、无法联网、网络Internet状态闪退等问题解决方法】

    Win10系统右下角网络图标消失.无法联网.网络Internet闪退等问题解决方法 今天开机突然碰到网络异常情况: 头天晚上还正常使用,正常关机,上午再打开就出了问题: 任务栏右下角网络图标消失,有线 ...

  9. win10 系统屏幕黑屏只有鼠标光标在动,问题解决

    win10 系统屏幕黑屏只有鼠标光标在动,问题解决 方法1 同时按Ctrl+alt+delete,--->详细信息---->任务管理器---->文件(左上角)---->运行新任 ...

最新文章

  1. 前后端分离的接口规范
  2. RabbitMQ错误检查
  3. 编译安装PHP 时遇到问题解决方法.
  4. vue 为全局变量赋值_vue设置全局变量和修改
  5. 信息学奥赛一本通 1103:陶陶摘苹果 |1930:【05NOIP普及组】陶陶摘苹果 | OpenJudge NOI 1.6 02 | 洛谷 P1046 [NOIP2005 普及组] 陶陶摘苹果
  6. BZOJ2342 Shoi2011 双倍回文 【Manacher】
  7. 在SqlServer2000的视图中小心使用*符号
  8. 浪潮之巅--蓝色巨人读后感
  9. noip2018 pre——Dp
  10. 小米便签产品级的源码
  11. 1.0 Linux 网络相关概念和修改IP地址的方法
  12. Three TextureLoader纹理贴图不显示图片(显示黑色)
  13. SQLserver基础--语句、存储过程(七)
  14. 计算机怎样保存文件格式,word文档怎样保存为pdf格式
  15. excel文件下载下来损坏 js_java – React excel文件下载损坏
  16. 数加平台在数据挖掘项目中的实践 1
  17. [网络安全技术文章之其一] 给数据科学家的十条数据安全建议
  18. 好用的android 串口驱动
  19. html单选按钮样式 正方形,HTML自定义radio单选按钮(纯css版,样式可以随便改变)
  20. 移动云物联网预研及阿里云开发对比分析

热门文章

  1. Nordic Thingy:52 SDK 安装及编译
  2. VCS与Verdi使用中遇到的问题
  3. 银行ATM存取款页面简易版练习(python)
  4. cobbler一键装机流程
  5. vue 如何实现多个路由共用同一个页面组件
  6. cf1367E 思维+贪心
  7. Java基于GUI的网络通信程序设计【电竞杜小帅】
  8. c语言预处理命令math,C语言之预处理命令
  9. CentOS 7.5 搭建以太坊私联(联盟链)及区块链浏览器
  10. 苹果动态壁纸库怎么增加_苹果xr如何添加动态壁纸设置