0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過計算機(jī)視覺和NodeJS實(shí)現(xiàn)燈光自動化方案分享

3D視覺工坊 ? 來源:深度學(xué)習(xí)與計算機(jī)視覺 ? 2023-01-16 10:07 ? 次閱讀

挑戰(zhàn)

在家里和辦公室里,人們很容易看到燈沒關(guān),即使附近幾乎沒有人。

除了花費(fèi)更多,這種照明對環(huán)境也有負(fù)面影響。我們越來越依賴有限的、不可再生的能源來發(fā)電,而這些能源經(jīng)常被浪費(fèi)。

雖然我們在家中的能源使用量是名義上的,但在辦公室中,使用量要多得多。因此,對環(huán)境和成本的負(fù)面影響要多得多。這需要我們采取積極行動。

當(dāng)張貼“請在離開前關(guān)燈”的標(biāo)志影響很小或沒有影響時,考慮到燈的數(shù)量、覆蓋面積和其他因素,損失的幅度更大。讓某人通過每次都關(guān)掉燈來解決過度照明的問題是不可行的。人類的記憶是易變的,不可依賴。

讓我們了解一下單個燈泡的影響。一個10瓦的燈泡每小時耗電0.01千瓦(kWh)。假設(shè)1千瓦時的成本為12美分。那么,在不需要時點(diǎn)亮的每10瓦燈泡將花費(fèi)每小時0.12美分。

我們會讓你的基本算術(shù)技能來計算整個辦公室的總成本,方法是用燈的數(shù)量乘以上面的數(shù)字。

那么我們?nèi)绾谓鉀Q這個問題呢?

雖然市場上有很多智能控制和自動化解決方案,但大多數(shù)解決方案需要定期設(shè)置額外的硬件,并導(dǎo)致額外的維護(hù)成本。

有沒有更好的方法來應(yīng)對這一挑戰(zhàn)?

所有辦公場所都設(shè)置了攝像頭來監(jiān)控該區(qū)域。我和同事們集思廣益,通過最少的投資來解決這個問題。

可以使用這些捕捉不同幀的相機(jī)來自動關(guān)閉燈光?

方案

解決方案是通過計算機(jī)的眼睛——通過計算機(jī)視覺——表達(dá)我們節(jié)約能源的意圖。

那么計算機(jī)視覺到底是什么呢?

“計算機(jī)視覺,通??s寫為CV,被定義為一個研究領(lǐng)域,旨在開發(fā)幫助計算機(jī)‘看到’和理解照片和視頻等數(shù)字圖像內(nèi)容的技術(shù)?!?/p>

該系統(tǒng)將觀察來自攝像機(jī)的輸入流,這基本上是攝像機(jī)的視野。每個捕獲的幀被劃分為4個區(qū)域。如果某個區(qū)域中沒有人,則屬于該區(qū)域的燈光將關(guān)閉。

這個解決方案是用opencv4 Nodejs實(shí)現(xiàn)的,用于流行的開源計算機(jī)視覺庫OpenCV。連同socket.io和express用于渲染一個web應(yīng)用程序,以顯示實(shí)時視頻流并模擬燈光的打開和關(guān)閉。

實(shí)施步驟

1.導(dǎo)入所需的庫。

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ù)?a href="http://wenjunhu.com/v/tag/1722/" target="_blank">網(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í)時流的間隔讀取以確定用戶存在。

/**
*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分類器檢測人。在這個解決方案中,使用了“HAAR正面人臉分類器”。

/**
*
*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)記面部,以便可視化檢測。

/**
*Drawingrectsaroundfacesonframe
*/
constdrawFaces=(frame,faceRect)=>{
constrect=cv.drawDetection(frame,faceRect,{
color:newcv.Vec(255,0,0),
segmentFraction:4
});
};

7.確定人們相對于框架的位置,以確定他們所在的區(qū)域,從而只照亮那些部分。確定的結(jié)果隨后被發(fā)送到網(wǎng)絡(luò)應(yīng)用程序進(jìn)行照明模擬。更改燈泡顏色以模擬要照亮的區(qū)域。

2ad77890-952a-11ed-bfe3-dac502259ad0.png

結(jié)論

這是展示技術(shù)如何通過節(jié)約能源來改善地球的眾多例子之一。你還可以通過這個簡單的實(shí)現(xiàn)學(xué)習(xí)如何解決常見的工作場所挑戰(zhàn)。

上述解決方案的源代碼:https://github.com/Mudassir-23/opencv-nodejs-energy-saver

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機(jī)視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1698

    瀏覽量

    46005
  • nodejs
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    4235

原文標(biāo)題:利用計算機(jī)視覺和NodeJS實(shí)現(xiàn)燈光自動化

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    一種基于GPIB和計算機(jī)并行口的SoC自動化測試方案

    件與打印機(jī)連接,實(shí)現(xiàn)數(shù)據(jù)、狀態(tài)和命令信息的傳送。本文設(shè)計的SoC自動化測試方案主要應(yīng)用數(shù)據(jù)輸出端口,該端口有一個8位數(shù)據(jù)輸出寄存器,其I/O特性如表1所示。表1并行端口數(shù)據(jù)輸出位特性  對數(shù)據(jù)輸出端口
    發(fā)表于 09-05 09:17

    機(jī)器視覺計算機(jī)視覺的關(guān)系簡述

    應(yīng)用提高產(chǎn)品質(zhì)量、生產(chǎn)效率以及操作安全性。計算機(jī)視覺主要有兩種工作模式,一種是參照仿生學(xué)的方法,以人類視覺系統(tǒng)的結(jié)構(gòu)為主要工作原理,建立相應(yīng)的處理模塊完成類似的功能和工作;另一種是偏于工程
    發(fā)表于 05-13 14:57

    計算機(jī)視覺及其在焊接中的應(yīng)用

    簡要闡述了計算機(jī)視覺的基本原理、系統(tǒng)結(jié)構(gòu)和計算機(jī)視覺的基本處理方法,并著重講解了在焊接自動化領(lǐng)域的應(yīng)用情況。關(guān)鍵詞:
    發(fā)表于 07-18 10:19 ?9次下載

    基于OpenCV的計算機(jī)視覺技術(shù)實(shí)現(xiàn)

    基于OpenCV的計算機(jī)視覺技術(shù)實(shí)現(xiàn)OpencV是用來實(shí)現(xiàn)計算機(jī)視覺相關(guān)技術(shù)的開放源碼工作庫,是
    發(fā)表于 11-23 21:06 ?0次下載
    基于OpenCV的<b class='flag-5'>計算機(jī)</b><b class='flag-5'>視覺</b>技術(shù)<b class='flag-5'>實(shí)現(xiàn)</b>

    電力系統(tǒng)自動化計算機(jī)技術(shù)

    介紹了計算機(jī)技術(shù)在電力系統(tǒng)自動化中部分應(yīng)用情況,簡要回顧了計算機(jī)技術(shù)發(fā)展對電力系統(tǒng)自動化的推動作用,提出了當(dāng)前電力系統(tǒng)自動化依賴于電子技術(shù)、
    發(fā)表于 04-02 00:35 ?50次下載

    合肥工業(yè)網(wǎng)大學(xué)自動化計算機(jī)網(wǎng)絡(luò)復(fù)習(xí)ppt

    2015年合肥工業(yè)網(wǎng)大學(xué)自動化計算機(jī)網(wǎng)絡(luò)復(fù)習(xí)ppt
    發(fā)表于 12-16 17:54 ?0次下載

    計算機(jī)視覺與機(jī)器視覺區(qū)別

     “計算機(jī)視覺”,是指用計算機(jī)實(shí)現(xiàn)人的視覺功能,對客觀世界的三維場景的感知、識別和理解。計算機(jī)
    的頭像 發(fā)表于 12-08 09:27 ?1.3w次閱讀

    工業(yè)自動化為何需要機(jī)器視覺?工業(yè)自動化是否需工控計算機(jī)

    工業(yè)自動化技術(shù)日益成熟,大家對于工業(yè)自動化均有所耳聞。但是,大家對工業(yè)自動化真的了解嗎?工業(yè)自動化中為何使用機(jī)器視覺?工業(yè)
    的頭像 發(fā)表于 12-24 20:23 ?799次閱讀

    自動化計算機(jī)是什么,它的作用是什么

    任務(wù)都是通過使用控制機(jī)械和過程的自動化PC實(shí)現(xiàn)自動化的。這篇文章的目的是解釋什么是自動化計算機(jī)
    的頭像 發(fā)表于 01-18 15:05 ?6771次閱讀

    用于計算機(jī)視覺訓(xùn)練的圖像數(shù)據(jù)集

    計算機(jī)視覺使計算機(jī)能夠理解圖像和視頻的內(nèi)容。計算機(jī)視覺的目標(biāo)是使人類視覺系統(tǒng)可以
    的頭像 發(fā)表于 02-12 16:13 ?1403次閱讀

    機(jī)器學(xué)習(xí)和計算機(jī)視覺的前20個圖像數(shù)據(jù)集

    計算機(jī)視覺使計算機(jī)能夠理解圖像和視頻的內(nèi)容。計算機(jī)視覺的目標(biāo)是使人類視覺系統(tǒng)可以
    發(fā)表于 01-28 07:40 ?5次下載
    機(jī)器學(xué)習(xí)和<b class='flag-5'>計算機(jī)</b><b class='flag-5'>視覺</b>的前20個圖像數(shù)據(jù)集

    機(jī)器視覺計算機(jī)視覺的區(qū)別

    視覺是一種技術(shù),它使用相機(jī)和基于圖像的檢測算法來識別并理解已知或未知的圖像。它是實(shí)現(xiàn)智能自動化的一種方法,包括識別機(jī)器人、自動駕駛汽車、人臉識別和圖像分類等。機(jī)器
    的頭像 發(fā)表于 08-09 16:51 ?2031次閱讀

    機(jī)器視覺計算機(jī)視覺的區(qū)別

    在人工智能和自動化技術(shù)的快速發(fā)展中,機(jī)器視覺(Machine Vision, MV)和計算機(jī)視覺(Computer Vision, CV)作為兩個重要的分支領(lǐng)域,都扮演著至關(guān)重要的角色
    的頭像 發(fā)表于 06-06 17:24 ?1345次閱讀

    計算機(jī)視覺屬于人工智能嗎

    和解釋視覺信息,從而實(shí)現(xiàn)對圖像和視頻的自動分析和處理。 計算機(jī)視覺的基本概念 2.1 計算機(jī)
    的頭像 發(fā)表于 07-09 09:11 ?1322次閱讀

    計算機(jī)視覺和機(jī)器視覺區(qū)別在哪

    ,旨在實(shí)現(xiàn)對圖像和視頻的自動分析和理解。 機(jī)器視覺 機(jī)器視覺計算機(jī)視覺的一個分支,主要應(yīng)用于工
    的頭像 發(fā)表于 07-09 09:22 ?458次閱讀