Кубок Губернатора Новосибирской области 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