Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Компьютерное зрение (платный раздел). arrow Компьютерное зрение. Урок 33. Matching pursuit.
18.07.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Компьютерное зрение. Урок 33. Matching pursuit. Печать E-mail
Автор megabax   
05.01.2018 г.
New Page 1

Компьютерное зрение. Урок 33. Matching pursuit.

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

В платном разделе статья находится здесь.


На прошлом уроке я рассказал о  том, что такое разряженное представление и словари и привел одну из методик получения представления по словарю& Matching pursuit. Сегодня мы реализуем этот алгоритм программно. Для начала нам надо написать некий инструментарий для работы с векторами. В C# есть класс для работы с векторами, но только с двумерными. У нас же мерность вектора может быть люба, поэтому придется реализовывать свой класс: ...

...

...

Всего готово. Теперь надо бы протестировать. Как мы это будем делать? Очень, просто, получим представление, а потом, воспользовавшись формулой (32.1) из прошлого урока, получим исходный сигнал. Он у нас должен совпасть с первоначальным. Итак, действуем:

        private void button2_Click(object sender, EventArgs e)

        {

            List<MultidimensionalVector> D = new List<MultidimensionalVector>();

            /*D.Add(create_vector(1, 1));

            D.Add(create_vector(1, 0));

            D.Add(create_vector(0, 1));*/

 

            D.Add(create_vector(1.5, 1));

            D.Add(create_vector(1, 0));

            D.Add(create_vector(0, -1));

            D.Add(create_vector(2, 2));

 

            MultidimensionalVector y = create_vector(-1, 3.5);

            MatchingPursuit mp = new MatchingPursuit(D);

            List<double> res=mp.calk(y, 0.01);

 

            //Проверим результат вычисления путем обратного вычисления сигнала

            MultidimensionalVector test=new MultidimensionalVector(2);

            int i = 0;

            foreach(double item in res)

            {

                test=test+D[i]*item;

                i++;

            }

 

            string s = "Исходный сигнал y="+y.ToString();;

            s = s + "\nПолученный вектор (";

            string sep="";

            foreach (double item in res)

            {

                s = s + sep + Math.Round(item, 4).ToString();

                sep = "; ";

            }

            s = s + ")\nПроверочное вычисление "+test.ToString();

 

            MessageBox.Show(s);

        }

И вуаля, все сходиться:

Компьютерное зрение. Урок 33. Matching pursuit.

Мы получили работающий код Matching pursuit. На следуем уроке попробуем применить его к изображениям.

Последнее обновление ( 05.01.2018 г. )
 
« След.   Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше