構(gòu)建一個(gè)面部跟蹤系統(tǒng)傳統(tǒng)
人工智能驅(qū)動(dòng)的機(jī)器人眼睛使用雙伺服系統(tǒng)實(shí)時(shí)跟蹤你的臉。不需要OpenCV編碼,只需要可視化塊。10分鐘完成。
這個(gè)項(xiàng)目是關(guān)于什么的?
制造機(jī)器人眼睛,自動(dòng)跟蹤你的臉。這個(gè)人工智能驅(qū)動(dòng)的系統(tǒng)將實(shí)時(shí)人臉檢測與雙伺服電機(jī)相結(jié)合,通過簡單的視覺編程創(chuàng)造自然的跟蹤行為-無需編碼。
我們?yōu)槭裁礇Q定制作它?
構(gòu)建面部跟蹤系統(tǒng)傳統(tǒng)上需要復(fù)雜的編程:實(shí)現(xiàn)計(jì)算機(jī)視覺庫(OpenCV)、管理相機(jī)流、處理AI模型推理、計(jì)算坐標(biāo)變換、集成伺服電機(jī)控制庫、實(shí)現(xiàn)平滑濾波器以及協(xié)調(diào)所有這些組件。使用Grablo,你只需想“讓伺服器跟隨我的臉”,并安排視覺塊來實(shí)現(xiàn)它。
你將創(chuàng)造什么
一個(gè)完整的人工智能面部追蹤系統(tǒng),具有:
?使用設(shè)備上的AI處理進(jìn)行實(shí)時(shí)人臉檢測
?雙伺服電機(jī)控制,模仿眼球運(yùn)動(dòng)
?自動(dòng)坐標(biāo)到角度轉(zhuǎn)換平滑跟蹤
?儀表盤上有實(shí)時(shí)攝像頭和遙測技術(shù)
?當(dāng)多人在場時(shí),追蹤最大的臉
快速啟動(dòng)
?安裝軟件:在樹莓派上下載并安裝Grablo軟件
?硬件設(shè)置:根據(jù)接線圖連接雙伺服電機(jī)
?連接攝像頭:連接樹莓派攝像頭模塊或USB攝像頭
?獲取此項(xiàng)目:項(xiàng)目鏈接
?連接控制器:在您的項(xiàng)目中,進(jìn)入“連接控制器”,輸入IP地址
?點(diǎn)擊運(yùn)行:觀看伺服跟蹤你的臉在實(shí)時(shí)!
想自己動(dòng)手做嗎?跳到構(gòu)建過程并遵循詳細(xì)的教程
構(gòu)建過程
邏輯
控制1:啟動(dòng)攝像頭和人臉檢測
創(chuàng)建一個(gè)邏輯并添加一個(gè)啟動(dòng)相機(jī)并持續(xù)檢測人臉的控件
?條件(一次):僅在項(xiàng)目啟動(dòng)時(shí)運(yùn)行一次
?動(dòng)作(AI相機(jī)):初始化相機(jī)與人臉檢測
- AI分析1(人臉檢測):檢測是否存在人臉
- AI分析2(人臉檢測):獲取人臉中心坐標(biāo)
控制2:伺服電機(jī)跟蹤
創(chuàng)建一個(gè)基于檢測到的面部位置旋轉(zhuǎn)伺服電機(jī)的控件
?條件(比較):只在檢測到face時(shí)執(zhí)行
?動(dòng)作1(設(shè)定變量):計(jì)算伺服旋轉(zhuǎn)角度
?動(dòng)作2(自定義動(dòng)作-可選):應(yīng)用平滑濾波器減少抖動(dòng)
?動(dòng)作3 (I/O設(shè)備控制):旋轉(zhuǎn)第一個(gè)伺服電機(jī)
?動(dòng)作4 (I/O設(shè)備控制):旋轉(zhuǎn)第二個(gè)伺服電機(jī)
指示板
創(chuàng)建一個(gè)顯示小部件的新儀表板:
?網(wǎng)絡(luò)流媒體(攝像頭小部件):實(shí)時(shí)視頻饋送顯示實(shí)時(shí)跟蹤
?人臉檢測(LED小部件):人臉存在的布爾狀態(tài)
?人臉x坐標(biāo)(標(biāo)簽小部件):被檢測人臉的水平位置
?伺服角度(標(biāo)簽部件):當(dāng)前計(jì)算的伺服位置
這是它!
恭喜你!你剛剛構(gòu)建了一個(gè)完整的人工智能驅(qū)動(dòng)的面部跟蹤伺服電機(jī)系統(tǒng),只使用兩個(gè)簡單的控件和零行代碼。這就是用Grablo進(jìn)行可視化編程的力量——傳統(tǒng)上需要復(fù)雜的計(jì)算機(jī)視覺庫、人工智能模型集成和電機(jī)控制編程,現(xiàn)在可以通過直觀的拖放塊來完成。
預(yù)期結(jié)果
當(dāng)您運(yùn)行項(xiàng)目時(shí):
?人臉檢測:伺服電機(jī)旋轉(zhuǎn),跟隨你的臉?biāo)?
?向左移動(dòng):伺服跟蹤向左(像眼睛跟隨運(yùn)動(dòng))
?向右移動(dòng):伺服器平穩(wěn)地向右跟蹤
?多面:系統(tǒng)自動(dòng)跟蹤最大的面
?無臉:伺服器保持最后位置
?平滑運(yùn)動(dòng):過濾消除抖動(dòng),創(chuàng)造自然運(yùn)動(dòng)
?儀表板:顯示實(shí)時(shí)跟蹤數(shù)據(jù)的實(shí)時(shí)攝像機(jī)饋送
接線圖
伺服1(左眼):
?紅線→5V電源
?棕線→GND
?橙線→GPIO 23(或您選擇的引腳)
伺服2(右眼):
?紅線→5V電源
?棕線→GND
?橙線→GPIO 24(或您選擇的引腳)
相機(jī)模塊:
?樹莓派攝像頭:連接CSI攝像頭接口
?或USB相機(jī):連接到任何USB端口
重要提示:
?電源:在使用Pi的5V進(jìn)行測試時(shí),請使用外部5V直流電源(最小2A),以確保雙伺服系統(tǒng)穩(wěn)定運(yùn)行
?攝像頭兼容性:支持Raspberry Pi Camera Module V1/V2/V3和大多數(shù)USB攝像頭
?分辨率:分辨率越高,檢測精度越高,但對處理能力要求越高
?伺服范圍:調(diào)整角度范圍(45-135°)根據(jù)您的機(jī)械設(shè)置和相機(jī)視野
?GPIO引腳:可以使用任何可用的GPIO引腳-只需在設(shè)備設(shè)置中更新引腳編號
接下來是什么?
使用更多的塊擴(kuò)展您的項(xiàng)目:
?全平移傾斜控制:增加人臉y坐標(biāo)檢測,控制第二伺服進(jìn)行垂直跟蹤(真正的2D人臉跟隨)
?對象跟蹤:將AI分析類型從“人臉檢測”更改為“對象檢測”,以跟蹤球,手或特定顏色的物體
?LED指示燈:增加檢測到人臉時(shí)亮起或根據(jù)跟蹤狀態(tài)改變顏色的LED
?運(yùn)動(dòng)觸發(fā)的快照:自動(dòng)保存相機(jī)快照時(shí),人臉檢測-家庭安全或訪客記錄有用
故障排除
伺服不動(dòng):
?驗(yàn)證GPIO引腳號碼匹配您的布線
?檢查伺服電源(雙伺服至少1A)
?確認(rèn)伺服連接(橙色到信號,紅色到5V,棕色到GND)
未檢測到人臉:
?增加房間的照明
?靠近攝像機(jī)(最佳1-3米)
?檢查相機(jī)方向設(shè)置(嘗試使用/不使用水平翻轉(zhuǎn))
跟蹤方向錯(cuò)誤:
?調(diào)整線性刻度輸出范圍(嘗試135到45而不是45到135)
?切換相機(jī)水平翻轉(zhuǎn)設(shè)置
?驗(yàn)證攝像機(jī)安裝方向
攝像頭未檢測到:
?對于Pi相機(jī):在raspi-config中啟用相機(jī)
?對于USB攝像機(jī):檢查ls /dev/video*命令的連接
?嘗試不同的相機(jī)索引(0,1,2…)
本文編譯自hackster.io





