這樣的人臉追蹤相機,有賣點嗎?一個會跟著你轉頭的相機,除了阿宅知道背後的技術很厲害之外,好像少了一點東西,缺少實用性嗎?經過一番思考之後... 謎之音:一個產品除了功能堪用之外,最重要的還是賣相要好啊...
於是乎... 開始動手大改造... 把國中的勞作和塗鴉實力發揮到200%,運用手中少少的 $$,歷經一個禮拜的構思和兩個晚上的熬夜,終於...
看小朋友玩得不亦樂乎,這個專案算是完成了吧... 速度太慢的問題,以後有時間再研究囉...
這樣的人臉追蹤相機,有賣點嗎?一個會跟著你轉頭的相機,除了阿宅知道背後的技術很厲害之外,好像少了一點東西,缺少實用性嗎?經過一番思考之後... 謎之音:一個產品除了功能堪用之外,最重要的還是賣相要好啊...
於是乎... 開始動手大改造... 把國中的勞作和塗鴉實力發揮到200%,運用手中少少的 $$,歷經一個禮拜的構思和兩個晚上的熬夜,終於...
看小朋友玩得不亦樂乎,這個專案算是完成了吧... 速度太慢的問題,以後有時間再研究囉...
再來整合 人臉辨識 和 相機雲台 控制,人臉追蹤相機就出現了!!!
說起來很簡單,可是要讓他動的順暢,還是花了一些時間,主要是在雲台控制的部分,人移動的速度有快有慢,要怎麼控制雲台的移動角度和速度呢?我在雲台控制的部分加入了 PID 的控制方法,不要問我PID參數要怎麼給?那個是夢到的...
在整合 OpenCV 和 馬達控制時,赫然發現... RPi GPIO 不能在 VirtualEnv下執行... 不能執行...

要追蹤人臉就需要可以動的相機,這邊使用的是 露天 買的二軸雲台,使用兩個 SG90 伺服馬達來帶動雲台。
馬達由 Raspberry Pi 供給 5VDC,並使用 GPIO pin 控制角度,Python 控制 Servo 的方法,參考 http://www.toptechboy.com/raspberry-pi/raspberry-pi-lesson-28-controlling-a-servo-on-raspberry-pi-with-python/ 這篇專業文... 剛剛發現 這一篇 文章跟我做類似的事情... 我的接線圖,如下:
基本上 SG90 這顆便宜馬達的公差還滿大的,因此建議對每一顆馬達做範圍校正,先抓出最大和最小的 DutyCycle,盡量避免 Raspberry Pi 輸出超過範圍的 DutyCycle,這樣馬達很容易燒壞的。下面這一段 code 主要就是在做校正。手動輸入 DutyCycle,看馬達的反應...

人臉追蹤的第一步,當然是要讓 Raspberry Pi 先認識人臉囉... 這裡使用的是 AI 影像辨識非常成熟的 OpenCV... 因為我跟 C 非常不熟,所以使用 Python 來調用 OpenCV...
OpenCV 是甚麼?去Google一下,會看到很多文章,我沒有比這些大神懂更多,就不多說了... 有興趣可以去 WiKi 稍微了解一下...
Python + OpenCV 在 Windows 很多人玩,安裝也相對簡單,因為已經有大神幫忙做好自動安裝檔了。 不幸的是,我要用 Raspberry Pi,他是 Linux + ARM,有大神做好了 OpenCV for C 的安裝檔,但是沒有 OpenCV for Python 的安裝檔,所以得要跟著前輩的指示,一步一步的自己 Compile... 還好前輩的指引還算清楚,只是要花時間,就順便練習一下,如何在 Raspberry Pi 上 Compile Source Code 囉...
安裝 OpenCV 的步驟,基本上請按照 http://atceiling.blogspot.tw/2017/02/raspberry-pi-opencv.html的指示... 有一個重點要注意... 請使用 16GB 以上的 microSD 來玩 OpenCV !! 因為 OpenCV 真的很熱門,很多大神提供了非常完善的資料庫,只用 8GB 的記憶卡是裝它不下的...
稍為順一下...
最近參加 RPi 機器人課程,基於老師教的知識,加上Google很多大神的經驗分享,做出了人臉追蹤相機。為了避免以後自己忘記,趕快打鐵趁熱,把打造的過程記錄下來,因為算是個不小的專題,所以分幾個部分來記錄...
- 人臉追蹤相機-人臉辨識:在 Raspberry Pi 安裝 OpenCV,並使用 Python 調用 OpenCV 作人臉辨識...
- 人臉追蹤相機-相機雲台:使用 Raspberry Pi 控制伺服馬達,這邊是直接用 RPi 的 GPIO 供電與控制 Servo SG90...
- 人臉追蹤相機-初體驗:整合 人臉辨識 和 相機雲台 達成 人臉追蹤相機...
- 人臉追蹤相機-大進化:賣相不好!!! 外型大改造...

1. 安裝OS,這裡要使用的OS昰官方推薦的Raspbian,由下面連結下載最新的版本 (https://www.raspberrypi.org/downloads/raspbian/)
Raspbian 詳細的安裝步驟可以參考下面這篇文章 (https://sites.google.com/site/raspberypishare0918/home/di-yi-ci-qi-dong),基本上是...
a. 使用 SDFormatter 格式化SD卡。記得更改設定 "邏輯大小調整 = ON",退出SD卡,重新插入Laptop。
b. 使用 Win32DiskImager 將剛剛下載的 Raspbian Image 寫入到SD卡。 退出SD卡,重新插入 Laptop 。
c. 打開SD卡,找到檔案 "cmdline.txt",先備份這個檔案,另存成 " cmdline.txt.bak",打開檔案 "cmdline.txt",加入固定IP設定如下,記得不要換行,直接加在最後面。