Membuat kamera ikuti saya

9

Saya ingin merekam beberapa kuliah yang saya berikan semester depan. Saya memiliki kamera video, dan dapat mengubah arahnya menggunakan semacam servo. Namun saya tidak tahu bagaimana cara mendeteksi keberadaan saya. Saya membawa beberapa perangkat penyiaran akan baik-baik saja. Kebanyakan sensitivitas harus dapat menentukan apakah saya berada di sisi kiri atau kanan ruangan, tetapi saya tidak perlu lebih dari itu.

kasterma
sumber
1
Cara termudah adalah menggunakan komputer dan webcam. Komputer menjalankan pelacakan gerakan di mana kepala dan bahu Anda kemudian mengontrol servo. Algoritma pelacakan semudah mencari rata-rata lokasi piksel dengan perubahan paling besar .... Atau apakah Anda tidak memiliki komputer?
Chris H
@ Chris H, jika Anda memiliki info tentang program fungsional yang mudah tersedia, saya pikir itu akan membuat jawaban yang sempurna.
Kortuk
Yah, saya tidak tahu secara spesifik, tetapi pertimbangkan OpenCV. Anda dapat menerapkan pemangkasan kemudian fungsi pelacakan gerakan. Memotong hanya untuk memastikan bahwa Anda tidak mengambil barang lain yang bergerak. Itu harus keluar menjadi sekitar 100 baris total kode. Mungkin lebih mudah untuk mengkodekan sendiri daripada mengkonfigurasi dan mempelajari program lain, terutama karena Anda perlu berinteraksi dengan motor sesudahnya.
Chris H
Dapatkah seseorang memberi tahu saya apa cara yang benar untuk bertindak adalah jika ada dua jawaban yang diberikan yang sama-sama valid; saya hanya memilih satu secara acak untuk menjadi yang jawabannya?
kasterma
@asterma: Ya, meskipun jika Anda benar-benar menerapkan satu bukan yang lain, saya akan memilih itu. Anda selalu dapat memilih keduanya.
Nick T

Jawaban:

9

Anda dapat memakai beberapa LED IR sederhana, Anda kemudian dapat juga menempatkan sejumlah penerima IR, hanya foto-dioda IR sederhana akan bekerja, dengan sudut pandang yang sempit.

Jika Anda meletakkannya di sekitar dasar kamera dan kemudian membaca mikrokontroler yang mana yang memiliki sinyal terbesar, Anda dapat mengarahkan kamera ke sumber IR.

Kedengarannya rumit, tetapi sangat sederhana, dan tidak memerlukan komputer. Perangkat kerasnya mudah dilakukan, meskipun Anda mungkin akan menemukan di lingkungan yang bising (cahaya terang) Anda akan ingin memodulasi IR Anda untuk menjauh dari kebisingan broadband yang Anda terima.

Kortuk
sumber
Saya sudah mencoba ini sebenarnya, berfungsi kecuali ada jendela besar.
Chris H
@ Chris H, jendela besar hanyalah sebuah tantangan bagi saya untuk mendapatkan pemancar IR yang lebih terang. Seringkali modulasi dapat secara signifikan membantu masalah latar belakang IR dari cahaya matahari atau lampu neon.
Kortuk
Ini terdengar seperti solusi yang sangat bagus, saya tidak tahu apa yang Anda maksud ketika Anda menyarankan saya memodulasi IR saya. Apakah maksud Anda, saya harus menyalakan IR LED pada frekuensi yang diketahui, dan kemudian coba mendeteksi frekuensi itu dengan penerima?
kasterma
@asterma, Ya, itulah yang saya maksud. Misalnya, Anda pulsa LED IR pada 40KHz, dan kemudian membuat filter pada 40KHz pada penerima sehingga Anda mengabaikan inframerah broadband, Matahari dan lampu memancarkan. Anda mungkin perlu menyesuaikan frekuensi untuk menghindari frekuensi yang diberikan lampu neon Anda. Anda dapat mencobanya tanpa modulasi ini terlebih dahulu untuk melihat apakah memenuhi spesifikasi karena lebih mudah dilakukan.
Kortuk
Saya telah melihat ini dilakukan dengan Nintendo Wii. Sangat keren. +1
tyblu
7

Apa yang Anda cari mungkin terkait dengan "pelacakan gumpalan". Ini adalah teknik yang biasa digunakan dalam robotika dan pemrosesan penglihatan.

Bergantung pada chops pemrograman Anda, Anda dapat menggunakan OpenCV (open source computer vision libraries) yang tersedia dalam C ++ dan Python. Bahasa lain mungkin memiliki perpustakaan yang mendukung pelacakan gumpalan. Saya percaya bahwa LabVIEW dan Matlab juga memiliki perpustakaan untuk mendukung ini.

Secara umum, setup adalah komputer yang memproses video dan menemukan gumpalan (Anda) dengan warna tertentu. Anda kemudian dapat menggunakan informasi posisi gumpalan dalam bingkai kamera untuk menentukan di mana mengarahkan kamera. Jika Anda, misalnya, menggerakkan servo pada kamera dengan Arduino (atau mikrokontroler lainnya), Anda dapat mengirim perintah melalui port serial untuk memperbarui posisi kamera yang diinginkan. Ketika gumpalan meninggalkan beberapa "kotak" yang diinginkan di tengah bingkai.

Jika mau, Anda dapat melakukan beberapa pelacakan yang lebih pintar dengan menerapkan beberapa kombinasi kontrol Proportional, Integral, dan Derivatif (PID, jika Anda mencari di internet), untuk mencoba dan membuat diri Anda tetap terpusat pada frame, tetapi ini mungkin lebih dari yang Anda butuhkan untuk aplikasi Anda.

Sunting: Sedikit pencarian menghasilkan hasil ini: Aplikasi Kreatif . Ini kurang lebih solusi yang saya jelaskan.

mjcarroll
sumber
4
Saatnya membeli beberapa kemeja "berwarna unik".
Nick T
2
Atas pertimbangan lebih lanjut, saya percaya bahwa solusi Kortuk dan pengguna IR LED dan sensor akan menjadi pendekatan yang lebih kuat. Ini benar karena poin yang diangkat oleh Nick T, ruang warna sudah cukup ramai, jadi memilih diri sendiri akan sulit.
mjcarroll
itu terdengar seperti seorang insinyur mundur dari masalah.
Kortuk
@Kortuk, Belum tentu mundur. Saya masih berpikir bahwa solusi saya mungkin yang terbaik, sejauh sistem yang sepenuhnya mandiri (tidak ada sensor eksternal, tidak ada lebih banyak perangkat keras daripada yang secara eksplisit dinyatakan dalam pernyataan masalah). Sejauh kemudahan implementasi dan ketahanan (algoritma visi menjadi agak rewel), saya pikir solusi Anda akan jauh lebih baik.
mjcarroll
Saya tahu apa yang Anda maksud, saya pikir solusi perangkat keras lebih mandiri tetapi ada tradeoff besar untuk keduanya.
Kortuk
3

Mengenakan satu atau lebih led IR mungkin membiarkan kamera seperti pengontrol wi melacak Anda

russ_hensel
sumber
2

Kedengarannya seperti pekerjaan yang ideal untuk Kinect dan beberapa perangkat lunak pemrosesan - dapat memisahkan subjek dengan info 3d, memiliki motor pan-tilt dan output video.

Martin Thompson
sumber
1
Saya setuju ini mungkin yang paling mudah tetapi bukan yang termurah
Matt Williamson
2

Inilah sebabnya mengapa mahasiswa pascasarjana diciptakan. Saya yakin Anda bisa melakukan ini secara elektronik pada akhirnya, tetapi harus ada banyak ceramah sebelum itu layak dilakukan dibandingkan dengan seseorang yang memiliki otak menangani kamera.

Olin Lathrop
sumber
Ditambah bir lebih murah daripada listrik.
Optimal Cynic
0

Saya adalah orang yang mengajukan pertanyaan ini, dan saya sangat menyukai jawaban OpenCV dan jawaban yang dipimpin IR dan akan bermain dengan mereka berdua. Pada titik ini, keduanya memiliki beberapa masalah bagi saya: pesanan yang dipimpin IR saya semakin tertunda, dan webcam saya tidak mau.

Karena itu mataku jatuh pada LV-Maxsonar EZ yang aku beli untuk bermain beberapa waktu yang lalu. Saya tidak pernah benar-benar melakukannya, tetapi sekarang sepertinya akan memunculkan solusi yang layak di sini. Saya satu-satunya orang yang bergerak di depan ruangan, jadi tidak ada gangguan, dan tidak ada komputer yang dibutuhkan.

Perangkat ini memberikan pengukuran jarak dalam arah tertentu. Jika jarak ini mengubah seseorang yang bergerak di depannya, dan kamera harus bergerak ke arah yang ditunjuk sensor itu.

kasterma
sumber
0

Lihatlah Primekit devkit (pembuat Kinect)

Pabrikan merilis driver Windows dan Unix Kinect (dan DevKit) di sini: http://www.openni.org/

goodguys_activate
sumber
0

Melacak percikan IR (dan memfilternya dari kamera, insolasi ruangan menyetujui) memberi Anda dan siswa kesempatan yang baik untuk pekerjaan ADR yang membantu menempatkan Anda dan konteks yang Anda pilih di zona nol. Yang mengatakan saya mungkin akan diambil dari aplikasi webcam yang dibundel dengan baik ditinjau di Cnet.com (atau tempat kritis lain, Amazon, Dukungan Acer atau sebaliknya) atau Camtasia dan menggunakannya sebagai diarahkan.

Thrangalucchian
sumber
0

Lihat gerak , khususnya, fitur pelacakan gerak .

Joe Frazier
sumber
Saya akan tertarik untuk mengetahui lebih banyak tentang gerak, tetapi hanya memberi kami tautan ke situs web tidak memberikan jawaban, itu memberikan referensi untuk jawaban. Apa itu gerak, apa fungsinya?
Kortuk