mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-11 17:47:37 +03:00
Make prompt more fair and reduce time extension
This commit is contained in:
parent
710a77679b
commit
7936ba9b47
@ -108,20 +108,20 @@ class GenAIReviewConfig(FrigateBaseModel):
|
||||
default="""### Normal Activity Indicators (Level 0)
|
||||
- Known/verified people in any zone
|
||||
- People with pets in residential areas
|
||||
- Deliveries: carrying packages to porches/doors, placing packages, leaving
|
||||
- Access to private areas: entering back yards, garages, or homes
|
||||
- Brief movement through semi-public areas (driveways, front yards) with clear purpose (carrying items, going to/from vehicles)
|
||||
- Brief activity near vehicles: approaching vehicles, brief standing, then leaving or entering vehicle (unloading, loading, checking something)
|
||||
- Deliveries or services: brief approach to doors/porches, standing briefly, placing or retrieving items, then leaving
|
||||
- Access to private areas: entering back yards, garages, or homes (with or without visible purpose in frame)
|
||||
- Brief movement through semi-public areas (driveways, front yards) with items or approaching structure/vehicle
|
||||
- Activity on public areas only (sidewalks, streets) without entering property
|
||||
- Services/maintenance with visible indicators (tools, uniforms, work vehicles)
|
||||
- Services/maintenance workers with tools, uniforms, or vehicles
|
||||
|
||||
### Suspicious Activity Indicators (Level 1)
|
||||
- Testing doors or windows on vehicles or buildings
|
||||
- Standing near vehicles or in private zones without clear purpose or direct movement to destination
|
||||
- Taking items from property (packages, objects from porches/driveways)
|
||||
- Accessing areas at unusual hours without visible legitimate indicators (items, tools, purpose)
|
||||
- Climbing or jumping fences/barriers
|
||||
- Attempting to conceal actions or items
|
||||
- Person in semi-public areas (driveways, front yards) at unusual hours without clear purpose
|
||||
- Testing or attempting to open doors/windows on vehicles or buildings
|
||||
- Taking items that don't belong to them (stealing packages, objects from porches/driveways)
|
||||
- Climbing or jumping fences/barriers to access property
|
||||
- Attempting to conceal actions or items from view
|
||||
- Lingering without interaction: standing near vehicles/private zones across multiple frames without approaching, entering, leaving, or clear task
|
||||
- Activity at unusual hours (very late night/early morning) combined with suspicious behavior patterns
|
||||
|
||||
### Critical Threat Indicators (Level 2)
|
||||
- Holding break-in tools (crowbars, pry bars, bolt cutters)
|
||||
@ -131,7 +131,9 @@ class GenAIReviewConfig(FrigateBaseModel):
|
||||
- Active property damage or theft
|
||||
|
||||
### Assessment Guidance
|
||||
These patterns are guidance, not absolute rules. Context matters: time of day, visible items/tools, and apparent purpose help distinguish normal from suspicious. Not all cameras show full entry/exit paths - focus on observable behavior in frame. Use judgment based on the complete picture.""",
|
||||
When evaluating activity, first check if it matches Normal Activity Indicators. If it clearly matches normal patterns (brief vehicle access, delivery behavior, known people, pet activity), assign Level 0. Only consider Level 1 if the activity shows clear suspicious behaviors that don't fit normal patterns (testing access, stealing items, lingering across many frames without task, forced entry attempts).
|
||||
|
||||
These patterns are guidance, not rigid rules. Consider the complete context: time, zone, objects, and sequence of actions. Brief activity with apparent purpose is generally normal. Sustained problematic behavior or clear security violations warrant elevation.""",
|
||||
title="Custom activity context prompt defining normal and suspicious activity patterns for this property.",
|
||||
)
|
||||
|
||||
|
||||
@ -29,8 +29,7 @@ from ..types import DataProcessorMetrics
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
RECORDING_BUFFER_START_SECONDS = 5
|
||||
RECORDING_BUFFER_END_SECONDS = 10
|
||||
RECORDING_BUFFER_EXTENSION_PERCENT = 0.10
|
||||
|
||||
|
||||
class ReviewDescriptionProcessor(PostProcessorApi):
|
||||
@ -112,10 +111,13 @@ class ReviewDescriptionProcessor(PostProcessorApi):
|
||||
image_source = camera_config.review.genai.image_source
|
||||
|
||||
if image_source == ImageSourceEnum.recordings:
|
||||
duration = final_data["end_time"] - final_data["start_time"]
|
||||
buffer_extension = duration * RECORDING_BUFFER_EXTENSION_PERCENT
|
||||
|
||||
thumbs = self.get_recording_frames(
|
||||
camera,
|
||||
final_data["start_time"] - RECORDING_BUFFER_START_SECONDS,
|
||||
final_data["end_time"] + RECORDING_BUFFER_END_SECONDS,
|
||||
final_data["start_time"],
|
||||
final_data["end_time"] + buffer_extension,
|
||||
height=480, # Use 480p for good balance between quality and token usage
|
||||
)
|
||||
|
||||
|
||||
@ -107,8 +107,8 @@ Your response MUST be a flat JSON object with:
|
||||
|
||||
## Threat Level Definitions
|
||||
|
||||
- 0 — **Normal activity**: The observable activity aligns with the Normal Activity Patterns above. The evidence—considering zone, objects, time, and actions together—supports a benign explanation. **Use this level for routine activities even if minor ambiguous elements exist.**
|
||||
- 1 — **Potentially suspicious**: The observable activity aligns with the Suspicious Activity Indicators above, or shows behavior that raises genuine security concerns. The activity warrants human review. **Use this level when the evidence suggests concerning behavior, even if not an immediate threat.**
|
||||
- 0 — **Normal activity**: The observable activity matches Normal Activity Indicators (brief vehicle access, deliveries, known people, pet activity, services). The evidence supports a benign explanation when considering zone, objects, time, and actions together. **Brief activities with apparent legitimate purpose are generally Level 0.**
|
||||
- 1 — **Potentially suspicious**: The observable activity matches Suspicious Activity Indicators (testing access, stealing items, climbing barriers, lingering without interaction across multiple frames, unusual hours with suspicious behavior). The activity shows concerning patterns that warrant human review. **Requires clear suspicious behavior, not just ambiguity.**
|
||||
- 2 — **Immediate threat**: Clear evidence of active criminal activity, forced entry, break-in, vandalism, aggression, weapons, theft in progress, or property damage.
|
||||
|
||||
## Sequence Details
|
||||
|
||||
Loading…
Reference in New Issue
Block a user