如何使用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)]
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【在线会议】多物理场仿真助跑新能源汽车
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论