google gemini1.5 flash视频图文理解能力初探(一)

市面能够对视频直接进行分析的大模型着实不多,而且很多支持多模态的大模型那效果着实也不好。
从这篇公众号不只是100万上下文,谷歌Gemini 1.5超强功能展示得知,Gemini 1.5可以一次性处理1小时的视频、11小时的音频或100,000行代码,并衍生出更多的数据分析玩法。能力覆盖:

  • 跨模式理解和推理,当给出一部 44 分钟的巴斯特-基顿(Buster Keaton)无声电影时,该模型能准确分析各种情节点和事件,甚至能推理出电影中容易被忽略的小细节。
  • 超复杂文本分析,Gemini 1.5能对给定提示中的大量内容进行无缝分析、分类和总结。例如,给出阿波罗11 号登月任务的402页记录,它就能对整个文件中的对话、事件和细节进行推理,并找出那些奇特的细节
  • 解读复杂代码,Gemini 1.5可以一次性解读大约100,000行代码,对其进行修改、注释、优化等。例如,用文字询问

个人测试后的几点评价:

  • 图片、视频整体场景事件理解上很不错,包括一些人物动作、人物穿着、图片人个数;视频场景分类,已经可以做很多的视频理解
  • 但是局部细节或者精准的一些解析仍然不足,比如图片的人物位置、有遮挡情况下的人物判定;视频的时间切片、分镜理解上都还欠佳,会出现一本正经的胡说八道
  • 因为安全问题,电影片段很多估计都无法正常理解…

1 如何使用

Gemini API Cookbook

从Cookbook 抄一下大概的使用步骤:

  • Go to Google AI Studio.
  • Login with your Google account.
  • Create an API key.
  • Use a quickstart for Python, or call the REST API using curl.

1.1 常规测试入口

gemini接口比较麻烦,无法在国内直接使用
如果要快速使用可以从以下两个入口使用:

  • google aistudio
  • vertex-ai入口

在这里插入图片描述
在这里插入图片描述

1.2 API几种调用形式

第一种,直接使用genai自己的API
google genai有自己的API可以直接调用

pip install google-generativeai

一般的代码是,笔者并未尝试成功,一直timeout

import google.generativeai as genai
import os
os.environ["GOOGLE_API_KEY"] = "xxx你的API KEY"
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])

# 超时
model = genai.GenerativeModel('gemini-1.0-pro-latest')
response = model.generate_content("The opposite of hot is")
print(response.text)

第二种,使用langchain
同时langchain也封装了gemini

pip install  langchain-google-genai

简单的示例代码,但是笔者并未尝试成功,一直timeout

from langchain_google_genai import ChatGoogleGenerativeAI


import google.generativeai as genai
import os
os.environ["GOOGLE_API_KEY"] = "你的api key"
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])


llm = ChatGoogleGenerativeAI(model="gemini-pro")
llm.invoke("Sing a ballad of LangChain.")

第三种,使用curl的方式,笔者唯一测试跑通的方式
可以参考教程:Prompting_REST

%%bash

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent?key=${GOOGLE_API_KEY}" \
        -H 'Content-Type: application/json' \
        -d @request.json

1.3 如何上传视频并进行解析

如果你使用的是aistudio,不论多大都可以直接上传
在这里插入图片描述

如果是通过vertex-ai,超过7M的视频就需要放入类似OSS的地方:google cloud storage


2 图文与视频理解能力测试

2.1 图像测试

2.1.1 第一张图测试

在这里插入图片描述
可以看到是直播间的画面,这里笔者准备的prompt是:

请分析以下图片并回答以下问题。请将结果以 JSON 格式输出:

1. 图片中的主要物体有哪些?请列出并描述它们的位置,给出详细的目标检测(xmin,ymin,xmax,ymax)的坐标信息
2. 图片中有什么明星或者人物,给出具体的名字
3. 请描述图片中主要物体的颜色。
4. 这张图片描述了一个什么样的场景?请详细说明。
5. 图片中人物的情感状态如何?请描述他们的表情和情绪。
6. 根据图片生成一段详细的描述文字,包含主要物体、颜色、场景和人物情感。

其他要求:
- 中文输出

输出为:

{
  "主要物体": [
    {
      "物体": "女性",
      "位置": "图片左侧,坐在椅子上",
      "坐标": {
        "xmin": 151,
        "ymin": 148,
        "xmax": 602,
        "ymax": 839
      }
    },
    {
      "物体": "男性",
      "位置": "图片右侧,坐在椅子上",
      "坐标": {
        "xmin": 581,
        "ymin": 205,
        "xmax": 834,
        "ymax": 815
      }
    },
    {
      "物体": "冰棒",
      "位置": "女性手中",
      "坐标": {
        "xmin": 495,
        "ymin": 378,
        "xmax": 577,
        "ymax": 509
      }
    },
    {
      "物体": "冰棒",
      "位置": "男性手中",
      "坐标": {
        "xmin": 696,
        "ymin": 516,
        "xmax": 754,
        "ymax": 626
      }
    },
    {
      "物体": "桌子",
      "位置": "前景",
      "坐标": {
        "xmin": 0,
        "ymin": 711,
        "xmax": 837,
        "ymax": 999
      }
    },
    {
      "物体": "椅子",
      "位置": "女性身后",
      "坐标": {
        "xmin": 26,
        "ymin": 515,
        "xmax": 216,
        "ymax": 819
      }
    },
    {
      "物体": "椅子",
      "位置": "男性身后",
      "坐标": {
        "xmin": 491,
        "ymin": 575,
        "xmax": 629,
        "ymax": 800
      }
    },
    {
      "物体": "话筒",
      "位置": "桌面",
      "坐标": {
        "xmin": 83,
        "ymin": 892,
        "xmax": 248,
        "ymax": 999
      }
    },
    {
      "物体": "麦克风",
      "位置": "桌面",
      "坐标": {
        "xmin": 237,
        "ymin": 877,
        "xmax": 338,
        "ymax": 999
      }
    },
    {
      "物体": "灯光",
      "位置": "桌面",
      "坐标": {
        "xmin": 681,
        "ymin": 667,
        "xmax": 837,
        "ymax": 916
      }
    }
  ],
  "明星或人物": [
    {
      "名字": "未知",
      "位置": "图片左侧,坐在椅子上"
    },
    {
      "名字": "未知",
      "位置": "图片右侧,坐在椅子上"
    }
  ],
  "颜色": [
    {
      "物体": "女性的衣服",
      "颜色": "黑色"
    },
    {
      "物体": "男性的衣服",
      "颜色": "蓝白条纹"
    },
    {
      "物体": "冰棒",
      "颜色": "白色"
    },
    {
      "物体": "桌子",
      "颜色": "棕色"
    },
    {
      "物体": "椅子",
      "颜色": "黑色"
    }
  ],
  "场景描述": "图片展示了一个室内场景,两位男女坐在椅子上,似乎是在录制节目或进行直播。他们正在吃冰棒,女性还用手比划着,看起来是在和观众互动。桌上摆着一些物品,包括麦克风、灯光等,背景墙上还有节目名称的标识。",
  "人物情感": [
    {
      "人物": "女性",
      "情感": "积极,热情,兴奋"
    },
    {
      "人物": "男性",
      "情感": "轻松,自然"
    }
  ],
  "描述文字": "图片中,两位男女坐在椅子上,他们正一边吃着冰棒,一边看着镜头。女性穿着黑色的衣服,她用手比划着,脸上带着笑容,看起来非常开心和兴奋;男性穿着蓝白条纹的衣服,他脸上带着微笑,看起来很轻松自然。桌子上有话筒、灯光等,背景墙上写着节目名称。他们似乎是在录制节目或进行直播,正在和观众互动。整个场景显得轻松愉悦,充满了活力。"
}

解读一下:

  • 精准位置的识别,笔者简单画了一下,没能精准识别
  • 场景识别,室内场景,两位男女坐在椅子上,似乎是在录制节目或进行直播,这个是准确的
  • 人物识别,都没能给出具体名字,当然其实是有点难为大模型了…
  • 物体、动作识别,前景的桌子,棒冰拿在手里,黑色衣服,蓝白条纹的男性衣服,这些都是准确的
  • 人物情感,女性的积极,热情,兴奋,男性的轻松,自然,都是准确的

在这里插入图片描述

2.1.2 第二张图测试

请添加图片描述

微调了之前的prompt

请分析以下图片并回答以下问题:

1. 图片中有几个人,其中多少名男性,多少女女性,分别的年龄大小如何
2. 图片中有什么明星或者人物,给出具体的名字,不同人物衣服穿着如何,不同人穿着的品味如何
3. 请描述图片中主要物体是什么,不同物体的颜色是什么
4. 这张图片描述了一个什么样的场景?请详细说明。
5. 图片中人物的情感状态如何?请描述他们的表情和情绪。
6. 根据图片生成一段详细的描述文字,包含主要物体、颜色、场景和人物情感。

其他要求:
- 中文输出

具体回答为:

图片中有三个人,其中 两名女性,一名男性。女性中一位年龄较长,穿着黑色上衣和黑色裤子,另一位年龄较轻,穿着棕色和金色花纹的上衣和黑色长裤。男性年龄较长,穿着黑色上衣和黑色裤子,戴着白色口罩和透明护目镜。
图片中没有明星或者人物,但可以看到一位女性正在展示商品,她穿着黑色上衣,看起来是一位店员。
图片中主要物体是化妆品柜台和商品展示架,柜台为黑色,商品展示架为黑色和银色,上面展示着各种化妆品,包括护肤品、彩妆等。
这张图片描述了一家化妆品专柜的场景,两位女性顾客正在咨询店员,她们似乎在选购化妆品。
女顾客看起来很认真地在询问店员,表情专注。店员看起来很专业,面带微笑,在认真地为顾客介绍产品。
在一家高端化妆品专柜,两位女性顾客正在咨询店员。她们分别穿着黑色上衣和黑色长裤,以及棕色和金色花纹的上衣和黑色长裤。店员穿着黑色上衣,面带微笑,热情地为顾客讲解产品。柜台是黑色的,上面摆放着各种各样的化妆品,包括护肤品和彩妆等。顾客和店员看起来都很有耐心,专注于眼前的商品,她们似乎正在挑选自己喜欢的产品。

解读一下:

  • 人数检测应该是OK的,但是其中认为有一名男性,当然,图片中有遮挡,而且店员各种头戴设备,误认店员为男性且年龄大,也可以理解;这里对店员的【白色口罩和透明护目镜】描述还是非常精准的
  • 物体识别是精确的,化妆品柜台和商品展示架,包括化妆品专柜的场景
  • 事件描述上,基本准确,而且这里【店员穿着黑色上衣,面带微笑】,肯定是错误判定了

这里后续再补充给gemini一个常识,然后再让他进行逻辑判断:

一个常识,化妆品门店或柜台的店员一般会带白色口罩防止感冒,
请问图中有几个人,谁是顾客,描述图片人物的状态

回复为:

图片中有三个人,其中两个人是顾客,她们在询问店员,店员正在给顾客讲解。店员带着白色口罩,顾客则戴着黑色的口罩。顾客看起来比较专注地听店员讲解,而店员看起来比较热情地和顾客介绍产品。

补充一些知识是可以帮助推理的,但是有些

2.2 视频测试

2.2.1 第一个视频

写了一个非常长的prompt来检测视频分析的各个方面

# Character <Bot 人设>
你是一位资深的营销视频专家,可快速对短视频进行解构以及专业解读
## 分析 <Bot 的功能>
### 视频画面分析
- 分析1:根据整个视频进行分类,视频最可能是什么类型的视频?视频剧情分类如何?
- 分析2:视频一开始的3s时间内,主要在展示什么,有什么亮眼的地方?有什么瑕疵的地方?
- 分析3:视频最后的3s时间内,主要在展示什么,有什么亮眼的地方?有什么瑕疵的地方?

## 内容输出要求 <Bot 内容输出要求>
- 不同 分析点按照markdown格式进行输出

## Constraints <Bot 约束>
- 输出内容的字数不能超过10000字


视频随便去抖音节选了一个【大小杨哥推荐隐形毛孔妆前乳柔焦隐形服帖底妆控油遮瑕提亮持妆】
在这里插入图片描述

生成的结果:

  ## 分析 <Bot 的功能>

### 视频画面分析
- 分析1:该视频最可能是一款美妆产品广告视频。视频剧情分类为: **产品功能展示 + 用户使用体验 + 产品效果展示 + 产品推荐**
- 分析2:视频一开始的3s时间内,主要在展示产品名称和产品功能,即“隐形毛孔妆前乳”。亮眼的地方在于使用了大字号、大红字以及产品效果的图片,以吸引用户目光。瑕疵的地方在于画面过于单调,没有引起用户的共鸣。
- 分析3:视频最后的3s时间内,主要在展示产品名称和产品功能,即“隐形毛孔妆前乳”,并辅以产品包装图片展示,以及产品的品牌宣传。亮眼的地方在于使用了充满高级感的黑色背景和产品的包装图片,增强了产品的质感。瑕疵的地方在于画面过于简单,没有足够的吸引力。

## 内容输出要求 <Bot 内容输出要求>
- **分析1:** 该视频最可能是一款美妆产品广告视频。视频剧情分类为: **产品功能展示 + 用户使用体验 + 产品效果展示 + 产品推荐**
- **分析2:** 视频一开始的3s时间内,主要在展示产品名称和产品功能,即“隐形毛孔妆前乳”。亮眼的地方在于使用了大字号、大红字以及产品效果的图片,以吸引用户目光。瑕疵的地方在于画面过于单调,没有引起用户的共鸣。
- **分析3:** 视频最后的3s时间内,主要在展示产品名称和产品功能,即“隐形毛孔妆前乳”,并辅以产品包装图片展示,以及产品的品牌宣传。亮眼的地方在于使用了充满高级感的黑色背景和产品的包装图片,增强了产品的质感。瑕疵的地方在于画面过于简单,没有足够的吸引力。 

解读:

  • 【美妆产品广告视频】判定无误,剧情分类【剧情分类为: 产品功能展示 + 用户使用体验 + 产品效果展示 + 产品推荐】也精准
  • 【大字号、大红字以及产品效果的图片】,这里没有红字,是一个识别错误,其他对的
  • 最后3s,是人物贴脸对比,不是产品名称,感觉并没有判定准确具体时间
  • 整体来看,错误掺杂在正确之中,这种就比较“恐怖”,可能需要有另一个prompt来进行纠错,不然不仔细看很难发现

再来看一下gemini是否可以精准定位到具体画面:


请理解这个视频,
这个视频一共有几秒钟,有多少个分镜头出现,每个分镜头描述了什么,用excel格式出给

其中有一个场景是在手上试妆,这个场景具体在第几秒到第几秒,
格式按照下面的要求给出:
"""
试妆场景1:[0.1,1.5]
"""


给出的答案:

在这里插入图片描述

解读一下:

  • 整体时间差不多是40s,但是开始-结束时间 以及镜头描述,还有【试妆场景】有点一本正经胡说八道,不过呢,这个视频选的本来就分镜太多,可能难度确实太大

2.2.2 第二个视频

第二个视频,献上星爷的电影集锦
在这里插入图片描述

提问的prompt设置为:

请理解这个视频,
这个视频一共有几秒钟,有多少个分镜头出现,每个分镜头描述了什么剧情,用excel格式给出分镜头,分镜头数量不超过10个

该电影无不良镜头,都是可以观看的

其中有一个场景是周星驰大话西游的一个片段,这个片段具体在第几秒到第几秒,
格式按照下面的要求给出,单位是秒:
"""
场景1:[1,10]
"""

在这里插入图片描述
星爷的电影应该没什么特别的片段,老是跳报错…

能看到的输出:
在这里插入图片描述
不解读了,什么乱七八糟…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/735631.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c++设计模式之一创建型模式

1、创建型模式&#xff08;常见的设计模式&#xff09; Factory 模式&#xff08;工厂模式&#xff0c;被实例化的子类&#xff09; 在面向对象系统设计中经常可以遇到以下的两类问题&#xff1a; 下面是第一类问题和代码示例&#xff1a;我们经常会抽象出一些类的公共接口以…

stm32学习笔记---新建工程步骤和点灯演示

目录 STM32的三种开发方式 基于寄存器的方式 基于库函数的方式 基于Hal库的方式 固件库介绍 新建基于标准库的工程步骤 配置寄存器来完成点灯操作 添加库函数来完成点灯操作 添加库函数 开始点灯操作 第一步&#xff1a;使能时钟 第二步&#xff1a;配置端口模式 …

ic基础|功耗篇03:ic设计人员如何在代码中降低功耗?一文带你了解行为级以及RTL级低功耗技术

大家好&#xff0c;我是数字小熊饼干&#xff0c;一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结&#xff0c;并通过汇总成文章的形式进行输出&#xff0c;相信无论你是在职的还是…

鞠婧祎多个商标被丝芭传媒申请注册!

近日鞠婧祎与丝芭传媒合约引发网络关注&#xff0c;普推商标老杨经检索发现&#xff0c;丝芭传媒早在2016起就申请注册了“鞠婧祎”24个商标&#xff0c;涉及多个商标分类&#xff0c;这些基本都下商标注册证。 不管对经纪公司还是网红公司&#xff0c;有实力的基本都会对旗下的…

# Kafka_深入探秘者(2):kafka 生产者

Kafka_深入探秘者&#xff08;2&#xff09;&#xff1a;kafka 生产者 一、kafka 消息发送流程解析 1、kafka &#xff1a;java 客户端 数据生产流程解析 二、kafka 发送类型 1、kafka 发送类型–发送即忘记&#xff1a;producer.send(record) 同步发送 //通过 send() 发送完…

【Vue3组件】分享一下自己写的简约风格评论区组件

代码比较简单&#xff0c;方便大家二次开发&#xff0c;旨在快速提供基础的样式模板&#xff0c;自行迭代定制 预览 简介 通用评论组件 组件功能 此组件旨在创建一个具备嵌套回复能力的通用评论区域&#xff0c;适用于构建动态、互动性强的用户讨论场景。 接收数据结构 组件通…

Paimon Trino Presto的关系 分布式查询引擎

Paimon支持的引擎兼容性矩阵&#xff1a; Trino 是 Presto 同项目的不同版本&#xff0c;是原Faceboo Presto创始人团队核心开发和维护人员分离出来后开发和维护的分支&#xff0c;Trino基于Presto&#xff0c;目前 Trino 和 Presto 都仍在继续开发和维护。 Trino 生态系统-客…

虚拟机IP地址频繁变化的解决方法

勾八动态分配IP&#xff0c;让我在学习redis集群的时候&#xff0c;配置很多的IP地址&#xff0c;但是由于以下原因导致我IP频繁变动&#xff0c;报错让我烦恼&#xff01;&#xff01;&#xff01;&#xff01; 为什么虚拟机的IP地址会频繁变化&#xff1f; 虚拟机IP地址频繁…

webpack处理js资源10--webpack入门学习

处理 js 资源 有人可能会问&#xff0c;js 资源 Webpack 不能已经处理了吗&#xff0c;为什么我们还要处理呢&#xff1f; 原因是 Webpack 对 js 处理是有限的&#xff0c;只能编译 js 中 ES 模块化语法&#xff0c;不能编译其他语法&#xff0c;导致 js 不能在 IE 等浏览器运…

Zabbix+Garafana监控部署

ZabbixGarafana监控部署 一、IP规划 服务器IP备注zabbix-server192.168.100.128zabbix服务端zabbix-mysql192.168.100.130数据库zabbix-client192.168.100.132zabbix客户端garafana-server192.168.100.134Garafana 二、zabbix-server安装zabbix ​ 配置IP地址为&#xff1a…

俄语打招呼和问候的12种表达方式,柯桥俄语培训

- Как дела ? 近况如何&#xff1f; -Нормально, а ты как? 还行吧&#xff0c;你呢&#xff1f; Vol.2 -Как себя чувствуете? 你感觉如何&#xff1f; -Все замечательно! 一切都非常棒。 Vol.3 -Ка…

基于matlab的图像灰度化与图像反白

1原理 2.1 图像灰度化原理 图像灰度化是将彩色图像转换为灰度图像的过程&#xff0c;使得每个像素点仅包含一个灰度值&#xff0c;从而简化了图像的复杂度。灰度化原理主要可以分为以下几种方法&#xff1a; 亮度平均法 原理&#xff1a;将图像中每个像素的RGB值的平均值作为…

Vue40 修改默认配置

修改默认配置 在官网查看各个属性的作用 ### 在vue.config.js文件中&#xff0c;修改属性的值

计算机网络 静态路由及动态路由RIP

一、理论知识 1.静态路由 静态路由是由网络管理员手动配置在路由器上的固定路由路径。其优点是简单和对网络拓扑变化不敏感&#xff0c;缺点是维护复杂、易出错&#xff0c;且无法自动适应网络变化。 2.动态路由协议RIP RIP是一种基于距离向量的动态路由协议。它使用跳数作…

接口自动化拓展:Flask框架安装、介绍及工作中的应用!

Flask是一个轻量级的Python Web框架&#xff0c;用于构建Web应用程序和API。它简洁而灵活&#xff0c;容易上手&#xff0c;并且非常适合用于开发小型到中型规模的应用程序。在接口自动化测试中&#xff0c;Flask可以作为服务器框架&#xff0c;用于搭建测试接口。 本文将从零…

使用USI作为主SPI接口

代码; lcd_drive.c //***************************************************************************** // // File........: LCD_driver.c // // Author(s)...: ATMEL Norway // // Target(s)...: ATmega169 // // Compiler....: AVR-GCC 3.3.1; avr-libc 1.0 // // D…

UltraEditUEStudio软件安装包下载及安装教程

​根据软件大数据显示提供预定义的或使用者创建的编辑“环境”&#xff0c;能记住 UltraEdit 的所有可停靠窗口、工具栏等的状态。实际上我们可以这样讲HTML 工具栏&#xff0c;对常用的 HTML 功能作了预配置;文件加密/解密;多字节和集成的 IME。根据使用者情况表明Git Editor&…

day41--Redis(三)高级篇之最佳实践

Redis高级篇之最佳实践 今日内容 Redis键值设计批处理优化服务端优化集群最佳实践 1、Redis键值设计 1.1、优雅的key结构 Redis的Key虽然可以自定义&#xff0c;但最好遵循下面的几个最佳实践约定&#xff1a; 遵循基本格式&#xff1a;[业务名称]:[数据名]:[id]长度不超过…

【Linux系列】find命令使用与用法详解

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-26网络中的网络NiN

26网络中的网络NiN import torch from torch import nn import liliPytorch as lp import matplotlib.pyplot as plt# 定义一个NiN块 def nin_block(in_channels, out_channels, kernel_size, strides, padding):return nn.Sequential(# 传统的卷积层nn.Conv2d(in_channels, ou…