Инженерный тур. 1 этап
Беспилотник ориентируется по изображению с камеры. На каждом кадре есть блики. На некоторых кадрах бликов так много, что камера «слепнет». В таких случаях беспилотник должен остановиться и дождаться исчезновения бликов.
Необходимо написать функцию, которая анализирует блики на изображении и выносит вердикт: можно ориентироваться по изображению или нет.
Чтобы понять, какой уровень свечения является допустимым, проанализируйте подготовленный набор данных.
- Скачайте материалы задания: https://disk.yandex.ru/d/0yh18sD7t3TPLg.
- Ознакомьтесь с материалами задания.
Ознакомьтесь с подготовленными файлами
.py, набором изображений и аннотациями к нему. Среди подготовленных файлов:eval.py— файл с функцией, определяющей засвечено изображение или нет. Именно эту функцию необходимо дописать!main.py— файл, проверяющий точность работы вашего алгоритма. Не редактируйте его —main.pyиспользует написанные вами функции изeval.pyи сверяет верные ответы с предсказанием вашего алгоритма.annotations.csv— файл, устанавливающий соответствие между изображениями и верными ответами. В каждой строке файла содержится путь к файлу с изображением и соответствующим ответом.
- Прочитайте файл
eval.py. В этом файле содержится функцияpredict_illumination. Допишите в файлеeval.pyфункциюtrack_movement. Функция получает на входBGR-изображение и должна вернутьTrueилиFalse. - Запустите файл
main.pyи проверьте свой алгоритм. Если программа выдала ошибку, то найдите и исправьте ее в файлеeval, вновь запустите файлmain.py. Пришлите решение на онлайн-платформу для проверки.
В качестве решения необходимо сдать отредактированный файл
eval.py, либо архив*.zipс файломeval.pyи остальными файлами, требующимися для его работы. В архиве должны находиться файлы, а не одноименная архиву папка.
Размер решения ограничен: не более 0,1 МБ. Если созданный алгоритм успешно проверен платформой, то следующее решение можно прислать только через 10 мин. Если написанный алгоритм в ходе проверки выдал сообщение об ошибке, то следующее решение можно прислать сразу.
Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10; dlib 19.24.0; keras 2.8.0; Keras-Preprocessing 1.1.2; imutils 0.5.4; numpy 1.22.4; opencv-python 4.6.0.66; pandas 1.4.3; scikit-image 0.19.3; scikit-learn 1.1.1; scipy 1.8.1; tensorflow-cpu 2.8.2.
Перевести изображение в цветовое пространство HLS, просуммировать L составляющую цвета на всем изображении. Определить по представленным изображениям, какая сумма L считается допустимой. Все изображения, где сумма L больше определенного порога, считать засвеченными.
Предоставленный пользователю набор данных и решение: https://disk.yandex.ru/d/0yh18sD7t3TPLg.
Захват беспилотника имеет цилиндрическую форму. Он опускается на захватываемый объект вертикально вниз. Если объект не поместится в круговое основание цилиндра, то он не поместится и в захвате.
Дано изображение с камеры беспилотника, собирающегося воспользоваться захватом. На изображении представлены два объекта: красный куб и некий груз. Известно, что красный куб — куб максимального размера, который может поместиться в захвате. Необходимо написать функцию, определяющую, поместится ли груз на изображении в захвате или нет. Считайте, что камера направлена вертикально вниз.
Анализируйте только то положение груза, которое представлено на изображении!
Скачайте материалы задания: https://disk.yandex.ru/d/bEtPQB6oHcF-Wg.
Ознакомьтесь с материалами задания.
Ознакомьтесь с подготовленными файлами
.py, набором изображений и аннотациями к нему. Среди подготовленных файлов:eval.py— файл с функцией, определяющей поместится груз в захвате или нет. Именно эту функцию необходимо дописать!main.py— файл, проверяющий точность работы вашего алгоритма. Не редактируйте его —main.pyиспользует написанные вами функции изeval.pyи сверяет верные ответы с предсказанием вашего алгоритма.annotations.csv— файл с аннотациями, устанавливающий соответствие между изображениями и верными ответами. В каждой строке содержится путь к файлу с изображением и соответствующим ответом.
- Прочитайте файл
eval.py. В файле содержится функцияredict_ability_capture. Допишите в файле
eval.pyфункциюpredict_ability_capture.Функция получает на вход
BGR-изображение и должна вернутьTrueилиFalse.Запустите файл
main.pyи проверьте свой алгоритм.Если программа выдала ошибку, то найдите и исправьте ее в файле
eval, вновь запустите файлmain.py.Пришлите решение на онлайн-платформу для проверки.
В качестве решения, необходимо сдать отредактированный файл
eval.py, либо архив «*.zip» с файломeval.pyи остальными файлами, требующимися для его работы. В архиве должны находиться файлы, а не одноименная архиву папка.
Размер решения ограничен: не более 0,1 МБ. Если созданный алгоритм успешно проверен платформой, то следующее решение можно прислать только через 10 мин. Если написанный алгоритм в ходе проверки выдал сообщение об ошибке, то следующее решение можно прислать сразу.
Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10 dlib 19.24.0; keras 2.8.0; Keras-Preprocessing 1.1.2; imutils 0.5.4; numpy 1.22.4; opencv-python 4.6.0.66; pandas 1.4.3; scikit-image 0.19.3; scikit-learn 1.1.1; scipy 1.8.1; tensorflow-cpu 2.8.2.
Размыть изображение для увеличения однородности цвета. Бинаризовать изображение так, чтобы красный куб стал белым, а все остальное — черным. Найти контур куба и вычислить радиус описывающей его окружности.
Бинаризовать исходное изображение так, чтобы фон и красный куб стали черными, а все остальное — белым. Найти контур груза, вычислить радиус окружности, описывающей контур. Если радиус меньше радиуса, найденного для куба, значит, груз помещается в захвате.
Предоставленный пользователю набор данных и решение: https://disk.yandex.ru/d/bEtPQB6oHcF-Wg.
На изображении представлены четыре разъема станции для зарядки беспилотников. Из всех разъемов для нашего беспилотника подходит только один, приведенный на рис. 1.1.
Необходимо написать функцию, определяющую номер подходящего разъема. Нумерация разъемов начинается с единицы и идет слева направо.
Скачайте материалы задания: https://disk.yandex.ru/d/c9Jkt5A2i6HAgA.
Ознакомьтесь с материалами задания.
Ознакомьтесь с подготовленными файлами
.py, набором изображений и аннотациями к нему. Среди подготовленных файлов:eval.py— файл с функцией, определяющей номер подходящего разъема. Именно эту функцию необходимо дописать!main.py— файл, проверяющий точность работы вашего алгоритма. Не редактируйте его —main.pyиспользует написанные вами функции изeval.pyи сверяет верные ответы с предсказанием вашего алгоритма.annotations.csv— файл, устанавливающий соответствие между изображениями и верными ответами. В каждой строке файла содержится путь к файлу с изображением и соответствующим ответом.
Прочитайте файл
eval.py.В файле содержатся функции
predict_connect_numberиload_etalon.predict_connect_number— определяет номер подходящего разъема.load_etalon_img— загружает эталонные изображения, возвращает список изображений. Если эта функция не используется, пусть возвращает пустой список.Допишите в файле
eval.pyфункциюpredict_connect_number.Функция получает на вход
BGR-изображение и должна вернуть целое число.Запустите файл
main.pyи проверьте свой алгоритм.Если программа выдала ошибку, то найдите и исправьте ее в файле
eval, вновь запустите файлmain.py.Пришлите решение на онлайн-платформу для проверки.
В качестве решения, необходимо сдать отредактированный файл
eval.py, либо архив «*.zip» с файломeval.pyи остальными файлами, требующимися для его работы. В архиве должны находиться файлы, а не одноименная архиву папка.
Размер решения ограничен: не более 0,1 МБ. Если созданный алгоритм успешно проверен платформой, то следующее решение можно прислать только через 10 мин. Если написанный алгоритм в ходе проверки выдал сообщение об ошибке, то следующее решение можно прислать сразу.
Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10; dlib 19.24.0; keras 2.8.0; Keras-Preprocessing 1.1.2; imutils 0.5.4; numpy 1.22.4; opencv-python 4.6.0.66; pandas 1.4.3; scikit-image 0.19.3; scikit-learn 1.1.1; scipy 1.8.1; tensorflow-cpu 2.8.2.
Бинаризовать изображение так, чтобы красные разъемы стали белыми, а все остальные пиксели изображения стали черным. Найти контуры красных разъемов. Найти ограничивающие контуры рамки. По координатам рамок вырезать из исходного изображения обнаруженные объекты.
Из предоставленного набора данных вырезать эталонные изображения искомого разъема. Попиксельно сравнить обнаруженные объекты с эталонами, запомнить координаты объекта, совпавшего с эталоном.
Возможен вариант решения через распознавание формы и цвета разъема. Пример подобного решения представлен ниже.
Предоставленный пользователю набор данных и решение: https://disk.yandex.ru/d/c9Jkt5A2i6HAgA.
Дана пара изображений, на каждом изображении — одно созвездие. Созвездие характеризуется следующими параметрами: количеством звезд, размером звезд, взаимным расположением звезд.
Необходимо написать функцию, определяющую, одно и то же созвездие на изображениях или нет. Созвездия считаются одинаковыми, если второе изображение можно получить из первого двумя последовательными операциями. Первая операция — масштабирование изображения с сохранением пропорций. Вторая операция — поворот изображения в собственной плоскости относительно любой точки.
Скачайте материалы задания: https://disk.yandex.ru/d/T7qC-weButM-eA.
Ознакомьтесь с материалами задания.
Ознакомьтесь с подготовленными файлами
.py, набором изображений и аннотациями к нему. Среди подготовленных файлов:eval.py— файл с функцией, определяющей одинаковые созвездия на изображениях или нет. Именно эту функцию необходимо дописать!main.py— файл, проверяющий точность работы вашего алгоритма. Не редактируйте его —main.pyиспользует написанные вами функции изeval.pyи сверяет верные ответы с предсказанием вашего алгоритма.annotations.csv— файл, устанавливающий соответствие между парами изображений и верными ответами. В каждой строке файла содержится путь к двум изображениям, соответствующим ответом и пояснением.
- Прочитайте файл
eval.py. В файле содержатся функция
is_same_stars.Допишите в файле
eval.pyфункциюis_same_stars.Функция получает на вход
BGR-изображение и должна вернуть True или False.Запустите файл
main.pyи проверьте свой алгоритм.Если программа выдала ошибку, то найдите и исправьте ее в файле
eval, вновь запустите файлmain.py.Пришлите решение на онлайн-платформу для проверки.
В качестве решения, необходимо сдать отредактированный файл
eval.py, либо архив «*.zip» с файломeval.pyи остальными файлами, требующимися для его работы. В архиве должны находиться файлы, а не одноименная архиву папка.
Размер решения ограничен: не более 0,1 МБ. Если созданный алгоритм успешно проверен платформой, то следующее решение можно прислать только через 10 мин. Если написанный алгоритм в ходе проверки выдал сообщение об ошибке, то следующее решение можно прислать сразу.
Пакеты, ориентированные на работу с изображениями и данными, использующиеся на платформе проверки: Python 3.8.10; dlib 19.24.0; keras 2.8.0; Keras-Preprocessing 1.1.2; imutils 0.5.4; numpy 1.22.4; opencv-python 4.6.0.66; pandas 1.4.3; scikit-image 0.19.3; scikit-learn 1.1.1; scipy 1.8.1; tensorflow-cpu 2.8.2.
Конфигурация созвездия полностью характеризуется следующими данными:
- Координаты геометрического центра созвездия или центра масс созвездия.
- Список размеров звезд.
- Список расстояний от звезд до центра созвездия.
- Список углов, образованных звездами и центром созвездия.
Для каждого изображения необходимо вычислить вышеперечисленные параметры. Если созвездия одинаковые, то выполнятся следующие условия, которые необходимо проверить:
- Число звезд и их размеры должны совпадать.
- Все расстояния от звезд до центра созвездия для двух сравниваемых изображений должны отличаться в одно и тоже количество раз.
- Списки углов, образованных звездами и центрами созвездий, должны совпадать или совпадать со смещением.
Предоставленный пользователю набор данных и решение: https://disk.yandex.ru/d/T7qC-weButM-eA.

