• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

AI камера UnitV на чипе K210.

1 июня, 2021

K210 – это микроконтроллер, выпущенный  компанией Canaan. Он оснащен аппаратным ускорителем нейронной сети собственной разработки KPU, который может выполнять операции нейронной сети с высокой производительностью. В общем данный контроллер предназначен специально для использования в нейронной сети.

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

  • Данный микроконтроллер имеет двухъядерный 64-битный процессор RISC-v с FPU.
  • Распознавание изображений: QVGA : 60 кадров в секунду / VGA: 30 кадров в секунду.

Такое устройство можно приобрести тут: http://alii.pub/5t709l

Разные модели с k210 тут: http://alii.pub/5t70ay

Конкретно у модуля UnitV от M5stack  установлена камера OV7740, слот под microsd карточку и светодиод ws2812 и еще 2 кнопки.

Программируется данный микроконтроллер языком программирования micropython. Для этого есть специальная IDE для разработки MaixPyIDE. Которую можно скачать тут: https://dl.sipeed.com/shareURL/MAIX/MaixPy/ide/v0.2.5

Теперь давайте попробуем запустить первую программу. Поуправляем встроенным светодиодом.

Программа выглядит следующим образом:


from modules import ws2812
from fpioa_manager import *
fm.register(8)
class_ws2812 = ws2812(8,100)
r=0
dir = True
while True:
    if dir:
        r += 5
    else:
        r -= 5
    if r>=255:
        r = 255
        dir = False
    elif r<0:
        r = 0
        dir = True
    for i in range(100):
        a = class_ws2812.set_led(i,(r,0,0))
    a=class_ws2812.display()
	 
Скачать скрипт можно от сюда:https://disk.yandex.ru/d/du3kRjFOWNLbww

Здесь нас интересует строчка

a = class_ws2812.set_led(i,(r,0,0))

Собственно в ней меняя значения в скобках мы будем зажигать разный цвет светодиода. Тоесть например если мы в скобках введем (255,0,0) то у нас будет гореть красный светодиод. Если (0,255,0) то зеленый ну и если последний октет 255 то это будет синий.

Также здесь присутствует еще функция. У нас яркость определяется значением в скобках от 0 до 255 – где 255 самый яркое значение. А 0 это диод погашен.

И собственно если мы в скобках вобьем значение “r” вместо цифр. То получится что этот цвет где стоит буква r. Будет плавно загораться и тускнеть. С разницей в 5 значений.

Второй пример работы. Это распознавание лиц.

Чтоб данный способ заработал. Нам необходимо сначала скачать специально обученную модель face_model_at_0x300000.kfpkg . Ее можно скачать отсюда: https://disk.yandex.ru/d/f7dGHWvvaCJinA

Данная модель в формате .kfpkg ЧТоб ее загрузить в микроконтроллер, нужна специальная утилита kflash. Которую можно скачать отсюда: https://github.com/Sipeed/kflash_gui/releases

После загрузки данной модели. Необходимо запустить скрипт:


import sensor
import image
import KPU as kpu
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
task = kpu.load(0x300000)
anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025)
a = kpu.init_yolo2(task, 0.5, 0.3, 5, anchor)
while(True):
    img = sensor.snapshot()
    code = kpu.run_yolo2(task, img)
    if code:
        for i in code:
            print(i)
            a = img.draw_rectangle(i.rect())
a = kpu.deinit(task)

 

Он очень маленький. Все это потому что мы здесь не описываем модель. А просто обращаемся к ней.

Данный скетч можно скачать от сюда: https://disk.yandex.ru/d/zXw710cstI04yQ

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

Скачать такой скрипт можно тут: https://disk.yandex.ru/d/Gqp29lGVDwwBgQ

Или с оригинальной статьи отсюда: https://m5stack.hackster.io/ruvic101/social-distancing-using-face-detection-web-stream-4e24bd

Также его работа показана в видео ниже:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·