Попытка внедрить CAT-SEG: агрегация затрат на семантическую сегментацию открытого вокалуараPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Попытка внедрить CAT-SEG: агрегация затрат на семантическую сегментацию открытого вокалуара

Сообщение Anonymous »

Итак, я пытаюсь реализовать упрощенную версию вышеупомянутой бумаги в ноутбуке Kaggle, используя набор данных ADE-20K для обучения и проверки. После тестирования его на примере ввода я получаю несколько хорошую сегментацию. Однако имена классов показаны как класс 1, класс 2 и т. Д. Вместо их реальных имен. Я не могу исправить это < /p>
В файле набора данных есть текстовые файлы с названием ObjectInfo.txt и SceneCategories.txt. В моем коде я загружаю их так. < /P>
# ======================
# 2. Data Loading with Proper Class Mapping
# ======================
def load_ade20k_metadata(data_root):
"""Load class and scene metadata with robust parsing"""
classes = []
scene_map = {}

# 1. Load CLASSES from objectInfo150.txt
class_file = os.path.join(data_root, "annotations", "objectInfo150.txt")
try:
with open(class_file, 'r', encoding='utf-8') as f:
# Skip header line (Idx\tRatio\tTrain\tVal\tName)
next(f)
for line in f:
parts = line.strip().split('\t')
if len(parts) >= 5: # Ensure we have all columns
class_name = parts[4].strip().split(',')[0].strip() # Take first name before comma
classes.append(class_name)
print(f"Successfully loaded {len(classes)} classes")
print("Sample classes:", classes[:10])
except Exception as e:
print(f"Error loading classes: {e}")
classes = [f"class_{i}" for i in range(150)]

# 2. Load SCENES from sceneCategories.txt
scene_file = os.path.join(data_root, "annotations", "sceneCategories.txt")
try:
with open(scene_file, 'r', encoding='utf-8') as f:
for line in f:
if ', ' in line:
img, scene = line.strip().split(', ', 1)
scene_map[img] = scene
scenes = sorted(set(scene_map.values()))
print(f"Loaded {len(scenes)} scene categories")
except Exception as e:
print(f"Error loading scenes: {e}")
scenes = ["scene"]
scene_map = defaultdict(lambda: "scene")

return classes, scenes, scene_map

ADE20K_CLASSES, SCENE_CATEGORIES, SCENE_MAP = load_ade20k_metadata(
"/kaggle/input/ade20k-dataset/ADEChallengeData2016"
)
config.num_classes = len(ADE20K_CLASSES)
config.num_scenes = len(SCENE_CATEGORIES)


Подробнее здесь: https://stackoverflow.com/questions/797 ... ntic-segme
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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