没有合适的资源?快使用搜索试试~ 我知道了~
{dong, feixh, soatto}@cs.ucla.edu19600基于视觉-惯性-语义的三维对象检测场景表示0Jingming Dong � Xiaohan Fei � Stefano Soatto加州大学洛杉矶分校视觉实验室,洛杉矶,加利福尼亚州900950摘要0我们描述了一个使用视频和惯性传感器(加速度计和陀螺仪)在三维空间中检测对象的系统,这些传感器在现代移动平台上普遍存在,从手机到无人机。惯性传感器可以为对象施加类特定的尺度先验,并提供全局方向参考。最小充分表示,即对象在空间中的语义(身份)和句法(姿态)属性的后验,可以分解为一个几何项,可以由定位和映射滤波器维护,以及一个似然函数,可以由经过区分训练的卷积神经网络近似。得到的系统可以实时因果处理视频流,并提供场景中对象的持久表示:对对象存在的信心随着证据的增加而增长,并且先前看到的对象即使在暂时被遮挡时也会被保留在内存中,并自动预测它们何时会重新出现以进行再次检测。01. 引言0我们将“对象检测器”定义为一个系统,它以图像作为输入,并输出关于场景中对象存在与否的决策。我们基于以下前提设计了一个对象检测器:(a)对象存在于场景中,而不是图像中;(b)它们是持久的,因此对它们存在的信心应随着从多个(测试)图像中积累的证据而增长;(c)一旦看到,即使暂时不可见,系统也应意识到它们的存在;(d)这种意识应该使它能够根据场景的几何和拓扑来预测它们何时会重新出现在视野中;(e)对象在三维空间中具有特定的形状和大小,而姿态传感器(惯性传感器)提供了全局尺度和方向参考,系统应该利用这一点。从图像中检测对象与检测对象的图像不同(图5)。对象不会在存在和不存在之间闪烁,并且在不可见时不会消失。0� 平等贡献者。0(图6)。传统上,我们所说的“对象检测器”是指处理单个图像并返回对该图像中某个类别对象存在与否的决策的算法,缺少上述关键要素(a)-(e)。然而,这样的算法可以被修改为产生不是决策,而是对象存在的证据(似然),这些证据可以随时间处理并与场景的几何和拓扑结构相结合,从而产生具有所需特性的对象检测器。场景上下文包括对象的身份和共现性(语义),以及它们在三维空间中的空间排列(语法)。01.1. 贡献和局限性总结0根据上述前提,我们设计了一个基于目标属性的对象检测器,包括语义(身份)和句法(姿态)在三维场景中的后验概率的明确模型(第3节)。我们通过时间上的因果处理每个图像,维护和更新这样的后验概率(第3.2节)。后验分布是一种短期记忆(表示),我们用它来预测可见性和遮挡关系(第5.3节)。我们利用几乎每个移动计算平台上廉价的惯性传感器(第5.2节)对对象的大小施加类特定的先验。上述形式化的关键洞察是,场景中对象的最优(最小充分不变[59])表示(方程1)可以分解为两个组成部分:一个是几何部分,可以通过定位(SLAM)系统(方程3)递归计算;另一个是似然项,可以通过在单个图像上操作的经过区分训练的卷积神经网络(CNN,方程4)即时评估。这一洞察的一些后果在第6节中讨论。实际上,这意味着我们可以使用一些现成的组件来实现我们的系统,通过微调预训练的CNN,并且至少对于一些基本的建模假设,我们的系统可以实时运行,每秒生成10-30帧的对象-场景表示。在第5节中,我们报告了一个代表性样本的结果。Figure 1. Illustration of our system to detect objects-in-scenes.Top: state of the system with reconstructed scene representation(cyan), currently tracked points (red), viewer trajectory from a pre-vious loop (yellow) and current pose (reference frame). All carsdetected are shown as point-estimates (the best-aligned genericCAD model) in green, including those previously-seen on sidestreets (far left). Middle: visualization of the implicit measure-ment process: Objects in the state are projected onto the currentimage based on the mean vehicle pose estimate (green boxes) andtheir likelihood score is computed (visualized as contrast: sharpregions have high likelihood, dim regions low). Cars in differentstreets, known to not be visible, are visualized as dashed boxesand their score discarded. Bottom: Top view of the state from theentire KITTI-00 sequence (best viewed at 5×).qualitative and quantitative tests.Our system is the first to exploit inertial sensors to pro-vide both scale discrimination and global orientation forvisual recognition (Fig. 5). Most (image)-object detectorsassume images are gravity-aligned, which is a safe bet forphotographic images, not so for robots or drones. Our sys-tem is also the first to integrate CNN-based detectors in arecursive Bayesian inference scheme, and to implement theoverall system to run in real-time [18].While our formalization of the problem of object detec-tion is general, our real-time implementation has severallimitations. First, it only returns a joint geometric and se-mantic description for static objects. Moving objects aredetected in the image, but their geometry – shape and pose,estimating which would require sophisticated class-specificdeformation priors – is not inferred. Second, it models ob-jects’ shape as a parallelepiped, or bounding box in 3D.While this is a step forward from bounding boxes in theimage, it is still a rudimentary model of objects, based onwhich visibility computation is rather crude. We have per-formed several tests with dense reconstruction [25], as wellas with CAD models [31], but matching and visibility com-putation based on those is not yet at the level of accuracy(dense reconstruction) or efficiency (CAD matching) to en-able real-time computation. The third limitation is that a fulljoint syntactic-semantic prior is not enforced. While ideallywe would like to predict not only what objects are likely tobecome visible based on context, but also where they willappear relative to each other, this is still computationallyprohibitive at scale.In Sect. 3 we start by defining an object representation asa sufficient invariant for detection, and show that the mainfactor can be updated recursively as an integral, where themeasure represents the syntactic context, and can be com-puted by a SLAM system, and the other factor can be com-puted by a CNN. While the update is straightforward andtop-down (the system state generate predictions for image-projections, whose likelihood is scored by a CNN), initial-ization requires defining a prior on object identity and pose.For this we use the same CNN in a bottom-up mode, whereputative detection (high-likelihood regions) are used to ini-tialize object hypotheses (or, rather, regions with no putativedetections are assumed free of objects), and several heuris-tics are put in place for genetic phenomena (birth, death andmerging of objects, Sect. 4).2. Related WorkThis work, by its nature, relates to a vast body of litera-ture on scene understanding in Computer Vision, Robotics[38, 47] and AI [36] dating back decades [66]. Most re-cently, with the advent of cheap consumer range sensors,there has been a wealth of activity in this area [41, 62, 68,9, 58, 17, 26, 32, 52, 28, 5, 55, 65, 33, 61, 50]. The use ofRGB-D cameras unfortunately restricts the domain of ap-plicability mostly indoors and at close range whereas wetarget mobility applications where the camera, which typ-ically has an inertial sensor strapped on it, but not (yet) arange sensor, can be used both indoor and outdoors. Weexpect that, on indoor sequences, our method would under-perform a structured light or other RGB-D source, but thisis subject of future investigation.There is also work that focuses on scene understandingfrom visual sensors, specifically video [37, 2, 42, 57, 6, 72],although none integrates inertial data, despite a resurgentinterest in sensor fusion [73]. Additional related work in-cludes [27, 15, 8, 54].To the best of our knowledge, no work leverages inertialsensing for object detection. This is critical to provide ascale estimate in a monocular setting, and validate object9613.1. Representationsp(zj|yt) =�p(zj|gt, x, yt)dP(gt, x|yt)(1)where the integrand can be updated as more data yt+1 be-comes available as p(zj|gt+1, x, yt+1), which is propor-tional top(yt+1|zj, gt+1, x)�p(gt+1|gt, ut)dP(zj|gt, x, yt). (2)3.2. ApproximationsThe measure in (1) can be approximated in wide-sense using an Extended Kalman Filter (EKF), as cus-tomary in simultaneous localization and mapping (SLAM):p(gt, x|yt) ≃ N(ˆgt|t, ˆxt|t; Pt|t). (1) is a diffusion aroundthe mean/mode ˆgt|t, ˆxt|t; if the covariance Pt|t is small, itcan be further approximated: Givenˆgt|t, ˆxt|t = arg maxgt,x pSLAM(gt, x|yt),(3)ˆpg,x(zj|yt) .= p(zj|gt = ˆgt|t, x = ˆxt|t, yt) ≃ p(zj|yt).Otherwise the marginalization in (1) can be performed us-ing samples from the SLAM system. Either way, omitting1Object pose is its position and orientation in world frame. With iner-tials, pose can be reduced to position and rotation around gravity. Sensorpose is full 6 degree-of-freedom position and orientation.2Attributes include sparse geometry (position in the inertial frame) andlocal photometry (feature descriptor, sufficient for local correspondence).9620贝叶斯框架中的假设,因此,例如,在我们的系统中,模型车不被分类为车辆(图 5)。从单个图像中进行语义场景理解也是一个研究领域([21]和其中的参考文献)。相反,我们对嵌入物理空间的代理感兴趣,对于这些代理来说,限制在单个图像上是有限的。关于场景分割也有大量的文献([ 30]和其中的参考文献),主要使用范围(RGB-D)传感器。一种流行的用于密集语义分割的流程被[ 28 , 44 , 65 , 37 , 3]采用:从RGB-D或立体图像获得深度图;2D语义标签转移到3D并与全连接的CRF [ 35]平滑。还有关于联合语义分割和重建的工作[ 53 , 64 , 7]。还有关于3D识别的工作[ 34 , 56 , 45],但是没有惯性测量和运动。一些关注实时操作[ 16],但大多数是离线操作[ 75 , 12]。除了KITTI之外,这些工作中常用的数据集都没有提供惯性参考。在KITTI上进行的3D物体检测方面,一些作者专注于基于图像的检测[ 24 , 23 , 49 , 48 , 43],然后将物体放置到场景中[ 69 , 70],而其他人则专注于使用网络进行3D物体提议生成和验证[10 , 11 ]。[ 69]训练了一个基于3D体素模式(3DVP)的检测器来推断物体属性,并展示了在KITTI上准确定位车辆的能力。他们随后的工作[ 70]训练了一个CNN来对3DVP进行分类。还利用了不同的物体提议表示,例如3D长方体[ 20 ]和可变形的3D线框[ 75]。还考虑了各种先验:[ 67]利用地理标记的图像;物体的几何先验被纳入各种优化框架中以估计物体属性[ 74 , 12]。尽管这些算法在检测方面报告了非常好的性能(� 90%平均精度),但除了[ 69 , 70 ]和[ 11 , 10]之外,没有人报告物体在3D中的语义-句法状态的得分。由于后者被前者所主导,我们将[ 70]作为第5节中的比较典范。前述的3D物体识别方法基于2D检测而没有时间一致性。因此,比较有些不公平,因为基于单个图像的检测器不能可靠地检测空间中的物体,这是我们提出的方法的主要动机。有关比较方法的详细信息,请参见第5节。[ 12 , 60]使用多视图,但它们的输出是一个点估计而不是后验概率。此外,一旦有新的数据可用,优化就必须重新运行。最近的数据关联工作[ 39]旨在直接推断关联图,但在我们的实时系统所需的规模上,这种方法在计算上是难以实现的。因此,我们采用启发式方法,详见第4节。具体到我们的实现,我们利用现有的视觉惯性滤波器[ 29 , 40 , 63 ]和单图像训练的CNNs [ 24 , 48 ,70 ]。0CNNs [ 24 , 48 , 70 ]。03. 方法0一个场景 ξ 由一些对象 z j ∈ { z 1 , . . . , z N }组成,每个对象都具有几何(姿态、形状)1和语义(标签)属性 z j = { s j , l j }。从传感器在姿态 g t处捕获到的测量(例如图像)直到当前时间 t,y t = { y 1 , .. . , y t } 被记录下来。场景的语义表示是关于时间 t内看到的前 j 个对象的联合后验概率 p ( ξ, z j | y t),其中传感器姿态 g t和其他干扰因素被边际化。联合后验概率可以分解为 p ( ξ,z j | y t ) = p ( ξ | z j ) p ( z j | y t),其中第一个因子在每次新的对象 z j +1 从先验 p ( ξ )开始出现时理想地异步更新,第二个因子在每次新的测量 yt +1 从 t = 0 开始出现时给定 p ( z )更新。用于(几何)定位任务的场景表示是关于传感器姿态gt(对于这个任务来说,当然不是一个干扰因素)和一个稀疏的属性2点云 x = [ x 1 , . . . , x Nx ] 的后验概率 p ( g t , x| y t ),给定到当前时间的所有测量(视觉 I t 和惯性 u t)。在几何上将语义条件化,我们可以将上述第二个因子写成the subscripts, we haveˆp(z|yt+1) ∝ p(yt+1|z, ˆgt|tut, ˆxt|t)����CNNˆp(z|yt)� �� �BF(4)where the likelihood term is approximated by a convolu-tional neural network (CNN) as shown in Sect. 3.3 andthe posterior is updated by a Bayesian filter (BF) approx-imated by a bank of EKFs (Sect. 3.4). That only leaves thefirst factor p(ξ|zj) in the posterior, which encodes context.While one could approximate it with a recurrent network,that would be beyond our scope here; we even forgo usingthe co-occurrence prior, which amounts to a matrix multi-plication that rebalances the classes following [13], sincefor the limited number of classes and context priors we ex-perimented with, it makes little difference.Approximating the likelihood in (4) appears daunting be-cause of the purported need to generate future data yt+1(the color of each pixel) from a given object class, shapeand pose, and to normalize with respect to all possible im-ages of the object. Fortunately, the latter is not needed sincethe product on the right-hand side of (4) needs to be normal-ized anyway, which can be done easily in a particle/mixture-based representation of the posterior by dividing by the sumof the weights of the components. Generating actual im-ages is similarly not needed. What is needed is a mecha-nism that, for a given image yt+1, allows quantifying thelikelihood that an object of any class with any shape be-ing present in any portion of the image where it projects tofrom the vantage point gt. In Sect. 3.3 we will show how adiscriminatively-trained CNN can be leveraged to this end.3.3. Measurement ProcessAt each instant t, an image It is processed by “prob-ing functions” φ, which can be designed or trained to beinvariant to nuisance variability. The SLAM system pro-cesses all past image measurements It and current iner-tial measurements ut, which collectively we refer to asyt = {φκ(It), ut}, where φκ(It) is a collection of sparsecontrast-invariant feature descriptors computed from theimage for Ni visible regions of the scene, and producesa joint posterior distribution of poses gt and a sparse ge-ometric representation of the scene x = [x1, . . . , xNi(t)],assumed uni-modal and approximated by a Gaussian:pSLAM(gt, x|yt) ≃ N(ˆgt|t, ˆxt|t; P{g,x}t|t)(5)9630其中x∈∪jsj,即假设场景由对象的并集组成,包括默认类别“背景”l0。这个定位流程借鉴了[63],对场景的组织和身份是不可知的。它还将x限制为一个刚性的、在足够长的时间内共视的子集,并且位于局部呈现Lambertian反射的表面上。0为了计算每个类别lk∈{l0,...,lK}的边际似然,我们利用一个CNN,该CNN经过训练可以将给定的图像区域bj分类为K +1个类别之一,包括背景类别。该架构具有一个软最大化层,其前面有K +1个节点,每个类别一个,使用交叉熵损失进行训练,为每个类别和图像计算出一个归一化得分φCNN(l|It|bj)[k]。0我们丢弃了软最大化层,并放弃了类别归一化。结果网络倒数第二层的K +1个节点的激活提供了一种机制,可以根据图像It量化每个物体类别lk在每个边界框bj中存在的似然,我们将其解释为给定边界框中每个类别至少一个实例存在的(边际)似然:0φCNN(l|It|bj)[k] � p(It|lk,bj)。0这个过程通过b j = π(gtsj)在场景的可见部分sj和对应的视角gt上对物体类别存在的边际似然进行了建模,其中π是投影。由于惯性ut是直接测量的,受到高斯噪声的影响,我们有:0p(yt|zj,gt,x) � φCNN(l|It|π(gtsj))[k]N(¯u;Q)。0其中¯u是惯性偏差,Q是噪声协方差;这里的物体属性zj是标签lj =lk和几何形状sj。因此,给定图像It,对于每个可能的物体姿态和形状sj以及视角gt,我们可以测试每个类别lk中至少一个实例的存在。注意,可见性函数在地图π中是隐含的。如果一个物体不可见,它在给定图像It的情况下的似然是恒定/均匀的。注意,这取决于场景的全局布局,因为地图π必须考虑遮挡,所以物体不能被独立考虑。03.4. 依赖关系和共视性0计算场景中物体存在的可能性需要确定它是否在图像中可见,而这又取决于所有其他物体,因此场景必须被整体建模,而不是作为独立的物体集合。此外,某些物体的存在和它们的配置会影响到不可见的其他物体存在的概率。0为了捕捉这些依赖关系,我们注意到几何表示p(gt,x|yt)可以用于提供所有物体和摄像机位置的联合分布p(gt,x|yt),从而提供共视信息,具体来说是x中每个点可见的概率。0例如,看到桌子上有一个键盘和一个显示器会影响到场景中是否存在鼠标的概率,即使我们目前看不到它。它们的相对姿态也会提供最大程度减少鼠标存在不确定性的视角。ˆpg,x(zj|yt) .= p(zj|yt, gt, x) ≃�jp(zj|yt, gt, x, z−j) (8)p(sj|lj, yt, gt, x, s−j)����EKFP(lj|yt, gt, x, l−j)����PMF(9)9640图2. 系统流程图。0任何摄像机都无法确定物体的可见性,因为它不包含拓扑信息:我们不知道两个点之间的空间是空的还是被一个没有显著光度特征的物体占据。为了计算可见性,我们可以使用点云和图像一起以最大似然的方式计算物体的稠密形状:ˆsj =arg max p(sj | gt, x,yt),使用通用的正则化器。但是这样做的精度和效率无法满足实时操作的需求。另一种方法是用参数化的形状族(例如长方体或椭球体)来近似物体的形状,并相应地计算可见性,还可以利用从SLAM系统计算出的共视图和对物体大小和长宽比的先验知识。为此,我们进行近似。0其中z − j表示除z j之外的所有对象。每个因子p ( s j , l j | yt , g t , x, z − j )然后展开为乘积0其中PMF表示概率质量过滤器;这实际上产生了一组类条件EKFs的样本,这些样本提供了(4)右侧中ˆ p ( z | y t)的样本,这些样本通过CNN进行评分以更新后验概率。04. 实现细节0我们实现了上述程序的两个版本:一个实时运行并在2016年6月进行了现场演示[18]。另一个是离线运行,并用于第5节中报告的实验。图2概述了系统的流程图。在这两种情况下,我们采取了一些捷径来提高由CNN实现的似然函数的近似效率。此外,语义过滤器需要初始化和数据关联,这需要一些启发式方法才能在计算上可行。我们将在下面描述这些启发式方法。0视觉里程计和基线2D CNN我们使用从[63]实现的鲁棒SLAM获取稀疏点云和每个t时刻的相机姿态x, gt。这在每个VGA帧中需要10-20毫秒。对于在KITTI上的定量评估,我们使用[46]作为基础定位流程。对于我们的实时系统,我们使用YOLO[48]作为基准方法,在150-200毫秒内计算对象的似然性,而在离线系统中,我们使用Sub-CNN[70]。无论哪种情况,对于每个给定的窗口,都会从倒数第二层读取出每个类别k的正分数。这些分数既用于计算似然性,也用于生成初始化的提议,如后面讨论的那样。0过滤组织每个对象由一个PMF过滤器表示,该过滤器覆盖类标签和K个类条件EKFs,每个类别一个(9)。因此,每个对象由K个EKFs的混合表示,其中一些EKFs会被修剪,如后面所述。每个EKFs维护相对于重力的位置、尺度和方向的后验估计。状态预测了每个对象(K个实例)在图像平面上的投影,CNN评估其似然性。对于某些对象类别,我们使用形状先验,作为具有手动调整的不确定性的伪测量来强制执行,以适应预期的类别变异性。例如,人类是预期体积为1立方米的平行六面体,其坐标轴沿着几分米的范围具有各向异性协方差,而沙发的不确定性显著更大。0数据关联为了避免在重叠区域上多次运行基线CNN(每个对象由多个通常非常相似的区域表示,每个区域对应一个当前类别假设),我们不会为每个预测顺序查询CNN。相反,我们一次运行CNN,使用宽松的阈值以获得大量(低置信度)的区域。虽然这样做是高效的,但它会产生数据关联问题,因为我们必须将(可能多个)图像区域归属给每个(多个)对象假设,而每个对象假设又有多个可能的类别标签[4]。我们通过选择简单的启发式方法来避免显式的数据关联:首先,我们从过滤器生成预测;然后,排除被遮挡的对象以进行似然性评估。对于所有其他对象,我们生成边界框的四元组坐标,作为给定当前状态投影的4维高斯分布。这是一个粗略的预测,因为平行六面体的图像通常不是图像上的轴对齐矩形。尽管如此,我们仍然使用它来评分由CNN产生的每个预测类别的似然性。使用(类别相关的)阈值来决定是否使用边界框来更新对象。似然性较低的边界框在过滤器更新中被赋予较小的权重。这需要准确的初始化,我们将在下面描述。好处是,帧间运动通常是9650位置误差 < 0.5米 < 1米 < 1.5米0方向误差 方法 #TP 精确度 召回率 #TP 精确度 召回率 #TP 精确度 召回率0< 30度0Ours-FNL 150 0.14 0.10 355 0.34 0.24 513 0.49 0.350Ours-INST 135 0.13 0.09 270 0.26 0.18 368 0.35 0.250SubCNN 99 0.10 0.07 254 0.26 0.17 376 0.38 0.260< 45度 Ours-FNL 157 0.15 0.11 367 0.35 0.25 533 0.50 0.360Ours-INST 141 0.13 0.10 283 0.27 0.19 388 0.37 0.260SubCNN 99 0.10 0.07 257 0.26 0.17 383 0.38 0.260- Ours-FNL 169 0.16 0.11 425 0.40 0.29 618 0.58 0.420Ours-INST 149 0.14 0.10 320 0.30 0.22 450 0.43 0.310SubCNN 104 0.10 0.07 272 0.27 0.18 409 0.41 0.280表1. KITTI上的定量评估及与SubCNN[70]的比较。显示了位置误差(行)和角度误差(列)小于阈值的真正阳性数量,以及精确度和召回率。得分是在数据集中的3501个带有498个标注对象的地面实况帧上聚合的。最后3行舍弃了方向误差。0除非同一对象类别的多个实例在附近并部分遮挡彼此,否则数据关联将顺利进行。0初始化 未与任何对象关联的假设2DCNN检测用作初始化的(自下而上的)提议。新对象的位置位于其投影位于检测区域内的稀疏点的加权质心处。中心的权重最大,并向外指数级减小。方向初始化为SubCNN的“方位角”,根据相机姿态和重力进行旋转。给定位置和方向,通过最小化重投影误差来优化尺度。0合并假设对象是简单连接的和紧凑的,因此两个对象不能占据相同的空间。然而,它们的投影边界框可能会重叠。如果检测到来自同一对象的多个实例,并进行初始化和传播,当它们在空间中的重叠足够大时,它们最终会合并。只有来自同一类别的对象允许合并,因为不同类别可能以它们松散的平行六面体形状模型相互重叠和相交,例如椅子在桌子下面。0终止每个对象维护对K个类别的概率,每个类别与一个类条件滤波器相关联。如果其中一个类别成为主导类别(最大概率超过阈值),则所有其他滤波器将被消除以节省计算成本。大多数对象在几次迭代内收敛到一个或两个类别(例如椅子,沙发)。从视野中消失的对象保留在状态中(短期记忆),如果一段时间内没有看到它们,则存储在长期记忆(“语义地图”)中,以备再次看到时使用。还有更多的实现细节可以在可用空间中描述。因
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功