挑戰(zhàn)
在家里和辦公室里,人們很容易看到燈沒關(guān),即使附近幾乎沒有人。
除了花費(fèi)更多,這種照明對(duì)環(huán)境也有負(fù)面影響。我們?cè)絹?lái)越依賴有限的、不可再生的能源來(lái)發(fā)電,而這些能源經(jīng)常被浪費(fèi)。
雖然我們?cè)诩抑械哪茉词褂昧渴敲x上的,但在辦公室中,使用量要多得多。因此,對(duì)環(huán)境和成本的負(fù)面影響要多得多。這需要我們采取積極行動(dòng)。
當(dāng)張貼“請(qǐng)?jiān)陔x開前關(guān)燈”的標(biāo)志影響很小或沒有影響時(shí),考慮到燈的數(shù)量、覆蓋面積和其他因素,損失的幅度更大。讓某人通過(guò)每次都關(guān)掉燈來(lái)解決過(guò)度照明的問(wèn)題是不可行的。人類的記憶是易變的,不可依賴。
讓我們了解一下單個(gè)燈泡的影響。一個(gè)10瓦的燈泡每小時(shí)耗電0.01千瓦(kWh)。假設(shè)1千瓦時(shí)的成本為12美分。那么,在不需要時(shí)點(diǎn)亮的每10瓦燈泡將花費(fèi)每小時(shí)0.12美分。
我們會(huì)讓你的基本算術(shù)技能來(lái)計(jì)算整個(gè)辦公室的總成本,方法是用燈的數(shù)量乘以上面的數(shù)字。
那么我們?nèi)绾谓鉀Q這個(gè)問(wèn)題呢?
雖然市場(chǎng)上有很多智能控制和自動(dòng)化解決方案,但大多數(shù)解決方案需要定期設(shè)置額外的硬件,并導(dǎo)致額外的維護(hù)成本。
有沒有更好的方法來(lái)應(yīng)對(duì)這一挑戰(zhàn)?
所有辦公場(chǎng)所都設(shè)置了攝像頭來(lái)監(jiān)控該區(qū)域。我和同事們集思廣益,通過(guò)最少的投資來(lái)解決這個(gè)問(wèn)題。
可以使用這些捕捉不同幀的相機(jī)來(lái)自動(dòng)關(guān)閉燈光?
方案
解決方案是通過(guò)計(jì)算機(jī)的眼睛——通過(guò)計(jì)算機(jī)視覺——表達(dá)我們節(jié)約能源的意圖。
那么計(jì)算機(jī)視覺到底是什么呢?
“計(jì)算機(jī)視覺,通??s寫為CV,被定義為一個(gè)研究領(lǐng)域,旨在開發(fā)幫助計(jì)算機(jī)‘看到’和理解照片和視頻等數(shù)字圖像內(nèi)容的技術(shù)?!?/p>
該系統(tǒng)將觀察來(lái)自攝像機(jī)的輸入流,這基本上是攝像機(jī)的視野。每個(gè)捕獲的幀被劃分為4個(gè)區(qū)域。如果某個(gè)區(qū)域中沒有人,則屬于該區(qū)域的燈光將關(guān)閉。
這個(gè)解決方案是用opencv4 Nodejs實(shí)現(xiàn)的,用于流行的開源計(jì)算機(jī)視覺庫(kù)OpenCV。連同socket.io和express用于渲染一個(gè)web應(yīng)用程序,以顯示實(shí)時(shí)視頻流并模擬燈光的打開和關(guān)閉。
實(shí)施步驟
1.導(dǎo)入所需的庫(kù)。
constsocketIOProvider=require('socket.io'); constcv=require('opencv4nodejs');
2.開始從相機(jī)捕捉視頻源。
constfps=30;//framespersecond /** *videosourcesetto0forstreamfromwebcam *videosourcecanbeseturlfromipcamalsoeg:"http://192.168.1.112:8080/video" */ constvideoSource=0; constvideoCap=newcv.VideoCapture(videoSource); videoCap.set(cv.CAP_PROP_FRAME_WIDTH,600); videoCap.set(cv.CAP_PROP_FRAME_HEIGHT,600);
3.讀取并以常規(guī)幀速率將其流式傳輸?shù)骄W(wǎng)絡(luò)應(yīng)用程序。
setInterval(()=>{ constframe=videoCap.read(); constimage=cv.imencode('.jpg',frame).toString('base64'); io.emit('new-frame',{live:image}); },1000/fps);
4.以大于實(shí)時(shí)流的間隔讀取以確定用戶存在。
/** *Sincevideo/imagetransformationsarecomputionallyexpensiveoperations,theseoperationsareperformedindependentoflivefeedstreaming. */ setInterval(()=>{ constframe=videoCap.read(); constfaces=detectFaces(frame); constimageWithFaces=cv.imencode('.jpg',frame).toString('base64'); io.emit('new-frame',{transformed:imageWithFaces,transformationData:calculatePeoplePosition(frame,faces)}); },10000/fps);
5.使用任何OpenCV分類器檢測(cè)人。在這個(gè)解決方案中,使用了“HAAR正面人臉?lè)诸惼鳌薄?/p>
/** * *Facedetectiontransformationonthestream */ constdetectFaces=(frame)=>{ letfaces=[]; constimage=frame.bgrToGray(); constclassifier=newcv.CascadeClassifier(cv.HAAR_FRONTALFACE_ALT2); constresults=classifier.detectMultiScale(image); if(results.objects.length){ results.objects.forEach((faceRect,i)=>{ if(results.numDetections[i]6.在框架上標(biāo)記面部,以便可視化檢測(cè)。
/** *Drawingrectsaroundfacesonframe */ constdrawFaces=(frame,faceRect)=>{ constrect=cv.drawDetection(frame,faceRect,{ color:newcv.Vec(255,0,0), segmentFraction:4 }); };7.確定人們相對(duì)于框架的位置,以確定他們所在的區(qū)域,從而只照亮那些部分。確定的結(jié)果隨后被發(fā)送到網(wǎng)絡(luò)應(yīng)用程序進(jìn)行照明模擬。更改燈泡顏色以模擬要照亮的區(qū)域。
結(jié)論
這是展示技術(shù)如何通過(guò)節(jié)約能源來(lái)改善地球的眾多例子之一。你還可以通過(guò)這個(gè)簡(jiǎn)單的實(shí)現(xiàn)學(xué)習(xí)如何解決常見的工作場(chǎng)所挑戰(zhàn)。
上述解決方案的源代碼:https://github.com/Mudassir-23/opencv-nodejs-energy-saver
編輯:黃飛
-
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
9文章
1708瀏覽量
46660 -
nodejs
+關(guān)注
關(guān)注
0文章
21瀏覽量
4395
原文標(biāo)題:利用計(jì)算機(jī)視覺和NodeJS實(shí)現(xiàn)燈光自動(dòng)化
文章出處:【微信號(hào):3D視覺工坊,微信公眾號(hào):3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
一種基于GPIB和計(jì)算機(jī)并行口的SoC自動(dòng)化測(cè)試方案
機(jī)器視覺與計(jì)算機(jī)視覺的關(guān)系簡(jiǎn)述
計(jì)算機(jī)視覺及其在焊接中的應(yīng)用
基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)

電力系統(tǒng)自動(dòng)化與計(jì)算機(jī)技術(shù)
合肥工業(yè)網(wǎng)大學(xué)自動(dòng)化計(jì)算機(jī)網(wǎng)絡(luò)復(fù)習(xí)ppt
計(jì)算機(jī)視覺與機(jī)器視覺區(qū)別
工業(yè)自動(dòng)化為何需要機(jī)器視覺?工業(yè)自動(dòng)化是否需工控計(jì)算機(jī)?
自動(dòng)化計(jì)算機(jī)是什么,它的作用是什么
用于計(jì)算機(jī)視覺訓(xùn)練的圖像數(shù)據(jù)集
機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺的前20個(gè)圖像數(shù)據(jù)集

評(píng)論