如何使用Python+OpenCV+Keras实现无口罩车辆驾驶员惩罚生成

磐创AI
关注

测量精度和损耗然后,我们根据训练和测试数据集计算损失和准确性。可以看出,测试数据集的准确性比训练数据集的准确性低。此外,与测试数据集相比,测试数据集中发生的损失更多。

保存人脸检测模型并暴露于新数据接下来,我们将使用上述过程创建的模型存储在pickle文件中。稍后,我们将利用该模型来确定给定图像的驾驶员是否戴了口罩。基本上,模型的输出将具有两个值,分别代表戴口罩和未戴口罩的概率。在这两个值中,大于0.5的概率值将被视为结果。数组输出内部的第一个值表示驾驶员戴口罩的概率,第二个值表示驾驶员不戴口罩的概率。model.save('saved_model/my_model')
INFO:tensorflow:Assets written to: saved_model/my_modelssets
from keras.models import load_model
new_model = load_model('saved_model/my_model')
import cv2,os
img_path = 'test/755.jpg'
img_size=100
data=[]
img=cv2.imread(img_path)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
resized=cv2.resize(gray,(img_size,img_size))
data.append(resized)
data=np.array(data)/255.0
data=np.reshape(data,(data.shape[0],img_size,img_size,1))
output = new_model.predict(data)
print(output)
[[0.00447709 0.995523  ]]
车牌号码图像预处理我们在车牌上应用图像处理技术以减小图像尺寸,并通过在车牌周围绘制一个矩形框来跟踪车牌号码。for f1 in files:
   img = cv2.imread(f1)
   img = cv2.resize(img, (IMAGE_SIZE,IMAGE_SIZE))
   X.append(np.array(img))
   
from lxml import etree
def resizeannotation(f):
   tree = etree.parse(f)
   for dim in tree.xpath("size"):
       width = int(dim.xpath("width")[0].text)
       height = int(dim.xpath("height")[0].text)
   for dim in tree.xpath("object/bndbox"):
       xmin = int(dim.xpath("xmin")[0].text)/(width/IMAGE_SIZE)
       ymin = int(dim.xpath("ymin")[0].text)/(height/IMAGE_SIZE)
       xmax = int(dim.xpath("xmax")[0].text)/(width/IMAGE_SIZE)
       ymax = int(dim.xpath("ymax")[0].text)/(height/IMAGE_SIZE)
   return [int(xmax), int(ymax), int(xmin), int(ymin)]

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存