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

网站是用什么技术做的公司产品营销策划

网站是用什么技术做的,公司产品营销策划,深圳宝安网站建设报价,可以加微信的交友软件在这次我们将学会隐式形状模型算法通过pcl::ism::ImplicitShapeModel这个类来实现。这个算法是把Hough转换和特征近似包进行结合。有训练集#xff0c;这个算法将计算一个确定的模型用来预测一个物体的中心。 这个算法由两部分组成#xff0c;第一部分是训练#xff0c;第二… 在这次我们将学会隐式形状模型算法通过pcl::ism::ImplicitShapeModel这个类来实现。这个算法是把Hough转换和特征近似包进行结合。有训练集这个算法将计算一个确定的模型用来预测一个物体的中心。 这个算法由两部分组成第一部分是训练第二部分是物体识别。它有以下6步: 1.先发现特征点。这只是一个训练点云的简化。在这个步骤里面所有的点云都将被简化通过体元栅格这个途径。余下来的点就是特征点。 2.对特征点用FPFH进行预测。 3.通过k-means这个算法进行聚类。 4.计算每一个实例里面的对中心的方向。 5.对每一个视觉信息数学权重将会被计算。 6.每一个特征点的权重将会被计算。 我们在训练的过程结束以后接下来就是对象搜索的进程。 1.特征点检测。 2.每个点云特征点的特征检测。 3.对于每个特征搜索最近的视觉信息。 4.对于每一个特征: 对于每一个实例: 对相应的方向进行决策。 5.前面的步骤给了我们一个方向集用来预测中心与能量。 上面的步骤很多涉及机器学习之类的大致明白那个过程即可 代码部分: 第一步我们需要点云的训练集。在下面是一些可以用的训练集. Cat (train) Horse (train)           Lioness (train)           Michael (train) Wolf (train) 用来检测的点云:                        Cat                        Horse                         Lioness                         Michael                          Wolf   下面是代码 #include iostream #include pcl/io/pcd_io.h #include pcl/features/normal_3d.h #include pcl/features/feature.h #include pcl/visualization/cloud_viewer.h #include pcl/features/fpfh.h #include pcl/features/impl/fpfh.hpp #include pcl/recognition/implicit_shape_model.h #include pcl/recognition/impl/implicit_shape_model.hpp int main (int argc, char** argv) { if (argc 0 || argc % 2 0) return (-1); unsigned int number_of_training_clouds (argc - 3) / 2; pcl::NormalEstimationpcl::PointXYZ, pcl::Normal normal_estimator; normal_estimator.setRadiusSearch (25.0); std::vectorpcl::PointCloudpcl::PointXYZ::Ptr training_clouds; std::vectorpcl::PointCloudpcl::Normal::Ptr training_normals; std::vectorunsigned int training_classes; for (unsigned int i_cloud 0; i_cloud number_of_training_clouds - 1; i_cloud) { pcl::PointCloudpcl::PointXYZ::Ptr tr_cloud(new pcl::PointCloudpcl::PointXYZ ()); if ( pcl::io::loadPCDFile pcl::PointXYZ (argv[i_cloud * 2 1], *tr_cloud) -1 ) return (-1); pcl::PointCloudpcl::Normal::Ptr tr_normals (new pcl::PointCloudpcl::Normal)-makeShared (); normal_estimator.setInputCloud (tr_cloud); normal_estimator.compute (*tr_normals); unsigned int tr_class static_castunsigned int (strtol (argv[i_cloud * 2 2], 0, 10)); training_clouds.push_back (tr_cloud); training_normals.push_back (tr_normals); training_classes.push_back (tr_class); } pcl::FPFHEstimationpcl::PointXYZ, pcl::Normal, pcl::Histogram153 ::Ptr fpfh (new pcl::FPFHEstimationpcl::PointXYZ, pcl::Normal, pcl::Histogram153 ); fpfh-setRadiusSearch (30.0); pcl::Feature pcl::PointXYZ, pcl::Histogram153 ::Ptr feature_estimator(fpfh); pcl::ism::ImplicitShapeModelEstimation153, pcl::PointXYZ, pcl::Normal ism; ism.setFeatureEstimator(feature_estimator); ism.setTrainingClouds (training_clouds); ism.setTrainingNormals (training_normals); ism.setTrainingClasses (training_classes); ism.setSamplingSize (2.0f); pcl::ism::ImplicitShapeModelEstimation153, pcl::PointXYZ, pcl::Normal::ISMModelPtr model boost::shared_ptrpcl::features::ISMModel (new pcl::features::ISMModel); ism.trainISM (model); std::string file (trained_ism_model.txt); model-saveModelToFile (file); model-loadModelFromfile (file); unsigned int testing_class static_castunsigned int (strtol (argv[argc - 1], 0, 10)); pcl::PointCloudpcl::PointXYZ::Ptr testing_cloud (new pcl::PointCloudpcl::PointXYZ ()); if ( pcl::io::loadPCDFile pcl::PointXYZ (argv[argc - 2], *testing_cloud) -1 ) return (-1); pcl::PointCloudpcl::Normal::Ptr testing_normals (new pcl::PointCloudpcl::Normal)-makeShared (); normal_estimator.setInputCloud (testing_cloud); normal_estimator.compute (*testing_normals); boost::shared_ptrpcl::features::ISMVoteListpcl::PointXYZ vote_list ism.findObjects ( model, testing_cloud, testing_normals, testing_class); double radius model-sigmas_[testing_class] * 10.0; double sigma model-sigmas_[testing_class]; std::vectorpcl::ISMPeak, Eigen::aligned_allocatorpcl::ISMPeak strongest_peaks; vote_list-findStrongestPeaks (strongest_peaks, testing_class, radius, sigma); pcl::PointCloud pcl::PointXYZRGB::Ptr colored_cloud (new pcl::PointCloudpcl::PointXYZRGB)-makeShared (); colored_cloud-height 0; colored_cloud-width 1; pcl::PointXYZRGB point; point.r 255; point.g 255; point.b 255; for (size_t i_point 0; i_point testing_cloud-points.size (); i_point) { point.x testing_cloud-points[i_point].x; point.y testing_cloud-points[i_point].y; point.z testing_cloud-points[i_point].z; colored_cloud-points.push_back (point); } colored_cloud-height testing_cloud-points.size (); point.r 255; point.g 0; point.b 0; for (size_t i_vote 0; i_vote strongest_peaks.size (); i_vote) { point.x strongest_peaks[i_vote].x; point.y strongest_peaks[i_vote].y; point.z strongest_peaks[i_vote].z; colored_cloud-points.push_back (point); } colored_cloud-height strongest_peaks.size (); pcl::visualization::CloudViewer viewer (Result viewer); viewer.showCloud (colored_cloud); while (!viewer.wasStopped ()) { } return (0); } 1.首先加载用于训练的点云 for (unsigned int i_cloud 0; i_cloud number_of_training_clouds - 1; i_cloud) { pcl::PointCloudpcl::PointXYZ::Ptr tr_cloud(new pcl::PointCloudpcl::PointXYZ ()); if ( pcl::io::loadPCDFile pcl::PointXYZ (argv[i_cloud * 2 1], *tr_cloud) -1 ) return (-1); pcl::PointCloudpcl::Normal::Ptr tr_normals (new pcl::PointCloudpcl::Normal)-makeShared (); normal_estimator.setInputCloud (tr_cloud); normal_estimator.compute (*tr_normals); unsigned int tr_class static_castunsigned int (strtol (argv[i_cloud * 2 2], 0, 10)); training_clouds.push_back (tr_cloud); training_normals.push_back (tr_normals); training_classes.push_back (tr_class); } 2.创建特征评估器的实例。 pcl::FPFHEstimationpcl::PointXYZ, pcl::Normal, pcl::Histogram153 ::Ptr fpfh (new pcl::FPFHEstimationpcl::PointXYZ, pcl::Normal, pcl::Histogram153 ); fpfh-setRadiusSearch (30.0); pcl::Feature pcl::PointXYZ, pcl::Histogram153 ::Ptr feature_estimator(fpfh); 3.创建pcl::ism::ImplicitShapeModeEstimation的实例。 ism.setFeatureEstimator(feature_estimator); ism.setTrainingClouds (training_clouds); ism.setTrainingNormals (training_normals); ism.setTrainingClasses (training_classes); ism.setSamplingSize (2.0f); 4.这个实例将输入训练集和特征预估器 pcl::ism::ImplicitShapeModelEstimation153, pcl::PointXYZ, pcl::Normal::ISMModelPtr model boost::shared_ptrpcl::features::ISMModel (new pcl::features::ISMModel); ism.trainISM (model); 上面这些将简化训练过程的启动 5.把训练模型存到文件里面为了使代码复用 std::string file (trained_ism_model.txt); model-saveModelToFile (file); 6.从文件里面加载模型。 model-loadModelFromfile (file); 7.分类操作的点云和法线也需要训练的过程。 unsigned int testing_class static_castunsigned int (strtol (argv[argc - 1], 0, 10)); pcl::PointCloudpcl::PointXYZ::Ptr testing_cloud (new pcl::PointCloudpcl::PointXYZ ()); if ( pcl::io::loadPCDFile pcl::PointXYZ (argv[argc - 2], *testing_cloud) -1 ) return (-1); pcl::PointCloudpcl::Normal::Ptr testing_normals (new pcl::PointCloudpcl::Normal)-makeShared (); normal_estimator.setInputCloud (testing_cloud); normal_estimator.compute (*testing_normals); 8.启动分类的进程。代码将会告诉算法去找testing_class类型的物体在给定的testing_cloud这个点云里面。注意算法将会使用任何你放进去进行训练的模型。在分类操作以后一列的决策将会以pcl::ism::ISMVoteList这个形式返回。 double radius model-sigmas_[testing_class] * 10.0; double sigma model-sigmas_[testing_class]; std::vectorpcl::ISMPeak, Eigen::aligned_allocatorpcl::ISMPeak strongest_peaks; vote_list-findStrongestPeaks (strongest_peaks, testing_class, radius, sigma); 上面的代码将会找到决策里面的最好的峰值。 运行下面的代码 ./implicit_shape_model ism_train_cat.pcd 0 ism_train_horse.pcd 1 ism_train_lioness.pcd 2 ism_train_michael.pcd 3 ism_train_wolf.pcd 4 ism_test_cat.pcd 0 最后的参数是你要检测的点云和你感兴趣的类别。(比如猫) ~接下去你会看到   红点表示物体的中心。 如果你想要可视化决策的过程你就会看到如下的东西。蓝色是决策点
http://www.zqtcl.cn/news/40872/

相关文章:

  • 企业网站成品源码重庆企业seo
  • 网站建设基本资料怎样建立俄罗斯网站
  • 电子商务网站建设主管的策划书宁波网络营销推广开发中心
  • 手机网站推荐哪个好湘潭建设网站
  • 网站做服务端服务器上做网站
  • 做网站设计用什么软件阿里云wordpress发邮件
  • 上饶做网站多少钱wordpress 登陆样式
  • 番禺区建设网站崇文网站开发
  • 智慧团建网站密码忘了php 显示不同网站内容
  • 舟山外贸建站公司国际商务网站
  • 可信网站可信站点网站怎么加关键词做优化
  • 网站带薪歌手都要怎样做呀网站开发网页设计
  • wordpress数据采集seo外链发布平台有哪些
  • 想建网站怎么做大学动漫制作专业就业自我介绍
  • 网站通栏图片代码域名如何解析别人网站
  • 南桥做网站商品网站策划书
  • 汕头网站建设制作厂家wordpress登陆维护
  • 网站如何运营维护wordpress网站和微信公众号
  • 桥头网站建设沈阳网页设计课
  • 做网站安阳节点网站
  • 垦利县建设局网站品牌网络营销策划书
  • wordpress网站数据库wordpress登陆按钮
  • 做网站什么主题好做互联网营销师培训机构哪家好
  • 自学建立网站wordpress 緩慢
  • 网站代码建设+实例建设银行信用卡被钓鱼网站
  • 做外贸网络推广网站好搜自然seo
  • 网站活动页面设计验证码插件 wordpress
  • 做网站分辨率修改佛山市制作网站
  • 企业网站seo运营wordpress赚钱
  • 商城网站开发实训报告公司网站服务器租赁