نمایش HN: جستجوی هوش مصنوعی برای هر عکس و هر فریم ویدیو در macOS
آدرس مقاله: https://github.com/allenv0/SCM آدرس نظرات: https://news.ycombinator.com/item?id=49952111 امتیاز: 146 # نظرات: 66
جستجوی عمیق هوش مصنوعی برای هر عکس و هر فریم ویدیو در هر پوشه ای در macOS. اول محلی - بدون حساب، بدون ابر، بدون آپلود. Inference در مک شما اجرا می شود.
ساده ترین نصب از طریق Homebrew (Apple Silicon، macOS 12+) است. چلیک شیر پرچم قرنطینه macOS را به طور خودکار در هر نصب و ارتقاء پاک می کند، بنابراین برنامه بدون هیچ مرحله دستی Gatekeeper راه اندازی می شود:
کمترین امتیاز را ترجیح می دهید؟ به جای کل شیر فقط به چلیک اعتماد کنید:
خروجی: نصب کننده ها در dist-app/ (به build.directories.output در package.json مراجعه کنید) — به دنبال SCM-0.2.4.dmg و SCM-0.2.4.zip باشید.
تایپ کردن، یک پیشگذر فوری نام فایل-کلمه کلیدی را شروع میکند، سپس مدل بینایی کار را به دست میگیرد: نتایج بر اساس شباهت کسینوس در برابر جاسازیهای تصویر، با افزایش عبارت و نام فایل دردار، طبقهبندی صداقت برای هر مدل، و فیلتر تنوع تقریبا تکراری نمرهگذاری میشوند. هر کاشی نشان "چرا مطابقت دارد" (تطابق تصویری / مطابقت نام فایل / ...) و یک راهنمای ابزار شناور با تفکیک امتیاز هر جزء دارد. جستارهای CJK به عنوان بیگرام های همپوشانی جستجو می کنند ("台北車站" نیز با 台北، 車站 مطابقت دارد).
هر بخش از صحنه در همه ویدیوها امتیاز میگیرد، بنابراین یک ضربه دقیقا روی عکس قرار میگیرد: کاشیها پوستر صحنه را با نشان کد زمان نشان میدهند و باز کردن ویدیو مستقیما به آن لحظه میپرد. یک دروازه نویز به جای اینکه شبکه را پر از حرف های بیهوده کند، «بدون تطابق صحنه» را برمی گرداند، و هر ویدیو حداکثر 3 صحنه دارد.
با کسری از نشانههای پرس و جو که به معنای واقعی کلمه در متن OCR هر تصویر قابل مشاهده است، مطابقت دارد - نام فایل نادیده گرفته میشود و هیچ مدل دید درگیر نیست، بنابراین حتی زمانی که موتور هوش مصنوعی در حال گرم شدن یا آفلاین است، کار میکند. کلمات همسان در جعبه کهربایی روی کاشی ها و در لایت باکس قرار می گیرند.
بازیابی دقیق تحت اللفظی بر روی رونوشت های Whisper - بدون جاسازی، بدون آستانه، با موتور AI کار می کند. نتایج در سه سطح میآیند: خط دقیق (عبارت پیوسته در یک گفته)، کلمات دقیق (همه کلمات در یک گفته یا یک پنجره ≤8s) و کلمات گفته شده (همه کلمات در یک ویدیو). کلمات منطبق در یک قطعه گفتار برجسته می شوند. باز کردن یک نتیجه به دنبال مستقیم به خط است.
انتخاب - تا زمانی که در تنظیمات → LLMs Chat فعال نشود، هیچ چیزی دانلود یا اجرا نمی شود. یک صندلی کناری llama.cpp که به حلقهای متصل است به سؤال شما از روی شواهدی که برنامه قبلا استخراج کرده است - خطوط گفتگو، متن OCR و تعداد بازدیدهای کلمه کلیدی نام فایل - با نقلقولهای شمارهدار که میتوانید کلیک کنید، توکن به نشانه پخش شده با بازخوانی توک/ثانیه زنده به سؤال شما پاسخ میدهد. پیشرو / تصاویر، /ویدئوها، /ایمیل مجموعه را محدود می کند. توقف پاسخ جزئی را حفظ می کند. شواهد خالی قبل از اینکه مدل اجرا شود، اتصال کوتاه می کند.
عکسهایی را که متن OCR قابل مشاهده آنها حاوی یک آدرس ایمیل است - یک نمای همپوشانی (یک عکس دستهبندی خود را نیز حفظ میکند). تشخیص قابلیت تحمل OCR دارد: آدرسهای شکستههای Tesseract را در جعبههای کلمه دوباره جمع میکند، و نویز کاما برای نقطه ("gmail,com")، تقسیم TLD ("gmail. com")، مبهمسازی پرانتزی ("allen [at] gmail [dot] com") و "dotcom addressed at" را مدیریت میکند. کاشی ها یک نوار تماس را نشان می دهند. آن را برای کپی یا نوشتن گسترش دهید.
طبقه بندی اسکرین شات مقاوم به تغییر نام است. چهار سیگنال، به ترتیب اولویت: یک لغو دستی (روی هر کاشی کلیک راست کنید) ← واژگان نام فایل (بیش از 30 نام اسکرین شات سیستم عامل بومی سازی شده در بیش از 20 زبان) ← یک کاوشگر فراداده PNG/JPEG («عکس از صفحه» را از تکه های متن PNG می خواند / EXIF UserComment classiflds → نام دوباره otonamed. اشاره هر چیز دیگری در پروژه ها قرار می گیرد.
چهار مدل قابل تعویض از طریق ONNX Runtime. فعال در هر کتابخانه انتخاب می شود:
تغییر مدلها کل کتابخانه را دوباره جاسازی میکند: تلنگر فورا با دم پر در پسزمینه فرود میآید، و جستجو به کلمات کلیدی نام فایل بازمیگردد تا زمانی که کامل شود. متن به ازای هر مدل، میانگین وسط قرار دادن متن را بیطرف میکند، بنابراین نمرات شباهت در بین مدلها صادقانه باقی میماند.
ffmpeg هر ویدیو را برای مرزهای شات اسکن می کند و یک طرح قطعه نمونه با تراکم انتخابی شما در تنظیمات → جستجوی ویدیو می سازد - هر پیش تنظیمی زمان اندازه گیری شده و هزینه دیسک خود را قبل از انجام تعهد نشان می دهد:
هر بخش قاب نقطه میانی خود را تعبیه می کند و پوستری را نگه می دارد. پلان های شات در هر فایل (مسیر + اندازه + mtime + اثرانگشت پیکربندی) در حافظه پنهان ذخیره می شوند، بنابراین شناسایی پرش به طور کامل دوباره وارد می شود.
رونویسی گفتگو: Whisper tiny.en (~150 مگابایت، پیشفرض) یا base.en (~300 مگابایت) — تعویض مجدد هر ویدیو را رونویسی میکند. کل ویدیوها دارای سه فریم (20/50/80%) به طور متوسط; GIF ها به طور متوسط فریم های میانی را جاسازی می کنند.
Tesseract در کارگر خودش جدا از مدل ویژن اجرا می شود. انگلیسی همیشه روشن است. 35 زبان دیگر در تنظیمات → جستجوی عکس (پیشفرض: چینی ساده + چینی سنتی، ژاپنی، کرهای) قابل تغییر هستند. هر بسته زبان یک بار دانلود می شود (~2.4–5MB؛ ~17MB برای مجموعه پیش فرض)، سپس همه چیز آفلاین است. جعبه های کلمه با متن ذخیره می شوند تا مطابقت ها در جای خود برجسته شوند. متن CJK بدون فاصله به هم می پیوندد و قطعات ایمیل شکسته شده در جعبه های کلمه دوباره جمع می شوند.
برگه تنظیمات به سبک macOS با ده پانل (کتابخانه، ظاهر، شبکه، تب های هوشمند، جستجوی عکس، جستجوی ویدیو، چت LLMs، میانبر جهانی، صفحه کلید، نوار منو). در اطراف هسته: طرح زمینه روشن/تاریک/سیستم، جلوه صفحه نمایش CRT برای لایت باکس، 6 نماد برنامه جایگزین، حالت فقط نوار منو، یک میانبر سراسری قابل ضبط، یک تور اولیه اجرا شده، سینیهای کار پسزمینه (صحنهها / رونوشتها / OCR) با مکث سراسری، و یک نوار وضعیت با نسخه و فهرستبندیشده-video.
متن اصلی (انگلیسی)
Show HN: AI search for every photo and every frame of video on macOS
Article URL: https://github.com/allenv0/SCM Comments URL: https://news.ycombinator.com/item?id=49952111 Points: 146 # Comments: 66