Skip to content

Add microvolunteering task: Review AI-generated images #29

@edwh

Description

@edwh

Overview

Add a new microvolunteering task that allows users to review AI-generated images and rate whether they are a good or bad representation of the item name.

Background

We now have a substantial library of AI-generated images in the ai_images table. While the automated people-detection helps filter out obviously problematic images, we need human review to assess whether images accurately represent the items they're meant to illustrate.

Proposed Implementation

Phase 1: Data Collection

  1. New microvolunteering task type: "AI Image Review"

    • Display the AI image alongside the item name
    • Simple Good/Bad buttons for user feedback
    • Store vote counts directly in the ai_images table
  2. Database schema change - add columns to ai_images:

    ALTER TABLE ai_images 
      ADD COLUMN good_votes INT UNSIGNED NOT NULL DEFAULT 0,
      ADD COLUMN bad_votes INT UNSIGNED NOT NULL DEFAULT 0;
  3. Prevent duplicate votes: Track which images a user has reviewed in existing microvolunteering tracking (or a simple ai_images_reviewers table with just ai_image_id, userid to prevent re-review)

  4. Task selection criteria:

    • Prioritize images with fewer total votes
    • Prioritize images used on more messages (higher impact)
    • Don't show the same image twice to the same user

Phase 2: Analysis (after sufficient data collected)

  1. Identify problematic images:

    • Images with majority "bad" votes (bad_votes > good_votes)
    • Images with low confidence (close to 50/50 split)
  2. Query for flagged images:

    SELECT ai.*, 
           (bad_votes + good_votes) as total_votes,
           bad_votes * 100.0 / NULLIF(bad_votes + good_votes, 0) as bad_percent,
           COUNT(ma.id) as usage_count
    FROM ai_images ai
    LEFT JOIN messages_attachments ma ON ma.externaluid = ai.externaluid
    WHERE bad_votes + good_votes >= 5  -- minimum votes threshold
    GROUP BY ai.id
    HAVING bad_votes > good_votes
    ORDER BY usage_count DESC, bad_percent DESC;

Phase 3: Manual Improvement

  1. Admin interface to:

    • View flagged images
    • Trigger regeneration with current prompt
    • Reset vote counts after regeneration
  2. Consider: Allow power users to suggest better item name descriptions for regeneration

Acceptance Criteria

  • ai_images table has good_votes and bad_votes columns
  • Users can rate AI images as good/bad in microvolunteering
  • Votes increment the appropriate column
  • Users cannot vote on the same image twice
  • Report can identify images needing attention based on vote ratios

Related

  • AI images are stored in ai_images table
  • Images are generated via Pollinations.ai
  • People detection already filters images with human figures

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions