日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

老板來了:通過HaaS100實現端云一體AI識別示例

通過“老板來了”案例,來給開發者演示如何實現一個端云一體AI的AI識別功能。

更正文檔貢獻說明

1. 案例簡介

ucloud_ai_demo是基于云端AI能力實現的AI識別案例,主要有三個部分組成:

  1. 通過采集WiFi攝像頭(ESP32)的數據后得到jpeg圖像;

  2. 上傳至云端OSS,再通過ucloud_ai組件實現視覺智能開放平臺對圖片識別處理;

  3. 通過LCD屏進行畫面顯示及識別結果顯示。

該案例中支持了15種AI能力,通過在aiconfig.h中配置AI_MODEL選擇對應的AI模型,所有的AI模型類型在aiagent_common.h中定義說明,修改后重新編譯即可看到相應的效果。

2. 基礎知識

2.1 基礎目錄結構

├── helloworld.c   # 該solution核心打印輸出代碼,入口**application_start**
├── k_app_config.h # 內核組件的配置開關,優先級低于**k_config.h**
├── maintask.c     # 系統主任務入口處理,入口**aos_maintask**
├── Makefile       # aos make編譯時入口
├── package.yaml   # 編譯系統配置文件
└── SConstruct     # Makefile => Scon => aostools

├── linkkit_event.c     # 連接物聯網平臺時使用的接口
├── main.c              # demo應用主程序入口,入口**application_start**
├── maintask.c          # 系統主任務入口處理,入口**aos_maintask**
├── Makefile            # aos make編譯時入口
├── package.yaml        # 編譯系統配置文件
├── SConstruct          # Makefile => Scon => aostools
└── ucloud_ai_demo.c    # AI識別處理主程序

3. 方案組成

整個方案由HaaS100、WiFi攝像頭、LCD組成。LCD與HaaS100通過SPI連接,HaaS100通過HTTP請求獲取到JPEG數據最終顯示到LCD上。

3.1 WiFi攝像頭安裝

3.1.1 WiFi攝像頭選型

市面上的WiFi攝像頭比較多,在本例中WiFi攝像頭采用ESP官方的ESP32-EYE進行適配,ESP32-CAM是ESP32第三方廠商開發的一款低成本方案,應用也比較廣泛,開發者也可以選擇它作為方案之一,萬能的淘寶上有很多賣家,商家也會提供相應的資料,開發者可以根據自己需要進行調試,購買鏈接如下:

ESP32-EYE

ESP32-CAM

3.1.2 ESP32-EYE開發配置

3.1.2.1 代碼下載

$git clone --recursive https://github.com/espressif/esp-who.git

3.1.2.2 ESP-IDF安裝

不同的操作系統安裝的步驟也有所差異,請參考官網文檔進行安裝:

文檔鏈接

3.1.2.3 環境變量設置

說明

這里以Macbook為例進行環境變量設置:

$cd ~/esp/esp-idf
$./install.sh
$. ./export.sh

注意: 每次重啟終端后都需要執行該步驟,否則找不到idf.py命令,或者可以加入到根目錄.bashrc中不用每次再輸入該命令。

3.1.2.4 ESP32 EYE網絡設置

說明

SoftAP模式

默認啟動后ESP32 EYE已經開啟了SSID為ESP32-Camera的AP,可以使用電腦連接該AP。

也可以通過修改sdkconfig來改變ssid/password、station連接數量、AP信道、服務器IP等,然后重新進行編譯:

說明

Station模式

ESP32也支持station與SoftAP模式共存,比如想讓ESP32 EYE接入到SSID為haas_test的局域網中,修改sdkconfig中的ssid/password即可。

3.1.2.5 分辨率配置

因為本案例中使用的LCD是320x240的,攝像頭采集的畫面也相應的設置為QVGA(320x240)減少傳輸帶寬占用,esp-who/examples/single_chip/camera_web_server/main/app_httpd.c中添加代碼:

static esp_err_t capture_handler(httpd_req_t *req)
{
    camera_fb_t *fb = NULL;
    esp_err_t res = ESP_OK;
    int64_t fr_start = esp_timer_get_time();

    /*set resolution*/
    sensor_t *sensor = esp_camera_sensor_get();
    sensor->set_framesize(sensor, (framesize_t)5);/*QVGA: 320 x 240*/
    if (res == 0) {
        app_mdns_update_framesize(5);/*QVGA*/
    }
    ......
}

3.1.2.6 代碼編譯

ESP32-EYE的代碼中提供了多個Demo,使用camera_web_server來建立一個Web服務器,該Demo中攝像頭采集的數據以jpeg格式提供,并且提供了以http請求的方式獲取jpeg圖像數據。編譯需要進入到Demo的目錄中:

$ cd examples/single_chip/camera_web_server/
$ idf.py build

3.1.2.7 代碼燒錄

$ idf.py -p [port] flash

例如: idf.py -p /dev/cu.SLAB_USBtoUART flash

3.1.2.8 Log監視器

查看串口log,進入到camera_web_server所在目錄執行。

$idf.py -p [port] monitor

例如: idf.py -p /dev/cu.SLAB_USBtoUART monitor

所以camera wifi的IP就是192.168.3.135。

3.1.2.9 檢查攝像頭畫面采集

為了確認ESP32-EYE攝像頭是否正常,電腦連接ESP32-EYE的WiFi網絡ESP32-Camera,先通過電腦方式查看Web界面http://192.168.4.1:80/capture: 抓取當前畫面http://192.168.4.1:80/capture:

3.2 LCD連線

使用本測試示例時,需要先連接SPI LCD屏幕。

LCD購買鏈接

請選擇購買2.4寸屏。

HaaS100開發板請務必使用V1.1以上的版本,HaaS100擴展口:

LCD與HaaS100接線對應pin腳:

4. Demo體驗

4.1 云端功能開通

  1. 如沒有阿里云賬號,請登錄阿里云官網開通。

  2. 登錄視覺智能開放平臺免費開通如下功能:

人臉人體文字識別分割摳圖目標檢測

  1. 登錄OSS平臺創建bucket:

a. 創建Bucket時地域選擇“上海”
b. 讀寫權限選擇“公共讀”
c. Bucket名稱全小寫

4.2 配置OSS信息

在solutions/ucloud_ai_demo/package.yaml中替換你的OSS信息

OSS_ACCESS_KEY: "Your-Access-Key"
OSS_ACCESS_SECRET: "Your-Access-Secret"
OSS_ENDPOINT: "Your-OSS-Endpoint"    #例如: "oss-cn-shanghai-internal.aliyuncs.com"
OSS_BUCKET: "Your-OSS-Bucket"        #例如: "cloud-ai-dev"

OSS_ACCESS_KEY以及OSS_ACCESS_SECRET獲取鏈接:https://usercenter.console.aliyun.com/#/accesskey
ENDPOINT默認使用“oss-cn-shanghai-internal.aliyuncs.com”,BUCKET請使用你創建好的Bucket名稱。

4.3 AI模型配置

在components/ai_agent/include/aiconfig.h中配置:

# 配置AI模型為人臉比對
#define AI_MODEL AI_MODEL_COMPARING_FACEBODY

默認是人臉比對。

4.4 配置人臉原始對比圖像

登錄http://oss.console.aliyun.com 上傳你的人臉到4.1中創建的bucket中,并替換路徑到solutions/ucloud_ai_demo/package.yaml:

MYFACE_PATH: "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/CompareFace/CompareFace-left1.png"

4.5 WiFi攝像頭IP配置

wifi camera的http訪問地址,用戶根據自己攝像頭的IP地址進行替換: 在components/ucamera/package.yaml中配置:

  WIFICAMERA_URL: "http://192.168.43.166:80/capture"

192.168.43.166替換為3.2.1.7中從log獲取的WiFi攝像頭IP。

4.6 AliOS Things開發環境搭建

案例相關的代碼下載、編譯和固件燒錄均依賴AliOS Things配套的開發工具,所以首先需要參考《AliOS Things集成開發環境使用說明之搭建開發環境》,下載安裝。 待開發環境搭建完成后,可以按照以下步驟進行示例的測試。

4.7 案例代碼下載

該案例相關的源代碼下載可參考《AliOS Things集成開發環境使用說明之創建工程》。 其中:

說明

選擇解決方案:“云端AI案例”或者“ucloud_ai_demo”

說明

選擇開發板:HaaS100

4.8 代碼編譯、燒錄

-- 固件編譯方法可參考《AliOS Things集成開發環境使用說明之編譯固件》

4.8.1 文件件系統燒錄

本組件例子中使用到圖片及字體分別存放在代碼中hardware/chip/haas1000/prebuild/data/目錄下ai_demo_image及font目錄,除燒錄ucloud_ai_demo image外,需燒錄littlefs文件系統,請將hardware/chip/haas1000/package.yaml文件中以下代碼段的注釋打開:

  program_data_files:
    - filename: release/write_flash_tool/ota_bin/littlefs.bin
      address: 0xB32000

-- 固件燒錄方法可參考《AliOS Things集成開發環境使用說明之燒錄固件》

4.9 打開串口

固件燒錄完成后,可以通過串口查看示例的運行結果,打開串口的具體方法可參考《AliOS Things集成開發環境使用說明之查看日志》

4.10 網絡連接

當串口終端打開成功后,可在串口中輸入聯網命令。因為HaaS100開發板需要連接到云端,因此需要連接到一個可以上外網的路由器,WiFi攝像頭(ESP32-EYE)也只能使用Station模式連接到同一臺路由器。

# 系統起來后在串口輸入配網命令
netmgr -t wifi -c {ssid} {password}

請將ssid修改為您路由器的WiFi名稱,paasword填入路由器的WiFi密碼。

4.11 識別結果響應

網絡設置后,HaaS100將從攝像頭獲取圖像并通過云端識別后輸出置信度的值,人臉位置以及“boss is coming”字樣:

4.11.1 字幕提醒

在HaaS 100的擴展屏上顯示“Warning!!!Boss is coming!!!”: