Pull to refresh

Comments 46

Подскажите пожалуйста кто нибудь, какая практическая польза? Для чего это вообще надо, где используется?
Столь простая задача в CV сама по себе бесполезна.
Ну и разрешение 150x150 @ 30fps мягко говоря не требует FPGA :)
Эта статья — обычная студенческая курсовая работа, по сути.

Yes, it is indeed a simple CV task and this is a just simple model for implementing the edge detection algorithm and in future, we hope to enhance in it using a different camera and different techniques. And yes, as you said it is just our course project as we mentioned in the article. But we choose this kind of projects as the first real practical project for us as a base to research and develop more in this area.
It is just the beginning of our work.
Thank you for your support and I hope that our future work will please you.

I understand, that we, Asian, all in one face for you, but Chinese language really different from Japanese. Google saw that 我什么都不知道。
— I do not know anything. on Chinese and My prefecture Shikoku way on Japanese language.
Why did you decide that it is Japanese?
Sorry, but want to ask. Is some English publication on habr included in your teaching plan?

Yes, our course project is to create the project then write an article on habr but our team is only two people and both of us don't know Russian. So, we wrote it in English. Thank you.

«both of us don't know Russian» it is excellent, especially сonsidering that you answer Russian comments :)))))
40 years ago we have lectures and seminars about chemical terodymamics in English only. Рeople was angry. But now I understatd that it was very usefull. Great practice in English! I'm glad to see, that the similar learning practice is used in modern Russian high school.

I am using Google Translate to translate the comments. Innopolis University (our university) is an international university and all the courses, curriculums, lectures and everything are only in English.

Really ??? You don't speak Russian ??? I'm shocked!!! From where are you? But maybe, maybe… Remember one funny case. I'm a motobiker. And one day I was on our motobike place. I was going to leave, but speak with mans. Suddenly appeared boy and girl. Both don't speak Russian absolutely! They are got lost. And cannot find metropoliten station. I was the only from mans, who can a little speak English. And I spent them to metro. When walk, talk a little. They are from Iceland. Boy works remote with Nokia. He was verilog developer. But I also verilog developer! It is not very often proffesion! When we find out this, we laugh long :))) Really, travel from Reykjavik to Moscow. Got lost in Moscow. And find a colleague onto far far motobike place! :)))
Ну надо с чего-то начинать. На мой взгляд неплохая статья и отличная курсовая с практической частью, что в моём вузе не хватало.

Yes, and the video illustrated our results.

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

Интересно понял что-то не так в середине статьи. Смотрю, а она на английском. :D


Но претензии все-таки есть:


To provide the 25MHz clock for the camera we used Phase-Locked Loop (PLL) which is a closed-loop frequency-control system to provide the needed clock from the 50MHz provided from the board.

Чтобы сделать из 50МГц, 25МГц, не нужен PLL. Нужен просто делитель на 2 — простой триггер. Или "Over-engineering is our lifestyle"?

Делить клок — это плохая практика для ПЛИС. Если не хочется PLL, то можно строб каждый второй клок.

Это сигнал, которой подается на внешную камеру. И конечно, решения можно всякие, но PLL всетаки перебор. ИМХО.

Всегда было интересно почему это плохая практика.

В основном потому, что такой клок страссируется не через специальную распределительную сеть, а через общую, как обычный сигнал (через множество коммутаторов и даже через ЛУТы). Это внесёт труднопрогнозируемую задержку и нарушения временных ограничений. Ну и трассировкой ресурс займёт. Поправьте меня, кто в теме.

Я потому и говорю что глобальный буфер. А как он получен, PLL или простым делением, дело уже десятое.
Почему собственно? Завел его в глобальный буфер и пользуйся.

Yes, there are a lot of simpler ways to do this as you said. But we were exploring the usage of PLL configuration tool that exists in IP catalog tool in Quartus Software. And I agree with you that this may seem to overkill the task and it is not the good practice to do it and in our future work, we will try to follow the good practices as we are still learning.
Thank you very much for this point.
I hope that I understand your comment correctly using Google translate.

За последний месяц это, наверное, третья статья на английском на Хабре. И все три про использование Cyclone IV. Как-то подозрительно
Если бы вы чуть внимательнее прочитали статьи, то заметили бы небольшую деталь — это статьи ребят из Иннополиса. Согласитесь, они пишут на хорошем английском на серьёзную тему — почему бы и нет? ;-)
Согласитесь, они пишут на хорошем английском на серьёзную тему — почему бы и нет? ;-)
Я не спец, но вместо скрипта на питоне в теме про FPGA, почему-то, ожидал, ну там, рулон кода на verilog или чем-то подобном. К английскому тоже есть вопросы, повторяться не буду. То, что молодцы — тоже спорить не буду: да, молодцы для первого курса.
Блин ну всё. Они меня уже достали. Нужно срочно разбавить русскоязычной статьёй! Вам интересен метод вычисления логарифма по основанию 2, не использующий CORDIC (а следовательно таблиц)? :))))
На самом деле лично мне интересны почти все статьи на Хабре. Могу с уверенностью сказать, что математические и околоматематические статьи интересны сообществу. Срочно пишите!
Срочно не получится, через полчасика где-то отбываю на собеседование. Кстати интересный довольно проект плюс на удалёнке. Вернусь напишу. Мне в прошлом проекте это здорово помогло. Алгоритм я кстати сам придумал. Хотя скорее всего он уже известен, ибо слишком простой.

As I understand from the translated text. We wrote a python script to compare our results of work with OpenCV results to ensure the performance and the accuracy of our work. And all our codes of Verilog on Github and the link: https://github.com/hany606/Real-time-edge-detection-on-FPGA it is also included in the article.
Thank you very much.

Если бы вы чуть внимательнее прочитали статьи, то заметили бы небольшую деталь — это статьи ребят из Иннополиса.

Простите, не понял. У них что, в план учебного процесса входит публикация на хабре на английском языке ??? Забавно кстати что и отвечает автор тоже по-английски. Нам в своё время лекции по химтермодинамике читали на английском и семинары по ней тоже вели на английском. Народ сначала возмущался, но потом привыкли, и даже нравилось. Правда было это почти 40 лет назад. Рад если сейчас где-то так же делают.
Скорей забавно :))
Сам собирался в этом хабе кое что публикнуть, теперь вот думаю, на каком языке это делать. Тем более речь всё о том же 4-м циклоне :)
Ради эксперимента опубликуйте на двух: пост и пост-перевод.
Нафиг!!! Из принципа на родном рабоче-крестьянском!!! :)))))

Пять лет спустя развеваю ваши подозрения. Все не просто, а очень просто. В 2018 году я купил и послал им в Иннополис именно эти платы Zeowaa. Там ректор мой приятель Тормасов, которого я знаю с первого курса МФТИ. Именно эти платы - потому что они были самые дешевыми с семисегментным индикатором и VGA. У них были иностранные студенты и они зарядили их писать отчеты по проектам на Хабре. На английском.

Вот как оно происходило:

https://www.facebook.com/yuri.panchul/posts/pfbid0T1ap51LRsnx8QvxDW3h2U8WgTFezs4JKbpRZZEdDWFr3X1CJhn64d4G5F4ssWUYFl

https://www.facebook.com/yuri.panchul/posts/pfbid022CCBEd2gXnvizdhZr7NmFVotznyDa3p27cc4a5kWfLsotEUt9h45puYQzKdBjaZSl

Правильные коэффициенты вообще говоря зависят от используемой камеры, т.к. не все камеры выдают результат в sRGB. Конкретно OV7670 не выдает, более того — там встроен DSP и для него вручную задается матрица преобразования цвета (регистры 4F-54) так что при желании можно выдавать результат как в NTSC RGB так и вообще сделать чтобы в одном из цветовых каналов сразу выдавалась grayscale яркость. Но это в любом случае требует калибровки и, имхо, для данной работы бессмысленно.

Кроме того у тех камер что все же выдают результат в sRGB по хорошему нужно бы перед этим компенсировать гамму, т.к. sRGB нелинейное пространство.

Я понимаю что это ничего не поменяет, просто не нравится очередное упоминание устаревшей формулы. Там вообще используются сдвиги, так что реально коэффициенты совсем другие:


R>>2 + R>>5 // 0.28125
G>>1 + G>>4 // 0.56250
B>>4 + B>>5 // 0.09375

Thank you very much for these information. Our team will read this and try to find out the best values for the project.

Привет пиплы, извиняюсь если не в тему вопрос. Можно ли в реальном времени оцифровывать комнату 3x3x3 метра во что-то наподобие минекрафта с разрешением 10х10х10? На каком железе реально fps ~15-25?

Hi people, I apologize if not the topic of the question. Is it possible in real time to digitize a room 3x3x3 meters into something like a minicraft with a resolution of 10x10x10? What hardware really fps ~ 15-25?
Sign up to leave a comment.

Articles