犯罪分子检测--Eye in the Sky: Real-time Drone Surveillance System for Violent Individuals

提出了一种基于无人机的实时监控系统EyeintheSky,利用ScatterNet混合深度学习网络实现对暴力行为个体的快速识别。该系统通过建立AVI数据库并运用FPN进行人体检测,再通过SHDL网络进行人体姿态估计,最终根据肢体方向判断是否为暴力行为。

Eye in the Sky: Real-time Drone Surveillance System (DSS) for Violent Individuals Identification using ScatterNet Hybrid Deep Learning Network
CVPRW 2018

本文主要讨论了基于无人机的实时犯罪分子检测

采用无人机一个优势就是无人机可以飞到你需要的地方去,固定相机不能轻易移动。

对于这个问题首先建立了一个对应的数据库 Aerial Violent Individual (AVI) Dataset,这个数据库由 2000张图像组成,每张图像中包含 2-10人,整个数据库一共有 10863个人,其中 5124(48%)涉及五类暴力行为的一类或多类。五类暴力行为分别为: (1) Punching, (2) Stabbing, (3) Shooting, (4) Kicking, and (5) Strangling

这里写图片描述

每个人我们使用 14个关键点来表示其姿态信息
这里写图片描述

检测系统整个流程包括以下几个模块:
这里写图片描述
这里写图片描述

3.1. Human Detection
首先从视频中将每个人检测出来,这里我们使用 feature pyramid network (FPN)

3.2. ScatterNet Hybrid Deep Learning Network
每个人检测出来之后,提出了一个 ScatterNet Hybrid Deep Learning (SHDL) network 用于进行 人体姿态估计

3.3. Violent Individual Classification 犯罪行为分类
这里写图片描述
the orientations between the limbs of the estimated pose are used to identify the violent individuals

3.4.Drone Image Acquisition and Cloud Processing
处理模式是 无人采集图像,传输到云端GPU处理
The images recorded by the drone are transferred to the Amazon cloud to achieve real-time identification

4 Experimental Results
这里写图片描述

这里写图片描述
这里写图片描述

这里写图片描述

<think> 我们正在解决一个具体问题:当在命令行中执行类似 `mysql -drone_user -drone_pass` 的命令时,系统返回 `bash: mysql: command not found` 错误。这个错误意味着系统在环境变量 `PATH` 所指定的路径中找不到 `mysql` 这个可执行文件。 根据用户提供的引用,虽然引用内容与当前问题不直接相关(引用[1]提到的是虚拟环境下的命令找不到,引用[2]是关于Kubernetes的volume配置,引用[3]是持续集成工具),但我们可以忽略这些引用,因为用户已经明确指出这些引用仅供参考,而我们需要解决的是mysql命令找不到的问题。 解决方案思路: 1. 确认系统是否安装了MySQL客户端。 2. 如果已安装,确认MySQL客户端的可执行文件路径是否包含在环境变量PATH中。 3. 如果没有安装,则安装MySQL客户端。 具体步骤: ### 步骤一:检查MySQL客户端是否安装 在终端中执行以下命令,尝试定位`mysql`可执行文件的位置: ```bash which mysql ``` 或者 ```bash whereis mysql ``` 或者 ```bash find / -name mysql 2>/dev/null ``` 如果这些命令返回了mysql的路径(例如`/usr/bin/mysql`),则说明已经安装,但可能路径不在环境变量中。如果没有返回任何结果,则可能未安装。 ### 步骤二:检查环境变量PATH 如果找到了`mysql`的路径,比如`/usr/local/mysql/bin/mysql`,那么需要将该路径添加到环境变量PATH中。 1. 查看当前PATH: ```bash echo $PATH ``` 检查输出中是否包含mysql所在的目录(例如`/usr/local/mysql/bin`)。如果没有,则需要添加。 2. 临时添加PATH(仅当前终端有效): ```bash export PATH=$PATH:/your/mysql/path # 将/your/mysql/path替换为实际的mysql所在目录 ``` 然后再次尝试运行`mysql`命令。 3. 永久添加PATH(根据使用的shell不同而不同): - 对于bash(~/.bashrc或~/.bash_profile): ```bash echo 'export PATH=$PATH:/your/mysql/path' >> ~/.bashrc source ~/.bashrc ``` - 对于zsh(~/.zshrc): ```bash echo 'export PATH=$PATH:/your/mysql/path' >> ~/.zshrc source ~/.zshrc ``` ### 步骤三:安装MySQL客户端(如果未安装) 如果系统没有安装MySQL客户端,则需要安装。安装方法因操作系统而异: - **Debian/Ubuntu系统**: ```bash sudo apt update sudo apt install mysql-client ``` - **CentOS/RHEL系统**: ```bash sudo yum install mysql ``` - **MacOS(使用Homebrew)**: ```bash brew install mysql-client # 然后添加路径(通常brew安装的可执行文件路径已经在PATH中,如果没有,可以参考步骤二添加) ``` ### 步骤四:验证 安装并配置好PATH后,重新打开终端,执行: ```bash mysql --version ``` 如果输出了MySQL的版本信息,则说明已成功安装并可全局使用。 ### 可能遇到的问题 1. **权限问题**:如果安装过程中遇到权限问题,请使用`sudo`。 2. **安装后仍不可用**:安装后可能需要重启终端,或者手动执行`source`命令使环境变量生效。 3. **特殊环境**:如果是在容器内执行,确保容器内安装了MySQL客户端。 根据用户之前的问题(数据库容器操作),这里需要特别注意:如果用户是在容器内部执行`mysql`命令时遇到此错误,那么需要进入容器内部安装MySQL客户端(如果容器内没有的话)。但通常数据库容器内已经安装了MySQL服务器,同时也会包含客户端命令。如果容器内没有,可以尝试在容器内安装(但要注意容器是否是可写的,以及是否允许安装软件)。 例如,进入容器安装(以Debian/Ubuntu为例): ```bash docker exec -it <容器名> bash apt update apt install mysql-client ``` ### 生成相关问题 根据当前问题,生成以下相关问题: 1. 如何在不同操作系统中安装MySQL客户端? 2. 环境变量PATH的作用是什么?如何永久修改PATH? 3. 在Docker容器中找不到mysql命令该如何解决? 4. 如何检查一个命令是否存在于系统路径中? 5. 安装MySQL客户端后如何配置环境变量? 以上是完整的解决方案。 </think> ### 解决 `bash: mysql: command not found` 错误的步骤 #### 一、核心原因诊断 该错误表明系统未找到 MySQL 客户端程序,可能由以下原因导致: 1. **MySQL客户端未安装**:系统中不存在 `mysql` 命令行工具 2. **环境变量配置错误**:MySQL可执行文件路径未添加到 `$PATH`[^1] 3. **容器环境缺失组件**:在容器内执行命令时缺少必要的客户端包 #### 二、解决方案 ##### 方法1:安装MySQL客户端(推荐) ```bash # Ubuntu/Debian系统 sudo apt update && sudo apt install mysql-client -y # CentOS/RHEL系统 sudo yum install mysql -y # Alpine容器(Dockerfile) RUN apk add mysql-client ``` 安装后验证:`mysql --version` 应显示版本信息 ##### 方法2:添加环境变量路径 ```bash # 查找mysql安装路径 which mysql || find / -name mysql 2>/dev/null # 添加路径到环境变量(临时) export PATH=$PATH:/your/mysql/path # 替换为实际路径 # 永久生效(添加到~/.bashrc) echo 'export PATH=$PATH:/your/mysql/path' >> ~/.bashrc source ~/.bashrc ``` ##### 方法3:容器内直接访问数据库 ```bash # 进入数据库容器 docker exec -it <容器名> bash # 使用容器内置MySQL客户端 mysql -u drone_user -pdrone_pass ``` #### 三、特殊场景处理 **在Drone CI/CD环境中执行**: ```yaml # .drone.yml 配置示例 steps: - name: database-migration image: mysql:8.0 # 使用自带客户端的镜像 commands: - mysql -u drone_user -pdrone_pass -e "CREATE DATABASE app;" ``` ```mermaid graph TD A[遇到错误] --> B{执行环境} B -->|物理机/虚拟机| C[安装mysql-client] B -->|容器环境| D[使用mysql镜像] B -->|Drone流水线| E[配置mysql镜像] C --> F[验证mysql --version] D --> G[docker exec直接操作] E --> H[yml中定义image] ``` #### 四、预防措施 1. **容器构建时预装客户端**: ```Dockerfile FROM ubuntu:20.04 RUN apt update && apt install -y mysql-client ``` 2. **使用Alpine轻量镜像**: ```Dockerfile FROM alpine:3.14 RUN apk add mysql-client ``` 3. **环境检查脚本**: ```bash #!/bin/bash if ! command -v mysql &> /dev/null; then echo "ERROR: mysql client not found. Installing..." apt-get update && apt-get install -y mysql-client fi ``` > **验证要点**: > - 执行 `echo $PATH` 确认包含MySQL路径 > - 容器内使用 `which mysql` 检查二进制位置 > - 非root用户需确保有执行权限 `ls -l $(which mysql)` ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值