有没有相关的算法可以提供?如何进行边缘检测,训练模型的具体算法是什么?如何进行识别模型训练?
注意:是要在餐盘中装有菜品的情况下对餐盘进行识别。(采纳后另有感谢)
rgb模型 试试 把每个像素值 设定一个区间
[y,x,z]=size(rgb);
bw=zeros(y,x);%%初始化噪声
for i=1:y
for j=1:x
if ((rgb(i,j,1)<=130)&&(rgb(i,j,1)>=0)&&((rgb(i,j,2)<=96)&&(rgb(i,j,2)>=0))&&((rgb(i,j,3)<=66)&&(rgb(i,j,3)>=0)))
bw(i,j)= 1; %%阈值自己试试,则等级可能越精确,但看情况而定。
end
end
end
待餐盘进入摄像头的捕捉区域后触发摄像头拍照进行餐盘或者菜品的识别,最终根据识别结果结账计费。不过会受背景颜色的影响。
收集餐盘样本,利用卷积神经网络训练一个餐盘位置检测模型;
利用摄像头装置对餐盘图像进行实时检测;
按关键帧对检测得到的餐盘位置信息进行判断;
判断餐盘置于稳定状态后将检测结果输出;
继续检测餐盘运动状态,判断餐盘是否移出摄像头范围,重置显示。
其中,根据所述收集餐盘样本,利用卷积神经网络训练餐盘位置检测模型,包括:
在实际餐厅中采集餐盘样本;
对餐盘样本进行数据增强,标注餐盘数据;
卷积神经网络为基础网络,利用得到的样本训练餐盘检测模型。
其中,根据所述利用摄像头进行实时检测,包括:
利用训练好的检测模型进行实时检测。
其中,根据所述按关键帧对检测得到的餐盘位置信息进行判断,包括:
由检测模型在关键帧位置获取餐盘的位置坐标信息;
对比前后两个关键帧中餐盘的位置信息判断餐盘的运动状态。
其中,根据所述判断餐盘置于稳定状态后将激活后续的餐盘或菜品识别模型,包括:
判断得到餐盘为稳定状态;
激活后续的餐盘或者菜品识别。
其中,根据所述继续检测餐盘运动状态,判断餐盘是否移出摄像头范围,重置显示,包括:
待餐盘或者菜品识别模型输出结果后再次触发餐盘位置检测模型;
按关键帧判断餐盘的位置坐标信息;
当不在获得餐盘的位置坐标信息后,确定餐盘移出摄像头范围,重置显示。
卷积层初步提取特征
池化层提取主要特征
全连接层将各部分特征汇总
产生分类器,进行预测识别
话说现在很多学校的食堂不就有这样的系统吗,无非是在每种盘子的底部加装一个射频芯片,只要菜别装错盘子就不会结算出错,
也可以加标签直接扫描标签进行识别
Yolo3可以胜任的
只要你喂了足够的数据
用ML.NET的深度学习-分类模型就可以很好的识别,只要有足够的数据就可以!
私信,可以先看一下数据是什么样子的。
给代码...