From fdd940ffb911edac8edf7345d8d07a832e0d30d8 Mon Sep 17 00:00:00 2001 From: Ye Hang Yang Date: Fri, 16 Jul 2021 16:20:24 +0800 Subject: [PATCH] :sparkles: camera_terminal --- examples/camera_terminal/CMakeLists.txt | 7 + .../img/menuconfig_dl_config.png | Bin 0 -> 29973 bytes .../img/result_on_terminal.png | Bin 0 -> 132278 bytes examples/camera_terminal/main/CMakeLists.txt | 16 ++ .../camera_terminal/main/Kconfig.projbuild | 178 ++++++++++++++++++ examples/camera_terminal/main/app_camera.cpp | 82 ++++++++ examples/camera_terminal/main/app_dl.cpp | 154 +++++++++++++++ examples/camera_terminal/main/app_main.cpp | 30 +++ .../camera_terminal/main/include/app_camera.h | 175 +++++++++++++++++ .../camera_terminal/main/include/app_dl.hpp | 7 + examples/camera_terminal/partitions.csv | 4 + 11 files changed, 653 insertions(+) create mode 100644 examples/camera_terminal/CMakeLists.txt create mode 100644 examples/camera_terminal/img/menuconfig_dl_config.png create mode 100644 examples/camera_terminal/img/result_on_terminal.png create mode 100644 examples/camera_terminal/main/CMakeLists.txt create mode 100755 examples/camera_terminal/main/Kconfig.projbuild create mode 100644 examples/camera_terminal/main/app_camera.cpp create mode 100644 examples/camera_terminal/main/app_dl.cpp create mode 100644 examples/camera_terminal/main/app_main.cpp create mode 100644 examples/camera_terminal/main/include/app_camera.h create mode 100644 examples/camera_terminal/main/include/app_dl.hpp create mode 100644 examples/camera_terminal/partitions.csv diff --git a/examples/camera_terminal/CMakeLists.txt b/examples/camera_terminal/CMakeLists.txt new file mode 100644 index 0000000..7cb7d40 --- /dev/null +++ b/examples/camera_terminal/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.5) + +set(EXTRA_COMPONENT_DIRS ../../components) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) + +project(camera_terminal) diff --git a/examples/camera_terminal/img/menuconfig_dl_config.png b/examples/camera_terminal/img/menuconfig_dl_config.png new file mode 100644 index 0000000000000000000000000000000000000000..5f72f79388b3eb9f6504f462a0c122d150b86b52 GIT binary patch literal 29973 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 literal 0 HcmV?d00001 diff --git a/examples/camera_terminal/img/result_on_terminal.png b/examples/camera_terminal/img/result_on_terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..550c290cb96f4b5633461f3b6163530fe60b1f30 GIT binary patch literal 132278 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 + * + * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in which case, + * it is free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished + * to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "app_camera.h" + +static const char *TAG = "app_camera"; + +void app_camera_init() +{ +#if CONFIG_CAMERA_MODEL_ESP_EYE + /* IO13, IO14 is designed for JTAG by default, + * to use it as generalized input, + * firstly declair it as pullup input */ + gpio_config_t conf; + conf.mode = GPIO_MODE_INPUT; + conf.pull_up_en = GPIO_PULLUP_ENABLE; + conf.pull_down_en = GPIO_PULLDOWN_DISABLE; + conf.intr_type = GPIO_INTR_DISABLE; + conf.pin_bit_mask = 1LL << 13; + gpio_config(&conf); + conf.pin_bit_mask = 1LL << 14; + gpio_config(&conf); +#endif + camera_config_t config; + config.ledc_channel = LEDC_CHANNEL_0; + config.ledc_timer = LEDC_TIMER_0; + config.pin_d0 = Y2_GPIO_NUM; + config.pin_d1 = Y3_GPIO_NUM; + config.pin_d2 = Y4_GPIO_NUM; + config.pin_d3 = Y5_GPIO_NUM; + config.pin_d4 = Y6_GPIO_NUM; + config.pin_d5 = Y7_GPIO_NUM; + config.pin_d6 = Y8_GPIO_NUM; + config.pin_d7 = Y9_GPIO_NUM; + config.pin_xclk = XCLK_GPIO_NUM; + config.pin_pclk = PCLK_GPIO_NUM; + config.pin_vsync = VSYNC_GPIO_NUM; + config.pin_href = HREF_GPIO_NUM; + config.pin_sscb_sda = SIOD_GPIO_NUM; + config.pin_sscb_scl = SIOC_GPIO_NUM; + config.pin_pwdn = PWDN_GPIO_NUM; + config.pin_reset = -1;//RESET_GPIO_NUM; + config.xclk_freq_hz = XCLK_FREQ; + config.pixel_format = CAMERA_PIXEL_FORMAT; + config.frame_size = CAMERA_FRAME_SIZE; + config.jpeg_quality = 10; + config.fb_count = 1; + + // camera init + esp_err_t err = esp_camera_init(&config); + if (err != ESP_OK) { + ESP_LOGE(TAG, "Camera init failed with error 0x%x", err); + return; + } + + sensor_t * s = esp_camera_sensor_get(); + s->set_vflip(s, 1);//flip it back + //initial sensors are flipped vertically and colors are a bit saturated + if (s->id.PID == OV3660_PID) { + s->set_brightness(s, 1);//up the blightness just a bit + s->set_saturation(s, -2);//lower the saturation + } +} diff --git a/examples/camera_terminal/main/app_dl.cpp b/examples/camera_terminal/main/app_dl.cpp new file mode 100644 index 0000000..2dc7343 --- /dev/null +++ b/examples/camera_terminal/main/app_dl.cpp @@ -0,0 +1,154 @@ +#include "app_dl.hpp" + +#include "esp_log.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "sdkconfig.h" + +#include "app_camera.h" + +#include +#include "dl_tool.hpp" +#include "dl_image.hpp" +#include "dl_detect_define.hpp" + +#if CONFIG_DL_DETECT_HUMAN_FACE +#include "human_face_detect_msr01.hpp" +#endif + +#if CONFIG_DL_DETECT_HUMAN_FACE_WITH_KEYPOINT +#include "human_face_detect_mnp01.hpp" +#endif + +#if CONFIG_DL_DETECT_CAT_FACE +#include "cat_face_detect_mn03.hpp" +#endif + +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE +// TODO: recognize human face +#endif + +static const char *TAG = "app_dl"; +void task_dl(void *arg) +{ + camera_fb_t *fb = NULL; + uint8_t *image_rgb888; + dl::tool::Latency latency_total(24); + dl::tool::Latency latency_fetch; + dl::tool::Latency latency_decode; + dl::tool::Latency latency_detect; + + /* 1. Load configuration for detection */ +#if CONFIG_DL_DETECT_HUMAN_FACE + HumanFaceDetectMSR01 detector(0.3F, 0.3F, 10, 0.3F); +#endif + +#if CONFIG_DL_DETECT_HUMAN_FACE_WITH_KEYPOINT + HumanFaceDetectMNP01 detector2(0.4F, 0.3F, 10); +#endif + +#if CONFIG_DL_DETECT_CAT_FACE + CatFaceDetectMN03 detector(0.4F, 0.3F, 10, 0.3F); +#endif + +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE + dl::tool::Latency latency_recognize; +// TODO: recognize human face +#endif + + while (true) + { + latency_total.start(); + + /* 2. Get one image with camera */ + latency_fetch.start(); + fb = esp_camera_fb_get(); + if (!fb) + { + ESP_LOGE(TAG, "Camera capture failed"); + continue; + } + latency_fetch.end(); + + /* 3. Transform image to RGB */ + latency_decode.start(); + image_rgb888 = (uint8_t *)dl::tool::malloc_aligned(fb->height * fb->width * 3, sizeof(uint8_t)); + bool res = fmt2rgb888(fb->buf, fb->len, fb->format, image_rgb888); + if (false == res) + { + ESP_LOGE(TAG, "fmt2rgb888 failed, fb: %d", fb->len); + dl::tool::free_aligned(image_rgb888); + continue; + } + int image_height = fb->height; + int image_width = fb->width; + esp_camera_fb_return(fb); + latency_decode.end(); + + /* 4. Do deep-learning processing */ + latency_detect.start(); +#if CONFIG_DL_DETECT_HUMAN_FACE_WITH_KEYPOINT + std::list &candidates = detector.infer((uint8_t *)image_rgb888, {image_height, image_width, 3}); + std::list &results = detector2.infer((uint8_t *)image_rgb888, {image_height, image_width, 3}, candidates); +#else + std::list &results = detector.infer((uint8_t *)image_rgb888, {image_height, image_width, 3}); +#endif + latency_detect.end(); + +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE + latency_recognize.start(); +#endif + if (results.size() > 0) + { + int i = 0; + for (std::list::iterator prediction = results.begin(); prediction != results.end(); prediction++, i++) + { +#if CONFIG_DL_DETECT_HUMAN_FACE_WITH_KEYPOINT + ESP_LOGI(TAG, "[%d]: (%3d, %3d, %3d, %3d) | left eye: (%3d, %3d), right eye: (%3d, %3d), nose: (%3d, %3d), mouth left: (%3d, %3d), mouth right: (%3d, %3d)", + i, + prediction->box[0], prediction->box[1], prediction->box[2], prediction->box[3], + prediction->keypoint[0], prediction->keypoint[1], // left eye + prediction->keypoint[6], prediction->keypoint[7], // right eye + prediction->keypoint[4], prediction->keypoint[5], // nose + prediction->keypoint[2], prediction->keypoint[3], // mouth left corner + prediction->keypoint[8], prediction->keypoint[9]); // mouth right corner +#else + ESP_LOGI(TAG, "[%d]: (%3d, %3d, %3d, %3d)", + i, + prediction->box[0], prediction->box[1], prediction->box[2], prediction->box[3]); +#endif + } + +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE + latency_recognize.start(); +#endif + } +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE + latency_recognize.end(); +#endif + dl::tool::free_aligned(image_rgb888); + latency_total.end(); + + uint32_t frame_latency = latency_total.get_period() / 1000; + uint32_t average_frame_latency = latency_total.get_average_period() / 1000; + ESP_LOGI(TAG, "Frame: %4ums (%.1ffps), Average: %4ums (%.1ffps) | fetch: %4ums, decode: %4ums, detect: %4ums" +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE + ", recognize: %5ums" +#endif + , + frame_latency, 1000.0 / frame_latency, average_frame_latency, 1000.0 / average_frame_latency, + latency_fetch.get_period() / 1000, + latency_decode.get_period() / 1000, + latency_detect.get_period() / 1000 +#if CONFIG_DL_RECOGNIZE_HUMAN_FACE + , + latency_recognize.get_period() / 1000 +#endif + ); + } +} + +void app_dl_init() +{ + xTaskCreatePinnedToCore(task_dl, "dl", 4 * 1024, NULL, 5, NULL, 1); +} diff --git a/examples/camera_terminal/main/app_main.cpp b/examples/camera_terminal/main/app_main.cpp new file mode 100644 index 0000000..37ad867 --- /dev/null +++ b/examples/camera_terminal/main/app_main.cpp @@ -0,0 +1,30 @@ +/* ESPRESSIF MIT License + * + * Copyright (c) 2018 + * + * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in which case, + * it is free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished + * to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "app_camera.h" +#include "app_dl.hpp" + +extern "C" void app_main() +{ + app_camera_init(); + app_dl_init(); +} diff --git a/examples/camera_terminal/main/include/app_camera.h b/examples/camera_terminal/main/include/app_camera.h new file mode 100644 index 0000000..53441e7 --- /dev/null +++ b/examples/camera_terminal/main/include/app_camera.h @@ -0,0 +1,175 @@ +/* + * ESPRESSIF MIT License + * + * Copyright (c) 2017 + * + * Permission is hereby granted for use on ESPRESSIF SYSTEMS products only, in which case, + * it is free of charge, to any person obtaining a copy of this software and associated + * documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished + * to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +#ifndef _APP_CAMERA_H_ +#define _APP_CAMERA_H_ + +#include "esp_log.h" +#include "esp_system.h" +#include "esp_camera.h" + +/** + * PIXFORMAT_RGB565, // 2BPP/RGB565 + * PIXFORMAT_YUV422, // 2BPP/YUV422 + * PIXFORMAT_GRAYSCALE, // 1BPP/GRAYSCALE + * PIXFORMAT_JPEG, // JPEG/COMPRESSED + * PIXFORMAT_RGB888, // 3BPP/RGB888 + */ +#define CAMERA_PIXEL_FORMAT PIXFORMAT_JPEG + +/* + * FRAMESIZE_QQVGA, // 160x120 + * FRAMESIZE_QQVGA2, // 128x160 + * FRAMESIZE_QCIF, // 176x144 + * FRAMESIZE_HQVGA, // 240x176 + * FRAMESIZE_QVGA, // 320x240 + * FRAMESIZE_CIF, // 400x296 + * FRAMESIZE_VGA, // 640x480 + * FRAMESIZE_SVGA, // 800x600 + * FRAMESIZE_XGA, // 1024x768 + * FRAMESIZE_SXGA, // 1280x1024 + * FRAMESIZE_UXGA, // 1600x1200 + */ +#define CAMERA_FRAME_SIZE FRAMESIZE_QVGA + +#if CONFIG_CAMERA_MODEL_WROVER_KIT +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM -1 +#define XCLK_GPIO_NUM 21 +#define SIOD_GPIO_NUM 26 +#define SIOC_GPIO_NUM 27 + +#define Y9_GPIO_NUM 35 +#define Y8_GPIO_NUM 34 +#define Y7_GPIO_NUM 39 +#define Y6_GPIO_NUM 36 +#define Y5_GPIO_NUM 19 +#define Y4_GPIO_NUM 18 +#define Y3_GPIO_NUM 5 +#define Y2_GPIO_NUM 4 +#define VSYNC_GPIO_NUM 25 +#define HREF_GPIO_NUM 23 +#define PCLK_GPIO_NUM 22 + +#elif CONFIG_CAMERA_MODEL_ESP_EYE +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM -1 +#define XCLK_GPIO_NUM 4 +#define SIOD_GPIO_NUM 18 +#define SIOC_GPIO_NUM 23 + +#define Y9_GPIO_NUM 36 +#define Y8_GPIO_NUM 37 +#define Y7_GPIO_NUM 38 +#define Y6_GPIO_NUM 39 +#define Y5_GPIO_NUM 35 +#define Y4_GPIO_NUM 14 +#define Y3_GPIO_NUM 13 +#define Y2_GPIO_NUM 34 +#define VSYNC_GPIO_NUM 5 +#define HREF_GPIO_NUM 27 +#define PCLK_GPIO_NUM 25 + +#elif CONFIG_CAMERA_MODEL_M5STACK_PSRAM +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM 15 +#define XCLK_GPIO_NUM 27 +#define SIOD_GPIO_NUM 25 +#define SIOC_GPIO_NUM 23 + +#define Y9_GPIO_NUM 19 +#define Y8_GPIO_NUM 36 +#define Y7_GPIO_NUM 18 +#define Y6_GPIO_NUM 39 +#define Y5_GPIO_NUM 5 +#define Y4_GPIO_NUM 34 +#define Y3_GPIO_NUM 35 +#define Y2_GPIO_NUM 32 +#define VSYNC_GPIO_NUM 22 +#define HREF_GPIO_NUM 26 +#define PCLK_GPIO_NUM 21 + +#elif CONFIG_CAMERA_MODEL_M5STACK_WIDE +#define PWDN_GPIO_NUM -1 +#define RESET_GPIO_NUM 15 +#define XCLK_GPIO_NUM 27 +#define SIOD_GPIO_NUM 22 +#define SIOC_GPIO_NUM 23 + +#define Y9_GPIO_NUM 19 +#define Y8_GPIO_NUM 36 +#define Y7_GPIO_NUM 18 +#define Y6_GPIO_NUM 39 +#define Y5_GPIO_NUM 5 +#define Y4_GPIO_NUM 34 +#define Y3_GPIO_NUM 35 +#define Y2_GPIO_NUM 32 +#define VSYNC_GPIO_NUM 25 +#define HREF_GPIO_NUM 26 +#define PCLK_GPIO_NUM 21 + +#elif CONFIG_CAMERA_MODEL_AI_THINKER +#define PWDN_GPIO_NUM 32 +#define RESET_GPIO_NUM -1 +#define XCLK_GPIO_NUM 0 +#define SIOD_GPIO_NUM 26 +#define SIOC_GPIO_NUM 27 + +#define Y9_GPIO_NUM 35 +#define Y8_GPIO_NUM 34 +#define Y7_GPIO_NUM 39 +#define Y6_GPIO_NUM 36 +#define Y5_GPIO_NUM 21 +#define Y4_GPIO_NUM 19 +#define Y3_GPIO_NUM 18 +#define Y2_GPIO_NUM 5 +#define VSYNC_GPIO_NUM 25 +#define HREF_GPIO_NUM 23 +#define PCLK_GPIO_NUM 22 + + +#elif CONFIG_CAMERA_MODEL_CUSTOM +#define PWDN_GPIO_NUM CONFIG_CAMERA_PIN_PWDN +#define RESET_GPIO_NUM CONFIG_CAMERA_PIN_RESET +#define XCLK_GPIO_NUM CONFIG_CAMERA_PIN_XCLK +#define SIOD_GPIO_NUM CONFIG_CAMERA_PIN_SIOD +#define SIOC_GPIO_NUM CONFIG_CAMERA_PIN_SIOC + +#define Y9_GPIO_NUM CONFIG_CAMERA_PIN_Y9 +#define Y8_GPIO_NUM CONFIG_CAMERA_PIN_Y8 +#define Y7_GPIO_NUM CONFIG_CAMERA_PIN_Y7 +#define Y6_GPIO_NUM CONFIG_CAMERA_PIN_Y6 +#define Y5_GPIO_NUM CONFIG_CAMERA_PIN_Y5 +#define Y4_GPIO_NUM CONFIG_CAMERA_PIN_Y4 +#define Y3_GPIO_NUM CONFIG_CAMERA_PIN_Y3 +#define Y2_GPIO_NUM CONFIG_CAMERA_PIN_Y2 +#define VSYNC_GPIO_NUM CONFIG_CAMERA_PIN_VSYNC +#define HREF_GPIO_NUM CONFIG_CAMERA_PIN_HREF +#define PCLK_GPIO_NUM CONFIG_CAMERA_PIN_PCLK +#endif + +#define XCLK_FREQ 20000000 + +void app_camera_init(); + +#endif diff --git a/examples/camera_terminal/main/include/app_dl.hpp b/examples/camera_terminal/main/include/app_dl.hpp new file mode 100644 index 0000000..2d5d1fd --- /dev/null +++ b/examples/camera_terminal/main/include/app_dl.hpp @@ -0,0 +1,7 @@ +#pragma once + +/** + * @brief Initialize deep-learning application task. + * + */ +void app_dl_init(); \ No newline at end of file diff --git a/examples/camera_terminal/partitions.csv b/examples/camera_terminal/partitions.csv new file mode 100644 index 0000000..3e33c19 --- /dev/null +++ b/examples/camera_terminal/partitions.csv @@ -0,0 +1,4 @@ +# Espressif ESP32 Partition Table +# Name, Type, SubType, Offset, Size +factory, app, factory, 0x010000, 2M +nvs, data, nvs, 0x310000, 16K