Стандарт JPEG появился в 1992 году. С тех пор JPEG-изображения оказались неразрывно связаны с цифровой фотографией, они используются практически в каждом приложении, которое работает с изображениями фотографического качества. Причина того, что стандарт JPEG был так быстро принят всем миром, того, что он стал практически универсальным способом хранения изображений, заключается в том, что в нём одновременно используется несколько подходов к сжатию изображений. Один из этих подходов основан на понимании ограничений системы зрительного восприятия информации человеком, и того, какую информацию, наиболее важную, нужно сохранить, а от какой, менее важной, можно избавиться.
Рубрика «Алгоритмы» - 38
Ускорение JPEG-кодирования с использованием нескольких потоков
2021-01-14 в 9:08, admin, рубрики: jpeg, ruvds_перевод, Алгоритмы, Блог компании RUVDS.com, обработка изображений, разработка, Разработка веб-сайтовПроблема логических языков программирования
2021-01-09 в 18:04, admin, рубрики: Prolog, Алгоритмы, искусственный интеллект, ненормальное программирование, Программирование, разработка языков программирования, язык программированияНекоторое время назад я писал про «Интернациональное программирование на естественных языках», в которой попытался представить достойную цель для абстрактного язык программирования, попробовав примерить на него роль связующего звена между миром программистов с компьютерами и не программистов.
Но в результате оказалось, что это не нужно в принципе, т.к. «не программистам» просто не требуется учиться писать программы. А если иногда такое желание и возникает, то вполне хватает обычных формализованных языков программирования, которых уже сейчас насчитывается наверно более десяти тысяч.
И пользователи, как программисты, так и не программисты, просто хотят решать возникающие перед ними задачи. И хотя задачи бывают совершенно разные, но если способ (алгоритм) её решения известен, то выбрать язык для её решения не составит никакого труда.
За исключением одного класса задач. Задач, решение которых нельзя описать в виде алгоритма. Но можно указать некие критерии, которым должно удовлетворять искомое решение. Я имею ввиду логические языки программирования и Пролог, как самый яркий представитель этого класса.
Еще помню воспоминание из юности, когда удалось достать дискету с этим языком. Ух, с каким задором горели мои глаза, когда мне казалось, ну вот, еще чуть-чуть и будет создана система с базой знаний, у которой и можно будет получить заветный ответ 42 на любой вопрос.
Так почему этого так и не случилось? В чем проблема Пролога, да и любой системы / языка программирования, назначение которых анализировать факты и искать ответы на вопросы?
Эта проблема называется «Комбинаторный взрыв» — экспоненциальная зависимость времени работы алгоритма от количества входных данных. И есть как минимум два решения этой проблемы.
Читать полностью »
Нейросети в большом городе. Разбираемся, как они помогают идентифицировать людей, и запускаем собственную нейросеть
2021-01-08 в 12:15, admin, рубрики: machine learning, python, skillfactory, Алгоритмы, Блог компании SkillFactory, видеонаблюдение, машинное обучение, нейросети, УрбанизмАлгоритмы по детекции лиц плотно вошли в нашу жизнь, хотя и не все это замечают. Началось всё в 2015 году со сферы развлечений. Стартап Looksery, занимающийся разработкой AR-фильтров, был куплен Snapchat. Приложение распознавало лицо человека на фотографии и накладывало на него весёлые рожицы. Чуть позже, в начале 2016 года, Facebook купил белорусский стартап MSQRD и запустил маски в Facebook Stories. Но это можно считать только обкаткой таких технологий.
В этой статье можно прочитать, как используются системы идентификации, узнать про слабые места компьютерных алгоритмов, а также попробовать запустить нейронную сеть по детекции и идентификации лиц на собственном компьютере.

В поисках искусственного здравого смысла
2021-01-05 в 17:02, admin, рубрики: skillfactory, Алгоритмы, Блог компании SkillFactory, машинное обучение, нейросети19 июля 2020 года была опубликована запись в блоге под названием «Чувствуете себя непродуктивным? Может, стоит перестать задумываться». В этой статье о самосовершенствовании в 1000 слов объясняется, что чрезмерное обдумывание — враг творчества, и даётся совет быть внимательнее:
«Чтобы что-то сделать, возможно, нам нужно меньше думать. Это кажется нелогичным, но я считаю, что иногда наши мысли могут мешать творческому процессу. Иногда мы можем работать лучше, когда «отключаемся» от внешнего мира, сосредотачиваясь на том, что перед нами».
Пост был написан GPT-3, огромной нейронной сетью Open AI с 175 миллиардами параметров, обученной почти полутриллиону слов. Студент Калифорнийского университета в Беркли Лиам Порр просто написал заголовок и позволил алгоритму написать текст. «Забавный эксперимент», чтобы посмотреть, сможет ли ИИ обмануть людей. Действительно, GPT-3 ударил по нервам: этот пост достиг первого места на Hacker News.
Итак, с сегодняшним ИИ есть парадокс. Хотя некоторые из работ GPT-3, возможно, удовлетворяют критерию теста Тьюринга, убеждая людей в том, что с ними общается человек, но он явно терпит неудачу на простейших заданиях. Исследователь искусственного интеллекта Гэри Маркус попросил GPT-2, предшественника GPT-3, закончить такое предложение:
«Что происходит, когда вы складываете растопку и поленья в камин, а затем бросаете несколько спичек? Обычно начнётся…»
«Огонь» — вот что немедленно закричит любой ребёнок. Но ответ GPT-2: «Ick»
Эксперимент не удался. Дело закрыто?

Видео курсов Computer Science клуба
2021-01-05 в 14:22, admin, рубрики: Алгоритмы, биоинформатика, Биотехнологии, Блог компании Образовательные проекты JetBrains, курсы, математика, машинное обучение, языки программированияComputer Science клуб — это открытые лекции по компьютерным наукам в Санкт-Петербургском отделении Математического института РАН. Филиалы CS клуба действуют в Новосибирске и Казани. В связи с эпидемией все лекции осеннего семестра проходили онлайн и были доступны всем желающим вне зависимости от их местонахождения. Видеозаписи этих курсов выложены на сайт клуба и в канал на ютубе.
Это непростое условное выполнение
2021-01-03 в 15:14, admin, рубрики: Lua, open source, алгоритм, Алгоритмы, информационная структура алгоритма, информационный граф ялгоритма, параллелизация, параллельное программирование, скрытый параллелизмНекоторое время назад я рассказывал о программном комплексе для выявления скрытого параллелизма в произвольном алгоритме и технологиях его, параллелизма, рационального использовании (https://habr.com/ru/post/530078/). Одним из компонентов этого комплекса является т.н. “универсальный вычислитель”, выполненный в соответствии с архитектурой Data-Flow (далее DF, пото́ковый вычислитель, описание здесь https://habr.com/ru/post/534722/).
Кодирование для чайников, ч.1
2021-01-01 в 13:31, admin, рубрики: huffman, Алгоритмы, биты. двоичная система, Занимательные задачки, кодирование, сжатие данныхНе являясь специалистом в обозначенной области я, тем не менее, прочитал много специализированной литературы для знакомства с предметом и прорываясь через тернии к звёздам набил, на начальных этапах, немало шишек. При всём изобилии информации мне не удалось найти простые статьи о кодировании как таковом, вне рамок специальной литературы (так сказать без формул и с картинками).
Статья, в первой части, является ликбезом по кодированию как таковому с примерами манипуляций с битовыми кодами, а во второй я бы хотел затронуть простейшие способы кодирования изображений.
0. Начало
ИИ итоги уходящего 2020-го года в мире машинного обучения
2020-12-31 в 20:25, admin, рубрики: AI, data mining, data science, deep learning, machine learning, machinelearning, neural, neural networks, python, Алгоритмы, машинное обучение, нейросети, нейросеть, Программирование
Подведем основные итоги уходящего года. Рассмотрим самые громкие открытия в мире компьютерного зрения, обработки естественного языка, генерации изображений и видео, а также крупный прорыв в области биологии. Коротко о самом главном за год!
Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг»Читать полностью »
INTEL (Altera) USB Byte Blaster на STM32
2020-12-22 в 8:30, admin, рубрики: Altera, cpld, fpga, intel, stm32, USB BYTE BLASTER, Алгоритмы, Производство и разработка электроникиЗачастую если в устройстве есть программируемая логика, присутствует и процессор/микроконтроллер.
В какой-то момент мне надоело разводить на платах разъем JTAG, он занимает много места на плате и по сути нужен только для разработки. В конечном устройстве он вообще без надобности.
Очень часто для проверки правильности реализации Verilog кода или вообще "посмотреть как сигнальчики бегают" я использую SignalTap II Logic Analyzer, штука удобная и наглядная, я думаю многие сразу узнают по изображению:

Генератор неслучайных чисел
2020-12-22 в 5:30, admin, рубрики: java, lcg, Алгоритмы, линейный конгруэнтный метод, математика, оптимизация алгоритмов, Серверная оптимизация, Статистика в ITЭтот код напечатает случайную последовательность латинских букв, так ведь?
import java.util.Random;
class WTF {
public static void main(String[] args) {
Random r = new Random(76880392499L<<11);
String alphabet = " abcdefghijklmnopqrstuvwxyz";
int n;
while ((n = r.nextInt(alphabet.length())) > 0)
System.out.print(alphabet.charAt(n));
}
}
Можете проверить; вывод кажется совсем не случайным. Как же так вышло?
Прежде всего: какой шанс, что из всех последовательностей латинских букв напечатается именно эта? Сгенерировано 10 случайных чисел, каждое выбиралось из 27 вариантов, значит всего вариантов было $inline$27^{10} approx 2.06cdot10^{14}$inline$. Если считать, что все варианты равновероятны, то нам выпал один шанс из двухста миллионов миллионов! Ух!Читать полностью »

