Оқиғаға негізделген көру бағдарламалық құралы нені өңдейді?

Оқиға камерасы әр аралықта кәдімгі бейне кадрын жеткізудің орнына жарықтықтағы өзгерістер туралы хабарлайды. Декодталған оқиға әдетте пикселді, полярлықты және уақыт белгісін анықтайды. Қолданбаңыз алу, сүзу, жазу және қорытынды жасау арқылы сол өрістердің мағынасын сақтауы керек. The оқиғаға негізделген және кадрға негізделген салыстыру бұл деректер үлгісі пайдалы болған кезде түсіндіреді.

Дизайндағы үш пішімді ажыратыңыз: сенсор немесе транспорттық кодтау, бағдарламалық құрал пайдаланатын декодталған оқиға көрінісі және алгоритмге берілген ұсыну. Құрамында өңделмеген сенсорлық пакеттер, декодталған оқиғалар массиві және жинақталған кескін бар файл әртүрлі мақсаттарға қызмет етеді. Олардың арасында түрлендіру жадты пайдалануды, өңдеу құнын және төменгі ағында қол жетімді уақыт туралы ақпаратты өзгертуі мүмкін.

Өкілдікүшін пайдалыИнтеграциялық сұрақ
Шикі пакеттер немесе сатушының жазбасыСатып алу және декодтау әрекетін жаңғыртуОрналастырылған декодер дәл осы құрылғыны және пішімдегі түзетуді оқи ала ма?
Декодталған оқиғаларСүзгілеу, уақытты талдау және оқиғаға негізделген алгоритмдерУақыт белгісінің бірлігі, сағаттық домен және координат конвенциясы дегеніміз не?
Уақыт беттері немесе воксель тәрізді тензорларҚұрылымдық уақытша ұсынуды қажет ететін алгоритмдерҚандай тарих, жинақтау және қалыпқа келтіру параметрлерін шығару керек?
Жиналған оқиға суреттеріВизуализация немесе үйлесімді кескінге негізделген өңдеу кезеңіЖинақтау терезесі қанша кідіріс пен ақпарат жоғалтады?

Оқиға камерасын қалай бағалауға болады SDK

Нақты сенсордан, камера микробағдарламасынан және хост платформасынан бастаңыз. Жұмыс үстелі демонстрациясы ендірілген Linux кескінге, ARM процессорына немесе өндіріс лицензиясына қолдау көрсетпейді. Жеткізушіден қолдау көрсетілетін операциялық жүйелерді, процессордың архитектурасын, қайта бөлу шарттарын және камера интерфейсінің талаптарын сұраңыз. Есептеу модулі үшін тасымалдаушының схемалық тақтасын тапсырмас бұрын, қолданбаны жоспарланған платформада тексеріңіз.

  • Сатып алу: құрылғыны табу, конфигурациялау, декодтау және қате туралы есеп беру.
  • Уақыты: уақыт белгісінің шығу тегі, ауыспалы өңдеу, сыртқы триггерлер және көп құрылғыны туралау.
  • Қайта шығару мүмкіндігі: жазбалар, конфигурация экспорты және анықталған бағдарламалық құрал нұсқасы.
  • Орналастыру: бассыз жұмыс, қолдау көрсетілетін екілік файлдар, қайта іске қосу тәртібі және лицензия шарттары.
  • Бақылау мүмкіндігі: оқиғалар саны, кезек тереңдігі, жойылған деректер және хост ресурстарын пайдалану.

Ашық уақыт шекаралары бар құбырды салыңыз

Сатып алуДатчик уақытын декодтау және сақтау
ДайындаңызТерезелерді сүзу, синхрондау және қалыптастыру
ШешіңізБақылаңыз немесе қорытындылаңыз, содан кейін шығысқа уақыт белгісін қойыңыз

Сатып алуды қымбат визуализациядан, дискіні жазудан және модельдік қорытындыдан бөлек ұстаңыз. Әйтпесе, баяу тұтынушы алгоритм басталмай тұрып жаңа деректерді кешіктіруі мүмкін. Шектелген кезекті және айқын шамадан тыс жүктеу саясатын анықтаңыз. Ең ескі терезені тастау, қызығушылық аймағын азайту және қатемен тоқтату әртүрлі салдарға әкеледі; қолданбаға сәйкес әрекетті таңдаңыз және ол орын алған кезде жазыңыз.

Бақылаулар қашан орын алғанын сипаттау үшін сенсорлық уақыт белгілерін және өңдеу ұзақтығын өлшеу үшін монотонды хост сағатын пайдаланыңыз. Байланыссыз сағаттардан уақыт белгілерін алу жарамды кідіріс жасамайды. Егер камераны IMU немесе кәдімгі камерамен біріктіру қажет болса, біздің нұсқаулықта сипатталған сағат қатынасын және калибрлеу процесін орнатыңыз. сенсорлық синтез синхрондау нұсқаулығы.

Жазу-тексерудің шағын мысалы

Келесі Python мысалы қолдау көрсетілетін жазбадағы декодталған оқиғаларды санайды және олардың уақыт белгілерінің аралығын хабарлайды. Ол құжатталған Metavision ағынын API пайдаланады және үйлесімді SDK орнату мен жазуды қажет етеді. Бұл ALVEXIS камера эталоны немесе детектор емес, тексеру мысалы.

import argparse
from metavision_sdk_stream import Camera, CameraStreamSlicer

parser = argparse.ArgumentParser()
parser.add_argument("recording")
args = parser.parse_args()
source = Camera.from_file(args.recording)
count, first_us, last_us = 0, None, None

for batch in CameraStreamSlicer(source.move()):
    events = batch.events
    if events.size:
        start = int(events["t"][0])
        end = int(events["t"][-1])
        first_us = start if first_us is None else min(first_us, start)
        last_us = end if last_us is None else max(last_us, end)
        count += int(events.size)

span_s = 0.0 if first_us is None else (last_us - first_us) / 1_000_000
print({"events": count, "event_timestamp_span_s": span_s})

Уақыт белгісі аралығы біріншіден соңғы бақыланған оқиғаны қамтиды; ол файл ұзақтығын, алу кешігуін немесе өңдеу өткізу қабілетін өлшемейді. Бос кезеңдер мен сағатты қалпына келтіру өндірісте бөлек өңдеуді қажет етеді. Екінші инженер интерпретацияны қайта жасай алуы үшін құрылғы конфигурациясын және метадеректерді жазуды файлдың жанында сақтаңыз.

Тыныш көріністерді, бос емес көріністерді және сәтсіздікті қалпына келтіруді растаңыз

Тұрақты көріністі, өкілдік қозғалысты және әдейі талап ететін көріністі сынап көріңіз. Жыпылықтау, камера дірілі және текстуралық қозғалыс өте әртүрлі оқиға жылдамдығын жасай алады. Типтік мінез-құлықты және сіз байқаған ең нашар жағдайды жазыңыз. Жад және байланыс белсенді күйде қайталаңыз, себебі бұл жұмыс жүктемелері жад пен процессор уақыты үшін бәсекелеседі.

СынақЖазбаОл қолдайтын шешім
Бірдей жазбаны қайталаңызКонфигурация, шығыс айырмашылықтары және өңдеу ұзақтығыБағдарламалық құралдың өзгеруін қайталанатын түрде бағалауға бола ма?
Сахна белсенділігін арттыруКезек тереңдігі, оқиғаның жоғалуы және шығу жасыЖүйе ең жоғары жүктеме кезінде жарамды болып қала ма?
Өңдеу терезесін өзгертіңізҚолданбаның дәлдігі және сенсордан шығысқа кідірісҚандай уақыт/детальдық айырбас талапқа сәйкес келеді?
Құрылғыны ажыратып, қайта қосыңызҚалпына келтіру уақыты, сағатты қалпына келтіру және жазудың үздіксіздігіОрналастырылған қызмет болжамды түрде қалпына келе ала ма?

Алгоритм нейрондық желіні пайдаланғанда, үдеткішті таңдамас бұрын алынған тензорды және қолдау көрсетілетін операторларды тексеріңіз. Оқиға камерасы автоматты түрде NPU талап етпейді және NPU оқиға ағынын автоматты түрде қабылдамайды. Біздің FPGA, NPU және MPU архитектуралық нұсқаулық алу, алдын ала өңдеу, қорытындылау және қолдану қызметтерін бөледі.

Бағдарламалық құрал стегін таңдау алдындағы сұрақтар

Мен қалыпты компьютерлік көру үлгісін пайдалана аламын ба?

Тек үйлесімді кіріс көрінісін анықтап, оның әрекетін растағаннан кейін ғана. Оқиғаларды кескіндерге жинақтау кескінді өңдеу кезеңін қайта пайдалануға мүмкіндік береді, бірақ деректерді таратуды өзгертеді және уақыт терезесін қосады. Өкілдік деректер бойынша толық өтінімді бағалаңыз.

Жұмыс істейтін ноутбуктің демонстрациясы ендірілген үйлесімділікті дәлелдей ме?

Жоқ. CPU архитектурасын, операциялық жүйені, сенсор интерфейсін, драйверді, SDK лицензиясын және нақты мақсатты платформаның тұрақты ресурстарды пайдалануын растаңыз.

Интеграциялық талқылауға не жіберуім керек?

Камераны немесе сенсор анықтамасын, жазба үлгісін, жоспарланған шығысты, қолайлы кешіктіруді, хост платформасын, интерфейсті және орналастыру ортасын жіберіңіз. Бұл мәліметтер бірінші интеграциялық тәуекелдерді анықтау үшін талқылауды жеткілікті түрде нақты етеді.

Компьютерлік көру құбырындағы нейроморфтық көру

Оқиға камералары көбінесе нейроморфтық көру жағдайында талқыланады, өйткені олардың шығыс жазбалары толық кескіндердің бекітілген тізбегі емес, жеке пикселдерде өзгереді. Бұл деректерді ұсыну нысанды анықтауды немесе нейрондық желі нәтижесін автоматты түрде қамтамасыз етпейді. Бағдарламалық қамтамасыз ету әлі де анықталған тапсырманы, үйлесімді алгоритмді және өлшенетін қабылдау критерийлерін қажет етеді.

Фреймге бағытталған компьютерлік көру құралдарымен біріктіру кезінде оқиғалар ағыны уақыт терезесінің кескініне немесе басқа көрініске түрлендірілуі мүмкін. Тапсырма нақты уақытша ақпаратқа байланысты болса, бастапқы уақыт белгілерін сақтаңыз. Толық түрлендіру және өңдеу құбырын бағалаңыз; тартымды қайта жасалған кескіннің өзі түпкілікті қолданбаның дәлдігін немесе кешігуін белгілемейді.

Сенсор деректерін біріктіру алдында уақытты жоспарлаңыз

Техникалық анықтамалар

Сатушы мысалдары өздерінің қолдау көрсетілетін экожүйесін сипаттайды. Таңдалған құрылғы мен орналастыру үшін үйлесімділік пен лицензиялауды растаңыз.

Оқиға камерасын біріктіруді жоспарлаңыз.