Как я могу вычислить точность сегментации, представленной в файле JSON?Python

Программы на Python
Ответить
Anonymous
 Как я могу вычислить точность сегментации, представленной в файле JSON?

Сообщение Anonymous »

У меня возникла проблема с расчетом точности с использованием файла JSON, содержащего сегментированные формы кальцификации. Мой файл имеет структуру, похожую на следующую. Любая помощь будет оценена по достоинству.
{
"version": "5.4.1",
"flags": {
"Breast Composition": "x",
"BI-RADS": "y"
},
"imagePath": "img.png",
"imageData": null,
"imageHeight": 3328,
"imageWidth": 2560,
"shapes": [
{
"points": [
[
311.0,
177.0
],
[
311.0,
178.0
],
[
306.0,
183.0
],
[
305.0,
183.0
],
[
305.0,
191.0
],
[
306.0,
191.0
],
[
308.0,
193.0
],
[
308.0,
194.0
],
[
314.0,
194.0
],
[
314.0,
193.0
],
[
316.0,
191.0
],
[
316.0,
190.0
],
[
318.0,
188.0
],
[
320.0,
188.0
],
[
320.0,
179.0
],
[
319.0,
179.0
],
[
318.0,
178.0
],
[
318.0,
177.0
]
],...

Я попробовал этот код, где GT — это фактический файл JSON, а выходные данные — мой прогнозируемый файл JSON. Я думаю, что это не сработало, поскольку я не знал, как вычислить окончательные результаты точности с помощью файлов JSON.
def extract_shapes(data):
shapes = []
for shape in data['shapes']:
if shape['label'] == 'Calcification':
shapes.append(tuple(map(tuple, shape['points'])))
return set(shapes)

shapes1 = extract_shapes(GT)
shapes2 = extract_shapes(output)

true_positives = shapes1.intersection(shapes2)
false_negatives = shapes1.difference(shapes2)
false_positives = shapes2.difference(shapes1)

total_shapes = len(shapes1)
correct_detections = len(true_positives)
accuracy = (correct_detections / total_shapes * 100) if total_shapes > 0 else 0


Подробнее здесь: https://stackoverflow.com/questions/793 ... -json-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»