第七十九章 人工智能算法

字數:4585   加入書籤

A+A-




    李毅和秦剛都兩眼通紅發澀,看錄像是現代刑偵的一門必需技術手段,但也是一項體能和意誌煎熬的工作。
    一整夜努力,找出了三個適合的人選。
    李毅跟小衛要了眼藥水,倆人都躺平在椅子上滴眼睛。
    “你說我們會不會漏掉監控沒有拷貝,一晚上就整了這麽三個人出來,感覺跟昨天我們的分類產品一樣,木有啥期望啊。”秦剛道。
    “要不然了,我們拷貝的隻是其中六分之一不到的攝像頭錄像,全拷貝回來,這一周都耗這上麵,也不見得能多幾個人出來,這是幾條必經路線,如果沒有我估計是真的沒有,完美避開,現在我心裏就一上一下的有點慌。”
    李毅所言不假,如果這三個人都排除掉,昨天這場大範圍大規模的行動,大概率是雷聲大雨點小了。
    “假如現代人工智能的技術突飛猛進,是不是能讓計算機代替我們完成這事兒?就是說,有這麽一套軟件係統,我給出目標畫像,不光是人還有車牌等等,再給出視頻源文件,然後由計算機自動給我們作對比,我們就喝著茶吃著瓜,然後叮一聲結果就出來了。”
    秦剛眨巴眨巴眼睛,刺眼的燈光讓他不得不又閉上。
    “理論上是可以的,其實這個我是真的思考過,需要建模型。視頻是由一幀一幀的圖像構成,精度越高,每秒的幀數越多。普通的監控一秒幀,也就是一秒拍了張像,一個小時9萬張。其實我們肉眼掃描跟計算機掃描本質是不一樣的,肉眼是憑借對幾何圖形的直觀感覺,計算機則不一樣。”
    李毅起身在白板上寫下幾點:
    1圖像縮放到一定大小
    轉化為灰階
    3計算所有像素平均值
    4比較像素的灰度:將每個像素的灰度,與平均值進行比較,大於或等於平均值記為1,小於平均值記為0;
    計算哈希值:將上一步的比較結果,組合在一起,就構成了一個64位的整數。
    “就是說每一張圖片都有大小轉換後像素化再取值的一個過程,這是一個很大的運算量。比如,我們給定條件:背包、帽子背影或側麵,這是一個很模糊的概念。計算機做對比,首先需要一張底圖,那這張底圖應該是什麽樣子呢,我和你背包、戴帽背影應該差不多,小安跟我們有區別,前天晚上見到的老邱跟我們有區別。包的形狀帽子的形狀,幾個因素的綜合,需要建一個底圖模型庫。比較範圍也不是整個人全部,是從頭部到腰以上,因為背包長度正常不會過腰。然後才是視頻裏的每一幀圖片,每獲取一幀就與底圖庫做一次比較,大約是這麽一種模式。如果我們的底圖庫是100張,一個小時的視頻,需要比對900萬次,我們拷貝的錄像時長10個小時,自己算,這還是一個攝像頭。”
    秦剛吐了吐舌頭,“聽著有點嚇人。”
    小安也來了興趣,“現在的人臉識別技術不是已經很成熟了嗎?一些辦公大廈、高鐵站,刷臉就能通行。”
    “沒錯,但本質概念還是一樣的。高鐵站刷臉,是用你真實的人臉和身份證上的人臉作對比,一共就兩張圖,以身份證照片作為底圖。而且有效的人臉範圍隻需要雙眼到下巴這個區間,眼睛以上和下巴以下都是無用數據,用證件照去和抓拍的人臉進行比對,這個對比數據量其實很小,結果都是秒出。”
    “是啊,坐高鐵進站的都是臉對著攝像頭一刷就行,最多一秒。”秦剛道。
    “那隻是整個過程,實際不需要一秒,對比結果還要通知傳感器,傳感器發出開閘指令,整體過程大概一秒。”
    “那我們現在的難度在哪裏。”小安道。
    “第一我們沒有原型,不過原型庫容易建,就是背包和帽子,找一些體型身高不同的人穿戴起來,拍下正麵和側麵,這個量不會大,效率高人齊兩小時就弄完,難點是第二。”
    不知不覺間,好幾個事同事都豎起耳朵聽著李毅講解。
    “繼續繼續,別停下來。”小安顯得尤為感興趣。
    “我們做的不是靜態分析,而是一種動態的行為分析。”
    李毅索性站到白板邊,寫下:行為分析,從校外進入往另一邊的圍牆走。
    “假定一段錄像從頭開始播,先要對比到進入畫麵的某個人背包戴帽的特征,這一幀圖像的數據算是符合,確定一個原型,這個原型不是底圖庫的原型,動態的用完就刪除。然後要分析是男還是女,一個人的正臉照,在計算機算法裏可以識別性別,但側臉就不清楚,估計不行,但女性需要過濾掉,然後一直到這個原型消失,這算一次行為。”
    “懂了,出現和消失,這算一次行為。”秦剛道。
    “別打岔。”小安拍拍秦剛。
    “對的,出現和消失。那什麽叫做消失,我們肉眼看是這個人走進了攝像頭的死角或者是走出了拍攝範圍,不再出現就算消失。但對計算機數據來講就有點模糊,電腦隻認0和1,看得見存在看不見消失,按這個邏輯就會產生很多誤判。”
    “為什麽了。”小安比較急切。
    “如果一個人蹲下來綁鞋帶,剛好被植物擋住,算不算消失了?按照0和1的邏輯,肯定算消失,但肯定不對。人可以通過快進往前繼續看一段,計算機不能這麽做,必須一幀一幀的對比,否則就沒有意義對吧。”
    周圍的同事都點頭同意。
    “可這個人隻是蹲下綁鞋帶,實際上沒有消失,這與我們設定的行為分析不一致。我們選定的攝像頭是在路線上有連續性的,往一個方向過去,a處消失理論上應該在b處出現,如果他沒出現,肯定是往其他方向走了。其他方向也一樣,隻要是向校區後麵圍牆走,都有連續攝像頭,還是應該在我們設定的行為範圍內。不過作為一個急於去現場作案的人來講,不會這樣遛彎,他選擇這種方式去案發現場,就是為了避開人,盡量少見到人。”
    “那應該怎麽處理了。”小安道。
    “可以做一個意外消失的閾值作為補缺,這個閾值是一個時間,可以延時秒、10秒、0秒,時長可以自己定。也就是在一個人消失後,計算機自動往後讀取閾值範圍內的圖像幀,如果閾值範圍內人還沒有出現才算消失。”
    “那這樣其實可以解決這個問題。”秦剛道。
    “看似可以,其實還是存在問題。每個人的行為不一樣,就像我說的剛才綁鞋帶,這沒有一個io標準,有人快秒綁好,有人慢0秒才綁好。再或者,這個人他不是綁鞋帶,他剛好有個電話進來,他就蹲在路上聽電話,這個場景我們前晚從校園出來時見過。”
    李毅看看秦剛,秦剛點點頭。
    “怎麽還有這種嗜好,蹲著舒服嗎?”小安又插了一句。
    “個人習慣吧,但這裏產生的問題是:這個閾值應該設多大才合適。設小了,可能會漏掉了捕捉疑犯的機會,設大了,那非常浪費計算機的計算資源和時間。”
    秦剛舉起手表示要發言,“如果這個人接電話的時候,不是蹲著,就站著不動,但是打電話時的姿態跟他背包行走的姿態完全不一樣了,還能判定是同一個人嗎?”
    “這一點倒沒任何問題,之前講過,從頭部到腰部這個範圍,不包括雙手,他就是拿著大刀也不影響計算機的邏輯分析。”
    “電腦就是個死物,浪費就浪費唄,隻要保證結果正確率就行。”小安道。
    “係統設計可不是這麽考慮的,尤其商業應用係統,時間和計算資源都是成本。即使加大閾值,確定了這個人行為,那他一定是我們要找的人嗎?可不一定,這隻是一個攝像頭的資料,我們的行為設定是要走到牆邊,他可以在中途走進教學樓,也可以走進圖書館,還可以走進教工宿舍區等等,所以必須一直比對到最後一個攝像頭。”
    李毅喝口水繼續,“首先,這個數據量和計算量相較普通的人臉識別不可同日而語,一個天量一個地量。其次,原則上來講,我們從行為確定了一個人,雖然隻是背影,但我們想不想看到他的正臉了,一定想。怎麽看到,不是用我們的眼睛,是計算機自動為我們找出來,通過背包形狀,帽子的形狀,人的側臉,背影,這又是一個模糊算法。而且光從第一份錄像數據中人的背影,是很難分析他從哪個方向進入,如果隻是華山一條路那當然好辦,但真實場景是不可能的,因為他很可能不是走大門進入,而是翻牆。所以必需把每個方向都考慮到,數據量和計算量立即成幾何級數的增加。再次,一個晚上怕不會隻有一個人背包走過,所以n乘以n真的是海量計算。當然,我不是算法工程師,專業的工程師可能會有更優的思路和算法邏輯,但數據量是擺在這兒的,因為我們是根據模糊的條件去確定一個模糊的人。不過如果真有這樣技術對我們幫助一定很大,電腦又不知道累也不會饑餓,撐死宕機,人可是會掛掉的。”
    李毅的話音剛落,全辦公室的人熱烈地鼓起掌來。