亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android平臺相機開發(fā)技術的研究

        2017-06-06 18:45:43李韋鵬王小雪
        電腦知識與技術 2017年9期

        李韋鵬 王小雪

        摘要:隨著移動終端設備的飛速發(fā)展,Android作為移動終端的主流開發(fā)平臺,其多媒體應用得到廣泛普及。相機作為多媒體應用中的一種備受青睞,且拍照功能是Android智能機產(chǎn)品的主要賣點。該文結合作者自身研發(fā)經(jīng)驗,分析相機拍照功能的開發(fā)模式,常見的拍照技術,及針對相機開發(fā)技術存在的問題,對相機性能提升進行探究。

        關鍵詞:Android;拍照技術;性能提升

        近年來伴隨Android智能機的廣泛普及,各類拍照功能深受消費者喜愛,成為智能機主要賣點。受制于硬件條件,開發(fā)者少有機會接觸應用層以下相機功能研發(fā),手機廠商也不愿分享相關技術,導致部分開發(fā)者的技術研究僅停留在應用層,缺乏系統(tǒng)的Android智能機相機開發(fā)經(jīng)驗。本文結合作者自身研發(fā)經(jīng)驗,較為全面地分析相機開發(fā)技術中存在的問題,并針對這些問題展開研究,給出了解決策略。

        1.拍照功能開發(fā)模式

        業(yè)界常見拍照功能開發(fā)模式有兩種:第一種模式是以手機廠商為代表的全棧開發(fā),圍繞手機芯片平臺相機模組展開的拍照功能研發(fā);第二種模式是以相機應用開發(fā)商為代表的純應用開發(fā),通過Android平臺Framework層calD,er~API接口獲取圖像數(shù)據(jù),借助JNI調用App自研算法庫完成圖像處理工作。

        第一種拍照模式如圖1,手機廠商將核心工作放在平臺層(Framework)、硬件抽象層(Hardware-Abstraction-Layer,HAL)層和驅動層去完成,結合算法和其他圖像處理方法最大程度挖掘芯片平臺的相機拍照能力。廠商自研相機App申請底層上報驅動能力,UI顯示底層支持的拍照模式以供使用。

        第二種拍照模式如圖2,相比手機廠商,純應用開發(fā)不依賴硬件設備,算法和圖像處理模塊上浮使其不受制于芯片平臺,但也因此犧牲了相機性能,或因無法調用底層接口而不能向用戶提供某些需要硬件支持的拍照功能和拍照特效。

        無論哪一種開發(fā)模式,其初衷都是希望通過技術手段向用戶提供更加優(yōu)質拍照技術。

        2.常見拍照技術

        2.1美顏拍照

        市場上備受女性用戶追捧的美膚、美顏、美妝等美化功能都是基于人臉檢測技術(facial-detection)實現(xiàn)的。國內相關應用開發(fā)商和手機廠商一般會采購專精于人臉檢測技術的第三方提供的開發(fā)包來做二次開發(fā),例如日本歐姆龍(Omron)忪司便是該技術的優(yōu)秀供應商。目前主流的人臉檢測方法有兩種:基于特征(feature-based)的人臉檢測和基于圖像(image-based)的人臉檢測。以基于特征的人臉檢測方法最為普遍,且將人眼作為首選識別特征。美顏等特效功能運行大致流程如下:

        人臉檢測算法首先作用于底層相機上報的預覽幀或圖像幀,識別出人眼后定位眉、眼鼻T型區(qū)、嘴、下巴,并將識別數(shù)據(jù)放人人臉信息結構體中,結構體作為人參傳人美顏函數(shù);接著美顏函數(shù)僅對原始幀中人臉框區(qū)域作美化處理,如:平滑祛皺、增白、大眼、濃眉、隆鼻、豐唇、白牙等;最后輸出數(shù)據(jù)并顯示。

        實際產(chǎn)品中為保證相機預覽界面流暢性,避免處理圖像卡頓,會根據(jù)需要挑選部分美化操作;開發(fā)過程中往往需要解決遇內存耗費優(yōu)化、圖像縮放、人臉坐標轉換、美化模板套用、光線和色彩調節(jié)等一系列問題。

        2.2偽光場相機

        光場相機(Lytro)是近年來較受關注的拍照技術,該技術運用微透鏡陣列等硬件設備采集拍攝圖像的光場參數(shù)(光線的方向、強度等);在后續(xù)圖像處理時通過還原光場信息來實現(xiàn)例如“先拍照后對焦”等特有功能(也稱為重對焦/全焦)。智能手機是一種高度集成化的消費電子產(chǎn)品,受硬件研發(fā)難度和生產(chǎn)成本難以控制所限,單依靠在手機相機模組中集成微透鏡陣列來實現(xiàn)“先拍照后對焦功能”的設想并不現(xiàn)實,因此借助軟件技術來實現(xiàn)便成為一種有效的解決方案。

        2013年Nokia發(fā)布的Lumia920手機率先實現(xiàn)“先拍照后對焦”功能,稱為Refocus,即重對焦;2013年華為在Android J版本實現(xiàn)此功能,稱為All-focus,即全焦;2014年Google在Android K版本也實現(xiàn)該功能并公布原理:在相機取景時通過運動求取結構算法(Sructure-from-Motion,SfM)及光束法平差來計算相機的3D定位、定向及幀序列中圖像特征的3D位置,再利用多視角立體算法(Muhi-View-Stereo,MVS)算參照圖上每一個像素的景深,最后根據(jù)景深按比例模糊用戶選取的焦點以外的場景,以達到視覺上的重對焦效果。需注意的是Google偽光場拍照原理不同于華為等國內廠商,國內廠商的基本原理是:在不同焦距拍攝多張照片上報應用,待用戶在圖庫中使用重對焦功能時,利用算法解析出用戶點擊處最清晰照片并顯示出來。全流程細節(jié)如下:

        1)用戶按下快門拍攝照片,底層驅動控制相機模組馬達步進,間隔對焦拍攝多張照片;相機馬達步進幅度在研發(fā)階段逐步調試到位,與相機模組參數(shù)相關。如圖3,F(xiàn)x表示不同的步進焦距,Picx是在對應焦距下采集的圖像幀。

        2)HAL層和Framework層圖像處理函數(shù)將采集到的圖像按特定規(guī)則合成一張圖片文件:多張圖像數(shù)據(jù)追加到圖片文件尾部,在圖片文件頭標記當前照片為特殊的光場相片,并記錄每張圖片數(shù)據(jù)長度和數(shù)據(jù)起始標志位(如圖4)。

        3)用戶打開偽光場照片,圖庫App將所有照片解析出來并緩存,使用算法挑選用戶點擊區(qū)域最清晰的照片,并呈現(xiàn)給用戶,從而完成整個先拍照后對焦過程(如圖5)??捎玫暮唵嗡惴ㄓ蠸obel或Canny算子的邊緣檢測算法,或者更優(yōu)秀的邊緣檢測算法。

        實際開發(fā)時還需做兩點改進:一是增加拍攝圖片數(shù)量提升重對焦準確性;二是在圖片切換時使用插幀法和邊緣裁剪法提升重對焦時圖片切換流暢感,形成圖片推進啦伸的景深效果。

        此外還可通過算法預處理和圖片映射手段來改善性能:將相機取景現(xiàn)場劃分為多個編號區(qū)域,待所有圖片拍攝完畢后立即對每個區(qū)域使用算法挑選最清晰照片,并將對應圖片編號同取景區(qū)域編號關聯(lián),隨后將映射關系放入圖片文件頭結構中,重對焦操作時應用程序不用再使用算法解析所有圖片,通過映射關系直接解析目標圖片,即僅在拍攝過程中對所有圖片使用一次挑選算法,從而大幅提升整體性能。如圖6,假設經(jīng)算法挑選后AI區(qū)域最清晰圖片是第7張圖片,那么當用戶點擊AI區(qū)域時,顯示第7張圖片就能令用戶感受重對焦效果。

        2.3暗光場景拍照

        環(huán)境光不足場景下可以采用:器件補光、模組自適應以及多幀合成等三種途徑解決拍照問題,前兩者倚重硬件能力,最后一種是軟件方法。

        1)在器件補光方面,靈活運用閃光燈加柔光燈組合能有效調節(jié)物體形態(tài)、輪廓和色彩,暗光自拍時在拍照瞬間調節(jié)LED屏幕亮度和顏色也能為前置攝像頭補光。

        2)在模組自適應方面,調整大小光圈控制進光能提高取景細節(jié)效果和景深效果,通過調低感光度IOS、優(yōu)化鮒算法調節(jié)白平衡(AWB)和延長曝光時間(AE)也可提高拍照質量。

        3)在多幀合成方面,典型實例有HDR拍照和多幀降噪,HDR的核心原理可概述為:對同一個景物短時間內,拍攝多張不同的曝光值的照片,利用不同曝光值對應的最佳細節(jié)合成為同一張照片,從而達到提到拍攝質量的目的。

        在流程上,HDR模式拍攝時會發(fā)先設置3-5個曝光值,然后按所設的曝光值依次拍照,最后挑選出曝光不足、曝光正常及曝光過度3張照片合成1張HDR照片。在實際應用中,手機廠商往往綜合運用以上三種方法不斷優(yōu)化拍照效果,任何單一方法改進效果有限。

        3.性能提升的探究

        相機性能是手機測評的重要標桿,手機相機研發(fā)時需要關注的性能指標包括:拍立得時間(shoot-and-see)、相機啟動時間、預覽跟隨流暢性、快速對焦能力等。通過梳理全流程代碼,簡化或后置非必要加載流程能有效減少相機啟動時間。三星獨辟蹊徑,在手機啟動流程中加入應用層以下相機相關進程的啟動,從而在用戶啟動三星自研相機應用時無需再啟動此類進程,讓用戶感覺相機啟動很快。

        第一,相機APP設計時應遵循UI扁平化原則,降低界面渲染對內存消耗。第二,考慮將操作控件和預覽Slurface控件分層設計,確保預覽顯示同操作界面切換互不影響。第三,還應參考Android,J版本后Framework層Camera代碼,采用流模式(Stream)優(yōu)化App整體架構。拍立得時間也可類比相機啟動優(yōu)化方法縮短耗時,但對某些難以改進的拍照模式,可提前在界面上顯示所得照片縮略圖,待后臺處理圖像完畢再存人數(shù)據(jù)庫,在不影響易用性前提下,試圖在視覺上給用戶拍照快的錯覺。

        流暢性則需要減少預覽時底層對預覽幀持有時間以提升用戶體驗,對耗時的預覽算法應裁剪非必要特效,僅保留主要效果,但要對拍照幀需作全特效處理。如此設計的結果是,由于實際拍照效果優(yōu)于預覽效果,反而會給用戶帶來驚喜,提升用戶對智能機照性能的評價。一般來講,將激光對焦、相位對焦和反差對焦三者組合使用的合成對焦效果最佳,因為相位對焦和激光對焦分針對遠景/近景切換和暗光取景兩種場景表現(xiàn)優(yōu)異,在高通驍龍芯片將激光對焦技術普及的背景下,合成對焦效是未來相機對焦技術的發(fā)展趨勢。

        4.總結

        本文從介紹Android智能機相機開發(fā)模式出發(fā),解析了當前流行的美顏拍照、偽光場拍照、暗光拍照等多種拍照技術,研究了提升Android相機性能的基本策略,總結了相關開發(fā)經(jīng)驗,對從事Android智能機相機開發(fā)人員的研發(fā)工作具有指導意義。

        久久久久亚洲精品天堂| 亚洲精品天天影视综合网| 国产无遮挡又黄又爽免费网站 | 99久久婷婷国产精品综合网站| 精品无码国产一区二区三区麻豆| 国产一区二区三区18p| 免费观看91色国产熟女| 久久久久人妻一区二区三区| 亚洲aⅴ天堂av天堂无码麻豆| 又硬又粗又大一区二区三区视频 | 日韩亚洲一区二区三区四区 | 精品久久久久香蕉网| 无码人妻精品一区二区三区66| 香蕉亚洲欧洲在线一区| av一区二区三区综合网站| 亚洲性色av一区二区三区| 无码人妻少妇久久中文字幕蜜桃| 亚洲精品国产v片在线观看| av无码特黄一级| 久久精品熟女亚洲av麻豆永永| 久久久噜噜噜久久| 少妇高潮尖叫黑人激情在线| 国产小屁孩cao大人| 日本人妻三级在线观看| 亚洲av成人片色在线观看| 中文字幕日本特黄aa毛片| 精品乱码卡1卡2卡3免费开放| 青青草极品视频在线播放| 日韩人妻系列在线观看| 国产女人高潮叫床免费视频| 成人激情四射网| 男的和女的打扑克的视频| 老妇高潮潮喷到猛进猛出| 亚洲精品久久久久中文字幕一福利 | 久久精品国产亚洲av不卡国产| 曰本无码人妻丰满熟妇啪啪| 精品国产精品久久一区免费式| 国产在线高清无码不卡| 青青青免费在线视频亚洲视频| 欧美黑人群一交| 国产资源精品一区二区免费|