Насколько мне не изменяет память, самым эффективным алгоритмом был SIFT. ORB и SURF не дают такой точности, но и работают быстрее. Вся проблема SIFT - он отрабатывает на CPU 1-3 секунды, если картинки имеют большое количество одинаковых кейпоинтиов. Плюс надо использовать FlannBasedMatcher.knnMatch (для SURF тоже, а вот для ORB юзают BFMatcher). Дальше отбираешь только хорошие кейпоинты, а потом их решейпишь. В итоге на 3 значениях решаешь, баян или нет.

matches = matcher.knnMatch(des1, des2, k=2)
good = [m for m, n in matches if m.distance < 0.6 * n.distance]
src_pts = np.float32([kp1[m.queryIdx].pt for m in good]).reshape(-1, 1, 2)
dst_pts = np.float32([kp2[m.trainIdx].pt for m in good]).reshape(-1, 1, 2)

Перед сравнением картинки надо перегнать в COLOR_BGR2GRAY, сделать normalize с NORM_MINMAX, потом equalizeHist.

Из вариантов для GPU есть такая моча https://arxiv.org/abs/2112.02906
Работает в разы быстрее SIFT/ORB/SURF, запущенных на cuda_backend, но опять таки нужна видеокарта.

Ламу не трогал. У нас елки юзают.
В начале мая обновился на 4080, но играть все равно не во что. Зато теперь можно без проблем по работе нейронки гонять.
09 Системная плата О Тип ЦП 09 Системная плата Щ Чипсет системной платы И Системная память Ш DIMM2: Kingston Fury KF32... Ш DIMM4: Kingston Fury KF32... ш Тип BIOS
ff? Коммуникационный порт
OctalCore Intel Core ¡7-11700F, 4700 MHz (47 x 100)
Asus ROG Strix B560-G Gaming WiFi (2 PCI-E x1, 2
Вставлю свои никому не нужные пять копеек. Из интересных стилей есть еще такие как [by Antonio J. Manzanedo:by Andrew Atroshenko] и [by Greg Rutkowski:by Norman Rockwell]. В realistic они вписываются на ура.
Я юзаю RandoMix3.
nsfw, (masterpiece), ((realistic)), 1girl, best quality, ultra-detailed, HDR, absurdres, sitting on bed, home background, cinematic, filmic, telephoto, depth of field, white balance, strobe light, volumetric lighting, dramatic lighting, little haze, ray tracing reflections, intricate, elegant, [by Antonio J. Manzanedo:by Andrew Atroshenko],
medium breasts, nipples, orange eyes, messy hair, pink hair, short hair, ponytail, banges, hair over one eye, smug, eyelashes, make up, looking at viewer
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, stethoscope
Steps: 30, Sampler: DPM++ SDE Karras, CFG scale: 15, Seed: 2238960824
Magnet для самых ленивых
magnet:?xt=urn:btih:D7DE10B226B9AD5899E360F28FE74702C20ADB22&dn=RandoMix3.zip&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
Там встроенный Highres. fix есть. Он делает тоже самое, только лучше. Вот пример.
Побуду капитаном очевидностью, но чуть-чуть расширю инструкцию.
1. Открываем https://colab.research.google.com/ и создаем новый проект.
2. Добавляем себе GPU. Для этого сверху тыкаем "Среда выполнения" -> "Сменить среду выполнения" -> Выбираем GPU и нажимаем сохранить.
3. Вставляем следующее
!pip install -q https://github.com/camenduru/stable-diffusion-webui-colab/releases/download/0.0.14/xformers-0.0.14.dev0-cp37-cp37m-linux_x86_64.whl
!git clone https://github.com/camenduru/stable-diffusion-webui
%cd stable-diffusion-webui
!sed -i -e 's/numpy==1.23.3/numpy==1.21.6/g' requirements_versions.txt
!sed -i -e 's/fairscale==0.4.9/fairscale==0.4.6/g' requirements_versions.txt
!wget https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/Anything-V3.0-pruned.ckpt -O /content/stable-diffusion-webui/models/Stable-diffusion/Anything-V3.0-pruned.ckpt
!wget https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/Anything-V3.0.vae.pt -O /content/stable-diffusion-webui/models/Stable-diffusion/Anything-V3.0.vae.pt
!python launch.py --listen --share --force-enable-xformers

(У автора поста потеряна команда скачивания весов для нейронки)
4. Тыкаем на кнопочку Play и ждем.
Хз, мне накидали минусов за щеку, хотя арты были выше среднего.