unity3D EasyAR 识别模型抖动解决方案
EasyAR引擎不知道什么原因导致识别成功后,模型出现高频率抖动,问官方无解后,尝试按论坛里的朋友的方式试验
即,在模型抖动的幅度在一定范围内的时候,不允许该模型抖动,但是这样会导致平移相机时,模型的移动有卡顿。
如果大家有更好的改进方案,烦请告知一下本人,感谢!
首先需要在 Augmenter 设置世界中心为 Augmenter
然后在ImageTarge 的 EasyImageTargetBehaviour类重写Update方法
具体代码如下
protected override void Update(){base.Update();float myrx = 0;myrx = this.transform.localEulerAngles.x;while (myrx >= 360)//为了让判断条件时方便,强制把所有不在1~270以内的数字,转换为-270~270{myrx -= 360;}while (myrx <= -360){myrx += 360;}while (myrx > 270 && 360 - myrx >= 0)myrx = -(360 - myrx);float myry = 0;myry = this.transform.localEulerAngles.y;while (myry >= 360){myry -= 360;}while (myry <= -360){myry += 360;}while (myry > 270 && 360 - myry >= 0)myry = -(360 - myry);float myrz = 0;myrz = this.transform.localEulerAngles.z;while (myrz >= 360){myrz -= 360;}while (myrz <= -360){myrz += 360;}while (myrz > 270 && 360 - myrz >= 0)myrz = -(360 - myrz);//关键,当模型抖动超过一定范围时,不修正模型的坐标角度,记录坐标和角度if (((Math.Abs(this.transform.position.x - lastX) > 0.06 || Math.Abs(this.transform.position.y - lastY) > 0.06 || Math.Abs(this.transform.position.z - lastZ) > 0.06)&&(Math.Abs(this.transform.position.x - lastX) > 0.13 || Math.Abs(this.transform.position.y - lastY) > 0.13 || Math.Abs(this.transform.position.z - lastZ) > 0.13))||( (Math.Abs(myrx - lastRX) > 3 &&Math.Abs(myry - lastRY) >3 &&Math.Abs(myrz - lastRZ) > 3)&& (Math.Abs(myrx - lastRX) > 6 || Math.Abs(myry - lastRY) > 6 || Math.Abs(myrz - lastRZ) > 6)){lastX = this.transform.position.x;lastY = this.transform.position.y;lastZ = this.transform.position.z;lastRX = myrx;lastRY = myry;lastRZ = myrz;this.transform.rotation = Quaternion.Euler(lastRX, lastRY, lastRZ);this.transform.position = new Vector3(lastX, lastY, lastZ);}else//模型抖动范围过小时,修正模型坐标为上一次正确的坐标{this.transform.rotation = Quaternion.Euler(lastRX, lastRY, lastRZ);this.transform.position = new Vector3(lastX, lastY, lastZ);}}
unity3D EasyAR 识别模型抖动解决方案相关推荐
- 关于EasyAR识别出模型后出现剧烈抖动,以及位置发生偏移
关于EasyAR识别出模型后出现剧烈抖动,以及位置发生偏移 我看了网上的博客,作用并不是很大,但是对于AR项目,模型出现抖动,位置发生偏移,这些都是大忌,对于这个问题只需要调整 CameraDevic ...
- 深度学习在超市商品识别中的解决方案分享
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|AI公园 导读 Google出品的超市商品解决方案. 用户 ...
- Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考
Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考 目录 一.简单介绍 二.问题 三.简单解决思路 附录:Vuforia SDK 的功能如下 一.简单介绍 目前世界上主流的AR ...
- object怎么转list_PaddleOCR识别模型转Pytorch全流程记录
这篇文章主要负责记录自己在转PaddleOCR 模型过程中遇到的问题,以供大家参考. 重要的话说在最前面,以免大家不往下看: 本篇文章是把 "整个" ppocr 模型 转成了 py ...
- (CVPR-2020)GaitPart:基于时间部分的步态识别模型(一)
文章目录 GaitPart:基于时间部分的步态识别模型 Abstract 1. Introduction 2. Related Work 3. Proposed Method 3.1. Pipelin ...
- 【PaddlePaddle+OpenVINO】电表检测识别模型的部署
转自AI Studio,原文链接:[PaddlePaddle+OpenVINO]电表检测识别模型的部署 - 飞桨AI Studio 0 背景:PaddleOCR的电表识别任务(主线之五) 我国电力行业 ...
- Android安卓餐盘颜色识别快餐计费解决方案源码
Android安卓餐盘颜色识别快餐计费解决方案源码 最近了解到一个项目需要识别餐盘.在人工智能发展到的今天识别菜品确实没有问题,但是对于实际商用就会涉及到较多问题,比如:1.虽然菜品已经有成熟训练模型 ...
- Python+OpenCV实现AI人脸识别身份认证系统(3)—训练人脸识别模型
目录 案例引入 本节项目 最近有小伙伴们一直在催本项目的进度,好吧,今晚熬夜加班编写,在上一节中,实现了人脸数据的采集,在本节中将对采集的人脸数据进行训练,生成识别模型. 案例引入 首先简要讲解数据集 ...
- 【从零开始的ROS四轴机械臂控制】(三) - 为机械臂添加摄像头和夹爪、解决gazebo模型抖动、使用gazebo建立sdf模型
[从零开始的ROS四轴机械臂控制(三)] 五.在gazebo中添加摄像头 1.修改arm1.gazebo.xacro文件 2.修改arm1.urdf.xacro文件 3.查看摄像头图像 六.为模型添加 ...
最新文章
- P3804 【模板】后缀自动机 (SAM)
- YBTOJ:消除格子(二分图匹配)
- 洛谷P1346-电车【日常图论,最短路,SPFA】
- android笔试添加自定义服务,Android之Listview(item为单选题)自定义adapter,像考试时前面的10几道单选题的实现...
- java面向对象数组_Java面向对象的构造器与数组对象
- beautifulsoup爬取网页中的表格_PYTHON爬取数据储存到excel
- HDU 5726 GCD
- 樊登读书赋能读后感_一场人均4万元的知识盛宴,樊登直播首秀到底讲了什么?...
- Hyperledger Fabric1.4超详细环境搭建 搭建不出来本博主倒立写代码
- js 不相等 多次随机数_node.js静态\动态服务器
- ubuntu下载Linux 内核,ubuntu下载linux内核源码
- uni-app地址四级联动
- 其实创业做生意想成功,本质就两条:流量、变现
- mysql写周报_mysql 数据分析如何实现日报、周报、月报和年报?
- 【项目实训】0501公共周报
- 阿里 前端 规范_阿里前端开发规范
- 7-5 百分制成绩转换为等级成绩 (15分)c语言
- 突发!微软亚研CV大牛王井东离职,或将加入百度
- QT自定义Widget控件及其使用
- 上海西门子培训-第四天(周三)