具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请部分实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。然而,本领域的普通技术人员可以理解,在本申请的各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本申请的第一实施例涉及一种智能售货柜,该智能售货柜可放置于商场、地铁站、影院等地方,便于用户随时购买物品。该智能售货柜10,包括:设置有至少一个放置空间102的柜体101,设置在每个放置空间底部的摄像头103,覆盖放置空间顶部且镜面朝向放置空间底部的镜子105,以及与摄像头103通信连接的主控模块106,具体的结构如图1所示。
一个具体的实现中,摄像头103的镜头正对摄像头103所在放置空间102内的镜子105,摄像头103的视角范围覆盖摄像头103所在放置空间102的镜子105的镜面;主控模块106控制摄像头对放置空间102内的镜子进行拍摄,并将拍摄获得的图像传输至物品识别装置进行处理。
具体的说,放置空间由层隔板104分隔柜体101获得,如图1所示,层隔板104跨接在柜体101相对的两个侧面,从而将柜体101分隔成多个放置空间102。放置空间102的个数由层隔板104的数量决定,例如,假设由3个层隔板,且层隔板采用跨接柜体相对两个侧面的方式分隔该柜体,那么获得的放置空间的个数为4个。当然,本实施例中,并不限制层隔板104分隔柜体101的方式,具体可以根据实际需要设置。针对每个放置空间,都在放置空间102的底部设备摄像头103,在放置空间102的顶部安装镜子105,镜子105覆盖整个放置空间102的顶部,镜子105可以采用贴合的方式贴合在放置空间102的顶部。
一个具体的实现中,主控模块106控制摄像头103处于不同视角范围并对放置空间102内的镜子进行拍摄,获得摄像头103在不同视角范围拍摄的图像;从摄像头103在不同视角范围拍摄的图像中选取最佳图像,将最佳图像对应的视角范围确定为最佳视角范围,并将摄像头103的视角调整至最佳视角范围,其中,最佳图像中包括摄像头103所在放置空间102内的所有物品,且物品在图像中的面积最大。
具体的说,可以通过调节摄像头的焦距或者通过调节摄像头与镜面之间的距离,改变摄像头103视角范围。若摄像头为变焦摄像头,主控模块106控制摄像头103在不同焦距下对放置空间102内的镜子进行拍摄,获得摄像头103在不同焦距下拍摄的图像;从摄像头在不同焦距下拍摄的图像中选取最佳图像,将最佳图像对应的焦距确定为最佳焦距,调节摄像头的焦距至最佳焦距。当然,拍摄的每一个图像都应当清晰。
主控模块106可以以固定焦距间隔调节摄像头的视角,直至达到该摄像头的最大焦距或者最小焦距,其中,当摄像头103处于一种视角范围并拍摄时,获取拍摄的图像以及该图像对应的焦距。主控模块106比对每一个图像,通过比对图像中物品的影像信息,选出最佳图像。确定了最佳图像即可获知最佳图像对应的焦距,主控模块控制摄像头103将焦距调整至最佳焦距。
下面以一个具体的例子进行说明。
例如,假设摄像头焦距的取值范围为3mm至12mm,那么主控模块控制摄像头的焦距在3mm时对摄像头所在放置空间的镜子进行拍摄,得到图像1并记录图像1对应的焦距,之后控制摄像头的焦距在4.0mm时对该放置空间的镜子进行拍摄,得到图像2并记录图像2对应的焦距,主控模块以1mm的焦距间隔调整摄像头的焦距,并对当前放置空间中的镜子进行拍摄,得到对应的10个清晰的图像以及记录10个对应的焦距信息,对获得的10个图像进行比较(如判断图像中是否包含了当前放置空间内的所有物品,以及比较每个物品在当前图像中的像素面积大小),若图像2包括当前放置空间内所有物品,且物品在图像2中的面积最大的图像,那么选取图像2为最佳图像,则最佳焦距为4.0mm,主控模块将摄像头的焦距调整至4.0mm。
需要说明的是,主控模块106接收到柜体内物品放置完毕的信号之后,控制摄像头103处于不同视角范围时对放置空间102内的镜子进行拍摄。例如,工作人员向智能售货柜内放置物品,在放置完毕后,工作人员通过终端向售货柜发送柜内物品放置完毕的信号,主控模块接收到该信号后,即可控制摄像头处于不同视角范围时对放置空间102内的镜子的镜面进行拍摄。当然,本实施例中,主控模块106可以定时控制摄像头103处于不同视角范围对放置空间102内的镜子进行拍摄,还可以在检测其他触发信号时控制摄像头103处于不同视角范围时对放置空间102内的镜子进行拍摄,本实施例不再一一例举。
此外,值得一提的是,在主控模块106将摄像头103调整至最佳视角范围后,可以定时对当前放置空间内的镜子的镜面进行拍摄,或者在接收到拍摄信号后对当前放置空间102内的镜子的镜面进行拍摄,并将拍摄图像传输至物品识别装置进行图像识别,确定当前柜内的物品种类及对应的数量。
相对于现有技术而言,本申请部分实施例中通过在每个放置空间顶部设置镜子,并将摄像头设置在放置空间底部且镜头朝向镜子的镜面,摄像头通过拍摄镜子中的成像,进而拍摄到整个放置空间内的物品,由于从镜子中获取物品的图像,增加了物品与摄像头之间的物距,减小拍摄图像中物品发生畸变的可能性,提高对图像的识别能力;同时由于减小了摄像头与物品之间的物距,进而增大了放置空间的可利用空间,提高放置空间放置物品的利用率。
本申请的第二实施例涉及一种智能售货柜,本实施例是在第一实施例的基础上做了进一步改进,具体改进之处为:本实施例中,智能售货柜还包括设置在每个放置空间102的底部中心位置处且高度可调节的支架107,摄像头103固定于该支架107上。该智能售货柜10的具体结构如图2所示。
一个具体的实现中,主控模块106用于调节支架107的高度,并在摄像头103处于不同视角范围时控制摄像头103对放置空间102内的镜子进行拍摄,获得摄像头103在不同视角范围拍摄的图像;以及通过调节支架107的高度将摄像头103的视角调整至最佳视角范围。
具体的说,支架中包括电机1071,主控模块106具体用于通过控制电机1071调节支架的高度。电机1071安装在支架107内,且电机1071与主控模块106连接(图2中未示出),主控模块106通过控制电机1071转动,带动可调节高度的支架,进而带动安装在支架107上的摄像头103上下运动。通过调节摄像头103的高度,改变摄像头103与镜子105之间的距离,从而改变摄像头103的视角范围。
需要说明的是,电机1071可以安装在支架107的其他部位,并不限于本实施例中列举的位置。
主控模块106可以是以固定高度间隔对支架107进行调节,直至支架107的高度达到该支架107的最大高度或者最小高度。当摄像头103每次拍摄时,记录当前支架处于的高度,并获取当前拍摄的图像。主控模块106获取每次调节支架107后拍摄的图像以及记录图像对应的支架高度,主控模块对每个图像进行比对分析,如,可以通过深度学习的方法比对每个图像中图形特征、颜色特征,从而确定出包括当前放置空间102内所有物品的图像,再从包括当前放置空间102内所有物品的图像中选出物品的面积最大的图像,同样,选取的过程可以采用深度学习的方法对图像中图形特征、颜色特征进行学习,从而选出符合条件的最佳图像,此处不对深度学习的方法进行赘述。确定出最佳图像后,即可获知最佳图像对应的支架高度,主控模块106调整支架107的高度到最佳图像对应的支架高度,同样,每个拍摄的图像应当为清晰图像。
下面以一个具体的例子进行说明。
例如,假设摄像头为定焦摄像头,支架高度的可调节范围为10厘米至15厘米,主控模块以1厘米的高度间隔对支架进行调节,那么,支架在10厘米时,对当前放置空间拍摄图像,得到图像1并记录当前拍摄图像时支架的高度;支架在11厘米高时,对当前放置空间拍摄图像,得到图像2并记录当前拍摄图像时支架的高度;依次调节高度,直至支架高度到15厘米。此时,获取到6个图像以及对应的支架高度,若通过深度学习后,确定最佳图像为图像3,那么主控模块将支架高度调整至12厘米。
需要说明的是,摄像头103可以为变焦摄像头,或者摄像头为定焦摄像头。若摄像头为变焦摄像头且安装在支架上,那么主控模块可以先调整变焦摄像头的焦距,再调整支架高度;或者先调整支架高度,再调整摄像头的焦距。
与现有技术相比,本实施例提供的智能售货柜,通过调整可调节高度的支架,从而调节摄像头的视角范围到最佳视角范围,提高智能售货柜拍摄的图像的质量,提高通过图像进行物品识别的准确性。
本申请的第三实施例涉及一种智能售货柜,本实施例是在第二实施例的基础上做了进一步改进,具体改进之处为:本实施例中,智能售货柜还包括柜门108,柜门108与柜体101铰接。该智能售货柜10的具体结构如图3所示。
一个具体的实现中,主控模块106在检测到柜门108关闭后,控制摄像头103在最佳视角范围对每个放置空间内的镜子进行拍摄,并将拍摄的图像传输至物品识别装置进行图像识别。
具体的说,主控模块106与摄像头103之间可以采用有线连接,如,网线、USB数据线等;或者采用无线连接,如无线保真(wifi)、无线通信网络(3G/4G/5G)等方式;或者既采用有线连接又采用无线连接的方式,确保数据的无障碍传输。
主控模块106可以通过柜门108上安装的传感器,或者柜体两个侧面中任一面安装的传感器,来实现对柜门108是否关闭的检测,主控模块106与传感器通信连接(图3中未示出主控模块与传感器之间的连接),主控模块106通过传感器检测到柜门108关闭后,主控模块106控制摄像头103处于最佳视角范围并对当前放置空间102内镜子中成像的物品进行拍摄,并将拍摄的图像传输至物品识别装置进行图像识别,确定拍摄图像中的物品种类和对应的数量。
可以理解的是,主控模块106对柜门108的检测方法并不限制于本实施例中列举的方法,还可以采用其他方式进行检测,此处不再一一进行列举。
本实施例提供的智能售货柜,通过设置柜门可以确保放置在智能售货柜中物品的安全,同时在检测到柜门关闭时,对放置空间内的镜子进行拍摄,可以保证智能售货柜及时的清点柜内的物品及数量。
本申请的第四实施例涉及一种智能售货柜,本实施例是在第三实施例的基础上做了进一步改进,具体改进之处为:本实施例中,放置空间的任意侧面设置有限高线109,限高线109用于标识允许放置的放置物的最高高度,如图4所示(图中仅示意了一根限高线)。
具体的说,可以在柜体101的任意侧面设置限高线,或者在柜门108上设置限高线109,限高线109的根数不做限制,可以每个侧面均设置一根限高线109,也可以仅设置一根限高线109。限高线109可以画在柜体101的侧面,或者以贴线的方式设置在柜体101的侧面,限高线109的颜色可以采用明显的颜色,如红色。例如,假设放置空间的高为20厘米,为了便于从放置空间中拿出物品,那么限高线可以画在放置空间的高的五分之四处,即限高线画在距放置空间底部16厘米处。可以理解的是,每个放置空间内的限高线109距离当前放置空间底部的高度可以不同,也可以相同。
值得一提的是,上述镜子可以是平面镜、凸面镜或者凹面镜,具体可以根据实际需要选择对应的镜子。
本实施例中提供的智能售货柜,通过在智能售货柜的任意侧面设置限高线,防止放置在放置空间的物品过高而影响摄像头的拍摄效果。
本申请的第五实施例涉及一种物品识别方法,该物品识别方法用于识别智能售货柜中的物品,该物品识别方法的具体流程如图5所示。
步骤501:接收智能售货柜传输的每个放置空间的图像。
具体的说,智能售货柜和物品识别装置通信连接,智能售货柜的主控模块控制摄像头对柜内的每个放置空间内镜子进行拍摄,并向物品识别装置发送拍摄的图像,物品识别装置接收每个放置空间的图像,当然,为了便于对图像进行识别,对每个放置空间拍摄至少一个图像并传输至物品识别装置。
步骤502:分别对每个放置空间的图像进行抗干扰处理。
具体的说,柜体内的摄像头拍摄的图像中可能存在其他与当前放置空间内物品无关的影像,为了减少对图像识别的干扰,需要对接收的图像进行抗干扰处理。抗干扰处理的具体过程至少包括三种方法,下面将详细说明三种抗干扰处理方法。
抗干扰处理方法一:
从每个图像中去除干扰影像,干扰影像包括摄像头的影像以及放置空间外的影像。
具体的说,由于镜子的镜面面向放置空间底部,而放置空间底部设置有摄像头,那么镜中成像中存在摄像头。摄像头的外形与黑色的瓶盖相近,因而,为了避免在图像识别过程中将摄像头误识别为瓶盖或者识别成其他物品,确保图像识别的准确性,需要从图像中去除摄像头影像。可以预先存储摄像头各个角度的图像,将包含摄像头的图像与预存的摄像头图像进行比对,并根据摄像头的位置,确定需要去除的摄像头影像。
当然,镜中可能存在放置空间外的影像,因此,可以将放置空间外的区域从图像中抠除,例如,以放置空间的四个侧壁(可以包括柜门)作为目标区域的边界,贴合目标区域边界将边界外的影像去除。
抗干扰处理方法二:
判断图像中是否包含限高线;若是,且确定图像中物品的高度小于限高线的高度,则按照限高线裁切图像,否则,按照图像中镜子的边缘裁切图像。
具体的说,预先存储限高线的有效特征(如,红色的直线,虚点线),便于通过特征比对判断图像中是否包含限高线,若是未检测到限高线,或者检测到限高线且存在高度高于限高线的物品,则直接以图像中镜子的边缘作为裁切边界,对图像进行裁切。若是检测到限高线,且图像中物品的高度均低于限高线,则以限高线为边界对图像进行裁切。可以理解的是,若放置空间的4个侧面并非都有限高线,可以通过其他限高线计算获得,例如,若只有一个限高线,通过计算可以获得该限高线在图像中所处高度,继而可以在图像中画出其他侧面的限高线。
通过裁切图像的方式可以避免实际影像与镜中的影像同时出现图像中,减少图像识别的难度,同时避免识别出非放置空间内物品的概率。
抗干扰处理方法三:
具体的说,将抗干扰处理方法一与抗干扰处理方法二进行任意组合,即可以先进行抗干扰处理方法一,再进行抗干扰处理方法二,或者先进行抗干扰处理方法二,再进行抗干扰处理方法一。
步骤503:识别抗干扰处理后的图像中的物品。
一个具体的实现中,识别抗干扰处理后的图像中每个物品的种类以及在图像中的位置。
具体的说,可以采用深度学习的方式对抗干扰处理后的图像进行识别,确定出图中物品的种类以及物品在图像中的位置。还可以采用比对的方式识别图中物品,该方法需要预先存储物品各个角度的图像,将抗干扰处理后的图像和预先存储的物品图像进行匹配,根据相似度确定图像中的物品种类。
本实施例相对于现有技术而言,通过对接收的图像进行抗干扰处理,消除通过拍摄镜子中的成像中的干扰影像,通过裁切图像的方式可以避免实际影像与镜中的影像同时出现图像中,减少图像识别的难度,同时避免识别出非放置空间内物品的概率。
本申请的第六实施例涉及一种物品识别装置,该物品识别装置与智能售货柜通信连接,物品识别装置60包括:通信模块601、图像处理模块602和图像识别模块603,该物品识别装置的具体结构如图6所示。
具体的说,通信模块601用于接收智能售货柜传输的每个放置空间的图像;图像处理模块602用于分别对每个放置空间的图像进行抗干扰处理;图像识别模块603用于识别抗干扰处理后图像中的物品。
本实施例是与上述物品识别方法对应的虚拟装置实施例,上述方法实施例中技术细节在本实施例中依然适用,此处不再赘述。
需要说明的是,以上所述的装置实施例仅仅是示意性的,并不对本申请的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限制。
本申请的第七实施例涉及一种服务器70,其结构如图7所示。包括:至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702。存储器702存储有可被至少一个处理器701执行的指令。指令被至少一个处理器701执行,以使至少一个处理器701能够执行上述的物品识别方法。
存储器702和处理器701采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器701和存储器702的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器701处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器701。
处理器701负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器702可以被用于存储处理器在执行操作时所使用的数据。
需要说明的是,本实施例中的处理器能够执行上述的方法实施例中实施步骤,具体的执行功能并未详细说明,可参见方法实施例中的技术细节,此处不再赘述。
本申请的第八实施例涉及一种计算机可读存储介质,该可读存储介质为计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令使计算机能够执行本申请第五实施例中涉及的物品识别方法。
需要说明的是,本领域的技术人员能够理解,上述实施例中显示方法是通过程序来指令相关的硬件来完成的,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random-Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。