Перейти к содержанию
    

есть задачи! на чем делать?

Добрый день!

Есть интересная задача, а точнее целый круг задач, основой для которых является

распознование объектов на видеоизображении в реальном времени. Хочется подступиться к этим

задачам с помощью ПЛИС. Кто-нибудь брался за подобное? И какими средствами, есть ли

подходящие для таких задач evolution board у Altera или Xilinx? Может посоветуете

литературу?

К сожалению, пока обпыт работы с ПЛИС ограничивается разработкой простого видеоконтроллера

для небольшого ЖК-монитора на первом Cyclone, поэтому мне трудно сразу оценить сложность

стоящих задач (понятно, что сложно, но насколько). Стоит добавить, что сами алгоритмы

распознования разработаны и работают в качестве программных продуктов на PC. Теперь

хочеться перенести это в "автономное" железо.

Заранее спасибо за любые советы и подсказки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для первоначальной реализации планируется взять алгоритмы без использования нейронных сетей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А не думали использовать DSP, ведь алгоритмические задачи удобно решать в процессоре.

По поводу Evaluation board - если говорить об Alter-e, то для таких задач, видимо готовые платы не пойдут, тут надо задуматься о довольно мощных FPGA, например, из серий Stratix-ов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нашел на сайте Xilinx такое предолжение:

Spartan-3E Display Development Kit

На первый взгляд кажется подходящим. Буду изучать подробнее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

Есть интересная задача, а точнее целый круг задач, основой для которых является

распознование объектов на видеоизображении в реальном времени. Хочется подступиться к этим

задачам с помощью ПЛИС. Кто-нибудь брался за подобное? И какими средствами, есть ли

подходящие для таких задач evolution board у Altera или Xilinx? Может посоветуете

литературу?

К сожалению, пока обпыт работы с ПЛИС ограничивается разработкой простого видеоконтроллера

для небольшого ЖК-монитора на первом Cyclone, поэтому мне трудно сразу оценить сложность

стоящих задач (понятно, что сложно, но насколько). Стоит добавить, что сами алгоритмы

распознования разработаны и работают в качестве программных продуктов на PC. Теперь

хочеться перенести это в "автономное" железо.

Заранее спасибо за любые советы и подсказки.

А что Вы подразумеваете под реальным временем в контексте задачи?

Это ведь может быть и интервал между кадрами и просто отрезок времени пока объект можно считать статичным.

Разница ведь может составить не один порядок.

Если Вы знакомы с ПЛИС и модель есть, то может лучше начать с составления

"бюджета требуемых затрат" вычислительной мощности.

Если математика с плавающей зпт, относительно сколько ее? или все удалось свести к целым.

IMHO, наиболее правильно сначала приводить модель максимально близко к языку HDL (verilog/vhdl и т.п.) или точнее к реализации в логике.

Как распараллеливается модель?

Т. е. сколько регионов/пикселов позволяет (или надо) обрабатывать одновременно.

 

Симуляция даст тестирование и требуемые затраты по быстродействию.

Реализация может вылится далеко не в одну ПЛИС, а группу, работающую параллельно.

evolution board Вам поможет разве что обкатать отдельные модули для оценки фактических выч. затрат

 

Я так подозреваю что алгоритм не может быть весьма статичным.

У него наверняка есть куча параметров, которые надо изменять в зависимости от условий.

Т. е. наличие в системе процессора для интерфейса с пользователем может оказаться весьма существенным.

Оптимальной может оказаться структура CPU + ПЛИС.

Например, ПЛИС делает черновую первичную обработку - то что хорошо параллелится и минимум плавающей математики.Почти все производители имеют чипы с блоками DSP.

А окончательное решение уже может ложится на процессор.

Здесь важен тип интерфейса CPU - ПЛИС.

 

Все зависит от математики, возможно она лучше ложится на DSP процессор и Вы на ПЛИС фактически его и реализуете, с большей затратой сил.

Хорошо адаптированная модель - сильно упростит систему.

В общем, чем лучше подготовить модель - тем меньше потом потери.

Что касается выбора ПЛИС - это уже на следующем этапе, когда имеете более конкретные требования к железу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, Vladimir, вы направили на путь истинный.

Мы действительно толком не оценили задачу...

Займемся сейчас этим, а после я надеюсь сформулировать вопрос конкретнее

Спасибо большое всем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что Вы подразумеваете под реальным временем в контексте задачи?

Это ведь может быть и интервал между кадрами и просто отрезок времени пока объект можно считать статичным.

Разница ведь может составить не один порядок.

Если Вы знакомы с ПЛИС и модель есть, то может лучше начать с составления

"бюджета требуемых затрат" вычислительной мощности.

Если математика с плавающей зпт, относительно сколько ее? или все удалось свести к целым.

IMHO, наиболее правильно сначала приводить модель максимально близко к языку HDL (verilog/vhdl и т.п.) или точнее к реализации в логике.

Как распараллеливается модель?

Т. е. сколько регионов/пикселов позволяет (или надо) обрабатывать одновременно.

 

Симуляция даст тестирование и требуемые затраты по быстродействию.

Реализация может вылится далеко не в одну ПЛИС, а группу, работающую параллельно.

evolution board Вам поможет разве что обкатать отдельные модули для оценки фактических выч. затрат

 

Я так подозреваю что алгоритм не может быть весьма статичным.

У него наверняка есть куча параметров, которые надо изменять в зависимости от условий.

Т. е. наличие в системе процессора для интерфейса с пользователем может оказаться весьма существенным.

Оптимальной может оказаться структура CPU + ПЛИС.

Например, ПЛИС делает черновую первичную обработку - то что хорошо параллелится и минимум плавающей математики.Почти все производители имеют чипы с блоками DSP.

А окончательное решение уже может ложится на процессор.

Здесь важен тип интерфейса CPU - ПЛИС.

 

Все зависит от математики, возможно она лучше ложится на DSP процессор и Вы на ПЛИС фактически его и реализуете, с большей затратой сил.

Хорошо адаптированная модель - сильно упростит систему.

В общем, чем лучше подготовить модель - тем меньше потом потери.

Что касается выбора ПЛИС - это уже на следующем этапе, когда имеете более конкретные требования к железу.

 

+1. Очень многое зависит от конкретного алгоритма, который требуется реализовать. Vladimir :a14: , говорит о правильном подходе, при котором будет результат, все остальное - "пальцем в небо". Зачастую в подобных задачах используется связка CPU (DSP) + ПЛИС, все зависит от алгоритма обработки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...