Algo Vision
460 subscribers
340 photos
64 videos
5 files
114 links
Computer Vision - Algorithm
for commercial questions @mlenginer
Download Telegram
Algo Vision
Rasm yoki freymdan malum predmet obekt ni joylashuvni olamiz. Bu ham juda oson 5-6 qatorda bajariladi. from ultralytics import YOLO model = YOLO("yolov8s.pt") ans = model.predict(source= ".../person.jpeg", show = True, imgsz = 320, conf = 0.7) #yolov8s bir…
Agar natija olib kursak
cls: tensor([0., 0., 0., 0., 0., 0., 0.])
conf: tensor([0.8909, 0.8682, 0.8674, 0.8622, 0.8439, 0.8392, 0.7159])
data: tensor([[1.6254e+02, 2.2389e+01, 2.5266e+02, 1.6701e+02, 8.9091e-01, 0.0000e+00],
[2.3503e+02, 3.1486e+01, 2.9971e+02, 1.6686e+02, 8.6820e-01, 0.0000e+00],
[2.1997e+01, 5.3749e+01, 7.4538e+01, 1.6752e+02, 8.6741e-01, 0.0000e+00],
[1.1284e+02, 3.2849e+01, 1.6784e+02, 1.6768e+02, 8.6221e-01, 0.0000e+00],
[6.3885e+01, 4.3812e+01, 1.1679e+02, 1.6726e+02, 8.4389e-01, 0.0000e+00],
[3.2759e-02, 5.2869e+00, 4.6813e+01, 1.6724e+02, 8.3916e-01, 0.0000e+00],
[1.5617e+02, 1.0563e+01, 1.9749e+02, 9.0878e+01, 7.1594e-01, 0.0000e+00]])
id: None
is_track: False
orig_shape: (168, 300)
shape: torch.Size([7, 6])
xywh: tensor([[207.5979, 94.6973, 90.1146, 144.6161],
[267.3671, 99.1744, 64.6808, 135.3771],
[ 48.2676, 110.6329, 52.5402, 113.7673],
[140.3382, 100.2657, 55.0010, 134.8336],
[ 90.3380, 105.5342, 52.9057, 123.4454],
[ 23.4231, 86.2625, 46.7806, 161.9512],
[176.8280, 50.7202, 41.3200, 80.3153]])
xywhn: tensor([[0.6920, 0.5637, 0.3004, 0.8608],
[0.8912, 0.5903, 0.2156, 0.8058],
[0.1609, 0.6585, 0.1751, 0.6772],
[0.4678, 0.5968, 0.1833, 0.8026],
[0.3011, 0.6282, 0.1764, 0.7348],
[0.0781, 0.5135, 0.1559, 0.9640],
[0.5894, 0.3019, 0.1377, 0.4781]])
xyxy: tensor([[1.6254e+02, 2.2389e+01, 2.5266e+02, 1.6701e+02],
[2.3503e+02, 3.1486e+01, 2.9971e+02, 1.6686e+02],
[2.1997e+01, 5.3749e+01, 7.4538e+01, 1.6752e+02],
[1.1284e+02, 3.2849e+01, 1.6784e+02, 1.6768e+02],
[6.3885e+01, 4.3812e+01, 1.1679e+02, 1.6726e+02],
[3.2759e-02, 5.2869e+00, 4.6813e+01, 1.6724e+02],
[1.5617e+02, 1.0563e+01, 1.9749e+02, 9.0878e+01]])
xyxyn: tensor([[5.4180e-01, 1.3327e-01, 8.4218e-01, 9.9408e-01],
[7.8342e-01, 1.8742e-01, 9.9902e-01, 9.9323e-01],
[7.3325e-02, 3.1994e-01, 2.4846e-01, 9.9712e-01],
[3.7613e-01, 1.9553e-01, 5.5946e-01, 9.9811e-01],
[2.1295e-01, 2.6078e-01, 3.8930e-01, 9.9558e-01],
[1.0920e-04, 3.1470e-02, 1.5604e-01, 9.9546e-01],
[5.2056e-01, 6.2872e-02, 6.5829e-01, 5.4094e-01]])

Shunga uxshagan natija beradi.
Natija siz ishlatayotgan freymworkga bogliq (Pytorch, ....)
Demak birinchi listda sinf (0-bu odam umumiy sinflar
names: {0: 'person', 1: 'bicycle', 2: 'car', 3: 'motorcycle', 4: 'airplane', 5: 'bus', 6: 'train', 7: 'truck', 8: 'boat', 9: 'traffic light', 10: 'fire hydrant', 11: 'stop sign', 12: 'parking meter', 13: 'bench', 14: 'bird', 15: 'cat', 16: 'dog', 17: 'horse', 18: 'sheep', 19: 'cow', 20: 'elephant', 21: 'bear', 22: 'zebra', 23: 'giraffe', 24: 'backpack', 25: 'umbrella', 26: 'handbag', 27: 'tie', 28: 'suitcase', 29: 'frisbee', 30: 'skis', 31: 'snowboard', 32: 'sports ball', 33: 'kite', 34: 'baseball bat', 35: 'baseball glove', 36: 'skateboard', 37: 'surfboard', 38: 'tennis racket', 39: 'bottle', 40: 'wine glass', 41: 'cup', 42: 'fork', 43: 'knife', 44: 'spoon', 45: 'bowl', 46: 'banana', 47: 'apple', 48: 'sandwich', 49: 'orange', 50: 'broccoli', 51: 'carrot', 52: 'hot dog', 53: 'pizza', 54: 'donut', 55: 'cake', 56: 'chair', 57: 'couch', 58: 'potted plant', 59: 'bed', 60: 'dining table', 61: 'toilet', 62: 'tv', 63: 'laptop', 64: 'mouse', 65: 'remote', 66: 'keyboard', 67: 'cell phone', 68: 'microwave', 69: 'oven', 70: 'toaster', 71: 'sink', 72: 'refrigerator', 73: 'book', 74: 'clock', 75: 'vase', 76: 'scissors', 77: 'teddy bear', 78: 'hair drier', 79: 'toothbrush'}
)

keyin esa conf yane har bitta obektni aniqlash aniqligi ruyxati (rasmda bir nechta obekt buladi)
keyin esa bizga obekt joylashuvi xywh yane yuqori chap burchag koordinatasi va w-uzunlik h-balandlik beriladi.
bundan tashqari biz turtburchak asosida malumotni olishimiz mumkin yuqori chao va pastgi ong xyxy
🔥3
Algo Vision
Umumiy natija
AI ni har bir dasturchi minimal darajada urganishi shart.
Bu sizni loyihangizni bezagi.
Chunki insoniyat aynan shunday yangi evalyutsion bosqichga kutarilmoqda.

Siz yuqoridagi odamlar rasmidan orasidagi eng kam masofa bulganlarni topa olaszmi?
Izohlarda kutib qolaman!!!
2
14👍1
Forwarded from Sardorbek Saminov
Ramadan is coming..

Dasturlash tili bilan aytganda faqat code larimizdagi bag (bug) larga etiborimizni qaratavermasdan ozimizdagi bag larga ham etibor beradigan vaqtimiz keldi.
Xa aynan shunday Alloh bizga tekin Premium ni taklif qilmoqda.. Uni ushlab qolish uchun biroz sabr, ixlos va umid kifoya. Va qarabsizki bag lardan holi hayot huddi yangi tug'ilgan chaqaloq kabi... Premimum ni qo'ldan boy bermang! chunki keyingisi bo'lmasligi mumkin.

Tarovehlarda sabr tilayman !!!
144👍2😇2🕊1
Pose haqida eshitganmisiz?
bazida framedagi muhim malumotlarni aniqlash uchun keypoint-yane kalidli nuqtalar joylashtirishga tugri keladi. Chunki biz kuzatayotgan object predmet har xil rakursda yoki har xil holatda bulishi mumkin. Masalan qulimiz barmoqlarimiz har doim ham bir xil joyda va holatda turmaydi. Ana shunday holatlarda pose ishlatiladi.
Pose ham ML yoki Deep Learning bilan uqitiladi.
Buniham 5-6 qatorda aniqlasa buladi.
from ultralytics import YOLO

model = YOLO('yolov8s-pose.pt')

predict = model.predict(source='/home/azmiddin/Projects/watchlist/bus.jpg', show = True, conf = 0.6)
for ans in predict:
for keys in ans.keypoints:
print(keys.xy)

Bunda xy - bizga aynan kalidli nuqtalarni koordinatasini beradi.
3❤‍🔥1👍1
Algo Vision
Pose haqida eshitganmisiz? bazida framedagi muhim malumotlarni aniqlash uchun keypoint-yane kalidli nuqtalar joylashtirishga tugri keladi. Chunki biz kuzatayotgan object predmet har xil rakursda yoki har xil holatda bulishi mumkin. Masalan qulimiz barmoqlarimiz…
tensor([[[340.5744, 148.3254],
[350.6854, 140.2402],
[332.6736, 136.6814],
[ 0.0000, 0.0000],
[314.9926, 136.2933],
[370.0140, 198.1728],
[284.8586, 192.8096],
[386.5782, 262.8971],
[270.7247, 264.4329],
[370.6186, 270.7802],
[319.8119, 262.1946],
[358.5667, 326.0563],
[303.6407, 325.0616],
[ 0.0000, 0.0000],
[ 0.0000, 0.0000],
[ 0.0000, 0.0000],
[ 0.0000, 0.0000]]])
tensor([[[446.1829, 116.5201],
[454.5997, 104.8722],
[441.8440, 107.2018],
[489.7914, 101.1642],
[ 0.0000, 0.0000],
[536.9339, 157.8492],
[443.6078, 158.5508],
[538.3223, 228.8252],
[430.7207, 235.1595],
[473.5414, 197.9666],
[430.5384, 262.4939],
[512.8117, 335.2951],
[445.9020, 331.1200],
[ 0.0000, 0.0000],
...
7🔥2🤷‍♀1
This media is not supported in your browser
VIEW IN TELEGRAM
Object Tracking bu real vaqtda malum bir obektlarni sanash va ularni holatini aniqlash.
Object Tracking asosan avtobus .... larda kuproq qullaniladi.
Masalan nechta kirib chiqishni hisoblash kerak bulganda.
Object Tracking bevosita Detection (Obektni aniqlash) bilan bogliq.
import cv2
from ultralytics import YOLO

# Model yuklash
model = YOLO('yolov8n.pt')
#opencv yordamida freymlarni uqiymiz
video_path = "test.mp4"
cap = cv2.VideoCapture(video_path)

while cap.isOpened():
success, frame = cap.read()
frame = cv2.resize(frame, (416, 416))
if success:
results = model.track(frame, persist=True, conf = 0.5, iou = 0.5)
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break

cap.release()
cv2.destroyAllWindows()
🔥10
Algo Vision pinned «Recently, I joined the OpenCV Computer Vision community. OpenCV is an open-source project, and we have started development on OpenCV version 5. Please vote to include C++17 as part of the C++ language standard for OpenCV. https://github.com/opencv/openc…»
This media is not supported in your browser
VIEW IN TELEGRAM
Google tomonidan taqdim etilgan mediapipe kutubxonasi haqida xabariz bormi?
Bu kutubxona yordamida kupgina real world muammolarni yechsa buladi.
Shunchaki pip packet menegeridan
pip install mediapipe opencv-python

urnating .
import cv2
import mediapipe as mp

mp_drawing = mp.solutions.drawing_utils
mp_holistic = mp.solutions.holistic

holistic = mp_holistic.Holistic(min_detection_confidence=0.5, min_tracking_confidence=0.5)

cap = cv2.VideoCapture(0)

cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)

frame_count = 0

while cap.isOpened():
ret, frame = cap.read()
if not ret:
break

frame_count += 1
if frame_count % 3 != 0:
continue

image_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
results = holistic.process(image_rgb)
mp_drawing.draw_landmarks(frame, results.pose_landmarks, mp_holistic.POSE_CONNECTIONS)
cv2.imshow('MediaPipe', frame)

if cv2.waitKey(1) & 0xFF == 27:
break

cap.release()
cv2.destroyAllWindows()
👍933
This media is not supported in your browser
VIEW IN TELEGRAM
Ayni paytda ijtimoiy tarmoqlarrda juda katta muhokamalarga sabab bulmoqda.
Miyasiga chip urnatgan shaxs fikr bilan shaxmat uynamoqda.
👍4🤩3
Speed Estamation?
Bu obektni harakat tezligiga doir muammolarning AI va Computer Vision bilan
yechimi.
Aslida bu siz uylaydigandek murakkab emas bu juda oson.
tezlig va mexanik kattaliklarni aniqlash uchun maxsus o'q joylashtiriladi
va geometrik almashtirishlar asosida topiladi.
from ultralytics import YOLO
from ultralytics.solutions import speed_estimation
import cv2

model = YOLO("yolov8n.pt")
names = model.model.names

cap = cv2.VideoCapture("..../test_speed.mp4")
assert cap.isOpened(), "Uqishda xatolik"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("speed_estimation.avi",
cv2.VideoWriter_fourcc(*'mp4v'),
fps,
(w, h))

line_pts = [(0, 360), (1280, 360)]

# tayor sinfni yuklash
speed_obj = speed_estimation.SpeedEstimator()
speed_obj.set_args(reg_pts=line_pts,
names=names,
view_img=True)

while cap.isOpened():

success, im0 = cap.read()
if not success:
print("Qayta ishlanmoqda....")
break

tracks = model.track(im0, persist=True, show=False)

im0 = speed_obj.estimate_speed(im0, tracks)
video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Sinab ko'ring!!! Albatta do'stlaringizga tarqating.
🔥7👍4
https://github.com/corfyi/UCMCTrack
Kimdir motion detector tez ishlatishni suragandi
Pythondagi tezligi uncha bulmasligi mumkin
C++ versiyasi 1000 FPS bu degani bir sekunda 1000 kadr qayta ishlaydi
https://github.com/LSH9832/UCMCTrack-cpp/tree/main
4🆒2👍1
Forwarded from Xushnudbek.uz
Hayit odoblari

9-aprel, seshanba (30-kun)
Iftorlik vaqti: 18:59 (Toshkent vaqti)

#hadis #ramazon

Abu Hurayra roziyallohu anhu aytadi:

«Rasululloh sollallohu alayhi vasallam dedilar: «U (Ramazon)ning oxirgi kechasida ro‘zadorlarning gunohlari kechiriladi», dedilar. Ular: «Ey Allohning  Rasuli, u Qadr kechasimi?», deb so‘rashdi.

Rasululloh sollallohu alayhi vasallam: «Yo‘q, lekin ishchi ishini ado etganidan so‘ng ajri – haqi to‘la qilib beriladi», dedilar.


Imom Ahmad rivoyat qilgan.


Diniy manbalarimizda hayit kunlariga doir odob va ahkomlar batafsil bayon qilingan. Biz hozir faqat Ramazon hayitiga tegishli odob va ahkomlar haqida so‘z yuritamiz.

Ramazon hayiti kuniga eson-omon yetib kelgan har bir musulmon kishi quyidagi amallarni bajaradi:

1. Iyd kechasini ibodat bilan o‘tkazish;

2. Hayit namozi uchun g‘usl qilish;

3. Tishlarni misvok yoki tish pastalari yordamida tozalab olish;

4. Iyd uchun yasanish;

5. Xushbo‘ylik surtish;

6. Namozga chiqishdan oldin biror yegulik tanovul qilib olish;

7. Fitr sadaqasini berish (2024-yil uchun fitr miqdori);

8. Takbir aytish (takbir aytish deganda, «Allohu akbar», deyish tushuniladi);

9. Hayit namoziga chiqish;

10. Iyd namoziga ertaroq, piyoda, viqor bilan, takbir aytgan holda borish;

11. Hayit namozga bir yo‘l bilan borib, boshqasidan qaytish;

12. Xonadon ahliga kengchilik, serobchilikka sharoit yaratish;

13. Qarindosh-urug‘, qo‘ni-qo‘shnilarni ziyorat qilish, beva-bechoralarning holidan xabar olish, ularga xursandchilik ulashish;

14. Bolajonlarga hayitlik berish, ularga ushbu bayramning shukuhini ko‘rsata bilish;

15. Tanish-bilish, yoru do‘st va har bir ko‘ringan musulmon kishini hayit bilan tabriklab, ularga xursandchilik va shodlik izhor qilish;

16. Hayit kuni odob doirasida, harom va man qilingan narsalarni aralashtirmagan holda ayrim ko‘ngilxushi ma’nosidagi o‘yin-kulgilar ham qilish mumkin;

Hayit kuniga doir odoblar to‘la-to‘kis bo‘lishi uchun, ushbu kunda qilish durust bo‘lmagan ayrim narsalar haqida ham to‘xtalib o‘tish darkor.

Iyd kuni quyidagi ishlardan saqlanish lozim:

1. Ro‘za tutish.
2. Iyd namozidan oldin yoki keyin nafl o‘qish.
3. Gunoh sodir qilish.
4. Hayit kunlari ayollarning qabristonlarga borishi yaxshi emas.
5. Hayit kunlarini azaga aylantirib olish.


Manba: "Hayit odoblari", Hasanxon Yahyo Abdulmajid, IslomUz portali.


👉 @xushnudbek 👈
👍102
8🔥3👍1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
😁😁😁.
Linuxga qarelar
😁19😎3👍1