Выпускной проект по теме: классификация изображений цветов с использованием компьютерного зрения и графического интерфейса Streamlit
Цель проекта:
- разработать классификатор для распознавания видов цветов на изображениях.
Используемые технологии:
- TensorFlow;
- Keras;
- MobileNetV2;
- Streamlit;
Почему это важно?
автоматизация распознавания цветов может быть полезна в ботанике, садоводстве и аграрных технологиях.
Классификация изображений на 102 категории:
розовая примула, жестколистная карманная орхидея, кентерберийские колокольчики, сладкий горошек, английские ноготки, тигровая лилия, лунная орхидея, райская птица и т.д.
Использование предобученной модели MobileNetV2 для повышения точности и скорости обучения.
Источник данных: Датасет oxford_flowers102
Количество изображений: 8189
Классы: розовая примула, жестколистная карманная орхидея, кентерберийские колокольчики и др.
Использование модели MobileNetV2 для Transfer Learning.
Почему MobileNetV2? легкая и быстрая модель, оптимизированная для мобильных устройств.
Использование техники Fine-Tuning для дообучения модели на новых данных.
Используемые инструменты: TensorFlow, Keras.
- Основные параметры обучения:
- Оптимизатор: Adam.
- Функция потерь: Categorical Crossentropy.
- Метрика: Accuracy.
- Количество эпох: 10.
- Batch size: 32.
Это веб-приложение позволяет определять вид цветка по фотографии. Поддерживаются следующие виды:
"0": "розовая примула", "1": "жестколистная карманная орхидея", "2": "кентерберийские колокольчики", "3": "сладкий горошек", "4": "английские ноготки", "5": "тигровая лилия", "6": "лунная орхидея", "7": "райская птица", "8": "monkshood", "9": "глобусный чертополох", "10": "львиный зев", "11": "жеребячья лапка", "12": "королевская протея", "13": "копье чертополоха", "14": "желтый ирис", "15": "глобус-цветок", "16": "пурпурный эхинацея", "17": "перуанская лилия", "18": "цветок воздушного шара", "19": "гигантская белая лилия арум", "20": "огненная лилия", "21": "цветок игольчатый", "22": "фритиллярия", "23": "красный имбирь", "24": "виноградный гиацинт", "25": "кукурузный мак", "26": "перья принца уэльского", "27": "горечавка бесстебельная", "28": "артишок", "29": "сладкий вильям", "30": "гвоздика", "31": "садовый флокс", "32": "любовь в тумане", "33": "мексиканская астра", "34": "альпийский морской падуб", "35": "каттлея с рубиновыми губами", "36": "мыс цветок", "37": "большой маточник", "38": "сиамский тюльпан", "39": "постная роза", "40": "маргаритка барбетон", "41": "нарцисс", "42": "мечелистная лилия", "43": "пуансеттия", "44": "болеро темно-синий", "45": "желтофиоль", "46": "бархатцы", "47": "лютик", "48": "маргаритка", "49": "одуванчик обыкновенный", "50": "петуния", "51": "дикая анютина глазки", "52": "примула", "53": "подсолнух", "54": "пеларгония", "55": "епископ иландаффский", "56": "гаура", "57": "герань", "58": "оранжевый георгин", "59": "розово-желтый георгин?", "60": "каутлея колючая", "61": "японская анемона", "62": "черноглазая сьюзен", "63": "сильвербуш", "64": "калифорнийский мак", "65": "остеоспермум", "66": "крокус весенний", "67": "бородатый ирис", "68": "цветок ветра", "69": "древовидный мак", "70": "гацания", "71": "азалия", "72": "водяная лилия", "73": "роза", "74": "терновое яблоко", "75": "утренняя слава", "76": "страстоцвет", "77": "лотос", "78": "жабья лилия", "79": "антуриум", "80": "франжипани", "81": "клематис", "82": "гибискус", "83": "колумбайн", "84": "роза пустыни", "85": "древовидная мальва", "86": "магнолия", "87": "цикламен", "88": "водяной кресс", "89": "лилия канна", "90": "гиппеаструм", "91": "пчелиный бальзам", "92": "шаровидный мох", "93": "наперстянка", "94": "бугенвиллия", "95": "камелия", "96": "мальва", "97": "мексиканская петуния", "98": "бромелия", "99": "цветок покрывала", "100": "кампсис укореняющийся", "101": "ежевичная лилия"
- Клонируйте репозиторий:
git clone https://github.com/Alexis1989/flowers.git
- Перейдите в папку проекта:
cd flowers
- Установите необходимые зависимости:
pip install -r requirements.txt
- Запустите Streamlit приложение:
streamlit run app.py
-
Загрузите изображение цветка через интерфейс.
-
Приложение предскажет вид цветка.
https://flowers-le79wkkqc3kjfoog3oe76s.streamlit.app/
Проект распространяется под лицензией MIT.