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

Gen-LaneNet论文精读总结

Gen-LaneNet: A Generalized and Scalable Approach for 3D Lane Detection

文章目录

        • Gen-LaneNet: A Generalized and Scalable Approach for 3D Lane Detection
        • 1. 本文解决问题
        • 2. 实现方法(Method)
          • 2.1 基于几何关系的anchor表示
          • 2.2 网络和训练
        • 3. Synthetic dataset & 实验(Experiments)
          • 1. Dataset -- Aopllo Synthetic dataset
          • 2. Dataset split
        • 4. 启示

Gen-LaneNet是ECCV 2020的一篇文章,其主要在3D-LaneNet的基础上进行了改进。本文依据几何关系, 在不同于3D-LaneNet的坐标系中对anchor 重新进行了表示,并证明这种表示形式的合理性以及优点,同时本文提出了一个二阶段的框架, 将图像分割和几何信息的学习解耦为两个subnetwork。本文提出了一个新的3D车道线检测的模拟数据集。

1. 本文解决问题

本文主要解决的是3D-LaneNet中存在的问题,首先本文提及3D-LaneNet在anchor的表示中使用了不正确的坐标框架,导致top-view视图中ground-truth与真实的视觉特征(top-view中的实际车道线)不匹配。其次本文提出3D-LaneNet中通过图像特征学习外参会导致学习到的几何参数会受到图像变换的影响,比如部分遮挡和天气等情况的变换。

2. 实现方法(Method)

2.1 基于几何关系的anchor表示

在本任务中由于需要使用monocular img的中间媒介进行3D lane的预测,所以获得top-view的过程可以总结如下:3D坐标系(自车坐标空间)中的点**(x,y,z)通过相机内外参数转变为img-plane (u,v),img-plane通过单映性矩阵**实现透视变换转变为top-view plane (透视变换图像) (x‾,y‾\overline{x},\overline{y}x,y).由于这个过程中有相机参数的参与所以 (x‾,y‾\overline{x},\overline{y}x,y)与(x,y)在理论上是不相同的。

但若要满足在自车坐标系(x,y,z)和top-view坐标系(x‾,y‾,0\overline{x},\overline{y},0x,y,0)中分别取两点,使其在img-plane对应同一点(即此时top-view中的该点与实际自车坐标系点表示同一点),则根据几何关系可以得到此时相机中心与上述两点应该在同一条射线上。如下图,所以根据几何关系可以推导出:
x=x‾⋅(1−zh)y=y‾⋅(1−zh)x = \overline{x}\cdot(1-\frac{z}{h}) \\ y = \overline{y}\cdot(1-\frac{z}{h}) x=x(1hz)y=y(1hz)
所以通过透视变换图像中的坐标点可以通过几何关系得到实际的3D空间中对应的坐标点。且该几何关系具有普适性,无需对pitch,yaw,roll等相机安装角度进行假设。更为详细的推导见论文附录部分。

在这里插入图片描述

根据以上几何理论基础,Gen-LaneNet中的anchor坐标设置在透视变换图像中,这样设置可以使用透视图特征作为输入,直接通过网络进行输出同一坐标系下的预测值。而车道线在road坐标系下的x,y坐标则通过上述公式进行计算。其anchor的设置除坐标系不同外与3D-laneNet大致相同,其每个anchor可以写为XAi=(xti,zti,vti,pti)t∈{c,l}X_A^{i}={\mathbf{(x_t^i, z_{t}^i, v_{t}^i,} p_t^{i})}_{t\in\{c,l\}}XAi=(xti,zti,vti,pti)t{c,l}. 在3D-laneNet基础上,c,l表示两种车道线的类别,v表示每个点是否可见。

P.S. 3D-LaneNet中其anchor的表示是在road坐标系下的,其先通过外参转换到road坐标系,再直接将3D坐标投影到x,y平面(即直接去掉z坐标)得到top-view中车道线的坐标点,这种做法在上下坡时,其top-view中的点与通过透视变换得到的透视图中车道线是不相符的,如图b中的蓝线就是在上坡时3D-laneNet得到的投影视图中的车道线,与实际白线是不一致的。

2.2 网络和训练

如下图,本文提出一个两阶段的模型进行3D-lane的预测。第一阶段进行图像分割,得到车道线的分割图,第二阶段使用第一阶段分割图的输出,进行透视变换转变为top-view视角分割特征图,在其上作用多层卷积得到3D-Lane坐标点的预测。

在这里插入图片描述

本文提到根据上述几何关系可以发现预测车道线的height(z)的问题可以转换成预测一个向量空间(2.1图b中黑线)使得在top-view中车道线的所有点被移动到完全平行的位置。(若是遇到不平行的车道线呢)

Indeed estimating ground truth height is conceptually equivalent to estimating a vector field such that all the points corresponding to lanes in the top-view are moved to position overall in parallelism.

这样可以认为3D-lane坐标的预测主要是编码图像中的几何关系,所以使用分割后的稀疏特征图即可,所以在第二阶段模型(本文命名为3D-GeoNet)中,直接使用分割后的输出进行坐标点的预测。这也使得坐标点的预测部分将注意力集中在几何关系,而不会受到图片中其他特征,比如天气,部分遮挡等因素的影响。理想情况下当分割部分做的足够好时,3D-GeoNet网络在理论上只使用模拟数据便可以进行训练。这也是本文将网络解耦成两部分的依据

网络的训练过程如下:首先将自车坐标系中的3D车道线的ground-truth变换到透视变换图像下,并在YrefY_{ref}Yref处与最近的anchor进行匹配。网络的loss如下,相较于3D-laneNet有几点改变。首先公式中的xtix_t^ixtix^ti\hat{x}_t^ix^ti均是在透视图坐标系下的而不是CroadC_{road}Croad坐标系。其次加入了可视化向量v.

在这里插入图片描述

3. Synthetic dataset & 实验(Experiments)

1. Dataset – Aopllo Synthetic dataset

该数据集为使用Unity游戏引擎生成得虚拟数据,数据集包括三个地图场景,分别是高速公路地图(6000个sample),城市地图(1500个sample)以及居住区地图(3000个sample),同时数据集中包含每个sample对应的分割图(semantic segmentation map)和深度图(depth map),以及每个sample中3D Lane的信息。数据集中的每个sample采集自不同的位置和不同的时间(早中晚),同时采用两种等级的路标退化(lane-marker degradation)随机的相机高度(1.4~1.8m)以及随机的pitch角度(0° ~ 10°)。每个图像的内参是固定的。

车道线存在遮挡,在实际情况中前景遮挡的车道线需要进行预测,而后景遮挡的车道线舍弃。该数据集通过深度图和分割图判断遮挡类型(见原文),并对后景遮挡的车道线部分丢弃。如下图(图中黑色部分为后景,丢弃):

在这里插入图片描述

2. Dataset split

为了从不同角度验证算法的效果,GenLane中提出了几种分割数据集的方法,这在后续其他模型的实验中提供了启示作用,各分割方法如下:

  • Balanced scenes:训练集和测试集按照一比一分配整个dataset,使用大量的无偏的数据验证算法效果。
  • Rarely observed scenes: 训练集与Balanced scenes相同,但测试集只选择城市地图中包含复杂地势比如急转弯,显著海拔变换等图片。这种分割方法用来测试模型算法面对训练集出现较少图片的泛化性。
  • Scenes with visual variations: 训练分割网络时采用和Balanced scenes相同的数据,训练3D车道线自网络时在其训练数据中剔除特定时间的数据(黎明前),在测试集只使用剔除掉的这部分数据进行测试。该分割方法用来测试网络针对不同光亮变换(illumination)的检测效果。

4. 启示

  1. 本文提到的几何关系,以及针对该几何关系设计网络的思路。

  2. 本文分成两个阶段模型,只使用masks进行第二阶段3DLane的训练,这样可以很大程度上减少训练网络使用的2D车道线数据集。可以借鉴这种思路,在遇到这种问题时将模型分为两个阶段,在第二阶段只使用输入图像的部分关键特征可以极大减少第二阶段模型受原始图片中其他因素影响,因此可以减少使用大量的训练数据。

    Gen-LaneNet [13]decouples 3D lane extraction from the image features by proposing a two-stage pipeline,which al lows 3D lane estimation to be only dependent on 2D lane masks rather than the original images.This pipeline makes it possible to reduce the demand for expansive 3D lane la beling and utilize large 2D lane detection datasets to train a more robust lane feature extractor.

    ----- Reconstruct from Top View—Related work

  3. 本文以几何关系说明要得到3D坐标的z应该对那些特征进行解析,这一点可以参考,深入探讨其中理论,可以尝试以此设计网络结构。

  4. 本文主要是以3D-laneNet为baseline,在此基础上进行改进。可以学习本文做比较的方法,以及针对3D-laneNet网络设计缺陷提出解释的原因。(1. anchor与view-feature不匹配 2.end-to-end使得网络受到图像feature的影响,导致需要大量数据训练)。

  5. 本文是两阶段模型,本文的实验中体现了两阶段模型实验的一种方法。(分为两部分进行实验等)。


相关文章:

  • 有1,2,3,4四位数字,能组成多少不同的三位数,分别是什么?
  • springboot第8集:示例代码案例详细解释内容
  • 基于springboot实现车辆充电桩管理系统演示分享
  • leetcode110:平衡二叉树
  • PhotoZoom Pro2023免费版图形图像放大工具
  • Ubuntu显卡报错:Failed to initialize NVML Driver/library version mismatch
  • Android 截屏实现的几种方式
  • adb shell am和pm命令参数详解
  • 让ChatGPT帮我写shell脚本, 结局很感人
  • Springboot项目如何设计接口中敏感字段的加密、解密
  • 数据工程:ELT 工作流中的 6 个步骤
  • JAVASpring的AOP
  • C++ 变量命名规则
  • 数据库 CI/CD 工具 -- Bytebase 介绍
  • 合创科技设计师你要知道黄金比例字体设计
  • 谈判、删除字符、质因数分解、质数
  • 【Linux】网络基础(一)
  • Eclips快捷键大全(超详细)
  • 使用MeshLab软件处理pcd点云文件
  • Java设计模式-9 、策略模式
  • k8s容器集群工作负载节点跨越多个云计算厂商
  • DolphinDB StreamEngineParser 解析原理介绍
  • node-express框架
  • 小白学Pytorch系列--Torch.nn API Transformer Layers(9)
  • 设置和获取中断向量,很清楚嗷
  • CentOS、Ubuntu配置NTP服务器以及内网如何手动配置系统时间
  • SQL count和sum的使用
  • 在深圳,CPDA数据分析师证书怎么考取?
  • 17_pyqt环境搭建
  • 带自适应交叉算子的遗传算法求解具有访问约束的多旅行商问题
  • MySQL-四大类日志
  • Python实现得到乱序列表排序后的新下标
  • Android Hilt依赖注入框架
  • 会议室使用什么样的LED屏效果会比较好?
  • java源码阅读 - TreeSet
  • python【正则表达式】
  • QT自定义类中setStyleSheet设置样式无效
  • Doo Prime 德璞资本:稳定的期货交易系统应该包括哪些方面?
  • 【机器学习】逻辑回归(非常详细)
  • 《程序员面试金典(第6版)》面试题 08.04. 幂集(回溯算法,位运算,C++)不断更新
  • ChatGPT-英语练习第一天-2023.3.24
  • CHAPTER 6 Jenkins常见问题整理及解决
  • 问题解决:Excel 判断语句_绝对值_清除表格格式
  • 1.5 从0开始学Unity游戏开发--创建第一个物体
  • 【python】虚拟屏幕实现selenium截图的两种方法介绍
  • 记录es的URI search搜索方式
  • axios讲解
  • BC12 字符圣诞树
  • ElasticSearch 管理界面以及常用的命令
  • 系统集成项目管理工程师案例分析考点汇总(进度管理)
  • 【面试专栏】Guava - ListenableFuture,避免Future获取阻塞问题,增加回调
  • GameFramework框架详解之 Sound声音管理
  • Python方法:@staticmethod和@classmethod
  • Effective C++学习笔记(4)
  • 05-正则表达式语法
  • 用Owncast构建直播服务器
  • 世界棒球经典赛:美国队在冠军赛中输给了日本队
  • BAT大厂Java岗面经,靠着它逆风翻盘斩获了心仪的offer
  • led小间距显示屏在会议室使用有什么优势
  • 看雪学习笔记-[原创]EXP编写学习 之 栈溢出(一)
  • 无线网络渗透测试系列学习(三) - [信息收集] 网络扫描基础和对三种协议(ICMP/TCP/UDP)的简单学习
  • 操作系统如何区分可执行文件之elf文件分析
  • 设计模式---装饰模式
  • Golang每日一练(leetDay0019)
  • 数据结构|AOE网活动的最早、最迟发生时间及关键路径问题
  • Koin在KMM与Android Jetpack Compose中的应用
  • 速卖通、Shopee、阿里国际、亚马逊卖家如何通过自己养号给店铺测评?
  • Nginx——openresty配置与实战
  • 图扑软件加入“元宇宙支撑技术与场景驱动创新联合体”
  • 如何检查 Docker 镜像是否存在漏洞
  • 在chatgpt火热浪潮下的思考
  • 1.11 日本蜡烛图技术之头肩线和K线环境分析
  • 【Vue2从入门到精通】详解Vue数据双向绑定原理及手动实现双向绑定
  • 银行数字化转型导师坚鹏:如何有效推进银行数字化转型工作
  • 线段树 push_down 操作
  • 大数据|MapReduce模型 | Hadoop MapReduce的基本工作原理
  • 电动玩具UL696测试项目有哪些?
  • 单向环形链表的增删改查C++完整实现
  • mysql事务与引擎
  • 动力节点王鹤SpringBoot3学习笔记——JDK的新特性
  • java源码阅读 - HashSet
  • 大数据数据仓库环境准备
  • [Vulfocus解题系列]Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)
  • 向量组是否相关与行列式,方程组,秩的联系。
  • 文本三剑客练习题
  • ccc-pytorch-卷积神经网络实战(6)
  • 工人工服识别检测系统 yolov7
  • Java实现查找文件
  • 一种新的改进的混合蛙跳算法(SFLA)(Matlab代码实现)
  • python使用正则表达式re
  • AI绘画stable diffusion webui汉化教程,参数解析以及界面介绍
  • SpringBoot 将PDF转成图片或Word
  • 从 1000+ 参赛项目突围,涛思数据荣获 ITEC 2022 全球创业赛成长组二等奖
  • 论文阅读:Adversarial Cross-Modal Retrieval对抗式跨模式检索
  • java基础面试题(五)
  • 前端面试题之html css篇
  • 四大排序算法之选择排序
  • 中断的分类,中断指令,中断类型码,中断向量表,中断优先级 总结
  • 插入排序(C/C++)
  • K8s管理页面
  • 新功能发布 | TSMaster工具箱集成开发环境系列2-工具箱极简开发流程
  • android 7zip库的编译
  • 我们的DDoS攻击防御解决方案
  • 将一个正整数分解质因数。
  • SELinux零知识学习一、初识
  • 【GPT4】微软 GPT-4 测试报告(3)GPT4 的编程能力
  • Git常用指令
  • FrIf-如何配置FlexRay 作业列表【配置参数FrIfCluster->FrIfJobList->FrIfJob】
  • 【C/C++实现生产者消费者模式】
  • Python爬虫中使用Cookie实现登录的方法
  • 关于加解密、加签、验签等
  • 在idea中编写JSP文件中无法使用request对象的方法
  • 对GPT及未来人机融合智能的思考
  • Sql Server Management Studio连接Mysql
  • 骨传导蓝牙耳机排行榜10强,盘点几款性能高的骨传导耳机
  • kafka日志回收的详解及使用
  • DaVinci Resolve Studio 18(达芬奇调色剪辑)破解版安装图文教程
  • idea远程debug服务器项目
  • 湖南互联网医院资质申请条件|代办互联网医院牌照
  • 111111111111111111111
  • 年轻人月薪4k和月薪4w的区别,绝不是靠上香拜佛摆地摊!
  • 360周鸿祎又“开炮”:GPT 6-8就将产生自主意识!我们来测算一下对错
  • docker 部署go项目
  • 算法练习随记(三)
  • 12_Linux中的无人值守安装脚本 kickstart
  • 认证机构被注销/撤销,我的证书还有效吗?答案来了!
  • 【python手动实现】汉字转base64编码(附源码)
  • 使用python进行股票数据爬取中的时间限制和策略
  • 刷完这60个标准库模块,成为Python骨灰级玩家
  • 『Linux从入门到精通』第 ⑪ 期 - Linux调试器——gdb使用详解
  • 38. 外观数列
  • pyinstaller打包最小体积安装python程序 命令行传参执行
  • 科大奥瑞物理实验——干涉法测微小量
  • 分布式事务之本地消息表解决方案(跨地区转账实际案例)
  • CRM客户管理系统不被销售接受的五大原因
  • 【计组】主存的扩展
  • ChatGPT再掀AI资本狂潮,30位科技创新VC投资者齐聚“实在智能”
  • 容器中安装python3.7.9
  • 通过postgres_fdw实现跨库访问
  • Thinkphp 6.0路由的定义
  • 快乐数(力扣刷题)
  • 【大数据安全-Kerberos】一篇文章搞定Kerberos认证
  • 渗透测试之哥斯拉实战
  • Linux/Ubuntu系统如何安装cudnn?(适用于所有40系显卡 4090 4080 4070)
  • AI + Kubernetes 赋能DevSecOps 的思考
  • OS调度算法
  • C++ Primer阅读笔记--C++11新标准总结1
  • IDS、恶意软件、免杀技术、反病毒技术、APT、对称加密、非对称加密以及SSL的工作过程的技术介绍
  • Ansys Zemax | 如何导入CAD物体
  • 夜深该学习了,Python绘制饼状图对商品库存进行分析
  • 基于springboot实现大学生租房系统演示【附项目源码】
  • C++ 多线程学习
  • 51单片机(串口通信、蓝牙)
  • linux获取系统信息
  • 虹科分享 | CAN中继器/路由器能够在BESS(电池储能系统)中发挥怎样的作用?
  • 为什么说人员管理是成功交付项目的关键?
  • 基于springboot实现福聚苑社区团购演示【项目源码】
  • rust的示例IO命令行程序结构优化过程
  • 爬虫CrawlSpider原理
  • C++空间配置器
  • 复旦微的 FMQL45T900+ARM
  • Parallels Desktop 18安装Windows系统后没网解决方案
  • 远程桌面解决方案 OpenText™ Exceed™ TurboX (ETX 12.5)最新版本新功能
  • 前后端分离之跨域
  • 38-二叉树练习-LeetCode145二叉树的后序遍历
  • 立体声骨传导蓝牙耳机哪款好一点,分享几款优秀的骨传导耳机
  • ThreeJS-全屏和退出全屏、自适应大小(五)
  • 互联网随想(三) 光纤与电路交换
  • 【测试开发篇7】web自动化--selenium音标: [sɪˈliːnɪəm]
  • 实测GPT的算法编程正确性
  • dp+思维(字符的贡献)
  • 卷积:计算机的眼睛
  • 【MySQL高级篇】第09章_性能分析工具的使用
  • 和开振学Spring boot 3.0之Spring MVC:②使用JSON
  • Android 命令发送广播
  • 全国计算机等级考试二级Java模拟试卷
  • 数据中台通用体系架构
  • python获取文本的行列长度并比较
  • 【Idea】建立Scale框架
  • mac电脑能恢复安卓手机丢失的数据吗?
  • 【极简、无废话、非翻译】Flask+vue例子
  • 《程序员面试金典(第6版)》面试题 08.03. 魔术索引
  • webview src已修改但页面不刷新
  • 【MySQL】MVCC多版本并发控制(重点:MVCC实现原理之ReadView)
  • 关于kylin系统鲲鹏芯片编译qt5.9.9源码中fontconfig包的处理
  • 嵌入式C语言语法概述
  • MATLAB调用特定的环境python
  • ChatGPT,云服务商们的全新“云”阵地?
  • 心血来潮写一个React的九宫格抽奖组件
  • 说说Keep-Alive | Pipelining | Content-Length | Transfer Encoding
  • 新六级听力通关特性
  • Winform控件开发(23)——FlowLayoutPanel(史上最全)
  • 科大奥瑞物理实验——霍尔效应实验
  • 【Elastic (ELK) Stack 实战教程】06、Filebeat 日志收集实践(下)
  • 进程回收的实现方式与注意事项:Linux C/C中的回收机制
  • Vue3跨级组件通讯—依赖注入
  • OpenCv —— Vs2017编译Tesseract-OCR
  • VLM BLIP和BLIP2
  • 数论作业 —— 同余理论
  • 小驰私房菜_02_Qcom 高通平台 新增加driver,需要准备哪些东西?
  • 20230329英语学习
  • python课堂笔记——函数
  • 自己实验中用到的evo命令
  • 新生儿动脉自旋标记(ASL)灌注
  • 基于pytorch实现猫狗分类系统
  • mac下编译ncnn和ncnn中的pnnx
  • vue对象、数组响应式——$set||splice
  • 【学习笔记】http 1 / s / 2 / 3
  • qt 编译器 调试器
  • Spring Cloud Sentinel实战(三)- Sentinel流控规则
  • 【LeetCode每日一题:1641. 统计字典序元音字符串的数目 | 从暴力递归=>记忆化搜索=>动态规划】
  • 在ubuntu中,如何开机自启动一个有界面程序
  • python 定时任务触发(时序模型)
  • 【面试专栏】Java5 - CompletionService,将异步执行与获取结果分离
  • U盘实现——U 盘枚举过程
  • 【数据结构】TopK,堆排序, --堆的初始化与应用
  • ijkplayer 源码分析(1):初始化流程
  • 【算法】Raft算法详解
  • JVM 的 noverify 启动参数
  • 【八】一文带你迅速掌握阻塞队列
  • NFC设备接口ESD防静电新方案
  • KubeVela 1.7 版本解读:接管你的已有工作负载
  • lotus-miner Fees PC2 C2上链gas设置
  • var let区别
  • Thinkphp 6.0多对多关联查询
  • 安信可VC-02离线语音模块SDK之Linux环境搭建
  • 长安链TBFT支持随机函数类交易删除的实现
  • Umi‘s Friends——突破GameFi传统,游戏界新的P2E潮流先锋
  • PMU530负荷管理分支装置(电能质量监测装置)暨新型电力负荷管理终端|智能量测终端|低压分支监测单元四种应用方案
  • 【Linux系统:进程控制】
  • 【华为OD机试 2023最新 】 计算网络信号、信号强度(C++ 100%)
  • 用于微服务通信的 HTTP 与消息传递
  • 注解和Predicate组合拓展
  • 新目标大学英语综合教程1-4
  • hello案例的引入、模板语法、数据绑定、el与data的两种写法
  • 英语练习第三天-2023.03.26
  • git pull git push的详细使用
  • AOP概念及代码演示
  • gitee创建仓库提交项目流程
  • Python股票交易决策 - 计算收益率并控制风险
  • 咳、咳、咳,“百日咳”发病率正在上升
  • 【面试题】面试官:判断图是否有环?
  • PHPStorm Git提交忽略文件/文件夹
  • Redis安装和配置
  • DFIG控制4:网侧变换器控制
  • 第十一届“泰迪杯”数据挖掘挑战赛第四场赛前指导直播预告
  • IntelliJ IDEA 快捷键大全
  • 【学习经验分享NO.22】PyTorch环境搭建
  • git -- 如何切换到指定的历史版本,对其开发
  • 数字化转型导师坚鹏:银行如何建设行业领先的人才培训管理体系
  • 数据中台对于企业来讲意味着什么?_光点科技
  • LeetCode303_303. 区域和检索 - 数组不可变
  • MySQL实战45讲——08|事务到底是隔离的还是不隔离的?
  • C语言测试五
  • 总结803
  • 基于Java+Springboot+vue的汽车租赁系统设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】
  • 港科夜闻|香港科大公布合规科技研究,就强化行业发展提出多项建议
  • 24、Android -- Retrofit 基础学习
  • 从零入门激光SLAM(四)——ROS自定义编程
  • tensorflow2基础到实战(1)-概述
  • 【学习笔记】计算机视觉与深度学习(6.视觉识别任务)
  • 100种思维模型之黑板去沙思系思维模型-42
  • JAVA企业电子采购系统源码:采购过程更规范,更透明
  • 认识文件系统
  • ReduxToolkit的使用
  • String源码深度刨析
  • 51单片机(IIC协议OLED屏)
  • 前端相关知识(CSS)(3)(美化页面效果)
  • ZLMediaKitVs2022编译
  • 个人练习-Leetcode-659. Split Array into Consecutive Subsequences
  • C语言的灵魂---指针(进阶)
  • 字符串专题-LeetCode:剑指 Offer 58 - II. 左旋转字符串、LeetCode 459.重复的子字符串、 代码思路和注意点
  • Python基础语法18--枚举定义和访问
  • 【Unity】动态生成圆环体Mesh
  • 2023年度闵行区科技创业新锐企业申报的通知
  • 助老助残轮椅系统设计——FreeRTOS版本程序
  • 基于Spring、SpringMVC、MyBatis的超市管理系统
  • 3/27~3/28总结
  • 【Linux】缓冲区的理解
  • 1.初步认识 TypeScript
  • 1.11 从0开始学习Unity游戏开发--移动你的相机
  • MySQL数据库——数据管理技术的3个发展阶段
  • C基础学习之C 可变参数
  • ZeusAutoCode代码生成工具(开源)
  • Spring Cloud Alibaba全家桶(八)——Sentinel规则持久化
  • 【Spring】Bean对象的存取
  • Linux下安装NVIDIA显卡驱动的注意事项和相关内容点
  • 国企央企OFFER收割全攻略 | 银行篇之性格测评
  • 亚商投资顾问 早餐FM/0329大型光伏基地选址建设
  • final类又没实现接口应该用哪一种代理, jdk动态代理还是cglib代理
  • 基于matlab实现AUTOSAR软件开发---答疑4 如何在simulink里设置周期运行的runnbale的周期
  • 基于Spring Boot的超市进销存储管理系统
  • Vue项目的打包上线步骤
  • 远程组件实践
  • 浅聊面试这件事
  • StarRocks简单使用
  • 深度学习语义分割篇——FCN原理详解篇
  • X264使用流程文述
  • STM32 GPIO模拟多路I2C总线高阶操作: 同型号多设备并行访问
  • 跳槽互联网公司,需要做哪些准备?
  • rk3568 屏幕参数配置
  • 2023.3.28 天梯赛训练赛补题(病毒溯源 , 龙龙送外卖 , 红色警报)
  • C++中的虚基类
  • AtCoder 294F 二分套二分
  • 03Roberts算子
  • 归并排序(C/C++)
  • win32-C++-自定义资源文件-读取-保存文件-rc
  • Linux编译PyTorch1.31.1+CUDA版
  • 【致敬未来的攻城狮计划】连续打卡第7天+瑞萨RA2E1点亮LED
  • 人工智能知识图谱之信息抽取:基于Labelstudio的UIE半监督深度学习的智能标注方案(云端版),提效。
  • Vue项目基于i18n实现多语言的切换
  • 基于SSM的自习室预约管理系统
  • 传统餐厅的数字化,从“显示”开始
  • 熵值法综合评价分析流程
  • 使用 Jetpack Compose Modifier实现个人资料图片重叠效果
  • android 媒体通知栏适配
  • Wordpress paid-memberships-pro plugins CVE-2023-23488未授权SQLi漏洞复现
  • 小驰私房菜_04_Camera2 - Image中YUV格式理解
  • 第十一届“泰迪杯” 数据挖掘挑战赛 火热报名中!
  • 【cpolar 内网穿透】Openwrt 软路由实现内网穿透
  • 计算机网络中端到端与点到点的区别
  • 【CSS】清除浮动 ③ ( 清除浮动 - 使用 after 伪元素 | 语法简介 | 兼容低版本浏览器 | 原理分析 )
  • seaborn从入门到精通03-绘图功能实现05-构建结构化的网格绘图
  • Kotlin: Module was compiled with an incompatible version of Kotlin
  • 电脑显示屏是怎么显示出图像的?CPU与GPU又是什么关系?
  • pytest学习和使用24-如何清空allure报告历史记录?我每次都手动删除,有点Low了~
  • 2023年金三银四最新版Java面试八股文教程,涵盖25大专题:Java基础+spring全家桶+大数据+网络+设计模式+算法
  • 支配树与Lengauer-Tarjan算法
  • lvcreate 创建逻辑卷、vgcreate 创建卷组、pvcreate 创建物理卷、vgextend 扩容卷组、lv缩容
  • python进行股票收益率计算和风险控制的实现
  • 9.ISIS缺省路由
  • Object.assign() (最全 最干净 最好用)
  • 实验记录项目
  • 手绘集合框架结构图
  • 配置我自己的vim终端
  • 【最强规则引擎】-- ICE
  • 用户体验设计中的颜色
  • 02_python奇技淫巧
  • 热点︱赵长鹏被美CFTC起诉,Binance会是下一个Tiktok吗?
  • 详细介绍非相参积累和相参积累的原理和区别
  • (LDR6020)国产第一颗PD MCU 可以用于1to2快充线 无线充底座 手机散热背夹方案
  • 基于springboot会员制医疗预约服务管理信息系统演示【附项目源码】
  • 双因素方差分析流程
  • 科大奥瑞物理实验——迈克尔逊干涉仪实验
  • 剥茧抽丝,细数模块化的前世今生
  • 计算机组成原理课程实验源码及课程报告
  • 基于强化学习的房屋布局设计
  • Spark 单机版环境版的简单操作
  • ARM流水线的概念与原理
  • 4、模式二:策略模式(Strategy)
  • TryHackMe-Aratus(boot2root)
  • 计算机视觉入门 - MacOS搭建Python的OpenCV环境并在VScode上使用的详细步骤(完整版)
  • Git命令总结
  • ISO质量管理体系认证有哪些流程?
  • 【Mysql】事务原理
  • Stimulsoft Reports 2023.2.1 Crack
  • python 报错 SyntaxError: EOL while scanning string literal 问题原因 解决方案 EOL解释
  • 高新技术企业申请知多少
  • 用m语言实现ACC状态机—练习
  • LeetCode:215. 数组中的第K个最大元素
  • 初识进程——进程概念
  • 小白学Pytorch系列--Torch.nn API Dropout Layers(11)
  • 设计模式-结构-代理模式
  • Matlab进阶绘图第11期—方块热图灵活版
  • 14从零开始学Java之详解Java中的各种运算符
  • Brief comparision:Soap VS Rest
  • 动态代理实现原理
  • 你知道,华为对项目经理要求的3项技能5项素质是什么吗?
  • 新一轮商业革命将至,张勇用“敏捷组织”率先交出答卷
  • 数据的质量管控工作
  • 【剑指offer-C++】JZ51:数组中的逆序对
  • layui框架学习(19:日期与时间选择模块-下)
  • RT-Thread GD32F4xx Usart 驱动之中断接收轮询发送
  • 《动手学深度学习》(3)多层感知机
  • 网络计划经典例题讲解
  • Java this关键词详解
  • 算法强化每日一题--字符串中找出连续最长的数字串
  • Python:关于时间日期的第三方库及其函数使用方法
  • Linux下 lsof 命令详解
  • 基于Spring、SpringMVC、MyBatis的汽车租赁系统设计
  • 人工智能、深度学习和机器学习有哪些区别?
  • Windows环境下FFmpeg编译安装
  • koa开发实践1:基于 gulp 搭建 typescript 自动构建环境
  • 服务器不稳定对网站有哪些不好的影响
  • 问题解决:在PyCharm中import arcpy
  • 别再光靠工资过日子,外国程序员教你如何通过副业赚钱
  • leecode++理解
  • shopee商品详情接口(item_get-根据ID取商品详情)代码封装教程
  • 【服务器数据恢复】XenServer虚拟机误删除的数据恢复案例
  • 多重共线性全流程分析
  • mysqldumpe备份数据库
  • 生态领域:基于InVEST模型的生态系统服务建模+基于MaxENT的物种分布预测建模
  • Jenkins通用配置
  • JVM预热
  • 纸尿裤的CE认证办理流程
  • PCB模块化设计10——PCI-E高速PCB布局布线设计规范
  • java源码阅读 - HashTable
  • 有了HTTP,为啥还要用RPC
  • 为什么说这款99元国产ARM工业平台,具有“划时代”意义
  • CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
  • Entity Framework Core 简明教程(2)- 增删改查
  • Redis Stream队列与多线程模型
  • Spring Cloud Sentinel实战(四)-流控规则-关联、预热、排队等待
  • 审计学课程01-10:审计基本方法和理论
  • unity---物体旋转
  • 小驰私房菜系列-目录
  • 决策树与集成学习1-信息熵与手写决策树
  • 安科瑞导轨式智能通讯管理机
  • 剑指 Offer 07. 重建二叉树
  • 免 交 互
  • 微软语音合成工具+基于Electron + Vue + ElementPlus + Vite 构建并能将文字转换为语音 MP3
  • 眨个眼就学会了Pixi.js
  • selenium+python:clear不生效时,处理清空input框内容
  • Win10底部任务栏鼠标转圈圈问题的解决
  • 【C#基础】泛型的概念?有什么例子?在游戏中有什么可以使用的地方?
  • 2023年湖北初级职称(助理工程师)怎么申报?需要什么材料?启程
  • vue实现加载动画
  • ChatGPT如何助力DevOps|用例解读
  • 修改打开方式程序名称
  • 行业例会2023中国(东莞)国际电力自动化展览会
  • 基于springboot实现福聚苑社区团购演示【项目源码】分享
  • heatmap的理解
  • Flink 流批一体方案在数禾的实践
  • Tapdata 赋能敏捷转型:头部知识付费应用如何搭载实时数据快速提升人效,创造业务增长点
  • 2023智慧养老展,第十届北京国际智慧养老产业展览会8月举办
  • goland 代码注释 Goanno
  • 「技术架构」TOGAF建模之技术架构:网络计算硬件图
  • python实战应用讲解-【numpy科学计算】实用小技巧(五)(附python示例代码)
  • mysql使用记录
  • 有钱还系统开发|有钱还系统顾头不顾尾?最后的人会受伤害?
  • 【CXL】使用memkind/vmem管理CXL扩展内存
  • C++ Primer阅读笔记--const限定符的使用
  • Yolov5 + Opencv DNN + C++部署
  • 优漫动游 提升效率常用的C4D技巧
  • A06-批量注册组件
  • CI/CD 基础知识
  • kube-apiserver启动流程
  • 小驰私房菜_03_了解Remosaic
  • map源码解析
  • STM32F4_跑马灯实验
  • S32K144-MBD之PIL测试
  • Python 中 is 和 == 的区别
  • Flink从入门到精通之-03Flink 部署
  • 【Mysql】表的增删改查(一)
  • HR,有哪些常用的人才测评方法?
  • 大数据Flink进阶(十一):Flink History Server配置使用
  • java+Vue-springboot企业公司在线办公自动化OA系统
  • Element的使用—JavaWeb
  • Vector - CAPL - 测试过程及结果展示
  • 小驰私房菜_01_Android Camera该如何入门
  • Spring Boot基础学习之(六):前后端交互实现用户登录界面
  • 基于ChatGPT制作的一款英语口语练习应用SpokenAi
  • excel下拉时保持,变量值不被修改,用$引用即可,如$H$54
  • 机器学习:生成式对抗网络GAN
  • 【Java Web】002 -- JS Vue快速入门
  • 基于ARINC661的显示特性模型软件实现的测试覆盖分析
  • 初始Go语言2【标识符与关键字,操作符与表达式,变量、常量、字面量,变量作用域,注释与godoc】
  • p 值计算(置信度)
  • 用PyTorch实现MNIST数据集手写数字识别
  • 盘点IntelliJ IDEA中被低估的那些快捷键
  • 科大奥瑞物理实验——密立根油滴实验
  • channel源码解析
  • FreeRTOS学习(一)
  • 第九章 React中的事件处理
  • 通讯录,我™来了。
  • Yolov5+tensorrt+vs2019+windows部署
  • 基于 Stable Diffusion 一键 AI 作画:什么“小镇做题家”?人人都是艺术家
  • 面向对象语言(Python)——流程控制
  • python--循环结构
  • tcl学习
  • HTML5
  • 「SQL面试题库」 No_20 给定数字的频率查询中位数
  • 新探索研究生英语视听说教程
  • 腾讯云 面试题汇总_1(第一套)
  • 手撕二叉树--堆的应用一:topk问题
  • 面试题汇总
  • Javaweb | 初识、servlet应用
  • OTFS输入输出关系
  • 《HelloGitHub》第 84 期
  • PyQt Model/View架构之Delegate组件原理与代码实现
  • 国企央企OFFER收割全攻略 | 银行篇之笔试
  • C/C++ 毕业生就业管理系统(源码 + 详解)
  • 【从零开始学习 UVM】2.6、UVM 基础功能 —— UVM Object Pack/Unpack
  • vue3项目实战的请求接口问题(二)配置全局axios的nprogress顶部进度条
  • Elasticsearch:探索 k-nearest neighbor (kNN) 搜索
  • 基于Servlet房屋租赁管理信息系统(含前后台)(Java+Servlet+jsp+mysql)
  • Django 4.0文档学习(三)
  • 腾讯云服务器评测:配置 8核 16G 18M 带宽
  • vk-unicloud新手问题记录
  • 【springboot+mybatis+driud】实现动态添加和动态切换数据源
  • SeaBIOS实现简单分析
  • Intel处理器体系结构:分段机制
  • 深入理解计算机系统(第三版)【阅读笔记】
  • 微软对 GPT-4 的全面测试报告(3)GPT4 的编程能力
  • MySQL更新数据流程
  • 2步搞定拼版!AD通用拼版技巧分享!
  • 贯穿设计模式第五话--接口隔离原则
  • Antlr4简明使用教程(笔记)
  • C/C++每日一练(20230329)
  • 代码随想录算法训练营第五十七天|647.回文子串、516.最长回文子序列