Major Changes: - swift_face_pose: output pose angles (yaw/pitch/roll) in face.json - face_processor.py: call swift_face_pose (dual output: face.json + pose.json) - Face struct: add pose_angle field - TKG 方案 B: gaze/lip_track nodes from face.json (no face_detections dependency) - Chunk cleanup: delete old data before rebuild (avoid duplicate key) - Hand nodes: classify by hand_type + gesture (15 combinations) - HAND_OBJECT edges: bbox spatial matching (174 matches) Test Results: - Blake Jones: 8 faces, pose_angle ✓, 66 nodes, 174 edges - FilmRiot: 394 faces, pose_angle ✓, 35 nodes, 39 edges - Left hands: 132, Right hands: 2 Architecture: - All TKG nodes built from JSON files (face.json, hand.json, yolo.json) - Swift processors: sample_interval=3 (Face/Pose/Hand sync) - Cleanup functions: delete_tkg_nodes_by_uuid, delete_tkg_edges_by_uuid
131 lines
4.0 KiB
Swift
131 lines
4.0 KiB
Swift
// swift-tools-version: 5.9
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "SwiftProcessors",
|
|
platforms: [
|
|
.macOS(.v14)
|
|
],
|
|
dependencies: [
|
|
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.3.0"),
|
|
],
|
|
targets: [
|
|
.executableTarget(
|
|
name: "asr_swift",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["asr_swift.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "asrx_swift",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["asrx_swift.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "speaker_test",
|
|
dependencies: [],
|
|
path: ".",
|
|
sources: ["speaker_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "speaker_meta_test",
|
|
dependencies: [],
|
|
path: ".",
|
|
sources: ["speaker_meta_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "face_vision_test",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["face_vision_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "vision_object_test",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["vision_object_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "swift_cut_test",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["swift_cut_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "vision_ocr_test",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["vision_ocr_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "swift_ocr",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["swift_ocr.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "face_compare_test",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["face_compare_test.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "pose_benchmark",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["pose_benchmark.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "swift_pose",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["swift_pose.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "swift_face",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["swift_face.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "swift_hand",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["swift_hand.swift"]
|
|
),
|
|
.executableTarget(
|
|
name: "swift_face_pose",
|
|
dependencies: [
|
|
.product(name: "ArgumentParser", package: "swift-argument-parser"),
|
|
],
|
|
path: ".",
|
|
sources: ["swift_face_pose.swift"]
|
|
),
|
|
]
|
|
)
|