Orodha ya maudhui:

CribSense: Monitorless, Video-based Baby Monitor: Hatua 9 (na Picha)
CribSense: Monitorless, Video-based Baby Monitor: Hatua 9 (na Picha)

Video: CribSense: Monitorless, Video-based Baby Monitor: Hatua 9 (na Picha)

Video: CribSense: Monitorless, Video-based Baby Monitor: Hatua 9 (na Picha)
Video: NOOBS PLAY GAME OF THRONES FROM SCRATCH 2024, Novemba
Anonim
CribSense: Monitorless, Video-based Baby Monitor
CribSense: Monitorless, Video-based Baby Monitor
CribSense: Monitorless, Video-based Baby Monitor
CribSense: Monitorless, Video-based Baby Monitor

CribSense ni video inayotegemea video, isiyo na mawasiliano ambayo unaweza kujifanya bila kuvunja benki

CribSense ni utekelezaji wa C ++ wa Ukuzaji wa Video iliyopangwa ili uendeshe kwenye Raspberry Pi 3 Model B. Mwishoni mwa wiki, unaweza kusanikisha ufuatiliaji wako wa mtoto wa kitanda anayeongeza kengele ikiwa mtoto wako ataacha kusonga. Kama bonasi, programu yote ni bure kutumia kwa sababu zisizo za kibiashara na inaweza kupanuliwa kwa urahisi.

Hifadhi kamili iliyo na faili za chanzo na nyaraka zinaweza kupatikana katika

Wakati tunafikiria CribSense ni ya kupendeza sana, ni muhimu kukumbuka kuwa hii sio kifaa cha usalama kilichothibitishwa na kisicho na ujinga. Hiyo ni, inahitaji kusanidiwa vizuri na kuwa na mazingira yanayodhibitiwa vizuri ili ifanye kazi. Kwa mfano, ikiwa haijasanifiwa vizuri na / au mazingira kwenye video hayafai ukuzaji wa video, unaweza usiweze kuitumia. Tulifanya hii kama mradi wa kufurahisha kuona ni kwa vipi tunaweza kuwa na programu nzito ya kukokotoa kama ukuzaji wa video inayoendeshwa kwa vifaa vyenye hesabu kama Raspberry Pi. Bidhaa yoyote halisi itahitaji upimaji zaidi kuliko sisi. Kwa hivyo, ikiwa unatumia mradi huu, chukua ni nini: uchunguzi mfupi wa ukuzaji wa video kwenye Pi.

Nini utahitaji:

Raspberry Pi + Kamera + Zana za Usanidi:

  • Raspberry Pi 3 Mfano B
  • 5V 2.5A Ugavi wa Umeme wa USB Micro
  • Moduli ya Kamera ya Raspberry Pi NoIR V2
  • Kadi ya MicroSD (tulitumia Kadi ya Darasa la 10GB)
  • Cable Flex ya Kamera ya Raspberry Pi (12 ")
  • Spika zilizo na pembejeo ya 3.5mm
  • Mfuatiliaji wa HDMI
  • Kinanda cha USB
  • Panya ya USB
  • [hiari] Raspberry Pi Heatsink (ikiwa una wasiwasi juu ya joto, unaweza kubandika moja ya hizi kwenye Pi yako)

Mzunguko wa LED ya IR kwa operesheni ya taa nyepesi:

  • [3x] 1N4001 Diode
  • 1 Ohm, 1W Mpingaji
  • Taa ya 1W IR
  • Waya 2 kwa kuunganisha LED kwa Pi
  • Chuma cha kulehemu

Chassis:

  • Ufikiaji wa printa ya 3D (kiwango cha chini cha kujenga = 9.9 "L x 7.8" W x 5.9 "H) ili kuchapisha chasisi yetu. Walakini, jisikie huru kuunda yako mwenyewe.
  • Gundi (aina yoyote ya gundi itafanya kazi, lakini gundi ya moto inapendekezwa kwa prototyping).

Hatua ya 1: Mahitaji

Kabla ya kuanza mwongozo wetu wa hatua kwa hatua, unapaswa kuwa tayari umeweka toleo la hivi karibuni la Raspbian kwenye kadi yako ya SD na uhakikishe kuwa Pi yako inafanya kazi. Utahitaji pia kuwezesha moduli ya kamera kabla ya kufikia kamera.

Hatua ya 2: Kusanikisha Programu ya CribSense

CribSense inategemea autoconf, libtool, OpenCV, na libcanberra, pamoja na zana za kawaida za programu.

  • autoconf na libtool hutumiwa kusanidi faili za kujipanga na kuunda hati za CribSense kwenye majukwaa mengi (kama Linux, OSX, na Raspberry Pi).
  • OpenCV ni kifurushi chenye nguvu cha maono ya kompyuta kinachotumiwa kusindika picha na ndio msingi wa ukuzaji wa video na nambari ya kugundua mwendo. Inayo msaada mkubwa, ni rahisi kutumia, na ina utendaji mzuri.
  • libcanberra ni maktaba rahisi ya kucheza sauti za hafla. Inatumika kucheza sauti ya kengele kwa CribSense.

Tembelea kurasa zao za kibinafsi kupata maelezo kamili.

Sakinisha hizi kwa kufungua terminal kwenye Pi yako na kukimbia:

Sudo apt-get install git build-muhimu autoconf libtool libopencv-dev libcanberra-dev

Ifuatayo unahitaji kuweka dereva wa kamera kujiendesha kwa kuongeza bcm2835-v4l2 kwa `/ etc / modules-load.d / modules.conf`. Moduli zako.conf inapaswa kuonekana kama hii:

# / nk / moduli: moduli za kernel za kupakia wakati wa boot.

# # Faili ina majina ya moduli za kernel ambazo zinapaswa kupakiwa # wakati wa buti, moja kwa kila mstari. Mistari inayoanza na "#" hupuuzwa. i2c-dev bcm2835-v4l2

Mara faili imebadilishwa, lazima uwashe tena Pi yako. Dereva huyu hutumiwa na CribSense kuvuta moja kwa moja muafaka kutoka kwa Kamera ya NoIR.

Halafu, unaweza kubandika hifadhi kwa kuendesha:

clone ya git

Ifuatayo, nenda kwenye hazina na ujenge programu kwa kuendesha

cd CribSense

./autogen.sh --prefix = / usr --sysconfdir = / nk - inayoweza kusumbua -datua tengeneza Sudo kufanya kusakinisha sudo systemctl daemon-kupakia tena

Hongera, umeweka programu zote muhimu!

Usanidi

CribSense ni customizable kupitia faili rahisi ya usanidi wa INI. Baada ya kuendesha "fanya kufunga", faili ya usanidi iko kwenye /etc/cribsense/config.ini. Unaweza kuona na kuhariri vigezo hivi kwa kukimbia

Sudo nano /etc/cribsense/config.ini

Maelezo mafupi ya kila parameta hutolewa katika usanidi wa msingi, lakini maelezo zaidi yanapatikana kwa https://lukehsiao.github.io/CribSense/setup/config/. Pia tutajadili juu ya usawazishaji na usanidi mwishoni mwa mwongozo huu.

Mbio CribSense

CribSense iliundwa kuendesha wakati wa kuanza kwa kutumia huduma ya mfumo. Wakati umeunganishwa na Raspberry yako Pi na kibodi na panya yako, unapaswa kuhakikisha kuwa vigezo vya usanidi hufanya kazi kwa kitanda chako. Huenda ukahitaji kurekebisha tena vigezo hivi ikiwa utavisogeza.

Wakati unatafuta vigezo, unaweza kukimbia cribsense kwa mapenzi kutoka kwa laini ya amri kwa kukimbia

cribsense --config /etc/cribsense/config.ini

Mara tu utakaporidhika, unaweza kuwezesha autorun kwa kukimbia

Sudo systemctl kuwezesha cribsense

Unaweza kuzuia cribsense kukimbia kiotomatiki kwa kukimbia

Sudo systemctl afya cribsense

Muhtasari wa Programu

Programu ya CribSense ni moyo na roho ya mradi huu. Tuliona demo zingine nzuri za ukuzaji wa video kutoka MIT, na tukataka kujaribu kutumia algorithm kama hiyo kwenye Raspberry Pi. Hii ilihitaji zaidi ya kasi ya 10x kutoka kwa kazi ya tbl3rd kwenye utekelezaji wake wa C ++ wa ukuzaji wa video ili kuendesha wakati halisi kwenye Pi. Uboreshaji unaohitajika uliongoza muundo wetu wa programu.

Katika kiwango cha juu, CribSense inarudia mara kwa mara kupitia mashine ya serikali ya programu. Kwanza, hugawanya kila 640x480, fremu ya video ya kijivu katika sehemu 3 zenye usawa (640x160) kwa eneo bora la kashe. Halafu inakuza kila bendi katika uzi tofauti, na inafuatilia mwendo unaonekana kwenye fremu. Baada ya kufuatilia mwendo kwa sekunde kadhaa, huamua eneo la msingi la mwendo na mazao sura yake. Hii inapunguza jumla ya saizi ambazo algorithm inahitaji kusindika. Halafu, CribSense inafuatilia kiwango cha mwendo kwenye mkondo uliopunguzwa na inasikika kengele ikiwa hakuna mwendo unaogunduliwa kwa muda unaoweza kusanidiwa. Mara kwa mara, CribSense itafungua maoni yake tena ili kufuatilia sura kamili ikiwa mtoto atahamia na kupanda tena kuzunguka eneo mpya la mwendo.

Ukuzaji wa video hutumiwa kuongeza ishara kwa uwiano wa kelele ya harakati hila kama kupumua kwa watoto wachanga. Haitakuwa muhimu kwa harakati kubwa, lakini inaweza kusaidia kwa harakati nyembamba sana. Kumbuka kuwa utekelezaji wetu uko huru kulingana na hesabu iliyoelezewa kwenye majarida ya MIT, na haifanyi kazi kama nambari yao ya umiliki.

Uboreshaji kama kusoma mengi, upunguzaji wa mazao, na uboreshaji wa mkusanyiko ulitupa takriban kasi ya 3x, 3x, na 1.2x, mtawaliwa. Hii ilituruhusu kufikia kasi ya kasi ya 10x inayohitajika kuendesha wakati halisi kwenye Pi.

Maelezo kamili yanaweza kupatikana kwenye ukurasa wa Usanifu wa Programu wa hazina ya CribSense.

Ikiwa una nia ya ukuzaji wa video, tafadhali tembelea ukurasa wa MIT.

Hatua ya 3: Kuweka vifaa vyako tayari: Unganisha Kamera yako

Kuweka vifaa vyako tayari: Unganisha Kamera yako
Kuweka vifaa vyako tayari: Unganisha Kamera yako

Kwanza, ubadilishe kebo "6 iliyokuja na kamera na kebo ya 12". Ili kufanya hivyo, unaweza kufuata tu mafunzo haya juu ya jinsi ya kuchukua nafasi ya kebo ya kamera.

Kwa muhtasari, utaona kichupo cha kushinikiza / kuvuta nyuma ya kamera ambayo unaweza kuvuta ili kutolewa kebo ya kubadilika. Badilisha nafasi ya kebo fupi na ile ndefu na ubonyeze kichupo hicho ndani.

Utagundua kuwa tuna kebo 24 "kwenye picha zetu. Ilikuwa ndefu sana. Cable 12" kwenye orodha ya vifaa ni urefu mzuri zaidi.

Hatua ya 4: Kupata vifaa vyako tayari: IR LED

Kupata vifaa vyako tayari: IR LED
Kupata vifaa vyako tayari: IR LED
Kupata vifaa vyako tayari: IR LED
Kupata vifaa vyako tayari: IR LED
Kupata vifaa vyako tayari: IR LED
Kupata vifaa vyako tayari: IR LED

CribSense ni rahisi kujenga, na kwa kiasi kikubwa imeundwa na sehemu zinazopatikana kibiashara. Kama inavyoonekana katika takwimu hapo juu, kuna vifaa vikuu 5 vya vifaa, 2 tu ambazo zimetengenezwa kwa kawaida. Ukurasa huu utapita jinsi ya kujenga mzunguko wa IR ya IR, na ukurasa unaofuata utapita jinsi ya kujenga chasisi.

Kwa sehemu hii, unahitaji kupata chuma chako cha kutengeneza, waya, diode, LED ya IR, na kontena. Tutakuwa tukijenga mzunguko ulioonyeshwa kwenye takwimu ya 2. Ikiwa wewe ni mpya kwa kutengenezea, hapa kuna mwongozo mzuri ambao utakupata. Wakati mwongozo huu unazungumzia kutengenezea shimo kupitia shimo, unaweza kutumia mbinu zile zile za msingi kuunganisha vifaa hivi pamoja kama inavyoonyeshwa kwenye takwimu ya 3.

Ili kutoa taa za kutosha usiku, tunatumia IR LED, ambayo haionekani kwa macho ya mwanadamu lakini inaonekana kwa kamera ya NoIR. LED ya IR haitumii nguvu nyingi ikilinganishwa na Raspberry Pi, kwa hivyo tunaacha taa ya IR ikiwashwa kwa sababu ya unyenyekevu.

Katika matoleo ya mapema ya Pi, kiwango cha juu cha pato la pini hizi kilikuwa 50mA. Raspberry Pi B + iliongeza hii hadi 500mA. Walakini, tunatumia tu pini za nguvu za 5V kwa urahisi, ambayo inaweza kusambaza hadi 1.5A. Voltage ya mbele ya IR IR ni karibu 1.7 ~ 1.9V kulingana na vipimo vyetu. Ingawa IR LED inaweza kuteka 500mA bila kujiharibu yenyewe, tunapunguza sasa hadi karibu 200mA kupunguza joto na matumizi ya jumla ya nguvu. Matokeo ya majaribio pia yanaonyesha kuwa IR LED ni mkali wa kutosha na 200mA ya sasa ya pembejeo. Ili kuziba pengo kati ya 5V na 1.9V, tunatumia diode tatu za 1N4001 na kontena la 1 Ohm katika safu na IR ya IR. Kushuka kwa voltage juu ya waya, diode, na kontena ni karibu 0.2V, 0.9V (kwa kila moja) na 0.2V, mtawaliwa. Kwa hivyo, voltage juu ya IR LED ni 5V - 0.2V - (3 * 0.9V) - 0.2V = 1.9V. Utaftaji wa joto juu ya LED ni 0.18W na 0.2W juu ya kontena, yote ni sawa na viwango vyao vya juu.

Lakini bado hatujamaliza! Ili kupata kifafa bora kwenye chasisi ya 3D iliyochapishwa, tunataka kuwa na lensi za LED za IR kutoka kwa chasisi yetu na kuwa na bodi ya PCB na shimo. Photodiode ndogo iliyo chini kulia itaingia. Ili kurekebisha hii, tunaiangusha na kuibadilisha kwa upande wa ubao kama inavyoonyeshwa kwenye picha mbili za mwisho. Photodiode haihitajiki kwani tunataka taa iwepo kila wakati. Kubadilisha tu kwa upande wa pili kunaacha mzunguko wa asili wa LED bila kubadilika.

Unapouza waya, hakikisha waya zina urefu wa angalau inchi 12 na zina vichwa vya pini ambavyo vinaweza kuteleza juu ya GPIO za Pi.

Hatua ya 5: Kuweka vifaa vyako tayari: Chassis

Kuandaa vifaa vyako tayari: Chassis
Kuandaa vifaa vyako tayari: Chassis
Kuandaa vifaa vyako tayari: Chassis
Kuandaa vifaa vyako tayari: Chassis
Kuandaa vifaa vyako tayari: Chassis
Kuandaa vifaa vyako tayari: Chassis

Chanzo Files:

  • Uchunguzi STL
  • Kesi Makerbot
  • Funika STL
  • Funika Makerbot

Tulitumia chasisi rahisi ya 3D kuchapisha Pi, kamera, na LED. Kutumia chasisi yetu ni ya hiari, ingawa inashauriwa kuzuia watoto wadogo kugusa mizunguko iliyo wazi ya elektroniki. Kila kitanda ni tofauti, kwa hivyo chasisi yetu haijumuishi kujumuisha bracket. Chaguzi kadhaa za kufunga zinaweza kujumuisha:

  • Cable Ties
  • 3M Kufuli Dual
  • Velcro
  • Tape

Ikiwa una ufikiaji wa Replicator ya MakerBot (Kizazi cha 5), unaweza kupakua faili za. Inachukua kama masaa 6 kuchapisha kesi na masaa 3 kuchapisha kifuniko. Ikiwa unatumia aina tofauti ya printa ya 3D, tafadhali endelea kusoma.

Kiwango cha chini cha kujenga cha 9.9 "(L) x 7.8" (W) x 5.9 "(H) inahitajika kuchapisha CribSense. Ikiwa huwezi kufikia printa ya 3D na ujazo huu, unaweza kutumia uchapishaji wa 3D mkondoni huduma (kama Shapeways au Sculpteo) kuchapisha CribSense. Azimio la chini la kuchapisha ni 0.015 ". Ikiwa unatumia fyuzi ya utengenezaji wa filamenti iliyochanganywa ya aina ya 3D, hii inamaanisha kuwa kipenyo chako cha bomba kinahitaji kuwa 0.015 "au ndogo. Printa zilizo na maazimio ya chini ya kuchapisha (vipenyo vikubwa vya bomba) zinaweza kufanya kazi, lakini Raspberry Pi inaweza kutoshea kwenye chasisi. Tunapendekeza PLA (polylactic acid) kama nyenzo ya uchapishaji inayopendelea. Plastiki zingine zinaweza kufanya kazi, lakini Raspberry Pi inaweza kutoshea katika kesi ikiwa mgawo wa upanuzi wa joto wa plastiki iliyochaguliwa ni kubwa kuliko ile ya PLA. Ikiwa printa yako ya 3D ina bamba la kujenga moto, zima heater kabla ya kuendelea.

Kuelekeza mfano kwenye sahani ya printa yako ni muhimu kwa uchapishaji uliofanikiwa. Mifano hizi zilibuniwa kwa uangalifu kwa hivyo hazihitaji kuchapishwa na nyenzo za msaada, na hivyo kuokoa plastiki na kuboresha ubora wa kuchapisha. Kabla ya kuendelea, pakua faili za 3D za kesi hiyo na funika. Wakati wa kuchapisha mifano hii, shingo ya CribSense lazima iweke gorofa kwenye bamba la kujenga. Hii inahakikisha kuwa pembe zote za mifano hazizidi digrii 45, na hivyo kuondoa mahitaji ya nyenzo za msaada. Kwa maagizo juu ya kuelekeza mifano ya 3D katika ujazo wa printa yako, tafadhali rejea mwongozo wa maagizo unaokuja na printa yako ya 3D. Mifano ya mwelekeo wa kujenga wa kesi na kifuniko imeonyeshwa hapo juu.

Mbali na kuweka shingo ya gorofa ya CribSense dhidi ya bamba la kujenga, unaweza kugundua kuwa mifano imezungushwa karibu na mhimili wima. Hii inaweza kuwa muhimu kutoshea mfano ndani ya ujazo wa printa yako ya 3D. Mzunguko huu ni wa hiari ikiwa urefu wa ujazo wako ni mrefu wa kutosha kuchukua CribSense.

Hatua ya 6: Kupata vifaa vyako tayari: Mkutano

Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano
Kupata vifaa vyako tayari: Mkutano

Mara tu ukiwa na vifaa vyote tayari, unaweza kuanza kusanyiko. Gundi yoyote inaweza kutumika katika mchakato huu, lakini tunapendekeza gundi moto kwa sababu kuu mbili. Gundi moto hukauka haraka, kwa hivyo hauitaji kusubiri kwa muda mrefu gundi ikauke. Kwa kuongeza, gundi ya moto huondolewa ikiwa unafanya makosa. Ili kuondoa gundi ya moto iliyokaushwa, loweka gundi moto ndani ya rubbing (isopropyl) pombe. Tunapendekeza mkusanyiko wa 90% au zaidi, lakini mkusanyiko wa 70% bado utafanya kazi. Kuloweka gundi ya moto iliyokaushwa kwenye pombe ya isopropyl itapunguza dhamana kati ya gundi na uso wa msingi, ikiruhusu kung'oa gundi hiyo vizuri. Unapoweka gundi kwenye pombe ya isopropyl, Raspberry Pi inapaswa kuzimwa na kutolewa. Hakikisha kuruhusu kila kitu kikauke kabla ya kutumia tena gundi moto na kuwasha Raspberry Pi.

Picha zote za hatua hizi ziko sawa na zinafuata hatua za maandishi.

  1. Ingiza Raspberry Pi kwenye chasisi. Utahitaji kuibadilisha kidogo kupata bandari ya sauti, lakini ikiingia tu, jack ya sauti itaiweka mahali pake. Mara tu ikiwa iko, hakikisha kuwa bandari zote bado zinaweza kupatikana (kwa mfano unaweza kuziba kebo ya umeme).
  2. Ifuatayo, tumia gundi ya moto kushika Pi mahali pake na ambatanisha kamera na Pi. Kuna mashimo ya screw pia ikiwa unapendelea kutumia hizo.
  3. Sasa gundi LED na kamera kwenye kifuniko cha mbele (picha). Anza kwa gluing moto kamera ya NoIR kwenye shimo la kamera. Hakikisha kuwa kamera imefungwa na imewekwa na chasisi. Usitumie gundi nyingi; vinginevyo, hautaweza kutoshea kamera kwenye kesi kuu. Hakikisha kuwa na nguvu kwenye Pi na uangalie kamera (`raspistill -v`, kwa mfano) ili kuhakikisha kuwa ina pembe nzuri na ina uwanja mzuri wa maoni. Ikiwa sivyo, ondoa gundi moto na uweke tena.
  4. Ifuatayo, gundi LED ya IR kwenye shimo kwenye shingo la kifuniko. Shingo iko katika pembe ya digrii 45 ili kuangazia kitanda, ambayo husababisha vivuli zaidi katika hali nyepesi. Hii inaongeza tofauti zaidi na picha, na kuifanya iwe rahisi kugundua mwendo.
  5. Ambatisha nyaya za IR za IR kwenye pini za kichwa cha Raspberry Pi kama inavyoonekana kwenye picha ya skimu.
  6. Pakia nyaya ndani ya chasisi kwa njia ambayo haiwezi kuzipunguza au kuzichuja. Tulimaliza kukunja mtindo wa kordoni ya kebo kwa sababu kebo yetu ya kubadilika kwa kamera ilikuwa ndefu sana.
  7. Pamoja na kila kitu kilichowekwa ndani, gundi moto pembeni mwa sehemu ambazo vipande viwili hukutana, kuzifunga mahali.

Hatua ya 7: Usawazishaji

Image
Image
Upimaji
Upimaji

Maelezo juu ya vigezo vya usanidi yanaweza kupatikana katika hati ya hazina ya CribSense. Pia angalia video ili uone mfano wa jinsi unaweza kusawazisha CribSense baada ya kuweka kila kitu.

Hapa kuna sampuli ya faili ya usanidi:

[io]; Usanidi wa I / O

; pembejeo = njia_ya_file; Ingiza faili kutumia input_fps = 15; rps ya pembejeo (40 max, 15 ilipendekeza ikiwa unatumia kamera) full_fps = 4.5; rps ambayo muafaka kamili unaweza kusindika mazao_ps = 15; rps ambayo muafaka uliopunguzwa unaweza kusindika kamera = 0; Kamera ya kutumia upana = 640; Upana wa urefu wa video ya pembejeo = 480; Urefu wa saa ya kuingiza video_to_alarm = 10; Sekunde ngapi kusubiri bila mwendo kabla ya kengele. [kukata]; Mipangilio ya Kupunguza mazao ya mazao = kweli; Iwe au usipande muafaka_to_settle = 10; muafaka # kusubiri baada ya kuweka upya kabla ya kusindika roi_update_interval = 800; # muafaka kati ya kuhesabu ROI roi_window = 50; # muafaka wa kufuatilia kabla ya kuchagua ROI [mwendo]; Mipangilio ya Kugundua Mwendo erode_dim = 4; mwelekeo wa kernel ya erode dilate_dim = 60; mwelekeo wa upeo wa kernel diff_threshold = 8; tofauti ya abs inahitajika kabla ya kutambua mabadiliko ya muda = 1; muafaka # kudumisha mwendo kabla ya kuweka alama ya kweli pixel_threshold = 5; saizi # ambazo lazima ziwe tofauti kutia alama kama mwendo show_diff = uwongo; onyesha tofauti kati ya muafaka 3 [ukuzaji]; Mipangilio ya Ukuzaji wa Video hukuza = 25; Ukuzaji wa% unataka chini-cutoff = 0.5; Mzunguko wa chini wa bandpass. high-cutoff = 1.0; Mzunguko wa juu wa bandpass. kizingiti = 50; Kizingiti cha awamu kama% ya pi. show_magnification = uwongo; Onyesha fremu za pato la kila ukuzaji [utatuzi] print_times = uongo; Magazeti nyakati uchambuzi

Upimaji wa algorithm ni juhudi ya kurudia, bila suluhisho halisi. Tunakuhimiza ujaribu maadili anuwai, ukichanganya na huduma za utatuzi, kupata mchanganyiko wa vigezo vinavyofaa zaidi kwa mazingira yako. Kabla ya kuanza usanifishaji, hakikisha onyesha_tofauti na onyesho la onyesho limewekwa kuwa kweli.

Kama mwongozo, kuongeza ukuzaji na maadili ya kiwango_ya kuongeza kiwango cha ukuzaji unaotumika kwenye video ya kuingiza. Unapaswa kubadilisha maadili haya mpaka uone wazi harakati unayotaka kufuatilia kwenye fremu ya video. Ukiona mabaki, kupunguza kizingiti cha awamu wakati kuweka ukuzaji sawa kunaweza kusaidia.

Vigezo vya kugundua mwendo husaidia kulipa fidia kelele. Wakati wa kugundua maeneo ya mwendo, erode_dim na dilate_dim hutumiwa ukubwa wa viini vya kokwa za OpenCV zinazotumiwa kumaliza na kupanua mwendo ili kelele kwanza iondolewe, basi ishara ya mwendo iliyobaki imekunuliwa sana ili kufanya maeneo ya mwendo wazi. Vigezo hivi pia vinahitaji kuangaliwa ikiwa kitanda chako kiko katika mpangilio wa hali ya juu sana. Kwa ujumla, utahitaji erode_dim ya juu kwa mipangilio ya utofautishaji wa hali ya juu, na erode_dim ya chini kwa utofauti wa chini.

Ikiwa unatumia CribSense na show_diff = kweli na unaona kuwa pato la mkusanyiko ni nyeupe, au sehemu isiyohusiana kabisa ya video hugunduliwa kama mwendo (kwa mfano taa inayoangaza), ongeza erode_dim mpaka sehemu tu ya video sambamba na mtoto wako ni sehemu kubwa zaidi ya nyeupe. Takwimu ya kwanza inaonyesha mfano ambapo mwelekeo wa mmomonyoko ni mdogo sana kwa kiwango cha mwendo kwenye fremu, wakati inayofuata inaonyesha sura iliyosimamishwa vizuri.

Mara tu hii ikiwa imekadiriwa, hakikisha kuwa pixel_ kizingiti kimewekwa kwa thamani kama kwamba "Harakati ya Pixel" inaripoti tu viwango vya juu vya harakati za pikseli, na sio zote (ambayo inamaanisha unahitaji kukata kelele). Kwa kweli, utaona pato kama hii kwenye terminal yako, ambapo kuna muundo wazi wa vipindi unaolingana na mwendo:

[info] Harakati ya Pixel: 0 [info] Makadirio ya Mwendo: 1.219812 Hz

[info] Harakati ya Pixel: 0 [info] Makadirio ya Mwendo: 1.219812 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 1.219812 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 1.219812 Hz [info] Pixel Movement: 44 [info] Makadirio ya Mwendo: 1.219812 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 1.219812 Hz [info] Pixel Movement: 161 [info] Makadirio ya Mwendo: 1.219812 Hz [info] Pixel Movement: 121 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 86 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Harakati ya Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movem ent: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 0 [info Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Harakati ya Pixel: 0 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Mwendo wa Pixel: 97 [info] Makadirio ya Mwendo: 0.841416 Hz [info] Pixel Movement: 74 [info] Hoja ya Mwendo: 0.839298 Hz [info] Pixel Harakati: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 60 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 0 [info Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 48 [info] Mwendo Kadiria: 0.839298 Hz [info] Mwendo wa Pixel: 38 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 29 [info] Hoja ya Mwendo: 0.839298 Hz [info] Movement ya Pixel: 28 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 22 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Pixel Movement: 0 [info] Makadirio ya Mwendo: 0.839298 Hz [info] Mwendo wa Pixel: 0 [info] Makadirio ya Mwendo: 0.839298 Hz

Ikiwa pato lako linaonekana zaidi kama hii:

[info] Harakati ya Pixel: 921 [info] Makadirio ya Mwendo: 1.352046 Hz

[info] Harakati ya Pixel: 736 [info] Makadirio ya Mwendo: 1.352046 Hz [info] Mwendo wa Pixel: 666 [info] Makadirio ya Mwendo: 1.352046 Hz [info] Pixel Movement: 663 [info] Motion Estimate: 1.352046 Hz [info] Pixel Movement: 1196 [info] Makadirio ya Mwendo: 1.352046 Hz [info] Mwendo wa Pixel: 1235 [info] Makadirio ya Mwendo: 1.352046 Hz [info] Pixel Movement: 1187 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Pixel Movement: 1115 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Mwendo wa Pixel: 959 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Pixel Movement: 744 [info] Hoja ya Mwendo: 1.456389 Hz [info] Movement ya Pixel: 611 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Harakati ya Pixel: 468 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Pixel Movement: 371 [info] Motion Kadiri: 1.456389 Hz [info] Pixel Movement: 307 [info] Motion Estimate: 1.456389 Hz [info] Pixel Movement: 270 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Harakati za Pixel: 234 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Harakati za Pixel: 197 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Harakati ya Pixel: 179 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Pixel Movement: 164 [info] Motion Estimate: 1.456389 Hz [info] Pixel Movement: 239 [info] Motion Estimate: 1.456389 Hz [info] Harakati za Pixel: 733 [info] Makadirio ya Mwendo: 1.456389 Hz [info] Mwendo wa Pixel: 686 [info] Makadirio ya Mwendo: 1.229389 Hz [info] Pixel Movement: 667 [info] Makadirio ya Mwendo: 1.229389 Hz [info] Pixel Movement: 607 [info] Makadirio ya mwendo: 1.229389 Hz [info] Pixel Movement: 544 [info] Motion Estimate: 1.229389 Hz [info] Pixel Movement: 499 [info] Motion Estimate: 1.229389 Hz [info] Pixel Movement: 434 [info] Hoja ya Mwendo: 1.229389 Hz [info] Mwendo wa Pixel: 396 [info] Makadirio ya Mwendo: 1.229389 Hz [info] Pixel Movement: 375 [info] Motion Estimate: 1.229389 Hz [info] Pixel Movement: 389 [info] Motion Estimate: 1.229389 Hz [info] Harakati za Pixel: 305 [info] Makadirio ya Mwendo: 1.312346 Hz [info] Mwendo wa Pixel: 269 [info] Makadirio ya Mwendo: 1.312346 Hz [info] Mwendo wa Pixel: 1382 [info] Mwendo E stimate: 1.312346 Hz [info] Pixel Movement: 1086 [info] Motion Estimate: 1.312346 Hz [info] Pixel Movement: 1049 [info] Motion Estimate: 1.312346 Hz [info] Pixel Movement: 811 [info] Hoja ya Mwendo: 1.312346 Hz [info] Harakati za Pixel: 601 [info] Makadirio ya Mwendo: 1.312346 Hz [info] Mwendo wa Pixel: 456 [info] Makadirio ya Mwendo: 1.312346 Hz

Rekebisha kizingiti cha pikseli na kizingiti mpaka kilele tu kionekane, na mwendo wa pikseli ni 0 vinginevyo.

Hatua ya 8: Maonyesho

Image
Image

Hapa kuna onyesho kidogo la jinsi CribSense inavyofanya kazi. Itabidi ufikirie kuwa hii imeambatanishwa kando ya kitanda.

Unapoweka CribSense juu ya kitanda chako, utahitaji kuboresha umbali kati ya mtoto mchanga na kamera. Kwa kweli, kifua cha mtoto wako kitajaza chini ya 1/3 ya fremu. Mtoto haipaswi kuwa mbali sana, au sivyo video ya kiwango cha chini itapambana kupata maelezo ya kutosha kukuza. Ikiwa kamera iko karibu sana, kamera inaweza isione mtoto wako ikiwa atatembea au kutoka kwenye fremu. Vivyo hivyo, ikiwa mtoto yuko chini ya blanketi "lenye hema", ambapo kuna mawasiliano machache kati ya blanketi na kifua cha mtoto, inaweza kuwa ngumu kugundua mwendo. Waingize vizuri!

Utahitaji pia kuzingatia hali ya taa karibu na kitanda chako. Ikiwa kitanda chako kiko karibu na dirisha, unaweza kupata vivuli vya kusonga au kubadilisha maadili ya mwanga wakati jua limezuiwa na mawingu, au harakati hufanyika nje ya dirisha. Mahali fulani na taa thabiti ni bora.

Kwa kazi zingine zaidi, tunafikiria kuwa mtu anaweza kuboresha programu yetu ili uwekaji hesabu uwe mchakato laini zaidi. Katika siku zijazo, huduma zingine kama arifa za kushinikiza pia zinaweza kuongezwa.

Hatua ya 9: Utatuzi wa matatizo

Unaweza kukutana na maswala machache ya kawaida wakati wa kuanzisha CribSense. Kwa mfano, kuwa na shida ya kujenga / kuendesha programu, au kutosikia sauti yoyote. Kumbuka, CribSense sio mfuatiliaji wa mtoto anayeaminika kabisa. Tungepokea michango kwenye hazina yetu ya GitHub unapofanya maboresho!

Hapa kuna vidokezo vya utatuzi ambavyo tumekusanya wakati wa kutengeneza CribSense.

Hakuna kengele inayocheza

  • Je! Spika zako zinafanya kazi?
  • Je! Unaweza kucheza sauti zingine kutoka kwa Pi nje ya kengele ya CribSense?
  • Ikiwa Pi yako anajaribu kucheza sauti kupitia HDMI badala ya bandari ya sauti? Angalia ukurasa wa Usanidi wa Sauti ya Raspberry Pi ili kuhakikisha kuwa umechagua pato sahihi.
  • Je! Programu ya CribSense inagundua mwendo? Ikiwa CribSense inaendesha nyuma, unaweza kuangalia na journalctl -f kwenye terminal.
  • Ikiwa CribSense inahisi mwendo mwingi, huenda ukahitaji kusawazisha CribSense.

LED ya IR haifanyi kazi

  • Je! Unaweza kuona rangi nyekundu haififu unapoangalia mwangaza wa IR? Pete nyekundu hafifu inapaswa kuonekana wakati LED imewashwa.
  • Angalia polarity ya unganisho. Ikiwa + 5V na GND zimegeuzwa, haitafanya kazi.
  • Unganisha LED kwa usambazaji wa umeme na kiwango cha 5V / 0.5A voltage / kikomo cha sasa. Kawaida, inapaswa kutumia 0.2A kwa 5V. Ikiwa haifanyi hivyo, LED yako inaweza kuwa haifanyi kazi vizuri.

CribSense inagundua mwendo ingawa hakuna mtoto mchanga

  • Umeweka sawa CribSense?
  • Kumbuka, CribSense inatafuta tu mabadiliko katika maadili ya pikseli

    • Je! Kuna vivuli vyovyote vinavyohamia ndani ya fremu?
    • Je! Kuna taa zinazobonyeza au kubadilisha?
    • Je! CribSense imewekwa kwenye uso thabiti (yaani kitu ambacho hakitatikisika ikiwa watu wanatembea nacho)?
    • Je! Kuna vyanzo vingine vya harakati kwenye fremu (vioo vinavyoonyesha tafakari, nk)?

CribSense SI kugundua mwendo ingawa kuna mwendo

  • Je! Umeweka sawa CribSense?
  • Je! Kuna chochote katika njia ya kamera?
  • Je! Una uwezo wa kuungana na kamera kutoka kwa Raspberry Pi kabisa? Angalia kwa kutumia raspistill -v kwenye terminal ili kufungua kamera kwenye Pi kwa sekunde chache.
  • Ikiwa unatazama hali ya sudo systemctl cribsense, Je! CribSense inaendesha kweli?
  • Je! Mtoto wako yuko chini ya blanketi ambalo "limefungwa" juu ili asifanye mawasiliano na mtoto? Ikiwa kuna mapungufu makubwa ya hewa kati ya blanketi na mtoto, blanketi inaweza kuficha mwendo.
  • Je! Unaweza kuona mwendo ikiwa unakuza video zaidi?
  • Je! Unaweza kuona mwendo ikiwa unafuta cutoffs ya chini na ya juu?
  • Ikiwa hii inatokea kwa taa nyepesi tu, je! Ulihakikisha uhakikishaji wako unafanya kazi kwa taa nyepesi?

CribSense haijengi

Je! Umeweka utegemezi wote?

Siwezi kukimbia cribsense kutoka kwa mstari wa amri

  • Je! Umekosea kuchapa chochote wakati unakimbia./autogen.sh --prefix = / usr --sysconfdir = / etc
  • Je! Cribsense iko katika / usr / bin?
  • Njia gani hutolewa ikiwa unaendesha "cribsense" gani?

Ilipendekeza: