码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [C#]使用深度学习算法opencvsharp部署RecRecNet广角图像畸变矫正校正摄像广角镜头畸变图像


    【论文地址】

    https://arxiv.org/abs/2301.01661

    【训练源码】

    https://github.com/KangLiao929/RecRecNet

    【参考源码】

    https://github.com/hpc203/recrecnet-opencv-dnn

    【算法介绍】

    广角镜头在VR技术中显示出诱人的应用,但它会在捕获的图像中引入严重的径向失真。为了恢复逼真的场景,之前的工作致力于校正广角图像的内容。然而,这种校正解决方案不可避免地会扭曲图像边界,从而改变相关的几何分布并误导当前的视觉感知模型。在这项工作中,我们通过贡献一种新的学习模型,即矩形校正网络(RecRecNet),探索在内容和边界上构建双赢的表示。特别地,我们提出了一种薄板样条(TPS)模块来描述图像的矩形化非线性非刚性变换。通过学习校正图像上的控制点,我们的模型可以灵活地将源结构扭曲到目标域,实现端到端的无监督变形。为了减轻结构近似问题的复杂性,我们激励我们的RecRecNet通过基于自由度(DoF)的课程学习来学习渐进变形规则。通过增加每个课程阶段的自由度,即从相似性变换(4-DoF)到单应性变换(8-DoF),网络能够研究更详细的变形,从而在最终的矩形化任务上实现快速收敛。实验表明,我们的解决方案在定量和定性评估方面都优于比较方法。

    问题
    给定一个校正的广角图像,RecRecNet旨在从校正技术的角度在图像内容和边界上构建双赢表示。

    特点
    首次实现大视野(FoV)视觉的双赢表示
    提出了一个薄板样条(TPS)运动模块,以灵活地形成非线性非刚性校正变换
    设计了一种基于DoF的课程学习,以掌握渐进变形规则并减轻复杂结构近似的负担
    深入分析了为什么变形的图像边界会显著影响视觉感知模型

    【界面展示】 

    【效果展示】

    【部分实现代码】

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Diagnostics;
    6. using System.Drawing;
    7. using System.Linq;
    8. using System.Text;
    9. using System.Threading.Tasks;
    10. using System.Windows.Forms;
    11. using OpenCvSharp;
    12. namespace FIRC
    13. {
    14. public partial class Form1 : Form
    15. {
    16. Mat src = new Mat();
    17. RecRecNet net=new RecRecNet();
    18. public Form1()
    19. {
    20. InitializeComponent();
    21. }
    22. private void button1_Click(object sender, EventArgs e)
    23. {
    24. OpenFileDialog openFileDialog = new OpenFileDialog();
    25. openFileDialog.Filter = "图文件(*.*)|*.jpg;*.png;*.jpeg;*.bmp";
    26. openFileDialog.RestoreDirectory = true;
    27. openFileDialog.Multiselect = false;
    28. if (openFileDialog.ShowDialog() == DialogResult.OK)
    29. {
    30. src = Cv2.ImRead(openFileDialog.FileName);
    31. pictureBox1.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(src);
    32. }
    33. }
    34. private void button2_Click(object sender, EventArgs e)
    35. {
    36. if(pictureBox1.Image==null)
    37. {
    38. return;
    39. }
    40. var resultMat = net.Inference(src);
    41. pictureBox2.Image= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(resultMat); //Mat转Bitmap
    42. }
    43. private void Form1_Load(object sender, EventArgs e)
    44. {
    45. net.LoadWeights(Application.StartupPath+ "\\weights\\model_deploy.onnx");
    46. }
    47. private void button3_Click(object sender, EventArgs e)
    48. {
    49. }
    50. }
    51. }

     【测试环境】

    vs2019

    netframeowrk==4.7.2

    opencvsharp==4.8.0

    【视频演示】

    C#使用opencvsharp部署RecRecNet广角图像畸变矫正校正摄像广角镜头畸变图像_哔哩哔哩_bilibili【测试环境】vs2019netframeowrk==4.7.2opencvsharp==4.8.0更多信息参考博文:https://blog.csdn.net/FL1623863129/article/details/139760635, 视频播放量 0、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 未来自主研究中心, 作者简介 未来自主研究中心,相关视频:C#使用onnxruntime部署Detic检测2万1千种类别的物体,yolov5最新版onnx部署Android安卓ncnn,C#使用纯opencvsharp部署yolov8-onnx图像分类模型,图像二值化工具使用教程,OpenCvSharp利用微信二维码引擎实现二维码识别,C# winform使用纯opencvsharp部署yolox-onnx模型,C# winform YOLO区域入侵检测任意形状区域绘制射线算法实现演示,我在B站上大学!【完整版-麻省理工-微积分重点】全18讲!学数学不看的微积分课程,看完顺滑一整年。_人工智能数学基础/机器学习/微积分/麻省理工/高等数学,C#使用dlibdotnet实现人脸检测人脸对齐特征点检测人脸对比facemesh等功能,👴一定是天才 6.1icon-default.png?t=N7T8https://www.bilibili.com/video/BV1zJ4m1u7VZ/

    【源码下载】

    https://download.csdn.net/download/FL1623863129/89448917

  • 相关阅读:
    电池可热插拔拆卸对三防加固平板有什么意义|亿道三防onerugged
    mysql同一个数据值,获取最新的一条数据
    使用mybatisplus查询sql时,报Error attempting to get column ‘ID‘ from result set错误
    详解Python中哈希表的使用。站在开发者角度,与大家一起探究哈希的世界。
    微信小程序项目源码ssm校园跑腿+后台管理系统|前后分离VUE含论文+PPT+源码
    Android 导航之Navigation 组件的介绍与使用
    OpenCV实现多角度多尺度模板匹配(基于形状)
    SpringMvc第五战-【SpringMvcJSR303和拦截器】
    潘多拉 (Pandora),一个让你呼吸顺畅的 ChatGPT
    微信小程序接入lottie动画
  • 原文地址:https://blog.csdn.net/FL1623863129/article/details/139760635
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号