我的创作纪念日 - CSDN创作者4周年,感谢平台,未来可期!

CSDN创作者4周年,感谢平台,未来可期!

  • 不知不觉已经加入这个平台4周年了,恍惚昨日之景,有些事情,你不在意,平台却已经写好了程序来给它画上了标记,思想无线,故程序也无边界
  • 坦白讲,虽说四周年,但感觉自己真正 在这个平台创作内容是从2021年下半年起,为什呢这么说呢,是因为从那时真正有了对算法和程序的思考能力。
  • https://blog.csdn.net/yohnyang?spm=1010.2135.3001.5343
    在这里插入图片描述

机缘

  1. 通过blog进行基础知识的积累和巩固
  2. 实战项目中的经验分享
  3. 日常学习过程中的记录
  4. 通过文章进行技术交流
  5. 知识付费,技术变现
  6. 尝试通过这个平台可以拓展更多的人脉,接触新的关于视觉算法相关的项目,不断突破和挑战

收获

  1. 涨粉
    在这里插入图片描述

  2. 总体等级提升
    在这里插入图片描述

  3. 资源下载
    在这里插入图片描述

  4. 变现
    在这里插入图片描述


日常

  1. 创作是否已经是生活的一部分了,每天早上会打开手机CSDN查看一下数据变化,工作日都会通过CSDN查询相关的技术盲区,阶段性的自我计数审查,如果有了新的心得和总结总是会迫不及待的将它变为blog,已经视为必须的一部分。
  2. 有限的精力下,如何平衡创作和工作学习:时间弥足珍贵,二十多岁,生活压力普遍较大,贯穿着技术薄弱、工作经验少、人脉稀疏,加班时间较长,可能留给创作和学习的时间很少,但是慢慢工作时间长了会发现,做一个项目或者开发一个功能的时候,如果信手拈来,那增加的就是惊讶积累,如果颇具挑战,那每天都将收获一些新的知识和体会,相当于每天都在学习,我觉得创作可以从闲暇之余挤出一些时间书写博客,一次写或者分几次完成也都可以0

成就

  • 工作两年多,自己也动手做过一些小项目,这些在我的
    人工智能
    专栏就可以看到,主要介绍的是一些视觉算法应用(传统+deeplearning)
  • 有一个成就时最值得骄傲的,2022年研究了一个C++的机器人库并记录在了机器人控制算法专栏,这个在全网是独一份而且最详细的,个人感觉他要比ROS要好用一些。
  • 总结的深度学习实战例程目前篇数少却订阅量很好,这个很自豪,以后也会再接再厉,续上更多的项目案例呈现给我的粉丝及订阅者们,感谢一路陪伴。
  • 放一个感觉自己刚站起来的代码,在我的立体视觉与三维重建专栏可以看到详细介绍:https://blog.csdn.net/yohnyang/article/details/124490587
clear all;
close all;
clc;

%生成原始点集
X=[];Y=[];Z=[];
for i=-180:2:180
    for j=-90:2:90
        x = i * pi / 180.0;
        y = j * pi / 180.0;   
        X =[X,cos(y) * cos(x)];
        Y =[Y,sin(y) * cos(x)];
        Z =[Z,sin(x)]; 
    end
end
P=[X(1:3000)' Y(1:3000)' Z(1:3000)'];

%生成变换后点集
i=0.5;j=0.3;k=0.7;
Rx=[1 0 0;0 cos(i) -sin(i); 0 sin(i) cos(i)];
Ry=[cos(j) 0 sin(j);0 1 0;-sin(j) 0 cos(j)];
Rz=[cos(k) -sin(k) 0;sin(k) cos(k) 0;0 0 1];
R=Rx*Ry*Rz;
X=P*R + [0.2,0.3,0.4];

plot3(P(:,1),P(:,2),P(:,3),'b.');
hold on;
plot3(X(:,1),X(:,2),X(:,3),'r.');

%计算点集均值
up = mean(P);
ux = mean(X);

% %case1:矩阵右乘 
% P1=P-up;
% X1=X-ux;
% 
% % 计算点集协方差
% sigma=P1'*X1/(length(X1))
% 
% [u s v] = svd(sigma);
% RR=u*v';
% 
% % 计算平移向量
% qr=ux-up*RR;
% 
% %验证旋转矩阵与平移向量正确性
% Pre = P*RR+qr;

%case2:矩阵左乘
PP=P';
XX=X';

PP1=PP-up';
XX1=XX-ux';

%sigma
sigma=XX1*PP1'/length(XX1);

[u s v]=svd(sigma);

RR=u*v';
qr=ux'-RR*(up');

Pre = RR*PP+qr;
Pre=Pre';


figure;
plot3(P(:,1),P(:,2),P(:,3),'b.');
hold on;
plot3(X(:,1),X(:,2),X(:,3),'r.');
plot3(Pre(:,1),Pre(:,2),Pre(:,3),'go');

C++ - Eigen 实现:

void pose_estimation_3d3d(const vector<Point3f> &pts1,
                          const vector<Point3f> &pts2,
                          Mat &R, Mat &t) {
    
    
  Point3f p1, p2;     // center of mass
  int N = pts1.size();
  //求质心
  for (int i = 0; i < N; i++) {
    
    
    p1 += pts1[i];
    p2 += pts2[i];
  }
  p1 = Point3f(Vec3f(p1) / N);
  p2 = Point3f(Vec3f(p2) / N);
  
  //去质心
  vector<Point3f> q1(N), q2(N); // remove the center
  for (int i = 0; i < N; i++) {
    
    
    q1[i] = pts1[i] - p1;
    q2[i] = pts2[i] - p2;
  }

  // 计算W
  Eigen::Matrix3d W = Eigen::Matrix3d::Zero();
  for (int i = 0; i < N; i++) {
    
    
    W += Eigen::Vector3d(q1[i].x, q1[i].y, q1[i].z) * Eigen::Vector3d(q2[i].x, q2[i].y, q2[i].z).transpose();
  }
  cout << "W=" << W << endl;

  // SVD分解出U V
  Eigen::JacobiSVD<Eigen::Matrix3d> svd(W, Eigen::ComputeFullU | Eigen::ComputeFullV);
  Eigen::Matrix3d U = svd.matrixU();
  Eigen::Matrix3d V = svd.matrixV();

  cout << "U=" << U << endl;
  cout << "V=" << V << endl;
 //计算R T
  Eigen::Matrix3d R_ = U * (V.transpose());
  if (R_.determinant() < 0) {
    
      //R存在多解情况,取正值
    R_ = -R_;
  }
  //求解t
  Eigen::Vector3d t_ = Eigen::Vector3d(p1.x, p1.y, p1.z) - R_ * Eigen::Vector3d(p2.x, p2.y, p2.z);

  // 变成矩阵形式
  R = (Mat_<double>(3, 3) <<
    R_(0, 0), R_(0, 1), R_(0, 2),
    R_(1, 0), R_(1, 1), R_(1, 2),
    R_(2, 0), R_(2, 1), R_(2, 2)
  );
  t = (Mat_<double>(3, 1) << t_(0, 0), t_(1, 0), t_(2, 0));
}

憧憬

  • 职业规划
    在此不说太远的事情,先说下三到五年的职业规划吧:当下工作第3年中,希望再过两到三年可以夯实C++实战能力,在多线程、算法及部署上运用自如,并可以在Qt中移植自己的算法,形成一套完整的体系操作,真正的成为技术精英,五年内的话希望可以不仅在技术上有发展,希望以后可以在产品设计、方案制定及团队协作上积累更多的经验,更好的发光发热哦

  • 创作规划

    • 一方面将现有的专栏补充完善,争取每个实战项目专栏数量在50+
    • 另一方面开拓其他专栏项目,比如nlp、机器人控制算法等
    • 也希望可以将我积累的经验和知识优化成课程放在CSDN平台上,若干年后保存一些很有意义的回忆吧​​

致谢

!!!---------- 感谢CSDN提供平台---------- !!!

猜你喜欢

转载自blog.csdn.net/yohnyang/article/details/132389185