Невозможно получить результат вторичного1-nvinference-engine и secondary2-nvinference-engine для каждого кадра
Работа с глубоким потоком nvidia - механизм вывода, не удалось получить класс классификатора. Всегда показывает индекс 0. Любая помощь приветствуется.
l_classifier = obj_meta.classifier_meta_list
print('First Classifier at: ', l_classifier)
classifier_cnt = 0
while l_classifier is not None:
classifier_cnt += 1
print('Parsing Classifier at: ', l_classifier)
try:
classifier_meta = pyds.glist_get_nvds_classifier_meta(
l_classifier.data)
print('Classifier Component ID:' + str(classifier_meta.unique_component_id))
# nxt_classifier = classifier_meta.next
# print(nxt_classifier)
# print(dir(classifier_meta))
except Exception as ex:
print('Could not parse MetaData: ', ex)
l_label = classifier_meta.label_info_list
uid=classifier_meta.unique_component_id
numLabel=classifier_meta.num_labels
classId = classifier_meta.class_id
label_info=pyds.glist_get_nvds_label_info(l_label.data)
classifier_class = label_info.result_class_id
num_classes = label_info.num_classes
label_id = label_info.label_id
result_prob = label_info.result_prob
print("1 l_label :",l_label)
print("1 u id ------------ :",uid)
print("1 numLabel :",numLabel)
print("1 label_info :",label_info)
print("1 classifier_class:",classifier_class)
print("1 num_classes :",num_classes)
print("1 label_id :",label_id)
print("classId ==>", classId)
l_classifier = l_classifier.next
print('Next Classifier: ', l_classifier)
Пример вывода представлен как
1 l_label : <pyds.GList object at 0x7fa740cfcf80>
1 u id ------------ : 4
1 numLabel : 1
1 label_info : <pyds.NvDsLabelInfo object at 0x7fa740cfcf48>
1 classifier_class: 0
1 num_classes : 0
1 label_id : 0
Класс классификатора всегда отображается как 0
Лучший,
Амарнатх
2 ответа
Слишком поздно, но у label_info есть данные классификатора. Вам нужно использовать l_label, чтобы получить label_info. Затем вам нужно добавить «l_label = l_label.next», чтобы он перешел к следующему элементу. По следующей ссылке есть доступные данные. https://docs.nvidia.com/metropolis/deepstream/python-api/PYTHON_API/NvDsMeta/NvDsLabelInfo.html
l_label = class_meta.label_info_list
while l_label is not None:
try:
label_info = pyds.NvDsLabelInfo.cast(l_label.data)
except StopIteration:
break
print(label_info.label_id)
try:
l_label=l_label.next
except StopIteration:
break
try:
l_class=l_class.next
except StopIteration:
break
Ты можешь попробовать
label_info=pyds.NvDsLabelInfo.cast(l_label.data)
.