当我检测到我的 tflite 文件时,问题发生了。
我写的命令。
python detect.py --weights ./checkpoints/yolov4-tiny-tf.tflite --size 416 --model yolov4 --image D:\yolov4\training\tensorflow-yolov4-tflite-master\data\rice.jpg --framework tflite --tiny true
Run Code Online (Sandbox Code Playgroud)
以及错误的信息:
cv2.rectangle(image, c1, c2, bbox_color, bbox_thick)
cv2.error: OpenCV(4.5.2) :-1: error: (-5:Bad argument) in function 'rectangle'
> Overload resolution failed:
> - Can't parse 'pt1'. Sequence item with index 0 has a wrong type
> - Can't parse 'pt1'. Sequence item with index 0 has a wrong type
> - Can't parse 'rec'. Expected sequence length 4, got 2
> - Can't parse …Run Code Online (Sandbox Code Playgroud) 如何加载自定义 yolo v-7 模型。
这就是我知道如何加载 yolo v-5 模型的方法:
model = torch.hub.load('ultralytics/yolov5', 'custom', path='yolov5/runs/train/exp15/weights/last.pt', force_reload=True)
Run Code Online (Sandbox Code Playgroud)
我在网上看到视频,他们建议使用这个:
!python detect.py --weights runs/train/yolov7x-custom/weights/best.pt --conf 0.5 --img-size 640 --source final_test_v1.mp4
Run Code Online (Sandbox Code Playgroud)
但我希望它像普通模型一样加载,并给我它找到对象的边界框坐标。
这就是我在 yolo v-5 中的做法:
from models.experimental import attempt_load
yolov5_weight_file = r'weights/rider_helmet_number_medium.pt' # ... may need full path
model = attempt_load(yolov5_weight_file, map_location=device)
def object_detection(frame):
img = torch.from_numpy(frame)
img = img.permute(2, 0, 1).float().to(device) #convert to required shape based on index
img /= 255.0
if img.ndimension() == 3:
img = img.unsqueeze(0)
pred = model(img, augment=False)[0]
pred = …Run Code Online (Sandbox Code Playgroud) 我的图像如下所示:
我的目标是检测并识别该数字31197394。我已经对文本识别的深度神经网络进行了微调。如果以以下格式提供,它可以成功识别正确的号码:
剩下的唯一任务是检测相应的边界框。为此,我尝试了darknet。不幸的是,它无法识别任何东西。有人知道在此类图像上表现更好的网络吗?我知道,亚马逊识别能够解决这个任务。但我需要一个可以离线工作的解决方案。因此,我仍然对存在有效的预训练网络抱有很高的希望。非常感谢你的帮助!
我找不到 yolov4 损失函数的解释。