CN115601735B - 空盘识别装置和方法 - Google Patents
空盘识别装置和方法 Download PDFInfo
- Publication number
- CN115601735B CN115601735B CN202110768537.2A CN202110768537A CN115601735B CN 115601735 B CN115601735 B CN 115601735B CN 202110768537 A CN202110768537 A CN 202110768537A CN 115601735 B CN115601735 B CN 115601735B
- Authority
- CN
- China
- Prior art keywords
- image
- template
- edge
- empty
- tray
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000003708 edge detection Methods 0.000 claims abstract description 115
- 230000008030 elimination Effects 0.000 claims abstract description 38
- 238000003379 elimination reaction Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 44
- 238000000605 extraction Methods 0.000 claims description 35
- 230000002452 interceptive effect Effects 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 17
- 239000000284 extract Substances 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 4
- 238000005286 illumination Methods 0.000 description 37
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000012447 hatching Effects 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 238000005299 abrasion Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000001502 supplementing effect Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000007306 turnover Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- 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/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种空盘识别装置和方法,该空盘识别装置包括:图像获取模块,获取托盘的图像,所述托盘在底部设置有干扰介质;边缘检测模块,对所述图像中的底盘区域进行边缘检测,获得边缘图像;模板匹配模块,将所述边缘图像与干扰介质图像模板进行匹配;对应区域消除模块,将所述边缘图像中与所述干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及空盘判断模块,基于所述剩余边缘点,判断是否为空的托盘。
Description
技术领域
本发明涉及行李安检领域,尤其是,涉及空盘识别装置和方法。
背景技术
在传统的行李安检领域中,安检员需要引导旅客将行李放入托盘中,将托盘放上传送带,使得托盘通过传送带进入成像装置,由成像装置对行李以及托盘进行成像,通过图像识别来判断行李中是否包含禁止携带的物品。在旅客取走行李之后,安检员需要人工回收空托盘,以便重新利用。因此,存在安检员的工作负担变重,旅客通过安检的通过效率低,排队时间长等问题。另外,如果对于空托盘也进行安检,则也会加长安检时间。
从而,如果能实现空托盘的自动识别,有利于空托盘的自动回收,或者空托盘的快速排除,能够大大减轻安检员的工作负担,加快安检速度,改善旅客的安检体验。
发明内容
本发明的发明人经过调查研究发现,目前,能够实现空托盘的自动识别的技术主要有两种。一种是,基于激光测距的技术,通过激光测距来判断托盘是否为空,在这种情况下,需要依赖于密集的激光测距阵列,其成本非常高,从而实用性差。另一种是,基于图像识别来判断托盘是否为空的技术,在这种情况下,容易错误地将设置在托盘中的广告、贴纸、图画等的干扰介质、光照导致的阴影等识别为行李,从而识别准确率低,有时还需要人工介入才能做到有效识别,从而导致自动化程度低,识别效率低。
本发明提出了一种能够识别出设置在托盘上的干扰介质、从而能够提高空盘识别准确率的干扰介质自适应的空盘识别装置和方法。
本发明的一个方式提供一种空盘识别装置,包括:图像获取模块,获取托盘的图像,托盘在底部设置有干扰介质;边缘检测模块,对图像中的底盘区域进行边缘检测,获得边缘图像;模板匹配模块,将边缘图像与干扰介质图像模板进行匹配;对应区域消除模块,将边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及空盘判断模块,基于剩余边缘点,判断是否为空的托盘。
在上述的空盘识别装置中,还包括:底盘轮廓提取模块,从图像获取模块所获取的图像中提取底盘区域轮廓,根据底盘区域轮廓来确定底盘区域。
在上述的空盘识别装置中,底盘轮廓提取模块对图像进行自适应二值化之后,进行开操作或闭操作,提取连续的底盘区域轮廓。
在上述的空盘识别装置中,底盘轮廓提取模块判断底盘区域轮廓是否超出预定阈值范围,若超出,则判断为托盘为非空,结束处理,若不超出,则输出该底盘区域轮廓。
在上述的空盘识别装置中,如果有多个位于预定阈值范围内的底盘区域轮廓,则底盘轮廓提取模块选择面积最小的底盘区域轮廓输出。
在上述的空盘识别装置中,还包括:旋正模块,基于底盘轮廓提取模块所输出的底盘区域轮廓的最小外接矩形,进行旋正,并剪切出边缘检测区域,作为底盘区域。
在上述的空盘识别装置中,旋正模块还包括:缩放模块,将边缘检测区域缩放至指定大小来作为底盘区域,指定大小根据干扰介质图像模板的大小来确定。
在上述的空盘识别装置中,边缘检测模块在对底盘区域进行高斯模糊处理之后,选定两个阈值,通过双阈值canny边缘检测来获得边缘图像。
在上述的空盘识别装置中,两个阈值是通过机器学习对现场图像进行学习来选择的。
在上述的空盘识别装置中,模板匹配模块对干扰介质图像模板进行翻转,将翻转前和翻转后的干扰介质图像模板均与边缘图像进行匹配,其中,干扰介质图像模板存储在空盘识别装置的存储器中,或者存储在能够与空盘识别装置通信的外部设备中。
在上述的空盘识别装置中,对应区域消除模块在判断边缘图像中与干扰介质图像模板对应的边缘点时,适用邻域处理。
在上述的空盘识别装置中,空盘判断模块基于剩余边缘点的个数来判断是否为空的托盘,或者,基于剩余边缘点的个数和集中程度来判断是否为空的托盘。
在上述的空盘识别装置中,空盘判断模块在剩余边缘点的个数大于个数阈值、且集中程度大于集中程度阈值的情况下,判断为非空的托盘,否则,判断为空的托盘。
本发明的另一个方式提供一种空盘识别系统,包括:图像采集装置,采集托盘的图像;
上述的空盘识别装置;以及干扰介质图像模板生成装置,用于生成干扰介质图像模板。
在上述的空盘识别系统中,干扰介质图像模板生成装置通过对多张底盘图像进行边缘检测来生成干扰介质图像模板,其中,多张底盘图像是分别对多个空的托盘进行拍摄得到的,托盘的底盘上设置有干扰介质。
本发明的另一个方式提供一种空盘识别方法,包括:图像获取步骤,获取托盘的图像,托盘在底部设置有干扰介质;边缘检测步骤,对图像中的底盘区域进行边缘检测,获得边缘图像;
模板匹配步骤,将边缘图像与干扰介质图像模板进行匹配;对应区域消除步骤,将边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及空盘判断步骤,基于剩余边缘点,判断是否为空的托盘。
在上述的空盘识别方法中,在边缘检测步骤之前,还包括:底盘轮廓提取步骤,从在图像获取步骤中获取的图像中提取底盘区域轮廓,根据底盘区域轮廓来确定底盘区域。
在上述的空盘识别方法中,在底盘轮廓提取步骤中,对图像进行自适应二值化之后,进行开操作或闭操作,提取连续的底盘区域轮廓。
在上述的空盘识别方法中,在底盘轮廓提取步骤中,判断底盘区域轮廓是否超出预定阈值范围,若超出,则判断为托盘为非空,结束处理,若不超出,则输出该底盘区域轮廓。
在上述的空盘识别方法中,在底盘轮廓提取步骤中,如果有多个位于预定阈值范围内的底盘区域轮廓,则选择面积最小的底盘区域轮廓输出。
在上述的空盘识别方法中,在底盘轮廓提取步骤之后且边缘检测步骤之前,还包括:旋正步骤,基于在底盘轮廓提取步骤中输出的底盘区域轮廓的最小外接矩形,进行旋正,并剪切出边缘检测区域,作为底盘区域。
在上述的空盘识别方法中,旋正步骤还包括:缩放步骤,在缩放步骤中,将边缘检测区域缩放至指定大小来作为底盘区域,指定大小根据干扰介质图像模板的大小来确定。
在上述的空盘识别方法中,在边缘检测步骤中,在对底盘区域进行高斯模糊处理之后,选定两个阈值,通过双阈值canny边缘检测来获得边缘图像。
在上述的空盘识别方法中,两个阈值是通过机器学习对现场图像进行学习来选择的。
在上述的空盘识别方法中,在模板匹配步骤中,对干扰介质图像模板进行翻转,将翻转前和翻转后的干扰介质图像模板均与边缘图像进行匹配,其中,干扰介质图像模板存储在空盘识别装置的存储器中,或者存储在能够与空盘识别装置通信的外部设备中。
在上述的空盘识别方法中,在对应区域消除步骤中,在判断边缘图像中与干扰介质图像模板对应的边缘点时,适用邻域处理。
在上述的空盘识别方法中,在空盘判断步骤中,基于剩余边缘点的个数来判断是否为空的托盘,或者,基于剩余边缘点的个数和集中程度来判断是否为空的托盘。
在上述的空盘识别方法中,在空盘判断步骤中,在剩余边缘点的个数大于个数阈值、且集中程度大于集中程度阈值的情况下,判断为非空的托盘,否则,判断为空的托盘。
本发明的另一个方式提供一种计算机可读的存储介质,存储有程序,程序使得计算机执行以下步骤:图像获取步骤,获取托盘的图像,托盘在底部设置有干扰介质;边缘检测步骤,对图像中的底盘区域进行边缘检测,获得边缘图像;模板匹配步骤,将边缘图像与干扰介质图像模板进行匹配;对应区域消除步骤,将边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及空盘判断步骤,基于剩余边缘点,判断是否为空的托盘。
在本发明中,通过对托盘的底盘区域的图像进行边缘检测,并将边缘图像与干扰介质图像模板进行比较,从边缘图像中去掉与干扰介质图像模板对应的边缘点,基于剩余的边缘点判断是否为空盘,从而能够消除干扰介质的边缘线或边缘点对空盘识别的影响,在托盘上设置有干扰介质的情况下,也能够准确地识别托盘是否为空盘。
本发明还提出了一种能够生成用于空盘识别的干扰介质图像模板的干扰介质图像模板生成装置和方法。
本发明的一个方式提供一种干扰介质图像模板生成装置,其特征在于,通过对多张底盘图像进行边缘检测,生成包含干扰介质的边缘点的干扰介质图像模板,其中,干扰介质图像模板用于识别空的托盘,多张底盘图像是分别对多个空的托盘进行拍摄得到的,托盘的底盘上设置有干扰介质。
在上述的干扰介质图像模板生成装置中,包括:初始模板生成模块,通过对多张底盘图像进行边缘检测,并对同一位置处的边缘点的个数进行计数,根据计数结果来生成初始模板,干扰介质图像模板生成装置将初始模板作为干扰介质图像模板存储和/或输出。
在上述的干扰介质图像模板生成装置中,初始模板生成模块仅在边缘点的计数值或计数值的占比大于第一阈值时,将该边缘点保留到初始模板。
在上述的干扰介质图像模板生成装置中,初始模板生成模块利用与底盘图像相同大小的二维的图像的像素值、二维向量、二维存储空间中的一个,对底盘图像中的边缘点进行计数。
在上述的干扰介质图像模板生成装置中,还包括:最终模板生成模块,根据多张底盘图像中的每一张的边缘点和初始模板的边缘点之间的差异,获得第一剩余边缘点,根据第一剩余边缘点来更新初始模板,由此生成最终模板,干扰介质图像模板生成装置代替初始模板而将最终模板作为干扰介质图像模板存储和/或输出。
在上述的干扰介质图像模板生成装置中,最终模板生成模块通过邻域处理寻找在底盘图像的边缘点中与初始模板的边缘点对应的边缘点。
在上述的干扰介质图像模板生成装置中,最终模板生成模块仅在多张底盘图像中的每一张的第一剩余边缘点的数量大于第二阈值时,更新初始模板。
在上述的干扰介质图像模板生成装置中,最终模板生成模块在多张底盘图像中的每一张的第一剩余边缘点的数量大于第二阈值时,还对剩余边缘点进行膨胀处理。
在上述的干扰介质图像模板生成装置中,最终模板生成模块针对多张底盘图像,每当判断出第一剩余边缘点的数量大于第二阈值时,对剩余边缘点所对应的位置处的计数值加一,仅在计数值大于预定的张数阈值时,更新初始模板。
在上述的干扰介质图像模板生成装置中,最终模板生成模块利用与底盘图像相同大小的二维的图像的像素值、二维向量、二维存储空间中的一个,对第一剩余边缘点所对应的位置进行计数。
在上述的干扰介质图像模板生成装置中,还包括:运行阶段更新模块,在空盘识别装置的运行阶段,当被输入更新信号时,根据实时托盘图像中的边缘点和已有模板的边缘点之间的差异,获得第二剩余边缘点,根据第二剩余边缘点来更新已有模板,实时托盘图像是在空盘识别装置的运行阶段,对空的托盘进行拍摄得到的,托盘的底盘上设置有干扰介质,已有模板是初始模板或最终模板。
在上述的干扰介质图像模板生成装置中,运行阶段更新模块还包括:翻转判断部,翻转判断部判断所获取的实时托盘图像中的干扰介质的方向是否与已有模板中的干扰介质的方向一致,当判断为不一致时,对边缘图像进行翻转,并将翻转后的边缘图像输入到对应区域消除部。
本发明的另一个方式提供一种空盘识别系统,包括:图像采集装置,采集托盘的图像;
上述的干扰介质图像模板生成装置;以及空盘识别装置,使用干扰介质图像模板生成装置所生成的干扰介质图像模板来进行空盘识别。
在上述的空盘识别系统中,空盘识别装置包括:图像获取部,从图像采集装置获取托盘的图像;边缘检测部,对图像中的底盘区域进行边缘检测,获得边缘图像;模板匹配部,将边缘图像与干扰介质图像模板进行匹配;对应区域消除部,将边缘图像中与干扰介质图像模板对应的边缘点消除,得到第三剩余边缘点;以及空盘判断部,基于第三剩余边缘点,判断是否为空的托盘。
在上述的空盘识别系统中,运行阶段更新模块包括:图像获取部;边缘检测部;对应区域消除部;以及模板更新部,其中,图像获取部所获取的图像是实时托盘图像,对应区域消除部将边缘图像中与已有模板对应的边缘点消除,得到第二剩余边缘点,模板更新部根据第二剩余边缘点来更新已有模板。
本发明的另一个方式提供一种干扰介质图像模板生成方法,其特征在于,通过对多张底盘图像进行边缘检测,生成包含干扰介质的边缘点的干扰介质图像模板,其中,干扰介质图像模板用于识别空的托盘,多张底盘图像是分别对多个空的托盘进行拍摄得到的,托盘的底盘上设置有干扰介质。
在上述的干扰介质图像模板生成方法中,包括:初始模板生成步骤,其中,对多张底盘图像进行边缘检测,并对同一位置处的边缘点的个数进行计数,根据计数结果来生成初始模板,将初始模板作为干扰介质图像模板存储和/或输出。
在上述的干扰介质图像模板生成方法中,其中,在初始模板生成步骤中,仅在边缘点的计数值或计数值的占比大于第一阈值时,将该边缘点保留到初始模板。
在上述的干扰介质图像模板生成方法中,其中,在初始模板生成步骤中,利用与底盘图像相同大小的二维的图像的像素值、二维向量、二维存储空间中的一个,对底盘图像中的边缘点进行计数。
在上述的干扰介质图像模板生成方法中,还包括:最终模板生成步骤,根据多张底盘图像中的每一张的边缘点和初始模板的边缘点之间的差异,获得第一剩余边缘点,根据第一剩余边缘点来更新初始模板,由此生成最终模板,代替初始模板,将最终模板作为干扰介质图像模板存储和/或输出。
在上述的干扰介质图像模板生成方法中,在最终模板生成步骤中,通过邻域处理寻找在底盘图像的边缘点中与初始模板的边缘点对应的边缘点。
在上述的干扰介质图像模板生成方法中,最终模板生成模块仅在多张底盘图像中的每一张的第一剩余边缘点的数量大于第二阈值时,更新初始模板。
在上述的干扰介质图像模板生成方法中,在最终模板生成步骤中,在多张底盘图像中的每一张的第一剩余边缘点的数量大于第二阈值时,还对剩余边缘点进行膨胀处理。
在上述的干扰介质图像模板生成方法中,在最终模板生成步骤中,针对多张底盘图像,每当判断出第一剩余边缘点的数量大于第二阈值时,对第一剩余边缘点所对应的位置处的计数值加一,仅在计数值大于预定的张数阈值时,更新初始模板。
在上述的干扰介质图像模板生成方法中,在最终模板生成步骤中,利用与底盘图像相同大小的二维的图像的像素值、二维向量、二维存储空间中的一个,对剩余边缘点所对应的位置进行计数。
在上述的干扰介质图像模板生成方法中,还包括:运行阶段更新步骤,在空盘识别装置的运行阶段,当被输入更新信号时,根据实时托盘图像中的边缘点和已有模板的边缘点之间的差异,获得第二剩余边缘点,根据第二剩余边缘点来更新已有模板,实时托盘图像是在空盘识别装置的运行阶段,对空的托盘进行拍摄得到的,托盘的底盘上设置有干扰介质,已有模板是初始模板或最终模板。
在上述的干扰介质图像模板生成方法中,运行阶段更新步骤还包括:翻转判断步骤,在翻转判断步骤中,判断所采集的实时托盘图像中的干扰介质的方向是否与已有模板中的干扰介质的方向一致,当判断为不一致时,对边缘图像进行翻转,并输出翻转后的边缘图像。
本发明的另一个方式提供一种空盘识别方法,包括:上述的干扰介质图像模板生成方法。
在上述的空盘识别方法中,还包括:图像获取步骤,获取托盘的图像;边缘检测步骤,对图像中的底盘区域进行边缘检测,获得边缘图像;模板匹配步骤,将边缘图像与干扰介质图像模板进行匹配;对应区域消除步骤,将边缘图像中与干扰介质图像模板对应的边缘点消除,得到第三剩余边缘点;以及空盘判断步骤,基于第三剩余边缘点,判断是否为空的托盘。
在上述的空盘识别方法中,其中,运行阶段更新步骤包括:图像获取步骤;边缘检测步骤;对应区域消除步骤;以及模板更新步骤,在图像获取步骤中,所获取的图像是实时托盘图像,在对应区域消除步骤中,将边缘图像中与已有模板对应的边缘点消除,得到第二剩余边缘点,在模板更新步骤中,根据第二剩余边缘点来更新已有模板。
本发明的另一个方式提供一种计算机可读的存储介质,存储有程序,程序使得计算机执行以下处理:通过对多张底盘图像进行边缘检测,生成包含干扰介质的边缘点的干扰介质图像模板,其中,干扰介质图像模板用于识别空的托盘,多张底盘图像是分别对多个空的托盘进行拍摄得到的,托盘的底盘上设置有干扰介质。
在本申请中,通过对多张底盘图像进行边缘检测,生成包含干扰介质的边缘点的干扰介质图像模板,能够生成有效地表示干扰介质图像的边缘点的分布情况的干扰介质图像模板,从而能能够实现干扰介质自适应的空盘识别。
附图说明
图1是示出第一实施方式所涉及的空盘识别系统的构成的示意图;
图2是示出第一实施方式所涉及的空盘识别装置30的实施例1的功能模块图;
图3是示出第一实施方式所涉及的空托盘识别方法的实施例1的流程图;
图4是示出第一实施方式所涉及的空托盘识别方法的对应区域消除步骤S34和空盘判断步骤S35的一个示例的流程图;
图5是示意性示出第一实施方式所涉及的空托盘识别方法的实施例1的一个示例的流程图;
图6是示出第一实施方式所涉及的空托盘识别方法的边缘检测步骤S32的一个示例的流程图;
图7是示出第一实施方式所涉及的空托盘识别方法的模板匹配步骤S33的一个示例的流程图;
图8是示出第一实施方式所涉及的空盘识别装置30的实施例2的功能模块图;
图9是示出第一实施方式所涉及的空托盘识别方法的实施例2的流程图;
图10是示出第一实施方式所涉及的空托盘识别方法的底盘轮廓提取步骤S36的一个示例的流程图;
图11是示出第一实施方式所涉及的空托盘识别方法的旋正步骤S37的一个示例的流程图;
图12是示出第二实施方式所涉及的干扰介质图像模板生成装置40的实施例1的功能模块图;
图13示出第二实施方式所涉及的干扰介质图像模板生成方法的实施例1的一个示例的流程图;
图14是示出第二实施方式所涉及的干扰介质图像模板生成装置40的实施例2的功能模块图;
图15是示出第二实施方式所涉及的干扰介质图像模板生成方法的实施例2的流程图;
图16是示出第二实施方式所涉及的干扰介质图像模板生成方法的最终模板生成步骤S42步骤的一个示例的流程图;
图17的(a)示出初始模板,图17的(b)示出最终模板;
图18是示出第二实施方式所涉及的空盘识别系统的构成的示意图;
图19是示出第二实施方式所涉及的干扰介质图像模板生成装置40的实施例3的一个示例的功能模块图;
图20是示出第二实施方式所涉及的干扰介质图像模板生成方法的实施例3的流程图;
图21是示出第二实施方式所涉及的干扰介质图像模板生成方法的运行阶段更新步骤S43的一个示例的流程图;
图22是示出第三实施方式所涉及的空盘识别系统的构成的示意图;
图23是示出第三实施方式所涉及的阴影消除装置70的实施例1的功能模块图;
图24是示出第三实施方式所涉及的阴影消除方法的实施例1的流程图;
图25的(a)~(d)示出第三实施方式所涉及的阴影消除方法的光照差异步骤S72的一个示例;
图26是示出第三实施方式所涉及的阴影消除方法的阴影线消除步骤S74的一个示例的流程图;
图27的(a)和(b)示出在进行阴影线消除步骤的处理前后的边缘图像;
图28是示出第三实施方式所涉及的空盘识别装置30”的实施例2的功能模块图;
图29是示出第三实施方式所涉及的空托盘识别方法的实施例2的流程图;
图30是地示出第三实施方式所涉及的空盘识别系统的实施例3的功能模块图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性的实施方式或实施例。虽然附图中显示了本发明的示例性的实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施方式或实施例所限制。相反,提供这些实施方式或实施例是为了能够更清楚地理解本发明。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施方式或实施例能够以除了图示或描述的以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备,不限于清楚地列出的步骤或单元,而是可以包括没有清楚地列出的其它步骤或单元。文中的相同或相似的标号表示具有相同或相似的功能的构成要素。
<第一实施方式>
为了解决现有的空盘识别技术对于设置有干扰介质的托盘的识别准确率较低的问题,本发明的第一实施方式提供一种能够对设置有干扰介质的托盘进行自适应检测的空盘识别装置、系统和方法。在这里,“干扰介质”是指,例如,托盘上的广告、贴纸、印刷画等,能够对空盘识别带来干扰的、有别于托盘结构本身的介质。“设置有干扰介质”是指,可以通过粘贴、印刷等方式使得干扰介质附着在托盘上。
图1示出本实施方式所涉及的空盘识别系统的构成的示意图。该空盘识别系统100可以用于行李安检场景中。该空盘识别系统100可以包括托盘传送装置10、图像采集装置20、以及空盘识别装置30。
如图1所述,托盘传送装置10可以被配置为沿着第一方向X(水平方向)传送托盘。在这里,托盘可以用于容纳行李。
图像采集装置20对经由托盘传送装置10通过图像采集区域21的托盘进行图像采集。换言之,拍摄通过图像采集区域的托盘的影像。
在示例性实施例中,图像采集装置20可以是摄像头,更为具体来说,可以是拍摄静态图片的相机,也可以是拍摄视频的摄像机。换言之,在这里,图像既可以是静态图像,也可以是运动图像。
尽管图1中仅示出了一个图像采集模块,但是本领域技术人员应当理解,可以设置两个或更多个图像采集模块。
空盘识别装置30可以以硬件方式实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。例如,空盘识别装置30可以由设置有处理器的台式计算机、平板电脑、智能电话、服务器等任何合适的电子设备,以软硬件相结合的方式实现。
空盘识别装置30的处理器可以执行后述的空盘识别方法。
空盘识别装置30还可以包括存储器(未示出)和通信模块(未示出)等。
空盘识别装置30的存储器可以存储执行后述的空盘识别方法的步骤,以及与用于进行空托盘识别相关的数据等。存储器可以是例如ROM(Read Only Memory image,只读存储器)、RAM(Random Access Memory,随机存取存储器)等。存储器具有用于执行以下空盘识别方法中的任何步骤的程序代码的存储空间。这些程序代码被处理器读取并执行时执行下述的空盘识别方法。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,光盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。用于执行以下方法中的任何步骤的程序代码也可以通过网络进行下载。程序代码可以例如以适当形式进行压缩。
空盘识别装置30中的通信模块可以支持在空盘识别装置30与外部电子装置之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。例如,通信模块经由网络向图像采集装置20发送指令,并且经由网络从图像采集装置20接收数据。
此外,空盘识别装置30还可以包括显示器、麦克风、扬声器等输出部,以用于显示或播报托盘的状态(即,是空托盘还是非空托盘)、或者告警等。
第一实施方式的空盘识别装置30在托盘的底部设置有干扰介质的情况下,也能够准确地识别出空托盘。
另外,虽然本发明中示出了存在托盘传送装置10的示例,然而,本发明的空盘识别系统也可以不包含托盘传送装置10,例如,可以人为地将托盘放到图像采集装置20的图像采集区域21。
(实施例1)
图2是示意性地示出第一实施方式所涉及的空盘识别装置30的实施例1的功能模块图。这些功能模块可以通过空盘识别装置30的处理器执行存储在空盘识别装置30的存储器中的程序来实现。
如图2所示,空盘识别装置30包括:图像获取模块31,从图像采集装置20获取托盘的图像,所述托盘在底部设置有干扰介质;边缘检测模块32,对图像中的底盘区域进行边缘检测,获得边缘图像;模板匹配模块33,将边缘图像与干扰介质图像模板进行匹配;对应区域消除模块34,将边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及空盘判断模块35,基于剩余边缘点,判断是否为空的托盘。
以下,对在实施例1中空盘识别装置30所执行的空托盘识别方法进行说明。
图3是示意性示出第一实施方式所涉及的空托盘识别方法的实施例1的流程图。
在S31步骤中,图像获取模块31从图像采集装置20获取托盘的图像,该托盘在底部设置有干扰介质。
在这里,可以从图像采集装置20直接获取图像,也可以经由与图像采集装置20和空盘识别装置30通信的其他外部设备获取。例如,由图像采集装置20将所采集的图像上传至服务器,空盘识别装置30再从服务器下载等。
在S32步骤中,边缘检测模块32对图像中的底盘区域进行边缘检测,获得边缘图像。
在这里,可以通过本领域已有的技术对拍摄有底盘的图像确定底盘区域,并对该底盘区域使用已有的边缘检测技术进行边缘检测,获得边缘图像。
在S33步骤中,模板匹配模块33将边缘图像与干扰介质图像模板进行匹配,寻找最佳匹配模板。在这里,最佳匹配模板是所有干扰介质图像模板中与边缘图像的匹配度最好的模板。
具体来说,可以将在S32步骤中获得的边缘图像与存储在空盘识别装置30的存储部(未图示)中的干扰介质图像模板进行匹配。在这里,干扰介质图像模板包含干扰介质图像的边缘点,还可以包含由一些边缘点构成的边缘线。
在S34步骤中,对应区域消除模块34将边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点num。
在S35步骤中,空盘判断模块35基于剩余边缘点num,判断是否为空的托盘。
图4示出对应区域消除步骤S34和空盘判断步骤S35的一个示例。
在S341步骤中,消除边缘图像中与干扰介质图像模板对应的边缘点。
作为一个示例,假设与边缘图像中的每个边缘点(xi,yi)对应的最佳匹配模板上的像素点为(Xj,Yj),在最佳匹配模板中查找该像素点(Xj,Yj)的邻域内是否存在像素值表示是边缘点的点,若存在,则将像素点为(xi,yi)设为非边缘点,若不存在,则保持不变,如此,对边缘图像中的所有的边缘点进行遍历。在本发明中,边缘点用白色(像素值255)表示,因此,在S341步骤中,可以查找是否存在像素值255的点。另外,邻域可以是以该像素点为中心,边长为2K的正方形区域。
通过上述S341步骤的处理,能够从边缘图像中去除与最佳匹配模板相对应的边缘点。
在S342步骤中,计算边缘图像中经过S341步骤之后的剩余边缘点的数量,记为num。
另外,S34步骤在S341步骤之前,还可以包括裁剪步骤,在该裁剪步骤中可以将边缘图像裁剪为与干扰介质图像模板相同的尺寸。通过该处理,可以排除由于图像大小导致的偏差,对判断结果的影响。
在S351步骤中,将剩余边缘点的阈值为Tnum,判断剩余边缘点的数量是否大于阈值Tnum。如果num>Tnum,则进入S352步骤,判断为托盘是非空的,如果num≤Tnum,则进入S353步骤,判断为托盘是空的。
另外,还可以将剩余边缘点的分布的集中程度设为S,并将集中程度的阈值设为Sth,如果num>Tnum且S>Sth,则判断为托盘是非空的,否则为托盘是空的。在剩余边缘点的个数多但这些剩余边缘点不集中的情况下,有可能并不是表示托盘中有行李,从而可能识别结果有误,通过在剩余边缘点的数量之外还考虑其集中程度,能够更加准确地识别出非空的托盘。
将上述的图3和图4结合,则可以获得图5。即,图5是示意性示出该实施例1的一个示例的流程图。
另外,虽然以上说明了通过现有技术来实现边缘检测步骤S32和模板匹配步骤S33的示例,然而,上述的边缘检测步骤S32和模板匹配步骤S33还可以通过以下方式实现。
在S32步骤中,针对拍摄有托盘的图像,通过图像识别来识别出托盘的底盘区域。边缘检测模块32针对该底盘区域的图像,先对底盘区域进行高斯模糊处理之后,选定两个阈值,通过双阈值canny边缘检测来获得边缘图像。
具体来说,图6示出边缘检测步骤S32的一个示例。
在S321步骤中,对输入的底盘区域的图像进行高斯模糊处理。
在S322步骤中,选择两个阈值T1,T2。
在这里,两个阈值可以通过机器学习对现场图像进行学习来自适应地选取。
在不同环境下,图像采集装置102所采集的图像在亮度上会存在明显差异,通过自适应地调整阈值T1,T2,能够减少弱光照等造成的非物品边缘被作为边缘图像来检测出来的情况,还可以适应图像在整体亮度上的差异。
另外,通过设定合理的阈值,能够在保持主要边缘不变的情况下,尽可能的去除图像噪声的影响。
在S323步骤中,利用S322步骤中选择的两个阈值T1,T2,采用双阈值canny边缘检测算法,进行边缘检测,获得边缘图像。
通过上述的自适应双阈值的canny边缘检测算法,能够在保证准确率的情况下,尽可能的去除由于弱光照、噪声响应造成的非物品边缘的影响。
接下来,利用图7对模板匹配步骤S33的一个示例进行说明。
在S331步骤中,判断是否需要对干扰介质图像模板进行翻转。
在S332步骤中,对干扰介质图像模板进行翻转。在这里,可以对干扰介质图像模板进行180度翻转。这是由于,通过图像采集区域的托盘的角度可以进行限制,或者对于不同角度的底盘图像或边缘图像可以进行旋正,经过这些处理后,边缘图像是与干扰介质图像模板一样的形状和角度,然而,有可能出现左右颠倒或上下颠倒的情况,通过对干扰介质图像模板进行180度翻转,将翻转前的干扰介质图像模板和翻转后的干扰介质图像模板都与边缘图像进行比较,能够更有效地寻找最佳匹配模板。
在这里,如果所粘贴的干扰介质是中心对称图形,则可以不进行翻转处理,即可以没有S331~S332步骤。
在S333步骤中,将边缘图像分别与每一个干扰介质图像模板进行匹配,计算并保存模板匹配值。该模板匹配值表示边缘图像和干扰介质图像模板之间的匹配程度,具体而言是两者的边缘线、边缘点的匹配程度。
针对干扰介质图像模板,可以有两种存储方式。一种是,针对每一个干扰介质在存储部中预先存储一个对应的干扰介质图像模板;另一种是,针对每一个干扰介质在存储部中预先存储有翻转前和翻转后的两个干扰介质图像模板。
①在针对每一个干扰介质在存储部中预先存储一个对应的干扰介质图像模板的情况下,所获取的图像中的干扰介质的粘贴方向和干扰介质图像模板中的干扰介质的方向有可能不一致。
此时,可以通过比较所存储的干扰介质图像模板中的干扰介质的方向和边缘图像中的干扰介质的方向来判断两者是否一致,若不一致,则认为需要翻转。
在这种情况下,后述的S333步骤中,将翻转后的干扰介质图像模板与边缘图像进行匹配。
换言之,当存在N个干扰介质时,如果存储部中存储有N个干扰介质图像模板,判断是否需要对干扰介质图像模板进行翻转,若需要,对干扰介质图像模板进行翻转,将边缘图像分别与不进行翻转或进行翻转之后的共计N个干扰介质图像模板进行匹配。
②在针对每一个干扰介质在存储部中预先存储有翻转前和翻转后的两个干扰介质图像模板的情况下,在S331步骤中,也被判断为不需要进行翻转。即,当存在N个干扰介质时,存储有2N个干扰介质图像模板,则认为不需要进行翻转,而在后续的S333步骤中将边缘图像与所存储的2N个干扰介质图像模板进行匹配。
接下来,在S334步骤中,在对所有干扰介质图像模板计算模板匹配值之后,确定模板匹配值的最大值和最佳匹配位置。
在S335步骤中,将与模板匹配值的最大值对应的干扰介质图像模板作为最佳匹配模板输出。
在本实施例中,通过对托盘的底盘区域的图像进行边缘检测,并将边缘图像与干扰介质图像模板进行比较,从边缘图像中去掉与干扰介质图像模板对应的边缘点,基于剩余的边缘点判断是否为空盘,从而能够消除干扰介质的边缘线或边缘点对空盘识别的影响,在托盘上设置有干扰介质的情况下,也能够准确地识别托盘是否为空盘。
(实施例2)
图8是示意性地示出第一实施方式所涉及的空盘识别装置30的实施例2的功能模块图。
如图8所示,空盘识别装置30还包括:底盘轮廓提取模块36,从图像获取模块31所获取的图像中提取底盘区域轮廓;以及,旋正模块37,基于底盘轮廓提取模块36所输出的底盘区域轮廓的最小外接矩形,进行旋正,并剪切出边缘检测区域,作为底盘区域。
以下,对在实施例2中空盘识别装置30所执行的空托盘识别方法进行说明。
图9是示意性示出第一实施方式所涉及的空托盘识别方法的实施例2的流程图。图9中的S31步骤~S35步骤与实施例1(图3)相同。在这里不再详细描述。图9与图3的区别在于,在S31步骤和S32步骤之间,还具有S36步骤和S37步骤。
具体来说,在S36步骤中,底盘轮廓提取模块36从图像获取模块31所获取的图像中提取底盘区域轮廓。换言之,在S36步骤中,确定托盘的底盘区域的位置和范围,提取出作为底盘区域的范围的底盘区域轮廓。
图10示出底盘轮廓提取步骤S36的一个示例。
在S361步骤中,底盘轮廓提取模块36对所输入的图像进行自适应二值化,得到二值化图像。在这里,自适应二值化可以使用已有的任意算法。通过采用自适应二值化,可以适应环境变化。例如,图像根据环境的变化而变得或明或暗。
在S362步骤中,对二值化图像进行开操作或闭操作。
不同场景下,由于光照、托盘之间存在差异等因素影响,在S361步骤中获得的二值化图像的底盘边缘会出现不连续的情况。通过根据所获取的图像,选择适当的开闭核(操作核)的大小,判断应当对二值化图像进行开操作还是闭操作,从而进行适当的开操作或闭操作,由此能够使得轮廓线更加连续且完整,优选的是,形成闭合的曲线。
在S363步骤中,采用边缘检测算法获取边缘图像。
在这里,边缘检测算法可以采用已知的任意的边缘检测算法。
在S364步骤中,采用轮廓提取算法,提取边缘轮廓线,作为底盘区域轮廓。在这里,轮廓提取算法可以采用已知的任意的轮廓提取算法。
通过对输入的图像进行自适应二值化,再进行开操作或闭操作,从进行了这些处理之后的图像中提取轮廓线,能够提取连续性和完整性更好的轮廓线。
另外,在图10所示的例子中虽然未示出,但是可以将在S364步骤中提取的底盘区域轮廓直接输出,作为后续的S37步骤、或者S32步骤的输入,然而,也可以如图10所示的那样,还进行S365步骤的处理。
在S365步骤中,底盘轮廓提取模块36判断在S364步骤中提取出的底盘区域轮廓是否超出预定阈值范围,若超出,则进入S366步骤,判断该托盘为非空,结束处理,若不超出,则进入S367步骤,输出该底盘区域轮廓。
在这里,预定阈值范围可以由上限值和下限值来表示。超出预定阈值范围表示小于下限值或者大于上限值。其中,上限值可以根据托盘的底盘的大小来预先设定。下限值可以根据盘的底盘的大小、通常粘贴的干扰介质的大小等来预先设定。
从而,S365步骤中根据该预定阈值范围来进一步判断在S364步骤中提取的边缘轮廓是否是表示底盘区域的轮廓线。如果底盘区域轮廓大于预定阈值范围的上限值,则S364步骤中提取的边缘轮廓可能不是表示底盘区域的轮廓线,而是尺寸大于托盘的底部的轮廓线,例如,可能表示托盘中有行李且该行李横跨在托盘外部等的情况。如果底盘区域轮廓小于预定阈值范围的下限值,则S364步骤中提取的边缘轮廓也可能不是表示底盘区域的轮廓线,而是尺寸相对于底盘区域来说非常小的轮廓线,例如,尺寸小于通常所粘贴的干扰介质的尺寸等情况。
通过进行S365步骤的处理,能够进一步提高底盘轮廓线的提取准确度。
另外,如果有多个位于预定阈值范围内的底盘区域轮廓,则选择面积最小的底盘区域轮廓输出。此时,可能检测出了多个与底盘区域相关的轮廓线,通过选择其中面积最小的轮廓线,能够避免多余轮廓线对后续操作的干扰,识别结果更为准确。
另外,上限值和下限值也可以根据托盘的底盘的大小来设定成比较接近的值,此时,能够快速、准确、唯一地识别出表示底盘区域的轮廓线。
通过进行上述S365~S367步骤的处理,能够快速排除非空的托盘,对于无法快速排除的托盘才进行后续的处理,从而能够整体上提高空盘识别效率。
返回图9,在37步骤中,旋正模块37基于底盘轮廓提取模块36所输出的底盘区域轮廓的最小外接矩形,进行旋正,并剪切出边缘检测区域,作为底盘区域。
图11示出旋正步骤S37的一个示例。
在S371步骤中,对在S36步骤中提取出的底盘区域轮廓获得最小外接矩形、旋转角度θ、长宽值以及中心点坐标(x,y)。
在这里,获得最小外接矩形的算法可以采用已有的任意的算法。
在S372步骤中,运用仿射变换绕最小外接矩形的中心点旋转θ°得到旋转后的底部区域的图像。
在S373步骤中,根据最小外接矩形长宽值和中心点坐标(x,y)计算得到裁剪区域信息,并裁剪出边缘检测区域。在这里,边缘检测区域表示要作为边缘检测对象的区域。虽然未图示,但是在S37步骤中,可以将S373步骤的边缘检测区域作为底盘图像直接输出给边缘检测模块32进行S32步骤的边缘检测处理。然而,优选的是,如图11所示那样还进行S374步骤的处理。
在S374步骤中,将边缘检测区域缩放至指定大小来作为底盘区域。在这里,指定大小根据干扰介质图像模板的大小来确定。
因受托盘自身之间差异、成像时的周围环境变化等因素的影响,在S373步骤中裁剪出的边缘检测区域的大小会存在微小的差异,通过进行S374步骤的缩放能够减少这样的差异,使得作为S32步骤的边缘检测对象的底盘区域的图像的一致性更高,能够减少所输入的图像的尺寸对识别结果的影响。
如图9所示,在S32步骤中,边缘检测模块32可以对经由S37步骤从旋正模块37输出的底盘区域为对象进行边缘检测。
另外,在实施例2中,虽然示出了同时具有底盘轮廓提取模块36和旋正模块37、并进行S36步骤和S37步骤的情况,然而,在本申请中,空盘识别装置30也可以在实施例1的基础上仅包含底盘轮廓提取模块36、且仅进行S36步骤的处理,并将底盘轮廓提取模块36输出的底盘区域轮廓直接作为边缘检测模块32的检测对象。此时,为了后续的模板匹配等,需要对托盘在托盘传送装置10上的放置方向、角度等进行一定限制,例如,按照指定的方向和角度将托盘放置在托盘传送装置10上等。
在本实施例中,通过对输入的图像进行底盘轮廓提取和旋正,能够快速、准确地确定需要进行边缘检测的区域,从而能够减少边缘检测的工作量,而且能够使得该边缘图像的朝向与干扰介质图像模板更容易达到一致,使得模板匹配的效率更高且更准确,从而能够有效地提高空盘识别的效率和准确率。
<第二实施方式>
在上述的第一实施方式中,示出了一种能够识别干扰介质的空盘识别装置和方法,在第一实施方式的模板匹配步骤中,利用所存储的干扰介质图像模板与边缘图像进行了匹配。为了进行这样的模板匹配,需要预先存储有干扰介质图像模板,或者能够从外部设备获得干扰介质图像模板。因此,作为第二实施方式,提供一种干扰介质图像模板生成装置和方法。
然而,第二实施方式的应用场景不限于第一实施方式的场景,在需要识别托盘上干扰介质的场景中,通常,均需要预先生成干扰介质图像模板。
在第二实施方式中,进行干扰介质图像模板生成的干扰介质图像模板生成系统可以具有如图1所示的空盘识别系统相似的结构,其区别在于,代替空盘识别装置30,而包含干扰介质图像模板生成装置40,换言之,干扰介质图像模板生成系统包括托盘传送装置10、图像采集装置20、以及干扰介质图像模板生成装置40。
该干扰介质图像模板生成装置40也可以与第一实施方式所述的空盘识别装置30同样地,可以由设置有处理器的台式计算机、平板电脑、智能电话、服务器等任何合适的电子设备,以软硬件相结合的方式实现。
该干扰介质图像模板生成装置40可以与第一实施方式的空盘识别装置30进行通信,将生成的干扰介质图像模板发送给空盘识别装置30使用。也可以将生成的干扰介质图像模板上传到服务器,空盘识别装置30可以从该服务器中下载这些干扰介质图像模板来使用。
干扰介质图像模板生成装置40能够通过对多张底盘图像进行边缘检测,来生成干扰介质图像模板。在这里,干扰介质图像模板包含干扰介质的边缘点,并且用于识别空的托盘,多张底盘图像是分别对多个空的托盘进行拍摄得到的,该托盘的底盘上设置有干扰介质。
以下,对干扰介质图像模板生成装置40的具体构成以及在该干扰介质图像模板生成装置40中执行的干扰介质图像模板生成方法进行详细说明。
(实施例1)
图12是示意性地示出第二实施方式所涉及的干扰介质图像模板生成装置40的实施例1的功能模块图。
如图12所示,干扰介质图像模板生成装置40包括:初始模板生成模块41,通过对多张底盘图像进行边缘检测,并对同一位置处的边缘点的个数进行计数,根据计数结果来生成初始模板。干扰介质图像模板生成装置40将该初始模板作为干扰介质图像模板存储和/或输出。
具体来说,初始模板生成模块41可以包括:边缘检测部,对多张底盘图像进行边缘检测;计数部,对同一位置处的边缘点的个数进行计数;以及,模板生成部,根据计数结果来生成初始模板。
以下,对在实施例1中干扰介质图像模板生成装置40所执行的干扰介质图像模板生成方法进行说明。
在实施例1的干扰介质图像模板生成方法中,初始模板生成模块41通过对多张底盘图像进行边缘检测,并对同一位置处的边缘点进行计数,根据计数结果来生成初始模板。
图13示出实施例1的干扰介质图像模板生成方法的一个示例。
在S411步骤中,从图像采集装置20获取N张拍摄有空托盘的图像。在这里,获取图像的过程可以与第一实施方式的S31步骤相同。然而,在后续不进行图像的翻转而生成模板时,在S411步骤中,需要保持所获取的图像中的干扰介质的朝向是一致的。
在这里,由于考虑到托盘在不同姿态下,图像质量会存在差异,因此,针对每个托盘采集多张图像。
在S412步骤中,通过前处理操作获取托盘底部干扰介质区域,并对托盘底部干扰介质区域进行边缘检测,获取边缘图像。
在这里,前处理可以使用已有的操作,例如可以采用第一实施方式中的底盘轮廓提取步骤S36、旋正步骤S37等。
在这里,边缘检测可以采用与第一实施方式的S32步骤相同的方式。
在S413步骤中,生成一个与图像大小一致、且值为零的二维计数变量,利用该二维计数变量统计N张图像中的每个位置处的边缘点数量之和。具体来说,若图像I在位置(x,y)处为边缘点,则在二维计数变量的(x,y)处的值v加1,否则保持不变。即,该边缘点数量之和即为边缘点的计数值。该二维计数变量可以是二维向量V、或者二维图像的像素值、或者二维存储空间等。在这里,在对图像进行前处理的情况下,这里的图像大小为经过前处理之后的底盘区域的图像。
在S414步骤中,计算二维计数变量中的任意位置(x,y)处的边缘点数量的占比v/N。
在S415步骤中,判断在S414步骤中计算的占比v/N是否大于阈值T。若v/N>T,则进入S416步骤中,将该点保留至模板。例如,将模板中的对应位置的像素值设为255(白色)。否则,进入S417步骤,不将该点保留至模板。例如,将模板中的对应位置的像素值设为0(黑色)。
在S418步骤中,判断是否对二维计数变量中的所有位置均完成S414~S417步骤的处理,若是,则结束处理,并进入S419步骤,输出初始模板,若否,则返回S414步骤,继续进行下一个位置的处理。如此,遍历整个二维计数变量,获取初始模板。
其中,阈值T是为了得到干扰介质的边缘为目的而预先设定的值。可以根据多次试验来获得的最优值。该阈值的取值以获取的初始模板中的边缘的线条相对较细为宜。阈值T,可以根据托盘的使用状态等适当设定。具体来说,在托盘比较新,污渍或磨损等较少的情况下,除了托盘本身形状、干扰介质形状以外的其他的边缘较少,因此,T可以取较大的值,例如接近1的值,就可以有效地识别出底盘区域的边缘点。而在托盘上有较多污渍或磨损等情况下,污渍或磨损等导致的除了托盘本身形状、干扰介质形状以外的其他的边缘较多,因此,T需要取较小的值。在实际的使用过程中,托盘上的污渍会逐渐增加,因此,T通常使用小于1的值,对于日常使用中的托盘来说,根据测试结果,优选的是,T为0.3~0.4,此时,能够获得粗细程度适当的边缘。
在S413步骤~S418步骤中,虽然示出了将边缘点数量的占比v/N与阈值T进行比较来判断是否保留边缘点。然而,也可以直接使用S414步骤中获得的边缘点的计数值与阈值进行比较来判断是否保留边缘点。
如上所述,通过对边缘图像中的各位置处的边缘点进行计数,基于该计数值生成初始模板。由此,能够生成包含有效地表示干扰介质图像的实际边缘的边缘点的初始模板。
因此,在本实施例中,通过对多张底盘图像进行边缘检测,并对同一位置处的边缘点进行计数,根据计数结果来生成初始模板,能够生成有效地表示干扰介质图像的边缘点的分布情况的干扰介质图像模板,通过这样的干扰介质图像模板可以实现干扰介质自适应的空盘识别。
(实施例2)
图14是示意性地示出第二实施方式所涉及的干扰介质图像模板生成装置40的实施例2的功能模块图。
如图14所示,干扰介质图像模板生成装置40除了初始模板生成模块41之外,还包括最终模板生成模块42。即,干扰介质图像模板生成装置40包括:初始模板生成模块41,通过对多张底盘图像进行边缘检测,并对同一位置处的边缘点的个数进行计数,根据计数结果来生成初始模板;以及,最终模板生成模块42,根据多张底盘图像中的每一张的边缘点和初始模板的边缘点之间的差异,获得剩余边缘点,根据剩余边缘点来更新初始模板,由此生成最终模板。在这里,干扰介质图像模板生成装置40代替所述初始模板而将所述最终模板作为所述干扰介质图像模板存储和/或输出。
具体来说,最终模板生成模块42可以包括:边缘图像获取部,获取N张托盘底部区域的边缘图像;对应区域消除部,将边缘图像中与初始模板对应的边缘点消除,得到剩余边缘点;以及模板更新部,根据剩余边缘点来更新初始模板。其中,边缘图像获取部还可以包括图像获取部,从获取N张拍摄了托盘的图像;边缘检测部,对该图像中的底盘区域进行边缘检测,获得边缘图像。
由此,可以看出最终模板生成模块42中的图像获取部、边缘检测部、对应区域消除部与第一实施方式中的空盘识别装置30中的图像获取模块31、边缘检测模块32、对应区域消除模块34分别类似。两者的区别在于,一是,最终模板生成模块42获取拍摄有托盘的多张图像,并对多张图像分别进行边缘检测、对应区域消除等处理,而在空盘识别装置30中仅针对要进行空盘识别的一张图像进行处理;二是,在空盘识别装置30中进行对应区域消除的是经过模板匹配之后的最佳匹配模板,而在干扰介质图像模板生成装置40进行对应区域消除的是初始模板。
以下,对在实施例2中干扰介质图像模板生成装置40所执行的干扰介质图像模板生成方法进行说明。
图15是示意性示出第二实施方式所涉及的干扰介质图像模板生成方法的实施例2的流程图。
初始模板生成步骤S41的处理与在实施例1中说明的相同,因此省略重复说明。
在S42步骤中,最终模板生成模块42根据每一张底盘图像中的边缘点和初始模板的边缘点之间的差异,获得剩余边缘点,根据剩余边缘点来更新初始模板,由此生成最终模板。
具体来说,图16示出最终模板生成步骤S42的一个示例。
在S421步骤中,获取N张托盘底部区域的边缘图像。
在这里,由于在进行S41步骤之后再执行S42步骤,因此,可以直接获取S412步骤输出的边缘图像。这种情况下,能够减少计算量,加快运算速度。
另外,可以与图13所示的S411步骤和S412步骤相同的方式获得N张托盘底部区域的边缘图像。也可以与第一实施方式的图3(或图5)的图像获取步骤S31、边缘检测步骤S32步骤相同的方式分别获得N张托盘底部区域的边缘图像。此时,最终模板生成模块42的边缘图像获取部包括:图像获取部,从获取N张拍摄了托盘的图像;边缘检测部,对该图像中的底盘区域进行边缘检测,获得边缘图像。
返回图16,在S422步骤中,针对每一张从在S421步骤所获取的边缘图像,消除与初始模板对应的边缘,获取剩余边缘图像edge_left。
作为示例,可以通过邻域处理来寻找在底盘图像的边缘图像的边缘点中与初始模板的边缘点对应的边缘点。
作为一个示例,在边缘图像中确定像素点P(xE,yE)的邻域Pl(xE,yE),并在初始模板中确定与像素点P(xE,yE)的邻域对应的区域Pl(xM,yM),若在Pl(xM,yM)中存在像素值表示是边缘点的点(例如,像素值为255的点),则将该像素点P(xE,yE)设为非边缘点,否则,保留边缘点,如此,对多张边缘图像中的所有的边缘点进行遍历。另外,邻域可以是以该像素点为中心,边长为l的正方形区域。
上述的S422步骤的处理与第一实施方式中的图4的S341步骤的处理的功能是相同的,均是消除边缘图像和模板中的对应的边缘点。因此,虽然在S422步骤和S341步骤中的具体示例不同,然而两者是可以互换使用的。
通过S422步骤的操作,可以有效避免因在模板上简单叠加边缘点,导致模板边缘变粗,影响判断的问题。
在S423步骤中,计算该边缘图像的剩余边缘图像edge_left的边缘点的数量num。该S423步骤的处理与第一实施方式中的图6的S343步骤的处理是相同的。
在S424步骤中,判断边缘点的数量num是否大于阈值Tnum。若否,则进入S425步骤,在S425步骤中,不更新模板。
通过在剩余边缘图像edge_left的边缘点的数量num小于或等于Tnum时,不更新模板,能够避免边缘图像和初始模板的重合程度较大时,还进行模板的更新,而仅在于边缘图像和初始模板的差异较大时进行更新,从而提高更新效率。
在S424步骤中判断为边缘点的数量num大于阈值Tnum(num>Tnum)时,进入S426步骤。
在S426步骤中,接收与边缘图像相同大小的一个计数图像img_count,并在该计数图像img_count中的对应的位置(对应的像素),对该张边缘图像的剩余边缘点进行计数。在这里,作为示例,若该对应的位置是剩余边缘点,则将该像素点的像素值作为计数值加一。
在S427步骤中,判断是否对所有边缘图像(例如,N张)完成了S422~S426步骤的处理。若是,则进入S428步骤,否则,返回S422步骤,继续对下一个边缘图像进行S422~S426步骤的处理。
其中,除了对第一张边缘图像进行计数时在S426步骤中从外部接收计数图像img_count之外,从第二张边缘图像开始在已有的计数图像img_count上继续进行计数。因此,经过S427步骤之后的计数图像img_count的各像素点的像素值表示:对所有边缘图像的剩余边缘点,按照每个像素点进行计数后的计数值。
在S428步骤中,针对计数图像img_count中的每一个像素点,判断该像素点的像素值是否大于阈值Tcount。即,判断计数图像img_count中的各像素点处的计数值是否大于阈值Tcount。若像素值大于阈值Tcount,则进入S429步骤,否则,进入S425步骤。阈值Tcount可以根据底盘图像的张数来设定,也可以设定为恒定的值。从兼顾计算精度和计算效率的观点来说,优选的是,3~4的恒定的整数。
在S429步骤中,若某一像素点的像素值大于阈值Tcount,则将模板中的对应的像素点更新为边缘点。例如,将模板中的对应的像素点的像素值设为255,从而使得该像素点为白色,表示边缘点。
在S4210步骤中,判断是否已经对计数图像img_count中的所有的像素点完成了S428~S429步骤的处理。若是,则进入S4211步骤,输出更新后的最终模板,否则,返回S428步骤中,对计数图像img_count中的下一个像素点进行判断。
通过利用计数图像对多张边缘图像中均作为剩余边缘点的像素点进行计数,在该计数值超过一定阈值时才更新模板中的对应像素点,从而能够避免少数几张边缘图像中作为噪声偶尔出现的剩余边缘点被更新到模板中的情况。从而能够提高干扰介质图像模板的准确性,提高生成干扰介质图像模板的效率。
在S424步骤中判断为边缘点的数量num大于阈值Tnum(num>Tnum)时,还可以对剩余边缘图像edge_left进行膨胀处理。通过膨胀处理能够使得剩余边缘图像edge_left中的边缘线更粗,能够避免剩余边缘图像edge_left中的边缘线太细或多个边缘图像中的边缘点无法对齐从而计数图像img_count的计数值过于分散的情况。换言之,能够避免多次输入无法对齐,从而在导致输入多张图像时,在污渍或划痕的情况下,也依然更新不成功的问题。
图17示出干扰介质图像模板生成装置所生成的干扰介质图像模板,为了比较最终模板生成步骤S42前后的效果,图17的(a)示出初始模板,图17的(b)示出最终模板。从图17可以看出,最终模板与初始模板相比多了一些边缘点,从而经过最终模板生成处理能够在干扰介质图像模板中补入在初始模板中未有效地识别出的边缘点。例如,在图17的(b)的右上方的多出来的边缘点可能是由于托盘上的污渍等造成的。
由此可知,在本实施例中,通过在生成初始模板的基础上,经由上述的最终模板生成步骤进一步更新模板来生成最终模板,从而能够在干扰介质图像模板中补入之前未识别出的边缘点,能够进一步提高干扰介质图像模板的准确度。
(实施例3)
第二实施方式也可以以空盘识别系统的方式来实现。即,将上述第二实施方式的实施例1和实施例2与第一实施方式相结合。
如图18所示,空盘识别系统包括托盘传送装置10、图像采集装置20、空盘识别装置30、以及干扰介质图像模板生成装置40。空盘识别装置30基于干扰介质图像模板生成装置40所生成的干扰介质图像模板进行模板匹配。
在图18中虽然示出干扰介质图像模板生成装置40和空盘识别装置30在物理上作为一体设置的情况,然而,干扰介质图像模板生成装置40和空盘识别装置30在物理上也可以分开设置。例如,可以将空盘识别装置30设置在安检现场的终端中,而将干扰介质图像模板生成装置40设置在服务器端等。
在这里,空盘识别装置30具有与第一实施方式相同的构成,并执行相同的处理,因此省略详细说明。
在这种情况下,在本实施例3中,干扰介质图像模板生成装置40在上述的实施例1或实施例2的基础上,还包括:运行阶段更新模块43。
图19是示意性地示出第二实施方式所涉及的干扰介质图像模板生成装置40的实施例3的一个示例的功能模块图。虽然图19中示出了同时具有初始模板生成模块41、最终模板生成模块42、运行阶段更新模块43的情况,但是也可以仅具有模板生成模块41和运行阶段更新模块43。
该运行阶段更新模块43所执行的处理与实施例2中的最终模板生成模块42类似,区别仅在于,运行阶段更新模块43在空盘识别装置的运行阶段动作,并且,仅在被输入了更新信号时,基于从实时托盘图像的边缘点中消除已有模板的边缘点得到的剩余边缘点,更新已有模板。
在这里,实时托盘图像是在空盘识别装置30的运行阶段,对在托盘传送装置10上传送的空的托盘通过图像采集装置20进行拍摄得到的,该托盘的底盘上设置有干扰介质。所谓的已有模板是上述的初始模板生成模块41输出的初始模板或最终模板生成模块42输出的最终模板。
具体来说,运行阶段更新模块43与最终模板生成模块42同样地可以包括:图像获取部、边缘检测部、对应区域消除部、模板更新部。其中,区别在于,一是,在图像获取部中从图像采集装置获取的是在空盘识别装置30的运行阶段实时采集的图像;二是,在进行对应区域消除时,所使用的不仅可以是初始模板生成模块41输出的初始模板,也可以是最终模板生成模块42输出的最终模板。
即,运行阶段更新模块43包括:图像获取部,从图像采集装置获取实时托盘图像;边缘检测部,对实时托盘图像中的底盘区域进行边缘检测,获得边缘图像;对应区域消除部,将边缘图像中与已有模板对应的边缘点消除,得到剩余边缘点;以及模板更新部,根据剩余边缘点来更新已有模板。已有模板是初始模板或最终模板。
另外,运行阶段更新模块43还包括更新信号判定部,该更新信号判定部,判断是否接收到更新信号。运行阶段更新模块43的模板更新部仅在更新信号判定部判断为接收到更新信号时,进行模板更新。
另外,运行阶段更新模块43还包括翻转判断部,该翻转判断部判断实时托盘图像中的干扰介质的方向是否与已有模板中的干扰介质的方向一致,当不一致时,判断为需要对边缘图像进行翻转,在进行翻转后,输入到上述的对应区域消除部。即,后续的对应区域消除处理和模板更新处理基于翻转后的边缘图像来进行。
图20是示意性示出第二实施方式所涉及的干扰介质图像模板生成方法的实施例3的流程图。
图20所示的实施例3与图15所示的实施例2的区别在于,干扰介质图像模板生成方法还包括运行阶段模板更新步骤S43。
在S43步骤中,在空盘识别装置的运行阶段动作,仅在被输入了更新信号时,基于从实时托盘图像的边缘点中消除与已有模板的边缘点对应的边缘点来得到的剩余边缘点,更新已有模板。
具体来说,图21示出运行阶段更新步骤S43的一个示例。
在S430步骤中,从图像采集装置20获取N张拍摄有空托盘的实时托盘图像。
在S431步骤中,对托盘底部干扰介质区域进行边缘检测,获取边缘图像。
上述的S430步骤和S431步骤分别可以与实施例1的S411步骤和S412步骤相同,或者与第一实施方式中的S31步骤、S32步骤相同。
图21中的S432步骤~S435步骤与图16的S422步骤~S425步骤分别相同,因此省略说明。
上述的S432步骤~S433步骤也分别与第一实施方式中的S342步骤~S343(参考图4、图5)相同,上述的S434步骤也与第一实施方式中的S351步骤(参考图4、图5)相同。
即,上述的S430~S434步骤与图5中的S31~S351步骤分别相同。因此,运行阶段更新模块43可以不另外设置上述的图像获取部、边缘检测部、对应区域消除部,而与空盘识别装置30共用。即,将第一实施方式的空盘识别装置30的图像获取模块31、边缘检测模块32、对应区域消除模块34用作运行阶段更新模块43的图像获取部、边缘检测部、对应区域消除部。从而,能够简化运行阶段更新模块43的构成,减少计算量,加快运算速度。
接着,在S436步骤中,判断是否接收到更新信号。该更新信号可以由空盘识别系统的操作员来输入。例如,当发现由托盘传送装置10正在运送并且要进入图像采集装置20的托盘为空托盘时,输入更新信号。
在图20所示的示例中,在S430步骤~S434步骤之后执行S426步骤,然而,也可以在S430步骤之前、或者在S432步骤之前执行S426步骤。然而,由于如上所述的那样,上述的S430~S434步骤与图5中的S31~S351步骤分别相同。因此,在与空盘识别装置30共用图像获取部、边缘检测部、对应区域消除部的情况下,在图像获取部、边缘检测部、对应区域消除部的处理结束之后,再判断是否收到更新信号,因此,不影响控盘识别装置30的正常工作,就能够实现模板的更新。
在S437步骤中,判断是否需要翻转。
具体来说,判断所采集的实时托盘图像中的干扰介质的方向是否与已有模板中的干扰介质的方向一致,当不一致时,判断为需要对边缘图像进行翻转,进入S438步骤。
在S438步骤中,对边缘图像进行翻转。利用翻转后的边缘图像进行后续的S439步骤。
图21中的S439步骤~S4314步骤与图16的S426步骤~S4211步骤分别相同,因此省略说明。
在本实施例中,由于在空盘识别系统的运行阶段也能够对干扰介质图像模板进行更新,从而能够根据托盘上的干扰介质的磨损等来实时更新干扰介质图像模板,能够进一步提高干扰介质图像模板的准确度,从而进一步提高空盘识别的准确度。
<第三实施方式>
为了解决现有的空盘识别技术对于存在光照导致的阴影的托盘的识别准确率较低的问题,本发明的第三实施方式提供一种能够对存在光照导致的阴影的托盘进行自适应检测的空盘识别装置、系统和方法。
图22示出本实施方式所涉及的空盘识别系统的构成的示意图。如图22所示,本实施方式的空盘识别系统可以包括托盘传送装置10、图像采集装置20、以及空盘识别装置30’、发光装置50。其中,空盘识别装置30’包括:空盘判断模块60和阴影消除装置70。
其中,托盘传送装置10和图像采集装置20与第一、第二实施方式相同,因此省略说明。
发光装置50是能够向图像采集装置20的图像采集区域21照射光的装置。发光装置50可以作为图像采集装置20的补光灯来发挥作用。该光只要能够对图像采集装置的图像采集进行补光,使得有补光图像与无补光图像有区别即可。
优选的是,发光装置50可以是红外线发光装置。在发光装置50为红外线发光装置的情况下,有补光图像中的像素值的变化相对于无补光图像更加明显,有利于进行阴影消除。
虽然在图22中图像采集装置20和发光装置50在物理上是分开的,然而,图像采集装置20和发光装置50在物理上也可以是一体的。
空盘识别装置30’与第一、第二实施方式的空盘识别装置30同样地,可以由设置有处理器的台式计算机、平板电脑、智能电话、服务器等任何合适的电子设备,以软硬件相结合的方式实现。
本实施方式的空盘识别装置30’与第一、第二实施方式的空盘识别装置30的区别在于,包括阴影消除装置70。
以下,对空盘识别装置30’所具有的阴影消除装置70进行详细说明。
(实施例1)
图23是示意性地示出第三实施方式所涉及的阴影消除装置70的实施例1的功能模块图。
如图23所示,阴影消除装置70包括:图像获取模块71,获取有补光图像和无补光图像;光照区域图像获取模块72,根据有补光图像和无补光图像之间的差异,获得光照区域图像;边缘检测模块73,对无补光图像进行边缘检测,获得边缘图像;以及阴影线消除模块74,从边缘图像中去除与光照区域图像对应的部分,获得实际边缘图像。
在这里,有补光是指进行了灯光补偿。具体来说,无补光图像是指图像采集装置20直接采集的图像。有补光图像是指对图像采集装置20的图像采集进行了灯光补偿的图像。
例如,在如图1所示的空盘识别系统具中,无补光图像是指未利用发光装置50对图像采集装置20的图像采集区域21进行补光的状态下由图像采集装置20采集的图像。有补光图像是在利用发光装置50对图像采集装置20的图像采集区域21进行了补光的状态下由图像采集装置20采集的图像。
(实施例1)
图24是示意性示出本实施方式所涉及的阴影消除方法的实施例1的流程图。
在S71步骤中,图像获取模块71从获取有补光图像和无补光图像。
在S72步骤中,光照区域图像获取模块72根据有补光图像和无补光图像之间的差异,获得光照区域图像。
具体来说,光照区域图像获取模块72可以在有补光图像和无补光图像的像素值的比值在预定阈值范围内时,判断该像素点属于所述光照区域图像。
在这里,该预定阈值范围为1附近的范围,例如,优选的是0.9~1.1。有补光图像和无补光图像的像素值的比值在1附近表示有补光图像和无补光图像之间的差异不明显。
在这里,光照区域是指空托盘图像中受到阳光照射的区域。阳光照射是形成阴影的主要原因。因此,通过判断光照区域,能够有效地消除由于阳光照射而产生的阴影对空盘识别的影响。
在采用红外线相机作为发光装置50进行补光的情况下,阳光光强远远大于红外补光和环境光的光照,在补光前后,被阳光照射的区域,像素值差异不明显,而未被阳光照射的区域,像素值差异明显。因此,在本发明中,通过有补光图像和无补光图像中的相同像素的像素值的变化,能够识别出光照区域。
以下,参考图25的(a)~(d)来详细说明光照差异步骤S72的一个示例。
将在S71步骤中获取的有补光图像设为L(参考图25的(a)),将无补光图像设为NL(参考图25的(b))。
在S72步骤中,计算有补光图像L和无补光图像NL中的每个相同像素点的像素值的比值r=NL/L,由此得到比值图像R(参考图25的(c))。如果该像素点的比值r在预定阈值范围内,则认为该像素点位于光照区域,通过将该像素点的像素值设为255(白色)。否则,认为该像素点位于阴影区域,将该像素点的像素值设为0(黑色),由此获得光照区域图像RL(参考图25的(d))。在这里,该预定阈值范围也为1附近的范围,例如,优选的是0.9~1.1。
在S73步骤中,边缘检测模块73对无补光图像NL进行边缘检测,获得其边缘图像NLE。
由于S73步骤中的边缘检测可以采用与第一实施方式的S32步骤相同的方式,因此,省略详细说明。
在S73步骤中,边缘检测模块73也与第一实施方式同样地,对无补光图像进行高斯模糊处理之后,进行边缘检测。
在S74步骤中,阴影线消除模块74从边缘图像NLE中去除与光照区域图像R对应的部分,获得实际边缘图像。
在S74步骤中,阴影线消除模块74可以判断在边缘图像的任意像素点的邻域内的光照区域的面积占比在预定面积阈值范围内时,去掉该像素点。
作为一个示例,阴影线消除模块74可以包括:邻域确定部,针对边缘图像中的每个像素点,确定该像素点的邻域;对应区域确定部,在所述光照区域图像中确定与所述邻域对应的区域;光照区域占比判断部,判断所述区域中的光照区域的面积占比是否在预先设定的面积阈值范围内;边缘点去除部,消除面积占比位于所述阈值范围内的像素点;以及实际边缘图像输出部,根据剩余边缘点生成实际边缘图像并输出。
利用图26,对该阴影线消除模块74所执行的阴影线消除步骤S74的具体示例进行说明。
在S741步骤中,邻域确定部针对边缘图像NLE中的任意像素点,确定该像素点的邻域。
具体来说,将边缘图像NLE的像素点设为P(xNLE,yNLE),确定以该像素点P(xNLE,yNLE)为中心、且边长为l的矩形区域的邻域Pl(xNLE,yNLE)。
在S742步骤中,对应区域确定部在光照区域图像RL中确定与上述的该像素点的邻域对应的区域。
具体来说,在光照区域图像RL中,确定与邻域Pl(xNLE,yNLE)对应的区域,并表示为Pl(xRL,yRL)。
在S743步骤中,光照区域占比判断部判断区域Pl(xRL,yRL)中的光照区域的面积占比是否在预先设定的面积阈值范围内。若是,则进入S745步骤,若否,则进入S744步骤。该面积占比是在区域Pl(xRL,yRL)中,光照区域的面积在整个区域中所占的比例。
光照区域的面积占比在预先设定的面积阈值范围内表示与该像素点的邻域对应的光照区域图像中的区域Pl(xRL,yRL)内既有光照区域,又有阴影区域,换言之,该区域内的边缘是阴影边缘,从而,该像素点很可能是阴影边缘,而非物品、污渍、划痕等的边缘,因此,该像素点不应当作为边缘点。
在S744步骤中,边缘点去除部将该像素点判断为边缘点,保留该边缘点。即,将该像素点P(xNLE,yNLE)的像素值保持原来的值(例如,保持为255)。
在S745步骤中,边缘点去除部从边缘图像NLE中去掉该像素点P(xNLE,yNLE)。例如,将该像素点P(xNLE,yNLE)的像素值设为0(黑色)。
在S746步骤中,判断是否对边缘图像NLE中的所有像素点执行了上述S741~745步骤的处理。
在S747步骤,实际边缘图像输出部根据进行上述操作之后的剩余边缘点生成实际边缘图像并输出。
图27的(a)示出进行S74步骤的阴影线消除处理之前的边缘图像NLE,图27的(b)示出从边缘图像NLE中通过S74的阴影线消除处理去掉阴影线之后的实际边缘图像。通过图27的(a)和(b),经由上述阴影线消除处理,有效地消除了阴影所造成的阴影线。
空盘识别装置30’的空盘判断模块60可以基于阴影消除装置70所输出的实际边缘图像,判断该托盘是否为空托盘。
在这里,基于实际边缘图像来判断是否为空托盘的空盘判断模块60可以采用已有的任意的构成。例如,可以采用与第一实施方式的空盘判断模块35相同的构成。该空盘判断模块35可以将阴影消除装置70所输出的实际边缘图像的各边缘点作为剩余边缘点,采用例如S351~S353步骤等来判断是否为空托盘。
在实施例1中,通过有补光图像和无补光图像,生成消除了光照所产生的边缘线的实际边缘图像,该实际边缘图像可以用于空盘识别中,从而减少光照对空盘识别的影响。
(实施例2)
实施例1示出了能够进行阴影消除,并基于阴影消除之后的剩余边缘点进行空盘识别的空盘识别装置30’。然而,也可以在消除光照所造成的边缘点的同时,再消除与干扰介质对应的边缘点,之后再进行空盘识别。即,可以将上述第三实施方式的实施例1与第一实施方式相结合,在这里,作为实施例2进行说明。
图28是示意性地示出第三实施方式所涉及的空盘识别装置30”的实施例2的功能模块图。
如图28所示,本实施例的空盘识别装置30”除了实施例1的阴影消除装置70之外,还包括与第一实施方式相同的模板匹配模块33、对应区域消除模块34、空盘判断模块35。
换言之,空盘识别装置30”包括:阴影消除装置70,根据有补光图像和无补光图像,从无补光图像中消除与阴影区域对应的边缘点,获得实际边缘图像;模板匹配模块33,将实际边缘图像与干扰介质图像模板进行匹配;对应区域消除模块34,将实际边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及空盘判断模块35,基于剩余边缘点,判断是否为空的托盘。
图29是示意性示出第三实施方式所涉及的空托盘识别方法的实施例2的流程图。
如图29所示,本实施例的空盘识别方法除了与实施例1的图23相同的步骤S71~S74步骤之外,还包括与第一实施方式的图3相同的步骤S33~S35步骤。
在S33步骤中,将S74步骤输出的实际边缘图像与干扰介质图像模板进行匹配。
在S34步骤中,将该实际边缘图像中与干扰介质图像模板对应的边缘点消除,得到剩余边缘点。
在S35步骤中,基于该剩余边缘点,判断是否为空的托盘。
通过该实施例2,不仅能够消除光照的影响,还能够消除干扰介质的影响,从而能够进一步提高空盘识别的准确性。
(实施例3)
本实施方式的实施例2示出了将实施例1与第一实施方式相结合的实施例。然而,本实施方式还可以同时与第一、第二实施方式相结合来实施。因此,在此,作为实施例3,说明将实施例1同时与第一、第二实施方式相结合的情况。
图30是示意性地示出第三实施方式所涉及的空盘识别系统的实施例3的功能模块图。
如图30所示,本实施例的空盘识别系统包括:与实施例2相同的空盘识别装置30”和发光装置50、图像采集装置20、托盘传送装置10、以及与第二实施方式相同的干扰介质图像模板生成装置40。
由于其各构成部分在上述的实施方式和实施例中已经进行了详细说明,因此不再重复说明。
通过该实施例3,不仅能够消除光照和干扰介质的影响,还能够生成干扰介质图像模板,从而能够进一步提高空盘识别的准确性。
以上,虽然结合附图描述了本发明的实施方式和具体实施例,但是本领域技术人员可以在不脱落本发明的精神和范围的情况下做出各种修改和变形,这样的修改和变形均落入由所述权利要求所限定的范围之内。
Claims (21)
1.一种空盘识别装置,包括:
图像获取模块,获取托盘的图像,所述托盘在底部设置有干扰介质;
边缘检测模块,对所述图像中的底盘区域进行边缘检测,获得边缘图像;
模板匹配模块,对干扰介质图像模板进行翻转,将翻转前和翻转后的干扰介质图像模板均与所述边缘图像进行匹配;
对应区域消除模块,将所述边缘图像中与所述干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及
空盘判断模块,基于所述剩余边缘点,判断是否为空的托盘,
所述干扰介质是能够对空盘识别带来干扰的、有别于托盘结构本身的介质,
其中,所述干扰介质图像模板存储在所述空盘识别装置的存储器中,或者存储在能够与所述空盘识别装置通信的外部设备中。
2.如权利要求1所述的空盘识别装置,还包括:
底盘轮廓提取模块,从所述图像获取模块所获取的图像中提取底盘区域轮廓,根据所述底盘区域轮廓来确定所述底盘区域,
所述底盘轮廓提取模块对所述图像进行自适应二值化之后,进行开操作或闭操作,提取连续的底盘区域轮廓。
3.如权利要求2所述的空盘识别装置,其中,
所述底盘轮廓提取模块判断所述底盘区域轮廓是否超出预定阈值范围,若超出,则判断为所述托盘为非空,结束处理,若不超出,则输出该所述底盘区域轮廓。
4.如权利要求2所述的空盘识别装置,还包括:
旋正模块,基于所述底盘轮廓提取模块所输出的所述底盘区域轮廓的最小外接矩形,进行旋正,并剪切出边缘检测区域,作为所述底盘区域。
5.如权利要求1至4中的任一项所述的空盘识别装置,其中,
所述边缘检测模块在对所述底盘区域进行高斯模糊处理之后,选定两个阈值,通过双阈值canny边缘检测来获得所述边缘图像。
6.如权利要求1至4中的任一项所述的空盘识别装置,其中,
所述对应区域消除模块在判断所述边缘图像中与所述干扰介质图像模板对应的边缘点时,适用邻域处理。
7.如权利要求1至4中的任一项所述的空盘识别装置,其中,
所述空盘判断模块基于所述剩余边缘点的个数来判断是否为空的托盘,
或者,基于所述剩余边缘点的个数和集中程度来判断是否为空的托盘。
8.一种空盘识别系统,包括:
图像采集装置,采集托盘的图像;
权利要求1至7中的任一项所述的空盘识别装置;以及
干扰介质图像模板生成装置,用于生成所述干扰介质图像模板。
9.如权利要求8所述的空盘识别系统,其中,
所述干扰介质图像模板生成装置通过对多张底盘图像进行边缘检测来生成所述干扰介质图像模板,
其中,所述多张底盘图像是分别对多个空的托盘进行拍摄得到的,所述托盘的底盘上设置有干扰介质。
10.如权利要求9所述的空盘识别系统,其中,
所述干扰介质图像模板生成装置包括:初始模板生成模块,
所述初始模板生成模块通过对多张底盘图像进行边缘检测,并对同一位置处的边缘点的个数进行计数,根据计数结果来生成初始模板,
所述干扰介质图像模板生成装置将所述初始模板作为所述干扰介质图像模板。
11.如权利要求10所述的空盘识别系统,其中,
所述干扰介质图像模板生成装置还包括:最终模板生成模块,
所述最终模板生成模块根据所述多张底盘图像中的每一张的边缘点和所述初始模板的边缘点之间的差异,获得第一剩余边缘点,根据所述第一剩余边缘点来更新所述初始模板,由此生成最终模板,
所述干扰介质图像模板生成装置代替所述初始模板而将所述最终模板作为所述干扰介质图像模板。
12.如权利要求10所述的空盘识别系统,其中,
所述干扰介质图像模板生成装置还包括:运行阶段更新模块,
所述运行阶段更新模块在空盘识别装置的运行阶段,当被输入更新信号时,根据实时托盘图像中的边缘点和已有模板的边缘点之间的差异,获得第二剩余边缘点,根据所述第二剩余边缘点来更新所述已有模板,
所述实时托盘图像是在所述空盘识别装置的运行阶段,对空的托盘进行拍摄得到的,所述托盘的底盘上设置有干扰介质,
所述已有模板是所述初始模板或所述最终模板。
13.一种空盘识别方法,包括:
图像获取步骤,获取托盘的图像,所述托盘在底部设置有干扰介质;
边缘检测步骤,对所述图像中的底盘区域进行边缘检测,获得边缘图像;
模板匹配步骤,对干扰介质图像模板进行翻转,将翻转前和翻转后的干扰介质图像模板均与所述边缘图像进行匹配;
对应区域消除步骤,将所述边缘图像中与所述干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及
空盘判断步骤,基于所述剩余边缘点,判断是否为空的托盘,
所述干扰介质是能够对空盘识别带来干扰的、有别于托盘结构本身的介质,
其中,所述干扰介质图像模板存储在所述空盘识别装置的存储器中,或者存储在能够与所述空盘识别装置通信的外部设备中。
14.如权利要求13所述的空盘识别方法,其中,
在边缘检测步骤之前,还包括:
底盘轮廓提取步骤,从在所述图像获取步骤中获取的图像中提取底盘区域轮廓,根据所述底盘区域轮廓来确定所述底盘区域;
其中,对所述图像进行自适应二值化之后,进行开操作或闭操作,提取连续的底盘区域轮廓。
15.如权利要求14所述的空盘识别方法,其中,
在所述底盘轮廓提取步骤中,判断所述底盘区域轮廓是否超出预定阈值范围,若超出,则判断为所述托盘为非空,结束处理,若不超出,则输出该所述底盘区域轮廓。
16.如权利要求14所述的空盘识别方法,其中,
在所述底盘轮廓提取步骤之后且边缘检测步骤之前,还包括:
旋正步骤,基于在所述底盘轮廓提取步骤中输出的所述底盘区域轮廓的最小外接矩形,进行旋正,并剪切出边缘检测区域,作为所述底盘区域。
17.如权利要求16所述的空盘识别方法,其中,
所述旋正步骤还包括:缩放步骤,在所述缩放步骤中,将所述边缘检测区域缩放至指定大小来作为所述底盘区域,所述指定大小根据所述干扰介质图像模板的大小来确定。
18.如权利要求13至16中的任一项所述的空盘识别方法,其中,
在所述边缘检测步骤中,在对所述底盘区域进行高斯模糊处理之后,选定两个阈值,通过双阈值canny边缘检测来获得所述边缘图像。
19.如权利要求13至16中的任一项所述的空盘识别方法,其中,
在所述对应区域消除步骤中,在判断所述边缘图像中与所述干扰介质图像模板对应的边缘点时,适用邻域处理。
20.如权利要求13至16中的任一项所述的空盘识别方法,其中,
在所述空盘判断步骤中,基于所述剩余边缘点的个数来判断是否为空的托盘,
或者,基于所述剩余边缘点的个数和集中程度来判断是否为空的托盘。
21.一种计算机可读的存储介质,存储有程序,所述程序使得计算机执行以下步骤:
图像获取步骤,获取托盘的图像,所述托盘在底部设置有干扰介质;
边缘检测步骤,对所述图像中的底盘区域进行边缘检测,获得边缘图像;
模板匹配步骤,对干扰介质图像模板进行翻转,将翻转前和翻转后的干扰介质图像模板均与所述边缘图像进行匹配;
对应区域消除步骤,将所述边缘图像中与所述干扰介质图像模板对应的边缘点消除,得到剩余边缘点;以及
空盘判断步骤,基于所述剩余边缘点,判断是否为空的托盘,
所述干扰介质是能够对空盘识别带来干扰的、有别于托盘结构本身的介质,
其中,所述干扰介质图像模板存储在所述空盘识别装置的存储器中,或者存储在能够与所述空盘识别装置通信的外部设备中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110768537.2A CN115601735B (zh) | 2021-07-07 | 2021-07-07 | 空盘识别装置和方法 |
PCT/CN2022/103448 WO2023280081A1 (zh) | 2021-07-07 | 2022-07-01 | 空盘识别装置和方法 |
EP22836832.0A EP4369291A1 (en) | 2021-07-07 | 2022-07-01 | Apparatus and method for identifying empty tray |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110768537.2A CN115601735B (zh) | 2021-07-07 | 2021-07-07 | 空盘识别装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115601735A CN115601735A (zh) | 2023-01-13 |
CN115601735B true CN115601735B (zh) | 2024-02-02 |
Family
ID=84801094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110768537.2A Active CN115601735B (zh) | 2021-07-07 | 2021-07-07 | 空盘识别装置和方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4369291A1 (zh) |
CN (1) | CN115601735B (zh) |
WO (1) | WO2023280081A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116468729B (zh) * | 2023-06-20 | 2023-09-12 | 南昌江铃华翔汽车零部件有限公司 | 一种汽车底盘异物检测方法、系统及计算机 |
CN118521874A (zh) * | 2024-05-13 | 2024-08-20 | 苏州弘能精密模具有限公司 | 一种模具加工用视觉检测系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103224159A (zh) * | 2012-01-31 | 2013-07-31 | 京瓷办公信息系统株式会社 | 记录介质输出装置及图像形成装置 |
CN104463167A (zh) * | 2014-11-20 | 2015-03-25 | 中国科学院上海微系统与信息技术研究所 | 一种餐厅自动结算方法及系统 |
CN110816522A (zh) * | 2019-11-12 | 2020-02-21 | 深圳创维数字技术有限公司 | 车辆姿态的控制方法、设备及计算机可读存储介质 |
CN111881938A (zh) * | 2020-06-24 | 2020-11-03 | 广西大学 | 一种基于盲取证技术的图像真伪鉴别的方法 |
CN113033545A (zh) * | 2019-12-24 | 2021-06-25 | 同方威视技术股份有限公司 | 空托盘识别方法及其装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451546A (zh) * | 2017-07-14 | 2017-12-08 | 广东欧珀移动通信有限公司 | 虹膜识别方法及相关产品 |
US10832399B2 (en) * | 2018-10-23 | 2020-11-10 | International Business Machines Corporation | Detection for abnormal connectivity on a product |
CN112526626B (zh) * | 2020-06-29 | 2023-09-12 | 北京清大视觉科技有限公司 | 一种安检托盘清空状态智能检测系统及方法 |
-
2021
- 2021-07-07 CN CN202110768537.2A patent/CN115601735B/zh active Active
-
2022
- 2022-07-01 EP EP22836832.0A patent/EP4369291A1/en active Pending
- 2022-07-01 WO PCT/CN2022/103448 patent/WO2023280081A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103224159A (zh) * | 2012-01-31 | 2013-07-31 | 京瓷办公信息系统株式会社 | 记录介质输出装置及图像形成装置 |
CN104463167A (zh) * | 2014-11-20 | 2015-03-25 | 中国科学院上海微系统与信息技术研究所 | 一种餐厅自动结算方法及系统 |
CN110816522A (zh) * | 2019-11-12 | 2020-02-21 | 深圳创维数字技术有限公司 | 车辆姿态的控制方法、设备及计算机可读存储介质 |
CN113033545A (zh) * | 2019-12-24 | 2021-06-25 | 同方威视技术股份有限公司 | 空托盘识别方法及其装置 |
WO2021128966A1 (zh) * | 2019-12-24 | 2021-07-01 | 同方威视技术股份有限公司 | 空托盘识别方法及其装置 |
CN111881938A (zh) * | 2020-06-24 | 2020-11-03 | 广西大学 | 一种基于盲取证技术的图像真伪鉴别的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023280081A1 (zh) | 2023-01-12 |
CN115601735A (zh) | 2023-01-13 |
EP4369291A1 (en) | 2024-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115601735B (zh) | 空盘识别装置和方法 | |
CN115601245B (zh) | 阴影消除装置和方法、空盘识别装置和方法 | |
US8983200B2 (en) | Object segmentation at a self-checkout | |
AU2020211766B2 (en) | Tyre sidewall imaging method | |
US20190384954A1 (en) | Detecting barcodes on images | |
CN111126393A (zh) | 车辆外观改装判断方法、装置、计算机设备及存储介质 | |
CN111767908B (zh) | 字符检测方法、装置、检测设备及存储介质 | |
CN111784675A (zh) | 物品纹理信息处理的方法、装置、存储介质及电子设备 | |
CN109829510A (zh) | 一种产品品质分级的方法、装置和设备 | |
CN111239142A (zh) | 膏体外观缺陷检测设备及方法 | |
CN115100104A (zh) | 玻璃油墨区的缺陷检测方法、装置、设备及可读存储介质 | |
CN105830091A (zh) | 使用移动视频数据生成长文档的合成图像的系统和方法 | |
CN112001200A (zh) | 识别码识别方法、装置、设备、存储介质和系统 | |
CA3145443A1 (en) | Method to generate a slap/fingers foreground mask | |
Suh et al. | Fusion of global-local features for image quality inspection of shipping label | |
CN114612418A (zh) | 一种鼠标外壳表面缺陷检测方法及装置、系统、电子设备 | |
CN113920434A (zh) | 一种基于目标的图像翻拍检测方法、装置及介质 | |
CN113361657A (zh) | 用于识别烟箱箱号的装置、方法、烟丝装箱设备和工控机 | |
CN112818983A (zh) | 一种利用图片相识度判断字符倒置的方法 | |
CN116645351A (zh) | 一种复杂场景的缺陷在线检测方法及系统 | |
CN215264847U (zh) | 用于识别烟箱箱号的装置和烟丝装箱设备 | |
CN115619783A (zh) | 产品加工缺陷的检测方法及装置、存储介质、终端 | |
CN112766175B (zh) | 活体检测方法、装置及非易失性存储介质 | |
CN117829175B (zh) | 基于双色光源光线补偿的扫码方法及系统 | |
CN118135179B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |