图像识别,如何开始

2024-05-13 22:35:23 发布

您现在位置:Python中文网/ 问答频道 /正文

作为我攻读理学学士学位论文的一部分,我必须在视频源上使用图像识别。你知道吗

我已经将openCV和Tensorflow——特别是Inception培训的模型——确定为两个选项,但是我不知道如何从那里继续下去。基本上,我需要的是传递一个字符串,比如“keys”,如果前5个结果中有一个是“keys”,则返回一个布尔值。你知道吗

我在网上做了一个python课程,因为他们都使用python。另外,我有相当扎实的Java经验,我们在过去两年一直在我们大学使用它。你知道吗

请注意,我不需要创建一个全新的图像识别系统,我需要用一个来告诉我我的相机看到了什么。你知道吗

另外,虽然是视频,但我认为处理实际的视频源会更困难。我想到的是从30帧中挑出一帧(假设一个30帧/秒的视频流)并在上面运行图像识别。你知道吗

提前谢谢!你知道吗


Tags: 字符串模型视频tensorflow选项经验javakeys
1条回答
网友
1楼 · 发布于 2024-05-13 22:35:23

如果您通读了this tutorial,特别是“使用pythonapi”一节,那么您的项目应该相当简单。在这段代码中,classify_image.py产生的前N个结果被转换成人类可读的文本here

top_k = predictions.argsort()[-FLAGS.num_top_predictions:][::-1]
for node_id in top_k:
    human_string = node_lookup.id_to_string(node_id)
    score = predictions[node_id]
    print('%s (score = %.5f)' % (human_string, score))

对于您的示例,您希望将FLAGS.num_top_predictions设置为5,并且希望将前5个human_string值累加为如下所示:

top_k_strings = []
top_k = predictions.argsort()[-FLAGS.num_top_predictions:][::-1]
for node_id in top_k:
    human_string = node_lookup.id_to_string(node_id)
    top_k_strings.append(human_string)
    score = predictions[node_id]
    print('%s (score = %.5f)' % (human_string, score))

最后,您可以检查“keys”是否是imagenet生成的前5个字符串之一,并将布尔值作为

return "keys" in top_k_strings

此外,如果您对人类可读类别的完整列表感兴趣,您可以找到它们here

关于视频,你可能是对的,你必须对视频序列进行二次采样以跟上帧速率。一些实验和计时测试会让你感觉到所需的子采样率。你知道吗

祝你好运!你知道吗

相关问题 更多 >