現在先把影片切成shot,然後在shot中找face
理論上只要把每個frame丟進去做face detection,然後將得到的結果
利用相鄰frame中同一face的中心距離不會太遠的特性,來判斷是不是同一個face
然後在看這個face出現的frame占整個shot的長度(目前是設50%,我覺得可以再調降?)
來判斷這些face是否可代表這個shot(誤判為face的出現次數應該不多)
可是,這樣會變成,"側臉或face detection無法detect出來的臉"被忽略掉
之前的想法是,只要影片中detect到一張face,就往前後範圍去比對,然後找到這張臉出現的片段
(這個片段其實在大部分的情況就是一個shot,例外情況是攝影機移動,造成這張臉消失在鏡頭內)
可是要是detect到的不是face,然後往前後找,不管用什麼方式(histogram、取下面可能是衣服的部分、或trace等方法),一樣會找到一整段錯誤的片段
(ex:將某段背景區塊誤判為face,但該區塊變動度很小,不管用上面哪個方法我覺得最後都會抓到整段shot,可是事實上這不是face)
[簡單總結]:
一張或多張臉可以清楚被detect(即使在shot中有移動或稍微側面) => 可以被找出來,並代表這段shot
偶爾出現的false positive => 可以被忽略掉,不會被當成這段shot中出現的臉
整段shot都側臉,偶爾才被detect到的face => 有問題= =a
2 則留言:
目前採用的方法是只看中心點間的距離
可是如果range用變動的,會有問題
(scale大的face中心點移動不會這麼大;scale小的face中心點很容易移出scale)
range用固定的,有可能因為shot不同而誤差(只能盡量調準)
再不然就是不能只用中心點,還要把face的scale加入比較...
再想想~"~
解決,是之前的寫法有問題
修正之後,把range設成臉的scale可正常判斷
張貼留言