Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Решения машинного зрения
Форум разработчиков электроники ELECTRONIX.ru > Дополнительные разделы - Additional sections > Ищу работу
Sergey Krivonosov
Мы предлагаем решения в области сегментации и преобразования растра в вектор, что может найти применение в машинном зрении. На сегодняшний день нами разработан графический редактор типа Paint, который используется в качестве стенда для проверки результатов преобразования файлов. Разработана программа сегментации изображения, в которой можно задавать коэффициенты для различного применения, т.е. детализация преобразованного изображения зависит от коэффициентов. Даю примеры преобразования в векторный файл с одними и теми же коэффициентами.
Пример №1:
В качестве оригинала взят файл tiger.svg, который лежит в архиве "tiger.rar". С помощью фотошопа файл svg был переведен в bmp (почему то слегка изменились цвета рисунка), а затем bmp был переведен обратно в svg с погрешностью аппроксимации кривых в 1 пиксель файл tiger1.svg и в 3 пикселя более компактный файл tiger2.svg все в архиве "tiger.rar". Видим что преобразованные файлы получились в размере меньше оригинала, но не все так просто с реальными фотографиями.


Нажмите для просмотра прикрепленного файла

Пример №2:
Реальную фотографию церкви делал я сам:



Результат преобразования в svg, точность аппроксимации 1 пиксель:
Нажмите для просмотра прикрепленного файла
На мой взгляд - это недостаточное сжатие изображения, есть идеи как его улучшить, для этого нужно свободное время.
Далее взяты картинки из интернета.
Пример №3
Взято с сайта http://www.mallenom.ru/company/publications/321/ Цель увидеть на листе бумаги 2 черные полосы и кружок. Наша программа с этой задачей успешно справилась со стандартными коэффициентами без подбора.


Результат аппроксимация 1 пиксель:
Нажмите для просмотра прикрепленного файла

Пример №4:
Картинка из интернета очень плохого качества самолет:

Преобразовали с помощью стандартных коэффициентов в svg файл. Самолет четко выделился на фоне неба, а небо неоднородно. Правда пропали все детали самолета, но для компьютерного зрения - это не важно. Детальную картинку можно получить изменив коэффициенты, но сильно увеличится объем выходной информации:
Нажмите для просмотра прикрепленного файла

При разработке программ применялся только Ассемблер, без применения OpenCV. Применялись наши собственные алгоритмы.
Мы можем применить данное программное обеспечение под ваши конкретные требования в области машинного зрения – это нам интересно.
Для проверки качества преобразования можете высылать любые файлы растровых изображений, мы их переведем в вектор и отправим обратно.

P.S. *.svg - это векторный формат, открывается с помощью любого более или менее современного браузера(chrome, opera, firefox, IE) или fotoshop, coreldraw.
P.P.S. Файлы *.svg вначале нужно разархивировать.

P.P.P.S. Связаться можно здесь на форуме или 2expres@email.ua
Grizzzly
Цитата(Sergey Krivonosov @ Nov 24 2016, 12:14) *
При разработке программ применялся только Ассемблер, без применения OpenCV.

То есть работать алгоритм будет только на определеном процессоре?

Цитата(Sergey Krivonosov @ Nov 24 2016, 12:14) *
fotoshop, coraldrow

Ой, а что это за программы такие?
Sergey Krivonosov
Цитата(Grizzzly @ Nov 24 2016, 12:48) *
То есть работать алгоритм будет только на определеном процессоре?


Ой, а что это за программы такие?

1. Работает на всех 86- совместимых процессорах, единственное требование поддержка MMX.
2. Все могут ошибиться, я думаю что все поняли, какие программы я имею ввидуsm.gif
gerber
А где же сам алгоритм? Который на Ассемблере.
Sergey Krivonosov
Цитата(gerber @ Nov 24 2016, 13:06) *
А где же сам алгоритм? Который на Ассемблере.

Нами в данный момент написаны, только программы, которые вызываются из нами разработанного растрового графического редактора. Описательной части к этим программам НЕТ. Это требует свободного времени. В данный момент все свободное время идет на совершенствование алгоритмов.
Sergey Krivonosov
Еще немного примеров работы программы теперь с печатными платами:
https://electronix.ru/forum/index.php?showtopic=138793
Огурцов
Цитата(Sergey Krivonosov @ Nov 24 2016, 09:14) *
На мой взгляд - это недостаточное сжатие изображения, есть идеи как его улучшить

а на сколько вы хотите сжать ? и сколько уже жмёте ?

сделайте мне такое:

Нажмите для просмотра прикрепленного файла
Sergey Krivonosov
Цитата(Огурцов @ Nov 25 2016, 11:24) *
а на сколько вы хотите сжать ? и сколько уже жмёте ?

сделайте мне такое:

Нажмите для просмотра прикрепленного файла

1) Фотография, которая имеет размер *.bmp 9МБ ужимается нами *.svgz до 220КБ. Так много из-за ненужных техническому зрению мелких деталей. По нашим прикидкам ужать можно еще в 10 раз. Наша задача превратить фотографию в упрощенную картинку - "Лубок". Затем выделить объекты с которыми в дальнейшем будем работать. Это не значит, что мы не можем анализировать мелкие детали, но чтобы определить цвет глаз человека необходимо первое определить вначале человека, потом найти его лицо и только затем глаза. Чем меньше деталей тем проще найти человека...
Мы можем определять размер объекта, площадь объекта, наличие объекта, количество объектов и другие задачи.

Нажмите для просмотра прикрепленного файла

2) Что вы хотите увидеть на фотографии? Подобие растрового изображения или читать маркировку элемента или определять ориентацию элемента - это совершенно разные прикладные задачи. Если мы занимаемся задачей компьютерного зрения, то нестоит экономить на качественном объективе, на освещении объекта, от этого зависит качество сегментации.
Огурцов
а можно результат в растре или в wmf хотя бы ?
нужна быстро работающая программа для микроконтроллера, которая выводит координаты максимально прямоугольного прямоугольника и его надпись текстом
качество картинки здесь хорошее, вы не рассчитывайте что в реале будет лучше, будет гораздо и гораздо хуже - типа найти чёрные глаза чёрной кошки в тёмной комнате
Sergey Krivonosov
Цитата(Огурцов @ Nov 25 2016, 22:38) *
а можно результат в растре или в wmf хотя бы ?
нужна быстро работающая программа для микроконтроллера, которая выводит координаты максимально прямоугольного прямоугольника и его надпись текстом
качество картинки здесь хорошее, вы не рассчитывайте что в реале будет лучше, будет гораздо и гораздо хуже - типа найти чёрные глаза чёрной кошки в тёмной комнате

Для меня есть решаемые задачи, нерешаемые задачи и задачи, решать которые нет никакого смысла. Если бы вы прислали фотографию плантации помидоров с целью их автоматического сбора - это сложно решаемая задача, так как решение ее дает хороший экономический эффект мы бы за нее взялись. Фото же бардака на столе радиолюбителя, сделанная к тому же плохой мыльницей неинтересная задача, которая уже давно решена: SMD компоненты продаются в лентах и применяются SMD-установщики компонентов, а пайка производится в печи оплавления припоя. А с такой технологией как на фото - не до машинного зрения. Мы не разрабатываем искусственный интеллект, который наведет порядок на столе.
Пример реально решаемой задачи:
2D фото печатной платы. Необходимо сравнить дорожки печатной платы с PCB. Делается сегментация платы и PCB. Количество сегментов и их площадь должна совпадать. Если количество сегментов больше в плате "обрыв", если меньше "закоротка". Но фото платы должно быть отличного качества с равномерным освещением. С современным уровнем техники - это сделать не сложно. Решать данную задачу должен быстродействующий процессор с обязательным применением MMX и никакой микроконтроллер на сегодняшний день с этой задачей не справится.
Огурцов
Цитата(Sergey Krivonosov @ Nov 26 2016, 10:34) *
неинтересная задача

кругом одни боги - такое ощущение, что я на олимпе
Lerk
Цитата(Sergey Krivonosov @ Nov 26 2016, 12:34) *
Фото же бардака на столе радиолюбителя, сделанная к тому же плохой мыльницей неинтересная задача, которая уже давно решена:

Вы, видимо, не занимались производством, и представляете себе его по картинкам из интернета. Жизнь сложнее. Вот, например, ребята из smd-taxi у себя решили такую задачу. И потому у них есть вибростолик, который подбрасывает компоненты, а манипулятор с камерой ищет среди них тот, что в нужной ориентации. (может что и перепутал, но суть ясна) Это, конечно, не ведерко, но сделать актуатор для пересыпания компонентов из ведерка на платформочку не сложно.

Цитата(Sergey Krivonosov @ Nov 26 2016, 12:34) *
Решать данную задачу должен быстродействующий процессор с обязательным применением MMX и никакой микроконтроллер на сегодняшний день с этой задачей не справится.


Да ну?) А вы пробовали, или это просто вам так кажется?
Кстати, о птичках. Насколько быстрее ваши алгоритмы, чем OpenCV? Вы проводили сравнение?
Sergey Krivonosov
Цитата(Lerk @ Nov 28 2016, 08:55) *
Вы, видимо, не занимались производством, и представляете себе его по картинкам из интернета. Жизнь сложнее. Вот, например, ребята из smd-taxi у себя решили такую задачу. И потому у них есть вибростолик, который подбрасывает компоненты, а манипулятор с камерой ищет среди них тот, что в нужной ориентации. (может что и перепутал, но суть ясна) Это, конечно, не ведерко, но сделать актуатор для пересыпания компонентов из ведерка на платформочку не сложно.



Да ну?) А вы пробовали, или это просто вам так кажется?
Кстати, о птичках. Насколько быстрее ваши алгоритмы, чем OpenCV? Вы проводили сравнение?

1. На любом серьезном производстве уже давно применяют SMD-установщики, например, https://russian.alibaba.com/p-detail/%D0%90...0002117108.html
Цена всего 4000 у.е. А производительность его в сотни раз больше чем у ребят из "smd-taxi". К тому же, а как быть с smd-конденсаторами у которых нет маркировки, smd-диодами???
Если бы господин Огурцов выслал фото печатной платы с нанесенной паяльной пастой и задача стояла определить на каких площадках паста не нанесена - это было интересной практической задачей. Или печатная плата после пайки в печи: определить все ли компонента напаяны, нет ли "надгробных памятников" и другого часто возникающего брака. Конечно - это не для "производства", где в месяц паяется 10 плат. Это решения для завода, где есть конвейер и поток, в таких условиях определить, где брак становится трудоемкой задачей и машинное зрение - единственное решение недорогое решение, по сравнению с каждодневным человеческим трудом!
Алгоритмы на OpenCV мы не применяли, те кто применял пишут, что для обработки изображения 256х256 точек требуется 4 секунды и это на быстродействующем процессоре. Наша программа обрабатывает на порядок быстрее. Производительность микроконтроллера в сотню раз меньше, как быть с оперативной памятью, которой требуется от 500 МБайт для обработки качественной фотографии?
Если Вы специалист по OpenCV - можем сравнить получаемые результаты.

P.S. Зайдя к ним на сайт: http://www.smd-taxi.ru/ вижу что продают они обычные установщики компонентов вроде того что я давал ссылку выше. SMD компоненты они берут из лент, машинное зрение у них применяется для улучшения дополнительной точности ориентации компонента и маркировку элемента они точно не читают, потому что это не нужно! Там кстати и видео работы представлено. А про вибростол, который подбрасывает элементы - расскажите по-подробней... Мне очень интересноsm.gif
Огурцов
Цитата(Sergey Krivonosov @ Nov 28 2016, 12:51) *
Если бы

вы в чём меня пытаетесь убедить ?



Цитата(Sergey Krivonosov @ Nov 28 2016, 12:51) *
Алгоритмы на OpenCV мы не применяли, те кто применял пишут, что для обработки изображения 256х256 точек требуется 4 секунды

я вижу нейросеть на мк
Sergey Krivonosov
Цитата(Огурцов @ Nov 28 2016, 14:40) *
я вижу нейросеть на мк

Заинтриговали. Можно по-подробней о нейросети на микроконтроллере?
Огурцов
Цитата(Sergey Krivonosov @ Nov 28 2016, 13:48) *
Заинтриговали. Можно по-подробней о нейросети на микроконтроллере?

а вы распишите алгоритм, а я посмотрю, как он ляжет, можно будет даже сэмулировать
в любом случае этому есть применение, а ваш пк - будет работать только в тёплой комнате на столе
Sergey Krivonosov
Хочу представить Вам свой графический редактор с элементами компьютерного зрения "Лубок". Скачать его можно с сайта http://esm.ho.ua/Automat.html. Последние чуть более 3 месяцев не прошли зря. За это время были реализованы определитель штрихкодов на фотографии, добавлены новые фильтры, например, Retinex, исправлены некоторые ошибки. С помощью данного редактора я могу оценить возможность выполнения задачи в компьютерном зрении с помощью наших алгоритмов. На сегодня программа сегментирует изображения, преобразовывает из растра в вектор, определяет штрихкоды на фотографии и конечно же позволяет редактировать изображения. С случае возникновения вопросов по программе - буду рад на них ответить.
a123-flex
Цитата(Lerk @ Nov 28 2016, 09:55) *
Вы, видимо, не занимались производством, и представляете себе его по картинкам из интернета. Жизнь сложнее. Вот, например, ребята из smd-taxi у себя решили такую задачу. И потому у них есть вибростолик, который подбрасывает компоненты, а манипулятор с камерой ищет среди них тот, что в нужной ориентации. (может что и перепутал, но суть ясна) Это, конечно, не ведерко, но сделать актуатор для пересыпания компонентов из ведерка на платформочку не сложно.

ТС прав, а Вы нет.

Smd-taxi не сортирует наваленную кучу - у них есть требование, чтобы компоненты лежали в один слой на поддоне, к тому же, если внимательно поизучать систему, Вы сможете выяснить что их оптическая система довольно совершенна, и дает совсем неплохое изображение. Несмотря на это, есть мнение, что при сильной боковой засветке у них могут быть проблемы.

Задача сортировки россыпи в куче вообще очень странная, тк даже если Вы и сможете понять где что, все равно не сможете взять.
Правда было бы прекрасно, если бы ТС продемонстрировал свои достижения в области бинаризации)
Lerk
Цитата(a123-flex @ Mar 22 2017, 15:57) *
ТС прав, а Вы нет.

а вы кто такой вообще, чтобы такие суждения делать?...

ответом можете себя не утруждать.
a123-flex
Цитата(Lerk @ Mar 23 2017, 11:40) *
а вы кто такой вообще, чтобы такие суждения делать?...

я тот кто знает о чем говорит.

вибростол у smd-taxi используется для того чтобы брать компонент из пенала, при этом точка взятия с него компонента прописывается жестко - этому питателю нельзя присвоить тип "россыпь". так что фантазеры отдыхают)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.