[identity profile] ins0mnis.livejournal.com posting in [community profile] engineering_ru
В далёком детстве, году эдак в 94м, мама принесла домой шоколадку. Событие само по себе нетривиальное, но моё внимание умудрилось соскочить с белого шоколада и сконцентрироваться на упаковке. Там, на той стороне что не видна на запечатанной упаковке, были странные значки: чёрное перекрестье и три разноцветных кружка. Что это? Кто на кондитерской фабрике способен прочесть эти значки?
Со временем пришло осознание - эти значки не имеют отношения к шоколаду. И вокруг полно разнообразных значков и азбук, которые не способен прочесть ни один человек. Их читают роботы.

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

В классическом штрихкоде информация закодирована в толщине линий:
Linear1.svg

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

35mm_film_audio_macro

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

Linear3

Но некоторым этого показалось мало. А где искать нестандартное решение тривиальной задачи как не в Японии?
Linear4

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

Linear5

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

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

PDF

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

Наиболее популярный на данный момент стандарт - японский QR (Quick response code). Используется в рекламе в качестве физической гиперссылки. Код распознаётся камерой смартфона и позволяет перейти на сайт для получения дополнительной информации.
Коды бывают разных размеров, для захвата кода камерой необходимы маркеры - чёрные квадратики в углах (и маленькие, разбросанные по матрице):
QR1

Такие можно увидеть в любом журнале, на билбордах и афишах. Камеры распознают любое контрастное изображение, что даёт дизайнером некоторое пространство для творчества:
QR2
Данные записываются в виде помехоустойчивых кодов. Это позволяет считывать повреждённые изображения, а также вносить повреждения умышленно. Зачем? Ну вот например рисуночек всунуть:

QR3

Другая популярная разновидность - код Aztec, разработанный в Америке. Он похож на QR, но маркер расположен в центре изображения:

Aztec

Его часто используют железнодорожные и авиакомпании для верификации купленных по интернету билетов:
424px-OnlineTicket_DeutscheBahn_200dpi
Формат Data Matrix немецкой компании Siemens стал стандартом на производстве для маркировки различных деталей. В нём нет сплошных закрашенных участков - маркерами служат линии:
DataMatrix1

Такой код удобно наносить на любой материал с помощью лазерной гравировки:

DataMatrix2

Для считывания таких кодов приходится решать проблему их выравнивания - изображение ведь поступает с камеры под весьма произвольным углом. А можно решать задачу от противного - зная эталонное изображение определить его положение относительно камеры. Компьютерные маркеры в виде чёрных квадратов или чёрточек можно заметить на разнообразных бланках тестирования. Они помогают правильно сориентировать лист и установить положение квадратиков с ответами:

Loc1

И почтовых конвертах (там ещё и цифры машина читает):

Loc4

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

Tip1

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

Tip2

Или на самой неприметной части упаковки - донышке:

Tip3

Помогают метки и при расфасовке, если упаковки отрезаются от общего куска по мере наполнения. Вот эти чёрные риски на пакетиках:

Loc2

И тюбиках:

Loc3

Такое решение можно применить не только для плоскости - можно определять положение объектов и в трёх измерениях. Вот, например, стенд для калибровки автомобильной подвески:

Loc5

К колёсам прикреплены контрастные мишени, их размер и форма в кадре позволяет компьютеру построить трёхмерные координаты (и что-то там подкрутить в тачке:). Такую систему можно использовать и для настройки промышленного робота - манипулятор размахивает такой "шахматной доской", а камера на потолке соотносит реальное положение устройства и подаваемое на моторы напряжение.
Нечто подобное можно видеть на корпусе и манипуляторах марсохода Curiosity:

Loc6

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

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

UPD: Забыл самое интересное - созвездие Евриона!

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

Date: 2013-04-21 04:53 pm (UTC)
From: [identity profile] rcoma.livejournal.com
в роботах привод с обратной связью и он точно знает удалось ему повернуть ось на заданный угол или нет. однако дополнительный уровень контроля не будет лишним. особенно если он оптический.

Date: 2013-04-21 05:22 pm (UTC)
From: [identity profile] mouth-friend.livejournal.com
очень познавательно, спасибо!
а вот упустили всем известную область:
http://en.wikipedia.org/wiki/DX_encoding

Date: 2013-04-21 05:41 pm (UTC)
From: [identity profile] 22sobaki.livejournal.com
Любопытно, спасибо!
картинка стенд для калибровки автомобильной подвески не отображается (

Date: 2013-04-21 05:43 pm (UTC)
From: [identity profile] severr.livejournal.com
///Всё началось после Второй мировой войны. К западным странам неумолимо подкрадывалось общество потребления - полки универмагов ломились от товаров всевозможных наименований.

после второй?
звиздец!
поколение кока-колы

Date: 2013-04-21 05:45 pm (UTC)
From: [identity profile] jakobz.livejournal.com
>Метки сведения, расположение которых известно, помогают машинам подправлять печать для идеального совмещения.

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

Date: 2013-04-21 06:10 pm (UTC)
From: [identity profile] mouth-friend.livejournal.com
на здоровье!

Date: 2013-04-21 06:35 pm (UTC)
From: [identity profile] smthng-strange.livejournal.com
Спасибо, интересно почитать. А вообще где-то был забавный формат хранения данных: на лист A4 печатаются закодированные данные, потом сканером распознаются. Вроде бы даже более-менее заметный объем можно так хранить :).

Date: 2013-04-21 06:54 pm (UTC)
From: [identity profile] naxellent.livejournal.com
вот вроде все понятно, но я не могу пошагово вообразить даже то, как сканер считывает штрих-код.

Date: 2013-04-21 07:11 pm (UTC)
From: [identity profile] sir-yozhik.livejournal.com
интересная статья. спасибо.

Date: 2013-04-21 07:30 pm (UTC)
From: [identity profile] reel-2-reel.livejournal.com
На марсоходе метки метки нужны для восстановления положения манипуляторов робота в трехмерном пространстве. Если что-то случится с аппаратом на Марсе и ученым придется восстанавливать ситуацию на Земле, чтобы понять, как ее разрулить - метки будут как раз кстати

Date: 2013-04-21 07:46 pm (UTC)
From: [identity profile] noddeat.livejournal.com
интересно!

Оказывается, немецкая почта использует формат DataMatrix для онлайновых марок для писем:
Image

в тоже время, DHL использует штрих-код для посылок, хотя компания это уже давно одна.

Date: 2013-04-21 08:02 pm (UTC)
From: [identity profile] naxellent.livejournal.com
А как он понимает что вот эта черная точка это начало штрих-кода, а не кусок надписи на этикетке? По каким параметрам луч понимает, что это начало штрих-кода, а не конец, середина или просто случайная полоска на упаковке?

Date: 2013-04-21 08:33 pm (UTC)
From: [identity profile] yozzi.livejournal.com
Про зубную пасту вот альтернативаня версия первого канала))
https://www.youtube.com/watch?v=Jd_TWnr_fCc

Date: 2013-04-21 08:50 pm (UTC)
From: [identity profile] cn-mangetsu.livejournal.com
http://habrahabr.ru/post/66004/

Date: 2013-04-21 08:52 pm (UTC)
From: [identity profile] cn-mangetsu.livejournal.com
Например, считывает всё, а потом ищет закономерности. Ну, т.е. в такой-то области есть контрастный паттерн с таким-то началом и концом.

Date: 2013-04-21 09:06 pm (UTC)
From: [identity profile] denywoo.livejournal.com
По поводу роверов. Не так давно на Хабре была пара статей, где один из водителей роверов отвечал на вопросы. Он рассказывал как контролируются команды. Проверки там конечно же многоуровневые, но если робот понимает, что определенная последовательность команд приведет к тому, что он выстрелит себе в колено, то он не будет выполнять программу и отправит сообщение об ошибке - люди его получат вероятно в следующий сол. Но вообще команды проверяются еще на Земле, как другими водителями (типа парного программирования), так и программно.

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

Date: 2013-04-21 09:08 pm (UTC)
From: [identity profile] denywoo.livejournal.com
Оптически там, кстати, контролируется движение, чтобы контролировать пробуксовку колес.

Date: 2013-04-21 09:14 pm (UTC)
From: [identity profile] alexx-lug.livejournal.com
кстати, когда-то читал, что сначала штрих-коды появились на вагонах, и оттуда уже перекочевали на товары.
но читал еще до интернета, поэтому ни источник, ни ссылку не приведу..

Date: 2013-04-21 11:00 pm (UTC)
From: [identity profile] hryamzik.livejournal.com
А где же картинка кругового штрих-кода? И про стенд нету:
http://ic.pics.livejournal.com/ins0mnis/46681215/15677/15677_900.jpg
415 Unsupported Media Type

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

Date: 2013-04-22 04:04 am (UTC)
ext_665686: (Default)
From: [identity profile] radjik.livejournal.com
Просто у нас они слабо распространены. А вот в той же Японии они сплошь и рядом. А программы расшифровки есть практически подо все платформы.

Date: 2013-04-22 05:27 am (UTC)
From: [identity profile] belonogovalexey.livejournal.com
Пилотон есть в начале и конце штрихкода. Определенное количество линий определенной ширины. Плюс контрольное число, которые выводится из считанных ранее символов. То, которое в штрихкоде стоит должно совпадать с тем, которое компьютер насчитает. Там всё просто на самом деле:)

Date: 2013-04-22 05:29 am (UTC)
From: [identity profile] belonogovalexey.livejournal.com
Как вариант, чтобы на отснятых фото можно было понять как друг относительно друга расположены части марсохода. Не лазая в логи.

Date: 2013-04-22 05:31 am (UTC)
From: [identity profile] belonogovalexey.livejournal.com
Да я тоже читал. Типа сначала рисовали на железнодорожных вагона. Штрихкоды были большие и для считывания использовался прожектор и фотоэлемент. По моему в журнале "Юный техник" статья была. Еще в перестроечные времени.

Date: 2013-04-22 06:21 am (UTC)
From: [identity profile] kontrobas.livejournal.com
Такие метки блокируют печать на цветных ксероксах. Кто нибудь пробовал?)

пробовал сделать скан с купюры в 5 евро: не получилось, сканер выдавал ошибку.
From: [identity profile] t-igor.livejournal.com
Сейчас визитка без дублирования информации vCard.vcf в QR-коде считается отсталой и показывает, что её владелец застрял в прошлом веке.
Почти на всех афишах/билбордах есть QR-коды.

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

Date: 2013-04-22 07:24 am (UTC)
From: [identity profile] dvapiva.livejournal.com
Маркер на curiosity сделан в виде самого марсохода — так мило.

Date: 2013-04-22 09:12 am (UTC)
From: [identity profile] kvladimirrr.livejournal.com
интересно

Date: 2013-04-23 05:41 am (UTC)
From: [identity profile] moi-salon.livejournal.com
Безумно интересно, тем более, что на некоторых работах пришлось столкнуться с разными видами кодировок.

Но я никак не могу привыкнуть к QR-коду. Мне всё кажется, что это - лишняя придумка.

Date: 2013-04-23 06:39 am (UTC)
From: [identity profile] vinny-the-poo.livejournal.com
Вас что-то смущает?

Date: 2013-04-28 04:26 am (UTC)
From: [identity profile] whiteelk.livejournal.com
Еще не так давно я видел такой штрихкод на крыше трамвая в каком-то городе :-)
Листовой металл, вертикальные полоски. Весь код - пластине не меньше полуметра длиной. Пластина закреплена вдоль трамвая на крыше.
Edited Date: 2013-04-28 04:26 am (UTC)

Date: 2013-04-28 04:54 am (UTC)
From: [identity profile] whiteelk.livejournal.com
Это бред первого канала про фотометку.
Фотометка, которую они разглядывали, - нужна для прицеливания при автоматической сварке хвостика тубы. И цветом она будет таким, чтобы он был контрастен с цветом поверхности. Обычно, это один из цветов, который использовался при печати изображения и надписей.
Edited Date: 2013-04-28 04:55 am (UTC)

Date: 2013-05-02 03:30 pm (UTC)
From: [identity profile] angryvov (from livejournal.com)
Спасибо ||||||||

Date: 2013-05-06 02:39 am (UTC)
From: [identity profile] nukemall.livejournal.com
Не совсем код, но...
При испытаниях ракеты "Фау-2" для определения угловых скоростей использовалась специальная раскраска:

Image

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

НЕ ДЛЯ НАШИХ ГЛАЗ

Date: 2013-05-07 02:04 pm (UTC)
From: [identity profile] valeri norsky (from livejournal.com)
Уважаемый автор! С интересом читаю Вашу страницу. Спасибо за нее.
«Паттерн из пяти окружностей небольшого диаметра, вплетённых в дизайн некоторых банкнот. Такие метки блокируют печать на цветных ксероксах», — пишете Вы. Сам не пробовал :-) , но в Грозном в январе 1995 г. видел фигову тучу фальшивых долларов, напечатанных на цветном копире. Хотя это были сотки «дорестайлинговые», потом, году в 96-м, кажется, их дизайн поменяли. Возможно, поэтому? :-)
А вот некоторые лицензионные версии американского PhotoShop'а реально не позволяли сканировать $$. Каретка проходила, но изображения не появлялось. Мне нужен был коллаж для статьи, так и не отсканировал. Но ведь нам нет преград ни в море, ни на суше. Цифровой фотоаппарат (Nikon) и штатив рулят! ;-)

Спасибо, kontrobas!

Date: 2013-05-07 02:34 pm (UTC)
From: [identity profile] valeri norsky (from livejournal.com)
Ага, оказывается, и с евриками та же фигня! :-)

Date: 2013-10-29 09:11 am (UTC)
From: [identity profile] ytrewq-qwerty.livejournal.com
Очень интересно, спасибо

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 22nd, 2026 06:49 pm
Powered by Dreamwidth Studios