DragonBoard 410c

встраиваемые модели

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

DragonBoard 410c

Непрочитанное сообщение Olej » 14 июл 2018, 14:37

Про сборки Armbian, их отношение к Rapsberry Pi, почему никогда не будет сборок Armbian под Rapsberry Pi и т.п. - есть отдельная тема (с ссылками на детальные обсуждения по этой теме): Armbian & Raspberry Pi... на близлежащем форуме, там очень интересно :lol: , ... но всё же: есть же ещё целые линейки SBC от производителей, находящихся в стороне от этих полюсов?

Вот такая вот ещё штучка - SBC: DragonBoard 410c
Пробовал ли кто такую игрушку?
Изображение

Тем более, что есть такие оценки, что DragonBoard 410c превосходит по производительности Rapsberry Pi (а значит и Orange Pi) больше чем в 2 раза: Raspberry Pi3 против DragonBoard: разработка приложений на Python.
сохранено 24 июня 2017 в 14:21
Довольно свежая публикация.
Хотя и стоимость DragonBoard 410c (минимум $75-$100 по разным оценкам) вдвое больше чем Rapsberry Pi.

Берём эту штучку к наблюдению ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 14 июл 2018, 14:37

Olej писал(а):Берём эту штучку к наблюдению ;-)
Игрушка эта производится с лета-осени 2015г..
Утверждается, что исторически это 1-я серийная модель использующая 64-бит ARM.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 14 авг 2018, 11:00

Olej писал(а):Утверждается, что исторически это 1-я серийная модель использующая 64-бит ARM.

Код: Выделить всё

linaro@linaro-alip:~$ lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Model:               0
CPU max MHz:         1209.6000
CPU min MHz:         200.0000
BogoMIPS:            38.40
L1d cache:           unknown size
L1i cache:           unknown size
L2 cache:            unknown size
NUMA node0 CPU(s):   0-3
Flags:               fp asimd evtstrm crc32 cpuid

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 18 авг 2018, 08:59

Установочные образы для этого чуда берутся здесь:
QCOM Landing Team – #417-8f6fab60

Код: Выделить всё

linaro@linaro-alip:~$ uname -a
Linux linaro-alip 4.14.0-qcomlt-arm64 #1 SMP PREEMPT Fri Feb 2 21:19:01 UTC 2018 aarch64 GNU/Linux

linaro@linaro-alip:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux testing (buster)
Release:	testing
Codename:	buster

linaro@linaro-alip:~$ df
Filesystem                    1K-blocks    Used Available Use% Mounted on
udev                             462968       0    462968   0% /dev
tmpfs                             94740    4524     90216   5% /run
/dev/disk/by-partlabel/rootfs   7253452 3206068   3702104  47% /
tmpfs                            473688       0    473688   0% /dev/shm
tmpfs                              5120       4      5116   1% /run/lock
tmpfs                            473688       0    473688   0% /sys/fs/cgroup
tmpfs                             94736       0     94736   0% /run/user/0
tmpfs                             94736       8     94728   1% /run/user/1000

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 18 авг 2018, 09:09

Olej писал(а):Установочные образы для этого чуда берутся здесь:
Чем задрало это чудо, в отношении WEB-камеры и видеозахвата ... (это может оказаться важным для других SBC) :

- сразу после установки:

Код: Выделить всё

linaro@linaro-alip:~$ ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 Dec 14  2017 /dev/video0
crw-rw----+ 1 root video 81, 1 Dec 14  2017 /dev/video1
crw-rw----+ 1 root video 81, 2 Dec 14  2017 /dev/video2

linaro@linaro-alip:~$ lsusb
Bus 001 Device 004: ID 046d:082b Logitech, Inc. Webcam C170
Bus 001 Device 007: ID 045e:0750 Microsoft Corp. Wired Keyboard 600
Bus 001 Device 006: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse
Bus 001 Device 005: ID 07a6:8515 ADMtek, Inc. AN8515 Ethernet
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 0424:2513 Standard Microsystems Corp. 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
И видеозахват работает с /dev/video0 (и только с /dev/video0).

- если убрать из USB WEB-камеру - нет подключенных видеокамер к системе:

Код: Выделить всё

linaro@linaro-alip:/dev/v4l$ lsusb
Bus 001 Device 014: ID 07a6:8515 ADMtek, Inc. AN8515 Ethernet
Bus 001 Device 013: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 012: ID 0603:00f2 Novatek Microelectronics Corp. Keyboard (Labtec Ultra Flat Keyboard)
Bus 001 Device 011: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 010: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 002: ID 0424:2513 Standard Microsystems Corp. 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

linaro@linaro-alip:/dev/v4l$ ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 Dec 14  2017 /dev/video0
crw-rw----+ 1 root video 81, 1 Dec 14  2017 /dev/video1
Что это такое?

Если снова подключить WEB-камеру на USB:

Код: Выделить всё

linaro@linaro-alip:/dev/v4l$ lsusb
Bus 001 Device 014: ID 07a6:8515 ADMtek, Inc. AN8515 Ethernet
Bus 001 Device 013: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 012: ID 0603:00f2 Novatek Microelectronics Corp. Keyboard (Labtec Ultra Flat Keyboard)
Bus 001 Device 011: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 010: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 016: ID 046d:082b Logitech, Inc. Webcam C170
Bus 001 Device 002: ID 0424:2513 Standard Microsystems Corp. 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

linaro@linaro-alip:/dev/v4l$ ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 Dec 14  2017 /dev/video0
crw-rw----+ 1 root video 81, 1 Dec 14  2017 /dev/video1
crw-rw----+ 1 root video 81, 2 Aug 13 16:12 /dev/video2

linaro@linaro-alip:/dev/v4l$ date
Mon Aug 13 16:12:53 UTC 2018

linaro@linaro-alip:/dev/v4l$ dmesg | tail -n10
[ 6337.843052] wlan0: associate with 60:38:e0:f8:a6:e2 (try 1/3)
[ 6337.848856] wlan0: RX AssocResp from 60:38:e0:f8:a6:e2 (capab=0x431 status=0 aid=3)
[ 6337.881105] wlan0: associated
[ 6483.091108] usb 1-1.1: USB disconnect, device number 15
[ 6657.139105] usb 1-1.1: new high-speed USB device number 16 using ci_hdrc
[ 6657.349962] uvcvideo: Found UVC 1.00 device Webcam C170 (046d:082b)
[ 6657.357414] uvcvideo 1-1.1:1.0: Entity type for entity Processing 2 was not initialized!
[ 6657.357452] uvcvideo 1-1.1:1.0: Entity type for entity Extension 6 was not initialized!
[ 6657.364664] uvcvideo 1-1.1:1.0: Entity type for entity Camera 1 was not initialized!
[ 6657.372757] input: Webcam C170: Webcam C170 as /devices/platform/soc/78d9000.usb/ci_hdrc.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input12
Обращаем внимание на даты: текущую и создания /dev/video2...
И видеозахват работает только с /dev/video2.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 18 авг 2018, 09:20

Olej писал(а): Что это такое?
Тщательное сравнение вот этой команды:

Код: Выделить всё

linaro@linaro-alip:~$ lsmod | grep uvcvideo
uvcvideo               94208  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_v4l2         24576  5 uvcvideo,venus_dec,qcom_camss,venus_enc,v4l2_mem2mem
videobuf2_core         45056  7 uvcvideo,venus_dec,qcom_camss,venus_enc,venus_core,v4l2_mem2mem,videobuf2_v4l2
videodev              196608  8 uvcvideo,venus_dec,qcom_camss,videobuf2_core,venus_enc,venus_core,v4l2_mem2mem,videobuf2_v4l2
media                  45056  3 uvcvideo,qcom_camss,videodev
с исполнением её же в x86 десктопах Fedora 28 и Mint 18.3, позволяет найти "лишний" модуль ядра:

Код: Выделить всё

linaro@linaro-alip:~$ /sbin/modinfo qcom_camss
filename:       /lib/modules/4.14.0-qcomlt-arm64/kernel/drivers/media/platform/qcom/camss-8x16/qcom-camss.ko
license:        GPL v2
author:         Todor Tomov <todor.tomov@linaro.org>
description:    Qualcomm Camera Subsystem driver
alias:          platform:qcom-camss
alias:          of:N*T*Cqcom,msm8916-camssC*
alias:          of:N*T*Cqcom,msm8916-camss
depends:        videobuf2-v4l2,videodev,v4l2-fwnode,media,videobuf2-core,videobuf2-dma-sg
intree:         Y
name:           qcom_camss
vermagic:       4.14.0-qcomlt-arm64 SMP preempt mod_unload aarch64
Это мезонинная камера - вот тот разъём посреди платы.
Модуль и соответствующие /dev/video* присутствуют независимо от того, подключено что-то к этому разъёму или нет.

То, как из 3-х (в данном случае) /dev/video* выбрать тот, который нужен для видеозахвата (который "мигает" в зависимости от отключений-подключений на USB: то 0, то 2) см. детально здесь: какое устройство - WEB камера?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 18 авг 2018, 09:38

Olej писал(а):Установочные образы для этого чуда берутся здесь:
QCOM Landing Team – #417-8f6fab60
Для DragonBoard 410c (и для других продвинутых SBC, поэтому и важно) есть несколько разных способов установки Linux (актуальны 2 первых из них):
Methods of Installation
In most cases, you will be presented with two options when installing your new operating system onto your DragonBoard 410c:
- SD Card Method - Install and boot from eMMC
- SD Card Method - Install and boot from SD Card
- Fastboot Method
Each method has it’s own benifits, and requires different levels of experience
И дальше там, и по ссылкам далее - детально пошагово описывается каждый из них.

Разница в том, что 1-й способ копирует ("заливает") образ Linux с SD-карты на внутреннюю eMMC память размером 8Gb, SD-карта после установки не нужна, в принципе, и может использоваться как сменный дисковый носитель, блочное устройство.
Во 2-м варианте загрузка системы происходит непосредственно с SD-карты, но потенциально гораздо большего размера, до 64Gb (64 >> 8).
Вариант откуда грузить систему выбирается джампер-переключателем S6, который находится на оборотной стороне печатной платы, и описание которого можно найти только в глубине документации на сам board: DragonBoard 410c User Manual
...
19 S6 (S6) Boot Switches
...
Изображение
...
Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 30 дек 2018, 22:35

Именно на этом борде мной построено распознавание лиц, основанное на deep learning, описывается здесь: распознавание лиц
Вот результат реального прогона на видеофрагменте Egor1.avi:

Код: Выделить всё

$ ./facerec_from_video.py -k Aplit.web.test -v -i Egor1.avi -o Egor1_r.avi -t 0.5 
version 2.06
saved 628 frames as file Egor1_r.avi
processed 748 frames: detected 606 identified persons and 22 not identified
identified as Egor: 606 times
the average identification time was 0.216346 [+/-0.048649] seconds
Здесь важно то, что:
- идентификация лица в кадре на этом минимальном борде требует порядка 0.2 секунды;
- из 606 + 22 распознанных кадров в самых разных ракурсах, только 22 не идентифицированы (ложная тревога), и ни одного ложно идентифицированного (пропуск цели);
Вложения
e4.png
e5.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 04 янв 2019, 17:42

Olej писал(а):Именно на этом борде мной построено распознавание лиц, основанное на deep learning, описывается здесь: распознавание лиц
Распознавание лиц на базе deep learning (обученной нейросети) показывает превосходные результаты распознавания:
- оценки ошибок по публикациям называются порядка до 2-3 на 1000 распознаваний (0.2-0.3%);
- то что я наблюдаю в экспериментах по распознаванию - это что-то порядка менее 6 ошибок на 1000 распознаваний (0.6%);
- оно различает лица, которые я на глаз не различаю! :lol:

P.S. Хотя, как во всяком распознавании, оценивать можно только 2 ошибки одновременно: 1). частота пропуска цели (когда ложный человек распознан как допустимый) + 2). частота ложной тревоги (когда допустимый человек назван недопустимым). Эти 2 цифры взаимосвязаны, но не совсем так, чтобы функционально зависимо - увеличивая одно уменьшаем другое, но не напрямую однозначно. Как мне кажется (по экспериментам), ужесточая порог распознавания, и тем самым увеличивая вероятность ложной тревоги, можно вероятность пропуска цели снизить даже существенно ниже названных величин.

Но вот если работа распознавателя - превосходная, то установка всех требуемых для него огромных библиотек и пакетов мало того, что а). очень длинная, так ещё и б). очень хлопотная. Особенно если это делать на одноплатные ARM SBC, типа Dragon Board 410c ... или Rapsbery Pi или Orange Pi, на которые я не премину установить, как только на то будет свободное время.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: DragonBoard 410c

Непрочитанное сообщение Olej » 04 янв 2019, 18:57

Olej писал(а): Но вот если работа распознавателя - превосходная, то установка всех требуемых для него огромных библиотек и пакетов мало того, что а). очень длинная, так ещё и б). очень хлопотная. Особенно если это делать на одноплатные ARM SBC, типа Dragon Board 410c ... или Rapsbery Pi или Orange Pi, на которые я не премину установить, как только на то будет свободное время.
1. Инсталляция таких объёмных вещей как Dlib, Pillow и др. происходит компиляцией из исходных C++ кодов, и занимает на Dragon Board 410c порядка 4-5 часов непрерывного процессорного времени (если по ходу возникла ошибка, а у меня они возникали десяток раз - исправляем и всё начинаем сначала :cry: ).
2. По итогу, раскручена система тиражирования уже подготовленных 1 раз бинарных пакетов на другие экземпляры бордов, построенная на относительно новой для Python пакетной системе wheel (читать здесь: Python на колёсах).
3. Из-за ограниченности ресурсов (RAM 1Gb), даже такая прямая инсталляция (в 4 часа) проходит успешно только при обстоятельных плясках с бубном вокруг борда: переключение в 3-й уровень (консольный) исполнения исполнения Linux, разрешение свопинга на SD-карту, изменение параметров свопинга и др. - при умалчиваемых параметрах системы эта компиляция не закончится никогда: поток ядра ответственный за обмен виртуальными страницами отбирает 95% процессорного времени, а компилятору остаётся только 5%, видно по top (при таких условиях компиляция должна бы завершиться за 80 часов :-o ).

По итогам этих плясок с бубном я написал для заказчика руководство по установке ... поскольку это делалось инициативно и никаких ограничений не накладывалось, я это текст размещаю здесь.
Вложения
Face_recognition.6.5.odt
(1.42 МБ) 168 скачиваний

Ответить

Вернуться в «Одноплатные компьютеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя