Rage Against The eMachine: ретро-модификация компьютера

Конец 90-х и начало 2000-х – это было особое время для персональных компьютеров. Стоимость ПК значительно упала, мы перешли с коммутируемого соединения на широкополосный доступ в интернет, и мы мучились с Windows ME, ожидая пришествия XP. Некоторые из нас пошли тогда дорогой самоделкиных, а иные начали покупать готовые сборки настольных компьютеров в магазинах.

Одним из заметных участников гонки по нисходящей в то время была марка eMachines, основанная в 1998 году. Позже её купила Gateway, которую в свою очередь купила Acer. Пользователям с небольшим бюджетом было тогда продано множество систем от eMachines с наклейкой «никогда не устареет» [Never Obsolete]. Эти аппараты познакомили целое поколение с графическими картами ATI Rage II и Rage Pro. В первой системе, на которой я пытался запускать игры, стояла интегрированная графика Rage LT Pro AGP. Много часов я провёл тогда за игрой Unreal Tournament (а до того я был консольщиком, и бесчисленные часы потратил на Gran Turismo).

В прошлом году я отправился на поиски ретро-ПК, и угодил в своего рода кроличью нору. Начал я с Compaq Presario 5050 в корпусе мини-тауэр, внешне напоминавшего тот ПК, с которого я начал свой путь самоделкина. Тогда я искал на форумах, посвящённых компьютерному железу, модифицированные драйверы (если быть точным, Rage3D). В итоге я познакомился со своим лучшим другом, и это дало старт моей карьере в техноиндустрии. Однако одного Compaq PC мне не хватило, и я регулярно прочёсывал OfferUp, Facebook Marketplace и Craigslist в поисках старых систем.

eMachines: Never Obsolete
eMachines: Never Obsolete

В поисках старых компьютерных ништяков я наткнулся на объявление о продаже eMachines T1090. Это была не бежевая модель с наклейкой «Never Obsolete», которой прославилась eMachines – это был корпус второго поколения, более округлый и прилизанный. Компьютер вышел в 2001 году, на нём стояла Windows XP, и он мог похвастаться Celeron 900 MHz, 128 МБ SDRAM и чипсетом Intel i810 – весьма хилой конфигурацией, которая устарела уже на момент его выхода. Однако в том сегменте, в котором eMachines конкурировала с другими производителями, главным фактором была цена. Его можно было купить за $474.99, а потом отправить по почте купон на компенсацию в размере $75, в результате чего система обходилась покупателю в $399.99 – совсем недорого. С учётом инфляции сегодня она стоила бы $585, и за эти деньги можно купить неплохой бюджетный компьютер.

Начинка компьютера мне была не нужна, но я очень хотел собрать себе слипер [термин sleeper в применении к автомобилям обозначает машину с мощной начинкой и ничем не примечательным внешним видом / прим. перев.]. Меня вдохновила работа ребят из проекта BSMOds с великолепной переделкой корпуса Juniper Networks (ретро-модом). Знающие меня люди подтвердят, что я слишком помешан на всяких мелких деталях, которых обычные люди и не заметят, поэтому мой слипер должен был отличаться от других.


Корпус eMachines T1090

Rage Against The eMachine

Я заплатил за компьютер $40, привёз его домой и сразу же начал разбирать до голого металла. Вентиляция в корпусе eMachines была так себе, поэтому я вынул свой Dremel, вырезал впереди отверстие под вентилятор 120 мм, отверстие в днище, а также добавил сверху вентилятор на 70 мм. Для компьютера я взял б/п от Corsair SF750 SFX – он меньше стокового б/п на 150 Вт, и выдаёт в пять раз больше мощности.

Как большинство современных б/п, Corsair SF750 выкрашен в чёрный, и он бы не сочетался с серыми внутренностями eMachines. Меня это не устраивало, поэтому я его разобрал, обработал некоторые детали пескоструем, а другие – наждачкой вручную.

Для округлого дизайна требовалась особая панель оптического привода. Я мог бы просто остановиться на стоковом Samsung IDE CD-RW, но это было бы совсем не интересно. Я прочесал eBay в поисках определённого привода Samsung Blu-ray, снятого с производства пять лет назад, у которого вроде бы были похожие точки крепления панели, и положился на удачу. Панель от eMachines идеально подошла под привод Samsung SATA Blu-ray. А вот с дисководом для дискет мне пришлось схитрить. Изначально я планировал использовать LS120 с адаптером IDE – USB, однако из-за проблем с ориентацией некоторых разъёмов на материнской плате этот план накрылся. В итоге в слот от дисковода я приклеил прозрачным клеем порт USB-C.

Планы по начинке были связаны с процессором AMD Ryzen и графической картой Radeon, поскольку AMD K6-2/III и ATI Rage LT Pro, современные этому компьютеру, занимают в моём сердце особое место. Поскольку это был стандартный корпус mATX, я решил, что в него без проблем влезет стандартная материнская плата. Я сильно ошибался. Из-за малых размеров корпуса у большинства материнских плат слоты для ОЗУ упирались в клетку для дисковода – мне в любом случае пришлось её подточить.

Много часов я рылся в спецификациях производителей материнских плат, подыскивая подходящую. Я обменялся мнениями с другом, работающим в AMD, и он заронил в мою голову идею, которая в итоге отправила меня в другую кроличью нору: найти зелёную материнскую плату, соответствующую по цвету печатным платам той эпохи. Я загорелся этой идеей и стал изучать современные компоненты зелёного цвета, остановившись в итоге на ключевом наборе. По совпадению под маркой ASRock, которая выпускает оборудование для серверов и рабочих станций, продаётся плата mATX X470 зелёного цвета — X470D4U. В этом году обещали выпустить новую плату на базе X570, однако ждать я не захотел. Минус в использовании серверной платы – её спартанская природа. У неё всего два порта USB 3.0, один коннектор для USB 3.0 и нет звука.

Проблему с отсутствием портов USB 3.0 я решил при помощи внутреннего концентратора USB 3.0 от Sabrent, у которого по совпадению тоже была зелёная плата, и скобы расширения с портами USB 3.0. У адаптера есть три внутренних коннектора USB 3.0 и два порта USB 2.0. На ней есть ещё разъём для питания SATA, но он у меня сломался. К сожалению, новых внутренних концентраторов от Sabrent уже не продаётся.

Я выбрал себе процессор AMD Ryzen 7 3800X с настраиваемым теплоотводом, установленным на 65 Вт, низкопрофильный вентилятор Noctua NH-L9a-AM4 и пастой Thermal Grizzly Kryonaut. Память от Kingston ValueRAM всё ещё выпускается на зелёных платах, идеально подходящих для сборки. В изначальной системе стояло 128 МБ памяти, поэтому было логично добить туда памяти до максимума в 128 ГБ. Найти SSD с зелёной платой было сложно. К счастью, компания Plextor, ранее прославившаяся своими приводами для записи CD, а ныне принадлежащая Lite-On, производит целую линейку SSD с зелёными платами. В сборку пошёл 1TB M8Se NVME SSD.

Я выбрал себе графическую карту AMD Radeon RX 5700 XT – за её архитектуру 7 нм Navi и внешний вид радиатора. Современной карты с зелёной платой я не нашёл, однако в те времена графические карты делали разных цветов – оранжевого, синего, красного и чёрного. Я выбрал карту с направляющим воздух кожухом, который выводит его прямо назад, поскольку не ожидал от корпуса eMachines хорошей вентиляции.

Одним из столпов того времени были звуковые карточки Creative Labs Sound Blaster Live, поэтому вопроса о выборе карты для этой сборки не стояло. Я впечатлился результатами, которые показала карта Sound BlasterX AE-5 в моём обзоре, и она всё ещё лежала у меня на полке, поэтому она-то и пошла в сборку. Минус в том, что у Sound Blaster AE-5 плата не зелёная – но и у Sound Blaster Live она не была зелёной, поэтому дух времени не нарушен.

Ретромод eMachines T1090 на базе AMD: завершающие штрихи

Мне было недостаточно запихнуть современное железо в старый корпус, мне надо было доработать картинку ретро-логотипами и наклейками, соответствующими сборке. Когда-то я очень хотел приобрести процессор AMD K6-III, и его логотип я использовал как отправную точку для моей ретро-наклейки Ryzen. Я легко нашёл векторные логотипы K6-III высокого качества, поэтому изготовить наклейку было несложно.

Найти логотип ATI Rage II/Pro/128 высокого качества оказалось сложнее. К счастью, мне удалось связаться с Эриком Понером, бывшим творческим директором AMD, работавшим в то время. Он сообщил мне, что для логотипа использовали шрифт Matrix II ExtraBold, переделав его в курсив. Вооружившись этой информацией, я воссоздал логотип в том же ретро-стиле.

На этом я не остановился. Когда я купил компьютер, оригинальная наклейка с его спецификациями всё ещё была на нём, но клей уже держался очень плохо. Поэтому я отсканировал её, точно воссоздал стиль и шрифт, только уже с обновлёнными спецификациями. Конечно, без наклейки «Never Obsolete» это будет не eMachines, поэтому я и её сделал, наклеив затем на привод Blu-ray.

Печать наклеек оказалась делом более сложным, чем их дизайн. Я заказал белые наклейки с тем, чтобы напечатать их на старом цветном лазерном принтере Oki, не откалиброванном для хорошей цветопередачи. После десятка изменений в попытках подобрать наиболее близкий к оригиналу цвет, я плюнул и остановился на достаточно хорошем варианте. Изначально я планировал распечатать наклейки и вырезать их по старинке – ножницами. К счастью, моя потрясающая и артистичная жена поддерживает мои безумные начинания, и она использовала свой режущий плоттер Silhouette Cameo для точного вырезания наклеек, со скруглёнными углами и всем прочим.


Система не была бы завершённой без соответствующей панели управления

Оснащение ретро-мода на базе AMD периферией

Я очень хотел найти старый ЖК-монитор от eMachines, и поставить в него современный дисплей, но эта задача выходила за пределы моих возможностей. Я остановился на бюджетном 27" LG 27MN60T из-за его серебристой подставки, которая гораздо лучше подходит к серому цвету eMachines, чем чёрный или белый монитор. Это обычная IPS-панель на 1080p и 75 Гц, поддерживающая AMD FreeSync – ничего особенного, но работу свою выполняет, будучи при этом симпатичным внешне.

Выбор аудиоколонок, подходящих с эстетической точки зрения, был ограничен. Я хотел найти Klipsch ProMedia 2.1, поскольку это были одни из лучших колонок на момент выхода оригинального компьютера. Однако я хотел сохранить серебристо-серый внешний вид, и не хотел отдавать сабвуферу лишнего места. К счастью, на барахолке Facebook появилась пара не сильно потёртых Klipsch ProMedia 2.0 Ultra за $20 – это было идеально. ProMedia 2.0 Ultra вышли в 2004-м, но для меня это было достаточно близко.

Оставалось найти только клавиатуру и мышь. Я обычно использую периферию от Logitech, и выбрал G413 Silver для соответствия по цвету. Мышь я взял старую – у меня была лишняя Microsoft IntelliMouse Explorer 3.0, прекрасно подошедшая к комплекту. В прошлом году Microsoft выпустила обновлённую версию Pro Intellimouse, с дизайном в старом стиле Explorer, но с новым датчиком PixArt с увеличенным DPI. Я заказал себе такую, но она не успела прийти ко мне до фотосессии. Контроллер 8BitDo SN30 Pro завершает общую картину – нельзя же играть в Fall Guys с клавиатуры и мыши.

Тесты быстродействия и итоговые впечатления

Этот мод нельзя считать завершённым без парочки тестов быстродействия – просто, чтобы похвастаться возможностями системы. Для этого я использовал несколько привычных программ из нашего набора — ATTO Disk Benchmark, Speedometer 2.0, PCMark 10, Cinebench R20, 3DMark Time Spy и Shadow of the Tomb Raider. Поскольку обычно в наших обзорах мы описываем самые передовые настольные компьютеры, этот мод из eMachines вряд ли хорошо себя покажет на их фоне. Учитывайте, что изначально там стоял Celeron 900 МГц, 128 МБ RAM, аудио AC’97 и невероятный графический чип Intel i810E.

Очевидно, получилась не самая быстрая система, однако по производительности это крепкий середнячок, и с задачами своими она справляется, обладая при этом ретро-шармом. И, естественно, ни одна из оригинальных машин eMachines не могла мечтать о 115 кадрах в секунду в игре Shadow Of The Tomb Raider на 1080p.

Ещё о быстродействии и тесты на скорость из другой эпохи

Оригинальное железо, стоявшее в данном корпусе, было медленным, ещё когда этот компьютер только вышел. Я нашёл старый обзор в PC Mag от мая 2002 года, где оценивали его преемника, eMachines T1115. Разница была только в том, что там стоял Celeron на 1 ГГц, на 100 МГц быстрее, чем Celeron 900 МГц в моём T1090. Судя по обзору, T1115 показал результат в 24.1 в тесте скорости Ziff-Davis Business Winstone 2001.

Любопытство меня одолело, и я установил себе Windows Hypervisor, а также Windows XP на виртуальной машине. Чтобы ситуация была сравнимой с той эпохой, перед запуском теста я ограничил виртуалку одним ядром и памятью в 512 МБ (максимум, который поддерживал чипсет i810E). Она выдала 61,5 – примерно столько мог выдать Pentium 4 (Northwood) на 2.2 ГГц, судя по статье Дэйва той эпохи. Я попробовал прогнать тест в Oracle VirtualBox, чтобы посмотреть, зависят ли результаты от виртуальной машины, и получил немного меньший результат в 54,8.

Несмотря на то, что результат в VirtualBox оказался хуже, чем в Hypervisor, устанавливал я его не зря, поскольку он поддерживает 3D-ускорение (в версии 6.0 и далее). Вооружившись ускорением, мы пошли проверять скорость в 3DMark 2001SE и Quake 3 Arena (v1.32, Demo Four).

Что касается 3DMark 2001SE, я нашёл обзор от Дэйва на Matrox Parhelia 128 МБ AGP от 2002, где были указаны результаты, которые можно использовать для сравнения. Тогда он испытывал систему с Pentium 4 2.4 ГГц с картами Matrox Parhelia 512, GeForce 4 Ti 4600 и Radeon 8500. Карты показали результаты 8112, 11 944 и 10 315 соответственно.

3DMark 2001SE определила виртуальный GPU как Radeon 9500 и выдала 21 334 очков — довольно серьёзная мощность, позволяющая играть в старые игры, не связываясь со старым железом.

У Quake 3 Arena результаты были слишком велики для того, чтобы даже пытаться сравнивать их с показателями Matrox Parhelia, и поэтому нам пришлось перейти на обзор ATI Radeon 9800 Pro 256MB от Марко от 2003. VirtualBox не поддерживает разрешение 1600×1200, поэтому пришлось ограничиться разрешением 1024х768.

В обзоре Марко сравнивались Radeon 9800 Pro 256MB, Radeon 9800 Pro 128MB, Radeon 9700 Pro и GeForce FX 5800 Ultra, показавшие результаты 227.3, 224.3, 224.4 и 235.3 fps, соответственно, без сглаживания. Прокачанная eMachines показала невероятные 253.9 fps, что ставит её на одну планку с передовыми компьютерами 2003 года.

Итоговые мысли по поводу проекта ретро-мода eMachines

Проект начался как слипер-сборка, а закончился ресто-модом [restomod – восстановление старых автомобилей с добавлением современных технологий и оборудования / прим. перев.]. У меня не вышло запихнуть туда материнскую плату mini-ITX, что упростило бы процедуру, было гораздо интереснее возиться с проектом из-за сложностей с использованием форм-фактора micro ATX, подборкой отдельной звуковой карты и поиском плат зелёного цвета. Также во время сборки была принесена кровавая жертва – в старых корпусах было полно острых краёв, о которых легко можно было порезаться.

Система слегка перегревается с радиатором Noctua NH-L9a-AM4, однако во время заказа я считал, что у меня будет очень мало свободного места. В итоге я поменяю его на что-нибудь с лучшими возможностями по охлаждению, но это как-нибудь в другой раз. Переделанный и восстановленный компьютер от eMachines работает стабильно, проблем у меня с ним ещё не было.

Было очень интересно искать компоненты, обрабатывать корпус дремелем, общаться на разные темы с друзьями из техноиндустрии, рисовать стикеры и работать с женой над этим проектом. Готов повторить, если наткнусь на фиолетовый Sony Vaio или Compaq Presario 5600 конца 90-х в хорошем состоянии. Система будет жить у меня на столе, рядом с основным компьютером (Ryzen ThreadRipper 1950X / Radeon VII / LG 48” CX OLED), и мы с женой сможем играть в мультиплеер Stardew Valley сидя рядом, а не в разных концах дома – и, естественно, в Fall Guys.

Вот если бы Acer возродила марку eMachines, как она сделала с Gateway…

ссылка на оригинал статьи https://habr.com/ru/post/525476/

Приглашаем на Samsung AI Forum 2020 

Samsung AI Forum пройдет уже в четвертый раз, но онлайн — впервые. Трансляции будут вестись на официальном YouTube-канале Samsung 2 и 3 ноября, для участия необходима регистрация на сайте форума. Несмотря на то, что в Москве в это время будет глубокая ночь, мы очень советуем постараться присоединиться к стриму. Ведь выступать в этом году будут самые крутые в мире исследователи в области искусственного интеллекта: Йошуа Бенджио, Ян ЛеКун, Кристофер Мэннинг и другие. Для тех, кто не сможет, будет доступна запись.


На форуме выступят крутейшие ученые мира в области ИИ, такие как Ян ЛеКун и Йошуа Бенджио (на фото), получившие премию Тьюринга за открытие глубоких нейронных сетей

День первый (2 ноября): Технологии искусственного интеллекта для перемен в реальном мире

Первую часть Samsung AI Forum проводит SAIT (Samsung Advanced Institute of Technology, Институт перспективных технологий Samsung). После докладов спикеры примут участие в панельной дискуссии. 

Темы докладов и спикеры: 

  • «На пути к обнаружению причинных представлений» — Йошуа Бенджио (Prof. Yoshua Bengio), профессор Монреальского университета, лауреат премии Тьюринга 2018 года (вместе с Яном ЛеКуном и Джеффри Хинтоном, премия считается аналогом Нобелевской в информатике), основатель и директор по науке в Mila (институт ИИ в Квебеке), директор по науке в IVADO, сооснователь конференции ICLR и член комитета ряда ведущих конференций в области ИИ. 
  • «Модели минимизации энергии в задаче самообучения» — Ян ЛеКун (Prof. Yann LeCun), Silver Professor наук о данных, компьютерных наук, нейронаук и электротехники в Нью-Йоркском университете, вице-президент и главный эксперт в области ИИ в Facebook, лауреат премии Тьюринга 2018 года (вместе с Йошуа Бенджио и Джеффри Хинтоном), член Ассоциации по развитию искусственного интеллекта (AAAI), «отец-основатель» сверточных сетей, один из создателей технологии сжатия изображений DjVU 
  • «Мета-обучение: от быстрой адаптации к обнаружению симметрий» — Челси Финн (Prof. Chelsea Finn), профессор Стэнфордского университета, эксперт в области обучения с подкреплением
  • «Реконструкция мозга» — Донхи Хэм (Prof. Donhee Ham), профессор Гарвардского университета, научный сотрудник Института перспективных технологий Samsung, эксперт в области био- и нейротехнологий
  • «Интерпретируемость в жизненном цикле машинного обучения» — Дженнифер Вортман Воган (Dr. Jennifer Wortman Vaughan), старший научный сотрудник в Microsoft Research (в настоящее время ведет проекты, связанные с объективностью и интерпретируемостью систем ИИ), член комитета ряда ведущих конференций и семинаров
  • «End-to-end модели распознавания речи» — Тара Сайнат (Dr. Tara Sainath), эксперт в области обработки естественных языков в Google Research

Также в первый день Форума объявят лауреата премии „Исследователь года“ в области искусственного интеллекта. 

День второй (3 ноября): Искусственный интеллект, ориентированный на человека 

Вторую часть форума организует Samsung Research, подразделение корпорации, отвечающее за науку и разработки будущих технологий. Глава Samsung Research Себастьян Сын, профессор института нейронаук и департамента компьютерных наук Принстонского университета, представит спикеров второго дня, а также возглавит панельную дискуссию, которая пройдет после докладов.

Темы докладов и спикеры: 

  • «Понимание естественного языка и диалоговый искусственный интеллект» — Кристофер Мэннинг (Prof. Christopher Manning), профессор, директор лаборатории ИИ и со-директор Центра искусственного интеллекта, ориентированного на человека, в Стэнфордском университете, лидер в применении глубокого машинного обучения к обработке естественного языка, член ACM, AAAI и ACL, автор нескольких книг по статистической обработке естественного языка и извлечению информации, работает вместе с Samsung над моделированием диалогов и вопросов-ответов 
  • «Мультимодальные и творческие системы искусственного интеллекта» — Деви Парих (Prof. Devi Parikh), доцент Технологического института Джорджии, исследователь в Facebook AI Research 
  • «Синтез интерпретируемого поведения для систем искусственного интеллекта, ориентированных на человека» — Суббарао Камбхампати (Prof. Subbarao Kambhampati), профессор компьютерных наук в Университете штата Аризона, член AAAI
  • «Искусственный интеллект для роботов и людей» — Дэниел Ли (Prof. Daniel D. Lee), профессор Корнеллского технологического института, исполнительный вице-президент Samsung Research и глава Центра ИИ Samsung в Нью-Йорке

ссылка на оригинал статьи https://habr.com/ru/company/samsung/blog/525472/

Как мы в очередной раз пытаемся заменить людей на роботов

Эта история о том, как мы в 4-ый раз запускаем стартап.

Как появилась идея

Всё началось с увиденного поста про новую платформу Maxine с ИИ для апгрейда видеосвязи от Nvidia, одна из особенностей этой платформы является синхронный перевод в виде титров, данная фича реализована при помощи фреймворка от той же Nvidia под название Jarvis, данный фреймворк предназначен для мультимодальных разговорных сервисов искусственного интеллекта, обеспечивающая производительность графических процессоров в реальном времени. Именно эта концепция синхронного перевода легла в основу нашей платформы аудио- и видео- связи. Поскольку это новая платформа, она должна иметь ряд особенностей по сравнению с другими подобными платформами, поэтому мы решили добавить этим титрам голос, формируя голосовой профиль пользователя и синтезируя речь с учётом тональности и окраса голоса человека, который говорит.


Речь в текст или распознавание речи

Что лучше использовать Google, Яндекс или Mozilla?

Google в сравнении с Яндекс имеет большую точность распознавания, мы прогнали 5 тестовых голосовых сообщений: 3 на английском языке и 2 на русском через API Google и точность распознавания составила 100% (5/5), Яндекс 60% (3/5). Google поддерживает 125 языков, Яндекс — 3 языка.

Плюсами Mozilla Deepspeech является точность распознавания, так как она составляет 92,5%, для сравнения человек распознаёт с точностью до 94,2%, поэтому точность распознавания тестовых голосовых сообщений составила 100% (5/5), также плюсом является, что данный движок опенсурсный, в отличие от Google и Яндекс. Минусом данного движка является количество распознаваемых языков — это английский, русский и французский.

В итоге выбор пал на Google Speech to Text из-за соотношения количества языков к точности распознавания.

Перевод текста

Для решения этой задачи первым приходит на ум использование готового API от Google или Яндекс. Первая проблема, с которой мы столкнулись, — это неточность перевода. Например, перевод предложения “Народу в Китае видимо невидимо” с русского на английский. Яндекс Переводчик: “People in China are apparently invisible” и Google Переводчик: “There are a lot of people in China”, в данном случае Google справился лучше.

Панацеи для решения данной проблемы на данный момент нет. Главная задача данных переводчиков на сегодняшний день — это научить алгоритм понимать смысл предложения/текста. Если алгоритм поймёт смысл, то и перевод будет намного качественным.

Перевод ряда предложений, связанных с бизнес тематикой, через Google Translate и Яндекс Переводчик показал, что Google делает это более грамотно, поэтому использовать будем Google Translate.

Анализ и получение голосового профиля

Чтобы получить голосовой профиль нам необходимо собрать некоторый датасет. Поскольку стоит задача синтезировать переведенный текст речью говорящего, нам нужно собрать датасет от каждого пользователя. Это делается посредством прочтения специализированного текста, содержащего необходимый набор буквосочетаний, синтаксических конструкций и знаков препинания. Длительность прочтения текста составляет примерно 15 минут, так мы получим достаточное количество информации о частотных и интонационных характеристиках каждого пользователя. Прочтение текста можно повторять, чтобы улучшить итоговые результаты.

Синтез речи с учётом голосового профиля

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

Вывод

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

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

ссылка на оригинал статьи https://habr.com/ru/post/525480/

Звездный уборщик: в Европе разрабатывают сборщика космического мусора

В Европе проектируют аппарат для уборки космического мусора. Подготовительные технические работы стартовали летом 2020 года. В совместных заседаниях по проекту участвуют Европейское космическое агентство (ЕКА) и стартап ClearSpace.

Частный консорциум во главе с ClearSpace SA займется сборкой прототипа системы. ClearSpace — швейцарский стартап, дочерняя компания Федеральной политехнической школы Лозанны. Эта компания разработала сборщика мусора, который использует для захвата четыре роботизированные конечности.

Фото: technologyreview.com

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

Миссия ClearSpace-1 ставит своей целью убрать обломок системы весом в 120 кг под названием VESPA. Он был частью миссии ЕКА 7 лет назад. В планах ЕКА запустить в космос робота с щупальцами, который сможет убирать с орбиты мусор. В обнимку с мусором космический робот на высокой скорости влетит в атмосферу и сгорит.

Соглашение о разработке планируют подписать в ноябре этого года. Бюджет миссии оценивают в $133 млн. Запуск намечен на 2025 год.

Проблемный космический мусор


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

Проблема усугубилась в последние десятилетие, когда существенно увеличилось количество запусков кораблей в космос. По данным ЕКА, с 1957 года проведено порядка 5,5 тыс. различных космических запусков. На начало 2019 года в космосе находилось более 128 млн объектов различной величины, включая 34 тыс. объектов размером более 10 см. Космический мусор — реальная угроза, несколько компаний разрабатывают технологии в этой сфере. Кто-то пробует тактику гарпунов или ловушек, другие испытывают уничтожение лазером.

Британская миссия RemoveDEBRIS демонстрирует сетевую технологию захвата. Разработчики потратили 6 лет на испытания в специальных вышках и в термовакуумных камерах. Помимо сети, спутник RemoveDEBRIS оснащен гарпуном, который может пробивать корпус космических объектов.

Несколько иную технологию «уборки» тестируют в Японии. Японское государственное агентство аэрокосмических исследований работает над созданием спутника, уничтожающего космический мусор путем его сжигания лазерным лучом. Испытание миссии в космосе планируют провести в 2023 году.

ссылка на оригинал статьи https://habr.com/ru/company/selectel/blog/525482/

Шесть степеней свободы: 3D object detection и не только

В компьютерном зрении часто приходится работать с двумерными изображениями, и значительно реже — с 3D объектами. Из-за этого многие ML инженеры чувствуют себя неуверенно в этой области: много незнакомых слов, непонятно, куда тут применить старых друзей Resnet и Unet. Поэтому сегодня я хотел бы немного поговорить о 3D на примере задачи определения шести степеней свободы, что в каком-то виде синонимично 3D object detection. Я разберу одну из относительно свежих работ на эту тему с некоторыми отступлениями. 

Меня зовут Арсений, я работаю ML инженером и веду Telegram-канал partially unsupervised. Эта статья написана по мотивам моего же видео для Data Fest 2020, секция “CV в индустрии”. 

Кратко о задаче

Для начала давайте определимся, что такое шесть степеней свободы (6 DoF — degrees of freedom). Представим себе некоторый ригидный (неизменяемый, т.е. при трансформации все точки будут оставаться на той же дистанции друг от друга) объект в трехмерном мире. Чтобы описать его положение относительно наблюдателя понадобится 6 измерений: три будут отвечать за повороты по разным осям, а еще три — за смещение по соответствующим осям. Соответственно, имея эти шесть чисел, мы представляем, как объект расположен относительно какого-то базиса (например, точки, с которой ведется фотосъемка). Эта задача является классической для робототехники (где находится объект, который нужно схватить роборукой?), дополненной реальности (где нарисовать маску в MSQRD, ушки в Snapchat или кроссовки в Wanna Kicks?) , беспилотных автомобилей и других доменов.

Будем рассматривать статью MobilePose: Real-Time Pose Estimation for Unseen Objects with Weak Shape Supervision (Hou et al., 2020). Эта статья, написанная авторами из Google Research, предлагает надежный и, что немаловажно, быстрый пайплайн для решения задачи, будет уместно разобрать его по частям.

Пайплайн состоит из трех основных кусков:

  1. Backbone достаточно классический, архитектура в виде песочных часов должна быть знакома каждому, кто хоть раз обучал Unet. 

  2. Выходы сети не выглядят инновационно. Detection, regression — все знакомые слова! Впрочем, насчет shape могут возникнуть вопросы. Но давайте отложим их на время.

  3. Постпроцессинг может показаться загадочным для тех, кто не в теме. Что такое EPnP и почему оно превращает 2D точки в 3D bounding box? 

3D для чайников

И здесь сразу нужно сделать важное отступление, которое поможет нам ответить на все эти вопросы. Давайте высокоуровнево посмотрим на некоторую математику 3D мира. Пусть есть некоторый набор 3D-точек X — матрица размером (n, 3), в которой n — количество точек. Как мы помним, шесть степеней свободы — это три поворота и три смещения, т.е. Rigid transformation. Если обозначить R матрицу поворота, а t — вектор переноса (rotation и translation соответственно), будет соблюдаться такое уравнение: 

X’ = X @ R.T + t 

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

Но X’ — это все еще 3D-координаты. Потому стоит сказать, что еще существует некоторая проективная матрица P. Эта матрица характеризует то, как мы проецируем объект на двумерную плоскость, условно “рендерим” его. Эта матрица зависит от размера фотографии, фокусного расстояния, искажений, но в нашей задаче ее можно считать константной. Имя такую матрицу, можно получить 2D координаты точек, просто умножив ее на X’

x = X’ @ P.T

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

Подзадача нахождения R и t, зная X, x и P, называется Perspective-n-Point. Т.е. мы знаем, как выглядит наш объект в 3D (это X), знаем, на какое изображение он спроецирован (P) и где на этом изображении находятся его точки. Выглядит как задача оптимизации! Есть целое семейство алгоритмов, которые решают эту задачу, например, некоторые уже реализованы в OpenCV.

Еще некоторые ссылки по теме:
Monocular Model-Based 3D Tracking of Rigid Objects: A Survey (Lepetit et. al 2005) — классический обзор;
EPnP: An Accurate O(n) Solution to the PnP Problem (Lepetit et. al 2008) — сильный бейзлайн;
PnP-Net: A hybrid Perspective-n-Point Network (Sheffer and Wiesel, 2020)
 — для тех, кто хочет скрестить ужа и ежа, т.е. добавить к PnP немного диплернинга.

Кстати, к этой проблеме подходят и с другой стороны. Адепты deep learning могут найти множество статей, где используется специальный projection layer, который преобразует 2D и 3D точки друг в друга. Обычно, чтобы обучить такой слой, используют синтетические данные, т.к. 3D координаты из реального мира получать дорого и сложно. Пример такой статьи.

Где взять 3D точки?

Итак, нам нужен X — напомню, это набор 3D точек. Откуда его взять?

Самый простой вариант — пытаться найти один и тот же объект на всех изображениях. Берем какую-то 3D CAD модель (готовую, рисуем с нуля, сканируем настоящий объект специальным сканером…) и используем его (точнее, какие-то его точки) в качестве X. Иными словами, делаем явное допущение «на фотографии находится именно такой объект» — на первый взгляд, это прямо-таки нагло, но практика показывает, что для оценки 6 DoF этого достаточно.

Более сложный подход — так называемые параметризированные модели. Образцовый пример — Basel Face. Исследователи из Университета Базеля отсканировали много лиц и при помощи PCA обучили такую модель, чтобы изменение малого числа ее параметров позволяло сгенерировать эти 3D лица. Таким образом, можно крутить малое количество ручек — главных компонент и получать довольно разные модели.

Параметризованная модель может быть и куда проще. Например, если мы ищем на фотографии 3D bounding box, в качестве базовой модели можно использовать куб, а для параметризации использовать его соотношения длины-ширины-высоты. 

Если наша 3D модель параметризована, ее параметры можно подбирать разными итеративными методами и выбирать такую, на которой reprojection error будет меньше. Т.е. берем некоторую модель X, решаем PnP, получаем R и t и выбираем такой X, чтобы разность x и (X @ R.T + t) @ P была минимальна, для примера можно посмотреть на procrustes analysis.

Истинные диплернеры идут дальше и в каком-то виде выучивают или 3D модель, или ее параметры. Хороший пример — известная работа DensePose от Facebook Research, которая популяризовала подход с выучиванием dense карты координат. Т.е. модель предсказывает для каждого пикселя его относительное расположение на 3D модели. Дальше можно найти соответствия и получить для каждого пикселя некоторое приближение его 3D координаты. 

В статье, которую мы изначально взялись разбирать, есть выход с таинственным названием shape. В зависимости от наличия grouth truth данных (об этом немного позже) авторы либо учат там сегментационную маску объекта (т.н. weak supervision, для улучшения сходимости), либо как раз карту координат объекта. 

Также может возникнуть вопрос — координаты каких именно точек мы хотим найти? Ответ простой: на самом деле, нам все равно. 3D модель обычно состоит из тысяч вершин, мы можем выбрать подмножество по своему вкусу. Единственный более или менее важный критерий — приблизительная равноудаленность точек друг от друга; в случае неудачной выборки решение PnP становится нестабильным. 

Где взять 2D точки?

Итак, с 3D объектом худо-бедно разобрались, давайте пойдем в более знакомую большинству CV инженеров область, т.е. вернемся в 2D и подумаем, где взять координаты на плоскости. 

Для получения 2D координат точек (обычно эта задача называется keypoint detection) популярны два основных подхода: регрессия напрямую (последний слой сети выдает x, y для каждой точки) и heatmap-регрессия (последний слой выдает тепловую карту с пятном около точки). Первый подход может быть быстрее, т.к. необязательно выстраивать полную encoder-decoder архитектуру, второй обычно точнее и достаточно легко обучается (это почти та же сегментация).

изображение взято из Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression
изображение взято из Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression

Авторы MobilePose не пошли ни по одному из этих путей и придумали интересный гибрид, вдохновившись современными “безанкорными” архитектурами для детекции вроде CenterNet. Помните, на схеме есть головы Detection и Regression? Так вот, Detection голова предсказывает центр объекта, а Regression — где вершины объекта находятся относительно этого центра. 

В этом подходе есть изящный трюк. Я много писал о том, как выбрать 3D модель, а в этом случае все осознанно упрощается: в качестве модели используется простой параллелепипед, он же 3D bounding box! То есть X — это вершины бокса, а x — проекция этих вершин. Значит, достаточно знать соотношения сторон этого бокса (которые мы получаем из самой архитектуры детектора), и остальная магия ни к чему.

Особенности приготовления данных

Во всех около3D задачах вопрос с данными стоит еще больнее, чем обычно. Для сегментации или детекции разметка хоть и требует немало времени, для нее уже есть много инструментов, процесс более или менее понятен и отлажен, да и существующих датасетов полно. Поскольку с трехмерными данными все сложнее, все был соблазн воспользоваться синтетическими данными и нарендерить бесконечный датасет. Все бы хорошо, но модели, обученные на синтетике без дополнительных трюков, обычно показывают значительно худшее качество, чем модели, обученные на реальных данных. 

Unlike 2D object detection, it is prohibitive to manually label data for 3D detection. Due to this difficulty of collecting sufficiently large amounts of labeled training data, such approaches are typically trained on real data that are highly correlated with the test data (e.g., same camera, same object instances, similar lighting conditions). As a result, one challenge of existing approaches is generalizing to test data that are significantly different from the training set.

Synthetic data is a promising alternative for training such deep neural networks, capable of generating an almost unlimited amount of pre-labeled training data with little effort. Synthetic data comes with its own problems, however. Chief among these is the reality gap, that is, the fact that networks trained on synthetic data usually do not perform well on real data.

В рассматриваемой статье авторы сделали один из таких трюков: вместо того, чтобы бездумно рендерить весь мир, они сделали комбинацию реальных и синтетических данных. Для этого они взяли видео из AR-приложений (хорошо быть гуглом и иметь много данных из ARCore). В таких видео есть и знание о плоскостях, оценка 6 DoF, полученная при помощи визуальной одометрии, и оценка освещения. Это позволяет рендерить искусственные объекты не где попало, а только на плоских поверхностях, адаптируя освещенность, что значительно снижает reality gap между синтетическими и реальными данными. К сожалению, повторить этот трюк в домашних условиях кажется довольно сложным.

Все вместе

(Сделано из палок и скотча за полчаса)
(Сделано из палок и скотча за полчаса)

Ура, мы галопом пробежались по всем ключевым концепциям пайплайна! Этого должно хватить, чтобы читатель смог собрать из open source компонентов, например, приложение, которое будет рисовать маску на лице (для этого можно даже не учить модели самостоятельно, готовых сетей для face alignment немало).

Конечно, это будет только прототип. При доведении такого приложения до продакшена возникнет еще много вопросов, например:

  • Как добиться консистентности между кадрами?

  • Что делать с неригидными объектами?

  • Что делать, если объект частично не виден?

  • Что делать, если в кадре много объектов?

Именно там начнутся настоящие приключения.

ссылка на оригинал статьи https://habr.com/ru/company/ods/blog/522836/