Один из этапов технологического процесса добычи металла — перемалывание руды специальными мельницами. Если в мельницу попадают неперемалываемые материалы — например, зубья ковша экскаватора, разрабатывавшего руду, — мельница может выйти из строя. Зубья могут отпадать от ковша в процессе работы незаметно для машиниста экскаватора. Если автоматически отслеживать потерю зубьев и подавать на мельницы, это позволит снизить риски ущерба.
Для анализа даны кадры из видео со стрелы экскаватора, на которых виден ковш с зубьями. На каждом кадре выделены зубья ковша и сам ковш, разметка сохранена в COCO формате.
‼️ Для некоторых кадров разметка может быть не полной или же неточной. ‼️
Для просмотра разметки и экспорта в другие форматы удобно использовать FIFTYONE
import fiftyone as fo
name = "dataset_name"
dataset_dir = '/dataset/dir/'
dataset_type = fo.types.COCODetectionDataset
dataset = fo.Dataset.from_dir(
dataset_dir=dataset_dir,
dataset_type=dataset_type,
name=name,
)
session = fo.launch_app(dataset)
Для того чтобы объединить разметку для задачи детекции и задачи классификации возможно использовать предложенный код
import pandas as pd
import pathlib
#Получение dataset смотри выше
labels=pd.read_csv('/path/to/train/cls_labels.csv')
labels=dict(zip(labels.file_path.values, labels.label.values))
for sample in dataset:
label = labels[pathlib.Path(sample.filepath).name]
sample['cls_label'] = label
sample.save()
session = fo.launch_app(dataset)
Решение будут оцениваться по метрике F1 по 3 классам: