我的创作纪念日 - 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
matlab 复制代码
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 实现:

cpp 复制代码
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提供平台---------- !!!

相关推荐
zimoyin1 小时前
解决 Java/Kotlin 资源加载问题
java·python·kotlin
紫雾凌寒1 小时前
计算机视觉应用|自动驾驶的感知革命:多传感器融合架构的技术演进与落地实践
人工智能·机器学习·计算机视觉·架构·自动驾驶·多传感器融合·waymo
wjcroom2 小时前
数字投屏叫号器-发射端python窗口定制
开发语言·python
静候光阴2 小时前
python使用venv命令创建虚拟环境(ubuntu22)
linux·开发语言·python
sauTCc2 小时前
DataWhale-三月学习任务-大语言模型初探(一、二、五章学习)
人工智能·学习·语言模型
Y1nhl2 小时前
力扣hot100_二叉树(4)_python版本
开发语言·pytorch·python·算法·leetcode·机器学习
暴力袋鼠哥2 小时前
基于深度学习的中文文本情感分析系统
人工智能·深度学习
视觉语言导航2 小时前
RAG助力机器人场景理解与具身操作!EmbodiedRAG:基于动态三维场景图检索的机器人任务规划
人工智能·深度学习·具身智能
岱宗夫up2 小时前
《加快应急机器人发展的指导意见》中智能化升级的思考——传统应急设备智能化升级路径与落地实践
人工智能·aigc
訾博ZiBo2 小时前
AI日报 - 2025年3月12日
人工智能