Наблюдение с использованием отслеживания
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
|
Об этом проекте
Отслеживание объектов - важная задача в области компьютерного зрения. Распространение мощных компьютеров, доступность высококачественных и недорогих видеокамер, а также возрастающая потребность в автоматизированном видеоанализе вызвали большой интерес к алгоритмам слежения за объектами. В видеоанализе есть три ключевых этапа:обнаружение интересных движущихся объектов, отслеживание таких объектов от кадра к кадру и анализ дорожек объектов для распознавания их поведения. Поэтому использование отслеживания объектов уместно в следующих задачах:
1. Распознавание на основе движения, то есть идентификация человека на основе походки, автоматический объект
обнаружение и т.д .;
2. Автоматическое наблюдение, то есть наблюдение за местом действия для обнаружения подозрительных действий или
маловероятные события;
3. Индексирование видео, то есть автоматическое аннотирование и поиск видео в мультимедиа
базы данных;
4. Взаимодействие человека с компьютером, то есть распознавание жестов, отслеживание взгляда для данных
ввод в компьютеры и т.д .;
5. Мониторинг трафика, то есть сбор статистики трафика в реальном времени для направления потока трафика.
6. Автомобильная навигация, то есть планирование пути на основе видео и возможности уклонения от препятствий. В простейшей форме слежение можно определить как задачу оценки траектории объекта в плоскости изображения, когда он движется по сцене. Другими словами, трекер присваивает одинаковые метки отслеживаемым объектам в разных кадрах видео. Кроме того, в зависимости от области отслеживания, средство отслеживания также может предоставлять информацию, ориентированную на объект, такую как ориентация, площадь или форма объекта.
Этот проект посвящен методу обнаружения и отслеживания объектов в реальном времени, в котором мы используем камеру видеонаблюдения для идентификации и отслеживания цели в зоне обзора камеры из комнаты наблюдения. Наряду с программным отслеживанием система также будет отслеживать объект на сцене с помощью установленной на лазере роботизированной руки. Роботизированная рука работает таким образом, что покрывает каждую координату в видеокадре своим движением панорамирования и наклона.
Ссылка на файл САПР -
Код
- mouse_drag_fina_larduino_workinh_code.ino
- facetracking_procesing_final_code.pde
- mouse_drag_fina_larduino_workinh_code.ino
mouse_drag_fina_larduino_workinh_code.ino Arduino
Это код обработки, который передает координаты мыши в Arduino и регулирует сервопривод в соответствии с положением указателя мыши///////////////////// Код обработки / //////////////////////////////// import processing.serial. *; import processing.video. *; import java.awt . *; import gab.opencv. *; Захват видео; OpenCV opencv; Serial Com7; float fpan, ftilt; int pan, tilt, x, y; int [] inBytes =new int [3]; void setup () {size (500 500); String portName =Serial.list () [0]; Com7 =новый последовательный порт (this, portName, 9600); видео =новый захват (это, 640/2, 480/2); opencv =новый OpenCV (это, 640/2, 480/2); opencv.loadCascade (OpenCV.CASCADE_FRONTALFACE); video.start (); // Com7 =новый Serial (this, Serial.list () [1], 9600); фон (0,0,0); эллипс (ширина / 2, ширина / 2,10,10);} void draw () {scale (2); opencv.loadImage (видео); noFill (); ход (0, 255, 0); strokeWeight (3); изображение (видео, 0, 0); Прямоугольник [] faces =opencv.detect (); println (faces.length); для (int я =0; я0) {inBytes [0] =inBytes [1]; inBytes [1] =inBytes [2]; inBytes [2] =Com7.read (); если (inBytes [2] ==255) {println (inBytes [0] + "," + inBytes [1]); // фон (0,0,0); // эллипс (ширина - inBytes [0] * ширина / 180, inBytes [1] * ширина / 180,10,10);}}} void captureEvent (Capture c) {c.read ();}
facetracking_procesing_final_code.pde Arduino
Этот код отслеживает лицо человека в диапазоне просмотра///////////////////// Код обработки ////////////// /////////////////// import processing.serial. *; import processing.video. *; import java.awt. *; import gab.opencv. *; Захватить видео; OpenCV opencv; Последовательный Com7; float fpan, ftilt; int pan, tilt, x, y; int [] inBytes =new int [3]; void setup () {size (500 500); String portName =Serial.list () [0]; Com7 =новый последовательный порт (this, portName, 9600); видео =новый захват (это, 640/2, 480/2); opencv =новый OpenCV (это, 640/2, 480/2); opencv.loadCascade (OpenCV.CASCADE_FRONTALFACE); video.start (); // Com7 =новый Serial (this, Serial.list () [1], 9600); фон (0,0,0); эллипс (ширина / 2, ширина / 2,10,10);} void draw () {scale (2); opencv.loadImage (видео); noFill (); ход (0, 255, 0); strokeWeight (3); изображение (видео, 0, 0); Прямоугольник [] faces =opencv.detect (); println (faces.length); для (int я =0; я0) {inBytes [0] =inBytes [1]; inBytes [1] =inBytes [2]; inBytes [2] =Com7.read (); если (inBytes [2] ==255) {println (inBytes [0] + "," + inBytes [1]); // фон (0,0,0); // эллипс (ширина - inBytes [0] * ширина / 180, inBytes [1] * ширина / 180,10,10);}}} void captureEvent (Capture c) {c.read ();}
mouse_drag_fina_larduino_workinh_code.ino Arduino
Это код Arduino для сервомеханизма#includebyte inBytes [3]; Servo panservo; Servo tiltservo; int panangle =90; int tiltangle =90; void setup () {Serial.begin (9600); panservo.attach (9); tiltservo.attach (11);} void loop () {if (Serial.available ()> 0) {inBytes [0] =inBytes [1]; inBytes [1] =inBytes [2] ]; inBytes [2] =Serial.read (); if (inBytes [2] ==255) {Serial.write (inBytes, 3); panangle =inBytes [0]; tiltangle =inBytes [1]; panservo.write (панорамирование); tiltservo.write (tiltangle);}}}
Открыть библиотеку резюме для обработки
Установите эту библиотеку, чтобы этот код работал https://github.com/atduskgreg/opencv-processingИзготовленные на заказ детали и корпуса
Производственный процесс
- Температурный профиль Raspberry Pi с использованием LabVIEW
- Удаленный мониторинг погоды с помощью Raspberry Pi
- SensorTag для Blynk с использованием Node-RED
- Отслеживание Raspberry Pi Ball
- Датчик движения с использованием Raspberry Pi
- Автоматическое отслеживание объекта обзора
- Робот, использующий Raspberry Pi и Bridge Shield
- Робот, управляемый Wi-Fi и использующий Raspberry Pi
- С# — строки
- Определение точности отслеживания динамических объектов