Для «Тигра» выбрали новый дизайн
«Калашников» привлек студентов МГХПА им. Строганова к разработке дизайна стрелкового оружия.
Итоги первого в России конкурса на лучший дизайн стрелкового оружия подвели эксперты концерна «Калашников» и академии им. Строганова. Студентам и аспирантам было предложено разработать новый облик существующих винтовок и карабинов гражданского назначения. А именно: 7,62-мм охотничьего карабина «Тигр», гладкоствольной «Сайги» 12 калибра и 5,6-мм винтовки для соревнований по биатлону Би-7-4.
Выбор оружия для применения таланта и фантазии студентов довольно интересен. Каждая система имеет историю и изюминку.
Так, «Тигр» — это гражданская версия 7,62-мм снайперской винтовки Драгунова (СВД). Винтовке больше полувека: она была разработана в 1958-1963 годах. Стоит на вооружении в армиях, полиции и спецслужбах более чем 30 стран мира. Как и автомат Калашникова, СВД часто применяют по обе стороны фронта. Например, Ирак и Иран, причем в обеих странах используют варианты местного производства. Индия выпускает СВД по лицензии. Китай наладил производство клонов СВД — как для собственных вооруженных сил, так и на экспорт для гражданского рынка.
Винтовка служит даже в армиях НАТО: в Болгарии, Чехии, Венгрии. А еще к ней очень теплое отношение и там, где официально ее на вооружении не принимали: например, в Армии обороны Израиля. А в Ираке и в Афганистане ее нередко видят в руках американских солдат.
Нынешнее поколение СВД получило новые тяжелые хромированные стволы. А для потребителей, которым наш хрестоматийный классический винтовочный патрон с выступающей закраиной (7,62×54R) кажется устаревшим, разработан экспортный вариант СВД под калибр .308 Winchester. Это коммерческий вариант патрона 7,62×51, которым стреляют все снайперы НАТО.
Как итог: можно не сомневаться, что винтовка Евгения Драгунова еще многие десятилетия будет популярна как у армейских снайперов, так и у охотников во всем мире. Но если армейцы не слишком требовательны к дизайну, то для гражданского рынка старое содержание должно иметь современную форму.
«Промышленный дизайн для современного и перспективного гражданского оружия — это, прежде всего, инструмент конкурентной борьбы, необходимый для расширения нашего присутствия на глобальном рынке и увеличения продаж стрелкового оружия в гражданском секторе, — говорит гендиректор концерна «Калашников» Алексей Криворучко.
Первое место за лучший дизайн гражданской версии СВД жюри конкурса, в которое вошли ведущие специалисты и эксперты «Калашникова» и академии им. Строганова, присудило студенту Евгению Саруханянцу.
Интересно, что победитель собственного оружия не имеет. Объясняет это с юмором: «Боюсь, маме это не понравится». И серьезно добавляет, что в жизни любой конфликт всегда старается решать мирным путем, без оружия.
Что же навеяло такой удивительный дизайн для оружия?
«Навеяно — не то слово, — уточняет Евгений. — Просто когда я увидел объявление о том, что «Калашников» проводит конкурс, я решил что это редкий шанс показать себя и приблизиться к такому серьезному и известному конструкторскому бюро. На нашей кафедре «Промышленного дизайна» к тематике оружия никто не обращается, уж больно она специфическая и сложная. Но тем и интересна. Надежда на победу была невелика, но — выиграл…».
Второй победитель — в номинации дизайна спортивной малокалиберной винтовки Би7-4 — Глеб Иванов рассказывает, что когда узнал про конкурс, то был настроен скептически: «Я ровным счетом ничего не знал о гражданском стрелковом оружии».
Еще дизайнера беспокоило, что концерн просто предложит ему выполнять какие-то свои требования, то есть, по сути, все сведется к визуализации идеи конструкторов. Сомнения были напрасными.
«У меня была возможность свободно выразить свои идеи. До конкурса я не интересовался биатлоном и, соответственно, винтовками, — признается студент. — Приступив к работе, изучил выступления спортсменов, присматривался, как они держат винтовку, сколько времени у них отведено на выстрел и т.п. Захотелось сделать более эргономичный, красивый, современный и конкурентоспособный инструмент. В итоге моя винтовка вышла довольно функциональной, использует современные технологии».
5,6-мм винтовка «Биатлон» Би-7-4 — это мужская (то есть более тяжелая) версия 5,6-мм винтовки, созданной на Ижевском машиностроительном заводе для спортсменов. Серийно выпускается с 1991 года. На чемпионатах мира и на Олимпийских играх она принесла стране десятки золотых и серебряных медалей.
В конкурсе «Калашников» предполагал и новый дизайн самого популярного гладкоствольного ружья на базе Калашникова — «Сайги» 12 калибра. Но решением жюри первое место за все предложенные виды дизайна «Сайги» решено не присуждать.
Всего в конкурсе приняли участие 30 молодых художников. Победители получили денежные призы, кроме того, у них есть шансы после окончания академии получить интересные предложения от «Калашникова». Впереди большая борьба за мировые рынки гражданского оружия, а оригинальный дизайн увеличивает привлекательность российских винтовок.
Впрочем, попробуйте представить себя придирчивым покупателем и — оцените идеи студентов Строгановки сами.
Тигр и в африке тигр
Фото автораНаписать этот рассказ меня подтолкнула найденная в семейном архиве фотография, на которой запечатлен мой брат, пристреливающий новый карабин. Но все по порядку.
Когда у меня на руках появились, благодаря Российскому законодательству, нарезные стволы, я стал думать об оснащении трехлинейки (КО-44) штатным снайперским прицелом. Для этой цели нашел в продаже, в комиссионке, гражданский вариант ПСО-1 с трехзначным серийным номером из второй сотни.
Этот прицел выполнен заодно с кронштейном, с посадочным местом типа «ласточкин хвост» и предназначен для самозарядного армейского, а впоследствии и охотничьего нарезного оружия. Ломаю голову, как закрепить его на изначально не приспособленную для этих целей ствольную коробку «мосинки». На глаза попадаются строчки из книги А. Потапова «Искусство снайпера»: «Не забывайте об отдаче – это враг оптики номер один.
На трехлинейную винтовку, обратный удар которой по современным меркам просто чудовищный, можно ставить только ее «родные» прицелы ПУ, ПЕ и ПБ. На этой винтовке со временем разбивается даже прицел ПСО-1, прекрасно и долго работающий в охотничьих системах «Тигр», «Барс», «Сайга», «Архар», «Вепрь» и на боевых системах СВД, СВТ, СКС». Я отказался от задачи крепить именно этот и установил «родной» прицел ПУ с кронштейном Кочетова, изготовленный Новосибирским заводом и неожиданно появившийся в продаже.
В это время мой брат приобрел карабин «Тигр», и я вспомнил о моем ПСО-1, предназначенном как раз для СВД, то есть для «Тигра».
На кухне его квартиры смотрит в открытое окно закрепленный в тисках карабин. Затвор снят, и, прицеливаясь через канал ствола на находящийся в 100 метрах ориентир, мы наводим на него центр дульного отверстия, следя за тем, чтобы не нарушилась симметрия всего изображения. Вспоминается прочитанный в детстве рассказ, в котором старый дед-охотник, целившись подобным образом из брошенной красноармейцами пушки, подбил немецкий паровоз.
Потом аккуратно, не сбивая наводки, крутим маховички оптического прицела и подводим пенек прицельной сетки под ориентир. Такие действия называются «холодной пристрелкой», которая довольно-таки груба, не учитывает высоту установки оптики, понижение траектории пули и вибрацию ствола при выстреле, но зато экономит патроны при «горячей» пристрелке
В свое время я видел в продаже устройство для «холодной» пристрелки, по форме повторяющее гильзу определенного калибра и представляющее из себя лазерную указку, которая посылает луч по центру канала ствола.
Наступил сезон весенней охоты, когда можно пристреливать охотничье оружие на природе, соблюдая все необходимые меры безопасности для себя и окружающих. Мы долго искали большое поле вдали от жилья, чтобы позади мишеней был безлюдный лес, куда по весне грибники не ходят, и, самое главное, чтобы направление стрельбы было немного вниз от горизонтального и все пули уходили в землю.
Сделанным из жердей двухметровым циркулем отмерены две дистанции: одна на 100, другая на 300 метров. Пристрелка началась. На капоте «Нивы» сооружен из одежды упор для левой руки, к багажнику привинчена 30-кратная труба.
Брат стреляет, я наблюдаю, моя супруга фотографирует.
Брат достает свои патроны, дешевые, произведенные НЗВА. Стреляет на 100 м в нарисованную на листе бумажных обоев «точку» диаметром 30 мм, т.е. около 1 МОА. Это тот идеал разброса пуль, к которому стремились оружейники прошлого, пока не появились сверхточные системы для варминтинга.
Я смотрю в трубу. При 30-кратном увеличении пулевые отверстия в мишени еще видны на стометровом расстоянии. Почувствовав после нескольких выстрелов, даже при большом рассеянии, где находятся на мишени координаты СТП (средней точки попадания), я указываю брату на вращение маховичков прицела. После следующей серии выстрелов направляюсь к мишени и провожу на ней геометрические вычисления СТП, которая оказалась вблизи нарисованной «точки».
Еще один щелчок маховичком, и пристрелка закончена. Патронов, даже плохих, израсходовано немного: спасибо «холодной пристрелке». Ослаблены винтики маховичков, лимбы поставлены на «1» (вертикальный) и на «0» (горизонтальный). Винтики закручены.
Брат предлагает «наводчику» самому испытать «Тигра». Достаю два патрона 7,62х53R того же НЗВА, но «повышенной кучности». Делаю первый выстрел, смотрю в трубу: пуля попала в нижнюю часть 30-миллиметрового кружка.
Произвожу второй выстрел. Пуля в верхней части кружка, она пошла вверх из-за нагрева ствола, но не вышла за его пределы. Ай да карабин! Ай да «Тигр» – сын СВД, снайперской винтовки Драгунова! Моей трехлинейке до него далеко.
Потом мы делаем несколько выстрелов по центру мишени 70х70 см, отнесенной на 300 метров. Чуда не происходит: отметины от пуль НЗВА «гуляют» по всему листу.
Хочу привести большую цитату из той же книги А. Потапова: «Это оружие появилось в 1963 году… Винтовка СВД выдерживает самое варварское обращение, проста в эксплуатации и абсолютно надежна в боевом применении… Кучность боя винтовок СВД, изготовленных в 60-е годы, была необычайно высока даже для неавтоматических магазинных винтовок… нередко можно было встретить экземпляры с кучностью 3х2 см на той же дистанции стрельбы…
До настоящего времени самозарядную снайперскую винтовку более точного боя, более надежной конструкции и меньшего веса создать так и не удалось. В мировой оружейной практике СВД признана самой удачной боевой системой своего класса…
Винтовка СВД не ломается, не изнашивается и не отказывает. Она так же нечувствительна к пыли, грязи, песку и механическим ударам, как и автомат Калашникова. Эта система не нуждается в дополнительных регулировках и отладках. Ею просто пользуются как безотказным боевым инструментом… Винтовку СВД никто и никогда не рекламировал: она рекламировала себя сама…
Винтовку СВД, ставшую зловещей легендой, оружейные коллекционеры на Западе стараются заполучить всеми правдами и неправдами – по причине повышенного боевого воздействия она запрещена к свободной продаже в странах Западной Европы, США и Канаде…
По технической схеме СВД были созданы ее укороченный вариант СВУ (снайперская винтовка укороченная) и охотничий карабин «Тигр», конструктивно повторяющий СВД, но без пламегасителя и газового регулятора, со стилизованным прикладом, приспособленным для охотничьей стрельбы. Эксплуатационно-баллистические характеристики винтовки СВУ и карабина «Тигр» аналогичны характеристикам винтовки СВД».
Я помню рассказ одного знакомого, бывшего снайпером в Анголе (на стороне воюющей стороны, которую поддерживал Советский Союз), о том, как СВД спасла ему жизнь в Африке.
Да, «Тигр» – он и в Африке тигр!
Александр Лебедев 21 мая 2012 в 00:00
Обзор и тюнинг СВД на примере винтовки Тигр
Как собственно я уже писал в третьей части Оружейного ИМХО, СВД без сомнений является «бабушкой» всех DMRок в мире. Ее приобретение сдерживалось лишь невозможностью использовать на ней современный прицельные комплексы. Если вы читали предыдущие “ИМХО”, то могли заметить, что тот же АКМ я приобрел, имея возможность эргономически довести его до уровня той же AR-ки.
И вот, наступил момент, когда то же самое можно сделать и с СВД. Принятая на вооружение в начале 60-х годов, она почти на полвека старше самых современных образцов оружия «пехотных снайперов», но эта замечательная винтовка до сих пор на равных участвует в вооруженных конфликтах по всему миру, успешно с этими образцами конкурируя.
СВД, вид ее прекрасен, органичен и спустя полвека притягивает взгляд ганофилов со всего мира….Как создавалось это оружие и кем – об этом мой сегодняшний рассказ…
Снайперская Винтовка Драгунова
Следует понимать, что послевоенная советская оборонительная доктрина на рубеже 1946 и 1960 кардинально менялась от пассивно оборонительной до наступательной. Причем, наступательная доктрина по сути своей была оборонительной, ибо основной целью было сбросить экспедиционные американские части в Ла-Манш и не позволить им закрепиться на материковой части Европы.
Доктрина сея было следствием значительного отставания СССР в разработках стратегических ядерных вооружений, и что самое важное – средств их доставки. Более того, ядерное оружие (ЯО) руководством СССР воспринималось как показатель мощи, не более, и не было на тот момент интегрировано с военную доктрину как таковую. Максимум, на что можно было рассчитывать – это применение его в ближних тылах противника, то есть фактически – как тактическое ядерное оружие (ТЯО).
Именно тогда руководство страны поставило приоритетом развитие ракетной техники и полное переоснащение армии с учетом действий в условиях наступательной войны, с применением ТЯО. Именно в этот период были заложены, разработаны и приняты на вооружение танк Т54 и его модификация для ведения боевых действий в условиях применения ядерного оружия – Т55. Танки должны были сходу достигнуть рубеж «Западный берег Рейна», переправиться и в недельный срок подойти к Ла-Маншу.
По замыслу, наличие множества рек не должно было сдерживать продвижение передовых частей вооруженных ПТ76, а пехота не должна была отставать от брони на БТР60 и БМП1. С воздуха части прикроют МиГ17, а в оперативной глубине фронта будут работать ИЛ28. Все было настроено на «блицкриг» – сначала выбить с аэродромов и баз экспедиционные и местные силы НАТО, а потом не дать империалистам перебросить новые войска в Европу, для захвата плацдарма, с целью использования для переброски дальней авиации и атомными бомбами на борту…
Основной упор в этой доктрине делался на осназ, ВДВ и, конечно же, на пехоту, что естественным образом вылилось в принятие на вооружение современных видов пехотного вооружения, стрелкового в частности – АК (впоследствии АКМ), РПК, и конечно же, СВД.
«В 1958 году задание на разработку снайперской винтовки получила группа конструкторов целевого спортивного оружия под руководством Евгения Драгунова, известного создателя спортивного огнестрельного оружия. Им предстояло совместить маневренность и неприхотливость самозарядного оружия с точностью и кучностью стрельбы.
При проектировании снайперской винтовки конструкторская группа Драгунова столкнулась с массой трудностей, которая в основном была связана с зазорами между различными частями винтовки. Нужно было обеспечить оптимальную плотность, чтобы была отличная кучность стрельбы. Но большие зазоры обеспечивают хорошую сопротивляемость оружия загрязнениям и другим воздействиям. В результате конструкторы пришли к разумному компромиссу. После долгих испытаний, в 1963 году, на вооружение Советской Армии поступил винтовка под обозначением СВД.»
В разобранном виде, первое, что бросается в глаза – абсолютная несхожесть с АК, хотя многие совершенно убеждены, что конструктивно СВД близка к АК. На самом деле газовый двигатель практически идентичен той же HK MR308, а вот решение УСМ в виде полностью съемного блока – по моему вообще замечательное решение.Ее основное назначение – поддержка мотострелкового отделения «точечным» огнем. Доктрина не предусматривала окопной войны и засадных действий отдельных снайперов. Боевой единице – отделению пехоты требовалась огневая мощь, транспорт и возможность ведения плотного огня на различных дистанциях и по различным целям, отсюда и автоматы, пулеметы, РПГ и полуавтоматическая скорострельная снайперская (высокоточная) винтовка, позволяющая поражать небронированные цели на дистанциях, превышающий действенный автоматный огонь – 800 метров. При этом стрелок действовал в составе отделения. СВД удачно вписалась в данную концепцию:
«… На третьи сутки передовые части 20 Гвардейской мотострелковой дивизии подошли к Рейну. Поднявшись по тревоге с базы в Эберсвальде, преодолев остаточное и несильное сопротивление Бундесвера, 3 Гвардейская танковая армия совместно с ВольксАрми ГДР, выступившей из под Лейпцига, как горячий нож сквозь масло, минуя крупные города, разрезал прямоугольник, вершинами которого были Лейпциг, Ганновер, Дюссельдорф и Франкфурт. С поставленной задачей справились разведбатовцы – на БТРах, поддерживаемые ПТ76, сходу форсировав Рейн, южнее Кюбленца, закрепились на западном берегу и прикрывали понтонную переправу, наводимую инженерными командами.
В воздухе висели МиГ17е, разгоняя немногочисленные А4 Скайхоки, а вот F86 Сейбров и F4 Фантом, так достававших первые часы операции, видно не было, их база была захвачена 10-й Гвардейской танковой дивизией на Т55, прорвавшихся к Рамштайну после удара тактической ядерной авиабомбой, который нанесли Ил28А 24-ой Воздушной Армии.
Гвардии лейтенант Иванов, вытерев пот вперемешку с сажей, лениво наблюдал за возведением понтонной переправы. Отделение спешилось и отдыхало, лишь пулеметчик не покинул открытого кузова БТР и с тревогой косился на зарево на юго-востоке – Рамштайн горел в адском пламени ядерной реакции.
Иванов осмотрел бойцов и покачал головой – сержант Петров, ветеран ВОВ, снайпер, бравший Кенигсберг, расстелив свежую портянку, разобрав газоотвод, чистил шток поршня СВД. Лейтенант прикрыл глаза и вспомнил, как буквально полгода назад Петров бурчал, сдавая СВТ и принимая секретную СВД. Однако уже спустя пару часов, доведя оружейника до инфаркта тем фактом, что разобрал винтовку практически до винтика, Саныч, так величали между собой Петрова сослуживцы, с любовью перебирал и потирал детали новой «ляли».
Пять дней назад, выйдя маршем из ППД, рота, в которой командиром отделения служил Иванов, практически не вступая в прямое боестолкновение, двигалась к Рейну вслед за отступающими немцами. Он даже и не видел то противника, так, тени и силуэты в размытом камуфляже, мелькающие среди деревьев. Всю работу делали авиация, артиллерия, ДРГ как СА, так и Народной армии ГДР. В города не входили, там работали «немецкие товарищи»…
Исключение составлял Петров – его СВД практически не смолкала. Немцы поначалу применяли тактику засадных действий, применяя противотанковые гранатометы, нападали на колонны с близких дистанций, однако несли большие потери при минимальном успехе. Их просто сметала огнем мотопехота, прикрытая бортами БТРов. Впоследствии они тактику поменяли – сначала тревожили колонну издалека из пулеметов, потом обстреливали остановившуюся или замедлившуюся колонну из М19 – 60 миллиметрового миномета, с дистанции до 1 км, и быстро исчезали в лесу, сделав пару залпов до того, как на них наведут танковые орудия. Враг не наносил урона танкам, но тем не менее пехота стала нести ощутимые потери….
Вот тут и проявились таланты штатных «пехотных» снайперов: сразу после начала обстрела десяток снайперов роты на удалении 800-1000 метров начинали давить минометные позиции, прямо с борта БТРов. Их слаженный беглый огонь был быстрым и губительным, много эффективней зенитных пулеметов – в итоге на колонну падало не более 2-3 мин… За 5 дней марша ни один танк так и не сделал выстрела, в то время как снайперы расстреляли три боекомплекта, и теперь постоянно подписывались у пулеметчиков…
Иванов открыл глаза, и в ушах как наяву прозвучали слова комбата: «Приехали ребята. Впереди Мец, там натуральная мясорубка. Передовые части 10-й остановлены перегруппировавшимися остатками 7 Армии США совместно с британцами, французами и немцами. Их необходимо сбросить в Ла-Манш к исходу 15-х суток, учитывая, что расчётное время прибытия “Стариков-Железнобоков” – 1-ой бронетанковой дивизии армии США, плюс 100 часов. В оперативном тылу противника 28-ые Илы бомбят все, что шевелится, небо наше, но враг бьется насмерть с упорством смертников. Если янки выгрузятся в Марселе, война затянется.»
Впереди ждали тяжелые бои на пути к проливу… »
Той войны, слава Богу, так и не было, но было много других, и везде сухой, рявкающий выстрел СВД извещал противника о проблемах. Спустя сорок лет коалиционные войска влезли на Средний Восток и Афганистан. Буквально первые недели «полицейской», или «стабилизационой» операции принесли плохие новости – повстанцы с СВД в горах наносят ощутимые потери, при этом они находятся за пределами досягаемости штатных М16 и М4. Американцы срочно достали со складов М14…
Интересен поворот истории, когда за 20 лет до этого СА столкнулась с «душманами» в горах Афганистана, СВД эффективно боролась с повстанцами, вооруженными старыми, но точными и дальнобойными Энфилдами, теперь вот «духи» сменили Энфилды на СВД….
Вот, кстати, вырезанная сцена из фильма «РЭМБО», где герой Сталлоне эффективно работает из СВД на 1000 ярдов
Устройство и принцип работы СВД
“7,62-мм снайперская винтовка Драгунова (СВД, Индекс ГРАУ — 6В1) — самозарядная снайперская винтовка, разработанная в 1957—1963 годах группой конструкторов под руководством Евгения Драгунова.
Для стрельбы из СВД применяются винтовочные патроны 7,62×54 мм R с обыкновенными, трассирующими и бронебойно-зажигательными пулями, а также снайперские патроны (7Н1, 7Н14), может также стрелять патронами с экспансивными пулями JHP и JSP. Огонь из СВД ведется одиночными выстрелами. Подача патронов при стрельбе производится из коробчатого магазина ёмкостью 10 патронов. На дульной части ствола крепится пламегаситель с пятью продольными прорезями, маскирующий также выстрел в ходе ночных операций и предохраняющий от загрязнения ствола. Наличие газового регулятора для изменения скоростей отката подвижных частей обеспечивает надёжность винтовки в работе.
Винтовка комплектуется оптическим прицелом ПСО-1М2, имеется возможность установки ночных прицелов НСПУМ или НСПУ-3.
При выстреле часть пороховых газов, следующих за пулей, устремляется через газоотводное отверстие в стенке ствола в газовую камеру, давит на переднюю стенку газового поршня и отбрасывает поршень с толкателем, а вместе с ними и затворную раму в заднее положение.
При отходе затворной рамы назад затвор открывает канал ствола, извлекает из патронника гильзу и выбрасывает её из ствольной коробки наружу, а затворная рама сжимает возвратную пружину и взводит курок (ставит его на взвод автоспуска).
В переднее положение затворная рама с затвором возвращается под действием возвратного механизма, затвор при этом досылает очередной патрон из магазина в патронник и закрывает канал ствола, а затворная рама выводит шептало автоспуска из-под взвода автоспуска курка и курок становится на боевой взвод. Запирание затвора осуществляется его поворотом влево и захождением боевых выступов затвора в вырезы ствольной коробки.
Для производства очередного выстрела необходимо отпустить спусковой крючок и нажать на него снова. После освобождения спускового крючка тяга продвигается вперед и её зацеп заскакивает за шептало, а при нажатии на спусковой крючок зацеп тяги поворачивает шептало и разъединяет его с боевым взводом курка. Курок, поворачиваясь на своей оси под действием боевой пружины, наносит удар по ударнику, а последний продвигается вперед и производит накол капсюля-воспламенителя патрона. Происходит выстрел.
При выстреле последним патроном, когда затвор отойдет назад, подаватель магазина поднимает вверх останов затвора, затвор упирается в него и затворная рама останавливается в заднем положении. Это является сигналом тому, что надо снова зарядить винтовку.
В соответствии с «Наставлением по стрелковом делу» кучность боя винтовки считается нормальной, если при стрельбе четырьмя выстрелами из положения лёжа на дальность 100 м все четыре пробоины умещаются в круг диаметром 8 см. Стрельба ведётся взятыми из герметичной укупорки патронами из одной партии с обыкновенными пулями со стальным сердечником.
Изначально СВД выпускалась с шагом нарезов 320 мм, аналогичным спортивному оружию и обеспечивающим высокую кучность стрельбы, однако при принятии винтовки на вооружение выяснилось, что с таким шагом рассеивание бронебойно-зажигательных пуль Б-32 увеличивается в два раза. В результате было решено изменить шаг нарезов на 240 мм, что привело к увеличению норматива по рассеиванию на дальности 100 м с 8 см до 10 см (что, однако, не нашло отражения в НСД). При стрельбе снайперским патроном 7Н1 рассеивание составляет (в зависимости от шага нарезов) не более 10—12 см на дистанции 300 м”.
Что касается лично моего мнения – СВД была моей мечтой
С тех пор, как я занялся стрельбой более плотно, я сразу понял, что, будучи хорошей винтовкой, СВД, тем не менее, эргономически проигрывала современным DMR, в частности – H&K MR 308, о чем собственно я и писал в одном из выпусков фотообзора “Оружейное ИМХО”.
Но тут происходит ЧУДО!!!! Valentin Vlasenko, это SAG, начинает разработку шасси для СВД!!! Причем не просто обвес, с возможностью эргономического улучшения винтовки – идеей было получить “вывешенный” ствол! Прекрасно зная о качестве продукции “от Валентина”, я сразу же связался с ним и сходу заказал первый товарный образец, не имея самого карабина и не зная, что получится. В итоге шасси я получил на пару недель раньше, чем приобрел собственно сам Тигр.
Таким Тигр предстал после выемки из заводской упаковки. Не буду писать чем Тигр отличается от аутентичной СВД, ибо об этом написано множество статей, скажу лишь, что меня устроил хромированный ствол и нарезы с шагом 320 мм…Так уж получилось, что наряду с фотообзорами я начал вести свой видеожурнал на YouTube, где есть серия лобовых сравнений с H&K 308, а так же “паркетные обзоры” этих уникальных винтовок. Вот они:
Тигр против H&K 308:
Паркетный обзор Тигра:
Подписывайтесь и смотрите)))))
Фотообзор СВД
Ну а теперь собственно мой фотообзор. Я решил не фотографировать подробно внутренние детали Тигра, в отличии от того же Хеклера, в разобранном состояние который мало кто видел. СВД – она и в Африке СВД так же нет тут и фото мишеней, так как они представлены в видеообзорах.
Это фото Валентина. Видно, что шасси состоит из верхнего и нижнего полуцевья. Баррельнат идет в комплекте, дополнительно приобретался переходник под АР прикладНи разу не стрельнув, Карабин был одет в шасси. Процедура довольно трудоемка, снимается вся арматура. Вес голого карабина с шасси практически идентичен весу штатного карабина.Хорошо виден переходник под АК рукоятку и AR приклад, в данном случае – CRT от Magpul. Обратите внимание – ось приклада приподнята ближе к оси ствола, что значительно уменьшает подброс при выстреле.Штатную крышку ствольной коробки необходимо пилить… Медленно и аккуратно, дремелем, под неназойливое возмущение жены))) Если сделать все правильно – получится очень хорошо!Верхнее полуцевье своей задней частью крепится на штатное крепление “ласточкин хвост”. Крышка съемная, это позволяет проводить разборку винтовки без снятия шасси.Нижнее и верхнее полуцевья крепятся между собой в передней части, а так же и к баррельнату, предварительно закрепленному в месте соединения ствола и ствольной коробки. Нижнее полуцевье позволяет установить сошки.В шасси СВД может принять любой современный прицел.Для того, что бы увидеть СВД, надо присматриваться)))Ствол вывешен, цевье нигде не касается его.Верхнее полуцевье чуть короче, для доступа к регулируемому газблоку и его разборке.После покраски Тигр выглядел следующим образом.На карабине установлен оптический прицел Leupold Mark 6 с сеткой в первой фокальной плоскости, кратностью до х18.Карабин очень “плоский”…Даже с низким кронштейном проблем с использованием ночной предобъективной насадки не возникает.Вид через ночную насадку на Х6 кратности.На полигоне, радом с Блазером 338…Ваш покорный слуга, довольный как танк))))Благодаря низкой стоимости Барнаульских патронов и высоким характеристикам получившегося Тигра, выезды на “пострелушки” стали происходить значительно чаще)Это финальный вид карабина, к которому я пришел. По сути поменян ДТК, кронштейн оптики, приклад.Родная колодка мушка-пламегаситель поменяна на PWS – крайне эффективный гибрид пламегасители и ДТК.Приклад PRS от Magpul – ИМХО, лучший для высокоточных винтовок. Тяжел, но иногда это во благо, есть возможность гибких регулировок.Приклад регулируется по длине, высоте щеки, может быть установлен монопод…Кронштейн Recknagel из серии Tactical. Возможность регулирования наклона.Выводы: если вы посмотрите видео с канала, вы поймете одно. Тигр в шасси от SAG практически не уступает HK MR308. Здесь же добавлю одно – стреляйте с удовольствием, часто и безопасно!!!!Этим летом Тигр, кроме полигонов и стрельбищ побывал и на сурчиной охоте…. Как и ХиК…. Тигр – оружие суркогеноцида….P.S. Обзоры от одного к другому становятся менее насыщенными деталями, дабы не повторяться. Кроме того, как я уже сказал, есть уже видеообзоры. При желании могу конечно разобрать все на винтики и описать на фотографиях, но мне почему-то кажется, что это лишнее. По крайней мере, на прошлых отчетах такие фото “лайков” не собирали)))
Разложение матрицы, сжатие изображения и удаление фона видео с использованием R [ЧАСТЬ 1]
Этот пост — ЧАСТЬ-1 из двух постов. PART-1 будет проходить через матричную декомпозицию с использованием сингулярной векторной декомпозиции (SVD) , рандомизированной сингулярной векторной декомпозиции (rSVD) и неотрицательной матричной факторизации (NMF) в основном для сжатия изображений.
PART-2 рассмотрит удаления фона видео с использованием рандомизированного SVD и надежного PCA .
Разложение сингулярного вектора (SVD) — это математический метод разложения матрицы на три отдельные матрицы, каждая из которых имеет особые свойства. По сути, SVD преобразует коррелированные переменные в набор некоррелированных переменных.
SVD можно использовать для лучшего понимания набора данных, потому что SVD покажет вам количество важных измерений, а также может упростить набор данных за счет уменьшения количества функций, удалив линейно зависимые функции с точки зрения линейной алгебры.Таким образом, SVD можно использовать для сокращения набора данных большого размера до меньшего количества измерений, сохраняя при этом важную информацию.
Предположим, что A — это матрица с каждой переменной в столбце и наблюдениями в строках, тогда SVD состоит из:
A = U · d · V T
Где:
- A: исходная матрица (m x n)
- U: ортогональная матрица (m × n)
- d: диагональная матрица (n × n)
- В: ортогональная матрица (n × n)
Начнем с небольшого примера набора данных A
: 10 x 3, с 3 объектами и 10 строками.
set.seed (0) A <- матрица (runif (30, min = 0, max = 100), nrow = 10) A <- data.frame (A) colnames (A) <- paste0 ("feature _", 1: NCOL (A)) rownames (A) <- paste0 ("регистр", 1: NROW (A)) А
set.seed (0) A <- matrix (runif (30, min = 0, max = 100), nrow = 10) A <- data.frame (A) colnames (A) < - paste0 ("свойство _", 1: NCOL (A)) rownames (A) <- paste0 ("регистр", 1: NROW (A)) A |
## feature_1 feature_2 feature_3 ## регистр1 89.66972 6,178627 77,744522 ## register2 26.55087 20.597457 93.470523 ## register3 37.21239 17.655675 21.214252 ## register4 57.28534 68.702285 65.167377 ## register5 90.82078 38.410372 12.555510 ## register6 20.16819 76.984142 26.722067 ## register7 89.83897 49.769924 38.611409 ## register8 94.46753 71.761851 1.339033 ## register9 66.07978 99.1
38.238796 ## register10 62. 38.003518 86.969085
## feature_1 feature_2 feature_3 ## register1 89.66972 6,178627 77.744522 ## register2 26.55087 20.597457 93.470523 ## register3 37.21239 17.655675 21.214252 ## register4 57.28534 68.702285 65.167377 ## register5 90.820116 9552000 ## register5 90.82078 2055211 ## register5 90.82078 12552000 ## register5 90.82078 20552000 ## regist 38.611409 ## register8 94.46753 71.761851 1.339033 ## register9 66.07978 99.1 38.238796 ## register10 62. |
Следующий код преобразует матрицу A в 3 матрицы (диагональная матрица : d , а также u и v ) в соответствии с SVD-декомпозицией и с использованием функции svd () . Ниже вы можете увидеть эти матрицы:
## $ d ## [1] 300.06826 113.25773 84.80736 ## ## $ u ## [, 1] [, 2] [, 3] ## [1,] -0,3450932 -0,39375868 -0.44297281 ## [2,] -0,2499063 -0,54713537 0,23660896 ## [3,] -0,1517606 -0,01260518 -0,09
7 ## [4,] -0,3595852 -0,06634029 0,27641129 ## [5,] -0,2982925 0,23555537 -0,40124974 ## [6,] -0,2256024 0,110 0,52579073 ## [7,] -0,3584251 0,09509590 -0,22232164 ## [8,] -0,3471264 0,47793821 -0,20284986 ## [9,] -0,3897184 0,28669365 0,36108378 ## [10,] -0,3541244 -0,35883174 0,05603342 ## ## $ v ## [, 1] [, 2] [, 3] ## [1,] -0.6948113 0,1875190 -0,6943154 ## [2,] -0,5277211 0,5229674 0,6693397 ## [3,] -0,4886182 -0,8314696 0,2644060
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 | ## $ d ## [1] 300.06826 113,25773 84.80736 ## ## $ u ## [, 1] [, 2] [, 3] ## [1,] -0,3450932 -0,39375868 -0,44297281 ## [2, ] -0,2499063 -0,54713537 0,23660896 ## [3,] -0,1517606 -0,01260518 -0,09 7 ## [4,] -0,3595852 -0,06634029 0,27641129 —## [5,] -0,25512529 ## [5,] -0,25512529 [6,] -0,2256024 0,110 0,52579073 ## [7,] -0,3584251 0,09509590 -0.22232164 ## [8,] -0,3471264 0,47793821 -0,20284986 ## [9,] -0,3897184 0,28669365 0,36108378 ## [10,] -0,3541244 -0,35883174 0,05603342 # # # # 9## [, 1] [, 2] [, 3] ## [1,] -0,6948113 0,1875190 -0,6943154 ## [2,] -0,5277211 0,5229674 0,6693397 ## [3,] -0,4886182 -0,8314696 0,2644060 |
Мы должны принять во внимание некоторые аспекты матриц результатов SVD:
- Каждая строка матрицы и соответствует каждой строке исходной матрицы.
- Столбцы матрицы v совпадают с характеристиками исходной матрицы.
- Столбцы матрицы и должны рассматриваться как тема1, тема2 и тема3 и не соответствуют напрямую столбцам исходной матрицы (характеристика_1, характеристика_2, характеристика_3).
- Диагональная матрица (d) соответствует каждой теме и упорядочена по важности темы (первый элемент важнее и так далее).
В соответствии с этим, мы можем поставить имена в каждый столбец, чтобы прояснить его:
U <- данные.кадр (A_svd $ u) colnames (U) <- paste0 ("тема", 1: NCOL (U)) rownames (U) <- paste0 ("регистр", 1: NROW (A)) U
U <- data.frame (A_svd $ u) colnames (U) <- paste0 ("тема", 1: NCOL (U)) rownames (U) <- paste0 ("регистр", 1: NROW (A)) U |
## topic1 topic2 topic3 ## регистр1 -0.3450932 -0,39375868 -0,44297281 ## register2 -0,2499063 -0,54713537 0,23660896 ## register3 -0.1517606 -0.01260518 -0.09
7 ## register4 -0.3595852 -0.06634029 0.27641129 ## register5 -0,2982925 0,23555537 -0,40124974 ## register6 -0,2256024 0,110 0,52579073 ## register7 -0,3584251 0,09509590 -0,22232164 ## register8 -0.3471264 0.47793821 -0.20284986 ## register9 -0,3897184 0,28669365 0,36108378 ## register10 -0,3541244 -0,35883174 0.05603342
## topic1 topic2 topic3 ## register1 -0.3450932 -0.39375868 -0.44297281 ## register2 -0.2499063 -0.54713537 0,23660896 ## register3 -0,1517 -606 -0,012602000 ## register3 -0,1517 -606 -0,012602000 # 528 # 951152999 ## register5 -0,2982925 0,23555537 -0,40124974 ## register6 -0,2256024 0,110 0.52579073 ## register7 -0,3584251 0,09509590 -0,22232164 ## register8 -0,3471264 0,47793821 -0.20284986 ## register9 -0,3897184 0,28669365 0,36108378 .354 # reg442 -0.35888378 .354# register10 -10 |
D <- data.frame (diag (A_svd $ d)) colnames (D) <- paste0 ("тема", 1: NCOL (U)) rownames (D) <- paste0 ("тема", 1: NCOL (U)) D
D <- данные.frame (diag (A_svd $ d)) colnames (D) <- paste0 («тема», 1: NCOL (U)) rownames (D) <- paste0 («тема», 1: NCOL (U) ) Д |
## topic1 topic2 topic3 ## topic1 300.0683 0.0000 0.00000 ## topic2 0,0000 113,2577 0,00000 ## topic3 0,0000 0,0000 84.80736
## topic1 topic2 topic3 ## topic1 300.0683 0,0000 0,00000 ## topic2 0,0000 113,2577 0,00000 ## topic3 0,0000 0,0000 84.80736 |
V <- data.frame (A_svd $ v) colnames (V) <- colnames (A) rownames (V) <- paste0 ("тема", 1: NCOL (U)) V
V <- data.frame (A_svd $ v) colnames (V) <- colnames (A) rownames (V) <- paste0 ("тема", 1: NCOL (U)) V |
## feature_1 feature_2 feature_3 ## topic1 -0.6948113 0,1875190 -0,6943154 ## topic2 -0,5277211 0,5229674 0,6693397 ## topic3 -0,4886182 -0,8314696 0,2644060
## feature_1 feature_2 feature_3 ## topic1 -0,6948113 0,1875190 -0,6943154 ## topic2 -0,5277211 0,5229674 0,6693397 ## topic3 -0,4886182 -0,8314696 0,2644060 |
Обратите внимание на корреляцию между столбцами матрицы и :
## [, 1] [, 2] [, 3] ## [1,] 1.0000000 -0,1230321288 0,1185052849 ## [2,] -0.1230321 1.0000000000 0.0007930161 ## [3,] 0.1185053 0.0007930161 1.0000000000
## [, 1] [, 2] [, 3] ## [1,] 1.0000000 -0.1230321288 0.1185052849 ## [2,] -0.1230321 1.0000000000 0.0007930161 ## [3,] 0.1185053 0.0007930161 1.0000000000 |
В качестве примера, только чтобы увидеть различия между признаков (из исходной матрицы) и темами , мы можем реплицировать матрицу A в объект B
, а затем поставить нули в feature_3:
Теперь мы можем рассчитать SVD матрицы B
.Как вы можете видеть ниже, нулевые значения видны только в матрице диагонали и в матрице v , но не в матрице u .
## $ d ## [1] 267,38125 87,74893 0,00000 ## ## $ u ## [, 1] [, 2] [, 3] ## [1,] -0,2787209 0,5726378541 -0,172499723 ## [2,] -0,1256765 0,0008567322 -0,012160150 ## [3,] -0,1503636 0,1019880483 0,97
03 ## [4,] -0,3269347 -0.2162331156 -0,031176728 ## [5,] -0,3562184 0,21492 -0,051100385 ## [6,] -0,2364834 -0,5506977253 -0,009723958 ## [7,] -0,3794382 0,1819959212 -0,050268679 ## [8,] -0,4436522 0,0167429159 -0,052397739 ## [9,] -0,4229711 -0,4286735662 -0,035489988 ## [10,] -0,2729534 0,09
907 -0,035126831 ## ## $ v ## [, 1] [, 2] [, 3] ## [1,] -0,7887458 0,6147195 0 ## [2,] -0,6147195 -0,7887458 0 ## [3,] 0,0000000 0.0000000 11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 | ## $ d ## [1] 267.38125 87.74893 0.00000 ## ## $ u ## [, 1] [, 2] [, 3] ## [1,] -0.2787209 0,5726378541 -0,172499723 ## [2,] -0,1256765 0,0008567322 -0,012160150 ## [3,] -0,1503636 0,1019880483 0,97 03## [4,] -0,326119347 ] -0,3562184 0,2 1492 -0,051100385 ## [6,] -0,2364834 -0,5506977253 -0,009723958 ## [7,] -0,3794382 0,1819959212 -0,050268679 1604122 -0,050268679 # 1604239 -0,050268679 # 1604239229 -0,050268679 # 1604139229 [9,] -0,4229711 -0,4286735662 -0.035489988 ## [10,] -0,2729534 0,09 907 -0,035126831## ## $ v ## [, 1] [, 2] [, 3] ## [1,] -0.7887458 0,6147195 0 ## [2,] -0,6147195 -0,7887458 0 ## [3,] 0,0000000 0,0000000 1 |
Теперь мы можем восстановить исходную матрицу B, используя матрицы u, v и d и вычислив B = u · d · v T .
B_ <- SVD_B $ u% *% diag (SVD_B $ d)% *% t (SVD_B $ v) B_
B_ <- SVD_B $ u% *% diag (SVD_B $ d)% *% t (SVD_B $ v) B_ |
## [, 1] [, 2] [, 3] ## [1,] 89.66972 6,178627 0 ## [2,] 26,55087 20,597457 0 ## [3,] 37.21239 17.655675 0 ## [4,] 57.28534 68.702285 0 ## [5,] 90.82078 38.410372 0 ## [6,] 20.16819 76.984142 0 ## [7,] 89.83897 49.769924 0 ## [8,] 94.46753 71.761851 0 ## [9,] 66.07978 99.1
0 ## [10,] 62. 38.003518 0
## [, 1] [, 2] [, 3] ## [1,] 89.66972 6.178627 0 ## [2,] 26.55087 20.597457 0 ## [3,] 37.21239 17.655675 0 ## [4,] 57.28534 68.702285 0 ## [5,] 90.82078 38.410372 0 # # [6,] 20.16819 76.984142 0 ## [7,] 89.83897 49.769924 0 ## [8,] 94.46753 71.761851 0 ## [9,] 66.07978 99.1 0 ## [10,] 62. |
Теперь мы можем проверить, являются ли исходная матрица B
и восстановленная матрица B_
одинаковыми (или почти одинаковыми), просто вычитая матрицы.Вы можете видеть, что две матрицы очень хорошо совпадают.
варианты (scipen = 99) B — B_
опции (scipen = 99) B — B_ |
## feature_1 feature_2 feature_3 ## register1 0.000000000000000000000 -0.000000000000056843419 0 ## регистр2 -0.000000000000003552714 -0.000000000000007105427 0 ## register3 -0.000000000000007105427 -0.000000000000007105427 0 ## register4 -0.000000000000021316282 -0.000000000000028421709 0 ## register5 0.000000000000000000000 0.000000000000000000000 0 ## register6 0.000000000000014210855 -0.000000000000028421709 0 ## register7 -0.000000000000014210855 -0.000000000000007105427 0 ## register8 -0.000000000000014210855 -0.000000000000014210855 0 ## register9 -0.000000000000014210855 0,000000000000000000000 0 ## register10 -0.000000000000014210855 -0.000000000000014210855 0
## feature_1 feature_2 feature_3 ## register1 0.000000000000000000000 -0.000000000000056843419 0 ## register2 -0.000000000000003552714 -0.000000000000007105427 0 ## register3 -0.+000000000000007105427 -0,000000000000007105427 0 ## register4 -0,000000000000021316282 -0,000000000000028421709 0 ## register5 +0,000000000000000000000 0,000000000000000000000 0 ## register6 0,000000000000014210855 -0,000000000000028421709 0 ## register7 -0,000000000000014210855 -0,000000000000007105427 0 ## register8 -0,000000000000014210855 -0,000000000000014210855 0 ## register9 -0.2) / NROW (B)) |
## [1] 0.00000000000002632367
## [1] 0,00000000000002632367 |
Теперь предположим, что мы хотим уменьшить размер изображения, сжав его. Мы можем использовать СВД для этой работы !.
Прежде всего, нам нужно установить / загрузить пакет rsvd, затем есть пример изображения тигра, которое мы будем использовать для нашей цели, размеры: 1600 × 1200 в оттенках серого (8 бит [0-255] / 255 ) изображение.
# загрузка примера изображения библиотека (rsvd) данные (тигр) тусклый (тигр)
# загрузка примера изображения библиотека (rsvd) данные (тигр) dim (тигр) |
Следующий шаг — применить svd ()
к изображению tiger , чтобы мы получили три матрицы: u, d и v.
# Сжатие изображений с помощью SVD СВД <- СВД (тигр) ул (СВД)
# Сжатие изображения с помощью SVD SVD <- svd (tiger) str (SVD) |
## Список из 3 ## $ d: число [1: 1200] 528 119.8 86,1 77 66,1 … ## $ u: num [1: 1600, 1: 1200] -0.0134 -0.0133 -0.0133 -0.0134 -0.0133 … ## $ v: num [1: 1200, 1: 1200] -0.0357 -0.0357 -0.0355 -0.0356 -0.0357 …
## Список из 3 ## $ d: num [1: 1200] 528 119,8 86,1 77 66,1 … ## $ u: num [1: 1600, 1: 1200] -0.0134 -0.0133 — 0,0133 -0,0134 -0,0133 … ## $ v: num [1: 1200, 1: 1200] -0,0357 -0,0357 -0,0355 -0,0356 -0.2), type = «b», pch = 16, xlab = «themes», ylab = «дисперсия объяснена») |
В этом примере мы выберем 100 самых важных тем. Помните, что темы упорядочены, поэтому достаточно выбрать первые 100 столбцов матриц.
Итак, начиная с 1200 тем, мы получим только первые 100, а затем реконструируем изображение, используя уменьшенные матрицы:
level <- 100 # количество тем, которые мы будем использовать тигр.SVD = SVD $ u [, 1: уровни]% *% diag (SVD $ d [1: levels])% *% t (SVD $ v [, 1: уровни]) # восстановление изображения
level <- 100 # количество тем, которые мы будем использовать tiger.SVD = SVD $ u [, 1: levels]% *% diag (SVD $ d [1: levels])% *% t (SVD $ v [, 1: levels]) # реконструируем изображение |
По сути, мы используем только оранжевую часть матриц для восстановления матрицы A.См. Диаграмму ниже.
Наконец, мы можем отобразить исходное и уменьшенное изображение:
# Отображение оригинального и реконструированного изображения # Библиотека имидж-сканера строит графики быстрее, чем функция image () # imager vignette: https://dahtah.github.io/imager/imager.html библиотека (тепловизор) IM_1 <- as.cimg (tiger [, 1200: 1]) IM_2 <- as.cimg (tiger.SVD [, 1200: 1]) сюжет (imappend (list (IM_1, IM_2), axis = "x")) текст (10,50, "исходный", pos = 4, col = "white") text (1610,50, "СВД уменьшено [100]", pos = 4, col = "white")
# Показать исходное и реконструированное изображение # Библиотека визуализации строит графики быстрее, чем функция image () # Виньетка тепловизора: https: // dahtah.github.io/imager/imager.html библиотека (имидж-сканер) IM_1 <- as.cimg (tiger [, 1200: 1]) IM_2 <- as.cimg (tiger.SVD [, 1200: 1] ) график (imappend (list (IM_1, IM_2), axis = «x»)) text (10,50, «original», pos = 4, col = «white») text (1610,50 , «СВД уменьшенный [100]», pos = 4, col = «white») |
А ниже можно оценить размер уменьшенных матриц на 9,52%
# Размер исходных матриц: печать (объект.размер (SVD $ u) + object.size (SVD $ d) + object.size (SVD $ v), units = «Mb»)
# Размер исходных матриц: print (object.size (SVD $ u) + object.size (SVD $ d) + object.size (SVD $ v), units = «Mb») |
# Размер приведенных матриц (СВД [100]): print (object.size (SVD $ u [, 1: уровни]) + object.size (SVD $ d [1: levels]) + object.size (SVD $ u [, 1: уровни]), units = «Mb «)
# Размер уменьшенных матриц (SVD [100]): print (object.размер (SVD $ u [, 1: уровни]) + размер объекта (SVD $ d [1: уровни]) + размер объекта (SVD $ u [, 1: уровни]), units = «Mb») |
В последней части мы использовали метод SVD для сжатия изображений. Мы также можем использовать рандомизированный метод SVD (с использованием пакета rsvd ), который эквивалентен классическому SVD, но работает быстрее. Вы можете посмотреть: PDF для получения подробной информации о тестах.
Ниже приведено простое сравнение скоростей.
SVD_time <- system.время ({X <- svd (тигр)}) rSVD_time <- system.time ({X <- rsvd (tiger, k = 100)}) # классический расчет времени СВД: SVD_time
SVD_time <- system.time ({X <- svd (tiger)}) rSVD_time <- system.time ({X <- rsvd (tiger, k = 100)}) # классический расчет времени SVD: SVD_time |
## пользовательская система истекла ## 8.984 0,050 9,041
## система пользователя истекла ## 8,984 0,050 9,041 |
# рандомизированный расчет времени SVD [100]: rSVD_time
# рандомизированный расчет времени SVD [100]: rSVD_time |
## пользовательская система истекла ## 1.594 0,030 1,624
## пользовательская система истекла ## 1,594 0,030 1,624 |
Как видите, в этом случае рандомизированный SVD намного быстрее, чем классический SVD. Далее мы увидим, как работает rSVD , обратите внимание, что вы должны заранее сообщить функции количество тем или низкоранговое разложение (аргумент функции k).
# Сжатие изображений с использованием рандомизированного SVD rSVD <- rsvd (тигр, k = 100) tiger.rSVD = rSVD $ u% *% diag (rSVD $ d)% *% t (rSVD $ v) # реконструировать изображение
# Сжатие изображения с использованием рандомизированного SVD rSVD <- rsvd (tiger, k = 100) tiger.rSVD = rSVD $ u% *% diag (rSVD $ d)% *% t (rSVD $ v) # реконструировать изображение |
Сравнивая результаты СВД и рСВД , все выглядит примерно одинаково.
# Отображение оригинальных и реконструированных изображений с помощью SVD и rSVD IM_3 <- as.cimg (tiger.rSVD [, 1200: 1]) plot (imappend (list (IM_1, IM_2, IM_3), axis = "x"), axes = FALSE) текст (10,60, "исходный", pos = 4, col = "white", cex = 0,8) текст (1610,60, "SVD [100]", pos = 4, col = "white", cex = 0.8) текст (3210,60, "rSVD [100]", pos = 4, col = "white", cex = 0.8)
# Отображение исходных и восстановленных изображений с использованием SVD и rSVD IM_3 <- as.cimg (tiger.rSVD [, 1200: 1]) график (imappend (list (IM_1, IM_2, IM_3), axis = «x»), axes = FALSE) text (10,60, «original», pos = 4, col = «white», cex = 0.8) text (1610,60, «SVD [100]», pos = 4, col = «white», cex = 0.8) text (3210,60 , «rSVD [100]», pos = 4, col = «white», cex = 0.8) |
Расчет ошибки (RMSE) разложения в зависимости от значения k:
rSVD2 <- список () тигр.2) / NROW (as.vector (tiger))) # ошибка вычисления результат [[k]] <- data.frame (k = k, error = round (error, 2), size_Mb = as.numeric (as.character (round (size / 1024 / 1024,2)))) }
rSVD2 <- list () tiger.rSVD_2 <- list () result <- list () for (k in c (2,5,10,20,50,100,200,500,1200)) { cat («\ nk:», k, «/», 1200) rSVD2 [[k]] <- rsvd (tiger, k = k) size <- object.2) / NROW (as.vector (tiger))) # ошибка вычисления result [[k]] <- data.frame (k = k, error = round (error, 2), size_Mb = as.numeric (as .символ (круглый (размер / 1024 / 1024,2)))) } |
## ## k: 2/1200 ## k: 5/1200 ## k: 10/1200 ## k: 20/1200 ## k: 50/1200 ## k: 100/1200 ## k: 200/1200 ## k: 500/1200 ## k: 1200/1200
## ## k: 2/1200 ## k: 5/1200 ## k: 10/1200 ## k: 20/1200 ## k: 50/1200 ## k: 100/1200 ## k: 200/1200 ## k: 500/1200 ## k: 1200/1200 |
результат <- делать.вызов ("rbind", результат)
результат <- do.call ("rbind", результат) |
Как мы видим ниже, увеличение значения k (разложение низкого ранга) уменьшает RMSE и увеличивает размер матриц в памяти:
номинал (mfrow = c (1,2)) график (результат $ k, результат $ error, type = «b», pch = 16, ylab = «error (RMSE)», xlab = «k») plot (результат $ k, результат $ size_Mb, type = «b», pch = 16, ylab = «размер памяти матрицы (Mb)», xlab = «k», col = «blue»)
par (mfrow = c (1,2)) plot (результат $ k, результат $ error, type = «b», pch = 16, ylab = «error (RMSE)», xlab = «k») график (результат $ k, результат $ size_Mb, type = «b», pch = 16, ylab = «matrices mem size (Mb)», xlab = «k», col = «blue») |
Ниже мы можем наблюдать различные изображения результатов для разных значений k :
# Отображение оригинального и реконструированного изображения IM <- список () for (k в результате $ k) IM [[k]] <- as.cimg (tiger.rSVD_2 [[k]] [, 1200: 1]) ## номинал (mfrow = c (3,3), mar = c (0,0,0,0)) for (i in 1: NROW (результат)) { сюжет (IM [[результат [i, "k"]]], оси = FALSE) text (10,60, paste0 ("k =", result [i, "k"], ". mem size =", result [i, "size_Mb"], "Mb"), pos = 4, col = " белый") }
# Показать исходное и восстановленное изображение IM <- list () for (k в результате $ k) IM [[k]] <- as.cimg (tiger.rSVD_2 [[k]] [, 1200: 1]) ## par (mfrow = c (3,3), mar = c (0,0,0,0)) for (i in 1 : NROW (результат)) { график (IM [[результат [i, «k»]]], оси = FALSE) text (10,60, paste0 («k =», result [i, «k «],». mem size = «, result [i,» size_Mb «],» Mb «), pos = 4, col =» white «) } |
Неотрицательная матричная факторизация (NMF) — еще один метод разложения матрицы. Он разлагает данную матрицу V на две матрицы W и H:
В = Ш · В
Столбцы W называются базисными векторами, а столбцы H представляют собой кодировки, которые находятся во взаимно однозначном соответствии с базисными векторами W.
Одно большое отличие от SVD состоит в том, что все три матрицы не имеют отрицательных элементов. SDV может иметь отрицательные значения, NMF не может иметь отрицательные значения, неотрицательные значения легче интерпретировать, чем значения с отрицательными, поэтому это основная причина популярности NMF над SVD. В свою очередь, NMF не сможет восстановить исходную матрицу, если она имеет отрицательные числа.
Дополнительную информацию о пакете NMF можно найти в PDF.
# Сжатие изображений с использованием NMF г <- 100 библиотека (NMF) NMFd_time <- system.время ({NMFd <- nmf (tiger, rank = r)}) tiger.NMF <- NMFd @ fit @ W% *% NMFd @ fit @ H # восстановление изображения
# Сжатие изображения с использованием NMF r <- 100 библиотека (NMF) NMFd_time <- system.time ({NMFd <- nmf (tiger, rank = r)}) tiger.NMF <- NMFd @ fit @ W% *% NMFd @ fit @ H # реконструкция изображения |
Вы должны принять во внимание, что NMF требует больших вычислительных ресурсов и становится невозможным для больших объемов данных.Ниже мы видим, что время, затрачиваемое на обработку нашего изображения tiger , огромно, в 900 раз медленнее, чем rSVD.
# Расчет времени NMF (k = 100): NMFd_time
# Расчет времени NMF (k = 100): NMFd_time |
## пользовательская система истекла ## 2157.356 19.122 2178.343
## пользовательская система истекла ## 2157.356 19,122 2178,343 |
Ниже мы можем найти исходное изображение и три преобразования, использованные в этом посте, с низкоранговым разложением 100.
# Отображение оригинальных и реконструированных изображений с помощью SVD и rSVD IM_4 <- as.cimg (tiger.NMF [, 1200: 1]) номинал (mfrow = c (1,1), mar = c (0,0,0,0)) график (imappend (список (IM_1, IM_2, IM_3, IM_4), ось = "x"), оси = FALSE) текст (10,60, "исходный", pos = 4, col = "white", cex = 0,8) текст (1610,60, «SVD [100]», pos = 4, col = «white», cex = 0.2) / NROW (as.vector (тигр))), 6)), pos = 4, col = "white", cex = 0,8) # расчет размера SVD_size <- размер объекта (SVD $ u [, 1: уровни]) + размер объекта (SVD $ d [1: уровни]) + размер объекта (SVD $ u [, 1: уровни]) rSVD_size <- размер объекта (rSVD $ u [, 1: уровни]) + размер объекта (rSVD $ d [1: уровни]) + размер объекта (rSVD $ u [, 1: уровни]) NMF_size <- размер объекта (NMFd @ fit @ W) + object.size (NMFd @ fit @ H) текст (1610,1100, paste0 ("size =", round (as.numeric (SVD_size) / 1024 / 1024,2), "Mb"), pos = 4, col = "white", cex = 0.8) текст (3210,1100, paste0 ("size =", round (as.numeric (rSVD_size) / 1024 / 1024,2), "Mb"), pos = 4, col = "white", cex = 0.8) текст (4810,1100, paste0 ("size =", round (as.numeric (NMF_size) / 1024 / 1024,2), "Mb"), pos = 4, col = "white", cex = 0.8)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 | # Отображение исходных и восстановленных изображений с использованием SVD и rSVD IM_4 <- as.cimg (tiger.NMF [, 1200: 1]) par (mfrow = c (1,1), mar = c (0,0,0,0)) plot (imappend (list (IM_1, IM_2, IM_3, IM_4), axis = «x»), axes = FALSE) текст (10,60, «оригинал», pos = 4, col = «white», cex = 0,8) текст (1610,60, «SVD [100]», pos = 4, col = «white», cex = 0,8) текст (3210,60, «rSVD [100]», pos = 4, col = «white», cex = 0,8) текст (4810,60, «NMF [100]», pos = 4, col = «white», cex = 0.8) # ошибка вычисления текст (1610,1000, paste0 («SVD RMSE error =» , раунд (sqrt (сумма ((тигр — тигр.2) / NROW (as.vector (тигр))), 6)), pos = 4, col = «white», cex = 0.8) # вычисление размера SVD_size <- object.size (SVD $ u [ , 1: уровни]) + размер объекта (SVD $ d [1: уровни]) + размер объекта (SVD $ u [, 1: уровни]) rSVD_size <- object.size (rSVD $ u [, 1 : levels]) + object.size (rSVD $ d [1: levels]) + object.size (rSVD $ u [, 1: levels]) NMF_size <- object.size (NMFd @ fit @ W) + объект .size (NMFd @ fit @ H) текст (1610,1100, paste0 («size =», round (as.numeric (SVD_size) / 1024 / 1024,2), «Mb»), pos = 4, col = «белый», cex = 0.8) текст (3210,1100, paste0 («size =», round (as.numeric (rSVD_size) / 1024 / 1024,2), «Mb»), pos = 4, col = «white», cex = 0.8) текст (4810,1100, paste0 («size =», round (as.numeric (NMF_size) / 1024 / 1024,2), «Mb»), pos = 4, col = «white», cex = 0,8) |
В этом посте мы увидели методы разложения матрицы SVD, rSVD и NMF, применяемые к изображениям вручную. В ЧАСТИ 2 мы будем использовать эти методы в видеонаблюдении для удаления фонового изображения.
Увидимся в следующем посте !!
Информация о сеансе:
———————————— Общее время выполнения R: 39 минут ————————————
———————————— Общее время выполнения R: 39 минут — ———————————— |
значение настройки версия R версия 3.4.3 (30.11.2017) ОС macOS High Sierra 10.13.5 система x86_64, darwin15.6.0 пользовательский интерфейс RStudio язык (EN) сопоставить es_ES.UTF-8 tz Europe / Madrid дата 2018-08-18
значение настройки версия R версия 3.4.3 (30.11.2017) os macOS High Sierra 10.13.5 система x86_64, darwin15.6.0 ui RStudio язык (EN) сопоставление es_ES.UTF-8 tz Европа / Мадрид дата 2018-08-18 |
———————————— Пакетов:
———————————— Пакеты: |
[1] «битопс — 1.0-6 — 17.08.2013 — CRAN (R 3.4.0) » [2] «кластер — 2.0.6 — 2017-03-10 — CRAN (R 3.4.3)» [3] «тепловизор — 0.40.2 — 2017-04-24 — CRAN (R 3.4.0)» [4] «Магриттр — 1.5 — 2014-11-22 — КРАН (R 3.4.0)» [5] «NMF — 0.21.0 — 2018-03-06 — CRAN (R 3.4.4)» [6] «pkgmaker — 0.22 — 2014-05-14 — CRAN (R 3.4.0)» [7] «плыр — 1.8.4 — 2016-06-08 — КРАН (Р 3.4.0) » [8] «RCurl — 1.95-4.11 — 2018-07-15 — cran (@ 1.95-4.)» [9] «Реестр — 0.3 — 2015-07-08 — CRAN (R 3.4.0)» [10] «reshape2 — 1.4.2 — 2016-10-22 — CRAN (R 3.4.0)» [11] «rngtools — 1.2.4 — 2014-03-06 — CRAN (R 3.4.0)» [12] «рсвд — 0.9 — 2017-12-08 — КРАН (R 3.4.3)» [13] «RWordPress — 0.2-3 — 2018-03-04 — Github (duncantl / RWordPress @ ce6d2d6)» [14] «струна — 1.2.0 — 18.02.2017 — КРАН (R 3.4.0) » [15] «XMLRPC — 0.3-1 — 2018-08-17 — Github (duncantl / XMLRPC @ add9496)»
[1] «bitops — 1.0-6 — 2013-08-17 — CRAN (R 3.4.0)» [2] «cluster — 2.0.6 — 2017-03-10 — CRAN (R 3.4.3 ) « [3]» тепловизор — 0.40.2 — 2017-04-24 — CRAN (R 3.4.0) « [4]» magrittr — 1.5 — 2014-11-22 — CRAN (R 3.4.0) « [5]» NMF — 0.21.0 — 2018-03-06 — CRAN (R 3.4.4) « [6]» pkgmaker — 0.22 — 2014-05-14 — CRAN (R 3.4.0) « [7]» plyr — 1.8.4 — 2016-06-08 — CRAN (R 3.4.0) « [8]» RCurl — 1.95-4.11 — 2018-07-15 — Cran (@ 1.95-4.) « [9]» реестр — 0.3 — 2015-07-08 — CRAN (R 3.4.0) « [10]» reshape2 — 1.4.2 — 2016-10-22 — CRAN (R 3.4.0) « [11]» rngtools — 1.2.4 — 2014-03-06 — CRAN (R 3.4.0) « [12]» rsvd — 0.9 — 2017-12-08 — CRAN (R 3.4.3) « [13]» RWordPress — 0.2-3 — 2018-03-04 — Github (duncantl / RWordPress @ ce6d2d6) « [14]» stringr — 1.2.0 — 18.02.2017 — CRAN (R 3.4.0) « [15]» XMLRPC — 0.3-1 — 17.08.2018 — Github (duncantl / XMLRPC @ add9496) « |
Приложение, весь код:
набор.семя (0) A <- матрица (runif (30, min = 0, max = 100), nrow = 10) A <- data.frame (A) colnames (A) <- paste0 ("feature_", 1: NCOL (A)) rownames (A) <- paste0 ("регистр", 1: NROW (A)) А A_svd <- svd (А) A_svd U <- data.frame (A_svd $ u) colnames (U) <- paste0 ("тема", 1: NCOL (U)) rownames (U) <- paste0 ("регистр", 1: NROW (A)) U D <- data.frame (diag (A_svd $ d)) colnames (D) <- paste0 ("тема", 1: NCOL (U)) rownames (D) <- paste0 ("тема", 1: NCOL (U)) D V <- данные.2), type = "b", pch = 16, xlab = "themes", ylab = "дисперсия объяснена") level <- 100 # количество тем, которые мы будем использовать tiger.SVD = SVD $ u [, 1: уровни]% *% diag (SVD $ d [1: уровни])% *% t (SVD $ v [, 1: уровни]) # реконструкция изображения # Отображение исходных и реконструированных графиков библиотеки имидж-сканера быстрее, чем # image () виньетка визуализатора функции: # https://dahtah.github.io/imager/imager.html библиотека (тепловизор) IM_1 <- as.cimg (tiger [, 1200: 1]) IM_2 <- as.cimg (тигр.СВД [, 1200: 1]) сюжет (imappend (list (IM_1, IM_2), axis = "x")) текст (10, 50, "исходный", pos = 4, col = "white") текст (1610, 50, «СВД уменьшено [100]», pos = 4, col = «white») # Размер исходных матриц: print (object.size (SVD $ u) + object.size (SVD $ d) + object.size (SVD $ v), units = "Mb") # Размер уменьшенных матриц (SVD [100]): print (object.size (SVD $ u [, 1: уровни]) + object.size (SVD $ d [1: levels]) + object.size (SVD $ u [, 1: уровни]), units = "Mb") SVD_time <- system.время({ X <- svd (тигр) }) rSVD_time <- system.time ({ X <- rsvd (тигр, k = 100) }) # классический расчет времени СВД: SVD_time # рандомизированный расчет времени SVD [100]: rSVD_time # Сжатие изображений с использованием рандомизированного SVD rSVD <- rsvd (тигр, k = 100) tiger.rSVD = rSVD $ u% *% diag (rSVD $ d)% *% t (rSVD $ v) # реконструировать изображение # Отображение оригинальных и реконструированных изображений с помощью SVD и rSVD IM_3 <- as.cimg (tiger.rSVD [, 1200: 1]) plot (imappend (list (IM_1, IM_2, IM_3), axis = "x"), axes = FALSE) text (10, 60, "оригинал", pos = 4, col = "white", cex = 0.8) текст (1610, 60, "SVD [100]", pos = 4, col = "white", cex = 0.8) текст (3210, 60, "rSVD [100]", pos = 4, col = "white", cex = 0.8) rSVD2 <- список () tiger.rSVD_2 <- список () результат <- список () for (k in c (2, 5, 10, 20, 50, 100, 200, 500, 1200)) { кошка ("\ nk:", k, "/", 1200) rSVD2 [[k]] <- rsvd (тигр, k = k) size <- object.size (rSVD2 [[k]] $ u [, 1: k]) + object.size (rSVD2 [[k]] $ d [1: k]) + object.size (rSVD2 [[k]] $ u [, 1: k]) # размер объекта ## тигр.2) / NROW (as.vector (tiger))) # ошибка вычисления результат [[k]] <- data.frame (k = k, error = round (error, 2), size_Mb = as.numeric (as.character (round (size / 1024/1024, 2)))) } результат <- do.call ("rbind", результат) номинал (mfrow = c (1, 2)) график (результат $ k, результат $ error, type = "b", pch = 16, ylab = "error (RMSE)", xlab = "k") plot (результат $ k, результат $ size_Mb, type = "b", pch = 16, ylab = "размер памяти матрицы (МБ)", xlab = "k", col = "blue") # Отображение оригинального и реконструированного изображения IM <- список () for (k в результате $ k) IM [[k]] <- as.cimg (tiger.rSVD_2 [[k]] [, 1200: 1]) ## номинал (mfrow = c (3, 3), mar = c (0, 0, 0, 0)) for (i in 1: NROW (результат)) { сюжет (IM [[результат [i, "k"]]], оси = FALSE) text (10, 60, paste0 ("k =", result [i, "k"], ". mem size =", result [i, "size_Mb"], "Mb"), pos = 4, col = "white") } # Сжатие изображений с использованием NMF г <- 100 библиотека (NMF) NMFd_time <- system.time ({ NMFd <- nmf (тигр, ранг = r) }) tiger.NMF <- NMFd @ fit @ W% *% NMFd @ fit @ H # восстановление изображения # Расчет времени NMF (k = 100): NMFd_time # Отображение оригинальных и реконструированных изображений с помощью SVD и rSVD IM_4 <- as.cimg (tiger.NMF [, 1200: 1]) par (mfrow = c (1, 1), mar = c (0, 0, 0, 0)) график (imappend (список (IM_1, IM_2, IM_3, IM_4), ось = "x"), оси = FALSE) текст (10, 60, "исходный", pos = 4, col = "white", cex = 0,8) текст (1610, 60, "SVD [100]", pos = 4, col = "white", cex = 0.8) текст (3210, 60, "rSVD [100]", pos = 4, col = "white", cex = 0.8) текст (4810, 60, "NMF [100]", pos = 4, col = "white", cex = 0.8) # ошибка вычисления text (1610, 1000, paste0 ("Ошибка SVD RMSE =", round (sqrt (sum ((tiger - tiger.2) / NROW (as.vector (тигр))), 6)), pos = 4, col = "white", cex = 0,8) # расчет размера SVD_size <- размер объекта (SVD $ u [, 1: уровни]) + размер объекта (SVD $ d [1: уровни]) + object.size (SVD $ u [, 1: уровни]) rSVD_size <- размер объекта (rSVD $ u [, 1: уровни]) + размер объекта (rSVD $ d [1: уровни]) + object.size (rSVD $ u [, 1: уровни]) NMF_size <- размер объекта (NMFd @ fit @ W) + object.size (NMFd @ fit @ H) текст (1610, 1100, paste0 ("size =", round (as.numeric (SVD_size) / 1024/1024, 2), "Mb"), pos = 4, col = "white", cex = 0.8) текст (3210, 1100, paste0 ("size =", round (as.numeric (rSVD_size) / 1024/1024, 2), «Mb»), pos = 4, col = «white», cex = 0,8) текст (4810, 1100, paste0 ("size =", round (as.numeric (NMF_size) / 1024/1024, 2), «Mb»), pos = 4, col = «white», cex = 0,8)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 60 61 62 63 9 0002 6465 66 67 68 69 70 71 72 73 74 75 76 77 78 080 78 079 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | комплект. 2), type = «b», pch = 16, xlab = «themes», ylab = «дисперсия объяснена») уровней <- 100 # количество тем, которые мы будем использовать 9 0011 тигр.SVD = SVD $ u [, 1: уровни]% *% diag (SVD $ d [1: уровни])% *% t (SVD $ v [, 1: уровни]) # восстановление изображения # Отображение оригинального и реконструированная библиотека имидж-сканера строит графики быстрее, чем # image () funtion imager vignette: # https://dahtah.github.io/imager/imager.html library (imager) IM_1 <- as.cimg ( tiger [, 1200: 1]) IM_2 <- as.cimg (tiger.SVD [, 1200: 1]) plot (imappend (list (IM_1, IM_2), axis = «x»)) text (10, 50, «оригинал», pos = 4, col = «white») текст (1610, 50, «SVD уменьшенный [100]», pos = 4, col = «white») # Размер исходные матрицы: принт (объект.size (SVD $ u) + object.size (SVD $ d) + object.size (SVD $ v), units = «Mb») # Размер уменьшенных матриц (SVD [100]): print (object .size (SVD $ u [, 1: уровни]) + object.size (SVD $ d [1: levels]) + object.size (SVD $ u [, 1: уровни]), units = «Mb» ) SVD_time <- system.time ({ X <- svd (tiger) }) rSVD_time <- system.time ({ X <- rsvd (tiger, k = 100) }) ) # классическое вычисление времени SVD: SVD_time # рандомизированное вычисление времени SVD [100]: rSVD_time # Сжатие изображения с использованием рандомизированного SVD rSVD <- rsvd (tiger, k = 100) tiger .rSVD = rSVD $ u% *% diag (rSVD $ d)% *% t (rSVD $ v) # реконструировать изображение # Показать исходные и восстановленные изображения с использованием SVD и rSVD IM_3 <- as.cimg (tiger. rSVD [, 1200: 1]) график (imappend (list (IM_1, IM_2, IM_3), axis = «x»), axes = FALSE) text (10, 60, «original», pos = 4, col = «white», cex = 0.8) text (1610, 60, «SVD [100]», pos = 4, col = «white», cex = 0.8) text (3210, 60, «rSVD [ 100] «, pos = 4, col =» white «, cex = 0.8) rSVD2 <- list () tiger.rSVD_2 <- list () result <- list () for (k in c (2, 5, 10, 20, 50, 100, 200, 500, 1200)) { cat («\ nk: «, k,» / «, 1200) rSVD2 [[k]] <- rsvd (tiger, k = k) size <- object.size (rSVD2 [[k]] $ u [, 1: k ]) + object.size (rSVD2 [[k]] $ d [1: k]) + object.size (rSVD2 [[k]] $ u [, 1: k]) # размер объекта ## tiger.rSVD_2 [[k]] <- rSVD2 [[k]] $ u% *% diag (rSVD2 [[k]] $ d)% *% t (rSVD2 [[k]] $ v) # реконструкция image error <- sqrt (sum ((tiger - tiger.2) / NROW (as.vector (tiger))) # ошибка вычисления result [[k]] <- data.frame (k = k, error = round (error, 2), size_Mb = as.numeric (as .character (round (size / 1024/1024, 2)))) } результат <- do.call ("rbind", результат) par (mfrow = c (1, 2)) график (результат $ k, результат $ error, type = «b», pch = 16, ylab = «error (RMSE)», xlab = «k») plot (результат $ k, результат $ size_Mb, type = «b», pch = 16, ylab = «размер памяти матриц (Мб)», xlab = «k», col = «blue») # Показать исходное и восстановленное изображение IM <- list () для (k в результате $ k) IM [[k]] <- as.cimg (tiger.rSVD_2 [[k]] [, 1200: 1]) ## par (mfrow = c (3, 3), mar = c (0, 0, 0, 0)) для (i in 1: NROW (результат)) { график (IM [[результат [i, «k»]]], оси = FALSE) text (10, 60, paste0 («k =», result [ i, «k»], «. mem size =», result [i, «size_Mb»], «Mb»), pos = 4, col = «white») } # Сжатие изображения с использованием NMF r <- 100 библиотека (NMF) NMFd_time <- system.время ({ NMFd <- nmf (tiger, rank = r) }) tiger.NMF <- NMFd @ fit @ W% *% NMFd @ fit @ H # реконструкция изображения # NMF (k = 100) расчет времени: NMFd_time # Отображение исходных и реконструированных изображений с использованием SVD и rSVD IM_4 <- as.cimg (tiger.NMF [, 1200: 1]) par (mfrow = c (1, 1), mar = c (0, 0, 0, 0)) график (imappend (list (IM_1, IM_2, IM_3, IM_4), axis = «x»), axes = FALSE) text (10, 60, «исходный», pos = 4, col = «white», cex = 0.2) / NROW (as.vector (тигр))), 6)), pos = 4, col = «white», cex = 0.8) # вычисление размера SVD_size <- object.size (SVD $ u [, 1: уровни]) + размер объекта (SVD $ d [1: уровни]) + размер объекта (SVD $ u [, 1: уровни]) rSVD_size <- размер объекта (rSVD $ u [, 1: уровни]) + размер объекта (rSVD $ d [1: уровни]) + размер объекта (rSVD $ u [, 1: уровни]) NMF_size <- размер объекта (NMFd @ fit @ W) + object.size (NMFd @ fit @ H) текст (1610, 1100, paste0 («size =», round (as.numeric (SVD_size) / 1024/1024, 2), «Mb»), pos = 4, col = «white», cex = 0.8) text (3210, 1100, paste0 («size =», round ( as.numeric (rSVD_size) / 1024/1024, 2), «Мб»), pos = 4, col = «white», cex = 0.8) text (4810, 1100, paste0 («size =», round (as.numeric (NMF_size) / 1024/1024, 2), «Mb»), pos = 4, col = «white», cex = 0.8) |
(PDF) Абстракция изображений для повышения точности семантического поиска и уменьшения пространственно-временных сложностей
ССЫЛКИ
[1] W.Ниблак, Р. Барбер, В. Эквиц, М. Фликер, Э. Гласман, Д. Петкович,
П. Янкер и К. Фалаутсос, «Проект QBIC: запрос изображений по содержимому
с использованием цвета, текстуры и формы. , ‖ Proc. SPIE Conf. Хранение и поиск
для баз данных изображений и видео, февраль 1993 г.
[2] J.R. Smith and S.-F. Чанг, «Визуальный поиск: полностью автоматизированная система запросов к изображениям на основе
»,. Proc. ACM Int’l Conf. Мультимедиа, ноябрь
1996.
[3] К.Тьеу и П. Виола, «Boosting Image Retrieval», Int’l J. Computer
Vision, vol. 56, pp. 17–36, 2004.
[4] К. Карсон, С. Белонги, Х. Гринспен и Дж. Малик, «Blobworld: Image
Сегментация с использованием максимизации ожиданий и ее применение к
Image» Запрос, ‖ IEEE Trans. Анализ паттернов и машина
Intelligence, vol. 24, pp. 1026-1038, 2002.
[5] A.W.M. Смеулдерс, М. Ворринг, С. Сантини, А.Гупта и Р. Джайн,
«Поиск изображений на основе содержимого: конец первых лет», IEEE
Trans. Анализ паттернов Машинный интеллект, т. 22, pp. 1349-1380,
2000.
[6] Ким С., Парк С., Ким М.: Извлечение центрального объекта для извлечения изображения на основе объекта
. Материалы Международной конференции по поиску изображений и видео
2728: 39–49, 2003.
[7] С.-Ф. Chang, et. al, «Получение визуальной информации из больших распределенных онлайн-репозиториев
», Comm.ACM, т. 40, нет. 12, pp. 63-
71, 1997.
[8] Y. Rui, T..S. Хуанг, М. Ортега и С. Мехротра, Отзывы по теме:
Мощный инструмент для интерактивного поиска изображений на основе содержимого, ‖ IEEE
Trans. Схемы и системы для видеотехники, 1998.
[9] Дж. Чон и Р. Манматха, «Использование максимальной энтропии для автоматического аннотирования изображений
», Proc. IEEE Int’l Conf. Image and Video Retrieval,
July 2004.
[10] K.Барнард, П. Дуйгулу, Н. Фрейтас, Д. Форсайт, Д. Блей и М.И. Jordan,
«Сопоставление слов и изображений», J. Machine Learning Research, vol. 3,
pp. 1107-1135, 2003.
[11] Су Хён Бэ; Бинг-Хван Хуанг, ―IPSILON: Добавочный синтаксический анализ для
Семантическое индексирование скрытых понятий, ‖ Обработка изображений, IEEE
Транзакции, том 19, № 7, стр. 1933-1947, июль 2010 г.
[12 ] Ш. Бэ и Б.-Х. Хуанг, «Многомерный инкрементный анализ для кодирования универсального источника
», IEEE Trans.Обработка изображений, т. 17, нет. 10,
pp. 1837–1848, Oct. 2008.
[13] S. Deerwester, ST Dumais, GW Furnas, TK Landauer, R.
Hershman, «Индексирование с помощью скрытого семантического анализа», J. Am . Soc. Инф. Наук,
т. 41, нет. 6, pp. 391–407, Sept. 1990.
[14] Анас Й. Бубас и Маамар Беттайеб, «Быстрое чередование и высокая степень сжатия
для изображений с использованием сингулярной декомпозиции»,
Международная конференция по информации и коммуникациям
Технологии: от теории к приложениям (ICTTA 08), Дамаск,
Сирия, 7-11 апреля 2008 г.
[15] Дж. Зив и А. Лемпель, «Сжатие отдельных последовательностей с помощью кодирования с переменной скоростью
», IEEE Trans. Поставить в известность. Теория, т. ИТ-24, вып. 5, pp.
530–536, сентябрь 1978 г.
[16] XK Yang, WS Ling, ZK Lu, EP Ong, SS Yao, «Just
Модель заметных искажений и ее приложения в кодировании видео», Сигнал
Процесс. Image Commun., Vol. 20, нет. 7, pp. 662–680, Aug. 2005.
[17] Джин Голуб и Артур ван Лоан.Матричные вычисления. Johns Hopkins
U. Press, 1996.
[18] Форсайт, Дж. Э., Малкольм, М. А., и Молер, К. Б. Компьютерные методы для математических вычислений
(Глава 9: Наименьшие квадраты и разложение значений по сингулярному
). Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1977.
[19] М. Мунен и Б. Д. Моор, SVD и обработка сигналов II —
Алгоритмы, приложения и архитектуры. Амстердам,
Нидерланды: Эльзевир, 1995.
[20] Цзяньчжун Ли, Инхуэй Чжу, ―Геометрическая надежная схема водяных знаков
, основанная на DWT-SVD и моментах Цернике, ‖ 3-я Международная конференция IEEE
по информатике и информации
Technology (ICCSIT), том. 1, стр. 367-371, 9-11 июля 2010 г.
[21] Лонг Ма, Чанцзюнь Ли, Шуни Сонг, Зелин Ши, analysis Анализ устойчивости спектральных изображений водяных знаков
с помощью PCA-SVD при различных условиях освещения
, ‖ Международная конференция IEEE по информации
и автоматизации (ICIA), 2010 г., стр.1835-1839, 20-23 июня 2010 г.
[22] Лян-фу Львов, Цзя-ван Чжан, Ли-хан Бинь, Цзи-чжоу Сунь, «Новый алгоритм сжатия SVD-изображения
, основанный на обнаружении заметных объектов», Журнал
Компьютерные приложения, т. 29, нет. 1, pp.42-44, 2009.
[23] Али Аль-Файяд, Абир Джафар Хуссейн, Пауло Лисбоа, Дхия Аль-Джумейли,
М. Аль-Джумали, ―A Hybrid Image Compression Method and its
Применение к медицинским изображениям, ‖ Вторая международная конференция, 2009 г.
, посвященная разработкам в области разработки электронных систем, стр.107-112, Abu Dhabi,
UAE, 2009.
[24] Ронда Д. Филлипс, Лейн Т. Уотсон, Рэндольф Х. Винн, Кристин Э.
Блинн, ―Уменьшение характеристик с использованием разложения по сингулярным значениям для
Гибридный классификатор отклонения спектрального класса с итеративным наведением, ‖ ISPRS Journal
of Photogrammetry and Remote Sensing, vol. 64, нет. 1, pp.107-116, Jan.
2009.
[25] Дж. Цзэн, Д. Би и Х. Фу, ― Метод сопоставления на основе SVD для поиска изображений
, ‖ In Proc.Международной конференции 2009 г. по
Измерительная техника и автоматизация мехатроники, т. 1, стр. 396-
398, Вашингтон, округ Колумбия, 11-12 апреля 2009 г.
[26] Чунли Лю, Йи Моу, «Применение разложения по сингулярным значениям в системе обнаружения изображений вредителей
», Международная конференция по измерениям
Технология и автоматизация мехатроники, стр. 667-670, 2010 г.
[27] DW Реппергер, А. Пинкус, К. Фаррис, Р. Робертс, Р.Д. Соркин,
―Исследование процедур слияния изображений с использованием оптимальной регистрации и алгоритмов
SVD, ‖ Труды Национальной аэрокосмической конференции IEEE 2009 и конференции по электронике
(NAECON), стр.231-235, 21-23 июля 2009 г.
[28] HA Абдалла, М. Хадхуд, А.А. Шаалан, «Эффективный стеганографический подход SVD image
», Международная конференция по компьютерам
Engineering & Systems (ICCES 09), стр. 257-262, 14–16 декабря.2009.
Индекс / gbtm / wp-content / uploads / 2016/12
- Родительский каталог
- 20161129_152413-1024×768.jpg
- 20161129_152413-150×120.jpg
- 20161129_152413-150×150.jpg
- 20161129_152413-200×200.jpg
- 20161129_152413-300×225.jpg
- 20161129_152413-42×42.jpg
- 20161129_152413-768×576.jpg
- 20161129_152413-e1480557086975-150×120.jpg
- 20161129_152413-e1480557086975-150×150.jpg
- 20161129_152413-e1480557086975-200×200.jpg
- 20161129_152413-e1480557086975-225×300.jpg
- 20161129_152413-e1480557086975-42×42.jpg
- 20161129_152413-e1480557086975-768×1024.jpg
- 20161129_152413-e1480557086975.jpg
- 20161129_152413.jpg
- 20161130_1409531-150×120.jpg
- 20161130_1409531-150×150.jpg
- 20161130_1409531-200×200.jpg
- 20161130_1409531-225×300.jpg
- 20161130_1409531-42×42.jpg
- 20161130_1409531.jpg
- 20161210_160049-150×120.jpg
- 20161210_160049-150×150.jpg
- 20161210_160049-200×200.jpg
- 20161210_160049-240×300.jpg
- 20161210_160049-42×42.jpg
- 20161210_160049-768×959.jpg
- 20161210_160049-820×1024.jpg
- 20161210_160049.jpg
- 20161211_145054-1024×904.jpg
- 20161211_145054-150×120.jpg
- 20161211_145054-150×150.jpg
- 20161211_145054-200×200.jpg
- 20161211_145054-300×265.jpg
- 20161211_145054-42×42.jpg
- 20161211_145054-768×678.jpg
- 20161211_145054.jpg
- 9585181-150×120.jpg
- 9585181-150×150.jpg
- 9585181-200×200.jpg
- 9585181-300×181.jpg
- 9585181-42×42.jpg
- 9585181-768×464.jpg
- 9585181.jpg
- Andrew-Dodt-lead-2016-Australian-PGA-by-two-shot-150×120.jpg
- Andrew-Dodt-lead-2016-Australian-PGA-by-two-shot-150×150.jpg
- Andrew-Dodt-lead-2016-Australian-PGA-by-two-shot-200×200.jpg
- Andrew-Dodt-lead-2016-Australian-PGA-by-two-shots-300×210.jpg
- Andrew-Dodt-lead-2016-Australian-PGA-by-two-shots-42×42.jpg
- Andrew-Dodt-lead-2016-Australian-PGA-by-two-shots.jpg
- Bubba-Shoots-63-150×120.jpg
- Bubba-Shoots-63-150×150.jpg
- Бубба-стреляет-63-200х200.jpg
- Bubba-Shoots-63-225×300.jpg
- Bubba-Shoots-63-42×42.jpg
- Bubba-Shoots-63.jpg
- CzWOIS6XAAAJdz — 1024×1024.jpg
- CzWOIS6XAAAJdz — 150×120.jpg
- CzWOIS6XAAAJdz — 150×150.jpg
- CzWOIS6XAAAJdz — 200×200.jpg
- CzWOIS6XAAAJdz — 300×300.jpg
- CzWOIS6XAAAJdz — 42×42.jpg
- CzWOIS6XAAAJdz — 768×768.jpg
- CzWOIS6XAAAJdz-.jpg
- Дэнни-Уиллетт-ударяет-радостью-воздухом-150×120.jpg
- Danny-Willett-punch-the-air-with-delight-150×150.jpg
- Дэнни-Уиллетт-ударяет-в-воздухе-восторгом-200×200.jpg
- Дэнни-Виллетт-ударяет-воздух-восторгом-300×169.jpg
- Дэнни-Виллетт-ударяет-в-воздухе-восторгом-42×42.jpg
- Danny-Willett-punches-the-air-with-delight.jpg
- Duval-and-step-son-win-2016-Father-Son-Challenge-150×120.jpg
- Duval-and-step-son-win-2016-Father-Son-Challenge-150×150.jpg
- Duval-and-step-son-win-2016-Father-Son-Challenge-200×200.jpg
- Duval-and-step-son-win-2016-Father-Son-Challenge-300×225.jpg
- Duval-and-step-son-win-2016-Father-Son-Challenge-42×42.jpg
- Duval-and-step-son-win-2016-Father-Son-Challenge.jpg
- English-and-Kuchar-lead-by-one-150×120.jpg
- English-and-Kuchar-lead-by-one-150×150.jpg
- English-and-Kuchar-lead-by-one-200×200.jpg
- English-and-Kuchar-lead-by-one-300×225.jpg
- English-and-Kuchar-lead-by-one-42×42.jpg
- English-and-Kuchar-lead-by-one.jpg
- Genises-images-150×120.jpeg
- Genises-images-150×124.jpeg
- Genises-images-200×124.jpeg
- Genises-images-42×42.jpeg
- Genises-images.jpeg
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-1024×535.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-150×120.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-150×150.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-200×200.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-300×157.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-42×42.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1-768×401.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-1024×535.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-150×120.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-150×150.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-200×200.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-300×157.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-42×42.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016-768×401.png
- Henrik-Stesnon-wins-Svd-Awadd-in-2016.png
- Джек-Никлаус-и-Тайгер-Вудс-150×120.jpg
- Джек-Никлаус-и-Тайгер-Вудс-150×150.jpg
- Джек-Никлаус-и-Тайгер-Вудс-200×200.jpg
- Джек-Никлаус-и-Тайгер-Вудс-300×188.jpg
- Джек-Никлаус-и-Тайгер-Вудс-42×42.jpg
- Джек-Никлаус-и-Тайгер-Вудs.jpg
- Джастин-Роуз-берет-селфи-с-Тайгером-Вудсом-150×120.jpg
- Джастин-Роуз-берет-селфи-с-Тайгером-Вудсом-150×150.jpg
- Джастин-Роуз-берет-селфи-с-Тайгером-Вудсом-200×200.jpg
- Джастин-Роуз-берет-селфи-с-Тайгером-Вудсом-300×225.jpg
- Джастин-Роуз-берет-селфи-с-Тайгером-Вудсом-42×42.jpg
- Джастин-Роуз-берет-селфи-с-Тайгер-Вудs.jpg
- Кейт-Пелли-2-150х120.jpg
- Keith-Pelley-2-150×150.jpg
- Keith-Pelley-2-200×200.jpg
- Keith-Pelley-2-300×168.jpg
- Keith-Pelley-2-42×42.jpg
- Keith-Pelley-2-768×431.jpg
- Keith-Pelley-2.jpg
- Нокс-и-Дональд-150×120.jpg
- Нокс-и-Дональд-150×150.jpg
- Нокс-и-Дональд-182×300.jpg
- Нокс-и-Дональд-200×200.jpg
- Нокс-и-Дональд-42×42.jpg
- Нокс-и-Дональд-622×1024.jpg
- Нокс-и-Дональд-768×1265.jpg
- Knox-and-Donald.jpg
- Марко-Террибиллини-150×120.jpeg
- Марко-Террибиллини-150×150.jpeg
- Марко-Террибиллини-200×200.jpeg
- Марко-Террибиллини-42×42.jpeg
- Marco-Terribillini.jpeg
- Майкл-Коллинз-1024×576.jpe
- Майкл-Коллинз-150×120.jpe
- Майкл-Коллинз-150×150.jpe
- Майкл-Коллинз-200×200.jpe
- Майкл-Коллинз-300×169.jpe
- Майкл-Коллинз-42×42.JPE
- Майкл-Коллинз-768×432.jpe
- Майкл Коллинз с Рики Фаулером-1024×576.jpg
- Michael-Collins-with-Rickie-Fowler-150×120.jpg
- Michael-Collins-with-Rickie-Fowler-150×150.jpg
- Майкл-Коллинз-с-Рики-Фаулером-200×200.jpg
- Майкл-Коллинз-с-Рики-Фаулером-300×169.jpg
- Майкл-Коллинз-с-Рики-Фаулером-42×42.jpg
- Майкл-Коллинз-с-Рики-Фаулером-768×432.jpg
- Майкл-Коллинз-с-Рики-Фаулером.jpg
- Michael-Collins.jpe
- Ник-Фальдо-и-Бернхард-Лангер-150×120.jpg
- Ник-Фальдо-и-Бернхард-Лангер-150×150.jpg
- Ник-Фальдо-и-Бернхард-Лангер-200×200.jpg
- Ник-Фальдо-и-Бернхард-Лангер-300×267.jpg
- Ник-Фальдо-и-Бернхард-Лангер-42×42.jpg
- Ник-Фальдо-и-Бернхард-Лангер.jpg
- Пэм-Смит-назначена-первая женщина-капитаном-в-Крейле-Декабрь-2016-1024×914.jpg
- Пэм-Смит, назначенная первой женщиной-капитаном в Крейле, декабрь 2016 г., 150×120.jpg
- Пэм-Смит, назначенная первой женщиной-капитаном в Крейле, декабрь 2016-150×150.jpg
- Пэм-Смит-назначена-первая-женщина-капитаном-в-Крейле-Декабрь-2016-200×200.jpg
- Пэм-Смит, назначенная первой женщиной-капитаном в Крейле, декабрь 2016-300×268.jpg
- Пэм-Смит, назначенная первой женщиной-капитаном в Крейле, декабрь 2016-42×42.jpg
- Пэм-Смит-назначенная-первая-женщина-капитаном-в-Крейле-Декабрь-2016-768×686.jpg
- Пэм-Смит, назначенная первой женщиной-капитаном в Крейле, декабрь 2016 года.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder Cup-1024×682.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup-150×120.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup-150×150.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup-200×200.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup-300×200.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup-42×42.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup-768×512.jpg
- Phil-Mickelson-and-Tiger-Woods-at-Ryder-Cup.jpg
- Рафа-Кабрера-Белло-три-два дня-до-игры-2016-Hong-Kong-Open.-150×120.jpg
- Рафа-Кабрера-Белло-на-три-два дня-до-игры-на-2016-Hong-Kong-Open.-150×150.jpg
- Рафа-Кабрера-Белло-три-два-дня-до-игры-2016-Hong-Kong-Open.-200×200.jpg
- Рафа-Кабрера-Белло-три-два-дня-до-игры-2016-Hong-Kong-Open.-300×210.jpg
- Рафа-Кабрера-Белло лидирует на три с двумя днями до игры на чемпионате Гонконга-2016.-42×42.jpg
- Рафа-Кабрера-Белло-три-с-двумя днями до игры-2016-Hong-Kong-Open..jpg
- Рори-Макилрой-и-9-летний Чарли-Смит-декабрь-2016-150×120.jpg
- Рори-Макилрой-и-9-летний Чарли-Смит-декабрь-2016-150×150.jpg
- Рори-Макилрой-и-9-летний Чарли-Смит-декабрь-2016-200×200.jpg
- Рори-Макилрой-и-9-летний Чарли-Смит-декабрь-2016-300×169.jpg
- Рори-Макилрой-и-9-летний Чарли-Смит-декабрь-2016-42×42.jpg
- Рори-Макилрой-и-9-летний Чарли-Смит-декабрь-2016.jpg
- Рори-Макилрой-жертвует 500000 фунтов стерлингов в школу-красный-Северной Ирландии-150×120.jpg
- Рори-Макилрой-жертвует 500000 фунтов стерлингов в школу-красный-Северной Ирландии-150×150.jpg
- Рори-Макилрой-жертвует 500000 фунтов стерлингов в школу Северной Ирландии-красный-200×200.jpg
- Рори-Макилрой-жертвует 500000 фунтов стерлингов в школу в Северной Ирландии-красный-300×225.jpg
- Рори-Макилрой жертвует 500000 фунтов стерлингов в школу Северной Ирландии-красный-42×42.jpg
- Рори-Макилрой жертвует 500000 фунтов стерлингов для красной школы Северной Ирландии.jpg
- Рассел-Нокс-final-round-2016-Players-150×120.jpg
- Рассел-Нокс-final-round-2016-Players-150×150.jpg
- Рассел-Нокс-final-round-2016-Players-200×200.jpg
- Рассел-Нокс-final-round-2016-Players-300×198.jpg
- Рассел-Нокс-final-round-2016-Players-42×42.jpg
- Рассел-Нокс-final-round-2016-Players.jpg
- Рассел-Нокс-уходит-от-финального-зеленого-его-финального-события-2016.-150×120.jpg
- Рассел-Нокс-уходит-прочь-зеленое-о-своем-финальном-событии-2016.-150×150.jpg
- Рассел-Нокс-уходит-от-финального-зеленого-его-финального-события-2016.-200×200.jpg
- Рассел-Нокс-уходит-прочь-от-финального-зеленого-его-финального-события-2016.-300×225.jpg
- Рассел-Нокс-уходит-от-финального-зеленого-его-финального-события-2016.-42×42.jpg
- Рассел-Нокс-уходит-от-финального-зеленого-его-финального-события-2016.-768×576.jpg
- Рассел-Нокс-уходит-прочь-от-финального-зеленого-его-финального-события-2016..jpg
- Sam-Brazel-wins-2016-Hong-Kong-Open-150×120.jpg
- Sam-Brazel-wins-2016-Hong-Kong-Open-150×150.jpg
- Sam-Brazel-wins-2016-Hong-Kong-Open-200×200.jpg
- Sam-Brazel-wins-2016-Hong-Kong-Open-300×169.jpg
- Sam-Brazel-wins-2016-Hong-Kong-Open-42×42.jpg
- Sam-Brazel-wins-2016-Hong-Kong-Open.jpg
- Scott-Gregory-wins-2016-Amateur-1024×576.jpg
- Scott-Gregory-wins-2016-Amateur-150×120.jpg
- Scott-Gregory-wins-2016-Amateur-150×150.jpg
- Скотт-Грегори-побед-2016-Любитель-200×200.jpg
- Scott-Gregory-wins-2016-Amateur-300×169.jpg
- Scott-Gregory-wins-2016-Amateur-42×42.jpg
- Scott-Gregory-wins-2016-Amateur-768×432.jpg
- Scott-Gregory-wins-2016-Amateur.jpg
- Scott-Hend-day-two-2016-Hong-Kong-Open-150×120.jpg
- Scott-Hend-day-two-2016-Hong-Kong-Open-150×150.jpg
- Scott-Hend-day-two-2016-Hong-Kong-Open-200×200.jpg
- Scott-Hend-day-two-2016-Hong-Kong-Open-300×169.jpg
- Скотт-Хенд-день-два-2016-Hong Kong-Open-42×42.jpg
- Scott-Hend-day-two-2016-Hong-Kong-Open-768×432.jpg
- Scott-Hend-day-two-2016-Hong-Kong-Open.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-1024×431.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-150×120.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-150×150.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-200×200.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-300×126.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-42×42.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title-768×323.jpg
- Scott-Hend-wins-2016-Asian-No.-1-title.jpg
- Stricker-and-Kelly-lead-at-16-under-150×120.jpg
- Stricker-and-Kelly-lead-at-16-under-150×150.jpg
- Stricker-and-Kelly-lead-at-16-under-200×200.jpg
- Stricker-and-Kelly-lead-at-16-under-300×225.jpg
- Stricker-and-Kelly-lead-at-16-under-42×42.jpg
- Stricker-and-Kelly-lead-at-16-under.jpg
- Победы команды США в Кубке Райдера 2016-150×120.jpg
- Победа команды США в Кубке Райдера 2016-150×150.jpg
- Победы команды США в Кубке Райдера 2016 года 200×200.jpg
- Team-USA-Wins-the-2016-Ryder-Cup-300×168.jpg
- Победы команды США в Кубке Райдера 2016 года 42×42.jpg
- Победы команды США в Кубке Райдера-2016 768×430.jpg
- Team-USA-Wins-the-2016-Ryder-Cup.jpg
- Томас-Бьорн-назначен-2018-Кубок Райдера-капитаном-150×120.jpg
- Томас-Бьорн-назначен-2018-Кубок Райдера-капитаном-150×150.jpg
- Томас-Бьорн-назначен-2018-Кубок Райдера-капитаном-200×200.jpg
- Томас-Бьорн-назначен-2018-Кубок Райдера-капитан-300×169.jpg
- Томас-Бьорн-назначен-2018-Кубок Райдера-капитан-42×42.jpg
- Томас-Бьорн-назначен-2018-Кубок Райдера-капитан-768×432.jpg
- Томас-Бьорн-назначен-2018-Ryder-Cup-captain.jpg
- Тонгчай-Джайди-THA-09-300×199-150×120.jpg
- Тонгчай-Jaidee-THA-09-300×199-150×150.jpg
- Тонгчай-Джайди-THA-09-300×199-200×199.jpg
- Тонгчай-Jaidee-THA-09-300×199-300×199.jpg
- Тонгчай-Джайди-THA-09-300×199-42×42.jpg
- Thongchai-Jaidee-THA-09-300×199.jpg
- Thongchai-Jaidee-in-2016-Boochu-Ruangkit-Championship-150×120.jpg
- Thongchai-Jaidee-in-2016-Boochu-Ruangkit-Championship-150×150.jpg
- Thongchai-Jaidee-in-2016-Boochu-Ruangkit-Championship-200×200.jpg
- Thongchai-Jaidee-in-2016-Boochu-Ruangkit-Championship-300×129.jpg
- Thongchai-Jaidee-in-2016-Boochu-Ruangkit-Championship-42×42.jpg
- Thongchai-Jaidee-in-2016-Boochu-Ruangkit-Championship.jpg
- Тайгер-Вудс-150×120.jpg
- Тайгер-Вудс-150×150.jpg
- Тайгер-Вудс-200×200.jpg
- Тайгер-Вудс-300×287.jpg
- Тайгер-Вудс-42×42.jpg
- Тайгер-Вудс-738896-150×120.jpg
- Тайгер-Вудс-738896-150×150.jpg
- Тайгер-Вудс-738896-200×200.jpg
- Тайгер-Вудс-738896-300×178.jpg
- Тайгер-Вудс-738896-42×42.jpg
- Тайгер-Вудс-738896.jpg
- Тайгер-Вудс-768×736.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-1024×806.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-150×120.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-150×150.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-200×200.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-300×236.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-42×42.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016-768×605.jpg
- Тайгер-Вудс-Бриджстоун-Болл-декабрь-2016.jpg
- Тайгер-Вудс-и-Дональд-Трамп-23-декабря-2016-150×120.jpg
- Тайгер-Вудс-и-Дональд-Трамп-23-декабря-2016-150×150.jpg
- Тайгер-Вудс-и-Дональд-Трамп-23-декабря-2016-200×200.jpg
- Тайгер-Вудс-и-Дональд-Трамп-23-декабря-2016-300×234.jpg
- Тайгер-Вудс-и-Дональд-Трамп-23-декабря-2016-42×42.jpg
- Тайгер-Вудс-и-Дональд-Трамп-23-Dec-2016.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-1024×1024.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-150×120.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-150×150.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-200×200.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-300×300.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-42×42.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон-768×768.jpg
- Тайгер-Вудс-и-Хенрик-Стенсон.jpg
- Тайгер-Вудс-мяч-1024×924.jpg
- Тайгер-Вудс-мяч-150×120.jpg
- Тайгер-Вудс-мяч-150×150.jpg
- Тайгер-Вудс-мяч-200х200.jpg
- Тайгер-Вудс-мяч-300×271.jpg
- Тайгер-Вудс-мяч-42×42.jpg
- Тайгер-Вудс-мяч-768×693.jpg
- Тайгер-Вудс-мяч.jpg
- Тайгер-Вудс-интервью-Golf-Channel-1024×576.jpeg
- Тайгер-Вудс-интервью-Golf-Channel-150×120.jpeg
- Тайгер-Вудс-интервью-Golf-Channel-150×150.jpeg
- Тайгер-Вудс-интервью-Golf-Channel-200×200.jpeg
- Тайгер-Вудс в интервью Golf Channel 300×169.jpeg
- Тайгер-Вудс-интервью-Golf-Channel-42×42.jpeg
- Тайгер-Вудс-интервью-Golf-Channel-768×432.jpeg
- Тайгер-Вудс-интервью-Golf-Channel.jpeg
- Тайгер-Вудс-день-три-2016-Hero-1024×680.jpg
- Тайгер-Вудс-день-три-2016-Hero-150×120.jpg
- Тайгер-Вудс-день-три-2016-Hero-150×150.jpg
- Тайгер-Вудс-день-три-2016-Hero-200×200.jpg
- Тайгер-Вудс-день-три-2016-герой-300×199.jpg
- Тайгер-Вудс-день-три-2016-Hero-42×42.jpg
- Тайгер-Вудс-день-три-2016-Hero-768×510.jpg
- Тайгер-Вудс-день-три-2016-Hero.jpg
- Тайгер-Вудс-Драйв-Офф-4-150×120.jpg
- Тайгер-Вудс-Драйв-Офф-4-150×150.jpg
- Тайгер-Вудс-Драйв-Офф-4-200×200.jpg
- Тайгер-Вудс-Драйв-Офф-4-300×225.jpg
- Тайгер-Вудс-Драйв-Офф-4-42×42.jpg
- Тайгер-Вудс-драйв-офф-4.jpg
- Тайгер-Вудс-final-round-150×120.jpg
- Тайгер-Вудс-final-round-150×150.jpg
- Тайгер-Вудс-final-round-200×200.jpg
- Тайгер-Вудс-final-round-300×200.jpg
- Тайгер-Вудс-финал-раунд-42×42.jpg
- Тайгер-Вудс-final-round.jpg
- Тайгер-Вудс-показывает-офф-Бриджитон-B330-S-мяч-150×120.jpg
- Тайгер-Вудс-показывает-офф-Бриджитон-B330-S-мяч-150×150.jpg
- Тайгер-Вудс-показывает-офф-Бриджитон-B330-S-мяч-200×200.jpg
- Тайгер-Вудс-показывает-офф-Бриджитон-B330-S-мяч-300×207.jpg
- Тайгер-Вудс-показывает-офф-Бриджитон-B330-S-мяч-42×42.jpg
- Тайгер-Вудс-показывает-офф-Бриджитон-B330-S-ball.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-1024×680.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-150×120.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-150×150.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-200×200.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-300×199.jpg .
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-42×42.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two-768×510.jpg
- Tiger-Woods-with-first-fist-pump-in-2016-HWC-day-two.jpg
- Tiger-Woods.jpg
- Volvik-Crystal-Vivid-Matte-Pink-Golf-Balls_Default_ALT6_550-150×120.jpeg
- Volvik-Crystal-Vivid-Matte-Pink-Golf-Balls_Default_ALT6_550-150×150.jpeg
- Volvik-Crystal-Vivid-Matte-Pink-Golf-Balls_Default_ALT6_550-200×200.jpeg
- Volvik-Crystal-Vivid-Matte-Pink-Golf-Balls_Default_ALT6_550-300×300.jpeg
- Volvik-Crystal-Vivid-Matte-Pink-Golf-Balls_Default_ALT6_550-42×42.jpeg
- Volvik-Crystal-Vivid-Matte-Pink-Golf-Balls_Default_ALT6_550.jpeg
- WS6P_Logo-150×113.png
- WS6P_Logo-200×113.png
- WS6P_Logo-300×45.png
- WS6P_Logo-42×42.png
- WS6P_Logo.png
- cosine-factor-picture-150×120.png
- cosine-factor-picture-150×150.png
- cosine-factor-picture-200×160.png
- cosine-factor-picture-300×79.png
- cosine-factor-picture-42×42.png
- cosine-factor-picture.png
- скачать-150×120.png
- скачать-150×150.png
- скачать-200×200.png
- скачать-282×300.png
- скачать-42×42.png
- download.png
- happy_27th_birthday_gifts_with_balloons_postcard-rbe956ccf76e84a699bfb7afaca6e476b_vgbaq_8byvr_512-150×120.jpg
- happy_27th_birthday_gifts_with_balloons_postcard-rbe956ccf76e84a699bfb7afaca6e476b_vgbaq_8byvr_512-150×150.jpg
- happy_27th_birthday_gifts_with_balloons_postcard-rbe956ccf76e84a699bfb7afaca6e476b_vgbaq_8byvr_512-200×200.jpg
- happy_27th_birthday_gifts_with_balloons_postcard-rbe956ccf76e84a699bfb7afaca6e476b_vgbaq_8byvr_512-300×300.jpg
- happy_27th_birthday_gifts_with_balloons_postcard-rbe956ccf76e84a699bfb7afaca6e476b_vgbaq_8byvr_512-42×42.jpg
- happy_27th_birthday_gifts_with_balloons_postcard-rbe956ccf76e84a699bfb7afaca6e476b_vgbaq_8byvr_512.jpg
- безымянный-1-150×120.png
- безымянный-1-150×150.png
- безымянный-1-200×200.png
- безымянный-1-244×300.png
- безымянный-1-42×42.png
- безымянный-1.png
- без имени-1024×622.jpg
- безымянный-150×120.jpg
- безымянный-150×120.png
- безымянный-150×150.jpg
- безымянный-150х150.png
- безымянный-200×200.jpg
- безымянный-200×200.png
- безымянный-205×300.png
- безымянный-300×182.jpg
- безымянный-42×42.jpg
- безымянный-42×42.png
- безымянный-768×466.jpg
- un named.jpg
- un named.png
Передняя крышка для ПСО-1 СВД Тигр Драгунов Снайперская страйкбольная винтовка Запчасти studio-lz охотничье снаряжение
Передняя крышка для охотничьего снаряжения для страйкбольной винтовки ПСО-1 СВД Тигр Драгунова Снайперская винтовка studio-lzПередняя крышка для ПСО-1 СВД Тигр Драгунов Снайперский страйкбол, Снайперский страйкбол Передняя крышка для ПСО-1 СВД Тигр Драгунов, Сделано в России, Резиновый защитный колпачок передней линзы, Оптовая торговля в Интернете Бесплатная доставка и бесплатный возврат Heart move низкая цена Бесплатная доставка на следующий день на все.Бейсболка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер.
Choisir notre studio est la garantie de valoriser votre entreprise
Nos dernières réalisations
Le Studio Lézard est une agence de communication ,
un studio photo / vidéo et un atelier d’impression atypique .
Ces pluri-dislines nous permettent de Convoir votre image de marque,
gérer votre communication sur tous les supports: consil et design graphique,
маркетинг Интернет, реклама, pride de vue, монтаж, scénographie d’espace
de vente ou d’exposition…
Crée en 1989, l’agence encpagne votre entreprise
с твердым опытом для ответов на вопросы
de Consuil et de Performance
Доступные планы
Studio Lezard
ZAC de Belle Aire Nord
5 Rue Gutenberg — BP 30030
17441 Айтре cedex
Тел .: 05 46 44 06 07
Факс: 05 46 44 92 83
связаться с @ studio-lz.com
Кепка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер
200шт. / Упак. Крючки рыболовные 72A Черно-коричневые рыболовные крючки для пресноводных нахлыстов. 5.56 1/2 «x 28 5/8» Стандартный бочонок протектора резьбы с длинным стволом Сделано в США !!, 3-литровый мешок для воды Рюкзак Система гидратации Пакет для выживания Пешие прогулки Кемпинг США, настенная вешалка для тяжелых мешков с сверхмощной регулируемой шарнирной цепью из твердой стали.14гр # 2 Take Lures Pop Bait Jerkbait Crankbait Stickbait Pike Zander 9,5см. 36 «x 30 ‘НЕПРЕРЫВНЫЙ РОЛЛ Мексиканская пальмовая солома премиум-класса Легко режется, ENLEE Пластиковый держатель для фляги с питьевой водой, не содержащий бисфенола А Swimbaits Duck Lures приманки, профессиональная система выравнивания сетки прицела Wheeler 119050. Десертный парашютный шнур длиной 100 футов Нейлон Идеально подходит для кемпинга, катания на лодках.Caddis Pupa Size 16 Новый продукт, подходит для S&W Shield Olive Tan Belly Band Gun Holster 4 «для скрытого ношения в США. Сделано в США. РУКИ НА ПЕРЧАТКАХ МАССАЖ ДЛЯ СОБАК CAT HORSE PET DE-SHEDDING S, M, L.
Кепка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер
Пожалуйста, убедитесь, что вы указали правильный адрес, 10-каратное желтое золото Port Lucaya Sand Capsule Charm, это идеальный выбор в качестве коктейльного платья. Oldsmobile 98 4-дверный седан с номерами стиля 3669, размеры: 3 1/2 дюйма в x 5 дюймов в ширину, Передняя крышка для страйкбола PSO-1 SVD Tiger Dragunov Sniper , главная особенность — новейшие художественные украшения, повседневная обувь из ткани для мужчин : Мужская повседневная обувь из ткани.Любимое классическое ожерелье с подвеской на все времена определенно определит вашу любовь к любимому человеку, 4% спандекс; Леггинсы: 55% хлопок. • Стеганый дизайн с мягкой подкладкой на коленях и боках. Кепка передняя для страйкбола ПСО-1 СВД «Тигр Драгунов» Снайпер , Бэкхенд из ткани хлопок / полиэстер с вощеной отделкой. Размер 9 / 10Y-140 см: размер США 10-12, Воздухозаборник Mishimoto MMAI-WRX-15BWBK Subaru WRX Performance, Материал: чехол для декоративных подушек напечатан на 100-процентном легком полиэстере, Купить LEGO Minifigure Display Case Large Movie Sleeve-красный: Игрушки и игры — ✓ Возможна БЕСПЛАТНАЯ ДОСТАВКА для подходящих покупок. Кепка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер , Молодежная малая (8): Спорт и Активный отдых. Купить баскетбольные кроссовки для дошкольников Converse All Star Hi — Boys (1. Мужские кожаные футбольные бутсы 5 Lth FG. ● Поставляется в упаковке для подарков, Б / у, но в отличном состоянии, Передняя крышка для страйкбола PSO-1 SVD Tiger Dragunov Sniper , Все из наши канцелярские товары профессионально напечатаны на цифровой офсетной печатной машине, шаблоны свадебных приглашений в деревенском стиле повышены до уровня печатных или печатных свадебных приглашений с добавлением нарисованных вручную ветвей и классических каллиграфических шрифтов. Они профессионально разработаны с любовью и станут отличным подарком для вас или кого-то, кого вы любите, Подарите домашний сад любимой хозяйке) Конструкции предназначены только для ОДИН РАЗ. Кепка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер .
Кепка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер
Сделано в России, Резиновая передняя крышка для защиты линз, Оптовая торговля в Интернет Бесплатная доставка и бесплатный возврат Heart move низкая цена Бесплатная доставка на следующий день для всего.
Кепка передняя для страйкбола ПСО-1 СВД Тигр Драгунов Снайпер .