标签: object-detection

YOLO 和调整自定义数据集的锚框数量

我正在致力于实现 YOLO v2 和 3,以在自定义数据集上进行对象检测。虽然 YOLO v2 和 3 使用 5 个左右的锚框,但我通常每个图像可能有 50-100 次检测。我的感觉是,如果只有 5 个锚框,那么每个图像最多有 5 个检测,对吧?所以我试图了解是否需要调整我的数据集的锚框数量。

我的问题是,锚框的数量是否需要大于任何训练图像中边界框的最大数量?这样,我就永远不会遇到没有相应锚框的检测。这是改编 YOLO 的正确思考方式吗?

如果我的直觉是正确的,那么我需要使用 k 均值来对地面实况图像中的边界框进行聚类并设置锚框坐标。然后我将使用本博客文章中指定的常用回归方法。

感谢任何人都可以提供的帮助。

object-detection conv-neural-network keras tensorflow yolo

1
推荐指数
1
解决办法
6732
查看次数

这些是使用 model_main.py 进行 tensorflow 对象检测评估的预期结果吗?

在 8 个类的自定义数据集上运行 TensorFlow 对象检测 API 训练和评估,关于使用 model_main.py 运行此任务的结果,我有两个问题

  1. 总损失在 10k 步后开始上升(相对)......它在 8000 步后低于 1,但开始从 10k 步缓慢上升到 80k 步并以 1.4 损失结束......为什么会发生这种情况?

  2. 关于评价结果,为什么只有IoU=0.50的精度为0.966,其余都在0.5以下,如下图:

Accumulating evaluation results...
DONE (t=0.07s).
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.471
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.966
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.438
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average …
Run Code Online (Sandbox Code Playgroud)

evaluation object-detection tensorflow

1
推荐指数
1
解决办法
1265
查看次数

解决:AttributeError:模块“tensorflow”没有属性“app”

当我通过使用代码在 cmd 中使用代码时出现错误:

python generate_tfrecord.py --csv_input=images\train_labels.csv --image_dir=images\train --output_path=train.record""
Usage:
  # From tensorflow/models/
  # Create train data:
  python generate_tfrecord.py --csv_input=data/train_labels.csv  --output_path=train.record

  # Create test data:
  python generate_tfrecord.py --csv_input=data/test_labels.csv  --output_path=test.record
"""
from __future__ import division
from __future__ import print_function
from __future__ import absolute_import

import os
import io
import pandas as pd
import tensorflow as tf
from PIL import Image
from object_detection.utils import dataset_util
from collections import namedtuple, OrderedDict
flags = tf.compat.v1.flags
flags.DEFINE_string('csv_input', '', 'Path to the CSV input')
flags.DEFINE_string('output_path', '', 'Path to …
Run Code Online (Sandbox Code Playgroud)

object-detection python-3.x tensorflow

1
推荐指数
1
解决办法
6675
查看次数

/bin/bash: ./darknet: 权限被拒绝

我已经使用Roboflow 的教程创建了一个对象检测模型,并拥有所有保存的权重。我遇到的一个问题是将其部署在谷歌合作实验室中。我更改了一些代码,但它似乎不起作用。简而言之,模型已经训练完毕。

如何在另一个 Google 合作实验室中使用该模型?我已经通过直接下载和一些绘图功能将整个 darknet 文件夹下载到环境中,然后运行:

进而

!./darknet detect cfg/custom-yolov4-detector.cfg backup/custom-yolov4-detector_last.weights {img} #-dont-show
Run Code Online (Sandbox Code Playgroud)

只为得到:

/bin/bash: ./darknet: 权限被拒绝

有什么建议么?

python linux object-detection roboflow

1
推荐指数
1
解决办法
1万
查看次数

YOLOv4 迁移学习/微调

我使用原始数据集和自定义 yolov4 配置文件训练了 YOLOv4 模型,我将其称为我的“基本”YOLOv4 模型。

现在,我想使用我创建的这个基本模型,使用我手动增强的图像再次训练模型。我正在尝试重新训练我的模型以尝试增加 mAP 和 AP。因此,我想使用基本模型中的权重来训练带有手动增强图像的新 yolov4 模型。

我在YOLOv4 wiki 页面上看到,使用stopbackward = 1冻结层,因此这些层中的权重不会更新,但这会降低准确性。我还读到了另一条信息,其中./darknet partial cfg/yolov4.cfg yolov4.weights yolov4.conv.137 137 删除了前 137 层。这是否意味着前 137 层被冻结在网络中,或者这是否意味着您仅在 137 层上进行训练?

我的问题是:

  1. 哪些代码实际上会冻结层,以便我可以在我创建的基本 YOLOv4 模型上进行迁移学习?
  2. 您建议冻结哪些层,即网络中第一个 YOLO 层之前的第一个 137 层?

先感谢您!

object-detection deep-learning darknet yolo transfer-learning

1
推荐指数
1
解决办法
7334
查看次数

openCV中无法使用cv2.TrackerMOSSE_create()等方法[Python]

我正在尝试使用 Python 中的 OpenCV 执行简单的对象检测。我的问题是我无法使用 TrackerMOSSE_create 方法,就好像它不存在一样。

我只安装了 opencv-contrib-python 软件包pip install opencv-contrib-python,并且我知道它不能与 opencv-python 在一个虚拟环境中共存,所以我没有那个。

我正在研究 MAC 和 Python 3.8。下面有一个代码。

import cv2


print(cv2.__version__)

cap = cv2.VideoCapture(0)

tracker = cv2.TrackerMOSSE_create()


while True:

    timer = cv2.getTickCount()
    success, img = cap.read()

    fps = cv2.getTickFrequency() / (cv2.getTickCount() - timer)

    cv2.putText(img, str(int(fps)), (75, 50), cv2.FONT_ITALIC, 0.7, (0, 0, 255), 2)
    cv2.imshow("Tracking", img)

    if cv2.waitKey(1) & 0xff == ord('q'):
        break

Run Code Online (Sandbox Code Playgroud)

我的错误是:

Traceback (most recent call last):
  File "/Users/marcin94/PycharmProjects/tracker_objects/main.py", line 8, in <module>
    tracker = cv2.TrackerMOSSE_create() …
Run Code Online (Sandbox Code Playgroud)

python opencv object-detection

1
推荐指数
1
解决办法
4644
查看次数

ParseError:172:3:消息类型“object_detection.protos.TrainConfig”没有名为“fine_tune_checkpoint_version”的字段

ParseError Traceback(最近一次调用最后一次)

----> 1 配置 = config_util.get_configs_from_pipeline_file(CONFIG_PATH)

〜\ AppData \ Roaming \ Python \ Python37 \ site-packages \ object_detection \ utils \ config_util.py get_configs_from_pipeline_file(pipeline_config_path,config_override)

 96   with tf.io.gfile.GFile(pipeline_config_path, "r") as f:

 97     proto_str = f.read()
Run Code Online (Sandbox Code Playgroud)

---> 98 text_format.Merge(proto_str, pipeline_config)

 99   if config_override:

100     text_format.Merge(config_override, pipeline_config)
Run Code Online (Sandbox Code Playgroud)

C:\ProgramData\Anaconda3\lib\site-packages\google\protobuf\text_format.py 合并(文本、消息、allow_unknown_extension、allow_field_number、descriptor_pool、allow_unknown_field)

735       allow_field_number,

736       descriptor_pool=descriptor_pool,
Run Code Online (Sandbox Code Playgroud)

--> 737 允许_未知_字段=允许_未知_字段)

738 

739 
Run Code Online (Sandbox Code Playgroud)

MergeLines 中的 C:\ProgramData\Anaconda3\lib\site-packages\google\protobuf\text_format.py(行、消息、allow_unknown_extension、allow_field_number、descriptor_pool、allow_unknown_field)

803                    descriptor_pool=descriptor_pool,

804                    allow_unknown_field=allow_unknown_field)
Run Code Online (Sandbox Code Playgroud)

--> 805 返回 parser.MergeLines(lines, message)

806 

807 
Run Code Online (Sandbox Code Playgroud)

MergeLines 中的 C:\ProgramData\Anaconda3\lib\site-packages\google\protobuf\text_format.py(self,lines,message)

828     """Merges a text representation of a …
Run Code Online (Sandbox Code Playgroud)

object-detection tensorflow jupyter-notebook object-detection-api

1
推荐指数
1
解决办法
5827
查看次数

如何从 Tensorflow 的对象检测模型动物园下载预训练模型?

我正在尝试使用Tensorflow 的对象检测 API 2和 Tensorflow 2.3.0 训练对象检测模型。我主要使用本文作为准备数据和训练模型的资源。

大多数使用对象检测 API 的文章都会在微调之前从Tensorflow 模型库下载预训练的模型。

Tensorflow Model Zoo 是由对象检测团队在 Github 页面上设置的一组链接。当我单击一个此类链接(使用 Google Chrome)时,会短暂打开一个新选项卡,就像正在开始下载一样,然后立即关闭并且不会进行下载。我在文章中找到的其他模型的超链接也不起作用。

对于使用对象检测 API 进行微调的任何人:您使用什么方法下载预训练模型?模型动物园链接有用吗?如果没有,您使用了什么资源?

任何帮助深表感谢。

object-detection tensorflow object-detection-api

1
推荐指数
1
解决办法
4116
查看次数

使用 YOLO 对具有挑战性的图像进行文本检测

我的图像如下所示:

在此输入图像描述

我的目标是检测并识别该数字31197394。我已经对文本识别的深度神经网络进行了微调。如果以以下格式提供,它可以成功识别正确的号码:

在此输入图像描述

剩下的唯一任务是检测相应的边界框。为此,我尝试了darknet。不幸的是,它无法识别任何东西。有人知道在此类图像上表现更好的网络吗?我知道,亚马逊识别能够解决这个任务。但我需要一个可以离线工作的解决方案。因此,我仍然对存在有效的预训练网络抱有很高的希望。非常感谢你的帮助!

ocr object-detection computer-vision yolo yolov4

1
推荐指数
1
解决办法
3727
查看次数

1
推荐指数
1
解决办法
4120
查看次数