科大訊飛攝像頭人眼關(guān)鍵點檢測Demo關(guān)鍵點位置不準確的問題

官方Demo的效果是這樣的:


IMG_0012.PNG

雖然基本上還算準確改化,但是對精度要求比較高的使用場景來說還是差一點。

查閱代碼

FaceStreamDetectorViewController.m
//Line 91
self.captureManager.previewLayer.videoGravity=AVLayerVideoGravityResizeAspectFill;

攝像頭預覽圖像的縮放方式為:AVLayerVideoGravityResizeAspectFill

查閱文檔

AVLayerVideoGravityResize
Specifies that the video should be stretched to fill the layer’s bounds.
AVLayerVideoGravityResizeAspect
Specifies that the player should preserve the video’s aspect ratio and fit the video within the layer’s bounds.
AVLayerVideoGravityResizeAspectFill
Specifies that the player should preserve the video’s aspect ratio and fill the layer’s bounds.

Demo中繪制關(guān)鍵點的邏輯分析如下:

1. 攝像頭捕獲到的圖像數(shù)據(jù)回調(diào):
-(void)onOutputFaceImage:(IFlyFaceImage*)faceImg;
2. 然后會調(diào)用下面這個方法對檢測到的坐標信息按照preview的大小進行縮放:
-(void)praseTrackResult:(NSString*)result OrignImage:(IFlyFaceImage*)faceImg
3.其中對關(guān)鍵點進行縮放的方法如下
-(NSMutableArray*)praseAlign:(NSDictionary* )landmarkDic OrignImage:(IFlyFaceImage*)faceImg
4. 具體執(zhí)行縮放的代碼

CGPoint pScale(CGPoint p ,CGFloat wScale, CGFloat hScale){
    p.x*=wScale;
    p.y*=hScale;
    return p;
}
// scale coordinates so they fit in the preview box, which may be scaled
CGFloat widthScaleBy = self.previewLayer.frame.size.width / faceImg.height;
CGFloat heightScaleBy = self.previewLayer.frame.size.height / faceImg.width;
//省略中間計算屏幕旋轉(zhuǎn)的部分以及其他運算過程
p=pScale(p, widthScaleBy, heightScaleBy);

結(jié)論:繪制關(guān)鍵點的縮放方式對應的攝像頭preview的縮放方式應該是
AVLayerVideoGravityResize岩臣,而官方Demo中給的是AVLayerVideoGravityResizeAspectFill怯伊,如此導致了繪制的關(guān)鍵點偏差炫狱。

最終效果如下圖

IMG_0013.PNG

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市却邓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌院水,老刑警劉巖腊徙,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件简十,死亡現(xiàn)場離奇詭異,居然都是意外死亡撬腾,警方通過查閱死者的電腦和手機螟蝙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來民傻,“玉大人胰默,你說我怎么就攤上這事±焯撸” “怎么了牵署?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長喧半。 經(jīng)常有香客問我奴迅,道長,這世上最難降的妖魔是什么挺据? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任取具,我火速辦了婚禮,結(jié)果婚禮上扁耐,老公的妹妹穿的比我還像新娘暇检。我一直安慰自己,他們只是感情好做葵,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布占哟。 她就那樣靜靜地躺著,像睡著了一般酿矢。 火紅的嫁衣襯著肌膚如雪榨乎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天瘫筐,我揣著相機與錄音蜜暑,去河邊找鬼。 笑死策肝,一個胖子當著我的面吹牛肛捍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播之众,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼拙毫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棺禾?” 一聲冷哼從身側(cè)響起缀蹄,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缺前,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛀醉,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年衅码,在試婚紗的時候發(fā)現(xiàn)自己被綠了拯刁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡逝段,死狀恐怖垛玻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惹恃,我是刑警寧澤夭谤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站巫糙,受9級特大地震影響朗儒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜参淹,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一醉锄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浙值,春花似錦恳不、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至筐付,卻和暖如春卵惦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓦戚。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工沮尿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人较解。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓畜疾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親印衔。 傳聞我的和親對象是個殘疾皇子啡捶,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 回家的路上,走在我前面的是一對母子金顿。聽見孩子告訴媽媽說老師布置了一篇作文叫“我的理想”,差點就笑了出來:我的理想鲤桥?...
    妙所閱讀 645評論 0 5
  • 實在按耐不住了,要批批盛行的但馬上就要過時的雞精文們贮喧。 夸張某些現(xiàn)實的案例做為寫作素材(水)+一個核心的大道理(雞...
    陳清念閱讀 454評論 12 3
  • 你從橋頭上走過筒狠,素傘一柄,沒有雨卻擋了陽箱沦,把含蓄寫進風里辩恼。 我泛舟橋中央,歸路總匆匆谓形,耳畔飛過你輕語灶伊,一瞬間,似陌...
    小甘最好閱讀 168評論 0 0