5

Tôi muốn biết, nếu có bất kỳ triển khai nào cho bộ mô tả HOG cho các đối tượng như "xe hơi" và KHÔNG cho Con người trong MATLAB?Mô tả HOG để phát hiện đối tượng

Nhưng trong trường hợp, chỉ có Nhân, bạn có thể hướng dẫn cho tôi để mã đó, và cung cấp cho tôi như vậy GỢI Ý để cải thiện mã được sử dụng cho "các đối tượng như xe hơi hoặc xe máy"

+0

Hi, tôi muốn khuyên bạn trước tiên cố gắng google .. Dù sao đây là một liên kết cho mã MATLAB bạn đưa ra một hình ảnh như là đầu vào (không chỉ con người bất kỳ hình ảnh nó sẽ tạo ra một vector tính năng hog có độ dài 81) [HOG] (http://www.mathworks.com/matlabcentral/fileexchange/28689-hog-descriptor-for-matlab) – G453

+0

@Sistu mã này mà không có bất kỳ mô tả nào cộng với nó được sử dụng cho Phát hiện con người: ( – Mario

+1

Hãy đi theo hướng dẫn mà mô tả liên kết tới. Hoặc ít nhất một đoạn trích từ các thủ tục IEEE. Sự hiểu biết của tôi (rất chung) là chức năng này được thiết kế để trả về các mô tả HOG cho hình ảnh được cung cấp. sau đó sử dụng các mô tả đó cho r ứng dụng của bạn. Vì vậy, nếu bạn cho nó một "chiếc xe" bạn sẽ nhận được mô tả bạn có thể sử dụng cho "xe hơi". –

Trả lời

0

đây là một mã Matlab tuyệt vời thực hiện đầy đủ thuật toán của Dalal. Tôi đã kiểm tra và sử dụng mã này cho nhiều dự án học thuật lớn.

http://hi.baidu.com/fpmaldfoamdfmze/item/4f3b3ac881affcb00c0a7b11 Tất cả tín dụng đều được gửi tới người đã đăng nội dung này!

HOG không dành riêng cho phát hiện người đi bộ. Bạn có thể sử dụng nó với bất kỳ đối tượng cứng nhắc (hoặc cứng nhắc).

Để sử dụng mã này, bạn cần phải hiểu cách tính HOG trên một khu vực. Khu vực được chia thành các 'khối' trùng lặp. Các khối bao gồm một số 'ô'. Một biểu đồ định hướng không gian được tính toán trong mỗi khối. Vector cuối cùng được hình thành bằng cách ghép các biểu đồ không gian này. Các thông số mà bạn có thể tinh chỉnh là

cellpw, cellph: chiều rộng và chiều cao pixel của ô tương ứng.

nblockw, nblockh: kích thước khối được tính theo số ô theo thứ tự x và y tương ứng.

nthet: Số lượng các thùng góc.

issigned: cho dù ký kết hoặc unsigned dốc được lấy

chồng chéo: Số tiền của chồng chéo giữa các khối quy định như một phần

isglobalinterpolate: cho dù suy toàn cầu hay địa phương của 3d histogram

normmethod: loại chỉ tiêu được sử dụng

Bạn có thể nắm bắt thử với các thông số mặc định -

cellpw = 8; cellph = 8; nblockw = 2; nblockh = 2; nthet = 9; trùng lặp = 0,5; isglobalinterpolate = 'localinterpolate'; issigned = 'unsigned'; normmethod = 'l2hys';

Trong matlab nhận được tính năng này là một cái gì đó giống như

I = imread('car.png'); 
Ig = rgb2gray(I); 
F = hogcalculator(Ig, 8, 8, 2, 2, 9, 0.5,'localinterpolate', 'unsigned', 'l2hys'); 

Kích thước/chiều dài của F phụ thuộc vào paramenters bạn chọn.

Trả lời nhận xét của bạn, Có, bạn phải xây dựng các tính năng này cho hình ảnh tích cực (ô tô) và âm (không phải ô tô) để xây dựng hệ thống phát hiện. SVM thường được sử dụng làm bộ phân loại.Tôi đề nghị sử dụng thư viện libsvm -

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Khi bạn xây dựng tập huấn luyện của mình, đào tạo với tập huấn luyện của bạn. Tinh chỉnh thông số SVM để có độ chính xác cao nhất. Các tham số được đưa ra trong ví dụ này có thể không phải là tốt nhất, bạn luôn có thể thử một bộ khác. Tôi sẽ thử thay đổi nthet, cellpw và cellph trước. Chúc may mắn!

2

Hiện tại, có chức năng extractHOGFeatures trong Hộp công cụ Hệ thống Tầm nhìn Máy tính.

1

HOG là một loại mô tả tính năng và có thể áp dụng cho bất kỳ đối tượng nào bạn muốn. Việc thực hiện sẽ không có thay đổi ngoại trừ các thông số về kích thước khối, kích thước ô, sải chân khối, vv Để có bộ mô tả cho xe ô tô, bạn cần cung cấp mẫu dương và âm của chúng. Opencv cung cấp chức năng cho người dùng để đào tạo trình phân loại. Nó nên giống nhau cho MATLAB nếu nó cung cấp mã để đào tạo trình phân loại.

1

Vâng bạn có thể sử dụng VLFeat Toolbox, nó có implimentaion rất effiecient của HOG, u có thể tìm thấy tính năng hOG của bất kỳ đối tượng, cũng u có thể hình dung. Nếu "im.jpg" nếu hình ảnh đầu vào của bạn, Bạn có thể sử dụng tính năng HOG bằng cách sử dụng hog = vl_hog("im.jpg",8,'verbose') Ở đây 8 là kích thước cửa sổ ur, bạn có thể điều chỉnh cho phù hợp.

Để hiển thị các tính năng imhog = vl_hog('render',hog,'verbose')

Các vấn đề liên quan