CN111709996A - 一种检测集装箱位置的方法及装置 - Google Patents
一种检测集装箱位置的方法及装置 Download PDFInfo
- Publication number
- CN111709996A CN111709996A CN202010545415.2A CN202010545415A CN111709996A CN 111709996 A CN111709996 A CN 111709996A CN 202010545415 A CN202010545415 A CN 202010545415A CN 111709996 A CN111709996 A CN 111709996A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- learning model
- container
- parameters
- image
- 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 70
- 238000013136 deep learning model Methods 0.000 claims abstract description 157
- 238000010606 normalization Methods 0.000 claims abstract description 42
- 238000005520 cutting process Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 23
- 238000011084 recovery Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 27
- 238000001514 detection method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种检测集装箱位置的方法及装置,包括:获取包含有集装箱的图像;基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,所述重要性参数是所述深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;对裁剪后的深度学习模型进行再训练;将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置。能够使深度学习模型变得轻量化,更快地检测出集装箱在图像中的位置。并且,由于深度学习模型被裁剪后变得更加轻量化,无需再占用过多的存储空间,进而能够很好地适用于嵌入式图形处理器。
Description
技术领域
本发明涉及检测技术领域,尤其涉及一种检测集装箱位置的方法及装置。
背景技术
在港口集装箱的装卸过程中,无人驾驶车辆需要根据吊具以及集装箱的状态信息通过控制其自身的动作来对集装箱进行装卸作业。具体来说,无人驾驶车辆通过图像传感器获取其前方上空的图像,然后通过深度学习模型确定吊具是否抓取到集装箱以及集装箱的位置信息,从而确定集装箱装卸作业的进展,进而使得无人驾驶车辆能够进行减速、对位、启动等动作。
然而,无人驾驶车辆在对集装箱进行装卸的过程中,需要实时获取集装箱的位置信息,才能够精准地控制车辆自身的动作。但是,由于深度学习模型中模型参数量大,通过深度学习模型确定集装箱的位置信息需要花费较多的时间,进而使无人驾驶车辆无法实时地获取到集装箱的位置信息。
发明内容
鉴于上述问题,本发明实施例的目的是提供一种检测集装箱位置的方法及装置,通过使深度学习模型变得轻量化,能够快速地确定出集装箱的位置信息,使得无人驾驶车辆能够实时地获取到集装箱的位置信息。
为解决上述技术问题,本发明实施例提供如下技术方案:
第一方面,本发明实施例提供一种检测集装箱位置的方法,包括:获取包含有集装箱的图像;基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,所述重要性参数是所述深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;对裁剪后的深度学习模型进行再训练;将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置。
第二方面,本发明实施例提供一种检测集装箱位置的装置,包括:接收模块,用于获取包含有集装箱的图像;裁剪模块,用于基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,所述重要性参数是所述深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;恢复模块,用于对裁剪后的深度学习模型进行再训练;定位模块,用于将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:至少一个处理器;以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述一个或多个技术方案中的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述一个或多个技术方案中的方法。
本发明实施例提供的检测集装箱位置的方法及装置,包括:获取包含有集装箱的图像;基于深度学习模型的归一化层中的重要性参数对深度学习模型进行裁剪,重要性参数是深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;对裁剪后的深度学习模型进行再训练;将图像输入再训练后的深度学习模型得到集装箱在图像中的位置。通过深度学习模型的归一化层中的重要性参数对深度学习模型进行裁剪,使深度学习模型变得轻量化,能够基于集装箱的图像更快地检测出集装箱在图像中的位置,进而使得无人驾驶车辆能够实时地获取集装箱的位置,更加精准地对集装箱进行装卸作业。并且,由于深度学习模型被裁剪后变得更加轻量化,无需再占用过多的存储空间,进而能够很好地适用于嵌入式图形处理器(Graphics Processing Unit,GPU),节省集装箱位置检测的硬件成本。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例中港口环境下检测集装箱位置的架构示意图;
图2为本发明实施例中检测集装箱位置的方法的流程示意图一;
图3为本发明实施例中检测集装箱位置的方法的流程示意图二;
图4为本发明实施例中建立的深度学习模型的结构示意图;
图5为本发明实施例中输出卷积模块的结构示意图;
图6为本发明实施例中进行参数裁剪的示意图;
图7为本发明实施例中通过单步小比例与多步迭代进行裁剪的流程示意图;
图8为本发明实施例中确定集装箱精确位置的流程示意图;
图9为本发明实施例中区域膨胀的示意图;
图10为本发明实施例中集装箱三面可见的分割结果示意图;
图11为本发明实施例中集装箱两面可见的分割结果示意图;
图12为本发明实施例中三面可见情况下确定集装箱精确位置的示意图;
图13为本发明实施例中两面可见情况下确定集装箱精确位置的示意图;
图14为本发明实施例中检测集装箱位置的装置的结构示意图;
图15为本发明实施例中的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
在港口中,无论是在岸桥场景下,无人驾驶车辆与吊具配合完成集装箱的装卸船任务,还是在场桥场景下,无人驾驶车辆与吊具配合完成集装箱的存取任务,无人驾驶车辆都需要获取吊具及集装箱的状态信息,进而根据吊具及集装箱的状态信息对车辆自身的动作进行控制,完成相应的装卸任务。
图1为本发明实施例中港口环境下检测集装箱位置的架构示意图。参见图1所示,无人驾驶车辆101上安装有图像传感器102,吊具103上吊有集装箱104,图像传感器102能够采集到吊具103及集装箱104的图像,通过本发明实施例提供的检测集装箱104位置的方法及装置,能够对图像传感器102采集的吊具103及集装箱104的图像进行检测,确定吊具103及集装箱104的位置,进而使无人驾驶车辆101根据吊具103及集装箱104的位置确定其下一步的动作,最终完成集装箱104的装卸任务。
当然,图像传感器除了可以安装在无人驾驶车辆上,还可以安装在其它能够采集到车辆前方上空的吊具及集装箱的图像的位置上,此处不做限定。在实际应用中,图像传感器可以作为拍摄设备中的电子元件,通过拍摄设备获取吊具及集装箱的图像。
下面对本发明实施例中检测集装箱位置的方法进行详细说明。
本发明实施例提供了一种检测集装箱位置的方法。图2为本发明实施例中检测集装箱位置的方法的流程示意图一,参见图2所示,该方法可以包括:
S201:获取包含有集装箱的图像。
在具体实施过程中,可以通过图像传感器获取包含有集装箱的图像。对于图像传感器,前面已经进行了说明,此处不再赘述。
S202:基于深度学习模型的归一化层中的重要性参数对深度学习模型进行裁剪,重要性参数是深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的。
深度学习(Deep Learning,DL),是机器学习(Machine Learning,ML)的一个方向,用以实现人工智能(Artificial Intelligence,AI)。具体来说,就是学习样本数据的内在规律和表示层次,使得机器能够像人一样具有分析学习能力。通过深度学习模型,能够智能识别文字、图像、声音等。
由于深度学习模型具有检测精确的特性,因此深度学习模型中模型参数量大,在进行检测时较为耗时,无法满足检测的实时性。而通过对深度学习模型进行裁剪,即剪枝,就能够使深度学习模型变得轻量化,减少检测的耗时,提高检测的实时性。
在具体实施过程中,由于在训练深度学习模型时,为了加快深度学习模型的训练速度,一般的,都会在深度学习模型的网络层上加入归一化层(即BatchNorm层)以加快收敛速度,进而达到加快训练速度的目的。因此,可以选择深度学习模型归一化层中的各个通道特征参数作为参照进行深度学习模型的裁剪。而为了避免裁剪对深度学习模型的准确性的影响,就需要再对各个通道特征参数进行稀疏化训练,也就是将各个通道的功能转移到某一个或某几个通道上。这样,有的通道上就无功能或者仅剩很少的功能,有的通道上就有很多的功能。表现出来就是有的通道对应的网络层上的重要性参数为0或很小,有的通道对应的网络层上的重要性参数很大。将较小的重要性参数对应的网络层的参数删除,不仅能够使深度学习模型变得轻量化,还不会影响深度学习模型检测的准确性。
需要说明的是:在深度学习模型中,存在很多网络层,在添加归一化层时,可以在某一个或某几个网络层上加入归一化层,也可以在每个网络层上都加入归一化层,此处不做限定。
在实际应用中,深度学习模型中的网络层可以是卷积层。相对的,在对深度学习模型进行裁剪时,裁剪的就是对应的卷积核。
S203:对裁剪后的深度学习模型进行再训练。
在对深度学习模型进行裁剪后,深度学习模型的检测精度会有所下降,因此需要对裁剪后的深度学习模型再次进行训练。在具体实施过程中,可以采用初次训练深度学习模型时使用的数据集对裁剪后的深度学习模型进行再训练。而对深度学习模型再训练的具体过程与初次训练深度学习模型的过程相同,故此处不再赘述。
S204:将图像输入再训练后的深度学习模型得到集装箱在图像中的位置。
在对深度学习模型进行裁剪以及再训练的处理后,深度学习模型中的模型参数不仅有所减少,能够满足实时性的检测要求,而且深度学习模型的检测精度也没有降低。因此,将包含集装箱的图像输入到处理后的深度学习模型中,能够实时并准确地获取集装箱在图像中的位置信息。对于将图像输入深度学习模型中获得图像中的信息则为现有技术,此处不再赘述。
由上述内容可知,本发明实施例提供的检测集装箱位置的方法,包括:获取包含有集装箱的图像;基于深度学习模型的归一化层中的重要性参数对深度学习模型进行裁剪,重要性参数是深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;对裁剪后的深度学习模型进行再训练;将图像输入再训练后的深度学习模型得到集装箱在图像中的位置。通过深度学习模型的归一化层中的重要性参数对深度学习模型进行裁剪,使深度学习模型变得轻量化,能够基于集装箱的图像更快地检测出集装箱在图像中的位置,进而使得无人驾驶车辆能够实时地获取集装箱的位置,更加精准地对集装箱进行装卸作业。并且,由于深度学习模型被裁剪后变得更加轻量化,无需再占用过多的存储空间,进而能够很好地适用于嵌入式GPU,节省集装箱位置检测的硬件成本。
进一步地,作为图2所示方法的细化和扩展,本发明实施例还提供了一种检测集装箱位置的方法。图3为本发明实施例中检测集装箱位置的方法的流程示意图二,参见图3所示,该方法可以包括:
S301:获取包含有集装箱的图像。
本步骤与图2中步骤201的实现方式相同,此处不再赘述。
若要根据集装箱的图像通过深度学习模型获得集装箱在图像中的位置,首先需要建立深度学习模型。
S302:建立深度学习模型。
具体的,可以采用单阶段检测形式构建深度学习模型。相比于双阶段检测,单阶段检测是指用一个端到端的全卷积神经网络完成从原始图像的输入到包络框中物体类别的输出。
图4为本发明实施例中建立的深度学习模型的结构示意图,以及图5为本发明实施例中输出卷积模块的结构示意图。
需要说明的是:深度学习模型可以是预先建立好的,当需要使用时,便于直接使用。也就是说,步骤302可以在步骤301之前预先执行。
在建立深度学习模型后,为了使深度学习模型能够更加轻量化,满足实时检测的要求,还需要对深度学习模型进行裁剪。
S303:在深度学习模型的每个网络层中建立归一化层。
由于深度学习模型的各个网络层之间存在多个通道,对深度学习模型进行裁剪也就是对网络层的参数进行裁剪,进而实现对通道的裁剪,而在每个网络层中都建立归一化层,能够更加准确地确定各通道的重要性,进而更加准确地裁剪掉网络层中重要性低的参数,确保深度学习模型的检测精度。
在归一化层中,对输入数据进行归一化与线性映射。在归一化的过程中,通过使均值为0、方差为1,进而使深度学习模型能够快速收敛,提高模型的训练速度。在归一化后,由于神经网络的表达性受到限制,因此还需要再进行线性映射,增强神经网络的表达性。
具体的,可以通过公式(1)进行归一化,通过公式(2)进行线性映射。
其中,x为输入数据,E表示期望,Var表示标准差。
其中,y为输出数据,γ就是归一化层中的通道特征参数,也可以称作重缩放因子或重映射因子。
S304:基于损失函数、惩罚项、损失函数与惩罚项之间的权重对深度学习模型的归一化层中的通道特征参数进行稀疏化训练,得到重要性参数。
在具体实施过程中,将通道特征参数γ分别代入损失函数和惩罚项中,并基于损失函数与惩罚项之间的权重对损失函数和惩罚项求和,得到总损失函数。在总损失函数中,使大多数的γ趋近于0,即达到了稀疏化训练的效果。
在这里,损失函数与惩罚项之间的权重可以根据实际情况设置,对于权重的具体数值,此处不做限定。并且,通过将损失函数和惩罚项结合在一起取总和的最小值,而并不是先取损失函数的最小值,再取惩罚项的最小值,能够节省训练耗时,加快训练速度。
具体的,稀疏化训练可以通过公式(3)进行。
其中,(x,y)是训练的输入和目标,W是网络层中可训练的参数,第一个求和项为损失函数,第二个求和项是惩罚项,λ是权重,即两个求和项的平衡因子。
在得到归一化层中各通道的重要性参数后,就可以根据重要性参数的大小将重要性参数小的对应的网络层的参数删除。图6为本发明实施例中进行参数裁剪的示意图,参见图6所示,6a为裁剪前的第i层卷积层及其对应的特征映射层,在第i层卷积层中,共有m个重要性参数γ,第i层卷积层与第i+1层卷积层之间共有2m条通道。在裁剪时,将最小的两个重要性参数(γ2和γ4)对应的卷积层删除,即删除了4条通道(6a中的虚线)。6b为裁剪后的第i层卷积层及其对应的特征映射层,在第i层卷积层中,共有m-2个重要性参数γ,第i层卷积层与第i+1层卷积层之间共有2m-4条通道。
然而,如果将所有的重要性参数排列后,删除预设数量的重要性参数对应的网络层的参数,可能出现某一个或者某几个网络层中的参数全部被裁剪,出现网络层参数的断层。为了防止出现此种情况,在进行裁剪时需要为每一个网络层都保留不少于预设数量的参数。
S305:按照第二预设比例保留深度学习模型中每个网络层中的参数。
S306:按照第一预设比例裁剪重要性参数中重要性低的参数对应的深度学习模型中网络层的参数。
在按照第二预设比例保留了各个网络层中的参数后,就可以按照第一预设比例在全部的重要性参数中删除较小的重要性参数对应的网络层的参数。这样,既不会发生网络层参数断层的问题,又可以删除功能较少的通道,确保裁剪后的深度学习模型的检测精度。
此外,某一网络层中的参数被裁剪后,会影响到后一网络层对应的输入,因此,在裁剪后,还需要对被裁剪的网络层后面的网络层的参数进行适应性调整,实现特征的对齐。对于具体的调整方式,属于现有技术,此处不再赘述。
在具体实施过程中,为了避免一次性裁剪参数过多而导致深度学习模型产生不可逆的精度损失,需要采用单步小比例以及多步迭代的参数裁剪方式,对深度学习模型网络层中的参数进行裁剪。
所谓单步小比例,就是在一次裁剪过程中仅裁剪较少的参数。所谓多步迭代,就是多次进行单步小比例裁剪。例如:若共需裁剪90个参数,在一次裁剪中,仅需裁剪10个即可,一共需要裁剪9次。这里需要注意的是:在进行一次单步小比例裁剪之后,先需要对深度学习模型进行恢复再训练,然后再继续下一次的单步小比例裁剪。还需要说明的是:对于何时结束裁剪,这需要结合实际对于深度学习模型的精度和轻便度的要求。如果实际对于模型的精度要求比轻便度要求高,那么,若在中间某次裁剪过后,模型精度降低过多,则停止后续的裁剪。如果实际对于模型的轻便度要求比精度要求高,那么,无论中间裁剪过后,模型精度变得如何,都完成所有的裁剪次数。
图7为本发明实施例中通过单步小比例与多步迭代进行裁剪的流程示意图,参见图7所示,具体的单步小比例与多步迭代的裁剪步骤如下:
S3061:按照第一子预设比例裁剪重要性参数中重要性低的参数对应的深度学习模型中网络层的参数。
其中,第一子预设比例小于第一预设比例,第一子预设比例可以根据实际情况设置,此处不做限定。
S3062:判断裁剪后的深度学习模型的网络稀疏度是否满足预设稀疏度。若是,则执行S307;若否,则执行S307和S3061。
S307:对裁剪后的深度学习模型进行再训练。
本步骤与图2中步骤203的实现方式相同,此处不再赘述。
S308:将图像输入再训练后的深度学习模型得到集装箱在图像中的位置。
本步骤与图2中步骤204的实现方式相同,此处不再赘述。
至此,通过裁剪后的深度学习模型,就能够得到集装箱的大体位置了。而由于拍摄设备的安装角度以及吊具在吊装集装箱的过程中会使集装箱在图像中的姿态变化较大,检测出的集装箱的大体位置并不能够使无人驾驶车辆进行更加精确的装卸任务。如此,就需要进一步获取集装箱的精确位置。图8为本发明实施例中确定集装箱精确位置的流程示意图,参见图8所示,具体包括:
S3081:将图像输入再训练后的深度学习模型得到集装箱的包络框。
这里的包络框是一个能够包含集装箱的最小矩形面积区域。
S3082:在图像中,基于包络框进行区域膨胀,得到感兴趣区域(Region OfInterest,ROI)。
由于通过深度学习模型检测得到的包络框可能会存在定位偏差,因此,在具体实施过程中,可以基于包络框的中心位置向四周膨胀得到感兴趣区域。这样,感兴趣区域中就在很大程度上包含了集装箱的图像。图9为本发明实施例中区域膨胀的示意图,参见图9所示,通过深度学习模型能够确定出集装箱104的包络框901,进行区域膨胀后得到感兴趣区域902。
在实际应用中,可以基于包络框的边长从包络框的中心向外膨胀1.5倍,从而得到的感兴趣区域的面积为包络框内面积的2.25倍。这样,能够防止包络框的检测结果出现偏差而导致未能将集装箱完全包裹的现象。
S3083:在感兴趣区域中,判断是否存在集装箱。若是,则执行S3084;若否,则结束集装箱位置检测。
S3084:确定集装箱的各个可见表面。
一般的,集装箱在图像中最多能够呈现出三个面,即前面、侧面和底面。在具体实施过程中,可以采用深度学习的语义分割网络进行集装箱的表面分割。分别设置前面、侧面和底面这三个标签,其余的都为背景。图10为本发明实施例中集装箱三面可见的分割结果示意图,参见图10所示,能够确定出前面1001、底面1002和侧面1003。以及图11为本发明实施例中集装箱两面可见的分割结果示意图,参见图11所示,能够确定出前面1101和底面1102。对于深度学习的语义分割网络,属于现有技术,此处不再赘述。
S3085:判断集装箱是否为三面可见。若是,则执行S3086;若否,则执行S3087。
S3086:根据各个可见表面确定各个可见表面之间的棱边,并根据可见表面中前面和底面之间的棱边长度以及集装箱的标准化长度确定集装箱与相应车辆的距离,根据三面的交点对应的三条棱边之间的夹角确定集装箱的方向。
具体的,可以通过边缘检测算法确定各个可见表面之间的棱边。而边缘检测算法属于现有技术,故此处不再赘述。
由于集装箱都具有标准化的尺寸,即集装箱的各个棱边都具有固定的长度,因此,通过图像中集装箱的棱边长度和集装箱的标准化棱边长度就能够换算出集装箱实际与拍摄设备的距离,以及通过图像中集装箱各棱边之间的夹角变化得出集装箱实际上的姿态变化。具体的换算方式属于现有的数学推导过程,故此处不再赘述。
图12为本发明实施例中三面可见情况下确定集装箱精确位置的示意图,参见图12所示,前面1001与底面1002之间存在棱边1201,底面1002与侧面1003之间存在棱边1202,侧面1003与前面1001之间存在棱边1203,棱边1201与棱边1202之间存在夹角α,棱边1202与棱边1203之间存在夹角β,棱边1203与棱边1201之间存在夹角γ。根据棱边1201及其对应的集装箱标准化棱边长度能够确定集装箱与相应车辆的距离,根据夹角α、夹角β、夹角γ能够确定集装箱的方向。
S3087:根据各个可见表面确定各个可见表面之间的棱边,并根据可见表面中前面和底面之间的棱边长度以及集装箱的标准化长度确定集装箱与相应车辆的距离,根据前面和底面之间的棱边与底面中与其相邻的两条棱边之间的夹角确定集装箱的方向。
图13为本发明实施例中两面可见情况下确定集装箱精确位置的示意图,参见图13所示,前面1101与底面1102之间存在棱边1301,前面1101与某一不可见的侧面之间存在棱边1302,底面1102与该不可见的侧面之间存在棱边1303,棱边1301与棱边1302之间存在夹角θ,棱边1301与棱边1303之间存在夹角ω。根据棱边1301及其对应的集装箱标准化棱边长度能够确定集装箱与相应车辆的距离,根据夹角θ和夹角ω能够确定集装箱的方向。
S3088:判断集装箱是否在危险范围内。若是,则执行S3089;若否,则结束集装箱位置检测。
在确定了集装箱与相应车辆之间距离以及集装箱的方向后,就能够判断出集装箱当前是否处于危险范围内。这里的危险范围可以是指集装箱即将与车辆或其它集装箱发生碰撞等。这样能够避免在集装箱的装卸任务中发生事故。
S3089:发出预警。
由上述内容可知,本发明实施例提供的检测集装箱位置的方法,通过在深度学习模型中建立归一化层,对归一化层中的参数进行稀疏化训练,根据稀疏化训练后的重要性参数对深度学习模型进行裁剪,对裁剪后的深度学习模型进行精度恢复训练,得到轻量化的深度学习模型,进而结合相关的几何算法得到集装箱的精确位置,能够更快地检测出集装箱在图像中的精确位置,进而使得无人驾驶车辆能够实时地获取集装箱的精确位置,更加精准地对集装箱进行装卸作业。并且,由于深度学习模型被裁剪后变得更加轻量化,无需再占用过多的存储空间,进而能够很好地适用于嵌入式GPU,节省集装箱位置检测的硬件成本。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种检测集装箱位置的装置。图14为本发明实施例中检测集装箱位置的装置的结构示意图,参见图14所示,该装置140可以包括:接收模块1401,用于获取包含有集装箱的图像;裁剪模块1402,用于基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,所述重要性参数是所述深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;恢复模块1403,用于对裁剪后的深度学习模型进行再训练;定位模块1404,用于将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置。
基于前述实施例,该装置还包括:构建模块,用于在所述深度学习模型的每个网络层中建立归一化层。
基于前述实施例,该装置还包括:训练模块,用于基于损失函数、惩罚项、损失函数与惩罚项之间的权重对所述深度学习模型的归一化层中的通道特征参数进行稀疏化训练,得到所述重要性参数。
基于前述实施例,所述裁剪模块,具体用于按照第一预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中网络层的参数。
基于前述实施例,所述裁剪模块,具体用于按照第二预设比例保留所述深度学习模型中每个网络层的参数。
基于前述实施例,所述裁剪模块,具体用于按照第一子预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中网络层的参数,所述第一子预设比例小于所述第一预设比例;若裁剪后的深度学习模型的网络稀疏度满足预设稀疏度,则执行对裁剪后的深度学习模型进行再训练;若裁剪后的深度学习模型的网络稀疏度不满足预设稀疏度,则对裁剪后的深度学习模型进行再训练后,继续按照第一子预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中网络层的参数。
基于前述实施例,所述定位模块,具体用于将所述图像输入再训练后的深度学习模型得到所述集装箱的包络框;在所述图像中,基于所述包络框进行区域膨胀,得到感兴趣区域;在所述感兴趣区域中,确定所述集装箱在所述图像中的位置。
基于前述实施例,所述定位模块,具体用于在所述感兴趣区域中,确定所述集装箱的各个可见表面;根据所述各个可见表面确定所述各个可见表面之间的棱边;根据各个棱边的长度、各个棱边之间的夹角以及所述集装箱的标准化长度,确定所述集装箱在所述图像中的位置。
基于前述实施例,所述定位模块,具体用于若所述集装箱的可见表面为三面,则根据所述可见表面中前面和底面之间的棱边长度以及所述集装箱的标准化长度确定所述集装箱与相应车辆的距离,根据所述三面的交点对应的三条棱边之间的夹角确定所述集装箱的方向;若所述集装箱的可见表面为两面,则根据所述可见表面中前面和底面之间的棱边长度以及所述集装箱的标准化长度确定所述集装箱与相应车辆的距离,根据所述前面和所述底面之间的棱边与所述底面中与其相邻的两条棱边之间的夹角确定所述集装箱的方向。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
基于同一发明构思,本发明实施例还提供了一种电子设备。图15为本发明实施例中的电子设备的结构示意图,参见图15所示,该电子设备150可以包括:至少一个处理器1501;以及与处理器1501连接的至少一个存储器1502、总线1503;其中,处理器1501、存储器1502通过总线1503完成相互间的通信;处理器1501用于调用存储器1502中的程序指令,以执行上述一个或多个实施例中的方法。
这里需要指出的是:以上电子设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明实施例的电子设备的实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述一个或多个实施例中的方法。
这里需要指出的是:以上计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明实施例的计算机可读存储介质的实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种检测集装箱位置的方法,其特征在于,包括:
获取包含有集装箱的图像;
基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,所述重要性参数是所述深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;
对裁剪后的深度学习模型进行再训练;
将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置。
2.根据权利要求1所述的方法,其特征在于,在基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪之前,还包括:
在所述深度学习模型的每个网络层中建立归一化层。
3.根据权利要求1所述的方法,其特征在于,在基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪之前,还包括:
基于损失函数、惩罚项、损失函数与惩罚项之间的权重对所述深度学习模型的归一化层中的通道特征参数进行稀疏化训练,得到所述重要性参数。
4.根据权利要求1所述的方法,其特征在于,所述基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,包括:
按照第一预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中网络层的参数。
5.根据权利要求4所述的方法,其特征在于,在按照第一预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中的卷积层之前,还包括:
按照第二预设比例保留所述深度学习模型中每个网络层的参数。
6.根据权利要求4所述的方法,其特征在于,所述按照第一预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中的卷积层,包括:
按照第一子预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中网络层的参数,所述第一子预设比例小于所述第一预设比例;
若裁剪后的深度学习模型的网络稀疏度满足预设稀疏度,则执行对裁剪后的深度学习模型进行再训练;
若裁剪后的深度学习模型的网络稀疏度不满足预设稀疏度,则对裁剪后的深度学习模型进行再训练后,继续按照第一子预设比例裁剪重要性参数中重要性低的参数对应的所述深度学习模型中网络层的参数。
7.根据权利要求1所述的方法,其特征在于,所述将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置,包括:
将所述图像输入再训练后的深度学习模型得到所述集装箱的包络框;
在所述图像中,基于所述包络框进行区域膨胀,得到感兴趣区域;
在所述感兴趣区域中,确定所述集装箱在所述图像中的位置。
8.根据权利要求7所述的方法,其特征在于,所述在所述感兴趣区域中,确定所述集装箱在所述图像中的位置,包括:
在所述感兴趣区域中,确定所述集装箱的各个可见表面;
根据所述各个可见表面确定所述各个可见表面之间的棱边;
根据各个棱边的长度、各个棱边之间的夹角以及所述集装箱的标准化长度,确定所述集装箱在所述图像中的位置。
9.根据权利要求8所述的方法,其特征在于,所述根据各个棱边的长度、各个棱边之间的夹角确定以及所述集装箱的标准化长度,确定所述集装箱在所述图像中的位置,包括:
若所述集装箱的可见表面为三面,则根据所述可见表面中前面和底面之间的棱边长度以及所述集装箱的标准化长度确定所述集装箱与相应车辆的距离,根据所述三面的交点对应的三条棱边之间的夹角确定所述集装箱的方向;
若所述集装箱的可见表面为两面,则根据所述可见表面中前面和底面之间的棱边长度以及所述集装箱的标准化长度确定所述集装箱与相应车辆的距离,根据所述前面和所述底面之间的棱边与所述底面中与其相邻的两条棱边之间的夹角确定所述集装箱的方向。
10.一种检测集装箱位置的装置,其特征在于,包括:
接收模块,用于获取包含有集装箱的图像;
裁剪模块,用于基于深度学习模型的归一化层中的重要性参数对所述深度学习模型进行裁剪,所述重要性参数是所述深度学习模型的归一化层中的通道特征参数经过稀疏化训练得到的;
恢复模块,用于对裁剪后的深度学习模型进行再训练;
定位模块,用于将所述图像输入再训练后的深度学习模型得到所述集装箱在所述图像中的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010545415.2A CN111709996A (zh) | 2020-06-16 | 2020-06-16 | 一种检测集装箱位置的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010545415.2A CN111709996A (zh) | 2020-06-16 | 2020-06-16 | 一种检测集装箱位置的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111709996A true CN111709996A (zh) | 2020-09-25 |
Family
ID=72540912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010545415.2A Pending CN111709996A (zh) | 2020-06-16 | 2020-06-16 | 一种检测集装箱位置的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111709996A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795606A (zh) * | 2022-11-22 | 2023-03-14 | 财拓云计算(上海)有限公司 | 数据中心构建方法、数据中心和数据中心构建系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105438993A (zh) * | 2014-09-24 | 2016-03-30 | 西门子公司 | 自动地光学确定集装箱吊具的目标位置的方法和系统 |
US20190244061A1 (en) * | 2018-02-05 | 2019-08-08 | The Regents Of The University Of California | Local binary pattern networks methods and systems |
CN110147834A (zh) * | 2019-05-10 | 2019-08-20 | 上海理工大学 | 基于稀疏化双线性卷积神经网络的细粒度图像分类方法 |
CN110276450A (zh) * | 2019-06-25 | 2019-09-24 | 交叉信息核心技术研究院(西安)有限公司 | 基于多粒度的深度神经网络结构化稀疏系统和方法 |
CN111027538A (zh) * | 2019-08-23 | 2020-04-17 | 上海撬动网络科技有限公司 | 一种基于实例分割模型的集装箱检测方法 |
-
2020
- 2020-06-16 CN CN202010545415.2A patent/CN111709996A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105438993A (zh) * | 2014-09-24 | 2016-03-30 | 西门子公司 | 自动地光学确定集装箱吊具的目标位置的方法和系统 |
US20190244061A1 (en) * | 2018-02-05 | 2019-08-08 | The Regents Of The University Of California | Local binary pattern networks methods and systems |
CN110147834A (zh) * | 2019-05-10 | 2019-08-20 | 上海理工大学 | 基于稀疏化双线性卷积神经网络的细粒度图像分类方法 |
CN110276450A (zh) * | 2019-06-25 | 2019-09-24 | 交叉信息核心技术研究院(西安)有限公司 | 基于多粒度的深度神经网络结构化稀疏系统和方法 |
CN111027538A (zh) * | 2019-08-23 | 2020-04-17 | 上海撬动网络科技有限公司 | 一种基于实例分割模型的集装箱检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795606A (zh) * | 2022-11-22 | 2023-03-14 | 财拓云计算(上海)有限公司 | 数据中心构建方法、数据中心和数据中心构建系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113033537B (zh) | 用于训练模型的方法、装置、设备、介质和程序产品 | |
CN109961107B (zh) | 目标检测模型的训练方法、装置、电子设备及存储介质 | |
CN111091123A (zh) | 文本区域检测方法及设备 | |
CN110533018B (zh) | 一种图像的分类方法及装置 | |
US20200097778A1 (en) | Overlapping cnn cache reuse in high resolution and streaming-based deep learning inference engines | |
CN111753878A (zh) | 一种网络模型部署方法、设备及介质 | |
CN113989616A (zh) | 一种目标检测方法、装置、设备和存储介质 | |
CN111709996A (zh) | 一种检测集装箱位置的方法及装置 | |
CN112819100A (zh) | 无人机平台多尺度目标检测方法和装置 | |
CN112734827A (zh) | 一种目标检测方法、装置、电子设备和存储介质 | |
US20210166129A1 (en) | Multi-scale object detection with a trained neural network | |
Yin et al. | A Vision-based inventory method for stacked goods in stereoscopic warehouse | |
CN114494398B (zh) | 倾斜目标的处理方法、装置、存储介质与处理器 | |
CN113031010B (zh) | 检测天气的方法、装置、计算机可读存储介质与处理器 | |
CN113139463A (zh) | 用于训练模型的方法、装置、设备、介质和程序产品 | |
CN113963236A (zh) | 目标检测方法及装置 | |
Liu et al. | Research on Small Target Pedestrian Detection Algorithm Based on Improved YOLOv3 | |
CN112836745B (zh) | 一种目标检测方法和装置 | |
US20230010180A1 (en) | Parafinitary neural learning | |
CN116363390B (zh) | 一种红外弱小目标检测方法、装置、存储介质及电子设备 | |
US20240119615A1 (en) | Tracking three-dimensional geometric shapes | |
US20230020929A1 (en) | Write combine buffer (wcb) for deep neural network (dnn) accelerator | |
US20230252299A1 (en) | Detecting and mitigating fault in sparsity computation in deep neural network | |
CN116363037B (zh) | 一种多模态图像融合方法、装置及设备 | |
CN116070314B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200925 |