码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 用人工智能压缩图像的尝试2


    收集42亿个8×8像素图,对它们排序,让形状接近的图排在接近的位置。然后输入ANN1,它以8×8×3字节为输入,32比特为输出。再训练ANN2,它以32比特index为输入,8×8的pixels为输出。

    总数据量为:(8×8×3+4)B×4G=784GB
    相当于有一个2列42亿行的表,ANN1用pixels查询index,ANN2用index查询pixels。

    编码时,输入为pixels
    index=ANN1(pixels)
    pixels2=ANN2(index)
    Δp=pixels2-pixels
    压缩Δp为P,并和4字节的index一起储存为图像文件。

    解码时,取出index和P
    pixels=ANN2(index)+解压缩(P)

    预测Δp不太复杂,则P可以被压缩得很小。而index只有4字节,总的压缩率很好。

    使用两个ANN实属迫不得已,如果可以用查表法解决,这需要记录784GB数据,并且运算量很大。使用两次ANN,目的是找出与输入的pixels最接近的那个记录pixels。

    改进

    4字节有42亿种变化,这或许太大了。取3字节有1600万种变化。更进一步,取2字节,只有65536种变化。

    3字节方案:收集5×5、6×6或4×4像素图1600万个,如上述方法训练ANN。放弃Δp,直接用index存储。压缩率也好计算:5×5像素用3字节表示,压缩率=1/25。

    2字节方案:收集4×4或3×3像素图65536个,训练ANN。若取2×2像素,则压缩率只有1/6,还不如jpg,没有竞争力啊。

  • 相关阅读:
    iPayLinks艾贝盈上线委托换汇功能!
    线程中开启线程池异步处理,主副线程设置执行顺序
    k8s块持久卷数据删除后,空间不释放问题处理方法
    线性代数学习笔记10-1:奇异值分解SVD(从四个子空间角度理解)
    Another app is currently holding the yum lock; waiting for it to exit
    【MyBatis笔记02】MyBatis核心配置文件介绍
    敏捷在线开发管理工具
    RabbitMQ
    【优化组合】基于遗传算法求解不同投资比例的收益附matlab代码
    初识Rasp——Openrasp代码分析
  • 原文地址:https://blog.csdn.net/proorck2019/article/details/128192192
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号