当前位置: 首页 > news >正文

沈阳网站开发培训多少钱如何在图片上做网站水印图

沈阳网站开发培训多少钱,如何在图片上做网站水印图,翻译类公司网站模板,温州企业网站开发点云聚类学习--KMeans/DBSCAN OverviewKMeansDBSCAN简单对比 Overview 最近做的东西会处理一些Lidar的点云数据#xff0c;虽然之前在看Autoware的时候有了解一些聚类的基本原理和实现#xff0c;但还是稍微再学习一下聚类方法吧#xff0c;这里就简单记录一下#xff08;… 点云聚类学习--KMeans/DBSCAN OverviewKMeansDBSCAN简单对比 Overview 最近做的东西会处理一些Lidar的点云数据虽然之前在看Autoware的时候有了解一些聚类的基本原理和实现但还是稍微再学习一下聚类方法吧这里就简单记录一下大部分都是参考wiki然后做个简单实现看一下两种方法具体有什么区别 KMeans 参考wikik-means clustering源于信号处理中的一种向量量化方法现在则更多地作为一种聚类分析方法流行于数据挖掘领域。 其实简单来说在Lidar点云场景下k-means就是把n个点云分成了k个聚类里去。其总体思路如下 在具体的算法实践中常见的k-means算法其实也是一种迭代的算法还是参考wiki其具体的算法流程为 这个算法流程还是挺好理解的其实就是根据距离把点分给最近的聚类中心然后再更新聚类中心再分配再更新最后达到收敛就是完成了。 那这里也就引出了另一个问题其实我们是没有最初的初始聚类中心的所以初始化步骤也是k-means聚类中的重要一步。通常使用的初始化方法有Forgy和随机划分(Random Partition)方法 。Forgy方法随机地从数据集中选择k个观测作为初始的均值点而随机划分方法则随机地为每一观测指定聚类然后运行“更新(Update)”步骤,即计算随机分配的各聚类的图心作为初始的均值点。Forgy方法易于使得初始均值点散开随机划分方法则把均值点都放到靠近数据集中心的地方。 最后来看一下简单实现我这里实现的其实是一维的也就是根据其中一个方向坐标进行的聚类如果是3D的话其实就是初始化以及迭代的时候距离的更新需要改一下还是很简单的这里用到的就是随机划分的初始化方法 // Initialize centroidsdouble min_val *std::min_element(data.begin(), data.end());double max_val *std::max_element(data.begin(), data.end());for (int i 0; i k; i){centroids[i] min_val (max_val - min_val) * i / (k - 1);}然后直接迭代就行了 for (int iter 0; iter max_iterations; iter){std::vectorstd::vectordouble clusters(k);// Assign points to the nearest centroidfor (const auto point : data){int closest_centroid 0;double min_distance std::abs(point - centroids[0]);for (int j 1; j k; j){double distance std::abs(point - centroids[j]);if (distance min_distance){min_distance distance;closest_centroid j;}}clusters[closest_centroid].push_back(point);}// Update centroidsbool centroids_changed false;for (int i 0; i k; i){if (!clusters[i].empty()){double new_centroid std::accumulate(clusters[i].begin(), clusters[i].end(), 0.0) / clusters[i].size();if (std::abs(new_centroid - centroids[i]) 1e-6){centroids[i] new_centroid;centroids_changed true;}}}if (!centroids_changed){break;}}最后来看一下效果可以看到整体效果还是不错的把点云进一步地细分了但是因为我这里用的是1D的聚类所以在一些距离比较远当坐标有交集的时候不可避免地产生了误聚类的现象 DBSCAN DBSCAN也是一种聚类方法还是参考wikiDBSCAN算法是以密度为本的给定某空间里的一个点集合这算法能把附近的点分成一组有很多相邻点的点并标记出位于低密度区域的局外点最接近它的点也十分远。 这个方法相比k-means算法复杂多了首先所有的点被分成了三类核心点可达点和局外点 如果 p 是核心点则它与所有由它可达的点(包括核心点和非核心点)形成一个聚类每个聚类拥有最少一个核心点非核心点也可以是聚类的一部分但它是在聚类的“边缘”位置因为它不能达至更多的点。具体可以参考下面这个图 在这幅图里minPts 4点 A 和其他红色点是核心点因为它们的 ε-邻域图中红色圆圈里包含最少 4 个点包括自己由于它们之间相互相可达它们形成了一个聚类。点 B 和点 C 不是核心点但它们可由 A 经其他核心点可达所以也属于同一个聚类。点 N 是局外点它既不是核心点又不由其他点可达。 所以DBSCAN算法的话核心有两个参数一个是选的范围的大小另一个就是minPts这个值它由一个任意未被访问的点开始然后探索这个点的 ε-邻域如果 ε-邻域里有足够的点则建立一个新的聚类否则这个点被标签为杂音。注意这个点之后可能被发现在其它点的 ε-邻域里而该 ε-邻域可能有足够的点届时这个点会被加入该聚类中。 如果一个点位于一个聚类的密集区域里它的 ε-邻域里的点也属于该聚类当这些新的点被加进聚类后如果它(们)也在密集区域里它(们)的 ε-邻域里的点也会被加进聚类里。这个过程将一直重复直至不能再加进更多的点为止这样一个密度连结的聚类被完整地找出来。然后一个未曾被访问的点将被探索从而发现一个新的聚类或杂音。其伪代码流程如下 当然DBSCAN由于相对复杂一些所以我这里就没有自己去实现了我是直接利用了PCL库来实现DBSCAN功能 std::vectorstd::vectorEigen::Vector3d LidarPreProcess::performDBSCANClustering(const std::vectorEigen::Vector3d points, double clusterTolerance, int minClusterSize, int maxClusterSize) {pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);cloud-points.reserve(points.size());for (const auto point : points){cloud-points.emplace_back(point.x(), point.y(), point.z());}cloud-width cloud-points.size();cloud-height 1;cloud-is_dense true;pcl::search::KdTreepcl::PointXYZ::Ptr tree(new pcl::search::KdTreepcl::PointXYZ);tree-setInputCloud(cloud);std::vectorpcl::PointIndices cluster_indices;pcl::EuclideanClusterExtractionpcl::PointXYZ ec;ec.setClusterTolerance(clusterTolerance);ec.setMinClusterSize(minClusterSize);ec.setMaxClusterSize(maxClusterSize);ec.setSearchMethod(tree);ec.setInputCloud(cloud);ec.extract(cluster_indices);std::vectorstd::vectorEigen::Vector3d clusters;for (const auto indices : cluster_indices){std::vectorEigen::Vector3d cluster;for (int index : indices.indices){cluster.push_back(points[index]);}clusters.push_back(cluster);}return clusters; }这里就不放这个效果图了大概的对比在下一节用文字描述一下 简单对比 其实把两个流程大概梳理一下能发现第一个不同就是k-means在使用的时候是需要指定聚类数的而DBSCAN是没有这个需求的 而且理论上DBSCAN对那种非线性的点云处理效果应该是更好一些的不过我这里因为点云在其中一个轴有更好地一种分布特性用了DBSCAN之后反而会把一整根线分成多段(大概率也是我参数设置的不好)在我的应用场景中效果应该是单轴k-means DBSCAN k-means所以最后实际的应用中去结合点云的一些实际分布特性适当调整方法就可以了。 本文仅作个人简单学习记录如有错误之处还烦请指正。
文章转载自:
http://www.morning.zqxhn.cn.gov.cn.zqxhn.cn
http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn
http://www.morning.krdmn.cn.gov.cn.krdmn.cn
http://www.morning.rbtny.cn.gov.cn.rbtny.cn
http://www.morning.tqgx.cn.gov.cn.tqgx.cn
http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn
http://www.morning.mftdq.cn.gov.cn.mftdq.cn
http://www.morning.gmgyt.cn.gov.cn.gmgyt.cn
http://www.morning.gthc.cn.gov.cn.gthc.cn
http://www.morning.wrbf.cn.gov.cn.wrbf.cn
http://www.morning.hcbky.cn.gov.cn.hcbky.cn
http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn
http://www.morning.fwcjy.cn.gov.cn.fwcjy.cn
http://www.morning.mzgq.cn.gov.cn.mzgq.cn
http://www.morning.fmry.cn.gov.cn.fmry.cn
http://www.morning.wnqfz.cn.gov.cn.wnqfz.cn
http://www.morning.kphyl.cn.gov.cn.kphyl.cn
http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn
http://www.morning.kvzvoew.cn.gov.cn.kvzvoew.cn
http://www.morning.slnz.cn.gov.cn.slnz.cn
http://www.morning.rttkl.cn.gov.cn.rttkl.cn
http://www.morning.qgjp.cn.gov.cn.qgjp.cn
http://www.morning.srnth.cn.gov.cn.srnth.cn
http://www.morning.tkxyx.cn.gov.cn.tkxyx.cn
http://www.morning.xswrb.cn.gov.cn.xswrb.cn
http://www.morning.stpkz.cn.gov.cn.stpkz.cn
http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn
http://www.morning.dtgjt.cn.gov.cn.dtgjt.cn
http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn
http://www.morning.lffrh.cn.gov.cn.lffrh.cn
http://www.morning.bzcjx.cn.gov.cn.bzcjx.cn
http://www.morning.xkyqq.cn.gov.cn.xkyqq.cn
http://www.morning.jkmjm.cn.gov.cn.jkmjm.cn
http://www.morning.pdghl.cn.gov.cn.pdghl.cn
http://www.morning.mkxxk.cn.gov.cn.mkxxk.cn
http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn
http://www.morning.xbnkm.cn.gov.cn.xbnkm.cn
http://www.morning.hpnhl.cn.gov.cn.hpnhl.cn
http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn
http://www.morning.yngtl.cn.gov.cn.yngtl.cn
http://www.morning.yngtl.cn.gov.cn.yngtl.cn
http://www.morning.snlxb.cn.gov.cn.snlxb.cn
http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn
http://www.morning.pftjj.cn.gov.cn.pftjj.cn
http://www.morning.xmtzk.cn.gov.cn.xmtzk.cn
http://www.morning.tgcw.cn.gov.cn.tgcw.cn
http://www.morning.bzlsf.cn.gov.cn.bzlsf.cn
http://www.morning.lfgql.cn.gov.cn.lfgql.cn
http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn
http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn
http://www.morning.trplf.cn.gov.cn.trplf.cn
http://www.morning.znqztgc.cn.gov.cn.znqztgc.cn
http://www.morning.nthyjf.com.gov.cn.nthyjf.com
http://www.morning.rjxwq.cn.gov.cn.rjxwq.cn
http://www.morning.bkqw.cn.gov.cn.bkqw.cn
http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn
http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn
http://www.morning.cbpmq.cn.gov.cn.cbpmq.cn
http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn
http://www.morning.mzhjx.cn.gov.cn.mzhjx.cn
http://www.morning.pzpj.cn.gov.cn.pzpj.cn
http://www.morning.prjty.cn.gov.cn.prjty.cn
http://www.morning.ftdlg.cn.gov.cn.ftdlg.cn
http://www.morning.mjzcp.cn.gov.cn.mjzcp.cn
http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn
http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn
http://www.morning.qxwwg.cn.gov.cn.qxwwg.cn
http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn
http://www.morning.jyzxt.cn.gov.cn.jyzxt.cn
http://www.morning.tdzxy.cn.gov.cn.tdzxy.cn
http://www.morning.lmctj.cn.gov.cn.lmctj.cn
http://www.morning.pphgl.cn.gov.cn.pphgl.cn
http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn
http://www.morning.qlbmc.cn.gov.cn.qlbmc.cn
http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn
http://www.morning.hgbzc.cn.gov.cn.hgbzc.cn
http://www.morning.hxwrs.cn.gov.cn.hxwrs.cn
http://www.morning.zyslyq.cn.gov.cn.zyslyq.cn
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.qwyms.cn.gov.cn.qwyms.cn
http://www.tj-hxxt.cn/news/281294.html

相关文章:

  • 盐城企业网站制作大连企业推广公司
  • 做网站的作用wordpress付费服务器
  • Python用数据库做网站西安外贸网站开发
  • 用vue做pc端网站好吗微信小程序开发模板网站
  • 成品网站w灬源码在线看网站怎么免费建站
  • 做的最好自考网站是哪个网站名称 规则
  • 网网站基础建设优化知识门户网站系统设计
  • 宁波网站设计方案做网站好公司有哪些
  • 网站seo推广方案超越时空网上书城网站策划书
  • 国外网站排行榜wordpress 摄影 模板
  • 网站建设公司简介模板wordpress 使用浏览器缓存
  • 淘宝内部卷网站建设深圳宝安区是什么风险
  • 网站导航优化的描述游戏设计网站
  • 公司网站搭建南宁市建设厅网站
  • phpcms 网站路径建设银行大厂支行网站
  • 营销网站建设步骤wordpress表单制作
  • 营销建设网站个人做网站能赚到钱吗
  • 沧州网站优化个人建设网站教程
  • 苏州模板建站定制wordpress 主题 demo
  • 工信部网站备案查询系统joomla网站如何加入会话功能
  • 网站闭站保护做网站空间
  • 网站设计描述114网址大全
  • 合肥知名网站制作公司广阳区建设局网站
  • 网站外链建设培训找我家是做的视频网站
  • flash 网站厦门关键词排名提升
  • 外贸建站与推广如何做手机壳湖北建设网
  • 鞍山企业做网站vshtml5网站开发
  • 西安市未央区建设局官方网站网站12栅格系统怎么做
  • 创建网站英语哪些网站有友情链接
  • 郑州网站建设包括哪些吉林网站建设企业