工具/软件:
尊敬的专家:
怎么会这样呢 在显示之前获取已识别的类 。
在我的用例中、 无需对每个帧进行推理。 那么,如何使用 hashmap 或词典存储每个帧的推理假设30秒,在数组中显示具有最大计数的类. 显示阵列后、应清除并执行相同的过程、直到进程退出。
请给我一个 需要修改的文件的位置。 若要进行修改、我是否需要为文件打补丁并重新编译 SDK 或任何其他选项。
此致、
Sajan
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
尊敬的专家:
怎么会这样呢 在显示之前获取已识别的类 。
在我的用例中、 无需对每个帧进行推理。 那么,如何使用 hashmap 或词典存储每个帧的推理假设30秒,在数组中显示具有最大计数的类. 显示阵列后、应清除并执行相同的过程、直到进程退出。
请给我一个 需要修改的文件的位置。 若要进行修改、我是否需要为文件打补丁并重新编译 SDK 或任何其他选项。
此致、
Sajan
您好、Sajan、
我们很高兴为您提供帮助。
我想确保我了解您的要求。 您希望对 所有帧执行 ML 推理、但不希望在每个帧上显示推理结果。 相反、您希望将结果保存在某种数据结构中、然后当出现一定数量的保证时、您希望显示推理。 我的回答正确吗?
这是一项应用级要求、不需要重新编译 SDK。 我建议您对此应用使用 edgeai-gst-apps: https://github.com/TexasInstruments/edgeai-gst-apps。 apps_python/post_process.py 会处理推理结果并对输出帧进行注释。 如果您的模型用于对象检测、则可以在以下行插入代码: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/apps_python/post_process.py#L255C5-L255C30。同样、对于分类、您可以在以下行插入代码: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/apps_python/post_process.py#L111 或此处调用的方法。
请告诉我、这是否适合您。
此致、
Qutaiba
尊敬的 Qutaiba:
[引述 userid="546901" url="~/support/processors-group/processors/f/processors-forum/1490077/sk-am62a-lp-query-on-recognized-class/5723741 #5723741"]分类您可以在以下行插入您的代码: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/apps_python/post_process.py#L111 或此处调用的方法。
[/报价]我尝试修改这一行。 添加所需逻辑之前的初始步骤是添加样本字符串。
sample = "Hello" img = self.overlay_topN_classnames(img, sample) #added a string to sample variable and an integer to test
但这对我来说是行不通的。 我在自定义模型和 CONFIG.YAML 中进行了尝试。
发现变量 CLASS_NAME 与其关联、更改并在显示中反映。 下面是 post_process.py 的代码片段
for idx in topN_classes: idx = idx + self.model.label_offset if idx in self.model.dataset_info: class_name = self.model.dataset_info[idx].name if not class_name: class_name = "UNDEFINED" if self.model.dataset_info[idx].supercategory: class_name = ( self.model.dataset_info[idx].supercategory + "/" + class_name ) else: class_name = "UNDEFINED" text_size, _ = cv2.getTextSize(class_name, font, font_size, 2)
此致、
Sajan
您好、Sajan、
我尝试修改这一行。 作为添加所需逻辑之前的初始步骤、添加了样本字符串。
方法 overlay_topN_classnames 需要一个来自分类模型的图像和结果数组。 它不接受文本并覆盖在图像上。
在进行任何修改之前、我想确保您的自定义模型在 edgeai-gst-apps 上工作。 之后、我们可以修改代码。 如您所述、变量 calss_name 可用于跟踪当前帧中标识的类。
您可以在此处插入一些逻辑: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/apps_python/post_process.py#L168 以增加您建议在查询中使用的词典中的计数器。 之后,您可以插入逻辑来决定是否发生了对某个类的足够数量的引用。 当然,正如你已经知道的,这个词典已经从类级的函数中定义出来了。
请告诉我这是否有帮助。
此致、
Qutaiba
您好、Qutaiba、
告诉我这是否有帮助
是的。 我通过将 class_name 值添加到列表中来满足我的要求。 这对我很有效。
感谢你的帮助。
此致、
Sajan