尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

【最详解】如何进行点云的凹凸缺陷检测(opene3D)(完成度80%)

【最详解】如何进行点云的凹凸缺陷检测(opene3D)(完成度80%) 前言读前须知一开始, 我们必须要保证你已然彻底明白相关的基础的数学知识, 这里面涵盖了运用最小二乘法去拟合曲二次曲面, 还有曲面的曲率详尽求解。要是仍然没有搞明白, 那么就仔细瞧瞧下面的链接。【点云、图像】学习中 常见的数学知识及其中的关系与实战更新中建议从一个标题上从上往下看比较循序渐进其有补充内容, 即曲率, 它反映的是曲面在某一点处的弯曲程度, 此弯曲程度与该点及其邻近点的位置相关, 并且还和该点及其邻近点的法向量有关。以及一些的常见操作爆肝5万字️ 点云数据处理基础版先上结果:实现思路和常见的那种, 像划痕、斑点这样子, 能通过肉眼就看见的缺陷检测不一样, 凹凸性的缺陷很难用肉眼发现, 甚至得借助打光照射, 才能够看到凹槽在这儿我们运用深度摄像机普通相机加上深度信息, 去采集深度信息, 在这种情形下, 我们把呈现出来的图像称作深度图, 当然啦, 深度图也能够被转换成为点云。这里我们仅对点云这种数据进行处理。要求对异形曲面微细缺陷识别我6月份之前要完成的毕设这里缺陷主要指凸起和凹槽。想法1想法1: 要是在一个平面上有凹槽或者凸起出现, 那么先确立一个由大部分点拟合而成的平面, 接着针对那些不在这个平面的点云展开高程分析, 从而确立凹陷或者凸起的程度。实际上并非会十分平, 所以想法1被排除掉了, 然而能够用来当作平面去做一个简易示例。想法2想法2计算点云上每个点的领域曲率来描绘点的弯曲程度。想法3想法3: 计算点云上各个点的高斯曲率, 计算点云上各个点的平均曲率, 通过这两种曲率来描绘点的弯曲程度。补充机器学习——详解KD-Tree原理补充1获取兔子点云pcd首先在3D 此下载ply点云模型。示例import open3d as o3d import numpy as np #将ply转换成pcd def convert_ply_to_pcd(ply_file, pcd_file): # 读取PLY文件 point_cloud o3d.io.read_point_cloud(ply_file) # 保存为PCD文件 o3d.io.write_point_cloud(pcd_file, point_cloud) # 使用示例 ply_file_path rbunny\reconstruction\bunny.ply #填入ply文件的路径 pcd_file_path rbunny.pcd #填入pcd文件的路径 convert_ply_to_pcd(ply_file_path, pcd_file_path)补充2创建凹凸点云见【点云】生成有凹凸的平面的高斯函数部分。实现 想法1暂无想法2想法2在完成求取领域曲率之后, 我们针对其曲率规模予以一种划分且实施可视化。这里进一步对这个领域曲率的定义进行详解。首先我们已经在这里的实战1了解到了领域曲率的求法。基于邻域特征点提取和匹配的点云配准_李新春只是呢这个定义, 我仅仅是在别的博客里头, 以及在下面的这篇论文当中, 才寻找到了定义, 然而并没有在wiki百科里, 寻觅到关联的阐述。找了半天后依然无法解释其中原因于是在参考了下面两篇博文后如何理解矩阵特征值特征值的最大值与最小值想出了这么一个合理的解释1、这个曲率所定义的优点在于, 它并非依赖于法向量的方向, 并且它的值域是, 这致使它相对容易去进行归一化以及可视化。2、那么, 为何却用那最小的特征值去除以特征值的和, 而并非是采用最大的特征值去除以特征值的和的做法。这是为什么。这是由于, 最小的特征值所对应的特征向量, 乃是曲面的法向量, 然而, 最大的特征值所对应的特征向量, 却是曲面的主方向。倘若以最大的特征值去除以特征值和, 那么曲率的值便会正比例地和曲面的主方向的弯曲程度相关联, 然而却和曲面的法向方向的弯曲程度没有关联, 若是如此就必然会把曲面的凹凸变化给忽略掉, 进而致使曲率的计算出现不准确的情况。若以最小的特征值去除特征值和, 那么曲率的值会与曲面法向方向的弯曲程度成正比例关系, 且与曲面主方向的弯曲程度没有关联。如此便能体现出曲面的凹凸变化情况, 进而提升曲率的计算精度。因此, 做这样的操作, 是把最小的特征值除以特征值和, 并非用最大的特征值除以特征值和。这如此而为, 是为了能更好地形容曲面的局部形状, 而不是曲面的整体方向。于是我们就可以坦然用这个定义来求取了。代码畏惧点云数目过多难以计算, 于是最先针对事例里的兔子点云开展了一次下采样 怎样获取兔子点云届时再给出教程。import open3d as o3d import numpy as np def pca_compute(data, sortTrue): #1、主成分分析 average_data np.mean(data, axis0) # 求每一列的平均值即求各个特征的平均值 decentration_matrix data - average_data # 去中心化矩阵 H np.dot(decentration_matrix.T, decentration_matrix) # 求协方差矩阵 #协方差是衡量两个变量关系的统计量协方差为正表示两个变量正相关为负表示两个变量负相关 eigenvectors, eigenvalues, eigenvectors_T np.linalg.svd(H) # 求特征值与特征向量 #H UΣV^T #输出列向量、对角矩阵、行向量 if sort: sort eigenvalues.argsort()[::-1] # 从大到小排序 .argsort()是升序排序[::-1]是将数组反转实现降序排序 eigenvalues eigenvalues[sort] # 特征值 ## 使用索引来获取排序后的数组 return eigenvalues def caculate_surface_curvature(radius,pcd):#2、计算点云的表面曲率 cloud pcd points np.asarray(cloud.points) #点云转换为数组 点云数组形式为[[x1,y1,z1],[x2,y2,z2],...] kdtree o3d.geometry.KDTreeFlann(cloud) #建立KDTree num_points len(cloud.points) #点云中点的个数 curvature [] # 储存表面曲率 for i in range(num_points): k, idx, _ kdtree.search_radius_vector_3d(cloud.points[i], radius) #返回邻域点的个数和索引 neighbors points[idx] #数组形式为[[x1,y1,z1],[x2,y2,z2],...] w pca_compute(neighbors)#调用第1步 #由降序排序w[2]为最小特征值 #np.zeros_like(w[2])生成与w[2]相同形状的全0数组 delt np.divide(w[2], np.sum(w)) #根据公式求取领域曲率 curvature.append(delt) curvature np.array(curvature, dtypenp.float64) return curvature def curvature_normal():#3、曲率归一化 从0-1/3归到0-1之间 curvature caculate_surface_curvature(radius,pcd) #调用第2步 c_max max(curvature) c_min min(curvature) cur_normal [(float(i) - c_min) / (c_max - c_min) for i in curvature] return cur_normal def draw(cur_max,cur_min,pcd):#4、绘图 cur_normal curvature_normal()#调用第3步 pcd.paint_uniform_color([0.5,0.5,0.5]) #初始化所有颜色为灰色 for i in range(len(cur_normal)): if 0 cur_normal[i] cur_min: #归一化后的曲率 np.asarray(pcd.colors)[i] [1, 0, 0]#红 elif cur_min cur_normal[i] cur_max: np.asarray(pcd.colors)[i] [0, 1, 0]#绿 elif cur_max cur_normal[i] 1: np.asarray(pcd.colors)[i] [0, 0, 1]#蓝 # 可视化 o3d.visualization.draw_geometries([pcd]) cur_max 0.7 cur_min 0.3 #曲率分割基准 radius 0.05 voxel_size 0.01 #越小密度越大 pcd o3d.io.read_point_cloud(bunny.pcd) print(pcd) pcd pcd.voxel_down_sample(voxel_size) #下采样 draw(cur_max,cur_min,pcd)结果此长度, 宽度出现报错之时是能够不去管的, 有那么一点儿小小的强迫症的人, 是可以在可视化那儿变更成:o3d.visualization.draw_geometries([pcd],window_name可视化原始点云, width800, height800, left50, top50, mesh_show_back_faceFalse)红色为曲率较低绿色曲率中等蓝色曲率较高。发觉在效果方面不太理想, 红色的某些部分看上去曲率也是很高的, 甚至还出现了一个在初始化时的灰点, 或许在求邻近点之际没有取到? 无法知晓。想法3首先我们在这里的高斯曲率和平均曲率求解有了一些认识。附一张图代码import open3d as o3d import numpy as np from scipy.optimize import curve_fit voxel_size 0.01 #越小密度越大 radius 0.07 pcd o3d.io.read_point_cloud(bunny.pcd) pcd pcd.voxel_down_sample(voxel_size) #下采样 cloud pcd points np.asarray(cloud.points) #点云转换为数组 点云数组形式为[[x1,y1,z1],[x2,y2,z2],...] kdtree o3d.geometry.KDTreeFlann(cloud) #建立KDTree num_points len(cloud.points) #点云中点的个数 pcd.paint_uniform_color([1, 0, 0]) # 初始化所有颜色为红色 # 定义非线性函数这里假设是一个二次曲面 def func(x, a, b, c, d, e, f): return a * x[0]**2 b * x[1]**2 c * x[0] * x[1] d * x[0] e * x[1] f def f(x, y): return popt[0]*x**2 popt[1]*y**2 popt[2]* x*y popt[3]*x popt[4]*y popt[5] # 定义曲面的梯度函数即一阶偏导数 def gradient(f, x, y): # 使用中心差分法近似求导 #参考https://cloud.tencent.com/developer/article/1685164 h 1e-6 # 差分步长可以根据精度要求调整 df_dx (f(x h, y) - f(x - h, y)) / (2 * h) # 对x求偏导 df_dy (f(x, y h) - f(x, y - h)) / (2 * h) # 对y求偏导 return df_dx, df_dy # 定义曲面的曲率函数即二阶偏导数 def curvature(f, x, y): # 使用中心差分法近似求导 h 1e-6 # 差分步长可以根据精度要求调整 d2f_dx2 (f(x h, y) - 2 * f(x, y) f(x - h, y)) / (h ** 2) # 对x求二阶偏导 d2f_dy2 (f(x, y h) - 2 * f(x, y) f(x, y - h)) / (h ** 2) # 对y求二阶偏导 d2f_dxdy (f(x h, y h) - f(x h, y - h) - f(x - h, y h) f(x - h, y - h)) / (4 * h ** 2) # 对xy求混合偏导 # 根据公式计算高斯曲率K和平均曲率H df_dx, df_dy gradient(f, x, y) # 调用梯度函数求一阶偏导 E 1 df_dx ** 2 F df_dx * df_dy G 1 df_dy ** 2 L d2f_dx2 / np.sqrt(1 df_dx ** 2 df_dy ** 2) #np.sqrt()表示开方 M d2f_dxdy / np.sqrt(1 df_dx ** 2 df_dy ** 2) N d2f_dy2 / np.sqrt(1 df_dx ** 2 df_dy ** 2) K (L * N - M ** 2) / (E * G - F ** 2) # 高斯曲率 H (E * N G * L - 2 * F * M) / (2 * (E * G - F ** 2)) # 平均曲率 return K, H curvatures [] for i in range(num_points): k, idx, _ kdtree.search_radius_vector_3d(cloud.points[i], radius) #返回邻域点的个数和索引 neighbors points[idx] #数组形式为[[x1,y1,z1],[x2,y2,z2],...] #print(k) Y neighbors[:, 2] # 因变量 X neighbors[:, [0,1]] # 自变量 [[2,3],[1,1],[8,9],[11,12],[4,5],[8,9]] 6*2 popt, pcov curve_fit(func, xdataX.T,ydata Y) x cloud.points[i][0] # 某一点的x坐标 y cloud.points[i][1] # 某一点的y坐标 K, H curvature(f, x, y) # 计算该点的曲率 curvatures.append([K,H]) print(curvatures) for i in range(len(curvatures)): if -0.05curvatures[i][0] 0.05 and -0.05curvatures[i][1] 0.05: #平坦 np.asarray(pcd.colors)[i] [0, 0, 0]#黑 elif -0.05curvatures[i][0] 0.05 and curvatures[i][1] 0.05: #凸 np.asarray(pcd.colors)[i] [1, 0, 0]#红 elif -0.05curvatures[i][0] 0.05 and -0.05curvatures[i][1] 0.05: #凹 np.asarray(pcd.colors)[i] [0, 1, 0]#绿 elif curvatures[i][0] -0.05 and curvatures[i][1] 0.05: #鞍形脊 大部分凸少部分凹 np.asarray(pcd.colors)[i] [0, 0, 1]#蓝 elif curvatures[i][0] -0.05 and curvatures[i][1] -0.05: #鞍形谷 大部分凹少部分凸 np.asarray(pcd.colors)[i] [0, 1, 1]#青 elif curvatures[i][0] 0.05 and curvatures[i][1] 0.05: #峰 np.asarray(pcd.colors)[i] [1, 0, 1]#紫 elif curvatures[i][0] 0.05 and curvatures[i][1] -0.05: #阱 np.asarray(pcd.colors)[i] [1, 1, 0]#黄 #显示点云 o3d.visualization.draw_geometries([pcd])结果最后的成果好得出奇, 对每一个点都做了划分, 相较于想法1而言好出太多了。在这里暂且运用兔子点云施行测试, 后续要创建一些平面点云再度开展测试一番。总结要学习事物, 都并非一下子就能成功的, 确实是得一步步踏踏实实地去学, 才能够学懂弄明白。它是个不错的事物呀, 只有当你自身也掌握一些事物的时候, 它才会给出正确的回应, 所以是不能轻易相信它的。后续测试见【点云】生成有凹凸的平面测试部分未完成1、返回面积、深度信息最后更新– 2024.7.17–毕了业, 论文写完了, 最后那个返回面积与深度信息, 因内容量够了, 就懒得去实现了, 实现起来应当也简单, 要找到所有凹凸的那个颜色点的中心, 可以把位置求平均值得出缺陷中心之类的, 接着依此缺陷中心获取其深度信息, 面积要将那个颜色点求出类似最小包围盒之类的东西, 应该就能算作面积了。呈现出的成果是, 将二维的图片扫描成为三维图片之后, 缺陷精准度能够精确至大概1.5左右像素的偏移, 扫描的高度是1.5m高, 扫描得出的结果如下:最终的那块呈现为紫色的区域, 是属于缺陷的区域, 能够这么讲, 我所拥有的这一套算法, 只要对于参数进行的调教是良好的, 按理来说也是能够将其识别出来的。其主要的实现方式是这样的, 先是进行线结构光扫描操作, 再接着开展三维建模工作, 最后去做那点云凹凸缺陷识别事宜。线结构光扫描时首先线会打在三维物体上, 进而出现反射情况, 然后依据反射来获取深度, 于是数据集之中的数据包含一张有线的图, 还有一张无线的图, 接着把其图像背景裁剪成一条线图, 依据这个线图, 将不经过三维物体的线的坐标当作深度为0, 要是左右偏移了多少像素, 那么就会凹凸相应多少深度。具体代码见具体论文见基于的点云凹凸缺陷识别论文毕设 建议看自己建设的数据集: cap_1, 提取的代码是: ffdq, 链接为: (用于论文那种), 提取的代码是: am9m。大佬完成的检测系统拍出来的他的上也有检测系统的代码扫描场景展示其中数据集cap_1扫描的是下面 没有放上白板前的图。cap_2 则是我论文里实现的图即上图缺陷展示其实, 仅仅是识别出了最为显而易见的大洞, 其他的一些小的凹凸不平的缺陷, 要是在不进行滤波之前的状况下,也能够识别出两个或者三个, 不过, 也并非是特别精准的, 那就交付给你们去达成了。Www.ufdrh.cn/Article/details/4734221.sHtMLWww.ufdrh.cn/Article/details/2488385.sHtMLWww.ufdrh.cn/Article/details/4638380.sHtMLWww.ufdrh.cn/Article/details/8654027.sHtMLWww.ufdrh.cn/Article/details/3727568.sHtMLWww.ufdrh.cn/Article/details/7382396.sHtMLWww.ufdrh.cn/Article/details/6050109.sHtMLWww.ufdrh.cn/Article/details/5595283.sHtMLWww.ufdrh.cn/Article/details/9183125.sHtMLWww.ufdrh.cn/Article/details/9915430.sHtMLWww.ufdrh.cn/Article/details/4642089.sHtMLWww.ufdrh.cn/Article/details/7289889.sHtMLWww.ufdrh.cn/Article/details/4207235.sHtMLWww.ufdrh.cn/Article/details/6896340.sHtMLWww.ufdrh.cn/Article/details/8888721.sHtMLWww.ufdrh.cn/Article/details/4969365.sHtMLWww.ufdrh.cn/Article/details/2926671.sHtMLWww.ufdrh.cn/Article/details/6876184.sHtMLWww.ufdrh.cn/Article/details/7557918.sHtMLWww.ufdrh.cn/Article/details/6835531.sHtMLWww.ufdrh.cn/Article/details/7094650.sHtMLWww.ufdrh.cn/Article/details/1077924.sHtMLWww.ufdrh.cn/Article/details/5836918.sHtMLWww.ufdrh.cn/Article/details/5443993.sHtMLWww.ufdrh.cn/Article/details/5368810.sHtMLWww.ufdrh.cn/Article/details/1283888.sHtMLWww.ufdrh.cn/Article/details/6296931.sHtMLWww.ufdrh.cn/Article/details/1929451.sHtMLWww.ufdrh.cn/Article/details/3216833.sHtMLWww.ufdrh.cn/Article/details/5787502.sHtMLWww.ufdrh.cn/Article/details/6027197.sHtMLWww.ufdrh.cn/Article/details/4808586.sHtMLWww.ufdrh.cn/Article/details/9068057.sHtMLWww.ufdrh.cn/Article/details/6700127.sHtMLWww.ufdrh.cn/Article/details/4734168.sHtMLWww.ufdrh.cn/Article/details/5966823.sHtMLWww.ufdrh.cn/Article/details/8865836.sHtMLWww.ufdrh.cn/Article/details/6254896.sHtMLWww.ufdrh.cn/Article/details/5347308.sHtMLWww.ufdrh.cn/Article/details/6764327.sHtMLWww.ufdrh.cn/Article/details/5662539.sHtMLWww.ufdrh.cn/Article/details/8127239.sHtMLWww.ufdrh.cn/Article/details/1148270.sHtMLWww.ufdrh.cn/Article/details/9468730.sHtMLWww.ufdrh.cn/Article/details/6567535.sHtMLWww.ufdrh.cn/Article/details/5576943.sHtMLWww.ufdrh.cn/Article/details/5576602.sHtMLWww.ufdrh.cn/Article/details/4105825.sHtMLWww.ufdrh.cn/Article/details/1318221.sHtMLWww.ufdrh.cn/Article/details/7231434.sHtMLWww.ufdrh.cn/Article/details/9438789.sHtMLWww.ufdrh.cn/Article/details/8226157.sHtMLWww.ufdrh.cn/Article/details/9791119.sHtMLWww.ufdrh.cn/Article/details/8310976.sHtMLWww.ufdrh.cn/Article/details/5500457.sHtMLWww.ufdrh.cn/Article/details/8670547.sHtMLWww.ufdrh.cn/Article/details/5789747.sHtMLWww.ufdrh.cn/Article/details/2067132.sHtMLWww.ufdrh.cn/Article/details/4760820.sHtMLWww.ufdrh.cn/Article/details/1663177.sHtMLWww.ufdrh.cn/Article/details/7066221.sHtMLWww.ufdrh.cn/Article/details/7113262.sHtMLWww.ufdrh.cn/Article/details/8740127.sHtMLWww.ufdrh.cn/Article/details/6488077.sHtMLWww.ufdrh.cn/Article/details/9911906.sHtMLWww.ufdrh.cn/Article/details/1519518.sHtMLWww.ufdrh.cn/Article/details/8643426.sHtMLWww.ufdrh.cn/Article/details/4767070.sHtMLWww.ufdrh.cn/Article/details/6630415.sHtMLWww.ufdrh.cn/Article/details/3206871.sHtMLWww.ufdrh.cn/Article/details/4227767.sHtMLWww.ufdrh.cn/Article/details/5128976.sHtMLWww.ufdrh.cn/Article/details/9406935.sHtMLWww.ufdrh.cn/Article/details/2951453.sHtMLWww.ufdrh.cn/Article/details/4348694.sHtMLWww.ufdrh.cn/Article/details/9544635.sHtMLWww.ufdrh.cn/Article/details/1909207.sHtMLWww.ufdrh.cn/Article/details/3550052.sHtMLWww.ufdrh.cn/Article/details/4574880.sHtMLWww.ufdrh.cn/Article/details/7559696.sHtMLWww.ufdrh.cn/Article/details/7962856.sHtMLWww.ufdrh.cn/Article/details/4385016.sHtMLWww.ufdrh.cn/Article/details/5782995.sHtMLWww.ufdrh.cn/Article/details/7705745.sHtMLWww.ufdrh.cn/Article/details/6184640.sHtMLWww.ufdrh.cn/Article/details/8038313.sHtMLWww.ufdrh.cn/Article/details/4372919.sHtMLWww.ufdrh.cn/Article/details/9659943.sHtMLWww.ufdrh.cn/Article/details/2990466.sHtMLWww.ufdrh.cn/Article/details/5483854.sHtMLWww.ufdrh.cn/Article/details/3334066.sHtMLWww.ufdrh.cn/Article/details/5070513.sHtMLWww.ufdrh.cn/Article/details/5495542.sHtMLWww.ufdrh.cn/Article/details/8362619.sHtMLWww.ufdrh.cn/Article/details/5223325.sHtMLWww.ufdrh.cn/Article/details/5466412.sHtMLWww.ufdrh.cn/Article/details/1316047.sHtMLWww.ufdrh.cn/Article/details/6235105.sHtMLWww.ufdrh.cn/Article/details/6206314.sHtMLWww.ufdrh.cn/Article/details/3350661.sHtMLWww.ufdrh.cn/Article/details/2415691.sHtMLWww.ufdrh.cn/Article/details/8614173.sHtMLWww.ufdrh.cn/Article/details/9542219.sHtMLWww.ufdrh.cn/Article/details/7318003.sHtMLWww.ufdrh.cn/Article/details/8683485.sHtMLWww.ufdrh.cn/Article/details/4034080.sHtMLWww.ufdrh.cn/Article/details/8986051.sHtMLWww.ufdrh.cn/Article/details/6472576.sHtMLWww.ufdrh.cn/Article/details/1844816.sHtMLWww.ufdrh.cn/Article/details/1729459.sHtMLWww.ufdrh.cn/Article/details/7437498.sHtMLWww.ufdrh.cn/Article/details/9163019.sHtMLWww.ufdrh.cn/Article/details/1918933.sHtMLWww.ufdrh.cn/Article/details/8338095.sHtMLWww.ufdrh.cn/Article/details/6390944.sHtMLWww.ufdrh.cn/Article/details/7278265.sHtMLWww.ufdrh.cn/Article/details/5684829.sHtMLWww.ufdrh.cn/Article/details/1351283.sHtMLWww.ufdrh.cn/Article/details/5789119.sHtMLWww.ufdrh.cn/Article/details/7800605.sHtMLWww.ufdrh.cn/Article/details/8572251.sHtMLWww.ufdrh.cn/Article/details/5765565.sHtMLWww.ufdrh.cn/Article/details/2218444.sHtMLWww.ufdrh.cn/Article/details/6254251.sHtMLWww.ufdrh.cn/Article/details/3141241.sHtMLWww.ufdrh.cn/Article/details/2730614.sHtMLWww.ufdrh.cn/Article/details/2431406.sHtMLWww.ufdrh.cn/Article/details/1440063.sHtMLWww.ufdrh.cn/Article/details/6845368.sHtMLWww.ufdrh.cn/Article/details/6009453.sHtMLWww.ufdrh.cn/Article/details/3948636.sHtMLWww.ufdrh.cn/Article/details/5343111.sHtMLWww.ufdrh.cn/Article/details/6060893.sHtMLWww.ufdrh.cn/Article/details/8181960.sHtMLWww.ufdrh.cn/Article/details/6944909.sHtMLWww.ufdrh.cn/Article/details/5867059.sHtMLWww.ufdrh.cn/Article/details/4544179.sHtMLWww.ufdrh.cn/Article/details/4087579.sHtMLWww.ufdrh.cn/Article/details/3787125.sHtMLWww.ufdrh.cn/Article/details/9637907.sHtMLWww.ufdrh.cn/Article/details/9384954.sHtMLWww.ufdrh.cn/Article/details/9253708.sHtMLWww.ufdrh.cn/Article/details/1595556.sHtMLWww.ufdrh.cn/Article/details/9575148.sHtMLWww.ufdrh.cn/Article/details/8272221.sHtMLWww.ufdrh.cn/Article/details/2251716.sHtMLWww.ufdrh.cn/Article/details/7580017.sHtMLWww.ufdrh.cn/Article/details/1318798.sHtMLWww.ufdrh.cn/Article/details/3579914.sHtMLWww.ufdrh.cn/Article/details/6016311.sHtMLWww.ufdrh.cn/Article/details/6983304.sHtMLWww.ufdrh.cn/Article/details/2318813.sHtMLWww.ufdrh.cn/Article/details/1193039.sHtMLWww.ufdrh.cn/Article/details/8776863.sHtMLWww.ufdrh.cn/Article/details/7633751.sHtMLWww.ufdrh.cn/Article/details/5098337.sHtMLWww.ufdrh.cn/Article/details/4766152.sHtMLWww.ufdrh.cn/Article/details/9166218.sHtMLWww.ufdrh.cn/Article/details/9019361.sHtMLWww.ufdrh.cn/Article/details/9804032.sHtMLWww.ufdrh.cn/Article/details/3427778.sHtMLWww.ufdrh.cn/Article/details/7120809.sHtMLWww.ufdrh.cn/Article/details/6102178.sHtMLWww.ufdrh.cn/Article/details/1860083.sHtMLWww.ufdrh.cn/Article/details/4341124.sHtMLWww.ufdrh.cn/Article/details/3961163.sHtMLWww.ufdrh.cn/Article/details/9580770.sHtMLWww.ufdrh.cn/Article/details/3887014.sHtMLWww.ufdrh.cn/Article/details/4274843.sHtMLWww.ufdrh.cn/Article/details/6468299.sHtMLWww.ufdrh.cn/Article/details/3605117.sHtMLWww.ufdrh.cn/Article/details/9183657.sHtMLWww.ufdrh.cn/Article/details/9920406.sHtMLWww.ufdrh.cn/Article/details/9017391.sHtMLWww.ufdrh.cn/Article/details/2851344.sHtMLWww.ufdrh.cn/Article/details/5343713.sHtMLWww.ufdrh.cn/Article/details/9063825.sHtMLWww.ufdrh.cn/Article/details/1172866.sHtMLWww.ufdrh.cn/Article/details/8743661.sHtMLWww.ufdrh.cn/Article/details/5205319.sHtMLWww.ufdrh.cn/Article/details/3189792.sHtMLWww.ufdrh.cn/Article/details/2533807.sHtMLWww.ufdrh.cn/Article/details/7146631.sHtMLWww.ufdrh.cn/Article/details/1534174.sHtMLWww.ufdrh.cn/Article/details/8401469.sHtMLWww.ufdrh.cn/Article/details/9377525.sHtMLWww.ufdrh.cn/Article/details/9879807.sHtMLWww.ufdrh.cn/Article/details/5703853.sHtMLWww.ufdrh.cn/Article/details/5083212.sHtMLWww.ufdrh.cn/Article/details/5670132.sHtMLWww.ufdrh.cn/Article/details/5318226.sHtMLWww.ufdrh.cn/Article/details/7938751.sHtMLWww.ufdrh.cn/Article/details/2216677.sHtMLWww.ufdrh.cn/Article/details/5171131.sHtMLWww.ufdrh.cn/Article/details/6223575.sHtMLWww.ufdrh.cn/Article/details/2519275.sHtMLWww.ufdrh.cn/Article/details/2028795.sHtMLWww.ufdrh.cn/Article/details/1321176.sHtMLWww.ufdrh.cn/Article/details/3203181.sHtMLWww.ufdrh.cn/Article/details/5008934.sHtMLWww.ufdrh.cn/Article/details/5652065.sHtMLWww.ufdrh.cn/Article/details/8958588.sHtMLWww.ufdrh.cn/Article/details/3001279.sHtMLWww.ufdrh.cn/Article/details/4338926.sHtMLWww.ufdrh.cn/Article/details/5697920.sHtMLWww.ufdrh.cn/Article/details/9737058.sHtMLWww.ufdrh.cn/Article/details/8397904.sHtMLWww.ufdrh.cn/Article/details/8932900.sHtMLWww.ufdrh.cn/Article/details/1293558.sHtMLWww.ufdrh.cn/Article/details/7461798.sHtMLWww.ufdrh.cn/Article/details/8335097.sHtMLWww.ufdrh.cn/Article/details/4928717.sHtMLWww.ufdrh.cn/Article/details/8816584.sHtMLWww.ufdrh.cn/Article/details/7603698.sHtMLWww.ufdrh.cn/Article/details/2815133.sHtMLWww.ufdrh.cn/Article/details/8408223.sHtMLWww.ufdrh.cn/Article/details/2119030.sHtMLWww.ufdrh.cn/Article/details/2850152.sHtMLWww.ufdrh.cn/Article/details/8404975.sHtMLWww.ufdrh.cn/Article/details/1233862.sHtMLWww.ufdrh.cn/Article/details/9682711.sHtMLWww.ufdrh.cn/Article/details/5190902.sHtMLWww.ufdrh.cn/Article/details/7403778.sHtMLWww.ufdrh.cn/Article/details/8393439.sHtMLWww.ufdrh.cn/Article/details/7380912.sHtMLWww.ufdrh.cn/Article/details/3294143.sHtMLWww.ufdrh.cn/Article/details/6929168.sHtMLWww.ufdrh.cn/Article/details/6758181.sHtMLWww.ufdrh.cn/Article/details/1774753.sHtMLWww.ufdrh.cn/Article/details/3582763.sHtMLWww.ufdrh.cn/Article/details/7947999.sHtMLWww.ufdrh.cn/Article/details/8951876.sHtMLWww.ufdrh.cn/Article/details/7538474.sHtMLWww.ufdrh.cn/Article/details/3086419.sHtMLWww.ufdrh.cn/Article/details/3726318.sHtMLWww.ufdrh.cn/Article/details/7219265.sHtMLWww.ufdrh.cn/Article/details/6142966.sHtMLWww.ufdrh.cn/Article/details/5790665.sHtMLWww.ufdrh.cn/Article/details/7929335.sHtMLWww.ufdrh.cn/Article/details/2881998.sHtMLWww.ufdrh.cn/Article/details/6230264.sHtMLWww.ufdrh.cn/Article/details/7432254.sHtMLWww.ufdrh.cn/Article/details/3766403.sHtMLWww.ufdrh.cn/Article/details/7114334.sHtMLWww.ufdrh.cn/Article/details/8989581.sHtMLWww.ufdrh.cn/Article/details/5134454.sHtMLWww.ufdrh.cn/Article/details/1932467.sHtMLWww.ufdrh.cn/Article/details/4840150.sHtMLWww.ufdrh.cn/Article/details/4095936.sHtMLWww.ufdrh.cn/Article/details/6246807.sHtMLWww.ufdrh.cn/Article/details/6487449.sHtMLWww.ufdrh.cn/Article/details/1286809.sHtMLWww.ufdrh.cn/Article/details/6293082.sHtMLWww.ufdrh.cn/Article/details/1775980.sHtMLWww.ufdrh.cn/Article/details/6713457.sHtMLWww.ufdrh.cn/Article/details/7717510.sHtMLWww.ufdrh.cn/Article/details/4622230.sHtMLWww.ufdrh.cn/Article/details/6719979.sHtMLWww.ufdrh.cn/Article/details/6846542.sHtMLWww.ufdrh.cn/Article/details/1048868.sHtMLWww.ufdrh.cn/Article/details/6052670.sHtMLWww.ufdrh.cn/Article/details/8565242.sHtMLWww.ufdrh.cn/Article/details/7769445.sHtMLWww.ufdrh.cn/Article/details/7345264.sHtMLWww.ufdrh.cn/Article/details/3977541.sHtMLWww.ufdrh.cn/Article/details/7304669.sHtMLWww.ufdrh.cn/Article/details/9483394.sHtMLWww.ufdrh.cn/Article/details/8804863.sHtMLWww.ufdrh.cn/Article/details/4462202.sHtMLWww.ufdrh.cn/Article/details/6827802.sHtMLWww.ufdrh.cn/Article/details/7106061.sHtMLWww.ufdrh.cn/Article/details/2555353.sHtMLWww.ufdrh.cn/Article/details/9213838.sHtMLWww.ufdrh.cn/Article/details/8641229.sHtMLWww.ufdrh.cn/Article/details/9087177.sHtMLWww.ufdrh.cn/Article/details/3764008.sHtMLWww.ufdrh.cn/Article/details/8300276.sHtMLWww.ufdrh.cn/Article/details/3720191.sHtMLWww.ufdrh.cn/Article/details/7241463.sHtMLWww.ufdrh.cn/Article/details/2426768.sHtMLWww.ufdrh.cn/Article/details/7037511.sHtMLWww.ufdrh.cn/Article/details/3030667.sHtMLWww.ufdrh.cn/Article/details/2502871.sHtMLWww.ufdrh.cn/Article/details/8548026.sHtMLWww.ufdrh.cn/Article/details/7147721.sHtMLWww.ufdrh.cn/Article/details/3026703.sHtMLWww.ufdrh.cn/Article/details/5890898.sHtMLWww.ufdrh.cn/Article/details/7262320.sHtMLWww.ufdrh.cn/Article/details/7556813.sHtMLWww.ufdrh.cn/Article/details/5082598.sHtMLWww.ufdrh.cn/Article/details/2012866.sHtMLWww.ufdrh.cn/Article/details/5725659.sHtMLWww.ufdrh.cn/Article/details/5980043.sHtMLWww.ufdrh.cn/Article/details/6052929.sHtMLWww.ufdrh.cn/Article/details/5784645.sHtMLWww.ufdrh.cn/Article/details/2881908.sHtMLWww.ufdrh.cn/Article/details/8356787.sHtMLWww.ufdrh.cn/Article/details/7004831.sHtMLWww.ufdrh.cn/Article/details/9686643.sHtMLWww.ufdrh.cn/Article/details/8170544.sHtMLWww.ufdrh.cn/Article/details/4066024.sHtMLWww.ufdrh.cn/Article/details/7686816.sHtMLWww.ufdrh.cn/Article/details/5340660.sHtMLWww.ufdrh.cn/Article/details/6576749.sHtMLWww.ufdrh.cn/Article/details/3988772.sHtMLWww.ufdrh.cn/Article/details/5888443.sHtMLWww.ufdrh.cn/Article/details/3758213.sHtMLWww.ufdrh.cn/Article/details/7001997.sHtMLWww.ufdrh.cn/Article/details/1850917.sHtMLWww.ufdrh.cn/Article/details/6673396.sHtMLWww.ufdrh.cn/Article/details/6290125.sHtMLWww.ufdrh.cn/Article/details/6068298.sHtMLWww.ufdrh.cn/Article/details/9711470.sHtMLWww.ufdrh.cn/Article/details/3496704.sHtMLWww.ufdrh.cn/Article/details/9916281.sHtMLWww.ufdrh.cn/Article/details/9780185.sHtMLWww.ufdrh.cn/Article/details/2416363.sHtMLWww.ufdrh.cn/Article/details/7731989.sHtMLWww.ufdrh.cn/Article/details/4430914.sHtMLWww.ufdrh.cn/Article/details/4165381.sHtMLWww.ufdrh.cn/Article/details/8227674.sHtMLWww.ufdrh.cn/Article/details/1918332.sHtMLWww.ufdrh.cn/Article/details/5990260.sHtMLWww.ufdrh.cn/Article/details/3430119.sHtMLWww.ufdrh.cn/Article/details/6486947.sHtMLWww.ufdrh.cn/Article/details/5594727.sHtMLWww.ufdrh.cn/Article/details/5059771.sHtMLWww.ufdrh.cn/Article/details/1314774.sHtMLWww.ufdrh.cn/Article/details/4969969.sHtMLWww.ufdrh.cn/Article/details/7401680.sHtMLWww.ufdrh.cn/Article/details/5312566.sHtMLWww.ufdrh.cn/Article/details/6236591.sHtMLWww.ufdrh.cn/Article/details/4751518.sHtMLWww.ufdrh.cn/Article/details/1103361.sHtMLWww.ufdrh.cn/Article/details/7725216.sHtMLWww.ufdrh.cn/Article/details/8911588.sHtMLWww.ufdrh.cn/Article/details/6222343.sHtMLWww.ufdrh.cn/Article/details/2338966.sHtMLWww.ufdrh.cn/Article/details/4204542.sHtMLWww.ufdrh.cn/Article/details/9885409.sHtMLWww.ufdrh.cn/Article/details/1045014.sHtMLWww.ufdrh.cn/Article/details/9212175.sHtMLWww.ufdrh.cn/Article/details/4439174.sHtMLWww.ufdrh.cn/Article/details/9806810.sHtMLWww.ufdrh.cn/Article/details/3764477.sHtMLWww.ufdrh.cn/Article/details/3855284.sHtMLWww.ufdrh.cn/Article/details/1994798.sHtMLWww.ufdrh.cn/Article/details/7704618.sHtMLWww.ufdrh.cn/Article/details/6464525.sHtMLWww.ufdrh.cn/Article/details/4234435.sHtML
返回列表