Wykonanie aparatu podąża za mną

9

Chcę nagrać wykłady, które wygłaszam w następnym semestrze. Mam kamerę wideo i mogę zmienić jej kierunek za pomocą jakiegoś serwomechanizmu. Jednak nie mam pojęcia, jak wykryć, gdzie jestem. Miałem ze sobą jakieś urządzenie nadawcze. Głównie wrażliwość powinna być w stanie określić, czy jestem po lewej, czy po prawej stronie pokoju, ale nie potrzebuję więcej.

Kasterma
źródło
1
Najprostszym sposobem byłoby użycie komputera i kamery internetowej. Komputer uruchamia śledzenie ruchu wzdłuż miejsca, w którym głowa i ramiona kontrolują serwo. Algorytm śledzenia jest tak prosty, jak szukanie średniej lokalizacji pikseli z największą zmianą… A może nie masz dostępnego komputera?
Chris H
@Chris H, jeśli masz informacje na temat tak łatwo dostępnego programu funkcjonalnego, myślę, że byłby to idealna odpowiedź.
Kortuk
Cóż, nie znam żadnego konkretnego, ale rozważ OpenCV. Możesz zastosować kadr, a następnie funkcję śledzenia ruchu. Przycinanie ma na celu upewnienie się, że nie odbierasz innych rzeczy w ruchu. Powinien wynieść łącznie około 100 linii kodu. Prawdopodobnie łatwiej go samemu kodować niż konfigurować i uczyć się innego programu, zwłaszcza, że ​​trzeba później połączyć się z silnikiem.
Chris H
Czy ktoś mógłby mi powiedzieć, jaki jest właściwy sposób działania, jeśli podane są dwie równie ważne odpowiedzi; mogę tylko wybrać jedną losowo się na odpowiedź?
kasterma
@kasterma: Tak, choć wybrałbyś jeden zamiast drugiego, wybrałbym to. Zawsze możesz głosować na nich obu.
Nick T

Odpowiedzi:

9

Możesz założyć kilka prostych diod IR, możesz także umieścić kilka odbiorników IR, wystarczyłyby proste fotodiody IR o wąskim kącie widzenia.

Jeśli umieścisz je wokół podstawy kamery, a następnie sprawdzisz mikrokontroler, który z nich ma największy sygnał, możesz skierować kamerę w stronę źródła podczerwieni.

Brzmi skomplikowanie, ale jest bardzo prosty i nie wymaga komputera. Sprzęt jest łatwy do zrobienia, chociaż prawdopodobnie znajdziesz w hałaśliwym otoczeniu (jasne światło), że będziesz chciał modulować podczerwień, aby oddalić się od odbieranych szumów szerokopasmowych.

Kortuk
źródło
Tak naprawdę próbowałem, działa, chyba że są duże okna.
Chris H
@Chris H, duże okno jest dla mnie wyzwaniem, aby uzyskać jaśniejszy emiter podczerwieni. Często modulacja może znacznie pomóc w problemie IR tła światła słonecznego lub świetlówek.
Kortuk
To brzmi jak bardzo fajne rozwiązanie, nie wiem jednak, co masz na myśli, gdy sugerujesz, że moduluję IR. Czy masz na myśli, że powinienem pulsować diodą IR na znaną częstotliwość, a następnie spróbować wykryć właśnie tę częstotliwość za pomocą odbiornika?
kasterma
@kasterma, Tak, o to mi chodzi. Na przykład pulsujesz diodą IR na częstotliwości 40 kHz, a następnie tworzysz filtr na 40 kHz w odbiornikach, aby zignorować szerokopasmowe podczerwień emitowane przez słońce i światła. Konieczne może być dostosowanie częstotliwości, aby uniknąć częstotliwości emitowanej przez lampy fluorescencyjne. możesz najpierw wypróbować tę modulację, aby sprawdzić, czy spełnia ona specyfikacje, ponieważ łatwiej to zrobić.
Kortuk
Widziałem to na konsoli Nintendo Wii. Bardzo fajny. +1
tyblu,
7

To, czego szukasz, może być związane z „śledzeniem obiektów blob”. Jest to powszechnie stosowana technika w robotyce i przetwarzaniu obrazu.

W zależności od twoich programów do programowania, możesz użyć OpenCV (biblioteki komputerowe typu open source) dostępne zarówno w C ++, jak i Python. Inne języki mogą mieć biblioteki obsługujące śledzenie obiektów blob. Uważam, że LabVIEW i Matlab mają również biblioteki do obsługi tego.

Ogólnie rzecz biorąc, konfiguracja będzie polegać na komputerze przetwarzającym wideo i znajdującym kroplę (ciebie) określonego koloru. Następnie możesz użyć informacji o położeniu kropli w ramce kamery, aby określić, gdzie skierować kamerę. Jeśli na przykład sterujesz serwomechanizmem w kamerze za pomocą Arduino (lub innego mikrokontrolera), możesz wysyłać polecenia przez port szeregowy w celu zaktualizowania żądanej pozycji kamery. Gdy kropelka pozostawia pożądane „pudełko” na środku ramki.

Jeśli chcesz, możesz wykonać bardziej sprytne śledzenie, wdrażając kombinację sterowania proporcjonalnego, całkowego i pochodnego (PID, jeśli szukasz w Internecie), aby spróbować utrzymać się w centrum kadru, ale może to być więcej niż potrzebujesz dla swojej aplikacji.

Edycja: Trochę wyszukiwania przyniosło następujący wynik: Aplikacje kreatywne . To mniej więcej rozwiązanie, które wyjaśniłem.

mjcarroll
źródło
4
Czas kupić koszulki o „unikatowych kolorach”.
Nick T
2
Po dalszym rozważeniu uważam, że rozwiązanie diod IR LED i czujnika Kortuk i użytkownika1498 byłoby bardziej niezawodnym podejściem. To prawda, ponieważ Nick T podnosi, przestrzeń kolorów jest już dość zatłoczona, więc wybranie się byłoby trudne.
mjcarroll
to brzmi jak inżynier wycofujący się z problemu.
Kortuk
@Kortuk, Niekoniecznie się wycofuję. Nadal uważam, że moje rozwiązanie może być „najlepsze”, jeśli chodzi o całkowicie samodzielny system (brak zewnętrznych czujników, nie więcej sprzętu niż wyraźnie podano w opisie problemu). Jeśli chodzi o łatwość implementacji i solidność (algorytmy wizji są nieco wybredne), myślę, że twoje rozwiązanie byłoby znacznie lepsze.
mjcarroll
Wiedziałem, co masz na myśli, myślę, że rozwiązanie sprzętowe jest bardziej samodzielne, ale oba mają duży kompromis.
Kortuk
3

Noszenie jednej lub więcej diod podczerwieni może pozwolić na śledzenie kamery przez kontroler wi

russ_hensel
źródło
2

Brzmi jak idealna praca dla Kinect i niektórych programów do przetwarzania - może oddzielać obiekty za pomocą informacji 3D, ma silniki z funkcją obrotu i wyjście wideo.

Martin Thompson
źródło
1
Zgadzam się, że może to być najprostsze, ale nie najtańsze
Matt Williamson,
2

Właśnie dlatego wymyślono studentów. Jestem pewien, że w końcu mógłbyś to zrobić elektronicznie, ale musiałoby być wiele wykładów, zanim warto to zrobić w porównaniu z tym, że ktoś z mózgiem obsługuje aparat.

Olin Lathrop
źródło
Plus piwo jest tańsze niż prąd.
Optimal Cynic
0

Jestem osobą, która zadała to pytanie i naprawdę podoba mi się zarówno odpowiedź OpenCV, jak i odpowiedź IR i będę się nimi bawić. W tym momencie oba problemy mają dla mnie pewne: moje zamówienie na podczerwień jest opóźnione, a moja kamera internetowa nie chce.

W tym przypadku moje oko padło na LV-Maxsonar EZ, z którym kupiłem chwilę temu. Nigdy tak naprawdę do tego nie doszedłem, ale teraz wydaje się, że mogłoby to stanowić podstawę do przyzwoitego rozwiązania. Jestem jedyną osobą poruszającą się przed pokojem, więc nie mam żadnych zakłóceń ani komputera.

To urządzenie podaje pomiary odległości w określonym kierunku. Jeśli ta odległość zmienia się, ktoś porusza się przed nią, a kamera powinna poruszać się w kierunku wskazywanym przez czujnik.

Kasterma
źródło
0

Sprawdź zestaw deweloperski PrimeSense (twórcy Kinect)

Producent opublikował sterowniki Kinect (i DevKit) dla systemu Windows i Unix tutaj: http://www.openni.org/

goodguys_activate
źródło
0

Śledzenie odbicia IR (i filtrowanie go z kamery, zgoda na nasłonecznienie pokoju) daje Tobie i uczniom szansę na pracę ADR, która pomaga ustawić Ciebie i wybrany kontekst w strefie zerowej. Powiedziałbym, że prawdopodobnie zaczerpnąłem z dołączonej aplikacji kamery internetowej dobrze sprawdzonej na Cnet.com (lub innym kluczowym miejscu, Amazon, Acer Support lub w inny sposób) lub Camtasia i użyłem tego zgodnie z zaleceniami.

Thrangalucchian
źródło
0

Spójrz na ruch , w szczególności funkcję śledzenia ruchu .

Joe Frazier
źródło
Chciałbym dowiedzieć się więcej o ruchu, ale samo podanie linku do strony internetowej nie daje odpowiedzi, ale stanowi punkt odniesienia dla odpowiedzi. Co to jest ruch, co on robi?
Kortuk