我是一个编程新手,一直在学习谷歌colab中的对象检测算法教程。下面是谷歌对象检测API https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/object_detection_tutorial.ipynb中使用的代码,它使用单镜头检测器来输出图像。我添加了一个全局变量“count”和for循环来计数得分大于0.5的对象的数量。这将适用于单类检测的情况。检查了几张图片的结果,它正确地打印了计数值,如Number of dogs中所示。现在,我想在图片上显示这个数字。例如,在图片中添加了一行“人数:{count value}”请向我展示如何编辑下面的代码以实现结果。
def show_inference(model, image_path):
global count
count=0
# the array based representation of the image will be used later in order to prepare
the result image with boxes and labels on it.
image_np = np.array(Image.open(image_path))
# Actual detection.
output_dict = run_inference_for_single_image(model, image_np)
# Visualization of the results of a detection.
vis_util.visualize_boxes_and_labels_on_image_array(
image_np,
output_dict['detection_boxes'],
output_dict['detection_classes'],
output_dict['detection_scores'],
category_index,
instance_masks=output_dict.get('detection_masks_reframed', None),
use_normalized_coordinates=True,
line_thickness=8)
display(Image.fromarray(image_np))
for o in output_dict['detection_scores']:
if o > 0.5:
count=count+1
print(count)
for image_path in TEST_IMAGE_PATHS:
show_inference(detection_model, image_path)
2条答案
按热度按时间57hvy0tb1#
下面的代码将向现有的google colab API添加一列文本,并显示人数,就像本例中的Number of people
lpwwtiir2#
对于你的问题,创建框来计数,你可以很容易地做到这一点,通过这个例子,我用对象计数器AI的数字计数。
示例:使用Tensorflow的基本边界框和颜色,AI应用程序应用了相同的你可以使用YOLO或任何NN。它作为位图绘制FN,你需要在另一个图像上创建一个图像,你可以使它成为一个合作。
输出量: