
结构光
文章平均质量分 74
奥比中光3D视觉开发者社区
奥比中光3D视觉开发者社区是所有从事AI·3D视觉技术开发者的交流分享平台,也是奥比中光能力开放,生态合作与技术服务的重要窗口,我们矢志成全球3D视觉领域最大的开发者社区平台,为推动3D视觉产业快速发展提供重要支撑
展开
-
iPhone14和Mate 50先后“亮剑”,3D ToF镜头上位,结构光和ToF之争,ToF才是未来?
无论是苹果还是华为亦或者是国内的其它移动终端品牌都曾经一度为结构光站台。结构光与ToF 方案之间的竞争日趋激烈,二者在行业的影响力不相上下。原创 2022-10-09 19:45:46 · 3087 阅读 · 0 评论 -
优劣几何?三角法和TOF激光雷达大解析!
激光雷达作为众多智能设备的核心传感器,其应用已经非常广泛。就目前市面上的主流激光雷达产品而言,用于环境探测和地图构建的雷达,按技术路线大体可以分为两类,一类是TOF(Time of Flight,时间飞行法)雷达,另一类是三角测距法雷达。......转载 2022-08-09 10:58:30 · 1393 阅读 · 0 评论 -
用奥比深度相机扫描一个非常平的平面,为什么深度值会出现厘米级的误差?
扫描的平面出现很大误差怎么办?原创 2022-05-27 11:23:34 · 1413 阅读 · 2 评论 -
深度学习卷积网络浮点计算量和参数量的计算(附Pytorch代码)
本文作者介绍了深度学习卷积网络的浮点计算量和参数量的计算,还附上了以Pytorch代码框架示例的案例。非常适合大家学习了解,值得一读!原创 2022-05-24 16:54:01 · 1528 阅读 · 0 评论 -
【初学者必看】基础RGB多种格式简要介绍
本文简要介绍了RGB各种常见格式,非常适合初学者学习。原创 2022-05-20 10:19:46 · 3223 阅读 · 0 评论 -
3D视觉AI开放平台正式上线啦,诚邀您来体验~
3D视觉Al开放平台是奥比中光推出的新一代人工智能开放平台,专注于3D视觉在安防、刷脸支付、办公考勤等领域的应用,具备领先的3D视觉图像处理技术,支持处理RGB+Depth数据,提供了三维人脸重建,人脸检测,人脸比对,人脸搜索,活体检测等强大的AI功能。3D视觉Al开放平台从智能终端能力、边缘计算能力、云计算能力、网络数据传输能力与AI智能分析能力五个方面构建AloT生态,为企业用户及个人开发者提供强大的AI数据智能分析与智能场景应用体验。原创 2022-05-13 13:23:59 · 1512 阅读 · 0 评论 -
【博客上线】快来围观博客创作活动~
3D视觉开发者社区【博客功能】重磅上线啦!#博客创作计划活动也同步开启,快来看看如何参加~原创 2022-05-09 16:12:04 · 308 阅读 · 0 评论 -
ToF技术的应用及产业链简述----ToF技术系列(一)
本文详解了TOF的技术应用与产业链接。ToF技术是飞行时间技术的缩写;其原理是:传感器发出经调制的脉冲红外光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息。转载 2022-04-13 10:57:22 · 2473 阅读 · 0 评论 -
Connecting the Dots: 应用于主动单目深度估计的深度学习模型(CVPR2019)
本文作者在主动单目结构光深度估计问题上提出了一套基于深度学习的解决方案,是当时第一篇提出利用深度学习对该问题进行解决的文章,本文将对作者提出的方案进行详细解读。原创 2022-03-31 15:00:10 · 3692 阅读 · 1 评论 -
ICCV2021 | DepthInSpace:多帧影像信息在单目结构光深度估计中的应用
本文作者提出利用多帧影像可辅助单目结构光训练,在资源有限的情况下,可使用融合的视差图调整单帧视差估计网络。希望能对基于深度学习的单目结构光估计相关研究人员有一定参考帮助,对于想要走自监督路线的开发者也有很大的参考意义。原创 2022-03-25 10:15:59 · 552 阅读 · 2 评论 -
浅谈单目结构光原理
在3D视觉技术中最常见的几类:结构光、双目和TOF。而单目结构光相比于双目,深度原理没有那么直观,双目立体视觉的原理和人眼感知距离的原理很相似,而单目结构光大部分是需要已知一个平面距离(将其称之为参考平面),而场景中的深度信息均基于参考平面计算得到。奥比的结构光深度相机由激光发射器projector、IR相机、RGB相机以及一块专门用于计算深度的处理器(深度引擎)组成。结构光的基本原理:由激光模组发射散斑打在物体上(如图中O点),然后由IR模组接收由不同距离物体反射回来的散斑(如图中的成像点K1点),对转载 2022-02-25 11:39:59 · 1307 阅读 · 0 评论 -
3D视觉应用研发系列笔记——机器人3D互动(一.技术难点分析)
先回顾一下需要达成的应用场景:简单说就是利用3D视觉传感技术实现人与机器之间的投球互动。玩家从“准备区”投出皮球,经过约半秒时间穿过飞行区,到达回球平面时,机械手对准来球将其推回。如下图所示:咋一看,这个功能并不复杂,但实现起来非常有挑战性。我们先理一下方案的大致思路:用3D视觉传感器(即深度相机)对球进行跟踪定位,然后通过图像处理尽快的预测出球抵达回球平面时的具体位置,并发送给机器人控制器,再由控制器发出运动指令,机械臂执行到指定位置回击球。有小伙伴可能会问了,为什么要预测位置,我们不能在球抵达平面转载 2022-02-21 14:29:01 · 482 阅读 · 0 评论 -
一文为你详解2D与3D人脸识别有什么区别?
最近业界内刮起了一股“人脸识别安全”的大讨论,小到个人大到超市以及银行,都在使用这个刷脸认证或支付,说它好吧,确实解决了无接触,快速高效等问题,你说它不好吧,也是有原因的,比如最明显的一个问题就是:很多人觉得它并不是那么安全,因为二维码比较私密啊,但是这个就不一定。所以,今天在这里我们就来详细剖析一下了,到底2D和3D的人脸识别有什么不一样呢?一 . 2D人脸识别技术现状2D人脸识别的优势是实现的算法相对比较多,有一套比较成熟的流程,图像数据获取比较简单,只需一个普通摄像头即可,所以基于2D图像数据的人转载 2022-01-11 14:48:05 · 20352 阅读 · 0 评论 -
一篇虚拟试穿的论文介绍
论文名叫 Self-Supervised Collision Handling via Generative 3D Garment Models for Virtual Try-On同时也是Github上的开源项目https://hub.fastgit.org/isantesteban/vto-garment-collisions。虚拟试穿问题通常有两类方案:基于物理模型的方法Physics-Based Simulation (PBS),可以泛化到任何衣物,生成物理精确的结果[1,2] (本文作者转载 2021-12-17 18:09:33 · 864 阅读 · 0 评论 -
多帧点云拼接的全局ICP算法【附Matlab代码链接】
用RGBD相机采集一组多视角深度点云,假设多帧点云之间有共视邻接关系,通常会先进行Pair-wise的帧间点云匹配,具体方法见另外一个帖子:两帧点云刚性配准的ICP算法连续的帧间ICP可以把点云变换到一个公共空间中(比如第一帧的三维坐标系),但是帧间配准一般只考虑当前帧和前一帧的对应关系,对于首尾两帧有共视即点云重叠的情况(在SLAM中称为回环),可能会由于累计误差导致这两帧点云并未按照预期重合在一起。这种带回环的配准问题可以用全局ICP解决。假设K帧点云已经过两两初始配准放在一个公共的空间中,为了进转载 2021-12-17 10:06:45 · 3009 阅读 · 10 评论 -
RGBD相机参数输出定义
关于Orbbec Sensor SDK输出给用户的相机参数作如下规定:深度相机参数(内参、畸变等)与深度流需要一一对应:例如用户使用开启D2C的深度流,那就需要使用对应模式下相机参数转点云,因此使用的内参应该是RGB坐标系下的内参,不再是标定的深度相机的内参了。但是历史SDK输出给用户的depth相机参数均为标定时depth相机参数一组(不管是否进行了D2C),这样会导致用户将D2C后的深度转点云时出错,为避免次情况发生。Orbbec Sensor SDK定义D2C后深度流的内参定义为RGBD相机参数,区转载 2021-12-13 15:20:26 · 818 阅读 · 0 评论 -
RGB+Depth规则箱体测量方案
输入:RGB图,Depth图,camera参数(包括内参和外参),RGB图像分割模型(pytorch)输出:箱体的长宽高,彩色图像上的8个顶点坐标。算法基本过程:由深度图转为点云拟合平面得到箱体平面的mask图像,根据camera参数将其转为彩色图上的坐标,结合彩色图像通过网络推断得出箱体平面的真正mask,提取mask图像的边缘,进行直线拟合得到四条边的直线方程,然后计算四条边的交点得到平面四个顶点的坐标;根据camera参数将其转为深度图上的坐标,约束平面点云范围,进行平面点云和方程优化;最后根据平转载 2021-11-27 20:36:46 · 333 阅读 · 0 评论 -
ROS学习汇总(3D摄像头)
1.ros-摄像头usb_cam以及rviz显示https://developer.orbbec.com.cn/forum_plate_module_details.html?id=14612.ROS中使用摄像头的问题https://developer.orbbec.com.cn/forum_plate_module_details.html?id=14603.奥比中光Orbbec Astra Pro RGBD 3D视觉传感器在ROS(indigo和kinetic)使用说明https://deve转载 2021-11-22 17:54:24 · 509 阅读 · 0 评论 -
两帧点云刚性配准的ICP算法
点云配准的一般思路是根据两个点云的匹配点,估计刚性变换矩阵[R t]。空间刚性变换的3×4矩阵[R t]虽然包含12个数,但只有旋转和平移6个自由度(参数)。在SLAM中相机的位姿也用[R t]矩阵表示,称为SE(3)。与所有视觉问题中求解数据关联的问题一样,点云配准的难点在于:如何自动找到两个点云中对应的匹配点。尽管有各种点云的特征点匹配算法,但最简单的方法是利用目标点云的就近点(Closet Point)作为源点云的对应点,找到对应点之后求[R,t]步骤则是相对容易,是一个典型的非线性优化问题。转载 2021-11-18 15:45:41 · 720 阅读 · 0 评论 -
手眼标定(九点法)
所谓手眼系统,就是人眼镜看到一个东西的时候要让手去抓取,就需要大脑知道眼镜和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械手的空间坐标系中,然后根据机械手坐标系计算出各个电机该如何运动,从转载 2021-09-30 15:33:57 · 1265 阅读 · 0 评论 -
windows下给定多个openNi的Uri,匹配与uri对应的Uvc RGB设备
1、问题描述:在瀚维医疗项目中,客户给定两台deeyea(OpenNi+Uvc)设备,在windows平台下分别固定在不同的usb端口上,同时给定了两个设备的uri,默认给定的第一个设备的uri为左摄像头path,第二个设备的uri为右摄像头path。客户要求分别开启两台设备并捕捉RGB图片及计算点云并标明RGB图片及点云数据是由哪台deeyea设备产生的。2、问题分析:在windows平台上,常用的打开Uvc设备的SDK无非是opencv及directshow,但无论是哪种SDK,打开Uvc摄像头时转载 2021-09-30 14:35:55 · 507 阅读 · 1 评论 -
KinectFusion简介
KinectFusion是微软在2011年发表的一篇论文里提到的点云重建的方法,论文题目是:KinectFusion: Real-Time Dense Surface Mapping and Tracking。点云是用Kinect采集的,然后算法把这些点云注册对齐,融合成一个整体点云。Kinect是一个RGBD扫描仪,它可以同时采集彩色图像和深度图像。这是第一代Kinect和第二代Kinect的外观比较。Kienct每秒可以获取30帧的RGBD图像,光线暗的情况下帧率会下降一些。这是一个典型的Kin转载 2021-08-20 16:29:44 · 3780 阅读 · 0 评论 -
深入浅出CMake(二): 基础语法
在《深入浅出CMake(一):基础篇》文章中,我们已经知道了怎么依葫芦画瓢编写简单的 CMake 构建文件了,但如果应对复杂的工程的话,这还是远远不够的。CMake 是一套编译构建体系,所以它有自己的一套语法概念,也有自己的 CMake Language,你可以讲它看做是一套脚本语言,所以它能做很多编程的事情。这篇博文的目的是对 CMake 的基础语法进行概括,文章最后用一个九九乘法表的例子让读者加深印象。文章开始前,让我们先回想 C/C++、JAVA、PYTHON 等等这些编程语言有什么特征能够转载 2021-08-13 17:02:34 · 342 阅读 · 0 评论 -
深入浅出CMake(一):基础篇
什么是 CMake?CMake 是一个跨平台的编译构建工具,用来自动化生成 Makefile 之类的构建文件的。一般在 unix 类系统上开发,我们用 gcc 或者 g++ 编译源码。g++ hello.cpp world.cpp对很小的工程,处理的源码文件就这么几个,我们完全手写编译脚步就好了。但是如果工程量变大,情况就变得复杂了,我们就需要用 make 工具,并编写 Makefile 记录好源码与依赖之间的关系。make 配合 Makefile 使用,威力很大,但是手写代码很烦恼,而 c转载 2021-08-13 16:35:23 · 341 阅读 · 0 评论 -
奥比中光Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题
相机:Gemini 3D双目结构光深度相机环境:Android7.1软件:SDK中的java demo下的depthforopenni2问题:在Android样例depthforopenni2的OpenGLView中,读取深度数据后,转为点云并保存为文件,用点云工具查看点云效果,总是有很多噪点,而且这些噪点都是从相机向外延伸状;但用SDK的PC样例运行同样的过程,点云效果就很干净;手动编译c++样例到linux环境下,点云效果也很干净;噪点效果类似下图:“锥型”图底部是正确的点云效果,其他都是转载 2021-08-13 16:28:29 · 1358 阅读 · 0 评论 -
ROS学习笔记—-- catkin
一、catkincatkin编译过程:1.查找workspace(catkin_ws)下的src的package2.catkin编译系统依据 Cmakelists.txt 和 package.xml 文件,生成 makefiles(catkin_ws/build/)3.make makefiles文件,生成可执行文件 (放在catkin_ws/devel中)cakin 相当于cmake 和 make 的封装完成编译的工具命令:catkin_makemkdir -p ~/catkin_ws/转载 2021-07-30 11:39:30 · 922 阅读 · 0 评论 -
蚂蚁金服“刷脸”支付技术解读:错误率低于百万分之一
一、前言身份验证是整个数字金融的重要环节,要做到从实名到实人,人脸识别验证在这里起到了很重要的作用。作为新兴事物,“刷脸”验证和“刷脸”支付在给人们的金融生活带来便利的同时,实质也提升了安全验证的效率,它给我们带来全新的金融服务体验,极大地推动了数字金融发展。人脸识别作为AI的应用领域之一,研发中的算法、参数都是通过数据实现优化,以及传感器硬件、多因子结合等技术手段配合。这是一个不断迭代的过程。在安全性要求极高的金融行业中,“刷脸”验证支付如何确保金融级的精准度?如何在非面对面情况下确保生物特征来自于真转载 2021-07-28 17:28:06 · 2982 阅读 · 0 评论 -
单线激光雷达与多线激光雷达
单线激光雷达:实际上就是一个激光发射器(发出的线束是单线),再加一个旋转扫描仪。扫描出来的就是一个二维平面的图(2D激光) 。单线激光雷达特点:便:一路发射一路接收,结构简单,使用方便;高:扫描速度高、角度分辨率高;低:低功耗、小体积、低重量;精:厘米级别的建图精度;省:几百元的批量售价;长:使用寿命长,同时可全天24小时工作;广:应用范围广。多线激光雷达:指同时发射及接收多束激光的激光旋转测距雷达,市场上目前有4线、8线、16 线、32 线、 64 线和128线之分,多线激转载 2021-07-07 18:48:04 · 3226 阅读 · 0 评论 -
Gemini 3D双目结构光深度相机在Android平台上深度数据噪点非常多的问题
相机:Gemini 3D双目结构光深度相机环境:Android7.1软件:SDK中的java demo下的depthforopenni2问题:在Android样例depthforopenni2的OpenGLView中,读取深度数据后,转为点云并保存为文件,用点云工具查看点云效果,总是有很多噪点,而且这些噪点都是从相机向外延伸状;但用SDK的PC样例运行同样的过程,点云效果就很干净;手动编译c++样例到linux环境下,点云效果也很干净;噪点效果类似下图:“锥型”图底部是正确的点云效果,其他都是转载 2021-07-01 19:13:13 · 676 阅读 · 0 评论 -
SLAM综述:激光雷达与视觉SLAM
第一节概述。第二节讲述激光SLAM:激光传感器,开源系统,深度学习的应用。第三节讲述视觉SLAM:相机传感器,开源系统,视觉惯性里程计,深度学习的应用。第四节讲述激光雷达与视觉的融合。 最后展望SLAM的发展前景。第一节:概述**SLAM:**同时定位和建图(Simultaneous Localization and Mapping)。为了精确的定位,需要有精确的环境地图;为了得到精确的环境地图,需要有精确的定位。这便是先有鸡还是先有蛋的问题了。于是乎,只能同时定位与建图—SLAM。事情还要追溯转载 2021-06-30 20:56:28 · 3254 阅读 · 0 评论 -
环境搭建 - 奥比中光3D摄像头(Astra Mini)
1:开发环境使用的是vs2013下载路径:https://download.my.visualstudio.com/sg/cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso?t=66fdc216-0bbf-4de5-959f-d379dd88c51a&e=1622371619&h=cad3e83ef9c72432589032df358aeedb&su=1但是官网路径下载太慢链接: https://p转载 2021-06-07 18:08:41 · 1282 阅读 · 1 评论 -
机器学习-卷积神经网络简介
一、简介CNN由对输入进行过滤(卷积)以获得有用信息的层组成。 这些卷积层具有可以学习的参数(内核),因此可以自动调整这些过滤器以提取针对手头任务的最有用信息,而无需选择特征。 CNN最好与图像一起使用。 普通神经网络不适用于图像分类问题。二、普通神经网络的比较在正常的神经网络上,我们需要将图像转换为单个1d向量,然后将数据发送到完全连接的隐藏层。 在这种情况下,每个神经元每个神经元都有参数。正常情况下,[CONV-> ReLU-> Pool-> CONV-> ReLU-&转载 2021-05-31 17:47:48 · 591 阅读 · 0 评论 -
在ROS使用奥比中光Orbbec Astra Pro
一、相机驱动的安装1、安装依赖$ sudo apt-get install build-essential freeglut3 freeglut3-dev2、检查udev版本,需要libudev.so.1,如果没有则添加#check udev version, Orbbec Driver need libudev.so.1, if can't find it, can make symbolic link from libudev.so.x.x,#which usually locate in转载 2021-05-25 17:22:49 · 2132 阅读 · 0 评论 -
关于相机内参中的焦距fx和fy
当我们用OpenCV相机标定函数去标定相机时,我们能得到一个相机的内部参数,简称“内参”。内参是一个3×3 的矩阵,其中cx和cy很容易理解,它们表示相机光轴在图像坐标系中的偏移量,以像素为单位。但对于焦距fx和fy就不是很直观了。为什么一个相机会出现两个焦距呢?在我们习惯使用的相机针孔模型中,一个透镜的焦距通常只有一个。然而我们不能用针孔模型去解释这两个内参中的焦距。但我们可以从透视规律来解释这两个焦距。由相机拍摄得到的图像是遵从线性透视规律的。也就是说,一个物体的的宽和高会随着这个物体与相机间的转载 2021-05-25 17:03:02 · 4673 阅读 · 3 评论 -
图像的大小计算 位深和色深
图像的大小计算1、位深和色深位深:即在某一分辨率下,每一个像素点可以有多少种色彩来描述,单位为“bit”(位)。典型的色深是8-bit、16-bit、24-bit和32-bit。深度数值越高,可以获得更多的色彩。图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率。图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像中可出现的最多颜色数,或灰度图像中的最大灰度等级。比如一幅单色图像,若每个像素有8位,则最大灰度数目为2的8次方,即256。转载 2021-04-26 16:16:33 · 30662 阅读 · 0 评论 -
人体运动检测与跟踪
人体运动检测是指在输入视频图像中却东运动人体的位置、尺度大小和姿态的过程;人体跟踪是指在视频图像序列中确定各帧间的人体彼此对应关系的过程。可以采用 低通滤波去噪、背景差分、形态学图像处理、区域连通性分析等一系列的处理方法,将运动物体从视频图像中提取出来,然后采用人体高宽及其比值的特征进行人体识别。检测到人体后,可以采用Camshift算法和卡尔曼滤波算法进行人体的跟踪。**运动目标检测常用的方法:**背景减除法,帧间差分法、光流法级统计学方法、**帧间差分法:**帧间差分法是在图像序列中,将相邻两转载 2021-04-26 16:06:05 · 766 阅读 · 0 评论 -
Mask R-CNN:实例分割与检测算法
摘要目的:对象实例分割(区别出不同的对象)提出:Mask R-CNN(扩展的FasterR-CNN)——通过在每个RoI处添加用于预测分割的mask(小的FCN),与用于分类和边界框回归的Faster R-CNN并行。优点:很容易训练,易于实现,计算量小,运行速度为5 fps。1、算法对比1.1Faster R-CNN:使用RoIPool,并进行了量化操作,未进行像素分类mask R-CNN:提出RoIAlign,无量化层,保留了精确的空间位置;作者为在类内预测二进制mask,并依赖于网络的Ro转载 2021-04-21 13:53:27 · 552 阅读 · 0 评论 -
ONNX简介
1、简介Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊 ,Facebook 和 IBM 等公司共同开发,以开放源代码的方式托管在Github上。目前官方支持加载ONNX模型并进行推理的深度学转载 2021-04-19 15:03:51 · 928 阅读 · 0 评论 -
在机械狗上利用AstraPro3D深度摄像头简单实现目标跟踪和人体姿态识别
本次任务是将AstraPro3D摄像头和机械狗运用起来,AstraPro为奥比中光开发的3D传感摄像头,机械狗是云深处绝影mini,过程中主要运用到了AstraSDK做骨架提取,ros系统控制机械狗和如何在Ubuntu16.04上基本的利用fswebcam去调用AstraPro摄像头配置环境:Ubuntu16.04(通过TeamViewer登陆进机械狗系统)摄像头:AstraPro首先如何配置AstraSDK链接如下:https://developer.orbbec.com.cn/forum_pla转载 2021-04-19 14:28:36 · 1964 阅读 · 0 评论 -
在ROS中使用奥比中光Orbbec Astra Pro
一、相机驱动的安装1、安装依赖:$ sudo apt-get install build-essential freeglut3 freeglut3-dev2、检查udev版本,需要libudev.so.1,如果没有则添加#check udev version, Orbbec Driver need libudev.so.1, if can't find it, can make symbolic link from libudev.so.x.x,#which usually locate in转载 2021-03-09 16:41:04 · 1030 阅读 · 0 评论