UVC for USBCamera in Android
基于UVC 协议,完成USBCamera 开发
文章目录
- 一、目的:
- 二、USBCamera 技术实现方案
- 难点
- 三、误区:
- 四、基础补充、资源参考
- 架构图了解
- Camera相关专栏
- 零散知识了解
- 部分相机源码参考,学习API使用,梳理流程,偏应用层
- Camera2 系统相关
- 五)具体项目参考
- 六) 核心源码逻辑说明
- 权限、过滤器
- 通过USBManager 获取服务 得到USB外设
- 获取UsbManager 对象
- 得到 detected devices
- 得到过滤条件,加载xml 过滤器
- 过滤得到所有的 有效的外设 USBDevice
- 判断USBDevice 是否有权限
- UVC 进行打开和预览操作
一、目的:
1)依托于以前公司项目中自己折腾出来的USBCamera 基于 UVC协议,特别有必要总结一次,总结核心内容和知识点。
2)对于需要USBCamera 项目需求的新手一些指导性 建议、思路,特别适用,并不是所有的人都能上手直接折腾出来的
二、USBCamera 技术实现方案
- 基于UVC协议 来实现
- 基于Android 体系下的SDK API来实现,底层就是Camera 或者 Camera2 框架下来实现
难点
UVC 协议相机开发,资料很少很少 还比较老旧,基于UVC协议开发USBCamera 解决了UVC协议 库文件 等基本库方法问题,还需要知晓USB通讯相关知识。
三、误区:
基本常识是 USBCamera 是无驱的,那么跟底层系统不相关,USB相机插着就能用,系统本身支持的想法其实是错误的。
大家可以自行查阅相关资料,这里重点说明的是:
1)使用UVC协议来实现USBCamera ,作为一个系统应用 具备系统签名,不用考虑各种权限,是没有问题的。
2)使用Android SDK 框架下的API来实现USBCamera 是不可取的,官方文档明确说明Camera2 是不支持的。但是我们在不同半导体平台下不一样,比如RK上面是支持Camera2 开发USBCamera,
但是在MTK上面 Camera2 是不支持USBCamera,就是打不开相机的。 所以,要想实现Camera2 API来写一个USBCamera 务必驱动层、framework层在芯片平台支持的情况下适配好才行。
四、基础补充、资源参考
对于相机开发,还是建议无论是UVC协议开发USBCamera,还是 Android SDK API框架下Camera api 来开发相机,都需要了解最基本的相关资料。UVC和Camera 架构体系是两套完全不同的体系,可分别参考。
相机整个模块确实太专业、复杂了。 无论从硬件外设、驱动【USBCamera免驱】、相机 都比较专业、覆盖面及广,针对思考中的问题 给出自己认为比较好相关博客,方便了解,助于梳理流程、提升认知。
对于上层应用或者Framework 系统应用开发者,只需要了解基本的架构、API、使用方法,当然这些也不简单的
下面提供部分资源,方便快速了解,充电
架构图了解
MTKCamera2相机架构
Camera2架构
Android Camera架构简析
Camera相关专栏
Camera Framework 专栏
小驰私房菜系列
小驰私房菜MTK系列
小驰Camera 开发系列
Camera 相机开发
展讯平台 Camera
官方文档:谷歌官方 API 描述
零散知识了解
MTK 相机UI介绍
Camera2 相机认知
Camera2学习笔记
camera2关于拍照预览方向旋转90度和拍照图片镜像功能实现
Camera2 预览集成、简单拍照:熟悉预览步骤流程比较有用
Camera镜像上下左右颠倒问题的解决办法
MTK相机成像质量差
Camera应用分析
部分相机源码参考,学习API使用,梳理流程,偏应用层
极客相机 Camera2 API
Camera2 API详解
极客相机源码
Camera2 相机Demo
Camera2 专业相机Demo
拍照、预览、录像Demo
使用Camera2 拍照
Camera2 系统相关
Camera2 Service 启动
五)具体项目参考
参考gitHub项目:
UVCCamera 原始项目 需要自己配置NDK,编译
USBCamera 自己就是通过这个开源代码进行修改,定制,实现自身USBCamera 业务
AndroidUSBCamera 比较好的,支持多个USBCamera 并行展示,功能齐全,但是分辨率无法全部加载、存在.so 崩溃导致无解。
项目参考优劣:
- UVCCamera:基本功能,需要自己封装方法,编译,搭建环境。 项目太老,很难跑通,需要自己封装。
- USBCamera:封装比较好,单个摄像头显示 基本功能都有的 预览、拍照、录像OK,USB检测,查找、注册流程 都有,方便熟悉 USBCamera 使用流程,USBCamera的思想。上层相关USBManager 相关api 参考,到底层 native层不用管他们。
- AndroidUSBCamera:封装最好,功能特别齐全,也可以实现多个摄像头同时显示。 但是预览尺寸会显示不全、部分预览尺寸点击会崩溃。
这个目前无解,需要源码重新编译.so,无解,仅供学习使用。
建议直接从 USBCamera、AndroidUSBCamera 两个开源项目选择其中一个,根据自己实际需求来选择适合自己的项目。 如果指定了分辨率,对分辨率无选择要求,可以选择AndroidUSBCamera 。
如果通用版本,强烈建议选择USBCamera项目,稳定性更强。
当然:两个项目都有崩溃,特别在定制自己应用,在各种复杂场景下,各种崩溃需要自己去解决 适配。
六) 核心源码逻辑说明
权限、过滤器
AndroidMenifest.xml 中<uses-permission android:name="android.permission.RECORD_AUDIO"/><uses-permission android:name="android.permission.CAMERA"tools:ignore="PermissionImpliesUnsupportedChromeOsHardware" /><uses-feature android:name="android.hardware.usb.host"/>res/xml/device_filter.xml 过滤usb 设备<usb><usb-device class="239" subclass="2" /> <!-- all device of UVC --><!-- a few android 9.0 --><usb-device class="14" subclass="9" /><usb-device class="2" subclass="0" /><usb-device class="6" subclass="-1" /><usb-device class="39" subclass="0" /><usb-device class="0" subclass="0" /><usb-device class="239" subclass="2" /><usb-device class="239" subclass="2" /><usb-device product-id="4836" vendor-id="9573" /><usb-device product-id="2229" vendor-id="1133" /><usb-device product-id="640" vendor-id="1409" /><usb-device product-id="258" vendor-id="9228" /><usb-device product-id="61" vendor-id="65366" /><usb-device product-id="4867" vendor-id="10071" /><usb-device product-id="7995" vendor-id="4130" /><!--classData:0 subClassData:0 productId:61 vendorId1Id:65366classData:239 subClassData:2 productId:4867 vendorId1Id:10071
classData:0 subClassData:0 productId:61 vendorId1Id:65366classData:0 subClassData:0 productId:61 vendorId1Id:65366-->
</usb>
通过USBManager 获取服务 得到USB外设
获取UsbManager 对象
mUsbManager = (UsbManager)context.getSystemService(Context.USB_SERVICE)
得到 detected devices
final HashMap<String, UsbDevice> deviceList = mUsbManager.getDeviceList()
得到过滤条件,加载xml 过滤器
List<DeviceFilter> deviceFilters = DeviceFilter.getDeviceFilters(mActivity.getApplicationContext(), R.xml.device_filter);
过滤得到所有的 有效的外设 USBDevice
final List<UsbDevice> result = new ArrayList<UsbDevice>();if (deviceList != null) {if ((filters == null) || filters.isEmpty()) {result.addAll(deviceList.values());} else {for (final UsbDevice device: deviceList.values() ) {// match devicesfor (final DeviceFilter filter: filters) {if ((filter != null) && filter.matches(device) || (filter != null && filter.mSubclass == device.getDeviceSubclass())) {// when filter matchesif (!filter.isExclude) {result.add(device);}break;} else {.....}}}}}
判断USBDevice 是否有权限
mUsbManager.hasPermission(device)
UVC 进行打开和预览操作
打开设备: 在有了权限之后开始打开设备,进行设备连接. 后面就是通过UVC协议进行Camera 的打开和预览操作了
onConnect -> openCamera、startPreviewopenCamera(ctrlBlock);new Thread(new Runnable() {@Overridepublic void run() {// wait for camera createdtry {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}// start previewingLog.d(TAG,"onConnect mCamView:"+mCamView);startPreview(mCamView);}}).start();
实际对camera 的处理,预览、拍照、录像 都是通过UVC协议编译的.so 文件来处理的,上面只是简单介绍了上层的USBManager 查找、检测、过滤 找到USB Camera 设备,之后的Camera 都通过封装好的 方法,最终通过native 方法实现。
实际项目效果:
相关文章:
UVC for USBCamera in Android
基于UVC 协议,完成USBCamera 开发 文章目录 一、目的:二、USBCamera 技术实现方案难点 三、误区:四、基础补充、资源参考架构图了解Camera相关专栏零散知识了解部分相机源码参考,学习API使用,梳理流程,偏应…...
C++学习之路,从0到精通的征途:入门基础
目录 一.C的第一个程序 二.命名空间 1.namespace的价值 2.命名空间的定义 3.命名空间使用 三.C的输入与输出 1.<iostream> 2.流 3.std(standard) 四.缺省参数 1.缺省参数的定义 2.全缺省/半缺省 3.声明与定义 五.函数重载 1.参数个数不同 2.参数类型不…...
RSA-OAEP填充方案与定时攻击防护
目录 RSA-OAEP填充方案与定时攻击防护一、前言二、RSA 与 OAEP 填充方案概述2.1 RSA 加密算法基础2.2 OAEP 填充方案的引入2.3 数学公式推导 三、定时攻击原理与防护策略3.1 定时攻击的基本原理3.2 防护定时攻击的策略 四、基于 Python 的 RSA-OAEP 与定时攻击防护实现五、完整…...
探索高性能AI识别和边缘计算 | NVIDIA Jetson Orin Nano 8GB 开发套件测评总结
# NVIDIA Jetson Orin Nano 8GB测评:当边缘计算遇上"性能暴徒",树莓派看了想转行 引言:比咖啡机还小的"AI超算",却让开发者集体沸腾 2025年的某个深夜,程序员老王盯着工位上巴掌大的NVIDIA Jets…...
Seata
Seata是一款开源的分布式事务解决方案,由阿里巴巴发起并维护,旨在帮助应用程序管理和协调分布式事务。以下是对Seata的详细介绍: 一、概述 Seata致力于提供高性能和简单易用的分布式事务服务,它为用户提供了AT、TCC、SAGA和XA等…...
STM32之Unix时间戳
时间戳按秒计时,可转换成年月日时分。32有符号存储时间戳,2的32次/2-1到2038年,STM32是2的32次方-1,到2106年溢出。所有时区共用一个时间戳秒计数器,在伦敦和北京都是0,不同经度加上小时即可。...
告别手动复制粘贴:可定时自动备份的实用软件解析
软件介绍 此前不少小伙伴都在找备份工具,其实复制文件用fastcopy就可以,但它需要手动操作。 今天介绍的简易备份工具则能实现定时备份。 这款软件有个小问题,当源目录和目标目录路径太长时,【立即备份】按钮可能会超出软件界面范…...
Django下防御Race Condition
目录 漏洞原因 环境搭建 复现 A.无锁无事务时的竞争攻击 B.无锁有事务时的竞争攻击 防御 A.悲观锁加事务防御 B.乐观锁加事务防御 总结 漏洞原因 Race Condition 发生在多个执行实体(如线程、进程)同时访问共享资源时,由于执行顺序…...
python从入门到精通(二十三):文件操作和目录管理难度分级练习题
文件操作和目录管理 文件操作基础难度1. 简单文件写入2. 简单文件读取3. 追加内容到文件 中级难度4. 逐行读取文件并统计行数5. 读取文件并提取特定信息6. 复制文件内容到新文件 高级难度7. 处理二进制文件8. 批量文件处理9. 日志文件分析 参考答案示例1. 简单文件写入2. 简单文…...
揭开AI-OPS 的神秘面纱 第二讲-技术架构与选型分析 -- 数据采集层技术架构与组件选型分析
基于上一讲预设的架构图,深入讨论各个组件所涉及的技术架构、原理以及选型策略。我将逐层、逐组件地展开分析,并侧重于使用数据指标进行技术选型的对比。 我们从 数据采集层 开始,进行最细粒度的组件分析和技术选型比对。 数据采集层技术架构…...
jupyter配置多个核心
CMD输入 先创建虚拟环境 "D:\Program Files\Python37\python.exe" -m venv myenv激活虚拟环境 myenv\Scripts\activate"D:\Program Files\Python37\python.exe" -m pip install ipykernel "D:\Program Files\Python37\python.exe" -m ipykern…...
如何优化FFmpeg拉流性能及避坑指南
FFmpeg作为流媒体处理的核心工具,其拉流性能直接影响直播/点播体验。本文从协议优化、硬件加速、网络策略三大维度切入,结合实战案例与高频踩坑点,助你突破性能瓶颈! 一、性能优化进阶:从协议到硬件的全链路调优 协议选…...
机器学习:线性回归,梯度下降,多元线性回归
线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归(Multiple Linear Regression)...
笔记五:C语言编译链接
Faye:孤独让我们与我们所爱的人相处的每个瞬间都无比珍贵,让我们的回忆价值千金。它还驱使你去寻找那些你在我身边找不到的东西。 ---------《寻找天堂》 目录 一、编译和链接的介绍 1.1 程序的翻译环境和执行环境 1.1.1 翻译环境 1.1.2 运行环境 …...
SpringUI:打造高质量Web交互设计的首选元件库
SpringUI作为一个专为Web设计与开发领域打造的高质量交互元件库,确实为设计师和开发者提供了极大的便利。以下是对SpringUI及其提供的各类元件的详细解读和一些建议: SpringUI概述 SpringUI集合了一系列预制的、高质量的交互组件,旨在帮助设…...
LeetCode - 神经网络的 反向传播(Sigmoid + MSE) 教程
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/146085177 使用 Python + Numpy,设计带有 Sigmoid 激活函数 的神经网络,实现反向传播以更新神经元的权重和偏置。函数输入:特征向量(Input)、真实标签(Label)、初始…...
Elastic如何获取当前系统时间
文章目录 1. 使用 _ingest.timestamp 在 Ingest Pipeline 中获取当前时间2. 使用 Painless Script 获取当前时间3. 使用 now 关键字在查询中获取当前时间4. 使用 date 类型字段的默认值5. 使用 Kibana 的 Dev Tools 查看当前时间6. 使用 date 聚合获取当前时间7. 使用 Elastics…...
腾讯云对象存储服务(COS)
腾讯云对象存储服务(COS) 安全、可扩展、低成本的云存储解决方案 腾讯云 对象存储服务(COS,Cloud Object Storage) 是一种高可靠、高性能、可扩展的云存储服务,专为海量非结构化数据(如图片、…...
力扣35.搜索插入位置-二分查找
class Solution:def searchInsert(self, nums: List[int], target: int) -> int:# 初始化左右指针left, right 0, len(nums) - 1# 当左指针小于等于右指针时,继续循环while left < right:# 计算中间位置mid (left right) // 2# 如果中间元素等于目标值&…...
SSLScan实战指南:全面检测SSL/TLS安全配置
SSLScan是一款开源的SSL/TLS安全扫描工具,用于检测服务器的加密协议、支持的加密套件、证书信息以及潜在的安全漏洞。本指南将详细介绍如何安装、使用SSLScan,并结合实战案例帮助您全面评估服务器的安全性。 一、SSLScan简介 功能特性: 检测支持的SSL/TLS协议版本(如TLS 1.…...
Linux 进程管理
一.进程 1.基本介绍 在Linux中每一个执行的程序都称之为进程,每一个进程都会分配一个进程号(PID)。进程以前台和后台两种方式存在,前台进程就是我们可以在屏幕上操作的,后台进程我们无法在屏幕上看到。 程序是静态的…...
mfc140u.dll是什么?当程序遭遇mfc140u.dll问题:快速恢复正常的秘诀
在使用Windows操作系统运行某些软件时,不少用户会遇到令人头疼的mfc140u.dll文件丢失错误。mfc140u.dll这个错误一旦出现,往往导致相关程序无法正常启动或运行,给用户带来诸多不便。这天的这篇文章将给大家分析mfc140u.dll是什么?…...
日新F1、瑞研F600P 干线光纤熔接(熔接损耗最大0.03DB)
Ⅰ. 设备特性对比与实测验证 1. 日新F1(两马达)极限参数 切割角度:必须≤0.3(双边累计误差<0.6) ▶ 实测案例:切割0.35时,损耗波动达0.05-0.08dB(超干线标准)…...
【我的待办(MyTodolists)-免费无内购的 IOS 应用】
我的待办(MyTodolists) 我的待办:智能任务管理助手应用说明主要功能为什么选择"我的待办"?隐私保障使用截图 我的待办:智能任务管理助手 应用说明 "我的待办"是一款智能化的任务管理应用&#x…...
微信小程序+SpringBoot的单词学习小程序平台(程序+论文+讲解+安装+修改+售后)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统背景 (一)社会需求背景 在全球化的大背景下,英语作为国际…...
测试直播web自动化所学
web框架封装 web自动化开始:用电脑替代人工测试。 日常人工测试 —— 先点击XX 输入XXX 。。。页面是否符合预期 自动化测试的编码: web自动化,Selenium[常用测试库] Selenium,每个页面,是由元素组成的。html构成。 …...
Vue+Ant Design搭建AI聊天对话
今天在这里介绍一下 Ant Design X,这是蚂蚁设计团队推出的一款专注于人工智能(AI)领域的组件库,主要面向 React 生态系统(目前支持Openai,通义千问)。官方也推出了ant-design-x-vue 面向 Vue。当然我们今天的主题也是使…...
应用案例 | 精准控制,高效运行—宏集智能控制系统助力SCARA机器人极致性能
概述 随着工业4.0的深入推进,制造业对自动化和智能化的需求日益增长。传统生产线面临空间不足、效率低下、灵活性差等问题,尤其在现有工厂改造项目中,如何在有限空间内实现高效自动化成为一大挑战。 此次项目的客户需要在现有工厂基础上进行…...
JavaScript基础-运算符的分类
在JavaScript编程中,运算符是构建表达式和执行操作的基础工具。了解不同类型的运算符以及它们的工作原理对于编写高效且无误的代码至关重要。本文将介绍JavaScript中的主要运算符类型,并通过实例展示它们的用法。 一、算术运算符 算术运算符用于执行基…...
URIError: URI malformed
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
达梦适配记录-检查服务器
service DmServicedmdb status 查看是否开启,没有配置systemctl,查看《DM8_Linux 服务脚本使用手册》2.1.2.2 1 .拷贝服务模板文件( DmService )到目录( /opt/dmdbms/bin ),并将新文…...
【leetcode hot 100 160】相交链表
解法一:(哈希集合)利用HashSet保存一个链表的值,循环另一个列表,在HashSet中寻找该值。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x…...
选择排序算法的SIMD优化
一、优化原理 将查找数组最小值索引的SIMD优化的函数嵌入选择排序主循环,优化最耗时的最小值查找环节,同时保留选择排序的交换逻辑。 二、关键改造步骤 1)最小值查找模块化 复用SIMD优化的 find_min_index_simd函数。 2)动态子数组处理 每次循环处理 arr[i..n-1] 子数…...
Visual Studio Code打开远程服务器项目,打开服务器Android上百G源码,SSH免密连接方式
Visual Studio Code打开远程服务器项目 1,Visual Studio Code拓展中,安装远程插件 Remote Development 2,SSH免密连接,A电脑免密连接B,配置B电脑.ssh/authorized_keys A电脑的.ssh/id_rsa.pub中的公钥内容,…...
vscode mac版本 配置git
首先使用 type -a git查看git的安装目录 然后在vscode中找到settings配置文件,修改git.path...
BUUCTF——[GYCTF2020]FlaskApp1 SSTI模板注入/PIN学习
目录 一、网页功能探索 二、SSTI注入 三、方法一 四、方法二 使用PIN码 (1)服务器运行flask登录所需的用户名 (2)modename (3)flask库下app.py的绝对路径 (4)当前网络的mac地…...
【QT常用技术讲解】window系统以CMD命令行方式执行第三方程序及注册表文件命令
前言 在window下(本篇为window10),调用第三方应用,可以调用后台CMD执行的命令行。如果是浏览器调用第三方应用,可以通过自定义域名调用指定的处理脚本,处理脚本再调用第三方软件。本篇只讲解QT程序调用后台…...
manus是什么?能干啥?
Manus哪儿来的? Manus是一款由中国团队Monica.im于2025年3月5日发布的通用型AI代理(AI Agent)产品,旨在通过自主思考、系统规划和灵活工具调用,帮助用户完成各种复杂任务,从而解放用户的时间与创…...
物联网系统搭建
实验项目名称 构建物联网系统 实验目的 掌握物联网系统的一般构建方法。 实验要求: 1.构建物联网系统,实现前后端的交互。 实验内容: CS模式MQTT(不带数据分析处理功能) 实现智能设备与应用客户端的交…...
恭喜!《哪吒2》明天将荣登世界影坛第六!目前仅差1.81亿元
全球总票房为为20.27亿美元!3月8日将荣登世界影坛第六宝座! 中国票房 内地票房 中国电影票房、灯塔、猫眼三大数据源加权平均得出《哪吒2》中国内地总票房为144.26亿元人民币。 港澳票房 目前港澳地区没有新的数据显示,按3月6日1905电影网…...
2025 ubuntu24.04系统安装docker
1.查看ubuntu版本(Ubuntu 24.04 LTS) rootmaster:~# cat /etc/os-release PRETTY_NAME"Ubuntu 24.04 LTS" NAME"Ubuntu" VERSION_ID"24.04" VERSION"24.04 LTS (Noble Numbat)" VERSION_CODENAMEnoble IDubun…...
浅说图论基础
引入 在学最短路算法之前,我们要先搞清楚另外一个事情,什么是图,我们又可以基于图做那些事情。 图不同于树,它是一种更加复杂的数据结构,相比较于树或者数组(线性表)而言,图的关联…...
DeepSeek【部署 03】客户端应用ChatBox、AnythingLLM及OpenWebUI部署使用详细步骤
DeepSeek客户端应用 1.ChatBox2.AnythingLLM3.OpenWebUI4.总结 客户端软件提供可视化的模型及参数配置,人性化的对话窗口及文件上传功能,大大降低了大模型的使用门槛。 1.ChatBox Chatbox AI 是一款 AI 客户端应用和智能助手,支持众多先进的…...
工作学习笔记:HarmonyOS 核心术语速查表(v14 实战版)
作为在 HarmonyOS 开发一线摸爬滚打的工程师,笔者在 v14 版本迭代中整理了这份带血的实战术语表。 一、架构基础术语速查 A 系列术语 术语官方定义笔者解读(v14 实战版)开发陷阱 & 解决方案abc 文件ArkCompiler 生成的字节码文件打包时…...
mapbox进阶,模仿百度,简单实现室内楼层切换
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️fill-extrusion三维填充图层样式1.4 ☘…...
发行基础:热销商品榜单
转载自官方文件 ------------------ 热销商品榜单 Steam 在整个商店范围内有各种热销商品榜单,最醒目的莫过于 Steam 主页上的榜单了。 您也可以在浏览单个标签、主题、类型时找到针对某个游戏类别的热销商品榜单。 主页热销商品榜单 该榜单出现在 Steam 主页上…...
Android Studio 一直 Loading devices
https://stackoverflow.com/questions/71013971/android-studio-stuck-on-loading-devices...
【时间序列】因果推断:从时序数据中探寻“因”与“果”
在日常生活中,我们经常听到这样的问题:“为什么股票价格会突然下跌?”、“天气变化是否会影响销售额?”这些问题背后,其实都在试图寻找一种因果关系。然而,在时间序列数据中,探寻因果关系并不像…...
联核科技AGV无人叉车的应用场景有哪些?
联核科技AGV无人自动叉车在多个应用场景中均展现出卓越的性能和广泛的应用价值。下面是针对每个应用场景的简要概括、适用车型及其功能的详细介绍联核科技官网-AGV叉车十大品牌-无人叉车厂家-自动化叉车-智能搬运码垛机器人-智能叉车系统解决方案专家 上存下拣 上层四向车立体…...
多模态知识图谱融合
1.Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 1.1多模态实体对齐 1.2多模态实体链接 研究进展&#...