发明内容
本发明的第一目的在于提供一种人脸图片文件的存储方法,通过文件预分配来达到避免产生文件碎片的目的。本发明的第二目的在于提供一种人脸图片文件的存储方法,通过在数据文件中预留文件索引来达到提高人脸图片文件查询速度的目的。本发明的第三目的在于提供一种人脸图片文件的存储方法,通过创建两个索引文件来达到避免因索引文件校验错误而导致无法对文件进行检索和写入的目的。
为解决上述技术问题,本发明采用技术方案的基本构思是:
一种人脸图片文件的存储方法,包括文件预分配过程和文件存储过程,在文件预分配过程中创建多个数据文件,数据文件包括图片数据头、图片区和图片索引区,图片数据头中存储通道编号,图片区用于存储人脸图片文件,图片索引区用于存储人脸图片文件的存储地址和人脸图片文件中包含的人脸特征;
在文件存储过程中,获取需要存储的人脸图片文件,按照预设规则选定数据文件,将接收到的人脸图片文件存入选定的数据文件中,对选定的数据文件中存储的内容进行更新。
优选的,在获取到需要存储的人脸图片文件后,获取所述人脸图片文件的大小和所述人脸图片文件中包含的人脸特征,根据需要存储的人脸图片文件的大小在数据文件的存储区中创建子区域,将所述人脸图片文件和获取的人脸特征存入子区域中,在图片索引区存入获取的人脸特征和所述人脸图片文件的存储地址。
优选的,图片数据头存储数据文件的大小,在将人脸图片文件存入数据文件后,更新图片数据头中存储的数据文件的大小信息。
优选的,在选定数据文件后,判断当前选定的数据文件中是否存储人脸图片文件,若否,在将人脸图片文件存入数据文件后,向图片数据头写入当前选定的数据文件的开始存储时间。
优选的,在将人脸图片文件存入数据文件后,判断当前选定的数据文件的大小是否超过预设最大值,若是,向图片数据头写入当前选定的数据文件的结束存储时间。
优选的,所述按照预设规则选定数据文件包括,获取选定的数据文件的大小,若选定的数据文件的大小未超过预设最大值,将人脸图片文件存入选定的数据文件中;若选定的数据文件的大小超过预设最大值,重新选定数据文件。
优选的,所述按照预设规则选定数据文件包括,若所有的数据文件的大小均超过预设最大值,选择文件编号最小的数据文件,清空所述文件编号最小的数据文件中存储的内容,向所述数据文件中存入人脸图片文件,更新所述数据文件的图片数据头中保存的开始存储时间。
优选的,在文件预分配过程中,在创建数据文件后创建两个具有相同内容的索引文件,索引文件中存储各个数据文件的信息,在将人脸图片文件存入数据文件后,更新索引文件中存储的数据文件信息。
本发明的另一目的在于提供一种采用如上所述存储方法的人脸图片文件存储装置,包括:
获取单元,用于获取需要存储的人脸图片文件;
处理单元,用于获取人脸图片文件中包含的人脸特征,与获取单元连接;
存储单元,用于存储人脸图片文件和人脸特征,与获取单元和解析单元连接。
优选的,包括输入单元,用于设定需要创建的数据文件的数量和数据文件大小的预设最大值,输入单元与处理单元连接。
采用上述技术方案后,本发明与现有技术相比具有以下有益效果:
1、本发明通过创预先建数据文件,将人脸图片文件存入数据文件中,在需要对人脸图片文件进行更新时,不需要删除数据文件,也不需要创建新的数据文件,不需要重新分配存储空间,只是修改数据文件的内容,避免文件碎片化。
2、本发明通过对数据文件进行分区,且存储的图片会附带图片相关智能信息,为提高查找效率,数据文件的排布上并不只单纯包含图片数据,而是会预留相应的索引部分,便于获取图片信息,加速查找过程。
3、本发明通过在文件预分配过程中创建两个具有相同内容的索引文件,当文件检索和写入时,如某一个索引文件校验出错,则使用另一个作为备份的索引文件,避免因索引文件校验错误而导致无法对文件进行检索和写入。
下面结合附图对本发明的具体实施方式作进一步详细的描述。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对实施例中的技术方案进行清楚、完整地描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
在本发明的描述中,需要说明的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如图1所示,本发明介绍了一种人脸图片文件的存储方法,包括:
SD卡初始化,在SD卡初始化过程中预先创建数据文件,数据文件用于存储人脸图片;
文件功能及格式,数据文件中不仅只包含图片数据,同时还具有图片索引;
图片文件写入及循环覆盖,在将图片写入数据文件的同时还将人脸信息保存到数据文件;
图片文件查询,根据人脸属性条件从数据文件的图片索引中找出图片文件。
本发明通过在SD卡初始化过程中创建数据文件,在图片文件写入时将图片文件存入数据文件中,不需要创建新的数据文件,不需要在SD卡上重新分配存储空间,只是修改数据文件的内容,避免文件碎片化。在数据文件中预留图片索引部分,便于获取图片信息,提高查找图片的速率。
实施例一
本实施例介绍了一种人脸图片文件的存储方法,所述存储方法包括SD卡初始化过程,通过对SD卡初始化来提高对SD卡存储空间的利用率,避免在SD卡中存储不需要的文件。
SD卡初始化过程包括SD卡格式化并创建分区、以及文件预分配。
首先对SD卡进行格式化,并根据SD卡容量大小对SD卡进行分区,SD卡容量小于2T,则分为一个分区,否则根据实际情况分成多个分区。
在格式化完成的SD卡上预先创建两个索引文件,一个标识文件,以及多个固定大小的数据文件。
如果一台门禁设备上接有多个SD卡,则对每SD卡都按照上述的两个步骤进行初始化。
本实施例中首先对SD卡进行格式化,删除SD卡中的内容,避免在同一个SD卡中同时存储图片文件和其它不必要的文件,保证SD卡中的所有存储空间都用来存储图片文件,提高对SD卡存储空间的利用率,避免在SD卡中存储不需要的文件。同时本发明通过对SD卡进行分区,便于对SD卡中存储的图片文件进行管理。
实施例二
如图2所示,本实施例介绍了一种人脸图片文件的存储方法,说明了在文件预分配过程中创建的多种不同文件的功能及格式,通过在数据文件中预留相应的图片索引部分,便于获取图片信息,提高图片的查找效率。
通过文件预分配,SD卡包含索引文件、标识文件及数据文件三种类型文件。其中两个索引文件的内容相同,其作用是当文件检索和写入时,如果其中一个索引文件校验出错,则使用另一个作为备份的索引文件。避免因索引文件校验错误而导致无法对文件进行检索和写入。
索引文件中记录各个数据文件的信息,包括文件编号、通道编号、开始时间、结束时间、数据位置、数据大小、索引位置、文件类型、文件状态等,便于数据查询和循环覆盖的管理。
标识文件主要用于判断当前SD卡是否已经成功初始化,如果标识文件不存在或者数据异常,则提示用户重新格式化SD卡。
本发明通过创预先建数据文件,将人脸图片文件存入数据文件中,在需要对人脸图片文件进行更新时,不需要删除数据文件,也不需要创建新的数据文件,不需要重新分配存储空间,只是修改数据文件的内容,避免文件碎片化。
如图2所示,数据文件划分为图片数据头、图片、图片索引三大部分。图片数据头包含文件编号、通道编号、开始时间、结束时间、数据位置、数据大小、索引位置、文件类型、文件状态等信息。
图片部分包含图片头、图片数据、智能信息。图片头包含时间、数据长度、图片宽高、图片编码格式、关联录像信息;智能信息为描述人脸图片的属性的信息,包含姓名、性别、年龄、证件、地址、体温、是否戴口罩、是否戴帽子,是否戴眼镜等,实际存储格式以文本字符串的形式存储。
图片索引位于数据文件的末尾,按统一大小分配空间,这样安排有助于更快的读取然后展开查找。图片索引包含文件总个数、位置信息、智能信息。智能信息同样是包含描述人脸图片的属性,但此处智能信息按结构体的方式存储,存储的属性只包含部分人脸的属性(如性别,年龄,是否戴口罩等),内容都以数字形式编码后存储(如性别属性,以1表示男性,以0表示女性)。这样的存储方式相较于字符串形式存储,会便于查找符合要求的人脸图片,因为数字比较相较于字符串比对会更节省资源,同时也无需到相应的地址去读取文件信息,减少了磁盘的来回寻道,提高查询效率。
本发明通过对数据文件进行分区,且存储的图片会附带图片相关智能信息,为提高查找效率,数据文件的排布上并不只单纯包含图片数据,而是会预留相应的索引部分,便于获取图片信息,加速查找过程。
实施例三
如图3所示,本实施例介绍了一种人脸图片文件的存储方法,所述存储方法具有图片文件写入及循环覆盖过程,包括链表创建、启动图片存储、更新索引文件、图片写入、文件切换,通过在将图片写入数据文件中的同时还将人脸信息保存到数据文件,便于根据人脸属性查找人脸。
人脸图片数据按照采集通道进行存储及覆盖,在门禁产品中只包含一个通道。每个通道的文件个数不固定,文件个数根据实际需求动态分配,通过文件创建ID进行数据的循环覆盖。
在链表创建过程中,系统初始化时,根据SD卡中数据文件的类型,创建一个空链表和N个数据链表,N为设备通道数。空链表用于存储空数据文件的信息,包括文件编号、文件类型、使用状况等。数据链表按通道存储图片的数据文件的信息(如文件编号、文件类型、使用状况等)。
在启动图片存储过程中,判断是否存在空数据文件,如果存在空数据文件,则获取一个空数据文件,并将其从空链表中删除,添加至图片的来源通道的相应链表。如果不存在空数据文件,则查找并获取文件编号最小的数据文件,将其从对应的通道链表中删除,再添加至图片的来源通道的相应链表。得到数据文件后,统一清除文件中的数据。在更新索引文件过程中,数据文件第一次存储时,要将数据文件的开始时间、文件编号等信息写入索引文件及数据文件的图片数据头中。
在图片写入过程中,将图片写入对应的数据文件的图片数据部分,并将人脸信息保存到数据文件的图片索引部分。
在文件切换过程中,当文件写满时,把文件结束时间、文件数据大小、图片索引等信息写入数据文件的图片数据头中,同时更新索引文件信息。执行启动图片存储过程,继续文件的存储。
本发明通过在没有空数据文件时获取文件编号最小的数据文件,文件编号最小的数据文件标识该数据文件的存储时间最早,重要性相对较低,因此将新的需要存储的图片文件存入文件编号最小的数据文件,可以保证SD卡中存储的图片文件始终是最近一段时间获取的图片文件。
实施例四
如图4所示,本实施例介绍了一种图片文件查询方法。在对图片文件进行查询时,首先根据通道和时间条件,查询出满足条件的所有图片数据文件。然后循环读取数据文件的图片索引部分,找出满足人脸属性条件的所有图片文件,并读取图片信息。最后将图片和其对应的属性信息上传。
本发明通过在存储图片时附带图片相关智能信息,并且在数据文件的排布上不只单纯包含图片数据,会预留相应的索引部分,便于获取图片信息,加速查找过程,提高图片的查找效率。
实施例五
本发明实施例介绍了一种采用如上所述存储方法的人脸图片文件存储装置,包括:获取单元,用于获取需要存储的人脸图片文件;处理单元,用于获取人脸图片文件中包含的人脸特征,与获取单元连接;存储单元,用于存储人脸图片文件和人脸特征,与获取单元和解析单元连接。
存储装置还包括输入单元,用于设定需要创建的数据文件的数量和数据文件大小的预设最大值,输入单元与处理单元连接。
在使用人脸图片文件存储装置时,首先进行初始化,将存储单元进行格式化。然后在存储单元中创建两个索引文件、一个标识文件和多个固定大小的数据文件。用户通过输入单元输入需要创建的数据文件的数量和数据文件大小的预设最大值。初始化完毕后,如果标识文件存在且标识文件中的数据正常,说明初始化成功。
数据文件划分为图片数据头、图片、图片索引三大部分。图片数据头包含文件编号、通道编号、开始时间、结束时间、数据位置、数据大小、索引位置、文件类型、文件状态等信息。
图片部分包含图片头、图片数据、智能信息。图片头包含时间、数据长度、图片宽高、图片编码格式、关联录像信息;智能信息为描述人脸图片的属性的信息,包含姓名、性别、年龄、证件、地址、体温、是否戴口罩、是否戴帽子,是否戴眼镜等,实际存储格式以文本字符串的形式存储。
图片索引位于数据文件的末尾,按统一大小分配空间,这样安排有助于更快的读取然后展开查找。图片索引包含文件总个数、位置信息、智能信息。智能信息同样是包含描述人脸图片的属性,但此处智能信息按结构体的方式存储,存储的属性只包含部分人脸的属性(如性别,年龄,是否戴口罩等),内容都以数字形式编码后存储(如性别属性,以1表示男性,以0表示女性)。这样的存储方式相较于字符串形式存储,会便于查找符合要求的人脸图片,因为数字比较相较于字符串比对会更节省资源,同时也无需到相应的地址去读取文件信息,减少了磁盘的来回寻道,提高查询效率。
本发明通过创建数据文件,将人脸图片文件存入数据文件中,在需要对人脸图片文件进行更新时,不需要删除数据文件,防止文件碎片化。用户可以通过索引文件快速查询到与人脸图片文件的查询条件匹配的数据文件,同时在数据文件的索引区中存储人脸图片文件的存储地址和人脸特征,方便用户根据人脸特征来快速查询人脸图片,提高人脸图片文件的查询效率。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专利的技术人员在不脱离本发明技术方案范围内,当可利用上述提示的技术内容作出些许更动或修饰为等同变化的等效实施例,上述实施例中的实施方案也可以进一步组合或者替换,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明方案的范围内。