среда, 2 февраля 2011 г.

Корея 2011

Попытаюсь наконец рассказать, что интересного видел в этой поездке в Корею.
Итак 23 января мы вылетели из Шереметьево прямым рейсом в Сеул. Точнее вылетели это как то легко звучит. Рейс сначала задержали на 1.5 часа по техническим причинам, потом когда всех запустили в самолет, какому то пассажиру стало плохо, его сняли с самолета и по этой причине нас всех попросили из самолета выйти по соображениям безопасности. Это всех очень удивило, по моему даже персонал, т.к. пассажиров время от времени высаживают, но при этом не гоняют туда сюда весь остальной народ. На следующий день, когда мы узнали о взрыве бомбы в Домодедово, возникла версия, что такие беспрецендетные меры безопасности были связаны с тем, что службы безопасности знали о готовящемся теракте в аэропорту, но не знали где и когда.
Таким образом нам пришлось ждать еще 1.5 часа. Но компания была хорошая, поэтому время пролетело незаметно.
По традиции немного расскажу про самолет и авиакомпанию.
Летели мы совместным рейсом Аэрофлота и Korean Air на Airbus A330-200, т.е. на таком же как мы летали в Токио. Разница только была в расположении кресел и мультимедиа. Кресла здесь оказались на мой взгляд не очень удобно расположены - 2-4-2, поэтому получилось что двое моих коллег сели у окна, а я в центральном ряду, да еще и немного смещен.

Вообще качество обслуживания на Korean Air на высоте! Пожалуй, лучшее что я видел. Стюардессы очень приветливые, отзывчивые. Кстати, поскольку рейс был совместным с Аэрофлотом, видимо для контраста там была одна русская стюардесса. Очень забавно было наблюдать за лицами корейских бортпроводниц, когда наша с яркой интонацией произносила "Мужчина! Я вашу сумку не трогала!". Это в ответ на замечание, что после возвращения на борт вещи были вытащены (видимо досматривали).
Перед вылетом я предварительно закачал на свой планшет много фильмов, думал буду смотреть в пути. Но я его почти не доставал, т.к. в самолете довольно неплохая мультимедийная система.
Она немного проигрывает системе, которая стояла на самолете, на котором мы летели из Новой Зеландии, т.к. здесь нет пульт совмещен с джойстиком, но по нему нельзя звонить. А кроме того на борту не было веб камер. Но с другой стороны было очень много фильмов, передач, радио. Фильмы кстати, как видно из фото довольно свежие. Многие из которых я еще даже не смотрел. Они правда на английском. Очень порадовала возможность играть в игры по сети самолета. Игры правда на уровне 8-битной приставки, но в реверси мы с Виктором порезались =)). Еще очень удобно было, когда дело пошло ко сну, одеть наушники, включить радио релакс и под него засыпать. Кстати, по началу я думал, что с местом мне не повезло, т.к. был чуть в стороне от коллег, но позже понял, что очень повезло, т.к. рядом со мной никого не сидело и я обложившись подушками лег спать на трех креслах, как в плацкарте =).
Прилетели в Сеул мы уже в районе полудня. Аэропорт очень понравился.
В аэропорту поменяли немного наличных. Курс у них очень удобный 1000 вон = 1 доллару. Кстати, наличка оказалась практически не нужна, абсолютно везде принимают карточки. Два раза я пользовался наличкой - чтобы вставить монетку в тележку в супермаркете и купить что-то в автомате. А в остальном даже такси принимают кредитки.
Очень непривычно первое время было - что ты в стране, где не то что английский не понимают, но даже догадаться по надписям ни о чем нельзя. Хотя язык мычания и жестов работает очень хорошо. Без особых проблем купили билеты на автобус и добрались до гостиницы. To be continued...

понедельник, 22 ноября 2010 г.

Python vs C# vs Matlab

Недавно начал изучать Pyhon. Изучение идет очень легко и приятно. Я бы даже сказал, что это похоже на общение с человеком, с которым ты во многом согласен. По ходу чтения постоянно возникают мысли "Да! Именно так и должно быть. Здорово!".
В принципе изучение основ заняло несколько часов, язык очень интуитивно понятен и логичен.
Но вот дело подошло к разработке реальной программы и начали возникать сравнения с теми языками на которых я раньше писал то же самое.
Итак, плюсы питона:
  • Поддержка кортежей, списков и словарей на уровне языка - круто!
  • duck typing - поначалу трудно перестроить свой мозг на такую концепцию, но это обещает быть полезным.
  • Простота и прямота синтаксиса.
  • Динамическая типизация.
  • Итераторы.
  • Бесплатный, платформонезависимый.
  • Очень многие вакансии в области Computer vision требуют знание питона.

А теперь, что не понравилось или что я пока не понял:
  • Отсутствие приватных членов класса. Жуть. Все члены публичные? А для обозначения приватности используется _? У меня имеется какая-то личная неприязнь к подчеркиванию в коде. Всегда предпочитал camel, pascal или hungarian notation, а код с большим количеством _ мне казался грязным. Уж не знаю как так получилось.
  • Отсутствие необходимости явного объявления полей класса это конечно плюс, но есть в этом и минус.

Вот пример объявления класса на c#:
class Layer
{
float[][] weights;
float[] biases;
bool isCuda;
public float[] Propagate(float[] inputs)
{
if(isCuda)
return CuPropagate(inputs);
else
return dot(inputs, weights) + biases;
}
private float[] CuPropagate(float[] inputs)
{
//...
}
}

* This source code was highlighted with Source Code Highlighter.
и то же на Python:
class layer:
propagate(
self, inputs)
if self.isCuda :
return self._cuPropagate(inputs)
else:
return dot(inputs, weights) + biases;

_cuPropagate(inputs):
//...

Выглядит более компактно , нет скобок - это плюс, правда везде нужно писать self - напрягает. Но! Пример на C# обладает преймуществами декларативного стиля. Из объявления класса мне понятно, что weights - это матрица float'ов, biases - вектор, что есть флаг isCuda. Прочитав только эти первые строки объявления класса и не видя имплементации мне уже почти все о классе понятно. Кроме того я не смогу вызвать по ошибке CuPropagate и обрушить программу, в случае если cuda непроинициализирована, поскольку метод приватный.
И еще момент. Если я попытаюсь в качестве inputs скормить double[], С ругнется еще на этапе компиляции, тогда как в питоне все нормально скомпилируется, а обнаружится уже тогда, когда видеокарта ругнется и скажет, что double не поддерживается.
  • Отсутствие продвинутой IDE. В C# я могу себе позволить называть функции длинными, осмысленными именами, поскольку знаю, что набирать потом буду всего 3-4 первых символа, дальше подскажет IntelliSence. В последних версиях VS intellisence очень крут. Если я пишу несколько строк подряд в таком виде:

this.visSettingsWindow.RefineButton.Click += new EventHandler(RefineButton_Click);
this.visSettingsWindow.UndoRefineButton.Click += new EventHandler(UndoRefineButton_Click);
this.visSettingsWindow.BorderBlocksButton.Click += new EventHandler(BorderBlocksButton_Click);
this.visSettingsWindow.OcclBorderButton.Click += new EventHandler(OcclBorderButton_Click);

* This source code was highlighted with Source Code Highlighter.
то я набираю th.vi.cl+="Tab""Tab"; следующую строку я уже набираю как th..un.+="Tab""Tab"
При этом я вижу описание каждого члена, данных, которые он хочет на входе и т.п.
Похожего удобства для питона я не знаю. Пробовал pydev для eclipse. Он конечно подсказывает, но крайне мало. Все приходится держать в голове.
  • По поводу консоли питона. Хотелось бы, что бы она была больше похожа на matlab консоль. Т.е. если я ввожу переменную a = rand(10, 5), у меня где-нибудь на панели отображалась информация об этой переменной, чтоб я не держал ее в голове. И еще история введенных команд где-нибудь в стороне.
  • Пока не понял как в питоне реализовать механизм аналогичный делегатам
  • Отсутствие чего-то похожего на LINQ. Бывало, что одна строчка на linq заменяет метод на несколько страниц.
  • Непонятно, можно ли делать вставки в критических по скорости местах на с++, по типу unsafe { } или что-то аналогичное
Хочу подчеркнуть, что это никоим образом не является наездом на питон. Он мне очень нравится, и я буду благодарен, если опытные питонисты мне укажут где я был не прав, или каких важных преимуществ питона не учел.

пятница, 12 февраля 2010 г.

Зацепил меня сегодня комментарий одного товарища на хабре, мол нейросети для распознавания вообще не используются и я налабал статью, правда немного о другом =)
Прошу присоединяться к обсуждению:

воскресенье, 20 сентября 2009 г.

Расширенная реальность



Расширенная реальность - augmented reality, помоему просто офигетельная вещь! Впервые я увидел это в Оклендском университете. Там AR использовалась для визуализации траекторий движения мобильных роботов. Но этот бильярд куда круче смотрится!

среда, 15 июля 2009 г.

Новые исследования зрительной системы

Очень заинтересовала эта новость. Там очень удивляются как это мозг так быстро перестраивается. А помоему, человеку знакомому со сверточными нейронными сетями все очевидно. Поскольку каждый нейрон за счет нелинейной функции активации усиливает входы, получается, что если информация с некоторой области сетчатки не поступает, то существенной становится информация с соседних областей.

вторник, 23 июня 2009 г.

ГОСТы и новый блог

1. Очень доброе дело сделал walter_simons, выложив в свободный доступ полную базу ГОСТов.
2. Я открыл англоязычный блог в основном по тому, что опубликованный мною класс реализации сверточных нейронных сетей привлекает англоязычных ученых
и инженеров. Надеюсь будет время его поддерживать.

понедельник, 12 января 2009 г.

Пневматический мускул

Видео выглядит очень впечатляюще, мускулы и правда похожи на мускулы, но как то уж сильно во всем ролике скрывается инфраструктура, поддерживающая это. Мне кажется, что для подобной мускульной системы, у робота много места должно быть занято компрессорами, которые, к тому же и потреблять должны довольно много.

вторник, 30 декабря 2008 г.

Стратосферный дирижабль "новой" концепции

Известная своими усилиями в создании стратосферного дирижабля компания Sunswire представила очередную версию своего дирижабля. Как известно главные проблемы дирижаблей - это ветер и поддержание баланса при расходовании топлива. Именно их и решает новый дирижабль. Для лучшей управляемости в условиях ветра дирижабль сделали очень вытянутым и секционным, а оболочку помимо гелия заполнили горючим газом, по плотности идентичным воздуху. Поэтому когда двигатель расходует топливо, и закачивает туда воздух, баланс не меняется.
На видео можно увидеть его полет. Очень похож на китайского воздушного змея.
Более подробно об этом есть здесь http://aerocrat.livejournal.com/54223.html

среда, 24 декабря 2008 г.

Навигация робота с помощью СТЗ


Ну вот, как только возникнет какая-нибудь хорошая идея, оказывается, что ее уже кто-то реализовал. На видеоролике можно увидеть систему навигации колесного мобильного робота на основе только стереозрения. Создана система под руководством Яна Лекуна и при поддержке Net-Scale technologies. Цель - участие в соревнованиях, устраиваемых DARPA с целью выявить алгоритмы, позволяющие ориентироваться автономным мобильным роботам на основе системы технического зрения в непредсказуемых средах. Но что самое интересное для меня  - так это использование сверточных нейронных сетей как ядра системы. Работа красивейшая и в научном и в практическом и в презентационном  смысле.
Удивляет, что никто еще не реализовал сверточные сети в матлабе, есть только реализации на Lush, С++ и С#. Если мои старания завершатся успешно, то я буду первым. Основная сложность в том, что набор нейросетевых инструментов в матлабе несмотря на всю свою гибкость не позволяет реализовать разделяемые веса, а поэтому реализацию сверточных НС приходится писать практически с нуля. 

суббота, 29 ноября 2008 г.

Япония

Как я уже рассказал в предыдущем посте летели мы компанией JAL, которая дико извинялась за то, что они вылетели с задержкой. Не смотря на то, что им удалось нагнать некоторое время, мы все равно потеряли немного от нашей и так короткой экскурсии.
Первым делом по пребытию в аэропорт после встречи с нашим замечательным экскурсоводом Зарой, мы пошли конечно-же курить, точнее шеф курить, а мы за компанию подышать свежим воздухом. И тут первая достопремечательность - специальные газенвагены для курящих =). В обще
м, всех курящих там загоняют в такие вот кабинки:

Этот перекур был, пожалуй, последним разом, когда мы спокойно стояли. Дальше мы постоянно бежали, потому как успеть, то, что мы успели за 5 часов - это не каждый осилит. Благо гид у нас была опытной и чувствовалось, что, все-таки, ее главная задача доставка нас на самолет вовремя, а потом уже демонстрация достопримечательностей.
В автомате по продаже напитков обнаружилась баночка чего-то, что без ребрендинга никогда не будет продаваться в России:

Еще одна особенность Японского метро и некоторых улиц - там по всюду по земле стелятся широкие желтые полосы из плотной резины, которые меняют свой рельеф с пупырчатого на линейчатый. Как выяснилось это для слепых, чтобы они чувствовали где надо идти, а где остановиться. И действительно, структура этих полосок очень хорошо чувствуется через подошву и следуя ей можно пройти с закрытыми глазами все метро.
Первым делом мы поехали к главному буддисткому храму Токио Асакуса.
Как только мы вышли из метро, взгляд задержался на одном здании:
 Оказалось это здание местной пивоваренной компании.
Заранее оговорюсь, что здесь в блоге я не буду рассказывать о достопримечательностях то, что можно прочитать о них в энциклопедиях и туристических проспектах, а буду останавливаться на том, что мне показалось необычным или интересным.
Главные ворота храмового комплекса перед площадью сувениров:
 to be continued...

среда, 26 ноября 2008 г.

Доставлен в целости






Вот и закончился перелет из Москвы в Окленд общей длительностью 33 часа. Нужно сказать что полет из Москвы в Токио прошел очень легко и быстро. Скучно совсем не было. В самолете летело всего 70 человек, а мест было 130, поэтому можно было убрать подлокотники и развалиться на трех креслах. Что приятно удивило - это наличие персональных мультимедиа центров. Этот центр представляет собой ЖК экран, встроенный в каждое кресло и пульт к нему, который вынимается из подлокотника. Пульт этот  - больше чем пульт. Он еще и джойстик и телефон и средство оплаты. В обычном режиме он используется для навигации по меню, выбора фильмов, клипов, передач, музыки, радио. Кстати фильмов был очень большой выбор, в том числе много новинок, некоторые я еще даже не смотрел. Порадовало также что на некоторых была русская озвучка. Если зайти в меню игры, то пульт необходимо перевернуть в горизонтальное положение и тогда его практически не отличишь от PlayStation джойстика. Игры в основном примитивные, но их много и я скоротал пару часов за арканоидом и партией в манджонг. Про радио и музыку думаю и так все понятно - выбрал, включил и слушай. Можно также настроить индивидуальный плей-лист. Наушники, кстати, к этому медиацентру предоставляются одноразовые. Можно также зайти в медиа-магазин, купить там понравившуюся безделушку, оплатить (внимание!) вставив кредитную карту в пульт и тебе ее принесет стюардесса. Если перевернуть пульт задней стороной, то это уже спутниковый телефон, можно сходу набирать любой номер и общаться с борта самолета, оплачивается это опять же путем вставления карты в пульт. Но пожалуй один из интереснейших элементов медиа-центра - это раздел airshow. Выбрав его на экране отображается вся информация о полете - высота, температура за бортом, время до посадки, текущее положение самолет на карте и его маршрут, а также вид с камеры, установленной в носовой части самолета. Очень уж не хватало мне такого экранчика на местных самолета. В результате скучать не пришлось, я лишь заставлял себя отставить изучение медиацентра и поспать. В конце концов так и сделал, развалившись на три кресла. Странное было ощущение - вроде бы летишь в межконтинентальном боинге, а вроде как и в плацкарте российском едешь. 
Кормили очень даже хорошо. Естественно были роллы и суши. Был так же зеленый чай, который абсолютно не похож на зеленый чай, который пьют у нас, но о нем позже.
Посадка в Нарита была мягкой. Пока подлетали обратил внимание как много в Японии полей для гольфа и бейсбола - чувствуется сильное влияние штатов. Приятно удивило то, что несмотря на опоздание и заявленное время прибытия - 10:00, японцы нагнали пол часа и мы прибыли в 9:30. У нас обычно к обещаному нужно прибавлять пару часов.

понедельник, 24 ноября 2008 г.

На край

Ну вот и пошел второй день путешествия по маршруту Таганрог-Ростов-Москва-Токио-Окленд-Веллингтон-Крайстчерч-Сидней-Лондон-Москва-Ростов-Таганрог =)
За эти два дня произошло достаточно многое и многое выяснилось. В частности, выяснилось, что садясь в самолет нужно беречь кошелек, что в сбербанке работают мудаки, что в Японском посольстве есть понимающие люди и еще много чего. Подробности позже.

понедельник, 4 августа 2008 г.

Беспилотный летательный ... парашют

Все-таки самая полезная в мире реклама - реклама от Google. Сегодня случайно забрел на сайт вот этой фирмы. Весь юмор в том, что буквально 4 месяца назад мы проводили конференцию "Перспективные системы и задачи управления". На этой конференции я слушал доклад весьма авторитетного теоретика в области систем управления Формальского и мысленно поражался, какие все-таки непрактичные но интересные с научной точки зрения задачи иногда ставят перед собой ученые. Тема доклада была "Управление высотой полета параплана".

Конкуренты

BAE Systems планирует создать полностью автономный дирижабль на базе своего GA22. Параметры вполне стандартные: 2 км высота полета, грузоподъемность 150 кг. Пока правда он у них работает в режиме дистанционного управления. Учитывая, что у нас в стране такой поднимется не раньше 2013 года, мы опять отстаем. Радует только, что отставание минимальное, учитывая инновационность разработки.
Интересно, что на сайте BAE про этот дирижабль ни слова. В купе с заметкой о том, что в 2004 году дирижабль демонстрировался Испанскому министерству обороны становится понятно его основное назначение.

среда, 18 июня 2008 г.

Таракан-киборг

Очень интересная разработка. Типичный пример того - когда с точки зрения реализации нет ничего сверхсложного, а с точки зрения оригинальности идеи - гениально.

понедельник, 14 апреля 2008 г.

Сенсорика для роботов

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

четверг, 20 марта 2008 г.

Электронный университет

Нужно сказать большое спасибо ребятам из MIT'а. Вот за это.
Это внушительная библиотека электронных курсов по различным предметам от аэродинамики до истории. Многие с видео и аудио материалами, презентациями, программами, и прочими приятностями.
То что во всех университетах прячут, и продают только за деньги они выставили на общий доступ и лишь предлагают желающим пожертвовать сколько не жалко.
Подобные курсы, IMO, делают образование действительно безграничным. Где-бы ты не находился, но если ты знаешь английский, у тебя доступ в интернет и самостоятельность, ты можешь получить необходимые тебе знания с помощью этих курсов.
Здорово.

понедельник, 3 марта 2008 г.

Lemonodor пишет об этике боевых роботов. В частности, речь идет о том, что в боевых условиях роботы могут быть более этичными чем люди по ряду причин. Сомнительными являются пункты 1 и 3. Согласно пункту 1 роботы будут более этичными, потому что не будут иметь инстинкта самосохранения. Я думаю такой инстинкт должен быть заложен в систему хотябы на минимальном уровне. А коли так, то гипотетически могут возникнуть не очень этичные ситуации, являющиеся результато самосохранения робота.
В третьем пункте утверждается, что роботы будут лишены человеческой психологической проблемы "исполнения сценария", т.е. не будут трактовать противоречивые данные в пользу существующего предубеждения. Это сомнительно, т.к. если система обладает хоть какими-то зачатками AI, то, следовательно будет пытаться предсказывать, основываясь существующем опыте. А существующий опыт это и есть то самое предубеждение.

понедельник, 18 февраля 2008 г.

Вторая мировая

http://www.inosmi.ru/stories/05/04/14/3445/239657.html - интересная статья на тему второй мировой и роли СССР в ней, опубликованная на иносми. Нечасто встретишь западные статьи такой тематики, утверждающие, что решающим сражением второй мировой была битва за Москву (а не Перл Харбор).

пятница, 8 февраля 2008 г.

Новое старое

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