一种房间状态识别方法与流程

文档序号:21085061发布日期:2020-06-12 16:50阅读:383来源:国知局
一种房间状态识别方法与流程

本发明涉及房间图像识别与处理技术领域,尤其涉及一种房间状态识别方法。



背景技术:

在房屋建造完成后,房屋勘验是关键环节之一,后续的相关事项的开展(验收、维修、销售、装修、估值等等),都需要参考房屋勘验的结果。

现场房屋勘验是目前普遍采用的方式,现场房屋勘验时,会对各房间进行现场勘验,人们通常会根据各房间的现场勘验结果对房屋进行评分或评估,评分或评估的内容包括但不限于:建造情况、房间问题、装修情况、装修问题。

由于房屋勘验的经验需要长期积累,绝大多数人对此知之甚少,缺乏足够的认知和经验,不得不寻求经验相对丰富的专业人士。由此产生了如下问题:

采用人工现场勘验的方式进行房屋勘验,主要依赖于勘验人员的实际经验,因此难以统一勘验标准,这导致人工现场勘验做出的评分或评估是否准确、可信,难以统一评价。

由于勘验人员的经验阅历存在差异,即便都是勘验经验丰富的人,由于掌握的经验不同,对同一个房屋的勘验,最终的勘验结果也可能是不同的。

在缺乏统一评价标准的情况下,房间信息的管理、房间问题的维护、房间历史情况的追溯都难以实现,不利于房屋验收、房屋管理的规范化,自动化。

现有技术中,可利用opencv从视频帧中识别指定的物体,并框出来,且可以保存截取到的物体图片,但是需要先训练相应的分类器,再使用训练好的分类器进行识别,核心思想是:调用opencv的api函数来实现房间状态识别(对房间状态的判定)。此方案的不足之处在于:通过opencv图像处理库调用算法实现图像的识别,进而完成房间状态识别,识别准确率有瓶颈,准确率较低。设1000张房间的图片需要进行房间状态识别,通过opencv图像处理库调用算法实现图像的识别,其识别准确率为67%左右,每秒处理图像数为1-2帧,较难实现商用价值。



技术实现要素:

有鉴于此,本发明实施例提供一种房间状态识别方法,基于语义分割和目标检测的结合,对房间图像进行自动的识别、分析,对墙面、地面、顶面的装修情况、存在的问题进行统一的评分或评估,降低了对使用者的要求,操作简单,处理速度快,标准统一,结果准确、可信,还具备识别结果的可视化,便于人工纠错。

为实现上述目的,根据本发明实施例的一个方面,提供了一种房间状态识别方法,包括:

获取待识别的房间图像;

将待识别的房间图像,输入语义分割网络,在房间图像中划分出房间的组成构件,得到第一识别图像;

所述组成构件至少包括:墙面、地面、顶面;

将待识别的房间图像,输入图像识别网络,在房间图像中识别出房间的问题区域,得到第二识别图像;

所述问题区域至少包括:污损区域、破损区域、缺损区域。

更进一步,所述房间图像来自于静态图片或视频片段,

所述房间图像为房间内部情况的图像,所述房间内部情况是指室内墙面、地面、顶面的情况,其中至少包括以下任意之一或部分或全部:

房间内部墙面情况,

房间内部地面情况,

房间内部顶面情况;

所述房间图像至少一张,亦可为多张,为多张时,全部图像完全覆盖该房间的墙面、地面、顶面;

所述房间图像拍摄角度相同或不同;

所述房间图像,图像中的墙面、地面或顶面部分或全部重复。

更进一步,污损区域指存在污渍的区域,

破损区域指存在破裂、损伤的区域,

缺损区域指存在结构缺失的区域;

在目标检测处理时,在房间图像中识别出房间的装修状态,所述装修状态默认分为:毛坯房、精装房。

更进一步,还包括:对第一识别图像和第二识别图像进行iou计算,输出组成构件与问题区域的对应关系。

更进一步,所述对应关系包括:

按照墙面、地面、顶面进行区域划分后对应的区域坐标及类别,

问题区域的坐标及中心点,所述坐标通常为左上点和右下点坐标值,

问题区域的中心点在墙面、地面或顶面的判断结果。

更进一步,还包括:组成构件与问题区域的对应关系的可视化,至少包括:

在组成构件区域形成第一预测边框,

在问题区域形成第二预测边框。

更进一步,还包括:人工纠错处理:选定第一预测边框或第二预测边框,标注其中显示错误的内容,形成人工纠错图像,传输人工纠错图像给客户端或云端。

更进一步,所述语义分割网络,以及图像识别网络,在输入待识别的房间图像前,依次进行如下处理:

训练处理,将训练图像输入语义分割网络或图像识别网络,通过多次的前向传播和反向传播,对所述待训练图像进行特征提取,最终形成预测模型;

测试处理,将测试图像输入完成训练处理的语义分割网络或图像识别网络,通过预测模型解析测试图像,最终形成预测结果,基于预测结果评估预测模型的准确率;

对符合准确率要求的预测模型,保存其训练后的参数及model文件,model文件中包含神经网络的结构以及训练中学习到的权重参数;

所述准确率不低于93%视为符合准确率要求;

对于语义分割网络,通过计算平均交并比miou计算准确率,

对于图像识别网络,通过计算平均准确率map计算准确率。

更进一步,训练处理时,训练集图像的选择,满足输入分辨率不低于1333*800;

训练集图像的选择,满足以下条件:

尽量不要有对于墙面、地面、顶面的遮挡物,

尽量避免图像中出现曝光、过暗、模糊、噪声的情况;

训练处理时,学习率默认为0.01,训练次数默认为60万次;

测试处理时,测试集图像的选择,其要求同训练集图像的选择。

更进一步,所述训练集图像、测试集图像,均通过标签工具对每张图像生成对应的识别标签,

标签文件中至少保存以下信息:

图像名称,标注框名称,标注框位置信息;

生成对应的识别标签时,两个以上的标注框仅沿竖直方向或水平方向直线分布,标注框之间无交叉,问题区域无分支或分叉。

上述发明中的一个实施例具有如下优点或有益效果:

本发明所述房间状态识别方法,基于语义分割和目标检测的结合,对房间图像进行自动的识别、分析,对墙面、地面、顶面的装修情况、存在的问题进行统一的评分或评估,降低了对使用者的要求,操作简单,处理速度快,标准统一,结果准确、可信,还具备识别结果的可视化,便于人工纠错。

本发明所述房间状态识别方法,设计新颖,将语义分割和目标检测结合,应用于房间状态识别,提高了识别准确率,提高了识别效率,每秒处理图像数可达到6-8帧,准确率可达到93.5%,适合于商业生产应用。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是本发明所述房间状态识别方法的实施例1的流程图;

图2是本发明所述房间状态识别方法的实施例2的流程图;

图3是本发明所述房间状态识别方法的实施例3的流程图;

图4是识别标签对应的标注框的示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

图1是根据本发明实施例的房间状态识别方法的一个实施例的流程图,如图1所示,本发明实施例提供了一种房间状态识别方法,包括:

获取待识别的房间图像;

所述房间图像来自于静态图片或视频片段,例如:照相机或摄像头拍摄的静态图片,又例如:摄像头拍摄的视频片段,

所述摄像头可以是手机摄像头,可以是安装于云台上的摄像头;

作为可选择的实施方案之一,所述房间图像为房间内部情况的图像,所述房间内部情况是指室内墙面、地面、顶面的情况,其中至少包括以下任意之一或部分或全部:

房间内部墙面情况,所述墙面包括:承重墙墙面,隔断墙墙面,

房间内部地面情况,

房间内部顶面情况,所述顶面即天花板,

需要说明的是,所述房间图像非房屋外立面的情况;

作为可选择的实施方案之一,所述房间图像至少一张,亦可为多张,为多张时,以完全覆盖该房间的墙面、地面、顶面为宜,即:所述房间图像为多张时,全部图像完全覆盖该房间的墙面、地面、顶面;

作为可选择的实施方案之一,所述房间图像拍摄角度相同或不同,例如:从同一角度拍摄的不同放大比例的房间图像,又例如:从不同角度拍摄的相同放大比例的房间图像,

拍摄角度相同或不同时,放大比例可按需选择,放大比例可通过变焦功能调节,所述变焦尤指光学变焦;

作为可选择的实施方案之一,所述房间图像,图像中的墙面、地面或顶面部分或全部重复,例如:某一段墙面a,至少包括在一张房间图像中,亦可出现在多张房间图像中,当出现在多张房间图像中时,房间图像可以仅包括一段墙面a的局部,房间图像亦可包括一段墙面a的全部;

语义分割处理:将待识别的房间图像,输入语义分割网络,在房间图像中划分出房间的组成构件,得到第一识别图像;

所述组成构件至少包括:墙面、地面、顶面;

作为可选择的实施方案之一,所述组成构件还可以进一步包括:梁体、柱体、楼梯,护栏、门体、窗体、台阶;

目标检测处理:将待识别的房间图像,输入图像识别网络,在房间图像中识别出房间的问题区域,得到第二识别图像;

所述问题区域至少包括:污损区域、破损区域、缺损区域;

污损区域指存在污渍的区域,例如笔的划痕造成的污渍,鞋印、球印等造成的污渍,其他物质(胶体,发霉等等)粘附于墙面或地面或顶面造成的污渍,水渍等造成的污渍,

破损区域指存在破裂、损伤的区域,例如开裂,墙皮脱落,墙皮鼓泡,瓷砖碎裂,

缺损区域指存在结构缺失的区域,例如未封闭的墙洞,吊顶缺角或缺一块(缺一块铝扣板、缺一块集成吊顶模块等等)。

更进一步,在目标检测处理时,在房间图像中识别出房间的装修状态,所述装修状态默认分为:毛坯房、精装房。

需要说明的是:问题区域不区分房间的装修状态,即:直接根据识别出的问题区域判断墙面、地面、顶面的好与坏,与房间的装修状态无关。另外,不同区域下的不同问题在训练、预测阶段都是通过同一套策略去实现,不需要区别对待。

在上述技术方案的基础上,如图2所示,还包括:对第一识别图像和第二识别图像进行iou计算(交并比计算,intersectionoverunion),输出组成构件与问题区域的对应关系。

作为可选的实施方案之一,所述对应关系包括:

按照墙面、地面、顶面进行区域划分后对应的区域坐标及类别,类别是指将区域标识为墙面、地面或顶面,坐标是指通过若干坐标值标识出区域的范围及轮廓,可采用矩形进行区域划分,

问题区域的坐标及中心点,所述坐标通常为左上点和右下点坐标值,

问题区域的中心点在墙面、地面或顶面的判断结果。

通过iou计算输出组成构件与问题区域的对应关系,自动的提示各个组成构件是否存在问题区域,存在何种问题区域,存在多少问题区域,统一了评估方式,统一了评分标准,可实现对墙面、地面、顶面的装修情况、存在的问题进行统一的评分或评估,便于房屋关联的标准化、自动化。

在上述技术方案的基础上,如图3所示,还包括:组成构件与问题区域的对应关系的可视化,至少包括:

在组成构件区域形成第一预测边框,

在问题区域形成第二预测边框。

通过可视化处理,便于直观、快速的查看组成构件与问题区域的对应关系,提升用户体验,简化对问题区域的管理、维护。

在上述技术方案的基础上,如图3所示,还包括:人工纠错处理:选定第一预测边框或第二预测边框,标注其中显示错误的内容,形成人工纠错图像,传输人工纠错图像给客户端或云端。

通过人工纠错处理,进一步确保房间状态识别结果的准确、可信,结合可视化处理,降低了人工纠错的繁琐程度,提升了人工纠错的效率。

在上述技术方案的基础上,所述语义分割网络,以及图像识别网络,在输入待识别的房间图像前,依次进行如下处理:

训练处理,将训练图像输入语义分割网络或图像识别网络,通过多次的前向传播和反向传播,对所述待训练图像进行特征提取,最终形成预测模型;

测试处理,将测试图像输入完成训练处理的语义分割网络或图像识别网络,通过预测模型解析测试图像,最终形成预测结果,基于预测结果评估预测模型的准确率;

对符合准确率要求的预测模型,保存其训练后的参数及model文件,model文件中包含神经网络的结构以及训练中学习到的权重参数。

作为可选的实施方案之一,所述准确率不低于93%视为符合准确率要求。

作为可选的实施方案之一,对于语义分割网络,通过计算平均交并比miou计算准确率,

对于图像识别网络,通过计算平均准确率map计算准确率。

作为可选的实施方案之一,训练处理时,训练集图像的选择,应保证输入的训练集图像分辨率(ppi,像素每英寸)足够大、足够清晰,因为有些比较小的问题(比如小破洞、裂痕)是需要图像足够清晰才能被识别出来的。例如:针对房间问题识别,输入分辨率(ppi)不低于1333*800,分辨率单位可以为dpi,

作为可选的实施方案之一,训练处理时,训练集图像的选择,应保证输入的训练集图像中尽量不要有对于墙面、地面、顶面的遮挡物,尽量避免图像中出现曝光、过暗、模糊、噪声的情况。

作为可选的实施方案之一,训练处理时,学习率默认为0.01,训练次数默认为60万次,由于房间问题类型比较复杂比较多,因此,初始学习率要足够大,训练次数也要足够多,通过warmup+cosine(热身阶段+余弦退火)学习率调整策略来保证学习的足够好达到全局最优解。

作为可选的实施方案之一,测试处理时,测试集图像的选择,其要求同训练集图像的选择。

作为可选的实施方案之一,所述训练集图像、测试集图像,均通过标签工具对每张图像生成对应的识别标签,所述标签工具可为labelimg工具,所述识别标签为xml格式或json格式的标签文件,标签文件中至少保存以下信息:

图像名称,标注框名称,标注框位置信息。其中,标注框名称对应于问题区域的类型,例如:某图像中包括裂痕,则标注框名称为裂痕。

例如:训练处理时,用于输入语义分割网络的训练图像设为分割数据集,其中的每张训练图像,对应一个json格式的标签文件,

训练处理时,用于输入图像识别网络的训练图像设为识别数据集,其中的每张训练图像,对应一个xml格式的标签文件。

作为可选的实施方案之一,生成对应的识别标签时,两个以上的标注框仅沿竖直方向或水平方向直线分布,标注框之间无交叉,问题区域无分支或分叉。参见图4所示,该示例为标注框沿竖直方向直线分布,标注框之间无交叉,问题区域无分支或分叉。问题区域如果包括分支或分叉,则不利于泛化,因此两个以上的标注框仅沿竖直方向或水平方向直线分布。图4虽然仅示出了裂痕的标注框示意,其他问题区域诸如受潮气泡、脏、乱画等等,线状的可参考裂痕的标注框,非线状的直接标注框圈住即可。

作为可选的实施方案之一,训练处理时,对标签进行平滑处理label_smoothing,具体包括:多分类标签转换为one-hot向量,默认one_hot之后每个类别的权重都是1,修改one_hot后每个类别的权重,软化one-hot类型标签,使得计算损失函数时能有效抑制过拟合现象。

作为可选的实施方案之一,训练处理时,训练图像按一定比例分为训练集和验证集,即按一定比例分为训练集图像、测试集图像,

作为可选的实施方案之一,训练集占80%,验证集占20%。

更进一步,训练图像的总数为50-1000张,

所述训练图像分为:毛坯房训练图像,精装修训练图像,其中,各不同组成构件的不同问题区域的训练图像最少为50张。

更进一步,为了提高泛化能力,且为了解决数据不均衡以及数据过少的问题,在训练处理时,进一步执行mixup插值操作,将两张图片按一定比例融合起来作为输入,具体包括:

将图像分为包含问题区域的图像集作为第一图像集,和未包含问题区域的图像集作为第二图像集,取第一图像集和第二图像集中任意一张图像,并通过mixup插值操作,将两张图片按一定比例融合起来作为输入,通过mixup方式生成更多的数据样本(图像样本),与原数据集一起进行训练处理。

更进一步,在训练处理时,进一步执行测试时增强tta操作(testtimeaugmentation),将样本图像进行多个不同的变换获得多个不同的预测结果,再将预测结果进行平均,提高精度,例如:利用3*tta,包括:图片随机剪裁randomcrop,图片随机剪裁及随机水平翻转randomcrop+horizontalflip和图片随机剪裁及随机垂直翻转randomcrop+verticalflip。

在上述技术方案的基础上,所述语义分割网络,为以下任意之一:deeplabv3、mask-rcnn、unet;

所述图像识别网络,为以下任意之一:fasterrcnn、cascadercnn。

更进一步,在使用cascadercnn图像识别网络时,通过基于距离的聚类算法k-means聚类算法,获得至少9个不同大小的锚框anchorbox,将生成的锚框anchorbox写入配置文件供训练使用。

在上述技术方案的基础上,训练处理时,训练图像经过指定次数的迭代后,输出训练集及验证集的损失函数loss及准确率acc,在训练结束时绘制loss/acc曲线,并存储起来,

其中:

语义分割网络中,损失函数loss为:交叉熵损失函数,

图像识别网络中,损失函数loss为:交叉熵损失函数、smoothl1损失函数、sum_ohem损失函数。

本发明所述样本中包含较多难以学习的样本,故通过sum_ohem损失函数解决样本不均衡的问题。

以下为一具体实施示例。

输入为jpg格式的房间图像,

输出格式如下:

[{"image_id":"public-20190906-fvpempizk1hj0olgnl81fivoeynz",

"tag":"wall_tag",

"status":1,

"error":[]}]

其中:

image_id:表示图像的唯一id号;

tag:表示输出的为哪种房间的组成构件,墙面为wall_tag、地面为floor_tag、顶面为top_tag;

status:经过语义分割模型和图像识别模型后,进行iou计算输出的结果,1表示“完好没有问题”,0表示“有问题”;

error:输出错误信息。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1