Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

История [ править ]

Алгоритм Fly - это тип совместной коэволюции, основанный на парижском подходе. [1] Алгоритм Fly был впервые разработан в 1999 году в рамках применения эволюционных алгоритмов к компьютерному стереозрению . [2] [3] В отличие от классического подхода к стереовидению на основе изображений, который извлекает примитивы изображения, а затем сопоставляет их для получения трехмерной информации, Fly Agorithm основан на прямом исследовании трехмерного пространства сцены. . Муха определяется как трехмерная точка, описываемая ее координатами ( x , y , z). После того, как случайная популяция мух была создана в пространстве поиска, соответствующем полю зрения камер, ее эволюция (на основе парадигмы эволюционной стратегии) ​​использовала функцию приспособленности, которая оценивает, насколько вероятно, что муха лежит на видимой поверхности. объект, основанный на согласованности его проекций изображения. С этой целью фитнес-функция использует уровни серого, цвета и / или текстуры рассчитанных проекций мухи.

Первой областью применения алгоритма полета было стереозрение. [2] [3] [4] [5] В то время как классические подходы с «приоритетом изображения» используют функции сопоставления из стереоизображений для построения трехмерной модели, алгоритм Fly непосредственно исследует трехмерное пространство и использует данные изображения. для оценки обоснованности 3-D гипотез. Вариант, названный «Динамические мухи», определяет муху как шестерку ( x , y , z , x ' , y' , z ' ), включающую скорость мухи. [6] [7]Компоненты скорости явно не учитываются при вычислении приспособленности, но используются при обновлении положений мух и подвергаются аналогичным генетическим операторам (мутация, кроссовер).

Применение мух для предотвращения препятствий в транспортных средствах [8] использует тот факт, что популяция мух представляет собой согласованное со временем, квазинепрерывно развивающееся представление сцены, чтобы напрямую генерировать управляющие сигналы транспортного средства от мух. Использование алгоритма Fly не ограничивается строго стереоизображениями, поскольку могут быть добавлены другие датчики (например, акустические датчики приближения и т. Д.) В качестве дополнительных условий к оптимизируемой функции приспособленности. Информация об одометрии также может использоваться для ускорения обновления местоположения мух, и, наоборот, положения мух могут использоваться для предоставления информации о местоположении и картировании. [9]

Еще одна область применения алгоритма Fly - реконструкция для эмиссионной томографии в ядерной медицине . Алгоритм Fly успешно применяется в однофотонной эмиссионной компьютерной томографии [10] и позитронно-эмиссионной томографии [11] . [12] Здесь каждая муха считается излучателем фотонов, и ее пригодность основана на соответствии смоделированного освещения датчиков реальной картине, наблюдаемой на датчиках. В этом приложении функция приспособленности была переопределена, чтобы использовать новую концепцию «предельной оценки». Здесь приспособленность одного человека рассчитывается как его (положительный или отрицательный) вклад в качество населения мира. Он основан напринцип перекрестной проверки с исключением по одному . Глобальная функция пригодности оценивает качество населения в целом; только тогда приспособленность особи (мухи) рассчитывается как разница между глобальными значениями приспособленности популяции с конкретной мухой и без нее , индивидуальная функция приспособленности которой должна быть оценена. [13] [14] В [15] приспособленность каждой мухи рассматривается как "уровень достоверности". Он используется во время процесса вокселизации, чтобы настроить индивидуальный след мухи с помощью неявного моделирования (например, метабаллов ). Он дает более плавные и точные результаты.

Совсем недавно он использовался в цифровом искусстве для создания мозаичных изображений или аэрозольной краски. [16] Примеры изображений можно найти на YouTube.

Парижская эволюция [ править ]

Здесь совокупность индивидов рассматривается как общество, в котором индивиды сотрудничают для достижения общей цели. Это реализовано с использованием эволюционного алгоритма, который включает в себя все общие генетические операторы (например, мутацию, кроссинговер, отбор). Главное отличие в фитнес-функции. Здесь используются два уровня фитнес-функции:

  • Функция локальной пригодности для оценки результатов работы конкретного человека (обычно используется в процессе отбора).
  • Глобальная фитнес-функция для оценки работоспособности всего населения. Максимизация (или минимизация в зависимости от рассматриваемой проблемы) этого глобального приспособления является целью населения.

Кроме того, требуется механизм разнообразия, чтобы люди не собирались только в нескольких областях пространства поиска. Другое отличие заключается в извлечении решения проблемы после завершения цикла эволюции. В классических эволюционных подходах лучшая особь соответствует решению, а остальная часть популяции отбрасывается. Здесь все люди (или отдельные лица подгруппы населения) сопоставляются для построения решения проблемы. То, как построены фитнес-функции и как производится извлечение решения, конечно, зависит от задачи.

Примеры приложений Parisian Evolution:

  • Алгоритм Fly .
  • Текстовый майнинг .
  • Распознавание жестов рук .
  • Моделирование сложных взаимодействий в промышленном агропродовольственном процессе .
  • Реконструкция позитронно-эмиссионной томографии .

Устранение неоднозначности [ править ]

Парижский подход против кооперативной коэволюции [ править ]

Кооперативная коэволюция - это широкий класс эволюционных алгоритмов, в которых сложная проблема решается путем разложения ее на подкомпоненты, которые решаются независимо. Парижский подход имеет много общего с кооперативным коэволюционным алгоритмом . Парижский подход использует единственную популяцию, тогда как многовидовые могут использоваться в кооперативном коэволюционном алгоритме . Подобные внутренние эволюционные двигатели рассматриваются в классическом эволюционном алгоритме , кооперативном коэволюционном алгоритме и парижской эволюции. Разница между кооперативным коэволюционным алгоритмом и парижской эволюцией заключается в семантике популяции. Кооперативный коэволюционный алгоритм делит большую проблему на подзадачи (группы людей) и решает их отдельно в сторону большой проблемы. [17] Не существует взаимодействия / размножения между особями разных субпопуляций, только с особями одной и той же субпопуляции. Однако парижские эволюционные алгоритмы решают целую проблему как большой компонент. Все люди сотрудничают друг с другом, чтобы направить все население в привлекательные области поискового пространства.

Алгоритм полета против оптимизации роя частиц [ править ]

Кооперативная коэволюция и оптимизация роя частиц (PSO) имеют много общего. PSO вдохновлен социальным поведением стай птиц или стай рыб. [18] [19] Первоначально он был представлен как инструмент для реалистичной анимации в компьютерной графике. Он использует сложных людей, которые взаимодействуют друг с другом, чтобы создать визуально реалистичное коллективное поведение путем корректировки правил поведения людей (которые могут использовать случайные генераторы). В математической оптимизации каждая частица роя каким-то образом следует своему собственному случайному пути, смещенному в сторону лучшей частицы роя. В алгоритме полета мухи нацелены на построение пространственных представлений сцены на основе реальных данных датчиков; мухи не общаются, не взаимодействуют явно и не используют никаких поведенческих моделей.

Оба алгоритма представляют собой методы поиска, которые начинаются с набора случайных решений, которые итеративно корректируются до глобального оптимума. Однако решение проблемы оптимизации в алгоритме Fly - это популяция (или подмножество популяции): мухи неявно сотрудничают, чтобы построить решение. В PSO решение представляет собой единственную частицу, наиболее пригодную для использования. Еще одно главное отличие алгоритма Fly от PSO заключается в том, что алгоритм Fly не основан на какой-либо модели поведения, а только строит геометрическое представление.

Применение алгоритма Fly [ править ]

  • Компьютерное стереозрение [2] [3] [4] [5]
  • Избегание препятствий [6] [8] [7]
  • Одновременная локализация и отображение (SLAM) [9]
  • Реконструкция с помощью однофотонной эмиссионной компьютерной томографии (ОФЭКТ) [10]
  • Реконструкция с помощью позитронно-эмиссионной томографии (ПЭТ) [11] [12] [13] [14] [15] [20]
  • Цифровое искусство [16] [21]


Пример: реконструкция томографии [ править ]

Пример реконструкции фантома хот-рода с использованием алгоритма Fly.

Реконструкция томографии - это обратная задача, которая часто некорректно ставится из-за отсутствия данных и / или шума. Ответ на обратную задачу не однозначен, и в случае экстремального уровня шума он может даже не существовать. Входные данные алгоритма восстановления могут быть представлены в виде преобразования Радона или синограммы данных для восстановления . неизвестно; известен. Сбор данных в томографии можно смоделировать как:

где - матрица системы или оператор проекции и соответствует некоторому пуассоновскому шуму . В этом случае реконструкция соответствует обращению преобразования Радона :

Обратите внимание, что он может учитывать шум, геометрию сбора данных и т. Д. Алгоритм Fly является примером итеративной реконструкции . Итерационные методы томографической реконструкции относительно легко моделировать:

где является оценкой , что сводит к минимуму метрики ошибки (здесь л 2 -норма , но и другие метрики ошибок могут быть использованы) между и . Обратите внимание, что можно ввести термин регуляризации для предотвращения переобучения и сглаживания шума при сохранении краев. Итерационные методы могут быть реализованы следующим образом:

Итерационная коррекция при реконструкции томографии.
 (i) Реконструкция начинается с использования начальной оценки изображения (обычно постоянного изображения), (ii) Данные проекции рассчитываются на основе этого изображения, (iii) оценочные прогнозы сравниваются с измеренными прогнозами, (iv) Внесены исправления для исправления оценочного изображения, и (v) Алгоритм повторяется до сходимости оцененных и измеренных наборов проекций.

Псевдокод ниже описание шаг за шагом Мухи алгоритма для томографической реконструкции . Алгоритм следует парадигме установившегося состояния. В иллюстративных целях игнорируются продвинутые генетические операторы, такие как митоз, двойная мутация и т. Д. [22] [23] . JavaScript реализации можно найти на Fly4PET .


Алгоритм Муха-алгоритм является  ввод: количество мух ( N ), входные данные проекции ( ссылка p )  вывод: популяция мух ( F ), прогнозы, оцененные из F ( оценка p ) трехмерный объем, соответствующий вокселизации F ( V F )  Постусловие: разница между p оцененным и p эталонным минимальна.  НАЧНИТЕ  1. // Инициализация 2. // Установите положение N мух, т.е. создайте начальное предположение 3. для каждой мухи i  в популяции мух F  do 4. F ( i ) x ← random (0, 1) 5. F ( i ) y ← random (0, 1) 6. F ( i ) z ← random (0, 1) 7. Добавьте прогноз F ( i ) в p оцениваемый 8.  9. // Вычислить производительность населения (т.е. глобального фитнес)
10. G фитнес ( F ) ← Ошибка метрика ( р ссылка , р оценки )11. 12. f kill ← Выбрать случайный налет F13. 14. Убрать вклад f kill из p оцениваемой15. 16. // Вычислить производительность населения без ф убийств
17. G фитнес ( F - { е убийства }) ← Error метрика ( р ссылки , р оценок )18. 19. // Сравните характеристики, т.е. вычислите локальную приспособленность мухи20. L фитнес ( f kill ) ← G фитнес ( F - { f kill }) - G фитнес ( F )21. 22. Если локальная пригодность больше 0, // пороговый выбор плохой мухи, которую можно убить23. затем переходите к шагу 26. // f kill - хорошая муха (производительность популяции лучше, если включено f kill ): мы не должны ее убивать
24. иначе переходите к шагу 28. // f kill - плохая муха (производительность популяции хуже при включении f kill ): мы можем избавиться от этого25. 26. Восстановите вклад мухи, затем перейдите к шагу 12.27. 28. Выберите генетического оператора.29. 30. Если генетический оператор - мутация,31. затем переходите к Шагу 34.32. иначе переходите к Шагу 50.33. 34. f воспроизвести ← Выбрать случайную муху F35. 14. Удалите вклад f воспроизводить из p оцениваемой37. 38. // Вычислить производительность населения без ф воспроизведи
39. G фитнес ( F - { е воспроизводимого }) ← Error метрика ( р ссылки , р оценок )40. 41. // Сравните характеристики, т. Е. Вычислите локальную приспособленность мухи42. L фитнес ( f воспроизводить ) ← G фитнес ( F - { f воспроизводить }) - G фитнес ( F )43. 44. Восстановить вклад мухи.45. 46. Если местная приспособленность ниже или равна 0, // Пороговая выборка хорошей мухи, способной воспроизводить47. иначе переходите к шагу 34. // f kill - плохая муха: мы не должны позволять ему воспроизводить
48. затем переходить к шагу 53. // f kill - хорошая муха: мы можем позволить ему воспроизвести49. 50. // New blood / Immigration
51. Замените f kill на новую муху со случайной позицией, переходите к шагу 57.52. 53. // Мутация
54. Копировать е воспроизвести Into ф убить
55. Слегка случайно альтер F убить «сек позиции56. 57. Добавьте вклад новой мухи в популяцию.58. 59. Если остановить реконструкцию,60. затем переходите к Шагу 63.61. иначе переходите к шагу 10.62. 63. // Экстракт раствора
64. V F ← вокселизация F65. 66. возврат  V F  КОНЕЦ

Пример: цифровое искусство [ править ]

Эволюционный поиск.
Изображение восстановлено после оптимизации с использованием набора полос в качестве шаблона для каждой плитки.

В этом примере входное изображение должно быть аппроксимировано набором плиток (например, как в древней мозаике ). Плитка имеет ориентацию (угол θ), три цветовых компонента (R, G, B), размер (w, h) и положение (x, y, z). Если есть N плитка, есть 9 Nнеизвестные числа с плавающей запятой, чтобы угадать. Другими словами, для 5000 плиток нужно найти 45000 чисел. Используя классический эволюционный алгоритм, в котором ответ на проблему оптимизации - лучший человек, геном человека будет состоять из 45 000 генов. Такой подход был бы чрезвычайно дорогостоящим с точки зрения сложности и вычислительного времени. То же самое относится к любому классическому алгоритму оптимизации. Используя алгоритм Fly, каждый человек имитирует плитку и может быть индивидуально оценен с использованием его локальной пригодности для оценки его вклада в производительность популяции (глобальная пригодность). Здесь у особи 9 генов вместо 9 N , а особей N N. Ее можно решить как задачу реконструкции следующим образом:

где - входное изображение, и - координаты пикселей по горизонтальной и вертикальной осям соответственно, и - ширина и высота изображения в количестве пикселей соответственно, - популяция мух, и - оператор проекции, который создает изображение из мух. Этот оператор проекции может принимать разные формы. В своей работе З. Али Абудд [16] использует OpenGL для создания различных эффектов (например, мозаики или аэрозольной краски). Для ускорения оценки фитнес-функций также используется OpenCL . Алгоритм начинается с случайно генерируемой популяции (см. Строку 3 в алгоритме выше).затем оценивается с использованием глобальной пригодности для вычислений (см. Строку 10). это показатель погрешности, его необходимо минимизировать.

См. Также [ править ]

  • Математическая оптимизация
  • Метаэвристический
  • Алгоритм поиска
  • Стохастическая оптимизация
  • Эволюционные вычисления
  • Эволюционный алгоритм
  • Генетический алгоритм
  • Мутация (генетический алгоритм)
  • Кроссовер (генетический алгоритм)
  • Отбор (генетический алгоритм)

Ссылки [ править ]

  1. ^ Колле, Пьер; Лоше, Жан (октябрь 2009 г.). «Искусственная эволюция и парижский подход: приложения в обработке сигналов и изображений». В Сиарри, Патрик (ред.). Оптимизация обработки сигналов и изображений . Wiley-ISTE. ISBN 9781848210448.
  2. ^ a b c Louchet, Жан (февраль 2000 г.). L'algorithme des mouches: un stratégie d'évolution индивидуальная аппликация en stéréovision . Reconnaissance des Formes et Intelligence Artificielle (RFIA2000).
  3. ^ a b c Louchet, Жан (сентябрь 2000 г.). Стереоанализ с использованием индивидуальной стратегии эволюции . Труды 15-й Международной конференции по распознаванию образов, 2000 (ICPR'00). Барселона, Испания: IEEE. С. 908–911. DOI : 10.1109 / ICPR.2000.905580 . ISBN 0-7695-0750-6.
  4. ^ a b Louchet, Жан (июнь 2001 г.). «Использование индивидуальной стратегии развития стереозрения». Генетическое программирование и эволюционирующие машины . 2 (2): 101–109. DOI : 10,1023 / A: 1011544128842 . S2CID 8953837 . 
  5. ^ a b Бумаза, Амин; Лоше, Жан (апрель 2003 г.). «Слияние сенсоров мобильного робота с помощью мух». Конспект лекций по информатике . Европейская конференция по генетическому программированию (EuroGP 2003). 2611 . Эссекс, Великобритания: Springer. С. 357–367. DOI : 10.1007 / 3-540-36605-9_33 . ISBN 978-3-540-00976-4.
  6. ^ a b Луше, Жан; Гийон, Мод; Лесо, Мари-Жанна; Бумаза, Амин (март 2002 г.). "Алгоритм динамических движений: руководство и робот, произведенный искусственно и в реальном времени" (PDF) . В Латто, Клод (ред.). Apprentissage Automatique et Evolution Artificielle (на французском языке). Публикации Hermes Sciences. ISBN  978-2746203600.
  7. ^ a b Луше, Жан; Гийон, Мод; Лесо, Мари-Жанна; Бумаза, Амин (январь 2002 г.). «Dynamic Flies: новый инструмент распознавания образов, применяемый для обработки стереопоследовательностей» (PDF) . Письма о распознавании образов . 23 (1–3): 335–345. DOI : 10.1016 / S0167-8655 (01) 00129-5 .
  8. ^ a b Бумаза, Амин; Лоше, Жан (апрель 2001 г.). «Динамические мухи: использование эволюции в робототехнике в реальном времени». Конспект лекций по информатике . Искусственная эволюция в анализе изображений и обработке сигналов (EVOIASP2001). 2037 . Комо, Италия: Спрингер. С. 288–297. DOI : 10.1007 / 3-540-45365-2_30 . ISBN 978-3-540-41920-4.
  9. ^ a b Луше, Жан; Сапин, Эммануэль (2009). «Мухи открывают дверь, чтобы хлопнуть». Конспект лекций по информатике . Приложения эволюционных вычислений (EvoApplications 2009). 5484 . Тюбинген, Германия: Springer. С. 385–394. DOI : 10.1007 / 978-3-642-01129-0_43 .
  10. ^ a b Буске, Орели; Луше, Жан-Мари; Роккизани, Жан (октябрь 2007 г.). «Полностью трехмерная томографическая эволюционная реконструкция в ядерной медицине» (PDF) . Конспект лекций по информатике . Материалы 8-й международной конференции по искусственной эволюции (EA'07). 4926 . Тур, Франция: Шпрингер, Гейдельберг. С. 231–242. DOI : 10.1007 / 978-3-540-79305-2_20 . ISBN  978-3-540-79304-5.
  11. ^ a b Видаль, Франк П .; Лазаро-Понт, Дельфина; Легупиль, Самуэль; Лоше, Жан; Латтон, Эвелин; Роккизани, Жан-Мари (октябрь 2009 г.). «Искусственная эволюция для 3D реконструкции ПЭТ» (PDF) . Конспект лекций по информатике . Материалы 9-й международной конференции по искусственной эволюции (EA'09). 5975 . Страсбург, Франция: Шпрингер, Гейдельберг. С. 37–48. DOI : 10.1007 / 978-3-642-14156-0_4 . ISBN  978-3-642-14155-3.
  12. ^ a b Видаль, Франк П .; Лоше, Жан; Латтон, Эвелин; Роккизани, Жан-Мари (октябрь – ноябрь 2009 г.). «Реконструкция ПЭТ с использованием стратегии совместной коэволюции в пространстве LOR». IEEE Nuclear Science Symposium Conference Record (NSS / MIC), 2009 . Конференция по медицинской визуализации (MIC). Орландо, Флорида: IEEE. С. 3363–3366. DOI : 10,1109 / NSSMIC.2009.5401758 .
  13. ^ a b Видаль, Франк П .; Лоше, Жан; Роккизани, Жан-Мари; Луттон, Эвелин (апрель 2010 г.). «Новые генетические операторы в алгоритме Fly: приложение для реконструкции медицинских изображений с помощью ПЭТ» (PDF) . Конспект лекций по информатике . Европейский семинар по эволюционным вычислениям в анализе изображений и обработке сигналов (EvoIASP'10). 6024 . Стамбул, Турция: Шпрингер, Гейдельберг. С. 292–301. DOI : 10.1007 / 978-3-642-12239-2_30 . ISBN  978-3-642-12238-5.
  14. ^ a b Видаль, Франк П .; Латтон, Эвелин; Лоше, Жан; Роккизани, Жан-Мари (сентябрь 2010 г.). «Пороговый отбор, митоз и двойная мутация в кооперативной коэволюции: приложение к медицинской трехмерной томографии» (PDF) . Конспект лекций по информатике . Международная конференция по параллельному решению проблем с помощью натуры (PPSN'10). 6238 . Краков, Польша: Шпрингер, Гейдельберг. С. 414–423. DOI : 10.1007 / 978-3-642-15844-5_42 .
  15. ^ а б Али Аббуд, Зайнаб; Lavauzelle, Julien; Латтон, Эвелин; Роккизани, Жан-Мари; Лоше, Жан; Видаль, Франк П. (2017). «Вокселизация в алгоритме 3-D Fly для ПЭТ» (PDF) . Рой и эволюционные вычисления . 36 : 91–105. DOI : 10.1016 / j.swevo.2017.04.001 . ISSN 2210-6502 .  
  16. ^ a b c Али Аббуд, Зайнаб; Амлал, Осман; Видаль, Франк П. (апрель 2017 г.). «Эволюционное искусство с использованием алгоритма полета» (PDF) . Конспект лекций по информатике . Приложения эволюционных вычислений (EvoApplications 2017). 10199 . Амстердам, Нидерланды: Springer. С. 455–470. DOI : 10.1007 / 978-3-319-55849-3_30 .
  17. ^ Месехо, Пабло; Ибанез, Оскар; Фернандес-бланко, Энрике; Седрон, Франсиско; Пазос, Алехандро; Порто-Пазос, Ана (2015). «Искусственный нейрон - подход к обучению сетей глии, основанный на кооперативной коэволюции» (PDF) . Международный журнал нейронных систем . 25 (4): 1550012. DOI : 10,1142 / S0129065715500124 . ЛВП : 2183/17502 . PMID 25843127 .  
  18. ^ Кеннеди, J; Эберхарт, Р. (1995). Оптимизация роя частиц . Труды Международной конференции IEEE по нейронным сетям. IEEE. С. 1942–1948. DOI : 10.1109 / ICNN.1995.488968 .
  19. ^ Ши, Y; Эберхарт, Р. (1998). Модифицированный оптимизатор роя частиц . Труды Международной конференции IEEE по эволюционным вычислениям. IEEE. С. 69–73. DOI : 10.1109 / ICEC.1998.699146 .
  20. ^ Abbood, Зайнаб Али; Видаль, Франк П. (2017). «Основные, двойные, адаптивные и направленные операторы мутации в алгоритме полета». Конспект лекций по информатике . 13-я Биеннальная международная конференция по искусственной эволюции (EA-2017). Париж, Франция. С. 106–119. ISBN 978-2-9539267-7-4.
  21. ^ Abbood, Зайнаб Али; Видаль, Франк П. (октябрь 2017 г.). «Fly4Arts: эволюционное цифровое искусство с алгоритмом Fly» . Искусство и наука . 17–1 (1): 1–6. DOI : 10.21494 / ISTE.OP.2017.0177 .
  22. ^ Видаль, Франк П .; Латтон, Эвелин; Лоше, Жан; Роккизани, Жан-Мари (сентябрь 2010 г.). «Пороговый отбор, митоз и двойная мутация в кооперативной коэволюции: приложение к медицинской трехмерной томографии» (PDF) . Конспект лекций по информатике . Параллельное решение проблем с натуры - PPSN XI. 6238 . Краков, Польша: Springer Berlin / Heidelberg. С. 414–423. DOI : 10.1007 / 978-3-642-15844-5_42 . ISBN  978-3-642-15843-8.
  23. ^ Али Аббуд, Зайнаб; Видаль, Франк П. (октябрь 2017 г.). «Основные, двойные, адаптивные и направленные операторы мутации в алгоритме полета». Конспект лекций по информатике . 13-я Биеннальная международная конференция по искусственной эволюции. Париж, Франция: Springer-Verlag.