一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

研發(fā)干貨丨基于RK3399安卓系統(tǒng)下實(shí)現(xiàn)圖像識(shí)別

 ARM_嵌入式 2020-09-28

首先我們了解下 android系統(tǒng)常用的 圖像識(shí)別框架

 

一:調(diào)用一些不開源庫(kù)進(jìn)行識(shí)別

曠視的圖像識(shí)別及 O CR 文字識(shí)別庫(kù),及其他廠家如阿里,百度,華為,騰訊的 OCR 文字識(shí)別庫(kù)等。

 

二:調(diào)用一些開源庫(kù)進(jìn)行識(shí)別

一): tensorflow 訓(xùn)練自定義圖像并識(shí)別

1. 是先在 ubuntu 上對(duì)很多圖片進(jìn)行訓(xùn)練得到自己的類別模型文件, xxx.pb 文件及 xxx_labels.txt 文件

2. 把上一步生成的文件放到 Android studio AS )工程里

3.AS 添加 tensorflow 依賴

4. tensorflow 給的 android 工程上做改動(dòng),寫出自己的工程

5. 運(yùn)行工程開始識(shí)別。

 

要在 android 上使用 tensorflow ,官方提供兩種方式工程:

一) tensorflow for mobile, 成熟,功能方法多

只需配置 buildgradle, 調(diào)用 tensorflow 相關(guān)接口進(jìn)行識(shí)別

2) tensorflow lite. 輕量,允許設(shè)備端的機(jī)器學(xué)習(xí)模型的低延遲推斷

下載移動(dòng)端的模型 model 和標(biāo)簽 labels 文件并解壓到 assert 下,導(dǎo)入 tensorflow 項(xiàng)目,調(diào)用 tensorflow 相關(guān)接口進(jìn)行識(shí)別

注意此種方法不能直接使用 tensorflow 的模型,需要對(duì)模型進(jìn)行轉(zhuǎn)換。

 

二): opencv 訓(xùn)練自定義圖像并識(shí)別

1. 配置 AS opencv 的環(huán)境,下載并配置 opencv sdk

2. windows 上用 opencv 工具訓(xùn)練自定義圖像數(shù)據(jù)集

3. 將訓(xùn)練好的數(shù)據(jù)集加載到 AS

4. 編寫自己的 android 工程

5. 運(yùn)行 android 工程進(jìn)行識(shí)別

 

三): tensorflow 訓(xùn)練自定義圖像,實(shí)時(shí)處理 openCV 獲取的攝像頭圖像( openCV 對(duì)圖像進(jìn)行分割)并識(shí)別( https://blog.csdn.net/qq_33200967/article/details/82773677

此方法與單獨(dú)使用 tensorflow 的區(qū)別是使用了 opencv 中的圖像分割,將所有分割物體進(jìn)行識(shí)別

 

四)其他:

另外有些開源的圖像識(shí)別方法, Tesseract (支持 OCR 文字識(shí)別)等,可以將其加入 android 并進(jìn)行識(shí)別。

OK3399-C 平臺(tái) android 系統(tǒng)的圖像識(shí)別實(shí)現(xiàn)

OK3399 android 圖像識(shí)別實(shí)現(xiàn)是使用 tensorflow ubuntu 上訓(xùn)練自定義圖像,用 tensorflow lite android 上進(jìn)行的識(shí)別,識(shí)別部分使用了 rk3399 內(nèi)部的 mali400 gpu

 

關(guān)于模型

首先,我們有訓(xùn)練好的 tensorflow 模型文件: xxx.pb

其次,將模型文件進(jìn)行轉(zhuǎn)換,先轉(zhuǎn)換成 tensorflow lite 支持的 xxx.tflite 模型文件,然后轉(zhuǎn)換成 rk3399 SSD Single Shot MultiBox Detector 支持的 xxx.rkl 模型文件。

然后,把此轉(zhuǎn)換后的模型文件加入 android 工程。

android 例程的基本實(shí)現(xiàn)為:

打開 camera 的預(yù)覽,同時(shí)創(chuàng)建一個(gè)跟蹤線程。跟蹤線程不斷的檢測(cè)是否有可用的圖片,一旦有可用圖片就調(diào)用識(shí)別 api 進(jìn)行識(shí)別,識(shí)別函數(shù)會(huì)返回識(shí)別目標(biāo)的位置及類型,然后得到 物體在圖片中的范圍,并繪制出來。

 

此例程除 java 實(shí)現(xiàn)的部分外,還涉及到三個(gè)庫(kù): librkssd4j.so , librga.so librkssd.so 。

以下是三個(gè)庫(kù)的介紹。

librkssd4j.so

調(diào)用說明:由 android 例程直接調(diào)用的庫(kù)。

源碼位置: rk_ssd_demo_rk3399\app\src\main\cpp

作用:調(diào)用 librga.so 對(duì)于圖像進(jìn)行格式轉(zhuǎn)換或翻轉(zhuǎn)及壓縮,然后調(diào)用 librkssd.so 進(jìn)行識(shí)別。

 

librga.so

調(diào)用說明:被 librkssd4j.so 加載

源碼位置: OK3399-android7-source/hardware/rockchip/librga/

作用:用來判斷平臺(tái)是否支持 rga ,及做 yuv 轉(zhuǎn) rgb 處理, rga 主要對(duì)圖片數(shù)據(jù)進(jìn)行一些格式轉(zhuǎn)換,翻轉(zhuǎn),縮放等運(yùn)算。


librkssd.so

調(diào)用說明:被 librkssd4j.so 加載

作用:對(duì)圖片進(jìn)行識(shí)別。其使用了 rk3399 內(nèi)部的 Mali400 gpu

 

以下為運(yùn)行效果:

 

基于OK3399-C平臺(tái)android系統(tǒng)下實(shí)現(xiàn)圖像識(shí)別  


參考資料:

瑞芯微原廠資料 RKDocs/rk3399/ RK3399_SSD_Android& Linux_V1.0_20180522.pdf

https://github.com/tesseract-ocr/tesseract.git

https://github.com/tensorflow/tensorflow.git

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    精品一区二区三区乱码中文| 欧美日韩亚洲国产精品| 国产精品成人一区二区三区夜夜夜| 欧美大胆女人的大胆人体| 国产一区一一一区麻豆| 日本高清一区免费不卡| 国产三级视频不卡在线观看| 午夜精品福利视频观看| 日本午夜免费啪视频在线| 好吊日在线观看免费视频| 亚洲国产精品国自产拍社区| 久草热视频这里只有精品| 在线免费视频你懂的观看| 国产成人人人97超碰熟女| 青青操在线视频精品视频| 在线日韩中文字幕一区| 国产一区二区三区午夜精品| 日韩成人高清免费在线| 在线亚洲成人中文字幕高清| 日本午夜免费啪视频在线| 在线免费观看黄色美女| 成年人黄片大全在线观看| 国产一区二区三区午夜精品| 日韩精品小视频在线观看| 亚洲精品中文字幕欧美| 久久热在线视频免费观看| 亚洲中文字幕人妻av| 日本人妻中出在线观看| 国产亚洲欧美日韩精品一区| 国产一区二区三中文字幕| 九七人妻一区二区三区| 我要看日本黄色小视频| 日本精品啪啪一区二区三区| 日韩精品中文字幕亚洲| 日本午夜免费福利视频| 国产亚洲欧美日韩精品一区 | 日韩人妻欧美一区二区久久| 风韵人妻丰满熟妇老熟女av| 国产日韩中文视频一区| 激情视频在线视频在线视频 | 国产精品一区二区视频大全|