Компьютерное зрение на микроконтроллере за $2: SIMD на ESP32-S3 ускорил FAST в 2,2 раза В ESP32-S3 за $2 нашлись 128-битные SIMD-инструкции. Казалось бы, отличный способ ускорить детектор углов FAST. Но у чипа свои правила: невыровненные данные напрямую не прочитать, сравнение восьмибитных значений работает только со знаком, а SIMD-арифметика — с насыщением. Даже вычесть 128 из каждого пикселя привычным способом не получилось. Пришлось разбираться с ассемблером ESP32-S3 и искать обходные пути. За время экспериментов появился даже собственный распределитель регистров basm. Зато в тестах скорость FAST выросла с 5,1 до 11,2 мегапикселя в секунду, а кадр QVGA стал обрабатываться примерно за 6 мс. Неплохо для чипа дешевле чашки кофе.
- 53
- 8
- 6
- 5
- 4
- 3
- 2
- 2
- 1
- 1
- 1