如何使用Python+OpenCV+Keras实现无口罩车辆驾驶员惩罚生成
测量精度和损耗然后,我们根据训练和测试数据集计算损失和准确性。可以看出,测试数据集的准确性比训练数据集的准确性低。此外,与测试数据集相比,测试数据集中发生的损失更多。
保存人脸检测模型并暴露于新数据接下来,我们将使用上述过程创建的模型存储在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)]
最新活动更多
-
即日-1.24立即参与>>> 【限时免费】安森美:Treo 平台带来出色的精密模拟
-
2月28日火热报名中>> 【免费试用】东集技术年终福利——免费试用活动
-
即日-3.21立即报名 >> 【深圳 IEAE】2025 消费新场景创新与实践论坛
-
4日10日立即报名>> OFweek 2025(第十四届)中国机器人产业大会
-
7.30-8.1火热报名中>> 全数会2025(第六届)机器人及智能工厂展
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论