CN115174526B - 设备间的网络适配方法及装置、存储介质、电子设备 - Google Patents
设备间的网络适配方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN115174526B CN115174526B CN202210762603.XA CN202210762603A CN115174526B CN 115174526 B CN115174526 B CN 115174526B CN 202210762603 A CN202210762603 A CN 202210762603A CN 115174526 B CN115174526 B CN 115174526B
- Authority
- CN
- China
- Prior art keywords
- slave
- equipment
- slave device
- network
- master
- 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 105
- 230000006978 adaptation Effects 0.000 title claims abstract description 59
- 238000004891 communication Methods 0.000 claims abstract description 119
- 238000004422 calculation algorithm Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 38
- 238000013507 mapping Methods 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 230000004927 fusion Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 101000941170 Homo sapiens U6 snRNA phosphodiesterase 1 Proteins 0.000 description 3
- 102100031314 U6 snRNA phosphodiesterase 1 Human genes 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241000531116 Blitum bonus-henricus Species 0.000 description 1
- 235000008645 Chenopodium bonus henricus Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
Abstract
本公开是关于一种设备间的网络适配方法及装置、存储介质、电子设备,涉及网络通信技术领域,该方法包括:从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。本公开提高了主控设备与从属设备之间的通信效率。
Description
技术领域
本公开实施例涉及网络通信技术领域,具体而言,涉及一种设备间的网络适配方法、设备间的网络适配装置、计算机可读存储介质以及电子设备。
背景技术
现有的方法中,主控设备和从属设备之间存在通信地址不确定的问题,进而导致主控设备和从属设备之间的通信效率较低。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种设备间的网络适配方法、设备间的网络适配装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的主控设备和从属设备之间的通信效率较低的问题。
根据本公开的一个方面,提供一种设备间的网络适配方法,配置于终端设备,所述终端设备中包括主控设备以及从属设备;所述设备间的网络适配方法包括:
从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;
从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;
基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
在本公开的一种示例性实施例中,在从与所述主控设备关联的物理端口的目录下,获取接入的从属设备的网络节点之前,所述设备间的网络适配方法还包括:
启动预设程序进程,并基于所述预设程序进程对所述主控设备的物理端口的内核节点进行轮询监测;
在监测到所述物理端口中有从属设备接入时,在所述内核节点中创建与接入的从属设备关联的网络节点。
在本公开的一种示例性实施例中,所述设备间的网络适配方法还包括:
在所述主控设备中建立与接入的从属设备关联的虚拟节点,并计算已经建立的虚拟节点的节点数量;
判断所述节点数量是否大于所述主控设备所具有的通用串行总线接口的接口数量;
在确定所述节点数量大于等于所述接口数量时,终止所述从属设备的接入。
在本公开的一种示例性实施例中,所述设备间的网络适配方法还包括:
根据所述通信地址建立所述主控设备与从属设备之间的通信连接,并基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输。
在本公开的一种示例性实施例中,所述设备间的网络适配方法还包括:
根据所述通信地址,建立所述主控设备的通用串行总线接口与所述从属设备之间的当前设备映射关系表;
判断所述当前设备映射关系表与历史设备映射关系表之间是否存在新接入的从属设备;
若存在新接入的从属设备,则为新接入的从属设备增加路由路径,若不存在新接入的从属设备,则对所述历史设备映射关系表中所包括的所有路由路径进行刷新。
在本公开的一种示例性实施例中,所述设备间的网络适配方法还包括:
根据所述路由路径建立所述主控设备和/或从属设备与外部应用程序之间的通信连接。
在本公开的一种示例性实施例中,所述终端设备包括智能冰箱,所述主控设备包括主控SoC板卡,所述从属设备包括一个或者多个智能摄像头;
其中,基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输,包括:
根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法;
控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,并基于所述通信连接图像识别结果从从属设备传输至主控设备。
在本公开的一种示例性实施例中,所述计算机视觉算法包括人像识别算法和/或物品识别算法;所述当前位置包括智能冰箱内部和/或智能冰箱外部;
其中,根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法,包括:
当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署物品识别算法;
当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署人像识别算法。
在本公开的一种示例性实施例中,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:
主控设备在检测到与所述智能冰箱对应的第一预设位置存在目标对象时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第一预设位置的从属设备与主控设备之间的通信地址;
主控设备生成与处于第一预设位置的从属设备关联的人脸图像采集指令,并基于处于第一预设位置的从属设备与主控设备之间的通信地址,将所述人脸图像采集指令发送至处于第一预设位置的从属设备;
处于第一预设位置的从属设备响应于所述人脸图像采集指令,采集所述目标对象的待识别人脸图像,并利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果。
在本公开的一种示例性实施例中,利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果,包括:
利用预设的人脸检测与关键点定位工具,检测所述待识别人脸图像的待识别人脸区域;
在所述待识别人脸区域中提取所述待识别人脸图像的待识别脸部关键点,并根据所述待识别脸部关键点,计算所述待识别人脸特征;
计算所述待识别人脸特征以及处于第二预设位置处的从属设备中的特征值库中的原始人脸特征之间的欧式距离;
根据所述欧式距离,得到所述待识别人脸特征与所述原始人脸特征之间的相似度比对结果,并根据所述相似度比对结果得到所述人像识别结果。
在本公开的一种示例性实施例中,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:
主控设备在检测到与所述智能冰箱对应的第二预设位置存在新增物品时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第二预设位置的从属设备与主控设备之间的通信地址;
主控设备生成与处于第二预设位置的从属设备关联的物品图像采集指令,并基于处于第二预设位置的从属设备与主控设备之间的通信地址,将所述物品图像采集指令发送至处于第二预设位置的从属设备;
处于第二预设位置的从属设备响应于所述物品图像采集指令,采集所述新增物品的待识别物品图像,并利用预设的物品识别算法对采集到的待识别物品图像进行识别,得到物品图像识别结果。
根据本公开的一个方面,提供一种设备间的网络适配装置,配置于终端设备,所述终端设备中包括主控设备以及从属设备;所述设备间的网络适配装置包括:
网络节点获取模块,用于从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;
接口编号读取模块,用于从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;
通信地址生成模块,用于基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的设备间的网络适配方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的设备间的网络适配方法。
本公开实施例提供的一种设备间的网络适配方法,一方面,由于在生成主控设备与从属设备之间的通信地址时,是基于从属设备在接入主控设备时所经由的通用串行总线接口的接口编号来生成的,因此,在从属设备未插拔出主控设备时,可以确保主控设备与从属设备之间的通信地址的唯一性,进而可以解决现有技术中由于主控设备和从属设备之间存在通信地址不确定,进而导致主控设备和从属设备之间的通信效率较低的问题;再一方面,可以通过从与主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;然后从网络节点中读取从属设备在接入主控设备时,所经由的主控设备的通用串行总线接口的接口编号;最后基于接口编号以及从属设备所具有的当前通信网段,生成主控设备与从属设备之间的通信地址;因此,当有新的从属设备接入主控设备时,可以直接获取对应的网络节点进而基于该网络节点生成对应的通信地址,进而使得从属设备与主控设备之间的通信地址不受从属设备接入或者挂载顺序的影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本公开示例实施例的一种设备间的网络适配方法的流程图。
图2示意性示出根据本公开示例实施例的一种设备间的网络适配方法的应用场景示例图。
图3示意性示出根据本公开示例实施例的一种主控设备的结构示例图。
图4示意性示出根据本公开示例实施例的一种多个不同网段的主控设备以及从属设备的场景示例图。
图5示意性示出根据本公开示例实施例的一种路由路径更新的方法流程图。
图6示意性示出根据本公开示例实施例的一种智能冰箱的示例图。
图7示意性示出根据本公开示例实施例的一种YOLOV4的结构示例图。
图8示意性示出根据本公开示例实施例的一种主干特征提取网络(BackBone)的结构示例图。
图9示意性示出根据本公开示例实施例的一种颈部特征融合网络(Neck)的结构示例图。
图10示意性示出根据本公开示例实施例的一种头部特征检测网络(Head)的结构示例图。
图11示意性示出根据本公开示例实施例的一种设备间的网络适配装置的框图。
图12示意性示出根据本公开示例实施例的一种用于实现上述设备间的网络适配方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种设备间的网络适配方法,该方法可以运行于终端设备;其中,本申请所记载的终端设备,可以指用户设备(User Equipment,UE)、接入终端、V2X通信中的终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端设备、无线通信设备、用户代理或用户装置。终端还可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(Public LandMobile Network,PLMN)中的终端设备等,本申请实施例对此并不限定。终端还可以包括V2X设备,例如为车辆或车辆中的车载单元(On Board Unit,OBU);当然,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。
进一步的,参考图1所示,该设备间的网络适配方法可以包括以下步骤:
步骤S110.从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;
步骤S120.从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;
步骤S130.基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
上述设备间的网络适配方法中,一方面,由于在生成主控设备与从属设备之间的通信地址时,是基于从属设备在接入主控设备时所经由的通用串行总线接口的接口编号来生成的,因此,在从属设备未插拔出主控设备时,可以确保主控设备与从属设备之间的通信地址的唯一性,进而可以解决现有技术中由于主控设备和从属设备之间存在通信地址不确定,进而导致主控设备和从属设备之间的通信效率较低的问题;再一方面,可以通过从与主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;然后从网络节点中读取从属设备在接入主控设备时,所经由的主控设备的通用串行总线接口的接口编号;最后基于接口编号以及从属设备所具有的当前通信网段,生成主控设备与从属设备之间的通信地址;因此,当有新的从属设备接入主控设备时,可以直接获取对应的网络节点进而基于该网络节点生成对应的通信地址,进而使得从属设备与主控设备之间的通信地址不受从属设备接入或者挂载顺序的影响。
以下,将结合附图对本公开示例实施例设备间的网络适配方法进行详细的解释以及说明。
首先,对本公开示例实施例的应用场景进行解释以及说明。具体的,本公开示例实施例所记载的设备间的网络适配方法,可以应用于终端设备,该终端设备中可以包括一个主控设备以及一个或者多个从属设备,具体的应用场景可以参考图2所示。例如,在图2中,主控设备201可以连接从属设备202、从属设备203、从属设备204、从属设备205等等;其中,所能连接的从属设备的数量可以根据主控设备所具有的USB接口来决定,接入的从属设备的数量不超过接口数量即可,具体需要接入的数量可以根据实际需要来决定,本示例对此不做特殊限制。
但是,在图2所示出的主控设备以及从属设备中,主控设备以及从属设备中都需要设置智能系统,因此主控设备以及从属设备的USB都默认工作模式均为Host模式(主机模式);因此,若主控设备与从属设备直接通过USB进行连接,主控设备无法通过USB接口控制从属设备执行相应的指令;同时,当主控设备所连接的从属设备包括多个时,从属设备对于主控设备来说,是如何进行区分的以及如何进行通信的,是本申请主要需要解决的问题。
为了解决上述问题,参考图3所示,在主控设备中增加了设备管理模块DeviceManager301和路由管理模块Route Manager302。具体来说:首先,可以通过设备管理模块将从属设备设置为RNDIS模式。其中,RNDIS,也即Remote Network Driver InterfaceSpecification,远程网络驱动程序接口规范;其中,RNDIS的作用为TCP(TransmissionControl Protocol,传输控制协议)/IP(Internet Protocol,网际协议)over USB,也即将USB(Universal Serial Bus,通用串行总线)设备作为网卡,从而使主控设备可以通过USB设备连接网络。同时,实现USB RNDIS功能需要具备以下条件:一方面,主控设备需要支持USB Client并且USB驱动已经完成;另一方面,需要在主控设备上面安装Active Sync软件,该软件用于支持RNDIS驱动。
在此前提下,可以通过设备管理模块将从属设备配置为RNDIS模式;在RNDIS模式下,对于从板来说,从属设备的USB口就工作在target模式;对于主控设备来说,每个从属设备就变成了一个虚拟的网卡,这样主控设备和从属设备的通讯就成为主控设备通过USB网卡和从属设备进行通信;因此,为了实现主控设备与从属设备之间的通信,需要给主控设备的网卡和从属设备的IP设置成同一网段;例如,均设置为192.168.1.0网段;同时,对于多个从属设备来说,可以分别设置成多个不同网段,具体可以参考图4所示。进一步的,设备管理模块还负责从属设备的接入或挂载。具体的,设备开机后,由于从属设备上电的顺序有先后,所以对于主控设备来说,每个从属设备挂载的顺序具有随机性;其中,如下表1以及表2皆为可能出现的情况:
表1主板USB网卡与从板对应关系:
主板网卡 | 从板 |
USB0 | 从板2 |
USB1 | 从板1 |
USB2 | 从板3 |
USB3 | 从板4 |
表2主板USB网卡与从板对应关系:
主板网卡 | 从板 |
USB0 | 从板3 |
USB1 | 从板4 |
USB2 | 从板1 |
USB3 | 从板2 |
基于上述表1以及表2所记载的内容可以得知,由于从属设备的接入顺序的不确定性,因而主控设备与从属设备之间的通信地址的配置关系就无法确定;基于此,本公开示例实施例首先提出了一种如图1所示的设备间的网络适配方法。具体的:
在步骤S110中,从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点。
在本示例实施例中,在从内核节点中获取从属设备的网络节点之前,首先需要在内核节点中创建从属设备的网络节点。其中,网络节点的具体创建方法可以通过如下方式来实现:首先,启动预设程序进程,并基于所述预设程序进程对所述主控设备的物理端口的内核节点进行轮询监测;其次,在监测到所述物理端口中有从属设备接入时,在所述内核节点中创建与接入的从属设备关联的网络节点。
具体的,首先,可以定义一个预设进程,并在主控设备启动时,即启动该预设进程,进而通过该预设进程对主控设备的物理端口的内核节点进行轮询监测;其中,该预设进程例如可以是守护进程Deamon;当然,也可以是其他的可以用于进行物理端口以及内核节点监测的进程,本示例对此不做特殊限制。进一步的,主控设备的物理端口具体可以如下所示:
物理USB1:/sys/bus/usb/device/xxxx-1.1/;
物理USB2:/sys/bus/usb/device/xxxx-1.2/;
进一步的,当监测到物理端口中有从属设备接入时,即可在该物理端口的内核(Kernel)节点中创建网络(net)节点;并且,当守护进程监测到内核节点中的网络节点创建成功以后,即可认为该物理端口已经有从属设备成功接入。更进一步的,当守护进程监测到有从属设备成功接入以后,即可从对应的主控设备的物理端口下获取该从属设备的网络节点。
在步骤S120中,从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号。
具体的,读取网络节点的内容,其中,网络节点的内容中包括从属设备在接入主控设备时,所经由的主控设备的通用串行总线接口的接口编号,也即主控设备为该接入的从属设备的网卡编码。其中,具体的网卡编码可以如下所示:
物理USB1→网卡USB2→从卡设备192.168.1.1;
物理USB2→网卡USB3→从卡设备192.168.2.1。
在步骤S130中,基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
具体的,当得到接口编号以后,即可根据该接口编号以及当前通信网段生成相应的通信地址。其中,所生成的通信地址具体可以如下所示:
ifconfig usb2 192.168.1.2;和/或
ifconfig usb3 192.168.2.2。
至此可以毫无疑问的得出,本公开示例实施例所记载的设备间的网络适配方法,通过定义一个守护进程,实时去监控主板物理端口,及内核对应USB物理端口的节点,进而在确定物理端口的目录底下存在net节点时,读取net节点的内容得到主控设备的网卡编码(USB2,USB3),进而基于网卡编码生成通信地址,使得主控设备与从属设备之间可以存在一个唯一的通信地址,且主控设备与从属设备之间的通信地址不受从属设备的挂载顺序的限制,直接基于该通信地址通信即可,进而达到提高通信效率的目的;并且,由于主控设备与从属设备之间的通信地址中包括从属设备的通信网段以及主控设备的USB接口的接口编号,进而使得主控设备可以基于该通信地址区分所接入的从属设备,解决了现有技术中主控设备无法对接入的从属设备进行区分的问题。
进一步的,为了避免主控设备中由于接入过多从属设备进而导致的主控设备负载过重的问题,该设备间的网络适配方法还包括:首先,在所述主控设备中建立与接入的从属设备关联的虚拟节点,并计算已经建立的虚拟节点的节点数量;其次,判断所述节点数量是否大于所述主控设备所具有的通用串行总线接口的接口数量;然后,在确定所述节点数量大于等于所述接口数量时,终止所述从属设备的接入。也即,在具体的应用过程中,在监测到存在从属设备接入时,即可在主控设备对应的物理端口的内核节点中创建一个与该接入的从属设备对应的虚拟节点;其中,创建一个虚拟节点就表示已经有一个从属设备接入,间隔一定的时间计算虚拟节点的节点数量与主控设备所具有的通用串行总线接口的接口数量之间的差值,若节点数量已经达到接口数量,则需要终止从属设备的接入。此处需要补充说明的是,此处之所以限定从属设备的接入数量,是为了确保从属设备与主控设备之间的通信地址的唯一性(一个通信地址中包括一个唯一确定的接口编码,若一个接口中接入多个从属设备,则无法保证通信地址的唯一性,进而无法达到提高通信效率的目的);也即,本公开示例实施例所记载的设备间的网络适配方法,丢弃USB网卡编号与从板的对应关系,而改为设备实际物理接口与从板的对应关系,进而实现相应的目的。
更进一步的,当得到通信地址以后,即可基于该通信地址建立主控设备与从属设备之间的通信。具体的,可以通过如下方式实现:根据所述通信地址建立所述主控设备与从属设备之间的通信连接,并基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输。其中,在建立主控设备以及从属设备之间的通信连接以后,主控设备即可控制从属设备执行相应的任务和/或传输相应的数据;并且,在不同的应用场景下,所传输的数据和/或所执行的指令不同,本申请对此不做特殊限定。
在一种示例实施例中,在为每个从属设备分配完主控设备与从属设备之间的通信地址后,一个新的问题就会出现:也即,由于主控设备上还有连接外网的网卡,比如Ethernet(以太网)和/或4G网卡等,而且4G网卡通常也已USB0-X这种方式命名;但是,从卡连接后,对于主控设备来说,又多出了许多网卡,这样对于需要走外网的数据包,主控设备就不知道该控制哪个网卡给转发出去,一旦选择错了网卡,直接的后果就是设备不能上网。基于此,本公开示例实施例还提供了另一种设备间的网络适配方法。具体的,参考图5所示,该设备间的网络适配方法还可以包括以下步骤:
步骤S510,根据所述通信地址,建立所述主控设备的通用串行总线接口与所述从属设备之间的当前设备映射关系表;
步骤S520,判断所述当前设备映射关系表与历史设备映射关系表之间是否存在新接入的从属设备;
步骤S530,若存在新接入的从属设备,则为新接入的从属设备增加路由路径;
步骤S540,若不存在新接入的从属设备,则对所述历史设备映射关系表中所包括的所有路由路径进行刷新。
以下,将对步骤S510-步骤S540进行解释以及说明。具体的,由于主控设备中还包括了路由管理模块;因此,为了可以确保主控设备所选择的网卡可以上网,需要为新增的网卡增加路由路径,或者对设备映射关系表中所包括的所有路由路径进行刷新,以确保不管主控设备选择了哪一条路由路径,均可以实现上网的目的。进一步的,当路由路径增加完成或者刷新完成后,该设备间的网络适配方法还包括:根据所述路由路径建立所述主控设备和/或从属设备与外部应用程序之间的通信连接。同时,在具体的应用过程中,路由管理模块可以通过对多个从卡设置路由来实现设备的上网。它的具体过程是:启动路由管理的守护进程和定时器;其中,路由管理的守护进程与上述网络节点监测的守护进程可以是同一个,也可以是独立设置的,本示例对此不做特殊限制;也即,启动守护进程以后,通过定时器记录间隔时长,若时长达到规定时长则查看DeviceManager的设备映射表(当前设备映射关系表);然后,对于新增的网卡(从属设备)增加一条路由路径;若没有增加,为所有的设备刷新路由路径表。通过该方法,可以避免由于挂载了较多网卡(从属设备和/或Ethernet(以太网)和/或4G网卡),且给每个网卡设置了不同网段的IP,进而导致主控设备中存在多个IP,若未给从属设备配置路由路径,会导致主控设备通过该从属设备对应的网卡向外发送上网请求,进而由于该从属设备的网卡不存在路由路径会使得上网失败的问题。
以下,结合具体的应用场景对本公开示例实施例的设备间的网络适配方法进行解释以及说明。具体的,以终端设备为智能冰箱为例,对本公开示例实施例的具体实现过程进行解释以及说明。其中,此处所记载的智能冰箱,可以用于指代具有AI(ArtificialIntelligence)功能的智能冰箱。具体的,参考图6所示,冰箱门为一个显示界面601,用于显示冰箱内的商品信息,另外冰箱上连接有多个摄像头,冰箱外面所设置的智能摄像头602,可以采集冰箱前的人的特征信息,包括年龄、性别等,冰箱里面所设置的智能摄像头603,可以实时监测放入商品的信息,和冰箱内的所有商品信息。进一步的,智能冰箱上还设置有一个主控SoC(System on a Chip,系统级芯片)板卡(主控设备),该主控SoC板卡可以被认为是智能冰箱的主控SoC板卡,运行有Android系统,可以驱动液晶、智能摄像头和其他外设;同时,每个智能摄像头(从属设备)由一个小型的SoC板卡进行驱动,从属设备上运行有小型的Linux系统,在上面可以部署人脸识别、商品识别的算法。本发明为了解决,这种主、从SoC板卡的部署及通讯问题。
进一步的,在智能冰箱的场景下,基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输,具体可以通过如下方式实现:首先,根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法;其次,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,并基于所述通信连接图像识别结果从从属设备传输至主控设备;其中,所述计算机视觉算法包括人像识别算法和/或物品识别算法;所述当前位置包括智能冰箱内部和/或智能冰箱外部。
在一种示例实施例中,根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法,具体可以通过如下方式实现:当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署物品识别算法;当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署人像识别算法。
在一种示例实施例中,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:主控设备在检测到与所述智能冰箱对应的第一预设位置存在目标对象时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第一预设位置的从属设备与主控设备之间的通信地址;主控设备生成与处于第一预设位置的从属设备关联的人脸图像采集指令,并基于处于第一预设位置的从属设备与主控设备之间的通信地址,将所述人脸图像采集指令发送至处于第一预设位置的从属设备;处于第一预设位置的从属设备响应于所述人脸图像采集指令,采集所述目标对象的待识别人脸图像,并利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果。
其中,利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果,包括:首先,利用预设的人脸检测与关键点定位工具,检测所述待识别人脸图像的待识别人脸区域;其次,在所述待识别人脸区域中提取所述待识别人脸图像的待识别脸部关键点,并根据所述待识别脸部关键点,计算所述待识别人脸特征;然后,计算所述待识别人脸特征以及处于第二预设位置处的从属设备中的特征值库中的原始人脸特征之间的欧式距离;进一步的,根据所述欧式距离,得到所述待识别人脸特征与所述原始人脸特征之间的相似度比对结果,并根据所述相似度比对结果得到所述人像识别结果。
以下,将对人脸识别的具体实现过程进行解释以及说明。具体的,人脸识别(Facial Recognition),就是通过设置在智能冰箱的外部的智能摄像头获取用户的待识别人脸图像,再利用设置在该智能摄像头中的人脸识别算法对其脸部的五官位置、脸型和角度进行计算分析,进而和自身数据库里已有的范本进行比对,后判断出用户的真实身份。进一步的,在具体的人脸识别过程中,首先,需要对局部区域进行定义;其次,人脸局部区域特征的提取,依据经过样本训练后得到的变换矩阵将人脸图像向量映射为人脸特征向量;进一步的,局部特征选择(可选);最后一步是进行分类。分类器多采用组合分类器的形式,每个局部特征对应一个分类器,后可用投票或线性加权等方式得到终识别结果。
在一种示例实施例中,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,还可以通过如下方式实现:首先,主控设备在检测到与所述智能冰箱对应的第二预设位置存在新增物品时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第二预设位置的从属设备与主控设备之间的通信地址;其次,主控设备生成与处于第二预设位置的从属设备关联的物品图像采集指令,并基于处于第二预设位置的从属设备与主控设备之间的通信地址,将所述物品图像采集指令发送至处于第二预设位置的从属设备;最后,处于第二预设位置的从属设备响应于所述物品图像采集指令,采集所述新增物品的待识别物品图像,并利用预设的物品识别算法对采集到的待识别物品图像进行识别,得到物品图像识别结果。其中,在对物品进行识别的过程中所采用倒的物品识别算法可以包括卷积神经网络模型、循环神经网络模型、深度神经网络模型以及YOLO系列模型,例如YOLOV2、YOLOV3、YOLOV4以及YOLOV5等等,本示例对此不做特殊限制。
以下,以物品识别算法为为例,对具体的识别过程进行解释以及说明。具体的,参考图7所示,该YOLOV4模型可以包括输入层701、主干特征提取网络(BackBone)702、颈部特征融合网络(Neck)703以及头部特征检测网络(Head)704以及输出层705。其中,输入层701、主干(Back Bone)特征提取网络702、颈部(Neck)特征融合网络703以及头部(Head)特征检测网络704以及输出层705依次连接。
其中,参考图8所示,主干特征提取网络中包括CBM模块801以及多个CSP模块,所述多个CSP模块包括第一个CSP模块802、第二个CSP模块803、第三个CSP模块804、第四个CSP模块805以及第五个CSP模块806。也即,本公开示例实施例所采用的Backbone,可以基于CSPDarknet53实现,该CSPDarknet53中包含了1个CBM模块和5个CSP模块;其中,CBM模块可以由Conv+Bn+Mish激活函数三者组成;Conv为Convolutional卷积,Bn为BatchNormalization;Mish为激活函数;CSP模块可以由CBM模块以及一个或者多个Res Unit模块concate组成。其中,CSP可以用于表示Cross Stage Partial,也即其是一个增强学习能力的跨阶段局部网络。
在一种示例实施例中,第一个CSP模块802可以由CBM模块和1个Resunint模块Concate组成。在具体的应用过程中,可以将CBM模块处理后的特征图608*608*32的F_conv2传入第一个CSP模块进行处理(其中只有1个残差单元)。
在一种示例实施例中,第二个CSP模块803可以由CBM模块和2个Resunint模块Concate组成。在具体的应用过程中,可以将第一个CSP模块处理后的304*304*64特征图,传入到第二个CSP模块处理。具体的,经过下采样后变成了152*152*128的特征图,然后分别经过两个1*1*64的s=1的卷积后得到两个分支,其中一个分支的特征块进入残差模块进行处理后,再与另一个分支进行拼接;其中,第二个CSP模块的最后输出是152*152*128(残差模块中的卷积层:1*1*64和3*3*64)。
在一种示例实施例中,第三个CSP模块804可以由8个Res Unint模块和CBM模块Concate组成。在具体的应用过程中,可以将第二个CSP模块处理后的152*152*128的特征图,传入到第三个CSP模块处理,最终第三个csp模块的最后输出是76*76*256(残差模块中的卷积层:1*1*128和3*3*128),这个模块后又分为两个分支,一个分支继续进行第四个CSP模块处理,另一个分支直接进入到Neck处理。
在一种示例实施例中,第四个CSP模块805由8个Res Unint模块和CBM模块Concate组成。在具体的应用过程中,可以将第三个CSP模块的一个分支76*76*256的特征图,传入到第四个CSP模块处理,最终第四个CSP模块的最后输出是38*38*512(残差模块中的卷积层:1*1*256和3*3*256),这个模块后又分为两个分支,一个分支继续进行第五个CSP模块处理,另一个分支直接进入到Neck处理。
在一种示例实施例中,第五个CSP模块806由4个Res Unint模块和CBM模块Concate组成。在具体的应用过程中,可以将第四个CSP模块的一个分支38*38*512的特征图,传入到第五个CSP模块处理,最终第五个csp模块的最后输出是19*19*1024(残差模块中的卷积层:1*1*512和3*3*512),这个模块输出结果直接进入到Neck处理。
进一步的,参考图9所示,颈部特征融合网络(Neck)可以包括SPP模块901、多个CBL模块、多个上采样模块以及多个拼接模块;其中,所述多个CBL模块包括第一个CBL模块902、第二个CBL模块903、第三个CBL模块904、第四个CBL模块905、第五个CBL模块906、第六个CBL模块907、第七个CBL模块908、第八个CBL模块909、第九个CBL模块910、第十个CBL模块911、第十一个CBL模块912以及第十二个CBL模块913,所述多个上采样模块包括第一个上采样模块914以及第二个上采样模块915,所述多个拼接模块包括第一个拼接模块916、第二个拼接模块917、第三个拼接模块918以及第四个拼接模块919。
其中,CBL模块可以由Conv+Bn+Leaky_relu激活函数三者组成;SPP(SpatialPyramid Pooling,空间金字塔池化结构)模块的前后三个CBL模块(第一个CBL模块以及第二个CBL模块,第一个CBL模块以及第二个CBL模块中分别包括3个)是对称的,它们的卷积分别是1*1*512,3*3*1024和1*1*512,步长都是1;SPP模块可以采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合;其中,SPP模块采用的1×1,5×5padding=5//2,9×9padding=9//2,13×13padding=13//2的最大池化的方式,进行多尺度融合,从前面三个CBL模块输出的结果:19*19*512的特征图,将之送入SPP模块中,最后的结果为19*19*2048,再经过三个CBL模块的卷积后得到19*19*512的特征图。
更进一步的,参考图10所示,头部特征检测网络(Head)可以包括多个CBL模块以及多个卷积模块;其中,多个CBL模块可以包括第十三个CBL模块1001、第十四个CBL模块1002以及第十五个CBL模块1003;多个卷积模块可以包括第一个卷积模块1004、第二个卷积模块1005以及第三个卷积模块1006。其中,在具体的应用过程中,Yolo Head利用获得到的特征进行预测,是一个解码的过程。具体的,在特征利用部分,YoloV4提取多尺度特征进行目标检测,一共提取三个特征层,分别位于中间层,中下层,底层,三个特征层的Shape分别为(19,19,255),(38,38,255),(76,76,255)。三张特征图就是整个Yolo输出的检测结果,检测框位置(4维)、检测置信度(1维)、类别(80维)都在其中,加起来正好是85维。特征图最后的维度85,代表的就是这些信息,而特征图其他维度N×N×3,N×N代表了检测框的参考位置信息,3是3个不同尺度的先验框。
在具体的进行物品识别的过程中,首先,可以利用所述主干特征提取网络对所述待识别物品图像进行下采样处理,得到第一局部特征;然后,利用所述颈部特征融合网络对所述第一局部特征进行从深层到浅层、再从浅层到深层的双向融合,得到第一全局特征;最后,利用所述头部特征检测网络对所述第一全局特征中包括的目标对象的类别信息以及位置信息进行检测,得到所述图像特征。其中,各模块在图像物品识别过程中的具体处理过程,此处不再赘述。
本公开示例实施例还提供了一种设备间的网络适配装置,配置于终端设备,所述终端设备中包括主控设备以及从属设。具体的,参考图11所示,该设备间的网络适配装置可以包括网络节点获取模块1110、接口编号读取模块1120以及通信地址生成模块1130。其中:
网络节点获取模块1110,可以用于从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;
接口编号读取模块1120,可以用于从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;
通信地址生成模块1130,可以用于基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
在本公开的一种示例性实施例中,所述设备间的网络适配方法还包括:
轮询监测模块,可以用于启动预设程序进程,并基于所述预设程序进程对所述主控设备的物理端口的内核节点进行轮询监测;
网络节点创建模块,可以用于在监测到所述物理端口中有从属设备接入时,在所述内核节点中创建与接入的从属设备关联的网络节点。
在本公开的一种示例性实施例中,所述设备间的网络适配装置还包括:
节点数量计算模块,可以用于在所述主控设备中建立与接入的从属设备关联的虚拟节点,并计算已经建立的虚拟节点的节点数量;
节点数量判断模块,可以用于判断所述节点数量是否大于所述主控设备所具有的通用串行总线接口的接口数量;
终止接入模块,可以用于在确定所述节点数量大于等于所述接口数量时,终止所述从属设备的接入。
在本公开的一种示例性实施例中,所述设备间的网络适配装置还包括:
数据传输模块,可以用于根据所述通信地址建立所述主控设备与从属设备之间的通信连接,并基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输。
在本公开的一种示例性实施例中,所述设备间的网络适配装置还包括:
设备映射关系表建立模块,可以用于根据所述通信地址,建立所述主控设备的通用串行总线接口与所述从属设备之间的当前设备映射关系表;
新接入的从属设备片段模块,可以用于判断所述当前设备映射关系表与历史设备映射关系表之间是否存在新接入的从属设备;
路由路径增加模块,可以用于若存在新接入的从属设备,则为新接入的从属设备增加路由路径,若不存在新接入的从属设备,则对所述历史设备映射关系表中所包括的所有路由路径进行刷新。
在本公开的一种示例性实施例中,所述设备间的网络适配装置还包括:
通信连接建立模块,可以用于根据所述路由路径建立所述主控设备和/或从属设备与外部应用程序之间的通信连接。
在本公开的一种示例性实施例中,所述终端设备包括智能冰箱,所述主控设备包括主控SoC板卡,所述从属设备包括一个或者多个智能摄像头;
其中,基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输,包括:
根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法;
控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,并基于所述通信连接图像识别结果从从属设备传输至主控设备。
在本公开的一种示例性实施例中,所述计算机视觉算法包括人像识别算法和/或物品识别算法;所述当前位置包括智能冰箱内部和/或智能冰箱外部;
其中,根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法,包括:
当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署物品识别算法;当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署人像识别算法。
在本公开的一种示例性实施例中,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:
主控设备在检测到与所述智能冰箱对应的第一预设位置存在目标对象时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第一预设位置的从属设备与主控设备之间的通信地址;主控设备生成与处于第一预设位置的从属设备关联的人脸图像采集指令,并基于处于第一预设位置的从属设备与主控设备之间的通信地址,将所述人脸图像采集指令发送至处于第一预设位置的从属设备;处于第一预设位置的从属设备响应于所述人脸图像采集指令,采集所述目标对象的待识别人脸图像,并利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果。
在本公开的一种示例性实施例中,利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果,包括:
利用预设的人脸检测与关键点定位工具,检测所述待识别人脸图像的待识别人脸区域;在所述待识别人脸区域中提取所述待识别人脸图像的待识别脸部关键点,并根据所述待识别脸部关键点,计算所述待识别人脸特征;计算所述待识别人脸特征以及处于第二预设位置处的从属设备中的特征值库中的原始人脸特征之间的欧式距离;根据所述欧式距离,得到所述待识别人脸特征与所述原始人脸特征之间的相似度比对结果,并根据所述相似度比对结果得到所述人像识别结果。
在本公开的一种示例性实施例中,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:
主控设备在检测到与所述智能冰箱对应的第二预设位置存在新增物品时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第二预设位置的从属设备与主控设备之间的通信地址;主控设备生成与处于第二预设位置的从属设备关联的物品图像采集指令,并基于处于第二预设位置的从属设备与主控设备之间的通信地址,将所述物品图像采集指令发送至处于第二预设位置的从属设备;处于第二预设位置的从属设备响应于所述物品图像采集指令,采集所述新增物品的待识别物品图像,并利用预设的物品识别算法对采集到的待识别物品图像进行识别,得到物品图像识别结果。
上述设备间的网络适配装置中各模块的具体细节已经在对应的设备间的网络适配方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图12来描述根据本公开的这种实施方式的电子设备1200。图12显示的电子设备1200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200以通用计算设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230以及显示单元1240。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1210执行,使得所述处理单元1210执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1210可以执行如图1中所示的步骤S110:从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;步骤S120:从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;步骤S130:基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
存储单元1220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)12201和/或高速缓存存储单元12202,还可以进一步包括只读存储单元(ROM)12203。
存储单元1220还可以包括具有一组(至少一个)程序模块12205的程序/实用工具12204,这样的程序模块12205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1200也可以与一个或多个外部设备1300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1200交互的设备通信,和/或与使得该电子设备1200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1250进行。并且,电子设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与电子设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (13)
1.一种设备间的网络适配方法,其特征在于,配置于终端设备,所述终端设备中包括主控设备以及从属设备;所述设备间的网络适配方法包括:
启动预设程序进程,并基于所述预设程序进程对所述主控设备的物理端口的内核节点进行轮询监测;
在监测到所述物理端口中有从属设备接入时,在所述内核节点中创建与接入的从属设备关联的网络节点;
从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;
从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;
基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
2.根据权利要求1所述的设备间的网络适配方法,其特征在于,所述设备间的网络适配方法还包括:
在所述主控设备中建立与接入的从属设备关联的虚拟节点,并计算已经建立的虚拟节点的节点数量;
判断所述节点数量是否大于所述主控设备所具有的通用串行总线接口的接口数量;
在确定所述节点数量大于等于所述接口数量时,终止所述从属设备的接入。
3.根据权利要求1所述的设备间的网络适配方法,其特征在于,所述设备间的网络适配方法还包括:
根据所述通信地址建立所述主控设备与从属设备之间的通信连接,并基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输。
4.根据权利要求3所述的设备间的网络适配方法,其特征在于,所述设备间的网络适配方法还包括:
根据所述通信地址,建立所述主控设备的通用串行总线接口与所述从属设备之间的当前设备映射关系表;
判断所述当前设备映射关系表与历史设备映射关系表之间是否存在新接入的从属设备;
若存在新接入的从属设备,则为新接入的从属设备增加路由路径,若不存在新接入的从属设备,则对所述历史设备映射关系表中所包括的所有路由路径进行刷新。
5.根据权利要求4所述的设备间的网络适配方法,其特征在于,所述设备间的网络适配方法还包括:
根据所述路由路径建立所述主控设备和/或从属设备与外部应用程序之间的通信连接。
6.根据权利要求3所述的设备间的网络适配方法,其特征在于,所述终端设备包括智能冰箱,所述主控设备包括主控SoC板卡,所述从属设备包括一个或者多个智能摄像头;
其中,基于所述通信连接,在所述主控设备以及从属设备之间进行数据传输和/或指令传输,包括:
根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法;
控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,并基于所述通信连接图像识别结果从从属设备传输至主控设备。
7.根据权利要求6所述的设备间的网络适配方法,其特征在于,所述计算机视觉算法包括人像识别算法和/或物品识别算法;所述当前位置包括智能冰箱内部和/或智能冰箱外部;
其中,根据所述从属设备在所述终端设备中所处的当前位置,在所述从属设备中部署计算机视觉算法,包括:
当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署物品识别算法;
当所述智能摄像头所处的当前位置位于智能冰箱内部时,在该智能摄像头中部署人像识别算法。
8.根据权利要求7所述的设备间的网络适配方法,其特征在于,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:
主控设备在检测到与所述智能冰箱对应的第一预设位置存在目标对象时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第一预设位置的从属设备与主控设备之间的通信地址;
主控设备生成与处于第一预设位置的从属设备关联的人脸图像采集指令,并基于处于第一预设位置的从属设备与主控设备之间的通信地址,将所述人脸图像采集指令发送至处于第一预设位置的从属设备;
处于第一预设位置的从属设备响应于所述人脸图像采集指令,采集所述目标对象的待识别人脸图像,并利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果。
9.根据权利要求8所述的设备间的网络适配方法,其特征在于,利用预设的人像识别算法对采集到的待识别人脸图像进行识别,得到人像识别结果,包括:
利用预设的人脸检测与关键点定位工具,检测所述待识别人脸图像的待识别人脸区域;
在所述待识别人脸区域中提取所述待识别人脸图像的待识别脸部关键点,并根据所述待识别脸部关键点,计算所述待识别人脸特征;
计算所述待识别人脸特征以及处于第二预设位置处的从属设备中的特征值库中的原始人脸特征之间的欧式距离;
根据所述欧式距离,得到所述待识别人脸特征与所述原始人脸特征之间的相似度比对结果,并根据所述相似度比对结果得到所述人像识别结果。
10.根据权利要求7所述的设备间的网络适配方法,其特征在于,控制所述从属设备基于所述计算机视觉算法对采集到的待识别图像进行识别得到图像识别结果,包括:
主控设备在检测到与所述智能冰箱对应的第二预设位置存在新增物品时,根据主控设备与从属设备之间的当前设备映射关系表,获取处于该第二预设位置的从属设备与主控设备之间的通信地址;
主控设备生成与处于第二预设位置的从属设备关联的物品图像采集指令,并基于处于第二预设位置的从属设备与主控设备之间的通信地址,将所述物品图像采集指令发送至处于第二预设位置的从属设备;
处于第二预设位置的从属设备响应于所述物品图像采集指令,采集所述新增物品的待识别物品图像,并利用预设的物品识别算法对采集到的待识别物品图像进行识别,得到物品图像识别结果。
11.一种设备间的网络适配装置,其特征在于,配置于终端设备,所述终端设备中包括主控设备以及从属设备;所述设备间的网络适配装置包括:
轮询监测模块,用于启动预设程序进程,并基于所述预设程序进程对所述主控设备的物理端口的内核节点进行轮询监测;
网络节点创建模块,用于在监测到所述物理端口中有从属设备接入时,在所述内核节点中创建与接入的从属设备关联的网络节点;
网络节点获取模块,用于从与所述主控设备关联的物理端口的内核节点中获取接入的从属设备的网络节点;
接口编号读取模块,用于从所述网络节点中读取所述从属设备在接入所述主控设备时,所经由的主控设备的通用串行总线接口的接口编号;
通信地址生成模块,用于基于所述接口编号以及所述从属设备所具有的当前通信网段,生成所述主控设备与所述从属设备之间的通信地址。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述的设备间的网络适配方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-10任一项所述的设备间的网络适配方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762603.XA CN115174526B (zh) | 2022-06-29 | 2022-06-29 | 设备间的网络适配方法及装置、存储介质、电子设备 |
PCT/CN2023/097366 WO2024001652A1 (zh) | 2022-06-29 | 2023-05-31 | 设备间的网络适配方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762603.XA CN115174526B (zh) | 2022-06-29 | 2022-06-29 | 设备间的网络适配方法及装置、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174526A CN115174526A (zh) | 2022-10-11 |
CN115174526B true CN115174526B (zh) | 2024-07-30 |
Family
ID=83489051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210762603.XA Active CN115174526B (zh) | 2022-06-29 | 2022-06-29 | 设备间的网络适配方法及装置、存储介质、电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115174526B (zh) |
WO (1) | WO2024001652A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174526B (zh) * | 2022-06-29 | 2024-07-30 | 京东方科技集团股份有限公司 | 设备间的网络适配方法及装置、存储介质、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266490A (zh) * | 2008-03-31 | 2008-09-17 | 清华大学 | 无mac地址的总线家庭有线控制网络的即插即用方法 |
CN109062145A (zh) * | 2018-08-13 | 2018-12-21 | 大古智能科技(上海)有限公司 | 基于wifi通信的数控机床运动控制卡 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2249460B (en) * | 1990-09-19 | 1994-06-29 | Intel Corp | Network providing common access to dissimilar hardware interfaces |
US5922046A (en) * | 1996-09-12 | 1999-07-13 | Cabletron Systems, Inc. | Method and apparatus for avoiding control reads in a network node |
US7089338B1 (en) * | 2002-07-17 | 2006-08-08 | Cypress Semiconductor Corp. | Method and apparatus for interrupt signaling in a communication network |
JP5257659B2 (ja) * | 2008-06-27 | 2013-08-07 | 国立大学法人電気通信大学 | 映像データ送出方法、並びに、その方法を実行する映像データ送出装置、その方法をコンピュータに実行させるための映像データ送出プログラム、およびそのプログラムが書き込まれた記録媒体 |
KR101033177B1 (ko) * | 2008-10-02 | 2011-05-11 | (주)인터넷커머스코리아 | 업무 프로그램의 자동 테스트 과정 동안 usb 장치의 동작을 가상적으로 대행하는 에뮬레이터 및 그 동작 방법 |
US9009792B1 (en) * | 2010-06-23 | 2015-04-14 | Marvell International Ltd. | Method and apparatus for automatically configuring a secure wireless connection |
JP6150137B2 (ja) * | 2014-10-17 | 2017-06-21 | 株式会社網屋 | 通信装置及び異機種間通信制御方法及び運用管理の専門性の排除方法 |
CN108270883B (zh) * | 2018-02-02 | 2019-11-15 | 深圳曼顿科技有限公司 | 可自动分配设备通讯地址码的方法、断路器及存储介质 |
CN108521474B (zh) * | 2018-03-30 | 2021-05-25 | 青岛海尔空调电子有限公司 | 多联式控制系统的地址竞争方法 |
US10635437B1 (en) * | 2019-04-25 | 2020-04-28 | Capital One Services, Llc | Techniques to deploy an application as a cloud computing service |
KR20220039120A (ko) * | 2020-09-21 | 2022-03-29 | 주식회사 케이티 | Usb 테더링된 단말을 인증하는 방법, 이를 제공하는 네트워크 시스템 |
US11301408B1 (en) * | 2021-06-07 | 2022-04-12 | Liquid-Markets-Holdings, Incorporated | Asymmetric read / write architecture for enhanced throughput and reduced latency |
CN113395721B (zh) * | 2021-06-07 | 2023-10-31 | 阳光电源股份有限公司 | 无线组网方法、节点及计算机可读存储介质 |
CN113890864B (zh) * | 2021-10-19 | 2024-06-14 | 京东科技信息技术有限公司 | 数据包处理方法、装置、电子设备和存储介质 |
CN114401250A (zh) * | 2021-12-27 | 2022-04-26 | 中国电信股份有限公司 | 一种地址分配的方法及装置 |
CN115174526B (zh) * | 2022-06-29 | 2024-07-30 | 京东方科技集团股份有限公司 | 设备间的网络适配方法及装置、存储介质、电子设备 |
-
2022
- 2022-06-29 CN CN202210762603.XA patent/CN115174526B/zh active Active
-
2023
- 2023-05-31 WO PCT/CN2023/097366 patent/WO2024001652A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266490A (zh) * | 2008-03-31 | 2008-09-17 | 清华大学 | 无mac地址的总线家庭有线控制网络的即插即用方法 |
CN109062145A (zh) * | 2018-08-13 | 2018-12-21 | 大古智能科技(上海)有限公司 | 基于wifi通信的数控机床运动控制卡 |
Also Published As
Publication number | Publication date |
---|---|
WO2024001652A1 (zh) | 2024-01-04 |
CN115174526A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190318545A1 (en) | Command displaying method and command displaying device | |
CN105518578B (zh) | 提供通知的方法及其电子设备 | |
US20160044269A1 (en) | Electronic device and method for controlling transmission in electronic device | |
CN112380981B (zh) | 人脸关键点的检测方法、装置、存储介质及电子设备 | |
US20200126315A1 (en) | Method and apparatus for generating information | |
US11734954B2 (en) | Face recognition method, device and electronic equipment, and computer non-volatile readable storage medium | |
CN110235132A (zh) | 基于情境感知来提供连续验证的移动装置 | |
KR20150086007A (ko) | 프레임률 제어 방법 및 그 전자 장치 | |
EP3444811A1 (en) | Speech recognition method and device | |
CN111160157B (zh) | 基于dwg图纸的文本提取方法及相关产品 | |
CN109933269A (zh) | 小程序推荐的方法、设备和计算机存储介质 | |
CN112434278B (zh) | 一种裸机认证方法、装置、设备及介质 | |
CN115174526B (zh) | 设备间的网络适配方法及装置、存储介质、电子设备 | |
KR20150137504A (ko) | 영상처리 방법 및 이를 구현한 전자 장치 | |
CN111783674A (zh) | 一种基于ar眼镜的人脸识别方法和系统 | |
WO2024131630A1 (zh) | 车牌识别方法、装置、电子设备及存储介质 | |
CN112784102B (zh) | 视频检索方法、装置和电子设备 | |
CN111709851B (zh) | 基于rfid及面部识别的酒店安全入住的方法、装置及设备 | |
CN110704650B (zh) | Ota图片标签的识别方法、电子设备和介质 | |
CN111602412B (zh) | 设备选择装置、数据集选择装置、设备选择方法和存储介质 | |
KR20150045721A (ko) | 컨텐츠 제어 방법 및 그 전자 장치 | |
CN113225234B (zh) | 资产探测方法、装置、终端设备以及计算机可读存储介质 | |
KR20150112247A (ko) | 썸네일 생성 방법 및 그 전자 장치 | |
CN108121580A (zh) | 应用程序通知服务的实现方法及装置 | |
US20150112992A1 (en) | Method for classifying contents and electronic device thereof |
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 |