此包已被废弃,不再维护。未建议替代包。

使用预训练模型进行对象检测的自动图像(alt)文本。

v0.0.0 2019-03-11 09:33 UTC

This package is auto-updated.

Last update: 2023-10-05 19:13:38 UTC


README

CaptionAI 无需费力即可自动生成图像标题(alt文本)、描述、标签,并使用AI的力量帮助您分类图像。

alt  Build Status

该项目已不再维护。

使用预训练模型进行对象检测的自动图像(alt)文本。

概述

一个非常简单的PHP库,使用预训练的tensorflow模型在图像中检测对象来生成替代(alt)文本。这些文本可以为无法在浏览器中查看图像的访问者提供上下文。alt文本还可以被屏幕阅读器抓取,并将其转换为语音,从而为视障人士提供额外的上下文,并提升用户体验。

这个小巧的工具受到Facebook alt文本生成过程的启发。

示例

Image may contain: cup, potted plant, laptop
图像可能包含:杯子、花盆、笔记本电脑
Image may contain: 6 person, cup, laptop
图像可能包含:6人、杯子、笔记本电脑
Image may contain: 5 person, car, motorcycle
图像可能包含:5人、汽车、摩托车
Image may contain: 1 person, car, bus, truck, traffic light
图像可能包含:1人、汽车、公共汽车、卡车、交通灯
Image may contain: chair, couch
图像可能包含:椅子、沙发
Image may contain: pizza, dining table
图像可能包含:披萨、餐桌
Image may contain: dog
图像可能包含:狗
Image may contain: bird
图像可能包含:鸟

安装

需求:PHP 7.1.3+、OpenCVPHP OpenCV
使用的模型:SSDLite COCO v2

通过composer拉取包。

$ composer require ankitpokhrel/alt

使用方法

$alt = new \Alt\Alt('/path/to/image.ext');

echo $alt->alt(); // Image may contain: 6 person, cup, laptop

$alt->setImage('/path/to/image.ext')->alt(); // Image may contain: car, motorcycle

阈值

默认情况下,分类阈值设置为30。您可以按需调整。

$alt->setThreshold(25);

前缀

默认情况下,alt文本前缀为Image may contain: 。您可以根据以下方式更改它

$alt->setPrefix('Image has: ');

可计数

如果您想显示对象的计数,可以通过设置countable数组来实现。默认情况下,person是可计数的。

$alt->setImage('/path/to/image.ext')->alt(); // Image may contain: 5 person, dog, cup

// Adding dog as countable
$alt->setCountable(['person', 'dog'])->alt(); // Image may contain: 5 person, 2 dog, cup

默认文本

如果模型无法在给定的阈值内预测任何对象,将使用默认文本。默认的默认文本是No photo description available.

$alt->setDefaultText('Some scenery.');