少女祈祷中...

3.20与教授短暂meeting的总结

我的三个提案

经过3月份对6D物体姿态估计(6DoF Object-Pose Estimation)的学习和调研,以及和Li博的讨论,今天开会时idea也是终于受到了教授的认可。这意味着我今后的修士课题的大方向,很有可能就已经定下来了。下面是我的PPT:

在我的PPT中,我主要阐释了三个关键点:

  • End-to-end Method: 我的目标是构建一个端到端的网络,能够直接回归出6D姿态估计参数T和R。
  • RGB based, No Depth: 不使用深度信息Tz,而是通过网络去回归这个参数。回归得到深度Tz后,根据pin-hole模型并结合相机内参可以直接计算出Tx和Ty。
  • Challenging Scenarios: object pose领域有一些较为挑战性的场景,最具代表性的就是texture-less,Symmetric,Occlusion和Transparent。

Prediction ≠ Estimation!基于1ms的object-pose prediction是一个全新的领域

Li博士在会议后和我提到,至今还没有人用1ms系统的GPU-FPGA框架做过object-pose prediction相关的工作,如果能把这一部分做好,也是一个相当不错的proposal。我之前错以为pose-rediction就是estimation,但其实并不是这样的。

  • estimation:输入t时刻的图像,预测物体t时刻(当前)的状态。
  • prediction:输入t时刻的图像,预测物体t+n时刻(尚未发生)的状态。

再后来,教授给我发了一封邮件,里面提到了他多年前曾提案过的pose prediction的框架结构,从这个图片中就能一目了然了。实验室前辈完成的dual-hand首次提出了使用GPU优化FPGA的1ms框架,关键帧交给GPU进行精确计算,然后在十几(或者有可能是几十)帧之后,反馈回FPGA进行优化。由于GPU运算也有延时,因此这个框架下只能用老的数据优化新的数据,这就是所谓的estimation的局限性。但如果用当前时刻的帧预测十几或几十帧之后物体的状态,此时刚好GPU也运算完成,这样的话就是用预测的数据优化新的数据,这就是所谓的prediction。这是目前实验室尚未踏足的领域。


论文阅读

综述:Deep Learning-Based Object Pose Estimation: A Comprehensive Survey

这篇综述我觉得最有用的地方在于最后的future direction部分,详细介绍了很多很多值得研究的方向。其中提到的“End-to-end methods integrating detection or segmentation”,“Single RGB image-based methods”和“Model lightweighting”,都与我的想法和1ms系统对速度的要求不谋而合。

当然,这篇文章前面的部分阐述了object-pose estimation的基本概念,对于入门者而言能够增广领域内知识储备,建议耐心看完。

PoseCNN:一个端到端的Object Pose-estimation网络

这篇论文非常适合萌新学习,在原理部分详细阐述了object-pose领域的基础知识,包括:物体的6D参数T(Translation:Tx,Ty,Tz)和R(Rotation:一个四元组)的组成,图像的2D参数(cx,cy)等;以及他的配图可以清晰直观地看出物体坐标系和相机坐标系,以及他们之间的关系。

并且,PoseCNN是目前主流的network-based的一个范本,非常值得学习:网络的最初部分是用于feature extraction的CNN网络;随后接上几个并行的网络,将之前提取出的特征(keypoint等)作为输入,分别进行不同的回归工作。最终,整合成为6D的[T | R]预测结果。


方向调研随笔

PossibleResearchPoint

关键词1:End-to-end methods
传统的方法是先用R-CNN,YOLO等神经网络进行物体识别和特征点提取,然后运用PnP等数学方法求解物体位姿信息[R|T],使用这样需要迭代求解的数学方法复杂度太高,无法FPGA硬件部署;
与之不同的是,我们可以把feature detection和pose estimation两个工作结合,全部用一个神经网络实现。
(2025.3.17补)可以参考PoseCNN的网络架构,用e2e神经网络并行完成“语义识别 + 3D Translation预测 + 3D Rotation预测”三项工作。听李渊博士说,这个就是目前的主流做法。

关键词2:texture-less/symmetric –> tansparent/articulated/occlusion objects (挑战性的物体)
(1)透明物体 transparent: texture-less + non-color + less of depth information
(2)遮挡问题 occlusion: severe occlusion会导致texture和geometric信息大量丢失。
(3)柔性物体 articulated: 与常规的rigid body不同,对柔性物体的pose estimation的DoF不止6,并且这样的物体会自我遮挡。

关键词3:lightweighting network
为了部署FPGA并达到1ms系统的基本要求,要对网络进行轻量化处理,同时保证一定的精度。

关键词4:RGB camera
很多object pose estimation的方法都使用RGBD相机,即能够获取depth深度信息。但是RGBD相机内部的active depth sensor能耗较高(因为他是有源器件),实际运用中我们更希望使用纯粹的RGB相机。
(2025.3.17补充)读PoseCNN有感:如果要预测Transition而又不使用RGBD直接获取深度信息,这就需要我们的网络自己去预测深度Tz。根据Transition预测的基础数学公式,在知道了物体的2D投影坐标(cx,cy)和深度信息Tz,就可以计算出Tx和Ty。这样Transition(Tx,Ty,Tz)就算预测完了。

【Reference】
[1] Deep Learning-Based Object Pose Estimation: A Comprehensive Survey
[2] Real-Time Seamless Single Shot 6D Object Pose Prediction

memo

【2025.3.6】
根据 Real-Time Seamless Single Shot 6D Object Pose Prediction 中提到,『PoseNet』网络使用CNN结构直接从RGB图像得出物体的6D-pose,这与我们要设计的end-to-end网络思路一致。

接下来阅读论文 A Convolutional Network for Real-Time 6-DOF camera relocalization,了解『PoseNet』。

【3.7】
论文中提到,他们是通过修改GoogLeNet实现的,具体细节牵扯到预训练等在内。
接下来阅读论文 Going deeper with convolutions,了解『GoogLeNet』。

论文 Going deeper with convolutions中第四节重点讲述『GoogLeNet』中的核心:Inception module。
这个模块不仅可以做到多尺度特征提取,而且巧妙使用 1*1kernel 降低通道数,从而降低网络的计算复杂度。
这或许可以作为hardware-friendly network的一个参考思路!

【3.13】
从 LITERATURE REVIEW TEXTURELESS OBJECT RECOGNITION 综述里来看,2018年发表的PoseCNN是一个端到端的神经网络。

【3.17】
PoseCNN论文阅读完成,是一个极为重要的论文,建议后期多次复读。
现在阅读更新的e2e相关的论文。A Pose Proposal and Refinement Network for Better 6D Object Pose Estimation是2021的一篇论文,里面使用e2e网络预测T和R,还使用了3D模型进行refinement,可以阅读。