Как по вину определить цвет: Код краски по вин-коду (VIN): расположение, расшифровка и подбор цвета

Содержание

Как проверить комплектацию авто по VIN (ВИН) коду

Как узнать комплектацию автомобиля по VIN-коду?

Многие автолюбители не осознают, насколько важно проверить заводскую комплектацию автомобиля по ВИН-коду перед его покупкой, даже определить страну сборки. Более опытные автовладельцы однозначно ответят, что это не только поможет сделать правильный выбор, но и сэкономить при обнаружении несоответствий между изначальным оснащением, данными документации и сведениями настоящего хозяина. Также проверка убережет вас от таких неприятностей как, например, приобретение «двойника» или угнанной машины с перебитым номером.

Содержание:

Как знание комплектации помогает в разоблачении мошеннических схем?

Как правило, при подготовке дорогих криминальных автомобилей к продаже мошенники подгоняют не документы под машину, а именно авто под оригинальную документацию. При этом таблички с VIN-кодом и прочей информацией тоже применяются подлинные – они ввариваются в те места, где им положено находиться. Факт замены трудно выявить обычному покупателю транспортного средства (ТС) – тем более, если данная процедура осуществлялась профессионалом. В большинстве случаев это определяется экспертами ГИБДД при сверке кузовных номеров.

Как результат – арест машины. И это в лучшем случае, а в худшем – уголовное дело на владельца. Ведь помимо того, что ТС угнанное, оно может числиться еще и в криминальных делах – наезд со смертельным исходом, грабеж, предумышленное убийство и т.д.

А если вы удосужитесь узнать по VIN комплектацию автомобиля, всего этого можно избежать. Каким образом? Да все просто – максимально точно подогнать получится только основные параметры между документацией, ВИН-кодом и самим ТС. Заводское оснащение в мельчайших его деталях подстроить практически невозможно.

Поэтому при выявлении даже малейшего несоответствия между расшифрованной изначальной комплектацией и указанной в документации следует уделить особое внимание осмотру мест крепления табличек с VIN-кодом и кузовным номером:

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

Если проверенная комплектация авто по ВИН-коду не соответствует заявленной и обнаружены вышеперечисленные следы постороннего, то покупать такую машину – себе дороже.

Также бывают ситуации, когда заводские агрегаты заменены неоригинальными. Это, конечно, не так страшно, как криминальная история, но может существенно затруднить вам жизнь. При обнаружении таких «нестыковок» вы можете либо отказаться от покупки такого ТС, либо снизить изначально указанную продавцом цену.

VIN-код и кузовной серийный номер: отличия

Это 2 разных номера и на большинстве современных автомобилей стоит и тот, и другой. А незнание этого чревато не только путаницей, но и лишней тратой денег – на вас могут нажиться недобросовестные полицейские, обнаружив якобы «несоответствие» по номерам и предложив «порешать проблему на месте» за определенную сумму. Поэтому давайте разберемся, чем же отличаются между собой VIN-код и кузовной номер.

ВИН-код – уникальный идентификационный номер, отвечает за все транспортное средство. А кузовной номер отвечает лишь за кузов. VIN всегда состоит и 17 символов, а кузовной – содержит 9-14 символов.

Обычно более короткий номер кузова дублируется в длинном идентификационном, но не всегда – они могут быть полностью разными. Также они отличаются и по месту расположения. Так, если размещение ВИН-кода стандартно, то кузовной серийник производитель может разместить в любом месте на свое усмотрение.

Первые 4-6 символов кузовного номера определяют марку и тип кузова, а все остальные – это серийный номер изготовителя. Сегодня преобладающее количество автопроизводителей идентификационную маркировку выполняют с помощью VIN-кода. Но существуют и исключения – некоторые японские и американские автоконцерны выпускают машины только с кузовным серийным номером.

Но сегодня целесообразнее пробивать комплектацию машины по ВИН-коду, а не по номеру кузова, который практически всегда является частью VIN, как и было указано выше.

Что именно можно определить с помощью ВИНа?

Пробить по VIN комплектацию автомобиля лучше всего еще перед его осмотром – можно просто созвониться с продавцом и уточнить идентификационный номер (скрывать эту информацию при условии отсутствия каких-либо скрытых проблем он не должен).

Определить оснащение можно несколькими способами:

  • Самостоятельно – самый сложный и трудоемкий метод. Собирать информацию вы сможете только после определения базовых характеристик транспортного средства. При этом вам придется найти и «перелопатить» множество информации в сети – начиная с различных онлайн-каталогов и заканчивая разными сборниками таблиц. Это может занять не один день, а результат не всегда оправдывает ожидания
  • Через онлайн-сервис «АвтоИстория» – наиболее простой и быстрый метод узнать по VIN комплектацию транспортного средства. Вам не придется изучать и собирать данные с разных источников, нужно просто ввести идентификационный номер и «дело в шляпе» – отчет будет сформирован в течение нескольких минут. Стоит услуга совсем недорого, что делает проверку доступной каждому. При этом кроме оснащения ТС вы узнаете максимально полную историю его эксплуатации (криминальную, банковскую, судебную, таможенную).

Проверяя оснащение авто с помощью нашего сайта, вы сможете узнать следующую информацию:

  • Поколение модели, начало производства и модельный год.
  • Характеристики двигателя – серия, тип, объем, мощность, крутящий момент.
  • Тип коробки передач.
  • Тип кузова, цвет кузова.

Пример и отчета представлен ниже:

Как пробить комплектацию через онлайн-сервис «АвтоИстория»?

Процедура проверки по VIN комплектации машины на нашем сайте предельно проста. Вам нужно выполнить всего несколько действий:

  • В поле ввода ввести идентификационный номер транспортного средства.
  • Указать рабочий электронный адрес, на который вам будет отправлена история ТС.
  • Оплатить услугу.

Подробный отчет придет на указанный вами E-mail в течение 5-15 минут. Когда сервис загружен, бывают задержки, но не более 1,5 часов с момента оплаты.

«АвтоИстория» работает с базами данных официальных, неофициальных и коммерческих структур. Поэтому мы гарантируем, что вы получите максимально подробную и правдивую информацию о заинтересовавшем вас автомобиле. Проверить оснащение ТС на нашем сайте вы можете без ограничений, региональных привязок и в любое удобное для вас время дня или ночи – наш режим работы 24/7.

Исходя из вышесказанного, комплектация авто по ВИН-коду должна проверяться в обязательном порядке. Этим вы значительно сократите риск возможного попадания в мошеннические схемы, сохраните свои деньги, время и нервы. «АвтоИстория» – ваш надежный помощник в вопросах покупки подержанного транспорта. Мошенники коварны – будьте всегда начеку!

Как узнать марку автомобиля по VIN коду

Когда приобретается новый автомобиль из салона, то у покупателя не возникает вопрос о том, как узнать марку авто по VIN-коду. На это ясно указывает шильдик и фирменный логотип производителя. Но на вторичном транспортном рынке некоторые машины со временем так видоизменяются, что становится трудно определить на первый взгляд его марку.

На начальном этапе выбора авто это может затруднить оценку соразмерности стоимости товара и запрашиваемой суммы. Для этого может понадобиться лично съездить к продавцу, чтобы проверить документы на транспортное средство. А можно сделать все еще проще, воспользовавшись формой поиска на онлайн-сервисе «АвтоИстория». После ввода в соответствующее окно госномера или VIN-кода система выдаст вам предварительные результаты бесплатно, где среди прочего будет указана марка авто.

Что дает проверка марки авто по Вин-коду?

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

Другая важная причина узнать марку авто по VIN-коду – это намеренное изменение вида машины, чтобы продать его как более дорогое транспортное средство. В таком случае подделываются даже документы. Это случается редко, но защитить себя можно лишь проверив марку авто и полную историю его эксплуатации по ВИН-коду.

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

Как бесплатно узнать марку авто по Вин-коду?

Для получения этой информации необходимо ввести VIN-код или номер авто в строку поиска на странице онлайн-сервиса «АвтоИстория» и нажать на желтую кнопку «Проверить». Спустя несколько секунд появятся предварительные данные по этому автомобилю, среди которых будет указана настоящая марка авто. Это предоставляется на ресурсе совершенно бесплатно. Результат будет выглядеть как на примере ниже.

Дополнительно (и тоже бесплатно), приводится некоторая информация о двигателе и регистрации.

Увидев оригинальную марку и сравнив ее с осматриваемой машиной, можно определить все изменения в кузове и наметить свои дальнейшие действия. Сервис имеет доступ к базе ГИБДД и получает одинаковую информация, как если бы вы лично посетили эту государственную структуру.

При желании можно продолжить работу с онлайн-сервисом «АвтоИстория» и заказать полную проверку, которая покажет:

  • пробег машины;
  • количество владельцев;
  • мощность двигателя;
  • возможные ограничения на регистрацию;
  • было ли транспортное средство зарегистрировано в службе такси;
  • попадало ли оно в ДТП;
  • не числится ли в угоне.

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

Как и что можно узнать по ВИН (vin) номеру кузова автомобиля

Для каждого авто предусмотрен VIN-код, по которому собирается и сохраняется информация о нем. Его использование дает возможность проверить автомобиль при покупке или продаже. Несмотря на это, большинство водителей не знает, как узнать ВИН машины по номеру.

Как определить VIN-код

Идентификационный номер не предусматривает наличие четкого места хранения данных. Производитель сам решает, где разместить числовое значение. Единственное условие места расположения заключается в целостности детали. Иногда для этой цели используются кузов или шасси.

VIN-номер кузова выглядит в виде небольшой таблички из металла. В большинстве случаев она устанавливается на:

  • стойку передней двери;
  • внутреннюю часть крышки капота;
  • внутреннюю сторону багажного отделения;
  • приборную панель.

Под номерным знаком код устанавливается редко. Также ВИН-номер кузова определяется путем изучения данных в:

  • техпаспорте;
  • регистрационном свидетельстве;
  • страховом полисе.

ВИН-код автомобиля состоит из 17 цифр. Значение должно быть одинаковым в документации транспортного средства и на его корпусе. Проверка номера кузова – обязательное условие при покупке машины с рук или на аукционе. Если числа на кузове и в документах не совпадают, возникает риск мошеннических действий по отношению к покупателю.

Что можно узнать при помощи VIN-кода

VIN-номер – точный способ идентификации транспортного средства. В прошлом авто определялось по номеру кузова и двигателя. Этот способ был несовершенным, поскольку в случае необходимости мошенники перебивали и спиливали его. По этой причине сотрудникам полиции не удавалось отследить транспортное средство или найти владельца.

Первоначально VIN-номер включал 7 цифр и устанавливался на шасси. Теперь он состоит из 17 знаков, где, помимо чисел, имеются латинские буквы. С его помощью определяется практически любая информация по машине. Код на кузове сообщает данные о:

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

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

Отчет ГИБДД

В большинстве случаев проверка номера кузова в ГИБДД требуется при покупке подержанного автомобиля. Цель – убедиться, что транспортное средство не находится в угоне или не замешано в других противозаконных действиях.

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

Выполнить данную процедуру можно двумя способами:

  • обратиться в Инспекцию по месту жительства;
  • посетить любой пост ГИБДД.

При себе необходимо иметь транспортное средство, по которому проводится проверка. Сотрудники используют регистрационный учет, чтобы составить отчет. Проверяется, проводился ли ранее поиск по номеру ВИН кузова и имеется ли у авто полис ОСАГО. Если транспортное средство находится в угоне, сотрудники ГИБДД обязаны задержать его и, в случае необходимости, водителя до выяснения обстоятельств. Также проблемы могут возникнуть, если отсутствует автострахование.

Найти хозяина

Определение владельца транспортного средства предполагает те же действия, которые используются, когда нужно найти машину по номеру кузова. Подобная информация фиксируется исключительно в базе ГИБДД. Чтобы получить доступ к необходимым сведениям, предоставляются достаточные для этого причины. Основная, по которой человек получает нужные данные, – участие автовладельца в административных правонарушениях, связанных с ним.

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

Используя сайт ГИБДД, нужно ввести ВИН-код кузова в строке «Проверка автомобиля», расположенной в разделе «Сервисы». По запросу будут предоставлены имеющиеся данные об авто, в которых иногда указан и владелец. Дополнительно сообщается, замешан ли автомобиль, номер которого введен в поиск, в незаконной деятельности, и если да, то в какой.

Как узнать историю по VIN-номеру машины

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

Посмотреть историю можно на сайте ГИБДД или специализированных ресурсах. После указания VIN-номера предоставляется информация о:

  • ДТП;
  • угонах;
  • залогах;
  • запретах на регистрацию;
  • использовании в службе такси;
  • пробеге.

В статистике на сайте ГИБДД указывается лишь часть информации, но она предоставляется бесплатно. На специализированных сайтах данные об истории японского автомобиля или машин из других стран более полные, но их услуги платные.

Характеристики автомобиля

По номеру рамы с VIN-кодом определяются характеристики автомобиля. Наличие уникального номера дает возможность получить информацию о:

  • дате выпуска авто;
  • производителе;
  • типе двигателя и кузова;
  • базовой комплектации, с которой авто поступило в продажу;
  • общих характеристиках машины;
  • типе переключения АКПП.

17-значный номер делится на три части, содержащие определенные данные. Первая часть предоставляет информацию о том, где был собран автомобиль (Япония, Россия, Германия и другие страны), вторая – о технических характеристиках, а третья – о производителе.

Номер кузова дает возможность определить модель машины.

Подходящие запчасти

Использование номера кузова позволяет найти оригинальные запчасти, предназначенные для конкретного транспортного средства. Для этого используются специализированные ресурсы, собирающие информацию по авто при помощи ВИН-кода.

Услуги на таких сайтах требуют оплаты. Код вводится в соответствующую строку и производится автоматический подбор подходящих запчастей.

Другое

Дополнительная информация предоставляется и на других ресурсах. На официальном сайте Федеральной нотариальной палаты использование номера кузова позволяет получить данные о залоговой деятельности, связанной с автомобилем.

На официальном сайте Национального бюро кредитных историй предоставляется информация по ПТС и кредитам на машину. Единственное условие – транспортное средство должно быть кредитным.

Технология подбора краски автомобиля по VIN-коду 🦈 AvtoShark.com

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

Автор статьи: Ярослав Алчевский

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

Автомобильная краска: цвета и особенности

Сейчас автомобили красят в различные цвета и оттенки. Помимо традиционных цветов, иногда встречаются редкие и яркие – малиновый, золотистый, фиолетовый или любой другой. Неважно, заводской ли это оттенок или зарегистрированная в ГИБДД перекраска. Важно то, что при окрашивании отдельных элементов кузова цвет должен получиться одинаковым. Иначе следы ремонта будут заметны. Чтобы не было разнотона, нужно узнать номер краски автомобиля или точно подобрать оттенок иным способом.

Подбор автоэмали – дело непростое. Даже одинаковые цвета у разных автопроизводителей или в разные года выпуска имеют различные оттенки.

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

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

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

Где смотреть номер краски

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

Подбор цвета краски по VIN-коду

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

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

Что такое VIN

VIN – это его идентификационный номер машины, присваиваемый ей на заводе. Он содержит 17 символов, среди которых могут встречаться цифры и буквы. В них заложены основные данные: год выпуска, комплектация, модель и многое иное. Номер цвета краски автомобиля не указывается. А у японских автомобилей, собранных для внутреннего рынка этой страны, такого кода и вовсе нет.

Где находится VIN

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

Как узнать номер краски на «Тойоте»

Если необходимо выяснить номер цвета краски любого автомобиля по VIN, нелишне заглянуть и в сервисный талон. Эти сведения присутствуют и там. Это необходимо тем, у кого на кузове табличка оказалась поврежденной вследствие аварии или по иным причинам. Правда, такие машины сложно зарегистрировать в ГИБДД. Но это уже отдельная история.

У иномарок

Обычно узнать номер краски авто у иномарок можно, заглянув в багажный отсек, под капот или посмотрев рядом с водительской дверью. Там, помимо ВИНа, можно посмотреть и обозначение цвета кузовного железа. Оно помечено словами COLOR либо PAINT. Наличие таких обозначений позволяет быстрее осуществить выбор оттенка.

У отечественных автомобилей

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

Как узнать цвет краски по VIN

Определить номер краски легкового автомобиля по идентификатору невозможно. В нем этих сведений нет. Этот код дает иную информацию. А номер краски этого автомобиля можно посмотреть на сайте автозавода или похожих ресурсах в сети.

Расшифровка

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

Определение ЛКП онлайн

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

Способ с использованием идентификатора может быть неточным. Иногда в один и тот же год авто на производстве могли красить в различные оттенки. Но цвет называется одинаково. Поэтому подобранная таким методом автокраска отличается от цвета всего кузова. При покраске получится заметная разница. Это относится и к указанному на машине коду краски. После подбора необходимо проверять заказанную эмаль вместе с колористом или маляром.

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

Определение цвета краски офлайн

При отсутствии информации на автомобиле или в документации к нему самым правильным методом выяснения формулы красителя считается обращение к колористу. Это также относится и к подержанным машинам. Эксперты рекомендуют поступать так со сложными оттенками металлик или редкими цветами.

Как узнать номер краски на «Мерседесе»

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

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

Таблица кодов часто используемых цветов краски

Имеется простой метод, как узнать номер краски автомобиля. Это таблица распространенных кодов. Эти обозначения применяются для множества моделей российских и зарубежных марок.

Таблица кодов краски

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

Помимо точности подбора, вызвать несовпадение цвета могут и иные факторы. Это технология покраски, лак, грунтовка и шпатлевка. Неправильный оттенок после окрашивания кузовных элементов возникает и по иным причинам.

Как подобрать нужный оттенок автомобильной краски, зная только VIN-код?

При наличии мелких царапин или сколов на автомобиле перекрашивают только определённую часть кузова. Однако необходимо точно подобрать цвет, чтобы произвести ремонт незаметно. Лаков и красок существует настолько много, что угадать нужный оттенок на глаз нельзя. Он может не отличаться на первый взгляд, но после ремонта разница в тонах станет заметна. Точный номер лакокрасочного покрытия возможно узнать по VIN-номеру машины, который располагается у всех ТС в разных местах.

Что такое VIN-номер

Под VIN-кодом понимают индивидуальный номер транспортного средства, созданный на основе стандартов ISO-779 и 780 от 1983 года. Комбинация цифр никогда не повторяется! Шифр находится на шильдике (металлическая табличка), который закреплён на шасси автомобиля.
Для обозначения используются латинские буквы и арабская нумерация, при этом некоторые буквы (например, «Q», «O» или «I») исключены по причине того, что похожи на цифры 1 и 0. Их никогда не применяют в составлении шифров, иначе у мошенников будет больше возможностей подделать номер.
Подбор краски по VIN-коду автомобиля стоит начать с поиска шифра. Самый простой вариант — посмотреть номер в документах на транспортное средство: паспорт, свидетельство о регистрации или страховой полюс.

Пример шильдика VIN на Mercedes-Benz

Где находится шильдик с VIN

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

У иномарок

Не у всех иномарок номер располагается в одинаковых местах. У Hyundai Solaris, Ford Focus 2 он указан на таблице, которая находится под капотом (около двигателя) или внизу водительской двери. На Nissan Almera придётся заглянуть в подкапотное пространство со стороны пассажира. Нужная информация будет указана возле лобового стекла. Поиск VIN-номера на Chevrolet Lacetti не отличается — шильдик размещён у радиатора, двигателя или ниже лобового стекла с пассажирской стороны.
Труднее дела обстоят с Mazda – металлическая таблица с необходимой информацией крепится к стойкам. Намного реже номер краски удаётся обнаружить на передней пассажирской двери (снизу) или около силового агрегата под капотом. В похожих местах код покрытия находится у Toyota и KIA Rio: дверной проем, стойки, силовой агрегат.

Расположение шильдика VIN в Nissan
Расположение VIN-кода в моделях Chevrolet
Шильдик VIN в автомобиле Mazda

У отечественных автомобилей

Российские транспортные средства немногим отличаются по расположению VIN-номера от заграничных. На Lada Granta или других автомобилей ВАЗ шильдик находится на крышке багажника, под капотом или лобовым стеклом.
Не всегда цифры о чём-то говорят владельцу автомобиля — нередко указывается не код краски по VIN-коду, а оттенок словами: «Кристалл», «Кориандр», «Слива». Сведения о нем пишутся в каталоге, но подобрать эмаль часто невозможно. Лакокрасочное покрытие на Ладе может быть уникальным, что вызовет трудности при ремонте.

Пример VIN-кода в LADA
Расположение VIN-кода в LADA Vesta

Расшифровка VIN-кода

VIN-код — это не просто придуманный кем-то набор букв или цифр. Значение каждого символа отличается:

  • международный индекс изготовителя WMI (первые 3 цифры), означающий страну и компанию производителя автомобиля;
  • следующие 5 букв и цифр — это модель, тип кузова, двигатель и другие основные данные о ТС;
  • идущий далее символ ничего не значит — он контрольный;
  • десятый знак говорит о годе выпуска авто;
  • под одиннадцатым скрыт сборочный завод — место, где выпускалась машина;
  • последние знаки (их 6) — серийный номер ТС и код лакокрасочного покрытия.

Указывается не просто цвет используемой краски (это чаще прописывается в паспорте ТС), а её код. Кроме того, делается пометка «Y» (однотонная) или «Z» (металлик).

Определение цвета по коду

Итак, необходимая информация найдена, но как узнать код краски автомобиля по VIN-коду? Для этого за помощью обращаются к каталогам, где указываются номера эмалей в соответствии с VIN-номерами и марками авто. После ремонта подобранная точно краска может отличаться от «родного» цвета. Причина проста — кузов со временем выгорел, изменив тон (это относится к старым транспортным средствам).
Узнать цвет краски автомобиля по VIN возможно, если авто не старее 5-7 лет. Информация на шильдике, указанная на старых машинах, ничем не поможет при выборе эмали — там содержатся только основные сведения (год выпуска, модель, мощность двигателя и т. п.). Как определить лакокрасочное покрытие близкое к «родному» тону:

  1. Узнать код краски на сайте производителя ТС по VIN-коду. Нужная информация содержится в основных сведениях о машине. У Toyota на шильдике написано C/TR, что означает цвет кузова и салона. Чуть ниже выбито 1g3 — на сайте под этой комбинацией числится оттенок пепельно-серый металлик.
  2. Воспользоваться специальными сервисами по подбору краски онлайн. В числе популярных Автоистория, Автокод, Подкраска. Необходимо ввести идентификационный номер (VIN) и заказать отчёт на e-mail, но услуга чаще предоставляется платно.
  3. Посетить оффлайн или онлайн магазин. Специалист по подбору автокраски сможет точно найти нужный оттенок, опираясь на предоставленные данные. При хорошем результате автоэмаль можно сразу заказать.

Если так и не найден ответ на вопрос как узнать цвет краски автомобиля, рекомендуется обратиться к дилеру с просьбой подсказать код лакокрасочного покрытия в соответствии с маркой и моделью. В ПТС указывается только цвет без шифра («Жёлтый-золотистый», «Синяя полночь», «Сапфир», «Паприка» и другое), по данным сведениям, подобрать нужный тон не удастся.
Нередко краски колеруют в магазинах или на СТО, где есть соответствующее оборудование. В мастерских возможен подбор подходящего тона с помощью компьютера. Опять же, нельзя забывать про погрешность — на солнце или при детальном сравнении заколерованная компьютером эмаль может отличаться.

Обозначение кода краски на шильдике VIN-кода

Заключение

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

Похожие статьи

Как определить цвет краски автомобиля по VIN-коду?

Каждый автомобиль имеет уникальный vin-номер. Vin способен рассказать обо всех ЛКМ, которые применялись на заводе. Давайте узнаем, как определить код краски по вин-коду.

Блок: 1/4 | Кол-во символов: 171
Источник: https://GidPoKraske.ru/pokraska-avtomobilya/avtokraski/kod-kraski-po-vin-kodu.html

Подобрать краску для авто –  подбор краски по коду онлайн

Чтобы сделать подбор краски по коду онлайн, на сайте Аutocolor7 Вам нужно воспользоваться программным сервисом «Подбор автокраски». Данный сервис является бесплатным для всех пользователей нашего сайта и дает возможность осуществить:

  • подбор автокраски по вин коду;
  • онлайн поиск по модели авто;
  • подбор по коду автоэмали и по наименованию.

Подбор автокраски онлайн осуществляется по оттенку, типу автоэмали, наличию автоэмалей с эффектами ксералик, краски-металик, перламутровых красок.

Наш онлайн-сервис позволит Вам сразу выбрать и купить автомобильную краску под цвет авто в предпочтительной для использования форме расфасовки автоэмали:

  • подобрать краски для авто в баллончике по 520 мл,
  • подобрать автокраску в банках по 236мл, 473мл, 946мл,
  • выбрать карандаш от царапин с краской по 15 мл и 30 мл.

Блок: 2/5 | Кол-во символов: 879
Источник: https://autocolor7.com/service2/1/

Как узнать цвет краски автомобиля по VIN

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

Также можно обратиться к официальному дилеру, который сможет подобрать нужную Вам краску по Вин-номеру.

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

У корейских и немецких автомобилей информация на шильдике находится в левой части.

Код цвета краски на Киа

Код цвета краски на Хендай

Код краски по Вин-коду на БМВ

Код краски на Опель

Код краски на Фольксваген

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

Код краски на Рено

Код краски на Рено

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

Код краски на Форд Мондео

Код краски на Шевроле

Код краски на Тойоте

Код краски на Ниссан

Код краски на Мазде

Код краски на Mitsubishi

У отечественных авто на заводе изготовителе прикрепляется лист под запасным колесом или под сиденьем водителя. В более свежих авто этот лист находится на крышке багажника или вподкапотном пространстве.

Листок с кодом краски на ВАЗ

Листок с кодом краски на ВАЗ

В основном же цвет краски указывается в гарантийных талонах или сервисных книжках отечественных автомобилей.

Цвет краски автомобиля Лада написан в гарантийном талоне

Чаще всего шильдики с VIN-номером и кодом цвета авто можно найти под капотом или на центральной стойке со стороны водителя. Информация о цвете краски зашифрована чаще в двух или трех символах. Найдя код краски на шильдике, Вы сможете приступить к поискам нужной краски в магазинах. Но для начала необходимо сравнить цвет найденной краски с каталогом на соответствие оттенка.

Цветовая гамма оттенков цвета металлики на автомобилях ВАЗ

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

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

Пример каталога для подбора цвета автомобиля

Блок: 5/6 | Кол-во символов: 3060
Источник: https://avtoskill.ru/sovety/kak-uznat-tsvet-kraski-avtomobilya-po-vin.html

Выберите марку автомобиля

ALFA ROMEO

ASTON MARTIN

BUICK

CADILLAC

CHRYSLER

DAF

DAIHATSU

DODGE

GMC

ISUZU

JEEP

MINI

SEAT

SSANGYONG

Блок: 3/3 | Кол-во символов: 178
Источник: https://xn--80ahnfbbysk.xn--p1ai/etiketka.html

Определяем цвет по коду

Для каждой иномарки коды краски по вину могут быть разными – при расшифровке нужно действовать по-разному. Стандартного алгоритма не существует. Как определить номер краски для конкретной марки и модели? На примере некоторых авто мы это разберем.

«Рено»

Шильдик с кодами на Дастер, Сандеро, Рено Логан и других моделях находится в нижней части стойки пассажирской двери. На шильдике указано четыре строчки, и третья строка слева – это нужный номер. Выяснив номер, используя цветовую таблицу, находим в ней нужный цвет красок Рено.

«Тойота»

Место нахождения кода автомобильной эмали на Тойота – в проеме водительской двери. На шильдике следует отыскать надпись белыми буквами — C/TR. Это цвет кузова и цвет окраски салона. Под буквой С указан номер – 1g3, 1f7 toyota и другие. Цифры номера соответствуют конкретному цвету в каталоге. Как определить цвет – найти в каталоге цифры. Так, 1G3 – это пепельно-серый металлик.

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

Как точно определить цвет краски для автомобиля (2 видео)

Что поможет в поиске (20 фото)

Рекомендуем прочитать:

Блок: 4/4 | Кол-во символов: 1271
Источник: https://GidPoKraske.ru/pokraska-avtomobilya/avtokraski/kod-kraski-po-vin-kodu.html

Где указывается код краски на разных марках авто

Код краски расположен в разных местах шильдика. 

  1. У немецких и корейских ТС – это левая часть.

  1. У французских авто – справа.

  1. У американских и японских машин – в нижней части.

Блок: 5/7 | Кол-во символов: 217
Источник: https://www.driver-helper.ru/proverit-avto/po-vin/t/podbor-kraski-po-vin-kodu-avtomobilya

Подбор красок на Аutocolor7 – точный подбор автокрасок

Подбор краски по коду онлайн – быстрый и надежный способ выбрать автокраску под «родной» оттенок Вашего автомобиля.

В случае, когда не получается самостоятельно определить цвет краски, найти необходимый код, наши консультанты готовы Вам помочь —  отправьте нам vin-код (фото, e-mail или SMS) своего авто и мы сообщим какой цвет (код) автокраски Вам нужен.

Подбор автокраски онлайн, огромный выбор оттенков автоэмали, качественные лакокрасочные материалы, быстрая доставка – это сайт-магазин Аutocolor7 !

Блок: 5/5 | Кол-во символов: 571
Источник: https://autocolor7.com/service2/1/

Что стоит учесть перед подбором краски

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

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

Толщиномер

Необходимо так же учесть, что со временем автомобиль может менять оттенок краски из-за естественных условий при эксплуатации. Особенно это актуально для автомобилей старше 5-10 лет. Краска может поменять оттенок из-за воздействия солнечных лучей. Приобретая краску по Вин-коду, Вы можете не попасть в оттенок в сравнении с остальными элементами кузова. Поэтому, для таких автомобилей более предпочтительным будет спектральный подбор краски. Это будет удобно и в том случае, если автомобиль уже был полностью перекрашен.

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

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

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

Если Вашему автомобилю уже более 10 лет, то Вы можете столкнуться с такой проблемой, что краска по вашему коду уже снята с производства, и приобрести ее просто не представляется возможным. В этом случае Вам так же помогут другие способы определения цвета лакокрасочного покрытия.

Подбор краски по Вин-номеру очень прост для любого автовладельца и эффективен, так как позволяет определить точный код краски, которую применял завод производитель. Этот способ определения цвета лакокрасочного покрытия отлично подойдет для свежих годов выпуска автомобилей. Если Ваш автомобиль уже как 5-10 лет выехал с завода, то рекомендуется подбирать краску иными способами, чтобы не ошибиться в цвете.

Для более качественного подбора рекомендуется обращаться к профессионалам, которые смогут объективно оценить состояние лакокрасочного покрытия Вашего авто и под свои гарантии подобрать Вам нужную краску.

Блок: 6/6 | Кол-во символов: 3171
Источник: https://avtoskill.ru/sovety/kak-uznat-tsvet-kraski-avtomobilya-po-vin.html

Кол-во блоков: 12 | Общее кол-во символов: 12032
Количество использованных доноров: 6
Информация по каждому донору:
  1. https://avtoskill.ru/sovety/kak-uznat-tsvet-kraski-avtomobilya-po-vin.html: использовано 2 блоков из 6, кол-во символов 6231 (52%)
  2. https://www.driver-helper.ru/proverit-avto/po-vin/t/podbor-kraski-po-vin-kodu-avtomobilya: использовано 2 блоков из 7, кол-во символов 722 (6%)
  3. http://krasimauto.com/pokrasochnie-raboty/kak-uznat-nomer-kraski-avto.html: использовано 1 блоков из 3, кол-во символов 935 (8%)
  4. https://GidPoKraske.ru/pokraska-avtomobilya/avtokraski/kod-kraski-po-vin-kodu.html: использовано 2 блоков из 4, кол-во символов 1442 (12%)
  5. https://autocolor7.com/service2/1/: использовано 3 блоков из 5, кол-во символов 2524 (21%)
  6. https://xn--80ahnfbbysk.xn--p1ai/etiketka.html: использовано 1 блоков из 3, кол-во символов 178 (1%)

Определение цвета объекта с OpenCV

Это последний пост в нашей серии из трех частей, посвященных обнаружению и анализу формы .

Ранее мы научились:

  1. Вычислить центр контура
  2. Выполнение обнаружения и идентификации формы

Сегодня мы выполним как обнаружение формы, и цветную маркировку на объектах на изображениях.

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

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

… или могут?

В этой записи блога я подробно расскажу, как мы можем использовать цветовое пространство L * a * b * вместе с евклидовым расстоянием, чтобы пометить, пометить и определить цвет объектов на изображениях с помощью Python и OpenCV.

Определение цвета объекта с OpenCV

Прежде чем мы углубимся в какой-либо код, давайте кратко рассмотрим структуру нашего проекта:

 | --- pyimagesearch
| | --- __init__.ру
| | --- colorlabeler.py
| | --- shapedetector.py
| --- detect_color.py
| --- example_shapes.png
 

Обратите внимание, как мы повторно используем классы shapedetector.py и ShapeDetector из нашего предыдущего сообщения в блоге. Мы также создадим новый файл colorlabeler.py , который будет использоваться для маркировки областей изображения с помощью текстовой метки цвета.

Наконец, сценарий драйвера detect_color.py будет использоваться для склеивания всех частей вместе.

Прежде чем продолжить работу с этим постом, убедитесь, что в вашей системе установлен пакет Python imutils:

 $ pip install imutils
 

Мы будем использовать различные функции в этой библиотеке до конца урока.

Цвета маркировки изображений

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

Для этого давайте определим класс с именем ColorLabeler в цветовой метке .py файл:

 # импортируем необходимые пакеты
from scipy.spatial import distance as dist
из коллекций импорт OrderedDict
импортировать numpy как np
импорт cv2

класс ColorLabeler:
def __init __ (сам):
# инициализировать словарь цветов, содержащий цвет
# имя как ключ и кортеж RGB как значение
colors = OrderedDict ({
«красный»: (255, 0, 0),
«зеленый»: (0, 255, 0),
"синий": (0, 0, 255)})

# выделить память для изображения L * a * b *, затем инициализировать
# список названий цветов
я.lab = np.zeros ((len (цвета), 1, 3), dtype = "uint8")
self.colorNames = []

# перебираем словарь цветов
for (i, (name, rgb)) в enumerate (colors.items ()):
# обновить массив L * a * b * и список названий цветов
self.lab [i] = rgb
self.colorNames.append (имя)

# преобразовать массив L * a * b * из цветового пространства RGB
# на L * a * b *
self.lab = cv2.cvtColor (self.lab, cv2.COLOR_RGB2LAB)
 

Строка 2-5 импортирует наши необходимые пакеты Python, а Строка 7 определяет класс ColorLabeler .

Затем мы погружаемся в конструктор на , строка 8, . Для начала нам нужно инициализировать словарь цветов (, строки 11–14, ), который определяет сопоставление имени цвета (ключ к словарю) в кортеж RGB (значение из толковый словарь).

Оттуда мы выделяем память для массива NumPy для хранения этих цветов, после чего инициализируем список имен цветов (, строки 18 и 19, ).

Следующий шаг — перебрать словарь цветов и с последующим обновлением массива NumPy и списка colorNames соответственно ( строки 22-25, ).

Наконец, мы конвертируем «изображение» NumPy из цветового пространства RGB в цветовое пространство L * a * b *.

Итак, почему мы используем цветовое пространство L * a * b *, а не RGB или HSV?

Итак, чтобы на самом деле пометить и пометить области изображения как содержащие определенный цвет, мы будем вычислять евклидово расстояние между нашим набором данных из известных цветов (т. Е. lab массив) и средними значениями определенной области изображения.

В качестве идентификации цвета будет выбран известный цвет, минимизирующий евклидово расстояние.

И, в отличие от цветовых пространств HSV и RGB, евклидово расстояние между цветами L * a * b * имеет фактическое значение восприятия — поэтому мы будем использовать его в оставшейся части этого поста.

Следующим шагом является определение метки метод:

 def label (self, image, c):
# построить маску для контура, затем вычислить
# среднее значение L * a * b * для замаскированной области
маска = np.zeros (image.shape [: 2], dtype = "uint8")
cv2.drawContours (маска, [c], -1, 255, -1)
маска = cv2.erode (маска, Нет, итерации = 2)
mean = cv2.mean (изображение, маска = маска) [: 3]

# инициализировать минимальное найденное расстояние
minDist = (np.inf, Нет)

# перебираем известные значения цвета L * a * b *
for (i, row) в enumerate (self.lab):
# вычисляем расстояние между текущими L * a * b *
# значение цвета и среднее значение изображения
d = dist.euclidean (строка [0], среднее)

# если расстояние меньше текущего,
# затем обновить бухгалтерскую переменную
если d 

Метка label требует двух аргументов: изображение L * a * b * , содержащее форму, для которой мы хотим вычислить статистику цветового канала, за которым следует c , контурная область изображения , которого мы интересуем.

Линии 34 и 35 создают маску для контурной области, пример которой мы можем видеть ниже:

Рисунок 1: (справа) Исходное изображение. (слева) Изображение маски для синего пятиугольника в нижней части изображения, указывающее, что мы будем выполнять вычисления только в «белой» области изображения, игнорируя черный фон.

Обратите внимание на то, что область переднего плана маски установлена ​​на белый цвет, а для фона установлен черный цвет. Мы будем выполнять вычисления только в маскированной (белой) области изображения.

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

Строка 37 вычисляет среднее (т.е. среднее) для каждого из каналов L *, a * и * b * изображения для только маскирует область ‘ed.

Наконец, Lines 43-51 обрабатывает цикл по каждой строке массива lab , вычисляя евклидово расстояние между каждым известным цветом и средним цветом, а затем возвращая имя цвета с наименьшим евклидовым расстоянием.

Определение процесса цветовой маркировки и определения формы

Теперь, когда мы определили наш ColorLabeler , давайте создадим detect_color.py скрипт драйвера. Внутри этого скрипта мы объединим и , наш класс ShapeDetector из прошлой недели и ColorLabeler из сегодняшней публикации.

Давайте, приступим:

 # импортируем необходимые пакеты
из pyimagesearch.shapedetector import ShapeDetector
из pyimagesearch.colorlabeler import ColorLabeler
import argparse
импорт imutils
импорт cv2

# создать аргумент, синтаксический анализ и анализ аргументов
ap = argparse.ArgumentParser ()
ap.add_argument ("- i", "--image", required = True,
help = "путь к входному изображению")
args = vars (ap.parse_args ())
 

Строки 2-6 импортируют наши необходимые пакеты Python - обратите внимание, как мы импортируем как наши ShapeDetector , так и ColorLabeler .

Строки 9-12 затем проанализируйте наши аргументы командной строки. Как и в двух других статьях этой серии, нам нужен только один аргумент: путь --image , по которому изображение, которое мы хотим обработать, находится на диске.

Далее мы можем загрузить изображение и обработать его:

 # загружаем изображение и уменьшаем его размер, чтобы
# формы могут быть лучше аппроксимированы
image = cv2.imread (args ["изображение"])
resized = imutils.resize (изображение, ширина = 300)
ratio = image.shape [0] / float (resized.shape [0])

# слегка размываем изображение с измененным размером, затем конвертируем его в оба
# оттенки серого и цветовые пространства L * a * b *
blurred = cv2.GaussianBlur (размер изменен, (5, 5), 0)
серый = cv2.cvtColor (размытый, cv2.COLOR_BGR2GRAY)
lab = cv2.cvtColor (размытый, cv2.COLOR_BGR2LAB)
thresh = cv2.threshold (серый, 60, 255, cv2.THRESH_BINARY) [1]

# найти контуры в пороговом изображении
cnts = cv2.findContours (thresh.copy (), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours (cnts)

# инициализировать детектор формы и этикетировщик цвета
sd = ShapeDetector ()
cl = ColorLabeler ()
 

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

Строки 22-25 применяют сглаживание по Гауссу к нашему измененному размеру изображения, преобразуя его в оттенки серого и L * a * b *, и, наконец, установление порога, чтобы выявить формы на изображении:

Рисунок 2: Пороговая обработка применяется для отделения фона от фигур переднего плана.

Находим контуры (т.e., outlines) фигур на Lines 29-30 , заботясь о том, чтобы получить соответствующее значение кортежа cnts на основе нашей версии OpenCV.

Теперь мы готовы обнаруживать формы и цвета каждого объекта на изображении:

 # петля по контурам
для c в центрах:
# вычисляем центр контура
M = cv2.moments (c)
cX = int ((M ["m10"] / M ["m00"]) * соотношение)
cY = int ((M ["m01"] / M ["m00"]) * соотношение)

# определить форму контура и обозначить цвет
shape = sd.обнаружить (с)
color = cl.label (lab, c)

# умножаем координаты контура (x, y) на коэффициент изменения размера,
# затем нарисуйте контуры и название формы и пометьте
# цвет на изображении
c = c.astype ("плавать")
c * = соотношение
c = c.astype ("int")
text = "{} {}". format (цвет, форма)
cv2.drawContours (изображение, [c], -1, (0, 255, 0), 2)
cv2.putText (изображение, текст, (cX, cY),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 2)

# показать выходное изображение
cv2.imshow ("Изображение", изображение)
cv2.waitKey (0)
 

Мы начинаем перебирать каждый из контуров на Line 38 , а Lines 40-42 вычисляем центр формы.

Используя контур, мы можем затем определить форму объекта, а затем определить его цвет на строках 45 и 46 .

Наконец, Lines 51-57 обрабатывают контур текущей формы, за которым следует цвет + текстовая метка на выходном изображении.

Строки 60 и 61 отображают результаты на нашем экране.

Результаты цветной маркировки

Чтобы запустить наш детектор формы + цветной этикетировщик, просто загрузите исходный код в сообщение, используя форму внизу этого руководства, и выполните следующую команду:

 $ python detect_color.py --image example_shapes.png
 
Рисунок 3: Определение формы и обозначение цвета объектов на изображении.

Как видно из приведенного выше GIF-изображения, каждый объект был правильно идентифицирован как по форме , так и по цвету .

Ограничения

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

Вы можете часто идентифицировать небольшие наборы цветов, используя цветовое пространство L * a * b * и евклидово расстояние, но для больших цветовых палитр этот метод, скорее всего, вернет неверные результаты в зависимости от сложности ваших изображений.

Итак, как мы можем с большей надежностью маркировать цветов на изображениях ?

Возможно, есть способ «узнать» , как цвета «выглядят» в реальном мире.

Действительно, есть.

И это именно то, что я буду обсуждать в следующем блоге.

Сводка

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

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

Хотя этот метод работает для небольших наборов цветов в условиях частично контролируемого освещения, он, скорее всего, не будет работать для больших цветовых палитр в менее контролируемых условиях.Как я намекал в разделе «Ограничения» этого поста, на самом деле у нас есть способ «узнать», как цвета «выглядят» в реальном мире. Я сохраню обсуждение этого метода для будущего сообщения в блоге.

Итак, что вы думаете об этой серии сообщений в блоге? Обязательно дайте мне знать в разделе комментариев.

И не забудьте подписаться на рассылку новостей PyImageSearch, используя форму ниже, чтобы получать уведомления о новых публикациях!

Загрузите исходный код и БЕСПЛАТНОЕ 17-страничное руководство по ресурсам

Введите свой адрес электронной почты ниже, чтобы получить.zip кода и БЕСПЛАТНОЕ 17-страничное руководство по ресурсам по компьютерному зрению, OpenCV и глубокому обучению. Внутри вы найдете мои тщательно отобранные учебники, книги, курсы и библиотеки, которые помогут вам освоить CV и DL!

Определение неисправности после аварии: что следует знать

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

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

Что делать на месте аварии

Если вы попали в аварию, важно сохранять спокойствие. Не принимайте на себя добровольно ответственность, не принимайте на себя ответственность и не подписывайте никаких заявлений относительно виновных в аварии на месте происшествия.Не платите и не обещайте оплатить ущерб на месте столкновения, не принимайте деньги и не обсуждайте какие-либо урегулирования с другим водителем (-ами) и не соглашайтесь забыть о столкновении.

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

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

Немедленно позвоните в службу 911, если есть травмы (независимо от того, насколько они незначительны), если речь идет о преступном деянии (например, если водитель выглядит инвалидом) или если в столкновении участвует пешеход или велосипедист. Звоните в полицию, если повреждения транспортных средств превышают порог, установленный для вашей провинции. В Онтарио и Альберте общий порог аварии составляет 2000 долларов, а не одно транспортное средство.

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

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

Значение цвета, теория цвета и др.

Узнайте все, что вам нужно знать, чтобы успешно использовать цвет в дизайне. Изучите теорию цвета, значения цвета и цветовые режимы, которые помогут вам выбрать правильную палитру для вашей работы.

Изображение обложки с vhpicstock.

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

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


Цветовая терминология

Прежде чем мы углубимся в мельчайшие аспекты теории цвета, давайте рассмотрим некоторые важные термины.

  • Оттенок относится к чистым, насыщенным цветам, представленным на цветовом круге выше.
  • Оттенки достигаются за счет включения элементов белого цвета для осветления и обесцвечивания одного оттенка. Оттенки цвета часто намного спокойнее, чем их насыщенные аналоги.
  • Оттенки достигаются путем добавления серого к оттенку, приглушающего общую цветность.
  • Оттенки достигаются путем добавления частей черного к одному оттенку, создавая более темный оттенок.
  • Насыщенность означает общую интенсивность или насыщенность цвета. Чистый оттенок более насыщенный, чем его оттенок или тон.
  • Значение относится к общей яркости или темноте цвета. Более светлый оттенок имеет большую ценность, чем более темный оттенок.

Цветовой круг

Вы, наверное, видели цветовое колесо на уроках рисования или вспомнили знаменитую аббревиатуру «Рой Г. Бив», чтобы запомнить каждый цвет радуги. Цветовой круг - это иллюстративная диаграмма, которая показывает 12 цветов по кругу, которые используются для представления взаимосвязи каждого цвета друг с другом.Расположенные напротив друг друга цвета дополняют друг друга. Цвета, расположенные рядом с другими цветами, имеют общие характеристики и часто хорошо сочетаются друг с другом.

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

Изображение предоставлено aekikuis.

Основные цвета

Основные цвета - это «исходные» цвета, состоящие из красного, желтого и синего. Вы не можете смешивать цвета вместе, чтобы получить эти цвета.

Изображение предоставлено aekikuis.

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

Дополнительные цвета

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

Изображение предоставлено aekikuis.

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

Третичные цвета

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

Изображение предоставлено aekikuis.

Название каждого третичного цвета начинается с соседнего основного цвета в сочетании с соседним вторичным цветом. Вы никогда не увидите желто-зеленого названия; он всегда будет желто-зеленым.


Цветовые схемы

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

Представленные ниже изображения цветовой палитры также можно найти в нашей 101 цветовой комбинации, вдохновленной изображениями из коллекции Shutterstock.

Монохроматические цвета

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

Эта цветовая схема чрезвычайно универсальна и приятна для глаз. Использование многих оттенков в дизайне часто может ошеломить зрителя и затруднить тон дизайна, но тонкие цветовые вариации одного оттенка помогают упростить дизайн, не делая его слишком плоским.

Изображение предоставлено Пативат Сариа.


Ахроматические цвета

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

Изображение с tofutyklein.


Аналогичные цвета

Аналогичные цвета - это группа из трех или четырех цветов, граничащих друг с другом в цветовом круге. Слово «аналогичный» означает «тесно связанные», поэтому сочетание этих оттенков имеет гармоничную привлекательность, аналогичную монохроматическим цветовым схемам.

Изображение предоставлено aekikuis.

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

Изображение предоставлено Кеном Фунгом.


Дополнительные цвета

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

Изображение предоставлено aekikuis.

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

Изображение предоставлено casanisa.


Разделение дополнительных цветов

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

Изображение предоставлено aekikuis.

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

Изображение предоставлено Maciej Bledowski.


Двойные дополнительные (тетрадные) цвета

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

Изображение предоставлено aekikuis.

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

Изображение предоставлено leonori.


Триадные цвета

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

Изображение предоставлено aekikuis.

Желтый, синий и красный образуют яркую триаду, которую трудно сбалансировать. Пусть один оттенок сияет, как желтый на автомобиле внизу, и акцентируется другими триадными оттенками, такими как синий и красный на пляжной экипировке на крыше автомобиля.

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

Изображение предоставлено alphaspirit.


Значение цвета и его влияние на брендинг

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

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

Теплые тона

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

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

Значение красного

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

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

Изображение предоставлено Гильманшином.

Значение апельсина

Оранжевый сочетает в себе яркость красного и жизнерадостность желтого. Его яркость обычно указывает на уверенность, непринужденность и начало новой жизни.

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

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

Изображения предоставлены Zamurovic Photography.

Значение желтого

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

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

Желтый может быть непросто подобрать пару; придерживайтесь монохроматических, аналогичных, дополняющих друг друга или триадных оттенков для удачной цветовой палитры.Эта текстура агата, представленная ниже, легко сочетает в себе оттенки и тона желтого, создавая приятный для глаз вид.

Изображение предоставлено Gluiki.


Холодные цвета

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

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

Значение зеленого

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

Зеленый особенно приятен для глаз, что делает его идеальным в качестве доминирующего цвета или акцента. Для создания непринужденной цветовой палитры сочетайте зеленый с монохроматическими, аналогичными или дополнительными цветовыми схемами.Монохромные и аналогичные комбинации, видимые в каплях росы внизу или в северном сиянии вверху, создают мирную и гармоничную палитру. Дополнительные схемы, такие как приглушенные красные и зеленые, особенно хорошо контрастируют в сочетании в композиции. (Однако будьте осторожны, чтобы не пройти весь праздничный сезон!)

Изображение с FlashMovie.

Значение синего

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

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

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

Изображение взято с сайта marbleszone.com.

Значение фиолетового

Этот вторичный оттенок сочетает стабильность синего с энергией красного. Фиолетовый также имеет важное историческое значение; это был популярный выбор цвета среди императоров и королей, создавая ауру королевской власти и исключительности.

Со временем меняются и значения цвета. В наши дни фиолетовый цвет обычно используется как символ мира и роскоши. Ультрафиолет, цвет года по версии Pantone в 2018 году, представляет собой оптимистичный и мистический взгляд на обычный фиолетовый оттенок, который смотрит в будущее.

Умиротворяющая и роскошная привлекательность

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

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

Изображение с помощью MaxFrost.

Значение розового

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

В Западном полушарии розовый цвет обычно используется при брендировании женских товаров и косметики из-за общей ассоциации розового цвета с более «девичьими» вещами. В последнее время розовый цвет стал более модным в дизайне; вы, наверное, видели повторение знаменитого розового цвета тысячелетия, тонко интегрированного в фотографии и дизайн, даже если они не относятся к женским предметам. Это потому, что розовый цвет развивается вместе с популярными представлениями об идентичности.

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

Изображение предоставлено Plateresca.


Понимание цветовых профилей и систем

Хотя цветовые комбинации чрезвычайно важны для вашего дизайна, также важно различать разные типы цветовых профилей и систем. Основные цветовые профили, RGB и CMYK, отображают цвета в различных процессах, что влияет на общий цветовой диапазон, который вы можете использовать в дизайне.Цветовые профили RGB могут отображать более яркие оттенки, в то время как профили CMYK не могут воспроизводить те же значения.

Плашечные и триадные цвета также влияют на цвета, используемые в вашем дизайне; Цветовая гамма этих цветовых систем сильно различается. При печати плашечные цвета выглядят более интенсивными и однородными, а триадные цвета получаются с точками CMYK, что приводит к более ограниченному цветовому диапазону.

RGB

Цветовой профиль RGB состоит из оттенков Red, Green, и Blue , которые в сочетании создают обширные вариации цветов, выходящие за рамки цветового профиля CMYK .Этот цветовой режим существует исключительно на экранах, таких как компьютерные мониторы, мобильные устройства и телевизионные экраны.

RGB-диаграмма через petrroudny43. Цветовое колесо через Юлию Глэм.

Вместо использования чернил для создания оттенков, профиль RGB использует аддитивных процессов для создания цвета путем смешивания света. Это полная противоположность субтрактивных цветовых процессов, таких как смешивание красок или красок. Присутствие всех основных цветов RGB при полной интенсивности дает белый цвет, в то время как отсутствие цвета дает черный.Цвет, отображаемый на экране, является результатом наличия этих базовых оттенков RGB.

При попытке напечатать дизайн, который находится исключительно в цветовом профиле RGB, ваш дизайн будет иметь оттенки, отличные от оттенков, отображаемых на экране предварительного просмотра. Цветовые профили CMYK имеют меньшую гамму, чем профили RGB, поэтому при печати цвет, присутствующий в вашем дизайне, будет пытаться найти эквивалент CMYK. Эти эквиваленты могут быть нечеткими или менее яркими, что в конечном итоге влияет на общий тон вашего дизайна. Как правило, всегда устанавливайте для вашего Online только дизайнов в цветовом профиле RGB, чтобы избежать изменения цвета.

CMYK

Цветовой профиль CMYK содержит голубой, пурпурный, желтый, и ключевой (черный) , которые в сочетании дают диапазон оттенков. Этот четырехцветный процесс подходит для любого типа принтера. При увеличении масштаба распечатанных изображений вы можете видеть четырехцветные точки этого слоя для создания различных оттенков и градаций. Точки на дюйм являются результатом печати и включают цветовые профили CMYK. Хотя все принтеры печатают в CMYK, конечный результат может отличаться для разных стилей и моделей принтеров.

Диаграмма CMYK через petrroudny43. CMYK точек через SkillUp.

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

Цветовые профили

CMYK обеспечивают меньшую гамму, чем цветовые профили RGB, поэтому только использует этот профиль при проектировании для печати.

Ознакомьтесь с более подробным анализом цветовых профилей CMYK и RGB, а также о том, как получить доступ и редактировать эти цветовые профили в программах Adobe.


Цвет процесса

Самый распространенный метод офсетной печати - это триадные цвета. Эти цвета создаются за счет комбинации голубого, пурпурного, желтого и ключевого (черного) или CMYK чернил. Каждый триадный цвет состоит из процентного содержания голубых, пурпурных, желтых и черных чернил. Триадные цвета обеспечивают ограниченный цветовой диапазон по сравнению с плашечными цветами.

Изображение предоставлено Sailom.

Процессная или четырехцветная печать

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

Плашечный цвет

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

Изображение предоставлено REDPIXEL.PI.

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

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


В поисках вдохновения использовать цвет в дизайне

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

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

Изображение предоставлено Chamille White.

Мне нравится заглядывать на такие дизайнерские сайты, как Dribbble и Behance, чтобы увидеть современные цветовые схемы и то, как они продуманно применяются в различных проектах. Вы также можете найти установленные цветовые палитры из этих 101 цветовой комбинации и 25 ретро-образцов, созданных вашим покорным слугой.

Щелкните ссылку ниже, чтобы загрузить 25 бесплатных файлов образцов в стиле ретро. Каждый файл доступен в цветовом профиле RGB и совместим с Adobe Illustrator, InDesign и Photoshop. Если у вас нет доступа к программному обеспечению для дизайна, вы можете ввести шестизначные шестнадцатеричные коды, показанные на каждом образце цвета.

Загрузить сейчас

Чтобы бесплатно загрузить образец цвета 101 , щелкните эту ссылку для загрузки ниже. Каждый файл в этой папке также доступен в цветовом профиле RGB и идеально подходит для использования в онлайн-дизайне или веб-дизайне.

Загрузить сейчас

Как загрузить бесплатные файлы образцов в Adobe Illustrator

Щелкните раскрывающийся список hamburger на панели Swatches и выберите Open Swatch Library> Other Library и выберите один из файлов образцов.

Как использовать бесплатные образцы в Adobe Photoshop и InDesign

На панели Swatches выберите раскрывающееся меню hamburger , нажмите Load Swatches и выберите отдельный файл образцов, чтобы он отобразился на панели.


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


Попробуйте Shutterstock и получите 10 изображений бесплатно.
Используйте PICK10FREE при оформлении заказа.

Начать бесплатную пробную версию

Ищете более обширные статьи, чтобы расширить свои знания о цвете и дизайне? Проверьте это:

Цветовой слепой тест | Тест цветового зрения по Ишихара Тест на дальтонизм

Тест на дальтонизм | Проверка цветового зрения по Ишихара Тест на дальтонизм

Информация о тесте для дальтонизма: во всем мире примерно 1 из 12 мужчин и 1 из 200 женщин страдают дальтонизмом.Это довольно распространенное состояние часто не диагностируется, потому что пациенты не осознают, что они не видят цвета, как другие люди. Тем не менее, проверка на дальтонизм проста и даже не требует посещения врача. Вы можете легко сделать это онлайн, используя свой компьютер. Просто посмотрите на символы ниже и введите числа, которые вы видите. Вы получите мгновенный результат, который поможет узнать, боретесь ли вы с дальтонизмом.

Как работает тест на дальтонизм? Этот тест, известный как тест Исихара, делает числа из точек, цвет которых отличается от цвета окружающих их точек.Тот, кто страдает дальтонизмом, видит все эти точки одним цветом, тогда как кто-то с нормальным зрением может различать разные цвета. Тест Исихара (тип теста для дальтоников) - это быстрый и простой способ определить, испытываете ли вы трудности или нет.

Color Blind Test или тест Ishihara состоит из нескольких цветных пластин, известных как пластины Ishihara. На всех пластинах есть кружки из точек, которые появляются в случайном порядке по цвету и размеру. Большинство людей будут рассматривать изображения по-разному (в основном арабские числа).Люди с определенными типами дальтонизма будут видеть цифры, отличные от тех, кто не страдает дальтонизмом.

Цветовой код появляется, когда есть некоторая информация о цвете анализируемых элементов. Эти коды не могут быть легко объяснены тем, кто страдает дальтонизмом. Это основная причина того, почему цвет не должен быть единственным критерием предоставления информации. Идеальный способ избежать цветового кодирования или цветовых различий - использовать хороший графический дизайн для предоставления информации.Это помогает не только дальтоникам, но и людям с нормальным зрением.
Внешняя информация: Тест Исихара Википедия

Посмотрите на изображения ниже и введите числа, которые вы видите в соответствующих полях. *

Вы обеспокоены своими результатами? Вам было сложно увидеть несколько чисел? Вы угадываете вместо того, чтобы уверенно вводить ответы? Вам нужно пройти тест на цветовое зрение для работы или лицензии? Если тест показывает, что вы, возможно, страдаете дальтонизмом и чувствуете, что дальтонизм влияет на вашу повседневную жизнь, то для вас есть хорошие новости.Доступно лечение дальтонизма, которое поможет вам увидеть весь спектр цветов, которые видят другие люди, и может гарантировать прохождение теста Ishihara Color Plate Test!

Система ColorCorrection System ™ от ColorMax предлагает простое индивидуальное решение проблемы дальтонизма. Эта система помогла тысячам людей, как и вы, преодолеть дальтонизм и проблемы, которые оно может вызвать. Если вы давно знали, что страдаете дальтонизмом, или только что узнали об этом с помощью этого теста, решение есть.Обратитесь к нашей команде сегодня, чтобы узнать больше о системе ColorCorrection и о том, как она может помочь вам снова четко видеть цвета.

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

'; } else { документ.getElementById (имя поля) .value = "N"; document.getElementById (theid) .innerHTML = '

Число, изображенное выше, на самом деле является' + rightanswer + '. '+ addinfo +'

'; } if (theid == "testten") { document.getElementById (имя поля) .value = "Y"; document.getElementById (theid) .innerHTML = '

Все должны видеть число 12, включая людей с дальтонизмом.

'; } document.getElementById (имя поля) .style.display = "нет"; } // ->

Керас FAQ

Список часто задаваемых вопросов Keras.

Общие вопросы


Общие вопросы

Как я могу обучить модель Keras на нескольких графических процессорах (на одной машине)?

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

1) Параллелизм данных

Параллелизм данных заключается в однократной репликации целевой модели на каждом устройстве и использовании каждой реплики для обработки различной части входных данных.

Лучший способ реализовать параллелизм данных с моделями Keras - использовать tf.distribute API. Обязательно прочтите наше руководство по использованию tf.distribute с Keras.

Суть его в следующем:

a) создать экземпляр объекта «стратегии распространения», например MirroredStrategy (который копирует вашу модель на каждом доступном устройстве и синхронизирует состояние каждой модели):

  стратегия = tf.distribute.MirroredStrategy ()
  

б) Создайте свою модель и скомпилируйте ее в рамках стратегии:

  со стратегией.объем():
    # Это может быть любая модель - функциональная, подкласс ...
    model = tf.keras.Sequential ([
        tf.keras.layers.Conv2D (32, 3, активация = 'relu', input_shape = (28, 28, 1)),
        tf.keras.layers.GlobalMaxPooling2D (),
        tf.keras.layers.Dense (10)
    ])
    model.compile (loss = tf.keras.losses.SparseCategoricalCrossentropy (from_logits = True),
                  optimizer = tf.keras.optimizers.Adam (),
                  metrics = [tf.keras.metrics.SparseCategoricalAccuracy ()])
  

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

c) Вызовите fit () с объектом tf.data.Dataset в качестве входных данных. Распространение широко совместимо со всеми обратными вызовами, включая настраиваемые обратные вызовы. Обратите внимание, что этот вызов не обязательно должен находиться в области действия стратегии, поскольку он не создает новых переменных.

  model.fit (train_dataset, epochs = 12, callbacks = обратные вызовы)
  

2) Параллелизм моделей

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

Этого можно достичь, используя области устройства TensorFlow. Вот быстрый пример:

  # Модель, в которой общий LSTM используется для параллельного кодирования двух разных последовательностей
input_a = keras.Input (форма = (140, 256))
input_b = keras.Input (форма = (140, 256))

shared_lstm = keras.layers.LSTM (64)

# Обрабатываем первую последовательность на одном GPU
с tf.device_scope ('/ gpu: 0'):
    encoded_a = shared_lstm (input_a)
# Обрабатываем следующую последовательность на другом GPU
с тф.device_scope ('/ gpu: 1'):
    encoded_b = shared_lstm (input_b)

# Объединить результаты на CPU
с tf.device_scope ('/ cpu: 0'):
    merged_vector = keras.layers.concatenate (
        [encoded_a, encoded_b], ось = -1)
  

Как я могу распределить обучение по нескольким машинам?

Как и в случае параллелизма на одной машине, лучший способ проводить распределенное обучение с помощью Keras - это использовать tf.distribute API, в частности MultiWorkerMirroredStrategy .Обязательно прочтите наше руководство по использованию tf.distribute с Keras.

Распределенное обучение несколько сложнее, чем обучение на одной машине с несколькими устройствами. Примерно вам понадобится для запуска удаленного кластера машин, затем запустите свой код на «главной» машине, которая содержит переменную среды TF_CONFIG который определяет, как взаимодействовать с другими машинами в кластере. Оттуда рабочий процесс похож на использование одного компьютера обучение работе с несколькими GPU, с основным отличием в том, что вы будете использовать MultiWorkerMirroredStrategy в качестве стратегии распространения.

Важно:

  • Убедитесь, что ваш набор данных настроен таким образом, чтобы все рабочие в кластере могли эффективно извлекать из него данные (например, если ваш кластер находится на GCP, рекомендуется разместить ваши данные на GCS).
  • Убедитесь, что ваше обучение отказоустойчиво (например, настроив обратный вызов ModelCheckpoint ).

Как обучить модель Keras на ТПУ?

TPU - это быстрый и эффективный аппаратный ускоритель для глубокого обучения, общедоступный в Google Cloud.Вы можете использовать TPU через Colab, AI Platform (ML Engine) и виртуальные машины Deep Learning (при условии, что на виртуальной машине установлена ​​переменная среды TPU_NAME ).

Обязательно сначала прочтите руководство по использованию TPU. Вот краткое описание:

После подключения к среде выполнения TPU (например, выбрав среду выполнения TPU в Colab) вам необходимо будет определить свой TPU с помощью TPUClusterResolver , который автоматически обнаруживает связанный TPU на всех поддерживаемых платформах:

  тпу = тф.distribute.cluster_resolver.TPUClusterResolver () # Обнаружение TPU
print ('Работает на TPU:', tpu.cluster_spec (). as_dict () ['worker'])

tf.config.experimental_connect_to_cluster (TPU)
tf.tpu.experimental.initialize_tpu_system (tpu)
стратегия = tf.distribute.experimental.TPUStrategy (tpu)
print ('Реплики:', strategy.num_replicas_in_sync)

с помощью strategy.scope ():
    # Создайте свою модель здесь.
    ...
  

После первоначальной настройки рабочий процесс аналогичен работе на одном компьютере. обучение работе с несколькими GPU, с основным отличием в том, что вы будете использовать TPUStrategy в качестве стратегии распространения.

Важно:

  • Убедитесь, что ваш набор данных дает пакеты с фиксированной статической формой. График TPU может обрабатывать только входные данные постоянной формы.
  • Убедитесь, что вы можете читать свои данные достаточно быстро, чтобы TPU использовался. Использование формата TFRecord для хранения ваших данных может быть хорошей идеей.
  • Рассмотрите возможность выполнения нескольких шагов градиентного спуска для каждого выполнения графа, чтобы поддерживать использование TPU. Вы можете сделать это с помощью экспериментального_steps_per_execution аргумента compile () .Это даст значительный прирост скорости для небольших моделей.

Где хранится файл конфигурации Keras?

Каталог по умолчанию, в котором хранятся все данные Keras:

$ ГЛАВНАЯ / .keras /

Например, для меня на MacBook Pro это /Users/fchollet/.keras/ .

Обратите внимание, что пользователи Windows должны заменить $ HOME на % USERPROFILE% .

В случае, если Керас не может создать указанный выше каталог (например,г. из-за проблем с разрешениями) /tmp/.keras/ используется в качестве резервной копии.

Файл конфигурации Keras - это файл JSON, который хранится по адресу $ HOME / .keras / keras.json . Файл конфигурации по умолчанию выглядит так:

  {
    "image_data_format": "channels_last",
    "эпсилон": 1e-07,
    "floatx": "float32",
    "backend": "tensorflow"
}
  

Он содержит следующие поля:

  • Формат данных изображения, который будет использоваться по умолчанию уровнями обработки изображений и служебными программами ( каналов_последний или каналов_первый ).
  • Числовой коэффициент нечеткости эпсилон , используемый для предотвращения деления на ноль в некоторых операциях.
  • Тип данных с плавающей запятой по умолчанию.
  • Бэкэнд по умолчанию. Это наследие; сейчас есть только TensorFlow.

Аналогичным образом, файлы кэшированных наборов данных, например, загруженные с помощью get_file () , по умолчанию хранятся в $ HOME / .keras / datasets / , а кэшированные файлы весов моделей из Keras Applications по умолчанию хранятся в $ HOME /.keras / модели / .


Как настроить гиперпараметры с помощью Keras?

Мы рекомендуем использовать Keras Tuner.


Как я могу получить воспроизводимые результаты с помощью Keras во время разработки?

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

Во-первых, вам необходимо установить для переменной среды PYTHONHASHSEED значение 0 перед запуском программы (не в самой программе).Это необходимо в Python 3.2.3 и более поздних версиях, чтобы иметь воспроизводимое поведение для определенных операций на основе хэша (например, порядок элементов в наборе или dict, см. Документацию Python или проблему № 2280 для получения дополнительных сведений). Один из способов установить переменную среды - запустить python следующим образом:

  $ cat test_hash.py
печать (хэш ("керас"))
$ python3 test_hash.py # невоспроизводимый хеш (Python 3.2.3+)
8127205062320133199
$ python3 test_hash.py # невоспроизводимый хеш (Python 3.2.3+)
3204480642156461591
$ PYTHONHASHSEED = 0 python3 test_hash.py # воспроизводимый хеш
4883664951434749476
$ PYTHONHASHSEED = 0 python3 test_hash.py # воспроизводимый хеш
4883664951434749476
  

Более того, при запуске на графическом процессоре некоторые операции имеют недетерминированные выходы, в частности tf.reduce_sum () . Это связано с тем, что графические процессоры выполняют множество операций параллельно, поэтому порядок выполнения не всегда гарантируется. Из-за ограниченной точности чисел с плавающей запятой даже сложение нескольких чисел может дать несколько разные результаты в зависимости от порядка, в котором вы их добавляете.Вы можете попытаться избежать недетерминированных операций, но некоторые из них могут быть созданы автоматически TensorFlow для вычисления градиентов, поэтому гораздо проще просто запустить код на ЦП. Для этого вы можете установить для переменной среды CUDA_VISIBLE_DEVICES пустую строку, например:

  $ CUDA_VISIBLE_DEVICES = "" PYTHONHASHSEED = 0 python your_program.py
  

В приведенном ниже фрагменте кода показан пример получения воспроизводимых результатов:

  импортировать numpy как np
импортировать тензорный поток как tf
импортировать случайный как python_random

# Приведенное ниже необходимо для запуска случайных чисел, сгенерированных Numpy.
# в четко определенном начальном состоянии.np.random.seed (123)

# Приведенное ниже необходимо для запуска случайных чисел, генерируемых ядром Python.
# в четко определенном состоянии.
python_random.seed (123)

# Приведенный ниже set_seed () произведет генерацию случайных чисел
# в бэкэнде TensorFlow имеют четко определенное начальное состояние.
# Подробнее см .:
# https://www.tensorflow.org/api_docs/python/tf/random/set_seed
tf.random.set_seed (1234)

# Остальной код следует ...
  

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


Какие у меня есть варианты сохранения моделей?

Примечание: не рекомендуется использовать pickle или cPickle для сохранения модели Keras.

1) Сохранение всей модели (конфигурация + вес)

Сохранение всей модели означает создание файла, который будет содержать:

  • архитектура модели, позволяющая воссоздать модель
  • Вес модели
  • обучающая конфигурация (проигрыш, оптимизатор)
  • состояние оптимизатора, позволяющее возобновить обучение именно с того места, где вы остановились.

По умолчанию и рекомендуется использовать формат TensorFlow SavedModel. В TensorFlow 2.0 и выше вы можете просто сделать: model.save (your_file_path) .

Для наглядности вы также можете использовать model.save (your_file_path, save_format = 'tf') .

Keras по-прежнему поддерживает исходный формат сохранения на основе HDF5. Чтобы сохранить модель в формате HDF5, используйте model.save (your_file_path, save_format = 'h5') . Обратите внимание, что эта опция используется автоматически если your_file_path заканчивается на .h5 или .keras . Также см. Как установить HDF5 или h5py, чтобы сохранить свои модели? инструкции по установке h5py .

После сохранения модели в любом формате вы можете восстановить ее с помощью model = keras.models.load_model (your_file_path) .

Пример:

  из tensorflow.keras.models import load_model

model.save ('my_model') # создает файл HDF5 'my_model.h5'
del model # удаляет существующую модель

# возвращает скомпилированную модель
# идентично предыдущему
модель = load_model ('моя_модель')
  

2) Экономия только по весу

Если вам нужно сохранить веса модели , вы можете сделать это в HDF5 с помощью следующего кода:

 модель .save_weights ('my_model_weights.h5')
  

Предполагая, что у вас есть код для создания экземпляра вашей модели, вы можете загрузить сохраненные веса в модель с той же архитектурой :

  model.load_weights ('my_model_weights.h5')
  

Если вам нужно загрузить веса в различных архитектур (с некоторыми общими уровнями), например, для точной настройки или переноса обучения, вы можете загрузить их по имени слоя :

 модель .load_weights ('my_model_weights.h5', by_name = True)
  

Пример:

  "" "
Предположим, что исходная модель выглядит так:

model = Последовательный ()
model.add (Dense (2, input_dim = 3, name = 'плотный_1'))
model.add (Dense (3, name = 'плотный_2'))
...
model.save_weights (имя_файла)
"" "

# новая модель
model = Последовательный ()
model.add (Dense (2, input_dim = 3, name = 'density_1')) # будет загружен
model.add (Dense (10, name = 'new_dense')) # не загружается

# вес груза из первой модели; повлияет только на первый слой плотный_1.model.load_weights (fname, by_name = True)
  

См. Также Как установить HDF5 или h5py, чтобы сохранить свои модели? инструкции по установке h5py .

3) Сохранение только конфигурации (сериализация)

Если вам нужно сохранить только архитектуру модели , а не ее веса или конфигурацию обучения, вы можете сделать:

  # сохранить как JSON
json_string = model.to_json ()
  

Созданный файл JSON удобен для чтения и может быть отредактирован вручную при необходимости.

Затем вы можете построить новую модель из этих данных:

  # реконструкция модели из JSON:
из tensorflow.keras.models import model_from_json
модель = model_from_json (json_string)
  

4) Обработка настраиваемых слоев (или других настраиваемых объектов) в сохраненных моделях

Если модель, которую вы хотите загрузить, включает пользовательские слои или другие пользовательские классы или функции, вы можете передать их в механизм загрузки с помощью аргумента custom_objects :

  из tensorflow.keras.models импорт load_model
# Предполагается, что ваша модель включает экземпляр класса "AttentionLayer"
model = load_model ('my_model.h5', custom_objects = {'AttentionLayer': AttentionLayer})
  

В качестве альтернативы вы можете использовать настраиваемую область объекта:

  из tensorflow.keras.utils import CustomObjectScope

с CustomObjectScope ({'AttentionLayer': AttentionLayer}):
    модель = load_model ('my_model.h5')
  

Обработка пользовательских объектов работает таким же образом для load_model и model_from_json :

  из tensorflow.keras.models импорт model_from_json
model = model_from_json (json_string, custom_objects = {'AttentionLayer': AttentionLayer})
  

Как мне установить HDF5 или h5py, чтобы сохранить свои модели?

Чтобы сохранить модели Keras в виде файлов HDF5, Keras использует пакет Python h5py. это зависимость Keras и должна быть установлена ​​по умолчанию. На основе Debian дистрибутивов необходимо дополнительно установить libhdf5 :

  sudo apt-get install libhdf5-serial-dev
  

Если вы не уверены, установлен ли h5py, вы можете открыть оболочку Python и загрузить модуль через

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


Как мне процитировать Кераса?

Пожалуйста, цитируйте Кераса в своих публикациях, если это поможет вашим исследованиям. Вот пример записи BibTeX:

@misc {chollet2015keras,
title = {Keras},
author = {Chollet, Fran \ c {c} ois и другие},
год = {2015},
howpublished = {\ url {https://keras.io }},
}


Что означают «образец», «партия» и «эпоха»?

Ниже приведены некоторые общие определения, которые необходимо знать и понимать, чтобы правильно использовать Keras fit () :

  • Образец : один элемент набора данных.Например, одно изображение - это образец в сверточной сети. Один звуковой фрагмент - это образец для модели распознавания речи.
  • Партия : набор образцов N . Образцы в партии обрабатываются независимо, параллельно. При обучении пакет приводит только к одному обновлению модели. Пакет обычно аппроксимирует распределение входных данных лучше, чем один вход. Чем больше партия, тем лучше приближение; однако также верно и то, что обработка пакета займет больше времени и все равно приведет только к одному обновлению.Для вывода (оценки / прогнозирования) рекомендуется выбирать размер пакета, который является настолько большим, насколько вы можете себе позволить, без потери памяти (поскольку большие пакеты обычно приводят к более быстрой оценке / прогнозированию).
  • Epoch : произвольная отсечка, обычно определяемая как «один проход по всему набору данных», используемая для разделения обучения на отдельные фазы, что полезно для регистрации и периодической оценки. При использовании validation_data или validation_split с методом fit моделей Keras оценка будет запускаться в конце каждой эпохи .В Keras есть возможность добавлять обратные вызовы, специально разработанные для запуска в конце эпохи . Примерами являются изменения скорости обучения и создание контрольных точек (сохранение) модели.

Почему мои потери в тренировках намного выше, чем в тестах?

Модель Keras имеет два режима: обучение и тестирование. Механизмы регуляризации, такие как Dropout и регуляризация веса L1 / L2, отключаются во время тестирования. Они отражаются в потере времени обучения, но не в потере времени теста.

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


Как я могу использовать Keras с наборами данных, которые не помещаются в памяти?

Вы должны использовать tf.data API для создания объектов tf.data.Dataset - абстракция над конвейером данных который может извлекать данные с локального диска, из распределенной файловой системы, из GCS и т. д., а также эффективно применять различные преобразования данных.

Например, утилита tf.keras.preprocessing.image_dataset_from_directory создаст набор данных, который считывает данные изображения из локального каталога. Аналогично утилите tf.keras.preprocessing.text_dataset_from_directory создаст набор данных, который читает текстовые файлы из локального каталога.

Объекты набора данных

могут быть напрямую переданы в fit () или могут быть повторены в пользовательском цикле низкоуровневого обучения.

  model.fit (набор данных, эпох = 10, validation_data = val_dataset)
  

Как я могу регулярно сохранять модели Keras во время обучения?

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

  импорт ОС
из tenorflow import keras

# Подготовить каталог для хранения всех контрольных точек.
checkpoint_dir = './ckpt'
если нет os.path.exists (checkpoint_dir):
    os.makedirs (checkpoint_dir)


def make_model ():
    # Создайте новую модель линейной регрессии.
    model = keras.Sequential ([keras.layers.Dense (1)])
    model.compile (optimizer = 'adam', loss = 'mse')
    модель возврата


def make_or_restore_model ():
    # Либо восстановите последнюю модель, либо создайте новую
    # если нет доступной контрольной точки.checkpoints = [каталог_контрольной точки + '/' + имя
                   для имени в os.listdir (checkpoint_dir)]
    если контрольно-пропускные пункты:
        latest_checkpoint = max (контрольные точки, ключ = os.path.getctime)
        print ('Восстановление из', latest_checkpoint)
        вернуть keras.models.load_model (latest_checkpoint)
    print ('Создание новой модели')
    вернуть make_model ()


модель = make_or_restore_model ()
обратные вызовы = [
    # Этот обратный вызов сохраняет SavedModel каждые 100 пакетов.
    # Мы включаем потерю тренировки в имя папки.keras.callbacks.ModelCheckpoint (
        filepath = checkpoint_dir + '/ckpt-loss={loss:.2f}',
        save_freq = 100)
]
model.fit (train_data, эпохи = 10, обратные вызовы = обратные вызовы)
  

Узнайте больше в документации по обратным вызовам.


Как я могу прервать обучение, если потеря валидации больше не уменьшается?

Вы можете использовать EarlyStopping callback:

  из tensorflow.keras.callbacks import EarlyStopping

Early_stopping = EarlyStopping (monitor = 'val_loss', терпение = 2)
модель.fit (x, y, validation_split = 0.2, callbacks = [early_stopping])
  

Узнайте больше в документации по обратным вызовам.


Как я могу заморозить слои и выполнить точную настройку?

Установка обучаемого атрибута

Все слои и модели имеют логический атрибут layer.trainable :

  >>> слой = Плотный (3)
>>> layer.trainable
Правда
  

Для всех слоев и моделей можно установить обучаемый атрибут (True или False).Если установлено значение False , атрибут layer.trainable_weights пуст:

  >>> слой = Плотный (3)
>>> layer.build (input_shape = (3, 3)) # Создаем веса слоя
>>> layer.trainable
Правда
>>> layer.trainable_weights
[,  ]
>>> слой.trainable = Ложь
>>> layer.trainable_weights
[]
  

Установка атрибута обучаемого на слое рекурсивно устанавливает его для всех дочерних слоев (содержимое self.layers ).

1) При тренировке с fit () :

Чтобы выполнить точную настройку с помощью fit () , вы должны:

  • Создайте экземпляр базовой модели и загрузите предварительно натренированные веса
  • Заморозить эту базовую модель
  • Добавить обучаемые слои поверх
  • Вызов compile () и fit ()

Как это:

  модель = Последовательная ([
    ResNet50Base (input_shape = (32, 32, 3), weights = 'предварительно обучено'),
    Плотный (10),
])
модель.Layers [0] .trainable = False # Заморозить ResNet50Base.

assert model.layers [0] .trainable_weights == [] # ResNet50Base не имеет обучаемых весов.
assert len ​​(model.trainable_weights) == 2 # Просто смещение и ядро ​​слоя Dense.

model.compile (...)
model.fit (...) # Train Dense без ResNet50Base.
  

Вы можете выполнить аналогичный рабочий процесс с функциональным API или API подкласса модели. Обязательно вызовите compile () после , изменив значение обучаемого , чтобы изменения, которые необходимо принять во внимание.Вызов compile () заморозит состояние шага обучения модели.

2) При использовании пользовательского цикла обучения:

При написании цикла обучения обязательно обновляйте только веса, которые являются частью модели .trainable_weights (а не всех моделей . веса ).

  модель = Последовательная ([
    ResNet50Base (input_shape = (32, 32, 3), weights = 'предварительно обучено'),
    Плотный (10),
])
model.layers [0] .trainable = False # Заморозить ResNet50Base.# Перебирать пакеты набора данных.
для входов, целей в наборе данных:
    # Откройте GradientTape.
    с tf.GradientTape () в качестве ленты:
        # Прямой проход.
        прогнозы = модель (входные данные)
        # Вычислить значение потерь для этой партии.
        loss_value = loss_fn (цели, прогнозы)

    # Получите градиенты потерь относительно * обучаемых * весов.
    градиенты = лента.градиент (значение_потери, model.trainable_weights)
    # Обновите веса модели.
    optimizer.apply_gradients (zip (градиенты, модель.trainable_weights))
  

Взаимодействие между обучаемыми и компиляцией ()

Вызов compile () для модели предназначен для «заморозки» поведения этой модели. Это означает, что обучаемый значения атрибутов во время компиляции модели должны сохраняться в течение всего срока службы этой модели, пока не скомпилирован, вызывается снова. Следовательно, если вы измените обучаемый , обязательно вызовите compile () еще раз на своем модель для учета ваших изменений.

Например, если две модели A и B имеют общие слои, и:

  • Модель A скомпилирована
  • Обучаемое значение атрибута на общих слоях изменено
  • Модель B собрана

Затем модели A и B используют разные обучаемых значений для общих слоев. Этот механизм критично для большинства существующих реализаций GAN, которые поддерживают:

  discinator.compile (...) # веса `дискриминатора` должны обновляться при обучении` дискриминатора`
дискриминатор.trainable = Ложь
gan.compile (...) # `Дискриминатор` - это подмодель` gan`, которая не должна обновляться при обучении `gan`
  

В чем разница между обучающим аргументом в вызове call () и обучаемым атрибутом ?

Обучение - это логический аргумент в вызове , который определяет, будет ли вызов следует запускать в режиме вывода или в режиме обучения. Например, в режиме обучения слой Dropout применяет случайное выпадение и изменяет масштаб вывода.В режиме вывода то же самое слой ничего не делает. Пример:

  y = Dropout (0.5) (x, training = True) # Применяет отсев во время обучения * и * время вывода
  

обучаемый - это логический атрибут слоя, который определяет обучаемые веса. слоя следует обновить, чтобы минимизировать потери во время обучения. Если для параметра layer.trainable установлено значение False , тогда layer.trainable_weights всегда будет пустым списком. Пример:

  модель = Последовательная ([
    ResNet50Base (input_shape = (32, 32, 3), weights = 'предварительно обучено'),
    Плотный (10),
])
модель.Layers [0] .trainable = False # Заморозить ResNet50Base.

assert model.layers [0] .trainable_weights == [] # ResNet50Base не имеет обучаемых весов.
assert len ​​(model.trainable_weights) == 2 # Просто смещение и ядро ​​слоя Dense.

model.compile (...)
model.fit (...) # Train Dense без ResNet50Base.
  

Как видите, «режим вывода и режим тренировки» и «обучаемость со слоями веса» - это две очень разные концепции.

Вы можете представить себе следующее: слой отсева, в котором коэффициент масштабирования изучается во время обучения с помощью обратное распространение.Назовем его AutoScaleDropout . Этот уровень будет одновременно иметь обучаемое состояние и другое поведение при выводе и обучении. Поскольку обучаемый атрибут и аргумент вызова обучения независимы, вы можете сделать следующее:

  слой = AutoScaleDropout (0,5)

# Применяет отсев во время обучения * и * время вывода
# * и * изучает коэффициент масштабирования во время обучения
y = слой (x, обучение = True)

assert len ​​(layer.trainable_weights) == 1
  
  # Применяет отсев во время обучения * и * время вывода
# с * замороженным * масштабным коэффициентом

слой = AutoScaleDropout (0.5)
layer.trainable = Ложь
y = слой (x, обучение = True)
  

Частный случай BatchNormalization layer

Рассмотрим слой BatchNormalization в замороженной части модели, который используется для точной настройки.

Давно обсуждается вопрос о том, должна ли скользящая статистика уровня BatchNormalization оставаться в замороженном состоянии или адаптироваться к новым данным. Исторически млрд.trainable = False только остановит обратное распространение, но не предотвратит статистику времени обучения Обновить.После тщательного тестирования мы обнаружили, что обычно лучше заморозить статистику движения. в случаях тонкой настройки. Запуск в TensorFlow 2.0, установка bn.trainable = False также заставит слой работать в режиме вывода.

Это поведение применимо только для BatchNormalization . Для каждого второго уровня тренируемость с отягощениями и «вывод vs режим обучения» остаются независимыми.


В fit () , как вычисляется разделение проверки?

Если вы установите аргумент validation_split в модели .подходит , например, 0.1, то используемыми данными проверки будут последних 10% данных. Если вы установите его на 0,25, это будут последние 25% данных и т. Д. Обратите внимание, что данные не перетасовываются перед извлечением проверочного разделения, поэтому проверка - это буквально последних x% выборок в ввод вы прошли.

Один и тот же набор проверки используется для всех эпох (в рамках одного вызова соответствует ).

Обратите внимание, что опция validation_split доступна только в том случае, если ваши данные передаются как массивы Numpy (не tf.data.Datasets , которые не индексируются).


В fit () данные перетасовываются во время обучения?

Если вы передаете свои данные в виде массивов NumPy и если для аргумента shuffle в модели model.fit () установлено значение True (это значение по умолчанию), обучающие данные будут глобально случайным образом перемешиваться в каждую эпоху.

Если вы передаете данные как объект tf.data.Dataset и если перетасовывает аргумент в модели .fit () установлен на True , набор данных будет перетасовываться локально (буферизованное перетасовка).

При использовании объектов tf.data.Dataset предпочтительнее предварительно перемешать данные (например, путем вызова dataset = dataset.shuffle (buffer_size) ), чтобы контролировать размер буфера.

Данные проверки никогда не перемешиваются.


Какой рекомендуемый способ отслеживать мои показатели при тренировке с fit () ?

Значения потерь и значения показателей сообщаются через индикатор выполнения по умолчанию, отображаемый при вызове fit () .Однако наблюдение за изменением чисел ascii в консоли не является оптимальным опытом мониторинга метрик. Мы рекомендуем использовать TensorBoard, который будет регулярно отображать красивые графики ваших показателей обучения и проверки. обновляется во время обучения, доступ к которому можно получить из браузера.

Вы можете использовать TensorBoard с fit () через обратный вызов TensorBoard .


Что делать, если мне нужно настроить то, что fit () делает?

У вас есть два варианта:

1) Напишите пользовательский цикл обучения низкого уровня

Это хороший вариант, если вы хотите контролировать каждую мелочь.Но это может быть несколько многословно. Пример:

  # Подготовить оптимизатор.
optimizer = tf.keras.optimizers.Adam ()
# Подготовить функцию потерь.
loss_fn = tf.keras.losses.kl_divergence

# Перебирать пакеты набора данных.
для входов, целей в наборе данных:
    # Откройте GradientTape.
    с tf.GradientTape () в качестве ленты:
        # Прямой проход.
        прогнозы = модель (входные данные)
        # Вычислить значение потерь для этой партии.
        loss_value = loss_fn (цели, прогнозы)

    # Получите градиенты потерь по весам.градиенты = лента.градиент (значение_потери, model.trainable_weights)
    # Обновите веса модели.
    optimizer.apply_gradients (zip (градиенты, model.trainable_weights))
  

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

2) Создайте подкласс класса Model и переопределите методы train_step test_step )

Это лучший вариант, если вы хотите использовать собственные правила обновления, но при этом хотите использовать функциональные возможности, предоставляемые fit () , такие как обратные вызовы, эффективное пошаговое слияние и т. д.

Обратите внимание, что этот шаблон не мешает вам создавать модели с помощью функционального API (или даже последовательные модели).

Пример ниже показывает функциональную модель с пользовательским train_step .

  из tenorflow import keras
импортировать тензорный поток как tf
импортировать numpy как np

класс MyCustomModel (keras.Model):

    def train_step (себя, данные):
        # Распаковать данные. Его структура зависит от вашей модели и
        # о том, что вы передаете в `fit ()`.
        x, y = данные

        с тф.GradientTape () как лента:
            y_pred = self (x, training = True) # Вперед
            # Вычислить величину потерь
            # (функция потерь настраивается в `compile ()`)
            loss = self.compiled_loss (y, y_pred,
                                      Regularization_losses = self.losses)

        # Вычислить градиенты
        trainable_vars = self.trainable_variables
        градиенты = tape.gradient (потеря, trainable_vars)
        # Обновить веса
        self.optimizer.apply_gradients (zip (градиенты, trainable_vars))
        # Обновить метрики (включая метрику, отслеживающую убытки)
        я.compiled_metrics.update_state (y, y_pred)
        # Возвращаем dict отображение имен метрик в текущее значение
        return {m.name: m.result () для m в self.metrics}


# Создайте и скомпилируйте экземпляр MyCustomModel
входы = keras.Input (shape = (32,))
output = keras.layers.Dense (1) (входы)
model = MyCustomModel (входы, выходы)
model.compile (optimizer = 'adam', loss = 'mse', metrics = ['precision'])

# Просто используйте `fit` как обычно
х = np.random.random ((1000, 32))
y = np.random.random ((1000, 1))
model.fit (x, y, эпохи = 10)
  

Вы также можете легко добавить поддержку взвешивания выборки:

  класс MyCustomModel (keras.Модель):

    def train_step (себя, данные):
        # Распаковать данные. Его структура зависит от вашей модели и
        # о том, что вы передаете в `fit ()`.
        если len (data) == 3:
            x, y, sample_weight = данные
        еще:
            x, y = данные

        с tf.GradientTape () в качестве ленты:
            y_pred = self (x, training = True) # Вперед
            # Вычислить размер потерь.
            # Функция потерь настраивается в `compile ()`.
            loss = self.compiled_loss (y, y_pred,
                                      sample_weight = sample_weight,
                                      Regularization_losses = сам.убытки)

        # Вычислить градиенты
        trainable_vars = self.trainable_variables
        градиенты = tape.gradient (потеря, trainable_vars)

        # Обновить веса
        self.optimizer.apply_gradients (zip (градиенты, trainable_vars))

        # Обновите метрики.
        # Метрики настраиваются в `compile ()`.
        self.compiled_metrics.update_state (
            y, y_pred, sample_weight = sample_weight)

        # Возвращает dict отображение имен метрик на текущее значение.
        # Обратите внимание, что он будет включать потерю (отслеживаемую в self.метрики).
        return {m.name: m.result () для m в self.metrics}


# Создайте и скомпилируйте экземпляр MyCustomModel
входы = keras.Input (shape = (32,))
output = keras.layers.Dense (1) (входы)
model = MyCustomModel (входы, выходы)
model.compile (optimizer = 'adam', loss = 'mse', metrics = ['precision'])

# Теперь вы можете использовать аргумент sample_weight
х = np.random.random ((1000, 32))
y = np.random.random ((1000, 1))
sw = np.random.random ((1000, 1))
model.fit (x, y, sample_weight = sw, epochs = 10)
  

Точно так же вы можете настроить оценку, заменив test_step :

  класс MyCustomModel (keras.Модель):

    def test_step (self, data):
      # Распаковать данные
      x, y = данные
      # Вычислить прогнозы
      y_pred = self (x, training = False)
      # Обновляет метрики, отслеживающие потерю
      self.compiled_loss (
          y, y_pred, regularization_losses = self.losses)
      # Обновите метрики.
      self.compiled_metrics.update_state (y, y_pred)
      # Возвращает dict отображение имен метрик на текущее значение.
      # Обратите внимание, что он будет включать потери (отслеживаемые в self.metrics).
      вернуться {м.name: m.result () для m в self.metrics}
  

Как обучать модели смешанной точности?

Keras имеет встроенную поддержку обучения смешанной точности на GPU и TPU. См. Это подробное руководство.


В функциональном API и последовательном API, если уровень был вызван ровно один раз, вы можете получить его вывод через layer.output и его вход через layer.input . Это позволяет быстро создавать экземпляры моделей извлечения признаков, например этой:

.
  из tenorflow import keras
из тензорного потока.слои импорта keras

модель = Последовательный ([
    Layers.Conv2D (32, 3, активация = 'relu'),
    Layers.Conv2D (32, 3, активация = 'relu'),
    Layers.MaxPooling2D (2),
    Layers.Conv2D (32, 3, активация = 'relu'),
    Layers.Conv2D (32, 3, активация = 'relu'),
    Layers.GlobalMaxPooling2D (),
    слои плотные (10),
])
экстрактор = keras.Model (входы = model.inputs,
                        output = [layer.output для слоя в model.layers])
features = extractor (данные)
  

Естественно, это невозможно с моделями, которые являются подклассами Модель , которые отменяют вызов .

Вот еще один пример: создание экземпляра модели , которая возвращает выходные данные определенного именованного слоя:

  model = ... # создать исходную модель

layer_name = 'мой_ слой'
Intermediate_layer_model = keras.Model (входы = model.input,
                                       output = model.get_layer (имя_слоя) .output)
Intermediate_output = intermediate_layer_model (данные)
  

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

Вы можете использовать модели, доступные в кера.приложения или модели, доступные на TensorFlow Hub. TensorFlow Hub хорошо интегрирован с Keras.


Как я могу использовать RNN с отслеживанием состояния?

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

Следовательно, при использовании RNN с сохранением состояния предполагается, что:

  • все партии имеют одинаковое количество образцов
  • Если x1 и x2 являются последовательными партиями выборок, то x2 [i] - это последовательность, следующая за x1 [i] , для каждых i .

Чтобы использовать отслеживание состояния в RNN, вам необходимо:

  • явно укажите размер пакета, который вы используете, передав аргумент batch_size на первый уровень в вашей модели. Например. batch_size = 32 для пакета из 32 выборок последовательностей из 10 временных шагов с 16 функциями на временной шаг.
  • устанавливает stateful = True в вашем слое (ах) RNN.
  • укажите shuffle = False при вызове fit () .

Для сброса накопленных состояний:

  • используйте модель .reset_states () для сброса состояний всех слоев в модели
  • использовать layer.reset_states () для сброса состояний определенного уровня RNN с сохранением состояния

Пример:

  из tenorflow import keras
из слоев импорта tensorflow.keras
импортировать numpy как np

x = np.random.random ((32, 21, 16)) # это наши входные данные формы (32, 21, 16)
# мы скармливаем его нашей модели последовательностями длиной 10

модель = keras.Sequential ()
model.add (Layers.LSTM (32, input_shape = (10, 16), batch_size = 32, stateful = True))
модель.добавить (слои.Dense (16, активация = 'softmax'))

model.compile (optimizer = 'rmsprop', loss ='ategorical_crossentropy ')

# мы обучаем сеть предсказанию 11-го временного шага с учетом первых 10:
model.train_on_batch (x [:,: 10,:], np.reshape (x [:, 10,:], (32, 16)))

# состояние сети изменилось. Мы можем скормить последующие последовательности:
model.train_on_batch (x [:, 10:20,:], np.reshape (x [:, 20,:], (32, 16)))

# сбросим состояния слоя LSTM:
model.reset_states ()

# другой способ сделать это в этом случае:
модель.слои [0] .reset_states ()
  

Обратите внимание, что методы прогнозируют , соответствуют , train_on_batch , pred_classes и т. Д. все обновят состояния уровней с отслеживанием состояния в модели. Это позволяет выполнять не только обучение с отслеживанием состояния, но и прогнозирование с учетом состояния.


Тест Бенедикта - Принцип, подготовка, процедура и интерпретация результатов

Тест Бенедикта используется для проверки на простые углеводы.Тест Бенедикта определяет восстанавливающие сахара (моносахариды и некоторые дисахариды), которые имеют свободные кетоновые или альдегидные функциональные группы. Раствор Бенедикта можно использовать для проверки наличия глюкозы в моче.

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

Количественный реагент Бенедикта содержит тиоцианат калия и используется для определения количества редуцирующего сахара. Этот раствор образует осадок тиоцианата меди белого цвета, который можно использовать для титрования. Титрование следует повторить с 1% раствором глюкозы вместо образца для калибровки.

Принцип теста Бенедикта

Когда раствор Бенедикта и простые углеводы нагреваются, раствор становится оранжево-красным / кирпично-красным.Эта реакция вызвана редуцирующими свойствами простых углеводов. Ионы меди (II) в растворе Бенедикта восстанавливаются до ионов меди (I), что вызывает изменение цвета.

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

Карбонат натрия обеспечивает щелочные условия, необходимые для окислительно-восстановительной реакции. Цитрат натрия образует комплексы с ионами меди (II), поэтому они не превращаются в ионы меди (I) во время хранения.

Сложные углеводы, такие как крахмалы, НЕ дают положительной реакции при тесте Бенедикта, если они не разрушаются при нагревании или пищеварении (попробуйте жевать крекеры, а затем выполните тест). Столовый сахар (дисахарид) является невосстанавливающим сахаром и также не реагирует с йодом или реагентом Бенедикта.Сахар необходимо разложить на составляющие глюкозу и фруктозу, тогда тест на глюкозу будет положительным, но тест на крахмал все равно будет отрицательным.

Состав и приготовление раствора Бенедикта

Раствор Бенедикта представляет собой темно-синий щелочной раствор, используемый для проверки наличия функциональной альдегидной группы - СНО.

Безводный карбонат натрия = 100 г
Цитрат натрия - 173 г
Пентагидрат сульфата меди (II) = 17,3 г

Один литр раствора Бенедикта можно приготовить из 100 г безводного карбоната натрия, 173 г цитрата натрия и 17.3 г пентагидрата сульфата меди (II).

Процедура теста Бенедикта

  1. Примерно 1 мл образца помещается в чистую пробирку.
  2. 2 мл (10 капель) реактива Бенедикта (CuSO4) помещают в пробирку.
  3. Затем раствор нагревают на кипящей водяной бане в течение 3-5 минут.
  4. Наблюдать за изменением цвета раствора в пробирках или образованием осадка.

Результат Интерпретации теста Бенедикта

Если цвет при кипячении изменится на зеленый, то будет 0.От 1 до 0,5 процента сахара в растворе.
Если он меняет цвет на желтый, значит, в нем содержится от 0,5 до 1 процента сахара.
Если цвет меняется на оранжевый, это означает, что в нем содержится от 1 до 1,5 процентов сахара.
Если цвет меняется на красный, значит, в нем 1,5–2,0 процента сахара.
А если цвет меняется на кирпично-красный, это означает, что в растворе присутствует более 2 процентов сахара.

Положительный тест Бенедикта: Образование красноватого осадка в течение трех минут. Уменьшение присутствия сахаров.Пример: Глюкоза
Отрицательный тест Бенедикта: Без изменения цвета (остается синим). Редукционные сахара отсутствуют. Пример: сахароза.

Ссылки

  1. Национальные институты здравоохранения, тестирование липидов, белков и углеводов - раствор Бенедикта.
  2. Государственный университет Фейетвилля - биологические молекулы: углеводы, липиды, белки.
  3. Колледж Харпера - тест Бенедикта.
  4. Национальная биохимическая корпорация - РЕШЕНИЕ БЕНЕДИКТА (MB4755).
  5. Научная олимпиада - Использование решения Бенедикта.
  6. Блестящий студент-биолог, 2015 г., пищевые тесты, тест Бенедикта на снижение уровня сахара.
  7. BBC Bitesize - Химия - Углеводы.
  8. Университет Манитобы - молекулы жизни: биохимия - углеводы.
  9. Университет Северного Кентукки - Реагент Бенедикта: тест на снижение содержания сахара.
  10. Открытые образовательные ресурсы КНУСТ, Тест Бенедикта - Качественный тест на углеводы.

Добавить комментарий

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