В этой публикации мы расскажем о том, как мы решали реальную, стратегически важную задачу компьютерного зрения и машинного обучения, разрабатывали подсистему бортового программного обеспечения для пилотируемых и беспилотных спасательных летательных аппаратов, предназначенную для детектирования и распознавания на изображениях малоразмерных трудноразличимых объектов.
Помимо распознавания текстов, мы в Smart Engines постоянно решаем разные задачи из области компьютерного зрения. Поэтому, когда нам предложили участие в разработке подсистемы распознавания изображений, полученных со спасательных летательных аппаратов, мы, естественно, согласились. На первом этапе проекта в качестве целевого объекта выступал спасательный надувной плот ПСН-10.
Вначале задача кажется достаточно простой: необходимо найти яркий оранжевый плот на водной поверхности. В соответствии с техническим заданием, допустимый ракурс съемки спасательного плота ограничен. Исследуемое изображение формируется камерой видимого диапазона; зоны обзора составляют ±20° в горизонтальной плоскости и ±15° в вертикальной плоскости относительно строительной оси летательного аппарата. Но быстро вскрылись подводные камни решаемой задачи. Рассмотрим три главные трудности, с которыми мы столкнулись.
Проблема первая – черно-белая камера
Во-первых, камера, которая формирует изображения видимого диапазона, является (внимание!) черно-белой. Несмотря на то, что в бытовых сферах жизни уже давно используются цветные камеры, для специального оборудования лучше выбирать черно-белые. Черно-белая камера обладает рядом преимуществ перед цветной. Давайте разберемся в основах устройства цифровых цветных камер.
Светочувствительные элементы матриц цифровых камер реагируют только на силу попадающего на них света. Чем больше фотонов попало на светочувствительный элемент матрицы, тем, соответственно, выше яркость. Но как в таком случае цифровая камера распознает оттенки цвета?
Для того чтобы сенсор цифровой камеры научился различать цвета, над его поверхностью устанавливают блок микроскопических светофильтров. Любой цвет в спектре можно получить путем смешения трех основных цветов: красного, зеленого и синего. Хотя распределение светофильтров по поверхности сенсора может быть разным, в большинстве цифровых камер на сегодняшний день применяется байеровская мозаика (Bayer pattern).
В соответствии с этой цветовой моделью цветовые фильтры над поверхностью матрицы располагаются в шахматном порядке. Количество зеленых фильтров в два раза больше, чем красных или синих (человеческий глаз более чувствителен к зеленой части светового спектра). Таким образом, каждый светочувствительный элемент матрицы воспринимает только треть спектра предметной точки. Для получения остальных 2/3 цветов предметной точки участвуют расположенные рядом светочувствительные элементы.
Не будем в данном случае обсуждать корректность получаемого цветного изображения с точки зрения точности цветопередачи. Обратим внимание здесь на другой аспект. Описанная конструкция цветных цифровых камер за счет наличия светофильтра обладает намного худшей светочувствительность, чем традиционная черно-белая. Как следствие, за счет конструктивных особенностей черно-белая камера позволяет «видеть» лучше и больше даже при плохой видимости.
Помимо низкой светочувствительности, цветные камеры обладают еще одним существенным недостатком в поисково-спасательных задачах. Дело в том, что такие камеры фильтруют Инфракрасное излучение (для соответствия человеческому цветовосприятию). ИК излучение сильно влияет на отображение правильной цветовой гаммы. Если не применять дополнительного ИК фильтра, некоторые цвета отображаются иначе, чем они есть на самом деле. Установка ИК фильтра решает эту задачу, но значительно ухудшает ночную съемку или съемку в условиях плохой освещенности. Кроме того, ИК фильтр делает совершенно невозможным использование ИК маячков и ИК прожекторов на спасательном оборудовании.
Таким образом, искать оранжевый плот нам пришлось на однотонных изображениях.
Проблема вторая – ограничения на вычислительную сложность
Еще раз вспомним, что разрабатываемый алгоритм поиска плота ПСН-10 на изображениях предназначается для использования на летательных аппаратах. Как следствие, требование по энергоэффективности естественным образом накладывают ограничения на применяемые алгоритмы сложность вычислений и объем используемой оперативной памяти. На одном и том же запасе топлива (заряде АКБ) ЛА может либо долго летать, либо сложные алгоритмы обсчитывать. Мы исследовали несколько используемых в настоящее время способов поиска объектов. Как выяснилось, конкурентов у метода Виолы и Джонса с точки зрения вычислительной сложности нет. Ниже представлено сравнение современных нейросетевых архитектур с методом поиска объекта Виолы и Джонса (взято из работы [1]).
Detector |
Inference, GFLOPS |
Memory Consuption, GB |
Viola-Jones [2] |
0.6 |
0.1 |
SSD [3] |
45.8 |
0.7 |
Faster R-CNN [4] |
223.9 |
2.1 |
R-FCN 50 [5] |
132.1 |
2.4 |
R-FCN 101 [5] |
186.6 |
3.1 |
PVANET [6] |
40.1 |
2.6 |
Local RCNN [7] |
1206.8 |
2.6 |
Yolo 9000 [8] |
34.90 |
2.1 |
Из таблицы видно, что метод Виолы и Джонса в процессе распознавания практически в 60 раз вычислительно эффективнее, чем универсальная нейросетевая архитектура Yolo 9000.
Таким образом, метод Виолы и Джонса был выбран в качестве используемого инструмента. Его, правда, пришлось немного адаптировать, чтобы обеспечить должное качество (перейти от яркостных признаков Хаара к граничным признакам).
Проблема третья – фактическое отсутствие датасетов
Как известно, метод Виолы и Джонса использует в качестве обучающей машины алгоритм AdaBoost – алгоритм машинного обучения, предложенный Йоавом Фройндом и Робертом Шапире. Идея алгоритмов машинного обучения заключается в построении распознающей зависимости между «объектами» и «ответами», используя для этого конечную совокупность прецедентов – пар «объект – ответ». Такую совокупность прецедентов называют обучающей выборкой. Причем для гарантии высокого качества распознавания методами машинного обучения необходимо, чтобы обучающая выборка была репрезентативна относительно генеральной совокупности.
В 2001 году, когда Пол Виола и Майкл Джонс разрабатывали оригинальный алгоритм для поиска лиц на изображениях, проблем с обучающим датасетом не было.
В нашей задаче ситуация другая. Изображений с летательных аппаратов, снимающих спасательные плоты заданного типа, нет.
Мы приняли решение синтезировать данные. Известно, что при правильном выборе признакового пространства метод Виолы и Джонса позволяет обучать детекторы на полностью синтезированных данных.
Измерив все характеристики настоящего спасательного плота ПСН-10, исследовав сотни изображений такого плота в Интернете, мы приступили к синтезу датасета. В качестве инструмента для 3D моделирования мы выбрали Blender. На этапе построение общей сцены были решены следующие подзадачи:
моделирование, текстурирование и анимация плота типа ПСН-10;
моделирование и анимация водной поверхности;
настройка поведения плота на водной поверхности;
построение траектории движения камеры;
освещение; моделирование погодных условий.
Внутренние инструменты Blender позволили легко смоделировать геометрию водной поверхности. Обширный список параметров предоставляет возможность настроить глубину воды, величину и направление волн, силу ветра и т. д. Осадки на сцене реализованы в виде системе частиц. Для дождя и снега отдельно смоделированы капля и снежинка.
Всего мы было подготовлено 7000 изображений. Этого оказалось вполне достаточно для обучения и тестирования детектора спасательного плота ПСН-10.
Результаты
При обучении детектора Виолы и Джонса мы использовали граничные признаки Хаара, которые, в отличие от традиционных признаков Хаара, вычисляются поверх карты границ, а не поверх исходного изображения в градациях серого. Использование граничных признаков Хаара позволяют акцентировать внимание на форме искомого объекта, а не на его яркостных характеристиках.
Обученный детектор (каскад классификаторов) состоял из 11 уровней и опирался в общей сложности всего на 55 признаков. Оценка качества работы обученного детектора производилась на 2403 синтезированных изображениях. Результаты представлены в следующей таблице.
True Positive |
False Positive |
False Negative |
Precision |
Recall |
F-measure |
2374 |
69 |
29 |
0.972 |
0.988 |
0.980 |
Здесь важно сразу отметить, что для нашей задачи ошибка второго рода (False Negative) куда важнее, чем ошибка первого рода (False Positive) – ложный пропуск реального плота намного страшнее, чем случайная «галлюцинация» детектора.
Помимо анализа работы на синтетике, нам удалось найти на YouTube небольшой ролик с реальными кадрами – видео со спасательной операции экипажа БМРТ «Дальний Восток».
Вместо заключения
В этой статье мы рассказали о двух междисциплинарных приемах – синтез данных для машинного обучения и адаптации традиционного метода поиска лиц Виолы и Джонса для распознаваний других объектов. В своей системе распознавания документов эти приемы мы используем каждый день: технологии синтеза используются для генерации обучающих датасетов с различных документов «персональными данными», а метод Виолы и Джонса, в различных модификациях, используется в технологии локализации документов и других структурных элементов.
Такой системный междисциплинарный подход позволяет нам улучшать текущие и создавать новые продукты и решения. Кстати, о новом. Последние версии наших Smart ID Engine, Smart Document Engine и Smart Code Engine позволяют, помимо распознавания текстовых реквизитов, решать следующие задачи:
распознавание паспорта РФ на мобильном телефоне сфотографированного «книжечкой» под разными углами, в разном освещении, в видеопотоке и на фотографиях;
распознавание бизнес-документов (счета, уставы, другие слабо структурированные документы) за считанные секунды, прямо на мобильном телефоне;
выделение признаков подлинности на изображениях документов как в оптическом, так и ИК и УФ диапазонах;
определение «живости» документов (определение ксерокопий, детекция пересъемки документа с экрана);
небиометрическая сверка селфи и фотографии из документа непосредственно на мобильном устройстве;
надежное распознавание баркодов, в том числе DataMatrix, которые используются при маркировке товаров.
Эта статья написана по материалам научной публикации:
Usilin S. A. et al. Training Viola-Jones detectors for 3D objects based on fully synthetic data for use in rescue missions with UAV // Вестник Южно-Уральского государственного университета. Серия: Математическое моделирование и программирование. – 2020. – Т. 13. – №. 4. doi: 10.14529/mmp200408.
Список используемой литературы
Granger, Eric, Madhu Kiran, and Louis-Antoine Blais-Morin. A comparison of CNN-based face and head detectors for real-time video surveillance applications // 2017 Seventh International Conference on Image Processing Theory, Tools and Applications (IPTA). – IEEE, 2017.
Viola P. et al. Robust real-time object detection // International journal of computer vision. – 2001. – Vol. 4. – No. 34-47. – P. 4.
Liu W. et al. Ssd: Single shot multibox detector // European conference on computer vision. – Springer, Cham, 2016. – P. 21-37.
Ren S. et al. Faster r-cnn: Towards real-time object detection with region proposal networks // Advances in neural information processing systems. – 2015. – P. 91-99.
Dai J. et al. R-fcn: Object detection via region-based fully convolutional networks // Advances in neural information processing systems. – 2016. – P. 379-387.
Kim K. H. et al. Pvanet: Deep but lightweight neural networks for real-time object detection // arXiv preprint arXiv:1608.08021. – 2016.
Vu T. H., Osokin A., Laptev I. Context-aware CNNs for person head detection // Proceedings of the IEEE International Conference on Computer Vision. – 2015. – P. 2893-2901.
Redmon J., Farhadi A. YOLO9000: Better, Faster, Stronger. CoRR, abs/1612.08242. URL: http://arxiv. org/abs/1612.08242. – 2016.
Комментарии (36)
Javian
06.12.2021 13:16офф Честно говоря не так часто в море на поверхности что-то плавает, чтобы в ходе спасательной операции игнорировать некий предмет на поверхности. По-моему надо лететь и фотографировать всё, что замечено на поверхности.
SmartEngines Автор
06.12.2021 13:49+2Поверхность морей и океанов, с учетом волн, барашек, растительности, льдин и т. д. - достаточно сложная "подложка" для того, чтобы надежно детектировать "некий предмет".
Javian
06.12.2021 14:11+1На расстоянии прямой видимости будет поверхность в радиусе более 5 километров. Большинство предметов будет видно как несколько пикселей. Как плот отличить от волн?
Имхо тут нужен какой-то спектрометр, который оранжевый отличит от других цветов. И уже потом к этому предмету лететь на опознание.
SmartEngines Автор
06.12.2021 16:31Летательный аппарат снабжен камерой, которая смотрит вниз. ЛА облетает заданные регионы и в режиме реального времени детектирует целевые объекты.
mortadella372
06.12.2021 23:27+2И он даже есть, широко распространенный спектрометр им. Байера, но от него решили отказаться. Оценка эффективности байеровских фильтров ок 50-60%, один стоп грубо говоря. За эту цену покупается возможность найти оранжевое пятно на синем фоне. Днем света всегда достаточно, а ночью вообще темно, и без подсветки в видимой области делать нечего.
Имхо зря отказались.Про ИК немного загадочно. Зачем вообще делать спасательную посветку и маячки в ИК диапазоне? Специально, чтобы глазом не видно было?
Есть такое ощущение, что консультация со специалистом по оптике могла бы изменить подход к выбору оборудования.
pavelsc
06.12.2021 13:36Прикольно, но сложно =). Я для похожего поиска дефектов использовал чистую математику. Нарезал картинку на столбики и искал среднюю яркость. Далее строил график средней яркости каждого столбика, проходил по нему фильтром сглаживания из матлабовской либы и строил производную, и вот там уже небольшой дефект выглядел как явное отклонение. Ну и примитивный детектор срабатывания по правилу трех сигм конечно такое находил. 200 фпс такая штука делает легко на 2Mpx снимках и процессоре Core2Duo.
Но это был LabView и 2011 год, мы развлекались как могли на своих двух ядрах и даже рискнули предложить разработать такую систему на кабельный завод :)
e_fail
06.12.2021 13:36Напрашивается идея, что плот должен быть не просто оранжевым, а с какими-то специально подобранными белыми (или чёрными?) полосами / кругами / etc, заточенными под распознавание.
SmartEngines Автор
06.12.2021 13:42Конечно, да. Но спасательный плот ПСН-10 такой, какой он поставлен на обеспечение. С маркировкой, кстати, тоже важно не перегнуть палку...
Dair_Targ
06.12.2021 13:40+2Почему нельзя использовать две камеры - одну для съёмок в ближнем инфракрасном свете, а другую с каким-нибудь узкополосным оранжевым фильтром? По-идее должно сильно повысить контраст объекта - в море не так много оранжевого плавает.
SmartEngines Автор
06.12.2021 13:58В нашей задаче было существенное ограничение на количество и характеристики используемого оборудования.
TVExpert
06.12.2021 13:54+1Просто "мысли вслух".
А каким то образом учитывается вариант, что плот мог изменить форму ? (неудачное раскрытие, повреждение в следствии повреждения (хоть наружняя часть, хоть "опорная")).
Да даже (вдруг) изменение внешнего вида в последствии намерзания льда/снега.
Условно говоря, могло произойти "размытие контура/границ".SmartEngines Автор
06.12.2021 14:01В качестве используемой архитектуры применялся метод Виолы и Джонса, который достаточно устойчив к незначительным деформациям как раз за счет признаков Хаара. Поэтому локальные намерзания и деформации алгоритмы не страшны
ZlodeiBaal
06.12.2021 14:51+9«Виолы и Джонса» в 2021 году…
Зачем вы его бенчмаркаете с SSD (какой бекбон?), Yolo 9000?.. Это не оптимизированные сетки 5 летней давности. По какому разрешению вы бенчмаркаете? Судя по размеру модели в памяти (от 700 метров) — вы даже не пробовали брать «нормальные» разрешения для оптимизации производительности. Нейронки обычно дают более качественный результат даже по разрешению в 4-8 раз меньше чем Хаар.
Почему нет графы «точность» рядом с «скорость»? Без этой второй графы любые сравнения бесполезны.
Попробуйте yolox-n, попробуйте SSD с легкими бекбонами. Можете обучить U-Net с 2-3 слоями и 8фильтрами.
Все это будет поддерживаться современным железом лучше чем Haar (дада, сейчас на каждом втором сопроцессоре будет ускоритель который можно заставить крутить нейронки ещё быстрее и оптимальнее без нагрузки на процессор).SmartEngines Автор
06.12.2021 16:42Мы не сомневаемся в том, что существуют другие методы, позволяющие решить задачу поиска плота. Более того, мы не настаиваем на том, что метод Виолы и Джонса - единственный правильный.
В рассказываем как путем правильного применения известного (хотя немного модифицированного) инструмента решается задача с заданным уровнем качества и производительности.
ZlodeiBaal
06.12.2021 17:06+7Смотрите. Приведу пример:
Никто не сомневается что написать процедуру выполнения нейронной сети в 2021 году можно на фортране. Особенно если в фирме есть такая экспертиза. Но:
1) Имеет ли это смысл когда никто не сможет это поддерживать?
2) Имеет ли это смысл когда заранее можно словить массу проблем совместимости (железо/сторонний код)?
Есть некоторые правила качественной разработки. И когда вы делаете новое решение на устаревших технологиях, делая с нуля — на вас будут странно смотреть.
Что касается реальности:
1) Обобщающая способность Хаара много ниже чем у нейронной сети. Даже слабой. Когда у вас будет больше реальных примеров — Хаар будет работать хуже
2) Обучение нейронной сети более стабильно к изменению датасета. У Хаара есть много внутренних параметров настройки. Передавая решение на нейронной сети — можно передавать модуль дообучения. Или контейнеризировать его. А с Хааром так просто уже не выйдет.
3) Портирование на конечное устройство выпущенное после ~2018г. 100% лучше работать будет с нейронной сетью, чем с Хааром.
4) «задача с заданным уровнем качества и производительности» — по опыту (это правда мы лет 6 назад делали), переход с Хаара на нейронки дает прирост в точности ~ раз в 5 ошибки падают, на той же производительности. Сегодня есть сетки посвежее = > положим в 5-10 раз будет прирост в точности.
И говорить что это прирост вам не нужен — не разумно. это же не столько прирост к точности, сколько страховка от возможных будущих проблем.
Vilos
06.12.2021 16:17+7И вот тут внезапно обнаруживается что ПСН-10 имеет большое количество модификаций и видов под общим одним названием ПСН-10 (расшифровывается как "Плот Спасательный Надувной на 10 персон"). Очень легко загуглить картинки по запросу ПСН-10 и обнаружить ОООчень много разных видов ПСН-10 которые имеют разную конфигурацию. Что скажет автоматика на это?
А кроме того, нам то нужно спасти людей, которые по стечению обстоятельств спаслись не на ПСН - 10, как мы ожидали, а на ПСН-20 (потому что мичман в порту поменял 10-ку на 20-ку (он не в курсе всех наших тут разработок)).
А мы то на 10-ку ориентировались....что на этот случай скажет автоматика?
SmartEngines Автор
06.12.2021 16:35Модификации ПСН-10, которые незначительно отличаются внешне, для предложенного алгоритма не являются проблемой. Добавление новых искомых объектов выполняется по описанной в статье схеме.
Alcor
06.12.2021 17:09+3Здорово, но во многих современных промышленных камерах ИК фильтр съёмный. Кроме этого, современные спасательные плоты светятся в ультрафиолете, как раз для облегчения их поиска.
Stas911
07.12.2021 04:48Их просто ищут в ультрафиолете или какую-то лютую ИК подсветку используют?
k1-801
07.12.2021 12:23+1Скорее всего, имеется в виду флуоресценция, т.е. при наличии хоть какого-то УФ они преобразуют его в видимый свет, за счёт чего будут выглядеть светящимися по сравнению с окружением. Флуоресцирующий плот буквально подсветится как квестовый предмет.
buratino
07.12.2021 00:33+3Проблема первая – черно-белая камера
Любимое занятие у нас - сначала специально создать себе трудности, а потом мужественно их преодолевать... Спасательный дрон или что там у вас стоит кучу денег. Спасательный плот стоит кучу денег. Но мы будем экономить на камере, чтобы потом бороться с ее недостатками...
Какие проблемы с камерами ?! Сейчас самая сопливая вебкамера наблюдения за полторы тыщи рублей цветная и переключается в режим ИК ночью, хотя и с ИК подсветкой. Но тут подсвечивать не надо - надо ловить сигнал от ИК маячка...
Далее. Зачем спасательный плот сделали оранжевым? Чтобы плот был заметен издалека из-за высокого контраста с окружающим морем. И зачем сознательно игнорировать этот высокий контраст и оранжевый цвет?
Насчет низкой чувствительности цветных сенсоров - возьмите наконец любой современный смартфон - там такая камера, что даже не в режиме "ночь" ночью он снимет то, что глазами уже не видно.
Кроме того, если камера стоит на дроне или вертолёте гораздо большее влияние на способности распознавания оказывает стабилизация изображения - и подвесом камеры, и оптической стабилизацией изображения.
И только если ничего другого не помогает, или если ищем не оранжевый плот и не в море - тогда, да все эти ваши штучки надо задействовать. А на камере экономить не стоит
mortadella372
07.12.2021 00:48Расскажите, пожалуйста, про "ИК-маячки". В чем смысл? Должна быть какая-то оптическая помеха в видимом диапазоне, уйти от которой эти маячки помогают, что это, блики?
Есть ли подробности, в каком спектральном диапазоне они излучают?
Zoraccer
07.12.2021 00:56+1Понимаю, что вероятно ТЗ было прописано строго, и поэтому задача решалась так, как решалась. Но предположу, что в вопросах чувствительности практически любая даже ЧБ камера сильно уступит микроболометрической матрице с оптикой.
Особенно в поиске явно излучающих в характерном ИК-диапазоне объектов, таких как люди и световые маячки плота, находящихся на достаточно равномерном в ИК-диапазоне фоне. (рыбы холоднокровные, дельфины и крупные морские млекопитающие имеют конкретный спектральный состав и форму).
Для сдвига нуля можно подхолаживать болометр Пельтье (неэкономично) или криогенной жидкостью в контейнере, как на Игле.
mortadella372
07.12.2021 14:06Смотря на какой диапазон ориентироваться. Так-то у кремния офигенная обнаружительная способность D*, в диапазоне под микрон. За микроном он ничего не видит, так что да, но излучать будет не человек, а плот — поверхностная яркость заметно ниже.
Про маячки самое загадочное. Для чего ИК? Чтобы легче искалось в яркий день на фоне холодного моря? Если да, то неужели частота моргания не стандартизована? на моргающий источник можно было бы наводиться вообще 4-х элементным приемником, раз мы про ракеты вспомнили.
Nikoobraz
07.12.2021 13:59+1Как по мне, из-за того, что и обучающая и тестовая выборки были одинаково синтезированными, в реальности точность распознавания должна достаточно сильно упасть. К разработчикам системы распознавания претензий в этом плане нет(работали с тем, что было), но уж заказчик, заинтересованный в результатах не мог что-ли закупить или арендовать штук десять таких плотов, разместить их на воде на расстоянии километр-два друг от друга, и полетать между ними на вертолете, или этим же самым дроном, снимая их с разных ракурсов и расстояний, скажем втечение часа-двух. Повторить днем\ночью, без осадков\с осадками и в штиль\в шторм. В конце навырезать из полученных видеофайлов отдельных кадров, причем 90% кадров можно выдернуть случайно, чтобы не было соблазна оставлять только те, где плот ровно в центре кадра, а не в углу еле торчит, и уже их использовать как датасет для тренировки или хотя бы для теста полученной модели.
Meklon
Тут прям просится вторая камера с обычной чувствительностью, которая будет Hue поверх Lightness канала добавлять.
SmartEngines Автор
Подход действительно разумный. Более того, есть где "подсмотреть" как правильно строить такие комбинированные изображения - человеческий мозг работает примерно таким образом. Однако, в нашем случае спасательный комплекс, который имеет ряд ограничений энергопотреблению и и массе. А поэтому "лишний обвес" строго запрещен.
Tarakanator
Обвес совсем запрещён? А то у меня первая мысль поставить оранжевый светофильтр. Тогда вид плота не поменяется, а всё море потемнеет.
SmartEngines Автор
Установка такого светофильтра уменьшит поток света, попадающий на светочувствительную матрицу. Из-за это ухудшится светочувствительность камеры
Tarakanator
но она же слабо ухудшится к цвету плота (или это только мне кажется что слабо?). А то, что ухудшится к цвету моря... так в том и смысл.
mortadella372
Вы правы. Я думаю, что отказ от цветной камеры был ошибкой.
rencom66
Диск с сектором оранжевого цвета , синхронизированный с частотой кадров камеры?
Чтоб через кадр снимать
maxwolf
В бытовых камерах видеонаблюдения ИК-затвор представляет собой «фитюльку» весом едва в 10 граммов. Это вообще ничто для веса и габарита аппаратуры, заключаемой в ударопрочный и термоизолирующий кожух. А преимущества даёт вполне осязаемые. Понятно, когда в ТЗ строго прописаны вводные, но если делать весь прибор с нуля — про управляемый ИК-затвор я бы крепко подумал.
P.S. Почитал каменты… обилие замечаний про камеру, на мой взгляд, говорит о том, что вам нужно было чётче растолковать этот момент при описании постановки задачи.
dmitrygnenny
А его четче, чем инерционностью и бюрократизированностью систем, не подверженных последствиям конкуренции, не опишешь.