You've already forked DataMate
330 lines
10 KiB
TypeScript
330 lines
10 KiB
TypeScript
import { BarChart, Circle, Grid, ImageIcon, Layers, Maximize, MousePointer, Move, Square, Target, Crop, RotateCcw, FileText, Tag, Heart, HelpCircle, BookOpen, MessageSquare, Users, Zap, Globe, Scissors } from "lucide-react";
|
|
|
|
// Define the AnnotationTask type if not imported from elsewhere
|
|
interface AnnotationTask {
|
|
id: string
|
|
name: string
|
|
completed: string
|
|
completedCount: number
|
|
skippedCount: number
|
|
totalCount: number
|
|
annotators: Array<{
|
|
id: string
|
|
name: string
|
|
avatar?: string
|
|
}>
|
|
text: string
|
|
status: "completed" | "in_progress" | "pending" | "skipped"
|
|
project: string
|
|
type: "图像分类" | "文本分类" | "目标检测" | "NER" | "语音识别" | "视频分析"
|
|
datasetType: "text" | "image" | "video" | "audio"
|
|
progress: number
|
|
}
|
|
|
|
|
|
export const mockTasks: AnnotationTask[] = [
|
|
{
|
|
id: "12345678",
|
|
name: "图像分类标注任务",
|
|
completed: "2024年1月20日 20:40",
|
|
completedCount: 1,
|
|
skippedCount: 0,
|
|
totalCount: 2,
|
|
annotators: [
|
|
{ id: "1", name: "张三", avatar: "/placeholder-user.jpg" },
|
|
{ id: "2", name: "李四", avatar: "/placeholder-user.jpg" },
|
|
],
|
|
text: "对产品图像进行分类标注,包含10个类别",
|
|
status: "completed",
|
|
project: "图像分类",
|
|
type: "图像分类",
|
|
datasetType: "image",
|
|
progress: 100,
|
|
},
|
|
{
|
|
id: "12345679",
|
|
name: "文本情感分析标注",
|
|
completed: "2024年1月20日 20:40",
|
|
completedCount: 2,
|
|
skippedCount: 0,
|
|
totalCount: 2,
|
|
annotators: [
|
|
{ id: "1", name: "王五", avatar: "/placeholder-user.jpg" },
|
|
{ id: "2", name: "赵六", avatar: "/placeholder-user.jpg" },
|
|
],
|
|
text: "对用户评论进行情感倾向标注",
|
|
status: "completed",
|
|
project: "文本分类",
|
|
type: "文本分类",
|
|
datasetType: "text",
|
|
progress: 100,
|
|
},
|
|
{
|
|
id: "12345680",
|
|
name: "目标检测标注任务",
|
|
completed: "2024年1月20日 20:40",
|
|
completedCount: 1,
|
|
skippedCount: 0,
|
|
totalCount: 2,
|
|
annotators: [{ id: "1", name: "孙七", avatar: "/placeholder-user.jpg" }],
|
|
text: "对交通场景图像进行目标检测标注",
|
|
status: "in_progress",
|
|
project: "目标检测",
|
|
type: "目标检测",
|
|
datasetType: "image",
|
|
progress: 50,
|
|
},
|
|
{
|
|
id: "12345681",
|
|
name: "命名实体识别标注",
|
|
completed: "2024年1月20日 20:40",
|
|
completedCount: 1,
|
|
skippedCount: 0,
|
|
totalCount: 2,
|
|
annotators: [{ id: "1", name: "周八", avatar: "/placeholder-user.jpg" }],
|
|
text: "对新闻文本进行命名实体识别标注",
|
|
status: "in_progress",
|
|
project: "NER",
|
|
type: "NER",
|
|
datasetType: "text",
|
|
progress: 75,
|
|
},
|
|
{
|
|
id: "12345682",
|
|
name: "语音识别标注任务",
|
|
completed: "2024年1月20日 20:40",
|
|
completedCount: 1,
|
|
skippedCount: 0,
|
|
totalCount: 2,
|
|
annotators: [{ id: "1", name: "吴九", avatar: "/placeholder-user.jpg" }],
|
|
text: "对语音数据进行转录和标注",
|
|
status: "in_progress",
|
|
project: "语音识别",
|
|
type: "语音识别",
|
|
datasetType: "audio",
|
|
progress: 25,
|
|
},
|
|
{
|
|
id: "12345683",
|
|
name: "视频动作识别标注",
|
|
completed: "2024年1月20日 20:40",
|
|
completedCount: 0,
|
|
skippedCount: 2,
|
|
totalCount: 2,
|
|
annotators: [
|
|
{ id: "1", name: "陈十", avatar: "/placeholder-user.jpg" },
|
|
{ id: "2", name: "林十一", avatar: "/placeholder-user.jpg" },
|
|
],
|
|
text: "对视频中的人体动作进行识别和标注",
|
|
status: "skipped",
|
|
project: "视频分析",
|
|
type: "视频分析",
|
|
datasetType: "video",
|
|
progress: 0,
|
|
},
|
|
]
|
|
|
|
// Define the Template type
|
|
type Template = {
|
|
id: string;
|
|
name: string;
|
|
category: string;
|
|
description: string;
|
|
type: string;
|
|
preview?: string;
|
|
icon: React.ReactNode;
|
|
};
|
|
|
|
// 扩展的预制模板数据
|
|
export const mockTemplates: Template[] = [
|
|
// 计算机视觉模板
|
|
{
|
|
id: "cv-1",
|
|
name: "目标检测",
|
|
category: "Computer Vision",
|
|
description: "使用边界框标注图像中的目标对象",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Object+Detection",
|
|
icon: <Square className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-2",
|
|
name: "语义分割(多边形)",
|
|
category: "Computer Vision",
|
|
description: "使用多边形精确标注图像中的区域",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Polygon+Segmentation",
|
|
icon: <Layers className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-3",
|
|
name: "语义分割(掩码)",
|
|
category: "Computer Vision",
|
|
description: "使用像素级掩码标注图像区域",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Mask+Segmentation",
|
|
icon: <Circle className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-4",
|
|
name: "关键点标注",
|
|
category: "Computer Vision",
|
|
description: "标注图像中的关键点位置",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Keypoint+Labeling",
|
|
icon: <MousePointer className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-5",
|
|
name: "图像分类",
|
|
category: "Computer Vision",
|
|
description: "为整个图像分配类别标签",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Image+Classification",
|
|
icon: <ImageIcon className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-6",
|
|
name: "实例分割",
|
|
category: "Computer Vision",
|
|
description: "区分同类别的不同实例对象",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Instance+Segmentation",
|
|
icon: <Target className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-7",
|
|
name: "全景分割",
|
|
category: "Computer Vision",
|
|
description: "结合语义分割和实例分割的全景标注",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Panoptic+Segmentation",
|
|
icon: <Grid className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-8",
|
|
name: "3D目标检测",
|
|
category: "Computer Vision",
|
|
description: "在3D空间中标注目标对象的位置和方向",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=3D+Object+Detection",
|
|
icon: <Maximize className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-9",
|
|
name: "图像配对",
|
|
category: "Computer Vision",
|
|
description: "标注图像之间的对应关系",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Image+Matching",
|
|
icon: <Move className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-10",
|
|
name: "图像质量评估",
|
|
category: "Computer Vision",
|
|
description: "评估和标注图像质量等级",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Quality+Assessment",
|
|
icon: <BarChart className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-11",
|
|
name: "图像裁剪标注",
|
|
category: "Computer Vision",
|
|
description: "标注图像中需要裁剪的区域",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Image+Cropping",
|
|
icon: <Crop className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "cv-12",
|
|
name: "图像旋转标注",
|
|
category: "Computer Vision",
|
|
description: "标注图像的正确方向角度",
|
|
type: "image",
|
|
preview: "/placeholder.svg?height=120&width=180&text=Image+Rotation",
|
|
icon: <RotateCcw className="w-4 h-4" />,
|
|
},
|
|
// 自然语言处理模板
|
|
{
|
|
id: "nlp-1",
|
|
name: "文本分类",
|
|
category: "Natural Language Processing",
|
|
description: "为文本分配类别标签",
|
|
type: "text",
|
|
icon: <FileText className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-2",
|
|
name: "命名实体识别",
|
|
category: "Natural Language Processing",
|
|
description: "识别和标注文本中的实体",
|
|
type: "text",
|
|
icon: <Tag className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-3",
|
|
name: "情感分析",
|
|
category: "Natural Language Processing",
|
|
description: "标注文本的情感倾向",
|
|
type: "text",
|
|
icon: <Heart className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-4",
|
|
name: "问答标注",
|
|
category: "Natural Language Processing",
|
|
description: "标注问题和答案对",
|
|
type: "text",
|
|
icon: <HelpCircle className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-5",
|
|
name: "文本摘要",
|
|
category: "Natural Language Processing",
|
|
description: "为长文本创建摘要标注",
|
|
type: "text",
|
|
icon: <BookOpen className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-6",
|
|
name: "对话标注",
|
|
category: "Natural Language Processing",
|
|
description: "标注对话中的意图和实体",
|
|
type: "text",
|
|
icon: <MessageSquare className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-7",
|
|
name: "关系抽取",
|
|
category: "Natural Language Processing",
|
|
description: "标注实体之间的关系",
|
|
type: "text",
|
|
icon: <Users className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-8",
|
|
name: "文本相似度",
|
|
category: "Natural Language Processing",
|
|
description: "标注文本之间的相似度",
|
|
type: "text",
|
|
icon: <Zap className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-9",
|
|
name: "语言检测",
|
|
category: "Natural Language Processing",
|
|
description: "识别和标注文本的语言类型",
|
|
type: "text",
|
|
icon: <Globe className="w-4 h-4" />,
|
|
},
|
|
{
|
|
id: "nlp-10",
|
|
name: "文本纠错",
|
|
category: "Natural Language Processing",
|
|
description: "标注文本中的错误并提供修正",
|
|
type: "text",
|
|
icon: <Scissors className="w-4 h-4" />,
|
|
},
|
|
] |