Классификатор автомобилей: Какой автомобиль подойдёт для выполнения заказов — Яндекс.Про

Содержание

Работа водителем такси в Москве: вакансии в Ситимобил

Чтобы выполнять поездки с пассажирами, у вашего автомобиля должно быть разрешение (лицензия) для работы в такси. Без него вы сможете совершать заказы только в тарифе «Доставка». Проверьте, включен ли тариф в приложении в разделе Кабинет — Профиль — Режимы — Настроить фильтры.

Как получить лицензию

Есть три способа:

  • Обратитесь к нашему партнёру — в сервис «Всё про такси»
  • Это самый простой способ оформить разрешение на свой автомобиль. Специалисты сервиса помогут собрать необходимые документы, сделать оклейку авто по всем требованиям и возьмут на себя оформление лицензии.

    Если вы хотите работать с Ситимобилом напрямую, можно зарегистрироваться в качестве ИП. Специалисты «Всё про такси» проконсультируют вас и по этому вопросу.

    Вот какие документы вам необходимы: паспорт, СНИЛС, ИНН и СТС автомобиля.

    Кстати, часть затрат на получение лицензии может быть компенсирована Ситимобилом. Условия уточняйте у партнёра.

    Обращайтесь к специалистам «Всё про такси» — ежедневно с 9:00 до 21:00 по телефону +7 (495) 185-00-22 и адресам: 

  • ул. Бибиревская, 2, стр. 6 (м. Алтуфьево)

  • Хлебозаводский проезд, д. 7А , стр. 2 (м. Нагатинская)

  • пр-т Андропова, 18, корп. 7.
  • Обязательно запишитесь по телефону.
  • Зарегистрируйтесь как ИП
  • Вы можете самостоятельно оформить ИП, а затем — разрешение на свой автомобиль.

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

    Подробнее о том, как получить лицензию для работы в Москве и Московской области.
  • Обратитесь в таксопарк
  • Если вы не зарегистрированы как ИП, обратитесь к партнёру-таксопарку.

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

    Условия уточняйте в таксопарке.

    Классификация легковых автомобилей | Brooklands

    Aston Martin       Rapide, Vantage, DB, Lagona, Vanquish, Vulcan  
    Audi A1, A2, A3, A4, A5, TT A6, A7, RS6, RS7, Allroad, Q3, Q5 A8, A8 Long, R8, Q7, Q8    
    BMW 1, 2, 3, 4, M2, Z4, Z3 5, 6, X1, X2, X3, X4, M5F90 Z8, X5, X6, 7, 7 long, 8  X7  
    Bentley     Continental GT Arnage, Flying Spur, Bentayga Mulsanne
    Cadillac   CTS, ATS, BLS SRX, STS Escalade Escalade ESV
    Chevrolet Aveo, Lacetti, Spark Captiva, Evica, Rezzo, Niva, Cruze TrailBlazer, Corvette Tahoe, Suburban  
    Chrysler Neon Sebring, Stratus, PT Cruiser 300C, Grand Voyager, Pacifica    
    Citroen C2, C3, C4 C6, Picasso, Berlingo, C5, DS-5 C-crosser    
    Ferrari     488 California, 458 FF, F12, 812, GTC4
    Ford Fusion, Focus, Fiesta, Ka Mondeo, Kuga, Maverick, Escape, S-Max Galaxy, Explorer, Mustang   Raptor, F-150
    Genesis G70 G80 GV80, G90, G90L    
    Honda Jazz, Civic HR-V, Accord, Prelude CR-V, Legend, Element, Crosstour Ridgeline  
    HUMMER       h4 h3
    HYUNDAI Getz, I30, Atos, Solaris Sonata, IX35, Matrix Santa Fe, IX55, Terracan, Tucson, Genesis Equus, h2 Starex
    INFINITI Q30 Q50 QX70 QX60, QX80, QX56  
    JAGUAR   XF, F-type, F-pace XJ    
    JEEP   Liberty Compass, Grand Cherokee, Cherokee, Wrangler    
    KIA Ceed, Cerato, Rio, Picanto K5, Sportage, Venga, Soul Quoris, Sorento Mohave  
    Lamborghini     Gallardo, Huracan Aventador, Murcielago, Urus  
    LAND ROVER   Freelander, Evoque Discovery, Range Rover Sport Defender, Range Rover, Range Rover long  
    Lexus IS, CT NX, ES, GS LS, GX, RX LX  
    Maserati  
     
    Ghibli, Levante    
    MAZDA 2, 3, MX-5 5, 6, CX-5 MPV, CX-7 CX-9, BT-50  
    MERCEDES-BENZ A, B, C, SLC, CLA E, GLA, GLC, SL, CLS AMG GT, GLE, GLE coupe, R, S, S coupe AMG GT 4 door, Maybach, GLS G class, V class
    MINI Cabrio, Coupe, Hatch Countryman, Clubman      
    MITSUBISHI Colt, Lancer Pajero Pinin, Space Star, ASX L-200, Outlander, Pajero, Pajero Sport    
    NISSAN Almera, Note, Tiida, Micra Juke, Qashqai, 350Z, Navara, Teana Murano, X-Trail, GT-R Pathfinder, Patrol  
    OPEL Astra, Corsa Zafira, Insignia, Omega, Vectra, Meriva      
    PEUGEOT 107, 207, 308 407, 508, Partner      
    PORSCHE   Cayman, Boxster, Macan 911, Cayenne, Panamera    
    RENAULT Clio, Logan, Symbol Kangoo, Duster, Fluence, Scenic, Megane, Laguna Koleos    
    ROLLS-ROYCE       Ghost, Wraith Cullinan, Phantom
    SKODA Fabia, Rapid, Ibiza Octavia, Karoq, Kodiaq, Superb, Roomster, Yeti      
    SUBARU   Forester, Legacy, Outback, Impreza XV Tribeca    
    Toyota Auris, GT 86, Yaris Avensis, Prius, Versa, Camry, Corolla, Crown Venza, Highlander FJ Cruiser, LC200, Prado Tundra, Sequoya, Alphard
    Volvo C30, S40 S60, V40, V50, V70, XC40, XC60 XC70, XC90, S90, S80, V90    
    Volkswagen Polo, Scriocco, Beetle Touran, Sharan, Passat, Golf plus, Jetta, Tiguan Touareg Phaeton, Terramont Caravelle, Multivan, Transporter

    «Яндекс.Такси» ввели непонятный классификатор машин по классу — Приёмная на vc.ru

    {«id»:223159,»url»:»https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu»,»title»:»\u00ab\u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438\u00bb \u0432\u0432\u0435\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0448\u0438\u043d \u043f\u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0443″,»services»:{«facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu&title=\u00ab\u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438\u00bb \u0432\u0432\u0435\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0448\u0438\u043d \u043f\u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0443″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu&text=\u00ab\u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438\u00bb \u0432\u0432\u0435\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0448\u0438\u043d \u043f\u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0443″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu&text=\u00ab\u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438\u00bb \u0432\u0432\u0435\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0448\u0438\u043d \u043f\u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0443″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u00ab\u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438\u00bb \u0432\u0432\u0435\u043b\u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043c\u0430\u0448\u0438\u043d \u043f\u043e\u00a0\u043a\u043b\u0430\u0441\u0441\u0443&body=https:\/\/vc.ru\/claim\/223159-yandeks-taksi-vveli-neponyatnyy-klassifikator-mashin-po-klassu»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

    58 948 просмотров

    Классификатор полноприводных автомобилей : Off-road drive

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

    Габаритные размеры автомобиля. Длина указана без учета рамок крепления номерных знаков; ширина — без учета наружных зеркал заднего вида; высота — без учета штатных релингов (кронштейнов крепления груза) на крыше.

    Дорожный просвет (клиренс). Расстояние той или иной точки нижнего контура автомобиля от опорной поверхности (не считая деталей подвески).

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

    Углы: въезда/съезда/рампы.

    Артикуляция. Характеризует максимальное взаимное вертикальное перемещение переднего и заднего колеса до наступления вывешивания одного из них.

    Свободный ø колеса (max). Диаметр самого большого из штатных колес в свободном (вывешенном) состоянии.

    Значения, выделенные красным цветом. Красным цветом выделены данные, замеренные экспертами ORD.

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

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

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

    Динамический флажок. Рядом с ценой каждой модификации мо- жет быть установлен флажок красного или зеленого цвета. Зеленый флажок означает, что цена машины за отчетный период (один месяц) снизилась, красный флажок — увеличилась. Если флажок отсутствует, цена не изменилась. Указанные цены рекомендованы официальными представительствами.

    Классификатор ОКВЭД / 34 / Производство автомобилей, прицепов и полуприцепов

    34 Производство автомобилей, прицепов и полуприцепов
    34.1 Производство автомобилей
    34.10 Производство автомобилей
    34.10.1 Производство двигателей внутреннего сгорания для автомобилей
    34.10.2 Производство легковых автомобилей
    34.10.3 Производство автобусов и троллейбусов
    34.10.4 Производство грузовых автомобилей
    34.10.5 Производство автомобилей специального назначения
    34.2 Производство автомобильных кузовов; производство прицепов, полуприцепов и контейнеров, предназначенных для перевозки одним или несколькими видами транспорта
    34.20 Производство автомобильных кузовов; производство прицепов, полуприцепов и контейнеров, предназначенных для перевозки одним или несколькими видами транспорта
    34.3 Производство частей и принадлежностей автомобилей и их двигателей
    34.30 Производство частей и принадлежностей автомобилей и их двигателей

    Европейская классификация легковых автомобилей

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

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

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

    Таблица 1. Неофициальная европейская классификация легковых автомобилей

    Буквенное обозна-
    чение класса
    Европейское названиеОписаниеДлина, ммШирина, ммПример
    AMini carsОсобо малый классДо 3600До 1600Ford Ka, Citroen C1, Opel Adam, Toyota iQ, Suzuki Splash
    BSmall carsМалый класс3600–39001500–1700Nissan Micra, Volkswagen Polo, Skoda Fabia, Seat Ibiza
    CMedium carsМалый средний класс3900–43001600–1700Volkswagen Golf, Ford Focus, Audi A3
    DLarger carsСредний класс4300–46001690–1730Ford Mondeo, Toyota Avensis, Hyundai Sonata, Volkswagen Passat, Audi A4, BMW 3
    EExecutive carsВысший средний класс/бизнес-класс4600–49001730–1820Volvo S80, Audi A6, BMW 5, Mercedes-Benz E-класса, Lexus ES
    FLuxury carsЛюкс-класс/представительский классБолее 4900Более 1820Mercedes-Benz S-класса, BMW 7-й серии, Audi A8, Lexus LS
    SСпортивные автомобили, купе, кабриолеты
    MМинивэны (MPV), компактвэны, универсалы повешенной вместимостиFord Galaxy, Hyundai H-1, Fiat Doblo, Volkswagen Caravelle
    JУниверсалы повышенной проходимости (внедорожники, SUV)

    Таблица 2. Расширенная неофициальная европейская классификация легковых автомобилей

    Буквенное обозна-
    чение класса
    Европейское названиеОписаниеДлина, ммШирина, ммПример
    A+Mini carsОсобо малый классНе превышает 3700До 1600Peugeot 107, Ford Ka, Citroen C1, Opel Adam, Toyota iQ, Suzuki Splash, Hyundai Eon
    B+Small carsМалый класс3700–4300До 1700Audi A1, Nissan Micra, Volkswagen Polo, Skoda Fabia,Seat Ibiza, Hyundai Accent
    C+Medium carsМалый средний класс4200–45001700–1800BMW 1, Volkswagen Golf, Ford Focus, Audi A3, Renault Megane, Opel Astra, Peugeot 308
    D+Larger carsСредний класс4500–48001700–1800Mazda 6, Ford Mondeo, Toyota Avensis, Hyundai Sonata, Renault Latitude, Volkswagen Passat, Kia Optima, Audi A4, BMW 3
    E+Executive carsВысший средний класс/бизнес-класс4800–5000Более 1800Volvo S80, Audi A6, BMW 5, Mercedes-Benz E-класса, Lexus ES
    F+Luxury carsЛюкс-класс/представительский классБолее 5000Более 1800Mercedes-Benz S-класса, BMW 7-й серии, Audi A8, Lexus LS

    Примечание
    Классы S, M и J остались без изменений.

    Классификация автомобилей в прокате — FINNISH.RU

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

    Прокатные компании гарантируют только класс и комплектацию авто, а не конкретную марку и модель (исключения – дорогие автомобили классов Premium и Luxury). Однако здесь есть и свои плюсы. Если заказ оплачен заранее, а машины нужного класса не нашлось, считайте повезло: крупные известные компании Avis, Europcar, Sixt, Hertz за эту же цену выдадут автомобиль классом выше.

    Прокат автомобилей в Европе

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

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

    Четырехбуквенные обозначения:

    EBMR – Citroen C1, Ford Ka с механической коробкой передач и кондиционером
    CDAR – Citroen C4, Nissan Tiida, Ford Focus с автоматикой и с кондиционером
    EDMR Renault Logan с механикой и кондиционером. И так далее в том же духе.

    Первая буква четырехбуквенного обозначения означает класс автомобиля:

    • M – мини
    • E – эконом
    • C – компакт
    • I – средний класс
    • S – стандарт
    • F – полноразмерный
    • P – премиум
    • L – люкс
    • X – особый

    Вторая буква означает тип кузова:

    • B – 2-х дверный
    • C – 2-х или 4-х дверный
    • D – 4-х дверный
    • F – полноприводный
    • J – внедорожник
    • L – лимузин
    • P – пикап
    • W – универсал
    • V – минивен

    Третья буква – коробка передач: А – ручная, М – автоматическаяn

    Четвертая буква – наличие кондиционера: R – есть, N – нет.

    Обозначение класса

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

    • A – эконом, Citroen C1
    • B – компакт, Skoda Fabia
    • C – средний класс, VW Golf
    • D – стандарт, Skoda Octavia
    • E – Opel Insignia
    • F – люкс, Mercedes C-class
    • G – полноприводные, Skoda Yeti

    Как использовать CNN для успешной классификации изображений автомобилей

    Сверточные нейронные сети (CNN) — это современные архитектуры нейронных сетей, которые в основном используются для задач компьютерного зрения. CNN может применяться для решения ряда различных задач, таких как распознавание изображений, локализация объектов и обнаружение изменений. Недавно наш партнер Data Insights получил сложный запрос от крупной автомобильной компании: разработать приложение компьютерного зрения, которое могло бы идентифицировать модель автомобиля на заданном изображении.Учитывая, что разные модели автомобилей могут выглядеть очень похожими, и любой автомобиль может выглядеть очень по-разному в зависимости от своего окружения и угла, под которым они фотографируются, такая задача до недавнего времени была просто невыполнимой.



    Однако, начиная примерно с 2012 года, «Революция глубокого обучения» позволила справиться с такой проблемой. Вместо того, чтобы объяснять концепцию автомобиля, компьютеры могли бы вместо этого многократно изучать изображения и сами изучать такие концепции.За последние несколько лет дополнительные инновации в области искусственных нейронных сетей привели к созданию искусственного интеллекта, который может выполнять задачи классификации изображений с точностью человеческого уровня. Основываясь на таких разработках, мы смогли обучить Deep CNN классифицировать автомобили по их модели. Нейронная сеть была обучена на Стэнфордском наборе данных автомобилей, который содержит более 16 000 изображений автомобилей, включающих 196 различных моделей. Со временем мы увидели, что точность прогнозов стала улучшаться, поскольку нейронная сеть узнала концепцию автомобиля и научилась различать разные модели.

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

    Вместе с нашим партнером мы создаем сквозной конвейер машинного обучения, используя Apache Spark ™ и Koalas для предварительной обработки данных, Keras с Tensorflow для обучения модели, MLflow для отслеживания моделей и результатов и Azure ML для развертывания. службы REST. Эта настройка в Azure Databricks оптимизирована для быстрого и эффективного обучения сетей, а также помогает гораздо быстрее опробовать множество различных конфигураций CNN.Даже после нескольких практических попыток точность CNN достигла около 85%.

    Настройка искусственной нейронной сети для классификации изображений

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

    В этой демонстрации используется общедоступный набор данных Stanford Cars Dataset, который является одним из наиболее полных общедоступных наборов данных, хотя и немного устарел, поэтому вы не найдете моделей автомобилей после 2012 года (хотя после обучения трансферное обучение может легко позволить создать новый набор данных. для замены).Данные предоставляются через учетную запись хранения ADLS Gen2, которую вы можете подключить к своей рабочей области.

    На первом этапе предварительной обработки данных изображения сжимаются в файлы hdf5 (один для обучения и один для тестирования). Затем это может быть прочитано нейронной сетью. При желании этот шаг можно полностью пропустить, поскольку файлы hdf5 являются частью хранилища ADLS Gen2, предоставляемого как часть предоставленных здесь ноутбуков.

    Увеличение изображения с помощью коал

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

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

    Кодирование ResNet в Keras

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

    • Блок идентификации: Серия операций, которые сохраняют форму данных неизменной.
    • Блок свертки: Серия операций, которые уменьшают форму входных данных до меньшей формы.

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


    Существует множество различных методов реализации нейронной сети. Один из наиболее интуитивно понятных способов — через Керас. Keras предоставляет простую интерфейсную библиотеку для выполнения отдельных шагов, составляющих нейронную сеть. Keras можно настроить для работы с серверной частью Tensorflow или серверной частью Theano.Здесь мы будем использовать серверную часть Tensorflow. Сеть Keras разбита на несколько уровней, как показано ниже. Для нашей сети мы также определяем реализацию слоя нашим клиентом.

    Масштабный слой

    Для любой пользовательской операции, имеющей обучаемые веса, Keras позволяет вам реализовать свой собственный слой. При работе с огромными объемами данных изображений можно столкнуться с проблемами памяти. Изначально изображения RGB содержат целочисленные данные (0-255). При запуске градиентного спуска как части оптимизации во время обратного распространения можно обнаружить, что целочисленные градиенты не обеспечивают достаточной точности для правильной настройки весов сети.Следовательно, необходимо перейти на точность с плавающей запятой. Здесь могут возникнуть проблемы. Даже когда изображения уменьшаются до 224x224x3, когда мы используем десять тысяч обучающих изображений, мы получаем более 1 миллиарда записей с плавающей запятой. В отличие от преобразования всего набора данных в точность с плавающей запятой, лучше использовать «Масштабируемый слой», который масштабирует входные данные по одному изображению за раз и только тогда, когда это необходимо. Это следует применить после пакетной нормализации в модели. Параметры этого масштабного слоя также являются параметрами, которые можно изучить в процессе обучения.

    Чтобы использовать этот настраиваемый слой также во время скоринга, мы должны упаковать класс вместе с нашей моделью. С помощью MLflow мы можем добиться этого с помощью словаря Keras custom_objects, отображающего имена (строки) на пользовательские классы или функции, связанные с моделью Keras. MLflow сохраняет эти настраиваемые слои с помощью CloudPickle и автоматически восстанавливает их, когда модель загружается с помощью mlflow.keras.load_model () и mlflow.pyfunc.load_model ().

     
    mlflow.keras.log_model (модель, "модель", custom_objects = {"Масштаб": Масштаб})
     

    Отслеживание результатов с помощью MLflow и машинного обучения Azure

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

    Для автоматического отслеживания результатов существующую или новую рабочую область Azure ML можно связать с рабочей областью Azure Databricks. Кроме того, MLflow поддерживает автоматическое ведение журнала для моделей Keras (mlflow.keras.autolog ()), что делает работу практически без усилий.

    Хотя встроенные в MLflow утилиты сохранения модели удобны для упаковки моделей из различных популярных библиотек машинного обучения, таких как Keras, они не охватывают все варианты использования. Например, вы можете захотеть использовать модель из библиотеки ML, которая явно не поддерживается встроенными разновидностями MLflow. В качестве альтернативы вы можете захотеть упаковать собственный код вывода и данные для создания модели MLflow. К счастью, MLflow предоставляет два решения, которые можно использовать для выполнения этих задач: пользовательские модели Python и пользовательские варианты.

    В этом сценарии мы хотим убедиться, что можем использовать механизм вывода модели, который поддерживает обслуживание запросов от клиента REST API. Для этого мы используем настраиваемую модель, основанную на ранее созданной модели Keras, чтобы принимать объект JSON Dataframe, внутри которого находится изображение в кодировке Base64.

     
    импортировать mlflow.pyfunc
    
    класс AutoResNet150 (mlflow.pyfunc.PythonModel):
        
        def predic_from_picture (self, img_df):
        импортировать cv2 как cv
        импортировать numpy как np
        импорт base64
        
        # декодирование изображения в кодировке base64, используемого для передачи по http
        img = np.frombuffer (base64.b64decode (img_df [0] [0]), dtype = np.uint8)
        img_res = cv.resize (cv.imdecode (img, flags = 1), (224, 224), cv.IMREAD_UNCHANGED)
        rgb_img = np.expand_dims (img_res, 0)
        
        preds = self.keras_model.predict (rgb_img)
        prob = np.max (пред.)
        
        class_id = np.argmax (пред.)
        return {"label": self.class_names [class_id] [0] [0], "prob": "{: .4}". format (prob)}
        
        def load_context (self, context):
        импорт scipy.io
        импортировать numpy как np
        импорт h5py
        импортный керас
        импорт облачков
        из кераса.модели импортировать load_model
        
        self.results = []
        с open (context.artifacts ["cars_meta"], "rb") как файл:
            # загружаем файл классов автомобилей
            cars_meta = scipy.io.loadmat (файл)
            self.class_names = cars_meta ['имена_классов']
            self.class_names = np.transpose (self.class_names)
        
        с open (context.artifacts ["scale_layer"], "rb") как файл:
            self.scale_layer = cloudpickle.load (файл)
        
        с открытым (context.artifacts ["keras_model"], "rb") как файл:
            f = h5py.Файл (имя файла, 'r')
            self.keras_model = load_model (f, custom_objects = {"Масштаб": self.scale_layer})
        
        def прогнозировать (self, context, model_input):
        вернуть self.predict_from_picture (model_input)
     

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

    Развертывание модели классификации изображений в экземплярах контейнера Azure

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

    Веб-служба — это образ, в данном случае образ Docker. Он инкапсулирует логику скоринга и саму модель. В этом случае мы используем наше собственное представление модели MLflow, которое дает нам контроль над тем, как логика скоринга обрабатывает изображения от клиента REST и как формируется ответ.

     
    # Создание образа контейнера машинного обучения Azure для модели MLflow
    azure_image, azure_model = mlflow.azureml.build_image (
                        model_uri = "{} / py_model"
                                .format (resnet150_latest_run.info.artifact_uri),
                        image_name = "car-resnet150",
                        model_name = "car-resnet150",
                        рабочая область = WS,
                        синхронный = True)
    
    webservice_deployment_config = AciWebservice.deploy_configuration ()
    
    
    # определение спецификаций контейнера
    aci_config = AciWebservice.deploy_configuration (cpu_cores = 3.0, memory_gb = 12.0)
    
    webservice = Веб-сервис.deploy_from_image (
        image = azure_image,
        рабочая область = WS,
        name = "car-resnet150",
        развертывание_config = aci_config,
        overwrite = True)
    
    webservice.wait_for_deployment ()
     

    Container Instances — отличное решение для тестирования и понимания рабочего процесса. Для масштабируемых производственных развертываний рассмотрите возможность использования службы Azure Kubernetes. Для получения дополнительной информации посмотрите, как развернуть и где.

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

    Ресурсы для разработчиков

    Распознавание марки и модели автомобиля

    Классификаторы марок и моделей автомобилей, которые мы предлагаем, представляют собой просто бинарные модели нейронных сетей. Модели классификации поставляются в следующих форматах: Tensorflow protobuf, формат Tensorflow saved_model, ONNX, MNN, TFLite и OpenVINO.Детектор объектов не включен, и разработчики могут использовать любой детектор объектов по своему усмотрению, например YOLO или SSD, для поиска автомобилей в каждом кадре. Обнаруженные автомобили необходимо обрезать и изменить размер до 224×224 пикселей, что является размером входного изображения классификатора. Классификатор автомобилей основан на архитектуре нейронной сети MobileNetV3. Это очень быстро и работает в реальном времени на процессоре обычного ПК. Классификация одного изображения автомобиля на процессоре Intel Core i5 занимает 35 миллисекунд. Для более быстрого вывода рекомендуется использовать графический процессор NVIDIA.Ускорение при использовании GPU вместо CPU зависит от типа графической карты, типа CPU и размера пакета (количества одновременно обрабатываемых изображений). При использовании многоядерного процессора можно получить очень высокую скорость распознавания даже на центральном процессоре. Поскольку обнаружение объектов является наиболее ресурсоемкой задачей, можно запустить детектор на графическом процессоре и выполнить классификацию на центральном процессоре. Есть много способов интегрировать автомобильный классификатор в ваше программное обеспечение. Некоторые библиотеки времени выполнения, которые можно использовать, — это Tensorflow (как отдельная библиотека или сервер моделей), среда выполнения Microsoft ONNX, NVIDIA TensorRT, облегченная среда глубокого обучения Alibaba MNN, библиотека TFLite и набор инструментов Intel OpenVINO.Классификатор можно запустить с помощью C ++ или Python. Другой вариант — использовать TensorFlow Serving, высокопроизводительную систему обслуживания моделей машинного обучения, разработанную для производственных сред. Он предоставляет RESTful API (порт 8501) и интерфейс gRPC (порт 8500). Сервер модели может быть упакован в контейнер Docker и размещен в облаке или на локальных серверах.

    Выбор механизма вывода важен для получения оптимальных результатов. При работе на процессорах Intel наилучшая производительность достигается при использовании библиотеки времени выполнения OpenVINO.Для процессоров ARM больше подходит TFlite или MNN. Если вывод выполняется на графическом процессоре Nvidia, оптимизированная библиотека NVIDIA TensorRT дает лучшую производительность. Но помимо аппаратной платформы необходимо учитывать множество других факторов, таких как режим работы (оптимизированный для пропускной способности или задержки), размер пакета, архитектура программного обеспечения и конвейер обработки изображений. Квантование моделей — распространенный способ повысить производительность за счет небольшого снижения точности.Некоторые другие факторы, которые следует учитывать, — это запуск модели на пограничном устройстве или на сервере, необходимость масштабирования программного обеспечения в облаке и т. Д. Использование модельного сервера, такого как TensorFlow Serving, может быть лучшим вариантом для некоторых случаев использования.

    Классификация автомобилей

    с использованием Python и машинного обучения | by randerson112358

    Программа Python Simple Decision Tree

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

    Деревья решений — это тип алгоритмов контролируемого обучения (это означает, что им были предоставлены помеченные данные для обучения).Обучающие данные непрерывно разделяются на еще два подузла в соответствии с определенным параметром. Дерево можно объяснить двумя вещами: оставляет и узлов решения . В узлах принятия решений данные разделяются. Листья — это решения или конечный результат. Вы можете думать о дереве решений в терминах программирования как о дереве, которое имеет набор « операторов if » для каждого узла, пока вы не дойдете до конечного узла (конечный результат).

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

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

    Исходный набор данных — это набор данных оценки автомобиля из http://archive.ics.uci.edu/ml/datasets/Car+Evaluation.
    Точнее, изначально это файл .data, и вы можете загрузить его по адресу http://archive.ics.uci.edu/ml/machine-learning-databases/car/car.данные.
    Мы классифицируем столбец качества или значений автомобиля после переключения всех значений из исходного набора данных на целые числа, за исключением столбца значений зависимой переменной, который я уже сделал и для которого есть файл, новые данные набор. Новый набор данных с целыми значениями называется car_integer_exceptY.csv. Получите набор данных car_integer_exceptY.csv здесь:

    Каждый атрибут / функция, описанные ниже:
    #buying (цена покупки): vhigh (4), high (3), med (2), low (1)
    # main (цена обслуживания): vhigh (4), high (3), med (2), low (1)
    # дверей (количество дверей): 2, 3, 4, 5 и более (5)
    # человек (количество пассажиров, помещающихся в автомобиле): 2, 4, более (6)
    # lug_boot (размер багажного отделения): small (1), med ( 2), большой (3)
    # безопасность: низкий (1), средний (2), высокий (3)
    # значения: unacc = unaccepted, acc = accept, good = good, vgood = очень хорошо

    First установите пакеты или зависимости, которые упростят написание этой программы.

     # Импортировать зависимости / библиотеки 
    import numpy as np
    import pandas as pd
    from sklearn.tree import DecisionTreeClassifier

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

     # Создать фрейм данных из файла набора данных автомобилей / csv 
    df = pd.read_csv ('DataSets / Cars / car_integer_exceptY.csv')

    Распечатать первые 5 строк данных.

     # распечатать первые 5 строк набора данных 
    print (df.head ())

    Разделите данные на независимую (ые) переменную (ы) и зависимую переменную.

     # Разделите данные на независимые переменные и зависимые переменные X_train = df.loc [:, 'покупка': 'безопасность'] # Получает все строки в наборе данных из столбца «покупка» в столбец «безопасность» Y_train = df.loc [:, 'values'] # Получает все строки в наборе данных из столбца 'values' 

    Создайте модель дерева решений с 3 листьями!

     # Фактический классификатор дерева решений 
    tree = DecisionTreeClassifier (max_leaf_nodes = 3, random_state = 0)

    Обучите модель , используя метод подбора.

     # Обучите модель 
    tree.fit (X_train, Y_train)

    Сделайте свой прогноз при вводе: покупка = v-high, main = high, doors = 2, people = 2, lug_boot = med, safety = 3 которые переводятся в целочисленное значение input: 4,3,2,2,2,3

     # Сделайте свой прогноз 
    # input: buy = v-high, main = high, doors = 2, people = 2, lug_boot = med, Safety = 3
    # целочисленное преобразование ввода: 4,3,2,2,2,3
    prediction = tree.predict ([[4,3,2,2,2,3]])

    Распечатать прогноз и обратите внимание, что мы возвращаем результат [‘unacc’], означающий «непринято», и программа готова!

     # Распечатать прогноз 
    print ('Печать прогноза:')
    print (прогноз)

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

    Если вам также интересно узнать больше о машинном обучении, чтобы сразу приступить к работе с проблемами и примерами, я настоятельно рекомендую вам ознакомиться с практическим машинным обучением с помощью Scikit-Learn и TensorFlow: концепции, инструменты и методы для создания интеллектуальных систем. . Это отличная книга, которая поможет новичкам научиться писать программы машинного обучения и понять концепции машинного обучения.

    Практическое машинное обучение с помощью Scikit-Learn и TensorFlow: концепции, инструменты и методы для создания интеллектуальных систем

    Спасибо за чтение этой статьи. Надеюсь, она поможет вам всем! Если вам понравилась эта статья и вы нашли ее полезной, пожалуйста, оставьте несколько аплодисментов, чтобы выразить свою признательность.Продолжайте обучение, и если вам нравится машинное обучение, математика, информатика, программирование или анализ алгоритмов, посетите и подпишитесь на мои каналы YouTube (randerson112358 & compsci112358).

    [1] https://medium.com/machine-learning-guy/using-decision-tree-method-for-car-selection-problem-5272675451f9

    Классификация гоночных автомобилей по изображениям

    Разработка искусственного интеллекта с Ричардом Петти Motorsports

    Последние достижения в области глубокого обучения искусственного интеллекта (ИИ) сделали возможным масштабное распознавание изображений.Глубокое обучение классифицирует объекты на изображениях, используя несколько уровней искусственных нейронных сетей, каждый из которых отвечает за извлечение одной или нескольких характеристик изображения. В этом техническом документе вы узнаете, как WWT обучил и внедрил нейронную сеть для идентификации, классификации и сортировки изображений гоночных автомобилей NASCAR, чтобы дать пилоту NASCAR Буббе Уоллесу и Ричарду Петти Motorsports представление о поведении участников во время гонки.

    Абстрактные

    В этой статье мы исследуем использование ИИ для выполнения задачи сортировки изображений для варианта использования в NASCAR.В настоящее время команда Richard Petty Motorsports (RPM) получает более 10 000 изображений за гонку и должна отсортировать их в реальном времени, чтобы найти те, которые содержат автомобиль RPM. Эта задача отнимает много времени для члена группы RPM, тратя впустую ценные ресурсы, которые можно было бы использовать для решения более важных задач. С AI мы можем выполнить эту задачу быстро и с низким уровнем ошибок. В дополнение к изоляции только автомобиля RPM, большой пул автомобилей может быть обнаружен и отсортирован соответствующим образом. Начав с немаркированного набора данных из тысяч изображений нескольких рас, мы обучили и внедрили нейронную сеть для идентификации, классификации и сортировки изображений с высокой степенью точности.

    Деловое обоснование

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

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

    В этой статье мы сообщаем, как мы разработали решение, которое может классифицировать изображения автомобилей NASCAR, снятые во время гонки. Во время каждой гонки NASCAR снятые изображения автомобилей с высоким разрешением размещаются в общей папке Dropbox без ярлыков. Обычно человек из команды Richard Petty Motorsports (RPM) сортирует эти изображения автомобилей NASCAR во время гонки, чтобы найти те, которые содержат гоночный автомобиль RPM.Это очень трудоемкая задача.

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

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

    Экспериментальная установка

    Наш набор необработанных данных включал 150 000 изображений гонок и тренировок NASCAR за 14 недель. Изображения организованы по гонке и размещению камеры на ипподроме. Наборы для тренировок и тестирования были разделены в хронологическом порядке с первыми 11 гонками в тренировочной выборке.

    Все обучение проводилось на NVIDIA DGX-1 с использованием двух графических процессоров Tesla V100. В DGX-1 доступно восемь графических процессоров, но мы использовали только два из-за меньшего размера окончательного набора данных для обучения, который составлял менее 10 ГБ. Для обучения и тестирования мы использовали следующее программное обеспечение и пакеты Python:

    • Докер.
    • Python 3.
    • Блокнот Jupyter.
    • Панды.
    • OpenCV.
    • Matplotlib.
    • Тензорфлоу.
    • Керас.

    Каждый из этих программных пакетов имеет полностью открытый исходный код. На DGX-1 был загружен док-контейнер, содержащий Python 3 и перечисленные выше пакеты. Для написания и тестирования алгоритмов и моделей использовались среды Jupyter.

    Модели нейронных сетей были обучены со следующими спецификациями:

    • Размер партии: 32.
    • Эпохи: 4.

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

    Методология

    Методология была разделена на четыре этапа высокого уровня:

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

    Некоторые из проблем, с которыми мы столкнулись при внедрении, включали:

    • На изображении появляется несколько автомобилей.
    • Время, необходимое для маркировки изображений.
    • Выявление разных автомобилей с очень похожим дизайном (как показано на рисунке 1).

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

    Обнаружение автомобилей на изображении

    Первым шагом в этом процессе было обнаружение и выделение отдельных автомобилей на всех изображениях (на одном изображении может быть несколько автомобилей или вообще не быть машин).Для выполнения этой задачи мы использовали модель MobileNet-SSD, которая представляет собой комбинацию Single Shot Detectors (SSD) и архитектуры MobileNet. Модель MobileNet-SSD является быстрой, эффективной и не требует огромных вычислительных мощностей для выполнения задачи обнаружения объектов.

    Модель предварительно обучена на наборе данных COCO (общий объект в контексте). COCO была инициативой по сбору естественных изображений, изображений, отражающих повседневные сцены и предоставляющих контекстную информацию. В повседневной сцене на одном изображении можно найти несколько объектов, и каждый должен быть помечен как отдельный объект и правильно сегментирован.Набор данных COCO обеспечивает маркировку и сегментацию объектов на изображениях. В нем есть изображения для 91 категории, ~ 80K обучающих изображений и ~ 40K изображений для проверки, включая одно для автомобиля.

    Процесс обнаружения автомобилей показан на рисунке 2. Сеть MobileNet-SSD принимает необработанное изображение гонки в качестве входных данных и выдает местоположения объектов на изображении, а также классификационную оценку, указывающую на идентичность каждого объекта. Показанное значение от 0 до 100% представляет вероятность того, что обнаруженный объект является автомобилем.В качестве меры обеспечения качества мы выборочно обрезали только автомобили с достоверностью не менее 99%, чтобы построить наш обучающий набор для разработки моделей. Однако мы предлагаем снизить этот порог в производственных условиях без вредных последствий. При необходимости для обработки ошибок обнаружения можно использовать выделенную нейронную сеть.

    Рисунок 2: Процесс обнаружения автомобиля. Необработанное изображение было обработано MobileNetSSD для обнаружения ограничивающих рамок вокруг автомобилей. Каждая ограничивающая рамка была обрезана до отдельного изображения для классификации.

    Нанесение этикеток на изображения автомобилей с помощью итеративного процесса

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

    Было создано небольшое веб-приложение для массовой маркировки и проверки изображений. Это веб-приложение было основано на приложении Supervising-UI , разработанном USC Data Science Group. Приложение было размещено с использованием веб-фреймворка Flask на Python.К нему могут получить доступ одновременно несколько пользователей, что делает процесс намного более быстрым и эффективным.

    Шаг 1: Начните с пометки изображений по одному вручную с помощью веб-приложения, которое показывало обрезанное изображение автомобиля, как показано на рисунке 3.

    Рис. 3. Веб-приложение для ручной маркировки каждого изображения. Пользователь может ввести номер автомобиля в поле ввода и нажать «Отправить», чтобы получить следующее изображение.

    Шаг 2: После того, как были размечены 7000 изображений, модель была обучена предсказывать надписи для оставшихся изображений.Этот процесс обучения модели будет объяснен в следующем разделе. Затем прогнозы модели были проверены в отдельном веб-приложении. В этом приложении пользователю нужно было нажимать только на изображения, которые были неправильно классифицированы моделью. Эта проверка была более быстрым процессом, так как одновременно можно было проверить 40 изображений (рис. 4).

    Рисунок 4. Веб-приложение для массовой проверки изображений. Используя приложение, пользователь может проверять 40 изображений за раз, просто нажимая на изображения, которые имеют неправильную маркировку.

    Шаг 3: Некоторые изображения, которые модель неправильно проверила, были снова помечены вручную.

    Шаг 4: Шаги 2 и 3 повторялись до тех пор, пока все изображения не были помечены. Каждая новая модель была более точной, чем предыдущая, и процесс массовой проверки позволил бы классифицировать больше изображений. Таким образом, процесс маркировки сформировал цикл, показанный на рисунке 5. Эта комбинация маркировки методом грубой силы и разработки модели представляет собой основу, которую можно использовать для любой задачи маркировки для задачи контролируемого обучения.

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

    В общей сложности 64 923 изображения были помечены для 44 различных автомобилей. Поскольку некоторые автомобили участвуют в гонках нечасто, их представление в помеченном наборе изображений было скудным. Чтобы создать более сбалансированное распределение классов для обучения модели, автомобили с менее чем 1000 уникальными изображениями были сгруппированы в общую категорию под названием «Другое».Общее количество помеченных изображений для каждого уникального номера автомобиля показано на рисунке 6. Для обучения и тестирования использовались случайные выборки из 1000 изображений из каждого класса.

    Рисунок 6: График показывает распределение помеченного набора данных. По оси X отложены номера автомобилей, а по оси Y — количество изображений на автомобиль. Изображения, содержащие менее 1000 изображений, были объединены в категорию «Другое».

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

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

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

    Изображения гонок 1-11 использовались для обучения моделей, а изображения гонок 12-14 использовались для проверки.Мы разделили набор данных в хронологическом порядке, потому что это позволяет нам оценить устойчивость модели к изменениям в конструкции автомобилей в новых гонках.

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

    Что такое предварительно обученные модели?

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

    Рис. 7. Предварительно обученные модели, доступные в Keras, и их точность в наборе данных проверки ImageNet.Точность Top-N означает, что правильный класс попадает в число вероятностей Top-N, чтобы его можно было считать «правильным». Параметры представляют собой сумму весов смещений по слою.

    Источник: https://keras.io/applications/

    Что такое ImageNet?

    Набор данных ImageNet широко используется для построения различных архитектур нейронных сетей. Он был построен на очень большом наборе данных (1,2 млн изображений), что позволяет использовать его в качестве обобщенной модели.Целью исходной модели ImageNet было правильно классифицировать изображения по 1000 отдельных категорий объектов. Эти 1000 категорий изображений представляют классы объектов, с которыми мы сталкиваемся в повседневной жизни, такие как собаки, кошки, различные предметы домашнего обихода, типы транспортных средств и т. Д. Поскольку одна из категорий, охватываемых этим набором данных, — автомобили, использование ImageNet имело смысл для рассматриваемого варианта использования.

    Передача обучения

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

    Два основных преимущества использования предварительно обученных моделей:

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

    Мы использовали 4 модели, каждая из которых обучена на наборе данных ImageNet: VGG16, VGG19, InceptionV3 и InceptionResNetV2.Эта методология помогает нам использовать изучение существующих моделей, а затем перепрофилировать модель в соответствии с нашим конкретным вариантом использования. Мы решили повторно обучить последние 6 слоев для моделей VGG, поскольку в этих моделях всего менее 30 слоев. После нескольких итераций начальных моделей мы решили переобучить все слои, поскольку это очень глубокие сети, и переобучение всех уровней улучшило производительность. Идея исправления начальных слоев сверточных нейронных сетей заключается в том, что начальные слои изучили особенности общих изображений, такие как края и основные формы.Более глубокая часть сетей изучает конкретные конструкции и части объектов. Переобучение этих слоев сфокусирует модель на различении конкретных конструкций гоночных автомобилей, которые нам нужно классифицировать.

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

    Мы добавили следующие пользовательские слои к слоям объектов каждой предварительно обученной модели:

    • Сглаживание слоя — сглаживание входных данных модели.
    • Плотные слои — с функцией активации Relu
    • Слой отсева — с коэффициентом отсева 50% для предотвращения переобучения
    • Плотный слой — с функцией активации softmax и количеством классов автомобилей в наших данных, чтобы указать размерность выходного вектора

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

    Повышение точности с ансамблевой моделью

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

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

    Рис. 9: Расчет окончательной оценки с использованием набора различных моделей. Здесь A, B и C представляют конкретные автомобили, и каждая модель определяет оценку того, насколько вероятно изображение этого класса. Ансамбль может быть простым средним баллов (равный вес для каждой модели) или средневзвешенным баллом, и окончательный прогноз — автомобиль, имеющий максимум.

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

    Результаты

    Точность по моделям показана на рисунке 10. Общая точность ансамблевого прогноза составила 81% без учета согласия отдельных моделей. Точность повышается по мере увеличения количества моделей, согласующихся с ансамблем, как показано на рисунке 11.Например, когда совпадают только 3 модели, точность прогноза составляет менее 25%. Однако, когда все 8 согласны (что случается в 60% случаев), точность достигает 96%.

    Рисунок 10: Точность отдельных моделей в наборе данных проверки. Ансамбль из всех 8 моделей работает лучше, чем любая отдельная модель.

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

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

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

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

    Рисунок 13: Вывод модели обнаружения и классификации с этикеткой автомобиля. На этом изображении изображен Бубба Уоллес за рулем машины номер 43 с RPM. Модель создает ограничивающую рамку вокруг каждой машины и классифицирует их по одному из 29 классов.

    Выводы

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

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

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

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

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

    Список литературы
    1. Ховард и др. MobileNets: эффективные сверточные нейронные сети для приложений мобильного зрения, arXiv: 1704.04861, 2017. https://arxiv.org/abs/1704.04861
    2. Лю и др. SSD: детектор Single Shot MultiBox, arXiv: 1512.02325, 2016. https: // arxiv.org / abs / 1512.02325
    3. Симонян, Карен и Зиссерман, Андрей. Очень глубокие сверточные сети для распознавания крупномасштабных изображений, arXiv: 1409.1556, 2015. https://arxiv.org/abs/1409.1556
    4. Викас Гупта. Учебник Keras: Тонкая настройка с использованием предварительно обученных моделей. 2018. https://www.learnopencv.com/keras-tutorial-fine-tuning-using-pre-trained-models/
    5. Набор данных COCO. http://cocodataset.org/
    6. Приложения Keras.https://keras.io/applications/
    7. Фреймворк для веб-разработки Flask. http://flask.pocoo.org/
    8. MobileNet-SSD. Реализация Caffe сети обнаружения твердотельных накопителей MobileNet. https://github.com/chuanqi305/MobileNet-SSD
    9. Контроль пользовательского интерфейса. USC Information Retrieval and Data Science Group. https://github.com/USCDataScience/supervising-ui

    Классификация автомобилей с глубокими сверточными нейронными сетями на Databricks

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

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

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

    Опираясь на такие разработки, стало возможным обучить Deep CNN классифицировать автомобили по их модели. Нейронная сеть была обучена на Стэнфордском наборе данных автомобилей (https://ai.stanford.edu/~jkrause/cars/car_dataset.html), который содержит более 16000 изображений автомобилей, включая 196 различных моделей (примерно 80 изображений на модель автомобиля). ).Затем CNN было оставлено их просматривать. Со временем вы можете увидеть, что точность прогнозов начинает улучшаться, поскольку нейронная сеть изучает концепцию автомобиля и то, как различать разные модели. На рисунке ниже показано это. По горизонтальной оси каждая «эпоха» представляет собой одно полное прохождение обучающих данных. Фиолетовая линия показывает точность сети при классификации обучающих изображений (изображений, на которых она уже практиковалась). Зеленая линия показывает так называемую «точность проверки», то есть точность классификации изображений, которую он раньше не видел.Зеленая линия лучше показывает, насколько хорошо работала бы сеть, если бы она действительно была развернута.

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

    Мы видим здесь огромное улучшение, которое делает Databricks.CNN тренируются намного быстрее. Даже через несколько эпох точность достигает более 80%. Это начинает приближаться к производительности человеческого уровня (текущие попытки установить мировой рекорд большой команды, как правило, находятся в диапазоне 88-92%).

    Если вы хотите узнать больше о том, как настроить такую ​​нейронную сеть, все файлы, а также очень доступное пошаговое руководство можно найти здесь: https: // github .com / EvanEames / Тачки

    После того, как все настроено, нейронная сеть может использоваться для идентификации моделей автомобилей.Просто введите изображение URL-адреса, и он вернет модель («метку»), а также оценку достоверности («вероятность»). Вот пример:

    Распознавание марок и моделей — Признание Eyedea s. р. о.

    Программа

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

    Особенности

    • Распознает 2 вида: спереди, сзади
    • Распознает 9 категорий транспортных средств: Автобус, Автомобиль, Грузовик, Мотоцикл, Фургон и т. Д.
    • Распознает 179 марок автомобилей: Toyota, Volkswagen, Renault и др.
    • Распознает 1328 моделей автомобилей: Avensis, Passat, Mégane и др.
    • Точность классификации категорий выше 99%
    • Точность классификации марки и модели выше 98%
    • Работает даже с изображениями низкого разрешения из 20 пикселей на метр
    • Скорость выполнения менее 10 миллисекунд на машину

    Приложения

    • Наблюдение и расследование
    • Мониторинг угроз безопасности
    • Сбор данных о дорожном движении
    • Правоохранительные органы
    • Системы взимания платы

    Лицензия на камеру / сервер MMR

    Что в упаковке:

    • Лицензия
      • Ключ аппаратной защиты
      • Неограниченное количество выполнений распознавания транспортных средств
      • 12 месяцев обновлений
      • Распознавание категории, марки, модели и цвета автомобиля (в зависимости от уровня лицензии)
    • Программное обеспечение
      • Пакет SDK
      • Содержит библиотеки приложений C / C ++
      • Оболочка для Java включена
      • Бинарные файлы, совместимые с Windows и Linux

    Пакет разработчика MMR

    Что в упаковке:

    • Лицензия
      • Ключ аппаратной защиты
      • Лицензия на 12 месяцев
      • 100 000 выполнений распознавания транспортных средств
      • Распознавание категории, марки, модели и цвета автомобиля
    • Программное обеспечение
      • Пакет SDK
      • Содержит библиотеки приложений C / C ++
      • Оболочка для Java включена
      • Бинарные файлы, совместимые с Windows и Linux
    • Поддержка
      • 20 часов удаленной поддержки
      • Наши инженеры помогут вам на начальном этапе интеграции
      • Индивидуальные модификации оплачиваются отдельно

    Загрузки

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

    В этом разделе обсуждаются эксперименты, проводимые для демонстрации эффективности предлагаемого метода.На обочине дороги была установлена ​​стационарная ПЗС-камера. Восемнадцать видеоклипов были сняты в различных погодных условиях, например, в солнечную, облачную или дождливую погоду. Из-за различного внешнего освещения в различных погодных условиях полученные изображения показаны, как показано на Рисунке 10. Пятнадцать видеоклипов размером 320 на 240 были взяты из сцен в одной полосе движения, как показано на Рисунке 10a-j. С другой стороны, три клипа с изображением 720 на 480 также были взяты из органов чувств в многополосном режиме, как показано на Рисунке 10k-n.Области интереса транспортных средств были неполными, когда транспортное средство входило или выходило из кадра изображения. Две линии были установлены для получения полного обзора автомобилей сзади. Набор данных состоял из 18 клипов для оценки. Из клипов было сегментировано более 42000 автомобилей. Наземные истины (GT) о расположении задних фонарей, типах транспортных средств и цветовых классах были вручную помечены в наборе данных. В этом исследовании сначала были определены местоположения областей интереса на неподвижном изображении. Цветовые гистограммы блоков в ROI были затем классифицированы для классификации по цвету.Для указанного блока в допустимой области интереса вектор признаков на основе гистограммы длиной 4608 был извлечен из окна 20 на 20 в шести цветовых пространствах. Этот вектор с высокой размерностью был уменьшен до подпространства меньшей размерности с помощью PCA плюс NFLE. Цвет блока был классифицирован классификатором SVM. Цвет ROI определялся голосованием по результатам классификации. Было проведено два эксперимента для оценки эффективности определения области интереса и классификации цвета. Предлагаемый метод был реализован в машине на базе ПК с процессором модели i7-920 в 2.67 ГГц с использованием наборов инструментов Microsoft Visual C ++ 2008 и OpenCV 2.1.

    Рисунок 10

    Классификация автомобилей по цвету приводит к однополосным и многополосным. (a-j) Классификация приводит к одной полосе движения. (k-n) Классификация приводит к нескольким полосам движения.

    4.1 Расположение области интереса

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

    Во-первых, простые правила в уравнении. (2) использовались для маркировки красных пятен. Классификатор SVM был дополнительно обучен классифицировать спутанные пиксели: желтый и красный. Первоначально регионы GT были помечены вручную. Степень точности маркировки красным пятном рассчитывалась путем сравнения обнаруженных регионов с участками GT. Когда перекрывающаяся область была больше 1/10 соответствующей области GT, обнаруженное красное пятно успешно попало в задний фонарь.Как показано в Таблице 1, средний процент попаданий маркировки красным пятном был более 98% для 18 оценочных клипов. Используя простые правила со свободными пороговыми значениями, пятна задних фонарей были помечены с высокой степенью точности. В видеоклипе 14 была достигнута низкая скорость маркировки, поскольку изображения были сняты в постепенно тускнеющем свете сумерек. Из-за функции баланса белого фотоаппарата в кадрах изображения образовывалось много шума.

    Таблица 1 Правильные показатели пар задних фонарей для набора данных оценки (%)

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

    Третьим результатом была проверка окупаемости инвестиций с использованием функций HOG. HOG является эффективным дескриптором функции для представления объекта, поскольку он устойчив к освещению и геометрическим искажениям. Были проверены не только автомобильные и не автомобильные регионы, но также были классифицированы типы транспортных средств.Для проверки и классификации типа транспортного средства были определены четыре класса: седан, внедорожник, грузовик и неавтомобиль. Для обучения было собрано по триста изображений для каждого класса. Мультиклассовый классификатор SVM был обучен с использованием функций HOG для классификации типов транспортных средств. В ходе тестирования было классифицировано более 300 000 ROI, в том числе 32 221 седан, 6041 внедорожник, 4383 грузовика и 261 654 региона, не относящиеся к транспортным средствам, для определения типов транспортных средств. Коэффициенты точности и матрица неточностей приведены в таблице 2 для 18 видеоклипов.Правильные ставки для классов седан, внедорожник, грузовик и регион, не относящийся к транспортным средствам, составили 97,8%, 95,9%, 95,3% и 98,5% соответственно. Предлагаемый метод может эффективно идентифицировать действительные ROI транспортных средств в различных типах и многополосных движениях. Кроме того, предлагаемый метод устойчив к погодным условиям. Например, отраженные области задних фонарей, темно-красные области на рис. 10b-e, эффективно отфильтровываются предложенным методом в дождливые дни.

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

    Кроме того, на Рисунке 11 приведены некоторые результаты ошибочной классификации.В таблице 2 регионы седана и внедорожника были неправильно классифицированы из-за схожих форм, показанных на рис. 11a, b. Области грузовиков были ошибочно классифицированы как области, не относящиеся к транспортным средствам, потому что плоские пластины грузовика были аналогичны наземным областям, как показано на рисунке 11c. Точно так же регионы, не относящиеся к транспортным средствам, часто ошибочно классифицируются как класс грузовиков, как показано на Рисунке 11d. С другой стороны, области, не относящиеся к транспортным средствам, ложные срабатывания сигнализации, были неправильно классифицированы, поскольку области седана и внедорожника были созданы из-за загроможденного фона, как показано на рис. 11e, f.По результатам экспериментов, точность более 98,3% была достигнута с использованием функций HOG и классификаторов SVM. Таким образом, рентабельность инвестиций 42 645 транспортных средств сохранилась из 43 262 транспортных средств после этапа определения местоположения.

    Рисунок 11

    Примеры неверно классифицированных типов транспортных средств. а) седана были ошибочно отнесены к типу «внедорожник». (b) внедорожники были ошибочно классифицированы как «седан». (c) Грузовые автомобили были ошибочно отнесены к категории «неавтомобильные». (d) Регионы, не относящиеся к транспортным средствам, были ошибочно отнесены к типу «седан». (e) Регионы, не относящиеся к транспортным средствам, были ошибочно отнесены к типу «внедорожник». (f) Регионы, не относящиеся к транспортным средствам, были ошибочно классифицированы как «грузовые».

    4.2 Классификация цветов

    После того, как были обнаружены области интереса транспортных средств на виде сзади, были классифицированы семь наиболее часто используемых цветовых классов, включая красный, желтый, синий, зеленый, черный, белый и серый. Цветовые гистограммы блоков 20 на 20 были извлечены из области интереса. Поскольку размерность цветовой гистограммы была очень высокой, т.е.е., 4608, PCA был проведен, чтобы найти лучшее представление, позволяющее избежать проблемы малого размера выборки. Затем с помощью метода NFLE были найдены лучшие дискриминационные проекции. Цветовые гистограммы 4 608 были сокращены до векторов размеров D PCA и D NFLE с помощью PCA и NFLE, соответственно. Для обучения мультиклассовых классификаторов SVM было собрано две тысячи сто выборок семи классов, а во время обучения используются линейные функции и функции ядра RBF.Каждый блок был классифицирован, чтобы определить его цвет. Все результаты классификации блоков в ROI были подсчитаны, а цвет ROI определялся стратегией голосования. Для оценки предложенного метода было выделено более 42000 автомобилей из 18 видеороликов по цветовым признакам. На рисунке 10 показаны результаты классификации тестовых видеоклипов в однополосном и многополосном случаях соответственно. Красные участки и области интереса были нарисованы зелеными и синими прямоугольниками. Они также показывают, что предложенный метод эффективно работал на городских дорогах в различных погодных условиях.Кроме того, коэффициенты классификации для различных уменьшенных размеров показаны на рисунке 12. Три кривые представляют результаты классификации, в которых D PCA — это уменьшенные размеры 300, 200 и 100 по PCA, а D NFLE — это уменьшенный размер с 10 до 100 по NFLE. Судя по результатам на Рисунке 12, результаты классификации для этих трех кривых были очень похожи. После DR классификаторы SVM с линейной функцией ядра и функцией ядра RBF были обучены классификации цветов.Лучшие показатели классификации составляют 87,93% и 88,67% для линейного классификатора SVM и классификатора SVM ядра RBF соответственно. SVM-классификатор ядра RBF с 1594 опорными векторами получает наилучшую степень классификации: D PCA — 200, а D NFLE — 20. Два параметра ( c и γ ): 2,0 и 0,0078125, которые получено из набора инструментов LIBSVM [25]. Остальные параметры были инициализированы как значения по умолчанию для обучения классификатора.Наилучшие показатели точности для каждого видеоклипа приведены в таблице 3, а средний уровень классификации для 18 клипов составил 88,67% по классификатору SVM с функцией ядра RBF.

    Рисунок 12

    Показатели точности сокращения функций на основе NFLE и обученного классификатора SVM. (a) Линейный ядерный SVM-классификатор. (b) Классификатор SVM ядра RBF.

    Таблица 3 Коэффициенты классификации с использованием классификатора SVM

    Чтобы продемонстрировать эффективность слияния цветового пространства и схемы DR, для сравнения были выполнены два эксперимента.Сначала исходные гистограммы цветовых пространств RGB, LAB, HSV и объединенного пространства подавались в классификатор SVM для обучения и тестирования. Согласно результатам в таблице 4, объединенное пространство превзошло другие цветовые пространства. Во втором эксперименте исходные гистограммы были сокращены до новых векторов размерностей 200 и 20 с помощью PCA и NFLE перед обучением SVM. Приведенные векторы были классифицированы обученным классификатором. Повышена точность для всех цветовых пространств. Это подразумевает, что отличительные признаки были извлечены из дискриминантного анализа признаков.

    Таблица 4 Сравнение показателей точности для различных цветовых пространств

    Точно так же матрица неточности классификации цветов представлена ​​в таблице 5 для тестовых видеоклипов. Правильные значения для цветовых классов, красного, желтого, синего, зеленого, черного, белого и серого, составляют 91,34%, 93,73%, 90,34%, 91,62%, 90,17%, 85,22% и 87,8% соответственно. Освещение, влияющее на классификационные характеристики, приведено в таблице 5, особенно для классов «черный», «белый» и «серый».Наихудшие результаты были получены в классе «белый» в таблице 5. Образцы из класса «белый» были ошибочно классифицированы как классы «серый» и «черный» с наступлением темноты. Точно так же образцы в классе «черный» были неправильно классифицированы как классы «серый» и «белый» из-за солнечного света. На рисунке 13 показано несколько случаев неправильной классификации. Транспортное средство на рисунке 13a было ошибочно классифицировано как «черное» из-за темно-красных пикселей. Неправильная классификация рисунка 13b, c произошла из-за цвета бампера. Результаты ошибочной классификации, представленные на Рисунке 13g, h.Они возникли в результате воздействия освещения. Большинство ошибок в классификации произошло в классах «белый» и «серый». К тому же производительность этой системы составляла 18 кадров в секунду.

    Таблица 5 Матрица неточности классификации цветов Рисунок 13

    Примеры неклассифицированных цветов. (а) красных машины были отнесены к черным. (b) Желтые такси были классифицированы как белые. (c) Синие машины классифицировались как серые. (d) Зеленые автомобили были классифицированы как белые. (e) Черные автомобили классифицировались как белые. (е) Черные автомобили классифицировались как серые. (g) Белые автомобили классифицировались как серые. (h) Серые автомобили классифицировались как белые.

    Чтобы показать эффективность предложенного метода, для сравнения реализовано несколько современных алгоритмов [3–5, 22, 23].При классификации цветов широко используются функции на основе цветовой гистограммы. Биновое квантование — это простейший навык для DR во многих статьях. Kim et al. [3, 4] квантуют цветовые ячейки в пространстве HSI . Цветовые гистограммы длиной 360 и 128 затем классифицируются классификатором SVM и классификатором 1-NN. Dule et al. [22] перечисляют десять возможных гистограмм для классификации. Эти десять гистограмм оцениваются и случайным образом объединяются, чтобы найти лучшую комбинацию, то есть HS-SV-ab-La-Lb -gray.Комбинированная гистограмма длиной 328 классифицируется классификатором нейронной сети. Ян и др. В [5] разработан двухуровневый классификатор: цветовая гистограмма HS для классификации цветов на первом уровне и нормализованные характеристики RGB для блочной классификации серо-белого цвета на втором уровне. Двухступенчатый классификатор для классификации цветов предложен в [11, 23]. Цвет (т.е. красный, желтый, синий и зеленый) и монохромный (т.е. черный, серый и белый) классы сначала классифицируются на первом этапе.На втором этапе различные функции классифицируются двумя классификаторами на основе SVM для классов цвета и монохромности соответственно. Wu et al. [23] используют цветовые признаки на каналах HS на этапе 1. Признаки на каналах HV и SV соответственно классифицируются для четырех цветных и трех монохромных классов на втором этапе. С другой стороны, Hsieh et al. [11] построить гауссову смешанную модель (GMM) для классификации цвета / монохромности на первом этапе. Четыре цветовых класса и три монохромных класса идентифицируются двумя обученными классификаторами SVM.Функции в цветовом пространстве Lab plus функции в нормализованном пространстве RGB классифицируются по четырем цветовым классам, а функции в нормализованном пространстве RGB классифицируются по трем монохромным классам. Конфигурации сравниваемых алгоритмов приведены в таблице 6. Квантованные номера бинов указаны в скобках. Для обучения классификатора было собрано две тысячи сто образцов семи классов, по 300 образцов на класс, и 42 645 рентабельности инвестиций транспортных средств из 18 видеоклипов были собраны для оценки производительности в этом сравнении.Наборы для обучения и тестирования представляют собой два отдельных набора данных, которые были собраны независимо друг от друга и . Обучающие выборки также собираются из видеоклипов, снятых в разных местах и ​​в разное время тестирования. Чтобы продемонстрировать эффективность, один и тот же процесс оценки был запущен пять раз, где случайным образом были выбраны 2100 × 5 патчей для обучения и 42 645 ROI были оценены пятью обученными классификаторами. Средние показатели точности и стандартные значения приведены в таблице 6.По сопоставленным результатам предлагаемый метод превосходит другие методы.

    Таблица 6 Показатели точности предложенного метода и современных алгоритмов (%)

    С другой стороны, для сравнения было реализовано несколько методов собственного подпространства для DR. После DR три классификатора обучаются для оценки, например, классификатор k -NN, SRC и классификатор SVM с функцией ядра RBF. Результаты распознавания трех классификаторов сравниваются, как показано на рисунке 14.В этом эксперименте параметры для каждого классификатора устанавливаются следующим образом: Значение k установлено как 1 в классификаторе k -NN, а ядро ​​RBF применяется в классификаторе SVM. Уменьшенные размеры функций установлены от 10 до 100 для методов DR PCA, PCA + LDA, PCA + LPP и PCA + NFLE. Уменьшенная размерность PCA установлена ​​равной 200 для сохранения более 99% информации обучающих выборок. Поскольку уменьшенные размеры LDA зависят от номера класса, результаты распознавания метода LDA показывают только результаты размерности 5 в экспериментах.Наилучшие показатели распознавания и среднее время обработки для трех классификаторов и четырех методов динамического восстановления приведены в таблице 7. Числа в скобках представляют собой уменьшенные размеры лучших показателей распознавания. Лучшие показатели распознавания классификатора 1-NN для методов DR PCA, PCA + LDA, PCA + LPP и PCA + NFLE составляют 75,36%, 80,23%, 85,07% и 85,84% соответственно. Точно так же лучшие показатели распознавания для классификаторов SVM и SRC приведены в таблице 7. Из этого рисунка видно, что разнообразные DRs на основе обучения (LPP или NFLE) превосходят по своим характеристикам глобальные методы, основанные на обучении (PCA и LDA).Хотя скорость распознавания SRC немного выше, чем у классификатора SVM, время классификации SRC дороже, чем классификатор SVM. На практике классификатор SVM используется вместо SRC при проектировании системы наблюдения в реальном времени.

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

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