CN111145240A - 一种基于3d相机的活体西门塔尔牛体尺在线测量方法 - Google Patents
一种基于3d相机的活体西门塔尔牛体尺在线测量方法 Download PDFInfo
- Publication number
- CN111145240A CN111145240A CN201911128359.6A CN201911128359A CN111145240A CN 111145240 A CN111145240 A CN 111145240A CN 201911128359 A CN201911128359 A CN 201911128359A CN 111145240 A CN111145240 A CN 111145240A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- data
- cattle
- dimensional
- cloud data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/08—Systems determining position data of a target for measuring distance only
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Abstract
本发明涉及一种基于3D相机的活体西门塔尔牛体尺在线测量方法,该方法通过TOF相机获取牛体三维图像数据,并将牛体三维图像数据转化为牛体三维点云数据;利用条件滤波、统计滤波和体素滤波对牛体三维点云数据进行处理;基于随机采样一致性算法和欧式聚类算法对滤波后的牛体三维点云数据进行聚类分割;对上一步中得到的牛体三维点云数据进行曲面重构,得到完整的牛体曲面模型;在重构后的牛体曲面模型上,根据预设选取条件选择体尺测量点,以获取牛体对应的七项体尺数据;利用修正函数对七项体尺数据进行修正;该方法实现了对牛体七项体尺数据的精确测量,实现了活体西门塔尔牛体尺的非接触测量。
Description
技术领域
本发明涉及基于3D相机的牛体测量技术领域,特别涉及一种基于3D相机的活体西门塔尔牛体尺在线测量方法。
背景技术
随着科学技术发展,三维重建与点云处理技术已较普及,现有的用于体尺测量技术的点云获取设备大多为激光扫描仪,但是激光扫描仪结构较为复杂,在实际操作过程中难以推广,且测量现场的操作情况直接影响点云数据疏密程度,非常可能会给后期数据处理带来较大不便。
因此,如何避免后期数据处理带来的不便,实现非接触测量成为同行从业人员亟待解决的问题。
发明内容
本发明的目的在于,提出的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,解决由于现场操作情况对点云数据疏密程度的影响,而给后期的数据处理带来不便的问题。
为了解决上述技术问题,本发明实施例提供一种基于3D相机的活体西门塔尔牛体尺在线测量方法,包括:
S1、通过TOF相机获取牛体三维图像数据,并将所述牛体三维图像数据转化为牛体三维点云数据;
S2、利用条件滤波、统计滤波和体素滤波对所述牛体三维点云数据进行处理;
S3、基于随机采样一致性算法和欧式聚类算法对滤波后的所述牛体三维点云数据进行聚类分割;
S4、对步骤S3中得到的所述牛体三维点云数据进行曲面重构,得到完整的牛体曲面模型;
S5、在重构后的牛体曲面模型上,根据预设选取条件选择体尺测量点,以获取牛体对应的七项体尺数据;
S6、利用修正函数对所述七项体尺数据进行修正。
在一个实施例中,所述步骤S2包括:利用条件滤波将所述三维点云数据中背景区域去除;采用统计滤波滤除离群点;结合体素滤波,对牛体的三维点云数据进行压缩;
所述条件滤波根据用户设置点的坐标范围,一次性过滤输入点云中不满足条件的所有牛体三维点云数据;
所述统计滤波对每个点周围的临近点进行分析,统计各个临近点与被分析点的距离,记录平均距离与标准差;将标准差预设倍数作为判断是否为离群点的阈值,并剔除离群点;
所述体素滤波根据体素化网格对牛体三维点云数据进行压缩。
在一个实施例中,所述步骤S3中的随机采用一致性算法为:
S21、通过对所述三维点云数据进行随机采样,获得多个最小数据点集,并根据所述最小数据点集获得模型估计;
S22、依次在全部所述三维点云数据上,对在各个最小数据点集上获取到的模型估计进行检验,得到正确模型;所述正确模型为所得模型估计与预设模型误差最小的模型;
S23、与正确模型不符的数据点则被判定为离群点,抽取出平面点云数据,并将其剔除。
在一个实施例中,所述步骤S3中的欧式聚类算法为:
S31、选择空间中的某点p1,利用kd-tree找到离p1最近的n个点,判断这n个点到p1的距离,将所有距离小于阈值r的点都放在聚类Q里;其中,两点之间的欧氏距离公式为:
式中,d为欧几里得距离;n为三维点云中三维点云集的总数量;i={1,2,3,......,n};qi为所选聚类点云集;pi为相邻聚类点云集;qi、pi∈P;P为三维点云集;
S32、在聚类Q里找到非p1的一点p2,重复S31;
S33、在聚类Q找到非p1、p2的一点,重复S31、S32步骤,将找到p1、p2、p3……全部放进聚类Q里,直到聚类Q不再有新点加入,则聚类完成。
在一个实施例中,所述步骤S4包括:
S41、采用ICP算法对牛体三维点云数据进行配准实现点云拼接,并利用双向kd-tree进行快速搜索,对ICP算法的配准运算进行加速;
S42、通过对配准之后的牛体三维点云数据中的表面数据重采样进行平滑化处理;
S43、采用贪心三角投影算法重构一个完整的牛体曲面模型。
在一个实施例中,所述步骤S41中利用ICP算法对牛体三维点云数据配准包括:
对源点云上的每个点,通过kd-tree搜索目标点云找到其最近点,组成对应关系点对,计算源点云最优刚体变换,每次均重复选择对应关系点对,反复迭代直到均方差误差满足配准的收敛精度要求,从而实现对点云数据进行进行平移和旋转来完成目标点云的配准。
在一个实施例中,所述步骤S43包括:
将有向点云的三维坐标投影到二维平面坐标中,进行三角网格化,并应用三角生长算法的贪心算法使网格生长,根据点的映射关系将二维平面中的三角网格映射回三维空间坐标中,拼接成一个完整点云的三角网格牛体曲面模型。
在一个实施例中,所述步骤S5包括:
对任一项体尺数据选择的两个体尺测量点P0(X0,Y0,Z0),P1(X1,Y1,Z1)进行标定,体尺测量长度的计算公式为:
在一个实施例中,所述步骤S6中的修正函数包括:
S51、根据拍摄不同尺寸的球体,获得相应点云数据;
S52、通过对所述点云数据进行统计滤波、体素格滤波、基于随机一致性算法分割、欧式聚类算法分割,得到球体在不同拍摄距离下的点云数据;
S53、对步骤S52中的点云数据进行拟合,获得不同拍摄距离下的图像上球体直径;
S54、将图像上球体直径与球体实际直径进行比较,获得不同拍摄距离下,球体实际直径与图像直径的比值K;
S55、根据上述步骤S53和S54中获得的数据,求得修正函数。
在一个实施例中,所述步骤S55中的修正函数为:
设修正函数为K;
式中,Yreal-物体的实际距离,单位m;Yimg-物体的图像距离,单位m;Dreal-球体直径的实际距离,单位m;Dimg-球体直径的图像距离,单位m;
利用MATLAB,将多个不同大小球体的Dreal/Dimg和Dcam拟合为一个多项式,结果所得修正函数为:
K=f(x)=0.335220x3-1.184603x2+1.472974x+0.429791
其中,x-球心到相机的距离,即Dcam,单位m。
本发明的优点在于,本发明的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,利用TOF(Time of Flight)相机(IFM O3D303)获取牛的三维图像,对点云数据进行预处理和曲面重构优化等方法,并且人工点选牛体关键特征部位操作,并通过修正函数对测得的体尺数据进行修正,实现活体西门塔尔牛的体高,胸深,背高,腰高,臀端高,尻长,体斜长7项体尺的精确测量。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的基于3D相机的活体西门塔尔牛体尺在线测量方法的流程图;
图2为本发明实施例提供的随机采用一致性算法的流程图;
图3为本发明实施例提供的欧式聚类算法的流程图;
图4为本发明实施例提供的牛体曲面模型重构的流程图;
图5为本发明实施例提供的相机校正的流程图;
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种施工支架挠曲变形监测方法,参照图1所示,包括:
S1、通过TOF相机获取牛体三维图像数据,并将牛体三维图像数据转化为牛体三维点云数据;
S2、利用条件滤波、统计滤波和体素滤波对牛体三维点云数据进行处理;
S3、基于随机采样一致性算法和欧式聚类算法对滤波后的述牛体三维点云数据进行聚类分割;
S4、对步骤S3中得到的牛体三维点云数据进行曲面重构,得到完整的牛体曲面模型;
S5、在重构后的牛体曲面模型上,根据预设选取条件选择体尺测量点,以获取牛体对应的七项体尺数据;
S6、利用修正函数对七项体尺数据进行修正。
本实施例中,步骤S1中,先用TOF(Time of Flight)相机(IFM O3D303)获得牛体三维数据(.out格式),将该文件传输到PC端,利用相关C++代码将其转换成.pcd即点云格式文件。
步骤S2中,为了解决点云中有离群点需要去除;点云集内点的数量庞大冗杂,严重影响后续处理的运行效率;点云中有噪声需要被去除的问题,分别采用条件滤波、统计滤波和体素滤波对牛体三维点云数据进行滤波处理。
步骤S3中,对原始点云数据进行滤波之后,只是将牛体周围的离群点去除,并未获得全是牛体点的云文件。因此要对点云进行聚类分割处理,而分割出来的聚类有许多,不一定是我们所需的目标点云聚类,即代表牛体的点云聚类,因此还需对众多聚类对象进行自动检测特征识别,以期达到实现数据统一批处理操作的目的。
步骤S4中,曲面重建是指通过目标物体的三维点云数据点重新构建该物体的曲面模型的过程,重建曲面可使得散乱牛三维点云数据对原始被拍摄物体有一个更加直观的呈现。我们通过点云拼接、重采样和合适的曲面重建算法对上一节中所得的牛体点云进行曲面重构,得到光滑完整的西门塔尔牛三维数据模型。
在步骤S5中,在重建了牛的曲面模型后,根据预设选取条件在牛体模型上选择体尺测量点进行标定,进行西门塔尔牛七项体尺数据的计算,其中,预设选取条件为所要测量的牛体的部位。利用PCL中的响应鼠标事件的回调函数,进行用户交互,实现用户自由标定体尺测量点的功能;再根据所标定的测量点信息,计算七项体尺数据。
在步骤S6中,针对基于飞行时间(TOF)原理的三维摄像机拍摄物体获取的图像距离与物体实际距离存在误差的问题,提出一个误差修正的修正函数用以修正获取的体尺测量数据。
在一个实施例中,先用TOF(Time of Flight)相机(IFM O3D303)获得牛体三维数据(.out格式),IFM O3D303摄像头提供了两种通信方式,XML-RPC与软件开发套件。
其中,XML-RPC用于配置设备和通过PCIC接口接收图像数据;这些接口可以被提供简单TCP/IP套接字连接和XML-RPC客户端的编程语言或脚本访问;
其软件开发套件PMDSDK2则提供了C++库接口,来进行相机配置和数据采集。我们利用其软件开发套件,采用C++程序语言,在Visual Studio 2015+PCL1.8.0的混合开发环境下,进行其图像三维点坐标数据的实时获取和点云数据显示;最终实现每5帧进行一次文件存储,1s约存储5个数据文件,数据文件中数据包括每个像素点的三维坐标(XYZ)及其深度信息(以米为单位)。
在一个实施例中,在得到原始数据之后,将得到的原始数据文件转换为点云格式文件(.pcd文件),再运用点云库PCL进行预处理;
由于在得到拍摄物的牛体原始点云图像后,常常会因为以下几种情况的出现而需对原始点云进行符合实际情况的相应滤波处理:(1)点云中有离群点需要去除;(2)点云集内点的数量庞大冗杂,严重影响后续处理的运行效率;(3)点云中有噪声需要被去除;在研究了PCL中不同的滤波器后,决定先利用条件滤波器将背景中的墙面去除,再采用统计滤波器滤除离群点,最后结合体素滤波器,对模型牛的点云数据进行压缩。
其中,条件滤波(Conditional Removal)可根据用户设置的条件,即设置点的坐标范围,一次性过滤输入点云中不满足条件的所有点的方法;
统计滤波(Statistical Outlier Removal)的原理很简单,即对每个点的一定数量的临近点进行分析,统计各个临近点与被分析点的距离,记录平均距离与标准差。因离群点相对于有效点而言,在空间上分布十分稀疏、间距大,所代表的信息量小,属于无用点集。换言之,包含信息量大的有效点在空间的分布是是密集的、间距小。因而点云中所有点之间的距离满足高斯分布,那么根据离群点空间分布稀疏的特征,可知如已获得距离均值与标准差,将标准差倍数作为判断是否为离群点的阈值,即可剔除离群点。例如设置标准差倍数为1,也就是说,如果有一个临近点的距离超出了平均距离一个标准差以上,则将该临近点被标记为离群点,并将其移除;
体素滤波(Voxel Grid)的主要思想是使用体素化网格对点云实施向下的重采样工作来对点云进行压缩,能够做到找不破坏点云数据的几何形状的同时,对点云进行压缩,减少数据量。该滤波器会依据输入点云创建一个体素栅格,即一个盒子形状的三维立方体,称为叶(leaf)。在每个叶内,计算叶内部的所有点的重心点,用该重心作为采样点来代替该叶中的其他点。也就是说,可以将每个体素格中所有的点用一个采样点来表示。一般来说,叶的大小是由三维变量(X\Y\Z)共同确定的,该变量可根据实际情况进行修改,修改叶的大小能够对点云进行快速的压缩,并不破坏曲面几何形状,能较为准确的表示采样点对应的曲面。
在一个实施例中,对原始点云数据进行滤波之后,只是将牛体周围的离群点去除,并未获得全是牛体点的云文件。因此需要对点云进行聚类分割处理,而分割出来的聚类有许多,不一定是我们所需的目标点云聚类,即代表牛体的点云聚类,因此还需对众多聚类对象进行自动检测特征识别,以期达到实现数据统一批处理操作的目的;点云分割是根据点云的空间位置、几何形状和纹理样式等特征对点云数据集进行划分,使得特征相似的点云子集被分割在同一区域内,对点云进行有效的分割处理是对目标物体点云进行准确提取的前提;
本发明采用基于欧氏距离的分割算法来对过滤后的点云进行聚类分割;为了得到更好的聚类结果,在某些情况下还需利用基于随机采样一致性的点云分割技术对滤波后的点云文件进行平面分割,将大而无用的平面(如地面、墙面、桌面等)分割出来,以达到减少对点云进行欧式聚类分割的计算量的目的。
比如,由TOF相机扫描得到的点云总是连成片的,很少有单独浮在空中的点云集,所以直接用欧式聚类方法对原始点云进行聚类操作,在很多时候都是不太可行的。因此在进行聚类提取之前,还根据实际情况需采用一些别的算法对点云进行额外处理,如基于采样一致性算法抽取平面。例如想要得到桌面、地面等平面上的物体时,将桌面、地面等平面抽取出来,平面上的各个物体就变成了单独的点云集,此时就可以直接用欧式聚类算法进行点云分割;
其中,如图2所示,随机一致性采样算法(RANdom SAmple Consensus,RANSAC)通过对全部数据点进行随机采样,获得多个最小数据点集,用尽可能少的可行数据获得模型的估计,然后依次在全部数据上,对在各个数据集上获取到的模型进行检验,正确的模型即为所得模型估计与预设模型误差最小的模型,与该模型不符的数据点则被判定为离群点,该算法可用于抽取平面点云数据。
聚类算法就是指以相邻点的关系远近基础,将特征相近的点归为同一聚类即将n个点分成m个未预先确定的类,且具有较近的邻里关系的点被放在同一聚类中,不同聚类之间的点有较远的邻里关系,再计算各个聚类之间的关系远近,将两聚类间关系如果近于规定的阈值的合并为一个新的更大的聚类,再对所得新聚类之间的邻里关系进行计算,如此反复进行迭代计算,直到任意聚类间的关系都远于给定距离阈值,则完成聚类操作。
如图3所示,欧式聚类算法则是在聚类算法的基础上,通过欧氏距离公式来计算邻里关系远近,并进行聚类的一种算法。欧氏距离(常量)公式为:
式中,d-欧几里得距离;n-三维点云中三维点云集的总数量;i={1,2,3,……,n};qi-所选聚类点云集;pi-相邻聚类点云集;qi、pi∈P;P-三维点云集。具体算法步骤描述如下所述。
第一步:先找到空间中某点p1,利用kd-tree找到离p1最近的n个点,判断这n个点到p1的距离。将所有距离小于阈值r的点都放在聚类Q里;
第二步:在聚类Q里找到非p1的一点p2,重复第一步;
第三步:在聚类Q找到非p1、p2的一点,重复第一步和第二步,将找到p1、p2、p3......全部放进聚类Q里,直到聚类Q不再有新点加入,则聚类完成。
在一个实施例中,如图4所示,曲面重建是指通过目标物体的三维点云数据点重新构建该物体的曲面模型的过程,重建曲面可使得散乱点云数据对原始被拍摄物体有一个更加直观的呈现。我们通过点云拼接、重采样和合适的曲面重建算法对上一节中所得的牛体点云进行曲面重构,得到光滑完整的西门塔尔牛三维数据模型;
由于3D传感器在拍摄目标物时存在视野范围上的限制、目标物体自身几何形状复杂等原因,对待目标物体的拍摄并不全面,就需要将多次拍摄得到的点云数据合成成一个整体,也就是进行点云拼接;
进一步地,本发明采用迭代最近点算法(Iterative Closest Point,ICP)对点云进行精配准,实现点云拼接;又因为ICP算法计算量大运行时间长,效率低下,我们利用双向kd-tree进行快速搜索,对ICP算法的配准运算进行加速;
其中,ICP算法运用到点云配准中既是对原点云上的每个点,通过搜索目标点云找到其最近点,组成对应关系点对,再计算源点云最优刚体变换,每次都重复进行选择对应关系点对,反复迭代直到均方差误差配准的收敛精度要求。也就是说每次迭代,都能使源点云与目标点云靠近一点,最终求得需要的平移和旋转变换矩阵,借此对源点云进行平移和旋转来完成项目标点云配准的过程。
kd-tree是一种用于分割k维数据空间的数据结构,它是一个有其它约束影响的二叉搜索树,用来组织表示k维空间中数据点的集合,主要应用于多维空间里关键数据的范围和最近邻搜索。因3D摄像机获取到的点云数据是散乱无序的,不像普通扫描数字化仪产生的传统网格数一样具有几何拓扑结构,所以如何建立离散点之间的拓扑结构关系,利用其邻域关系进行快速查找就成了处理点云数据的核心问题。而kd-tree便可解决这一问题。因在查找最近点时采用双向kd-tree来加速查找点对过程,能明显提高查询最近点的速度。
进一步地,3D相机获取的点云数据会因为设备自身和外界环境影响的原因具有一定误差,这些误差会产生一些导致重建表面不光滑或有空洞的不规则数据,即采样不均匀,难以建立高质量的光滑的曲面模型。且配准之后的点云数据直接进行曲面重构会在某块区域产生重叠曲面,因此在对目标点云进行曲面重建之前,要先对其表面数据进行数据重采样,即平滑化处理。
进一步地,本发明选用贪心三角投影算法(Greedy Proiection Triangulation)对经过重采样后的光滑点云数据进行曲面重构,该算法简单来说,就是先将有向点云的三维坐标投影到二维平面坐标中,进行三角网格化并应用三角生长算法的贪心算法使网格生长,再将根据点的映射关系将二维平面中的三角网格映射回三维空间坐标中,最后拼接成一个完整点云的三角网格曲面模型。
在一个实施例中,在重建了牛的曲面模型后,便可选择体尺测量点进行西门塔尔牛七项体尺数据的计算。利用PCL中的响应鼠标事件的回调函数,进行用户交互,实现用户自由标定体尺测量点的功能。再根据所标定的测量点信息,计算七项体尺数据。设两标定点坐标分别为P0(X0,Y0,Z0),P1(X1,Y1,Z1),由于选取的标定点连成的线段P0P1并不一定与地面垂直,而相机的坐标系中的Y轴与地面垂直。实际的体尺距离为向量P0P1在XOY平面上的投影长度,即
在一个实施例中,如图5所示,针对基于飞行时间(TOF)原理的三维摄像机拍摄物体获取的图像距离与物体实际距离存在误差的问题,提出一个误差修正的修正函数用以修正获取的体尺测量数据。该修正函数基本思想为:首先通过拍摄不同尺寸的球体,获得相应点云数据,并通过对点云数据进行统计滤波、体素格滤波、基于RANSAC算法分割、基于欧式聚类分割等处理过程,得到球体在不同拍摄距离下的点云数据。再对数据进行拟合,获得不同拍摄距离下的图像上球体直径;与球体实际直径相比较,获得不同拍摄距离下,球体实际直径与图像直径的比值K;综上数据建立修正函数模型。
进一步地,已知物体实际距离与摄像机中图像距离具有一定的误差,为了使获取的数据更为精确,设其之间的修正函数为K,则有:
Yreal=K×Yimg
式中,Yreal-物体的实际距离;Yimg-物体的图像距离;Dreal-球体直径的实际距离;Dimg-球体直径的图像距离;上述参数单位均为米。根据上步拟合出的球体方程可以获得Dimg,利用仪器可以将球体实际直径Dreal求出。而且球体图像中的直径是随着球心与相机之间的距离Dcam变化的。利用MATLAB,将三个不同大小球体录取并处理后的多组数据中的Dreal/Dimg和Dcam拟合为一个多项式,结果所得修正函数为:
K=f(x)=0.335220x3-1.184603x2+1.472974x+0.429791
式中,x-球心到相机的距离Dcam,单位为米。
本发明提供了一种基于3D相机的活体西门塔尔牛体尺在线测量方法;利用TOF(Time of Flight)相机(IFM O3D303)获取牛的三维图像;采用C++语言实现对拍摄场景的三维点云数据的实时获取和处理以达到获取所需体尺数据的目的。在对点云数据的各种滤波去噪方法、点云分割方法、点云特征检测方法、和三维曲面重建的算法进行深入的研究后,结合实际应用进行分析,选择合适的理论和算法来对原始数据进行各项处理,分离背景并对活体秦川牛的信息进行数字化,即三维模型重建;对于不同部位的测量方法也不同,逐次选择测量点获得相应直线尺寸体尺(体高,胸深,背高,腰高,臀端高,尻长,体斜长)数据,并通过对获取的体尺数据进行修正,保证测量的精度,且实现了活体西门塔尔牛体尺的非接触测量。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,包括:
S1、通过TOF相机获取牛体三维图像数据,并将所述牛体三维图像数据转化为牛体三维点云数据;
S2、利用条件滤波、统计滤波和体素滤波对所述牛体三维点云数据进行处理;
S3、基于随机采样一致性算法和欧式聚类算法对滤波后的所述牛体三维点云数据进行聚类分割;
S4、对步骤S3中得到的所述牛体三维点云数据进行曲面重构,得到完整的牛体曲面模型;
S5、在重构后的牛体曲面模型上,根据预设选取条件选择体尺测量点,以获取牛体对应的七项体尺数据;
S6、利用修正函数对所述七项体尺数据进行修正。
2.如权利要求1所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S2包括:利用条件滤波将所述三维点云数据中背景区域去除;采用统计滤波滤除离群点;结合体素滤波,对牛体的三维点云数据进行压缩;
所述条件滤波根据用户设置点的坐标范围,一次性过滤输入点云中不满足条件的所有牛体三维点云数据;
所述统计滤波对每个点周围的临近点进行分析,统计各个临近点与被分析点的距离,记录平均距离与标准差;将标准差预设倍数作为判断是否为离群点的阈值,并剔除离群点;
所述体素滤波根据体素化网格对牛体三维点云数据进行压缩。
3.如权利要求1所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S3中的随机采用一致性算法为:
S21、通过对所述三维点云数据进行随机采样,获得多个最小数据点集,并根据所述最小数据点集获得模型估计;
S22、依次在全部所述三维点云数据上,对在各个最小数据点集上获取到的模型估计进行检验,得到正确模型;所述正确模型为所得模型估计与预设模型误差最小的模型;
S23、与正确模型不符的数据点则被判定为离群点,抽取出平面点云数据,并将其剔除。
4.如权利要求1所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S3中的欧式聚类算法为:
S31、选择空间中的某点p1,利用kd-tree找到离p1最近的n个点,判断这n个点到p1的距离,将所有距离小于阈值r的点都放在聚类Q里;其中,两点之间的欧氏距离公式为:
式中,d为欧几里得距离;n为三维点云中三维点云集的总数量;i={1,2,3,……,n};qi为所选聚类点云集;pi为相邻聚类点云集;qi,pi∈P;P为三维点云集;
S32、在聚类Q里找到非p1的一点p2,重复S31;
S33、在聚类Q找到非p1、p2的一点,重复S31、S32步骤,将找到p1、p2、p3……全部放进聚类Q里,直到聚类Q不再有新点加入,则聚类完成。
5.如权利要求1所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S4包括:
S41、采用ICP算法对牛体三维点云数据进行配准实现点云拼接,并利用双向kd-tree进行快速搜索,对ICP算法的配准运算进行加速;
S42、通过对配准之后的牛体三维点云数据中的表面数据重采样进行平滑化处理;
S43、采用贪心三角投影算法重构一个完整的牛体曲面模型。
6.如权利要求5所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S41中利用ICP算法对牛体三维点云数据配准包括:
对源点云上的每个点,通过kd-tree搜索目标点云找到其最近点,组成对应关系点对,计算源点云最优刚体变换,每次均重复选择对应关系点对,反复迭代直到均方差误差满足配准的收敛精度要求,从而实现对点云数据进行进行平移和旋转来完成目标点云的配准。
7.如权利要求5所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S43包括:
将有向点云的三维坐标投影到二维平面坐标中,进行三角网格化,并应用三角生长算法的贪心算法使网格生长,根据点的映射关系将二维平面中的三角网格映射回三维空间坐标中,拼接成一个完整点云的三角网格牛体曲面模型。
9.如权利要求1所述的一种基于3D相机的活体西门塔尔牛体尺在线测量方法,其特征在于,所述步骤S6中的修正函数包括:
S51、根据拍摄不同尺寸的球体,获得相应点云数据;
S52、通过对所述点云数据进行统计滤波、体素格滤波、基于随机一致性算法分割、欧式聚类算法分割,得到球体在不同拍摄距离下的点云数据;
S53、对步骤S52中的点云数据进行拟合,获得不同拍摄距离下的图像上球体直径;
S54、将图像上球体直径与球体实际直径进行比较,获得不同拍摄距离下,球体实际直径与图像直径的比值K;
S55、根据上述步骤S53和S54中获得的数据,求得修正函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128359.6A CN111145240A (zh) | 2019-11-18 | 2019-11-18 | 一种基于3d相机的活体西门塔尔牛体尺在线测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911128359.6A CN111145240A (zh) | 2019-11-18 | 2019-11-18 | 一种基于3d相机的活体西门塔尔牛体尺在线测量方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111145240A true CN111145240A (zh) | 2020-05-12 |
Family
ID=70517156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911128359.6A Pending CN111145240A (zh) | 2019-11-18 | 2019-11-18 | 一种基于3d相机的活体西门塔尔牛体尺在线测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145240A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612850A (zh) * | 2020-05-13 | 2020-09-01 | 河北工业大学 | 一种基于点云的猪只体尺参数测量方法 |
CN112907546A (zh) * | 2021-02-25 | 2021-06-04 | 北京农业信息技术研究中心 | 肉牛体尺非接触测量装置及方法 |
CN113191207A (zh) * | 2021-04-08 | 2021-07-30 | 华中科技大学 | 一种基于多视角特征的工件识别方法和装置 |
CN114220478A (zh) * | 2021-11-29 | 2022-03-22 | 北京东方联鸣科技发展有限公司 | 牧场动物体征全数字智能采集系统 |
CN114429497A (zh) * | 2020-10-14 | 2022-05-03 | 西北农林科技大学 | 一种基于3d相机的活体秦川牛体尺测量方法 |
CN114926808A (zh) * | 2022-03-30 | 2022-08-19 | 吉林大学 | 一种基于传感器融合的目标检测及追踪方法 |
CN115908182A (zh) * | 2022-11-25 | 2023-04-04 | 哈尔滨鑫润工业有限公司 | 基于数字化模型的模具磨损修复方法 |
CN117817417A (zh) * | 2024-03-05 | 2024-04-05 | 中北大学 | 一种基于数字孪生的大型筒体最优加工位姿调整方法 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060126903A1 (en) * | 2002-07-25 | 2006-06-15 | David Sharony | Imaging system and method for body condition evaluation |
WO2010063527A1 (en) * | 2008-12-03 | 2010-06-10 | Delaval Holding Ab | Arrangement and method for determining a body condition score of an animal |
JP2013253868A (ja) * | 2012-06-07 | 2013-12-19 | Central Research Institute Of Electric Power Industry | カメラトラップで撮影された動物の任意の部位のサイズの計測方法 |
EP2698763A1 (de) * | 2012-08-14 | 2014-02-19 | Hölscher & Leuschner GmbH & Co. | Verfahren zur Analyse eines lebenden Nutztieres |
WO2014174702A1 (ja) * | 2013-04-26 | 2014-10-30 | 沖電気工業株式会社 | 特徴量算出装置、特徴量算出方法および記録媒体 |
US20150088456A1 (en) * | 2013-09-25 | 2015-03-26 | Hyundai Motor Company | Apparatus and method for extracting feature point for recognizing obstacle using laser scanner |
US20150109603A1 (en) * | 2013-10-21 | 2015-04-23 | Electronics And Telecommunications Research Institute | Multi-wavelength image lidar sensor apparatus and signal processing method thereof |
US20170020113A1 (en) * | 2014-04-01 | 2017-01-26 | Lely Patent N.V. | Arrangement and method to determine a body condition score of an animal |
CN106709947A (zh) * | 2016-12-20 | 2017-05-24 | 西安交通大学 | 一种基于rgbd相机的三维人体快速建模系统 |
CN107749060A (zh) * | 2017-09-28 | 2018-03-02 | 深圳市纳研科技有限公司 | 机器视觉设备及基于飞行时间技术三维信息采集算法 |
CN108618749A (zh) * | 2017-03-22 | 2018-10-09 | 南通大学 | 基于便携式数字化眼底照相机的视网膜血管三维重建方法 |
CN109272572A (zh) * | 2018-08-30 | 2019-01-25 | 中国农业大学 | 一种基于双Kinect相机的建模方法及装置 |
CN110047144A (zh) * | 2019-04-01 | 2019-07-23 | 西安电子科技大学 | 一种基于Kinectv2的完整物体实时三维重建方法 |
CN110288580A (zh) * | 2019-06-25 | 2019-09-27 | 深圳德里克设备有限公司 | 牲畜体重的测量方法、测量装置及可读存储介质 |
CN111034925A (zh) * | 2019-11-15 | 2020-04-21 | 西宁市动物疫病预防控制中心(挂西宁市畜牧兽医站牌子) | 一种低钠低温酱牛肉的生产方法 |
US20210004577A1 (en) * | 2018-02-26 | 2021-01-07 | Touchless Animal Metrics, Sl | Method and device for the characterization of living specimens from a distance |
CN112907546A (zh) * | 2021-02-25 | 2021-06-04 | 北京农业信息技术研究中心 | 肉牛体尺非接触测量装置及方法 |
CN114429497A (zh) * | 2020-10-14 | 2022-05-03 | 西北农林科技大学 | 一种基于3d相机的活体秦川牛体尺测量方法 |
-
2019
- 2019-11-18 CN CN201911128359.6A patent/CN111145240A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060126903A1 (en) * | 2002-07-25 | 2006-06-15 | David Sharony | Imaging system and method for body condition evaluation |
WO2010063527A1 (en) * | 2008-12-03 | 2010-06-10 | Delaval Holding Ab | Arrangement and method for determining a body condition score of an animal |
JP2013253868A (ja) * | 2012-06-07 | 2013-12-19 | Central Research Institute Of Electric Power Industry | カメラトラップで撮影された動物の任意の部位のサイズの計測方法 |
EP2698763A1 (de) * | 2012-08-14 | 2014-02-19 | Hölscher & Leuschner GmbH & Co. | Verfahren zur Analyse eines lebenden Nutztieres |
WO2014174702A1 (ja) * | 2013-04-26 | 2014-10-30 | 沖電気工業株式会社 | 特徴量算出装置、特徴量算出方法および記録媒体 |
US20150088456A1 (en) * | 2013-09-25 | 2015-03-26 | Hyundai Motor Company | Apparatus and method for extracting feature point for recognizing obstacle using laser scanner |
US20150109603A1 (en) * | 2013-10-21 | 2015-04-23 | Electronics And Telecommunications Research Institute | Multi-wavelength image lidar sensor apparatus and signal processing method thereof |
US20170020113A1 (en) * | 2014-04-01 | 2017-01-26 | Lely Patent N.V. | Arrangement and method to determine a body condition score of an animal |
CN106709947A (zh) * | 2016-12-20 | 2017-05-24 | 西安交通大学 | 一种基于rgbd相机的三维人体快速建模系统 |
CN108618749A (zh) * | 2017-03-22 | 2018-10-09 | 南通大学 | 基于便携式数字化眼底照相机的视网膜血管三维重建方法 |
CN107749060A (zh) * | 2017-09-28 | 2018-03-02 | 深圳市纳研科技有限公司 | 机器视觉设备及基于飞行时间技术三维信息采集算法 |
US20210004577A1 (en) * | 2018-02-26 | 2021-01-07 | Touchless Animal Metrics, Sl | Method and device for the characterization of living specimens from a distance |
CN109272572A (zh) * | 2018-08-30 | 2019-01-25 | 中国农业大学 | 一种基于双Kinect相机的建模方法及装置 |
CN110047144A (zh) * | 2019-04-01 | 2019-07-23 | 西安电子科技大学 | 一种基于Kinectv2的完整物体实时三维重建方法 |
CN110288580A (zh) * | 2019-06-25 | 2019-09-27 | 深圳德里克设备有限公司 | 牲畜体重的测量方法、测量装置及可读存储介质 |
CN111034925A (zh) * | 2019-11-15 | 2020-04-21 | 西宁市动物疫病预防控制中心(挂西宁市畜牧兽医站牌子) | 一种低钠低温酱牛肉的生产方法 |
CN114429497A (zh) * | 2020-10-14 | 2022-05-03 | 西北农林科技大学 | 一种基于3d相机的活体秦川牛体尺测量方法 |
CN112907546A (zh) * | 2021-02-25 | 2021-06-04 | 北京农业信息技术研究中心 | 肉牛体尺非接触测量装置及方法 |
Non-Patent Citations (2)
Title |
---|
LVWEN HUANG ET AL.: "Non-Contact Body Measurement for Qinchuan Cattle with LiDAR Sensor", 《SENSORS》, pages 9 - 13 * |
XINYUN FAN ET AL.: "Noncontact measurement of indoor objects with 3D laser camera-based", 《2017 IEEE INTERNATIONAL CONFERENCE ON INFORMATION AND AUTOMATION (ICIA)》, pages 386 - 391 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612850A (zh) * | 2020-05-13 | 2020-09-01 | 河北工业大学 | 一种基于点云的猪只体尺参数测量方法 |
CN111612850B (zh) * | 2020-05-13 | 2023-09-29 | 河北工业大学 | 一种基于点云的猪只体尺参数测量方法 |
CN114429497A (zh) * | 2020-10-14 | 2022-05-03 | 西北农林科技大学 | 一种基于3d相机的活体秦川牛体尺测量方法 |
CN112907546A (zh) * | 2021-02-25 | 2021-06-04 | 北京农业信息技术研究中心 | 肉牛体尺非接触测量装置及方法 |
CN112907546B (zh) * | 2021-02-25 | 2024-04-05 | 北京农业信息技术研究中心 | 肉牛体尺非接触测量装置及方法 |
CN113191207A (zh) * | 2021-04-08 | 2021-07-30 | 华中科技大学 | 一种基于多视角特征的工件识别方法和装置 |
CN114220478A (zh) * | 2021-11-29 | 2022-03-22 | 北京东方联鸣科技发展有限公司 | 牧场动物体征全数字智能采集系统 |
CN114926808A (zh) * | 2022-03-30 | 2022-08-19 | 吉林大学 | 一种基于传感器融合的目标检测及追踪方法 |
CN115908182A (zh) * | 2022-11-25 | 2023-04-04 | 哈尔滨鑫润工业有限公司 | 基于数字化模型的模具磨损修复方法 |
CN115908182B (zh) * | 2022-11-25 | 2023-12-29 | 哈尔滨鑫润工业有限公司 | 基于数字化模型的模具磨损修复方法 |
CN117817417A (zh) * | 2024-03-05 | 2024-04-05 | 中北大学 | 一种基于数字孪生的大型筒体最优加工位姿调整方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145240A (zh) | 一种基于3d相机的活体西门塔尔牛体尺在线测量方法 | |
CN110363858B (zh) | 一种三维人脸重建方法及系统 | |
CN109345620B (zh) | 融合快速点特征直方图的改进icp待测物体点云拼接方法 | |
CN110340891B (zh) | 基于点云模板匹配技术的机械臂定位抓取系统及方法 | |
CN111724433B (zh) | 一种基于多目视觉的作物表型参数提取方法及系统 | |
Wu et al. | Quality-driven poisson-guided autoscanning | |
WO2018148841A1 (en) | System, method, and apparatus for modelling feet and selecting footwear | |
IL266060A (en) | Strong merging of three-dimensional texture grids | |
CN113178009B (zh) | 一种利用点云分割和网格修补的室内三维重建方法 | |
CN107610219B (zh) | 三维场景重构中几何线索感知的像素级点云稠密化方法 | |
CN110176071B (zh) | 一种基于特征模板的三维点云重构方法 | |
CN112233249A (zh) | 基于密集点云的b样条曲面拟合方法及装置 | |
Cohen et al. | Virtual reconstruction of archeological vessels using expert priors and intrinsic differential geometry information | |
CN111524168A (zh) | 点云数据的配准方法、系统、装置及计算机存储介质 | |
CN115375842A (zh) | 一种植株三维重建方法、终端及存储介质 | |
JP2019191874A (ja) | データ処理装置及びデータ処理方法 | |
CN112200854A (zh) | 一种基于视频图像的叶类蔬菜三维表型测量方法 | |
CN116862955A (zh) | 一种植物图像的三维配准方法、系统及设备 | |
CN111598803A (zh) | 一种基于变分辨率体素格网与稀疏卷积的点云滤波方法 | |
CN111612731A (zh) | 基于双目显微视觉的测量方法、装置、系统及介质 | |
Zhong et al. | Triple screening point cloud registration method based on image and geometric features | |
CN112906719A (zh) | 基于消费级深度相机的立木因子测量方法 | |
CN115953604B (zh) | 一种不动产地理信息测绘数据采集方法 | |
KR101673144B1 (ko) | 부분 선형화 기반의 3차원 영상 정합 방법 | |
CN112687010B (zh) | 一种端框钻模的数字化计量方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |