CN113886042A - 基于tda2x车规级控制平台的泊车车位识别算法部署调度方法 - Google Patents
基于tda2x车规级控制平台的泊车车位识别算法部署调度方法 Download PDFInfo
- Publication number
- CN113886042A CN113886042A CN202111140154.7A CN202111140154A CN113886042A CN 113886042 A CN113886042 A CN 113886042A CN 202111140154 A CN202111140154 A CN 202111140154A CN 113886042 A CN113886042 A CN 113886042A
- Authority
- CN
- China
- Prior art keywords
- parking space
- cpu
- tda2x
- control platform
- scheduling method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 claims description 5
- 238000002054 transplantation Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30264—Parking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,本发明的主要设计构思在于,基于车规级控制平台要求并按照多处理器各自的工作特点,将泊车车位识别算法部署到不同的处理器上,并且构建链条框架实现多核协同调度,从而有效提升了运行效率及实时性。本发明结构逻辑清晰,具有较佳的通用性并可支持复用,充分发挥出了多处理器的强项,并使得整体算法从PC至TDA2X车规级控制平台的部署时间明显缩短,且大幅降低了移植风险。
Description
技术领域
本发明涉及自动泊车技术领域,尤其涉及一种基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法。
背景技术
现有市面上的自动泊车产品在基于TDA2X车规级控制平台部署线性车位识别算法时,没有充分考虑多核硬件特性,使用的硬件平台也没有按照运算特性专门定制CPU,并且,也没有设计专门的使用框架用于将线性车位识别算法部署到使用平台上,导致部署时间长、运行效率低、实时性差等一系列问题。
发明内容
鉴于上述,本发明旨在提供一种基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,解决了部署时间长、运行效率低、实时性差的问题。
本发明采用的技术方案如下:
一种基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其中包括:
将若干个车载相机采集到的原始图片输入至运行在第一CPU的环视拼接模块;
环视拼接模块将原始图片拼成为俯视拼接图,并经由转换模块输入至运行在第二CPU的车位检测模块;
车位检测模块基于俯视拼接图获得初始车位信息,并经由转换模块输入至运行在第一CPU的坐标转换模块;
坐标转换模块将初始车位信息的坐标转换成世界坐标,并将基于世界坐标系的车位信息经由转换模块输入至第三CPU,第三CPU用于输出显示车位图像。
在其中至少一种可能的实现方式中,所述方法还包括针对第二CPU的部署方式:
基于预先构建的车位模型自动生成车位的C语言代码;
将C语言代码中的原始图像处理函数替换为第二CPU支持的图像处理函数。
在其中至少一种可能的实现方式中,所述自动生成车位的C语言代码包括:基于预先构建的车位模型,并通过Matlab Coder工具自动生成车位C代码。
在其中至少一种可能的实现方式中,所述第二CPU具有DSP核;所述将C语言代码中的原始图像处理函数替换为第二CPU支持的图像处理函数包括:将原始图像处理函数替换为DSP核支持的图像处理函数。
在其中至少一种可能的实现方式中,所述方法还包括针对第二CPU的代码调用策略:
预先创建输入队列及输出队列;
将第一CPU输出的俯视拼接图作为输入,拷贝至输入队列中;
在输入队列中获取俯视拼接图的像素格式,并判断像素格式类型是否满足预设格式;
如果满足,则继续判断输入队列的缓存中是否已经存在图片数据或视频数据;
如果存在,则申请用来存储车位检测计算中间结果的缓存;
获取俯视拼接图并存至所述缓存,同时调用所述缓存中的图片作为车位检测模块的输入;
经由车位检测模块处理后,输出初始车位信息至输出队列里。
在其中至少一种可能的实现方式中,所述预设格式包括YUV422或YUV420。
在其中至少一种可能的实现方式中,所述车载相机为鱼眼相机。
在其中至少一种可能的实现方式中,所述鱼眼相机的数量至少为4个。
本发明的主要设计构思在于,基于车规级控制平台要求并按照多处理器各自的工作特点,将泊车车位识别算法部署到不同的处理器上,并且构建链条框架实现多核协同调度,从而有效提升了运行效率及实时性。本发明结构逻辑清晰,具有较佳的通用性并可支持复用,充分发挥出了多处理器的强项,并使得整体算法从PC至TDA2X车规级控制平台的部署时间明显缩短,且大幅降低了移植风险。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明实施例提供的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法的流程图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明提出了一种基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法的实施例,具体来说,如图1所示,其中包括:
步骤S1、将若干个鱼眼相机采集到的原始图片输入至运行在第一CPU的环视拼接模块;
步骤S2、环视拼接模块将原始图片拼成为俯视拼接图,并经由转换模块输入至运行在第二CPU的车位检测模块;
步骤S3、车位检测模块基于俯视拼接图获得初始车位信息,并经由转换模块输入至运行在第一CPU的坐标转换模块;
步骤S4、坐标转换模块将初始车位信息的坐标转换成世界坐标,并将基于世界坐标系的车位信息经由转换模块输入至第三CPU,第三CPU用于输出显示车位图像。
进一步地,所述方法还包括针对第二CPU的部署方式:
基于预先构建的车位模型自动生成车位的C语言代码;
将C语言代码中的原始图像处理函数替换为DSP核支持的图像处理函数。
进一步地,所述方法还包括针对第二CPU的代码调用策略:
预先创建输入队列及输出队列;
将第一CPU输出的俯视拼接图作为输入,拷贝至输入队列中;
在输入队列中获取俯视拼接图的像素格式,并判断像素格式类型是否满足YUV422或YUV420;
如果满足,则继续判断输入队列的缓存中是否已经存在图片数据或视频数据;
如果存在,则申请用来存储车位检测计算中间结果的缓存;
获取俯视拼接图并存至所述缓存,同时调用所述缓存中的图片作为车位检测模块的输入;
经由车位检测模块处理后,输出初始车位信息至输出队列里。
基于前述各实施例,具体说明参考如下:
将四个鱼眼相机采集到的图片输入至环视拼接模块,环视拼接模块将四个原图拼成一张俯视拼接图,环视拼接模块运行在第一CPU(如A15核),该第一CPU可作为主处理单元;
环视拼接模块将拼接后的俯视拼接图经由转换模块输入至车位检测模块,车位检测模块运行在第二CPU(如DSP核),该第二CPU的强项则是可以运行复杂的图像处理算法;
车位检测模块将检测到的初始车位信息经由转换模块输入至坐标转换模块,坐标转换模块用于将初始车位信息的坐标转换成世界坐标,坐标转换模块同样可以运行在第一CPU(如A15核);
坐标转换模块将基于世界坐标系的车位信息经由转换模块输入至第三CPU(如M4核),第三CPU主要用于图像的输出显示。
前述转换模块起到在不同核(CPU)之间传递数据的作用。
具体到其中涉及的车位检测任务的部署,则可以参考如下:
基于预先构建的车位模型,并可通过Matlab Coder等工具自动生成车位C代码,之后将其中关于图像处理的函数替换为DSP核支持的图像处理函数,以提升性能及运行效率。并进一步地设计了如下车位检测代码使用框架:
首先,创建输入队列及输出队列结构,将运行在第一CPU(A15)的俯视拼接图片作为输入拷贝至输入队列中,在输入队列中获取图像格式,并判断像素格式类型是否满足YUV422或YUV420,如果满足其中任何一种图像格式,再接着判断输入队列缓存中是否已经存在图片或视频数据,如果存在,申请用来存储车位检测算法中间结果的缓存;获取俯视拼接图片至所述缓存,同时,调用所述缓存中的图片作为车位检测模块的输入;最后,经由车位检测算法处理后,输出初始车位信息至输出队列里。
综上所述,本发明的主要设计构思在于,基于车规级控制平台要求并按照多处理器各自的工作特点,将泊车车位识别算法部署到不同的处理器上,并且构建链条框架实现多核协同调度,从而有效提升了运行效率及实时性。本发明结构逻辑清晰,具有较佳的通用性并可支持复用,充分发挥出了多处理器的强项,并使得整体算法从PC至TDA2X车规级控制平台的部署时间明显缩短,且大幅降低了移植风险。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (8)
1.一种基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,包括:
将若干个车载相机采集到的原始图片输入至运行在第一CPU的环视拼接模块;
环视拼接模块将原始图片拼成为俯视拼接图,并经由转换模块输入至运行在第二CPU的车位检测模块;
车位检测模块基于俯视拼接图获得初始车位信息,并经由转换模块输入至运行在第一CPU的坐标转换模块;
坐标转换模块将初始车位信息的坐标转换成世界坐标,并将基于世界坐标系的车位信息经由转换模块输入至第三CPU,第三CPU用于输出显示车位图像。
2.根据权利要求1所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述方法还包括针对第二CPU的部署方式:
基于预先构建的车位模型自动生成车位的C语言代码;
将C语言代码中的原始图像处理函数替换为第二CPU支持的图像处理函数。
3.根据权利要求2所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述自动生成车位的C语言代码包括:基于预先构建的车位模型,并通过Matlab Coder工具自动生成车位C代码。
4.根据权利要求2所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述第二CPU具有DSP核;所述将C语言代码中的原始图像处理函数替换为第二CPU支持的图像处理函数包括:将原始图像处理函数替换为DSP核支持的图像处理函数。
5.根据权利要求1所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述方法还包括针对第二CPU的代码调用策略:
预先创建输入队列及输出队列;
将第一CPU输出的俯视拼接图作为输入,拷贝至输入队列中;
在输入队列中获取俯视拼接图的像素格式,并判断像素格式类型是否满足预设格式;
如果满足,则继续判断输入队列的缓存中是否已经存在图片数据或视频数据;
如果存在,则申请用来存储车位检测计算中间结果的缓存;
获取俯视拼接图并存至所述缓存,同时调用所述缓存中的图片作为车位检测模块的输入;
经由车位检测模块处理后,输出初始车位信息至输出队列里。
6.根据权利要求5所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述预设格式包括YUV422或YUV420。
7.根据权利要求1~6任一项所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述车载相机为鱼眼相机。
8.根据权利要求7所述的基于TDA2X车规级控制平台的泊车车位识别算法部署调度方法,其特征在于,所述鱼眼相机的数量至少为4个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111140154.7A CN113886042A (zh) | 2021-09-28 | 2021-09-28 | 基于tda2x车规级控制平台的泊车车位识别算法部署调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111140154.7A CN113886042A (zh) | 2021-09-28 | 2021-09-28 | 基于tda2x车规级控制平台的泊车车位识别算法部署调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886042A true CN113886042A (zh) | 2022-01-04 |
Family
ID=79007219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111140154.7A Pending CN113886042A (zh) | 2021-09-28 | 2021-09-28 | 基于tda2x车规级控制平台的泊车车位识别算法部署调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886042A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114038235A (zh) * | 2021-11-29 | 2022-02-11 | 安徽江淮汽车集团股份有限公司 | 基于车规级控制器的智能泊车车位检测方法 |
-
2021
- 2021-09-28 CN CN202111140154.7A patent/CN113886042A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114038235A (zh) * | 2021-11-29 | 2022-02-11 | 安徽江淮汽车集团股份有限公司 | 基于车规级控制器的智能泊车车位检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11481862B2 (en) | System and method for real-time, simultaneous object detection and semantic segmentation | |
CN102693528B (zh) | 低光度图像中的噪声抑制 | |
WO2021248423A1 (zh) | 人工智能资源的调度方法、装置、存储介质和芯片 | |
CN113096201B (zh) | 嵌入式视频图像深度学习方法、设备及存储介质 | |
CN112184587B (zh) | 一种边缘数据增强模型、以及基于所述模型的高效边缘数据增强方法及*** | |
WO2019128735A1 (zh) | 图像处理方法及装置 | |
CN113886042A (zh) | 基于tda2x车规级控制平台的泊车车位识别算法部署调度方法 | |
CN111709879B (zh) | 图像处理方法、图像处理装置及终端设备 | |
JP2022002376A (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN1955933A (zh) | 数据处理设备和方法 | |
EP1152331A3 (en) | Parallel task processing system and method | |
CN111797715A (zh) | 车位检测方法、装置、电子设备及存储介质 | |
WO2020039897A1 (ja) | 駅監視システム及び駅監視方法 | |
CN111428732A (zh) | Yuv图像识别方法、***和计算机设备 | |
Chakaravarthy et al. | Vision control unit in fully self driving vehicles using xilinx mpsoc and opensource stack | |
CN210694184U (zh) | 人工智能分析设备以及人工智能处理器 | |
CN115115538A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN114443894A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
US8254711B2 (en) | System and method for processing digital noise in a digital image | |
CN112313944A (zh) | 图像处理方法、装置、设备及存储介质 | |
EP3394834B1 (en) | Key lights direction detection | |
CN110189272B (zh) | 用于处理图像的方法、装置、设备和存储介质 | |
CN113095231B (zh) | 基于分类对象的视频识别方法、***、设备及存储介质 | |
CN113641373B (zh) | 一种镜像部署的方法、装置和存储介质 | |
CN113034520B (zh) | 增量式正射影像数据切片服务化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |