監獄智能管理平臺 ——監室點名(人臉識別)

從事人臉識別行業漸進2年(主要開發監獄的人臉識別服務),內心一直有一個夢想“打造出一款智能化的現代化的監獄管理系統”(不過要智能化到什麼程度,心裏卻沒有普尼),恐怕是從事IT行業後,總想設計出一款滿意的產品,對自己從事該行業有一個交代做的怪吧。自己去過一些監獄和看守所, 有的確實挺現代化的, 遍地的攝像頭,佈滿監室、走廊等全程360度無死角,主機房超大屏幕全程監控....。

今天我要講的項目是  “監獄監室人員點名”。直入正題。

項目背景:大家都知道監獄中有很多監室(犯人居住),每個監室關押着爲數不同的犯人(大概數目不透露了)。很多監獄需要每天都對這些犯人點名。然而點名還用着傳統的方式(至少有部分是這樣的):值班民警到每個監室去查人數點名。這樣無疑增大了民警的工作。隨着 ”人臉識別”技術的成熟,應用監室中的網絡攝像機(一般每個監室都有)完全可以做到 ”人臉識別點名”。從而大大減輕民警的工作。當然 用 “指紋識別”、“指靜脈識別”等也可以,但是這些設備都需要購買、安裝。而網絡攝像機一般的監室都有了。

今天突然想把這個項目寫出來,給自己留個筆記。當初開發這個項目的時候,充滿了激情:需求調研、搭建項目框架、指導界面開發、寫業務、寫底層、編寫C#代碼、編寫C++底層.....。心想着從此處作爲突破點或許能實現“打造出一款智能化的現代化的監獄管理系統”這個想法。後來這個項目也做出來了, 在某監獄試運行了一段時間下線了。原因說出來都是淚。痛定思痛何其痛哉...........。不多說了還是說項目吧。

項目整體架構:

下面是我現畫的,之前畫的找不到了。


UI界面:這個沒什麼說的,就是人機交互界面,在下面我會將自己的界面展現出來。

中央調度器:接收界面發來的命令,選擇一個閒置的 MCU(後面說是幹什麼的),發送命令給之。接收 MCU發來的消息,轉發給對應的界面顯示。其功能遠遠不止這些。

MCU:亂起的英文名字,洋氣。 主要是業務處理:人臉識別、人臉採集、控制攝像機、語音播放器等。

界面和中央調度器我是用 的C#語言、MCU用的 C++。

上面說的不清楚,我舉個例子:

界面發送命令“101監室開始點名”->(中央調度器)處理判斷等後將消息發給 MCU ->(MCU)從數據庫中獲取到“101監室”所有人員的信息和人臉特徵值,然後控制“101”監室的 “網絡攝像機”和“對講機”進行 點名業務,完成後發送點名結果給“中央調度器”->(中央調度器)處理後發送給界面顯示。

  實例 時序圖:



爲什麼需要多個 MCU?

    mcu 主要是做業務處理。監獄中的監室有幾百個(對應的攝像機也有幾百),如果一個mcu同時對其進行人臉識別點名(同時控制幾百個攝像機進行人臉比對),先不說速度比較慢,恐怕服務器也hold 不住的。 如果每一個監室配一個mcu(安卓系統的設備也可以的),又太奢侈。 最後決定根據服務器的配置和點名的速度 決定 一個mcu 控制多少 監室 。

MCU如何選擇 網絡攝像機?

網絡攝像機都有唯一的 ip地址和監室號, 將這些 ip地址 都固定在 數據庫中, mcu根據 接收到的命令(有監室號),選擇對應的攝像機。

最後把我的界面貼出來:

最後:

該項目的完美要擁有一個 絕對完美的精確到高的 人臉識別的算法。

在該項目中爲了降低算法的難度,已經將 盲比的 1:N 降到 了 1:20左右, 但成功率仍不理想,或許我用的算法 確實不咋地吧。


該文章原創,寫的不清楚, 不是好文章,但不許轉載。如有侵權或者有觸及他人利息等不當之處望指正。 可發郵箱:[email protected] 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章