Jump to content
Форум Akvalang.com

Recommended Posts

  • Администраторы

В последние годы активно развиваются информационные технологии в области Computer Vision, Bigdata, нейронных сетей и дополненной реальности. Давайте вместе порассуждаем, что это могло бы привнести или даже принципиально изменить в нашем увлечении подводной охотой, дайвингом, фридайвингом…
 
Эта статья разделена на 3 взаимосвязанные части:
1) Описание telegram-бота и нейросети определяющей подводных обитателей.
2) Прикладное применение computer vision и нейронных сетей.
3) Ваши замечания и пожелания, идеи.
 
 
Часть 1)
Описание telegram-бота и нейросети определяющей подводных обитателей


Несколько лет назад я поставил себе задачу создания нейронной сети, которая бы распознавала всех обитателей подводного мира, что должно было бы дать возможность применения ее во многих областях жизнедеятельности человека, как в чисто научной, так и прикладной.
Для решения этой задачи были написаны различные программные комплексы, которые собирали/обрабатывали/каталогизировали фото-видео материалы, опробованы различные математические модели нейронных сетей, проведены множественные эксперименты. В результате получен датасет, содержащий более 2 тысяч видов подводных обитателей, каждый из которых содержит от 1 до 7 тыс. правильно обработанных фотографий. Общий размер подводного датасета для обучения нейронной сети составляет сейчас более 500ГБ. Для многих видов подводных обитателей, у которых исходных материалов было достаточно, дополнительно появилась возможность представить с разделением по различным ракурсам обзора (сбоку, спереди, сверху, снизу), т.е. Вы можете определить с помощью нейросети не только вид, но и его положение.
Позвольте представить Вам одну из начальных рабочих реализаций этой нейросети с подводными обитателями Республики Беларусь на базе telegram-бота:

http://t.me/FishDetectBot

или, ввиду блокировки адреса t.me в Беларуси, просто ввести в telegram "FishDetect"

Замечание и пример, как пользоваться:
- для получения предсказания того, что находится на изображении, достаточно передать этому telegram-боту изображение рыбы (перетащить, сфотографировать,  передать из другого мобильного приложения и т.п.). В результате Вы получите список названий рыб с числовыми убывающими значениями предсказания вида рыбы от наиболее вероятного до вида, имеющего менее вероятное совпадение по мнению нейросети, т.е. первое значение – ответ на который стоит полагаться.
- для получения максимально точного предсказания обязательно (пока)* обрезать (сфотографировать) изображение по контурам объекта предсказания (рыбы), желательно не перекрывая его отличительные признаки руками или иным образом. В идеале, разместив горизонтально на ровной однородной поверхности.
- изображение должно содержать одну особь рыбы для распознавания.

Пример для правильного фото:
correct_image.jpg
Пример с НЕправильным фото:
incorr_img.png
 
* В ближайшее время в алгоритм обработки telegram-бота будет добавлена функция автоматической обрезки и обработки множественных объектов на изображении, а также на видео (см. ниже, как это уже работает).
 
Этот бот подключен к нейронной сети, предсказывающей следующие виды, обитающие в нашей стране:

Амур белый (Ctenopharyngodon idella, Grass carp)
Амур белый (Ctenopharyngodon idella, Grass carp) - bottom
Амур белый (Ctenopharyngodon idella, Grass carp) - front
Амур белый (Ctenopharyngodon idella, Grass carp) - top
Амур черный (Mylopharyngodon piceu, Black amur)
Амур черный (Mylopharyngodon piceu, Black amur) - front
Белоглазка (Abramis sapa, White-eye bream)
Белуга (Huso huso, Beluga)
Берш (Sander volgensis, Volga pikeperch)
Берш (Sander volgensis, Volga pikeperch) - front
Бобр (Castor, Eurasian beaver)
Быстрянка (Alburnoides bipunctatus, Riffle minnow)
Бычок трубчатый (Proterorhinus semilunaris, Western tubenose goby)
Бычок-гонец (Neogobius gymnotrachelus, Racer goby)
Бычок-кнут, бычок-мартовик (Mesogobius batrachocephalus, Knout goby)
Бычок-кругляк (Neogobius melanostomus, Round Goby) - нерест
Бычок-кругляк (Neogobius melanostomus, Round goby)
Бычок-песочник (Neogobius fluviatilis, Monkey goby)
Бычок-рыжик (Ponticola eurycephalus, Mushroom goby)
Бычок-цуцик (Proterorhinus marmoratus, Tubenose goby)
Верховка, овсянка (Leucaspius delineatus, Sunbleak)
Вырезуб (Rutilus frisii, Kutum)
Вьюн (Misgurnus fossilis albino, Weatherfish)
Вьюн (Misgurnus fossilis, Weatherfish)
Голавль (Leuciscus cephalus, European chub)
Голавль (Leuciscus cephalus, European chub) - bottom
Голавль (Leuciscus cephalus, European chub) - front
Голавль (Leuciscus cephalus, European chub) - top
Голец арктический (Salvelinus alpinus, Arctic char)
Голец обыкновенный (Barbatula barbatula, Stone loach)
Гольян обыкновенный, гольян красавка (Phoxinus phoxinus, Eurasian minnow)
Гольян озёрный (Phoxinus perenurus, Lake minnow)
Горчак (Rhodeus sericeus amarus, European bitterling)
Густера (Blicca bjoerkna) - front
Густера (Blicca bjoerkna, White bream)
Елец (Leuciscus leuciscus, Common dace)
Ерш балона (Gymnocephalus baloni, Danube ruffe)
Ерш обыкновенный (Gymnocephalus cernuus, Ruffe)
Ерш обыкновенный (Gymnocephalus cernuus, Ruffe) - front
Ерш полосатый (Gymnocephalus schraetser, Schraetzer)
Ерш черноморский (Scorpaena porcus, Black scorpionfish)
Ерш-носарь, донской (Gymnocephalus acerina, Donets ruffe)
Жерех (Aspius aspius, Asp)
Жерех (Aspius aspius, Asp) - bottom
Жерех (Aspius aspius, Asp) - front
Жерех (Aspius aspius, Asp) - top
Игла черноморская (Syngnathus nigrolineatus, Greater pipefish)
Калуга (Huso dauricus, Kaluga)
Карась золотой (Carassius auratus, Goldfish)
Карась обыкновенный (Carassius carassius, Crucian carp)
Карась обыкновенный (Carassius carassius, Crucian carp) - bottom
Карась обыкновенный (Carassius carassius, Crucian carp) - front
Карась серебряный (Carassius gibelio, Gibel Carp)
Карась серебряный (Carassius gibelio, Gibel Carp) - bottom
Карась серебряный (Carassius gibelio, Gibel Carp) - front
Карась серебряный (Carassius gibelio, Gibel Carp) - top
Карась-золотая рыбка (Carassius auratus auratus, Goldfish)
Карп (Cyprinus carpio carpio, Common Carp)
Карп (Cyprinus carpio carpio, Common Carp) - bottom
Карп (Cyprinus carpio carpio, Common Carp) - front
Карп (Cyprinus carpio carpio, Common Carp) - top
Карп зеркальный (Cyprinus carpio carpio, Mirror carp)
Карп зеркальный (Cyprinus carpio carpio, Mirror carp) - front
Карп кои (Cyprinus rubrofuscus, Koi)
Колюшка девятииглая (Pungitius pungitius, Ninespine stickleback)
Колюшка малая южная (Pungitius platygaster, Southern ninespine stickleback)
Колюшка трехиглая (Gasterosteus aculeatus, Three-spined Stickleback)
Колюшка трехиглая (Gasterosteus aculeatus, Three-spined Stickleback) - underyearling
Красноперка (Scardinius erythrophthalmus, Rudd)
Красноперка (Scardinius erythrophthalmus, Rudd) - bottom
Красноперка (Scardinius erythrophthalmus, Rudd) - front
Красноперка (Scardinius erythrophthalmus, Rudd) - top
Кумжа (Salmo trutta, Sea trout)
Кумжа (Salmo trutta, Sea trout) - front
Кумжа (Salmo trutta, Sea trout) - underyearling
Лещ, подлещик (Abramis brama, Freshwater bream)
Лещ, подлещик (Abramis brama, Freshwater bream) - bottom
Лещ, подлещик (Abramis brama, Freshwater bream) - front
Лещ, подлещик (Abramis brama, Freshwater bream) - top
Линь (Tinca tinca, Tench)
Линь (Tinca tinca, Tench) - bottom
Линь (Tinca tinca, Tench) - front
Линь (Tinca tinca, Tench) - top
Линь золотой (Tinca tinca, Gold tench)
Миксины (Myxini, Hagfish)
Минога (Lampetra, Lamprey)
Минога речная (Lampetra fluviatilis, River lamprey)
Минога ручьевая (Lamperta planeri, European brook lamprey)
Минога украинская (Eudontomyzon mariae, Ukrainian brook lamprey)
Налим (Lota lota, Burbot)
Налим (Lota lota, Burbot) - bottom
Налим (Lota lota, Burbot) - front
Окунь речной (Perca fluviatilis, European perch)
Окунь речной (Perca fluviatilis, European perch) - bottom
Окунь речной (Perca fluviatilis, European perch) - front
Окунь речной (Perca fluviatilis, European perch) - top
Осётр русский (Acipenser gueldenstaedtii, Danube sturgeon)
Осётр русский (Acipenser gueldenstaedtii, Danube sturgeon) - bottom
Осётр русский (Acipenser gueldenstaedtii, Danube sturgeon) - front
Осётр русский (Acipenser gueldenstaedtii, Danube sturgeon) - top
Осётр сибирский (Acipenser baerii, Siberian Sturgeon)
Пелядь (Coregonus peled, Peled)
Пескарь белопёрый (Romanogobio albipinnatus, White-finned gudgeon)
Пескарь обыкновенный (Gobio gobio, Gudgeon)
Пескарь обыкновенный (Gobio gobio, Gudgeon) - bottom
Пескарь обыкновенный (Gobio gobio, Gudgeon) - front
Пескарь обыкновенный (Gobio gobio, Gudgeon) - top
Плотва (Rutilus rutilus, Roach)
Плотва (Rutilus rutilus, Roach) - bottom
Плотва (Rutilus rutilus, Roach) - front
Плотва (Rutilus rutilus, Roach) - top
Подкаменщик обыкновенный (Cottus gobio, European Bullhead)
Подлещик (Abramis brama, Freshwater bream) - less 1 kg
Подуст (Chondrostoma nasus, Common nase)
Подуст (Chondrostoma nasus, Common nase) - front
Подуст (Chondrostoma nasus, Common nase) - top
Пуголовка звездчатая  (Benthophilus stellatus, Stellate tadpole-goby)
Рак (Orconectes limosus, Spiny-cheek Crayfish
Рак американский сигнальный (Pacifastacus leniusculus, Signal Crayfish)
Рак узкопалый (Astacus leptodactylus, Danube crayfish)
Рак узкопалый (Astacus leptodactylus, Danube crayfish) - bottom
Рак широкопалый (Astacus astacus, European crayfish)
Ротан (Perccottus glenii, Chinese sleeper)
Ротан (Perccottus glenii, Chinese sleeper) - front
Рыбец, сырть (Vimba vimba, Vimba bream)
Ряпушка европейская (Coregonus albula, Vendace)
Сазан (Cyprinus carpio, Common carp)
Сазан (Cyprinus carpio, Common carp) - bottom
Сазан (Cyprinus carpio, Common carp) - front
Сазан (Cyprinus carpio, Common carp) - top
Сарган (Belone belone, Garfish)
Сиг (Coregonus maraenoides, Peipsi whitefish)
Синец (Abramis ballerus, Zope)
Снеток, корюшка европейская (Osmerus eperlanus, European smelt)
Солнечный окунь (Lepomis megalotis, Longear Sunfish)
Сом европейский (Silurus glanis, Sheatfish)
Сом европейский (Silurus glanis, Sheatfish) - bottom
Сом европейский (Silurus glanis, Sheatfish) - front
Сом европейский (Silurus glanis, Sheatfish) - top
Сом европейский альбинос (Silurus glanis albino, Sheatfish)
Сомик американский (Ameiurus nebulosus, Brown bullhead)
Сомик канальный (Ictalurus punctatus, Channel catfish)
Стерлядь (Acipenser ruthenus, Sterlet sturgeon)
Стерлядь (Acipenser ruthenus, Sterlet sturgeon) - front
Судак (Lucioperca lucioperca, Pike-perch)
Судак (Lucioperca lucioperca, Pike-perch) - bottom
Судак (Lucioperca lucioperca, Pike-perch) - front
Судак (Lucioperca lucioperca, Pike-perch) - top
Сёмга (Salmo salar, Atlantic salmon)
Тиляпия зебровая (Буттикофера) (Tilapia buttikoferi, Zebra tilapia)
Тиляпия нильская (Oreochromis niloticus, Nile Tilapia)
Тиляпия нильская (Oreochromis niloticus, Nile Tilapia) - bottom
Тиляпия нильская (Oreochromis niloticus, Nile Tilapia) - front
Тиляпия нильская (Oreochromis niloticus, Nile Tilapia) - top
Тиляпия нильская красная (Oreochromis niloticus, Red Nile tilapia)
Тиляпия тигровая (Pelmatolapia mariae, Spotted tilapia)
Толстолобик белый (Hypophthalmichthys molitrix, Silver carp)
Толстолобик белый (Hypophthalmichthys molitrix, Silver carp) - front
Толстолобик золотой (Hypophthalmichthys nobilis, Gold carp)
Толстолобик пёстрый (Hypophthalmichthys nobilis, Bighead Carp)
Толстолобик пёстрый (Hypophthalmichthys nobilis, Bighead Carp) - bottom
Толстолобик пёстрый (Hypophthalmichthys nobilis, Bighead Carp) - front
Толстолобик пёстрый (Hypophthalmichthys nobilis, Bighead Carp) - top
Тюлька (Clupeonella cultriventris, Black and Caspian Sea sprat)
Угорь морской (Conger conger, European conger)
Угорь морской (Conger conger, European conger) - underyearling
Угорь речной (Anguilla anguilla, European Eel)
Угорь электрический (Electrophorus electricus, Electric eel)
Уклейка (Alburnus alburnus, Bleak)
Усач (Barbus barbus, Barbel)
Форель радужная (Oncorhynchus mykiss, Rainbow trout)
Форель ручьевая (Salmo trutta morpha fario, River trout)
Хариус (Thymallus thymallus, Grayling)
Хариус (Thymallus thymallus, Grayling) - front
Хариус (Thymallus thymallus, Grayling) - top
Чебачок амурский (Pseudorasbora parva, Stone moroko)
Чехонь (Pelecus cultratus, Sichel)
Чехонь (Pelecus cultratus, Sichel) - front
Щиповка золотистая (Sabanejewia aurata, Golden spined loach)
Щиповка обыкновенная (Cobitis taenia, Spined loach)
Щука (Esox lucius, Northern pike)
Щука (Esox lucius, Northern pike) - bottom
Щука (Esox lucius, Northern pike) - front
Щука (Esox lucius, Northern pike) - top
Щука (Esox lucius, Northern pike) - underyearling
Щука амурская (Esox reicherti, Amur pike)
Язь (Leuciscus idus, Ide)
Язь (Leuciscus idus, Ide) - bottom
Язь (Leuciscus idus, Ide) - front
Язь (Leuciscus idus, Ide) - top
Язь золотой (Leuciscus idus orfa, , Gold ide)

 
В ближайшее время будет доступен публично на базе этой нейронной сети сайт-сервис (REST API), отдельное мобильное приложение, а также viber-бот, которые уже сейчас умеют и содержат следующую информацию:
- распознавать по фотографии любого качества более 2000 видов подводных обитателей
- гастрономическая ценность каждой рыбы (калории, витамины, белки, жиры, углеводы и т.д.)
- халяльная (кошерная) или нет
- названия на всех основных языках (для многих видов более чем на 20 языках)
- альтернативные названия данного вида рыбы на каждом из языков (напр. рыбец (сырть), снеток (корюшка европейская))
- находится ли в Красной книге (исчезающий вид)
- опасность для человека в природе (да/нет)
- опасность употребления в пищу из-за содержания токсинов, ртути и т.д. (да/нет), из-за паразитов
- наличие опасных для человека паразитов (см. напр. книгу "Паразиты рыб опасные для человека (Смирнова К.)")
- разрешен ли вылов данной рыбы в каждой стране в выбранный период времени (для мобильного приложения по GPS)
- регион обитания вида на карте (стран и конкретных водоемов, рек…)
- пресноводная или морская / смешанный ?
- промысловая ценность (рыбохозяйственное значение)
- "степень вымирания" (редкость рыбы), графики уменьшения кол-ва по годам
- размеры (диапазон)
- продолжительность жизни
- максимально зарегистрированный вес (размер) + рейтинг самых больших выловленных рыб выловленных этого вида
- когда и при каких условиях (температура) проходит нерест
- пути миграции на карте
- ссылка на источники (книги с указанием стр.) с описанием рыбы и ссылка в wiki
- точная научная классификация (класс – отряд – семейство…)
- автор таксона
- номер в каждой базе таксонов (itis, ncbi, eol, cabi и др.)
- информация на что и когда лучше ловить
 
Пример обучения нейросети и ее рыботы:
demo_2.jpg
VIDEO:
g_video.mp4
 
Прошу всех желающих в этой теме, соблюдая требование к качеству изображения (см. выше) провести тестирование этого telegram-бота и нейронной сети для рыб обитающих в Республике Беларусь, а также высказать свои пожелания и замечания к самой идее этого продукта и его реализации, будущему и необходимости подобного приложения.
 
Часть 2)
Прикладное применение созданной нейросети

 
Первым практическим применением нейросети стало создание подводного автономного дрона, напечатанного на 3D-принтере, который может производить различную работу – фотографировать или производить отлов конкретного вида. Вы можете указать ему, какой вид трофея и его размер он должен доставить Вам или просто указать координаты, где необходимо произвести нужный результативный нырок.
 
uw_drons_1.pnguw_drons_2.jpg
 
Наблюдение за работой подводных дронов возможно также через очки VR:
vr_underwater.jpg
 
Прошу высказаться в этой теме о том, каким Вам видится будущее подводной охоты/дайвинга и др. подводной активности в симбиозе с технологиями будущего… Например, ниже я привел несколько примеров использования таких технологий в ближайшем будущем.
 
Достаточно безумные, но осуществимые решения использования данной нейросети и computer vision в подводной охоте/дайвинге:
- подводная маска с дополненной реальностью и подписью всех наблюдаемых объектов, степенью их опасности и т.д.
- синхронизация спускового крючка с тем, что находится перед ружьем – запрет на выстрел, если это человек или запрещенный краснокнижный обитатель.
 
p.s. Кроме распознавания подводных обитателей, подготовлены также датасеты грибов, животных, растений, деревьев, следов животных и их распознавание планируется добавить в первом квартале 2021 г. Также сейчас уже проходит тестирование отдельная нейросеть, определяющая многие виды рыб: по чешуе, икре, прошедшей термическую или иную обработку (сушеная), по текстуре волокон мяса и т.д.
 
 
Часть 3)
Ваши комментарии и видение технологического будущего подводной охоты, дайвинга, фридайвинга, акватлона очень желанны в этой теме


Также, если Вы располагаете хорошими фотографиями подводных обитателей, Вы можете передать их через этого telegram-бота http://t.me/FishDetectBot или @admin любым удобным Вам способом - этим Вы поспособствуете в улучшении качества будущих предсказаний и внесете свой значимый вклад в развитие технологического прогресса.

  • Upvote 1
Link to comment
Share on other sites

  • 4 weeks later...
  • Администраторы

Дополнительно создан telegram-bot по определению 1394 видов грибов (на 01.12.2020) http://t.me/FungiDetectBot

или, ввиду блокировки адреса t.me в Беларуси, просто ввести в telegram "FungiDetect"

 

Список определяемых грибов прикреплен.

fungi_class_labels.txt

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...