LK光流(稀疏光流)

传统稠密光流算法:

Farneback算法

2003 - Gunner Farneback - Two-Frame Motion Estimation Based on Polynomial Expansion (多项式展开)(稠密光流)

flow = cv2.calcOpticalFlowFarneback(img0, img1, None, 0.5, 3, 15, 3, 5, 1.2, 0)

https://www.cnblogs.com/luofeiju/p/11971181.html

Deep Flow算法
of_estim = cv2.optflow.createOptFlow_DeepFlow()
flow = of_estim.calc(img0, img1, None)

TVL1算法

of_estim = cv2.optflow.DualTVL1OpticalFlow_create()

flow = of_estim.calc(img0, img1, None)

Simple Flow算法
of_estim = cv2.optflow.createOptFlow_SimpleFlow()
flow = of_estim.calc(img1, img0, None)

深度学习算法:

FlowNet

PWCNet

TOFlow

光流对齐:

warping代码例子
https://subscription.packtpub.com/book/application_development/9781785283932/1/ch01lvl1sec16/image-warping

import numpy as np

def AdjustIndex(img, border):
    img[img<0] = 0
    img[img>=border] = border - 1
    
    return img

def alignImages(im1, flow):
    height, width = im1.shape[0], im1.shape[1]

# index
    u = np.arange(0, width)
    ul = np.tile(u, (height, 1))
    idx = ul + flow[:,:,0]
    idx0 = np.floor(idx)  # 横坐标
    idx1 = idx0 + 1
    
    AdjustIndex(idx0, width)
    AdjustIndex(idx1, width)

v = np.arange(0, height)
    v = v.reshape(v.shape[0], 1)
    vl = np.tile(v, (1, width))
    idy = vl + flow[:,:,1]
    idy0 = np.floor(idy)  # 纵坐标
    idy1 = idy0 + 1
    
    AdjustIndex(idy0, height)
    AdjustIndex(idy1, height)
    
    # weight
    w00 = (1 - (idy - idy0)) * (1 - (idx - idx0))
    w01 = (1 - (idy - idy0)) * (idx - idx0)
    w10 = (idy - idy0) * (1 - (idx - idx0))
    w11 = (idy - idy0) * (idx - idx0)
    
    # take value
    f00 = np.zeros(im1.shape, dtype=im1.dtype)
    f01 = np.zeros(im1.shape, dtype=im1.dtype)
    f10 = np.zeros(im1.shape, dtype=im1.dtype)
    f11 = np.zeros(im1.shape, dtype=im1.dtype)
    
    for h in range(0, height):
        for w in range(0, width):
            f00[h, w] = im1[int(idy0[h, w]), int(idx0[h, w])]
            f01[h, w] = im1[int(idy0[h, w]), int(idx1[h, w])]
            f10[h, w] = im1[int(idy1[h, w]), int(idx0[h, w])]
            f11[h, w] = im1[int(idy1[h, w]), int(idx1[h, w])]
    
    # bilinear warping
    align_im = np.zeros(im1.shape, dtype=im1.dtype)
    for i in range(im1.shape[2]):
        align_im[:,:,i] = w00 * f00[:,:,i] + w01 * f01[:,:,i] + w10 * f10[:,:,i] + w11 * f11[:,:,i]  # 双线性插值

return align_im

经典光流估计算法和光流对齐方法相关推荐

  1. 光流估计算法RAFT的论文和代码阅读

    RAFT论文和代码阅读 RAFT: Recurrent All-Pairs Field Transforms for Optical Flow Zachary Teed and Jia Deng EC ...

  2. 视频光流估计综述:从算法原理到具体应用

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:肖泽东 | 来源:知乎 https://zhuanlan.zhihu.com/p/7446034 ...

  3. 综述:光流估计从传统方法到深度学习

    作者丨肖泽东 Shon@知乎 来源丨https://zhuanlan.zhihu.com/p/74460341 编辑丨目标检测与深度学习 编者荐语 光流估计是计算机视觉研究中的一个重要方向,然而,因为 ...

  4. 光流估计:从传统方法到深度学习

    来源:信息网络工程研究中心本文约4200字,建议阅读10+分钟 近年来,深度学习技术,作为一把利剑,广泛地应用于计算机视觉等人工智能领域. 一.摘要 近年来,深度学习技术,作为一把利剑,广泛地应用于计 ...

  5. 光流估计——从传统方法到深度学习

    本文转载自知乎,已获作者授权转载. 链接:https://zhuanlan.zhihu.com/p/74460341    1.摘要 近年来,深度学习技术,作为一把利剑,广泛地应用于计算机视觉等人工智 ...

  6. 光流(二)--光流算法

    原文: http://www.cnblogs.com/gnuhpc/archive/2012/12/04/2802124.html 简介:在计算机视觉中,Lucas–Kanade光流算法是一种两帧差分 ...

  7. <论文阅读> 基于 Warping 理论的高精度光流估计 (计算机视觉 - ECCV 2004)

    目录 摘要 1 简介 2 变分模型 3 最小化 3.1 欧拉-拉格朗日方程 3.2 数值逼近 4 与 Warping 方法的关系 摘要   我们研究了一种用于计算光流的能量函数,它结合了三个假设:亮度 ...

  8. 光流 | 近十年光流参考文献总结

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 [1]Bruhn A, Weick ...

  9. FlowFormer: Transformer结构光流估计

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨泡泡机器人 来源丨 泡泡机器人SLAM 标题: FlowFormer: A Transforme ...

最新文章

  1. 最萌算法学习来啦,看不懂才怪!| 码书
  2. 使用pip安装特定的软件包版本
  3. 《系统集成项目管理工程师》必背100个知识点-46质量与等级
  4. 为什么需要Redis 集群
  5. Spring AOP原理浅析及入门实例
  6. mysql 8.0.25 取巧解决修改密码报错问题
  7. 最方便的字符设备驱动的写法
  8. 【leetcode】667. Beautiful Arrangement II
  9. 确定填充介质的矩形波导单模传输TE10波的工作频率
  10. isnan 函数 -javascript1.1
  11. Qt视频直播软件--项目实战(Day1)
  12. 第七篇,STM32串口通信编程
  13. 中英文自动翻译(有道翻译、彩云小译)
  14. python星号画平行四边形_Python练习题 018:打印星号菱形
  15. 30天学习一部无字幕美剧-《老友记》
  16. Hourglass网络的理解和代码分析
  17. mc服务器对虚拟存储,Duang~~~ 虚拟存储的十个建议
  18. 割平面算法求解整数规划
  19. oracle收集snop,SNAP收集服务器信息
  20. 教学优化算法的简单介绍

热门文章

  1. Spring Boot 3.x 系列【23】集成Spring WebFlux开发响应式应用程序
  2. SEO外推福利:外链高收录平台与外链类型分析
  3. 宝元系统通讯软件recon_优软科技会场式电话录音系统
  4. html文件匹配歌手名和歌名,获取QQ音乐歌手姓名、歌曲信息、播放链接,爬,起,qq,名字...
  5. 两条线段的交点 交点
  6. 波束形成算法学习笔记之一(Endfire,broadside)
  7. 一男老师每日百词转载+连载(1)
  8. C语言:开平方判断素数
  9. SSH——Hibernate初学者之旅(五)
  10. 美食探店的文章怎么写?有什么技巧