Comments (8)
Yes, but images are too much to be stored in RAM (in ordinary machines) so you have to load them from disk and, since the samples are shuffled during training, you have to re-load the same image at different steps of each epoch.
from simple-hrnet.
@stefanopini Bother again. I find when creating dataset, you used get_affine_transform
and cv2.warpAffine
func to get correct single person area in dataset/COCO.py/
line 293. I'm a little confused why don't you use crop
function directly croped person area on ori_img? Is that has much difference between these two ways?
from simple-hrnet.
from simple-hrnet.
Hi!
Maybe I do not get the point of your question.
HRNet is a single-person HPE method, therefore input images should contain only one person (which is what happens both during training and testing).
Ms COCO provides both the keypoint annotations and the person bounding boxes, so it is possible to create a different example (with a different image crop) for each person using keypoint and bounding box annotations.
Each annotation is added to a list inthese lines:
Lines 152 to 228 in 2b93c23
Then each image is cropped (to extract a specific person) and rescaled with an affine warping in:
Lines 290 to 296 in 2b93c23
Does this answer to your question?
from simple-hrnet.
from simple-hrnet.
Hi @murdockhou !
The difference is that using warpAffine
you can apply affine transformations instead of just cropping the person area.
This is not useful during evaluation/testing, but it is used during training for data augmentation.
If you look at the previous lines of the file (L258-L296), you can see that the parameters passed to the function get_affine_transform
simply crop the image if self.is_train is False
while their values are modified to change the scale and to rotate and flip the person area for data augmentation if self.is_train is True
.
I hope it is clearer now.
Btw, I've adapted this code from the original implementation and some details are still unclear to me.
In particular, I don't know the meaning of the parameter pixel_std
(see line 109).
from simple-hrnet.
Thank you both of you for clarifying my understanding.
One question : @stefanopini has mentioned that we can only detect a single person per image.
When you say 'image' do you mean the cropped and rescaled bounding box area on the image ?
from simple-hrnet.
Hi @valentin-fngr , that's correct.
The HRNet model is designed as a top-down approach: person detection first (with almost any detector), then human pose estimation on the single person bounding box area with HRNet.
On the opposite, HigherHRNet is a bottom-up multiperson approach.
from simple-hrnet.
Related Issues (20)
- TypeError: __init__() takes 2 positional arguments but 3 were given HOT 2
- 有剪枝,蒸馏方面的计划吗? HOT 1
- RuntimeError: Error(s) in loading state_dict for HRNet: HOT 1
- Evaluate custom dataset HOT 4
- Get inference time HOT 1
- Use YOLOv5 as a detector HOT 2
- Turn off some keypoints
- Data augmentations of training
- How to solce Error: ffprobe error (see stderr output for detail) HOT 2
- Integrating with poseflow HOT 1
- RuntimeError: The size of tensor a (645) must match the size of tensor b (646) at non-singleton dimension 2 HOT 3
- FileNotFoundError: [WinError 2] The system cannot find the specified file HOT 7
- How to Train with 1 Class??
- [Request] Making a python file to get AP/AR for each class? HOT 1
- ImportError: cannot import name 'FFProbe' HOT 3
- Using a different detector HOT 1
- how to output the result in coco json file and retrain a new model HOT 2
- PermissionError: [Errno 13] Permission denied: / FileNotFoundError: [WinError 2] HOT 1
- Broken model file pose_hrnet_w48_384x288.pth HOT 1
- ffmpeg._run.Error: ffprobe error (see stderr output for detail) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simple-hrnet.