Кубок Губернатора Новосибирской области 2024 Задача 2. Дефектоскопия печатных плат
Финиш 16 октября 23:59 (НСК)
Условие
Перед вами изображения с камеры, установленной над конвейером. На каждом изображении одна печатная плата. Ваша задача написать функцию, обнаруживающую дефекты на плате. В материалах задания есть эталонное изображение, так выглядят платы без дефектов.

Платы на кадрах, которые вы получаете с камеры, случайным образом смещены относительно центра и повёрнуты в плоскости изображения на 0, 90, 180 или 270 градусов.
На следующем изображении слева на право представлены все элементы, которые есть на эталонной плате:
контактная площадка, соединительная дорожка, монтажное отверстие, соединительная дорожка и переходное отверстие.

Дефекты, которые вам необходимо обнаружить, бывают четырёх типов. Название дефекта совпадает с названием элемента, который должен быть на плате, но повреждён или заменён другим элементом. Функция, которую вам необходимо разработать, должна возвращать список всех дефектов на плате. Примеры возвращаемых списков:
[‘contact’, ‘perehod’]
[‘montage’, ‘track_break’, ‘track_break’, ‘montage’]
Порядок, в котором расположены элементы списка не важен.
Выполнение
1. Скачайте материалы задания
2. Ознакомьтесь с материалами задания
Для Вас подготовлены несколько файлов “.py”, набор изображений и аннотации к нему. Среди подготовленных файлов есть:
eval.py - файл с функцией, определяющей какие дефекты есть на плате. Именно эту функцию Вам необходимо дописать!
main.py - файл проверяющий точность работы вашего алгоритма. Не редактируйте его. main.py использует, написанные вами, функции из eval.py и сверяет верные ответы с предсказанием вашего алгоритма.
annotations.csv – файл, устанавливающий соответствие между изображениями плат и дефектами на них. В каждой строке файла содержится путь к кадру с камеры и соответствующим списком дефектов.
3. Прочитайте файл eval.py
В файле содержатся функции load_and_analyze_etalon_images и find_defects.
load_and_analyze_etalon_images - загружает эталонное изображение из файла и обрабатывает его.
find_defects - находит дефекты на плате и возвращает их список.
4. Допишите функции в файле eval.py
5. Запустите файл main.py и проверьте свой алгоритм
Если программа выдала ошибку, то найдите и исправьте её в файле eval, вновь запустите файл main.py
6. Пришлите решение на онлайн платформу для проверки
В качестве решения, необходимо сдать архив “*.zip” с файлом eval.py и эталонным изображением “etalon.png”. В архиве должны находиться файлы, а не одноимённая архиву папка.
Технические ограничения
Размер решения ограничен: не более 5 МБ. Если ваш алгоритм успешно проверен платформой, то следующее решение можно прислать только через 10 минут. Если ваш алгоритм в ходе проверки выдал сообщение об ошибке, то следующее решение можно прислать сразу.
Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10; catboost 1.1.1; dlib 19.24.0; gast 0.4.0; h5py 3.7.0; imutils 0.5.4; keras 2.9.0; Keras-Preprocessing 1.1.2; matplotlib 3.6.2; numpy 1.23.2; opencv-python 4.6.0.66; pandas 1.5.1; scikit-image 0.19.3; scikit-learn 1.1.3; scipy 1.9.3; tensorflow-cpu 2.9.2; torch 1.13.0; torchaudio 0.13.0; torchvision 0.14.0.
Используйте совместимые пакеты.
Очки | Участник | Дата | Команда | Город | Учебное заведение |
---|---|---|---|---|---|
1.0 | Матвей Фокин | 03.10.2024 08:33 | |||
1.0 | Кейль Герман | 04.10.2024 04:43 | |||
1.0 | Сапрыкин Тимофей | 04.10.2024 04:35 | |||
1.0 | Дмитрий Щербелев | 09.10.2024 18:44 | |||
1.0 | zxc | 05.10.2024 15:29 | Пираты данных | ||
1.0 | Andrey Stafik | 04.10.2024 11:09 | Stafik solo | ||
1.0 | Денис Кашулин | 04.10.2024 03:39 | |||
1.0 | Tim Sett | 01.10.2024 18:42 | vidraVgetrah | ||
1.0 | Алексей Рыбин | 01.10.2024 12:13 | |||
1.0 | Михаил Жнец | 07.10.2024 14:51 | The Lost MC | ||
1.0 | Андрей Нечаев | 28.09.2024 16:41 | Gradient Jump | ||
1.0 | Михаил Ноговицин | 24.09.2024 15:03 | |||
1.0 | Артём Заморин | 04.10.2024 11:01 | |||
1.0 | Bitmann | 15.10.2024 10:52 | TimeSleep | ||
1.0 | \(★ω★)/ | 12.10.2024 10:37 | DMS | ||
1.0 | Adadfa | 29.09.2024 13:47 | Пираты Данных | ||
1.0 | Никита Бакутов | 29.09.2024 08:14 | найк про, босс кфс, пикми, палитра, фары слепят, что в мешочеке | ||
1.0 | Sergej Nekrasov | 07.10.2024 14:58 | CyberLaw ;) | ||
0.98 | Rasdafar128 | 10.10.2024 07:13 | Pitlab | ||
0.98 | artemgoncarov | 09.10.2024 14:22 | [RASCAR] Pitlab | ||
0.98 | Егор Андреасян | 08.10.2024 17:21 | NSO-Clio | ||
0.93 | Кирилл Клишин | 27.09.2024 09:34 | |||
0.78 | Анна Заркова | 13.10.2024 13:26 | |||
0.72 | Рома Воронков | 14.10.2024 16:52 | |||
0.66 | ssuslyakoff | 12.10.2024 12:26 | |||
0.07 | Николай Русанов | 04.10.2024 15:57 | Mirohodec |