Tensorflow object detection API 搭建属于自己的物体识别模型——常见问题汇总 Q&A

这篇博客汇总了使用Tensorflow object detection API进行物体检测时遇到的常见问题及其解决方案,包括图片格式错误、数据类型问题、模型效果不佳、XML标注文件错误等,并提供了相应的代码修改建议和资源链接。
摘要由CSDN通过智能技术生成

在上一篇博客《(更新视频教程)Tensorflow object detection API 搭建属于自己的物体识别模型(2)——训练并使用自己的模型》中,有很多读者提出各种问题,也有不少热心读者在评论区进行了讨论,为了方便读者查询及备忘,现把部分问题及解决方案更新到这个博客,不定期更新新的解决方案。

建议 Ctrl + F 在页面内搜索问题。

如果对问题有新的更好的解决方案欢迎留言。

 

Q:Image size must contain 3 elements.

图片大小必须包括3元素

A:图片不是标准的RGB3通道图片,把图片转化成标准的RGB格式或者删除有问题的图片。

如果目录下有很多图片,可以用下面的命令来检查哪些图片不是标准RGB格式:

from PIL import Image     
import os       
path = '/Users/lyz/Desktop/dataset/images/' #图片目录 
for file in os.listdir(path):      
     extension = file.split('.')[-1]
     if extension == 'jpg':
           fileLoc = path+file
           img = Image.open(fileLoc)
           if img.mode != 'RGB':
                 print(file+', '+img.mode)

 

 

 

Q: 提取frozen_inference_graph.pb 这一文件时,出现了数据类型错误

TypeError: x and y must have the same dtype, got tf.float32 != tf.int32

A:在 post_processing_builder.py 文件中,修改下面这个函数:

def _score_converter_fn_with_logit_scale(tf_score_converter_fn, logit_scale):
  """Create a function to scale logits then apply a Tensorflow function."""
  def score_converter_fn(logits):
    cr = logit_scale
    cr = tf.constant([[cr]],tf.float32)
    print(logit_scale)
    print(logits)
    scaled_logits = tf.divide(logits, cr, name='scale_logits') #change logit_scale
    return tf_score_converter_fn(scaled_logits, name='convert_scores')
  score_converter_fn.__name__ = '%s_with_logit_scale' % (
      tf_score_converter_fn.__name__)
  return score_converter_fn

 

 

 

 

 

Q:输出图片失真,偏蓝色

A:opencv的输出imwrite函数参数调整,输出标准RGB格式。

 

保存图片变蓝的请在最后一步的程序里在
plt.imshow(image_np)
前加上
image_np = cv2.cvtColor(image_np, cv2.COLOR_RGB2BGR)

 

 

 

 

 

Q:能否识别中文的标签?

A:没有测试过,可以试试在训练文件里标注中文。

 

 

 

 

Q:训练过程中被打断,报错提示

Invalid GIF data, size 247023

A:GIF 文件过大,不支持格式。(小的GIF是否支持我不清楚,请测试过的读者告知)

 

 

 

 

Q:训练正常,但是效果很差。

A:

1、迭代次数不够,默认设置200000次,在Tensorboard中查看,Loss趋于稳定后差不多可以结束训练;

2、训练数据少,理论上讲,训练、测试数据数量越多、数据质量约好,效果越好;

评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值